ES2877522T3 - Método y sistema para mejorar la seguridad de una transacción - Google Patents

Método y sistema para mejorar la seguridad de una transacción Download PDF

Info

Publication number
ES2877522T3
ES2877522T3 ES16816293T ES16816293T ES2877522T3 ES 2877522 T3 ES2877522 T3 ES 2877522T3 ES 16816293 T ES16816293 T ES 16816293T ES 16816293 T ES16816293 T ES 16816293T ES 2877522 T3 ES2877522 T3 ES 2877522T3
Authority
ES
Spain
Prior art keywords
cryptographic key
key
session
transaction
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES16816293T
Other languages
English (en)
Inventor
Viola Francesco
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales DIS France SA
Original Assignee
Thales DIS France SA
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 Thales DIS France SA filed Critical Thales DIS France SA
Application granted granted Critical
Publication of ES2877522T3 publication Critical patent/ES2877522T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • H04L41/0293Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for accessing web services by means of a binding identification of the management service or element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/48Security arrangements using identity modules using secure binding, e.g. securely binding identity modules to devices, services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

Un método para mejorar la seguridad de un dispositivo de comunicación (10) cuando se realiza una transacción utilizando una aplicación de transacción del dispositivo de comunicación, el método que comprende: - un sistema remoto (21) genera al menos una clave criptográfica de sesión, el sistema remoto vincula dicha clave criptográfica de sesión a un contexto específico definido con un dato de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión de manera que cualquier cambio en el contexto específico dañará la clave criptográfica de sesión durante una fase de desvinculación; en donde la vinculación de dicha clave criptográfica de sesión se basa en un algoritmo de ofuscación reversible aplicado a la clave criptográfica de sesión y el contexto específico definido con los datos de prevención, - el sistema remoto envía la clave criptográfica de sesión vinculada generada al dispositivo de comunicación durante una fase de aprovisionamiento o reposición de la clave criptográfica de sesión al dispositivo de comunicación, - durante el cálculo de un criptograma de transacción, la aplicación de transacción del dispositivo de comunicación: * determina los datos de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión para desvincular la clave criptográfica de sesión al contexto específico con los datos de prevención determinados; mientras que si los datos de prevención determinados no son los esperados, la clave criptográfica de sesión de desvinculación está dañada, * calcula el criptograma de la transacción utilizando la clave criptográfica de sesión desvinculada, en donde la transacción se autoriza en base a al menos si el criptograma de transacción calculado es el esperado y la clave criptográfica de sesión desvinculada no está dañada.

Description

DESCRIPCIÓN
Método y sistema para mejorar la seguridad de una transacción
Campo técnico
La presente invención se refiere en general al campo de los métodos de pago y autorización. Más particularmente, esta descripción se refiere al uso de un dispositivo informático que no tiene o no depende de un elemento seguro para realizar pagos, autorizaciones o intercambiar información con otros dispositivos.
En particular, la presente invención se refiere a un método y sistema para mejorar la seguridad de las transacciones en un Circuito Integrado emulado (ICC).
Antecedentes de la técnica
Los avances en las capacidades de los dispositivos de comunicación han permitido que los dispositivos de comunicación, tales como los teléfonos inteligentes, se utilicen como instrumentos de pago para realizar transacciones sin contacto. Por ejemplo, un dispositivo de comunicación puede colocarse cerca de un dispositivo de acceso tal como un terminal de punto de venta (POS) para transferir información de cuenta desde el dispositivo de comunicación al dispositivo de acceso para realizar una transacción.
Para proporcionar un entorno operativo seguro para almacenar de forma segura la información de la cuenta en un dispositivo de comunicación, elementos seguros tales como tarjetas SIM, tarjetas micro-SD o chips integrados en teléfonos móviles se han considerado durante bastante tiempo como el lugar adecuado para almacenar de forma segura la parte más sensible de las aplicaciones móviles de los proveedores de servicios.
De hecho, el elemento seguro se considera seguro porque la información de la cuenta, las claves y los datos secretos se almacenan en un hardware a prueba de manipulaciones, que protege esta información de software malicioso o virus que pueden haber infectado el sistema operativo o una aplicación que se ejecuta en el dispositivo de comunicación.
Hoy en día, están surgiendo nuevas tecnologías emergentes, algunas de las cuales se basan en nuevos paradigmas de seguridad, diferentes al almacenamiento seguro tradicional. En la tecnología actual de vanguardia es posible "emular" una tarjeta inteligente por software y utilizarla en el contexto de transacciones sin contacto, utilizando la tecnología denominada "Emulación de Tarjeta de Anfitrión" (HCE), por lo que es posible realizar pagos NFC mediante el uso de tal software de emulación de tarjeta inteligente en un dispositivo de comunicación.
Sin embargo, debido a que no se utiliza un elemento seguro, la seguridad de las transacciones será una preocupación. De hecho, las claves y los datos sensibles se almacenan en el dispositivo de comunicación. Si bien un elemento seguro es prácticamente inaccesible, las defensas del dispositivo de comunicación se pueden derrotar fácilmente y permitir que un individuo malintencionado acceda a una aplicación específica para comprender cómo funciona y, por lo tanto, recopilar posiblemente la forma de robar claves y datos sensibles.
La clave se usa para calcular un criptograma (que se usa para verificar la validez de la transacción). Las claves utilizadas para calcular el criptograma son uno de los activos más sensibles de la transacción. Una vez que se roba la clave, cualquiera puede usarla para realizar transacciones, ya que la operación para calcular el criptograma es bien conocida. Por tanto, la clave robada puede utilizarse en cualquier otro sistema equivalente.
La especificación de creación de testigos de EMV ha introducido una solución conocida para mejorar la seguridad de las transacciones sin contacto. En esta especificación, una transacción que usa el dispositivo de comunicación incluye recibir, desde un ordenador remoto, una clave de uso limitado que está asociada con un conjunto de uno o más umbrales de uso limitado que limita el uso de la clave de uso limitado. La especificación propone medios para generar, por el dispositivo de comunicación, un criptograma de transacción usando la clave de uso limitado, y enviar, por el dispositivo de comunicación a un emisor, un testigo en lugar de un identificador de cuenta real y el criptograma de transacción para realizar la transacción. La transacción se autoriza basándose, al menos, en si el uso de la clave de uso limitado ha superado el conjunto de uno o más umbrales de uso limitado. Se utiliza un servidor dedicado para reponer las claves una vez que han completado su ciclo de vida.
Como las claves de uso limitado se transportan de un punto a otro (desde el ordenador/servidor remoto al dispositivo de comunicación) y si el canal no es lo suficientemente seguro, las claves pueden ser robadas.
Además, a medida que aumenta el incentivo para que un atacante se beneficie de los datos almacenados, los ataques para obtener acceso a datos secretos (claves, credenciales ...) en la tarjeta inteligente de software se volverán más graves.
Además, a pesar de los intentos interminables para evitar la piratería de software, la información almacenada en el dispositivo de comunicación y comunicada desde el dispositivo de comunicación a un dispositivo de punto de venta (POS) comercial o un ordenador remoto es vulnerable a ataques de seguridad. Por consiguiente, puede que no sea seguro almacenar las claves en dispositivos de comunicación no seguros.
El documento US 2015/339664 A1 (WONG ERICK [US] ET AL) 26 de noviembre de 2015 (26/11/2015) forma parte del estado de la técnica pertinente.
Las realizaciones de la presente invención abordan estos y otros problemas individual y colectivamente. Específicamente, las realizaciones de la invención abordan el problema de las preocupaciones de seguridad con la realización de transacciones de pago con una emulación de tarjeta inteligente de software en un dispositivo de comunicación.
Por consiguiente, es un objeto de la presente invención proporcionar un método para mejorar la seguridad de la clave utilizada para calcular el criptograma.
Compendio de la invención
La invención se define en las reivindicaciones independientes 1, 11 y 12.
El siguiente compendio de la invención se proporciona con el fin de proporcionar una comprensión básica de algunos aspectos y características de la invención. Este compendio no es una descripción general extensa de la invención y, como tal, no pretende identificar en particular elementos clave o críticos de la invención o delinear el alcance de la invención. Su único propósito es presentar algunos conceptos de la invención de forma simplificada como preludio a la descripción más detallada que se presenta a continuación.
La presente invención aborda los inconvenientes de seguridad mencionados anteriormente de la transacción con una emulación de tarjeta inteligente de software en un dispositivo de comunicación. La presente invención proporciona técnicas para mejorar la seguridad de un dispositivo de comunicación (por ejemplo, un dispositivo de comunicación) cuando se realiza una transacción utilizando el dispositivo de comunicación.
Este objeto se logra a través de un método dirigido a generar y asegurar los parámetros de una cuenta (claves, credenciales ...) que pueden tener una vida útil limitada y, una vez vencidos, ya no se pueden usar para realizar una transacción hasta que los parámetros de la cuenta se repongan desde la nube (por ejemplo, un ordenador remoto). En una realización, una clave maestra asociada a una aplicación móvil del dispositivo de comunicación está en manos de una autoridad de confianza, tal como el banco emisor. La autoridad de confianza está adaptada para generar claves de sesión protegidas para uso/acceso no autorizado sobre la base de la clave maestra y distribuir claves de sesión protegidas a la aplicación móvil. La recepción de la clave de sesión protegida por la aplicación móvil permite a la aplicación móvil recuperar la clave de sesión y realizar una transacción de pago de EMV. La clave de sesión se utiliza para la autorización de la transacción de pago de EMV.
En una realización, el método de la presente invención propone generar al menos una clave criptográfica de sesión a partir de la clave maestra. El método incluye un algoritmo de protección de la clave criptográfica de sesión para mejorar la seguridad de un dispositivo de comunicación cuando se realiza una transacción utilizando la aplicación móvil del dispositivo de comunicación. El método incluye generar un criptograma basado en la clave criptográfica de sesión protegida, transmitir el criptograma a un tercero para su verificación y validación. La verificación y validación del criptograma no tendrá éxito cuando se detecte un acceso/uso no autorizado de la clave criptográfica de sesión. En una realización, el método puede incluir el paso de eliminar la clave criptográfica de sesión del dispositivo de comunicación después de generar el criptograma.
En una realización, la sesión criptográfica puede asociarse con un conjunto de uno o más umbrales de uso limitado que limita el uso de la clave criptográfica de sesión.
La presente invención propone un método para proteger la clave criptográfica de sesión para asegurar que estos datos sensibles no puedan ser interceptados durante una transacción. Para eso, en una realización, la clave criptográfica de sesión puede estar ofuscada con datos vinculantes relacionados con un uso/acceso no autorizado de la clave criptográfica de sesión. Los datos vinculantes pueden estar relacionados con el usuario, la comunicación del dispositivo, la aplicación móvil y/o la ubicación del usuario, etc.
La clave criptográfica de sesión ofuscada se puede cifrar y suministrar desde el ordenador remoto al dispositivo de comunicación. La aplicación móvil está configurada para descifrar y desofuscar la clave criptográfica de sesión ofuscada cifrada recibida durante una transacción. El método también puede incluir generar, mediante el dispositivo de comunicación, un criptograma de transacción utilizando la clave criptográfica de sesión descifrada y desofuscada, y enviar por el dispositivo de comunicación a un dispositivo de acceso el criptograma de transacción para realizar la transacción. La transacción se puede autorizar basándose, al menos, en si la clave criptográfica de sesión descifrada y desofuscada es la esperada.
Una ventaja de la presente invención es mantener la clave criptográfica de sesión protegida y revelada desde el momento en que el ordenador remoto las genera y proporciona al dispositivo de comunicación hasta el último momento en que la clave criptográfica de la sesión se usa realmente para calcular el criptograma por el dispositivo de comunicación. Si se levanta, el uso de la clave criptográfica de sesión en otro sistema dará como resultado un fallo en la media de la circuitería de salida durante la fase de verificación y validación.
En una realización, la clave criptográfica de sesión generada se puede ofuscar con datos relacionados con el usuario. Esta ofuscación permite vincular la clave criptográfica de sesión con el usuario para evitar el acceso/uso no autorizado de la clave criptográfica de sesión. La clave criptográfica de la sesión solo puede ser utilizada por un usuario dado. Los datos vinculantes del usuario pueden ser un PIN, un identificador, una huella digital o cualquier otra información biométrica, o cualquier dato relacionado con el usuario.
En una realización, la clave criptográfica de sesión generada se puede ofuscar con datos relacionados con el dispositivo de comunicación. Esta ofuscación permite vincular la clave criptográfica de sesión con el dispositivo de comunicación para evitar el acceso/uso no autorizado de la clave criptográfica de sesión. La clave criptográfica de sesión solo se puede utilizar en el dispositivo de comunicación dado. Los datos vinculantes del dispositivo de comunicación pueden ser una característica específica y única del dispositivo de comunicación, tal como un identificador único, un identificador de la CPU, una salida de una Función Física no Clonable (PUF) implementada en la comunicación del dispositivo, identificadores de sensores, etc...
En una realización, la clave criptográfica de sesión generada se puede ofuscar con datos relacionados con la aplicación móvil. Esta ofuscación permite vincular la clave criptográfica de sesión con la aplicación móvil para evitar el acceso/uso no autorizado de la clave criptográfica de sesión por parte de otra aplicación. La clave criptográfica de sesión solo se puede utilizar en la aplicación dada. Los datos vinculantes de la aplicación pueden ser un identificador de la aplicación, una firma de un certificado utilizado para firmar la aplicación, una comprobación aleatoria de al menos una parte de la aplicación, etc.
En una realización, la clave criptográfica de sesión generada se puede ofuscar con datos relacionados con los umbrales de uso limitado (secuencia/historial/ciclo de vida) que limitan el uso de la clave criptográfica de sesión. Esta ofuscación permite vincular la clave criptográfica de sesión con los umbrales de uso limitado (secuencia/historial/ciclo de vida). La clave criptográfica de sesión solo se puede utilizar durante un instante de tiempo y una secuencia predeterminados. Los datos vinculantes de umbrales de uso limitado pueden ser un valor de contador de secuencia, una marca de tiempo, material de clave extraído de claves anteriores, etc.
Por supuesto, estos ejemplos de datos vinculantes son simplemente ejemplos, y se pueden emplear otros datos vinculantes para evitar el acceso/uso no autorizado de la clave criptográfica de sesión con datos geográficos, fecha, hora, ubicación, etc...
En una realización, se puede usar al menos un dato de vinculación para ofuscar la clave criptográfica de sesión para generar una clave ofuscada. La clave ofuscada se puede cifrar con una clave de transporte generada por el ordenador remoto. La clave de transporte puede estar cifrada con una clave estática generada por el ordenador remoto. La aplicación móvil en el dispositivo de comunicación está configurada para recuperar la clave estática. Durante la fase de aprovisionamiento, en lugar de aprovisionar la clave criptográfica de sesión a la comunicación del dispositivo, la clave criptográfica de sesión ofuscada cifrada se envía junto con la clave de transporte cifrada.
Durante la transacción, en una realización, se pueden realizar operaciones de descifrado, desofuscación/desvinculación de la clave criptográfica de sesión cifrada y ofuscada durante el cálculo del criptograma. Estas operaciones pueden ser virtualmente indistinguibles del cálculo del criptograma. Con la presente invención, un atacante no podría obtener la clave criptográfica de sesión solo con la aplicación y/o la emulación de tarjeta inteligente de software y las operaciones de descifrado, desofuscación/desvinculación indistinguibles del cálculo del criptograma. Esto hará que los análisis estáticos y dinámicos sean bastante difíciles y que consuman mucho tiempo para un atacante.
Con la presente invención, se inserta una condición sin parada en la aplicación cuando uno de los datos vinculantes es incorrecto y la clave criptográfica de sesión se recupera incorrectamente. En cambio, la ejecución de la aplicación continúa corrompiendo silenciosamente el cálculo del criptograma, el individuo malintencionado no podrá entender por qué y cuándo está fallando la generación del criptograma.
Para lograr esas y otras ventajas, y según el propósito de la invención tal como se incorpora y se describe ampliamente, la invención propone un método para mejorar la seguridad de un dispositivo de comunicación cuando se realiza una transacción utilizando una aplicación de transacción del dispositivo de comunicación, el método que comprende:
- un sistema remoto que se opera para generar al menos una clave criptográfica de sesión, dicha clave criptográfica de sesión que está vinculada a un contexto específico definido con datos que impiden el uso y/o acceso no autorizados de la clave criptográfica de sesión, de modo que cualquier cambio en el contexto específico corromperá la clave criptográfica de sesión durante la fase de desvinculación;
- el sistema remoto que se opera para enviar la clave criptográfica de sesión de vinculación generada al dispositivo de comunicación,
- durante el cálculo de un criptograma de transacción, el dispositivo de comunicación que se opera para:
- determinar los datos de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión y desvincular la clave criptográfica de sesión al contexto específico con los datos de prevención determinados;
- calcular el criptograma de transacción utilizando la clave criptográfica de sesión de desvinculación, en donde la transacción se autoriza basándose al menos en si el criptograma de transacción calculado es el esperado y la clave criptográfica de sesión de desvinculación no está dañada. Si la clave criptográfica de sesión de desvinculación está dañada, el criptograma se calculará incorrectamente y la transacción se rechazará en el lado del ordenador remoto. La presente invención propone un método para mejorar la seguridad de un dispositivo de comunicación cuando se realiza una transacción utilizando una aplicación de transacción del dispositivo de comunicación, el método que comprende:
- un sistema remoto que se opera para generar al menos una clave criptográfica de sesión, dicha clave criptográfica de sesión que está ofuscada con datos que impiden el uso y/o acceso no autorizados de la clave criptográfica de la sesión,
- el sistema remoto que se opera para enviar la clave criptográfica de sesión ofuscada generada al dispositivo de comunicación,
- durante el cálculo de un criptograma de transacción, el dispositivo de comunicación se opera para:
- determinar los datos de prevención para el uso y/o el acceso no autorizados de la clave criptográfica de sesión y desofuscar la clave criptográfica de sesión con los datos de prevención determinados;
- calcular el criptograma de transacción utilizando la clave criptográfica de sesión de desofuscación, en donde la transacción se autoriza basándose en al menos si los datos que impiden el uso y/o el acceso no autorizados a la clave criptográfica de sesión son los esperados.
Según una realización de la presente invención, la ofuscación de la clave criptográfica de sesión comprende los siguientes pasos:
- el sistema remoto que se opera para generar una clave de transporte, la clave criptográfica de sesión ofuscada que se cifra con dicha clave de transporte,
- el sistema remoto que se opera para cifrar la clave de transporte con una clave estática generada, dicha clave estática que es recuperable por el dispositivo de comunicación,
- el sistema remoto que se opera para transmitir al dispositivo de comunicación la clave criptográfica de sesión ofuscada cifrada junto con la clave de transporte cifrada durante una fase de aprovisionamiento o reposición de la clave criptográfica de sesión ofuscada cifrada.
Según una realización de la presente invención, la desofuscación de la clave criptográfica de sesión comprende los siguientes pasos:
- durante el cálculo del criptograma de transacción, el dispositivo de comunicación que se opera para recuperar la clave estática y para descifrar la clave de transporte cifrada,
- el dispositivo de comunicación que se opera para descifrar la clave criptográfica de sesión ofuscada cifrada con la clave de transporte descifrada.
Según una realización de la presente invención, la recuperación de la clave estática comprende el siguiente paso: - el dispositivo de comunicación se opera para extraer la clave estática almacenada como texto codificado en el código de la aplicación de transacción o almacenada en una memoria segura, o
- el dispositivo de comunicación se opera para generar la clave estática a partir de una clave maestra almacenada como texto codificado en el código de la aplicación de transacción o almacenada en una memoria segura.
Según una realización de la presente invención, la clave criptográfica de sesión está asociada con un conjunto de uno o más umbrales de uso limitado que limitan el uso de la clave criptográfica de sesión.
Según una realización de la presente invención, el conjunto de uno o más umbrales de uso limitado puede incluir al menos uno de un tiempo de vida que indica la duración del tiempo durante el cual la clave criptográfica de sesión es válida, un número predeterminado de transacciones para el cual la clave criptográfica de la sesión es válida, y/o una cantidad de transacción acumulada que indica la cantidad total de la transacción sumada a través de una o más transacciones para las que la clave criptográfica de sesión es válida.
Según una realización de la presente invención, los datos que impiden el uso y/o el acceso no autorizados de la clave criptográfica de sesión son datos que vinculan la clave criptográfica de sesión con datos relacionados con el usuario, la aplicación móvil, el dispositivo de comunicación y/o -los umbrales de uso limitado.
Según una realización de la presente invención, después de la generación del criptograma de transacción, el dispositivo de comunicación borra la clave criptográfica de sesión.
La presente invención también se refiere a un dispositivo de comunicación que comprende:
- un procesador; y
- una memoria acoplada al procesador y que almacena una aplicación de transacción que realiza operaciones para mejorar la seguridad del dispositivo de comunicación cuando se realiza la transacción utilizando el dispositivo de comunicación según cualquiera de las reivindicaciones anteriores.
La presente invención también se refiere a una aplicación de transacción para mejorar la seguridad de un dispositivo de comunicación cuando se realiza una transacción utilizando el dispositivo de comunicación, según cualquiera de las reivindicaciones anteriores, en donde
- la aplicación de transacción que comprende una unidad de procesamiento que comprende un servicio de aprovisionamiento configurado para establecer una comunicación con el sistema remoto durante una fase de aprovisionamiento o reposición de la clave criptográfica de sesión se vincula a un contexto específico definido con datos que impiden el uso y/o acceso no autorizados de la clave criptográfica de sesión de modo que cualquier cambio en el contexto específico dañará la clave criptográfica de sesión durante la fase de desvinculación,
- la aplicación de transacción que comprende una unidad de control, la unidad de control que comprende un módulo de seguridad,
- la unidad de procesamiento que se opera para transmitir al módulo de seguridad de la unidad de control, la clave criptográfica de sesión vinculada al contexto específico;
- durante el cálculo de un criptograma de transacción, el módulo de seguridad que se configura para:
- recuperar datos de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión y desvincular la clave criptográfica de sesión al contexto específico con los datos de prevención recuperados;
- calcular un criptograma a partir de la clave criptográfica de sesión de desvinculación, en donde la transacción se autoriza basándose en al menos si el criptograma de la transacción calculado es el esperado y la clave criptográfica de sesión de desvinculación no está dañada. Según una realización de la presente invención, el módulo de seguridad es una criptografía de caja blanca o un Entorno de Ejecución de Confianza.
Según una realización de la presente invención, la unidad de procesamiento y la unidad de control tienen la forma de un kit de desarrollador de software integrado en la aplicación de transacción.
Según una realización de la presente invención, la unidad de procesamiento se implementa en código independiente de la plataforma y la unidad de control se implementa en código nativo.
Según una realización de la presente invención, el código independiente de la plataforma es Java.
Lo anterior es un compendio y, por lo tanto, puede contener simplificaciones, generalizaciones y omisiones de detalles; en consecuencia, los expertos en la técnica apreciarán que el compendio es solo ilustrativo y no pretende ser limitante de ningún modo.
Para una mejor comprensión de las realizaciones, junto con otras características y ventajas adicionales de las mismas, se hace referencia a la siguiente descripción, tomada junto con los dibujos adjuntos. El alcance de la invención se indicará en las reivindicaciones adjuntas.
Breve descripción de los dibujos
La siguiente descripción detallada se entenderá mejor con los dibujos, en los que:
La Figura 1 ilustra las diferentes entidades en un dispositivo de comunicación involucradas en una transacción. La Figura 2 ilustra un ejemplo de implementación de las diferentes entidades de un sistema involucradas en una transacción a través de una Tarjeta ICC emulada.
La Figura 3 es un diagrama de flujo lógico según una realización ejemplar de esta invención durante una fase de aprovisionamiento de la clave de sesión por un sistema remoto al dispositivo de comunicación.
La Figura 4 es un diagrama de flujo lógico según una realización ejemplar de esta invención durante el cálculo de un criptograma.
Descripción detallada de las realizaciones de la invención
Se entenderá fácilmente que los componentes de las realizaciones, como se describen e ilustran generalmente en las figuras de la presente memoria, pueden disponerse y diseñarse en una amplia variedad de configuraciones diferentes además de las realizaciones de ejemplo descritas. Por tanto, la siguiente descripción más detallada de las realizaciones de ejemplo, como se representan en las figuras, no pretende limitar el alcance de las realizaciones, como se reivindica, sino que es simplemente representativa de las realizaciones de ejemplo.
La referencia a lo largo de la especificación a "una realización" significa que un rasgo, estructura o característica particular descrito en relación con una realización se incluye en al menos una realización del tema descrito. Por tanto, la aparición de la frase "en una realización" en varios lugares a lo largo de la especificación no se refiere necesariamente a la misma realización. Además, los rasgos, estructuras o características particulares pueden combinarse de cualquier manera adecuada en una o más realizaciones.
Como se usa en la presente memoria, las formas singulares "un", "una", "el" y “la” pretenden incluir las formas plurales también, a menos que el contexto indique claramente lo contrario. Se entenderá además que los términos "comprende" y/o "que comprende", cuando se usan en esta especificación, especifican la presencia de características, números enteros, pasos, operaciones, elementos y/o componentes declarados, pero no excluyen la presencia o adición de una o más características, números enteros, pasos, operaciones, elementos, componentes y/o grupos de los mismos.
En la siguiente descripción, se proporcionan numerosos detalles específicos para proporcionar una comprensión minuciosa de las realizaciones. Un experto en la técnica relevante reconocerá, sin embargo, que las diversas realizaciones se pueden poner en práctica sin uno o más de los detalles específicos, o con otros métodos, componentes, materiales, etc. En otros casos, las estructuras, materiales u operaciones bien conocidos no se muestran ni se describen en detalle para evitar la ofuscación.
La presente invención no es específica de ninguna implementación particular de hardware o software, y se encuentra en un nivel conceptual por encima de las especificaciones de implementación. Debe entenderse que pueden producirse otras diversas realizaciones y variaciones de la invención sin apartarse del alcance de la invención. Se proporciona lo siguiente para ayudar a comprender la implementación práctica de realizaciones particulares de la invención.
Los mismos elementos se han designado con los mismos números de referencia en los diferentes dibujos. En aras de la claridad, sólo se han mostrado en los dibujos y se describirán aquellos elementos y pasos que son útiles para la comprensión de la presente invención.
Además, tampoco se han detallado los mecanismos de comunicación de datos entre las partes y su entorno, siendo aquí de nuevo la presente invención compatible con los mecanismos habituales.
Además, las líneas de conexión mostradas en las diversas figuras contenidas en la presente memoria están destinadas a representar relaciones funcionales ejemplares y/o acoplamientos físicos entre los diversos elementos. Cabe señalar que muchas alternativas o relaciones funcionales o conexiones físicas adicionales pueden estar presentes en un sistema práctico. Además, las diversas entidades de la Figura 1 a la Figura 4 pueden comunicarse a través de cualquier medio de comunicación adecuado (incluido Internet), utilizando cualquier protocolo de comunicación adecuado.
Muchos sistemas de pago electrónico utilizan los protocolos de transacción EMV (Europay®, Mastercard®, Visa®), como se define, por ejemplo, en las Especificaciones de EMV o las Especificaciones sin Contacto de EMV para Sistemas de Pago, que están disponibles públicamente y son publicadas por EMVCo LLC. Estos protocolos se denominan en la presente memoria simplemente "EMV".
En la presente memoria se describen en varias implementaciones sistemas y métodos para proporcionar comunicación segura, transferencia y almacenamiento de datos seguros, autenticación y autorización de transacción que se pueden realizar a través de un dispositivo de comunicación con o sin un elemento seguro. Las realizaciones de la presente invención proporcionan técnicas para mejorar la seguridad del dispositivo de comunicación cuando se realiza una transacción utilizando el dispositivo de comunicación sin involucrar un elemento seguro. Las técnicas descritas en la presente memoria se pueden usar con un dispositivo de comunicación que puede tener o no un elemento seguro, porque las técnicas no requieren el uso de un elemento seguro, pero el elemento seguro podría estar presente.
En el ejemplo de implementación que se describe a continuación, la presente invención proporciona técnicas para mejorar la seguridad del dispositivo de comunicación cuando se realiza una transacción utilizando el dispositivo de comunicación utilizando una Tarjeta de Circuito Integrado ICC emulada también denominada tarjeta ICC emulada.
En una realización no limitativa, la tarjeta de circuito integrado ICC emulada es una tarjeta inteligente emulada. En un ejemplo no limitativo, la tarjeta inteligente emulada es una tarjeta bancaria emulada, tal como una tarjeta de EMV emulada.
La emulación se refiere al uso de un programa o hardware de ordenador para proporcionar (es decir, emular) la funcionalidad de otro software o hardware. Un emulador puede incluir módulos que correspondan a componentes de hardware de un dispositivo emulado. Por ejemplo, un emulador puede proporcionar la emulación de una unidad central de procesamiento (CPU), un subsistema de memoria y dispositivos de entrada/salida. En el caso de la emulación mediante un emulador basado en software, el emulador puede interpretar un sistema operativo y otras aplicaciones, en lugar de ejecutarlas mediante hardware nativo. Un emulador basado en software también puede emular una arquitectura de hardware particular que la arquitectura de un dispositivo anfitrión en el que se ejecuta el emulador.
Por ejemplo, en la realización descrita en la presente memoria, se configura un emulador para emular el circuito integrado (por ejemplo, una CPU) que tiene un conjunto de instrucciones diferente al de un circuito integrado físico del dispositivo anfitrión. La tarjeta de circuito integrado emulado puede duplicar el ciclo de instrucción y la temporización del ciclo de instrucción del circuito integrado físico.
La tarjeta ICC emulada puede incluir hardware emulado, sistemas operativos, módulos de software, aplicaciones, complementos, entornos de ejecución, motores gráficos, métodos de entrada/salida, controladores, clientes de capas de abstracción, protocolos de conexión, protocolos de seguridad, almacenamiento, memoria y periféricos virtualizados. Además, la tarjeta ICC emulada puede seleccionar diferentes conjuntos de instrucciones de CPU para su funcionamiento que pueden ser diferentes del conjunto de instrucciones utilizado por la CPU del dispositivo anfitrión.
La tarjeta ICC emulada puede ejecutarse en un sistema operativo (SO) de un dispositivo anfitrión y puede habilitar servicios de autenticación/autorización basados en dispositivos para comerciantes y proveedores de servicios de comercio electrónico y móvil.
Por ejemplo, la tarjeta ICC emulada puede proporcionar una solicitud de autorización de transacción a través de una aplicación móvil y servicios web basados en la nube de manera segura. En otros casos, la tarjeta ICC emulada permite el almacenamiento, el intercambio y la transmisión seguros de información hacia y desde diversas formas de dispositivos, instrumentos, ordenadores y otros sistemas móviles y no móviles.
Además, se pueden emular varios dispositivos, sistemas, programas, instrumentos y equipos utilizando las técnicas descritas en la presente memoria, tales como quioscos, estaciones de trabajo, dispositivos de mano para sistemas de punto de venta, dispositivos bancarios, cajeros automáticos, sistemas minoristas y de pago, dispositivos de atención médica, equipos de defensa y gubernamentales, dispositivos de votación y recopilación de datos, y otros dispositivos de almacenamiento y transmisión de datos.
Antes de discutir los detalles de algunas realizaciones de la presente invención, la descripción de algunos términos puede ser útil para comprender las diversas realizaciones.
Un "dispositivo de acceso" puede ser cualquier dispositivo adecuado para comunicarse con un ordenador comercial o una red de procesamiento de pagos, y para interactuar con un dispositivo de pago, un aparato informático de usuario y/o un dispositivo móvil de usuario. Generalmente, un dispositivo de acceso puede estar ubicado en cualquier ubicación adecuada, tal como la ubicación de un comerciante. Un dispositivo de acceso puede tener cualquier forma adecuada. Algunos ejemplos de dispositivos de acceso incluyen dispositivos POS, teléfonos celulares, PDA, ordenadores personales (PC), tabletas, lectores especializados de mano, decodificadores, cajas registradoras electrónicas (ECR), cajeros automáticos (ATM), registros de efectivo virtual (VCR), quioscos, sistemas de seguridad, sistemas de acceso, sitios web y similares. Un dispositivo de acceso puede usar cualquier modo de operación de contacto o sin contacto adecuado para enviar o recibir datos de, o asociados con, un dispositivo de comunicación portátil. En algunas realizaciones, donde un dispositivo de acceso puede comprender un terminal POS, se puede usar cualquier terminal POS adecuado y puede incluir un lector, un procesador y un medio legible por ordenador. Un lector puede incluir cualquier modo de operación adecuado con contacto o sin contacto. Por ejemplo, los lectores de tarjetas ejemplares pueden incluir antenas de radiofrecuencia (RF), escáneres ópticos, lectores de códigos de barras o lectores de bandas magnéticas para interactuar con un dispositivo de comunicación portátil.
Un "emisor" puede referirse típicamente a una entidad comercial (por ejemplo, un banco) que mantiene una cuenta para un usuario que está asociada con un dispositivo de comunicación, tal como una cuenta inscrita en la aplicación móvil 18 instalada en el dispositivo de comunicación 10. Un emisor también puede emitir parámetros de cuenta asociados con la cuenta a un dispositivo de comunicación. Un emisor puede estar asociado con un sistema anfitrión que realiza algunas o todas las funciones del emisor en nombre del emisor.
Una "clave" puede referirse a un fragmento de información que se utiliza en un algoritmo criptográfico para transformar los datos de entrada en otra representación. Un algoritmo criptográfico puede ser un algoritmo de cifrado que transforma los datos originales en una representación alternativa, o un algoritmo de descifrado que vuelve a transformar la información cifrada en los datos originales. Los ejemplos de algoritmos criptográficos pueden incluir el estándar de cifrado de datos triple (TDES), el estándar de cifrado de datos (DES), el estándar de cifrado avanzado (AES), etc.
Un "umbral de uso limitado" puede referirse a una condición que limita el uso de un fragmento de información. Un umbral de uso limitado puede superarse o agotarse cuando se cumple la condición subyacente. Por ejemplo, un umbral de uso limitado puede incluir un tiempo de vida que indica una cantidad de tiempo durante el cual un fragmento de información es válido y, una vez que ha transcurrido ese tiempo, el umbral de uso limitado se supera o se agota y el fragmento de información puede perder su validez y dejar de utilizarse. Como otro ejemplo, un umbral de uso limitado puede incluir un número de veces que se puede utilizar un fragmento de información, y una vez que el fragmento de información se ha utilizado ese número de veces, el umbral de uso limitado se supera o se agota, y el fragmento de información puede perder su validez y dejar de utilizarse.
Un "criptograma" puede referirse a una representación cifrada de cierta información. Un destinatario puede utilizar un criptograma para determinar si el generador del criptograma está en posesión de una clave adecuada, por ejemplo, cifrando la información subyacente con una clave válida y comparando el resultado con el criptograma recibido. Un "mensaje de solicitud de autorización" puede ser un mensaje electrónico que se envía para solicitar la autorización de una transacción. El mensaje de solicitud de autorización se puede enviar a una red de procesamiento de pagos y/o al emisor de una tarjeta de pago. Un mensaje de solicitud de autorización según algunas realizaciones puede cumplir con el documento ISO 8583, que es un estándar para sistemas que intercambian información de transacciones electrónicas asociada con un pago realizado por un usuario que usa un dispositivo de pago o una cuenta de pago. El mensaje de solicitud de autorización puede incluir información que se puede utilizar para identificar una cuenta. Un mensaje de solicitud de autorización también puede comprender elementos de datos adicionales, tales como uno o más de un código de servicio, una fecha de vencimiento, etc. Un mensaje de solicitud de autorización también puede comprender información de la transacción, tal como cualquier información asociada con una transacción actual, tal como la cantidad de la transacción, identificador del comerciante, ubicación del comerciante, etc., así como cualquier otra información que pueda utilizarse para determinar si identificar y/o autorizar una transacción, tal como el criptograma. El mensaje de solicitud de autorización también puede incluir otra información, tal como información que identifica el dispositivo de acceso que generó el mensaje de solicitud de autorización, información sobre la ubicación del dispositivo de acceso, etc.
En la siguiente descripción:
- el código fuente se refiere al código de programación que es un código independiente de la plataforma. El código fuente es interoperable, ya que puede ejecutarse sin ser modificado en ningún tipo de dispositivo, tal como una tarjeta de circuito integrado ICC que admita una máquina virtual VM. Está escrito en un lenguaje portátil y lo ejecuta una máquina virtual. Una vez compilado, el código fuente genera instrucciones de máquina virtual;
- las instrucciones de la máquina virtual se refieren al código de programación que se ejecuta a través de una máquina virtual en lugar de un procesador unitario, tal como el procesador unitario de la ICC. Dicho código de programación es un código independiente de la plataforma. Dichas instrucciones de la máquina virtual se emiten a partir de la compilación del código fuente;
- una máquina virtual VM es un intérprete que decodifica y ejecuta las instrucciones de la máquina virtual;
- una función nativa se refiere al código de programación que cuando se compila genera un código nativo;
- el código nativo (también llamado lenguaje de máquina) se refiere al código de programación que está configurado para ejecutarse en el procesador de unidad. Por lo general, el código nativo no se ejecutará si se usa en un procesador de unidad diferente al de para el cual fue escrito específicamente. Es un código dependiente de la plataforma. En el ejemplo de la tarjeta de circuito integrado ICC emulada, un código nativo está vinculado a procesador de unidad emulado de dicha tarjeta de circuito integrado emulada;
- una operación (también llamada funcionalidad) se refiere a un proceso funcional; y
- una instrucción se refiere a una instrucción de código.
En ejemplos no limitativos:
el código fuente puede estar escrito en Java, .NET o JavaCard™ o en cualquier lenguaje independiente de la plataforma existente.
- la función nativa puede estar escrita en lenguaje C, lenguaje ensamblador o lenguaje C++ o cualquier lenguaje dependiente de la plataforma existente.
Estos ejemplos no limitativos se tomarán en la siguiente descripción.
Algunas realizaciones se describen en la presente memoria en el contexto de una transacción de pago compatible con EMV en un terminal de Punto de Venta (POS) comercial que utiliza comunicaciones de campo cercano (NFC). Sin embargo, se apreciará que las realizaciones descritas en la presente memoria se pueden usar en relación con transacciones en cajeros automáticos, transacciones de quioscos o máquinas expendedoras desatendidas, comercio electrónico y otras transacciones similares. Además, existen muchas variaciones de protocolo en EMV para transacciones de NFC. Las realizaciones descritas en la presente memoria pueden emplearse con otros protocolos o estándares.
Ahora se describirán detalles de algunas realizaciones de la presente invención.
Refiriéndose a la Figura 1, en una implementación, un dispositivo de comunicación de usuario 10 comprende un sistema operativo nativo 11 que se ejecuta en un hardware de dispositivo 12. El dispositivo de comunicación 10 puede ser un dispositivo móvil u otro dispositivo, tal como un teléfono inteligente, reloj inteligente, gafas inteligentes, tableta, ordenador de escritorio, ordenador portátil, televisión, dispositivo de juego, reproductor de música, teléfono móvil, ordenador portátil, ordenador de mano, terminal inteligente o tonto, ordenador en red, asistente digital personal, dispositivo inalámbrico, aparato de información, estación de trabajo, miniordenador, ordenador central u otro dispositivo informático que puede ejecutar la funcionalidad descrita en la presente memoria.
El sistema operativo nativo 11 puede ser un sistema operativo móvil, de escritorio, de servidor u otro, tal como una plataforma Apple iOS®, una plataforma Google Android™, un sistema operativo Microsoft Windows®, un sistema operativo Apple OS X®, un sistema operativo Linux®, variantes de un sistema operativo UNIX® y similares.
El hardware de dispositivo 12 puede incluir uno o más procesadores adecuados para la ejecución de un programa informático, incluidos microprocesadores de propósito tanto general como especial. Generalmente, un procesador recibe instrucciones y datos almacenados en una memoria de solo lectura o una memoria de acceso aleatorio o ambas. Los soportes de información adecuados para incorporar instrucciones y datos de programas informáticos incluyen todas las formas de memoria no volátil. Una o más memorias pueden almacenar instrucciones que, cuando son ejecutadas por un procesador, forman los módulos y otros componentes descritos en la presente memoria y realizan la funcionalidad asociada con los componentes. El procesador y la memoria pueden complementarse o incorporarse en circuitos lógicos de propósito especial.
El dispositivo de comunicación 10 puede incluir una pluralidad de módulos de procesamiento de software almacenados en una memoria y ejecutados en un procesador. A modo de ilustración, los módulos de programa pueden tener la forma de uno o más lenguajes de programación adecuados, que se convierten a lenguaje máquina o código objeto para permitir que el procesador o procesadores ejecuten las instrucciones. El software puede tener la forma de una aplicación independiente, implementada en un lenguaje de programación o marco adecuado.
En una implementación, un módulo de procesamiento de software del dispositivo de comunicación 10 comprende la tarjeta ICC emulada 13. La tarjeta ICC emulada puede incluir hardware emulado 14 y software emulado, tal como el sistema operativo emulado 16. El hardware emulado 14 puede incluir uno o más procesadores emulados, tales como la unidad de procesamiento central (CPU) emulada 15, memorias emuladas y otros medios de almacenamiento, dispositivos de entrada y/o salida emulados, puertos de comunicaciones emulados y otras interfaces, etc. El sistema operativo emulado 16 puede configurarse para comunicarse con el sistema operativo nativo 11 a través de una interfaz de red emulada de la tarjeta ICC emulada 13.
La tarjeta ICC emulada 13 también puede comprender un contenedor de servicios 17, en el que se pueden ejecutar uno o más servicios. Los servicios 17 pueden incluir, entre otros, entrada/salida segura, almacenamiento, gestión de claves, gestión de Códigos de Respuesta Rápida (QRC), comunicación de campo cercano (NFC), aplicaciones móviles 18, Emulación de Tarjetas de Anfitrión y otros servicios de seguridad y almacenamiento. .
La aplicación móvil 18 puede ser proporcionada por un proveedor de aplicaciones móviles. Por ejemplo, si el proveedor de la aplicación móvil 18 es un emisor, la aplicación móvil 18 puede ser una aplicación de banca móvil o una aplicación de pago móvil separada. Si el proveedor es un proveedor de billetera móvil, tal como un operador de red móvil o un proveedor de billetera de terceros que soporta múltiples emisores, la aplicación móvil 18 puede ser una aplicación de billetera móvil. Para los comerciantes, la aplicación móvil 18 puede ser la propia aplicación móvil del comerciante desde la cual los consumidores pueden realizar transacciones de comercio electrónico o de punto de venta con ese comerciante, o puede ser una aplicación de billetera móvil que admita múltiples comerciantes. El proveedor de la aplicación móvil 18 puede ser otras entidades adecuadas.
En una implementación no limitativa, la tecnología de emulación de tarjeta (por ejemplo, Emulación de Tarjeta de Anfitrión (HCE), etc.) permite emular una tarjeta inteligente en el dispositivo de comunicación 10 para permitir que la aplicación móvil 18 que se ejecuta en el dispositivo de comunicación realice transacciones tales como transacción sin contacto. En el entorno de emulación de tarjeta, la aplicación móvil 18 puede acceder a la interfaz sin contacto del dispositivo de comunicación 10 a través del sistema operativo (OS) 11 del dispositivo de comunicación 10.
Los ejemplos de interfaz sin contacto pueden incluir uno o más transceptores de radiofrecuencia (RF) que pueden enviar y recibir comunicaciones usando comunicaciones de campo cercano (NFC) u otros protocolos de comunicación de radiofrecuencia o inalámbricos, tales como Bluetooth, Bluetooth de baja energía (BLE), Wi-Fi, iBeacon, etc. En algunas realizaciones, la interfaz sin contacto puede incluir una interfaz óptica (por ejemplo, una pantalla de visualización) para presentar información de pago en forma de una imagen, tal como un código de Respuesta Rápida (QR) o un código de barras, etc. a un dispositivo sin contacto que incluye un lector o escáner de código óptico.
En una realización, la aplicación móvil 18 comprende una unidad de procesamiento 18a y una unidad de control 18b. La unidad de procesamiento 18a y la unidad de control 18b de la aplicación móvil pueden tener la forma de un kit de desarrollador de software (SDK) integrado en la aplicación móvil para soportar las funcionalidades de la transacción. La unidad de procesamiento 18a y la unidad de control 18b pueden realizar funciones para facilitar transacciones tales como generar criptogramas de transacciones para su transmisión a un sistema remoto 21.
La unidad de procesamiento 18a y la unidad de control 18b pueden realizar funciones para facilitar transacciones tales como descifrar y desofuscar los parámetros de la cuenta, generar criptogramas de transacción, para su transmisión a un sistema remoto 21. La unidad de procesamiento 18a y la unidad de control 18b también pueden gestionar los parámetros del perfil de servicio inicial (por ejemplo, umbrales de uso limitado) que se proporcionan después de que se ha aprovisionado una cuenta para garantizar que se inicien las solicitudes de reposición de parámetros de cuenta y otras actividades de gestión de parámetros de cuenta.
En una realización, la unidad de control 18b puede comprender un módulo de seguridad 29. El módulo de seguridad 29 puede implementarse con un nivel más alto de seguridad.
En una realización, el módulo de seguridad 29 puede comprender un criptográfico de caja blanca, o "criptográfico WB", que es una tecnología criptográfica única que protege los algoritmos criptográficos de modo que sus operaciones puedan ejecutarse dentro de un entorno hostil sin filtrar una clave criptográfica y otros valores criptográficos.
En otra realización, el módulo de seguridad 29 puede comprender un TEE (Entorno de Ejecución de Confianza). En un ejemplo no limitativo, la unidad de procesamiento 18a de la aplicación móvil 18 se implementa en un código de plataforma independiente tal como Java y la unidad de control 18b en código nativo.
Un ejemplo de un sistema de comunicación de transacción 20 en el que se pueden implementar las diversas realizaciones ejemplares descritas en la presente memoria se describe ahora con respecto a la Figura 2. Los componentes del sistema 20 pueden incluir el sistema remoto 21 para gestionar transacciones realizadas usando el dispositivo de comunicación 10. El sistema remoto 21 puede implementarse usando uno o más dispositivos informáticos u ordenadores, tales como uno o más ordenadores servidores, y puede ser asociado con o ser operado por un proveedor de servicios tal como un emisor, procesador de pagos y/u otras entidades adecuadas. El sistema remoto 21 puede gestionar cuentas de usuario, proporcionar funciones de verificación y validación para transacciones, gestionar mensajes del ciclo de vida desde el sistema emisor/anfitrión, así como iniciar eventos de gestión del ciclo de vida.
Para asegurar que las transacciones se procesen de manera apropiada, se implementan varias funciones centrales en el sistema remoto 21 (no mostrado) para gestionar el despliegue y uso de los parámetros de la cuenta. Estas funciones pueden incluir aprovisionamiento, gestión activa de cuentas, verificación de pago, procesamiento de transacciones, gestión del ciclo de vida y procesamiento posterior al pago.
El sistema remoto 21 puede realizar funciones de inscripción para inscribir a un titular de tarjeta móvil y un conjunto de funciones de aprovisionamiento que facilitan la preparación y entrega de los parámetros de la cuenta. El sistema remoto 21 puede realizar funciones de reposición de parámetros de cuenta para facilitar el proceso de reposición de parámetros de cuenta para la provisión en el dispositivo de comunicación y funciones de gestión de cuenta que gestionan la reposición.
La unidad de procesamiento 18a puede comprender un servicio de aprovisionamiento 22 configurado para facilitar las comunicaciones entre la aplicación móvil 18 que se ejecuta en el dispositivo de comunicación 10 y otras entidades en el sistema remoto 21. El servicio de aprovisionamiento 22 puede comunicarse con el sistema remoto 21 a través de una red de comunicaciones tal como Internet.
En algunas realizaciones, el servicio de aprovisionamiento 22 puede implementar funcionalidades de autenticación y firma para autenticar al usuario y/o al dispositivo de comunicación 10 cuando el dispositivo de comunicación 10 se comunica con las otras entidades del sistema remoto 21. Las funcionalidades de autenticación pueden asegurar que un usuario y/o un dispositivo de comunicación que se comunica con el sistema es uno autorizado.
El servicio de aprovisionamiento 22 puede comprender un conjunto de funciones de aprovisionamiento que facilitan la gestión de los parámetros de la cuenta. El servicio de aprovisionamiento 22 puede comprender funciones de reposición de parámetros de cuenta para facilitar el proceso de reposición de parámetros de cuenta desde el sistema remoto 21 en el dispositivo de comunicación 10.
El servicio de aprovisionamiento 22 encargado de establecer y mantener un canal de comunicación seguro con el sistema remoto 21 puede ser desencadenado por el sistema remoto 21.
La Figura 3 ilustra un diagrama de flujo 30 de la provisión del parámetro de cuenta para la configuración inicial de la aplicación móvil 18 en el dispositivo de comunicación 10.
El proceso de inscripción y aprovisionamiento puede iniciarse desde la aplicación móvil 18 portátil instalada en el dispositivo de comunicación 10. La aplicación móvil 18 puede estar preinstalada en el dispositivo de comunicación durante la fabricación o por un minorista, o por un usuario que descarga la aplicación móvil desde una tienda de aplicaciones o de un emisor o proveedor de servicios e instalar la aplicación móvil 18 en el dispositivo de comunicación 10.
El usuario puede iniciar la aplicación móvil e iniciar una solicitud de inscripción 31 desde la aplicación móvil 18 para agregar una cuenta al sistema remoto 21. La solicitud de inscripción 31 se envía desde el dispositivo de comunicación 10 al sistema remoto 21, y puede incluir información que puede ser utilizado para identificar al usuario y la cuenta del usuario, así como información del dispositivo sobre el dispositivo de comunicación.
Durante la inscripción del usuario del dispositivo de comunicación 10 en el sistema remoto 21, un servicio de aprovisionamiento del sistema remoto 21 puede crear parámetros de cuenta tales como un identificador para identificar la cuenta inscrita. Los parámetros de la cuenta (también denominados "credenciales de la cuenta") son información relacionada con una cuenta (por ejemplo, una cuenta financiera, una cuenta bancaria, una cuenta de pago, etc.) asociada con un usuario que se puede utilizar para realizar transacciones en la cuenta del usuario. Los parámetros de la cuenta se pueden proporcionar o aprovisionar al dispositivo de comunicación 10 para permitir que el dispositivo de comunicación 10 realice transacciones en la cuenta del usuario (por ejemplo, colocando el dispositivo de comunicación cerca de un lector sin contacto de un dispositivo de acceso 27 como un terminal de punto de venta (POS)).
Los parámetros de cuenta pueden comprender un identificador que se puede usar para identificar una cuenta asociada con el usuario (por ejemplo, un identificador de cuenta tal como un número de cuenta principal (PAN), un identificador de cuenta alternativo tal como un PAN alternativo o un testigo que es un sustituto de un identificador de cuenta, etc.), una fecha de vencimiento y/u otros detalles o datos de la cuenta que no cambian necesariamente durante un período de tiempo prolongado, o en algunas realizaciones, durante la vida útil de la cuenta.
El parámetro de cuenta puede comprender una o más claves de criptografía de sesión ofuscadas cifradas que pueden estar asociadas con una vida útil limitada, y se actualizan o reponen repetidamente cuando han agotado su uso limitado durante la vida útil de una cuenta. La vida útil limitada puede ser un tiempo limitado o un número limitado de transacciones.
Cuando el sistema remoto 21 recibe una solicitud de inscripción 31 de la comunicación móvil 10, el sistema remoto 21 puede realizar la identificación, autenticación y verificación del usuario y la cuenta del usuario, en el paso 32. El sistema remoto puede enviar, en el paso 33, una solicitud de aprovisionamiento a un servidor de gestión de claves 23 para generar las claves. El servidor de gestión de claves 23 puede mantenerse en una ubicación segura y funciona como una instalación fuera de línea centralizada para gestionar el sistema global de gestión de claves. En una realización, el servidor de gestión de claves 23 puede comprender un módulo de seguridad de hardware (HSM) de un sistema de gestión de claves. El servidor de gestión de claves 23 puede ser mantenido o gestionado por una entidad del sistema remoto 21, tal como el servidor del sistema emisor/anfitrión o el proveedor de servicios.
Al recibir la solicitud de aprovisionamiento 33, el servidor de gestión de claves 23 puede usar una clave de derivación maestra (MDK) asociada a la aplicación móvil 18 para generar el conjunto inicial de parámetros de cuenta para el aprovisionamiento al dispositivo de comunicación 10. El servidor de gestión de claves 23 puede generar, en el paso 34, la clave criptográfica de sesión. La clave criptográfica de sesión se utiliza para generar un criptograma. Existen varios algoritmos diferentes existentes en uso para generar una clave criptográfica de sesión a partir de una clave maestra.
En algunas realizaciones, la clave de derivación maestra MDK puede generar previamente un número de por vida de claves criptográficas de sesión que se proporcionarán al dispositivo de comunicación 10. En otras realizaciones, se puede generar previamente un número de claves criptográficas de sesión correspondientes al número de valores posibles de un contador de transacciones. El contador de transacciones puede ser el Contador de T ransacciones de Aplicaciones (ATC) definido por EMV. En otras realizaciones más, se puede generar previamente un número limitado de claves criptográficas de sesión, y se pueden proporcionar claves criptográficas de sesión adicionales al dispositivo de comunicación en un momento posterior.
En una realización, la clave criptográfica de sesión está asociada con un índice de clave. El índice de clave puede incluir información relacionada con la generación de la clave criptográfica de la sesión. Por ejemplo, el índice de clave puede usarse como semilla para generar su clave criptográfica de sesión correspondiente. El índice de clave puede incluir información de tiempo (por ejemplo, una marca de tiempo) que indica cuándo se genera la clave criptográfica de sesión, y/o puede incluir un valor de contador de reposición que indique el número de veces que la clave criptográfica de sesión se ha renovado o repuesto para una cuenta en particular, aplicación móvil o dispositivo de comunicación. En algunas realizaciones, el valor del contador de reposición puede indicar el número de veces que se ha repuesto la clave criptográfica de sesión dentro de un período de tiempo predeterminado, y el valor del contador de reposición puede reiniciarse cuando transcurre cada período de tiempo predeterminado. En algunas realizaciones, la clave criptográfica de sesión puede incluir un valor de contador de transacciones de la aplicación que indica el número de transacciones que ha sido realizado previamente por la aplicación móvil 18 del dispositivo de comunicación 10 en el momento en que se genera la clave criptográfica de sesión, o puede incluir un número pseudoaleatorio generado por un proveedor de servicios o por una entidad adecuada, tal como un emisor involucrado en el procesamiento de la transacción. Debe entenderse que el índice de clave puede incluir uno o más fragmentos de información pertenecientes a la generación de la clave criptográfica de sesión, y que uno o más o todos los fragmentos de información incluidos en el índice de clave se pueden utilizar como semilla para generar la clave criptográfica de sesión.
En una realización, la clave criptográfica de sesión generada puede asociarse con un conjunto de uno o más umbrales de uso limitado que limitan el uso de la clave criptográfica de sesión, donde una vez que el uso de la clave criptográfica de sesión ha agotado o excedido el conjunto de uno o umbrales de uso más limitado, una transacción adicional realizada usando esa clave criptográfica de sesión se rechazará incluso si la cuenta subyacente todavía está al día. El conjunto de uno o más umbrales de uso limitado para hacer cumplir puede ser determinado, por ejemplo, por un emisor de la cuenta o por un proveedor de servicios que proporciona el servicio de transacciones.
El conjunto de uno o más umbrales de uso limitado puede incluir al menos uno de un tiempo de vida que indica la duración de tiempo durante el cual la clave criptográfica de sesión es válida, un número predeterminado de transacciones para las cuales la clave criptográfica de sesión es válida, y/o una cantidad de transacción acumulativa que indica la cantidad de transacción total sumada a través de una o más transacciones para las que la clave criptográfica de sesión es válida, o cualquier combinación de las mismas.
Por ejemplo, una clave criptográfica de sesión puede ser válida para un tiempo de vida de cinco días, y una transacción realizada usando esa clave criptográfica de sesión después de que hayan transcurrido cinco días desde que se generó la clave criptográfica de la sesión puede ser rechazada. Como otro ejemplo, una clave criptográfica de sesión puede ser válida para un número predeterminado de cinco transacciones, y una sexta transacción (y cualquier transacción posterior) realizada utilizando esa clave criptográfica de sesión puede ser rechazada. Como ejemplo adicional, una clave criptográfica de sesión puede ser válida para una cantidad de transacción acumulativa de quinientos dólares, y una transacción realizada utilizando la clave criptográfica de sesión después de que la clave criptográfica de sesión ya se haya utilizado para transacciones por un total de más de quinientos dólares puede ser rechazada.
Debe entenderse que los valores de uso limitado descritos anteriormente son solo ejemplos y que se pueden usar otros límites de uso. También debe tenerse en cuenta que, en algunas realizaciones, el umbral de uso limitado del número de transacciones se puede establecer en una transacción, tal como cada clave criptográfica de sesión es válida para una sola transacción.
En una realización, después de la transacción, el dispositivo de comunicación 10 puede eliminar la clave criptográfica de sesión usando un protocolo que hace que la clave criptográfica de sesión no pueda recuperarse del dispositivo de comunicación 10. Por ejemplo, la clave criptográfica de sesión puede borrarse usando técnicas bien conocidas de borrado seguro de datos en las que se sobrescriben repetidamente datos pseudoaleatorios en la ubicación de la memoria física en la que se almacenó la clave criptográfica de sesión.
En la presente invención, para proteger la clave criptográfica de sesión para uso/acceso no autorizado, el servidor de gestión de claves 23 puede definir un contexto específico para vincularse a la clave criptográfica de sesión. El contexto específico se define con al menos un dato que impide el uso y/o acceso no autorizados de la clave criptográfica de sesión de modo que cualquier cambio en el contexto específico dañará la clave criptográfica de la sesión durante la fase de desvinculación;
En una realización, el servidor de gestión 23 de claves puede aplicar a la clave criptográfica de sesión generada un proceso de ofuscación, en el paso 35, de forma reversible. El servidor de gestión de claves 23 genera la clave criptográfica de sesión ofuscada. La clave criptográfica de sesión se puede recuperar, desofuscando la clave criptográfica de sesión ofuscada, solo en la unidad de control 18b de la aplicación móvil 18 y durante un cálculo del criptograma de transacción. La clave criptográfica de sesión está ofuscada con datos que impiden el uso/acceso no autorizado a dicha clave criptográfica de sesión. Los datos relacionados con el uso/acceso no autorizado de la clave criptográfica de sesión pueden corresponder a datos vinculantes relacionados con al menos el usuario, la aplicación móvil, el dispositivo de comunicación, los umbrales de uso limitado y/o cualquier otro dato predefinido.
En una realización, el algoritmo de ofuscación es un algoritmo de derivación. En una realización, el algoritmo de ofuscación es una operación reversible. En una realización, la operación reversible es una operación XOR. El algoritmo de ofuscación no se describe en la presente memoria. Por supuesto, estos ejemplos de ofuscación de la clave criptográfica de sesión son simplemente ejemplos, cualquier algoritmo de ofuscación reversible se puede utilizar para generar la clave criptográfica de sesión ofuscada a partir de la clave criptográfica de sesión y al menos un dato que impide el uso/acceso no autorizado de la clave criptográfica de sesión.
A continuación se describen algunas realizaciones de datos que impiden el uso/acceso no autorizado de la clave criptográfica de sesión. Los datos que impiden el uso/acceso no autorizado de la clave criptográfica de sesión pueden estar relacionados con:
- el usuario. En este caso, la clave criptográfica de sesión solo puede ser utilizada por él/ella. Los datos de que impiden a un usuario pueden ser un PIN, una huella digital o cualquier otra información biométrica, identificador o cualquier dato relacionado con el usuario.
- la aplicación. En este caso, la clave criptográfica de sesión solo se puede utilizar en una aplicación específica. Los datos que impiden una aplicación pueden ser un ID de aplicación, una firma de un certificado utilizado para firmar la aplicación, un indicador de integridad tal como una comprobación aleatoria o una suma de comprobación de una parte específica de la aplicación, etc.
- el dispositivo de comunicación. En este caso, la clave criptográfica de sesión solo se puede utilizar en un dispositivo predefinido para el pago. Los datos que impiden un dispositivo de comunicación pueden ser una característica específica y única del dispositivo de comunicación, tal como un ID único, ID de CPU, lista de sensores, etc.
- los umbrales de uso limitado (secuencia/historial/ciclo de vida de las claves). En este caso, la clave criptográfica de sesión solo se puede utilizar en un instante de tiempo y secuencia predeterminados. Los datos que impiden unos umbrales de uso limitado pueden ser un contador de secuencia, una marca de tiempo, material de clave extraído de claves anteriores, etc.
Otros datos que impiden se puedan utilizar como datos geográficos, fecha, hora, ubicación del usuario, etc.
En la implementación que se describe a continuación en la presente memoria, la clave criptográfica de sesión está vinculada con datos relacionados con el usuario y datos relacionados con un contador de secuencia ATC vinculado a la transacción. Los datos que impiden el uso/acceso no autorizado de la clave criptográfica de sesión pueden ser un PIN y el contador de secuencia ATC. Por lo tanto, la clave criptográfica de sesión de clave se puede ofuscar con el PIN y el contador de secuencia ATC para generar una clave única SUK correspondiente en lo sucesivo a la clave criptográfica de sesión ofuscada:
SUK = F(clave criptográfica de sesión, PIN, ATC)
El sistema de gestión de claves 23 puede generar, en el paso 36, una clave de transporte AIK. En el paso 37, la clave única SUK se cifra con la clave de transporte AIK para generar una clave cifrada y ofuscada WB_SUK. En una realización, esta clave cifrada y ofuscada WB_SUK puede ser un cifrado AES128 de la clave única SUK con la clave de transporte AIK.
En el paso 38, una clave estática WB_KEK puede derivarse de una clave de derivación maestra (MDK) asociada con el servidor de gestión de claves 23. Esta clave estática WB_KEK está asociada con un ID de diversificador. El ID de diversificador puede incluir información perteneciente a la generación de la clave estática WB_KEK. Por ejemplo, el ID de diversificador puede usarse como semilla para generar su WB_KEK correspondiente.
El servidor de gestión de claves 23 puede cifrar, en el paso 39, la clave de transporte AIK con la clave estática WB_KEK para generar una clave WB_AIK. En una realización, esta clave WB_AIK es un cifrado AES128 de la clave de transporte AIK con la clave estática WB_KEK.
En una realización, la clave de derivación maestra (MDK) utilizada por el sistema de gestión de claves 23 para derivar la clave estática WB_KEK puede almacenarse en la unidad de control 18b de la aplicación móvil 18. En una realización, la clave de derivación maestra (MDK) puede almacenarse como texto "codificado" en la unidad de control 18b. La clave estática WB_KEK puede almacenarse como texto "codificado" en el módulo seguro 29 de la unidad de control 18. En este caso, la gestión de claves 23 puede enviar el ID de diversificador al servidor remoto 21. El servidor remoto 21 puede reenviarlo a la unidad de control 18b, durante la fase de inscripción, para derivar la clave estática WB_KEK de la clave de derivación maestra (MDK). Esta clave estática derivada WB_KEK se puede almacenar en una memoria segura de la tarjeta ICC emulada, pero también se puede almacenar en otro lugar. En una realización, el sistema remoto 21 puede almacenar el ID de diversificador en su lado. Y durante una transacción, la aplicación móvil 18 puede solicitar el ID de diversificador al sistema remoto 21 para generar la clave estática WB_KEK. En una realización, esta clave estática generada WB_KEK se elimina después del cálculo del criptograma.
En una realización, la clave estática WB_KEK se envía al emisor de la aplicación móvil 18. Durante el tiempo de compilación, la clave estática WB_KEK puede almacenarse como texto "codificado" en la unidad de control 18b. En una realización, esta clave estática WB_KEK se puede almacenar en una memoria segura de la tarjeta ICC emulada, pero también se puede almacenar en otro lugar.
A continuación, el sistema remoto empaqueta los datos de aprovisionamiento, que pueden incluir un identificador de cuenta alternativo o un testigo, un conjunto inicial de parámetros de cuenta tales como la clave ofuscada cifrada WB_SUK, la clave de transporte cifrada WB_AIK y otra información relevante para la ejecución y/o el procesamiento de una transacción (por ejemplo, un conjunto de uno o más umbrales de uso limitado asociados con la WB_SUK), y envía datos de aprovisionamiento al sistema remoto 21 que los reenvía al dispositivo de comunicación 10 a través de preferiblemente una comunicación segura. Los datos de aprovisionamiento pueden almacenarse en una memoria segura de la tarjeta ICC emulada o en cualquier otra memoria del dispositivo de comunicación 10.
El dispositivo de comunicación 10 almacena entonces los parámetros de la cuenta y la información relevante en el dispositivo de comunicación 10 para permitir que el dispositivo de comunicación se utilice para realizar transacciones en la cuenta del usuario.
Una vez que los datos de aprovisionamiento se han proporcionado con éxito en el dispositivo de comunicación 10, el dispositivo de comunicación 10 puede enviar un acuse de recibo o confirmación al sistema remoto 21 para completar el proceso de inscripción y aprovisionamiento.
Una vez completado el paso de aprovisionamiento 33, el sistema remoto 21 puede realizar una gestión de cuenta activa para iniciar la renovación o reposición de los parámetros de la cuenta. Los procesos de gestión de cuenta activa pueden ser desencadenados por la actividad de procesamiento de transacciones o iniciados por la aplicación móvil 18 que se ejecuta en el dispositivo de comunicación 10. Si los parámetros del perfil de servicio para una cuenta en particular indican que los parámetros de la cuenta en el dispositivo deben ser reemplazados (por ejemplo, han agotado sus límites de uso), la capacidad de gestión de cuenta activa lo reconoce e intenta conectarse al dispositivo de comunicación para reponer los parámetros de la cuenta. Además o alternativamente, la aplicación móvil puede solicitar la reposición de los parámetros de la cuenta cuando detecta que la reposición de los parámetros de la cuenta es necesaria o está a punto de ser necesaria. Los umbrales de uso limitado se pueden usar para gestionar los desencadenadores para actualizar o reponer los parámetros de la cuenta en un dispositivo de comunicación provisto.
Para mejorar la seguridad, la clave de transporte cifrada WB_AIK está asociada con al menos un umbral de uso limitado que limita el uso de la clave de transporte AIK, donde una vez que el uso de la clave de transporte AIK ha agotado o superado los umbrales de uso limitado, se rechazará una transacción adicional realizada usando esa clave de transporte AIK. Los umbrales de uso limitado a hacer cumplir pueden ser determinados, por ejemplo, por un emisor de la cuenta o por un proveedor de servicios que proporciona el servicio de transacciones.
Puede ser necesario asociar la clave de transporte AIK con al menos un umbral de uso limitado porque un sistema que usa la misma clave de transporte AIK durante un período de tiempo prolongado puede verse comprometido de la siguiente manera. Una persona que desee descifrar los datos de un mensaje cifrado, en lo sucesivo conocido como espía o usuario no autorizado, puede monitorear las transmisiones aéreas y eventualmente discernir la clave de transporte AIK, y así comenzar a comprometer la seguridad del sistema. Para evitar que el espía descubra la clave de transporte AIK, debe cambiarse con frecuencia. Por consiguiente, la clave de transporte AIK puede actualizarse automáticamente (fase de reposición) en base a los umbrales de uso limitado asociados.
Los parámetros de la cuenta y los detalles del perfil de servicio (por ejemplo, umbrales de uso limitado) se pueden proporcionar a un gestor de tarjetas digitalizadas 24 de la unidad de procesamiento 18a de la aplicación móvil 18 para garantizar que los parámetros de la cuenta se gestionen adecuadamente en el dispositivo de comunicación 10. El gestor de tarjetas digitalizadas 24 comprende un conjunto de funcionalidades para gestionar los parámetros de la cuenta para las transacciones realizadas utilizando el dispositivo de comunicación 10.
Debe entenderse que el proceso de inscripción y aprovisionamiento descrito anteriormente es solo un ejemplo, y que la secuencia de mensajería en algunas realizaciones puede tener diferentes variaciones.
La unidad de procesamiento 18a puede comprender un Verificador de Código del Titular de la Tarjeta 25. Este Verificador de Código del Titular de la Tarjeta 25 proporciona los medios para gestionar de forma segura las entradas del usuario en el formato de dígitos. Se puede utilizar para gestionar entradas de código PIN y de activación.
La unidad de procesamiento 18a puede comprender un servicio de pago 26. Este componente puede comprender: - una interfaz para la aplicación móvil 18 que permite al usuario recuperar información sobre la tarjeta proporcionada (estado de activación, detalles de la tarjeta). Esta información se recupera del gestor de tarjetas digitalizadas 24. - una interfaz para permitir que la aplicación móvil 18 se comunique con un terminal de dispositivo de acceso 27 a través de comunicación de contacto o sin contacto (Bluetooth, NFC).
- una interfaz para acceder a un motor de pago 28 de la unidad de control 18b de la aplicación móvil 18.
El motor de pago 28 puede ser un componente completamente implementado en un código nativo C++ o C que puede implementar flujos de pago VISA y/o MasterCard. El motor de pago 28 puede usar el módulo de seguridad 29, en la presente memoria después de la criptografía de caja blanca, para recuperar la clave criptográfica de sesión de la clave ofuscada cifrada WB_SUK durante un cálculo del criptograma y para calcular el criptograma a partir de la clave criptográfica de sesión recuperada solicitada para las transacciones de pago.
La Figura 4 ilustra un ejemplo de flujo de comunicación 40 entre un dispositivo de comunicación 10 y un dispositivo de acceso 27 durante una transacción, según algunas realizaciones. En algunas realizaciones, las comunicaciones pueden ser en forma de comandos y respuestas de ADPU. Sin embargo, debe entenderse que se pueden usar otros mensajes, protocolos de mensajería o formatos para intercambiar la información relevante para realizar la transacción.
Una vez que el dispositivo de comunicación 10 ha sido provisto con los parámetros de cuenta apropiados, el dispositivo de comunicación puede usarse para ejecutar una transacción.
Durante una compra, el dispositivo de comunicación 10 intercambia una pluralidad de mensajes con el dispositivo de acceso 27, tal como un terminal de Punto de Venta (POS). El dispositivo de comunicación 10 y el terminal POS negocian si se realizará la transacción y, de ser así, cómo se realizará. La información recibida por el terminal POS puede usarse para verificar la transacción con el sistema remoto 21.
En la realización ilustrada, la transacción ejecutada es sin contacto, por ejemplo, colocando el dispositivo de comunicación cerca de un lector sin contacto del dispositivo de acceso 27.
Durante la transacción, la aplicación móvil 18 puede recibir, almacenar y/o crear dinámicamente información tal como parámetros de flujo de transacciones relacionados con la transacción sin contacto para devolver la información necesaria al lector sin contacto para que la transacción se ejecute con éxito.
Algunos de los parámetros del flujo de transacciones pueden recibirse, almacenarse y/o crearse antes de que se inicie la transacción sin contacto, mientras que algunos parámetros del flujo de transacciones (por ejemplo, el criptograma de transacciones) pueden crearse dinámicamente en el momento de la transacción.
En el paso 41, cuando el dispositivo de acceso 27 detecta la presencia del dispositivo de comunicación 10 cerca de un lector sin contacto del dispositivo de acceso 27, el dispositivo de acceso 27 puede iniciar una transacción enviando una solicitud de información al dispositivo de comunicación 10 para identificar la tarjeta de pago digitalizada a utilizar. En una realización, la tarjeta de pago digitalizada apropiada se determina basándose en el contexto de compra. Por ejemplo, la aplicación móvil 18 puede recibir información del dispositivo de acceso 27 que identifica el tipo de transacción de pago como una compra de gasolina, una compra de un billete de transporte en masa, una compra en unos grandes almacenes y otras. En una realización, la aplicación móvil 18 puede iniciarse automáticamente, por ejemplo desencadenada por la detección de una emisión NFC desde el dispositivo de acceso 27. Alternativamente, la aplicación móvil 10 puede iniciarse mediante una variedad de otros métodos.
Se solicita al usuario del dispositivo de comunicación 10 que seleccione una tarjeta de pago digitalizada o utilice una tarjeta de pago digitalizada por defecto. Si el usuario elige seleccionar una tarjeta de pago digitalizada, el usuario puede seleccionar una tarjeta de pago digitalizada de una lista de tarjetas de pago que se muestra en un cuadro de diálogo.
En el paso 42, si la aplicación móvil 18 no está configurada para recordar un PIN que protege el acceso a los servicios y la funcionalidad de la aplicación móvil 18, se solicita al usuario que introduzca su PIN.
En el paso 43, cuando la verificación del PIN es exitosa, la aplicación móvil 18 del dispositivo de comunicación 10 puede enviar una solicitud de datos de transacción del terminal para solicitar datos de transacción desde el dispositivo de acceso 27 que pueden ser necesarios para ejecutar la transacción. En algunas realizaciones, la solicitud de datos de transacción del terminal puede incluir una lista de identificadores de datos de transacciones para solicitar los datos apropiados del dispositivo de acceso 27, y la lista de identificadores de datos de transacciones puede tener la forma de una lista de objetos de datos de opciones de procesamiento (PDOL). Los datos de transacción solicitados por la aplicación móvil para la transacción pueden incluir calificadores de transacción de terminal (TTQ), cantidad autorizado, otra cantidad, código de país de terminal, resultados de verificación de terminal, código de moneda de transacción, datos de transacción, tipo de transacción y/o un número impredecible.
Después de recibir la solicitud de datos de transacción del terminal, el dispositivo 27 de acceso puede enviar, a la aplicación móvil 18 del dispositivo de comunicación 10, dichos datos de transacción del terminal 44 solicitados por la aplicación móvil 18.
En el paso 45, una vez que la aplicación móvil del dispositivo de comunicación 10 recibe los datos de transacción del terminal 44, la aplicación móvil puede:
- incrementar su Contador de T ransacciones de Aplicaciones (ATC),
- extraer del almacenamiento la clave cifrada ofuscada WB_SUK y la clave de transporte cifrada WB_AIK y - crear un mensaje 45 que comprende los datos de transacción 44, el ATC, el PIN, la clave extraída.
En el paso 46, la unidad de procesamiento 18a puede enviar el mensaje creado 45 a la unidad de control 18b. La unidad de control 18b genera información de procesamiento de transacción dinámica usando al menos algunos de los datos de transacciones del terminal 44 recibidos, y enviar en el paso 47, un conjunto de información de procesamiento de transacción 48 que incluye la información de procesamiento de transacción dinámica generada al dispositivo de acceso 27.
La información de procesamiento de transacciones 48 puede incluir un criptograma de transacciones 55 generado dinámicamente por la unidad de control 18b utilizando la clave criptográfica de sesión.
Durante el cálculo del criptograma, el motor de pago 28, a través del módulo de seguridad 29, recupera la clave criptográfica de sesión. En el paso 50, el módulo de seguridad 29 puede extraer la clave estática almacenada WB_KEK o derivarla de una clave de derivación maestra (MDK) extraída y un ID de diversificador recibido. En el paso 51, el módulo de seguridad 29 puede descifrar el transporte cifrado WB_AIK con la clave estática WB_KEK para recuperar la clave de transporte AIK. En una realización, esta clave de transporte AIK descifrada puede ser un algoritmo de descifrado AES128 de la clave de transporte cifrada WB_AIK con la clave estática WB_KEK.
En el paso 52, el módulo de seguridad 29 puede descifrar la clave ofuscada cifrada WB_SUK recibida con la clave de transporte descifrada para recuperar la clave ofuscada SUK. En una realización, esta clave ofuscada descifrada SUK puede ser un algoritmo de descifrado AES128 de la clave ofuscada cifrada WB_SUK con la clave de transporte AIK descifrada.
En el paso 53, el módulo de seguridad 29 puede aplicar una función de desofuscación a la clave ofuscada descifrada SUK con el ATC recibido y la entrada del usuario (PIN) para recuperar la clave criptográfica de la sesión. El motor de pago 28, a través del módulo de seguridad 29, calcula el criptograma de transacción 55 con la clave criptográfica de sesión de clave recuperada, en el paso 64. El criptograma puede entenderse como una firma en los datos de la transacción. La unidad de control 18b genera el criptograma codificando los datos de la transacción con la clave criptográfica de sesión usando, por ejemplo, una función de comprobación aleatoria que toma los datos de la transacción y la clave criptográfica como entradas y genera el criptograma como salida. La función de comprobación aleatoria utilizada para generar el criptograma es una función matemática unidireccional. Es decir, la clave criptográfica de sesión y los datos de la transacción no se pueden recuperar del criptograma. Además, el criptograma es único para los datos de transacción particulares y la clave criptográfica de sesión que se utilizan. Debe entenderse que en algunas realizaciones, la información de procesamiento de transacción 48 que se envía desde el dispositivo de comunicación 10 al dispositivo de acceso 27 puede incluir algo de o toda la información descrita anteriormente, y en algunas realizaciones, puede incluir información adicional no descrita específicamente. Después de que el dispositivo de acceso 27 ha recibido los datos requeridos de la información de procesamiento de transacción 48, algunos o todos los elementos de datos en la información de procesamiento de transacción 48 pueden ser usados por el dispositivo de acceso 27 para generar un mensaje de solicitud de autorización de transacción para solicitar la autorización de la transacción del emisor. Por ejemplo, en algunas realizaciones, el mensaje de solicitud de autorización de transacción puede incluir al menos los datos equivalentes de la pista 2 y el criptograma de transacción generado con la clave criptográfica de sesión. La solicitud de autorización de transacción es enviada por el dispositivo de acceso 27 al sistema remoto 21 para verificación y validación.
Así, asumiendo que el sistema remoto 21 conoce la clave criptográfica de sesión utilizada por la unidad de control 18b, una vez que el sistema remoto 21 ha recibido los datos de la transacción por el dispositivo de acceso 27, el sistema remoto 21 puede generar un criptograma a partir de los datos de la transacción utilizando su clave criptográfica conocida y compararla con el criptograma que fue generado por la unidad de control 18b.
Si al menos uno de los datos vinculantes es incorrecto, no se podría recuperar la clave criptográfica de sesión y el criptograma se calcula incorrectamente. El sistema remoto 21 rechaza la transacción. El usuario puede ser notificado del error. El dispositivo de usuario puede ser incluido en la lista negra para realizar transacciones.
Con la presente invención, en lugar de utilizar marcas booleanas puras para desencadenar una acción cuando la clave criptográfica de sesión recuperada no se corresponde con la clave criptográfica de sesión de clave esperada, se propone comprometer el cálculo del criptograma con el objetivo de hacer fallar la transacción de un tercero. En una realización, la aplicación móvil 18 puede ser la propia aplicación móvil del comerciante desde la cual los consumidores pueden realizar transacciones de comercio electrónico o de punto de venta con ese comerciante, o puede ser una billetera móvil.
En una realización, el criptograma se envía al dispositivo de acceso 27 o al sistema remoto con un índice que indica el tipo de datos de prevención utilizados para ofuscar la sesión criptográfica. Si falla la verificación del criptograma calculado, el sistema remoto 21 puede aplicar una política de gestión de riesgo según el índice recibido de los datos de prevención. En una realización, el sistema remoto 21 puede alertar al usuario, informándole de que su dispositivo de usuario está comprometido y se le debería denegar la autorización o prohibirle de otro modo realizar transacciones. El sistema remoto puede llevar al usuario mediante un mensaje SMS. Sin embargo, el tema en la presente memoria no se limita al ejemplo en el que se notifica a los usuarios sobre una transacción fallida y/o la amenaza a través del sistema remoto. Los usuarios pueden ser notificados de cualquier manera.
Las realizaciones de la presente invención pueden realizarse mediante dispositivos de comunicación con o sin un elemento seguro. Las realizaciones de la presente invención proporcionan técnicas para mejorar la seguridad de un dispositivo de comunicación cuando se realiza una transacción utilizando el dispositivo de comunicación sin involucrar un elemento seguro. Las técnicas descritas en la presente memoria se pueden usar con un dispositivo de comunicación que puede tener o no un elemento seguro, porque las técnicas no requieren el uso de un elemento seguro, pero el elemento seguro podría estar presente.
Las características y funciones de las implementaciones ilustradas por las figuras pueden disponerse en diversas combinaciones y permutaciones, y se considera que todas están dentro del alcance de la invención descrita. Por consiguiente, las implementaciones descritas deben considerarse en todos los aspectos como ilustrativas y no restrictivas. Las configuraciones, materiales y dimensiones descritos en la presente memoria también tienen la intención de ser ilustrativos y de ningún modo limitativos. De manera similar, aunque se han proporcionado explicaciones físicas con fines explicativos, no existe la intención de ceñirse a ninguna teoría o mecanismo particular, ni de limitar las reivindicaciones de acuerdo con los mismos.
Los términos y expresiones empleados en la presente memoria se utilizan como términos y expresiones de descripción y no de limitación, y no hay intención, en el uso de dichos términos y expresiones, de excluir cualquier equivalente de las características mostradas y descritas o partes de las mismas. Además, habiendo descrito ciertas implementaciones en la presente descripción, será evidente para los expertos en la técnica que se pueden usar otras implementaciones que incorporen los conceptos descritos en la presente memoria sin apartarse del alcance de la invención.

Claims (15)

REIVINDICACIONES
1. Un método para mejorar la seguridad de un dispositivo de comunicación (10) cuando se realiza una transacción utilizando una aplicación de transacción del dispositivo de comunicación, el método que comprende:
- un sistema remoto (21) genera al menos una clave criptográfica de sesión, el sistema remoto vincula dicha clave criptográfica de sesión a un contexto específico definido con un dato de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión de manera que cualquier cambio en el contexto específico dañará la clave criptográfica de sesión durante una fase de desvinculación; en donde la vinculación de dicha clave criptográfica de sesión se basa en un algoritmo de ofuscación reversible aplicado a la clave criptográfica de sesión y el contexto específico definido con los datos de prevención,
- el sistema remoto envía la clave criptográfica de sesión vinculada generada al dispositivo de comunicación durante una fase de aprovisionamiento o reposición de la clave criptográfica de sesión al dispositivo de comunicación, - durante el cálculo de un criptograma de transacción, la aplicación de transacción del dispositivo de comunicación: * determina los datos de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión para desvincular la clave criptográfica de sesión al contexto específico con los datos de prevención determinados; mientras que si los datos de prevención determinados no son los esperados, la clave criptográfica de sesión de desvinculación está dañada,
* calcula el criptograma de la transacción utilizando la clave criptográfica de sesión desvinculada, en donde la transacción se autoriza en base a al menos si el criptograma de transacción calculado es el esperado y la clave criptográfica de sesión desvinculada no está dañada.
2. El método según la reivindicación anterior, en donde el algoritmo de ofuscación reversible es un algoritmo de derivación o una operación reversible.
3. El método según la reivindicación anterior, en donde el método comprende los siguientes pasos:
- el sistema remoto genera una clave de transporte, la clave criptográfica de sesión vinculada está encriptada con dicha clave de transporte,
- el sistema remoto cifra la clave de transporte con una clave estática generada, siendo dicha clave estática recuperable por el dispositivo de comunicación,
- el sistema remoto envía al dispositivo de comunicación la clave criptográfica de sesión vinculada cifrada junto con la clave de transporte cifrada durante una fase de aprovisionamiento o reposición de la clave criptográfica de sesión vinculada cifrada.
4. El método según la reivindicación 3, en donde la desvinculación de la clave criptográfica de sesión comprende los siguientes pasos:
- durante el cálculo del criptograma de transacción, el dispositivo de comunicación recupera la clave estática y descifra la clave de transporte cifrada,
- el dispositivo de comunicación descifra la clave criptográfica de sesión vinculada cifrada con la clave de transporte descifrada.
5. El método según la reivindicación 4, en donde la recuperación de la clave estática comprende los siguientes pasos:
- el dispositivo de comunicación extrae la clave estática almacenada como texto codificado en un código de aplicación de transacción o almacenada en una memoria segura, o
- el dispositivo de comunicación genera la clave estática a partir de una clave maestra almacenada como texto codificado en el código de la aplicación de transacción o almacenada en una memoria segura.
6. El método según cualquiera de las reivindicaciones anteriores, en donde los datos que impiden el uso y/o el acceso no autorizados de la clave criptográfica de sesión son datos relacionados con el usuario, la aplicación móvil, el dispositivo de comunicación y/o umbrales de uso limitado.
7. El método según las reivindicaciones anteriores, en donde los datos de prevención es un PIN, una huella dactilar o datos relacionados con el usuario, un ID de aplicación, una firma de un certificado utilizado para firmar la aplicación, un indicador de integridad tal como una comprobación aleatoria o una suma de comprobación de una parte específica de la aplicación, una característica única del dispositivo de comunicación, tal como un ID único, ID de CPU o lista de sensores, un instante predeterminado de tiempo y secuencia, un contador de secuencia, una marca de tiempo y/o material clave extraído de las claves anteriores.
8. El método según la reivindicación 6, en donde la clave criptográfica de sesión está asociada con un conjunto de uno o más umbrales de uso limitado que limitan el uso de la clave criptográfica de sesión.
9. El método según la reivindicación anterior, en donde el conjunto de uno o más umbrales de uso limitado puede incluir al menos uno de un tiempo de vida que indica la duración de tiempo durante el cual la clave criptográfica de sesión es válida, un número predeterminado de transacciones para el cual la clave criptográfica de sesión es válida, y/o una cantidad de transacciones acumulada que indica la cantidad total de transacciones sumada a través de una o más transacciones para las que la clave criptográfica de sesión es válida.
10. El método según cualquiera de las reivindicaciones anteriores, en donde después de la generación del criptograma de transacción, el dispositivo de comunicación borra la clave criptográfica de sesión.
11. Un dispositivo de comunicación (10) que comprende:
- un procesador; y
- una memoria acoplada al procesador y que almacena una aplicación de transacción según cualquiera de las reivindicaciones 12 a 15.
12. Una aplicación de transacción que comprende instrucciones para mejorar la seguridad de un dispositivo de comunicación (10) cuando se realiza una transacción utilizando el dispositivo de comunicación, que, cuando la aplicación de transacción es ejecutada por el dispositivo de comunicación, hace que el dispositivo de comunicación lleve a cabo los siguientes pasos:
- la aplicación de transacción que comprende una unidad de procesamiento que comprende un servicio de aprovisionamiento, el servicio de aprovisionamiento establece una comunicación con un sistema remoto (21) durante una fase de aprovisionamiento o reposición de una clave criptográfica de sesión, estando dicha clave criptográfica de sesión vinculada por el sistema remoto a un contexto específico definido con un dato que impide el uso y/o el acceso no autorizados de la clave criptográfica de sesión de modo que cualquier cambio en el contexto específico dañará la clave criptográfica de sesión durante una fase de desvinculación, en donde la vinculación de dicha clave criptográfica de sesión se basa en un algoritmo de ofuscación reversible aplicado a la clave criptográfica de sesión y el contexto específico definido con los datos de prevención, recibiendo el servicio de aprovisionamiento la clave criptográfica de sesión vinculada desde el sistema remoto;
la aplicación de transacción que comprende una unidad de control, la unidad de control que comprende un módulo de seguridad,
- la unidad de procesamiento transmite al módulo de seguridad de la unidad de control, la clave criptográfica de sesión vinculada;
- durante el cálculo de un criptograma de transacción, el módulo de seguridad
* recupera datos de prevención para uso y/o acceso no autorizados de la clave criptográfica de sesión para desvincular la clave criptográfica de sesión vinculada al contexto específico con los datos de prevención recuperados; mientras que si los datos de prevención recuperados no son los esperados, la clave criptográfica de la sesión no vinculada está dañada,
* calcula un criptograma a partir de la clave criptográfica de sesión no vinculada, en donde la transacción se autoriza en base a al menos si el criptograma de transacción calculado es el esperado y la clave criptográfica de sesión no vinculada no está dañada.
13. La aplicación de transacción según la reivindicación anterior, en donde el módulo de seguridad es una criptografía de caja blanca o un Entorno de Ejecución de Confianza.
14. La aplicación de transacción según cualquiera de las reivindicaciones anteriores 12 a 13, en donde la unidad de procesamiento y la unidad de control tienen la forma de un kit de desarrollador de software integrado en la aplicación de transacción.
15. La aplicación de transacción según cualquiera de las reivindicaciones anteriores 12 a 14, en donde la unidad de procesamiento se implementa en código independiente de la plataforma y la unidad de control se implementa en código nativo.
ES16816293T 2015-12-24 2016-12-21 Método y sistema para mejorar la seguridad de una transacción Active ES2877522T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP15307142.8A EP3185159A1 (en) 2015-12-24 2015-12-24 Method and system for enhancing the security of a transaction
PCT/EP2016/082208 WO2017108970A1 (en) 2015-12-24 2016-12-21 Method and system for enhancing the security of a transaction

Publications (1)

Publication Number Publication Date
ES2877522T3 true ES2877522T3 (es) 2021-11-17

Family

ID=55083317

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16816293T Active ES2877522T3 (es) 2015-12-24 2016-12-21 Método y sistema para mejorar la seguridad de una transacción

Country Status (6)

Country Link
US (1) US11880832B2 (es)
EP (2) EP3185159A1 (es)
DK (1) DK3394778T3 (es)
ES (1) ES2877522T3 (es)
MX (1) MX2018007696A (es)
WO (1) WO2017108970A1 (es)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103203054B (zh) * 2005-12-02 2016-08-03 C.R.巴德有限公司 压力启动的近端阀
US9992027B1 (en) * 2015-09-14 2018-06-05 Amazon Technologies, Inc. Signing key log management
WO2017184840A1 (en) * 2016-04-21 2017-10-26 Mastercard International Incorporated Method and system for contactless transactions without user credentials
US10510065B2 (en) * 2018-05-08 2019-12-17 Capital One Services, Llc Interacting with an automated teller machine using a user device
TR201900444A2 (tr) * 2019-01-11 2019-03-21 Kartek Kart Ve Bilisim Teknolojileri Ticaret Anonim Sirketi Güvenlikli ödeme alıcı cihaz için bir yöntem
US11562351B2 (en) * 2019-08-09 2023-01-24 Its, Inc. Interoperable mobile-initiated transactions with dynamic authentication
CN111127014B (zh) * 2019-12-25 2023-09-19 ***股份有限公司 交易信息处理方法、服务器、用户终端、***及存储介质
SG10202003630VA (en) * 2020-04-21 2021-09-29 Grabtaxi Holdings Pte Ltd Authentication and validation procedure for improved security in communications systems

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4614861A (en) * 1984-11-15 1986-09-30 Intellicard International, Inc. Unitary, self-contained card verification and validation system and method
WO1997004394A1 (en) 1995-07-14 1997-02-06 Christopher Nathan Drake Computer software authentication, protection, and security system
US20020138357A1 (en) * 2001-03-26 2002-09-26 International Business Machines Corporation System and method for purchasing ticket items with user-negotiated security features
US7020645B2 (en) * 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
US20040117262A1 (en) 2002-12-17 2004-06-17 Berger Jeffrey Keith System and method for conducting a monetary transaction
US7526649B2 (en) * 2003-12-30 2009-04-28 Intel Corporation Session key exchange
US20060137016A1 (en) 2004-12-20 2006-06-22 Dany Margalit Method for blocking unauthorized use of a software application
US20100036777A1 (en) 2008-08-07 2010-02-11 Ebay Inc. Method and system for postal payments and addressing
EP2151795A1 (en) * 2008-08-08 2010-02-10 France Telecom Secure electronic coupon delivery to mobile device
US9501773B2 (en) * 2010-02-02 2016-11-22 Xia Dai Secured transaction system
US20120041879A1 (en) * 2010-08-10 2012-02-16 Paul Kim Methods and systems for payment processing between consumers and merchants
GB201105765D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
DE102011121567A1 (de) * 2011-12-20 2013-06-20 Giesecke & Devrient Gmbh Verfahren zum kontaktlosen Auslesen eines Identifikationsdokuments
US9246678B2 (en) * 2013-03-14 2016-01-26 Intel Corporation Secure cloud storage and encryption management system
US10460314B2 (en) * 2013-07-10 2019-10-29 Ca, Inc. Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
SG11201602093TA (en) 2013-09-20 2016-04-28 Visa Int Service Ass Secure remote payment transaction processing including consumer authentication
KR102293822B1 (ko) * 2013-12-19 2021-08-26 비자 인터네셔널 서비스 어소시에이션 클라우드-기반 트랜잭션 방법 및 시스템
US9922322B2 (en) * 2013-12-19 2018-03-20 Visa International Service Association Cloud-based transactions with magnetic secure transmission
GB2523758A (en) * 2014-03-03 2015-09-09 Mastercard International Inc Secure mobile device transactions
AU2015264124B2 (en) 2014-05-21 2019-05-09 Visa International Service Association Offline authentication
US9801055B2 (en) * 2015-03-30 2017-10-24 Qualcomm Incorporated Authentication and key agreement with perfect forward secrecy

Also Published As

Publication number Publication date
EP3394778B1 (en) 2021-04-21
DK3394778T3 (da) 2021-07-12
US11880832B2 (en) 2024-01-23
WO2017108970A1 (en) 2017-06-29
MX2018007696A (es) 2018-08-01
US20190005493A1 (en) 2019-01-03
EP3185159A1 (en) 2017-06-28
EP3394778A1 (en) 2018-10-31

Similar Documents

Publication Publication Date Title
US11783061B2 (en) Embedding cloud-based functionalities in a communication device
US11240219B2 (en) Hybrid integration of software development kit with secure execution environment
CN107925572B (zh) 软件应用程序到通信装置的安全绑定
ES2877522T3 (es) Método y sistema para mejorar la seguridad de una transacción
US11157912B2 (en) Method and system for enhancing the security of a transaction
RU2715032C2 (ru) Взаимная аутентификация программных уровней
US9922322B2 (en) Cloud-based transactions with magnetic secure transmission
CN110582774B (zh) 用于软件模块绑定的***和方法
EP3394788B1 (en) Method and system for enhancing the security of a transaction
KR20160101117A (ko) 클라우드-기반 트랜잭션 방법 및 시스템
CN107210912B (zh) 对应用程序库的授权访问
ES2971660T3 (es) Procedimiento para llevar a cabo una transacción, terminal, servidor y programa informático correspondiente
Desta Security for Mobile Payment Transaction