Una parte fondamentale del Protocollo del segnale , utilizzato da Google Allo, WhatsApp, Facebook Messenger e Signal, tra gli altri) è un'infrastruttura a chiave pubblica. Le chiavi pubbliche sono necessarie per impostare le sessioni. Per quanto posso vedere, non specifica un modo per autenticare le chiavi. Vale a dire, quando Alice organizza una sessione con Bob, come può essere sicura di ricevere la sua chiave pubblica e quella di nessun altro?
In secondo luogo, supponendo che la domanda di cui sopra abbia una risposta soddisfacente, possiamo controllare cosa succede sul filo? Cioè, Alice (avendo accesso alle sue chiavi private) può esaminare il protocollo sul filo, estrarre la chiave pubblica di Bob e autenticarlo a mano (impronte digitali, chiamare Bob e chiedergli di confrontare)?
Questo probabilmente differisce per implementazione, immagino. Per prima cosa, non vedo una risposta nel panoramica sulla crittografia di WhatsApp whitepaper. Quindi, come viene implementato?
In un contesto più ampio la vera domanda è ovviamente: fino a che punto dobbiamo fidarci delle implementazioni, cioè i fornitori di servizi? Onestamente, è strano per me che ci sia così tanto clamore su questi servizi che sono criptati end-to-end; mi sembra (NON è un esperto del protocollo!) che sia abbastanza facile per i fornitori di servizi origliare, se lo desiderano. Potrebbero non volerlo o volerlo, ma per chiunque sia sufficientemente importante la privacy, è comunque una responsabilità.