Το προφίλ μας στο Google Plus
0

Κρυπτογραφία δημοσίου κλειδιού ueber alles!

Ακούσατε τον administrator στο εργαστήριο ή στην εταιρεία σας να μιλά μ’ ενθουσιασμό για προγράμματα sniffing και είστε κάπως ανήσυχοι; Ψάχνετε έναν τρόπο για να στέλνετε μηνύματα ή αρχεία χωρίς *κανένας* άσχετος να μπορεί να βλέπει τα περιεχόμενά τους στη διαδρομή; Αλήθεια, τι σας διαβεβαιώνει ότι τα mail που παίρνετε προέρχονται από εκείνους που υποτίθεται ότι τα στέλνουν; Φοβόσαστε μήπως τι θα βρουν στο laptop ή στο σκληρό δίσκο του υπολογιστή σας, σε περίπτωση που πέσει σε ξένα χέρια; Ας κάνουμε τώρα κι ένα διαφορετικό -αλλά σχετικό με τα προηγούμενα- ερώτημα: Τι θα λέγατε για μια εκπληκτικά αποτελεσματική μέθοδο προστασίας των ευαίσθητων δεδομένων σας από αδιάκριτα βλέμματα;

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

Αναλυτικότερα, στο παρόν κείμενο θα δούμε πώς εκμεταλλευόμαστε το σύστημα κρυπτογράφησης Ελεύθερου Λογισμικού GnuPG (GNU Privacy Guard), ώστε να διασφαλίζουμε το απόρρητο του mail μας ή/και να κρυπτογραφούμε όποια αρχεία θέλουμε. Έτσι, ακόμα κι όταν το mail αποστέλλεται μέσω κάποιου server που δεν υποστηρίζει ασφαλείς, κρυπτογραφημένες συνδέσεις, το μόνο που θα μπορέσουν να δουν οι περίεργοι από τα μηνύματα που έχουμε επιλέξει να κρυπτογραφήσουμε θα ‘ναι κάτι εντυπωσιακοί σωροί από απόλυτες ασυναρτησίες. Τα ίδια θα πάθουν και με τα αρχεία που επίσης έχουμε επιλέξει να κρυπτογραφήσουμε – ακόμα κι αν έχουν πάρει στην κατοχή τους ολόκληρο τον υπολογιστή μας. Σημειώστε μάλιστα ότι στην πράξη δεν θα ‘χουν καμία ελπίδα για αποκρυπτογράφηση, εκτός βέβαια κι αν αποκτήσουν πρόσβαση στο ιδιωτικό μας κλειδί. Αλλά ας μην προτρέχουμε.

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

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

What the heck is that gnoo-pee-gee anyways?
Το GnuPG –στο εξής GPG– είν’ ένα δημοφιλές σύστημα κρυπτογράφησης δημοσίου κλειδιού το οποίο, μεταξύ άλλων, διασφαλίζει ότι κανείς άλλος πλην των θεμιτών παραληπτών δεν θα διαβάζει το mail ή θα βλέπει τα αρχεία που αποστέλλουμε. Παρέχει επίσης κι έναν μηχανισμό πιστοποίησης (authentication), ούτως ώστε να ‘μαστε βέβαιοι για την πραγματική ταυτότητα των αποστολέων.

Η όλη ιδέα βασίζεται σ’ ένα μηχανισμό δύο κλειδιών (keypair): το δημόσιο (public) και το ιδιωτικό (private) ή αλλιώς μυστικό (secret) κλειδί. Κάθε τέτοιο ζεύγος είναι μοναδικό, δηλαδή σε κάθε ιδιωτικό κλειδί αντιστοιχεί ένα μόνο δημόσιο κι αντίστροφα. Τώρα, ένα μήνυμα ή αρχείο που έχει κρυπτογραφηθεί με χρήση του ιδιωτικού κλειδιού μπορεί ν’ αποκρυπτογραφηθεί *μόνο* από το αντίστοιχο δημόσιο. Αντίστροφα, ένα μήνυμα ή αρχείο που έχει κρυπτογραφηθεί με χρήση του δημοσίου κλειδιού, μπορεί ν’ αποκρυπτογραφηθεί *μόνο* από το αντίστοιχο ιδιωτικό. Όπως φανερώνουν και τα ονόματά τους, το δημόσιο κλειδί διανέμεται ελεύθερα ενώ το ιδιωτικό διατηρείται από τον κάτοχό του ως (επτασφράγιστο) μυστικό.

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

Το δε ιδιωτικό κλειδί χρησιμοποιείται για την αποκρυπτογράφηση mail ή αρχείων που στέλνουν σ’ εμάς κι έχουν κρυπτογραφηθεί με χρήση του αντίστοιχου δημοσίου κλειδιού. Με το ιδιωτικό μας κλειδί μπορούμε επίσης να υπογράφουμε (sign) mail ή αρχεία που στέλνουμε ή/και δημοσιεύουμε, ώστε κάθε ενδιαφερόμενος να παίρνει το δημόσιο κλειδί μας, να ελέγχει αν μπορεί ν’ αποκρυπτογραφήσει την υπογραφή κι έτσι να επαληθεύει αν πραγματικά είμαστε εμείς οι αποστολείς/κάτοχοι κι όχι κάποιος άλλος που υποδύεται εμάς. Και φυσικά, όποτε στέλνουμε ένα μήνυμα ή αρχείο έχουμε τη δυνατότητα να το κρυπτογραφούμε και ταυτόχρονα να το υπογράφουμε κιόλας.

Όπως είπαμε λίγο πριν, κάθε ζεύγος ιδιωτικού-δημοσίου κλειδιού είναι μοναδικό. Συνεπώς, όταν αποστέλλουμε ένα κρυπτογραφημένο μήνυμα ή αρχείο σε παραπάνω από έναν παραλήπτες, θα πρέπει να διαθέτουμε τα δημόσια κλειδιά όλων. Τα δημόσια κλειδιά των παραληπτών που μας ενδιαφέρουν φυλάσσονται στον λεγόμενο δακτύλιο κλειδιών (keyring), ούτως ώστε να μπορούμε εύκολα να κρυπτογραφούμε μηνύματα/αρχεία που απευθύνονται σε πολλαπλούς αποδέκτες. Το δικό μας δημόσιο κλειδί συστήνεται να το αποθηκεύουμε σε κάποιον από τους δημόσιους διακομιστές δημοσίων κλειδιών (public keyservers), ούτως ώστε άλλοι χρήστες να μπορούν να το παίρνουν εύκολα και να μας στέλνουν κρυπτογραφημένη αλληλογραφία ή/και αρχεία.

Επιτρέπεται να διαθέτουμε παραπάνω από ένα ζεύγη κλειδιών, π.χ., ένα για την προσωπική κι ένα για την επαγγελματική μας αλληλογραφία. Σε κάθε περίπτωση, το ιδιωτικό κλειδί θα πρέπει να προστατεύεται από μια συνθηματική φράση (passphrase), ώστε ακόμη κι αν πέσει στα χέρια τρίτων αυτοί να μη μπορούν να το χρησιμοποιήσουν χωρίς να γνωρίζουν το passphrase. Πάντως ασχέτως αν έχουμε ένα ή περισσότερα ζεύγη κλειδιών, οφείλουμε να προστατεύουμε ως κόρη οφθαλμού το ιδιωτικό ή τα ιδιωτικά. Βλέπετε, αν κάποιος αποκτήσει πρόσβαση σε ιδιωτικό μας κλειδί και γνωρίζει και την αντίστοιχη συνθηματική φράση, όχι μόνο θα μπορεί να διαβάζει την κρυπτογραφημένη μας αλληλογραφία αλλά, ακόμα χειρότερα, θα μπορεί να υποδύεται εμάς. Στην περίπτωση που συμβεί κάτι τέτοιο -και φυσικά υποπέσει στην αντίληψή μας- το GPG παρέχει έναν μηχανισμό ανάκλησης, με βάση τον οποίο μπορούμε να ακυρώσουμε την ισχύ του δημοσίου κλειδιού μας, επομένως κι ολόκληρου του keypair.

Πού θα το βρω; Θα δυσκολευτώ, γενικώς;
Το κατεξοχήν σύστημα κρυπτογράφησης δημοσίου κλειδιού είναι το GnuPG (GNU Privacy Guard) ή απλά GPG (www.gnupg.org). Αποτελεί Ελεύθερο Λογισμικό, συμμορφώνεται με το πρότυπο του OpenPGP και, όπως ήδη σας προϊδεάσαμε στην εισαγωγή, πρακτικά διατίθεται δωρεάν για κάθε λειτουργικό σύστημα. Οι χρήστες του Linux δεν χρειάζεται καν να το κατεβάσουν από κάπου, αφού κατά 99,37652% εγκαθίσταται με τη διανομή τους. Όσον αφορά στην οικογένεια του BSD, το GPG υπάρχει στα αντίστοιχα ports tree και η εγκατάστασή του είναι πανεύκολη. Πέρα από τον κόσμο του Unix, μια εκδοχή του GPG για Windows διατίθεται από το www.gpg4win.org ενώ μια για Mac OS X από το http://macgpg.sourceforge.net.

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

Όσον αφορά τώρα στο ζήτημα της δυσκολίας, όλα εξαρτώνται από το πού βρίσκεστε αυτή τη στιγμή. Αν, π.χ., γνωρίζετε τι θα πει συμμετρική κι ασύμμετρη κρυπτογραφία (ή αλλιώς κρυπτογραφία δημοσίου κλειδιού), καθώς και τι είναι οι ψηφιακές υπογραφές, τότε όλα θα ‘χουν νόημα ευθύς εξαρχής. Αν πάλι δεν έχετε ασχοληθεί με τέτοια ζητήματα όμως διαβάσατε ήδη την ενότητα “What the heck is gnoo-pee-gee anyways?” και τώρα στο άκουσμα και μόνο της λέξης “κρυπτογραφία” η φαντασία σας εξάπτεται, τότε σίγουρα θα γοητευτείτε από την απλότητα και τη δύναμη της κρυπτογραφίας δημοσίου κλειδιού. Αυτό και μόνο είν’ αρκετό για ν’ απλοποιήσει διαδικασίες που σ’ άλλες περιπτώσεις θα φάνταζαν στρυφνές, περίπλοκες ή ακόμη και δυσνόητες. Αλλά ας αφήσουμε τα πολλά λόγια – ώρα για δράση!

Δημιουργία ζεύγους κλειδιών
Είναι η πρώτη μας δουλειά, εκτός βέβαια κι αν έχουμε ήδη φτιάξει το keypair μας. Σ’ ένα παράθυρο τερματικού, λοιπόν, πληκτρολογούμε τα ακόλουθα (τονισμένο είναι το input του χρήστη):

sub0@opensuse:~> gpg --gen-key
gpg (GnuPG) 2.0.16; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: directory `/home/sub0/.gnupg' created
gpg: new configuration file `/home/sub0/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/sub0/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/sub0/.gnupg/secring.gpg' created
gpg: keyring `/home/sub0/.gnupg/pubring.gpg' created
Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 2048
Requested keysize is 2048 bits
Please specify how long the key should be valid.
         0 = key does not expire
      <n>  = key expires in n days
      <n>w = key expires in n weeks
      <n>m = key expires in n months
      <n>y = key expires in n years
Key is valid for? (0) 0
Key does not expire at all
Is this correct? (y/N) y

GnuPG needs to construct a user ID to identify your key.

Real name: subZraw
Email address: subZraw@parabing.com
Comment: This ain't Jim Beam
You selected this USER-ID:
    "subZraw (This ain't Jim Beam) <subZraw@parabing.com>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.

gpg: problem with the agent: Bad CA certificate

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /home/sub0/.gnupg/trustdb.gpg: trustdb created
gpg: key EBDCE7DA marked as ultimately trusted
public and secret key created and signed.

gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
pub   2048R/EBDCE7DA 2011-03-12
      Key fingerprint = A34A B306 90A3 A042 61F6  163F 2B57 FA04 EBDC E7DA
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12
sub0@opensuse:~> 

Και ναι, μόλις δημιουργήσαμε επιτυχώς ένα keypair για το χρήστη με πλήρες όνομα subZraw και διεύθυνση αλληλογραφίας subZraw@parabing.com. Επειδή μάλιστα σκοπεύουμε να διανείμουμε το δημόσιο κλειδί, βάλαμε ένα υπαρκτό e-mail address. Όσον αφορά στους τύπους και στο μήκος των κλειδιών, αφήσαμε τις προεπιλογές (αμφότερα τύπου RSA, μήκους 2048 bits έκαστο). Εξάλλου, μιας και δεν είμαστε εντελώς τρελαμένοι με το θέμα της ασφάλειας, δεν ορίσαμε ημερομηνία λήξης για το δημόσιο κλειδί (key does not expire). Κάτι που δεν φαίνεται παραπάνω είναι η προτροπή του GNOME keyring daemon για τον ορισμό μιας συνθηματικής φράσης (passphrase) που θα προστατεύει το ιδιωτικό κλειδί. Το passphrase είναι κάτι σαν password αλλά έχει τη δυνατότητα να ‘ναι περισσότερο πολύπλοκο, αφού επιτρέπεται να περιλαμβάνει κενά. Κάθε φορά που για οποιονδήποτε λόγο πρόκειται να χρησιμοποιηθεί το ιδιωτικό κλειδί θα απαιτείται η πληκτρολόγηση του passphrase. Αυτή είναι μια πολύ καλή δικλείδα ασφαλείας, αφού ακόμα και να πάρει κάποιος το ιδιωτικό μας κλειδί δεν θα μπορεί να το χρησιμοποιήσει αν δεν γνωρίζει και το αντίστοιχο passphrase.

Τελικά, το εργαλείο gpg έφτιαξε ένα νέο κατάλογο με όνομα .gnupg μέσα στο γονικό του χρήστη μας (sub0) κι εκεί αποθήκευσε το νέο ζεύγος κλειδιών. Μέσα στον ίδιο κατάλογο μπορούμε να δημιουργήσουμε κι άλλα keypairs, π.χ., για διαφορετικούς λογαριασμούς e-mail. Επίσης, στον ~/.gnupg βρίσκεται και το keyring με τα δημόσια κλειδιά του δικού μας αλλά κι άλλων χρηστών. Προς το παρόν βέβαια το keyring αυτό έχει ένα μόνο δημόσιο κλειδί: το δικό μας. Προκειμένου να δούμε πληροφορίες που το αφορούν, γράφουμε

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12
sub0@opensuse:~>

Αν τώρα θέλουμε να χρησιμοποιούμε το δημόσιο κλειδί μας για περισσότερες από μία διευθύνσεις e-mail, τότε αρκεί να τις προσθέσουμε από το interactive environment του gpg ως ακολούθως.

sub0@opensuse:~> gpg --edit-key EBDCE7DA
gpg (GnuPG) 2.0.16; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Secret key is available.

pub  2048R/EBDCE7DA  created: 2011-03-12  expires: never       usage: SC  
                     trust: ultimate      validity: ultimate
sub  2048R/6A85AB25  created: 2011-03-12  expires: never       usage: E   
[ultimate] (1). subZraw (This ain't Jim Beam) <subZraw@parabing.com>

gpg> adduid
Real name: subZraw
Email address: subZraw@defiant.gr
Comment: Underworld SA
You selected this USER-ID:
    "subZraw (Underworld SA) <subZraw@defiant.gr>"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O

You need a passphrase to unlock the secret key for
user: "subZraw (This ain't Jim Beam) <subZraw@parabing.com>"
2048-bit RSA key, ID EBDCE7DA, created 2011-03-12

pub  2048R/EBDCE7DA  created: 2011-03-12  expires: never       usage: SC  
                     trust: ultimate      validity: ultimate
sub  2048R/6A85AB25  created: 2011-03-12  expires: never       usage: E   
[ultimate] (1)  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
[ unknown] (2). subZraw (Underworld SA) <subZraw@defiant.gr>

gpg> quit
Save changes? (y/N) y
sub0@opensuse:~> 

Στην εντολή gpg –edit-key δώσαμε το ID του δημοσίου κλειδιού μας, το οποίο είδαμε προηγουμένως στην πρώτη γραμμή των αποτελεσμάτων της εντολής gpg –list-keys. Φυσικά, για να προχωρήσουν οι αλλαγές μάς ζητήθηκε και το passphrase του ιδιωτικού μας κλειδιού. Το interactive environment του gpg το εγκαταλείψαμε πληκτρολογώντας quit και μετά πατώντας το πλήκτρο [Y], ώστε να επικυρώσουμε τις αλλαγές.

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

sub0@opensuse:~> gpg --list-keys
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12
sub0@opensuse:~> 

Το ID του δικού μας είναι EBDCE7DA, οπότε γράφουμε:

sub0@opensuse:~&gt; gpg --output revoke.asc --gen-revoke EBDCE7DA

sec  2048R/EBDCE7DA 2011-03-12 subZraw (Underworld SA) &lt;subZraw@defiant.gr&gt;

Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
  0 = No reason specified
  1 = Key has been compromised
  2 = Key is superseded
  3 = Key is no longer used
  Q = Cancel
(Probably you want to select 1 here)
Your decision? 0
Enter an optional description; end it with an empty line:
> I need to revoke this one, for reasons I'd really like to forget :S
> 
Reason for revocation: No reason specified
I need to revoke this one, for reasons I'd really like to forget :S
Is this okay? (y/N) y

You need a passphrase to unlock the secret key for
user: &quot;subZraw (Underworld SA) &lt;subZraw@defiant.gr&gt;&quot;
2048-bit RSA key, ID EBDCE7DA, created 2011-03-12

ASCII armored output forced.
Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable.  But have some caution:  The print system of
your machine might store the data and make it available to others!
sub0@opensuse:~&gt; 

Παρατηρήστε ότι πληκτρολογήσαμε μια σύντομη εξήγηση για το λόγο της ανάκλησης. Προκειμένου να δημιουργηθεί το ίδιο το πιστοποιητικό ανάκλησης (αρχείο revoke.asc) χρειάστηκε να πληκτρολογήσουμε το passphrase του αντίστοιχου ιδιωτικού κλειδιού. Μετά τη δημιουργία του πιστοποιητικού οφείλουμε να το αντιγράψουμε, μαζί μ’ ολόκληρο τον κατάλογο ~/.gnupg, σ’ ένα CD ή thumb drive, το οποίο και θα φυλάξουμε σ’ ένα ασφαλές μέρος.

Δημοσίευση και εισαγωγή σε/από keyserver
Αν θέλετε να επικοινωνείτε κρυπτογραφημένα μόνο με συγκεκριμένους χρήστες, τότε είναι εύκολο ν’ ανταλλάξετε δημόσια κλειδιά, π.χ., μέσω απλού e-mail. Το ίδιο ισχύει αν θέλετε ν’ ανταλλάσσετε κρυπτογραφημένα αρχεία πάλι με συγκεκριμένους χρήστες (βλ. σχετικές ενότητες παρακάτω). Από την άλλη, στην περίπτωση που επιθυμείτε να ‘χει πρόσβαση στο δημόσιο κλειδί σας οποιοσδήποτε ενδιαφερόμενος, τότε οφείλετε να το ανεβάσετε σ’ έναν public keyserver. Υπάρχουν διάφοροι keyservers και πολλοί εξ αυτών ανταλλάσσουν κλειδιά μεταξύ τους. Εκείνος που ορίζεται μέσα στο αρχείο ρυθμίσεων ~/.gnupg/gpg.conf είναι μια χαρά (αν θέλετε ανοίξτε το αρχείο μ’ έναν text editor και ψάξτε για την οδηγία keyserver). Ας δούμε ένα παράδειγμα με το δημόσιο κλειδί του subZraw. Κατ’ αρχάς, πριν το ανεβάσουμε στον public keyserver πρέπει να θυμηθούμε το ID του:

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12
sub0@opensuse:~> 

Καλώς. Η δημοσίευση γίνεται απλά πληκτρολογώντας

sub0@opensuse:~> gpg --send-keys EBDCE7DA
gpg: sending key EBDCE7DA to hkp server keys.gnupg.net
sub0@opensuse:~>

Τέλεια. Ας υποθέσουμε τώρα ότι θέλουμε να εισάγουμε στο public keyring μας το public key κάποιου άλλου χρήστη, ας πούμε του Richard Stallman, του πατέρα του Ελεύθερου Λογισμικού. Μια διεύθυνση αλληλογραφίας που χρησιμοποιεί δημοσίως είναι η rms@gnu.org και είναι πολύ πιθανό γι’ αυτή να χρησιμοποιεί κάποιο δημόσιο κλειδί. Αλλά δεν χρειάζεται να μένουμε στις υποθέσεις:

sub0@opensuse:~> gpg --search-keys rms@gnu.org
gpg: searching for "rms@gnu.org" from hkp server keys.gnupg.net
(1)	Richard Stallman (Chief GNUisance) <rms@gnu.org>
	  1024 bit DSA key 135EA668, created: 2001-03-05
(2)	Richard M. Stallman (Chief GNUisance) <rms@gnu.org>
	  1024 bit DSA key A839EC1A, created: 2000-12-30
Keys 1-2 of 2 for "rms@gnu.org".  Enter number(s), N)ext, or Q)uit > 1
gpg: requesting key 135EA668 from hkp server keys.gnupg.net
gpg: key 135EA668: public key "Richard Stallman (Chief GNUisance) <rms@gnu.org>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: Total number processed: 1
gpg:               imported: 1
sub0@opensuse:~> 

Πολύ ωραία. Βλέπουμε ότι ο Stallman έχει δύο δημόσια κλειδιά. Αν και θα μπορούσαμε να εισάγουμε και τα δύο, επιλέγουμε μόνο το νεώτερο. Εύκολα επαληθεύσουμε αν η εισαγωγή του δημοσίου κλειδιού του Stallman στο public keyring μας πραγματοποιήθηκε επιτυχώς:

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12

pub   1024D/135EA668 2001-03-05
uid                  Richard Stallman (Chief GNUisance) <rms@gnu.org>
sub   1024g/B1B10ED6 2001-03-05
sub0@opensuse:~>

Άψογα! Δείτε τώρα και την απόπειρα εισαγωγής ενός δημοσίου κλειδιού το οποίο όμως -Κύριος οίδε γιατί- έχει ανακληθεί:

sub0@opensuse:~> gpg --search-keys cvar@dolnet.gr
gpg: searching for "cvar@dolnet.gr" from hkp server keys.gnupg.net
(1)	Christos Varelas <cvar@dolnet.gr>
	  1024 bit DSA key DACC8632, created: 2000-12-04 (revoked)
Keys 1-1 of 1 for "cvar@dolnet.gr".  Enter number(s), N)ext, or Q)uit > Q
sub0@opensuse:~>

Βλέπουμε ότι το κλειδί δημιουργήθηκε περί τα τέλη του 2000 κι ότι για κάποιο λόγο ανακλήθηκε, επομένως δεν έχει κανένα απολύτως νόημα να το εισάγουμε στο public keyring μας. Δεν βαριέσαι, η ζωή συνεχίζεται.

Ανάκληση κλειδιού
Όπως συζητήσαμε πριν λίγο, υπάρχουν λόγοι για τους οποίους ενδέχεται να θέλουμε ν’ ανακαλέσουμε ένα δημόσιο κλειδί μας. Προκειμένου να δούμε πώς ακριβώς το πετυχαίνουμε, ας παρακολουθήσουμε το παράδειγμα ανάκλησης του δημοσίου κλειδιού ενός χρήστη με όνομα Chris Vee, διεύθυνση αλληλογραφίας cvarelas@freemail.gr, ID το F4ADE47F και πιστοποιητικό ανάκλησης το chrisVee.asc.

Ξεκινάμε με την εισαγωγή του πιστοποιητικού ανάκλησης:

sub0@opensuse:~> gpg --import chrisVee.asc 
gpg: key F4ADE47F: "Chris Vee (Free, free, set them free) <cvarelas@freemail.gr>" revocation certificate imported
gpg: Total number processed: 1
gpg:    new key revocations: 1
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   2  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 2u

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

sub0@opensuse:~> gpg --send-keys F46E7EFF
gpg: sending key F4ADE47F to hkp server keys.gnupg.net

Στο εξής, όποιος ψάχνει για το δημόσιο κλειδί του χρήστη με διεύθυνση e-mail cvarelas@freemail.gr, θα βλέπει ότι έχει ανακληθεί κι έτσι δεν θα το χρησιμοποιεί:

sub0@opensuse:~> gpg --search-keys cvarelas@freemail.gr 
gpg: searching for "cvarelas@freemail.gr" from hkp server keys.gnupg.net
(1)	Chris Vee (Free, free, set them free) <cvarelas@freemail.gr>
	  2048 bit RSA key F4ADE47F, created: 2011-03-13 (revoked)
Keys 1-1 of 1 for "cvarelas@freemail.gr".  Enter number(s), N)ext, or Q)uit > Q
sub0@opensuse:~>

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

sub0@opensuse:~> gpg --delete-secret-key F4ADE47F
gpg (GnuPG) 2.0.16; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

sec  2048R/F4ADE47F 2011-03-13 Chris Vee (Free, free, set them free) <cvarelas@freemail.gr>

Delete this key from the keyring? (y/N) y
This is a secret key! - really delete? (y/N) y

sub0@opensuse:~> gpg --delete-key F4ADE47F
gpg (GnuPG) 2.0.16; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub  2048R/F4ADE47F 2011-03-13 Chris Vee (Free, free, set them free) <cvarelas@freemail.gr>

Delete this key from the keyring? (y/N) y
sub0@opensuse:~>

Πάνε τα κλειδιά, δεν θα τα ξαναδούμε ποτέ :|

Εξαγωγές και εισαγωγές δημοσίων κλειδιών
Όπως είπαμε πριν, αν επικοινωνούμε κρυπτογραφημένα μόνο με συγκεκριμένους χρήστες τότε μπορούμε ν’ ανταλλάξουμε δημόσια κλειδιά χωρίς τη διαμεσολάβηση keyserver. Ας δούμε πώς, ξεκινώντας με την εξαγωγή του δικού μας δημοσίου κλειδιού από το public keyring μας. Κατά τα γνωστά, αρχικά χρειαζόμαστε το ID του δημοσίου κλειδιού:

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12

pub   1024D/135EA668 2001-03-05
uid                  Richard Stallman (Chief GNUisance) <rms@gnu.org>
sub   1024g/B1B10ED6 2001-03-05

pub   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
sub   2048R/BCBB10FD 2011-03-13
sub0@opensuse:~>

(Όπως βλέπετε από το αποτέλεσμα της εντολής, το public keyring μας έχει πλέον διευρυνθεί.) Στη συνέχεια εξάγουμε το δημόσιο κλειδί σε μορφή ASCII και το αποθηκεύουμε σ’ ένα αρχείο με αντιπροσωπευτικό όνομα, π.χ., subZraw.asc:

sub0@opensuse:~> gpg --armor --output subZraw.asc --export EBDCE7DA
sub0@opensuse:~> cat subZraw.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.16 (GNU/Linux)

mQENBE17k9cBCACxxFy0NOFJXR+wDd8rWUfRDhlNu8fIxnma8cnNFNIPpAvqN47O
EW/vr0n8vHtQN94w0BnQSxdyd8ukSuAYGARISvhhDiQVjCmvQVedPJwxi0YxqVHf
AHMs2nHsVROItvaeMxio+OZtZx/6iRu0CjL5t9N8sd75tvUQpb+jp97yLA4JY0Su
qt8/oAoby/dTuShbJUDmOoTyB+1Xs1jW39Xuqj9NxLteXYUq/WvUy225glg+zpLf
4TFgkCxHAzIhbuXDoV6h0c22/FraXE3ATZAwCbu+IC5LCyixJHkvHoVZPUiotwv/
...
sMc3PSswU4OkWnkwAYH+chehRamUR8hC3t4fr4Bl6GNe3ZAMvhDS9RGJ9TXPbaRP
vo/bxclMIQzYH+FuK4RSjzqGsRWVsWpS+La/8kDLMn/2GkxN0ktFxoHkQpUVV1vv
x3qLlLY9BVrCRDGBb4XPxXPFLsjDYQXqpb2qtLP4cjT7ItF4qcQ9K2Kcb3pRkGDr
9q5SLgf2OoQtCzK4a7zkPnFOWKY8o7o19LFpGye1gBuY3WZSJYGq7At0aIxWqMUw
QFkKGFriWRskvFytE2RoMPYoTvSA26pIeQQPYw==
=YRTB
-----END PGP PUBLIC KEY BLOCK-----
sub0@opensuse:~>

Άψογα, το κλειδί μας είναι και ωραίο :) Το αρχείο subZraw.asc μπορούμε να το δώσουμε σ’ όποιους χρήστες θέλουμε. Εναλλακτικά, μπορούμε να το δημοσιεύσουμε στο site μας ή να το χρησιμοποιούμε ως υπογραφή στα mail που στέλνουμε. Και πώς το ενσωματώνει κάποιος ενδιαφερόμενος στο public keyring του; Αρκετά απλά. Αν μάλιστα το επιθυμεί μπορεί να κάνει κι έξτρα ελέγχους, ώστε να διαπιστώσει ότι το νέο δημόσιο κλειδί πράγματι ανήκει σ’ εκείνον που υποτίθεται ότι ανήκει. Δείτε, π.χ., πώς ο χρήστης με username cvar εισάγει στο Mac OS X του το δημόσιο κλειδί subZraw.asc:

imac24:~ cvar$ gpg --import subZraw.asc 
gpg: key EBDCE7DA: public key "subZraw (Underworld SA) <subZraw@defiant.gr>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

imac24:~ cvar$ gpg --list-keys
/Users/cvar/.gnupg/pubring.gpg
------------------------------
pub   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
sub   2048R/BCBB10FD 2011-03-13

pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12

Αν τώρα ο cvar θέλει να βεβαιωθεί για το κλειδί που μόλις εισήγαγε, μπορεί να επικοινωνήσει, π.χ., μ’ ένα απλό τηλεφώνημα, με τον ίδιο τον sub0 και να του ζητήσει το αποτύπωμα (fingerprint) του κλειδιού του. (Το αποτύπωμα επιστρέφεται από την εντολή fpr του interactive environment του gpg.) Στη συνέχεια θα συγκρίνει το αποτύπωμα που πήρε με το αποτέλεσμα της εντολής fpr στον δικό του υπολογιστή κι αν δει ότι συμπίπτουν θα προχωρήσει στην υπογραφή του νέου κλειδιού:

imac24:~ cvar$ gpg --edit-key EBDCE7DA
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub  2048R/EBDCE7DA  created: 2011-03-12  expires: never       usage: SC  
                     trust: unknown       validity: unknown
sub  2048R/6A85AB25  created: 2011-03-12  expires: never       usage: E   
[ unknown] (1). subZraw (Underworld SA) <subZraw@defiant.gr>
[ unknown] (2)  subZraw (This ain't Jim Beam) <subZraw@parabing.com>

gpg> fpr
pub   2048R/EBDCE7DA 2011-03-12 subZraw (Underworld SA) <subZraw@defiant.gr>
 Primary key fingerprint: A34A B306 90A3 A042 61F6  163F 2B57 FA04 EBDC E7DA

gpg> sign
Really sign all user IDs? (y/N) y

pub  2048R/EBDCE7DA  created: 2011-03-12  expires: never       usage: SC  
                     trust: unknown       validity: unknown
 Primary key fingerprint: A34A B306 90A3 A042 61F6  163F 2B57 FA04 EBDC E7DA
     subZraw (Underworld SA) <subZraw@defiant.gr>
     subZraw (This ain't Jim Beam) <subZraw@parabing.com>

Are you sure that you want to sign this key with your
key "Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>" (5B17EF55)

Really sign? (y/N) y

You need a passphrase to unlock the secret key for
user: "Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>"
2048-bit RSA key, ID 5B17EF55, created 2011-03-13
                  
gpg> check
uid  subZraw (Underworld SA) <subZraw@defiant.gr>
sig!3        EBDCE7DA 2011-03-12  [self-signature]
sig!         5B17EF55 2011-03-13  Christos Varelas (We bear gifts) <christos.var
uid  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sig!3        EBDCE7DA 2011-03-12  [self-signature]
sig!         5B17EF55 2011-03-13  Christos Varelas (We bear gifts) <christos.var

gpg> quit
Save changes? (y/N) y
imac24:~ cvar$

Φυσικά, για να μπορέσει να υπογράψει ο cvar έδωσε το passphrase του ιδιωτικού του κλειδιού.

Εξαγωγές και εισαγωγές πιστοποιητικών
Το keypair που έχουμε φτιάξει σ’ έναν συγκεκριμένο υπολογιστή ή λειτουργικό σύστημα είναι πολύ πιθανό να το θέλουμε και σε κάποιον άλλον υπολογιστή ή λειτουργικό. Για την ακρίβεια, αυτό που θέλουμε είναι το αντίστοιχο πιστοποιητικό: Μια δομή δεδομένων που περιλαμβάνει το ιδιωτικό και το δημόσιο κλειδί, τα αντίστοιχα user IDs κ.λπ. Ως ένα παράδειγμα που επιδεικνύει την όλη διαδικασία, θα παρακολουθήσουμε πρώτα την εξαγωγή του πιστοποιητικού του subZraw, το οποίο διατηρείται στο user account με όνομα sub0, στον υπολογιστή με το openSUSE. Ακολούθως θα δούμε πώς το ίδιο πιστοποιητικό εισάγεται στο keyring του Christos Varelas, το οποίο βρίσκεται στο user account με όνομα cvar ενός υπολογιστή με Mac OS X.

Ξεκινάμε με την εξαγωγή:

sub0@opensuse:~> gpg --list-secret-keys
/home/sub0/.gnupg/secring.gpg
-----------------------------
sec   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
ssb   2048R/6A85AB25 2011-03-12

sub0@opensuse:~> gpg --armor --output subZraw-cert.asc --export-secret-key EBDCE7DA

sub0@opensuse:~> cat subZraw-cert.asc
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v2.0.16 (GNU/Linux)

lQO+BE17k9cBCACxxFy0NOFJXR+wDd8rWUfRDhlNu8fIxnma8cnNFNIPpAvqN47O
EW/vr0n8vHtQN94w0BnQSxdyd8ukSuAYGARISvhhDiQVjCmvQVedPJwxi0YxqVHf
...
5D5xTlimPKO6NfSxaRsntYAbmN1mUiWBquwLdGiMVqjFMEBZChha4lkbJLxcrRNk
aDD2KE70gNuqSHkED2M=
=3K5s
-----END PGP PRIVATE KEY BLOCK-----
sub0@opensuse:~>

Παρατηρήστε ότι η εντολή που χρησιμοποιήσαμε έχει το μάλλον παραπλανητικό όνομα –export-secret-key. Τώρα, με κάποιον ασφαλή τρόπο ο sub0 πρέπει να στείλει στον cvar το ιδιωτικό του κλειδί – στο παράδειγμά μας το αρχείο subZraw-cert.asc. Ένας τρόπος για να το πετύχει είναι να το κρυπτογραφήσει με το δημόσιο κλειδί του cvar και μετά να του το στείλει ως συνημμένο σε e-mail. Εναλλακτικά, αν υπάρχει δυνατότητα μπορεί να του το στείλει μέσω SSH. Όπως και να ‘χει, υποθέτουμε ότι το αρχείο subZraw-cert.asc φτάνει στο λογαριασμό του cvar. Ας δούμε πώς το εισάγει στο keyring του:

imac24:~ cvar$ gpg --import subZraw-cert.asc
gpg: key EBDCE7DA: secret key imported
gpg: key EBDCE7DA: "subZraw (Underworld SA) <subZraw@defiant.gr>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1
imac24:~ cvar$

(Το δεύτερο μήνυμα που επιστρέφει το gpg στο παράδειγμά μας οφείλεται στο γεγονός ότι στο public keyring του Christos Varelas είναι ήδη εισηγμένο το δημόσιο κλειδί του subZraw.) Πριν την εισαγωγή του subZraw-cert.asc, το private keyring του Christos Varelas ήταν το ακόλουθο:

imac24:~ cvar$ gpg --list-secret-keys
/Users/cvar/.gnupg/secring.gpg
------------------------------
sec   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
ssb   2048R/BCBB10FD 2011-03-13

Τώρα, μετά την εισαγωγή του πιστοποιητικού, το ίδιο private keyring έχει ως ακολούθως:

imac24:~ cvar$ gpg --list-secret-keys
/Users/cvar/.gnupg/secring.gpg
------------------------------
sec   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
ssb   2048R/BCBB10FD 2011-03-13

sec   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
ssb   2048R/6A85AB25 2011-03-12
imac24:~ cvar$

Όλα καλά κι ωραία.

Διαγραφή δημοσίου ή/και ιδιωτικού κλειδιού
Για οποιονδήποτε λόγο ενδέχεται να θέλουμε τη διαγραφή ενός δημοσίου κλειδιού από το keyring μας. Αυτή επιτυγχάνεται εύκολα κι ο ακριβής τρόπος φαίνεται στο ακόλουθο παράδειγμα, όπου από το keyring του subZraw διαγράφουμε το δημόσιο κλειδί του Richard Stallman:

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12

pub   1024D/135EA668 2001-03-05
uid                  Richard Stallman (Chief GNUisance) <rms@gnu.org>
sub   1024g/B1B10ED6 2001-03-05

pub   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
sub   2048R/BCBB10FD 2011-03-13

sub0@opensuse:~> gpg --delete-key 135EA668
gpg (GnuPG) 2.0.16; Copyright (C) 2009 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub  1024D/135EA668 2001-03-05 Richard Stallman (Chief GNUisance) <rms@gnu.org>

Delete this key from the keyring? (y/N) y

sub0@opensuse:~> gpg --list-keys
/home/sub0/.gnupg/pubring.gpg
-----------------------------
pub   2048R/EBDCE7DA 2011-03-12
uid                  subZraw (Underworld SA) <subZraw@defiant.gr>
uid                  subZraw (This ain't Jim Beam) <subZraw@parabing.com>
sub   2048R/6A85AB25 2011-03-12

pub   2048R/5B17EF55 2011-03-13
uid                  Christos Varelas (We bear gifts) <christos.varelas@defiant.gr>
uid                  Christos Varelas (Bring the Defiant about) <cvar@defiant.gr>
uid                  Christos Varelas (We scare because we care) <cvarelas@gmail.com>
sub   2048R/BCBB10FD 2011-03-13
sub0@opensuse:~> 

Εντελώς παρόμοια γίνεται και η διαγραφή ιδιωτικών κλειδιών, μόνο που σε μια τέτοια περίπτωση στο gpg δίνουμε την παράμετρο –delete-secret-key (βλ. και παράδειγμα στην ενότητα “Ανάκληση κλειδιού”).

Το GnuPG στην πράξη!
Πλέον γνωρίζουμε όλα τα απαραίτητα -και λίγα περισσότερα- γύρω από τη χρήση του GPG, κυρίως όσον αφορά στη διαχείριση των κλειδιών. Σ’ αυτό το άρθρο περνάμε σε πρακτικά παραδείγματα, όπου συγκεκριμένα δείχνουμε πώς κρυπτογραφούμε, αποκρυπτογραφούμε και υπογράφουμε mail ή/και αρχεία. Επιπρόσθετα, παρουσιάζουμε κι ορισμένα προγράμματα διαχείρισης για το περιβάλλον γραφικών, τα οποία διευκολύνουν σημαντικά την καθημερινή αλληλεπίδραση με το GPG.

Σας άρεσε το άρθρο; Αν ναι, τι θα λέγατε για ένα tip στο PayPal;

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

Αρχείο δημοσιεύσεων