Next Previous Contents

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.


Next Previous Contents