IPSec Χαρακτηριστικά Η IPSec (IP Security) προδιαγραφή περιγράφει ένα γενικό πλαίσιο ασφάλειας και καθορίζει μία σειρά από διαδικασίες και πρωτόκολλα, τα οποία διασφαλίζουν την ασφαλή επικοινωνία σε IP δίκτυα Το IPSec υποστηρίζει την ασφαλή ανταλλαγή δεδομένων στο IP επίπεδο Το IPSec μεταφέρει με ασφάλεια τα δεδομένα των ανωτέρων επιπέδων (π.χ. TCP,UDP, …) Λειτουργεί σε τερματικούς υπολογιστές και πύλες ασφαλείας, όπως ένας δρομολογητής ή firewall
IPSec Χαρακτηριστικά Παρέχει τις ακόλουθες υπηρεσίες ασφαλείας: α. Έλεγχος της πρόσβασης β. Πιστοποίηση της πηγής των δεδομένων γ. Προστασία έναντι επαναλαμβανόμενων επιθέσεων δ. Κρυπτογράφηση των δεδομένων ε. Ακεραιότητα δεδομένων
IPSec Χαρακτηριστικά Οι υπηρεσίες ασφαλείας παρέχονται από τις ακόλουθες διαδικασίες και πρωτόκολλα: α. AH (Authentication Header) β. ESP (Encapsulation Security Payload) γ. ISAKMP (Internet Security Association and Management Protocol) δ. IKE (Internet Key Exchange) To IPSec βασίζεται στις εργασίες της IETF και προδιαγράφεται σε μία σειρά από RFCs (2401, 2402, 2406, 2408, 2409)
Security Association (SA) IPSec Security Association (SA) Μία σύνδεση που παρέχει υπηρεσίες ασφαλείας στα δεδομένα που μεταφέρονται ονομάζεται συσχέτιση ασφαλείας (Security Association) Πριν από την ασφαλή ανταλλαγή πακέτων μέσω του IPSec μία SA πρέπει να εγκατασταθεί μεταξύ των τερματικών σημείων Η εγκατάσταση της SA γίνεται είτε με δυναμικό τρόπο μέσω του ΙΚΕ πρωτοκόλλου είτε με στατικό τρόπο, όπως φαίνεται ακολούθως, από τον διαχειριστή του δικτύου Host A Security Association: # ipsecadm new esp -spi 1000 -src HostA \ -dst HostB -forcetunnel -enc 3des -auth sha1 \ -key 7762d8707255d974168cbb1d274f8bed4cbd3364 \ -authkey 6a20367e21c66e5a40739db293cf2ef2a4e6659f Host B Security Association: # ipsecadm new esp -spi 1001 -src HostB \ -dst HostA -forcetunnel -enc 3des -auth sha1 \ -key 7762d8707255d974168cbb1d274f8bed4cbd3364 \ -authkey 6a20367e21c66e5a40739db293cf2ef2a4e6659f
Security Association (SA) IPSec Security Association (SA) Μία SA αντιστοιχεί μόνο με ένα πρωτόκολλο ασφαλείας (π.χ. ΑΗ ή ESP) Μία SA αφορά μία σύνδεση μονής κατεύθυνσης. Για μία δικατευθυντική επικοινωνία θα πρέπει να δημιουργηθούν δύο SA Σε κάθε τερματικό σημείο η SA περιέχει ένα σύνολο παραμέτρων όπως η IP διεύθυνση του προορισμού, οι αλγόριθμοι αυθεντικότητας και κρυπτογράφησης που θα χρησιμοποιηθούν, τα κλειδιά κρυπτογράφησης και αυθεντικότητας, η διάρκεια ζωής των κλειδιών, ...
Security Association (SA) IPSec Security Association (SA) Η IP κίνηση μεταξύ των τερματικών σημείων θα μεταφέρεται σύμφωνα με τις παραμέτρους της αντίστοιχης SA Ένα τερματικό σημείο μπορεί να εγκαταστήσει πολλές SAs με τον ίδιο ή διαφορετικούς προορισμούς Σε κάθε τερματικό σημείο όλες οι SAs που έχουν εγκατασταθεί καταχωρούνται σε μία βάση δεδομένων, η οποία ονομάζεται SAD (Security Association Database) Κάθε SA διαθέτει ένα δείκτη, που ονομάζεται SPI (Security Parameters Index) και δείχνει τη θέση της SA στην SAD
Security Association (SA) IPSec Security Association (SA) Κάθε SA χαρακτηρίζεται με μοναδικό τρόπο από την IP διεύθυνση προορισμού, το πρωτόκολλο ασφαλείας (ΑΗ ή ESP) και τον SPI δείκτη Στην επικεφαλίδα των πρωτοκόλλων ασφαλείας (AH, ESP) υπάρχει το SPI πεδίο Ο αποστολέας αντιγράφει σε αυτό το πεδίο την SPI τιμή που αντιστοιχεί στην SA με τον συγκεκριμένο προορισμό Ο παραλήπτης θα ψάξει στην SAD που διατηρεί, για να βρεί την SA που αντιστοιχεί στην SPI τιμή Στην συνέχεια, θα χειριστεί τα δεδομένα σύμφωνα με το πρωτόκολλο ασφαλείας και τις παραμέτρους της αποθηκευμένης SA
Security Police Database (SPD) IPSec Security Police Database (SPD) Η πολιτική ασφαλείας καθορίζεται από τον διαχειριστή του δικτύου και εκφράζεται μέσω καταχωρήσεων σε μία βάση δεδομένων πολιτικής ασφαλείας, που ονομάζεται SPD Κάθε καταχώρηση στην SPD περιλαμβάνει τις ενέργειες που θα εκτελεστούν σε κάθε εισερχόμενο/εξερχόμενο πακέτο όπως για π.χ. να απορριφτεί, να εφαρμοσθεί IPSec προστασία σε αυτό ή να μεταφερθεί αυτούσιο Οι ενέργειες αυτές καθορίζονται από τον διαχειριστή και εφαρμόζονται στην κίνηση ανάλογα με τα χαρακτηριστικά της, όπως για π.χ. διαχείριση της κίνησης σύμφωνα με τις διευθύνσεις πηγής-προορισμού, αριθμούς θυρών, ... Σε περίπτωση που πρέπει να εφαρμοσθεί IPSec προστασία στην κίνηση η καταχώρηση περιλαμβάνει ένα δείκτη στην SA που θα παρέχει τις υπηρεσίες ασφαλείας
IPSec Εξερχόμενη Κίνηση Outbound packet (to B) A B Send to B IP Packet SPD (Policy) SA Database Is it for IPSec? If so, which policy entry to select? IPSec processing SA Selectors figure out which policy in SPD applies to traffic … … SPI & IPSec Packet Determine the SA and its SPI Send to B
IPSec Εισερχόμενη Κίνηση A B Inbound packet (from A) From A Use SPI to index the SAD … SA Database Original IP Packet SPI & Packet Inbound packet (from A) A B From A SPD (Policy) “un-process” Was packet secured with the proper SA indicated in the SPD?
IPSec SA Τύποι Transport Mode Tunnel Mode Παρέχονται υπηρεσίες ασφαλείας στα δεδομένα του υψηλότερου επιπέδου Η IP επικεφαλίδα δεν προστατεύεται στο σύνολο της Tunnel Mode Χρησιμοποιείται υποχρεωτικά στην περίπτωση που το ένα άκρο μίας SA είναι μία πύλη ασφαλείας Παρέχονται υπηρεσίες ασφαλείας σε όλο το IP πακέτο Το αρχικό IP πακέτο ενθυλακώνεται μέσα σε ένα νέο IP πακέτο Η δρομολόγηση του νέου IP πακέτου γίνεται μέσω της εξωτερικής IP διεύθυνσης, η οποία δηλώνει την πύλη ασφαλείας προς την οποία θα δρομολογηθεί το πακέτο
IPSec SA Τύποι Transport & Tunnel Modes transport mode tunnel mode
Authentication Header (AH) Χρησιμοποιείται από τον παραλήπτη για την πιστοποίηση της πηγής των δεδομένων Χρησιμοποιείται από τον παραλήπτη για τον έλεγχο της ακεραιότητας των δεδομένων Χρησιμοποιείται από τον παραλήπτη για την προστασία έναντι επιθέσεων που βασίζονται στην αποστολή πακέτων που έχουν ήδη σταλεί Παρέχει υπηρεσίες προστασίας σε τμήμα της ΙP επικεφαλίδας του πακέτου και στην πληροφορία που αυτό μεταφέρει Ο έλεγχος της πιστοποίησης γίνεται με τη χρήση του συμμετρικού αλγορίθμου πιστοποίησης (π.χ. DES) και του μυστικού κλειδιού που έχουν καθορισθεί στην SA μεταξύ των χρηστών Προδιαγράφεται στην RFC 2402
ΑΗ Επικεφαλίδα
AH Επικεφαλίδα Next Header. Έχει μήκος 1 byte και καθορίζει τον τύπο του πρωτοκόλλου που ακολουθεί μετά την AH επικεφαλίδα Payload Length. Έχει μήκος 1 byte και δηλώνει το μήκος της ΑΗ επικεφαλίδας σε 32-bit μονάδες Reserved. Έχει μήκος 2 bytes, δεν χρησιμοποιείται και η τιμή του είναι 0 SPI. Έχει μήκος 4 bytes και σε συνδυασμό με την IP διεύθυνση προορισμού καθορίζει την SA του πακέτου. Την τιμή αυτή την επιλέγει ο προορισμός κατά την εγκατάσταση της SA μεταξύ των χρηστών Sequence Number. Έχει μήκος 4 bytes και χρησιμοποιείται για να γνωρίζει ο παραλήπτης τον αριθμό ακολουθίας του επομένου πακέτου. Ο παραλήπτης ελέγχει αυτό το πεδίο για προστασία έναντι επιθέσεων με επαναλαμβανόμενα πακέτα
AH Επικεφαλίδα Authentication Data. Έχει μεταβλητό μήκος και περιέχει την Integrity Check Value (ICV) γι’αυτό το πακέτο. Η τιμή αυτή προκύπτει απο την εφαρμογή του αλγόριθμου πιστοποίησης στην ακόλουθη πληροφορία : α. τα πεδία της IP επικεφαλίδας, των οποίων η τιμή δεν αλλάζει κατά τη μεταφορά του πακέτου στο δίκτυο (π.χ. έκδοση, IP διεύθυνση πηγής, μήκος, ...) β. την υπόλοιπη ΑΗ επικεφαλίδα γ. τα δεδομένα του υψηλότερου επιπέδου
ΑΗ Transport Mode Data TCP Hdr Orig IP Hdr AH Hdr Next Hdr Payload Len Rsrv SPI Keyed Hash Seq# Insert transport mode AH is IP protocol 51 tunnel mode
ΑΗ Tunnel Mode Data TCP Hdr Orig IP Hdr IP Hdr AH Hdr Data TCP Hdr transport mode IP Hdr AH Hdr Data TCP Hdr Orig IP Hdr Η ΑΗ επικεφαλίδα εφαρμόζεται σε ολόκληρο το IP πακέτο Το IP πακέτο ενθυλακώνεται σε ένα νέο IP πακέτο Η διεύθυνση προορισμού της εξωτερικής IP επικεφαλίδας είναι η IP διεύθυνση της πύλης προστασίας tunnel mode
AH Λειτουργία Το κλειδί και ο αλγόριθμος (π.χ. MD5) που χρησιμοποιούνται από τον αποστολέα για τον υπολογισμό της ICV τιμής καθορίζονται από την SA που έχει εγκατασταθεί μεταξύ των χρηστών Ο παραλήπτης του πακέτου βρίσκει την SA που αντιστοιχεί στο πακέτο μέσω του SPI πεδίου Ελέγχει αν ο αριθμός ακολουθίας του πακέτου είναι αυτός που αναμένει Υπολογίζει την δική του ICV τιμή σύμφωνα με το κλειδί και τον αλγόριθμο που καθορίζονται από την SA Συγκρίνει αυτή την τιμή με αυτή που περιέχεται στο Authentication Data Εάν οι τιμές είναι ίδιες, το πακέτο είναι αυθεντικό και γίνεται δεκτό, ενώ αν είναι διαφορετικές τότε το πακέτο απορρίπτεται
Encapsulating Security Payload (ESP) Παρέχει ανάλογες υπηρεσίες πιστοποίησης και ακεραιότητας με το ΑΗ Επιπλέον, παρέχει υπηρεσίες κρυπτογράφησης Τα δεδομένα κρυπτογραφούνται με το κλειδί και τον αλγόριθμο κρυπτογράφησης που καθορίζεται από την SA Στο transport mode κρυπτογραφείται το IP πακέτο, εκτός της επικεφαλίδας Στο tunnel mode κρυπτογραφείται ολόκληρο το ΙP πακέτο Προδιαγράφεται στην RFC 2406
ESP Μορφή Πακέτου
ESP Πεδία SPI. Έχει μήκος 4 bytes και σε συνδυασμό με την IP διεύθυνση προορισμού καθορίζει την SA του πακέτου. Την τιμή αυτή την επιλέγει ο προορισμός κατά την εγκατάσταση της SA μεταξύ των χρηστών Sequence Number. Έχει μήκος 4 bytes και χρησιμοποιείται για να γνωρίζει ο παραλήπτης τον αριθμό ακολουθίας του επομένου πακέτου. Ο παραλήπτης ελέγχει αυτό το πεδίο για προστασία έναντι επιθέσεων αναπαραγωγής συνόδου Payload Data. Έχει μεταβλητό μήκος και περιέχει τα δεδομένα του υψηλοτέρου επιπέδου κρυπτογραφημένα σύμφωνα με τον αλγόριθμο κρυπτογράφησης που καθορίζει η SA
ESP Πεδία Padding. Επιπλέον bytes που χρησιμοποιούνται για να γίνει το μήκος του Payload Data πεδίου πολ/σιο του 4 Pad Length. Έχει μήκος 1 byte και δηλώνει πόσα bytes περιέχει το Padding πεδίο Next Header. Έχει μήκος 1 byte και καθορίζει τον τύπο των δεδομένων στο Payload Data πεδίο Authentication Data. Έχει μεταβλητό μήκος και περιέχει την ICV τιμή, η οποία υπολογίζεται στο υπόλοιπο ESP πακέτο με χρήση του αλγορίθμου και του κλειδιού που καθορίζει η SA
Transport & Tunnel Mode ESP Transport & Tunnel Mode
ESP Λειτουργία Ο αποστολέας προσθέτει τα bytes (padding) που μπορεί να χρειάζονται στο πεδίο των IP δεδομένων Τα πεδία payload data, padding, pad length και next header κρυπτογραφούνται με το κλειδί και τον αλγόριθμο που καθορίζονται από την SA που έχει εγκατασταθεί μεταξύ των χρηστών Υπολογίζεται η ICV τιμή σε όλο το ESP πακέτο, εκτός από το Authentication Data πεδίο Το κλειδί και ο αλγόριθμος που χρησιμοποιούνται για τον υπολογισμό της ICV τιμής καθορίζονται από την SA
ESP Λειτουργία Ο παραλήπτης του πακέτου βρίσκει την SA που αντιστοιχεί στο πακέτο μέσω του SPI πεδίου Ελέγχει αν ο αριθμός ακολουθίας του πακέτου είναι αυτός που αναμένει Υπολογίζει την δική του ICV τιμή σύμφωνα με το κλειδί και τον αλγόριθμο που καθορίζονται από την SA Συγκρίνει αυτή την τιμή με αυτή που περιέχεται στο Authentication Data Εάν οι τιμές είναι ίδιες, το πακέτο είναι αυθεντικό και γίνεται δεκτό, ενώ αν είναι διαφορετικές τότε το πακέτο απορρίπτεται Τα πεδία payload data, padding, pad length και next header αποκρυπτογραφούνται με το κλειδί και τον αλγόριθμο που καθορίζονται από την SA