1.49k likes | 1.62k Views
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 20 1 2-20 1 3 Εξάμηνο: Δ’. Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα Ε: Ασφάλεια Δικτύων: Αυθεντικοποιημένη Εδραίωση Κλειδιού και Εφαρμογές. Αυθεντικοποιημένη Εδραίωση Κλειδιού Syllabus.
E N D
Ιόνιο ΠανεπιστήμιοΤμήμα ΠληροφορικήςΑκαδημαϊκό Έτος 2012-2013Εξάμηνο: Δ’ Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα Ε: Ασφάλεια Δικτύων: Αυθεντικοποιημένη Εδραίωση Κλειδιού και Εφαρμογές
Αυθεντικοποιημένη Εδραίωση ΚλειδιούSyllabus • Ασφαλής Επικοινωνία – Βασικές Έννοιες & Εργαλεία • Αυθεντικοποίηση Χρήστη & Μηνύματος, Μυστικότητα • Κρυπτογραφικά Πρωτόκολλα Εδραίωσης Κλειδιού • Ορισμοί-Κατηγοριοποίηση-Στόχοι Ασφάλειας • Εδραίωση Κλειδιού με Συμμετρικές Τεχνικές • Διανομή, Μεταφορά, Συμφωνία Κλειδιού - Εφαρμογές • Εδραίωση Κλειδιού με Τεχνικές Δημόσιου Κλειδιού • Μεταφορά, Συμφωνία Κλειδιού - Εφαρμογές • Προηγμένα Πρωτόκολλα Εδραίωσης • Εφαρμογές • SSL/TLS (Secure Sockets Layer / Transport Layer Security) • SSH (Secure Shell) • IPSec (Internet Protocol Security)
H Alice & ο Bob μπορεί να είναι χρήστες, Η/Υ, διεργασίες κλπ… 1. Ασφαλής ΕπικοινωνίαΒασικές Έννοιες & Εργαλεία Ζητούμενο: Ασφαλής Επικοινωνία Alice Bob Αυθεντικοποίηση Χρήστη: «Με ποιον μιλάω, τώρα?» Αυθεντικοποίηση Μηνύματος: «Ποιος δημιούργησε το μήνυμα που έλαβα?» Μυστικότητα (Εμπιστευτικότητα): «Κανείς δεν μπορεί να διαβάσει όσα λέμε εγώ και η Alice» Αυθεντικοποίηση Χρήστη: «Με ποιον μιλάω, τώρα?» Αυθεντικοποίηση Μηνύματος: «Ποιος δημιούργησε το μήνυμα που έλαβα?» Μυστικότητα (Εμπιστευτικότητα): «Κανείς δεν μπορεί να διαβάσει όσα λέμε εγώ και η Alice» ΕνεργητικόςΕχθρός (Mallory) ΠαθητικόςΕχθρός (Eve)
Σήμερα, η κρυπτογραφία μας προσφέρει ασφαλείς & αποδοτικούς μηχανισμούς για την εκπλήρωση των ιδιοτήτων ασφάλειας: 1. Ασφαλής ΕπικοινωνίαΒασικές Έννοιες & Εργαλεία Ζητούμενο: Ασφαλής Επικοινωνία Alice Bob Αυθεντικοποίηση Χρήστη: «Με ποιον μιλάω, τώρα?» Αυθεντικοποίηση Μηνύματος: «Ποιος δημιούργησε το μήνυμα που έλαβα?» Μυστικότητα (Εμπιστευτικότητα): «Κανείς δεν μπορεί να διαβάσει όσα λέμε εγώ και η Alice» Τεχνικές Πρόκλησης-Απάντησης Λόγω απόδοσης, στην πράξη προτιμώνται οι συμμετρικές τεχνικές ! Αυθεντικοποίηση με MAC (Αλγόριθμοι: MD5, SHA-1,…) & Ψηφιακές Υπογραφές (Αλγόριθμοι: DSA, RSA, ElGamal,… ) ΕνεργητικόςΕχθρός ΠαθητικόςΕχθρός Συμμετρική Κρυπτογράφηση (Αλγόριθμοι: AES,3DES), Κρυπτογράφηση με Δημόσιο Kλειδί(Αλγόριθμοι: RSA, ElGamal,…)
Το πρόβλημα: Στις συμμετρικές τεχνικές, η Alice και ο Bob μοιράζονται ένα κλειδί Κ. Πώς όμως αποκτούν αυτό το κλειδί; Γενικότερη διατύπωση: Πώς δύο ή περισσότερες οντότητες αποκτούν από κοινού ένα μυστικό (συμμετρικό) κλειδί για ασφαλήεπικοινωνία … … δηλαδή έναντι παθητικώνή/και ενεργητικών εχθρών 2. Πρωτόκολλα Εδραίωσης ΚλειδιούΟρισμοί • Eve: Υποκλέπτει επικοινωνία • Mallory: Επιθέσεις πλαστοπροσωπίας και ενδιάμεσης οντότητας
2. Πρωτόκολλα Εδραίωσης ΚλειδιούΟρισμοί • Σκοπός: Η εδραίωση ενός εφήμερου ή «φρέσκου» κλειδιού που αποκαλείται κλειδί συνόδου (session key) • Γιατί κλειδιά συνόδου; • Περιορισμός των συνεπειών αν ο «εχθρός» βρει ένα κλειδί. • Περιορισμός της ποσότητας υλικού που θα χρησιμοποιηθεί για κρυπτανάλυση. • Άρση ανάγκης αποθήκευσης πολλών κλειδιών για μεγάλο χρονικό διάστημα. • Ανεξαρτησία μεταξύ των συνόδων επικοινωνίας και των δικτυακών εφαρμογών
Σενάρια: H Alice επιλέγει ένα κλειδί και το μεταδίδει στον Bob με φυσικό τρόπο Μια Τρίτη Αρχή επιλέγει ένα κλειδί και το μεταδίδει στους Alice & Bob με φυσικό τρόπο Τα σενάρια 1 και 2, συνήθως εφαρμόζονται για: Κρυπτογράφηση ζεύξης (link encryption)στο επίπεδο σύν-δεσης δεδομένων (π.χ. Wi-fi) 2. Πρωτόκολλα Εδραίωσης«Φυσική» Εδραίωση Κλειδιού • Για κρυπτογράφηση από άκρη-σε-άκρη (end-to-end) στο επίπεδο δικτύου, όχι αποδοτικό • N hosts: Ν(Ν-1)/2 κλειδιά • Τι θα γίνει αν η κρυπτογράφηση γίνει στο επίπεδο εφαρμογής; • 1 κλειδί για κάθε ζεύγος χρηστών ή διεργασιών; • Case: Δίκτυο με εκατοντάδες κόμβους & χιλιάδες διεργασίες!
2. Πρωτόκολλα Εδραίωσης«Φυσική» Εδραίωση Κλειδιού
Τρεις περιπτώσεις: Οι Alice & Bob μοιράζονται ήδη ένα κλειδί μακράς διαρκείας(π.χ. password) Οι Alice & Bob μοιράζονται ξεχωριστά κλειδιά μακράς διαρκείας με ένα έμπιστο κέντρο(KDC). Η Alice και ο Bob δεν μοιράζονται κάποιο κλειδί 2. (Λογική) Εδραίωση ΚλειδιούΚατηγοριοποίηση ΣΥΜΜΕΤΡΙΚΕΣ ΤΕΧΝΙΚΕΣ ΤΕΧΝΙΚΕΣ ΔΗΜΟΣΙΟΥ ΚΛΕΙΔΙΟΥ
2. (Λογική) Εδραίωση ΚλειδιούΚατηγοριοποίηση Τρεις περιπτώσεις: Οι Alice & Bob μοιράζονται ήδη ένα κλειδί μακράς διαρκείας(π.χ. password) Οι Alice & Bob μοιράζονται ξεχωριστά κλειδιά μακράς διαρκείας με ένα έμπιστο κέντρο(KDC). Η Alice και ο Bob δεν μοιράζονται κάποιο κλειδί Η προτεινόμενη μέθοδος για συστήματα μεγάλης κλίμακας (π.χ. Internet) Σε κλειστά ή/και αυτόνομα συστήματα, τα κλειδιά μακράς διαρκείας (Master keys)χρησιμοποιούνται για την εδραίωση των (εφήμερων) κλειστών συνόδου. Τα Master keys διανέμονται με μη κρυπτογραφικό τρόπο (π.χ. φυσικά)
Πρωτόκολλα Διανομής Κλειδιού (Key Distribution) Μια έμπιστη οντότητα (KDC) δημιουργεί το κλειδί και το στέλνει στην Alice και τον Bob 2. Πρωτόκολλα Εδραίωσης ΚλειδιούΚατηγοριοποίηση • Πρωτόκολλα Μεταφοράς Κλειδιού (Key transport) • Η Alice (Bob) δημιουργεί ένα κλειδί και το στέλνει στον Bob (Alice) • Πρωτόκολλα Συμφωνίας Κλειδιού (Key Agreement) • Η Alice & Bob συνεισφέρουν από κοινού στη δημιουργία του κλειδιού συνόδου
2. Πρωτόκολλα Εδραίωσης Κλειδιού Κατηγοριοποίηση Κρυπτογραφικά Πρωτόκολλα Εδραίωσης Κλειδιού 1. Συμμετρικές Τεχνικές 2. Τεχνικές Δημόσιου Κλειδιού Διανομής: Π1-Π8 Μεταφοράς: Π9-Π10 Συμφωνίας: Π11-Π12 Μεταφοράς: Π14-Π18 Συμφωνίας: Π19-Π26 Πηγή: (Magkos et al, 2011)
2. Πρωτόκολλα Εδραίωσης ΚλειδιούΚατηγοριοποίηση • Σημείωση: Στις συμμετρικές τεχνικές, μπορούμε να εντάξουμε μια επιπλέον κατηγορία • Εδραίωση χωρίς σύνδεση με προ-μοιρασμένα κλειδιά (Offline Key Establishment with Pre-Shared Keys) K K Παράδειγμα (για jσυνόδους) Session 1: Κ1 = Hash(K, n1) Session 2: Κ2 = Hash(K, n2) … Session j: Κj = Hash(K, nj) n: nonce (number used once)
2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας • Αυθεντικοποίηση Χρήστη (User Authentication) • Αυθεντικοποίηση Κλειδιού(Key Authentication) • Εννούμενη Αυθεντικοποίηση (Implicit Key Authentication) • Ρητή Αυθεντικοποίηση (Explicit Key Authentication) • Μυστικότητα Κλειδιού (Key Secrecy) • Φρεσκάδα Κλειδιού (Key Freshness) … ένα πρωτόκολλο εδραίωσης θεωρείται ασφαλές αν το κλειδί που θα προκύψει είναι ανέφικτο να το γνωρίζει/μάθει ένας μη εξουσιοδοτημένος χρήστης… Η αυθεντικοποίηση μπορεί να είναι μονόδρομη ή αμοιβαία
Αυθεντικοποίηση Kλειδιού. Ο χρήστης γνωρίζει την ταυτότητα του χρήστη με τον οποίο εδραίωσε το κλειδί Εννούμενη Αυθεντικοποίηση π.χ. η Alice γνωρίζει ότι μόνον ο Βob μπορεί να έχει πρόσβαση στο κλειδί που εδραιώνεται Ρητή αυθεντικοποίησηπ.χ. η Alice βεβαιώνεται ότι ο Βοb έχει πρόσβαση στο κλειδί που εδραιώθηκε 2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας • Αυθεντικοποίηση Χρήστη Κάθε χρήστης μπορεί να καθορίσει: • Την ταυτότητα του χρήστη με τον οποίο εδραιώνει το κλειδί συνόδου, και • ότι ο έτερος χρήστης είναι ενεργός τη στιγμή που εκτελείται το πρωτόκολλο Γνωστή και ως «Επιβεβαίωση Κλειδιού»
2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας • Μυστικότητα Κλειδιού Μόνον οι εξουσιοδοτημένοι χρήστες έχουν πρόσβαση στο κλειδί συνόδου • Φρεσκάδα ΚλειδιούΤο εδραιωμένο κλειδί πρέπει να είναι καινούριο, δηλ. να μην έχει εδραιωθεί ξανά στο παρελθόν από άλλους χρήστες
2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Αποδοτικότητας • Ένα πρωτόκολλο εδραίωσης πρέπει να είναι αποδοτικό ως προς τις εξής πολυπλοκότητες: • Επικοινωνία: • Ο αριθμός των αποστολών μηνυμάτων (passes), • Ο αριθμός των bit που ανταλλάσσονται (per pass), • Υπολογισμοί: ο αριθμός των απαιτούμενων υπολογιστικών πράξεων • Αποθήκευση: O απαιτούμενος αποθηκευτικός χώρος που απαιτείται για την εδραίωση Κ Alice Bob Carol
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π1 Πρωτόκολλο Π1 - Απλή διανομή κλειδιού [38] [Popek and Kline, 1979]
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π2 Πρωτόκολλο Π2 - Απλή διανομή μερητή αυθεντικοποίηση
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π2 Επίθεση Ε1 - Μία επίθεση πλαστοπροσωπίας στο πρωτόκολλο Π2 [30]
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π3 ΠρωτόκολλοΠ3 -Αυθεντικοποίηση με εισαγωγή πληροφορίας σχετικής με την ταυτότητα των χρηστών [30]
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π3 Επίθεση Ε2 - Μία επίθεση πλαστοπροσωπίας στο πρωτόκολλο Π3 [30]
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π4 Πρωτόκολλο Π4 - Το πρωτόκολλο διανομής των Needham-Schroeder [35] ( Needham and Schroeder, 1978)
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π4 Επίθεση Ε3 - Μία επίθεση πλαστοπροσωπίας στο Needham-Schroeder [14] (Denning and Sako, 1981)
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π5 Πρωτόκολλο Π5 - Εισαγωγή χρονοσφραγίδων στο πρωτόκολλο Needham-Schroeder [14] (Denning and Sako, 1981, Denning, 1981)
Menezes, Oorschot, Vanstone, Handbook of Applied Cryptography, CRC, 2001
To λογισμικό Kerberos στον Η/Υ της Emily στέλνει το username στην Υπηρεσία Αυθεντικοποίησης (AS) στον server KDC, που με τη σειρά της επιστρέφει στην Emily ένα Εισιτήριο Έκδοσης Εsισιτηρίων (Ticket Granting Ticket – TGT), κρυπτογραφημένο(συμμετρικά) με το password της Emily Η Emily έρχεται στη δουλειά. Εισάγει σε μια φόρμα το username και τον κωδικό της πρόσβασης, στις 8.00 A.M Το Σύστημα Kerberos Η TGS δημιουργεί και στέλνει στην Emily ένα 2o εισιτήριο, για την ταυτοποίηση της στον file server. To εισιτήριο περιέχει ένα κλειδί συνόδου , κρυπτογραφημένο με τα κλειδιά που μοιράζεται το KDC με Emily & τον server Αν η Emily έχει δώσει το σωστό password, το TGT αποκρυπτογραφείται και η Alice αποκτά πρόσβαση στο σταθμό εργασίας της Όταν η Emily θελήσει να επικοινωνήσει με τον file server, το Kerberos στον Η/Υ της στέλνει μια αίτηση, μαζί με το TGT, στην Υπηρεσία Έκδοσης Εισιτηρίων (Τicket Granting Service – TGS) στον KDC. Το Kerberos εξάγει το κλειδί συνόδου, και αποστέλλει το εισιτήριο στον file server για να αρχίσει η επικοινωνία !
(Stallings, 2010) Εφαρμογή Νο 2The Kerberos System (Steiner et al, 1988) The problem : • ”In an open distributed environment users at workstations wish to access services on servers distributed throughout the network. The servers must be able to restrict access to authorized users and to authenticate requests for service.” • A workstation cannot be trusted to identify users correctly • A user may gain access to a particular workstation and pretend to be another user operating from that workstation • A user may alter the network address of a workstation and thus impersonate another workstation • A user may eavesdrop on exchanges and use a replay attack to gain entrance to a server
(Stallings, 2010) Εφαρμογή Νο 2The Kerberos System • In a distributed architecture consisting of clients and servers three approaches to security can be envisioned: • Rely on each client workstation to assure the identity of its users and rely on each server to enforce security policy based on user identification (ID). • Require that client systems authenticate themselves to servers, but trust the client systems concerning the identity of the user. • Require the user to prove identity for each service invoked. Require that servers prove their identity to clients. • Third approach is supported by Kerberos:
(Stallings, 2010) Εφαρμογή Νο 2The Kerberos System • A trusted, centralized auth. server who facilitates authentication of users to servers and servers to users. • There are two versions • Version 4 is still in common use • Version 5 (1994) corrects some deficiencies of version 4 • Kerberos relies exclusively on conventional encryption. (Steiner et al, 1988, Miller et al,1988) (Kohl et al, 1994) (RFC 4120)
(Stallings, 2010) Εφαρμογή Νο 2The Kerberos System • The following requirements were listed for Kerberos: • Secure: a network eavesdropper should not be able to obtain the required information for impersonating a user. • Reliable: Kerberos should employ a distributed server architecture with one system able to back up another. • Transparent: the user should not be aware that authentication is taking place, except for the entering of the password. • Scalable: the system should have a modular, distributed architecture to support large number of clients and servers.
(Stallings, 2010) Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) • We build up to full protocol • A Simple Authentication Protocol • This protocol uses an authentication server (AS) that knows the passwords of each user and shares a secret key with each server. • Some issues: • Plaintext transmission of password • Number of password uses (Bryant et al,1988) C AS: IDC|| PC || IDV AS C: IDC || Ticket CV: Ticket Ticket = E(KV, [IDC|| ADC || IDV]) C = Client AS = authentication server V = server IDC = identifier of user on C IDV = identifier of V PC = password of user on C ADC = network address of C KV= secret encryption key shared by AS and V
(Stallings, 2010) Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) A More Secure Authentication Dialogue Once per user logon session: (1) C AS: IDC || IDtgs (2) AS C: E(KC, Tickettgs) Once per type of service: (3) C TGS: IDC || IDV || Tickettgs (4) TGSC: TicketV Once per service session: (5) CV: IDC || TicketV Kc = key derived from user password Tickettgs= Ticket granting ticket Ticketv= Service- granting ticket TS = A time-stamp • Issues • Replays after C logs off & before lifetime is over • Servers do not authenticate to Users Tickettgs = E(Ktgs, [IDC|| ADC || IDtgs || TS1 || Lifetime1] ) TicketV = E(KV, [IDC|| ADC || IDV || TS2 || Lifetime2])
Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) The Version 4 Authentication Dialogue (Stallings, 2010)
Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) The Version 4 Authentication Dialogue (Stallings, 2010)
Scalability of KerberosKerberos Realms and Multiple Kerberi • A Kerberos realm, is a full-service environment consisting of a Kerberos server, a number of clients and app servers: • The Kerberos server has the IDs and hashed passwords of all users. All users are registered with the Kerberos server. • The Kerberos server shares a secret key with each server. All servers are registered with the Kerberos server. • Kerberos supports inter-realm authentication. Extra req: • The Kerberos server in each interoperation realm shares a secret key with the server in the other realm. The two kerberos servers are registered with the each other..
Kerberos & Τομείς Ασφάλειας (Security Domains) Τομέας Ασφάλειας • Μία λογική (logical) Ομάδα από υποκείμενα και αντικείμενα (χρήστες, Η/Υ, συσκευές, προγράμματα & εφαρμογές, δεδομένα, … ) • …που υπακούν σε ένα κοινό σύνολο κανόνων ασφάλειας (i.e., πολιτική ασφάλειας) • Kerberos: Ο ελεγκτής τομέα συγκεντρώνει τους ρόλους AS και TGS
Οι χρήστες (clients), γίνονται μέλη στον τομέα κάνοντας log on, με διαδικασίες SSO Μέσω LAN, WAN, VPN κλπ Για κάθε τομέα, υπάρχει ένας server (Domain Controller) όπου: Μια κεντρική ΒΔ (Ενεργός Κατάλογος - Active Directory) περιέχει τους λογαριασμούς & ομάδες χρηστών και Η/Υ Δημιουργούνται & επιβάλλονται οι Πολιτικές Ασφάλειας του τομέα Πολιτικές ομάδων (group policies) Κριτήρια & Δικαιώματα πρόσβασης Ρυθμίσεις ασφάλειας Τομείς Ασφάλειας (Security Domains) Αρχιτεκτονική Client-Server Λογική σύνδεση
Μεγάλα συστήματα, συχνά οργανώνονται ιεραρχικά: Δένδρο Πολλοί Τομείς, με το ίδιο namespace Δάσος (Forrest) Πολλά δένδρα, με διαφορετικά namespaces Τομείς Ασφάλειας (Security Domains) http://technet.microsoft.com/
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π6 Πρωτόκολλο Π6 - Το πρωτόκολλο διανομής των Otway-Rees [37] (Otway and Rees, 1987)
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π7 Πρωτόκολλο Π7 - Το πρωτόκολλο Π6 με αμοιβαία αυθεντικοποίηση [33]
3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πρωτόκολλο Π8 Πρωτόκολλο Π8 - Το πρωτόκολλο των Bellare-Rogaway [5] (Bellare and Rogaway, 1995)
Μειονεκτήματα Αρχιτεκτονικής Υψηλή εμπιστοσύνη στον Trent Υψηλός φόρτος για τον Trent Πλεονεκτήματα Αρχιτεκτονικής Εύκολη διαχείριση συστήματος Κάθε οντότητα αποθηκεύει ένα μόνον κλειδί μακράς διαρκείας 3. Εδραίωση με Συμμετρικές Τεχνικές3.Α. Διανομή Κλειδιού - Πλεονεκτήματα & Μειονεκτήματα
3. Εδραίωση με Συμμετρικές Τεχνικές3.Β. Μεταφορά Κλειδιού - Πρωτόκολλο Π9 Πρωτόκολλο Π9 - Απλή μεταφορά κλειδιού [22] (ISO/IEC 11770-2:1996)