Com puc verificar una signatura PGP?

How Do I Verify Pgp Signature



PGP (Pretty Good Privacy) és un programa de criptografia basat en claus públiques. PGP complementa la clau simètrica amb algorismes de clau asimètrica, cosa que fa d’aquest programari un sistema criptogràfic híbrid, sovint anomenat criptosistema híbrid .

PGP no només s’utilitza per protegir la informació contra les ciberamenaces, sinó també per comprovar la integritat dels fitxers.







Aquest tutorial explica fàcilment com funciona PGP i com verificar les signatures PGP .



Com funciona PGP

La imatge següent mostra una clau pública PGP. Aquesta clau pública PGP només es pot desxifrar amb una clau PGP privada específica. L'emissor de la clau pública següent també va emetre una clau PGP privada, ja que es genera en el mateix procés. Només comparteix la clau pública.
Si agafeu la seva clau pública per xifrar-li un missatge, ell podrà desxifrar-lo mitjançant la seva clau privada. Només la seva clau privada pot desxifrar el missatge que heu encriptat amb la seva clau pública.







La informació es xifra mitjançant la clau pública i es desxifra amb la clau privada. Això es diu xifratge asimètric .

Per tant, fins i tot si un atacant aconsegueix interceptar el missatge sense la clau privada, no pot veure el contingut del missatge.



L’avantatge del xifratge asimètric és la senzillesa d’intercanviar claus. Però el seu desavantatge és que no pot xifrar grans quantitats de dades, i és per això que PGP els implementa tots dos.

El xifratge simètric s’aplica quan s’utilitza la clau pública per xifrar les dades protegides. Amb la clau pública, el remitent fa dues coses: primer genera el xifratge simètric per protegir les dades i, a continuació, aplica xifratge asimètric, que no xifra les dades en si, sinó la clau simètrica, que protegeix les dades.

Per ser més tècnic, abans que s'apliqui la clau simètrica, les dades també es comprimeixen abans de xifrar-les amb la clau simètrica i la clau pública. El següent flux gràfic mostra tot el procés:

Signatures PGP

PGP també s’utilitza per comprovar la integritat dels paquets. Això s’aconsegueix mitjançant la signatura digital, que es pot fer amb PGP.

En primer lloc, PGP genera un hash xifrat amb la clau privada. Tant la clau privada com l'hash es poden desxifrar mitjançant la clau pública.

PGP crea una signatura digital, per exemple, per a una imatge ISO mitjançant algorismes DSA o RSA. En aquest cas, la clau privada s’adjunta al programari o a la imatge ISO, contràriament a l’operació descrita anteriorment. La clau pública també es comparteix.

Els usuaris fan servir la clau pública per verificar la signatura adjunta al programari publicat.

El següent flux de gràfics mostra com s’adjunta la clau privada i el hash al programari i com l’usuari pren el programari amb el hash i la clau privada adjunts juntament amb la clau pública per verificar la signatura:

Com puc verificar una signatura PGP?

El primer exemple mostra com es verifica la signatura del nucli Linux. Per provar-ho, accediu https://kernel.org i descarregueu una versió del nucli i el seu fitxer PGP. Per a aquest exemple, descarregaré fitxers linux-5.12.7.tar.xz i linux-5.12.7.tar.sign .

El primer exemple mostra com es verifica la signatura amb una sola ordre. Segons la pàgina de manual, aquesta combinació d'opcions quedarà obsoleta en futures versions. Tot i això, encara s’utilitza àmpliament i, tot i que la combinació específica quedarà obsoleta, les opcions es mantindran.

La primera opció –Keyyserver-options permet definir opcions per al servidor de claus on s'emmagatzemen les claus públiques. Bàsicament, això permet implementar opcions de recuperació de claus públiques.

El –Keyyserver-options es combina amb el –Auto-key-recuperar opció per recuperar automàticament les claus públiques d'un servidor de claus en verificar les signatures.

Per trobar les claus públiques, aquesta ordre llegirà la signatura que busca un servidor de claus o identificador de signant preferit definit mitjançant un procés de cerca mitjançant el directori de claus web.

gpg--keyyserver-optionsrecuperació de tecles automàtiques--verificarlinux-5.12.7.tar.sign

Com podeu veure, la signatura és bona, però hi ha un missatge d’advertència que diu que gpg no pot confirmar que la signatura pertanyi al propietari. Qualsevol persona pot emetre una signatura pública com Greg Krohan-Hartman. Sabeu que la signatura és legítima perquè confieu en el servidor des del qual l’heu baixat. En aquest cas, s’especifica al fitxer .sign descarregat de kernel.org.
Aquest avís sempre està present i podeu evitar-ho afegint signatures a una llista de signatures de confiança mitjançant l’opció –Confiança d’edició-clau . La veritat és que cap usuari ho fa i la comunitat Gpg va sol·licitar l'eliminació de l'advertència.

S'està verificant SHA256SUMS.gpg

A l'exemple següent, verificaré la integritat d'una imatge vella de Kali Linux que he trobat al quadre. Amb aquest propòsit, he descarregat els fitxers SHA256SUMS.gpg i SHA256SUMS pertanyents a la mateixa imatge iso.

Un cop heu descarregat una imatge iso, SHA256SUMS.gpg i SHA256SUMS, heu d’obtenir les claus públiques. A l'exemple següent, obtinc les claus amb wget i gpg –import (Les instruccions de verificació de Kali enllacen a aquest servidor de claus).

Després, comprovo la integritat del fitxer trucant a gpg amb el fitxer –Verificar argument:

wget -q -O- https://archive.kali.org/arxiu-clau.asc|gpg--importar

gpg--verificarSHA256SUMS.gpg SHA256SUMS

Com podeu veure, la signatura és bona i la verificació s’ha realitzat correctament.

L'exemple següent mostra com verificar una descàrrega de NodeJS. La primera ordre retorna un error perquè no hi ha cap clau pública. L'error indica que he de buscar la clau 74F12602B6F1C4E913FAA37AD3A89613643B6201. Normalment, també podeu trobar l’identificador de clau a les instruccions.

Mitjançant l’opció –Servidor de claus , Puc especificar el servidor per cercar la clau. Mitjançant l’opció –Recv-keys , Recupero les claus. A continuació, la verificació funciona:

gpg--verificarSHASUMS256.txt.asc

Copio la clau que necessito per obtenir i després executo:

gpg--servidor de clauspool.sks-keyservers.net--recv-keys

74F12602B6F1C4E913FAA37AD3A89613643B6201


gpg--verificarSHASUMS256.txt.asc

Cerqueu claus gpg:

Si les claus de recuperació automàtica no funcionen i no trobeu les instruccions específiques de verificació, podeu cercar la clau en un servidor de claus mitjançant l'opció –Cerca-clau .

gpg--search-key74F12602B6F1C4E913FAA37AD3A89613643B6201

Com podeu veure, es va trobar la clau. També podeu recuperar-lo prement el número de la tecla que voleu recuperar.

Conclusió

La verificació de la integritat de les descàrregues pot evitar problemes greus o explicar-los, per exemple, quan el programari descarregat no funciona correctament. El procés amb gpg és bastant senzill, com es mostra més amunt, sempre que l'usuari obtingui tots els fitxers necessaris.

Comprendre el xifratge asimètric o el xifratge basat en claus públiques i privades és una necessitat bàsica per interactuar amb seguretat a Internet, per exemple, mitjançant signatures digitals.

Espero que aquest tutorial sobre signatures PGP sigui útil. Seguiu seguint Linux Hint per obtenir més consells i tutorials sobre Linux.