Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2012-2013 Εξάμηνο: Δ’ Ασφάλεια Υπολογιστών και Προστασία Δεδομένων Ενότητα Ε: Ασφάλεια Δικτύων: Αυθεντικοποιημένη Εδραίωση Κλειδιού και Εφαρμογές Αυθεντικοποιημένη Εδραίωση Κλειδιού Syllabus 1. Ασφαλής Επικοινωνία – Βασικές Έννοιες & Εργαλεία 2. Κρυπτογραφικά Πρωτόκολλα Εδραίωσης Κλειδιού 3. Ορισμοί-Κατηγοριοποίηση-Στόχοι Ασφάλειας Εδραίωση Κλειδιού με Συμμετρικές Τεχνικές 4. Αυθεντικοποίηση Χρήστη & Μηνύματος, Μυστικότητα Διανομή, Μεταφορά, Συμφωνία Κλειδιού - Εφαρμογές Εδραίωση Κλειδιού με Τεχνικές Δημόσιου Κλειδιού Μεταφορά, Συμφωνία Κλειδιού - Εφαρμογές 5. Προηγμένα Πρωτόκολλα Εδραίωσης 6. Εφαρμογές A. SSL/TLS (Secure Sockets Layer / Transport Layer Security) B. SSH (Secure Shell) C. IPSec (Internet Protocol Security) H Alice & ο Bob μπορεί να είναι 1. Ασφαλής Επικοινωνία χρήστες, Η/Υ, Βασικές Έννοιεςδιεργασίες & Εργαλεία κλπ… Ζητούμενο: Ασφαλής Επικοινωνία Alice Bob Αυθεντικοποίηση Χρήστη: «Με ποιον μιλάω, τώρα?» Αυθεντικοποίηση Μηνύματος: «Ποιος δημιούργησε το μήνυμα που έλαβα?» Ενεργητικός Παθητικός Μυστικότητα (Εμπιστευτικότητα): Εχθρός Εχθρός «Κανείς δεν μπορεί να διαβάσει όσα λέμε εγώ και η Alice (Mallory) (Eve) » 1. Ασφαλής Επικοινωνία Βασικές Έννοιες & Εργαλεία Ζητούμενο: Ασφαλής Επικοινωνία Σήμερα, η κρυπτογραφία μας προσφέρει ασφαλείς & αποδοτικούς μηχανισμούς για την εκπλήρωση 1. 2. 3. των ιδιοτήτων ασφάλειας: Alice Τεχνικές Πρόκλησης-Απάντησης Αυθεντικοποίηση Χρήστη: Αυθεντικοποίηση με MAC (Αλγόριθμοι: MD5, SHA-1,…) & Ψηφιακές Υπογραφές (Αλγόριθμοι: DSA, RSA, ElGamal,… ) Συμμετρική Κρυπτογράφηση (Αλγόριθμοι: AES,3DES), Κρυπτογράφηση με Δημόσιο Kλειδί (Αλγόριθμοι: RSA, ElGamal,…) Bob «Με ποιον μιλάω, τώρα?» Λόγω απόδοσης, Αυθεντικοποίηση Μηνύματος: στην πράξη «Ποιος δημιούργησε το μήνυμα προτιμώνται οι που έλαβα? » Ενεργητικός Παθητικός συμμετρικές Εχθρός Εχθρός Μυστικότητα (Εμπιστευτικότητα): τεχνικές ! «Κανείς δεν μπορεί να διαβάσει όσα λέμε εγώ και η Alice» 2. Πρωτόκολλα Εδραίωσης Κλειδιού Ορισμοί Το πρόβλημα: Στις συμμετρικές τεχνικές, η Alice και ο Bob μοιράζονται ένα κλειδί Κ. Πώς όμως αποκτούν αυτό το κλειδί; Γενικότερη διατύπωση: Πώς δύο ή περισσότερες οντότητες αποκτούν από κοινού ένα μυστικό (συμμετρικό) • Eve: Υποκλέπτει επικοινωνία • Mallory: Επιθέσεις πλαστοπροσωπίας και ενδιάμεσης οντότητας κλειδί για ασφαλή επικοινωνία … … δηλαδή έναντι παθητικών ή/και ενεργητικών εχθρών 2. Πρωτόκολλα Εδραίωσης Κλειδιού Ορισμοί Σκοπός: Η εδραίωση ενός εφήμερου ή «φρέσκου» κλειδιού που αποκαλείται κλειδί συνόδου (session key) Γιατί κλειδιά συνόδου; 1. Περιορισμός των συνεπειών αν ο «εχθρός» βρει ένα κλειδί. 2. Περιορισμός της ποσότητας υλικού που θα χρησιμοποιηθεί για κρυπτανάλυση. 3. Άρση ανάγκης αποθήκευσης πολλών κλειδιών για μεγάλο χρονικό διάστημα. 4. Ανεξαρτησία μεταξύ των συνόδων επικοινωνίας και των δικτυακών εφαρμογών 2. Πρωτόκολλα Εδραίωσης «Φυσική» Εδραίωση Κλειδιού Σενάρια: 1. 2. H Alice επιλέγει ένα κλειδί και το μεταδίδει στον Bob με φυσικό τρόπο Μια Τρίτη Αρχή επιλέγει ένα κλειδί και το μεταδίδει στους Alice & Bob με φυσικό τρόπο Τα σενάρια 1 και 2, συνήθως εφαρμόζονται για: Κρυπτογράφηση ζεύξης (link encryption) στο επίπεδο σύνδεσης δεδομένων (π.χ. Wi-fi) Για κρυπτογράφηση από άκρησε-άκρη (end-to-end) στο επίπεδο δικτύου, όχι αποδοτικό N hosts: Ν(Ν-1)/2 κλειδιά Τι θα γίνει αν η κρυπτογράφηση γίνει στο επίπεδο εφαρμογής; 1 κλειδί για κάθε ζεύγος χρηστών ή διεργασιών; Case: Δίκτυο με εκατοντάδες κόμβους & χιλιάδες διεργασίες! 2. Πρωτόκολλα Εδραίωσης «Φυσική» Εδραίωση Κλειδιού 2. (Λογική) Εδραίωση Κλειδιού Κατηγοριοποίηση Τρεις περιπτώσεις: 1. Οι Alice & Bob μοιράζονται ήδη ένα κλειδί μακράς ΣΥΜΜΕΤΡΙΚΕΣ ΤΕΧΝΙΚΕΣ διαρκείας (π.χ. password) 2. Οι Alice & Bob μοιράζονται ξεχωριστά κλειδιά μακράς διαρκείας με ένα έμπιστο κέντρο (KDC). 3. Η Alice και ο Bob δεν μοιράζονται κάποιο κλειδί ΤΕΧΝΙΚΕΣ ΔΗΜΟΣΙΟΥ ΚΛΕΙΔΙΟΥ 2. (Λογική) Εδραίωση Κλειδιού Κατηγοριοποίηση Τρεις περιπτώσεις: 1. Οι Alice & Bob μοιράζονται ήδη ένα κλειδί μακράς διαρκείας (π.χ. password) 2. Οι Alice & Bob μοιράζονται ξεχωριστά κλειδιά μακράς διαρκείας με ένα έμπιστο κέντρο (KDC). 3. Η Alice και ο Bob δεν μοιράζονται κάποιο κλειδί Η προτεινόμενη μέθοδος για συστήματα μεγάλης κλίμακας (π.χ. Internet) Σε κλειστά ή/και αυτόνομα συστήματα, τα κλειδιά μακράς διαρκείας (Master keys) χρησιμοποιούνται για την εδραίωση των (εφήμερων) κλειστών συνόδου. Τα Master keys διανέμονται με μη κρυπτογραφικό τρόπο (π.χ. φυσικά) 2. Πρωτόκολλα Εδραίωσης Κλειδιού Κατηγοριοποίηση 1. Πρωτόκολλα Διανομής Κλειδιού (Key Distribution) Μια έμπιστη οντότητα (KDC) δημιουργεί το κλειδί και το στέλνει στην Alice και τον Bob 3. 2. Πρωτόκολλα Μεταφοράς Κλειδιού (Key transport) Η Alice (Bob) δημιουργεί ένα κλειδί και το στέλνει στον Bob (Alice) Πρωτόκολλα Συμφωνίας Κλειδιού (Key Agreement) Η Alice & Bob συνεισφέρουν από κοινού στη δημιουργία του κλειδιού συνόδου 2. Πρωτόκολλα Εδραίωσης Κλειδιού Κατηγοριοποίηση Κρυπτογραφικά Πρωτόκολλα Εδραίωσης Κλειδιού 1. Συμμετρικές Τεχνικές Διανομής: Π1-Π8 Μεταφοράς: Π9-Π10 2. Τεχνικές Δημόσιου Κλειδιού Συμφωνίας: Π11-Π12 Μεταφοράς: Π14-Π18 Πηγή: (Magkos et al, 2011) Συμφωνίας: Π19-Π26 2. Πρωτόκολλα Εδραίωσης Κλειδιού Κατηγοριοποίηση Σημείωση: Στις συμμετρικές τεχνικές, μπορούμε να εντάξουμε μια επιπλέον κατηγορία 4. Εδραίωση χωρίς σύνδεση με προμοιρασμένα κλειδιά (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. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας 1. 2. Αυθεντικοποίηση Χρήστη (User Authentication) Η αυθεντικοποίηση μπορεί να είναι Αυθεντικοποίηση Κλειδιού ή αμοιβαία … ένα πρωτόκολλομονόδρομη εδραίωσης (Key Authentication) A. B. θεωρείται ασφαλές αν το κλειδί Εννούμενη Αυθεντικοποίηση που θα προκύψει είναι ανέφικτο (Implicit Key Authentication) να το γνωρίζει/μάθει ένας Ρητή Αυθεντικοποίηση μη εξουσιοδοτημένος χρήστης… (Explicit Key Authentication) 3. Μυστικότητα Κλειδιού (Key Secrecy) 4. Φρεσκάδα Κλειδιού (Key Freshness) 2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας 1. Αυθεντικοποίηση Χρήστη Κάθε χρήστης μπορεί να καθορίσει: A. B. Την ταυτότητα του χρήστη με τον οποίο εδραιώνει το κλειδί συνόδου, και ότι ο έτερος χρήστης είναι ενεργός τη στιγμή που εκτελείται το πρωτόκολλο 2. Αυθεντικοποίηση Kλειδιού. Ο χρήστης γνωρίζει την ταυτότητα του χρήστη με τον οποίο εδραίωσε το κλειδί A. Εννούμενη Αυθεντικοποίηση π.χ. η Alice γνωρίζει ότι μόνον ο Βob μπορεί να έχει πρόσβαση στο κλειδί που εδραιώνεται B. Ρητή αυθεντικοποίηση π.χ. η Alice βεβαιώνεται ότι ο Γνωστή και ως «Επιβεβαίωση Κλειδιού» Βοb έχει πρόσβαση στο κλειδί που εδραιώθηκε 2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Ασφάλειας 3. Μυστικότητα Κλειδιού Μόνον οι εξουσιοδοτημένοι χρήστες έχουν πρόσβαση στο κλειδί συνόδου 4. Φρεσκάδα Κλειδιού Το εδραιωμένο κλειδί πρέπει να είναι καινούριο, δηλ. να μην έχει εδραιωθεί ξανά στο παρελθόν από άλλους χρήστες 2. Πρωτόκολλα Εδραίωσης Κλειδιού Στόχοι Αποδοτικότητας 1. Ένα πρωτόκολλο εδραίωσης πρέπει να είναι αποδοτικό ως προς τις εξής πολυπλοκότητες: Επικοινωνία: 2. 3. Ο αριθμός των αποστολών μηνυμάτων (passes), Alice Bob Ο αριθμός των bit που ανταλλάσσονται (per pass), Υπολογισμοί: ο αριθμός των απαιτούμενων υπολογιστικών πράξεων Αποθήκευση: O απαιτούμενος αποθηκευτικός χώρος που απαιτείται για την εδραίωση 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 Η Emily έρχεται στη δουλειά. Εισάγει σε μια φόρμα το ΤοτονΣύστημα username και κωδικό της πρόσβασης, στις 8.00 A.M To λογισμικό Kerberos στον Η/Υ της Emily στέλνει το username στην Υπηρεσία Αυθεντικοποίησης (AS) στον server KDC, που με τη σειρά της επιστρέφει Kerberos στην Emily ένα Εισιτήριο Έκδοσης Εsισιτηρίων (Ticket Granting Ticket – TGT), κρυπτογραφημένο (συμμετρικά) με το password της Emily Η TGS δημιουργεί και στέλνει Αν η Emily έχει δώσει το στην Emily ένα 2o εισιτήριο, για σωστό password, το TGT την ταυτοποίηση της στον file αποκρυπτογραφείται και η server. To εισιτήριο περιέχει ένα Alice αποκτά πρόσβαση στο κλειδί συνόδου , κρυπτογραφημένο σταθμό εργασίας της με τα κλειδιά που μοιράζεται το Όταν η Emily θελήσει να KDC με Emily & τον server επικοινωνήσει με τον file server, το Kerberos στον Η/Υ της στέλνει μια Το Kerberos εξάγει το κλειδί αίτηση, μαζί με το TGT, στην συνόδου, και αποστέλλει το Υπηρεσία Έκδοσης Εισιτηρίων εισιτήριο στον file server για (Τicket Granting Service – TGS) να αρχίσει η επικοινωνία ! στον KDC. (Stallings, 2010) Εφαρμογή Νο 2 The 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) Εφαρμογή Νο 2 The Kerberos System In a distributed architecture consisting of clients and servers three approaches to security can be envisioned: 1. 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). 2. Require that client systems authenticate themselves to servers, but trust the client systems concerning the identity of the user. 3. 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) Εφαρμογή Νο 2 The Kerberos System A trusted, centralized auth. server who facilitates authentication of users to servers and servers to users. There are two versions Version 4 (Steiner et al, 1988, Miller et al,1988) is still in common use Version 5 (1994) (Kohl et al, 1994) (RFC 4120) corrects some deficiencies of version 4 Kerberos relies exclusively on conventional encryption. (Stallings, 2010) Εφαρμογή Νο 2 The Kerberos System The following requirements were listed for Kerberos: 1. Secure: a network eavesdropper should not be able to obtain the required information for impersonating a user. 2. Reliable: Kerberos should employ a distributed server architecture with one system able to back up another. 3. Transparent: the user should not be aware that authentication is taking place, except for the entering of the password. 4. 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 (Bryant et al,1988) 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. C AS: IDC|| PC || IDV AS C: IDC || Ticket CV: Ticket Ticket = E(KV, [IDC|| ADC || IDV]) Some issues: Plaintext transmission of password Number of password uses 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: (4) TGSC: Kc = key derived from user password Tickettgs= Ticket granting ticket Ticketv= Service- granting ticket TS = A time-stamp IDC || IDV || Tickettgs TicketV Once per service session: (5) CV: IDC || TicketV Tickettgs = E(Ktgs, [IDC|| ADC || IDtgs || TS1 || Lifetime1] ) TicketV = E(KV, [IDC|| ADC || IDV || TS2 || Lifetime2]) Issues Replays after C logs off & before lifetime is over Servers do not authenticate to Users The Version 4 Authentication Dialogue Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) (Stallings, 2010) The Version 4 Authentication Dialogue Kerberos Version 4 (Steiner et al, 1988, Miller et al,1988) (Stallings, 2010) (Stallings, 2010) Scalability of Kerberos Kerberos Realms and Multiple Kerberi A Kerberos realm, is a full-service environment consisting of a Kerberos server, a number of clients and app servers: 1. The Kerberos server has the IDs and hashed passwords of all users. All users are registered with the Kerberos server. 2. 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: 3. 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 Τομείς Ασφάλειας (Security Domains) Αρχιτεκτονική Client-Server Για κάθε τομέα, υπάρχει ένας server (Domain Controller) όπου: Μια κεντρική ΒΔ (Ενεργός Κατάλογος - Active Directory) περιέχει τους λογαριασμούς & ομάδες χρηστών και Η/Υ Δημιουργούνται & επιβάλλονται οι Πολιτικές Ασφάλειας του τομέα Πολιτικές ομάδων (group policies) Κριτήρια & Δικαιώματα πρόσβασης Ρυθμίσεις ασφάλειας Οι χρήστες (clients), γίνονται μέλη στον τομέα κάνοντας log on, με διαδικασίες SSO Μέσω LAN, WAN, VPN κλπ Λογική σύνδεση Τομείς Ασφάλειας (Security Domains) - Τομείς Ασφάλειας (Security Domains) Μεγάλα συστήματα, συχνά οργανώνονται ιεραρχικά: 1. Δένδρο Πολλοί Τομείς, με το ίδιο namespace 1. Δάσος (Forrest) Πολλά δένδρα, με διαφορετικά namespaces 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) 3. Εδραίωση με Συμμετρικές Τεχνικές 3.Α. Διανομή Κλειδιού - Πλεονεκτήματα & Μειονεκτήματα Πλεονεκτήματα Αρχιτεκτονικής Εύκολη διαχείριση συστήματος Κάθε οντότητα αποθηκεύει ένα μόνον κλειδί μακράς διαρκείας Μειονεκτήματα Αρχιτεκτονικής Υψηλή εμπιστοσύνη στον Trent Υψηλός φόρτος για τον Trent 3. Εδραίωση με Συμμετρικές Τεχνικές 3.Β. Μεταφορά Κλειδιού - Πρωτόκολλο Π9 Πρωτόκολλο Π9 - Απλή μεταφορά κλειδιού [22] (ISO/IEC 11770-2:1996) 3. Εδραίωση με Συμμετρικές Τεχνικές 3.Β. Μεταφορά Κλειδιού - Πρωτόκολλο Π10 Πρωτόκολλο Π10 - Απλή μεταφορά κλειδιού με πρόκληση-απάντηση [33] 3. Εδραίωση με Συμμετρικές Τεχνικές 3.C. Συμφωνία Κλειδιού - Πρωτόκολλο Π11 Πρωτόκολλο Π11 -To πρωτόκολλο ΑΚΕP2 [4] (Bellare and Rogaway, 1993) ΚS = Hash(K’AB, NA, NB) 3. Εδραίωση με Συμμετρικές Τεχνικές 3.C. Συμφωνία Κλειδιού - Πρωτόκολλο Π12 Πρωτόκολλο Π12 - Συμφωνία κλειδιού με χρονοσφραγίδες ΚS = Hash(kA, kB) 3. Εδραίωση με Συμμετρικές Τεχνικές 3.C. Συμφωνία Κλειδιού - Πρωτόκολλο Π13 Πρωτόκολλο Π13 - Συμφωνία κλειδιού με πρόκληση-απάντηση 4. Εδραίωση με Ασύμμετρες Τεχνικές 4.Α. Μεταφορά Κλειδιού - Η ιδέα του Merkle (Merkle, 1978) 1. 2. Η Alice φτιάχνει μια ΒΔ με 1.000.000 κλειδιά και αντίστοιχους (μοναδικούς) σειριακούς αριθμούς Η Alice κρυπτογραφεί κάθε ζεύγος της ΒΔ με διαφορετικά κλειδιά μικρού μήκους (π.χ 20 bit) Τυχαία σειρά 4. Εδραίωση με Ασύμμετρες Τεχνικές 4.Α. Μεταφορά Κλειδιού - Η ιδέα του Merkle (Merkle, 1978) 3. Η Alice στέλνει στον Bob 1.000.000 κρυπτογραφημένα μηνύματα 4. Ο Bob επιλέγει στην τύχη ένα μήνυμα και εξαπολύει μια επίθεση brute force 5. π.χ. 1 ώρας διάρκεια O Bob ανακτά π.χ. το ζεύγος (1yt8a42x35 | 500,121) 6. O Bob επικοινωνεί με την Alice: της λέει να χρησιμοποιήσει το κλειδί που αντιστοιχεί στο 500.121 Ασυμμετρία ! Η Eve δεν ξέρει πιο από τα κρυπτογραφημένα μηνύματα περιέχει το κλειδί που επέλεξε ο Bob !! ! Η Eve θα πρέπει να «σπάσει» κατά μέσο όρο 219 ~ 500.000 μηνύματα !!! π.χ. 500.000 ώρες εργασίας 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.Α. Μεταφορά Κλειδιού - Πρωτόκολλο Π15 Πρωτόκολλο Π15 -Ένα απλό πρωτόκολλο μεταφοράς κλειδιού [39,33] (Merkle, 1979, Kohnfelder 1978, p.5) 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.Α. Μεταφορά Κλειδιού - Πρωτόκολλο Π15 Στην απλή του μορφή το Π15 είναι ευπαθές σε επιθέσεις MITM (Rivest & Shamir, 1984) Εφαρμογή Νο 3 SSL 3.0 (Secure Sockets Layer) Το ΔΚ της CA είναι πιθανώς προεγκατεστημένο, κατά την εγκατάσταση του λογισμικού πλοήγησης … NA … NB , SigCA(PKB) EPKB[ΚΑ] ΚS = Hash(KA, NA, NB) ΚS = Hash(KA, NA, NB) Master Secret Pre-master Secret Master Secret O “διάδοχος” του SSL TLS (Transport Layer Security) … NA … NB , SigCA(PKB) SigA(EPKB[ΚΑ],…), SigCA(PKA) ΚS = Hash(KA, NA, NB) ΚS = Hash(KA, NA, NB) Εφαρμογή Νο 4 Κινητή Τηλεφωνία: WAP & WTLS WTLS SSL Web Server Internet Gateway Εφαρμογή Νο 5 ΙΕΕΕ 802.11i (Ασύρματα Τοπικά Δίκτυα) Mobile client Enterprise network Εδραίωση Κλειδιού σε WLANS (EAP-TLS) Radius Authentication Server 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.Α. Μεταφορά Κλειδιού - Πρωτόκολλο Π16 Πρωτόκολλο Π16 -Μεταφορά κλειδιού με αυθεντικοποίηση οντότητας [23] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.Α. Μεταφορά Κλειδιού - Πρωτόκολλο Π17 Πρωτόκολλο Π17 -Μεταφορά κλειδιού με αυθεντικοποίηση οντότητας [23] (ISO/IEC 11770-3, 1999) 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.Α. Μεταφορά Κλειδιού - Πρωτόκολλο Π18 Πρωτόκολλο Π18 -Μεταφορά κλειδιού με αμοιβαία αυθεντικοποίηση [33] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π19 Πρωτόκολλο Π19-Συμφωνία κλειδιού με αμοιβαία αυθεντικοποίηση [35] (Needham & Schroeder, 1978) ΚS = Hash(kA, kB) 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π20 Πρωτόκολλο Π20 - Τροποποίηση του πρωτοκόλλου Π19 [33] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π21 Πρωτόκολλο Π21 - Παραλλαγή του πρωτοκόλλου Needham-Schroeder [35] (Needham & Schroeder, 1978) 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π22 Πρωτόκολλο Π22 - Μια απλοποίηση του Π21 [35] (Needham & Schroeder, 1978) 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π22 Επίθεση E4 - H επίθεση του Lowe στο πρωτόκολλο Π22 [30] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Diffie-Hellman (Diffie &Hellman, 1976) Πρωτόκολλο Π23 - Το πρωτόκολλο Diffie-Hellman [15] KS ( g rb )ra mod p KS ( g ra )rb mod p Εφαρμογές: Ο αλγόριθμος και οι παραλλαγές του χρησιμοποιούνται σήμερα ευρέως σε δημοφιλείς εφαρμογές: π.χ. IPSec, SSH, SSL/TLS, … John Hershey. Cryptography Demystified. McGraw-Hill Κρυπτογραφία Δημόσιου Κλειδιού Professional, 2003 To Πρωτόκολλο Diffie-Hellman – Ένα παράδειγμα Παράμετροι συστήματος ga g p= 101, g=3 a=5 b 35 mod101 41 k (g ) a b k ( g b )a 36 mod101 22 b=6 k 416 mod101 6 Όλες οι πράξεις γίνονται mod p g και p: Παράμετροι συστήματος ΓΝΩΣΤΕΣ ΣΕ ΟΛΟΥΣ k 225 mod101 6 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π23 Επίθεση E5 - Μία επίθεση ενδιάμεσης οντότητας (MITM) στο DH [30] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - To Πρωτόκολλο STS [16] Πρωτόκολλο Π24 - Το πρωτόκολλο Station to Station (STS) [16] (Diffie et al, 1981) Εφαρμογή Νο 6: Virtual Private Networks (VPNs) IPSec - Το πρωτόκολλο IKE (Internet Key Exchange) m1 A, (ga mod p) A B, (gb mod p), SigB(m1,m2), CertB m2 SigA(m1,m2), CertA B Εφαρμογή Νο 7: Secure Shell (SSH) Εδραίωση Κλειδιού στο πρωτόκολλο SSH m1 A, (ga mod p) A B, (gb mod p), SigB(m1,m2) B m2 Αυθεντικοποίηση χρήστη (π.χ. αποστολή password, κρυπτογραφημένου με το Ks) K S g mod p ab K S g ba mod p Εφαρμογή Νο 7: Bluetooth v. 2.1 Εδραίωση Κλειδιού στο Bluetooth Elliptic Curve Diffie-Hellman (ECDH) Key Exchange Let’s pair PKb Device A PKa DHkeyA = aPKb Device B DHkeyB = bPKa DHkeyA = aPKb = abG = baG = bPKa = DHkeyB http://www.aladdin.com/blog/pdf/AndrewLindell-BlackHat08.ppt 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π25 Πρωτόκολλο Π25 - Το πρωτόκολλο εδραίωσης κλειδιού X.509 [34] 4. Εδραίωση με Τεχνικές Δημόσιου Κλειδιού 4.B. Συμφωνία Κλειδιού - Πρωτόκολλο Π26 Πρωτόκολλο Π26 - Το πρωτόκολλο Π25 με πρόκληση-απάντηση [34] 5. Προηγμένα Πρωτόκολλα Εδραίωσης H Οικογένεια Πρωτοκόλλων MTI [31] Πρωτόκολλο Π27 - To πρωτόκολλο συμφωνίας MTI/A0 [31] (Matsumoto et al, 1986) 5. Προηγμένα Πρωτόκολλα Εδραίωσης Το πρωτόκολλο ΕΚΕ (Encrypted Key Exchange) [7] Πρωτόκολλο Π29: Το πρωτόκολλο ΕΚΕ [7] (Bellovin and Merritt, 1992) 5. Προηγμένα Πρωτόκολλα Εδραίωσης Το πρωτόκολλο ΕΚΕ2 [3] Πρωτόκολλο Π30: Το πρωτόκολλο ΕΚΕ2 [3] (Bellare et al, 2000) KS g rarb mod p 5. Προηγμένα Πρωτόκολλα Εδραίωσης Εδραίωση Κλειδιού Ομάδας στο DH (Ingemarsson et al, 1982) Πώς μπορούν 3 ή περισσότεροι χρήστες να συμφωνήσουν σε ένα κοινό κλειδί K … … Χρησιμοποιώντας το πρωτόκολλο DH; Group Key Agreement Alice Bob Carol Carol 5. Προηγμένα Πρωτόκολλα Εδραίωσης Εδραίωση Κλειδιού Ομάδας στο DH (Ingemarsson et al, 1982) Πώς μπορούν 3 ή περισσότεροι χρήστες να συμφωνήσουν σε ένα κοινό κλειδί K … … Χρησιμοποιώντας το πρωτόκολλο DH; Group Key Agreement Alice Bob Carol 5. Συνοψίζοντας Συμμετρικά Πρωτόκολλα vs Πρωτόκολλα ΔΚ Εδραίωση με Συμμετρικά Συστήματα 1. 1. ΥΠΕΡ Απόδοση (κόστος υπολογισμών, χωρητικότητας, αποθήκευσης) Απαιτούν προ-συμφωνημένα μυστικά (με άλλους κόμβους ή με το KDC) Διαχείριση κλειδιού σε συστήματα μεγάλης κλίμακας: Δύσκολη Εφαρμογή σε κατανεμημένα και δυναμικά περιβάλλοντα: Δύσκολη Στα συστήματα διανομής, το KDC αποτελεί μοναδικό σημείο αποτυχίας ΥΠΕΡ 1. Δεν απαιτούν την ύπαρξη προεγκατεστημένων μυστικών, ούτε ενός πλήρως έμπιστου, online KDC 2. Ιδανικά για συστήματα μεγάλης κλίμακας και δυναμικής τοπολογίας 3. Μη αποποίηση ευθύνης (ψηφιακές υπογραφές) ΚΑΤΑ 2. Εδραίωση με Συστήματα ΔΚ ΚΑΤΑ 1. Απόδοση (κόστος υπολογισμών, χωρητικότητας, αποθήκευσης) 2. Διαχείριση κλειδιού (Υποδομές δημόσιου κλειδιού- PKI) Εφαρμογές A Classification of Threats on the Web (Stallings, 2010) * Relative Location of Security Facilities in the TCP/IP Protocol Stack (Stallings, 2010),* (Katz, 2010)* Ασφάλεια στο Επίπεδο Εφαρμογής (S/MIME, PGP, Kerberos,…) Ασφάλεια στο Επίπεδο «above TCP» (SSH, SSL/TLS) Διαφάνεια, προστασία όλων των εφαρμογών, (host-to-host) Ασφάλεια στο Επίπεδο MAC (Data Link) (WPA, IEEE 802.11i,…) Ασφάλεια “end-to-end” (app-to-app) Ασφάλεια στο Επίπεδο IP (IPSec) Σχεδιασμός εξειδικευμένων υπηρεσιών ασφάλειας (user-to-app) … “hop-by-hop” security; WLAN & Cellular security (NIC-to-NIC) What Layer? 1. For most implementations of IP stacks Transport layer and below implemented in operating system. Above transport layer implemented in user process. SSL/TLS (or SSH) 2. (Basin, 2005) * (Kaufman, 2002) * OS doesn’t change, applications do. IPsec: OS changes. Applications unchanged. Secure Socket Layer and Transport Layer Security (Stallings, 2010),* (Katz, 2010) * Goal: Reliable, end-to-end security Best for: Connection-oriented sessions User: Users not necessarily involved OS: Not necessarily modified App: Easy to modify apps to use SSL Current version: SSL v3, also known as TLS (Transport Layer Security): Internet Standard (RFC 5246) * SSL Record Protocol (Stallings, 2010) * SSL Record provides two services for SSL connections: Confidentiality: Handshake defines a shared key for encrypting SSL payloads Message Integrity: Handshake defines a shared key for MAC SSL Handshake Protocol (Stallings, 2010)* SSL Handshake Protocol (Stallings, 2010)* Phase 1. Establish Security Capabilities Key exchange method (cipher suite) 1. RSA key transfer: session key encrypted with receiver’s PK (cert is available) 2. Fixed Diffie-Hellman: Cert contains DH public-key (fixed key) signed by CA 3. Ephemeral Diffie-Hellman: sign (RSA or DSS) & send ephemeral DH keys 4. Anonymous Diffie-Hellman: Use the base DH key agreement algorithm SSL Handshake Protocol (Stallings, 2010)* Phase 2. Server Auth and Key Exchange Cert not required for anonymous DH Server_key_exchange not required if: 1. Fixed DH (cert already contains key) 2. RSA key transfer is to be used Server_key_exchange may be needed in: 1. Anonymous DH: Send global values (p, g) and the server’s public DH key 2. Ephemeral DH: the values above, signed with server’s private key 3. RSA key transfer in which the server has a signature-only RSA key: Server creates a temporary key pair, then signs & sends pk (exponent & modulus) Signature also contains nonces so far: SSL Handshake Protocol (Stallings, 2010)* Phase 3. Client Auth and Key Exchange Server may also ask a client cert (TLS) Content of client_key_exchange: 1. RSA key transfer: Client generates a 48-byte pre_master_secret & encrypts with server’s public key 2. Ephemeral or Anonymous DH: The client’s public DH parameters 3. Fixed DH: content null (DH parameters were sent in the certificate message) Certificate_verify is sent only if client’s cert has a signing capability: Goal: prove possession of private key SSL Handshake Protocol (Stallings, 2010)* Phase 4. Finish Completion of setting up a connection Finished message verifies that auth and key exchange were successful Concatenation of two hashes: SSL Handshake Protocol (Stallings, 2010)* Master Secret Creation It is built upon a pre_master_secret, which, has already been built in 2 ways: 1. RSA key transfer: pre_master is sent by client, encrypted with server’s pk 2. Diffie-Hellman: pre_master_secret is the established DH key Both sides now compute master_secret: In TLS, master_secret is computed as: SSL Handshake Protocol (Stallings, 2010)* Generation of Cryptographic Parameters CipherSpecs requires: A client write MAC secret A server write MAC secret A client write key and IV A server write key and IV How? Hash master_secret until enough output is generated: * * (Brown, 2011) * Transport Layer Security (RFC 5246) (Stallings, 2010) Similar to SSLv3 with minor differences record format version number uses HMAC for MAC a different pseudo-random function has additional alert codes some changes in supported ciphers changes in certificate types & negotiations changes in crypto computations & padding Transport Layer Security (RFC 5246)* (Stallings, 2010)* HTTP Secure (HTTPS) HTTP over SSL/TLS (Stallings, 2010)* (Brown, 2011) * Motivation HTTP: subject to man-in-the- Solution middle and eavesdropping attacks SSL/TLS connection Goal Encrypted communication & identification of (at least) Web server over an insecure network https://www.owasp.org/index.php/Man-in-the-middle_attack Use ordinary HTTP over an Documented in RFC 2818* HTTPS: a URI scheme * URLs begin with https:// Use port 443 Used in: Payment transactions User access with passwords Secure mail, Corporate Intranet,… HTTP Secure (HTTPS) HTTP over SSL/TLS (Stallings, 2010)* (Brown, 2011) * Information that HTTPS encrypts: URL, document contents, form data, cookies, HTTP headers The attacker can only know the fact that a connection takes place between two hosts with known domain names and IP addresses HTTP Secure (HTTPS) HTTP over SSL/TLS (Stallings, 2010)* Client Authentication HTTPS can also be used for controlling access to a web server Admin builds a cert for each user Each user loads cert to browser Typically, the certificate contains name and e-mail address of user Other Issues Certificate revocability Browser should check whether a cert is still valid Implement Online Certificate * Status Protocol (OCSP)(RFC 2560) Software security issues * * (Browser and Server) , Εφαρμογές Κινητή Τηλεφωνία: WAP & WTLS WTLS SSL Web Server Internet Gateway Εφαρμογές ΙΕΕΕ 802.11i (Ασύρματα Τοπικά Δίκτυα) Mobile client Enterprise network Εδραίωση Κλειδιού σε WLANS (EAP-TLS) Radius Authentication Server Secure Shell (SSH) (Stallings, 2010) * Initial version (SSH1) to replace TELNET & other insecure schemes Today, SSH provides a general client-server capability Remote login, file transfer, mail,… * Current version: SSH2 (RFCs 4250-4256) * Motivation: (old) Telnet sessions are unencrypted ! http://www.ibm.com/developerworks/aix/library/au-sshsecurity/ * Secure Shell (SSH) Transport Layer Protocol * A. Host Keys Server auth occurs here * Server possesses public/private key pair Client must have a priori knowledge of the server’s public host key Two alternative trust models:* 1. Client has a local database that associates a host name with a pk 2. Host name-to-key certified by a CA (client knows CA’s root key) Secure Shell (SSH) (Stallings, 2010) * Transport Layer Protocol * B. Packet Exchange * Secure Shell (SSH) (Stallings, 2010) * Transport Layer Protocol * B. Packet Exchange Steps of SSH Transport Layer 1. Identification string exchange These strings are used in the DH key exchange later 2. Algorithm negotiation Key exchange, encryption, MAC, compression * 3. Key exchange Diffie-Hellman key exchange Secure Shell (SSH) (Stallings, 2010) * Transport Layer Protocol * * Secure Shell (SSH) (Stallings, 2010) * * Transport Layer Protocol – DH Key Exchange * Secure Shell (SSH) (Stallings, 2010) * Transport Layer Protocol * Subsequent to DH key exchange, all data is exchanged as the payload of an SSH packet, protected by encryption and MAC * C. Key Generation All needed keying material is generated from established DH key: Secure Shell (SSH) (Stallings, 2010) * User Authentication Protocol * Three authentication methods: 1. Public-key: Client sends a public key and a signature on a message Typically , user supplies a passphrase to decrypt signature key 2. Password: Client sends password, encrypted by TLP 3. Host-based: Host locally authenticates (multiple) user(s), then signs a message with host’s private key Secure Shell (SSH) (Stallings, 2010) * Connection Protocol * Assumes a secure authentication connection (tunnel) Uses the tunnel to multiplex a number of logical channels All types of SSH communication use separate channels Either side may open a channel with unique id number Channels are flow controlled using a window mechanism http://docstore.mik.ua/orelly/networking_2ndEd/ssh/ch03_05.htm Secure Shell (SSH) (Stallings, 2010) * Connection Protocol * Life of a channel has 3 stages: 1. Opening a channel, 2. Data transfer, 3. Closing a channel Secure Shell (SSH) (Stallings, 2010) * Connection Protocol * Channel types: 1. Session Remote execution of a program (shell, file transfer, mail, …) 2. Local port forwarding SSH client “listens” and intercepts selected app-level traffic and redirects it to SSH tunnel 3. Examples: POP3, SMTP, HTTP,… Remote port forwarding Tunnel initiated on server side, goes back through client machine Port forwarding* services are also known as SSH tunneling Secure Shell (SSH) (Stallings, 2010) * Local Port Forwarding Case: Use a local mail client to get mail from mailserver via POP3 *, *, * * Unprotected session Secure Shell (SSH) (Stallings, 2010) * Remote Port Forwarding *, *, * Case: You wish to access a server at work from home (server is behind a firewall) Internet Protocol Security (IPsec) Motivation An enterprise can run a secure, private network over Internet 1. Encrypt packets that leave/enter the premises 2. Authenticate packets that leave/enter the premises (Stallings, 2010) * Security at the IP level Protect all apps (with or without security mechanisms!) Transparent to end users IPsec (Stallings, 2010)* Applications of IPsec 1. Branch connectivity 2. Secure remote access 3. Company builds a secure VPN over Internet or public WAN User calls local ISP & gains secure access to company network Extranet & Intranet connectivity Secure communication with other organizations and/or other departments within enterprise •http://www.digi-cube.com/images/client2network_vpn.gif IPsec (Stallings, 2010)* Rooting Applications (Stallings, 1996)* IPsec can assure that: A router advertisement comes from an authorized router A neighbor advertisement comes from an authorized router A redirect message* comes from a router to which packet was sent A routing update is not forged http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080094e9e.shtml To πρότυπο IPsec (Stallings, 2010)* IPsec Services (RFC 4301) * Access Control Connectionless integrity Data origin authentication Rejection of replay packets 1. Confidentiality Traffic flow confidentiality (Heidari, 2004)* Two (2) protocols are used: 1. AH (Authentication Header) 2. * Authentication & Integrity Confidentiality (& optional authentication / integrity) Transport mode Only protect IP packet payload (protect upper layer protocol) ESP (Encapsulation Sec. Payload)* AH and ESP support two modes: Case: E2E between 2 hosts 2. Tunnel mode Protects the entire IP packet Case: A number of endnodes (without IPsec installation) on networks between firewalls Case2: endnode to firewall To πρότυπο IPsec (Stallings, 2010)* IPsec Architecture (Stallings, 2010)* IPsec Architecture (Stallings, 2010)* IPsec Architecture (Stallings, 2010)* IPsec Architecture (Stallings, 2010)* Encapsulating Security Payload (ESP) (Stallings, 2010)* Encapsulating Security Payload (ESP) Transport and Tunnel mode (Stallings, 2010)* ESP (Stallings, 2010)* Transport and Tunnel modes Transport mode Confidentiality & integrity for any app (no need to implement confidentiality in an app separately) o Traffic analysis on transmitted packets ! Tunnel mode Counter traffic analysis Simplifies key distribution Encapsulating Security Payload (ESP) Transport and Tunnel mode (Stallings, 2010)* ESP & AH Transport Packet layout IP Header ESP Header Tunnel Packet layout IP Header ESP Header IP Header Απροστάτευτο Payload (TCP, UDP, etc) Payload (TCP. UDP,etc) Προστατευμένο Note: In transport mode, AH is better than ESP with authentication, since AH also provides integrity protection for some fields inside the IP header (although this can also be offered by ESP tunnel mode) Ipsec - Combining Security Associations (Stallings, 2010) * IP Security (Stallings, 2010) * IKE (Internet Key Exchange) (RFC 4306) * Goal Mutually authenticated session key(s) establishment Protocol A variarion * of DH key exchange with extra features 1. Cookies, to thwart clogging* 2. Nonces to prevent replay 3. Mutual authentication, to thwart MITM attacks 4. Optional anonymity Cookie: a hash over IP (src, dest) addresses, UDP (src, dest) ports, & a locally generated secret value Three authentication methods: 1. Public signatures keys. Sign hashes of previous messages 2. Public encryption keys. Encrypt challenges with responder’s PK 3. Symmetric key encrypt. Use an out-of-band established key Internet Key Exchange (Stallings, 2010) Clogging attacks & Cookies * (Sun, 2011) * Clogging attacks Opponent forges legitimate IP & sends a public DH key to victim; Victim performs modular exponentiation to compute the DH key; Repeated messages of this type can clog the victim’s system with useless work. Suggestion: Cookies When receiving request from S, send cookie to S; start processing after cookie comes back from the initiator Stateless Cookies Responder does not have to remember cookies he sent out; Cookie is a function of e.g., IP address and a secret known to responder Internet Key Exchange (Stallings, 2010) Clogging attacks & Cookies (Sun, 2011) * * IPSec (Kaufman, 2002) * Case: the Photuris Protocol (candidate for IKE) { } –encryption with the established DH key Anonymous DH with identity hiding and stateless cookies IKE Phase 1 (Kaufman, 2002) * Aggressive Mode Proof I’m Bob/Alice: (a) I prove I know the key associated to my identity (e.g., private signature key, private decryption key, pre-shared key) (b) Integrity-protect the previous messages IKE Phase 1 (Kaufman, 2002) * Main Mode + cookies IKE Phase 1 (Kaufman, 2002) * Public Signature Keys, Main Mode IKE Phase 1 (Kaufman, 2002) * Public Signature Keys, Aggressive Mode IKE Phase 1 (Kaufman, 2002) * Public Encryption Keys, Main Mode, Original IKE Phase 1 (Kaufman, 2002) * Public Encryption Keys, Aggressive Mode, Original IKE Phase 1 (Kaufman, 2002) * Public Encryption Keys, Main Mode, Revised IKE Phase 1 (Kaufman, 2002) * Public Encryption Keys, Aggressive Mode, Revised IKE Phase 1 (Kaufman, 2002) * Pre-Shared Secret Keys, Main Mode IKE Phase 1 (Kaufman, 2002) * Pre-Shared Secret Keys, Aggressive Mode IP Security (Stallings, 2010) * Cryptographic Suites