Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεIrene Panagos Τροποποιήθηκε πριν 9 χρόνια
1
Εντροπία & Τυχαιότητα, Γεννήτορες (Ψευδο-)Τυχαιότητας
Κρυπτογραφία Εντροπία & Τυχαιότητα, Γεννήτορες (Ψευδο-)Τυχαιότητας Κέρκυρα, 2012 Δρ. Ε. Μάγκος
2
Syllabus Η Εντροπία ως μέτρο πληροφορίας και ως μέτρο αβεβαιότητας
Πλεονασμός φυσικής γλώσσας και Εντροπία Εντροπία και Ασφάλεια Κρυπτοσυστήματος Πού χρειαζόμαστε την Τυχαιότητα – Εφαρμοσμένη Τυχαιότητα Γεννήτορες Τυχαιότητας και Ψευδοτυχαιότητας Κρυπτογραφικώς Ασφαλείς Γεννήτορες Ψευδοτυχαιότητας
3
Θεωρία της Πληροφορίας και Κρυπτολογία Claude Shannon
Θεωρία Πληροφορίας (Information Theory) Πώς οι μαθηματικοί νόμοι διέπουν τα συστήματα επικοινωνίας Θεωρία Πληροφορίας και Κρυπτολογία Κρυπτανάλυση και πλεονασμός φυσικής γλώσσας Εντροπία και ασφάλεια κρυπτοσυστημάτων * * C.E. Shannon, "A Mathematical Theory of Communication", Bell System Technical Journal, vol. 27, pp , , July, October, 1948 C.E. Shannon, “Communication Theory of Secrecy Systems”, Bell Systems Technical Journal,. Vol. 28, pp. 656–715, 1948.
4
Ποσότητα Πληροφορίας, Εντροπία και Αβεβαιότητα
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Ποσότητα Πληροφορίας, Εντροπία και Αβεβαιότητα Ποσότητα πληροφορίας (Amount of information) : O ελάχιστος αριθμός bit για την κωδικοποίηση όλων των πιθανών νοημάτων που μπορεί να έχει ένα μήνυμα Εντροπία Μηνύματος Μέτρο της ποσότητας πληροφορίας ενός μηνύματος Εντροπία = Αβεβαιότητα Πόσα είναι τα bit αβεβαιότητας του κρυπταναλυτή όταν το μήνυμα είναι κρυπτογραφημένο n – o αριθμός των πιθανών τιμών του μηνύματος Μ Θεωρούμε ότι και οι n τιμές είναι ισοπίθανες
5
Πλεονασμός, Εντροπία και Αβεβαιότητα
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Πλεονασμός, Εντροπία και Αβεβαιότητα Ένας γεννήτορας bit παράγει 60 bit πληροφορίας (από αριστερά προς δεξιά): Η παραπάνω συμβολοσειρά εμφανίζει πλεονασμό (redundancy). Μπορείτε να τον εντοπίσετε; Πόσα bit πραγματικής πληροφορίας (εντροπία) αντιπροσωπεύουν τα 60 bit της εικόνας;
6
H Εντροπία ως μέτρο αβεβαιότητας
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 H Εντροπία ως μέτρο αβεβαιότητας Πείραμα: μια τυχαία μεταβλητή X παίρνει τιμές σύμφωνα με μια κατανομή πιθανότητας Ποια η ποσότητα πληροφορίας (σε bit) που κερδίζουμε παρατηρώντας την Χ; Αλλιώς: Πόσα (ελάχιστα) bit χρειαζόμαστε για να κωδικοποι-ήσουμε κάθε πιθανή τιμή της Χ; Αλλιώς: Ποια η αβεβαιότητα (σε bit) για την έξοδο του πειράματος (πριν το παρατηρήσουμε); π.χ. Ρίξιμο νομίσματος Πιθ(κορώνα) = ½ Πιθ(γράμματα) = ½ Πληροφορία = 1 bit Ρίξιμο n νομίσμάτων Πιθ(κορώνα) = ½ Πιθ(γράμματα) = ½ Πληροφορία = n bit
7
H Εντροπία ως μέτρο αβεβαιότητας Τυπικός Ορισμός
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 H Εντροπία ως μέτρο αβεβαιότητας Τυπικός Ορισμός Λογάριθμος: με βάση το 2*
8
H Εντροπία ως μέτρο αβεβαιότητας
Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall,2003 H Εντροπία ως μέτρο αβεβαιότητας Πλήρης Βεβαιότητα Έστω ότι μια Πηγή S παράγει μια τιμή με πλήρη βεβαιότητα – πιθανότητα 1 Ποια η εντροπία της πηγής; Εάν είμαστε βέβαιοι για ένα ενδεχόμενο, ποιο το νόημα να «ξοδέψουμε» bit για να το καταγράψουμε; Πλήρης Αβεβαιότητα Έστω ότι μια πηγή S παράγει μια τιμή με πλήρη αβεβαιότητα – (ομοιόμορφη κατανομή: κάθε τιμή έχει πιθανότητα 1/n) Ποια η εντροπία της πηγής; Εάν είμαστε αβέβαιοι για ένα ενδεχόμενο, θα χρειαστούμε τόσα bits ώστε να καταγράψουμε κάθε πιθανή τιμή που θα προκύψει !
9
Ποια είναι η εντροπία της “πηγής” Alice:
Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Γενικά, η κρυπτογραφία χρησιμοποιείται όπου και όταν δεν υπάρχει εμπιστοσύνη μεταξύ των συμμετεχόντων σε ένα πρωτόκολλο. Πολλές φορές βέβαια, αναγκαζόμαστε εκ των πραγμάτων να υποθέσουμε την ύπαρξη ενός τρίτου έμπιστου προσώπου (π.χ. PKI και Web SSL) Here is a simple problem. Two friends, Alice and Bob[a], want to spend an evening out together, but they cannot decide whether to go to the cinema or the opera. Nevertheless, they reach an agreement to let a coin decide: playing a coin tossing game which is very familiar to all of us. Alice holds a coin and says to Bob, "You pick a side then I will toss the coin." Bob does so and then Alice tosses the coin in the air. Then they both look to see which side of the coin landed on top. If Bob's choice is on top, Bob may decide where they go; if the other side of the coin lands on top, Alice makes the decision. In the study of communication procedures, a multi-party-played game like this one can be given a "scientific sounding" name: protocol. A protocol is a well-defined procedure running among a plural number of participating entities. We should note the importance of the plurality of the game participants; if a procedure is executed entirely by one entity only then it is a procedure and cannot be called a protocol. Now imagine that the two friends are trying to run this protocol over the telephone. Alice offers Bob, "You pick a side. Then I will toss the coin and tell you whether or not you have won." Of course Bob will not agree, because he cannot verify the outcome of the coin toss. However we can add a little bit of cryptography to this protocol and turn it into a version workable over the phone. The result will become a cryptographic protocol, our first cryptographic protocol in this book! For the time being, let us just consider our "cryptography" as a mathematical function f(x) which maps over the integers and has the following magic properties: 1) For every integer x, it is easy to compute f(x) from x, while given any value f(x) it is impossible to find any information about a pre-image x, e.g., whether x is an odd or even number. 2) It impossible to find a pair of integers (x, y) satisfying x y and f(x) = f(y). II. First, from "Property II" of f, Alice is unable to find two different numbers x and y, one is odd and the other even (this can be expressed as x y (mod 2)) such that f(x) = f(y). Thus, once having read the value f(x) to Bob over the phone (Step 1), Alice has committed to her choice of. Secondly, due to "Property I" of f, given the value f(x), Bob cannot determine whether the preimage used by Alice is odd or even and so has to place his guess (in Step 2) as a real guess (i.e., an uneducated guess). At this point, Alice can convince Bob whether he has guessed right or wrong by revealing her pre-image x (Step 3). Indeed, Bob should be convinced if his own evaluation of f(x) (in Step 4) matches the value told by Alice in Step 1 and if he believes that the properties of the agreed function hold. Also, the coin-flipping is fair if x is taken from an adequately large space so Bob could not have a guessing advantage, that is, some strategy that gives him a greater than chance of winning. We should notice that in our "security analysis" for Prot 1.1 we have made a number of simplifications and omissions. As a result, the current version of the protocol is far from a concrete realization. Some of these simplifications and omissions will bediscussed in this chapter. However, necessary techniques for a proper and concrete realization of this protocol and methodologies for analyzing its security will be the main topics for the remainder of the whole book. We shall defer the proper and concrete realization of Prot 1.1 (more precisely, the "magic function" f) to the final technical chapter of this book (Chapter 19). There, we will be technically ready to provide a formal security analysis on the concrete realization. Ποια είναι η εντροπία της “πηγής” Alice: Αν η Alice και ο Bob εκτελέσουν το παραπάνω πρωτόκολλο n φορές, μπορούν να συμφωνήσουν σε μια ακολουθία αυθεντικής τυχαιότητας μήκους n-bit ! (Γιατί;)
10
H Εντροπία ως μέτρο αβεβαιότητας
Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 H Εντροπία ως μέτρο αβεβαιότητας Έστω η Χ παίρνει τιμές στο σύνολο {x1, x2, x3, ..., x8} με πιθανότητες {1/2, 1/8,1/16,…, 1/16} αντίστοιχα. Ποια είναι η πληροφορία (σε bit) στην έξοδο του πειράματος; Ποια η μέγιστη εντροπία αν όλα τα xi είναι ισοπίθανα: Log28 =3 Έστω επιλέγουμε ένα κρυπτογραφικό κλειδί n bit Αν τα κλειδιά είναι ισοπίθανα, (πιθανότητα 2-n) η εντροπία του πειράματος θα είναι μέγιστη: Εντροπία = μέτρο τυχαιότητας Τι θα γινόταν εάν κάποια κλειδιά ήταν «περισσότερο» πιθανά; Η εντροπία θα μειωνόταν !
11
Stinson, D. Cryptography: Theory and Practice. CRC, 2005
Ιδιότητες Εντροπίας Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Η ποσότητα Η(Χ|Υ) αποδίδει το μέγεθος της αβεβαιότητας που απομένει για την Χ, μετά από την παρατήρηση της Υ ! (για απόλυτη ασφάλεια, η τιμή θα πρέπει να είναι η μέγιστη – γιατί;)
12
H Εντροπία ως μέτρο αβεβαιότητας
Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 H Εντροπία ως μέτρο αβεβαιότητας
13
H Εντροπία ως μέτρο αβεβαιότητας
Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 H Εντροπία ως μέτρο αβεβαιότητας Τι παρατηρείτε;
14
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Εντροπία και Ασφάλεια Κρυπτοσυστήματος Κρυπτοσύστημα Μήνυμα m. Παίρνει τιμές από μια τυχαία μεταβλητή Μ (σύμφωνα με μια κατανομή πιθανότητας) Κλειδί k. Παίρνει τιμές από μια τυχαία μεταβλητή Κ (σύμφωνα με μια κατανομή πιθανότητας) Κρυπτογράφημα c. Τιμές από μια τυχαία μεταβλητή C (σύμφωνα με μια κατανομή πιθανότητας) Στο παράδειγμα μας: Ομοίως, υπολογίζουμε: * Άρα μπορούμε να υπολογίσουμε την εντροπία τους!
15
Εντροπία και Ασφάλεια Κρυπτοσυστήματος
16
Πλεονασμός Φυσικής Γλώσσας και Εντροπία
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Πλεονασμός Φυσικής Γλώσσας και Εντροπία Απόλυτος Ρυθμός Γλώσσας (Absolute Rate): Η εντροπία ανά χαρακτήρα (για ισοπίθανους χαρακτήρες). Για μια τυχαία γλώσσα L με 26 χαρακτήρες, R ≈ 4.70 Για την Αγγλική γλώσσα, η εντροπία ανά χαρακτήρα Ρυθμός Γλώσσας (Rate): Έστω μια πηγή εξάγει λέξεις μήκους n μιας φυσικής γλώσσας L Ρυθμός r της L: Η εντροπία ανά χαρακτήρα της γλώσσας (λαμβάνοντας υπόψη συσχετίσεις και τον πλεονασμό της γλώσσας) π.χ. ο Shannon υπολόγισε: Πώς; Υπολογίζουμε την εντροπία ανά χαρακτήρα για λέξεις μήκους 2, λαμβάνοντας υπόψη τις κατανομές πιθανότητας όλων των 2-γραμμάτων. Στη συνέχεια επαναλαμβάνουμε για k=3, και ούτω καθεξής. χρησιμοποιώντας τον πίνακα: * 1.0 < r(αγγλικά) < 1.5 bit/γράμμα
17
Πλεονασμός Φυσικής Γλώσσας και Εντροπία
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Πλεονασμός Φυσικής Γλώσσας και Εντροπία Πλεονασμός Γλώσσας (Redundancy) Ο αριθμός των bit ανά χαρακτήρα που «περισσεύουν» (δηλαδή, δεν συνεισφέρουν στην εντροπία) Πλεονασμός = Απόλυτος ρυθμός - Ρυθμός Στα Αγγλικά, και για r = 1.25: Ποσοστό πλεονασμού: 3.45/4.70 ≈ 75% D = = 3.45 bit/χαρακτήρα
18
Πλεονασμός Φυσικής Γλώσσας
David. Kahn. The Codebreakers. Scribner, 1996. Πλεονασμός Φυσικής Γλώσσας Πλεονασμός (Redundancy) Σε ένα μήνυμα υπάρχουν περισσότερα σύμβολα από αυτά που πραγματικά χρειάζονται για τη μετάδοση της πληροφορίας “Officer present on active duty for an indefinite period” “Off pres on AD fr indef period” Παράδειγμα 1: Το γράμμα “u” που ακολουθεί το q είναι περιττό Που οφείλεται ο πλεονασμός σε μια φυσική γλώσσα; Γραμματική, συντακτικό, φωνητική, ιδιώματα, ετυμολογία, κουλτούρα,... Η Αγγλική γλώσσα εμφανίζει πλεονασμό ≈ 75% Παράδειγμα 2: Το “the” αυξάνει τον πλεονασμό του κειμένου
19
Πλεονασμός Φυσικής Γλώσσας
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Πλεονασμός Φυσικής Γλώσσας Κάθε φυσική γλώσσα εμφανίζει «πλεονασμό» (redundancy) Συχνότητες εμφάνισης χαρακτήρων Συχνότητες εμφάνισης διγράμμων, τριγράμμων Συχνότητες εμφάνισης λέξεων, εκφράσεων κλπ …
20
Πλεονασμός Φυσικής Γλώσσας
David. Kahn. The Codebreakers. Scribner, 1996. Πλεονασμός Φυσικής Γλώσσας Ποιο κείμενο εμφανίζει το μεγαλύτερο πλεονασμό; Όσο μικρότερος είναι ο πλεονασμός, τόσο πιο δύσκολη γίνεται η κρυπτανάλυση ενός κρυπτογράμματος Επομένως, τόσο μεγαλύτερη γίνεται η ποσότητα κρυπτογραφήματος που πρέπει να αποκτήσει ο κρυπταναλυτής (ciphertext-only) “End here. Us then. Finn, again! Take. Bussoftlee, mememormee! Till thousendsthee. Lps. The keys to. Given! A way a lone a last a loved a long the.” “ And the disciples were full of wonder at his words. But Jesus said to them again, Children, how hard it is for those who put faith in wealth to come into the kingdom of God”
21
Πλεονασμός Φυσικής Γλώσσας
David. Kahn. The Codebreakers. Scribner, 1996. Πλεονασμός Φυσικής Γλώσσας
22
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance)
23
Communication Theory of Secrecy Systems, Bell Systems Technical Journal,. Vol. 28, pp. 656–715, c Eli Biham Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance) Απόσταση Μοναδικότητας (U - unicity distance) Ποσότητα κρυπτογραφημένου κειμένου που απαιτείται ώστε ένας κρυπταναλυτής δοκιμάζοντας όλα τα πιθανά κλειδιά (brute force), να οδηγηθεί σε ένα μόνον αρχικό μήνυμα που να βγάζει νόημα Ευθέως ανάλογη της εντροπίας Η(Κ) του κρυπτοσυστήματος… Αντιστρόφως ανάλογη του πλεονασμού D (bit ανά χαρακτήρα) της γλώσσας…
24
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Απόσταση Μοναδικότητας (Unicity Distance) Ποια η απόσταση U αλγόριθμου Αντιμετάθεσης (αγγλικό κείμενο) με περίοδο t = 12 Δηλαδή, θεωρητικά, ένα κρυπτο-κείμενο 9 χαρ. είναι αρκετό για να κρυπταναλυθεί (μοναδικά) Ποια είναι η απόσταση U του αλγορίθμου Αντικατάστασης (αγγλικό κείμενο); Δηλαδή, θεωρητικά, ένα κρυπτο-κείμενο 29 χαρ. είναι αρκετό για να κρυπταναλυθεί (μοναδικά)
25
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Κρυπτογραφία και Συμπίεση
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Εντροπία και Ασφάλεια Κρυπτοσυστήματος Κρυπτογραφία και Συμπίεση Συμπίεση (Compression) Προσπαθεί να αφαιρέσει τον πλεονασμό (redundancy) από ένα μήνυμα Όσο μεγαλύτερος είναι ο πλεονασμός, τόσο μικρότερη είναι η ποσότητα που (θεωρητικά) χρειάζεται ο κρυπταναλυτής
26
Εντροπία και Ασφάλεια Κρυπτοσυστήματος Σύγχυση και Διάχυση
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Εντροπία και Ασφάλεια Κρυπτοσυστήματος Σύγχυση και Διάχυση Σύγχυση (Confusion) Αποκρύπτουμε τη σχέση μεταξύ κρυπτογραφημένου κειμένου και κλειδιού π.χ. επαναλαμβανόμενες αντικαταταστάσεις & αναδιατάξεις Διάχυση (Diffusion) O πλεονασμός του αρχικού κειμένου κατανέμεται «ομοιόμορφα» στο κρυπτογραφημένο κείμενο Φαινόμενο Χιονοστιβάδας & αλγόριθμοι ομάδας (DES, AES) Από μόνες τους, οι τεχνικές αντικατάστασης και αναδιάταξης εμφανίζουν (τις γνωστές) αδυναμίες. Ωστόσο, αν συνδυαστούν, μπορούν υπό προϋποθέσεις να οδηγήσουν στη δημιουργία «ισχυρών» συμμετρικών αλγορίθμων !!!
27
Διάχυση - Παράδειγμα Επαναλαμβανόμενοι Αλγόριθμοι Ομάδας – Δίκτυα SPN
J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 Διάχυση - Παράδειγμα Επαναλαμβανόμενοι Αλγόριθμοι Ομάδας – Δίκτυα SPN Για να ισχύει το φαινόμενο της χιονοστιβάδας, θα πρέπει: Κάθε S-box σχεδιάζεται ώστε αλλάζοντας 1 bit εισόδου επηρεάζει τουλάχιστον 2 bit εξόδου του S-box Οι αναδιατάξεις (mixes) σχεδιάζονται ώστε τα bit εξόδου κάθε S-box διαχέονται σε διαφορετικά S-box κατά τον επόμενο γύρο. Επιπλέον, θέλω όλα τα bit κλειδιού να επηρεάζουν όλα τα bit εξόδου !!! Τυπικά λοιπόν, θα πρέπει να εκτελούνται τουλάχιστον 7 γύροι (rounds)
28
N. Ferguson, B. Schneier. Practical Cryptography. Wiley, 2003.
Εφαρμοσμένη Τυχαιότητα Παραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα Που χρειαζόμαστε τυχαιότητα; Δημιουργία κρυπτογραφικών κλειδιών: Κλειδί AES, DES κ.λπ Πρώτοι αριθμοί (π.χ. RSA) Κλειδιά ψηφιακής υπογραφής Αλγόριθμος One-time pad Τυχαιότητα σε πρωτόκολλα πρόκλησης-απάντησης (challenge-response) … π.χ. Η Eve για να «σπάσει» το πρωτόκολλο, αρκεί να «σπάσει» τον γεννήτορα τυχαιότητας
29
Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001
Εφαρμοσμένη Τυχαιότητα Παραγωγή τυχαιότητας για Κρυπτογραφικά Πρωτόκολλα Οι αριθμοί σας φαίνονται τυχαίοι; ΕΚ[ ] Ένα πρωτόκολλο ταυτοποίησης της Alice (Challenge-Response) Σενάριο: O Mallory, υποκλέπτει 2 εκτελέσεις, και μαντεύει την επόμενη «τυχαιότητα». Στη συνέχεια, Πλαστοπροσωπεί (με κάποιο τρόπο) τον Bob στην Alice, αποστέλει την πρόκληση C= και λαμβάνει πίσω το EK(C) Αποδεικνύει στον Bob ότι είναι η Alice
30
Εφαρμοσμένη Τυχαιότητα Παραγωγή Κλειδιού
Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001 Εφαρμοσμένη Τυχαιότητα Παραγωγή Κλειδιού Κάθε λογισμικό κρυπτογράφησης χρειάζεται ένα κλειδί Κλειδί = σειρά αριθμών Πόσο τυχαίο μπορεί να θεωρηθεί αυτό το κλειδί; Μια επίθεση λεξικού δοκιμάζει αρχικά τα πλέον πιθανά κλειδιά Χρειαζόμαστε ένα κλειδί 128 bit Δημιουργούμε το κλειδί πληκτρο-λογώντας 16 «τυχαίους» χαρακτήρες π.χ
31
Εφαρμοσμένη Τυχαιότητα Παραγωγή Κλειδιού
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Εφαρμοσμένη Τυχαιότητα Παραγωγή Κλειδιού Έστω χρειαζόμαστε ένα κλειδί 128 bit για τον αλγόριθμο AES Εάν το κλειδί επιλεγεί με έναν γεννήτορα (αληθινής) τυχαιότητας, τότε η Eve θα χρειαστεί κατά μέσο όρο 2127 υπολογισμούς για να το «σπάσει» Τι θα γίνει εάν ένα seed 16-bit δοθεί ως είσοδος σε μια π.χ. συνάρτηση hash, δίνοντας στην έξοδο 128 bit «τυχαιότητας»; Περίπτωση Η Eve θα χρειαστεί κατά μέσο όρο 215 υπολογισμούς !! Υποθέτουμε ότι ο αλγόριθμος hash είναι γνωστός
32
Τυχαιότητα και Ψευδοτυχαιότητα Παράδειγμα: Πηγή Δεδομένων Bernoulli
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Τυχαιότητα και Ψευδοτυχαιότητα Παράδειγμα: Πηγή Δεδομένων Bernoulli Τυχαιότητα Πηγής - Συνίσταται στα εξής: Ισοπίθανα bit (Balanced) Η πιθανότητα ένα bit να είναι 0 (ή 1) είναι ½ Αμνήμονα Πηγή: (memoryless) Η γνώση των bit έως τον χρόνο t, δεν βοηθά τον κρυπταναλυτή να προβλέψει το bit στον χρόνο t+1 Παράδειγμα Η Ρουλέτα στο Καζίνο Πόσο τυχαία σας φαίνεται η ακολουθία : Πόσο τυχαία σας φαίνεται η συμβολοσειρά :
33
Τυχαιότητα και Ψευδοτυχαιότητα Παράδειγμα: Πηγή Δεδομένων Bernoulli
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Τυχαιότητα και Ψευδοτυχαιότητα Παράδειγμα: Πηγή Δεδομένων Bernoulli Πόσο τυχαία σας φαίνεται η συμβολοσειρά; Οι ακολουθίες 3-bit δεν φαίνονται και τόσο τυχαίες…
34
Γεννήτορες Τυχαιότητας
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996 Γεννήτορες Τυχαιότητας Δυσκολία-Αδυναμία παραγωγής τυχαιότητας από έναν Η/Υ Πεπερασμένος αριθμός καταστάσεων στις οποίες μπορεί να βρεθεί ένας Η/Υ Μεγάλος αριθμός μεν, πεπερασμένος δε. Οι Η/Υ είναι ντετερμινιστικά όντα π.χ. Όλοι οι γεννήτορες αριθμών είναι περιοδικοί Ο,τιδήποτε είναι περιοδικό, είναι προβλέψιμο ( = μη τυχαίο) ! Ένας γεννήτορας τυχαίων αριθμών απαιτεί τυχαία είσοδο (random input) Ένας Η/Υ δεν (?) μπορεί να δημιουργήσει τυχαία δεδομένα… “Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin“ Donald Knuth
35
Γεννητόρες Τυχαιότητας Κατηγοριοποιήσεις
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Γεννητόρες Τυχαιότητας Κατηγοριοποιήσεις Συχνά, τα bit που εξάγονται από φυσικά φαινόμενα ενδέχεται να: Είναι πολωμένα (biased) π.χ. H πιθανότητα η πηγή να εξάγει 1 δεν είναι ½ Αυτοσυσχετιζόμενα (correlated) π.χ. H πιθανότητα η πηγή να εξάγει 1 εξαρτάται από την τιμή προηγούμενου (-ων) bit Συχνά, τα bit που εξάγονται από φυσικές πηγές υποβάλλονται σε Τεχνικές διόρθωσης (de-skewing) Α. Γεννήτορες τυχαιότητας (HW) Συσκευές που αξιοποιούν την μη προβλεψιμότητα φυσικών φαινομέ-νων για παραγωγή bit τυχαιότητας Ραδιενεργός διάσπαση (radioactive decay), Θερμικός θόρυβος (thermal noise) από ημιαγωγό ή αντίσταση, Χρόνος πρόσβασης στο σκληρό δίσκο … *
36
Γεννητόρες Τυχαιότητας Κατηγοριοποιήσεις
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Γεννητόρες Τυχαιότητας Κατηγοριοποιήσεις B. Γεννήτορες τυχαιότητας (SW) O γεννήτορας σχεδιάζεται εξ’ ολοκλήρου σε λογισμικό και εξάγει εντροπία από (π.χ.): Το ρολόι συστήματος Χρόνος-ταχύτητα πληκτρολόγησης και κίνηση ποντικιού Περιεχόμενα θέσεων μνήμης και I/O buffers Είσοδος από τον χρήστη Παράμετροι Λ.Σ. π.χ. φόρτος διεργασιών, δεδομένα δικτύου κ.λ.π Οι γεννήτορες αυτής της κατηγορίας θεωρούνται χαμηλής εντροπίας Μπορούν να επηρεαστούν από παράγοντες όπως π.χ. η υπολογιστική πλατφόρμα Ο εχθρός μπορεί να επιδράσει ή να παρατηρήσει τις διεργασίες… Πολλές τέτοιες πηγές μπορούν να συνδυαστούν (pooling).
37
Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness)
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996 Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness) Συλλογή και Εξαγωγή τυχαιότητας (distilling randomness) Καταγραφή πολλών «τυχαίων» γεγονότων, και εξαγωγή bit τυχαιότητας Διατήρηση των bit σε μια δεξαμενή τυχαιότητας (randomness pool) Χρήση μιας συνάρτησης one-way hash για την εξαγωγή των bit τυχαιότητας που τελικά θα χρησιμοποιηθούν
38
Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness)
A. Young, M. Yung. Malicious Cryptography – Exploring CryptoVirology. Wiley, 2004 Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness) Συνδυάζοντας πολλές πηγές τυχαιότητας Σε κάθε πηγή μπορούν να εφαρμοστούν τεχνικές διόρθωσης Στη συνέχεια όλες οι ακολουθίες γίνονται XOR
39
Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness)
40
Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001
Γεννήτορες Τυχαιότητας ... στην πράξη: ένας τρόπος να παράξεις το αρχικό seed
41
Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness)
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Γεννητόρες Τυχαιότητας Απόσταξη Τυχαιότητας (Distilling Randomness)
42
A. Young, M. Yung. Malicious Cryptography – Exploring CryptoVirology
A. Young, M. Yung. Malicious Cryptography – Exploring CryptoVirology. Wiley, 2004 Γεννήτορες Τυχαιότητας Τεχνικές Διόρθωσης (de-skewing, unbiasing, entropy extractors) Έστω έχουμε στη διάθεση μας ένα «πολωμένο» (biased) νόμισμα Μπορώ από ένα «πολωμένο» νόμισμα να πάρω μια ακολουθία τυχαίων bit; Ο αλγόριθμος του Von Neumann Πιθανότητα [Κορώνα] = 5/8 Πιθανότητα [Γράμματα] = 3/8 1 2 P1=P2
43
Τυχαιότητα vs Ψευδοτυχαιότητα
J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. Τυχαιότητα vs Ψευδοτυχαιότητα Στην πράξη, σε έναν κρυπτογραφικό αλγόριθμο δίνεται ως είσοδος μια ψευδο-τυχαία ακολουθία “Μοιάζει” να είναι τυχαία & Επειδή δε τηρούνται τα “πρέποντα”: |Κ|<<|Μ| Επαναχρησιμοποίηση κλειδιών .. θέλω υπολογιστική ασφάλεια έναντι ενός πολυωνυμικού εχθρού Στην πράξη, ο εχθρός έχει μικρή (αμελητέα) πιθανότητα επιτυχίας Μετά από “αρκετό χρόνο”, το σχήμα θα σπάσει οπωσδήποτε (π.χ. Brute force σε επίθεση known-plaintext) Ωστόσο ο χρόνος είναι “πολύς” ! Ιδανικά, η τυχαιότητα που δίνεται ως είσοδος σε κρυπτογραφικούς αλγορίθμους είναι αληθινή Σε αυτή την περίπτωση & εφόσον τηρούνται “τα πρέποντα”, π.χ.: |K|=|M| Όχι επαναχρησιμοποίηση κλειδιού … έχω απόλυτη ασφάλεια έναντι εχθρού με “άπειρους υπολογιστικούς πόρους” Σχετιζόμενοι όροι: Perfect Secrecy, Unconditional security, information-theoretic security
44
Γεννήτορες Ψευδο-Τυχαιότητας (Pseudo-Random Number Generator - PRNG)
Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001 Γεννήτορες Ψευδο-Τυχαιότητας (Pseudo-Random Number Generator - PRNG) PRNG: αλγόριθμος που παράγει ακολουθίες αριθμών που «μοιάζουν» τυχαίες Indistinguishability: «δύσκολο» να διακρίνει κάποιος μια τυχαία από μια ψευδοτυχαία συμβολοσειρά Ωστόσο, ο αλγόριθμος είναι ντετερμινιστικός Αν δώσουμε την ίδια είσοδο, ο αλγόριθμος δίνει ίδιο αποτέλεσμα ! Στην είσοδο δέχεται μια (αληθινά) τυχαία ακολουθία bit μήκους k Το «seed» (σπόρος) του αλγορίθμου Στην έξοδο, δίνει μια «ψευδο-τυχαία» ακολουθία bit μήκους L >> k
45
Γεννήτορες Ψευδο-Τυχαιότητας (Pseudo-Random Number Generator - PRNG)
O. Goldreigh. Foundations of Cryptography, Vol I Basic Tools, CUP, 2004. Γεννήτορες Ψευδο-Τυχαιότητας (Pseudo-Random Number Generator - PRNG)
46
Γεννήτορες Ψευδο-Τυχαιότητας Ασφάλεια Γεννητόρων PRNG
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996 Γεννήτορες Ψευδο-Τυχαιότητας Ασφάλεια Γεννητόρων PRNG Ιδιότητες ακολουθίας ασφαλών Γεννητόρων PRNG «Μοιάζει» να είναι τυχαία Δηλαδή, οι ακολουθίες που παράγει περνούν με επιτυχία όλα τα στατιστικά τεστ τυχαιότητας Μη προβλεψιμότητα Υπολογιστικά αδύνατο για την Eve να προβλέψει (με πιθανότητα μη αμελητέα) το επόμενο bit Συνέπεια του Β: Ο γεννήτορας εμφανίζει «μεγάλη» περίοδο π.χ. Αν απαιτούμε 1 δισ. bit, μια ακολουθία με περίοδο 16 χιλ. bit δεν είναι ασφαλής ! π.χ περίοδος 2128
47
Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996 Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι Στατιστικά τεστ «αξιολόγησης» (ψευδο-) τυχαιότητας «περίπου» ίδιος αριθμός 0 και 1 «περίπου» οι μισές εκτελέσεις ακολουθούνται από διαφορετικό bit (π.χ. 0,1 ή 1,0) Κάθε πιθανή ακολουθία δύο bit θα πρέπει να εμφανίζεται στο ¼ περίπου των εκτελέσεων Κάθε πιθανή ακολουθία τριών bit θα πρέπει να εμφανίζεται στο 1/8 περίπου των εκτελέσεων
48
Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι
Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001 Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι Πόσο τυχαία μπορεί να είναι η ακολουθία:
49
Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι
John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι Έστω ο γεννήτορας (ψευδο) τυχαιότητας που ορίζεται από τη σχέση: Ο γεννήτορας αυτός έχει πολύ μικρή περίοδο (18) Δεν είναι ασφαλής !!!
50
Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 Γεννήτορες Ψευδο-Τυχαιότητας Α. Στατιστικοί Έλεγχοι Η ποιότητα ενός γεννήτορα μπορεί να αξιολογηθεί με στατιστικά τεστ Τα τεστ εντοπίζουν αν μια ακολουθία έχει χαρακτηριστικά που συναντώνται σε ακολουθίες (αληθινά) τυχαίων αριθμών Ένα τεστ μπορεί να αποφανθεί εάν η συγκεκριμένη ακολουθία «μοιάζει» τυχαία … Κανένα τεστ ωστόσο δεν μπορεί να αποδείξει ότι μια ακολουθία είναι τυχαία !! Η διεξαγωγή στατιστικών τεστ είναι λοιπόν αναγκαία αλλά όχι και ικανή συνθήκη για την ασφάλεια ενός γεννήτορα ψευδοτυχαιότητας
51
Γεννήτορες Ψευδο-Τυχαιότητας Β. Μη Προβλεψιμότητα
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996 Γεννήτορες Ψευδο-Τυχαιότητας Β. Μη Προβλεψιμότητα N. Ferguson, B. Schneier. Practical Cryptography. Wiley, 2003. Μη προβλεψιμότητα (unpredictability) Στόχος: Ένας αλγόριθμος PRNG δέχεται συνήθως ως είσοδο ένα seed To seed καθορίζει την αρχική κατάσταση (state) του γεννήτορα Ασφάλεια (υπολογιστική): Δυσκολία εύρεσης του seed από την Eve Ιδανικά, για τη δημιουργία του seed η Alice χρειάζεται αληθινή τυχαιότητα !! Το μήκος k του seed πρέπει να είναι επαρκώς μεγάλο ώστε να ανθίσταται έναντι επιθέσεων brute force Τουλάχιστον 128 bit εντροπίας Η eve έχει πλήρη γνώση των: Αλγόριθμος παραγωγής «Υλικό» που χρησιμοποιείται Όλα τα bit έως τη στιγμή t Είναι υπολογιστικά αδύνατο για την Eve να προβλέψει ποιο θα είναι το επόμενο bit (με πιθανότητα > ½ )
52
C. Kaufman, et al. Network Security – Private Communication in a Public World. Prentice Hall, 2002
Γεννήτορες Ψευδο-Τυχαιότητας Κρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας O αλγόριθμος εξαγωγής συχνά χρησιμοποιεί μια μονόδρομη κρυπτογραφική συνάρτηση hash Μονόδρομη (one-way) Κρυπτογραφική: Σύγχυση: Απόκρυψη σχέσης μεταξύ εξόδου / εισόδου, Διάχυση: Φαινόμενο χιονοστιβάδας Στόχοι Ασφάλειας Προστασία του seed Στατιστικά τεστ Μη προβλεψιμότητα Περίπτωση To seed προστατεύεται θα περάσει τα στατιστικά test ΑΛΛΑ: Γνωρίζοντας κάποιο state π.χ. τo C3, o κακός μπορεί να φτιάξει όλα τα Ci, για i>3. Πόσο ασφαλές σας φαίνεται το PRNG που χρησιμοποιεί τη συνάρτηση (hash) H;
53
C. Kaufman, et al. Network Security – Private Communication in a Public World. Prentice Hall, 2002
Γεννήτορες Ψευδο-Τυχαιότητας Κρυπτογραφικοί Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας ΛΥΣΗ: Σε κάθε βήμα, κάνουμε hash το προηγούμενο state μαζί με το seed του αλγορίθμου
54
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
Γεννήτορες Ψευδο-Τυχαιότητας Κρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας Ασφάλεια Κρυπτογραφικώς Ασφαλών Αλγορίθμων PRNG Μπορεί να αναχθεί στη δυσκολία επίλυσης ενός «δύσκολου» προβλήματος (π.χ. πρόβλημα παραγοντοποίησης μεγάλων αριθμών) Η ασφάλεια αποδεικνύεται με μαθηματικό τρόπο Ωστόσο. οι PRNG της κατηγορίας είναι λιγότερο αποδοτικοί από τις κοινές (ad hoc) υλοποιήσεις
55
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
Γεννήτορες Ψευδο-Τυχαιότητας Κρυπτογραφικώς Ασφαλείς Αλγόριθμοι Παραγωγής Ψευδοτυχαιότητας
56
O. Goldreigh. Foundations of Cryptography, Vol I Basic Tools, CUP, 2004.
Γεννήτορες Ψευδο-Τυχαιότητας Εφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers) Στην πράξη, οι γεννήτορες PRNG χρησιμοποιούνται για την παραγωγή ψευδοτυχαιότητας που θα χρησιμοποιηθεί ως κλειδί σε συμμετρικούς αλγόριθμους ροής (stream ciphers)
57
N. Ferguson, B. Schneier. Practical Cryptography. Wiley, 2003.
Γεννήτορες Ψευδο-Τυχαιότητας Εφαρμογή: Αλγόριθμοι Ροής (Stream Ciphers) H Alice και o Bob ανταλλάσουν μέσω ενός ασφαλούς καναλιού, ένα τυχαίο seed κατάλληλου μήκους Π.χ. 128 bit τυχαιότητας Εισάγουν και οι δύο ως είσοδο το seed σε ένα γεννήτορα PRNG Κρυπτογραφούν τα μηνύματα τους (XOR με την ακολουθία που παράγει ο PRNG) [Seed] P XOR K Ασφάλεια Αλγορίθμου Αν |Μ|>|seed| δεν έχουμε απόλυτη ασφάλεια (unconditional-perfect secrecy), αλλά υπολογιστική (computational security) π.χ. Ασφάλεια 128-bit
58
Βιβλιογραφία Διάλεξης
Schneier, Bruce. Applied Cryptography. John Wiley & Sons, Inc., 2nd edition, 1996. Η. Mel, D. Baker. Cryptography Decrypted. Addison-Wesley, 2001 John Hershey. Cryptography Demystified. McGraw-Hill Professional, 2003 Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001 N. Ferguson, B. Schneier. Practical Cryptography. Wiley, 2003. Mao, W. Modern Cryptography: Theory and Practice. Prentice Hall, 2003 Stinson, D. Cryptography: Theory and Practice. Third Edition, CRC, 2005 A. Young, M. Yung. Malicious Cryptography – Exploring CryptoVirology. Wiley, 2004 David. Kahn. The Codebreakers. Scribner, 1996. J. Katz, Y. Lindell. Introduction to Modern Cryptography. Chapman & Hall/CRC, 2008. O. Goldreigh. Foundations of Cryptography, Vol I Basic Tools, CUP, 2004. C. Kaufman, R. Perlman, M. Speciner. Network Security – Private Communication in a Public World. 2nd edition, Prentice Hall, 2002.
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.