Cryptology Academy · Pelajaran

Protokol Station-to-Station (STS)

Kaji STS sebagai protokol pertukaran kunci yang disahkan dan diperbetulkan serta penggunaannya dalam SSH dan IKE.

Pelajaran 2 daripada 413 langkah

Protokol Station-to-Station (STS) ialah pelajaran Cryptology Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Cryptology Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Motivasi untuk STS

Protokol Station-to-Station (STS) (Diffie, van Oorschot, Wiener, 1992) direka bentuk untuk menyediakan pertukaran kunci yang disahkan tanpa pihak ketiga yang dipercayai. Pertukaran kunci Diffie-Hellman tulen tidak disahkan — penyerang di tengah-tengah boleh menggantikan nilai DH miliknya, lalu mewujudkan sesi berasingan dengan setiap pihak yang menyangka mereka berkongsi kunci. STS menggabungkan DH dengan tandatangan digital dan sijil kunci awam untuk menyediakan pengesahan bersama. Pihak-pihak tersebut mengesahkan diri dengan menandatangani transkrip DH, lalu mengikat kunci sesi pada identiti mereka. STS mempengaruhi secara langsung reka bentuk IKE (Pertukaran Kunci Internet untuk IPsec) dan SSH.

Langkah-langkah Protokol STS

Protokol STS berlangsung seperti berikut. Alice dan Bob bersetuju tentang kumpulan DH (nombor perdana p, penjana g). (1) Alice menghantar g^a mod p kepada Bob. (2) Bob menghantar g^b mod p, Cert_B, Sig_B{g^b, g^a} kepada Alice. Bob menandatangani penggabungan kedua-dua nilai DH menggunakan kunci peribadinya. (3) Alice mengesahkan sijil dan tandatangan Bob, kemudian menghantar Cert_A, Sig_A{g^a, g^b} yang disulitkan menggunakan kunci sesi K = (g^ab mod p). Identiti dan tandatangan Alice disulitkan, lalu memberikan perlindungan identiti Alice — pencerap pasif tidak dapat mengaitkan Alice dengan sesi ini. Kedua-dua pihak mengira K = g^ab mod p dan saling disahkan melalui tandatangan tersebut.

STS berbanding DH Tanpa Pengesahan

Perbandingan antara STS dengan DH tanpa pengesahan menunjukkan perkara yang ditambahkan oleh pengesahan. Dalam DH biasa, Mallory memintas g^a dan g^b, menggantikan g^m untuk Alice dan g^m untuk Bob, lalu mewujudkan K1 = g^am dan K2 = g^bm. Mallory menyahsulit semua trafik. Dalam STS, Bob menandatangani {g^b, g^a} — tandatangan ini meliputi nilai DH tepat dalam sesi tersebut. Walaupun Mallory menggantikan g^b dengan g^m, Mallory tidak dapat memalsukan tandatangan yang sah menggunakan kunci sijil Bob. Alice menolak sesi itu. Inti pati pentingnya: pengesahan dalam pertukaran kunci mesti meliputi transkrip DH, bukan sekadar dakwaan identiti.

Kerahsiaan Hadapan Sempurna dalam STS

STS mencapai kerahsiaan hadapan sempurna (PFS) kerana kunci sesi diterbitkan daripada nilai DH sementara (g^a, g^b) yang dibuang selepas sesi tamat. Walaupun kunci tandatangan jangka panjang Bob kemudiannya terjejas, sesi STS yang dirakam sebelum itu tidak dapat dinyahsulit — penyerang memerlukan eksponen DH sementara a dan b, yang tidak pernah disimpan. Sifat ini sama seperti sifat yang dihargai dalam TLS dengan set sifir ECDHE. Tanpa DH sementara (contohnya, menggunakan pengangkutan kunci RSA, yang menyebabkan kunci sesi disulitkan menggunakan kunci RSA statik pelayan), pendedahan kunci jangka panjang akan menyahsulit semua sesi terdahulu.

Perlindungan Identiti

STS menyulitkan sijil dan tandatangan Alice pada langkah 3, lalu memberikan perlindungan identiti pihak yang menjawab daripada pencerap pasif. Pemerhati pasif hanya melihat nilai DH Alice dan sijil Bob (yang dihantar Bob dalam teks biasa pada langkah 2). Identiti Alice disembunyikan daripada pencerap pasif. Penyerang aktif yang melancarkan MITM akan dikesan apabila pengesahan tandatangan gagal. Ketaksimetrian ini (identiti pemula didedahkan kepada penyerang aktif, manakala identiti pihak yang menjawab dilindungi daripada pencerap pasif) ialah pertukaran reka bentuk yang disengajakan — perlindungan identiti penuh bagi kedua-dua pihak daripada penyerang aktif memerlukan kerumitan protokol tambahan (praperkongsian nilai DH atau penggunaan unsur kumpulan tanpa nama).

STS dalam IKEv1 dan IKEv2

IKE (Pertukaran Kunci Internet), iaitu protokol pengurusan kunci untuk IPsec, berasal secara langsung daripada STS. IKEv1 (RFC 2409) melaksanakan pengesahan tandatangan gaya STS dalam Mod Utamanya. IKEv2 (RFC 7296) ialah reka bentuk semula yang lebih kemas dengan empat aliran mesej: IKE_SA_INIT (pertukaran DH, nilai sekali guna), IKE_AUTH (identiti, sijil dan tandatangan terhadap transkrip IKE_SA_INIT). Format tandatangan ialah AUTH = PRF(SK_pi, transcript) untuk PSK atau tandatangan digital terhadap oktet IKE_SA_INIT untuk pengesahan sijil. IKEv2 juga menyokong Protokol Pengesahan Boleh Diperluas (EAP) untuk pengesahan berasaskan kata laluan lama, serupa dengan sokongan STS terhadap pelbagai kaedah pengesahan.

STS dalam SSH

Pengesahan kunci SSH menggunakan mekanisme yang serupa dengan langkah 3 STS. Selepas pertukaran kunci DH (SSH_MSG_KEXDH_REPLY mengandungi kunci awam pelayan, nilai DH dan tandatangan terhadap cincangan pertukaran), klien mengesahkan kunci hos pelayan. Untuk pengesahan klien (SSH_MSG_USERAUTH_REQUEST dengan kaedah publickey), klien menandatangani {session_id, username, service, method, key_algo, public_key} menggunakan kunci peribadinya. session_id diterbitkan daripada transkrip DH, lalu mengikat pengesahan pada sesi tertentu ini dan mencegah pemalsuan merentas sesi yang pernah menjejaskan NS. SSH tidak menggunakan sijil secara lalai tetapi menyokongnya melalui ssh-keygen -s (penandatanganan sijil) untuk penggunaan berskala besar.

Keluarga Protokol SIGMA

STS ialah ahli keluarga protokol pertukaran kunci yang disahkan (AKE) SIGMA (SIGn-and-MAc), yang diformalkan oleh Hugo Krawczyk. SIGMA menambahkan MAC pada STS: setiap pihak menandatangani transkrip dan mengira MAC untuk identitinya menggunakan kunci sesi: MAC(K, identity). MAC itu mengikat identiti pada kunci sesi dan mencegah serangan tertentu yang membolehkan pihak lawan mengaitkan tandatangan daripada sesi yang berbeza. SIGMA-I (identiti pemula dilindungi), SIGMA-R (identiti pihak yang menjawab dilindungi) dan SIGMA-0 (tiada perlindungan identiti) ialah variannya. IKEv2 dan X3DH Signal ialah protokol daripada keluarga SIGMA. Formalisme SIGMA menyediakan bukti keselamatan yang kukuh untuk reka bentuk seumpama STS.

Serangan KCI dan Varian STS

STS terdedah kepada penyamaran akibat kompromi kunci (KCI): jika kunci jangka panjang Alice terjejas, penyerang boleh menyamar sebagai mana-mana pihak terhadap Alice dalam sesi baharu (kerana penyerang boleh memalsukan tandatangan Alice pada sebarang transkrip). Ini bermakna pendedahan kunci satu pihak membolehkan pihak lawan menyamar sebagai pihak lain terhadap pihak tersebut. KCI wujud secara semula jadi dalam protokol pertukaran kunci yang disahkan berasaskan tandatangan — pertahanan terhadapnya memerlukan kunci sesi bergantung pada sumbangan kedua-dua pihak dengan cara yang menghalang pihak yang kuncinya terjejas daripada membuat penggantian. HMQV (Hashed Menezes-Qu-Vanstone) dan NAXOS memberikan ketahanan terhadap KCI dengan mengorbankan kerumitan tambahan.

Kebolehnafian dan Pemesejan Off-the-Record

STS menyediakan jaminan bahawa pengirim tidak boleh menafikan mesejnya: tandatangan membuktikan dengan kepastian kriptografi siapa yang mengatakan sesuatu. Hal ini kadangkala tidak diingini — dalam perbualan peribadi, peserta mungkin tidak mahu bukti kriptografi kenyataan mereka boleh dikemukakan di mahkamah. Pemesejan Off-the-Record (OTR) dan Double Ratchet Signal memberikan kebolehnafian: bukannya menandatangani mesej, kedua-duanya menggunakan kunci MAC yang dimiliki oleh pengirim dan penerima. Selepas perbualan, kedua-dua pihak boleh mendakwa bahawa pihak yang satu lagi mereka-reka mesej tersebut, kerana masing-masing memiliki kunci untuk menghasilkan MAC. Pertukarannya ialah kebolehnafian mengorbankan ketidakbolehnafian. Reka bentuk seumpama STS sesuai apabila kebertanggungjawaban diperlukan; OTR dan Signal pula sesuai apabila kebolehnafian diutamakan.

Bukti Keselamatan STS

Keselamatan STS dianalisis secara tidak formal dalam makalah asal, tetapi kemudiannya dibuktikan secara formal oleh Bellare dan Rogaway (1993, 1994) dalam model keselamatan AKE mereka yang penting. Mereka mentakrifkan maksud protokol pertukaran kunci yang selamat: kunci sesi tidak dapat dibezakan daripada nilai rawak, walaupun pihak lawan boleh mendaftarkan pihak, mendedahkan kunci sesi, mendedahkan kunci jangka panjang (kecuali bagi sesi sasaran) dan mengawal rangkaian. Model keselamatan berasaskan simulasi ini, yang diperluas oleh Canetti-Krawczyk dan kemudiannya UC (Kebolehkomposisian Sejagat), kini menjadi standard untuk membuktikan keselamatan protokol AKE. TLS 1.3, Signal dan Noise semuanya mempunyai bukti formal dalam varian model ini.

Kuiz Pengikatan Tandatangan STS

Mengapakah STS memerlukan kedua-dua nilai DH (g^a dan g^b) disertakan dalam transkrip yang ditandatangani?

Imbas Kembali Protokol STS

STS menggabungkan pertukaran kunci DH efemeral dengan tandatangan digital untuk menyediakan persetujuan kunci yang disahkan tanpa TTP. Kedua-dua pihak menandatangani transkrip DH, lalu mengikat pengesahan kepada sesi tersebut. STS mencapai kerahsiaan ke hadapan (DH efemeral), pengesahan bersama (tandatangan), dan perlindungan identiti pihak pemberi respons (data Alice disulitkan sebelum dihantar). STS mempengaruhi IKEv2 dan pengesahan kunci SSH secara langsung. SIGMA memformalkan STS dengan kod pengesahan mesej identiti dan bukti keselamatan. KCI ialah kelemahan semula jadi STS yang dibendung oleh HMQV/NAXOS. Kebolehnafian (seperti dalam Signal) memerlukan penggantian tandatangan dengan kod pengesahan mesej untuk ketulenan pada peringkat mesej.

Percuma untuk bermula

Pelajari Cryptology Academy dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
67
Pelajaran
261

Soalan Lazim

Adakah pelajaran “Protokol Station-to-Station (STS)” percuma?

Ya — teks penuh “Protokol Station-to-Station (STS)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Cryptology Academy, tingkat taraf kepada CoddyKit PRO. Kursus Cryptology Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Protokol Station-to-Station (STS)”?

Kaji STS sebagai protokol pertukaran kunci yang disahkan dan diperbetulkan serta penggunaannya dalam SSH dan IKE. Anda berlatih Cryptology Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Cryptology Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Cryptology Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Protokol Station-to-Station (STS)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Protokol Needham-Schroeder dan Serangan
  2. Protokol Station-to-Station (STS)
  3. Rangka Kerja Protokol Noise
  4. Prinsip Reka Bentuk Protokol Selamat
← Kembali ke Cryptology Academy