Las firmas digitales se basan en una arquitectura criptográfica de clave pública para verificar la autenticidad de un documento y la identificación del remitente. Las dos formas estándar de obtener firmas digitales son los algoritmos RSA (Rivest–Shamir–Adleman) y DSA (Digital Signature), pero ambos difieren en la realización de funciones de cifrado y descifrado.
El artículo proporciona una descripción general de uno de los algoritmos DSA estándar de la industria, su proceso de trabajo con una breve descripción general. de generación y verificación de claves y firmas, pasos involucrados en el proceso general, sus ventajas y desventajas y sus solicitud.
Introducción a los Algoritmos de Firma Digital
DSA (Digital Signature Algorithm) incorpora las propiedades algebraicas de problemas de logaritmos discretos y exponenciaciones modulares para generar una firma electrónica para diversas aplicaciones. Fue propuesto en 1991 y adoptado como estándar federal de procesamiento de información por el NIST (Instituto Nacional de Estándares y Tecnología) en 1994.
La mayoría de los algoritmos de creación de firmas digitales siguen la técnica típica de firmar el resumen del mensaje (hash del mensaje real) con la clave privada de origen para crear la huella digital.
Sin embargo, la situación es diferente en DSA ya que genera dos firmas al incorporar dos funciones de verificación y firma únicas y complejas. Por lo tanto, el algoritmo DSA no es un simple uso de claves privadas y públicas al inicio y al final de la comunicación.
Importancia del algoritmo de firma digital
Debido a las amenazas cibernéticas cada vez mayores, cada vez que un usuario envía datos a través de Internet, es necesario identificar y verificar la autenticidad del propietario. Debemos asegurarnos de que el propietario del documento sea creíble y que nadie haya realizado ningún cambio durante la transmisión.
Las firmas digitales son las firmas electrónicas que ayudan al receptor a autenticar el origen del mensaje. Puede crear estas firmas electrónicas a través de varios algoritmos, y DSA es uno de ellos. En DSA, el remitente crea una firma digital para incluirla con el mensaje de modo que cualquiera pueda autenticarlo en el extremo receptor.
Los beneficios que ofrece DSA son:
- No repudio: después de la verificación de la firma, el remitente no puede afirmar que no envió los datos.
- Integridad: la modificación de datos durante la transmisión impide la verificación final o el descifrado del mensaje.
- Autenticación de mensajes: La combinación correcta de claves privadas/públicas ayuda a verificar el origen del remitente.
¿Cómo autentica el algoritmo al remitente?
El algoritmo DSA funciona en el mecanismo de cálculo sistemático que calcula un valor hash y una firma digital que constituyen dos números de 160 bits del resumen del mensaje y la clave privada. La aleatoriedad hace que la firma no sea determinista. Utiliza una clave pública para la autenticación de firmas, que es mucho más compleja que RSA.
El ciclo DSA sigue estos tres pasos principales para completar el proceso:
- Generación de claves: El proceso se basa en el concepto de exponenciación modular para obtener claves privadas (x) y públicas (y) que satisfagan las condiciones matemáticas de 0 < x < q y y = gx mod p. Donde q es un divisor primo, p es un número primo y g satisface estas condiciones g**q mod p = 1 y g = h**((p–1)/q) mod p. Creando así paquetes de claves públicas y privadas {p, q, g, x} y {p, q, g, y}.
- Generación de firma: Un algoritmo hash genera un resumen de mensaje, que se pasa como entrada a una función de firma para crear dos variables salidas, r y s, empaquetadas como firma {r, s} de modo que el mensaje y estas variables se envían como un paquete al receptor.
- Verificación de firma: El proceso utiliza la función hash para generar el resumen e incorpora la variable s con otros parámetros del paso de generación de claves para producir el componente de verificación v. La función de verificación compara la variable calculada v con el parámetro r del paquete {M, s, r}.
Para resumir el proceso anterior de manera no matemática:
- Las claves se crean con la ayuda del algoritmo de generación de claves para firmar el documento.
- Luego use un algoritmo de firma digital para generar la firma.
- Utilizar una función hash para crear un resumen de mensajey combínelo con DSA para generar la firma digital.
- Envía la firma con los datos para que el receptor la autentique.
- El receptor autentica la firma utilizando un algoritmo de verificación. Es la función hash utilizada anteriormente para crear el resumen del mensaje.
Ventajas de usar el algoritmo de firma digital
- Cálculo rápido de firmas
- Requiere menos espacio de almacenamiento para todo el proceso
- Disponible gratuitamente (sin patente) para uso global gratuito.
- Longitud de firma pequeña
- Observación en tiempo real
- no invasivo
- DSA se acepta globalmente para el cumplimiento legal.
- Tiempo eficiente (bajo consumo de tiempo en comparación con los procesos de firma física, etc.)
Contras de usar el algoritmo de firma digital
- El proceso no incluye capacidades de intercambio de claves.
- los criptografía subyacente debe ser nuevo para garantizar su resistencia.
- La estandarización de los proveedores de software y hardware informático en RSA puede causar problemas debido al segundo estándar de autenticación de DSA.
- Las operaciones complejas de resto requieren mucho tiempo para el cálculo y, por lo tanto, para la verificación de la firma.
- Solo garantiza la autenticación, no la confidencialidad, ya que el algoritmo no cifra los datos.
- Los algoritmos DSA calculan el hash SHA1 para generar el resumen del mensaje. Por lo tanto, refleja todas las fallas de la función hash SHA1 en el algoritmo.
DSA VS RSA
El algoritmo de firma digital es un algoritmo de cifrado de clave asimétrica adoptado por las agencias de EE. UU. para comunicaciones secretas y no secretas. Mientras que RSA es un algoritmo de criptografía de clave pública que también utiliza aritmética modular, su fuerza se basa en el problema de la factorización de números primos para asegurar la comunicación y las firmas digitales. Por lo tanto, a diferencia de los algoritmos de cifrado habituales como RSA, DSA es un estándar solo para firmas digitales.
Aunque ambos incorporan diferentes algoritmos matemáticos, la fuerza criptográfica es equivalente. La principal diferencia entre los dos algoritmos se reduce a la velocidad, el rendimiento y la compatibilidad con el protocolo SSH.
- A diferencia de DSA, RSA es lento en el descifrado, la generación de claves y la verificación, pero rápido en el cifrado y la firma. Sin embargo, la autenticación requiere ambos, y las discrepancias de velocidad son insignificantes en las aplicaciones del mundo real.
- Otra diferencia radica en el soporte para el protocolo de red Secure Shell. RSA admite el SSH original y su segunda versión segura SSH2, mientras que DSA solo funciona con SSH2.
Autenticar la fuente de datos con DSA
Las firmas digitales son una necesidad en el mundo interconectado de hoy para crear un entorno seguro y protegido. Son una excelente manera de autenticar cualquier registro a través de Internet. El artículo presenta los algoritmos de firma digital con una breve descripción de su proceso de trabajo, ventajas, desventajas, limitaciones de seguridad y comparación con RSA.
A menudo se habla de estos dos protocolos de encriptación juntos, pero ¿qué son y cómo funcionan?
Leer siguiente
- Seguridad
- Firmas digitales
Rumaisa es escritora independiente en MUO. Ha desempeñado muchas funciones, desde matemática hasta entusiasta de la seguridad de la información, y ahora trabaja como analista de SOC. Sus intereses incluyen leer y escribir sobre nuevas tecnologías, distribuciones de Linux y todo lo relacionado con la seguridad de la información.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse