Necesito implementar un emparejamiento seguro entre dos dispositivos basado en un código PIN compartido corto sin un tercero de confianza. Si piensa en la forma en que se emparejan los dispositivos Bluetooth, no estará muy lejos: mi dispositivo muestra un código, le digo, "el código es 40YA", lo escribe en su dispositivo y tenemos una conexión segura .
El protocolo debe proteger contra los ataques MITM y de escuchas ilegales, y el PIN debe permanecer válido y seguro durante al menos unas horas. En otras palabras, si un ataque fuera de línea en el PIN es posible, debería requerir al menos unas pocas horas para completar.
¿Existe tal protocolo? Puntos de bonificación si un no criptógrafo razonablemente brillante puede entenderlo. :)
Actualización: ¿Es el intercambio de claves Diffie-Hellman lo que estoy buscando?