Protocolo de Autenticación de un Mensaje

 

Protocolo de autenticación criptográfica 

En el primer artículo de esta serie, estudiamos que la infraestructura de software y hardware como un producto del desarrollo humano, tiende a presentar vulnerabilidades aprovechadas por hackers para sacar un provecho determinado.

La criptografía, te permite resolver estos problemas que hemos llamado vulnerabilidades genéricas. Ya estudiamos como la criptografía nos permite defender la integridad y confidencialidad de los datos de un sistema informático.

En este articulo abordaremos la autenticidad de las comunicaciones en una red informática local o externa. Autenticidad se refiere a garantizar que el mensaje lo envía la persona correcta. 

 

Función hash-clave

En el articulo dos, estudiamos como una función hash nos permite verificar la integridad de un archivo. Ahora la función hash la utilizamos junto a una clave secreta para autenticar un archivo que enviado de un punto o nodo A de la red a otro punto B.

Diversas funciones criptográficas que nos permiten resolver el asunto de la autenticación, aquí hare uso la HMAC-SHA256.

 

Función HMAC-SHA256

HMAC significa “Código de autenticación de mensaje con hash” existen muchas funciónes hash, en este ejemplo utilizare hash256.

Ejemplo:

Mensaje o texto plano:

Nueva York, es la ciudad más poblada de los Estados Unidos. Con una población en 2020 de 8.804.190

Clave secreta: wxdr20

Utilizaremos el sitio online generador de funciones HMAC-sha256:

El resultado de la Hashed Output es:

597621fd8b22ac4148fbfb8cb120159ffbc996681b87303674e1ebd42d257298

Si Roberto desea enviar el mensaje a Alicia, enviara el mensaje y el Hashed Output.

 

Protocolo completo de autenticación

Paso 1: Roberto (Bob) y Alice deben compartir la clave secreta: wxdr20 (nadie más debe conocerla).

Paso 2: Bob crea el mensaje a enviar:

Nueva York, es la ciudad más poblada de los Estados Unidos. Con una población en 2020 de 8.804.190

Paso 3: Bob calcula el hash (Hashed Output), que llamaremos hash Bob:

597621fd8b22ac4148fbfb8cb120159ffbc996681b87303674e1ebd42d257298

Paso 4: Bob envía el mensaje y el hash Bob a Alice, puede hacerlo por correo electrónico, mensaje telefónico, etc.

Paso 5: Alice recibe el mensaje y el hash Bob, va al sitio online generador de funciones hash, pone el mensaje y la clave:

Y obtiene el hash Alice:

597621fd8b22ac4148fbfb8cb120159ffbc996681b87303674e1ebd42d257298

Paso 6: Alice compara ambos hashes:

597621fd8b22ac4148fbfb8cb120159ffbc996681b87303674e1ebd42d257298

597621fd8b22ac4148fbfb8cb120159ffbc996681b87303674e1ebd42d257298

Como ambos son iguales Alice concluye que el mensaje lo envio Bob.

 

Conclusiones:

  1. Este es ejemplo simplificado de como autenticar el envio de información (archivos) entre nodos o puntos de un sistema de información.

  2. El lector utiliza a diario este algoritmo con el correo electrónico como Gmail u Outlook, cuando abre su correo en un dispositivo que no utiliza a diario, debe colocar su correo personal como jrmartin50@gmail.com y además una clave o password como xrtvb453, que usted previamente registro en su cuenta de la aplicación de correo, así la aplicación autentica que usted es el dueño de esa cuenta.

 
Carlos Sampson