Está en la página 1de 17

SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

CRIPTOGRAFÍA Y GESTIÓN DE CERTIFICADOS

SEMANA 5

Criptografía Simétrica, Asimétrica y funciones


de autenticación de mensajes

Reservados todos los derechos Instituto Superior de Artes y Ciencias de la Comunicación S.A. No se permite copiar, reproducir, reeditar, descargar,
publicar, emitir, difundir, de forma total o parcial la presente obra, ni su incorporación a un sistema informático, ni su transmisión en cualquier
forma o por cualquier medio (electrónico, mecánico, fotocopia, grabación u otros) sin autorización previa y por escrito de Instituto Superior de
Artes y Ciencias de la Comunicación S.A. La infracción de dichos derechos puede constituir un delito contra la propiedad intelectual.
IACC-2020
1
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

APRENDIZAJES ESPERADOS
El estudiante será capaz de:

• Distinguir las funciones de autenticación de


mensajes a partir de sus aplicaciones
técnicas.

IACC-2020
2
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

APRENDIZAJES ESPERADOS ................................................................................................................. 2


INTRODUCCIÓN ................................................................................................................................... 4
1. FUNCIONES DE RESUMEN Y AUTENTICACIÓN ............................................................................ 5
1.1. CÓDIGOS DE AUTENTICACIÓN DE MENSAJES ................................................................. 6
1.2. FUNCIONES HASH ............................................................................................................ 8
1.3. SELLADO DEL TIEMPO ................................................................................................... 12
1.4. FIRMA DIGITAL RSA ....................................................................................................... 12
COMENTARIO FINAL.......................................................................................................................... 15

IACC-2020
3
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

INTRODUCCIÓN
Esta semana se estudiarán las funciones de No obstante, también se revisará la firma
resumen y autenticación. digital, que busca verificar siempre la
integridad de la información, por lo que el
Estas funciones corresponden al análisis de la tema principal de esta semana está basado
integridad de un archivo, realizado mediante en este pilar de la ciberseguridad.
el cálculo de hash.

Es decir, ahora abordaremos otro pilar de la


ciberseguridad la “CONFIDENCIALIDAD” de la
información.

IACC-2020
4
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

1. FUNCIONES DE RESUMEN Y AUTENTICACIÓN


Las funciones de resumen y autenticación apuntan más a la integridad de la información, que a la
confidencialidad de la misma.

Ello se debe, a que no solamente se debe considerar que la información sea confidencial, sino que
se debe comprobar que esta no ha sido adulterada, ya sea por el proceso mismo de la encriptación
o por un tercero, por un descuido o de manera consciente.

Estas funciones de resumen son públicamente conocidas porque transforman una información o
mensaje de cualquier tamaño en una información de un tamaño fijado de antemano.

Podemos encontrar funciones que son fácilmente computables, por ejemplo, aquellas en que el
tiempo necesario para determinar el resumen de un documento es muy pequeño; y por otro lado,
existen aquellas funciones que se denominan de dependencia de bits, lo que significa que el
resumen del documento dependerá de todos los bits del mensaje, de tal forma que, si por
cualquier motivo se modifica aunque sea un bit del documento, el resumen va a cambiar y el
cálculo de estas demora más tiempo que el anterior.

Esto se utiliza especialmente en los siguientes dos casos:

1. Integridad de los datos: en el sentido de garantizar la integridad de los ficheros que contiene
un dispositivo, la integridad de un archivo, imagen de disco, que funciona como una la huella
digital, es decir, se compara contra muestra, por lo que, si tenemos una muestra inicial,
podemos comparar si al final de un ejercicio esta ha sido modificada o se encuentra íntegra.

2. Detección de software dañino: en general, los antivirus detectan malware calculando el


resumen de ficheros que son susceptibles de infectar el dispositivo, comparando dicho cálculo
con los que existen en su base de datos. En caso de realizar match, se informa al usuario de
una posible infección.

Dentro de las propiedades de seguridad que deben tener son las siguientes:

1. Resistencia a la preimagen: una vez conocido el resumen de un mensaje, debe ser complejo
obtener un mensaje cuyo resumen sea el conocido, dicho de otra forma, toda función debe
poner dificultades para la realización de ingeniería inversa.

2. Resistencia a la segunda preimagen: dado un mensaje, debe ser difícil de encontrar otro
mensaje cuyo resumen coincida con el anterior.

3. Resistencia a colisiones: debe ser difícil encontrar una colisión, esto es, determinar que dos
mensajes distintos, cualquiera que sean los resúmenes, coincidan.

IACC-2020
5
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

Aunque la propiedad 2 y 3 parecen iguales, en la primera de ellas se supone conocido uno de los
mensajes; mientras que, en la segunda, no se imponen condiciones, esto es porque la resistencia a
la coalición es una condición más débil que la resistencia a la segunda preimagen.

Paradoja del cumpleaños

¿Cuántas personas debe haber en una sala para que la probabilidad


de que dos de ellas celebren su cumpleaños sea mayor que el 50%?

Basta con que en la sala haya 23 personas para que se cumpla dicha
probabilidad.

1.1. CÓDIGOS DE AUTENTICACIÓN DE MENSAJES

Este es un mecanismo o servicio utilizado para verificar la integridad de un mensaje, y que busca
asegurar que los datos recibidos son exactamente como se envían. En muchos casos, es requerido
un mecanismo que asegure la autenticación de un mensaje, donde la supuesta identidad de quien
lo envía es válida o existe. Cuando una función hash es usada para proveer la autenticación de un
mensaje, el valor de la función hash, en general, se le conoce como message digest.

IACC-2020
6
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

Figura 1. Ejemplos simplificados de usos de la función Hash para la autenticación de mensajes.

Fuente: Cryptography and Network Security (2011, fig. 11.2) p. 330.

En la imagen se describe lo siguiente:

a) El mensaje, más el hash concatenado, se encintan usando encriptación asimétrica, esto se


debe a que solo A y B comparten la clave secreta, por lo que el mensaje que proviene de A no
ha sido alterado. En este caso, el código hash proporciona la estructura o redundancia
requerida para lograr la autenticación, por lo que no solamente se logra la integridad, sino
también la confidencialidad, toda vez que el mensaje también encripta el código hash.

IACC-2020
7
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

b) En este caso, solamente el código hash está encriptado y se utilizó encriptación asimétrica,
esto reduce la carga del procedimiento que estas aplicaciones usan, ya que el mensaje no
requiere confidencialidad.

c) Este caso nos muestra que se puede utilizar una función hash, pero sin cifrar, y aun así
autenticar el mensaje. En esta técnica se asume que ambas partes de la comunicación (A y B)
tienen en común el valor secreto de S, lo que se logra a raíz de que A calcula el valor hash
sobre la concatenación de M y S y agrega el valor resultante a M, eso es porque B posee S, lo
que hace que se pueda recalcular el valor verificador de hash, porque el valor secreto (S) no se
envía, produciendo que un atacante no lo puede modificar, porque en teoría no puede
generar un mensaje falso.

d) Se puede generar mayor confidencialidad al mensaje encriptando todo el mensaje más el


código hash.

Hay que tener presente, en lo que se refiere a la encriptación del mensaje, que los recursos
computacionales requeridos aumentan a mayor confidencialidad, es decir, que mientras más
encriptación, más medios computacionales se van a necesitar.

No obstante, hay que tener presente que en la actualidad existen métodos de encriptación que no
son de altos costos y se pueden optimizar los sistemas para evitar el alto consumo de medios
computacionales.

1.2. FUNCIONES HASH

Revisaremos los hash SHA-1 y HMAC, aunque existen otras funciones hash que se recomiendan al
revisar, como lo son el SHA-256, MD5, entre otras.

• SHA-1

Primero, vamos a realizar una revisión teórica de este hash, pero la parte práctica será como
material de apoyo, el cual se recomienda revisar para un mayor entendimiento.

SHA-1 combina las funciones de Merkle-Damgard con la función de compresión de Davies-Meyer,


basada especialmente en un cifrado de bloque especialmente diseñado para el efecto llamado
HASH-CALL. En otras palabras, SHA-1 funciona iterando las operaciones sobre mensajes bloques
de 512 bits.

Los bloques a los cuales antes hicimos referencia están en razón a 5, los cuales llamaremos A, B, C,
D y E, que se inician con algún valor constante. El mensaje el cual pasara por el hash es modificado
dentro de los caracteres y es convertido a un formato binario.

IACC-2020
8
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

Cada segmento de 512 bits se divide en 16 palabras de 32 bits, luego pasa a un proceso que creará
80 palabras de las 16 en el bloque, este es un salto que será ejecutado hasta que se entregue la
condición true. Primero, las 16 palabras del bloque de 512 bits se colocan en las primeras 16
palabras de la matriz de 80 palabras, las otras palabras son generadas por las palabras anteriores
al anillo XOR y desplazándose 1 bit a la izquierda, lo que se repite 80 veces a través del siguiente
proceso:

1. Calcular la función SHA y la constante K, las dos basadas en la ronda actual.

2. Los conjuntos E = D, palabra D = C, palabras C = B, después de la rotación de B 30 bits; palabra


B = 1, palabra A = palabra A, rodada 5 bits a la izquierda + la función SHA + E + K + palabra [i],
donde i es el round actual.

3. Concatenamos el hash final como A, B, C, D, y E. Estas son las palabras finales (cada 32 bits).

Figura 2. Algoritmo SHA-1

Fuente: Modern Cryptography (2015, fig. 9-2).

IACC-2020
9
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

• HMAC

HMAC, deriva de la función MAC, que trata la función hash como una black box, lo que tiene dos
beneficios: el primero de ellos, es que la existencia de la implementación hash puede ser usada
como un módulo en la implementación de HMAC. El segundo, si se decide reemplazar una función
hash dada en la implementación HMAC, todos lo que se requiere es remover la función existente
en el módulo e implementar el nuevo módulo, esto podría realizarse en el caso de querer una
función hash más rápida, pero más importante que eso es que, si la seguridad de la función hash
se ve comprometida, la seguridad de HMAC podría retenerse simplemente reemplazando la
función hash integrada por una más segura.

La estructura de HMAC es la siguiente:

IACC-2020
10
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

Figura 3. Estructura HMAC.

Fuente: Cryptography and Network Security (2011, fig. 12.5) p. 337.

Donde:

H = es la función hash integrada (SHA-1, MD5, SHA-256, etc.).

IV = es el valor inicial de la función hash.

M = es el mensaje ingresado a HMAC (incluyendo el relleno especificado en la incrustación de la


función hash).

Yi = i bloque th de M, 0 ≤ i ≤ (L - 1).

L = número de bloques en M.

b = número de bits por bloque.

n = longitud del código hash producido por la función hash integrada.

K = llave secreta; la longitud recomendada es ≥n. Si la longitud de la llave es mayor que b, la


entrada de la llave a la función de hash para producir una llave de n-bit.

K+ = K rellenado con oreos a la izquierda con la finalidad de que el resultado sea la longitud de b
bits.

ipad = 00110110 (36 en hexadecimal) repetido b/8 veces.

opad = 01011100 (5C en hexadecimal) repetido b/8 veces.

Lo que se puede expresar de la siguiente forma:

HMAC(K, M) = H[(K+ opad) || H[(K+ ipad) || M]]

Con todo eso podemos describir el algoritmo de la siguiente forma:

1. Adjuntar ceros al extremo izquierdo de K para crear el string K+ de b-bit.

2. XOR (bit a bit OR-exclusivo) K+ con ipad para producir el bloque de b-bits Si.

3. Adjuntar M a Si.

4. Aplicar H al stream generado en el paso 3.

IACC-2020
11
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

5. XOR K+ con opad para producir el bloque b-bits S0.

6. Adjuntar el resultado del hash del paso 4 a S0.

7. Aplicar H al stream generado en el paso 6 y a la salida del resultado.

1.3. SELLADO DEL TIEMPO

Más conocido como Time-Stamp Protocol (TSP) es el protocolo que se encarga de verificar la
existencia, en un tiempo determinado, de un documento y su integridad en el tiempo.

• Se recomienda revisar la siguiente lectura denominada


Time-Stamp Protocol (TSP).

https://bit.ly/2JDoix8

1.4. FIRMA DIGITAL RSA

La firma es una de las más importantes funciones del hash, ya que es la que permite determinar si
una persona es la que dice ser en el documento, por ello es relevante al momento de establecer el
autor de un documento.

Es tan así que, por ejemplo, con un buen uso de esta clave dentro de una empresa, se pueden
evitar muchas estafas, como la estafa del CEO, ya que la observación de la firma digital de un
documento podría permitir validar la información y así anteponerse a los riesgos de las estafas vía
email.

En este sentido, y debido a la importancia la parte teórica, esta será explicada en este documento;
y la parte práctica, en un documento dentro de los recursos adicionales disponibles en plataforma.

IACC-2020
12
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

Figura 4. Modelo general del proceso de firma digital.

Fuente: Cryptography and Network Security (2011, fig. 13.1) p. 397.

Este es el modelo general que trata el funcionamiento la firma digital, es en este sentido que
señalaremos en pasos simples cómo se hace :

1. El mensaje a enviar es M, al cual se le aplica la función hash, con lo cual se reduce a h(M).

2. h(M) también se somete a un proceso de codificación en el cual se aplica una potencia d


equivalente a la llave privada del emisor quedando de la siguiente forma:

s = h(M)d mod(n)

IACC-2020
13
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

3. Con ello se envía el mensaje firmado s.

4. Luego se recibe el mensaje firmado (s), y con la llave pública del emisor, se procede a la
verificación de la firma:

h’ = se mod(n)

5. Ahora se aplica la función hash al mensaje (M) y si h(M) = h’ se acepta la firma.

Uno de los aspectos importantes de la firma es que la asignación de llaves se haga de manera
aleatoria con RSA, así se evitan bastantes ataques.

IACC-2020
14
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

COMENTARIO FINAL
Hash, si bien es cierto, es más conocido en el ámbito forense, no es menos cierto que su
importancia es alta al momento de establecer la integridad de los datos.

La gestión de la criptografía en una empresa, donde se aplique de buena forma la firma


electrónica, aunque sea básica, puede ayudar al momento de autenticar al emisor de mensajes, y
así evitar cuestionamientos de integridad de la información.

Por lo tanto, la importancia para el pilar integridad de la información, es del todo relevante en esta
materia y se les recomienda seguir leyendo al respecto.

IACC-2020
15
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

REFERENCIAS
Stallings, W. (2011). Cryptography and Network Security, Principles and Practice. 5° edición.

Recuperado de: http://www.uoitc.edu.iq/images/documents/informatics-

institute/Competitive_exam/Cryptography_and_Network_Security.pdf

Easttom, C. (2015). Modern Cryptography: Applied Mathematics for Encryption and Information

Security. McGraw-Hill Education.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2020). Criptografía simétrica, asimétrica y funciones de autenticación de

mensajes. Criptografía y Gestión de Certificados. Semana 5.

IACC-2020
16
SEMANA 5 – CRITOGRAFÍA Y GESTIÓN DE CERTIFICADOS

IACC-2020
17

También podría gustarte