Genera una clave precompartida segura

Una clave precompartida (también llamada un secreto compartido o PSK) se usa para autenticar el túnel de Cloud VPN a tu puerta de enlace de VPN de intercambio de tráfico. Como práctica recomendada de seguridad, te recomendamos que generes un secreto compartido seguro de 32 caracteres.

Generado para ti

La string aleatoria a continuación la generó tu navegador con el fragmento de JavaScript al final de esta página. Está a 24 bytes de Crypto.getRandomValues, codificado en base64 para crear una PSK de 32 caracteres.

Con este fragmento, la clave privada permanece segura en tu navegador. Si deseas generarla en tu propio sistema, usa uno de los siguientes métodos de generación.

Con el botón Regenerar, generarás una PSK nueva aleatoria cuando hagas clic.

Métodos de generación

Usa los siguientes métodos para generar un secreto compartido seguro de 32 caracteres.

Usa OpenSSL para generar un secreto compartido

Ejecuta el siguiente comando OpenSSL en un sistema Linux o macOS para generar un secreto compartido:

    openssl rand -base64 24
    

Usa /dev/urandom para generar un secreto compartido

En Linux o macOS, también puedes usar /dev/urandom como fuente seudoaleatoria para generar un secreto compartido:

  • En Linux o macOS, puedes enviar la entrada aleatoria a base64:
        head -c 24 /dev/urandom | base64
        
  • Puedes pasar la entrada aleatoria a través de una función de hashing, como sha256:
    • En Linux:
          head -c 4096 /dev/urandom | sha256sum | cut -b1-32
          
    • En macOS:
          head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
          

Usa JavaScript para generar una clave precompartida

También puedes generar la clave precompartida directamente en una página de documentos con JavaScript con la API de criptografía web W3C. Esta API usa el método Crypto.getRandomValues(), que proporciona una forma criptográfica segura de generar una clave precompartida.

Con el siguiente código, se creará un arreglo de 24 bytes aleatorios y, luego, se codificará en base64 esos bytes para producir una string aleatoria de 32 caracteres.


      var a = new Uint8Array(24);
      window.crypto.getRandomValues(a);

      console.log(btoa(String.fromCharCode.apply(null, a)));

    

Próximos pasos