MX2015002929A - Metodo y sistema para verificar una peticion de acceso. - Google Patents

Metodo y sistema para verificar una peticion de acceso.

Info

Publication number
MX2015002929A
MX2015002929A MX2015002929A MX2015002929A MX2015002929A MX 2015002929 A MX2015002929 A MX 2015002929A MX 2015002929 A MX2015002929 A MX 2015002929A MX 2015002929 A MX2015002929 A MX 2015002929A MX 2015002929 A MX2015002929 A MX 2015002929A
Authority
MX
Mexico
Prior art keywords
module
data
computing device
password
access
Prior art date
Application number
MX2015002929A
Other languages
English (en)
Other versions
MX362308B (es
Inventor
Boris Taratine
Matthew Johnson
Simon Peter Rust
Andrew Warren Rounds
Original Assignee
Visa Europe Ltd
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 Visa Europe Ltd filed Critical Visa Europe Ltd
Publication of MX2015002929A publication Critical patent/MX2015002929A/es
Publication of MX362308B publication Critical patent/MX362308B/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

La presente invención se refiere a sistemas y métodos para uso en la verificación de una petición para acceso a los datos en un sistema que comprende un primer módulo que tiene acceso a un primer indicador de tiempo de confianza, un segundo módulo que tiene acceso a un indicador de tiempo que no da confianza y un dispositivo de computación que tiene acceso a un segundo indicador de tiempo de confianza. El primer módulo genera una contraseña usando al menos el primer indicador de tiempo de confianza. El segundo módulo recibe una contraseña asociada con la petición para acceso a los datos y valida la contraseña recibida usando al menos el indicador de tiempo que no da confianza. El segundo módulo entonces causa que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos al menos del indicador de tiempo que no da confianza usado para validar la contraseña recibida. El dispositivo de computación entonces genera datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el segundo indicador de tiempo de confianza, y usa los datos generados para proporcionar tal acceso a los datos.

Description

MÉTODO Y SISTEMA PARA VERIFICAR UNA PETICIÓN DE ACCESO CAMPO DE LA INVENCION La presente invención se refiere a un método y sistema para verificar una petición de acceso, y es particularmente, pero no exclusivamente adecuado para verificar una petición para acceso a los datos o servicios o activos.
ANTECEDENTES DE LA INVENCIÓN La demanda para acceso a los datos confidenciales o específicos del usuario (o activos o servicios) está aumentando. Por ejemplo, proporcionar acceso a una cuenta de bancos y permitir la transferencia de dinero de tal cuenta debe ser restringido a usuarios autorizados tales como un titular de la cuenta. Típicamente, los usuarios son autentificados cuando solicitan acceso a los datos por medio de credenciales que identifican la persona que solicita acceso a los datos. El acceso remoto a los datos presenta problemas particulares debido a que la persona que solicita los datos, activos o servicios está típicamente en una ubicación física diferente a aquella de la parte que responde a la petición. Como un resultado es un difícil para la parte que atiende la petición para saber si la entidad que hace la petición es a) quién dice ser, b) autorizada para usar el dispositivo desde donde se origina la petición y c) está en posesión del dispositivo desde donde se origina la petición.
Típicamente, cuando una cuenta se ha configurado entre una persona y una parte tal como un proveedor de datos, la persona establecerá las credenciales mencionadas antes para uso por el proveedor de datos para identificar y autentificar a la persona para peticiones futuras. Tales credenciales pueden incluir información que identifica personalmente al párroco (por ejemplo, información que permite la identificación personal (PII, por sus siglas en inglés)) y un secreto (por ejemplo, una contraseña) para uso en la verificación de la identidad de la persona. También es ahora común que el proveedor de datos requerirá que la persona se registra ella misma como el propietario de un dispositivo usado para acceder a los datos. La asociación registrada ente el dispositivo y el propietario del dispositivo puede ser usada por el proveedor de datos como un factor de validación adicional. Por ejemplo, en el caso de que un proveedor de datos reciba una petición para acceso a una cuenta en beneficio de una persona particular a partir de un dispositivo particular que no es el dispositivo registrado por la persona, el proveedor de datos puede determinar confiar que la petición se hizo por la persona registrada para la cuenta.
Puede ser relativamente fácil para una persona desear acceder a datos a partir de un proveedor de datos en beneficio de otra persona quien tiene una cuenta con tal proveedor de datos para obtener sus credenciales de usuario (es decir, PII, ID de Usuario y contraseña) mediante la adquisición de mercados en linea de sombras criminales y posteriormente acceder de manera fraudulenta a los datos de otra persona. Adicionalmente, son posibles de forma remota los dispositivos de control y acceso, y de este modo solicitar datos en beneficio del propietario registrado de estos dispositivos. A menudo no es posible determinar si la petición se hace por un usuario quién está en una posesión física del dispositivo o si la petición se hace de manera remota por un usuario que usa otro dispositivo para de manera remota controlar el dispositivo a partir del cual se hace la petición.
Las contraseñas de un solo uso (OTP, por sus siglas en inglés), son comúnmente usadas para aliviar estos problemas: un servidor de autentificación asigna personalmente una clave de generación de OTP al propietario registrado de un dispositivo, la clave de generación de OTP es para uso en la generación y validación de OTPs. Un servidor de autentificación típicamente mantiene cientos o miles de claves de generación de OTP, cada una tiene que ser personalmente asignada a, o registrada con respecto de, una persona diferente. El servidor de autentificación configura un testigo de OTP en la posesión del propietario registrado con su clave de generación de OTP asignada. Estos testigos de OTP pueden, por ejemplo, usar la clave de generación de OTP para generar una contraseña diferente cada vez que una nueva contraseña es solicitada por el usuario registrado o como otro ejemplo, puede usar la clave de generación de OTP para generar nuevas contraseñas a intervalos de tiempo regulares. Los testigos de OTP pueden adicionalmente usar una indicación el tiempo actual para generar una OTP, para prevenir la OTP siendo almacenada y reproducida posteriormente.
Con el fin de acceder a los datos restringidos del usuario mediante un dispositivo, un usuario proporciona la OTP generada por el testigo de OTP al proveedor de datos junto con las credenciales que identifican personalmente al propietario del dispositivo. Típicamente, el proveedor de datos entonces identificará al propietario del dispositivo y transmitirá en la OTP recibida al servidor de autentificación. El servidor de autentificación esperará la clave de generación de OTP asociada con la persona identificada y usará la clave, y si se requiere el tiempo actual, para determinar si la OTP recibida corresponde a la OTP que podría haber sido/fue generada por el testigo de OTP mantenido por el propietario del dispositivo en el tiempo actual, o al menos dentro de un periodo predeterminado del tiempo actual. El servidor de autentificación entonces indicará al proveedor de datos si la OTP recibida es válida.
Si la OTP correcta se envió al proveedor de datos, entonces puede determinarse que el usuario del dispositivo está en posesión del testigo de OTP. Sin embargo, los servidores de autentificación son vulnerables a comprometerse de este modo facilitando la distribución no autorizada a otras entidades y permitir a cualquier persona con acceso (ilegitimo) a una clave de generación de OTP distribuida para acceder datos en beneficio de la persona asociada con tal clave.
BREVE DESCRIPCIÓN DE LA INVENCIÓN De conformidad con un primer aspecto de la presente invención, se proporciona un sistema para uso en la verificación de una petición para acceso a los datos, el sistema tiene acceso a un dispositivo de computación que está configurado para comunicarse con un primer indicador de tiempo de confianza, el sistema comprende: un primer módulo que tiene acceso a un segundo indicador de tiempo de confianza; y un segundo módulo que tiene acceso a un indicador de tiempo que no da confianza, en donde: el primer módulo está arreglado para generar una contraseña usando al menos el segundo indicador de tiempo de confianza; el segundo módulo está arreglado para: recibir una contraseña asociada con la petición para acceso a los datos, validar la contraseña recibida usando al menos el indicador de tiempo que no da confianza; y causar que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida, y el sistema está arreglado para causar que el dispositivo de computación genere datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el primer indicador de tiempo de confianza, en donde los datos generados son para uso para proporcionar tal acceso a los datos.
En algunas situaciones un segundo módulo puede tener acceso a un indicador de tiempo de confianza (sin comunicarse con un elemento externo). Por consiguiente, las modificaciones al tiempo que no da confianza pueden abrir un sistema para atacar. Verificando una contraseña usando el indicador de tiempo que no da confianza, y después causando que un mensaje sea transmitido a un dispositivo de computación, donde el tiempo que no da confianza se compara con un tiempo de confianza, la posibilidad para el ataque es obviada. Sin embargo, la cantidad de señalización para verificación se reduce, ya que solamente un mensaje único puede necesitar ser enviado del segundo módulo al dispositivo de computación o sistema.
En una modalidad, el sistema está arreglado para causar que el dispositivo de computación selectivamente provisione el sistema con tal acceso a los datos con base en tales datos generados. En esta modalidad, es el dispositivo de computación que facilita el acceso a los datos requeridos.
Ventajosamente, el mensaje transmitido al dispositivo de computación puede comprender datos indicativos de la validación de la contraseña recibida usando al menos el indicador de tiempo que no da confianza por el segundo módulo.
En un arreglo, el primero y segundo módulos comparten un secreto que ha sido únicamente asignado a estos, el primer módulo está arreglado para usar el secreto para generar la contraseña, y el segundo módulo está arreglado para usar el secreto para validar la contraseña recibida. El secreto compartido puede ser almacenado en un elemento de seguridad del primer módulo. Alternativamente o adicionalmente, el secreto puede ser almacenado en un elemento de seguridad del segundo módulo. En otras modalidades, el primero y segundo módulos no comparten un secreto para uso en la generación y validación de contraseñas.
En un arreglo, el primer módulo comprende hardware resistente a manipulación que comprende un reloj, el reloj está arreglado para proporcionar el segundo indicador de tiempo de confianza.
En algunos arreglos, el segundo módulo puede estar conectado de manera comunicativa a un dispositivo que tiene un reloj, el reloj está arreglado para proporcionar el indicador de tiempo que no da confianza.
Ventajosamente, en un arreglo, el sistema puede ser arreglado para causar que el dispositivo de computación envíe un mensaje que comprende los datos generados a un dispositivo de computación adicional de este modo para provisionar el sistema con tal acceso a los datos, y el dispositivo de computación adicional puede ser arreglado para proporcionar tal acceso a los datos después de la recepción de los datos generados.
Alternativamente, en un arreglo donde los datos solicitados son almacenados en o generados por el dispositivo de computación, el sistema puede ser arreglado para causar que el dispositivo de computación proporcione tal acceso a los datos con base en los datos generados.
El primer módulo puede, en algunos arreglos, ser arreglado para recibir, mediante una interfaz del primer módulo, un código de desafío generado por el segundo módulo o el dispositivo de computación, y generar la contraseña usando al menos el código de desafío.
En algunos arreglos, el primer módulo puede ser arreglado para generar una pluralidad de contraseñas, al menos una contraseña de la pluralidad de contraseñas es diferente de otra contraseña de la pluralidad de contraseñas, y proporcionar al menos una de las contraseñas generadas a un usuario mediante una interfaz del primer módulo.
Ventajosamente, el segundo módulo y el dispositivo de computación pueden compartir un secreto adicional para uso en comunicaciones entre estos.
En un arreglo, el segundo módulo puede ser arreglado para almacenar tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo validar la contraseña recibida.
En una modalidad alternativa de la presente invención el segundo módulo puede ser arreglado para recibir tales datos generados del dispositivo de computación y usar tales datos recibidos para proporcionar tal acceso a los datos. Esta modalidad puede ser contrarrestada con modalidades en las cuales el dispositivo de computación está arreglado para provisionar selectivamente el sistema con tal acceso a los datos con base en tales datos generados en que, en esta modalidad, es el segundo módulo que facilita el acceso a los datos requeridos, en lugar del dispositivo de computación.
En algunos arreglos el primero y segundo módulos pueden ser desconectados de manera comunicativa. Esto tiene la ventaja que la contraseña generada por el primer módulo no puede ser accesada de manera remota mediante el segundo módulo. De este modo, con el fin de que un usuario sea capaz de ingresar correctamente una contraseña, la cual ha sido generada por el primer módulo, en el segundo módulo, el usuario debe tener posesión del primer módulo. En tales arreglos, por lo tanto, se puede determinar si el usuario tiene posesión del primer módulo. Esto puede ser útil, por ejemplo, en la determinación de si el usuario del primer módulo es un usuario humano.
En algunos arreglos, tales datos recibidos del dispositivo de computación comprenden datos que indican si el indicador de tiempo que no da confianza está dentro de un intervalo predeterminado del primer indicador de tiempo de confianza.
Los datos solicitados pueden, en algunos arreglos, ser mantenidos por el segundo módulo, y el segundo módulo puede ser configurado para usar tales datos recibidos del dispositivo de computación para determinar si proporciona acceso a tales datos solicitados.
El segundo indicador de tiempo de confianza puede ser un reloj del primer módulo, y el primer indicador de tiempo de confianza puede ser un reloj que está sincronizado con el reloj del primer módulo.
Ventajosamente, el dispositivo de computación y el segundo módulo pueden ser preconfigurados con claves criptográficas para uso en la firma de datos enviados entre estos, y el segundo módulo puede ser arreglado para firmar tal mensaje transmitido al dispositivo de computación y verificar que tales datos recibidos del dispositivo de computación son firmados por el dispositivo de computación usando tales claves criptográficas.
En algunos arreglos, el segundo módulo puede ser arreglado para almacenar tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida.
De conformidad con un segundo aspecto de la presente invención, se proporciona un método para verificar, por un sistema, una petición para acceso a datos usando un dispositivo de computación que está configurado para comunicarse con un primer indicador de tiempo de confianza, el método comprende: generar en un primer módulo una contraseña usando al menos un segundo indicador de tiempo de confianza; recibir en un segundo módulo una contraseña asociada con la petición para acceso a los datos, validar en el segundo módulo la contraseña recibida usando al menos un indicador de tiempo que no da confianza; y causar que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida; en donde, el sistema causa que el dispositivo de computación genere datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el primer indicador de tiempo de confianza, en donde los datos generados son para uso para proporcionar tal acceso a los datos, y en donde el sistema comprende el primer módulo y el segundo módulo.
Ventajas y características adicionales de la invención llegarán a ser aparentes a partir de la siguiente descripción de las modalidades preferidas de la invención, dadas por medio del ejemplo solamente, lo cual se hace con referencia a los dibujos acompañantes.
BREVE DESCRIPCIÓN DE LAS FIGURAS La Figura 1 muestra un diagrama de bloque de un sistema de conformidad con una modalidad de la presente invención; La Figura 2 muestra esquemáticamente un método de conformidad con una modalidad de la presente invención; y La Figura 3 muestra esquemáticamente un método de conformidad con una modalidad adicional de la presente invención.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Modalidades de la invención están relacionadas con la determinación de si se permite accesar a los datos, activos o servicios solicitados. La Figura 1 muestra un diagrama de bloque de un sistema 10 de conformidad con una modalidad de la presente invención. El sistema 10 comprende un primer módulo 20 y un segundo módulo 30. El primer módulo 20 está arreglado para generar contraseñas, y el segundo módulo 30 está arreglado para recibir contraseñas de un usuario del sistema 10 y validar las contraseñas recibidas. Como se representa por la linea punteada 15, en la modalidad mostrada en la Figura 1, el primer módulo 20 está desconectado de manera comunicativa del segundo módulo 30. En otras palabras, el sistema 10 está construido y configurado de manera que no existen medios de comunicación (excepto mediante un ser humano) entre los dos módulos 20 y 30. En una modalidad particular, la comunicación entre los dos módulos 20 y 30 es prevenida por los módulos 20 y 30 es físicamente desconectada de entre sí. Se entenderá sin embargo, que los dos módulos 20 y 30 podrían ser físicamente conectados (es decir, integrados) mientras están desconectados de manera comunicativa por ejemplo, si no comparten cualquier circuito común o interfaces del sistema o comprenden cualquiera de otros medios para intercambiar información entre sí.
En una modalidad alternativa, el primero y segundo módulos 20,30 pueden estar conectados de manera comunicativa.
El primer módulo 20 comprende una interfaz 21, la cual puede ser una interfaz de usuario. La interfaz 21 puede comprender al menos una entrada y/o salida. Una entrada de una interfaz de usuario de un dispositivo puede ser, por ejemplo, un botón, un teclado, un teclado numérico, un ratón, una pantalla de toque, un micrófono o cualquier otro componente que permite al usuario proporcionar una entrada al dispositivo. Una salida de una interfaz de usuario de un dispositivo puede ser, por ejemplo, una pantalla, un altavoz, un codificador de Braille, o cualquier otro componente capaz de dar salida a la información a partir del dispositivo a un usuario de la interfaz 21.
El primer módulo 20 también puede comprender un elemento de seguridad 22. Como se describirá en más detalle abajo, en algunas modalidades, el elemento de seguridad 22 puede almacenar un secreto que es asignado al primero y segundo módulos. El elemento de seguridad 22 también puede comprender un reloj 23 el cual es capaz de proporcionar un indicador de tiempo de confianza (posteriormente referido como el "segundo indicador de tiempo de confianza"). El elemento de seguridad 22 puede ser a prueba de manipulaciones; es decir, el elemento de seguridad 22 puede ser configurado de manera que el segundo indicador de tiempo de confianza no puede ser alterado, y por lo tanto el segundo indicador de tiempo de confianza es de confianza. Igualmente, a prueba de manipulación significa que el secreto almacenado no puede ser leído, y por lo tanto usado, sin la cooperación del primer módulo 20.
El segundo módulo 30 se muestra como parte de un dispositivo 35. El dispositivo 35 puede comprender una interfaz 31, la cual puede ser una interfaz de usuario, la cual puede comprender cualquiera o todas las características descritas anteriormente con referencia a la interfaz 21. Además, el dispositivo comprende un reloj capaz de proporcionar una indicación de tiempo. El segundo módulo 30 es capaz de comunicarse con la interfaz 31 y el reloj 33 del dispositivo, y como tal es capaz de comunicarse con un usuario, en particular para recibir una contraseña proporcionada por el usuario, y ser capaz de tener acceso a una indicación de tiempo a partir del reloj 33.
El segundo módulo 30 mismo puede contener un elemento de seguridad 32. Como el elemento de seguridad 22, el elemento de seguridad 32 puede, en algunas modalidades, almacenar un secreto asignado al primero y segundo módulos. En algunas modalidades, el segundo módulo y/o el elemento de seguridad 32 es removible del dispositivo 35. Como el reloj 33 del dispositivo 35 no es parte del elemento de seguridad 32, el indicador de tiempo proporcionado por el reloj 33 es que no da confianza, ya que puede ser alterado por un usuario, u otras partes (por ejemplo un adversario remoto).
El segundo módulo está conectado de manera comunicativa con al menos un dispositivo de computación adicional o sistema, por ejemplo, uno o ambos de los dispositivos de computación 50 y 60. Estos dispositivos de computación pueden ser servidores, conectados con el dispositivo 35 mediante una red. Alternativamente los dispositivos de computación pueden ser otras formas de computadoras, tales como una computadora de escritorio, a la cual el dispositivo 35 está conectado por ejemplo mediante conexiones 51 y 61. Los dispositivos de computación pueden ser sistemas distribuidos, es decir, sistemas de computación de nube o similares. Los Dispositivos de computación 50 y 60 pueden ser conectados mediante la conexión 52. Como se describirá en más detalle abajo, el dispositivo de computación 50 también comprende un reloj 53, el cual es capaz de proporcionar un primer indicador de tiempo de confianza. El segundo módulo 30 puede ser apareado con el dispositivo de computación 50. Por ejemplo, el segundo módulo 30 puede haber sido apareado con el dispositivo de computación 50 durante un proceso de configuración en el cual una clave criptográfica es asignada a tanto el segundo módulo 30 como al dispositivo de computación 50 para uso en comunicaciones seguras entre estos.
Como se declara anteriormente, en la presente modalidad, el primero y segundo módulos son desconectados de manera comunicativa. Por lo tanto, en uso, la interfaz 21 del primer módulo 20 está configurada para proporcionar una contraseña generada a un usuario, mostrada como bloque 40, y la interfaz 31 accessible por el segundo módulo 30 está configurada para recibir una contraseña del usuario 40.
En algunas modalidades, el primer módulo 20 y el segundo módulo 30 pueden ser dispositivos separados que son colectivamente configurados para determinar si es probable que una petición para acceso a datos es originada de un usuario en posesión física del segundo módulo 30. Como un ejemplo, los dos módulos 20 y 30 pueden ser manufacturados y vendidos en conjunto, y están en posesión de una persona particular. El dispositivo 35 puede, en un ejemplo, ser un dispositivo de comunicaciones, tal como un teléfono móvil o lector de tarjeta de banco. Como tal, el segundo módulo puede ser una tarjeta SIM, o tarjeta bancaria capaz de ser insertada en el dispositivo 35. En modalidades alternativas, el primero y segundo módulos 20 y 30 pueden ser componentes de un dispositivo único.
El segundo módulo 30 puede operar bajo el control de un usuario quién está en posesión del segundo módulo 30 mediante la interfaz 31 del dispositivo 35. Sin embargo, el segundo módulo 30 también puede operar bajo el control de una entidad remota que tiene enlace de comunicaciones con el segundo módulo 30. En la presente modalidad, como el primer módulo 20 está desconectado de manera comunicativa del segundo módulo 30, descrito en más detalle abajo, no puede ser controlado mediante la interfaz 31 del segundo módulo 31, ni por un enlace remoto de comunicaciones.
El dispositivo 35 puede almacenar datos confidenciales asociados con una persona particular. Como un ejemplo particular, el segundo módulo 30 puede almacenar claves criptográficas restringidas al usuario para desencriptar datos. Adicionalmente o alternativamente, el segundo módulo 30 puede proporcionar o facilitar acceso a los datos confidenciales que son almacenados externamente por una tercera parte, por ejemplo en uno o ambos de los dispositivos de computación 50 y 60. En este último caso, la tercera parte puede permitir solamente acceso a los datos si se determina que los datos están siendo proporcionados a una persona particular, es decir, la persona en posesión física del primero y segundo módulos 20 y 30 (en otras palabras, los datos pueden ser restringidos al usuario). Antes de que una tercera parte otorgue acceso a datos restringidos al usuario mediante un dispositivo particular, la tercera parte puede requerir que el propietario de un dispositivo registre una asociación entre el dispositivo y el propietario. En este caso, la tercera parte puede entonces solamente enviar datos, los cuales se pretenden para ser recibidos por una persona particular, al dispositivo que está asociado con tal persona. En modalidades adicionales, la tercera parte puede tomar una acción, tal como tener acceso a información confidencial y/o datos de pagos y enviar las mismas a una cuarta parte, si las instrucciones para hacer esto son recibidas mediante el segundo módulo 30. Por ejemplo, el dispositivo de computación 50 puede enviar información confidencial al dispositivo de computación 60. Como tal, en el presente ejemplo, el segundo módulo 30 puede tener una asociación registrada con una persona particular, y de este modo el segundo módulo 30 puede ser usado para identificar que es la persona particular, es decir, un retenedor de la cuenta, que está haciendo una petición.
Cuando el segundo módulo 30 comprende un módulo de comunicaciones, se apreciará que una persona no autorizada podría hacer una conexión con el segundo módulo 30 y controlar de manera remota el segundo módulo 30 para enviar una petición a la tercera parte. Si el segundo módulo 30 puede determinar si la petición para acceso a los datos fue hecha ya sea por un usuario en posesión del segundo módulo 30 o por un usuario remoto del segundo módulo 30, puede tomar una acción responsiva apropiada por ejemplo deshabilitando además el uso del segundo módulo 30 después de una determinación de que la petición se hizo por un usuario remoto.
Como se explicará ahora, las modalidades proporcionan un medio para realizar tal determinación. El primer módulo 20 comprende circuitos y/o software que son construidos y configurados para generar una contraseña con base en el indicador de tiempo de confianza del reloj 23 (es decir, el segundo indicador de tiempo de confianza mencionado anteriormente). Este circuito y/o software puede, al menos en parte, estar contenido dentro del elemento de seguridad 23.
Como se describe anteriormente, en una modalidad, el primero y segundo módulos 20, 30 pueden ser configurados con un secreto compartido para uso en tanto la generación como validación de contraseñas. En esta modalidad, el primer módulo 20 puede ser arreglado para generar una contraseña con base también en el secreto compartido. El secreto puede, en una modalidad, ser únicamente asignado al primero y segundo módulos 20,30.
El secreto que es asignado al primero y segundo módulos 20 y 30 puede ser una clave de generación de OTP y la contraseña que es generada por el primer módulo 20 es de este modo una contraseña de un solo uso (OTP). En esta modalidad, las contraseñas subsecuentes generadas por el primer módulo 20 son diferentes de las contraseñas previamente generadas, y cada contraseña generada es válida para un intento de autentificación solamente. En un arreglo particular, la OTP generada es dependiente del tiempo y es válida por un periodo de tiempo predeterminado. En un arreglo alternativo, el primer módulo 20 puede generar una contraseña en dependencia de una contraseña previamente generada y el segundo indicador de tiempo de confianza usando una clave de generación de OTP.
La OTP es generada por el primer módulo 20 en dependencia de una segunda indicación de tiempo de confianza proporcionada por el reloj 23 del primer módulo 20 y la clave de generación de OTP (es decir, el secreto). La OTP puede ser una función criptográfica de la clave de generación de OTP y el tiempo actual. En el caso de que el primer módulo 20 y el segundo módulo 30 son partes compuestas de un dispositivo único, la OTP puede ser adicionalmente generada en dependencia de una ID de dispositivo puede adicionalmente ser generada en dependencia de una ID de dispositivo individualmente asociada con el dispositivo. Tal ID de dispositivo puede ser, por ejemplo, una función discontinua de la ID de la CPU, una función discontinua de la ID de la GPU del dispositivo, o una combinación de los mismos. En este caso, la OTP puede ser una función criptográfica de la clave de generación de OTP, el dispositivo ID y el segundo indicador de tiempo de confianza. El valor del segundo indicador de tiempo de confianza será conocido en la presente como el "tiempo de generación" TG, y se entenderá por haber sido medido con respecto al reloj 23 del primer módulo 20. En este caso, una OTP generada particular puede solamente ser usada para validar una petición para acceso a datos si se usa dentro de un periodo predeterminado del tiempo de generación TG. En tales casos, la OTP generada puede ser validada si la TRU del tiempo está dentro de un periodo de tiempo predeterminado precediendo o después del tiempo de generación TG usado para generar la contraseña en el primer módulo 20 -aquí TRU puede preceder a TG debido al tiempo de deriva entre los dos indicadores de tiempo.
Se apreciará que, debido al nombre, existe una baja pero fina oportunidad de que una OTP puede ser reutilizada. No obstante, la oportunidad de que una contraseña previamente generada será validad en un tiempo después es efectivamente el mismo conforme la oportunidad de una función de contraseña aleatoria, y como tal, para los propósitos de este documento, se asumirá que una contraseña dada será solamente válida una vez durante el tiempo de vida de los módulos, y es por lo tanto una OTP. Además, debe una OTP ser usada dos veces dentro del periodo de tiempo predeterminado para el cual es válido, será rechazará -esto previene la reutilización de las contraseñas.
El segundo módulo 30 también comprende circuitos y/o software que están construidos y configurados para determinar, con base en el indicador de tiempo que no da confianza del reloj 33 (y opcionalmente también el secreto compartido, si el segundo módulo 30 es asi configurado), si una contraseña recibida de un usuario 40 del segundo módulo 30 se iguala con la contraseña que podría haber sido generada por el primer módulo 20 en el tiempo como se indica por el indicador de tiempo que no da confianza del reloj 33. Nuevamente, al menos una parte de los circuitos y/o software pueden ser contenidos dentro del elemento de seguridad 32.
En la modalidad particular mostrada en la Figura 1, un secreto es individualmente asignado al primero y segundo módulos 20 y 30. En otras palabras, el secreto puede estar no asociado con el primero y segundo módulos 20 y 30 solamente. Sin embargo este no es un requerimiento esencial. En modalidades, los elementos de seguridad 22 y 32 del primero y segundo módulos 20 y 30 son resistentes a la manipulación, es decir, el secreto y el algoritmo usado para generar la contraseña almacenada dentro del elemento de seguridad 23 y 33 no puede ser alterado.
Como se mencionó anteriormente, la contraseña como se genera por el primer dispositivo 20 es generada usando un algoritmo apropiado y una indicación de tiempo, y es por lo tanto una OTP. El indicador de tiempo (es decir, el segundo indicador de tiempo de confianza mencionado anteriormente) puede ser, por ejemplo, un número entero, donde el número entero se incrementa a una frecuencia predeterminada (tal como cada 30 segundos o cada minuto). El número entero puede tener un valor de cero que corresponde a un punto conocido en tiempo en el pasado, y puede ser arreglado de manera que, durante el tiempo de vida del dispositivo el número entero no se acumula - es decir, no alcanzará el valor máximo del registro de almacenamiento del número entero, y de este modo regresa a cero. Esto asegura que el segundo indicador de tiempo de confianza tiene un valor único el cual nunca es repetido, y por lo tanto cualquiera de las contraseñas generadas usando el segundo indicador de confianza no serán repetidas. No obstante lo anterior, será aparente que cualquier otro indicador de tiempo de confianza puede ser preferiblemente usado. El segundo indicador de tiempo de confianza puede ser generado por un reloj contenido dentro del elemento de seguridad 23.
La Figura 2 muestra esquemáticamente un método ejemplar de conformidad con la presente modalidad. En este método, el usuario 40 hace una petición para acceso a datos, como se representa por la flecha 74. La petición para acceso a los datos puede ser, por ejemplo, una petición para acceder a una página web restringida, una petición para acceso a información confidencial, o una petición para acceso a datos para uso permitiendo acceso a un servicio. La petición puede hacerse en el dispositivo 35, y de este modo mediante el segundo módulo 30, alternativamente la petición puede hacerse por el usuario a cualquiera de los dispositivos de computación 50 y 60. En general, los datos de que el usuario 40 desea acceder podrían ser datos almacenados en, o generados, por cualquier componente del sistema 10, o podrían ser datos que son almacenados en o generados por una entidad que es externa al sistema 10 (por ejemplo una base de datos o servidor externo). Los datos de que el usuario 35 del segundo módulo 30 desea acceder pueden ser, por ejemplo, una página web restringida alojada en un servidor, el cual es externo al sistema 10, y en este caso, el acceso a la página web puede ser permitido por el servidor enviando datos al segundo módulo 30. La información contenida en los datos enviados por el segundo módulo 30 serán explicados en más detalle abajo.
En respuesta a la petición para acceso a los datos en la etapa 74, el segundo módulo 30, en la etapa 76, promueve al usuario 40 para ingresar una contraseña que ha sido generada por el primer módulo 20. El usuario, en la etapa 78, puede entonces causar al primer módulo 20 a generar una contraseña mediante, por ejemplo, presionando un botón de la interfaz 21 del primer módulo o de otro modo indicando al primer módulo 20 que se requiere una contraseña.
En la etapa 80, el primer módulo 20 usa el secreto que es individualmente asignado al primero y segundo módulos 20 y 30, así como también la segunda indicación de tiempo de confianza proporcionada por el reloj 33, para generar una contraseña, la cual es entonces proporcionada en la etapa 82 al usuario 40. La contraseña generada puede ser, por ejemplo, una serie de números, una serie de letras, una combinación de letras, números y otros caracteres o una imagen y puede por ejemplo ser presentada al usuario 40 en una pantalla de la interfaz 21.
Alternativamente, el primer módulo 20 puede generar contraseñas (en dependencia con el secreto compartido y el segundo indicador de tiempo de confianza) a intervalos de tiempo regulares y puede presentar automáticamente la contraseña más recientemente generada en la interfaz 21 del primer módulo 20. En tales situaciones, la etapa 78 podría no ser requerida ya que el primer módulo 30 podría presentar la contraseña sin petición.
En cualquier caso, el usuario 40 puede entonces proporcionar, en la etapa 84, la contraseña generada por el primer módulo 20 al segundo módulo 30. Esto puede hacerse por el usuario que ingresa la contraseña en la interfaz 31 del dispositivo 35, mediante la cual es proporcionada al segundo módulo 30. En la etapa 86, el segundo módulo 30 entonces usa el secreto que es individualmente asignado al primero y segundo módulos 20 y 30, y el indicador de tiempo que no da confianza a partir del reloj 33 del dispositivo 35, para verificar si la contraseña recibida del usuario 40 es la misma como la contraseña que podría haber sido generada por el primer módulo 20.
Se apreciará que cuando una contraseña que es generada por el primer módulo 20 es ingresada en el segundo módulo 30, la contraseña debe haber sido previamente recuperada del primer módulo 20. Como en esta modalidad, el primer módulo 20 está desconectado de manera comunicativa del segundo módulo 30, es altamente probable que el usuario 40 es un humano quién está en posesión de, o al menos tiene acceso, al primer módulo 20 asi como también el segundo módulo 30, y es por lo tanto capaz de recuperar la contraseña del primer módulo 20 y proporcionarla manualmente al segundo módulo 30.
Como se declara anteriormente, el primer módulo 20 y el segundo módulo 30 pueden cada uno comprender un elemento de seguridad respectivo 22 y 32 en el cual un secreto es almacenado. El secreto puede ser individualmente asignado al primero y segundo módulos 20 y 30 y almacenado en los elementos de seguridad 22 y 32. En otras palabras, el secreto que es individualmente asignado al primero y segundo módulos 20 y 30 es almacenado en partes del primero y segundo módulos 20 y 30 que no pueden ser accesados por un usuario, tal como el usuario 40, e igualmente cualquier otra parte la cual puede ganar acceso al primero y segundo módulos 20 y 30.
En este caso, el secreto puede ser provisionado a los elementos de seguridad 22 y 32 del primero y segundo módulos 20 y 30 en la manufactura. En una modalidad, los elementos de seguridad 22 y 32 son manufacturados de manera separada con los otros componentes de los módulos 20 y 30 y de este modo la asociación entre los módulos 20 y 30 y el secreto almacenado en los elementos de seguridad 22 y 32 no pueden ser conocidos por cualquier entidad externa al sistema 10. Almacenar el secreto dentro de los elementos de seguridad 22 y 32 previene a cualquier usuario con acceso a cualquiera de los módulos 20 y 30 de encontrar el secreto y de este modo ser capaz de funcionar la contraseña que necesita ser ingresada en el segundo módulo 30 con el fin de tener acceso a los datos solicitados. También previene a cualquier usuario de alterar el algoritmo para generar contraseñas, lo cual podría de este modo causar al primer módulo 20 o el segundo módulo 30 para generar una respuesta falsa. Por ejemplo, el algoritmo en el segundo módulo puede ser no alterado para aceptar cualquier entrada como válida.
Una ventaja particular de la presente modalidad se origina a partir del hecho de que el secreto para generar y validar la contraseña es individualmente asignado al primero y segundo módulos 20 y 30. Más específicamente, existe un mapeo uno a uno entre el secreto y el módulo 30 que usa el secreto para validar la contraseña, y también un mapeo uno a uno entre el secreto y el módulo 20 que usa el secreto para generar la contraseña, entonces en el caso de que el secreto se comprometa, los módulos 20 y 30 necesitan solamente ser reconfigurados con un nuevo secreto (este es nuevamente asignado individualmente a los módulos 20 y 30). Esto se puede lograr, por ejemplo, reemplazando los elementos de seguridad 22 y 32 de los módulos 20 y 30 con nuevos elementos de seguridad que tienen el nuevo secreto almacenado en este. Alternativamente, donde los módulos son relativamente artículos de bajo costo, tales como SIM de teléfono (segundo módulo 30) y un módulo generador de contraseña asociado (primer módulo 20), ambos módulos pueden ser reemplazados.
Esto puede ser contrastado con el sistema de OTP conocido descrito en la sección antecedente, en la cual una clave de OTP dada es individualmente asociada con un usuario particular en lugar de un par de módulos 20 y 30. En este sistema conocido, puede existir una relación uno a muchos entre la clave de OTP y los dispositivos que usan la clave de OTP para generar una contraseña. Este es el caso, si una clave de OTP está comprometida, los datos pueden ser accesados en beneficio de tal usuario mediante cualquier dispositivo que usa la clave de OTP. Como la clave de OTP típicamente será almacenada tanto en un número de testigos de OTP como también en el servidor de autentificación, establecer una nueva clave de OTP puede ser casi pesado en el servidor de autentificación, ya que el servidor de autentificación es requerido para tanto reasignar una nueva clave de generación de OTP a tal usuario y para configurar una nueva serie de testigos de OTP con la nueva clave de generación de OTP.
El segundo módulo 30 usa el indicador de tiempo que no da confianza a partir del reloj 33 y la clave de generación de OTP (es decir, el secreto compartido) para determinar si la contraseña es la misma como una contraseña que podría haber sido generada por el primer módulo 20 en un tiempo dentro de un tiempo predeterminado a partir del tiempo en el cual la contraseña fue recibida por el segundo módulo 30. El valor del indicador de tiempo que no da confianza en el cual la contraseña fue recibida por el segundo módulo 30 se conocerá aquí como el "tiempo de recepción que no da confianza" TRU.
El método usado por el segundo módulo 30 para validar la contraseña recibida dependerá del método usado por el primer módulo 20 para generar la contraseña. Muchos de tales métodos son ya conocidos y el método específico es considerado por estar fuera del alcance de la presente invención.
Si el segundo módulo 30 determina que la contraseña recibida se iguala con una OTP que fue/podría haber sido generada por el primer módulo 20 en un tiempo TG que está dentro de un periodo predeterminado del tiempo de recepción TRU, entonces el segundo módulo 30 valida la contraseña recibida.
Sin embargo, esta contraseña puede haber sido generada por el primer módulo 20 en un tiempo anterior, y reproducida al segundo módulo 30. Esto puede ocurrir si el dispositivo 35 ha sido comprometido, y por lo tanto la contraseña ingresada mediante la interfaz 31 puede ser interceptada. Como se mencionó anteriormente, la contraseña es una contraseña de un solo uso (OTP) que ha sido generada usando una indicación de tiempo. Por lo tanto, el tiempo de retardo entre la contraseña que es generado por el primer módulo 20 y es recibida por el segundo módulo 30 podría ser típicamente suficientemente largo para que la OTP no sea más válida.
No obstante, el segundo módulo 30 solamente tiene acceso a un indicador de tiempo que no da confianza. Esto es típicamente debido a que el indicador de tiempo es proporcionado por el reloj 33 del dispositivo 35. Como tal, el reloj puede haber sido ajustado, por ejemplo, por manipulación con el dispositivo 35, a través de acceso remoto del dispositivo, o casi legítimamente simplemente ajustando el reloj 33 a través de una preferencia de usuario. Esto significa que el indicador de tiempo que no da confianza podría ser ajustado para corresponder con el tiempo en el cual la contraseña fue generada por el primer módulo 20 y por lo tanto en un tiempo que corresponde a una contraseña que fue anteriormente interceptada por un adversario. Esto a su vez puede causar que el segundo módulo determine incorrectamente la contraseña reproducida por ser válida.
El segundo módulo 30 puede solamente tener acceso a un tiempo que no da confianza, debido a que no es práctico proporcionar el segundo módulo 30, o el elemento de seguridad 32 del mismo, con un tiempo seguro, y por lo tanto de confianza. Por ejemplo, donde el elemento de seguridad es una SIM o tarjeta de banco, la potencia debe ser removida del segundo módulo 30, y como tal cualquier reloj que corre en el módulo puede perder el tiempo. Esto hace al segundo módulo 30 dependiente del reloj 33 del dispositivo 35, lo cual como se declara anteriormente es que no da confianza.
Como tal, una vez que el segundo módulo 30 ha validado una contraseña recibida usando el indicador de tiempo que no da confianza TR0, el segundo módulo 30 envía un mensaje en la etapa 88 al dispositivo de computación 50. Este mensaje contiene datos indicativos del indicador de tiempo usado para validar la contraseña recibida (es decir, la marca de tiempo que no da confianza TRD). El mensaje puede también contener datos indicativos de la validación de la contraseña recibida (usando el tiempo que no da confianza) por el segundo módulo 30.
Como se mencionó anteriormente, el dispositivo de computación 50 tiene acceso a un primer indicador de tiempo de confianza, por ejemplo mediante el reloj 53. Este reloj 53 puede ser sincronizado con el reloj 23 del primer módulo 20. Aquí, ser sincronizado significa que es posible para el dispositivo de computación 50 acceder a un indicador de tiempo (T'G) el cual está dentro de un intervalo predeterminado (para permitir la derivación entre los relojes) del tiempo TG usado por el primer módulo 20 para generar la contraseña. Sin embargo, la confianza puede haber sido establecida entre el dispositivo de computación 50 y el segundo módulo 30 por el compartimiento de claves criptográficas para uso en la firma y de este modo autentificar los mensajes enviados entre estos, como será discutido en más detalle abajo.
Después de recibir el mensaje que contiene el indicador de tiempo que no da confianza, el dispositivo de computación 50 compara el indicador de tiempo TRU que no da confianza indicado en el mensaje recibido al primer indicador de tiempo TG de confianza como se determina por el reloj 53 del dispositivo de computación 50. Si el tiempo que no da confianza TRU es determinado que está dentro del intervalo predeterminado del primer tiempo de confianza TG y el mensaje indica que la contraseña recibida por el segundo módulo 30 es válido, el dispositivo de computación 50 determina confiar que el usuario 40 ha accedido a tanto el primero como al segundo de los módulos 20 y 30. Consecuentemente, el dispositivo de computación 50 puede generar datos indicativos de esta comparación, y uso de los datos generados para proporcionar acceso a los datos, como inicialmente se solicita en la etapa 74.
Esto es porque, si el segundo módulo 30 ha positivamente validado una contraseña recibida usando la marca de tiempo TR0, entonces el usuario 40 debe haber proporcionado una contraseña que podrá haber generado por el primer módulo 20 a un tiempo de confianza TG que es cercano a TRU. Se deduce entonces que, si TRU está cercano al tiempo de confianza TG como se determina por el dispositivo de computación 50, entonces TG puede también estar cercano al tiempo actual y asi se puede determinar que el usuario 40 puede haber proporcionado una contraseña que fue/habria sido generada por el primer módulo 20 en algún tiempo TG cercano a, es decir, dentro de un intervalo predeterminado de, el tiempo actual como se indica por TG. Por lo tanto, el usuario 40 es probable que actualmente este en posesión de, o al menos tener acceso a, el primer módulo 20. Ya que no hay manera de automáticamente transferir una contraseña generada por el primer módulo 20 al segundo módulo 30, es muy probable que la persona en posesión del segundo módulo 20 también esté en posesión del primer módulo 30 y puede con ello transferir la contraseña generada por el primer módulo 20 al segundo módulo 30 manualmente.
Ventajosamente, si el dispositivo de computación 50 determina que la marca de tiempo que no da confianza TRU, no está dentro del intervalo predeterminado del tiempo de confianza TG, y por lo tanto se obtiene de una fuente de tiempo que no está sincronizada con el reloj del primer módulo 20, el dispositivo de computación 50 puede negar el acceso a los datos.
Consecuentemente, como se muestra por la etapa 92, el dispositivo d computación 50 puede estar en comunicación con los otros elementos del sistema para afectar el acceso a los datos, con ello usando los datos generados por la comparación anterior. Por ejemplo, el dispositivo de computación 50 puede enviar un mensaje al segundo módulo 30 el cual indica si el tiempo TR está dentro del intervalo de tiempo predeterminado. Si el tiempo TR está dentro del intervalo de tiempo predeterminado, el segundo módulo 30 puede permitir el acceso para datos solicitados. Alternativa, si el tiempo TR está fuera del intervalo de tiempo predeterminado, el segundo módulo puede negar el acceso a los datos solicitados.
El usuario 40 puede haber solicitado acceso a los datos que mantenido externamente por el dispositivo de computación 50. En este caso, el dispositivo de computación 50 puede responder ya sea enviando los datos solicitados al segundo módulo 30 o negando el acceso.
Alternativamente, en un ejemplo adicional, el dispositivo de computación 50 puede permitir el acceso, por el dispositivo de computación 60, a los datos almacenados en cualquiera o ambos del dispositivo de computación 50 o el segundo módulo 30. En aún un ejemplo adicional, la validación exitosa se puede usar para permitir al dispositivo de computación 50, y/o el segundo módulo 30, para acceder a los datos en el dispositivo de computación 60.
En los ejemplos anteriores, el segundo módulo 30 puede almacenar previamente los OTPs recibidas y puede invalidar cualquier OTPs que previamente se han recibido. Esto es particularmente útil para situaciones en las cuales el segundo módulo 30 es simultáneamente accedido tanto por un adversario remoto como por un usuario en posesión tanto del primero como del segundo módulo 20 y 30 (es decir, un usuario local 40). Asumiendo que el usuario remoto intenta acceder a los datos replicando una OTP que fue previamente ingresada en el segundo módulo 30 por el usuario local 40, el segundo módulo 30 podrá rechazar la OTP replicada como un duplicado. En un arreglo, el segundo módulo 30 puede almacenar un número limitado de OTPs previamente recibidas de manera que sea capaz de rechazar los duplicados. El número de duplicados almacenados puede ser tal que si una OTP particular, la cual no es almacenada por mucho tiempo por el segundo módulo 30, si es replicado, la tercera parte 100 es igualmente rechazada que la OTP porque puede estar asociada con una marca de tiempo que está fuera del intervalo predeterminado del tiempo actual.
El mensaje que contiene la marca de tiempo que no da confianza TRU usada por el segundo módulo 30 para validar una contraseña recibida para ser firmada por el segundo módulo 30 (por ejemplo, usando clave(s) criptográfica(s) asociada(s) con el segundo módulo 30 y el dispositivo de computación 50), con ello permitir al dispositivo de computación 50 verificar el origen del mensaje. Esto significa que, si el usuario remoto intenta alterar un mensaje enviado por el segundo módulo 30 que contiene el tiempo que no da confianza, el dispositivo de computación 50 reconocerá que el mensaje ha sido alterado porque no contendrá la segunda firma correcta del módulo y negará el acceso a los datos solicitados asociados. Igualmente, los mensajes repetidos, es decir, mensajes previamente enviados por el segundo módulo 30 los cuales son reenviados al dispositivo de computación 50 podrán contener un indicador de tiempo que no da confianza TRU que está en el pasado, y puede por lo tanto ser rechazado.
Si el dispositivo de computación 50 es configurado para enviar un mensaje al segundo módulo 30 indicando si una marca de tiempo recibida es válida, que el mensaje puede también ser firmado. Esto permite al segundo módulo 30 identificar mensajes enviados al segundo módulo 30 por una parte diferente al dispositivo de computación 50, el cual no puede ser de confianza.
Lo anterior puede ser contrastado con un sistema el cual en el segundo módulo 30 recupera una marca de tiempo de una tercera parte. En este sistema es posible que un usuario remoto pueda observar una OTP ingresada por un usuario 40 en posesión de tanto el primero como el segundo de los módulos 20 y 30 y puede también observar la marca de tiempo recibida desde la tercera parte. Este usuario remoto puede, en algún momento posterior, proporcionar el segundo módulo 30 con la marca de tiempo observada y la OTP observada. En este caso, el segundo módulo 30 puede validar la contraseña del usuario remoto. Sin embargo, en un sistema configurado de conformidad con la modalidad anterior, el segundo módulo 30 envía la marca de tempo usada para validar la contraseña al dispositivo de computación 50, el dispositivo de computación 50 es capaz de identificar que cualquier marca de tiempo está fuera de fecha y puede negar el acceso a los datos solicitados por lo tanto.
Un sistema configurado de conformidad con la modalidad anterior tiene la ventaja que el segundo módulo es capaz de tomar el primera etapa en verificación de la contraseña proporcionada sin tener acceso a una marca de tiempo remota. Esto acelera el tiempo de verificación como solamente un mensaje único (etapa 88) puede necesitar ser transmitido por el sistema como un todo para verificación completa. En contraste, un sistema en el cual una marca de tiempo de confianza que se proporciona al segundo módulo 30 requiere al menos dos mensaje, una solicitud para tiempo de confianza y una respuesta.
La figura 3 muestra esquemáticamente un método ejemplar para compartir claves criptográficas temporales, como una forma de proporciona acceso a los datos, entre un proveedor de servicio bancario, el cual puede ser el dispositivo de computación 50, y el segundo módulo 30. En este ejemplo, el proveedor de servicio bancario 50 ha compartido claves criptográficas temporales con otro proveedor de servicio, el cual puede estar asociado con el dispositivo de computación 60. Juntas las claves criptográficas compartidas con el proveedor de servicio 60 y las claves criptográficas compartidas con el segundo módulo 30 se pueden usar en la autenticación y/o encriptado/desencriptado de mensajes enviados entre el segundo módulo 30 y el proveedor de servicio 60, como será discutido en más detalle posteriormente.
El segundo módulo 30 y el proveedor de servicio bancario 50 ya tienen claves criptográficas pre-asignadas para uso en encriptado y desencriptado de mensajes enviados entre los mismos, como se discute anteriormente. Además, el proveedor de servicio bancario 50 puede almacenar una asociación entre el segundo módulo 30 y un titular de cuenta de banco particular.
Como se describe anteriormente, el segundo módulo 30 no tiene un reloj que está sincronizado con el reloj del primer módulo 20. Sin embargo, el proveedor de servicio bancario 50 tiene un reloj que está sincronizado con el reloj del primer módulo 20 (por ejemplo, ambos relojes pueden correr en tiempo universal, o el proveedor de servicio bancario 50 puede ser capaz de derivar la marca de tiempo en el primer módulo 20).
En este ejemplo particular, un usuario 40 solicita, en la etapa 96, una clave criptográfica temporal desde el proveedor de servicio bancario 50 por medio del segundo módulo 30 y dispositivo 35. Cuando se solicita acceso a la clave criptográfica temporal, el usuario 40 puede proporcionar información al segundo módulo 30 y/o dispositivo 35 que identifica al titular de la cuenta de banco particular con respecto al cual el usuario 40 quiere obtener una clave criptográfica temporal.
Después de la recepción de la solicitud para una clave criptográfica temporal, es decir, la solicitud para datos, el segundo módulo 30 envía un mensaje (etapa 98) al proveedor de servicio bancario 50 indicando que una solicitud para acceso a una clave criptográfica temporal se ha hecho por un usuario 40 e indicando que los módulos 20 y 30 están disponibles para generar y validar las contraseñas. Este mensaje (enviado a la etapa 98) informa al proveedor de servicio bancario 50 que será capaz de determinar si la solicitud (en la etapa 98) para acceder a una clave criptográfica temporal originada desde un usuario en posesión física del primer o segundo de los módulos 20 y 30.
Por lo tanto, como se muestra en la etapa 74', el proveedor de servicio bancario 50 puede solicitar que el segundo módulo proporcione una indicación de que la contraseña correcta ha sido proporcionada. En esta modalidad, el método generalmente procede como se describe anteriormente con referencia a las etapas 76 a 88, con una contraseña siendo solicitada desde el primer módulo, y validada por el segundo módulo.
Sin embargo, además, se puede usar un código de desafío para proporcionar seguridad adicional. El código de desafío puede ser generado por el segundo módulo 30, o puede ser recibido por el segundo módulo 30 desde el proveedor de servicio bancario 50 en la etapa 74'. El código de desafío se proporciona al usuario 40 en la etapa 76, y proporcionado al primer módulo 30 por el usuario 40 en la etapa 78. El código de desafío se usa por el primer módulo 20 en la generación de la contraseña en la etapa 80, y subsecuentemente en la validación de la contraseña por el segundo módulo en la etapa 86.
En una etapa adicional (no se hace referencia) el usuario 40 puede ser requerido a ingresar las credenciales (tal como un nombre de usuario y un PIN o contraseña) que ha sido pre-convenido entre el proveedor de servicio bancario 50 y el titular de la cuentea de banco (es decir, el usuario 40). Esto tiene la ventaja que el proveedor de servicio bancario 50 es capaz de verificar si el usuario 40 del segundo módulo 30 es el titular de la cuenta de banco identificado o si el usuario es una persona diferente (el cual puede haber robado los módulos 20 y 30, por ejemplo).
Como se describe anteriormente, el segundo módulo 30 determina en la etapa 86 si la contraseña recibida desde el usuario 40 es válida en base a las indicaciones que no son confiables del tiempo disponible al segundo módulo 30 y, si es apropiado, cualquier código de desafio el cual puede haber sido proporcionado. Posteriormente, en la etapa 88 el segundo módulo 30 envía un mensaje proporcionando indicaciones que no son confianza de tiempo usando para verificar que se recibió la OTP. El mensaje puede adicionalmente contener datos indicativos que la OTP recibida se encontró ser válida, y que el código de desafío correcto se usó para genera la contraseña. La respuesta puede ser encriptada y/o firmada, por ejemplo usando las claves criptográficas compartidas entre el segundo módulo 30 y el dispositivo de computación 50. La respuesta puede también contener cualquier nombre de usuario, contraseña y similares proporcionados por el usuario 40.
Si, por otra parte, el segundo módulo 30 no valida exitosamente la contraseña recibida, el segundo módulo 30 puede enviar una firma al proveedor de servicio bancario 50 indicando que la OTP recibida se encontró ser inválida.
Si el mensaje enviado en la etapa 88 indica que la OTP recibida fue validada, entonces el proveedor de servicio bancario 50 puede comparar el tiempo indicado en la marca de tiempo que no es de confianza enviada en la etapa 88 con el primer indicador de tiempo de confianza. Esta etapa puede incluir cualquier otra forma de autenticación, por ejemplo validando un nombre de usuario y contraseña como se describe anteriormente. Si el proveedor de servicio bancario 50 determina que el tiempo que no es de confianza (proporcionado en la etapa 88) está dentro de un intervalo de tiempo predeterminado y, si se requiere, que cualquiera de otras credenciales de autenticación (es decir, nombre de usuario y contraseña) es válida, el proveedor de servicio bancario 50 puede enviar (en la etapa 100) la clave criptográfica temporal solicitada al segundo módulo 30, en donde es entonces almacenada.
En un ejemplo alternativo, en lugar del proveedor de servicio bancario 50 que genera y distribuye la clave criptográfica temporal, la clave criptográfica temporal puede ser generada por el proveedor de servicio 60, y enviar al proveedor de servicio bancario 50, el cual podrá entonces determinar si comparten esta clave con el segundo módulo 30 como en el caso en donde la clave criptográfica temporal es generada por el proveedor de servicio bancario 50. Alternativamente, la clave criptográfica temporal puede ser generada por el segundo módulo 30, y puede ser enviado al proveedor de servicio bancario 50 en el mensaje 88 por ejemplo. En este arreglo, el proveedor de servicio bancario 50 puede entonces compartir la clave criptográfica temporal con un proveedor de servicio 60.
Como se menciona anteriormente, el segundo módulo 30 es registrado con un proveedor de servicio bancario 50 como propiedad de un titular de la cuenta de banco. El proveedor de servicio bancario 50 comparte las claves criptográficas temporales con el segundo módulo 30 y el proveedor de servicio 60. El proveedor de servicio 60 puede ya conocer que el titular de la cuenta de banco es el propietario registrado del segundo módulo 30, y en este caso, cuando las claves criptográficas temporales se comparten con el proveedor de servicio 60, el titular de la cuenta de banco que está asociado con aquellas claves es identificado por el proveedor de servicio 60. Alternativamente, si el titular de la cuenta de banco no es conocido por el proveedor de servicio 60, el proveedor de servicio bancario 50 puede enviar al proveedor de servicio 60 información para uso en identificar y proporcionar un servicio al titular de la cuenta de banco cuando las claves criptográficas temporales se comparten.
En el presente ejemplo, un usuario 40 puede solicitar (etapa 102) acceso a un proveedor de servicio 60 para uso en la elaboración de un pago o transferencia de fondos desde la cuenta del titular de la cuenta de banco.
En una modalidad, más bien una solicitud para acceso a los datos es recibida en cualquiera del segundo módulo 30, dispositivo de computación 50 o dispositivo de computación 60 desde un usuario 40, una solicitud para acceso a datos puede ser generada por cualquiera del segundo módulo 30, dispositivo de computación 50 o dispositivo de computación 50 o dispositivo de computación 60 sin entrada de usuario. Por ejemplo, una tercera parte que opera el dispositivo de computación 50 puede desear determinar si existe un usuario 40 del segundo módulo 30 el cual es una posesión física del segundo módulo 30 y así el dispositivo de computación 50 envía un mensaje al segundo módulo 30 indicando algo. Después de la recepción de este mensaje, el segundo módulo 30 avisa al usuario 40 del segundo módulo 30 a ingresar una contraseña que ha sido generada por el primer módulo 20 en el segundo módulo 30, y el método procede como se describe anteriormente.
Las modalidades de la invención pueden ser contrastadas con un sistema en el cual el secreto usado por el primer módulo 20 a generar una contraseña que no se conoce por el segundo módulo 30, sino que es compartida entre un servidor de autenticación, tal como dispositivo de computación 50, y el primer módulo 20. Mientras el segundo módulo 30 en esta modalidad no es requerido a tener acceso a una indicación de tiempo, si es de confianza o no es de confianza, el sistema puede perder la seguridad de tener el secreto únicamente compartida entre el primero y segundo módulo, como el secreto es entonces compartido entre el primer módulo 20 y el dispositivo de computación 50. De hecho, puede el dispositivo de computación 50 estar comprometido, muchos secretos pueden llegar a ser conocidos, en contraste al sistema anterior, en el cual solamente un secreto único puede llegar a ser conocido a través de un primero o segundo módulo llegar a estar comprometido.
Como se muestra anteriormente, el primero y segundo módulo 20 y 30 pueden ser partes compuestas del mismo dispositivo y pueden estar comunicativamente desconectadas entre si dentro del dispositivo. En estas modalidades, la única manera (probable realista) que un usuario 40 es capaz de recuperar una contraseña del primer módulo 20 e ingresarla en el segundo módulo 30 si el usuario 40 está en posesión del primer módulo 20. Por lo tanto se deduce en este caso, que el usuario 40 es muy similar a estar en posesión del dispositivo y es por lo tanto un usuario humano. Asi, si el segundo módulo 30 valida la contraseña recibida desde el usuario 40, el segundo módulo 30 puede determinar hasta un nivel muy alto de confianza de la solicitud para acceder a los datos originados de un humano el cual está en posesión del dispositivo (y por lo tanto no es una entidad remota). Permitiendo el acceso a los datos solicitados puede incluir permitir el acceso a los datos restringidos mantenidos en el dispositivo o, en el caso que los datos solicitados sean mantenidos por una tercera parte (tal como dispositivo de computación 50), puede incluir enviar datos a la tercera parte para uso al permitir el acceso a los datos solicitados.
Se apreciará que el usuario 40 como se describe anteriormente no puede ser una persona física única, y como tal un primer usuario puede proporcionar la contraseña a un segundo usuario, de quién la contraseña es recibida por la interfaz 31.
La interfaz 21 del primer módulo 20 y la interfaz 31 del dispositivo 35 pueden ser las interfaces del usuario como se describe anteriormente. Sin embargo en algunas modalidades, las interfaces pueden proporcionar una interfaz de entrada/salida que conecta a una interfaz del usuario adecuada. Esto se puede realizar para permitir que el primer módulo 30 o el dispositivo 35 sean distribuidos, de tal manera que las interfaces del usuario por medio de las cuales la contraseña se proporcione para ser separada físicamente.
Las modalidades anteriores se deben entender como ejemplos ilustrativos de la invención. Modalidades adicionales de la invención son previstas. Por ejemplo, el segundo módulo 30 puede ser para usarse a permitir el acceso de datos, bienes y servicios mantenidos o proporcionados por una pluralidad de terceras partes por ejemplo dispositivos de computación 50 y 60, y otros sistemas no mostrados. Se apreciará que, mientras en muchas de las modalidades descritas anteriormente por estar comunicativamente conectadas, esta característica no es una característica esencial de la invención, y en otras modalidades, el primero y segundo de los módulos 20, 30 pueden estar comunicativamente conectados. De forma similar, mientras es ventajoso, el primero y segundo de los módulos 20, 30 no son requeridos para compartir un secreto para uso en la generación y validación de contraseñas. Se debe entender que cualquiera de las características descritas en relación a cualquier modalidad se puede usar sola, o en combinación con otras características descritas, y también se puede usar en combinación con una o más características de cualquiera de las otras modalidades, o cualquier combinación de cualquiera de las otras modalidades. Además, equivalentes y modificaciones no descritas anteriormente pueden también ser empleadas sin apartarse del alcance de la invención, la cual es definida en las reivindicaciones acompañantes.
Las siguientes cláusulas numeradas exponen modalidades preferidas de la presente invención. 1. Un sistema para uso en la verificación de una petición para acceso a los datos, el sistema tiene acceso a un dispositivo de computación que está configurado para comunicarse con un primer indicador de tiempo de confianza, el sistema comprende: un primer módulo que tiene acceso a un segundo indicador de tiempo de confianza; y un segundo módulo que tiene acceso a un indicador de tiempo que no da confianza, en donde: el primer módulo está arreglado para generar una contraseña usando al menos el segundo indicador de tiempo de confianza; el segundo módulo está arreglado para: recibir una contraseña asociada con la petición para acceso a los datos, validar la contraseña recibida usando al menos el indicador de tiempo que no da confianza; y causar que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida; y el sistema está arreglado para causar que el dispositivo de computación: genere datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el primer indicador de tiempo de confianza, y provisionar selectivamente el sistema con tal acceso en los datos con base en los datos generados. 2. Un sistema de conformidad con la cláusula 1, en donde el mensaje transmitido al dispositivo de computación comprende datos indicativos de la validación de la contraseña recibida usando al menos el indicador de tiempo que no da confianza por el segundo módulo. 3. Un sistema de conformidad con la cláusula 1 o cláusula 2, en donde el primero y segundo módulos comparten un secreto que ha sido únicamente asignado a estos, el primer módulo está arreglado para usar el secreto para generar la contraseña, y el segundo módulo está arreglado para usar el secreto para validar la contraseña recibida. 4. Un sistema de conformidad con la cláusula 3, en donde el secreto es almacenado en un elemento de seguridad del primer módulo. 5. Un sistema de conformidad con cualquiera de las cláusulas 1 a 4, en donde el secreto es almacenado en un elemento de seguridad del segundo módulo. 6. Un sistema de conformidad con cualquiera de las cláusulas 1 a 5, en donde el primer módulo comprende hardware resistente a manipulación que comprende un relo , el reloj está arreglado para proporcionar el segundo indicador de tiempo de confianza. 7. Un sistema de conformidad con cualquiera de las cláusulas 1 a 6, en donde el segundo módulo está conectado de manera comunicativa a un dispositivo que tiene un reloj, el reloj está arreglado para proporcionar el indicador de tiempo que no da confianza. 8. Un sistema de conformidad con cualquiera de las cláusulas 1 a 7, en donde el dispositivo de computación está arreglado para enviar un mensaje que comprende los datos generados a un dispositivo de computación adicional de este modo para provisionar el sistema con tal acceso a los datos, el dispositivo de computación adicional está arreglado para proporcionar tal acceso a los datos después de la recepción de los datos generados. 9. Un sistema de conformidad con cualquiera de las cláusulas 1 a 7, en donde tales datos solicitados son almacenados en o generados por el dispositivo de computación, y el dispositivo de computación está arreglado para proporcionar tal acceso a los datos con base en los datos generados. 10. Un sistema de conformidad con cualquiera de las cláusulas 1 a 9, en donde el primer módulo está arreglado para recibir, mediante una interfaz del primer módulo, un código de desafio generado por el segundo módulo o el dispositivo de computación, y para generar la contraseña usando al menos el código de desafio. 11. Un sistema de conformidad con cualquiera de las cláusulas 1 a 10, en donde el primer módulo está arreglado para generar una pluralidad de contraseñas, al menos una contraseña de la pluralidad de contraseñas es diferente de otra contraseña de la pluralidad de contraseñas, y para proporcionar al menos una de las contraseñas generadas a un usuario mediante una interfaz del primer módulo. 12. Un sistema de conformidad con cualquiera de las cláusulas 1 a 11, en donde el segundo módulo y el dispositivo de computación comparten un secreto adicional para uso en comunicaciones entre estos. 13. Un sistema de conformidad con cualquiera de las cláusulas 1 a 12, en donde el segundo módulo está arreglado para recibir tal contraseña, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida. 14. Un sistema para uso en la verificación de una petición para acceso a los datos, el sistema comprende: un primer módulo que tiene acceso a un indicador de tiempo de confianza; y un segundo módulo que tiene acceso a un indicador de tiempo que no da confianza, en donde: el primer módulo está arreglado para generar una contraseña usando al menos el indicador de tiempo de confianza; el segundo módulo está arreglado para: recibir una contraseña asociada con la petición para acceso a los datos, validar la contraseña recibida usando al menos un indicador de tiempo que no da confianza, y causar que un mensaje sea transmitido a un dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida; y recibir datos indicativos de una comparación entre el indicador de tiempo que no da confianza y un indicador de tiempo de confianza del dispositivo de computación, y usar los datos recibidos para proporcionar tal acceso a los datos, en donde el primer módulo y el segundo módulo están desconectados de manera comunicativa. 15. Un sistema de conformidad con la cláusula 14, en donde tales datos recibidos del dispositivo de computación comprenden datos que indican si el indicador de tiempo que no da confianza está dentro de un intervalo predeterminado del primer indicador de tiempo de confianza. 16. Un sistema de conformidad con la cláusula 14 o cláusula 15, en donde tales datos solicitados se mantienen por el segundo módulo, y el segundo módulo está configurado para usar tales datos recibidos del dispositivo de computación para determinar si proporciona acceso a tales datos solicitados. 17. Un sistema de conformidad con cualquiera de las cláusulas 14 a 16, en donde tal indicador de tiempo de confianza al cual el primer módulo tiene acceso es un reloj del primer módulo, y el indicador de tiempo de confianza adicional al cual el dispositivo de computación tiene acceso es un reloj que está sincronizado con el reloj del primer módulo. 18. Un sistema de conformidad con cualquiera de las cláusulas 14 a 17, en donde el dispositivo de computación y el segundo módulo son preconfigurados con claves criptográficas para uso en la firma de datos enviados entre estos, y en donde el segundo módulo está arreglado para firmar tal mensaje transmitido al dispositivo de computación y verificar que tales datos recibidos del dispositivo de computación son firmados por el dispositivo de computación usando tales claves criptográficas. 19. Un sistema de conformidad con cualquiera de las cláusulas 14 a 18, en donde el segundo módulo es arreglado para almacenar tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida.

Claims (40)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes.
1. Un sistema para uso en la verificación de una petición para acceso a los datos, el sistema tiene acceso a un dispositivo de computación que está configurado para comunicarse con un primer indicador de tiempo de confianza, caracterizado porque el sistema comprende: un primer módulo que tiene acceso a un segundo indicador de tiempo de confianza; y un segundo módulo que tiene acceso a un indicador de tiempo que no da confianza, en donde: el primer módulo está arreglado para generar una contraseña usando al menos el segundo indicador de tiempo de confianza; el segundo módulo está arreglado para: recibir una contraseña asociada con la petición para acceso a los datos, validar la contraseña recibida usando al menos el indicador de tiempo que no da confianza; y causar que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida, y el sistema está arreglado para causar que el dispositivo de computación genere datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el primer indicador de tiempo de confianza, en donde los datos generados son para uso para proporcionar tal acceso a los datos.
2. Un sistema de conformidad con la reivindicación 1, caracterizado porque el sistema está arreglado para causar que el dispositivo de computación provisione selectivamente el sistema con tal acceso a los datos con base en tales datos generados.
3. Un sistema de conformidad con la reivindicación 1 o reivindicación 2, caracterizado porque el mensaje transmitido al dispositivo de computación comprende datos indicativos de la validación de la contraseña recibida usando al menos el indicador de tiempo que no da confianza por el segundo módulo.
4. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el primero y segundo módulos comparten un secreto que ha sido únicamente asignado a estos, el primer módulo está arreglado para usar el secreto para generar la contraseña, y el segundo módulo está arreglado para usar el secreto para validar la contraseña recibida.
5. Un sistema de conformidad con la reivindicación 4, caracterizado porque el secreto es almacenado en un elemento de seguridad del primer módulo.
6. Un sistema de conformidad con la reivindicación 4 o reivindicación 5, caracterizado porque el secreto es almacenado en un elemento de seguridad del segundo módulo.
7. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el primer módulo comprende hardware resistente a manipulación que comprende un reloj, el reloj está arreglado para proporcionar el segundo indicador de tiempo de confianza.
8. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el segundo módulo está conectado de manera comunicativa a un dispositivo que tiene un reloj, el reloj está arreglado para proporcionar el indicador de tiempo que no da confianza.
9. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el sistema está arreglado para causar que el dispositivo de computación envíe un mensaje que comprende los datos generados a un dispositivo de computación adicional de este modo para provisionar el sistema con tal acceso a los datos, el dispositivo de computación adicional está arreglado para proporcionar tal acceso a los datos después de la recepción de los datos generados.
10. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes 2 a 8, caracterizado porque tales datos solicitados son almacenados en o generados por el dispositivo de computación, y el dispositivo de computación está arreglado para proporcionar tal acceso a los datos con base en los datos generados.
11. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el primer módulo está arreglado para recibir, mediante una interfaz del primer módulo, un código de desafío generado por el segundo módulo o el dispositivo de computación, y generar la contraseña usando al menos el código de desafio.
12. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el primer módulo está arreglado para generar una pluralidad de contraseñas, al menos una contraseña de la pluralidad de contraseñas es diferente de otra contraseña de la pluralidad de contraseñas, y proporcionar al menos una de las contraseñas generadas a un usuario mediante una interfaz del primer módulo.
13. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el segundo módulo y el dispositivo de computación comparten un secreto adicional para uso en comunicaciones entre estos.
14. Un sistema de conformidad con cualquiera de las reivindicaciones precedentes, caracterizado porque el segundo módulo está arreglado para almacenar tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida.
15. Un sistema de conformidad con la reivindicación 1, caracterizado porque el primero y segundo módulos son desconectados de manera comunicativa, y el segundo módulo está arreglado para recibir tales datos generados del dispositivo de computación y usar tales datos recibidos para proporcionar tal acceso a los datos.
16. Un sistema de conformidad con la reivindicación 15, caracterizado porque tales datos recibidos del dispositivo de computación comprenden datos que indican si el indicador de tiempo que no da confianza está dentro de un intervalo predeterminado del primer indicador de tiempo de confianza.
17. Un sistema de conformidad con la reivindicación 15 o reivindicación 16, caracterizado porque tales datos solicitados se mantienen por el segundo módulo, y el segundo módulo es configurado para usar tales datos recibidos del dispositivo de computación para determinar si proporciona acceso a tales datos solicitados.
18. Un sistema de conformidad con cualquiera de las reivindicaciones 15 a 17, caracterizado porque el segundo indicador de tiempo de confianza es un reloj del primer módulo, y el primer indicador de tiempo de confianza es un reloj que está sincronizado con el reloj del primer módulo.
19. Un sistema de conformidad con cualquiera de las reivindicaciones 15 a 18, caracterizado porque el dispositivo de computación y el segundo módulo son preconfigurados con claves criptográficas para uso en la forma de datos enviados entre estos, y en donde el segundo módulo está arreglado para firmar tal mensaje transmitido al dispositivo de computación y para verificar que tales datos recibidos del dispositivo de computación son firmados por el dispositivo de computación usando tales claves criptográficas.
20. Un sistema de conformidad con cualquiera de las reivindicaciones 15 a 19, caracterizado porque el segundo módulo está arreglado para almacenar tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida.
21. Un método para verificar, por un sistema, una petición para acceso a datos usando un dispositivo de computación que está configurado para comunicarse con un primer indicador de tiempo de confianza, caracterizado porque el método comprende: generar en un primer módulo una contraseña usando al menos un segundo indicador de tiempo de confianza; recibir en un segundo módulo una contraseña asociada con la petición para acceso a los datos, validar en el segundo módulo la contraseña recibida usando al menos un indicador de tiempo que no da confianza; y causar que un mensaje sea transmitido al dispositivo de computación, el mensaje comprende datos indicativos del indicador de tiempo que no da confianza usado para validar la contraseña recibida; en donde, el sistema causa que el dispositivo de computación genere datos indicativos de una comparación entre el indicador de tiempo que no da confianza y el primer indicador de tiempo de confianza, en donde los datos generados son para uso para proporcionar tal acceso a los datos, y en donde el sistema comprende el primer módulo y el segundo módulo.
22. Un método de conformidad con la reivindicación 21, caracterizado porque el sistema causa que el dispositivo de computación provisione selectivamente el sistema con tal acceso a los datos con base en tales datos generados.
23. Un método de conformidad con la reivindicación 21 o reivindicación 22, caracterizado porque el mensaje transmitido al dispositivo de computación comprende datos indicativos de la validación de la contraseña recibida usando al menos el indicador de tiempo que no da confianza por el segundo módulo.
24. Un método de conformidad con cualquiera de la reivindicación 21 a la reivindicación 23, caracterizado porque el primero y segundo módulos comparten un secreto que ha sido únicamente asignado a estos, el secreto es para uso en la generación de la contraseña y en la validación de la contraseña recibida.
25. Un método de conformidad con la reivindicación 24, caracterizado porque el secreto es almacenado en un elemento de seguridad del primer módulo.
26. Un método de conformidad con la reivindicación 24 o reivindicación 25, caracterizado porque el secreto es almacenado en un elemento de seguridad del segundo módulo.
27. Un método de conformidad con cualquiera de las reivindicaciones 21 a 26, caracterizado porque el método comprende recuperar el segundo indicador de tiempo de confianza de un reloj en hardware resistente a manipulación del primer módulo.
28. Un método de conformidad con cualquiera de las reivindicaciones 21 a 27, caracterizado porque el método comprende recibir el indicador de tiempo que no da confianza de un reloj al cual el segundo módulo está conectado de manera comunicativa.
29. Un método de conformidad con cualquiera de las reivindicaciones 21 a 28, caracterizado porque el sistema causa que el dispositivo de computación envíe un mensaje que comprende los datos generados a un dispositivo de computación adicional de este modo para provisionar el sistema con tal acceso a los datos, el dispositivo de computación adicional está arreglado para proporcionar tal acceso a los datos después de la recepción de los datos generados.
30. Un método de conformidad con cualquiera de las reivindicaciones 21 a 28, caracterizado porque tales datos solicitados son almacenados en o generados por el dispositivo de computación, y el dispositivo de computación está arreglado para proporcionar tal acceso a los datos con base en los datos generados.
31. Un método de conformidad con cualquiera de las reivindicaciones 21 a 30, caracterizado porque el método comprende recibir, mediante una interfaz del primer módulo, un código de desafio generado por el segundo módulo o el dispositivo de computación, y generar la contraseña usando al menos el código de desafio.
32. Un método de conformidad con cualquiera de las reivindicaciones 21 a 31, caracterizado porque el método comprende generar una pluralidad de contraseñas, al menos una contraseña de la pluralidad de contraseñas es diferente de otra contraseña de la pluralidad de contraseñas, y proporcionar al menos una de las contraseñas generadas a un usuario mediante una interfaz del primer módulo.
33. Un método de conformidad con cualquiera de las reivindicaciones 21 a 32, caracterizado porque el segundo módulo y el dispositivo de computación comparten un secreto adicional para uso en comunicaciones entre estos.
34. Un método de conformidad con cualquiera de las reivindicaciones 21 a 33, caracterizado porque el método comprende almacenar, en el segundo módulo, tal contraseña recibida, y comparar tal contraseña recibida con cualquiera de las contraseñas recibidas previamente almacenadas de este modo para validar la contraseña recibida.
35. Un método de conformidad con la reivindicación 1, caracterizado porque el primero y segundo módulos son desconectados de manera comunicativa y el sistema causa que el dispositivo de computación envía tales datos generados al segundo módulo, el método comprende usar por el segundo módulo tales datos generados recibidos para proporcionar tal acceso a los datos.
36. Un método de conformidad con la reivindicación 35, caracterizado porque tales datos recibidos del dispositivo de computación comprenden datos que indican si el indicador de tiempo que no da confianza está dentro de un intervalo predeterminado del primer indicador de tiempo de confianza.
37. Un método de conformidad con la reivindicación 35 o reivindicación 36, caracterizado porque tales datos solicitados se mantienen por el segundo módulo, y el método comprende usar por el segundo módulo tales datos recibidos del dispositivo de computación para determinar si proporciona acceso a tales datos solicitados.
38. Un método de conformidad con cualquiera de las reivindicaciones 35 a 37, caracterizado porque el segundo indicador de tiempo de confianza es un reloj del primer módulo, y el primer indicador de tiempo de confianza es un reloj que está sincronizado con el reloj del primer módulo.
39. Un método de conformidad con cualquiera de las reivindicaciones 35 a 38, caracterizado porque el dispositivo de computación y el segundo módulo son preconfigurados con claves criptográficas para uso en la firma de datos enviados entre estos, y en donde el método comprende firmar tal mensaje transmitido al dispositivo de computación y verificar que tales datos recibidos del dispositivo de computación son firmados por el dispositivo de computación usando tales claves criptográficas.
40. Un método de conformidad con cualquiera de las reivindicaciones 35 a 39, caracterizado porque el método comprende almacenar, en el segundo módulo, tal contraseña recibida, y comparar tal contraseña recibida con cualquier contraseña recibida previamente almacenada de este modo para validar la contraseña recibida.
MX2015002929A 2012-09-06 2013-09-06 Metodo y sistema para verificar una peticion de acceso. MX362308B (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1215951.3A GB2505678B (en) 2012-09-06 2012-09-06 Method and system for verifying an access request
GB1222090.1A GB2505532B (en) 2012-09-06 2012-12-07 Method and system for verifying an access request
PCT/GB2013/052347 WO2014037741A1 (en) 2012-09-06 2013-09-06 Method and system for verifying an access request

Publications (2)

Publication Number Publication Date
MX2015002929A true MX2015002929A (es) 2015-06-02
MX362308B MX362308B (es) 2019-01-10

Family

ID=47137069

Family Applications (2)

Application Number Title Priority Date Filing Date
MX2015002928A MX362307B (es) 2012-09-06 2013-09-06 Metodo y sistema para verificar una peticion de acceso.
MX2015002929A MX362308B (es) 2012-09-06 2013-09-06 Metodo y sistema para verificar una peticion de acceso.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
MX2015002928A MX362307B (es) 2012-09-06 2013-09-06 Metodo y sistema para verificar una peticion de acceso.

Country Status (11)

Country Link
US (4) US8806600B2 (es)
EP (2) EP2732400B1 (es)
KR (2) KR102202547B1 (es)
CN (2) CN104798083B (es)
AU (2) AU2013311425B2 (es)
CA (2) CA2884002C (es)
ES (1) ES2590678T3 (es)
GB (2) GB2505678B (es)
HK (2) HK1208278A1 (es)
MX (2) MX362307B (es)
WO (2) WO2014037741A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3996019A1 (en) * 2011-08-30 2022-05-11 OV Loop Inc. Systems and methods for authorizing a transaction with an unexpected cryptogram
US10129249B1 (en) * 2013-03-14 2018-11-13 EMC IP Holding Company LLC Randomizing state transitions for one-time authentication tokens
GB2505678B (en) 2012-09-06 2014-09-17 Visa Europe Ltd Method and system for verifying an access request
US9178708B2 (en) * 2013-12-02 2015-11-03 Guardtime Ip Holdings Limited Non-deterministic time systems and methods
US9424410B2 (en) * 2013-12-09 2016-08-23 Mastercard International Incorporated Methods and systems for leveraging transaction data to dynamically authenticate a user
US9332008B2 (en) * 2014-03-28 2016-05-03 Netiq Corporation Time-based one time password (TOTP) for network authentication
US9223960B1 (en) * 2014-07-31 2015-12-29 Winbond Electronics Corporation State-machine clock tampering detection
US9984247B2 (en) * 2015-11-19 2018-05-29 International Business Machines Corporation Password theft protection for controlling access to computer software
US9948673B2 (en) * 2016-05-26 2018-04-17 Visa International Service Association Reliable timestamp credential
US10491391B1 (en) * 2016-09-23 2019-11-26 Amazon Technologies, Inc. Feedback-based data security
KR20180070278A (ko) 2016-12-16 2018-06-26 백민경 영구거푸집 및 이를 이용한 벽체구조물 시공방법
US10846417B2 (en) * 2017-03-17 2020-11-24 Oracle International Corporation Identifying permitted illegal access operations in a module system
SG10201702881VA (en) * 2017-04-07 2018-11-29 Mastercard International Inc Systems and methods for processing an access request
US11257078B2 (en) * 2018-08-20 2022-02-22 Mastercard International Incorporated Method and system for utilizing blockchain and telecom network for two factor authentication and enhancing security
US10419219B1 (en) * 2018-10-08 2019-09-17 Capital One Services, Llc System, method, and computer-accessible medium for actionable push notifications
CN110224713B (zh) * 2019-06-12 2020-09-15 读书郎教育科技有限公司 一种基于高安全性智能儿童手表的安全防护方法及系统
WO2021050478A1 (en) * 2019-09-11 2021-03-18 Arris Enterprises Llc Device-independent authentication based on a passphrase and a policy
WO2023077616A1 (zh) * 2021-11-02 2023-05-11 珠海艾派克微电子有限公司 一种芯片、耗材盒及数据传输方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367572A (en) * 1984-11-30 1994-11-22 Weiss Kenneth P Method and apparatus for personal identification
US4720860A (en) * 1984-11-30 1988-01-19 Security Dynamics Technologies, Inc. Method and apparatus for positively identifying an individual
US4998279A (en) * 1984-11-30 1991-03-05 Weiss Kenneth P Method and apparatus for personal verification utilizing nonpredictable codes and biocharacteristics
US5361062A (en) * 1992-11-25 1994-11-01 Security Dynamics Technologies, Inc. Personal security system
EP1139200A3 (en) * 2000-03-23 2002-10-16 Tradecard Inc. Access code generating system including smart card and smart card reader
US20050005114A1 (en) * 2003-07-05 2005-01-06 General Instrument Corporation Ticket-based secure time delivery in digital networks
US7904583B2 (en) * 2003-07-11 2011-03-08 Ge Fanuc Automation North America, Inc. Methods and systems for managing and controlling an automation control module system
US7801819B2 (en) * 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method
KR20050096040A (ko) * 2004-03-29 2005-10-05 삼성전자주식회사 휴대형 저장장치와 디바이스간에 디지털 저작권 관리를이용한 콘텐츠 재생방법 및 장치와, 이를 위한 휴대형저장장치
JP4523944B2 (ja) 2004-10-14 2010-08-11 三菱電機株式会社 パスワード生成装置及びicカード及び認証装置
JP2006268689A (ja) * 2005-03-25 2006-10-05 Nec Corp 移動体通信ネットワークシステム、認証装置、Webサーバ及びこれらの駆動方法、駆動プログラム
EP1737179A1 (en) * 2005-06-20 2006-12-27 Thomson Licensing Method and devices for secure measurements of time-based distance between two devices
US9258124B2 (en) * 2006-04-21 2016-02-09 Symantec Corporation Time and event based one time password
KR101086568B1 (ko) * 2006-05-09 2011-11-23 인터디지탈 테크날러지 코포레이션 무선 장치에 대한 보안 시간 기능
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8543829B2 (en) * 2007-01-05 2013-09-24 Ebay Inc. Token device re-synchronization through a network solution
US8281375B2 (en) * 2007-01-05 2012-10-02 Ebay Inc. One time password authentication of websites
EP2034458A3 (en) * 2007-03-09 2009-09-02 ActivIdentity, Inc. One-time passwords
CN101051908B (zh) * 2007-05-21 2011-05-18 北京飞天诚信科技有限公司 动态密码认证系统及方法
US8627419B1 (en) * 2007-05-25 2014-01-07 Michael J VanDeMar Multiple image reverse turing test
US8200978B2 (en) * 2007-07-06 2012-06-12 Gong Ling LI Security device and method incorporating multiple varying password generator
US7990292B2 (en) * 2008-03-11 2011-08-02 Vasco Data Security, Inc. Method for transmission of a digital message from a display to a handheld receiver
US8949955B2 (en) * 2008-10-29 2015-02-03 Symantec Corporation Method and apparatus for mobile time-based UI for VIP
CH701050A1 (fr) * 2009-05-07 2010-11-15 Haute Ecole Specialisee Bernoise Technique Inf Procédé d'authentification.
EP2296311A1 (en) * 2009-09-10 2011-03-16 Gemalto SA Method for ciphering messages exchanged between two entities
US8701183B2 (en) * 2010-09-30 2014-04-15 Intel Corporation Hardware-based human presence detection
US20120089519A1 (en) 2010-10-06 2012-04-12 Prasad Peddada System and method for single use transaction signatures
CN103415863B (zh) * 2011-02-07 2020-06-16 世根卡控股(香港)有限公司 具有识别装置的智能卡
CN102185838B (zh) * 2011-04-21 2014-06-25 杭州驭强科技有限公司 基于时间因子的主动式动态密码生成和认证系统及方法
CN102368230A (zh) * 2011-10-31 2012-03-07 北京天地融科技有限公司 移动存储器的访问控制方法、移动存储器及系统
DE102011118510A1 (de) * 2011-11-14 2013-05-16 Biso Schrattenecker Gmbh Anschlußvorrichtung für ein Vorsatzgerät einer selbstfahrenden Arbeitsmaschine
US8396452B1 (en) * 2012-05-04 2013-03-12 Google Inc. Proximity login and logoff
US9053312B2 (en) * 2012-06-19 2015-06-09 Paychief, Llc Methods and systems for providing bidirectional authentication
GB2505678B (en) 2012-09-06 2014-09-17 Visa Europe Ltd Method and system for verifying an access request
US9230084B2 (en) * 2012-10-23 2016-01-05 Verizon Patent And Licensing Inc. Method and system for enabling secure one-time password authentication
DE102012219618B4 (de) * 2012-10-26 2016-02-18 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines Soft-Tokens, Computerprogrammprodukt und Dienst-Computersystem

Also Published As

Publication number Publication date
US9830447B2 (en) 2017-11-28
ES2590678T3 (es) 2016-11-23
US20150178494A1 (en) 2015-06-25
GB2505678A (en) 2014-03-12
AU2013311424A1 (en) 2015-03-26
EP2893484B1 (en) 2020-12-02
CN104798083A (zh) 2015-07-22
KR102202547B1 (ko) 2021-01-13
US20190213321A1 (en) 2019-07-11
CA2884005C (en) 2021-10-26
GB2505532A (en) 2014-03-05
KR102177848B1 (ko) 2020-11-11
CN104769602B (zh) 2019-06-14
WO2014037741A1 (en) 2014-03-13
HK1208278A1 (en) 2016-02-26
GB201215951D0 (en) 2012-10-24
US10282541B2 (en) 2019-05-07
MX2015002928A (es) 2015-06-02
CA2884005A1 (en) 2014-03-13
US20140068739A1 (en) 2014-03-06
US8806600B2 (en) 2014-08-12
AU2013311425A1 (en) 2015-03-26
EP2732400B1 (en) 2016-06-15
WO2014037740A1 (en) 2014-03-13
GB2505678B (en) 2014-09-17
EP2893484A1 (en) 2015-07-15
KR20150052261A (ko) 2015-05-13
EP2732400A1 (en) 2014-05-21
GB2505532B (en) 2014-08-06
AU2013311425B2 (en) 2018-09-20
AU2013311424B2 (en) 2019-02-14
HK1208546A1 (en) 2016-03-04
CA2884002A1 (en) 2014-03-13
US20150178518A1 (en) 2015-06-25
MX362307B (es) 2019-01-10
CA2884002C (en) 2022-10-11
CN104769602A (zh) 2015-07-08
CN104798083B (zh) 2017-06-23
US10929524B2 (en) 2021-02-23
MX362308B (es) 2019-01-10
KR20150052260A (ko) 2015-05-13

Similar Documents

Publication Publication Date Title
US10929524B2 (en) Method and system for verifying an access request
US11647023B2 (en) Out-of-band authentication to access web-service with indication of physical access to client device
EP3556069B1 (en) System and method for securely processing an electronic identity
US8335925B2 (en) Method and arrangement for secure authentication
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
JP7124988B2 (ja) 認証サーバ、認証システム、認証サーバの制御方法及びプログラム
KR101616795B1 (ko) Pki 기반의 개인키 파일 관리 방법 및 그 시스템
CN109644137B (zh) 具有签名消息的基于令牌的认证的方法
JP7248184B2 (ja) サーバ、システム、方法及びプログラム
US20180332028A1 (en) Method For Detecting Unauthorized Copies Of Digital Security Tokens
JP2023060352A (ja) サーバ、システム、方法及びプログラム

Legal Events

Date Code Title Description
FG Grant or registration