MX2014005691A - Lector de tarjeta inteligente con una caracteristica de registro seguro. - Google Patents

Lector de tarjeta inteligente con una caracteristica de registro seguro.

Info

Publication number
MX2014005691A
MX2014005691A MX2014005691A MX2014005691A MX2014005691A MX 2014005691 A MX2014005691 A MX 2014005691A MX 2014005691 A MX2014005691 A MX 2014005691A MX 2014005691 A MX2014005691 A MX 2014005691A MX 2014005691 A MX2014005691 A MX 2014005691A
Authority
MX
Mexico
Prior art keywords
reader
smart card
data
user
commands
Prior art date
Application number
MX2014005691A
Other languages
English (en)
Inventor
Harm Braams
Original Assignee
Vasco Data Security Inc
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 Vasco Data Security Inc filed Critical Vasco Data Security Inc
Publication of MX2014005691A publication Critical patent/MX2014005691A/es

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/04—Methods or arrangements for sensing record carriers, e.g. for reading patterns by mechanical means, e.g. by pins operating electric contacts
    • G06K7/042—Methods or arrangements for sensing record carriers, e.g. for reading patterns by mechanical means, e.g. by pins operating electric contacts controlling electric circuits
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55—Detecting local intrusion or implementing counter-measures
    • G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60—Protecting data
    • G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71—Protecting 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/77—Protecting 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 smart cards
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00—Payment architectures, schemes or protocols
    • G06Q20/38—Payment protocols; Details thereof
    • G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821—Electronic credentials
    • G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00—Payment architectures, schemes or protocols
    • G06Q20/38—Payment protocols; Details thereof
    • G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825—Use of electronic signatures
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00—Payment architectures, schemes or protocols
    • G06Q20/38—Payment protocols; Details thereof
    • G06Q20/385—Payment protocols; Details thereof using an alias or single-use codes
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00—Payment architectures, schemes or protocols
    • G06Q20/38—Payment protocols; Details thereof
    • G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401—Transaction verification
    • G06Q20/4012—Verifying personal identification numbers [PIN]
    • G—PHYSICS
    • G07—CHECKING-DEVICES
    • G07F—COIN-FREED OR LIKE APPARATUS
    • G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873—Details of the card reader
    • G—PHYSICS
    • G07—CHECKING-DEVICES
    • G07F—COIN-FREED OR LIKE APPARATUS
    • G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025—Identification of user by a PIN code
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21—Indexing 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/2105—Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

La presente invención proporciona un lector de tarjeta inteligente seguro habilitado para hacer firmas del lector sobre datos representativos de eventos y acciones que pueden estar relacionados con seguridad y que pueden comprender datos representativos de comandos del lector que el lector recibe de una aplicación anfitriona o remota, comandos de tarjeta inteligente que el lector intercambia con una tarjeta inteligente insertada, datos que el lector presenta al usuario para aprobación, y/o parámetros de configuración que el lector aplica cuando trata con cualquiera de los anteriores. El lector de tarjeta inteligente además puede estar adaptado para mantener registros de ciertos eventos y acciones que pueden comprender intercambiar comandos de lector con una aplicación anfitriona o remota, intercambiar comandos de tarjeta inteligente con una tarjeta inteligente insertada, y/o interacciones con un usuario. Los registros pueden comprender datos representativos de comandos del lector que el lector recibe de una aplicación anfitriona o remota, comandos de tarjeta inteligente que el lector intercambia con una tarjeta inteligente insertada, datos que el lector presenta al usuario para aprobación, y/o parámetros de configuración que el lector aplica cuando trata con cualquiera de los anteriores. El lector de tarjeta inteligente seguro puede estar adaptado para generar una firma del lector sobre uno o más de estos registros.

Description

LECTOR DE TARJETA INTELIGENTE CON UNA CARACTERISTICA DE REGISTRO SEGURO CAMPO DE LA INVENCION La invención se refiere a asegurar interacción remota de usuarios con servicios a través de medios electrónicos a través del uso de firmas electrónicas. Más en particular la invención refiere a lectores de tarjeta inteligente (SC, por sus siglas en inglés) seguros para asegurar la firma de datos electrónicos por un usuario con una tarjeta inteligente.
ANTECEDENTES DE LA INVENCION El papel siempre creciente de acceso remoto e interacción de usuarios a y con toda clase de servicios a través de medios electrónicos a dado surgimiento a una necesidad de que los usuarios sean capaces de hacer firmas electrónicas. Por razones de seguridad tales firmas electrónicas preferiblemente resultan de aplicar un algoritmo criptográfico parametrizado con una clave criptográfica que está asociada con el usuario para algunos datos electrónicos. En algunos casos, el algoritmo criptográfico puede comprender una función de troceo codificada mediante la cual se envía una codificación de una clave secreta y los datos que se van a firmar a una función de troceo criptográfica unidireccional o una función de compendio (tal como funciones de troceo Ref. 248395 criptográficas de las familias MD5, SHA-1, SHA-2 o SHA-256 de funciones de troceo) y el troceo o compendio resultante constituye la firma electrónica. En otros casos el algoritmo criptográfico puede comprender una cifra de bloque de encriptación (o desencriptación) simétrica tal como Estándar de Encriptación de Datos (DES, por sus siglas en inglés) (Triple) o Estándar de Encriptación Avanzada (AES, por sus siglas en inglés) que pueden utilizarse en modo de Encadenamiento de Bloque de Cifra (CBC, por sus siglas en inglés) para generar un Código de Autentificación de Mensaje (MAC, por sus siglas en inglés) que puede constituir la firma electrónica. Incluso en otro casos, por ejemplo en el contexto de una Infraestructura de Clave Pública (PKI, por sus siglas en inglés) , la firma electrónica puede generarse utilizando un esquema de firma electrónica que se basa en criptografía asimétrica. En estos casos los datos de se van a firmar son frecuentemente troceados o enviados a una función de compendio y el troceo o compendio resultante entonces es encriptado con un algoritmo de encriptación asimétrica que utiliza la clave privada del usuario. Ejemplos de algoritmos criptográficos asimétricos utilizados para generar firmas electrónicas incluyen (Rivest Shamir Adleman) (RSA, por sus siglas en inglés) y Algoritmo de Firma Digital (DSA, por sus siglas en inglés) . Para mejorar movilidad y seguridad la clave secreta o privada frecuentemente es almacenada en un contenedor seguro separado que usualmente también es capaz de realizar las operaciones criptográficas que involucran esa clave. Una solución popular para generar firmas electrónicas comprende una tarjeta inteligente que comprende una memoria segura para almacenar de manera segura una o más claves secretas o privadas y otra información relacionada con seguridad tal como Número de Identificación Personal (PIN, por sus siglas en inglés) , perfiles de seguridad, contadores de intento de PIN,..., y un procesador criptográfico para utilizar estas claves secretas o privadas con algún algoritmo criptográfico simétrico o asimétrico para generar criptogramas en datos recibidos desde un anfitrión. La mayoría de las tarjetas inteligentes siguen al menos partes del grupo de estándares ISO/IEC 7816. En muchos casos la funcionalidad criptográfica de la tarjeta inteligente es protegida por el requisito para que el usuario ingrese un PIN válido .
En un caso de uso típico, el usuario utiliza un dispositivo de cómputo anfitrión, por ejemplo, una Computadora Personal (PC, por sus siglas en inglés) para interactuar con algún servicio remoto, por ejemplo un sitio web de banca por Internet. El usuario tiene una tarjeta inteligente (como se describió anteriormente) que es insertada en un lector de tarjeta inteligente que a su vez puede comunicar (es decir, puede recibir instrucciones de y regresar respuestas a) el dispositivo de cómputo anfitrión. En un caso típico, el lector de tarjeta inteligente es un dispositivo más bien compacto que está fijado al dispositivo de cómputo anfitrión por medio de una conexión de Conductor Común en Serie Universal (USB, por sus siglas en inglés) . El usuario remoto revisa en el dispositivo de cómputo anfitrión el documento o datos que se van a firmar. Con la aprobación del usuario del documento o datos que se van a firmar, el documento o datos pueden enviarse por la aplicación (que puede ser una aplicación dedicada o un navegador web) a una biblioteca criptográfica con el fin de firmarse. Ejemplos de Interfases de Programación de Aplicación (API, por sus siglas en inglés) que se utilizan frecuentemente para la interfaz entre una aplicación y tal biblioteca criptográfica incluyen API de Criptografía de Microsoft (MS-CAPI, por sus siglas en inglés) y la API especificada por el estándar de Estándares de Criptografía de Clave Pública #11 (PKCS#11, por sus siglas en inglés) publicado por laboratorios de RSA e incorporado aquí por referencia. La biblioteca criptográfica (frecuentemente llamada middleware) puede transformar la solicitud de la aplicación para una firma en una serie de instrucciones de comando-respuesta de tarjeta inteligente que se intercambian con la tarjeta inteligente por medio de un controlador de lector de tarjeta inteligente. Una API que se utiliza frecuentemente para tales controladores de lector de tarjeta inteligente en computadoras personales es PC/SC. Antes de la firma real por la tarjeta inteligente se solicita típicamente al usuario que ingrese un PIN en el dispositivo de cómputo anfitrión que entonces se envía a la tarjeta inteligente para verificación. En la mayoría de los casos, el lector de tarjeta inteligente es del denominado tipo transparente, lo que significa que no realiza ninguna de las funciones de seguridad y que es esencialmente sólo un medio de transporte para transmitir comandos desde el dispositivo de cómputo anfitrión (de aquí en adelante también indicada como la computadora central o como el anfitrión) a la tarjeta inteligente y para transmitir respuestas de la tarjeta inteligente a la computadora central .
BREVE DESCRIPCION DE LA INVENCION Problema Técnico Aunque las tarjetas inteligentes criptográficas usualmente están equipadas con toda clase de técnicas sofisticadas para impedir toda clase de ataques, existe un problema de seguridad fundamental en el escenario como se describió anteriormente que no puede abordarse por medidas tomadas en la tarjeta inteligente. Un problema básico en efecto es que en el escenario como se bosquejó anteriormente (que es típico para la forma en que se están utilizando tarjetas inteligentes para generar firmas electrónicas) toda la interacción de usuario, incluyendo operaciones muy sensibles tal como entrada de PIN, se lleva a cabo en la computadora central. En la gran mayoría de casos, sin embargo, la computadora central no puede considerarse como una plataforma segura confiable. En efecto, la mayoría de los dispositivos de cómputo anfitriones son PC o dispositivos similares que, por su misma naturaleza de ser plataformas de cómputo de propósito general abiertas, usualmente son muy vulnerables a toda clase de virus y malware . Esto hace la configuración del escenario anterior muy vulnerable a ataques en los cuales malware en la computadora central del usuario interfiere con la interfaz de usuario de la computadora central, por ejemplo, para capturar el PIN que ingresa el usuario (por ejemplo, a través del usuario de registradores de clave) o incluso al sustituir los datos que se van a firmar que el usuario revisó y aprobó por datos fraudulentos antes que se envíen los datos a la tarjeta inteligente para firma .
Una solución es proporcionar lectores de tarjeta inteligente equipados con un teclado seguro (o alguna otra interfaz de entrada de usuario segura para aceptar entrada del usuario) que permite al usuario ingresar el PIN de la tarjeta en el lector en lugar de en el anfitrión inseguro después de lo cual el lector que entonces puede enviar el PIN ingresado directamente a la tarjeta sin pasar por el anfitrión. Esta solución sin embargo no protege contra ataques que interfieren con los datos que se van a firmar por lo cual los datos que se envían efectivamente a la tarjeta inteligente para firma son diferentes a los datos que han sido revisados y aprobados por el usuario en el anfitrión.
Para resolver ese problema pueden equiparse lectores de tarjeta inteligente con una presentación segura (o alguna otra interfaz de salida de usuario segura para presentar información al usuario) para presentar los datos que se van a firmar al usuario para aprobación antes de enviar los datos a la tarjeta. Como tal, esta solución sin embargo puede más bien evadirse fácilmente. En efecto, es suficiente que el malware en la computadora central invite al usuario a probar los datos en la computadora central e ingresar el PIN de la tarjeta, después de lo cual el malware puede sustituir los datos aprobados con datos fraudulentos y enviar los datos fraudulentos directamente a la tarjeta (al utilizar el lector como un lector transparente) sin utilizar la característica de aprobación de datos seguros de lector. Se puede convencer al usuario de aceptar esto a través de alguna clase de ingeniería social, por ejemplo mediante el malware que reclama que existe alguna falla técnica con el lector previniendo revisión de datos en la presentación segura del lector.
Para prevenir este último tipo de ataque el lector podría proporcionar alguna clase de cortafuegos, es decir, el lector puede escanear cada comando de tarjeta inteligente entrante y revisar si corresponde a un comando de firma. En caso de que el comando recibido sea un comando de tarjeta de firma, entonces puede tomar acción apropiada para asegurar que el anfitrión no es capaz de enviar comandos de firmas a la tarjeta que contiene datos que no han sido presentados a (y aprobados por) el usuario en la presentación segura del lector. Por ejemplo, el lector puede bloquear automáticamente el comando (por ejemplo cuando el lector soporta un comando de lector de firma segura en donde el anfitrión envía datos que se van a firmar al lector después de lo cual el lector presentará los datos al usuario en su presentación segura y después de la aprobación del usuario construirá y enviará a tarjeta un comando de firma que contiene los datos aprobados) . Alternativamente, el lector puede extraer los datos que se van a firmar del comando recibido, presentar esos datos al usuario y únicamente después de la aprobación del usuario permitir que el comando de firma pase a la tarjeta.
Tal lector de tarjeta inteligente seguro que soporta entrada de PIN segura en el teclado del lector, revisión y aprobación segura de datos de firma en la presentación de lector, y un cortafuegos, hace todo lo posible para prevenir ataques. Sin embargo, permanecen algunos problemas. En particular permanecen los siguientes dos problemas : en primer lugar, el cortafuegos del lector es sintonizado al comando de firma como soportado por una tarjeta inteligente particular. En la práctica, el grupo de comando de tarjetas inteligentes para datos de firma no es estandarizado. Como una consecuencia, el mismo lector puede proteger muy bien un primer tipo de tarjetas inteligentes, pero puede dejar desprotegido un segundo tipo de tarjetas inteligentes (que soportan un comando de firma que no es reconocido por el cortafuegos del lector) . Si el usuario cambia el tipo de tarjeta inteligente de firma o desea utilizar diferentes tipos de tarjetas inteligentes, esto podría presentar problemas de seguridad. Este problema podría aliviarse al hacer el cortafuegos reconfigurable , sin embargo con el fin de no introducir debilidades de seguridad, la reconfiguración del cortafuegos debe suceder de conformidad con un procedimiento seguro que puede presentar muy bien una carga pesada en el lector y/o reducir la conveniencia de uso del lector.
Otro problema es que esta solución no previene que un atacante convence a usuarios para utilizar su tarjeta inteligente de firma en lectores de tarjeta inteligente inseguros o alterados.
Por lo tanto lo que se necesita es un lector de tarjeta inteligente seguro que sea capaz de soportar tarjetas inteligentes de muchos tipos diferentes en una forma segura y que adicionalmente también proporcione una forma para impedir un ataque en donde un atacante convence a un usuario de utilizar su tarjeta inteligente con un lector inseguro.
Solución Técnica Lo siguiente presenta un sumario simplificado de la presente invención con el fin de proporcionar un entendimiento básico de algunos aspectos aquí descritos. Este sumario no es una vista general extensiva del tema reivindicado. No pretende ni identificar elementos clave o críticos del tema reivindicado ni delinear el alcance de la invención. Su único propósito es presentar algunos conceptos del tema reivindicado en una forma simplificada como un preludio a la descripción más detallada que se presenta posteriormente .
La presente invención se basa en el conocimiento del (de los) inventor (es) que, mientras puede ser muy difícil o incluso imposible garantizar que un atacante no será capaz de convencer a un usuario de utilizar lector de tarjeta inseguro en lugar de un lector de tarjetas seguro, es suficiente detectar que se ha utilizado un lector de tarjeta inseguro para impedir tal ataque.
En una modalidad de conformidad con la invención se ha utilizado un método para detectar que un lector de tarjeta inseguro comprende dejar que el usuario utilice un lector de tarjeta seguro que proporciona prueba que se ha utilizado y asumiendo (o concluyendo) en la ausencia de tal prueba que se ha utilizado a su vez un lector de tarjeta inseguro.
Otra modalidad de conformidad con la invención comprende un lector de tarjeta seguro que está adaptado para probar que ha sido utilizado para presentar de manera segura datos que se van a firmar al usuario, obteniendo aprobación del usuario para esta operación de firma y obteniendo una firma de una tarjeta en los datos aprobados, al generar por sí mismo una firma de lector en datos representativos de eventos y acciones relacionados con seguridad. En una modalidad, el lector está adaptado para proporcionar una firma electrónica en una representación de los datos que presenta al usuario por evasión y que envía a la tarjeta para firma. En algunas modalidades el lector puede regresar tal firma del lector generada por el lector a la aplicación junto con la firma de tarjeta solicitada en los datos que se van a firmar .
La invención además se basa en el conocimiento por el entendimiento del (de los) inventor (es) que puede no ser necesario que el lector tenga conocimiento preciso de los comandos de tarjeta inteligente sensibles si la computadora central puede pasar esa información al lector y si el lector es capaz de proporcionar prueba de las acciones que se llevaron a cabo en el lector seguro (por ejemplo, que datos se presentaron para aprobación para el usuario) y que comandos han sido intercambiados con la tarjeta (por ejemplo, que comando de firma se utilizó y con qué carga útil) . Esto podría permitir detección de cualquier discrepancia entre lo que realmente sucedió y lo que se asume que sucedió. Esto a su vez significa que la necesidad de un cortafuegos puede ser menor o que el cortafuegos puede ser menos restrictivo de manera que el lector puede ser más flexible con respecto a los tipos de tarjetas que se utilizan y los modos de uso de estas tarjetas.
En algunas modalidades de conformidad con la invención el lector de tarjeta inteligente seguro está adaptado para proporcionar una firma electrónica en una combinación de una representación de los datos que presenta al usuario para aprobación y que envía la tarjeta para firma, y una representación de datos que es indicativa de cómo se han utilizado el lector seguro, por ejemplo, que comandos ha recibido de la computadora central y/o que interacciones de usuario se han llevado a cabo y/o que parámetros de propiedades o configuración ha aplicado el lector cuando realiza las operaciones solicitadas en los comandos recibidos del anfitrión y/o las interacciones de usuario que se llevaron a cabo y/o que comandos ha intercambiado el lector con la tarjeta inteligente.
En algunas modalidades, el lector de tarjeta inteligente seguro está adaptado para mantener uno o más registros para datos de registros representativos de comandos que intercambia el lector con el anfitrión y/o interacciones con el usuario y/o comandos intercambiados con la tarjeta inteligente. En algunas modalidades el lector puede estar adaptado para hacer una firma de lector en datos que comprenden una representación de los contenidos de uno o más de estos registros. En algunas modalidades, parámetros o propiedades de configuración que han sido aplicados, por ejemplo, cuando se interactúa con el usuario o cuando se intercambian comandos con la tarjeta inteligente también pueden estar comprendidos en los datos que firme el lector.
En algunas modalidades, el lector puede iniciar registro cuando ingresa un modo seguro específico. En algunas modalidades, el lector puede ingresar a tal modo seguro específico en respuesta a ciertos comandos del lector que recibe el lector del anfitrión. En algunas modalidades, el lector puede ingresar a tal modo seguro específico en respuesta a un evento relacionado con tarjeta tal como una inserción de tarjeta. En algunas modalidades, el lector puede restablecer uno o más de los registros que mantiene automáticamente cuando ingresa a uno o más de los modos seguros que soporta. En algunas modalidades, el lector puede restablecer uno o más de los registros que mantiene automáticamente en respuesta a un evento relacionado con tarjeta tal como una inserción de tarjeta o remoción de tarjeta. En algunas modalidades, el lector puede registrar cualquier comando de tarjeta inteligente que intercambia con la tarjeta inteligente mientras esta en un modo seguro. En algunas modalidades, el lector puede registrar cualquier comando del lector que el lector intercambia con el anfitrión mientras está en modo seguro. En algunas modalidades, el lector puede registrar datos que presenta al usuario para aprobación. En algunas modalidades, el lector puede registrar si el usuario aprobó datos que se le presentaron por el lector. En algunas modalidades, el lector puede registrar si se utilizó una función de entrada de PIN segura para ingresar y verificar un PIN de tarjeta inteligente del usuario.
En algunas modalidades el lector de tarjeta inteligente seguro puede mantener una copia de los datos agregados a uno o más de esos registros y cuando agrega datos a un registro, el lector puede concatenar los nuevos datos a los datos ya registrados. En algunas modalidades el lector de tarjeta inteligente seguro puede asociarse con uno o más registros o uno o más valores de troceo sobre los datos agregados a esos registros y cuando agrega datos a tal registro, el lector puede actualizar el valor de troceo asociado con los datos que son agregados.
En algunas modalidades el lector de tarjeta inteligente seguro soporta la posibilidad de agregar contenidos de un registro a los contenidos de otro registro.
En algunas modalidades, el lector de tarjeta inteligente seguro está adaptado para enviar los contenidos de un registro a la tarjeta como un comando de tarjeta inteligente. En algunas modalidades, el lector de tarjeta inteligente seguro está adaptado para enviar los contenidos de un registro a la tarjeta como parte de un comando de tarjeta inteligente. En algunas modalidades, el lector de tarjeta inteligente seguro está adaptado para generar una firma del lector sobre los contenidos o parte de los contenidos de uno o más de los registros.
En algunas modalidades el lector de tarjeta inteligente seguro comprende una memoria segura para almacenar una o más claves del lector secretas o privadas que el lector utiliza como un algoritmo criptográfico para generar una firma del lector. En algunas modalidades los algoritmos criptográficos que el lector de tarjeta inteligente seguro utiliza para generar una firma del lector comprenden al menos uno de un algoritmo de encriptación y desencriptación simétrico tal como DES o AES, un algoritmo de troceo codificado criptográfico (por ejemplo, con base en SHA-1 o SHA-256) , una función de compendio criptográfico (por ejemplo, con base en SHA-1 o SHA-256) , o un algoritmo de firma digital con base en criptografía asimétrica (por ejemplo, con base en el algoritmo RSA o el algoritmo DSA o curvas elípticas) .
Un aspecto de la invención proporciona un lector de tarjeta inteligente para generar firmas electrónicas en conjunto con una tarjeta inteligente insertada que comprende una interfaz de comunicación para comunicarse con una computadora central; un conector de tarjeta inteligente para comunicarse con la tarjeta inteligente; un primer componente de memoria para almacenar de manera segura una o más claves criptográficas; un segundo componente de memoria para almacenar un registro; una interfaz de usuario que comprende un interfaz de salida de usuario para presentar información al usuario y una interfaz de entrada de usuario para recibir indicaciones de usuario; un componente de procesamiento de datos para comunicarse con la computadora central , comunicarse con la tarjeta inteligente e impulsar la interfaz de usuario; el lector de tarjeta inteligente adaptado para intercambiar comandos de tarjeta inteligente con una tarjeta inteligente que utiliza el conector de tarjeta inteligente; el lector de tarjeta inteligente adaptado además para operar en un modo de registro seguro en donde el lector de tarjeta inteligente se registra en los eventos relacionados con seguridad de registro con relación al lector o al uso del lector; y el lector de tarjeta inteligente además está adaptado para generar una firma del lector en el registro utilizando al menos una de la una o más claves criptográficas almacenadas en la primera memoria.
En un grupo de modalidades, el lector de tarjeta inteligente además está adaptado para realizar comandos de lector recibidos de la computadora central y para registrar en el registro al menos algunos de los comandos del lector recibidos. En algunas modalidades, el lector de tarjeta inteligente además está adaptado para soportar uno o más comandos del lector para instruir al lector para presentar datos a un usuario para revisión y aprobación por el usuario, para presentar al usuario los datos para revisión y aprobación utilizando la interfaz de salida, para capturar la aprobación o rechazo del usuario de los datos para revisión y aprobación utilizando la interfaz de entrada, y para registrar en el registro los datos para revisión y aprobación.
En otro grupo de modalidades, el lector de tarjeta inteligente además está adaptado para registrar en el registro al menos algunos comandos de tarjeta inteligente transparente intercambiados entre el anfitrión y la tarjeta inteligente. En algunas modalidades, los comandos de tarjeta inteligente transparente que el lector registra comprenden comandos de tarjeta inteligente transparente para envío a los datos de tarjeta inteligente insertada que se van a firmar por la tarjeta inteligente. En otras modalidades los comandos de tarjeta inteligente transparente que el lector registra comprenden comandos de tarjeta inteligente transparente para obtener de la tarjeta inteligente insertada una firma de tarjeta electrónica generada sobre datos enviados. Incluso en otras modalidades, el lector está adaptado para registrar todos los comandos de tarjeta inteligente transparente en un periodo desde un primer punto en el tiempo a un segundo punto en el tiempo. En algunas de estas modalidades el periodo en donde el lector registra todos los comandos de tarjeta inteligente transparente, comprende el periodo en donde los datos que se van a firmar se envían a la tarjeta inteligente insertada o el periodo en donde la firma de tarjeta electrónica generada sobre los datos enviados se obtiene de la tarjeta inteligente insertada.
Incluso en otro grupo de modalidades, el lector de tarjeta inteligente almacena un grupo de datos de comunicación que determina al menos en parte que eventos registró el lector. En algunas modalidades, el lector de tarjeta inteligente está adaptado para registrar el grupo actual de datos de configuración. En algunas de estas modalidades, el lector soporta uno o más comandos de lector para intercambiar el grupo de datos de configuración.
Incluso en otro grupo de modalidades, el lector de tarjeta inteligente además comprende un reloj y está adaptado para agregar una o más fechas de registro al registro. En algunas modalidades, el lector de tarjeta inteligente está adaptado para agregar una fecha de registro a al menos algunos de los eventos registrados.
Incluso en otro grupo de modalidades, el lector de tarjeta inteligente además está adaptado para recibir un reto a través de un comando de lector y para registrar el reto recibido .
En otro grupo de modalidades el lector de tarjeta inteligente además comprende un contador y además está adaptado para registrar un valor relacionado con el contador. En algunas de estas modalidades, el lector de tarjeta inteligente además está adaptado para incrementar el valor de contador automáticamente cuando ingresa al modo de registro seguro o cuando genera la firma del lector en el registro.
En otro grupo de modalidades el registro comprende múltiples archivos de registro y la firma del lector en el registro comprende múltiples firmas sobre los múltiples archivos de registro.
En otro grupo de modalidades el lector de tarjeta inteligente además está adaptado para soportar un comando de lector para verificar la identidad del usuario. En algunas de estas modalidades el lector de tarjeta inteligente además está adaptado para registrar el resultado de verificar la identidad de usuario. En algunas otras de estas modalidades, el lector de tarjeta inteligente además está adaptado para solicitar al usuario en la interfaz de salida de usuario para ingresar un valor de PIN y para capturar en la interfaz de entrada de usuario un valor de PIN que el usuario ingresó y enviar el valor de PIN capturado a la tarjeta inteligente insertada para verificación.
Otro aspecto de la invención proporciona un método para generar una firma electrónica sobre datos que se van a firmar que comprende los pasos de conectar un lector de tarjeta inteligente a una computadora central; insertar una tarjeta inteligente en el lector; el lector que ingresa un modo de registro seguro; enviar al lector datos para revisión y aprobación por un usuario; presentar al usuario por el lector utilizando una interfaz de salida de usuario en el lector los datos para revisión y aprobación por un usuario; capturar por el lector utilizando una interfaz de entrada de usuario en el lector la aprobación del usuario de los datos presentados; registrar por el lector en un registro en el lector los datos para revisión y aprobación; enviar a la tarjeta inteligente insertada datos que se van a firmar, después de eso generar mediante la tarjeta inteligente insertada una firma de tarjeta electrónica sobre los datos enviados que se van a firmar, y después de eso obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados; generar mediante el lector una firma del lector electrónica sobre el registro en el lector utilizando un algoritmo de firma de datos criptográficos parametrizado con una clave criptográfica almacenada en el lector y después de eso obtener la firma del lector electrónica sobre el registro generado mediante el lector. En algunas modalidades el método además comprende el paso de registrar mediante el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada.
En un grupo de modalidades el método además comprende enviar a la tarjeta inteligente insertada datos que se van a firmar y obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados comprende la computadora central que intercambia comandos de tarjeta inteligente transparente con la tarjeta inteligente insertada utilizando el lector de tarjeta inteligente; y en donde registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada comprende registrar por el lector en el registro en el lector al menos algunos de los comandos de tarjeta inteligente transparente intercambiados. En algunas de estas modalidad los comandos de tarjeta inteligente transparente que intercambia la computadora central con la tarjeta inteligente insertada utilizando el lector de tarjeta inteligente comprenden al menos comandos de tarjeta inteligente transparente para enviar a la tarjeta inteligente insertada datos que se van a firmar; y por lo menos algunos de los comandos de tarjeta inteligente transparente intercambiados que el lector registra en el registro en el lector comprenden al menos comandos de tarjeta inteligente transparente para enviar a la tarjeta inteligente insertada datos que se van a firmar o comandos de tarjeta inteligente transparente para obtener de la tarjeta inteligente insertada una firma de tarjeta electrónica generada sobre datos enviados. En algunas otras de estas modalidades al menos algunos de los comandos de tarjeta inteligente transparente intercambiados que el lector registra en el registro en el lector comprenden todos los comandos de tarjeta inteligente transparente intercambiados durante cierto periodo. En algunas de estas otras modalidades el periodo en donde el lector registra todos los comandos de tarjeta inteligente transparente intercambiados comprende el periodo en donde los datos que se van a firmar se envían a la tarjeta inteligente insertada o el periodo en donde la firma de tarjeta electrónica generada sobre los datos enviados se obtiene de la tarjeta inteligente insertada.
En otro grupo de modalidades el método además comprende configurar un grupo de datos de configuración en el lector que determinan al menos parcialmente qué eventos registra el lector en el registro en el lector. Algunas de estas modalidades además comprenden el paso de registrar, por el lector, en el registro en el lector el grupo actual de datos de configuración. Algunas de estas modalidades además comprenden configurar el grupo de datos de configuración de manera que el lector registre en un registro en el lector los datos para revisión y aprobación. Algunas otras de estas modalidades además comprenden configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada mediante la tarjeta inteligente insertada. Incluso otras modalidades además comprenden configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector los comandos del lector para presentar datos al usuario para revisión y aprobación. Incluso otras modalidades además comprenden configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector un grupo de comandos de tarjeta inteligente transparente. Algunas de estas modalidades además comprenden configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector un grupo de comandos de tarjeta inteligente transparente que comprende comandos de tarjeta inteligente para enviar a la tarjeta inteligente insertada datos que se van a firmar o para obtener de la tarjeta inteligente insertada una firma electrónica generada en datos enviados a la tarjeta inteligente.
Incluso otro aspecto de la invención proporciona un método para asegurar un acceso del usuario a una aplicación que comprende los pasos de proporcionar una tarjeta inteligente para datos de firma para un usuario; proporcionar a un usuario el lector de tarjeta inteligente de conformidad con cualquiera de las modalidades descritas anteriormente; proporcionar la interacción de usuario con la aplicación de una computadora central a la que está conectada el lector; ensamblar datos de transacción; ensamblar datos que se van a revisar y aprobar que están relacionados con los datos de transacción ensamblados; ensamblar datos que se van a firmar que están relacionados con los datos de transacción ensamblados; asegurar que la tarjeta inteligente es insertada en el lector de tarjeta inteligente; asegurar que el lector ingresa a un modo de registro seguro; enviar al lector datos para revisión y aprobación por un usuario; presentar al usuario por el lector utilizando una interfaz de salida de usar en el lector los datos para revisión y aprobación por un usuario capturar por el lector utilizando una interfaz de entrada de usuario en el lector la aprobación del usuario de los datos presentados; registrar por el lector en un registro en el lector los datos para revisión y aprobación; enviar a la tarjeta inteligente insertada datos que se van a firmar, después de eso generar mediante la tarjeta inteligente insertada una firma de tarjeta electrónica sobre los datos enviados que se van a firmar, y después de eso obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados; registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada mediante la tarjeta inteligente insertada; generar por el lector una firma del lector electrónica sobre el registro en el lector utilizando un algoritmo de firma de datos criptográficos parametrizados con una clave criptográfica almacenada en el lector y después de eso obtener la firma del lector electrónica sobre el registro generado por el lector; verificar la firma de tarjeta electrónica obtenida; verificar la firma del lector obtenida sobre el registro generado por el lector; verificar la consistencia entre el registro firmado por el lector y los datos de transacción ensamblados.
En algunas modalidades de este método que envía a la tarjeta inteligente insertada datos que se van a firmar comprende intercambiar entre la computadora central y la tarjeta inteligente insertada comandos de tarjeta inteligente transparente para enviar datos que se van a firmar a la tarjeta inteligente; y en donde registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada mediante la tarjeta inteligente insertada comprende registrar comandos de tarjeta inteligente transparente intercambiados entre la computadora central y la tarjeta inteligente insertada para enviar datos que se van a firmar a la tarjeta inteligente o para recuperar una firma de tarjeta electrónica generada mediante la tarjeta inteligente insertada en datos enviados a la tarjeta para firma.
Efectos Ventajosos Una ventaja importante de la presente invención es que permite detectar un ataque en el cual un atacante convence a un usuario de utilizar su tarjeta de firma con un lector inseguro. Otra ventaja de la presente invención es que permite detectar inconsistencias entre lo que se supone que ha sucedido en el lector y/o con la tarjeta, y lo que realmente sucedió de manera que pueda relajarse un cortafuegos aplicado por el lector, que a su vez significa que el lector podría utilizarse con un rango más amplio de tarjetas o un rango más amplio de casos de uso.
Más ventajas de la presente invención serán evidentes para un experto en la técnica.
BREVE DESCRIPCION DE LAS FIGURAS Las características y ventajas anteriores y otras de la invención serán evidentes a partir de la siguiente descripción más particular de varias modalidades de la invención, como se ilustró en las figuras anexas.
La siguiente descripción y las figuras anexas describen en detalle ciertos aspectos ilustrativos del tema reivindicado. Estos aspectos son indicativos, sin embargo, sólo de algunas de las varias formas en las cuales pueden emplearse los principios de la invención y el tema reivindicado pretenden incluir todos estos aspectos y sus equivalentes. Otras ventajas y características novedosas del tema reivindicado se harán evidentes a partir de la siguiente descripción detallada de aspectos de la invención cuando se consideran en conjunto con las figuras.
La descripción detallada descrita a continuación en conexión con las figuras anexas se pretende como una descripción de algunas modalidades de la invención y no pretende representar las únicas formas en las cuales puede construirse y/o utilizarse la presente invención. La descripción describe las funciones y la secuencia de pasos para construir y operar la invención en conexión con las modalidades ilustradas. Sin embargo, se entenderá que funciones y secuencias iguales o equivalentes pueden lograrse por diferentes modalidades que también pretenden abarcarse dentro del alcance de la invención.
El tema reivindicado se describe con referencia a las figuras, en donde se utilizan números de referencia similares para hacer referencia a elementos similares de principio a fin. En la siguiente descripción, para propósitos de explicación, se describen numerosos detalles específicos con el fin de proporcionar un entendimiento completo de la invención. Puede ser evidente, sin embargo, que el tema reivindicado puede practicarse sin estos detalles específicos. En otros casos, se muestran estructuras y dispositivos bien conocidos en forma de diagrama de bloque con el fin de facilitar la descripción de la invención.
La Figura 1 ilustra un lector de tarjeta inteligente seguro de conformidad con una modalidad de la invención; la Figura 2 ilustra un sistema para conducir transacciones seguras de conformidad con un aspecto de la invención; y las Figuras 3a y 3b ilustran un método de conformidad con un aspecto de la invención para asegurar transacciones remotas.
DESCRIPCION DETALLADA DE LA INVENCION La Figura 1 ilustra un lector de tarjeta inteligente seguro (100) de conformidad con un aspecto de la invención que comprende una interfaz de comunicación (110) para comunicarse con una computadora central (99) , una ranura del lector de tarjeta inteligente (120) para aceptar una tarjeta inteligente (98) , un conector de tarjeta inteligente (130) para comunicarse con la tarjeta inteligente (98) ; al menos un componente de memoria (140) para almacenar de manera segura una o más claves criptográficas y/o uno o más archivos de registro, una interfaz de usuario comprende una interfaz de salida de usuario (115) para presentar información al usuario y una interfaz de entrada de usuario (152) para recibir indicaciones de usuario, uno o más componentes de procesamiento (160) para comunicarse con la computadora central (99) , comunicarse con la tarjeta inteligente (98) e impulsar la interfaz de usuario (151/152) . El lector de tarjeta inteligente (100) además está adaptado para operar en un modo de registro seguro en donde el lector de tarjeta inteligente (100) mantiene un registro, cuyos contenidos están relacionados con seguridad y pueden ser indicativos de al menos algunos eventos relacionados con seguridad que se refieren al lector y/o al uso del lector y lo que sucede mientras el lector está en el modo de registro seguro y que puede tener un impacto en el nivel de seguridad. Eventos a los que el lector puede adaptarse para registrar en un archivo de registro de esta forma pueden comprender comandos del lector que el lector recibe de una aplicación (por ejemplo, una aplicación local en el anfitrión o una aplicación remota en un servidor en conexión con la computadora central) tal como por ejemplo, comandos del lector para presentar datos a un usuario para revisión y aprobación o para establecer o cambiar ciertos datos de configuración, comandos de tarjeta inteligente que el lector intercambia con una tarjeta inteligente insertada (y que el lector pudo haber recibido de una aplicación) tal como por ejemplo comandos de tarjeta inteligente para dejar los datos de firma de tarjeta, interacciones de usuario tal como el usuario que aprueba o rechaza datos que el lector presenta al usuario, otros eventos que pueden estar relacionados con seguridad tal como detecciones de condiciones que pueden indicar un intento de alteración con el lector. El lector de tarjeta inteligente (100) además está adaptado para generar una firma del lector en el registro utilizando al menos una de una o más claves criptográficas almacenadas por el por lo menos un componente de memoria (140) . Para generar la firma del lector, el lector puede comprender un componente de procesamiento (162) que comprende un procesador criptográfico capaz de realizar cálculos criptográficos utilizando al menos una de una o más claves criptográficas almacenadas por el por lo menos un componente de memoria (140) . En algunas modalidades, los medios de procesamiento (160) pueden comprender el componente de procesamiento (162) . En algunas modalidades, los componentes mencionados anteriormente pueden estar contenidos en un alojamiento (170) . En algunas modalidades, el lector puede estar adaptado para generar una firma del lector sobre el archivo de registro al aplicar un algoritmo criptográfico asimétrico y los contenidos del archivo de registro (o una representación de los mismos tal como un compendio o troceo criptográfico) parametrizado con una clave privada de un par de clave pública-privada almacenado en al menos un componente de memoria (140) del lector.
En algunas modalidades la interfaz de comunicación (110) para comunicarse con una computadora central (99) puede comprender una interfaz USB que puede comprender un conector USB que puede utilizarse para conectar el lector (100) con un cable USB (97) a un puerto USB de la computadora central (99) . En algunas modalidades los medios de procesamiento (160) para comunicarse con la computadora central (99) pueden adaptarse para soportar un protocolo USB con la computadora central (99) . En algunas modalidades, el cable USB (97) puede fijarse al lector (100) . En otras modalidades el cable USB (97) puede ser desprendible del lector (100) .
En algunas modalidades la tarjeta inteligente (98) cumple o es compatible con al menos parte de las especificaciones ISO/IEC 7816 para tarjetas inteligentes, y la ranura del lector de tarjeta inteligente (120) para aceptar una tarjeta inteligente (98), el conector de tarjeta inteligente (130) para comunicarse con la tarjeta inteligente (98) , y los medios de procesamiento (160) para comunicarse con la tarjeta inteligente (98) están adaptados para manejar tarjetas inteligentes que cumplen o son compatibles con al menos parte de las especificaciones ISO/IEC 7816 para tarjetas inteligentes y están adaptados para manejar protocolos de conformidad con al menos parte de las especificaciones ISO/IEC 7816.
En algunas modalidades la tarjeta inteligente (98) puede soportar funciones criptográficas para firmar datos. En algunas modalidades, la tarjeta inteligente puede soportar una función de firma de datos con base en criptografía simétrica. En algunas modalidades, la tarjeta inteligente puede soportar una función de firma de datos con base en criptografía asimétrica. En algunas modalidades, la tarjeta inteligente comprende una memoria segura para almacenar de manera segura una o más claves criptográficas simétricas o asimétricas. En algunas modalidades, la tarjeta inteligente comprende un agente criptográfico seguro para realizar operaciones criptográficas tal como encriptación o desencriptación simétrica o asimétrica y operaciones de firma de datos con base en criptografía simétrica o asimétrica. En algunas modalidades, el agente criptográfico seguro de la tarjeta inteligente puede adaptarse para utilizar una o más claves criptográficas almacenadas en la memoria segura de la tarjeta inteligente. En algunas modalidades, algunas de las operaciones o funciones soportadas por la tarjeta inteligente pueden protegerse por o pueden ser condicionales sobre la entrada correcta de un valor de PIN.
En algunas modalidades, el lector de tarjeta inteligente (100) puede comprender un reloj (180) para proporcionar un valor de tiempo. En algunas modalidades, este reloj (180) puede comprender un reloj de tiempo real. En algunas modalidades, el lector de tarjeta inteligente puede utilizar el valor de tiempo proporcionado por el reloj (180) para registrar la fecha de ciertos datos o acciones o eventos. En algunas modalidades, el valor de tiempo puede ser una indicación del tiempo real absoluto, es decir, el valor de tiempo del lector tiene una relación directa con el tiempo universal real. En otras modalidades, el valor de tiempo puede ser un valor que es relativo a cierto evento específico del lector tal como, por ejemplo, el momento de producción del lector. En algunas modalidades, el valor de tiempo del lector puede ser, por ejemplo, el tiempo Unix (en algunas modalidades dentro de ciertos márgenes de precisión) , el Tiempo Medio de Greenwich (GMT, por sus siglas en inglés) o el Tiempo Métrico Universal (UMT, por sus siglas en inglés) . En algunas modalidades, el reloj de tiempo real puede indicar el tiempo actual dentro de ciertos márgenes de precisión. En algunas modalidades el reloj (180) indica un valor de tiempo que está sincronizado (dentro de ciertos márgenes de precisión) con el valor de un reloj un servidor.
Dispositivo de alteración, detección de alteración y resistencia a alteración.
En algunas modalidades el lector de tarjeta inteligente seguro (100) está adaptado para asegurar detección de y/o resistir intentos de alteración con el lector. En algunas modalidades, el alojamiento (170) del lector de tarjeta inteligente (100) está adaptado para resistir la apertura del alojamiento (170) y/o aumentar la probabilidad de que un usuario nota intentos de abrir el alojamiento (170) a través de deformación del alojamiento (170) (evidencia de alteración) . En algunas modalidades, partes que juntas forman el alojamiento (170) pueden soldarse o pegarse juntas de manera que intentos para desprender estas partes típicamente lleven a deformación obvia del alojamiento (170) . En algunas modalidades el lector (100) comprende un interruptor que detecta apertura del alojamiento (170) . En algunas modalidades, el lector (100) está adaptado para tomar acción apropiada con la detección de un intento de alteración. En algunas modalidades, el lector (100) puede borrar ciertos datos sensibles tal como claves criptográficas, o el lector (100) puede (posiblemente de manera irreversible) entrar a un modo de error o detener una función al detectar un intento de alteración con el lector (100) . En algunas modalidades, el lector (100) puede establecer y almacenar información relacionada con una detección de un intento de alteración (tal como la fecha y hora y/o tipo de intento de alteración) e incluir esa información en cálculos de firma de lector subsecuentes.
En algunas modalidades, el lector (100) puede comprender una fuente de energía autónoma, por ejemplo, para ser capaz de volverse o permanecer activa incluso cuando no está conectada a una computadora central (99) , por ejemplo, para asegurar detección de alteración activa, para permitir el reloj (180) que mantiene el tiempo real, o para alimentar memoria volátil (140) . En algunas modalidades la fuente de energía puede comprender una batería. En algunas modalidades, la batería puede ser reemplazable.
El lector (100) puede tener una interfaz de salida de usuario segura (por ejemplo una presentación segura) y una interfaz de entrada segura (por ejemplo, un teclado seguro) . En algunas modalidades el lector tiene una interfaz de salida que es segura en cuánto a que es completamente controlada por el lector y en cuanto que no puede utilizarse para presentar datos o información a un usuario mediante un procedimiento externo al usuario a menos que esté autorizada y controlada por el lector. En algunas modalidades el lector tiene una interfaz de entrada que es segura en cuanto a que está completamente controlada por el lector en cuanto a que no puede utilizarse para obtener datos o información de un usuario por un procedimiento externo al lector a menos que esté autorizada y controlada por el lector. En algunas modalidades la seguridad de las interfases de entrada y salida de usuario seguras se mantiene por el lector sin permitir ningún cambio a su firmware o proporcionando un mecanismo de actualización de firmware que únicamente permite cambios al firmware al lector a través de un protocolo seguro que asegura que el lector acepte únicamente actualizaciones de firmware autorizadas de una fuente confiada.
El lector (100) puede adaptarse para asegurar seguridad de firmware y/o soportar mejora de firmware segura.
Los componentes de procesamiento (160) pueden comprender uno o más componentes de procesamiento. Estos componentes de procesamiento pueden comprender microchips, circuitos integrados, microcontroladores , microprocesadores, Disposiciones de Puerta Programable de Campo (FPGA, por sus siglas en inglés) , Circuitos Integrados Específicos de Aplicación (ASIC, por sus siglas en inglés) y similares.
La memoria (140) puede adaptarse para almacenar de manera segura claves criptográficas. La memoria (140) puede comprender uno o más componentes de memoria que comprenden RAM (posiblemente respaldada con baterías) , ROM, EEPROM, memoria flash u otros tipos de componentes de memoria. En algunas modalidades, la memoria (140) puede comprender uno o más módulos de Módulo de Acceso Seguro (SAM, por sus siglas en inglés) . En algunas modalidades, la memoria (140) puede comprender una o más tarjetas de Módulo de Identidad de Suscriptor (SIM, por sus siglas en inglés) . En algunas modalidades, la memoria (140) puede comprender una o más tarjetas inteligentes internas o chips de tarjeta inteligente. El lector (100) puede adaptarse para proteger la confidencialidad de datos almacenados sensibles tal como, por ejemplo, datos secretos que pueden comprender claves criptográficas. Estas claves criptográficas secretas pueden comprender claves criptográficas simétricas para utilizarse dentro de algoritmos criptográficos simétricos y/o claves criptográficas asimétricas para utilizarse con algoritmos criptográficos asimétricos tal como claves privadas de pares de clave pública/privada. El lector (100) puede adaptarse para borrar algunas áreas de memoria con la detección de intentos para alteración con el lector. Ciertos contenidos de la memoria (140) pueden ser encriptados .
El lector (100) también puede adaptarse para almacenar claves públicas y/o certificados asociados con claves privadas almacenadas en memoria (140) .
El lector (100) puede adaptarse para soportar capacidades criptográficas tal como soportar cálculos para algoritmos criptográficos asimétricos y/o algoritmos criptográficos simétricos y/o funciones de troceo. El lector puede estar adaptado para generar firmas del lector en datos representativos de eventos y acciones relacionadas con seguridad que pueden comprender datos representativos de comandos del lector que recibe el lector de un anfitrión (99) , comandos de tarjeta inteligente que intercambia el lector con una tarjeta inteligente insertada (98) , datos que presenta el lector al usuario para aprobación (por ejemplo, por medio de interfaz de salida de usuario (151) ) , o parámetros de configuración que aplica el lector cuando trata con cualquiera de los anteriores. El lector de tarjeta inteligente (100) además puede estar adaptado para mantener registros de ciertos eventos y acciones relacionadas con seguridad que pueden comprender intercambiar comandos de lector con un anfitrión, intercambiar comandos de tarjeta inteligente con una tarjeta inteligente insertada, y/o interacciones con un usuario. El lector de tarjeta inteligente seguro (100) puede adaptarse para generar una firma del lector sobre uno o más de estos registros.
El lector (100) puede generar una firma del lector al aplicar a los datos que se van a firmar un algoritmo criptográfico parametrizado con una clave criptográfica almacenada en memoria (140) . El algoritmo criptográfico puede comprender una función de troceo codificada por la cual se envía una combinación de una clave secreta y los datos que se van a firmar a una función de troceo criptográfica unidireccional o una función de compendio (tal como funciones de proceso criptográficas de las familias MD5 , SHA-1, SHA-2, o SHA-256 de funciones de troceo) y el troceo o compendio resultante constituye la firma electrónica. El algoritmo criptográfico puede comprender una cifra de bloque de encriptación (o desencriptación) simétrica tal como (Triple) DES o AES que puede utilizarse (por ejemplo, en modo CBC o algún otro modo de encadenamiento de bloque) para generar un MAC que puede constituir la firma electrónica. El lector puede generar la firma de lector utilizando un esquema de firma electrónica que se basa en criptografía asimétrica. En estos casos los datos que se van a firmar pueden trocearse o enviarse a una función de compendio y en troceo o compendio resultante entonces es encriptado con un algoritmo de encriptación asimétrico utilizando la clave privada del usuario. Ejemplos de algoritmos criptográficos asimétricos utilizados para generar firmas electrónicas incluyen RSA y DSA.
En algunas modalidades, el lector de tarjeta inteligente seguro está adaptado para iniciarse y/o personalizarse con una o más claves del lector secretas o privadas durante o después de producción. En algunas modalidades, el lector de tarjeta inteligente seguro soporta un protocolo de intercambio de datos seguro para actualizar datos del lector sensibles tal como parámetros de configuración de seguridad y/o claves criptográficas. En algunas modalidades, el lector de tarjeta inteligente seguro comprende un componente seguro capaz de generar claves criptográficas. En algunas modalidades, el lector de tarjeta inteligente seguro puede comprender un componente seguro capaz de generar un par de clave publica-privada. En algunas modalidades el lector de tarjeta inteligente seguro puede comprender un componente seguro para generar números aleatorios.
Cortafuegos .
El lector puede soportar un cortafuegos que examina comandos de tarjeta inteligente enviados por el anfitrión y hechos para la tarjeta inteligente, por lo cual el lector puede bloquear comandos dependiendo de ciertos criterios. En algunas modalidades, el lector puede configurar el cortafuegos dependiendo del tipo de tarjeta. En algunas modalidades, el lector determina el tipo de tarjeta por medio de uno o más comandos de tarjeta inteligente de SELECCIONAR APLICACION. En alguna modalidad, el cortafuegos mantiene una lista de comandos de tarjeta inteligente que deben bloquearse (y otros comandos de tarjeta inteligente pueden dejarse pasar) . En algunas modalidades, el cortafuegos mantiene una lista de comandos de tarjeta inteligente que se dejan pasar (y todos los otros comandos de tarjeta inteligente pueden bloquearse) . En algunas modalidades, el contrafuego reconoce comandos de tarjeta inteligente sobre la base del valor de ciertos bytes en el encabezado de comando (tal como los bytes CLA, INS, Pl y/o P2) . En algunas modalidades el lector puede tener un cortafuegos que puede investigar y/o cambiar los contenidos de algunos comandos de tarjeta inteligente. Comandos de tarjeta inteligente que recibe el lector del anfitrión y que el anfitrión desea enviar por el lector a la tarjeta y que el lector envía a la tarjeta sin bloquearlos o alterar sus contenidos pueden indicarse como comandos de tarjeta inteligente transparente. Si el lector trabaja en un modo en donde no se están bloqueando o alterando ninguno de los comandos de tarjeta inteligente mediante un cortafuegos, entonces el lector puede decirse que trabaja en un modo transparente .
Comandos de Lector.
El lector puede estar adaptado para recibir y analizar comandos de lector desde la computadora central (es decir, desde, por ejemplo, una aplicación local en la computadora central o una aplicación remota en un servidor de aplicación conectado a la computadora central) . Tales comandos del lector pueden comprender comandos para cambiar datos de configuración del lector, para permitir al lector ingresar a un modo de registro seguro, para permitir al usuario hacer una verificación de identidad de usuario segura (como una entrada de PIN segura) , para permitir al lector presentar ciertos datos al usuario y permitir al usuario revisar y aprobar o rechazar los datos presentados, etc.
Autentificación de Usuario Segura.
En algunas modalidades, el lector puede soportar comandos de lector que pueden utilizarse para instruir al lector a autentificar de manera segura al usuario.
Por ejemplo, en algunas modalidades el lector puede soportar comandos del lector que pueden utilizarse para instruir al lector a incitar al usuario a ingresar un PIN (o contraseña) , a capturar el PIN (o contraseña) ingresado por el usuario y a enviar el PIN capturado (o contraseña) a la tarjeta inteligente que se va a verificar por la tarjeta inteligente. En algunas modalidades, tales comandos del lector de entrada de PIN seguros pueden contener parámetros que indican al lector como construir un comando de tarjeta inteligente de Verificación de PIN. En algunas modalidades, el lector está adaptado para borrar de la memoria todas las copias de un PIN o valor de contraseña después que se ha enviado a una tarjeta inteligente para verificación.
En algunas modalidades, el lector puede comprender alguna clase de dispositivo de captura biométrica tal como, por ejemplo, huellas digitales y el lector puede soportar comandos de lector que pueden utilizarse para instruir el lector a incitar (opcionalmente) al usuario a enviar sus datos biométricos al lector, capturar los datos biométricos y verificar los datos biométricos capturados (por ejemplo, con el fin de autentificar al usuario) . En algunas modalidades, los datos biométricos pueden verificarse por el lector enviando los datos biométricos capturados a la tarjeta inteligente y la tarjeta inteligente verifica los datos biométricos capturados. En algunas modalidades, pueden verificarse los datos biométricos por el lector que obtiene y que obtiene de la tarjeta inteligente datos de referencia biométricos y que compara los datos biométricos de usuario capturados con los datos de referencia biométricos obtenidos de la tarjeta inteligente. En algunas modalidades, el lector está adaptado para borrar de la memoria todas las copias de datos biométricos después que se han enviado a una tarjeta inteligente para verificación o después que se han utilizado por el lector para propósitos de autentificación.
Firma Segura.
El lector puede estar adaptado para proporcionar un modo de firma figura en donde el anfitrión o una aplicación que interactúa con el lector envía datos al lector que se van a firmar por la tarjeta. En tal modo de firma segura el lector presenta los datos que se van a firmar al usuario y solicita al usuario aprobar los datos. Después de aprobación de los datos por el usuario, el lector envía un comando de firma (o una serie de comandos) a la tarjeta que contiene los datos que se van a firmar (o una representación de los mismos tal como un troceo de los datos que se van a firmar) . El lector recibe la firma de la tarjeta y la regresa al anfitrión. En algunas modalidades, el lector puede soportar comandos del lector que permiten a una aplicación interactuar con el lector para enviar datos al lector que se van a firmar por la tarjeta por lo cual aplicación puede indicar al lector cuál de estos datos debe revisarse y aprobarse por el usuario y cuál de estos datos no tiene que revisarse y aprobarse por el usuario antes de que los datos sean firmados por la tarjeta.
Revisión y Aprobación de Datos.
En algunas modalidades, el lector puede soportar comandos de lector que permiten a una aplicación enviar datos al lector para ser revisados y aprobados por el usuario. En algunas modalidades, tales comandos de lector pueden incluir comandos de lector para iniciar una operación de firma segura como se describió anteriormente. En algunas modalidades, tales comandos de lector pueden incluir comandos de lector que no instruyen al lector a permitir automáticamente la firma de tarjeta de los datos revisados y aprobados. Por ejemplo, en algunas modalidades, el lector puede soportar comandos de lector que permiten a una aplicación enviar datos al lector para ser revisados y aprobados por el usuario por lo cual el lector, después de la aprobación del usuario de los datos, agrega los datos aprobados (o datos representativos de los datos aprobados, tal como el (los) comando (s) del lector que contiene (n) estos datos o un troceo de estos datos) a un archivo de registro. Después de eso, la aplicación puede enviar los mismos datos a la tarjeta para firma, por ejemplo, al enviar comandos de tarjeta inteligente transparente a la tarjeta. El lector también puede agregar esto al archivo de registro. Después de esto, el lector puede firmar el archivo de registro. La firma del lector del archivo de registro de esa forma prueba que los datos que fueron firmados por la tarjeta también han sido revisados y aprobados por el usuario en el lector seguro.
En algunas modalidades, los datos que se van a revisar y aprobar por el usuario son visualizados por el lector, por ejemplo, en la presentación (segura) del lector. En algunas modalidades los datos que van a ser revisados y aprobados por el usuario pueden presentarse al usuario por el lector, por ejemplo, a través de generación de diálogo artificial. En algunas modalidades, el usuario puede aprobar los datos, por ejemplo, al presionar un botón de OK en el teclado del lector. En algunas modalidades el usuario puede rechazar los datos, por ejemplo, al presionar un botón de cancelar en el teclado (seguro) del lector.
En algunas modalidades, si los datos que se van a revisar no se ajustan en la presentación del lector, el lector puede presentar una parte de los datos y dar al usuario la posibilidad de desplazarse a través del resto de los datos, o el lector puede dividir los datos en una secuencia de bloques de datos cada uno que se ajusta en la presentación y da al usuario la posibilidad de navegar a través de estos bloques de datos. En algunas modalidades, el usuario puede indicar únicamente aprobación después de haberse desplazado a través de todos los datos o después de haber navegado a través de todos los bloques de datos.
Modo de Registro Seguro.
El lector puede estar adaptado para proporcionar un modo de registro seguro en donde mantiene uno o más registros. El lector puede proporcionar comandos de lector para abrir tal modo de registro seguro. El lector puede restablecer los contenidos de uno o más de los registros al ingresar al modo de registro seguro. En algunas modalidades el lector puede soportar comandos de lector que permiten al anfitrión restablecer los registros. El lector puede agregar a uno de los datos de registro indicativos de al menos algunos de los comandos del lector que recibe mientras está en este modo. El lector puede soportar comandos de lector que permiten al anfitrión agregar datos al menos a uno de los registros . El lector puede soportar comandos del lector que permiten al anfitrión instruir al lector a construir un comando de tarjeta inteligente que utiliza los contenidos de un registro y a enviar ese comando de tarjeta inteligente a la tarjeta inteligente. El lector puede soportar comandos de lector para permitir al anfitrión instruir al lector a presentar ciertos datos al usuario en la interfaz de salida de usuario del lector para la aprobación del usuario. El lector puede soportar comandos de lector para permitir al anfitrión instruir al lector a presentar contenidos de un registro al usuario para aprobación. Con la aprobación del usuario de datos, el lector puede agregar automáticamente los datos aprobados a uno de los registros. En algunas modalidades el lector puede soportar comandos de lector para permitir al anfitrión instruir al lector a agregar comandos de un registro a los contenidos de otro registro. El lector puede estar adaptado para agregar automáticamente a uno de los registros datos representativos de comandos de lector recibidos del anfitrión mientras está en modo de registro seguro. El lector puede estar adaptado para agregar automáticamente a uno de los registros datos representativos de comandos de tarjeta inteligente y respuestas intercambiadas entre el lector y la tarjeta inteligente mientras está en el modo de registro seguro. En algunas modalidades, el lector puede estar adaptado para agregar a uno de los registros datos representativos de algunos o todos los comandos de tarjeta inteligente transparente y respuestas correspondientes intercambiadas entre el lector y la tarjeta inteligente mientras está en el modo de registro seguro. Mientras está en el modo de registro seguro, el lector puede activar un cortafuegos. Este cortafuegos puede bloquear cierto o todos los comandos de tarjeta inteligente que el anfitrión solicita que el lector intercambie con la tarjeta inteligente.
Mecanismos que un lector puede utilizar cuando agrega datos a un archivo de registro.
En algunas modalidades cuando el lector registra nuevos datos puede agregar esos nuevos datos a un archivo de registro al anexar los nuevos datos que se registran a los datos que ya fueron agregados al archivo de registro anteriormente. En algunas modalidades el lector puede agregar nuevos datos a un archivo de registro al actualizar un valor de compendio o de troceo que está asociado con el archivo de registro. En algunas modalidades el lector puede, cuando agrega nuevos datos a un archivo de registro, tanto anexar los nuevos datos a los datos que ya han sido registrados anteriormente y actualizar un valor de compendio o de troceo que está asociado con el archivo de registro.
En algunas modalidades, el lector puede formatear datos que agrega un archivo de registro y agregar los otros formateados al archivo de registro como se describió anteriormente. Por ejemplo, el lector puede agregar separadores para distinguir artículos de datos consecutivos que están siendo agregados al archivo de registro. En algunas modalidades, el lector puede agregar delimitadores de inicio y fin a los artículos de datos que están siendo agregados al archivo de registro. En algunas modalidades los artículos de datos que están siendo agregados al archivo de registro pueden ser etiquetados antes de que se agreguen al archivo de registro. En algunas modalidades los artículos de datos que están siendo agregados a un archivo de registro pueden ser incorporados en una estructura de Valor de Longitud de Etiqueta (TLV, por sus siglas en inglés) antes de que se agreguen al archivo de registro. En algunas modalidades pueden utilizarse etiquetas para indicar la naturaleza de los varios artículos de datos que están siendo agregados a un archivo de registro. Por ejemplo, pueden utilizarse diferentes etiquetas para indicar si ciertos datos representan un comando o respuesta de tarjeta, o un comando o respuesta del lector, o datos de configuración del lector, o datos relacionados con interacción de usuario (por ejemplo, indicando si se presentaron ciertos datos por el lector para revisión, y si el usuario aprobó los datos presentados para revisión) , o datos que representan ciertos eventos (por ejemplo detección de lo que pueden ser intentos para alteración con el dispositivo) , o si los datos representan una fecha de registro. En algunas modalidades pueden registrarse artículos de datos antes de que sean agregados a un archivo de registro. En algunas modalidades, una fecha de registro puede ser una parte de la estructura de formateo que se aplica a datos que se agregan a un archivo de registro.
En algunas modalidades, el lector puede almacenar los contenidos de un archivo de registro en uno o más archivos de un sistema de archivo. En otras modalidades, el lector puede almacenar los contenidos de un archivo de registro en otro tipo de estructura de datos que mantiene en algún componente de memoria.
El lector puede estar adaptado para soportar comandos de lector que permiten al anfitrión instruir al lector para generar una firma de lector sobre datos contenidos en uno o más de los registros. El lector también puede estar adaptado para generar una firma de lector sobre uno de los registros automáticamente con ciertos eventos. Por ejemplo, el lector puede generar automáticamente una firma de lector cuando ha intercambiado un comando de tarjeta inteligente con la tarjeta inteligente que contiene datos aprobados por el usuario. 0, puede generar automáticamente una firma de lector cuando ha intercambiado un comando de tarjeta inteligente con la tarjeta inteligente que el lector construyó a partir de contenidos de un registro. 0, puede generar una firma de lector sobre uno de los registros automáticamente cuando deja el modo de registro seguro.
En algunas modalidades, el lector soporta comandos de lector para recuperar los contenidos de un archivo de registro. En algunas modalidades, el lector puede permitir la recuperación de los contenidos de algunos archivos de registro y no de otros archivos de registro. En algunas modalidades, los contenidos de algunos archivos de registro pueden recuperarse únicamente una vez que el lector ha generado una firma sobre sus contenidos. En algunas modalidades, los contenidos de los archivos de contenido no pueden recuperarse del lector. En algunas modalidades, los contenidos de algunos archivos de registro pueden recuperarse juntos con una firma del lector sobre estos contenidos.
Capacidad de configuración de modo de registro seguro .
En algunas modalidades, ciertos aspectos de la forma en la que el lector opera cuando está en un modo de registro seguro pueden ser configurarles. Por ejemplo, que datos o eventos debe registrar el lector y en qué registro debe registrarlos el lector pueden ser configurarles. Bajo qué condiciones debe generar el lector una firma y sobre qué datos o archivo de registro también pueden ser configurables . En algunas modalidades, algunos de los parámetros de configuración de modo de registro seguro pueden ser codificados definitivamente en el lector y no pueden cambiarse. En algunas modalidades parámetros de configuración codificados definitivamente pueden ser implícitos ya que son codificados definitivamente en la lógica de que firmware del lector. En otras modalidades, algunos parámetros de configuración pueden ser codificados definitivamente de manera explícita en la forma de valores de parámetro codificados definitivamente. En algunas modalidades, algunos de los parámetros de configuración de modo de registro seguro pueden ser almacenados en memoria no volátil del lector. En algunas modalidades, algunos de los parámetros de configuración de modo de registro seguro que están almacenados en memoria no volátil del lector pueden ser actualizables , por ejemplo, utilizando comandos de lector de actualización de parámetro seguro. En algunas modalidades, algunos de los parámetros de configuración de modo de registro seguro pueden proporcionarse al lector como parte de un comando del lector. En algunas modalidades, algunos parámetros de configuración de modo de registro que son proporcionados al lector como parte de un comando de lector pueden, al menos temporalmente, anular parámetros de configuración de modo de registro seguro que están almacenados en memoria no volátil o que son codificados definitivamente. En algunas modalidades, al menos algunos parámetros de configuración de modo de registro seguro que son codificados definitivamente pueden ser anulados con parámetros de configuración de modo de registro seguro que están almacenados en la memoria no volátil del lector y que pueden ser actualizables en una forma segura, por ejemplo, utilizando comandos de actualización de parámetro de lector seguro. En algunas modalidades, algunos de los parámetros de configuración de modo de registro seguro pueden proporcionarse al lector como parte de un comando de lector para ingresar a un modo de registro seguro. En algunas modalidades, si se proporcionan algunos parámetros de configuración de modo de registro seguro por medio de un comando de lector, pueden agregarse automáticamente datos representativos de este comando a un archivo de registro. En algunas modalidades, cuando un comando de lector instruye al lector para ingresar a un modo de registro seguro, ese comando puede comprender un grupo de parámetros de configuración de modo de registro seguro y datos representativos de al menos algunos de los parámetros de configuración de modo de registro seguro aplicables a este modo de registro seguro se registran automáticamente.
Fecha de Registro.
En algunas modalidades, el lector (100) puede estar adaptado para registrar la fecha de ciertos datos. El lector (100) puede utilizar el tiempo proporcionado por el reloj (180) para registrar la fecha de datos. Los datos de los que el lector puede registrar la fecha pueden incluir datos que se agregan a uno de los registros, datos que se firman por la tarjeta (98), datos firmados por el lector (100), firmas generadas por la tarjeta, o firmas generadas por el lector. En algunas modalidades, cada artículo de datos que se agrega a un archivo de registro es registrado con la fecha automáticamente. En algunas modalidades únicamente artículos específicos de datos que se agregan a un archivo de registro son registrados con la fecha. En algunas modalidades el lector proporciona una fecha de registro en eventos específicos, tal como el momento en el que el lector ingresa o deja un modo de registro seguro o el momento en el que se solicita u obtiene una firma de una tarjeta, o en momento de ciertas interacciones de usuario tal como presentar datos al usuario para aprobación u obtener aprobación del usuario para datos. En algunas modalidades el lector soporta comandos de lector que permiten instruir al lector a agregar una fecha de registro a un archivo de registro. En algunas modalidades, el lector puede estar adaptado para agregar un elemento de datos que representa el tiempo del lector actual para un archivo de registro, por ejemplo, en respuesta a un comando de lector específico o en respuesta a un evento específico.
Medidas Anti-repetición.
En algunas modalidades, el lector (100) puede estar adaptado para soportar ciertas medidas para impedir ciertos tipos de ataques de repetición. Por ejemplo en algunas modalidades, el lector puede aplicar una fecha de registro a una firma del lector o agregar una fecha de registro a un archivo de registro o a datos que se agregan a un archivo de registro. En algunas modalidades, el lector puede estar adaptado para generar números aleatorios y puede agregar un número aleatorio de los datos que son firmados por el lector o puede agregar un número aleatorio a un archivo de registro. En algunas modalidades, el lector puede mantener un contador que incrementa (o disminuye) de manera monótona cada vez que el lector utiliza su valor, o un equivalente de los mismos, tal como un valor que evoluciona de manera monótona, es decir, un valor que es reemplazado cada vez que se utiliza por una función del valor actual, por ejemplo, un troceo del valor actual. En algunas modalidades, el lector puede agregar tal contador o valor que evoluciona de manera monótona a un archivo de registro a los datos que firma. En algunas modalidades, el lector puede estar adaptado para recibir de una aplicación externa a través de un comando del lector un reto de servidor tal como un número impredecible (que puede comprender un número aleatorio o psuedo-aleatorio) o un valor de tiempo o un valor de contador de servidor y el lector puede agregar este reto de servidor a los datos que el lector firma o a los datos que el lector agrega a un archivo de registro. En algunas modalidades tal reto de servidor puede ser parte de los datos en un comando del lector para instruir al lector a ingresar a un modo de registro seguro. En algunas modalidades tal reto de servidor puede ser parte de los datos que la aplicación envía al lector para ser firmados por la tarjeta. En algunas modalidades tal reto de servidor puede ser parte de los datos que la aplicación envía al lector para ser revisados y aprobados por el usuario.
Comunicaciones seguras con la tarjeta inteligente. En algunas modalidades el lector (100) está adaptado para asegurar sus comunicaciones con la tarjeta inteligente (98) . Por ejemplo, en algunas modalidades el lector puede estar adaptado para autentificar la tarjeta inteligente, por ejemplo, al verificar certificados de la tarjeta inteligente o al verificar Códigos de Autentificación de Mensaje generados por la tarjeta inteligente. En algunas modalidades, el lector puede ser capaz de autentificarse así mismo para la tarjeta inteligente, por ejemplo, al generar Códigos de Autentificación de Mensaje que pueden ser verificados por la tarjeta. En algunas modalidades, el lector puede estar adaptado para generar claves de sesión simétricas que comparte con una tarjeta inteligente insertada. En algunas modalidades, el lector está adaptado para encriptar y/o desencriptar comandos y/o respuestas que intercambian con la tarjeta inteligente. Por ejemplo, el lector puede estar adaptado para encriptar comandos de tarjeta inteligente en los cuales el lector envía datos sensibles a la tarjeta tal como datos biométricos o un PIN o valores de contraseña. En algunas modalidades, el lector puede estar adaptado para desencriptar datos encriptados que vienen de las tarjetas inteligentes tal como por ejemplo datos de referencia biométricos.
Comunicaciones seguras con una aplicación. En algunas modalidades, el lector (100) está adaptado para asegurar sus comunicaciones con una aplicación externa que se comunica con el lector a través de comandos de lector. La aplicación externa puede ejecutarse (en todo o en parte) en una computadora central a la que está conectado el lector. La aplicación externa también puede ejecutarse (en todo o en parte) en un servidor de aplicación remoto que está conectado a través de una red de computadora a una computadora central a la que está conectado el lector. En algunas modalidades, el lector puede compartir una clave secreta con una aplicación externa que puede utilizarse para asegurar las comunicaciones entre el lector y la aplicación. En algunas modalidades, el lector puede estar adaptado para establecer una clave de sesión secreta compartida con la aplicación. En algunas modalidades, el lector puede almacenar una clave privada de un par de clave pública-privada y el lector puede estar adaptado para recibir una semilla encriptada por la aplicación con la clave pública de ese par de clave pública-privada, desencriptar la semilla encriptada y utilizar la semilla desencriptada para establecer una clave de sesión secreta compartida con la aplicación. En algunas modalidades, el lector puede estar adaptado para desencriptar o autentificar comandos o datos que vienen de la aplicación (o que se da a entender que vienen de la aplicación) . En algunas modalidades el lector puede estar adaptado para verificar firmas o códigos de autentificación de mensaje sobre comandos o datos que se entiende que vienen de la aplicación. En algunas modalidades, el lector puede estar adaptado para encriptar respuestas o datos que regresa a la aplicación. En algunas modalidades, el lector puede estar adaptado para utilizar criptografía simétrica con una clave secreta que comparte con la aplicación para desencriptar, encriptar y/o autentificar mensajes y/o datos que el lector intercambia con la aplicación. En algunas modalidades, el lector puede estar adaptado para utilizar criptografía asimétrica con una clave pública que almacena y que está asociada con el proveedor de aplicación o con una autoridad de certificado confiada para autentificar mensajes, comandos o datos que se entiende que vienen de la aplicación (por ejemplo, al verificar firmas de la aplicación sobre tales mensajes, comandos o datos). En algunas modalidades, el lector puede estar adaptado para utilizar criptografía asimétrica con una clave privada que almacena para autentificar (por ejemplo, al firmar) mensajes o datos que regresan o envían una aplicación.
En algunas modalidades, el lector (100) puede adaptarse para desencriptar o autentificar (es decir, verificar el origen) de esta forma los mensajes de aplicación o datos que se intercambian en el contexto de un protocolo de actualización de firmware seguro. En algunas modalidades, el lector puede estar adaptado para desencriptar o autentificar de esta forma mensajes de aplicación o datos que son intercambiados en el contexto de un protocolo de actualización de parámetro seguro. En algunas modalidades, el lector puede estar adaptado para desencriptar o autentificar en esta forma datos (o comandos de aplicación que contienen tales datos) que pretenden revisarse y aprobarse por el usuario y/o firmarse por la tarjeta.
Identificar al lector.
En algunas modalidades, el lector puede estar adaptado para permitir identificación de un lector individual. Por ejemplo, el lector puede almacenar un elemento de datos de identificación (tal como un número de serie) y puede estar adaptado para permitir una aplicación que obtiene el valor de ese elemento de datos de identificación (por ejemplo, a través de algún comando del lector) . En algunas modalidades, la identidad del lector puede ser indicada en un certificado de clave pública que está almacenada en el lector y que puede recuperarse por una aplicación. En algunas modalidades el lector puede almacenar uno o más elementos de datos de identificación que identifican una o más claves públicas almacenadas en el lector y que pueden recuperarse por una aplicación. En algunas modalidades, el lector puede soportar uno o más comandos del lector que permiten a una aplicación recuperar los datos de identificación del lector. En algunas modalidades, el lector incluye los datos de identificación del lector en datos que regresa en respuesta a otros comandos. Por ejemplo en algunas modalidades, el lector puede incluir los datos de identificación del lector en la respuesta del lector a una solicitud de aplicación para recuperar la firma del lector sobre un archivo de registro.
Intercambio y formato de comandos de lector.
En algunas modalidades, el lector soporta comandos de lector que formalmente tienen el mismo formato o estructura como Unidad de Datos de Protocolo de Aplicación (APDU, por sus siglas en inglés, como se definió por ISO/IEC 7816) de tarjeta inteligente genuina, o que tienen un formato y una estructura que es al menos similar lo suficiente a las APDU de tarjeta inteligente genuina para que puedan intercambiarse con el lector de la misma forma y utilizar el mismo software y pila de unidad en la computadora central del lector como comandos de tarjeta inteligente genuina. En algunas modalidades, el lector puede distinguir comandos de lector de comandos de tarjeta inteligente reales con base en contexto o con base en valores de parámetro de los comandos recibidos. Por ejemplo, en algunas modalidades, el lector puede reconocer comandos de lector sobre la base de ciertos valores específicos de los bytes CLA y/o INS en una APDU. En algunas modalidades, el lector puede soportar uno o más comandos que pueden indicar al lector si deben interpretarse comandos subsecuentes como comandos de tarjeta inteligente o como comandos de lector.
En algunas modalidades, pueden utilizarse otros mecanismos para intercambiar comandos de lector, por ejemplo, a través de comandos USB de propiedad.
Modo desconectado.
En algunas modalidades, el lector (100) puede estar adaptado para que también pueda operar cuando no está conectada una computadora central (99) . En tal modo desconectado puede extraerse energía de su propia fuente de energía autónoma. En modo desconectado, el lector puede ser capaz de, por ejemplo, operar como una señal de autentif icación fuerte y generar contraseñas de una sola vez, respuestas a retos o firmas de datos de transacción. Las contraseñas de una sola vez, respuestas a retos y/o firmas de datos de transacción que el lector generar de esa forma en modo desconectado pueden generarse por el lector que aplica un algoritmo que se basa en criptografía simétrica utilizando una clave secreta simétrica que también se conoce como un servidor de verificación. En algunas modalidades el lector puede utilizar una tarjeta inteligente insertada (98) en la generación de las contraseñas de una sola vez, respuestas a retos y/o firmas de datos de transacción. En algunas modalidades, puede utilizarse la tarjeta inteligente para hacer al menos una parte de los cálculos criptográficos en la generación de las contraseñas de una sola vez, respuestas a retos y/o firmas de datos de transacción. En algunas modalidades, el lector puede utilizar la tarjeta inteligente para obtener un valor que utiliza para derivar la clave secreta simétrica a partir de eso entonces la utiliza en la generación de las contraseñas de una sola vez, respuestas a retos y/o firmas de datos de transacción. En algunas modalidades, el lector puede utilizar un valor de tiempo proporcionado por reloj (180) en la generación de las contraseñas de una sola vez, respuestas a retos y/o firmas de datos de transacción. En algunas modalidades, el lector puede utilizar datos que el usuario proporciona al lector a través de interfaz de entrada (152) en la generación de respuestas a retos y/o firmas de datos de transacción. En algunas modalidades, la interfaz de entrada (152) comprende un teclado y el usuario puede escribir los datos. En algunas modalidades, el lector puede enviar las contraseñas de una sola vez generadas, respuestas a retos y/o firmas de datos de transacción al usuario a través de interfaz de salida (151) . En algunas modalidades, la interfaz de salida (151) puede comprender una presentación y las contraseñas de una sola vez generadas, respuestas a retos y/o firmas de datos de transacción pueden presentarse como una secuencia de símbolos, por ejemplo, una secuencia de caracteres decimales, hexadecimales o alfanuméricos .
En algunas modalidades, el lector (100) puede estar adaptado para ser compatible con (Europay-Mastercard-VISA-Programa de Autentificación de Chip (EMV-CAP, por sus siglas en inglés) o que cumple con EMV-CAP Portátil y manual.
En algunas modalidades, el lector tiene un peso y medidas especiales de manera que el lector pueda considerarse un dispositivo manual, portátil. En algunas modalidades, el lector tiene un peso y medidas especiales de manera que el lector puede enviarse al usuario a través de correo en costos moderados. Por ejemplo, en algunas modalidades, el lector puede tener un grosor de menos de 2 cm, un ancho de menos de 10 cm, una longitud de menos de 15 cm, y un peso de menos de 200 gramos. En otras modalidades, el lector puede tener un grosor de menos de 1.5 cm, un ancho de menos de 7 cm, una longitud de menos de 13 cm, y un peso de menos de 110 gramos.
Dispositivo de hardware dedicado.
En algunas modalidades, el lector es un dispositivo de hardware dedicado. En algunas modalidades, el lector también puede ser dedicado para utilizarse en métodos para asegurar acceso de un usuario a una aplicación o para asegurar interacción de un usuario con tal aplicación. En algunas modalidades, la meta principal del lector se va a utilizar en métodos para asegurar acceso de un usuario a una aplicación o para asegurar interacción de un usuario con tal aplicación. En algunas modalidades, con el fin de garantizar la dedicación del lector a su uso como un dispositivo de seguridad, el lector puede estar adaptado para hacer imposible alterar su firmware. En algunas modalidades, con el fin de garantizar la dedicación del lector a su uso como un dispositivo de seguridad, cualquier cambio a o actualización de su firmware es únicamente posible a través de un protocolo de actualización de firmware seguro que está diseñado para asegurar que únicamente una parte confiada con control autorizado pueda actualizar o cambiar el firmware del lector. Esto permite a la parte confiada controlada asegurar que no suceda ninguna actualización de firmware que desearía la dedicación de los lectores a su uso en métodos para asegurar acceso de un usuario a una aplicación o para asegurar interacción de un usuario con tal aplicación. Un dispositivo de propósito general con capacidades de lectura de tarjeta inteligente pero que está abierto en el sentido de que, por ejemplo, un usuario puede actualizar el software sin autorización de la parte confiada de control, no puede considerarse un dispositivo dedicado.
Lector seguro.
En algunas modalidades el lector de tarjeta inteligente es un lector seguro. Esto significa que la interfaz de entrada de usuario de lector es una interfaz de entrada de usuario segura y que la interfaz de salida de usuario del lector es una interfaz de salida de usuario segura. También significa que el firmware y datos sensibles de seguridad del lector (que pueden comprender claves criptográficas y/o datos de configuración que parametrizan ciertas funciones de seguridad) pueden no ser cambiados o actualizados, o únicamente puede ser cambiados o actualizados por medio de protocolo de actualización seguro que únicamente permite a una parte confiada a hacer el cambio o actualización.
La Figura 2 ilustra un sistema para conducir transacciones seguras de conformidad con un aspecto de la invención. El sistema comprende un lector de tarjeta inteligente seguro (100) tal como un lector discutido en conexión con la Figura 1, una computadora central (99) a la cual puede conectarse el lector de tarjeta inteligente (100) , uno o más servidores de aplicación remotos (200) , y una red de computadora (210) que puede conectarse a la computadora central (99) y al uno o más servidores de aplicación remotos (200) . El sistema además comprende una tarjeta inteligente (98) asociada con un usuario que puede insertarse en el lector de tarjeta inteligente (100).
La computadora central (99) puede comprender una interfaz de usuario tal como una presentación y un teclado y un ratón para interactuar con un usuario. La computadora central (99) puede comprender una interfaz de red para conectar la computadora central (99) a una red de computadora (210) . La computadora central (99) puede comprender medios de procesamiento de datos tal como un microprocesador. La computadora central (99) puede comprender una memoria. La computadora central (99) puede comprender software tal como un sistema operativo y software de aplicación. En una modalidad típica la computadora central (99) puede comprender una PC o una laptop. La computadora central (99) puede comprender una interfaz para intercambiar datos y/o comandos y/o respuestas con hardware periférico tal como, por ejemplo, el lector de tarjeta inteligente (100) . Esta interfaz, por ejemplo, puede comprender una interfaz USB.
El servidor de aplicación remoto (200) puede comprender un servidor web. El servidor de aplicación remoto puede comprender múltiples componentes de software que se ejecutan en múltiples componentes de hardware. El servidor de aplicación remoto puede interactuar con software en la computadora central. El servidor de aplicación remoto y/o software en la computadora central pueden ser componentes de una aplicación general. En algunas modalidades, algunos componentes de tal aplicación general pueden ser operados por o a nombre de diferentes actores. Por ejemplo, en algunas modalidades, la aplicación general puede comprender componentes que son operados o a nombre de un usuario o cliente, otros componentes que son operados por o a nombre de un comerciante, y/o incluso otros componentes que son operados por o a nombre de una institución financiera. El uno o más servidores de aplicación remotos pueden comprender más de un servidor de aplicación remoto por lo cual pueden cobrarse diferentes servidores con diferentes funciones. Por ejemplo, en algunas modalidades, el usuario puede interactuar con un servidor para enviar datos de transacción a una aplicación, mientras otro servidor puede ser responsable de verificar firmas de tarjeta y/o lector sobre, por ejemplo, los datos de transacción.
La red de computadora (210) puede, por ejemplo, comprender Internet .
En algunas modalidades, la tarjeta inteligente (98) puede, por ejemplo, comprender una tarjeta inteligente PKI capaz de generar firmas utilizando criptografía asimétrica con la clave privada de un par de clave pública-privada. La tarjeta inteligente (98) puede almacenar y utilizar de manera segura la clave privada de un par de clave pública-privada. La tarjeta inteligente (98) también puede almacenar una clave pública de un par de clave pública-privada y/o un certificado asociado con la clave pública de un par de clave pública-privada. Operaciones que utilizan la clave privada de un par de clave pública-privada almacenado en la tarjeta inteligente (98) pueden protegerse mediante un PIN.
En algunas modalidades, la tarjeta inteligente (98) puede, por ejemplo, comprender una tarjeta inteligente capaz de generar criptogramas que utilizan criptografía asimétrica con una clave secreta. La tarjeta inteligente (98) puede almacenar y utilizar de manera segura la clave secreta.
Operaciones que utilizan la clave secreta almacenada en la tarjeta inteligente (98) pueden protegerse por un PIN. En algunas modalidades, la tarjeta inteligente (98) puede ser compatible con EMV, o que cumple con EMV o puede comprender una aplicación de tarjeta inteligente compatible con EMV o que cumple con EMV.
En algunas modalidades, una aplicación que se accede por el usuario a través de la computadora central y que interactúa con el lector de tarjeta inteligente (100) para asegurar este acceso a la aplicación del usuario, puede ejecutarse o alojarse por el servidor de aplicación remoto (200) . En algunas modalidades, pueden ejecutarse o alojarse partes de esta aplicación por el servidor de aplicación remoto (200) y pueden ejecutarse o alojarse partes de la aplicación por la computadora central (99) . En algunas modalidades, la aplicación puede ejecutarse o alojarse por la computadora central (99) y el servidor de aplicación remota (200) en cuyo caso, la red de computadora (210) puede ser opcional o estar ausente. En algunas modalidades, algunos componentes de la aplicación pueden ser operados por o a nombre de diferentes actores. Por ejemplo, en algunas modalidades, la aplicación puede comprender componentes que son operados o a nombre de un usuario o cliente, otros componentes que son operados por o a nombre de un comerciante, y/o incluso otros componentes que son operados por o a nombre de una institución financiera.
En algunas modalidades, la aplicación puede comprender una banca de web o aplicación de banca por Internet, el servidor de aplicación remoto (200) puede comprender un servidor web que puede ser un extremo frontal web de un servidor de banca de extremo posterior y la computadora central (99) puede conectarse al servidor web a través de Internet (210) y puede comprender un navegador web que el usuario puede utilizar para acceder a la aplicación de banca de web en Internet (210) .
Las Figuras 3a y 3b ilustran un método de conformidad con un aspecto de la invención para asegurar transacciones remotas.
Proporcionar un lector a un usuario.
En el paso (302) puede proporcionarse un lector de tarjeta inteligente seguro (100) tal como un lector descrito en conexión con la Figura 1 a un usuario. En algunas modalidades, un propietario de aplicación proporciona un lector adecuado a uno o más usuarios de aplicación. En algunas modalidades, una aplicación alienta a los usuarios de aplicación a procurar un lector adecuado. En algunas modalidades una aplicación proporciona información a usuarios de aplicación sobre cómo obtener un lector adecuado.
Conectar el lector a la computadora central del usuario. En el paso (304) un lector de tarjeta inteligente seguro (100) que pudo haber sido proporcionado al usuario es conectado a una computadora central (99) que puede utilizarse por el usuario.
El usuario que accede a la aplicación.
En el paso (306) el usuario accede a una aplicación utilizando una computadora central (99) a la cual puede conectarse el lector de tarjeta inteligente seguro (100) . En algunas modalidades, la aplicación puede, por ejemplo, comprender una aplicación alojada por un servidor de aplicación remoto (200) . En otras modalidades, la aplicación puede comprender una aplicación de software ejecutadas por la computadora central. Incluso en otras modalidades, la aplicación puede comprender una aplicación de cliente-servidor que comprende un módulo de software de cliente que se ejecuta en la computadora central y uno o más módulos de software de servidor que se ejecutan en uno o más servidores remotos (200) . En una modalidad, la aplicación puede comprender un editor de texto. En otra modalidad, la aplicación puede comprender un programa de correo electrónico. Incluso en otra modalidad, la aplicación puede comprender una aplicación financiera tal como una aplicación de banca por Internet. En una modalidad, el usuario puede acceder a una aplicación a base de web remota que utiliza un navegador web que se ejecuta en su computadora central.
El usuario que inicia una transacción.
En el paso (308) el usuario puede interactuar con la aplicación, por ejemplo, en la computadora central o el servidor remoto, por ejemplo, para iniciar una transacción.
Durante la interacción del usuario con la aplicación, el usuario puede enviar una transacción a la aplicación. Por ejemplo, el usuario puede suministrar a un sitio web de banca por Internet los detalles de una transferencia de dinero que el usuario desea realizar, o el usuario puede indicar su deseo de comprar ciertos artículos en un sitio web de comerciante, o el usuario puede aprobar o contratar o puede escribir un correo electrónico o una carta que se va a firmar .
Ensamble de datos que se van a firmar.
En el paso (310) la aplicación, por ejemplo, en la computadora central o en un servidor remoto, ensambla un grupo de datos que se van a firmar digitalmente por el usuario, por ejemplo, datos representativos de la transacción iniciada por el usuario. Este grupo de datos, por ejemplo, puede comprender un documento o un correo electrónico que se va a firmar o puede, por ejemplo, comprender datos que representan o que están relacionados con una transacción financiera que el usuario desea realizar. Los datos que se van a firmar pueden comprender, por ejemplo, datos relacionados con una transferencia de dinero que al usuario le gustaría hacer, tal como, por ejemplo, la cantidad de dinero que se va a transferir, un indicador de divisa, una indicación del destino (por ejemplo, un número de cuenta de destino) al cual se debe transferir el dinero, y/o una indicación de la fuente (por ejemplo, un número de cuenta de fuente) de la cual se va a tomar el dinero que se va a transferir. En otro caso los datos que se van a firmar pueden, por ejemplo, estar relacionados con una orden de intercambio de acciones tal como, por ejemplo, para la venta o la adquisición de un número de acciones. Los datos pueden comprender, por ejemplo, un indicador del tipo de acción que se va a comercializar, un indicador del número de acciones que se va a comercializar, el tipo de comercio (venta, compra,...), el precio, periodo de validez,...
Inserción de tarjeta inteligente.
En algún punto (312) se solicita al usuario insertar la tarjeta inteligente del usuario en el lector y el usuario inserta la tarjeta inteligente en el lector. A partir de en este momento en la aplicación y el lector puede iniciar el intercambio de comandos de tarjeta inteligente con la tarjeta inteligente insertada. En algunas modalidades insertar una tarjeta inteligente implica insertar físicamente una tarjeta inteligente en la ranura de tarjeta inteligente del lector. En otras modalidades (por ejemplo, en modalidades en donde el lector interactúa con una tarjeta inteligente sin contacto utilizando un protocolo de comunicación de tarjeta inteligente sin contacto) insertar la tarjeta inteligente significa colocar la tarjeta inteligente con respecto al lector de manera que sea posible comunicación entre la tarjeta inteligente y el lector de tarjeta inteligente. Por ejemplo, en algunas modalidades, no es necesario insertar físicamente la tarjeta inteligente en el lector sino que la tarjeta inteligente debe llevarse dentro de cierto rango de distancia (por ejemplo, menos de 10 cm) para que sea posible como la comunicación.
Identificar el lector.
En el paso (314) la aplicación, por ejemplo, en la computadora central o en un servidor remoto, identifica al lector. En algunas modalidades la aplicación simplemente establece el tipo de lector. En otras modalidades, la aplicación obtiene una versión del firmware del lector. Incluso en otras modalidades, la aplicación obtiene una indicación de la identidad del lector particular (por ejemplo, un número de serie del lector o una referencia a una clave pública correspondiente a una clave privada almacenada en el lector) . En algunas modalidades, la aplicación puede utilizar mecanismos de lector de tarjeta inteligente USB estándares para recuperar el tipo de lector. En otras modalidades, la aplicación puede utilizar uno o más comandos de lector para recuperar los datos de identificación del lector. En algunas modalidades, la aplicación puede recuperar los datos de identificación del lector como parte de un grupo de datos de lector que también puede comprender otros datos relacionados con lector tal como el estado del lector, el grupo de datos de configuración del lector, la versión de firmware del lector, etc.
El lector ingresa a modo de registro seguro.
En el paso (320) se hace que el lector de tarjeta inteligente seguro ingrese a un modo de registro seguro. En algunas modalidades, el lector puede ingresar al modo de registro seguro en respuesta a un comando de lector específico que instruye al lector a ingresar al modo de registro seguro. En algunas modalidades, el lector puede ingresar al modo de registro seguro como un efecto secundario automático de un comando de lector que instruye al lector a hacer alguna acción, tal como un comando para autentificar al usuario en una forma segura (por ejemplo, mediante una entrada de PIN segura) o un comando para presentar ciertos datos al usuario para aprobación y revisión o un comando para hacer una sesión de firma segura. En algunas modalidades, el lector puede ingresar al modo de registro seguro automáticamente en respuesta a cierto evento tal como un evento de encendido del lector o un evento de inserción de tarjeta inteligente o un evento de encendido o reinicio de tarjeta inteligente. En algunas modalidades, el lector puede estar predeterminado en un modo de registro seguro. En algunas modalidades, el lector siempre está en un modo de regir seguro. En algunas modalidades, el lector iniciará uno o más archivos de registro para un estado particular. Por ejemplo, pueden restablecerse para vaciarse o pueden iniciarse con un grupo de datos que por ejemplo, puede comprender datos de configuración (por ejemplo datos de configuración que afectan el modo de registro seguro) y/o datos indicativos del estado de lector y/o versión de firmware, etc. En algunas modalidades, este inicio puede suceder antes que se haga que el lector ingrese al modo de registro seguro. En algunas modalidades, este inicio puede suceder cuando el lector ingresa al modo de registro seguro. En algunas modalidades, esto puede suceder en algún punto después de que el lector ingresa al modo de registro seguro.
El lector registra datos.
Una vez en el modo de registro seguro, el lector de tarjeta inteligente seguro puede iniciar automáticamente la adición de datos a uno o más archivos de registro (paso 321) . En algunas modalidades, los datos agregados a los archivos de registro comprenden datos representativos de eventos sensibles a seguridad, estados y acciones tal como comandos de lector y/o respuestas, interacciones de usuario (por ejemplo, presentación de datos al usuario y entrada de usuario) con el lector, comandos y/o respuestas de tarjeta inteligente, versión de firmware y/o eventos de cambio de firmware, datos de configuración y/o eventos de cambio de datos de configuración, otros eventos (por ejemplo, eventos que pueden ser indicativos de intentos de alteración o que pueden arriesgar la integridad de la seguridad de lector tal como detección de ciertas manipulaciones mecánicas o electrónicas tal como intentos para abrir al alojamiento o picos de energía o pérdida de energía...) .
El lector registra comandos de tarjeta inteligente.
En algunas modalidades, el lector registra de esta forma datos relacionados con comandos de tarjeta inteligente que intercambia con la tarjeta, por ejemplo, comandos de tarjeta inteligente transparente que el lector recibe de una aplicación para intercambiar con una tarjeta inteligente insertada en el lector (paso 322) . En algunas modalidades, el lector puede registrar de manera sistemática todos los comandos de tarjeta inteligente intercambiados. En algunas modalidades, el lector puede registrar únicamente algunos comandos de tarjeta inteligente intercambiados. En algunas modalidades, el lector puede registrar aquellos comandos de tarjeta inteligente que satisfacen ciertos criterios. Por ejemplo, el lector puede registrar comandos de tarjeta inteligente de cierto tipo. En algunas modalidades, los criterios que el lector utiliza para decidir que comandos registra pueden ser parametrizados mediante parámetros de configuración. Estos parámetros de configuración pueden comprender, por ejemplo, una lista de comandos para registrar o una lista de comandos que no deben registrarse. En algunas modalidades, el lector puede reconocer tipos de comando de tarjeta inteligente sobre la base de los valores de ciertos bytes del encabezado de comando de tarjeta inteligente tal como por ejemplo los bytes CLA, INS, Pl y/o P2. En algunas modalidades, los parámetros de configuración que determinan qué comandos de tarjeta inteligente (y/o las respuestas de tarjeta correspondientes) se registrarán y, si es aplicable, en qué archivo de registro, se comunican al lector mediante la aplicación, por ejemplo, por medio de algún comando de lector, por ejemplo, un comando de lector que instruye al lector a ingresar al modo de registro seguro.
El lector registra comandos de lector.
En algunas modalidades, el lector registra datos relacionados con comandos de registro que recibe (paso 323) . En algunas modalidades, el lector puede registrar de manera sistemática todos los comandos de lector intercambiados. En algunas modalidades, el lector puede registrar únicamente algunos comandos de lector intercambiados .
Establecer parámetros de configuración de registro seguro .
En algunas modalidades, la aplicación instruye al lector por medio de un comando de lector a ingresar al modo de registro seguro y pasa (paso 316) el lector, por medio del mismo comando del lector o uno o más comandos del lector extra, un grupo de parámetros de configuración de modo de registro seguro que puede determinar qué datos debe registrar el lector en el modo de registro seguro, tal como, por ejemplo que comandos de tarjeta inteligente registrar, que comandos de lector registrar, que interacciones de usuario registrar (por ejemplo, que mensajes de usuario y/o datos el lector presenta al usuario y que respuestas de usuario recibe el lector del usuario) , que otros eventos (por ejemplo, eventos de error) registrar. En algunas modalidades el lector registra automáticamente los parámetros de configuración relevantes y/o cualquier cambio a estos parámetros de configuración. En algunas modalidades, la aplicación puede pasar parámetros de configuración de modo de registro seguro al lector por medio de uno o más comandos del lector. En algunas modalidades, el lector puede pasar parámetros de configuración de modo de registro seguro al lector por medio del mismo comando de lector para instruir al lector a ingresar al modo de registro seguro. En algunas modalidades, la aplicación utiliza uno o más de otros comandos de lector para pasar los parámetros de configuración de modo de registro seguro al lector. En algunas modalidades, el lector puede pasar parámetros de configuración de modo de registro seguro al lector antes de que el lector ingrese al modo de registro seguro. En algunas modalidades, el lector puede pasar parámetros de configuración de modo de registro seguro al lector después de que el lector ingresa al modo de registro seguro.
Registrar revisión y aprobación de datos de transacción .
En algunas modalidades, el lector, cuando está en modo de registro seguro, se hace que registre (paso 324) al menos datos (o una representación de tales datos tal como un compendio o un troceo de tales datos) que el lector presenta al usuario y que el usuario revisa y prueba (o desaprueba) . En algunas modalidades, el lector registra los datos que presenta para revisión y aprobación y registra la decisión (aprobación o rechazo) del usuario. En algunas modalidades el lector registra únicamente los datos que han sido presentados al usuario y que el usuario ha revisado y aprobado (si lector no registra datos que ha rechazado el usuario) . En algunas modalidades, el lector registra los comandos del lector (o una representación de tales comandos tal como un troceo de los comandos del lector o partes de los comandos del lector) que la aplicación utiliza para comunicar al lector los datos que se van a revisar y aprobar y registra las respuestas del lector a la aplicación para indicar la aprobación o rechazo del usuario.
En algunas modalidades, el lector, cuando está en modo de registro seguro, se hace que registre (paso 336) al menos datos (o una representación de tales datos tal como un compendio o un troceo, o incluso una firma de tarjeta sobre estos datos) que la aplicación envía a la tarjeta para firma.
En algunas modalidades esto puede hacerse por el lector que registra los contenidos del comando de tarjeta inteligente que se utiliza para pasar los datos que se van a firmar a la tarjeta. En algunas modalidades esto se hace al registrar la respuesta de tarjeta que contiene la firma de tarjeta sobre los datos que se van a firmar. En algunas modalidades el lector se hace para registrar todos los comandos de tarjeta inteligente que pueden utilizarse por una aplicación para dejar los datos de firma de tarjeta. En algunas modalidades, el lector registra todos los comandos de tarjeta inteligente transparente que la aplicación envía a la tarjeta a través del lector cuando el lector está en un modo de registro seguro. En algunas modalidades, el lector registra todos los comandos de tarjeta de registro transparente que la aplicación envía a la tarjeta a través de lector cuando el lector está en modo de registro seguro y que satisfacen algunos criterios. En algunas modalidades, estos criterios son parte de los datos de configuración del lector para el modo de registro seguro. En algunas modalidades, estos criterios pueden establecerse de manera que se asegure que esos comandos de tarjeta inteligente son registrados para indicar o determinar qué datos han sido o serán firmados por la tarjeta. En algunas modalidades, el lector registra una firma de tarjeta inteligente sobre los datos que van a ser firmados además de o en lugar de los datos que van a ser firmados por sí mismos.
En algunas modalidades, el lector, cuando está en modo de registro seguro, se hace que registre al menos ambos datos (o una representación de tales datos) que el lector presenta al usuario (como se describió anteriormente) y que el usuario revisa y aprueba, así como los datos (o una presentación de tales datos) que la aplicación envía a la tarjeta para firma (como se describió anteriormente) .
Registrar datos de conformidad con criterios En algunas modalidades, el lector está adaptado para registrar cualquier evento, comando de tarjeta inteligente transparente, comando de lector, acción de usuario u otro evento que satisface ciertos criterios. En algunas modalidades, estos criterios pueden ser parte de los datos de configuración del lector. En algunas modalidades, la aplicación en el paso (316) puede establecer o cambiar al menos algunos de los datos de configuración del lector. Por ejemplo, en algunas modalidades, la aplicación puede instruir al lector a ingresar al modo de registro seguro y aplicar ciertos datos de configuración que pueden comprender algunos de los criterios que el lector puede utilizar para decidir que eventos, comandos de tarjeta inteligente, acciones de lector o acciones de usuario registra.
Registrar datos de configuración.
En algunas modalidades, el lector automáticamente registra (paso 318) todos o parte de los datos de configuración que aplica para decidir que registrar. En algunas modalidades, el lector registra automáticamente los datos de configuración que recibió de la aplicación y que aplica para decidir que registrar.
Intercambiar comandos de tarjeta inteligente transparente .
En el paso (328) la aplicación envía una serie de uno o más comandos de tarjeta inteligente transparente al lector de tarjeta inteligente seguro para que el lector intercambie con la tarjeta inteligente insertada en el lector de tarjeta inteligente y para regresar las respuestas de tarjeta a estos comandos de tarjeta inteligente a la aplicación. En algunas modalidades, la aplicación intercambia estos comandos con el lector a través de una pila de software estándar en la computadora central del lector para intercambiar comandos de tarjeta inteligente con una tarjeta inteligente insertada en un lector de tarjeta inteligente. En algunas modalidades, esta pila de software puede comprender un controlador USB de Dispositivo de Interfaz de Tarjeta de Circuito integrado (CCID, por sus siglas en inglés) y/o un componente de PC/SC. Como se mencionó anteriormente, en algunas modalidades el lector puede, cuando está en un modo de registro seguro, agregar datos relacionados con todos o algunos de estos comandos de tarjeta inteligente y/o las respuestas de tarjeta correspondientes a uno o más de los archivos de registro del lector. En algunas modalidades, el lector puede soportar una interfaz de contacto y puede intercambiar comandos con una tarjeta inteligente a través de contactos galvánicos. En algunas modalidades, el lector puede soportar una interfaz de tarjeta inteligente sin contacto y puede intercambiar comandos con una tarjeta inteligente utilizando un protocolo de comunicación sin contacto tal como por ejemplo el protocolo ISO/IEC 14443. En algunas modalidades, el lector de tarjeta inteligente comprende una ranura de tarjeta inteligente para insertar una tarjeta inteligente.
Aplicar cortafuegos a comandos de tarjeta inteligente .
En algunas modalidades, el lector puede someter (paso 326) estos comandos de tarjeta inteligente a un cortafuegos antes de intercambiarlos con la tarjeta inteligente. En algunas modalidades, el lector puede bloquear algunos comandos de tarjeta inteligente con base en ciertos criterios.
En algunas modalidades, la aplicación puede intercambiar, por ejemplo, comandos de tarjeta inteligente transparente con la tarjeta inteligente para seleccionar una función en la tarjeta para generar firmas y/o para seleccionar un perfil o ambiente de seguridad en la tarjeta y/o para leer datos de la tarjeta tal como por ejemplo datos relacionados con el usuario y/o una clave pública asociada con el usuario (por ejemplo, un certificado) .
Verificar identidad de usuario En el paso (330) el lector puede verificar la identidad del usuario. Por ejemplo, el lector puede hacer una entrada de PIN segura. El lector puede incitar al usuario a ingresar un PIN, capturar el PIN que el usuario ingresa y enviar el PIN a la tarjeta inteligente para verificación por la tarjeta inteligente. En algunas modalidades, la aplicación instruye al lector a hacer una entrada de PIN segura por medio de uno o más comandos de lector de entrada de PIN seguros. En otras modalidades, el lector verifica la identidad del usuario por medio de un método de autentificación de usuario biométrico que puede basarse, por ejemplo, en huellas digitales. En algunas modalidades, el lector puede registrar la verificación de identidad de usuario. Por ejemplo, el lector puede registrar si la verificación de identidad de usuario sucedió y/o cual fue el resultado de verificación de identidad de usuario.
Aprobación de datos de transacción.
En el paso (331) la aplicación envía datos (por ejemplo, datos de transacción) al lector para presentarse al usuario para revisión y aprobación por el usuario. En algunas modalidades, la aplicación utiliza comandos del lector específicos para enviar estos datos al lector. El lector puede presentar estos datos al usuario (por ejemplo, al presentar los datos en la presentación del lector) e incitar al usuario a revisar los datos e indicar aprobación de rechazo. El lector puede capturar (332) la aprobación o rechazo del usuario (que el usuario puede indicar, por ejemplo, al presionar un botón de OK o Cancelar) . El lector puede regresar a la aplicación la decisión del usuario para aprobar o rechazar. En algunas modalidades, la aplicación puede abortar la transacción si el usuario no aprobó los datos .
En modalidades típicas, el lector registra (333) los datos presentados a y/o aprobados por el usuario (o una representación de estos datos tal como por ejemplo un compendio de troceo) . En algunas modalidades, electrónicamente registra los datos si el usuario los aprobó. En algunas modalidades el lector registra los datos sin importar si el usuario los aprobó o los rechazó y también registra la decisión del usuario (es decir, si el usuario aprobó o rechazó los datos) . En algunas modalidades, el lector registra los datos y un elemento de datos que indica el resultado del usuario. En algunas modalidades, el lector únicamente registra los datos que han sido revisados si el usuario los aprobó de manera que el hecho que el lector registró estos datos sea una indicación en el archivo de registro que el usuario revisó y aprobó estos datos. En algunas modalidades, el lector registra el (los) comando(s) de lector que contiene (n) los datos que se van a revisar y aprobar por el usuario y también registra la(s) respuesta (s) correspondiente (s) que contiene (n) una indicación de la decisión del usuario.
Firma mediante la tarjeta de datos de transacción. En el paso (334), si el usuario ha aprobado los datos, se hace que la tarjeta inteligente firme un grupo de datos. En una modalidad típica, la aplicación puede generar un compendio sobre los datos que se van a firmar (por ejemplo, al aplicar una función de troceo criptográfica a los datos) y puede enviar el compendio o troceo a la tarjeta inteligente después de lo cual la tarjeta inteligente firma el compendio o troceo enviado. En algunas modalidades, la aplicación puede enviar los datos que van a ser firmados directamente a la tarjeta inteligente. En algunas modalidades, la tarjeta inteligente puede generar un compendio o troceo sobre los datos que se van a firmar que recibió de la aplicación y firmó ese compendio o troceo. En algunas modalidades, los datos que se van a firmar y los datos que se van a revisar y aprobar por el usuario son idénticos. En algunas modalidades, los datos que se van a firmar comprenden los datos que se van a revisar y aprobar, pero también pueden comprender otros datos (tal como, por ejemplo, un reto aleatorio que no tiene significado para el usuario y por lo tanto no necesita ser revisado y aprobado, sino que puede servir para prevenir ciertas clases de ataques de repetición) . En algunas modalidades, los datos que se van a revisar y aprobar comprenden los datos que se van a firmar pero también comprenden información adicional que no es enviada a la tarjeta para firma. En modalidades típicas, existe al menos un traslape parcial por un lado los datos que se van a revisar y a probar y por otro lado los datos que se van a firmar. En algunas modalidades, sin embargo, no existe ningún traslape literal directo entre por un lado los datos de se van a revisar y a probar y por otro lado los datos que se van a firmar, pero puede existir una relación, por ejemplo, con respecto al significado de estos datos. Por ejemplo, los datos que se van a firmar pueden comprender un contrato completo y los datos que se van a revisar y aprobar pueden comprender un sumario corto del contrato.
En modalidades típicas, la aplicación envía los datos que se van a firmar por medio de comandos de tarjeta inteligente transparente que intercambia con la tarjeta inteligente. En tales modalidades, el lector puede no tener ningún conocimiento o puede no requerir conocimiento con respecto al grupo de comandos que puede utilizarse para dejar a una firma de tarjeta datos que se van a firmar. Por ejemplo, en algunas modalidades, la aplicación puede enviar un comando de tarjeta inteligente transparente a la tarjeta inteligente para seleccionar el ambiente de seguridad apropiado (que puede, por ejemplo, seleccionar la clave privada que subsecuentemente utilizará la tarjeta) . La aplicación puede enviar uno o más comandos de tarjeta inteligente transparente a la tarjeta inteligente para enviar a la tarjeta inteligente un compendio o troceo de los datos que se van a firmar, o la aplicación puede enviar uno o más comandos de tarjeta inteligente transparente a la tarjeta inteligente para enviar a la tarjeta inteligente los datos que se van a firmar asimismo si la tarjeta inteligente puede calcular un compendio o troceo (por ejemplo, automáticamente o al recibir un comando explícito de la aplicación para hacerlo) . La tarjeta inteligente entonces puede firmar el compendio o troceo recibido o generado. En algunas modalidades, se utiliza el mismo comando de tarjeta inteligente al mismo tiempo para enviar a la tarjeta inteligente los datos que se van a firmar o un compendio o troceo sobre los datos que se van a firmar e instruyen a la tarjeta inteligente a generar la firma real. En otras modalidades pueden utilizarse diferentes comandos de tarjeta inteligente para por un lado enviar a la tarjeta inteligente los datos que se van a firmar o un compendio o troceo sobre los datos que se van a firmar y por otro lado para instruir a la tarjeta inteligente a generar la firma real. En algunas modalidades todos o algunos de estos comandos de tarjeta inteligente relacionados con generar firma sobre datos pueden ser conocidos como comandos de Realizar Operación de Seguridad (PSO, por sus siglas en inglés) .
En otras modalidades, la aplicación utiliza comandos de lector de firma segura que instruyen al lector a presentar ciertos datos al usuario para revisión y aprobación y (si el usuario aprueba los datos) enviar los datos aprobados (o un grupo de datos relacionados con los datos aprobados) a la tarjeta inteligente para firma. En tales modalidades, el lector puede tener incorporado o configurado el conocimiento con respecto al grupo de comandos que pueden utilizarse para dejar una firma de tarjeta datos que se van a firmar de manera que pueda construir los comandos correctos. En algunas modalidades, la aplicación puede pasar la información del lector sobre cómo construir los comandos de firma.
Registrar datos firmados por la tarjeta.
En modalidades típicas el lector registra, en el paso (336) , los datos (o datos representativos de estos datos tal como compendio o troceo) que han sido firmados por la tarjeta. En algunas modalidades, el lector registra todos los comandos de tarjeta inteligente transparente (al menos por cierto tiempo) de manera que también se registren automáticamente cualquiera de los comandos de tarjeta inteligente transparente que la aplicación utiliza para enviar datos a la tarjeta para firma. En algunas modalidades, el lector está configurado para registrar automáticamente todos los comandos de tarjeta inteligente transparente que satisfacen ciertos criterios y estos criterios están configurados de manera que también cualquiera de los comandos de tarjeta inteligente transparente que utiliza la aplicación para enviar datos a la tarjeta para firma se registren automáticamente. En modalidades típicas, el lector no tiene ningún conocimiento sobre cómo reconocer comandos de tarjeta inteligente que se utilizan para enviar a la tarjeta datos que se van a firmar. En algunas modalidades, el lector registra también las respuestas de tarjeta que corresponden a los comandos de tarjeta inteligente que se van a registrar. En algunas modalidades, algunos comandos de tarjeta inteligente pueden registrarse sin las respuestas de tarjeta correspondientes. En algunas modalidades, algunas respuestas de tarjeta pueden registrarse sin los comandos de tarjeta inteligente correspondientes. En algunas modalidades, electrónicamente registra los datos que se van a firmar (o una representación de los mismos tal como un troceo) . En algunas modalidades, electrónicamente registra la firma de la tarjeta (que puede considerarse como una representación de los datos que se van a firmar) . En algunas modalidades, el lector registra tanto los datos que se van a firmar (o una representación de los mismos tal como un troceo) y la firma de la tarjeta correspondiente.
Recuperar firma de tarjeta.
En el paso (338) la aplicación recupera la firma de tarjeta que la tarjeta generó sobre los datos que se van a firmar, por ejemplo, al recibir la respuesta de tarjeta a un comando de tarjeta inteligente de firma.
Generar firma de lector sobre archivo (s) de registro .
En el paso (340) el lector genera una firma de lector sobre los datos registrados. En algunas modalidades, el lector genera la firma de registro utilizando un algoritmo de firma con base en criptografía asimétrica y utilizando una clave privada del lector de un par de clave pública-privada por lo cual esa clave privada es almacenada de manera segura en el lector. En algunas modalidades, el lector genera la firma de registro utilizando un algoritmo con base en criptografía asimétrica y utilizando una clave del lector secreta almacenada de manera segura en el lector y con ello esa clave del lector secreta puede compartirse con algún servidor de verificación. En una modalidad típica todos los datos registrados son registrados en un archivo de registro individual y el lector genera una firma de registro individual sobre ese archivo de registro individual . En algunas modalidades, el lector puede utiliza múltiples archivos de registro para registrar datos y puede firmar algunos archivos de registro separadamente de manera que la firma de registro comprenda las múltiples firmas sobre los archivos de registro firmados de manera separada. Por ejemplo, en algunas modalidades, el lector puede registrar comandos de lector o datos para revisión y aprobación en un archivo de registro y puede registrar comandos de tarjeta inteligente transparente en otro archivo de registro y generar firmas sobre cada uno de estos archivos de registro de manera que la firma de registro del lector comprenda tanto la firma de lector sobre el archivo de registro con los comandos del lector registrados o datos para revisión y aprobación y la firma de lector sobre el archivo de registro con los comandos de tarjeta inteligente transparente.
Recuperar la firma del lector generada En el paso (342) la aplicación recupera la firma (s) de lectura que el lector generó sobre uno o más registros. En algunas modalidades, la aplicación también puede recuperar los contenidos de los mismos registros firmados. En algunas modalidades, la aplicación también puede recuperar del lector uno o más certificados relacionados con una o más claves (que pueden comprender claves privadas o pares de clave pública-privada) que se utilizaron por el lector para generar la firma del lector sobre el registro. En algunas modalidades, la aplicación también puede recuperar del lector una o más claves públicas correspondientes a claves privadas de pares de clave pública-privada que se utilizaron por el lector para generar la firma del lector sobre el registro. En algunas modalidades la aplicación también puede recuperar de los datos de identificación del lector que la aplicación puede utilizar para obtener (por ejemplo, al consultar una base de datos) una o más claves públicas y/o certificados relacionados con una clave utilizada por el lector para generar una firma del lector sobre un archivo de registro.
Verificación de que el usuario en efecto ha aprobado la transacción.
Después de que han enviado los datos de transacción a la aplicación y el usuario ha revisado los datos que se van a revisar y aprobar y la tarjeta ha firmado los datos que se van a firmar, la aplicación puede verificar si todo ocurrió de conformidad con las políticas de seguridad aplicables de la aplicación. Por ejemplo, con el fin de excluir o minimizar el riesgo de un ataque de intermediario por lo cual un atacante interfiere con la transacción al reemplazar los datos de transacción que el usuario pretendió enviar a la aplicación con datos fraudulentos (por ejemplo, el atacante pudo haber cambiado el número de cuenta de destino en una transacción o transferencia de dinero) , la aplicación puede verificar si los datos de transacción que se enviaron por el usuario a la aplicación corresponden efectivamente a los datos que el usuario revisó y aprobó en el lector seguro y firmados con la tarjeta. Con el fin de hacer esta verificación, la aplicación puede verificar la firma de tarjeta y la firma del lector en el registro de archivo y verificar si los contenidos del (de los) archivo (s) de registro firmado (s) corresponde (n) con los eventos que deben haber ocurrido de acuerdo con las expectativas y políticas de seguridad de la aplicación. En una modalidad típica, las políticas de seguridad de la aplicación requieren que una representación de los datos de transacción se revise y apruebe por el usuario en el lector seguro y que se firme una representación de los mismos datos de transacción mediante la tarjeta. En algunas modalidades, la aplicación además puede requerir que el usuario revise y apruebe que la firma de tarjeta suceda en la misma sesión. En algunas modalidades, la aplicación además puede requerir que en esa sesión no se presente ningún otro de los datos al usuario para revisión y aprobación y/o que no se firme ningún otro de los datos por la tarjeta. En una modalidad típica, el lector está configurado para registrar toda la revisión y aprobación de datos de los datos por el usuario en el lector y para registrar todos los datos firmados por la tarjeta (por ejemplo, al registrar un grupo de comandos de tarjeta inteligente transparente que pueden comprender todos los comandos de tarjeta inteligente). En algunas modalidades, la aplicación requiere que los datos de transacción enviados y los datos recibidos y aprobados por el usuario en el lector y los datos firmados por la tarjeta sean los mismos. En algunas modalidades, la aplicación no requiere que estos datos sean idénticos sino que requiere que exista entre ellos alguna relación predefinida. Por ejemplo, en algunas modalidades, los datos revisados por el usuario pueden comprender un subgrupo o sumario de los datos de transacción enviados o de los datos firmados por la tarjeta. Por ejemplo, los datos firmados por la tarjeta pueden comprender además de los datos revisados por el usuario algunos elementos de datos (tal como un número de secuencia de transacción) que pueden no tener ningún significado para el usuario y que por lo tanto no están presentes para la revisión. Por ejemplo, los datos de transacción enviados pueden comprender datos de transacción variables junto con una lista voluminosa de términos y condiciones estándares y únicamente los datos de transacción variables se presentan efectivamente al usuario para revisión en el lector seguro.
En los siguientes pasos ilustrativos la aplicación verifica si los datos correctos han sido revisados y aprobados por el usuario y si los datos correctos han sido firmados por la tarjeta.
Verificación de la firma de tarjeta.
En el paso (344) la aplicación verifica si la firma de la tarjeta corresponde a los datos que la aplicación pretendió que fueran firmados por la tarjeta. Esto puede hacerse por medio de técnicas tradicionales para verificar firmas de datos. Por ejemplo, en una modalidad típica la firma se obtiene al trocear los datos que se van a firmar y la tarjeta que encripta el troceo resultante con su clave privada. En tal caso, la firma puede ser verificada al desencriptar la firma con la clave pública que corresponde a la clave privada de la tarjeta y al comparar el resultado desencriptado con un troceo de los datos que se presume que han sido firmados por la tarjeta.
Verificación o ensamble de la copia de aplicación del archivo de registro En el paso (346) la aplicación verifica o ensambla los contenidos del (de los) registro(s) que ha firmado el lector.
En algunas modalidades, la aplicación ha recuperado del lector los contenidos de los registros firmados y verifica si estos contenidos son consistentes con los eventos y acciones que la aplicación asume que han sucedido. Por ejemplo, la aplicación puede verificar si el registro indica si se han presentado datos al usuario para revisión y aprobación, que datos han sido presentados al usuario y si el usuario ha aprobado o rechazado estos datos. La aplicación también puede verificar, por ejemplo, si la firma de tarjeta que ha obtenido de la tarjeta ha sido generada durante la misma sesión de registro seguro como la sesión en la cual se aprobaron los datos por un usuario. La aplicación puede verificar, por ejemplo, si la firma de tarjeta ha sido registrada en el mismo archivo de registro que los datos aprobados por un usuario. La aplicación puede verificar, por ejemplo, si ciertas fechas de registro en el archivo de registro están dentro del margen de tolerancia de la aplicación.
En otras modalidades, la aplicación ensambla una supuesta copia del (de los) archivo (s) de registro que el lector ensambla al registrarse asimismo con todas las acciones y eventos que el lector debe registrar y aplicando los mismos mecanismos de registro y reglas que se supone que aplica el lector. Por ejemplo en una modalidad típica, el lector puede, en modo de registro seguro, registrar todos los comandos de lector y de tarjeta inteligente transparente (y sus respuestas correspondientes) que intercambia con la aplicación y la aplicación puede registrar exactamente la misma forma todos los comandos del lector y de tarjeta inteligente transparente que se presume que han sido intercambiados con el lector. Este grupo de comandos del lector y de tarjeta inteligente transparente intercambiados comprende cualquiera de los comandos del lector para presentar datos al usuario para revisión y aprobación y cualquiera de los comandos de tarjeta inteligente transparente para dejar que la tarjeta genere una firma.
Verificación de la(s) firma (s) de lector en el (los) archivo (s) de registro.
En el paso (348) la aplicación verifica si la firma de lector coincide con los contenidos del archivo de registro que recuperó o ensambló. Esto puede hacerse por medio de técnicas tradicionales para verificar firmas de datos. Por ejemplo, en una modalidad típica se obtiene la firma al trocear los datos que se van a firmar y el lector que encripta el troceo resultante con su clave privada. En tal caso, la firma puede ser verificada al desencriptar la firma con la clave pública que corresponde a la clave privada del lector y al comparar el resultado desencriptado con un troceo de los datos (es decir, contenidos del (de los) archivo(s) de registro) que se asume que han sido firmados por el lector.
Verificar si los datos correctos han sido probados por el usuario.
En el paso (350) la aplicación verifica si los datos aprobados por el usuario coinciden con los datos firmados por la tarjeta y/o si los datos aprobados por el usuario coinciden con los datos de transacción enviados. En algunas modalidades (por ejemplo, en modalidades en donde la aplicación ensambla sí misma una copia de aplicación del archivo de registro) esto puede ser implícito. En otras modalidades este paso puede ser explícito (por ejemplo, en modalidades en donde la aplicación recupera los contenidos del archivo de registro, la aplicación puede verificar si los datos que han sido aprobados por el usuario como registrados en el archivo de registro corresponden a los datos que la aplicación pretendió que se revisaran y aprobarán por el usuario) .
Verificación de si los contenidos de archivo de registro firmados son consistentes con datos de transacción.
La aplicación puede verificar si los datos de transacción enviados son consistentes con los datos que de conformidad con el archivo de registro han sido revisados y aprobados por el usuario y/o si los datos de transacción enviados y/o estos datos revisados y aprobados son consistentes con los datos firmados por la tarjeta.
En algunas modalidades, la aplicación puede verificar si ciertas fechas de registro en el archivo de registro son consistentes con el tiempo de ciertos eventos de transacción .
Generar señal de confirmación de aprobación de usuario .
En el paso (352) , con la finalización exitosa de las verificaciones anteriores, la aplicación puede generar una señal que confirma que el usuario aprobó la transacción; de otra forma la aplicación puede generar una señal que indica que la verificación falló.
Ejecutar transacción.
En el paso (354) la aplicación puede actuar en esta señal de confirmación al ejecutar la transacción.
En algunas modalidades, si cualquiera de las verificaciones anteriores falla, la aplicación puede abortar o cancelar la transacción.
Orden de los pasos de método Aunque los pasos del método han sido descritos anteriormente en un orden que pueden realizarse estos pasos en una modalidad típica, en otras modalidades pueden realizarse algunos pasos en otro orden, pueden emitirse algunos pasos, pueden agregarse pasos extra, pueden fusionarse algunos pasos con otros pasos, y algunos pasos pueden comprender sub-pasos que pueden estar entrelazados con sub-pasos de otros pasos.
Por ejemplo, en muchas modalidades la aplicación puede intercambiar comandos de tarjeta inteligente transparente en varios momentos: antes y después de que el lector ingresa al modo de registro seguro, antes y después de que se hace que el lector presente datos para revisión y aprobación para el usuario, antes y después de que se hace que la tarjeta firme datos,... por ejemplo, la aplicación puede intercambiar una serie de comandos de tarjeta inteligente con la tarjeta inteligente antes de ingresar al modo de registro seguro con el fin de determinar el tipo de tarjeta y para leer los certificados de clave pública de la tarjeta (por ejemplo, para determinar la identidad del usuario) y establecer parámetros de configuración de registro del lector en la base de la información de esa forma obtenida (por ejemplo, para indicar que comandos de tarjeta inteligente transparente deben ser registrados, que puede ser una función del tipo de tarjeta inteligente) .
Aunque en una modalidad típica el paso del lector que presenta datos al usuario para revisión y aprobación sucede antes del paso de la tarjeta que firma datos, en algunas modalidades puede que ya se hayan enviado datos a la tarjeta para firma antes de que se pida que el usuario apruebe los datos .
En algunas modalidades, el paso de hacer que el lector ingrese al modo de registro seguro puede coincidir con el paso de enviar al lector los datos que se van a revisar y aprobar por el usuario. Por ejemplo, en algunas modalidades el lector ingresa automáticamente al modo de registro seguro cuando recibe un comando del lector para presentar datos que se van a revisar y aprobar por el usuario.
Ventajas de la Invención En una modalidad típica, el lector y la aplicación se disponen de manera que se asegure que el lector registrará tanto los datos aprobados por el usuario como los datos firmados por la tarjeta. El lector y la aplicación pueden, en una modalidad típica, disponerse también de manera que se asegure que el lector registrará cualquiera de los datos que la aplicación envía durante la sesión de registro segura al lector para revisarse y aprobarse por el usuario y registrará cualquiera de los datos que se envían durante la sesión de registro segura a la tarjeta para firma.
Por ejemplo, en algunas modalidades, el lector puede registrar todos los comandos del lector que pueden utilizarse para instruir al lector a presentar datos a un usuario y el lector también puede registrar un amplio grupo de comandos de tarjeta inteligente transparente (por ejemplo, todos los comandos de tarjeta inteligente transparente) de manera que se asegura que el lector, cuando está en modo de registro seguro, registrará cualquiera de los datos enviados al lector para presentación al usuario y cualquiera de los datos enviados a la tarjeta para firma. En algunas modalidades, la aplicación puede configurar las reglas de registro del lector y el lector siempre registrará las reglas de registro también y la aplicación configura las reglas de registro de manera que el lector registrará cualquiera de los comandos del lector que pueden utilizarse para instruir al lector a presentar datos a un usuario y cualquiera de los comandos de tarjeta inteligente transparente que pueden utilizarse para enviar datos a la tarjeta para firma.
En tales modalidades típicas, la aplicación puede obtener prueba criptográfica que enlaza los datos que se aprobaron por el usuario en un lector seguro con los datos que fueron firmados por la tarjeta. Más específicamente, al verificar la firma de tarjeta, la aplicación puede verificar que datos fueron firmados efectivamente por la tarjeta; al verificar la firma del lector sobre el registro la aplicación además puede verificar que datos fueron revisados y aprobados realmente por el usuario (y la aplicación por supuesto también puede verificar el hecho de que los datos fueron revisados y aprobados efectivamente) ; y al verificar los contenidos del registro y la firma del lector sobre el registro la aplicación puede verificar que la aprobación de datos y la firma de datos se llevaron a cabo en la misma sesión de registro seguro utilizando el mismo lector y que no se aprobó y/o firmó ningún otro dato en esa misma sesión; y la aplicación puede verificar que los datos que fueron aprobados por el usuario coinciden con los datos que fueron firmados al comparar los datos que de conformidad con el registro fueron aprobados por el usuario para los datos que de conformidad con el registro fueron firmados por la tarj eta .
De esta forma, la invención resuelve el sobre problema de seguridad de la técnica previa por lo cual no puede excluirse que los datos que corresponden a una firma de tarjeta no corresponden a los datos que han sido aprobados por el usuario, por ejemplo, en la presentación de una PC no segura. Además, esta solución puede lograrse por un lector de conformidad con la invención que no se requiere que tenga ningún conocimiento sobre el grupo de comandos de tarjeta inteligente de cualquier tarjeta inteligente específica, de manera que el firmware del lector no necesita ser capaz de conocer, interpretar o construir ciertos comandos de tarjeta inteligente para firmar datos. Esto tiene la ventaja de que por un lado el lector puede utilizarse con gran variedad de tarjetas (que tienen grupos de comando muy diferente) y no necesita ninguna actualización de firmware si se va a utilizar un nuevo tipo de tarjeta, aunque al mismo tiempo el firmware del lector puede permanecer relativamente simple con respecto al manejo de comandos de tarjeta inteligente.
En general, en los párrafos anteriores la terminología 'comandos' (tal como en 'comandos de tarjeta' o 'comandos de lector') puede entenderse, o a menos que se aclare de otra forma a partir del contexto, como comprendiendo cualquiera de los comandos por si mismos en un sentido estricto o tanto los comandos por sí mismos así como las respuestas correspondientes.
En general en los párrafos anteriores la terminología 'agregar datos a un archivo de registro' puede entenderse, a menos que se especifique de otra forma o a menos que sea claro o de otra forma a partir del contexto, tanto como agregando los datos al archivo de registro exactamente como están o datos representativos de estos datos (tal como datos que comprenden estos datos o un troceo de estos datos) .
Específicamente, cuando la terminología 'registrar un comando de tarjeta' o 'registrar un comando de lector' se utiliza, entonces esto puede entenderse, a menos que se especifique de otra forma o a menos que se aclare de otra forma a partir del contexto, como comprendiendo registrar el par de comando- espuesta o datos representativos de la carga útil del par de comando-respuesta, es decir, el comando real y la respuesta correspondiente de ese comando o datos representativos de sus cargas útiles respectivas. Por ejemplo, en algunas modalidades algunas partes del comando o de las respuestas tal como valores triviales para ciertos bytes del encabezado de comando de códigos de estado de respuesta pueden omitirse cuando se registran los pares de comando-respuesta . También, en algunas modalidades para algunos pares de comando-respuesta únicamente se está registrando la carga útil de comando real o únicamente la carga útil de respuesta.
Los sistemas y dispositivos mencionados anteriormente han sido descritos con respecto a interacción entre varios componentes. Se puede apreciar que tales sistemas y componentes pueden incluir aquellos componentes o sub-componentes especificados, algunos de los componentes o sub-componentes especificados, y/o componentes adicionales, y de conformidad con varios cambios y combinaciones de los anteriores. Los sub-componentes también pueden implementarse como componentes comunicativamente acoplados a otros componentes en lugar de incluidos dentro de componentes padre (jerárquico) . Adicionalmente , se debe observar que uno o más componentes pueden combinarse en un componente individual que proporciona funcionalidad agregada o dividida en varios sub-componentes separados, o cualquiera o más capas medias, tal como una capa de manejo, puede proporcionarse para acoplarse comunicativamente a tales sub-componentes con el fin de proporcionar funcionalidad integrada. Cualquiera de los componentes aquí descritos también puede interactuar con uno o más de otros componentes no descritos específicamente aquí sino generalmente conocidos por aquellos expertos en la técnica.
Se ha descrito un número de implementaciones . Sin embargo, se entenderá que pueden hacerse varias modificaciones. Por ejemplo, elementos de una o más implementaciones pueden combinarse, eliminarse, modificarse, o complementarse para formar implementaciones adicionales. Incluso como otro ejemplo, los flujos lógicos ilustrados en las figuras no requieren el orden particular mostrado, orden secuencial, para lograr resultados deseables. Además, pueden proporcionarse otros pasos, o pueden eliminarse pasos, a partir de los flujos descritos, y pueden agregarse otros componentes a, o removerse de, los sistemas descritos. Por ejemplo, módulos o componentes no necesitan realizar toda, o cualquiera, de la funcionalidad atribuida a ese módulo en las implementaciones descritas anteriormente, y toda o parte de la funcionalidad atribuida a un módulo o componente que puede realizarse por otro módulo o componente, otro módulo o componente adicional, o no realizarse en lo absoluto. Por consiguiente, otras implementaciones están dentro del alcance de las reivindicaciones anexas.
Además, aunque una característica particular de la presente invención pudo haber sido descrita con respecto únicamente a una de las varias implementaciones, tal característica puede combinarse con una o más de otras características de las otras implementaciones como puede desearse y ser ventajoso para cualquier aplicación dada o particular. Además, al grado que los términos "incluye", "que incluye", "tiene", "contiene", variantes de los mismos, y otras palabras similares se utilizan en cualquiera de la descripción detallada a las reivindicaciones, estos términos pretenden ser inclusivos en una forma similar al término "que comprende" como una palabra de transición abierta sin impedir ninguno de los elementos adicionales u otros.
Aunque varias modalidades de la presente invención han sido descritas anteriormente, se debe entender que han sido presentadas a manera de ejemplo únicamente, y no de limitación. En particular, por supuesto, no es posible describir toda combinación concebible de componentes o metodologías para propósitos de describir el tema reivindicado, pero una persona con conocimientos básicos en la técnica puede reconocer que muchas combinaciones y cambios adicionales de la presente invención son posibles. De esa forma, la amplitud y alcance de la presente invención no debe estar limitada por cualquiera de las modalidades ilustrativas descritas anteriormente sino que debe definirse únicamente de conformidad con las siguientes reivindicaciones y sus equivalentes .
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.

Claims (35)

REIVINDICACIONES Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones :
1.- Una tarjeta inteligente para generar firmas electrónicas en conjunto con una tarjeta inteligente insertada, caracterizada porque comprende: una interfaz de comunicación para comunicarse con una computadora central ; un conector de tarjeta inteligente para comunicarse con la tarjeta inteligente; un primer componente de memoria para almacenar de manera segura una o más claves criptográficas; un segundo componente de memoria para almacenar un registro; una interfaz de usuario que comprende una interfaz de salida de usuario para presentar información al usuario y una interfaz de entrada de usuario para recibir indicaciones de usuario; un componente de procesamiento de datos para comunicarse con la computadora central, comunicarse con la tarjeta inteligente e impulsar la interfaz de usuario; el lector de tarjeta inteligente adaptado para intercambiar comandos de tarjeta inteligente con una tarjeta inteligente utilizando el conector de tarjeta inteligente; el lector de tarjeta inteligente adaptado además puede operar en un modo de registro seguro en donde el lector de tarjeta inteligente se registra en los eventos relacionados con seguridad de registro con relación al lector o el uso del lector; y el lector de tarjeta inteligente adaptado además para generar una firma de lector en el registro utilizando al menos una de una o más claves criptográficas almacenadas en la primera memoria.
2. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque está adaptado además para realizar comandos de lector recibidos de la computadora central y para registrar en el registro al menos algunos de los comandos del lector recibidos.
3.- El lector de tarjeta inteligente de conformidad con la reivindicación 2, caracterizado porque además está adaptado para soportar uno o más comandos de lector para instruir al lector a presentar datos a un usuario para revisión y aprobación por el usuario; y para presentar al usuario los datos para revisión y aprobación utilizando la interfaz de salida; y para capturar la aprobación o rechazo del usuario de los datos para revisión y aprobación utilizando la interfaz de entrada; y para registrar en el registro los datos para revisión y aprobación.
4. - El lector de tarjeta inteligente de conformidad con la reivindicación 3, caracterizado porque además está adaptado para registrar en el registro al menos algunos comandos de tarjeta inteligente transparente intercambiados entre el anfitrión y la tarjeta inteligente.
5. - El lector de tarjeta inteligente de conformidad con la reivindicación 4, caracterizado porque los comandos de tarjeta inteligente transparente que el lector registra comprenden comandos de tarjeta inteligente transparente para enviar a la tarjeta inteligente insertar datos que se van a firmar por la tarjeta inteligente.
6. - El lector de tarjeta inteligente de conformidad con la reivindicación 4, caracterizado porque los comandos de tarjeta inteligente transparente que el lector registra comprenden comandos de tarjeta inteligente transparente para obtener de la tarjeta inteligente insertada una firma de tarjeta electrónica generada sobre datos enviados .
7. - El lector de tarjeta inteligente de conformidad con la reivindicación 4, caracterizado porque el lector está adaptado para registrar todos los comandos de tarjeta inteligente transparente en un período desde un primer punto en el tiempo a un segundo punto en el tiempo.
8. - El lector de tarjeta inteligente de conformidad con la reivindicación 7, caracterizado porque el periodo en donde el lector registra todos los comandos de tarjeta inteligente transparente comprende el periodo en donde los datos que se van a firmar se envían a la tarjeta inteligente insertada o el periodo en donde se obtiene la firma de tarjeta electrónica generada sobre los datos enviados desde la tarjeta inteligente insertada.
9. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque el lector almacena un grupo de datos de configuración que determina al menos en parte que eventos registra el lector.
10. - El lector de tarjeta inteligente de conformidad con la reivindicación 9, caracterizado porque el lector está adaptado para registrar el grupo actual de datos de configuración.
11. - El lector de tarjeta inteligente de conformidad con la reivindicación 10, caracterizado porque el lector soporta uno o más comandos de lector para cambiar el grupo de datos de configuración.
12. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque además comprende un reloj y está adaptado para agregar una o más fechas de registro al registro.
13. - El lector de tarjeta inteligente de conformidad con la reivindicación 12, caracterizado porque el lector está adaptado para agregar una fecha de registro al menos a algunos de los eventos registrados.
14.- El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque además está adaptado para recibir un reto a través de un comando del lector y para registrar el reto recibido.
15. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque además comprende un contador y además está adaptado para registrar un valor relacionado con el contador.
16. - El lector de tarjeta inteligente de conformidad con la reivindicación 15, caracterizado porque el lector además está adaptado para incrementar el valor de contador automáticamente cuando ingresa al modo de registro seguro o cuando genera la firma del lector en el registro.
17. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque el registro comprende múltiples archivos de registro y en donde la firma del lector en el registro comprende múltiples firmas sobre los múltiples archivos de registro.
18. - El lector de tarjeta inteligente de conformidad con la reivindicación 1, caracterizado porque además está adaptado para soportar un comando del lector para verificar la identidad de usuario.
19. - El lector de tarjeta inteligente de conformidad con la reivindicación 18, caracterizado porque además está adaptado para registrar el resultado de verificar la identidad de usuario.
20. - El lector de tarjeta inteligente de conformidad con la reivindicación 18, caracterizado porque además está adaptado para solicitar al usuario en la interfaz de salida de usuario que ingresa un valor de PIN y que capture la interfaz de entrada de usuario un valor de PIN que el usuario ingresó y para enviar el valor de PIN capturado a la tarjeta inteligente insertada para verificación.
21. - Un método para generar una firma electrónica sobre datos que se van a firmar, caracterizado porque comprende los pasos de : conectar un lector de tarjeta inteligente a una computadora central ; insertar una tarjeta inteligente en el lector; el lector ingresa a un modo de registro seguro; enviar al lector datos para revisión y aprobación por un usuario; presentar al usuario por el lector utilizando una interfaz de salida de usuario en el lector los datos para revisión y aprobación por un usuario; capturar por el lector utilizando la interfaz de entrada de usuario en la aprobación del usuario de los datos presentados ; registrar por el lector en un registro en el lector los datos para revisión y aprobación; enviar a la tarjeta inteligente insertada datos que se van a firmar, después de eso generar por la tarjeta inteligente insertada una firma de tarjeta electrónica sobre los datos enviados que se van a firmar, y después de eso obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados, generar por el lector una firma de lector electrónica sobre el registro en el lector utilizando un algoritmo de firma de datos criptográfico parametrizado con una clave criptográfica almacenada en el elector y después de eso obtener la firma del lector electrónica sobre el registro generado por el lector.
22. - El método de conformidad con la reivindicación 21, caracterizado porque además comprende el paso de registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada .
23. - El método de conformidad con la reivindicación 22, caracterizado porque enviar a la tarjeta inteligente insertada datos que se van a firmar y obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados comprende la computadora central que intercambia comandos de tarjeta inteligente transparente con la tarjeta inteligente insertada utilizando el lector de tarjeta inteligente; y en donde registrar por el lector en el registro en lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada comprende registrar por el lector en el registro en el lector al menos algunos de los comandos de tarjeta inteligente transparente intercambiados .
24. - El método de conformidad con la reivindicación 23, caracterizado porque los comandos de tarjeta inteligente transparente que la computadora central intercambia con la tarjeta inteligente insertada utilizando el lector de tarjeta inteligente comprenden al menos comandos de tarjeta inteligente transparente para enviar a la tarjeta inteligente insertada datos que se van a firmar; y en donde por lo menos algunos de los comandos de tarjeta inteligente transparente intercambiados que el lector registra en el registro en el lector comprenden al menos comandos la tarjeta inteligente transparentes para enviar a la tarjeta inteligente insertada datos que se van a firmar o comandos de tarjeta inteligente transparente para obtener de la tarjeta inteligente insertada una firma de tarjeta electrónica generada sobre datos enviados .
25. - El método de conformidad con la reivindicación 23, caracterizado porque al menos algunos de los comandos de tarjeta inteligente transparente intercambiados que el lector registra en el registro en el lector comprenden todos los comandos de tarjeta inteligente transparente intercambiados durante cierto período.
26. - El método de conformidad con la reivindicación 25, caracterizado porque el período en donde el lector registra todos los comandos de tarjeta inteligente transparente intercambiados comprende el periodo en donde los datos que se van a firmar se envían a la tarjeta inteligente insertada o el periodo en donde la firma de tarjeta electrónica generada sobre los datos enviados se obtienen de la tarjeta inteligente insertada.
27. - El método de conformidad con la reivindicación 21, caracterizado porque además comprende configurar un grupo de datos de configuración en el lector que determina al menos parcialmente que eventos registra el lector en el registro en el lector.
28. - El método de conformidad con la reivindicación 27, caracterizado porque además comprende el paso de registrar, por el lector, en el registro en el lector el grupo actual de datos de configuración.
29. - El método de conformidad con la reivindicación 28, caracterizado porque además comprende configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector los datos para revisión y aprobación.
30.- El método de conformidad con la reivindicación 28, caracterizado porque además comprende configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada.
31. - El método de conformidad con la reivindicación 27, caracterizado porque además comprende configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector los comandos de lector para presentar datos al usuario para revisión y aprobación.
32. - El método de conformidad con la reivindicación 27, caracterizado porque además comprende configurar el grupo de datos de configuración de manera que el lector registra en un registro en el lector un grupo de comandos de tarjeta inteligente transparente.
33. - El método de conformidad con la reivindicación 32, caracterizado porque además comprende configurar el grupo de datos de configuración de manera que el lector registre en un registro en el lector un grupo de comandos de tarjeta inteligente transparente que comprenden comandos de tarjeta inteligente para enviar a la tarjeta inteligente insertada datos que se van a firmar o para obtener de la tarjeta inteligente insertada una firma electrónica generada en datos enviados a la tarjeta inteligente.
34.- Un método para asegurar un acceso del usuario a una aplicación, caracterizado porque comprende los pasos de: proporcionar una tarjeta inteligente para firmar datos a un usuario; proporcionar un lector de tarjeta inteligente de conformidad con la reivindicación 1 para un usuario; proporcionar a la interacción de usuario con la aplicación de una computadora central a la que está conectado el lector; ensamblar datos de transacción; ensamblar datos que se van a revisar y aprobar que están relacionados con los datos de transacción ensamblados; ensamblar datos que se van a afirmar que están relacionados con los datos de transacción ensambl dos; asegurar que la tarjeta inteligente está insertada en el lector de tarjeta inteligente; asegurar que el lector ingresa a un modo de registro seguro; enviar al lector datos para revisión y aprobación por un usuario; presentar al usuario por el lector utilizando una interfaz de salida de usuario en el lector los datos para revisión y aprobación por un usuario; capturar por el lector utilizando una interfaz de entrada de usuario en el lector la aprobación del usuario de los datos presentados; registrar por el lector en un registro en el lector los datos para revisión y aprobación; enviar a la tarjeta inteligente insertada datos que se van a firmar, después de eso generar por la tarjeta inteligente insertada una firma de tarjeta electrónica sobre los datos enviados que se van a firmar, y después de eso obtener de la tarjeta inteligente insertada la firma de tarjeta electrónica generada sobre los datos enviados; registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada ; generar por la firma de lector electrónica sobre el registro en el lector utilizando un algoritmo de firma de datos criptográfico parametrizado con una clave criptográfica almacenada en el lector y después de eso obtener la firma del lector electrónica sobre el registro generado por el lector; verificar la firma de tarjeta electrónica obtenida; verificar la firma de lector obtenida sobre el registro generado por el lector; verificar la consistencia entre el registro firmado por el lector y los datos de transacción ensamblados.
35.- El método de conformidad con la reivindicación 34, caracterizado porque enviar a la tarjeta inteligente insertada datos que se van a firmar comprende intercambiar entre la computadora central y la tarjeta inteligente insertada comandos de tarjeta inteligente transparente para enviar datos que se van a firmar a la tarjeta inteligente; y en donde registrar por el lector en el registro en el lector los datos que se van a firmar enviados a la tarjeta o la firma de tarjeta electrónica generada por la tarjeta inteligente insertada comprende registrar comandos de tarjeta inteligente transparente intercambiados entre la computadora central y la tarjeta inteligente insertada para enviar datos que se van a firmar a la tarjeta inteligente y para recuperar una firma de tarjeta electrónica generada por la tarjeta inteligente insertada en datos enviados a la tarjeta para firma.
MX2014005691A 2011-11-14 2012-11-14 Lector de tarjeta inteligente con una caracteristica de registro seguro. MX2014005691A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161559503P 2011-11-14 2011-11-14
PCT/US2012/065017 WO2013074631A2 (en) 2011-11-14 2012-11-14 A smart card reader with a secure logging feature

Publications (1)

Publication Number Publication Date
MX2014005691A true MX2014005691A (es) 2014-08-22

Family

ID=47428972

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2014005691A MX2014005691A (es) 2011-11-14 2012-11-14 Lector de tarjeta inteligente con una caracteristica de registro seguro.

Country Status (9)

Country Link
US (1) US8967477B2 (es)
EP (2) EP3217308B1 (es)
CN (1) CN104040555B (es)
BR (1) BR112014011596A2 (es)
ES (1) ES2633344T3 (es)
MX (1) MX2014005691A (es)
PL (1) PL2780854T3 (es)
RU (2) RU2607620C2 (es)
WO (1) WO2013074631A2 (es)

Families Citing this family (227)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515363B2 (en) 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
TWI514834B (zh) * 2013-02-01 2015-12-21 Ju Long Wei 機敏資料加密演算儲存裝置
US9177161B2 (en) * 2013-03-15 2015-11-03 Maxim Integrated Products, Inc. Systems and methods for secure access modules
US10706132B2 (en) 2013-03-22 2020-07-07 Nok Nok Labs, Inc. System and method for adaptive user authentication
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9887983B2 (en) 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
GB2512595A (en) 2013-04-02 2014-10-08 Mastercard International Inc Integrated contactless mpos implementation
US9961077B2 (en) * 2013-05-30 2018-05-01 Nok Nok Labs, Inc. System and method for biometric authentication with device attestation
WO2015002909A1 (en) * 2013-06-30 2015-01-08 Schlage Lock Company Llc Secure mode for electronic access control readers
SG11201510252SA (en) * 2013-07-02 2016-01-28 Visa Int Service Ass Payment card including user interface for use with payment card acceptance terminal
US9231959B2 (en) * 2013-07-12 2016-01-05 Sap Se Multiple transaction interface framework
US9773240B1 (en) 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US9971886B2 (en) * 2013-09-27 2018-05-15 Bloomberg Finance L.P. Computer keyboard with secure authentication features
US9558491B2 (en) 2013-09-30 2017-01-31 Square, Inc. Scrambling passcode entry interface
US9613356B2 (en) 2013-09-30 2017-04-04 Square, Inc. Secure passcode entry user interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
EP2874421A1 (en) * 2013-11-13 2015-05-20 Gemalto SA System and method for securing communications between a card reader device and a remote server
US9602895B2 (en) * 2013-11-14 2017-03-21 Microchip Technology Incorporated Integrated circuit device with tamper detection input and having real time clock calendar logging thereof
FR3015077B1 (fr) * 2013-12-13 2017-04-28 Cie Ind Et Financiere D'ingenierie Ingenico Procede de controle d'une identite d'un terminal de paiement et terminal ainsi securise.
US9230254B1 (en) * 2013-12-19 2016-01-05 Amazon Technologies, Inc. Credit card reader authenticator
KR101579923B1 (ko) * 2013-12-20 2015-12-23 펜타시큐리티시스템 주식회사 일회용 비밀번호 생성 방법 및 이를 수행하는 장치
MX363020B (es) * 2013-12-31 2019-03-05 Vasco Data Security Inc Metodos, sistemas y aparatos de firma electronica.
US9654469B1 (en) 2014-05-02 2017-05-16 Nok Nok Labs, Inc. Web-based user authentication techniques and applications
US9413533B1 (en) 2014-05-02 2016-08-09 Nok Nok Labs, Inc. System and method for authorizing a new authenticator
US9577999B1 (en) 2014-05-02 2017-02-21 Nok Nok Labs, Inc. Enhanced security for registration of authentication devices
CA3297504A1 (en) * 2014-05-08 2026-03-02 Block, Inc. Establishment of a secure session between a card reader and a mobile device
US8990121B1 (en) 2014-05-08 2015-03-24 Square, Inc. Establishment of a secure session between a card reader and a mobile device
US10438187B2 (en) 2014-05-08 2019-10-08 Square, Inc. Establishment of a secure session between a card reader and a mobile device
USD754126S1 (en) * 2014-07-10 2016-04-19 Yangshu Wenhua (Shanghai) Corp. Portable augmented reality reader for children
US9749131B2 (en) 2014-07-31 2017-08-29 Nok Nok Labs, Inc. System and method for implementing a one-time-password using asymmetric cryptography
US9455979B2 (en) 2014-07-31 2016-09-27 Nok Nok Labs, Inc. System and method for establishing trust using secure transmission protocols
US10148630B2 (en) 2014-07-31 2018-12-04 Nok Nok Labs, Inc. System and method for implementing a hosted authentication service
US9875347B2 (en) 2014-07-31 2018-01-23 Nok Nok Labs, Inc. System and method for performing authentication using data analytics
US9736154B2 (en) 2014-09-16 2017-08-15 Nok Nok Labs, Inc. System and method for integrating an authentication service within a network architecture
US9628445B2 (en) * 2014-10-31 2017-04-18 Ncr Corporation Trusted device control messages
EP3251067A4 (en) * 2015-01-27 2018-08-01 Ent. Services Development Corporation LP Virtual point of sale
CN104637181B (zh) * 2015-02-10 2017-04-05 武汉阿迪克电子股份有限公司 基于数据纵横存储及校验处理方法的三相费控智能电能表
US11341470B1 (en) * 2015-03-20 2022-05-24 Wells Fargo Bank, N.A. Systems and methods for smart card online purchase authentication
EP3283951B1 (en) 2015-04-14 2020-01-29 Capital One Services, LLC System and method for secure firmware validation
EP3284182B1 (en) 2015-04-14 2020-11-04 Capital One Services, LLC Automated bluetooth pairing
GB2542572A (en) * 2015-09-22 2017-03-29 Silverleap Tech Ltd Method and system for updating a contactless smartcard and a computer readable medium for performing said method
CA3040776A1 (en) * 2015-11-19 2017-05-26 Securter Systems Inc. Coordinator managed payments
US11593780B1 (en) 2015-12-10 2023-02-28 Block, Inc. Creation and validation of a secure list of security certificates
US11295293B2 (en) * 2016-01-07 2022-04-05 Worldpay, Llc Point of interaction device emulation for payment transaction simulation
GB2549075B (en) * 2016-03-24 2022-10-12 Mount Watatic Ltd Device, method and system for a distributed ledger
FR3051064B1 (fr) * 2016-05-09 2018-05-25 Idemia France Procede de securisation d'un dispositif electronique, et dispositif electronique correspondant
CN105871557B (zh) * 2016-05-18 2019-04-16 飞天诚信科技股份有限公司 电子邮件签名方法、装置及系统
DE102016213104A1 (de) * 2016-07-18 2018-01-18 bitagentur GmbH & Co. KG Token-basiertes Authentisieren mit signierter Nachricht
US10637853B2 (en) 2016-08-05 2020-04-28 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
US9940612B1 (en) 2016-09-30 2018-04-10 Square, Inc. Fraud detection in portable payment readers
US10803461B2 (en) 2016-09-30 2020-10-13 Square, Inc. Fraud detection in portable payment readers
US11315114B2 (en) 2016-12-28 2022-04-26 Capital One Services, Llc Dynamic transaction card protected by multi-factor authentication
US10515361B2 (en) 2016-12-28 2019-12-24 Capital One Services, Llc Smart card secure online checkout
US10091195B2 (en) 2016-12-31 2018-10-02 Nok Nok Labs, Inc. System and method for bootstrapping a user binding
US10237070B2 (en) 2016-12-31 2019-03-19 Nok Nok Labs, Inc. System and method for sharing keys across authenticators
JP6925849B2 (ja) * 2017-04-20 2021-08-25 株式会社東芝 Icカード、icカードシステム、サーバ装置、及びプログラム
CN107359997B (zh) * 2017-05-27 2020-06-19 南方城墙信息安全科技有限公司 基于pki机制的智能芯片保护方法和芯片保护系统
GB2563608B (en) * 2017-06-20 2020-08-05 Soloprotect Ltd An identity card holder and system
US10891052B2 (en) * 2017-06-26 2021-01-12 Western Digital Technologies, Inc. Adaptive system for optimization of non-volatile storage operational parameters
FR3070078B1 (fr) * 2017-08-10 2020-10-09 Ingenico Group Procedes et dispositifs de securisation de transmission de donnees entre un terminal et un lecteur de cartes, et produits programme d'ordinateur correspondants.
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
US10546444B2 (en) 2018-06-21 2020-01-28 Capital One Services, Llc Systems and methods for secure read-only authentication
US11216806B2 (en) 2018-09-19 2022-01-04 Capital One Services, Llc Systems and methods for providing card interactions
AU2019351825A1 (en) 2018-10-02 2021-04-15 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
SG11202102799RA (en) 2018-10-02 2021-04-29 Capital One Services Llc Systems and methods for cryptographic authentication of contactless cards
US10841091B2 (en) 2018-10-02 2020-11-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
CA3115084A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
AU2019354421A1 (en) 2018-10-02 2021-04-29 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10680824B2 (en) 2018-10-02 2020-06-09 Capital One Services, Llc Systems and methods for inventory management using cryptographic authentication of contactless cards
US10489781B1 (en) 2018-10-02 2019-11-26 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11210664B2 (en) 2018-10-02 2021-12-28 Capital One Services, Llc Systems and methods for amplifying the strength of cryptographic algorithms
US10615981B1 (en) 2018-10-02 2020-04-07 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10582386B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10607214B1 (en) 2018-10-02 2020-03-31 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10565587B1 (en) 2018-10-02 2020-02-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072670A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10511443B1 (en) 2018-10-02 2019-12-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
SG11202102543WA (en) 2018-10-02 2021-04-29 Capital One Services Llc Systems and methods for cryptographic authentication of contactless cards
AU2019355878A1 (en) 2018-10-02 2021-02-25 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10505738B1 (en) 2018-10-02 2019-12-10 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10748138B2 (en) 2018-10-02 2020-08-18 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
WO2020072575A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10771254B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for email-based card activation
US10909527B2 (en) 2018-10-02 2021-02-02 Capital One Services, Llc Systems and methods for performing a reissue of a contactless card
US10949520B2 (en) 2018-10-02 2021-03-16 Capital One Services, Llc Systems and methods for cross coupling risk analytics and one-time-passcodes
US10771253B2 (en) 2018-10-02 2020-09-08 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10542036B1 (en) 2018-10-02 2020-01-21 Capital One Services, Llc Systems and methods for signaling an attack on contactless cards
US10733645B2 (en) 2018-10-02 2020-08-04 Capital One Services, Llc Systems and methods for establishing identity for order pick up
CA3115252A1 (en) 2018-10-02 2020-04-09 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10592710B1 (en) 2018-10-02 2020-03-17 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US10579998B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11163909B2 (en) 2018-11-15 2021-11-02 International Business Machines Corporation Using multiple signatures on a signed log
US10664830B1 (en) 2018-12-18 2020-05-26 Capital One Services, Llc Devices and methods for selective contactless communication
US20200226581A1 (en) 2019-01-11 2020-07-16 Capital One Services, Llc Systems and methods for touch screen interface interaction using a card overlay
US11037136B2 (en) 2019-01-24 2021-06-15 Capital One Services, Llc Tap to autofill card data
US11120453B2 (en) 2019-02-01 2021-09-14 Capital One Services, Llc Tap card to securely generate card data to copy to clipboard
US10510074B1 (en) 2019-02-01 2019-12-17 Capital One Services, Llc One-tap payment using a contactless card
US10467622B1 (en) 2019-02-01 2019-11-05 Capital One Services, Llc Using on-demand applications to generate virtual numbers for a contactless card to securely autofill forms
US10425129B1 (en) 2019-02-27 2019-09-24 Capital One Services, Llc Techniques to reduce power consumption in near field communication systems
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US10523708B1 (en) 2019-03-18 2019-12-31 Capital One Services, Llc System and method for second factor authentication of customer support calls
US10438437B1 (en) 2019-03-20 2019-10-08 Capital One Services, Llc Tap to copy data to clipboard via NFC
US10535062B1 (en) 2019-03-20 2020-01-14 Capital One Services, Llc Using a contactless card to securely share personal data stored in a blockchain
US10643420B1 (en) 2019-03-20 2020-05-05 Capital One Services, Llc Contextual tapping engine
US10984416B2 (en) 2019-03-20 2021-04-20 Capital One Services, Llc NFC mobile currency transfer
US10970712B2 (en) 2019-03-21 2021-04-06 Capital One Services, Llc Delegated administration of permissions using a contactless card
US10467445B1 (en) 2019-03-28 2019-11-05 Capital One Services, Llc Devices and methods for contactless card alignment with a foldable mobile device
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11521262B2 (en) 2019-05-28 2022-12-06 Capital One Services, Llc NFC enhanced augmented reality information overlays
US10516447B1 (en) 2019-06-17 2019-12-24 Capital One Services, Llc Dynamic power levels in NFC card communications
SE546367C2 (en) 2019-06-28 2024-10-15 Assa Abloy Ab Cryptographic signing of a data item
US11392933B2 (en) 2019-07-03 2022-07-19 Capital One Services, Llc Systems and methods for providing online and hybridcard interactions
US10871958B1 (en) 2019-07-03 2020-12-22 Capital One Services, Llc Techniques to perform applet programming
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US12086852B2 (en) 2019-07-08 2024-09-10 Capital One Services, Llc Authenticating voice transactions with payment card
US10713649B1 (en) 2019-07-09 2020-07-14 Capital One Services, Llc System and method enabling mobile near-field communication to update display on a payment card
US10498401B1 (en) 2019-07-15 2019-12-03 Capital One Services, Llc System and method for guiding card positioning using phone sensors
US10885514B1 (en) 2019-07-15 2021-01-05 Capital One Services, Llc System and method for using image data to trigger contactless card transactions
US10832271B1 (en) 2019-07-17 2020-11-10 Capital One Services, Llc Verified reviews using a contactless card
US11182771B2 (en) 2019-07-17 2021-11-23 Capital One Services, Llc System for value loading onto in-vehicle device
US10733601B1 (en) 2019-07-17 2020-08-04 Capital One Services, Llc Body area network facilitated authentication or payment authorization
US11521213B2 (en) 2019-07-18 2022-12-06 Capital One Services, Llc Continuous authentication for digital services based on contactless card positioning
US10506426B1 (en) 2019-07-19 2019-12-10 Capital One Services, Llc Techniques for call authentication
US10541995B1 (en) 2019-07-23 2020-01-21 Capital One Services, Llc First factor contactless card authentication system and method
CN114746913B (zh) 2019-10-02 2025-11-14 第一资本服务有限责任公司 使用非接触式传统磁条数据的客户端设备认证
RU2722979C1 (ru) * 2019-11-08 2020-06-05 Акционерное общество "Актив-софт" (АО "Актив-софт") Способ хранения, обновления и использования на смарт-карте корневых сертификатов электронной подписи
US11651361B2 (en) 2019-12-23 2023-05-16 Capital One Services, Llc Secure authentication based on passport data stored in a contactless card
US11113685B2 (en) 2019-12-23 2021-09-07 Capital One Services, Llc Card issuing with restricted virtual numbers
US10885410B1 (en) 2019-12-23 2021-01-05 Capital One Services, Llc Generating barcodes utilizing cryptographic techniques
US11615395B2 (en) 2019-12-23 2023-03-28 Capital One Services, Llc Authentication for third party digital wallet provisioning
US10733283B1 (en) 2019-12-23 2020-08-04 Capital One Services, Llc Secure password generation and management using NFC and contactless smart cards
US10657754B1 (en) 2019-12-23 2020-05-19 Capital One Services, Llc Contactless card and personal identification system
US10862540B1 (en) 2019-12-23 2020-12-08 Capital One Services, Llc Method for mapping NFC field strength and location on mobile devices
US11200563B2 (en) 2019-12-24 2021-12-14 Capital One Services, Llc Account registration using a contactless card
US10664941B1 (en) 2019-12-24 2020-05-26 Capital One Services, Llc Steganographic image encoding of biometric template information on a card
US10853795B1 (en) 2019-12-24 2020-12-01 Capital One Services, Llc Secure authentication based on identity data stored in a contactless card
US10757574B1 (en) 2019-12-26 2020-08-25 Capital One Services, Llc Multi-factor authentication providing a credential via a contactless card for secure messaging
US10909544B1 (en) 2019-12-26 2021-02-02 Capital One Services, Llc Accessing and utilizing multiple loyalty point accounts
US11038688B1 (en) 2019-12-30 2021-06-15 Capital One Services, Llc Techniques to control applets for contactless cards
US10860914B1 (en) 2019-12-31 2020-12-08 Capital One Services, Llc Contactless card and method of assembly
US11455620B2 (en) 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
JP2021149804A (ja) * 2020-03-23 2021-09-27 キオクシア株式会社 記憶装置および記憶装置の制御方法
US11210656B2 (en) 2020-04-13 2021-12-28 Capital One Services, Llc Determining specific terms for contactless card activation
US11222342B2 (en) 2020-04-30 2022-01-11 Capital One Services, Llc Accurate images in graphical user interfaces to enable data transfer
US10861006B1 (en) 2020-04-30 2020-12-08 Capital One Services, Llc Systems and methods for data access control using a short-range transceiver
US10915888B1 (en) 2020-04-30 2021-02-09 Capital One Services, Llc Contactless card with multiple rotating security keys
US11823175B2 (en) 2020-04-30 2023-11-21 Capital One Services, Llc Intelligent card unlock
US11030339B1 (en) 2020-04-30 2021-06-08 Capital One Services, Llc Systems and methods for data access control of personal user data using a short-range transceiver
US10963865B1 (en) 2020-05-12 2021-03-30 Capital One Services, Llc Augmented reality card activation experience
US11100511B1 (en) 2020-05-18 2021-08-24 Capital One Services, Llc Application-based point of sale system in mobile operating systems
US11063979B1 (en) 2020-05-18 2021-07-13 Capital One Services, Llc Enabling communications between applications in a mobile operating system
US11062098B1 (en) 2020-08-11 2021-07-13 Capital One Services, Llc Augmented reality information display and interaction via NFC based authentication
US12165149B2 (en) 2020-08-12 2024-12-10 Capital One Services, Llc Systems and methods for user verification via short-range transceiver
US11892954B2 (en) 2020-10-29 2024-02-06 Xerox Corporation Self-adding smartcard reader system
US11482312B2 (en) 2020-10-30 2022-10-25 Capital One Services, Llc Secure verification of medical status using a contactless card
US11165586B1 (en) 2020-10-30 2021-11-02 Capital One Services, Llc Call center web-based authentication using a contactless card
US11373169B2 (en) 2020-11-03 2022-06-28 Capital One Services, Llc Web-based activation of contactless cards
EP4024242B1 (en) * 2020-12-29 2023-08-30 HID Global GmbH Reader device and method of configuring the same
US11216799B1 (en) 2021-01-04 2022-01-04 Capital One Services, Llc Secure generation of one-time passcodes using a contactless card
US11682012B2 (en) 2021-01-27 2023-06-20 Capital One Services, Llc Contactless delivery systems and methods
US11687930B2 (en) 2021-01-28 2023-06-27 Capital One Services, Llc Systems and methods for authentication of access tokens
US11562358B2 (en) 2021-01-28 2023-01-24 Capital One Services, Llc Systems and methods for near field contactless card communication and cryptographic authentication
US11792001B2 (en) 2021-01-28 2023-10-17 Capital One Services, Llc Systems and methods for secure reprovisioning
US11438329B2 (en) 2021-01-29 2022-09-06 Capital One Services, Llc Systems and methods for authenticated peer-to-peer data transfer using resource locators
US11777933B2 (en) 2021-02-03 2023-10-03 Capital One Services, Llc URL-based authentication for payment cards
US11637826B2 (en) 2021-02-24 2023-04-25 Capital One Services, Llc Establishing authentication persistence
EP4057166A1 (en) * 2021-03-10 2022-09-14 Thales DIS France SA Method for controlling an apparatus
EP4060540B1 (en) * 2021-03-17 2026-08-05 Sebastien Armleder Devices, systems, and methods for performing a digital signature
US12143515B2 (en) 2021-03-26 2024-11-12 Capital One Services, Llc Systems and methods for transaction card-based authentication
US11245438B1 (en) 2021-03-26 2022-02-08 Capital One Services, Llc Network-enabled smart apparatus and systems and methods for activating and provisioning same
US12160419B2 (en) 2021-04-15 2024-12-03 Capital One Services, Llc Authenticated messaging session with contactless card authentication
US11961089B2 (en) 2021-04-20 2024-04-16 Capital One Services, Llc On-demand applications to extend web services
US11935035B2 (en) 2021-04-20 2024-03-19 Capital One Services, Llc Techniques to utilize resource locators by a contactless card to perform a sequence of operations
US11902442B2 (en) 2021-04-22 2024-02-13 Capital One Services, Llc Secure management of accounts on display devices using a contactless card
US11354555B1 (en) 2021-05-04 2022-06-07 Capital One Services, Llc Methods, mediums, and systems for applying a display to a transaction card
US12639710B2 (en) 2021-05-11 2026-05-26 Capital One Services, LLC. Systems and techniques to utilize an active link in a uniform resource locator to perform a money exchange
US12688508B2 (en) 2021-06-18 2026-07-21 Capital One Services, Llc Systems and methods for contactless card communication and key pair cryptographic authentication using distributed storage
US12301735B2 (en) 2021-06-18 2025-05-13 Capital One Services, Llc Systems and methods for contactless card communication and multi-device key pair cryptographic authentication
US12335412B2 (en) 2021-06-21 2025-06-17 Capital One Services, Llc Systems and methods for scalable cryptographic authentication of contactless cards
US12041172B2 (en) 2021-06-25 2024-07-16 Capital One Services, Llc Cryptographic authentication to control access to storage devices
US12061682B2 (en) 2021-07-19 2024-08-13 Capital One Services, Llc System and method to perform digital authentication using multiple channels of communication
US12495042B2 (en) 2021-08-16 2025-12-09 Capital One Services, Llc Systems and methods for resetting an authentication counter
US12646062B2 (en) 2021-08-18 2026-06-02 Capital One Services, Llc Techniques and systems to perform authentication and payment operations with a contactless card to provide items and services
US12062258B2 (en) 2021-09-16 2024-08-13 Capital One Services, Llc Use of a payment card to unlock a lock
US12126613B2 (en) 2021-09-17 2024-10-22 Nok Nok Labs, Inc. System and method for pre-registration of FIDO authenticators
KR20230056379A (ko) * 2021-10-20 2023-04-27 삼성전자주식회사 외부 장치를 이용하여 트랜잭션을 전송하는 전자 장치 및 그의 동작 방법
US12069173B2 (en) 2021-12-15 2024-08-20 Capital One Services, Llc Key recovery based on contactless card authentication
US12166750B2 (en) 2022-02-08 2024-12-10 Capital One Services, Llc Systems and methods for secure access of storage
US12613956B2 (en) 2022-02-16 2026-04-28 Kyndryl, Inc. Log tampering prevention for high availability environments
US12354077B2 (en) 2022-06-23 2025-07-08 Capital One Services, Llc Mobile web browser authentication and checkout using a contactless card
US12596780B2 (en) 2022-06-27 2026-04-07 Capital One Services, LLC. Techniques to perform dynamic call center authentication utilizing a contactless card
US12646370B2 (en) 2022-07-15 2026-06-02 Capital One Services, Llc Techniques for personal identification number management for contactless cards
US12511654B2 (en) 2022-08-08 2025-12-30 Capital One Services, Llc Systems and methods for bypassing contactless payment transaction limit
US12354104B2 (en) 2022-08-09 2025-07-08 Capital One Services, Llc Methods and arrangements for proof of purchase
US12505450B2 (en) 2022-08-17 2025-12-23 Capital One Services, Llc Systems and methods for dynamic data generation and cryptographic card authentication
US12289396B2 (en) 2022-08-18 2025-04-29 Capital One Services, Llc Parallel secret salt generation and authentication for encrypted communication
US12489747B2 (en) 2022-11-18 2025-12-02 Capital One Services, LLC. Systems and techniques to perform verification operations with wireless communication
US12592828B2 (en) 2023-01-06 2026-03-31 Capital One Services, Llc System and method for parallel manufacture and verification of one-time-password authentication cards
US12147983B2 (en) 2023-01-13 2024-11-19 Capital One Services, Llc Systems and methods for multi-factor authentication using device tracking and identity verification
US12657572B2 (en) 2023-01-13 2026-06-16 Capital One Services, Llc Systems and methods for enabling transaction distribution
US12519652B2 (en) 2023-02-24 2026-01-06 Capital One Services, Llc System and method for dynamic integration of user-provided data with one-time-password authentication cryptogram
US12592819B2 (en) 2023-02-28 2026-03-31 Capital One Services, Llc Membership account management using a contactless card
US12248832B2 (en) 2023-03-07 2025-03-11 Capital One Services, Llc Systems and methods for steganographic image encoding and identity verification using same
US12621642B2 (en) 2023-03-07 2026-05-05 Capital One Services, Llc Systems and methods for device case detection for adaptive near field communication
US12335256B2 (en) 2023-03-08 2025-06-17 Capital One Services, Llc Systems and methods for device binding authentication
US12591875B2 (en) 2023-03-10 2026-03-31 Capital One Services, Llc Systems and methods of contactless card as one authentication factor for multiple factor authentication
US12511640B2 (en) 2023-03-13 2025-12-30 Capital One Services, Llc Systems and methods of managing password using contactless card
US12248928B2 (en) 2023-03-13 2025-03-11 Capital One Services, Llc Systems and methods of secure merchant payment over messaging platform using a contactless card
US12124903B2 (en) 2023-03-16 2024-10-22 Capital One Services, Llc Card with a time-sensitive element and systems and methods for implementing the same
US12299672B2 (en) 2023-03-30 2025-05-13 Capital One Services, Llc System and method for authentication with transaction cards
US12499432B2 (en) 2023-04-06 2025-12-16 Capital One Services, Llc Techniques to perform operations with a contactless card when in the presence of a trusted device
US12591876B2 (en) 2023-04-07 2026-03-31 Capital One Services, Llc Systems and methods for launching a mobile application or a browser extension responsive to satisfying predetermined conditions
US12676938B2 (en) 2023-05-10 2026-07-07 Capital One Services, Llc Methods and arrangements for self-service printing via authentication based on a contactless card
US12200135B2 (en) 2023-06-13 2025-01-14 Capital One Services, Llc Contactless card-based authentication via web-browser
US12505448B2 (en) 2023-08-09 2025-12-23 Capital One Services, Llc Systems and methods for fraud prevention in mobile application verification device enrollment process
US12511638B2 (en) 2023-09-07 2025-12-30 Capital One Services, Llc Assignment of near-field communications applets
US12675766B2 (en) 2023-10-24 2026-07-07 Capital One Services, Llc Systems and methods for autonomous vehicle transactions
US12580767B2 (en) 2023-10-31 2026-03-17 Capital One Services, LLC. Transmission of secure and authenticated data over a network
US12658976B2 (en) 2023-11-13 2026-06-16 Capital One Services, Llc Systems and methods for optimizing short-range wireless read of contactless cards using video signal
US12694393B2 (en) 2023-12-04 2026-07-28 Capital One Services, Llc Increasing sensitivity and readability of contactless cards
US12580752B2 (en) 2024-01-03 2026-03-17 Capital One Services, Llc Systems and methods for generating shared secret key for transaction cards
US12675790B2 (en) 2024-01-09 2026-07-07 Capital One Services, Llc Systems and methods for validating transactions
CN118803100B (zh) * 2024-04-24 2025-12-09 中移物联网有限公司 通信传输方法、装置、电子设备、存储介质和程序产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999626A (en) * 1996-04-16 1999-12-07 Certicom Corp. Digital signatures on a smartcard
WO1998003903A2 (en) * 1996-07-23 1998-01-29 Verifone S.A. Method and apparatus for operating resources under control of a security module or other secure processor
AU2001256591A1 (en) * 2000-06-26 2002-01-08 Covadis Sa Computer keyboard unit for carrying out secure transactions in a communications network
DE60200081T2 (de) * 2002-03-18 2004-04-22 Ubs Ag Sichere Benutzer- und Datenauthenifizierung über ein Kommunikationsnetzwerk
US20060130154A1 (en) 2004-11-30 2006-06-15 Wai Lam Method and system for protecting and verifying stored data
AT503263A2 (de) * 2006-02-27 2007-09-15 Bdc Edv Consulting Gmbh Vorrichtung zur erstellung digitaler signaturen

Also Published As

Publication number Publication date
CN104040555A (zh) 2014-09-10
WO2013074631A2 (en) 2013-05-23
EP3217308B1 (en) 2018-12-26
WO2013074631A3 (en) 2013-07-25
US20130119130A1 (en) 2013-05-16
RU2014124198A (ru) 2015-12-27
RU2607620C2 (ru) 2017-01-10
BR112014011596A2 (pt) 2017-05-30
EP3217308A1 (en) 2017-09-13
EP2780854B1 (en) 2017-04-12
RU154072U1 (ru) 2015-08-10
EP2780854A2 (en) 2014-09-24
ES2633344T3 (es) 2017-09-20
PL2780854T3 (pl) 2017-12-29
CN104040555B (zh) 2017-02-22
US8967477B2 (en) 2015-03-03

Similar Documents

Publication Publication Date Title
US8967477B2 (en) Smart card reader with a secure logging feature
US12354092B2 (en) Establishment of a secure session between a card reader and a mobile device
EP3807831B1 (en) Method and system to create a trusted record or message and usage for a secure activation or strong customer authentication
US8060748B2 (en) Secure end-of-life handling of electronic devices
KR102144517B1 (ko) 전자 서명 방법들, 시스템들 및 장치
AU2008316230B2 (en) Method and system for effecting secure communication over a network
US9300665B2 (en) Credential authentication methods and systems
AU2015255884B2 (en) Establishment of a secure session between a card reader and a mobile device
US20090198618A1 (en) Device and method for loading managing and using smartcard authentication token and digital certificates in e-commerce
US9355277B2 (en) Installable secret functions for a peripheral
US9344281B2 (en) Detecting fraud using operational parameters for a peripheral
US20140188732A1 (en) Secure provisioning manifest for controlling peripherals attached to a computer
CN101960762A (zh) 用于执行无线金融交易的系统和方法
CN107111694A (zh) 软件篡改检测和报告过程
EP3136356A1 (en) Automatic transaction device and automatic transaction system
EP2325773B1 (en) System and method for obtaining an authorization key to use a product
CN102111271A (zh) 网络安全认证方法及其装置,及手持式电子装置认证方法
CN113595714A (zh) 带有多个旋转安全密钥的非接触式卡
WO2018026500A1 (en) Apparatus and related method for device communication management for transmission of sensitive data
US20150302403A1 (en) Method for deactivating a payment module, corresponding computer program product, storage medium and payment module
HK40055820A (en) Contactless card with multiple rotating security keys

Legal Events

Date Code Title Description
FG Grant or registration