Bu yazıdaki değerlendirme ölçütlerinin en başında “güvenlik” geliyor, işlevsellik ve kalite ise daha sonra ama elbette önemliler. Kullanıcı bilgileri üzerinden para kazanma, gözetleme ve kötüye kullanma mekanizması olduğu sürece değerlendirme açısından güvenliği her zaman ilk sıraya koymak durumundayız. Güvenli derken neyi kastediyoruz, bunu açmamız şart.
Yalnızca anında mesajlaşma için değil internetin genelinde gerçekleşen her tür hizmetin şifreleme ile daha “güvenli” hale geleceğine yönelik genel bir kabulün var olduğunu görüyoruz. Oysa siber dünyada meydana gelen güvenlik açıklarının çoğu kullanılan şifreleme biçimlerinin kırılmasıyla değil “atlatılması” yoluyla ortaya çıkmakta. Şifreleme elbette iletişim sistemlerinin sağlıklı işlemesine yardımcı bir unsur ama ona gereğinden fazla güven duymak çoğu zaman hayal kırıklığından başka bir şey getirmemektedir.
İstemci-sunucu temelinde yürüyen bir iletişim daha baştan bazı güvenlik zafiyetlerine sahip oluyor. İletişim bilgilerinin bir sunucuda saklanması veya düzenleniyor olması yaratılan zayıflıkların başında geliyor. Bu sunucular kimin elindeyse doğal olarak burada toplanan bilgileri arzu ettiği gibi kullanma olanağına sahip oluyor. Sansür uygulamanın kolaylığı veya tek bir sunucuyu ele geçirerek tüm ağın etki altına alınabilmesi gibi durumlardan bahsetmemize bile gerek yok. Dolayısı ile iletişimin nasıl bir ağ yapısı üzerine kurulduğu büyük önem taşımakta. Sistemin baştan nasıl kurgulandığı onun ne derece güvenli olacağını kayda değer ölçüde belirleyebiliyor.
Noktadan noktaya (P2P) meselesi burada devreye giriyor. Tek başına P2P iletişimin güvenli olduğu elbette söylenemez. Kastettiğimiz, şifreli olduğu kadar ademi merkeziyetçi yapıya da sahip ağ düğümleri ve kullanıcıların anonim olabildiği bir iletişim mimarisi. Mesajlaşma özelinde belirtirsek, üstveri (metadata) ve iletilerin kullanıcılara ait makinelerin dışında depolanmaması temel bir güvenlik önlemidir. Bu çerçeve içerisinde tanımlanan bir iletişim sisteminin istemci-sunucu temelinde işleyen bir ağ ve uygulama katmanından daha güvenli olduğunu rahatlıkla ileri sürebiliriz. Bu tür sistemler birçok uygulama için olduğu gibi anında mesajlaşma için de yıllardır uygulanıyor. Diğer taraftan bu tür yapılar istismara yeterince açık olmadığı için popüler olamamışlardır. Örneğin Skype anında mesajlaşma uygulaması bir zamanlar noktadan noktaya iletişime dayalıyken sonraki yıllar sunucu merkezli bir sisteme dönüştürüldü.
İnternetin geneli için de benzer bir değişimin olduğunu dile getirebiliriz. Başlarda bilgisayardan bilgisayara doğrudan iletişime dayalı olarak çalışan internet ağ modeli yerini sayısız aracıya ve ağ maskelerinin arkasına gizlenen makinelere bıraktı. Neredeyse hiçbir cihaz artık internet üzerinde doğrudan birbiriyle iletişim sağlar durumda değil. Bu durumun artan trafik ile baş etmekten kaynaklanması yanında bilinçli yapılmış tercihler ile de çok ilgisi bulunmakta. Bir binayı eğer AVM olarak işletecekseniz ona göre tasarlarsınız, bugünkü internet alt yapısı da benzer bir hesabın sonucudur. Paylaşım, verimlilik ve mahremiyetten ziyade, şirket çıkarları, pazarlanabilirlik ve denetim kavramları daha baskındır. Belki bu konuda internetin babalarından Tim Berners Lee’nin yıllardır süren serzenişlerine artık kulak vermek gerekiyor.
Ademi merkeziyetçi (decentralization) denildiğinde farklı anlamlar taşıyan tanımlar olabiliyor. Çok merkezli veya merkezsiz anlamına gelen ifadeler aynı kavram altında kullanılıyor. Farklı düzeylerde olsa da iki sistemin de merkezi bir yapıya kıyasla üstün tarafları mevcut. Diğer taraftan internet zaten daha baştan ademi merkeziyetçi olarak tasarlanmıştı. Olası bir nükleer felakette sistemin yaşaması için çok merkezli (veya merkezsiz de denebilir) örgü ağ (mesh network) modeli tercih edilmişti. Benzer kaygı ve yaklaşımın internet evriminin ileri aşamalarında sürdürülmesi pek mümkün olmamıştır. Bununla beraber, özellikle 2000’li yılların başından itibaren internetin ilk dönemindeki yapı felsefesine bir geri dönüş başladı. Sert ve hızlı bir şekilde ticarileşen ortamın yarattığı gedikleri kapatmak için başlangıç ilkelerine dönmek elbette bir yönüyle ironik sayılabilir.
Bu yazıda tanıtacağımız mesajlaşma uygulamaları bu iki mimariye sahip (çok merkezli veya merkezsiz) olanlardan seçilmiştir. Tamamen veya kısmen açık kaynak olan yazılımları tercih ettik. İşlevsellik, güvenlik ve uygulamanın arkasındaki felsefenin önemi başlıca ölçütlerimiz arasındadır. Olabildiğince farklı cihaz ve işletim sisteminde uygulamaları kullanarak tanıtımdan ziyade bir deneyim bilgisi aktarmaya çalışacağız. Yazıyı çok uzatmamak için şimdilik tek bir uygulamadan bahsederek noktayı koyalım.
ZYPTONITE
Finli siber güvenlik uzmanı Harri Hursti’nin başında olduğu ekibin geliştirdiği bu uygulama pek çok açıdan ölçütlerimizi karşılamakta. Harri Hursti alanında tanınan bir uzman. İnternetin güvenlik ve mahremiyet sorunlarına yönelik sivil çalışmaların (Black Box Voting gibi) içinde de yer alan birisi. En bilinen işlerinden biri olan (2005) ve sonradan “Hursti Hack” adı verilen yöntem ile sayısal oy makinelerinde tespit edilmeden oy toplamlarını değiştirmenin mümkün olduğunu göstermiştir.
Zyptonite bir anında mesajlaşma uygulaması. Uçtan uca şifreleme ve noktadan noktaya (P2P) iletişim üzerine kurulu. Şifreleme anahtarları sadece bir kez kullanılıyor ve atılıyor. Üstveri, bulut sistemi veya sunucu yer almıyor. Dolayısıyla yolladığınız veya size gelen mesajlar, ses veya görüntü verileri hiçbir yerde saklanmıyor (kendi cihazınız dışında) yahut kopyalanmıyor. Bununla beraber cihazlar arasında geçmiş kaydını eşleştirmek mümkün. WebRTC temelli bir uygulama. Bünyesinde özgür yazılım (webRTC dolayısıyla) ve şifreleme sistemlerinde de açık kaynak kodlardan yararlanılmış. Uygulamanın kodları açık değil ilerleyen dönemde ne olur bilinmez. Uygulama Beta aşamasında olmasına rağmen gayet iyi çalıştığını belirtmek gerekir. WebRTC bilindiği üzere tarayıcı üzerinden iletişimi sağlamaktadır. HD görüntü ve ses iletimi mevcut. WebRTC veri iletim kalitesini deneyimledikten sonra GSM üzerinden yapılan sesli ve görüntülü aktarım gayet ilkel gelecektir şimdiden uyaralım. Zyptonite ile canlı ses, görüntü (toplantı özelliği de bulunmakta) ve dosya aktarımı (10MB sınır) yapılabilmekte. Tarayıcı temelli olduğu için masa üstü (kurulum gerektirmeden) veya mobil her tür cihazda çalışıyor. İOS ve Android için uygulama yazılımı var. Tarayıcıdan (Chrome veya Firefox) kullandığınızda mobil uygulamaya göre daha kararlı çalıştığını belirtmek gerekir. Zaten özellikle bildirim kabiliyetinde mobil cihazların genelinde bir istikrar sorunu mevcut.
Her ne kadar noktadan noktaya olsa da belirtmek gerekir ki sistemde bazı noktalarda sunucular kullanılıyor. WebRTC’nin doğası gereği sinyalizasyon için STUN veya TURN sunucuları işe karışıyor. Bununla beraber bilindiği gibi bu sunuculardan mesajlar geçmiyor, bunlara cihazların birbirlerini bulması için gerek duyulmakta. Artık her cihaz türlü çeşitli ağ maskesi arkasında olduğu için iletişimin sağlanması adına adres tespit görevini görüyorlar. Olur da uygulamayı deneyecek olanlardan ağ trafiğini izleyen kişiler çıkarsa, neden uygulama Amerika veya Avrupa’da bazı noktalara paket yolluyor diye sorabilirler diye bu ayrıntıyı belirtmiş olalım.
WhatsApp ve Skype’ın yaptığı işleri Zyptonite ile kotarmak mümkün. İşlevsellik adına çok büyük bir eksiklik yaşanmıyor. Ses ve görüntü kalitesi açısından daha iyi olduğu bile söylenebilir. Aksayan tarafları olsa da yazılımın arkasında sürekli güncelleme yapan küçük ama aktif bir ekip var. Onlarca hata geri bildirimi yaptığımız bu uygulamayı kullanmaya devam ederken, herkese gönül rahatlığı ile tavsiye ederiz.
Zyptonite projesi ne yazık ki artık devam etmiyor. Bu tür mesajlaşma projeleri nispeten kolay başlıyor ama sürekliliği sağlamak zor oluyor. Zaten az sayıda p2p uygulaması vardı bir eksildi.