Generazione di una chiave precondivisa efficace

Puoi utilizzare una chiave precondivisa (detta anche secret condiviso o PSK) per autenticare il tunnel Cloud VPN sul gateway VPN peer. Come best practice per la sicurezza, ti consigliamo di generare una chiave precondivisa efficace di 32 caratteri.

Per ulteriori informazioni su Cloud VPN, consulta la panoramica di Cloud VPN.

Per le definizioni dei termini utilizzati in questa pagina, consulta la sezione Termini chiave.

Generato per te

Il browser genera la seguente stringa casuale utilizzando lo snippet JavaScript alla fine di questa pagina. Corrisponde a 24 byte da Crypto.getRandomValues ed è codificato in base64 per creare una chiave precondivisa di 32 caratteri.

Grazie a questo snippet, la chiave privata rimane al sicuro nel browser. Se vuoi generarlo sul tuo sistema, utilizza uno dei metodi di generazione elencati nella prossima sezione.

Per generare una nuova chiave precondivisa casuale, fai clic sul pulsante Rigenera.

Metodi di generazione

Utilizza i seguenti metodi per generare una chiave precondivisa efficace di 32 caratteri.

OpenSSL

In un sistema Linux o macOS, esegui questo comando OpenSSL:

openssl rand -base64 24

/dev/urandom

In un sistema Linux o macOS, puoi anche utilizzare /dev/urandom come fonte pseudocasuale per generare una chiave precondivisa:

  • In Linux o macOS, invia l'input casuale a base64:

    head -c 24 /dev/urandom | base64
    
  • Passa l'input casuale tramite una funzione di hashing, ad esempio sha256:

    • Su Linux:

      head -c 4096 /dev/urandom | sha256sum | cut -b1-32
      
    • In macOS:

      head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
      

JavaScript

Puoi generare la chiave precondivisa direttamente in un documento utilizzando JavaScript con l'API W3C Web Cryptography. Questa API utilizza il metodo Crypto.getRandomValues(), che fornisce un metodo crittografico valido per generare una chiave precondivisa.

Il codice seguente crea un array di 24 byte casuali e codifica questi byte in formato Base64 in modo da produrre una stringa casuale di 32 caratteri:

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

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

Passaggi successivi

  • Per utilizzare scenari di alta disponibilità e velocità effettiva elevata o scenari con più subnet, consulta Configurazioni avanzate.
  • Per aiutarti a risolvere i problemi comuni che potresti riscontrare durante l'utilizzo di Cloud VPN, consulta Risoluzione dei problemi.