7 votos

SSH autenticación de clave pública, siempre requieren que los usuarios generan su propio par de claves?

Yo estaba trabajando con un socio el día de hoy que yo necesitaba para subir archivos a mi servidor usando scp. He contraseñas desactivado en el servidor de configuración de SSH, así que quería utilizar la autenticación de clave pública. He generado el par de claves en el servidor y les dio la clave privada y poner la clave pública en el correspondiente archivo authorized_keys.

Después de un montón de problemas con ellos la configuración de seguridad de su trabajo, que finalmente llegamos a un más experimentado sysadmin involucrados en su final, y me reprendió para el manejo de la clave en la generación de esta manera. Dijo que por dándoles una clave privada generada en mi sistema, me había permitido hacer un ataque de fuerza bruta contra otras claves generadas en el mismo servidor.

Incluso le pregunté "entonces, si tengo una cuenta en un servidor, y de que puede iniciar sesión con una contraseña, pero quiero automatizar algo y me genera un par de claves en el sistema, hace que luego me dan un vector de ataque por fuerza bruta otros usuarios llaves?" y él dijo que sí.

Nunca he oído hablar de esto, ¿es cierto? Puede alguien me apunte a una discusión de este ataque?

Gracias de antemano.

7voto

Scrivener Puntos 2230

Bueno... no, eso no es correcto en la gran mayoría de los casos gracias a la correcta aleatoriedad de la generación en un sistema. Sin embargo, es teóricamente posible que un servidor para generar aleatoriedad que tiene un sesgo si no se tiene cuidado por parte de los desarrolladores (en el caso de Linux, los desarrolladores del kernel) para asegurarse de que la aleatoriedad de la fuente es "buena". Si existe un sesgo en la aleatoriedad, un ataque podría ser ejecutado en más rápido que la fuerza bruta tiempo en el servidor de claves. Sin embargo, es mucho más que un problema teórico que real en la práctica, la debilidad en el RNG (Random Number Generator) es una manera mucho menos probable ataque de un ataque por canal lateral en el software criptográfico o la obtención de acceso al servidor de una manera diferente.

Así, la larga historia corta, no, él es incorrecta. Otro de los fundamentales de cifrado bases (Son claves DSA genera por defecto? RSA?), una clave ssh no contiene ninguna información acerca de cualquier otra clave ssh generados en el mismo sistema.

6voto

David Spillett Puntos 18934

El punto principal de una clave privada es que es privado para el usuario, y que sólo conoce el usuario. Como usuario no me gustaría que otras personas generar mi clave privada, porque eso significa que alguien más tiene acceso a la clave privada y, por tanto, tiene la oportunidad de actuar es que si ellos están conmigo en los sistemas que tienen los públicos de la mitad de ese conjunto de claves como credenciales válidas.

Desde su punto de Vista tiene más responsabilidad. No sólo es necesario para mantener el sistema seguro tal que el uso inapropiado de las claves públicas no pueden ser instalados en los lugares, pero usted tiene la responsabilidad de mantener las claves privadas se generan seguro a través de todo su ciclo de vida. Si hay un indeseables de las medidas realizadas con un determinado par de claves como la autenticación y el usuario sabe que alguien tiene (o tenía) una copia de la llave o la clave fue transportado en una inferior a la perfección de forma segura y, a continuación, se puede dar la vuelta (con razón o sin ella) y decir que cumplieron con su copia perfectamente a salvo, por lo que debe ser su copia que estaba comprometida, ya sea en su extremo o en tránsito. Esto puede sonar como acaba de culo cubierta, y esto es porque es: tanto desde su punto de Vista y el de los usuarios como usted está haciendo seguro de quién es responsable de lo que está bien marcada.

Así que si o no a las preocupaciones planteadas por el experto son válidos o no (por mi comprensión de este tipo de ataques son teóricamente posibles, pero, para mi conocimiento, lejos de prácticamente aplicable en la próxima generación o pocos, a menos que una nueva grave agujero en el de las matemáticas o a la aplicación general (que es algo raro)), tanto cuando llevaba mi sombrero y cuando llevaba mi admin sombrero prefiero a los usuarios tener el control total de sus claves privadas y administradores (junto con todos los demás en el planeta, por supuesto) a no ser permitido en cualquier lugar cerca de ellos.

Incluso si usted no está de acuerdo con lo anterior, la clave del problema de transporte está lejos de ser trivial: ¿cómo se puede estar 100% seguro de que la clave privada ha sido visto por el usuario de destino y sólo la intención de usuario y no se ha almacenado (intencional o accidentalmente) en menos de forma segura (a la izquierda en un correo electrónico de la bandeja de entrada o archivo temporal que el resultado de ser separado de dicho correo y sin cifrar). Si utiliza un transporte seguro del método que requiere que el usuario se autentica, ¿cómo se puede conseguir los detalles de autenticación para que el sistema para el usuario de forma segura? Por supuesto, hay maneras de hacer que la clave de transporte de la materia "suficientemente seguro" (donde "lo suficiente" depende mucho de lo que las teclas de dar a la gente acceso a) para la mayoría de usos, pero si el usuario genera sus claves y distribuye al público de las piezas, a continuación, usted no tiene un problema de distribución de claves que preocuparse en ese sentido (que sólo tienes que preocuparte de los usuarios manteniendo las partes privadas de seguro, pero no hay nada que pueda detener a un muy descuidado usuario de ser peligroso, así que es un tema que no importa lo que hagas).

Una nota final: una cosa que podría ser un problema si las claves privadas se generan todas en el mismo lugar, es si ese lugar se encontraron después de haber tenido una mala generación de la clave de instalación, como el problema que se encuentra en el directorio Debian/Lenny del paquete OpenSSL año pasado. En tal caso, tendría que tener un puesto de trabajo de la revocación y de la regeneración de una gran cantidad de claves privadas. Esto podría ser parte de su experto externo de la preocupación sobre el asunto.

3voto

Razvan Dimescu Puntos 171

Estoy bastante seguro de que este es de BS. Privada deben ser generados aleatoriamente. Así que no hay sesgo en esta aleatoriedad no puede haber una conexión entre las diferentes claves privadas.

3voto

JakeRobinson Puntos 2545

La semilla aleatoria normalmente viene de /dev/random. A menos que, de alguna manera, cambió ssh-keygen para utilizar otro semilla aleatoria (usted sabe si lo hizo), es muy poco probable que alguien sería capaz de golpear contra de que la clave para averiguar cómo generar una nueva clave para romper el sistema.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X