Tema 2 - Criptografía

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Tema 2: Criptografía.
Introducción.
Como hemos visto en el tema anterior, el activo más valioso de un sistema de información son
los datos. Dejarlos desprotegidos y a merced de posibles intrusos supondría una intolerable omisión de
seguridad. Para proteger su confidencialidad e integridad, disponemos de una serie de recursos que se
han venido en denominar “criptográficos” y que son los que vamos a ver a continuación.

Definiciones.
Esta materia utiliza una terminología específica con la que debemos familiarizarnos:

✓ Criptología: proviene del griego kripto, “oculto”, y logos, “estudio”. Se trata del estudio de
los criptosistemas. Sus áreas principales de estudio, son, entre otros, la criptografía y el
criptoanálisis:
 Criptografía: proviene del griego kripto, “oculto”, y graphos, “escribir”; es decir,
significa “escritura oculta”. El diccionario de la R.A.E. lo define como “el arte de
escribir con clave secreta o de un modo enigmático”. La criptografía no pretende
ocultar un mensaje, sino únicamente su significado, a través de la codificación.
 Criptoanálisis: es la ciencia que se ocupa de descifrar criptogramas rompiendo la
clave utilizada para descubrir el contenido del mensaje. Es el reverso de la
criptografía.
✓ Criptosistema: según el Centro Criptológico Nacional (C.C.N.), es el conjunto de claves y
equipos de cifra que, utilizando coordinadamente, ofrecen un medio para cifrar y descifrar.
✓ Cifrar: transcribir, utilizando una clave, un mensaje cuyo contenido se quiere ocultar.
✓ Clave: conjunto de signos utilizados para la transmisión de un mensaje privado cuyo
contenido se quiere ocultar.

Historia de la criptografía.
Podemos clasificar la criptografía, a lo largo de la historia, en 3 periodos distintos:

1. Criptografía clásica: abarca desde la antigüedad hasta 1949.


2. Criptografía simétrica o de Shannon: desde 1949 hasta 1976.
3. Criptografía asimétrica: desde 1976 hasta la actualidad.

GONZALO ROMERO GARCÍA 2º S.M.R.


2 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Criptografía clásica.

Método escítala.
Los primero mensajes cifrados datan del siglo V antes de Jesucristo; ya entonces los espartanos
usaban la escítala para ocultar las comunicaciones.

El método consistía en enrollar una cinta sobre un bastón y posteriormente escribir el mensaje
en forma longitudinal. Después la cinta se desarrollaba del bastón y era enviado mediante un mensajero;
si éste era atrapado por los enemigos, sólo obtendrían un conjunto de caracteres sin sentido.

El receptor sólo podía interpretar el mensaje siempre y cuando tuviese un bastón similar al que
se utilizó para ocultar el mensaje, es decir, del mismo diámetro.

Método Polybios.
A mediados del siglo II antes de Jesucristo, los griegos desarrollaron otro método conocido con
el nombre de quien se cree que lo creó, el historiador Polybios. El cifrado consistía en sustituir cada letra
del mensaje original por el par de letras o números que indicaban la fila y la columna en la cual se
encontraba. Veamos un ejemplo:

Si queremos enviar el mensaje: <<El cifrador de Polybios es el primer cifrador por sustitución de
caracteres>>, el mensaje cifrado resultante que enviaremos sería: <<AECA ACBDBADBAAADCDDB ADAE
CECDCAEDABBDCDDC AEDC AECA CEDBBDCBAEDB ACBDBADBAAADCDDB CECDDB
DCDEDCDDBDDDDEACBDCDCC ADAE ACAADBAAACDDAEDBAEDC>>

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
3

Método Cesar.
En el siglo I antes de Jesucristo, los romanos desarrollan el cifrador de Cesar, cuyo método
consistía en sustituir un carácter por otro, resultado de desplazar 3 posiciones hacia la derecha el
carácter original del alfabeto utilizado

Disco de Alberti.
Leon Battista Alberti en el siglo XV crea un disco cifrador mediante el cual es posible
transformar textos sin que exista una correspondencia única entre el alfabeto del mensaje y el alfabeto
usado para el cifrado. Con este sistema, cada letra del texto que se desea cifrar se corresponde con un
carácter distinto dependiendo de la clave secreta utilizada.

El disco está compuesto por 2 anillos concéntricos. El externo es fijo y contiene 24 casillas
abarcando los 20 caracteres en latín (sin incluir la H, J, K, Ñ, U, W, Y) y los números 1, 2, 3 y 4 para el
texto a cifrar. Y el interno es móvil, disponiendo de los 24 caracteres en latín además del signo & o “et”
para el texto cifrado. Las 20 letras del disco externo están en orden alfabético al contrario que las 24
minúsculas del disco interno.

Al ser 24 los caracteres representados en cada disco, es posible definir hasta 24 sustituciones
diferentes; es decir, dependiendo de la posición que tenga el disco interior la cantidad máxima de
alfabetos de cifrado es igual a 24. Luego, para cifrar un mensaje, una vez establecida la correspondencia
entre caracteres de ambos discos, se convierte cada letra del texto que se desea cifrar en la letra
correspondiente del disco interior.

GONZALO ROMERO GARCÍA 2º S.M.R.


4 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Cifrado de Vigenère.
Tiene su origen en el siglo XVI y es una generalización del cifrado anterior, ya que es una
disposición de letras que contiene en orden los 26 alfabetos de César.

Adicionalmente, suele introducirse una palabra clave constituida por una palabra o texto que se
repite a lo largo de todo el mensaje que se desea cifrar. Tomando la letra de la clave que se corresponde
con la letra a cifrar se busca su alfabeto de César equivalente que empieza con esa letra.

Para cifrar mediante este método, se procede de la siguiente manera:

1. Se busca una palabra clave sencilla que se pueda recordar fácilmente.


2. Se escribe la palabra debajo del mensaje que se quiere cifrar, repitiéndola tantas
veces como sea necesario.
3. Cada letra del texto a cifrar se codifica con el alfabeto de la tabla marcado por la
letra inferior (de la palabra clave) correspondiente.

En el ejemplo expuesto a continuación se puede apreciar el desarrollo a seguir para cifrar un


mensaje mediante el “Cifrado de Vigenère”:

Luego se escribe la palabra clave debajo del texto a cifrar, tal y como se aprecia en la siguiente
imagen:

Una vez hecho esto, cada una de las letras del mensaje se transforma en otra. Tomando la
primera, la O, se observa que la que le corresponde en la palabra clave es la M. Entonces se busca en el
Tablero de Vigenère el alfabeto que comienza con la letra M y la letra que le corresponde a la O, es decir,
la letra A.

En la imagen de la página siguiente se expone el proceso para convertir la primera letra del
mensaje a cifrar. Se procedería de igual manera para el resto de letras.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
5

El mensaje cifrado utilizando la palabra clave “malware” se corresponde con:

Cifrado de Beauforft.

En el siglo XVIII Francis Beaufort crea un cifrado modificando el anterior, con la diferencia que se
cifra de manera inversa.

Se busca dentro de la columna de cada letra del mensaje a cifrar la letra de la clave que le
corresponde y así, la letra del mensaje cifrado corresponde con la de la fila. En la imagen siguiente se
observa como se lleva a cabo el proceso (teniendo en cuenta que el texto a cifra y la palabra clave
coinciden con las del Cifrado de Vigenère)

GONZALO ROMERO GARCÍA 2º S.M.R.


6 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

El mensaje cifrado queda de la siguiente manera:

Cifrado Vernam.

En 1917 Gilbert Vernam inventa un cifrado basado en un sistema de sustitución a través de un


alfabeto binario (cinco dígitos binarios por cada carácter alfabético). Con este método se abordan
cuestiones probabilísticas mediante la generación de números aleatorios.

La mayor utilización del “Cifrado Vernam” fue durante la Segunda Guerra Mundial por espías de
varios países. Durante muchos años se sostuvo la teoría de que este método era totalmente seguro, pero
en 1949 se demuestra matemáticamente las técnicas necesarias para desencriptar el mensaje cifrado.

Los pasos a seguir para cifrar un mensaje son:

1. Transformamos el mensaje original a código binario.

2. Se crea la clave a través de una secuencia binaria aleatoria de la misma longitud


que el texto que se desea cifrar.

3. Se suma el mensaje original y la clave mediante una suma módulo 21 y la


operación resultante es el mensaje cifrado.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
7

Con lo que el texto original se convierte en:

La cifra ADFGVX.
En 1918 los alemanes introdujeron este sistema de cifrado antes de lanzar su ofensiva sobre la
ciudad de Paris.

Para este método de cifrado se dibuja una cuadrícula de 7x7 y se rellena la primera fila y la
primera columna con las letras A, D, F, G, V y X. Los 36 cuadrados interiores se completan de manera
aleatoria con las letras del alfabeto y los 10 dígitos.

El procedimiento de disposición de la cuadrícula forma parte de la clave, con lo que debe ser
conocida por el receptor para poder descifrar los mensajes.

GONZALO ROMERO GARCÍA 2º S.M.R.


8 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Una vez que se dispone del tablero la primera fase para cifrar el mensaje original es localizar
cada una de las letras que lo forman en dicho tablero y sustituirlas por el par de letras que corresponden
a su línea y a su columna, por ejemplo la “y” se convertiría en “AF”. Esta primera fase no supone ninguna
innovación con respecto a los métodos expuestos anteriormente.

En la segunda fase del proceso de cifrado se necesita una palabra clave compartida con el
receptor del mensaje, procediendo de la siguiente manera:

1. Las letras de la palabra clave se escriben en la fila de una nueva cuadrícula.


2. Debajo de éstas se escribe el texto cifrado de la fase 1.
3. Después, las columnas se cambian de posición colocándolas en el orden alfabético
de la palabra clave.
4. El texto cifrado se obtiene tomando este nuevo tablero por columnas y escribiendo
el mensaje en este orden.
5. El texto cifrado final se envía en código morse al receptor final.

El motivo de que se elijan las letras ADFGVX no es aleatorio, se basa en que estos caracteres son
muy diferentes entre si cuando se convierten en las líneas y los puntos del código morse.

En la siguiente imagen se muestra como se va a llevar a cabo el cifrado del texto teniendo en
cuenta que el texto a cifrar es “seguridad de la información” y la palabra clave utilizada es “COOKIE”

El texto cifrado antes y después de ser convertido en código morse quedaría:

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
9

La máquina Enigma.
En 1918 los inventores alemanes Arthur Scherbius y Richard Ritter querían sustituir los
inadecuados sistemas de criptografía empleados en la Primera Guerra Mundial recurriendo a la
tecnología en vez de utilizar lápiz y papel. De esta manera desarrollaron la máquina Enigma.

La máquina Enigma en sus inicios se componía de 3 partes fundamentales: un teclado en el cual


se escribía el texto que se quería cifrar, una unidad modificadora y un tablero en el que se mostraba el
mensaje codificado. En la imagen siguiente se visualiza el proceso de cifrado de la máquina Enigma con
un ejemplo en el que se han utilizado 7 letras.

Cada letra del texto a cifrar se pulsaba en el teclado y la unidad modificadora lo transformaba
en otra diferente antes de mostrarla en el tablero. Así, la letra E se intercambiaba por la letra B.

Arthur Scherbius la creó de manera que cada vez que se pulsara una letra, la unidad
modificadora girase un veintiseisavo de vuelta (para un alfabeto completo de 26 letras), con lo que la
codificación de la siguiente letra sería diferente a la de la primera.

El principal problema que representaba era que de esta forma se disponía de un cifrado de
Vigenère de 26 letras, el cual era fácil de descifrar. Para solventarlo, Scherbius colocó una segunda
unidad modificadora, de tal forma que cuando el primer disco daba una vuelta completa, el segundo
giraba una posición.

GONZALO ROMERO GARCÍA 2º S.M.R.


10 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Insertando este nuevo disco modificador se consigue pasar de una clave de 26 posiciones a una
de 26 x 26, es decir, de 676. Más tarde, aún se añadió otro disco más, que avanzaba una posición cuando
el segundo había dado una vuelta completa, consiguiendo así 26 x 26 x 26 = 17 576 posiciones.

La máquina Enigma disponía de otro complemento más, el Reflector, mediante el cual, los
receptores del mensaje podían descifrarlo. Cuando éste llegaba al destino, los receptores estaban
preparados con otra máquina Enigma con los rotores colocados en la misma posición que la máquina
que enviaba el mensaje cifrado y a través del Reflector, introduciendo el mensaje cifrado, se reproducía
el mensaje original.

Finalmente se le añadieron 2 características más:

 Los rotores eran intercambiables, de manera que como hay 6 modos de poner los 3 rotores,
el número de claves aumenta.
 Se introdujo un clavijero con el que se podía intercambiar pares de letras en grupos de 6.

De esta manera, la máquina Enigma ofrecía billones de posibilidades de creación de claves.

El ejército alemán aseguraba que era el sistema de cifrado más seguro del mundo para sus
comunicaciones y adquirieron una gran cantidad de máquinas Enigma durante la Segunda Guerra
Mundial. Los alemanes utilizaban una nueva clave cada día para que los enemigos dispusieran de sólo 24
horas para poder descifrarla con lo que supuso el método criptográfico más seguro hasta el momento.

Criptografía moderna.

Criptografía simétrica.
Los algoritmos de criptografía simétrica son aquellos que utilizan la misma clave para los 2
procesos: cifra y descifrar.

El emisor toma el documento y le aplica el algoritmo simétrico, usando la clave única. El


resultado es un documento cifrado que se envía. Cuando el receptor recibe este documento cifrado, le
aplica el mismo algoritmo con la misma clave única, pero ahora en función de descifrar.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
11

Con la criptografía simétrica nos encontramos con 2 problemas:

1. Circulación de las claves: como conseguir que el emisor y el receptor tengan la clave buena.
2. Gestión de las claves almacenadas: el número de claves aumenta exponencialmente
conforme se amplía el número de receptores (m)

𝑛
𝑚!
𝐶𝑚 =
𝑛! · (𝑚 − 𝑛)!

Tipos de algoritmo.
Los algoritmos son los métodos que se utilizan para transformar el texto claro en texto cifrado.

El principio de Kerkhoff establece que la fortaleza de un sistema de cifrado debe recaer en la


clave y no en el algoritmo.

Los algoritmos de cifrado se clasifican en 2 tipos:

• Algoritmos de bloque.
• Algoritmos de flujo.

Algoritmos de bloque.
Los algoritmos de cifrado de bloque tienen las siguientes características:

 Se cifra en secuencias de bits o bloques de tamaño fijo.


 El tamaño de bloque suele oscilar entre 64 y 256 bits.
 El cifrado no es individual e independiente sino encadenado, de tal manera que el cifrado de
cada bloque depende de todos los bloques que lo preceden.

Algoritmos de flujo.
Los algoritmos de cifrado de flujo tienen las siguientes características:

 El texto se cifra bit a bit.


 Se utiliza una secuencia cifrante (si) para determinar si cada bit del mensaje se cambia o se
deja sin cambiar.
 La secuencia cifrante se crea mediante un algoritmo determinista de generación de
números pseudoaleatorios a partir de una semilla, que constituye la clave secreta.

Comparación entre cifrado en bloque y cifrado en flujo.


 Ambos algoritmos son muy rápidos, pero los de flujo son más veloces que los de bloque.
 Los algoritmos de flujo pueden cifrar datos producidos a ráfagas sin esperar a que estén los
bloques completos.
 En los cifrados de flujo nunca se debe reutilizar la misma clave para cifrar 2 textos.
 Ambos presentan el problema de distribución de la clave.

GONZALO ROMERO GARCÍA 2º S.M.R.


12 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Algoritmos de cifrado simétrico.

➢ D.E.S. (Data Encryption Standard).

✓ Creado en los años 70 y usado hasta hace muy poco.


✓ Utiliza cifrado de bloques, con un tamaño de 64 bits.
✓ Utiliza claves de 64 bits, de los cuales sólo se utilizan 56 para cifrar. El resto lleva
información de paridad.
✓ Se utiliza en transacciones en cajeros automáticos.
✓ Una mejora es el Triple D.E.S., que consiste en ejecutar 3 veces el algoritmo D.E.S.

➢ A.E.S. (Avanced Encryption Standard).

✓ Uno de los algoritmos más populares y llamado a sustituir a D.E.S.


✓ Rápido y eficiente.
✓ Cifrado por bloques, con un tamaño de 128 bits.
✓ Utiliza claves de 128, 192 o 256 bits.
✓ Se utiliza en banca por Internet, comunicaciones inalámbricas, protección de datos
en discos duros, etc.

➢ R.C.5 (Rivest Cipher).

✓ Diseñado en 1994 por Ronald Rivest.


✓ Cifrado por bloques, con un tamaño variable de 32, 64 y 128 bits.
✓ Tamaño variable de clave, entre 0 y 2040 bits.
✓ Puede implementarse tanto por software como por hardware.
✓ Consume poca memoria.

➢ I.D.E.A. (International Data Encryption Algorithm).

✓ Algoritmo diseñado en 1991 para reemplazar a D.E.S.


✓ Cifrado por bloques con un tamaño de 64 bits.
✓ Utiliza claves de 128 bits.

Ataque de fuerza bruta.


También conocido como búsqueda exhaustiva de claves, consiste en probar una a una todas las
posibles combinaciones de la clave. Para una clave de n bit, el número total de claves posibles (o el
tamaño del espacio de claves) es igual a 2n.

Como media, habrá que probar la mitad de las claves hasta dar con la correcta. Hoy en día, para
que el ataque sea computacionalmente irrealizable se recomienda una longitud mínima de 128 bits de
clave.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
13

Criptografía asimétrica.

La criptografía asimétrica es aquella en la que el algoritmo de cifrado utiliza 2 claves


matemáticamente relacionadas de manera que lo que se cifra con una solo se puede descifrar con la
otra.

El receptor tiene un par de claves (llamadas llaves), una pública para comunicarla al emisor por
si quiere enviarle algo cifrado y otra privada y que no compartirá con nadie y que se usa para descifrar lo
que se cifra con la pública. Es matemáticamente imposible deducir la clave privada conociendo
únicamente la llave pública.

De esta manera, ya no hace falta buscar canales protegidos para enviar la clave, puesto que la
pública es accesible a todo el mundo y la privada nunca se comunica.

Características de la criptografía asimétrica.

1. La clave pública debe ser conocida por todo el mundo, pero la clave privada sólo debe conocerla
su propietario.
2. A partir del conocimiento de la clave pública o del texto cifrado no se puede obtener la clave
privada.
3. Lo que se cifra con una clave, sólo puede descifrarse con la otra.
4. Cualquiera puede cifrar un mensaje con la clave pública, pero sólo el propietario de la clave
privada puede descifrarlo (proporciona confidencialidad).
5. Si el propietario de la clave privada cifra con ella un mensaje, cualquiera puede descifrarlo con
la correspondiente clave pública (proporciona integridad, autenticación y no repudio).

Ventajas e inconvenientes.

Ventajas.
 La clave pública se distribuye libremente, por lo que ya no existe el problema del intercambio de
la clave que había en los métodos simétricos.
 Solo es necesario un par de claves por interlocutor, con independencia del número de estos, por
lo que el espacio de claves es más manejable cuando los interlocutores son muchos.

GONZALO ROMERO GARCÍA 2º S.M.R.


14 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Inconvenientes.
 Son poco eficientes, sobre todo porque las claves deben ser largas para asegurar la
independencia matemática entre ellas.
 Hay que proteger la clave privada. Las claves privadas se guardan todas juntas en un fichero
llamado keyring (llavero) y debe estar protegido mediante cifrado simétrico. Esto implica que
para poder usar las claves, hay que introducir una clave. Además, debemos hacer copia de
seguridad del llavero.
 Para poder usar el cifrado en otra máquina, debemos transportar el llavero.
 Los mensajes cifrados son de un tamaño mayor que los originales.

Algoritmos.
Los algoritmos de cifrado asimétrico más conocidos son los siguientes:

R.S.A. (River – Shamir – Adelman).


Fue creado en 1977 y es uno de los algoritmos más utilizados. Permite cifrar y firmar
digitalmente, aunque es mucho más lento que D.E.S. y otros sistemas de cifrado de clave simétrica. Está
basado en la factorización de números primos grandes.

D.S.A. (Digital Signature Algorithm).


Algoritmo de firma digital, estándar del Gobierno Federal de Estados Unidos. Para entornos
críticos, se ha demostrado que D.S.A. es más seguro que R.S.A. Permite firmar digitalmente, sin embargo
no permite cifrar la información. Una desventaja es que requiere más tiempo de cómputo que el
algoritmo R.S.A.

ElGamal.
Fue escrito por Taher ElGamal en 1984. Algoritmo de uso libre utilizado en software G.N.U.,
tales como Privacy Guard y versiones recientes de P.G.P. Puede ser utilizado para cifrar y firmar
digitalmente, con un tiempo de cómputo similar a R.S.A. Su nivel de seguridad está basado en la
dificultad de calcular un logaritmo concreto.

Tarjeta inteligente.
La solución más común a los problemas de proteger y transportar la clave privada es la tarjeta
inteligente. Es una tarjeta de plástico que contiene un chip electrónico. Hay de dos tipos:

✓ Tarjeta de memoria: es equivalente a una memoria flash y se limita a almacenar el llavero.


Cuando se introduce en el lector, el ordenador hace una copia temporal del llavero y
trabaja con él introduciendo la clave simétrica.
✓ Tarjeta procesadora: la tarjeta de memoria es peligrosa porque hemos expuesto nuestro
llavero. En cambio, en las tarjetas procesadoras las claves también están almacenadas,
pero nunca salen de la tarjeta. Cualquier cifrado que necesite nuestra clave privada es
realizado por el propio chip porque incluye una C.P.U., memoria R.A.M., etc. Por supuesto,
sigue siendo necesario introducir la clave simétrica que abre el llavero.

El ejemplo más sencillo es la tarjeta S.I.M. de los teléfonos móviles: para poder usarla
necesitamos introducir el número P.I.N. Aunque la usemos en otro teléfono, el P.I.N. es el mismo porque
está asociado a la tarjeta. Otro ejemplo de tarjeta inteligente es el D.N.I. electrónico, que se tratará más
adelante.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
15

Las tarjetas inteligentes también se pueden clasificar por su tipo de interfaz:

✓ Tarjeta de contacto: el lector necesita tocar los contactos metálicos del chip para
interactuar con él. Son las más utilizadas, sobre todo en entornos de alta seguridad, como
el sector bancario, Administración electrónica, etc.
✓ Tarjeta sin contacto: el lector utiliza tecnologías inalámbricas para interactuar con el chip.
Se utilizan en situaciones donde se necesitan transacciones rápidas, como el acceso al
transporte público.

Criptografía híbrida.
El cifrado asimétrico no se puede utilizar para cifrar todos los paquetes intercambiados en una
red local porque el bajo rendimiento del algoritmo ralentizaría el tráfico. En su lugar se adopta un
esquema híbrido:

 Criptografía asimétrica solo para el inicio de la sesión, cuando hay que generar un canal
seguro donde acordar la clave simétrica aleatoria que se utilizará en esa conversación.
 Criptografía simétrica durante la transmisión, utilizando la clave simétrica acordada
durante el inicio de sesión.

Generalmente se suele cambiar la clave simétrica cada cierto tiempo (minutos) para dificultar
más el espionaje de la conversación.

Una desventaja es el mayor tamaño de la información cifrada con criptografía asimétrica frente
al tamaño de la misma cuando se cifra con criptografía simétrica, de ahí que se reduzca la parte de
cifrado asimétrico al intercambio de la clave simétrica, principal debilidad de la cifra simétrica.

GONZALO ROMERO GARCÍA 2º S.M.R.


16 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Función resumen.
También se conocen por su nombre inglés, hash; son funciones que asocian a cada documento
un número y que tienen la propiedad de que, conocido el valor numérico, no se puede obtener el
documento. Éstas son conocidas por el nombre de funciones de un solo sentido.

El tamaño de un documento podría ser una función resumen; también podría serlo, por ejemplo,
la función que a cada documento le asocia su fecha de creación. Y aunque es verdad que estas dos
funciones son funciones resúmenes, serían muy poco útiles en el mundo de la criptografía, porque no
cumplen los dos requisitos fundamentales:

1. Debe ser muy difícil que dos documentos distintos tengan el mismo resumen.
2. Debe ser muy difícil, por no decir imposible, crear un documento a partir del valor de su
resumen.

Esto nos hace pensar que la manera de obtener el valor resumen de un documento empleará
algoritmos complejos matemáticamente, para que así pueda cumplir las dos especificaciones de la
función resumen. Algunos de estos algoritmos son el MD5 y el SHA.

Una función hash es un algoritmo que mapea un conjunto grande de datos de tamaño variable,
llamados claves, en pequeños conjuntos de datos de longitud fija.

Los algoritmos hash resultan de vital importancia en la firma digital de documentos. Garantizan
la integridad dado que con cambiar un solo bit del mensaje original, el resultado de aplicar la función
hash será diferente.

Propiedades.
Las propiedades más importantes de las funciones hash son:

1. Unidireccionalidad: conocido un resumen h(M), debe ser computacionalmente imposible


encontrar M a partir de dicho resumen.
2. Compresión: a partir de un mensaje de cualquier longitud, el resumen h(M) debe tener una
longitud fija.
3. Facilidad de cálculo: debe ser fácil calcular h(M) a partir de un mensaje M.
4. Difusión: el resumen h(M) debe ser una función compleja de todos los bits del mensaje M:
si se modifica un solo bit del mensaje M, h(M) debería cambiar aproximadamente la mitad
de sus bits.
5. Colisión simple: será computacionalmente imposible conocido M, encontrar otro M’ tal que
h(M) = h(M’). Esto se conoce como resistencia débil a las colisiones.
6. Colisión fuerte: será computacionalmente difícil encontrar un par (M, M’) de forma que
h(M) = h(M’). Esto se conoce como resistencia fuerte a las colisiones.

Aplicaciones prácticas.
Entre las aplicaciones de las funciones hash se destacan:

 Protección de contraseñas.
 Se utilizan como parte de algunos de los pasos de los algoritmos de cifrado simétrico y
asimétrico.
 Es una parte fundamental del mecanismo de firma digital.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
17

 Se emplea para garantizar la integridad de un flujo de datos, como por ejemplo el software
que nos descargamos (es muy usado en sitios de software libre, en los que al lado del
enlace al software suele encontrarse un enlace a la huella hash del archivo de forma que,
antes de instalar, podamos comprobar que el software se ha descargado íntegramente y
sin errores).

Algoritmos de hash.
Algunos de los algoritmos más usados son:

 MD5: resumen de 128 bits. Se recomienda no usar desde 2004.


 SHA – 1: similar al MD5 pero con un resumen de 160 bits. Se ha ampliado con el SHA – 256
y SHA – 512.
 RIPEMD: resumen de 160 bits.
 Tiger: resúmenes de hasta 192 bits. Optimizado para máquinas de 64 bits.

Firma digital.
La firma digital trata de resolver el problema de la autenticidad del mensaje, es decir, que el
mensaje recibido es exactamente igual al original (integridad) y que además proviene de quien dice venir
(autenticación de origen). A esto hay que añadir también la necesidad de garantizar el no repudio en
origen, es decir, que el emisor no pueda negar haber sido él quien generó el mensaje.

La firma digital nada tiene que ver con el cifrado del documento en sí. En ningún momento
hemos cifrado el archivo, y es que, si pensamos en el proceso de la firma manuscrita, a la que viene a
sustituir en el mundo de la informática, sucede que nunca cuando firmamos un papel lo estamos
cifrando. Esto no quiere decir que no se pueda cifrar y además firmar el documento.

El mecanismo de firma también se utiliza en las comunicaciones de datos para garantizar al


servidor que somos un cliente de confianza y así podemos evitar introducir usuario y contraseña.

Así pues, la firma digital es un conjunto de datos que se añaden a un mensaje original y que
permiten asegurar la identidad de la persona que ha firmado el mensaje, así como que el contenido de
este no ha sido modificado por terceras personas.

Tipos de firma.
Nos encontramos con 2 tipos de firmas:

Firma digital con árbitro.


La firma digital con árbitro se utiliza en sistemas de clave simétrica, en los que se usa la misma
clave para cifra y descifrar los mensajes. Este mecanismo hace que dos usuarios que no confían entre
ellos elijan a un tercer usuario, que cuenta con la confianza de ambos y le otorguen el papel de
intermediario en la transacción de datos.

El funcionamiento de este sistema se basa en que el árbitro conoce las claves de los otros dos
usuarios. Este árbitro recibe el mensaje del emisor y lo descifra utilizando la clave de éste. A
continuación, cifra el mensaje con la clave del receptor y se lo envía al mismo.

GONZALO ROMERO GARCÍA 2º S.M.R.


18 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Firma digital ordinaria.


Actualmente, todos los métodos de firma emplean lo que se denomina firma digital ordinaria,
que se basa en el uso de funciones hash y cifrado de clave pública. En este caso, no se utiliza un tercero
de confianza (algo que presentaba bastantes problemas en un entorno distribuido tan heterogéneo
como Internet), sino que el mecanismo garantiza la autenticidad en el envío desde el emisor al receptor
de forma directa.

La función hash garantiza la integridad, el par de claves asimétricas del emisor garantizan la
autenticación en origen y, si además se cifra usando la clave pública del receptor, también habría
confidencialidad.

El proceso de firmado digital de un documento comienza cuando el emisor aplica una función
hash al documento a firmar obteniendo un resumen del mensaje. A continuación, cifra el resultado
anterior con su clave privada, obteniendo la firma digital del documento. Finalmente, adjunta la firma
digital al documento a enviar. Si los datos se han cambiado, se obtendrá un resumen diferente.

Podemos apreciar el proceso de firma digital ordinaria y su comprobación en el gráfico que se


ve a continuación:

Para comprobar que la firma del mensaje es correcta, el destinatario recibe el documento junto
con el resumen encriptado con la clave privada del emisor. Le aplica la función hash a los datos del
documento, obteniendo un resumen del mensaje recibido y a continuación utiliza la clave pública del
emisor para descifrar la firma y de este modo, obtiene un resumen del mensaje original.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
19

Si los dos resúmenes coinciden, la firma es válida, con lo que se puede asegurar que el mensaje
procede de quien dice ser y además que no ha sido modificado. Si alguien ha modificado los datos o
falsificado la firma, ambos resúmenes no coincidirán, con lo que el destinatario podrá advertir la
manipulación.

Clases de firmas digitales.


La firma electrónica está regulada por la Ley 59/2003, de 19 de diciembre, que distingue a nivel
legal tres tipos de firma electrónica:

 Firma electrónica: es el conjunto de datos en forma electrónica que pueden ser utilizados
como medio de identificación del firmante. Por ejemplo, sería cifrar un mensaje con nuestra
clave privada.
 Firma electrónica avanzada: es la firma electrónica que permite identificar al firmante y
detectar cualquier cambio posterior de los datos firmados, que está vinculada al firmante
de manera única y a los datos a que se refiere y que ha sido creada por medios que el
firmante puede mantener bajo su exclusivo control.
 Firma electrónica reconocida: es una firma electrónica avanzada basada en un certificado
reconocido y generada mediante un dispositivo seguro de creación de firma. Por ejemplo,
es la firma mediante el D.N.I.e. La firma electrónica reconocida tendrá respecto de los datos
consignados en forma electrónica el mismo valor que la firma manuscrita en relación con
los consignados en papel.

En ocasiones, además, es importante que en la firma esté consignado también el momento


exacto en que se ha producido. Para ello, se hace uso de un mecanismo adicional denominado sellado de
tiempo (timestamping), en el que un tercero llamado autoridad de sellado de tiempo certifica mediante
su firma que la firma del usuario se ha producido en ese instante concreto de tiempo.

Proceso de firma.
La descripción del mecanismo de firma electrónica es el siguiente:

a) Se calcula un valor resumen del documento, utilizando algún algoritmo como el S.H.A.
b) Este valor – resumen se cifra utilizando la clave privada de nuestra pareja de claves. Esto
permite asegurar que la única persona que ha podido firmar el documento es el único que
conoce la clave privada.
c) El resultado de este valor es el que se conoce como firma digital del documento.

GONZALO ROMERO GARCÍA 2º S.M.R.


20 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Proceso de comprobación de firma.

El proceso de comprobación de una firma digital es el siguiente:

a) La firma se descifra utilizando la clave pública del firmante.


b) Se obtiene el valor resumen del documento, utilizando el mismo algoritmo que el utilizado
por el firmante.
c) Se comparan los dos valores resúmenes obtenidos en los dos procesos anteriores y si estos
coinciden entonces la firma es válida; si son distintos, la firma será nula.

Certificados digitales.
Para solucionar el problema de la autenticación en las transacciones por Internet, se buscó
algún sistema identificativo único de una entidad o persona. Ya existían los sistemas criptográficos de
clave asimétrica, mediante los cuales una persona disponía de 2 claves, una pública, al alcance de todos
y otra privada, solo conocida por el propietario.

El problema era asegurar que, efectivamente, la clave pública que se recibía era de la persona
correcta y no de un suplantador. La solución a este problema vino con la aparición de los certificados
digitales o certificados electrónicos, documentos electrónicos basados en la criptografía de clave pública
y en el sistema de firmas digitales.

La misión principal de un certificado digital es garantizar, con toda confianza, el vínculo


existente entre una persona, entidad o servidor web con una pareja de claves correspondientes a un
sistema criptográfico de clave pública.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
21

Concepto y características.
El certificado digital es un documento electrónico, identificado por un número de serie único y
con un periodo de validez incluido en el propio certificado, que contiene varios datos. Está emitido por
una entidad de confianza, denominada autoridad de certificación y vincula a su propietario con una
clave pública.

Un certificado emitido por una autoridad certificadora, además de estar firmado digitalmente
por ésta, debe contener por lo menos lo siguiente:

 Nombre, dirección y domicilio del suscriptor.


 Identificación del suscriptor nombrado en el certificado.
 El nombre, la dirección y el lugar donde realiza actividades la entidad de certificación.
 La clave pública del usuario.
 La metodología para verificar la firma digital del suscriptor impuesta en el mensaje de
datos.
 El número de serie del certificado.
 Fecha de emisión y expiración del certificado.

Como el certificado está firmado por la autoridad de certificación, se garantiza que el mensaje
no ha sido modificado (la firma garantiza la integridad del mensaje), que la clave pública pertenece al
usuario con el identificador indicado y que el certificado es accesible para todos (para poder leer el
certificado es necesaria la clave pública de la autoridad de certificación, que pone a disposición de todo
el mundo).

Para comprobar la autenticidad de un certificado, hay que tener instalado en el equipo el


certificado raíz de la autoridad certificadora, mientras que su vigencia puede comprobarse consultando
el propio certificado y acudiendo a la autoridad certificadora para cerciorarse de que el certificado no ha
sido revocado.

Existen varios tipos de certificados, pero los más usados se rigen por el estándar U.I.T.-T. X.509.
Su estructura es la siguiente:

 Certificado:
✓ Versión.
✓ Número de serie.
✓ ID. del algoritmo.
✓ Organismo emisor.
✓ Periodo de validez.
✓ Información de la clave pública del usuario.
✓ Otros campos opcionales (ID. del emisor, ID. del usuario, etc).
 Algoritmo usado para firmar el certificado.
 Firma digital del certificado.

Los certificados no se emiten con carácter indefinido, sino que, como se ha indicado más arriba,
deben expresar su fecha de expiración, pasada la cual dejarán de tener validez. El periodo de validez de
los certificados electrónicos será adecuado a las características y tecnología empleada para generar los
datos de creación de firma. En el caso de los certificados reconocidos, este periodo no podrá ser superior
a 4 años.

GONZALO ROMERO GARCÍA 2º S.M.R.


22 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

No obstante esto, un certificado puede ser renovado antes de que expire su periodo de validez.

También es posible revocar un certificado. Revocar un certificado significa privarle de validez


antes de que finalice el periodo incluido en el propio certificado. Un certificado puede ser revocado por
los siguientes motivos:

 Los datos que contiene han dejado de ser válidos.


 La clave privada ha sido comprometida o ha llegado a conocimiento de terceras personas.
 El certificado ha dejado de tener validez dentro del contexto para el que ha sido emitido.

Autoridades de certificación.

Una autoridad de certificación (A.C. ó C.A. por sus siglas en inglés, Certification Authority) es
una entidad a la que uno o más usuarios confían la creación, asignación y revocación de los certificados
digitales. Su misión es asegurar que un certificado es válido, está vigente y corresponde al usuario
poseedor del mismo. Por tanto, permiten garantizar la autenticidad y veracidad de los datos que
aparecen en los certificados digitales.

En resumen, las autoridades son responsables de la emisión y administración de los certificados


y del mantenimiento de las listas de revocación de certificados.

Algunas autoridades certificadoras son:

 A nivel español: CERES, desarrollada por la Fábrica Nacional de Moneda y Timbre (FNMT);
La Dirección General de la Policía (para la obtención del DNIe), la Autoridad de Certificación
de la Abogacía (ACA), etc.
 A nivel internacional: Verisign, GlobalSign, Thawte Certification, Comodo, etc.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
23

Solicitud de certificados.

Cuando alguien quiere solicitar un certificado debe, en primer lugar, enviar sus datos a la
autoridad de certificación, que verifica la identidad del solicitante antes de expedir el certificado. Al
expedirlo, la autoridad certificadora lo firma con su clave privada, garantizando su validez y lo envía la
solicitante.

GONZALO ROMERO GARCÍA 2º S.M.R.


24 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

Uso de los certificados.

Los certificados de usuario pueden ser utilizados tanto para firmar documentos como para
garantizar la confidencialidad en las comunicaciones. En este caso, los pasos del proceso son los que se
muestran en la siguiente imagen:

Todo este proceso, que puede parecer algo complicado, en realidad se realiza automáticamente
en nuestros navegadores una vez que tenemos instalado el certificado de la autoridad de certificación.
Cuando Blas se conecte con Ana, recibirá su certificado y, si tiene instalado el certificado de la autoridad
de certificación, el navegador se encargará de todo el proceso de validación de forma automática.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
25

Clases de certificado.
Según los destinatarios a los que se dirijan, según CERES, podemos encontrar:

✓ Certificados de persona física.


✓ Certificados de persona jurídica.
✓ Certificados de entidad sin personalidad jurídica.

Atendiendo a su función, podemos distinguir:

✓ Certificados de servidor seguro: identifican que una página web pertenece a una
determinada persona o empresa y que la información transmitida entre el servidor y
los usuarios de la web está cifrada y es segura.
✓ Certificados de firma de código: se usa para asegurar que el código que se ejecuta ha
sido firmado por su desarrollador y no es malicioso.

P.K.I. (Public Key Infraestructure): Infraestructura de clave pública.


Hasta ahora hemos aprendido a enviar documentos a un destinatario de manera que solo él
pueda aprovecharlos (cifrado) y garantizado que el documento es nuestro (firmado). Pero en todos los
casos hemos necesitado una comprobación extra sobre la clave pública: comparar la huella de esa clave
importada con la huella de la clave original, para poder estar seguros de que vamos a comunicarnos con
la persona correcta.

La mayoría de las comunicaciones seguras ocurren entre máquinas muy alejadas entre sí que
seguramente pertenecen a distintas empresas. Por ejemplo, las oficinas virtuales de los bancos o el
correo web (Gmail, Hotmail, etc). No podemos entrar en sus máquinas para ver las huellas ni negociar
con cada uno un canal seguro para poder consultarlas.

La solución a este problema es la implantación de una P.K.I. (Public Key Infrastructure,


infraestructura de clave pública). Ahora, en la comunicación segura entre cliente y servidor aparecen
nuevos interlocutores:

 La Autoridad de Certificación (C.A., Certificate Authority), cuya misión es emitir certificados.


 La Autoridad de Registro (R.A., Registration Authority), que es la responsable de asegurar
que el solicitante del certificado es quien dice ser.
 La Autoridad de Validación (V.A., Validation Authority), es la responsable de comprobar la
validez de los certificados digitales emitidos. En la práctica, suele coincidir con la C.A.
 Los repositorios. Son almacenes de certificados. Los principales son el repositorio de
certificados activos y el repositorio de listas de revocación de certificados.

El funcionamiento es el siguiente:

1. Durante el inicio de la sesión, el servidor envía su clave pública al cliente para que cifre el
diálogo que van a comenzar, pero el cliente antes de utilizarla, desconfía: necesita
comprobar que el servidor es quien dice ser.
2. El servidor lo ha supuesto y ha enviado, junto con su clave pública, la firma digital de esa
clave. Esa firma digital ha sido realizada por una C.A. oficial utilizando la clave privada de
dicha C.A.
3. El cliente puede verificar la firma recibida utilizando la clave pública de la C.A. (en este
punto puede necesitar conectarse con la V.A.). Si la firma es correcta, la clave pública de
servidor también lo es y podemos iniciar la sesión segura con toda confianza.

GONZALO ROMERO GARCÍA 2º S.M.R.


26 SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.

D.N.I. electrónico.
El D.N.I. electrónico (D.N.I.e.) es un documento físico que incluye un chip en el que están
almacenados los certificados digitales de su titular. Este documento se expide desde 2006 y está pensado
para que sus portadores puedan utilizarlo en determinados servicios electrónicos.

El microchip contiene la siguiente información:

 Datos de filiación del titular.


 Imagen digitalizada, tanto de la fotografía como de la firma manuscrita.
 Certificado de autenticación: permite a su titular probar su identidad frente a terceros.
 Certificado de firma electrónica reconocida: permite a su titular firmar documentos y
realizar trámites electrónicamente con validez. Sirve también para comprobar la integridad
de los documentos firmados por el titular.
 Par de claves, pública y privada, de cada certificado electrónico.

En cuanto a las medidas de seguridad que incluye el documento, podemos distinguir entre las
físicas y las electrónicas:

 Medidas físicas: relieves, tintas solo visibles con luz ultravioleta, etc.
 Medidas digitales: encriptación de los datos del chip, acceso a las funcionalidades a través
de la clave privada de acceso (denominada PIN), etc.

Para la utilización del D.N.I. electrónico es necesario disponer de diversos elementos, de


hardware y software, que permiten utilizar los certificados incluidos en el chip:

 Elementos de hardware: es necesario disponer de un ordenador y de un lector de tarjetas


inteligentes compatible con la norma I.S.O. 7816. Este lector puede ser externo al equipo o
estar integrado en el mismo a través de una tarjeta o incluso a través de un lector de
tarjetas incluido en el teclado.
 Elementos de software: el ordenador debe contar con 3 elementos básicos: sistema
operativo instalado, navegador web y un programa controlador. Para poder interactuar
correctamente con las tarjetas criptográficas en general y, en particular con el D.N.I.
electrónico, el equipo ha de tener instalado un software denominado módulos
criptográficos.

GONZALO ROMERO GARCÍA 2º S.M.R.


SEGURIDAD INFORMÁTICA TEMA 2: CRIPTOGRAFÍA.
27

S.S.L. y T.L.S.
S.S.L. y T.L.S. son protocolos que proporcionan comunicaciones seguras en una red insegura,
como Internet.

 S.S.L. (Secure Sockets Layer): o protocolo de capa de conexión segura.


 T.L.S. (Transport Layer Security): o seguridad de la capa de transporte.

En ambos casos existe un sistema híbrido que usa un canal seguro con cifrado asimétrico para
intercambiar las claves simétricas dinámicas negociadas entre ambas partes. El cifrado de esto
protocolos se produce sobre la capa de transporte.

Una de las principales aplicaciones prácticas de estos protocolos es formar HTTPS junto a HTTP,
garantizando el envío y recepción de información de forma segura mediante un navegador web. Todo
esto permite confidencialidad en las comunicaciones, manteniendo la integridad de los datos al tiempo
que se garantiza la identidad de las partes.

Toda comunicación mediante S.S.L. o T.L.S. consta de 2 fases:

1. Fase de saludo: o “Handshaking”, correspondiente con los sistemas de criptografía de


clave asimétrica, en la que se negocia entre las partes el algoritmo que se usará en la
comunicación. También se produce el intercambio de claves públicas, autenticándose
cada una de las partes mediante certificados digitales. Los dos interlocutores eligen
una clave de sesión.
2. Fase de comunicación: correspondiente con los sistemas de criptografía de clave
simétrica, en la que se produce el cifrado del tráfico basado en el cifrado simétrico a
partir de la clave de sesión y se van generando nuevas claves de forma dinámica.

En cuanto a las características de cada uno de estos protocolos, S.S.L. es un protocolo abierto
que puede ser empleado por cualquier fabricante de aplicaciones para Internet para asegurar la
privacidad en el envío de información a través de la web. Se suele utilizar en servidores web y permite
que la información transmitida entre un navegador web (cliente) y un servidor web esté cifrada. El
servidor debe utilizar un par de claves, así como un certificado. S.S.L. presenta las versiones 1 y 2 (en las
que se proporciona autenticación de servidor) y 3 (en que se añade autenticación del cliente por medio
de certificados digitales).

En cuanto T.L.S., es un protocolo basado en S.S.L. mejorado. Existen diferentes versiones que
van corrigiendo vulnerabilidades detectadas en las anteriores. La última versión es T.L.S. es la 1.2, si bien
ya hay un borrador para la versión 1.3

GONZALO ROMERO GARCÍA 2º S.M.R.

También podría gustarte