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).
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�.
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.
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.
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).
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
.
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
).
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
.
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.
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.
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.
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.
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.
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.
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
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).
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.
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.
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.
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.
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�.
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).
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:
$HOME/.gnupg/options
afegint la l�nia:
force-v3-sigs
$ gpg <opci�> --force-v3-sigs [fitxer]
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/
:
PGP 2.6.x
PGP 2.6.x
PGP 5.x
PGP 5.x
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:
GnuPG
.
$ 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.
PGP 5.0
�s incapa� de fer-ho, aix� que emprarem GnuPG
:
$ 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
.
�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]>
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�.
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 �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 �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).
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, 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 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, 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.
gpg --help
. Aquesta �s una font de molt de
valor.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:
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
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
GnuPG
amb PGP
.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.