Merhaba bu yazımızda sizlere IPSec Nedir, nasıl çalışırı anlatacağız. IPSec (Internet Protocol Security veya Internet Protokolü güvenliği) isminden de anlaşılacağı üzere Internet Protokolü (IP) kullanılan iletişimlerde doğrulama ve şifreleme kullanarak güvenliğini sağlayan, IETF (Internet Engineering Task Force) tarafından geliştirilmiş bir protokoldür. Biraz tarihçesini incelediğimizde Aralık 1993’de Yazılım Ip Şifreleme Protokolü swIPe John IOANNIDIS ve takım arkadaşları tarafından Columbia Üniversitesi ve AT&T Bell Labs işbirliği ile araştırılmaya başlandığını, Temmuz 1994’de Trusted Information Systems’de çalışan Wei XU (Plug and Play yani tak çalıştır teknolojisini geliştiren kişi) bu araştırmaya destek vererek önemli katkı sağladığını görüyoruz. Daha sonra IETF tarafından standartlaştırılmıştır. Gelin IPSec kısa bir benzetme ile anlatalım. Örneğin çok değerli bir eşya sizin ve alıcı için eşyanız var bunu İstanbul’dan Ankara’ya gödereceksiniz.Özel bir güvenlik şirketi ile anlaşıyorsunuz ve bu taşıma işini sizin için yapıyorlar. Kapınıza özel kargo güvenlik personeli geliyor. Kimlik bilgileri personelin size bildirilmiş, bilgileri (kimlik kontrolü) kontrol ediyorsunuz, firma personeline paketinizi teslim ediyorsunuz, paket zırhlı kargo aracına koyuluyor. Araç kapısı şifre ve anahtar ile kilitlendi. Kargonuz araç ile karşıya gönderiliyor. Alıcı paketin kendisine geldiğini, sizden geldiğini doğruluyor. Alıcı paketi kontrol ediyor. Paket güvenli bir şekilde korumalı bir şekilde alıcıya teslim edildi.
İşte aslında gerçekte IPSec iki bilgisayar arasında(host-to-host), iki güvenlik kapısı arasında(network-to-network), bir güvenlik kapısı ve bir bilgisayar arasında(network-to-host) sağlanan bağlantıdaki veri akışını korumak için kullanılır. IPsec kriptografik güvenlik servislerini kullanarak IP protokolü ile gerçekleştirilen bağlantıları korumak için kullanılır. Ağ seviyesinde doğrulama, veri kaynağı doğrulama,veri bütünlüğü, şifreleme ve replay saldırılarına karşı koruma görevlerini üstlenir.
Ağ katmanında çalışan IPSec uygulamadan bağımsız olarak her veriyi şifreler ve şifre sonrası oluşturduğu başlık ile verinin internette rahatlıkla yolculuk edebilmesini sağlar. Günümüzde VPN(Virtual Private Network – Sanal Özel Ağ) IPSec ile karıştırlmaktadır. VPN iki birim vb. arasında kurulan sanal bir ağdır. IPsec ise VPN bağlantılarına korumalık yaparak güvenliğini artırmaktadır.
IPSec açık bir standart olduğundan dolayı birçok kimlik doğrulama(authentication) ve şifreleme(encryption) algoritmasını içinde barındırır.
Aşağıdaki resimde IPSec Framework yapısını ve bu yapıyı oluşturan blokları ve kullanılan algoritmaları görmektesiniz.
Şimde bu blokları ayrı ayrı inceleyerek IPSec protokolünün nasıll çalıştığını güvenliğin nasıl sağlandığını görelim.
Gizlilik (Confidentiality)
IPSec şifreleme metotlarını kullanarak gizliliği sağlar. Güvenliğin derecesi şifreleme algoritmasında kullanılan anahtarın uzunluğuna bağlıdır. Anahtar ne kadar uzun olursa, şifreyi kırmak o kadar zor olur ve güvenlik açığı oluşma riski ortadan kalkar. Anahtar uzunluğu kıısa ise şifrenin kırılması daha kolay olacaktır. Aşağıda birbirinden farklı algoritmaların açıklaması yapılmıştır.
- 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 gönderilen verinin varacağı noktaya değiştirilmeden ve manipüle edilmeden gönderilmesini sağlar. Bu fonksiyon hash algoritmaları vasıtasıyla yerine getirilir.
IPSec veri bütünlüğü algoritmaları ile verinin varacağı noktaya değiştirilmeden ve manipüle edilmeden sorunsuz bir şekilde gönderilmesini 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)
Genellikle 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 gelir 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
IPSec protokolleri IPSec yapı bloğunda ilk sıradadır. AH ve ESP olmak üzere 2 çeşittir.
AH (Authentication Header – Kimlik Denetimi Başlığı)
AH, veri bütünlüğü (integrity) ve veri kaynağı kimlik denetimi sağlar. AH, korunması istenen datanın içine gömülür. ESP protokolünden itibaren AH protokolü önemini yitirmiştir.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; verinin şifrelenmesi, kimlik denetiminden geçirilmesi ve güvenli hale getirilmesini sağlar. Birçok IPSec uygulamaları ESP’i kullanır. ESP protokolu gizlilik 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.
Kaynak: http://bidb.itu.edu.tr/seyir-defteri, https://tr.wikipedia.org/wiki/Ana_Sayfa