Kriptografi Bölüm 2

Veri Şifreleme Standardı (Data Encryption Standard - DES)

Simetrik şifreleme algoritmasıdır. 1997’de resmi bilgi şifreleme standardı olarak kabul edilirken 2000’de yerini AES’e (Advanced Encryption Standard) bırakmıştır.

DES, gizli anahtarlı bir şifreleme türüdür; büyük boyutlu verilerin şifrelenmesinde kullanılır. Şifreleme işlemi, Blok Şifreleme olarak adlandırılan bir yöntem ile geliştirilir. Bu yöntem, şifreli metin ile düz metin arasındaki ilişkiyi gizlemeyi amaçlar. Her şifreleme adımına döngü denir ve her döngüde kullanılan anahtar farklıdır.

    • Blok şifreleme, blok olarak adlandırılmış sabit uzunluktaki bit grupları üzerine simetrik anahtar ile belirlenmiş bir algoritmanın uygulanmasıdır. Blok şifreleme, birçok kriptografik protokol tasarımının önemli temel bileşenlerindendir ve büyük boyutlu verilerin şifrelenmesinde yaygın biçimde kullanılır.
    • Bileşke şifreleme, tek başına zayıf olan kriptografik yapıların bir araya getirilerek daha kuvvetli bir yapının oluşmasıyla elde edilir. Blok şifrelemenin temelinde tekrarlanan bileşke şifreleme vardır.

Açık mesaj, belli uzunluktaki bloklara bölünür ve ayrı ayrı şifrelenen bloklar ile şifreli metin elde edilir. Her bir blok, 8 bit parity biti olarak 64 bit uzunluğundadır. Blok uzunluğu, kullanılan işlemci hızına göre değişebilir. Yeni dönem bilgisayarlarda 128 bit kullanılmaya başlanmıştır.

DES, bağımlılık fazla olmasına rağmen modern bilgisayarlara dayanamaz. Brute Force (Kaba Kuvvet) ataklarına karşı güvensizdir. Bu noktada DES’in güvenilirliğini artırmak için 3DES yöntemi geliştirilmiştir. Bu yöntemde şifrelenen veri tekrar geri çözülür ve DES şifrelemesi 3 sefer art arda yapılır. Şifreleme için kullanılan ve uzunluğu 24 byte olan anahtar, 3 bloğa ayrılır. İlk 8 byte ile şifreleme yapılır, buraya kadar olan kısım DES işlemidir. Daha sonra şifrelenen metin ortadaki 8 byte ile çözülür ve son 8 bytle ile tekrar şifrelenerek 8 byte’lık blok elde edilir. DES’e göre güvenilirliği fazladır fakat hız 3 kat daha azalmıştır. Her byte, bir eşlik biti bulundurur. Dolayısıyla kullanılan anahtar 168 bittir (24*7=168). DES’i kırmak için yüksek maliyetle son teknoloji makineler geliştirilmiş olmasına rağmen 3DES, bankalar ve devlet daireleri olmak üzere birçok ortamda kullanılmaya devam etmektedir.

Gelişmiş Şifreleme Standardı (Advenced Encryption Standard - AES)

AES, DES'in güçlendirilmiş hâli olarak düşünülebilir ve blok şifreleme yöntemini kullanır. DES'e göre daha hızlı ve güvenli olan AES, uzunluk olarak 128, 192 ve 256 bit anahtarları destekler; daha güçlü bir anahtar sağlar. DES'in aksine Brute Force (Kaba Kuvvet) saldırılarına dayanıklı olduğu söylenmektedir.

EK BİLGİ: UEKAE (Ulusal Elektronik Kriptoloji Araştırma Enstitüsü - TÜBİTAK)

Görevi; bilgi güvenliği, haberleşme ve ileri elektronik alanlarında Türkiye’nin teknolojik bağımsızlığını sağlamak ve sürdürmek için nitelikli insan gücü ve uluslararası düzeyde kabul görmüş alt yapısı ile bilimsel ve teknolojik çözümler üretmek ve uygulamaktır.

Steganografi

Steganografi, bilgiyi gizleme sanatıdır, şifreleme türü değildir. Steganografi'nin şifrelemeye göre en büyük avantajı, bilgiyi gören bir kimsenin gördüğü şeyin içinde önemli bir bilgi olduğunu fark edemiyor olmasıdır. Tarihte steganografi, hem şifreleme öncesi dönemde hem de sonrasında ilgi çekmeme avantajından dolayı kullanılmıştır.

Resimlerde 24 bitlik bir kanallama kullanılır. Bu kanallar kırmızı, yeşil ve mavidir (RGB) ve her bir kanal 8 bitlik bir değere sahip olabilir. 8 bit 256 ayrı değer saklayabilir ve örneğin 12 sayısı 00001100 olarak, 240 sayısı ise 11110000 olarak kodlanacaktır. Öte yandan bir insan her renkteki 8 bit’in son iki bitindeki değişiklikleri göremeyecektir. Bu durumda son 3 bit asıl rengin detayları yerine başka bir bilgi saklamak için kullanılabilir.

Günümüzde birden fazla veri gizleme metodu bulunmaktadır. Yöntemlerin en kolayı, gizlenecek olan veriyi resim dosyasının “açıklama” alanında gizlemektir. Bu, ideal bir yöntem değildir çünkü “açıklama” alanının bir sınırı vardır (255 byte kadar). Ayrıca bu yöntemde değişik resim dosyaları için değişik algoritmalar kurmanız gerekecektir. Bir başka yöntem ise resim dosyasında renkler için ayrılan ama kullanılmayan alanların veri gizleme için kullanılmasıdır. Bu yöntem de bazı veri çözme araçları ile kolayca bulunabilir, fark edilebilir.

Resim dosyalarının tipik özelliklerini çok iyi kavramamız gerekir. Bunlar:

  1. Bütün resimler dosya başlığı (header) ve piksellerden oluşur.
  2. Her piksel sadece bir renk içeren küçük bir bloktur.
  3. Her pikseldeki renk temel 3 rengin karışımından elde edilir (RGB).
  4. Her pikselde bu 3 rengin verileri tutulur. Her temel renk 1 pikselde 1 byte (0..255) yer kaplar yani 1 piksel 3 byte (R, G, B) veri taşır.

- Her piksele 3 bit. İlk bakışta çok az gibi görünse de 800x600 ebatında bir resimde;

- 800 x 600 = 480.000 adet piksel bulunur.

- 480.000 x 3 bit = 1.440.000 bit (gizlenecek olan veri için kalan yer)

- 1.440.000 bit = 175,7 KiloByte

MD5 Şifreleme

MD5 (Message – Digest Algorithm 5), yaygın olarak kullanılan bir kriptografik özet fonksiyonudur. Girilen verinin boyutundan bağımsız olarak 128 bit özet değeri türetir. MD5 üzerinde geniş çaplı güvenlik açıkları tespit edilmiştir. Veri bütünlüğünün sağlandığını kontrol etmek için sağlama değeri üretmek amacıyla kullanılır. Ancak sadece kasıtsız yapılan değişikliklere karşı kullanışlıdır. Birçok hash fonksiyonu gibi MD5 da şifreleme algoritmaları içermez. Kaba kuvvet saldırısı ile kırılabilir. MD5’ın güvenilirliği ciddi olarak sarsılmıştır. İçerdiği güvenlik zafiyetleri sahada da kullanılmıştır ve bunlardan en önemlisi 2012’deki “Flame” kötücül yazılımıdır.

NOT: Hash fonksiyonu; geri dönüşü olmayan, tek yönlü bir fonksiyondur. Yani üretilen çıktıdan tekrar asıl metne geri dönüşüm mümkün değildir.

RSA Şifreleme

RSA; güvenliği, tam sayıları çarpanlarına ayırmanın algoritmik zorluğuna dayanan bir tür açık anahtarlı şifreleme yöntemidir. Bir RSA kullanıcısı iki büyük asal sayının çarpımını üretir ve seçtiği diğer bir değerle birlikte ortak anahtar olarak ilan eder. Seçilen asal çarpanları ise saklar. Ortak anahtarı kullanan biri herhangi bir mesajı şifreleyebilir, ancak şu anki yöntemlerle eğer ortak anahtar yeterince büyükse sadece asal çarpanları bilen kişi bu mesajı çözebilir. RSA şifrelemeyi kırmanın çarpanlara ayırma problemini kırmak kadar zor olup olmadığı hâlâ kesinleşmemiş bir problemdir.

SHA-1 (Secure Hash Algorithm 1) Şifreleme

Kriptografide SHA-1, NSA tarafından dizayn edilmiş ve NIST tarafından yayınlanmış bir ABD Bilgi İşleme Standardı kriptografik özet fonksiyonudur. SHA-1, mesaj özeti olarak da bilinen 160 bit özet değeri üretir. Bir SHA-1 özet değeri genellikle 40 basamaklı bir onaltılık sayı olarak üretilir.

Git ve Mercurial gibi revizyon kontrol sistemleri SHA-1’i sadece güvenlik için kullanmaz ayrıca verinin herhangi bir bozulmaya uğrayarak değişmediğine emin olmak için kullanır. Eğer disk bozulması, DRAM bozulması ya da herhangi bir sorun varsa Git hepsini algılayacaktır. “Ya algılamazsa?” diye bir soru yoktur; kesindir. Git’i ilgilendiren SHA-1’in güvenlik özellikleri değil, tamamıyla tutarlılık kontrolü özelliğidir.

Git

Git, yazılım geliştirme süreçlerinde kullanılan, hız odaklı, dağıtık çalışan bir sürüm kontrol ve kaynak kod yönetim sistemidir. Git sürüm kontrol sistemini kullanan her bir çalışma dizini (proje), internet erişimi ya da merkezi bir depo olmaksızın tüm tarihçeyi tutan ve sürüm kontrol sisteminin tamamını içinde barındıran tam yetkili birer depodur. Aynı çalışma dizininin birçok depodan birindeki kopyasında yapılan değişiklikler diğerlerine güven temelli bir değerlendirmeyle kabul edilir; güvenilmeyenden değişiklik alınmaz ve o, kendi ayrı sürümünü geliştirmeye devam eder.

SHA-2 (Secure Hash Algorithm 2) Şifreleme

SHA-2, NSA (Ulusal Güvenlik Ajansı - National Security Agency - ABD) tarafından tasarlanış kriptografik özet (hash) fonksiyonları kümesidir. Özet fonksiyonları ile bir kişi verinin bütünlüğüne karar verebilir. Örneğin, yüklenmiş bir dosyanın özet değerini hesaplamak ve sonucu önceden açıklanmış özet sunucu ile karşılaştırmak, yüklemenin değiştirilip değiştirilmediğini veya üzerinde oynama yapılıp yapılmadığını gösterebilir. Kriptografik hash fonksiyonlarının kilit noktası çakışma dirençleridir; hiç kimse aynı özet çıktısını veren iki farklı girdi bulmamalıdır. SHA-2, kendinden önce gelen SHA-1’den önemli farklılıklar içerir. SHA-2 ailesi basamakları (hash değerleri) 224, 256, 384 veya 512 bir olan altı hash fonksiyonundan oluşur. Farklı kaydırma miktarları ve toplama sabitleri kullanırlar ancak yapıları neredeyse aynıdır.

[*] "Kriptografi birinci bölüme dönmek için tıklayın: Kriptografi Bölüm 1"

[*] Blog Notu: 'Git' ve 'Github' konularını çok detaylı bir şekilde başka bir blog yazımızda ele alacağız.


Yayınlanma Tarihi: 2022-07-07 00:07:42

Son Düzenleme Tarihi: 2022-07-07 00:10:46