Κεθάλαιο 3 Κρσπηογραθία δημόζιοσ κλειδιού και πιζηοποίηζη ασθεμηικόηηηας μημσμάηφμ Giannis F. Marias 1
Περίληυη Πνμζεγγίζεηξ ςξ πνμξ ηεκ πηζημπμίεζε μεκομάηςκ Σοκανηήζεηξ αζθαιμύξ θαηαθενμαηηζμμύ θαη HMAC Ανπέξ θνοπημγναθίαξ δεμόζημο θιεηδημύ Αιγόνηζμμη θνοπημγναθίαξ δεμόζημο θιεηδημύ Χεθηαθέξ οπμγναθέξ Δηαπείνηζε θιεηδηώκ Giannis F. Marias 2
Αρτές κρσπηογραθίας δημόζιοσ κλειδιού Η πνήζε δύμ θιεηδηώκ έπεη επίδναζε ζηε δηακμμή θιεηδηώκ, ηεκ ελαζθάιηζε ημο απμννήημο, θαη ζηεκ πηζημπμίεζε ηεξ αοζεκηηθόηεηαξ. Τμ ζύζηεμα έπεη έλη ζημηπεία Ανπηθό θείμεκμ Αιγόνηζμμξ θνοπημγνάθεζεξ Δεμόζημ θαη ηδηςηηθό θιεηδί Κνοπημγνάθεμα Αιγόνηζμμξ απμθνοπημγνάθεζεξ Giannis F. Marias 3
Κρσπηογράθηζη με ζύζηημα δημόζιοσ κλειδιού Giannis F. Marias 4
Πιζηοποίηζη με ζύζηημα δημόζιοσ κλειδιού Giannis F. Marias 5
Εθαρμογές για κρσπηοζσζηήμαηα Τνεηξ θαηεγμνίεξ: δημόζιοσ κλειδιού Κρσπηογράθηζη/αποκρσπηογράθηζη: Ο απμζημιέαξ θνοπημγναθεί έκα μήκομα με ημ δεμόζημ θιεηδί ημο παναιήπηε. Ψηθιακή σπογραθή: Ο απμζημιέαξ οπμγνάθεη έκα μήκομα με ημ ηδηςηηθό ημο θιεηδί. Αμηαλλαγή κλειδιώμ: Οη δύμ πιεονέξ ζοκενγάδμκηαη γηα κα ακηαιιάλμοκ έκα θιεηδί πενηόδμο ενγαζίαξ. Giannis F. Marias 6
Απαιηήζεις για κρσπηογραθία δημόζιοσ κλειδιού 1. Πνέπεη κα είκαη οπμιμγηζηηθά εύθμιμ κα θαηαζθεοάζεη θακείξ (B) έκα δεύγμξ (δεμόζημ θιεηδί KUb, ηδηςηηθό θιεηδί KR b ) 2. Πνέπεη κα είκαη εύθμιμ γηα ημκ απμζημιέα κα θαηαζθεοάζεη ημ θνοπημγνάθεμα: C EKUb(M ) 3. Πνέπεη κα είκαη εύθμιμ γηα ημκ παναιήπηε κα ημ απμθνοπημγναθήζεη με ημ ηδηςηηθό θιεηδί: M D KRb ( C) D [ E ( M)] KRb KUb Giannis F. Marias 7
Απαιηήζεις για κρσπηογραθία δημόζιοσ κλειδιού 4. Πνέπεη κα είκαη οπμιμγηζηηθά αδύκαημ κα πνμζδημνηζηεί ημ ηδηςηηθό θιεηδί (KR b ) όηακ είκαη γκςζηό ημ δεμόζημ θιεηδί (KU b ) 5. Πνέπεη κα είκαη οπμιμγηζηηθά αδύκαημ κα ακαθηεζεί ημ μήκομα M ακ γκςνίδμομε ημ KU b θαη ημ θνοπημγνάθεμα C 6. Οπμημδήπμηε από ηα δύμ θιεηδηά μπμνεί κα πνεζημμπμηεζεί γηα θνοπημγνάθεζε, θαη ημ άιιμ γηα απμθνοπημγνάθεζε: M D KRb [ E ( M)] D [ E ( M)] KUb KUb KRb Giannis F. Marias 8
Κρσπηογραθικοί αλγόριθμοι δημόζιοσ κλειδιού RSA θαη Diffie-Hellman RSA - Ron Rives, Adi Shamir, θαη Len Adleman ζημ MIT, ημ 1977. Ο RSA είκαη θςδηθμπμηεηήξ ημεμάηςκ Ο πημ εονέςξ δηαδεδμμέκμξ αιγόνηζμμξ Diffie-Hellman Αζθαιήξ ακηαιιαγή μοζηηθώκ θιεηδηώκ Υπμιμγηζμόξ δηαθνηηώκ ιμγάνηζμςκ Giannis F. Marias 9
Ο αλγόριθμος RSA Δημιοσργία κλειδιού 1. Δηάιελε p, q p θαη q είκαη πνώημη ανηζμμί 2. Υπμιόγηζε ημ n = p x q 3. Υπμιόγηζε ημ Φ(n) = (p - 1)(q - 1) 4. Δηάιελε αθέναημ e ώζηε gcd(φ(n), e)=1; 1<e<Φ(n) 5. Υπμιόγηζε ημ d όπμο d = e -1 mod Φ(n) 6. Δεμόζημ θιεηδί KU = {e,n} 7. Ιδηςηηθό θιεηδί KR = {d,n} Giannis F. Marias 10
Παράδειγμα ηοσ αλγορίθμοσ RSA Giannis F. Marias 11
Ο αλγόριθμος RSA - Κρσπηογράθηζη Ανπηθό θείμεκμ: M < n Κνοπημγνάθεμα: C = M e (mod n) Giannis F. Marias 12
Ο αλγόριθμος RSA - Αποκρσπηογράθηζη Κνοπημγνάθεμα : C Ανπηθό θείμεκμ : M = C d (mod n) Giannis F. Marias 13
Αμηαλλαγή κλειδιώμ Diffie-Hellman Giannis F. Marias 14
Άλλοι κρσπηογραθικοί αλγόριθμοι δημόζιοσ κλειδιού Digital Signature Standard (DSS) Φνεζημμπμηεί ημκ SHA-1 Όπη γηα θνοπημγνάθεζε ή ακηαιιαγή θιεηδηώκ Elliptic-Curve Cryptography (ECC) Καιόξ γηα μηθνό μέγεζμξ ζε bit Φαμειή εμπηζημζύκε ζε ζπέζε με ημκ RSA Πμιύ ζύκζεημξ Giannis F. Marias 15
Διατείριζη κλειδιώμ Χρήζη πιζηοποιηηικώμ δημόζιοσ κλειδιού Giannis F. Marias 16
Μομόδρομη ζσμάρηηζη καηακερμαηιζμού Secret Value S Secret Value S Sender Receiver Γκςζηή Μοζηηθή ηημή S Network Η μοζηηθή ηημή πνμζηίζεηαη πνηκ από ημκ H() [Message, H(Message,S)] Security Services Provided with MAC Data Origin Authentication Data Integrity Giannis F. Marias 17
Αζθαλείς ζσμαρηήζεις καηακερμαηιζμού Σθμπόξ μηαξ ζοκάνηεζεξ θαηαθενμαηηζμμύ είκαη ε παναγςγή εκόξ απμηοπώμαημξ. Ιδηόηεηεξ μηαξ ζοκάνηεζεξ θαηαθενμαηηζμμύ H : 1. Μπμνεί κα εθανμμζηεί ζε ημήμα δεδμμέκςκ μπμημοδήπμηε μεγέζμοξ 2. Πανάγεη απμηέιεζμα ζηαζενμύ μεγέζμοξ 3. Η ζοκάνηεζε H(x) οπμιμγίδεηαη εύθμια γηα θάζε x 4. Γηα θάζε ημήμα x, είκαη οπμιμγηζηηθά αδύκαημ κα βνεζεί x ηέημημ ώζηε H(x)=h 5. Γηα θάζε ημήμα x, είκαη οπμιμγηζηηθά αδύκαημ κα βνεζεί y<>x ηέημημ ώζηε H(y)=H(x) 6. Γίκαη οπμιμγηζηηθά αδύκαημ κα βνεζεί δεύγμξ (x, y) ηέημημ ώζηε H(x) = H(y) Giannis F. Marias 18
Απλή ζσμάρηηζη καηακερμαηιζμού Η θοθιηθή μιίζζεζε θαηά έκα bit ζηεκ ηημή θαηαθενμαηηζμμύ μεηά ηεκ επελενγαζία θάζε ημήμαημξ ζα βειηίςκε ηεκ αζθάιεηα Giannis F. Marias 19
Δημιοσργία SHA Giannis F. Marias 20
HMAC Φνήζε θςδηθμύ MAC πμο πνμθύπηεη από θνοπημγναθηθό θςδηθό θαηαθενμαηηζμμύ, όπςξ μ SHA-1. Κίμηηρα: Οη θνοπημγναθηθέξ ζοκανηήζεηξ θαηαθενμαηηζμμύ εθηειμύκηαη πημ γνήγμνα ζε ιμγηζμηθό, ζε ζπέζε με αιγόνηζμμοξ θνοπημγνάθεζεξ όπςξ μ DES Υπάνπμοκ εονέςξ δηαδεδμμέκεξ βηβιημζήθεξ θνοπημγναθηθμύ θώδηθα Δεκ οπάνπμοκ πενημνηζμμί ελαγςγήξ από ηηξ ΗΠΑ Giannis F. Marias 21
Πιζηοποίηζη Μημσμάηφμ Απαηηήζεηξ - Πνέπεη κα μπμνεί κα επαιεζεοζεί όηη: 1. Τμ μήκομα πνμήιζε από ηεκ πνμθακή (ημκ ακαμεκόμεκμ) πνμέιεοζε (δεμημονγό) 2. Τα πενηεπόμεκα δεκ έπμοκ ηνμπμπμηεζεί, 3. (Καη ίζςξ όηη) Σηάιζεθε ζε ζογθεθνημέκε πνμκηθή ζηηγμή ή ζεηνά (notarization) Πνμζηαζία από εκενγεηηθέξ επηζέζεηξ Παναπμίεζε ηαοηόηεηαξ παναπμίεζε δεδμμέκςκ Παναπμίεζε ζοκαιιαγώκ Giannis F. Marias 22
Προζεγγίζεις φς προς ηημ πιζηοποίηζη μημσμάηφμ Πηζημπμίεζε με ζομβαηηθή θνοπημγνάθεζε Μόκμ μ απμζημιέαξ θαη μ παναιήπηεξ μμηνάδμκηαη ημ θιεηδί Πηζημπμίεζε μεκύμαημξ πςνίξ θνοπημγνάθεζε Δεμημονγείηαη θαη ζοκδέεηαη μηα εηηθέηα πηζημπμίεζεξ Κςδηθόξ Πηζημπμίεζεξ Μεκύμαημξ (MAC) Υπμιμγίδεηαη μ θςδηθόξ MAC ςξ ζοκάνηεζε ημο μεκύμαημξ θαη ημο θιεηδημύ: MAC = F(K, M) Giannis F. Marias 23
Giannis F. Marias 24
Μομόδρομη ζσμάρηηζη καηακερμαηιζμού Giannis F. Marias 25
Άλλες αζθαλείς ζσμαρηήζεις καηακερμαηιζμού SHA-1 MD5 RIPEMD- 160 Μέγεζμξ ζύκμρεξ 160 bit 128 bit 160 bit Βαζηθή μμκάδα επελενγαζίαξ 512 bit 512 bit 512 bit Ανηζμόξ βεμάηςκ 80 (4 θύθιμη ηςκ 20) 64 (4 θύθιμη ηςκ 16) 160 (5 δεύγε θύθιςκ ηςκ 16) Μέγηζημ μέγεζμξ μεκύμαημξ 2 64-1 bit Giannis F. Marias 26