Şifreleme/Kriptoloji

Şadi Evren Şeker’in “İnternet Nasıl Çalışır?” adlı video serisinden yola çıkarak, kendisi ile birlikte bir e-kitap yayınladıktan sonra, Kodlayarak Hayat üzerinde de herkesin videoların özetine ve kaynaklarına kolaylıkla ulaşabileceği bir eğitim serisi oluşturmak istedim. Serideki tüm yazıları bu kategori altından bulabileceğiniz gibi; her bölümde, bölümün konusuna ilişkin video’ya da erişmeniz mümkün.

Kriptoloji kelimesinin Türkçe karşılığı şifre bilimidir. Anlatılmak istenen ifadenin belirli bir sisteme göre şifrelenmesi, güvenli bir şekilde karşı tarafa iletilmesi ve karşı tarafın bu mesajı deşifre edebilmesi anlamını taşımaktadır.

Günümüzde teknolojinin hızla gelişmesi üzerine internet üzerinde oluşan güvenlik açıkları, kişisel hayatımızda olduğu kadar, özellikle devlet kurumlarında ciddi sorunlar teşkil etmektedir.

Geçmiş zamanlardan günümüze kadar geldiğimiz zaman, ilk olarak karşımıza Sezar şifrelemesi çıkmaktadır.

Sezar Şifrelemesi

Tarihin ilk şifrelemesi olarak da geçen Sezar şifrelemesi, kaydırmalı şifrelemenin (Shift Chiper) bir türüdür.

Basitçe açıklamak gerekirse, bu yöntemde şifreleme, anlatılacak olan ifadede yer alan karakterlerin, belirlenen anahtar kadar kaydırılması ile sağlanmaktadır. Deşifre edilirken de aynı şekilde, anahtar kadar karakterler geri sarılmaktadır.

Örneğin;

Gönderilecek Mesaj: Bilgisayar Kavramaları

Anahtar (Key): 2 (Her harf, iki sonraki harfe kaydırılması belirlenmiştir)

Şifreli mesaj: Dknhktcacş Mczşcocncşj

Genelde bu tip kaydırma şifrelemelerinin çözümlenmesi için, kelimeler arasındaki boşlukların veya kolay kelime boyutlarının anlaşılmasını sağlayan yöntemler geliştirilmiştir. Bu yöntemlerden en çok kullanılanı frekans saldırısıdır.

Bir dilde en fazla ve en az kullanılan harf sayısı bellidir. Bundan yola çıkarak frekans saldırısına göre, iki iletişim noktası arasında iletilen mesajlar toplandığı ve analiz edildiği zaman, mesajda en fazla kullanılan harf, yüksek ihtimalle o dilde en fazla kullanılan harfe karşılık gelmektedir.

Örneğin şifreli metinde ‘h’ harfi çok fazla kullanılıyorsa (Türkçede en çok kullanılan harfin e olduğunu varsayalım) e harfine karşılık geldiği düşünülmektedir. Yapılan çıkarımlar sonucunda anahtar bulunmakta ve şifrenin geri kalanı çözümlenmektedir.

One Time Pad (Vernam Şifrelemesi)

One Time Pad ya da Vernam şifrelemesi, iletilecek olan mesajın, şifrelenmiş bir diğer mesaj ile birleştirilmesi ile oluşturulan şifreleme yöntemidir.

Her harfin alfabede kaçıncı harfe karşılık geldiği bulunarak toplanır ve şifreli mesaj oluşturulur.

One Time Pad yönteminde, eğer mesaj bir kere gönderiliyor ise şifrenin çözümlenememesi sorunu ortaya çıkmaktadır. Şifrenin çözümlenebilmesi için karşılıklı geri dönütlerin birden fazla kez gerçekleşmesi gerekmektedir.

Bu yöntemin kullanılabilmesi için bir şifreye ihtiyaç duyulmaktadır ve şifreyi her iki tarafında bilmesi gerekmektedir. Ayrıca her yeni mesajda yeni bir şifre oluşturulması gerektiği için bu da bir sorun teşkil etmektedir.

Anahtarların Dağıtılması

İletişim kurmak için oluşturduğumuz mesajların, maillerin ya da web sitelerine bağlanmak için gerekli izinlerin, şifreleme ile bilgisayarlara ulaştırılabilmesi konusunda günümüzde yaygın olarak kullanılan iki yöntem bulunmaktadır.

İlk yöntem her iki tarafta da üreteç kullanılmasıdır. Üreteçler, şifreleme sistemleri üzerinde anahtarları üreten yapıların ismidir. Bir şifreleme sisteminde anahtarların tahmin edilebilme süresinin zorlaştırılması için, anahtarın rastgele (random) olarak üretilmesi gerekmektedir. Üreteç yöntemi bilinen iki anahtar oluşturulmasına dayanmaktadır.

Asimetrik Şifreleme İçin Kullanılan Anahtarlama

Asimetrik şifrelemede bir özel bir de yerel anahtar bulunmaktadır. Yerel anahtar, açık olarak dağıttığınız şifrelerdir. Özel anahtar ise sizin gizli tuttuğunuz şifrelerdir. İki anahtar arasında, kullanılan şifreleme algoritmasına göre bir bağlantı bulunmalıdır. Bu yüzden üreteçler, açık anahtar şifrelemede kullanıldıklarında, ürettikleri anahtar çiftlerinin, algoritmada ki beklentileri tatmin etmesi gerekir.

Sistemi daha iyi açıklayabilmek için yalnızca bir çift anahtarınızın olduğunu düşünün.

Anahtarlarınızdan birisi herkese açık bir anahtar ve diğeri ise sakladığınız bir anahtardır. Birisi size mesaj gönderdiği zaman herkese açık anahtarınızı kullanarak, kendi mesajını şifreleyebilir lakin bu mesajı ancak siz kendinizde bulunan gizli anahtarınız ile açabilirsiniz.

Siz birine mesaj gönderdiğinizde ise (mesajın sizden geldiğinin anlaşılması için) gizli anahtarınızı kullanarak mesajı şifreleyebilir ve herkese açık olan anahtar ile de gönderdiğiniz kişi mesajı açabilir.

İlk durum mesajın okunmamasını, ikincisi ise mesajın kimden geldiğinin doğrulanmasını sağlamaktadır.

Simetrik Şifrelemesi İçi Kullanılan Anahtarlama

Simetrik şifrelemede ise anahtar dağıtılmak zorundadır. Yani her iki tarafta anahtarı kullanmak zorundadır. Bu durumda anahtarın iki taraf arasına güvenli bir şekilde iletilmesi problemi ortaya çıkmaktadır. Problemin çözümü için geliştirilen algoritmalara anahtar dağıtma algoritmaları ismi verilir ve bu konudaki en basit algoritmalardan birisi Diffie-Hellman algoritmasıdır.

Diğer yöntem ise, bir sonraki şifreyi mesajın içerisine koyarak, mesajı iletmektir. Fakat her iki yönteminde kendi içerisinde belirli zafiyetleri bulunmaktadır.

Anahtarların Değişimi

İki kişi arasında anahtarlar değiştirilirken (anahtarlar birbirlerine gönderilirken), gönderilen kanal güvenli değil ise, iletişimi dinleyen 3. bir şahıs anahtarlara erişebilir. Dolayısıyla bu anahtarların tekrardan güncellenmesi gibi bir sorun ortaya çıkacaktır. Anahtarlara erişen saldırgan, kendi anahtarı ile değiştirmek gibi birçok istenmeyen duruma sebep olabilir.

Anahtarlara sahip kullanıcıların, anahtarların erişilemeyeceği şekilde güvenli ortamlarda tutması gerekmektedir. Bu gibi güvenlik açıklarının önüne geçilebilmesi için sertifika sistemleri devreye girmektedir.

Enigma Makinesi

Şifreli mesajlara karşı tehdit oluşturan saldırıların gerçekleşmesi ile birlikte Enigma makinesi, ilk olarak Birinci Dünya Savaşının sonlarında Alman Mühendis Arthur Scherbius tarafından keşfedilmiştir. Üretilen bu model ve varyasyonları 1920’lerin başlarında ticari amaçlı kullanılmış, ardından en dikkat çekeni İkinci Dünya Savaşı öncesinde ve süresince Nazi Almanyasında olmak üzere çeşitli ülkelerde askeri ve hükümete bağlı kuruluşlar tarafından benimsenmiştir.

Temelde şifrelenecek metin içerisindeki her karakterin Vigenere şifresinde olduğu gibi farklı bir yer değiştirme şifresi ile şifrelenmesi prensibinde çalışır. Her gün kendi One Time Pad’ini sıfırlamakta ve yeni bir tane üretmektedir.

Enigma makinesi geliştirilirken amaç, makinelerin üstünde bir sistem geliştirebilmek ve herhangi bir makinenin yerine geçmesini sağlamaktır.

Şifrelerin Kırılması

Şifre kırılması, en çok bilinen yöntemlerden biri olan Man in the middle (Ortadaki Adam) yönteminden bahsedilerek açıklanacaktır.

Örneğin, A ve B kişileri arasında yer alan iletişimi, başka bir üçüncü şahısın (C) dinlemesi veya mesajlara zarar vermesi, şifrenin kırıldığı anlamına gelmektedir. Burada gerçekleşen saldırılar pasif ve aktif olmak üzere ikiye ayrılmaktadırlar.

Aktif saldırılarda saldırganın olduğu anlaşılmaktadır. Saldırgan kendisini fark ettirmek ister, böylece amacı iletişime daha fazla zarar verebilmektir. Bu gibi saldırılara aslı olmayan yerlerden mesajın geldiğini göstermek, mesajı okunamaz hale getirmek ya da mesajın içeriğini değiştirmek gibi örnekler verilebilir.

Pasif saldırılarda ise bir saldırganın olup olmadığı anlaşılamamaktadır. Saldırgan mesajı A kişisinden alabilmektedir ve yine olduğu gibi aktarabilmektedir. Dolayısı ile kullanıcılar C saldırganından haberi olmamaktadır. Ancak burada yer alan problem, saldırganın aldığı mesajın anahtarına (şifresine) da ulaşabilip, ulaşamayacağıdır.

Kişisel Şifreleme (PGP)

PGP, Phil Zimmermann tarafından geliştirilmiş bir e-mail ve dosya şifreleme protokolüdür. IDEA, RSA, DSA, MD5, SHA-1 gibi şifreleme algoritmalarını bünyesinde barındırmaktadır.

PGP’nin Dünya üzerinde en yaygın kullanılan e-mail şifreleme protokolü olduğu söylenebilir. Bunun sebebi verilerin karşılıklı kontrollerden geçtikten sonra erişilebilir duruma gelmesidir. Ayrıca açık kaynak kodlu olduğu için her zaman geliştirilebilir durumdadır.

PGP'nin Çalışma Prensibi

Bu protokole göre farklı/şüpheli kullanıcı bize şifreli bir mail göndermek istiyorsa eğer, bizim yerel anahtarımıza sahip olmalıdır. Yerel anahtarımıza sahip olmayan kullanıcılar, bize şifreli mesaj yollayamamaktadır. Diğer bir özelliği ise göndericinin bizim yerel anahtarımıza sahip olsa bile, bize gönderilen mesajları okuyamamasıdır (buna kendi gönderdiği mesajlar da dahildir).

Bizim yerel anahtarımız ile şifrelenmiş bir postamızı açmanın tek yolu ise özel anahtarımızı bilmesidir.

PGP ile şifreli mail gönderme işlemi şöyle gerçekleşir:

  • Mail gönderecek olan kullanıcı, alıcı tarafından yerel anahtarını talep eder.
  • Talep üzerine alıcı yerel anahtarını, gönderici tarafa yollar.
  • Yerel anahtara sahip olan gönderici, mailini gönderilen yerel anahtarlar ile şifreler ve alıcıya gönderir.
  • Şifrelenmiş mesaj alan alıcı, kendisinin özel anahtarı ile şifrelenmiş maili deşifre eder.
  • Anlaşıldığı üzere korsanlar gönderilen şifreli maili ele geçirirse bile mail sadece alıcıda bulunan özel anahtar ile açılabileceği için bir faydası olmaz.

Daha önceki kısımlarda da bahsedildiği üzere yerel ve özel anahtarların, her birinin sadece tek bir görevi bulunmaktadır. Yerel anahtar sadece maili şifrelemeye yaramaktadır fakat şifreyi açamamaktadır. Bu nedenle yerel anahtara ulaşılsa bile deşifreleme işlemi gerçekleşmemektedir (PGP’de yer alan asimetrik özelliği bu durum sebebi ile vardır).

PGP’de şifreleme üç adımda gerçekleşmektedir. Birinci adımda gönderen, mesajın özünü oluşturmaktadır. İkinci adımda mesaj sıkıştırılmaktadır. Üçüncü ve son adımda ise mesaj şifrelenmektedir. Alıcı taraf mesajı açmak istediğinde ise bu adımları tersten uygulamalıdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.