Dokumen ini menjelaskan praktik terbaik untuk mengonfigurasi workstation dan instance virtual machine (VM) Compute Engine agar menggunakan algoritma pertukaran kunci pasca-kuantum untuk koneksi SSH.
Untuk mempelajari lebih lanjut cara kerja koneksi SSH di Compute Engine, lihat Koneksi SSH ke VM Linux. Untuk mempelajari cara mengelola akses SSH dengan IAM, lihat Tentang Login OS.
Bagian berikut menjelaskan post-quantum cryptography dalam konteks SSH:
- Memahami ancaman serangan rekam sekarang, dekripsi nanti
- Memahami cakupan perlindungan pasca-kuantum di SSH
Bagian berikut berisi praktik terbaik yang dapat membantu Anda melindungi koneksi SSH dari ancaman komputasi kuantum di masa mendatang:
- Mengonfigurasi klien SSH Anda untuk memilih atau mewajibkan algoritma pasca-kuantum
- Mengonfigurasi VM untuk pertukaran kunci pasca-kuantum
- Memverifikasi algoritma pertukaran kunci yang dinegosiasikan
Memahami ancaman serangan rekam sekarang, dekripsi nanti
Kriptografi kunci publik klasik (seperti RSA dan kriptografi kurva eliptik) secara teoretis rentan terhadap serangan oleh komputer kuantum. Meskipun komputer kuantum berskala besar belum ada, penyerang dapat menangkap dan menyimpan traffic jaringan terenkripsi saat ini dengan tujuan mendekripsinya nanti saat komputer kuantum yang cukup mumpuni tersedia. Hal ini dikenal sebagai serangan ambil sekarang, dekripsi nanti.
Untuk melindungi dari ancaman ini, OpenSSH dan klien SSH modern lainnya mendukung metode pertukaran kunci kriptografi pasca-kuantum (PQC). Metode ini menggunakan algoritma pertukaran kunci hibrida yang menggabungkan algoritma pasca-kuantum dengan algoritma klasik (seperti X25519). Selama salah satu algoritma tetap aman, kunci enkripsi sesi tidak dapat diperoleh oleh penyadap.
Algoritma pertukaran kunci pasca-kuantum hibrida berikut didukung dalam implementasi SSH modern:
sntrup761x25519-sha512@openssh.com: Hybrid dari Streamlined NTRU Prime 761 dan X25519. Didukung di OpenSSH 9.0 dan yang lebih baru, serta PuTTY 0.78 dan yang lebih baru.mlkem768x25519-sha256: Hybrid dari ML-KEM-768 yang distandardisasi NIST (sebelumnya CRYSTALS-Kyber) dan X25519. Didukung di OpenSSH 10.0 dan yang lebih baru, serta PuTTY 0.83 dan yang lebih baru.mlkem768x25519-sha256adalah algoritma pertukaran kunci pasca-kuantum yang saat ini lebih disukai untuk SSH.
Memahami cakupan perlindungan pasca-kuantum di SSH
Koneksi SSH melibatkan tiga fase kriptografi:
- Pertukaran kunci (
KexAlgorithms): Klien dan server membuat rahasia simetris bersama. Saat Anda menggunakan algoritma pertukaran kunci pasca-kuantum, rahasia bersama ini dilindungi dari dekripsi oleh komputer kuantum. - Otentikasi pengguna dan host: Klien memverifikasi kunci host server, dan server memverifikasi kunci atau sertifikat SSH pengguna. OpenSSH standar belum menggunakan algoritma tanda tangan post-kuantum untuk autentikasi pengguna, tetapi karena autentikasi terjadi di dalam saluran terenkripsi yang dibuat oleh pertukaran kunci, kredensial dan kunci host Anda dilindungi dari dekripsi retroaktif.
- Enkripsi data sesi (
Ciphers): Setelah kunci dipertukarkan, sesi dienkripsi menggunakan cipher simetris (sepertiaes256-gcm@openssh.comatauchacha20-poly1305@openssh.com). Cipher simetris tidak rentan terhadap serangan komputasi kuantum seperti cipher asimetris (pertukaran kunci).
Cara kerja negosiasi algoritma
Selama handshake koneksi SSH, klien mengirimkan daftar algoritma pertukaran kunci yang diurutkan yang didukungnya. Server membandingkan daftar klien dengan algoritma yang didukungnya dan memilih algoritma pertama dalam daftar klien yang juga didukung server.
Karena klien menentukan urutan preferensi, mengonfigurasi klien workstation Anda untuk memilih algoritma pasca-kuantum akan memastikan bahwa pertukaran kunci pasca-kuantum digunakan setiap kali VM target mendukungnya.
Mengonfigurasi klien SSH Anda
Konfigurasi klien SSH di workstation Anda untuk memprioritaskan atau menerapkan algoritma pertukaran kunci post-quantum. Selesaikan langkah-langkah untuk alat klien pilihan Anda.
Konsol
SSH di browser (yang terintegrasi ke konsol Cloud de Confiance ) mendukung dan lebih memilih algoritma pertukaran kunci pasca-kuantum secara otomatis.
Jika terhubung ke VM menggunakan SSH di browser, Anda tidak perlu mengonfigurasi setelan apa pun di workstation. Jika VM target mendukung algoritma pasca-kuantum, SSH-in-browser akan otomatis melakukan negosiasi pertukaran kunci pasca-kuantum.
Untuk terhubung menggunakan SSH-in-browser:
Di konsol Cloud de Confiance , buka halaman VM instances.
Dalam daftar instance VM, klik SSH di baris VM yang ingin Anda hubungkan.
gcloud
gcloud CLI (gcloud compute ssh) menggunakan klien OpenSSH yang diinstal di workstation lokal Anda.
Pastikan workstation Anda telah menginstal OpenSSH 9.0 atau yang lebih baru:
ssh -VJika versi OpenSSH Anda lebih lama dari 9.0, upgrade OpenSSH menggunakan pengelola paket sistem operasi Anda.
Saat workstation Anda menjalankan OpenSSH 9.0 atau yang lebih baru, OpenSSH menyertakan pertukaran kunci pasca-kuantum dalam daftar algoritma defaultnya. Saat Anda terhubung ke VM yang kompatibel, koneksi akan melakukan negosiasi pertukaran kunci pasca-kuantum tanpa tanda tambahan:
gcloud compute ssh <var>VM_NAME</var> --zone=<var>ZONE</var>Ganti kode berikut:
<var>VM_NAME</var>: nama VM yang ingin Anda hubungkan.<var>ZONE</var>: zona tempat VM berada.
Klien OpenSSH
Jika Anda menggunakan klien OpenSSH standar (ssh) di Linux, macOS, atau Windows:
Pastikan versi klien OpenSSH lokal Anda adalah 9.0 atau yang lebih baru:
ssh -VBuka atau buat file konfigurasi SSH pengguna Anda (
~/.ssh/configdi Linux dan macOS, atau%USERPROFILE%\.ssh\configdi Windows).Tambahkan atau perbarui direktif
KexAlgorithms.Untuk memprioritaskan algoritma pasca-kuantum sambil mengizinkan penggantian klasik (direkomendasikan), tambahkan konfigurasi berikut:
KexAlgorithms ^mlkem768x25519-sha256,sntrup761x25519-sha512@openssh.com,diffie-hellman-group-exchange-sha256Untuk menerapkan algoritma pasca-kuantum secara ketat dan menolak koneksi klasik, tentukan hanya algoritma pasca-kuantum:
KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512@openssh.com
Hubungkan ke VM Anda menggunakan SSH:
ssh -i <var>PATH_TO_PRIVATE_KEY</var> <var>USERNAME</var>@<var>EXTERNAL_IP</var>Ganti kode berikut:
<var>PATH_TO_PRIVATE_KEY</var>: jalur ke kunci SSH pribadi Anda.<var>USERNAME</var>: nama pengguna Anda (seperti nama pengguna Login OS Anda).<var>EXTERNAL_IP</var>: alamat IP eksternal VM.
Aplikasi PuTTY
Jika Anda terhubung ke VM menggunakan PuTTY di Windows:
Pastikan Anda menjalankan PuTTY versi 0.78 atau yang lebih baru (atau versi 0.83 atau yang lebih baru untuk dukungan ML-KEM). Untuk memeriksa versi Anda, buka PuTTY dan klik About. Jika perlu, download versi terbaru dari halaman download PuTTY.
Buka PuTTY.
Di panel Category, buka Connection > SSH > Kex.
Dalam daftar Kebijakan pemilihan algoritma, temukan algoritma pasca-kuantum:
- Kex hibrida NTRU Prime / Curve25519 (tersedia di PuTTY 0.78+)
- ML-KEM / Curve25519 hybrid kex (tersedia di PuTTY 0.83+)
Pilih algoritma pasca-kuantum dan klik Up hingga algoritma tersebut berada di bagian atas daftar, di atas algoritma Diffie-Hellman dan ECDH klasik.
(Opsional) Untuk menerapkan algoritma pasca-kuantum secara ketat, pilih setiap algoritma klasik dan klik Turun hingga berada di bawah pembatas -- Warn below here -- atau -- Don't use below here --.
Di panel Kategori, klik Sesi.
Di bagian Sesi Tersimpan, pilih nama sesi Anda, lalu klik Simpan untuk mempertahankan preferensi algoritma Anda.
Klik Buka untuk terhubung ke VM.
Mengonfigurasi VM
Untuk menggunakan algoritma pertukaran kunci pasca-kuantum, sistem operasi VM dan daemon SSH Anda harus mendukungnya. Tinjau sistem operasi yang kompatibel dan pahami perilaku default sebelum melakukan perubahan konfigurasi.
Sistem operasi yang kompatibel
Untuk mendukung pertukaran kunci pasca-kuantum, VM Anda harus menjalankan sistem operasi yang menyertakan OpenSSH 9.0 atau yang lebih baru. Image Linux publik berikut yang tersedia di Compute Engine mencakup OpenSSH 9.0 atau yang lebih baru:
- Debian: Debian 12 (Bookworm) dan yang lebih baru
- Ubuntu: Ubuntu 24.04 LTS (Noble Numbat) dan yang lebih baru
- Fedora: Fedora 39 dan yang lebih baru
- Container-Optimized OS: Milestone 109 dan yang lebih baru
- Rocky Linux / AlmaLinux: Versi 10 dan yang lebih baru
Rilis sistem operasi yang lebih lama (seperti Ubuntu 22.04 LTS, Debian 11, atau RHEL 9) menyertakan versi OpenSSH yang lebih lama dari 9.0 secara default dan tidak mendukung pertukaran kunci pasca-kuantum.
Perilaku default
Jika VM Anda menjalankan sistem operasi dengan OpenSSH 9.0 atau yang lebih baru, server OpenSSH (sshd) mendukung sntrup761x25519-sha512@openssh.com secara default. VM yang menjalankan OpenSSH 10.0 atau yang lebih baru juga mendukung mlkem768x25519-sha256 secara default.
Secara default, tidak ada perubahan pada konfigurasi VM yang diperlukan. Saat klien yang kompatibel dengan pasca-kuantum terhubung, VM akan otomatis melakukan negosiasi pertukaran kunci pasca-kuantum. Pada saat yang sama, VM terus menerima koneksi dari klien yang hanya mendukung algoritma klasik.
Mewajibkan algoritma pasca-kuantum
Jika organisasi Anda memerlukan pertukaran kunci pasca-kuantum untuk semua sesi SSH, Anda dapat mengonfigurasi daemon SSH VM agar hanya menerima algoritma pertukaran kunci pasca-kuantum.
Untuk mewajibkan algoritma pasca-kuantum secara ketat di VM Anda:
Hubungkan ke VM Anda menggunakan SSH.
Buat file konfigurasi drop-in di
/etc/ssh/sshd_config.d/:sudo bash -c 'cat << 'EOF' > /etc/ssh/sshd_config.d/99-post-quantum-kex.conf # Require post-quantum key exchange algorithms only KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512@openssh.com EOF'Uji konfigurasi daemon SSH untuk menemukan error sintaksis:
sudo sshd -tJika perintah menghasilkan error, periksa file konfigurasi sebelum melanjutkan.
Muat ulang daemon SSH untuk menerapkan perubahan tanpa menghentikan sesi aktif:
sudo systemctl reload sshdJika distribusi Linux Anda menggunakan
sshsebagai nama layanan, jalankansudo systemctl reload ssh.Biarkan jendela terminal saat ini tetap terbuka, lalu buka jendela terminal baru untuk menguji koneksi ke VM. Jika koneksi baru berhasil, VM Anda berhasil dikonfigurasi untuk memerlukan algoritma pasca-kuantum.
Memulihkan dari penguncian SSH
Jika Anda mengonfigurasi VM agar secara ketat memerlukan algoritma pasca-kuantum dan tidak dapat mengaksesnya karena klien Anda tidak mendukung algoritma yang diperlukan, gunakan salah satu opsi pemulihan berikut:
- Menggunakan SSH-in-browser: Buka konsol Cloud de Confiance dan hubungkan menggunakan SSH-in-browser. SSH-in-browser mendukung pertukaran kunci post-quantum dan dapat terhubung meskipun algoritma post-quantum sangat diperlukan di VM.
Setelah terhubung, hapus atau ubah
/etc/ssh/sshd_config.d/99-post-quantum-kex.confdan muat ulangsshd. - Gunakan konsol serial virtual: Hubungkan ke VM menggunakan
konsol administratif khusus (SAC) atau konsol serial.
Login dengan kredensial Anda, hapus file konfigurasi, dan muat ulang
sshd. - Gunakan skrip startup: Jika akses interaktif tidak tersedia:
- Di konsol Cloud de Confiance , hentikan VM.
- Edit metadata VM untuk menambahkan skrip startup yang menghapus file konfigurasi
/etc/ssh/sshd_config.d/99-post-quantum-kex.confyang Anda buat sebelumnya, lalu mulai ulang daemon server SSH:startup-script:rm -f /etc/ssh/sshd_config.d/99-post-quantum-kex.conf && (systemctl reload ssh || systemctl reload sshd) - Mulai VM. Skrip startup berjalan sebagai root dan memulihkan kompatibilitas klasik.
- Hapus skrip startup dari metadata setelah Anda mendapatkan kembali akses.
Memverifikasi algoritma pertukaran kunci yang dinegosiasikan
Untuk mengonfirmasi bahwa koneksi SSH aktif menggunakan algoritma pertukaran kunci pasca-kuantum, periksa detail koneksi dari klien Anda.
Memverifikasi menggunakan OpenSSH atau gcloud CLI
Hubungkan ke VM Anda dengan mengaktifkan output verbose menggunakan flag -v:
Menggunakan OpenSSH:
ssh -v -i <var>PATH_TO_PRIVATE_KEY</var> <var>USERNAME</var>@<var>EXTERNAL_IP</var>Menggunakan gcloud CLI:
gcloud compute ssh <var>VM_NAME</var> --zone=<var>ZONE</var> -- -v
Periksa output terminal selama pembuatan koneksi. Cari baris
kex: algorithm:
debug1: kex: algorithm: sntrup761x25519-sha512@openssh.com
atau:
debug1: kex: algorithm: mlkem768x25519-sha256
Jika output mencantumkan sntrup761x25519-sha512 atau mlkem768x25519-sha256, koneksi dilindungi oleh pertukaran kunci pasca-kuantum. Jika mencantumkan algoritma seperti curve25519-sha256 atau ecdh-sha2-nistp256, koneksi menggunakan pertukaran kunci klasik dan masih rentan terhadap serangan "tangkap sekarang, dekripsi nanti".
Memverifikasi menggunakan PuTTY
- Di PuTTY, hubungkan ke VM Anda.
- Klik kanan kolom judul jendela PuTTY, lalu pilih Event Log.
- Di jendela PuTTY Event Log, cari baris yang menunjukkan algoritma pertukaran kunci:
Using NTRU Prime / Curve25519 hybrid key exchangeUsing ML-KEM / Curve25519 hybrid key exchange
Langkah berikutnya
- Pelajari lebih lanjut koneksi SSH ke VM Linux.
- Tinjau Praktik terbaik untuk mengamankan akses SSH.
- Pelajari cara Melindungi kredensial SSH dengan kunci keamanan.
- Pelajari fitur dan konfigurasi SSH-in-browser.