Slides διάλεξης - Μέρος - Τμήμα Πληροφορικής
Download
Report
Transcript Slides διάλεξης - Μέρος - Τμήμα Πληροφορικής
Ιόνιο Πανεπιστήμιο
Τμήμα Πληροφορικής
Ακαδημαϊκό Έτος 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