Οι μέσοι χρήστες υπολογιστών θα συγχωρούνταν που δεν είχαν ιδέα τι είναι το PGP. Συμβαίνουν τόσα πολλά κάτω από την επιφάνεια της σύγχρονης υπολογιστικής εμπειρίας που ακόμη και κρίσιμα σημαντικά εργαλεία ασφαλείας όπως το PGP είναι κρυμμένα.
Σίγουρα, υπάρχουν εξειδικευμένοι κύκλοι που κάνουν τακτικά ρητή χρήση του PGP. Οι επιμελείς χρήστες Linux θα είχαν τουλάχιστον μια παροδική εξοικείωση με το PGP, καθώς το γεγονός ότι οι κατασκευαστές δεν εγκατέστησαν το λειτουργικό μας σύστημα για εμάς σημαίνει ότι πρέπει να επαληθεύσουμε μόνοι μας την ακεραιότητά του.
Διαφορετικά, εάν η εργασία σας δεν αγγίζει την ασφάλεια των πληροφοριών, το PGP θα ήταν κατανοητό ένα μυστήριο για εσάς. Αλλά όπως είπα, δεν είναι λιγότερο σημαντικό για αυτήν την πραγματικότητα. Στην πραγματικότητα, το PGP έπαιξε σημαντικό ρόλο στο γιατί έχουμε ασφαλείς επικοινωνίες στο Διαδίκτυο. Αυτό στην πραγματικότητα δεν συμβαίνει επειδή χρησιμοποιείται ευρέως, αν και σίγουρα χρησιμοποιείται σε βοηθητικά προγράμματα εγκατάστασης λογισμικού σε όλο τον κόσμο. Αντίθετα, η σημασία του πηγάζει από την προκλητική του πρόκληση σε μια κυβέρνηση με υπερβολικό ζήλο που προσπάθησε να θέσει σε κίνδυνο την κρυπτογράφηση πολύ πριν οι περισσότεροι Αμερικανοί χρησιμοποιήσουν τακτικά το Διαδίκτυο.
Ο στόχος μου στη θεραπεία της PGP εδώ είναι διπλός. Το πρώτο είναι να ρίξουμε λίγο φως σε αυτό για τους αμύητους. Το δεύτερο, και πιο σημαντικό, είναι να διδάξετε στους τολμηρούς ανάμεσά σας πώς να χειρίζονται αυτό το ισχυρό εργαλείο. Ας ελπίσουμε ότι βρήκατε τον δρόμο σας εδώ αφού διαβάσατε τον οδηγό ασφαλείας μου. Εάν όχι, ελέγξτε την τελευταία δόση και θα δείτε ότι το PGP μπορεί να είναι χρήσιμο σε ορισμένα σενάρια απειλών υψηλού πονταρίσματος.
Πριν προχωρήσουμε, να έχετε κατά νου ότι, όπως με κάθε εργαλείο, η χρησιμότητα του PGP ακολουθεί το εφέ δικτύου. Η πρακτικότητά του είναι εξαιρετικά περιορισμένη λόγω των περιορισμένων κύκλων ανάπτυξης λογισμικού υιοθέτησης. Εάν επιδιώκετε να εφαρμόσετε το PGP στη διαπροσωπική επικοινωνία, αυτοί με τους οποίους επικοινωνείτε πρέπει να κάνουν το ίδιο.
Κάθε ήρωας έχει μια ιστορία προέλευσης
Οι Crypto Wars ήταν μια σκοτεινή εποχή…και εξακολουθούν να είναι, ανάλογα με την οπτική σας. Όπως συμβαίνει με τις περισσότερες κυβερνητικές προσπάθειες να αλλάξουν ριζικά τις τεχνολογικές εφαρμογές, ο πρώτος πόλεμος κρυπτονομισμάτων ήρθε καθώς ο ηθικός πανικός κατέκλυσε την Ουάσιγκτον. Οι εκλεγμένοι αξιωματούχοι τρομοκρατήθηκαν ότι το Διαδίκτυο θα ήταν ένα άνομο βασίλειο όπου οι δαίμονες θήραζαν τους αθώους. Για να το διορθώσουν αυτό, αναζήτησαν απεγνωσμένα έναν τρόπο να εξασφαλίσουν ότι οι αρχές επιβολής του νόμου θα μπορούσαν να παρακολουθήσουν τη δραστηριότητα των καταχρηστικών χρηστών του Διαδικτύου. Η κρυπτογράφηση το έκανε αδύνατο.
Αυτή η τάση είναι κατανοητή, επειδή το Διαδίκτυο ήταν τόσο νέο και προαισθανόμενο για τους ψηφοφόρους τους. Ούτε πρέπει να λησμονείται ότι οι άνθρωποι όντως πληγώθηκαν από αλληλεπιδράσεις που έλαβαν χώρα εν όλω ή εν μέρει στο Διαδίκτυο.
Η απάντησή τους ήταν να προσπαθήσουν να αποδυναμώσουν την κρυπτογράφηση, έτσι ώστε οι αρχές επιβολής του νόμου να μπορούν να βεβαιωθούν για τη συμμόρφωση όταν εξέδωσε ένα ένταλμα. Η κρυπτογράφηση, εξ ορισμού, είναι αποτελεσματική μόνο εάν τα περιεχόμενα ενός μηνύματος δεν μπορούν να αποκρυπτογραφηθούν σε όλους εκτός από τον προοριζόμενο αποστολέα και παραλήπτη. Η πρόταση, όπως και αν ήταν καλοπροαίρετη, αψηφούσε πλήρως αυτήν την αρχή.
Τότε ήταν που ο Phil Zimmerman πρόσφερε στον κόσμο PGP. Έγραψε το PGP, το οποίο σημαίνει “Pretty Good Privacy”, πριν από τους Crypto Wars, το 1991. Αλλά όταν ξέσπασαν οι εχθροπραξίες, υποστηρικτές της άθραυστης κρυπτογράφησης συγκεντρώθηκαν κάτω από το πανό του. Στα μάτια του Ζίμερμαν, αν η κυβέρνηση ήταν αποφασισμένη να συμβιβάσει όλους τους κρυπτογράφους που κρατούσε πάνω τους, θα έφτιαχνε τους δικούς του και θα αρνιόταν να παίξει μπάλα.
Η κυβέρνηση απάντησε γρήγορα, ανοίγοντας μια ποινική έρευνα εναντίον του το 1993 για παραβίαση ενός κανονισμού που βοήθησε στην προώθηση της εκστρατείας τους για την αποδυνάμωση της κρυπτογράφησης: περιορισμούς εξαγωγών. Σύμφωνα με αυτούς τους περιορισμούς, η κυβέρνηση των ΗΠΑ κατέστησε παράνομη την εξαγωγή λογισμικού κρυπτογράφησης σε άλλες χώρες που ήταν τόσο ισχυρό όσο το λογισμικό κρυπτογράφησης των ΗΠΑ χωρίς άδεια εμπορίας όπλων. Ο Phil Zimmerman δεν είχε ένα από αυτά.
Τότε ήταν που ο Zimmerman έγινε δημιουργικός: δημοσίευσε το πρόγραμμά του ως βιβλίο, το οποίο οποιοσδήποτε, οπουδήποτε στον κόσμο, ήταν ελεύθερος να αγοράσει. Εάν αυτοί οι αγοραστές βιβλίων το επέλεγαν, θα μπορούσαν να μεταγράψουν το περιεχόμενό του σε έναν επεξεργαστή κώδικα και να το αποθηκεύσουν ως αρχείο. Στην πραγματικότητα, αυτό ακριβώς έκαναν κάποιοι. Όταν η κυβέρνηση είπε στον Zimmerman να κόψει την αστεία δουλειά, έδειξε τα δικαιώματά του στην Πρώτη Τροποποίηση και τις δικαστικές αποφάσεις που αποδεικνύουν ότι ο κώδικας υπολογιστή είναι ομιλία.
Μεταξύ PGP και άλλων πιέσεων, η κυβέρνηση τελικά άφησε την κρυπτογράφηση όλων μόνη της. Ευτυχώς, η κυβέρνηση ως επί το πλείστον απέφυγε να επιχειρήσει να νομοθετήσει αραιώσεις της κρυπτογράφησης, τουλάχιστον μέχρι πρόσφατα.
Μακριά από ένα πρώιμο λείψανο του Διαδικτύου, το PGP (θεωρητικά) παραμένει βιώσιμο σήμερα. Παρά τις προόδους στον υπερυπολογισμό και την κρυπτανάλυση, ο θεμελιώδης κρυπτογράφηση που χρησιμοποιεί το PGP από προεπιλογή παραμένει υγιής. Κάθε φορά που κατασκευάζεται ένας υπερυπολογιστής που μπορεί να σπάσει ένα κλειδί, οι χρήστες χρειάζονται μόνο μεγαλύτερα κλειδιά.
Πώς λειτουργεί λοιπόν το PGP;
Όπως συμβαίνει με τις περισσότερες κρυπτογράφηση, οι τεχνικές λεπτομέρειες είναι δύσκολο να τυλίξουν το κεφάλι σας γύρω, αλλά τα βασικά είναι αρκετά απλά. Το PGP είναι ένα πρόγραμμα κρυπτογράφησης που χρησιμοποιεί κρυπτογράφηση RSA ή DSA. Είτε έτσι είτε αλλιώς, το PGP δημιουργεί αυτά που ονομάζονται «ασύμμετρα» κλειδιά — δηλαδή ένα ζευγάρι κλειδιά.
Το «κύριο» κλειδί είναι το ιδιωτικό κλειδί. Το ιδιωτικό κλειδί (ή, όπως το αποκαλούν ορισμένες υλοποιήσεις, το «μυστικό κλειδί»), όπως υποδηλώνει το όνομα, παραμένει ιδιωτικό. Μετά τη δημιουργία ενός ζεύγους κλειδιών, ένας χρήστης θα πρέπει να προστατεύει το ιδιωτικό του κλειδί όπως το βαθύτερο, πιο σκοτεινό μυστικό του.
Το άλλο κλειδί στο ζεύγος είναι το δημόσιο κλειδί. Σε αντίθεση με το ιδιωτικό κλειδί, από τη σχεδίασή του, αυτό κυκλοφορεί. Ο χρήστης παραδίδει αυτό το κλειδί σε όποιον θέλει να του στείλει πράγματα με ασφάλεια. Δεν υπάρχει πραγματικός κίνδυνος ασφάλειας να αφήσετε άλλους να το έχουν.
Κάθε κλειδί σε ένα ζεύγος κλειδιών μπορεί να αντιστρέψει την κρυπτογραφική λειτουργία που εκτελείται χρησιμοποιώντας το άλλο κλειδί. Όταν ένα κλειδί εφαρμόζεται σε απλό κείμενο (το κανονικό, αναγνώσιμο περιεχόμενο του αρχείου), μετατρέπεται σε κρυπτογραφημένο κείμενο (ουσιαστικά ασυναρτησία). Η εφαρμογή του συμπληρώματος του κλειδιού που δημιούργησε το κρυπτογραφημένο κείμενο θα επαναφέρει το απλό κείμενο. Έτσι, στην πράξη, εάν ένας χρήστης επικοινωνεί με το PGP, θα έχει ένα ιδιωτικό κλειδί και πολλά δημόσια κλειδιά: το δικό του ιδιωτικό κλειδί, το δικό του δημόσιο κλειδί και ένα δημόσιο κλειδί για κάθε άτομο με το οποίο επικοινωνεί.
Επειδή δεν σχετίζεται με κανέναν πελάτη ανταλλαγής μηνυμάτων, μπορείτε να κάνετε πολλά ωραία πράγματα με το PGP. Αρχικά, μπορείτε να κρυπτογραφήσετε οποιοδήποτε «ακατέργαστο» απλό κείμενο. Δεδομένου ότι ο υπολογιστής σας αντιπροσωπεύει τα πάντα ως bit και το μόνο που κάνει το PGP είναι να τα ανακατεύει και να τα αποκωδικοποιεί, το PGP μπορεί να κρυπτογραφεί περιεχόμενο email ή συνομιλίας, αρχεία ήχου και βίντεο, ακόμη και μηνύματα που δημοσιεύονται στον Ιστό.
Κανονικά, κρυπτογραφείτε απλό κείμενο με ένα δημόσιο κλειδί, ώστε ο κάτοχος του ιδιωτικού κλειδιού να μπορεί να το αποκρυπτογραφήσει, αλλά υπάρχει ένα τέχνασμα που μπορείτε να κάνετε εάν αντιστρέψετε τη διαδικασία. Εάν «κρυπτογραφείτε» χρησιμοποιώντας το ιδιωτικό σας κλειδί, έτσι ώστε τα άτομα με το αντίστοιχο δημόσιο κλειδί να το «αποκρυπτογραφούν», μπορείτε να δημιουργήσετε αυτό που είναι γνωστό ως κρυπτογραφική υπογραφή. Αυτές οι υπογραφές σας επιτρέπουν να αποδείξετε ότι ό,τι υπογράψατε ήταν αναμφισβήτητα συντάκτη σας.
Αυτός είναι στην πραγματικότητα ο τρόπος με τον οποίο το PGP χρησιμοποιείται για τον έλεγχο του λογισμικού. Οι προγραμματιστές υπογράφουν το λογισμικό τους με το ιδιωτικό τους κλειδί και στη συνέχεια δίνουν το δημόσιο κλειδί τους σε όποιον θέλει να ελέγξει την αυθεντικότητα του λογισμικού. Εάν κάποιος παραποιήσει το κλειδί ή την υπογραφή (αλλά όχι και τα δύο), η παρεξήγηση θα εντοπιστεί. Η επίθεση θα μπορούσε να λειτουργήσει εάν η υπογραφή και το δημόσιο κλειδί τροποποιούνταν με τον σωστό τρόπο, αλλά αυτό είναι αρκετά δύσκολο από υλικοτεχνική άποψη που είναι απίθανο.
Φορώντας τη μάσκα για τον εαυτό σας
Σε αυτό το σημείο, πιθανότατα είστε έτοιμοι να δοκιμάσετε αυτό το κακό αγόρι, οπότε ας πάμε σε αυτό.
Για όλα τα παραδείγματα που θα ακολουθήσουν, θα χρησιμοποιήσω ένα εργαλείο που ονομάζεται GPG (Gnu Privacy Guard), μια εφαρμογή δωρεάν και ανοιχτού κώδικα γραμμής εντολών του PGP. Το σκεπτικό γι’ αυτό είναι ότι εφόσον η ασφάλεια είναι το όλο θέμα του PGP, ένα πιο απλό, ανοιχτό και ώριμο εργαλείο λειτουργεί καλύτερα.
Αυτός ο οδηγός προϋποθέτει επίσης ότι χρησιμοποιείτε κάποιο είδος υπολογιστή με γεύση Unix, δηλαδή Linux, BSD ή macOS. Το GPG υποτίθεται ότι λειτουργεί με τον ίδιο τρόπο στα Windows, αλλά αφού δεν το δοκιμάσω, δεν θα ορκιστώ ότι αυτό είναι αλήθεια.
Ως τελευταία προειδοποίηση, όλες αυτές οι εντολές βασίζονται στη δοκιμή μου με το GPG 2.2.19, ως συσκευασμένο Linux Mint 20. Θα προσπαθήσω να σημειώσω πού μπορεί να αντιμετωπίσετε αποκλίνουσα συμπεριφορά, αλλά ανεξάρτητα από αυτό, κρατήστε το στο πίσω μέρος του μυαλού σας.
Θα ξεκινήσετε κάνοντας ένα ζεύγος κλειδιών, το οποίο περιλαμβάνει μια απλή εντολή μιας γραμμής:
gpg –gen-key
Στην έκδοση GPG που δοκίμασα, αυτή είναι η επιλογή δημιουργίας βελτιωμένου κλειδιού, σε αντίθεση με την προσαρμόσιμη επιλογή «–full-gen-key». Εξερευνήστε οπωσδήποτε το τελευταίο αν είστε ο περιπετειώδης τύπος, αλλά δεν θα ασχοληθώ εδώ.
Πριν εκτελέσετε την εντολή, θα χρειαστεί να έχετε υπολογίσει μερικές λεπτομέρειες για τις προτροπές οθόνης που προκύπτουν κατά την εκτέλεσή της.
Αρχικά, βεβαιωθείτε ότι έχετε μια διεύθυνση email για να συσχετίσετε με το κλειδί σας. Δεύτερον, επιλέξτε το όνομα που θέλετε να εισαγάγετε. Εισαγάγετε το πραγματικό σας όνομα μόνο εάν είστε βέβαιοι ότι θέλετε το δημόσιο κλειδί σας να σας αναγνωρίζει. Τρίτον, επιλέξτε έναν κωδικό πρόσβασης για το κλειδί σας. Η σημασία αυτού του βήματος δεν χάνεται από εσάς, είμαι σίγουρος.
Το επόμενο πράγμα που πρέπει να κάνουμε είναι να δημιουργήσουμε ένα πιστοποιητικό ανάκλησης. Αυτό γίνεται με την ακόλουθη εντολή:
gpg –gen-revoke –armor key_name > privkey_rev.asc
Το «–gen-revoke» είναι αυτονόητο, αλλά ίσως αναρωτιέστε τι κάνει η επιλογή «–armor». Αυτό εξάγει το κλειδί με bits που αντιπροσωπεύονται ως χαρακτήρες ASCII αντί για την ακατέργαστη μορφή που μοιάζει σαν το τερματικό σας να ψάλλει έναν πρεσβύτερο που καλεί μαγικό.
Τα πιστοποιητικά ανάκλησης επιτρέπουν στους χρήστες να γνωρίζουν ότι το ιδιωτικό σας κλειδί έχει παραβιαστεί και να μην το εμπιστεύονται πλέον. Θα τεθούν σε ισχύ μόνο όταν τα δημοσιεύσετε, αλλά είναι καλή ιδέα να τα φτιάξετε πριν τα χρειαστείτε.
Μόλις γίνει αυτό, δημιουργήστε αμέσως αντίγραφα ασφαλείας του ζεύγους κλειδιών και του πιστοποιητικού ανάκλησης σε ένα κρυπτογραφημένο εξωτερικό μέσο αποθήκευσης. Τίποτα δεν σας εμποδίζει να έχετε διπλότυπα αρχεία του ίδιου κλειδιού ή πιστοποιητικού για επιπλέον ασφάλεια, αλλά απλώς βεβαιωθείτε ότι μπορείτε να λάβετε υπόψη όλα τα αντίγραφα αυτών των αρχείων.
Για να εκτελέσετε αυτό το αντίγραφο ασφαλείας, θα πρέπει να εξαγάγετε τα κλειδιά σας ως αρχεία. Από προεπιλογή, είναι μόνο byte σε μια βάση δεδομένων κλειδιού με δυνατότητα ανάλυσης μόνο με GPG.
Εξάγετε τα κλειδιά σας εκτελώντας τις ακόλουθες εντολές:
gpg –export –armor key_name > pubkey.ascgpg –export-secret-keys –armor key_name > privkey.asc
Αντιγράψτε το ιδιωτικό κλειδί, το δημόσιο κλειδί και το πιστοποιητικό ανάκλησης στον κρυπτογραφημένο χώρο αποθήκευσης.
Τώρα το μόνο που χρειάζεστε είναι δημόσια κλειδιά για τα άτομα με τα οποία θέλετε να μιλήσετε και είστε στην επιχείρηση. Υπάρχουν ουσιαστικά δύο τρόποι για να τα αποκτήσετε
Το πρώτο είναι να εισάγετε δημόσια κλειδιά από ένα αρχείο που μεταφέρεται απευθείας στον υπολογιστή σας τοπικά. Στις περισσότερες περιπτώσεις, αυτό σημαίνει ότι ο φίλος σας σας παραδίδει μια μονάδα flash ώστε να μπορείτε να αντιγράψετε το δημόσιο κλειδί απευθείας στον υπολογιστή σας. Αυτή η προσέγγιση έχει ουσιαστικά οφέλη.
Το μεγαλύτερο πλεονέκτημα είναι το υψηλό επίπεδο ασφάλειας: επειδή δεν στέλνετε ένα κλειδί μέσω Διαδικτύου, υπάρχει σημαντικά μειωμένη πιθανότητα να υπονομευτεί το κλειδί. Ο φίλος σας είναι επίσης έτοιμος να επιβεβαιώσει μαζί σας ότι το κλειδί είναι νόμιμο, καθώς μπορεί να κοιτάξει την οθόνη σας και να πει “ναι, αυτό είναι”.
Τα βήματα για να γίνει αυτό είναι αρκετά απλά:
1. Ελέγξτε την ταυτότητα του κατόχου κλειδιού που έχει εκδοθεί από την κυβέρνηση. Σοβαρά. Αυτή είναι μια διαχρονική παράδοση cypherpunk και ενισχύει την ιδέα ότι αυτά τα κομμάτια επικυρώνουν την ταυτότητα κάποιου τόσο έγκυρα όσο ένα πραγματικό αναγνωριστικό, γι’ αυτό σας ενθαρρύνω να λάβετε μέρος σε αυτό το ιερό τελετουργικό.
2. Αποκτήστε το αρχείο από το μέσο αποθήκευσης στον υπολογιστή σας. Η συσκευή, το λειτουργικό σύστημα και το μέσο αποθήκευσης θα υπαγορεύσουν πώς θα γίνει αυτό.
3. Στο τερματικό σας, εισαγάγετε το δημόσιο κλειδί στο μπρελόκ GPG εκτελώντας την ακόλουθη εντολή.
gpg –εισαγωγή pub_key.asc
4. Στη συνέχεια, εκτελέστε αυτήν την εντολή για να εμφανίσετε το δακτυλικό αποτύπωμα του κλειδιού, μια συμβολοσειρά κειμένου που προσδιορίζει μοναδικά ένα κλειδί, αλλά δεν θέτει σε κίνδυνο την ασφάλειά του.
gpg –δακτυλικό αποτύπωμα pub_key_name
5. Ζητήστε από το άτομο που ταυτοποιείτε να επαληθεύσει ότι το δακτυλικό αποτύπωμα του δημόσιου κλειδιού του, όπως φαίνεται στο σύστημά σας, είναι το ίδιο με αυτό που παράγει πραγματικά το δημόσιο κλειδί του.
Τα πλεονεκτήματα ασφαλείας δεν σταματούν εκεί. Εφόσον μεταφέρετε δημόσια κλειδιά μόνο μέσω μονάδας flash USB, δεν υπάρχει εγγραφή στο δίκτυο ότι ανταλλάχτηκαν κλειδιά. Αυτό μπορεί να είναι ένα τεράστιο λειτουργικό πλεονέκτημα.
Το άλλο ωραίο πράγμα σχετικά με την τοπική μέθοδο ανταλλαγής κλειδιών είναι ότι δεν χρειάζεται να μπλέξετε με τους διακομιστές κλειδιών. Οι διακομιστές κλειδιών δεν είναι τόσο δύσκολοι στη χρήση, στο μεγάλο σχήμα του GPG, αλλά η διασύνδεση με αυτούς εξακολουθεί να είναι λίγο δύσκολη.
Αυτή είναι, ωστόσο, η άλλη σημαντική μέθοδος μεταφοράς: η λήψη δημόσιων κλειδιών από έναν διακομιστή κλειδιών στο Διαδίκτυο. Διακομιστές κλειδιών που, όπως υποδηλώνει το όνομα, διατηρούν κλειδιά, υπάρχουν εδώ και αιώνες υπολογιστών. Διατηρούνται από οργανισμούς όπως το MIT, αυτοί οι διακομιστές συγχρονίζονται μεταξύ τους για να επιτρέπουν στους χρήστες να διανέμουν ευρέως τα δημόσια κλειδιά τους.
Οι διακομιστές κλειδιών έχουν το ξεχωριστό πλεονέκτημα ότι σας δίνουν τη δυνατότητα να αποκτήσετε δημόσια κλειδιά από άτομα που δεν μπορείτε να συναντήσετε προσωπικά. Άλλωστε, το Διαδίκτυο είναι χρήσιμο ακριβώς επειδή επιτρέπει τη στιγμιαία απομακρυσμένη επικοινωνία. Ωστόσο, επειδή ο κάτοχος του δημόσιου κλειδιού δεν μπορεί να σας διαβεβαιώσει προσωπικά για την ακεραιότητα του κλειδιού, υπάρχει πιθανότητα το κλειδί να παραβιάστηκε κατά τη μεταφορά.
Αυτό συνήθως αντιμετωπίζεται από τους κατόχους δημόσιων κλειδιών που δημοσιεύουν το δακτυλικό αποτύπωμα του κλειδιού τους αλλού στο δημόσιο Web. Ανάλογα με τις δυνατότητες του αντιπάλου σας, ωστόσο, δεν μπορείτε να είστε βέβαιοι ότι το δακτυλικό αποτύπωμα που δημοσιεύτηκε στον Ιστό δεν έχει τροποποιηθεί ώστε να ταιριάζει με το ψεύτικο δακτυλικό αποτύπωμα που λαμβάνετε από ένα παραβιασμένο κλειδί που βασίζεται σε διακομιστή κλειδιών. Πιθανότατα δεν πρέπει να ξενυχτάτε ανησυχώντας για αυτό, αλλά είναι ένας κίνδυνος.
Μπορείτε να εισαγάγετε ένα κλειδί από τον διακομιστή κλειδιών ακολουθώντας τα παρακάτω βήματα:
1. Εισαγάγετε αυτήν την εντολή για αναζήτηση στον διακομιστή κλειδιών, όπου η λέξη-κλειδί είναι μέρος του ονόματος ή της διεύθυνσης email του κατόχου του κλειδιού
gpg –λέξη-κλειδί αναζήτησης
2. Θα σας παρουσιαστούν τώρα τα αποτελέσματα αναζήτησης στις σελίδες των 10. Ξεφυλλίστε τα αποτελέσματα και επιλέξτε το επιθυμητό πλήκτρο τον αντίστοιχο αριθμό και πατήστε Enter. Η συσκευή σας θα κατεβάσει τώρα το κλειδί.
3. Εκτελέστε την ακόλουθη εντολή για να εξάγετε το δακτυλικό αποτύπωμα του κλειδιού.
gpg –δακτυλικό αποτύπωμα pub_key_name
4. Τέλος, βρείτε ένα δημοσιευμένο δακτυλικό αποτύπωμα για τον κάτοχο του δημόσιου κλειδιού και ελέγξτε το με το δακτυλικό αποτύπωμα της προηγούμενης εντολής.
Τώρα είστε έτοιμοι να κρυπτογραφήσετε όλα τα πράγματα! Ξεκινήστε βρίσκοντας ένα αρχείο που θέλετε να κρυπτογραφήσετε (εδώ, “αρχείο” λέγεται αρχείο).
Στη συνέχεια, εκτελέστε την εντολή κρυπτογράφησης του GPG, η οποία μοιάζει με αυτό:
αρχείο gpg -e
Η λειτουργία θα σας ρωτήσει ποιο δημόσιο κλειδί να χρησιμοποιήσετε κατά την κρυπτογράφηση του αρχείου, το οποίο καθορίζετε χρησιμοποιώντας τη σειρά αριθμών και γραμμάτων στη δεύτερη γραμμή της καταχώρισης του κλειδιού — για να δείτε αυτήν την καταχώρηση θα πρέπει να εκτελέσετε «gpg –list-keys». Όταν ολοκληρωθεί η εντολή κρυπτογράφησης, δημιουργεί ένα κρυπτογραφημένο αρχείο με όνομα αρχείου πανομοιότυπο με το αρχείο εισόδου συν το “.gpg” που προστέθηκε. Στείλτε το στον δημιουργό του δημόσιου κλειδιού και θα ξέρουν τι να κάνουν.
Η αποκρυπτογράφηση αρχείων που σας αποστέλλονται είναι εξίσου εύκολη. Βρείτε το αρχείο που είναι κρυπτογραφημένο για εσάς και εκτελέστε την ακόλουθη εντολή:
αρχείο gpg -d > outfile
Εισαγάγετε τον κωδικό πρόσβασης του ιδιωτικού κλειδιού σας και έχετε ένα αποκρυπτογραφημένο αρχείο.
Από προεπιλογή, η σημαία αποκρυπτογράφησης απλώς εξάγει τα περιεχόμενα του αποκρυπτογραφημένου αρχείου στην κονσόλα. Εφόσον πιθανότατα θα θέλετε να αποθηκευτεί το αποκρυπτογραφημένο απλό κείμενο για αργότερα, το τμήμα «> outfile» της εντολής περιλαμβάνεται για την έξοδο της λειτουργίας σε ένα αρχείο.
Δύο ιδιωτικά κλειδιά είναι καλύτερα από ένα
Τι θα μπορούσε να είναι πιο ασφαλές από ένα ιδιωτικό κλειδί; Τι θα λέγατε για δύο;
Χρειάζονται κάποιες διευκρινίσεις. Δεν εννοώ τη δημιουργία δύο πλήρους ιδιωτικών κλειδιών. Αντίθετα, αυτή η προσέγγιση χρησιμοποιεί δύο μέρη του ιδιωτικού κλειδιού σας: το ένα μπορεί να αποκρυπτογραφήσει μόνο μηνύματα κρυπτογραφημένα με το δημόσιο κλειδί, ενώ το άλλο μπορεί να υπογράψει αρχεία.
Τι σας φέρνει λοιπόν αυτό; Ο διαχωρισμός του κλειδιού σας επιτρέπει να διατηρείτε το κύριο κλειδί σας αποκλειστικά σε κρυπτογραφημένο εξωτερικό χώρο αποθήκευσης μέχρι να το χρειαστείτε.
Επειδή το δευτερεύον κλειδί μπορεί να αποκρυπτογραφήσει τα μηνύματα που σας αποστέλλονται, μπορείτε να διατηρήσετε τη συνήθη αλληλογραφία σας κρατώντας μόνο το δευτερεύον κλειδί στη συσκευή σας. Εάν ο υπολογιστής σας μολυνθεί ποτέ (το οποίο μπορεί να μην εντοπίσετε ποτέ), οι εισβολείς σας δεν θα μπορούν να πλαστογραφήσουν τις υπογραφές σας, κάτι που θα σας διευκολύνει να ανακαλέσετε το κλεμμένο κλειδί και να ξεκινήσετε από την αρχή.
Χωρίς αμφιβολία, τα ξεχωριστά ιδιωτικά κλειδιά με ξεχωριστούς ελέγχους ασφαλείας προκαλούν πολύ μεγαλύτερο πονοκέφαλο. Αρχικά, πρέπει να μπορείτε να τα ξεχωρίζετε, γιατί εάν επιτρέψετε το κύριο κλειδί σας να βρίσκεται στον υπολογιστή σας ενώ είναι συνδεδεμένος στο δίκτυο, από επιχειρησιακής ασφάλειας, το κύριο κλειδί σας θα δηλητηριαστεί, θα εκτεθεί σε μη επαληθεύσιμος βαθμός κινδύνου που χαρακτηρίζει την ακεραιότητά του.
Αλλά ακόμα και αν υποθέσουμε ότι τα κρατάτε στη σωστή θέση, πρέπει να έχετε μια λειτουργικά ασφαλή διαδικασία για την υπογραφή PGP — τουλάχιστον, την απενεργοποίηση της δικτύωσης σας σε επίπεδο λειτουργικού συστήματος (κατά προτίμηση σε επίπεδο υλικού), τη σύνδεση του κρυπτογραφημένου αποθηκευτικού χώρου σας, την εισαγωγή ενός αντίγραφο του κύριου κλειδιού, εκτέλεση της λειτουργίας υπογραφής, διαγραφή του αντιγράφου του κύριου κλειδιού στη συσκευή σας και των δεδομένων του στο μπρελόκ GPG, εξαγωγή του κρυπτογραφημένου αποθηκευτικού χώρου και επανενεργοποίηση της δικτύωσης.
Η δική μου έκδοση του GPG στην πραγματικότητα χωρίζει το κλειδί σε αυτά τα δύο μέρη από προεπιλογή, αλλά τα ομαδοποιεί, τόσο στο μπρελόκ όσο και στις εξαγωγές ιδιωτικού κλειδιού.
Ωστόσο, εάν θέλετε να χωρίσετε τα πλήκτρα, εκτελέστε αυτά τα βήματα:
1. Απενεργοποιήστε τη δικτύωσή σας. Διαφορετικά, το κύριο ιδιωτικό κλειδί σας θα δηλητηριαστεί από την αρχή.
2. Εκτελέστε την ίδια εξαγωγή ιδιωτικού κλειδιού όπως πριν.
3. Εξάγετε το ιδιωτικό σας δευτερεύον κλειδί στο δικό του αντίστοιχο αρχείο χρησιμοποιώντας αυτήν την εντολή.
gpg –export-secret-subkeys – armor key_name > sub_key.asc
4. Μετακινήστε τα αρχεία του ιδιωτικού κλειδιού και του δευτερεύοντος κλειδιού σε ασφαλή εξωτερικό χώρο αποθήκευσης.
5. Εκτελέστε αυτήν την εντολή, ακολουθώντας τις προτροπές για να διαγράψετε το κύριο μυστικό κλειδί από το μπρελόκ σας, αλλά όχι το δευτερεύον κλειδί.
gpg –delete-secret-keys
6. Βεβαιωθείτε ότι όλα τα αντίγραφα αρχείων του κύριου ιδιωτικού κλειδιού σας έχουν διαγραφεί από τη συσκευή σας.
Ο υπολογιστής σας δεν έχει πλέον κανένα ίχνος από το «κύριο» ιδιωτικό κλειδί σας, αλλά έχει το δευτερεύον κλειδί σας με ασφάλεια στο μπρελόκ για αποκρυπτογράφηση.