Come funziona la verifica dell'identità di Telegram?

4

Nota: si prega di astenersi dal commentare il progetto di Telegram di ALTRE parti, in quanto distrarrà dallo stelo della domanda.

Sfondo:

Segnale (in precedenza, app "TextSecure") utilizza il tipo specifico di verifica "La tua identità / Loro identità" per verificare un canale sicuro.

Telegram, d'altra parte, mostra un'immagine di una matrice di pixel con colori diversi e un insieme di caratteri alfanumerici sotto di essa, diversi da ogni canale sicuro (ad esempio "Chat segreta"); se queste immagini o caratteri alfanumerici corrispondono su entrambe le estremità dei telefoni delle parti, la chat segreta è "sicura al 200%" [sic].

DOMANDA:

In Telegram, come viene generata l'immagine di verifica? Cosa lo rende sicuro? E cosa rende il MITM sullo scambio di chiavi "del 200%" impossibile quando quella foto corrisponde a ciascun telefono?

Merito della domanda:

Signal mostra chiaramente l'impronta digitale della mia stessa chiave (che ho sul mio telefono) rendendola molto sensata, come se corrispondesse a ciò che THEY ha visto come mia impronta digitale, quindi è fisicamente e tecnicamente impossibile che sia accaduto un MITM.

Che cosa nel design di Telegram garantisce lo stesso risultato di Signal?

Aggiorna :

Questa domanda ha bisogno di una risposta poiché, in effetti, anche Whatsapp (che utilizza il protocollo di crittografia "TextSecure") visualizza UN set di numeri che devono essere abbinati su entrambe le estremità delle parti in conversazione.

    
posta Mars 14.11.2015 - 16:30
fonte

2 risposte

1

WhatsApp ricava il codice QR (e la rappresentazione numerica) dall'identificatore utente e la chiave di identità pubblica a 32 byte di entrambe le parti. Immagino che decida un algoritmo deterministico, prima viene la stregua dei due identificatori (ad esempio potrebbero essere ordinati in modo lessicale).

Ciò consente a entrambi i client di visualizzare la stessa immagine e la stessa rappresentazione numerica, fornendo allo stesso tempo la stessa sicurezza di Signal, dove entrambe le impronte digitali sono visualizzate singolarmente.

Telegram utilizza un approccio leggermente diverso, perché calcola una nuova chiave di chat segreta per ogni nuova chat segreta (anche se stai già partecipando a una chat segreta attiva con la stessa persona). Pertanto, ogni chat segreta con la stessa persona dovrebbe visualizzare un codice 2D diverso e, a mio avviso, dovrebbe anche cambiare frequentemente. Ciò è dovuto al fatto che la chiave di chat segreta viene calcolata utilizzando Diffi-Hellman e viene rigenerata ogni 100 messaggi o almeno ogni settimana, per fornire una sorta di segreto di inoltro. Entrambi i partecipanti alla chat segreta dovrebbero vedere lo stesso codice 2D (che è una sorta di visualizzazione grafica della chiave di chat segreta), poiché la chiave di chat segreta è un segreto condiviso tra entrambi i partecipanti.

Non sono completamente sicuro della parte di Telegram, perché non utilizzo Telegram da solo.

Le informazioni sono tratte dal white paper sulla sicurezza di WhatsApp (aprile 2016) [1, pagina 8] e dalla documentazione dell'API di Telegram [2].

[1] link

[2] link

    
risposta data 28.05.2016 - 23:19
fonte
1

Prima dei dettagli: Il codice lato server di Telegram non è disponibile come open source e quindi non può essere revisionato.

Telegram utilizza Diffe-Hellman per lo scambio di chiavi e la crittografia AES-IGE .

Il principio base della comprensione nello scambio di chiavi DH è che

No entity can effectively intercept the key generation while simultaneously making sure that the parties generate the same key.

Il che significherebbe, se Eve tenta un attacco MITM mentre Alice e Bob stanno tentando lo scambio di chiavi Eve non può simultaneamente far sì che Alice e Bobo concordino sulla stessa chiave tra loro.

La situazione sarebbe:

Alice (Key A) <------->(Key A) Eve (Key B)<------->(Key B) Bob1

Invece di

Alice (Key A) <------->(Key A) Eve (Key A)<------->(Key A) Bob1

Quindi ora se Alice e Bob confrontano le loro chiavi scopriranno le chiavi che sono diverse.

Il blocco pixel grafico Telegram non è altro che una semplice rappresentazione grafica dell'hash della chiave. Se corrispondono le chiavi sono uguali. Altrimenti non lo sono, nel qual caso comprendiamo che un MITM ha avuto luogo.

    
risposta data 29.05.2016 - 00:05
fonte

Leggi altre domande sui tag