Διάρκειες SA στο IKEv2: απαλή ανανέωση κλειδιών, σκληρή λήξη, ξεχωριστή επαναπιστοποίηση
Ένα απαλό όριο ξεκινά την αντικατάσταση, ένα σκληρό όριο αποσύρει την παλιά κατάσταση και τα όρια χρήσης μπορεί να ενεργοποιηθούν πρώτα. Κανένα από αυτά δεν επαναλαμβάνει την πιστοποίηση του χρήστη.
Οι χρονομετρητές αποφασίζουν πότε αντικαθίστανται τα κλειδιά μιας σήραγγας, και τα δύο κατώφλια που εμπλέκονται συχνά διαβάζονται ως ένα. Δεν είναι. Η απαλή διάρκεια ζωής ζητά από τον ομότιμο να χτίσει αντικατάσταση όσο η τρέχουσα σύνδεση ασφαλείας εξακολουθεί να μεταφέρει κίνηση, και η σκληρή διάρκεια ζωής είναι η προθεσμία μετά την οποία η παλιά σύνδεση εξαφανίζεται είτε δούλεψε η αντικατάσταση είτε όχι. Ανάμεσά τους βρίσκεται ένα παράθυρο επικάλυψης που υπάρχει ώστε τα πακέτα να μην πέφτουν σε κενό.
Τι πραγματικά οριοθετεί μια διάρκεια ζωής
Μια σύνδεση ασφαλείας IPsec είναι μια δέσμη κρυπτογραφικής κατάστασης: κλειδιά για μία κατεύθυνση, ένας δείκτης παραμέτρων ασφαλείας, ένα σύνολο αλγορίθμων και ένας επιλογέας. Η διάρκεια ζωής οριοθετεί πόσο καιρό επιτρέπεται να χρησιμοποιείται αυτή η κατάσταση, κάτι που περιορίζει πόση κίνηση προστατεύει ένα κλειδί. Είναι μέτρο περιορισμού για το κλειδί, όχι δήλωση για το πόσο πρέπει να διαρκεί μια συνεδρία χρήστη.
Οι συνδέσεις ελέγχου IKE έχουν δικά τους κλειδιά και δικές τους διάρκειες ζωής, ξεχωριστές από τις θυγατρικές συνδέσεις που μεταφέρουν δεδομένα. Εδώ είναι το πρώτο σημείο όπου οι άνθρωποι συγχέουν δύο χρονοδιαγράμματα.
Το απαλό ξεκινά την αντικατάσταση, το σκληρό τελειώνει την παλιά κατάσταση
Όταν το απαλό κατώφλι πλησιάζει, ο ομότιμος ξεκινά αντικατάσταση. Οι υλοποιήσεις συνήθως ενεργοποιούνται νωρίς και τυχαιοποιούν τη στιγμή, ώστε ένα κέντρο με εκατοντάδες σήραγγες να μην ανανεώνει τα κλειδιά όλων ταυτόχρονα. Στο IKEv2 η αντικατάσταση είναι μια ανταλλαγή CREATE_CHILD_SA που μεταφέρει νέα nonce, μαζί με ανταλλαγή Diffie-Hellman όταν έχει ρυθμιστεί τέλεια εμπροσθοφυλακή μυστικότητα. Το αποτέλεσμα είναι ένα νέο ζεύγος συνδέσεων με νέα κλειδιά.
Η επικάλυψη μετράει. Για λίγο ο ομότιμος μπορεί να κρατά την παλιά και τη νέα σύνδεση, και μια καταγραφή μπορεί να δείξει δύο σύνολα αναγνωριστικών. Αυτός είναι ο μηχανισμός που δουλεύει, όχι βλάβη.
Το σκληρό κατώφλι δεν συγχωρεί. Αν η αντικατάσταση δεν έχει ολοκληρωθεί μέχρι τότε, η παλιά σύνδεση πρέπει να αποσυρθεί και η κίνηση που προστατευόταν μόνο από αυτήν σταματά. Επαναλαμβανόμενες αποτυχημένες ανανεώσεις κλειδιών που φτάνουν ώς τη σκληρή λήξη είναι το επιχειρησιακό σήμα για έρευνα, γιατί η σήραγγα κρατιέται όρθια από μια προθεσμία σε κάθε κύκλο.
Τα όρια χρήσης μπορούν να ενεργοποιηθούν πριν από οποιοδήποτε ρολόι
Ο χρόνος δεν είναι το μόνο όριο. Οι υλοποιήσεις μπορούν να περιορίσουν τα byte ή τα πακέτα που προστατεύει ένα κλειδί, και μια πολυάσχολη σήραγγα θα φτάσει σε όριο χρήσης πολύ πριν από έναν χρονομετρητή πολλών ωρών. Το strongSwan εκθέτει ξεχωριστές ρυθμίσεις διάρκειας ζωής και περιθωρίου για χρόνο, byte και πακέτα, που σημαίνει ότι το πραγματικό σημείο ανανέωσης είναι το κατώφλι που φτάνει πρώτο, μείον το ρυθμισμένο περιθώριο.
Όταν μια σήραγγα ανανεώνεται πολύ συχνότερα από ό,τι υπονοούν οι ρυθμισμένες ώρες της, ελέγξτε τα όρια byte και πακέτων πριν κατηγορήσετε το ρολόι. Ένας κορεσμένος σύνδεσμος και ένας αδρανής σύνδεσμος με τις ίδιες ρυθμίσεις χρόνου θα έχουν εμφανώς διαφορετικούς ρυθμούς ανανέωσης κλειδιών, και μόνο ένας από αυτούς ακολουθεί τον χρονομετρητή.
Κάθε ομότιμος επιβάλλει τη δική του πολιτική
Το IKEv2 δεν διαπραγματεύεται μία μόνο διάρκεια ζωής που πρέπει να εμφανίζουν ταυτόσημα και οι δύο ομότιμοι. Κάθε πλευρά εφαρμόζει την τοπική της πολιτική και μπορεί να ξεκινήσει αντικατάσταση όταν πλησιάζει το δικό της όριο, όπως περιγράφεται στο RFC 7296 ενότητα 2.8. Άρα μια διαφορά ανάμεσα στις ρυθμισμένες ώρες δύο ομότιμων δεν είναι αυτόματα ελάττωμα, αν και πολύ διαφορετικές τιμές μπορούν να προκαλέσουν αναταραχή αν η μία πλευρά αντικαθιστά συνεχώς κατάσταση που μόλις εγκατέστησε η άλλη.
Ο συντονισμός σημαίνει συμβατή συμπεριφορά: παράθυρα επικάλυψης αρκετά μεγάλα για την ανταλλαγή, περιθώρια που αφήνουν χώρο για επαναλήψεις και παρακολούθηση που δείχνει ποια πλευρά ξεκίνησε κάθε ανανέωση.
Η ανανέωση κλειδιών δεν είναι επαναπιστοποίηση
Μια ανανέωση κλειδιών φρεσκάρει τα κλειδιά στο πλαίσιο της υπάρχουσας πιστοποιημένης σχέσης. Μια επαναπιστοποίηση επαναλαμβάνει τον έλεγχο ταυτότητας, είτε πρόκειται για ανταλλαγή πιστοποιητικών είτε για συνομιλία EAP. Τα δύο τρέχουν σε ξεχωριστά χρονοδιαγράμματα και μια επιτυχής ανανέωση δεν λέει τίποτα για το αν ο λογαριασμός πρέπει να έχει ακόμη πρόσβαση.
Αυτή η διάκριση μετράει για την ανάκληση. Η απενεργοποίηση λογαριασμού, η ανάκληση πιστοποιητικού ή ο τερματισμός συνεδρίας είναι αποφάσεις πρόσβασης που χρειάζονται ρητή πολιτική στην υλοποίηση· δεν προκύπτουν από τον χρονομετρητή SA, και μια ανανέωση κλειδιών μπορεί να συνεχίζεται ανέμελα για ταυτότητα που έχει ήδη στερηθεί δικαιωμάτων.
Τι να καταγράφεται ανά σήραγγα
Καταγράψτε ποια σύνδεση προκάλεσε την ανανέωση, τα παλιά και τα νέα αναγνωριστικά, ποιο κατώφλι ενεργοποιήθηκε και αν η αντικατάσταση ολοκληρώθηκε μέσα στην επικάλυψη. Αυτά τα τέσσερα πεδία κάνουν ένα πρόβλημα ανανέωσης ορατό πριν γίνει διακοπή, και διακρίνουν μια επιθετική πολιτική από μια που αποτυγχάνει.
Κρατήστε το χρονοδιάγραμμα αφαίρεσης πρόσβασης δίπλα σε αυτή την εγγραφή και όχι μέσα της. Η κρυπτογραφική υγιεινή και η πολιτική ταυτότητας είναι διαφορετικοί έλεγχοι, και μια σήραγγα που εναλλάσσει κλειδιά εγκαίρως μπορεί ακόμη να κρατά μια συνεδρία που κανείς δεν σκόπευε να διατηρήσει.