MX2016010086A

Method and system for generating an advanced storage key in a mobile device without secure elements.

Abstract

A method of constructing an advanced storage key includes: storing, in a memory of a mobile device, at least (i) device information associated with the mobile device, (ii) program code associated with a first program, the code includes an instance identifier and (iii) program code associated with a second program, the code including a first key; generating a device finger associated with the mobile device based on the device information via execution of the code associated with the first program; generating a random value via execution of the code associated with the first program; constructing a diversifying value based on the generated device footprint, the generated random value, and the instance identifier included in the code associated with the first program; and deciphering the constructed diversifying value using the first key stored in the code associated with the second program via executing the code associated with the second program to obtain a storage key.

MX2016010086A, drawing sheet 1
Sheet 1 of 18

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Granted
  4. Today

23 claims: 2 independent, 21 dependent

  1. 1
    CLAIMS REIVINDICACIONES 1. A method of building an advanced storage key comprising:1. Un método para construir una llave de almacenamiento avanzada que comprende: almacenar, en una memoria de un dispositivo de comunicación móvil, al menos información de dispositivo asociada con el dispositivo de comunicación móvil, código de programa asociado con un primer programa de aplicación, en donde el código de programa incluye al menos un identificador de instancia, y código de programa asociado con un segundo programa de aplicación, en donde el código de programa incluye una primera llave;storing, in a memory of a mobile communication device, at least device information associated with the mobile communication device, program code associated with a first application program, wherein the program code includes at least one instance identifier, and program code associated with a second application program, wherein the program code includes a first key;generar, mediante un dispositivo de procesamiento, una huella de dispositivo asociada con el dispositivo de comunicación móvil con base en la información de dispositivo almacenada vía la ejecución del código de programa asociado con el primer programa de aplicación;generating, by means of a processing device, a device finger associated with the mobile communication device based on the stored device information via execution of the program code associated with the first application program;generar, mediante el dispositivo de procesamiento, un valor aleatorio vía ejecución del código de programa asociado con el primer programa de aplicación;generating, by means of the processing device, a random value via execution of the program code associated with the first application program;constructing, by means of the processing device, a diversifying value based on at least the generated device fingerprint, the generated random value and the instance identifier included in the program code associated with the first application program;and deciphering, by the processing device, the constructed diversifying value using the first key stored in the program code associated with the second application program via execution of the program code associated with the second application program to obtain a key from storage. construir, mediante el dispositivo de procesamiento, un valor diversificador con base en al menos la huella de dispositivo generada, el valor aleatorio generado y el identificador de instancia incluido en el código de programa asociado con el primer programa de aplicación;y descifrar, mediante el dispositivo de procesamiento, el valor diversificador construido que usa la primera llave almacenada en el código de programa asociado con el segundo programa de aplicación vía la ejecución del código de programa asociado con el segundo programa de aplicación para obtener una llave de almacenamiento.
  2. 13
    A system for building an advanced storage key, comprising:13. Un sistema para construir una llave de almacenamiento avanzada, que comprende: a memory of a mobile communication device configured to store at least device information associated with the mobile communication device, program code associated with a first application program, wherein the program code includes at least one instance identifier, and program code associated with a second application program, wherein the program code includes a first key;and a processing device configured to generate a device finger associated with the mobile communication device based on the stored device information via execution of the program code associated with the first application program, generating a random value via execution of the application code. program associated with the first application program, build a diversifying value based on at least the generated device footprint, the generated random value and instance identifier included in the program code associated with the first application program and deciphering the constructed diversifier value using the first key stored in the program code associated with the second application program via code execution associated with the second application program to obtain a storage key. una memoria de un dispositivo de comunicación móvil configurada para almacenar al menos información de dispositivo asociada con el dispositivo de comunicación móvil, código de programa asociado con un primer programa de aplicación, en donde el código de programa incluye al menos un identificador de instancia, y código de programa asociado con un segundo programa de aplicación, en donde el código de programa incluye una primera llave;y un dispositivo de procesamiento configurado para generar una huella de dispositivo asociada con el dispositivo de comunicación móvil con base en la información de dispositivo almacenada vía ejecución del código de programa asociado con el primer programa de aplicación, generar un valor aleatorio vía ejecución del código de programa asociado con el primer programa de aplicación, construir un valor diversificador con base en al menos la huella de dispositivo generada, el valor aleatorio generado y el identificador de instancia incluido en el código de programa asociado con el primer programa de aplicación y descifrar el valor diversificador construido que usa la primera llave almacenada en el código de programa asociado con el segundo programa de aplicación vía ejecución del código de programa asociado con el segundo programa de aplicación para obtener una llave de almacenamiento.