Membuat pre-shared key yang kuat

Anda dapat menggunakan pre-shared key (disebut juga rahasia bersama atau PSK) untuk mengautentikasi tunnel Cloud VPN ke peer Anda Gateway VPN. Sebagai praktik terbaik keamanan, sebaiknya Anda membuat pre-shared key 32 karakter.

Untuk mengetahui informasi selengkapnya tentang Cloud VPN, lihat ringkasan Cloud VPN.

Untuk definisi istilah yang digunakan di halaman ini, lihat Istilah utama.

Dibuat untuk Anda

Browser Anda membuat string acak berikut menggunakan cuplikan JavaScript di akhir halaman ini. Jaraknya 24 byte dari Crypto.getRandomValues, dan dienkode dengan base64 untuk membuat pre-shared key 32 karakter.

Dengan menggunakan cuplikan ini, kunci pribadi tetap aman di browser Anda. Jika Anda ingin membuatnya di sistem Anda sendiri, gunakan salah satu metode pembuatan yang tercantum di bagian berikutnya.

Untuk membuat pre-shared key secara acak, klik tombol Buat ulang.

Metode pembuatan

Gunakan metode berikut untuk membuat pre-shared key 32 karakter.

OpenSSL

Pada sistem Linux atau macOS, jalankan perintah OpenSSL berikut:

openssl rand -base64 24

/dev/urandom

Pada sistem Linux atau macOS, Anda juga dapat menggunakan /dev/urandom sebagai sumber pseudorandom untuk membuat pre-shared key:

  • Di Linux atau macOS, kirim input acak ke base64:

    head -c 24 /dev/urandom | base64
    
  • Teruskan input acak melalui fungsi hash, seperti sha256:

    • Di Linux:

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

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

JavaScript

Anda dapat membuat pre-shared key secara langsung dalam dokumen menggunakan JavaScript dengan API Kriptografi Web W3C. API ini menggunakan metode Crypto.getRandomValues(), yang memberikan cara kriptografi yang aman untuk membuat pre-shared key.

Kode berikut membuat array berisi 24 byte acak, kemudian base64 mengenkode byte tersebut untuk menghasilkan string 32 karakter acak:

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

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

Langkah selanjutnya

  • Untuk menggunakan skenario ketersediaan tinggi dan throughput tinggi atau beberapa skenario subnet, lihat Konfigurasi lanjutan.
  • Untuk membantu memecahkan masalah umum yang mungkin Anda alami saat menggunakan Cloud VPN, lihat Pemecahan masalah.