Bagaimana cara memverifikasi klien ketika teknologi baru Bitcoin diperbarui? Bitcoin telah diperbarui dengan teknologi baru. Banyak orang tidak tahu cara memverifikasi klien. Mari kita lihat bersama editor. .
Ada tiga langkah penting untuk memastikan klien Bitcoin yang Anda instal aman:
Verifikasi kunci OpenPGP;
Verifikasi tanda tangan;
Verifikasi dokumen itu sendiri;
Harap dicatat bahwa, misalnya, saya akan memverifikasi tanda tangan saya sendiri pada klien Bitcoin Knots v0.19.0.1.knots20200104 untuk ppc64le Linux, sedangkan untuk memverifikasi tanda tangan orang lain atau file lain Anda perlu mengubah baris perintah menjadi Gunakan itu sidik jari atau nama file.
Langkah 0: Instal perangkat lunak enkripsi GNU Privacy Guard (GPG)
Sebelum memulai, Anda perlu memastikan bahwa Anda telah menginstal alat GNU Privacy Guard (GPG), yang diperlukan untuk verifikasi enkripsi file.
Jika Anda menjalankan sistem berbasis Linux, yang biasanya diinstal melalui vendor sistem operasi (saat ini, ini biasanya diinstal secara default), Anda dapat memeriksanya dengan menjalankan gpg –version. Jika tidak, coba instal menggunakan salah satu perintah berikut (jika gagal, lanjutkan ke perintah berikutnya):
apt-get install gnupg
dnf instal gnupg2
yum instal gnupg2
muncul app-crypt/gnupg
pacman -S gnupg
apk tambahkan gnupg
Jika Anda kurang beruntung menggunakan sistem operasi Windows atau macOS, Anda dapat mengunduh GnuPG dari situs web resminya, tetapi saya tidak mengetahui adanya cara aman untuk memverifikasi unduhan tersebut, dan tentu saja mereka menyediakan tanda tangan, tapi inilah masalahnya. Masalahnya: Anda tidak dapat memverifikasi tanda tangan ini sampai Anda menginstal salinan yang bagus!
Langkah 1: Verifikasi kunci OpenPGP
Langkah ini bisa dibilang merupakan bagian tersulit dalam proses verifikasi: Anda perlu mengonfirmasi bahwa kunci yang sebenarnya Anda gunakan adalah kunci benar yang dikeluarkan oleh seseorang yang Anda percayai. Jika Anda tidak berhati-hati, Anda bisa mendapatkan kunci "Luke Dashjr" palsu!
Setiap kunci OpenPGP memiliki "sidik jari", yaitu 40 karakter heksadesimal (digit 0-9 dan aF), dengan spasi terkadang ditampilkan agar lebih mudah dibaca. Anda mengetahui bahwa Anda memiliki kunci yang benar jika Anda memastikan bahwa sidik jari kunci yang Anda gunakan cocok dengan sidik jari penanda tangan tepercaya.
Dapatkan kunci atau sidik jari
Cara paling aman untuk memverifikasi kunci adalah dengan bertemu langsung dan mengonfirmasi "sidik jari" kunci tersebut. Hampir tidak ada orang yang mengingat sidik jari kunci mereka, jadi kita mungkin harus mencarinya di laptop atau ponsel kita sendiri, dan kadang-kadang (biasanya di konferensi) mungkin ada "penandatangan kunci", sekelompok orang di konferensi yang mengonfirmasi orang lain tentang sidik jari kunci mereka. sidik jari, setiap peserta akan membacakan sidik jarinya atau secara manual mengonfirmasi bahwa apa yang dilihat atau didengar setiap orang adalah benar. Jika Anda pernah terlibat dalam rapat seperti ini, ini adalah cara yang baik untuk memverifikasi banyak kunci sekaligus.
Jika Anda tidak tertarik atau tidak memiliki kesempatan untuk bertemu langsung, idealnya Anda memverifikasi kunci dari berbagai sumber. Kadang-kadang, konferensi memposting video presentasi di mana sidik jari kuncinya mungkin muncul di slide. Tentu saja, karena adanya teknologi baru seperti "deep fakes", perlu diketahui bahwa slide dalam video dapat dengan mudah dimanipulasi.
Pengembang biasanya mempublikasikan kunci atau sidik jari mereka di situs web mereka, dan mungkin dengan cara lain (misalnya, kunci atau sidik jari saya ada di situs pribadi saya, bitcoinknots.org, bitcoin.org, dan GitHub).
Jika Anda telah menginstal salinan perangkat lunak yang Anda percayai, terkadang salinan tersebut berisi kunci yang diperlukan untuk memverifikasi pembaruan (saat ini Bitcoin Core hanya berisi kode sumber).
Periksa sidik jari file kunci
Untuk melihat sidik jari file kunci, Anda dapat menggunakan perintah berikut:
gpg –opsi-impor hanya tampilkan –impor –dengan-sidik jari luke-jr.asc
Ini akan menampilkan banyak informasi tentang file kunci, dengan informasi yang relevan di bagian atas:
pub rsa8192 23-03-2012 [SC] [kedaluwarsa: 09-06-2020]
E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F
Dalam contoh ini, E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F adalah sidik jari kunci saya.
CATATAN: Jika GPG menyatakan bahwa kunci telah kedaluwarsa, mungkin tidak apa-apa! Pada langkah 2, Anda akan memperbarui ke versi terbaru dari kunci yang sama, yang biasanya memperpanjang tanggal kedaluwarsa.
Impor kunci terverifikasi
Apa pun cara Anda memverifikasi kunci, Anda harus memastikan untuk mengingat kunci mana yang Anda gunakan sehingga pembaruan di masa mendatang dapat memverifikasi bahwa kunci yang sama telah digunakan. Bahkan jika Anda melewatkan langkah verifikasi kunci (yang tidak aman), setidaknya ini akan memastikan pembaruan Anda memiliki penanda tangan yang sama.
Jika Anda yakin bahwa Anda memiliki kunci yang benar, Anda dapat mengimpornya seperti ini (ganti luke-jr.asc dengan nama file yang berisi kunci yang diinginkan):
gpg –impor < luke-jr.asc
Atau jika Anda hanya mempunyai sidik jari, seperti ini (masukkan sidik jari kunci yang ingin Anda gunakan!):
gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Langkah 2: Verifikasi tanda tangan
Sekarang setelah Anda mengetahui kunci apa yang akan digunakan untuk verifikasi, langkah selanjutnya adalah memeriksa apakah tanda tangan tersebut valid.
Sebelum melanjutkan ke langkah ini, Anda harus memastikan bahwa salinan kunci penandatanganan Anda adalah yang terbaru. Jika Anda tidak melakukan ini, Anda mungkin mendapat pesan bahwa kunci telah kedaluwarsa. Jalankan (menggunakan sidik jari yang Anda inginkan):
gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Selanjutnya, (selain file program yang Anda periksa) Anda memerlukan dua file: file ".assert" yang berisi daftar sidik jari file dan file ".assert.sig" yang berisi tanda tangan dari daftar tersebut. Hal ini karena apa yang kita lakukan bukanlah menandatangani file program itu sendiri, namun mengambil sidik jari semua file dan kemudian menandatangani daftar tersebut. Oleh karena itu, Anda memerlukan kedua file tersebut.
Pasangan file "assert" Bitcoin Core diposting di sini: https://github.com/Bitcoin-Core/gitian.sigs/find/master;
Pasangan file "menegaskan" untuk Bitcoin Knots diposting di sini: https://github.com/bitconinkots/gitian.sigs/find/Knots
Perhatikan bahwa ada pasangan file terpisah untuk setiap penandatangan. Jika Anda memverifikasi apakah beberapa orang menandatangani file Anda (yang seharusnya Anda tandatangani), Anda perlu memeriksa setiap pasangan file. Selain itu, Anda perlu memastikan bahwa Anda mendapatkan versi file yang ingin Anda verifikasi!
Setelah Anda menemukan file yang Anda inginkan dalam daftar, klik link untuk membuka file di browser Anda, lalu klik kanan tombol "Raw" atau "Download" dan pilih "Save Link As."
Setelah Anda memiliki dua file "assert" ini, Anda dapat memeriksa tanda tangannya dengan menjalankan (sesuaikan nama file dengan .assert.sig tertentu)
gpg –verifikasi bitcoin-core-linux-0.19-build.assert.sig
Jika langkah ini berhasil, maka Anda akan mendapatkan hasil sebagai berikut:
gpg: Tanda tangan dibuat Minggu 19 Jan 2020 03:47:15 UTC
gpg: menggunakan kunci RSA E463A93F5F3117EEDE6C7316BD02942421F4889F
gpg: Tanda tangan bagus dari “Luke Dashjr” [ultimate]
Perhatikan bahwa sidik jari kunci ditampilkan dalam huruf tebal. Sidik jari harus cocok dengan kunci yang Anda verifikasi pada langkah 1, jika tidak, sidik jari dapat ditandatangani oleh orang lain! Bagian tentang “tanda tangan yang baik” juga penting, padahal nama dan alamat email tidak, keduanya bisa saja palsu jika sidik jarinya salah.
Dengan asumsi semuanya berjalan dengan baik, Anda sekarang tahu bahwa file ".assert" dijamin oleh pengontrol kunci tersebut, dan dapat melanjutkan untuk memverifikasi bahwa file program Anda yang sebenarnya adalah yang tercantum dalam file ".assert" itu.
Langkah 3: Verifikasi file itu sendiri
Untuk mengautentikasi file program, file tersebut harus di-hash terlebih dahulu secara kriptografis (pada dasarnya mengekstrak sidik jarinya).
Ini dilakukan dengan perintah sederhana (hati-hati saat mengganti nama file sebenarnya yang Anda validasi!):
Linux: sha256sum bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Windows: certUtil -hashfile bitcoin-0.19.0.1.knots20200104-win64.zip SHA256
macOS: shasum -a 256 bitcoin-0.19.0.1.knots20200104-osx-unsigned.dmg
Ini akan menampilkan sesuatu seperti ini:
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Ini adalah sidik jari dari konten file, diikuti dengan nama file yang ditentukan.
Sekarang, buka file ".assert" di editor/penampil teks biasa mana pun dan cari sidik jarinya. Seharusnya berada di bagian "out_manifest" di atas, jika Anda mencapai "in_manifest" atau "base_manifests" berarti Anda sudah keterlaluan.
Jika Anda menemukannya di file ".assert", maka Anda telah memverifikasi bahwa file yang Anda miliki adalah file yang sama dengan yang dijamin oleh penandatangan (Anda akan melihatnya di file ".assert" di sebelah kanan sidik jari nama file mereka , yang mungkin sama dengan milik Anda).
Dan jika file tersebut hilang dari file ".assert", itu mungkin berarti Anda menggunakan file ".assert" yang salah, atau file Anda tidak cocok (dalam hal ini Anda akan melihat di samping nama file yang diharapkan dengan nama lain sidik jari). Jika file terdaftar tetapi memiliki sidik jari yang berbeda, mohon jangan membuka file tersebut, namun simpanlah (kami mungkin meminta Anda memberikan salinannya) dan hubungi tim keamanan proyek yang terpengaruh.