Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gua de Gnu Privacy Guard Copyright 1999 por The Free Software Foundation Para cualquier duda, error, o sugerencia sobre este manual, dirjase al autor del mismo, Mike Ashley (<jashley@acm.org>). Para cualquier duda, correccin, o sugerencia sobre la versin en castellano, dirjase al traductor, Horacio (<homega@ciberia.es>). Tambin han contribuido a la creacin del manual Matthew Copeland, Joergen Grahn y David A. Wheeler. Se otorga permiso para copiar, distribuir y/o modicar este documento bajo los trminos de la Licencia de Documentacin Libre GNU, Versin 1.1 o cualquier otra versin posterior publicada por la Free Software Foundation; con las Secciones Invariantes siendo NONE, con los Textos de Portada siendo NONE, y con los Textos al respaldo de la pgina de ttulo siendo NONE. Una copia de la licencia es incluida en la seccin titulada "Licencia de Documentacin Libre GNU".
Tabla de contenidos
1. Primeros Pasos ................................................................................................................................................ 5 Generar un nuevo par de claves .................................................................................................................. 5 Generar un certicado de revocacin ................................................................................................ 7 Intercambiar claves ..................................................................................................................................... 8 Exportar una clave pblica ................................................................................................................ 8 Importar una clave pblica ................................................................................................................ 9 Cifrar y descifrar documentos................................................................................................................... 10 Firmar y vericar rmas............................................................................................................................ 11 Documentos con rmas ASCII........................................................................................................ 12 Firmas acompaantes ...................................................................................................................... 13 2. Conceptos....................................................................................................................................................... 14 Sistemas de cifrado simtrico ................................................................................................................... 14 Sistemas de cifrado asimtrico.................................................................................................................. 15 Sistemas de cifrado hbridos ..................................................................................................................... 16 Firmas digitales ......................................................................................................................................... 16 3. Gestin de Claves .......................................................................................................................................... 18 Gestionando nuestro par de claves ............................................................................................................ 18 Integridad de claves ......................................................................................................................... 19 Aadir y eliminar componentes a las claves ................................................................................... 20 Revocar componentes de una clave ................................................................................................. 21 Actualizar la fecha de caducidad de una clave ................................................................................ 23 Validar otras claves en nuestro anillo de claves pblicas.......................................................................... 23 Conanza en el propietario de una clave......................................................................................... 24 Usar la conanza para validar las claves ......................................................................................... 25 Distribucin de claves ............................................................................................................................... 27 4. Uso diario de GnuPG.................................................................................................................................... 29 Deniendo los requerimientos en seguridad ............................................................................................. 29 Seleccin del tamao de la clave ..................................................................................................... 29 Proteccin de la clave privada ......................................................................................................... 30 Seleccin de las fechas de caducidad y uso de subclaves ............................................................... 31 Gestin del anillo de conanza........................................................................................................ 32 Construccin del anillo de conanza ........................................................................................................ 32 Uso legal de GnuPG.................................................................................................................................. 33 5. Tpicos ........................................................................................................................................................... 35 Escribir interfaces de usuario .................................................................................................................... 35
Tabla de guras
3-1. Un anillo de conanza hipottico................................................................................................................ 26
gpg EgenEkey
gpg (GnuPG) 0.9.8; Copyright (C) 1999 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. Please select what kind of key you want: (1) DSA and ElGamal (default) (2) DSA (sign only) (4) ElGamal (sign and encrypt) Your selection?
GnuPG es capaz de crear varios tipos diferentes de pares de claves, pero debe existir una clave primaria capaz de generar rmas. Por lo tanto, existen slo tres opciones. La opcin 1 genera dos pares de claves. Un par de claves DSA que es el par de claves primario que se usar slo para rmar. Un par de claves subordinadas ElGamal que se usar para el cifrado. La opcin 2 es parecida a la anterior, pero slo genera un par de claves DSA. La opcin 42 genera un nico par de claves ElGamal, que se usar tanto para rmar como para cifrar. En todos los casos existe la posibilidad de aadir subclaves adicionales para cifrar y rmar a posteriori. La mayora de los usuarios tienen suciente con la opcin por denicin.
1. 2. N. de T. En este y otros documentos se intercambia el trmino claves subordinadas con el de subclaves La opcin 3 es para generar un par de claves ElGamal que no puede ser usado para rmar.
Tambin hay que escoger un tamao para la clave. El tamao de una clave DSA debe estar entre los 512 y 1024 bits, y una clave ElGamal puede ser de cualquier tamao. Sin embargo, GnuPG requiere que las claves no sean menores de 768 bits. Por tanto, si se escogi la opcin 1 y tambin un tamao de claves mayor de 1024 bits, la clave ElGamal tendr el tamao deseado pero la DSA se limitar a 1024 bits.
DSA keypair will have 1024 bits. About to generate a new ELG-E keypair. minimum keysize is 768 bits default keysize is 1024 bits highest suggested keysize is 2048 bits What keysize do you want? (1024)
Cuanto ms larga sea la clave, ms segura ser contra ataques de fuerza bruta, pero por lo dems el tamao de la clave que se da por denicin es el adecuado, ya que sera ms barato circunvalar el cifrado que intentar entrar mediante ataques de fuerza. Adems, el cifrado y descifrado de mensajes se ralentizara a medida que se incrementara el tamao de la clave, y un tamao de clave ms grande podra afectar a la longitud de la rma digital. Una vez seleccionado, el tamao de una clave no se puede cambiar nunca. Para terminar, hay que escoger un fecha de caducidad. Si se escogi anteriormente la opcin 1, la fecha de caducidad se usar para sendos pares de claves, ElGamal y DSA.
Requested keysize is 1024 bits Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0) Key does not expire at all Is this correct (y/n)?
Para la mayora de los usuarios, una clave sin fecha de caducidad es la adecuada. Sin embargo, si se escoge con fecha de caducidad, el tiempo para sta debe ser escogido con cuidado, ya que, aunque es posible cambiar la fecha de caducidad posteriormente a la generacin de la clave, puede ser difcil comunicar un cambio a aquellos usuarios que posean esta clave pblica. Adems de los parmetros de la clave, el usuario debe dar un identicador. El identicador de usuario se usa para asociar la clave que se est creando con una usuario real.
You need a User-ID to identify your key; the software constructs the user id from Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" Real name: Email address: Comment:
Slo se crear un identicador de usuario al generar una clave, pero es posible crear identicadores adicionales si se desea usar la clave en dos o ms contextos, v.g., si se usa por una parte en la ocina como empleado
y por otra parte en casa como activista poltico. Hay que tener cuidado al crear un identicador de usuario, ya que despus ste no puede ser editado para introducir cambios. Aunque los caracteres especiales en iso-8859-1 son aceptados, GnuPG nos avisa si los usamos para rellenar estos campos3. Por ejemplo, si rellenramos los campos con los siguientes datos, Real name: Javier Email address: javier@mad.es Comment: Pramo S.L. Veramos lo siguiente: "Javier (P\xc3\xa1ramo S.L.) <javier@mad.es>". Por tanto es mejor evitar estos carcteres.
You are using the iso-8859-1 character set. You selected this USER-ID: "Javier (Paramo S.L.) <javier@casa.es>" Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
An as, dependiendo de la versin que estemos usando, al listar las claves veremos una serie de carcteres extraos en lugar de vocales acentuadas, , , etc... GnuPG necesita una contrasea con el n de proteger las claves privadas, primarias y secundarias, que posea el usuario4.
You need a Passphrase to protect your private key. Enter passphrase:
No hay lmite para la longitud de una contrasea, y sta debe ser escogida con sumo cuidado. Desde un punto de vista de seguridad, la contrasea que desbloquea la clave privada es uno de los puntos ms dbiles en GnuPG (y en otros sistemas de cifrado de clave pblica), ya que es la nica proteccin que tiene el usuario si alguien se apoderara de su clave privada. Para una contrasea lo ideal es que no se usen palabras de un diccionario, y que se mezclen maysculas y minsculas, dgitos, y otros caracteres. Una buena contrasea es crucial para el uso seguro de GnuPG.
Repeat passphrase:
Como antes con los campos de identicacin del usuario, las contraseas aceptan caracteres especiales de iso-8859-1. No obstante, debemos tener en cuenta que si alguna vez tuviramos que usar nuestra contrasea desde una mquina con un teclado distinto al nuestro, nos veramos imposibilitados a menos que cambiramos la conguracin del sistema.
Despus de haber generado un par de claves, el usuario debe, de forma inmediata, generar un certicado de revocacin para la clave pblica primaria, mediante el uso de la opcin -gen-revoke. Si el usuario olvidara la contrasea, o si su clave privada estuviera en peligro o extraviada, este certicado de revocacin podra ser hecho pblico para noticar a otros usuarios que la clave pblica no debe ser usada nunca ms. Una clave pblica revocada puede ser usada para vericar rmas hechas por el usuario en el pasado, pero no puede ser usada para cifrar datos. Esto tampoco afecta a la capacidad de descifrar mensajes que hayan sido cifrados con la clave antes de su revocacin, siempre y cuando el usuario todava tenga acceso a la clave privada.
javier:~$
sec
1024D/D58711B7 1999-09-24
El argumento milve debe ser un especicador de clave, ya sea ste el identicador de clave ("key ID") del par primario del usuario, o ya sea cualquier otra parte de un identicador de usuario (ser ID") que identique el par de claves del susodicho usuario. El certicado que se genere se encontrar en el chero revoke.asc. Si se omite la opcin -output, el resultado se pondr en la salida tpica. Dado que el certicado es corto, es posible que el usuario desee imprimir una copia en papel del certicado para guardarla en algn sitio seguro, como por ejemplo una caja fuerte de seguridad. El certicado no debera ser guardado en lugares a los que otros puedan tener acceso, ya que cualquiera podra hacer pblico el certicado de revocacin e inutilizar la correspondiente clave pblica.
Intercambiar claves
Para poder comunicarse con otros, el usuario debe intercambiar las claves pblicas. Para obtener una lista de las claves en el chero (anillo) de claves pblicas, se puede usar la opcin de la lnea de rdenes -list-keys.
javier:~$
gpg ElistEkeys
/home/javier/.gnupg/pubring.gpg --------------------pub 1024D/D58711B7 1999-09-24 Javier (Paramo S.L.) <javier@casa.es> sub 1024g/92F6C9E3 1999-09-24
La clave se exporta en formato binario, y esto puede no ser conveniente cuando se enva la clave por correo electrnico o se publica en una pgina web. Por tanto, GnuPG ofrece una opcin de la lnea de rdenes -armor5 que fuerza que la salida de la orden sea generada en formato armadura-ASCII, parecido a los documentos codicados con uuencode. Por regla general, cualquier salida de una orden de GnuPG, v.g.. claves, documentos cifrados y rmas, pueden ir en formato armadura-ASCII aadiendo a la orden la opcin -armor.
javier:~$
---BEGIN PGP PUBLIC KEY BLOCK--Version: GnuPG v0.9.8 (GNU/Linux) Comment: For info see http://www.gnupg.org [...] ---END PGP PUBLIC KEY BLOCK---
gpg: key B63E132C: public key imported gpg: Total number processed: 1 gpg: imported: 1
javier:~$
gpg ElistEkeys
/home/javier/.gnupg/pubring.gpg --------------------pub 1024D/D58711B7 1999-09-24 Javier (Paramo S.L.) <javier@casa.es> sub 1024g/92F6C9E3 1999-09-24 pub sub 1024D/B63E132C 1999-09-24 Aranzazu (A.G.deZ.) <arancha@nav.es> 1024g/581A915F 1999-09-24
Una vez que la clave haya sido importada, es necesario validarla. GnuPG usa un potente y exible modelo de conanza que no requiere que el usuario d validez personalmente a cada clave que importe. Sin embargo, algunas claves pueden necesitar que el usuario les d validez de forma personal. Una clave se valida vericando la huella digital de la clave, y rmando dicha clave para certicar su validez. La huella digital se puede ver con la opcin de la lnea de rdenes -fingerprint, pero para certicar la clave hay que editarla.
javier:~$
1024D/B63E132C created: 1999-09-24 expires: never 1024g/581A915F created: 1999-09-24 expires: never Aranzazu (A.G.deZ.) <arancha@nav.es>
Command>
fpr
5.
Muchas opciones de la lnea de rdenes que se usan con frecuencia, tambin se pueden congurar en un chero de conguracin.
pub
1024D/B63E132C 1999-09-24 Aranzazu (A.G.deZ.) <arancha@nav.es> Fingerprint: 4203 82E2 448C BD30 A36A 9644 0612 8A0F B63E 132C
La huella digital de una clave se verica con el propietario de la clave. Esto puede hacerse en persona o por telfono, o por medio de otras maneras, siempre y cuando el usuario pueda garantizar que la persona con la que se est comunicando sea el autntico propietario de la clave. Si la huella digital que se obtiene por medio del propietario es la misma que la que se obtiene de la clave, entonces se puede estar seguro de que se est en posesin de una copia correcta de la clave. Despus de comprobar la huella digital ya se puede rmar la clave con el n de validarla. Debido a que la vericacin es un punto dbil en criptografa de clave pblica, es aconsejable ser cuidadoso en extremo y siempre comprobar la huella digital de una clave con la que nos d el propietario antes de rmar dicha clave.
Command>
sign
pub
1024D/B63E132C created: 1999-09-24 expires: never trust: -/q Fingerprint: 4203 82E2 448C BD30 A36A 9644 0612 8A0F B63E 132C Aranzazu (A.G.deZ.) <arancha@nav.es>
Are you really sure that you want to sign this key with your key: "Javier (Paramo S.L.) <javier@casa.es>" Really sign? y You need a passphrase to unlock the secret key for user: "Javier (Paramo S.L.) <javier@casa.es>" 1024-bit DSA key, ID D58711B7, created 1999-09-24 Enter passphrase:
Una vez rmada, el usuario puede comprobar la clave para obtener un listado de las rmas que lleva y para ver la rma que le acaba de aadir. Cada identicador de usuario tendr una o ms autormas, as como una rma por cada usuario que haya validado la clave en cuestin.
Command>
hek
uid Aranzazu (A.G.deZ.) <arancha@nav.es> sig! B63E132C 1999-09-24 [self-signature] sig! D58711B7 1999-09-24 Javier (Paramo S.L.) <javier@casa.es> Command> quit
10
una clave pblica, ese documento se pone en la caja fuerte, la caja se cierra, y el bloqueo de la combinacin de sta se gira varias veces. La parte correspondiente a la clave privada, esto es, el destinatario, es la combinacin que puede volver a abrir la caja y retirar el documento. Dicho de otro modo, slo la persona que posee la clave privada puede recuperar un documento cifrado usando la clave pblica asociada al cifrado. Con este modelo mental se ha mostrado el procedimiento de cifrar y descifrar documentos de un modo muy simple. Si el usuario quisiera cifrar un mensaje para Javier, lo hara usando la clave pblica de Javier, y l lo descifrara con su propia clave privada. Si Javier quisiera enviar un mensaje al usuario, lo hara con la clave pblica del usuario, y ste lo descifrara con su propia clave privada. Para cifrar un documento se usa la opcin -encrypt. El usuario debe tener las claves pblicas de los pretendidos destinatarios. El programa espera recibir como entrada el nombre del documento que se desea cifrar o, si ste se omite, una entrada tpica. El resultado cifrado se coloca en la salida tpica o donde se haya especicado mediante la opcin -output. El documento se comprime como medida adicional de seguridad, aparte de cifrarlo.
javier:~$
La opcin -recipient se usa una vez para cada destinatario, y lleva un argumento extra que especica la clave pblica con la que ser cifrado el documento. El documento cifrado slo puede ser descifrado por alguien con una clave privada que complemente uno de las claves pblicas de los destinatarios. El usuario, en este caso el remitente, no podr descifrar un documento cifrado por s mismo a menos que haya incluido su propia clave pblica en la lista de destinatarios. Para descifrar un mensaje se usa la opcin -decrypt. Para ello es necesario poseer la clave privada para la que el mensaje ha sido cifrado. De igual modo que en el proceso de cifrado, el documento a descifrar es la entrada, y el resultado descifrado la salida.
arancha%
You need a passphrase to unlock the secret key for user: "Aranzazu (A.G.deZ.) <arancha@nav.es>" 1024-bit ELG-E key, ID 581A915F, created 1999-09-24 (main key ID B63E132C) Enter passphrase:
Tambin es posible cifrar documentos sin usar criptografa de clave pblica. En su lugar, se puede usar slo una clave de cifrado simtrico para cifrar el documento. La clave que se usa para el cifrado simtrico deriva de la contrasea dada en el momento de cifrar el documento, y por razones de seguridad, no debe ser la misma contrasea que se est usando para proteger la clave privada. El cifrado simtrico es til para asegurar documentos cuando no sea necesario dar la contrasea a otros. Un documento puede ser cifrado con una clave simtrica usando la opcin -symmetric.
javier:~$
Enter passphrase:
Una rma digital certica un documento y le aade una marca de tiempo. Si posteriormente el documento fuera modicado en cualquier modo, el intento de vericar la rma fallara. La utilidad de una rma digital es la misma que la de una rma escrita a mano, slo que la digital tiene una resistencia a la falsicacin. Por ejemplo, la distribucin del cdigo fuente de GnuPG viene rmada con el n de que los usuarios puedan vericar que no ha habido ninguna manipulacin o modicacin al cdigo fuente desde que fue archivado. Para la creacin y vericacin de rmas, se utiliza el par pblico y privado de claves en una operacin que es diferente a la de cifrado y descifrado. Se genera una rma con la clave privada del rmante. La rma se verica por medio de la clave pblica correspondiente. Por ejemplo, Javier hara uso de su propia clave privada para rmar digitalmente la entrega de su ltima ponencia a la Revista de Qumica Inorgnica. El editor asociado que la recibiera, usara la clave pblica de Javier para comprobar la rma, vericando de este modo que el envo proviene realmente de Javier, y que no ha sido modicado desde el momento en que Javier lo rm. Una consecuencia directa del uso de rmas digitales es la dicultad en negar que fue el propio usuario quien puso la rma digital, ya que ello implicara que su clave privada ha sido puesta en peligro. La opcin de lnea de rdenes -sign se usa para generar una rma digital. El documento que se desea rmar es la entrada, y la salida es el documento rmado.
javier:~$
You need a passphrase to unlock the private key for user: "Javier (Paramo S.L.) <javier@casa.es>" 1024-bit DSA key, ID D58711B7, created 1999-09-24 Enter passphrase:
El documento se comprime antes de ser rmado, y la salida es en formato binario. Con un documento con rma digital el usuario puede llevar a cabo dos acciones: comprobar slo la rma o comprobar la rma y recuperar el documento original al mismo tiempo. Para comprobar la rma se usa la opcin -verify. Para vericar la rma y extraer el documento se usa la opcin -decrypt. El documento con la rma es la entrada, y el documento original recuperado es la salida.
arancha%
gpg: Signature made Fri Sep 24 12:02:38 1999 CDT using DSA key ID D58711B7 gpg: Good signature from "Javier (Paramo S.L.) <javier@casa.es>"
gpg Elersign do
You need a passphrase to unlock the secret key for user: "Javier (Paramo S.L.) <javier@casa.es>" 1024-bit DSA key, ID D58711B7, created 1999-09-24
12
---BEGIN PGP SIGNED MESSAGE--Hash: SHA1 [...] ---BEGIN PGP SIGNATURE--Version: GnuPG v0.9.8 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i/i8HhbcOSKF4ELyQB1 oCoAoOuqpRqEzr4kOkQqHRLE/b8/Rw2k =y6kj ---END PGP SIGNATURE---
Firmas acompaantes
Un documento rmado tiene una utilidad limitada. Los otros usuarios deben recuperar la versin original del documento de la versin rmada, y aun en el caso de los documento rmados en ASCII, el documento rmado debe ser editado para poder recuperar el original. Por tanto, existe un tercer mtodo para rmar un documento, que genera una rma acompaante. Para generar una rma acompaante se usa la opcin -detach-sig.
javier:~$
You need a passphrase to unlock the secret key for user: "Javier (Paramo S.L.) <javier@casa.es>" 1024-bit DSA key, ID D58711B7, created 1999-09-24 Enter passphrase:
Tanto el documento como la rma acompaante son necesarios para poder vericar la rma. La opcin
-verify se usar para comprobar la rma.
arancha%
gpg: Signature made Fri Sep 24 12:38:46 1999 CEST using DSA key ID D58711B7 gpg: Good signature from "Javier (Paramo S.L.) <javier@casa.es>"
13
Captulo 2. Conceptos
GnuPG utiliza varios conceptos criptolgicos que incluyen sistemas de cifrado simtrico, sistemas de cifrado de clave pblica, y one-way hashing. Se puede usar GnuPG de un modo sencillo sin tener que entender estos conceptos en toda su amplitud, pero para el uso avanzado de GnuPG se hace necesario comprenderlos un poco. Este captulo es una introduccin a los conceptos bsicos de la criptografa usada en GnuPG. Para una lectura ms detallada sobre esta materia, existen otros libros. Un buen libro para alcanzar un conocimiento ms avanzado es Bruce Schneier (http://www.counterpane.com/schneier.html)s Applied Cryptography (http://www.counterpane.com/applied.html).
14
Captulo 2. Conceptos
el espacio posible de claves en cuestin de das. Un mquina especializada lo puede hacer en horas. Por otra parte, algoritmos de cifrado de diseo ms reciente como 3DES, Blowsh e IDEA usan todos claves de 128 bits, lo que signica que existen 2128 claves posibles. Esto representa muchas, muchsimas ms claves, y aun en el caso de que todas las mquinas del planeta estuvieran cooperando, todava tardaran ms tiempo que la misma edad del universo en encontrar la clave.
15
Captulo 2. Conceptos
la seguridad. En un ataque de fuerza bruta sobre un cifrado simtrico con una clave de un tamao de 80 bits, el atacante debe enumerar hasta 281-1 claves para encontrar la clave correcta. En un ataque de fuerza bruta sobre un cifrado de clave pblica con un clave de un tamao de 512 bits, el atacante debe factorizar un nmero compuesto codicado en 512 bits (hasta 155 dgitos decimales). La cantidad de trabajo para el atacante ser diferente dependiendo del cifrado que est atacando. Mientras 128 bits es suciente para cifrados simtricos, dada la tecnologa de factorizacin de hoy en da, se recomienda el uso de claves pblicas de 1024 bits para la mayora de los casos.
Firmas digitales
Una funcin hash es una funcin mltiple que asigna su entrada a un valor dentro de un grupo nito. Por regla general este grupo es un rango de nmeros naturales. Un modelo simple de funcin hash es f (x) = 0 para todo entero x. Una funcin hash ms interesante es f (x) = x mod 37, que asigna x al resto de la divisin x entre 37. Una rma digital en un documento es el resultado de aplicar una funcin hash al documento. Para que sea de utilidad, la funcin hash necesita satisfacer dos propiedades importantes. Primero, debera ser difcil encontrar dos documentos cuyo valor para una funcin hash sea el mismo. Segundo, dado un valor hash debera ser difcil de recuperar el documento que produjo es valor. Algunos sistemas de cifrado de clave pblica1 se pueden usar para rmar documentos. El rmante cifra el
1. El sistema de cifrado debe poseer la propiedad de que la clave pblica o la privada puedan ser usadas por el algoritmo de cifrado como clave pblica. RSA en un ejemplo de este tipo de algoritmo, mientras que ElGamal no.
16
Captulo 2. Conceptos
documento con su clave privada. Cualquiera que quiera comprobar la rma y ver el documento, no tiene ms que usar la clave pblica del rmante para descifrarla. Este algoritmo satisface las dos propiedades necesarias para una buena funcin de hash, pero en la prctica este algoritmo es demasiado lento para que sea de utilidad. Como alternativa est el uso de funciones hash designadas para satisfacer estas dos importantes propiedades. SHA y MD5 son dos ejemplos de este tipo de algoritmos. Al usar uno de estos algoritmos, un documento se rma con una funcin hash, y el valor del hash es la rma. Otra persona puede comprobar la rma aplicando tambin una funcin hash a su copia del documento y comparando el valor hash resultante con el del documento original. Si concuerdan, es casi seguro que los documentos son idnticos. Claro que el problema est en usar una funcin hash para rmas digitales que no permita que un atacante interera en la comprobacin de la rma. Si el documento y la rma se enviaran descifrados, un atacante podra modicar el documento y generar una rma correspondiente sin que lo supiera el destinatario. Si slo se cifrara el documento, un atacante podra manipular la rma y hacer que la comprobacin de sta fallara. Una tercera opcin es usar un sistema de clave pblica hbrido para cifrar tanto la rma como el documento. El rmante usa su clave pblica, y cualquiera puede usar su clave pblica para comprobar la rma y el documento. Esto suena bien, pero en realidad no tiene sentido. Si este algoritmo hiciera el documento seguro tambin lo asegurara de manipulaciones, y no habra necesidad de rmarlo. El problema ms serio es que esto no protege de manipulaciones ni a la rma, ni al documento. Con este algoritmo, slo la clave de sesin del sistema de cifrado simtrico, es cifrada usando la clave privada del rmante. Cualquiera puede usar la clave pblica y recuperar la clave de sesin. Por lo tanto, es sencillo para un atacante recuperar la clave de sesin y usarla para cifrar documentos substitutos y rmas para enviarlas a terceros en nombre del remitente. Un algoritmo que funciona es aqul que hace uso de un algoritmo de clave pblica para cifrar slo la rma. En particular, el valor hash se cifra mediante el uso de la clave privada del rmante, de modo que cualquiera pueda comprobar la rma usando la clave pblica correspondiente. El documento rmado se puede enviar usando cualquier otro algoritmo de cifrado, o incluso ninguno si es un documento pblico. Si el documento se modica, la comprobacin de la rma fallar, pero esto es precisamente lo que la vericacin se supone que debe descubrir. El "Digital Signature Standard"(DSA) es un algoritmo de rmado de clave pblica que funciona como hemos descrito. DSA es el algoritmo principal de rmado que se usa en GnuPG.
17
Secret key is available. pub sub sub sub (1) (2) 1024D/1208DD4F created: 1999-09-24 expires: 1024g/B9688D9E created: 1999-09-24 expires: 2016G/4D88ACC4 created: 1999-09-26 expires: 960D/412EAF0C created: 1999-09-26 expires: Jordi (Castell S.L.) <jordi@cat.es> Jordi (oficina) <jordi@castell.com>
18
Command>
La clave pblica se muestra junto con una indicacin sobre si la clave privada se encuentra disponible o no. La informacin sobre cada componente de la clave pblica se da en una lista. La primera columna indica el tipo de la clave. La palabra clave pub identica a la clave pblica maestra de rmado, y la palabra clave sub identica a una clave pblica subordinada a la anterior. La segunda columna informa sobre el tamao en "bits"de la clave, el tipo, y el identicador. El tipo es D para una clave DSA, g para una clave ElGamal que slo se pueda usar para cifrar, y G para una clave ElGamal que se pueda usar tanto para cifrar como para rmar. La fecha de creacin y la fecha de caducidad se muestran en las columnas tres y cuatro. Los identicadores de usuario aparecen en una lista a continuacin de las claves. Se puede obtener ms informacin sobre la clave mediante rdenes interactivas. La orden toggle sirve para conmutar entre los componentes pblico y privado de un par de claves, siempre y cuando ambos componentes estn presentes.
Command>
toggle
never never 2002-09-25 2002-09-25
1024D/1208DD4F created: 1999-09-24 expires: 1024g/B9688D9E created: 1999-09-24 expires: 960D/412EAF0C created: 1999-09-26 expires: 2016G/4D88ACC4 created: 1999-09-26 expires: Jordi (Castell S.L.) <jordi@cat.es> Jordi (oficina) <jordi@castell.com>
Esta informacin es parecida a la del componente para la clave pblica. La palabra clave sec identica a la clave privada maestra de rmado, y la palabra clave sbb identica las claves subordinadas privadas. Los identicadores de usuario de la clave pblica tambin aparecen en este caso.
Integridad de claves
Al distribuir nuestra clave pblica, estamos distribuyendo los componentes pblicos de nuestras claves maestra y subordinada, as como los identicadores de usuario. Sin embargo, por s sola, la distribucin de este material constituye un riesgo para la seguridad ya que sera posible que un atacante manipulara la clave. Se puede modicar una clave pblica aadiendo o substituyendo claves, o aadiendo o cambiando los identicadores de usuario. Al manipular un identicador de usuario, el atacante podra cambiar la direccin de correo del identicador de usuario y redireccionar as el correo a su propia direccin. Al cambiar una de las claves de cifrado el atacante tambin podra descifrar los mensajes que le llegaran redireccionados. El uso de las rmas digitales es una solucin a este problema. Cuando unos datos son rmados por una clave privada, la clave pblica correspondiente queda ligada a los datos rmados. En otras palabras, slo la clave pblica correspondiente puede vericar la rma y asegurar que los datos no han sido modicados. Una clave pblica se puede proteger de la manipulacin usando su correspondiente clave privada maestra, y rmando con sta los componentes de la clave pblica y los identicadores de usuario, ligando de este modo los componentes a la clave pblica maestra. La accin de rmar los componentes de la clave pblica con la correspondiente clave privada maestra se conoce como autormar, y una clave pblica que contenga identicadores de usuario autormados ligados a ella se llama certicado.
19
Como ejemplo, si Jordi tuviera dos identicadores de usuario y tres subclaves, las rmas en los identicadores de usuario se podran comprobar con la orden check desde el men de edicin de la clave.
jordi %
Secret key is available. pub sub sub sub (1) (2) 1024D/1208DD4F created: 1999-09-24 expires: 1024g/B9688D9E created: 1999-09-24 expires: 960D/412EAF0C created: 1999-09-26 expires: 2016G/4D88ACC4 created: 1999-09-26 expires: Jordi (Castell S.L.) <jordi@cat.es> Jordi (oficina) <jordi@castell.com>
Command>
hek
uid Jordi (Castell S.L.) <jordi@cat.es> sig! 1208DD4F 1999-09-24 [self-signature] uid Jordi (oficina) <jordi@castell.com> sig! 1208DD4F 1999-09-26 [self-signature]
Como era de esperar, la clave rmante para cada rma es la clave de rmado maestra con el identicador de clave 0x26B6AAE1. La autorma en las subclaves se encuentra presente en la clave pblica, pero en la interfaz de GnuPG no aparece.
20
Tambin es posible eliminar las subclaves y los identicadores de usuario. Para eliminar una subclave o un identicador de usuario es preciso seleccionarlo primero con las rdenes key o uid respectivamente. Estas rdenes actan como conmutadores. Por ejemplo, la orden key 2 selecciona la segunda subclave, e invocando key 2 de nuevo, desactiva la seleccin. Si no se da ningn otro argumento extra, todas las subclaves o identicadores de usuario son deseleccionados. Una vez que los identicadores de usuario que se van a eliminar son seleccionados, la orden deluid elimina los identicadores de usuario de la clave. De igual forma, la orden delkey elimina todas las subclaves previamente seleccionadas de nuestras claves pblica y privada. En la gestin local de anillos de claves, el eliminar componentes innecesarios de una clave es una buena prctica para aliviar los anillos de claves pblicas de otros. Sin embargo, eliminar identicadores de usuarios y subclaves de nuestra propia clave no es siempre conveniente, ya que puede complicar la distribucin de la clave. Por denicin, cuando un usuario importa nuestra clave pblica actualizada sta se fusiona con la copia de la clave pblica vieja en su anillo de claves, siempre que la vieja est all a priori. Los componentes de ambas claves se combinan con la fusin, y el resultado de sta es que se aade cualquier nuevo componente, pero tambin que se restaura cualquier componente eliminado. Para actualizar de manera correcta la clave es necesario que el usuario elimine primero la versin antigua de nuestra clave, y despus que importe la versin nueva. Esto signica una carga extra para la gente con la que nos comunicamos. Es ms, si enviramos nuestra clave a un servidor de claves la fusin ocurrira a nuestro pesar, y cualquiera que se bajara nuestra clave del servidor no vera nunca nuestra clave con los componentes eliminados. En consecuencia, para actualizar nuestra propia clave es mejor revocar los componentes de la clave que eliminarlos.
key 4D88ACC4
never trust: -/u never 2002-09-25 2002-09-25
1024D/1208DD4F created: 1999-09-24 expires: 1024g/B9688D9E created: 1999-09-24 expires: 2016G/4D88ACC4 created: 1999-09-26 expires: 960D/412EAF0C created: 1999-09-26 expires: Jordi (Castell S.L.) <jordi@cat.es> Jordi (oficina) <jordi@castell.com>
Command>
revkey
Do you really want to revoke this key? y You need a passphrase to unlock the secret key for user: "Jordi (Castell S.L.) <jordi@cat.es>" 1024-bit DSA key, ID 1208DD4F, created 1999-09-24 pub sub sub rev! sub 1024D/1208DD4F 1024g/B9688D9E 2016G/4D88ACC4 subkey has been 960D/412EAF0C created: created: created: revoked: created: 1999-09-24 1999-09-24 1999-09-26 1999-09-26 1999-09-26 expires: never trust: -/u expires: never expires: 2002-09-25 expires: 2002-09-25
21
(1) (2)
La revocacin de un identicador de usuario funciona de modo diferente. Generalmente, un identicador de usuario recolecta rmas que atestigen que el identicador de usuario describe a la persona que sea la autntica propietaria de la clave asociada. En teora un identicador de usuario describe a una persona para siempre, ya que la identidad de esa persona no cambiar nunca. En la prctica los elementos del identicador de usuario, como la direccin de correo electrnico y el comentario, pueden cambiar con el tiempo, invalidando as el identicador de usuario. Las especicaciones de OpenPGP no preveen la revocacin del identicador de usuario, pero un identicador de usuario puede ser revocado de modo efectivo, revocando la autorma en el identicador de usuario. Por razones de seguridad descritas anteriormente, los corresponsales no conarn en un identicador de usuario con una autorma no vlida. Una rma puede ser revocada mediante la orden revsig. Como es posible que hayamos rmado cualquier cantidad de identicadores de usuario, la interfaz nos pedir que decidamos si queremos o no revocar cada una de las rmas.
Command>
revsig
Command> revsig You have signed these user IDs: Jordi (Castell S.L.) <jordi@cat.es> signed by 1208DD4F at 1999-09-24 Jordi (oficina) <jordi@castell.com> signed by 1208DD4F at 1999-09-26 user ID: "Jordi (Castell S.L.) <jordi@cat.es>" signed with your key 1208DD4F at 1999-09-24 Create a revocation certificate for this signature? (y/N)n user ID: "Jordi (oficina) <jordi@castell.com>" signed with your key 1208DD4F at 1999-09-26 Create a revocation certificate for this signature? (y/N)y You are about to revoke these signatures: Jordi (oficina) <jordi@castell.com> signed by 1208DD4F at 1999-09-26 Really create the revocation certificates? (y/N)y You need a passphrase to unlock the secret key for user: "Jordi (Castell S.L.) <jordi@cat.es>" 1024-bit DSA key, ID 1208DD4F, created 1999-09-24 Enter passphrase: pub sub sub rev! sub (1) (2) 1024D/1208DD4F created: 1999-09-24 expires: 1024g/B9688D9E created: 1999-09-24 expires: 2016G/4D88ACC4 created: 1999-09-26 expires: subkey has been revoked: 1999-09-26 960D/412EAF0C created: 1999-09-26 expires: Jordi (Castell S.L.) <jordi@cat.es> Jordi (oficina) <jordi@castell.com> never trust: -/u never 2002-09-25 2002-09-25
22
Un identicador de usuario revocado vendr indicado por la rma de revocacin en el identicador, y se podr ver en las rmas en la lista de identicadores de usuario de las claves.
Command<
hek
uid Jordi (Castell S.L.) <jordi@cat.es> sig! 1208DD4F 1999-09-24 [self-signature] uid Jordi (oficina) <jordi@castell.com> rev! 1208DD4F 1999-09-26 [revocation] sig! 1208DD4F 1999-09-26 [self-signature] sig! B87DBA93 1999-06-28 [self-signature]
Al revocar tanto las subclaves como las autormas en los identicadores de usuarios, aadimos autormas de revocacin a la clave. Ya que las rmas son aadidas a la clave y no eliminamos nada, una revocacin siempre estar visible para otros usuarios desde el momento en el que la actualizacin de nuestra clave pblica sea distribuida y fusionada con las copias ms viejas de sta. Por lo tanto, la revocacin garantiza que todos los usuarios tengan una copia consistente de nuestra clave pblica.
23
Si Javier confa en Arancha lo suciente como para validar las claves que l rma, entonces Javier puede deducir que las claves de Jordi y de Ignacio son vlidas sin llegar a comprobarlas personalmente. Javier se limitar a usar su copia validada de la clave pblica de Arancha para comprobar que las rmas de Arancha sobre Jordi e Ignacio son autnticas. Por lo general, y asumiendo que Javier confe plenamente en todos como para validar las claves que rmen, cualquier clave rmada por una clave vlida tambin es considerada vlida. El origen es la clave de Javier, que se asumir axiomticamente como vlida.
1024D/B63E132C created: 1999-09-24 expires: never 1024g/581A915F created: 1999-09-24 expires: never Ar\xc3\xa1nzazu (A.G.deZ.) <arancha@nav.es>
Command>
trust
24
1024D/B63E132C created: 1999-09-24 expires: never 1024g/581A915F created: 1999-09-24 expires: never Ar\xc3\xa1nzazu (A.G.deZ.) <arancha@nav.es>
trust: q/f
Please decide how far you trust this user to correctly verify other users keys (by looking at passports, checking fingerprints from different sources...)? 1 2 3 4 s m = = = = = = Dont know I do NOT trust I trust marginally I trust fully please show me more information back to the main menu
Your decision?
Q
trust: m/f
1024D/B63E132C created: 1999-09-24 expires: never 1024g/581A915F created: 1999-09-24 expires: never Ar\xc3\xa1nzazu (A.G.deZ.) <arancha@nav.es>
Command>
quit
[...]
La conanza en el propietario de la clave y la validez de la clave se indican a la derecha al mostrar la clave. La conanza en el propietario se muestra primero, y la validez despus1. Los cuatro niveles de conanza/validez se encuentran abreviados: unknown (q), none (n), marginal (m), y full (f). O sea, desconocido, ninguno, marginal y absoluto. En este caso, la clave de Arancha es totalmente vlida ya que est rmada por Javier. Al principio el nivel de conanza que Javier tiene en Arancha es desconocido, por lo que no procede validar otras claves; pero luego decide conar en ella de modo marginal.
1. si viene rmada por las sucientes claves vlidas, lo que quiere decir
1.
N. de T.: GnuPG hace un uso excesivo de la palabra trust, utilizndola en el sentido de conanza en el propietario y conanza en la clave. Esto puede llevar a confusin. Algunas veces la conanza en un propietario viene referida como owner-trust para distinquirla de la conanza en una clave. Sin embargo, a lo largo de este manual trust se usa en el sentido de conanza en el propietario de la clave, y validity en el sentido de conanza en que una clave pertenece a la persona asociada con el identicador de clave.
25
o que ha sido rmada por una clave de plena conanza, o que ha sido rmada por tres claves de conanza marginal; 2. y si el camino de claves rmadas que nos lleva desde K hasta nuestra propia clave es de cinco pasos o menos. La longitud del camino, en nmero de claves con conanza marginal requeridas, y el nmero de claves con conanza plena requeridas se pueden cambiar. Los nmeros dados arriba son los valores por denicin usados por GnuPG. Figura 3-1 muestra un anillo de conanza cuyo origen est en Javier. El grco ilustra quin ha rmado las claves de quin. La tabla muestra qu claves son consideradas vlidas por Javier en base a su conanza en otros miembros del anillo. Este ejemplo asume que se necesitan dos claves de conanza marginal o una de conanza plena para validar otra clave. La longitud mxima del camino es tres. Al computar claves vlidas en el ejemplo, las de Arancha e Ignacio siempre son consideradas como totalmente vlidas, ya que estn directamente rmadas por Javier. La validez de las otras claves depende de la conanza. En el primer caso la conanza en Ignacio es plena, lo que implica que las claves de Jordi y Claudia se considerarn vlidas. En el segundo ejemplo la conanza en Arancha e Ignacio es marginal. Ya que son necesarias dos claves de conanza marginal para dar validez total a una clave, la clave de Jordi ser considerada como totalmente vlida, pero la clave de Claudia ser considerada slo como marginalmente vlida. En el caso en el que Jordi e Ignacio tuvieran conanza marginal, la clave de Jordi sera marginalmente vlida ya que la clave de Ignacio es totalmente vlida. Sin embargo, la clave de Claudia ser considerada marginalmente vlida ya que slo se puede usar una clave completamente vlida para validar otras claves, y la clave de Ignacio es la nica clave vlida que se ha usado para rmar la clave de Claudia. Al aadir un nivel de conanza marginal a Arancha, la clave de Jordi se convierte en totalmente vlida y por tanto puede ser usada para validar totalmente la clave de Claudia, y validar marginalmente la clave de Jimena. Por ltimo, una conanza plena en Arancha, Jordi y Jimena es todava insuciente para validar la clave de Gonzalo ya que el camino mximo de certicacin es tres, pero la longitud del camino desde Gonzalo hasta Javier es cuatro. El modelo del anillo de conanza es una aproximacin exible al problema del intercambio seguro de claves pblicas. Nos permite poner a punto GnuPG para que reeje el modo en que lo usamos. Es posible llegar a insistir en mltiples caminos cortos desde nuestra clave hasta otra clave K para cambiar el nivel de conanza. Por otra parte, puede ser que caminos ms largos nos satisfagan e incluso un slo camino desde nuestra clave hasta la otra clave K . El requerimiento de mltiples caminos cortos es una fuerte garanta de que K pertenece a quien nosotros creemos. El precio, por supuesto, es la dicultad aadida para validar claves, ya que debemos rmar personalmente ms claves que si aceptramos menos y ms largos caminos.
26
trust/conanza marginal full/plena Ignacio Arancha, Ignacio Jordi, Ignacio Arancha, Jordi, Ignacio Arancha, Jordi, Jimena
validity/validez marginal full/plena Arancha, Jordi, Ignacio, Claudia Claudia Jordi, Claudia Jimena Arancha, Jordi, Ignacio Arancha, Ignacio Arancha, Jordi, Ignacio, Claudia Arancha, Jordi, Jimena, Claudia
Distribucin de claves
Lo ideal sera que pudiramos distribuir nuestra clave entregndosela en persona a nuestros corresponsales. Sin embargo, en la prctica las claves se distribuyen a menudo por correo electrnico o algn otro medio de comunicacin electrnica. La distribucin por correo electrnico es una buena prctica slo cuando tengamos unos pocos corresponsales, e incluso si tuviramos muchos corresponsales, podramos usar un medio alternativo como puede ser publicar nuestra clave pblica en nuestra pgina en internet. Pero esto es intil si las personas que necesitan nuestra clave pblica no saben dnde encontrar nuestra pgina. Para solventar este problema existen los servidores de claves pblicas que recolectan y distribuyen las claves pblicas. Cuando un servidor recibe una clave pblica, bien la aade a la base de datos o bien la fusiona con una copia de la clave. Cuando alguien requiere al servidor una clave pblica, ste la busca en la base de datos y, si la encuentra, la enva a quien se la haya solicitado. Los servidores de claves tambin son tiles cuando hay muchas personas que rman las claves de otras con frecuencia. Sin un servidor de claves, cuando Arancha rmara la clave de Javier, debera enviar a ste una
27
copia de la clave rmada por ella de manera que Javier pudiera aadir la clave rmada a su anillo de claves, as como distribuirla a todos sus corresponsales. Mediante este proceso Javier y Arancha sirven a la totalidad de la comunidad construyendo lazos en forma de anillos de conanza o lo que es lo mismo, mejorando la seguridad de PGP. De todos modos esto es una molestia si se rman las claves con frecuencia. El uso de un servidor de claves facilita este proceso. Despus de rmar la clave de Javier, Arancha puede enviar la copia rmada por ella al servidor de claves. El servidor de claves aade la rma de Arancha a la copia que ya existente de la clave pblica de Javier. Las personas que estn interesadas en actualizar su copia de la clave de Javier consultan al servidor por propia iniciativa para obtener la clave actualizada. Javier no necesita distribuir la clave y puede obtener las rmas en su clave requirindolas al servidor. Se puede enviar una o ms claves usando la opcin de la lnea de rdenes -send-keys. Esta opcin toma uno o ms especicadores de clave, y enva las claves especicadas al servidor de claves. El servidor al que se envan las claves es especicado con la opcin de la lnea de orden -keyserver. Paralelamente, la opcin -recv-keys se usa para obtener claves desde un servidor de claves, pero la opcin -recv-keys requiere el uso de un identicador de clave para poder especicar la clave deseada. En el siguiente ejemplo Javier actualiza su clave pblica con nuevas rmas desde el servidor de claves certserver.pgp.com y acto seguido enva su copia de la clave pblica de Arancha al mismo servidor de claves para que se actualice con las claves que l mismo pueda haber aadido.
gpg Ekeyserver ertserverFpgpFom ErevEkey hSVUIIfU
javier:~$
gpg: requesting key D58711B7 from certserver.pgp.com ... gpg: key D58711B7: 1 new signature gpg: Total number processed: 1 gpg: new signatures: 1
Existen varios servidores de claves en funcionamiento en todo el mundo. Los servidores ms importantes estn sincronizados de modo que es posible elegir un servidor de claves cercano a nosotros en Internet y usarlo de forma regular para enviar y recibir claves.
28
29
La seleccin del tamao de la clave depende de la clave en s. En OpenPGP, un par de claves pblica y privada contienen generaralmente claves mltiples. Como mnimo tiene una clave de rmado maestra, y probablemente una o ms subclaves de cifrado adicionales. Si usamos para la generacin de claves los parmetros por defecto en GnuPG, la clave maestra ser una clave DSA, y las subclaves sern claves ElGamal. DSA nos permite un tamao de clave de hasta 1024 bits. Dada la tecnologa de factorizacin de hoy en da, esto no es demasiado bueno, pero es lo que especica el estndar. Sin duda alguna, debemos usar claves DSA de 1024 bits. Por otra parte, las claves ElGamal pueden ser de cualquier tamao. Ya que GnuPG es un sistema de clave pblica hbrido, la clave pblica se usa para cifrar una clave de sesin de 128 bits, y la clave privada se usa para descifrarla. Sin embargo el tamao de la clave afecta a la velocidad del cifrado y descifrado, ya que el valor de estos algoritmos lleva como exponente el tamao de la clave. Una clave de mayor tamao tambin tarda ms en ser generada, y ocupa ms espacio. Adems, cuanto mayor tamao tenga una clave, la seguridad extra que nos ofrece, aumenta pero con una marcha decreciente. Tambin hay que tener en cuenta que un escucha que se encuentre con una clave lo sucientemente grande como para resistir un ataque de fuerza bruta, se limitar a cambiar de mtodo para poder obtener los datos no cifrados. Por lo tanto, 1024 bits es el tamao de clave recomendado. Si nuestros requerimientos de seguridad fueran tan grandes como para necesitar claves de gran tamao, entonces deberamos consultar a un experto en seguridad de datos.
30
Esto no quiere decir que no podamos o no debamos usar GnuPG. Tan slo signica que debemos decidir si los datos que estamos protegiendo son lo sucientemente importantes para cifrarlos, pero no tan importantes como para tomar medidas extra de seguridad. La eleccin es nuestra. Una buena contrasea es absolutamente crtica para el uso de GnuPG. Cualquier atacante que logre acceder a nuestra clave privada, deber sobrepasar el cifrado de nuestra clave privada. En lugar de usar un ataque de fuerza bruta, es casi seguro que un atacante intentar adivinar la contrasea. El motivo por el que intentara adivinarla, es que la mayora de personas escogen contraseas que son ms fciles de adivinar que de sobrepasar una clave aleatoria de 128 bits. Si la contrasea es una palabra ("password"), es mucho ms fcil probar con todas las palabras existentes en los diccionarios de todas las lenguas del mundo. Aun cuando la palabra sea permutada, v.g. k3wldood, ser ms fcil probar palabras de diccionario con un catlogo de permutaciones. Lo mismo ocurre con las citas. Aunque sea una contrasea formada por frases ("passphrase"), si sta tiene como base un lenguaje natural, ser una contrasea dbil, ya que existir poca aleatoriedad y muchas redundancias. Si es posible, debemos evitar contraseas basadas en lenguajes naturales. Una buena contrasea es aqulla que podemos recordar, pero que es difcli que otro pueda adivinar. Debera incluir todos los carcteres imprimibles de nuestro teclado posibles. Esto incluye carcteres alfabticos en maysculas y minsculas, nmeros, y carcteres especiales como } o . Debemos ser creativos y perder un poco de tiempo inventando una contrasea; una buena eleccin es importante para asegurar nuestra privacidad.
31
Todo depende de que queramos o no tener una seguridad extra. Al igual que nosotros, un atacante todava podr leer todos los documentos que hayan sido cifrados para una clave caducada. Cambiar las subclaves slo protege los futuros documentos. Para poder leer documentos cifrados para la nueva subclave, el atacante necesitara organizar un nuevo ataque, usando cualquier tcnica que hubiera usado la primera vez. Al nal slo tiene sentido tener una sola subclave de cifrado en un anillo de claves. No hay se gana seguridad adicional teniendo dos o ms subclaves activas. Por supuesto, puede existir cualquier nmero de claves caducadas en un anillo de claves, para que los datos que hubieran sido cifrados en el pasado puedan todava ser descifrados, pero slo es necesario activar una sola subclave en un momento dado.
32
No basta con que una persona quiera usar GnuPG. Para poder usarlo para comunicarse en modo seguro con otros, es necesario que tengamos un anillo de conanza. A primera vista, construir un anillo de conanza es una tarea desalentadora. Las personas con las que nos comunicamos necesitan usar GnuPG1, y es necesario que haya las sucientes rmas para que las clave sean consideradas vlidas. Estos no son problemas de tipo tcnico; son problemas de tipo social. Debemos superar estos problemas si queremos usar GnuPG. En nuestros primeros pasos con GnuPG, es importante darse cuenta de que no necesitamos comunicarnos de modo seguro con todas las personas. Empecemos con un pequeo crculo de amigos, tal vez slo nosotros y uno dos ms que tambin quieran ejercitarse en su derecho a la privacidad. Generemos nuestras claves, y rmmoslas recprocamente. ste es nuestro anillo de conanza inicial. Al hacerlo as, apreciaremos el valor de un pequeo, pero robusto anillo de conanza, y seremos ms cautos a medida que vaya creciendo nuestro anillo de conanza con el tiempo. Adems de aqullos en nuestro anillo de conanza inicitico, es posible que deseemos comunicarnos en modo seguro con otros que tambin estn usando GnuPG. Sin embargo, esto puede ser problemtico por dos razones: (1) no siempre sabemos cundo alguien usa o estara dispuesto a usar GnuPG; (2) si sabemos de alguien que lo usa, todava es posible que tengamos problemas para validar su clave. El primer motivo sucede porque las personas no siempre hacen pblico que usan GnuPG. La forma de cambiar ese comportamiento es sentar ejemplo y hacer pblico que usamos GnuPG. Existen al menos tres maneras de hacer esto: rmar digitalmente los mensajes que enviamos a otros2, publicar nuestra clave pblica en nuestra pgina en Internet, o, si la subimos a un servidor de claves, poner nuestro identicador de clave como parte de nuestra rma. Haciendo pblica nuestra clave, ayudamos a que sea ms aceptable para otras personas hacerla tambin pblica. Adems, hacemos ms fcil para otros el que puedan comenzar a comunicarse con nosotros en modo seguro, ya que habremos tomado la iniciativa, dejando claro que usamos GnuPG. La validacin de la clave es ms difcil. Si no conocemos personalmente a la persona cuya clave queremos rmar, no es posible que podamos rmar su clave personalmente. Debemos arnos de las rmas de otras personas y esperar que encontraremos una cadena de rmas que nos lleven desde la clave en cuestin hasta la nuestra. Para poder encontrar una cadena, debemos tomar la iniciativa y conseguir que nuestra clave sea rmada por otras personas fuera de nuestro anillo de conanza inicial. Un modo efectivo de conseguir esto es participando en reuniones de rmas. De todos modos, debemos tener en cuenta que todo esto es opcional. No existe ningn tipo de obligacin de hacer pblicas nuestras claves o de rmar las claves de otros. GnuPG es lo sucientemente exible como para adaptarse a nuestros requerimientos de seguridad, sean stos los que sean. Sin embargo, la realidad social es que necesitaremos tomar la iniciativa si queremos engrosar nuestro anillo de conanza, y hacer todo el uso posible de GnuPG.
2.
33
El estado legal de los programas criptolgicos vara segn pases, y las leyes que rigen estos programas evolucionan con rapidez. Bert-Japp Koops (http://cwis.kub.nl/~frw/people/koops/bertjaap.htm) mantiene unos recursos sobre leyes y criptografa, Crypto Law Survey (http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm), que podemos tomar como referencia para el status legal en cada pas.
34
Captulo 5. Tpicos
Este captulo trata temas miscelneos que no se ajustan a otros captulos del manual de usuario. A medida que se vayan aadiendo nuevos temas, se pueden ir creando nuevos captulos con stos. Sugerencias sobre temas que no han sido tratados son bienvenidas. Mejor an si estas sugerencias vienen acompaadas por un boceto o esquema sobre el tema sugerido!
35
Captulo 5. Tpicos
Se debe simplicar la vista en pantalla para los usuarios inexpertos. Un exceso de informacin oculta la informacin importante. La conguracin inicial podra concentrarse en dar al usuario el modelo correcto de la relacin entre claves pblicas y privadas, y una clara explicacin de las funciones para la adquisicin y distribucin de claves. Disear una interfaz de usuario efectiva para la gestin de claves es todava ms difcil. El modelo de anillos de conanza de OpenPGP es, por desgracia, bastante rgido. Por ejemplo, la especicacin impones el uso de tres niveles de conanza arbitrarios: none (ninguna), marginal (idem), y complete (total). Todos los grados de conanza que pueda sentir el usuario deben ajustarse a esos tres. La validacin del algoritmo tambin es difcil de comprender para aquellos que no sean muy expertos, en particular las nociones de marginals needed y completes needed2. Pero ya que el modelo de anillos de conanza est bien especicado y no se puede cambiar, hay que hacerlo lo mejor posible y disear una interfaz de usuario que ayude a claricrselo de cara al usuario. Por ejemplo, una mejora sera generar un diagrama de cmo ha sido validada una clave, al ser requerida por el usuario. A continuacin algunos comentarios relevantes del estudio. Los usuarios tienden a tener incerteza sobre cundo y cmo pueden conceder accesos. Asegurarse que los usuarios comprenden su propia seguridad lo sucientemente bien como para prevenirlos de que cometan errores que puedan suponer un alto coste, debe ser un mxima prioridad. Tales errores incluyen: eliminar la clave privada por accidente; hacer pblica una clave por error; revocar una clave por error; olvidar la contrasea; y no hacer copias de seguridad de sus anillos de claves.
pues, en este caso y en castellano, estas dos palabras no son sinnimos. 2. Cuntas rmas que tengan asignada conanza marginal y cuntas rmas que tengan asignada conanza completa son necesarias
36