Generar una clave precompartida segura

Puedes usar una clave precompartida (también llamada secreto compartido o PSK) para autenticar el túnel de Cloud VPN a la puerta de enlace de VPN de intercambio de tráfico. Como práctica recomendada de seguridad, te recomendamos que generes una clave precompartida segura de 32 caracteres.

Para obtener más información sobre Cloud VPN, consulta la Descripción general de Cloud VPN.

Para ver las definiciones de los términos que se usan en esta página, consulta Términos clave.

Generado para ti

Tu navegador genera la siguiente string aleatoria mediante el fragmento de JavaScript al final de esta página. Está a 24 bytes de Crypto.getRandomValues y está codificado en base64 para crear una clave precompartida de 32 caracteres.

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

Para generar una nueva clave compartida previamente al azar, haz clic en el botón Volver a generar.

Métodos de generación

Usa los siguientes métodos para generar una clave precompartida segura de 32 caracteres.

OpenSSL

En un sistema Linux o macOS, ejecuta el siguiente comando OpenSSL:

openssl rand -base64 24

/dev/urandom

En un sistema Linux o macOS, también puedes usar /dev/urandom como fuente seudoaleatoria para generar una clave precompartida:

  • En Linux o macOS, envía la entrada aleatoria a base64:

    head -c 24 /dev/urandom | base64
    
  • Pasa la entrada aleatoria a través de una función de hash, 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
      

JavaScript

También puedes generar la clave precompartida directamente en un documento 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 crea un array de 24 bytes aleatorios y, luego, se codifican en base64 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)));

¿Qué sigue?

  • Para usar situaciones de alta disponibilidad y alta capacidad de procesamiento o situaciones de varias subredes, consulta Configuración avanzada.
  • Para ayudarte a resolver problemas comunes que podrías encontrar cuando uses Cloud Interconnect, consulta Solución de problemas.