RSA y firmas digitales

Firma Digital:
Como su nombre lo indica son la nueva alternativa para firmar un documento de manera digital. Garantiza que el mensaje sea enviado por el usuario previsto sin manipulación por parte de terceros (atacante). En palabras simples, las firmas digitales se utilizan para verificar la autenticidad del mensaje enviado electrónicamente.

RSA:
Es el algoritmo criptográfico asimétrico más popular. Se utiliza principalmente para cifrar mensajes, pero también se puede utilizar para realizar una firma digital en un mensaje.

Comprendamos cómo se puede usar RSA para realizar firmas digitales paso a paso.
Suponga que hay un emisor (A) y un receptor (B). A quiere enviar un mensaje (M) a B junto con la firma digital (DS) calculada sobre el mensaje.

Paso 1: el
remitente A utiliza el algoritmo de resumen de mensajes SHA-1 para calcular el resumen del mensaje (MD1) sobre el mensaje original M.

Cálculo del resumen del mensaje

Paso 2:
A ahora encripta el resumen del mensaje con su clave privada. La salida de este proceso se llama Firma Digital (DS) de A.

Creación de firma digital

Paso 3:
ahora el remitente A envía la firma digital (DS) junto con el mensaje original (M) a B.

Transmisión de mensaje original y firma digital simultáneamente

Paso 4:
cuando B recibe el mensaje original (M) y la firma digital (DS) de A, primero usa el mismo algoritmo de resumen de mensaje que utilizó A y calcula su propio resumen de mensaje (MD2) para M.

El receptor calcula su propio resumen de mensajes

Paso 5:
Ahora B usa la clave pública de A para descifrar la firma digital porque fue encriptada por la clave privada de A. El resultado de este proceso es el Message Digest original (MD1) que fue calculado por A.

El receptor recupera el resumen del mensaje del remitente

Paso 6:
Si MD1 == MD2, los siguientes hechos se establecen de la siguiente manera.

  • B acepta el mensaje original M como el mensaje correcto e inalterado de A.
  • También asegura que el mensaje vino de A y no de alguien que se hace pasar por A.

Verificación de firma digital

El resumen del mensaje (MD1) se encriptó usando la clave privada de A para producir una firma digital. Por lo tanto, la firma digital se puede descifrar utilizando la clave pública de A (debido a la forma asimétrica de RSA). Si el receptor B es capaz de descifrar la firma digital utilizando la clave pública de A, significa que el mensaje lo recibe del propio A y ahora A no puede negar que no ha enviado el mensaje.

También prueba que el mensaje original no se alteró porque cuando el receptor B trató de encontrar su propio resumen de mensajes MD2, coincidió con el MD1 de A.

Supongamos que un usuario malintencionado intenta acceder al mensaje original y realizar alguna alteración. Ahora él / ella calculará un resumen de mensaje nuevo sobre el mensaje alterado. Puede que le preocupe la integridad y la confidencialidad de los datos, pero aquí está el truco. El atacante tendrá que firmar el mensaje alterado usando la clave privada de A para hacerse pasar por A para el receptor B. Sin embargo, un atacante no puede firmar el mensaje con la clave privada de A porque solo A lo conoce. Por lo tanto, la firma RSA es bastante sólida, segura y confiable.

Ataques a la firma RSA:
hay algunos ataques que pueden intentar los atacantes a las firmas digitales RSA. Algunos de ellos se dan a continuación de la siguiente manera.

  1. Ataque de mensaje
    elegido: en el ataque de mensaje elegido, el atacante crea dos mensajes diferentes, M1 y M2, y de alguna manera logra persuadir al usuario genuino para que firme ambos mensajes utilizando el esquema de firma digital RSA. Consideremos el mensaje M1 y el mensaje M2. entonces, el atacante calcula un nuevo mensaje M = M1 x M2 y luego afirma que el usuario genuino ha firmado el mensaje M.
  2. Ataque de solo clave:
    en este ataque, se supone que el atacante tiene acceso a la clave pública del usuario genuino e intenta obtener un mensaje y una firma digital. Solo el atacante intenta crear otro mensaje MM de modo que la misma firma S parezca válida en MM. Sin embargo, no es un ataque fácil de lanzar ya que la complejidad matemática más allá de esto es bastante alta.
  3. Ataque de mensaje conocido:
    en un ataque de mensaje conocido, el atacante intenta utilizar una función de RSA mediante la cual se pueden combinar dos mensajes diferentes con dos firmas diferentes para que sus firmas también se combinen. Para tomar un ejemplo, digamos que tenemos dos mensajes diferentes M1 y M2 con firmas digitales respectivas como S1 y S2. Entonces si M = (M1 x M2) mod n, matemáticamente S = (S1 ¥ S2) mod n. Por lo tanto, el atacante puede calcular M = (M1 x M2) mod n y luego S = (S1 x S2) mod n para falsificar una firma.

Publicación traducida automáticamente

Artículo escrito por tanujajoshi24 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *