En nuestra publicación reciente y detallada sobre SFTP y llaves asimétricas discutimos la creación y utilización de llaves criptográficas para comuniación cifrada de punto a punto usando diversas herramientas, tales como PuTTY, PuTTYGen, WINSCP, FileZilla, OpenSSH.

En este pequeño artículo les hablamos un poco de cómo lucen las llaves criptográficas.

Existe una variedad de algoritmos de cifrado o encriptación que nos permiten – valga la redundancia – cifrar o encriptar datos.

El proceso de cifrado es un mecanismo que toma números relacionados matemáticamente entre sí para hacer un mensaje ilegible (cifrado) usando uno de esos números (o llave) y que solo se puede revertir (descifrar) usando su llave par.

Proceso de cifrado / descifrado

Una de las formas más sencillas de crear un par de llaves criptográficas es usando el comando ssh-keygen disponible tanto en Windows 11 en la línea de comandos como en la terminal de Linux y MacOS.

Acá se describen los principales parámetros que el comando ssh-keygen permite.

Haz clic para ver un resumen de los parámetros en español
ssh-keygen opciones de comandodescription
-b bitsEspecifica el número de bits que se usarán la llave. La longitud predeterminada es 3072 bits (RSA) o 256 bits (ECDSA)
-C commentProvee un comentario personalizado que será adjuntado al final de la llave pública.
-pIndica la solicitud de cambiar la frase clave de un archivo de llave privada, en lugar de crear una llave privada.
-tEspecifica el tipo de llave a crear. Ej. rsa
-oUsa el nuevo formato compatible para OpenSSH.
-qS eusa por el archivo /etc/rc durante la creación de una nueva llave.
-NProvee una nueva frase clave.
-BRetorna la huella de la llave en formato Bubble Babble.
-lRetorna la huella de la llave en formato SHA-2 (o MD5).
Parámetros del comando ssh-keygen

Si se ejecuta el comando ssh-keygen sin parámeteros este hará algunas preguntas de tipo REPL

C:\Users\josea>ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\josea/.ssh/id_rsa): my_new_key
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in my_new_key.
Your public key has been saved in my_new_key.pub.
The key fingerprint is:
SHA256:ag3AF7TO1z/LANTm4sYE0HIyiqkHrpRuYoAcAMPCzdc josea@JN-PRO-2021
The key's randomart image is:
+---[RSA 3072]----+
|* o .o+          |
|o+ ++ooE .       |
|oo .+=+ . o      |
|+..  = o +       |
|=.o   + S o      |
|+=.    O o .     |
|=.    o = . o    |
|o+   . .   o o   |
|+           o    |
+----[SHA256]-----+

C:\Users\josea>dir my_new_key*
 Volume in drive C is Windows
 Volume Serial Number is 0CB4-0C01

 Directory of C:\Users\josea

13/08/2021  21:15             2 655 my_new_key
13/08/2021  21:15               572 my_new_key.pub
               2 File(s)          3 227 bytes
               0 Dir(s)  109 491 437 568 bytes free

C:\Users\josea>

Al usar el comando sin parámetros, vemos como el sistema solicita el nombre de archivo a usar para las llaves, así como una frase secreta opcional. Al final del proceso se generaron dos archivos: my_new_key y my_new_key.pub que corresponden a los archivos de llave privada y de llave pública respectivamente.


Haz clic para mostrar la llave privada almacenada en el archivo my_new_key

Así luce la llave privada que generamos:

-----BEGIN OPENSSH PRIVATE KEY-----
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
VtnIKcPTSUehet0t/v4gPifNUHc=
-----END OPENSSH PRIVATE KEY-----

Haz click para mostrar la llave pública almacenada en el archivo my_new_key.pub

Y… así luce la llave pública correspondiente:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3Sdo69DfNJV/5wsWdActRKMVhO2G/kDdr6NL2E3oHdA6M1EE2m/xKsZBu0Qgdp50iZubPdk264/fkhY9yWAp0VwpPO0jgoepTFtoNn5GBhBI7I3Bbb484UFupBAZoBWmYtXlWaLoSLt1SbTBErPImSmTkBx4OJmi3GekPwldaF015ZA+/gbzVQCQQRFI6wmv9AU+MOkQ8GZos+B7DVtmKxi6TXYFBGCTKdEpZWyxTTe2caXbmJbZGumOdggQnr4KgVOSfsP8DqxTJ1yaRQsU/OWWtWt8xuA3qDIN7RCXd7u+XXeMhSjMQMpRWD45ZEMboXYlQlROwcKRtG8svwjhmqSCyCr3wMIuV1wtrjWTLPIB7/BMbv2rLmWrUnCwy3neMjmbrKYBu9hxTU0Ps2OzmNaP1NjL2wF8ybmNPJ7EBLXJly8s758wQnz3kXPaLU6vvqSsPnTwjVniSkqVme9adhrIK21wtyPMuWgr5KW3BmjINqQeWPlrBL+0ce0X2r1E= josea@JN-PRO-2021

Es importante destacar que esta llave de ejemplo se publica para fines didácticos y no debe usarse en ninguna comunicación dado que la llave privada ha sido publicada.

También vale la pena aclarar que existen diversos formatos que se pueden usar para expresar un par de llaves criptográficas.

Finalmente, el texto en negrita en la llave pública que mostramos de ejemplo indica los meta-datos que describen dónde fue generada la llave (usuario@nombre_de_computador). Esta parte de contenido en el archivo puede ser omitido ya que la llave llega hasta el signo = que se encuentra antes de los meta-datos.

 5,001 total views,  3 views today

0Shares
Última modificación: agosto 13, 2021

Autor

Comentarios

Escribe una respuesta o comentario

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.