Πώς μπορώ να επαληθεύσω μια υπογραφή PGP;

How Do I Verify Pgp Signature



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

Το PGP δεν χρησιμοποιείται μόνο για την εξασφάλιση πληροφοριών από απειλές στον κυβερνοχώρο αλλά και για τον έλεγχο της ακεραιότητας των αρχείων.







Αυτό το σεμινάριο εξηγεί εύκολα πώς λειτουργεί το PGP και πώς να επαληθεύσετε τις υπογραφές PGP Το



Πώς λειτουργεί το PGP

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







Οι πληροφορίες κρυπτογραφούνται χρησιμοποιώντας το δημόσιο κλειδί και αποκρυπτογραφούνται χρησιμοποιώντας το ιδιωτικό κλειδί. Αυτό ονομάζεται ασύμμετρη κρυπτογράφηση Το

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



Το πλεονέκτημα της ασύμμετρης κρυπτογράφησης είναι η απλότητα ανταλλαγής κλειδιών. Αλλά το μειονέκτημά του είναι ότι δεν μπορεί να κρυπτογραφήσει μεγάλες ποσότητες δεδομένων και γι 'αυτό το PGP τα εφαρμόζει και τα δύο.

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

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

Υπογραφές PGP

Το PGP χρησιμοποιείται επίσης για τον έλεγχο της ακεραιότητας των πακέτων. Αυτό επιτυγχάνεται μέσω ψηφιακής υπογραφής, η οποία μπορεί να γίνει με PGP.

Πρώτον, το PGP δημιουργεί έναν κατακερματισμό που είναι κρυπτογραφημένος με το ιδιωτικό κλειδί. Τόσο το ιδιωτικό κλειδί όσο και το hash μπορούν να αποκρυπτογραφηθούν χρησιμοποιώντας το δημόσιο κλειδί.

Το PGP δημιουργεί μια ψηφιακή υπογραφή, για παράδειγμα, για μια εικόνα ISO χρησιμοποιώντας αλγόριθμους DSA ή RSA. Σε αυτήν την περίπτωση, το ιδιωτικό κλειδί είναι προσαρτημένο στο λογισμικό ή στο ISO Image, σε αντίθεση με τη λειτουργία που περιγράφηκε προηγουμένως. Το δημόσιο κλειδί είναι επίσης κοινόχρηστο.

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

Η ακόλουθη ροή γραφήματος δείχνει πώς συνδέεται το ιδιωτικό κλειδί και το hash στο λογισμικό και πώς ο χρήστης παίρνει το λογισμικό με το συνημμένο hash και ιδιωτικό κλειδί μαζί με το δημόσιο κλειδί για να επαληθεύσει την υπογραφή:

Πώς μπορώ να επαληθεύσω μια υπογραφή PGP;

Το πρώτο παράδειγμα δείχνει τον τρόπο επαλήθευσης της υπογραφής του πυρήνα Linux. Για να το δοκιμάσετε, αποκτήστε πρόσβαση https://kernel.org και κατεβάστε μια έκδοση πυρήνα και το αρχείο PGP. Για αυτό το παράδειγμα, θα κατεβάσω αρχεία linux-5.12.7.tar.xz και linux-5.12.7.tar.sign Το

Το πρώτο παράδειγμα δείχνει τον τρόπο επαλήθευσης της υπογραφής με μία μόνο εντολή. Σύμφωνα με τη σελίδα man, αυτός ο συνδυασμός επιλογών πρόκειται να καταργηθεί σε μελλοντικές εκδόσεις. Ωστόσο, εξακολουθεί να χρησιμοποιείται ευρέως και ενώ ο συγκεκριμένος συνδυασμός θα καταργηθεί, οι επιλογές θα παραμείνουν.

Η πρώτη επιλογή –Cyserver-επιλογές επιτρέπει τον καθορισμό επιλογών για τον διακομιστή κλειδιών όπου αποθηκεύονται τα δημόσια κλειδιά. Βασικά, αυτό επιτρέπει την εφαρμογή δημόσιων κλειδιών ανάκτησης επιλογών.

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

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

gpg--keyserver-επιλογέςαυτόματο κλειδί-ανάκτηση--επαληθεύωlinux-5.12.7.tar.sign

Όπως μπορείτε να δείτε, η υπογραφή είναι καλή, αλλά υπάρχει ένα προειδοποιητικό μήνυμα που λέει ότι το gpg δεν μπορεί να επιβεβαιώσει ότι η υπογραφή ανήκει στον κάτοχο. Ο καθένας μπορεί να εκδώσει δημόσια υπογραφή ως Greg Krohan-Hartman. Γνωρίζετε ότι η υπογραφή είναι νόμιμη επειδή εμπιστεύεστε τον διακομιστή από τον οποίο την έχετε κατεβάσει. Σε αυτήν την περίπτωση, καθορίζεται στο .sign που έχει ληφθεί από το kernel.org.
Αυτή η προειδοποίηση είναι πάντα παρούσα και μπορείτε να την αποφύγετε προσθέτοντας υπογραφές σε μια αξιόπιστη λίστα υπογραφών χρησιμοποιώντας την επιλογή -εμπιστοσύνη επεξεργασμένου κλειδιού Το Η αλήθεια είναι ότι κανένας χρήστης δεν το κάνει και η κοινότητα Gpg ζήτησε την κατάργηση της προειδοποίησης.

Επαλήθευση SHA256SUMS.gpg

Στο ακόλουθο παράδειγμα, θα επαληθεύσω την ακεραιότητα μιας παλιάς εικόνας Kali Linux που βρήκα στο πλαίσιο μου. Για το σκοπό αυτό, κατέβασα τα αρχεία SHA256SUMS.gpg και SHA256SUMS που ανήκουν στην ίδια εικόνα iso.

Μόλις κάνετε λήψη μιας εικόνας iso, των SHA256SUMS.gpg και SHA256SUMS, πρέπει να λάβετε τα δημόσια κλειδιά. Στο ακόλουθο παράδειγμα, παίρνω τα κλειδιά χρησιμοποιώντας wget και gpg - εισαγωγή (Οι οδηγίες επαλήθευσης Kali συνδέονται με αυτόν τον κεντρικό διακομιστή).

Στη συνέχεια, επαληθεύω την ακεραιότητα του αρχείου καλώντας το gpg με το -επαληθεύω διαφωνία:

wget -q -Ή- https://archive.kali.org/archive-key.asc|gpg--εισαγωγή

gpg--επαληθεύωSHA256SUMS.gpg SHA256SUMS

Όπως μπορείτε να δείτε, η υπογραφή είναι καλή και η επαλήθευση ήταν επιτυχής.

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

Χρησιμοποιώντας την επιλογή - χειριστήριο , Μπορώ να καθορίσω τον διακομιστή για αναζήτηση του κλειδιού. Χρησιμοποιώντας την επιλογή –Κλειδιά κλειδώματος , Ανακτώ κλειδιά. Στη συνέχεια, η επαλήθευση λειτουργεί:

gpg--επαληθεύωSHASUMS256.txt.asc

Αντιγράφω το κλειδί που πρέπει να φέρω και μετά τρέχω:

gpg-κλειδί σερβέρpool.sks-keyservers.net-κλειδιά -crecv

74F12602B6F1C4E913FAA37AD3A89613643B6201


gpg--επαληθεύωSHASUMS256.txt.asc

Αναζήτηση κλειδιών gpg:

Εάν η αυτόματη ανάκτηση κλειδιών δεν λειτουργεί και δεν μπορείτε να βρείτε τις οδηγίες για την επαλήθευση, μπορείτε να αναζητήσετε το κλειδί σε έναν διακομιστή πλήκτρων χρησιμοποιώντας την επιλογή -κλειδί αναζήτησης Το

gpg-κλειδί αναζήτησης74F12602B6F1C4E913FAA37AD3A89613643B6201

Όπως μπορείτε να δείτε, το κλειδί βρέθηκε. Μπορείτε επίσης να το ανακτήσετε πατώντας τον αριθμό του κλειδιού που θέλετε να ανακτήσετε.

συμπέρασμα

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

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

Ελπίζω ότι αυτό το σεμινάριο για τις υπογραφές PGP ήταν χρήσιμο. Συνεχίστε να ακολουθείτε το Linux Hint για περισσότερες συμβουλές και σεμινάρια Linux.