480 / 7362^N

Brute Force Search Space

Ruang pencarian brute force

Berapa lama waktu yang dibutuhkan untuk menebak rahasia dompet? Panjang kata sandi atau kunci saja tidak cukup untuk menjawabnya. Yang penting adalah kemungkinan apa yang benar-benar ada dan berapa banyak pekerjaan untuk memeriksa tiap kemungkinan.

Brute Force Search Space adalah kumpulan kemungkinan yang dapat dicoba satu per satu saat menebak sebuah rahasia. Bayangkan Anda lupa kata sandi cadangan terenkripsi milik sendiri: setiap tebakan menjadi kandidat, dan Anda harus tahu apakah kandidat itu berhasil membuka cadangan dengan benar. Semakin banyak kandidat yang sama mungkin dipilih dan semakin mahal pemeriksaannya, biasanya semakin sulit pencarian. Namun, untuk dompet nyata, kita harus menentukan dahulu apa tepatnya yang dicari.

Kata sandi cadangan, kunci privat yang mengizinkan pembelanjaan bitcoin, dan masukan generator yang membuat kunci adalah hal berbeda. Kandidat dan cara memeriksanya pun berbeda. Jika generator yang bermasalah hanya memilih dari sedikit masukan, pencarian bisa lebih mudah daripada yang tersirat dari panjang kunci hasilnya. Penyerang dapat mencoba masukan terbatas itu alih-alih semua kunci yang mungkin secara matematis. Jadi, sebelum menghitung kemungkinan, kita perlu memahami asal rahasia tersebut. [1] [3]

Bayangkan ada 16 kemungkinan dengan peluang sama, dan tepat satu jawaban benar. Kita memeriksanya berurutan tanpa mengulang. Kadang berhasil cepat, kadang baru di akhir; rata-ratanya adalah 8,5 kandidat yang diperiksa. Untuk jumlah umum N, hubungannya ditulis E = (N+1)/2. Dengan kecepatan tetap 2 percobaan per detik, waktu rata-ratanya 4,25 detik. Pecahan percobaan itu berlaku pada rata-rata, bukan satu pencarian tertentu. Ini contoh untuk menjelaskan gagasan, bukan waktu pemulihan dompet Bitcoin yang diukur. [1]

Kata favorit, nama, dan pola yang mudah diingat lebih sering muncul daripada kombinasi acak. Karena itu, penyerang dapat memulai dari tebakan yang lebih mungkin. Generator rusak yang lebih sering menghasilkan keluaran tertentu menimbulkan masalah serupa. Dalam keadaan ini, rata-rata dari contoh sebelumnya tidak berlaku. Min-entropi menggambarkan peluang tebakan pertama terbaik, tetapi tidak menentukan sendiri total pekerjaan pencarian atau waktu keberhasilan yang terjamin. Jumlah kemungkinan tanpa peluang masing-masing merupakan informasi yang belum lengkap. [1] [2]

Memeriksa kandidat belum tentu selesai seketika. PBKDF2 adalah fungsi yang menurunkan kunci dari kata sandi dan masukan lain; perhitungan berulang menambah pekerjaan untuk setiap tebakan. Masukan lainnya adalah salt. Biasanya salt berupa data publik yang membedakan proses penurunan kunci: salt berbeda membuat tabel hasil prakomputasi yang sama tidak bisa begitu saja digunakan kembali. Salt bukan kata sandi rahasia tambahan dan tidak menggantikan masukan yang kuat. Untuk memperkirakan kecepatan, kita perlu mengetahui fungsi, pengaturan, dan perangkat keras yang digunakan. [3]

BIP39 mengubah kata pemulihan dan passphrase opsional, yaitu kata sandi tambahan, menjadi seed: nilai awal rahasia untuk menurunkan kunci. Proses ini menggunakan PBKDF2 dengan HMAC-SHA512 sebagai fungsi perhitungan internal dan 2048 iterasi, atau pengulangan, untuk menghasilkan seed 512 bit. Parameter salt di sini adalah teks “mnemonic” diikuti passphrase; rahasia tambahan berasal dari passphrase itu sendiri. Setiap passphrase menghasilkan seed yang valid, sehingga checksum kata pemulihan tidak memastikan bahwa passphrase yang dimasukkan adalah yang diinginkan. Saat memulihkan dompet sendiri, Anda dapat mengenalinya melalui alamat yang sudah diketahui dengan pengaturan penurunan kunci yang benar, misalnya. Hasil yang panjang tidak membuat kata sandi lemah menjadi kuat. [4]

Ada pula metode matematika yang bukan sekadar menebak satu demi satu. Dalam kriptografi kurva eliptik (ECC), kunci publik dapat dihitung dari kunci privat; mencari nilai privat ke arah sebaliknya adalah tugas sulit bernama masalah logaritma diskret. SEC 2 menjelaskan parameter kurva secp256k1 yang digunakan Bitcoin. Karena itu, menghitung semua rangkaian 256 bit tidak mencakup seluruh jalur serangan. NIST SP 800-57 membedakan panjang kunci dari kekuatan keamanan, yaitu perkiraan upaya untuk menembus perlindungan berdasarkan asumsi tertentu. Adanya metode matematika tidak berarti metode itu mudah dijalankan dalam praktik. [5] [6]

Lebih banyak prosesor dapat membagi percobaan independen, tetapi manfaatnya juga bergantung pada memori dan pengaturan perhitungan. Hashrate penambangan mengukur perhitungan penambangan, bukan kecepatan PBKDF2 atau operasi ECC. Ada pula perbedaan antara masuk ke situs web dan memiliki salinan cadangan. Layanan dapat membatasi akses setelah percobaan gagal. Namun, orang yang memiliki salinan berkas terenkripsi dapat memeriksa tebakan secara offline di perangkatnya sendiri. Batas login situs saja tidak menghentikan percobaan tersebut. [3] [6]

Orang yang memperoleh seluruh seed tidak perlu menelusuri kumpulan kemungkinan yang sangat besar. Perangkat lunak berbahaya atau cacat pada program yang menangani kunci dapat menimbulkan akibat serupa. Jadi, keamanan tidak berhenti pada pemilihan rahasia yang sulit ditebak: penyimpanan dan penggunaannya juga penting. Ketika mendengar klaim waktu pembobolan, tanyakan serangan apa yang diasumsikan, apa yang sudah diketahui penyerang, dan bagaimana kecepatannya diukur. Angka besar saja tidak menjamin keamanan perangkat, dan model ini tidak menjanjikan keberhasilan memulihkan dompet yang hilang. [6]

Untuk gambaran yang lebih utuh, baca entri ini bersama Cryptographic Entropy, Entropy Bit, Private Key, Seed Phrase. Entri ini juga dirujuk dari Entropy Bit, Random Number Generator.

DOC · 001RFC 4086 — Secret distributions and guessingSpesifikasi DOC · 002NIST SP 800-90B — Min-entropy and guessing costSpesifikasi DOC · 003RFC 8018 — Salt, derivation cost and offline searchSpesifikasi DOC · 004BIP39 — Passphrase derivation and valid seedsSpesifikasi DOC · 005SEC 2 v2 — secp256k1 parametersSpesifikasi DOC · 006NIST SP 800-57 Part 1 Rev. 5 — Security strength and key protectionSpesifikasi
Direvisi: Utamakan sumber · Bukan nasihat investasi