Cómo las firmas digitales verifican la autenticidad del documento

5

Una firma digital no es sólo un elegante sello en un PDF. Es el mecanismo técnico el que prueba dos cosas: un documento electrónico vino de una persona específica y ese documento no ha sido tocado desde que lo firmó. Sin esto, enviar una hoja de cálculo o un contrato por correo electrónico es básicamente enviar una postal. Cualquiera puede leerlo. Cualquiera puede garabatear en los márgenes.

La autenticidad en el mundo digital depende del cifrado. No se trata sólo de ocultar datos. Se trata de codificarlo para que sólo el destinatario previsto pueda decodificarlo. La autenticación verifica la fuente. Estos dos procesos se unen para crear una firma digital que resiste el escrutinio.

La jerarquía de verificación

Las computadoras utilizan varios métodos para demostrar la identidad. No todos ellos son creados iguales.

Las contraseñas son el guardián más común. Escribes un nombre de usuario y una frase secreta. El sistema compara este par con una base de datos segura. ¿Fósforo? Estás dentro. ¿No coincide? Estás bloqueado. Es sencillo. Es omnipresente. Pero no prueba que un documento no haya sido alterado después de salir de la habitación.

Las sumas de verificación son más antiguas, más simples y, a menudo, se malinterpretan. Verifican la integridad de los datos. Si cambia un solo byte, la suma de comprobación se rompe. Así es como funciona en la práctica. Imagine un paquete de datos con ocho bytes. El sistema los suma. Si el total es 255 o menos, la suma de verificación es ese número. Si excede 255, la suma de verificación es el resto de dividir por 256.

Veamos los cálculos de un paquete específico:

  • Byte 1: 212
  • Byte 2: 232
  • Byte 3: 54
  • Byte 4: 135
  • Byte 5: 244
  • Byte 6: 15
  • Byte 7: 179
  • Byte 8: 80

La suma es 1151. Divide 1151 entre 256. Obtienes 4,496. Redondea hacia abajo a 4. Multiplica 4 por 256. Eso equivale a 1024. Resta 1024 de 1151. El resultado es una suma de comprobación de 127.

Si alguien altera incluso un byte de esos datos, la nueva suma no arrojará 127 cuando se ejecute el mismo cálculo de módulo 256. La integridad está rota.

CRC: mejores para detectar errores

Las comprobaciones de redundancia cíclica (CRC) toman el concepto de suma de comprobación y lo hacen más sólido. En lugar de una simple suma, los CRC utilizan división polinomial. El valor resultante suele tener una longitud de 16 o 32 bits. Este método es muy preciso para detectar errores de transmisión. Si un solo bit se voltea durante el tránsito, el CRC no coincidirá.

Sin embargo, los CRC y las sumas de verificación tienen un defecto fatal. No ofrecen ninguna protección contra ataques intencionales. Un hacker puede cambiar los datos y recalcular la suma de comprobación o CRC. Las matemáticas aún serán correctas. El destinatario no tiene forma de saber que los datos fueron alterados maliciosamente. Necesitas cifrado para detener eso.

Cifrado de clave privada: el secreto compartido

El cifrado de clave privada, también conocido como cifrado simétrico, se basa en un secreto compartido. Tanto el remitente como el receptor deben poseer la misma clave. Piense en ello como una rueda de cifrado. Usted acepta de antemano que “A” se convierta en “C” y “B” se convierta en “D”. Cambias cada letra en dos puntos.

Envías el mensaje codificado. Tu amigo, que conoce la regla “Cambio de 2”, la decodifica. Cualquiera que intercepte el mensaje sólo verá galimatías. La seguridad reside en el secreto de la clave. ¿La desventaja? Tienes que confiar en que la clave permanece secreta en ambos extremos. Si una computadora está comprometida, la otra queda expuesta.

Cifrado de clave pública: la solución asimétrica

Aquí es donde las firmas digitales se vuelven serias. El cifrado de clave pública utiliza un par de claves. Una clave privada, mantenida en secreto por el propietario. Y una clave pública, compartida con cualquiera que quiera comunicarse de forma segura.

Para enviar un mensaje seguro, utiliza la clave pública del destinatario. Lo descifran con su clave privada. Pero para una firma digital, el proceso cambia. Firmas el documento con tu clave privada. Otros lo verifican usando su clave pública.

La columna vertebral de la seguridad aquí es el valor hash. Un algoritmo hash toma los datos originales y produce una cadena de caracteres de tamaño fijo. Este hash es exclusivo de esos datos específicos. Es casi imposible realizar ingeniería inversa a la entrada original del hash.

Considere un ejemplo burdo de un algoritmo hash:

Número de entrada 10667

Algoritmo de hash = Entrada # x 143

El hash resultante está vinculado a esa entrada específica. Cambie la entrada y el hash cambiará por completo. Esta propiedad, combinada con el cifrado asimétrico, garantiza que una firma digital no sea sólo una afirmación de autoría, sino una prueba matemática de la misma.

Calcula cómo resultó 1525381 al multiplicar 10667 por 143. Buena suerte. Es una calle de sentido único. Las matemáticas hacen que sea fácil avanzar pero casi imposible retroceder sin el factor original. Si sabías que 143 era el multiplicador, encontrar 10667 es trivial. El cifrado de clave pública no es tan sencillo, pero la lógica se mantiene. Se basa en algoritmos complejos y valores hash masivos. Estamos hablando de números de 40 o 128 bits. Un número de 128 bits ofrece 2^128 combinaciones. Son más combinaciones que moléculas de agua en 2,7 millones de piscinas olímpicas. Incluso una sola gota contiene miles de millones de esas moléculas. El ataque de fuerza bruta es físicamente imposible con la tecnología actual.

El papel de los certificados digitales en la infraestructura de clave pública

Escalar el cifrado de clave pública para un servidor web ocupado requiere algo más que matemáticas. Necesitas confianza. Introduce el certificado digital. Es un documento de identidad digital. Afirma que un servidor web es verificado por un tercero independiente. Esa parte es la Autoridad certificadora (CA). La CA actúa como intermediario de confianza. Confirma la identidad de las computadoras involucradas. Luego distribuye sus claves públicas entre sí. Sin esto, simplemente estás intercambiando llaves con extraños. O peor aún, alguien interceptando el intercambio. El certificado cierra esa brecha. Ancla las matemáticas abstractas a una entidad del mundo real.

Estándar de firma digital (DSS) y DSA

El Estándar de Firma Digital (DSS) es la respuesta del gobierno para verificar documentos electrónicos. Utiliza el Algoritmo de firma digital (DSA). DSS es el formato aprobado. El gobierno de Estados Unidos lo respalda para uso oficial. El DSA se basa en un par de claves. Uno es privado. Sólo el firmante lo sabe. El otro es público. Tiene cuatro partes diferenciadas. Puede encontrar el desglose técnico en otro lugar. La clave privada crea la firma. La clave pública lo verifica. Esto garantiza el no repudio. El remitente no puede afirmar que no envió el mensaje más tarde. También demuestra integridad. Si los datos cambian en tránsito, la firma falla.

Los pagos electrónicos se están adentrando cada vez más en el ámbito digital. Las firmas digitales son la columna vertebral de esa seguridad. Protegen las transacciones del mismo modo que protegen los documentos.

Aquí hay algunos recursos para inmersiones más profundas:

  • Tecnología biónica de Buffalo n.º 5: cifrado
  • Iniciativa de firma digital
  • Enlaces sobre Derecho, Criptografía y Comunicaciones Electrónicas

Preguntas frecuentes

¿Qué es una firma digital y cómo funciona?
Es un esquema matemático. Demuestra la autenticidad de un mensaje digital. Una firma válida le indica al destinatario que el mensaje proviene de un remitente conocido. También garantiza que el remitente no puede negar el envío. Finalmente, garantiza que el mensaje no haya sido alterado durante la transmisión.

¿Qué quieres decir con firma digital?
Misma definición, redacción ligeramente diferente. Es un esquema matemático para demostrar autenticidad. Si se cumplen los requisitos previos, el destinatario tiene buenas razones para creer que el mensaje se originó en el remitente indicado. También saben que permaneció sin cambios durante el tránsito.