Gnu Privacy Guard (GnuPG) Mini Howto (Catal�)

Michael Fischard v. Mollard <[email protected]> (versi� original en alemany)
Brenno J.S.A.A.F. de Winter <[email protected]> (versi� en angl�s)
Horacio <[email protected]> (versi� en castell�)
Josep Mon�s i Teixidor <[email protected]> (versi� en catal�)

Versi� 0.1.3, 17 de maig de 2002
Aquest document mostra com emprar GNU Privacy Guard (GnuPG), un sistema de xifratge de codi obert (programari lliure) compatible amb OpenPGP. Per poder mantenir aquest programa totalment lliure s'ha evitat l'�s de l'algoritme RSA i d'altres algoritmes patentats. El document original el va escriure Michael Fischer v. Mollard en alemany. Va ser posteriorment tradu�t a l'angl�s, i revisat, per Brenno J.S.A.A.F. de Winter. Finalment, va ser tradu�t al castell� i novament revisat a partir de la versi� anglesa. El document en catal� es basa principalment en la darrera revisi� de la versi� anglesa per� tamb� inclou la traducci� d'un cap�tol nom�s present en la versi� en castell�.

1. Conceptes b�sics

1.1 Xifratge de clau p�blica

Per poder entendre millor el sistema de xifratge emprat pels sistemes de claus asim�triques (de claus p�bliques i privades), �s necessari entendre la difer�ncia amb els sistemes de claus sim�triques (claus secretes).

Els sistemes de xifratge de clau sim�trica s�n aquells en els que la clau que s'empra per xifrar les dades �s la mateixa que s'utilitza per desxifrar-los. En el cas del correu electr�nic, el remitent xifra el missatge amb una clau secreta, perqu� el destinatari el pugui desxifrar, necessita obtenir pr�viament aquesta mateixa clau de manera «segura», o sigui, de manera que terceres persones no tinguin l'oportunitat d'obtenir aquesta clau. Si no es t� certesa que l'intercanvi de claus ha estat segur, la validesa del sistema �s nul�la.

Els sistemes de xifratge amb claus asim�triques, en canvi, empren dues claus diferents per al xifratge i el desxifratge de les dades. El el cas anterior del correu electr�nic, el remitent empraria la clau p�blica del destinatari per xifrar el missatge, i el destinatari desxifraria el missatge amb la seva pr�pia clau privada. Aix� doncs, la clau privada no ha de ser accessible per a ning� que no en sigui el propietari, mentre que la clau p�blica, pot ser entregada a qualsevol persona. En un sistema de xifratge ben implementat, la clau privada no es pot obtenir a partir de la clau p�blica.

El punt crucial de tot aquest sistema �s que la clau privada ha de mantenir-se en secret i nom�s el seu propietari hi ha de tenir acc�s. NO ENVIEU AQUESTA CLAU A TRAV�S D'INTERNET. De la mateixa manera �s molt perill�s utilitzar GnuPG a trav�s de telnet (considereu la possibilitat de no emprar mai telnet degut als riscos de seguretat importants que presenta).

1.2 Signatures digitals

El concepte de signatura digital es basa en la verificaci� de l'autoria d'un missatge. Aix� vol dir que el destinatari d'un missatge pot comprovar que el �suposat� remitent �s qui diu que �s. Per fer-ho, el remitent, una vegada ha escrit el missatge, el signa emprant la seva pr�pia clau privada. El destinatari, una vegada ha rebut el missatge, comprovar� l'autenticitat d'aquest, �s a dir, el verificar� emprant la clau p�blica del remitent.

Aquest m�tode �s d'especial utilitat per a reduir els riscos de seguretat en els nostres sistemes (ens podrien enviar un suposat pegat per a un programa, i ser en realitat un virus o un troi�); tamb� podrien enviar-nos informaci� o dades, com provinents d'una font l�cita o fiable. En ambd�s casos, no seria gaire dif�cil falsificar la direcci� i el nom del remitent, per� s� impossible falsificar-ne la signatura digital.

Com ja hem comentat, la verificaci� d'un missatge signat digitalment es duu a terme mitjan�ant l'�s de la clau p�blica del remitent sobre el text del propi missatge. D'aquesta manera no nom�s podem verificat la identitat de l'autor, sin� que tamb� podem comprovar la integritat del missatge, ja que la signatura digital ha estat generada amb el text i la clau privada. Aix� doncs, una alteraci� o modificaci� del text �a posteriori�, o qualsevol manipulaci� del missatge (especialment si fem �s de les especificacions MIME/PGP), donaria com a resultat un error en la verificaci�.

1.3 Anells de confian�a

Un punt feble dels algoritmes de clau asim�trica �s la transmissi� de les claus p�bliques. Un intr�s podria posar en circulaci� una clau p�blica amb un identificador d'usuari fals. Si es xifren missatges amb aquesta clau, l'intr�s podria desxifrar i llegir els missatges. Si llavors l'intr�s el xifr�s amb la clau p�blica aut�ntica de l'usuari i li pass�s, aquest atac no seria perceptible.

La soluci� de PGP (i per tant la soluci� de GnuPG) �s la signatura de les claus. La clau p�blica d'un usuari pot estar signada per altres usuaris. L'objectiu d'aquestes signatures �s que l'usuari que signa reconeix que l'UID (identificador d'usuari) de la clau signada pertany a l'usuari a qui diu que pertany. A partir d'aqu� �s responsabilitat de l'usuari de GnuPG decidir fins a quin punt es refia de la signatura. Una clau es pot consiferar fiable que es confia en el remitent i se sap amb seguretat que la clau signant pertany a aquella persona. Nom�s quan es pot confiar plenament en la clau del signant, es pot confiar en la clau a la que signa (i en les signatures generades amb aquesta clau). Per tenir la seguretat que la clau �s correcta, s'ha de comparar amb la seva empremta digital mitjan�ant un mitj� de canal fiable. Per exemple, podr�em buscar el seu tel�fon a la guia i trucar-lo, demanant-li que ens digues l'empremta digital a viva veu per tal de poder-li donar confian�a absoluta.

1.4 L�mits de seguretat

Si el que es vol �s mantenir la confidencialitat de les dades que es posseixen, no n'hi ha prou amb determinar quin algoritme de xifratge cal emprar; �s necessari tamb� pensar amb la seguretat general del sistema. En principi, PGP est� considerat com suficientment segur, i fins aquest moment, no se sap de cap cas en el que una clau PGP hagi estat trencada. Aix� no vol dir que tot el que s'ha xifrat sigui segur. Per exemple, si la NSA (l'Ag�ncia de Seguretat Nacional dels EUA) hagu�s aconseguit trencar una clau PGP d'alguna manera, probablement no ho farien p�blic. Per�, encara que les claus de PGP fossin absolutament impossibles de trencar, hi ha d'altres tipus d'atacs que poden ser utilitzats per trencar-ne la seguretat. A principis de febrer de 1999, es va descobrir un troi� que cercava claus privades de PGP en el disc dur i els transferia mitjan�ant FTP. Si s'hagu�s escollit una contrasenya feble, un atacant podria haver obtingut f�cilment les claus privades.

Una altra possibilitat t�cnica (encara que m�s dif�cil) �s la d'un troi� que recoll�s tot el que s'escriu pel teclat i ho transmet�s a l'atacant. Tamb� �s possible, encara que dif�cil, passar el contingut d'una pantalla a una altra. En aquest cas, no caldria fer cap an�lisi de les dades xifrades, ja que es tindria acc�s a les dades abans de xifrar.

Per tot aix�, �s necessari una planificaci� de la seguretat que estigui ben prevista i que en minimitzi els perills.

La idea no �s crear una atmosfera de paranoia entre la gent, sin� deixar clar que per tenir un sistema segur no n'hi ha prou amb instal�lar un programa criptogr�fic, ja que, si b� �s un pas cap a un sistema m�s segur, no �s la soluci� completa. Troians com els que aparegueren el mar� del 1999 amb el virus Melissa van demostrar que moltes empreses no estan preparades pel que fa a la seguretat.

2. Instal�laci�

2.1 Codi font de GnuPG.

El web oficial per la desc�rrega de GnuPG �s la p�gina oficial de GnuPG. All� tamb� hi trobareu els enlla�os a r�pliques oficials.

Degut a restriccions legals no es permet descarregat material criptogr�fic des de servidors localitzats als EUA a les persones que no hi resideixen. Als EUA existeixen lleis que restringeixen l'exportaci� de codi criptogr�fic aix� com dels programes que l'inclouen. Per aquesta ra� PGP sempre es troba disponible en dues versions: una internacional i l'altra per als EUA.

El codi font de la versi� internacional es va exportar en format de text ascii imprimit en un llibre. A continuaci� es va escanejar a Europa (Oslo). Se'n pot obtenir m�s informaci� a la p�gina international de PGP. La versi� internacional de PGP pot ser importada lliurement als EUA sempre i que no es torni a reexporta-la.

Si ja teniu instal�lada una versi� de GnuPG o PGP, haur�eu de comprovar la signatura del fitxer (vegeu Signatures).

2.2 Configuraci�

Es pot obtenir GnuPG com a un paquet binari de Debian (.deb), com a un paquet binari de RedHat (.rpm), o en codi font.

GnuPG s'inclou en la darreres distribucions de RedHat Linux. Si aquestes distribucions, per comprovar si teniu GnuPG instal�lat en el vostre sistema, empreu:


rpm -q gnupg

Els paquests esmentats s�n fitxers comprimits que es poden instal�lar amb les eines corresponents, segons la distribuci�. Si necessiteu instal�lar GnuPG en altres sistemes operatius, necessitareu compilar-lo a partir del codi font. S'agra�r� que qui compili un paquet d'instal�laci� per altres sistemes o arquitectures, el faci de domini p�blic.

Com que la gran part del desenvolupament de GnuPG es fa en m�quines x86 sota Linux, l'adaptaci� del programa a d'altres sistemes diferents no hauria de suposar cap problema. La llista de sistemes operatius suportats per GnuPG es pot trobar a les p�gines de GnuPG. El procediment que es descriu a continuaci� no �s exclusiu de cap plataforma. Aquest procediment es pot utilitzar per instal�lar GnuPG a partir d'un fitxer comprimit de codi font (.tar.gz).

Descomprimiu i desarxiveu el paquet amb el codi font amb l'ordre (suposant que teniu Gnu tar instal�lat):


$ tar xvzf gnupg-?.?.?.tar.gz

Despr�s de desempaquetar-lo, canvieu al directori on heu descomprimit el codi font. Llavors executeu:


$ ./configure

Amb aquest pas no hauria de succeir res d'especial. Si executeu


$ ./configure --help

podeu veure les opcions de configuraci� disponibles per a la compilaci�. Si apareixen problemes referents a la internacionalitzaci� (GET text), podeu incloure una versi� que est� inclosa amb el codi font emprant la opci� --with-included-gettext, o b� desactivar la internacionalitzaci� amb l'opci� --disable-NLT.

2.3 Compilaci�

A continuaci�, compileu el codi font amb l'ordre:


$ make

La compilaci� hauria de transc�rrer sense cap problema. Si pass�s quelcom anormal seguiu els passos seg�ents (en el mateix ordre en qu� es descriuen aqu�): Primer proveu de solucionar-ho vosaltres mateixos (fent �s de la documentaci� existent). Llavors assegureu-vos que el vostre problema no �s un error conegut (comproveu el fitxer BUGS a http://www.gnupg.org. Si cap d'aquests passos no solucionen el vostre problema, envieu la vostra pregunta a la llista de correu de GnuPG (en angl�s) (vegeu Fonts d'informaci�). Si el vostre problema est� relacionat amb la ruta d'acc�s, podeu provar make clean, executar ./configure un altre cop i intentar una vegada m�s compilar (amb make).

2.4 Instal�laci�

Llavors escriviu:


$ make install 

que copiar� el programa i les p�gines del manual al directori d'instal�laci�. Si no heu canviat el directori d'instal�laci� en executar ./configure, llavors el directori d'instal�laci� ser� /usr/local/share/gnupg. Podeu trobar aquest directori en el fitxer options.skel. Si canvieu options.skel, si es copia a ~/.gnupg/options els ajustaments apropiats s'usaran de forma predeterminada. L'acci� de copiar haria de realitzar-se autom�ticament en crear ~/.gnupg/. Totes les opcions possibles estan ben documentades i provar d'explicar-les aqu� no seria de gaire utilitat.

Podeu executar GnuPG com a suid root. D'aquesta manera, el programa s'executa amb tots els drets que t� el superusuari, i s'exclou la possibilitat que certes parts del sistema es desin externament i altres persones les puguin llegir. No m'�s possible de valorar els riscos d'executar el programa com a superusuari. Per� executant el programa com a suid root s'hauria d'estar alerta dels perills de cavalls de Troia, ja que un troi� executant-se com a superusuari podria malmetre tit el sistema. Si per aquesta ra� (o per qualsevol altra) escolliu de no executar GnuPG com a superusuari, podeu desactivar l'av�s activant no-secmem-warning a ~/.gnupg/options.

3. �s i gesti� de les claus

3.1 Generant una clau

Amb l'ordre


$ gpg --gen-key

podeu general un nou parell de claus (el parell es composa de clau p�blica i clau privada). La primera pregunta �s quin algoritme s'emprar�. Podeu llegir m�s a prop�sit dels algoritmes a PGP DH vs. RSA FAQ o a Applied Cryptography. L'algoritme recomanat per GnuPG �s DSA/ElGamal, ja que no est� patentat.

La seg�ent pregunta �s la longitud de la clau. Aquesta decisi� dep�n molt de cada usuari. Heu d'escollir entre la seguretat i el temps de c�lcul. Si una clau �s m�s llarga, el risc de trencar el missatge si �s interceptat decreix. Per� amb claus m�s llarges el temps de c�lcul tamb� augmenta. Si el temps de c�lcul �s un problema, heu de tenir en compte que voleu emprar la clau durant algun temps. Tothom sap que el rendiment aritm�tic augmenta molt r�pidament, ja que els nous processadors s�n cada vegada m�s r�pids. Tingueu aix� en compte. La llargada m�nima requerida per GnuPG �s de 768 bits, encara que molta gent opina que hauria de ser de 2048 (que �s el m�xim de GnuPG en aquest moment). Per a DSA, 1024 �s una llargada fixa. Si la seguretat t� prioritat envers el temps de c�lcul, haur�eu d'escollir la mida de clau m�s llarga disponible.

El sistema demana a continuaci� que introdu�u el nom, un comentari i l'adre�a de correu electr�nic. La clau es clacula en base a aquestes dades. Podeu canviar aquesta informaci� m�s tard (vegeu Administraci� de claus. La direcci� de correu electr�nic que escolliu hauria de ser v�lida, ja que ser� emprada per signar l'identificador d'usuari. Si aquesta direcci� es modifica d'alguna manera, la signatura no es correspondria.

Finalment heu d'introduir una contrasenya. Noteu la difer�ncia entre els termes anglesos per la paraula «contrasenya»: el terme "password" denota una "paraula de pas", mentre que el terme "passphase" denota una "frase de pas". Per tant, aquesta contrasenya s'ha de composar de m�s d'una paraula. Per a que una contrasenya sigui efectiva (segura), haur� de contenir els elements seg�ents:

En general, per tal d'aconseguir una contrasenya forta �s aconsellable intercal�lar maJ�sCUlEs amb mIn�ScuLEs, nombres, i d'altres car�cters no alfanum�rics. En escollir les paraules i les frases s'han d'evitar les paraules massa �bvies, dates significatives, i no heu d'emprar mai cites de llibres o frases c�lebres. Dit aix�, heu d'assegurar-vos que la contrasenya que escolliu sigui suficientment dif�cil perqu� no pugui ser vulnerada amb un «atac de for�a bruta», ni tan sols per un «atac de diccionari», per� suficientment f�cil perqu� NO LA OBLIDEU. Si oblid�ssiu la vostra contrasenya, la clau quedaria totalment inutilitzada, i tota la informaci� que s'hagi xifrat amb aquesta clau no podria ser desxifrada. Per tal d'evitar aquesta possibilitat es recomana crear certificats de revocaci� junt amb les claus (vegeu Revocaci�).

Una vegada que s'han introdu�t totes les dades necess�ries, el sistema comen�a a generar les claus. Aquest proc�s triga un temps que dep�n de la llargada de les claus. Durant aquest proc�s, el programa recull dades aleat�ries que emprar� per generar les claus; una manera d'ajudar a fer m�s aleatori aquest proc�s �s cambiar a una consola virtual diferent i emprar el teclat mentre el proc�s est� en marxa. La clau que genereu sempre ser� diferent. Si genereu una clau ara i una altra d'aqu� 5 minuts amb exactament la mateixa informaci�, obtindreu dues claus diferents. Aquesta �s la ra� per la qual no heu d'oblidar mai la vostra contrasenya.

3.2 Exportant claus

L'ordre per exportar una clau d'un usuari �s la seg�ent:


$ gpg --export [UID]

Si no es designa cap identificador d'usuari (UID) s'exportaran totes les claus presents. El resultat s'envia per defecta a stdout, per� amb l'opci� -o podem especificar que s'env�i a un fitxer. Es recomana emprar l'opci� -a per tal de que el resultat sigui un fitxer de ASCII de 7 bits en comptes d'un fitxer binari.

Si exporteu les vostra clau p�blica, la podeu facilitar a les persones amb les que voleu comunicar-vos de forma segura. La clau es pot exportar publicant-la a la vostra plana web, emprant finger, ftp, enviant-la a un servidor de claus p�bliques com per exemple http://www.pca.dfn.de/dfnpca/pgpkserv/, o qualsevol altre m�tode.

3.3 Important les claus

En rebre la clau p�blica d'alg� (o v�ries claus p�bliques), les heu d'afegir a la vostra base de dades de claus per tal de poder-les utilitzar. Per importar-les a la base de dades, heu d'executar l'ordre seg�ent:


$ gpg --import [nom del fitxer]

Si s'omet el nom del fitxer, les dades es llegiran de stdin. El fitxer pot contenir una sola clau o m�s d'una, que pertanyin a una o m�s persones.

3.4 Revocant una clau

Hi ha diverses raons per les quals podeu voler revocar una clau existent. Per exemple, que la clau privada hagi estat robada, hagi canviat el UID (identificador d'usuari), que ja no sigui prou llarga, etc. En tots aquests casos, el comandament per revocar la clau �s:


$ gpg --gen-revoke

Aix� crea un certificat de revocaci�. Per poder-ho fer, necessiteu la clau privada, sin� qualsevol podria crear un certificat i revocar una clau que no fos seva. Aix� t� un desavantatge, si hem oblidat la contrasenya, la clau no serveix de res, i tampoc es pot generar un certificat de revocaci�. Per aquesta ra�, �s aconsellable generar un certificat de revocaci� en crear el parell de claus. Si ho feu, per�, guardeu-lo en un lloc segur perqu� ning� no pugui emprar-lo i revocar la clau.

3.5 Administraci� de les claus

En el sistema GnuPG hi ha un fitxer que actua com una mena de base de dades. En aquest fitxer es desen totes les dades relacionades amb les claus, inclosos els valors que fan refer�ncia al grau de confian�a (Ownertrust); per a m�s informaci� sobre el grau de confian�a llegiu Signant les claus).

Amb l'ordre


$ gpg --list-keys

es mostraran totes les claus presents. Per veure tamb� totes les signatures escriviu:


$ gpg --list-sigs

(vegeu Signant les claus per a m�s informaci�).

Per veure les empremtes digitals (fingerprints) escriviu:


$ gpg --fingerprint

Les "empremtes digitals" serveixen per confirmar la identitat d'una persona. Aquesta ordre ens mostra una llista alfanum�rica (relacionada amb la clau) que podem compravar, per exemple, per tel�fon.

Per veure el llistat de claus privades escriviu:


$ gpg --list-secret-keys

Nota: el llistat d'empremtes digitals i de signatures de les claus privades no t� cap utilitat directa m�s de la de donar-nos aquesta informaci�.

Per tal d'esborrar una clau p�blica executeu l'ordre:


$ gpg --delete-key UID

Per eliminar una clau privada escriviu:


$ gpg --delete-secret-key

Hi ha encara un altre comandament important que t� relaci� amb la gesti� de les claus:


$ gpg --edit-key UID

Emprant aquesta ordre podeu editar (entre d'altres coses) la data d'expiraci�, afegir una empremta digital i signar la vostra clau. Per realitzar aquestes operacions necessiteu la contrasenya. En executar aquesta ordre veureu una linia de comandaments.

3.6 Signant les claus

Com s'ha comentat anteriorment, hi ha un tal� d'Aquil�les al sistema: l'autentificaci� de les claus p�bliques. Si teniu una clau p�blica err�nia, ja us podeu oblidar dels valor del xifratge. Per tal d'evitar aquests riscos existeix la possibilitat de signar les claus. Quan tenim la certesa que una clau �s v�lida i que pertany a qui diu que pertany, podem signar-la digitalment, de manera que la nostra signatura donar� fe (als que confien en la nostra signatura) que aquella clau p�blica correspon a aquell ID d'usuari.

Si executeu l'ordre:


$ gpg --edit-key UID

per la clau que voleu signar, podreu signar-la amb la subordre:


Command> sign

Nom�s heu de signar una clau quan estigueu ABSOLUTAMENT SEGURS que la clau �s aut�ntica!!! En realitat, nom�s es pot estar segur quan la clau ha estat rebuda en m�, o, per exemple, si s'ha rebut per correu i a continuaci� s'ha comprovar l'empremta digital de la clau per algun altre mitj� (per exemple, per tel�fon). No heu de signar mai cap clau basant-vos en una suposici�.

Basant-se en les signatures disponibles en una clau i en el «grau de confian�a», GnuPG determina la validesa de les claus. El grau de confian�a (Ownertrust) �s un valor que el propietari d'una clau empra per determinar el nivell de confian�a per una clau concreta. Aquests valors s�n:

Si l'usuari no es refia d'una signatura, ho pot indicar i refusar la confian�a en la mateixa. La informaci� sobre la confian�a no es desa en el mateix fitxer que el de les claus, sin� que en un altre diferent.

4. Xifrant i desxifrant

Despr�s d'haver-ho instal�lat i configurat tot tal com voleu, podeu comen�ar a xifrar i desxifrar.

�s possible que quan vulguem xifrar o desxifrar quelcom, tingueu m�s d'una clau privada en el nostre anell de claus. Si aix� passa, �s necessari seleccionar-ne una com activa. Per fer-ho, es pot emprar l'opci�


-u UID

o b� l'opci�


--local-user UID

Tamb� podeu afegir la l�nia seg�ent al fitxer de configuraci� $HOME/.gnupg/options:


default-key UID

Si desitgeu indicar l'UID d'un destinatari per xifrar un fitxer amb la seva clau, ho podeu fer amb l'opci�


-r

o b� l'opci�


--recipient

4.1 Xifrar

L'ordre per xifrar �s la seg�ent:


$ gpg -e [fitxer]

o b�:


$ gpg --encrypt [fitxer]

El programa demanar� el UID del destinatari (o dels destinataris, �s possible posar-ne m�s d'un). Es pot evitar que el programa ho pregunti emprant l'ordre:


$gpg -er [UID del destinatari] [fitxer]

GnuPG generar� un fitxer xifrat amb el nom [fitxer].gpg. Tamb� podem emprar l'opci�:


--armor

o b�


-a

perqu� el fitxer generat sigui del tipus ASCII de 7 bits. L'ordre seria doncs:


$ gpg -a -er [UID del destinatari] [fitxer]

Aquesta ordre generar� un fitxer codificat de nom [fitxer].asc amb el format ASCII de 7 bits.

Heu de tenir en compte que el fet de xifrar un fitxer (o un missatge) l'�nic que fa �s protegir les dades amb un xifratge que nom�s pot desfer el destinatari; no protegeix del risc que alg� intenti suplantar la nostra identitat. Per tal d'evitar-ho, nom�s cal signar digitalment tot all� que es xifri (vegeu Signatures).

4.2 Desxifrar

L'ordre per desxifrar �s:


$ gpg [-d] [fitxer]

o b�:


$ gpg [--decrypt] [fitxer]

En aquest cas no �s necess�ria l'opci�, �s opcional, ja que gpg utilitza per defecte:


--decrypt

En els casos anteriors, el resultat es mostra a stdout (habitualment la sortida de l'int�rpret d'ordres), per� el podeu redireccionar amb l'opci�:


-o [fitxer]

, on [fitxer] �s el nom del fitxer on vulgueu el resultat.

5. Signant i verificant signatures

Signar i verificar signatures �s una part molt important dels sistemes de criptografia de clau p�blica. L'usuari pot signar una s�rie de dades o un document, per la qual cosa utilitza la seva clau privada. Per verificar les signatures d'altres usuaris, �s necessari obtenir pr�viament les seves claus p�bliques.

5.1 Signar

Per signar un fitxer amb la vostra clau, utilitzeu l'ordre:


$ gpg -s [fitxer]

o b�

$ gpg --sign [fitxer]

Aquesta ordre, a m�s de produir una signatura digital, tamb� comprimeix el fitxer, per la qual cosa el resultat �s un fitxer binari il�legible. Per produir un fitxer signat legible (en format ASCII), s'empra l'ordre:


$ gpg --clearsign [fitxer]

D'aquesta manera, tant la signatura com les dades signades, s�n legibles en un editor.

La signatura tamb� es pot generar en un fitxer separat (de les dades). Aquesta opci� �s molt recomanable especialment quan es signen fitxers binaris (per exemple, fitxers comprimits). Per realitzar-ho s'ha d'utilitzar l'ordre:


$ gpg -b [fitxer]

o b�

$ gpg --detach-sign [fitxer]

Aquest �s el mode que MIME/PGP empra per signar els missatges de correu electr�nic. Aquest mode �s molt �til quan s'ha de signar un binari, per exemple, per distribuir-lo, ja que la signatura es basa en el binari per� va en un fitxer apart. L'opci� --armor tamb� pot �sser d'utilitat en aquests casos.

Sovint haureu de signar i xifrar un fitxer alhora. L'ordre que permet fer aix� �s:


$ gpg [-u Remitent] [-r Destinatari] [--armor] --sign --encrypt
[fixer]

La funcionalitat de les opcions -u (--local-user) i -r (--recipient) �s la que s'ha descrit anteriorment.

5.2 Verificar

En desxifrar un fitxer xifrat que tamb� hagi estat signat digitalment, la signatura es verifica autom�ticament. En tot cas, �s possible verificar la signatura simplament amb l'ordre:


$ gpg [--verify] [fitxer]

Aquesta ordre nom�s funcionar� (�s clar) quan tingueu la clau p�blica del remitent.

6. GnuPG + PGP

En ser PGP un programa m�s antic que GnuPG, �s normal que un usuari nou de GnuPG tingui ja instal�lada alguna versi� de PGP al seu sistema, i que desitgi mantenir les seves claus velles despr�s d'actualitzar-se a GnuPG. Doncs b�, no nom�s �s possible importar el contingut dels anells de claus, sin� que, alternativament, �s possible que GnuPG gestioni els anells de claus de PGP 2.6.3 i PGP 5.0.

Hi ha altres «problemes» de compatibilitat que tamb� tractarem en aquest cap�tol, com s�n les signatures de tipus V4 generades per GnuPG, o de l'�s per part de PGP dels algoritmes propietaris RSA o IDEA. Comen�arem per aquesta darrera q�esti�.

6.1 �s d'algoritmes no lliures

L'�s d'algoritmes amb patents restrictives per part de PGP representa un problema donat que la filosofia al voltant de GnuPG �s la d'implementar un sistema criptogr�fic lliure. Aix� doncs, les patents sobre aquests algoritmes n'impossibiliten una implementaci� total. Per� GnuPG tamb� pret�n cumplir amb les normes dels «est�ndards» d' OpenPGP.

Existeixen unes extensions per a RSA i IDEA que poden ser instal�lades i permeten un cert �s d'aquests algoritmes. Les claus generades per PGP 2.6.x s�n del tipus RSA, i l'algoritme de xifratge emprat �s IDEA (tamb� pot ser emprat per PGP 5.x). �s possible conseguir el codi font d'aquests algoritmes als fitxers rsa.c i idea.c.

Tamb� existeixen els binaris instal�lables d'aquestes extensions per algunes distribucions de Linux , com per exemple Debian (comproveu-ho per a d'altres distribucions).

6.2 Signatura digital amb GnuPG

GnuPG �s l'�nic sistema capa� d'implementar signatures digitals V4 (segons OpenPGP) i aquesta n'�s l'opci� per defecte, per� en aquest cas PGP no �s capa� de verificar-les. �s possible obligar a GnuPG a emprar V3, de dues maneres:


force-v3-sigs


$ gpg <opci�> --force-v3-sigs [fitxer]

6.3 Importar anells de claus de PGP a GnuPG

Intentarem explicar com exportar les claus p�bliques i privades des dels nostres anells de claus PGP als anells de claus GnuPG.

NOTA: aquest m�tode s'ha extret del PGP2GnuPG Howto de Caskey L. Dickson i no l'he provat personalment. L'�ltima actualitzaci� del «PGP2GnuPG Howto» data del desembre de 1998. Per aquesta ra�, i per poder integrar PGP amb GnuPG, recomano l'�s del m�tode que s'explica a la secci� seg�ent, ja que �s m�s senzill i fiable.

Suposant que tingueu instal�lades dues versions de PGP per a Unix/Linux, tenim els seus respectius anells de claus p�bliques i privades a $HOME/.pgp/:

A continuaci� utilitzar�em les ordres que corresponguin a cada veri� per tal d'extreure les claus que desitgem.

Aix�, per extreure una clau de PGP 2.6.x:


$ pgp -kx UID fitxer anell

per exemple:


$ pgp -kx Pepe clavepepe2 ~/.pgp/pubring.pgp

Aquesta operaci� ens donaria el fitxer clavepepe2.pgp. Per extreure'n la nostra clau privada, no haur�em de fer cap altra cosa que indicar el nostre UID i el fitxer de les claus privades ~/.pgp/secring.pgp. No em consta que hi hagi cap manera d'indicar m�s d'un UID amb PGP 2.6.3, si en sabeu alguna, si us plau envieu-me un mensaje (NT: adre�a de correu de l'autor d'aquesta secci� i de la traducci� a la versi� castellana del document).

Una vegada s'ha extret la clau nom�s s'ha d'importar al fitxer de GnuPG:


$ gpg --import clavepepe2

Per extreure una clau de PGP 5.0:


$ pgpk -x UID -o fitxer

per exemple:


$ pgpk -x Pepe -o clavepepe5

En aquest cas, el fitxer per defecte �s el de claus p�bliques, i obtindr�em el fitxer clavepepe5 tal i com hem indicat.

Una vegada m�s, nom�s ens queda importar la clau:


$ gpg --import clavepepe5

Ja que PGP 5.0 no ens permet indicar el fitxer sobre el que volem operar, la extracci� de la clau privada es complica una miqueta. La soluci� ve donada per un sistema superior com el de GnuPG:

Aquest procediment posa en risc la clau privada durant un breu per�ode de temps, aix� que no hauria de ser emprat en un sistema multiusuari o p�blic. Els passos a seguir s�n:


$ pgpk -e UID

per exemple:

$ pgpk -e 0x614DB9FA

sec  1024 0x614DB9FA 1998-03-22 ---------- DSS        Sign & Encrypt

sub  1024 0x2B9E0571 1998-03-22 ---------- Diffie-Hellman

uid  Horacio <[email protected]>

uid  Horacio <[email protected]>


1024 bits, Key ID 0x614DB9FA, created 1998-03-22

"Horacio <[email protected]>"

"Horacio <[email protected]>"

Do you want to unset this key as axiomatic [y/N]? N

Do you want to unset this key as axiomatic [y/N]? N

Do you want to add a new user ID [y/N]? N

Do you want to change your pass phrase (y/N)? Y
Need old passphrase. Enter pass phrase: <introdu�u la contrasenya>
Need new passphrase. Enter pass phrase: <deixeu-ho buit>
Enter it a second time. Enter pass phrase: <deixeu-ho buit>
Changing master key passphrase...

Changing subkey passphrase...

Do want to set this as your default key [y/N]? N

Keyrings updated.


$ gpg --export-secret-keys --secret-key-ring ~/.pgp/secring.skr 0x614DB9FA > lamevaclau

Tot aix� en una sola l�nia, i es crear� el fitxer lamevaclau.


$ gpg --import < lamevaclau

Swguidament torneu a introduir una contrasenya a la clau des de GnuPG.

6.4 Emprar anells de claus de PGP amb GnuPG

�s possible evitar tota aquesta operaci� anterior, mantenint instal�lades les diferents versions de PGP al mateix temps que la de GnuPG. Essent GnuPG un sistema superior i m�s nou, pot recon�ixer els anells de claus de PGP com a propis.

En el cas de PGP 5.0, n'hi ha prou amb afegir la ruta d'acc�s completa als fitxers de claus de PGP 5.0, precedit per keyring o secret-keyring, al final del fitxer ~/.gnupg/options segons correspongui:


keyring ~/.pgp/pubring.pkr
secret-keyring ~/.pgp/secring.skr

Els fitxers de claus de PGP 2.6.3 s�n reconeguts per GnuPG per defecto. Si aix� no fos aix�, nom�s caldria repetir la mateixa operaci� anterior adaptant-la a les circumst�ncies:


keyring ~/.pgp/pubring.pgp
secret-keyring ~/.pgp/secring.pgp

Si a continuaci� feu un llistat de les claus p�bliques amb GnuPG, observareu que llegeix els tres fitxers, ~/.gnupg/pubring.gpg, ~/.pgp/pubring.pkr, y ~/pubring.pgp:

$ gpg --list-keys

     /home/usuario/.gnupg/pubring.gpg
     --------------------------------
     pub 1024D/57548DCD 1998-07-07 Werner Koch (gnupg sig)
     <[email protected]>
     pub 1024D/A95AF46C 1998-11-29 Brenno J.S.A.A.F. de Winter
     <[email protected]>
     sub 3072g/A3CA62A0 1998-11-29

   (... y dem�s claves p�blicas DSA/ElGamal...)

     /home/usuario/.pgp/pubring.pkr
     ------------------------------
     pub 1024D/FAEBD5FC 1997-04-07 Philip R. Zimmermann <[email protected]>
     sub 2048g/42F0A0A0 1997-04-07

   (... etc DSS/Diffie-Helman...)

     /home/usuario/.pgp/pubring.pgp
     ------------------------------
     pub 1024R/88A17FF5 1995-09-11 IRIS-CERT, Spain

   (... etc RSA...)

El mateix succe�ria amb les claus privades:

$ gpg --list-secret-keys

     /home/horacio/.gnupg/secring.gpg
     --------------------------------
     sec 1024D/42337AE6 1999-03-14 Horacio (comentari)
     <[email protected]>
     ssb 2048g/1F177864 1999-03-14

     /home/horacio/.pgp/secring.skr
     ------------------------------
     sec 1024D/7992AB40 1998-05-04 Horacio <[email protected]>
     uid Horacio <[email protected]>
     ssb 2048g/917366AE 1998-05-04

     /home/horacio/.pgp/secring.pgp
     ------------------------------
     sec 1024R/32D4A925 1997-09-23 Horacio <[email protected]>

7. Interf�cies gr�fiques

Per fer m�s f�cil l'�s de GnuPG, teniu una �mplia varietat de programes que empren o s�n compatibles amb el xifratge de GnuPG. Hi ha interf�cies gr�fiques que permeten administrar les claus amb el ratol� i tamb� hi ha molts MUA (Mail User Agents) que permeten xifrar i signar missatges de correu electr�nic de forma molt senzilla. Hi ha una llista quasi b� completa de front ends a la p�gina GnuPG Frontends. En destacarem alguns d'ells a continuaci�.

7.1 Interf�cies gr�fiques

GPA

GPA, GNU Privacy Assistant �s una interf�cie d'usuari gr�fica per Gnu Privacy Guard (GnuPG). Aquest �s el front end gr�fic est�ndard que ofereix el projecte GnuPG. Amb GPA, podeu veure el vostre anell de claus, importar i exportar claus, generar claus, editar-ne les propietats i xifrar, signar o desxifrar documents.

Instal�lar GPA �s senzill. Descarregueu-ne el codi font comprimit, descomprimiu-lo i llavors executeu l'ordre:


$ ./configure; make
# make install

Executeu el programa escrivint:


$ gpa

Seahorse

Seahorse �s una interf�cie gr�fica de GnuPG per a GNOME. Es pot emprar per signar, xifrar, verificar i desxifrar text i fitxers. El text es pot obtenir del porta-retalls, o el podeu escriure directament en el petit editor que porta. Seahorse �s tamb� un gestor de claus que es pot utilitzar per editar quasi b� totes les propietats de les claus que emmagatzemeu en el vostre anell de claus.

Podeu instal�lar Seahorse mitjan�ant un paquet per a la vostra distribuci�, o b� descarregant-vos un fitxer comprimit amb el codi font. Instal�lar l'aplicaci� des del codi font es fa com amb qualsevol altre paquet. Descarregeu-lo, descomprimiu-lo, executeu configure i feu make install. La instal�laci� es fa sota el directori /usr/local i inserta un element de men� al men� d'aplicacions de GNOME.

Geheimnis

Geheimnis �s un front-end per GNUPG que est� basat en KDE. Se suposa que t� totes les funcions de GPA i Seahorse. Lamentablement, quan vaig provar de compilar el programa em vaig quedar encallat perqu� em mancava una lliberia (/usr/lib/libfam.la).

7.2 Programes de correu electr�nic

Els programes de correu electr�nic (o MUAs) m�s populars permeten l'�s de GnuPG. Entre aquests, hi ha almenys els seg�ents:

Amb tota certesa n'hi ha molts m�s, per� �s quasi b� impossible provar-los tots.

Emprant GnuPG des del vostre programa de correu us permet desxifrar missatges de correu electr�nic que us envi�n xifrats amb la vostra clau p�blica, signar els vostres missatges per tal que el destinatari pugui estar segur que en sou l'autor i xifrar el vostre correu electr�nic amb les claus p�bliques dels destinataris.

Evolution

Evolution, el programa m�s corrent per GNOME, cont� integrada la possibilitat d'emprar el xifratge de GnuPG i de PGP. Per poder-lo configurar per tal de poder signar i desxifrar missatges, heu d'introduir el vostre ID d'usuari a la pestanya 'Seguretat' de les propietats del compte de correu.

Quan envieu un nou missatge no l'estareu signant o xifrant per defecte. Per fer-ho, heu de seleccionar 'Signa amb PGP' i 'Xifra amb PGP' del men� 'Seguretat'.

En rebre un missatge signat o xifrat, es desxifrar� autom�ticament i apareixer� un candau al final del text. Si premeu el candau, es verificar� la signatura i us mostrar� si �s correcta o no.

Mozilla i Enigmail

Mozilla no inclou la possibilitat d'emprar GnuPG per ell mateix. Per emprar el xifrat GnuPG amb Mozilla, heu d'instal�lar un connector, com EnigMail. Enigmail �s un connector per Mozilla/Netscape Mail que permet als usuaris accedir a les caracter�stiques d'autentificaci� i xifrat que facilita el programari GPG i PGP. Enigmail �s capa� de xifrar i signar correu electr�nic en enviar-lo, i tamb� de desxifrar i verificar el correu rebut. Tamb� �s capa� d'importar i exportar claus privades.

Instal�lar EnigMail en un sistema RedHat Linux �s especialment senzill, ja que hi ha RPM disponibles per les darreres versions de Mozilla. S'han d'instal�lar dos paquets: mozilla-enigmail-0.39-3.i386.rpm i mozilla-ipc-0.99-0_rh7x.rpm. Despr�s d'instal�lar aquests RPM, reinicieu Mozilla (o Netscape 6.x) i haur�eu de ser capa�os d'emprar GnuPG en el vostre correu electr�nic. Tingueu en compte, per�, que EnigMail nom�s xifra el text del vostre missatge. No xifra els afegits; haureu de xifrar qualsevol fitxer que vulgueu afegir separadament. En altres sistemes, probablement haureu d'instal�lar EnigMail a partir del codi font.

Kmail

Kmail, el programa de correu electr�nic m�s corrent per KDE cont� integrada la possibilitat d'emprar el xifratge de GnuPG i PGP. Per poder-lo configurar per tal de poder signar i desxifrar missatges, heu d'introduir el vostre ID d'usuari a la secci� 'Identitat' de la configuraci� de Kmail. Quan envieu un nou missatge no l'estareu signant o xifrant per defecte. Per fer-ho, heu de seleccionar els butons 'Signa el missatge' i 'Xifra el missatge' de la barra d'eines.

8. Fonts d'informaci�

8.1 GnuPG

8.2 PGP

PGP �s el programa de criptografia m�s antic que (encara) est� �mpliament ext�s. Durant aquest temps s'han publicat nombrosos documents. Aquesta informaci� �s molt �til. Molta d'aquesta informaci� �s tan general que la podeu aplicar a GnuPG tamb�. Mireu-vos les adreces seg�ents per obtenir aquests documents:

8.3 Servidors de claus

8.4 Llibres

9. A prop�sit d'aquest document

Copyright © 2002 Josep Mon�s i Teixidor (versi� en catal�)
Copyright © 2002 Arjen Baart (versi� en neerland�s)
Copyright © 1999 J.H. M.G. (versi� en castell�)
Copyright © 1999 Brenno J.S.A.A.F. de Winter (versi� en angl�s)
Copyright © 1999 Michael Fischer v. Mollard (versi� original en alemany)

Aquest document �s documentaci� lliure i es pot redistribuir i/o modificar sota les condicions de la GNU Library General Public License, segons ha publicat la Free Software Foundation; en la seva versi� 2, o (si ho preferiu) en qualsevol versi� posterior.

Aquest document es distribueix esperant que ser� �til, per� SENSE CAP GARANTIA. Vegeu la "GNU Library General Public License" ( http://www.gnu.org/copyleft/gpl.html) per obtenir-ne m�s detalls. Podeu obtenir-ne una traducci� aproximada i NO OFICIAL al catal� a http://ca.dodds.net/gnu/gpl.ca.html.

Haur�eu d'haver rebut una c�pia de la "GNU Library General Public License" amb la distribuci� d'aquest document; si no �s aix�, podeu demanar-la escriguent a:


Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307
USA

9.1 Versions

Versi� original en alemany: la versi� 0.1 va ser la primer versi� en alemany.

Tots els canvis per la versi� original, en alemany, estan documentats en un fitxer diff: dieses Dokument

Notes per a la versi� catalana: Podeu enviar qualsevol suggeriment o comentari sobre aquest document a Josep Mon�s i Teixidor ( mailto:[email protected]). Qualsevol comentari o correci� �s benvingut.

Notes per a la versi� castellana: Cualquier comentario o correcci�n al documento que ayude a mejorarlo es bienvenido. Por favor, enviad cualquier sugerencia a <[email protected]>.

Notes per a la versi� anglesa i neerlandesa: All remarks for this document can be sent to Brenno J.S.A.A.F. de Winter ( [email protected]). or Arjen Baart ( [email protected]). Comments help us make a better document and are greatly appreciated.

Notes per a la versi� alemanya: Anregungen, Kritik, Verbesserungen und Erweiterungen einfach an Michael Fischer v. Mollard <[email protected]> senden, damit dieses Dokument weiter verbessert werden kann.

OSZAR »