♪ (müzik) ♪
İnternet: Şifreleme ve Genel Anahtarlar
Merhaba, ismim Mia Gil-Epner. Kaliforniya Üniversitesi, Berkeley'de
Bilgisayar Bilimleri eğitimi alıyorum ve Savunma Bakanlığında
bilgiyi güvenli tutmaya çalışıyorum.
İnternet açık ve genel bir sistemdir.
Bilgiyi, paylaşımlı kablo ve bağlantılar üzerinden alır ve göndeririz.
Fakat açık bir sistem olmasına karşın pek çok özel veri alışverişi de yaparız.
Örneğin kredi kartı ve banka bilgileri, parolalar ve e-postalar.
Peki tüm bu özel bilgiler nasıl gizli tutuluyor?
Her türlü veri, asıl metni gizlemek için mesajı karıştıran veya değiştiren
"şifreleme" adlı bir işlemle gizli tutulur.
"Şifre çözme", mesajı okunabilir kılmak için çözme sürecidir.
Fikir basittir, insanlar bunu yüzyıllardır yapıyor.
En bilinen şifreleme yöntemlerinden biri "Sezar Şifrelemesi"dir.
Adını, Romalı general Julius Sezar'dan almıştır.
Askeri komutlarını, düşman yakalarsa okuyamasın diye şifrelemiştir.
Sezar Şifrelemesi bir "algoritma"dır.
Asıl mesajdaki her bir harf alfabedeki belli bir sayı sonrakinin yerini tutar.
Yalnızca gönderici ve alıcının bildiği bir sayıysa "anahtar" olur.
Okuyucunun gizli mesajı çözmesini sağlar.
Asıl mesajınız "HELLO (merhaba)" olsun. Sezar Şifreleme algoritmasını
5 anahtarıyla kullanırsanız şifreli mesajınız şöyle olacaktır:
Mesajı çözmek için alıcının işlemi geriye çevirmesi yeterlidir.
Fakat Sezar Şifrelemesinin önemli bir sorunu vardır. Herhangi biri,
olası tüm anahtarları deneyerek şifreli mesajı kolaylıkla çözebilir.
Ve İngilizce alfabede yalnızca 26 harf bulunur.
Yani bir mesajı çözmek için en fazla 26 kez denemeniz gerekir.
26 olası anahtarı denemek zor değildir, en çok bir iki saat alır.
O yüzden biraz zorlaştıralım. Her harfi aynı sayı kadar kaydırmak yerine
her bir harfi farklı bir sayı kadar kaydıralım.
Bu örnekte, 10 haneli bir anahtar daha uzun bir mesajı şifrelemek için
bir sonraki harfin ne kadar ilerletileceğini gösterir.
Sanırım bu anahtar işleri oldukça zorlaştıracak.
10 haneli şifreleme kullandığınızda 10 milyar olası anahtar çözümü olabilir.
Herhangi bir insanın bunu çözmesinin olanaksız olduğu açık. Yüzyıllar sürerdi.
Fakat günümüzde ortalama bir bilgisayarın 10 milyar olasılığı denemesi
sadece birkaç saniye sürer.
Yani modern dünyada kötü adamlar kalemle değil bilgisayarla silahlanırlarsa
mesajları kırılamayacak kadar zor biçimde ve güvenle nasıl şifreleyebilirsiniz?
Çok zor, makul bir sürede hesaplanamayacak kadar çok olasılık olması anlamına gelir.
Günümüzün güvenli iletişimleri 256 bit'lik anahtarlar ile şifrelenir.
Kötü adamın mesajınızı yakalayan bilgisayarının
bunca olasılığı denemesi gerekir.
Ta ki anahtarı bulup mesajı kırana kadar.
100000 süper bilgisayarınız olsa, her biri saniyede milyarlarca anahtar denese bile
256 bit'lik bir şifrelemeyle korunan tek bir mesajı çözmek için
her bir seçeneği denemeleri trilyonlarca yıl alırdı.
Elbette bilgisayar çipleri her yıl iki kat hızlanıyor ve boyutları yarıya iniyor.
Bu üstel gelişim hızı devam ederse günümüzün çözülmesi imkansız problemleri
önümüzdeki birkaç yüzyılda çözülebilir hale gelecek
ve 256 bit, güvenli olmaktan çok uzak olacak.
Aslında, mevcut durumda bile bilgisayarların hızına yetişmek için
standart anahtar uzunluğunu artırmak zorundayız.
İyi haber! Daha uzun bir anahtar kullanmak şifreli mesajları çözmeyi zorlaştırmıyor
fakat bir şifreyi çözmek için gereken tahmin sayısını üstel olarak artırıyor.
Göndericinin ve alıcının bir mesajı karıştırmak ve çözmek için
aynı anahtarı paylaşmasına "Simetrik Şifreleme" denir.
Simetrik Şifrelemeyle, Sezar Şifrelemesinde olduğu gibi
gizli anahtar iki kişi arasında özel olarak önceden kararlaştırılmalıdır.
İnsanlar için harika bir çözüm fakat intenet açık ve geneldir.
Yani iki bilgisayarın özel olarak buluşup genel bir anahtara karar vermesi imkansız.
Bilgisayarlar ise asimetrik anahtarlar kullanır.
"Asimetrik Şifreleme"
Herkesle paylaşılabilen bir genel anahtar ve paylaşılmayan özel bir anahtar.
"Genel Anahtar" veri şifrelemek için kullanılır
ve herkes tarafından gizli bir mesaj oluşturmak için faydalanılabilir.
Fakat bu gizli mesaj, sadece özel anahtara erişimi olan bir bilgisayarla çözülebilir.
Bunu biraz matematikle halleder. Ama o konuya hemen girmeyeceğiz.
Şöyle düşünün, diyelim ki herkesin posta bırakabileceği
kişisel bir posta kutunuz var
ama bunun için bir anahtara ihtiyaçları var.
Teslimat anahtarının kopyasını yaptırıp arkadaşınıza gönderebilirsiniz
veya herkese açık hale getirebilirsiniz.
Arkadaşınız veya başka biri teslimat alanına mesaj bırakmak için
genel anahtarı kullanabilir.
Fakat aldığınız gizli mesajlara erişmek için posta kutunuzu
özel anahtarınızla sadece siz açabilirsiniz.
Siz de arkadaşınızın posta kutusuna ait genel teslimat anahtarını kullanarak
ona güvenli bir mesaj gönderebilirsiniz.
Böylece insanlar özel bir anahtar kararlaştırmaya gerek duymadan
güvenli mesajlar alıp gönderebilir.
Genel Anahtar Şifrelemesi, açık internetteki
tüm güvenli mesajların temel taşıdır.
Web'de gezinirken bizi koruyan "Güvenlik Protokolleri SSL ve TLS" dahil.
Tarayıcınızın adres çubuğunda bu minik "kilidi" veya "https" harflerini
gördüğünüzde bilgisayarınız bunu kullanır.
Bilgisayarınız, girdiğiniz web sitesiyle güvenle veri alışverişi yapmak için
Genel Anahtar Şifrelemesi kullanıyor demektir.
İnternete ne kadar insan girerse o kadar özel veri aktarılır.
Veriyi güvenli kılma ihtiyacı daha da önemli hale gelir.
Bilgisayarlar hızlandıkça bilgisayarların kıramayacağı zorlukta
yeni şifreleme yolları bulmak zorunda kalacağız.
İşte bu benim işim ve her daim değişiyor.