Πόσα αθροίσματα ελέγχου έχει ένα πακέτο VPN; Εξαρτάται
Ο αριθμός εξαρτάται από τις εκδόσεις IP, το πρωτόκολλο μεταφοράς και τη μορφή προστασίας. Τα αθροίσματα ελέγχου κεφαλίδας, ανώτερου επιπέδου και οι ετικέτες ακεραιότητας διαφέρουν.
Ο ισχυρισμός ότι ένα πακέτο VPN μεταφέρει ακριβώς δύο αθροίσματα ελέγχου ακούγεται τακτοποιημένος και είναι αρκετά συχνά λανθασμένος ώστε να αξίζει ανάλυση. Ο αριθμός εξαρτάται από το ποιες εκδόσεις IP εμφανίζονται, ποιο πρωτόκολλο μεταφοράς μεταφέρεται και ποια μορφή προστασίας χρησιμοποιεί η σήραγγα. Ένα άθροισμα ελέγχου κεφαλίδας, ένα άθροισμα ελέγχου ανώτερου επιπέδου και μια κρυπτογραφική ετικέτα ακεραιότητας είναι τρεις μηχανισμοί με τρεις εμβέλειες. Η καταμέτρησή τους ξεκινά με τη σήμανση του τι καλύπτει το καθένα.
Ελέγξτε ποιες εκδόσεις IP βρίσκονται πραγματικά στο καλώδιο
Οι κεφαλίδες IPv4 μεταφέρουν ένα άθροισμα ελέγχου κεφαλίδας 16 bit και οι κεφαλίδες IPv6 δεν μεταφέρουν τίποτα τέτοιο. Αυτό το ένα γεγονός αλλάζει τον αριθμό για κάθε σήραγγα, επειδή η ενθυλάκωση IPv4 μέσα σε IPv6 και IPv6 μέσα σε IPv4 παράγει διαφορετικά έγγραφα. Μια σήραγγα μπορεί να μεταφέρει και τις δύο οικογένειες ταυτόχρονα, οπότε η μία κατεύθυνση μπορεί να περιέχει πεδίο που λείπει από την άλλη. Καθορίστε τις εκδόσεις πριν μετρήσετε οτιδήποτε.
Γράψτε τη διάταξη ως λίστα κεφαλίδων και όχι ως εικόνα. Η σειρά έχει σημασία όταν διαβάζετε μια καταγραφή και η παρουσία ή απουσία του πεδίου αθροίσματος ελέγχου είναι το πρώτο που πρέπει να σημειωθεί.
outer IPv6 | ESP | inner IPv6 | UDP | application data
outer IPv4 | ESP | inner IPv4 | TCP | application data
Η πρώτη γραμμή δεν έχει άθροισμα ελέγχου κεφαλίδας IP πουθενά στις κεφαλίδες IP της, ενώ η δεύτερη έχει δύο όταν και οι δύο κεφαλίδες είναι IPv4. Ίδια τεχνολογία σήραγγας, διαφορετικός αριθμός, και καμία από τις γραμμές δεν είναι πλήρης μορφή καλωδίου.
Ελέγξτε τι καλύπτει κάθε άθροισμα ελέγχου
Η κάλυψη είναι το μέρος που οι άνθρωποι παραλείπουν και είναι αυτό που κάνει έναν αριθμό ουσιαστικό. Το άθροισμα ελέγχου κεφαλίδας IPv4 προστατεύει την κεφαλίδα και τίποτα άλλο, οπότε δεν λέει τίποτα για το ωφέλιμο φορτίο πίσω της. Ένα άθροισμα ελέγχου UDP πάνω από IPv6 καλύπτει μια ψευδοκεφαλίδα συν την κεφαλίδα και το ωφέλιμο φορτίο UDP, που σημαίνει ότι φτάνει μέσα στο μεταφερόμενο πακέτο όταν το αυτοδύναμο πακέτο σηραγγοποιείται. Το TCP έχει το δικό του άθροισμα ελέγχου με παρόμοια εξάρτηση από την ψευδοκεφαλίδα. Πρόκειται για τρεις διαφορετικές εμβέλειες αν και τα τρία ονομάζονται αθροίσματα ελέγχου.
Το RFC 791 ορίζει τον έλεγχο κεφαλίδας IPv4 και τον επαναϋπολογισμό του σε κάθε άλμα, και το RFC 8200 ορίζει τη μεταχείριση του ανώτερου επιπέδου πάνω από IPv6, συμπεριλαμβανομένης της ψευδοκεφαλίδας. Κανένα έγγραφο δεν λέει ότι ένα πακέτο VPN έχει σταθερό αριθμό αθροισμάτων ελέγχου, επειδή κανένα δεν περιγράφει σήραγγα.
tshark -r capture.pcap -Y "ip.proto == 50" -V | grep -i checksum
Ελέγξτε την προστασία ακεραιότητας ξεχωριστά
Η ακεραιότητα ESP είναι κρυπτογραφική προστασία με δική της κάλυψη και αναπαράσταση που εξαρτάται από τον αλγόριθμο. Δεν είναι άθροισμα ελέγχου IP ή UDP με άλλο όνομα και το μήκος της ποικίλλει ανάλογα με την επιλεγμένη κατασκευή. Ένας έλεγχος ακεραιότητας καλύπτει ένα καθορισμένο τμήμα του πακέτου, το οποίο ανάλογα με τη λειτουργία μπορεί να περιλαμβάνει την κεφαλίδα ESP και μέρος του ωφέλιμου φορτίου. Το να το μετράμε ως πεδίο αθροίσματος ελέγχου γνωστού πλάτους είναι το σημείο όπου οι περισσότερες από αυτές τις εξηγήσεις καταρρέουν.
Διαβάστε την επιλεγμένη κατασκευή πριν μετρήσετε byte και περιγράψτε το αποτέλεσμα ως προστασία ακεραιότητας και όχι ως άθροισμα ελέγχου με άλλη ετικέτα. Ο αποκωδικοποιητής θα ονομάσει το πεδίο για εσάς αν τον ρωτήσετε.
tshark -r capture.pcap -Y esp -V | grep -iE "integrity|icv"
Ελέγξτε το σημείο παρατήρησης πριν μετρήσετε
Μια καταγραφή στην εσωτερική διεπαφή και μια καταγραφή στο καλώδιο μπορούν να δείξουν εντελώς διαφορετικά επίπεδα. Στην εσωτερική διεπαφή η σήραγγα έχει ήδη αφαιρεθεί, ώστε βλέπετε το μεταφερόμενο πακέτο και καμία από τις εξωτερικές κεφαλίδες. Στο καλώδιο βλέπετε τις εξωτερικές κεφαλίδες και ένα κρυπτογραφημένο ωφέλιμο φορτίο που δεν μπορείτε να διαβάσετε. Καμία από τις δύο όψεις δεν είναι λανθασμένη και δεν είναι όψεις του ίδιου αντικειμένου. Δηλώστε πού ελήφθη η καταγραφή πριν αναφέρετε οποιονδήποτε αριθμό.
sudo tcpdump -ni eth0 -vv -c 5 esp
sudo tcpdump -ni tun0 -vv -c 5
Η πρώτη εντολή δείχνει το εξωτερικό πακέτο με το trailer ακεραιότητάς του και η δεύτερη δείχνει το μεταφερόμενο πακέτο με το δικό του άθροισμα ελέγχου μεταφοράς. Η πρόσθεση αριθμών από τις δύο καταγραφές δεν μετρά τίποτα διπλά, αλλά εξηγεί το ίδιο πακέτο δύο φορές.
Συγκρίνετε τον αριθμό με μια πραγματική καταγραφή
Αποκωδικοποιήστε ένα πακέτο πλήρως και σημειώστε κάθε πεδίο που ο αποκωδικοποιητής ονομάζει άθροισμα ελέγχου ή τιμή ακεραιότητας. Στη συνέχεια συγκρίνετε κάθε σημάδι με τη διάταξη που γράψατε και διαγράψτε όσα ανήκουν σε επίπεδο που δεν μετράτε πραγματικά. Ένας αριθμός που επιβιώνει από αυτή την άσκηση είναι υπερασπίσιμος, ενώ ένας αριθμός που αναφέρεται από μνήμης δεν είναι.
Επαναλάβετε για την κατεύθυνση απάντησης, επειδή μια σήραγγα που μεταφέρει και τις δύο οικογένειες μπορεί να διαφέρει ανά κατεύθυνση και ανά ροή. Στη συνέχεια δηλώστε τον αριθμό μαζί με την εμβέλειά του, για παράδειγμα τρία αθροίσματα ελέγχου για αυτό το εσωτερικό πακέτο σε αυτό το σημείο παρατήρησης, και όχι ως ιδιότητα των πακέτων VPN γενικά.
tshark -r capture.pcap -T fields -e ip.checksum -e udp.checksum -e tcp.checksum