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

deltaCast s02e05 | ev3rydayGnuPG 1/2

Γνωριμία με την κρυπτογραφία δημοσίου κλειδιού και τη σουίτα Ελεύθερου Λογισμικού GnuPG, για την ισχυρή κρυπτογράφηση email και αρχείων. Αυτό είναι το πρώτο μέρος της μίνι σειράς μας, στο οποίο εξοικειωνόμαστε με το GnuPG, ασχολούμαστε με τη διαχείριση και τη διανομή κλειδιών, με τις ψηφιακές υπογραφές καθώς και με το μοντέλο του web of trust.

[ Κατεβάστε το επεισόδιο από το Vimeo ]

Σε αυτό το διπλό επεισόδιο του deltaCast μαθαίνουμε πώς χρησιμοποιούμε το σύστημα κρυπτογράφησης Ελεύθερου Λογισμικού ονόματι GnuPG, ώστε να διασφαλίζουμε το απόρρητο των email μας ή/και να κρυπτογραφούμε όποια αρχεία θέλουμε. Έτσι, ακόμη κι όταν ένα email αποστέλλεται μέσω mail server ο οποίος δεν υποστηρίζει ασφαλείς, κρυπτογραφημένες συνδέσεις με τους clients, το μόνο που θα μπορέσει να δει ένας υποκλοπέας θα είναι κάτι εντυπωσιακοί σωροί από απόλυτες ασυναρτησίες.

Πέραν όμως από το κανάλι της επικοινωνίας, υπάρχει κι ένα άλλο θέμα με το email μας. Πράγματι, ασχέτως αν η αποστολή του email γίνεται μέσω ενός κρυπτογραφημένου καναλιού ή όχι, το email πάντα αποθηκεύεται στους δίσκους των mail server ως έχει: Αν από τη μεριά μας *δεν* έχουμε φροντίσει να το κρυπτογραφήσουμε, τότε ναι μεν ενδέχεται να ταξιδέψει μέσα από ένα κρυπτογραφημένο κανάλι έως τον mail server, εκεί όμως θα αποθηκευτεί σε μη κρυπτογραφημένη μορφή. Έτσι, ανά πάσα στιγμή οι διαχειριστές των mail server έχουν πρόσβαση στο περιεχόμενο του email. Και βεβαίως, εκτός αυτών την ίδια πρόσβαση είναι δυνατόν να έχουν και άλλοι. Αν όμως έχουμε φροντίσει να στείλουμε το email μας σε κρυπτογραφημένη μορφή, τότε κανείς πλην του παραλήπτη δεν θα μπορέσει να έχει πρόσβαση στο περιεχόμενό του.

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

Όλα τα προηγούμενα είναι δυνατά χάρη στην κρυπτογραφία δημοσίου κλειδιού — ή αλλιώς public key cryptography. Σ’ αυτό το πρώτο μέρος του διπλού μας επεισοδίου παρουσιάζουμε τις απαραίτητες γνώσεις που πρέπει να κατέχει όποιος επιθυμεί να κρυπτογραφεί το email ή τα αρχεία του. Αναλυτικότερα:

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

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

<br />
========================= Σημειώσεις επεισοδίου =========================<br />

  • Ο επίσημος δικτυακός τόπος του GnuPG
  • Το Gpg4win είναι η εκδοχή του GnuPG για συστήματα Windows, ενώ το GPG Suite είναι η εκδοχή για συστήματα με OS X.
  • Εισαγωγή στην κρυπτογραφία δημοσίου κλειδιού και διαχείριση κλειδιών.

<br />
=========================================================================<br />

22 Responses to “deltaCast s02e05 | ev3rydayGnuPG 1/2”

  1. hlias | 06/02/2015 at 16:38

    Γεια σας.
    Θερμα συγχαρητηρια για το χρηστικοτατο video,
    Eκανα τη διαδικασια δημιουργησα κλειδια αλλα οταν παω να δημοσιευσω το public key στον keyserver εχω το οκολουθο αποτελεσμα.
    gpg –send-keys 1135F158
    gpg: sending key 1135F158 to hkp server keys.gnupg.net
    gpg: keyserver timed out
    gpg: keyserver αποστολή απέτυχε: σφάλμα διακομιστή κλειδιών
    κανω ping για επικοινωνια
    ping keys.gnupg.net
    PING pool.sks-keyservers.net (207.237.164.231) 56(84) bytes of data.
    64 bytes from keys.sflc.info (207.237.164.231): icmp_seq=1 ttl=51 time=155 ms
    64 bytes from keys.sflc.info (207.237.164.231): icmp_seq=2 ttl=51 time=155 ms
    64 bytes from keys.sflc.info (207.237.164.231): icmp_seq=3 ttl=51 time=155 ms
    γιατι δεν υπαρχει επικοινωνια με τον keyserver;

    • subZraw | 06/02/2015 at 17:18

      Ευχαριστούμε για τον καλό λόγο :)

      Δοκίμασε και λίγο αργότερα. Φαντάζομαι ότι πρόκειται για προσωρινό πρόβλημα.

  2. exxa | 26/04/2015 at 17:22

    Καλησπέρα.
    Πότε με το καλο θα βγει το Part 2?

    • subZraw | 26/04/2015 at 17:25

      Ξέρω ότι έχω απαντήσει ξανά στην ερώτηση χωρίς να μπορέσω να τηρήσω την υπόσχεση. Θα σου πω όμως ότι τρέχων προγραμματισμός ως ημερομηνία κυκλοφορίας έχει την 30/4 :)

    • subZraw | 16/05/2015 at 16:04

      Α, ναι, 16/5 εννοούσα :) Σήμερα βγαίνει!

  3. KeyFr3ak | 20/05/2015 at 02:06

    Συγχαρητήρια καταπληκτικό το βίντεο! Συγνώμη που βγαίνω off-topic αλλά πραγματικά δεν μπόρεσα να πάρω τα μάτια μου από το wallpaper του opensuse gnome, και την εικόνα που χρησιμοποιείς όσο παίζει το βίντεο με το πρόσωπό σου υπάρχει μήπως κάποιο link για τις 2 εικόνες σε 1980×1080?

  4. KeyFr3ak | 21/05/2015 at 14:22

    Για κάποιον λόγο ενώ δημιουργώ το keyring όταν φτάνω στο σημείο που πρέπει να ορίσω passphrase μου βγάζει το παρακάτω error: gpg-agent[33129]: command get_passphrase failed: Operation cancelled
    gpg: cancelled by user
    gpg: Key generation canceled.
    Όποια βοήθεια καλοδεχούμενη.

    • subZraw | 21/05/2015 at 14:59

      Με μια γρήγορη αναζήτηση είδα ότι το πρόβλημα εμφανίζεται όταν έχουμε μπει στο λογαριασμό του χρήση μας μέσω su ή εκτελούμε την εντολή με το sudo. Αν ισχύει κάτι τέτοιο, συνδέσουν απευθείας στο λογαριασμού του χρήση για τον οποίο επιχειρείς να φτιάξεις το ζεύγος κλειδιών. Αν πάλι δεν ισχύει αυτό στην περίπτωσή σου, κάνε μια αναζήτηση του στιλ “gpg-agent command get_passphrase failed Operation cancelled” (χωρίς τα εισαγωγικά).

      • KeyFr3ak | 21/05/2015 at 15:13

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

  5. lookout | 19/07/2015 at 02:24

    Καταρχήν συγχαρητήρια για το βίντεο! Δουλεύω πάνω σε kali 1.1 και ενώ εκτελώ την εντολή gpg –gen-key αφου βάλω passphrase μου λέει οτι χρειάζεται ακόμα 255 περίπου bytes για εντροπία και οτι και να κάνω δέν μου δημιουργεί το κλειδί κολάει σε αυτό το σημείο και αναγκάζομαι να κάνω ctrl+c για να το ακυρώσω. Δεύτερον έχω την 1.4 έκδοση και θέλω να βάλω την καινούργια του GnuPG όμως ενώ έχω εγκατεστημένη την libgpg-error 1.1 + δεν μου την αναγνωρίζει και δεν μου το κάνει εγκατάσταση (τις υπόλοιπες τις έκανα εγκατάσταση με apt-get install …) αποφάσισα αφού δεν βγάζω άκρη να μείνω με την 1.4 αλλά και πάλι έχω θέμα… Το kali είναι VM σε 2048 ram , 1 core.

  6. lookout | 26/07/2015 at 23:55

    Τέλεια! Όλα λειτούργησαν! για κάποιο περίεργο λόγο στο αρχείο /etc/apt/sources.list είχα τις ίδιες 4 γραμμές μόνο που είχαν την λέξη “moto” πχ …kali.org/ moto/updates ή …kali.org moto main. Εμ πάση περιπτώση όλα καλά, ευχαριστώ πολύ! Μου παρουσιάστηκε μόνο το πρόβλημα που αναφέρει ο hlias παραπάνω όταν στέλνω ένα κλειδί στον keyserver, αλλά θα προσπαθήσω και μετά να δω. Time for part 2/2 now :D

    • lookout | 27/07/2015 at 00:46

      Τελικά δοκίμασα με –keyserver pgp.mit.edu και δουλεύει ρολόι και να στέλνω αλλά και να ψάχνω άλλα κλειδιά, προφανώς ο προκαθορισμένος server έχει κάποιο πρόβλημα.

  7. spiros_gr | 22/04/2016 at 17:34

    Παρακολουθώντας το βίντεο μου δημιουργήθηκε η εξής απορία. Από τη στιγμή που η αναζήτηση ενός key είναι τόσο απλή υπόθεση μου φαίνεται πολύ εύκολο για κάποιον να φτιάξει ένα σκριπτάκι με το οποίο να λαμβάνει ευκολα άπειρες διευθύνσεις mail. Υπάρχει κάποιος τρόπος προστασίας από “περίεργους” ώστε να μη καταλήξει η email address μου στα χέρια κάποιου spammer, υπάρχει κάτι που έχω παραβλέψει στην όλη υπόθεσή μου;

    • subZraw | 23/04/2016 at 20:23

      Γεια χαρά,
      Από τη στιγμή που δημοσιεύουμε κάπου, οπουδήποτε, μια διεύθυνση email που μας ανήκει με σκοπό να την δει και να τη χρησιμοποιήσει οποιοσδήποτε, φαντάζομαι ότι θα πρέπει να είμαστε προετοιμασμένοι για όλα τα ενδεχόμενα. Ένα απ’ αυτά είναι και η χρήση της διεύθυνσης για περίεργους ή/και σκοτεινούς σκοπούς :/

  8. ToPnt | 06/01/2017 at 13:30

    Έχω δύο σοβαρές ερωτήσεις που έχουν να κάνουν με την μεταφορά του κλειδιού.

    1η.
    Θέλω να μεταφέρω το *πιστοποιητικό* μου, όπου εγώ προσωπικά υποθέτω πως με αυτόν τον τρόπο θα μεταφέρω και το ιδιωτικό & το δημόσιο πιστοποιητικό – κλειδί μου, αν έχω καταλάβει λάθος πείτε μου.

    Έτσι εκτελώ την εντολή :
    gpg2 –armor –output myCer.asc –export-secret-key id_tou_klidiou_mou

    όταν πάω στον άλλο υπολογιστή μου και εκτελώ :

    gpg2 –import myCer.asc

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

    gpg2 –edit-key id_tou_klidiou_mou

    gpg> check
    uid …
    sig!3 ….

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

    Όμως από τον υπολογιστή που έκανα export το πιστοποιητικό μου, στο check έχω κάτι σαν :

    gpg> check
    uid …
    sig!3 ….
    sig!3 ….
    sig! …. <——- Εδώ κυρίως είναι το θέμα μου!! Εδώ σε αυτόν τον υπολογιστή μου δείχνει και την υπογραφή κάποιου που έχει υπογράψει το δημόσιο κλειδί μου.

    Γιατί λοιπόν δεν έχω και την υπογραφή για το δημόσιο πιστοποιητικό μου;

    2η.
    Αν στον σταθερό π.χ. υπολογιστή έχω το πιστοποιητικό μου και κάνω κάποιες αλλαγές σε αυτό π.χ. αλλάξω την ημερομηνία λήξης. Και θέλω μετά στο laptop όπου έχω και εκεί το πιστοποιητικό μου, να το ενημερώσω με τις αλλαγές που έκανα. Σε αυτή την περίπτωση τι θα κάνω;

    Εγώ έκανα το εξής, έκανα export το πιστοποιητικό μου από το desktop με την εντολή :

    gpg2 –armor –output myCer.asc –export-secret-key id_tou_klidiou_mou

    και έπειτα πήγα στο laptop και έτρεξα :

    gpg2 –import myCer.asc
    gpg: key xxxx: already in secret keyring
    gpg: Συνολικός αριθμός που επεξεργάστηκαν: 1
    gpg: αναγνωσμένα μυστικά κλειδιά: 1
    gpg: αμετάβλητα μυστικά κλειδιά: 1

    όμως διαπίστωσα πως στο expires μου έβγαζε ακόμη την παλιά ημερομηνία.
    Έτσι έφτασα στο σημείο να διαγράψω το παλιό μου κλειδί από το laptop, με :

    gpg2 –delete-secret-key id_tou_klidiou_mou
    gpg2 –delete-key id_tou_klidiou_mou

    και όταν ξανά έκανα import το πιστοποιητικό από το desktop μου :

    gpg2 –import myCer.asc
    gpg: key xxxx: secret key imported
    gpg: key xxxx: public key "…." imported
    gpg: Συνολικός αριθμός που επεξεργάστηκαν: 1
    gpg: εισαχθέντα: 1 (RSA: 1)
    gpg: αναγνωσμένα μυστικά κλειδιά: 1
    gpg: εισαχθέντα μυστικά κλειδιά: 1

    πλέον ήταν σωστό και το "expires" ( όπως είναι και στο desktop ).
    Γιατί όμως συνέβη αυτό ; Ήταν αναμενόμενο , κάνω εγώ κάποιο λάθος;
    Εγώ περίμενα πως θα ενημερωνόταν.

    Τέλος η εντολή :

    gpg2 –armor –output myCer.asc –export-secret-key id
    με την :
    gpg2 –armor –output myCer.asc –export-secret-key*s* id

    τι διαφορά έχουν;

    Ευχαριστώ πολύ. :)

  9. DeMaio | 03/05/2017 at 10:28

    Πολύ καλό cast. Συγχαρητήρια.
    Αναλυτικότατο και περιεκτικό.

Leave a Reply

You must be logged in to post a comment.

Σύνδεση

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