kriptolojinin temelleri ve elektronik İmza altyapısı eğitimi 26.12.2008
TRANSCRIPT
ODTÜ UYGULAMALI MATEMATİK ENSTİTÜSÜ
Kriptolojinin Temelleri ve
Elektronik İmza Altyapısı
I.Genel Kriptolojiye Giriş 1.Temel Kavramlar 2.Simetrik Kriptografi 3.Anahtarsız Sistemler 4.Asimetrik Kriptografi
II.Açık Anahtar Altyapısı
İçerik
Genel Kriptolojiye Giriş
Temel Kavramlar
i. Kriptoloji, kriptografi, kriptanaliz
ii. Temel Amaçlar
iii. Şifreleme, şifre çözme
iv. Atak çeşitleri
Temel Kavramlar
Kriptografi
Kriptoloji
Kriptanaliz
Kriptoloji
Ø Haberleşmede veri güvenliğini sağlayan şifreleme
cihazlarını, bu cihazlarda kullanılan algoritmaların tasarımını
ve bu algoritmaların güvenilirliğini araşPrır
Ø MatemaRk bazlı olup elektrik ve elektronik mühendisliği,
bilgisayar mühendisliği, istaRsRk ve fizik bölümlerini
ilgilendiren disiplinlerarası bir alandır.
Kriptografi
Ø Kriptografi, ileRlen bilginin istenmeyen şahıslar taraSndan
anlaşılmayacak bir biçime dönüştürülmesinde kullanılan
tekniklerin bütünüdür.
Ø Kriptografi gizlilik, bütünlük, kimlik deneRmi ve inkar
edememe gibi bilgi güvenliğinin temel amaçlarını sağlamaya
çalışan matemaRksel yöntemleri içermektedir.
Kriptanaliz
Ø Kriptolojinin, kriptografik sistemlerin şifrelenmiş
meRnlerini çözebilmek için bu sistemlerin güvenliklerini
inceleyen -‐ zayıf yanlarını bulmaya çalışan dalıdır.
Ø Anahtara sahip olmadan bir gizli yazının açık halini bulma
bilimi olarak da nitelendirilebilir.
Temel Amaçlar
Bilgi istenmeyen kişiler taraSndan anlaşılamamalıdır.
Bilginin ileRlirken hiç değişRrilmemiş olduğu
doğrulanmalıdır.
Temel Amaçlar
Gönderici ve alıcı birbirlerinin kimlikleri doğrulamalıdır.
Gönderici bilgiyi gönderdiğini inkar edememelidir.
Temel Amaçlar
Temel Kavramlar
Şifreleme ile açık meRn (düz meRn) bir anahtar ve açık bir algoritma kullanarak şifreli
metne (kapalı meRn) dönüştürülür.
Şifre çözme, şifreleme işleminin tersidir, şifreli meRn yine anahtar
kullanılarak açık metne dönüştürülmekRr.
Şifreleme ve şifre çözme için kullanılan anahtarlar gizli
(simetrik) ya da açık (asimetrik) olabilir.
Atak Çeşitleri
v Sadece Şifreli MeRn Saldırısı v Bilinen Açık MeRn Saldırısı v Seçilmiş Açık MeRn Saldırısı v Seçilmiş Şifreli MeRn Saldırısı v Seçilmiş Açık ve Şifreli MeRn Saldırısı v Uyarlamalı Seçili Açık MeRn Saldırısı
Atak Çeşitleri Uyarlamalı Seçili Açık Me@n Saldırısı
< 1024 0 <
X<512?
X<256?
X<128 ?
X < 64 ?
X < 32 ?
X < 16 ?
X < 8 ?
X < 4 ? X < 2 ?
X = 1
0111110100
Seçilmiş Şifreli Me@n Saldırısı
500
Klasik Kriptografik Sistemler
Ø Atbash (M.Ö. 600-‐500)
-‐İbranice (Alef, Taw, Bet, Shin)
Ø Scytale (Sparta -‐ M.Ö. 500)
-‐İki eşit çaplı tahta silindir
-‐Şifreli meRn açık meRndeki
harflerin karışımıdır
a b c d e f g h i j k l m n o p q r s t u v w x y z Z Y X WV U T S R Q P O N M L K J I H G F E D C B A
[3] ChttpŞwww……
Klasik Kriptografik Sistemler
Ø Sezar Şifresi (M.Ö. 100-‐44)
-‐ Harflerin alfabede k konum sonrasındaki karşılığı ile değişRrir
-‐ Julies Sezar anahtar olan k’yi hep 3 olarak seçmişRr.
-‐ MERHABA à PHUKDED
-‐ Kriptanalizi istaRsRksel analizle kolayca yapılmaktadır
a b c d e f g h i j k l m n o p q r s t u v w x y z D E F G H I J K L M N O P Q R S T U V WX Y Z A B C
[3] ChttpŞwww……
Klasik Kriptografik Sistemler
Ø Enigma 1923 (Arthur Scherbius, 1878-‐1929)
-‐Dönen silindir ile açık metnin her harfi yeni bir permütasyonla şifrelenir.
-‐2.Dünya Savaşında 200.000’den fazla sayıda Enigma makinesi üreRlmişRr.
-‐Kriptanalizine Polonyalılar önderlik etmişRr
-‐Daha sonra, İngiltere’de yaklaşık 7000 kişinin çabaları sonucu, Enigma ile şifrelenen meRnler çözülmüştür.
-‐Çözülmesi savaşın bitmesinde önemli rol oynamışPr
[3] ChttpŞwww……
Günümüzde kriptografik sistemler
Bugün, kriptografi çok geniş uygulama alanlarına dahil olarak günlük hayaPn önemli bir parçası olmuştur:
• sim kartlar,
• cep telefonları, • uzaktan kumandalar,
• online bankacılık, • online alışveriş, • uydu alıcıları, vs.
[1] ChttpŞwww……
Sınıflandırma
Kriptografik Sistemler
Asimetrik (Açık)
Anahtarlı
Anahtarsız
Simetrik (Gizli)
Anahtarlı
I.Genel Kriptolojiye Giriş 1.Temel Kavramlar 2.Simetrik Kriptografi 3.Asimetrik Kriptografi 4.Anahtarsız sistemler
II.Açık Anahtar Altyapısı
İçerik
Ø Gizli anahtarlı sistemlerde, açık meRn algoritmik işlemler ile gizli
bir anahtar kullanarak şifrelenir.
Ø Şifre çözme algoritması da bu gizli anahtarı kullanarak şifreli
metni açık metne çevirir.
AÇIK METİN …………….….……………………….
AÇIK METİN …………….….……….…………….….
ŞİFRELEME ALGORİTMASI
ŞİFRE ÇÖZME ALGORİTMASI
ŞİFRELİ METİN ^+%&+&%&/% &/45+%&(++İ%
Gönderici ve alıcı tarafından paylaşılan
gizli anahtar
Simetrik (Gizli) Anahtarlı Sistemler
Simetrik (Gizli) Anahtarlı Sistemler
Gizli Anahtar
BLOK ŞİFRELER
AKAN ŞİFRELER
DES, AES, IDEA, KASUMI, SAFER, RC5
A5/1 (GSM), RC4 (WEP), E0(Bluetooth)
Blok Şifreler
i. Blok Şifreler Nedir?
ii. Çeşitleri (DES , AES)
iii. Çalışma Modları
Blok Şifreler Ø Blok şifreler, açık metni eşit uzunluktaki bloklara ayırıp,
her bir bloğu bir fonksiyon yardımı ile tek tek şifreleyerek
şifreli metni oluşturur.
n-‐bit n-‐bit
Açık Metin
BLOK ŞİFRE
Anahtar k-‐bit
Şifreli Metin
n-‐bit n-‐bit n-‐bit
n = 64,128,256 bit
k = 64,80,128 168,192,256 bit
n-‐bit
Blok Şifreler -‐ Tanım Ø Blok şifre sistemi matemaRksel olarak şöyle
tanımlanabilir:
E: {0,1}k x {0, 1}n → {0, 1}n
Ø Girdi olarak k-‐bitlik bir anahtar ve n-‐bitlik açık
meRn bloğunu alır
Ø ÇıkP olarak n-‐bitlik şifreli meRn bloğu verir
E(k, P) = Ek(P) = C.
Blok Şifreler Ø Aynı anahtarı kullanarak her farklı girdi bloğu için farklı bir çıkP
oluşturulmaktadır.
Açık Metin n-‐bit n-‐bit
BLOK ŞİFRE Anahtar k-‐bit
n-‐bit n-‐bit n-‐bit
n-‐bit
Şifreli Metin
P1 P2 P3
C1 C2 C3
Örnek Blok Şifre
E: {0,1}k x {0, 1}n → {0, 1}n
Ø k = 2-‐bit ve n = 3-‐bit diyelim,
Ø (2n)! = 8! = 40320 olası permütasyon’dan
sadece 2k = 22 = 4 tanesi kullanılıyor
Ø Bu blok şifrenin dönüşümleri aşağıdaki gibi olsun :
k=00, p0=(4,6,1,8,5,7,3,2)
k=01, p1=(5,2,7,1,8,6,4,3)
k=10, p2=(8,6,2,1,3,4,5,7)
k=11, p3=(3,8,6,2,4,7,5,1)
Örnek Blok Şifre
ŞİFRELEME E: {0,1}2 x {0, 1}3 → {0, 1}3
k=00, p0=(4,6,1,8,5,7,3,2)
Adres Açık metin Şifremetin
1 001 100
2 010 110
3 011 001
4 100 000
5 101 101
6 110 111
7 111 011
8 000 010
X=011’i şifreleyelim.
X’in adresi 3
Y=Ek(X)=Ek(3)=001
Örnek Blok Şifre
ŞİFRE ÇÖZME
⎟⎟⎠
⎞⎜⎜⎝
⎛=
4625178387654321
'0p
Y=001’ i çözelim
Y’nin adresi 1.
Ek-1(Y)=Ek
-1(1)=011=X.
Adres Şifremetin Açık metin
1 001 011
2 010 000
3 011 111
4 100 001
5 101 101
6 110 010
7 111 110
8 000 100
Blok Şifreler – StandartlaşPrma
• Kabul edilen kriterler – Mükemmel gizlilik – İddia edilen güvenliğin ispatlanması – Bilinen ataklara karşı güvenlik – Uygulamaya yönelik önlemler – Performans
Blok Şifreler – StandartlaşPrma • Amerikan Milli Standartlar Bürosu (NBS) bilgi güvenliğini sağlamak için bir şifreleme algoritması geliştirmek amacıyla 1973’de proje başlattı.
• 1974’te IBM tarafından finansal uygulamalar için geliştirmiş bir şifreleme ailesi (LUCIFER) duyuruldu.
• NBS tarafından geliştirildi ve 1977’de NBS ilk standart Data Encryption Standard (DES)"i Federal Information Processing Standard (FIPS 46) olarak duyurdu.
Blok Şifreler – StandartlaşPrma Bilgi Şifreleme Standardı DES (Data Encryption Standard )
§ 64 bitlik açık metin bloğu ve 56 bitlik anahtar kullanılarak 64
bitlik şifre metin bloğu elde edilir.
§ Açık metine permütasyon işlemleri uygulanır.
§ DES 16 döngüden oluşur.
§ Her döngüde de farklı bir anahtar kullanılır.
Düzmetin (64 bit)
Başlangıç Permütasyonu
Sağ Kol (R1,32 bit)
Sol Kol (L1,32 bit)
F(R1,K1)+
Sol Kol (L2,32 bit)
Sağ Kol (R2,32 bit)
F(R2,K2)+
+ F(R16,K16)
Başlangıç Permütasyonunun Tersi
Şifremetin (64 bit)
1. Döngü
2. Döngü
16. Döngü
58 50 42 34 26 18 10 02 …
40 08 48 16 56 24 64 32 …
Bilgi Şifreleme Standardı(3DES)
Açık Metin
Şifreli Metin
DES
DES
DES
Anahtar 1
Anahtar 2
Anahtar 3
Şifreleme
Şifreleme
Şifre çözme
§ NIST 1997’de yarışma açar
§ Rijndael Algoritması (Joan Daemen, Vincent
Rijmen), 2001 yılında 15 aday algoritma arasından
DES’in yerine standart olarak atanmıştır.
§ DES'in zayıf yönlerinden hareketle bilinen tüm
ataklara karş ı önlemler alınmış , kolayca
anlaş ı labi l i r yapıda olup birçok ortamda
çalışabilecek düzeydedir.
Gelişmiş Şifreleme Standardı AES (Advanced Encryption Standard )
Blok Şifreler – StandartlaşPrma
[2] ChttpŞwww……
Gelişmiş Şifreleme Standardı (AES)
§ 128 bitlik girdiyi 128, 192 ya da 256 bitlik anahtar kullanarak
128 bitlik şifreli metin ortaya çıkar.
§ 128 bit anahtar için 10 döngü, 192 bit anahtar için 12 döngü,
256 bit anahtar için 14 döngü bulunmaktadır.
§ Bölümleri: Bayt değiştirme
Satır kaydırma
Sütun karıştırma
Döngü anahtarı ekleme
DES’in anahtarını 1 saniyede bulan bir makine, AES’in
128-bitlik anahtarını 149
trilyon yılda bulabilir.
Açık Metin
128 Bit = 16 byte
Döngü 1
Döngü 2
Döngü 10
S KUTUSU
S KUTUSU
S
KUTUSU
SATIR ÖTELE
SATIR ÖTELE
SATIR ÖTELE
SÜTUN KARIŞTIR
SÜTUN KARIŞTIR
Şifreli Metin
[3] ChttpŞwww……
Blok Şifreler – Çalışma Modları
Orjinal resim Elektronik Kod Modu Ø Açık meRnde aynı olan bloklar aynı anahtar kullanılarak şifrelendiğinde aynı şifreli metni verir.
Ø İstaRsRksel olarak açık meRn hakkında bilgi veren bu durumu ortadan kaldırmak için çeşitli çalışma modları önerilmişRr.
[3] ChttpŞwww……
Blok Şifreler – Çalışma Modları
Kapalı MeRn Zincirleme Modu CBC (Cipher-‐Block Chaining )
ŞİFRELEME ŞİFRE ÇÖZME
[3] ChttpŞwww……
Blok Şifreler – Çalışma Modları
Karşılık Modu CTR (Counter)
[3] ChttpŞwww……
Blok Şifreler – Çalışma Modları
Orjinal resim ECB modu CTR modu
[14] httpŞwww……
Akan Şifreler
i. Akan Şifreler Nedir?
ii. Çeşitleri
1. Kullan-‐At (One Time Pad)
2. A5/1
3. E0
Akan Şifreler Ø Akan Şifreler işlevini açık metnin her bir karakterini zamanla
değişen bir fonksiyona sokarak yerine geRrir .
Ø Girdi olarak alınan bir anahtar (K) ve başlangıç vektörü (IV) ile üreteç mümkün olduğu kadar uzun periyotlu ve rastgele gözüken
anahtar dizilerini (z1,z2,z3…) üreRr ve elde ezği anahtarı açık
meRnle şifreleme fonksiyonuna (h) sokarak şifreli metni elde eder.
AKAN ŞİFRE Anahtar K
Başlangıç Vektörü IV Anahtar dizisi z1,z2,z3…
Açık Metin m1,m2,m3…
Şifreli Metin c1,c2,c3…
Akan Şifreler – Çeşitleri Kullan-At (One Time Pad)
Ø 1917’de Gilbert Vernam ve Major Joseph Mauborgne tarafından bulunmuştur.
Ø 1948’de Shannon, eğer anahtar rastlantısal ve bir kereliğine kullanılırsa bu şifrenin kırılamadığını kanıtladı
Ø Açık metin, sahip olduğu uzunluğa eşit ve rastgele oluşturulan bir anahtar ile şifreli metine dönüştürülür.
Ø Mükemmel gizlilik sağlar ama anahtar uzunluğu açık metin ile aynı uzunlukta olduğundan pratik değildir.
Örnek Kullan-‐At Şifreleme ŞİFRELEME
Anahtar K = 010011010001 (rastgele ve tek kullanımlık) Açık metin P = 101010111010 Şifreli metin C = 111001101011
ŞİFRE ÇÖZME Şifreli metin C = 111001101011 Anahtar K = 010011010001 Açık metin P = 101010111010
(212 olası anahtar)
+
+
+ 0 1
1 1
1 0
0 0
Akan Şifreler – Çeşitleri A5/1 (GSM)
A5/1 hava kanalı üzerinden ses şifrelemesinde kullanılan güçlü bir şifreleme algoritmasıdır
C httpŞwww……
Akan Şifreler – Çeşitleri E0 ( )
C httpŞwww……
Akan Şifrelerin Gelişimi
• Son 5 yıl içerisinde büyük bir gelişim gösterdi
• Donanım için uygun ve hızlı algoritmalar mevcut
• Standart ve açık çözümler konusunda eksikler var
• ECRYPT’in 2004’te açtığı yarışma eStream: 34 aday algoritma’dan Eylül 2008 itibariyle 7 tanesi
kullanılabilir olarak seçildi ancak bunların standart olmaları için henüz erken olduğu belirtilmektedir.
I.Genel Kriptolojiye Giriş 1.Temel Kavramlar 2.Simetrik Kriptografi 3.Anahtarsız sistemler 4.Asimetrik Kriptografi
II.Açık Anahtar Altyapısı
İçerik
Genel Kriptolojiye Giriş
3.Anahtarsız Sistemler
i. Özet Fonksiyonlar
1. Güvenlik kriterleri
2. SHA
3.RIPEMD
Özet Fonksiyonlar MAVİ KIRMIZI BEYAZ
? MAVİ KIRMIZI BEYAZ
Özet Fonksiyonlar h: {0,1}* à {0,1}n
v h fonksiyonu, herhangi bir uzunluktaki açık metni alıp sabit uzunlukta bir çıkP verir. v Büyük bir tanım kümesinden sabit görüntü kümesine çoktan-‐bire eşlemedir.
h: Açık MeRn à Özet v Bu nedenle aynı özete sahip meRnler bulunabilir. Temel Özellikleri:
SıkışPrma Hesaplama kolaylığı
Özet Fonksiyonlar -‐ Güvenlik Kriterleri Ø Bir açık metnin özet fonksiyon değeri o metnin parmak izi veya DNA’sı gibi olmalıdır.
SHA (Secure Hash Algorithm)
• 1993’te Amerikan Ulusal Güvenlik Kurumu (NSA) tasarladı ve Ulusal Teknoloji ve Standartlar Enstitüsü (NIST) yayımlandı (SHA-0)
SHA
SHA-‐0 SHA-‐1 SHA-‐2
SHA-‐3 (2012)
• 1995’te SHA-0 SHA-1 olarak yeniden tasarlandı
• SHA-224 • SHA-256 • SHA-384 • SHA-512
Genel Kriptolojiye Giriş
4.Asimetrik Kriptografi
-‐RSA
Asimetrik Kriptografi (Açık Anahtar Kriptografisi)
Ø 1976 yılında Diffie ve Hellman Ø Gizliliğin yanı sıra, kimlik doğrulama ve inkar edememe Ø Simetrik Kriptografi’deki anahtar dağıPmı sorununa çözüm Ø Gizli ve açık, iki çeşit anahtar mevcut Ø Açık anahtarlar herkes taraSndan bilinir. Ø Gizli anahtarlar kişiye özeldir.
Diffie-‐Hellman Anahtar Değişimi • Gizli anahtarlı sistemlerde 2 kişinin güvenli haberleşebilmesi için 1 anahtara
• Gizli anahtarlı sistemlerde 3 kişinin kendi aralarında güvenli haberleşebilmesi için 3 anahtara
• Gizli anahtarlı sistemlerde n kişinin kendi aralarında güvenli haberleşebilmesi için n(n-1)/2 anahtara ihtiyaç vardır.
Diffie-‐Hellman Anahtar Değişimi • Giz l i anah ta r l ı s i s tem le rde şifreleme ve şifre çözme için ortak bir anahtar gerekmektedir. • Diffie-Hellman anahtar değişimi bu a n a h t a r ı o l u ş t u r m a k i ç i n kullanılmaktadır
• Sonlu cisimler üzerinde veya eliptik eğri aritmetiğ inde bu anahtar d e ğ i ş i m i n i n u y g u l a m a s ı yapılabilmektedir.
C httpŞwww……
Asimetrik Kriptografi AÇIK METİN ………………. ………………. ………………. ………………. ……………….
AÇIK METİN ………………. ………………. ………………. ………………. ……………….
BARIŞ AYŞE
ŞİFRELİ METİN ^+%&+&%&/% &/45+%&(++İ% ;+^^^%+&%%//(&/8Ü~67~767 644-5+%+)(())?-
AÇIK GİZLİ
RSA Algoritması
Ø 1977 -‐ Ron Rivest, Adi Shamir ve Leonard Adleman
Ø Çarpanlara ayırmanın zorluğunu temel alır
Ø Şifreleme ve elektronik imza uygulamalarında kullanılmaktadır.
RSA Algoritması
Ø Çarpanlara ayırma problemi nedir ?
Ø Verilen N sayısını bölen asal sayıları bulmak
Ø 21’in çarpanları nedir?
Ø 1024bitlik sayı ?
RSA’da Anahtar Oluşturma
Ø Ayşe iki asal sayı p ve q’yu seçer. Örnek p=17 ve q=11
Ø N = p x q’yu elde eder. N = 17 x 11 = 187
Ø φ(N)= (q-‐1)x(p-‐1)’i hesaplar. φ(N)= 16 * 10 = 160
Ø 1 < e < φ(N) ve obeb(e, φ(N))=1 olan bir e seçer.
e = 7 diyelim; 1< e=7 < 160 ve obeb(7,160)=1
N =187 p = 17 q =11 e = 7
ü
N =187 p = 17 q =11 e = 7
RSA’da Anahtar Oluşturma
Ø 1 < d < φ(N) ve e x d = 1 (mod φ(N)) olan d’yi bulur
7 x d = 1 (mod 160) => d = 23
Ø Böylece Ayşe gizli p, q ve d anahtarlarını, açık N ve e anahtarlarını oluşturmuş olur.
d = 23 Gizli Anahtarlar: Açık Anahtarlar:
RSA – Şifreleme
BARIŞ
AYŞE
Gizli: p=17,q=11,d=23
Açık: N=187 ,e=7
Merhaba
• m =Merhaba (m = 88)
• C = me (mod N) • C = 887 = 11 (mod 187)
&Şğ4%3?4’ ? (C =11)
RSA – Şifre Çözme
BARIŞ AYŞE
Barış: Merhaba
&Şğ4%3?4’
(C =11)
Anahtarlar
Açık: N=187 ,e=7
Gizli: p=17,q=11,d=23
• C = 11
• m = Cd (mod N) ->m = 1123 = 88 (mod 187)
->m = Merhaba
RSA – İmzalama
BARIŞ AYŞE Sevgili Barış, ………………………..…… ………………………………………………………………………………………………………………………………………………………………
Ayşe
H
H(m) m
Özet: e10f1ss8�3
Açık: N=187 ,e=7
Gizli: p=17,q=11,d=23
H(m)d (mod N) = s
Elektronik İmza
AYŞE
Sevgili Barış, ………………………..…… ……………………………………………………………………………………………………………………………
Ayşe Elektronik İmza
AYŞE
Benimle bir daha asla…....………………… ……………………………………………………………………………………………………………………………
Ayşe
RSA – İmza doğrulama
BARIŞ
Elektronik İmza
AYŞE
AYŞE
Kötü Adam
????
Benimle bir daha asla…....………………… ……………………………………………………………………………………………………………………………
Ayşe
RSA – İmza doğrulama
BARIŞ Elektronik İmza
AYŞE
Ayşe’nin Açık Anahtarları: N=187 ,e=7
H H(m)
se (mod N) = H(m)
m
s
: )
[7] ChttpŞwww……
Çok Seviyeli Güvenliğe Uygun Veri Paylaşımı
Uygulaması
1. BÖLÜM SONU