Tarzan: A Peer-to-Peer Anonymizing Network Layer 1 EMRE YESĐRCĐ
2 KONULAR Giriş Anonimlik Nedir? Tasarım ve Hedefler Kural Tanımı Kodlama Sonuç
3 Giriş Tarzan her düğümünde bir karıştırıcı olan bir peer to peer ağ modelidir. Tarzan yüksek ölçeklenebilir, hataya dayanıklı ve yönetmesi kolay bir metoddur. Tarzan anonimliği Chaumian karışımı gibi, katmanlı şifreleme ve multi-hop yönlendirme ile sağlar. Tarzan kendine ait hostlar ve internet hostları arasında NAT kullanır.
TARZAN NETWORK MODEL 4
5 Anonimlik Nedir? Anonimlik, haberleşen tarafların kimliklerinin diğer taraflarca bilinmemesidir. Anonimlik hizmeti kullanıcılarının mahremiyeti açısından önemlidir. Üç tip anonim haberleşme hizmeti sağlanabilir. Göndericinin anonimliği: Göndericinin kimliği diğer taraflarca bilinemez. Mesajın kendisi ve alıcı tarafın kimliği gizli veya açık olabilir. Alıcının anonimliği: Alıcı tarafın kimliği gizlidir. Mesajın kime gönderildiği anlaşılmaz. Göndericinin ve alıcının anonimliği : Alıcı ve gönderici kimlikleri ayrı ayrı bağımsız olarak bir haberleşme içinde olmaları dolayısıyla bilinebilir fakat ikisinin de kiminle haberleştiği konusunda herhangi bir bilgi edinilemez.
6 Çalışma Şekli Bir düğüm ağ üzerinden mesajın gönderilmesini başlatır ve diğer düğümlere şifrelenmiş tünel yaratır ve bu düğümden diğer düğümlere bağlanmasını ister. Bu işlemi birkaç kez yineleyerek, onion şifreleme bağlantısı da yapılabilir.
7 Çalışma Şekli Sonra bu komşu düğümler kullanılarak hedef düğüme bir tünel kurulur. Son olarak bu tünel kullanılarak paketler yönlendirilir. Bu tünelin çıkış noktasında bir NAT işlemi yapılır ve paketler Tarzan ağının dışına çıkartılır.
8 Çalışma Şekli Tarzan IP katmanını en iyi seviyede kullanır. Tarzan Chaumian benzeri katmanlı bir şifreleme kullanır. Tünelin her ayağında paketlerin yönünün değişimine bağlı olarak bir şifreleme uygular. Her düğüm kalıcı bağlantıları diğer düğümlerin küçük bir kümesiyle birlikte düzenler, bu yapıya mimics denir. Anonim mesaj rotaları mimic'ler arasından geçecek şekilde ve mimic'ler arasında yetersiz trafiği olan hatlardan kaçınarak seçilir.
9 Çalışma Şekli Tarzan'ın orjinal dizaynı her düğüm ağdaki diğer düğümlerin rasgele alt kümelerini bilmesini gerektirir. Bu durum peer to peer ağların çok dinamik olan doğası gereği ve düğümlerin oynaklığı sebebiyle arzu edilen bir durumdur.
10 Paket Aktarımı Tarzan tünelleri düğümler arasında iki farklı türde mesaj geçirir : Var olan tüneller içerisinden yönlendirilen veri paketleri. Tünellerin kurulumunu ve devamlılığını sağlayan komutları ve yanıtları içeren kontrol paketleri. Tarzan bu iki tip paketi UDP içerisinde saklar.
11 Paket Aktarımı Tarzan her bir düğümü her bir tünel için benzersiz olarak etiketler. Paketin üstündeki etikete göre paketin nasıl yönlendirileceği düğüm tarafından hızlıca belirlenir. Her düğümün her yönü için ayrı olarak kullanılan anahtar ile veri her hop üzerinde simetrik şifrelenerek korunur. Gidiş yoluna göre tünelin giriş noktası her bir IP paketinin kaynak adres alanını temizler, tünelin her hop unda içiçe geçmiş şifreleme yapar ve bir UDP paketi içerisinde saklanır.
12 Tünel Kurulumu Bir tünel oluşturulacağı zaman Tarzan ağ içindeki düğümler arasından aynı tarzda düğümler seçer. IP başlıkları tünelin girişinde düzenlenir. Her düğüme ağa ilk girdiklerinde bir public key verilir. Verilen bu anahtarı sadece bir düğümün bildiği varsayılır.
13 Tünel Kurulumu Tüneller hoplar temel alınarak tekrarlı bir şekilde kurulur. Tünelin giriş noktası tüm tünelin kurulumundan, simetrik şifreli anahtarların üretilip dağıtılmasından sorumludur. Her hop aynı prosedür kullanılarak kurulur.
14 IP Paketlerinin Yönlendirilmesi Tarzan anonim bir IP tüneli oluşturmak için bir istemci IP yönlendirici ve bir sunucu PNAT (Sahte isimli NAT) sağlar. IP yönlendirici istemcinin ağından gelen paketleri Tarzan tüneline yönlendirir. Đstemcinin IP adresine özel olarak ayrılmış olan PNAT adres kümesinden bir adres atanır. PNAT bu özel adresi gerçek adreslerden birine çevirir. IP yönlendirici TCP ve UDP paketlerinin sadece kaynak port numarası ve IP adreslerini tutar.
15 Düğüm Seçimi Tarzan düğüm seçiminde üç mekanizma kullanır. Yeni düğüm keşfetme Ölçeklenebilirlik Rastgele seçim Tarzan bu seçme işlemi esnasında muhtemel düşman ataklarına karşı dayanıklı olmalıdır. Tarzan bu ataklara karşı Chord algortimasının fonksiyonlarını kullanır.
16 Düğüm Seçimi Tarzan her düğüme varlığını doğrulamak için diğer düğümleri arama izni verir. Bir düğüm iyi bir düğüm seçmek için rastgele bir anahtar üretir ve düğüm arar, bu anahtarı alan düğümden IP adresi ve public key cevabını alır.
17 Düğüm Seçimi Düğüm arama tünel kurulmadan önce hızlıca yapılır ve tünel başlangıcındaki düğümün bilgileri belirlenir. Bu yüzden her düğüm son yaptığı arama bilgilerini daha sonra kullanmak üzere belleğinde saklar.
18 Kural Tanımı Anonimlik kural tanımları tünel seçimini ve devamlılığını etkiler. Tarzan kolay ve verimli düğüm keşifi sağlarsa, kullanıcıların ilgilerini gerçek bir tünel seçimine yönlendirebilir. Tarzan ağdaki hop lar arasındaki mesaj gecikmelerini ölçmek için açık ping mesajları oluşturur. Belirtilen düğüme ulaşana kadar bu mesajlar normal veri mesajları gibi ağda yayılır.
19 Kodlama Tarzan C++ kullanılarak Unix te kodlanmıştır. Her hop taki paketin aktarımında Tarzan ın merkezinde bağımsız olarak çalışan aktarma sunucuları vardır. Bu sunucular veri gönderme ve alma, bağlantı dinleme ve aktarma sunucuları ile tünel oluşturmak için iletişim kurma işlevini görür. Tarzan kütüphanesinin en üst kısmında IP paketlerinin yönlendirmesi ve NAT işlemleri tanımlanmıştır. IP paketlerinin yönlendirmesinde FreeBSD s divert socket yapısının avantajlarından yararlanmaktadır.
20 Performans 1.2 GHz Athlon PC with 128 MB of RAM 100 Mbps switched ethernet. Tablo-1 Tarzan ın bir paketi şifreleyip, ağda ilerlemesi ve diğer düğüme göndermesinde oluşan gecikmeyi göstermektedir. Paketin boyutuna bağlı olarak gecikme lineer olarak artmaktadır.
21 Performans Tablo-2 bir uçtan uca bir tünel kurulumundaki gecikmeyi göstermektedir. Ortalama her bir hop eklendiğinde 20 msec gecikme yaşanmaktadır.
22 Sonuç Tarzan IP bağlantılarında anonimliği sağlamada esneklik ve şeffaflık sağlamaktadır. Tarzan kolay yönetilebilir, yüksek seviyede ölçeklenebilir ve dağıtık peer to peer tasarımı yapabilir. Tarzan tünelleri arasındaki gecikme tamamen internetin akış hızı ile ilgilidir. Araştırmalar Tarzan ın anonim olmayan tünellere nazaran daha az yük getirdiğini göstermektedir.
23 Sonuç Danezis & Clayton (2006) Tarzan'ın önceki sürümüne (Freedman, Sit, Cates & Morris 2002) dair birkaç atak buldular. Bu atak ağın çok geniş olmasına ve düğümlerin çok yüksek seviyede trafiklerinin olmasına dayanır. Sonuç olarak, herhangi bir düğüm sadece diğer düğümlerin küçük bir altkümesini bilir. Tarzan'ın son sürümü bu atağı düzeltmek için her düğümün tüm diğerlerini bilmesini gerektiriyor. Fakat bu da pratik bir yöntem değil.