LAS FIRMAS DIGITALES
La autenticidad de
algunos documentos legales y en general, cualquier tipo de documento se
determina mediante el uso de la firma manuscrita ya que ni siquiera sirve una
fotocopia de la misma. Para que los documentos enviados de forma digital tengan
la misma validez que un documento firmado a mano se crea la firma
digital. Es un método criptográfico que asocia una identidad ya sea de una
persona en particular o de un equipo a un mensaje enviado a través de
transmisión por la red. Su uso puede ser diferente dependiendo de lo que
queramos hacer con la firma ya que tendremos posibilidad de validar que el
documento es emitido por nosotros, expresar conformidad con algún documento de
tipo legal como podría ser la firma de un contrato laboral e incluso asegurar
que no podrá modificarse el contenido del mensaje. La firma digital nos
permitirá tener más seguridad a la hora de emitir un documento de manera
íntegra a través de su sitio web. La firma digital es el resultado de aplicar a
un documento, en línea, un procedimiento matemático que requiere datos que
exclusivamente conoce la persona que firma, encontrándose ésta bajo su absoluto
control.
Con la firma digital
debe cumplirse que el receptor debe ser capaz de verificar la identidad del
sujeto transmisor. El transmisor no puede rechazar el contenido del mensaje que
ha expedido. El receptor no deber ser capaz de poder construir el mensaje el
mismo. Estas normas podríamos verlas por ejemplo en el caso de un banco donde
se debe cumplir la primera regla donde un usuario accede a un cajero
automático, donde el banco tiene que asegurarse que es su cliente.
La otra medida se
aplicaría para proteger al banco del fraude donde un cliente si pide una
operación a realizar luego no puede negarla; adicionalmente se aplica para
proteger al cliente en el caso de que el banco trate de falsificar un mensaje
firmado por el cliente donde por ejemplo solicite una operación de sustracción
de un importe y el banco diga otra.
La firma
digital debe ser susceptible a verificación por terceras partes, de
manera tal que dicha verificación permita, simultáneamente, identificar al
firmante y detectar cualquier cambio al documento digital posterior a su firma.
Podemos mencionar también que la firma digital tendrá idéntica validez y
eficacia a la firma manuscrita, siempre que esté debidamente autenticada por
claves u otros procedimientos seguros de acuerdo a la tecnología informática.
Es necesaria una autoridad certificadora que regule y valide la firma digital,
en los sitios de comercio electrónico es fundamental contar con un certificado
SSL para poder brindar seguridad a sus clientes.
Antes de profundizar
en la firma digital y comprender cada uno de los elementos que la hacen
posible, debemos distinguir dos términos que solemos utilizar indistintamente:
firma electrónica y firma digital. Aunque pueda parecer que representan el
mismo concepto, no es así.
Firmas digitales vs firmas electrónicas
Firma digital: es un conjunto de métodos
criptográficos y técnicos. Es un concepto fundamentalmente técnico.
•
Firma electrónica: es un término mucho más amplio y hace referencia a
cuestiones legales, organizativas, técnicas, etc.
Ahora
conociendo ambos términos, se puede concluir que:
•
La firma digital es uno de los elementos que componen la firma electrónica.
Firma digital es un concepto que está «dentro» del concepto de firma
electrónica.
Terminología
Terminología
asociada al concepto:
- Un algoritmo
de generación de firma digital, también llamado simplemente algoritmo
de generación de firma, es un método para producir firmas digitales.
- Un algoritmo
de verificación de firma digital, también llamado simplemente algoritmo
de verificación, es un método que permite la verificación de que una
firma digital es auténtica.
- Un esquema
o mecanismo de firma digital consiste en un algoritmo de
generación de firma y su algoritmo de verificación asociado.
- Un proceso
o procedimiento de firma digital es un algoritmo de generación de
firma digital, junto con un método para formatear los datos en mensajes
que puedan ser firmados.
Propiedades necesarias
Se
han establecido una serie de propiedades necesarias que tiene que cumplir un
esquema de firma para que pueda ser utilizado. La validez de una firma se
ampara en la imposibilidad de falsificar cualquier tipo de firma radica en el
secreto del firmante. En el caso de las firmas escritas el secreto está
constituido por características de tipo grafológico inherentes al
signatario y por ello difíciles de falsificar. Por su parte, en el caso de las
firmas digitales, el secreto del firmante es el conocimiento exclusivo de
una clave (secreta) utilizada para generar la firma. Para garantizar
la seguridad de las firmas digitales es necesario a su vez que estas sean:
- Únicas:
Las firmas deben poder ser generadas solamente por el firmante y por lo
tanto infalsificable. Por tanto la firma debe depender del firmante
- Infalsificables:
Para falsificar una firma digital el atacante tiene que resolver problemas
matemáticos de una complejidad muy elevada, es decir, las firmas han de
ser computacionalmente seguras. Por tanto la firma debe depender del
mensaje en sí.
- Verificables:
Las firmas deben ser fácilmente verificables por los receptores de las
mismas y, si ello es necesario, también por los jueces o autoridades
competentes.
- Innegables:
El firmante no debe ser capaz de negar su propia firma.
- Viables:
Las firmas han de ser fáciles de generar por parte del firmante.
Firma segura hacia adelante
La
idea básica de estos esquemas de firma es extender los algoritmos de firma digital
con un algoritmo de actualización de clave que haga que la clave secreta pueda
ser cambiada frecuentemente mientras la clave pública permanece siendo la
misma. El esquema resultante es seguro hacia adelante si
el conocimiento de la clave secreta en un momento del tiempo no ayuda a
falsificar firmas relativas a un periodo anterior de tiempo.
Clasificación
En
función del modo en el que se construye la firma
Podemos
construir esquemas de firma digital basándonos en distintos tipos de técnicas:
- Basándonos
en la supuesta seguridad de dispositivos físicos
- Basándonos
en criptografía de clave simétrica.
- Basándonos
en criptografía de clave asimétrica.
Basándonos
en la supuesta seguridad de dispositivos físicos
Un
dispositivo, como una tarjeta inteligente,
se dice que es resistente
a modificaciones (en inglés tamper
resistant) si se cree que es difícil acceder a la clave secreta almacenada
en él. Por tanto podemos usar una tarjeta inteligente con un algoritmo criptográfico para construir
una firma digital de la siguiente forma:
El
signatario tienen una tarjeta inteligente que puede sólo cifrar con una clave
secreta , y cada
verificador tiene una tarjeta inteligente que puede sólo descifrar con una
clave secreta de forma
que lo cifrado por sólo
puede ser verificado por . y pueden
ser iguales (clave simétrica) o distintas (claves asimétricas). En este tipo de
mecanismo hay que abordar el problema de instalar y almacenar de forma segura
las claves en las tarjetas inteligentes. Falsificar una firma es difícil si el
dispositivo es resistente a modificaciones.
Basándonos
en criptografía de clave simétrica
Se
han propuesto distintos protocolos de firma basados en la criptografía de clave
secreta. Sin embargo, a partir de la aparición de
la criptografía
asimétrica están en recesión debido a su superioridad
tanto conceptual como operacional en la mayoría de los contextos de uso.
Los
esquemas de firma digital de clave simétrica son los siguientes:
Estos
esquemas están basados en el uso una función de un
solo sentido (en inglés one-way
function). La gran desventaja de este tipo de esquemas es el tamaño de las
claves y de las firmas y del hecho de que sólo pueden ser usadas un número fijo
de veces (frecuentemente una sola vez). Merkle7 ha propuesto optimizaciones
para este tipo de algoritmos. Bleichenbacher y Maurer han proporcionado una
generalización de estos métodos.8 Estos esquemas han servido
como primitivas usadas en construcciones más complejas.
Basándonos
en criptografía de clave asimétrica
Se
han propuesto distintos protocolos de firma basados en la criptografía de clave
asimétrica. Los más importantes son los siguientes:
- Firma RSA
- Firma DSA
- Firma
ESING
- Firma de clave asimétrica de Rabin
- Firma
ElGamal
- Firma con curvas elípticas
- Firma de Guillou-Quisquater
- Firma de Ohta-Okamoto
- Firma
de Schnorr
- Firma
de Okamoto
- Firma de Feige-Fiat-Shamir
El
uso de criptografía asimétrica para firma digital se basa en el concepto
de funciones de un solo sentido con trampa (en
inglés trapdoor one-way functions). Son funciones fáciles de
computar en una sola dirección y difíciles de computar en otra dirección,
excepto para alguien que conozca la información 'trampa'. La información
puede entonces ser firmada digitalmente si el signatario transforma la
información con su clave secreta (la información trampa). El
verificador puede verificar la firma digital aplicando la transformación en
el sentido fácil usando la clave pública.
En
función de si usa información aleatoria
Algunos
esquemas de firma son deterministas y otros usan bits aleatorios.
Las firmas que usan bits aleatorios probablemente revelan menos información sobre
la clave secreta, sin embargo, por otra parte, obligan al signatario a tener
una fuente segura de bits aleatorios. Observar que si la
fuente de bits aleatorios es revelada, no sólo la firma sino también la clave
secreta puede que sea comprometida. Firma Bloqueada
En
función de si necesita el mensaje original para la verificación de la firma
Podemos
clasificar los esquemas de firma digital en función de si es necesario tener el
mensaje original para verificar la firma, dando lugar a los siguientes tipos:
- Esquemas
de firma digital con recuperación de mensaje
- Esquemas
de firma digital con apéndice
Esquemas
de firma digital con recuperación de mensaje
Para
verificar la firma este tipo de esquemas no requieren el mensaje original ya
que el mensaje original se puede recuperar a partir de la propia firma digital.
Esquemas
de firma digital con apéndice
Este
tipo de esquemas requieren el mensaje original para poder verificar la firma.
Esto es debido a que a lo que se aplica el algoritmo de firma no es realmente
el mensaje original sino el resultado de aplicar una función hash con ciertas
propiedades que las hacen resistentes frente a ataques para hallar su inversa,
es decir, no es posible, a partir del valor resumen, calcular los datos
originales. Son los llamadas códigos
de detección de modificaciones.
Algunas
de las motivaciones para hacer esto son:
- Reducir el
tamaño de la firma reduciendo el tamaño de la información a firmar.
- Aumentar
la velocidad de firma
- Si
los mensajes a firmar pueden tener cierta estructura algebraica y el
algoritmo de firma se comporta de forma que el sistema resultante puede
ser vulnerable a criptoanálisis con ataques de texto escogido, podemos
usar funciones hash para destruir esta estructura algebraica.
- Cuando
se usa para firmar algoritmos de firma
por bloques donde los mensajes son más
largos que el bloque, no es seguro firmar mensajes bloque a bloque ya que
un enemigo podría borrar bloques del mensaje firmado o insertar bloques de
su elección en el mensaje antes de que sea firmado. Al usar una función
hash hacemos una transformación que hace a la firma dependiente de todas
las partes del mensaje.
- Hace
que el protocolo de firma no sea útil para que un atacante obtenga el
texto en claro correspondiente de un mensaje que ha sido transmitido de
forma cifrada.
En
función de la intervención o no de una entidad árbitro
Existen
dos métodos para establecer protocolos de firma digital: firma digital con árbitro y
firma digital sin árbitro.
Firma
digital con árbitro
En
este tipo de firma se aprovecha el hecho de que dos usuarios (X e Y) con
desconfianza mútua admiten tener confianza en un tercero llamado árbitro (A).
El árbitro posee una clave secreta con cada uno de los usuarios. Estas claves
determinan las funciones de cifrado y descifrado que se establecen entre el
árbitro y cada uno de los usuarios: .
Toda la transmisión de la información entre los usuarios debe pasar
forzosamente por el árbitro.
Si
por ejemplo X quiere mandar un mensaje M firmado a Y lo cifra usando y
lo manda al árbitro. El árbiro lo recibe lo descifra (usando) comprobando
que se trata de un mensaje válido de X, junta la identidad de X y el mensaje M
a la firma y
cifra el resultado con y lo
manda a Y. El usuario Y descifra (usando) obteniendo
el mensaje M, la identidad del origen y algo que sabe que es la firma del
mensaje por el usuario. El valor de la firma lo guarda junto con M para que A
pueda dirimir ante una posible disputa.
Firma
digital sin árbitro
En
este esquema el usuario firmante envía directamente la firma al destinatario,
éste debe poder comprobar la firma sin necesitar una tercera entidad como el
árbitro.
Factores implicados en la verificación de la firma
Normalmente
la verificación de la firma no se ciñe exclusivamente a verificar con el
algoritmo de verificación, que la firma digital se corresponde con el mensaje que
se quería firmar. Además hay que evaluar una serie de factores que dan la
validez real de la firma:
- Hay
que verificar que la clave usada por el signatario es válida. Normalmente
las claves para firmar suelen tener mecanismos que sólo las hacen válidas durante
cierto periodo de tiempo. Este tiempo se limita mediante uno o varios
mecanismos, por ejemplo: fechas de caducidad (por
ejemplo, para criptografía de clave pública con certificados, contiempos
de vigencia de certificados), estableciendo mecanismos que
permiten comprobar que la clave no ha sido revocada por el firmante (por
ejemplo, para criptografía de clave pública con certificados, con OCSP o CRL).
- En
algunas ocasiones la firma lleva un sello de tiempo (en
inglés timestamping). Este sello de tiempo establece el
momento en el que se ha realizado la firma. Este sello se puede utilizar
por los protocolos para establecer periodos de tiempos después del cual la
firma no es válida. Por ejemplo podríamos establecer un sistema en el que
las firmas sólo son válidas durante 30 minutos después de haberse
producido.
Aplicaciones
- Mensajes
con autenticidad asegurada
- Mensajes
sin posibilidad de repudio
- Contratos
comerciales electrónicos
- Factura
Electrónica
- Desmaterialización
de documentos
- Transacciones
comerciales electrónicas
- Invitación
electrónica
- Dinero
electrónico
- Notificaciones
judiciales electrónicas
- Voto electrónico
No hay comentarios:
Publicar un comentario