Claude Shannon, ahli matematika yang meletakkan dasar-dasar teori informasi, menggunakan entropi untuk mengukur tingkat ketidakpastian suatu hasil. Dalam kasus dadu enam sisi yang adil, setiap sisi memiliki peluang yang sama untuk muncul — satu dari enam. Hal ini memberikan setiap lemparan sekitar 2,585 bit entropi. Pelemparan koin menghasilkan 1 bit, sedangkan lemparan dadu delapan sisi menghasilkan 3 bit.

Yang penting bukanlah bahwa dadu yang dilempar berperilaku acak pada tingkat atom. Itu tidak benar. Hasilnya ditentukan oleh hukum fisika, tetapi terlalu banyak variabel kecil yang berubah secara bersamaan sehingga siapa pun dapat menghitung hasilnya dengan andal. Dadu meninggalkan tangan dengan kecepatan tertentu, sudut tertentu, dari ketinggian tertentu, dan dengan rotasi tertentu, kemudian menghantam meja dan berubah arah pada setiap pantulan.
Dalam praktiknya, bahkan perubahan terkecil dalam lemparan dapat menghasilkan hasil yang sama sekali berbeda. Posisi jari yang sedikit berbeda atau lemparan yang sedikit lebih kuat mengubah lintasan sedemikian rupa sehingga angka akhir tidak dapat diprediksi hanya dengan mengamati gerakannya. Hasilnya mungkin deterministik secara teori, tetapi untuk pembuatan dompet, yang penting adalah bahwa penyerang tidak dapat mereproduksi atau menghitungnya.
Mengubah Hasil Lemparan Dadu Menjadi Data yang Dapat Digunakan
Komputer tidak dapat langsung menggunakan daftar hasil lemparan dadu. Pertama-tama, lemparan harus diubah menjadi data biner, dan metode konversinya penting.
Metode sederhana 'genap-ganjil' mudah dipahami, tetapi membuang sebagian besar entropi yang tersedia. Setiap lemparan direduksi menjadi satu bit, padahal dadu menghasilkan sekitar 2,6 bit informasi. Metode yang lebih efisien mengumpulkan urutan lemparan yang panjang dan memproses seluruh rangkaian, biasanya dengan fungsi hash kriptografis. Hal ini memungkinkan lebih banyak keacakan untuk dipertahankan.
Prinsip yang sama mendasari Diceware — metode yang sudah lama dikenal untuk membuat frasa sandi yang aman — dan juga pembuatan dompet Bitcoin secara manual. Frasa pemulihan dompet 12 kata yang khas terdiri dari 128 bit entropi. Dengan sekitar 2,6 bit per lemparan, sekitar 50 lemparan dadu yang adil memberikan informasi awal yang cukup untuk melewati ambang batas ini.
Perusahaan Coinkite, produsen dompet perangkat keras Coldcard, merekomendasikan 99 lemparan atau lebih bagi pengguna yang mengejar entropi mendekati 256 bit. Ini tidak membuat dompet menjadi dua kali lebih sulit untuk digunakan, tetapi memberikan margin keamanan matematis yang jauh lebih besar bagi rahasia yang dihasilkan.
Uji Praktis Seed yang Dihasilkan dengan Dadu
Perbedaan ini menjadi penting setelah Coinkite mengungkap masalah firmware yang berakar pada tahun 2021. Pada beberapa perangkat Coldcard, perangkat lunak dapat melewati generator angka acak perangkat keras internal dan menggunakan proses yang lebih rentan terkait dengan informasi non-rahasia perangkat sebagai gantinya.
Karena bagian dari algoritma ini dapat direkonstruksi, penyerang dapat mempersempit ruang kemungkinan kunci dompet, alih-alih mencari di seluruh ruang kunci. Kerentanan ini dikaitkan dengan pencurian sekitar 1,128,6633 BTC dari sekitar 1,100 alamat (per 13:00 Waktu Timur).

Seed dompet yang dibuat hanya berdasarkan jumlah lemparan dadu independen yang cukup tidak berisiko melalui saluran yang sama. Para pengguna ini menyediakan entropi mereka sendiri, sehingga generator perangkat keras yang rusak tidak terlibat dalam pembuatan rahasia utama dompet.
Namun, perlindungan ini hanya berlaku untuk frasa seed yang dihasilkan dengan lemparan dadu. Perlindungan ini tidak secara otomatis melindungi semua data rahasia lainnya yang dihasilkan perangkat.
Wizard Sardine Menganalisis Klausul Kecil
Pada 1 Agustus, peneliti keamanan Kevin Loaec mempublikasikan penilaian kerentanan Coldcard di situs Wizard Sardine. Pengamatannya yang paling penting menyangkut fungsi Coldcard yang menghasilkan kunci rahasia mereka sendiri secara terpisah dari seed utama dompet.
"Saya merasa sangat penting untuk menekankan bahwa bahkan pengguna yang mengimpor atau menghasilkan seed dengan dadu tetap rentan jika mereka menggunakan fungsi-fungsi berikut," tulis Loaec di X, sebelum menyajikan diagram sistem yang rentan.
Diagram menunjukkan bagaimana generator angka acak yang rentan memberi daya pada beberapa fungsi sekunder Coldcard. Ini termasuk pembuatan dompet kertas, kloning perangkat, enkripsi sesi USB, fungsi Secret Teleport, pembuatan kunci untuk penandatanganan bersama, generator kata sandi bawaan, dan kode otentikasi modul keamanan perangkat keras.

Dompet utama, yang dibuat dengan 99 lemparan dadu, tetap berada di bagian sistem yang terpisah. Masalahnya adalah bahwa alat-alat lain masih dapat meminta data acak baru dari generator yang rusak. Akibatnya, kode seed yang aman tidak menjamin bahwa setiap kata sandi, cadangan, kode otentikasi, atau kunci sekunder yang dibuat pada perangkat yang sama sama amannya.
Mengapa Kebanyakan Pengguna Baru Tidak Akan Melempar Dadu
Entropi yang dihasilkan dengan dadu secara teknis kuat jika dilakukan dengan benar, tetapi bagi kebanyakan pengguna baru, ini bukan pilihan default yang realistis. Melempar dadu 50 atau 99 kali, memasukkan setiap hasil dengan tepat, dan memastikan tidak ada lemparan yang terlewat atau terulang membutuhkan kesabaran dan konsentrasi tinggi. Satu angka yang salah dimasukkan dapat sepenuhnya mengubah alamat dompet akhir, dan kebanyakan perangkat tidak dapat menentukan apakah kesalahan disebabkan oleh lemparan yang salah, kesalahan input, atau kesalahpahaman terhadap instruksi.

Proses ini juga memiliki risiko yang tidak ada saat menggunakan generator perangkat keras yang berfungsi dengan baik. Pengguna mungkin mencatat hasil lemparan di atas kertas, memfotonya, memasukkannya ke alat daring, atau meninggalkan daftar di tempat yang dapat ditemukan orang lain. Beberapa orang melempar dadu dengan cara yang berulang atau terkontrol, menggunakan dadu yang dimanipulasi atau rusak, atau menghentikan proses lebih awal karena merasa berlebihan. Dasar matematika mungkin kuat, tetapi keamanan hasilnya sepenuhnya bergantung pada seberapa teliti pengguna mengikuti prosedur.

Itulah mengapa melempar dadu tidak selalu dianggap sebagai metode terbaik bagi banyak orang, bahkan di antara pengguna Bitcoin yang berpengalaman. Ini menggantikan kepercayaan pada perangkat dengan kepercayaan pada proses manual. Bagi pengguna yang teliti secara teknis yang memahami inti entropi, memeriksa metode, dan menjaga urutan lemparan tetap rahasia, pertukaran seperti ini mungkin masuk akal. Bagi pembeli biasa yang pertama kali menyiapkan dompet, ini menciptakan beberapa peluang untuk membuat kesalahan yang tidak dapat diperbaiki, sekaligus merupakan proses yang melelahkan.

Selain itu, sulit membayangkan adopsi Bitcoin secara luas jika orang harus duduk di meja dan mencatat hasil lemparan 99 dadu hanya untuk mendapatkan dana dan mengamankannya. Tindakan keamanan harus tahan terhadap ujian kondisi rumah nyata, jadwal yang padat, gangguan, dan pengguna yang tidak mau mempelajari kriptografi. Pembuatan entropi manual harus tetap tersedia sebagai opsi bagi pengguna berpengalaman, tetapi tujuan jangka panjangnya adalah menciptakan perangkat keras dan perangkat lunak yang menghasilkan keacakan yang kuat dengan benar, menjelaskan apa yang terjadi dengan jelas, dan memerlukan pengetahuan khusus sesedikit mungkin.
Apa yang Harus Diperiksa Pemilik Coldcard
Pemilik perangkat Coldcard yang rentan harus terlebih dahulu memeriksa versi firmware yang diinstal pada perangkat. Kemudian, mereka harus menganalisis fungsi apa yang mereka gunakan saat bekerja dengan firmware yang usang, daripada hanya berfokus pada bagaimana seed dompet utama dihasilkan.
Siapa pun yang menggunakan perangkat yang rentan untuk membuat dompet kertas, kunci rahasia kloning, kata sandi, kunci penandatanganan bersama, atau kode otentikasi, mungkin perlu segera mengganti materi tersebut. Menginstal pembaruan mencegah masalah yang sama terjadi dengan data rahasia baru, tetapi tidak memperbaiki apa yang telah dibuat sebelumnya.
Insiden ini juga memperkuat pembenaran praktis menggunakan dompet dengan perangkat dari produsen berbeda. Dalam skema multisig, beberapa perangkat keras terpisah dari produsen berbeda mungkin diperlukan untuk menyetujui transaksi. Struktur seperti ini tidak menghilangkan munculnya bug dalam firmware, tetapi dapat mencegah situasi di mana satu generator angka acak yang cacat sendirian membahayakan seluruh dompet.
end-content






