Live data from Hacker News

Ask HN: How can I verify that WhatsApp uses E2E encryption?

news.ycombinator.com

21–30 of 48 posts

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#21

You can't. WhatsApp is proprietary software that you aren't allowed to audit. Use free software chat programs instead.

How can I (developer, no security knowledge) verify that does encryption properly?

You should assume it can't. The track record is very, very poor.

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#22

You can't. WhatsApp is proprietary software that you aren't allowed to audit. Use free software chat programs instead.

How can I (developer, no security knowledge) verify that does encryption properly?

Look for reviews by reputable security experts. Look for use of a standard cryptographic library, preferably a high-level hard-to-get-it-wrong library, rather than hand-rolled cryptography.

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#23
post #17
post #10

Most of the comments so far focus on the fact that WhatsApp is a closed-source system. And just to be clear, it would absolutely be better to have source code. Source code gives you a 1000-foot view of the application and lets you spot obvious problems quickly. But source code can also lie to you. To really understand what the application is doing, you need to do what security auditors do irrespective of source code…

It the source were available, I could compile it into a binary myself and calculate a file checksum and compare it against the binary downloaded from the App Store. Obviously not the case here, but i don't think you'd need to "performs the steps above" to verify.

Having a source code might help you in skipping the first step(decompile and disassemble), but you have to perform step 2 and 3 to analyse the behaviour of the program.

You might have to perform step 1 , if the source code had compiled third party libraries, which might contain hidden routines to perform malicious operations (such as decryption).

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#24
post #10

Most of the comments so far focus on the fact that WhatsApp is a closed-source system. And just to be clear, it would absolutely be better to have source code. Source code gives you a 1000-foot view of the application and lets you spot obvious problems quickly. But source code can also lie to you. To really understand what the application is doing, you need to do what security auditors do irrespective of source code…

Was reminded of: Reflections on trusting trust - Ken Thompson

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#25
post #10

Most of the comments so far focus on the fact that WhatsApp is a closed-source system. And just to be clear, it would absolutely be better to have source code. Source code gives you a 1000-foot view of the application and lets you spot obvious problems quickly. But source code can also lie to you. To really understand what the application is doing, you need to do what security auditors do irrespective of source code…

Well for the reader, here's an interesting recent talk related to your last note: http://media.ccc.de/browse/congress/2014/31c3_-_6240_-_en_-_...

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#26
post #17

Earlier quoted context omitted.

It the source were available, I could compile it into a binary myself and calculate a file checksum and compare it against the binary downloaded from the App Store. Obviously not the case here, but i don't think you'd need to "performs the steps above" to verify.

And you would almost certainly not get the same checksum unless they provided you with the exact toolchain they used (which almost nobody does) due to compiler version mismatches or some such.

Even if you used exactly the same toolchain you would not get the same checksum because the binaries will probably have some other information embedded, such as timestamps.

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#27
I think a lot of people here have missed the point a little. It's very easy to subvert E2E encryption of this sort, because no Whatsapp user has any way of verifying that they're talking to another Whatsapp user beyond the Whatsapp servers saying so.

The actual apps could carefully perform the E2E encryption, but Whatsapp could easily MITM the data if (say) requested to by an outside agency, without the app being any the wiser.

It's impractical to verify - you'd have to have the source to Whatsapp's servers, guarantees their SSL keys haven't been compromised, etc etc etc.

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#28
post #3

You cannot verify that WhatsApp isn't cheating without a source code analysis. And it's even worse, WhatsApp is a doughter company of Facebook, so WhatsApp is falling under Section 215 US Patriot Act. In short: it's not Facebook's or WhatsApp's fault, but they're forced to cheat if there is the requirement from US officials. While there may be E2E encryption in WhatsApp, there is no way to get it trustworthy.

the way it works is quite straight forward. the rsa key is the product of 4 primes rather than two. two of which are known to the nsa. this shortens then rsa key length to 128 bits which is factored using a sieve on their hpc platform in a fraction of a second.

this gives them the key used for the encryption and allows them to decrypt the messages. but still makes it hard for everyone else to decrypt (since they don't know the nsa primes).

no I'm not going to share the keys they use.

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#29
post #27

I think a lot of people here have missed the point a little. It's very easy to subvert E2E encryption of this sort, because no Whatsapp user has any way of verifying that they're talking to another Whatsapp user beyond the Whatsapp servers saying so. The actual apps could carefully perform the E2E encryption, but Whatsapp could easily MITM the data if (say) requested to by an outside agency, without the app being any…

If WhatsApp integrated everything they had in `Axolotl` [0] protocol specification, this wouldn't be the case. If WhatsApp would attempt to MITM, they would have to know someone's private-key (or break the crypto) which never leaves the phone, hence the E2E property.

[0] https://github.com/trevp/axolotl/wiki

Re: Ask HN: How can I verify that WhatsApp uses E2E encryption?

#30
post #29
post #27

I think a lot of people here have missed the point a little. It's very easy to subvert E2E encryption of this sort, because no Whatsapp user has any way of verifying that they're talking to another Whatsapp user beyond the Whatsapp servers saying so. The actual apps could carefully perform the E2E encryption, but Whatsapp could easily MITM the data if (say) requested to by an outside agency, without the app being any…

If WhatsApp integrated everything they had in `Axolotl` [0] protocol specification, this wouldn't be the case. If WhatsApp would attempt to MITM, they would have to know someone's private-key (or break the crypto) which never leaves the phone, hence the E2E property. [0] https://github.com/trevp/axolotl/wiki

It's always possible to MITM if you can't verify the signatures. No matter what they implement, the server can just relay messages back and forth.
Post reply on HN