0Pricing
Cryptology Academy · Pelajaran

Protokol Station-to-Station (STS)

Pelajari STS sebagai protokol pertukaran kunci terautentikasi yang telah diperbaiki serta penggunaannya dalam SSH dan IKE.

Protokol Station-to-Station (STS) adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Motivasi STS

Protokol Station-to-Station (STS) (Diffie, van Oorschot, Wiener, 1992) dirancang untuk menyediakan kesepakatan kunci terautentikasi tanpa pihak ketiga tepercaya. Pertukaran kunci DH murni tidak terautentikasi—penyerang perantara dapat mengganti nilai DH dengan miliknya sendiri, sehingga membuat sesi terpisah dengan masing-masing pihak yang mengira mereka berbagi kunci. STS menggabungkan DH dengan tanda tangan digital dan sertifikat kunci publik untuk menyediakan autentikasi timbal balik. Kedua pihak mengautentikasi diri dengan menandatangani transkrip DH, sehingga mengikat kunci sesi pada identitas mereka. STS secara langsung memengaruhi rancangan IKE (Pertukaran Kunci Internet untuk IPsec) dan SSH.

Langkah-Langkah Protokol STS

Protokol STS berlangsung sebagai berikut. Alice dan Bob menyepakati grup DH (bilangan prima p, generator g). (1) Alice mengirimkan g^a mod p kepada Bob. (2) Bob mengirimkan g^b mod p, Cert_B, Sig_B{g^b, g^a} kepada Alice. Bob menandatangani penggabungan kedua nilai DH menggunakan kunci privatnya. (3) Alice memverifikasi sertifikat dan tanda tangan Bob, lalu mengirimkan Cert_A, Sig_A{g^a, g^b} yang dienkripsi menggunakan kunci sesi K = (g^ab mod p). Identitas dan tanda tangan Alice dienkripsi, sehingga memberikan perlindungan identitas Alice—penyadap pasif tidak dapat mengaitkan Alice dengan sesi ini. Kedua pihak menghitung K = g^ab mod p dan saling terautentikasi melalui tanda tangan tersebut.

STS Dibandingkan dengan DH Tanpa Autentikasi

Membandingkan STS dengan DH tanpa autentikasi memperlihatkan manfaat yang diberikan autentikasi. Dalam DH biasa, Mallory mencegat g^a dan g^b, mengganti g^m untuk Alice dan g^m untuk Bob, lalu membuat K1 = g^am dan K2 = g^bm. Mallory mendekripsi seluruh lalu lintas. Dalam STS, Bob menandatangani {g^b, g^a}—tanda tangan ini mencakup nilai DH persis dalam sesi tersebut. Meskipun Mallory mengganti g^b dengan g^m, Mallory tidak dapat memalsukan tanda tangan valid menggunakan kunci dalam sertifikat Bob. Alice menolak sesi tersebut. Inti pentingnya: autentikasi dalam pertukaran kunci harus mencakup transkrip DH, bukan sekadar klaim identitas.

Kerahasiaan Maju Sempurna dalam STS

STS mencapai kerahasiaan maju sempurna (PFS) karena kunci sesi diturunkan dari nilai DH sementara (g^a, g^b) yang dibuang setelah sesi berakhir. Meskipun kunci penandatanganan jangka panjang Bob kemudian dibobol, sesi STS yang direkam sebelumnya tidak dapat didekripsi—penyerang memerlukan eksponen DH sementara a dan b, yang tidak pernah disimpan. Sifat yang sama dihargai dalam TLS dengan rangkaian sandi ECDHE. Tanpa DH sementara (misalnya, menggunakan transportasi kunci RSA ketika kunci sesi dienkripsi menggunakan kunci RSA statis peladen), pembobolan kunci jangka panjang akan memungkinkan semua sesi terdahulu didekripsi.

Perlindungan Identitas

STS mengenkripsi sertifikat dan tanda tangan Alice pada langkah 3, sehingga memberikan perlindungan identitas pihak penanggap terhadap penyadap pasif. Pengamat pasif hanya melihat nilai DH Alice dan sertifikat Bob (yang dikirim Bob dalam teks biasa pada langkah 2). Identitas Alice tersembunyi dari penyadapan pasif. Penyerang aktif yang melancarkan MITM akan terdeteksi melalui kegagalan verifikasi tanda tangan. Ketidaksimetrian ini (identitas pemrakarsa terlihat oleh penyerang aktif, sedangkan identitas pihak penanggap terlindungi dari penyadap pasif) merupakan kompromi rancangan yang disengaja—perlindungan identitas penuh bagi kedua pihak terhadap penyerang aktif memerlukan kompleksitas protokol tambahan (melakukan praberbagi nilai DH atau menggunakan elemen grup anonim).

STS dalam IKEv1 dan IKEv2

IKE (Pertukaran Kunci Internet), protokol pengelolaan kunci untuk IPsec, diturunkan langsung dari STS. IKEv1 (RFC 2409) menerapkan autentikasi tanda tangan bergaya STS dalam Mode Utamanya. IKEv2 (RFC 7296) merupakan rancangan ulang yang lebih sederhana dengan empat alur pesan: IKE_SA_INIT (pertukaran DH, nilai sekali pakai), IKE_AUTH (identitas, sertifikat, tanda tangan atas transkrip IKE_SA_INIT). Format tanda tangannya adalah AUTH = PRF(SK_pi, transcript) untuk PSK atau tanda tangan digital atas oktet IKE_SA_INIT untuk autentikasi sertifikat. IKEv2 juga mendukung Protokol Autentikasi yang Dapat Diperluas (EAP) untuk autentikasi berbasis kata sandi pada sistem lama, serupa dengan dukungan STS terhadap berbagai metode autentikasi.

STS dalam SSH

Autentikasi kunci SSH menggunakan mekanisme yang mirip dengan langkah 3 STS. Setelah pertukaran kunci DH (SSH_MSG_KEXDH_REPLY berisi kunci publik peladen, nilai DH, dan tanda tangan atas hash pertukaran), klien memverifikasi kunci peladen. Untuk autentikasi klien (SSH_MSG_USERAUTH_REQUEST dengan metode publickey), klien menandatangani {session_id, username, service, method, key_algo, public_key} menggunakan kunci privatnya. session_id diturunkan dari transkrip DH, sehingga mengikat autentikasi pada sesi tertentu dan mencegah pemalsuan lintas sesi yang dahulu menghantui NS. SSH tidak menggunakan sertifikat secara bawaan, tetapi mendukungnya melalui ssh-keygen -s (penandatanganan sertifikat) untuk penerapan berskala besar.

Keluarga Protokol SIGMA

STS merupakan anggota keluarga protokol pertukaran kunci terautentikasi (AKE) SIGMA (SIGn-and-MAc), yang diformalkan oleh Hugo Krawczyk. SIGMA menambahkan MAC ke STS: setiap pihak menandatangani transkrip dan menghitung MAC atas identitasnya menggunakan kunci sesi: MAC(K, identity). MAC tersebut mengikat identitas pada kunci sesi, sehingga mencegah serangan tertentu ketika lawan dapat mengaitkan tanda tangan dari sesi yang berbeda. SIGMA-I (identitas pemrakarsa dilindungi), SIGMA-R (identitas pihak penanggap dilindungi), dan SIGMA-0 (tanpa perlindungan identitas) adalah beberapa variannya. IKEv2 dan X3DH milik Signal merupakan protokol keluarga SIGMA. Formalisme SIGMA menyediakan bukti keamanan yang ketat untuk rancangan seperti STS.

Serangan KCI dan Varian STS

STS rentan terhadap Key Compromise Impersonation (KCI): jika kunci jangka panjang Alice dibobol, penyerang dapat menyamar sebagai pihak mana pun di hadapan Alice dalam sesi baru (karena penyerang dapat memalsukan tanda tangan Alice atas transkrip apa pun). Artinya, pembobolan kunci salah satu pihak memungkinkan lawan menyamar sebagai pihak lain di hadapan pihak tersebut. KCI melekat pada protokol AKE berbasis tanda tangan—untuk melawannya, kunci sesi harus bergantung pada kontribusi kedua pihak dengan cara yang mencegah pihak yang kuncinya dibobol melakukan penggantian. HMQV (Hashed Menezes-Qu-Vanstone) dan NAXOS memberikan ketahanan terhadap KCI dengan mengorbankan kompleksitas tambahan.

Kemampuan Menyangkal dan Pesan OTR

STS menyediakan nirpenyangkalan: tanda tangan membuktikan siapa yang mengatakan sesuatu, dengan kepastian kriptografis. Hal ini terkadang tidak diinginkan—dalam percakapan pribadi, para peserta mungkin tidak ingin bukti kriptografis atas pernyataan mereka dapat diajukan di pengadilan. Perpesanan Off-the-Record (OTR) dan Double Ratchet milik Signal menyediakan kemampuan menyangkal: alih-alih menandatangani pesan, keduanya menggunakan kunci MAC yang dipegang oleh pengirim dan penerima. Setelah percakapan selesai, kedua pihak dapat mengklaim bahwa pihak lain memalsukan pesan tersebut, karena masing-masing memegang kunci untuk menghasilkan MAC. Komprominya: kemampuan menyangkal mengorbankan nirpenyangkalan. Rancangan seperti STS sesuai digunakan ketika pertanggungjawaban diperlukan; OTR/Signal sesuai ketika kemampuan menyangkal lebih diutamakan.

Bukti Keamanan STS

Keamanan STS dianalisis secara informal dalam makalah aslinya, tetapi dibuktikan secara formal oleh Bellare dan Rogaway (1993, 1994) dalam model keamanan AKE mereka yang menjadi tonggak penting. Mereka mendefinisikan arti keamanan suatu protokol pertukaran kunci: kunci sesi tidak dapat dibedakan dari nilai acak, bahkan ketika lawan dapat mendaftarkan pihak, mengungkapkan kunci sesi, mengungkapkan kunci jangka panjang (kecuali untuk sesi sasaran), dan mengendalikan jaringan. Model keamanan berbasis simulasi ini, yang diperluas oleh Canetti-Krawczyk dan kemudian UC (Komposabilitas Universal), kini menjadi standar untuk membuktikan protokol AKE. TLS 1.3, Signal, dan Noise semuanya memiliki bukti formal dalam berbagai varian model ini.

Kuis Pengikatan Tanda Tangan STS

Mengapa STS mengharuskan kedua nilai DH (g^a dan g^b) disertakan dalam transkrip yang ditandatangani?

Ringkasan Protokol STS

STS menggabungkan pertukaran kunci DH sementara dengan tanda tangan digital untuk menyediakan kesepakatan kunci terautentikasi tanpa TTP. Kedua pihak menandatangani transkrip DH sehingga autentikasi terikat pada sesi tersebut. STS menyediakan kerahasiaan ke depan (DH sementara), autentikasi timbal balik (tanda tangan), dan perlindungan identitas pihak penjawab (data Alice dienkripsi sebelum dikirim). STS secara langsung memengaruhi IKEv2 dan autentikasi kunci SSH. SIGMA memformalkan STS dengan kode autentikasi pesan untuk identitas dan pembuktian keamanan. KCI merupakan kelemahan bawaan STS yang dikurangi oleh HMQV/NAXOS. Sifat dapat disangkal, seperti pada Signal, mengharuskan tanda tangan diganti dengan kode autentikasi pesan untuk autentikasi tingkat pesan.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Protokol Station-to-Station (STS)” gratis?

Ya — teks lengkap “Protokol Station-to-Station (STS)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Protokol Station-to-Station (STS)”?

Pelajari STS sebagai protokol pertukaran kunci terautentikasi yang telah diperbaiki serta penggunaannya dalam SSH dan IKE. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Protokol Station-to-Station (STS)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Protokol Needham-Schroeder dan Serangan
  2. Protokol Station-to-Station (STS)
  3. Kerangka Kerja Protokol Noise
  4. Prinsip Desain Protokol Aman
← Kembali ke Cryptology Academy