¿Cómo funciona la verificación de identidad de Telegram?

4

Nota: absténgase de comentar sobre el diseño de OTRAS partes de Telegram, ya que esto distraerá la atención de la pregunta.

Background:

Signal (Anteriormente, la aplicación "TextSecure") utiliza el tipo de verificación específico "Tu identidad / Su identidad" para verificar un canal seguro.

Telegram, por otro lado, muestra una imagen de una matriz de píxeles con diferentes colores y un conjunto de caracteres alfanuméricos debajo, diferente de cada canal seguro (es decir, "Secret Chat"); Si estas imágenes o caracteres alfanuméricos coinciden en ambos extremos de los teléfonos de las partes, entonces el chat secreto es "200% seguro" [sic].

PREGUNTA :

En Telegram, ¿cómo se genera la imagen de verificación? ¿Qué lo hace seguro? ¿Y qué hace que MITM en el intercambio de claves "200%" sea imposible cuando la imagen coincide en cada teléfono?

Mérito de la pregunta:

Signal muestra claramente la huella digital de mi propia llave (que tengo en mi propio teléfono), lo que hace que esto sea muy sensato, como si coincidiera con lo que ELLOS vieron como mi huella digital, entonces es física y técnicamente imposible que ocurra un MITM. p>

¿Qué en el diseño de Telegram garantiza este mismo resultado que con Signal?

ACTUALIZACIÓN :

Esta pregunta necesita una respuesta ya que, de hecho, ahora incluso Whatsapp (usando el protocolo de cifrado "TextSecure") muestra UN conjunto de números que deben coincidir en ambos extremos de las partes que conversan.

    
pregunta Mars 14.11.2015 - 16:30
fuente

2 respuestas

1

WhatsApp deriva el código QR (y la representación numérica) del identificador de usuario y la clave de identidad pública de 32 bytes de ambas partes. Supongo que algunos algoritmos deterministas deciden que el primero de los dos identificadores es el primero (por ejemplo, podrían ordenarse de forma léxica).

Esto permite que ambos clientes muestren la misma imagen y representación numérica, a la vez que brindan la misma seguridad que, por ejemplo, Signal, donde ambas huellas digitales se muestran individualmente.

Telegram utiliza un enfoque ligeramente diferente, ya que calcula una nueva clave de chat secreta para cada nuevo chat secreto (incluso si ya está participando en un chat secreto activo con la misma persona). Por lo tanto, cada conversación secreta con la misma persona debe mostrar un código 2D diferente y, a mi entender, también debe cambiar con frecuencia. Esto se debe al hecho de que la clave de chat secreta se calcula utilizando Diffi-Hellman y se regenera cada 100 mensajes o al menos cada semana, para proporcionar algún tipo de secreto hacia adelante. Ambos participantes del chat secreto deben ver el mismo código 2D (que es una especie de visualización gráfica de la clave del chat secreto), ya que la clave del chat secreto es un secreto compartido entre los dos participantes.

No estoy completamente seguro de la parte de Telegram, porque no uso Telegram yo mismo.

La información se ha tomado del documento de seguridad de WhatsApp (abril de 2016) [1, página 8] y de la documentación de la API de Telegram [2].

[1] enlace

[2] enlace

    
respondido por el 0x530302 28.05.2016 - 23:19
fuente
1

Antes de los detalles: el código del lado del servidor de Telegram no está disponible como fuente abierta y, por lo tanto, no se puede revisar.

Telegram utiliza Diffe-Hellman para el intercambio de claves y el cifrado AES-IGE .

El principio básico de comprensión en el intercambio de claves DH es que

  

Ninguna entidad puede interceptar efectivamente la generación de claves mientras se asegura simultáneamente que las partes generen la misma clave.

Lo que significaría, si Eve intenta un ataque MITM mientras Alice y Bob intentan el intercambio de claves Eve no se puede lograr simultáneamente que Alice y Bobo acuerden una misma clave entre ellos.

La situación sería:

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

En lugar de

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

Entonces, si Alice y Bob comparan sus claves, descubrirán que las claves que tienen son diferentes.

El bloque de píxeles gráfico que muestra el Telegram no es más que una representación gráfica del hash de la clave. Si coinciden las claves son las mismas. De lo contrario, no lo son, en cuyo caso entendemos que se llevó a cabo un MITM.

    
respondido por el BMC 29.05.2016 - 00:05
fuente

Lea otras preguntas en las etiquetas