Professional Documents
Culture Documents
360
360
En este sistema, cada persona obtiene un par de claves, llamadas clave pblica
y clave privada.
La clave pblica de cada una, como su nombre lo indica, es de dominio pblico
y la privada se mantiene en secreto. La necesidad de que emisor y receptor
compartan la misma clave queda eliminada: las comunicaciones slo necesitan
de la clave pblica y entonces la clave privada no se transmite ni se comparte,
es una "realmente Privada".
De sta forma no es necesario confiar en los canales de comunicacin,
corriendo el riesgo de que alguien est 'escuchando' en la lnea de
comunicacin o de que se viole el secreto de la clave privada.
Cualquier persona puede enviar un mensaje confidencial con slo utilizar la
clave pblica, pero el mensaje slo puede desencriptarse con la clave privada
que posee nicamente el receptor. Ms an, la criptografa asimtrica puede
utilizarse tanto para la autenticacin (firmas digitales) como para mantener la
privacidad (encriptado).
La ventaja principal de este mtodo de cifrado es su mayor seguridad. Las
claves privadas no se transmiten ni se revelan a persona alguna. En el
sistema simtrico, siempre existe la posibilidad de que sea descubierta durante
la transmisin.
2.
360
3.-
GPG es una herramienta conocida como un sistema de firma digital para correo
electrnico.
Una firma digital es un bloque de caracteres que acompaa a un documento,
acreditando quin es su autor y que no ha existido manipulacin posterior de
los datos. El proceso de firma digital que realiza este software consiste en
aplicar un algoritmo sobre el texto a firmar, obteniendo un extracto de longitud
fija y nico para ese mensaje. Este extracto cuya longitud oscila entre 176 y
160 bits se somete al cifrado (RSA DSS) mediante la clave secreta del autor,
previa peticin de contrasea.
360
Para verificar la firma, el receptor descifra la firma con la clave pblica del
emisor, comprime con la funcin hash al texto original recibido y compara el
resultado de la parte descifrada con la parte comprimida, si ambas coinciden el
emisor tiene garanta de la parte descifrada con la parte comprimida, si ambas
coinciden el emisor tiene garanta que el texto no ha sido modificado.
El mecanismo de firma digital soporta los servicios de integridad de datos,
autenticacin de origen y no repudio con prueba de origen. Para proporcionar
el servicio de no repudio con prueba de entrega es necesario forzar al receptor
a enviar al emisor un recibo firmado digitalmente.
Podemos obtener esta aplicacin de:
http://www.gnupg.org/ o ftp://ftp.gnupg.org/gcrypt/
La instalacin se explica muy bien en el archivo INSTALL y en los archivos que
hay en el directorio doc, que trae el paquete.
Lo primero que hay que hacer una vez instalado es generar el par de llaves
pblica y privada que usaremos, ya que el gpg utiliza un sistema de
codificacin asimtrico.
Qu es todo esto?
Los sistemas de codificacin simtricos utilizan una clave para cifrar y descifrar
los datos. Esto quiere decir que si alguien conoce la clave de cifrado puede
interpretar los mensajes que "capture" y tenga esa clave como firma. Los
sistemas asimtricos utilizan una clave, llamada pblica, para encriptar la
informacin y una clave, llamada privada, para descifrarla.Con este mtodo,
por ms que se sepa la clave pblica, no se pueden interpretar los datos de un
mensaje cifrado.
El primer paso que ejecutaremos ser:
$ gpg --gen-key
gpg (GnuPG) 1.2.1; 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: ATENCIN: se est usando memoria insegura!
gpg: por favor, vea http://www.gnupg.org/faq.html para ms informacin
Por favor seleccione tipo de clave deseado:
(1) DSA y ElGamal (por defecto)
(2) DSA (slo firmar)
(5) RSA (slo firmar)
Su eleccin:
360
360
Nombre y apellidos:
Aqu tenemos que escribir lo que nos solicita.
Nombre y apellidos: Pedro prueba
Direccin de correo electrnico: pedro@pedrito.com.ar
Comentario: El mejor usuario
Ha seleccionado este ID de usuario:
"Pedro prueba (El mejor usuario) <pedro@pedrito.com.ar>"
Cambia (N)ombre, (C)omentario, (D)ireccin o (V)ale/(S)alir?
Aceptamos las opciones.
Cambia (N)ombre, (C)omentario, (D)ireccin o (V)ale/(S)alir? v
Necesita una contrasea para proteger su clave secreta.
Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el mouse, usar la
red y los discos) durante la generacin de nmeros primos. Esto da al
generador de nmeros aleatorios mayor oportunidad de recoger suficiente
entropa (el porcentaje de informacin y redundancia que contienen).
.+++++++++++++++++++++++++++++++++++++++++++++++
++++++++.++++++++++++++++++++.+++++++++++++++++++
++++++..+++++.+++++.+++++..+++++++++++++++.++++
+........>.+++++...........>+++++<+++++...................>+++++<+++++++
+++++++++++++.+++++.+++++++++++++++++++++++++++++
+.+++++++++++++++++++++++++.++++++++++++++++++++.
++++++++++.+++++++++++++++.+++++++++++++++>++++
+.......<+++++...>+++++....................................<+++++...........>.++++
+.................................>+++++.<+++++.................++++
+^^^^^^^^^^^
gpg: /home/pedro/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
claves pblica y secreta creadas y firmadas.
clave marcada como de confianza absoluta.
pub 1024D/C8F3702B 2003-05-16 Pedro prueba (El mejor usuario)
<pedro@pedrito.com.ar>
Huella de clave = B124 FD41 717E 0761 5E7D B4E5 4EA7 4AF9 C8F3 702B sub
1024g/2BA33BAE 2003-05-16
Listo, ya tenemos nuestro par de claves, ahora pondremos en un archivo la
clave pblica, para compartirla.
$ gpg --export -a
-----BEGIN PGP PUBLIC KEY BLOCK----Version: GnuPG v1.2.1 (GNU/Linux)
mQGiBD7EUHsRBADkAfVr9jWrbPKbnND6Fpo4a/qCi9HANt0L4Cze9DaRR2WvQh
Og
39TIMBZxQIXN4b7I6RP+hKEwifmpylV7+GRdqvKGOGO6f5yGE+GCrsh3iGG5X28
v
UjYFBE8GY8+k5ZKoUUA352J4KaudIOM0qfhzM8bqeFpPo7Divlis0JBIBwCg1Ixe
360
EDTYXPA3IuxmRi7FFqAvytMEANnaFr8ArZDSw9PEY5dR0Zdx1lDzQ+Tn1YMd23E
C
c13gwmzve8FLPnNpod8LDH58VBUBgVKFbBmBXz6SQrp/WZfE6MMgVucpTD0vz
8RW
UO3887Hr7Y/nRDzbYhcLdf7iQ739gWCaKMorA8lfWtIU+mWW2tU/K/pCWXNWyiz
0
MsAtBAC2t09SGsqJi0BBw2KUjsfIVxAEeslsO7y7d1BqvmgiFkMssvhdjLRq0E6q
YL0Y5Nb3MOGJxUxaVPYIGti8oa7QTnpZoh52NJyWPnJ500NrdImJ46LkvYgF2M3/
s46k7t5BDqmZf1eAvVf8pfPQlEEdASj6lYqd0DXeO32bdokbALQ2UGVkcm8gcHJ1
ZWJhIChFbCBtZWpvciB1c3VhcmlvKSA8cGVkcm9AcGVkcml0by5jb20uYXI+iFkE
ExECABkFAj7EUHsECwcDAgMVAgMDFgIBAh4BAheAAAoJEE6nSvnI83Ar6mcAnie
k
0xksKzV02ccYIKNOSTg85gBOAJsE5BVH1TVPdA5sdU9NcR46j3I3ibkBDQQ+xFCI
EAQAuwcteknhMkGBH7OQWsrpQH+4ESSOYfFathqwSLzx4U00t9AlmwMKgxa8w
yyv
Mnl4Cr4xdAj9G1/Py981Eklill1xQAukJaEJxY4dLfEvRwlSngd6QnLiIiqfYJBa
oWnX6YkkzR1O2CVNDYDWGmbwdWrLC6fF6AM7llefZJnhTXcABA0D/3k6wVmSz
Nfy
P37uOnkIDjM2yiwzdBX0VBMuNIRz/6INtynFn6sbaqpxI0ijHl4DWo0yaaQo3Ca1
KC7hV+auJA48L5jR/XhJm8FszfnN01Jo6ueZic/TTJdMFPLH376DoUeOpUsGdwNp
F0KAKOWFEJO+6KhGVnM2Ugr2rjB9K+DliEYEGBECAAYFAj7EUIgACgkQTqdK+cjz
cCvXdgCfYOt8YtslYI8LfVjzSVPheixwmMYAn26TG6HROvvz27yf8JAyJu8ud4el
=urZ5
-----END PGP PUBLIC KEY BLOCK----Si no colocamos la opcin -a, la salida sera binaria. Ahora tenemos que
mandarla por mail o direccionar la salida a un archivo y enviarlo de alguna
forma a la persona que queremos que me escriba mensajes cifrados usando mi
clave pblica.
$ gpg -export [uid]
$ gpg -import [archivo]
Con import tomamos la/las claves de un archivo y las agregamos a nuestro
anillo de claves.
Con la opcin -fingerprint, podemos ver la huella de la clave y verificar que sea
correcta y se corresponda con su dueo.
$ gpg -fingerprint
/home/pedro/.gnupg/pubring.gpg
-----------------------------pub 1024D/C8F3702B 2003-05-16 Pedro prueba (El mejor usuario)
<pedro@pedrito.com.ar>
Huella de clave = B124 FD41 717E 0761 5E7D B4E5 4EA7 4AF9 C8F3 702B
sub 1024g/2BA33BAE 2003-05-16
Para encriptar un archivo usamos (genera archivo.gpg):
$ gpg -e archivo
360
360
4.-
360
vi /etc/hosts
10.10.3.x www.seguro.com.ar
Ya tenemos todo listo para preparar nuestro sitio seguro.
Cuando nos conectemos a este sitio, vamos a ver que hay una diferencia.
Cul es?
Lo primero que nos aparece es el cartel con el certificado. Los certificados
suelen ser otorgados por una entidad certificante que sigue ciertas normas.
En este caso nosotros mismos nos vamos a entregar nuestro certificado
usando la misma norma que las entidades.
Sin embargo no sera vlido que lo mostrramos en Internet, porque a
nadie le interesa que nos certifiquemos a nosotros mismos... por qu van a
creernos? Sera como que nuestra mam dijera que somos buenitos y no le
hacemos mal a nadie....
Sigamos.... lo que tenemos que hacer ahora es indicarle a Apache dnde
est nuestro nuevo sitio.
Hacemos
vi /etc/apache/httpd.conf
Hay una lnea de este archivo, con nmero....1309, ms o menos que dice:
<VirtualHost _default:443>
Nosotros tenemos que transformar esto en nuestro virtual host, pero para
que funcione tenemos que agregar una nueva variable por encima de la
lnea anterior.
NameVirtualHost
Esta variable va a tener la ip de cada uno de nuestros equipos. Esto le
indicar a Apache que cada vez que llegue una conexin para esta ip la
busque en este virtual host.
NameVirutalHost 10.10.3.x
<VirtualHost www.seguro.com.ar:443>
OJO!!! Tienen que borrar el _default.
Vamos bien hasta ahora???
360
360
Nos aclara por supuesto que este certificado lo firm .ah! nosotros! Con
todos los detalles que definimos y recin cuando le demos OK nos mostrar
la pgina definida como index.
Lo que hacemos con esto es encriptar todos los datos que pasan entre una
mquina y otra. Si tuviramos que crear un web mail podramos poner la
pgina de login encriptado. Podemos optar por encriptar todo el sitio slo
el login.
Algunos webmails no los tienen porque los certificados se pagan. Como
generalmente la gente no agrega sola el protocolo seguro nosotros
tendremos que redireccionarlo.
Hay varias formas de hacer esto, podemos redireccionar directamente
permitirle a la persona que decida ingresar al sitio seguro.
360