IPSec, şifreleme ve güvenlik hizmetlerini kullanarak IP protokollerinin güvenlik ihtiyaçlarını karşılamak için IETF (Internet Engineering Task Force – İnternet Mühendisliği Görev Gücü) tarafından geliştirilmiş bir güvenlik protokolüdür. Bu protokol sayesinde veriler ağ üzerinde güvenli bir şekilde gitmesi gereken hedeflere ulaşır. IPSec ağ katmanında çalışarak IP paketlerinin IPSec aygıtları arasında korunmasını ve kimlik denetiminin gerçekleşmesini sağlar. IPSec ağ katmanında çalıştığı için uygulamadan bağımsız olarak her veriyi şifreler ve şifre sonrası oluşturduğu başlık ile verinin İnternette rahatlıkla yolculuk edebilmesini sağlar. Bu yüzden günümüzde VPN (Virtual Private Network - Sanal Özel Ağ) teknolojisinin altyapısını oluşturmaktadır. Genellikle IPsec ile VPN kavramları birbirleriyle karıştırılır. VPN iki uç nokta arasında bir sanal ağ kurmak için kullanılır. IPSec, oluşturulan VPN bağlantılarına güvenliği arttırıcı fonksiyonlar sağlar. VPN oluşturmak için katman 2 ve katman 3 de farklı yollar mevcuttur. IPSec bu yollardan sadece bir tanesidir. Günümüzde İnternet’in gelişmesiyle birlikte IPSec VPN bağlantılar kolaylıkla yapılabildiğinden bu iki kavram iç içe geçmiş durumdadır.
IPSec protokolleri ağ katmanında çalıştığı için diğer güvenlik protokollerine göre daha esnektir. SSL (Secure Socket Layer - Güvenli Soket Katmanı), TLS (Transport Layer Security - Geçiş Katmanı Güvenliği), SSH (Secure Shell - Güvenli Kabuk) 4. ve daha üst katmanlarda çalışmaktadır. IPSec, içinde TCP ve UDP’nin de bulunduğu katman 4 ve yukarı katman protokolleri koruyabilir. IPSec’in diğer güvenlik protokollerinden bir üstünlüğü ise IPSec’in uygulama katmanından yani kullanıcıların yazılımlarından bağımsız çalışabilmesidir. Fakat diğer protokolleri (SSL gibi) kullanabilmek için kullanıcının yazılımının o protokolü desteklemesi gerekmektedir.
IPSec çerçevesi 5 temel yapı bloğunu içerir.
- 1. blok IPSec protokolüdür. ESP ve AH seçeneklerini içerir.
- 2. blokta gerekli olan güvenlik ve gizlilik (confidentiality) derecesine göre kullanılacak olan şifreleme algoritmaları bulunur. (DES, 3DES, AES, SEAL)
- 3. blok MD5 veya SHA kullanarak gerçekleştirilecek bütünlüğü (integrity) içerir.
- 4. blok içeriğin ne kadar paylaşılacağını gösteren PSK ve RSA gibi kimlik doğrulama denetimlerini bulundurur.
- Son blok Diffie-Hellman algoritmalarını içerir. Gerekli özel ihtiyaçlara göre 4 farklı DH algoritmasından herhangi biri seçilebilir.
IPSec ağ geçitleri arasında, istemciler arasında ve ağ geçitleriyle istemciler arasında güvenli veri aktarımını sağlayabilir. IPSec çerçevesi kullanılarak 4 temel güvenlik gereksinimi gerçekleştirilebilir.
Gizlilik (Confidentiality)
IPSec şifreleme metotlarını kullanarak gizliliği temin eder. Güvenliğin derecesi şifreleme algoritmasında kullanılan anahtarın uzunluğuna bağlıdır. Anahtar ne kadar kısa olursa, şifreyi kırmak o kadar kolay olur ve güvenlik açığı oluşur. Örnek olarak 64 bitlik bir anahtarın bilgisayar tarafından kırılması yaklaşık olarak 1 sene sürebilir.
- Des – 56 bit uzunluğunda simetrik kriptolama tekniği kullanan bir sistemdir. Aynı anahtarla şifrelenen veri gene aynı anahtarla açılabiliyorsa simetrik bir şifreleme algoritması kullanılıyor demektir.
- 3Des – Des’in farklı bir çeşididir. 3 tane birbirinden bağımsız 56 bitlik şifreleme kullanarak Des’e göre daha kuvvetli bir güvenlik sunar.
- Aes – 3Des ve Des’e göre daha güvenli bir sistemdir. 128 bit, 192 bit ve 256 bit olmak üzere üç farklı anahtar uzunluğuna sahip olabilir.
- Seal – 1993 yılında Philip Rogaway ve Don Coppersmith tarafından geliştirilmiş, 160 bit anahtar uzunluğunu kullanan bir sistemdir.
Bütünlük (Integrity)
IPSec veri bütünlüğü algoritmalarını kullanarak iletilecek bir verinin hedefe değişmeden sorunsuz bir şekilde ulaşmasını sağlar. HMAC (Hashed Message Authentication Codes - Şifrelenmiş Mesaj Doğrulama Kodu) sahip olduğu "hash" değeri yardımıyla verinin bütünlüğü koruyan bir algoritmadır. Amacı verinin kriptolanmasını sağlamak değil, verinin yolda değiştirilmesini önleyerek verinin doğruluğundan alıcı tarafın emin olmasını sağlamaktır. Gönderici tarafında veri şifrelenir ve Hash algoritmasından geçirilerek bir Hash değeri üretilir. Alıcı tarafında ise Hash algoritmasında tersten geçirilerek üretilen Hash değerinin gönderici tarafında elde edilen değerle aynı olup olmadığına bakılır. Değer aynıysa verinin bütünlüğü sağlanmıştır, farklıysa veri değişmiştir ve kullanılmaz.
İki çeşit HMAC algoritması vardır:
- HMAC – MD5 – 128 bitlik şifrelenmiş veriyi kullanır. Algoritmadan çıkmış hali gene 128 bitlik bir Hash değeridir.
- HMAC – SHA1 – 160 bit uzunluğunda anahtarlama tekniği kullanır. Bu algoritma güvenlik açısından HMAC – MD5’den daha güçlüdür.
Kimlik Denetimi (Authentication)
Genel olarak bir belgenin kimlik denetiminin sağlanması imzalama yöntemiyle olur. Elektronik cihazlarda ise sayısal imza adı verilen gönderen cihazın özel şifresini taşıyan paketler yardımıyla kimlik denetimi sağlanır. IPSec kimlik denetimini sağlamak için PSK ve RSA olmak üzere iki farklı algoritma kullanır.
PSK – Ön-paylaşımlı gizli anahtarlama metodu anlamına gelmektedir. Cihazlarda kimlik denetimini sağlamak için belirlenmiş olan bir sayısal değer elle gereken cihazlara girilir. Her cihaz karşısındaki cihazın değerini öğrendikten sonra ağ güvenli hale gelmiş olur ve veri aktarımı başlar. Girilen sayısal değer cihazın imzası olarak kabul edilmiş olur ve kimlik denetimi sağlanır.
RSA – Asimetrik bir şifreleme algoritmasıdır. Simetrik şifrelerdeki gibi tek anahtar kullanılmasının yerine biri gizli diğeri açık olmak üzere iki anahtar kullanır. Özellikle çok kullanıcısı olan sistemlerde oldukça geçerlidir. Sistemin güvenilirliği ve hızını etkileyen en önemli faktör kullanılan anahtarın uzunluğudur.
Kimlik denetimini sağlamak için diğer bir yöntem de IKE (Internet Key Exchange – İnternet Şifre Değişimi) adı verilen protokuldür. IKE kimlik denetimini, kullanıcı adı ve şifre, tek seferlik şifre, sayısal sertifikalar gibi çeşitli yöntemlerle gerçekleştirir.
Güvenli Anahtar Değişimi (Secure Key Exchange)
IPSec cihazlar arası açık anahtar değişimini sağlamak için Diffie-Helman adı verilen algoritmaları kullanır. Cihazlar arasındaki şifreleme ve şifreyi çözme işlemlerini gerçekleştirmek için en kolay yöntem anahtar değişimini sağlamaktır. Diffie-Helman, kısaca DH algoritmaları sayesinde güvenli olmayan bir kanal üzerinden veri aktarırken bile cihazlar arasındaki anahtar değişimi sorunsuz bir şekilde gerçekleştirilebilir.
DH algoritmaları DH 1, DH 2, DH 5 ve DH 7 olmak üzere 4 farklı şekilde gruplanmıştır. Temelde bu algoritmalar arasındaki fark şifreleme yaparken kullanılan bit sayısıdır.
- DH 1 768 bit, DH 2 1024 bit, DH 5 1536 bitlik anahtar kullanır.
- CISCO 3000 serisi cihazları DH 1-2-5’i kullanırken, Des ve 3Des şifreleme metotları DH 1 ve 2’yi, AES metodu ise DH 2 ve 5’i kullanır.
IPSec Protokolleri
Daha önce şekilde de gösterildiği gibi IPSec protokolleri IPSec yapı bloğunda 1. sıradadır. AH ve ESP olmak üzere 2 çeşittir.
AH (Authentication Header – Kimlik Denetimi Başlığı)
AH protokolu genellikle gizlilik gerekli olmadığında ya da izin verilmediğinde kullanılır. İletim sırasında oluışabilecek değişiklikleri engellemek, gönderilen paketin bütünlüğünü korumak için IP paketine sıra numarası verilir. Eğer alıcı tarafına paketler sıra numarasına uymayacak şekilde ulaşırsa paketler kabul edilmez. Bununla birlikte AH gizlilik sağlamadığı için tek başına kullanılması durumunda güvenlik açığı oluşturabilir.
ESP (Encapsulating Security Payload – Kapsüllenen Güvenlik Yükü)
ESP protokolu gizilik ve kimlik denetimini beraber sağlayabilir. Bu protokol öncelikli olarak AH tarafından sıra numarası verilmiş IP paketlerini belirlenmiş algoritmalardan faydalanarak şifrelemek ve hedefe ulaştığında aynı algoritmaları kullanarak çözümlemektir. Böylece AH tarafından oluşabilecek güvenlik açığı engellenmiş olur.
AH ve ESP protokolleri IP paketlerine iki farklı şekilde uygulanabilir.
Transport Mode (Aktarma Modu)
Bu modda güvenlik sadece OSI katmanlarından Transport katmanı ve üzerinde sağlanan bir özelliktir. Transport modu IP paketinin AH veya ESP ile korunmasını sağlar. Paketin yük bölümü üzerinden koruma gerçekleşirken, gerçek IP adresinde değişiklik meydana gelmez. Aynı yerel ağ içerisinde bulunan cihazlar tarafından kullanılabilir.
Tunnel Mode (Tünel modu)
Bu modda güvenlik bütün IP paketi üzerinden gerçekleştirilir. Gerçek IP paketi şifrelenir ve başka bir IP paketi yardımıya kapsülleme yapılır. Genel olarak tünel modu veriler farklı bir ağdan geçiş yapacağı zaman kullanılır. Tünel modunda şifreleme işlemi veriler ağdan çıkış yaparken ağ geçidi (gateway) üzerinde yapılır. İç ağlarda IPSec kullanmaya gerek yoktur.
Sonuç olarak IPSec veriyi, kriptolayan (encryption), bütünlüğünü sağlayan (integrity) , kimlik doğrulaması (authentication) ve verinin network üzerinde güvenli iletimini (Secure transmission) sağlayan bir ağ standartıdır.