PGP digunakan tidak hanya untuk melindungi informasi dari ancaman dunia maya, tetapi juga untuk memeriksa integritas file.
Tutorial ini dengan mudah menjelaskan cara kerja PGP dan cara memverifikasi tanda tangan PGP.
Bagaimana cara kerja PGP?
Gambar di bawah menggambarkan kunci publik PGP. Kunci publik PGP ini hanya dapat didekripsi dengan kunci PGP privat khusus. Penerbit kunci publik di bawah ini juga telah mengeluarkan kunci PGP pribadi karena dibuat dalam proses yang sama. Dia hanya berbagi kunci publik.
Jika Anda mengambil kunci publiknya untuk mengenkripsi pesan kepadanya, dia akan dapat mendekripsi pesan tersebut menggunakan kunci privatnya. Hanya kunci privatnya yang dapat mendekripsi pesan yang Anda enkripsi menggunakan kunci publiknya.
Informasi dienkripsi dengan kunci publik dan didekripsi dengan kunci privat. Ini disebut enkripsi asimetris.
Jadi, meskipun penyerang berhasil mencegat pesan tanpa kunci privat, dia tidak dapat melihat isi pesan tersebut.
Keuntungan dari enkripsi asimetris adalah kesederhanaan pertukaran kunci. Tetapi kerugiannya adalah tidak dapat mengenkripsi data dalam jumlah besar, itulah sebabnya PGP melakukan keduanya.
Enkripsi simetris digunakan ketika kunci publik digunakan untuk mengenkripsi data yang dilindungi. Dengan kunci publik, pengirim melakukan dua hal: pertama, membuat enkripsi simetris untuk melindungi data, dan kemudian menggunakan enkripsi asimetris, yang tidak mengenkripsi data itu sendiri, tetapi kunci simetris yang melindungi data.
Agar lebih teknis, sebelum kunci simetris diterapkan, data juga dikompresi sebelum dienkripsi dengan kunci simetris dan kunci publik. Diagram alir berikut menunjukkan keseluruhan proses.
tanda tangan PGP
PGP juga digunakan untuk memverifikasi integritas paket. Ini dicapai melalui tanda tangan digital, yang dapat dilakukan dengan menggunakan PGP.
Pertama, PGP menghasilkan hash yang dienkripsi dengan kunci privat. Baik kunci privat maupun hash dapat didekripsi menggunakan kunci publik.
PGP membuat tanda tangan digital untuk, misalnya, gambar ISO menggunakan algoritma DSA atau RSA. Dalam hal ini, kunci pribadi dilampirkan ke perangkat lunak atau Gambar ISO, bertentangan dengan operasi yang dijelaskan sebelumnya. Kunci publik juga dibagikan.
Pengguna menggunakan kunci publik untuk memverifikasi tanda tangan yang dilampirkan pada perangkat lunak yang dirilis.
Diagram alir berikut menunjukkan bagaimana kunci pribadi dan hash dilampirkan ke perangkat lunak, dan bagaimana pengguna mengambil kunci publik dengan hash dan kunci pribadi terlampir dari perangkat lunak untuk memverifikasi tanda tangan:
Bagaimana saya bisa memverifikasi tanda tangan PGP?
Contoh pertama menunjukkan cara memverifikasi tanda tangan kernel Linux. Untuk mencoba, buka https://kernel.org dan unduh versi kernel dan file PGP-nya. Untuk contoh ini saya akan mendownload file linux-5.12.7.tar.xz Dan: linux-5.12.7.tar.sign.
Contoh pertama menunjukkan cara memverifikasi tanda tangan dengan satu perintah. Menurut halaman manual, kombinasi opsi ini tidak akan digunakan lagi di versi mendatang. Namun, ini masih digunakan secara luas, dan meskipun kombinasi spesifiknya sudah usang, variannya akan tetap ada.
Versi pertama – opsi server kunci memungkinkan Anda menyetel opsi untuk server kunci tempat kunci publik disimpan. Pada dasarnya, ini memungkinkan Anda menerapkan opsi pengambilan kunci publik.
Dia – opsi server kunci digabungkan – pengambilan kunci otomatis opsi untuk mengambil kunci publik secara otomatis dari server kunci saat memverifikasi tanda tangan.
Untuk menemukan kunci publik, perintah ini akan membaca tanda tangan dengan mencari server kunci atau ID penandatangan pilihan yang ditentukan melalui proses pencarian menggunakan Direktori Kunci Web.
gpg: — opsi server kunci: pengambilan kunci otomatis –mengonfirmasi linux-5.12.7.tar.sign
Seperti yang Anda lihat, tanda tangannya baik-baik saja, tetapi ada pesan peringatan yang mengatakan bahwa gpg tidak dapat memverifikasi bahwa tanda tangan tersebut adalah milik pemiliknya. Siapa pun dapat memposting tanda tangan publik sebagai Greg Krohan-Hartman. Anda tahu tanda tangan itu sah karena Anda mempercayai server tempat Anda mengunduhnya. Dalam hal ini, ditentukan dalam .tag yang diunduh dari kernel.org.
Peringatan ini selalu ada, dan Anda dapat menghindarinya dengan menambahkan tanda tangan ke daftar tepercaya tanda tangan menggunakan opsi – edit kepercayaan kunci. Sebenarnya tidak ada pengguna yang melakukannya, dan komunitas Gpg telah meminta agar peringatan itu dihapus.
Memeriksa SHA256SUMS.gpg
Dalam contoh berikut, saya akan memverifikasi integritas gambar Kali Linux lama yang saya temukan di kotak saya. Untuk tujuan ini, saya mengunduh file SHA256SUMS.gpg dan SHA256SUMS milik gambar iso yang sama.
Setelah Anda mendownload image iso, SHA256SUMS.gpg dan SHA256SUMS, Anda akan mendapatkan kunci publik. Dalam contoh berikut, saya mengambil kunci menggunakan dapatkan: Dan: gpg – impor (Tautan petunjuk verifikasi Kali ke server master ini.)
Saya kemudian memeriksa integritas file dengan memanggil gpg – mengonfirmasi argumen.
gpg: –mengonfirmasi SHA256SUMS.gpg SHA256SUMS
Seperti yang Anda lihat, tanda tangannya bagus dan verifikasi berhasil.
Contoh berikut menunjukkan cara memvalidasi unduhan NodeJS. Perintah pertama mengembalikan kesalahan karena tidak ada kunci publik. Kesalahan mengatakan saya perlu mencari kunci 74F12602B6F1C4E913FAA37AD3A89613643B6201. Anda biasanya juga dapat menemukan ID kunci dalam instruksi.
Menggunakan opsi – server kunci, saya dapat menentukan server untuk mencari kuncinya. Menggunakan opsi – kunci recvSaya mengambil kunci. Kemudian cek berfungsi.
gpg: –mengonfirmasi SHASUMS256.txt.asc
Saya menyalin kunci yang diperlukan untuk mengambil dan kemudian menjalankan:
74F12602B6F1C4E913FAA37AD3A89613643B6201
gpg: –mengonfirmasi SHASUMS256.txt.asc
Cari kunci gpg.
Jika pengambilan kunci otomatis tidak berfungsi dan Anda tidak dapat menemukan petunjuk konfirmasi khusus, Anda dapat mencari kunci di server kunci menggunakan opsi – kunci pencarian.
gpg: — kunci pencarian 74F12602B6F1C4E913FAA37AD3A89613643B6201
Seperti yang Anda lihat, kuncinya telah ditemukan. Anda juga dapat mengambilnya dengan mengklik nomor kunci yang ingin Anda ambil.
Kesimpulan
Memeriksa integritas unduhan dapat mencegah atau menjelaskan masalah serius, seperti saat perangkat lunak yang diunduh tidak berfungsi dengan baik. Dengan gpg prosesnya cukup mudah seperti yang ditunjukkan di atas selama pengguna mendapatkan semua file yang diperlukan.
Memahami enkripsi asimetris, atau enkripsi berdasarkan kunci publik dan pribadi, merupakan persyaratan dasar untuk berinteraksi secara aman di Internet, seperti menggunakan tanda tangan digital.
Saya harap tutorial tentang tanda tangan PGP ini bermanfaat. Nantikan Tinjauan Linux untuk tips dan tutorial Linux lainnya.