Panduan Pengguna GnuPG Gentoo
1.
Pendahuluan
Apa yang anda dapatkan dari panduan ini
Panduan ini menganggap anda sudah mengenal kriptografi kunci publik, enkripsi,
dan tanda tangan digital. Jika belum, loncatlah ke Kriptografi Kunci Publik atau bacalah Buku Pegangan
GnuPG, bab 2, kemudian kembali lagi.
Panduan ini akan mengajarkan anda cara menginstal GnuPG, cara menciptakan
pasangan kunci, cara menambahkan kunci ke keyring, cara mengirimkan
kunci publik ke server kunci dan cara menandatangani, mengenkripsi, memeriksa
atau menerjemahkan pesan yang anda kirim atau terima. Anda juga akan
mempelajari cara mengenkripsi file di komputer anda agar orang lain tidak dapat
membacanya.
Instalasi software yang diperlukan
Paling tidak anda harus meng-emerge gnupg. Saat ini sudah banyak
aplikasi yang mendukung penggunaan gpg, jadi ada baiknya anda menambahkan
crypt pada variabel flag USE. Jika anda ingin menggunakan klien e-mail
dengan dukungan gnupg, anda dapat menggunakan pine (emerge pinepgp),
mutt (emerge mutt), Mozilla Thunderbird (emerge
mozilla-thunderbird), evolution (evolution adalah aplikasi GNOME yang mirip
dengan Microsoft Outlook) dan KMail dari KDE (KMail merupakan bagian dari paket
kdepim).
Anda mungkin akan tertarik dengan Kgpg jika anda menggunakan KDE. Dengan
program kecil ini anda dapat mengimpor kunci-kunci dari file ASCII,
menandatangani kunci hasil impor, mengekspor kunci dan masih banyak fitur
lainnya.
2.
Menciptakan kunci dan menambahkannya ke koleksi kunci publik
Menciptakan kunci
Untuk menciptakan kunci anda sendiri, jalankan gpg --gen-key. Kali
pertama anda menjalankannya, beberapa direktori akan diciptakan; jalankan
kembali untuk menciptakan kunci:
Daftar Kode 2.1: Proses pembuatan kunci |
$ gpg --gen-key
gpg (GnuPG) 1.0.7; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
(5) RSA (sign only)
Your selection? 1
|
Di sini anda dapat memilih tipe kunci yang ingin anda gunakan. Kebanyakan
pengguna memilih DSE anda ElGamala yang merupakan default. Kemudian
tentukan ukuran kunci - ingat, semakin besar kunci anda akan semakin baik,
tetapi jangan gunakan kunci DSA/ElGamal yang lebih besar dari 2048. Biasanya
1024 sudah cukup untuk e-mail biasa.
Selanjutnya masa berlaku. Lebih kecil lebih baik, tetapi kebanyakan pengguna
boleh menggunakan kunci yang akan tetap berlaku untuk 2 sampai 3 tahun.
Daftar Kode 2.2: Menentukan ukuran kunci |
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
What keysize do you want? (1024) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n>= key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
|
Sekarang saatnya untuk memasukkan beberapa informasi tentang diri anda. Jika
anda ingin mengirimkan kunci publik anda kepada orang lain, anda harus
menggunakan alamat e-mail asli anda di sini.
Daftar Kode 2.3: Memasukkan informasi pribadi |
Is this correct (y/n)? y
You need a User-ID to identify your key; the software constructs the user id
from Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
Real name: John Doe
Email address: john@nowhere.someplace.flick
Comment: The Real John Doe
You selected this USER-ID:
"John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
Enter passphrase:
|
Sekarang ketik kata sandi anda dua kali. Akan baik sekali jika anda menggunakan
kata sandi yang rumit. Jika ada orang yang berhasil mencuri kunci pribadi anda
dan menjebol kata sandinya, ia akan dapat mengirimkan e-mail yang
ditandatangani oleh "anda" sehingga penerima akan percaya bahwa e-mail tersebut
benar-benar berasal dari anda.
Selanjutnya, GnuPG akan menciptakan kunci anda. Gerakkan mouse atau putar MP3
untuk menciptakan data acak agar proses ini lebih cepat selesai.
Menciptakan sertifikat pembatalan
Penting:
Bagian ini sangat penting dan anda harus melakukannya SEKARANG JUGA!
|
Setelah menciptakan kunci, anda harus menciptakan sertifikat pembatalan. Dengan
begini anda dapat membatalkan kunci anda jika terjadi hal-hal yang tidak
diinginkan dengan kunci anda (mis. ada orang yang berhasil mencuri kunci
pribadi/kata sandi anda).
Daftar Kode 2.4: Menciptakan sertifikat pembatalan |
$ gpg --list-keys
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
sub 2048g/96D6CDAD 2002-12-08
$ gpg --output revoke.asc --gen-revoke 75447B14
sec 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
Create a revocation certificate for this key? y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)
Your decision? 1
Enter an optional description; end it with an empty line:
> Sistem jebol dan kunci serta passwordnya tercuri
>
Reason for revocation: Key has been compromised
Someone cracked me and got my key and passphrase
Is this okay? y
You need a passphrase to unlock the secret key for
user: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
1024-bit DSA key, ID 75447B14, created 2002-12-08
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
|
Perintah gpg --list-keys menampilkan daftar kunci yang tersedia. Anda
dapat menggunakannya untuk melihat ID kunci anda agar anda dapat menciptakan
sertifikat pembatalan. Sekarang saat yang tepat untuk menyalin semua isi
direktori .gnupg dan sertifikat pembatalan (yang dikurung dengan
ASCII - revoke.asc) pada media yang aman (seperti dua buah floppy
atau satu CD-R yang disimpan di tempat aman). Jangan lupa bahwa
revoke.asc dapat anda gunakan untuk membatalkan kunci anda dan
mengkadaluarsakannya.
Catatan:
Jika anda memiliki banyak alamat e-mail yang ingin anda gunakan dengan kunci
ini, jalankan gpg --edit-key ID_KUNCI lalu gunakan perintah
adduid. Anda akan ditanyakan tentang nama, e-mail dan komentar untuk ID
kedua yang ingin anda gunakan.
|
Mengekspor kunci
Untuk mengekspor kunci, ketik gpg --armor --output john.asc --export
john@nowhere.someplace.flick. Anda juga hampir selalu dapat menggunakan ID
kunci atau sesuatu yang mengenali kunci (di sini kita menggunakan alamat
e-mail). John sekarang sudah memiliki file john.asc yang boleh ia
kirimkan kepada teman-temannya, atau untuk disimpan di sebuah website agar
orang lain dapat berkomunikasi secara aman dengannya.
Mengimpor kunci
Untuk menambahkan file pada koleksi kunci publik, pertama anda harus
mengimpornya, kemudian memeriksa sidik jarinya. Setelah memeriksa sidik jari,
anda harus memvalidasinya.
Catatan:
Anda harus berhati-hati ketika memeriksa kunci. Ini adalah salah satu kelemahan
dari kriptografi kunci publik.
|
Sekarang kita akan menambahkan kunci publik Luis Pinto (teman penulis) pada
koleksi kunci kita. Setelah menelpon dan memintanya untuk mengirimkan sidik
jari kuncinya, Penulis dapat membandingkan sidik jari dengan output dari
perintah fpr. Karena kunci ini sah, penulis menambahkannya ke koleksi
kunci. Pada contoh ini, kunci Luis akan kadaluarsa pada 2003-12-01 jadi penulis
ditanyakan apakah tanda tangan penulis pada kuncinya akan kadaluarsa pada waktu
yang sama.
Daftar Kode 2.5: Mengimpor dan menandatangani kunci |
$ gpg --import luis.asc
gpg: key 462405BB: public key imported
gpg: Total number processed: 1
gpg: imported: 1
$ gpg --list-keys
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
sub 2048g/96D6CDAD 2002-12-08
pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@student.dei.uc.pt>
uid Luis Pinto <lmpinto@dei.uc.pt>
sub 4096g/922175B3 2002-12-01 [expires: 2003-12-01]
$ gpg --edit-key lmpinto@dei.uc.pt
gpg (GnuPG) 1.0.7; Copyright (C) 2002 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
pub 1024D/462405BB created: 2002-12-01 expires: 2003-12-01 trust: -/-
sub 4096g/922175B3 created: 2002-12-01 expires: 2003-12-01
(1) Luis Pinto <lmpinto@dei.uc.pt>
(2). Luis Pinto <lmpinto@student.dei.uc.pt>
Command> fpr
pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@dei.uc.pt>
Fingerprint: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB
Command> sign
Really sign all user IDs? y
pub 1024D/462405BB created: 2002-12-01 expires: 2003-12-01 trust: -/-
Fingerprint: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB
Luis Pinto <lmpinto@dei.uc.pt>
Luis Pinto <lmpinto@student.dei.uc.pt>
This key is due to expire on 2003-12-01.
Do you want your signature to expire at the same time? (Y/n) Y
How carefully have you verified the key you are about to sign actually belongs
to the person named above? If you don't know what to answer, enter "0".
(0) I will not answer. (default)
(1) I have not checked at all.
(2) I have done casual checking.
(3) I have done very careful checking.
Your selection? 3
Are you really sure that you want to sign this key
with your key: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
I have checked this key very carefully.
Really sign? y
You need a passphrase to unlock the secret key for
user: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
1024-bit DSA key, ID 75447B14, created 2002-12-08
Command> check
uid Luis Pinto <lmpinto@dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhe
uid Luis Pinto <lmpinto@student.dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhe
|
3.
Bertukar kunci dengan server kunci
Mengirimkan kunci ke server kunci
Setelah anda memiliki kunci anda sendiri, kiranya ide baik untuk mengirimkannya
ke server kunci dunia. Terdapat banyak sekali server kunci dan kebanyakannya
saling menukarkan kunci. Pada contoh ini kita akan mengirimkan kunci Luis ke
server subkeys.pgp.net. Server ini menggunakan HTTP. Jadi jika anda menggunakan
proxy untuk lalu lintas HTTP, jangan lupa atur terlebih dahulu (export
http_proxy=http://proxy_host:port/). Perintah untuk mengirimkan kunci
adalah: gpg --keyserver subkeys.pgp.net --keyserver-options honor-http-proxy
--send-key 75447B14 di mana 75447B14 adalah ID kunci. Jika anda
tidak menggunakan proxy HTTP, anda dapat menghapus --keyserver-options
honor-http-proxy.
Anda juga dapat mengirimkan kunci milik orang lain yang telah anda tandatangani
ke server. Kita dapat telah mengirimkan kunci Luis Pinto ke server kunci.
Dengan cara ini, seseorang yang kita percayai dapat menggunakan tandatangan
yang telah anda berikan untuk kunci Luis yang anda percayai.
Mengambil kunci dari server kunci
Sekarang kita akan mencari kunci milik Gustavo Felisberto dan menambahkannya ke
koleksi kunci milik John Doe (jika anda tidak menyadarinya, Gustavo Felisberto
adalah penulis sendiri :) ).
Daftar Kode 3.1: Mencari kunci di server kunci |
$ gpg --keyserver subkeys.pgp.net --keyserver-options honor-http-proxy --search-keys humpback@felisberto.net
gpg: searching for "humpback@felisberto.net" from HKP server subkeys.pgp.net
Keys 1-5 of 5 for "humpback@felisberto.net"
(1)Gustavo Felisberto (apt-get install anarchy) <humpback@felisberto.net> 1024
created 2002-12-06, key B9F2D52A
(2)Gustavo Felisberto <humpback@altavista.net> 1024
created 1999-08-03, key E97E0B46
(3)Gustavo A.S.R. Felisberto <humpback@altavista.net> 1024
created 1998-12-10, key B59AB043
(4)Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net> 1024
created 1998-08-26, key 39EB133D
(5)Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net> 1024
created 1998-06-14, key AE02AF87
Enter number(s), N)ext, or Q)uit >1
gpg: requesting key B9F2D52A from HKP keyserver subkeys.pgp.net
gpg: key B9F2D52A: public key imported
gpg: Total number processed: 1
gpg: imported: 1
|
Seperti yang dapat anda lihat dari respon server, penulis telah mengirimkan
beberapa kunci ke server, tetapi untuk saat ini hanya menggunakan
B9F2D52A. Sekarang John Doe dapat menandatanganinya jika ia mempercayai
kunci tersebut.
4.
Menggunakan Agen GPG
Apa itu Agen GPG?
Pada beberapa kasus, ketika bekerja dengan berbagai aplikasi di mana anda
sering menggunakan kunci GPG, anda harus berkali-kali mengetaikkan kata sandi.
Banyak aplikasi yang telah mendukung mekanisme penyimpanan kata sandi untuk
mempermudah penggunanya. Namun cara ini tetap tidak dapat digunakan untuk
banyak aplikasi sekaligus (seberapa aman 'tuh?) dan memaksa aplikasi lain untuk
meminta anda kembali memasukkan kata sandi.
Agen GPG adalah aplikasi terpisah yang digunakan oleh GPG untuk menyimpan kata
sandi dengan cara yang standar dan aman. Agen ini mengizinkan berbagai aplikasi
untuk menggunakan GPG secara bersamaan: Jika anda telah mengetikkan kata sandi
anda untuk sebuah aplikasi, aplikasi lainnya dapat menggunakan GPG tanpa perlu
meminta anda untuk kembali mengetikkannya - tentu saja jika anda mengizinkan
agen GPG untuk melakukannya.
Gentoo menyediakan beberapa aplikasi agen GPG. Paket
app-crypt/gnupg-1.9.* berisi salah satunya, dan kita akan menggunakannya
pada panduan ini.
Instalasi dan konfigurasi gpg-agent dan pinentry
Anda harus menginstal gnupg-1.9.*, yang berisi gpg-agent, dan
pinentry. pinentry adalah sebuah aplikasi pembantu yang digunakan
oleh gpg-agent untuk meminta anda mengetikkan kata sandi pada sebuah jendela
grafis. Jendela ini memiliki tiga jenis: ia dapat menggunakan pustaka gtk+, Qt,
atau curses (tergantung pada flag USE yang anda tetapkan ketika menginstalnya).
Daftar Kode 4.1: Instalasi gpg-agent dan pinentry |
# emerge \>=gnupg-1.9.20 pinentry
|
Selanjutnya, ciptakan file ~/.gnupg/gpg-agent.conf dan masukkan
baris berikut ini yang menentukan timeout default untuk kata sandi (mis.
30 menit) dan aplikasi yang akan dipanggil untuk menampilkan jendela tempat
memasukkan kata sandi (mis. versi Qt dari pinentry).
Daftar Kode 4.2: Edit ~/.gnupg/gpg-agent.conf |
pinentry-program /usr/bin/pinentry-qt
no-grab
default-cache-ttl 1800
|
Sekarang konfigurasikan GnuPG agar menggunakan agen ketika diperlukan. Edit
~/.gnupg/gpg.conf dan tambahkan baris berikut:
Daftar Kode 4.3: Konfigurasi GnuPG untuk menggunakan Agen GPG |
use-agent
|
Sekarang sistem anda sudah (hampir) siap untuk menggunakan agen GPG.
Menjalankan Agen GPG Secara Otomatis
Jika anda menggunakan KDE, edit /usr/kde/3.x/env/agent-startup.sh
(untuk seluruh sistem), atau ~/.kde/env/gpgagent.sh (khusus user)
dan tambahkan perintah berikut ini agar KDE langsung menjalankan agen GPG.
Daftar Kode 4.4: Memerintahkan KDE agar langsung menjalankan Agen GPG |
eval "$(gpg-agent --daemon)"
|
Jika anda menggunakan desktop lain, tambahkan baris tersebut (sama seperti di
atas) pada ~/.xinitrc (jika anda menggunakan startx) atau
~/.xsession (jika anda menggunakan XDM/GDM/KDM/...).
5.
Bekerja dengan berbagai dokumen
Mengenkrip dan menandatangani
Katakanlah anda memiliki sebuah file yang ingin anda kirimkan kepada Luis. Anda
dapat mengenkripsinya, menandatanganinya, atau mengenkripsi sekaligus
menandatanganinya. Mengenkripsi berarti hanya Luis yang dapat membukanya. Tanda
tangan anda akan mengatakan pada Luis bahwa file tersebut hanya diperuntukkan
baginya.
Tiga perintah berikut ini akan melakukannya, yaitu mengenkripsi,
menandatangani, dan mengenkripsi sekaligus menandatangani.
Daftar Kode 5.1: Mengenkripsi dan menandatangani file |
$ gpg --output doc.gpg --encrypt --recipient lmpinto@dei.uc.pt dokumen_yang_akan_dienkripsi
$ gpg --output doc.gpg --sign --recipient lmpinto@dei.uc.pt dokumen_yang_akan_ditandatangani
$ gpg --output doc.gpg --encrypt --sign --recipient lmpinto@dei.uc.pt dokumen_yang_akan_dienkripsi_dan_ditandatangani
|
Perintah tersebut akan menciptakan file binari. Jika anda ingin menciptakan
file ASCII, tambahkan saja opsi --clearsign pada awal perintah.
Mendekripsi dan memeriksa tanda tangan
Sekarang katakanlah anda baru saja mendapatkan sebuah file yang dienkripsi
khusus untuk anda. Perintah untuk mendekripsinya adalah gpg --output dokumen
--decrypt dokumen_terenkripsi.gpg. Ini akan mendekripsi dokumen tersebut
dan memeriksa tanda tangannya (jika memang ada).
MElakukan Enkripsi dan Dekripso tanpa kunci
Anda juga dapat mengenkripsi file tanpa menggunakan kunci, tetapi dengan
password. Password ini sendiri akan berfungsi sebagai kunci - digunakan sebagai
symmetric cypher. Anda dapat mengenkripsi file dengan menggunakan opsi
--symmetric; dan mendekripsinya dengan menggunakan perintah yang
sebelumnya telah kita bahas.
Daftar Kode 5.2: Mengenkripsi file dengan password |
$ gpg --output document.gpg --symmetric document
|
Fitur-fitur Advanced
GnuPG memiliki beberapa fitur advanced bagus lain. Untuk mengetahuinya, bukalah
file ~/.gnupg/gpg.conf.
Daftar Kode 5.3: ~/.gnupg/gpg.conf |
#keyserver x-hkp://subkeys.pgp.net
#keyserver-options auto-key-retrieve include-disabled include-revoked
|
Carilah kedua baris di atas dan hapus tanda komentarnya. Dengan ini, kapanpun
GnuPG harus memeriksa tanda tangan dan tidak dapat menemukan kunci publik pada
koleksi kunci, GnuPG akan menghubungi server kunci di subkeys.pgp.net dan akan mencoba
untuk mengambilnya dari sana.
Perintah bagus lainnya adalah gpg --refresh-keys. Perintah ini akan
menghubungi server kunci yang ditentukan pada file opsi dan memperbarui kembali
semua kunci publik yang ada di koleksi kunci anda dari sana, mencari kunci yang
telah dibatalkan, ID baru, dan tanda tangan baru pada kunci. Anda sebaiknya
menjalankan perintah ini satu atau dua kali setiap bulan agar anda mendapatkan
pemberitahuan ketika ada salah satu kunci yang telah dibatalkan.
6.
Antarmuka GnuPG
Tentang tanda tangan e-mail
Kemungkinan besar anda akan menggunakan GnuPG dengan e-mail, untuk
menandatangani/mengenkripsi surat anda dan membaca surat-surat yang
ditandatangani/dienkripsi. Jadi kita akan membahas hal ini terlebih dahulu.
Ada dua cara untuk menandatangani/mengenkripsi e-mail dengan GnuPG, cara lama
dan cara baru :). Dengan cara lama, surat akan tampak seperti teks biasa, tanpa
ada kemungkinan untuk merubah formatnya dan file lampiran tidak dapat
ditandatangani/dienkripsi. Berikut ini adalah tampilan surat yang
ditandatangani dengan cara lama:
Daftar Kode 6.1: Tanda tangan teks biasa |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Test message
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.8 for non-commercial use
iQA/AwUBP8461jMX0745gR7AEQIEOwCg011GbufXO3ED3FkLWXmfzg7xm1cAoJD0
0EU3Kd2EKNCqataEqM5qjpPs
=LchZ
-----END PGP SIGNATURE-----
|
Surat semacam ini sudah tidak layak digunakan lagi, karena kita sudah memiliki
GUI yang bagus dan aplikasi e-mail yang mendukung html.
Untuk mengatasinya, diciptakanlah sebuah tambahan untuk MIME (Multipurpose
Internet Mail Extensions). MIME menambahkan sebuah kolom pada e-mail yang
memberitahukan kepada aplikasi e-mail bahwa surat tersebut ditandatangani
dan/atau dienkripsi. Beberapa aplikasi bahkan mengacak-acak isinya, Microsoft
Outlook dikenal tidak dapat bekerja dengan cara ini.
Kgpg
Kgpg adalah GUI yang bagus untuk GnuPG. Pada layar utama, anda dapat menyalin
teks yang ingin anda tandatangani atau enkripsi, dan anda juga dapat menyalin
teks yang dikurung dengan ASCII yang ingin anda dekripsi.
Gambar 6.1 |
 |
Pada gambar di atas, anda dapat melihat layar utama Kgpg yang berisi teks yang
dikurung dengan ASCII dan teks terenkripsi. Dari sini anda dapat mendekripsinya
(anda harus memgetikkan kata sandi), mengenkripsi file lain, menyalin teks baru
untuk ditandatangani...
Gambar 6.2 |
 |
Sekarang anda dapat melihat layar manajer kunci. Dari sini kita dapat melihat
kunci kita untuk John Doe. Dua kunci terpercaya untuk Gustavo dan Luis, serta
satu kunci tidak terpercaya untuk Daniel Robbins (penulis masih belum
menghubunginya untuk memeriksa sidik jarinya :) ).
Seahorse
Seahorse diciptakan untuk menjadi antarmuka GUI GnuPG untuk desktop Gnome.
Software ini berkembang dengan cepat, tetapi masih belum memiliki beberapa
fitur penting yang dimiliki oleh Kgpg atau versi baris perintah.
Enigmail
Enigmail adalah plug-in untuk klien e-mail berbasis Mozilla (seperti
Thunderbird dan Seamonkey) yang sangat mudah dikonfigurasi. Pada Seamonkey,
masuklah ke Preferences -> Privacy & Security -> Enigmail. Dari sana anda
dapat memasukkan e-mail kunci anda. Sebelumnya anda harus meng-emerge
enigmail untuk digunakan dengan Thunderbird. Kemudian anda dapat
mengkonfigurasinya dari Edit -> Account Settings -> OpenPGP Security.
Surat-surat yang datang dengan pgp tidak terpercaya atau tanda tangan gpg akan
ditandai dengan gambar pulpen rusak. Surat-surat lain yang memiliki tanda
tangan bagus akan tampak dengan pulpen lurus yang bagus. Enigmail bahkan
memiliki kemampuan untuk mengambil kunci dari server kunci, tetapi jika
bermasalah akan menampilkan beberapa pesan aneh (anda masih ingat cara
menggunakan versi baris perintah 'kan?).
KMail
Jika anda telah mengaktifkan flag USE crypt, maka KMail akan dikompilasi
dengan dukungan gpg, dan dapat mengenkripsi/mendekripsi surat-surat PGP secara
otomatis juga mengenkripsi surat-surat OpenPGP/MIME. Jika anda ingin
mendekripsi surat OpenPGP/MIME, maka anda harus menggunakan agen GPG (bacalah
Menggunakan Agen GPG).
Anda dapat memeriksa apakah KMail telah dikonfigurasi dengan benar dari
Settings, Configure KMail, Security, Crypto
Backends. Seharusnya anda akan melihat backend berbasis GpgME pada
daftar yang ditampilkan dan anda dapat memberi tanda cek untuk OpenPGP. Jika
backend ini tidak dapat diberi tanda cek, klik Rescan. Jika masih tetap
sama, berarti KMail belum dikonfigurasi dengan benar.
Jika anda masih belum dapat mengkonfigurasi KMail dengan benar, bacalah halaman
KMail PGP HowTo
untuk mengetahui cara-caranya.
Claws-Mail
Aplikasi ini berjalan sangat
kencang dengan kotak surat besar dan memiliki semua fitur-fitur bagus yang kita
perlukan juga bekerja sangat bagus dengan gpg. Satu-satunya masalah adalah,
aplikasi ini tidak dapat bekerja dengan tanda tangan PGP kama, jadi ketika anda
menerima surat seperti ini, anda harus memeriksa sendiri tanda tangannya.
Untuk menggunakan kunci gpg dengan Claws-Mail, masuklah ke konfigurasi akun
dan pilih tab privacy. Pilih kunci yang ingin anda gunakan, kebanyakan
pengguna akan memilih kunci default.
7.
Kriptografi Kunci Publik
Dasar Kriptografi Kunci Publik
Konsep dari kriptografi kunci publik ditemukan oleh Whitfield Diffie dan Martin
Hellman pada tahun 1976. Ketika penulis pertama kali mendengat kata "kunci
publik" dan "kriptografi" dalam satu kalimat pada tahun 93, penulis mengira hal
ini mustahil untuk dilakukan. Dulu sebelum internet ada (sebenarnya sudah ada,
tetapi belum untuk penulis), penulis pergi ke perpustakaan umum dan mencari
buku yang membahas kriptografi. Ketika itu penulis baru berumum 16 tahun, maka
petugas di sana memandang penulis dengan terheran-heran dan memberikan sebuah
buku untuk anak-anak tentang kata sandi (yaitu kata-kata yang diganti dengan
kata-kata lainnya seperti Caesar Cyhper yang terkenal atau Rot-13 (Tragbb
Ebpxf, naq lbh xabj vg vf tbbq orpnhfr lbh ner ernqvat guvf qbp.), (emerge
rotix jika anda tidak dapat membaca teks tersebut)). Penulis sangat
kecewa dan mulai mencara informasi lain. Senang sekali rasanya memiliki anggota
keluarga yang hebat matematika, karena ketika penulis berbincang-bincang
dengannya, penulis langsung diperkenalkan dengan dunia baru.
Sekarang sedikit matematika:
Daftar Kode 7.1: Konsep matematika |
Definisi:
1- Bilangan prima adalah bilangan positif yang lebih besar dari satu dan hanya
dapat dibagi dengan satu dan bilangan itu sendiri.
8 bilangan prima pertama adalah 2,3,5,7,11,13,17,19
Theorem (Tanpa bukti)
1- Semua bilangan positif selain bilangan prima dapat dipecah menjadi perkalian
bilangan prima yang tidak sama.
4=2*2
6=2*3
8=2*4=2*2*2
10=2*5
12=2*6=2*2*3
"Fakta":
1- Pengkalian dua bilangan besar sangatlah mudah
2- Pencarian faktor prima dari bilangan positif sangatlah susah
|
Jika penulis berikan angka 35 kepada anda dan mengatakan bahwa angka ini adalah
hasil dari perkalian dua bilangan prima, maka dengan mudah anda akan mengetahui
bahwa kedua bilangan itu adalah 5 dan 7. Tetapi bagaimana jika penulis
mengatakan hal yang sama untuk angka 1588522601? Anda akan menghabiskan banyak
waktu (atau putaran CPU) untuk mengetahui bahwa kedua angka tersebut adalah
49811*31891. Dan jika bilangannya semakin besar, maka pekerjaan ini akan
menjadi "tidak mungkin" untuk dilakukan. Jadi jika sekarang penulis memberikan
bilangan yang sangat besar dan merupakan hasil perkalian dari dua bilangan
prima, berarti penulis mengetahui sesuatu yang tidak diketahui oleh orang lain.
Ini adalah dasar dari implementasi Public Key Cryptography (PKC) yang
saat ini digunakan. Sebagai contoh (yang tidak nyata), penulis memberikan
bilangan kepada semua orang yang dapat digunakan oleh mereka untuk mengacak surat
mereka kepada penulis. Setiap orang dapat melihat surat tersebut, tetapi karena
hanya penulis yang mengetahui jalan pintas untuk membacanya, maka orang lain
harus "memecah" bilangan besar tersebut untuk membacanya. Dan pada
kenyataannya, hal tersebut tidak mungkin dilakukan dalam waktu singkat (jika
dilihat dari metode dan komputer tercepat yang telah ada saat ini). Di sini,
dua bilangan prima besar disebut sebagai KUNCI PRIBADI, dan dua bilangan
non-prima disebut KUNCI PUBLIK.
Pada prakteknya, teori tersebut tidak selalu 100% akurat dengan kenyataan,
tetapi bisa digunakan sebagai dasar yang bagus untuk para pemula. Bagi anda
yang penasaran, bacalah entri Wikipedia tentang protokol Diffie-Hellman. Untuk
informasi tambahan, bacalah buku "Handbook of Applied
Cryptography" karya Alfred J. Menezes, Paul C. van Oorschot dan Scott A.
Vanstone. Buku ini juga tersedia gratis di internet pada website di atas.
Satu konsekuensi dari metode di atas adalah, jika anda mengacak surat anda,
maka anda akan kehilangan surat asli anda yang belum diacak dan tidak lagi
dapat membacanya dari surat yang telah diacak.
Tanda tangan
Kita telah melihat cara orang lain mengirimkan surat yang diacak kepada kita
jika mereka memiliki kunci publik kita. Tetapi bagaimana kita tahu bahwa
penulis pesan tersebut benar-benar merupakan orang yang diakuinya? Dengan kata
lain: Jika penulis mendapatkan e-mail dari anda, bagaimana penulis bisa tahu
bahwa andalah pengirim surat tersebut dan bukan orang lain?
Ingat ketika penulis mengatakan bahwa PKC tidaklah sesederhana seperti yang
penulis jelaskan? Teorinya, ketika anda mengacak sebuah surat dengan kunci
pribadi anda agar ketika penulis menerimanya, penulis dapat menggunakan kunci
publik anda untuk memeriksa tanda tangannya dan kemudian menggunakan kunci
peibadi penulis untuk membuka surat tersebut. Seperti yang dapat anda lihat,
kita tidak dapat melakukannya berdasarkan penjelasan yang telah penulis
berikan.
Selain itu, penting juga untuk menandatangani surat-surat yang tidak anda acak.
Agar ketika anda menulis surat yang boleh dibaca semua orang, anda dapat
mencantumkan "merek" anda pada surat tersebut. Dan jika ada sebuah karakter
yang diganti, hal tersebut dapat (dan akan) diketahui.
Server Kunci dan Kunci Bertanda Tangan
Tetapi katakanlah penulis tidak pernah melakukan kontak dengan anda sampai anda
menyurati penulis, bagaimana cara penulis mendapatkan kunci publik anda, dan
bagaimana penulis tahu bahwa kunci tersebut adalah kunci anda? Untuk alasan
ini, anda harus mengenal sebuah konsep lainnya, yaitu penandatangan kunci.
Untuk mengatasi masalah ini, diciptakanlah Server Kunci. Ketika anda
menciptakan sepasang kunci (Kunci Publik dan Kunci Pribadi), anda kirimkan
kunci publik anda ke server kunci. Setelah itu, siapapun dapat mengambilnya
dari sana. Cara ini dapat mengatasi masalah pencarian kunci. Tetapi bagaimana
penulis tahu bahwa kunci tersebut adalah kunci milik sang pengirim surat? Untuk
itu, anda harus mengenal konsep penandatangan kunci:
Penandatangan kunci artinya, jika penulis memiliki kunci publik seseorang, dan
penulis yakin bahwa kunci tersebut benar-benar miliknya (teman penulis,
seseorang yang penulis kenal dalam kehidupan nyata, dsb.), penulis dapat
menandatangani kunci tersebut dan mengirimkannya ke server kunci. Dengan
begitu, secara tidak langsung penulis telah mengatakan pada dunia bahwa: "Kunci
ini benar-benar milik orang yang mengakuinya.". Akhirnya, orang lain yang
memegang kunci publik penulis dan mempercayai penulis dapat menggunakan
kepercayaan tersebut untuk mempercayai kunci yang telah penulis tanda tangani
tadi.
Hal ini terkadang memusingkan, untuk itu mari kita lihat situasi nyata:
Bayangkanlah situasi dengan tiga orang, John, Mary dan Lisa. John adalah teman
baik Mary tetapi tidak mengenal Lisa; Lisa adalah teman baik Mary tetapi tidak
mengenal Joh. Suatu hari, Lisa menyurati John dengan menandatanganinya. John
akan mengambil kunci publik Lisa dari server kunci dan menguji surat tersebut,
jika semuanya berjalan dengan lancar, John akan melihat bahwa pengirim surat
tersebut juga merupakan pemiliki kunci yang baru ia dapatkan. Tetapi bagaimana
John tahu bahwa si pengirim adalah Lisa?
John kemudian melihat bahwa kunci tersebut ditandatangani oleh Mary karena ia
telah memiliki kunci publik Mary dan mempercayai kunci tersebut. Dengan
kepercayaan ini, John akan menyimpulkan bahwa surat yang ia terima benar-benar
ditulis oleh Lisa.
Sekarang anda sudah siap untuk mengikuti panduan ini, kembalilah ke bab 1 dan
pelajari cara menggunakan gpg.
8.
Catatan Akhir dan Ucapan Terima Kasih
Beberapa Masalah
Penulis mendapatkan beberapa masalah dengan foto di dalam kunci. Periksalah
versi GnuPG yang anda gunakan. Jika anda menggunakan versi 1.2.1-r1 atau yang
lebih baru, kemungkinan anda tidak akan mendapatkan masalah. Versi yang lebih
lama akan mendatangkan masalah. Perlu diketahui juga bahwa kebanyakan server
kunci tidak menyukai kunci berfoto, jadi lebih baik anda tidak menambahkan foto
ke dalam kunci anda.
Versi terbaru dari GnuPG kelihatannya tidak bekerja baik dengan gpg
--send-keys yang dahulu digunakan untuk mengirimkan semua kunci yang ada di
dalam koleksi kunci anda.
Apa yang tidak dibahas di sini
gpg adalah aplikasi yang sangat rumit. Anda dapat melakukan lebih banyak
hal lagi selain yang telah dibahas di sini. Dokumen ini diperuntukkan bagi
pengguna baru GnuPG. Untuk informasi lain, kunjungilah Website GnuPG.
Kami tidak menjelaskan aplikasi lain seperti pgp4pine, gpgpine,
evolution dan mungkin aplikasi untuk Windows, tetapi kami mungkin akan
memperluas dokumen ini di masa mendatang.
Ucapan Terima kasih
Buku Pegangan GnuPG dari John Michael
Ashley adalah buku yang sangat bagus untuk para pemula.
Swift (Sven Vermeulen) yang telah mendorong penulis untuk menulis dokumen ini.
Seluruh tim #gentoo-doc, kalian hebat.
Tiago Serra yang telah mengingatkan penulis untuk kembali membahas masalah
privasi.
Isi dokumen ini dilisensikan dengan lisensi Creative Commons -
Attribution / Share Alike.
|