0Pricing
Cryptology Academy · Pelajaran

SRP: Protokol Kata Sandi Jarak Jauh yang Aman

Pahami cara SRP memungkinkan klien dan server saling mengautentikasi tanpa server menyimpan kata sandi.

SRP: Protokol Kata Sandi Jarak Jauh yang Aman 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.

Ikhtisar dan Sejarah SRP

Protokol Kata Sandi Jarak Jauh Aman (SRP) dikembangkan oleh Tom Wu di Stanford dan diterbitkan sebagai RFC 2945 pada 2000, dengan versi yang disempurnakan, SRP-6a, yang ditetapkan kemudian. SRP memungkinkan autentikasi timbal balik berdasarkan kata sandi bersama tanpa pernah mengirimkan kata sandi itu sendiri, bahkan dalam bentuk terenkripsi.

Server Menyimpan Nilai Verifikasi, Bukan Kata Sandi

Selama pendaftaran SRP, klien menghitung nilai verifikasi kata sandi v = g^x mod N, dengan x = H(salt || password) dan N adalah bilangan prima aman yang besar. Server hanya menyimpan garam dan nilai verifikasi v. Bahkan jika basis data server disusupi, nilai verifikasi yang tersimpan tidak secara langsung mengungkapkan kata sandi.

Pembuatan Kunci Sesi SRP

Selama masuk SRP, klien dan server sama-sama melakukan pertukaran mirip Diffie-Hellman yang menghasilkan kunci sesi bersama. Perhitungan di setiap sisi menyertakan nilai yang diturunkan dari kata sandi, sehingga kunci sesi yang dihasilkan hanya dapat dihitung dengan benar oleh pihak yang masing-masing mengetahui kata sandi dan nilai verifikasi.

Autentikasi Timbal Balik dalam SRP

SRP menyediakan autentikasi timbal balik: klien membuktikan bahwa ia mengetahui kata sandi, dan server membuktikan bahwa server tersebut memiliki nilai verifikasi yang sah. Ini mencegah serangan phishing ketika server palsu mungkin mencoba mengumpulkan informasi kata sandi, karena server palsu tidak dapat menyelesaikan pertukaran SRP dengan benar tanpa nilai verifikasi yang sebenarnya.

Perhitungan Nilai Verifikasi

Nilai verifikasi dihitung sebagai v = g^x mod N dengan x = H(salt || password), g adalah generator, dan N adalah bilangan prima aman berukuran 2048 bit atau lebih besar. Masalah logaritma diskret membuat pemulihan x dari v secara komputasional tidak layak. Kata sandi hanya dapat diverifikasi dengan berhasil menyelesaikan seluruh pertukaran SRP.

Peningkatan SRP-6a

SRP-6a mengatasi kelemahan dalam rancangan SRP-3 dan SRP-6 asli dengan memperkenalkan parameter pengali k = H(N, g) dan mengubah urutan perhitungan klien dan server. Perubahan ini mencegah serangan penebakan dua-untuk-satu tertentu dan memastikan kontribusi server terikat sejak awal dalam protokol.

SRP dalam Sistem Produksi

SRP telah digunakan secara luas dalam sistem nyata. Apple menggunakan SRP dalam sinkronisasi Rantai Kunci iCloud agar perangkat dapat mengambil data rantai kunci tanpa mengungkapkan kata sandi akun kepada server milik Apple. 1Password telah menggunakan SRP dalam model autentikasinya untuk mencegah paparan kredensial di sisi server.

SRP Mencegah Phishing

Karena SRP menghasilkan kunci sesi yang mengikat kata sandi dan nilai verifikasi server, server phishing tidak dapat menyelesaikan jabat tangan SRP dengan benar. Pengguna yang terhubung ke situs phishing melalui SRP akan gagal diautentikasi, sehingga menyediakan sifat antiphishing bawaan yang tidak ada pada pengiriman kata sandi tradisional.

Keterbatasan SRP

SRP mahal secara komputasi, memerlukan perpangkatan modular dengan bilangan bulat besar (2048 bit+). SRP rumit untuk diterapkan dengan benar, dengan banyak jebakan halus dalam validasi parameter yang telah menyebabkan kerentanan implementasi. Protokol ini juga memerlukan saluran aman (TLS) untuk mencegah penyadapan pasif terhadap pertukaran itu sendiri.

Rangkaian Sandi TLS-SRP

RFC 5054 mendefinisikan rangkaian sandi TLS-SRP yang mengintegrasikan autentikasi timbal balik SRP langsung ke dalam jabat tangan TLS. Ini menghilangkan kebutuhan akan sertifikat server sekaligus tetap menyediakan autentikasi timbal balik terenkripsi. Namun, TLS-SRP hanya diadopsi secara terbatas dalam praktik karena FIDO2 dan OPAQUE telah muncul sebagai alternatif yang lebih modern.

SRP dibandingkan Alternatif Modern

Meskipun SRP merupakan terobosan, alternatif modern seperti OPAQUE menyediakan jaminan keamanan yang lebih kuat (ketahanan terhadap prakomputasi), dan FIDO2/kunci sandi menghapus kata sandi sepenuhnya. Untuk sistem baru, OPAQUE atau FIDO2 lebih disukai, tetapi SRP tetap merupakan pilihan yang valid untuk sistem yang memerlukan autentikasi timbal balik berbasis kata sandi tanpa kerentanan terhadap phishing.

Pemeriksaan Nilai Verifikasi SRP

Dalam SRP, apa yang disimpan server sebagai pengganti kata sandi pengguna?

Rangkuman Pelajaran: Autentikasi SRP

SRP menyimpan nilai verifikasi kata sandi (bukan kata sandinya), menghasilkan kunci sesi bersama melalui pertukaran mirip DH, dan menyediakan autentikasi timbal balik yang tahan terhadap phishing. SRP-6a meningkatkan versi aslinya dengan ketahanan terhadap serangan penebakan. Rantai Kunci iCloud milik Apple dan 1Password menggunakan SRP dalam produksi. OPAQUE dan FIDO2 merupakan penerus modern untuk sistem baru.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “SRP: Protokol Kata Sandi Jarak Jauh yang Aman” gratis?

Ya — teks lengkap “SRP: Protokol Kata Sandi Jarak Jauh yang Aman” 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 “SRP: Protokol Kata Sandi Jarak Jauh yang Aman”?

Pahami cara SRP memungkinkan klien dan server saling mengautentikasi tanpa server menyimpan kata sandi. 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 “SRP: Protokol Kata Sandi Jarak Jauh yang Aman” 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. Masalah Dasar Autentikasi Kata Sandi
  2. SRP: Protokol Kata Sandi Jarak Jauh yang Aman
  3. Protokol PAKE dan Sifat-sifatnya
  4. Autentikasi Tanpa Kata Sandi: WebAuthn dan FIDO2
← Kembali ke Cryptology Academy