SSH usando claves de sesión (simétricas) preexistentes

1

¿Existe actualmente una forma de abrir una conexión SSH usando claves de sesión simétricas preexistentes?

En otras palabras, si creo una lista de claves simétricas, puedo enviar esa lista al destinatario en un CD o USB (o de otro modo) y luego podemos conectarnos sin el uso de un algoritmo de intercambio de claves que genere y transmita la clave de sesión a través del cable.

Una vez más, la sección de intercambio de claves de RFC4253 indica que algún tipo de intercambio de claves es obligatorio, por lo general, pero no necesariamente, uno de Diffie-Hellman (RFC4419), RSA (RFC 4432) o GSSAPI (RFC4462). Me preguntaba si alguien alguna vez había implementado claves de sesión externas y preexistentes.

El algoritmo para tal intercambio de clave es degenerado, y cae en una de al menos dos categorías posibles: uso único o temporal.

Para un solo uso, el intercambio de claves sería el cliente diciendo: use key N , donde N es la siguiente clave que el cliente cree que no se usa. Si la quinta clave ya había sido utilizada por el servidor, el intercambio falla. El cliente puede probar el N+1 . Si la conexión se realiza correctamente, el servidor incrementa el índice de la siguiente clave válida.

Una alternativa cercana es usar claves basadas en fecha / hora, donde la clave elegida se basa en la fecha y la hora. De esta manera, las claves tendrían una vida útil temporal predecible. Uno podría, por ejemplo, compartir claves para los próximos 5 años con una granularidad de 15 minutos, para claves AES de 256 bits (32 bytes) esto es solo ~ 3.5MB (3,506,400 bytes).

En cualquier caso, creo que hay gente que lo ha hecho, pero mis búsquedas no han dado suerte. La clara desventaja es que las claves deberán intercambiarse de vez en cuando de otra manera, pero las claves simétricas no tendrán que transferirse nunca a través de la misma conexión (o incluso medio) que la comunicación cifrada.

Parece que no hay una opción integrada para esto. Con OpenSSH_6.6p1, OpenSSL 1.0.1g 7 Apr 2014 en OS X / Mavericks, los algoritmos de kex son:

$ ssh -Q kex
diffie-hellman-group1-sha1
diffie-hellman-group14-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
diffie-hellman-group1-sha1
[email protected]

¿Es SSH inherentemente capaz, o alguien lo ha extendido, para implementar un intercambio de claves (o ningún intercambio de claves) del tipo descrito anteriormente?

    
pregunta Brian M. Hunt 07.05.2014 - 21:03
fuente

0 respuestas

Lea otras preguntas en las etiquetas