Sejak pembuatannya pada tahun 1991, banyak versi perangkat lunak PGP yang dibuat. Pada tahun 1997, Phil Zimmerman membuat sebuah proposal kepada Internet Engineering Task Force (IETF) untuk pembuatan standar open-source PGP. Proposal tersebut diterima dan membawa kepada pembuatan protokol OpenPGP, yang menentukan format standar untuk pengenkripsian kunci dan pesan.
Walaupun awalnya digunakan hanya untuk mengamankan pesan email dan lampirannya, PGP sekarang diaplikasikan ke banyak kegunaan, termasuk dengan tanda tangan digital, enkripsi full disk, dan proteksi jaringan.
PGP awalnya dimiliki oleh sebuah perusahaan bernama PGP Inc, yang pada akhirnya dibeli oleh Network Associates Inc. Pada tahun 2010, Symantec Corp. membeli PGP sebesar $300 juta, dan terminologi ini sekarang menjadi trademark yang digunakan oleh produk yang sesuai dengan OpenPGP mereka.
Bagaimana cara kerjanya?
Setelah kompresi file, proses enkripsi sesungguhnya akan dimulai. Pada tahap ini, file plaintext yang dikompresi akan di enkripsi dengan sebuah kunci sekali-pakai, yang dikenal sebagai kunci sesi. Kunci ini secara acak dibuat melalui cryptography simetris, dan setiap sesi komunikasi PGP memiliki sebuah kunci sesi yang berbeda.
Selanjutnya, kunci sesi tersebut di enkripsi menggunakan enkripsi asimetris: penerima (Bob) menyediakan kunci publiknya kepada pengirim pesan (Alice) sehingga ia dapat mengenkripsi kunci sesi. Langkah ini mengizinkan Alice untuk secara aman membagikan kunci sesi kepada Bob melalui internet, tanpa harus memperhatikan kondisi keamanan.
Enkripsi asimetris dari kunci sesi biasanya dilakukan melalui penggunaan algoritma RSA. Banyak sistem enkripsi lainnya yang juga menggunakan RSA, termasuk protokol Transport Layer Security (TLS) yang mengamankan banyak bagian di internet.
Setelah pesan ciphertext dan kunci sesi yang sudah dienkripsi ditransmisikan, Bob dapat menggunakan kunci pribadinya untuk mendekripsi kunci sesi, yang akan digunakan untuk mendekripsi ciphertext kembali ke plaintext orisinil.
Disamping dari proses dasar enkripsi dan dekripsi, PGP juga mendukung tanda tangan digital - yang memiliki setidaknya tiga fungsi:
Otentikasi: Bob dapat memverifikasi bahwa pengirim pesan adalah Alice.
Integritas: Bob dapat yakin bahwa pesan tidak diubah.
Tidak ada penolakan: Setelah pesan ditanda-tangani secara digital, Alice tidak dapat mengaku bahwa ia tidak mengirimnya.
Kegunaan
Salah satu kegunaan umum dari PGP adalah untuk mengamankan email. Sebuah email yang diproteksi dengan PGP, diubah menjadi sebuah rangkaian karakter yang tidak dapat dibaca (ciphertext) dan hanya dapat diuraikan oleh kunci dekripsi yang cocok. Mekanisme ini sama dengan mengamankan pesan teks, dan ada beberapa aplikasi perangkat lunak yang mengizinkan PGP untuk diimplementasikan di atas aplikasi lainnya, yang secara efektif menambahkan sistem enkripsi kepada layanan pesan yang tidak diamankan.
Walaupun PGP kebanyakan digunakan untuk mengamankan komunikasi internet, ini dapat diaplikasikan untuk mengenkripsi perangkat individu. Dalam konteks ini, PGP dapat diaplikasikan ke partisi disk dari sebuah komputer atau ponsel. Dengan mengenkripsi hard disk, pengguna akan dibutuhkan untuk memberikan kata sandi setiap kali sistem dinyalakan.
Kelebihan dan Kelemahan
Protokol OpenPGP mengizinkan untuk munculnya sebuah lingkungan standarisasi yang kompetitif dan solusi PGP yang sekarang tersedia disediakan oleh beberapa perusahaan dan organisasi. Akan tetapi, semua program PGP yang sesuai dengan standar OpenPGP dapat dicocokan satu dengan yang lainnya. Ini berarti semua file dan kunci yang dibuat dalam satu program dapat digunakan dalam program lain tanpa masalah.
Mengenai kelemahannya, sistem PGP tidak sesederhana itu untuk digunakan dan dimengerti, terutama untuk pengguna yang memiliki keterbatasan pengetahuan teknis. Dan ukuran panjang dari kunci publik dianggap tidak nyaman digunakan oleh banyak pengguna.
Pada tahun 2018, sebuah kelemahan fatal yang disebut dengan EFAIL diterbutkan oleh Electronic Frontier Foundation (EFF). EFAIL mengizinkan penyerang untuk mengeksploitasi kontek aktif HTML dalam sebuah email terenkripsi untuk mendapatkan akses kepada versi plaintext dari pesan.
Akan tetapi, beberapa masalah yang disebutkan oleh EFAIL sudah diketahui oleh komunitas PGP sejak akhir tahun 1990-an, dan nyatanya, kelemahan tersebut terhubung dengan implementasi dari bagian client email, dan tidak terhubung dengan PGP sendiri. Maka dari itu, walaupun dengan perikop yang cukup mengkhawatirkan dan menyesatkan tersebut, PGP tidak hancur dan tetap menjadi yang teraman.
Penutupan
Sejak pengembangannya di tahun 1991, PGP sudah menjadi sebuah alat penting untuk perlindungan data dan sekarang digunakan oleh banyak sekali aplikasi, memberikan privasi, keamanan, dan otentikasi untuk banyak sistem komunikasi dan penyedia layanan digital.
Walaupun penemuan kelemahan EFAIL pada tahun 2018 mengenai keamanan protokol, teknologi intinya masih dianggap sebagai sangat kuat dan aman secara cryptography. Sangatlah penting untuk mengetahui bahwa perbedaan implementasi PGP dapat menghasilkan tingkat keamanan yang berbeda.