Hacker News new | ask | show | jobs
by amazingman 911 days ago
>Beeper put them between a rock and a hard place

"Should we allow a third party we have no control over to man-in-the-middle our end-to-end encrypted messaging service or not? This is a tough one!"

3 comments

> "Should we allow a third party we have no control over to man-in-the-middle our end-to-end encrypted messaging service or not? This is a tough one!"

That's absolutely not what's happening, and I think Beeper's response here was totally correct.

There is no encryption, at all, between iOS and Android clients if the iOS user is using iMessage. And, furthermore, my understanding is that the presence of a single Android user in a group chat means nobody gets an encrypted messaging experience.

In the past, Apple's response to this has literally been "Buy your grandmother an iPhone". How can anyone not call incredible amounts of bullshit when their response to a company that actually let, for the first time, an Android user have an encrypted conversation with an iOS user as "This is unacceptable, we can't allow this" and claim it's because Apple cares about user security???

Not enough BS chutzpah in the universe for that one.

Nobody is MiTM'ing anything. Individuals willingly provide their credentials and only get access to their own messages - the same messages they can voluntarily take screenshots of & publish by logging into a real Apple device. Furthermore, Beeper's app runs entirely on-device with an optional cloud-hosted bridge that may not even have access to the plaintext.
It is pretty much universally frowned upon to provide your credentials to a 3rd party. Plenty of places will suspend your account if discovered you have done this. Building a product that relies on receiving user's credentials to 3rd parties is just building your company on a foundation of very dry/loose sand
To be fair, Beeper Mini operates entirely on your device, the optional cloud component is there because there's literally no other way. It's like an e-mail client, or an FTP or SSH client, or a browser. Are those considered bad now?

> Plenty of places will suspend your account if discovered you have done this.

Plenty of services base their business on restricted interoperability and suspend your account not because of security but because they'd miss out on all the "engagement" they get from the official client. This has nothing to do with security.

In the rare time I'd make a pro-Twit...er, X comment, if the platform makes its money from ads being delivered next to the content and then 3rd party comes up with a way to provide the users an ad free experience, OF COURSE they will not be happy with that. But this isn't specific to that particular platform. Any time you assist users in circumventing a method for the platform to earn money will be viewed as hostile. If you are build a product and pay a licensing fee to offset the lost earnings, then that would be potentially viewed as less hostile even if still not 100% accepted by the platform.

This isn't rocket science.

> Plenty of places will suspend your account if discovered you have done this.

And yet that's not the route Apple chose to take.

if you can take out the 3rd party tempting Apple users from doing this, then Apple doesn't have to lose those users. doesn't seem very strange for them to do this. however, if it's not something that Apple could control on their end, then they probably still have the "suspend user" club in their bag
Wait until you discover how Plaid works.
I very much am aware of how Plaid works and will not use it.

Someone recently really tried to get me to use Chime. As soon as the "must use Plaid" part came up in their onboarding, I stopped immediately. It's just a shame that I had already provided Chime so much of my information just to stop there.

Plaid is also bad.
Plaid is bad, but is there another way? (OAuth and PSD2 could be, and IIRC they use that for banks that support it, but many banks don't.)
Beeper's app is the MiTM. I already have to trust Apple not to abuse their privileged position re: e2e iMessage. Now I have to trust Beeper, Apple, and Apple has to continuously trust/verify Beeper. Privacy and interop are fundamentally in opposition here, and I find Beeper's PR approach regarding this to be misleading at best.
Beeper is as much of an MITM as your e-mail client is one, or your FTP client, or your SSH client, or your browser. Should those also be frowned upon? After all, they both implement a cryptographic protocol and have access to the plaintext.

You also don't have to trust Beeper because you are not obliged to use it. You are welcome to not use it (and buy an Apple device) or even fall back to SMS.

The recipient can themselves decide what level of security they want and whether they trust Beeper (but they don't need Beeper to compromise their security - they can just as well post screenshots of your E2E-encrypted messages with them, make a backup on a compromised computer or leak their Apple/iCloud credentials).

Email isn't end to end encrypted. FTP and SSH are client-server protocols whereas iMessage is client-server(s)-client.

Do you actually believe these things you're claiming, or are you arguing for the sake of contrarianism?

> Email isn't end to end encrypted

E-mail can be end-to-end encrypted; you can use PGP (of which there are multiple implementations, all compatible) or some other custom cryptographic protocol. Having multiple compatible implementations does in no way prevent it from being secure.

> FTP and SSH are client-server protocols whereas iMessage is client-server(s)-client.

I don't understand how iMessage and FTP are different? Both have a server which mediates communication between different clients. The FTP server accepts & persists files which other clients then see and can download. The iMessage server does something similar but with messages.

> Do you actually believe these things you're claiming

Yes? I believe every person should have the right to choose which software they use to interact with services, whether it's first-party, third-party, or their own creation. I don't know nor care which browser you're using to read & reply to my comments and shouldn't have a say it in in any case - whatever happens on your machine is your own business only.

I don't understand what is so extreme about my position? It's like arguing that being able to open & create Microsoft Office files in anything but a Microsoft-approved version is heresy.

>E-mail can be end-to-end encrypted; you can use PGP

SMS can be end-to-end encrypted; you can use PGP.

>I don't understand how iMessage and FTP are different?

If I get a new iPhone and set it up without restoring it from a backup and I have NOT opted into "Messages in iCloud" (I personally have not), then my entire iMessage history is unavailable to me on my new iPhone.

>I believe every person should have the right to choose which software they use to interact with services

Then you also believe that forgoing E2E encryption is an acceptable tradeoff for exercising that freedom.

>I don't understand what is so extreme about my position?

It's not that your position is extreme, it's that you don't seem to understand the consequences of that position.

This is a great illustration of how you can only take Apple's security claims seriously if you don't understand them.

One of the primary benefits of end to end encryption is that it can protect messages from an untrusted carrier. In other words, a proper encrypted messaging setup is not vulnerable to man-in-the-middle attacks

>When sending and receiving Signal, iMessage and WhatsApp messages, Beeper Cloud's web service acts as a relay. For example, if you send a message from Beeper to a friend on WhatsApp, the message is encrypted on your Beeper Cloud client, sent to the Beeper Cloud web service, which decrypts and re-encrypts the message with WhatsApp's proprietary encryption protocol.

> Using native chat apps independently may be more secure than connecting to other encrypted chat networks with Beeper Cloud.

https://www.beeper.com/faq#how-does-beeper-connect-to-encryp...

Please tell me more about how Beeper can't be used as a MiTM for E2E encrypted networks like Signal.

So is the issue that there's a cloud web service that interacts with some of the proprietary protocols? That definitely is another point of trust and it would seem weird that they do it that way, especially for protocols that aren't proprietary. For proprietary ones, this might be necessary to dodge intellectual property liability claims that could take the whole thing down, which is a great argument for not allowing security-critical proprietary code to be protected by law in this way, but that's just a plausible reason for them to have this problem, not a reason it doesn't matter

I appreciate you pointing out specifically what the problem was rather than just repeating that it was insecure, rather than how, and admit what I said was, as far as I now know, wrong

That said, what are the odds that Apple would accept a solution that was encrypted on-device? If this were feasible, would Apple still block the interoperation with their network, and do we agree on whether they'd be wrong to?

I think the main issue I see with iMessage that this highlights is that it's presented in a way that's deceptive to its users, and thus might give them a false sense of security in their messaging. An interoperating client on android is a band-aid for this problem at best, but it's a weird move to block it. I guess for now there's the plausible deniability of what appears to be a real issue though. The way Apple's messaging has addressed it still leaves a bad taste in my mouth, because they do not make clear that what you point out is the issue

>what are the odds that Apple would accept a solution that was encrypted on-device?

We probably agree that the odds hover just above 0%

>would Apple still block the interoperation with their network, and do we agree on whether they'd be wrong to?

We could agree in principle that they would be wrong to, _if_ there were a clear path to continuously verifying that a third party client is behaving above board. Unfortunately that's just not the case. AFAIUI, this is still an intractable issue with encrypted communications. Is it an impossible problem? Probably not, but the amount of sustained effort this would require from Apple (and the 3rd parties) seems unworkable. So given that reality (I think), I don't think Apple are wrong to disallow third party clients for their E2E encrypted service.

>The way Apple's messaging has addressed it still leaves a bad taste in my mouth, because they do not make clear that what you point out is the issue

Yeah, I don't disagree here. I can only say that this is par for the course when it comes to Apple's PR. They would basically never explicitly state that their E2E encrypted service is at risk of a MiTM attack due to third party clients. Instead we will get very generic language and be left to fill in the blanks ourselves.

Keep in mind that you are linking to the FAQ for the original Beeper (now renamed Beeper Cloud), this is a Matrix-bridge-based where the bridge and homeserver have access to the plaintext. You could still technically self-host both components if you wanted to.

Beeper Mini was a completely self-contained app that implemented the iMessage protocol on-device and did not use bridges. Its only optional cloud component was a push notification bridge that wasn't actually given the E2E keys (the cloud proxy would receive your messages but not be able to decrypt them, instead it just sends a push to wake up your device which will fetch and decrypt them).

The discussion of the technical details of this has such a low signal-to-noise ratio, and I think the blame for that lies mostly with companies who try to set themselves up as infrastructure but maintain significant secrecy about how their tech actually works