3 ms·
They also decide what public key is associated with a phone number, right? Unless you verify in person.
by morshu9001 9mo ago
They also decide what public key is associated with a phone number, right? Unless you verify in person.
- NoahZuniga 9mo agoThat's protected cryptographically with key transparency. Anyone can check what the current published keys for a user are, and be sure they get the same value as any other user. Specifically, your wa client checks that these keys are the right key.
- morshu9001 9mo agoEven if your client is asking other clients to verify, what if everyone has the same wrong key for a particular user Whatsapp has chosen to spoof?
- NoahZuniga 9mo agoWell, surely your client knows what its own key is, and would notice that the listed key is wrong when it checks it.
- morshu9001 9mo agoThey can also tell your client it has the correct key. Yours and the other clients are all talking to their mitm in this scenario. There's fundamentally no way to solve this without users verifying keys out-of-band.
- NoahZuniga 9mo ago> They can also tell your client it has the correct key. No they can't. Key transparency cryptographically makes sure everyone gets the same result.
- morshu9001 9mo agoKey transparency is a public list of keys, like what CAs do. That still trusts an authority. Of course a third party could archive/republish the key list and you could trust them instead of Whatsapp, but that's what I call an out of band key verification. These are all good measures though. It's much harder for Whatsapp to mass attack users this way.
- NoahZuniga 9mo agoWell, more than just that. For the published key transparency information to be trusted it has to not just be signed by WhatsApp, but also by an independent witness. In this case Cloudflare. So for wa to do a man in the middle attack they would also need to convince Cloudflare to sign two inconsistent tree heads.