|
Por
Fernando Ramos Suárez
Abogado especialista en Derecho Informático. Master en Derecho Informático
por la Universidad Complutense de Madrid. (España)
Miembro del Círculo de Expertos Commercenet España. Miembro del departamento
de comercio elecrtrónico del despacho madrileño Anguiano&Asociados.
Protocolo SET.
Debido a la gran
problemática de entendimiento que existe sobre el protocolo SET, me gustaría
exponer brevemente, para su mejor comprensión, el funcionamiento del
protocolo SET.
Todos sabemos que el protocolo S.E.T. ( Secure Electronic Transactions ) es
un conjunto de especificaciones desarrolladas por VISA y MasterCard, con el
apoyo y asistencia de GTE, IBM, Microsoft, Netscape, SAIC, Terisa y Verisign
con la finalidad permitir las transferencias y pagos seguros por Internet o
cualquier otra red.
Dichas especificaciones surgen, de la necesidad de dotar al comercio
electrónico de una estructura segura en las transacciones. Es decir, que a
través de la combinación de los métodos criptográficos existentes se pueda
lograr una perfecta transacción, en la que se pueda garantizar la
confidencialidad, la autenticidad de las partes, la integridad del documento
y el no repudio de la misma. Cada una de estas salvaguardias quedan
acreditadas como veremos más adelante con la utilización del protocolo
SET.
En un principio con el descubrimiento del sistema de encriptación asimétrico
o de clave pública y clave privada se pensó que el problema de la seguridad
en las transacciones estaba solucionado (método de encriptación que utiliza
un algoritmo matemático con el que se crean dos claves emparejadas de forma
que una desencripta lo encriptado por la otra. SET utiliza el algoritmo RSA
cuyas iniciales son las de sus creadores Rivest, Shamir y Adelman). Sin
embargo, debido a la lentitud de dicho algoritmo se optó por la incorporación
en el protocolo SET de los dos sistemas de encriptación existentes, el
asimetríco y el simétrico otorgando así al tráfico mercantil una mayor
celeridad (éste ultimo método de encriptación obliga a los dos interlocutores
(emisor y receptor) del mensaje a utilizar la misma clave para encriptar y
desencriptar el mismo (como por ejemplo el criptosistema "DES"
desarrollado por IBM, Data Encryption Standard). Por tanto el sistema de
encriptación utilizado por SET es un sistema híbrido (utiliza ambos sistemas
de encriptación) para evitar como se ha dicho antes la lentitud de los
sistemas de encriptación asimétricos y aprovechar la rapidez del sistema
simétrico.
Antes de entrar a analizar los pasos seguidos por el protocolo SET para
garantizar las transacciones convendría determinar que se entiende por las salvaguardias
antes enumeradas:
Confidencialidad: que el contenido del mensaje no sea inteligible para
terceros no autorizados que puedan tener acceso a él, voluntaria o
accidentalmente. Para evitar este problema, SET establece un sistema de
encriptación de clave simétrica (o privada) mediante el algoritmo DES (Data
Encryption Standard) en uso desde 1977.
Autenticación de las partes: Nos referimos aquí a la necesidad de que las
partes intervinientes en la transacción queden perfectamente delimitadas y sean
conocidas por todos los involucrados en el negocio jurídico. La autenticación
se lleva a cabo en SET con el sistema de Firma digital en concurso con el
Certificado de la Autoridad de Certificación. La firma digital se basa en la
unión de dos elementos: Los sistemas de encriptación asimétricos y las
funciones de resumen o destilamiento (hash).
Integridad del documento: El hecho de que un documento llegue a la persona
adecuada no significa que no haya sido manipulada durante su
"viaje" por Internet. Para evitar manipulaciones o, al menos, para
que estas queden patentes en el caso de haber sido hechas, SET recurre a las
funciones de resumen hash que, consiguen obtener de un texto de longitud
variable una expresión fija relacionada de forma unívoca. Esta función crea,
al aplicarse a un texto, una expresión que representa a la integridad del
escrito. Por ello, si se cambia algo en el texto y se le vuelve a aplicar la
función hash obtendremos una expresión totalmente distinta a la
primera.
Prueba de No repudio: Si no existen medios para demostrar la intervención de
las partes en una transacción electrónica, se genera el riesgo de que
cualquiera de ellas pueda rechazar los cargos que se deriven del negocio
subyacente , o que simplemente se niegue la participación en el mismo. La
inseguridad que comporta esta situación se ve paliada mediante el uso de la
firma digital que permite, no solo identificar a la persona que envía un
mensaje (aceptando una oferta por ejemplo) sino también probar que ha sido
ella quien ha mandado un texto determinado ya que solo esa persona conoce, en
principio, la clave privada que se apareja a la publica (la cual es utilizada
por el receptor del mensaje para desencriptarlo).
Delimitados los objetivos a alcanzar por el protocolo pasemos a desmenuzar lo
pasos seguidos.
Esquema del proceso
Parto del hecho en el que existen dos partes, A comprador y B vendedor, la
tercera parte C (el banco) no interviene en este primer supuesto para
facilitar un primer acercamiento al proceso.
A quiere comprar a B una serie de mercancías o servicios que ha encontrado en
una página web, rellena el formulario de pedido y lo envía a B. En este
proceso ha ocurrido lo siguiente:
- Al formulario de pedido o
texto claro (en adelante Tc) se le aplica la función hash de
destilamiento. Así obtenemos un texto mucho más corto llamado hash. A
éste pequeño texto incomprensible se le aplica la clave priva de A
(sistema de encriptación asimétrico), perdiendo así muy poco tiempo ya
que la cantidad de texto sobre la que se aplica el algoritmo asimétrico
es minúsculo en comparación con el Tc. El resultado obtenido es la Firma
digital de A(en adelante Fa). Con ello garantizamos autenticación de
A.
- Una vez obtenida la Firma
digital del pedido (Tc), solo queda por incorporar un certificado de
clave pública obtenido de una Autoridad de Certificación. De esta forma
y aplicando el sistema de encriptación simétrico al Tc, Fa y al
certificado de clave pública de A, generamos una única clave simétrica
que será la llave para desencriptar el mensaje.
- EL último paso a realizar
será el envío del mensaje (ya encriptado) más la clave simétrica, la
cual debemos encriptar con la clave pública de B (es decir utilizando de
nuevo el sistema asimétrico). Es en este paso donde se obtiene el
segundo certificado de la autoridad de Certificación , para saber que la
clave pública de B es la que dice ser en la oferta de bienes y
servicios.
- B a la recepción del mensaje
obtiene un mensaje encriptado y una pequeña reseña también encriptada
pero con su clave pública, luego sólo él con la aplicación de su clave
privada podrá abrir la reseña que es a su vez la llave para abrir el
mensaje. Luego B a la recepción del mensaje tendrá que seguir los
siguientes pasos:
- Aplicar su clave privada a
la reseña, obteniendo así la clave simétrica.
- Aplicar la clave simétrica
al mensaje, obteniendo el Tc, la Fa y el certificado de A.
- Para saber que efectivamente
es A y que el mensaje no ha sufrido alteración alguna durante el
trasiego telemática, B tendrá que aplicar la clave pública de A a Fa,
obteniendo así el hash del Tc, para seguidamente ejecutar el algoritmo
Hash en el Tc (evidentemente deberá aplicar el mismo algoritmo que
utilizó A) y cotejarlo con el hash mandado por A, que en el caso de que
sean iguales dará por valida la Oferta y por tanto cerrado el
negocio.
Resumen
- A rellena el formulario, le
aplica el hash al Tc y al resultado obtenido le aplica su clave privada
obteniendo la Fa.
- Obtiene un certificado de su
clave pública de una Autoridad de Certificación, y a éste más el Tc más
la Fa le aplica el sistema de encriptación simétrico.
- Envía el mensaje encriptado
más la clave simétrica que encripta a su vez con la clave pública de B
(lo que hemos denominado pequeña reseña), la cual conoce por la
obtención de un segundo certificado de clave pública de B.
- B aplica su clave privada a
la reseña, obtiene la clave simétrica y desencripta el mensaje
obteniendo el Tc la Fa y el certificado de clave pública de A, ejecuta
la clave pública de A a la Fa y obtiene el hash de A, quedándole por
último aplicar el hash al Tc para comprobar que es el mismo que le ha
enviado A.
Esquema del
proceso con la firma digital dual
Todo este proceso
SET es un poco más complicado cuando aparece la tercera parte C (el Banco) y
se aplica la Firma dual. SET ha introducido una nueva aplicación de la firma
digital llamada firma dual. Este sistema pretende configurar un entorno en el
que el pago por medios electrónicos sea seguro de forma que ni el comerciante
conozca los datos bancarios del comprador ni el banco conozca la naturaleza
de la compra.
Para explicar este sistema vamos a utilizar un ejemplo.
A desea enviar una oferta a B para comprar un genero o un servicio que tiene
en venta y además quiere enviar una autorización a su banco (C) para que le
abone a B la cantidad en el caso de que éste (C) acepte la oferta de A.
No desea ni que B conozca sus datos bancarios ni que el banco (C) tenga
acceso a los términos de la oferta de A.
La firma dual se genera de la siguiente forma:
- Se Ejecuta la función hash a
cada uno de los textos (la oferta T1 y la autorización T2)..
- Se unen ambos hash
resultantes. Hash1 + Hash2 = Hash3
- Por último ejecuto el hash al
Hash3 de forma que quede un único hash que represente a los dos. Hash
dual
Después A encripta
este Hash dual con su clave privada creando, así, la firma digital que
incluye tanto en la oferta que envía a B como en la autorización que remite
al banco (Fd)
A, además, debe incluir en cada uno de los mensajes y según el destinatario
el hash del otro documento para que el receptor pueda comprobar la integridad
del texto recibido. A B le debe enviar la oferta To, más la Fd, más el hash
de autorización del Banco, es decir el Hash2. Por otro lado debe enviar a C
(el banco) el Ta, más la Fd, más la oferta de B, es decir el Hash1.
El receptor de cada mensaje puede aplicar al texto que reciba la función hash
y unir el resultado al hash del otro mensaje (el que ha recibido junto con el
suyo). Después aplica la función hash a esta unión y compara el hash
resultante con el de la firma digital . Si estos dos hash son idénticos, el
receptor puede estar seguro de la validez del mensaje.
Continuando con nuestro ejemplo...
A ha realizado todos los pasos que requiere la firma dual y ha enviado la
oferta a B y la autorización al Banco (Todo ello con el método de
encriptación simétrico y con la pequeña reseña que contiene la llave para
desencriptar el mensaje, paso 3. del resumen ya visto).
Si B acepta la oferta de A puede enviar un mensaje al banco manifestando su
acuerdo con la oferta de A e incluyendo el Hash2 que A le envió.
De esta forma C podrá realizar un ingreso a favor de B comprobando que el
Hash2 que B le ha mandado unido al Hash1 que A le mandó concuerda aplicándole
previamente la función resumen hash con el hash dual de la Fd de A. Por tanto
C verifica la autenticidad de la oferta que A ha hecho a B y realiza un
ingreso a favor de B, cerrándose por tanto la compraventa, con el envío de B
del producto o servicio.
De esta forma ni B ha tenido conocimiento de los datos bancarios de A, ni C
conoce las características de la oferta. Se ha producido por tanto una
compraventa electrónica segura.
|