Siber Güvenlik

Şifreleme Nedir? Simetrik, Asimetrik ve Özet Farkı

Şifreleme nedir, kaç türü vardır? Gizlilik, bütünlük ve kimlik üç ayrı iştir. Simetrik, asimetrik ve özet fonksiyonlarının farkı ve kurumsal karşılığı.

İlker Pehlivan

Şifreleme, bir veriyi yalnız anahtarı olanın okuyabileceği bir biçime çevirmektir. Bu tanım doğru ama tek başına yanıltıcı: sahada şifreleme diye anılan işlerin altında üç ayrı problem vardır ve üçü birbirinin yerine geçmez. Gizlilik kimsenin okuyamamasıdır. Bütünlük kimsenin fark ettirmeden değiştirememesidir. Kimlik ise karşı tarafın gerçekten iddia ettiği taraf olmasıdır.

Bu ayrımı atlamak, sahada en pahalı yanlış anlamaları üretir. MD5 bir şifreleme yöntemi değildir. Bağlantınızın şifreli olması, karşı tarafın doğrulandığı anlamına gelmez. Bu makale siber güvenlik hizmetimizin temel katmanını, yani bütün diğer güvenlik önlemlerinin üzerine kurulduğu şifreleme katmanını ele alıyor.

Ayrımın neden var olduğunu görmek için iki bin yıl geriye gitmek gerekiyor. Julius Caesar da yazışmalarını şifreliyordu ve yöntemi bugünkü ölçülerle çocuk oyuncağıydı: her harfi alfabede sabit bir sayı kadar kaydırmak. Ama Caesar’ın hiç uğraşmadığı bir problem vardı ki bugün bizim en büyük problemimiz o. Kaydırma sayısını komutanlarıyla önceden paylaşmıştı. Karşı tarafı tanıyordu.

Modern şifrelemenin bu kadar uzun bir pazarlık yapmasının sebebi tam olarak bu tanışıklığın yokluğudur. Tarayıcınız bir sunucuya ilk kez bağlandığında ortada paylaşılmış hiçbir sır yoktur, üstelik aradaki hattı dinleyen biri olabilir. Aşağıdaki bölümler önce bu problemin nasıl doğduğunu, sonra üç işin her birini hangi aracın yaptığını, en sonunda da bugün güvenli sayılan bir yöntemin neden birkaç yıl sonra güvensiz ilan edildiğini ele alıyor. Aradığınız yalnız üç işin ayrımıysa doğrudan o bölüme geçebilirsiniz.

Şifre kırma salonunda bir mesajın üç aşaması: yazılan sayfa, rotorlu şifre makinesi ve delikli şerit üreten valfli makine
Bilgisayar bir hesap aleti olarak değil, bir şifreyi kırmak için doğdu. Soldaki sayfa ortadaki rotorlardan geçiyor, sağdaki valfli makineden delikli şerit olarak çıkıyor.

Şifreleme Nedir ve Hangi Sorunu Çözer?

Şifreleme, veriyi bir anahtar yardımıyla okunamaz hale getiren ve yalnız doğru anahtarla geri çevrilebilen bir dönüşümdür. Buradaki kritik kelime geri çevrilebilir olmasıdır: şifrelemenin amacı veriyi yok etmek değil, belirli bir kişi dışında herkes için anlamsız kılmaktır.

Şifrelemenin Çözdüğü Asıl Problem: Tanımadığınız Biriyle Konuşmak

Şifrelemenin çözdüğü problem “veriyi gizlemek” değil, güvenilmeyen bir kanal üzerinden güvenli konuşmak. Aradaki fark önemli, çünkü ilkini bir kasa da yapar.

Bir ağ kablosu ya da kablosuz bağlantı, tanım gereği paylaşılan bir ortamdır. Verinizi gönderdiğiniz an, o veri sizin denetiminizde olmayan anahtarlardan, yönlendiricilerden ve servis sağlayıcılardan geçer. Bu cihazların hepsinin dürüst olduğunu varsayamazsınız. Varsaysanız bile bir tanesinin ele geçirilmediğini garanti edemezsiniz.

Bu yüzden modern güvenlik, ağa güvenmemek üzerine kurulur. Kanalın kendisini güvenli hale getirmeye çalışmak yerine, kanaldan geçen veriyi kanaldan bağımsız olarak korursunuz. Ağ protokollerinin neredeyse tamamının bugün şifreli bir ikizi olmasının sebebi bu.

Anahtar, Algoritma ve Şifreli Metin: Üç Temel Kavram

Her şifreleme işlemi üç parçadan oluşur ve bu üçünün rolü karıştırıldığında sonraki her konu bulanıklaşır:

  • Algoritma, dönüşümün nasıl yapılacağını tanımlayan matematiksel yöntemdir. AES ve RSA birer algoritmadır. Algoritmalar gizli değildir, herkese açık olarak yayımlanır ve yıllarca kamuya açık biçimde saldırıya uğrar.
  • Anahtar, o algoritmanın o seferki davranışını belirleyen gizli değerdir. Gizli olan tek şey budur.
  • Şifreli metin, algoritmanın anahtarla ürettiği çıktıdır.

Algoritmanın açık, anahtarın gizli olması tuhaf gelebilir. Oysa güvenliğin tam olarak burada durması gerekir. Yöntemin gizliliğine dayanan bir sistem, yöntem bir kez sızdığında topyekûn çöker ve yöntemler her zaman sızar. Anahtara dayanan bir sistemde ise sızan anahtar değiştirilir, sistem ayakta kalır.

Caesar’ın şifresi bu ölçüte göre zayıftı, çünkü anahtarı çok küçüktü. Oradaki anahtar tek bir sayıdan ibarettir: harflerin kaç basamak kaydırılacağı. Latin alfabesi yirmi altı harflidir ve sıfır kaydırma metni olduğu gibi bıraktığına göre, geriye denenecek yirmi beş anlamlı seçenek kalır. Yöntemi bilen biri yirmi beşini de sırayla dener, hangisinin anlamlı bir metin verdiğini gözüyle seçer. Bilgisayara gerek yok. Kâğıt yetiyor.

Modern bir anahtarda seçenek sayısı 78 basamaklı bir sayıya çıkar; 256 bitlik bir anahtarın alabileceği değer sayısı budur. Bunu kavramak için bir kıyas: gözlemlenebilir evrendeki atom sayısı 81 basamaklı bir sayı olarak tahmin ediliyor.

Bu kıyas sık yanlış aktarılır, düzeltelim: anahtar seçeneklerinin sayısı evrendeki atom sayısından fazla değildir, aksine yaklaşık bin kat azdır. Pratikte bir şey değişmiyor, çünkü kaba kuvvet saldırısının sınırı sayının kendisi değil o sayıyı deneyecek zamandır.

İki ucun farkını da en iyi zaman gösteriyor. Caesar’ın yirmi beş seçeneği elle, birkaç dakikada denenir. 256 bitlik bir anahtar için ise saniyede bir milyar kere bir milyar deneme yapan hayali bir makine kursanız, o makine işini evrenin bugünkü yaşıyla kıyaslanamayacak kadar uzun bir sürede bitirir.

Asıl ders bu sürenin uzunluğunda değil, nasıl değiştiğinde. Makineyi bin kat hızlandırmak sonucu kayda değer biçimde değiştirmez; buna karşılık anahtara tek bir bit eklemek gereken süreyi ikiye katlar. Saldırgan tarafı çarparak ilerler, savunma tarafı katlayarak. Bu dengenin her yerde savunmanın lehine kalmadığını makalenin son bölümünde göreceksiniz.

Şifreleme Ne Zaman Gereksizdir?

Şifreleme bedava değildir ve her yere uygulanması gereken bir şey de değil. Gereksiz olduğu üç tipik durum vardır:

  1. Veri zaten kamuya açıksa. Herkesin okumasını istediğiniz bir web sayfasının içeriğini gizlemenin anlamı yok. Ama o sayfanın değiştirilmediğini kanıtlamak hâlâ önemlidir, ki bu gizlilik değil bütünlük işidir.
  2. Koruma başka bir katmanda sağlanıyorsa. Fiziksel olarak izole, tek bir kabinet içindeki iki cihaz arasındaki bağlantıyı şifrelemek çoğu zaman maliyeti karşılamaz.
  3. Anahtar yönetimi verinin kendisinden değerliyse. Şifrelenmiş ama anahtarı kaybolmuş bir yedek, silinmiş yedekle aynı şeydir.

Üçüncüsü sahada en sık görülen hatadır ve veri yedekleme tarafında ciddi kayıplara yol açar. Şifreleme kararı, her zaman anahtarın nerede duracağı kararıyla birlikte verilir.

Sezar’dan Bletchley Park’a: Şifrelemenin Kırılma Tarihi

Şifrelemenin tarihi, aslında şifrelemenin kırılma tarihidir. Her yöntem bir süre dayanmış, sonra kırılmış ve yerini bir sonrakine bırakmıştır. Bu döngüyü görmek, bugünkü algoritmalara nasıl bakmanız gerektiğini de öğretir.

Sezar Şifresi: Neden Pazarlık Gerekmiyordu?

Sezar şifresi, alfabedeki her harfi sabit bir sayı kadar kaydırır. Kaydırma üç ise A harfi D olur. Çözmek için aynı sayı kadar geri kaydırmak yeterlidir.

Bu yöntemin bugünkü konumuz açısından önemli olan yanı zayıflığı değil, anahtarın nasıl paylaşıldığı. Caesar kaydırma sayısını komutanlarına önceden, yüz yüze, güvendiği bir kanaldan iletmişti. Yani sistemin en zor problemi olan anahtar paylaşımı, şifreleme başlamadan önce ordunun kendi iç güveniyle çözülmüştü.

Bu, iki bin yıl boyunca değişmeyen bir kabuldü. Şifreleşen taraflar birbirini tanıyordu.

Frekans Analizi: İlk Sistematik Kırılma

Kaydırmalı şifreler, harflerin dildeki kullanım sıklığının değişmemesi yüzünden kırılır. Türkçede en sık kullanılan harf a ise, şifreli metinde en sık görünen harf büyük olasılıkla anın karşılığıdır.

Bu yöntemin adı frekans analizidir ve bilinen en eski tarifi, Arap filozof ve matematikçi El-Kindi’nin yaklaşık 850 yılında Bağdat’ta yazdığı Risāla fī Istikhrāj al-Kutub al-Muʿammāh adlı risalesinde yer alır. Sonuç şuydu: şifreli metnin kendisi, yeterince uzunsa, anahtarı ele veriyordu.

Buradaki ders bugün de geçerli. Bir şifreleme, çıktısında desen bıraktığı sürece kırılabilir. Modern algoritmaların hedefi, çıktının rastgele bir bayt dizisinden ayırt edilememesidir.

Enigma, Bombe ve Colossus: Bilgisayar Şifre Kırmak İçin Doğdu

İkinci Dünya Savaşı, şifreleme ile şifre kırma arasındaki yarışı endüstriyel ölçeğe taşıdı. Almanya’nın Enigma makinesi her tuş vuruşunda alfabeyi yeniden karıştırıyordu, yani bir önceki başlıkta anlatılan frekans analizi artık hiçbir işe yaramıyordu.

Bu makineyi ilk kıran İngiltere değildi.

Kıran kişi Marian Rejewski’ydi: Poznań Üniversitesi’nde matematik okumuş Polonyalı bir matematikçi ve kriptolog. 1932’de Polonya Genelkurmayı’nın Şifre Bürosu’na katıldı ve birkaç hafta içinde makinenin iç kablolamasını çözdü. Aynı yılın aralık ayında ilk Alman mesajı okundu.

Sonrası yedi yıllık sessiz bir emek. Rejewski, meslektaşları Jerzy Różycki ve Henryk Zygalski ile birlikte yöntemi geliştirmeye devam etti ve 1938’de olası Enigma ayarlarını eleyen elektrikli bir makine tasarladı. Adı bomba kryptologiczna.

Sonra savaş yaklaştı. 25 Temmuz 1939’da Polonyalılar, Varşova yakınlarındaki Pyry’de İngiliz ve Fransız istihbaratıyla buluştu ve ellerinde ne varsa devretti:

  • Enigma’yı kırmakta kullandıkları yöntemler
  • Makinenin rotor kablolaması
  • Her iki heyete birer Enigma kopyası

Otuz sekiz gün sonra Almanya Polonya’yı işgal etti. O devir olmasaydı, Bletchley Park’ın Enigma’yı okumaya başlaması muhtemelen yıllar alacaktı.

Bletchley Park’ın kurduğu iki makine işte bu mirasın üzerine geldi. İkisini karıştırmamak gerekir:

  • Bombe elektromekanikti ve Enigma ayarlarını eliyordu. Tasarımı Alan Turing’e, 1940’taki kritik iyileştirmesi Gordon Welchman’a aittir. Adını da ilhamının bir kısmını da Polonya’nın makinesinden alır.
  • Colossus elektronikti, vakum tüpleriyle çalışıyordu ve Almanya’nın üst düzey yazışmalarında kullandığı Lorenz şifresine karşı geliştirildi. Tasarımcısı, Posta İdaresi’nin Dollis Hill’deki araştırma istasyonunda çalışan mühendis Tommy Flowers’tı; bu makine bütünüyle İngiliz işidir.

Colossus’un ilki 1944 başında Bletchley Park’ta çalışır hale geldi ve programlanabilir ilk elektronik sayısal bilgisayar olarak kabul edilir. Buradaki niteleme önemli: anahtar ve fişlerle programlanıyordu, bugünkü anlamda saklanan programla değil.

Ama o cümle bir benzetme değil.

Bugün önünüzde duran makinenin atası, bir şifreyi kırmak için inşa edildi. Şifreleme ile bilgisayarın tarihi ayrı iki hikâye değildir, aynı hikâyenin iki yüzüdür.

Ve savaştan çıkan asıl miras şuydu: hesaplama gücü ucuzladıkça, dün güvenli olan yöntem bugün kırılabilir hale geliyordu. Bu, makalenin son bölümünün konusu.

Şifreleme Tek Bir İş Değil: Gizlilik, Bütünlük ve Kimlik

Buraya kadar tek bir işten söz ettik: veriyi okunamaz kılmak. Ama modern bir bağlantıda çözülen problem üç tanedir ve her birinin aracı farklıdır. Bu ayrım, bu makalenin en çok işinize yarayacak kısmı.

Üç İşin Ayrım Tablosu

Soruİşin adıKullanılan araçAnahtar var mı?
Kimse okuyabilir mi?GizlilikŞifreleme (AES, RSA)Var
Kimse fark ettirmeden değiştirebilir mi?BütünlükÖzet fonksiyonu (SHA-2)Yok
Karşı taraf gerçekten o mu?KimlikDijital imza, sertifikaVar

Tablodaki en dikkat çekici sütun sonuncusu. Özet fonksiyonlarının anahtarı yoktur, çünkü bir şeyi gizlemeye çalışmazlar; yalnız verinin parmak izini üretirler.

Bir Bağlantıda Üçü Aynı Anda Nasıl Çalışır?

Bir web sitesine bağlandığınızda bu üç iş sırayla ve birbirine bağlı olarak yapılır:

  1. Sunucu kimliğini bir sertifikayla iddia eder, tarayıcı bu iddiayı imza üzerinden doğrular. Bu kimlik işidir.
  2. İki taraf ortak bir gizli anahtar üretir. Bu anahtar üretimi asimetrik yöntemlerle yapılır ve bu gizlilik işinin hazırlığıdır.
  3. Asıl veri, üretilen bu ortak anahtarla ve simetrik bir algoritmayla şifrelenir. Bu gizlilik işidir.
  4. Gönderilen her parçanın yanına bir doğrulama değeri eklenir, böylece yolda değiştirilirse anlaşılır. Bu bütünlük işidir.

Bu akışın protokol tarafındaki ayrıntısı, yani hangi mesajın hangi sırayla gittiği, HTTP ve HTTPS makalemizde ele alınıyor. Burada önemli olan şu: dördü de yapılmazsa bağlantı eksiktir, ama üçü yapılmadan da bağlantı kurulabilir. Bir sonraki başlık tam olarak bunun ölçümü.

Sık Yapılan Karıştırma: Şifreli Olmak ile Doğrulanmış Olmak

Sahada en sık verilen cevap şudur: “Bağlantı şifreliyse güvenlidir.” Bu cevap ölçülebilir ve ölçüldüğünde tutmuyor.

Ölçüm için bilerek domain üyesi olmayan bir Linux makinesi seçildi, ve bu seçim deneyin kendisidir.

Bir Active Directory ortamında iç sertifika otoritesi kurulduğunda, kök sertifika dizine yazılır ve domaine katılmış her bilgisayar onu kendi güven deposuna otomatik olarak alır. Kimse tek tek makinelere gidip bir şey kurmaz. Bu dağıtımın nasıl işlediği ve domain dışı cihazlar için hangi yolların kaldığı sertifika otoritesi rehberimizde duruyor.

Sonucu şu: domaindeki bir makinede o sertifika sorunsuz görünür, domain dışındaki bir makinede aynı sertifika doğrulanamaz. Sertifika ikisinde de aynı, sunucu ikisinde de aynı. Farklı olan tek şey, makinenin kime güvenmeyi öğrenmiş olduğu.

Sahada en pahalı yanılgılardan biri buradan doğuyor. Yönetici kendi bilgisayarından test eder, uyarı görmez, “çalışıyor” der. Ama müşterinin telefonu, taşeronun dizüstü bilgisayarı, domaine katılmamış bir Linux sunucusu ya da misafir ağındaki bir cihaz aynı adrese bağlandığında uyarı alır. Ve o uyarı, gerçek bir ortadaki adam saldırısında çıkacak uyarıdan ayırt edilemez.

Aşağıdaki dört ölçüm işte bu makineden, bir Domain Controller’ın 636 portuna yapıldı. Dördünde de bağlantı kuruldu ve dördü de aynı algoritmayla, AES-256 ile şifrelendi. Değişen tek şey istemcinin doğrulama kararıydı.

İlk denemede makine, sertifikayı imzalayan iç kök otoriteyi tanımıyor. Komut üç parçadan oluşuyor:

  • openssl s_client bir TLS istemcisidir. Tarayıcıdan farkı, pazarlığı arka planda halledip gizlemek yerine olan biteni ekrana dökmesidir.
  • -connect 192.168.1.10:636 hedefi söyler: Domain Controller’ın adresi ve LDAPS portu.
  • -tls1_2 sürümü sabitler. Böylece dört ölçüm arasında sonuç değişirse, sebebinin sürüm farkı olmadığını baştan biliriz. Sürümün tek başına neyi değiştirdiğini ise ayrı bir yazıda ölçtük.
Bash
openssl s_client -connect 192.168.1.10:636 -tls1_2
Çıktı
depth=0 CN = dc01.ad.sercebilisim.com
verify error:num=20:unable to get local issuer certificate
verify error:num=21:unable to verify the first certificate
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
    Verify return code: 21 (unable to verify the first certificate)
DONE

Çıktıyı iki parça halinde okuyun. Üstteki üç satır doğrulamanın nasıl çöktüğünü anlatıyor:

  1. depth=0, güven zincirinin kaçıncı halkasında olunduğunu gösterir. Sıfır, sunucunun kendi sertifikası demektir. Başka bir depth satırı yok, yani yukarı doğru hiç çıkılamamış.
  2. num=20, imzalayan otoritenin bulunamadığını söyler. Makine sertifikayı kimin imzaladığını okuyabiliyor, ama o kurumu tanımıyor.
  3. num=21, bunun doğrudan sonucudur: imzalayan bilinmediği için sertifika doğrulanamıyor.

Alttaki üç satır ise asıl öğretici olan kısım:

  1. New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384: oturum kuruldu. Sürüm pazarlandı, AES-256 seçildi, anahtar üretildi.
  2. Verify return code: 21 bu satırın hemen altında duruyor. Yani kanal, kimliği doğrulanamamış bir sunucuyla kurulmuş durumda.
  3. DONE, bağlantının normal biçimde tamamlanıp kapandığını söyler. Hata verip düşmedi.

Şimdi aynı bağlantı, tek bir fark ile tekrarlanıyor. -CAfile kok-ca.cer parametresi, makineye iç kök otoritenin sertifikasını elle gösteriyor; yani “bu kuruma güven” demiş oluyoruz.

Bash
openssl s_client -connect 192.168.1.10:636 -tls1_2 -CAfile kok-ca.cer
Çıktı
depth=1 DC = com, DC = sercebilisim, DC = ad, CN = SerceBilisim-Lab-Root-CA
depth=0 CN = dc01.ad.sercebilisim.com
    Verify return code: 0 (ok)

Değişen tek şey bir satırın belirmesi: artık bir depth=1 var. Zincir bir üst halkaya çıkabildi, kök otorite tanındı, ve hüküm 0 (ok) oldu. Sunucu tarafında hiçbir şey değişmedi; sertifika da, algoritma da, anahtar uzunluğu da aynı.

Üçüncü ölçüm, sunucu adının da denetlenmesini istiyor ve yine 0 (ok) dönüyor. Dördüncüsünde bilerek yanlış bir ad veriliyor:

Çıktı
verify error:num=62:hostname mismatch
    Verify return code: 62 (hostname mismatch)

Dört ölçümün ispatladığı şey “bayrağı değiştirdim, sonuç değişti” değil. İspat, ilk çıktının kendi içinde duruyor: doğrulama çöktüğü halde şifreli oturum kuruldu. AES-256 pazarlandı, kanal açıldı, veri akabilirdi, bağlantı normal şekilde kapandı.

Yani bu iki denetim birbirine bağlı değil. Şifreleme, kimlik doğrulaması başarısız olduğunda durmuyor; çünkü onu durdurup durdurmamak protokolün değil istemcinin kararı. Bir tarayıcı bu noktada araya girip uyarı gösterir. Bir komut satırı aracı, bir betik ya da kendi yazdığınız bir entegrasyon ise, siz açıkça söylemediğiniz sürece hiçbir şey demeden devam eder.

Sonuç sizin ortamınızda şuna dönüşür: sunucu tarafında hiçbir şey bozuk değildir. Sertifika geçerlidir, algoritma günceldir, anahtar uzunluğu yeterlidir. Yine de o bağlantı, kiminle konuştuğunu bilmeden kurulmuştur.

Bu, “sertifika hatası” uyarısını tıklayıp geçme alışkanlığının neden tehlikeli olduğunu da açıklıyor. O uyarı bağlantının şifresiz olduğunu söylemez, karşı tarafın kim olduğunun kanıtlanamadığını söyler. Ve bir ortadaki adam saldırısında karşınıza çıkacak uyarı da tam olarak aynı uyarıdır: saldırgan da şifreler, saldırgan da AES-256 kullanır, saldırganın sunduğu sertifika da doğrulanamaz.

Gizlilik: Simetrik ve Asimetrik Şifreleme

Üç işten ilkine, yani gizliliğe geçiyoruz. Gizlilik iki farklı aile tarafından sağlanır ve ikisi birbirinin alternatifi değil, birbirinin tamamlayıcısıdır.

Simetrik Şifreleme ve AES

Simetrik şifrelemede şifreleyen ve çözen taraf aynı anahtarı kullanır. Caesar şifresi de simetriktir; kaydırma sayısı iki taraf için de aynıdır.

Bugünün standardı AES (Advanced Encryption Standard) ve o da simetriktir, yani Caesar ile aynı ailedendir. İki taraf tek bir anahtarı paylaşır, aynı anahtarla şifreler, aynı anahtarla çözer. Aradan geçen iki bin yıl bu ailenin asıl problemini, yani anahtarın karşı tarafa nasıl ulaştırılacağını çözmedi. Değiştirdiği şey anahtarın büyüklüğü ve dönüşümün kalitesi oldu.

Farkın nerede olduğunu görmek için frekans analizine dönmek gerekiyor. Caesar her harfi aynı sabit kuralla kaydırır, dolayısıyla metnin deseni olduğu gibi hayatta kalır: en sık harfin karşılığı yine en sık harftir. AES ise metni 128 bitlik bloklar halinde alır ve her bloğu birden çok tur boyunca yer değiştirme ve karıştırma işlemlerinden geçirir. Hedef, çıktının rastgele bir bayt dizisinden ayırt edilememesidir. Desen kalmayınca sayılacak bir şey de kalmaz.

Anahtar uzunluğuna göre AES-128, AES-192 ve AES-256 olarak anılır. Simetrik yöntemlerin iki belirgin özelliği vardır:

  • Hızlıdırlar. Modern işlemciler AES işlemlerini donanımda yapar. Bu maliyet ölçülemeyecek kadar küçük değil, ölçüldü ve küçük çıktı: Google kendi sunucularında şifreli bağlantının işlemci yükünün yüzde birinden azını tükettiğini yayımladı, ve Gmail’i tamamen şifreli hale getirirken ek makine ya da özel donanım kullanmadı.
  • Anahtar paylaşımı problemleri vardır. İki taraf aynı anahtarı bilmek zorundadır ve o anahtarı birbirine nasıl ulaştıracakları ayrı bir sorudur.

Bu yüzden gerçek sistemlerde asıl veri neredeyse her zaman simetrik olarak şifrelenir. Disk şifrelemesi, yedek şifrelemesi ve bir bağlantıdaki asıl trafik simetriktir.

Asimetrik Şifreleme ve Anahtar Çifti

Asimetrik şifrelemede birbiriyle matematiksel olarak ilişkili iki ayrı anahtar vardır: açık anahtar ve özel anahtar. Biriyle şifrelenen yalnız diğeriyle çözülür.

Açık anahtar herkese dağıtılabilir, hatta dağıtılması beklenir. Özel anahtar ise sahibinin dışına hiç çıkmaz. Bu asimetri iki farklı işi mümkün kılar: birine şifreli veri göndermek, ve birinin kimliğini kanıtlamak.

Asimetrik yöntemler simetriklere göre çok daha yavaştır ve aradaki fark küçük değildir. Sebebi yaptıkları işte: asimetrik şifreleme yüzlerce basamaklı sayılarla aritmetik yapar, simetrik şifreleme ise tablo bakışı ve bit işlemleriyle çalışır. Bir gigabaytlık yedeği asimetrik yöntemle şifrelemek pratikte imkânsızdır; buna karşılık 32 baytlık bir anahtarı şifrelemek göz açıp kapayana kadar biter.

Çözüm de tam buradan çıkıyor: yavaş yöntemi bir kez ve çok küçük bir şeyin üzerinde kullan, sonra hızlı yönteme geç. Asimetrik kısım yalnız ortak simetrik anahtarı kurmaya yarar. O anahtar kurulduktan sonra asıl veri AES ile, yani simetrik olarak şifrelenir.

Bir şifreli bağlantının ömrü boyunca iki şifreleme ailesinin payı. Bağlantının başında asimetrik şifreleme çalışır ve yalnız ortak simetrik anahtarı kurar; yavaştır ama bir kez ve çok küçük bir verinin üstünde çalışır, iki anahtar kullanır, açık ve özel. Geri kalan bütün trafiği simetrik şifreleme taşır; hızlıdır, tek bir ortak anahtar kullanır ve asıl verinin tamamı bu kısımdadır. Bir şifreli bağlantının ömrü bir kez bağlantı boyunca asimetrik simetrik Asimetrik Simetrik · AES iki anahtar: açık + özel yavaş, ama yalnız anahtarı kurar tek ortak anahtar hızlı, bütün trafiği taşır Yavaş yöntem bir kez ve çok küçük bir şeyin üstünde çalışır; gerisini hızlı yöntem taşır. Bir şifreli bağlantının ömrü boyunca iki şifreleme ailesinin payı. Bağlantının başında asimetrik şifreleme çalışır ve yalnız ortak simetrik anahtarı kurar; yavaştır ama bir kez ve çok küçük bir verinin üstünde çalışır, iki anahtar kullanır, açık ve özel. Geri kalan bütün trafiği simetrik şifreleme taşır; hızlıdır, tek bir ortak anahtar kullanır ve asıl verinin tamamı bu kısımdadır. Bir şifreli bağlantının ömrü bir kez bağlantı boyunca simetrik Asimetrik iki anahtar: açık + özel yavaş, ama yalnız anahtarı kurar Simetrik · AES tek ortak anahtar hızlı, bütün trafiği taşır Yavaş yöntem bir kez, minik bir şeyin üstünde.
Turuncu şerit bütün bağlantının yalnız başlangıcı: asimetrik kısım orada çalışır ve tek işi ortak anahtarı kurmaktır. Verinin tamamını gri kısım, yani AES taşır.

Bu, Caesar’ın probleminin çözümüdür. Caesar kaydırma sayısını komutanlarıyla önceden ve yüz yüze paylaşmıştı. Asimetrik şifreleme, o buluşmayı herkesin dinlediği bir hattın üzerinde, bağlantı kurulurken yapmanın yoludur.

Ve bunu her gün görüyorsunuz. Tarayıcınızda bir https:// adresi açtığınızda olan şey budur. Kanıtı da bu makalede zaten var: bir önceki bölümdeki lab ölçümünde sunucunun seçtiği şifre takımı şuydu.

Çıktı
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384

O ad rastgele bir dize değil, hangi işin hangi araçla yapıldığını söyleyen bir liste:

  • ECDHE: ortak anahtarın kurulduğu anahtar değişimi. Asimetrik.
  • RSA: sunucunun kimliğini kanıtladığı imza. Asimetrik.
  • AES256: asıl verinin şifrelendiği yöntem. Simetrik.
  • GCM ve SHA384: verinin yolda değiştirilmediğini denetleyen bütünlük katmanı.

Yani tek bir bağlantıda üç iş birden yapılıyor ve hangisinin hangi araçla yapıldığı, bağlantının adının içinde yazıyor. Bu mesajların ağda hangi sırayla gidip geldiğini görmek isterseniz, adım adım akış HTTPS el sıkışmasını anlattığımız makalede duruyor.

Anahtar çiftinin kimlik tarafındaki matematiği, yani imzanın neden taklit edilemediği, sertifika otoritesi makalemizde ayrıntısıyla ele alınıyor.

Anahtar Değişimi Problemi: Sırrı Nasıl Paylaşırsınız?

Buraya kadar anlatılan her şey tek bir soruda düğümlenir: iki taraf, aralarındaki hattı dinleyen biri varken, ortak bir gizli anahtar üzerinde nasıl anlaşır?

Bu, Caesar’ın hiç karşılaşmadığı problemdir ve modern şifrelemenin varlık sebebidir. Sorunun çözümü sezgiye aykırıdır: iki taraf, açıkça konuşarak, dinleyen kişinin hesaplayamayacağı ortak bir değere ulaşabilir. Bu yönteme anahtar değişimi denir ve Diffie-Hellman adıyla anılan yaklaşım bunun ilk kamuya açık örneğidir.

Mekanizması şuna dayanır: bazı matematiksel işlemler tek yönde kolay, ters yönde pratik olarak imkânsızdır. Her iki taraf kendi gizli değerini üretir, bunlardan türettiği açık değeri karşıya gönderir, ve gelen açık değerle kendi gizli değerini birleştirerek aynı sonuca ulaşır. Dinleyen kişi iki açık değeri de görür ama ikisinden ortak sonuca gidemez.

Ağdan hiçbir zaman anahtarın kendisi geçmez. Geçen şey, anahtarı üretmeye yarayan ama tek başına yetmeyen parçalardır.

Bu mekanizmanın bir de kalıcılık boyutu var. Taraflar her oturum için yeni ve geçici bir değer üretirse, gelecekte sunucunun uzun ömürlü özel anahtarı ele geçse bile geçmişte kaydedilmiş trafik çözülemez. Bu özelliğe ileri gizlilik (forward secrecy) denir ve bugün varsayılan davranıştır.

Bütünlük: Özet (Hash) Fonksiyonları

Gizlilik verinin okunmasını engeller, ama değiştirilmesini engellemez. Şifreli bir veriyi okuyamayan biri, onu bozabilir ya da yerine başkasını koyabilir. İkinci iş bu yüzden var.

Özet Fonksiyonu Nedir ve Şifrelemeden Farkı Nedir?

Özet fonksiyonu, herhangi uzunluktaki bir veriden sabit uzunlukta bir değer üreten tek yönlü bir işlemdir. Bu değere özet, parmak izi ya da İngilizce adıyla hash denir.

Şifrelemeden üç noktada ayrılır ve bu üçü karıştırıldığında ciddi hatalar doğar:

  • Anahtarı yoktur. Aynı veri, kim hesaplarsa hesaplasın aynı özeti verir.
  • Geri çevrilemez. Özetten veriye dönmek diye bir işlem tanımlı değildir. Şifre çözmenin karşılığı yoktur.
  • Amacı gizlemek değildir. Amaç, verinin değişip değişmediğini ucuz biçimde kanıtlamaktır.

Bu yüzden MD5 bir şifreleme yöntemi değildir ve “MD5 ile şifrelendi” cümlesi teknik olarak anlamsızdır. Aynı şekilde SHA-2048 diye bir şey de yoktur: SHA-2 ailesi SHA-256, SHA-384 ve SHA-512 üyelerinden oluşur, 2048 ise RSA’da kullanılan bir anahtar uzunluğudur. İki farklı kavram sık sık birbirine karışır.

Özetin en yaygın kullanımı parolalardır. Bir sistem parolanızı saklamaz, parolanızın özetini saklar. Girişte yeniden özet hesaplar ve karşılaştırır. Veritabanı çalınsa bile parolaların kendisi orada değildir.

Çakışma (Collision) Nedir?

Özet fonksiyonunun çıktısı sabit uzunlukta, girdisi ise sınırsız uzunlukta olduğuna göre, farklı iki verinin aynı özeti üretmesi matematiksel olarak kaçınılmazdır. Bu duruma çakışma denir.

Kaçınılmaz olması sorun değil. Sorun, bir saldırganın çakışmayı isteyerek üretebilmesidir. Çünkü o noktada özet, “bu veri değişmedi” iddiasını taşıyamaz hale gelir: saldırgan, aynı özeti veren ama içeriği farklı bir veri hazırlayabilir.

Güvenli sayılan bir özet fonksiyonunda çakışma üretmenin maliyeti, pratikte erişilemeyecek kadar yüksek olmalıdır. Bir fonksiyonun “kırıldı” denmesi tam olarak bu eşiğin aşılması demektir.

MD5 ve SHA-1 Neden Emekliye Ayrıldı?

MD5 ve SHA-1, yıllarca standart olarak kullanıldı ve ikisi de aynı sebeple emekliye ayrıldı: çakışma üretmek hesaplanabilir hale geldi.

MD5 için pratik çakışma üretimi Ağustos 2004’te duyuruldu ve maliyeti sonraki yıllarda hızla düştü. SHA-1 için aynı eşik 23 Şubat 2017’de aşıldı: iki farklı belgenin aynı SHA-1 özetini verdiği kamuya açık biçimde gösterildi.

Bunun sonucu yalnız akademik değildi. Özet fonksiyonu, dijital imzanın içinde çalışan bir parçadır: imza aslında verinin özetinin imzalanmasıdır. Dolayısıyla özet kırıldığında imza da güvenilmez hale gelir.

Bunun en somut örneği 2012’de yaşandı. Bir zararlı yazılım kampanyası, MD5 çakışması üreterek Microsoft’un Terminal Server lisanslama altyapısındaki bir sertifika otoritesinden sahte bir sertifika elde etti. Sertifika, Microsoft’un kök otoritesine kadar zincirleniyordu ve bütün Windows sürümlerinde geçerli kod imzası üretebiliyordu. Microsoft’un müdahalesi de aynı ölçekte oldu: o lisanslama otoritesinin bütün hiyerarşisi, geçmişe dönük olarak iptal edildi.

Buradaki ders, özetin nerede durduğuyla ilgili. Kırılan şey bir şifreleme değildi, bütünlük katmanıydı; ama zincir yukarı doğru işlediği için sonuç doğrudan kimlik katmanında patladı.

Bugün geçerli olan pratik şudur: yeni bir sistem kurarken MD5 ve SHA-1 imza ve bütünlük amacıyla kullanılmaz. Eski sistemlerde nerede kaldıklarını bulmak ise güvenlik sıkılaştırma çalışmasının kalıcı maddelerinden biridir.

Kimlik: İmza ve Sertifikanın Rolü

Üçüncü iş, karşı tarafın gerçekten iddia ettiği taraf olduğunu kanıtlamak. Gizlilik ve bütünlük tek başına bunu yapamaz: sahte bir sunucuyla da mükemmel şifreli ve bütünlüğü korunmuş bir konuşma yapabilirsiniz.

Dijital İmza: Özet ile Asimetrik Şifrelemenin Birleştiği Yer

Dijital imza, önceki iki bölümün birleşimidir ve mekanizması iki adımdır:

  1. İmzalanacak verinin özeti hesaplanır.
  2. Bu özet, imzalayanın özel anahtarıyla işlenir.

Doğrulayan taraf, imzalayanın açık anahtarını kullanarak bu işlemi tersine çevirir ve elde ettiği özeti kendi hesapladığı özetle karşılaştırır. İkisi tutuyorsa iki şey birden kanıtlanmış olur: veri değişmemiştir, ve imzayı atan kişi o özel anahtara sahiptir.

Buradaki bağımlılık zinciri, önceki bölümün neden önemli olduğunu da açıklıyor. İmza, özet fonksiyonunun üzerinde durur. Özet zayıfsa imza da zayıftır.

Sertifika Otoritesi Bu Zincirin Neresinde Durur?

İmza, bir anahtarın sahibinin kim olduğunu tek başına söylemez. Yalnız “bu imzayı atan, bu açık anahtarın eşini elinde tutuyor” der. Açık anahtarın gerçekten hedeflediğiniz kuruma ait olduğunu söyleyen şey sertifikadır, ve sertifikayı imzalayan makam da sertifika otoritesidir.

Bu katman, kendi başına bir konudur ve bu makalede tekrarlanmayacak: güven zinciri, kök ve ara otoriteler, iç otorite ile dış otorite arasındaki seçim, sertifika ömrü ve iptal mekanizmaları sertifika otoritesi rehberimizde ele alınıyor.

Burada aklınızda kalması gereken tek şey sıralamadır: özet bütünlüğü, imza özeti, sertifika da imzayı bir kuruma bağlar. Üç katman üst üste durur ve alttaki çökerse üstteki de çöker.

Şifreleme Kurumsal Ortamda Nerede Çalışır?

Üç işi tanıdıktan sonra sıra bunların kurumsal bir ortamda nerede karşınıza çıktığında. Bu bölüm bir liste değil, bir envanter mantığı: şifrelemeyi bir ürün olarak değil, her katmanda ayrı ayrı verilmiş bir karar olarak görmek gerekiyor.

Ağ Trafiği: Protokollerin Şifreli ve Şifresiz Halleri

Kurumsal ağdaki protokollerin çoğu, şifresiz bir asıl ve şifreli bir ikiz halinde gelir. Şifresiz olanı kapatmak, çoğu ortamda en yüksek getirili tek güvenlik hamlesidir.

ŞifresizŞifreli karşılığıNe sızar
TelnetSSHYönetici parolası ve bütün oturum
FTPFTPS, SFTPParola ve dosyanın tamamı
LDAPLDAPS, StartTLSDizin sorguları ve bağlanma bilgileri
HTTPHTTPSOturum çerezleri, form verileri
SyslogSyslog over TLSSistem olayları, kullanıcı adları
SNMP v1 ve v2cSNMPv3Topluluk adı, cihaz yapılandırması

Bu tablodaki her satır sitemizde ölçülmüş durumda: ilgili makalelerde aynı işlem hem şifresiz hem şifreli yapılıp ağdan yakalanmış, ve şifresiz tarafta parolanın okunabildiği gösterilmiştir. İddiaların hiçbiri teorik değil.

Bir de tabloya girmeyen bir grup var: TFTP gibi şifreli karşılığı hiç bulunmayan protokoller. Onlarda çözüm protokolü değiştirmek değil, ağ segmentasyonu ve güvenlik duvarı ile erişimi daraltmaktır.

Depolama ve Yedekler: Duran Veri

Ağdaki veri hareket halindeyken korunur, ama disk üzerindeki veri de bir karar bekler. Duran verinin şifrelenmesi genellikle simetrik yöntemlerle ve disk ya da birim seviyesinde yapılır.

Buradaki asıl mesele algoritma değil, anahtarın nerede durduğudur. Anahtar şifrelenen diskin üzerinde duruyorsa koruma yalnız diskin fiziksel olarak çalınmasına karşıdır; sistem açıkken ele geçen bir yetki için hiçbir şey ifade etmez.

Yedekler ayrıca ele alınmalıdır, çünkü yedek çoğu zaman üretim ortamının dışına çıkar. Şifreleme burada geri yükleme testine ikinci bir soru ekler: test artık yalnız verinin geri gelip gelmediğini değil, doğru anahtarın hâlâ elde olup olmadığını da sınar. İkisi birlikte sorulmazsa yedek çalışıyor sanılır, ta ki gerçekten ihtiyaç duyulduğu güne kadar.

Test döngüsünün nasıl kurulacağı, hangi sıklıkta ve neyin ölçüleceği ayrı bir konudur; veri yedekleme ve felaket kurtarma rehberimizde ele alınıyor.

Kimlik Altyapısı ve Yönetim Arayüzleri

Kimlik altyapısı, şifrelemenin en yoğun kullanıldığı ve en çok atlandığı yerdir. Kerberos bilet mekanizmasının tamamı şifreleme üzerine kuruludur ve doğru çalıştığında görünmezdir.

Atlanan taraf ise yönetim arayüzleridir. Anahtarlar, güvenlik duvarları, hipervizör konsolları ve depolama üniteleri çoğunlukla kendinden imzalı bir sertifikayla gelir. Tarayıcı uyarı verir, ekipler o uyarıyı tıklayıp geçmeye alışır, ve bir süre sonra uyarı bir bilgi taşımaz hale gelir.

Bu alışkanlığın maliyeti, yukarıdaki dört ölçümde gösterilen şeydir: gerçek bir saldırı anında çıkacak uyarı da tam olarak aynı uyarıdır ve artık kimse ona bakmamaktadır.

Şifrelemenin Ömrü: Bugün Güvenli Olan Yarın Neden Değil?

Şifreleme kararları kalıcı değildir. Bir algoritmanın güvenliği matematiksel bir kesinlik değil, ekonomik bir eşiktir: kırmanın maliyeti, kırmanın getirisinden yüksek olduğu sürece güvenlidir. Maliyet tarafı her yıl düşer.

Hesaplama Gücü Ucuzlarken Şifreleme Neden Yaşlanır?

Bir anahtarı kaba kuvvetle kırmak, tüm olasılıkları denemek demektir. Anahtar her bir bit uzadığında olasılık sayısı ikiye katlanır, yani uzunluk doğrusal artarken zorluk üstel artar.

Bu, savunma tarafının lehine görünür ve büyük ölçüde öyledir. Ama saldırı tarafında da üstel bir eğri vardır: donanım ucuzlar, paralelleşir ve kiralanabilir hale gelir. Bir zamanlar devlet ölçeğinde bütçe gerektiren bir hesap, bugün saatlik ücretle kiralanan bir bulut kaynağıyla yapılabiliyor.

Bu yüzden algoritma seçimi bir kez verilen bir karar değil, süreli bir karardır. Sorulacak soru “bu güvenli mi” değil, “bu ne kadar süre güvenli kalacak” olmalıdır.

GPU’lar Kaba Kuvvet Saldırısını Nasıl Değiştirdi?

Grafik işlemcileri, birbirinden bağımsız binlerce basit işlemi aynı anda yapmak üzere tasarlanmıştır. Kaba kuvvet saldırısı da tam olarak böyle bir iştir: her aday anahtar, diğerlerinden bağımsız olarak denenebilir.

Bu değişimin ölçüsü, bir önceki bölümde anlatılan SHA-1 çakışmasının kendi maliyet kaydında duruyor. O çakışmayı üretmek yaklaşık dokuz kentilyon SHA-1 hesabı gerektirdi ve bunun karşılığı 6.500 CPU-yılı artı 110 GPU-yılıydı. İki sayıyı yan yana koyun: aynı işin grafik işlemcisi tarafındaki payı, merkezi işlemci tarafının altmışta biri kadar bir süreyle ifade ediliyor.

Bu, makalenin başındaki tabloyu tersine çevirmiyor ama sınırını çiziyor. Yeterince uzun ve rastgele bir anahtara karşı kaba kuvvet hâlâ imkânsızdır. Buna karşılık hedef zayıfladığında, yani anahtar kısaldığında, özet fonksiyonu eskidiğinde ya da parolayı seçen bir insan olduğunda, iş bir zaman problemi olmaktan çıkıp bütçe problemine dönüşüyor. Aradaki farkı belirleyen saldırganın donanımı değil, hedefin ne kadar tahmin edilebilir olduğudur.

Aynı uyum, özellikle parola özetleri tarafında dengeyi değiştirdi. Hızlı çalışmak üzere tasarlanmış bir özet fonksiyonu, saldırgan için de hızlı çalışır. Sonuç şu oldu: bir özet fonksiyonunun hızlı olması, parola saklama açısından bir kusur haline geldi.

Bu yüzden parolalar için bugün genel amaçlı özet fonksiyonları değil, bilerek yavaş çalışacak ve donanımla hızlandırılması zorlaştırılacak biçimde tasarlanmış yöntemler kullanılır.

O zaman anlamamıştım, ama bu iki gözlem de mekanizmayı ele veriyor.

Her parolanın çıkmaması, o sitelerin hiçbir şey kırmadığının kanıtı. MD5 tek yönlüdür, geri çevrilemez. O siteler hesap yapmıyordu, arama yapıyordu: ellerinde sızıntılardan ve sözlüklerden derlenmiş milyarlarca özet-parola çifti var ve yapıştırdığınız özet o tabloda varsa çıkıyor, yoksa boş dönüyor. Uzun ve benzersiz bir parolanın özeti tabloda yoktu. Yani o sabah hesabı boşalmayanlar daha şanslı değildi, parolası tahmin edilebilir olmayanlardı.

Buradan makale boyunca en çok işinize yarayacak cümle çıkıyor: kimsenin parolası kırılmadı, tanındı.

Aynı listenin birkaç makinede birden açık olması ise ikinci dersi veriyor ve kurumsal tarafta daha ağır basar. Sızan bir veri tabanı tek bir elde durmaz; siz durumu fark ettiğinizde ondan çoktan birden fazla kopya çıkmış olur ve o kopyaları elinde tutanların birbiriyle rekabeti hız üzerinedir. “Sızıntıyı kontrol altına aldık” cümlesi bu yüzden çoğu zaman yanlıştır: kontrol edebildiğiniz şey kaynak, dağılmış kopyalar değil.

İkinci aşamanın literatürde adı var: çalınmış kullanıcı adı ve parola çiftlerini başka bir servise denemeye OWASP’ın sınıflandırmasında credential stuffing deniyor. Kaba kuvvetten farkı kritik: credential stuffing tahmin etmez, bilir. Bu yüzden karmaşık parola kuralı, deneme sayısı sınırı ve hesap kilitleme gibi önlemler onu durdurmaz; saldırgan zaten ilk denemede doğru parolayı yazıyordur.

Bunu bozan iki şey var ve ikisi ayrı taraflarda durur. Sunucu tarafında tuz (salt): her parolaya özel rastgele bir değer eklendiğinde aynı parola bile her kullanıcıda farklı bir özet üretir, hazır tablo bir anda işe yaramaz hale gelir. Kullanıcı tarafında ise tek kural: her serviste farklı parola. Hangi sitenin parolanızı nasıl sakladığını asla bilemezsiniz, o yüzden korunacak şey parola değil, parolanın tekrarıdır.

Kendi adreslerinizin daha önce açıklanmış bir sızıntıda görünüp görünmediğini Have I Been Pwned üzerinden sorgulayabilirsiniz. Çıkan sonuç bir tehlike ilanı değil, bir hatırlatmadır: o sızıntıda kullandığınız parola başka bir yerde de duruyorsa, değiştirilecek olan odur. Aynı fonksiyonun bir işte erdem, başka bir işte kusur sayılması, en başta kurduğumuz ayrımın pratikteki karşılığıdır: doğru soru hangi algoritmanın iyi olduğu değil, hangi işi yapacağıdır.

Kurumda Algoritma Ömrünü Takip Etmek

Algoritma yaşlanması, kurumsal tarafta bir envanter işidir. Uygulanabilir üç adım şunlar:

  1. Nerede hangi algoritmanın kullanıldığını yazılı hale getirin. Sunucu sertifikaları, VPN yapılandırmaları, yedekleme yazılımı ve veritabanı bağlantıları ayrı ayrı bakılmalıdır; hiçbiri diğerinin yerine geçmez.
  2. Eski sürümleri kapatırken önce ölçün. Bir protokolün eski sürümünü kapatmadan önce onu hâlâ kimin kullandığını bilmek gerekir, yoksa kapatma işlemi bir kesintiye dönüşür.
  3. Kararı tarihlendirin. “Şu an güvenli” notunun yanına, ne zaman yeniden bakılacağı yazılmalıdır. Tarihsiz bir güvenlik kararı, bir süre sonra kimsenin sorgulamadığı bir varsayıma dönüşür.

Active Directory güvenlik sıkılaştırması tarafında bu takip özellikle önemlidir, çünkü kimlik altyapısındaki zayıf bir algoritma yalnız o servisi değil, ona güvenen bütün servisleri etkiler.

Sonuç: Doğru Soru “Hangi Algoritma?” Değil

Şifreleme, tek bir ürün ya da tek bir ayar değil. Üç ayrı işi olan bir katman: gizlilik veriyi okunamaz kılar, bütünlük değiştirilmediğini kanıtlar, kimlik ise karşı tarafın kim olduğunu bağlar. Bu üçü birbirinin yerine geçmez ve biri eksikken diğerleri o eksiği kapatmaz.

Caesar’ın çözmesi gereken tek problem gizlilikti, çünkü karşı tarafı zaten tanıyordu. Bugün tanımıyoruz, ve modern şifrelemenin karmaşıklığı doğrudan bu tanışıklığın yokluğundan doğuyor.

Kurumsal tarafta bundan çıkan pratik sonuç şu: şifreleme kararı algoritma seçmekle başlamaz, envanterle başlar. Hangi veri nerede duruyor, hangi bağlantı hangi katmanda korunuyor, hangi anahtar nerede saklanıyor ve bu kararlara en son ne zaman bakıldı. Bu sorulara cevap veremeyen bir ortamda en güçlü algoritma bile bir güvence sağlamaz.

Şifrelemenin protokoller üzerindeki somut karşılığını görmek için kurumsal ağ protokolleri rehberimize, güven altyapısının nasıl kurulduğunu görmek için de sertifika otoritesi makalemize göz atabilirsiniz.

Şifreleme Hakkında Sık Sorulan Sorular

Hayır. Şifreleme yalnız veriyi okunamaz hale getirir; karşı tarafın gerçekten iddia ettiği sunucu olduğunu söylemez. Sertifikası doğrulanmamış bir bağlantı da tam olarak aynı algoritmayla, aynı anahtar uzunluğuyla şifrelenir. İkisi ayrı denetimdir ve biri diğerinin yerine geçmez.
Değil. MD5 bir özet (hash) fonksiyonudur: tek yönlüdür, anahtarı yoktur ve geri çevrilemez. Şifrelemede amaç veriyi sonradan okunabilir hale getirmektir, özet fonksiyonunda ise amaç verinin değişmediğini kanıtlamaktır. Bu ayrım karıştırıldığında yanlış araçla yanlış problem çözülmeye çalışılır.
Soru genelde yanlış kurulur, çünkü kurumlar tek bir yöntem seçmez. Aynı ortamda disk şifrelemesi simetrik, sunucu kimliği asimetrik, yedek doğrulaması ise özet fonksiyonu kullanır. Doğru soru hangi algoritmanın seçileceği değil, hangi verinin hangi işi gerektirdiğidir.
İlker Pehlivan

Yazan

İlker Pehlivan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştüren bir ağ ve sistem mühendisidir. Şirketlere özel teknoloji rehberleri burada.

Ücretsiz Değerlendirme

Hangi verinizin şifreli gittiğini biliyor musunuz? Envanteri birlikte çıkaralım.