ES2423824T3 - Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red - Google Patents

Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red Download PDF

Info

Publication number
ES2423824T3
ES2423824T3 ES03026812T ES03026812T ES2423824T3 ES 2423824 T3 ES2423824 T3 ES 2423824T3 ES 03026812 T ES03026812 T ES 03026812T ES 03026812 T ES03026812 T ES 03026812T ES 2423824 T3 ES2423824 T3 ES 2423824T3
Authority
ES
Spain
Prior art keywords
computer system
key
act
server
user credentials
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES03026812T
Other languages
English (en)
Inventor
Shawn Derek Bracewell
Richard B. Ward
Russell Lee Simpson, Jr.
Karim Michel Batthish
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of ES2423824T3 publication Critical patent/ES2423824T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Abstract

Un procedimiento en un sistema (211) de ordenador servidor para determinar la validez de credenciales de usuariousadas para el acceso basado en la Red a recursos en el sistema de ordenador servidor, comprendiendo elprocedimiento: un acto de recepción (404), por el sistema de ordenador servidor, de una solicitud para el acceso basado en la Red a unrecurso en el servidor, incluyendo la solicitud un identificador único de sesión e información cifrada que representa almenos una parte de las credenciales de usuario y una firma dependiente del tiempo, siendo deducida la firma dependientedel tiempo de al menos una parte de las credenciales de usuario y de una clave de firma dependiente del tiempo, estandocifrada la información cifrada usando una clave de cifrado dependiente del tiempo, siendo deducidas, tanto la clave defirma dependiente del tiempo como la clave de cifrado dependiente del tiempo, a partir de una clave en un almacén (220)de claves rotativas; un acto de intento (405), por el sistema de ordenador servidor, de validar al menos una parte de las credenciales deusuario, usando la clave más actual en un almacén de claves rotativas; un acto de remisión (406), por el sistema de ordenador servidor, de la solicitud a un módulo que controla el accesobasado en la Red al recurso solicitado; y un acto de determinación (407), por el sistema de ordenador servidor, de si la información cifrada refrescada querepresenta dicha al menos una parte de las credenciales de usuario, y una firma dependiente del tiempo, han de serdeducidas de la clave más activa en el almacén de claves rotativas.

Description

Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red
Antecedentes de la invención
2. El campo de la invención
La presente invención se refiere a redes de ordenadores y, más específicamente, al procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red.
3. Antecedentes y técnica relevante
Los sistemas de ordenadores y la tecnología relacionada afectan a muchos aspectos de la sociedad. De hecho, la capacidad de un sistema de ordenador para procesar información ha transformado la manera en que vivimos y trabajamos. Los sistemas de ordenadores en la actualidad realizan usualmente una multitud de tareas (p. ej., procesamiento de la palabra, planificación y gestión de bases de datos) que antes del advenimiento del sistema de ordenador se realizaban manualmente. Más recientemente, los sistemas de ordenadores han sido acoplados entre sí para formar redes de ordenadores, tanto cableadas como inalámbricas, por las cuales los sistemas de ordenadores pueden comunicarse electrónicamente para compartir datos. Como resultado, muchas tareas realizadas en un sistema de ordenador (p. ej., la comunicación de la voz, el acceso al correo electrónico, la conferencias electrónicas, la exploración de la Red) incluyen la comunicación electrónica con uno o más sistemas de ordenadores mediante redes de ordenadores, cableadas y / o inalámbricas.
En particular, el correo electrónico se ha convertido en un procedimiento importante para la comunicación. Los sistemas de correo electrónico habitualmente incluyen un componente cliente del correo electrónico y un componente servidor de correo electrónico. Estos componentes son habitualmente aplicaciones de software que están configuradas para ejecutarse en sistemas de ordenadores (p. ej., servidores, ordenadores personales, portátiles y agendas electrónicas). Un componente cliente del correo electrónico y un componente servidor de correo electrónico están habitualmente diseñados y configurados para operación específica entre sí. El componente cliente del correo electrónico y el componente servidor de correo electrónico se comunican generalmente entre sí usando un protocolo de propiedad industrial, tal como las Llamadas a Procedimientos Remotos (“RPC”), que permite, por ejemplo, que un programa de aplicación en un sistema de ordenador cliente ejecute un programa en un sistema de ordenador servidor. Por ejemplo, un componente cliente del correo electrónico puede enviar un mensaje a un componente servidor de correo electrónico con los argumentos adecuados, y el componente servidor de correo electrónico devuelve un mensaje de correo electrónico.
Algunos tipos de servidores de correo electrónico están configurados para permitir el acceso al correo electrónico mediante un cliente de “contacto cero”, tal como, por ejemplo, un sistema de ordenador cliente con un explorador de la Red, en lugar de un cliente dedicado del correo electrónico. En estos tipos de servidores de correo electrónico, el explorador de la Red interactúa con el servidor de correo electrónico, y toda función requerida para su realización en el sistema cliente es realizada a través del explorador de la Red. Por ejemplo, un sistema de ordenador cliente puede descargar instrucciones y guiones del Lenguaje de Marcado de HiperTexto (“HTML”) (generados dinámicamente por una tecnología tal como las Páginas Activas Servidoras) que permiten a un explorador de la Red interactuar adecuadamente con el servidor de correo electrónico. De tal modo, un cliente basado en un explorador, de contacto cero, permite a un usuario acceder a su correo electrónico y a otra información relacionada con el correo (p. ej., el calendario y las carpetas compartidas) desde cualquier sistema de ordenador servidor que esté conectado con una red común (p. ej., la Malla Máxima Mundial (“WWW”)) con el cliente basado en un explorador, de contacto cero. En consecuencia, los protocolos tales como, por ejemplo, el Protocolo de Transferencia de HiperTexto (“HTTP”), usados para acceder a otro contenido basado en la Red en la WWW también pueden ser usados para acceder al correo electrónico y a otra información relacionada con el correo.
Sin embargo, la accesibilidad, basada en un explorador, al correo electrónico y a otra información relacionada con el correo también da como resultado cuestiones potenciales de seguridad, estando algunas cuestiones de seguridad referidas al almacenamiento en memoria caché de credenciales de usuario en la memoria del explorador de la Red. En un entorno de la Red, el contenido, y las solicitudes de contenido, son generalmente transportados usando el HTTP. Por ejemplo, una solicitud del HTTP para acceder a contenidos se origina en un usuario en un cliente basado en un explorador, y luego es transferida desde el cliente basado en un explorador, a través de una red. La solicitud es luego recibida en un servidor de la Red, en un sistema de ordenador servidor que procesa la solicitud para determinar si el usuario del cliente basado en un explorador está autorizado para acceder al contenido solicitado. Si el usuario está autorizado para acceder al contenido solicitado, el servidor de la Red transportará el contenido de vuelta al cliente basado en un explorador, en un mensaje del HTTP.
Algunas versiones del HTTP (p. ej., el HTTP/1.0) carecen de estado. Es decir, la comunicación mediante el HTTP (p. ej., una solicitud de un mensaje de correo electrónico) es realizada sin conocimiento de ninguna comunicación previa por
parte del servidor (p. ej., otras solicitudes previas de mensajes de correo electrónico). Así pues, estas versiones del HTTP no prestan soporte al concepto de una “sesión” donde un usuario se “conectaría” o “desconectaría”. Otras versiones del HTTP (p. ej., el HTTP/1.1) prestan soporte a mensajes de “supervivencia” que son enviados entre un cliente y un servidor para intentar mantener viva una conexión del HTTP. Sin embargo, el uso de mensajes de supervivencia no es muy fiable e, incluso cuando se usan mensajes de supervivencia, no hay ninguna garantía de que una conexión del HTTP puede ser mantenida en actividad. Además, dado que las solicitudes de clientes son frecuentemente canalizadas a través de servidores agentes intermedios que comparten enlaces de supervivencia entre un cierto número de usuarios, puede no haber ninguna manera para que un servidor determine si una solicitud recibida fue enviada por un cliente previamente autenticado. En consecuencia, ya sea que la comunicación del HTTP carezca de estado o que use mensajes de supervivencia, cada solicitud para acceder a contenidos que sea transportada mediante el HTTP (llamada en lo sucesivo en la presente memoria “una solicitud del HTTP”) debe incluir información adecuada de autenticación del HTTP.
En consecuencia, la información de autenticación del HTTP puede ser incluida en solicitudes del HTTP mediante una cabecera especial llamada la cabecera de Autorización-del-WWW y que tiene el formato: “Autorización-del-WWW: [Tipode-Autenticación] [Credenciales]”. La primera vez que un explorador de la Red intenta acceder a contenido que requiere autenticación (p. ej., las credenciales de presentación ingresadas por el usuario), un servidor de la Red habitualmente rehusará proporcionar el contenido solicitado y, en cambio, devolverá un mensaje del HTTP con código de estado 401 No autorizado. El mensaje de respuesta del HTTP incluye una cabecera con el formato: “Autenticación-delWWW:[Procedimiento de autenticación][reino=valor de reino][Información optativa]”.
Cuando es recibido de vuelta en el explorador de la Red, el mensaje de respuesta del HTTP hace que el explorador de la Red presente un cuadro de diálogo que solicita credenciales, tales como, por ejemplo, un nombre de usuario y una contraseña. Después de que un usuario ingresa las credenciales, el explorador de la Red retransmite la solicitud original del HTTP junto con una cabecera de Autorización-del-WWW del HTTP que incluye las credenciales ingresadas. Si el servidor de la Red acepta las credenciales ingresadas por el usuario y devuelve el contenido solicitado (p. ej., un mensaje de correo electrónico), el explorador de la Red almacena en memoria caché las credenciales ingresadas por el usuario, en la memoria del explorador. Así, en solicitudes posteriores al mismo Localizador Uniforme de Recursos (“URL”), o a correspondientes URL relativas derivadas, asociadas al mismo contenido, las credenciales en memoria caché son extraídas de la memoria del explorador e incluidas en las correspondientes cabeceras de la Autorización-del-WWW del HTTP. En consecuencia, incluso aunque el HTTP carezca de estado, se libera al usuario de tener que reingresar las credenciales para cada solicitud al mismo URL, o a los correspondientes URL relativos derivados.
Desafortunadamente, los exploradores de la Red mantienen usualmente credenciales almacenadas en memoria caché del explorador, de manera esencialmente indefinida, hasta que se haga cerrar un explorador de la Red (saliendo del programa explorador de la Red, o rebotando o apagando el sistema de ordenador o el dispositivo cliente). De tal modo, las credenciales de un usuario privilegiado que accedió a contenido protegido pueden estar almacenadas en memoria caché del explorador después de que el usuario no esté ya usando el explorador de la Red. Si el usuario privilegiado se aleja luego del sistema de ordenador, otro usuario no privilegiado puede llegar y usar el botón de retroceso del explorador,
o la característica de historia reciente, para intentar acceder al contenido protegido. Dado que las credenciales del usuario privilegiado están aún almacenadas en la memoria caché del explorador, el explorador de la Red extraerá las credenciales almacenadas en memoria caché y las presentará junto con la solicitud del usuario no privilegiado para acceder al contenido protegido. De tal modo, puede darse al usuario no privilegiado acceso al contenido protegido sin tener que ingresar las credenciales adecuadas en el explorador de la Red.
Las credenciales en memoria caché pueden ser especialmente problemáticas en ubicaciones que tienen ordenadores públicos y / o en sistemas de ordenadores que no permiten que se cierre un explorador de la Red. Un ejemplo de un sistema de ordenador de ese tipo es un Kiosco de Internet. Los Kioscos de Internet están a menudo situados en lugares públicos, tales como, por ejemplo, bibliotecas, cibercafés y centros de conferencias, para brindar al público acceso a Internet. Los Kioscos de Internet están diseñados para permitir a cualquiera que se acerque al kiosco poder acceder rápidamente a Internet sin tener primero que hallar y lanzar un explorador de la Red. Así, muchos Kioscos de Internet están configurados de modo que un explorador de la Red esté siempre activo y no pueda ser cerrado.
Si bien esto brinda un acceso eficaz a Internet, también da como resultado potencial que las credenciales en memoria caché permanezcan en la memoria del explorador de manera esencialmente indefinida. Por ejemplo, cuando un usuario privilegiado ingresa credenciales (p. ej., para acceder a contenido protegido) en un Kiosco de Internet, las credenciales del usuario privilegiado son almacenadas en la memoria caché del explorador. Dado que el explorador de la Red no puede ser cerrado, no hay esencialmente ninguna manera para eliminar las credenciales en memoria caché sin quitar la energía al Kiosco público. Así, incluso si el usuario privilegiado tiene el conocimiento práctico para borrar credenciales en memoria caché (p. ej., cerrando el explorador de la Red), el usuario privilegiado puede estar impedido para hacerlo.
El uso de credenciales almacenadas en memoria caché para acceder a contenido protegido tiene interés específico para las aplicaciones de correo electrónico basadas en un explorador. Por ejemplo, un usuario no privilegiado puede ser capaz de retroceder por las páginas para ganar acceso a mensajes de correo electrónico de un usuario privilegiado, que también
podrían contener datos privados. Además de acceder al correo electrónico del usuario privilegiado, las credenciales en memoria caché también pueden permitir que el usuario no privilegiado finja ser el usuario privilegiado. Por ejemplo, el no privilegiado puede ser capaz de enviar mensajes de correo electrónico desde una cuenta asociada a un usuario privilegiado.
Una posible solución a este problema es forzar a los usuarios a reautenticarse cada vez que se solicita contenido. Sin embargo, esto requeriría que los usuarios reingresaran manualmente información de autenticación para cada solicitud del HTTP, a fin de acceder al contenido. Como una interacción típica con una sede de la Red puede consistir en decenas o incluso cientos de solicitudes del HTTP, esto daría como resultado que un usuario tuviera que reingresar credenciales decenas o cientos de veces. De tal modo, el reingreso de credenciales para cada solicitud del HTTP aumentaría significativamente la cantidad de tiempo y de ingreso de datos necesarios para acceder al contenido. Esta solución es demasiado engorrosa para la mayoría de los usuarios, que preferirían ingresar sus credenciales solamente una vez por sesión. Por lo tanto, serían ventajosos los sistemas, procedimientos y productos de programa de ordenador para procesar con seguridad las credenciales de clientes usadas para acceder a recursos basados en la Red.
El documento WO 00 / 79367 A1 se refiere a un procedimiento y un sistema para transacciones garantizadas seguras por una red de ordenadores. Esta solicitud de patente revela el uso de señuelos para almacenar credenciales del usuario. Los señuelos son firmados y cifrados digitalmente.
El documento US 2002 / 010776 A1 se refiere a un procedimiento y aparato para integrar un sistema distribuido de servicios compartidos. Según esta solicitud de patente, los contenidos de los señuelos son cifrados usando un esquema de rotación de claves.
El documento de Park, J. S. et al.: “Señuelos seguros en la Red”, Informática en Internet del IEEE, julio de 2000, páginas 36 a 44, se refiere a señuelos seguros en la Red.
El documento US 6 041 357 A se refiere a un sistema y protocolo de testigos comunes de sesiones.
Breve resumen de la invención
Es el objeto de la presente invención proporcionar procedimientos, sistemas, productos de programa de ordenador y estructuras de datos para determinar la validez de credenciales de usuario usadas para el acceso a recursos basado en la Red.
Este objeto es resuelto por la materia en cuestión de las reivindicaciones independientes.
Las realizaciones se dan en las reivindicaciones dependientes.
Un sistema de ordenador cliente (denominado en adelante en la presente memoria el “cliente”) y un sistema de ordenador servidor (denominado en adelante en la presente memoria el “servidor”) están conectados con una red común, tal como, por ejemplo, Internet. El servidor está configurado para permitir el acceso a recursos basado en la Red, tales como, por ejemplo, los mensajes de correo electrónico y los datos de correo asociados. El cliente está configurado con un explorador que puede solicitar acceso a recursos basados en la Red y presentar recursos basados en la Red a un usuario en el cliente.
El cliente envía una primera solicitud para acceder a un recurso en el servidor. Por ejemplo, el cliente puede enviar una solicitud para acceder a un mensaje de correo electrónico almacenado en el servidor. El servidor recibe la primera solicitud y, dado que el cliente no está autenticado, el servidor redirige al cliente a una página de conexión en respuesta a la recepción de la primera solicitud. La redirección del cliente puede incluir el envío por el servidor al cliente de una respuesta que incluye un indicador de redirección (p. ej., un Mensaje del Protocolo de Transferencia de HiperTexto (“HTTP”) con un código de estado 302 Temporalmente Desplazado) junto con un Identificador Uniforme de Recurso (“URI”) de la página de conexión. La página de conexión puede ser una página de las Páginas Activas de Servidor (“ASP”) que proporciona una interfaz para un usuario en un cliente, para ingresar credenciales de usuario. El cliente accede a la página de conexión y utiliza la página de conexión para presentar credenciales de usuario al servidor. Un cliente puede presentar credenciales, por ejemplo, usando la Capa de Receptáculos Seguros (“SSL”), para asegurar un puesto del HTTP.
El servidor recibe las credenciales presentadas. El servidor envía información cifrada que representa a las credenciales del usuario y una firma digital dependiente del tiempo. Puede ser que el servidor envíe información cifrada después de delegar la autenticación de las credenciales presentadas a una autoridad fiable para realizar la autenticación. El servidor genera los datos cifrados usando una clave proveniente de un almacén de claves rotativas. Cada clave en el almacén de claves rotativas caduca automáticamente después de un intervalo temporal especificado (p. ej., diez minutos). Después del intervalo temporal especificado, el servidor puede hacer rotar una nueva clave al almacén de claves rotativas y eliminar por rotación una clave caducada del almacén de claves rotativas. El número de claves mantenidas en un
almacén de claves rotativas, y el intervalo temporal especificado, pueden ser configurados por un administrador.
Cuando se reciben credenciales de usuario, el servidor asocia las credenciales de usuario a un identificador único (p. ej., un Identificador Globalmente Único (“GUID”)). El servidor obtiene una clave de firma, que puede ser usada para firmar digitalmente los datos, troceando (p. ej., usando el algoritmo de troceo SHA-1 o MD-5) una combinación de la clave más actual en el almacén de claves rotativas, el identificador único y una primera cadena constante. El servidor usa luego la clave de firma para obtener una firma digital (p. ej., un Código de Autenticación de Mensaje con rutinas de autentificación (“HMAC”)) de una combinación del identificador único y de las credenciales del usuario.
El servidor también obtiene una clave de cifrado, que puede ser usada para cifrar datos, troceando una combinación de la clave más actual en el almacén de claves rotativas, el identificador único y una segunda cadena constante. El servidor usa luego la clave de cifrado para cifrar una combinación de la firma digital y las credenciales del usuario en información cifrada. El servidor envía el identificador único y la información cifrada al cliente. El cliente recibe el identificador único y la información cifrada y almacena el identificador único y la información cifrada (p. ej., en correspondientes señuelos).
El cliente envía una segunda solicitud, que incluye el identificador único y la información cifrada, para acceder al recurso en el servidor. El servidor recibe la segunda solicitud e intenta validar las credenciales del usuario usando la clave más actual en el almacén de claves rotativas. El servidor obtiene una clave de descifrado, que puede ser usada para descifrar datos, troceando una combinación de la clave más actual en el almacén de claves rotativas, el identificador único y la segunda cadena constante. El servidor usa la clave de descifrado para descifrar la información cifrada, revelando por ello la firma digital y las credenciales de usuario. El servidor obtiene una clave de validación, que puede ser usada para autenticar datos, troceando una combinación de la clave más actual en el almacén de claves rotativas, el identificador único y la primera cadena constante. El servidor usa la clave de firma de validación para obtener una firma digital de validación a partir de una combinación del identificador único y las credenciales del usuario.
El servidor compara la firma digital de validación con la firma digital. Cuando la firma digital de validación y la firma digital coinciden, las credenciales del usuario son validadas. Por otra parte, cuando la firma digital de validación y la firma digital no coinciden, las credenciales no son validadas. Cuando las credenciales de usuario no son validadas usando la clave más actual en el almacén de claves rotativas, se usa la siguiente clave más actual en el almacén de claves rotativas para intentar validar las credenciales del usuario (p. ej., usando la siguiente clave más actual para generar una clave de descifrado y una firma digital de validación). El servidor puede intentar validar las credenciales del usuario usando cada clave en el almacén de claves rotativas. Las credenciales de usuario validadas son remitidas a un módulo (p. ej., un servidor de correo electrónico) que controla el acceso al recurso solicitado (p. ej., un mensaje de correo electrónico).
Cuando las credenciales del usuario son validadas con una clave del almacén de claves rotativas que no es la clave más actual, el servidor determina que ha de obtenerse información cifrada refrescada. El servidor usa la clave más actual en el almacén de claves rotativas para obtener la información cifrada refrescada (p. ej., obteniendo una firma digital refrescada y una clave de cifrado refrescada a partir de la clave más actual). Cuando las credenciales de usuario validadas son las adecuadas, el recurso solicitado y, cuando corresponda, también la información cifrada refrescada son devueltos al cliente. El cliente recibe el recurso y cualquier información cifrada refrescada. El cliente almacena toda información cifrada refrescada, sobrescribiendo la información cifrada anterior correspondiente al identificador único. Cuando las credenciales de usuario no pueden ser validadas usando ninguna clave rotativa en el almacén de claves rotativas, el cliente es redirigido a la página de conexión, donde pueden ser ingresadas nuevas credenciales de usuario.
En algunas realizaciones, una página de conexión incluye una interfaz para seleccionar propiedades de comunicación (p. ej., soporte para la compresión por gzip, el sistema de ordenador cliente es un cliente privado o no fiable, el cliente es un cliente avanzado que preferiría contenido simplificado) que pueden alterar cómo son procesados los mensajes del HTTP. Las propiedades de comunicación son seleccionadas en la página de conexión y enviadas a un filtro de comunicación para indicar al filtro de comunicación cómo ha de ser procesada la comunicación del HTTP con el cliente. Las propiedades de comunicación seleccionadas son recibidas en el servidor.
El servidor interroga al cliente para determinar si las propiedades de comunicación seleccionadas disponen de soporte por parte del cliente, así como para identificar otras propiedades de comunicación relevantes. El servidor configura el filtro de comunicación para procesar la comunicación del HTTP con el cliente, de acuerdo a toda propiedad de comunicación seleccionada, y otras propiedades relevantes de comunicación identificadas que disponen de soporte por parte del cliente. En base a estar un cliente en una ubicación no segura, el servidor puede utilizar un almacén distinto de claves rotativas que tenga un intervalo de rotación más breve y que mantenga un número reducido de claves.
Las características y ventajas adicionales de la invención se estipularán en la descripción que sigue, y en parte serán obvias a partir de la descripción, o bien pueden ser aprendidas con la práctica de la invención. Las características y ventajas de la invención pueden ser realizadas y obtenidas por medio de los instrumentos y combinaciones específicamente señalados en las reivindicaciones adjuntas. Estas y otras características de la presente invención devendrán más completamente evidentes a partir de la siguiente descripción y reivindicaciones adjuntas, o bien pueden
ser aprendidas por la práctica de la invención, según se estipula a continuación en la presente memoria.
Breve descripción de los dibujos
A fin de describir la manera en que pueden ser obtenidas las ventajas y características expuestas anteriormente, y otras, de la invención, se representará una descripción más específica de la invención brevemente descrita en lo anterior, por referencia a realizaciones específicas de la misma que están ilustradas en los dibujos adjuntos. Entendiéndose que estos dibujos ilustran solamente realizaciones típicas de la invención y, por lo tanto, no han de considerarse como limitadores de su alcance, la invención será descrita y explicada con especificidad y detalle adicionales, mediante el uso de los dibujos adjuntos, en los cuales:
la Figura 1 ilustra un entorno operativo adecuado para los principios de la presente invención.
La Figura 2A ilustra un ejemplo de una arquitectura de red que facilita asegurar credenciales de parte del cliente cuando un cliente solicita acceso a un recurso en un servidor, de acuerdo a la presente invención.
La Figura 2B ilustra un ejemplo de una arquitectura de red que facilita utilizar credenciales aseguradas de parte del cliente para acceder a un recurso en un servidor, de acuerdo a la presente invención.
La Figura 3 ilustra un diagrama ejemplar de flujo de un procedimiento para asegurar credenciales de parte del cliente cuando un cliente solicita acceso a un recurso en un servidor, de acurdo a la presente invención.
La Figura 4 ilustra un diagrama ejemplar de flujo de un procedimiento para utilizar credenciales aseguradas de parte del cliente para acceder a un recurso en un servidor, de acuerdo a la presente invención.
La Figura 5 ilustra un diagrama ejemplar de flujo de un procedimiento para determinar propiedades de comunicación asociadas a un cliente, de acuerdo a los principios de la presente invención.
La Figura 6 ilustra una página ejemplar de conexión que puede aceptar credenciales y selecciones de propiedades de comunicación, de acuerdo a los principios de la presente invención.
Descripción detallada de las realizaciones preferidas
Los principios de la presente invención admiten procesar con seguridad credenciales de cliente usadas para el acceso basado en la Red a los recursos. Un servidor mantiene al menos un almacén de claves rotativas, de una o más claves. Cada clave en un almacén de claves rotativas caduca automáticamente después de un intervalo temporal especificado (p. ej., diez minutos). Después del intervalo temporal especificado, el servidor rota una nueva clave hacia el almacén de claves rotativas y elimina por rotación una clave caducada del almacén de claves rotativas. El número de claves mantenidas en el almacén de claves rotativas y el intervalo temporal especificado pueden ser configurados por un administrador (p. ej., mantener tres claves y rotar las claves cada cinco minutos). El servidor asegura las credenciales de usuario generando firmas digitales para credenciales de usuario y cifrando credenciales de usuario en base a claves en el almacén de claves rotativas.
Una página de conexión, con una interfaz para ingresar credenciales de usuario, es presentada a un cliente. Las credenciales de usuario ingresadas en el cliente son enviadas al servidor. En respuesta a la recepción de credenciales de usuario, el servidor generar un único identificador de sesión para el cliente. El servidor obtiene una firma digital para las credenciales de usuario en base a la clave más actual en un almacén de claves rotativas y al identificador único de sesión. El servidor cifra luego la firma digital y las credenciales de usuario en base a una clave de cifrado deducida de la clave más actual en un almacén de claves rotativas y al identificador único de sesión. Cuando las credenciales cifradas son recibidas de vuelta en el cliente, las claves del almacén de claves rotativas son usadas para intentar validar las credenciales. Si la clave del almacén de claves rotativas, originalmente usada para cifrar las credenciales de usuario, ha sido eliminada por rotación del almacén de claves rotativas, el cliente es redirigido a la página de conexión para ingresar nuevas credenciales.
Las realizaciones dentro del alcance de la presente invención incluyen medios legibles por ordenador para llevar o tener instrucciones ejecutables por ordenador, o estructuras de datos almacenadas en los mismos. Tales medios legibles por ordenador pueden ser medios disponibles cualesquiera, que sean accesibles por un sistema de ordenador de propósito general o de propósito especial. A modo de ejemplo, y no de limitación, tales medios legibles por ordenador pueden comprender medios de almacenamiento físico tales como RAM, ROM, EPROM, CD-ROM u otros dispositivos de almacenamiento en disco óptico, almacenamiento en disco magnético u otros dispositivos de almacenamiento magnético, u otros medios cualesquiera que puedan ser usados para llevar o almacenar medios deseados de código de programa, en forma de instrucciones ejecutables por ordenador, instrucciones legibles por ordenador o estructuras de datos, y a las que pueda acceder un sistema de ordenador de propósito general o de propósito especial.
En esta descripción y en las siguientes reivindicaciones, una “red” está definida como uno o más enlaces de datos que
permiten el transporte de datos electrónicos entre sistemas de ordenadores y / o módulos. Cuando la información es transferida o proporcionada por una red u otra conexión de comunicaciones (ya sea cableada, inalámbrica, o una combinación de cableada o inalámbrica) a un sistema de ordenador, la conexión es debidamente vista como un medio legible por ordenador. De tal modo, cualquier conexión de ese tipo es correctamente denominada un medio legible por ordenador. Las combinaciones de lo que antecede también deberían ser incluidas dentro del alcance de los medios legibles por ordenador. Las instrucciones ejecutables por ordenador comprenden, por ejemplo, instrucciones y datos que hacen que un sistema de ordenador de propósito general, o un sistema de ordenador de propósito especial, realicen una cierta función o grupo de funciones. Las instrucciones ejecutables por ordenador pueden ser, por ejemplo, datos binarios, instrucciones de formato intermedio tales como código de lenguaje ensamblador, o incluso código fuente.
En esta descripción y en las siguientes reivindicaciones, un “sistema informático” está definido como uno o más módulos de software, uno o más módulos de hardware, o combinaciones de los mismos, que funcionan juntos para realizar operaciones sobre datos electrónicos. Por ejemplo, la definición de sistema de ordenador incluye los componentes de hardware de un ordenador personal, así como los módulos de software, tales como el sistema operativo del ordenador personal. El diseño físico de los módulos no es importante. Un sistema de ordenador puede incluir uno o más ordenadores acoplados mediante una red. Análogamente, un sistema de ordenador puede incluir un único dispositivo físico (tal como un teléfono móvil o un Asistente Digital Personal “PDA”), donde los módulos internos (tales como una memoria y un procesador) funcionan juntos para realizar operaciones sobre datos electrónicos.
Los expertos en la técnica apreciarán que la invención puede ser puesta en práctica en entornos informáticos en red, con muchos tipos de configuraciones de sistemas de ordenadores, que incluyen ordenadores personales, ordenadores portátiles, dispositivos de mano, sistemas multiprocesadores, electrónica de consumo basada en microprocesadores, o programable, ordenadores personales en red, miniordenadores, ordenadores centrales, teléfonos móviles, agendas electrónicas, buscapersonas y similares. La invención también puede ser puesta en práctica en entornos de sistemas distribuidos, donde realizan tareas sistemas de ordenadores tanto locales como remotos, que están enlazados (ya sea por enlaces de datos cableados, enlaces de datos inalámbricos, o por una combinación de enlaces de datos cableados e inalámbricos) a través de una red. En un entorno de sistemas distribuidos, los módulos de programa pueden ser ubicados en dispositivos de almacenamiento de memoria tanto local como remota.
La Figura 1 y la siguiente exposición están concebidas para proporcionar una breve descripción general de un entorno informático adecuado en el cual pueda ser implementada la invención. Aunque no se requiere, la invención será descrita en el contexto general de instrucciones ejecutables por ordenador, tales como módulos de programa, ejecutados por sistemas de ordenador. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos y similares, que realizan tareas específicas o implementan tipos específicos de datos abstractos. Las instrucciones ejecutables por ordenador, las estructuras de datos asociadas y los módulos de programa representan ejemplos de los medios de código de programa para ejecutar actos de los procedimientos revelados en la presente memoria.
Con referencia a la Figura 1, un sistema ejemplar para implementar la invención incluye un dispositivo informático de propósito general, en forma del sistema 120 de ordenador, que incluye una unidad 121 de procesamiento, una memoria 122 del sistema y un bus 123 del sistema que acopla diversos componentes del sistema, incluyendo la memoria 122 del sistema con la unidad 121 de procesamiento. La unidad 121 de procesamiento puede ejecutar instrucciones ejecutables por ordenador diseñadas para implementar características del sistema 120 de ordenador, incluyendo características de la presente invención. El bus 123 del sistema puede ser cualquiera entre diversos tipos de estructuras de bus, que incluyen un bus de memoria o controlador de memoria, un bus periférico y un bus local, usando cualquiera entre una amplia variedad de arquitecturas de bus. La memoria del sistema incluye la memoria de sólo lectura (“ROM”) 124 y la memoria de acceso aleatorio (“RAM”) 125. Un sistema básico de entrada / salida (“BIOS”) 126, que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro del sistema 120 de ordenador, tal como durante el arranque, puede ser almacenado en la ROM 124.
El sistema 120 de ordenador también puede incluir el controlador 127 de disco rígido magnético, para leer de, y escribir en, el disco rígido magnético 139, el controlador 128 de disco magnético para leer de, o escribir en, el disco magnético extraíble 129, y el controlador 130 de disco óptico para leer de, o escribir en, el disco óptico extraíble 131, tal como, por ejemplo, un CD-ROM u otros medios ópticos. El controlador 127 de disco rígido magnético, el controlador 128 de disco magnético y el controlador 130 de disco óptico están conectados con el bus 123 del sistema por la interfaz 132 de controlador de disco rígido, la interfaz 133 de controlador de disco magnético y la interfaz 134 de controlador óptico, respectivamente. Los controladores y sus medios asociados legibles por ordenador proporcionan el almacenamiento no volátil de instrucciones ejecutables por ordenador, estructuras de datos, módulos de programa y otros datos para el sistema 120 de ordenador. Aunque el entorno ejemplar descrito en la presente memoria emplea el disco rígido magnético 139, el disco magnético extraíble 129 y el disco óptico extraíble 131, pueden ser usados otros tipos de medios legibles por ordenador para almacenar datos, incluyendo los casetes magnéticos, las tarjetas de memoria flash, los discos versátiles digitales, los cartuchos de Bernoulli, las memorias RAM, las memorias ROM y similares.
Los medios de código de programa que comprendan uno o más módulos de programa pueden ser almacenados en el disco rígido 139, el disco magnético 129, el disco óptico 131, la ROM 124 o la RAM 125, incluso un sistema operativo 135, uno o más programas 136 de aplicación, otros módulos 137 de programa y los datos 138 de programa. Un usuario puede ingresar comandos e información en el sistema 120 de ordenador a través del teclado 140, el dispositivo puntero 142 u otros dispositivos de entrada (no mostrados) tales como, por ejemplo, un micrófono, una palanca de juegos, un panel de juegos, un escáner o similares. Estos y otros dispositivos de entrada pueden ser conectados con la unidad 121 de procesamiento a través de la interfaz 146 de entrada / salida, acoplada al bus 123 del sistema. La interfaz 146 de entrada / salida representa lógicamente a cualquiera entre una amplia variedad de distintas interfaces, tales como, por ejemplo, una interfaz de puerto en serie, una interfaz PS/2, una interfaz de puerto paralelo, una interfaz del Bus Universal en Serie (“USB”) o una interfaz 1394 del Instituto de Ingenieros Eléctricos y Electrónicos (“IEEE”) (es decir, una interfaz FireWire); o incluso puede representar lógicamente a una combinación de distintas interfaces.
Un monitor 147, u otro dispositivo visor, también está conectado con el bus 123 del sistema mediante el adaptador 148 de vídeo. Los altavoces 169, u otro dispositivo de salida de audio, también están conectados con el bus 123 del sistema mediante la interfaz 149 de audio. Otros dispositivos periféricos de salida (no mostrados) tales como, por ejemplo, impresoras, también pueden estar conectados con el sistema 120 de ordenador. El sistema 120 de ordenador es conectable con redes tales como, por ejemplo, una red de ordenadores de ámbito de oficina o de ámbito de empresa, una red casera, una intranet y / o Internet. El sistema 120 de ordenador puede intercambiar datos con fuentes externas tales como, por ejemplo, sistemas de ordenadores remotos, aplicaciones remotas y / o bases de datos remotas, por dichas redes.
El sistema 120 de ordenador incluye la interfaz 153 de red, a través de la cual el sistema 120 de ordenador recibe datos desde fuentes externas y / o transmite datos a fuentes externas. Según se ilustra en la Figura 1, la interfaz 153 de red facilita el intercambio de datos con el sistema 183 de ordenador remoto, mediante el enlace 151. La interfaz 153 de red puede representar lógicamente uno o más módulos de software y / o hardware, tales como, por ejemplo, una tarjeta de interfaz de red y la correspondiente pila de la Especificación de Interfaz de Controlador de Red (“NDIS”). El enlace 151 representa una parte de una red (p. ej., un segmento de Ethernet) y el sistema 183 de ordenador remoto representa un nodo de la red. Por ejemplo, el sistema 183 de ordenador remoto puede ser el sistema de ordenador servidor que proporciona al sistema 120 de ordenador acceso basado en la Red a los recursos (p. ej., mensajes de correo electrónico). Por otra parte, el sistema 183 de ordenador remoto puede ser un sistema de ordenador cliente que usa el acceso basado en la Red para acceder a recursos desde el sistema 120 de ordenador.
Análogamente, el sistema 120 de ordenador incluye la interfaz 146 de entrada / salida, a través de la cual el sistema 120 de ordenador recibe datos desde fuentes externas y / o transmite datos a fuentes externas. La interfaz 146 de entrada / salida está acoplada con el módem 154 (p. ej., un módem estándar, un módem de cable, o un módem de línea digital de abonado (“DSL”)) mediante el enlace 159, a través del cual el sistema 120 de ordenador recibe datos desde, y / o transmite datos a, fuentes externas. Según lo ilustrado en la Figura 1, la interfaz 146 de entrada / salida y el módem 154 facilitan el intercambio de datos con el sistema 193 de ordenador remoto, mediante el enlace 152. El enlace 152 representa una parte de una red y el sistema 193 de ordenador remoto representa un nodo de la red. Por ejemplo, el sistema 193 de ordenador remoto puede ser un sistema de ordenador servidor que proporciona al sistema 120 de ordenador acceso basado en la Red a los recursos (p. ej., mensajes de correo electrónico). Por otra parte, el sistema 193 de ordenador remoto puede ser un sistema de ordenador cliente que usa el acceso basado en la Red para acceder a recursos desde el sistema 120 de ordenador.
Si bien la Figura 1 representa un entorno operativo adecuado para la presente invención, los principios de la presente invención pueden ser empleados en cualquier sistema que sea capaz, con la modificación adecuada, si es necesario, de implementar los principios de la presente invención. El entorno ilustrado en la Figura 1 es ilustrativo solamente y en modo alguno representa siquiera una pequeña parte de la amplia variedad de entornos en los cuales pueden ser implementados los principios de la presente invención.
Los módulos de la presente invención, así como los datos de programa asociados, pueden ser almacenados y admiten acceso desde cualquiera de los medios legibles por ordenador asociados al sistema 120 de ordenador. Por ejemplo, partes de tales módulos y partes de los datos de programa asociados pueden estar incluidos en el sistema operativo 135, los programas 136 de aplicación, los módulos 137 de programa y / o los datos 138 de programa, para su almacenamiento en la memoria 122 del sistema. Cuando un dispositivo de almacenamiento masivo, tal como, por ejemplo, el disco rígido magnético 139, está acoplado con el sistema 120 de ordenador, tales módulos y datos de programa asociados pueden también ser almacenados en el dispositivo de almacenamiento masivo. En un entorno en red, los módulos de programa ilustrados con respecto al sistema 120 de ordenador, o partes de los mismos, pueden ser almacenados en dispositivos remotos de almacenamiento de memoria, tales como la memoria del sistema y / o los dispositivos de almacenamiento masivo asociados al sistema 183 de ordenador remoto y / o al sistema 193 de ordenador remoto. La ejecución de tales módulos puede ser realizada en un entorno distribuido, según lo descrito anteriormente.
La Figura 2 ilustra un ejemplo de arquitectura 200 de red que facilita asegurar las credenciales de parte del cliente cuando
un cliente solicita acceso a un recurso en un servidor. El sistema 201 de ordenador cliente y el sistema 211 de ordenador servidor pueden estar conectados con una red común, tal como, por ejemplo, una Red de Área Local (“LAN”), una Red de Área Amplia (“WAN”) o incluso Internet. El sistema 201 de ordenador cliente incluye el explorador 202, que puede ser usado para solicitar el acceso basado en la Red a recursos y presentar los recursos recibidos en el sistema 201 de ordenador cliente. Los señuelos 203 pueden incluir uno o más señuelos que almacenan partes de datos previamente recibidos desde sistemas de ordenadores servidores. Los datos en los señuelos 203 pueden ser enviados a un correspondiente sistema de ordenador servidor para indicar información o preferencias personalizadas al sistema de ordenador servidor y / o para liberar a un usuario de tener que ingresar manualmente una parte de información almacenada.
El sistema 211 de ordenador servidor incluye el servidor 212 de correo electrónico, que brinda acceso a recursos del correo electrónico tales como, por ejemplo, mensajes de correo electrónico, información de la libreta de direcciones e información de calendario. Para ser autorizado a acceder a recursos del correo electrónico, puede requerirse a un usuario suministrar credenciales al servidor 212 de correo electrónico, para autenticarse en el servidor 212 de correo electrónico. El servidor 212 de correo electrónico puede comparar las credenciales recibidas con las credenciales autorizadas en la base 213 de datos de credenciales, para determinar si ha de concederse una solicitud para acceder a recursos del correo electrónico. Cuando un usuario es autorizado, el servidor 212 de correo electrónico puede devolver recursos solicitados del correo electrónico a un sistema de ordenador cliente solicitante. Cuando un usuario no es autorizado, el servidor 212 de correo electrónico puede devolver un mensaje de desautorización (p. ej., un mensaje del Protocolo de Transferencia de HiperTexto (“HTTP”) con código de estado 401 No autorizado) a un sistema de ordenador cliente solicitante.
El sistema 211 de ordenador servidor también incluye el módulo 214 de generación de claves. El módulo 214 de generación de claves puede generar y rotar nuevas claves como claves rotativas 220 y puede eliminar por rotación las claves caducadas de las claves rotativas 220. El módulo 214 de generación de claves puede ser configurado para mantener uno o más almacenes de claves rotativas. Por ejemplo, en la arquitectura 200 de red, el módulo 214 de generación de claves mantiene el almacén 221 de claves rotativas no fiables y el almacén 231 de claves rotativas privadas.
El intervalo temporal especificado en que se rotan las claves es configurable. Es decir, el módulo 214 de generación de claves puede ser configurado para rotar las claves recientemente generadas hacia, y eliminar las claves caducadas de, un almacén de claves rotativas, a intervalos especificados. Por ejemplo, el módulo 214 de generación de claves puede insertar una nueva clave en, y eliminar una clave caducada de, el almacén 231 de claves rotativas privadas cada 10 minutos. El número de claves mantenidas en un almacén de claves rotativas también es configurable. Es decir, el módulo 214 de generación de claves también puede ser configurado para mantener un número especificado de claves en un almacén de claves rotativas. Por ejemplo, el módulo 214 de generación de claves puede ser configurado para mantener 3 claves en el almacén 221 de claves rotativas no fiables.
El número de claves mantenidas y de intervalos especificados puede diferir entre los almacenes de claves rotativas. Por ejemplo, el módulo 214 de generación de claves puede mantener 3 claves con un intervalo de rotación especificado de cinco minutos en el almacén 221 de claves no fiables y cuatro claves con un intervalo de rotación especificado de una hora en el almacén 231 de claves privadas. Según las propiedades asociadas a un sistema de ordenador cliente, pueden ser utilizados distintos almacenes de claves para implementar los principios de la presente invención. Las flechas ilustradas debajo de las claves en los almacenes de claves rotativas indican que las claves rotan hacia abajo cuando se añade una nueva clave, hasta que las claves caducadas sean eventualmente eliminadas por rotación del almacén de claves rotativas. Por ejemplo, cuando se añade una nueva clave al almacén 231 de claves rotativas privadas, la clave 232 rotará hacia la posición de la clave 233.
El sistema 211 de ordenador servidor también incluye la página 217 de conexión. La página 217 de conexión puede ser una página de la Red (p. ej., una página de las Páginas Activas de Servidor (“ASP”)) que proporciona una interfaz para presentar credenciales de usuario y seleccionar propiedades de comunicación asociadas a un sistema de ordenador cliente. En respuesta a un sistema de ordenador cliente que accede a un Identificador Uniforme de Recursos (“URI”) correspondiente a la página 217 de conexión, el sistema 211 de ordenador servidor puede enviar la página 217 de conexión al sistema de ordenador cliente. Un explorador en el lado del cliente puede presentar la página 217 de conexión en un sistema de ordenador cliente. Las credenciales de usuario y las selecciones de propiedades de comunicación presentadas en la página 217 de conexión pueden ser enviadas al sistema 211 de ordenador servidor.
El sistema de ordenador servidor también incluye el filtro 243 de comunicación. El filtro 243 de comunicación puede interceptar la comunicación del HTTP, tal como, por ejemplo, solicitudes, respuestas y mensajes que son transferidos hacia y desde el sistema 211 de ordenador servidor. El filtro 243 de comunicación puede referirse a información de estado de cliente incluida en señuelos cifrados para determinar si la comunicación del HTTP entre el sistema 211 de ordenador servidor y un sistema de ordenador cliente debería ser alterada (p. ej., modificando las cabeceras del HTTP). El filtro 243 de comunicación también puede implementar algoritmos criptográficos (utilizando claves de un almacén de claves rotativas) para descifrar y validar credenciales de usuario.
El sistema 211 de ordenador servidor también incluye el validador 216 de elementos de conexión. El validador 216 de elementos de conexión puede recibir credenciales de usuario presentadas, ingresadas en la página 217 de conexión, e implementar algoritmos criptográficos (utilizando claves de un almacén de claves rotativas) para rubricar digitalmente y cifrar las credenciales de usuario presentadas. El validador 216 de elementos de conexión también puede generar identificadores únicos de sesión (p. ej., Identificadores Globalmente Únicos (“GUID”)) para sistemas de ordenador cliente que solicitan acceso basado en la Red a recursos del sistema 211 de ordenador servidor. El validador 216 de elementos de conexión puede enviar identificadores únicos de sesión e información cifrada, incluso credenciales de usuario y firmas digitales dependientes del tiempo, a sistemas de ordenadores clientes. Por ejemplo, el validador 216 de elementos de conexión puede enviar identificadores únicos de sesión y credenciales de usuario cifradas al sistema 201 de ordenador cliente, para su almacenamiento en los señuelos 203.
La Figura 3 ilustra un diagrama ejemplar de flujo de un procedimiento 300 para asegurar las credenciales de parte del cliente cuando un cliente solicita acceso a un recurso en un servidor. El procedimiento 300 será descrito con respecto al sistema de ordenador cliente y al sistema de ordenador servidor ilustrados en la Figura 2A. El procedimiento 300 incluye un acto de enviar una primera solicitud a un servidor (acto 301). El acto 301 puede incluir un sistema de ordenador cliente que envía una primera solicitud para el acceso basado en la Red a un recurso (p. ej., un mensaje de correo electrónico) en el servidor.
Por ejemplo, el sistema 201 de ordenador cliente puede enviar la solicitud 251, que incluye el URI 267 del servidor de correo, al sistema 211 de ordenador servidor. El URI 267 del servidor de correo puede ser un URI que corresponde al servidor 212 de correo electrónico. Es decir, los usuarios que desean acceder a recursos del correo electrónico mantenidos por el servidor de correo electrónico pueden intentar el acceso basado en la Red a los recursos del correo electrónico, accediendo al URI 267 del servidor de correo. En consecuencia, puede ser que un usuario en el sistema 201 de ordenador cliente ingrese comandos en el explorador 202 para hacer que el sistema 201 de ordenador cliente envíe la solicitud 251.
El procedimiento 300 incluye un acto de recibir una primera solicitud desde un cliente (acto 306). El acto 306 puede incluir un sistema de ordenador servidor que recibe una primera solicitud de acceso basado en la Red a un recurso (p. ej., el mensaje de correo electrónico) en el servidor. Por ejemplo, el sistema 211 de ordenador servidor puede recibir la solicitud 251, que incluye el URI 267 del servidor de correo, desde el sistema 201 de ordenador cliente. Según lo indicado por la línea discontinua a través del filtro 243 de comunicación, el filtro 243 de comunicación puede ser configurado para permitir que la solicitud 251 pase, sin alterar la solicitud 251. En consecuencia, la solicitud 251 puede ser remitida al servidor 212 de correo electrónico sin modificación.
El procedimiento 300 incluye una etapa funcional orientada a resultados para asegurar las credenciales de parte del cliente (etapa 311). La etapa 311 puede incluir cualquier acto correspondiente para asegurar las credenciales de parte del cliente. Sin embargo, en el ejemplo ilustrado de la Figura 3, la etapa 311 incluye un acto correspondiente de redirección del cliente a una página de conexión, en respuesta a la primera solicitud (acto 307). El acto 307 puede incluir que el sistema de ordenador servidor redirija el sistema de ordenador cliente a una página de conexión, en respuesta a la primera solicitud.
En respuesta a la solicitud 251, el servidor 212 de correo electrónico puede enviar la respuesta 252, que incluye el indicador 272 de desautorización. La respuesta 252 puede ser un mensaje del HTTP con el código de estado 401 No autorizado, devuelto como resultado de no incluir la solicitud 251 las credenciales del usuario. El filtro 243 de comunicación puede ser configurado para interceptar mensajes que incluyen indicadores de desautorización. En consecuencia, el filtro 243 de comunicación puede interceptar la respuesta 252.
El filtro 243 de comunicación puede modificar el contenido de la respuesta 252 (p. ej., cambiando las cabeceras del HTTP) para hacer que el sistema 201 de ordenador cliente sea redirigido a una página de conexión que proporciona una interfaz para ingresar credenciales de usuario. Por ejemplo, el filtro 243 de comunicación puede eliminar el indicador 272 de desautorización de la respuesta 252 e insertar el URI 263 de la página de conexión y el indicador 271 de redirección en la respuesta 252, dando como resultado la respuesta 252A. La respuesta 252A puede ser un mensaje del HTTP con código de estado 302 Hallado. El URI 263 de la página de conexión puede ser un URI usado para acceder a la página 217 de conexión. En consecuencia, la respuesta 252A puede indicar al sistema 201 de ordenador cliente que el recurso solicitado (p. ej., el mensaje de correo electrónico) es, en cambio, el acceso en el URI 263 de la página de conexión.
El procedimiento 300 incluye un acto para ser redirigido a una página de conexión (acto 302). El acto 302 puede incluir que un sistema de ordenador cliente sea redirigido a una página de conexión que proporciona una interfaz para aceptar credenciales de usuario. Por ejemplo, el sistema 201 de ordenador cliente puede ser redirigido a la página 217 de conexión. En respuesta a la recepción de la respuesta 252A, el sistema 201 de ordenador cliente puede enviar la solicitud 257, que incluye el URI 263 de la página de conexión, al sistema 211 de ordenador servidor. En respuesta a la solicitud 257, el sistema 211 de ordenador servidor puede enviar la respuesta 258, que incluye la página 217 de conexión, al sistema 201 de ordenador cliente. Una página de conexión puede ser una página de la Red, tal como, por ejemplo, una
página de las Páginas Activas de Servidor (“ASP”).
El explorador 202 puede presentar la página 217 de conexión en el sistema 201 de ordenador cliente. Avanzando desde la Figura 3 y con referencia ahora a la Figura 6, la Figura 6 ilustra una página 600 ejemplar de conexión que puede aceptar credenciales de usuario y selecciones de propiedades de comunicación, de acuerdo a los principios de la presente invención. La página 217 de conexión puede ser similar a la página 600 de conexión. La página 600 de conexión incluye el campo 606, que puede aceptar un identificador de usuario, y el campo 607, que puede aceptar una correspondiente contraseña.
El botón 601 de radio puede ser usado para aceptar una selección de propiedades de comunicación que indica que un explorador del lado del cliente es un “Cliente Avanzado”. El botón 602 de radio puede ser usado para aceptar una selección de propiedades de comunicación que indica que un explorador del lado del cliente es un “Cliente de Nivel Bajo”. Un Cliente Avanzado puede incluir la funcionalidad para realizar un procesamiento más avanzado, tal como, por ejemplo, la ejecución de guiones o la presentación de salidas de multimedios. Por otra parte, un Cliente de Nivel Bajo no puede incluir la funcionalidad para realizar el procesamiento avanzado. En consecuencia, la riqueza del contenido devuelto desde un servidor puede ser ajustado adecuadamente, según las capacidades de un explorador del lado del cliente. Cuando un Cliente Avanzado está conectado con un servidor por una conexión de ancho de banda reducido y / o de alta latencia (p. ej., una conexión por discado telefónico), una selección de Cliente de Nivel Bajo puede reducir la magnitud del contenido devuelto desde el servidor.
El botón 603 de radio puede ser usado para aceptar una selección de propiedades de comunicación que indica que un explorador del lado del cliente está en un “Sistema de Ordenador Cliente No Fiable”. El botón 604 de radio puede ser usado para aceptar una selección de propiedades de comunicación que indica que un explorador del lado del cliente está en un “Sistema Privado de Ordenador Cliente”. Un Sistema Privado de Ordenador Cliente puede ser un sistema de ordenador cliente de un hogar, o una corporación, que tiene acceso público limitado (o incluso ninguno). Un “Sistema de Ordenador Cliente No Fiable” puede ser un sistema de ordenador cliente que tiene acceso público aumentado, tal como, por ejemplo, un kiosco de Internet en un hotel o aeropuerto. En consecuencia, la seguridad asociada al contenido devuelto desde un servidor puede ser adecuadamente ajustado, según la fiabilidad de un sistema de ordenador cliente. El botón 608 puede ser seleccionado para enviar las credenciales de usuario ingresadas y las propiedades de comunicación seleccionadas a un sistema de ordenador servidor.
Avanzando desde la Figura 6 y con referencia ahora a la Figura 5, la Figura 5 ilustra un diagrama ejemplar de flujo de un procedimiento 500 para determinar las propiedades de comunicación asociadas a un cliente, de acuerdo a los principios de la presente invención. El procedimiento 500 será descrito con respecto al sistema de ordenador cliente y el sistema de ordenador servidor, ilustrados en la arquitectura 200 de red. El procedimiento 500 incluye un acto de enviar una página de conexión a un cliente (acto 501). El acto 501 puede incluir un sistema de ordenador servidor que envía una página de conexión que incluye una interfaz para seleccionar una o más propiedades de comunicación que pueden alterar cómo han de procesarse los mensajes del HTTP. Por ejemplo, el sistema 211 de ordenador servidor puede enviar la página 600 de conexión (o una página de conexión similar) al sistema 201 de ordenador cliente.
El procedimiento 500 incluye un acto de recibir una página de conexión desde un servidor (acto 505). El acto 505 puede incluir un sistema de ordenador cliente que recibe una página de conexión que incluye una interfaz para seleccionar una o más propiedades de comunicación que pueden alterar cómo el servidor procesa los mensajes del HTTP. Por ejemplo, el sistema 201 de ordenador cliente puede recibir la página 600 de conexión (o una página de conexión similar). El procedimiento 500 incluye un acto de presentación de la página de conexión al cliente (acto 506). El acto 506 puede incluir un explorador en un sistema de ordenador cliente, que presenta la página de conexión en el sistema de ordenador cliente. Por ejemplo, el explorador 202 puede presentar la página 600 de conexión (una página de conexión similar) en el sistema 201 de ordenador cliente.
El procedimiento 500 incluye un acto de recepción de selecciones de al menos una entre una o más propiedades de comunicación (acto 507). El acto 507 puede incluir un sistema de ordenador cliente que recibe selecciones de al menos una entre una o más propiedades de comunicación en la página de conexión. Por ejemplo, un usuario en el sistema 201 de ordenador cliente puede manipular un dispositivo de entrada (p. ej., un teclado y / o ratón) para ingresar selecciones de propiedades de comunicación en la página 600 de conexión. La página 600 de conexión puede recibir selecciones ingresadas por el usuario. Por ejemplo, la página 600 de conexión puede recibir selecciones ingresadas por el usuario, bien del botón 601 de radio o bien del botón 602 de radio, y selecciones ingresadas por el usuario, bien del botón 603 de radio o bien del botón 604 de radio (potencialmente, junto con la recepción de credenciales ingresadas por el usuario en los campos 606 y 607).
El procedimiento 500 incluye un acto de enviar las selecciones de propiedades de comunicación a un filtro de comunicación en el servidor (acto 508). El acto 508 puede incluir un sistema de ordenador cliente que envía las selecciones de propiedades de comunicación a un filtro de comunicación en el sistema de ordenador servidor. Por ejemplo, el sistema 201 de ordenador cliente puede enviar selecciones de propiedades de comunicación (p. ej., junto con
las credenciales ingresadas por el usuario) al sistema 211 de ordenador servidor. El procedimiento 500 incluye un acto de recepción de al menos una selección de propiedades de comunicación desde el cliente (acto 502). El acto 502 puede incluir que el sistema de ordenador servidor reciba selecciones de al menos una entre una o más propiedades de comunicación seleccionables en la página de conexión. Por ejemplo, el filtro 243 de comunicación puede recibir una o más selecciones de propiedades de comunicación (p. ej., seleccionadas en la página 600 de conexión) desde el sistema 201 de ordenador cliente.
El procedimiento 500 incluye un acto de interrogación del cliente para determinar si las al menos una selecciones de propiedades de comunicación recibidas disponen de soporte, así como para identificar otras propiedades de comunicación relevantes con soporte por parte del cliente (acto 503). El acto 503 puede incluir un sistema de ordenador servidor que interroga a un sistema de ordenador cliente para determinar si las selecciones de propiedades de comunicación recibidas disponen de soporte, y para identificar otras propiedades de comunicación relevantes con soporte por parte del cliente. Por ejemplo, un sistema de ordenador servidor puede determinar las capacidades del sistema de ordenador cliente usando una cabecera del HTTP de Usuario-Agente y el conocimiento previo del sistema de ordenador cliente. Las capacidades adicionales de un sistema de ordenador cliente pueden ser determinadas a través de una página de conexión y a partir de guiones (p. ej., guiones de JavaScript) que se ejecutan dentro de la página de conexión en el sistema de ordenador cliente.
Alternativamente, la interrogación de un sistema de ordenador cliente puede incluir enviar solicitudes al sistema de ordenador cliente que hacen que el sistema de ordenador cliente revele información de configuración a un sistema de ordenador servidor. Por ejemplo, el sistema 211 de ordenador servidor puede enviar solicitudes al sistema 201 de ordenador cliente, solicitando la configuración del explorador 202. En respuesta, el explorador 202 puede indicar información de configuración tal como, por ejemplo, un número de versión, y si el explorador 202 presta o no soporte a la compresión del HTTP, tal como la compresión gzip. En base a un número de versión, el sistema 211 de ordenador servidor puede determinar si una selección de “Cliente Avanzado” en la página 600 de conexión fue o no adecuada. Por ejemplo, el sistema de ordenador servidor puede ser capaz de determinar que la versión del explorador de 202 no da soporte a guiones. Así, incluso si fuera seleccionado el “Cliente Avanzado”, el sistema de ordenador servidor puede proporcionar contenido simplificado al sistema 201 de ordenador cliente.
La simplificación del contenido puede incluir reducir la cantidad de contenido que es entregada a un sistema de ordenador cliente. Por ejemplo, en respuesta a una solicitud, de cliente de nivel bajo, de información de ayuda, un sistema de ordenador servidor puede devolver información de ayuda reducida (menos locuaz). Por otra parte, en respuesta a la solicitud, de un cliente avanzado, de información de ayuda, un sistema de ordenador servidor puede devolver información de ayuda aumentada, por ejemplo, incluir guiones de búsqueda y otra funcionalidad avanzada. Un sistema de ordenador servidor también puede variar el contenido entregado en base a la fiabilidad de un sistema de ordenador cliente. Por ejemplo, un sistema de ordenador servidor puede proporcionar información de ayuda, acerca de cómo acceder a datos corporativos sensibles, a un sistema privado de ordenador cliente, pero puede no proporcionar la misma información a un sistema de ordenador de cliente no fiable.
Puede ser que el sistema 211 de ordenador servidor pruebe el explorador 202 para verificar que las características publicitadas están adecuadamente dotadas de soporte. Por ejemplo, cuando el explorador 202 indica soporte para la compresión gzip, el sistema 211 de ordenador servidor puede enviar un contenido comprimido por gzip al sistema 201 de ordenador cliente, para determinar si el explorador 202 procesa adecuadamente el contenido comprimido por gzip. Puede ser que el sistema 201 de ordenador cliente configure una cabecera de solicitud adecuada, que indique el soporte para la compresión por gzip. El sistema 201 de ordenador cliente puede incluir la cabecera de solicitud adecuada en una solicitud del cliente que es enviada a, y recibida en, el sistema 211 de ordenador servidor. En respuesta, el sistema 211 de ordenador servidor puede interrogar el sistema 201 de ordenador cliente para determinar si el sistema 201 de ordenador cliente almacena adecuadamente en memoria caché el contenido comprimido por gzip y si procesa el contenido comprimido por gzip de una manera que no afecte, por detrimento, la seguridad e integridad de una aplicación basada en la Red.
El procedimiento 500 incluye un acto de configuración del filtro de comunicación, de acuerdo a las propiedades de comunicación seleccionadas e identificadas (acto 504). El acto 504 puede incluir un sistema de ordenador servidor que configura el filtro de comunicación para procesar la comunicación del HTTP con el cliente, de acuerdo a propiedades de comunicación seleccionadas cualesquiera, y a otras propiedades relevantes identificadas que disponen de soporte por parte del cliente. Por ejemplo, el sistema 211 de ordenador servidor puede configurar el filtro 243 de comunicación para procesar la comunicación del HTTP con el sistema 201 de ordenador cliente, de acuerdo a las selecciones de propiedades de comunicación (p. ej., un sistema de ordenador de Cliente Avanzado o de Cliente No Fiable) y a otras propiedades de comunicación relevantes identificadas (p. ej., el soporte para la compresión del HTTP) del explorador 202.
Cuando un mensaje del HTTP ha de ser enviado desde el sistema 211 de ordenador servidor al sistema 201 de ordenador cliente, el filtro 243 de comunicación puede alterar las cabeceras de mensajes del HTTP y el contenido del mensaje del HTTP, para hacer que el contenido sea conforme a las propiedades de comunicación para el sistema 201 de ordenador
cliente. Por ejemplo, si el servidor 212 de correo electrónico envía un mensaje con información de correo electrónico no comprimida al sistema 201 de ordenador cliente, el filtro 243 de comunicación puede interceptar el mensaje, comprimir por gzip el contenido y alterar las cabeceras del mensaje para indicar que la información de correo electrónico está comprimida por gzip. Alternativamente, otros módulos del sistema de ordenador servidor tales como, por ejemplo, módulos de un Servidor de Información de Internet (“IIS”), pueden implementar la compresión por gzip. En consecuencia, el contenido puede ser presentado a un sistema de ordenador cliente de una manera que utilice óptimamente las capacidades del sistema de ordenador cliente, y según los deseos de un usuario.
Cuando el sistema 211 de ordenador servidor recibe una selección que india que un explorador del lado del cliente está en un “Sistema Privado de Ordenador Cliente”, un almacén privado de claves rotativas tal como, por ejemplo, el almacén 231 de claves privadas, puede ser utilizado para asegurar credenciales de usuario. Por otra parte, cuando el sistema 211 de ordenador servidor recibe una selección que indica que un explorador del lado del cliente es un “Sistema de Ordenador Cliente No Fiable”, un almacén no fiable de claves rotativas, tal como el almacén 221 no fiable de claves, puede ser utilizado para asegurar credenciales de usuario.
Así, hay una realización en un sistema de ordenador servidor que incluye un filtro de comunicación, donde el filtro de comunicación es capaz de alterar cabeceras de mensajes, y un procedimiento para determinar propiedades de comunicación asociadas a un sistema de ordenador cliente comprende: un acto de envío de una página de conexión al sistema de ordenador cliente, incluyendo la página de conexión una interfaz para seleccionar una o más propiedades de comunicación seleccionables que puedan alterar cómo han de ser procesados los mensajes del HTTP; un acto de recepción de selecciones de al menos una de dichas una o más propiedades de comunicación seleccionables desde la página de conexión, indicando las propiedades de comunicación seleccionadas al filtro de comunicación cómo ha de ser procesada la comunicación del HTTP con el sistema de ordenador cliente; un acto de interrogación del sistema de ordenador cliente para determinar si dichas al menos una selecciones de propiedades de comunicación recibidas disponen de soporte, así como para identificar otras propiedades de comunicación relevantes con soporte por parte del sistema de ordenador cliente; y un acto de configuración del filtro de comunicación para procesar la comunicación del HTTP con el cliente, de acuerdo a cualquier propiedad de comunicación seleccionada y otras propiedades de comunicación relevantes identificadas que disponen de soporte por parte del cliente.
En el procedimiento, el acto de recepción de selecciones de al menos una entre dichas una o más propiedades de comunicación seleccionables desde la página de conexión puede comprender un acto de recepción de una selección de propiedades de comunicación que indica la fiabilidad del sistema de ordenador cliente.
En el procedimiento, el acto de recepción de selecciones de al menos una entre dichas una o más propiedades de comunicación seleccionables desde la página de conexión puede comprender un acto de recepción de una selección de propiedades de comunicación que indica las capacidades de procesamiento de contenido y / o el nivel deseado de funcionalidad del sistema de ordenador cliente.
En el procedimiento, un acto de interrogación del sistema de ordenador cliente puede comprender el acto de determinar que el sistema de ordenador cliente presta soporte a la compresión del HTTP.
Además, puede proporcionarse un procedimiento en un sistema de ordenador cliente. El procedimiento es para indicar las propiedades de comunicación deseadas a un sistema de ordenador servidor. El procedimiento comprende: un acto de recepción de una página de conexión desde el sistema de ordenador servidor, incluyendo la página de conexión una interfaz para seleccionar una o más propiedades de comunicación seleccionables, que pueden alterar cómo el servidor procesa los mensajes del HTTP; un acto de presentación de la página de conexión en el cliente; un acto de recepción de selecciones de al menos una entre dichas una o más propiedades de comunicación en la página de conexión; y un acto de envío de las selecciones de propiedades de comunicación a un filtro de comunicación en el sistema de ordenador servidor, indicando las selecciones de propiedades de comunicación al filtro de comunicación cómo ha de ser procesada la comunicación del HTTP con el sistema de ordenador cliente.
En el procedimiento, el acto de recepción de selecciones de al menos una entre dichas una o más propiedades de comunicación en la página de conexión puede comprender el acto de recibir una selección que indica la fiabilidad del sistema de ordenador cliente.
En el procedimiento, el acto de recepción de selecciones de al menos una entre dichas una o más propiedades de comunicación en la página de conexión puede comprender un acto de recibir una selección que indica las capacidades de procesamiento de contenido y / o el nivel deseado de funcionalidad del sistema de ordenador cliente.
En el procedimiento, el acto del envío de las selecciones de propiedades de comunicación a un filtro de comunicación en el sistema de ordenador servidor puede comprender un acto de envío de las selecciones de propiedades de comunicación junto con las credenciales de usuario.
Con referencia ahora de nuevo a la Figura 3, el procedimiento 300 incluye un acto de utilización de la página de conexión
para presentar credenciales al servidor (acto 303). El acto 303 puede incluir el sistema de ordenador cliente, utilizando la página de conexión para presentar credenciales al sistema de ordenador servidor. Por ejemplo, el sistema 201 de ordenador cliente puede utilizar la página 217 de conexión para presentar credenciales (en potencia, junto con selecciones de propiedades de comunicación) al sistema 211 de ordenador servidor. Las credenciales de usuario y las selecciones de propiedades de comunicación pueden ser incluidas como elementos de conexión en un mensaje de correo que es presentado a un validador del formato de elementos de conexión. Por ejemplo, el sistema 201 de ordenador cliente puede enviar el mensaje 254 de correo, que incluye elementos 273 de conexión, al sistema de ordenador servidor.
El procedimiento 300 incluye un acto de recepción de credenciales de usuario que fueron presentadas en la página de conexión (acto 308). El acto 308 puede incluir un sistema de ordenador servidor que recibe credenciales de usuario que fueron presentadas en la página de conexión. Por ejemplo, el sistema 211 de ordenador servidor puede recibir credenciales de usuario (en potencia, junto con las selecciones de propiedades de comunicación) desde el sistema 201 de ordenador cliente. Las credenciales y las selecciones de propiedades de comunicación pueden ser recibidas como elementos de conexión en un mensaje de correo. Por ejemplo, el sistema 211 de ordenador servidor puede recibir el mensaje 254 de correo, que incluye los elementos 273 de conexión, desde el sistema 201 de ordenador cliente. Según lo indicado por la línea discontinua a través del filtro 243 de comunicación, el filtro 243 de comunicación puede ser configurado para permitir que el mensaje 254 de correo pase sin alterar el mensaje 254 de correo. En consecuencia, el mensaje 254 de correo puede ser remitido al validador 216 de elementos de conexión sin modificación. Cuando corresponda, una conexión mutuamente autenticada, por ejemplo, usando la Seguridad de la Capa de Transporte (“TLS”)
o la Capa de Receptáculos Seguros (“SSL”), puede ser establecida entre un sistema de ordenador cliente y un sistema de ordenador servidor, para reducir la probabilidad de procesos maliciosos, o de usuarios “olfateando” paquetes, y para reducir la probabilidad de ataques de intermediarios.
El validador 216 de elementos de conexión también puede generar un identificador único, tal como, por ejemplo, unIdentificador Globalmente Único (“GUID”) para el sistema 201 de ordenador cliente. El validador 216 de elementos de conexión puede usar la firma digital y algoritmos de cifrado para asegurar las credenciales de usuario recibidas (p. ej., las incluidas en los elementos 273 de conexión). Por ejemplo, el validador 216 de elementos de conexión puede generar una firma digital usada para validar posteriormente credenciales de usuario recibidas. El validador 216 de elementos de conexión puede obtener una clave de firma, que puede ser usada para rubricar datos digitalmente, por troceo (p. ej., usando los algoritmos de troceo SHA1 o MD-5) de una combinación de una clave más actual en un almacén de claves rotativas, el identificador único generado y una primera cadena constante. En algunas realizaciones, una firma digital es representada como un Código de Autenticación de Mensaje Con rutinas de autentificación. En consecuencia, una clave de firma puede ser deducida según la Fórmula 1:
KSIG = SHA-1 (KROTATIVA MÁS ACTUAL, GUID, HMACCadenaClave)
FÓRMULA 1
En la Fórmula 1, KROTATIVA MÁS ACTUAL representa la clave más actual en el almacén adecuado de claves rotativas. Por ejemplo, cuando el explorador 202 está en un “Sistema Privado de Ordenador Cliente” (p. ej., según lo indicado por una selección de propiedades de comunicación), KROTATIVA MÁS ACTUAL representa la clave más actual en el almacén privado 231 de claves rotativas (p. ej., la clave 232). GUID representa un identificador único correspondiente al sistema 201 de ordenador cliente. HMACCadenaClave representa una cadena constante de texto. A partir de KSIG puede generarse un Código de Autenticación de Mensaje Con rutinas de autentificación según la Fórmula 2:
Firma Digital = HMAC (KSIG, (GUID, {nombre de usuario: contraseña}, Indicadores)}
FÓRMULA 2
En la Fórmula 2, HMAC representa un algoritmo de Código de Autenticación de Mensaje Con rutinas de autentificación tal como, por ejemplo, el descrito en la Solicitud de Comentarios (“RFC”) 2104. La parte de (GUID, {nombre de usuario: contraseña}, Indicadores) de la Fórmula 2 representa que el GUID, las credenciales de usuario y los indicadores que representan selecciones de propiedades de comunicación están incluidos como texto ingresado al algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación. Cuando corresponda, las credenciales de usuario pueden ser convertidas al formato de texto (p. ej., por codificación, por base64, de las credenciales de usuario) para su compatibilidad con un algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación. Aunque se describe en términos de un algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación, el algoritmo usado para generar una firma digital no es importante, y puede usarse prácticamente cualquier algoritmo de firma digital, digesto o código de autenticación.
El validador 216 de elementos de conexión también puede obtener una clave de cifrado, que puede ser usada para cifrar datos, troceando una combinación de una clave más actual en un almacén de claves rotativas, el identificador único y una
segunda cadena constante. En consecuencia, puede deducirse una clave de cifrado según la Fórmula 3:
KENC = SHA-1 (KROTATIVA MÁS ACTUAL, GUID, CifradoClaveCadena)
FÓRMULA 3
En la Fórmula 3, KROTATIVA MÁS ACTUAL representa la clave más actual proveniente de un almacén de claves rotativas que fue usada en la generación de la clave de firma. De tal modo, si la clave 232 fue usada para generar KSIG, la clave 232 también puede ser usada para generar KENC. GUID representa el identificador único correspondiente al sistema 201 de ordenador cliente. CifradoClaveCadena representa una cadena constante de texto que difiere de HMACClaveCadena. En consecuencia, la información cifrada puede ser generada según la Ecuación 4:
Información Cifrada = KENC [Firma Digital, {nombre de usuario: contraseña}, Indicadores]
FÓRMULA 4
En la Fórmula 4, la Firma Digital representa la Firma Digital generada por la Fórmula 2, {nombre de usuario: contraseña} representa las credenciales de usuario e Indicadores representa las selecciones de propiedades de comunicación.
La etapa 311 incluye un acto correspondiente de envío de información cifrada que representa al menos una parte de las credenciales de usuario y una firma dependiente del tiempo (acto 309). El acto 309 puede incluir el envío por el sistema de ordenador servidor de información cifrada que representa al menos una parte de las credenciales de usuario y una firma dependiente del tiempo al sistema de ordenador cliente. Por ejemplo, el validador 216 de elementos de conexión puede enviar el mensaje 255, que incluye el GUID 274 y las credenciales cifradas 275, al sistema 201 de ordenador cliente. Según lo indicado por la línea discontinua a través del filtro 243 de comunicación, el filtro 243 de comunicación puede ser configurado para permitir que el mensaje 255 pase sin alterar el mensaje 255. En consecuencia, el mensaje 255 puede ser remitido al sistema 201 de ordenador cliente sin modificación.
El procedimiento 300 incluye un acto de recepción de información cifrada que representa al menos una parte de las credenciales de usuario y una firma dependiente del tiempo (acto 304). El acto 304 puede incluir la recepción por el sistema de ordenador cliente de información cifrada que representa al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, desde el sistema de ordenador servidor. Por ejemplo, el sistema 201 de ordenador cliente puede recibir el mensaje 255, que incluye el GUID 274 y las credenciales cifradas 275, desde el sistema 211 de ordenador servidor. El mensaje 255 puede ser configurado para hacer que el sistema 201 de ordenador cliente almacene el GUID 274 y las credenciales cifradas 275 en los señuelos 203. Por ejemplo, el mensaje 255 puede ser configurado de la siguiente manera:
Fijar-Señuelo:idsesión={GUID};trayecto=/
Fijar-Señuelo:datoscred={Información Cifrada};trayecto=/
El procedimiento 300 incluye un acto de envío de una segunda solicitud que incluye la información cifrada (acto 305). El acto 305 puede incluir el envío por el sistema de ordenador cliente de una segunda solicitud de acceso basado en la Red al recurso (p. ej., el mensaje de correo electrónico solicitado en la primera solicitud). Por ejemplo, el sistema 201 de ordenador cliente puede enviar la solicitud 256, que incluye el URI 267 del servidor de correo, el GUID 274 y las credenciales cifradas 275, al sistema 211 de ordenador servidor. El procedimiento 300 incluye un acto de recepción de una segunda solicitud que incluye la información cifrada (acto 310). El acto 310 puede incluir la recepción por el sistema de ordenador servidor de una segunda solicitud para el acceso basado en la Red al recurso (p. ej., el mensaje de correo electrónico solicitado en la primera solicitud). Por ejemplo, el sistema 211 de ordenador servidor puede recibir la solicitud 256, que incluye el URI 267 del servidor de correo, el GUID 274 y las credenciales cifradas 275, desde el sistema 201 de ordenador cliente.
En algunas realizaciones, un sistema de ordenador cliente ya almacena los señuelos correspondientes con un GUID e información cifrada en la memoria del explorador. El GUID almacenado y la información cifrada pueden ser usados al solicitar acceso basado en la Red a un recurso (p. ej., datos de correo electrónico) en un servidor. La Figura 2B ilustra un ejemplo de arquitectura 200 de red que facilita la utilización de credenciales aseguradas del lado del cliente para acceder a un recurso en un servidor, de acuerdo a la presente invención. La Figura 4 ilustra un diagrama ejemplar de flujo de un procedimiento 400 para utilizar credenciales aseguradas del lado del cliente para acceder a un recurso en un servidor, de acuerdo a la presente invención. El procedimiento 400 será descrito con respecto al sistema de ordenador cliente y al sistema de ordenador servidor ilustrados en la Figura 2B.
El procedimiento 400 incluye un acto de envío de una solicitud, que incluye un identificador de sesión y credenciales de usuario cifradas, para el acceso basado en la Red a un recurso en un servidor (acto 401). El acto 401 puede incluir el envío por un sistema de ordenador cliente de una solicitud de acceso basado en la Red a un recurso en un sistema de ordenador servidor. Por ejemplo, el sistema 201 de ordenador cliente puede enviar la solicitud 291, que incluye el URI 267
del servidor de correo, el GUID 274 y las credenciales cifradas 275, al sistema 211 de ordenador servidor. El URI 267 del servidor de correo representa un URI que proporciona acceso a recursos de correo electrónico controlados por el servidor 212 de correo electrónico. El GUID 274 representa un identificador único de sesión que fue previamente enviado desde el sistema 211 de ordenador servidor al sistema 201 de ordenador cliente. Las credenciales cifradas 275 representan credenciales de usuario cifradas y una firma dependiente del tiempo, que fueron previamente enviadas desde el sistema 211 de ordenador servidor al sistema 201 de ordenador cliente. Las credenciales cifradas 275 pueden haber sido generadas a partir de una clave en un almacén adecuado de claves rotativas.
El procedimiento 400 incluye un acto de recepción de una solicitud, que incluye un identificador de sesión y credenciales de usuario cifradas, para el acceso basado en la Red a un recurso en el servidor (acto 404). El acto 404 puede incluir la recepción por el sistema de ordenador servidor de una solicitud para el acceso basado en la Red a un recurso en el sistema de ordenador servidor. Por ejemplo, el sistema 211 de ordenador servidor puede recibir la solicitud 291, que incluye el URI 267 del servidor de correo, el GUID 274 y las credenciales cifradas 275, desde el sistema 201 de ordenador cliente.
El procedimiento 400 incluye un acto de intento de validar las credenciales de usuario cifradas, usando la clave más actual en un almacén de claves rotativas (acto 405). El acto 405 puede incluir el intento por el sistema de ordenador servidor de validar al menos una parte de las credenciales de usuario, usando la clave más actual en un almacén de claves rotativas. Por ejemplo, cuando se indica que el explorador 202 está en un sistema privado de ordenador cliente, el sistema de ordenador servidor puede intentar validar las credenciales cifradas 275 usando la clave 232. Por otra parte, cuando se indica que el explorador 202 está en un sistema no fiable de ordenador cliente, el sistema de ordenador servidor puede intentar validar las credenciales cifradas 275 usando la clave 222. El validador 237 de credenciales puede obtener una clave de descifrado, que puede ser usada para descifrar datos, troceando una combinación de la clave más actual proveniente de un almacén adecuado de claves rotativas, el identificador único de sesión y la segunda cadena constante (usada al obtener la clave de cifrado). En consecuencia, una clave de descifrado puede ser deducida según la Fórmula 5:
KDCR = SHA-1 (KROTATIVA MÁS ACTUAL, GUID, CifradoClaveCadena)
FÓRMULA 5
En la Fórmula 5, KROTATIVA MÁS ACTUAL representa la clave más actual en un almacén adecuado de claves rotativas (p. ej., la clave 232 o la clave 222). GUID representa el identificador único correspondiente al sistema 201 de ordenador cliente. CifradoClaveCadena representa la cadena constante usada durante la obtención de KENC. En consecuencia, el validador 237 de credenciales puede descifrar la información cifrada para revelar una Firma Digital, Credenciales de Usuario e Indicadores que representan selecciones de propiedades de comunicación, según la Fórmula 6:
Firma Digital, {nombre de usuario:contraseña}, Indicadores = KDCR [Información Cifrada]
FÓRMULA 6
El validador 237 de credenciales puede obtener una clave de validación, que puede ser usada para generar una firma digital de validación, troceando una combinación de la clave más actual en un almacén adecuado de claves rotativas, el identificador único y una primera cadena constante. En algunas realizaciones, una firma digital de validación es representada como un Código de Autenticación de Mensaje Con rutinas de autentificación. En consecuencia, una clave de validación puede ser deducida según la Fórmula 7:
KVAL = SHA-1 (KROTATIVA MÁS ACTUAL, GUID, HMACClaveCadena)
FÓRMULA 7
En la Fórmula 7, KROTATIVA MÁS ACTUAL representa la clave más actual en un almacén adecuado de claves rotativas. GUID representa el identificador único correspondiente al sistema 201 de ordenador cliente. HMACClaveCadena representa la cadena constante de texto usada al obtener la clave de firma. A partir de KVAL, y usando las credenciales de usuario reveladas y los Indicadores de la Fórmula 6, puede generarse un Código de Autenticación de Mensaje Con rutinas de autentificación según la Fórmula 8:
Firma Digital de Validación = HMAC (KVAL, (GUID, {nombre de usuario: contraseña}, Indicadores)}
FÓRMULA 8
En la Fórmula 8, HMAC representa un algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación. La parte de (GUID, {nombre de usuario:contraseña}, Indicadores) de la Fórmula 8 representa que el GUID, las credenciales de usuario y los indicadores que representan selecciones de propiedades de comunicación están incluidos como texto introducido en el algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación. Aunque
está descrito en términos de un algoritmo del Código de Autenticación de Mensaje Con rutinas de autentificación, el algoritmo usado para generar una firma digital de validación no es importante, y puede usarse prácticamente cualquier algoritmo de firma digital, digesto o código de autenticación.
Cuando la firma digital de validación es igual a la firma digital, las credenciales de usuario representadas en las credenciales cifradas 275 son validadas. En consecuencia, el filtro 243 de comunicación construye una cabecera de autorización (p. ej., una cabecera de autorización del HTTP) que incluye las credenciales de usuario validadas. El filtro 243 de comunicación puede insertar la cabecera de autorización en la solicitud de acceso basado en la Red a un recurso. Por ejemplo, el filtro 243 de comunicación puede eliminar las credenciales cifradas 275 de la solicitud 291 e insertar las credenciales 289 en la solicitud 291, dando como resultado la solicitud 291A.
Cuando la firma digital de validación no es igual a la firma digital, las credenciales de usuario no son validadas. En consecuencia, el validador 237 de credenciales repite la funcionalidad de las Fórmulas 5, 6, 7 y 8 en base a la siguiente clave más actual en el almacén adecuado de claves rotativas. Por ejemplo, para un explorador del lado del cliente en un sistema privado de ordenador cliente, el validador 237 de credenciales puede usar la clave 233. Por otra parte, para un explorador del lado del cliente en un cliente no fiable, el validador 237 de credenciales puede usar la clave 223. El validador de credenciales puede intentar validar credenciales de usuario usando cada clave en un almacén adecuado de claves rotativas. Las credenciales de usuario validadas pueden ser incluidas en una cabecera de autorización adecuada.
En algunas realizaciones, se incluye un índice junto con las credenciales cifradas, para indicar la clave rotativa que ha de ser usada para intentar validar las credenciales cifradas (p. ej., la clave rotativa previamente usada para cifrar las credenciales). Por ejemplo, el sistema 201 de ordenador cliente puede incluir un índice, que identifica una clave rotativa en un almacén 221 no fiable de claves rotativas, o en un almacén 231 privado de claves rotativas, en la solicitud 291. Un índice puede ser un valor numérico (p. ej., 0, 1, 2, etc.) que identifica la generación de una clave rotativa que ha de ser usada. Por ejemplo, cuando el sistema 201 de ordenador cliente es un sistema privado de ordenador cliente, un índice 0 puede identificar la clave 232. De manera similar, cuando el sistema 201 de ordenador cliente es un sistema no fiable de ordenador cliente, un índice 2 puede identificar la clave 224. En consecuencia, el uso de un índice puede aumentar la eficacia del proceso de validación. Cuando las credenciales no son validadas con una clave rotativa identificada en un índice, entonces pueden ser usadas otras claves en un almacén correspondiente de claves rotativas para intentar validar las credenciales.
El procedimiento 400 incluye un acto de remisión de la solicitud a un módulo que controla el acceso basado en la Red al recurso solicitado (acto 406). El acto 406 puede incluir la remisión por el sistema de ordenador servidor de la solicitud a un módulo que controla el acceso basado en la Red al recurso. Por ejemplo, el filtro 243 de comunicación puede remitir la solicitud 291A, que incluye el URI 267 del servidor de correo y las credenciales 289 (según lo revelado a partir de las credenciales cifradas 275), al servidor 212 de correo electrónico. El servidor 212 de correo electrónico puede ser un módulo que controla el acceso basado en la Red a recursos de correo electrónico. El servidor 212 de correo electrónico puede comparar las credenciales 289 con la base 213 de datos de credenciales, para determinar si está autorizado el acceso basado en la Red a un recurso solicitado del correo electrónico.
El procedimiento 400 incluye un acto de determinación de si deberían obtenerse credenciales de usuario cifradas refrescadas a partir de la clave más actual en el almacén de claves rotativas (acto 407). El acto 407 puede incluir la determinación por el sistema de ordenador servidor de si debería obtenerse información cifrada refrescada que represente las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas. Cuando las credenciales de usuario son validadas con una clave proveniente de un almacén de claves rotativas, distinta a la clave más actual proveniente del almacén de claves rotativas, el servidor determina que ha de obtenerse información cifrada refrescada. Por ejemplo, si el validador 237 de credenciales valida las credenciales cifradas con la clave 224, el filtro 243 de comunicación puede determinar que han de obtenerse credenciales cifradas refrescadas para las credenciales de usuario representadas en las credenciales cifradas.
En consecuencia, según lo representado por la flecha de línea discontinua, el filtro 243 de comunicación puede enviar optativamente la solicitud 294 de refresco de señuelo al validador 216 de elementos de conexión. El validador 216 de elementos de conexión puede usar la clave rotativa más actual en un almacén adecuado de claves rotativas para obtener la información cifrada refrescada (p. ej., obteniendo una firma digital refrescada y una clave de cifrado refrescada a partir de la clave más actual). El validador 216 de elementos de conexión puede devolver un GUID actualizado y credenciales cifradas refrescadas al filtro 243 de comunicación. Por ejemplo, según lo representado por la flecha de línea discontinua, el validador 216 de elementos de conexión devuelve el mensaje 295, que incluye el GUID 296 actualizado y las credenciales 297 cifradas refrescadas, al filtro 243 de comunicación.
Cuando las credenciales 289 son las adecuadas para el acceso basado en la Red a recursos de correo electrónico en el servidor 212 de correo electrónico, el servidor 212 de correo electrónico puede devolver un recurso de correo electrónico en respuesta a la solicitud 291 A. Por ejemplo, el servidor 212 de correo electrónico puede devolver la respuesta 292, que incluye el recurso 293 (p. ej., un mensaje de correo electrónico), al filtro 243 de comunicación. Por otra parte, cuando las
credenciales 289 no son adecuadas para el acceso basado en la Red a recursos de correo electrónico en el servidor 212 de correo electrónico, el servidor 212 de correo electrónico puede devolver una indicación de desautorización en respuesta a la solicitud 291 A. Por ejemplo, según lo representado por la flecha de línea discontinua, el servidor 212 de correo electrónico puede devolver la respuesta 294, que incluye el indicador 272 de desautorización, al filtro 243 de comunicación, Cuando el filtro 243 de comunicación recibe un indicador de desautorización, el filtro 243 de comunicación puede redirigir el sistema 201 de ordenador cliente a la página 217 de conexión.
Cuando las credenciales de usuario validadas son las adecuadas, el filtro 243 de comunicación puede enviar un recurso solicitado al sistema 201 de ordenador cliente. Por ejemplo, cuando las credenciales cifradas 275 son validadas con la clave más actual de un almacén adecuado de claves rotativas, la respuesta 292, que incluye el recurso 293, es recibida en el filtro 243 de comunicación. El filtro 243 de comunicación puede remitir la respuesta 292 al sistema 201 de ordenador cliente. En consecuencia, el recurso 293 puede ser presentado en el explorador 202.
Cuando las credenciales de usuario validadas son las adecuadas, el filtro 243 de comunicación también puede enviar credenciales cifradas refrescadas y un GUID actualizado, junto con un recurso, al sistema 201 de ordenador cliente. Por ejemplo, cuando las credenciales cifradas 275 son validadas con una clave del almacén de claves rotativas que no es la clave más actual en el almacén de claves rotativas, el recurso 293, el GUID 296 actualizado y las credenciales 297 cifradas refrescadas pueden ser recibidas en el filtro 243 de comunicación. Según lo representado por la flecha de línea discontinua, el módulo 243 de comunicación puede entonces enviar la respuesta 276, que incluye el recurso 293, el GUID 296 actualizado y las credenciales 297 cifradas refrescadas, al sistema 201 de ordenador cliente.
El procedimiento 400 incluye un acto de recepción del recurso junto con un identificador de sesión actualizado y credenciales de usuario cifradas refrescadas en un explorador del lado del cliente (acto 402). El acto 402 puede incluir la recepción por el sistema de ordenador cliente de lo solicitado, junto con un identificador de sesión actualizado e información cifrada refrescada que representa al menos la parte de las credenciales de usuario y una firma refrescada dependiente del tiempo. Por ejemplo, el sistema 201 de ordenador cliente puede recibir la respuesta 276, que incluye el recurso 293, el GUID 296 actualizado y las credenciales 297 cifradas refrescadas, desde el sistema 201 de ordenador servidor.
El procedimiento 400 incluye un acto de almacenamiento del identificador de sesión actualizado y las credenciales de usuario cifradas refrescadas en los correspondientes señuelos (acto 403). El acto 403 puede incluir el almacenamiento por el sistema de ordenador cliente del identificador de sesión actualizado y la información cifrada refrescada, en señuelos correspondientes en el sistema de ordenador cliente. Por ejemplo, el GUID 296 actualizado y las credenciales 297 cifradas refrescadas pueden ser almacenadas en correspondientes señuelos, en los señuelos 203, sobrescribiendo el GUID 274 y las credenciales cifradas 275. El recurso 293 puede ser presentado en el explorador 202.
Según una realización adicional, en un sistema de ordenador servidor que recibe solicitudes desde sistemas de ordenador cliente, solicitudes que solicitan acceso basado en la Red a recursos en el sistema de ordenador servidor, puede proporcionarse un procedimiento para asegurar las credenciales del lado del cliente que han de ser usadas para ser autorizado a acceder a recursos. El procedimiento comprende: un acto de recepción, por el servidor, de una primera solicitud de acceso basado en la Red a un recurso, siendo enviada la primera solicitud por el sistema de ordenador cliente; una etapa para usar una clave de un almacén de claves rotativas, para asegurar credenciales del lado del cliente, a fin de reducir la posibilidad de que las credenciales del lado del cliente proporcionen a un usuario malicioso acceso no autorizado a un recurso; y un acto de recepción, por el sistema de ordenador servidor, de una segunda solicitud de acceso basado en la Red al recurso, siendo la segunda solicitud enviada desde el sistema de ordenador cliente, e incluyendo información cifrada.
Según otra realización, en un sistema de ordenador servidor que incluye un filtro de comunicación, siendo el filtro de comunicación capaz de alterar cabeceras de mensajes, puede ser proporcionado un procedimiento para determinar propiedades de comunicación asociadas a un sistema de ordenador cliente. El procedimiento comprende: enviar una página de conexión al sistema de ordenador cliente, incluyendo la página de conexión una interfaz para seleccionar una o más propiedades de comunicación seleccionables, que puedan alterar cómo han de ser procesados los mensajes del HTTP; recibir selecciones de al menos una entre dichas una o más propiedades de comunicación seleccionables a partir de la página de conexión, indicando las propiedades de comunicación seleccionadas al filtro de comunicación cómo ha de ser procesada la comunicación del HTTP con el sistema de ordenador cliente; interrogar al sistema de ordenador cliente para determinar si dicha al menos una selección de propiedades de comunicación recibida dispone de soporte, así como para identificar otras propiedades de comunicación relevantes con soporte por parte del sistema de ordenador cliente; y configurar el filtro de comunicación para procesar la comunicación del HTTP con el cliente, de acuerdo a cualquier propiedad de comunicación seleccionada, y otras propiedades de comunicación relevantes identificadas que disponen de soporte por parte del cliente.
La presente invención puede ser realizada en otras formas específicas sin apartarse de su espíritu o características esenciales. Las realizaciones descritas han de ser consideradas, en todos los aspectos, solamente como ilustrativas y no restrictivas. El alcance de la invención, por lo tanto, está indicado por las reivindicaciones adjuntas, en vez de la descripción precedente. Todos los cambios que queden dentro del significado y la gama de equivalencia de las reivindicaciones han de estar comprendidas dentro de su alcance.

Claims (11)

  1. REIVINDICACIONES
    1. Un procedimiento en un sistema (211) de ordenador servidor para determinar la validez de credenciales de usuario usadas para el acceso basado en la Red a recursos en el sistema de ordenador servidor, comprendiendo el procedimiento:
    un acto de recepción (404), por el sistema de ordenador servidor, de una solicitud para el acceso basado en la Red a un recurso en el servidor, incluyendo la solicitud un identificador único de sesión e información cifrada que representa al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, siendo deducida la firma dependiente del tiempo de al menos una parte de las credenciales de usuario y de una clave de firma dependiente del tiempo, estando cifrada la información cifrada usando una clave de cifrado dependiente del tiempo, siendo deducidas, tanto la clave de firma dependiente del tiempo como la clave de cifrado dependiente del tiempo, a partir de una clave en un almacén (220) de claves rotativas;
    un acto de intento (405), por el sistema de ordenador servidor, de validar al menos una parte de las credenciales de usuario, usando la clave más actual en un almacén de claves rotativas;
    un acto de remisión (406), por el sistema de ordenador servidor, de la solicitud a un módulo que controla el acceso basado en la Red al recurso solicitado; y
    un acto de determinación (407), por el sistema de ordenador servidor, de si la información cifrada refrescada que representa dicha al menos una parte de las credenciales de usuario, y una firma dependiente del tiempo, han de ser deducidas de la clave más activa en el almacén de claves rotativas.
  2. 2.
    El procedimiento según la reivindicación 1, en el cual el acto de intentar validar al menos una parte de las credenciales de usuario, usando la clave más actual en un almacén de claves rotativas, comprende un acto de determinación de que, en base a la clave más actual en el almacén de claves rotativas, dicha al menos una parte de las credenciales de usuario es válida.
  3. 3.
    El procedimiento según la reivindicación 1, en el cual el acto de intentar validar al menos una parte de las credenciales de usuario, usando la clave más actual en un almacén de claves rotativas, comprende un acto de determinación de que, en base a la clave más actual en el almacén de claves rotativas, dicha al menos una parte de las credenciales de usuario no es válida.
  4. 4.
    El procedimiento según la reivindicación 1, que comprende adicionalmente:
    un acto de determinación, por el sistema de ordenador servidor, de que, en base a una clave previamente generada en el almacén de claves rotativas, dicha al menos una parte de las credenciales de usuario es válida, siendo insertada la clave previamente generada en el almacén de claves rotativas, antes de la clave más actual.
  5. 5.
    El procedimiento según la reivindicación 1, en el cual el acto de determinación, por el sistema de ordenador servidor, de si debería ser deducida información cifrada refrescada, que representa dicha al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas, comprende un acto de determinación de si debería ser deducida información cifrada refrescada, que representa dicha al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas.
  6. 6.
    El procedimiento según la reivindicación 5, en el cual el acto de determinación de si debería ser deducida información cifrada refrescada, que representa dicha al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas, comprende un acto de determinación de que el sistema de ordenador servidor validó dicha al menos una parte de las credenciales de usuario en base a una clave previamente generada en el almacén de claves rotativas, siendo insertada la clave previamente generada en el almacén de claves rotativas antes de la clave más actual.
  7. 7.
    El procedimiento según la reivindicación 5, en el cual el acto de determinación de si debería ser deducida información cifrada refrescada, que representa dicha al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas, comprende un acto de determinar que el sistema de ordenador servidor no pudo validar dicha al menos una parte de las credenciales de usuario con ninguna clave en el almacén de claves rotativas.
  8. 8.
    El procedimiento según la reivindicación 7, que comprende adicionalmente:
    un acto de redirección, por el sistema de ordenador servidor, del sistema ordenador cliente a una página de conexión que proporciona una interfaz para recibir credenciales de usuario.
  9. 9.
    El procedimiento según la reivindicación 1, en el cual el acto de determinar, por el sistema de ordenador servidor, si ha de obtenerse información cifrada refrescada, que representa dicha al menos una parte de las credenciales de usuario y una firma dependiente del tiempo, a partir de la clave más actual en el almacén de claves rotativas, comprende un acto de obtener información cifrada refrescada y una firma dependiente del tiempo a partir de la clave más actual en el almacén
    5 de claves rotativas.
  10. 10.
    El procedimiento según la reivindicación 9, que comprende adicionalmente:
    un acto de envío, por el sistema de ordenador servidor, del recurso solicitado, el identificador único de sesión actualizado e información cifrada refrescada al sistema de ordenador cliente.
  11. 11.
    Un producto de programa de ordenador, para su uso en un sistema de ordenador servidor, siendo el producto de
    10 programa de ordenador para implementar un procedimiento para determinar la validez de credenciales de usuario usadas para el acceso en base a la Red a recursos en el sistema de ordenador servidor, comprendiendo el producto de programa de ordenador uno o más medios legibles por ordenador que tienen almacenadas en los mismos instrucciones ejecutables que, cuando son ejecutadas por un procesador, hacen que el sistema de ordenador servidor realice el procedimiento de una de las reivindicaciones 1 a 10.
    15 12. Un sistema informático que comprende medios adaptados para realizar el procedimiento de una de las reivindicaciones 1 a 10.
ES03026812T 2002-11-20 2003-11-20 Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red Expired - Lifetime ES2423824T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US459863 1995-06-02
US42815202P 2002-11-20 2002-11-20
US428152P 2002-11-20
US10/459,863 US7360096B2 (en) 2002-11-20 2003-06-12 Securely processing client credentials used for Web-based access to resources

Publications (1)

Publication Number Publication Date
ES2423824T3 true ES2423824T3 (es) 2013-09-24

Family

ID=32233681

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03026812T Expired - Lifetime ES2423824T3 (es) 2002-11-20 2003-11-20 Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red

Country Status (13)

Country Link
US (1) US7360096B2 (es)
EP (1) EP1422907B1 (es)
JP (1) JP4647200B2 (es)
KR (1) KR101071132B1 (es)
CN (1) CN100581103C (es)
AU (1) AU2003257894B8 (es)
BR (2) BRPI0305140B1 (es)
CA (1) CA2450056C (es)
DK (1) DK1422907T3 (es)
ES (1) ES2423824T3 (es)
MX (1) MXPA03010477A (es)
RU (2) RU2332711C2 (es)
SI (1) SI1422907T1 (es)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350228B2 (en) * 2001-01-23 2008-03-25 Portauthority Technologies Inc. Method for securing digital content
US7496751B2 (en) * 2001-10-29 2009-02-24 Sun Microsystems, Inc. Privacy and identification in a data communications network
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US7941533B2 (en) 2002-02-19 2011-05-10 Jpmorgan Chase Bank, N.A. System and method for single sign-on session management without central server
US7412539B2 (en) * 2002-12-18 2008-08-12 Sonicwall, Inc. Method and apparatus for resource locator identifier rewrite
US20060179305A1 (en) * 2004-03-11 2006-08-10 Junbiao Zhang WLAN session management techniques with secure rekeying and logoff
US10535049B2 (en) * 2003-03-21 2020-01-14 Paypal, Inc. Payment transactions via substantially instant communication system
US7805366B2 (en) * 2003-03-21 2010-09-28 Ebay Inc. Method and system to facilitate payments to satisfy payment obligations resulting from purchase transactions
US7809843B1 (en) * 2003-09-18 2010-10-05 Intel Corporation Globally unique identification in communications protocols and databases
US20050138367A1 (en) * 2003-12-19 2005-06-23 Robert Paganetti System and method for storing user credentials on a server copyright notice
US8954420B1 (en) 2003-12-31 2015-02-10 Google Inc. Methods and systems for improving a search ranking using article information
US7373502B2 (en) * 2004-01-12 2008-05-13 Cisco Technology, Inc. Avoiding server storage of client state
US7665147B2 (en) * 2004-02-05 2010-02-16 At&T Mobility Ii Llc Authentication of HTTP applications
US7680888B1 (en) 2004-03-31 2010-03-16 Google Inc. Methods and systems for processing instant messenger messages
US8099407B2 (en) * 2004-03-31 2012-01-17 Google Inc. Methods and systems for processing media files
US7412708B1 (en) 2004-03-31 2008-08-12 Google Inc. Methods and systems for capturing information
US8386728B1 (en) 2004-03-31 2013-02-26 Google Inc. Methods and systems for prioritizing a crawl
US7581227B1 (en) 2004-03-31 2009-08-25 Google Inc. Systems and methods of synchronizing indexes
US7725508B2 (en) * 2004-03-31 2010-05-25 Google Inc. Methods and systems for information capture and retrieval
US8631076B1 (en) 2004-03-31 2014-01-14 Google Inc. Methods and systems for associating instant messenger events
US7941439B1 (en) 2004-03-31 2011-05-10 Google Inc. Methods and systems for information capture
US8346777B1 (en) 2004-03-31 2013-01-01 Google Inc. Systems and methods for selectively storing event data
US8161053B1 (en) 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
US8275839B2 (en) 2004-03-31 2012-09-25 Google Inc. Methods and systems for processing email messages
US20050234929A1 (en) * 2004-03-31 2005-10-20 Ionescu Mihai F Methods and systems for interfacing applications with a search engine
US7333976B1 (en) 2004-03-31 2008-02-19 Google Inc. Methods and systems for processing contact information
US7823192B1 (en) * 2004-04-01 2010-10-26 Sprint Communications Company L.P. Application-to-application security in enterprise security services
US20050288952A1 (en) * 2004-05-18 2005-12-29 Davis Bruce L Official documents and methods of issuance
US8528078B2 (en) * 2004-07-15 2013-09-03 Anakam, Inc. System and method for blocking unauthorized network log in using stolen password
US8533791B2 (en) 2004-07-15 2013-09-10 Anakam, Inc. System and method for second factor authentication services
US20100100967A1 (en) * 2004-07-15 2010-04-22 Douglas James E Secure collaborative environment
ES2420158T3 (es) 2004-07-15 2013-08-22 Anakam, Inc. Sistema y método para bloquear un inicio de sesión de red no autorizado usando una contraseña robada
US7676834B2 (en) * 2004-07-15 2010-03-09 Anakam L.L.C. System and method for blocking unauthorized network log in using stolen password
US8296562B2 (en) * 2004-07-15 2012-10-23 Anakam, Inc. Out of band system and method for authentication
US9426651B2 (en) 2004-08-18 2016-08-23 Sk Planet Co., Ltd. Method for providing contents in a mobile communication system and apparatus thereof
US7483943B2 (en) * 2004-09-21 2009-01-27 Microsoft Corporation Reliable messaging using clocks with synchronized rates
US20060168054A1 (en) * 2004-12-13 2006-07-27 Ebay Inc. Messaging method and apparatus
CA2648523C (en) 2005-04-21 2018-09-04 Securedpay Solutions, Inc. Portable handheld device for wireless order entry and real time payment authorization and related methods
US7810143B2 (en) * 2005-04-22 2010-10-05 Microsoft Corporation Credential interface
US9692725B2 (en) 2005-05-26 2017-06-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9621666B2 (en) 2005-05-26 2017-04-11 Citrix Systems, Inc. Systems and methods for enhanced delta compression
US8943304B2 (en) 2006-08-03 2015-01-27 Citrix Systems, Inc. Systems and methods for using an HTTP-aware client agent
US9407608B2 (en) 2005-05-26 2016-08-02 Citrix Systems, Inc. Systems and methods for enhanced client side policy
US7917943B1 (en) * 2006-12-01 2011-03-29 Goodmail Systems, Inc. E-mail Stamping with accredited entity name
JP2008546317A (ja) * 2005-06-01 2008-12-18 グッドメール システムズ,インク. フロムヘッダの検証による電子メールのスタンピング
US7877789B2 (en) * 2005-06-01 2011-01-25 Goodmail Systems, Inc. E-mail stamping with from-header validation
US7650505B1 (en) * 2005-06-17 2010-01-19 Sun Microsystems, Inc. Methods and apparatus for persistence of authentication and authorization for a multi-tenant internet hosted site using cookies
US7730523B1 (en) * 2005-06-17 2010-06-01 Oracle America, Inc. Role-based access using combinatorial inheritance and randomized conjugates in an internet hosted environment
CN1929367B (zh) * 2005-09-10 2010-08-25 腾讯科技(深圳)有限公司 一种游戏数据传输方法及系统
US9262446B1 (en) 2005-12-29 2016-02-16 Google Inc. Dynamically ranking entries in a personal data book
GB2434947B (en) 2006-02-02 2011-01-26 Identum Ltd Electronic data communication system
US8332627B1 (en) * 2006-02-08 2012-12-11 Cisco Technology, Inc. Mutual authentication
US8560595B2 (en) 2006-06-23 2013-10-15 Microsoft Corporation Virtualization of mobile device user experience
CN101101687B (zh) * 2006-07-05 2010-09-01 山谷科技有限责任公司 用生物特征进行身份认证的方法、设备、服务器和系统
US7698242B2 (en) * 2006-08-16 2010-04-13 Fisher-Rosemount Systems, Inc. Systems and methods to maintain process control systems using information retrieved from a database storing general-type information and specific-type information
MX2009001615A (es) * 2006-08-21 2009-05-01 Scientific Games Holdings Ltd Sistema y metodo para implementar un juego adicional a los jugadores de un juego de loteria.
CN101155028B (zh) * 2006-09-26 2010-09-15 阿里巴巴集团控股有限公司 一种安全登录网站的方法和系统
JP4607082B2 (ja) * 2006-09-27 2011-01-05 株式会社エヌ・ティ・ティ・データ 情報処理装置、管理方法、及びコンピュータプログラム
WO2008108564A1 (en) * 2007-03-02 2008-09-12 Lg Electronics Inc. Method and system for transferring resource
CN101267299B (zh) * 2007-03-14 2010-11-03 阿里巴巴集团控股有限公司 一种安全显示网页中数据的方法和系统
US8763136B2 (en) * 2007-03-22 2014-06-24 Red Hat, Inc. Privacy enhanced browser
US7941405B2 (en) * 2007-03-30 2011-05-10 Data Center Technologies Password protection for file backups
US9319220B2 (en) * 2007-03-30 2016-04-19 Intel Corporation Method and apparatus for secure network enclaves
CN101335622B (zh) * 2007-06-27 2012-08-29 日电(中国)有限公司 使用匿名柔性凭证的用于分布式授权的方法和装置
US8094812B1 (en) * 2007-09-28 2012-01-10 Juniper Networks, Inc. Updating stored passwords
EP2206274A1 (en) * 2007-10-18 2010-07-14 Goodmail Systems Inc. Certification of e-mails with embedded code
US8682470B2 (en) * 2008-01-08 2014-03-25 International Business Machines Corporation Data storage drive with target of opportunity recognition
US9495561B2 (en) * 2008-01-08 2016-11-15 International Business Machines Corporation Target of opportunity recognition during an encryption related process
US9349410B2 (en) 2008-01-08 2016-05-24 International Business Machines Corporation Automated data storage library with target of opportunity recognition
CN101247232B (zh) * 2008-03-27 2012-09-26 上海金鑫计算机系统工程有限公司 数据交换传输中基于数字签名的加密技术方法
CN101309278B (zh) * 2008-06-27 2011-07-06 腾讯科技(深圳)有限公司 一种在客户端保存加密数据的方法及系统
US8924362B2 (en) 2008-06-30 2014-12-30 Microsoft Corporation B-file abstraction for efficiently archiving self-expiring data
US8352519B2 (en) * 2008-07-31 2013-01-08 Microsoft Corporation Maintaining large random sample with semi-random append-only operations
US8181861B2 (en) * 2008-10-13 2012-05-22 Miri Systems, Llc Electronic transaction security system and method
EP2335379A4 (en) * 2008-10-19 2012-05-09 Research In Motion Ltd WEB APPLICATION FRAMEWORK FOR OPTIMUM RENDER PERFORMANCE ON A CUSTOMER BASED ON PARAMETERS DETECTED FROM THE CLIENT
US20100287231A1 (en) * 2008-11-11 2010-11-11 Esignet, Inc. Method and apparatus for certifying hyperlinks
US8271536B2 (en) * 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US20100226526A1 (en) * 2008-12-31 2010-09-09 Modro Sierra K Mobile media, devices, and signaling
US9449195B2 (en) * 2009-01-23 2016-09-20 Avow Networks Incorporated Method and apparatus to perform online credential reporting
EP2401711A4 (en) * 2009-02-25 2016-12-28 Miri Systems Llc PAYMENT SYSTEM AND METHOD
JP5124527B2 (ja) * 2009-05-26 2013-01-23 株式会社日立製作所 メール中継装置
US9178858B1 (en) * 2009-08-05 2015-11-03 West Corporation Method and system for message delivery security validation
WO2011044161A1 (en) * 2009-10-05 2011-04-14 Miri Systems, Llc Electronic transaction security system and method
US20110179270A1 (en) * 2010-01-20 2011-07-21 The Provost, Fellows and Scholars of the College of the Holy and Undivided Trinity of Queen Elizab Data Retrieval System
US8442235B2 (en) * 2010-04-14 2013-05-14 Microsoft Corporation Extensible management of self-encrypting storage devices
US9667423B2 (en) 2010-09-27 2017-05-30 Nokia Technologies Oy Method and apparatus for accelerated authentication
US8505083B2 (en) 2010-09-30 2013-08-06 Microsoft Corporation Remote resources single sign on
US8646062B2 (en) * 2010-11-09 2014-02-04 International Business Machines Corporation Remote authentication based on challenge-response using digital certificates
GB2481663B (en) * 2010-11-25 2012-06-13 Richard H Harris Handling encoded information
US8683560B1 (en) * 2010-12-29 2014-03-25 Amazon Technologies, Inc. Techniques for credential generation
EP2659650B1 (en) 2010-12-29 2022-06-22 Citrix Systems Inc. Systems and methods for multi-level tagging of encrypted items for additional security and efficient encrypted item determination
US9838392B2 (en) * 2011-02-28 2017-12-05 Nokia Technologies Oy Method and apparatus for providing proxy-based access controls
US8869279B2 (en) 2011-05-13 2014-10-21 Imperva, Inc. Detecting web browser based attacks using browser response comparison tests launched from a remote source
US9864851B2 (en) 2011-07-28 2018-01-09 Blackberry Limited System, device, and method for authentication of a user accessing an on-line resource
US9058467B2 (en) 2011-09-01 2015-06-16 Microsoft Corporation Distributed computer systems with time-dependent credentials
US8640210B2 (en) 2011-09-01 2014-01-28 Microsoft Corporation Distributed computer systems with time-dependent credentials
US9032492B2 (en) 2011-09-01 2015-05-12 Microsoft Corporation Distributed computer systems with time-dependent credentials
CN103002439B (zh) * 2011-09-13 2015-06-17 联芯科技有限公司 保密通话的通信方法及用户终端
US9830435B2 (en) * 2011-10-04 2017-11-28 Salesforce.Com, Inc. Method and system for providing login as a service
US8955079B2 (en) * 2011-10-31 2015-02-10 Avaya Inc. Single sign-on for applications
WO2013070977A1 (en) 2011-11-10 2013-05-16 Room 77, Inc. Metasearch infrastructure with incremental updates
US10742634B1 (en) 2011-12-27 2020-08-11 Majid Shahbazi Methods for single sign-on (SSO) using optical codes
US9356924B1 (en) * 2011-12-27 2016-05-31 Majid Shahbazi Systems, methods, and computer readable media for single sign-on (SSO) using optical codes
US8819444B2 (en) * 2011-12-27 2014-08-26 Majid Shahbazi Methods for single signon (SSO) using decentralized password and credential management
US8898796B2 (en) * 2012-02-14 2014-11-25 International Business Machines Corporation Managing network data
US9166777B2 (en) * 2012-03-05 2015-10-20 Echoworx Corporation Method and system for user authentication for computing devices utilizing PKI and other user credentials
CN102638580A (zh) * 2012-03-30 2012-08-15 奇智软件(北京)有限公司 一种网页信息处理方法和装置
US9576064B2 (en) * 2012-04-13 2017-02-21 Yahoo! Inc. Third party program integrity and integration control in web-based applications
US8997193B2 (en) * 2012-05-14 2015-03-31 Sap Se Single sign-on for disparate servers
US8880885B2 (en) * 2012-10-09 2014-11-04 Sap Se Mutual authentication schemes
EP2946306B1 (en) * 2013-01-15 2023-08-09 Schneider Electric USA, Inc. Systems and methods for securely accessing programmable devices
US9881201B2 (en) * 2013-02-05 2018-01-30 Vynca, Inc. Method and apparatus for collecting an electronic signature on a first device and incorporating the signature into a document on a second device
WO2014126493A1 (ru) * 2013-02-13 2014-08-21 Sherbakov Andrei Yuryevich Способ использования ресурса в компьютерной системе
US9954843B2 (en) * 2013-02-28 2018-04-24 Microsoft Technology Licensing, Llc Web ticket based upon a symmetric key usable for user authentication
EP2975854B1 (en) * 2013-03-15 2019-09-18 Panasonic Intellectual Property Management Co., Ltd. Content distribution method, content distribution system, source device, and sink device
US9344426B2 (en) * 2013-05-14 2016-05-17 Citrix Systems, Inc. Accessing enterprise resources while providing denial-of-service attack protection
CN104217136B (zh) * 2013-06-05 2017-05-03 北京齐尔布莱特科技有限公司 防止网页文本信息被自动抓取的方法和系统
CN103458037A (zh) * 2013-09-06 2013-12-18 南京南自信息技术有限公司 一种在资源受限环境下提供复杂网页应用的方法和设备
US9237019B2 (en) * 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9722801B2 (en) * 2013-09-30 2017-08-01 Juniper Networks, Inc. Detecting and preventing man-in-the-middle attacks on an encrypted connection
US9215064B2 (en) 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data
EP3522446B1 (en) 2013-11-14 2021-01-06 Pleasant Solutions Inc. System and method for credentialed access to a remote server
CN104767719B (zh) * 2014-01-07 2018-09-18 阿里巴巴集团控股有限公司 确定登录网站的终端是否是移动终端的方法及服务器
US9882884B1 (en) * 2014-01-15 2018-01-30 United States Automobile Association (USAA) Authenticating mobile traffic
US10108168B2 (en) 2014-06-01 2018-10-23 Si-Ga Data Security (2014) Ltd. Industrial control system smart hardware monitoring
US10182046B1 (en) * 2015-06-23 2019-01-15 Amazon Technologies, Inc. Detecting a network crawler
US9489508B2 (en) 2014-11-13 2016-11-08 Seagate Technology Llc Device functionality access control using unique device credentials
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US10158480B1 (en) 2015-03-16 2018-12-18 Winklevoss Ip, Llc Autonomous devices
US10165004B1 (en) 2015-03-18 2018-12-25 Cequence Security, Inc. Passive detection of forged web browsers
US11418520B2 (en) 2015-06-15 2022-08-16 Cequence Security, Inc. Passive security analysis with inline active security device
US10290022B1 (en) 2015-06-23 2019-05-14 Amazon Technologies, Inc. Targeting content based on user characteristics
US9887848B2 (en) * 2015-07-02 2018-02-06 Gn Hearing A/S Client device with certificate and related method
US10509900B1 (en) 2015-08-06 2019-12-17 Majid Shahbazi Computer program products for user account management
US11082849B2 (en) * 2015-08-07 2021-08-03 Qualcomm Incorporated Validating authorization for use of a set of features of a device
CN105490813B (zh) * 2015-11-26 2019-03-01 广州华多网络科技有限公司 一种用户安全访问web的方法及装置
US10237080B2 (en) * 2015-12-08 2019-03-19 Verizon Patent And Licensing Inc. Tracking data usage in a secure session
US10931713B1 (en) 2016-02-17 2021-02-23 Cequence Security, Inc. Passive detection of genuine web browsers based on security parameters
US9600656B1 (en) * 2016-03-09 2017-03-21 Sailpoint Technologies, Inc. System and method for domain password reset in a secured distributed network environment
US10461942B1 (en) * 2016-07-20 2019-10-29 United Services Automobile Association Multi-factor authentication with code rotation
US20180145959A1 (en) * 2016-11-22 2018-05-24 Synergex Group Method for determining access privilege using username, IP address, App ID, App Key, and biometric signature sample.
US10805080B2 (en) * 2017-01-06 2020-10-13 Microsoft Technology Licensing, Llc Strong resource identity in a cloud hosted system
SE543061C2 (en) * 2017-01-31 2020-09-29 Telia Co Ab Methods for providing continuity in chatbot communications
US10931686B1 (en) 2017-02-01 2021-02-23 Cequence Security, Inc. Detection of automated requests using session identifiers
PH12017000064A1 (en) * 2017-03-03 2018-09-17 Jr Eugenio S Ynion Access control method, system, device, terminal, and computer program product uisng multimodal authenticity determination
CN108632021A (zh) 2017-03-15 2018-10-09 阿里巴巴集团控股有限公司 一种密钥加密方法、装置和系统
CN108632213B (zh) * 2017-03-20 2021-12-31 腾讯科技(北京)有限公司 设备信息处理方法及装置
CN109286932B (zh) * 2017-07-20 2021-10-19 阿里巴巴集团控股有限公司 入网认证方法、装置及系统
US10891372B1 (en) 2017-12-01 2021-01-12 Majid Shahbazi Systems, methods, and products for user account authentication and protection
US10949564B2 (en) 2018-05-07 2021-03-16 Apple Inc. Contact discovery service with privacy aspect
CN108600268B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种应用于非授信认证的加密解密方法及非授信认证系统
CN108600266B (zh) * 2018-05-09 2020-09-22 聚龙股份有限公司 一种声明过滤认证方法及认证系统
CN110968413A (zh) * 2018-09-28 2020-04-07 华为技术有限公司 一种数据管理方法、装置和服务器
CN109359252B (zh) * 2018-10-30 2021-11-30 北京小米移动软件有限公司 浏览器选择方法及装置
CN111249740A (zh) * 2020-01-07 2020-06-09 上海米哈游天命科技有限公司 一种资源数据的访问方法及系统
US11398901B2 (en) * 2020-03-26 2022-07-26 Walmart Apollo, Llc Restricted partial key storage
US11552802B2 (en) * 2020-04-15 2023-01-10 Salesforce, Inc. Stateless mutual authentication between services
US11314876B2 (en) 2020-05-28 2022-04-26 Bank Of America Corporation System and method for managing built-in security for content distribution
US11233802B1 (en) 2020-06-11 2022-01-25 Amazon Technologies, Inc. Cookie and behavior-based authentication
CN112417401A (zh) * 2020-11-26 2021-02-26 深圳创维-Rgb电子有限公司 账号验证方法、装置、系统及计算机可读存储介质
US11665002B2 (en) * 2020-12-11 2023-05-30 International Business Machines Corporation Authenticated elevated access request
KR102486585B1 (ko) * 2021-10-21 2023-01-09 주식회사 엔디에스 네트워크를 통한 사용자 자격 검증 방법 및 이에 사용되는 서비스 제공 서버
US11528144B1 (en) * 2022-06-09 2022-12-13 Uab 360 It Optimized access in a service environment

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168520A (en) * 1984-11-30 1992-12-01 Security Dynamics Technologies, Inc. Method and apparatus for personal identification
US4972472A (en) * 1985-03-15 1990-11-20 Tandem Computers Incorporated Method and apparatus for changing the master key in a cryptographic system
US5657388A (en) * 1993-05-25 1997-08-12 Security Dynamics Technologies, Inc. Method and apparatus for utilizing a token for resource access
US5237614A (en) * 1991-06-07 1993-08-17 Security Dynamics Technologies, Inc. Integrated network security system
US6047357A (en) * 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US6041357A (en) 1997-02-06 2000-03-21 Electric Classified, Inc. Common session token system and protocol
JP3804245B2 (ja) * 1998-01-22 2006-08-02 富士ゼロックス株式会社 電子チケットシステム
RU2163745C2 (ru) * 1999-04-29 2001-02-27 Щеглов Андрей Юрьевич Система защиты виртуального канала корпоративной сети с аутентифицирующим маршрутизатором, построенной на каналах и средствах коммутации сети связи общего пользования
US6957334B1 (en) 1999-06-23 2005-10-18 Mastercard International Incorporated Method and system for secure guaranteed transactions over a computer network
US6834271B1 (en) * 1999-09-24 2004-12-21 Kryptosima Apparatus for and method of secure ATM debit card and credit card payment transactions via the internet
RU2166792C1 (ru) * 1999-10-25 2001-05-10 Щеглов Андрей Юрьевич Система защиты рабочих станций, информационных и функциональных серверов вычислительных систем и сетей с динамическими списками санкционированных событий
EP1122928B1 (en) * 1999-12-27 2006-03-08 Hewlett-Packard Company A system and method for authentication of electronic messages sent to a network server
US6954799B2 (en) 2000-02-01 2005-10-11 Charles Schwab & Co., Inc. Method and apparatus for integrating distributed shared services system
JP2002117350A (ja) * 2000-07-21 2002-04-19 Hitachi Ltd サービス発行方法並びにサービス提供方法及びそのシステム
US6986040B1 (en) * 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel

Also Published As

Publication number Publication date
CN100581103C (zh) 2010-01-13
BRPI0305140B1 (pt) 2018-05-29
JP2004173285A (ja) 2004-06-17
MXPA03010477A (es) 2004-10-15
AU2003257894B8 (en) 2009-08-13
CN1505309A (zh) 2004-06-16
KR101071132B1 (ko) 2011-10-10
EP1422907A2 (en) 2004-05-26
RU2008114665A (ru) 2009-10-20
CA2450056C (en) 2013-05-14
EP1422907B1 (en) 2013-07-03
AU2003257894B2 (en) 2009-07-02
AU2003257894A1 (en) 2004-06-10
JP4647200B2 (ja) 2011-03-09
EP1422907A3 (en) 2011-11-23
DK1422907T3 (da) 2013-08-26
US7360096B2 (en) 2008-04-15
KR20040044375A (ko) 2004-05-28
RU2447490C2 (ru) 2012-04-10
BR0305140A (pt) 2004-08-31
SI1422907T1 (sl) 2013-10-30
CA2450056A1 (en) 2004-05-20
RU2332711C2 (ru) 2008-08-27
RU2003133768A (ru) 2005-05-10
US20040098609A1 (en) 2004-05-20

Similar Documents

Publication Publication Date Title
ES2423824T3 (es) Procesamiento con seguridad de credenciales de cliente usadas para el acceso a recursos basado en la Red
US7549048B2 (en) Efficient and secure authentication of computing systems
CN110326267B (zh) 具有替代数字证书的网络安全系统、方法及存储介质
US9813382B2 (en) Cryptographic binding of multiple secured connections
US7836121B2 (en) Dynamic executable
EP2520064B1 (en) Distributed authentication with data cloud
US20060206932A1 (en) Trusted third party authentication for web services
US10944736B2 (en) Application authentication wrapper
US7421576B1 (en) Interception and modification of network authentication packets with the purpose of allowing alternative authentication modes
Adida FragToken: Secure Web Authentication using the Fragment Identifier
Burdzovic et al. IoT Penetration Testing: Security analysis of a car dongle
Calbimonte et al. Privacy and security framework. OpenIoT deliverable D522
Kolias et al. Design and implementation of a secure mobile wiki system
Rhodes et al. TLS/SSL
Donato Secure Web-site Access with Tickets and Message-dependent Digests
Gilmore Securing Your Web Site
Validating Securing Your Web Site
Schattkowsky et al. Secure storage for physically exposed web-and application servers
Buttyán TRANSPARENT ENCRYPTION FOR CLOUD-BASED SERVICES
Van Jaarsveld Internal control with specific reference to the intranet