Generación criptográfica segura de contraseñas

2

Vi esta publicación aquí que menciona Un método para generar contraseñas seguras criptográficamente. Recientemente, me dieron una tarea similar y adopté un enfoque diferente.

Una de las respuestas en las preguntas utiliza lo siguiente

tr -dc '[:alnum:]' < /dev/urandom | head -c20

Mi método se parecía más a lo siguiente:

dd if=/dev/urandom bs="$password_length" count=1 | base64

No tenía un requisito para que fuera solo alfanumérico, y ningún requisito para que contenga símbolos o algo así. Los únicos requisitos fueron que tiene un mínimo de 8 caracteres (opté por 80 en la práctica porque, si solo necesita ser leído / usado por una máquina, ¿por qué no?), Y difícil de adivinar.

¿Hay alguna diferencia (criptográficamente significativa) entre los dos métodos (aparte de la longitud)?

    
pregunta Zymus 18.04.2018 - 05:41
fuente

1 respuesta

2

Aparte de la longitud, no hay ninguna diferencia en absoluto. El primero genera una contraseña de 20 caracteres con un espacio de teclas de 62 20 , mientras que el último genera una contraseña con un espacio de teclas de 2 8 × bytes . Suponiendo que bytes sea al menos 16, obtendrá 128 bits de entropía, lo que se considera un mínimo seguro. Ambos comandos obtienen su entropía directamente de /dev/urandom . Sin embargo, no necesita usar dd para este propósito, que es bastante ineficiente. Puede usar de forma segura y ligeramente más eficiente:

head -c"$bytes" /dev/urandom | base64
    
respondido por el forest 18.04.2018 - 06:16
fuente

Lea otras preguntas en las etiquetas