Internet üzerinde mahremiyet ve kullacının mahremiyetini kendisine karşı güvence altına alan bir yazılım pratiği: Hohha anlık mesajlaşma servisi

Internet üzerinde mahremiyet ve kullacının mahremiyetini kendisine karşı güvence altına alan bir yazılım pratiği: Hohha anlık mesajlaşma servisi

İsmail Kizir1
1 Hohha Internet Services Ltd. Teknolojiden Sorumlu Başkanı, Siyaset Bilimci
Özet: Haberleşme özgürlüğü ve mahremiyeti modern dünyada tüm demokratik devletlerin anayasalarının olmazsa olmaz maddelerinden biridiri.
Dünyada, kamuoyunun gündeminde gittikçe daha fazla yer eden “internette mahremiyet” konusunu kısaca özetledikten sonra, “Hohha anlık mesajlaşma” uygulaması ve bu uygulamanın üstüne bina edildiği özgün algoritmalar ele alınarak, kişisel mesajların mahremiyetinin hangi yöntemlerle güvence altına alındığı işlenecektir.
Söz konusu yazılım için tasarlanan ve MIT lisansı ile kamuya açılan, anahtarın da şifrelenen metin ile değiştiği, özgün “Hohha Dinamik XOR” algoritmasının çalışma mantığı masaya yatırılacaktır.
Anahtar Sözcükler: Mahremiyet, şifreleme, Hohha Dinamik XOR, simetrik şifreleme, RSA, anlık mesajlaşma yazılımları, Hohha.
Abstract: Freedom and privacy of communication is one of the most crucial parts of all modern democratic constitutions. In this paper, we will briefly explain various aspects of the popular “privacy on Internet” subject, present our Hohha Instant Messaging Service and the methods it uses to protect user's privacy.
We will also explain in detail our MIT Licensed, genuine, “Hohha Dynamic XOR encryption algorithm” which is dynamically updating the key according to plaintext during encryption.

1. Internet üzerinde mahremiyet
Bazı inançlarda, Tanrı dahil, adı bilinen her varlığın üzerinde hakimiyet kurulabileceğine, bundan dolayı, Tanrı'nın kimsenin bilmediği gizli bir ismi olduğuna inanılır.
Binlerce yıl geçmesi, bu inancı gülünç kılmak bir yana, seküler anlamda güçlendirdi: Yukarda bahsettiğimiz inancın telaffuzunu bile “şeytan işi” addedenler başta olmak üzre, güç peşinde koşan herkes, yeni çağın seküler dininin bir numaralı virdini her fırsatta tekrar eder ve uygular oldu: “Bilgi güçtür”!
Günümüzde ister sanal ekonomi olsun, ister reel ekonomi, “bilgi”nin en büyük değer olduğu tartışmasız bir gerçek.
Bu tartışmasız gerçekten dolayı, özellikle “yeni ekonomi” şirketlerinin hemen hemen tümü, bilginin her türlüsüne erişebilmek için korkunç bir rekabet içinde.
Bu rekabet, öyle boyutlara ulaşmış durumda ki, milyon hatta milyar dolar maliyetli hizmetlerin, “ücretsiz” verilmesi sıradanlaştı, hatta giderek “olmazsa olmaz” bir hal aldı.

Bir zamanlar, "ücretsiz", "karşılıksız", "borç" kavramları tüm dünyada şüphe ile karşılanırken, yeni ekonomideki dönüşümle, kitleler, milyar dolarlık maliyetlerin nasıl karşılandığını pek de umursamadan ücretsiz verilen tüm servisleri büyük bir iştahla kullanmaya başladı.
Zamanla, özellikle “ücretsiz” servislerin, hem de, bırakın özel şirketleri; vakıf adı altında çalışarak en idealist görünenlerinin verdiklerinin bile, hiç de öyle “karşılıksız” olmadığını görür oldukii.
Daha kötüsü, Hegel'in, biraz da kaçamak yollu, “Tanrı'nın Yeryüzündeki Yürüyüşü”iii olarak adlandırdığı devlet, hiç sahip olmadığı kadar fazla ilahi vasfa sahip oldu. “Teoride” kendi rızamız ile, her noktada kameralar ile izleniyor, cep telefonlarımız sayesinde, attığımız her adımı takip “ettiriyoruz”iv! Üstelik bir tane de değil. Herbiri her an diğeri ile savaş halinde olabilen devletlerimiz, dolayısı ile “Tanrılarımız”, her devlet içinde de, “burada Tanrı ben olacağım sen olacaksın kavgasındaki Tanrıcıklarımız” var. Ve her yaptıklarını bizlerin, yani “kullarının” iyiliği için yapıyorlar! Herşeyi biliyor, görüyor ve yargılıyorlar. Tüm bu “koruma önlemlerine” gerekçe olarak, biz kulların da başından tehdit ve tehlike hiç eksik olmuyor!
Bu durumun, özellikle 2011 yılında Wikileaks kurucusu Julian Assange'ın Time Dergisi'ne kapak olmasından sonra, en azından, konunun kamuoyu önünde tartışılması açısından değişmeye başladığını düşünüyoruz. 2013-2015 yılları arasında, pek çok ülke yönetiminin yabancı servisler tarafından dinlendiğinin ortaya çıkmasıv ve bunun devletler düzeyinde “sükut” ile doğrulanması; 2013 yılı öncesine de uzanan Wikileaks belgelerinde geçen kişisel yazışmalar ve bunların nasıl elde edildiği ve son olarak 2015 yılı sonlarında, CIA Direktörü’nün bile, görece önemsiz bazı iş dokümanlarının kişisel mesajlaşması için kullandığı bir e-posta servisi üzerinden ele geçirilmesi tartışmaları tekrar alevlendirdi: CIA direktörü bile olsanız, “kişisel” mahremiyete; dolayısı ile bu mahremiyeti güvence altına alacak, pratik olarak kullanabileceğiniz araçlara muhtaçsınız! Pratik diyoruz, zira, CIA Direktörü de, şüphesiz, PGPvi'nin varlığından ve bu araç sayesinde mahrem yazışmalarını RSA şifreleri ile ücretsiz servisler üzerinde bile koruyabileceğinden haberdardı. Fakat, gündelik hayatta kullanılabilecek kadar pratik değil. Ücretsiz e-posta hizmet veren şirketler de “nedense”, isteseler, mevcut sistemlerine entegre edebilecekleri bu teknolojilerin bahsini bile açmıyorlar.
Kamuoyunda bir kıpırdanma olsa da, geniş toplum kesimlerinin yeterli bir bilinç düzeyine ulaştığını söylemek zor. Mahremiyet hakkında, Medya ile yaratılan algı, sadece yasadışı işler çevirenlerin mahremiyet peşinde koşacaklarıdır. Türk medyasında da, “beni dinleseler ne olur? Saklayacak birşeyim yok!” temalı köşe yazıları görülmemiş şey değildir. Sıradan insanlar gözünde, “beni dinleseler ne olur?” mottosu(virdi), gizli bir övünme ile(vecd) söylenen, adeta, devletine(Tanrısına) sadakat sunma ritüeli(ibadeti) haline gelmiştir.
Gelinen noktada, geniş kitleler, mahremiyet konusunu, tek boyut ile, sadece kriminal boyut ile ele almakta, diğer üç boyutu ıskaladıklarından dolayı da, haberleşmelerinin üzerindeki mahremiyet örtüsünün sadece “kendi devletleri” tarafından kaldırılacağını, onların da bu bilgileri sadece “iyilik” için kullandığını düşünüp, bu örtünün kaldırılmasına razı olmalarını beyan etmenin bir erdem olduğunu düşünmektedir.
Biz, mahremiyet konusunu 4 boyutta değerlendiriyoruz.

Kriminal boyut: Her türlü suç faaliyetinin, yetkili otoriteler tarafından, iletişimin dinlenmesi yoluyla, yasalar çerçevesinde takibi, karşı çıkılabilecek bir durum değil. Zaten bu husus, tüm demokratik devletler tarafından yasalara ve bilebildiğimiz kadarıyla, tümünde, mahkeme kararına bağlanmıştır. Fakat, kriminal aktivitelerin varlığı, kriminal aktivitelere karıştığı ispatlanmamış bireylerin en temel anayasal hakkı olan “haberleşmenin gizliliği”nin rafa kaldırılması için bahane teşkil etmez.

Meraklı gözler: Kişinin mahrem bilgisinin devletler dışındaki yerli ya da yabancı oluşumlar tarafından ele geçirilmesi olasılığı. Çevredeki meraklı bir komşudan, kıskanç bir kocaya, ya da hacker şebekelerine kadar geniş bir yelpazenin, yasal olmayan yollardan, haberleşmeyi dinlemesi ve şantaj dahil çeşitli amaçlar için kullanmasıdır. Bu, sadece haberleşmenin şifrelenmesi ile aşılabilecek bir durumdur.

Ticari şirketlerin elinde “biriken” mahrem bilgi: Özellikle, ücretsiz servislerin elinde biriken bilgi ile ne yapıldığı ve bu bilgilerin, devletlerin de dahil olduğu diğer kişi&kurumlara karşı nasıl korunduğu en önemli meselelerden biridir. CIA direktörünün bile, ücretsiz bir serviste “biriktirilen” kişisel mesajları çalınarak medyaya sızdırılabilmiştirvii. Bu bilgilerin, kişilik profili çıkartılmak için kullanılması ve bu kişilik profilinin en masum satış artırma arzusundan, ciddi kriminal aktivitelere kadar geniş bir yelpazede kullanılması da olası. Üstelik, söz konusu şirket sunucuları ile yürütülen haberleşmenin şifrelenmesi, sadece meraklı gözlere karşı bir önlem olmaktan öteye gidemiyor ve bu sorunu çözmüyor. Devletler bile, kendilerine emanet edilen en mahrem bilgileri korumakta “korkutucu” derecede yetersiz kalmaktalar. Türkiye'de MERNİS'de kayıtlı tüm bilgilerin üç beş kuruş veren tüm kişilere, hem de kapıda pazarlama yöntemi ile satılması, kara mizah olsa gerek: Kanun temsilcisi pek çok avukatın el altında bu programdan bulundurduğu herkesin bildiği bir “sır”dırviii.

Yabancı devletlerin elinde biriken mahrem bilgi: Mahrem bilginin yasal ya da gayrimeşru yabancı oluşumların eline geçmesi birinci dereceden bir ulusal güvenlik zaafıdır. Burada, onlarca yıl boyunca biriktirilen verilerden bahsediyoruz. Özellikle, “bulut mimarisi” ve “büyük veri” kavramları ile ön plana çıkartıldığı üzre, bugün, en azından teoride, rahatlıkla, “Internet üzerinde özel ya da kamuya açık her harfin depolandığını” söylemek mümkündür.
Dahası, bu, bireylerin rızası ile gerçekleşiyor. Kolaylık ve pratiklik adına, tüm e-postalar. hatta, anlık mesajlar depolansın isteniyor. Şirketler de, “hangi telefondan hangi bilgisayardan girerseniz girin farketmez, verilerinizi senkronize ediyoruz” diyerek bunun reklamını yapıyorlar. Bu verilerin, yabancı devletlerin eline geçmediğini ya da geçmeyeceğini de kimse garanti edemiyor. Bir çocuğun daha 8-10 yaşından itibaren yazdığı her mesaj, her e-posta, dolayısı ile, hayatının tüm detayları, bir daha hiç silinmeyecek şekilde depolanıyor. Başka ülkeden MİT müsteşarı, Cumhurbaşkanı ve Genelkurmay başkanı ithal edemeyeceğimize göre, bir gün, "tüm bu hayatı depolanan" çocuklarımızdan biri doğal olarak Cumhurbaşkanı ya da MİT müsteşarı, diğeri Genelkurmay başkanı olacak ve “ufacık çocuğu dinleseler ne olur” diyerek geçiştirdiğimiz tüm o veriler korkunç bir ulusal güvenlik zaafiyeti olarak karşımıza çıkacak. Kişilik analizinden, şantaj malzemesine kadar her türlü bilgi her an kullanıma hazır şekilde depolanmaya devam ediyor!

2. Kullacının mahremiyetini kendisine karşı güvence altına alan bir yazılım pratiği: Hohha anlık mesajlaşma servisi
Bu bölümde, yukarda anlatıların ışığında, mahremiyeti güvence altına almak üzre tasarladığımız bir anlık mesajlaşma yazılımından bahsetmek istiyoruz: Hohha anlık mesajlaşma yazılımı.
Kullanılan yöntemlerin daha iyi anlaşılabilmesi için, genel olarak şifreleme teorisine değinmemiz gerekiyor.

Simetrik ve asimetrik şifreleme
Simetrik şifreleme, aynı anahtarın hem şifreleme, hem de şifrelenen metni açmak için kullanıldığı algoritmalara verilen isimdir. Fakat, simetrik bir şifreleme kullanabilmek için, kimsenin eline geçmeyeceğini garanti altına alarak, şifreleme anahtarının alıcıya iletilebilmesi gerekir ki, bu, ya eski zamanlardaki gibi, alıcı ile yüzyüze görüşerek yapabileceğiniz, ya da Internet gibi ortamlarda, ancak, "asimetrik" şifreleme kullanarak gerçekleştirebileceğiniz bir işlemdir.
Asimetrik şifreleme, şifreleme için ayrı, şifrelenen metni açmak için ayrı anahtarların kullanıldığı, açık anahtar( public key) denilen, herkesin eline geçmesinde hiçbir sakınca olmayan anahtarın sadece şifreleme için kullanılabildiği, fakat, bu anahtar kullanılarak yapılan şifrelemenin de, ancak ve ancak bu anahtar ile birlikte oluşturulmuş ve şifreyi çözecek olandan başka kimsenin elinde bulunmaması gereken "mahrem anahtar"(private key) ile çözülebildiği şifreleme yöntemidir.
Şimdiye kadar oluşturulan, en azından bizim bildiğimiz tüm asimetrik şifreleme yöntemleri, simetrik şifrelemeye göre onlarca/yüzlerce hatta binlerce kat yavaştır. Bundan dolayı, standart web güvenlik protokollerinin tümü asimetrik şifrelemeyi sadece simetrik şifreleme anahtar değişimi için kullanır ve bundan sonrasına simetrik şifreleme algoritmaları ile devam ederler. Bu anahtar değişim işlemi, söz konusu algoritmayı geliştirenlerin isimlerinden hareketle Diffie-Hellmanix anahtar değişimi olarak adlandırılır

Hohha RSAx ve Hohha Dinamik XOR ile mahremiyetinizi güvence altına alır.
Birinci bölümde anlatılanlardan yola çıkarak, Internet üzerinde mahremiyet konusunda, çözülmesi gereken iki temel problem olduğunu söylemek mümkündür: Birincisi, bilgimizin, servisi veren şirket dışındakilere karşı güvence altına alınması, ki, bu sorun, artık, standartlaşacak derecede kolay bir şekilde çözülmüştür. Standart hale gelen SSL protokolü sayesinde, teoride, sunucu ve istemci arasındaki haberleşme kolayca şifrelenebiliyor ve haberleşmeyi “dinleyen”lere karşı ciddi bir engel oluşturuyor. Fakat, bilgimizin “servis veren şirkete karşı” korunması, hemen hiç bahsedilmeyen bir durum. Hohha, bu iki sorunu birden, yani mahremiyetin hem üçüncü kişi ve kurumlara, hem de kendisine karşı korunmasını temin etmek amacıyla geliştirildi.
Hohha ilk çalıştırıldığı her cihazda, sadece o cihazda kullanmak üzre, 4096 bit'lik bir RSA anahtar çifti oluştururxi.
Hohha giriş sunucusu da, günümüzde finans kurumları ve devletlerin kullandığı, 4096 bit RSA anahtar çifti kullanmaktadır. Sunucu açık anahtarı istemci yazılımın içinde gömülü gelmekte ve böylece aradaki adam saldırısı(Man-in-the-middle attack)xii olasılığı devredışı bırakılmaktadır.
İstemci ile sunucu arasındaki ilk haberleşme bahsi geçen gömülü 4096 bit anahtarı ile yapılır. Kullanıcı, sunucuya, hem kendi açık RSA anahtarını hem de sunucunun açık RSA anahtarı ile şifrelenmiş bir biçimde giriş doğrulama bilgilerini ve oluşturduğu simetrik şifre anahtarını gönderir. Bunun karşılığında da, sunucu, eğer giriş bilgileri doğrulanmış ise, dağıtık modelin gereği olarak, simetrik şifrelenmiş biçimde oturum belirtecini(Session identifier) ve kullanıcının kalıcı TCP ya da WebSocket bağlantısı kuracağı sunucunun ip adreslerini gönderir. İstemci ilgili sunucuya bağlanır, belirlenmiş simetrik anahtar ile şifreli biçimde giriş bilgilerini gönderir ve bundan sonrası Hohha DinamikXOR şifrelemesi ile devam eder. Şimdiye kadar anlatılan, sadece, Hohha dışındaki gözlere koruma sağlar.
Hohha, hiçbir mesajı depolamaz. Her mesaj alıcısına ulaştırıldığı anda sistemden silinir.
Tüm kullanıcılar, bire bir sohbet ettikleri tüm diğer kullanıcıların açık RSA anahtarlarına(public keys) sahip olurlar. Fakat, sistemdeki kimse, sunucu dahil, kimsenin mahrem anahtarına(private key) sahip değildir.
Bir kullanıcı, diğer bir kullanıcının açık anahtarına sahip değilse, bunu, sunucudan ister. İmza kontrolü yapmak, ancak üçüncü parti kurumların işin içine katılması ile gerçekleşebileceğinden ve kullanıcıların bu konudaki isteksizlikleri göz önüne bulundurulduğundan dolayı, sistemde “elektronik imza ile kimlik doğrulaması” yapılmamaktadır. Hohha'nın, teorik olarak mevcut olan “aradaki adam saldırısı yapma olasılığı” ise, kullanıcılara, diledikleri anda, konuştukları kişinin açık RSA anahtarını görüntülemelerini sağlayarak yapılmaktadır. Zira, aradaki adam saldırısı yapabilmenin tek yolu, iki tarafa, gerçekte kendilerinin olmayan, aradaki saldırgan tarafından üretilmiş RSA anahtarlarının verilmesidir. Eğer diledikleri herhangi bir anda iki kullanıcı, birbirlerinin açık RSA anahtarlarını ikisinin cihazında da aynı olarak görüyorlarsa, bu aradaki adam saldırısı olmadığının delilidir.
Daha sonra, sıra, sadece bu iki kullanıcı arasında kullanılacak ortak simetrik anahtar belirlemeye gelir.
Mesajlaşmayı ilk başlatan kullanıcı, anahtarı oluşturarak, ve bunu diğer tarafın açık RSA anahtarı ile şifreleyerek sunucu vasıtası ile, karşı tarafa gönderir. Alıcı, sadece kendi mahrem RSA anahtarı ile açılabilecek bu bilgiyi deşifre eder ve bundan sonrasında bu iki kullanıcı arasındaki tüm ikili yazışmalar bu anahtar ile şifrelenir. Hohha, kişilerin yüzyüze ortak Hohha Dinamik XOR şifre anahtarı belirlemelerine de olanak tanımaktadır, ki, tavsiye edilen kullanım şekli budur. Güvenliği artırmak için, her bir anahtar en fazla 1000 mesaj için kullanıldıktan sonra otomatik olarak yenilenir. Bu, hem kişilerin kendi aralarında kullandıkları simetrik anahtarlar, hem de kullanıcının sunucu ile haberleşmede kullandığı simetrik anahtar için geçerlidir.
Dosya transferlerinde, her dosya için daha geniş gövdeli, sadece o dosyaya özel bir anahtar oluşturulur.

3. Hohha Dinamik XOR kripto sistemi

Sekiz sayfa sınırlamasından dolayı, algoritmayı ancak kabaca açıklamakla yetineceğiz. Teknik detaylar ve kaynak kod linkleri kaynakçadan belirtilmiştir.
1. Algoritma bir adet anahtar kullanıyor.
2. Anahtar oluşturan fonksiyona girdi olarak zıplama sayısı(Z) ve 2'nin herhangi bir kuvvetine eşit olması gereken gövde uzunluğu(G) veriliyor. Fonksiyon, önce bu G adet rastgele sayı ve Orijinal tuzlama(OT) değeri olarak 8 bayt rastgele sayı oluşturuyor. OT değeri tüm algoritmanın bel kemiğini oluşturuyor. Zira, bu değer, sadece her şifreleme için farklı olarak üretilen diğer tuzlama değerlerinin(T) şifrelenmesi için kullanılıyor.
4. Şifre ya da deşifre işlemi başladığında, anahtarı oluşturan tüm baytların 32 bitlik denetim toplamı hesaplanır (CRC).
5. Anahtarın kullanıldıkça kendini açığa vurmaması ve tek bir seferde şifrelenen metin içinde de yapılan analizlerde kendini açığa vurmaması(leaking) için, mümkün olan en fazla rastgeleselliği yakalamamız gerekiyor. Bu amaç için dinamik olarak değişen altı farklı değişken kullanıyoruz: M gövdede bulunduğumuz pozisyonu; Salt1 ve Salt2 her şifrelemede sadece o şifrelemeye özel olarak üretilen rastgele T değerlerinin 4'er baytından oluşturulan iki rastgele 32 bitlik sayıyı; X,Y gövde içinden T değerine göre seçilen iki 32 bitlik sayı, V ise, anahtar CRC toplamına eşit bir sayıyı temsil ediyor. Ve elbette anahtar gövdemiz var ve onu da dinamik olarak güncelliyoruz. Her zıplamada, tüm bu değişkenleri mümkün olduğunca yerinde kullanarak, mümkün olan en fazla rastgeleselliğe sahip bir değerler zinciri oluşturmalıyız. Z sayıda zıplama yapacağız.
6. Şifrelenecek her byte için, bu altı değişkeni gövde içinde bulundukları pozisyona ve o anki değerlerine göre seçilen toplam (5)+(Zıplama sayısı*2) gövde değeri ile güncelliyoruz. Ayrıca, gövde içinden iki değeri de bu 5 değişkenin o anki değerlerine göre güncelliyoruz.
Kısacası, elimizde, kullanabileceğimiz tüm değişkenleri fonksiyon içinde kullanarak hem çok büyük bir kaba kuvvet saldırı karmaşıklığı yakalıyor, hem de mümkün olan en fazla rastgeleselliği elde etmeye çalışıyoruz. Sadece 5 başlangıç değerini bulmak için gereken algoritmik karmaşıklık 2160 dır. Her karakterin şifrelenmesinde bu değerlere bağımlı, fakat içeriği bilinmeyen en az 5 farklı gövde değeri kullanılıyor. Kısacası, kaba kuvvet saldırı karmaşıklığı 2160 * 240*Metin uzunluğu 'dur.
Saldırganın tüm saldırı araçlarına “karartma” uyguluyoruz. Başlangıç değerleri, her şifreleme için üretilen 64 bitlik bir rastgele sayıya bağımlı. Zıplama adımları gizli. Dolayısı ile, gövde içinde hangi değerlerin kullanıldığını saldırgan bilemiyor.
Şifrelenen metin anahtar ile şifrelenirken, anahtar da değişikliğe uğruyor.
Hohha şifreleme ekosisteminin en temel noktası, her şifreleme için farklı oluşturulan 8 byte'lık rastgele tuzlama değeridir. Peki bu değeri nasıl karşı tarafa ulaştırıyoruz?
Şifrelenecek her metin için şifreleme fonksyonu iki kere çağrılıyor.
Önce, şifrelenecek metnin önüne ve arkasına rastgele bir takım byte'lar eklenerek metin uzunluğu 16'nın katı olan bir uzunluğa tamamlanıyor. Bu açık metin saldırısına karşı bir önlemdir.
İlk çağrıda, o şifrelemeye özel T değeri kullanılarak bu paket şifreleniyor. Şifreli metin ve açık metnin CRC32 değeri elde ediliyor.
Daha sonra, 4 rastgele byte, T ve CRC32 değerlerini barındıran bir paket başlığı oluşturuluyor ve bu paket başlığı OT değeri kullanılarak şifreleniyor ve tüm paket elde ediliyor. Bu paket, açık metin saldırısına karşı dirençli bir pakettir.
Algoritma, şifre ya da deşifre işlemi için paralel çalıştırılamaz ya da rastgele erişimde kullanılamaz.
Veride herhangi bir bozukluk olması, örneğin anlık veri aktarımında aktarımında bir bayt hatalı veri gelmesi, sonraki tüm baytların da bozulmasına sebebiyet verir. Bundan dolayı, CRC kontrol değeri toplamı paket başlığı içinde iletilir. Bu değer kullanılarak herhangi bir bozulma kolayca tespit edilebilir. Hohha mesajlaşma yazılımı TCP protokolünü kullanan bir sistemdir. TCP'nin ise kendi hata düzeltme mekanizmaları vardır. Muhtemel saldırılarında sunucunun kahin(oracle) olarak kullanımına izin vermemek için, Hohha sunucusu hatalı paket belirlediği anda ilgili anahtarı geçersiz sayar.
Algoritma ve C uygulaması MIT&GPL lisansı ile kamuya açılmıştırxiii. Ortak akıl ile geliştirilmeye devam edilecektir.
Hohha XOR Algoritması: Hız
Algoritma, yapılan hız testlerinde, kırıldığı ispatlanan ve güvensiz addedilen RC4 dışında, AES de dahil, diğer tüm simetrik şifreleme yöntemlerinden daha iyi bir performans sergilemiştirxiv.
Güvenirlik
Açık metin saldırısına karşı güvenlidir.
İlişkili anahtar(related key attack) saldırısına karşı güvenlidir. Anahtardaki en ufak bir değişim tamamen farklı bir şifreli metin elde edilmesine yol açar.
Şu ana değin, kriptosistemin görebildiğimiz tek “teorik” zaafı, saldırganın hem tuzlama değerini, hem açık metni ele geçirmesidir. Gerçekleşme olasılığı çok düşük olsa da, bu durumda bile, algoritmanın kaba kuvvet saldırı karmaşıklığı 232+32+32 * 240*Metin uzunluğu (32 bit anahtar CRC, 32 bit X ve Y değerleri bilinmeyen, her şifrelenecek karakter için 5 gövde değeri bilinmeyen )'dur.
Tuzlama değerlerini elde edemediği sürece, saldırganın hem şifreli metni ve şifrelenen metni bilmesinde, elinde, dikkate almamıza gerek görmediğimiz kadar çok sayıda hem şifreli hem şifrelenmemiş metin biriktirmediği sürece bir sakınca yok.
Tuzlama ve anahtarın dinamik değişimi diferansiyel kriptoanalizxv yöntemlerini devredışı bırakıyor. Zıplama pozisyonları ve adımları tuzlama değerine bağlıdır. Anahtar her kullanılışında farklı çıktılar veriyor. Ayrıca, şifreli metnin kendi içinde de şifreli karakterler arasında korelasyon kurmayı imkansızlaştırıyor.
Sonuç
ABD'nin gizli belgeleri için kullandığı AES, özellikle, işlemcilerde bu şifreleme için özel geliştirilmiş komut seti desteği ve çok tatmin edici hızı da göz önünde alındığında ilk akla gelen seçenek. AES'in CBC dışındaki kullanım şekilleri oldukça yavaş. Ve söylediğimiz gibi, “standartlaşmış” algoritmaların tarihi, bize güven vermiyor. AES'in, en çok kullanılan CBC modunun kırılabildiğini ve güvensiz olduğunu kanıtlayan bir bilimsel makale mevcutxvi! TLS 1.3 standarrdı taslağı bu şifrelemeye yer vermiyor ve mevcut SSL 3.0 standardında güvenilir tek bir algoritma mevcut değilxvii.
Daha iyiyi” arayış hiç bitmiyor!
Kriptoloji uzmanı değiliz ve böyle bir iddiamız yoktur. Kamuya açılmış kütüphaneler ile, standart şifreleme yöntemleri kullanmak hiç zor değil.
Özellikle altını çizmek isteriz ki, yeni bir şifreleme algoritması geliştirmeye girişmek altına girmeyi arzu etttiğimiz bir yük değildir. Fakat, detaylı bir şekilde açıkladığımız gibi, Standart, güvenilir ve hızlı şifreleme algoritmaları eksikliği, Google'ın da dahil olduğu pek çok ticari şirketi, kendi çözümlerini geliştirmeye zorlamış, bu yıl içinde, Google'ın standartlarda yer almayan Cha-Cha20 algoritmasını kullanmaya başlayacağını duyurması üzerine, söz konusu algoritma TLS 1.3 “Müsvedde”(Draft)sinde yer almaya başlamıştır. Bu durumda, şifre uzmanı olmayan şirketlerin, global düzeyde, kriptoanalistlerin ve bu alanda çalışan akademisyenlerin, ya mesleki yeterliliklerini, ya da mesleki etiklerini sorgulamaya başlamaları doğaldır.
Topluma, aslında güvenilmez olduğunu bile bile, “Amerikan Hükümeti'nin çok gizli dokümanları şifrelemekte kullandığı standart algoritmaları kullanıyoruz” reklamı yapmak ve zahmetsizce hazır kütüphaneler kullanmak aslında ticari olarak doğru olan seçenektir. Biz zor fakat dürüst olan yolu tercih ediyoruz.
Hakemlerin,Yürütme Kurulu üyelerinin , akademisyen dostlarımızın ve Internet üzerinde açık kaynak kodumuzla ilgilenen geliştiricilerin katkı ve eleştirileri ile, programımızın tasarımında pek çok kez değişiklik yaptık.
Algoritma ve bu makalenin yazımı, ürünün piyasaya çıkışını geciktirecek. Fakat, bizim açımızından çok faydalı bir süreç oldu. Özellikle ODTÜ'de Olimpik Takım'da iken bizi eğiten Bilgisayar Müh. Bölümü Ekibi'ne, başta dostlarımız Dr. Onur Tolga Şehitoğlu ve Dr. Meltem Turhan Yöndem olmak üzre teşekkür ederiz.
Şifreleme teorisi tarihi, “Kırılması imkansız” ve “popüler” algoritmalar mezarlığıdır. Fakat asıl korkunç gerçek şu: Hemen tüm simetrik şifreleme yöntemleri, RSA asimetrik şifrelemesine bağımlı. RSA kırılırsa, en güçlü simetrik şifreler bile anlamsız kalacak! Tüm finans kurumları, ordular, istihbarat örgütleri... Tüm Internet bu standart üzerinden şifreleniyor. Şu anda 2048 bit'den aşağısı güvenli addedilmiyor. 4096 bit'in üstü ise, 4096 bit'e göre, aşırı bir hız maliyeti getirirken, aynı oranda güvenlik getirmiyor. Kısacası, RSA'in sonu geliyor veya daha kötüsü, çoktan geldi, biz bilmiyoruz!
RSA'in ansızın kırılması, global bir ekonomik ve siyasi krize sebep olacaktır ve bu olasılık çok yakın, çok güçlü! Müşterilerimize, “yüz yüze simetrik anahtar belirleme” dışında, hiçbir mevcut yönteme çok bel bağlamamalarını salık veriyoruz.
Mahremiyet” ihtiyacı, su ihtiyacına çok benziyor. İkisi de son derece hayati. İkisi de yokluğu hissedilmediği sürece umursanmıyor ve para ile satın alınmak istenmiyor, ikisi de ancak yokluğu fark edildiği zaman çok ağır bedeller ödetiyor ve ikisinin de yokluğu hissedilmediği sürece kitlelere para ile satılabilmesi son derece zor.
Bu ürünü milyar dolarlık rakipler karşısında tutundurabilmek büyük bir çaba gerektiriyor. Bunun için, bankaların kredi kartları için yaptıkları gibi, yeni üye getiren üyelere bonus olarak belirli bir yüzde verilmesi ve piramidal referans zinciri oluşturulması gibi pek çok ticari pazarlama yöntemi deniyoruz.
Fakat, söylediğimiz gibi, sonuçta, belirleyici olan, kitlelerin, aynen su örneğinde olduğu gibi, bu ihtiyacın da para karşılığı giderilebilecek kadar önemli olduğunun farkına varmaları. Er ya da geç bu uyanışın gerçekleşeceğine inanıyoruz. Bu makalede bahsettiğimiz pek çok olay da bunun ispatıdır.
Ümidimiz, bu uyanışın, hem birey hem ulus bazında çok ağır bedeller ödenmeden gerçekleşmesidir.
xiRastgele sayı üretmek için, sunucuda, güvenirliği ispatlanmış /dev/urandom, istemcide window.crypto standart kaynakları kullanılır. Bu iki kaynağın da kriptoloji için yeterli entropi kullandığı genel kabul görür.

https://github.com/ikizir/HohhaDynamicXOR

xivDipnot kısmına tablo yerleştirilemediğinden ayrı bir doküman olarak veriliyor.

xviihttps://en.wikipedia.org/wiki/Transport_Layer_Security#cite_note-Lucky13-30

Yorumlar

Bu blogdaki popüler yayınlar

Visual proofs of Hohha Dynamic XOR Encryption Algorithm