Pretty Good Privacy (PGP)
PGP (Pretty Good Privacy) adalah Suatu metode program enkripsi informasi yang memiliki tingkat keamanan cukup tinggi bersifat rahasia dengan menggunakan “Private-Public Key” sebagai dasar autentifikasinya sehingga jangan sampai dengan mudah diketahui oleh orang lain yang tidak berhak. PGP dikembangkan oleh Phill Zimmermann pada akhir tahun1980. pada awal mulanya , PGP digunakan untuk melindungi surat elektronik (e-mail) dengan memberikan perlindungan kerahasiaan (enkripsi) dan otentikasi (tanda – tangan digital). Untuk itu Phill Zimmermnn membuat sebuah program yang digunakan agar dapat melindungi informasi data dengan kerahasiaan. Program yang dibuat oleh Phill Zimmerann memiliki 2 versi yaitu “USA Version “ dan “International Version”. PGP versi USA hanya dapat digunakan di wilayah USA dan oleh warganegara USA saja. PGP versi USA ini menggunakan algoritma RSA (yang telah menjadi hak paten) dalam enkripsinya. Sedangkan versi internasional menggunakan algoritma MPILIB yang diciptakan khusus oleh Phill Zimmermann sendiri. PGP Versi internasional bisa digunakan oleh seluruh dunia.
Pada dasarnya, PGP merupakan program yang digunakan untuk mengenkripsi satu atau lebih dokumen. Dengan PGP tersebut, hanya orang – orang tertentu saja yang bisa membaca file – file enkripsi tersebut. Bagaimana PGP sebagai program enkripsi dokumen bisa digunakan untuk pengiriman e-mail? Sebenarnya, program PGP mengenkripsi isi mail yang kita tulis menjadi sebuah file. File tersebut dibaca oleh program mail yang kemudian dikirimkan ke tujuan. Penerima e-mail harus menyimpan mail tersebut ke dalam sebuah file. File tersebut dideskripsi sehingga isi mail aslinya akan terlihat. Jadi, mail yang dikirimkan adalah dalam bentuk terenkripsi sehingga tidak dapat dibaca dengan mudah oleh orang – orang yang tidak memiliki akses membaca mail tersebut.
Dasar – Dasar PGP
Seperti yang telah dibahas di awal makalah, PGP (Pretty Good Privacy) dibuat dengan berdasarkan konsep Private Key Cryptography sebagai dasar otorisasinya. Private Key Cryptography ini digunakan untuk mengenkripsi dalam suatu hubungan komunikasi antara dua mesin. Dalam menjaga kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext) ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali. Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai di penerima, ciphertext tersebut ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali. Sehingga dalam penulisannya lebih dikenal dalam bentuk enkripsi (encryption) dan deskripsi (descryption).
Gambar Enkripsi Public Key
Enkripsi (encryption) merupakan suatu proses di mana sebuah pesan (plaintext) ditranformasikan atau diubah menjadi bentuk pesan lain (chipertext) menggunakan suatu fungsi matematis dan enkripsi password khusus yang lebih dikenal sebagai key. Sementara Deskripsi (descryption) merupakan proses kebalikan, dari chiphertext dirubah kembali ke plaintext dengan menggunakan fungsi matematis dan key.
Pada saat kita membuat kunci, PGP akan menciptakan duah buah kunci yaitu private key dan public key yang merupakan sebuah pasangan bersesuaian. Private Key adalah kunci yang hanya diketahui oleh kita sendiri sedangkan Public Key adalah kunci yang kita beritahukan kepada orang – orang yang kita percaya. Public key digunakan sebagai dasar proses pengenkripsian dokumen – dokumen yang hanya bisa dibuka oleh orang yang memiliki private key yang bersesuaian.
Prinsip Kerja PGP
PGP bekerja dengan menggabungkan beberapa bagian yang terbaik dari key konvensional dan public key cryptography, jadi PGP ini adalah sebuah a hybrid cryptosystem. Ketika seorang pengguna mengenkrip sebuah plaintext dengan menggunakan PGP, maka awal PGP akan mengkompress plaintet ini. Data yang dikompress menghebat waktu dan media transmisi dan lebih penting adalah keamanan kriptograpik yang kuat. Kebanyakan teknik analisis sandi mengeksplotasi pola yang ditemukab dalam plaintext untuk men-crack chipernya. Kompressi mengurangi pola-pola ini dalam plaintext, dengan cara demikian perbaikan yang lebih baik untuk menghambat analisa kode-kode.
PGP membuat sebuah session key, dimana sebuah kunci rahasia pada saat itu. Kunci adalah sebuah bilangan acak yang dihasilkan dari gerakan acak dari mouse dan tombol yang anda tekan. Session Key ini berkerja dengan sangat aman, algoritma enkripsi konvesional yang cepat untuk meng-enkrip plaintext. Hasilnya adalah berupah chiper text. Sekali data dienkripsi, lalu session key ini dienkripsi lagi menggunakan kunci publik penerima. session key yang terenkripsi kunci publik key penerima dikirim dengn chipertext ke penerima.
Gambar Cara Kerja Enkripsi PGP
Proses deskripsi bekerja sebaliknya, Penerima menerima pesan lalu membuka pesan tersebut dengan kunci privatnya, namun pesan tersebut masih terenkripsi dengan session key. Dengan Menggunakan PGP, penerima mendekrip chipertext yang terenkripsi secara konvensional.
Kombinasi dari 2 metode enkripsi menggabungkan kehandalan dari enkripsi kunci publik dengan kecepatan pada enkripsi konvensional. Enkripsi Konvensional kuarang lebih 1000x lebih cepat dari enkripsi kunci publik. Jadi enkripsi kunci publik memberikan sebuah solusi pada distribusi kunci dan masalah transmisi data. Dengan menggunakan keduanya, perfoma dan distribusi kunci dapat ditingkatkan tanpa mengorbankan sesuatu dalam keamanan.
Prinsip – prinsip kerja dari PGP itu sendiri adalah :
1. PGP menggunakan teknik yang disebut Public-key encryption dengan dua kode yang saling berhubungan secara intrinsik, namun tidak mungkin untuk memecahkan satu dan yang lainnya.
2. Jika membuat suatu kunci, secara otomatis akan dihasilkan sepasang kunci yaitu public key dan 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 menggunak an secret key untuk membacanya.
3. PGP menggunakan dua kunci yaitu kunci public (proses enkripsi) dan privet (proses deskripsi).
4. menggunakan dua kuci tersebut dikarenakan adanya conventional crypto, disaat terjadi transfer informasi kunci, suatu secure channel diperlukan. Dan jika kita memiliki suatu secure channel, tapi mengapa kita menggunakan crypto? Namun dengan public-key syistem, tidak akan menjadi masalah siapa yang melihat kunci milik kita, karena kunci yang dilihat oleh orang lain adalah yang digunakan hanya untuk enkripsi dan hanya pemiliknya saja yang mengetahui kunci rahasia tersebut.
Perkembangan teknlogi telah menciptakan suatu sistem pengiriman data sebagai alat untuk pertukaran informasi. Teknologi ini telah mempopulerkan berkirim surat dengan sarana electronic mail atau disingkat e-mail. Bahkan kini berkirim surat melalui e-mail sudah mulai menggantikan surat melalui pos. Dengan banyaknya kebutuhan dan keefisienan waktu yang diperlukan untuk memperoleh informasi maka e-mail merupakan salah satu cara yang dapat membantu sehingga dapat mempermudah dan mempercepat penyampaian informasi.
Dengan semakin luasnya penggunaan e-mail dari urusan pribadi, rumah tangga sampai ke rahasia perusaan dan bahkan rahasia negara, maka orang – orang kini mempertanyakan sejauh mana e-mail dapat dipercaya untuk membawa informasi – informasi yang sensitif bagi kita. E-mail sangat mudah disadap, semudah orang membaca kartu pos. Dengan tool tertentu dan sedikit pengetahuan internet, penyadap akan mendapatkan berbagai e-mail sesuai dengan kepentingannya. E-mail dapat dibaca, digandakan atau dimanipulasi dengan mudah tanpa pengirim atau penerima mengetahui bahwa e-mail tersebut sudah dimanipulasi.
Menyadari kerawanan itu, beberapa ilmuwan telah melakukan cara untuk melindungi surat – surat elektronik (e-mail) dengan menggunakan Kriptografi dan protokol yang kuat. Bila seseorang ingin berkirim e-mail secara pribadi atau mengirim dokumen rahasia dimana tidak ingin ada orang lain yang membaca selain si alamat, melalui sistem PGP atau pretty good privacy ini, akan dapat membantu untuk melindungi e-mail tersebut. PGP sangat personal, PGP memberikan kemampuan menyandi e-mail pribadi setara dengan kekuatan kriptografis yang dimiliki militer atau pemerintah.
Dengan PGP, kita mendapatkan lebih dari sekedar privasi. Kita dapat memastikan bahwa e-mail ini memang berasal dari si pengirimnya dan bukan e-mail palsu dari pembuat surat kaleng yang mengatasnamakan orang lain. Sebaliknya, kita juga dapat memastikan bahwa e-mail ini memang berasal dari si pengirimnya tanpa dapat disangkal oleh sipengirim tersebut. Kita juga dapat memastikan bahwa e-mail yang kita terima atau kirim itu masih utuh tidak kurang satu karakter pun dan masih banyak keuntungan lainnya.
Alasan pemakaian PGP
Ada beberapa alasan penting mengapa kita perlu menggunakan PGP untuk mengamankan e-mail file kita.
1. Keamanan
Kita dapat menggunkan PGP untuk berkomunikasi secara aman, baik itu rencana bisnis, keuangan, atau hal – hal pribadi lain yang ingin dijaga kerahasiaannya. Kita dapat menggunakan PGP dengan e-mail untuk alasan yang sama pada waktu kita mengirim surat dengan menggunakan amplop. Mungkin teman seprofesi atu anggota keluarga ingin tahu bahwa informasi yang dikirim terjaga kerahasiaannya dan kiriman benar – benar berasal dari kita. Barang kali kita pernah mengirim e-mail kepada orang yang salah dan kita ingin mereka tidak membacanya. Hal ini sangat sulit untuk dilakukan, kemungkinan sudah banyak orang yang sudah mengetahui isi dari e-mail kita. Jadi untuk amannya e-mail maupun informasi yang kita kirim hendaknya disertai dengan software PGP.
2. Fleksibel
Karena PGP sudah plug-in untuk semua program browser dan banyak digunakan oleh semua program e-mail, maka PGP sangat fleksibel untuk digunakan. PGP selain melindungi e-mail juga file kita dan berjalan pada semua sistem operasi.
3. Gratis
PGP dapat diperoleh secara gratis untuk penggunaan pribadi. Kita dapat mendownload softwarenya pada saat kita terhubung dengan internet. Semua kunci pribadi dapat kita peroleh dan tidak ada biaya tambahan yang dibebankan untuk pembuatan sertifikat maupun tanda tangan digital yang disertakan. Pada PGP untuk melakukan proses enkripsi digunakan kunci rahasia yang berbeda dengan kunci rahasia yang digunakan pada proses deskripsi. Jadi terdapat dua buiah kunci rahasia, satu untuk deskripsi, satu untuk enkripsi. Hal inilah yang dikenal dengan kriptografi asimertrik. Selain asimterik ada juga kriptografi simetrik yang hanya menggunakan 1 buah kunci rahasia. Dengan demikian, siapa saja yang ingin menggunakan PGP akan membutuhkan 2 buah kunci. Pertama, kunci untuk proses enkripsi (kunci publik). Disebut kunci publik karena kunci yang digunakan untuk enkripsi ini akan diberitahukan kepada umum. Orang yang akan mengirimkan e-mail rahasia kepada kita harus mengetahui kunci publik ini. Kedua, kunci untuk proses deskripsi (kunci pribadi). Disebut kunci pribadi karena kunci ini hanya diketahui oleh kita sendiri.
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 :
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 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 PGP
Usaha-usaha penyadapan proses penyampain e-mail melalui Internet semakin hari semakin meluas. Terlebih setelah masuknya transaksi dunia bisnis ke dunia Internet yang tentunya memerlukan tingkat kerahasiaan tertentu. Ambil contoh, Anda ingin membeli sebuah barang melalui e-mail ke sebuah toko. Anda menuliskan nomor kartu kredit sebagai jaminan pembayaran pada e-mail yang Anda kirimkan. Pada akhir bulan, tiba-tiba Anda dikejutkan dengan melonjaknya nilai tagihan pada kartu kredit Anda yang disebabkan oleh pembelian-pembelian barang yang tentunya tidak pernah Anda lakukan. Hal ini sangat mungkin terjadi akibat penyadapan isi e-mail yang Anda kirimkan ke toko tersebut. Setelah sang penyadap telah mengetahui identitas kartu kredit Anda, dengan leluasa dia melakukan transaksi menggunakan kartu kredit Anda sebagai jaminan.
Jika Anda ingin menghindari kejadian di atas atau Anda menginginkan privacy saat mengirimkan e-mail, proses enkripsi menjadi salah satu solusi utama! Selain itu, jika Anda ingin file-file yang Anda miliki tidak bisa dibaca oleh orang lain kecuali oleh Anda sendiri dan orang-orang yang Anda percaya maka proses enkripsi menjadi perlu.
Enkripsi dilakukan dengan mengacak pesan plaintext secara sistematis sehingga tidak dapat terbaca tanpa alat khusus. Dalam teknologi enkripsi yang umum saat ini, digunakan sepasang kunci untuk mengenkripsi dan mendeenkripsi (menguraikan sandi) pesan yang hendak disampaikan. Sepasang kunci ini dinamakan kunci publik dan kunci privat. Dua kunci ini dibangkitkan secara simultan oleh komputer dan digunakan berpasangan. Untuk dapat mengenkripsi pesan, orang yang menulis pesan memerlukan kunci publik (public key). Kunci publik ini disebarkan oleh pemiliknya agar orang yang ingin menulis pesan padanya bisa mengenkripsi pesan menggunakan kunci publik tersebut. Setelah dienkripsi, pesan tersebut tidak bisa diuraikan lagi, kecuali memakai kunci privat. Kunci privat disimpan dan harus dirahasiakan oleh pemiliknya. Kunci ini digunakan untuk menguraikan pesan yang dienkripsi dengan menggunakan kunci publik. Karena hanya satu orang (pemilik kunci) yang menyimpan kunci privat tersebut, maka hanya dia yang bisa membaca pesan tersebut.
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 menjadi ASCII text yang sesuai dengan format pengiriman usenet. Feature ini juga dimiliki oleh PGP.
Implementasi PGP dalam TandaTangan Digital
Tanda tangan digital ini berguna untuk memastikan keaslian pesan yang disampaikan, bahwa suatu pesan yang disampaikan pada kita benar-benar berasal dari pengirim seperti yang tertulis pada header e-mail. Tanda tangan digital juga menjamin integritas pesan. Teknologi ini memungkinkan kita mendeteksi bila ada orang yang menyadap pesan dan mengganti isi pesannya di tengah jalan.
Dibandingkan dengan tandatangan analog, tanda tangan digital lebih sulit dipalsukan. Tanda tangan digital lebih sering digunakan daripada enkripsi karena kita sering tidak peduli apakah e-mail kita disadap atau tidak, tapi kita benar-benar ingin tahu apakah yang mengirim e-mail pada kita benar-benar orang yang kita maksud. Ini semakin penting dengan semakin menyebarnya virus yang seolah-olah datang dari orang yang kita kenal. Berbeda dengan proses enkripsi, dalam tanda tangan digital kunci privat digunakan untuk menandatangani dokumen atau pesan yang hendak disampaikan. Penerima pesan atau dokumen dapat memeriksa keasliannya dengan menggunakan kunci publik yang sudah ada padanya.
Gambar Tanda Tangan Digital (Digital Signatures) Sederhana
Fungsi Hash
Hash adalah algoritma yang menghasilkan output yang bersifat unik dari sebuah input tertentu seperti pesan. Fungsi hash menambahkan suatu fungsi dalam prosesnya dari skema proses diatas. Fungsi ini akan membuat suatu panjang variabel output yang sama walau pun berbeda panjang pesan. Tetapi perubahan satu bit saja akan merubah nilai dari variabel fix tersebut.
PGP menggunakan kekuatan fungsi hash ini secara kriptografi pada text biasa yang pengguna menandatanganinya. Ini akan menghasilkan suatu panjang data yang tetap yang disebut dengan suatu message digest (pesan singkat), Sekali lagi perubahan sedikit saja pada data akan merubah nilai dari pesan ini. Lalu PGP menggunakan pesan singkat dan kunci privat untuk membuat “signature”. PGP mengirimkan signature dan text biasa ini bersama-sama. Pada sisi penerima pesan, penerima menggunakan PGP untuk melakukan komputasi ulang digest, lalu membuktikan signaturenya. PGP dapat mengenkripsi tulisan biasa atau tidak. Menandatangani tulisan biasa akan berguna jika sebagian penerima tidak tertarik akan atau mempu untuk membuktikan signature.
Sepanjang suatu jaminan fungsi hash digunakan, tidak ada cara lain untuk mengambil tanda tangan seseorang dari dokumen yang satu ke dokumen yang lain atau merubahnya dalam cara apa pun. Perubhan paling kecil saja dari dokumen akan menghasilkan proses pembuktian keabsahan menjadi gagal.
Gambar Pengamanan Tanda Tangan Digital (Secure Digital Signatures)
Cara Mendapatkan Program PGP
Program PGP “International version” merupakan shareware dan dapat didownload dari beberapa ftp server sebagai berikut :
ftp://ftp.ifi.uio.no/pub/pgp/(primary)
ftp://ftp.ox.ac.uk/pub/crypto/pgp/
ftp://ftp.dsi.unimi.it/pub/security/crypt/PGP/
ftp://ftp.informatik.uni-hamburg.de/pub/virus/crypt/pgp/
Program PGP tersedia dalam berbagai platform seperti MS-Dos, Macintosh, Unix, VMS, OS/2, Atari, dlsb. Untuk platform MS-Dos sendiri, terdapat dua jenis yaitu pgp263i.zip (16 bit) dan pgp263ix.zip (32 bit). Untuk versi 32 bit, terdapat perbedaan pada kecepatan proses enkripsi dan pembuatan key dibandingkan dengan versi 16 bit.
PGP juga tersedia sebagai freeware maupun sebagai paket komersil dalam berbagai versi yang dapat dioperasikan dalam berbagai sistem operasi (DOS, Windows, UNIX, Mac). Program PGP dapat didownload gratis dari situs www.pgp.org atau www.pgpi.org.
0 komentar:
Posting Komentar