AH ή ESP; Η απόφαση εξαρτάται από το τι πρέπει να προστατεύσει το πακέτο
Το AH επαληθεύει μεγαλύτερο μέρος του πακέτου και δεν κρυπτογραφεί τίποτα· το ESP μπορεί να κρυπτογραφήσει και να επαληθεύσει. Διαλέξτε με βάση τα πεδία που πρέπει να προστατεύσετε και μετά συμφωνήστε τη λειτουργία.
Δύο προτάσεις IPsec μπορούν να αναφέρουν τον ίδιο αλγόριθμο ακεραιότητας βασισμένο σε SHA και παρόλα αυτά να ζητούν διαφορετικά πρωτόκολλα προστασίας· το AH και το ESP δεν είναι δύο ορθογραφίες μιας ρύθμισης ταυτοποίησης. Διαβάστε πρώτα το πρωτόκολλο, μετά τους αλγορίθμους του, μετά τη λειτουργία του, και το μεγαλύτερο μέρος της ασάφειας εξαφανίζεται. Το AH ταυτοποιεί το πακέτο, μαζί με τα πεδία της κεφαλίδας IP που παραμένουν αμετάβλητα στη διαδρομή, ενώ το ESP ταυτοποιεί και κρυπτογραφεί ό,τι ενσωματώνει και αφήνει την εξωτερική κεφαλίδα ήσυχη. Αυτή η διαφορά κρίνει περισσότερες αναπτύξεις από οποιοδήποτε όνομα κατακερματισμού.
Τι καλύπτει το AH και όχι το ESP
Το AH παρέχει ακεραιότητα, ταυτοποίηση προέλευσης δεδομένων και την υπηρεσία κατά της επανάληψης που ορίζει το ίδιο, και καμία εμπιστευτικότητα. Η κάλυψή του περιλαμβάνει δεδομένα του ανώτερου στρώματος και τα πεδία της κεφαλίδας IP που οι κανόνες του θεωρούν αμετάβλητα, ακριβώς το μέρος που το ESP σε λειτουργία μεταφοράς αφήνει απέξω. Όταν μια απαίτηση λέει ότι πρέπει να ταυτοποιηθεί η ίδια η κεφαλίδα IP, το AH είναι το πρωτόκολλο που απαντά.
Αυτή η κάλυψη είναι και ο λόγος που το AH είναι εύθραυστο στην πράξη. Μεταβλητά πεδία όπως το TTL, το άθροισμα ελέγχου της κεφαλίδας και μερικές επιλογές δεν μπορούν να ταυτοποιηθούν, επειδή οι δρομολογητές μπορεί να τα ξαναγράψουν, γι αυτό το πρωτόκολλο τα μηδενίζει πριν υπολογίσει τον έλεγχο. Οτιδήποτε ξαναγράφει διευθύνσεις σπάει επομένως τον υπολογισμό, όχι μόνο την πολιτική.
Το NAT μετατρέπει την επιλογή σε περιορισμό
Η μετάφραση διευθύνσεων ξαναγράφει την πηγή ή τον προορισμό στην κεφαλίδα IP που μόλις ταυτοποίησε το AH, άρα ο έλεγχος ακεραιότητας αποτυγχάνει στο άλλο άκρο, και αποτυγχάνει ως σφάλμα πρωτοκόλλου και όχι ως μήνυμα που μπορείτε να διαβάσετε. Το ESP δεν ταυτοποιεί την εξωτερική κεφαλίδα, γι αυτό το ESP με διάσχιση NAT λειτουργεί και το AH πίσω από NAT όχι. Μια σήραγγα με τις δύο πλευρές πίσω από συνηθισμένους δρομολογητές είναι ακριβώς το σημείο όπου αυτό εμφανίζεται πρώτο. Επομένως το πρώτο ερώτημα δεν είναι ποιο πρωτόκολλο είναι ισχυρότερο, αλλά αν υπάρχει μεταφραστής ανάμεσα στις πλευρές.
Αν υπάρχει, το AH μένει έξω και η συζήτηση πηγαίνει στο ESP και στις επιλογές αλγορίθμων του. Αυτός είναι περιορισμός και όχι προτίμηση, γι αυτό ανήκει στην κορυφή της απόφασης και όχι στο τέλος.
Η λειτουργία πολλαπλασιάζει το ερώτημα
Το ESP σε λειτουργία μεταφοράς προστατεύει το ωφέλιμο φορτίο του ανώτερου στρώματος και αφήνει την κεφαλίδα IP ήσυχη· σε λειτουργία σήραγγας ενσωματώνει ολόκληρο το εσωτερικό πακέτο, μαζί με την εσωτερική κεφαλίδα IP, και το προστατεύει. Το AH έχει τις ίδιες δύο λειτουργίες, άρα AH ή ESP είναι στην πραγματικότητα τέσσερις συνδυασμοί πριν επιλεγεί οποιοσδήποτε αλγόριθμος.
Οι αλγόριθμοι ESP συνδυασμένης λειτουργίας λύνουν μετά την ακεραιότητα χωρίς δεύτερο πρωτόκολλο. Τα AES-GCM και ChaCha20-Poly1305 ταυτοποιούν και κρυπτογραφούν σε μία κατασκευή, άρα η προσθήκη AH από πάνω δεν αγοράζει τίποτα αλλά κοστίζει άλλη κεφαλίδα και άλλη διαπραγμάτευση. Η αρχιτεκτονική επιτρέπει AH και ESP μαζί, και το πρακτικό ερώτημα είναι αν η πύλη και η έκδοσή σας υποστηρίζουν τον συνδυασμό και αν κάποιος μπορεί να τον συντηρήσει μετά.
Η έντιμη αντικατάσταση για μόνο AH
Η παραλλαγή ESP μόνο ακεραιότητας κρατά τον αλγόριθμο και αφήνει τον ισχυρισμό κρυπτογράφησης αντί να τον προσποιηθεί, και περνά το NAT. Αν μια παλαιότερη σχεδίαση χρησιμοποιούσε AH επειδή χρειαζόταν ταυτοποίηση χωρίς εμπιστευτικότητα, αυτή η παραλλαγή είναι η άμεση μετάφραση, όχι κρυπτογραφημένη σήραγγα με σημείωση συνημμένη.
Το να δείτε ESP σε μια πρόταση δεν είναι απόδειξη κρυπτογράφησης. Διαβάστε τον αλγόριθμο κρυπτογράφησης: μια καταχώριση NULL σημαίνει μόνο ακεραιότητα, και μια καταχώριση συνδυασμένης λειτουργίας σημαίνει και τα δύο.
Αποφασίστε με τρία ερωτήματα
Ρωτήστε αν απαιτείται εμπιστευτικότητα, αν υπάρχει μεταφραστής στη διαδρομή και ποια πεδία κεφαλίδας πρέπει να ταυτοποιηθούν. Αυτές οι τρεις απαντήσεις δείχνουν ένα πρωτόκολλο και μία λειτουργία, και το να τις γράψετε παίρνει λιγότερο χρόνο από το να ξαναδιαβάσετε τα RFC αργότερα.
Στη συνέχεια επαληθεύστε τι έγινε αποδεκτό και όχι τι προτάθηκε. Το ip xfrm state δείχνει πρωτόκολλο, λειτουργία και αλγορίθμους της εγκατεστημένης συσχέτισης, και μια αναντιστοιχία δεν εγκαθιστά τίποτα, που είναι καθαρότερη αποτυχία από μια σήραγγα που ανεβαίνει χωρίς την προστασία που σκοπεύατε.
Κρατήστε τις αποτυχίες ταυτοποίησης, την κάλυψη επιλογέων και τα σφάλματα δρομολόγησης χωριστά από αυτή την επιλογή. Δίνουν διαφορετικά συμπτώματα, και το να κατηγορείτε το πρωτόκολλο για πρόβλημα επιλογέα είναι σίγουρος τρόπος να περάσετε μια μέρα αλλάζοντας κατακερματισμούς χωρίς λόγο.