Ψηφιακή υπογραφή και ψηφιακό πιστοποιητικό – Ένας απλός οδηγός

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

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

Τι είναι η Ψηφιακή Υπογραφή; 

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

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

Μια ψηφιακή υπογραφή εξυπηρετεί τρεις σκοπούς: 

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

Και στην πραγματικότητα, η ψηφιακή υπογραφή έχει νομική αξία στις Ηνωμένες Πολιτείες, την Ευρωπαϊκή Ένωση, την Ελβετία, τη Νότια Αφρική, την Αλγερία, την Τουρκία, την Ινδία, τη Βραζιλία, την Ινδονησία, το Μεξικό, τη Σαουδική Αραβία, την Ουρουγουάη και τη Χιλή. 

Πώς να δημιουργήσετε μια ψηφιακή υπογραφή; 

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

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

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

ΥΠΟΣΗΜΕΙΩΣΗ. Κατακερματισμός είναι η μετατροπή ενός συγκεκριμένου περιεχομένου οποιουδήποτε μήκους σε μια μικρότερη τιμή σταθερού μήκους. 

Ο πιο προτιμώμενος αλγόριθμος κατακερματισμού αυτές τις μέρες είναι ο SHA256 (Secure Hashing Algorithm). Λάβετε υπόψη ότι ο κατακερματισμός είναι μια μονόδρομη διαδικασία και μια μικρή αλλαγή στην είσοδο αλλάζει ολόκληρη την έξοδο.  

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

Επισυνάπτετε την ψηφιακή υπογραφή στο έγγραφο απλού κειμένου και το στέλνετε. 

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

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

Έτσι μπορείτε να δημιουργήσετε τον κατακερματισμό ενός εγγράφου στα Windows 7/8/10: 

  1. Πρόσβαση στη "Γραμμή εντολών"  
  2. Πληκτρολογήστε "certutil - hashfile" 
  3. Ρίξτε το έγγραφο στη "Γραμμή εντολών". 
  4. Προσθέστε "SHA256" στο τέλος της σειράς. 

Η τελική σας γραμμή θα πρέπει να μοιάζει κάπως έτσι: 

certutil -hashfile "C:\User\Computer\Desktop\File.docx" SHA256 

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

Αλλά πού θα βρείτε ένα ιδιωτικό κλειδί και ένα δημόσιο κλειδί; 

Είναι πολύ απλό επίσης.  

Μπορείτε να τα δημιουργήσετε μέσω λογισμικού, μιας διαδικτυακής πλατφόρμας ή μέσω μιας Υποδομής Δημοσίου Κλειδιού (PKI) που είναι εγγεγραμμένη σε μια Αρχή Πιστοποιητικών. 

ΥΠΟΣΗΜΕΙΩΣΗ. Το PKI είναι μια αποδεκτή μορφή για τη διαχείριση κρυπτογράφησης δημόσιου κλειδιού που παρέχει τα υψηλότερα επίπεδα ασφάλειας και καθολικής αποδοχής.  

Στη συνέχεια, πώς μπορείτε να προσθέσετε μια ψηφιακή υπογραφή με ιδιωτικό κλειδί σε ένα έγγραφο; 

Για αυτό, πρέπει για άλλη μια φορά να χρησιμοποιήσετε αποκλειστικό λογισμικό όπως Sign Server, Safe pdf ή DocuSign. 

Πώς βοηθά; 

Ας πάρουμε ένα φανταστικό σενάριο για το πώς μια ψηφιακή υπογραφή μπορεί να σας προστατεύσει.  

Υπογράφετε ψηφιακά μια σύμβαση με έναν πάροχο στο εξωτερικό για την εξωτερική ανάθεση υπηρεσιών.  

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

Και εδώ έρχεται το πρόβλημα.  

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

Πώς αποδεικνύετε ότι το έγγραφο παραποιήθηκε;  

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

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

Ψηφιακή υπογραφή στο Blockchain 

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

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

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

Τι είναι το Ψηφιακό Πιστοποιητικό; 

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

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

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

Ωστόσο, αυτό το ζήτημα επιλύεται με ένα ψηφιακό πιστοποιητικό. Το ψηφιακό πιστοποιητικό είναι ένα ηλεκτρονικό διαπιστευτήριο που εκδίδεται από μια Αρχή Πιστοποίησης.  

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

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

Πώς να δημιουργήσετε ένα ψηφιακό πιστοποιητικό; 

Υπάρχουν κυρίως δύο τρόποι δημιουργίας ψηφιακού πιστοποιητικού: 

  1. Δημιουργείτε ένα αυτο-υπογεγραμμένο πιστοποιητικό. 
  2. Το ζητάτε από μια Αρχή Πιστοποίησης (CA). 

1. Αυτουπογεγραμμένο πιστοποιητικό 

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

Απλώς ανοίξτε τη γραμμή εντολών και πληκτρολογήστε "openssl". 

Στη συνέχεια, πληκτρολογήστε "OpenSSL req -x509 -days 365 -newkey rsa:2048 -keyout my-key.pem -out my-cert.pem". 

Και ενώ σε μερικούς από εσάς, αυτό μπορεί να μοιάζει με ασυναρτησίες, ας δούμε τι σημαίνει όλο αυτό: 

  • «Req» σημαίνει ότι πρόκειται για αίτημα πιστοποιητικού. 
  • Το 'x509' δηλώνει τον τύπο του πιστοποιητικού. 
  • Το '365' υποδεικνύει τον αριθμό των ημερών που θα ισχύει. 
  • «νέο κλειδί» σημαίνει ότι θα είναι ένα νέο πιστοποιητικό.
  • Το "Keyout" θα είναι το βασικό αρχείο.

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

Μπορείτε να βρείτε έναν οδηγό βήμα προς βήμα εδώ

Ωστόσο, ένα αυτο-υπογεγραμμένο ψηφιακό πιστοποιητικό παρέχει μόνο κρυπτογράφηση αλλά όχι εμπιστοσύνη. Ένα τέτοιο πιστοποιητικό είναι ένας εύκολος στόχος για τους χάκερ. Μπορούν να το αναπαραγάγουν και να προσποιηθούν ότι είναι ο «εκδότης» και να ξεκινήσουν το phishing για προσωπικές πληροφορίες. 

Στην πραγματικότητα, οι ιστότοποι που χρησιμοποιούν αυτοϋπογεγραμμένα πιστοποιητικά SSL επισημαίνονται ως «μη αξιόπιστοι» από τα προγράμματα περιήγησης στο Διαδίκτυο. 

2. Πιστοποιητικό έκδοσης ΑΠ 

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

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

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

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

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

Βασικές τακτικές 

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

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

Πηγή: https://coindoo.com/digital-signature/