Mi Blog
👉 Cómo generar Pre-Shared Keys en GNU/Linux

Cómo generar Pre-Shared Keys en GNU/Linux

 
(4 votos)

Generar Pre-Shared Keys fuertes desde GNU/Linux es sumamente sencillo utilizando algunas de las herramientas externas y/o herramientas disponibles en todos los sistemas GNU/Linux.

Seguid leyendo y os enseñaré a crear PSKs desde el Shell de GNU/Linux...

 

 

¿QUÉ ES PSK?

En criptografía, una clave previamente compartida, clave precompartida o PSK (en inglés pre-shared key) es una clave secreta compartida con anterioridad entre las dos partes usando algún canal seguro antes de que se utilice. Para crear una clave de secreto compartido, se debe utilizar la función de derivación de claves. Estos sistemas utilizan casi siempre algoritmos criptográficos de clave simétrica. El término PSK se utiliza en cifrado Wi-Fi como WEP o WPA, donde tanto el punto de acceso inalámbrico (AP) como todos los clientes comparten la misma clave.

 

 

Generar una Pre-Shared Key es sumamente sencillo con GNU/Linux

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con GNU/Linux
  • Internet recomendado (por si es necesario instalar algún paquete)

 

 

2.- USANDO GPG

GPG es una herramienta de consola que sirve para cifrar y formar contenidos digitales utilizando OpenGPG Para generar una PSK fuerte, deberemos usar la opción --gen-random y convertiremos dicho valor con base64. Añadiremos un valor llamado "quality" que varia entre 0,1 y 2 seguido del número de caracteres que queremos la PSK.

La sintaxis del comando es el siguiente:

$ gpg --gen-random [nivel] [caracteres] | base64

 

 

A continuación se muestran varios ejemplos para generar fuertes PSK utilizando GPG:

raul@debian:~$ gpg --gen-random 1 10 | base64
raul@debian:~$ gpg --gen-random 2 16 | base64
raul@debian:~$ gpg --gen-random 1 32 | base64
raul@debian:~$ gpg --gen-random 2 64 | base64

 

 

Generar PSKGenerar PSK con GPG

 

 

3.- USANDO OPENSSL

OpenSSL es un programa de línea de comandos ampliamente conocido y que incorpora funciones criptográficas desde el Shell. Para generar una PSK fuerte utilizando OpenSSL, deberemos utilizar el siguiente comando y con la siguiente sintaxis:

La sintaxis del comando es el siguiente:

$ openssl rand -base64 [caracteres]

 

 

A continuación se muestran varios ejemplos para generar fuertes PSK utilizando OpenSSL:

raul@debian:~$ openssl rand -base64 8
raul@debian:~$ openssl rand -base64 16
raul@debian:~$ openssl rand -base64 24
raul@debian:~$ openssl rand -base64 32

 

 

Generar PSKGenerar PSK con OpenSSL

 

 

4.- USANDO /DEV/RANDOM

Podemos utilizar le generador aleatorio /dev/random o /dev/urandom que están disponibles en todos los sistemas GNU/Linux para generar una PSK fuerte. Junto a head y base64 podemos generar los PSK de forma rápida y sencilla.

La sintaxis del comando es el siguiente:

$ head -c [caracteres] /dev/random | base64

 

 

A continuación se muestran varios ejemplos para generar fuertes PSK utilizando /dev/random:

raul@debian:~$ head -c 8 /dev/random | base64
raul@debian:~$ head -c 16 /dev/random | base64
raul@debian:~$ head -c 24 /dev/random | base64
raul@debian:~$ head -c 32 /dev/random | base64

 

 

Generar PSKGenerar PSK con /dev/random

 

 

La sintaxis del comando con /dev/urandom es la siguiente:

$ < /dev/urandom tr -dc [caracteres_permitidos] | head -c [caracteres]; echo

 

 

Por ejemplo, para generar una PSK solamente con las letras del abecedario en minúsculas y de 16 caracteres usaremos:

raul@debian:~$ < /dev/urandom tr -dc a-z | head -c 16 ; echo

 

 

Por ejemplo, para generar una PSK alfanuméricos y de 64 caracteres usaremos:

64 alphanumeric characters and all non-space printable ascii symbols (\ escapes the ! for the shell)

raul@debian:~$ < /dev/urandom tr -dc \!-~ | head -c 64 ; echo

 

 

Por ejemplo, para generar una PSK con caracteres compatibles con las URLs y de 64 caracteres usaremos:

64 URL-safe characters (\ escapes the ()'!*; for the shell)

raul@debian:~$ < /dev/urandom tr -dc a-zA-Z0-9-._~\(\)\'\!\*:@,\; | head -c 32 ; echo

 

 

Generar PSKGenerar PSK con /dev/urandom

 

 

5.- USANDO SHA256SUM

Si hacemos uso del comando date (el cual cambia en cada ejecución) y pasamos el resultado a sha256sum, podremos generar de forma rápida y sencilla una fuerte PSK.

La sintaxis del comando es el siguiente:

$ date | sha256sum | base64 | head -c [caracteres] ; echo

 

 

A continuación se muestran varios ejemplos para generar fuertes PSK utilizando sha256sum:

raul@debian:~$ date | sha256sum | base64 | head -c 8 ; echo
raul@debian:~$ date | sha256sum | base64 | head -c 16 ; echo
raul@debian:~$ date | sha256sum | base64 | head -c 24 ; echo
raul@debian:~$ date | sha256sum | base64 | head -c 32 ; echo

  

 

Generar PSKGenerar PSK con sha256sum

 

 

ENJOY!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.