Digest y sha-1

Iniciado por ace99, 3 Mayo 2020, 00:10 AM

0 Miembros y 1 Visitante están viendo este tema.

ace99

Buenas, tengo un problema con algo de terminología. A ver si pueden ayudarme:

Contexto: trabajo con comandos openssl en linux.

Me dan varios archivos cifrados con una clave simétrica y me dan la clave simétrica cifrada con mi clave pública. Descifro la clave simétrica con mi clave privada y procedo a descifrar los archivos. De momento todo bien.

El problema viene porque me dan un archivo llamado Nombre.sha1.signed fichero que contiene un Digest SHA1 firmado por el servidor (cifrado con la clave privada del servidor).

Y con ese último archivo me piden comprobar autenticación e integridad del mensaje.

Lo hago con este comando openssl dgst -sha1 -verify server-pub.pem -signature Nombrearchivo.sha1.signed Nombrearchivo.data.X

Siendo server-pub.pem la clave pública del servidor

No entiendo que es un Digest SHA1 firmado por el servidor. He estado buscando y leyendo la teoría y creo que un digest es un resumen del mensaje (es decir un mensaje que han pasado por una función hash criptográfica) y que luego se cifra con la clave privada del servidor.

Como nos dan 3 mensajes y solo uno va a cumplir la verificación, he pensado que ese archivo podría ser un resumen del mensaje correcto (con la función hash criptográfica) y luego cifrado con la clave pública para verificar autenticación e integridad.

Si no me he explicado bien decirlo.

Muchas gracias de antemano.      Un saludo.

kub0x

Voy a plantear una serie de escenarios:

1. El servidor coge tu pública, cifra la simétrica y te envia el mensaje cifrado con la simétrica, junto con la simétrica cifrada. Tu recuperas la simétrica y descifras. No tienes más que confidencialidad. Carece de integridad y autenticación.

2. El servidor con tu pública cifra la simétrica, cifra el mensaje con la simétrica y el hash del mensaje con tu pública también. Tu recuperas simétrica con la privada, descifras y verificas el hash descifrando con tu privada. Tienes integridad y confidencialidad, pero no autenticación. Cualquiera pudo enviarte el mensaje.

3. El servidor con tu pública cifra la simétrica, cifra el mensaje con la simétrica y computa una FIRMA DIGITAL con su privada. Recuperas simétrica con tu privada, descifras y con la púiblica de la otra parte, verificas si el hash que sale del descifrado es igual al hash que sale al aplicar la pública sobre la firma digital. Si se cumple, sabes que esa firma digital fue creada por la otra parte sobre ese mensaje. Tienes auth, confidencialidad e integridad, pues sabes que te lo envió la otra parte (auth), que el mensaje no fue modificado porque los hash coinciden y la clave simétrica la obtienes por tu privada (de aquí sacas integridad y confidencialidad mientras el cifrado simétrico nos de esta propiedad).

El nivel de seguridad es 1 < 2  < 3 como bien se puede observar. Son conceptos muy liosos pero creo que al final todo tiene sentido :D

Saludos.

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate


EdePC

Los vídeos de Intypedia suelen ser bastante claros sobre este tema, con cajitas, candaditos y llavecitas XD (en particular a partir de la mitad de la Lección 3):

Lección 2. Sistemas de cifra con clave secreta
Fausto Montoya (CSIC)
[youtube=640,360]https://youtu.be/46Pwz2V-t8Q[/youtube]

Lección 3. Sistemas de cifra con clave pública
Gonzalo Álvarez (CSIC)
[youtube=640,360]https://youtu.be/On1clzor4x4[/youtube]

Leccion 14. Funciones Unidireccionales y algoritmos de hash
Hugo Krawczyk (IBM)
[youtube=640,360]https://youtu.be/7TA0jkxREr8[/youtube]

Proyecto Intypedia: http://www.criptored.upm.es/intypedia/

ace99

Bueno, lo primero muchas gracias por las respuestas.

La teoría la he entendido, entiendo como funciona el cifrado de clave simétrica, el de clave antisimétrica e incluso el híbrido. Mi pregunta ahora viene a ser:

¿Un Digest SHA-1 es un resumen de algo (un mensaje, una clave,etc) conseguido a través de pasar la información a través de una función hash criptográfica, en este caso sha-1?

kub0x

Son cifrados asimétricos. Antisimétrica es una propiedad de relación que guardan ciertos elementos en teoría de conjuntos, entre otras.

Cita de: ace99 en  3 Mayo 2020, 17:20 PM
¿Un Digest SHA-1 es un resumen de algo (un mensaje, una clave,etc) conseguido a través de pasar la información a través de una función hash criptográfica, en este caso sha-1?

Sí, el digest es un formalismo para hacer referencia al hash o resumen resultante de una función hash. Normalmente en literatura se menciona como message digest.
Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate