Nasıl çalışır?

Bu bölümde çeşitli senaryolar üzerinden CENO ve Ouinet nasıl çalışıyor öğrenebilirsiniz. Ouinet ile ilgili terimler ve kavramlar (** kalın harflerle ** belirtilmiştir) etkili olması ve karışıklığa yol açmaması için daha sonra anlatılacak ve kullanılacaktır.

İçeriğe doğrudan erişmek

CENO Browser, Ouinet teknolojisini kullanarak internet içeriğini alan ve paylaşan bir örnek uygulamadır. Böyle uygulamalara Ouinet istemcisi denir. İstemcinizden bir sunucuda barındırılan (bu sunucuya X için kaynak sunucusu denir) X içeriğine erişmesini istediğinizde (örneğin CENO) istemciniz internet üzerinden ya da başkaları adına (vekil sunucu) sunuculara ulaşmak için yapılandırılmış diğer makinelerle iletişim kurar ve sunulan içeriği ister. Bu durumun normal internet tarayıcılarından hiçbir farkı yoktur.

Teknik not: Aslında bir fark var. İstemci HTTPS içerik isteklerini işlemek ve şifrelerini çözebilmek için aygıtınızda çalışan bir HTTP vekil sunucu olarak görünür. Bu durumda da istemciyi kullanan uygulamanın (internet tarayıcısı, CENO için Firefox gibi) istemci tarafından yazılmış özel bir sertifikayı kabul etmesi gerekir. CENO Browser sizi uğraştırmamak için kendi kullanacağı sertifika ayarını kendiliğinden yapar.

Fakat bu yöntemler her zaman kullanılamayabilir. Örneğin internet hizmeti sağlayıcınız (ISS) mahkeme kararıyla X içeriğinin kaynak sunucusuna ya da vekil sunucuya erişilmesini engelliyor olabilir. Aşağıda görülebileceği gibi sol üstteki istemcinin kullanıcısı olarak her iki X (kaynak sunucunun yanındaki küçük belge simgesi) içeriğine erişme girişiminiz de başarısız olur. Şekildeki "içerik ekleyici (injector)" katılımcısı ise ilerleyen bölümde açıklanacaktır.

Görsel: İstemci içeriğe doğrudan erişemiyor

Normal bir tarayıcıda şansınız olmayacaktı, fakat Ouinet ile diğer istemcilerde varsa, X içeriğinin kopyalarını isteyebilirsiniz. Ouinet bu işlemi nasıl yapar görelim.

Paylaşılan içeriğin aranması

Ouinet istemcilerinin depoladığı tüm içeriklere, tek bir yerde bulunmadığından dağıtılmış ön bellek denir. İstemciniz, istenilen içeriğin ön belleği oluşturan diğer istemcilerde bulunduğunu nasıl öğrenebilir?

İnternet tarayıcılarında X içeriğine erişmek için Tekdüzen Kaynak Bulucu (URL) adresinin bilinmesi gerekir. Bu adres tarayıcınızın adres çubuğunda bulunur. Örneğinhttps://orneksite.com/deneme/a. Tarayıcılar bu adresten orneksite.com sunucusuna SSL/TLS (programların birbiriyle iletişimi için kullanılan TCP iletişim kuralının üzerine eklenmiş bir güvenlik katmanı) üzerinden HTTP iletişim kuralı ile ulaşmaları ve /deneme/a kaynağını istemeleri gerektiğini çıkarır.

Ouinet ise içeriği farklı şekilde arar. Kitaptan farksız olan bir dizin kullanır. Ouinet dağıtılmış ön bellek dizini üzerinde içeriğin tam adresini arayarak kopyasının bulunduğu istemcilerin listesini edinir. Bu dizinin kendisi de dağıtılmıştır ve istemciler hangi içeriğin başkları tarafından kullanıma sunulduğunu duyururlar. Aslında her adres ile ilgili olarak yalnızca bir ipucu duyurulur. Böylece aygıtınızın trafiğini izleyen birisi hangi içeriğe eriştiğini bilemez. Fakat belirli bir içeriği arayan kişi bu ipuçlarını kullanarak istemcinizi bulabilir.

Teknik not: Dizinin oluşturulması için BitTorrent Dağıtılmış Karma Tablosu (DHT) kullanılarak içeriğin bulunduğu istemcilerin adresleri (IP ve bağlantı noktası) alınır. DHT dizinlerin birlikte var olması için şifrelenmiş karma işleviyle içeriğin adresi ve içerik ekleyici anahtarı (aşağıya bakın) gibi diğer ölçütleri kullanarak tablo anahtarını hesaplar.

Ayrıca CENO Browser günümüz internet sayfalarında yüzlerce parça (görseller, biçim kalıpları, betikler…) bulunduğundan, barındırdığı tüm kaynakların adresini ayrı ayrı duyurarak aşırı trafik oluşturmaz. Bunun yerine, kaynaklar isteyen adres altında toplanır ve yalnızca adres duyurulur. Bu durum ad hoc tarayıcı eklentisi (ileride açıklanıyor) ile yapılır.

Dağıtılmış ön bellek üzerinden belirli bir içerik sunan istemcilerin gönderiyor ya da gönderici olduğu söylenir (bu terimler eşler arası dosya paylaşım dünyasından gelir). Örnek senaryomuza geri dönersek, bazı içerikleri gönderen iki istemci var. Ne yazık ki, biri Y içeriğini, diğeri ise Z içeriğini gönderiyor. Bu yüzden istemciniz aşağıda gösterildiği gibi dağıtılmış ön bellek dizininde X içeriği için herhangi bir kayıt bulamaz:

Görsel: İçerik dağıtılmış ön bellekte bulunamıyor

Neyse ki Ouinet, bu tür içeriği almak ve dağıtılmış ön bellekteki diğer istemcilerin kullanımına sunmak için bir yol sunuyor. Nasıl yapılacağını öğrenmek için okumayı sürdürün.

Yeni içeriğin paylaşılması

Hormonlu vekil sunucular

Ouinet üzerinde, içerik ekleyici adında internetin (büyük olasılıkla) özgür tarafında duran ve yasaklamalar sırasında bile erişilebilir olmaya çalışan özel vekil sunucuları vardır:

  • Öncelikle saldırganların internet trafiğini izleyerek içerik ekleyicileri belirlemesinden kaçınmak için istemciler ve içerik ekleyiciler arasındaki bağlantılar (HTTPS üzerindeki gibi SSL/TLS kullanılarak) şifrelenir.İçerik ekleyici sertifikaları, taklit etmeye çalışanların yakalanması için CENO Browser ile birlikte gelir.

  • Şifreleme yeterli değilse, içerik ekleyicilerine yapılan bağlantılar tanımlanmalarını daha da zorlaştırmak için özel gizleme (I2P ya da Tor Değiştirilebilir Taşıyıcıları gibi) yöntemleri kullanır.

  • Bir içerik ekleyici tanımlanmış ve erişimi internet hizmeti sağlayıcınız tarafından engellenmiş olsa bile, birden fazla farklı içerik ekleyici vardır ve istemcinizin hangisiyle iletişim kurduğu önemli değildir.

    • İçerik ekleyicilerinin bazıları veya tümü engellenmiş olabilir ancak bu içerik ekleyiciler listesi zamanla değişebilir (yenileri eklenir).İstemciniz, içerik ekleyicilerin adreslerini önceden bilmek zorunda değildir. Bunun yerine, var olan içerik ekleyicilerin adreslerinin bulunduğu dağıtılmış bir dizin olan içerik ekleyici havuzuna (P2P dosya paylaşımından bir başka terim) bir sorgulama yapar.

    • Son olarak, istemciniz hiçbir içerik ekleyiciye erişemese bile, başka istemciler erişebilir. Bir istemci, bir içerik ekleyiciye erişebildiğinde ve kendisine diğer istemciler tarafından erişilebildiği belirlendiğinde bir köprü istemcisi olur ve kendi internet adresini başka bir dağıtılmış dizin olan köprü havuzuna ekler.İstemciniz böyle bir adresi arayarak, arkasındaki köprüye bağlanabilir ve kendi adına bir içerik ekleyiciye başka bir bağlantı kurmasını söyleyebilir. Böylece istemcinizle içerik ekleyici arasında bir geçit oluşturur. Ardından bu geçit kullanılarak aralarında bir bağlantı kurulabilir.

    İstemciyle içerik ekleyici arasındaki bağlantılar şifrelendiğinden, köprülerin aradaki bilgi akışını göremeyeceğini unutmayın.

İçerik ekleyiciler normal (fazladan kullanılabilir olsa da) bir vekil sunucu gibi davranabilir ve bu davranış, içeriğe erişmeye çalışırken Ouinet istemcilerinin (CENO Browser gibi) yaptığı bir şeydir. Bu durumda, içerik ekleyici, istemcinizle kaynak sunucu arasında gerçekleşen bilgi akışını göremez (bağlantı düz, şifrelenmemiş bir HTTP bağlantısı değilse).

Daha sıkı ağ engelleme koşullarında vekil sunuculara erişmeyi sağlayan başka araçlar zaten var. Ouinet içerik ekleyicilerini bu kadar özel kılan şey nedir?

Paylaşılan içeriğe güvenilmesi

Önemli olan nokta şudur. Bir içerik ekleyici yalnızca istemciniz adına içerik almakla kalmaz. İçerik ekleyiciye veya internetin çoğuna artık erişilemese bile o içeriği daha sonra başkalarıyla paylaşmanızı sağlar.

Elbette tarayıcınızdan bir sayfayı indirebilir ve ilgili dosyaları başkalarına kopyalayabilirsiniz. Bu kullanım, birbirinizi tanıdığınız sürece sorun çıkarmayabilir. Ancak, böyle dosyaları bilinmeyen bir kişiden aldıysanız ne yapacaksınız? İçeriğin gerçekten iddia edildiği siteden geldiğinden, belirli bir tarihte alındığından veya içindeki bilginin değiştirilmediğinden nasıl emin olabilirsiniz?

CENO ve Ouinet kullanımının olabildiğince çok insana olabildiğince fazla içerik sağlamasını istiyoruz. Bu nedenle tanımadığınız insanlardan içerik almanızı sağlamak istiyoruz. Ouinet bu tür içerikleri içerik imzalama kullanarak almanızı sağlar. İstemciniz, içerik ekleyicilerin kişisel anahtarını kullanarak imzaladıkları içeriğe güvenecek şekilde yapılandırılır. Bir istemci, bir içerik ekleyiciye bir internet içeriğini paylaşmak için almasını söylediğinde, içerik ekleyici içeriği kaynak sunucudan alır, anahtarını kullanarak imzalar ve imzalanmış içeriği istemciye gönderir.

Teknik not: İçerik ekleyiciler büyük bir dosya alınırken gelen veri parçalarını ayrı ayrı imzalar. Böylece büyük bir veri indirilirken bağlantı kesilse bile onu alan istemci tarafından hala paylaşılabilir.

Hangi içerik ekleyiciye güvenebileceğinizi seçebilmeniz için her içerik ekleyicisinin farklı anahtarı bulunur. Şöyle düşünün: Ülkenizdeki herhangi bir noter tarafından imzalanmış bir belgeye, size kim verirse versin (yurttaş veya yabancı) güvenebilirsiniz. Ama başka bir ülkenin noteri tarafından imzalanmış bir belgeyi kabul etmek zorunda değilsiniz. CENO Browser eQualitie tarafından yönetilen içerik ekleyicilere kendiliğinden güvenecek şekilde yapılandırılmıştır.

Teknik not: İçerik ekleyiciler, Ed25519 imzaları oluşturmak için bir herkese açık ve kişisel anahtar çifti kullanır. Herkese açık anahtarlar, imzalarla birlikte gönderilebilecek kadar küçüktür ve 64 tane onaltılık karakter ya da 52 tane Base32 karakter biçiminde kodlanabilir. Bunlar telefonda konuşarak bile iletilebilir veya bir kağıda yazılabilir.

İçeriklerin eklenmesi

Örnek senaryomuzda istemcinizin, X içeriğini doğrudan kaynak sunucudan ve diğer istemcilerden alamadığını hatırlayın. İstemci, diğer istemcilerle paylaşabileceği imzalanmış bir kopya almak için güvenilir bir içerik ekleyiciye başvurarak son Ouinet kartını oynar.

Aşağıdaki şekilde, bu işlemin olası bir sonucunu görebilirsiniz: İstemci önce içerik ekleyiciye doğrudan ulaşmaya çalışır (örneğin, içerik ekleyici havuzundan aldığı bir internet adresini kullanır). Ancak ne yazık ki internet hizmeti sağlayıcısı tarafından engellenmiştir. Neyse ki, köprü havuzu, içerik ekleyiciye erişebilen iki farklı istemcinin internet adreslerini gösterir. İstemciniz, bu istemcilerden biri üzerinden içerik ekleyiciye bir geçit açar. Böylece içerik ekleyici, istemciden X içeriği isteğini alır ve kaynak sunucudan bunu isteyebilir.

Görsel: İstemcinin içerik ekleyiciye erişmesi

İçerik ekleyici, X içeriğini aldığında, bunu anahtarını kullanarak imzalar, imzayı içeriğe ekler ve geçit üzerinden gönderir (örneğin, engelleme arkasındaki istemci ile). İçerik istemcinize ulaştığında, üç şey yapılır:

  1. Size gönderilir (CENO bu içeriği tarayıcıda görüntüler).
  2. İçerik diğer istemcilere gönderilmek üzere aygıtınıza kaydedilir. Ayarlanabilir bir süre boyunca ya da kaydedilmiş içerikler silinene kadar tutulur.
  3. Diğer istemcilerin bulabilmesi için içeriğin kopyasının bulunduğu dağıtılmış ön bellek dizinine duyurulur.

Aşağıda içeriklerin alınması, imzalanması, kaydedilmesi ve duyurulması işlemlerinin tümünü kapsayan içerik ekleme işlemini görebilirsiniz.

Görsel: İstemci içerik ekleyiciden imzalanmış içerik alıyor

Tam engelleme uygulandığında gezinme

Yukarıda açıklanan yöntemler için engelleme dışında kalan ve internetin geri kalanına erişilebilen bazı yolların olması gerektiğini unutmayın. Bazı durumlarda bu yollar da olmayabilir: Uluslararası bağlantı kesintileri, doğal afetler veya az olan yolların aşırı kullanılması (herkesin aynı içeriğe erişmeye çalışması) gibi durumları düşünebilirsiniz. Dağıtılmış ön belleğin gerçek gücü bu gibi durumlarda ortaya çıkar.

Varsayalım ki içerik ekleyiciden X içeriğini aldıktan sonra bir afet bölgenizi dünyadan kopardı. X içeriği böyle bir durumda toplumunuza nasıl yardımcı olabileceğinizi anlattığı için daha önemli hale gelir.

Bu anda, CENO Browser kullanan ikinci bir kişi de bu içeriğe erişmeye çalışır. Kaynak sunucuya veya bölgenizin ötesindeki herhangi bir şeye erişilemez. Bu nedenle CENO, dağıtılmış ön bellek dizininde bu içeriği arar ve aygıtınızın bu içeriği gönderdiğinizi görür. CENO aşağıdaki gibi dizinden adresinizi alır, size bağlanır ve içeriği ister.

Görsel: İstemci başka bir istemciden imzalanmış içerik alıyor

Artık ikinci aygıt da üzerinde X içeriğinin bir kopyasını bulundurduğundan, bunu dağıtılmış ön bellek dizininde duyurarak bir gönderici olur. İlgilenen üçüncü bir kişi CENO Browser kullanarak bu içeriğe erişmek istediğinde, CENO artık içerik için dizinde iki adres görür: Sizin aygıtınız ve ikinci kullanıcının adresi. İçerik büyük ise (örneğin bir video), bu üçüncü aygıt içeriği her iki aygıttan da parça parça almaya çalışabilir (aşağıda gösterildiği gibi). Böylece indirme hızını artırır ve kullanılan trafiği azaltır.

Görsel: İstemci imzalanan içeriği birden fazla istemciden alıyor

Son olarak durum daha da kötüleşebilir ve tüm ticari ve ülke ağ altyapısı kapanabilir. Bu durumda, ağın başka kullanıcılara erişimi olmasa bile Ouinet ve CENO Browser aynı yerel ağda bulunan (örneğin, aynı kablosuz ağa bağlanmış) iki aygıt arasında aygıttan aygıta paylaşım sağlar.