4 formas de generar una clave precompartida sólida (PSK) en Linux


Una clave precompartida (PSK) o también conocida como secreto compartido es una cadena de caracteres que se utiliza como clave de autenticación en procesos criptográficos. Una PSK se comparte antes de ser utilizada y ambas partes de la comunicación la mantienen para autenticarse entre sí, generalmente antes de que se apliquen otros métodos de autenticación, como nombres de usuario y contraseñas.

Se usa comúnmente en diferentes tipos de conexiones de Red Privada Virtual (VPN), redes inalámbricas en un tipo de cifrado conocido como WPA-PSK (Clave Precompartida de Acceso Protegido Wi-Fi) y WPA2-PSK, y también en el EAP ( Clave precompartida del protocolo de autenticación extensible) y muchos otros mecanismos de autenticación.

En este artículo, le mostraremos diferentes formas de generar una clave precompartida sólida en distribuciones de Linux.

1. Usando el comando OpenSSL

OpenSSL es una herramienta de línea de comandos bien conocida y ampliamente utilizada que se utiliza para invocar las diversas funciones de criptografía de la biblioteca de criptografía de OpenSSL desde el shell. Para generar un PSK fuerte, use su subcomando rand que genera bytes pseudoaleatorios y lo filtra a través de codificaciones base64 como se muestra.

$ openssl rand -base64 32
$ openssl rand -base64 64

2. Usando el comando GPG

GPG es una herramienta de línea de comandos para proporcionar servicios de firma y cifrado digital utilizando el estándar OpenPGP. Puede usar su opción --gen-random para generar un PSK fuerte y filtrarlo a través de la codificación base64 como se muestra.

En los siguientes comandos, 1 o 2 es el nivel de calidad y 10, 20, 40 y 70 son los recuentos de caracteres.

$ gpg --gen-random 1 10 | base64
$ gpg --gen-random 2 20 | base64
$ gpg --gen-random 1 40 | base64
$ gpg --gen-random 2 70 | base64

3. Uso de generadores de números pseudoaleatorios

También puede usar cualquiera de los generadores de números pseudoaleatorios en Linux, como/dev/random o/dev/urandom, de la siguiente manera. La opción -c del comando head ayuda a generar el número de caracteres.

$ head -c 35 /dev/random | base64
$ head -c 60 /dev/random | base64

4. Uso de los comandos date y sha256sum

El comando date y sha256sum se pueden combinar para crear un PSK fuerte de la siguiente manera.

$ date | sha256sum | base64 | head -c 45; echo
$ date | sha256sum | base64 | head -c 50; echo
$ date | sha256sum | base64 | head -c 60; echo

Las anteriores son algunas de las muchas formas de generar una clave precompartida sólida en Linux. ¿Conoce otros métodos? Si es así, compártelo con nosotros a través del formulario de comentarios a continuación.