IPsec

İnternet Protokolü Güvenliği(IPsec), Internet Protokolü(IP) kullanılarak sağlanan iletişimlerde her paket için doğrulama ve şifreleme kullanarak koruma sağlayan bir protokol paketidir. IPsec, içinde bulundurduğu protokoller sayesinde, oturum başlarken karşılıklı doğrulama ve oturum sırasında anahtar değişimlerini gerçekleştirme yetkisine sahiptir. İki 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.
TCP/IP protokolü geliştirilirken güvenlik üzerinde pek fazla durulmamıştı. Çünkü TCP/IP protokolünün bu denli yoğun ve standart olarak kabul edilip kullanılacağı düşünülmemişti. Bu nedenle verilerimiz ağ üzerinde savunmasız olarak ilerler ve birçok tehlikeyle karşılaşabilirler. Bu tehlikeler verilerimizin değiştirilmesi, verilerimizin kaybolması ve bununla beraber verilerimizin istenilen hedeflere ulaştırılamamasıdır. IPsec protokolü sayesinde verilerimiz ağ üzerinde güvenli bir şekilde ulaşmak istedikleri hedeflere ulaştırılır. IPsec protokolü IP protokollerinin güvenlik ihtiyaçlarını karşılamak için geliştirilmiş olan bir güvenlik protokolüdür.

Tarihçe

Yazılım IP Şifreleme Protokolü swIPe 1993 yılı aralık ayında, John Ioannidis ve takımı ile birlikte Columbia Üniversitesi ve AT&T Bell Labs işbirliği ile araştırılmaya başlandı.
1994 Temmuz ayında, Trusted Information Systems'da çalışmakta olan Wei Xu, bu araştırmaya devam ederek IP protokollerinin gelişmesine katkı sağladı ve protokolün BSDI platformuna uygulanmasını başarı ile sonuçlandırdı. Bu başarının ardından, protokolü Sun OS ve HP UX gibi UNIX tabanlı sistemlere de uyarladı. DES ve 3-DES protokollerinin yavaş çalışması, araştırma sırasında karşılaştığı zorluklar arasındaydı. Yazılım şifrelemesi, Intel 80386 mimarisinde T1 hızını yakalayamıyordu. Wei Xu daha sonra, bugün tak-ve-çalıştır olarak bilinen otomatik cihaz sürücüsünü geliştirdi. Bu başarı ile birlikte Gauntlet Güvenlik Duvarı üretildi ve ticari olarak pazarlandı. 1994 aralık ayında, bu güvenlik duvarı ilk kez, Amerika Birleşik Devletleri'nde batı yakası ve doğu yakası arasında bazı siteler arasında güvenli bağlantı kurulması için kullanıldı.
Bir diğer IP Kapsüllenmiş Güvenlik Yükü, Naval Araştırma Laboratuvarlarında DARPA tarafından desteklenen bir proje olarak araştırılmış ve IEFT SIPP çalışma grubu tarafından SIPP ye güvenlik uzantısı olarak tasarlanmış ve 1993 Aralık ayında yayımlanmıştır. Kapsüllenmiş Güvenlik Yükü, ilk olarak Amerika Birleşik Devletlerini Savunma Bakanlığı SP3D protokolünden elde edilmiş, sanılanın aksine ISO Ağ Katmanı Güvenlik Protokolünden elde edilmemiştir.SP3D protokolünün özellikleri, NIST tarafından yayımlanmış, fakat Amerika Birleşik Devletlerini Savunma Bakanlığının Güvenli Bilgi Ağı Sistemi projesi tarafından tasarlanmıştır. Güvenlik Doğrulama Başlığı daha önce Basit Ağ Yönetim Protokolünün 2. Versiyonu için çalışan önceki IETF standartları tarafından elde edilmiştir.
1995 te, IEFT deki IPsec çalışma grubu ücretsiz kullanılabilen, Güvenli Bilgi Ağı Sistemi projesinde NSA sözleşmesi altında geliştirilen protokollerin incelenmiş versiyonlarını oluşturmaya başladı. Güvenli Bilgi Ağı Sistemi projesi NIST tarafından yayımlanan Güvenlik Protokolü Katmanı 3 tarafından tanımlanmış ve ISO Ağ Katmanı Güvenlik Protokolünün temellerini oluşturmuştur. Güvenlik Protokolü Katmanı 3 ün anahtar yönetimi IPsec komitesinde devam eden çalışmalara bir referans sağlayan Ağ Yönetim Protokolü tarafından desteklenmiştir.
IPsec IETF tarafından standartlaştırılmıştır.

Güvenlik Ortaklığı

IPsec tarafından sağlanan güvenlik politikası kaynaktan hedefe gönderilecek olan her veri paketine uygulanır. Bu güvenlik politikası iki veritabanın etkileşimi ile belirlenir. Bu veritabanları Güvenlik Ortaklığı Veritabanı(Security Assocation Database) ve Güvenlik Politikası Veritabanı(Security Policy Database) olarak adlandırılır.

Güvenlik Politikası Veritabanı

Güvenlik Politikası Veritabanı(Security Policy Database), hangi veri trafiğinin hangi Güvenlik Ortaklığı ile ilişkili olduğunu belirten kayıtlara sahip olan bir veritabanıdır. Aynı zamanda veri paketleri üzerinde hangi koruma işlemlerinin gerçekleştirileceğini de göstermektedir. Bu veritabanında bulunan her kayıt, kaynak ve hedef IP adresleri ve port numaraları ile ayırt edilir. Veri paketleri işlenirken geçtiği aşamalar şu şekilde sıralanabilir; Öncelikle Güvenlik Politikası Veritabanı ilgili kayıt için aranır ve kayıtın gösterdiği Güvenlik Ortaklığı elde edilir. Daha sonra Güvenlik Ortaklığının sahip olduğu Güvenlik Parametreleri İndeksi bulunur. Bu indeks sayesinde pakete uygulanacak, kullanılan protokollerle ilişkili, işlemler elde edilir. Bu bilgiler doğrultusunda IPsec koruma işlemleri veri paketine uygulanır.

Operasyon Modları

IPsec protokolü uygulanırken kullanılan Doğrulama Başlığı ve Kapsüllenen Güvenlik Yükü, aşağıda anlatılan iki modu desteklemektedir.

Taşıma Modu

Bu mod kullanıldığında, IPsec, Ağ Katmanının üzerinde yer alan Taşıma Katmanı ve Uygulama Katmanına koruma sağlamaktadır. IP paketinin yükü, IPsec başlığı ile genişletilmiştir. Genişletilmiş bu başlık daha sonra Ağ Katmanı protokolü olan IP protokolünün başlığı ile çevrelenir. Taşıma modu, IP paketinin yüküne, şifreleme ve/veya kimlik doğrulama işlemlerini uygulayarak çalışmaktadır. Bu mod, genellikle iki bilgisayar arasında, örnek olarak bir alıcı ve bir sunucu verilebilir, uçtan uca iletişimin korunması amaçlı kullanılır.
Doğrulama Başlığı ile kullanıldığında, IP paketinin yükünün ve IP paket başlığının belirlenen kısımlarının doğrulanması gerçekleştirilir.
Kapsüllenen Güvenlik Yükü ile kullanıldığında, IP paketinin yükü şifrelenir ve opsiyonel olarak doğrulama işlemi gerçekleştirilir. Fakat IP paket başlığı üzerinde bu işlemler gerçekleştirilmez.

Tünel Modu

Bu mod, tüm IP paketi üzerinde koruma sağlamaktadır. IP paketi üzerine Doğrulama Başlığı ve Kapsüllenen Güvenlik Yükü alanları eklenir. Oluşan yeni pakete yeni bir IP paket yükü gibi davranılır ve tekrar yeni bir IP başlığı ile çevrelenir. Orijinal IP paketi, içeride kalan yük içerisindedir. Paket bir noktadan diğerine iletilirken, iç içe oluşturulmuş bu yapı sayesinde, yol üzerindeki yönlendiriciler, içerideki IP paketini okuyamaz ve değerlendiremezler. Orijinal IP paketininde bulunan kaynak ve hedef adresleri, gönderilmekte olan pakette bulunan kaynak ve hedef adreslerinden farklı olacağı için bu durum, güvenliğe katkıda bulunmaktadır. Tünel modu, Security Association'ın tek veya iki tarafının da, bir güvenlik duvarı veya IPsec uygulanmış bir yönlendirici gibi, bir güvenlik geçidi(gateway) ise kullanılmaktadır.
Doğrulama Başlığı ile kullanıldığında, gönderilen paket içerisinde bulunan tüm IP paketi üzerinde doğrulama işlemi gerçekleştirilir. Buna içerideki IP paketinin başlığı da dahildir. Dışarıda bulunan IP paket başlığının belirli kısımlarının da doğrulanması gerçekleştirilir.
Kapsüllenmiş Güvenlik Yükü ile kullanıldığında, gönderilen paket içerisinde bulunan IP paketine şifreleme ve opsiyonel olarak doğrulama işlemleri gerçekleştirilir.
Bu mod, VPN (Virtual Private Network) oluşturmak için kullanılmaktadır.

Paket İşleme

IPsec protokolü işlemleri, gönderilecek veya alınan her paket için ayrı ayrı uygulanır. Gönderilecek ve alınan paketler için detaylı adımlar aşağıda anlatılmıştır.

Yazılım Uygulamaları

IPsec desteği genellikle kernel içine, anahtar yönetimi ile birlikte uygulanır ve  ISAKMP/IKE anlaşması kullanıcı uzayında gerçekleştirilir. PF_KEY Key Management API, Version 2 , uygulama tarafında anahtar yönetimi sağlayarak kernel içerisinde depolanmış Güvenlik Ortaklıklarının güncellenmesini sağlar.
Var olan IPsec uygulamaları genellikle Doğrulma Başlığı, Kapsüllenmiş Güvenlik Yükü ve İnternet Anahtar Değişimi(IKE) protokollerini içerisinde bulundurur. Sun Solaris ve Linux gibi UNIX tabanlı işletim sistemleri içerisinde PF_KEY versiyon 2'yi hazır olarak bulundurmaktadır.

Standartların Durumu

IPsec, IPv6 bağlamı ile geliştirilmiştir ve RFC-6434 dökümanın yayınlanmasından önce IPv6'nın bütün standartlarıyla uyumlu uygulamaları tarafından desteklenmesi gereklidir. Ayrıca IPsec IPv4 standartları ile isteğe bağlı olarak kullanılabilir ama IPv6'nın yavaş uygulanmasından dolayı çoğunlukla IPv4 kullanılır.
IPsec protokolü, 1995'te yayınlanan RFC-1825 ve RFC-1829 dökümanlarında tanımlanmıştır. 1998 yılında, konsept olarak önceki dökümanlar ile aynı olsalar da, IPsec tanımı daha fazla mühendislik detayı içerecek şekilde RFC-2401 ve RFC-2412 dökümanlarıyla genişletilmiştir. Ek olarak, bir karşılıklı doğrulama ve anahtar yönetimi protokolü olan İnternet Anahtar Değişimi(IKE), Güvenlik Ortaklıklarını oluşturmak ve yönetmek için tanımlanmıştır. 2005 yılında, önceki dökümanları kapsayan ve İnternet Anahtar Değimi protokolünün ikinci versiyonu olan IKEv2 protokolünü anlatan RFC-4301 ve RFC-4309 dökümanları yayınlanmıştır.
2008 yılının ortasından beri bir IPsec bakım ve geliştirme grubu IETF içerisinde çalışmalarını sürdürmektedir.

NSA Müdahalesi İddiası

2013 yılında Snowden sızıntılarının bir parçası olarak, Birleşik Devletler'in Ulusal Güvenlik Dairesi(NSA) tarafından, aktif olarak, hedeflerin kullandıkları ticari şifreleme sistemlerine, IT sistemlerine, ağlara ve son kullanıcı cihazlarına Bullrun programı kapsamında güvenlik açıkları yerleştirilmeye çalışıldığı yayınlandı. NSA hedefinde olan şifreleme sistemlerinin birisinin de IPsec olduğu iddia edildi.
OpenBSD IPsec paketi, açık kaynak kodlu ilk uygulama olması nedeniyle birçok kişi tarafından kullanıldı. OpenBSD'nin geliştirici takım lideri Theo De Raadt, 11 Aralık 2010 tarihinde, Gregory Perry'den bir mektup almıştır. Bu mektupta iddia edildiği üzere, FBI için çalışmakta olan Jason Wright ve takımı tarafından OpenBSD'nin şifreleme kodu içerisine arka kapılar ve anahtar sızdırma mekanizmaları konmuştur. 2010 yılında iletilen e-postada, Theo De Raadt en başta iddiaların gerçekliğine resmi bir açıklama vermedi fakat daha sonra e-posta'nın diğer kişilere iletilmesini üstü kapalı olarak destekledi. Bu olanların üzerine Jason Wright yaptığı açıklamada, iddiaların asılsız olduğunu ve OpenBSD içerisine arka kapıların veya anahtar sızdırma mekanizmalarının yerleştirilmediğini söyledi. Fakat birkaç gün sonra De Raadt, yapılan bu iddialara ve arka kapıların bulunduğuna inandığını duyurdu. Bu olanlar, Snowden sızıntılarından önce gerçekleşmiştir.

IPsec Yararları

IPsec protokolü bir güvenlik geçidine(gateway) -örnek olarak güvenlik duvarları ve yönlendiriciler verilebilir- uygulandığında, bu geçidin sahip olduğu trafiğe güvenlik ve koruma sağlaması için kullanılır. Dışarıdan gelen tüm trafiğin geçeceği güvenlik duvarına uygulanmış IPsec sayesinde, sisteme sızmaya veya güvenlik duvarını atlatmaya çalışan saldırganlar önlenebilir. IPsec, Taşıma ve Uygulama katmanlarının aşağısındaki bir katman olan Ağ Katmanı üzerinde çalıştığından dolayı, uygulamalar tarafından algılanmazlar. Yani IPsec uygulandıktan sonra sistem üzerinde çalışmakta olan uygulamaların değiştirilmesine gerek yoktur çünkü bilgisayarlar üzerinde çalışmakta olan işlemlere(process) Ağ Katmanından iletilecek yük formatı değişmeyecektir. Ayrıca, aynı nedenden dolayı, bu sistemdeki bir uygulamayı kullanmakta olan son kullanıcıların IPsec gerçekleştirildikten sonra eğitilmesine gerek yoktur. IPsec belirli kullanıcılara güvenlik sağlaması üzere düzenlenebilir. Bu kullanıcılar, dışarıdan çalışmakta olan çalışanlar olarak örneklendirilebilir.