Tutorial Mengenkripsi Pesan dengan GPG

Monday, May 29th, 2017 - Tutorial
Advertisement

Pada tutorial kali ini, penulis akan membahas cara mengenkripsi (encrypt) sebuah pesan dan nantinya akan di sign juga dengan GPG. Sebelum jauh membahas cara – caranya, ada baiknya kita mengenal apa itu GPG. GPG merupakan kependekan dari GNU Privacy Guard, yang merupakan sebuah implementasi dari kriptografi dengan menggunakan kunci publik (public key). Hal ini memungkinkan untuk melakukan transmisi informasi di antara beberapa pihak secara aman, serta dapat digunakan untuk memverifikasi orisinalitas asal dari pesan tersebut. Di tutorial ini kita akan membahas bagaimana cara GPG bekerja serta cara implementasinya. Tentunya kita akan menggunakan distro linux kecintaan penulis, Ubuntu 16.04 versi Server.

Cara GPG Bekerja

Permasalahan yang sering dihadapi oleh banyak pengguna adalah bagaimana cara melakukan komunikasi dengan aman dan melakukan validasi pada identitas lawan komunikasinya. Banyak cara dan metodologi yang mencoba untuk menjawab kebutuhan di atas, setidaknya untuk melakukan transfer password atau kredensial pengguna via medium yang tidak aman.

Memastikan Hanya Pihak Yang Diinginkan Yang Dapat Membaca Pesan

Untuk memastikan hanya pihak yang kita inginkan, yang dapat membaca pesan, GPG mengandalkan konsep keamanan yang dikenal dengan enkripsi kunci publik (public key encryption). Pada intinya adalah pemisahan tahap enkripsi dan dekripsi pada saat pengiriman ke dalam 2 bagian yang terpisah. Dengan cara ini kita bisa dengan bebas mendistribusikan bagian yang dienkripsi, selama yang bagian dekripsi diamankan.

Hal ini juga memungkinkan kita untuk melakukan yang disebut one-way message transfer atau pengiriman pesan satu arah yang dapat dibuat dan dienkripsi oleh siapa saja, tapi hanya dapat didekripsi oleh pihak / penerima tertentu saja – pengguna yang mempunyai kunci privat untuk dekripsi. Jika kedia pihak (pengirim dan penerima) membuat sepasang kunci (publik dan privat) dan saling memberikan kunci tersebut, maka mereka dapat mengenkripsi pesan satu sama lain. Jadi, satu pihak mempunyai kunci privat masing – masing dan kunci publik lawan komunikasinya.

Memvalidasi Identitas Pengirim

Keuntungan lain dari sistem ini adalah pihak pengirim pesan dapat menandatangani (sign) pesan dengan kunci privat. Kunci publik yang ada di penerima pesan dapat digunakan untuk memverifikasi tanda tangan digital itu dikirim oleh pengguna yang mana.

Membuat Kunci GPG (GPG Keys)

GPG sendiri secara default sudah terpasang di sebagian besar distribusi linux. Jikapun tidak terpasang, lakukan ini di Ubuntu (atau Debian).

Menggunakan GPG untuk mengenkripsi, kita membutuhkan sepasang kunci publik dan privat. Gunakan perintah di bawah ini:

Lalu isilah beberapa pertanyaan yang akan muncul dan digunakan untuk mengonfigurasi kunci kita:

  • Please select what kind of key you want: (1) RSA and RSA (default)
  • What keysize do you want? 4096
  • Key is valid for? 1y (akan kadaluarsa setelah 1 tahun. Untuk percobaan isilah dengan angka 3 saja tanpa embel y atau apapun.)
  • Is this correct? y
  • Real name: nama anda
  • Email address: email@anda.com
  • Comment: opsional, komentar ini akan muncul di signature
  • Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
  • Enter passphrase: Masukkan password yang aman dan cukup kompleks

Pada poin ini, GPG akan membuat kunci dengan menggunakan entropi. Entropi menjabarkan jumlah yang tak dapat diprediksi yang ada pada sistem. GPG membutuhkan entropi untuk menciptakan kunci yang aman. Proses ini mungkin akan membutuhkan waktu yang lama, tergantung dari seberapa aktif sistem kita dan keysize yang kita pilih. Untuk menciptakan tambahan entropi, kita dapat menggunakan sebuah perangkat bantu yang disebut haveged.

Membuat Revocation Certificate

Kita membutuhkan cara untuk melakukan invalidasi dari kunci kita. Hal ini kita butuhkan jika ada kebocoran keamanan atau misalkan kita kehilangan secret key. Hal ini harus dilakukan sesaat setelah membuat kunci, bukan saat membutuhkan.

Beberapa pertanyaan akan muncul. Isi sesuai dengan keperluan kita. Jangan lupa untuk mengubah akses ke file revoke.crt 

Cara Mengimpor Kunci Publik Pengguna Lain

GPG akan sedikit tak berguna jika kita tidak menerima kunci publik lain dari pihak yang kita inginkan untuk saling berkomunikasi. Kita dapat mengimpor kunci publik lawan komunikasi kita dengan cara:

Juga ada kemungkinan dari lawan komunikasi kita untuk mengupload kunci mereka ke public key server. Server ini digunakan orang dari berbagai penjuru dunia untuk saling bertukar kunci. Key server yang paling populer adalah milik MIT. Kita dapat mencari seseorang berdasarkan nama dan email address di https://pgp.mit.edu/

Kita juga dapat melakukan pencarian via CLI:

Cara Memverifikasi dan Menandatangani Kunci

Sementara kita dapat mendistribusikan kunci publik secara bebas, hal terpenting adalah untuk mampu mengecek kunci tersebut milik siapa pada saat melakukan transmisi kunci publik.

Bagaimana cara kita untuk mengetahui bahwa seseorang yang memberikan kita kunci publik adalah pihak yang valid atau benar. Kita bisa saja ada di sebelah orang yang membuka dan bertukar kunci. Tapi dalam berbagai kasus, kita tidak dapat selalu bertukar kunci dengan pertemuan secara fisik. Hal ini menjadi dilema mengingat bisa saja kita menerima kunci yang salah. jadi kita harus dapat memverifikasi kunci tersebut.

Cara untuk memvalidasi siapa pemilik kunci adalah dengan cara membandingkan fingerprint dari kunci. Cara ini memberikan kita keyakinan bahwa duabelah pihak menggunakan kunci publik yang sama.

Outputnya :

Kita bisa bandingkan string ini dengan milik pihak lawan komunikasi.

Tandatangani Kunci Pihak Lain

Menandatangani kunci memberitahukan ke software kita bahwa kita mempercayai kunci tersebut.

Ketika kita menandatangani kunci, maka kita memverifikasi bahwa kita mempercayai pihak yang mengklaim kunci itu. Ini dapat membantu pihak lain untuk mempercayai pihak tersebut juga. Jika seseorang telah mempercayai kita dan mereka melihat kita sudah menandatangani kunci miliknya.

Kita akan diminta untuk mengisi passphrase lagi. Setelah itu, public key yang sudah ditandai akan tampil. Kirimkan public key yang telah ditandai ini ke lawan komunikasi kita, maka mereka dapat mendapatkan semacam tanda persetujuan ketika dua belah pihak saling berinteraksi.

Ketika mereka menerima kunci tersebut, mereka dapat mengimportnya. Menambahkan informasi yang tadi kita buat ke dalam database GPG mereka. Mereka akan mengetikkan ini:

Cara Untuk Menyebarluaskan Kunci Publik

Dengan metode yang kita jabarkan di atas, maka kita dapat menyebarkan public key kita. Untuk memberikan kunci kita, lakukan ini :

Output

Kita bisa mengirimkan file public key ini lewat beberapa medium. Untuk mempublikasikan kunci tersebut via key server :

Mengenkripsi dan Mendekripsi Pesan dengan GPG

Berikut ini cara mengenkripsi pesan atau file di linux:

Command di atas akan mengenkripsi dengan kunci publik penerima, tandai dengan private key kita sendiri untuk menjamin bahwa pesan itu memang dari kita. Output dari pesan akan menjadi raw bytes, dan nama berkas atau file akan menjadi nama file aslinya dengan ekstensi .asc

Kita juga sebaiknya mengikutsertakan “-r” ke dua dengan email kita jika kita ingin melihat pesan yang kita enkrip sendiri. karena pesan akan dienkripsi dengan kunci publik masing – masing puhak, dan akan dapat didekripsi oleh kunci privat terkait.

Untuk dapat mendekripsi file lakukan ini:

 

Pemeliharaan Kunci

Berikut ini beberapa cara pemeliharaan (maintenance) kunci.

Daftar kunci di GPG database:

gpg –list-keys

Informasi dari kunci akan kadaluarsa jika kita bergantung pada informasi dari key server. Kita tidak ingin bergantung pada kunci yang sudah di revoke, karena bisa jadi kunci tersebut sudah diretas atau memang sudah tidak valid. 

Menggunakan GPG secara benar akan membantu kita untuk berkomunikasi secara aman. Hal ini sangat penting mengingat saat ini informasi begitu mudah disadap oleh pihak lain yang tidak berkepentingan. Terutama jika pekerjaan kita sering sekali untuk mengirim dan menerima pesan yang mengandung informasi yang sangat sensitif, sehingga penting sekali buat kita untuk mengetahui dan belajar kriptografi, dan mampu melakukan berbagai cara untuk mengenkrip dan dekrip pesan atau file.

Incoming search terms:

  • belajar kali linux
  • ebook linux untuk pemula
  • belajar kali linux pemula
  • ebook panduan ubuntu 16 04 LTS bahasa indonesia
  • linux pemula
  • scrip di ubuntu pemula
  • kali linux belajar
  • https://tutorlinux com/tutorial
  • cara belajar linux server
  • belajar server pake linux
Advertisement
Tutorial Mengenkripsi Pesan dengan GPG | Jsmith | 4.5
Like Page Tutorlinux di Facebook
Leave a Reply