Selasa, 24 Maret 2009

Pretty Good Privacy

Pengertian PGP
PGP adalah suatu metode penyandian informasi yang bersifat rahasia sehingga jangan sampai diketahui oleh orang yang tidak berhak. Informasi ini bisa berupa e-mail yang sifatnya rahasia, nomor kode kartu kredit, atau pengiriman dokumen rahasia perusahaan melalui internet. PGP menggunakan metode kriptografi yang disebut “public key encryption”; yaitu suatu metode kriptografi yang sangat sophisticate.



Beberapa istilah yang sering digunakan
cryptography/encryption
ilmu pengetahuan yang mempelajari pengacakan text sehingga tidak seorang pun yang dapat mengetahuinya kecuali bila ia tahu kode yang digunakan untuk men-dechipernya.
conventional cryptography
suatu metode encryption/enkripsi di mana suatu kunci digunakan untuk melakukan enksripsi dan dekripsi suatu plaintext.
encrypt/encipher
pengacakan/scramble dari suatu informasi.
decrypt/decipher
mengembalikan informasi yang telah diacak menjadi bentuk informasi yang semula.
ciphertext/cipher
text setelah dilakukan proses enkripsi
plaintext
text yang akan dienkripsi
key/kunci
kode yang digunakan untuk melakukan enchiper dan atau dechiper suatu text. Dalam kriptografi konvensional, kunci yang digunakan untuk enkripsi dan dekripsi adalah sama. Dalam public-key cryptography,kunci untuk enkripsi dan dekripsi berbeda.
public-key crypto
suatu sistem yang menggunakan dua kunci; yaitu public key dan the secret key yang lebih baik dan lebih praktis dibandingkan dengan conventional crypto. Tujuan utamanya adalah kemudahan dalam manajemen kunci.
algorithm/algoritma
algorithm adalah program crypto apa yang digunakan untuk melakukan enkripsi. Ia bukanlah suatu kunci, tetapi menghasilkan kunci. Suatu algoritma yang kuat/bagus akan manghasilkan crypto yang kuat.bagus juga. PGP menggunakan IDEA untuk bagian crypto yang konvensional, dan RSA untuk bagian public-key . keduanya adalah algoritma yang bagus, namun RSA lebih bagus daripada IDEA.
passphrase
adalah suatu word atau phrase, atau bahkan hanya karakter acak, yang digunakan PGP untuk mengidentifikasi seseorang sebagai person yang diinginkan oleh orang tersebut. Suatu passphrase sebaiknya lebih dari satu word, dan jangan pernah membuat yang orang lain dapat menebaknya, seperti nama, nama tengah, binatang kesayangan, nama anak, hari ultah, nama pacar, alamat, band favorit dsb. suatu passphrase yang ideal, adalah setengah dari baris text. Sebaiknya lebih dari tiga word dan mengandung hal-hal berikut: proper name, suatu slang atau vulgar word, dan irregular capitalization, sebagai contoh: tHe, benny, dll. JUGA, Sifat lainnya adalah ia harus mudah diketik secara cepat, tanpa error, dan tanpa perlu melihatnya pada layar.
public key
adalah suatu kunci yang memiliki sifat sebagai berikut : mempunyai suatu koneksi, sangat berbeda dari yang lainnya, didistribusikan dalam jumlah yang besar , melaluui banyak channel, secure atau insecure.
secret key
adalah suatu kunci yang dimiliki oleh kita dan hanya kita seorang, dan tidak pernah diperlihatkan kepada publik.
ASCII armor/radix-64
adalah suatu format yang digunakan PGP untuk mengkonversi default binary ciphertext, yang tidak dapat ditransfer melalui jaringan, menjadi suatu bentuk ASCII yang dapat dikirmkan melalui email atau usenet.

Prinsip Kerja PGP
PGP, seperti yang telah dijelaskan sebelumnya, menggunakan teknik yang disebut public-key encryption dengan dua kode. Kode-kode ini berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan yang lainnya.
Bila suatu ketika kita membuat suatu kunci, maka secara otomatis akan dihasilkan sepasang kunci yaitu public key and secret key. Kita dapat memberikan public key ke manapun tujuan yang kita inginkan, melalui telephone, internet, keyserver, dsb. Secret key yang disimpan pada mesin kita dan menggunakan messager decipher akan dikirimkan ke kita. Jadi orang yang akan menggunakan public key kita (yang hanya dapat didekripsi oleh oleh secret key kita), mengirimkan messages kepada kita , dan kita akan menggunakan secret key untuk membacanya.
Kenapa menggunakan dua kunci ?.
Karena dengan conventional crypto, di saat terjadi transfer informasi kunci, suatu secure channel diperlukan. Dan jika kita memiliki suatu secure channel, mengapa kita menggunakan crypto? Namun dengan public-key system, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat orang lain adalah yang digunakan hanya untuk enkripsi dan hanya kita sebagai pemilik yang mengetahui secret key; yaitu key yang berhubungan secara fisik dengan komputer kita yang dapat melakukan proses dekripsi dengan public key yang ada dan kemudian kita masukan lagi passphrase. Jadi seseorang mungkin dapat mencuri passphrase yang kita ketikkan, namun ia dapat membaca hanya jika ia dapat mengakses komputer kita

Ilustrasi Pemakaian PGP
Public-key sangat lambat bila dibandingkan dengan konvensional, jadi PGP akan mengkombinasikan dua algoritma, yaitu RSA and IDEA, untuk melakukan enkripsi plaintext kita.
Sebagai contoh, Badrun (pemilik PGP) ingin mengenkripsi suatu file yang diberi nama plain.txt sedemikian sehingga hanya si Matangin yang dapat mendekripsi-nya. Maka Badrun mengirimkan PGP perintah (command line) untuk melakukan enkripsi :
pgp -e plain.txt Matangin
Pada command line ini, pgp adalah file executable, -e berarti memberitahukan PGP untuk meng-encrypt file, plain.txt adalah nama plaintext, dan dul merepresentasikan public key suatu tujuan (Matangin) yang diinginkan Badrun untuk mengenkripsi message-nya. PGP menggunakan suatu random number generator, dalam file randseed.bin untuk menghasilkan suatu kunci (session key) temporary IDEA. Session key itu sendiri di-enkripsi dengan kunci RSA public yang direpresentasikan oleh Matangin yang disematkan pada plaintext.
Kemudian, PGP menggunakan session key untuk mengenkripsi message, ASCII-armors dan menyimpan seluruhnya sebagai cipher.asc. Bila Matangin ingin membaca pesannya, ia mengetikkan command:
pgp cipher.asc
PGP menggunakan secret key milik Matangin, yang merupakan kunci RSA, untuk men-dekripsi sessi kunci yang mana, yang jika dipanggil oleh Badrun akan dienkripsi oleh public key. kemudian, conventional crypto digunakan dalam bentuk session key untuk mendekripsi sisa dari message. Alasan prinsip ini adalah sebagai pengganti/kompensasi dari RSA karena "RSA is too slow, it's not stronger, and it may even be weaker." (-PGP Documentation, pgpdoc2.txt).

Enkripsi untuk File-File Biner
Untuk mereka yang terbiasa bekerja dengan file-file biner, pada usenet mengetahui istilah uuencode. Uuenconde adalah suatu program, yang terutama untuk UNIX, namun sekarang berkembang sehingga dapat mengubah file-file biner seperti .GIF or .AU menjadi ASCII text yang sesuai dengan format pengiriman usenet. Feature ini juga dimiliki oleh PGP. File config.txt (mungkin disebut pgp.ini atau .pgprc ; tergantung protokol local) memiliki suatu option untuk berapa banyak baris file ASCII yang dapat dimuat. Jika jumlah ini tercapai, PGP akan memecah-mecah file armored .asc menjadi .as1, .as2, .as3, ... dan semuanya harus digabungkan satu sama lain secara bersama-sama dan menjalankan PGP dalam suatu file yang besar. Untuk mengenkripsi suatu file biner, gunakan command berikut:
pgp -a picture.gif
atau option TextMode diset ke ON:
pgp -a picture.gif +textmode=off

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes