PGP, dijital imza dışında şifreleme, network güvenlik uygulamaları, firewall gibi sunduğu pek çok özelliğin yönetilmesini sağlayan PGPTools, PGPNet, PGPKeys gibi alt programları birarada bulunduran dosya, mail ve mesaj şifrelemede kullanılan bir programdır.
PGP, yerine koyma ve kaydırma olarak çevirme çalıştığımız her iki kriptografik yöntemi de kullanan Halka Açık Anahtarla Şifreleme (Public Key Encryption ) sistemidir.
Bununla birlikte, bir kez kapatılan veya şifrelenen dosya,ancak ve ancak alıcısının özel anahtarı ile açılabilmekte
veya deşifre edilebilmektedir.
PGP tamamen Phil Zimmerman’ın kişisel çabaları ile oluşturulmuş bir yazılımdır.Ancak, bu gelişim süreci içinde programcısı Phil Zimmermann’ın başını oldukça ağrıtmıştır.
PGP güçlü şifreleme algoritmaları içerdiğinden, ABD gümrük kurallarına göre ABD dışına çıkartılması yasak bir üründür. Ancak, henüz bilinmeyen bir şekilde ABD dışına çıkmıştır.
Amerikan hükümeti, PGP’nin ABD dışına çıkartılmasından Phil Zimmermann’ı sorumlu tutmuş ve hakkında soruşturma başlatmıştı. Ancak, Phil Zimmermann bu olaydan hakkında dava açılmasını gerektirecek deliller bulunamadığından aklandı.
Genel olarak PGP programı ile yapabileceklerimiz şunlardır :
-Dosya,mail ve mesajlarımızı şifreleme / çözme
-Mesajları imzalayarak şifreleme
-Anahtar oluşturma ve anahtar dağıtımı – yönetimi
-Gizli Bilgileri imha etme
-VPN ile Network trafiğini güvenli hale getirme
-Firewall ile yetkilendirilmeyen kişiler tarafından gönderilen paketleri bloke etme.
PGP, halka açık anahtarın üretilmesi amacıyla RSA algoritmasından yararlanmaktadır. Dijital imza ile oluşturulan kontrol verileri RSA ile şifrelenmektedir.
Böylece güvenlik sağlanmış hem de zamandan kazanılmış olunuyor. Bütün metnin RSA ile şifrelenmesi çok zaman alacağından PGP bu amaçla IDEA yöntemini kullanıyor. IDEA ile şifreleme, aynı anahtarın birden fazla kullanılmaması halinde güvenlidir.
Bir çok kullanıcıya oldukça karmaşık gelebilecek bütün bu işlemlerin PGP tarafından tamamen otomatik olarak arka planda gerçekleştirildiğini ve kullanıcının sıkıştırma, bir defalık anahtar vs ile tek tek uğraşmasına gerek yoktur.
PGP de Mesajları imzalayarak şifreleme
1. Kanaladan gelen veri alınır. 1. Mesajdan bir hash fonksiyonuyla mesajın özü elde edilir.
2. Gönderenin gizli anahtarı ( Private Key ) ile mesajın özü imzalanır (Signature)
3. Mesaj ile imza ( plain text + signature ) birlikte sıkıştırılır.
4. Rastgele bir simetrik şifreleme anahtarı oluşturur.( session key)
5. Bilgiyi simetrik anahtar metoduyla şifreleyerek şifrelenmiş mesaj elde edilir.
(chiper text)
6. Simetrik anahtarı asimetrik anahtar metoduyla şifreler ve bunu şifrelenmiş mesaja ekler. (encripted session key + chiper text)
7. Binary formatındaki şifrelenmiş mesaj email yada mesaj olarak gönderilecekse ASCII formatına dönüştürür
Otomatik Genel Anahtar Alma : Genel anahtarı elinizde
olmayan biri size şifreli mesaj veya dosya gönderirse ve o kişinin anahtarını almak isterseniz PGP otomatik olarak sizin yerinize o anahtarı sunucuda arar ve getirir. Bu işlemi PGP’ ye yaptırmak için Options->Servers sekmesinde “Verification” kutusunu işaretli hale getirin.
Ayrıca bu işlemi PGPKeys aracında Server->Search menüsünde kişinin adı, email adresi, id numarası gibi özelliklerini aratarak kendiniz de yapabilirsiniz.
Alt Anahtar : Asıl anahtarın taşıdığı diğer imzaları ve
imzalama yetkisini kaybetmeden birden fazla anahtar oluşturulmasıdır.
* PGP kullanarak RSA anahtarları yaratmak mümkündür.
RSA anahtarlarının boyu kullanıcının güvenlik gereksinimine bağlı olarak 512 ile 2048 bit arasında değişebilir. O yüzden, gizli anahtar-ları ezberlemek ve her gerektiğinde klavyeyi kullanarak girmek nerdeyse imkansızdır.
* PGP’de gizli anahtarlar şifrelenerek bir dosyada saklanır ve gerektiğinde bu dosyadan okunarak işlem yapılır. Bu dosyanın adı ‘secring.pgp’dir.
* Gizli anahtarı şifrelemek için senkron şifreleme algoritmaları (DES, IDEA) kullanılır.Şifreleme anahtarı 128 bit uzunluğundadır.
* PGP, açık anahtarları ‘pubring.pgp’ isimli bir dosyada saklar. Açık anahtarların gizlilik gibi bir gereksinimleri olmadıkları için şifrelenmelerine de gerek yoktur.
* PGP’nin güvenliği, temel olarak kullanılan Simetrik ve Asimetrik şifreleme algoritmalarının (RSA , DES, 3DES, IDEA vs.) ne kadar güvenli olduğu ile ilgilidir.
* Her iki algoritma da geniş çevreler tarafından yeterli anahtar uzunluğu var olduğunda güvenli olarak nitelendirilen algoritmalardır. O yüzden, PGP şifreleme bilimi açısından tamamen güvenlidir.
Gizli anahtarın güvenliğini pekiştirmek için secring.pgp dosyası bilgisayarın sabit diski üzerinde bırakılmamalıdır. Bununla beraber, gizli anahtarı şifrelemek için kullanılan şifre cümlesi mümkün olduğunca uzun (128 karakter) ve anlamsız olmalı ve hiç bir yere kaydedilmemelidir.
Yanlış açık anahtar kullanımını önlemek için ise kefalet kurallarına sıkı bir şekilde uyulmalıdır. Bunun mümkün olmadığı durumlarda ise güvensiz açık anahtarın MD5 kullanılarak çıkartılacak bir özünün E-posta dışı bir iletişim kanalıyla sahibinden doğrulanmasını istemek en uygun davranıştır.
Öte yandan, pubring.pgp dosyasının sabit disk üzerinde tutulmaması bu dosyanın yetkisiz kişilerce silinip değiştirilmesini önleyecektir.
PGP şifreleri anlamsız tahmin edilemez ve sayı-karakter karışık olarak verilmeli. Örneğin hEllowOrld33IjustwanTtoteLLtoev3ryon3thatI’maLamErandI’mahacKer666 gibi