1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
<guide link="/doc/en/gnupg-user.xml">
<title>
Guía del usuario GnuPG de Gentoo
</title>
<author title="Author">
<mail link="gustavo@felisberto.net">
Gustavo Felisberto
</mail>
</author>
<author title="Editor">
<mail link="zhen@gentoo.org">
John P. Davis
</mail>
</author>
<author title="Traductor">
<mail link="s3r@fibertel.com.ar">
Sergio Gómez
</mail>
</author>
<author title="Editor-Es">
<mail link="bass@gentoo.org">
José Alberto Suárez López
</mail>
</author>
<abstract>
Esta pequeña guía te enseñará lo básico del uso de GnuPG, una herramienta para la encriptación segura.
</abstract>
<version>
1.0
</version>
<date>
17 de Diciembre, 2002
</date>
<chapter>
<title>Introducción</title>
<section>
<title>Lo que aprenderás con esta guía</title>
<body>
<p>
Esta Guía asume que estas familiarizado con la criptografía de
clave pública, encriptación, y firmas digitales. Si no es el caso,
deberás leer el captíulo 2 del <uri link="http://www.gnupg.org/(es)/documentation/guides.html">Manual
de GnuPG</uri>.
</p>
<p>
Esta guía te enseñará cómo instalar GnuPG, cómo crear tu par de
claves, cómo agregar claves a tu anillo de claves, cómo enviar tu
clave pública a un servidor de claves, y cómo (firmar/encriptar)/(verificar/decodificar)
los mensajes que recibas/envíes. También aprenderás cómo encriptar
archivos en tu ordenador local para prevenir que la gente vea
el contenido.
</p>
</body>
</section>
<section>
<title>Instalación y software requerido</title>
<body>
<p>
En primera instancia necesitas hacer <c>emerge gnupg</c>,
luego si deseas tener un cliente de e-mail que use gnupg puedes usar
pine (<c>emerge pinepgp</c>), mutt (<c>emerge
mutt</c>), Mozilla/Netscape Mail, evolution (evolution es una
aplicación a lo Microsoft Outlook para GNOME) y el KMail de KDE (KMail es
parte del paquete kdenetwork).
</p>
<p>
Kgpg te puede interesar si usas KDE. Este pequeño programa te permite
generar pares de claves, importar claves desde archivos ASCII, firmar
claves importadas, exportar claves y unas cuantas características
más (carece de la capacidad para importar claves de servidores de
claves, pero aprenderás como hacerlo desde la línea de comandos).
</p>
</body>
</section>
</chapter>
<chapter>
<title>Generando tu clave y agregando claves públicas a tu anillo de claves</title>
<section>
<title>Creando tu clave</title>
<body>
<p>Para crear tu clave, ejecuta <c>gpg --gen-key</c>. La
primera vez que lo hagas, el programa crear algunos directorios;
ejecutalo de nuevo para crear las claves:
<pre caption="Proceso de generación de claves">
#<i>gpg --gen-key</i>
gpg (GnuPG) 1.0.7; Copyright (C) 2002 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)
(5) RSA (sign only)
Your selection?<i>1</i></pre>
</p>
<p>
Aquí tienes la posibilidad de elegir el tipo de clave que quieres usar.
La mayoría de los usuarios elegirán la predeterminada DSA y ElGamal.
Lo pórximo es el tamaño, recuerda que mientras más grande es mejor,
pero tampoco uses claves más grandes de 2048 con DSA/ElGamal. Normalmente
1024 es más que suficiente para e-mails normales.
</p>
<p>
Después del tamaño viene la fecha de expiración. Aquí mientras más pequeño
es mejor, sin embargo la mayoría de los usuarios usan claves que
nunca expiran o a lo sumo lo hacen en 1 o 2 años.
<pre caption="Eligiendo el tamñao de la clave">
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) <i>2048</i>
Requested keysize is 2048 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) <i>0</i>
Key does not expire at all
</pre>
</p>
<p>
Ahora es tiempo de introducir alguna información personal sobre ti. Si vas a enviar tu clave pública a otras personas tendrás que usar tu dirección real aquí.
<pre caption="Ingresando información del usuario">
Is this correct (y/n)? <i>y</i>
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: <i>John Doe</i>
Email address: <i>john@nowhere.someplace.flick</i>
Comment: <i>The Real John Doe</i>
You selected this USER-ID:
"John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? <i>O</i>
You need a Passphrase to protect your secret key.
Enter passphrase:
</pre>
</p>
<p>
Ahora ingresa la contraseña de tu clave dos veces. Es una buena idea usar una contraseña segura. Si alguien alguna vez obtiene tu clave privada y crackea tu contraseña, ser capaz de enviar mensajes firamados por "ti", que todos pensarán que fuiste tu quien lo enviaste.
</p>
<p>
Entonces, GnuPG genera tu clave. Moviendo el ratón o reproduciendo un mp3 en segundo plano ayudar a acelerar el proceso porque genera datos aleatorios.
</p>
</body>
</section>
<section>
<title>Generando un certificado de revocación</title>
<body>
<impo>Esta parte es muy importante y debes hacerla AHORA.</impo>
<p>
Luego de crear tus claves deberás crear un certificado de revocación.
Haciendo esto te permites revocar tu clave en caso que algo desagradable
le pase a tu clave (que alguien tenga tu clave privada/contraseña).
<pre caption="Generando un certificado de revocación">
#<i>gpg --list-keys</i>
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
sub 2048g/96D6CDAD 2002-12-08
bash-2.05a$ gpg --output revoke.asc --gen-revoke <i>75447B14</i>
sec 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
Create a revocation certificate for this key? <i>y</i>
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)
Your decision?<i> 1 </i>
Enter an optional description; end it with an empty line:
> <i>Alguien obtuvo mi clave y contrasea</i>
>
Reason for revocation: Key has been compromised
Alguien obtuvo mi clave y contrasea
Is this okay? <i>y</i>
You need a passphrase to unlock the secret key for
user: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
1024-bit DSA key, ID 75447B14, created 2002-12-08
ASCII armored output forced.
Revocation certificate created.
Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!
</pre>
</p>
<p>
El comando <c>gpg --list-keys</c> muestra las claves en tu anillo de claves públicas. Puedes usarlo para ver el ID de tu clave para poder crear el certificado de revocación. Ahora es un buen momento para copiar todo el directorio .gnupg y el escudo de revocación ASCII (revoke.asc) a un medio seguro (dos disquetes o un CD-R que guardes en un lugar seguro). Recuerda que puedes usar revoke.asc para revocar tus claves y hacerlas inusables en el futuro.
</p>
<note>Si tienes varias
direcciones de e-mail que quieras usar con esta clave, puedes
ejecutar <c>gpg --edit-key TU_ID</c> y
luego usar el comando <c>adduid</c>. Te
preguntar por el nombre, e-mail y un comentario para la segunda
ID que uses.</note>
</body>
</section>
<section>
<title>Exportando claves</title>
<body>
<p>Para exportar tu clave, teclea <c>gpg --armor --output
john.asc --export john@nowhere.someplace.flick</c>. Casi siempre
podes usar la ID de la clave o algo que identifique la clave (aquí
usamos una dirección de e-mail). El tiene ahora un archivo john.asc
que puede enviar a sus amigos, o poner en su sitio web para que
esa gente se comunique de forma segura con él.
</p>
</body>
</section>
<section>
<title>Importando claves</title>
<body>
<p>Para agregar archivos a tu anillo de claves públicas, primero deberás importarlas, luego comprobar la huella digital de la clave. Y después de verificar la huella digital deberás validarla.
<note>
Deberás ser cuidadoso cuando verifiques las claves. Este es uno de los puntos débiles de la criptografía de clave pública.
</note>
Ahora agregaremos la clave pública de Luis Pinto (un amigo mío) a nuestro
anillo de claves públicas. Luego de haberlo llamado por teléfono y
de haberle preguntado por su huella digital, comparo la huella con
la salida del comando <c>fpr</c>. Como la clave
es auténtica, la agrego al anillo de claves públicas. En este caso
particular, la clave de Luis expira el 2003-12-01 entonces se me preguntará
si quiero que mi firma expire en el mismo día.
<pre caption="Importando y firmando claves">
#<i>gpg --import luis.asc</i>
gpg: key 462405BB: public key imported
gpg: Total number processed: 1
gpg: imported: 1
humpback@sam humpback $ <i>gpg --list-keys </i>
/home/humpback/.gnupg/pubring.gpg
---------------------------------
pub 1024D/75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhere.someplace.flick>
sub 2048g/96D6CDAD 2002-12-08
pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@student.dei.uc.pt>
uid Luis Pinto <lmpinto@dei.uc.pt>
sub 4096g/922175B3 2002-12-01 [expires: 2003-12-01]
humpback@sam humpback $ <i>gpg --edit-key lmpinto@dei.uc.pt</i>
gpg (GnuPG) 1.0.7; Copyright (C) 2002 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.
gpg: checking the trustdb
gpg: checking at depth 0 signed=0 ot(-/q/n/m/f/u)=0/0/0/0/0/1
pub 1024D/462405BB created: 2002-12-01 expires: 2003-12-01 trust: -/-
sub 4096g/922175B3 created: 2002-12-01 expires: 2003-12-01
(1) Luis Pinto <lmpinto@dei.uc.pt>
(2). Luis Pinto <lmpinto@student.dei.uc.pt>
Command> <i>fpr</i>
pub 1024D/462405BB 2002-12-01 Luis Pinto <lmpinto@dei.uc.pt>
Fingerprint: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB
Command> <i>sign</i>
Really sign all user IDs? <i>y</i>
pub 1024D/462405BB created: 2002-12-01 expires: 2003-12-01 trust: -/-
Fingerprint: F056 3697 ADE3 CF98 B80B 8494 0AD3 E57B 4624 05BB
Luis Pinto <lmpinto@dei.uc.pt>
Luis Pinto <lmpinto@student.dei.uc.pt>
This key is due to expire on 2003-12-01.
Do you want your signature to expire at the same time? (Y/n) <i>Y</i>
How carefully have you verified the key you are about to sign actually belongs
to the person named above? If you don't know what to answer, enter "0".
(0) I will not answer. (default)
(1) I have not checked at all.
(2) I have done casual checking.
(3) I have done very careful checking.
Your selection? <i>3</i>
Are you really sure that you want to sign this key
with your key: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
I have checked this key very carefully.
Really sign? <i>y</i>
You need a passphrase to unlock the secret key for
user: "John Doe (The Real John Doe) <john@nowhere.someplace.flick>"
1024-bit DSA key, ID 75447B14, created 2002-12-08
Command> <i>check</i>
uid Luis Pinto <lmpinto@dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhe
uid Luis Pinto <lmpinto@student.dei.uc.pt>
sig!3 462405BB 2002-12-01 [self-signature]
sig!3 75447B14 2002-12-08 John Doe (The Real John Doe) <john@nowhe
</pre>
</p>
</body>
</section>
</chapter>
<chapter>
<title>Intercambiando claves con servidores de claves</title>
<section>
<title>Enviando claves a servidores de claves</title>
<body>
<p>
Ahora que tienes tu clave, es una buena idea enviarla a un servidor de
claves. Hay un montón de servidores de claves en el mundo y muchos
de ellos intercambian claves entre ellos. Vamos a enviar la clave
de Luis al servidor pgp.mit.edu. Este usa HTTP, o sea que si necesitas
usar un proxy para el trfico HTTP no olvides de colocar (<c>export
http_proxy=http://proxy_host:port/</c>). El comando para enviar
claves es: <c>gpg --keyserver pgp.mit.edu --keyserver-options
honor-http-proxy --send-key john@nowhere.someplace.flick</c>.
Si no necesitas un proxy HTTP puedes quitar <e>--keyserver-options
honor-http-proxy</e>.
</p>
<p>
Puedes también enviar las claves de otras personas, que has firmado, al servidor de claves. Podríamos enviar la clave de Luis Pinto al servidor. En este sentido alguien que confía en tu clave puede usar la firma que pusimos ahí para confiar en la clave de Luis.
</p>
</body>
</section>
<section>
<title>Obteniendo claves desde servidores de claves</title>
<body>
<p>
Ahora vamos a buscar la clave de Gustavo Felisberto y agregarla al anillo de claves de John Doe (solo en el caso que no te hallas enterado que Gustavo Felisberto es la persona que escribió esta guía :) ).
<pre caption="Buscando claves en los servidores de claves">
#<i>gpg --keyserver pgp.mit.edu --keyserver-options honor-http-proxy \
--search-keys humpback@felisberto.net</i>
gpg: searching for "humpback@felisberto.net" from HKP server pgp.mit.edu
Keys 1-5 of 5 for "humpback@felisberto.net"
(1) Gustavo Felisberto (apt-get install anarchy) <humpback@felisberto.net> 1024
created 2002-12-06, key B9F2D52A
(2) Gustavo Felisberto <humpback@altavista.net> 1024
created 1999-08-03, key E97E0B46
(3) Gustavo A.S.R. Felisberto <humpback@altavista.net> 1024
created 1998-12-10, key B59AB043
(4) Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net> 1024
created 1998-08-26, key 39EB133D
(5) Gustavo Adolfo Silva Ribeiro Felisberto <humpback@altavista.net> 1024
created 1998-06-14, key AE02AF87
Enter number(s), N)ext, or Q)uit ><i>1</i>
gpg: requesting key B9F2D52A from HKP keyserver pgp.mit.edu
gpg: key B9F2D52A: public key imported
gpg: Total number processed: 1
gpg: imported: 1
</pre>
Como puedes ver desde la respuesta del servidor tengo un par de claves enviadas al servidor de claves, pero actualmente solo uso B9F2D52A. Ahora John Doe podrá obtenerla y firmarla si confía en ella.
</p>
</body>
</section>
</chapter>
<chapter>
<title>Trabajando con documentos</title>
<section>
<title>Encriptando y firmando</title>
<body>
<p>Digamos que tienes un archivo que quieres enviar a Luis. Puedes encriptarlo, firmarlo, o encriptarlo y firmarlo. Encriptarlo significa que solo Luis podrá abrirlo. La firma le dice a Luis que fuiste realmente tu quien creó el archivo.</p>
<p>Los siguientes tres comandos harán solo eso, encriptar, firmar y encriptar/firmar.</p>
<pre caption="Comprobando las claves en los archivos y decodificándolos">
#<i>gpg --output doc.gpg --encrypt --recipient lmpinto@dei.uc.pt doc_to_encrypt</i>
#<i>gpg --output doc.gpg --sign --recipient lmpinto@dei.uc.pt doc_to_sign</i>
#<i>gpg --output doc.gpg --encrypt --sign --recipient \
lmpinto@dei.uc.pt doc_to_encrypt_and_sign</i>
</pre>
<p>Esto crear un archivo binario. Si deseas crear archivos ascii, solo agrega un <c>--clearsign</c> al principio del comando</p>
</body>
</section>
<section>
<title>Desencriptando y verificando firmas</title>
<body>
<p>Suponte que has recibido un archivo que está encriptado. El comando para desencriptarlo es <c>gpg --output document --decrypt encrypted_doc.gpg</c>. Esto desencriptará el documento y verificar la firma (si es que hay una).
</p>
</body>
</section>
</chapter>
<chapter>
<title>Interfaces GnuPG</title>
<section>
<title>kgpg</title>
<body>
<p>kgpg es una linda GUI para GNUPG. En la pantalla principal puedes pegar el texto que deseas firmar o encriptar, y también puedes pegar el texto con armadura ASCII que deseas desencriptar.
</p>
<p>
<figure link="http://www.ibiblio.org/pub/linux/distributions/gentoo/images/kgpg1.png" short="Pantalla principal de kgpg"/>
</p>
<p>
En esta imagen puedes ver la ventana principal de kpgp con el texto con
armadura ASCII y texto encriptado pegado en ella. Desde aquí puedes
desencriptarla (tendrás que proveer tu contraseña), encriptar otros
archivos, pegar nuevo texto para firmar.....
</p>
<p>
<figure link="http://www.ibiblio.org/pub/linux/distributions/gentoo/images/kgpg2.png" short="ventana de administración de claves kgpg"/>
</p>
<p>
Ahora podrás ver la ventana de administración de claves. Desde aquí podemos ver nuestra clave correcta para John Doe. Las dos claves de confianza de Gustavo y Luis, y la clave sin confianza de Daniel Robbins (sigo sin llamarlo para preguntarle su huella de clave :) ).
</p>
<p>
<figure link="http://www.ibiblio.org/pub/linux/distributions/gentoo/images/kmail_security.png" short="Opciones de seguridad OpenPGP de kmail"/>
</p>
<p>
<figure link="http://www.ibiblio.org/pub/linux/distributions/gentoo/images/kmail_identity.png" short="Opciones de identidad OpenPGP de kmail"/>
</p>
</body>
</section>
<section>
<title>Mozilla Enigmail</title>
<body>
<p>A partir de la versinó 1.0 Mozilla viene con Enigmail, un plugin para el
cliente de mail que es muy simple de configurar. solo tienes que
ir a preferencias -> Privacy & Security -> Enigmail. Ahí
colocas la clave de tu e-mail y eso es todo.
</p>
<p>Los e-mails que llegan con una firma pgp o gpg que no es confiable
serán marcados con un bolígrafo roto. Otros que tengan firmas correctas
aparecerán con un lindo bolígrafo entero. Enigmail además viene con
la posibilidad de obtener claves desde servidores de claves, pero si
problemas escribiendo algunos mensajes muy raros (pero todavía
recuerdas como usar la línea de comandos, cierto?).
</p>
</body>
</section>
<section>
<title>KMail</title>
<body>
<p>Kmail también es muy fácil de configurar. Solo pondré un par de fotos de
como configurarlo. Básicamente tienes que decirle a KMail que use
GPG y luego que clave usar para firmar.
</p>
</body>
</section>
</chapter>
<chapter>
<title>Consideraciones finales, Créditos y Derechos de autor</title>
<section>
<title>Algunos problemas</title>
<body>
<p>Tuve algunos problemas con fotos en las claves. Verifica la versión
que estás usando. Si tienes GnuPG 1.2.1-r1 o mayor probablemente
no tengas problemas, versiones más viejas pueden tenerlos. A muchos
servidores de claves tampoco le gustan mucho las claves con fotos.
</p>
</body>
</section>
<section>
<title>Qué es lo que no hay aquí</title>
<body>
<p>Gpg es una herramienta muy compleja, te permite hacer mucho más de lo cubierto aquí. Este documento es para el usuario que es nuevo en GnuPG. Para más información, deberás ojear el sitio web de <uri link="http://www.gnupg.org">GnuPG</uri>.
</p>
<p>No hablo de otras herramientas como pgp4pine, gpgpine, evolution o tal vez herramientas para Windows, probablemente extienda este documento en el futuro.</p>
</body>
</section>
<section>
<title>Crditos</title>
<body>
<p>El <uri link="http://www.gnupg.org">Manual de GnuPG</uri> de John Michael Ashley es simplemente maravilloso. Es un muy buen lugar para los principiantes.</p>
<p>A todos los chicos del equipo #gentoo-doc.</p>
<p>Gracias a Tiago Serra por apoyarme en el estudio de la privacidad</p>
</body>
</section>
<section>
<title>Copyright</title>
<body>
<p>Copyright por Gustavo Felisberto. Gentoo Technologies Inc. Está permitido publicar este documento sin modificaciones.
</p>
</body>
</section>
</chapter>
</guide>
|