Η πιστοποιημένη κρυπτογράφηση επιστρέφει δύο πράγματα μαζί: κρυπτοκείμενο που κρύβει το περιεχόμενο και μια ετικέτα που επιτρέπει στον παραλήπτη να εντοπίσει αλλοίωση. Παλαιότερα αυτές οι λειτουργίες συναρμολογούνταν από ξεχωριστά κομμάτια και οι κακοί συνδυασμοί παρήγαγαν λεπτές αστοχίες. Οι σύγχρονες κατασκευές καθορίζουν τον συνδυασμό και τις συνθήκες υπό τις οποίες ισχύει. Η λέξη πιστοποιημένη εδώ αναφέρεται στην ετικέτα, όχι σε πρόσωπο.

Και οι δύο εγγυήσεις αφορούν το προστατευμένο πακέτο και τίποτα έξω από αυτό.

Δύο εγγυήσεις σε μια κατασκευή

Η κρυπτογράφηση απαντά αν ένας παρατηρητής μπορεί να το διαβάσει· η ακεραιότητα απαντά αν έχει αλλοιωθεί. Μια σήραγγα χρειάζεται και τα δύο, γιατί το τροποποιημένο περιεχόμενο είναι χειρότερο από το δυσανάγνωστο. Το AEAD ορίζει πώς συνδυάζονται κάτω από ένα κλειδί, μαζί με συσχετισμένα δεδομένα που πιστοποιούνται αλλά δεν κρυπτογραφούνται. Ο παραλήπτης απορρίπτει είσοδο που αποτυγχάνει στον έλεγχο.

Τα συσχετισμένα δεδομένα δεσμεύουν ορατά πεδία στον έλεγχο. Ποια πεδία περιλαμβάνονται εξαρτάται από το πρωτόκολλο, και αυτό δεν υπόσχεται ότι κάθε εξωτερική διεύθυνση έγινε μυστική: ένα πεδίο μπορεί να καλύπτεται από την ετικέτα και να παραμένει αναγνώσιμο στο δίκτυο.

Το nonce δεν είναι λεπτομέρεια

Τα κλειδιά και τα nonce πρέπει να χειρίζονται σωστά, και η επαναχρησιμοποίηση nonce αποτυγχάνει άσχημα. Η επανάληψη ενός nonce κάτω από ένα κλειδί μπορεί να αποκαλύψει σχέσεις μεταξύ μηνυμάτων και να υπονομεύσει πλήρως την εγγύηση ακεραιότητας. Γι αυτό το πρωτόκολλο, όχι η εφαρμογή, έχει την ευθύνη παραγωγής και σειράς των nonce.

Είναι συνθήκη της εγγύησης, όχι υπόδειξη υλοποίησης. Απρόσεκτα nonce δεν παρέχουν την ιδιότητα που διαφημίζεται.

Η προστασία επανάληψης είναι ξεχωριστή κατάσταση

Ένα έγκυρο παλιό πακέτο μπορεί να επαναληφθεί ενώ η ετικέτα του μένει άθικτη, γιατί η ετικέτα αποδεικνύει γνησιότητα και όχι φρεσκάδα. Ο χειρισμός επαναλήψεων χρειάζεται δική του κατάσταση: αύξοντες αριθμούς, ένα παράθυρο και κανόνα για το τι γίνεται δεκτό. Αυτή η κατάσταση ζει στην υλοποίηση του πρωτοκόλλου και δεν σχετίζεται με την επιλογή κρυπτογράφησης. Μια σήραγγα με ισχυρή κρυπτογράφηση και χωρίς προστασία επανάληψης δέχεται ακόμη την κίνηση του χθες.

Οι δύο μηχανισμοί συνεργάζονται χωρίς να είναι ο ίδιος, και ο ένας μπορεί να είναι σωστός ενώ ο άλλος λείπει.

Τι δεν σας λέει η ετικέτα

Η ταυτότητα του ομολόγου καθιερώνεται με πιστοποιητικά ή προσυμφωνημένα κλειδιά, όχι επειδή η κρυπτογράφηση είναι πιστοποιημένη. Η δρομολόγηση, η επίλυση ονομάτων και η πολιτική καταγραφής του παρόχου βρίσκονται έξω από τα κρυπτογραφικά όρια. Μια επιτυχής διαπραγμάτευση αλγορίθμου λέει μόνο ότι τα δύο άκρα συμφώνησαν σε ένα σύνολο, μιλά για συμβατότητα, όχι για την ποιότητα της υλοποίησης σε κάθε πλευρά.

Για τους χρήστες: επιλέξτε μια συντηρημένη και υποστηριζόμενη διαμόρφωση πρωτοκόλλου. Το AEAD είναι ιδιότητα αυτής της διαμόρφωσης, όχι πρόσκληση να χτίσετε κρυπτογράφηση με το χέρι γύρω από μια σήραγγα.

Καταγράψτε ποιο σύνολο διαπραγματεύτηκε, αν η προστασία επανάληψης είναι ενεργή και πώς αναγνωρίζονται τα άκρα. Τρία γεγονότα, τρεις διαφορετικές εγγυήσεις.

Σχετικά άρθρα