Problemas de seguridad relacionados con las claves públicas y SSH

6

¿Debo tener en cuenta algo específico al usar claves públicas y SSH? Bueno, por supuesto, tengo que mantener en secreto mi clave privada (y, por lo tanto, debería elegir una contraseña segura). Pero ¿hay algo más? Cuando se ejecuta ssh-keygen , ¿es una buena idea usar las opciones predeterminadas? Los 2048bits son una buena opción? Leí en algún lugar que 4096 sería recomendable hoy en día. ¿Puedo usar un generador aleatorio mejor (por ejemplo, la entrada del usuario)? ¿Tengo que renovar mi par de llaves regularmente solo en caso de que alguien más lo haya robado sin mi conocimiento? ¿En qué casos se debe utilizar un intervalo de validez?

Estas son muchas preguntas, pero no creo que sea útil dividirlas en varias preguntas. Me interesa la pregunta qué buscar cuando se trata de SSH / claves públicas (también si hay aspectos que aún no he mencionado).

Preguntas relacionadas:

pregunta lumbric 11.01.2012 - 11:54
fuente

1 respuesta

6

Debes confiar en las opciones predeterminadas de ssh-keygen y no tratar de jugar con fuentes aleatorias, etc. Estos son asuntos delicados. Puede confiar en los desarrolladores de OpenSSH por haber hecho las cosas correctamente, usted puede confiar porque ya confía en ellos por haber realizado una implementación correcta y sin fugas de OpenSSH Protocolo, algo que está lejos de ser fácil.

Para RSA, DSA, ElGamal, Diffie-Hellman y algoritmos similares, las claves de 2048 bits son suficientes. No es fácil estimar la fuerza de tales algoritmos de manera significativa, porque los mejores algoritmos de ataque conocidos se basan en una gran cantidad de potencia de CPU en bruto, pero también en memoria, almacenamiento, ancho de banda de datos y aplicabilidad de computación en paralelo de álgebra lineal sobre enormes matrices de repuesto. Por lo tanto, tales estimaciones deben adivinar cómo las arquitecturas de computación futuras y los circuitos especializados previstos se enfrentarán a una serie de escalas ortogonales más o menos, y todo se trata más de adivinación que de predicción científica. Sin embargo, algunos han intentado establecer pautas, consulte este sitio para obtener un compendio de los conjuntos de reglas existentes que se han publicado. Por ejemplo, NIST indica que las claves RSA o DSA de 2048 bits están bien hasta al menos el año 2030; tenga en cuenta que el mismo NIST dice que las claves RSA de 1024 bits no deben usarse más allá de 2010, y sin embargo ahora estamos en 2012 y nadie sabe cómo descifrar realmente una clave RSA de 1024 bits (el registro actual es para un RSA de 768 bits) clave).

Tienes razón en proteger tu almacenamiento de clave privada. Sin embargo, esto no requiere necesariamente una frase de contraseña: en algunos contextos, la clave privada puede residir en un sistema de escritorio que esté físicamente protegido y que se considere lo suficientemente seguro. Sin embargo, las frases de contraseña fuertes son un buen reflejo, y solo puedo alentarlas.

En cuanto a la renovación de claves, preferiría desaconsejarla. La renovación de la clave es una operación relativamente compleja porque tiene que transportar las claves públicas a todos los lugares relevantes (el .ssh/authorized_keys en los servidores a los que desea conectarse); Si olvida uno, deberá realizar un procedimiento de recuperación más adelante, y los procedimientos de recuperación son, por definición, violaciones de seguridad. Incumplimientos controlados, pero sin embargo incumplimientos. Por lo tanto, debe renovar su clave solo en la medida en que lo ayude a dormir por la noche, pero es probable que la renovación de la clave se haya exagerado. Recuerde que si un atacante puede obtener su clave privada una vez , entonces puede plantar su propia clave pública en todos los servidores: cambiar su clave no lo detendrá. Por lo tanto, la renovación de claves tiene relativamente poco impacto en la seguridad de todos modos.

    
respondido por el Thomas Pornin 11.01.2012 - 15:03
fuente

Lea otras preguntas en las etiquetas