Η ασφαλής μετάδοση αυστηρά εμπιστευτικών πληροφοριών, χωρίς να αποκτούν πρόσβαση μη εξουσιοδοτημένα άτομα, αποτελούσε ανέκαθεν πρόκληση. Οι πρώιμες «μυστικές γλώσσες» – όπως οι απλές μετατοπίσεις γραμμάτων – σπάνε πανεύκολα με τη σύγχρονη υπολογιστική ισχύ. Σήμερα προστατεύουμε τα δεδομένα με κρυπτογραφικές μεθόδους, οι οποίες ορίζονται με μαθηματική ακρίβεια και των οποίων η ασφάλεια έχει αξιολογηθεί δημόσια.
Τέτοιες μέθοδοι χρησιμοποιούν ένα κλειδί, το οποίο γνωρίζουν μόνο ο αποστολέας και ο παραλήπτης. Η κρυπτογράφηση και η αποκρυπτογράφηση ακολουθούν έναν αλγόριθμο κρυπτογράφησης – δηλαδή μια σαφώς καθορισμένη μαθηματική διαδικασία.
Password Depot κρυπτογραφεί τα εμπιστευτικά δεδομένα σας με τον αλγόριθμο Rijndael, ο οποίος είναι τυποποιημένος ως AES (Advanced Encryption Standard).
Στη συνέχεια εξηγούμε τον αλγόριθμο και τον τοποθετούμε στο τεχνικό του πλαίσιο.
Advanced Encryption Standard (AES) – η τυποποιημένη παραλλαγή του Rijndael
Το U.S. National Bureau of Standards (σήμερα NIST) τυποποίησε το 1977 τον DES· αυτό το πρότυπο αποσύρθηκε το 2005 αποσύρθηκε, επειδή δεν ήταν πλέον επαρκώς ασφαλές (Ανακοίνωση του NIST). Ως διάδοχο επέλεξε το NIST το 2001 το Rijndael και το τυποποίησε ως Advanced Encryption Standard (AES) (FIPS 197).
Σημαντικό: Το AES είναι υποσύνολο της οικογένειας Rijndael. Το AES ορίζει σταθερά το μέγεθος μπλοκ στα 128 bit και επιτρέπει κλειδιά 128, 192 ή 256 bit (Σημείωση του NIST, FIPS 197 (PDF)).
Το AES είναι εγκεκριμένο για την προστασία πληροφοριών αμερικανικών κυβερνητικών υπηρεσιών έως το επίπεδο TOP SECRET (βλ. CNSSP‑15 Fact Sheet καθώς και τις τρέχουσες CNSA‑2.0‑FAQ της NSA).
Πώς λειτουργεί το Rijndael/AES (σύντομη επισκόπηση)
Το Rijndael είναι ένας κρυπτογράφος δικτύου υποκατάστασης-μετάθεσης-κρυπτογράφος. Οι βασικές αρχές είναι αντικαταστάσεις σε επίπεδο byte, γραμμικοί μετασχηματισμοί και XOR-συνδέσεις.
Ροή σε επίπεδο block (128 bit «State»)
- Επέκταση κλειδιού (Key Schedule): Από το κλειδί παράγονται Nr + 1 κλειδιά γύρων (π.χ. 11 στο AES-128, 13 στο AES-192, 15 στο AES-256). Πηγή: FIPS 197.
- Αρχικός γύρος: AddRoundKey – το block απλού κειμένου (ως μήτρα 4×4 byte) συνδυάζεται με XOR με το πρώτο κλειδί γύρου.
- Γύροι 1 … Nr:
- SubBytes: Κάθε byte αντικαθίσταται μέσω ενός S-Box (πολλαπλασιαστικό αντίστροφο στο GF(28) συν αφινικός μετασχηματισμός με σταθερά
0x63). Πηγή: FIPS 197. - ShiftRows: Οι γραμμές του πίνακα κατάστασης μετατοπίζονται κυκλικά.
- MixColumns: Οι στήλες αναμειγνύονται μέσω πολλαπλασιασμού πινάκων στο GF(28).
- AddRoundKey: XOR με το αντίστοιχο κλειδί γύρου.
- SubBytes: Κάθε byte αντικαθίσταται μέσω ενός S-Box (πολλαπλασιαστικό αντίστροφο στο GF(28) συν αφινικός μετασχηματισμός με σταθερά
Σημείωση: Στον τελευταίο γύρο παραλείπεται το MixColumns. Ο αριθμός των γύρων είναι 10/12/14 για κλειδιά με 128/192/256 bit (FIPS 197).
Το AES μπορεί να υλοποιηθεί σε λογισμικό, firmware ή hardware (FIPS 197). Για πρακτική χρήση, Τρόποι λειτουργίας χρησιμοποιούνται, π.χ. CBC, CTR ή GCM (πιστοποιημένη κρυπτογράφηση). Συστάσεις θα βρείτε στα NIST SP 800–38A και NIST SP 800–38D (GCM/GMAC).
Σημαντικό για τη σωστή κατανόηση: Το AES είναι ένας συμμετρικός αλγόριθμος κρυπτογράφησης για την κρυπτογράφηση δεδομένων. Η ανταλλαγή κλειδιών πραγματοποιείται συνήθως με ασύμμετρες μεθόδους ((EC)DH/RSA). Ωστόσο, το AES μπορεί να περιτυλίγει με ασφάλεια κλειδιά ("Key Wrap") – βλ. NIST SP 800–38F.
Επίσημη προδιαγραφή
Θα βρείτε την αναφορά εδώ: https://csrc.nist.gov/files/pubs/fips/197/final/docs/fips-197.pdf
Επιθέσεις Brute-Force
Brute-Force σημαίνει ότι ένας επιτιθέμενος όλα τα πιθανά κλειδιά δοκιμάζει. Κλασικές μέθοδοι όπως το DES με κλειδιά μόλις 56 bit μπορούν σήμερα πρακτικά να παραβιαστούν – γι’ αυτό το NIST το 2005 το απέσυρε επίσημα (NIST).
Αντίθετα, σύγχρονες μέθοδοι όπως το AES με κλειδιά 128/192/256 bit διαθέτουν έναν αστρονομικά μεγάλο χώρο κλειδιών. Στην πράξη, καθοριστικό ρόλο παίζει λιγότερο ο αλγόριθμος και περισσότερο η παραγωγή κλειδιού από κωδικούς πρόσβασης και η ποιότητα του κύριου κωδικού πρόσβασης.
Password Depot δυσχεραίνει περαιτέρω τις επιθέσεις brute force μέσω μιας λειτουργίας καθυστέρησης: Μετά από λανθασμένη εισαγωγή του κύριου κωδικού πρόσβασης, το πρόγραμμα παραμένει κλειδωμένο για μερικά δευτερόλεπτα.
Συμπέρασμα: Με σωστή υλοποίηση, κατάλληλους τρόπους λειτουργίας (π.χ. GCM) και επαρκές μήκος κλειδιού, το AES θεωρείται με τα σημερινά δεδομένα ασφαλές για πολύ μεγάλο χρονικό διάστημα.
Περισσότερα για τις επιθέσεις brute force.
Περαιτέρω πηγές
- FIPS 197 – Advanced Encryption Standard (AES)
- FIPS 197 – PDF (πρωτότυπη προδιαγραφή)
- NIST: Το AES είναι υποσύνολο του Rijndael (μέγεθος μπλοκ 128 bit)
- NIST SP 800–38A – Τρόποι λειτουργίας (ECB/CBC/CFB/OFB/CTR)
- NIST SP 800–38D – GCM/GMAC (πιστοποιημένη κρυπτογράφηση)
- NIST SP 800–38F – AES Key Wrap
- CNSSP–15 Fact Sheet – Χρήση του AES για απόρρητες/άκρως απόρρητες πληροφορίες
- NSA: CNSA 2.0 FAQ – τρέχουσες απαιτήσεις
- NIST: Απόσυρση του DES (υπόβαθρο)
Κατανόηση επιθέσεων Brute-Force
Μάθετε γιατί το μήκος του κωδικού πρόσβασης είναι καθοριστικό και πώς να προστατευτείτε.
Περισσότερα για επιθέσεις Brute-Force