2010'lardan beri (2012-2013) geliştirilen açık kaynak kodlu, kişisel özgürlükleri temel alan, gereksiz özellik içermeyen, parasal amaçlı olmayan yeni iletişim ortamları var. Bunlar arasında en öne çıkanlardan biri Tox.
Tox, güvenli (secure) güvenilir (reliable), özel (private) iletişim sistemi Distributed Hash Table / DHT üzerine kurulu.
Tox dışında DHT'yi kullanan bir başka uygulama daha var. 2014'ten beri Savoir-faire Linux Inc. (Fransız yazılım firması) aracılığıyla geliştirilen Jami de Tox gibi oldukça başarılı bir proje. Tox için geçerli olan her avantaj Jami için de geçerli ancak şimdilik sadece Tox'a odaklanacağız. İleride süre bulabilirsem Jami'ye ilişkin inceleme yazısı da gönderebilirim.
Tox 23 Haziran 2013'dan bu yana TokTok (sosyal video ortamı TikTok ile hiçbir bağlantısı yok!) adlı anonim bir geliştirici aracılığuyla geliştiriliyor. 2013'ten sonra TokTok'a bir anonim geliştiricinin daha katıldığını, Tox'un bu 2 geliştirici önderliğinde yaygınlaştığını görüyoruz.
Her 2 geliştirici de anonim olduğu için hangi ülkeden olduklarını bilemiyoruz ancak TokTok'un gönderdiği fotolardan birinde buzullarla kaplı bir deniz görünüyor dolayısıyla Kanada, Alaska, Rusya, Norveç gibi kuzey ülkelerden olduğunu söyleyebiliriz. Sözkonusu geliştiricilerin yazdıkları mesajlar, dokumantasyonlarda ana dil düzeyine yakın İngilizce kullandıklarını düşünürsek Kanada, Alaska ağır basıyor.
Github.com/TokTok repertuarında çekirdek Tox protokolüne ek olarak Windows, Linux, Unix, macOS, Android'e özel derlenmiş Tox istemcilerini (client) bulabilirsiniz.
Windows masaüstünde en kullanışlı Tox istemcisi olarak qTox öne çıkmaktadır. Kurulumu diskte yalnızca 60 MB kaplıyor, Tox protokolünün gereği karılmış (encrypted) dağıtık tasarım (distributed architecture) sonucu daha cok CPU döngüsü kullanmasına karşın son derece düşük oranda CPU harcıyor.
Android için ise Antox ön plana çıkmaktadır. Antox kimileyin dosyaları indirememe, aniden kapanma gibi sürpriz sorunlar çıkarsa da qTox'ta olduğu gibi düşük CPU kullanımı, diskte az yer kaplama gibi avantajlarından dolayı iyi iş görmektedir. Unutmayalım, Tox protokolü ile tüm Tox istemcileri 100% açık kodlu. Sorun çıkaran kısımları düzeltmek, ana geliştiricilere olduğu gibi son kullanıcılara da bağlı.
iPhone kullanıyorsanız durum biraz kötü çünkü github.com/Antidote-for-Tox'ta Tox 'un iOS istemcisi olarak görünen AntiDot adındaki app yıllardır güncellenmiyor dolayısıyla iOS'un yeni sürümlerinde çalışmıyor :(
Ancak iPhone / iOS gibi özgürlükleri ayaklar altına alarak sizi kısıtlayan, "güvenliğini sen değil, ben sağlarım!" ideolojisindeki bir aygıtı kullananın Tox ile cok ilgileneceğini yada kullanacağını pek sanmam.
1- Kimlik doğrulama (authentication): Tox'ta kimlik doğrulama, karıştırılarak (encryption) üretilen bir Public key (ID) / Genel anahtar (kimlik) değiş tokuşu ile olur.
2- Uçtan-uça gizleştirme (encryption) / End-to-end encryption kullanarak Tox protokolü, iki eş (peer) arasındaki bağlantıyı gizleştirir. İletilen verilerde public / genel anahtarlar bulunmaz. Internet ağındaki 3. parti kişiler, kurulan bir Tox bağlantısındaki içeriğe ulaşmayı başarsa bile Public Key ID / genel anahtar kimliğinizi saptayamaz. Tüm iletişim içeriği gizleştirilmiş olduğu için içeriği çözemez, IP adreslerini saptayamaz.
3- Sunucu-bağımsız (server independent): Olanaklar el verdiği sürece Tox sunuculara bağlı / bağımlı olmaktan kaçınır. İletişim sunucu üzerinden yapılmaz, iletişim içeriği hiçbir sunucuda saklanmaz. Arkadaşınıza bir ileti gönderdiğizde arkadaşınızın aygıtı açık değilse ileti gönderilmez, aygıtınızda "gönderilecek" kutusunda bekleyip ancak arkadaşınız aygıtını açtıktan sonra gönderilir. Bu bağlamda çevrim dışı gönderilen içerikleri sunucularında saklayıp, sonra çevrim içi olduğunda sunucudan arkadaşınıza gönderen "kullanıcı için her tür kolaylığı düşünen" Whatsapp türü uygulamalardan radikal biçimde ayrılır.
Bununla birlikte isterseniz, "boostrap node" adı verilen Tox ağı sunucusu işletebilirsiniz ancak kullanıcılar o sunucuya güvenmek yada kullanmak zorunda değildir.
4- Tox, NAT yada Firewall gibi engeller üzerinden iletişim sağlamaya çalışır bunun için UDP hole-punching, UPnP, NAT-PMP, relay olarak kullanılan güvensiz node , DNS tüneli gibi yöntemleri kullanır.
5- Tox anonim bağlantı sağlamaya çalışmaz, ancak anonim bağlantılara tümüyle uyumludur. Yapılan bağlantılarda IP adresleriniz hem iletişim kurduğunuz eşe (peer) hem de 3. parti kişilere (Internet Servis Sağlayıcı / ISS) görünür. ISS, 2 kişinin bir bağlantı yaptığını görebilir ancak bağlantının içeriğini hiçbir biçimde çözemez cunku içerik gizleştirilmiştir.
Bu 5. bölümü biraz açalım:
Varsayılan olarak Tox arkadaşlar arasında direkt baglantı kurar bunun sonucu olarak bir eş, öteki eş'in IP'sini bilebilir.
3. parti kişiler de o 2 IP adres arasında bir bağlantı kurulduğunu saptayabilir. Ancak hepsi budur. 3. parti kişiler 2 kişi arasında bir bağlantı kurulması dışında başka hiçbir nes saptayamaz.
Bu durum Tox'un varsayılan kullanımı için geçerlidir. Tox, istenirse Tor gibi anonimlik sağlayan yazılımlarla 100% uyumlu çalışabilecek biçimde tasarlanmıştır.
Tox bağlantısını Tor üzerinden yaparak, bağlantının 3. parti kişilerce saptanmasının önüne geçerek, 100% güvenliğe ek olarak 100% anonimlik sağlayabilirsiniz.
6- Tox üzerinden fotoğraf, belge, dosya gönderebilirsiniz. Dosyayı bir kez gönderdikten sonra dosya aygıtınızdaki bir dizinde saklanır. Başka hiçbir yerde izi olmaz.
7- qTox'ta Qt Framework tabanlı ses / görüntü belgelikleri (library) oldugu için Tox üzerinden sesli / görüntülü görüşme de yapabilirsiniz ancak bu bağlantılarda cok yüksek kalite ya da sorunsuzluk beklememelisiniz cunku şu önemli ayrıntıyı hem P2P üzerinden görüntü/ses iletmek fiziksel olarak zordur. Bu nedenden dolay özellikle uluslararası sesli / görüntülü görüşmelerde gecikmeli yada kesintili görüşmeleri normal karşılamalısınız.
8- Tox üzerinde 2'den çok eşin katılabildiği çoklu söyleşi odası da kurabilirsiniz: Herkese açık (public) yada özel (private)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Sunucu yok derken yani mesajlar hiçbir sunucu üzerinden iletilmiyor. Offline bir istemciye gönderilen bir mesaj, istemci online olduğunda iletilmesi amacıyla dahi, hiçbir sunucuda hiçbir mesaj geçici olarak dahi saklanmıyor.
Tox DHT (Distributed Hash Table, Hash Table derken örneğin Java'daki HashMap veri yapısı gibi bir key verip ona ait value döndüren bir yapı; Distributed ise bu yapının (Public ID) (key) verilince onun ağda bulunabilmesini sağlayan versiyonu) tabanlıdır yani her Tox istemcisi aynı anda hem sunucu (teknik ifadesiyle 7x24 DHT katılımcısı / DHT node) hem de istemcidir.
"sunucusuz" ifadesiyle kastedilen 7x24 çalışan geleneksel bir sunucunun olmamasıdır yoksa distributed / dağıtık sistemde her katılımcı bir sunucudur.
DHT altyapısının bu özelliği daha hızlı çalışması ve Tox istemcilere daha kolay bağlanabilmek amaçlı yoksa bir Tox kullanıcısı isterse 7x24 tox daemon da çalıştırabilir ki o şekilde daemon çalıştıran bilgisayarlara Tox Bootstrap Node deniliyor, bu durumda Tox istemcilerin birbirini bulması veya arkadaş listesindeki istemcilerin online/offline durumunu kontrol edebilmesi cok daha kolaylaşır. Ancak bu Node mesaj iletişiminde de Node görevi yapmaz, mesajlar yine P2P 'dir, arada bir sunucu / Node yoktur.
Tox DHT protokolünü ve masaüstü GUI istemcisi qTox için Qt Framework 'ü kullanır.
Mesajlar hangi P2P protokolu ile iletiliyor?
Tox P2P şifreleme ve doğrulama (authentication) için NaCl (Networking and Cryptography library) 'nın implementasyonu olan libsodium https://libsodium.org tabanlı yani OpenSLL'den farklı bir protokol (yazılım paketi) kullanıyor. buradaki amaç P2P istemci geliştirmeyi esnekleştirme ve kolaylaştırmak.
Cihazlar Libsodium şifreleme ve doğrulama ile direkt bağlanıyor. NaCl (kimyasal NaCl gösterimi olduğundan 'salt' da deniliyor) 'ın SSL'e göre gelişmiş özellikleri ve kullanım kolaylıklarını şu dökümanda görebilirsiniz:https://nacl.cr.yp.to/securing-communication.pdf
Tox sunucusuz / DHT kullandığı için iletişimin tespit edilmesi / takip edilmesi cok zordur.
Ezbere söylediğiniz "bütün sistemler kırılabilir" lakırdısındaki "sistem" hedefin sabit olduğu sunucu tabanlı sistemi ifade ediyor fakat Tox iletişiminde ortada hedefleyebileceğiniz sabit bir sistem yok :) Sadece mesajı gönderene kadar iki istemci arasında kurulan ve sonlanan bir bağlantı var. yani Tox u kırabilmek için öncelikle o bağlantının kurulduğunu takip edebilmelisiniz ki bunu da ancak Internet Servis Sağlayıcı üzerinden yapabilirsiniz yani daha ilk adımda önemli bir zorluk var. Bu bağlantı Tox over Tor (ToT) ile yapılıyorsa o zaman geçmiş olsun, o zaman ISP'lerden girseniz dahi bağlantı kurulduğunu tespit etmeniz pratikte imkansıza yakın, fiiliyatta imkansız gibi. "Bütün sistemler kırılabilir" ezberini tekrar ederkn bunları da hesaba katmanızı öneririm. Size iyi kırmalar :)
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 10 Aralık 2020; 1:51:31 >
Corona gerekçesi ile çıkarılan yeni yasa ile Whatsapp Facebook Messenger gibi popüler iletişim programları merkezden takibe başlanacak. Her bir mesaj, her bir dosya incelenecek ve şahsi bilgileriniz artık şahsi olmayacak. Merkezde görevli alelade kişiler tüm mesajlarınızı görebilecek. Bununla kalsa iyi. Mesajlarınızda yeni düzenlemeye ve yeni ceza yasalarına aykırı en ufak birşey bulunduğunda hakkınızda işlem yapılabilecek ve yeni yasalarda bu tür durumlarda paraya cevrilemeyen hapis cezalarından bahsediliyor.
Whatsapp, Faceapp, Telegram vs tüm kapalı kaynaklı yazılımlar zaten güvensizdi, bu güvensizlik artık resmileşti.
Açık kaynaklı, 100% özgür yazılımlar bu tür sorunlara karşı en iyi alternatif.
Tox 100% açık kaynaklı yazılım olarak 100% p2p iletişim sağlar. Arada sunucu yoktur ilettiğiniz mesaj ve veriler geçici olarak dahi hiçbir sunucuda tutulmaz.
Masaüstü için qTox, Android için Antox'un son sürümlerinde tüm eksikler giderildi. Sesli görüşmede bazı problemler vardı, onlar giderildi.
Dosya iletimi de hızlandırıldı. Arkadaş cebiyle cektiği cok yüksek çözünürlükte 7MB resimler gönderiyor, onları cok kısa sürede alabiliyorum. Verinin 100% şifrelenerek gönderildiği düşünüldüğünde oldukça iyi hızlara sahip.
qTox'un son versiyonu ve Antox 'un yeni versiyonları oldukça sorunsuz. Android client olan Antox'un son sürümü Version 0.25.515 ve tarihi 26.Mayıs.2018https://pkg.tox.chat/fdroid/repo'dan .apk dosyası olarak indirebilirsiniz. Google Play zorunluluğu yok. Android SDK kapsamındaki adb ile , adb install C:\Users\win10\Downloads\antox.apk gibi komut ile direkt masaüstünden Android cebinize kurabilirsiniz.
Şu anda hem qTox hem Antox'un tek eksikleri görüntülü görüşme. Onun için de geliştirme yapılıyor.
Geçen süre içinde özellikle AB'de hükümetler E2EE End-to-End Encryption konusunda yeni bir teklif sundu. Bu teklifie göre 2 kişi E2EE bağlantı kurduğunda hükümet "sizin veri güvenliğiniz bizim için önemli" gerekçesiyle E2EE bağlantıyı izleme yetkisine sahip olacak. Sözkonusu yasaya ProtonMail ve Tutanota gibi E2E mail hizmetleri sunan firmalar başta olmak üzere birçok kuruluş ve kişiden tepki geldi.
Önce Whatsapp rezaleti şimdi E2EE 'bağlantılar ortak olma girişimi... Tox, E2EE bağlantısı ile çalışıyor. Yani bu teklif yasalaşırsa Tox ile AB içinde güvenli iletişim yasadışı kalacak.
Tox, güvenli (secure) güvenilir (reliable), özel (private) iletişim sistemi Distributed Hash Table / DHT üzerine kurulu.
Tox dışında DHT'yi kullanan bir başka uygulama daha var. 2014'ten beri Savoir-faire Linux Inc. (Fransız yazılım firması) aracılığıyla geliştirilen Jami de Tox gibi oldukça başarılı bir proje. Tox için geçerli olan her avantaj Jami için de geçerli ancak şimdilik sadece Tox'a odaklanacağız. İleride süre bulabilirsem Jami'ye ilişkin inceleme yazısı da gönderebilirim.
Tox 23 Haziran 2013'dan bu yana TokTok (sosyal video ortamı TikTok ile hiçbir bağlantısı yok!) adlı anonim bir geliştirici aracılığuyla geliştiriliyor. 2013'ten sonra TokTok'a bir anonim geliştiricinin daha katıldığını, Tox'un bu 2 geliştirici önderliğinde yaygınlaştığını görüyoruz.
Her 2 geliştirici de anonim olduğu için hangi ülkeden olduklarını bilemiyoruz ancak TokTok'un gönderdiği fotolardan birinde buzullarla kaplı bir deniz görünüyor dolayısıyla Kanada, Alaska, Rusya, Norveç gibi kuzey ülkelerden olduğunu söyleyebiliriz. Sözkonusu geliştiricilerin yazdıkları mesajlar, dokumantasyonlarda ana dil düzeyine yakın İngilizce kullandıklarını düşünürsek Kanada, Alaska ağır basıyor.
Github.com/TokTok repertuarında çekirdek Tox protokolüne ek olarak Windows, Linux, Unix, macOS, Android'e özel derlenmiş Tox istemcilerini (client) bulabilirsiniz.
Windows masaüstünde en kullanışlı Tox istemcisi olarak qTox öne çıkmaktadır. Kurulumu diskte yalnızca 60 MB kaplıyor, Tox protokolünün gereği karılmış (encrypted) dağıtık tasarım (distributed architecture) sonucu daha cok CPU döngüsü kullanmasına karşın son derece düşük oranda CPU harcıyor.
Android için ise Antox ön plana çıkmaktadır. Antox kimileyin dosyaları indirememe, aniden kapanma gibi sürpriz sorunlar çıkarsa da qTox'ta olduğu gibi düşük CPU kullanımı, diskte az yer kaplama gibi avantajlarından dolayı iyi iş görmektedir. Unutmayalım, Tox protokolü ile tüm Tox istemcileri 100% açık kodlu. Sorun çıkaran kısımları düzeltmek, ana geliştiricilere olduğu gibi son kullanıcılara da bağlı.
iPhone kullanıyorsanız durum biraz kötü çünkü github.com/Antidote-for-Tox'ta Tox 'un iOS istemcisi olarak görünen AntiDot adındaki app yıllardır güncellenmiyor dolayısıyla iOS'un yeni sürümlerinde çalışmıyor :(
Ancak iPhone / iOS gibi özgürlükleri ayaklar altına alarak sizi kısıtlayan, "güvenliğini sen değil, ben sağlarım!" ideolojisindeki bir aygıtı kullananın Tox ile cok ilgileneceğini yada kullanacağını pek sanmam.
< Resime gitmek için tıklayın >
Tox 'un özellikleri:
1- Kimlik doğrulama (authentication): Tox'ta kimlik doğrulama, karıştırılarak (encryption) üretilen bir Public key (ID) / Genel anahtar (kimlik) değiş tokuşu ile olur.
2- Uçtan-uça gizleştirme (encryption) / End-to-end encryption kullanarak Tox protokolü, iki eş (peer) arasındaki bağlantıyı gizleştirir. İletilen verilerde public / genel anahtarlar bulunmaz. Internet ağındaki 3. parti kişiler, kurulan bir Tox bağlantısındaki içeriğe ulaşmayı başarsa bile Public Key ID / genel anahtar kimliğinizi saptayamaz. Tüm iletişim içeriği gizleştirilmiş olduğu için içeriği çözemez, IP adreslerini saptayamaz.
3- Sunucu-bağımsız (server independent): Olanaklar el verdiği sürece Tox sunuculara bağlı / bağımlı olmaktan kaçınır. İletişim sunucu üzerinden yapılmaz, iletişim içeriği hiçbir sunucuda saklanmaz. Arkadaşınıza bir ileti gönderdiğizde arkadaşınızın aygıtı açık değilse ileti gönderilmez, aygıtınızda "gönderilecek" kutusunda bekleyip ancak arkadaşınız aygıtını açtıktan sonra gönderilir. Bu bağlamda çevrim dışı gönderilen içerikleri sunucularında saklayıp, sonra çevrim içi olduğunda sunucudan arkadaşınıza gönderen "kullanıcı için her tür kolaylığı düşünen" Whatsapp türü uygulamalardan radikal biçimde ayrılır.
Bununla birlikte isterseniz, "boostrap node" adı verilen Tox ağı sunucusu işletebilirsiniz ancak kullanıcılar o sunucuya güvenmek yada kullanmak zorunda değildir.
4- Tox, NAT yada Firewall gibi engeller üzerinden iletişim sağlamaya çalışır bunun için UDP hole-punching, UPnP, NAT-PMP, relay olarak kullanılan güvensiz node , DNS tüneli gibi yöntemleri kullanır.
5- Tox anonim bağlantı sağlamaya çalışmaz, ancak anonim bağlantılara tümüyle uyumludur. Yapılan bağlantılarda IP adresleriniz hem iletişim kurduğunuz eşe (peer) hem de 3. parti kişilere (Internet Servis Sağlayıcı / ISS) görünür. ISS, 2 kişinin bir bağlantı yaptığını görebilir ancak bağlantının içeriğini hiçbir biçimde çözemez cunku içerik gizleştirilmiştir.
Bu 5. bölümü biraz açalım:
Varsayılan olarak Tox arkadaşlar arasında direkt baglantı kurar bunun sonucu olarak bir eş, öteki eş'in IP'sini bilebilir.
3. parti kişiler de o 2 IP adres arasında bir bağlantı kurulduğunu saptayabilir. Ancak hepsi budur. 3. parti kişiler 2 kişi arasında bir bağlantı kurulması dışında başka hiçbir nes saptayamaz.
Bu durum Tox'un varsayılan kullanımı için geçerlidir. Tox, istenirse Tor gibi anonimlik sağlayan yazılımlarla 100% uyumlu çalışabilecek biçimde tasarlanmıştır.
Tox bağlantısını Tor üzerinden yaparak, bağlantının 3. parti kişilerce saptanmasının önüne geçerek, 100% güvenliğe ek olarak 100% anonimlik sağlayabilirsiniz.
6- Tox üzerinden fotoğraf, belge, dosya gönderebilirsiniz. Dosyayı bir kez gönderdikten sonra dosya aygıtınızdaki bir dizinde saklanır. Başka hiçbir yerde izi olmaz.
7- qTox'ta Qt Framework tabanlı ses / görüntü belgelikleri (library) oldugu için Tox üzerinden sesli / görüntülü görüşme de yapabilirsiniz ancak bu bağlantılarda cok yüksek kalite ya da sorunsuzluk beklememelisiniz cunku şu önemli ayrıntıyı hem P2P üzerinden görüntü/ses iletmek fiziksel olarak zordur. Bu nedenden dolay özellikle uluslararası sesli / görüntülü görüşmelerde gecikmeli yada kesintili görüşmeleri normal karşılamalısınız.
8- Tox üzerinde 2'den çok eşin katılabildiği çoklu söyleşi odası da kurabilirsiniz: Herkese açık (public) yada özel (private)
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
< Bu mesaj bu kişi tarafından değiştirildi Tuğkan-0153 -- 20 Mart 2023; 22:33:41 >
Bu mesajda bahsedilenler: @burak jr