Γιατί και πώς να χρησιμοποιήσετε μια ψηφιακή υπογραφή PGP

Πριν από λίγο συζητήσαμε κρυπτογραφικά hashes (όπως MD5 και SH1 checksums) και πώς βοηθούν να διασφαλιστεί ότι ένα αρχείο που κατεβάζετε είναι το ίδιο αρχείο που ο δημιουργός του σκόπευε να κάνετε λήψη, δημιουργώντας ένα μοναδικό «δακτυλικό αποτύπωμα» του αρχείου που μπορεί να είναι ελέγχεται από το πρωτότυπο.

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

Ακόμη και όταν κάνετε λήψη λογισμικού απευθείας από έναν ιστότοπο προμηθευτή ή προγραμματιστών, μπορεί να πέσετε θύμα επίθεσης Om-in-the-Middle (MitM) ή ο ίδιος ο ιστότοπος ενδέχεται να διακυβευτεί με διάφορους τρόπους.

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

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

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

Ψηφιακές υπογραφές PGP

Τα διαφορετικά κρυπτογραφικά συστήματα χρησιμοποιούν διαφορετικούς μηχανισμούς για τη δημιουργία και επικύρωση ψηφιακών υπογραφών. Τα Windows, για παράδειγμα, χρησιμοποιούν την τεχνολογία υποδομής δημόσιου κλειδιού της Microsoft (PKI) για την αυτόματη επικύρωση των υπογραφών κατά την πρώτη εγκατάσταση του λογισμικού.

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

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

Πώς να επαληθεύσετε μια ψηφιακή υπογραφή χρησιμοποιώντας το Kleopatra GUI

Για να επαληθεύσετε την ψηφιακή υπογραφή PGP ενός αρχείου, πρέπει να χρησιμοποιήσετε έναν πελάτη PGP (ή ακριβέστερα τον GnuPG - τον κλώνο ανοιχτού κώδικα). Οι εκδόσεις του GnuPG είναι διαθέσιμες για τα Windows (Gpg4win), το Mac OSX και το Linux (συνήθως προεγκατεστημένα).

Σε αυτό το σεμινάριο, θα επαληθεύσουμε την ψηφιακή υπογραφή του Pidgin + OTR χρησιμοποιώντας το Gpg4win, αλλά η διαδικασία είναι πολύ παρόμοια για άλλες εκδόσεις του GnuPG.

Έχουμε ένα άρθρο δύο μερών για τη χρήση του Gpg4win και σας συνιστούμε να διαβάσετε τουλάχιστον το Μέρος 1 αυτού για να εξοικειωθείτε με βασικές έννοιες που θα χρησιμοποιηθούν παρακάτω.

Η λήψη του Gpg4win είναι η ίδια ψηφιακά υπογεγραμμένη με ένα κλειδί που έχει πιστοποιηθεί από μια αναγνωρισμένη αρχή έκδοσης πιστοποιητικών (CA) και μπορεί να ελεγχθεί ανεξάρτητα για επαλήθευση χρησιμοποιώντας ένα έμπιστο παλαιότερο αντίγραφο του GnuPG (είναι επίσης διαθέσιμο ένα hash SHA1). Δεν πρέπει ποτέ να εμπιστεύεστε ένα αντίγραφο του Gpg4win που δεν έχετε επαληθεύσει.

Μόλις εγκατασταθεί το GnuPG, χρειαζόμαστε τρία πράγματα για να επαληθεύσουμε μια ψηφιακή υπογραφή:

  • Το αρχείο που θέλουμε να επαληθεύσουμε (duh!) Π.χ. το πρόγραμμα εγκατάστασης pidgin-otr-4.0.1.exe
  • Το αρχείο υπογραφής PGP / GPG (.asc) π.χ. pidgin-otr-4.0.1.exe.asc
  • Το δημόσιο κλειδί / πιστοποιητικό PGP που χρησιμοποιήθηκε για τη δημιουργία αυτής της υπογραφής, π.χ. gpgkey.asc

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

Κλεοπάτρα

Η Κλεοπάτρα είναι ένα βασικό πρόγραμμα διαχείρισης που συνοδεύει το Gpg4win.

1. Θα χρειαστείτε ένα προσωπικό ιδιωτικό κλειδί για την πιστοποίηση του πιστοποιητικού PGP. Αν έχετε δημιουργήσει ένα (για παράδειγμα, χρησιμοποιώντας GPA), τότε μπορείτε να το εισαγάγετε (Αρχείο -> Πιστοποιητικά εισαγωγής ...) ή μπορείτε να δημιουργήσετε ένα νέο ζεύγος κλειδιών (Αρχείο -> Νέο πιστοποιητικό ...).

Οι μάγοι θα σας καθοδηγήσουν στην υπόλοιπη διαδικασία

2. Εισαγάγετε το πιστοποιητικό δημόσιου κλειδιού / PGP στην Κλεοπάτρα - χρησιμοποιώντας είτε τα 'Πιστοποιητικά εισαγωγής' είτε κάνοντας δεξί κλικ στο αρχείο και επιλέγοντας 'Εισαγωγή κλειδιών'.

3. Πιστοποιήστε το πιστοποιητικό PGP χρησιμοποιώντας το ιδιωτικό σας κλειδί - αυτό λέει στο GnuPG ότι εμπιστεύεστε το άτομο που υπέγραψε το πιστοποιητικό.

α) Στην Κλεοπάτρα κάντε δεξί κλικ στο πλήκτρο και επιλέξτε 'Πιστοποίηση πιστοποιητικού'.

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

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

δ) Πληκτρολογήστε τη φράση πρόσβασης του ιδιωτικού σας κλειδιού για να ολοκληρώσετε την επαλήθευση του πιστοποιητικού.

4. Τώρα που έχετε πιστοποιήσει το Πιστοποιητικό που χρησιμοποιήθηκε για την υπογραφή του αρχείου που έχετε κατεβάσει (whew!), Μπορείτε να το χρησιμοποιήσετε για να επαληθεύσετε την υπογραφή.

α) Στην Κλεοπάτρα πηγαίνετε στο Αρχείο -> Αποκρυπτογράφηση / επαλήθευση αρχείων και περιήγηση στο αρχείο υπογραφής ή δεξί κλικ σε αυτό και μετάβαση στις επιλογές MoreGpgEX -> Επαληθεύω.

β) Βεβαιωθείτε ότι το αρχείο εισόδου είναι το αρχείο υπογραφής και ότι το πεδίο "Υπογεγραμμένα δεδομένα" περιέχει το πρόγραμμα ή το αρχείο που θέλετε να επαληθεύσετε και στη συνέχεια πατήστε "Αποκρυπτογράφηση / Επαλήθευση".

γ) Όλα καλά, η Κλεοπάτρα θα δηλώσει την υπογραφή έγκυρη.

Πώς μπορώ να εμπιστευτώ Πιστοποιητικό?

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

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

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

Το Pidgin + OTR είναι κατά κάποιο τρόπο κακό παράδειγμα του τρόπου με τον οποίο πρέπει να λειτουργήσει η ψηφιακή υπογραφή, επειδή η ιστοσελίδα OTR δεν συνοδεύεται σχεδόν από οδηγίες σχετικά με τη χρήση των δημοσιευμένων κλειδιών και το Πιστοποιητικό PGP δεν ήταν μόνο πολύ δύσκολο να εντοπιστεί, από το https://otr.cypherpunks.ca/gpgkey.asc δεν υπάρχει εύκολος τρόπος για να επαληθεύσετε την αυθεντικότητά του (το γεγονός ότι χρησιμοποιεί ένα κλειδί RSA 1024-bit είναι επίσης κακή εμφάνιση σε αυτή την ηλικία, όταν το NSA μπορεί πιθανώς να σπάσει τέτοια αδύναμη κρυπτογράφηση ).

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

συμπέρασμα

Όπως μπορείτε να διαπιστώσετε, η επαλήθευση μιας ψηφιακής υπογραφής είναι πραγματικά πόνος, οπότε δεν προκαλεί έκπληξη το γεγονός ότι ακόμη και εκείνοι που καταλαβαίνουν τη βαρύτατη διαδικασία βαριάς ευκρίνειας σπάνια ενοχλούν. Το ζήτημα καθίσταται ακόμα χειρότερο από το γεγονός ότι πολλοί δίσκοι δεν μπορούν να εξηγήσουν πώς να επαληθεύσουν τα αρχεία τους και / ή να εκδώσουν αυστηρά πιστοποιητικά PGP που είναι πολύ δύσκολο να επαληθευτούν είναι γνήσια (OTR-Team, σας κοιτάμε!)

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

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

"Διάγραμμα ψηφιακής υπογραφής" από την Acdx - Ίδια δουλειά. Άδεια χρήσης CC BY-SA 3.0 μέσω του Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Digital_Signature_diagram.svg#mediaviewer/File:Digital_Signature_diagram.svg

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me