SISTEMA Y MÉTODO PARA PERMITIR A UN USUARIO EFECTUAR UNA
VALIDACIÓN SEGURA DE QUE UN SITIO PROVEEDOR EN INTERNET SATISFACE
UNAS CONDICIONES PREDETERMINADAS
Ámbito de la Invención
La presente invención concierne a un sistema para permitir a un usuario o cliente obtener una validación segura de un sitio en internet, proveedor o comerciante a través de un sello de confianza consistente en un archivo gráfico o logotipo Clicando sobre dicho logotipo, es enviado un mensaje a través de una ruta segura a un centro de verificación propiedad de una entidad autoπzadora que garantiza que dicho sitio en internet satisface condiciones predeterminadas, por lo que un cliente puede confiar en el mismo Es bien sabido que la confianza es un factor clave de éxito para el desarrollo del comercio electrónico
La invención se refiere también a un método para implementar dicho sistema, a un programa informático preparado para generar las propiedades especiales de dicho mensaje, y a un programa que valida dichas propiedades
Tanto el sistema como el método que se proponen están basados en técnicas criptográficas especializadas que conducen a la obtención de un método ejecutable en linea para proteger los sellos de confianza precitados que mejora considerablemente su segundad con respecto al actual estado de la técnica
Antecedentes de la Invención
Las transacciones comerciales tienen necesidad de segundad. Por parte del comprador, los clientes desean estar seguros de estar tratando con un proveedoi que satisface las exigencias relativas a lo establecido según las razonables prácticas y normas de comercio Los clientes desean, por ejemplo, que la mercancía sea suministrada dentro de plazo, y no desean que se les cobre una suma superior al precio acordado según el contrato
Este tipo de preocupaciones se resuelven usualmente sobre la base de las relaciones de confianza En el mundo real, los clientes utilizan en primer lugar su propia experiencia para confiar en los proveedores con los que tratan Si alguien ha estado ti atando con un determinado proveedor por un dilatado período de tiempo y si la experiencia ha sido siempre satisfactoria, ese cliente probablemente confiará en el
proveedor también para nuevas transacciones comerciales. En caso de no contar con experiencia previa, la confianza puede basarse en la experiencia de otros, o bien en el crédito de que pueda ser merecedor el proveedor (considerando el prestigio de la marca, por ejemplo). En última instancia, si no hay forma alguna de establecer una relación de confianza, el cliente puede sin embargo sentirse seguro por el hecho de estar efectuando su compra en un sitio físico, lo cual facilita que pueda ser entablada una reclamación.
Comerciar en la Red (Web) lo cambia todo. Las transacciones comerciales no tienen lugar cara a cara. No existe un contexto físico en el cual puedan enraizarse las relaciones de confianza. Además, uno de los objetivos de una empresa que vende en línea es el de atraer nuevos clientes que probablemente serán geográficamente lejanos Para solucionar el problema de tal falta de un contexto físico, pueden servir de ayuda protocolos de seguridad basados en certificados digitales, tales como el protocolo TLS [Dierks, T. y Alien C. (1999), The TLS Protocol, Versión 1.0, Request for Comments 2246, enero de 1999] o su predecesor el protocolo SSL [Freier A O. y Karlton, P y Kocher, P.C (1996), The SSL Protocol, Versión 3.0, Internet-Draft, noviembre de 1996] Dichos protocolos proporcionan una autenticación de los sitios de la red (asegurando al cliente que está en contacto con el correcto sitio de la red). Sin embargo, la interfaz de usuario que ofrecen los hojeadores de páginas web (web browsers) para estos protocolos de segundad no es la más adecuada. El usuario debe comprobar explícitamente los campos de datos del certificado del sitio de la red a fin de tener una seguridad acerca del sitio en internet con el que se ha establecido contacto. Esto se hace realmente en pocas ocasiones. Además, la autenticación de sitios de la red resulta normalmente inútil para proporcionar seguridad acerca de características específicas del proveedor (como por ejemplo la seguridad de que dicho proveedor aplique adecuados controles para proteger la privacidad del cliente, o la seguridad de que se trate de un vendedor autorizado de una marca determinada).
Para superar estas limitaciones, los sellos de confianza devienen una buena alternativa a los protocolos de seguridad basados en certificados. Existen actualmente algunas entidades sin ánimo de lucro y asociaciones de comercio que proporcionan sellos de confianza para proveedores de comercio electrónico. Algunas denominadas empresas ".com" y algunas renombradas empresas del sector PKI (Public Key Infrastructure o infraestructura de claves públicas) ofrecen también esta clase de servicio. De entre las mas importantes pueden mencionarse TRUSTe, CPA Webtrust, Verisign, BBN Online, PπvacyBot, PriceWaterHouseCoopers, Secure Assure, NetTrust y WebAssured. A los efectos de esta explicación, a cualquiera de estas entidades se la
llamará de aquí en adelante "la entidad autorizadora". Las entidades autoπzadoras conceden los sellos de confianza tan sólo tras haber sometido a extensos escrutinios las prácticas comerciales de los agentes que practican el comercio electrónico Las certificaciones de esta clase son por consiguiente aptas para inspirar confianza a los usuarios que efectúan operaciones de comercio electrónico
Los sellos de confianza son implementados como archivos gráficos o logotipos Cuando un proveedor o comerciante en internet es evaluado y certificado, es autorizado a presentar el logotipo que constituye el sello en su página de Inicio (o en cualesquiera otras deseadas páginas web). El sello responde de la certificación que ha sido aprobada La implementación de sellos de confianza en forma de logotipos gráficos proporciona al cliente la requerida seguridad a primera vista Sin embargo, un logotipo gráfico podría ser con toda facilidad copiado y puesto en las páginas web de cualquier impostor. Para proteger al sistema contra esta clase de ataques, los logotipos son de hecho clicables. Clicar sobre un logotipo constitutivo de un sello como se ha señalado anteriormente permite al cliente asegurarse de la autenticidad del sello.
Sin embargo, el inventor ha detectado puntos débiles o limitaciones de estos métodos para verificar estas autorizaciones. Tales puntos débiles permiten a un atacante que sea capaz de subvertir parte del Sistema de Nombres de Dominio (DNS) falsificar la verificación y aparecer como un sitio en internet autorizado. Los actuales sellos de confianza pueden ser clasificados en dos grupos principales, dependiendo del proceso que es generado cuando un cliente hace clic sobre el logotipo.
Un primer grupo de sellos permiten la verificación en línea del logotipo por medio de una conexión entre el cliente y un servidor de red de la entidad autonzadora. Los sellos de dicho primer grupo basan la seguridad del proceso de verificación del sello en la segundad de la asociación entre el nombre según el DNS y la dirección IP o dirección según el Protocolo de Internet (véase Albitz, P and Liu, Cricket. (1998) DNS and BIND, O'Reilly, September 1998, para una explicación detallada del método para la resolución de las direcciones IP) Al ser cucado un sello de este primer grupo, le es presentada al usuario una nueva ventana de hojeo (browsing window). A través de esta ventana es establecida una nueva conexión con un servidor de red de la entidad autonzadora. La seguridad de esta conexión es garantizada normalmente mediante SSL (Secure Socket Layer o capa de conexión segura) aunque sorprendentemente no lo es en algunos casos. Al servidor de red de la entidad autonzadora se le proporciona mediante esta conexión un identificador estático de proveedor que es utilizado para localizar dicho proveedor en una base de datos local. El nombre concreto según el DNS
que corresponde a ese proveedor es entonces presentado al usuario a través de la nueva ventana. Se le pide entonces al usuario que compruebe la URL (Unlform Resource Locator) original del sitio en internet con el que está conectado. Sí ambos nombres según el DNS coinciden, esto significa que se supone que el usuario está conectado al sitio de la red autorizado. Este proceso está explicado gráficamente en la Figura 2 de los dibujos adjuntos, que se refiere al estado de la técnica.
Obsérvese que si un atacante es capaz de falsificar la asociación entre el nombre según el DNS y la dirección IP, el cliente puede ser fácilmente engañado para que crea que está conectado a un proveedor en Internet, autorizado. Todo lo que el atacante tiene que hacer es elegir un proveedor realmente autorizado, averiguar su identificador estático (simplemente a base de clicar sobre su sello real), y copiar entonces el sello y el identificador en su propio sitio de la red. En todo caso, la parte más difícil de este ataque es la de falsificar la traducción del nombre según el DNS del proveedor real convirtiéndola en una dirección IP fraudulenta (la del atacante). Esto puede hacerse de una serie de maneras:
- el protocolo para la resolución de las direcciones IP es actualmente inseguro, por consiguiente, los mensajes enviados en uno y otro sentido entre el programa informático de usuario del cliente y el correspondiente servidor de nombres según el DNS, pueden ser potencialmente falsificados; - si el atacante es (o tiene la colaboración de) un administrador de sistemas en un ISP (proveedor de servicios de internet), entonces todos los clientes que accedan a Internet a través de tal ISP pueden ser engañados porque probablemente están utilizando el servidor de nombres DNS del ISP;
- los servidores de DNS que estén deficientemente administrados pueden ser también pirateados a distancia;
- debido al hecho de que los clientes http (programas) almacenan los resultados de las búsquedas realizadas previamente de direcciones IP (y debido a que se prevé que será cada vez más común la reasignación dinámica de dichas direcciones de la red), los clientes pueden verse desorientados o desengañados cuando cambie la dirección IP de un servidor al que hayan accedido anteriormente;
- tal proceso para la resolución de las direcciones IP puede de hecho omitirse por completo a base de adquirir privilegios sobre el ordenador del usuario y modificar los archivos de configuración del TCP/IP (TCP/IP = Protocolo de Control de Transmisiones/Protocolo de Internet). Esto puede hacerse por medio de virus y caballos de Troya.
En el segundo grupo de sellos, la entidad autorizadora no efectúa la verificación del logotipo. En lugar de ello, se indica al cliente que compruebe por sí mismo los datos del certificado digital según el SSL del sitio de la red del proveedor. Sin embargo, este segundo método impone varias limitaciones. Más en detalle, el segundo grupo de sellos evita estos riesgos basando su seguridad en los certificados digitales que son utilizados para dotar a los sitios proveedores de la red de conexiones SSL. En contraste con el primer grupo de sellos, cucar sobre el logotipo no ocasiona una nueva conexión a un servidor de red de un tercero. En lugar de ello, el usuario permanece en el sitio proveedor en internet. Todo lo que hace el sello es abrir una conexión adicional segura (mediante el protocolo SSL) al sitio comerciante de la red a través de una nueva ventana que se presenta. En esta ventana se indica al usuario que compruebe el estado de la conexión según el protocolo SSL. En particular se pide al usuario que verifique los datos del certificado del comerciante. Además de los datos de autenticación (tales como el nombre según el DNS), el certificado incorpora también un breve comentario indicando que la empresa ha superado los requeridos exámenes de calidad. Este proceso está explicado gráficamente en la Fig. 3 de los dibujos adjuntos, que se refiere al estado de la técnica.
El método tiene limitaciones debido a que el sello funciona solamente en total coordinación con la empresa del sector PKI que ha expedido el certificado digital del comerciante. Si el proveedor en internet había ya adquirido un certificado digital de otro expendedor, el mismo debe ser desechado, y debe ser adquirido uno nuevo.
Además, la revocación de los sellos de confianza no resulta fácil de gestionar. El motivo de ello es que los sellos no son verificados en línea por una entidad autorizadora. En lugar de ello, la verificación de los sellos se basa en el contenido de un certificado digital el cual habitualmente tiene una validez de uno a dos años.
La patente U.S. 5.948.103 se refiere a un sistema de seguridad para documentos electrónicos, un sistema seguro con sello electrónico incorporado y un sistema de seguridad mediante firma electrónica, en los que un documento electrónico que incluye una figura simbólica es codificado según una clave confidencial y es extraída del documento electrónico codificado una característica predeterminada, siendo entonces modificada la figura simbólica según la característica de dicho documento. Sin embargo, el sistema descrito en dicha referencia no es apropiado a los efectos de esta invención, o sea para una validación segura de un sello de confianza según los antecedentes precitados.
Breve Exposición de la Invención
Los métodos anteriormente explicados pueden ser mejorados. El inventor ha apreciado que a los sellos actuales les falta un explícito soporte criptográfico Para mejorarlos es básico añadir criptografía especializada
La presente invención propone un sistema y método criptográfico para asegurai los sellos de confianza Este sistema y método permite a una entidad autoπzadora conceder a proveedores que desarrollan su actividad en el ámbito del comercio electrónico, sellos de confianza personalizados, infalsificabies Estos sellos de confianza pueden ser verificados por los clientes (chcando sobre el logotipo), y pueden ser utilizados con cualquier finalidad, como ejemplo para asegurar la solvencia de las prácticas de comercio electrónico, o para asegurar que el sitio en internet es un agente autorizado de una marca conocida, es decir que dicho sitio en internet satisface una condición predeterminada
En el diseño del sistema y método que se proponen, se parte de tres premisas que optimizan su utilidad en la mayoría de los ámbitos
- los proveedores no deberán verse obligados a comprar un certificado digital SSL a un determinado expendedor, - los clientes no deberán verse obligados a instalar un determinado programa informático en sus ordenadores Simplemente suponemos que los clientes utilizan un hojeador de paginas web estándar,
- para evitar excesivas cargas de trabajo de computación, se utilizara solamente criptografía simétrica para realizar los sellos Para implementar el sistema y método de verificación de sellos que se proponen, conforme a un ejemplo de realización preferido, son necesarios los componentes siguientes
- Un programa informático asociado al sello en el sitio en internet comerciante
Este programa informático es genérico para todos los comerciantes, y debe ser instalado en cada sitio en internet comerciante junto con el logotipo gráfico Con el programa informático también se instala una clave secreta adicional que es única para cada proveedor en internet
- Servidor de verificación en línea Este servidor informa a los clientes acerca de la autenticidad de los sellos sobre los que clican a base de validar el mensaje generado por dicho programa informático asociado al sello. El servidor de verificación pertenece a (y es administrado por) la empresa o entidad que
concede los sellos. Ésta podría ser una entidad examinadora independiente, o bien la empresa que otorga licencia a detallistas autorizados, por ejemplo.
El servidor de verificación en línea mantiene una base de datos local de todos los proveedores autorizados. La administración de los sellos resulta por consiguiente muy fácil. La concesión de nuevos sellos, la modificación de las características de un proveedor autorizado o la revocación de sellos anteriormente concedidos son simplemente cuestión de hacer las adecuadas operaciones en esta base de datos.
Por consiguiente, el sistema y método de la invención permiten efectuar una validación segura de que un sitio proveedor en internet satisface unas condiciones predeterminadas, en una red de comunicación, para gestionar la comunicación electrónica entre uno o vanos usuarios y uno o vanos proveedores, estando cada uno de ellos en condiciones de conectarse con un servidor de verificación a través de conexiones seguras, incluyendo cada uno de dichos sitio proveedores en internet una propiedad de identificación de sitio en internet que está preparada para ser enlazada por un programa informático asociado a dicho sistema y método con dicho servidor de verificación a fin de permitir al usuario obtener una autenticación o confianza acerca del sitio proveedor en internet por medio de una adecuada validación de dicha propiedad de identificación, estando dichos sistema y método caracterizados por el hecho de comprender: en cada uno de dichos sitios proveedores de la red, primeros medios preparados para generar unas credenciales criptográficas de un solo uso asociadas a dicha propiedad de identificación de sitio asegurando que dichas credenciales sean nuevas cada vez; y en dicho servidor de verificación, segundos medios preparados para autenticar dicha propiedad de identificación de sitio en internet a base de procesar dichas credenciales criptográficas.
Dichas credenciales criptográficas son generadas sobre la base de un procesamiento por parte de dichos primeros medios de una clave secreta única facilitada a dichos proveedores de la red por una entidad autorizadora, y dicha autenticación en dicho servidor de verificación hace uso de dichas claves secretas almacenadas en una base de datos del mismo o en otro sistema de almacenamiento
En una realización alternativa, menos preferida (porque requiere un trabajo de computación más complejo), dichas credenciales criptográficas son generadas sobre la base de una clave privada única mantenida por cada proveedor en internet y asociada a una clave pública destinada a ser utilizada por dicho servidor de verificación para
autenticar dicha propiedad de identificación de sitio en internet Con su clave privada cada uno de los proveedores de la red añadirá una firma digital a las credenciales criptográficas que dichos proveedores geneían
Se detallan más ampliamente, a continuación, las características tanto del sistema como del método que se proponen, lo cual se hace con ayuda de unos dibujos que se adjuntan a esta descripción tan sólo a título de Ejemplos no limitativos
Breve Descripción de los Dibuios
La Fig 1 es una representación sinóptica, simplificada, del ámbito en el que encuentra aplicación la invención
La Fig 2 ilustra un primer método de verificación de sellos de confianza (del primer grupo) ya descrito como del estado de la técnica
La Fig 3 corresponde al segundo método de verificación de sellos de confianza (del segundo grupo) descrito como del estado de la técnica
La Fig 4 es una ilustración que muestra esquemáticamente la verificación en linea de sellos de confianza según la invención
La Fig 5 es una ilustración de un ejemplo de la estructura de datos asociada a un sello y de un solo uso generada por un sitio proveedor en internet, conforme a la invención
La Fig 6 es un diagrama que ilustra la verificación de una estructura de datos asociada a un sello por parte del servidor de verificación en linea según la invención
Descripción Detallada de unos eiemplos de eiecucion
En la Fig 1 se ve una representación esquemática de una red informática de comunicación que es empleada por un conjunto de usuarios o clientes para interactuar con un conjunto de proveedores o comerciantes en internet A fin de permitir que sea efectuada por parte de dichos usuarios una validación segura de que dicho sitio proveedor en internet satisface una condición predeterminada relacionada con las capacidades de dichos proveedores previamente reconocidas por una entidad autoπzadora, es exhibido en la red un sello de confianza que ha sido concedido a dichos proveedores por dicha entidad autonzadora
El núcleo propiamente dicho del sistema y método que se proponen según la invención esta fundamentado en la utilización de Códigos de Autenticación de Mensajes (MACs) basados en funciones resumen (hash) parametrizadas por una clave [Bellare,
M y Canetti, R y Krawczyk, H (1996), Keymg hash functions for message authentication (Extended Abstract), Advances in Cryptology - Crypto 96 Proceedings Lecture Notes in Computer Science, Vol 1109, N Koblitz ed , Spnnger-Verlag, 1996] Los MACs de esta clase son típicamente utilizados entre dos partes que comparten una clave secreta a fin de validar la información transmitida entre las mismas Los MACs de funciones resumen parametnzadas por una clave son utilizados para permitir al servidor de venficación en línea validar la información especial generada por el programa informático asociado al sello en los sitios proveedores en internet. Cuando un cliente clica sobre el logotipo gráfico que constituye el sello y que esta siendo presentado en una pagina web de un proveedor (véase la Fig 4), aparece en su pantalla una nueva ventana de hojeo (browsing window) A través de esta nueva ventana es establecida una conexión segura mediante SSL desde el hojeador (browser) del cliente al servidor de verificación en línea Este es el mismo proceso en línea que es seguido por los sellos de confianza del primer grupo, según se ha descrito anteriormente Sin embaí go, en lugar de basar la verificación del sello en un identificador estático de proveedor, el sistema y método de esta invención utiliza unas credenciales criptográficas de un solo uso Estas credenciales son generadas en tiempo real por el programa informático asociado al sello en el sitio proveedor en internet (los detalles serán explicados mas adelante) El servidor de verificación en línea valida las credenciales, proporcionando al cliente el correspondiente resultado que indica si dichas credenciales son válidas o no son validas Todos los eventos son convenientemente registrados en el servidor de verificación en linea La finalidad de este registro es la de ayudar a identificar posibles problemas técnicos y de seguridad, y facilitar el funcionamiento de los mecanismos de inspección y reacción en caso de producirse ataques a la segundad La Fig 4 ilustra los pasos principales del método de verificación de sellos según la presente invención, facilitando una completa visión de conjunto de la verificación en linea de los sellos de confianza según la presente descripción
Las credenciales de un solo uso que son generadas en el sitio proveedor en internet constan, según la realización de la Fig 4, de los siguientes campos de datos a = número secuencial, b = identificador (ID) del comerciante, c = campo de fecha y hora, d = dirección IP del cliente, y e = MAC Según una realización preferida de la invención, las credenciales criptográficas generadas en el sitio proveedor en internet por el programa informático asociado al
sello son empaquetadas para constituir una estructura de datos asociada al sello como la indicada en la Fig. 5. Las estructuras de datos asociadas al sello son únicas cada vez por medio de un número secuencial que es mantenido en cada sitio proveedor en internet. El número secuencial de un proveedor de la red es inicializado por dicho programa informático a un valor aleatorio, y es incrementado en cada uso, regresando al 0 cuando se ha llegado al valor más grande Alternativamente dicho número secuencial es decrementado en cada uso regresando a un valor predeterminado cuando ha sido alcanzado el cero. El tamaño de los números secuenciales debe ser lo suficientemente grande como para asegurar que no habrá repeticiones dentro de todo el tiempo de vida de un sitio proveedor en internet (basta con 64 bits).
De manera alternativa, un programa informático localizado en el sitio proveedor de la red y asociado al sello puede generar un número aleatorio (nonce) que es lo suficientemente grande como para hacer que resulten muy Improbables las repeticiones. El citado número secuencial es comprobado ulteriormente por el servidor de verificación a través de un protocolo de ventana deslizante. En caso de la vanante indicada, el servidor de verificación comprueba que dicho número aleatorio (nonce) recibido no coincida con uno anterior.
Solamente los proveedores autorizados, pueden generar estructuras de datos asociadas a! sello porque en el proceso de creación de la estructura de datos interviene una clave secreta. Las claves secretas son únicas para cada proveedor y son conocidas tan sólo por el servidor de verificación en línea y el correspondiente proveedor, siendo almacenadas en una base de datos u otro sistema de almacenamiento. Estas claves secretas deben ser lo suficientemente grandes como para resistir los ataques de búsqueda de la clave secreta por la fuerza bruta, y el número de bits que sería recomendable dependería también de la estructura interna del MAC que se utilice. Adicionalmente, las estructuras de datos asociadas a los sellos incluyen también un campo de fecha y hora y la dirección IP utilizada por el cliente que ha cucado el logotipo. Los pasos siguientes describen a titulo de ejemplo la exacta construcción de una estructura de datos asociada a un sello: a) el programa informático asociado al sello lee en un archivo el último número secuencial utilizado, lo incrementa y almacena el nuevo valor en el archivo (estas operaciones deben ser atómicas, para impedir que procesos iniciados al mismo tiempo por distintos clientes obtengan valores incorrectos del número secuencial);
b) el programa informático asociado al sello concatena en cualquier orden el número secuencial recién obtenido con la fecha y hora actual, un identificador estático de proveedor y la dirección IP del usuario que clica sobre el logotipo; c) el programa informático asociado al sello utiliza dicha clave secreta para computar un MAC para los datos obtenidos en el paso anterior; d) la estructura de datos completa es finalmente construida a base de concatenar el MAC del paso c) al mensaje generado en el paso b), en cualquier orden, siendo así obtenida una estructura de datos asociada al sello; y e) la estructura de datos asociada al sello así obtenida es pasada al servidor de verificación en línea a través de una conexión segura SSL establecida desde el ordenador del usuario.
En el caso en que dichas estructuras de datos asociadas a un sello sean creadas por medio de un número aleatorio (nonce) generado en cada sitio proveedor, conforme a la variante anteriormente indicada, los siguientes pasos describen a título de ejemplo su construcción precisa: a) en el sitio proveedor en internet, un programa informático asociado al sello genera un número aleatorio (nonce) que es lo suficientemente grande como para hacer que resulten muy improbables las repeticiones; b) el programa informático asociado al sello concatena en cualquier orden el número aleatorio recién obtenido con la fecha y hora actual, un identificador estático de proveedor y la dirección IP del usuario que clica sobre el logotipo; c) el programa informático asociado al sello utiliza dicha clave secreta para computar un código de autenticación de mensajes (MAC) para los datos obtenidos en el paso b); d) la estructura de datos completa es finalmente construida a base de concatenar el MAC del paso c) con el mensaje generado en el paso b) en cualquier orden; y e) la estructura de datos asociada al sello así obtenida es pasada al servidor de verificación a través de una conexión segura SSL, establecida desde el ordenador del usuario.
Para cualquiera de las dos variantes de construcción de las citadas estructuras de datos asociadas a un sello, se prevén las siguientes etapas adicionales: f) en el servidor de verificación los componentes de la estructura de datos asociada al sello son validados cada uno individualmente en cualquier orden, y si la validación de al menos uno de dichos componentes arroja un resultado insatisfactorio
es enviado un mensaje al usuario informándole de que la estructura de datos no ha sido autenticada; y g) se emite un informe o registro acerca de las estructuras de datos cuya autenticación ha arrojado un resultado insatisfactoπo y/o acerca de aquéllas cuya autenticación ha arrojado un resultado satisfactorio.
La Fig. 5 ilustra el resultado final de una estructura de datos asociada a un sello y de un solo uso generada por un sitio en internet comerciante y que comprende los siguientes campos precitados: número secuencial incrementado (a), identificación del comerciante (b), campo de fecha y hora (c), dirección IP del cliente (d) y un MAC (e) obtenido de los campos anteriores y utilizando la clave secreta del comerciante, estando dicho MAC situado al comienzo (cuadrado dibujado con líneas de trazos) o al final.
Podría utilizarse cualquier clase de algoritmo robusto de MAC. Básicamente, los MACs seguros están basados ya sea en funciones resumen (hash) unidireccionales o bien en un cifrado de bloques en modo CBC (cipher block chaining). La primitiva HMAC y NMAC pertenecen al primer grupo, mientras que la primitiva CBC-MAC corresponde al segundo grupo. Para el sistema de sello de la invención se ha elegido el HMAC, siguiendo las indicaciones que se dan en (Krawczyk, H. , Bellare, M. and Canetti, R. (1997) HMAC: Keyed-Hashing for Message Authentication, Request for Comments 2104, February 1997) y utilizando SHA-1 (véase National Institute of Standards and Technology (1995) Secure Hash Standard, Federal Information Processing Standards Publication FIPS PUB 180-1 , Apπl 1995) como la función resumen subyacente Al utilizar este HMAC, se recomienda que la clave secreta utilizada sea de una longitud de 160 bits. El servidor de verificación en línea valida la estructura de datos asociada al sello recibida según los pasos que se resumen en la Figura 6, en los que es comprobado sucesivamente cada uno de los componentes a, b, c, MAC y d de la estructura de datos asociada al sello. En el bloque 10 es recibida una estructura de datos asociada a un sello, en el bloque 11 la estructura de datos asociada a un sello verificada es aceptada, mientras que en el bloque 12 dicha estructura de datos asociada a un sello es rechazada. Este proceso supone consultas a la base de datos de proveedores de internet, autorizados La base de datos contiene información acerca de cada proveedor en internet. Los datos que son relevantes para el proceso de verificación de las estructuras de datos asociadas a un sello incluyen el identificador estático del proveedor en internet, la correspondiente clave secreta y una ventana deslizante (sliding window) que maneja los números secuenciales más recientemente utilizados
La finalidad de la ventana deslizante es la de asegurar el sincronismo de los números secuenciales entre cada sitio proveedor en internet y el servidor de verificación en línea, incluso considerando que el orden de generación de estructuras de datos puede no ser exactamente el mismo orden en el que las estructuras de datos son en realidad recibidas por el servidor de verificación. Con esta finalidad puede utilizarse cualquier protocolo de ventana deslizante habitual.
Debido a la utilización de MACs por función resumen parametrizada por clave, las estructuras de datos válidas asociadas a los sellos pueden ser construidas solamente por proveedores en internet, autorizados. Los atacantes podrían intentar ataques de repetición utilizando estructuras de datos válidas anteriormente generadas por proveedores en internet, legítimos. Sin embargo, toda estructura de datos anteriormente validada no será aceptada de nuevo. Dicha estructura de datos será rechazada durante el paso 1 (véase la Fig. 6) del proceso de validación debido al hecho de que la verificación del número secuencial dará un resultado negativo. Esto hace al sistema propuesto seguro contra los ataques de repetición.
Debido a la presencia de la dirección IP del usuario en uno de los campos, cada estructura de datos asociada a un sello queda exclusivamente relacionada con un correspondiente usuario solicitante. Por consiguiente, a un sitio proveedor en internet, no autorizado no le es posible solicitar, en nombre de un determinado usuario, una estructura de datos asociada a un sello, a un sitio proveedor autorizado.
Aunque la explicación realizada a título de ejemplo refiere el uso de criptografía simétrica, la autenticidad de dichas credenciales podrá ser también asegurada utilizando criptografía asimétrica sobre la base de una clave privada única mantenida por cada proveedor en internet y asociada a una clave pública destinada a ser utilizada por dicho servidor de verificación para autenticar dicha propiedad de identificación de sitio en internet, cuya clave pública se almacenará en una base de datos u otro sistema de almacenamiento apropiado.