478 / 736H

Cryptographic Entropy

Entropi kriptografis: apa yang membuat rahasia sulit ditebak

Rangkaian karakter yang panjang dan rumit belum tentu aman. Untuk dompet, yang lebih penting adalah bagaimana rahasianya dibuat dan apa yang mungkin diketahui orang lain tentangnya.

Dalam kriptografi, entropi menggambarkan ketidakpastian yang tersisa bagi penyerang saat menebak nilai rahasia. Pada dompet Bitcoin, hal ini penting sejak dasar kuncinya dibuat. Persoalannya bukan apakah karakternya tampak rumit, melainkan berapa banyak hasil yang benar-benar mungkin, seberapa besar peluang masing-masing, dan apa yang diketahui penyerang tentang prosesnya.

Bayangkan seseorang membuat rahasia dari tanggal dan waktu dompet dibuat. Setelah dikodekan, hasilnya mungkin terlihat seperti rangkaian karakter panjang yang acak. Namun, jika penyerang tahu perkiraan waktu dan metodenya, ia mungkin hanya perlu mencoba sedikit kemungkinan. Penulisan yang lebih panjang belum tentu menyulitkannya. Karena itu, RFC 4086 membedakan ketidakmampuan diprediksi dari sekadar tampak acak. Anda tidak bisa menilai entropi hanya dengan melihat satu kunci; Anda perlu tahu bagaimana kunci itu dibuat. [3]

Bit adalah satuan dasar data yang bernilai 0 atau 1. Jumlah bit saja tidak menunjukkan seberapa besar ketidakpastian yang masih dihadapi penyerang. Saat dompet membuat Seed Phrase menurut BIP39, mula-mula diperlukan masukan acak. Baru kemudian masukan itu diubah menjadi kata. Frasa 12 kata memuat 128 bit masukan dan 4 bit checksum; frasa 24 kata memuat 256 bit masukan dan 8 bit checksum. Checksum membantu menemukan sebagian kesalahan pencatatan, tetapi tidak menambah entropi karena dihitung dari masukan yang sudah ada. Daftar kata lebih panjang pun tidak memperbaiki keacakan yang dibuat dengan buruk. Cara cadangan dibuat lebih penting daripada sekadar jumlah katanya. [4]

Dompet tidak harus melakukan pengukuran fisik baru untuk setiap byte baru, yaitu kelompok yang terdiri dari 8 bit. Ia bisa memakai generator kriptografis bernama DRBG: algoritma yang menghasilkan nilai-nilai berikutnya dari keadaan awal rahasia. Jika dirancang dan digunakan dengan benar, hasilnya sulit diprediksi tanpa mengetahui keadaan tersebut. Meski begitu, algoritmanya deterministik: keadaan lengkap dan masukan yang sama menghasilkan kelanjutan yang sama. Menghasilkan lebih banyak byte tidak otomatis menciptakan lebih banyak entropi fisik baru. Kualitas masukan awal dan perlindungan keadaan internal sama-sama penting. [2]

Fungsi hash menghitung sidik jari data dengan panjang tetap yang dapat tampak acak. Namun, siapa pun yang tahu masukannya bisa menghitung hasil yang sama. Masukan yang sepenuhnya diketahui tidak berubah menjadi rahasia dengan cara ini. Istilah teknis conditioning berarti pemrosesan yang dapat mengurangi bias dan memusatkan ketidakpastian yang sudah tersedia. Itu bukan menciptakan rahasia dari ketiadaan. Entropi beberapa sumber juga tidak bisa langsung dijumlahkan: sumber-sumber itu mungkin berkaitan dan menyediakan informasi yang sama. [1] [3]

Sumber derau elektronik bisa rusak atau berubah perilaku saat kondisi lingkungan berubah. Karena itu, NIST SP 800-90B mewajibkan pemeriksaan derau mentah saat mulai berjalan dan selama operasi, sebelum pengolahan berikutnya. Pemeriksaan ini mencari tanda kegagalan; bukan bukti bahwa setiap keluaran aman. Pengembang harus memahami sumber, batasan, dan kemungkinan ketergantungannya. Kegagalan yang terdeteksi harus dilaporkan kepada aplikasi pengguna data. Jika kegagalan menetap, sumber harus berhenti menghasilkan keluaran. Chip berlabel generator acak saja tidak cukup. [1]

Jika penyerang memperoleh keadaan internal DRBG, ia mungkin bisa memprediksi hasil selanjutnya, bergantung pada desainnya. Untuk memulihkan ketidakmampuan diprediksi, perlu masukan baru yang cukup dan tidak diketahui penyerang; penambahan entropi ini disebut reseeding. Melanjutkan perhitungan atau menambahkan waktu yang diketahui tidak menjamin perlindungan tersebut. Bedakan juga perbaikan generator dari keamanan dana yang sudah ada: memulihkan generator tidak membatalkan kunci yang telanjur bocor. [2]

Uji statistik dapat menunjukkan pengulangan mencurigakan, misalnya. Namun, pengujian itu tidak dapat memastikan apakah penyerang tahu masukan rahasia atau cara memprediksi hasil. NIST SP 800-22 menyatakan batasan ini secara jelas. Pengujian merupakan bagian penilaian yang berguna, bukan pengganti analisis seluruh generator. Jadi, berkas penuh angka yang tampak acak bukan bukti tersendiri bahwa dompet aman. [5]

Pemula tidak perlu menghitung entropi dompet secara manual. Lebih bermanfaat mencari proses pembuatan yang terdokumentasi: dari mana keacakannya, bagaimana diproses, bagaimana kegagalan ditangani, dan bagaimana rahasia dilindungi. NIST SP 800-90C membahas penggabungan sumber entropi dan DRBG menjadi generator lengkap. Namun, menyebut standar atau chip terkenal belum membuktikan bahwa versi dompet tertentu memakainya dengan benar. Yang menentukan adalah sifat implementasi nyata yang didukung bukti. [1] [6]

Untuk gambaran yang lebih utuh, baca entri ini bersama Entropy Bit, CSPRNG, Dice Roll Entropy, Private Key. Entri ini juga dirujuk dari BIP85, Dice Roll Entropy, Entropy Bit, Brute Force Search Space.

DOC · 001NIST SP 800-90B — Entropy source design and health testsSpesifikasi DOC · 002NIST SP 800-90A Rev. 1 — Deterministic generation and reseedingSpesifikasi DOC · 003RFC 4086 — Unpredictability and source limitationsSpesifikasi DOC · 004BIP39 — Entropy, checksum and mnemonic encodingSpesifikasi DOC · 005NIST SP 800-22 Rev. 1a — Limits of statistical testingDokumentasi DOC · 006NIST SP 800-90C — Complete random bit generator constructionsSpesifikasi
Direvisi: Utamakan sumber · Bukan nasihat investasi