DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

Δεν είναι μυστικό ότι ένα από τα ευρέως χρησιμοποιούμενα βοηθητικά εργαλεία, χωρίς τα οποία είναι αδύνατη η προστασία δεδομένων σε ανοιχτά δίκτυα, είναι η τεχνολογία ψηφιακών πιστοποιητικών. Ωστόσο, δεν είναι μυστικό ότι το κύριο μειονέκτημα της τεχνολογίας είναι η άνευ όρων εμπιστοσύνη στα κέντρα που εκδίδουν ψηφιακά πιστοποιητικά. Ο Διευθυντής Τεχνολογίας και Καινοτομίας στο ENCRY Andrey Chmora πρότεινε μια νέα προσέγγιση στην οργάνωση υποδομή δημόσιου κλειδιού (Υποδομή δημόσιου κλειδιού, PKI), το οποίο θα βοηθήσει στην εξάλειψη των τρεχουσών ελλείψεων και το οποίο χρησιμοποιεί τεχνολογία κατανεμημένης λογιστικής (blockchain). Πρώτα όμως πρώτα.

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

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

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

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

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

Πώς επιτυγχάνεται η ακεραιότητα και η αυθεντικότητα των μεταδιδόμενων πληροφοριών; Για την επίλυση αυτού του προβλήματος, δημιουργήθηκε ένας άλλος μηχανισμός. Τα ανοιχτά δεδομένα δεν είναι κρυπτογραφημένα, αλλά το αποτέλεσμα της εφαρμογής της κρυπτογραφικής συνάρτησης κατακερματισμού - μια «συμπιεσμένη» εικόνα της ακολουθίας δεδομένων εισόδου - μεταδίδεται σε κρυπτογραφημένη μορφή. Το αποτέλεσμα αυτού του κατακερματισμού ονομάζεται "digest" και κρυπτογραφείται χρησιμοποιώντας το μυστικό κλειδί του συνδρομητή αποστολής ("ο μάρτυρας"). Ως αποτέλεσμα της κρυπτογράφησης της σύνοψης, λαμβάνεται μια ψηφιακή υπογραφή. Μαζί με το σαφές κείμενο, διαβιβάζεται στον συνδρομητή παραλήπτη («επαληθευτής»). Αποκρυπτογραφεί την ψηφιακή υπογραφή στο δημόσιο κλειδί του μάρτυρα και τη συγκρίνει με το αποτέλεσμα της εφαρμογής μιας κρυπτογραφικής συνάρτησης κατακερματισμού, την οποία ο επαληθευτής υπολογίζει ανεξάρτητα με βάση τα λαμβανόμενα ανοιχτά δεδομένα. Εάν ταιριάζουν, αυτό υποδηλώνει ότι τα δεδομένα μεταδόθηκαν σε αυθεντική και πλήρη μορφή από τον αποστέλλοντα συνδρομητή και δεν τροποποιήθηκαν από εισβολέα.

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

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

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

Σημείωση: η γνησιότητα και η ακεραιότητα του δημόσιου κλειδιού επιβεβαιώνεται ακριβώς με τον ίδιο τρόπο όπως η αυθεντικότητα και η ακεραιότητα των δημόσιων δεδομένων, δηλαδή με χρήση ηλεκτρονικής ψηφιακής υπογραφής (EDS).
Από πού προέρχονται τα ψηφιακά πιστοποιητικά;Οι αξιόπιστες αρχές πιστοποίησης ή οι Αρχές Πιστοποίησης (CA) είναι υπεύθυνες για την έκδοση και τη διατήρηση ψηφιακών πιστοποιητικών. Ο αιτών ζητά την έκδοση πιστοποιητικού από την ΑΠ, υποβάλλεται σε ταυτοποίηση στο Κέντρο Εγγραφής (CR) και λαμβάνει πιστοποιητικό από την ΑΠ. Η ΑΠ εγγυάται ότι το δημόσιο κλειδί από το πιστοποιητικό ανήκει ακριβώς στην οντότητα για την οποία εκδόθηκε.

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

Τα ψηφιακά πιστοποιητικά χρησιμοποιούνται οπουδήποτε υπάρχει διαθέσιμη ασύμμετρη κρυπτογραφία. Ένα από τα πιο κοινά ψηφιακά πιστοποιητικά είναι τα πιστοποιητικά SSL για ασφαλή επικοινωνία μέσω του πρωτοκόλλου HTTPS. Εκατοντάδες εταιρείες που είναι εγγεγραμμένες σε διάφορες δικαιοδοσίες συμμετέχουν στην έκδοση πιστοποιητικών SSL. Το κύριο μερίδιο πέφτει σε πέντε έως δέκα μεγάλα αξιόπιστα κέντρα: IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom, Trustwave.

Το CA και το CR είναι συστατικά του PKI, το οποίο περιλαμβάνει επίσης:

  • Άνοιγμα καταλόγου – μια δημόσια βάση δεδομένων που παρέχει ασφαλή αποθήκευση ψηφιακών πιστοποιητικών.
  • Λίστα ανάκλησης πιστοποιητικού – μια δημόσια βάση δεδομένων που παρέχει ασφαλή αποθήκευση ψηφιακών πιστοποιητικών ανακληθέντων δημόσιων κλειδιών (για παράδειγμα, λόγω παραβίασης ενός συζευγμένου ιδιωτικού κλειδιού). Τα υποκείμενα της υποδομής μπορούν να έχουν πρόσβαση ανεξάρτητα σε αυτήν τη βάση δεδομένων ή μπορούν να χρησιμοποιήσουν το εξειδικευμένο Πρωτόκολλο Κατάστασης Πιστοποίησης στο Διαδίκτυο (OCSP), το οποίο απλοποιεί τη διαδικασία επαλήθευσης.
  • Χρήστες πιστοποιητικών – εξυπηρετούμενα υποκείμενα PKI που έχουν συνάψει συμφωνία χρήστη με την ΑΠ και επαληθεύουν την ψηφιακή υπογραφή ή/και κρυπτογραφούν δεδομένα με βάση το δημόσιο κλειδί από το πιστοποιητικό.
  • Συνδρομητές – εξυπηρετούσε υποκείμενα PKI που κατέχουν ένα μυστικό κλειδί ζευγοποιημένο με το δημόσιο κλειδί από το πιστοποιητικό και που έχουν συνάψει συμφωνία συνδρομητή με την ΑΠ. Ο συνδρομητής μπορεί να είναι ταυτόχρονα χρήστης του πιστοποιητικού.

Έτσι, οι αξιόπιστες οντότητες της υποδομής δημόσιου κλειδιού, οι οποίες περιλαμβάνουν ΑΠ, CR και ανοιχτούς καταλόγους, είναι υπεύθυνες για:

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

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

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

— το 2010, το κακόβουλο λογισμικό Stuxnet άρχισε να εξαπλώνεται στο διαδίκτυο, υπογεγραμμένο χρησιμοποιώντας κλεμμένα ψηφιακά πιστοποιητικά από την RealTek και την JMicron.

- Το 2017, η Google κατηγόρησε τη Symantec ότι εξέδωσε μεγάλο αριθμό παραποιημένων πιστοποιητικών. Εκείνη την εποχή, η Symantec ήταν μία από τις μεγαλύτερες ΑΠ όσον αφορά τον όγκο παραγωγής. Στο πρόγραμμα περιήγησης Google Chrome 70, η υποστήριξη για πιστοποιητικά που εκδόθηκαν από αυτήν την εταιρεία και τα συνδεδεμένα με αυτήν κέντρα GeoTrust και Thawte σταμάτησε πριν από την 1η Δεκεμβρίου 2017.

Οι ΑΠ παραβιάστηκαν και ως αποτέλεσμα υπέφεραν όλοι—οι ίδιοι οι ΑΠ, καθώς και οι χρήστες και οι συνδρομητές. Η εμπιστοσύνη στις υποδομές έχει υπονομευθεί. Επιπλέον, τα ψηφιακά πιστοποιητικά ενδέχεται να αποκλειστούν στο πλαίσιο πολιτικών συγκρούσεων, γεγονός που θα επηρεάσει επίσης τη λειτουργία πολλών πόρων. Αυτό ακριβώς φοβόταν πριν από αρκετά χρόνια η ρωσική προεδρική διοίκηση, όπου το 2016 συζήτησαν τη δυνατότητα δημιουργίας ενός κρατικού κέντρου πιστοποίησης που θα εκδίδει πιστοποιητικά SSL σε ιστότοπους στο RuNet. Η τρέχουσα κατάσταση είναι τέτοια που ακόμη και κρατικές πύλες στη Ρωσία χρήση ψηφιακά πιστοποιητικά που εκδίδονται από αμερικανικές εταιρείες Comodo ή Thawte (θυγατρική της Symantec).

Υπάρχει ένα άλλο πρόβλημα - το ερώτημα κύριος έλεγχος ταυτότητας (authentication) των χρηστών. Πώς να αναγνωρίσετε έναν χρήστη που επικοινώνησε με την ΑΠ με ​​αίτημα έκδοσης ψηφιακού πιστοποιητικού χωρίς άμεση προσωπική επαφή; Τώρα αυτό επιλύεται κατά περίπτωση ανάλογα με τις δυνατότητες της υποδομής. Κάτι λαμβάνεται από ανοιχτά μητρώα (για παράδειγμα, πληροφορίες σχετικά με νομικά πρόσωπα που ζητούν πιστοποιητικά)· σε περιπτώσεις όπου οι αιτούντες είναι φυσικά πρόσωπα, μπορούν να χρησιμοποιηθούν τραπεζικά γραφεία ή ταχυδρομεία, όπου η ταυτότητά τους επιβεβαιώνεται με έγγραφα ταυτοποίησης, για παράδειγμα, διαβατήριο.

Το πρόβλημα της παραποίησης διαπιστευτηρίων με σκοπό την πλαστοπροσωπία είναι θεμελιώδες. Ας σημειώσουμε ότι δεν υπάρχει πλήρης λύση σε αυτό το πρόβλημα για λόγους πληροφορίας-θεωρητικούς: χωρίς να έχουμε αξιόπιστες πληροφορίες a priori, είναι αδύνατο να επιβεβαιώσουμε ή να αρνηθούμε την αυθεντικότητα ενός συγκεκριμένου θέματος. Κατά κανόνα, για επαλήθευση είναι απαραίτητο να προσκομιστεί ένα σύνολο εγγράφων που αποδεικνύουν την ταυτότητα του αιτούντος. Υπάρχουν πολλές διαφορετικές μέθοδοι επαλήθευσης, αλλά καμία από αυτές δεν παρέχει πλήρη εγγύηση για τη γνησιότητα των εγγράφων. Συνεπώς, η γνησιότητα της ταυτότητας του αιτούντος επίσης δεν μπορεί να διασφαλιστεί.

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

Η αποκέντρωση δεν συνεπάγεται την παρουσία αξιόπιστων οντοτήτων - εάν δημιουργήσετε αποκεντρωμένη υποδομή δημόσιου κλειδιού (Αποκεντρωμένη υποδομή δημόσιου κλειδιού, DPKI), τότε δεν χρειάζονται ούτε CA ούτε CR. Ας εγκαταλείψουμε την έννοια του ψηφιακού πιστοποιητικού και ας χρησιμοποιήσουμε ένα κατανεμημένο μητρώο για την αποθήκευση πληροφοριών σχετικά με τα δημόσια κλειδιά. Στην περίπτωσή μας, ονομάζουμε μητρώο μια γραμμική βάση δεδομένων που αποτελείται από μεμονωμένες εγγραφές (μπλοκ) που συνδέονται χρησιμοποιώντας τεχνολογία blockchain. Αντί για ψηφιακό πιστοποιητικό, θα εισαγάγουμε την έννοια της «ειδοποίησης».

Πώς θα μοιάζει η διαδικασία λήψης, επαλήθευσης και ακύρωσης ειδοποιήσεων στο προτεινόμενο DPKI:

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

2. Οι πληροφορίες σχετικά με το δημόσιο κλειδί, μαζί με τα στοιχεία του κατόχου και άλλα μεταδεδομένα, αποθηκεύονται σε κατανεμημένο μητρώο και όχι σε ψηφιακό πιστοποιητικό, για την έκδοση του οποίου σε κεντρικό PKI είναι υπεύθυνη η ΑΠ.

3. Η επαλήθευση της γνησιότητας της ταυτότητας του αιτούντος πραγματοποιείται εκ των υστέρων από τις κοινές προσπάθειες της κοινότητας χρηστών DPKI και όχι από τον CR.

4. Μόνο ο κάτοχος μιας τέτοιας ειδοποίησης μπορεί να αλλάξει την κατάσταση ενός δημόσιου κλειδιού.

5. Οποιοσδήποτε μπορεί να έχει πρόσβαση στο κατανεμημένο καθολικό και να ελέγξει την τρέχουσα κατάσταση του δημόσιου κλειδιού.

Σημείωση: Η κοινοτική επαλήθευση της ταυτότητας ενός αιτούντος μπορεί να φαίνεται αναξιόπιστη με την πρώτη ματιά. Αλλά πρέπει να θυμόμαστε ότι στις μέρες μας όλοι οι χρήστες ψηφιακών υπηρεσιών αναπόφευκτα αφήνουν ένα ψηφιακό αποτύπωμα και αυτή η διαδικασία θα συνεχίσει να κερδίζει δυναμική. Ανοιχτά ηλεκτρονικά μητρώα νομικών προσώπων, χάρτες, ψηφιοποίηση εικόνων εδάφους, κοινωνικά δίκτυα - όλα αυτά είναι εργαλεία διαθέσιμα στο κοινό. Χρησιμοποιούνται ήδη με επιτυχία κατά τη διάρκεια ερευνών τόσο από δημοσιογράφους όσο και από τις υπηρεσίες επιβολής του νόμου. Για παράδειγμα, αρκεί να θυμηθούμε τις έρευνες της Bellingcat ή της κοινής ερευνητικής ομάδας JIT, που μελετά τις συνθήκες της συντριβής του μαλαισιανού Boeing.

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

Φανταστείτε ότι υπάρχει κάποιος κάτοχος που κατέχει πολλά δημόσια κλειδιά, όπου κάθε κλειδί είναι μια συγκεκριμένη συναλλαγή που είναι αποθηκευμένη στο μητρώο. Ελλείψει ΑΠ, πώς μπορείτε να καταλάβετε ότι όλα τα κλειδιά ανήκουν στον συγκεκριμένο ιδιοκτήτη; Για να λυθεί αυτό το πρόβλημα, δημιουργείται μια μηδενική συναλλαγή, η οποία περιέχει πληροφορίες για τον ιδιοκτήτη και το πορτοφόλι του (από το οποίο χρεώνεται η προμήθεια για την τοποθέτηση της συναλλαγής στο μητρώο). Η μηδενική συναλλαγή είναι ένα είδος «αγκύρωσης» στην οποία θα επισυναφθούν οι ακόλουθες συναλλαγές με δεδομένα σχετικά με τα δημόσια κλειδιά. Κάθε τέτοια συναλλαγή περιέχει μια εξειδικευμένη δομή δεδομένων, ή με άλλα λόγια, μια ειδοποίηση.

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

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

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

Όπως φαίνεται στο σχήμα, δημιουργείται μια σύνοψη δημόσιου κλειδιού πορτοφολιού εφαρμόζοντας διαδοχικά τις συναρτήσεις κατακερματισμού SHA256 και RIPEMD160. Εδώ το RIPEMD160 είναι υπεύθυνο για τη συμπαγή αναπαράσταση δεδομένων, το πλάτος των οποίων δεν υπερβαίνει τα 160 bit. Αυτό είναι σημαντικό επειδή το μητρώο δεν είναι μια φθηνή βάση δεδομένων. Το ίδιο το δημόσιο κλειδί εισάγεται στο πέμπτο πεδίο. Το πρώτο πεδίο περιέχει δεδομένα που δημιουργούν μια σύνδεση με την προηγούμενη συναλλαγή. Για μηδενική συναλλαγή, αυτό το πεδίο δεν περιέχει τίποτα, κάτι που το διακρίνει από τις επόμενες συναλλαγές. Το δεύτερο πεδίο είναι δεδομένα για τον έλεγχο της συνδεσιμότητας των συναλλαγών. Για συντομία, θα ονομάσουμε τα δεδομένα στο πρώτο και στο δεύτερο πεδία «σύνδεσμος» και «έλεγχος», αντίστοιχα. Τα περιεχόμενα αυτών των πεδίων δημιουργούνται με επαναληπτικό κατακερματισμό, όπως αποδεικνύεται με τη σύνδεση της δεύτερης και τρίτης συναλλαγής στο παρακάτω σχήμα.

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

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

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

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

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

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

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

Ας διευκρινίσουμε ξανά τον σκοπό των κλειδιών:

  1. Τα κλειδιά πορτοφολιού χρησιμοποιούνται για τη δημιουργία/επαλήθευση τόσο μιας μηδενικής συναλλαγής όσο και οποιασδήποτε άλλης μη μηδενικής συναλλαγής. Το ιδιωτικό κλειδί ενός πορτοφολιού είναι γνωστό μόνο στον κάτοχο του πορτοφολιού, ο οποίος είναι επίσης κάτοχος πολλών συνηθισμένων δημόσιων κλειδιών.
  2. Ένα συνηθισμένο δημόσιο κλειδί είναι παρόμοιο ως προς το σκοπό με ένα δημόσιο κλειδί για το οποίο εκδίδεται πιστοποιητικό σε ένα κεντρικό PKI.
  3. Το ζεύγος κλειδιών υπηρεσίας ανήκει στο DPKI. Το μυστικό κλειδί εκδίδεται σε καταχωρημένες οντότητες και χρησιμοποιείται κατά τη δημιουργία ψηφιακών υπογραφών για συναλλαγές (εκτός από μηδενικές συναλλαγές). Το Public χρησιμοποιείται για την επαλήθευση της ηλεκτρονικής ψηφιακής υπογραφής μιας συναλλαγής πριν αναρτηθεί στο μητρώο.

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

Σημείωση: Το ζεύγος κλειδιών υπηρεσίας μπορεί να είναι γνωστό σε διαφορετικές οντότητες DPKI. Για παράδειγμα, μπορεί να είναι το ίδιο για όλους. Για αυτόν τον λόγο, κατά τη δημιουργία της υπογραφής κάθε μη μηδενικής συναλλαγής, χρησιμοποιούνται δύο μυστικά κλειδιά, ένα από τα οποία είναι το κλειδί του πορτοφολιού - είναι γνωστό μόνο στον κάτοχο του πορτοφολιού, ο οποίος είναι επίσης κάτοχος πολλών συνηθισμένων δημόσια κλειδιά. Όλα τα κλειδιά έχουν τη δική τους σημασία. Για παράδειγμα, είναι πάντα δυνατό να αποδειχθεί ότι η συναλλαγή καταχωρήθηκε στο μητρώο από εγγεγραμμένο υποκείμενο DPKI, καθώς η υπογραφή δημιουργήθηκε επίσης σε κλειδί μυστικής υπηρεσίας. Και δεν μπορεί να υπάρξει κατάχρηση, όπως επιθέσεις DOS, επειδή ο ιδιοκτήτης πληρώνει για κάθε συναλλαγή.

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

Θυμηθείτε ότι μια συναλλαγή εισάγεται σε ένα pool και αποθηκεύεται εκεί μέχρι να υποβληθεί σε επεξεργασία. Η αποθήκευση σε μια ομάδα σχετίζεται με έναν συγκεκριμένο κίνδυνο - τα δεδομένα συναλλαγών μπορεί να παραποιηθούν. Ο ιδιοκτήτης πιστοποιεί τα στοιχεία της συναλλαγής με ηλεκτρονική ψηφιακή υπογραφή. Το δημόσιο κλειδί για την επαλήθευση αυτής της ψηφιακής υπογραφής υποδεικνύεται ρητά σε ένα από τα πεδία συναλλαγής και στη συνέχεια καταχωρείται στο μητρώο. Οι ιδιαιτερότητες της επεξεργασίας συναλλαγών είναι τέτοιες που ένας εισβολέας μπορεί να αλλάξει τα δεδομένα κατά την κρίση του και στη συνέχεια να τα επαληθεύσει χρησιμοποιώντας το μυστικό κλειδί του και να υποδείξει ένα ζευγοποιημένο δημόσιο κλειδί για την επαλήθευση της ψηφιακής υπογραφής στη συναλλαγή. Εάν η γνησιότητα και η ακεραιότητα διασφαλίζονται αποκλειστικά μέσω της ψηφιακής υπογραφής, τότε μια τέτοια πλαστογραφία θα περάσει απαρατήρητη. Ωστόσο, εάν, εκτός από την ψηφιακή υπογραφή, υπάρχει ένας πρόσθετος μηχανισμός που διασφαλίζει τόσο την αρχειοθέτηση όσο και τη διατήρηση των αποθηκευμένων πληροφοριών, τότε η πλαστογραφία μπορεί να εντοπιστεί. Για να γίνει αυτό, αρκεί να εισαγάγετε το γνήσιο δημόσιο κλειδί του κατόχου στο μητρώο. Ας εξηγήσουμε πώς λειτουργεί αυτό.

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

1. Ο εισβολέας τοποθετεί το δημόσιο κλειδί του στη συναλλαγή ενώ η ψηφιακή υπογραφή του κατόχου παραμένει αμετάβλητη.
2. Ο εισβολέας δημιουργεί μια ψηφιακή υπογραφή στο ιδιωτικό του κλειδί, αλλά αφήνει το δημόσιο κλειδί του κατόχου αμετάβλητο.
3. Ο εισβολέας δημιουργεί μια ψηφιακή υπογραφή στο ιδιωτικό του κλειδί και τοποθετεί ένα ζευγοποιημένο δημόσιο κλειδί στη συναλλαγή.

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

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

Ας συνοψίσουμε. Κατά την επεξεργασία των δεδομένων της πρώτης συναλλαγής του κατόχου, είναι απαραίτητο να επαληθευτεί η αυθεντικότητα του δημόσιου κλειδιού που έχει καταχωριστεί στο μητρώο. Για να το κάνετε αυτό, διαβάστε το κλειδί από το μητρώο και συγκρίνετε το με το αληθινό δημόσιο κλειδί του κατόχου εντός της περιμέτρου ασφαλείας (περιοχή σχετικού άτρωτου). Εάν η αυθεντικότητα του κλειδιού επιβεβαιωθεί και η παραμονή του είναι εγγυημένη κατά την τοποθέτηση, τότε η αυθεντικότητα του κλειδιού από την επόμενη συναλλαγή μπορεί εύκολα να επιβεβαιωθεί/διαψευσθεί συγκρίνοντάς το με το κλειδί από το μητρώο. Με άλλα λόγια, το κλειδί από το μητρώο χρησιμοποιείται ως δείγμα αναφοράς. Όλες οι άλλες συναλλαγές κατόχου διεκπεραιώνονται με παρόμοιο τρόπο.

Η συναλλαγή πιστοποιείται με ηλεκτρονική ψηφιακή υπογραφή - εδώ χρειάζονται μυστικά κλειδιά και όχι ένα, αλλά δύο ταυτόχρονα - ένα κλειδί υπηρεσίας και ένα κλειδί πορτοφολιού. Χάρη στη χρήση δύο μυστικών κλειδιών, διασφαλίζεται το απαραίτητο επίπεδο ασφάλειας - άλλωστε, το μυστικό κλειδί υπηρεσίας μπορεί να είναι γνωστό σε άλλους χρήστες, ενώ το μυστικό κλειδί του πορτοφολιού είναι γνωστό μόνο στον κάτοχο του συνηθισμένου ζεύγους κλειδιών. Ονομάσαμε μια τέτοια υπογραφή δύο κλειδιών «ενοποιημένη» ψηφιακή υπογραφή.

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

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

Μπορεί να προκύψει ένα λογικό ερώτημα: πώς να ελέγξετε εάν μια συναλλαγή ανήκει σε μια συγκεκριμένη αλυσίδα με τη "ρίζα" με τη μορφή μηδενικής συναλλαγής; Για το σκοπό αυτό, η διαδικασία επαλήθευσης συμπληρώνεται με ένα ακόμη στάδιο - τον έλεγχο συνδεσιμότητας. Εδώ θα χρειαστούμε τα δεδομένα από τα δύο πρώτα πεδία, τα οποία μέχρι στιγμής έχουμε αγνοήσει.

Ας φανταστούμε ότι πρέπει να ελέγξουμε αν η συναλλαγή Νο. 3 έρχεται στην πραγματικότητα μετά τη συναλλαγή Νο. 2. Για να γίνει αυτό, χρησιμοποιώντας τη μέθοδο συνδυασμένου κατακερματισμού, υπολογίζεται η τιμή της συνάρτησης κατακερματισμού για τα δεδομένα από το τρίτο, τέταρτο και πέμπτο πεδία της συναλλαγής Νο. 2. Στη συνέχεια εκτελείται η συνένωση δεδομένων από το πρώτο πεδίο της συναλλαγής Νο. 3 και η προηγουμένως ληφθείσα συνδυασμένη τιμή συνάρτησης κατακερματισμού για δεδομένα από το τρίτο, τέταρτο και πέμπτο πεδία της συναλλαγής Νο. 2. Όλα αυτά εκτελούνται επίσης μέσω δύο συναρτήσεων κατακερματισμού SHA256 και RIPEMD160. Εάν η τιμή που λήφθηκε ταιριάζει με τα δεδομένα στο δεύτερο πεδίο της συναλλαγής Νο. 2, τότε ο έλεγχος επικυρώνεται και η σύνδεση επιβεβαιώνεται. Αυτό φαίνεται πιο καθαρά στα παρακάτω σχήματα.

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain
DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

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

DPKI: εξάλειψη των αδυναμιών του κεντρικού PKI χρησιμοποιώντας blockchain

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

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

1. Μητρώο έγκυρων κοινοποιήσεων (RDN).
2. Μητρώο ανακληθέντων ειδοποιήσεων (RON).
3. Μητρώο ανασταλμένων ειδοποιήσεων (RPN).

Οι πληροφορίες σχετικά με τα δημόσια κλειδιά αποθηκεύονται σε RDN/RON/RPN με τη μορφή τιμών κατακερματισμού. Αξίζει επίσης να σημειωθεί ότι αυτά μπορεί να είναι είτε διαφορετικά μητρώα, είτε διαφορετικές αλυσίδες, είτε ακόμη και μία αλυσίδα ως μέρος ενός μόνο μητρώου, όταν καταχωρούνται πληροφορίες σχετικά με την κατάσταση ενός συνηθισμένου δημόσιου κλειδιού (ανάκληση, αναστολή κ. τέταρτο πεδίο της δομής δεδομένων με τη μορφή της αντίστοιχης τιμής κωδικού. Υπάρχουν πολλές διαφορετικές επιλογές για την αρχιτεκτονική υλοποίηση του DPKI και η επιλογή του ενός ή του άλλου εξαρτάται από διάφορους παράγοντες, για παράδειγμα, κριτήρια βελτιστοποίησης όπως το κόστος της μακροπρόθεσμης μνήμης για την αποθήκευση δημόσιων κλειδιών κ.λπ.

Έτσι, το DPKI μπορεί να αποδειχθεί, αν όχι απλούστερο, τότε τουλάχιστον συγκρίσιμο με μια κεντρική λύση όσον αφορά την αρχιτεκτονική πολυπλοκότητα.

Το κύριο ερώτημα παραμένει - Ποιο μητρώο είναι κατάλληλο για την εφαρμογή της τεχνολογίας;

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

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

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

Εάν ακολουθήσουμε μια απλοποιημένη προσέγγιση, τότε λαμβάνει χώρα η ακόλουθη σειρά ενεργειών:

  1. Ο αιτών εγγράφεται στο DPKI και λαμβάνει ψηφιακό πορτοφόλι. Η διεύθυνση πορτοφολιού είναι η τιμή κατακερματισμού του δημόσιου κλειδιού του πορτοφολιού. Το ιδιωτικό κλειδί του πορτοφολιού είναι γνωστό μόνο στον αιτούντα.
  2. Το εγγεγραμμένο υποκείμενο έχει πρόσβαση στο μυστικό κλειδί υπηρεσίας.
  3. Το υποκείμενο δημιουργεί μια μηδενική συναλλαγή και την επαληθεύει με μια ψηφιακή υπογραφή χρησιμοποιώντας το μυστικό κλειδί του πορτοφολιού.
  4. Εάν σχηματιστεί συναλλαγή διαφορετική από το μηδέν, πιστοποιείται με ηλεκτρονική ψηφιακή υπογραφή χρησιμοποιώντας δύο μυστικά κλειδιά: ένα πορτοφόλι και ένα υπηρεσιακό.
  5. Το υποκείμενο υποβάλλει μια συναλλαγή στο pool.
  6. Ο κόμβος δικτύου ENCRY διαβάζει τη συναλλαγή από το pool και ελέγχει την ψηφιακή υπογραφή, καθώς και τη συνδεσιμότητα της συναλλαγής.
  7. Εάν η ψηφιακή υπογραφή είναι έγκυρη και η σύνδεση επιβεβαιωθεί, τότε προετοιμάζει τη συναλλαγή για εγγραφή στο μητρώο.

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

Φυσικά, η αποκέντρωση δεν είναι πανάκεια. Το θεμελιώδες πρόβλημα του ελέγχου ταυτότητας του κύριου χρήστη δεν εξαφανίζεται πουθενά: εάν επί του παρόντος η επαλήθευση του αιτούντος πραγματοποιείται από τον CR, τότε στο DPKI προτείνεται η ανάθεση της επαλήθευσης στα μέλη της κοινότητας και η χρήση οικονομικών κινήτρων για την τόνωση της δραστηριότητας. Η τεχνολογία επαλήθευσης ανοιχτού κώδικα είναι γνωστή. Η αποτελεσματικότητα αυτής της επαλήθευσης έχει επιβεβαιωθεί στην πράξη. Ας θυμηθούμε ξανά μια σειρά από υψηλού προφίλ έρευνες της διαδικτυακής έκδοσης Bellingcat.

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

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

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο