Lompat ke konten

Dompet dingin: penandatanganan luring, pemulihan, dan kontrol operasional

Pelajari cara merancang dan memverifikasi kustodi dompet dingin melalui pembuatan kunci, identitas dompet, cadangan, tinjauan transaksi, penandatanganan offline, multisig, pemulihan, dan tanggapan terhadap insiden.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

Jawaban langsung

Dompet dingin adalah sistem kustodi yang menyimpan materi penandatanganan rahasia dan langkah persetujuan yang menentukan di luar paparan normal dari perangkat lunak yang terhubung ke internet. Aset tetap berada di blockchain; sistem mengontrol kunci atau otoritas lain yang dapat mengesahkan perubahan status. “Dompet dingin” adalah label operasional, bukan satu kelas perangkat yang didefinisikan oleh protokol, dan sifat dingin adalah properti dari alur kerja lengkap daripada merek atau jenis koneksi.

Penanda tangan perangkat keras dapat mendukung penyimpanan dingin saat terhubung melalui USB karena kunci privat tetap terisolasi. Namun, alur kerja tidak aman bila pengguna menandatangani tujuan yang belum diverifikasi atau panggilan kontrak yang tidak jelas. Sebaliknya, komputer air-gapped tidak otomatis aman hanya karena tidak memiliki antarmuka jaringan: entropi, media instalasi, parser transaksi, media lepas, cadangan, atau layar yang dikompromikan tetap dapat menembus batas. Penyimpanan dingin mengurangi risiko ekstraksi kunci jarak jauh, tetapi tidak membuktikan niat transaksi, ketepatan perangkat lunak, pemulihan, privasi, atau finalitas.

Materi pemulihan bukan “sekadar cadangan”. Mnemonic, seed mentah, kunci privat yang diperluas, atau bagian pemulihan setara dapat menciptakan kembali otoritas belanja sehingga memerlukan perlindungan setingkat penanda tangan. Passphrase, jalur derivasi, jaringan, jenis skrip, deskriptor dompet, urutan kunci, dan kebijakan ambang juga mungkin diperlukan untuk memulihkan alamat yang diharapkan. Dompet pantau-saja umumnya tidak dapat menandatangani, tetapi xpub atau deskriptor dapat mengungkap hubungan alamat dan riwayat transaksi; kunci publik yang diperluas BIP-32 mempunyai implikasi keamanan lebih besar daripada kunci publik biasa.

dompet dingin
0 / 5
0 item yang ditinjau; 5 item yang masih belum terselesaikan

Menyelesaikan tinjauan ini tidak membuktikan suatu aset, transaksi, atau sistem aman.

Cara merancang dan memverifikasi penyimpanan dingin

1. Menetapkan otoritas dan model ancaman

Catat jaringan, aset, akun atau kebijakan output yang tepat, pemilik, penerima manfaat, otoritas pemulihan, frekuensi transaksi yang diharapkan, dan eksposur operasional maksimum. Identifikasi malware jarak jauh, aplikasi berbahaya, kompromi rantai pasokan, kolusi orang dalam, pencurian fisik, paksaan, kebakaran, banjir, kehilangan, ketidakmampuan, dan warisan sebagai ancaman terpisah. Putuskan apa yang harus tetap dingin: satu kunci pribadi, semua kunci dalam ambang batas, kuorum penandatangan, kunci otorisasi EIP-712, atau administrator yang mampu mengubah kode dompet.

2. Menginisialisasi entropi dan perangkat lunak tepercaya

Peroleh perangkat dan perangkat lunak melalui saluran yang terautentikasi, periksa keadaan inisialisasi, verifikasi rilis bila didukung, dan tolak setiap mnemonic atau rahasia yang telah dibuat sebelumnya yang disediakan dalam kemasan atau oleh seorang pembantu. Hasilkan entropi dalam lingkungan yang terkendali dan catat standar serta implementasi yang membuatnya. BIP-39 mengkodekan 128 menjadi 256 bit entropi sebagai mnemonic dan menurunkan 512-bit seed dari mnemonic ditambah frase sandi opsional; ini bukan standar untuk mengubah kalimat yang mudah diingat menjadi dompet yang aman.

3. Mengikat identitas dompet yang dapat direproduksi

Sebelum menerima nilai besar, catat jaringan, fingerprint master, standar dan jalur derivasi lengkap, indeks akun, jenis alamat atau skrip, serta alamat penerimaan pertama yang diverifikasi. Untuk kebijakan Bitcoin, simpan deskriptor output, checksum, asal kunci, ambang, jumlah penanda tangan, urutan kunci, dan cabang kembalian. Setiap penanda tangan mengonfirmasi kunci dan kebijakan tampilan secara independen. Perlakukan xpub sebagai metadata sensitif: ia menurunkan keturunan publik non-hardened, mengurangi privasi, dan bersama kunci privat anak non-hardened yang sesuai dapat mengekspos kunci privat induk yang diperluas dalam BIP-32.

4. Mencadangkan dan menguji pemulihan

Lindungi setiap masukan pemulihan yang diperlukan, termasuk mnemonic atau bagian, passphrase opsional, deskriptor atau konfigurasi akun pintar, jalur derivasi, dan petunjuk. Jangan membuat skema dengan membagi kata mnemonic menjadi fragmen ad hoc; gunakan ambang yang ditentukan atau desain multisig bila satu salinan tidak boleh cukup. Tempatkan salinan di domain kegagalan yang benar-benar independen dan lacak akses tanpa mengekspos isinya. Pada perangkat cadangan tepercaya atau penanda tangan yang diinisialisasi ulang, latih pemulihan dan bandingkan fingerprint, kebijakan, serta alamat penerimaan sebelum menghapus lingkungan uji.

5. Menyusun dan memverifikasi niat lengkap

Koordinator daring dapat membaca status chain dan membuat permintaan yang belum ditandatangani, tetapi tidak dapat dipercaya. Untuk Bitcoin PSBT, verifikasi jaringan, setiap input dan nilai UTXO, output penerima, jumlah, biaya, tarif biaya, locktime, kebijakan sighash, dan apakah setiap output lain merupakan kembalian yang diautentikasi. Untuk transaksi EVM, verifikasi chainId, nonce, to, value, batas gas, batas biaya, dan data yang didekode; untuk EIP-712, verifikasi domain, chainId, verifyingContract, bidang pesan, nonce, dan tenggat jika berlaku. EIP-712 menyusun data dan memisahkan domain, tetapi tidak menyediakan perlindungan replay dengan sendirinya.

6. Menandatangani melalui batas transfer yang terkendali

Pindahkan hanya muatan yang tidak ditandatangani atau sebagian ditandatangani yang diperlukan melalui QR, kartu, kabel, atau saluran lainnya yang disetujui. Celah udara dan kode QR tidak membuat parser atau media dapat dipercaya: penandatangan harus mem-parsing muatan, mengautentikasi kebijakan dan perubahan, menampilkan konsekuensi materi, dan menolak bidang yang tidak didukung. Dalam multisig, jaga agar penandatangan, operator, lokasi, vendor, dan jalur pemulihan tetap cukup independen untuk sesuai dengan model ancaman; anggap koordinator dapat diganti dan tidak dapat mengubah kebijakan tanpa diketahui. Bandingkan transaksi atau operasi yang ditandatangani dengan niat yang disetujui sebelum disiarkan.

7. Merekonsiliasi, memelihara, dan menyiapkan migrasi

Setelah siaran, cocokkan pengenal transaksi, transaksi yang disertakan, keluaran atau log, biaya aktual, perubahan, nonce akun, izin, dan saldo yang dihasilkan dengan niat yang ditandatangani, lalu tunggu finalitas yang sesuai dengan rantai dan kasus penggunaan. Pertahankan perangkat lunak yang kompatibel, jalur firmware yang diverifikasi, cadangan yang dapat dibaca, deskriptor yang terdokumentasi, dan latihan pemulihan berkala tanpa memasukkan rahasia produksi ke perangkat daring. Jika ada rahasia penandatanganan atau pemulihan yang dapat terekspos, akun dengan satu kunci biasa tidak dapat mencabut kunci tersebut: tetapkan otoritas baru, migrasikan aset dan peran, batalkan izin yang tersisa di mana protokol memungkinkan, dan simpan catatan insiden.

Contoh yang dikerjakan

Alokasi dan pendanaan bertahap

Rencana kustodi membatasi dompet interaksi daring ke 5% dari 100,000 units nilai aset: 100,000 × 5% = 5,000 units panas dan 95,000 units dingin. Tujuan dingin pertama-tama menerima uji 100-unit, dan sisa transfer adalah 95,000 - 100 = 94,900 units. Setelah kedua transfer, target saldo dingin adalah 100 + 94,900 = 95,000 units; uji kecil membatasi satu kesalahan pengaturan tetapi tidak memvalidasi tanda tangan masa depan atau pemulihan cadangan.

Biaya dan perubahan Bitcoin PSBT

PSBT menghabiskan input dari 0.80 BTC dan 0.35 BTC, dengan total 1.15 BTC. Ini membayar 1.00 BTC kepada penerima dan memperkirakan 250 vbytes × 8 sat/vbyte = 2,000 sat = 0.000020 BTC. Oleh karena itu, perubahan yang diautentikasi harus 1.15 - 1.00 - 0.000020 = 0.149980 BTC. Jika penandatangan tidak dapat mengidentifikasi output perubahan itu dari kebijakan yang tercatat, ia tidak boleh menandatangani bahkan ketika total aritmatika seimbang.

Anggaran maksimum EVM versus biaya aktual

Sebuah akun EVM dimulai dengan 5 ETH dan menyetujui transfer 1.2 ETH. Batas 30,000 gas dan biaya maksimum 50 gwei menunjukkan anggaran biaya sebesar 30,000 × 50 gwei = 0.001500 ETH. Jika transaksi menggunakan 21,000 gas dengan harga efektif 25 gwei, biaya aktualnya adalah 21,000 × 25 gwei = 0.000525 ETH, menyisakan 5 - 1.2 - 0.000525 = 3.799475 ETH. Penandatangan harus meninjau batas biaya dan data, bukan mengasumsikan bahwa anggaran maksimum akan dikenakan atau bahwa antarmuka yang terlihat kosong membuktikan transfer biasa.

Ketahanan penandatangan dua-dari-tiga

Sebuah kebijakan 2-of-3 dengan penandatangan A, B, dan C memiliki pasangan penandatangan sah 3: AB, AC, dan BC. Jika satu penandatangan tidak tersedia, tepat 1 pasangan yang tersisa; jika satu penandatangan dikompromikan, penandatangan itu sendiri mengontrol 0 pasangan yang sah; jika dua penandatangan dikompromikan, mereka mengontrol 1 pasangan sah dan dapat membelanjakan. Oleh karena itu desain ini toleran terhadap satu kehilangan atau satu kompromi terisolasi, bukan dua, dan pemulihan masih memerlukan deskriptor yang benar, data derivasi, dan urutan kunci.

Risiko dan kegagalan tinjauan

  • Jaringan atau kebijakan salah: memulihkan kunci valid dengan chain, jenis alamat, skrip, akun, atau kebijakan akun pintar yang keliru dapat menghasilkan alamat berbeda atau tidak dapat dipakai.
  • Entropi tidak memadai: keacakan yang dapat diprediksi, brainwallet, atau generator yang disusupi membuat kunci tetap dapat ditebak meski offline.
  • Rahasia dari pihak lain: mnemonic yang sudah dicetak, diimpor, difoto, atau diberikan pendamping mungkin sudah dikuasai penyerang.
  • Cadangan terekspos: kertas, logam, salinan cloud, printer, kamera, pengiriman, atau dokumen warisan dapat membocorkan seluruh otoritas belanja.
  • Passphrase gagal: passphrase BIP-39 yang hilang atau salah ketik dapat menurunkan dompet lain tanpa menampilkan galat.
  • Parameter derivasi tidak cocok: jalur, coin type, indeks akun, atau konvensi dompet yang hilang dapat menyembunyikan aset yang sebenarnya bisa dipulihkan.
  • Konfigurasi hilang: kunci multisig tanpa deskriptor, ambang, jenis skrip, asal, dan urutan kunci mungkin tidak merekonstruksi dompet yang sudah didanai.
  • Metadata publik bocor: xpub, deskriptor, daftar alamat, atau basis data koordinator dapat membuka saldo, hubungan, dan alamat masa depan.
  • Rantai pasokan disusupi: perangkat keras, firmware, perangkat lunak, kemasan, atau saluran pembaruan yang diubah dapat mengganti entropi, alamat, atau tanda tangan.
  • Substitusi oleh host: koordinator online dapat mengganti penerima, jumlah, biaya, kembalian, calldata, pesan bertipe, atau payload yang belum ditandatangani.
  • Tampilan tidak memadai: pemotongan, blind signing, skrip yang tidak didukung, atau decoding tidak lengkap dapat menyembunyikan otorisasi penting.
  • Serangan alamat kembalian: jika penanda tangan tidak mengautentikasi kembalian terhadap kebijakan, transaksi Bitcoin dapat mengirimkannya kepada penyerang.
  • Kesalahan biaya atau nonce: biaya berlebih, nonce EVM lama, locktime salah, atau mode sighash tak terduga dapat menunda, mengganti, atau mengubah eksekusi.
  • Otoritas kontrak tetap aktif: persetujuan token, permit, modul, delegasi, dan panggilan administrator dapat berlaku lebih lama daripada transaksi yang terlihat.
  • Serangan kanal transfer: QR, USB, kartu, kabel, dan format parser dapat membawa payload berbahaya atau membocorkan metadata.
  • Ambang berkorelasi: penanda tangan di lokasi sama, seed bersama, atau ketergantungan pada satu vendor, operator, atau lokasi pemulihan mengurangi independensi ambang.
  • Serangan fisik: pencurian, pemaksaan, pengawasan, perusakan, dan penemuan rahasia tetap mungkin tanpa jaringan.
  • Kerusakan lingkungan: kebakaran, banjir, korosi, degradasi media, brankas tak terjangkau, kematian, atau ketidakmampuan dapat membuat rahasia yang benar tidak tersedia.
  • Kompatibilitas menurun: firmware lama, derivasi atau skrip yang tak didukung, dan migrasi tanpa dokumentasi dapat menghalangi pemulihan atau penandatanganan nanti.
  • Respons insiden tidak lengkap: memeriksa saldo tanpa memigrasikan kunci, peran, persetujuan, dan otoritas pemulihan dapat membiarkan kompromi awal tetap aktif.

Kesalahpahaman umum

Apakah dompet dingin harus tetap terputus secara fisik selamanya?

Tidak. Properti keamanan adalah bahwa wewenang rahasia tetap terisolasi dan penandatanganan terjadi melalui batas yang terkontrol dan dapat diverifikasi. Penanda perangkat keras yang terhubung dengan kabel mungkin mempertahankan properti itu; komputer yang terputus dari jaringan dengan pengaturan atau peninjauan muatan yang dikompromikan mungkin tidak.

Apakah koin disimpan di dalam perangkat keras?

Tidak. Status blockchain mencatat aset. Perangkat melindungi atau menggunakan otoritas yang dapat menandatangani transaksi, dan bahan pemulihan yang kompatibel dapat mereproduksi otoritas itu pada implementasi lain.

Apakah cadangan mnemonic kurang sensitif daripada perangkat penandatangan?

Tidak. Mnemonic lengkap dan frasa sandi yang diperlukan dapat membuat ulang dompet. Cadangan biasanya tidak aktif, tetapi jika dikompromikan dapat sama menentukan seperti pengambilan kunci tanda tangan yang aktif.

Apakah multisig menghilangkan kebutuhan akan cadangan dan catatan konfigurasi?

Tidak. Ambang batas mengurangi titik kegagalan tunggal yang dipilih, tetapi setiap kunci membutuhkan rencana pemulihan dan kebijakan dompet atau deskriptor harus dapat direproduksi. Terlalu sedikit kunci yang tersisa atau konfigurasi yang hilang masih dapat mengunci dana.

Apakah uji transfer yang berhasil membuktikan sistem penyimpanan dingin aman?

Tidak. Ini menegaskan jalur terbatas pada satu waktu. Ini tidak membuktikan kualitas entropi, kerahasiaan cadangan, pemulihan, dekoding transaksi di masa depan, independensi kuorum, pembaruan perangkat lunak, keamanan kontrak, atau pemulihan insiden.

Topik terkait

Sumber

Navigasi

Cari di wiki...