SIGABA Şifreleme Makinesinin İncelenmesi

Günümüz internet kullanımı pandemi ile birlikte katlanarak arttı ve bilgi güvenliğinin, hayatımızda en önemli alanlardan biri olmasına yol açtı. Güvenliğin bu noktalara gelmesini Sezar şifreleme algoritması gibi basit yöntemlerin günümüzde kırılması imkansız hale gelmiş şifreleme algoritmalarına dönüşmesine borçlu bulunmaktayız. 2. Dünya Savaşında kullanılan SIGABA makinesi dönemin en önemli şifreleme algoritmalarından biri olup günümüz yöntemlerinde bile kırılamamıştır.

Bu incelemede o günden bugüne yapılan çalışmalardan, algoritma tasarımındaki fikir ayrılıklarından, makinenin çalışma yapısından, kullanımından, yapılmış olan kripto analiz çalışmalarından bahsedilmiş olup bu çalışmalarda ne gibi yöntemler denendiği üzerinde durulmuştur.

TARİHÇESİ

SIGABA 2. Dünya savaşında Birleşmiş Milletler Ordusu Sinyal İstihbaratı Servisi direktörü William Friedman önderliğinde geliştirilmiş olup savaş süresince geliştirilmeye devam edilmiştir. Bu şifreleme makinesi Birleşmiş Millet Ordusu ve Donanma tarafından farklı isimlendirmelere sahip olsa da Ulusal Kriptoloji Müzesi[1]’nde ECM Mark II (Elektronik Kod Makinesi) ismiyle geçmektedir.

SIGABA öncesinde icat edilmiş olan Hebern Rotor Makineleri için ABD Donanması tarafından ne kadar güvenli olduğu tespit edilmesi amacıyla makine ve on mesajlık bir set ile Friedman’den yardım istenmiştir. Friedman şifreyi kırabilmiştir. Bu esnada Hebern Rotor makinelerinin karmaşıklığının makine kablolaması ile ilgili olduğunu ve düzenli rotor hareketlerinin istismara açık olduğunu keşfeden Friedman delikli kağıtlar ile rastgelelik kazandırmayı amaçlamıştır. O zamanlar Friedman’a asistanlık yapan Frank Rowlett bu delikli kağıt bantlarını üretmekle görevlendirilmiştir.  Rowlet bu kağıt bantların kopyalanması ve dağıtımının oldukça zor olacağı üzerine durmuştur. Rowlet ile gerçekleştirilen röportajlarda [2] Friedman Rowlet’in makine için öne sürdüğü fikri kabul etmeyip Kerckhoffs İlkelerine bağlı olarak bunun uygun olmadığını savunup Rowlet’in inatçılığı sayesinde sunumunu dinlemiş ve bunun tarihin akışını değiştirebilecek bir fikir olduğundan bahsedilmiştir.

Sonraları donanma subayına sunum yapılmış ve kabul edildikten sonra ödenek eksikliklerine rağmen alınmayı başarmıştır. Ordu ve donanmanın aynı standardı kabul etmesi koordisyona büyük ölçüde katkı sağlamıştır. SIGABA’nın rotor kontak eşleşmeleri dikkatli bir şekilde korunan bir sır olmasıyla birlikte aynı zamanda makine birtakım fiziksel önlemler ve acil durum planları ile de korunmuştur. Bazı versiyonları 18 kg’lık termit bombalar bile içermektedir.

ÇALIŞMASI

Makine, şifreleme, kontrol ve indeks rotorları olmak üzere 3 rotor kullanımına sahiptir. Şifreleme ve kontrol rotorlarının her biri rotorların her iki yüzünde 26 adet kontağa sahip olup indeks rotorları da her iki yüzünde 10 adet kontak bulundurur. Alfabedeki 26 harfe denk olan şifre ve kontrol rotorları harf değiştirmesine olanak sağlar. İndeks rotorları ise bir basamağı diğer basamağa aktarmakla yükümlüdür. Şifre ve kontrol rotorlarında aynı tip kullanılması sayesinde birbiri yerine kullanılabilir. Rotorlar kafese ters yönde de yerleştirilebilmektedir. İndeks rotorları kafese sadece tek yönde yerleştirilebilmektedir.

Şekil-1’de SIGABA patenti[3]’nden alınan rotor kafesi ve rotorlar görüntülenmektedir. FİG.5 ile belirtilen şifreleme ve kontrol için kullanılan rotor yapısını tasvir ederken , FİG.6.’da indeks rotor yapısı tasvir edilmiştir.

Çalışma adımları:

ADIM1: Soldan sağa doğru hangi rotor kullanılacağına karar ver. (5 kontrol – 5 şifreleme yada 5 şifreleme- 5 kontrol)

ADIM2: Seçilen rotorların 5’erli permütasyon kararını ver.

ADIM3: Eldeki 10 adet rotorun yönüne karar ver.

ADIM4: 10 adet rotorun her biri için başlangıç pozisyonu seç.

ADIM5: Bu 10 adet rotoru rotor kafesi içindeki şifreli rotor bankası ve kontrol rotor bankasına seçilen sırayla yerleştir.

ADIM6: Şifre ve kontrol rotorları yerleştirildikten sonra 5 adet indeks rotoru ayarla.

ADIM7: İndeks rotorlarının 5’erli permütasyonuna karar ver.

ADIM8: İndeks rotorlarını sadece tek bir yönde yerleştir.

ADIM9: 5 adet rotorun başlangıç pozisyonunu seç.

ADIM10: Kafes içindeki indeks rotor bankasına rotorları yerleştir.

ADIM11: Makineyi anahtarla başlat ve şifrelemeye hazır.

KULLANIMI

Çeşitli açıklık seviyeleri için rotor konumlarını ve başlangıç ayarlarını içeren günlük anahtarlar, bir programı dağıtılıp mesajların şifrelenmesi, şifresinin çözülmesi için kullanılmıştır. Günlük anahtar kullanımı makinenin kırılmasını zorlaştırmıştır.

Operatörlere dağıtılan kitapçıktaki [4] adımlardan dikkate alınarak Şekil-2’de operatörler arası kullanım görselleştirilmiştir.

Şekil-2: Operatörler arası haberleşme UML Use Case diagramıa

Burada sistemin tasarımı ve gizlilik gerektirmemesi üzerinde durulup kolayca değiştirilebilen anahtarın gizliliği kritik bileşen olması amaçlanmıştır.

ALGORİTMA/ÜRÜN KRİPTOANALİZ

YAPILAN ÇALIŞMALAR

SIGABA’ya açık metin gerektirmeden J. G. Savard ve Richard S. Pekelney tarafından hazırlanan saldırı çalışmalarında ele geçirilen şifreli metinler üzerinden çalışılmıştır. Bu saldırı şifre rotorları tarafından üretilen şifreleri yeniden oluşturmayı amaçlamaktadır. Bu denemeler şifreleme rotor kablolarını yeniden oluşturup kontrol rotorlarında bunları kullanmak istenmektedir. Bu saldırı aynı anahtarla gönderilen 10-15 sayıda mesajla çözülebileceğini iddia etse de bu gereksinim her zaman karşılanması oldukça güç bir durum arz etmektedir. [5]

Micheal Lee [6] yaptığı çalışmayı rotor sayılarına göre başlıklandırmıştır. Öncelikle tek rotorlu bir makineye olsaydı saldırı nasıl olurdu sorusunun analizini yapmıştır ve bundan başarılı olduktan sonra edindiği kablolama bilgileri ile 2 ve 3 rotorlu makinelere göre bu analizleri gerçekleştirmiştir.  Sonrasında devamı için çıkarımda bulunan Micheal bu yöntemle 17.8 saat 5 rotorlu için geçen süreyi hesaplamıştır. Bu süre sadece 5 rotorlu için öngörülmüş olup günlük olarak değişen anahtarlar düşünüldüğünde olası bir çözüm değildir.

Heather Ellie Kwong yaptığı çalışmada rotor bankalarını ayrı ayrı hedefleyerek anahtar alanını kurtarmayı amaçlayıp yazdığı programdan bahsetmiştir. [7]

KRİPTOANALİZ DETAY

Michell Lee’nin çalışmalarında yukarda belirtildiği gibi rotor sayılarını arttırarak ilerlemesinin yanı sıra 2 çeşit saldırı türüyle ilgili de analiz yapmıştır.

 1.Anahtar denemesi: Bu saldırı günümüz kaba kuvvet saldırıları mantığında çalışmaktadır. Bu saldırıda şifreli metin ve 15 rotorun tüm iç kablo dizaynı verilip rotorların sıraları, şifrelemeleri, konum ve hareketleri bulunması amaçlanmıştır.

26 temaslı rotor, her birinin ters yerleştirilmesi 210  , kontrol ve şifreleme rotor konumları 5 harfli mesaj göstergesine bağlı olduğu için 265 , indeks rotorları 105 bize aşağıdaki sonucu verir. Bu da aşağıdaki değeri karşımıza çıkarır ve verimli bir yöntem değildir.

log2(10!  210   265   105) = 71.9

2. Süper pozisyon denemesi: Bu saldırıda aynı anahtarı kullanan 10-15 şifreli metin, ilgili düz metinler verilip şifreleme rotorların kabloları, konum ve hareketleri bulunması amaçlanmıştır. Bu ikinci saldırı, ardışık şifreleme alfabelerini yeniden oluşturmak için aynı anahtarlardan kaynaklanan farklı şifreli metinler kullanmakta olup 20 tane aynı anahtarla şifrelenmiş mesajı bulmak oldukça zordur.

Kwong saldırıyı iki aşamaya ayırıp öncelikle rastgele şifre ayarlarını ortadan kaldırarak anahtarı kurtarma işini azaltır. Yalnızca oluşturulmuş durumlar için tüm olası kontrol ve indeks rotor ayarlarını öğrenmeyi amaçlamıştır. Analizinde gerçek makinedeki indeks, kontrol ve şifreleme rotor sayılarını ele almıştır. Diğer çalışmaların aksine SIGABA’nın anahtar alanını çok net bir şekilde açıklanmış olup aşağıdaki gibidir:

10!  • 210 • 2610  • 105 = 2100.6

  • 10! Şifreleme ve kontrol rotorlarının seçiminden gelmektedir P(10,5) •5!• 5! = 10!
  • 210  Hem şifreleme hem de kontrol rotorlarının olası yönelim sayısı
  • 2610 Şifreleme ve kontrol rotorlarının başlangıç ayar sayısı
  • 105 İndeks rotorları için olası başlangıç ayar sayısı

Bu durum en geniş uzayımız olan indeks rotoru için tek bir yönde hareket ettiği uzayda geçerlidir. Lakin seçimlerinizin bize verdiği veya işlemine sokma imkanı bu uzayı bir miktar daraltır.

Chan ve Kwong çalışmalarında aynı set üzerinden örneklemek yapmış o örnekte harflerdeki değişimin belli aşamalarda tekrar ettiğini ve bu tekrarları aradan çıkartılarak anahtar alanının nasıl daraltılabileceğini örneklemişlerdir.

Şekil-3’de 1. aşama metin betiği AAAAA, 2. aşama metin betiği BBABA ve ABABA olarak örneklenmiştir. Şekil-3’de gösterildiği gibi 3. aşama betiğe 2. aşama farklı betik yollarından da ulaşılabilmektedir.

Birleştirilen adımlar sayesinde nedensel ve rassal durumların ortalama, maksimum ihtimaller tabloları oluşturulup bu tablo sonuçlarından rassal ayarların kaldırılmasına karar verilip diğer adıma geçilir.

İkinci adımda indeks giriş değerleri çiftleri ele alınıp adım sayılarından bir tablo oluşturulur. Bu tabloda çift başına olabilecek adım sayısı hesaplanır. Bu hesaplamalar anahtar uzayından düşürülerek Kwong tarafından programlanmıştır. Kwong bunu yaparken ikinci aşamada birinci aşamanın rotor ayarlarını ele almıştır.

Kwong’un çalışmaları Chan’ın çalışmalarından baz alınmış olup bankaları ayrı ayrı hedef alıp programlamasıyla farklılık göstermektedir. İncelenen bu yöntemlerden hiçbiri makineyi deşifre etmekte başarılı olmamıştır. Micheal Lee’nin rotor sayısını arttırarak ilerlemesi sonucu oluşan zaman, Chan ve Kwong’un çalışmalarındaki adım birleştirilerek ilerleme anahtar uzayını deşifre edilebilir ölçüde azaltmamıştır.

ALGORİTMA DEĞERLENDİRME

Kerckhoffs Prensibi, bir kriptografik sistemin gücünün, sistemin algoritmasını gizli tutmadan yalnızca anahtarı gizli tutmaya bağlı olması gerektiğini belirtir. Bu durum, bir saldırganın algoritmaların ve sistemin nasıl çalıştığına dair tam bilgiye sahip olduğunu varsayar. SIGABA bu prensip doğrultusunda geliştirilmiş bir makine olup bu tasarıma rağmen çok iyi korunmuş uzun vadeli kritik bilgi paylaşımı olduğu durumlarda önemli asker ve devlet adamlarının iletişiminde kullanılmıştır.50 yıl sonraki çalışmalarda bile rotor kablo tasarımına sahip olmanın yine de şifreyi kıramayacağını göstermektedir. Friedman’ın Rowlet’e de dediği gibi bu makine tarihin akışına yön vermiş deşifre edildiği bilgisi edinilmeyip ABD’ye stratejik bir avantaj sağlamıştır.

KAYNAKLAR

[1] https://www.nsa.gov/about/cryptologic-heritage/museum/tours/ Erişim Tarihi:10.12.2020

[2] MUCKLOW T. J, The SIGABA / ECM II Cipher Machine :“A Beautiful Idea”, National Security Agency Center for Cryptologic History,2015

[3] https://patents.google.com/patent/US6175625 Erişim Tarihi:09.12.2020

[4] Department of the Army. Crypto-Operating Instructions for ASAM 1/1, 1949. http://www.maritime.org/ecminst.htm. Erişim Tarihi:11.12.2020

[5] CHAN O. W., Cryptanalysis of the SIGABA, San Jose State University,  Mayıs 2007

[6] LEE M., Cryptanalysis of the SIGABA, University of California Santa Barbara, Temmuz 2003

[7] KWONG E.H. Cryptanalysis of the SIGABA cipher, San Jose State University,  Aralık 2008

Yorum bırakın