¿Protocolos de intercambio de claves solo simétricas libres de patente?

6

Estoy trabajando con un dispositivo integrado en red con AES-128 y sin criptografía de clave pública (1KB RAM, 8KB flash). En la instalación, el dispositivo está precargado con una clave AES-128 a largo plazo también conocida por el servidor.

¿Qué protocolos libres de patentes existen para distribuir de forma segura una clave de sesión autenticada utilizando la clave simétrica existente? (sin un tercero de confianza)

Janson-Tsudik 2PKDP parece ideal, pero parece estar patentado .

    
pregunta Joby Taffey 13.04.2011 - 01:37
fuente

3 respuestas

5

Los protocolos de intercambio de claves se dividen en dos categorías principales. y establecimiento de clave sin servidor (creo que voy a comprar ese libro). Dentro de estas dos categorías encontrará protocolos que utilizan cifrados simétricos o asimétricos o ambos. Hay una gran cantidad de protocolos de intercambio de claves documentados en el Repositorio abierto del protocolo de seguridad (SPORE) , que es un recurso muy fresco

Una buena opción para el establecimiento de claves basadas en servidor es el Protocolo simétrico de Needham-Schroeder que puede ser Realizado en su totalidad con AES y se utiliza en Kerberos.

Para el establecimiento de clave sin servidor, debe consultar BAN concreto modificado Lowe Andrew Secure RPC . Es antiguo, sin embargo no creo que este protocolo haya sido comprometido.

Usted debería usar SSL / TLS siempre que sea posible, pero requerirá más de 1kb de memoria.

    
respondido por el rook 13.04.2011 - 04:19
fuente
1

Intercambio de claves de Diffie Hellman. La patente ha caducado y es de uso gratuito.

    
respondido por el Babu Srinivasan 13.04.2011 - 05:54
fuente
1

Un protocolo simple: el servidor elige N (128 bits), un nonce, que solo se usa una vez. Luego envía E_K (N), E_K (N + 1) al cliente (utilizando la clave de dispositivo K que el servidor conoce). El dispositivo cliente los descifra, comprueba que difieren en 1 (mod 2 ^ 128) y calcula H (N) (un hash con salida de 128 bits, digamos MD5) y envía E_K (H (N)) y E_K (H (N) +1). El servidor los descifra, verifica la diferencia, y luego el cliente y sirve el uso H (H (N)) como su clave común para esa sesión. Supongo que desea un protocolo de 2 vías, pero esto también puede adaptarse a más partes.

    
respondido por el Henno Brandsma 13.04.2011 - 10:59
fuente

Lea otras preguntas en las etiquetas