Double RatchetK0K1K2K3DHDHDHm1m2m3m4fresh key per message → forward + future secrecy

Protokol Isyarat

12 min bacaKriptografi

Protokol Isyarat ialah enjin kriptografi di sebalik Signal, WhatsApp, utas disulitkan Messenger Facebook dan pemesejan RCS Google. Ia adalah perkara yang paling hampir dengan standard yang diselesaikan untuk pemesejan tak segerak yang selamat — disemak rakan sebaya, digunakan pada skala berbilion pengguna dan tiada tandingan dalam gabungan kerahsiaan hadapan, kerahsiaan masa hadapan dan pengesahannya.

Badan artikel penuh disediakan dalam bahasa Inggeris di bawah.

Protokol Signal telah dibangunkan oleh Open Whisper Systems (kini Signal Foundation) bermula pada tahun 2013. Ia berkembang daripada protokol pemesejan selamat (OTR, SCIMP) sebelum ini dan menggabungkan idea mereka dengan pembinaan ratcheting novel. Inovasi teras: setiap mesej menggunakan kunci penyulitan baharu, jadi tolak ansur satu kunci mendedahkan hanya satu mesej — dan protokol memulihkan dirinya selepas kompromi dengan memasukkan bahan kunci baharu dalam mesej berikutnya.

Primitif kriptografi

Signal menggunakan set bangunan kecil yang disemak dengan baik blok:

  • X25519 (Curve25519 Diffie-Hellman) untuk perjanjian utama
  • HKDF (KDF berasaskan HMAC) untuk mendapatkan kunci daripada rahsia yang dikongsiPLZPLZ6XX5PLZPLZ6XX5

    X6 Mod CBC dengan HMAC-SHA256 untuk penyulitan mesej ("Sulitkan-kemudian-MAC")

  • Ed25519 tandatangan untuk kunci identiti

Mesej X3X8W jabat tangan awal di luar talian PLZXX2 — Isyarat memerlukan cara untuk mewujudkan kunci kongsi tanpa pertukaran interaktif. Jawapannya ialah X3DH (Extended Triple Diffie-Hellman). Apl Bob memuat naik tiga kekunci ke pelayan Isyarat:

  • Kunci identiti jangka panjangnya
  • A prakunci yang ditandatangani jangka panjang (dimuat semula secara berkala)XPLZ40AXXPL satu kali ganda prekeys (digunakan sekali setiap sesi baharu)

Apl Alice mengambil ketiga-tiganya. Ia melakukan empat pengiraan Diffie-Hellman yang menggabungkan kunci ephemeral dan identitinya dengan tiga prekey Bob, kemudian HKDF-mencampurkan hasilnya menjadi rahsia bersama. Mesej pertama termasuk kunci awam sementara Alice dan ID prakunci yang digunakannya; Apl Bob membina semula rahsia kongsi yang sama dari sisinya.

Matematik adalah tidak simetri: Alice tidak memerlukan Bob dalam talian, tetapi kekuatan kriptografi adalah setara dengan jabat tangan interaktif.

Double Ratchet

Setelah Alice dan Bob berkongsi rahsia akarnya, protokol akarnya. Dua ratchet kekunci pendahuluan untuk setiap mesej:

  • Symmetric-key ratchet: untuk setiap mesej berturut-turut daripada pengirim yang sama, dapatkan kunci rantai baharu dengan mencincang kunci rantai sebelumnya. Kunci rantai dicampur dengan HKDF untuk menghasilkan kekunci mesej yang unik.
  • Diffie-Hellman ratchet: setiap kali arah perbualan terbalik (Bob membalas kepada Alice), Bob menjana pasangan kekunci ephemeral yang baru, melakukan DH dengan kunci ephemeral terakhir Alice dicampurkan ke dalam rahsia akar yang terhasil. Dari titik itu, ratchet simetri baharu dijalankan.

Gabungan ini memberikan kedua-dua forward kerahsiaan (mesej lepas kekal sulit jika kunci semasa bocor) dan kerahsiaan masa depan / keselamatan selepas kompromi (selepas satu kompromi adalah langkah peribadi sekali lagi).

Apakah Isyarat berfungsi dengan baik

  • Kerahsiaan ke hadapan pada butiran mesej. Kebanyakan protokol yang disulitkan memberikan kerahsiaan ke hadapan pada butiran sesi. Isyarat melakukannya setiap mesej.
  • Penghantaran luar pesanan. Jika mesej 5, 6, 7 tiba dalam urutan 7, 5, 6, penerima masih boleh menyahsulit kesemuanya dengan menyimpan kekunci mesej yang dilangkau secara ringkas.
  • XPLZPLZ81XXPLZPLZ81XXPLZPLZ81XXPLZNC81
  • PLnch81
  • PLZ81XPLnch81
  • PLZ81
  • PLZ81
  • PLZ81
  • PLZ81XPLZZ81
  • PLZ81
  • PLZ81
  • PLZ81
  • PLZ81
  • PLZ81XPLZZ81 memulakan perbualan tanpa penerima berada dalam talian.
  • Sokongan berbilang peranti. Protokol Sesame berlapis di atas mengendalikan berbilang peranti bagi setiap pengguna.
  • Metadata minimum. Signal's server's signal's design design (metadata termeterai) menyembunyikan lebih banyak reka bentuk metadata kenalan peribadi daripada pengirim termeterai, pesaing.

Apa yang sukar

Protokol ialah dua pihak. Pemesejan kumpulan memerlukan jentera tambahan — Penyelesaian isyarat ialah "kunci penghantar" di mana setiap pengirim memperoleh kunci setiap kumpulan dan mengedarkannya secara berpasangan kepada setiap ahli melalui protokol biasa. Jaminan kerahsiaan hadapan dalam kumpulan adalah lebih lemah daripada dalam sembang 1:1; ahli baharu boleh ditambah tetapi kos operasi kriptografi meningkat dengan saiz kumpulan. Piawaian MLS (Keselamatan Lapisan Mesej) IETF menangani perkara ini pada skala dan secara beransur-ansur diterima pakai.

Pengesahan identiti masih bergantung pada perbandingan luar jalur nombor keselamatan. Jika anda tidak mengesahkan, anda mempercayai pelayan Signal untuk tidak menukar kunci secara senyap. Kebanyakan pengguna tidak pernah mengesahkan; keselamatan protokol kemudiannya bergantung pada kejujuran pengendali ditambah dengan kesukaran pertukaran massa yang tidak dapat dikesan.

Di mana anda menemui Protokol Isyarat

  • Signal itu sendiri (pelaksanaan rujukan)
  • WhatsApp (2.5 bilion pengguna — perkhidmatan pemesejan disulitkan hujung-ke-hujung terbesar pernah)XPLZ9PLZPLZPLZ1
  • X1000000000 Messenger Pelancaran E2E selesai pada 2024)
  • Google Messages / RCS (sembang 1:1 secara lalai; sembang kumpulan ditambahkan kemudian)
  • Perbualan peribadi Skype (warisan)XPLZ21VXXa lain pelanggan

Pustaka protokol, libsignal, adalah sumber terbuka dan diaudit. Reka bentuk kriptografi telah bertahan di bawah lebih daripada satu dekad penelitian.

Soalan lazim

Adakah Signal benar-benar disulitkan hujung ke hujung, atau adakah anda perlu mempercayai pelayan?
Secara matematik hujung ke hujung — pelayan tidak boleh menyahsulit mesej kerana ia tidak mempunyai kunci. Anda mempercayai pelayan Signal untuk tidak menukar kunci identiti secara senyap semasa persediaan akaun. Ciri pengesahan nombor keselamatan membolehkan anda mengesahkan di luar jalur bahawa tiada pertukaran berlaku.
Adakah WhatsApp benar-benar menggunakan protokol yang sama?
Ya, Protokol Isyarat yang mendasari adalah sama. Perbezaannya ialah metadata: WhatsApp menyimpan nombor telefon dan (sehingga baru-baru ini) beberapa metadata tentang siapa yang menghantar mesej kepada siapa dan bila. Isyarat menyembunyikan lebih banyak metadata mengikut reka bentuk. Kriptografi kandungan mesej adalah sama.
Apakah perbezaan antara Protokol Isyarat dan MLS?
Protokol Isyarat ialah dua pihak dengan sambungan untuk kumpulan; MLS (Messaging Layer Security, RFC 9420) ialah piawaian IETF yang lebih baharu yang direka bentuk asli untuk kumpulan, dengan operasi yang cekap sebagai skala saiz kumpulan. MLS menggunakan terbitan utama berasaskan pokok yang mengendalikan ribuan kumpulan ahli dengan cekap. Beberapa perkhidmatan utama sedang berhijrah ke MLS untuk sembang kumpulan; Protokol Isyarat kekal sebagai peneraju untuk 1:1.
Bolehkah Protokol Isyarat dipecahkan oleh komputer kuantum?
X25519 dan Ed25519 terdedah kepada komputer kuantum berskala besar. Isyarat menambah PQXDH (hibrid pasca-kuantum) pada tahun 2023, mencampurkan dalam CRYSTALS-Kyber untuk kerahsiaan hadapan terhadap penyerang kuantum masa hadapan. Rachet berganda itu sendiri kekal selamat secara klasik; PQXDH alamat "tuai-sekarang-nyahsulit-kemudian."
Mengapakah semua apl pemesejan tidak menggunakan Protokol Isyarat?
Kebanyakan yang utama kini melakukan atau sedang bertukar. Penahanan mempunyai sebab perniagaan: Telegram lalai kepada bukan E2E untuk sembang awan supaya ia boleh menyampaikannya merentas peranti; iMessage menggunakan protokol Apple sendiri; sesetengah perkhidmatan terkawal pematuhan memerlukan akses sebelah pelayan kepada kandungan mesej untuk semakan undang-undang. Protokol telah menang secara teknikal; pengangkatan kini adalah politik.
Protokol Isyarat Dijelaskan: Bagaimana Pemesejan Disulitkan Hujung-ke-Hujung Sebenarnya Berfungsi