- Signal memperkenalkan Sparse Post Quantum Ratchet(SPQR, ratchet pasca-kuantum jarang) untuk secara signifikan meningkatkan keamanan Signal Protocol, memperkuat ketahanan terhadap ancaman komputasi kuantum di masa depan sambil tetap mempertahankan jaminan Forward Secrecy(FS) dan Post-Compromise Security(PCS) yang ada
- Signal Protocol adalah sekumpulan spesifikasi kriptografi yang menyediakan enkripsi ujung ke ujung untuk komunikasi privat yang dipertukarkan setiap hari oleh miliaran orang di seluruh dunia, dan sejak diumumkan pada 2013 telah diadopsi tidak hanya oleh aplikasi Signal tetapi juga oleh produk perpesanan besar lainnya
- PQXDH yang diumumkan sebelumnya melindungi dari serangan harvest-now-decrypt-later dengan mengintegrasikan rahasia kriptografi tahan kuantum saat menyiapkan sesi chat, tetapi SPQR mencapai jaminan FS dan PCS dengan cara yang aman terhadap kuantum untuk meminimalkan dampak kompromi dan memulihkan keamanan seiring percakapan berlanjut
- SPQR digabungkan dengan Double Ratchet milik Signal yang sudah ada untuk membentuk kombinasi yang disebut Triple Ratchet; pengalaman pengguna tidak berubah dan semua percakapan akan otomatis beralih ke protokol baru untuk melindungi komunikasi saat ini maupun di masa depan
- Melalui riset akademik (makalah Eurocrypt 25, USENIX 25), chunking berbasis erasure code, dan verifikasi formal (ProVerif, hax/F*), ketepatan protokol dan properti keamanannya diverifikasi secara mekanis, lalu diverifikasi ulang pada setiap perubahan di pipeline CI agar tetap menjadi bagian dinamis dari proses pengembangan
Gambaran umum
- Signal meningkatkan keamanan Signal Protocol ke tingkat baru dengan memperkenalkan Sparse Post Quantum Ratchet(SPQR)
- Berdasarkan fondasi keamanan yang sudah kuat, SPQR memperkuat struktur jaminan Forward Secrecy (FS) dan Post-Compromise Security (PCS) untuk menghadapi ancaman komputasi kuantum di masa depan
- Sistem ini diterapkan secara mulus di seluruh platform hingga pengguna nyaris tidak merasakan perubahan, sambil memastikan percakapan tetap aman bahkan jika komputer kuantum menjadi kenyataan
Kondisi Signal Protocol saat ini
- Signal Protocol adalah standar perpesanan enkripsi ujung ke ujung yang digunakan sehari-hari
- Dalam protokol lama, struktur double ratchet mewujudkan Forward Secrecy dengan fungsi hash (aman terhadap kuantum) dan Post-Compromise Security dengan Elliptic Curve Diffie-Hellman (ECDH)
- ECDH saat ini sangat aman, tetapi berisiko menjadi rentan terhadap komputer kuantum di masa depan
- Ratchet adalah teknik yang menghasilkan kunci rahasia baru sepanjang percakapan untuk mencegah terbongkarnya isi pesan sebelumnya maupun berikutnya
- Alice dan Bob secara berkala menyepakati informasi rahasia ECDH baru untuk memperbarui sesi
Kebutuhan mencampurkan komponen keamanan kuantum
- Komputer kuantum dapat melumpuhkan metode kriptografi asimetris yang ada seperti ECDH
- Untuk mengantisipasi hal ini, pendekatan awal bernama PQXDH mencampurkan informasi rahasia yang aman terhadap kuantum saat sesi dimulai
- Di tengah percakapan, kebutuhan akan pertukaran kunci berkelanjutan berbasis algoritme Key Encapsulation Mechanism(KEM) yang aman terhadap kuantum menjadi makin penting
- KEM menghasilkan rahasia bersama seperti Diffie-Hellman, tetapi memerlukan pertukaran pesan asimetris yang terurut
- Dengan memanfaatkan KEM yang telah distandardisasi seperti ML-KEM, rahasia berkelanjutan yang aman terhadap kuantum dapat dihasilkan selama sesi berlangsung
State machine dan optimisasi bandwidth
- Karena skema KEM memiliki ukuran data pertukaran kunci yang besar (sekitar 1000 byte), optimisasi bandwidth komunikasi menjadi isu penting
- Logika state machine digunakan untuk mengelola data apa yang harus dipertukarkan Alice dan Bob dan kapan, seperti Encapsulation Key dan Ciphertext
- Dengan chunking data dan pemanfaatan erasure code, data besar dibagi menjadi potongan kecil agar mudah dipulihkan saat terjadi kehilangan atau drop pesan
- Sistem juga dirancang agar penyerang sulit secara selektif menjatuhkan hanya chunk pertukaran kunci untuk memicu kegagalan protokol
- Dengan demikian, kehilangan pesan, pengurutan ulang, dan keterlambatan yang umum pada lingkungan mobile dapat ditangani secara efektif
Trade-off efisiensi-keamanan dan optimisasi
- Jika pembuatan shared secret dipercepat tanpa batas, justru ada risiko bahwa seluruh informasi rahasia pada titik waktu tertentu bisa terekspos saat terjadi serangan
- Signal menjalankan banyak simulasi state machine untuk menemukan titik keseimbangan antara keamanan dan efisiensi di antara transmisi paralel dan serial
- Dengan menganalisis proses detail ML-KEM dan membagi serta mengirim chunk secara bersamaan, pemanfaatan bandwidth dimaksimalkan
- Proses ini diberi nama ML-KEM Braid dan digunakan sebagai salah satu modul dalam protokolnya
Struktur Triple Ratchet
- Double Ratchet yang sudah ada dan SPQR yang baru serta aman terhadap kuantum dijalankan bersama, lalu kuncinya digabungkan untuk menghasilkan kunci enkripsi hibrida
- Dalam pendekatan Triple Ratchet, pesan hanya berisiko terekspos jika kedua algoritme sama-sama berhasil ditembus, sehingga keamanannya meningkat drastis
- Pada implementasi nyata, kunci kriptografi dari double ratchet dan SPQR masing-masing diambil lalu digabungkan sekali lagi dengan fungsi derivasi kunci
- Struktur triple ratchet menjamin keamanan kuantum maupun keamanan klasik untuk pesan masa lalu dan masa depan
Penerapan bertahap yang heterogen dan penanganan kompatibilitas
- Karena upgrade diterapkan secara bertahap, bisa timbul masalah kompatibilitas dengan pengguna yang belum memakai SPQR
- Selama proses negosiasi pesan awal, downgrade sementara diizinkan agar kedua pengguna dapat berkomunikasi dengan metode yang sama-sama kompatibel
- Saat data SPQR dilampirkan pada pesan, data itu dilindungi oleh kode autentikasi untuk mencegah penyerang memaksa downgrade
- Setelah kedua pihak menyelesaikan negosiasi kompatibilitas, keputusan penggunaan SPQR dikunci untuk seluruh sesi berikutnya
- Setelah semua pengguna di-upgrade ke versi yang mendukung SPQR, sesi lama akan diarsipkan/diakhiri dan sesi baru akan sepenuhnya memakai SPQR
Verifikasi keamanan protokol dan alat verifikasi
- Sejak tahap perancangan protokol, Signal aktif berkolaborasi dengan peneliti akademik serta pihak seperti PQShield, AIST, NYU
- Melalui makalah konferensi seperti Eurocrypt 25 dan USENIX 25, protokol ini dibuktikan secara teoretis memenuhi keamanan kuantum dan persyaratan jaminan yang sudah ada
- Dari enam protokol ratchet pasca-kuantum yang diusulkan, SPQR dan Katana (protokol baru yang memanfaatkan KEM) yang bertahan
- Formal Verification dikelola secara otomatis dan berkelanjutan dengan alat seperti Cryspen, ProVerif, hax, F*, serta pipeline CI
- Dengan menyinkronkan implementasi Rust dan model verifikasi, kesesuaian antara desain dan kode nyata dapat dijamin
- Selama implementasi, invariant (assertion) juga diterapkan secara aktif di dalam kode; jika terjadi kesalahan, aplikasi dihentikan untuk mencegah potensi kerentanan lebih dini
Verifikasi berjalan berdampingan dengan pengembangan berkelanjutan
- Prosedur formal verification bukan pekerjaan sekali jalan, tetapi dijalankan ulang secara otomatis setiap kali ada perubahan pada codebase
- Jika verifikasi gagal saat kode baru akan digabungkan, build juga tidak dapat dilanjutkan
- Berdasarkan pengalaman nyata, selama kesalahan batas dan prasyarat/pasca-syarat dikelola dengan jelas, pemeliharaan tetap mudah dan kualitas protokol dapat dimaksimalkan
Ringkasan kesimpulan
- Signal memperkenalkan struktur Triple Ratchet yang andal (Double Ratchet + SPQR) untuk menghadirkan keamanan tahan kuantum bagi semua pesan
- Transisi protokol akan dilakukan bertahap, tanpa gangguan layanan atau ketidaknyamanan bagi pengguna
- Tambahan volume data transmisi diminimalkan sehingga hampir tidak membebani biaya di lingkungan mobile
- Karena penyerang harus memicu kondisi denial-of-service jika ingin memanipulasi protokol, sistem ini juga kuat terhadap serangan man-in-the-middle (MITM)
- Kode dan desain diverifikasi secara formal dan sistematis, serta akan terus menjaga keamanannya ke depan
- Dari sudut pandang pengguna Signal, perubahan protokol maupun ancaman komputer kuantum akan ditangani secara tidak mencolok sambil tetap menjaga lingkungan yang aman
1 komentar
Komentar Hacker News
Meskipun Signal terus menerbitkan makalah kriptografi yang benar-benar hebat, dari sudut pandang produk rasanya seperti mereka mencoba ini-itu tanpa benar-benar tahu apa yang akan berhasil. Mereka mencoba hal-hal baru seperti handshake pasca-kuantum, Stories, transfer uang, dan lain-lain, tetapi tetap belum ada SDK, API, atau dukungan bot. Library resminya juga belum matang dan tidak punya dokumentasi. Banyak fungsinya masih tersembunyi di sisi klien. Memang mereka sudah membuka spesifikasi protokolnya, tetapi menyuruh orang membuat library sendiri dari situ adalah sikap yang tidak bertanggung jawab dan sepenuhnya terlepas dari cara menjalankan produk nyata. Untuk platform yang dipakai jutaan orang, hal-hal dasar seperti ini belum tersedia. Aplikasi seperti WhatsApp dan iMessage setidaknya membuka sesuatu untuk developer, sementara Signal terkesan benar-benar menyingkirkan urusan developer. Sampai terasa seperti tidak ada product manager, karena sulit menemukan strategi yang jelas. Sebagai pengguna lama Signal yang juga aktif mempromosikannya, Signal terasa seperti messenger yang menempelkan teknologi kriptografi panas di sana-sini, namun lebih tertutup bagi developer bahkan dibanding ekosistem Apple. Meski begitu, saya tetap berterima kasih kepada orang-orang yang membuat produknya
Setuju. Khususnya fitur "Stories" benar-benar memberi kesan seperti sekadar dilempar untuk melihat apakah ada yang jadi. Saya pikir karena Signal berasal dari organisasi nirlaba yang berorientasi anarkisme, tujuannya memang berbeda dari perusahaan biasa. Aplikasinya tetap menjalankan misi utamanya dengan baik, jadi tidak masalah, tetapi akan sangat bagus kalau ada SDK
Saya penasaran apakah fitur seperti API atau bot bisnis benar-benar penting. WhatsApp dan iMessage memang punya API bisnis, tetapi sebagai pengguna biasa saya sebenarnya belum pernah berinteraksi dengan bisnis lewat itu. Sebaliknya, saya justru kadang hanya terganggu oleh bot. Masalah nyata di Signal adalah ketika aplikasi diam-diam jadi versi lama atau pembaruannya berhenti, tidak ada pemberitahuan dan akibatnya pesan benar-benar terlewat. Itu misi inti messenger, dan itu justru gagal
Justru bagi saya, tidak adanya API dan bot adalah nilai plus
Saya ingin mereka tetap fokus membuat messenger yang aman dan layak dipakai seperti sekarang, tanpa fitur-fitur seperti itu
Hal yang paling membuat saya kesal di Signal adalah nada dering yang didengar penelepon tetap berbunyi meskipun ponsel penerima sebenarnya tidak berdering. Ini memang kebijakan resmi yang sejak dulu mereka bela sebagai sesuatu yang disengaja. Setelah suara sonar kapal selam lama dihapus, tetap saja seperti ini
Saya kaget nama protokol Signal adalah SPQR. SPQR adalah singkatan Latin untuk "Senatus Populusque Romanus" lihat Wikipedia. Keren sekali
Memakai SPQR untuk nama protokol futuristis memberi kesan seperti Ozymandias
Penamaannya sangat cerdas. Saya tahu ini sering muncul sebagai tato prajurit legiun Romawi di miniseri BBC "Rome" Wikipedia Rome
Strength and Honor (Kekuatan dan Kehormatan)
Menurut saya humor seperti ini hanya bisa ditemukan di Hacker News. Saya jadi teringat komik lama tentang "bagaimana matematikawan mengingat nomor loker mereka". ("1975? Itu akar kuadrat dari 3,900,625!")
Jangan-jangan nama "SPQR" dipilih cuma karena terdengar seperti "Speaker", jadi cocok untuk aplikasi chat? Tidak semua hal harus dikaitkan dengan Romawi
Kelemahan terbesar Signal adalah cara membedakan identitas lewat nomor telepon. Bukan cuma peretas, pemerintah otoriter pun bisa merebut nomor telepon kapan saja. Memikirkan ancaman masa depan itu penting, tetapi prioritasnya perlu diubah
Saya bagikan kalau-kalau masih ada yang belum tahu: Pengenalan fitur nama pengguna untuk menyembunyikan nomor telepon di Signal (Februari 2024)
Banyak messenger aman berfungsi tanpa nomor telepon, bahkan menyediakan layanan sambil menghapus metadata. Di negara tempat nomor telepon dan kartu SIM terikat ke identitas pribadi, pendekatan Signal menjadi hambatan masuk
Keharusan nomor telepon membantu mencegah spam, jadi ini cara yang mudah sekaligus cukup tepercaya
Kewajiban memverifikasi identitas lewat nomor telepon sendiri tidak terasa sebagai masalah yang fatal. Kalaupun pemerintah otoriter merebut nomor itu, mereka tetap tidak otomatis mendapat riwayat pesan. Pengguna yang menerima sinyal pun akan mendapat peringatan. Bukan berarti Signal tanpa masalah, dan kritik serta standar tetap perlu diajukan, tetapi ini tetap satu-satunya messenger dengan enkripsi end-to-end penuh dan perlindungan metadata yang bisa dipakai orang biasa. Ada layanan yang lebih kuat dari sisi keamanan dan privasi, tetapi fakta bahwa nenek saya pun bisa memakainya itu sangat penting. Menurut saya keamanan Signal sudah cukup matang, jadi sekarang akan bagus kalau mereka lebih fokus pada privasi. Sambil tetap mengkritik, saya masih sangat merekomendasikannya dan aktif menyarankannya kepada teman-teman. Saya juga sudah beberapa kali berdonasi lihat laporan transparansi Signal
Signal punya fitur bernama "registration lock", jadi kalau kata sandi disetel, pembajakan akun akibat perebutan SIM bisa dicegah
Saya penasaran, setelah Signal menerapkan SPQR (ratchet tahan kuantum) kali ini, posisinya bagaimana dibanding PQ3 milik iMessage. Saya juga ingin mendengar ulasan tentang upaya messaging tahan kuantum sebelumnya dari Cyph dan Simplex. Pengenalan iMessage PQ3 / Cyph - Post-Quantum Castle / Simplex - fitur tahan kuantum
SPQR milik Signal, seperti PQ3, adalah struktur ratchet berbasis ML-KEM, tetapi cara pengiriman kuncinya berbeda. Karena panjang kunci ML-KEM besar, PQ3 mengirim kunci hanya sesekali secara periodik, sedangkan Signal membaginya dan mengirim bersama pesan. Anggapannya adalah hidden bandwidth dan chunking justru lebih aman serta efisien dari sisi keamanan. Total bandwidth memang bisa bertambah karena error correction coding, tetapi ukuran tiap pesan menjadi tetap. Apple juga punya kendali jaringan yang lebih kuat, jadi lebih mudah baginya melakukan pertahanan agresif terhadap penggantian ulang kunci
Saya ragu iMessage benar-benar bermakna dalam lingkungan saat ini. Soalnya sebagian besar pengguna iPhone memakai backup iCloud tanpa E2E, dan backup terenkripsi penuh hanyalah opsi pilihan. Artinya bila ada permintaan penegak hukum, Apple bisa membuka kuncinya, jadi bahkan tanpa komputer kuantum pun sebenarnya sudah cukup rentan
Saat melihat nama SPQR (Sparse Post-Quantum Ratchet), saya merasa sepertinya ada penggemar sejarah Romawi di tim Signal
Seberapa sering kalian memikirkan Kekaisaran Romawi?
Mungkin saja penamaannya adalah variasi dari kata terbaik untuk aplikasi chat, yaitu "Speaker"
Kelemahan terbesar Signal adalah autentikasi identitas berbasis nomor telepon. Bukan cuma peretas, pemerintah otoriter pun selalu punya risiko merebut kepemilikan nomor. Ancaman masa depan boleh saja, tetapi prioritasnya harus diubah
Saya berharap Signal menjadi lapisan transport pesan, semacam 'bus transport'. Misalnya, jika saya bisa meminta dan memberikan informasi lokasi saya secara aman ke kontak tertentu (misalnya istri saya), saya tidak perlu melewati Google. Mereka sudah menyelesaikan autentikasi identitas, jadi saya pikir sekarang mereka perlu mendorong pembuatan aplikasi di atas Signal. 2FA lewat Signal juga akan lebih aman daripada SMS
Saya juga ingin sekali melihat perbandingan antara protokol Signal modern dengan Matrix, MLS, dan yang sejenis. Perkembangannya sangat cepat sehingga sulit diikuti, jadi saya penasaran seperti apa peta hubungannya saat ini
Matrix adalah open standard dan memakai kombinasi Olm+Megolm (Double Ratchet + group key ratchet), tetapi metadata ditampilkan ke server dalam strukturnya saat ini (struktur grup terekspos ke server, nilai atribut disimpan sebagai teks biasa, dsb.; sedang ada perbaikan: Blog Element - rencana enkripsi metadata room). Karena arsitekturnya terdistribusi, siapa pun bisa membuat server.
Terakhir, MLS (RFC 9420) adalah protokol keanggotaan grup dan pertukaran kunci yang dapat menggantikan Double Ratchet, dan belakangan juga ada usulan penerapan PQ. Performanya efisien dengan O(log N) per grup. Masih belum matang dan lebih kompleks dibanding Double Ratchet. Adopsinya juga cenderung lambat, tetapi sebagai standar IETF sudah dipakai Google di RCS, juga di Discord/Webex VoIP, dan lain-lain. Ia tidak menyediakan penyembunyian metadata maupun deniability kriptografis
Artikel ini adalah tulisan tentang kriptografi dengan kualitas terbaik yang pernah saya baca. Saya merasa punya tingkat pemahaman tertentu tentang kriptografi, tetapi artikel lain dengan topik serupa benar-benar membuat mata saya lelah di tengah jalan, sementara tulisan ini, meski membahas topik yang sama sekali asing, tetap bisa saya ikuti alurnya sepenuhnya
Adakah yang paham ancaman kriptografi kuantum bisa menjelaskan dengan mudah bagaimana protokol terbaru Signal sekarang jadi lebih aman? Meski saya membacanya, saya masih belum benar-benar mengerti kenapa ini lebih aman. Saya juga penasaran apakah ada penurunan performa yang terasa dalam praktik
Penjelasan sederhananya, skenario ancaman standar adalah pihak lawan "tidak bisa mendekripsi sekarang, tetapi suatu hari ketika komputer kuantum menjadi mungkin, mereka akan mengumpulkan ciphertext yang dikoleksi saat ini lalu memecahkannya sekaligus di masa depan". Ini model "harvest and decrypt". Jika rahasia Signal hari ini memang perlu disimpan lama atau tetap aman di masa depan, maka mulai sekarang dibutuhkan kesepakatan kunci PQ. Itulah alasan protokol baru seperti PQXDH diperlukan.
Ratchet PQ penting karena ada ancaman yang sangat realistis: penyerang tidak hanya mengumpulkan ciphertext dalam jangka panjang, tetapi suatu hari mungkin juga berhasil meretas perangkat atau memanfaatkan cacat implementasi tertentu untuk membocorkan kunci. Karena itu dibutuhkan pertahanan ganda berupa forward secrecy dan post-compromise security. Jika kunci terus diperbarui setiap saat, maka sekali pun ada paparan terhadap serangan, baik pesan masa lalu maupun masa depan tidak otomatis ikut berisiko. Agar pertahanan ini benar-benar bekerja dalam lingkungan kriptografi kuantum, seluruh struktur ratchet juga harus diselesaikan secara PQ. Kalau tidak, penyerang akan menargetkan bagian ratchet itu saja, dan semua properti keamanan runtuh
Implementasi kriptografi tahan kuantum Signal sebelumnya tidak memiliki PCS (post-compromise security). Sekarang fitur itu tersedia. Saya senang akhirnya mengerti arti PCS. Karena tampak seperti konsep baru, saya sempat antusias, tetapi sedikit kecewa karena ternyata pendekatan ini sudah pernah dipakai di protokol OTR (Off-the-Record). Pertukaran kunci ini tidak terlalu sering terjadi, jadi hampir tidak ada penurunan performa nyata
Ringkasan blog resmi:
Sono pazzi, questi Romani (Orang-orang Romawi ini benar-benar aneh)