Perintah Dasar Penggunaan GnuPG untuk Enkripsi di GNU/Linux

Perintah Dasar Penggunaan GPG di GNU/Linux - Oke kali ini saya akan membahas dasar dasar kegunaan GPG dan beberapa contoh perintah yang sering digunakan. GPG atau GNU Privacy Guard adalah tools yang digunakan untuk mengenkripsi data atau untuk membuat tanda tangan digital. Ini merupakan fasilitas manajemen kunci yang canggih.


Oke langsung ke perintah perintah dasarnya saja ya.

Membuat Keypair
Yang pertama dan paling dasar adalah membuat pasangan priv key dan pub key milik kita sendiri terlebih dahulu.
gpg --gen-key
Untuk keysize, makin panjang makin secure. Saya sih kasih aja value "4096". Untuk keyvalid saya set untuk 3 tahun saja. isi "3y". Untuk langkah selanjutnya kalian akan disuruh memasukkan nama lengkap, comment, serta email. Tingal di next next saja.

Jika sudah selesai, kalian bisa melihat hasilnya dengan mengecek apakah key milik kalian sudah tersimpan.

Cek Database Key (Keyring)
gpg --list-key
gpg --list-secret-keys
Contoh output
pub   2048R/DDDD0A58 2018-04-19
uid                  Yuyud HNc (linuxsec) <rin@linuxsec.org>
sub   2048R/83321656 2018-04-19

Mengirim ke Key Server
gpg --keyserver pgp.mit.edu --send DDDD0A58
Sesuaikan sendiri ya untuk pub code nya. Perintah diatas untuk mengirim public key kita ke key server pgp.mit.edu .

Mengedit Key
Semisal kita ingin mengganti password secret key maupun expired date dari public key maka perintahnya.
gpg --edit-key rin@linuxsec.org
gpg> passwd
gpg> expire
Untuk perintah lain
gpg> help

Backup Keypair
Yang perlu kita backup hanya private key nya saja karena public key di generate dri private key.
gpg --export-secret-keys -a rin@linuxsec.org > rin-privs.key
Simpan di tempat yang aman ya. Bisa juga di cloud drive private.

Import Keypair
Import key dilakukan dalam beberapa kasus misal kalian install ulang laptop.
gpg --import rin-privs.key

Revocation Key
Selanjutnya, kita buat revocation key nya juga. Ini untuk berjaga jaga jika sewaktu waktu kita kehilangan keypair milik kita. Selain itu key ini bisa dipakai saat kita sudah tidak membutuhkan keypair yang kita buat.
gpg --gen-revoke rin@linuxsec.org > revoke.key
File ini juga perlu dijaga kerahasiaannya. Karena jika jatuh ke tangan orang yang salah bisa digunakan untuk membatalkan / merevoke keypair milik kita.

Menggunakan Revocation Key
gpg --import revoke.key
Contoh output:
gpg: key DDDD0A58: "Yuyud HNc (zero-two) <rin@linuxsec.org>" revocation certificate imported
gpg: Total number processed: 1
gpg:    new key revocations: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
Kirim juga untuk revoke data di pgp.mit.edu
gpg --keyserver pgp.mit.edu --send DDDD0A58
Sekedar informasi, keypair yang sudah direvoke tidak bisa direstore. Setau saya sih gitu. Jika salah mohon dikoreksi :D .

Penggunaan GPG
Oke mungkin itu sedikit tentang manajemen Keypair. Sekarang kita coba untuk penggunaannya.
zero-two@franxx:~$ cat hi.txt
hello from linuxsec.org
Sekarang coba kita enkrip dengan keypair milik kita.
gpg -a --encrypt -r 'rin@linuxsec.org' hi.txt
Perintah ini untuk melakukan enkripsi dengan ASCII armor. Parameter "-r" adalah penerima file. Disini saya coba enkrip file untuk di dekrip sendiri aja ya :D . 

zero-two@franxx:~$ cat hi.txt.asc
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1
hQIMAzEUhTkKfT5+ARAAoc3WWRIInPEASwXQtJ39WtcJdlDSaPaAZduQ09dP/AKe
n0vRApuuUi0RHU20GCmkbwugIdkDT1CI6HXS9MdXzc//08ORdnpBCwxTLWotf+9l
bK7mKATn3ffLe0CeU7iZi160LgblDH3Ib8upM2Y6yi1vgYMJFiHin7K3CdRAoBs5
cQmbrP5r0YDJUo5tehSxIwzWSfc/LmVaxCnyPwmALu9JMWCcAoq3HgMj9b0+FhOo
dYDnhNXyMUtjPHL7NyIVErv3U1yuZlbKjdRGQcKwDJNAvFvVPuzJfU+pSg85+NC5
ieXJHOTbHk76EXpAXaqyIAq+E47fhW8DyL2bzbw6kZ6wQQkC1lXY741zVy4CleOP
3au1Mc9ibdmL1qFT00ZS4Vdazq7Z6bcPnR25bUWBliCxapQCrGXpJdHZy0k3lBb3
n8B+m5fbnkDUpypKLWU2GCX4AbaXSVWnwE3fItg28gicrfS//LlgsDSkTvtw9vN6
pviDqn+Q5NZkkTYk4frRn73LeVLHBvRDafFn3nWGa9TohlgEav3U/G2JEsPgIL4F
nji1aBX6WpQwW1KnMCIMjrW7oEQej3C/VUY6v+1kZniR1rDxYhdJRc1TJefsAHfW
W02+PzFJPDVSkzgt1yDwbhYycpSDeIoVOJxdn4tgEeuC9Hl2aMTNd/xSVYes18vS
WQE7UQkH00Qxv+8wQBIjdcyO+gdqgYAnEGWYVz3ynU/ApFwvFtvyUmlz7MV3ePw4
UusBMEANAIxKMxgANX+ZG+9SuPAnBlex5dUZueIqOubWeicobKyuwS4n
=Gp+b
-----END PGP MESSAGE-----
Cara dekrip nya.
gpg --decrypt hi.txt.asc > hasil.txt
Masukkan password private key milik kalian.
Dan..
zero-two@franxx:~$ cat hasil.txt
hello from linuxsec.org
Kira kira analoginya seperti itu lah.

Bagaimana jika Email?
Sebenarnya sama saja. Kalian bisa medekrip pesan melalui terminal dan mengirimkan hasilnya. Tapi itu tentu bakal ribet banget. Oleh karena itu kita bisa pakai addons di browser. Kalian bisa menggunakan addons seperti Mailvelope di Chrome (bisa juga di Firefox). Silahkan pilih yang kalian sukai. Saya akan kasih contoh bagaimana menggunakan Mailvelope.
Klik ikon Mailvelope di Chrome. Import Keypair kalian.

Selanjutnya pergi ke Gmail. Tulis email. Klik ikon Mailvelope.

Selanjutnya akan muncul popup untuk menulis pesan. Tulis isi pesan lalu klik Encrypt.

Klik kirim.

Nah berikut isi inbox dari email penerima.




Baiklah mungkin sekian tutorial kali ini. Jika ada yang kurang jelas silahkan ditanyakan.

Referensi:
  • https://danielmiessler.com/blog/basic-gpg-commands/
  • https://www.tutorialspoint.com/unix_commands/gpg.htm
  • http://irtfweb.ifa.hawaii.edu/~lockhart/gpg/
  • https://linux.die.net/man/1/gpg