Το μήκος του κλειδιού κρυπτογράφησης. Δημόσιο και ιδιωτικό κλειδί: σε τι χρησιμεύουν; Δημιουργία τυχαίων και ψευδοτυχαίων ακολουθιών

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

Φυσικά, η παραγοντοποίηση ενός μεγάλου αριθμού σε παράγοντες είναι ένα δύσκολο έργο. Ωστόσο, τίθεται αμέσως ένα εύλογο ερώτημα, πόσο δύσκολο. Δυστυχώς για τους κρυπτογράφους, η δυσκολία επίλυσής του μειώνεται. Και για να γίνουν τα πράγματα χειρότερα, αυτή η δυσκολία πέφτει με πολύ ταχύτερο ρυθμό από ό,τι αναμενόταν προηγουμένως. Για παράδειγμα, στα μέσα της δεκαετίας του 1970, πίστευαν ότι θα χρειάζονταν δεκάδες τετράδα δισεκατομμύρια χρόνια για να συνυπολογιστεί ένας αριθμός 125 ψηφίων. Και μόλις δύο δεκαετίες αργότερα, χρησιμοποιώντας υπολογιστές συνδεδεμένους στο Διαδίκτυο, ήταν δυνατό να υπολογιστεί ένας αριθμός 129 ψηφίων. Αυτή η ανακάλυψη κατέστη δυνατή λόγω του γεγονότος ότι τα τελευταία 20 χρόνια δεν έχουν προταθεί μόνο νέες, ταχύτερες μέθοδοι παραγοντοποίησης μεγάλων αριθμών, αλλά και η παραγωγικότητα των υπολογιστών που χρησιμοποιούνται έχει αυξηθεί.

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

Και γιατί, ρωτά κανείς, να μην πάρει ένα κλειδί 10.000-bit; Εξάλλου, τότε όλα τα ερωτήματα που σχετίζονται με τη σταθερότητα ενός αλγορίθμου ασύμμετρης κρυπτογράφησης με δημόσιο κλειδί, που βασίζεται στην αποσύνθεση ενός μεγάλου αριθμού σε παράγοντες, θα εξαφανιστούν. Αλλά το γεγονός είναι ότι η εξασφάλιση επαρκούς αντοχής του κρυπτογραφήματος δεν είναι το μόνο μέλημα του κρυπτογράφου. Υπάρχουν πρόσθετες σκέψεις που επηρεάζουν την επιλογή του μήκους του κλειδιού, και μεταξύ αυτών είναι ζητήματα που σχετίζονται με την πρακτική σκοπιμότητα του αλγορίθμου κρυπτογράφησης για το επιλεγμένο μήκος κλειδιού.

Για να υπολογίσουμε το μήκος του δημόσιου κλειδιού, θα μετρήσουμε την υπολογιστική ισχύ που είναι διαθέσιμη στον κρυπτοαναλυτή στο λεγόμενο παγκ-γιο, δηλαδή ο αριθμός των λειτουργιών που εκτελεί ένας υπολογιστής που μπορεί να εκτελεί με ταχύτητα 1 εκατομμυρίου λειτουργιών ανά δευτερόλεπτο σε ένα χρόνο. Ας πούμε ότι ένας χάκερ έχει πρόσβαση σε πόρους υπολογιστών με συνολική υπολογιστική ισχύ 10.000 pug-years, μια μεγάλη εταιρεία - 10 7 pug-years, η κυβέρνηση - 10 7 pug-years. Αυτοί είναι αρκετά ρεαλιστικοί αριθμοί, δεδομένου ότι το έργο αποσύνθεσης 129 ψηφίων που αναφέρθηκε παραπάνω χρησιμοποιούσε μόνο το 0,03% της υπολογιστικής ισχύος του Διαδικτύου και για να επιτευχθεί αυτό, δεν χρειάστηκε να λάβουν έκτακτα μέτρα ή να υπερβούν το νόμο.

Ας υποθέσουμε επίσης ότι η υπολογιστική ισχύς αυξάνεται 10 φορές κάθε 5 χρόνια και η μέθοδος που χρησιμοποιείται για την παραγοντοποίηση μεγάλων αριθμών επιτρέπει να γίνει αυτό με την πολυπλοκότητα που υποδεικνύεται στον Πίνακα 1. 6.3.

Πίνακας 6.3. Η πολυπλοκότητα της παραγοντοποίησης μεγάλων αριθμών.

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

Ετος Χάκερ μεγάλη εταιρεία Κυβέρνηση
2000 1024 1280 1536
2005 1280 1536 2048
2010 1280 1536 2048
2015 1536 2048 2048

Με δεδομένο στον πίνακα. 6.4 Δεν συμφωνούν όλοι οι αξιόπιστοι κρυπτογράφοι με τα δεδομένα. Κάποιοι από αυτούς αρνούνται κατηγορηματικά να κάνουν μακροπρόθεσμες προβλέψεις, θεωρώντας το άχρηστο εγχείρημα. Άλλοι, όπως αυτοί της NSA, είναι υπερβολικά αισιόδοξοι, προτείνοντας συστήματα ψηφιακή υπογραφήτο μήκος του δημόσιου κλειδιού είναι μόνο 512-1024 bit, το οποίο υπό το φως των δεδομένων από τον Πίνακα. Το 6.4 είναι εντελώς ανεπαρκές για την παροχή επαρκούς μακροπρόθεσμης προστασίας.

δημόσιο κλειδί, σημείωσε ότι αυτή η απαίτηση αρνείται ολόκληρη την ουσία της κρυπτογραφίας, δηλαδή την ικανότητα διατήρησης καθολικής μυστικότητας στις επικοινωνίες.

Το δεύτερο καθήκον είναι η ανάγκη δημιουργίας τέτοιων μηχανισμών, χρησιμοποιώντας τους οποίους θα ήταν αδύνατη η αντικατάσταση οποιουδήποτε από τους συμμετέχοντες, δηλ. χρειάζομαι ψηφιακή υπογραφή. Όταν χρησιμοποιείτε επικοινωνίες για ευρύ φάσμα σκοπών, όπως εμπορικούς και ιδιωτικούς σκοπούς, τα ηλεκτρονικά μηνύματα και τα έγγραφα πρέπει να έχουν το ισοδύναμο μιας υπογραφής που περιέχεται σε έντυπα έγγραφα. Είναι απαραίτητο να δημιουργηθεί μια μέθοδος με την οποία όλοι οι συμμετέχοντες θα πεισθούν ότι το e-mail στάλθηκε από έναν συγκεκριμένο συμμετέχοντα. Αυτή είναι μια ισχυρότερη απαίτηση από τον έλεγχο ταυτότητας.

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

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

Επιπλέον, ορισμένοι αλγόριθμοι, όπως ο RSA, έχουν τα ακόλουθα χαρακτηριστικά: καθένα από τα δύο κλειδιά μπορεί να χρησιμοποιηθεί τόσο για κρυπτογράφηση όσο και για αποκρυπτογράφηση.

Αρχικά θα εξετάσουμε αλγόριθμους που έχουν και τις δύο ιδιότητες και μετά θα προχωρήσουμε σε αλγόριθμους δημόσιου κλειδιού που δεν έχουν τη δεύτερη ιδιότητα.

Κατά την περιγραφή συμμετρική κρυπτογράφησηκαι κρυπτογράφηση δημόσιου κλειδιού, θα χρησιμοποιήσουμε την ακόλουθη ορολογία. κλειδί που χρησιμοποιείται σε συμμετρική κρυπτογράφηση, θα καλέσουμε μυστικό κλειδί. Θα κληθούν τα δύο κλειδιά που χρησιμοποιούνται στην κρυπτογράφηση δημόσιου κλειδιού δημόσιο κλειδίΚαι ιδιωτικό κλειδί. Το ιδιωτικό κλειδί διατηρείται μυστικό, αλλά θα το αναφέρουμε ως ιδιωτικό κλειδί και όχι ως μυστικό για να αποφευχθεί η σύγχυση με το κλειδί που χρησιμοποιείται σε συμμετρική κρυπτογράφηση. Το ιδιωτικό κλειδί θα συμβολίζεται KR, το δημόσιο κλειδί - KU.

Θα υποθέσουμε ότι όλοι οι συμμετέχοντες έχουν πρόσβαση στα δημόσια κλειδιά του άλλου και ότι τα ιδιωτικά κλειδιά δημιουργούνται τοπικά από κάθε συμμετέχοντα και, επομένως, δεν πρέπει να διανέμονται.

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

Οι Diffie και Hellman περιγράφουν τις απαιτήσεις που αλγόριθμος κρυπτογράφησηςμε δημόσιο κλειδί.

  1. Είναι υπολογιστικά εύκολο να δημιουργήσετε ένα ζεύγος (δημόσιο κλειδί KU, ιδιωτικό κλειδί KR).
  2. Είναι υπολογιστικά εύκολο, δεδομένου του δημόσιου κλειδιού και του μη κρυπτογραφημένου μηνύματος M, να δημιουργήσετε το αντίστοιχο κρυπτογραφημένο μήνυμα:
  3. Είναι υπολογιστικά εύκολο να αποκρυπτογραφήσετε ένα μήνυμα χρησιμοποιώντας το ιδιωτικό κλειδί:

    M = D KR [C] = D KR ]

  4. Είναι υπολογιστικά αδύνατο, γνωρίζοντας το δημόσιο κλειδί KU , να προσδιοριστεί το ιδιωτικό κλειδί KR .
  5. Είναι υπολογιστικά αδύνατο, γνωρίζοντας το δημόσιο κλειδί KU και το κρυπτογραφημένο μήνυμα C , να ανακτήσετε το αρχικό μήνυμα M .

    Μπορεί να προστεθεί μια έκτη απαίτηση, αν και δεν ισχύει για όλους τους αλγόριθμους δημόσιου κλειδιού:

  6. Οι λειτουργίες κρυπτογράφησης και αποκρυπτογράφησης μπορούν να εφαρμοστούν με οποιαδήποτε σειρά:

    M = E ku]

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

Συνήθως "εύκολο" σημαίνει ότι το πρόβλημα μπορεί να λυθεί σε πολυωνυμικό χρόνο του μήκους της εισόδου. Έτσι, εάν το μήκος της εισόδου είναι n bit, τότε ο χρόνος υπολογισμού της συνάρτησης είναι ανάλογος του n a , όπου a είναι μια σταθερή σταθερά. Έτσι, ο αλγόριθμος λέγεται ότι ανήκει στην κατηγορία των πολυωνυμικών αλγορίθμων P. Ο όρος «σκληρός» σημαίνει μια πιο περίπλοκη έννοια. Στη γενική περίπτωση, θα υποθέσουμε ότι το πρόβλημα δεν μπορεί να λυθεί εάν η προσπάθεια επίλυσής του είναι μεγαλύτερη από τον πολυωνυμικό χρόνο της τιμής εισόδου. Για παράδειγμα, εάν το μήκος της εισόδου είναι n bit και ο χρόνος αξιολόγησης της συνάρτησης είναι ανάλογος με 2 n, τότε αυτό θεωρείται υπολογιστικά αδύνατη εργασία. Δυστυχώς, είναι δύσκολο να προσδιοριστεί εάν ένας συγκεκριμένος αλγόριθμος παρουσιάζει τέτοια πολυπλοκότητα. Επιπλέον, οι παραδοσιακές έννοιες της υπολογιστικής πολυπλοκότητας επικεντρώνονται στην πολυπλοκότητα της χειρότερης ή της μέσης περίπτωσης ενός αλγορίθμου. Αυτό είναι απαράδεκτο για την κρυπτογραφία, όπου απαιτείται να μην μπορεί να αντιστραφεί η συνάρτηση για όλες ή σχεδόν όλες τις τιμές των εισόδων.

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

Βλέπουμε ότι η ανάπτυξη ενός συγκεκριμένου αλγόριθμου δημόσιου κλειδιού εξαρτάται από την ανακάλυψη του αντίστοιχου μονόπλευρη λειτουργία με ηλιοροφή.

Κρυπτανάλυση αλγορίθμων δημόσιου κλειδιού

Όπως και στην περίπτωση συμμετρική κρυπτογράφηση, αλγόριθμος κρυπτογράφησηςμε δημόσιο κλειδί είναι ευάλωτο σε μετωπική επίθεση. Το αντίμετρο είναι στάνταρ: χρησιμοποιήστε μεγάλα κλειδιά.

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

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

Τέλος, υπάρχει μια μορφή επίθεσης που είναι συγκεκριμένη για το πώς χρησιμοποιούνται τα συστήματα δημόσιου κλειδιού. Αυτή είναι μια επίθεση σε ένα πιθανό μήνυμα. Ας υποθέσουμε, για παράδειγμα, ότι το μήνυμα που αποστέλλεται αποτελείται αποκλειστικά από ένα κλειδί περιόδου λειτουργίας 56-bit για έναν αλγόριθμο συμμετρικής κρυπτογράφησης. Ένας αντίπαλος μπορεί να κρυπτογραφήσει όλα τα πιθανά κλειδιά χρησιμοποιώντας το δημόσιο κλειδί και μπορεί να αποκρυπτογραφήσει οποιοδήποτε μήνυμα ταιριάζει με το κρυπτογραφημένο κείμενο που μεταδίδεται. Έτσι, ανεξάρτητα από το μέγεθος του κλειδιού του σχήματος δημόσιου κλειδιού, η επίθεση μειώνεται σε επίθεση ωμής δύναμης σε 56-bit συμμετρικό κλειδί. Η προστασία από μια τέτοια επίθεση συνίσταται στην προσθήκη ενός συγκεκριμένου αριθμού τυχαίων bits σε απλά μηνύματα.

Βασικές χρήσεις για αλγόριθμους δημόσιου κλειδιού

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

Κρυπτογράφησημε δημόσιο κλειδί αποτελείται από τα ακόλουθα βήματα:


Ρύζι. 7.1.

  1. Ο χρήστης Β δημιουργεί ένα ζεύγος κλειδιών KU b και KR b που χρησιμοποιούνται για την κρυπτογράφηση και την αποκρυπτογράφηση των μεταδιδόμενων μηνυμάτων.
  2. Ο χρήστης Β καθιστά διαθέσιμο το κλειδί κρυπτογράφησης του με κάποιο ασφαλή τρόπο, π.χ. δημόσιο κλειδί KU β . Το ζευγοποιημένο ιδιωτικό κλειδί KR b διατηρείται μυστικό.
  3. Εάν ο Α θέλει να στείλει ένα μήνυμα στον Β, κρυπτογραφεί το μήνυμα χρησιμοποιώντας το δημόσιο κλειδί του Β KU b .
  4. Όταν ο Β λαμβάνει το μήνυμα, το αποκρυπτογραφεί χρησιμοποιώντας το ιδιωτικό του κλειδί KR b. Κανείς άλλος δεν μπορεί να αποκρυπτογραφήσει το μήνυμα, αφού μόνο ο Β γνωρίζει αυτό το ιδιωτικό κλειδί.

Εάν ο χρήστης (τελικό σύστημα) αποθηκεύει με ασφάλεια το ιδιωτικό του κλειδί, κανείς δεν θα μπορεί να κατασκοπεύσει τα μηνύματα που μεταδίδονται.

Η δημιουργία και η επαλήθευση μιας υπογραφής αποτελείται από τα ακόλουθα βήματα:


Ρύζι. 7.2.
  1. Ο χρήστης Α δημιουργεί ένα ζεύγος κλειδιών KR A και KU A , που χρησιμοποιούνται για τη δημιουργία και την επαλήθευση της υπογραφής των μεταδιδόμενων μηνυμάτων.
  2. Ο χρήστης Α καθιστά διαθέσιμο το κλειδί επαλήθευσης με κάποιο ασφαλή τρόπο, π.χ.

Τα κρυπτογραφικά κλειδιά μπορεί να διαφέρουν μεταξύ τους ως προς το μήκος τους, το οποίο, κατά συνέπεια, ως προς την ισχύ ενός δεδομένου κλειδιού. Όσο μεγαλύτερο είναι το κλειδί, τόσο περισσότεροι είναι οι δυνατοί συνδυασμοί επιλογής. Για παράδειγμα, εάν χρησιμοποιείτε ένα κλειδί με μήκος 128 bit, τότε το κλειδί θα είναι μία από τις 2128 πιθανές επιλογές. Ο απαγωγέας είναι πιο πιθανό να κερδίσει το λαχείο παρά να πάρει ένα πιθανό κλειδί. Σε έναν τυπικό οικιακό υπολογιστή, για ένα κλειδί 40-bit, πρέπει να αφιερώσετε 6 ώρες για να ταξινομήσετε όλα τα πιθανά. Ωστόσο, ακόμη και κλειδιά με μήκος 128 bit μπορεί να είναι ευάλωτα και οι επαγγελματίες μπορούν να τα σπάσουν.

Η αξιοπιστία του συμμετρικού εξαρτάται άμεσα από την ισχύ του μήκους του κλειδιού και τον αλγόριθμο κρυπτογράφησης. Εάν, για παράδειγμα, ο αλγόριθμος είναι ιδανικός, τότε μπορεί να αποκρυπτογραφηθεί μόνο με την απαρίθμηση όλων των κλειδιών. Για να εφαρμόσετε αυτήν τη μέθοδο, χρειάζεστε κάποιο κρυπτογραφημένο κείμενο και απλό κείμενο. Για παράδειγμα, εάν το μήκος του κλειδιού είναι 128 bit, τότε ο υπερυπολογιστής θα χρειαστεί 1025 χρόνια για να απαριθμήσει όλα τα κλειδιά. Αμέσως προκύπτει το ερώτημα γιατί να μην χρησιμοποιήσετε ένα μήκος κλειδιού πάνω από 9999 ή 4000 byte.
Ταυτόχρονα, η κρυπτογραφία είναι μια πολύ λεπτή επιστήμη, όπου θέλουμε να αυξήσουμε την αξιοπιστία, μπορούμε, αντίθετα, να τη χαμηλώσουμε με ελάχιστες αλλαγές στον αλγόριθμο. Κατά τον έλεγχο της ισχύος ενός αλγορίθμου κρυπτογράφησης, ελέγχουν τις συνθήκες υπό τις οποίες ένας εισβολέας μπορεί να λάβει επαρκή ποσότητα απλού κειμένου ή κρυπτογραφημένου κειμένου. Ευτυχώς, στην πραγματικότητα υπάρχουν πολύ λίγοι άνθρωποι που έχουν πραγματικά υψηλά προσόντα για την υλοποίηση επιτυχημένων επιθέσεων για την αποκρυπτογράφηση δεδομένων.

Πολλοί αλγόριθμοι κρυπτογράφησης δημόσιου κλειδιού εφαρμόζουν συναρτήσεις παραγοντοποίησης για έναν αριθμό που είναι το γινόμενο δύο μεγάλων πρώτων αριθμών. Στη δεκαετία του '70, χρειάστηκαν δεκάδες τετράδισεκα χρόνια για να αποσυντεθεί ένας αριθμός 125 ψηφίων. Σήμερα δεν αποτελείται από πολύ χρόνο. Παραπάνω, τέθηκε το ερώτημα γιατί να μην χρησιμοποιήσετε πλήκτρα μακράς διάρκειας overr9999, γιατί τότε δεν θα προκύψει το ζήτημα της ανθεκτικότητας και της αξιοπιστίας. Είναι απαραίτητο να λαμβάνεται υπόψη όχι μόνο η αξιοπιστία και η μυστικότητα, αλλά και ο χρόνος αξίας των πληροφοριών και ο χρόνος που δαπανάται για την εφαρμογή μιας τέτοιας κρυπτογράφησης. Για παράδειγμα, οι πληροφορίες θα χάσουν την αξία τους σε 10 χρόνια και ξοδέψαμε οικονομικούς πόρους που θα αποδώσουν μόνο μετά από 20 χρόνια, πού είναι η λογική;

Για να αξιολογηθεί ένα δημόσιο κλειδί, πρέπει να μετρηθεί η κρυπταναλυτική υπολογιστική ισχύς σε pug-years. Αυτός είναι ο αριθμός των επεμβάσεων ανά δευτερόλεπτο που εκτελούνται σε ένα έτος. Για παράδειγμα, οι εταιρείες έχουν 107 χρόνια πυγμαχίας και οι κυβερνήσεις έχουν 109 χρόνια. Στο Σχ.1. μπορείτε να δείτε πόσος χρόνος χρειάζεται για την αποσύνθεση αριθμών διαφορετικών μηκών. Συχνά, παρόλα αυτά, πολύτιμες πληροφορίες κρυπτογραφούνται για μεγάλο χρονικό διάστημα. Η ιδέα να δαπανήσετε μερικούς μήνες με παραγοντοποίηση ενός μεγάλου αριθμού για να μπορέσετε να κάνετε αγορές με την πιστωτική κάρτα κάποιου άλλου είναι ελκυστική. Το συνιστώμενο μήκος των δημόσιων κλειδιών φαίνεται στο Σχήμα 2.

Εικόνα 1

Σχέδιο - 2

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

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

Φυσικά, η παραγοντοποίηση ενός μεγάλου αριθμού σε παράγοντες είναι ένα δύσκολο έργο. Ωστόσο, τίθεται αμέσως ένα εύλογο ερώτημα, πόσο δύσκολο. Δυστυχώς για τους κρυπτογράφους, η δυσκολία επίλυσής του μειώνεται. Και για να γίνουν τα πράγματα χειρότερα, αυτή η δυσκολία πέφτει με πολύ ταχύτερο ρυθμό από ό,τι αναμενόταν προηγουμένως. Για παράδειγμα, στα μέσα της δεκαετίας του 1970, πίστευαν ότι θα χρειάζονταν δεκάδες τετράδα δισεκατομμύρια χρόνια για να συνυπολογιστεί ένας αριθμός 125 ψηφίων. Και μόλις δύο δεκαετίες αργότερα, χρησιμοποιώντας υπολογιστές συνδεδεμένους στο Διαδίκτυο, ήταν δυνατό να υπολογιστεί ένας αριθμός 129 ψηφίων. Αυτή η ανακάλυψη κατέστη δυνατή λόγω του γεγονότος ότι τα τελευταία 20 χρόνια δεν έχουν προταθεί μόνο νέες, ταχύτερες μέθοδοι παραγοντοποίησης μεγάλων αριθμών, αλλά και η παραγωγικότητα των υπολογιστών που χρησιμοποιούνται έχει αυξηθεί.

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

Και γιατί, ρωτά κανείς, να μην πάρει ένα κλειδί 10.000-bit; Εξάλλου, τότε όλα τα ερωτήματα που σχετίζονται με τη σταθερότητα ενός αλγορίθμου ασύμμετρης κρυπτογράφησης με δημόσιο κλειδί, που βασίζεται στην αποσύνθεση ενός μεγάλου αριθμού σε παράγοντες, θα εξαφανιστούν. Αλλά το γεγονός είναι ότι η εξασφάλιση επαρκούς αντοχής του κρυπτογραφήματος δεν είναι το μόνο μέλημα του κρυπτογράφου. Υπάρχουν πρόσθετες σκέψεις που επηρεάζουν την επιλογή του μήκους του κλειδιού, και μεταξύ αυτών είναι ζητήματα που σχετίζονται με την πρακτική σκοπιμότητα του αλγορίθμου κρυπτογράφησης για το επιλεγμένο μήκος κλειδιού.

Για να υπολογίσουμε το μήκος ενός δημόσιου κλειδιού, θα μετρήσουμε την υπολογιστική ισχύ που είναι διαθέσιμη σε έναν κρυπτοαναλυτή στα λεγόμενα pug-years, δηλαδή τον αριθμό των λειτουργιών που εκτελεί ένας υπολογιστής που μπορεί να λειτουργεί με ταχύτητα 1 εκατομμυρίου λειτουργιών ανά δευτερόλεπτο. σε ένα χρόνο. Ας πούμε ότι ένας χάκερ έχει πρόσβαση σε πόρους υπολογιστών με συνολική υπολογιστική ισχύ 10.000 pug-years, μια μεγάλη εταιρεία - 107 pug-years, η κυβέρνηση - 109 pug-years. Αυτά είναι αρκετά ρεαλιστικά νούμερα αν σκεφτεί κανείς ότι το έργο αποσύνθεσης 129 ψηφίων που αναφέρθηκε παραπάνω χρησιμοποιούσε μόνο το 0,03% της υπολογιστικής ισχύος του Διαδικτύου και για να επιτευχθεί αυτό, δεν χρειάστηκε να λάβουν έκτακτα μέτρα ή να υπερβούν το νόμο.

Ας υποθέσουμε επίσης ότι η υπολογιστική ισχύς αυξάνεται 10 φορές κάθε 5 χρόνια και η μέθοδος που χρησιμοποιείται για την παραγοντοποίηση μεγάλων αριθμών επιτρέπει να γίνει αυτό με την πολυπλοκότητα που υποδεικνύεται στον Πίνακα 1. 6.3.

Πίνακας 6.3. Η πολυπλοκότητα της παραγοντοποίησης μεγάλων αριθμών

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

Με δίνεται στον πίνακα. 6.4 Δεν συμφωνούν όλοι οι αξιόπιστοι κρυπτογράφοι με τα δεδομένα. Κάποιοι από αυτούς αρνούνται κατηγορηματικά να κάνουν μακροπρόθεσμες προβλέψεις, θεωρώντας το άχρηστο εγχείρημα. Άλλοι, για παράδειγμα, ειδικοί από την NSA, είναι υπερβολικά αισιόδοξοι, προτείνοντας μήκος δημόσιου κλειδιού μόνο 512-1024 bit για συστήματα ψηφιακών υπογραφών, το οποίο, υπό το φως των δεδομένων από τον Πίνακα. Το 6.4 είναι εντελώς ανεπαρκές για την παροχή επαρκούς μακροπρόθεσμης προστασίας.

Ο κύριος σκοπός της χρήσης πιστοποιητικών SSL είναι η κρυπτογράφηση δεδομένων που μεταδίδονται στον διακομιστή από τον πελάτη και στον πελάτη από τον διακομιστή. Για να διασφαλιστεί η ασφάλεια μιας τέτοιας σύνδεσης σύγχρονα προγράμματα περιήγησηςχρησιμοποιήστε τον αλγόριθμο TLS που βασίζεται σε πιστοποιητικά μορφής X.509. Αυτός ο αλγόριθμος χρησιμοποιεί ασύμμετρη κρυπτογράφηση για να δημιουργήσει ένα κλειδί συνεδρίας για συμμετρική κρυπτογράφηση. Το τελευταίο χρησιμοποιείται απευθείας για μεταφορά δεδομένων αφού έχει δημιουργηθεί μια ασφαλής σύνδεση.

Τι είναι το κλειδί στην κρυπτογραφία;

Ένα κλειδί στην κρυπτογραφία είναι μυστικές πληροφορίες που χρησιμοποιούνται στην κρυπτογραφία για την κρυπτογράφηση και την αποκωδικοποίηση μηνυμάτων, την ψηφιακή υπογραφή και επαλήθευση τους, τον υπολογισμό των κωδικών ελέγχου ταυτότητας μηνυμάτων κ.λπ. Το πόσο αξιόπιστο είναι ένα κλειδί καθορίζεται από το λεγόμενο μήκος κλειδιού, το οποίο μετράται σε bit. Το τυπικό μήκος κλειδιού για πιστοποιητικά SSL είναι 128 ή 256 bit. Το μήκος του κλειδιού της αρχής πιστοποιητικού ρίζας (πιστοποιητικό ρίζας) δεν πρέπει να είναι μικρότερο από 4096 bit. Όλες οι αρχές έκδοσης πιστοποιητικών με τις οποίες συνεργαζόμαστε παρέχουν πιστοποιητικά SSL με ένα κλειδί που συμμορφώνεται πλήρως με τα σύγχρονα πρότυπα:

Δημόσιο και ιδιωτικό κλειδί στην ασύμμετρη κρυπτογράφηση

Χρήσεις ασύμμετρης κρυπτογράφησης ζευγάρι κλειδιών: ανοιχτό (δημόσιο κλειδί)Και κλειστό, επίσης λέγεται μυστικό (ιδιωτικό κλειδί). Το δημόσιο και το ιδιωτικό κλειδί σε αυτή την περίπτωση επιτρέπουν στον κρυπτογραφικό αλγόριθμο να κρυπτογραφήσει και να αποκρυπτογραφήσει το μήνυμα. Τα μηνύματα που είναι κρυπτογραφημένα με το δημόσιο κλειδί μπορούν να αποκρυπτογραφηθούν μόνο με το ιδιωτικό κλειδί. Το δημόσιο κλειδί δημοσιεύεται στο πιστοποιητικό κατόχου και είναι διαθέσιμο στον συνδεδεμένο πελάτη, ενώ το ιδιωτικό κλειδί αποθηκεύεται από τον κάτοχο του πιστοποιητικού. Το δημόσιο και το ιδιωτικό κλειδί διασυνδέονται με μαθηματικές εξαρτήσεις, επομένως είναι αδύνατο να παραλάβετε ένα δημόσιο ή ιδιωτικό κλειδί σε σύντομο χρονικό διάστημα (περίοδος ισχύος του πιστοποιητικού). Αυτός είναι ο λόγος για τον οποίο η μέγιστη περίοδος ισχύος των πιστοποιητικών SSL υψηλότερου επιπέδου προστασίας είναι πάντα χαμηλότερη. Έτσι, μπορείτε να παραγγείλετε το πολύ 2 χρόνια. Ταυτόχρονα, όταν παραγγέλνετε ένα νέο πιστοποιητικό SSL ή ανανεώνετε ένα παλιό, είναι σημαντικό να δημιουργείτε ένα νέο αίτημα CSR, καθώς το ιδιωτικό σας κλειδί είναι συνδεδεμένο με αυτό και είναι καλύτερο να το ενημερώνετε όταν εκδίδεται νέο πιστοποιητικό SSL . Ο πελάτης αλληλεπιδρά με τον διακομιστή με τον ακόλουθο τρόπο:
  1. το πρόγραμμα περιήγησης κρυπτογραφεί το αίτημα με βάση το δημόσιο κλειδί και το στέλνει στον διακομιστή.
  2. ο διακομιστής, χρησιμοποιώντας το ιδιωτικό κλειδί, αποκρυπτογραφεί το ληφθέν μήνυμα.
  3. ο διακομιστής κρυπτογραφεί το ψηφιακό του αναγνωριστικό με ιδιωτικό κλειδί και το μεταδίδει στον πελάτη.
  4. ο πελάτης ελέγχει το αναγνωριστικό διακομιστή και στέλνει το δικό του.
  5. Μετά από αμοιβαίο έλεγχο ταυτότητας, ο πελάτης κρυπτογραφεί το κλειδί της μελλοντικής συνεδρίας με το δημόσιο κλειδί και το μεταδίδει στον διακομιστή.
  6. Όλα τα επόμενα μηνύματα που αποστέλλονται μεταξύ του πελάτη και του διακομιστή υπογράφονται με το κλειδί συνεδρίας και κρυπτογραφούνται χρησιμοποιώντας το δημόσιο και το ιδιωτικό κλειδί.
Αυτό παρέχει πολλά σημεία ασφάλειας:
  • αποκλείεται η πιθανότητα διαρροής πληροφοριών - όταν υποκλαπεί, δεν μπορεί να αποκρυπτογραφηθεί.
  • ο διακομιστής επιβεβαιώνει τη διεύθυνση και το αναγνωριστικό του, η δυνατότητα ανακατεύθυνσης σε άλλο ιστότοπο έχει αποκοπεί (phishing).
  • στον πελάτη ανατίθεται μια μεμονωμένη συνεδρία, η οποία καθιστά δυνατή τη διάκρισή του από άλλους πελάτες πιο αξιόπιστα.
  • Μόλις δημιουργηθεί μια ασφαλής περίοδος σύνδεσης, όλα τα μηνύματα κρυπτογραφούνται χρησιμοποιώντας την ταυτότητα του πελάτη και δεν μπορούν να υποκλαπούν ή να τροποποιηθούν απαρατήρητα.

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