Curs: | SeguretatXarxesInformàtiques |
Fitxers: | TecniquesCriptografiques.pdf (TecniquesCriptografiques.odp) |
Repositori SVN: | https://[email protected]/svn/iceupc/SeguretatXarxesInformàtiques |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas |
$ gpg --gen-key gpg (GnuPG) 1.4.6; Copyright (C) 2006 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Seleccioneu quin tipus de clau voleu: (1) DSA and Elgamal (default) (2) DSA (només signar) (5) RSA (només signar) La vostra selecció? DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) La grandària sol·licitada és 2048 bits Especifiqueu el temps de validesa de la clau. 0 = la clau no caduca <n> = la clau caduca als n dies <n>w = la clau caduca a les n setmanes <n>m = la clau caduca als n mesos <n>y = la clau caduca als n anys Indiqueu la validesa de la clau (0) Key does not expire at all Is this correct? (y/N) You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and E-mail Address in this form: "Heinrich Heine (Der Dichter) <[email protected]>" Nom i cognoms: Pepe Pardo Jeans Adreça electrònica: [email protected] Comentari: Clau de broma Heu triat l'identificador d'usuari: "Pepe Pardo Jeans (Clau de broma) <[email protected]>" Canvia (N)om, (C)omentari, (E)mail o (O) d'acord / (X) ix o Cal una contrasenya per a protegir la clau secreta. Cal generar molts bits aleatòriament. És bona idea fer alguna altra cosa (teclejar, moure el ratolí, usar els discos) durant la generació de nombres primers; açò dóna oportunitat al generador de nombres aleatoris d'aconseguir prou entropia. .++++++++++..++++++++++++++++++++.+++++++++++++++.+++++++++++++++. Cal generar molts bits aleatòriament. És bona idea fer alguna altra cosa (teclejar, moure el ratolí, usar els discos) durant la generació de nombres primers; açò dóna oportunitat al generador de nombres aleatoris d'aconseguir prou entropia. ++++++++++++++++++++.++++++++++++++++++++..+++++++++++++++..+++++++ gpg: key F19D66B4 marked as ultimately trusted s'han creat i signat les claus pública i secreta. gpg: s'està comprovant la base de dades de confiança gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 2 signed: 1 trust: 0-, 0q, 0n, 0m, 0f, 2u gpg: depth: 1 valid: 1 signed: 0 trust: 1-, 0q, 0n, 0m, 0f, 0u pub 1024D/F19D66B4 2007-10-14 Key fingerprint = 2B2C 5E4C 5FBE 9BDE 3EB4 C4FC 0C59 F136 F19D 66B4 uid Pepe Pardo Jeans (Clau de broma) <[email protected]> sub 2048g/29D5722E 2007-10-14
Si no tenim clar el que volem, les respostes per defecte són les adequades.Si que cal indicar que l'identificador i el correu electrònic han de ser correcte si volem que les claus compleixin amb els seu objectiu.
Ara cal fer pública la clau:
$ gpg --keyserver pgp.mit.edu --send-keys IDDECLAU
On IDDECLAU és l'identificador de la clau que acabem de crear:
pub 1024D/F19D66B4 2007-10-14
En l'exemple F19D66B4.
Hi han diferents servidors de claus. Un altre servidor pot ser subkeys.pgp.net.
Podem obtenir els identificadors de les nostres claus amb:
$ gpg --list-secret-keys | grep sec
La informació de GPG és guarda a la carpeta:
/home/sergi/.gnupg
Segons el manual:
$ man gpg
La clau privada és guarda a:
~/.gnupg/secring.gpg
i la pública a:
~/.gnupg/pubring.gpg
Amb l'ordre file podeu saber quin tipus de fitxer és:
$ file /home/sergi/.gnupg/secring.gpg /home/sergi/.gnupg/secring.gpg: PGP key security ring
$ file /home/sergi/.gnupg/pubring.gpg /home/sergi/.gnupg/pubring.gpg: GPG key public ring
Podeu consultar la vostra clau pública a través de la web
http://pgp.mit.edu
Una exemple de URL de clau és la següent:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x177D98AD
$ gpg --clearsign prova.txt
$ cat prova.txt.asc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Això és una prova! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFJMrNXkDcRtKCX0rURAg5fAJ0WsqTry3y5483dMHOxLK1uje+qiwCeJFMd xYmVfE7JrCVt+4BFn7zPmR4= =74A1 -----END PGP SIGNATURE-----
$ gpg --verify prova.txt.asc gpg: Signature made dg 30 nov 2008 16:37:59 CET using DSA key ID A097D2B5 gpg: Good signature from "Sergi Tur Badenas <[email protected]>" gpg: aka "Sergi Tur Badenas <[email protected]>" gpg: aka "[jpeg image of size 2338]"
O
$ gpg --verify prova.txt.sig gpg: Signature made dg 30 nov 2008 16:39:53 CET using DSA key ID A097D2B5 gpg: Good signature from "Sergi Tur Badenas <[email protected]>" gpg: aka "Sergi Tur Badenas <[email protected]>" gpg: aka "[jpeg image of size 2338]"
$ echo "Prueba de gpg" | gpg --encrypt --armor
Les opcions --encrypt i -e són idèntiques.
També podem xifrar el contingut d'un fitxer amb:
$ gpg --encrypt -r sergi --armor prova.txt
L'opció --armor mostra el fitxer xifrat en base64?
$ gpg -se prova.txt No heu especificat un ID d'usuari. (podeu usar «-r») Current recipients: Introduïu l'ID d'usuari. Finalitzeu amb una línia en blanc:
$ file prova.txt.gpg prova.txt.gpg: GPG encrypted data
Es pot indicar directament l'usuari amb:
$ gpg -se -r sergi file
Una altra opció:
$ gpg -s --encrypt -r sergi --armor prova.txt
$ gpg -sb prova.txt
gpg --list-keys user_ID show keys
$ gpg --list-keys sergi pub 1024D/A097D2B5 2007-05-02 uid Sergi Tur Badenas <[email protected]> uid Sergi Tur Badenas <[email protected]> uid [jpeg image of size 2338] sub 2048g/818898A6 2007-05-02
$ gpg --fingerprint user_ID
$ gpg --export -a "User Name" > public.key
Les claus secretes es guarden al fitxer secring.gpg. Podeu fer una cerca amb find o locate:
$ locate secring.gpg ... /linux2/.Trash-1000/files/sergi/.gnupg/secring.gpg
I mostrar totes les claus amb:
$ gpg --list-secret-keys --secret-keyring /linux2/.Trash-1000/files/sergi/.gnupg/secring.gpg /home/sergi/.gnupg/secring.gpg ------------------------------ claus del fitxer per defecte /linux2/.Trash-1000/files/sergi/.gnupg/secring.gpg -------------------------------------------------- claus de l'altre fitxer
Per afegir altres fitxers cal repetir l'opció --secret-keyring:
$ gpg --list-secret-keys --secret-keyring /linux2/.Trash-1000/files/sergi/.gnupg/secring.gpg --secret-keyring /linux3/linux2/home/sergi/.gnupg/secring.gpg
Per exportar-les:
$ gpg --export-secret-keys --armor --secret-keyring /linux2/.Trash-1000/files/sergi/.gnupg/secring.gpg --secret-keyring \ /linux3/linux2/home/sergi/.gnupg/secring.gpg > clausprivades.keys
Per importar-les:
$ gpg --allow-secret-key-import --import clausprivades.keys
$ gpg --import public.key
$ gpg --export-secret-keys --armor
NOTA: Podeu utilitzar --armor o -a
El resultat es mostra per la sortida estàndard en format armor (fitxer de text). Per guardar-ho en un fitxer:
$ gpg --export-secret-keys --armor > privateGPGkey
També es pot guardar en un format binari:
$ gpg --export-secret-key "Sergi Tur Badenas" > private.key
També es pot guardar una sola clau, especificant el nom d'usuari:
$ gpg --export-secret-key "Sergi Tur Badenas" > private.key
$ gpg --allow-secret-key-import --import private.key
Per mostrar les claus públiques:
$ gpg --list-keys
Per mostrar les claus de l'anell de claus secretes:
$ gpg --list-secret-keys
Ens permeten publicar i buscar claus públiques:
Servidor de claus públiques del MIT
PGP Key Server:
Ubuntu Key Server:
Debian Key Server:
Subkeys:
Consulteu Seahorse
Proveeix de xifratge de clau pública a Mozilla Thunderbird. És un plugin de Mozilla-Thunderbird.
Instal·lació:
$ sudo apt-get install mozilla-thunderbird-enigmail
Utilitza GNU Privacy Guard.
Consulteu també Gmail.
Consulteu la Web of Trust
Una Festa de Firmes és un esdeveniment on usuaris de claus GPG es troben per autenticar-se entre ells i firmar claus i d'aquesta manera crear Xarxes de confiança (Web Of Trust).
En aquest esdeveniment els usuaris de claus de firmes poden firmar les claus dels "amics" o "coneguts" com a un mètode per autenticar les claus de la xarxa:
Cal tenir en compte que per firmar una clau s'hauria de complir les següents condicions:
Per tant per firmar firmes és obligatori l'assistència del propietari de la firma.
El propietari de la firma ha de:
Durant la trobada cal donar les petjades digital i les longituds de clau a altres persones per tal que firmin la seva clau (i identificant-se al mateix temps)
Després de la trobada cal firmar les claus PGP. Primer obtenim la clau
$ gpg --keyserver keyring.debian.org --recv-keys 0xIDENTIFICADOR DE LA CLAU
On l'identificador de la clau són els últims 8 dígits de la petjada digital de la clau.
Un cop teniu la clau s'ha de firmar seguint les següents passes:
$ gpg --edit-key 0xIDENTIFICADOR DE LA CLAU
Podem seleccionar diferents uid i per firmar hem d'introduir:
sign
En aquest moment veurem la petajada digital i la longitud de la clau i la verificarem amb les dades que ens va donar la persona durant la trobada.
Quan es pregunti pel mode d'identificació utilitzeu casual
Podem sortir de GnuPG amb quit.
Per verificar que em fet la firma correctament:
$ gpg --list-sigs 0xIDENTIFICADOR DE LA CLAU
Un com estem segurs de que tot ha anat correctament podem enviar la clau firmada al seu propietari:
$ gpg --export -a 0xIDENTIFICADOR DE LA CLAU > nom_fitxer_clau
La opció -a exporta la clau en ASCII i així es pot enviar per correu electrònic sense possibilitat de ser corrompuda.
El propietari si rep una clau firmada d'aquesta manera pot executar
$ gpg --import mi_clave_firmada $ gpg --keyserver keyring.debian.org --send-keys 0xIDENTIFICADOR DE LA CLAU
Un exemple de Festa de firmes, és la que duen a terme els membres del Ubuntu Catalan Team:
Hi ha un paquet Debian amb utilitats per facilitar els passos a seguir durant una Festa de Firmes:
$ sudo apt-get install signing-party