Μία πρακτική Εισαγωγή στο Φρουρό Απορρήτου του GNU (GNU Privacy Guard) για Windows
Copyright © 2003 Brendan Kidwell. Παραχωρείται η άδεια αντιγραφής,
διανομής και / ή τροποποιήσεως του παρόντος κειμένου υπό τους όρους της
Αδείας Ελευθέρας Τεκμηριώσεως του GNU, Εκδόσεως 1.1 ή μεταγενεστέρας,
εκδοθείσης υπό του Ιδρύματος Ελευθέρου Λογισμικού· άνευ Αμεταβλήτων
Τμημάτων, άνευ Κειμένων Εξωφύλλου, και άνευ Κειμένων Οπισθοφύλλου. Ένα
αντίγραφο αυτής της αδείας είναι διαθέσιμο στο Διαδίκτυο, στη διεύθυνση
http: //www.gnu.org /copyleft /fdl.html .
Οι πληροφορίες οι περιεχόμενες σε αυτό το κείμενο παρέχονται ως έχουν. Ο συγγραφέας δε θα θεωρείται υπόλογος για οποιεσδήποτε ζημίες προερχόμενες από τη χρήση αυτών των πληροφοριών.
Παρατηρήσεις / σχόλια και κριτική είναι ευπρόσδεκτα. Παρακαλώ δείτε τη σελίδα αυτού του κειμένου, στο δικτυακό μου σταθμό (web site), στη διεύθυνση http: //www .glump .net /content /gpg_intro/ .
Αυτό το εγχειρίδιο θα σας δείξει τον τρόπο χρήσεως του ελευθέρου συστήματος κρυπτογραφίας δημοσίου κλειδιού (public key cryptography - PKI), του Φρουρού Απορρήτου του GNU (GNU Privacy Guard - GPG). Το GPG παρέχει λειτουργίες για κρυπτογράφηση και αποκρυπτογράφηση στοιχείων, και για τη δημιουργία και πιστοποίηση γνησιότητας υπογραφών, με τη χρήση κρυπτογραφίας δημοσίου κλειδιού.
Ενώ το GPG είναι διαθέσιμο για πολλά διαφορετικά περιβάλλοντα, συμπεριλαμβανομένου του Windows, οι οδηγίες οι οποίες παρουσιάζονται εδώ είναι κατά τι προσανατολισμένες στο περιβάλλον Windows, οπουδήποτε χρειαζόταν να είμαι συγκεκριμένος. Οι περισσότεροι από τους συνεργάτες μου χρησιμοποιούν αποκλειστικά Windows, και αυτοί οι οποίοι δε ζουν σε περιβάλλον Windows είναι πιθανώς τουλάχιστον αρκετά οικείοι με το Windows ώστε να καταλάβουν αυτό το οποίο προσπαθώ να μεταφέρω με τα παραδείγματα.
Ξεκινάω με την παραδοχή ότι θα χρησιμοποιείτε το GPG χωρίς οποιεσδήποτε πρόσθετες επεκτάσεις, όπως το WinPT1.1 ή το GPGShell1.2, δύο γραφικά περιβάλλοντα προγράμματα (front-ends). Τα περιβάλλοντα προγράμματα του GPG είναι όμορφα, και σας απαλλάσσουν από την υποχρέωση να θυμάστε την ακριβή σύνταξη της κάθε εντολής, αλλά ορισμένες φορές δεν είναι διαθέσιμα, και είναι σημαντικό να έχετε μία λειτουργική γνώση του συστήματος το οποίο λειτουργεί στο παρασκήνιο. Χρήστες οι οποίοι θα αποστέλλουν και θα λαμβάνουν κρυπτογραφημένο e-mail σε καθημερινή βάση, θα προτιμήσουν να βρουν κάποιο πρόγραμμα e-mail το οποίο λειτουργεί σε στενή συνεργασία με το GPG, ή έχει ένα άμεσο πρόσφυμα (plugin) το οποίο παρέχει πρόσβαση στο GPG.
Σε αυτό το εγχειρίδιο, θα σας δείξω τον τρόπο χρήσεως των περισσότερο σημαντικών εντολών του GPG. Το GPG έχει πολλές εντολές και κάθε εντολή έχει αρκετές παραλλαγές. Οι περισσότερες εντολές και επιλογές του GPG, έχουν μονογράμματες συντομεύσεις. Χάριν σαφηνείας, αυτές οι σύντομες εκδοχές δε θα χρησιμοποιηθούν σε αυτό το εγχειρίδιο. Για λεπτομερείς πληροφορίες σχετικά με όλες τις διαθέσιμες εντολές και επιλογές, δείτε το εγχειρίδιο του GPG, διαθέσιμο στο δικτυακό σταθμό του GPG, ή στο αρχείο gpg.man, το οποίο περιλαμβάνεται στο λογισμικό.
Θα ξεκινήσω λαμβάνοντας ως δεδομένο ότι γνωρίζετε πώς να κινηθείτε μέσα στο Windows και τη Γραμμή Εντολής του. Εάν χρειασθείτε κάποια βοήθεια επ’ αυτού, ρίξτε μια ματιά στις χρήσιμες συμβουλές στο τέλος του Παραρτήματος Α πριν συνεχίσετε.
Παρακαλώ έχετε υπ’ όψιν σας ότι όταν σας λέω να εκτελέσετε μία εργασία στη γραμμή εντολής, υποθέτω ότι έχετε μεταβεί στο φάκελο όπου βρίσκονται τα σχετικά με το παράδειγμα αρχεία.
Η πλέον πρόσφατη έκδοση αυτού του κειμένου, και μία σελίδα με σχόλια, είναι διαθέσιμα στη διεύθυνση http: //www .glump .net /content /gpg_intro/ . Παρακαλώ αποστείλετε οποιαδήποτε σχόλιά σας εκεί.
Ο Φρουρός Απορρήτου του GNU είναι ελεύθερα διαθέσιμος στη διεύθυνση http://www.gnupg.org/, για μία ποικιλία λειτουργικών συστημάτων, συμπεριλαμβανομένων του Windows, του Linux, πολλών εκδόσεων του Unix, και του Mac OS X.
Έχετε υπ’ όψιν σας ότι εάν έχετε το Cygwin (ένα περιβάλλον λογισμικού το οποίο παρέχει σε ένα σύστημα Windows μεγάλο ποσοστό της λειτουργικότητας ενός συστήματος Linux) πιθανώς να έχετε ήδη εγκατεστημένο το GPG. Προσπαθήστε να εκτελέσετε την εντολή “gpg --version” στη γραμμή εντολής.
Για να εγκαταστήσετε το GPG στον υπολογιστή σας, πρώτα επισκεφθείτε το δικτυακό σταθμό του GPG2.1 και μεταφέρετε (“κατεβάστε”) το πακέτο (αρχείο εγκαταστάσεως) για Windows, από τη σελίδα των μεταφορών (Downloads). Αναζητήστε τις παραπομπές (links) που αναφέρουν “GPG [some version number] compiled for Microsoft Windows” (GPG [κάποιος αριθμός εκδόσεως] μεταγλωττισμένο για Microsoft Windows). Θα χρειασθείτε μία εφαρμογή ικανή να διαβάζει αρχεία Zip ώστε να αποσυμπιέσετε το συμπιεσμένο αρχείο. Αποσυμπιέστε τα περιεχόμενα του συμπιεσμένου αρχείου σε ένα νέο φάκελο με όνομα gnupg στο δίσκο C: του υπολογιστή σας (c:\gnupg).
Τέλος, ενημερώστε τη μεταβλητή περιβάλλοντος PATH, ούτως ώστε
το Windows να γνωρίζει πού θα βρει την εφαρμογή. Στα Windows
NT/2000/XP, θα βρείτε τη ρύθμιση της μεταβλητής περιβάλλοντος PATH
ως εξής: Πίνακας Ελέγχου → Ιδιότητες Συστήματος → σελιδοδείκτης για
έμπειρους χρήστες (“για Προχωρημένους”) → Μεταβλητές Περιβάλλοντος →
Μεταβλητές Συστήματος (Control Panel → System Properties → the Advanced
tab → Environment Variables → System variables). Στα Windows 95/98/ME,
θα τη βρείτε στο αρχείο c:\autoexec.bat. Οι τιμές αυτής της μεταβλητής χωρίζονται με (λατινικές) άνω τελείες, επομένως προσθέστε “;c:\gnupg” στο τέλος της μεταβλητής. Για παράδειγμα, εάν η μεταβλητή PATH στο δικό σας περιβάλλον έχει ως
c:\windows;c:\utils
c:\windows;c:\utils;c:\gnupg
Δοκιμάστε το. Στη γραμμή εντολής, πληκτρολογήστε
gpg (GnuPG) 1.2.1 Copyright (C) 2002 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Home: c:/gnupg Supported algorithms: Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA, ELG Cipher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH Hash: MD5, SHA1, RIPEMD160 Compress: Uncompressed, ZIP, ZLIB
Είναι δυνατόν να εγκαταστήσετε το GPG σε κάποιο φάκελο διαφορετικό από τον c:\gnupg. Πιθανόν να αντιληφθήκατε ένα αρχείο κειμένου, στο πακέτο του GPG, με όνομα gnupg-w32.reg. Αυτό περιέχει ένα σύνολο εγγραφών του Μητρώου του Windows (Registry Keys), τις οποίες μπορείτε να εισάγετε, και οι οποίες θα πληροφορούν το GPG για την τοποθεσία των συνοδευτικών του αρχείων. Αποσυμπιέστε ολόκληρο το συμπιεσμένο αρχείο στο φάκελο όπου επιθυμείτε να το εγκαταστήσετε αντί του c:\gnupg. Ανοίξτε το gnupg-w32.reg με έναν επεξεργαστή απλού κειμένου όπως το Σημειωματάριο (Notepad), ώστε να αλλάξετε τις τρεις αναφορές στο φάκελο c:\\GnuPG σε οτιδήποτε επιθυμείτε (παρατηρήστε τη διπλή ανάποδη κάθετο που χρησιμοποιείται ως διαχωριστικό μεταξύ φακέλων, αντί της απλής ανάποδης καθέτου). Τώρα δώστε την εντολή στο Windows να εισάγει το gnupg-w32.reg, είτε με διπλό κλικ πάνω του, στον Explorer, είτε με την εντολή start, στη γραμμή εντολής.
Για παράδειγμα, έστω ότι επιθυμείτε να εγκαταστήσετε το GPG στο c:\utils\gpg. Θα ενημερώνατε το gnupg-w32.reg, ως εξής:
REGEDIT4
[HKEY_CURRENT_USER\Software\GNU\GNUPG]
"HomeDir"="C:\\utils\\gpg"
"gpgProgram"="C:\\utils\\gpg\\gpg.exe"
[HKEY_CURRENT_USER\Control Panel\Mingw32\NLS]
"MODir"="C:\\utils\\gpg\\Locale"
και έπειτα θα εκτελούσατεΜετά από αυτά, ενημερώστε αναλόγως τη μεταβλητή περιβάλλοντος PATH (όπως εξηγείται στο προηγούμενο τμήμα).
Η εγκατάσταση σε λειτουργικά συστήματα παρόμοια με το Unix καλύπτεται επαρκώς στο δικτυακό σταθμό του GPG – στην πραγματικότητα, οι περισσότερες διανομές Linux συμπεριλαμβάνουν το GPG, ούτως ώστε δε θα πρέπει να σας απασχολεί η εγκατάστασή του. Δείτε “Περαιτέρω Μελέτη” για περισσότερες πληροφορίες.
Αρκετοί αναγνώστες με ρώτησαν εάν είναι δυνατόν να πιστοποιηθεί η γνησιότητα του πακέτου εγκαταστάσεως του GPG, χωρίς να χρησιμοποιηθεί το ίδιο το GPG για την πιστοποίηση. Αυτό είναι χρήσιμο να γίνει εάν μεταφέρατε το GPG από κάποιον τοπικό σταθμό, και επιθυμείτε να είστε βέβαιοι ότι κανείς δεν το έχει τροποποιήσει κακόβουλα.
Ναι, αυτό είναι δυνατόν να γίνει, αλλά συνιστώ αυτό το βήμα μόνο στους αναγνώστες οι οποίοι έχουν ιδιαιτέρως έντονη τη συναίσθηση της ασφαλείας. Κατ’ αρχήν, χρειάζεται να βρείτε κάποια εφαρμογή η οποία ελέγχει τιμές md5sum (βλ. Κεφ. 5, υποσημ. 1). Μία σύντομη αναζήτηση με το Google, με οδήγησε σε μία τέτοια εφαρμογή, στο σταθμό ActiveState: http: //downloads.activestate.com /contrib /md5sum /Windows /md5sum.exe . Μεταφέρετε αυτό το αρχείο και αποθηκεύστε το όπου σας εξυπηρετεί. Μπορείτε να το αποθηκεύσετε στο φάκελο system32, μέσα στο φάκελο του Windows· εγώ προτιμώ να αποθηκεύω τέτοιου είδους βοηθητικές εφαρμογές (utilities) σε δικό τους ξεχωριστό φάκελο, με όνομα c:\utils, και έπειτα να ενημερώνω τη μεταβλητή περιβάλλοντος PATH ώστε να περιλαμβάνει και αυτόν το φάκελο (όπως εξηγήθηκε ανωτέρω).
Από τη στιγμή που αυτή η προκαταρκτική διαδικασία έχει
πραγματοποιηθεί, ανοίξτε ένα παράθυρο γραμμής εντολής και μεταβείτε στο
φάκελο όπου έχετε αποθηκεύσει το συμπιεσμένο πακέτο εγκαταστάσεως του
GPG. Πληκτρολογήστε κάτι παρόμοιο με την ακόλουθη εντολή:
Έπειτα, επισκεφθείτε πάλι το δικτυακό σταθμό του GPG και βρείτε τη σελίδα με τίτλο “Έλεγχος Ακεραιότητας” (“Integrity Check”), στο τμήμα “Μεταφορές”. Στο κάτω μέρος της σελίδας, θα πρέπει να βρείτε τη “Σύνοψη MD5 Sum”, στην οποία θα πρέπει να υπάρχει ένας αριθμός για το πακέτο εγκαταστάσεως το οποίο μόλις ελέγξατε με τη χρήση της εφαρμογής md5sum. Εάν ο αριθμός ταιριάζει με το ψηφιακό αποτύπωμα το οποίο σημειώσατε προηγουμένως, τότε όλα έχουν καλώς – έχετε ένα γνήσιο, ακέραιο αντίγραφο του GPG.
Το GPG χρησιμοποιεί κρυπτογραφία δημοσίου κλειδιού για την κρυπτογράφηση και την υπογραφή μηνυμάτων. Η κρυπτογραφία δημοσίου κλειδιού χρησιμοποιεί το δημόσιο κλειδί σας το οποίο διανέμεται στο κοινό και χρησιμοποιείται για να κρυπτογραφήσει μηνύματα τα οποία θα αποσταλούν σε εσάς και για να αποκρυπτογραφήσει υπογραφές τις οποίες εσείς έχετε δημιουργήσει, και το προσωπικό κλειδί σας, το οποίο συμπληρώνει το δημόσιο κλειδί σας επιτρέποντάς σας να αποκρυπτογραφήσετε μηνύματα τα οποία λαμβάνετε και να κρυπτογραφήσετε υπογραφές. Τα δύο μαζί, αναφέρονται ως ζεύγος κλειδιών.
Όταν δημιουργείτε ένα ζεύγος κλειδιών, αμφότερα το δημόσιο και το προσωπικό πρέπει να αποθηκευθούν στον υπολογιστή σας. Αυτό αποτελεί έναν κίνδυνο για την ασφάλεια, διότι οποιοσδήποτε μπορεί να αποκτήσει πρόσβαση στο προσωπικό σας κλειδί μπορεί να αποκρυπτογραφήσει τα μηνύματά σας, και να παρουσιάσει τον εαυτό του ως εσάς (πλαστοπροσωπία). Δεν είναι δυνατόν να απομνημονεύσετε το προσωπικό σας κλειδί και να το διαγράψετε από τον υπολογιστή σας – είναι πάρα πολύ μεγάλο (συνήθως τουλάχιστον 1.024 bit – είναι σαν να απομνημονεύετε έναν 300ψήφιο αριθμό τηλεφώνου!). Εκτός αυτού, ακόμα και αν μπορούσατε να το απομνημονεύσετε, θα απαιτούσε πάρα πολύ χρόνο για να το πληκτρολογήσετε κάθε φορά που επιθυμείτε να το χρησιμοποιήσετε.
Η πρακτική λύση σε αυτό το πρόβλημα είναι να προχωρήσετε ένα βήμα παραπέρα και να κρυπτογραφήσετε το προσωπικό σας κλειδί με τη χρήση μίας ευλόγως σύντομης συνθηματικής φράσεως ως κλειδί για το κλειδί· αυτός είναι ο τρόπος με τον οποίο λειτουργεί το GPG. Κάθε φορά που ακολουθείτε μία διαδικασία η οποία χρησιμοποιεί το προσωπικό σας κλειδί, το GPG διαβάζει το κρυπτογραφημένο κλειδί από το δίσκο, σας ζητεί τη συνθηματική σας φράση, αποκρυπτογραφεί το κλειδί στη μνήμη, και τελικά το χρησιμοποιεί. Για να λειτουργήσει το σύστημα αυτό, θα πρέπει να έχετε μία από κρυπτογραφικής απόψεως ισχυρή συνθηματική φράση – τέτοια ώστε να μην είναι δυνατόν κάποιος να τη μαντέψει ή να αποκαλυφθεί μέσω μίας επιθέσεως με ωμή βία3.1. Για παράδειγμα, η λέξη “πορτοκάλι” είναι τόσο μικρή ώστε μία επίθεση λεξικού3.2 θα την αποκαλύψει σε δευτερόλεπτα, και το πλήρες όνομα της φιλενάδας σας είναι κακή επιλογή διότι οποιοσδήποτε σας γνωρίζει θα μπορούσε να μαντέψει ότι το χρησιμοποιήσατε ως συνθηματική σας φράση.
Αυτό που πραγματικά χρειάζεσθε είναι μία πραγματικά καλή πηγή κάποιας τυχαίας ακολουθίας λέξεων.
Θα ήταν δυνατόν να δοκιμάσετε να χρησιμοποιήσετε τον υπολογιστή σας για να δημιουργήσετε μία τυχαία ακολουθία λέξεων ως συνθηματική φράση για το προσωπικό σας κλειδί, αλλά αυτή είναι εν γένει κακή ιδέα διότι οι υπολογιστές είναι θεωρητικά ανίκανοι να παράγουν πραγματικά τυχαίους αριθμούς. Η καλύτερη λύση λέγεται ότι είναι η ρίψη κύβων (ζαριών) και ένας κατάλογος λέξεων, όπως ο Diceware.
Η διαδικασία είναι αρκετά απλή. Ο δημιουργός του καταλόγου Diceware συνέθεσε ένα κείμενο, το οποίο περιέχει περίπου 8.000 μικρές λέξεις, ταξινομημένες με οδηγό έναν πενταψήφιο με βάση 6 αριθμό, με ψηφία από 1 έως 6 αντί από 0 έως 5 – τέλειο για την αναζήτηση αριθμών τυχαίως παραχθέντων με τη ρίψη κύβων.
Μεταφέρετε (“κατεβάστε”) τον κατάλογο από τη διεύθυνση http://www.diceware.com/ και ανοίξτε τον σε έναν επεξεργαστή (απλού) κειμένου (όπως το Σημειωματάριο – Notepad). Τώρα, ρίξτε έναν κύβο πέντε φορές και καταγράψτε τα αποτελέσματα. Αναζητήστε αυτόν τον αριθμό στον κατάλογο και σημειώστε τη λέξη η οποία αντιστοιχεί σε αυτόν. Για παράδειγμα, έστω ότι φέρατε 3, 5, 6, 2, 3. Θα αναζητούσατε τη λέξη υπ’ αριθμόν 35623 στον κατάλογο λέξεων, τη λέξη “ladle”, και θα τη σημειώνατε. Ως έναν εύλογο συμβιβασμό μεταξύ ευκολίας απομνημονεύσεως και ασφαλείας, ο δημιουργός του Diceware συνιστά την επανάληψη της όλης διαδικασίας πέντε φορές, ώστε να παραχθεί μία συνθηματική φράση αποτελούμενη από πέντε λέξεις.
Τώρα, που έχετε τη συνθηματική σας φράση, είστε έτοιμος / η να
δημιουργήσετε το προσωπικό σας ζεύγος κλειδιών. Στη γραμμή εντολής,
πληκτρολογήστε
Έπειτα, σας ζητεί το μέγεθος του κλειδιού. Και πάλι, επιλέξτε την αρχικώς προσφερόμενη επιλογή, “1024”. Εάν το κλειδί σας είναι πολύ μικρό, είναι ευκολότερο να αποκαλυφθεί· εάν είναι πολύ μεγάλο, τότε κάθε εργασία η οποία το χρησιμοποιεί μπορεί να εκτελείται πολύ αργά.
Η επομένη προτροπή σας ζητεί πότε (εάν) η ισχύς του κλειδιού θα πρέπει να λήξει. Ο ορισμός μίας ημερομηνίας λήξεως, μετά από κάποιο χρονικό διάστημα, προσθέτει κάτι παραπάνω από απόψεως ασφαλείας, διότι αρχεία τα οποία κρυπτογραφούνται μετά από αυτήν την ημερομηνία δε συνδέονται, καθ’ οιονδήποτε τρόπο, με το παλαιό κλειδί. Το μειονέκτημα, φυσικά, είναι ότι οποιοσδήποτε με τον οποίον αλληλογραφείτε πρέπει να αποκτήσει το νέο σας κλειδί όταν το παλαιό λήξει. Στην προτροπή, επιλέξτε μία εύλογη χρονική περίοδο ως χρόνο ζωής του κλειδιού σας, ή επιλέξτε “key does not expire” (“το κλειδί δε λήγει”).
Εισάγετε τώρα Πραγματικό Όνομα και Διεύθυνση E-Mail, τα οποία θα χρησιμοποιηθούν για την αναγνώριση του κλειδιού στις συλλογές κλειδιών του οποιουδήποτε, όχι μόνο στη δική σας. Εάν δεν αισθάνεσθε άνετα με τη σύνδεση του πλήρους πραγματικού σας ονόματος με το κλειδί σας, βεβαιωθείτε ότι θα επιλέξετε κάτι μοναδικό, ώστε το κλειδί σας δε θα εκληφθεί λόγω συχγύσεως ως το κλειδί οποιουδήποτε άλλου.
Τέλος, πληκτρολογήστε τη συνθηματική φράση την οποία συνθέσατε με τη χρήση του Diceware. Το GPG δε θα σας δώσει κάποια ένδειξη καθώς πληκτρολογείτε τη συνθηματική σας φράση – δε θα εμφανίσει αστερίσκους ή κενά όπως συμβαίνει στις περισσότερες περιπτώσεις εισαγωγής συνθηματικών. Αυτό είναι ένα ακόμα μέτρο ασφαλείας3.3. Αφού πληκτρολογήσετε και επιβεβαιώσετε (με επαναπληκτρολόγηση) τη συνθηματική σας φράση, το GPG θα αρχίσει να “αλέθει” αριθμούς, για να παράξει όλα τα τυχαία ψηφία τα οποία χρειάζεται για το ζεύγος των κλειδιών σας. Χρησιμοποιεί κάθε είδους πηγή εντός του υπολογιστή σας για να εξομοιώσει τυχαίες συνθήκες, συμπεριλαμβανομένης της εισαγωγής στοιχείων από το πληκτρολόγιο – επομένως εάν επιθυμείτε να συντομεύσετε τη διαδικασία, πληκτρολογήστε κάποιους τυχαίους χαρακτήρες στο πληκτρολόγιο.
Ο ευκολότερος τρόπος για να δημοσιευθεί το δημόσιο κλειδί σας είναι απλώς η απ’ ευθείας αποστολή του σε ανθρώπους οι οποίοι το χρειάζονται. Φυσικά, αυτός είναι επίσης ένας από τους λιγότερο ασφαλείς τρόπους για να το κάνετε – e-mail και ιστοσελίδες με τη μορφή απλού κειμένου είναι δυνατόν (θεωρητικά, τουλάχιστον) να γίνουν το αντικείμενο επιθέσεως από παρεμβαλλόμενο3.4. Περισσότερο ασφαλείς μέθοδοι ανταλλαγής κλειδιών χρησιμοποιούν συστήματα όπως δίκτυα εμπιστοσύνης και διακομιστές κλειδιών (key servers), τα οποία είναι πέρα από το αντικείμενο αυτού του εγχειριδίου. Εάν δεν πιστεύετε συγκεκριμένα ότι κάποιος θα προσπαθήσει να σας επιτεθεί, μπορείτε να αισθάνεσθε άνετα με τη μέθοδο η οποία περιγράφεται εδώ.
Έχετε προειδοποιηθεί. Η ανταλλαγή δημοσίων κλειδιών χωρίς κάποιο έμπιστο μέσο μπορεί να γίνει αντικείμενο επιθέσεως από παρεμβαλλόμενο.
Για να διαβιβάσετε το δημόσιο κλειδί σας μέσω του Διαδικτύου, το πρώτο βήμα είναι να το εξάγετε σε μορφή κειμένου ASCII3.5.
Ανοίξτε ένα παράθυρο γραμμής εντολής και μεταβείτε σε ένα φάκελο όπου
επιθυμείτε να αποθηκεύσετε το αρχείο το οποίο θα περιέχει το κλειδί.
Πληκτρολογήστε
Ανοίξτε το αρχείο που δημιουργήθηκε, το key.txt. Θα πρέπει να δείτε κάτι παρόμοιο με αυτό:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.1 (MingW32)
mQGiBD+M33cRBACZdhrbgAAeJopftRT639udlrQJLH3jmiT/XD+n0/S+dPJztXkw
V2/N+hCfmObz9h3p9cOAnSLbaqOeRY7f4G6XP+a4V0LbKqiLhnDf+7upq/VHop5M
6UQHYc370iU5cZs4HdRMfvxtwngCiCMuTZmKkl3aedewd8bttxvvZKKkAwCg2j76
N3LHqWOuCjKys5Ely5ApHcMD/R0PAZRAs5XRNop9zGsYq7PVvlkiR7ZpnY3lfeQT
ZDxjsh3l9UMfM0yEmjYYTzSzPoQxp3IA9UcqjVK17FFrzEwegQMpofFx4FDepsuN
cWJevD2bXRnc7fnjB/hVTyFlueMPFJOHDyAHuxF6fDgXSSij0XoUbSaNiPzL5QHQ
ZmcnA/sG8+jFtIq5x1xDw57Xpk19BB3ds/dOp6X9YbFFgPqzNDMbDRj17TVAlnd9
DH6zxeMgP59L/3A6O2rnIqHmkJeaUlBKofdxth5Uz292kNPXgQafTDKA1Jg5mbGx
NGPRoNDa96RxO2XbEcOqn0aRdj0AnOFQRlhz2XbL9YjTFvRfi7QkQWNoaWxsZXVz
ICgwKSA8YWNoaWxsZXVzQG1haWxib3guZ3I+iFkEExECABkFAj+M33cECwcDAgMV
AgMDFgIBAh4BAheAAAoJEKfLnnF+aerXzssAoMyW9T8PBumLX5l2agua2/tk4dRF
AJ4ojg9KjdtnFxlDMeVD7Wnbx5FGKLkBDQQ/jN95EAQAhEd83491Jo+19ADa5+k4
PayXy8rm3Fbue9fvniZyP6051Tb2ZWZT016A5OarjQWVuyUGn4JxgWWMyWavv5V3
TqP213CkmTxwKi5CTveFUCiq2j9E/cJZFmD1OBKJtxhaRmqxvuSOBiTISKvM1Dwd
F1JpCMkyyZU3LzSSxNh7SssAAwUD/jX6JSzb6IhnfIPUxZjtBLu6HuUfx0Fa2HA7
jeUu1d3F938Y6UIfAlMIjf2CB4fxmDcawma2Mm+45d27CmqkpTNOZBvvp4TZKyzA
6dOtZBYoSJcaMt2tZhm4HBXsli2LXA8jQ2kGRMLNliidqjV/h4arYnB7vO0bt6a1
VYLU3v7uiEYEGBECAAYFAj+M33kACgkQp8uecX5p6tcSOQCfUO0myJaXGBQ16n6v
rAEwHkiBHx4AnRkFF+gCi8uv6WjE+UxaEDOBUD1y
=ssVm
-----END PGP PUBLIC KEY BLOCK-----
Αντιγράψτε ολόκληρο το περιεχόμενο αυτού του αρχείου, μαζί με τις γραμμές οι οποίες ξεκινούν με “-----”, και προσαρτήστε το (paste) σε μία ιστοσελίδα ή σε ένα μήνυμα e-mail προς κάποιον άλλο. Αυτή είναι όλη η διαδικασία που χρειάζεται για την εξαγωγή του δημοσίου κλειδιού σας.
Σημείωση: είναι δυνατόν να εξάγετε το προσωπικό σας κλειδί κατά τον ίδιον τρόπο, με την εντολή “--export-secret-keys” αντί της “--export”. Αυτό είναι χρήσιμο για την τήρηση εφεδρικών αντιγράφων ή για τη μεταφορά του σε κάποιον άλλον υπολογιστή, εφ’ όσον γνωρίζετε τι κάνετε και μπορείτε να είστε βέβαιος / α ότι το νέο αντίγραφο θα είναι ασφαλές. Βεβαιωθείτε ότι ποτέ δε δημοσιεύετε κατά λάθος το προσωπικό σας κλειδί! Πριν δημοσιεύσετε ένα κλειδί σε μορφή κειμένου ASCII, ελέγξτε ότι η πρώτη γραμμή περιέχει τη λέξη “PUBLIC”, όχι “PRIVATE”.
Η ασφαλής φύλαξη των αρχείων σας, τα οποία περιέχουν τα κλειδιά που δημιουργήσατε με το GPG, είναι το ίδιο σημαντική όσο και η απομνημόνευση της συνθηματικής σας φράσεως – η συνθηματική φράση σας δεν ωφελεί εάν δεν έχετε ένα αντίγραφο του πλήρους προσωπικού σας κλειδιού στον υπολογιστή σας. Εάν το αρχείο το οποίο περιέχει το κλειδί σας καταστραφεί, δεν υπάρχει κανείς απολύτως τρόπος να το αναδημιουργήσετε, εκτός από τη διενέργηση κρυπταναλύσεως επί των ιδίων των αρχείων σας. Για να δημιουργήσετε εφεδρικά αντίγραφα (αντίγραφα ασφαλείας) των κλειδιών τα οποία δημιουργήσατε με το GPG, συμπεριλαμβανομένων και των προσωπικών σας κλειδιών, εντοπίστε τα αρχεία pubring.gpg, secring.gpg, και trustdb.gpg στο φάκελο όπου έχετε εγκαταστήσει το GPG, και αντιγράψτε τα σε κάποιο ασφαλές μέσο, όπως ένας δίσκος CD-R. Αποθηκεύστε αυτόν το δίσκο σε κάποιο ασφαλές μέρος, όπου πιθανοί κακόβουλοι δε θα είναι πιθανόν να τον βρουν. (Φυσικά, τα κλειδιά σας είναι ασφαλή για το χρόνο κατά τον οποίον αυτός ο οποίος τα έχει, δε γνωρίζει τη συνθηματική σας φράση).
Τώρα, είστε τελικά έτοιμος / η να κρυπτογραφήσετε κάτι στην πράξη.
Η βασική διαδικασία κρυπτογραφήσεως και αποκρυπτογραφήσεως με το GPG είναι η εξής:
Ο αποστολέας καθορίζει τον παραλήπτη ενός αρχείου, αποκτά το δημόσιο κλειδί του παραλήπτη εάν δεν το έχει ήδη, και έπειτα επεξεργάζεται το αρχικό αρχείο με το GPG, μαζί με αυτό το κλειδί, ώστε να τα μετατρέψει στο κρυπτόγραμμα (το κρυπτογραφημένο αρχείο)4.1. Όταν ο παραλήπτης επιθυμεί να αποκρυπτογραφήσει το αρχείο, εφαρμόζει το προσωπικό του κλειδί στο κρυπτόγραμμα, και το αποτέλεσμα είναι το αρχικό αρχείο.
Στην πραγματικότητα, ο αποστολέας και ο παραλήπτης δεν είναι πάντοτε διαφορετικά πρόσωπα. Μία σημαντική χρήση του GPG είναι η κρυπτογράφηση προσωπικών στοιχείων, και η αποθήκευση των κρυπτογραμμάτων με καταστροφή των αρχικών. Αυτή είναι μία εξαιρετική άμυνα εναντίον φυσικών επιθέσεων κατά κάποιου υπολογιστή ή κάποιου τοπικού διακομιστή αρχείων (file server).
Επιλέξτε ένα αρχείο το οποίο επιθυμείτε να κρυπτογραφήσετε. Για
παράδειγμα, ας υποθέσουμε ότι έχετε ένα ημερολόγιο, όπου κάθε μήνας
είναι ένα νέο αρχείο, και έχετε τελειώσει με το Φεβρουάριο του 2003, το
αρχείο του οποίου έχει όνομα “diary 2003-02.txt”. Έστω ότι
επιθυμείτε να κρυπτογραφήσετε αυτό το αρχείο και έπειτα να το
αποθηκεύσετε σε ένα φάκελο αρχειοθετήσεως ή σε ένα δίσκο CD-R. Στη
γραμμή εντολής, πληκτρολογήστε (σε μία γραμμή)
Υπάρχει μία παρόμοια εντολή, η “--encrypt-files”, η οποία θα επιλέξει και θα ονομάσει αυτομάτως το κρυπτογραφημένο αρχείο· αλλά το όνομα το οποίο επιλέγει, δεν περιέχει την επέκταση του ονόματος του αρχικού αρχείου (.txt, .jpg, .zip, κτλ.), γι’ αυτό μην τη χρησιμοποιείτε.
Τώρα, ας υποθέσουμε ότι μετά από ένα χρόνο από σήμερα αισθάνεσθε
νοσταλγία και επιθυμείτε να διαβάσετε το ημερολόγιο του Φεβρουαρίου του
2003. Θα αντιγράψετε το κρυπτόγραμμα πάλι στο χώρο εργασίας σας στον
υπολογιστή σας, και θα πληκτρολογήσετε στη γραμμή εντολής:
Η κρυπτογράφηση ιδίων αρχείων είναι χρήσιμη, αλλά μία περισσότερο συνήθης χρήση του GPG είναι η αποστολή κρυπτογραφημένων στοιχείων σε κάποιον άλλο. Για να μπορείτε να χρησιμοποιήσετε το GPG για την κρυπτογράφηση κάποιου αρχείου για κάποιον άλλο, χρειάζεσθε το δημόσιο κλειδί αυτού του άλλου.
Όπως ανέφερα προηγουμένως, δύο εξυπηρετικοί τρόποι οι οποίοι
προσφέρουν πρόσβαση στο δημόσιο κλειδί κάποιου, είναι το e-mail και οι
προσωπικές ιστοσελίδες. Ως παράδειγμα, μπορείτε να μεταφέρετε το δημόσιο κλειδί μου από το δικτυακό μου διακομιστή· δοκιμάστε το τώρα. Επισκεφθείτε τη διεύθυνση http: //www.glump.net /signature/
. Σε αυτήν τη σελίδα, θα δείτε ένα γνώριμο κομμάτι κειμένου, το οποίο
αντιπροσωπεύει το δημόσιο κλειδί μου. Αποθηκεύστε ολόκληρη τη σελίδα ως
αρχείο κειμένου. (Με τον Internet Explorer, επιλέξτε τύπο “Αρχείο
Κειμένου” (“Text File”) στο πλαίσιο διαλόγου “Αποθήκευση Ως” (“Save
As”). Ας υποθέσουμε ότι ονομάσατε το αποθηκευμένο αρχείο “brendan.txt”. Στη γραμμή εντολής, πληκτρολογήστε
gpg: key A3CA0378: public key "Brendan Kidwell <brendan@glump.net>" imported gpg: Total number processed: 1 gpg: imported: 1Παρατηρήστε ότι το GPG δεν ενοχλήθηκε από όλο το υπόλοιπο κείμενο της σελίδας. Αναζητεί τη γραμμή η οποία περιέχει τη χαρακτηριστική ακολουθία λέξεων “BEGIN PGP PUBLIC KEY BLOCK”, και αγνοεί οτιδήποτε εκτός από αυτό το συγκεκριμένο κομμάτι κειμένου.
Ένα ακόμα βήμα, το οποίο πρέπει να γίνει μετά την εισαγωγή ενός
κλειδιού από κάποια εξωτερική πηγή, είναι o ορισμός του βαθμού
εμπιστοσύνης σε αυτό. Το GPG είναι παρανοϊκό, και εάν χρησιμοποιήσετε
το κλειδί αμέσως, ως έχει, θα σας αποκριθεί με ένα προειδοποιητικό
μήνυμα, λέγοντας ότι δεν έχετε πιστοποιήσει τη γνησιότητα του κλειδιού.
Για να απαλλαγείτε από αυτό το προειδοποιητικό μήνυμα, χρησιμοποιήστε
την εντολή “--edit-key” του GPG, ώστε να ορίσετε το βαθμό εμπιστοσύνης:
Τώρα είστε έτοιμος / η να κρυπτογραφήσετε το αρχείο. Ας υποθέσουμε
ότι έχετε κάποιο αρχείο το οποίο επιθυμείτε να μου αποστείλετε, με το
όνομα “message to brendan.txt”. Στη γραμμή εντολής, πληκτρολογήστε
Εναλλακτικά, εάν χρειάζεται να αποστείλετε ένα ιδιαίτερα μεγάλο
αρχείο, θα πρέπει να χρησιμοποιήσετε την εντολή encrypt χωρίς την
επιλογή “--armor”:
Εάν επιθυμείτε, μπορείτε να δοκιμάσετε να μου αποστείλετε ένα κρυπτογραφημένο μήνυμα. Θα σας πληροφορήσω εάν το έλαβα σωστά. Εάν επιθυμείτε κρυπτογραφημένη απάντηση, βεβαιωθείτε ότι εσωκλείετε το δημόσιο κλειδί σας, ή πληροφορήστε με πού μπορώ να το βρω.
Ο τρόπος με τον οποίο χειρίζεσθε ένα κρυπτογραφημένο μήνυμα το οποίο έχετε λάβει, εξαρτάται από τον τρόπο με τον οποίο σας έχει αποσταλεί. Όταν λαμβάνετε ένα κρυπτογραφημένο μήνυμα, το σώμα του θα μπορούσε να περιέχει
-----BEGIN PGP MESSAGE-----ακολουθούμενο από μία ακολουθία φαινομενικά τυχαίων χαρακτήρων. Ή, το μήνυμα μπορεί απλώς να έχει κάποιο συνημμένο αρχείο, του οποίου το όνομα λήγει σε “.gpg” ή “.pgp”.
Εάν τα κρυπτογραφημένα στοιχεία είναι στο σώμα του μηνύματος, αποθηκεύστε ολόκληρο το μήνυμα σε ένα αρχείο με την επέκταση “.asc”.
Εάν γνωρίζετε ότι τα κρυπτογραφημένα στοιχεία είναι σε κάποια δυαδική
μορφή, συμπεριλάβετε την αντίστοιχη επέκταση στο όνομα, πριν από την
τελική “.asc”. Για παράδειγμα, εάν γνωρίζετε ότι το μήνυμα περιέχει ένα κρυπτογραφημένο αρχείο του Microsoft Word, ονομάστε το αρχείο “message.doc.asc”. Στη γραμμή εντολής, πληκτρολογήστε
Θυμηθείτε, εάν γνωρίζετε ότι τα κρυπτογραφημένα στοιχεία είναι απλώς
ένα μήνυμα με κάποιο σύντομο κείμενο, μπορείτε να το εμφανίσετε στην
οθόνη αντί να το αποθηκεύσετε σε ένα αρχείο, με την εντολή “--decrypt”:
Εάν τα κρυπτογραφημένα στοιχεία είναι σε ένα συνημμένο αρχείο,
αποθηκεύστε αυτό το αρχείο στον υπολογιστή σας. Στη γραμμή εντολής,
πληκτρολογήστε
Ορισμένες φορές, θα επιθυμείτε να αποστείλετε ένα κρυπτογραφημένο αρχείο σε περισσοτέρους από έναν παραλήπτες. Αυτό όμως, θα μπορούσε να αποτελέσει πρόβλημα, διότι κανείς δε θα πρέπει να έχει το ίδιο προσωπικό κλειδί με οποιονδήποτε άλλο. Θα μπορούσατε, οπωσδήποτε, να δημιουργήσετε ένα ξεχωριστό κρυπτογραφημένο αντίγραφο για κάθε παραλήπτη, αλλά αυτό μπορεί να γίνει κουραστικό, εάν χρειάζεται να αποστείλετε ένα αρχείο σε πέντε ή περισσοτέρους παραλήπτες.
Υπάρχει ένας καλύτερος τρόπος: το GPG σας επιτρέπει να ορίσετε έναν κατάλογο προσώπων, τα οποία μπορούν να αποκρυπτογραφήσουν ένα αρχείο. Το GPG, σε αυτήν την περίπτωση, θα χρησιμοποιήσει τα δημόσια κλειδιά όλων αυτών των προσώπων για να κρυπτογραφήσει τα στοιχεία, κατά τρόπον ώστε οποιοδήποτε από τα προσωπικά τους κλειδιά (και κανενός άλλου) θα μπορεί να αποκρυπτογραφήσει τα στοιχεία.
Η σύνταξη της εντολής είναι απλή. Απλώς χρησιμοποιήστε πρόσθετες εντολές “--recipient” στη γραμμή εντολής. Έστω ότι επιθυμείτε να κρυπτογραφήσετε το ίδιο μήνυμα με το αναφερόμενο στο τμήμα 4.3.2
ανωτέρω, αλλά επιθυμείτε να το αποστείλετε κατά τρόπον ώστε να μπορούμε
και οι δύο να το αποκρυπτογραφήσουμε. Θα πληκτρολογούσατε τα ακόλουθα
στη γραμμή εντολής:
Η αποστολή κρυπτογραφημένου e-mail κατ’ αυτόν τον τρόπο μπορεί να ευκολύνει τη διαχείριση της αποθηκευμένης αλληλογραφίας σας. Κανονικά, όταν αποστέλλετε μη κρυπτογραφημένο e-mail, ένα αντίγραφο του απεσταλμένου μηνύματος αποθηκεύεται κάπου από την εφαρμογή e-mail που χρησιμοποιείτε (εκτός εάν έχετε ορίσει ότι δεν επιθυμείτε να αποθηκεύετε αντίγραφα). Μπορείτε οποτεδήποτε να επιθεωρήσετε τα απεσταλμένα σας μηνύματα, ώστε να θυμηθείτε αυτά τα οποία ειπώθηκαν. Εάν ορίσετε τον παραλήπτη και τον εαυτό σας ως αποδέκτες, όταν ετοιμάζετε ένα κρυπτογραφημένο μήνυμα, τότε μπορείτε να το ανασκοπήσετε, στη συλλογή των αποθηκευμένων μηνυμάτων σας, οποτεδήποτε χρειάζεσθε, με μόνο πρόσθετο βήμα την ανάγκη αποκρυπτογραφήσεώς του προ της ανασκοπήσεως. Δε χρειάζεται να αποθηκεύσετε ένα ξεχωριστό, μη κρυπτογραφημένο αντίγραφο του μηνύματος, ούτε να δημιουργήσετε ένα άλλο αντίγραφο, κρυπτογραφημένο για τον εαυτό σας.
Ο ορισμός πολλών παραληπτών δεν επηρεάζει δυσμενώς το μέγεθος του κρυπτογράμματος. Δοκίμασα να κρυπτογραφήσω ένα μεγάλο (~8MB) συμπιεσμένο δυαδικό αρχείο για έναν, και έπειτα για δύο παραλήπτες. Η διαφορά στο μέγεθος του κρυπτογράμματος ήταν μόνο μερικές εκατοντάδες byte.
Συχνά είναι επιθυμητό να πιστοποιείται η προέλευση των στοιχείων, είτε αυτά είναι κρυπτογραφημένα είτε όχι. Οι λειτουργίες υπογραφής του GPG παρέχουν ένα μέσο πιστοποιήσεως της γνησιότητας.
Η θεωρία είναι απλή. Το δημόσιο και το προσωπικό κλειδί του GPG λειτουργούν και με τους δύο τρόπους· από τη στιγμή την οποία έχετε κρυπτογραφήσει στοιχεία με ένα από τα κλειδιά του ζεύγους, αυτά τα στοιχεία είναι δυνατόν να αποκρυπτογραφηθούν μόνο με τη χρήση του συμπληρωματικού κλειδιού, το οποίο ανήκει στο ίδιο ζεύγος. Κανονικά, το GPG λειτουργεί κρυπτογραφώντας με το δημόσιο κλειδί, ούτως ώστε μόνον ο παραλήπτης μπορεί να αποκρυπτογραφήσει τα στοιχεία, με τη χρήση του προσωπικού του κλειδιού.
Οι ψηφιακές υπογραφές λειτουργούν με τον αντίστροφο τρόπο· τα στοιχεία κρυπτογραφούνται με τη χρήση του προσωπικού κλειδιού του υπογράφοντος. Εάν κάποιος λάβει το αρχείο και επιτύχει να αποκρυπτογραφήσει τα στοιχεία με το δημόσιο κλειδί του υπογράφοντος, τότε, συμπερασματικά, τα στοιχεία θα πρέπει να έχουν κρυπτογραφηθεί από αυτόν τον υπογράφοντα. Επομένως, ο υπογράφων θα πρέπει να δημιούργησε τα στοιχεία ο ίδιος, ή τουλάχιστον να αποδέχεται τα περιεχόμενά τους κατά κάποιον τρόπο (εξαρτάται από τη φύση των ιδίων των στοιχείων). Μία ψηφιακή υπογραφή είναι εξ ίσου χρήσιμη με μία φυσική υπογραφή γραμμένη με μελάνη, και εύκολα αποδεικνύεται ότι είναι και ασφαλέστερη.
Όταν το GPG δημιουργεί μία ψηφιακή υπογραφή, δεν κρυπτογραφεί ολόκληρο το αρχείο με το προσωπικό κλειδί του υπογράφοντος. Αντί αυτού, υπολογίζει μία συνοπτική τιμή5.1, κρυπτογραφεί αυτήν την τιμή, και την προσαρτά στα αρχικά στοιχεία ως υπογραφή. Κατ’ αυτόν τον τρόπο, παρέχει τη δυνατότητα δημιουργίας υπογεγραμμένων αρχείων, τα οποία είναι αναγνώσιμα χωρίς κάποιο λογισμικό κρυπτογραφίας, και τα οποία δεν είναι σημαντικά μεγαλύτερα· το GPG χρειάζεται μόνο για την πιστοποίηση της γνησιότητας του αρχείου.
Για να πιστοποιηθεί μία υπογραφή, το GPG διαβάζει τα στοιχεία τα οποία έχουν υπογραφεί, και υπολογίζει τη συνοπτική τιμή τους. Έπειτα αποκρυπτογραφεί την υπογραφή, με τη χρήση του δημοσίου κλειδιού του υπογράφοντος, ώστε να διαβάσει τη συνοπτική τιμή της. Εάν οι δύο συνοπτικές τιμές είναι ίδιες, η υπογραφή είναι γνήσια, και τα στοιχεία τα οποία έχετε είναι ακριβώς τα στοιχεία τα οποία ο υπογράφων είχε όταν δημιούργησε την υπογραφή.
Έστω ότι επιθυμείτε να αποστείλετε ένα μήνυμα σε κάποιον, κατά
τρόπον ώστε να μπορεί να αποδείξει ότι εσείς είστε ο δημιουργός του
μηνύματος. Πρώτα, συνθέστε το μήνυμα σε κάποιον επεξεργαστή (απλού)
κειμένου και αποθηκεύστε το ως “message.txt” σε κάποιο φάκελο όπου σας εξυπηρετεί. Έπειτα, στη γραμμή εντολής, πληκτρολογήστε
Ως παράδειγμα, ακολουθεί ένα μήνυμα το οποίο έχω υπογράψει:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 This is a test message signed by Brendan Kidwell. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) iD8DBQE+fnwc4lxlBKPKA3gRAq13AJ4557Md6xF15OoEDyIIB+UvDQKwmwCfcrCY na12Ng9W4K5mP1ZWEueNjCo= =73hB -----END PGP SIGNATURE-----
Έστω ότι λαμβάνετε ένα μήνυμα παρόμοιο με αυτό το οποίο δημιουργήθηκε στο προηγούμενο τμήμα. Ή πιθανόν να βρείτε ένα τέτοιο μήνυμα δημοσιευμένο σε κάποιον δημόσιο δικτυακό σταθμό ή σε κάποιον ηλεκτρονικό πίνακα ανακοινώσεων. Για να μπορείτε να πιστοποιήσετε τη γνησιότητα της υπογραφής του, χρειάζεσθε το δημόσιο κλειδί του υπογράφοντος, το οποίο θα πρέπει να το εγκαταστήσετε στον υπολογιστή σας. Αυτή η διαδικασία περιγράφεται στο προηγούμενο κεφάλαιο, υπό τον τίτλο “Εισδοχή του Κλειδιού”.
Εάν το προς πιστοποίηση μήνυμα περιέχεται σε κάποιο μήνυμα e-mail,
εξάγετέ το σε μορφή αρχείου απλού κειμένου. Εάν το μήνυμα εμφανίζεται
σε κάποια ιστοσελίδα ή σε κάποιο άλλο διαδικτυακό μέσο, αποθηκεύστε το
ως αρχείο απλού κειμένου (με όνομα, για παράδειγμα, “message.txt”). Έπειτα, πληκτρολογήστε τα ακόλουθα σε μία γραμμή εντολής:
Εάν διαβάζετε αυτό το εγχειρίδιο στο Διαδίκτυο και έχετε ήδη εγκαταστήσει το κλειδί μου, μπορείτε να δοκιμάσετε να αντιγράψετε το κείμενο του μηνύματος το οποίο εμφανίζεται στο προηγούμενο κείμενο σε ένα αρχείο κειμένου, και να πιστοποιήσετε τη γνησιότητα της υπογραφής με αυτήν τη διαδικασία.
Μηνύματα απλού κειμένου είναι δυνατόν να φέρουν υπογραφές
προσαρτημένες σε αυτά, χωρίς να μεταβάλλεται κατά πολύ το περιεχόμενό
τους, αλλά τα δυαδικά αρχεία, όπως τα κείμενα του Microsoft Word και τα
συμπιεσμένα αρχεία Zip, δεν είναι δυνατόν να έχουν αυθαίρετα στοιχεία
προσαρτημένα σε αυτά. Για να υπογραφούν δυαδικά αρχεία, συνηθίζεται να
χρησιμοποιείται το GPG για τη δημιουργία ενός ξεχωριστού αρχείου
υπογραφής. Έστω ότι έχετε ένα συμπιεσμένο αρχείο Zip, το οποίο
επιθυμείτε να υπογράψετε, με όνομα “monthly report.zip”. Πληκτρολογήστε τα ακόλουθα στη γραμμή εντολής:
Ας υποθέσουμε τώρα ότι βρίσκεστε στην άλλη άκρη, και ότι λαμβάνετε
ένα αρχείο με ένα αρχείο υπογραφής σαν αυτό, μέσω e-mail. Αποθηκεύστε
και τα δύο αρχεία στον ίδιο φάκελο, και πληκτρολογήστε τα ακόλουθα σε
μία γραμμή εντολής:
Λογισμικό το οποίο διανέμεται μέσω του Διαδικτύου, συχνά υπογράφεται κατ’ αυτόν τον τρόπο – ιδιαιτέρως λογισμικό το οποίο σχετίζεται με την ασφάλεια. Ένας χρήστης μπορεί να μεταφέρει ένα μεγάλο πακέτο εγκαταστάσεως σε σύντομο χρονικό διάστημα από κάποιον τοπικό σταθμό, ο οποίος δεν είναι απαραίτητο να θεωρείται έμπιστος. Αφού η μεταφορά ολοκληρωθεί, ο χρήστης μπορεί να επιστρέψει στο δικτυακό σταθμό του δημιουργού και να μεταφέρει ένα δημόσιο κλειδί και την υπογραφή για το πακέτο εγκαταστάσεως, και να τα χρησιμοποιήσει για να πιστοποιήσει τη γνησιότητα του πακέτου.
Ένα αρχείο είναι δυνατόν να κρυπτογραφηθεί και να υπογραφεί
ταυτοχρόνως. Χρησιμοποιήστε αυτήν την εντολή για να κρυπτογραφήσετε και
να υπογράψετε ένα αρχείο:
Για να αποκρυπτογραφήσετε ένα τέτοιο αρχείο, απλώς εκτελέστε
Και, όπως πάντα, εάν προτιμάτε απλώς τη δημιουργία δυαδικού αρχείου, παραλείψτε την επιλογή “--armor”.
Το GPG είναι δυνατόν να ενσωματωθεί σε κάποια υφισταμένη προγραμματιστική εργασία, με λίγη προσπάθεια. Αυτό το κεφάλαιο θα εξηγήσει τον τρόπο κατά τον οποίο θα τροποποιήσετε το πρόγραμμά σας, ούτως ώστε να μπορεί αυτό να χρησιμοποιεί το GPG.
Έστω ότι έχετε δημιουργήσει μία εφαρμογή εισαγωγής στοιχείων, η οποία θα εγκατασταθεί σε ορισμένα συστήματα πελατών. Έστω ότι επιθυμείτε αυτή η εφαρμογή να μπορεί να αποστέλλει ενημερώσεις σε κάποια κεντρική τοποθεσία. Η αποστολή των στοιχείων μέσω του Διαδικτύου, σε έναν διακομιστή FTP, θα ήταν ένας εξυπηρετικός τρόπος για τη διαδικασία αυτή, όμως ένα μεγάλο μειονέκτημα του πρωτοκόλου FTP είναι ότι παρέχει πολύ μικρή ασφάλεια· αρχεία μεταφέρονται μέσω ενός μη κρυπτογραφημένου διαύλου. Μία λύση σε αυτό το πρόβλημα είναι να συνδυάσετε το GPG με το πρόγραμμά σας, και να χρησιμοποιήσετε το GPG για να κρυπτογραφείτε τα στοιχεία πριν αυτά αποσταλούν.
Ως δημιουργός λογισμικού, πιθανώς να μην επιθυμείτε να εγκαταστήσει ο ίδιος ο πελάτης σας το GPG, και έπειτα να εισάγει τα απαραίτητα κλειδιά. Αυτό δεν είναι απαραίτητο. Το μόνο που χρειάζεται να κάνετε είναι να αντιγράψετε το κύριο εκτελέσιμο αρχείο, το gpg.exe, στο φάκελο του προγράμματός σας, και να το προετοιμάσετε καταλλήλως.
Οποτεδήποτε εκτελείται το GPG, προϋποθέτει ότι όλα τα κλειδιά του βρίσκονται στον Αρχικό Φάκελο (Home Directory). Σε ένα σύστημα Windows, αυτός είναι ο φάκελος όπου βρίσκεται η πλήρης εγκατάσταση του GPG· σε ένα σύστημα Unix, (ή ένα σύστημα Windows με το GPG εγκατεστημένο σε περιβάλλον Cygwin), αυτός ο φάκελος είναι κρυφός, με όνομα “.gnupg”, και είναι ένας υποφάκελος του αρχικού φακέλου του τρέχοντος χρήστη. Όταν η εφαρμογή σας καλεί το δικό της, ξεχωριστό αντίγραφο του GPG, θα πρέπει να πληροφορήσετε το GPG να χρησιμοποιήσει ένα διαφορετικό φάκελο ως αρχικό – σε αυτήν την περίπτωση, το φάκελο όπου βρίσκεται αυτό και η εφαρμογή σας.
Για να προετοιμάσετε το ξεχωριστό αντίγραφο του GPG στην εφαρμογή
σας, θα πρέπει να εγκαταστήσετε τα απαραίτητα δημόσια και προσωπικά
κλειδιά σε αυτό. Ποια κλειδιά θα εγκαταστήσετε, θα εξαρτηθεί από τις
λειτουργίες του GPG τις οποίες θα χρησιμοποιεί η εφαρμογή σας. Έστω ότι
επιθυμείτε η εφαρμογή σας να μπορεί να αποστέλλει κρυπτογραφημένα
αρχεία σε κάποιο χρήστη με το όνομα Administrator (Επόπτης). Εξάγετε το
δημόσιο κλειδί του Administrator σε ένα αρχείο απλού κειμένου με όνομα “administrator.txt”
και αντιγράψτε αυτό το αρχείο κειμένου στο φάκελο της εφαρμογής σας.
Στη γραμμή εντολής, στο φάκελο της εφαρμογής σας, πληκτρολογήστε
Μην ξεχάσετε να ορίσετε το βαθμό εμπιστοσύνης για το κλειδί το οποίο μόλις εισάγατε. Στη γραμμή εντολής, πληκτρολογήστε
Όταν η εφαρμογή σας είναι έτοιμη να αποστείλει στοιχεία, θα έπρεπε
να τα συσκευάσει, με κάποιον εξυπηρετικό τρόπο, σε ένα και μοναδικό
αρχείο. Εάν θα υπάρχουν περισσότεροι από ένας χρήστες, οι οποίοι θα σας
αποστέλλουν στοιχεία, θα έπρεπε να βεβαιωθείτε ότι κάθε ένας από αυτούς
χρησιμοποιεί ένα μοναδικό όνομα αρχείου, ώστε να αποφευχθούν διενέξεις
μεταξύ τους, στο διακομιστή FTP. Έστω ότι η εφαρμογή σας εξήγαγε τα
στοιχεία της σε κάποιο αρχείο με όνομα “update_user001.dat”. Θα
χρησιμοποιούσε τότε το λειτουργικό σύστημα για να καλέσει το GPG με την
ακόλουθη εντολή (ώστε να είναι βέβαιο ότι θα εκτελεσθεί στο φάκελο της
εφαρμογής):
Σε αυτό το σημείο, θα έχετε ένα κρυπτογραφημένο αρχείο με όνομα “update_user001.dat.gpg”
και θα επιθυμείτε να το αποστείλετε στο διακομιστή FTP. Το Windows έχει
μία εξυπηρετική εντολή FTP (χωρίς γραφικό περιβάλλον), η οποία
υποστηρίζει στοιχειώδη προγραμματισμό. Στη γραμμή εντολής, μπορείτε να
πληκτρολογήσετε “ftp” και θα βρεθείτε στην προτροπή “ftp> _”. Οι βασικές εντολές του FTP έχουν ως ακολούθως:
open [hostname] user [username] ls cd [folder name] bin get [filename] put [filename] quit |
Έναρξη συνδέσεως με [ΌνομαΚόμβου] Έναρξη διαδικασίας διαπιστεύσεως (login) Εμφάνιση περιεχομένων του τρέχοντος φακέλου Μετάβαση σε κάποιον άλλο φάκελο Ορισμός τρόπου μεταφοράς αρχείων ως δυαδικών Μεταφορά αρχείου στο τοπικό σύστημα (download) Αποστολή αρχείου στο μεμακρυσμένο σύστημα (upload) Έξοδος από το FTP |
Επομένως, για να αποστείλετε ένα αρχείο μέσα από την εφαρμογή σας, χρειάζεται να δημιουργηθεί ένα αρχείο εντολών (script) με τις ακόλουθες εντολές:
open [ΌνομαΚόμβου] user [ΌνομαΧρήστη] [συνθηματικό] cd /[Φάκελος-Προορισμού] bin put update_user001.dat.gpg quit
Εξυπακούεται ότι θα πρέπει να αντικαταστήσετε τις λέξεις εντός των
αγκυλών με αυτές οι οποίες αρμόζουν κατά περίπτωση. Έστω ότι το αρχείο
το οποίο περιέχει αυτές τις εντολές έχει όνομα “ftp.script”. Θα
ήταν καλό, όταν εκτελείται αυτό το αρχείο, να τηρείται κάποιο αρχείο
καταγραφής δραστηριότητας (log), ούτως ώστε η εφαρμογή σας να μπορεί να
το εξετάζει, ώστε να ενημερώνεται εάν η μεταφορά του αρχείου ήταν
επιτυχής. Για να πραγματοποιηθεί αυτό, η εφαρμογή σας θα πρέπει να
εκτελεί την ακόλουθη εντολή:
Έπειτα, η εφαρμογή σας θα πρέπει να εξετάζει τα περιεχόμενα του αρχείου “ftp.log” για σημεία επιτυχίας ή αποτυχίας. Ο τρόπος τον οποίον εγώ χρησιμοποιώ, είναι να εισάγω ολόκληρο το αρχείο σε μία μεταβλητή ακολουθίας χαρακτήρων (string variable), και έπειτα να αναζητήσω σε αυτήν την ακολουθία χαρακτήρων τις λέξεις
226 Transfer complete. (226 Μεταφορά ολοκληρώθηκε.)(με αυτήν ακριβώς τη γραφή). Εάν το μήνυμα δεν εμφανίζεται, το πρόγραμμά μου θεωρεί ότι η μεταφορά απέτυχε και εμφανίζει ένα μήνυμα σφάλματος, δίνοντας έτσι την ευκαιρία στο χρήστη να επιθεωρήσει το αρχείο καταγραφής δραστηριότητας ο ίδιος.
Είναι πολύ σημαντικό, το μήνυμα το οποίο αναζητείται στο αρχείο καταγραφής δραστηριότητας να εμφανίζεται στην πραγματικότητα εκεί, εάν η μεταφορά ήταν επιτυχής. Θα πρέπει να επαληθεύσετε ότι αυτό είναι ακριβώς το μήνυμα με το οποίο ο δικός σας διακομιστής FTP θα αποκριθεί όταν η μεταφορά ολοκληρωθεί.
Έχω δημιουργήσει μία εφαρμογή της Microsoft Access, η οποία επιδεικνύει την ασφαλή μέθοδο μεταφοράς στοιχείων η οποία περιεγράφη ανωτέρω. Εάν έχετε τη Microsoft Access, επισκεφθείτε το δικτυακό μου σταθμό και μεταφέρετε την εφαρμογή αυτή και δοκιμάστε την: http: //www.glump.net /content /accessgpgdemo/ .
Ακόμα και αν δεν έχετε ποτέ πριν προγραμματίσει τη Microsoft Access, μη διστάσετε να μεταφέρετε αυτήν την εφαρμογή και να ρίξετε μια ματιά. Ο προγραμματισμός της Microsoft Access γίνεται στη γλώσσα Visual Basic, και ο αρχικός κώδικας (source code) είναι ενσωματωμένος στο αρχείο της βάσεως δεδομένων, ελεύθερα προσπελάσιμος από οποιονδήποτε. Ακριβείς λεπτομέρειες για τη θέση του σχετικού κώδικα μέσα στο παράδειγμα, υπάρχουν στο αρχείο readme της εφαρμογής.
Αρκετοί αναγνώστες με ρώτησαν σχετικά με τη δυνατότητα υπάρξεως ενός αρχείου εντολών (script) το οποίο θα αποκρυπτογραφεί αρχεία αυτομάτως. Το πρόβλημα, φυσικά, είναι ότι οποτεδήποτε εκτελείται μία εντολή η οποία χρησιμοποιεί ένα προσωπικό κλειδί (αποκρυπτογράφηση ή υπογραφή) το GPG σας προτρέπει για τη συνθηματική φράση αυτού του κλειδιού – με την προϋπόθεση ότι το κλειδί είναι σωστά εγκατεστημένο. Δεν υπάρχει εντελώς ασφαλής τρόπος ώστε να παρακαμφθεί αυτή η προτροπή, και να εκτελεσθεί το script χωρίς την παρέμβαση κάποιου χρήστη.
Το σκεπτικό είναι απλό: όλα τα πρωτόκολα ασφαλείας, τα οποία είναι ενσωματωμένα στο GPG, εξαρτώνται από τη συνθηματική φράση, η οποία αποτελεί πρακτικά ένα μέρος του προσωπικού κλειδιού. Όσο η συνθηματική φράση δεν είναι γνωστή, είναι πρακτικά αδύνατον να παραβιασθεί η ασφάλεια και να γίνει χρήση του προσωπικού κλειδιού. Εάν δοκιμάσετε να γράψετε ένα script αποκρυπτογραφήσεως το οποίο θα εκτελείται χωρίς την παρέμβαση κάποιου χρήστη, θα πρέπει να αποθηκεύσετε τη συνθηματική φράση στον υπολογιστή, κάτι το οποίο καθιστά το προσωπικό σας κλειδί ανασφαλές.
Έχοντας αναφέρει τα ανωτέρω, είμαι βέβαιος ότι υπάρχουν πολλοί χρήστες οι οποίοι δεν ενδιαφέρονται ιδιαιτέρως για την ασφάλεια των αρχείων τους τοπικά (όσο αυτά δε μεταφέρονται μέσω του Διαδικτύου). Η αντιμετώπιση αυτή, μπορεί να είναι αλλά μπορεί και να μην είναι δικαιολογημένη, αλλά έχετε προειδοποιηθεί.
Υπάρχει μία επιλογή του GPG, η οποία ορίζει ότι η απαιτούμενη συνθηματική φράση μπορεί να διαβάζεται μέσω κάποιας συγκεκριμένης ταυτότητας αρχείου (file handle), αντί από το πληκτρολόγιο. Η επιλογή είναι η “--passphrase-fd”, και ακολουθείται από τον αριθμό ταυτότητας του αρχείου. Είναι πιθανώς ασφαλέστερη (σε όρους σταθερότητας) η χρήση της ταυτότητας 0, η οποία προσδιορίζει πάντοτε την κανονική είσοδο (standard input).
Έστω ότι έχετε προετοιμάσει ένα αρχείο με το όνομα passphrase, το οποίο περιέχει την απαιτούμενη συνθηματική φράση για μία συγκεκριμένη εργασία. Γράψτε την ακόλουθη γραμμή στο script σας:
type passphrase | gpg --passphrase-fd 0 ΕΠΙΛΟΓΕΣ ΕΝΤΟΛΗ
(Χρήστες UNIX ή Linux: χρησιμοποιήστε την εντολή cat αντί της type).
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε την εντολή echo για να στείλετε τη συνθηματική φράση στο GPG, χωρίς να την αποθηκεύσετε σε κάποιο αρχείο στο δίσκο:
echo PASSPHRASE| gpg --passphrase-fd 0 ΕΠΙΛΟΓΕΣ ΕΝΤΟΛΗ
Έχετε υπ’ όψιν σας ότι αυτό στην πραγματικότητα δεν είναι καθόλου ασφαλέστερο από την αποθήκευση της συνθηματικής φράσεως σε ένα αρχείο στο δίσκο. Κάποιος θα μπορούσε να ανακτήσει τη συνθηματική φράση μέσω οποιουδήποτε τμήματος του προγράμματός σας, το οποίο πραγματοποιεί την ανωτέρω κλήση συστήματος. Πολλές άλλες επιθέσεις είναι επίσης δυνατές· θα μπορούσε να υπάρχει ένας τρόπος παρακολουθήσεως των στοιχείων καθώς αυτά περνούν από το πρόγραμμά σας, μέσω της echo, στο GPG.
Οι αριθμοί των σχετικών κεφαλαίων στο πλήρες εγχειρίδιο, εμφανίζονται σε παρενθέσεις μετά από κάθε εντολή.
Εάν διαβάζετε αυτό το κείμενο τυπωμένο, μην ξεχάσετε να ρίξετε μια
ματιά στη διαδικτυακή του εκδοχή, η οποία περιλαμβάνει μία σελίδα με
σχόλια:
http: //www.glump.net /content /gpg_intro/
Το παράδειγμά μου, η εφαρμογή της Microsoft Access η οποία
επιδεικνύει τον τρόπο με τον οποίο καλείται το GPG μέσα από ένα άλλο
πρόγραμμα, βρίσκεται στη διεύθυνση:
http: //www.glump.net /content /accessgpgdemo/
Ο κύριος διαδικτυακός σταθμός του Φρουρού Απορρήτου του GNU βρίσκεται στη διεύθυνση http://www.gnupg.org/ . Στο τμήμα με τίτλο “Documentation”, αυτού του σταθμού, θα βρείτε ορισμένα χρήσιμα κείμενα, συμπεριλαμβανομένου του “Μικρός Οδηγός για το GNUPG” (“The GNUPG Mini-Howto”), και του “Το Εγχειρίδιο Απορρήτου του GNU”.
Στο διαδικτυακό σταθμό Diceware, στη διεύθυνση http: //www .diceware .com/ , βρίσκεται ο κατάλογος λέξεων για επιλογή πραγματικά τυχαίων συνθηματικών φράσεων, όπως αναφέρεται στο Κεφάλαιο 3, με τίτλο “Δημιουργία του προσωπικού σας Ζεύγους Κλειδιών”. Συνιστώ, επίσης, να ρίξετε μια ματιά στις Συχνές Ερωτήσεις αυτής της ιστοσελίδας. Παρέχει πολλές πληροφορίες όσον αφορά στο αντικείμενο της ασφαλείας των κλειδιών.
Ο σταθμός http://www.keyserver.net/ είναι μία καλή, δωρεάν υπηρεσία δημοσίου καταλόγου, την οποία μου υπέδειξε ένας αναγνώστης.
Βρήκα έναν καλό οδηγό για τη γραμμή εντολής του Windows, με τίτλο “Πώς χρησιμοποιείται ένα παράθυρο εντολής MS-DOS”, στη διεύθυνση http: //www.c3scripts.com /tutorials /msdos/ .
Το κυριώτερο, μην ξεχνάτε ότι η σύνταξη όλων των εντολών του GPG δίδεται με λεπτομέρειες στο αρχείο gpg.man, το οποίο συμπεριλαμβάνεται στο GPG.
Η έκδοση HTML αυτού του κειμένου δημιουργήθηκε με τη χρήση του μετατροπέα LaTeX2HTML Έκδοση 2002 (1.62)
Οι επιλογές στη γραμμή εντολής ήταν:
latex2html -long_titles 4 -local_icons -no_footnode -split 0 -show_section_numbers -link 0 -no_navigation gpg_intro.tex
Η μετατροπή ξεκίνησε από τον Brendan Kidwell την 2003/08/23
Brendan Kidwell 2003/08/23
3.1, 3.2 (ΣτΜ.) Brute-force Attack, Dictionary Attack: Μέθοδοι κατά τις οποίες μία εφαρμογή δοκιμάζει – αυτομάτως, δηλ. χωρίς την ανάγκη ανθρώπινης επεμβάσεως, άρα με ταχύτατο ρυθμό – όλες τις λέξεις ενός λεξικού (ή / και συνδυασμούς αυτών) με τη σειρά, ούτως ώστε εάν η συνθηματική φράση (μία λέξη ή συνδυασμός λέξεων) περιέχεται στο λεξικό, η εύρεση του κλειδιού (και, συνεπώς, η αποκρυπτογράφηση των κρυπτογραφημένων αρχείων) είναι απλώς ζήτημα χρόνου· με τα σύγχρονα υπολογιστικά συστήματα, ο χρόνος αυτός δεν είναι δυνατόν να υπερβεί κάποιο ολιγοήμερο διάστημα. Διάφορα λεξικά υπάρχουν, και γράφονται, ώστε να καλύπτουν ένα ευρύ φάσμα λέξεων και συνδυασμών αυτών.
3.3 Αυτό το μέτρο ασφαλείας θα καταστήσει δυσχερέστερη για κάποιον την απόκτηση οποιασδήποτε πληροφορίας σχετικά με τη συνθηματική σας φράση. Εάν το GPG σας έδινε ενδείξεις με αστερίσκους, κάποιος κακόβουλος θα μπορούσε να παρατηρήσει πόσοι χαρακτήρες υπάρχουν στη συνθηματική σας φράση, κοιτάζοντας πάνω από την πλάτη σας.
3.4 Man-in-the-Middle Attack: Μία επίθεση από παρεμβαλλόμενο θα αποτελούσε η αντικατάσταση, από κάποιον τρίτο, του δημοσίου κλειδιού, πριν το πρόσωπο το οποίο το επιθυμεί, προσπαθήσει να το ανακτήσει. Για παράδειγμα, ας υποθέσουμε ότι η Εύα επιθυμεί να αποκτήσει πρόσβαση σε ένα μήνυμα το οποίο η Αλίκη θα στείλει στον Μπομπ. Ο Μπομπ δημοσιεύει το γνήσιο δημόσιο κλειδί του στο δικτυακό του σταθμό και η Εύα αμέσως αποκτά λαθραία πρόσβαση στο διακομιστή και αντικαθιστά αυτό το κλειδί με το δικό της, πλαστό δημόσιο κλειδί του Μπομπ. Η Αλίκη μεταφέρει (“κατεβάζει”) αυτό το οποίο πιστεύει ότι είναι το δημόσιο κλειδί του Μπομπ, αλλά στην πραγματικότητα είναι το κλειδί με το οποίο η Εύα αντικατέστησε το γνήσιο. Η Αλίκη χρησιμοποιεί αυτό το κλειδί για να κρυπτογραφήσει και να στείλει ένα μήνυμα στον Μπομπ, το οποίο παραλαμβάνεται από την Εύα, αποκρυπτογραφείται με τη χρήση του αντιστοίχου προσωπικού κλειδιού της και διαβάζεται από αυτήν, επανακρυπτογραφείται με τη χρήση του γνησίου δημοσίου κλειδιού του Μπομπ, και τελικά αποστέλεται στον Μπομπ – χωρίς κανείς να γνωρίζει ούτε για τη λαθραία πρόσβαση της Εύας στο διακομιστή, ούτε για την υποκλοπή.
Εξυπακούεται, ότι θα χρειαζόταν ένας αποφασισμένος πάση θυσία επιτιθέμενος, ώστε να λάβει χώρα κάτι τέτοιο στην πράξη.
3.5 (ΣτΜ.) ASCII (American Standard Code for Information Interchange): Αμερικανικός Πρότυπος Κώδικας για την Ανταλλαγή Πληροφοριών· σύμφωνα με την αρχική μορφή αυτού του κώδικα, κάθε γράμμα της Λατινικής Αλφαβήτου, καθώς και χαρακτήρες απαραίτητοι για τη γραφή κειμένων σε όλες τις δυτικοευρωπαϊκές γλώσσες, αριθμοί, διάφορα σημεία στίξεως, τονισμού, και άλλα σύμβολα, αναπαριστώνται από μία ακολουθία επτά (7) δυαδικών ψηφίων (7-bit ASCII), ούτως ώστε να καθίσταται δυνατή η επεξεργασία, αποθήκευση και διαβίβαση κειμένων σε μορφή κατανοητή από τους ηλεκτρονικούς υπολογιστές (δηλ. σε ψηφιακή μορφή / κώδικα), καθώς και από άλλες παρομοίου τύπου συσκευές.
Ο όρος “κείμενο ASCII” (“ASCII text”) έχει επικρατήσει να σημαίνει το απλό, χωρίς μορφοποίηση (στοίχιση, διάστιχα, έντονους ή πλάγιους χαρακτήρες, κτλ.) κείμενο, το οποίο μοιάζει πολύ στην όψη με το κείμενο το οποίο παραγόταν (και συνεχίζει να παράγεται) με τη χρήση γραφομηχανής, ταμειακής μηχανής, τηλεγράφου, εκτυπωτή μήτρας ακίδων (dot-matrix), και άλλων, παρομοίων συσκευών, καθώς επίσης και με τη χρήση προγραμμάτων εφαρμογών όπως το Σημειωματάριο (Notepad) του Microsoft Windows, ή του επεξεργαστή κειμένου vi, ο οποίος δημιουργήθηκε και χρησιμοποιείται κυρίως σε συστήματα UNIX, αν και υπάρχει έκδοσή του και για συστήματα Microsoft Windows [απλό κείμενο: plain text (πλαίιν τεξτ)].
Βλ. (στην Αγγλική γλώσσα)
Δυαδικά αρχεία (binary files), κατ’ αντιδιαστολή, είναι τα αρχεία, τα περιεχόμενα των οποίων δεν είναι δυνατόν να αναγνωσθούν αμέσως, χωρίς τη χρήση κάποιας εξειδικευμένης εφαρμογής – σε πολλές περιπτώσεις, μόνο η συγκεκριμένη εφαρμογή η οποία τα δημιούργησε είναι και ικανή να τα χειρισθεί. Παραδείγματα τέτοιων αρχείων είναι τα αρχεία μορφοποιημένου κειμένου, τα οποία δημιουργούν διάφορες εφαρμογές επεξεργασίας κειμένου. Εάν κάποιος προσπαθήσει να τα ανοίξει – για να τα διαβάσει – με την εντολή “type” ή “more”, στη γραμμή εντολής, η οθόνη θα γεμίσει με ακατανόητους χαρακτήρες. Αντιθέτως, τα αρχεία HTML, για παράδειγμα, είναι μεν μορφοποιημένα, είναι όμως δυνατόν να ανοιχθούν, επιθεωρηθούν και τροποποιηθούν με οποιαδήποτε εφαρμογή επεξεργασίας απλού κειμένου (όπως, για παράδειγμα, το Σημειωματάριο του Windows).
4.1
Αρχικό Αρχείο: οποιοδήποτε αρχείο (κείμενο, εικόνα, ήχος, κινούμενη εικόνα, ... ), στη μη κρυπτογραφημένη μορφή του
Κρυπτόγραμμα: το αρχείο το οποίο παράγεται ως αποτέλεσμα της
κρυπτογραφήσεως (το κρυπτογραφημένο αρχείο – τα κρυπτογραφημένα
στοιχεία)
4.2 Το PGP (Pretty Good Privacy: Αρκετά Καλό Απόρρητο) είναι εμπορικό λογισμικό, το οποίο εφαρμόζει τους ίδιους αλγορίθμους και πρωτόκολα με αυτά τα οποία χρησιμοποιούνται στο GPG. Στην πραγματικότητα, το GPG προέρχεται από το PGP.
5.1 Hash Value: Μία τιμή κατακερματισμού [ή: τιμή (ψηφιακού) αποτυπώματος, τιμή συνόψεως, συνοπτική τιμή] είναι μία σχετικά μικρή ακολουθία στοιχείων, η οποία αντιπροσωπεύει (αναπαριστά) μία μακρά ακολουθία στοιχείων. Μία συνάρτηση [αλγόριθμος] κατακερματισμού υπολογίζει την τιμή κατακερματισμού μίας ακολουθίας στοιχείων. Μία ιδανική συνάρτηση κατακερματισμού λειτουργεί μόνο προς τη μία κατεύθυνση (είναι μη αντιστρέψιμη)· είναι εύκολο να υπολογισθεί η τιμή κατακερματισμού ενός δεδομένου συνόλου στοιχείων, αλλά είναι απίστευτα δύσκολο να βρεθεί ένα σύνολο στοιχείων το οποίο θα παράξει μία δεδομένη τιμή κατακερματισμού. Επίσης, συναρτήσεις κατακερματισμού χρησιμοποιούμενες στην κρυπτολογία, θα πρέπει να είναι πολύ ευαίσθητες σε μικρές μεταβολές στα στοιχεία, ούτως ώστε να παρέχουν τη βεβαιότητα ότι εάν κάποιος αλλάξει τα στοιχεία, η τιμή κατακερματισμού θα είναι διαφορετική. Για περισσότερες πληροφορίες, βλ. http: //www .wikipedia .org /wiki /Hash_function/ (στην Αγγλική γλώσσα).
ΣτΜ: Για τη μετάφραση, οπουδήποτε χρησιμοποιούνται (για πρώτη φορά, ή και σε περιπτώσεις όπου αυτό κρίνεται απαραίτητο) όροι αμφιλεγόμενοι, (ή όροι τους οποίους ο μεταφραστής θεωρεί δοκιμοτέρους ή / και λιγότερο πιθανόν να προκαλέσουν σύγχυση ή / και παρερμηνείες, από αυτούς οι οποίοι χρησιμοποιούνται στην επίσημη Ελληνική ορολογία πληροφορικής), παρατίθενται στο κείμενο, εντός παρενθέσεως ή σε υποσημειώσεις, χάριν σαφηνείας, οι αντίστοιχοι όροι της Αγγλικής.
Ο μεταφραστής αποποιείται πάσης ευθύνης για ζημίες προερχόμενες από τη χρήση του παρόντος κειμένου. Πειραματισθείτε τόσο, όσο να αισθάνεσθε άνετα όταν χρησιμοποιείτε το gpg, πριν από οποιαδήποτε χρήση του, η οποία ενδεχομένως θα είχε καταστροφικές συνέπειες εάν δε γινόταν σωστά. Χρησιμοποιήστε κοινή λογική. Ο μοναδικός υπεύθυνος για οποιαδήποτε σφάλματα / παροράματα / ατέλειες στην Ελληνική μετάφραση, είναι ο μεταφραστής. Παρακαλώ αποστείλετε σχετικά σχόλια στη διεύθυνση e-mail <achilleus_at_*όχι-UCE-παρακαλώ!*_mailbox_dot_gr>.