GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan GPG untuk Mengenkripsi dan Mendekripsi File di Linux [Langsung untuk Pemula]

GnuPG, yang dikenal sebagai GPG, adalah alat yang sangat serbaguna, digunakan secara luas sebagai standar industri untuk enkripsi hal-hal seperti email, pesan, file, atau apa saja yang perlu Anda kirim ke seseorang dengan aman.

Memulai GPG sangatlah mudah, dan Anda dapat langsung menggunakannya dalam hitungan menit.

Dalam tutorial ini, saya akan menunjukkan cara mengenkripsi dan mendekripsi file dengan GPG. Ini adalah tutorial sederhana dan Anda dapat mencoba semuanya untuk dipraktikkan di sistem Linux Anda juga. Ini akan membantu Anda mempraktikkan perintah GPG dan memahaminya saat Anda benar-benar baru mengenalnya.

Baca seluruh tutorial terlebih dahulu lalu mulailah melakukannya sendiri.

Bagaimana cara kerja GPG untuk enkripsi?

Untuk mulai menggunakan GPG, Anda harus memiliki kunci GPG terlebih dahulu.

Kunci GPG adalah apa yang akan Anda gunakan untuk mengenkripsi (atau mendekripsi) file nanti dalam tutorial. Itu juga yang digunakan untuk mengidentifikasi Anda, dengan hal-hal seperti nama dan email Anda juga diikat ke kunci.

Kunci GPG bekerja dengan menggunakan dua file, kunci pribadi dan kunci publik. Kedua kunci ini terikat satu sama lain, dan keduanya diperlukan untuk menggunakan semua fungsi GPG, terutama mengenkripsi dan mendekripsi file.

Saat Anda mengenkripsi file dengan GPG, itu menggunakan kunci pribadi. File baru yang dienkripsi kemudian dapat hanya didekripsi dengan kunci publik yang dipasangkan.

Kunci pribadi dimaksudkan untuk disimpan dengan cara yang dinyatakan langsung atas namanya – secara pribadi, dan tidak diberikan kepada siapa pun.

Kunci publik di sisi lain dimaksudkan untuk diberikan kepada orang lain, atau siapa pun yang Anda inginkan agar dapat mendekripsi file Anda.

Di sinilah pendekatan utama GPG untuk enkripsi berperan. Ini memungkinkan Anda untuk mengenkripsi file secara lokal dan kemudian mengizinkan orang lain untuk memastikan bahwa file yang mereka terima benar-benar dikirim dari Anda. Sebagai satu-satunya cara mereka dapat mendekripsi file dengan Anda kunci publik, yang hanya akan berfungsi jika file dienkripsi menggunakan Anda kunci pribadi di tempat pertama.

Ini juga bekerja dengan arah yang berlawanan! Orang lain dapat mengenkripsi file menggunakan kunci publik Anda, dan satu-satunya cara file tersebut dapat didekripsi adalah dengan kunci pribadi Anda. Sehingga memungkinkan orang lain untuk memposting file secara publik tanpa khawatir orang selain Anda dapat membacanya.

Dengan kata lain, jika file dienkripsi dengan kunci pribadi, file tersebut hanya dapat didekripsi dengan kunci publik yang sesuai. Dan jika file dienkripsi dengan kunci publik, itu hanya dapat didekripsi dengan kunci pribadi yang sesuai.

Anda sudah menggunakan GPG tanpa disadari

Salah satu contoh penggunaan GPG yang paling umum adalah di pengelola paket Linux, khususnya repositori eksternal. Anda menambahkan kunci publik pengembang ke dalam kunci tepercaya sistem Anda. Pengembang menandatangani paket (menghasilkan tanda tangan) dengan kunci pribadinya. Karena sistem Linux Anda memiliki file publik, ia memahami bahwa paket tersebut sebenarnya berasal dari pengembang tepercaya.

Sejumlah layanan terenkripsi menggunakan semacam implementasi GPG di bawahnya tanpa Anda sadari. Tapi lebih baik tidak membahas detail itu sekarang.

Sekarang setelah Anda sedikit memahami konsepnya, mari kita lihat bagaimana Anda dapat menggunakan GPG untuk mengenkripsi file dan kemudian menggunakannya untuk mendekripsi.

Mengenkripsi dan mendekripsi file dengan GPG

Ini adalah skenario yang sangat sederhana. Saya berasumsi bahwa Anda hanya memiliki satu sistem dan Anda ingin melihat bagaimana GPG bekerja. Anda tidak mengirim file ke sistem lain. Anda mengenkripsi file dan kemudian mendekripsinya di sistem yang sama.

Tentu saja, ini bukan kasus penggunaan yang praktis tetapi itu juga bukan tujuan dari tutorial ini. Tujuan saya adalah untuk mengenalkan Anda dengan perintah dan fungsi GPG. Setelah itu, Anda dapat menggunakan pengetahuan ini dalam situasi dunia nyata (jika perlu). Dan untuk itu, saya akan menunjukkan kepada Anda bagaimana Anda dapat membagikan kunci publik Anda kepada orang lain.

Langkah 1:Memasang GPG

GPG dapat ditemukan di sebagian besar repositori distribusi di luar kotak.

Pada sistem berbasis Debian dan Ubuntu, instal paket gpg:

sudo apt install gpg

Jika Anda menggunakan distribusi berbasis Arch, instal paket gnupg dengan perintah pacman:

sudo pacman -S gnupg

Langkah 2:Membuat kunci GPG

Membuat kunci GPG di sistem Anda adalah prosedur satu perintah yang sederhana.

Jalankan saja perintah berikut, dan kunci Anda akan dibuat (Anda dapat menggunakan default untuk sebagian besar pertanyaan seperti yang ditunjukkan pada bagian yang digarisbawahi di bawah):

gpg --full-generate-key

Memeriksa Kunci GPG

Anda kemudian dapat melihat bahwa kunci pribadi dan kunci publik keduanya terikat satu sama lain oleh ID yang ditampilkan di bawah pub dengan menggunakan –list-secret-keys dan –daftar-kunci-publik perintah masing-masing:

Langkah 3:Mengenkripsi file dengan GPG

Sekarang setelah Anda menyiapkan kunci GPG kami, Anda dapat mulai mengenkripsi file kami!

Gunakan perintah berikut untuk mengenkripsi file:

gpg --encrypt --output file.gpg --recipient [email protected] file

Mari kita bahas apa yang dilakukan perintah itu dengan sangat cepat:

Pertama, Anda menentukan –enkripsi pilihan. Ini hanya memberi tahu GPG bahwa kami akan mengenkripsi file.

Selanjutnya, Anda menentukan –output file.gpg . Ini bisa apa saja, meskipun biasanya nama file yang Anda enkripsi ditambah .gpg ekstensi (jadi message.txt akan menjadi message.txt.gpg ).

Selanjutnya, Anda mengetik –penerima [dilindungi email] . Ini menentukan email untuk kunci GPG terkait yang sebenarnya belum ada di sistem ini.

Masih bingung?

Cara kerjanya adalah email yang Anda tentukan di sini harus diikat ke kunci publik di sistem lokal Anda.

Biasanya, ini akan berasal dari kunci GPG publik dari orang yang berbeda, yang akan Anda gunakan untuk mengenkripsi file Anda. Setelah itu, file hanya dapat didekripsi dengan kunci pribadi pengguna tersebut.

Saya akan menggunakan kunci GPG saya sebelumnya dengan [email protected] dalam contoh ini. Jadi, logikanya adalah saya mengenkripsi file dengan publik kunci h[email protected] , yang kemudian hanya dapat didekripsi dengan pribadi kunci [email protected] .

Anda hanya akan memiliki kunci publik jika Anda mengenkripsi file untuk orang lain, tetapi karena Anda mengenkripsi file untuk diri sendiri, Anda memiliki kedua kunci di sistem Anda.

Terakhir, Anda cukup menentukan file yang akan Anda enkripsi. Untuk contoh ini, mari gunakan file bernama message.txt dengan isi sebagai berikut:

We're encrypting with GPG!

Demikian juga, jika email tersebut [email protected] , perintah GPG yang baru adalah sebagai berikut:

gpg --encrypt --output message.txt.gpg --recipient [email protected] message.txt

Jika Anda kemudian mencoba membaca file tersebut, Anda akan melihat bahwa itu tampak seperti omong kosong. Itu diharapkan karena file dienkripsi sekarang:

Sekarang mari kita hapus file message.txt yang tidak terenkripsi sehingga Anda dapat melihat bahwa file message.txt.gpg benar-benar terdekripsi dengan baik tanpa file aslinya:

Langkah 4:Mendekripsi file terenkripsi dengan GPG

Terakhir, mari kita benar-benar mendekripsi pesan terenkripsi. Anda dapat melakukannya dengan menggunakan perintah berikut:

gpg --decrypt --output file file.gpg

Melalui argumen di sini, pertama-tama kita tentukan –decrypt , yang memberi tahu GPG bahwa Anda akan mendekripsi file.

Selanjutnya, Anda memasukkan –output file, yang hanya memberi tahu GPG file apa yang akan Anda simpan dalam bentuk terenkripsi dari file kami setelah Anda mendekripsinya.

Terakhir, Anda memasukkan file.gpg , yang merupakan jalur ke file terenkripsi Anda.

Mengikuti contoh, perintah yang saya gunakan adalah sebagai berikut:

gpg --decrypt --output message.txt message.txt.gpg

Dan voila, Anda selesai! Itu saja jika Anda ingin mengenkripsi dan mendekripsi file dengan GPG.

Satu-satunya hal lain yang mungkin ingin Anda ketahui adalah cara membagikan kunci publik Anda dengan orang lain sehingga mereka dapat mengenkripsi file sebelum mengirimkannya kepada Anda.

Mengirim dan menerima Kunci GPG

Untuk mengirim kunci GPG kepada seseorang, Anda harus mengekspornya terlebih dahulu dari gantungan kunci , yang berisi semua kunci publik dan pribadi Anda.

Untuk mengekspor kunci, cukup temukan ID kunci di gantungan kunci Anda, lalu jalankan perintah berikut, ganti id dengan ID kunci dan key.gpg dengan nama file yang ingin Anda simpan:

gpg --output key.gpg --export id

Untuk mengimpor kunci, cukup berikan file keluaran (dari perintah sebelumnya) ke pengguna lain dan kemudian minta mereka menjalankan perintah berikut:

gpg --import key.gpg

Untuk menggunakan kunci secara normal, Anda harus memverifikasi kunci tersebut agar GPG memercayainya dengan benar.

Ini dapat dilakukan dengan menjalankan –edit-key perintah pada sistem pengguna lain, diikuti dengan menandatangani kunci:

Pertama jalankan gpg --edit-key id :

Selanjutnya, jalankan fpr perintah, yang akan menampilkan sidik jari untuk kunci tersebut. Keluaran dari perintah ini harus divalidasi terhadap keluaran pada mesin Anda sendiri, yang dapat ditemukan dengan menjalankan –edit-key yang sama perintah di sistem Anda:

Jika semuanya cocok, jalankan saja tanda perintah dan semuanya akan siap untuk digunakan:

Itu dia! Pengguna lain sekarang dapat mulai mengenkripsi file dengan kunci publik Anda seperti yang Anda lakukan sebelumnya, memastikan mereka hanya dapat dibaca oleh Anda saat Anda mendekripsinya dengan kunci pribadi Anda.

Dan itulah dasar-dasar GPG!

Menutup

Anda sekarang telah menyelesaikan semua yang Anda butuhkan untuk mulai menggunakan GPG, termasuk mengenkripsi file untuk diri sendiri dan orang lain. Seperti yang saya sebutkan sebelumnya, ini hanya untuk memahami cara kerja proses enkripsi dan dekripsi GPG. Pengetahuan dasar GPG yang baru saja Anda peroleh dapat dibawa ke tingkat berikutnya ketika diterapkan dalam skenario dunia nyata.

Butuh bantuan untuk mencari tahu sesuatu yang masih ada, atau sesuatu yang tidak berfungsi dengan baik? Jangan ragu untuk meninggalkannya di komentar di bawah.

Artikel Asli


Linux
  1. Enkripsi dan dekripsi file dengan frasa sandi di Linux

  2. Cara Mengenkripsi dan Mendekripsi File dan Direktori Menggunakan Tar dan OpenSSL

  3. Menggunakan sed untuk menemukan dan mengganti file teks di Linux

  1. Menggunakan ssh-keygen dan berbagi untuk otentikasi berbasis kunci di Linux

  2. Cara Enkripsi dan Dekripsi file/folder di Linux menggunakan GnuPG

  3. Menggunakan Checkmk untuk Memantau Infrastruktur Server Linux Anda

  1. Gunakan Temukan dan Temukan untuk mencari file di Linux

  2. Cara Mengenkripsi dan Mendekripsi File menggunakan GnuPG di Linux

  3. Cara Audit untuk Modifikasi file dan Eksekusi File di Linux