Anasayfa » Kriptoloji 101

Makaleyi Paylaş

Güvenlik

Kriptoloji 101

Kriptoloji birbirleri ile haberleşen iki veya daha fazla tarafın bilgi alışverişini güvenli olarak yapmasını sağlayan, temeli matematiksel olarak zor olan problemlere dayanan tekniklerin ve uygulanması olarak tanımlayabiliriz. Gizlilik, veri bütünlüğü, kimlik doğrulama inkar edemezlik gibi bilgi güvenliği problemlerine matematiksel yöntemler kullanarak çözüm getirme ve bu çözümleri çürütme bilimidir.

 

Kriptoanaliz, kriptografi sistemleri tarafından ortaya konan bir şifreleme sistemini inceleyerek zayıf ve kuvvetli yönlerini ortaya koymayı amaçlayan bilim dalıdır.

 

Kripto Sistemini Kırmak: Belirlenmiş bir hesaplama gücüne karşı sağlandığı iddia edilen bir kripto hizmetinin daha az hesaplama gücüyle engellenmesi şeklinde tanımlanmaktadır.Kripto sistemini kırma çalışmaları atak varsayımları:

·         Sadece bilinen şifreli metin atağı

Sponsor

·         Bilinen açık metin atağı

·         Seçili açık metin atağı

·         Seçili şifreli metin atağı

 

Şifreleme algoritmaları, anahtar kullanma yöntemlerine göre genel olarak iki kategoriye ayrılmaktadır. Bu yöntemler:

·         Simetrik (Gizli Anahtarlı) Şifreleme Algoritmaları (Geleneksel kriptolama sistemleri)

·         Asimetrik (Açık Anahtarlı) Şifreleme Algoritmaları (Açık anahtar kriptolama sistemleri)

 

Kriptolojinin Sağladığı Servisler

·         Gizlilik (Şifreleme), Yetkisiz kişiler mesaj içeriğini göremez

·         Kimlik doğrulama, haberleşmede her iki tarafta bulunanların ne söylüyorlar ise onun doğru olmasını sağlama sürecidir. Gönderen ve alıcı, birbirlerinin kimliklerini doğrulayabilirler.

·         Bütünlük, Aktarılan veri üzerindeki yetkisiz değişiklikler alıcı tarafından fark edilir. Başkaları mesajı değiştiremez.

·         İnkar edememezlik, Katılımcılar yapılan işlemi inkar edemez

·         Tazelik, Gönderilen verilerin oluşturulma zamanının güvenlik altına alınması.

·         Anonimlik, Yapılan işin failinin gizlenmesi, (e-seçim)

·         Sanal ortamda oy kullanma, Sanal Bankacılık, Elektronik Ticaret, Askeri iletişim, E-Devlet uygulamaları, Ticari Sırlar, Kişisel hayatın gizliliği, Bilgi Güvenliği alanlarında kullanılabilir. Sayısal imza, Parola Saklama, Arşivleme, İnternette dosya indirme Zaman pulları , rastsal sayılar , sayaçlar

 

Hesapsal Güvenlik (Computational Security)

Bir şifrenin uygulanabilir olması için mevcut bilgisayar teknolojisi ile kırılamaz olmasının sağlanması. Hesapsal güvenlik daha az deneme ile şifreyi bulan sistemi kırmış olur. Bir şifrenin uygulanabilir olması için mevcut bilgisayar teknolojisi ile kırılamaz olmasının sağlanması.

 

Sayısal İmzalamada Özet Fonksiyonu Kullanımı
Veri bütünlüğü sağlaması için kullanılır. Mesajların içeriğinin değişip değişmediğini sorgulamayı mümkün kılar. Elektronik imza, imza sahibinin kimliğini, imzalanan veriyle ilişkilendirir ve imzalanan verinin değiştirilmediğini ispat eder. Mesajdaki küçük değişiklikler bile özette büyük değişikliklere yol açabilir.Güvenlik için kullanılır. Kriptografik tek yönlü fonksiyondur. Bir mesajın özetini elde etmek kolay, bir özetten asıl mesajı çıkarmak çok zordur.İmzalamaya hızlılık kazandırır. İmzalama tüm veriye değil, sadece hash’e yapılır. Hash’in sabit çıkış uzunluğu bulunur (mesajdan çok kısa). Bu sayede daha hızlı imzalama gerçekleşir.

Çakışmaya Dayanıklılık: Aynı özeti veren iki mesaj bulmak hesapsal olarak imkansız.
Ters Görüntüye Dayanıklılık: Tek yönlülük: Verilmiş bir özet değerine sahip mesaj bulmak hesapsal olarak imkansız.
İkinci Ters Görüntüye Dayanıklılık: Verilmiş bir mesajla aynı özeti veren başka bir mesaj bulmak hesapsal olarak imkansız.


Sayısal imza da belgeyi imzalayanın kimliğini kanıtlayabilmesi, inkar edilememe ilkesinin temelidir. Belgeyi imzalayan kullanıcı ilerde bir problem çıkması durumunda belgenin kendisi tarafından imzalandığını ve alınınında bu belgeyi aldığını kanıtlayabilir.

·         Sayısal imza yaratmak için sadece sahibi tarafından bilinen ve sadece sahibi tarafından aktif konuma getirilebilecek imza oluşturma verisi,

·         İçeriğine herkes tarafından ulaşılabilen imza oluşturma verisi,

·         İmzalanan verinin gerçekten o imza oluşturma verisi ile mi oluşturulduğunu doğrulama imkanı tanıyan doğrulama verileri,

·         İmza doğrulama verisini taşıyan ve elektronik kimlik kartı olarak da kullanılabilen bir elektronik kayıt (sayısal sertifika),

·         Elektronik imza ile ilişkilendirilen veri (elektronik belge, elektronik uygulama veya e-posta)

Bu özellikler sayısal imzanın yetkilendirme ve bütünlük  ilkelerini yerine getirmesini sağlar. Bunlara ek olarak dijital imza kolay taşınabilir, taklit edilemez ve otomatik olarak zaman eklentilidir.

 

Elektronik imzalı bir belge oluşturulurken, belgenin hashi’i kişiye ait private key ile şifrelenir ve kişiye ait elektronik sertifika ile imzalanır. Doğrulama aşamasında, hash kişiye ait sertifikada yer alan public key ile açılır. Bu adımda aynı hash sadece kişiye ait private key ile şifrelendiğinden, sadece kişiye ait public key ile açılabileceği 1. İnkar edilemezliği oluşturur. 2. Kanıt ise elektronik sertifika doğrulamasıdır. Bu aşamada da, kişinin kimlik bilgileri Sertifika Makamı’nda doğrulanır. Bu da 2. İnkar edilemezliği oluşturur. Ayrıca sertifikanın geçerlilik süresi, kullanım amacına uygunluğu, Sertifika Makamının imzası gibi bilgiler de kontrol edilir.

 

Ayrık Logaritma Problemi (The Discrete Logarithm Problem)

Açık anahtar paylaşımı için araştırmalar sonucunda modül yapısınının matematiksel özelliğini kullanılması ile oluşturulan bir sistemdir. Ayrık logaritma problemini çok büyük asal sayıları seçmeye dayanmaktadır. Örneğin, 3k ≡ 13 (mod 17) denklenmini k değişkeni için çözmeye çalışalım. Yukarıda da yazdığı gibi, k=4 geçerli bir cevaptır. Buna karşın, tek cevap değildir. Örneğin, 316 ≡ 1 (mod 17) olduğundan, n tam sayı olmak kaydıyla, tüm çözümler 34+16 n ≡ 13 × 1n ≡ 13 (mod 17) şeklinde yazılabilir. Ayrık logaritma kullanımı yapan şifrelemeler örnek olarak  ElGamal, Diffie-Hellman, ve Dijital imza verilebilir.


Çarpmalarına Ayırma Problemini
Çarpanlara ayırma problemi aslında çok basit olan çarpma işleminin tersine yönelik yapılan bir işlemdir. Fakat çarpma gibi basit olarak yaptığımız bir işlemin tersine yönelik çarpanlarını bulmak herzaman kolay olmamaktadır. Örneğin 9X5 = 45 etmektedir. Şimdi verilen 45 değerinin çarpanlarını aradığımızda {(3×15),(1×45),(9×5)} üç değişik çarpan kümesi buluyoruz veya tahmin ediyoruz. Çarpanlarını aradığımı sayının çok büyük olması ve asal sayı olması durumunda işler çok zorlaşmaktadır. Çarpanlara ayırma problemini kullanarak şifreleme yapan algoritmalara örnek olarak RSA, Rabin ve Kurosava verilebilir.

1. Ali p ve q olarak iki büyük asal sayı belirler.

2. Ali (e,(p-1)(q-1)) = 1 olacak biçimde e’yi belirler.

3. Ali d.e=1 (mod(p-1)(q-1)) olacak şekilde d’yi hesaplar.

4. Ali n ve e’yi yayınlar ve p,q,d’yi gizler.

5. Ahmet metni m olarak şifreler c = me (mod n) hesaplar ve Ali’ye  şifreli c’yi gönderir.

6. Ali m=cd (mod n) hesaplayarak deşifre yapar.

RSA, tamsayılarda çarpanlara ayırma probleminin zorluğu temeline dayanır.

 

Kerckhoff Prensibi (Kerckhoff’s Principle)
Bir kripto sisteminin güvenliği sistemin gizliliğine değil, anahtarın gizliliğine dayanmalıdır. Bir kripto sisteminin güvenliği, sistemin gizliliğine değil, anahtarın gizliliğine dayanmalıdır. Algoritmaları değiştirmek ve gizli tutmak zordur. Ufak bir hata ile kriptografik bir algoritma güçsüz kalabilir. Sistemin çalışma mantığı düşmanın eline geçebilir. Bu sebeple algoritmaların kamuya açık olması gerekir. Sistemin tamamı veya bir parçası matematiksel olarak geri açılamaz olmalıdır. Yazılı notlar kullanılmadan, sistemde kullanılan anahtarın değiştirilmesi mümkün olmalı ve tarafların talebine göre değiştirilebilir olmalıdır. Sistem taşınabilirliği olmalı ve sistemin çalışması için birkaç kişinin bir araya gelmesi gerekmemelidir. Sistemin kullanımı basit olmalı uzun eğitimler ve kurallar içermemelidir.

Simetrik Şifreleme vs Asimetrik Şifreleme

Simetrikler çok daha hızlıdır

Simetrikler kolay gerçeklenir, asimetrikte büyük sayılarla matematiksel işlemler

Simetriklerin anahtar boyu kısa; anahtar üretimi ve değişimi kolay

Simetriklerde n(n-1)/2, asimetriklerde 2n anahtar; n: kullanıcı sayısı

 

Simetrik Şifreleme (Symmetric Key Algorithm)

Kuvvetli Yönleri

Zayıf Yönleri

Algoritmala hızlıdır

Güvenli bir şekilde anahtar dağıtımı zordur

Donanımla birlikte kulanma opsiyonu var

Kapasite sıkıntısı bulunmaktadır

Gizlilik ve güvenlik şartlarını sağlar

Kimlik doğrulama ve bütünlük ilkelerini sağlayamamaktadır

Kullanılan anahtarın boyutu küçül olduğu için bit sayısı çok küçüktür.

 

Asimetrik Şifreleme (Public Key Algorithm / Asymmetric Key Algorithm)

Kuvvetli Yönleri

Zayıf Yönleri

Bütünlük, kimlik doğrulama ve gizlilik sağlamaktadır.

Algoritmada kullanılan şifre uzun olduğu için yavaşlama çalışmaktadır.

Kullanıcı anahtarını belirleyebilir

 

Uzun anahtardan kaynaklanan sıkıntılar olmaktadır

 

 

Özellik

Simetrik şifreleme algoritmaları

Asimetrik şifreleme algoritmaları

Gizlilik

OK

OK

Bütünlük

OK

Kimlik doğrulama

OK

İnkar edilememezlik

OK

Performans

Hızlı

Yavaş

 

Blok Şifreleme & Dizi Şifreleme

Blok şifreleme daha esnektir

·         Blok şifreleme dizi şifreleme modunda kullanılabilir

·         Özet fonksiyonu

·         Kimlik doğrulama, RSÜ

Dizi şifreleme genellikle daha hızlıdır ve daha az yer kaplar

·         Yazılım:HC128 3 c/byte, AES 12 c/byte

·         Donanım: Trivium 3000 GE, Grain 2400 GE, AES 5000-100.000 GE, KATAN 600 GE

Dizi şifrelemenin tasarım kriterleri gelişmemiş

Dizi şifrelemede eş zamanlama için ek mekanizma gerekli: Mekanizmada zayıflık riski

Dizi şifrelemede güvenlik riski yüksek:

·         Kayan anahtarın tek kullanımlık özelliği

·         Kayan anahtarın rastsallığı

·         Bütünlük gereken uygulamalar

 

Blok Şifreleme (Block Cipher)

Dizi Şifreleme (Stream Cipher)

Yavaş

Hızlı

Pahalı

Ucuz

Fazla memory tüketir

Az memory tüketir

Tüm data şifrelendiği için küçük bir kısımda yaşanan problemde tüm data kaybolabilir

Parçalı bir yapıda şifreleme olduğu için bozulan kısım sadece ilgili tarafın data’sını bozar

Integrity ve authentication sağlanır

Integrity ve authentication genelde yoktur

 

 

Güvenli Asal Sayı (Safe Prime Number)

p, bir asal sayı olmak üzere (p-1)/2 sayısı asal sayı ise p sayısına güvenli asal sayı denir. Güvenli asal sayının özelliği ayrık logaritma saldırışarına karşı güvenilir (daha fazla güvenilir) olmasıdır. Özellikle random olarak seçilen mod’larda güvenli asal sayı kullanılırsa güvenlik seviyesi ciddi ölçüde arttırılmış olacaktır. Güvenli asal sayının bir diğer avantajı g=2 ‘nin generator olarak kullanılabilmesidir.

 

Diffie – Hellman protokolünde P sayısının Asal Olması

P sayısından üretilecek sayınında asal ve güvenli asal olması için q sayısının asal olarak seçilmesi gerekmektedir. Bu algoritmanın dayandığı asıl konu asal sayının çarpanlarına ayrımının zorluğu olduğu için bu sayının asal olarak seçilmesi gerekmektedir. Burada seçilen q sayısının asal olmaması durumunda p rakamının asal veya asal olmayan bir rakam çıkma ihtimali vardır. Asal olmayan bir p değerinin çıkması durumunda çarpanlara ayırmanın zorluğuna dayana algoritmamızda zayıflıkların oluşmasına neden olacaktır. İki asal sayının çarpımını asal çarpanlarına ayırmak asal olmayan sayıları asal çarpanlarına ayırmaktan daha zor olduğu için N tam sayısını oluştururken bu iki asal sayının çarpımından elde ettiğimiz değeri kullanıyoruz. Bunun içinde seçilen q değerinin asal olması gerekmektedir. Fermat’s Little Theorem p asal bir sayı olduğunda, p g tarfından bölünmez ve gp−1 = 1 (mod p) eşitliği sağlanır. Fermant Teoreminins sağlanması için p sayısının asal olarak belirlenmesi gerekmektedir. Safe prime number kullanımı Pohling-Hellman Algoritması ile yapılan ayrık logaritma hesaplamalarının engellenmesidir. Pohling-Hellman Algoritmasına yönelik alınan önlemlerden olan Sophie German Prime özelliği q sayısının asal seçilerek p sayısının bu asal sayıdan p=2q+1 şeklinde üzerilmesi şeklinde yapılmaktadır.

 

 

RSA-OAEP
RSA’se semantik güvenliğini karşılaması için tasarlanmıştır. RSA saldırılarını ortadan kaldırmak için kullanılan RSA uygulamaları şifrelemeden önce düz mesaj olan
 clip_image002’ye rastsallaştırılmış dolgu uygularlar. Bu dolgu clip_image003’yi güvensiz düz metin aralığında olmaktan korur ve clip_image003’in sabit bir şifreli mesajı olmasını engeller. Dolgulama için tasarlanan PKCS#1 standardının ilk versiyonlarının adaptif seçilmiş şifreli mesaj atağına karşı dayanıksızlığı ortaya çıkınca sonraki versiyonlar bu atağı engellemek için OAEP içermekteler.

Hibrid Sistemler
Asimetriş şifreleme yavaş, simetrik şifrelemede anahtar dağıtımı sıkıntılı olduğu için bu sistem kullanılır. Hibrit şifreleme algoritmaları, simetrik ve asimetrik şifreleme algoritmalarının avantajlarını birleştirmektedir. Hibrit şifreleme sisteminde mesajı şifrelemek için simetrik şifreleme algoritması, mesajı şifrelemek için kullanılan simetrik anahtarı şifrelemek için de asimetrik şifreleme algoritması kullanılmaktadır. Bu tasarımın en güzel örneği PGP’dir. PGP her iki algoritmanın iyi özelliklerini birleştiren bir yöntemdir. Bu yöntemde kullanıcı veriyi PGP algoritması ile şifrelediğinde, PGP öncelikle veriyi sıkıştırır. Sıkıştırma işlemi şifrelenmemiş veri üzerinde bu bölgeleri azalttığı için saldırganlara karşı direnç kazandırılmış olur. Şifrelenmiş verinin çözülme işlemi de ters şekilde çalışır. Öncelikle özel anahtar ile sesion key çözülür. Daha sonra da şifrelenmiş veri çözülür. Bu algoritma açık anahtar algoritmasından 1000 kez daha hızlı çalışır. Anahtar paylaşımı ve verinin iletim problemlerine çözüm getirir.

Asimetrik şifreleme = Anahtar dağıtımı yapar

Simetrik şifreleme = Şifreleme yapar.

 

Özet Fonksiyonu (Hash)

Herhangi uzunlukta mesajdan sabit uzunlukta veri oluşturulmasıdır.

Aynı özeti veren iki mesaj bulunamasın(Hesapsal Güvenlik)

Kullanım yerleri Sayısal imza,Parola Saklama,Arşivleme,İnternette dosya indirme

·         SHA ailesi: SHA-1, SHA-2

·         MD ailesi: MD4, MD5

 

Çakışmaya dayanıklılık (Collision Resistance): Aynı özeti veren iki mesaj bulmak hesapsal olarak imkansız. Eşik güvenlik 2n/2, n: özet boyu. ozet(m1)=ozet(m2) eşitliğini sağlayacak aynı özet değerini veren 2 farklı mesaj (m1 ve m2 gibi) bulmak, matematiksel olarak zor veya imkansız olmalı.

 

Ters Görüntüye dayanıklılık – Tek yönlülük (Preimage Resistance – one way function): Verilmiş bir özet değerine sahip mesaj bulmak hesapsal olarak imkansız. Eşik güvenlik 2n , n: özet boyu. Verilmiş bir özet “o” için o=ozet(m) eşitliğini sağlayacak özet değerine sahip bir m mesajı bulmak, matematiksel olarak zor veya imkansız olmalı. Bu durum, özet fonksiyonun tek yönlü bir fonksiyon olma özelliğinden kaynaklanmaktadır.

 

İkinci Ters Görüntüye dayanıklılık (Second Preimage Resistance): Verilmiş bir mesajla aynı özeti veren başka bir mesaj bulmak hesapsal olarak imkansız. Eşik güvenlik 2n n: özet boyu. Verilmiş bir m1 mesajı için ozet(m1)=ozet(m2) eşitliğini sağlayacak aynı özeti veren farklı bir m2 mesajını bulmak, matematiksel olarak zor veya imkansız olmalı.

Makaleyi Paylaş

Cevap bırakın