10 ms·
Apple will soon support encrypted RCS messaging with Android users
- thomascountz 2y agoAnnouncement discussion from 2023: Apple announces that RCS support is coming to iPhone next year https://news.ycombinator.com/item?id=38293082 https://news.ycombinator.com/item?id=38293082 793 points | 709 comments
- pityJuke 2y agoTo be clear, this is a different announcement. That was just RCS, this is encrypted RCS.
- cantSpellSober 2y agoThe big difference: > The GSM Association announced that the latest RCS standard includes E2EE > While Apple’s proprietary iMessage system already supported E2EE, this wasn’t extended to RCS messaging because the previous RCS standard didn’t provide cross-platform support
- criddell 2y agoWhen an iPhone sends a message to 555-1212, where does the iPhone get the public key for that number?
- acdha 2y agoApple runs servers for managing iMessage key exchange, just like Google’s RCS encryption. Both of them use device attestation to restrict access to those servers to their own apps.
- lxgr 2y agoiMessage has nothing to do with RCS, though. I'm also curious how key exchanges will work across operating systems on the latter.
- acdha 2y agoYes, but it seems unlikely that they wouldn’t reuse as much of that infrastructure as possible to perform the same function for the same users.
- lxgr 2y agoTheir infrastructure is iMessage protocol specific, though, and that's incompatible with whatever Google does for RCS. So either somebody has to build some new service bridging the gap, or RCS encryption is "serverless" in the way that e.g. OTR was, but unlike Signal (which needs explicit server support for managing pre-keys to bootstrap new connections while the recipient is offline, for example).
- acdha 2y agoSome of their infrastructure is iMessage specific but things like account management, abuse mitigation, and device verification should have plenty of opportunities for reuse.
- criddell 2y agoIt’s not the same function. Think about it this way: you create an RCS message and hit send. Apple has to encrypt it now but all they have is a phone number. The phone number might belong to a local carrier or one on the other side of the planet. They need the public key associated with that number, right? Who has that? How do they get it? Who owns and manages that infrastructure?
- acdha 2y agoThat’s the same problem they have with iMessage: you can watch this the first time you use a new number and it displays green at first but switches to blue once it retrieves the other party’s key. That happens by connecting to Apple’s servers, which seems likely to be the same thing they’d do for RCS. Another function which is the same: you connect to the server to register your device to your account. It uses hardware attestation to verify that the hardware is what it claims, trying to make spammers have to buy physical devices and to prevent spoofing.
- oneplane 2y agoSo essentially, it's not really an Apple thing, it's more that the universal RCS profile just didn't have encryption, and Google RCS was a non-standard extension that nobody else was allowed to use. The real news is the update to GSMA RCS, because without that, none of this matters. What I'm missing in the article is who's going to own the keys and why this is probably going to default to the telcos as if it's MMS. Are they going back to the days of charging per message? With iMessage you'd be putting your trust in Apple, with Google RCS you'd be putting your trust in Google. For WhatsApp that'd be Meta and for Signal that's Signal. But with GSMA RCS?
- she46BiOmUerPVj 2y agoIs there anything that shows "no one was allowed to use it" or was it that it wasn't an accepted standard?
- oneplane 2y agoYes, Google only made it available for Google Messages. They don't have an SDK or API you can use to make your own clients or servers. Google also didn't put it up for standards with the GSMA or any other standards body, at least not publicly. There are no records of it. There are some older submissions here you can probably find using one of the HN search sites about this, but IIRC those didn't really have any internal Google policy about this, they kept it all pretty private. The only 'leak' I remember about this was the thing where manufacturers that preload Google Android have to ship Google Messages to get RCS support from Google, otherwise they can't have it. Also means you can't have RCS without Play Services.
- jauntywundrkind 2y agoThe destruction of third party apps has been totally wild. I'm very curious how long this OS-coupled status quo is going to go on for.
- acdha 2y agoLook at Google’s documentation: they explicitly state that only their Messages app is allowed to talk to their key exchange server. The entire marketing campaign they ran about RCS was predicated on nobody reading their docs or noticing all of the Android developers begging for permission to use RCS for years. https://www.gstatic.com/messages/papers/messages_e2ee.pdf https://www.gstatic.com/messages/papers/messages_e2ee.pdf > E2EE is implemented in the Messages client, so both clients in a conversation must use Messages, otherwise the conversation becomes unencrypted RCS. In rare situations where the conversation starts as E2EE, then one of the clients migrates to a different RCS client or an older Messages client that does not support E2EE, Messages might be unable to detect the change immediately. If the Messages user sends a new message, it’s still E2EE, however the recipient client may render the encrypted base64 payload directly as message content.
- mrweasel 2y agoWhy was RCS even designed with a none encrypted mode? I get that the original spec isn't exactly new, but it's also not so old that encryption, security or privacy wasn't an issue.
- nubinetwork 2y agoI'm not sure about the case of RCS, but I've seen some instances of a none cipher being better for compression and deduplication, because the encryption messes with the data.
- hagbard_c 2y agoYou'd normally compress the data before encrypting it as that makes the resulting cyphertext more resilient against cryptanalysis as well as reduces the amount of data which needs to be encrypted so this sounds like a bogus reason.
- nubinetwork 2y agoIt depends on what you're doing I guess... for storage it doesn't make sense, but for pushing a lot of data over a private pipe, why spend the resources adding a cipher?
- jayd16 2y agoYou'd have to compress every single message separately and then encrypt them. That's still a far cry from being able to compress across every message.
- lxgr 2y agoThat doesn't allow you to deduplicate across users, though – which of course is the entire point, or the network would be able to see who's forwarding which documents.
- dontlaugh 2y agoI assume some sort of multicast.
- snowwrestler 2y agoNow if only we could get Google to support RCS in Google Voice.
- toomuchtodo 2y agoIt’s really odd they don’t, I’m incredibly curious why.
- chneu 2y agoGVoice gets forgotten about, I swear. There are years between updates and then suddenly for like 6 months it'll get a slew of updates, most of which aren't user-facing. Then back to update silence. It's really odd. I'm still amazed that google hasn't killed it.
- the-rc 2y agoI always wondered if it's still alive only because Larry or Sergey use it every day.
- wtallis 2y agoI think it only survives because it's so thoroughly overlooked. Probably nobody working on a new messaging/chat/VoIP/video conference/etc. platform within Google wants to nominate Google Voice as the thing they're replacing or reinventing.
- lxgr 2y agoI hope it stays that way. I'm almost certain that the minute management remembers it's there, it will get shut down, at least for non-paid (i.e. GSuite) accounts.
- chneu 2y agoMy hunch is that google uses it for something internally or there's some random government agency that uses it so Google can't quite retire it yet. Or Gvoice is some backbone service that something else uses. Idk, but it has to be used for something for Google to have not killed it yet.
- codedokode 2y agoIt is good that commercial messengers forced GSM association to finally create E2EE standards. The reason why telcos want you to use RCS becomes obvious if you calculate how much 1Gb of data costs if sent as SMS (I guess that one could buy a car with this money).
- scarface_74 2y agoDoes any carrier still charge for SMS messages?
- lxgr 2y agoI'd say it's the norm rather than the exception outside of the US. US operators do things quite a bit differently from the rest of the world; for example, prepaid cards without a monthly fee are not really a thing, i.e. essentially every plan has a monthly fee, but that then almost always includes texting. Outside the US, it's usually possible to receive calls and SMS on a prepaid SIM without paying anything other than maybe the occasional top-up to not lose the number; in exchange, outbound texts and calls are usually paid.
- jeroenhd 2y agoI believe the distinction that separated the US from the rest of the world is that US carriers charged the recipient of a message, while the rest of the world charged the sender. I don't know if that's true for evrryer carrier or if it's still true today, but it made a major difference. It's also the reason apps threaten you with fees ("this service may cost you money") when all they do is send a verification SMS. Receiving messages is free in most places but because of a handful of shitty carriers apps now have this warning embedded in them.
- lxgr 2y agoIt’s actually a “shared cost” model, not really “called party pays”, as far as I know. And as far as I understand, this is all downstream of US mobile numbers not having a dedicated prefix identifying them. They have region-specific area codes just like landlines to which calls are physically routed, and from there it’s routed onwards to wherever the mobile phone might be. That could well be a long-distance leg of which the caller is unaware, so it would be surprising to bill them for it. That leaves only the called party. This model was then probably just carried over to SMS.
- qrush 2y agoStill waiting for Google Fi to turn RCS on for iOS users :(
- bilal4hmed 2y agoits coming https://9to5google.com/2025/03/04/google-fi-rcs-ios-18-4/ https://9to5google.com/2025/03/04/google-fi-rcs-ios-18-4/
- MBCook 2y ago“Why won’t Apple interoperable with RCS? (Clutches pearls)” Well well look who is slow to role something out now /s Of course it’s stupid RCS involves on carriers upgrading, but what do you expect with a carrier standards?
- deleted 2y ago[deleted]
- ebb_earl_co 2y agoThis is great in principle. I still prefer Signal as the top-shelf experience of iOS—Android communication.
- tengbretson 2y agoStill waiting on a non-Google implementation of this so-called standard.
- MBCook 2y agoI think Google‘s was something different. This is an actual standard that Apple is committing to implement. I was under the impression Google’s encryption was just their own layer thing they added on top it was not actually standardized. When people asked last year about why Apple wasn’t implementing encrypted RCS I think they even said that they wanted to wait for a standard.
- ocdtrekkie 2y agoSo an important context here is the server side implementation of RCS is Google's at every major carrier. Google bought the carrier-side provider of RCS services, Jibe, and so the entire RCS stack is still basically just Google Chat with an "it's a standard" label on it. https://9to5google.com/2024/02/01/verizon-rcs-google-jibe/ https://9to5google.com/2024/02/01/verizon-rcs-google-jibe/ Verizon, AT&T, and T-Mobile all use Google's RCS implementation, the only way to not send Google your messages in the US is to own an iPhone and disable RCS.
- tredre3 2y ago> Verizon, AT&T, and T-Mobile all use Google's RCS implementation, the only way to not send Google your messages in the US is to own an iPhone and disable RCS. You can disable RCS on Android too.
- jeroenhd 2y agoThere have been dozens, called anything from Message+ to Joyn. Most seem to be shutting down, though, because nobody used RCS since its inception from somewhere around 2009 and renewed interest in launching RCS services around 2012. There are a few implementations on Github. https://github.com/android-rcs/rcsjta https://github.com/android-rcs/rcsjta seems to be the most complete but uses an older version of the spec. https://github.com/Hirohumi/rust-rcs-client https://github.com/Hirohumi/rust-rcs-client is a modern implementation. The spec is here: https://www.gsma.com/solutions-and-impact/technologies/networks/gsma_resources/rich-communication-suite-advanced-communications-services-and-client-specification-version-14-0/ https://www.gsma.com/solutions-and-impact/technologies/netwo... if you're looking to implement it yourself.
- WorldPeas 2y agoAny news on if/when one will be able to send RCS from a program or device outside the monolith?
- bebna 2y agoNever. It is just a fancy MMS in new disguise. Carriers / patent holders will hold to it forever while praising it as the new best thing.
- singpolyma3 2y agoYou can get access to send MMS though. RCS there is no one selling access yet, especially for person to person.
- WorldPeas 2y agoIt seems people are, but not anyone with a big name: https://jibe.google.com/partners/messaging-partners/ https://jibe.google.com/partners/messaging-partners/ I'm guessing it's provisioned this way. https://developers.google.com/business-communications/rcs-business-messaging/guides/get-started/register-partner https://developers.google.com/business-communications/rcs-bu... EDIT: https://github.com/android-rcs/rcsjta https://github.com/android-rcs/rcsjta
- singpolyma3 2y agoYes the Google Business stuff exists for B2C marketing type use cases, but it is a very limited feature set compared to real RCS and cannot be used for regular communications using phone numbers.
- lxgr 2y agoI believe GP's objection is to not being able to access RCS from a non-Google-provided app on Android, not access to the RCS network on the backend side.
- 2y ago
- alwayslikethis 2y agoUnfortunately, RCS on Android requires google apps, so this isn't really a solution to anyone who doesn't want to be tracked by Google everywhere they go. I'm still a little confused as to what problem RCS is supposed to solve. It is just as centralized as any other chat app, and is a bit more invasive (often requiring device attestation). Is it really worth all this hassle just to not have to install, let's say, Signal?
- paulryanrogers 2y agoNow that Signal cannot be the SMS / RCS app, yes that's too much hassle. Network effects are too powerful.
- oblio 2y agoOh, what's up with Signal?
- paulryanrogers 2y agoThey used to be SMS compatible. But now are just a solo like most other chat app. https://signal.org/blog/sms-removal-android/ https://signal.org/blog/sms-removal-android/
- paulryanrogers 2y ago^silo
- kelnos 2y agoDefaults matter. While I've gotten some of my friends and family members to install and use Signal, I still have more chats via SMS/MMS (and more recently RCS, since Apple finally started supporting it) than I do on all other messaging apps combined.
- theshackleford 2y ago
- g-b-r 2y agoThis is a risky clause: > R5-32-5 An RCS client having E2EE enabled shall implement techniques to detect suspicious messages or conversations.
- kelnos 2y agoSounds like the standard wants phone RCS apps to do CSAM scanning as well as general analysis to see if the encrypted messages are about criminal activity. Not great.
- jeroenhd 2y agoSounds to me like it's doing spam/phishing/virus scans on-device because cloud servers can't.
- stephen_g 2y agoPotentially, but it’s fine as long as it’s done on the device and only notifies the user. Like ‘This might be spam, are you sure you want to view it’ or ‘This message might contain nudity’ if people care about enabling that kind of filter. As long as it never will call out to any external server it doesn’t break the security.
- g-b-r 2y agoPotentially indeed, that's why I said "risky". It - depends on how the clients want to implement it (it's not unthinkable that some might choose a "more effective" remote scanning) - it makes it a lot harder to make a client, although Bayesian filters should be enough
- vitorgrs 2y agoWell... they also need to expand to more than just a few countries. Here in Brazil there's no iPhone RCS support at all.
- lxgr 2y agoIt's up to the mobile networks to support that (usually by outsourcing it to Google, which I'm not sure they do for free).
- vitorgrs 2y agoIt's weird it's taking that long, as RCS on Android have been supported for ages here, I think even before some US carriers. I first tried RCS in early 2019.
- jeroenhd 2y agoBased on https://en.wikipedia.org/wiki/Rich_Communication_Services https://en.wikipedia.org/wiki/Rich_Communication_Services, it looks like Claro should support RCS (still branded as "joyn" though, so could be an outdated version of the spec). I don't think carriers had much of a reason to invest in RCS servers up till recently, because only Android really supported it and that came with a free, third party server. Maybe now carriers will start caring. By online statistics, Brazil seems to be a WhatsApp country, though, so I don't think many people will be using carrier services for chat. In turn, I don't think carriers will be quick to invest in servers and software to provide RCS to customers very soon.
- lxgr 2y agoDoes anybody know how the trust model for this looks like? Is it trust on first use together with a notification if a contact's key changes, a centralized key server (if so, who runs it, and is there key transparency), or just opportunistic encryption not protected against active attackers in the middle?
- jeroenhd 2y agoIt's using MLS for encryption and key exchange, which is based in part in Signal's encryption. I believe they'll probably be using TOFU like all the other popular encrypted messenger apps. Google's messenger (the encryption of which already uses MLS) has a verification feature where you can match key fingerprints by comparing numbers, but who knows how Apple will implement this.
- curtisszmania 2y ago[dead]
- lxgr 2y agoI really, really, really hope RCS doesn't make it as a standard. Now that it's end-to-end encrypted, it's slightly better than SMS, but it's still laughably incapable compared to decades-old protocols that support multiple devices, phone-number-independent identifiers, self-hosting, have open implementations and non-insane specifications etc. As it is, RCS is just Google Talk (Google runs most of the infrastructure), but tied to a single device (no messaging from your laptop or tablet if your phone battery dies!) and impossible to use without a phone number. It makes me really sad to see that even technical audiences don't see the long-term plan here: Cementing the use of phone numbers instead of email addresses as the primary identifiers in people's digital lives, and making the closed, carrier and Google operated RCS ecosystem the ultimate replacement for email and other open web standards for B2C and P2P messaging. (Yeah, most people already use Gmail, but the point is that self-hosting email is at least still possible, and there's still relatively free competition of sending service providers; with RCS, there's no chance to play without paying the cartel.)
- ezfe 2y agoIt's far more than "slightly better." It supports full resolution content, longer messages, and reactions/interactions. For most people it's indistinguishable from iMessage/etc. Do you really think that phone numbers aren't already a ubiquitous identifier? That is done. Nothing you're saying is changing because of RCS.
- lxgr 2y agoYes, it's already largely done, but that doesn't mean it was a good idea, so why cheer moving into the same bad direction just because there's now finally a baseline of security? It's also anything but indistinguishable from iMessage. I can use iMessage on any number of devices without my phone having to be turned on, having the SIM with my number on it inserted, and being connected to the Internet (not always a given when traveling etc.) The same is true for WhatsApp. Even XMPP could do it 20 years ago! This is not a new niche feature – it's absolutely essential for a modern instant messaging protocol!
- 2y ago
- preya2k 2y agoI’ve been reading about RCS for maybe 10 years now, yet it’s not really available/usable for everyone? It feels like Vaporware at this point.
- yieldcrv 2y agoiOS and Android both use RCS iOS as a fallback messaging system since iOS 18, before falling back to SMS exposing which people are google voice numbers vs actual android devices
- cubefox 2y agoiOS did boycott RCS for a long time in order to convince US teens to buy iPhones rather than Android phones (due to incompatibilities between iMessage and SMS, which are popular in the US). It worked. I think there was even some leaked internal email which admitted to doing this. The US antitrust agencies ignored it; there were no legal consequences for Apple. I believe Apple finally decided to add RCS support after EU legislators threatened to force their hand.
- jeroenhd 2y agoAbout a billion people use it every day, but they're concentrated in specific countries. I believe India is a major RCS user for instance. Like Signal, it works fine, but you need your contacts to also use it. That's easy on Android (Google hosts an RCS server for people whose carriers don't) but carrier dependent on iOS. RCS video calls and payments seem to be left unimplemented by Google.
- RataNova 2y agoSeeing Apple openly collaborate on an interoperable standard is refreshing
- psnehanshu 2y agoWhen I enabled RCS on my Android, I started getting ads with rich media. So I disabled it. And moreover WhatsApp is the dominant messaging app in my country. So this doesn't matter.
- ZeWaka 2y agoAds? Where? There's no spot in Google Messages for them.
- psnehanshu 2y agoNot on the Google Messages app itself, but inside the messages. Just like spam promotional emails.
- sudo_chmod777 2y agoEmails??
- leosanchez 2y agoRampant spam has forced Google to turn off RCS ads in India[0] [0] https://www.theverge.com/2022/6/1/23150243/google-rcs-ads-india-spam-verified-business https://www.theverge.com/2022/6/1/23150243/google-rcs-ads-in...
- leosanchez 2y agoRampant spam has forced Google to turn off RCS ads in India[0] [0] https://www.theverge.com/2022/6/1/23150243/google-rcs-ads-india-spam-verified-business https://www.theverge.com/2022/6/1/23150243/google-rcs-ads-in...
- AndrewSwift 2y agoIt's not RCS that was turned off, just "Business Messaging", meant for trusted companies to communicate with their customers.
- qwertox 2y ago> We’ve always been committed to providing a secure messaging experience This is why iMessage is such a great experience on Android. They don't even try.
- eknkc 2y agoIt’s funny that everyone bashed Apple for their lack of RCS support and now that they have it, all posts seem to indicate RCS is a shit standard at best. I have no idea if it is but that’s the impression I got. I guess it was just a talking point to shit on Apple’s approach? I don’t care anyway. Here everyone uses WhatsApp so RCS is not important but just an outsider observation.
- niea_11 2y agoIt's possible that the people complaining now are not the same people that complained about apple's lack of rcs support.
- klabb3 2y ago> I guess it was just a talking point to shit on Apple’s approach? Apple is not a sports team. What people are shitting on is a vendor-specific messaging app. It would be the same if there was a Samsung chat.
- jeroenhd 2y agoI think the RCS users are quite happy that iOS has RCS now. Though, they may be disappointed that Apple didn't set up an RCS server like Google did, because now people find out that their carrier doesn't do RCS so they're still missing out in the advantages. But, when RCS works, it works well. The stupid compatibility hacks Google and Samsung and everyone else implemented to make SMS/MMS pretend to be good at group messaging (like the ways they indicate emoji reactions) no longer need to be encoded in human-readable form. The encrypted component of RCS was a Google special and I think everyone knew that. People wanted Apple to immediately take up Google's encryption spec, but Apple waited for the GSMA spec to be updated with E2EE which is a much cleaner solution. The opponents of RCS have a point; using RCS is a bit like using your ISP's email servers in that the quality of your ISP determines how good of a time you'll behaving with it. There are also many advantages to full RCS support that nobody seems to have implemented yet. Things like video calls, or sending money over text. No longer needing third party services like FaceTime or WhatsApp to do video calls is a step in the right direction in my book.
- CivBase 2y ago
- 867-5309 2y ago>While Apple’s proprietary iMessage system already supported E2EE, this wasn’t extended to RCS messaging because the previous RCS standard didn’t provide cross-platform support. Google Messages also enabled E2EE by default for RCS texts, but only conversations between Google Messages users were E2EE, and not those exchanged with iMessage users or users of other RCS clients on Android. this dances around, but does not seem to answer, the big question of whether android will get iMessage or not?
- neilalexander 2y agoWhy would it answer it? This is about RCS, not iMessage. No, Android will not get iMessage.
- kstenerud 2y agoFortunately, this doesn't really affect those of us outside of the USA, since we've long since moved on.
- oblio 2y agoI've disabled RCS. RCS groups are used for spam. Unknown numbers in random countries add me and many other numbers to said groups, send spam and then quit the groups. And there is no recourse.
- geomcentral 2y agoIs it possible that we'll see non-smartphone devices (eg dumbphones) being able to interop with Apple and Google through the same end-to-end encrypted protocol?
- thumbsup-_- 2y agoit already is supporting it. I have been already receiving messages on my iphone with RCS written around them
- deleted 2y ago[deleted]