REDI, Revista electrónica de derecho informático (Octubre 1998)

 

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: 

  1. 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. 
  2. 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. 
  3. 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. 
  4. 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: 


    1. Aplicar su clave privada a la reseña, obteniendo así la clave simétrica. 
    2. Aplicar la clave simétrica al mensaje, obteniendo el Tc, la Fa y el certificado de A. 
    3. 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

  1. A rellena el formulario, le aplica el hash al Tc y al resultado obtenido le aplica su clave privada obteniendo la Fa. 
  2. 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. 
  3. 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. 
  4. 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: 

  1. Se Ejecuta la función hash a cada uno de los textos (la oferta T1 y la autorización T2).. 
  2. Se unen ambos hash resultantes. Hash1 + Hash2 = Hash3 
  3. 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.

 

Hosted by www.Geocities.ws

1