Générer une clé prépartagée sécurisée

Une clé prépartagée (également appelée clé secrète partagée, ou PSK) sert à authentifier le tunnel Cloud VPN auprès de votre passerelle VPN de pairs. Pour respecter nos bonnes pratiques de sécurité, nous vous recommandons de générer une clé secrète partagée sécurisée de 32 caractères.

Une clé générée adaptée à vos besoins

La chaîne aléatoire suivante a été générée par votre navigateur en utilisant l'extrait de code JavaScript mentionné au bas de cette page. Elle est composée de 24 octets générés à partir de Crypto.getRandomValues et est encodée en base64 pour créer une clé secrète partagée de 32 caractères.

Avec cet extrait, la clé privée est conservée en toute sécurité dans votre navigateur. Si vous souhaitez en générer une sur votre propre système, utilisez l'une des méthodes de génération suivantes.

En cliquant sur le bouton "Regénérer la clé", vous pouvez générer une nouvelle clé secrète partagée aléatoire.

Méthodes de génération

Utilisez les méthodes suivantes pour générer une clé secrète partagée sécurisée de 32 caractères.

Générer une clé secrète partagée avec OpenSSL

Exécutez la commande OpenSSL suivante sur un système Linux ou macOS pour générer une clé secrète partagée :

openssl rand -base64 24

Utiliser /dev/urandom pour générer une clé secrète partagée

Sous Linux ou macOS, utilisez /dev/urandom en tant que source pseudo-aléatoire pour générer une clé secrète partagée :

  • Sous Linux ou macOS, vous pouvez envoyer l'entrée aléatoire à l'élément base64 :
    head -c 24 /dev/urandom | base64
    
  • Vous pouvez fournir l'entrée aléatoire en utilisant une fonction de hachage, telle que SHA256 :
    • Sous Linux :
      head -c 4096 /dev/urandom | sha256sum | cut -b1-32
      
    • Sous macOS :
      head -c 4096 /dev/urandom | openssl sha256 | cut -b1-32
      

Générer une clé prépartagée avec JavaScript

Vous pouvez également générer la clé prépartagée directement dans une page de document à l'aide de JavaScript avec l'API W3C Web Cryptography. Cette API utilise la méthode Crypto.getRandomValues(), qui permet de générer une clé prépartagée de manière cryptographique.

Le code ci-dessous permet de créer un tableau de 24 octets aléatoires, et d'encoder ces octets en base64 pour générer une chaîne aléatoire de 32 caractères.


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

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

Étape suivante