6 ms·
The encryption is based on MLS: https://www.rfc-editor.org/rfc/rfc9420.html https://www.rfc-editor.org/rfc/rfc9420.html I don't think Google wanted to gatekeep
by jeroenhd 2y ago
The encryption is based on MLS: https://www.rfc-editor.org/rfc/rfc9420.html https://www.rfc-editor.org/rfc/rfc9420.html
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 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.
- acdha 2y agoThe protocol is open but key exchange is not: even on Android, third-party messengers can’t interoperate with Google Messages. See page 11 of that PDF.
- g-b-r 2y agoThat text seems more a reflection of the fact that only Messages supported it, when the document was written If they seriously wanted random third parties to implement it, anyhow, they'd have published a specification, not an "overview"
- acdha 2y agoOnly Messages was allowed to support it. At the time it was written, for example, it was years after the Signal developers had asked for basic RCS support (2015) and given up on Google relenting and allowing it in 2018. https://github.com/signalapp/Signal-Android/issues/4837 https://github.com/signalapp/Signal-Android/issues/4837
- g-b-r 2y agoDid you read that issue? It's Moxie that refused to support it
- acdha 2y agoYes, I followed it when it was open. Which third-party app do you use which supports RCS E2EE?
- g-b-r 2y agoNone, but that issue has no mention of what you said in the other message ("Only Messages was allowed to support it. At the time it was written, for example, it was years after the Signal developers had asked for basic RCS support (2015) and given up on Google relenting and allowing it in 2018")
- jeroenhd 2y agoSignal has been rather dismissive of RCS in general. Of course RCS was as insecure and unencrypted as regular SMS/MMS until now, but I haven't found a sign that Signal ever even looked into supporting RCS at all. At this point I think they just wanted to get rid of their SMS backup feature and used RCS as an excuse.
- acdha 2y agoSignal was dismissive of unencrypted messaging. Google used their protocol for their proprietary E2EE system so it’s unlikely that this objection would apply if that system was open. Put another way, if this was a Signal thing what other Android app is doing this?
- jeroenhd 2y agoThat's true, but Google has also indicated that they're switching to the GSMA spec which is intended for interoperability. I also doubt that Google would withhold such details from parties like Apple even if they maintained their proprietary format. Small developers would need to reverse engineer the details, unfortunately.
- acdha 2y agoMy question is basically whether they open it up or limit it to companies they have deals with. Reverse engineering is a risky game for a service with device checks since that’s potentially a CFAA violation and it could lead to your users getting their hardware banned.
- jandrewrogers 2y ago> who they'd happily supply with details to get rid of the green bubble problem I would be surprised if this eliminates green bubbles. iMessage supports many features unavailable over RCS on Android devices. These would still be disabled and Apple needs a way to indicate a degraded feature set to iMessage users.
- MBCook 2y agoYep. They’re never going away. Blue = iMessage Green = Other It doesn’t matter if both support 100% identical feature sets, it’s gonna stay like that.
- h0l0cube 2y agoAt least the false pretence would vanish if both support 100%
- MBCook 2y agoWhat false pretense? They dictate two different ways of sending messages with different capabilities.
- h0l0cube 2y agoIf they were functionally equivalent, why signal a difference? What's the benefit, you think? I'm not saying that they definitely would signal a difference, but in this hypothetical, if the color difference remained, it would be obvious why.
- DownrightNifty 2y ago> 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. Is that a planned feature? It's frustrating that third party messaging apps don't work with RCS. I hope we don't have to get the EU involved here...
- DownrightNifty 2y agoExtra context I forgot to provide: > RCS may require access to certain SIM card information, which only pre-installed apps can do > because they don't want to implement RCS themselves. Sounds like they can't implement RCS themselves even if they wanted to, not simply that Google doesn't provide an open source implementation? (Referring to app developers here, not custom ROM devs.)
- jeroenhd 2y agoThey can't implement RCS for every carrier, but they can implement it for some. Others require nothing more than a network call to a predefined HTTP address over a data connection. Although Google may dislike it, I don't believe Google's RCS implementation (the one most of the world uses) requires elevated permissions. Their activation sequence is proprietary and closed source, though so I'm not 100% sure. Just having a base implementation for custom ROMs would be a start. Given that Google will block custom ROMs from RCS in their app (I believe because the spec says to), there is a need for an independent implementation if this makes RCS popular enough under American users. Someone will have to inventory the activation mechanisms for each carrier to see if there really is a disadvantage. I'd start with mine, but all of the carriers in my country have shut down their RCS servers a decade ago.
- ExoticPearTree 2y agoI am not familiar with RCS, but considering the plethora of messaging apps available that just work, why did they choose the most complicated way for users to use it? And what do you mean it is not available on every carrier and needs SIM access?
- deleted 2y ago[deleted]
- crossroadsguy 2y ago> the green bubble problem Is this a problem? Outside NA? Because the rest of the world seems to neither care nor even notice the bubble (of either colour) i.e iMessage is irrelevant almost entirely outside North America (and that too I guess mostly USA; only among just the iPhone users of course)
- _bin_ 2y agoAmerica is the world's biggest market and most hackernews live here. So it's pretty relevant here.
- jandrewrogers 2y agoI believe Canada has an even higher iOS market share than the US. Mexico mostly uses WhatsApp but I don’t text people there much. I have and use both WhatsApp and Signal routinely in addition to iMessage; no one I know uses WhatsApp within North America and only a handful use Signal. When I worked in Europe just about everyone I texted with had an iPhone. We always use WhatsApp or Signal there by default. Nonetheless, iMessage was usually the fallback when those chat apps glitched because it is so reliable, especially compared to Signal. YMMV, etc. What iMessage has going for it is that it is genuinely a very good implementation of a social chat app with unique features enabled by the iCloud ecosystem. I’m pretty agnostic about it, I’ve used a lot of chat apps by virtue of being more global than most, but iMessage is objectively pretty great when you stay within the Apple ecosystem. I’ve reduced things down to WhatsApp, Signal, and iMessage, which is kind of the minimum set that gets you global coverage, but if everyone is on iOS then iMessage is noticeably superior to Signal or WhatsApp. iMessage is more than just a chat app but it limits itself to that when interacting with other ecosystems.
- cubefox 2y ago> I don't think reverse engineering the remaining unknowns about the protocol (mostly "what server" and "what message contents") aren't that difficult. That's hard to parse. Removing the double negation, we end up with "I think reverse engineering the remaining unknowns about the protocol (mostly "what server" and "what message contents") are that difficult."