CFB1, CFB8 και CFB128: αυτό είναι το μέγεθος ανατροφοδότησης, όχι το μέγεθος κλειδιού
Ο αριθμός μετά το CFB είναι βήμα ανατροφοδότησης, όχι μήκος κλειδιού: τα CFB1, CFB8 και CFB128 χρησιμοποιούν μπλοκ 128 bit. Διαβάστε παλιά ονόματα χωρίς να επινοείτε αδύναμα κλειδιά.
Ένα όνομα όπως AES-256-CFB1 φέρει δύο αριθμούς και απαντούν σε διαφορετικά ερωτήματα. Το 256 είναι το μήκος του κλειδιού AES. Το 1 είναι η ανατροφοδότηση, δηλαδή το μέγεθος τμήματος, του CFB: μια ιδιότητα του πώς η λειτουργία προωθεί την κατάστασή της. Αν το 1 διαβαστεί ως μήκος κλειδιού, το όνομα μοιάζει με καταστροφική λανθασμένη ρύθμιση και γι' αυτό το ερώτημα επανέρχεται ξανά και ξανά.
Αποφασίστε ποια από τις τρεις ποσότητες κοιτάτε πριν κρίνετε το όνομα: μέγεθος κλειδιού, μέγεθος μπλοκ ή μέγεθος τμήματος. Μόνο η πρώτη είναι παράμετρος ασφαλείας με τη συνήθη έννοια.
Τρεις αριθμοί, τρεις ποσότητες
Το AES δέχεται κλειδιά 128, 192 ή 256 bit και έχει μπλοκ 128 bit ό,τι κι αν επιλέξετε. Το μέγεθος μπλοκ ανήκει στο AES, όχι στη λειτουργία. Το επίθημα CFB είναι η τρίτη ποσότητα: πόσα δεδομένα καταναλώνει και επιστρέφει η λειτουργία ανά βήμα. Η τεκμηρίωση του OpenSSL για το AES απαριθμεί ρητά αυτά τα μεγέθη ολίσθησης για τις παραλλαγές CFB.
Το CFB1 επιστρέφει ένα bit κάθε φορά, το CFB8 ένα byte, το CFB128 ένα πλήρες μπλοκ. Και τα τρία χρησιμοποιούν εσωτερικά τον ίδιο κρυπτογράφο μπλοκ 128 bit· αυτό που αλλάζει είναι πόσα bit από κάθε υπολογισμένο μπλοκ χρησιμοποιούνται ανά πράξη. Γι' αυτό το επίθημα μετακινεί το κόστος και τη συμπεριφορά προσωρινής μνήμης, όχι την ισχύ του κλειδιού.
| Name | Key | AES block | Feedback |
|---|---|---|---|
| AES-256-CFB1 | 256 bits | 128 bits | 1 bit |
| AES-256-CFB8 | 256 bits | 128 bits | 8 bits |
| AES-256-CFB128 | 256 bits | 128 bits | 128 bits |
Γιατί το μέγεθος μπλοκ δεν αλλάζει ποτέ
Το AES είναι κρυπτογράφος μπλοκ με σταθερό μπλοκ 128 bit και οι λειτουργίες είναι κατασκευές γύρω του. Καμία τους δεν συρρικνώνει το μπλοκ για να ταιριάξει με το μέγεθος τμήματος. Μια υλοποίηση CFB1 υπολογίζει ακόμη ένα πλήρες μπλοκ AES και παίρνει ένα bit του αποτελέσματος. Τα υπόλοιπα bit απορρίπτονται για εκείνο το βήμα και εκεί ακριβώς βρίσκεται το κόστος απόδοσης.
Άρα η ανατροφοδότηση ενός bit δεν συνεπάγεται κλειδί ενός bit και ένα όνομα δεν μπορεί να καταταγεί με βάση το επίθημά του. Το CFB128 δεν είναι τέσσερις φορές ισχυρότερο από το CFB32· επεξεργάζεται μεγαλύτερα τμήματα.
Τι αλλάζει πραγματικά το μέγεθος τμήματος
Το μέγεθος τμήματος αλλάζει πόσο κρυπτοκείμενο επιστρέφεται ανά βήμα και πόσο απλό κείμενο μπορεί να μεταφέρει κάθε βήμα. Αλλάζει επίσης τη διάδοση σφαλμάτων και τη συμπεριφορά προσωρινής μνήμης, που έχει σημασία για χρήση παρόμοια με ροή. Τα τμήματα με προσανατολισμό byte ευθυγραμμίζονται με τις προσωρινές μνήμες, αυτά με προσανατολισμό bit όχι.
Στην πράξη η λειτουργία επιλέγεται από το πρωτόκολλο, όχι από τον διαχειριστή. Ένα κανάλι δεδομένων VPN χρησιμοποιεί την κατασκευή που ορίζει το πρωτόκολλό του, με δική του προστασία ακεραιότητας, και μια λίστα βιβλιοθήκης σας λέει μόνο ποια ονόματα υπάρχουν.
Διαβάζοντας μια μη προσδιορισμένη ετικέτα CFB
Μια μη προσδιορισμένη ετικέτα CFB χρειάζεται το πλαίσιο υλοποίησής της. Στις κεφαλίδες του OpenSSL 1.0.2, το EVP_aes_128_cfb είναι μακροεντολή για το EVP_aes_128_cfb128, με αντίστοιχα ψευδώνυμα για κλειδιά 192 και 256 bit. Αυτή είναι σύμβαση ονοματοδοσίας API από έναν κλάδο, όχι ισχυρισμός ότι κάθε βιβλιοθήκη, μορφή αρχείου ή GUI αναπτύσσει τη συντομογραφία με τον ίδιο τρόπο. Ελέγξτε την κεφαλίδα ή την τεκμηρίωση της έκδοσης που έχετε μπροστά σας.
Αν ένα παλιό προφίλ λέει CFB και ο ομότιμος το δέχεται, οι διαπραγματευμένες παράμετροι καταγράφονται κάπου: σε αρχείο καταγραφής, σε αποτύπωση ρυθμίσεων, σε απόκριση API. Διαβάστε τις αντί να συνάγετε το μέγεθος τμήματος από μια συμβολοσειρά οθόνης.
Τι δεν σας λέει το όνομα μιας λειτουργίας
Το όνομα περιγράφει τη συμπεριφορά κρυπτογράφησης και τίποτε άλλο. Ένα VPN χρειάζεται ακόμη προστασία ακεραιότητας, παραγωγή κλειδιών και πιστοποίηση ομοτίμου, και το CFB δεν παρέχει κανένα από αυτά. Ούτε η αλλαγή CFB8 σε CFB1 είναι καλλωπιστική: η συμπεριφορά στο δίκτυο διαφέρει και τα δύο άκρα πρέπει να υποστηρίζουν την ίδια κατασκευή. Ούτε ένα όνομα σε βιβλιοθήκη αποδεικνύει ότι η αναπτυγμένη πύλη το δέχεται για το κανάλι δεδομένων της.
Για οτιδήποτε συντηρείται, χρησιμοποιήστε την πλήρη διάταξη προστασίας του πρωτοκόλλου και την πολιτική του διαχειριστή, και καταγράψτε τις εκδόσεις βιβλιοθήκης και πύλης, την ακριβή επιλογή και το διαπραγματευμένο αποτέλεσμα. Το παλιό όνομα εξηγεί τι διαβάζετε· δεν δικαιολογεί την αναβίωση της ρύθμισης.