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?
I don't think Google wanted to gatekeep their E2EE implementation. They have some generic documentation about how it works: https://www.gstatic.com/messages/papers/messages_e2ee.pdf
The thing about RCS is that no messengers seem to care at all about implementing RCS themselves. Part of that is probably because depending on the carrier, RCS may require access to certain SIM card information, which only pre-installed apps can do, and part of it is that many developers are waiting for Google to add RCS to the same API that SMS/MMS already exposes because they don't want to implement RCS themselves.
Realistically, the target demographic for their documentation is 1) Apple (who they'd happily supply with details to get rid of the green bubble problem) and maybe 2) government officials looking into antitrust concerns. In theory someone working for LineageOS can implement an RCS client, though, but for those developers I don't think reverse engineering the remaining unknowns about the protocol (mostly "what server" and "what message contents") aren't that difficult.
I'm not cryptographer, but I haven't heard any major issues from actual cryptographers about MLS. It's encryption principles seem to be similar to those of Signal. Google is actually already using MLS in their proprietary E2EE implementation.
Ideally, MLS would be combined with MIMI so that messaging apps become interoperable, but that's probably a pipe dream.
But I don't think it's fair to suggest or imply that this development is unrelated to Apple either.
RCS has been a thing for nearly a decade, and Google's RCS backend has been doing non-standard E2EE for half that time.
Within 8 months of Apple publicly announcing they would adopt RCS and work with GSMA to support standardised E2EE, there is suddenly a standard for it...
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.)
From my experience RCS is just a backup/temporary holdover system to keep SMS usable as is, since people are increasingly using regular chat apps like WhatsApp. Plus as long as spam/identity is a major issue then phone numbers will be a part of verification systems. They will use anything they can get to make it harder to abuse. Whether the root ID is phones or not doesn't really make a difference if a phone number is required at some point to use a service.
While I agree that tying everying to a phone number is far from optimal, it's the status quo in messenger land. Only tech nerds use services like XMPP and Matrix, the rest all use either chat apps that tie you to a phone number or just text directly.
RCS is there for the people who still use SMS/MMS. In my country, that's basically nobody. In Canada and the US, that's the majority of non-iPhone people, and the iPhone people have been complaining about the shitty integration between iMessage and MMS since the day iMessage took off (because MMS is terrible for modern messengers).
RCS runs on your carrier's infrastructure. Google hosts RCS services for people whose carrier doesn't support RCS, but Apple won't be using those. RCS on iOS requires carrier support, which many carriers still have yet to turn back on.
I think you're confusing the status quo with the goal behind RCS. The unfortunate truth is, the people who are using RCS would've used SMS/MMS before. RCS just appeared in their messengers some day and made texting a lot better.
I'd still advocate for signal over RCS any time of the week (though I don't need to, because nobody uses SMS/RCS here anyway thanks to WhatsApp), but RCS is an abject improvement over the terrible messenger protocols it replaced.
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.
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?
For non-ROM developers, it depends on what RCS activation technique your carrier uses.
RCS isn't a Google spec, or an Apple spec, or even an IETF/IEEE/ISO spec. It's part of the core mobile networking specifications. It was created by the people who designed the MMS spec after 4G switched mobile networks to everything-over-IP. Unfortunately, the 4G spec didn't require RCS, it was just an optional side feature, so carriers never bothered with it.
RCS solves the problem that most of the US uses iMessage or SMS/MMS, but the SMS/MMS part of that equation is absolutely dreadful. File size limits are stuck in the mid 2000s, messages are split over multiple SMS packets if you send more than one sentence, the entire thing is unencrypted. Sometimes people like to send photos to each other and the 150KiB or so file size limit on MMS isn't enough for that anymore.
As for why not have people install Signal: why would they, because everyone is already using something else? I live in a country where everyone uses chat apps and all but one of my contacts are on WhatsApp. In other places, that'll be Telegram, and in some North American countries, that'll be iMessage/MMS, the texting app that comes with the phone for sending texts.
But practically, only Google actually knows how to do that (the specifications are absurdly complicated!), and so they do it for all operators as a service.
It's a fig leaf of an open protocol and service even for telco industry standards.
For interpersonal communication, SMS is dead in the majority of the world, so a successor is entirely irrelevant.
For for the 1 or 2 countries where people still send SMS, RCS seems like a major improvement with a bunch of feature that have been available on other platforms for many years now.
Anyway iMessage (and iOS for that matter) is irrelevant where I live so I don't expect this to change anything. I'm not going to be on RCS. The main apps here are WhatsApp and Telegram (the latter more for groups)
one thing i would like to see happen is deprecating SMS message with Labels rather than numbers, phishing has got far far too common in my jurisdiction RCS + some sort of DNS validation like atproto of sender would go a long long way
[1] Except, somewhat incongruently, between Google Fi subscribers on some Android phones: https://support.google.com/fi/answer/11295314?hl=en – no idea how that came to be and how it even works! I suspect it just upgrades to a FaceTime-like VoIP call.
You assume everyone has the same goals in mind :)
Had it been designed with the security practices at the time, the protocol would've been ossified to the point of being practically insecure by today's standards. In a sense, the fact nobody cared about it until the spec was old enough to drive is actually good for users.
The GSMA which designs RCS also serves the needs of government agencies that are tracking (international) criminals, so I bet there must have been some pretty strong opposition against E2EE in the official spec. Frankly, I'm surprised they're even putting it in the spec.
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.
this dances around, but does not seem to answer, the big question of whether android will get iMessage or not?
> R5-32-5 An RCS client having E2EE enabled shall implement techniques to detect suspicious messages or conversations.
And there is no recourse.
This is why iMessage is such a great experience on Android. They don't even try.
Apple announces that RCS support is coming to iPhone next year
https://news.ycombinator.com/item?id=38293082
793 points | 709 comments