técnicas de cifrado - · pdf fileantes de comenzar a encriptar mensajes y archivos,...
Post on 11-Feb-2018
228 Views
Preview:
TRANSCRIPT
Tema 2 SAD
Vicente Sánchez Patón
I.E.S Gregorio Prieto
Tema 2 SAD
Técnicas de cifrado
a) Explorando métodos de cifrado:
- CISCO CCNA Security 1. 1. Laboratorio Lab-2-A: Explorando métodos de
cifrado
En proceso
b) Cifrado simétrico: , e) Cifrado asimétrico: - Uso de PGP y GPG. - En GNU/Linux: gpg.
PGP
PGP utiliza un sistema híbrido que combina encriptación simétrica y
asimétrica.
La encriptación asimétrica trabaja siempre con un par de claves. Una de
ellas será tu clave "pública" y la otra tú clave "privada". Como bien lo indica
su nombre, la clave pública se la podéis dar a aquellas personas a las que les
queréis mandar mensajes encriptados y no hay ningún peligro si una persona
ajena la ve, es más, suelen publicarse en servidores públicos para facilitar
su acceso; la clave privada, en cambio, debe ser secreta y no tenéis que
compartirla con nadie.
Gracias a la encriptación asimétrica, si el remitente usa la clave pública del
destinatario para cifrar el mensaje, una vez cifrado, sólo la clave privada
del destinatario podrá descifrar este mensaje, ya que es el único que la
conoce. Por tanto, se logra la confidencialidad del envío del mensaje: nadie
salvo el destinatario puede descifrarlo. Si el propietario del par de claves
usa su clave privada para cifrar el mensaje, cualquiera puede descifrarlo
utilizando su clave pública. En este caso se consigue por tanto la
identificación y autentificación del remitente, ya que se sabe que sólo pudo
haber sido él quien empleó su clave privada (salvo que alguien se la hubiese
podido robar).
Para instalar el programa nos dirigimos al gestor de paquetes synaticb y en
el buscador ponemos pgp y seleccionamos para instalar el paquete pgpgnome,
una vez instalado nos dirigimos a Sistema-Preferencias-Contraseñas y
claves de cifrado.
Antes de comenzar a encriptar mensajes y archivos, como vimos, es
necesario crear primero nuestras claves asimétricas y nuestro
"passphrase". Para ello vamos a Sistema-Preferencias-Contraseñas y claves
de cifrado. Una vez allí vamos a Archivo -Nueva - Clave PGP.
El sistema nos pedirá a continuación que introduzcamos nuestro nombre,
dirección de correo electrónico y un comentario. Éste último es opcional,
mientras que los dos primeros son obligatorios. La dirección de correo
electrónico que se escoja debería ser una válida, ya que ésta será usada
para firmar el identificador de usuario. Si esta dirección se modifica en
algún modo, la firma no corresponderá. Las claves serán generadas en
base a estos datos.
En el apartado Opciones avanzadas de clave, podéis seleccionar un tipo
diferente de cifrado. La recomendada es “DSA Elgamal de 768 bits” pero te
recomiendo que la cambies a "DSA Elgamal de 2048 bits" ya que es
considerada lo suficientemente segura y flexible. La fecha de caducidad es
la fecha en la que la clave dejará de ser útil para realizar cifrado u
operaciones de firma. 6 meses es un tiempo razonable para ello. Vas a tener
que cambiar la fecha de caducidad o generar una nueva clave o subclave
después de que pase este lapso de tiempo.
El último paso consiste en introducir una contraseña. Nótese la diferencia
entre los términos anglosajones para la palabra «contraseña»: el término
"password" indica una "palabra de paso", mientras que el término
"passphrase" indica una "frase de paso". Por tanto esta contraseña se debe
componer de más de una palabra. Para que una contraseña sea efectiva
(segura), deberá:
-ser larga;
-combinar mayúsculas, minúsculas y números;
-contener caracteres especiales (no alfanuméricos);
-ser difícil de adivinar. Por lo tanto, que no sean nombres, fechas -
significativas, números de teléfono, números de documentos, ...
En general, para crear una contraseña fuerte es aconsejable intercalar
maYúsCUlas con mInúsCulas, números, otros caracteres no
alfanuméricos, etc. Al escoger las palabras y frases debemos evitar
aquellas palabras demasiado obvias, o fechas significativas, y nunca usar
citas de libros o frases famosas. Dicho esto, debemos asegurarnos de que la
contraseña que elijamos sea lo suficientemente difícil para que no pueda ser
traspasada por un «ataque de fuerza bruta», ni siquiera por un «ataque de
diccionario», pero lo suficientemente fácil como para que la recordemos. Si
olvidáramos una contraseña nuestra clave quedaría totalmente inutilizada, y
los criptogramas con ella cifrados, indescifrables. Ante esta posibilidad se
recomienda crear siempre certificados de revocación junto con las claves.
Una vez introducidos todos los datos requeridos, empieza el proceso de
generación de las claves, que tarda un tiempo considerable dependiendo del
tamaño de éstas y la velocidad de tu ordenador. Durante este proceso el
programa recoge datos aleatorios que usará para generar las claves. Una vez
terminado, cierra Seahorse.
Publicar mis claves públicas Los servidores de claves públicas son utilizados para distribuir,
precisamente, las claves públicas. De ese modo, es muy fácil buscar a alguien
(por su nombre o correo electrónico) en la base de datos y encontrar sus
claves públicas para enviarle mensajes encriptados (que sólo él/ella podrá
descifrar).
Para "subir" tus claves públicas a estos servidores, sólo tenéis que abrir
Seahorse, seleccionar tu clave e ir a Remota > Sincronizar y publicar claves.
Aparecerá una alerta avisándonos que esto provocará la publicación de las
claves públicas seleccionadas.
Obtener las claves públicas de mis amigos
Abre Seahorse y ve al menú Remota > Buscar claves remotas. Ingresa el
nombre o el correo electrónico de la persona que buscas. Luego, selecciona
la clave correspondiente. Cuando termines vas a ver que la nueva clave se
agregó a la pestaña "Otras claves".
(Des)Cifrando archivos y carpetas
Una vez que el par de claves ha sido generado, cifrar y descifrar
archivos es bastante simple. Solo tenéis que seleccionar un
archivo, hacer clic derecho y seleccionar "Cifrar".
En el diálogo que aparece, selecciona la clave que creaste anteriormente, y
clic en OK.
Si seleccionaste una carpeta para cifrar, te va a preguntar si queréis
cifrar cada archivo dentro de la carpeta por separado o si preferís que
se cree un archivo ZIP que luego será cifrado. La segunda opción es la
mejor en la mayoría de los casos.
Si estás cifrando un archivo, una vez que el cifrado esté completo, deberías
crearse un archivo del mismo nombre pero con la extensión .pgp. Una vez
terminado el proceso, podéis borrar el archivo viejo. Si cifraste una
carpeta, deberías encontrar dos nuevos archivos: la versión cifrada con la
extensión .pgp y un archivo .zip con la versión original de la carpeta. Tanto el
ZIP como la carpeta original, pueden ser borrados después del cifrado.
Por razones de seguridad, las versiones no cifradas de los archivos deben
ser eliminados permanentemente, en vez de simplemente enviarlos a la
papelera de reciclaje. Pero antes asegúrate de probar descifrando el
archivo cifrado, para ver que todo va bien.
Para ello, sólo tenéis que hacer doble clic en el archivo .pgp e ingresar la
contraseña cuando te la pida. El archivo original reaparecerá entonces. En
caso de ser una carpeta, el archivo .zip aparecerá, y deberás luego extraer
el contenido del mismo.
GPG
GNU Privacy Guard o GPG es una herramienta de cifrado y firmas digitales,
que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la
principal diferencia que es software libre licenciado bajo la GPL. GPG utiliza
el estándar del IETF denominado OpenPGP.
GPG cifra los mensajes usando pares de claves individuales asimétricas
generadas por los usuarios. Las claves públicas pueden ser compartidas con
otros usuarios de muchas maneras, un ejemplo de ello es depositándolas en
los servidores de claves. Siempre deben ser compartidas cuidadosamente
para prevenir falsas identidades por la corrupción de las claves públicas.
También es posible añadir una firma digital criptográfica a un mensaje, de
esta manera la totalidad del mensaje y el remitente pueden ser verificados
en caso de que se desconfíe de una correspondencia en particular.
GnuPG también soporta algoritmos de cifrado simétricos, por ejemplo
CASTS.
GPG no usa algoritmos de software que están restringidos por patentes,
entre estos se encuentra el algoritmo de cifrado IDEA que está presente
en PGP casi desde sus inicios. En su lugar usa una serie de algoritmos no
patentados como ElGamal, CAST5, Triple DES (3DES), AES y Blowfish.
También es posible usar IDEA en GPG descargando un plugin extra, sin
embargo este puede requerir una licencia para usuarios de algunos países en
donde esté patentada IDEA.
GPG es un software de cifrado híbrido que usa una combinación convencional
de criptografía de claves simétricas para la rapidez y criptografía de claves
públicas para el fácil compartimiento de claves seguras, típicamente usando
recipientes de claves públicas para cifrar una clave de sesión que es usada
una vez. Este modo de operación es parte del estándar OpenPGP y ha sido
parte del PGP desde su primera versión.
Lo primero será crear las claves, para ello ejecutamos el siguiente comando:
Nos saltara la siguiente información:
Para la mayoría la opción por defecto (1) es muy válida para la mayoría de
usuarios.
Ésta es la que voy a utilizar yo en este ejemplo.
Una vez escogido el método tendremos esto:
Aquí tenemos que escoger la longitud de nuestra clave, cuanto más larga,
más complicado
será descifrarla.
Yo que siempre tengo el modo paranoide encendido he escogido el máximo.
Una vez escogida la longitud tenemos lo siguiente:
Aquí escogemos para cuánto tiempo queremos que nos sirva la clave, yo
siempre escojo 0
en caso de que no quiera volverla a usar, entonces ya enviaré un certificado
de revocación
para avisar de que esa clave no va a ser utilizada nunca más, y luego
procederé con su
eliminación.
Una vez escogida la duración, procedemos
y nos pedirá confirmación, aceptamos con s, y continuamos
Ahora nos hace una pequeña descripción de cómo va a quedar la clave cuando
sea generada
y nos va a pedir los datos.
Vosotros en función de para qué queráis utilizar esa clave, ponéis vuestro
nombre real
si es para la vida "real" o cualquier otra cosa que os certifique en internet.
Luego nos pedirá una dirección de correo electrónico, y por último un
comentario para
afinar un poco más para que vayamos a usar esa clave o para lo que vosotros
queráis.
Confirmamos introduciendo V y seguimos:
Ahora nos pide una contraseña, esta contraseña es privada y solo deberás
conocerla tú.
Como esto es una cosa seria que certifica tu identidad, yo pondría algo que
sea complicado.
Una vez hecho, terminamos.
Ahora comienza con la generación de la clave, para ello nos pide que
trabajemos con el
ordenador para poder generar información aleatoria, así que dicho y hecho.
Esperamos
un rato y terminará. En función de lo complicada que sea tu clave tardará
más o menos.
Ya ha terminado y ahora nos muestra un resumen de cómo ha ido el asunto.
Nota importante Para poder identificar nuestra clave vamos a utilizar esta
línea:
pub 2048R/20CEEBFB
Y en concreto estos caracteres: 20CEEBFB
Eso es de forma inequívoca nuestra clave, y es única, no puede haber 2
iguales.
De modo que llegados a este punto, ya tenemos nuestro par de claves
generado.
Ahora vamos a dar a conocer nuestras claves públicas.
Existen varias formas de hacerlo, una de ellas es por ejemplo, publicar
nuestra clave
pública en nuestra página web, o un foro, y que quien quiera, que la coja.
Otra opción es enviar nuestra clave pública a todos nuestros contactos
mediante email.
Veamos cómo se hace.
Lo primero de todo tenemos que exportar nuestra clave pública, eso se
consigue así:
Sin embargo existe una opción mucho más práctica, que consiste en subir
nuestra clave
pública a un anillo público de claves públicas, de modo que cualquiera que
desee
obtener nuestra clave solo necesitará saber la identificación de nuestra
clave para
bajarla del anillo, y nosotros podremos editar nuestra firma de los foros
con algo del estilo
mi clave gpg pública es: E00C9AC6
De este modo cualquiera que quiera tu clave pública solo tendrá que
solicitarla al anillo
por ese nombre, y la bajará de internet, esta es la forma más segura de
hacerlo, y la que yo
recomiendo.
Veamos cómo podemos subir nuestra clave pública a un anillo.
Pues es tan fácil como:
Obtener claves públicas.
Para obtener claves públicas de otras personas existen varios métodos. Uno
de ellos es que
esa persona nos envíe por correo electrónico su clave pública tal y como
vimos en el punto
anterior, otro método es que esa persona tenga su clave pública en algún
sitio de internet y
nosotros lleguemos hasta allí o bien por casualidad (lo que no es
recomendable) o bien porque
el interesado nos haya pasado el enlace. Y por último, y bajo mi punto de
vista el mejor
método, es mediante, una vez, el anillo público de claves.
Conseguir clave desde anillo público.
Para ello únicamente necesitamos conocer el identificador de la clave y
actuaríamos
así:
Tan simple como eso, y gpg se conectará al anillo, y descargará la clave
pública
adecuada.
Una vez que estamos completamente seguros de que las claves ajenas que
hemos importado
pertenecen realmente y de forma legítima a sus dueños deberíamos
proceder a firmarlas para
tener un sistema confiable al 100%
Para firmar las claves ejecutamos lo siguiente:
Esto nos sacará un nuevo prompt en el cual ejecutaremos órdenes de gpg
Para firmar la nueva clave, lo haremos ejecutando:
- sing
Nos pedirá confirmación, se la damos, y entonces firmaremos con nuestra
clave primaria
de la cual nos pedirá la contraseña.
Además de poder firmar una clave, podemos añadir grados de confianza a
las claves.
Por último, para guardar los cambios y salir ejecutamos lo siguiente:
- save
Para firmar un documento tenemos varias opciones.
- Firmar y que el documento firmado sea ilegible
Esta forma hace que el fichero sea ilegible hasta que la firma sea
verificada, pero ojo, no se encripta nada, solo muestra la información y el
contenido una vez que
se ha verificado la firma.
Para generar uno de estos ejecutamos:
Y eso nos generará un fichero-firmado.gpg
Para poder verificar la firma y luego ver el contenido de este tipo de
fichero
tenemos que ejecutar lo siguiente:
- Firmar y que el documento firmado sea legible con la firma
Esta es la mejor forma si lo que pretende es subir documentación a
internet, al
menos bajo mi punto de vista.
Para ello ejecutaremos lo siguiente:
Esto generará un fichero fichero-firmado.asc que tendrá el mismo
contenido que el
original, pero con la firma en su interior.
Firmar y que el documento y la firma vayan por separado
En ese caso necesitaremos ejecutar lo siguiente:
En este caso la firma irá en un fichero a parte por lo que puede ser de
utilidad
a la hora firmar por ejemplo un binario.
c) Cifrado de datos y particiones:
- En Windows: Uso de TrueCrypt.
TrueCrypt es una aplicación para cifrar y ocultar en el ordenador datos que
el usuario considere reservados empleando para ello diferentes algoritmos
de cifrado como AES, Serpent y Twofish o una combinación de los mismos.
Permite crear un volumen virtual cifrado en un archivo de forma rápida y
transparente.
Una vez descargado lo instalamos:
La consola del programa una vez instalado es la siguiente:
Una vez en la consola le damos a la opción system y luego a la primera
opción, que es para encriptar el disco duro, nos parecerá un asistente de
encriptación, le daremos a siguiente:
Después de pasar unas pantallas, sin importancia, llegamos a una que si lo
tiene, en ella elegiremos el método de encriptación que queremos y el
algoritmo hash:
En la siguiente pantalla nos pide que introduzcamos la clave que se utilizara
para descifrar:
En la siguiente nos saldrá una tabla con números que irán cambiado
aleatoriamente, se usan para sacar la contraseña master y header, para ello
le damos a siguiente:
En la siguiente pantalla nos pide la ubicación del fichero encriptado, y por
ultimo finalizamos.
d) Funciones HASH
- En Window: md5sum.
- En GNU/Linux: md5sum.
md5sum es un programa originario de los sistemas Unix que tiene versiones
para otras plataformas, realiza un hash MD5 de un archivo. La función de
hash devuelve un valor que es prácticamente único para cada archivo, con la
particularidad que una pequeña variación en el archivo provoca una salida
totalmente distinta, lo que ayuda a detectar si el archivo sufrió alguna
variación. Es una herramienta de seguridad que sirve para verificar la
integridad de los datos.
Es muy utilizado en la actualidad y en el mundo Linux es muy habitual
encontrar las sumas de control MD5 de todos los paquetes que componen
una distribución. También hay algunas aplicaciones que utilizan su algoritmo
para encontrar archivos duplicados.
Supongamos que tenemos el fichero xdibu-0.1.tgz y queremos distribuirlo
en Internet, como es un archivo bastante grande y queremos facilitar que
cualquiera lo pueda descargar (usando programas de descargas como
GetRigth, Download Accelerator Plus, NetVampire, Downloader2X, wget,
GetLeft, etc.).
Añadiremos un pequeño fichero con el resultado de la ejecución del comando
md5sum (o en algunos sistemas simplemente md5) sobre el archivo en
cuestión:
# md5sum xdibu-0.1.tgz
350766b7cf78e9401068b623d47bbf73 xdibu-0.1.tgz
# md5sum xdibu-0.1.tgz > xdibu-0.1.tgz.asc
# cat xdibu-0.1.tgz.asc
750726b7df78e9401068b623d47bbf73 xdibu-0.1.tgz
De forma que una vez descargado, para verificar la integridad del fichero
simplemente tendremos que ejecutar la misma instrucción, comprobando
carácter por carácter, la suma de control obtenida.
Si deseamos hacer la comprobación de forma automática solamente
tenemos que ejecutar:
# md5sum -c xdibu-0.1.tgz.asc
Existen versiones de md5sum, prácticamente para la totalidad de los
sistemas operativos, y en caso de necesitarse, se puede recurrir a Perl.
Independientemente del sistema operativo utilizado, en cualquiera de ellos,
la suma de control debe coincidir exactamente. Para comprobar que una
ISO se haya bajado correctamente antes de grabarla a Cd tenemos que
hacer:
#md5sum LihuenV1.0Final.iso
2687ea907f1f8c6cdf60681de4e09e72 LihuenV1.0Final.iso
Y ese valor alfanumérico que retorna compararlo con el archivo .md5 que
esta puesto en la sección de descargas que corresponde a esa imagen.
Si todos los caracteres son iguales, se ha bajado bien la iso y se puede
grabar el CD sin problemas.
top related