ES2873598T3 - Sistema de memoria y procedimiento de enlace entre el mismo y el host - Google Patents

Sistema de memoria y procedimiento de enlace entre el mismo y el host Download PDF

Info

Publication number
ES2873598T3
ES2873598T3 ES17191517T ES17191517T ES2873598T3 ES 2873598 T3 ES2873598 T3 ES 2873598T3 ES 17191517 T ES17191517 T ES 17191517T ES 17191517 T ES17191517 T ES 17191517T ES 2873598 T3 ES2873598 T3 ES 2873598T3
Authority
ES
Spain
Prior art keywords
key
host
binding
memory
link
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
ES17191517T
Other languages
English (en)
Inventor
Nir Tasher
Itay Admon
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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Winbond Electronics Corp filed Critical Winbond Electronics Corp
Application granted granted Critical
Publication of ES2873598T3 publication Critical patent/ES2873598T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Un sistema de memoria (32), que comprende: Una interfaz (50B) configurada para comunicarse a través de un enlace de comunicación no seguro (LINK) con un host (28) externo al sistema de memoria (32); una memoria no volátil (44) pre-programada con al menos un identificador de dispositivo (DEV-ID) y una clave de inicialización correspondiente (I-KEY), en el que el identificador de dispositivo (DEV-ID) y la clave de inicialización correspondiente (I-KEY) se almacenan adicionalmente en una base de datos (DB) externa al sistema de memoria (32), el host (28) puede acceder de forma segura a la base de datos (DB); y un controlador (48) configurado para: Enviar el identificador de dispositivo (DEV-ID) al host (28); Recibir desde el host (28), a través de la interfaz (50B), Información de enlace (BINDING INFO) generada en el host (28); generar, utilizando al menos la información de enlace recibida (BINDING INFO) y la clave de inicialización pre-programada (72), una primera clave de enlace que coincida con una segunda clave de enlace, en el que se genera la segunda clave de enlace en el host (28) en base a la clave de inicialización (I-KEY) obtenida de forma segura por el host (28) de la base de datos (DB) mediante la consulta de la base de datos (DB) mediante el identificador de dispositivo (DEV-ID) recibido del controlador (48); y. Comunicarse de forma segura con el host (28) a través del enlace de comunicación (LINK) mediante la primera clave de enlace, en el que el controlador (48) está configurado para recibir una firma de memoria calculada sobre el contenido pre-programado de la memoria no volátil (44), para autenticar el contenido real de la memoria no volátil (44) utilizando la firma de memoria, y utilizar la primera clave de enlace para comunicarse con el host (28) sólo si la firma de memoria se autenticó con éxito, en el que la base de datos (DB) almacena la firma de memoria en asociación con el identificador de dispositivo (DEV-ID), y en el que el controlador (48) está configurado para recibir, desde el host (28), la firma de memoria que fue recuperada por el host de la base de datos (DB) usando el identificador de dispositivo (DEV-ID).

Description

DESCRIPCIÓN
Sistema de memoria y procedimiento de enlace entre el mismo y el host
Campo técnico
Las encamaciones descritas en el presente documento se refieren, en general, al almacenamiento de datos, y particularmente a procedimientos y sistemas para la unión segura entre un host y un chip de memoria.
Antecedentes
En varios dispositivos de usuario, un host almacena datos en un sistema de memoria protegido, como un chip de memoria. Para comunicarse de forma segura entre sí, el host y el chip de memoria suelen establecer una clave secreta compartida.
El documento US 2016/085960 A1 revela la comunicación segura con un host utilizando una clave creada en base a la información recibida del host.
Sumario
Una realización que se describe en el presente documento proporciona un sistema de memoria que incluye una interfaz, una memoria no volátil y un controlador. La interfaz está configurada para comunicarse a través de un enlace de comunicación no seguro con un host externo al sistema de memoria. La memoria no volátil está pre­ programada con al menos un identificador de dispositivo y una clave de inicialización correspondiente. El identificador de dispositivo y la clave de inicialización respectiva se almacenan además en una base de datos externa al sistema de memoria, la base de datos es accesible de forma segura por el host. El controlador configurado para enviar el identificador de dispositivo al host, para recibir desde el host, a través de la interfaz, información de enlace generada en el host, para generar, utilizando al menos la información de enlace recibida y la clave de inicialización pre-programada, una primera clave de enlace que coincide con una segunda clave de enlace, la segunda clave de enlace se genera en el host en base a una clave de inicialización obtenida de forma segura por el host de la base de datos mediante la consulta de la base de datos mediante el identificador de dispositivo recibido del controlador, y para comunicarse de forma segura con el host a través del enlace de comunicación utilizando la primera clave de enlace en esta realización, el controlador está configurado para recibir una firma de memoria calculada sobre el contenido pre-programado de la memoria no volátil, para autenticar el contenido real de la memoria no volátil utilizando la firma de memoria, y utilizar la primera clave de enlace para comunicarse con el host sólo si la firma de memoria se autenticó con éxito. La base de datos almacena la firma de memoria en asociación con el identificador de dispositivo y el controlador está configurado para recibir, desde el host, la firma de memoria recuperada por el host de la base de datos mediante el identificador de dispositivo.
En algunas realizaciones, la información de enlace incluye una clave de enlace generada por el host y cifrada mediante la clave de inicialización obtenida de la base de datos, y el controlador está configurado para generar la primera clave de enlace descifrando la clave de enlace cifrada a partir de la información de enlace utilizando la clave de inicialización pre-programada. En otras realizaciones, la información de enlace incluye una semilla generada por el host, y el controlador está configurado para generar la primera clave de enlace en base a la semilla y a la clave de inicialización pre-programada. En otras realizaciones, el controlador está configurado para generar la primera clave En una realización, el controlador está configurado para recibir del host una firma que el host calcula sobre al menos la semilla y la clave de inicialización obtenida de la base de datos, y para autenticar la información de enlace utilizando la firma. En otra realización, el controlador está configurado para recibir del host una firma calculada sobre al menos parte de la información de enlace, para autenticar la información de enlace recibida utilizando la firma, y aceptar la primera clave de enlace para comunicarse con el host sólo si la información de enlace recibida se autenticó con éxito.
En otras realizaciones, el controlador está configurado para recibir del host una firma combinada calculada sobre al menos parte de la información de enlace y sobre la firma de memoria, y para autenticar tanto la información de enlace como el contenido pre-programado basado en la firma combinada.
Además, de acuerdo con una realización que se describe en el presente documento, se proporciona un procedimiento, que incluye, en un sistema de memoria acoplado a un host externo, el envío de un identificador de dispositivo al host a través de un enlace de comunicación no seguro, el sistema de memoria incluye una memoria no volátil pre-programada con al menos el identificador de dispositivo y una clave de inicialización correspondiente. El identificador de dispositivo y la clave de inicialización respectiva se almacenan además en una base de datos externa al sistema de memoria, la base de datos es accesible de forma segura por el host. La información de enlace que se generó en el host se recibe del host. El sistema de memoria genera una primera clave de enlace utilizando al menos la información de enlace recibida y la clave de inicialización pre-programada. La primera clave de enlace generada coincide con una segunda clave de enlace que se genera en el host en base a una clave de inicialización obtenida de forma segura por el host de la base de datos mediante la consulta de la base de datos utilizando el identificador de dispositivo recibido del controlador. Los datos se comunican de forma segura con el host a través del enlace de comunicación mediante la primera clave de enlace. Se recupera una firma de memoria calculada sobre el contenido pre-programado de la memoria no volátil por el host de la base de datos utilizando el identificador de dispositivo. La firma de memoria para autenticar el contenido real de la memoria no volátil mediante la firma de memoria se recibe del host. La primera clave de enlace se utiliza para comunicarse con el host sólo si la firma de memoria se ha autenticado con éxito. La base de datos almacena la firma de memoria en asociación con el identificador de dispositivo.
Estas y otras realizaciones se entenderán más plenamente de la siguiente descripción detallada de las realizaciones de las mismas, tomadas junto con los dibujos.
La invención se define sólo por el alcance de las reivindicaciones adjuntas.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques que ilustra esquemáticamente un dispositivo de usuario en el que un host y un chip de memoria establecen una clave secreta compartida, de acuerdo con una realización que se describe en el presente documento; y.
La Fig. 2 es un diagrama de flujo que ilustra esquemáticamente un procedimiento de enlace seguro, de acuerdo con una realización que se describe en el presente documento.
Descripción detallada de las realizaciones
Visión de conjunto
En varias aplicaciones, un dispositivo de usuario como una tarjeta inteligente proporciona almacenamiento de datos, así como otros servicios como identificación personal y autenticación. Algunos tipos de dispositivos de usuario comprenden un host acoplado a un sistema de memoria. El sistema de memoria, por ejemplo, un chip de memoria, normalmente comprende una memoria no volátil administrada por un controlador de memoria. En la descripción que sigue nos referimos principalmente a un sistema de memoria de ejemplo que comprende un chip de memoria.
Las realizaciones que se describen en el presente documento proporcionan procedimientos y sistemas para establecer una clave secreta que se comparte entre el host y el sistema de memoria. El proceso de establecimiento de la clave secreta compartida también se denomina "proceso de enlace", o simplemente "enlace", por brevedad. Una clave secreta compartida generada por el proceso de enlace también se conoce aquí como "clave de enlace". En las técnicas reveladas, el proceso de enlace se basa en compartir información secreta de forma segura entre el chip de memoria y el host, en el que la información secreta está pre-programada en el chip de memoria. El proceso de enlace no pone en peligro el secreto del chip de memoria, aunque el proceso de enlace se inicia a través de un enlace no seguro entre el host y el chip de memoria.
El proceso de enlace suele tener como resultado una clave de enlace en el chip de memoria y una clave de enlace coincidente en el host. Las claves de enlace coincidentes pueden ser simétricas o asimétricas. Al utilizar claves de enlace simétricas, el host y el chip de memoria comparten una clave de enlace común. Al utilizar claves de enlace asimétricas, las claves de enlace en el host y en el chip de memoria son diferentes, pero sin embargo permiten que el host y el chip de memoria se comuniquen de forma segura. En el contexto de la divulgación actual y en las reivindicaciones, términos como "clave de enlace compartida", "claves de enlace coincidentes" y "primera clave de enlace que coincida con una segunda clave de enlace" se refieren tanto a claves de enlace simétricas como asimétricas.
El host y el chip de memoria suelen utilizar las claves de enlace coincidentes para cifrar la información intercambiada entre ellos, para autenticarse mutuamente y para evitar el acceso no autorizado a la información secreta en el chip de memoria cuando falla la autenticación.
En principio, después de que el host esté físicamente conectado al chip de memoria por un enlace adecuado, el host podría generar una clave secreta localmente y enviar esta clave secreta al chip de memoria para completar el proceso de enlace. Como, sin embargo, el enlace entre el host y el chip de memoria es normalmente no seguro hasta que se completa el proceso de enlace, tal esquema de enlace puede ser vulnerable a ataques de seguridad en los que un usuario no autorizado intenta obtener acceso a la información confidencial almacenada en el chip de memoria. Las realizaciones que se describirán a continuación implementan esquemas de enlace que conservan el secreto del sistema de memoria.
En algunas realizaciones, el chip de memoria está pre-programado con un identificador de dispositivo único (indicado Dev-ID) y con una clave de inicialización secreta correspondiente (indicada I-Key). El Dev-ID y la I-Key se almacenan además en una base de datos externa al dispositivo de usuario, posiblemente en una base de datos de terceros. El host puede acceder de forma segura a la base de datos.
En algunas realizaciones, el host inicia un proceso de enlace enviando una solicitud de enlace al controlador de memoria. Como respuesta, el controlador de memoria envía su Dev-ID pre-programada al host, que recupera de forma segura la I-Key correspondiente al Dev-ID de la base de datos. El host genera información de enlace y envía esta información de enlace al controlador de memoria. La información de enlace puede comprender la propia clave de enlace (por ejemplo, enviada cifrada por el host) u otra información de enlace de la que se pueda derivar la clave de enlace. El host y el controlador de memoria producen claves de enlace coincidentes basadas en la información de enlace y la I-KEY. En concreto, el host produce su clave de enlace en base a la información de enlace generada y la instancia de I-Key obtenida de la base de datos. El controlador de memoria genera su clave de enlace en base a la información de enlace recibida del host y en la I-Key pre-programada.
En algunas incorporaciones, el host envía al controlador de memoria información de enlace que comprende una clave de enlace generada por el host y cifrada usando la instancia de I-Key obtenida de la base de datos. El controlador de memoria descifra la información de enlace utilizando la I-Key pre-programada para recuperar la clave de enlace. En otras realizaciones, la información de enlace comprende una semilla aleatoria generada por el anfitrión. El host y el controlador de memoria generan las claves de enlace respectivas basadas en la semilla aleatoria y las instancias respectivas de la I-KEY, por ejemplo, calculando una función hash adecuada sobre la semilla aleatoria y la I-KEY. Alternativamente, el host genera de forma similar la información de enlace en base a la generación de una semilla no aleatoria. En el contexto de la presente divulgación y en las reivindicaciones, el término "semilla" se refiere ampliamente a diversos tipos y aplicaciones de semillas, incluidas, por ejemplo, semillas aleatorias, pseudo-aleatorias y no aleatorias.
En algunas realizaciones, el controlador de memoria autentica la información de enlace utilizando una firma recibida del host, que calcula la firma sobre la información de enlace y la instancia de la I-KEY obtenida de la base de datos. El controlador de memoria completa el proceso de enlace solo si la información de enlace se autenticó con éxito. En algunas realizaciones, antes de completar el proceso de enlace, el controlador de memoria borra toda la memoria no volátil (o sólo parte de ella) o al menos toda la información confidencial almacenada en la memoria no volátil.
En algunas realizaciones, por ejemplo, en caso de producción masiva, el chip de memoria está pre-programado con contenido que no debe borrarse. En algunas incorporaciones, la base de datos almacena, en asociación con el Dev­ ID, una firma de memoria calculada sobre el contenido pre-programado (o sobre partes relevantes del contenido pre­ programado). En una realización, dado el Dev-ID, el host recupera la firma de memoria de la base de datos y la envía al controlador de memoria para autenticar el contenido pre-programado realmente almacenado en el chip de memoria. En una realización, la firma para autenticar la información de enlace y la firma de memoria se combinan en una sola firma para que el controlador de memoria aplique sólo una operación de autenticación que cubra tanto la información de enlace como el contenido pre-programado.
Descripción del sistema
La Fig. 1 es un diagrama de bloques que ilustra esquemáticamente un dispositivo de usuario 24 en el que un host y un chip de memoria establecen una clave secreta compartida, de acuerdo con una realización que se describe en el presente documento. El dispositivo de usuario 24 comprende un host 28, acoplado al chip de memoria 32 del dispositivo de usuario a través de un bus de comunicación o link 36. El chip de memoria 32 almacena datos para el host en una memoria no volátil 44, una memoria Flash en el ejemplo actual. Al menos algunos de los datos almacenados en el chip de memoria 32 son confidenciales y no deben exponerse ni filtrarse fuera del chip de memoria.
El chip de memoria 32 se puede utilizar en varios sistemas host y dispositivos de usuario. Por ejemplo, el chip de memoria 32 se puede utilizar en tarjetas inteligentes para diversas aplicaciones como, por ejemplo, tarjetas de crédito, tarjetas de combustible, tarjetas SIM de teléfono móvil, televisión de pago, tarjetas de prepago, tarjetas de identificación de alta seguridad y tarjetas de control de acceso, carteras electrónicas, etc. El chip de memoria 32 también se puede utilizar en dispositivos informáticos, ordenadores personales (PC) o servidores informáticos, teléfonos móviles u otros terminales de comunicación, módulos de memoria extraíbles, discos de estado sólido (SSD), tarjetas digitales seguras (SD), tarjetas multimedia (MMC) y MMC integradas (eMMC), cámaras digitales, reproductores de música y otros reproductores multimedia, nodos de Internet de las cosas (IOT) y/o cualquier otro sistema o dispositivo en el que se almacenen y recuperen datos.
El host 28 comprende un procesador 40 que ejecuta programas adecuados según lo requiera el dispositivo del usuario. El host 28 comprende una interfaz adecuada 50A para comunicarse con el chip de memoria a través del bus de comunicación 36. Además, el host 28 incluye medios para comunicarse de forma segura con una base de datos instalada en un servidor remoto.
La memoria no volátil 44 típicamente comprende una pluralidad de células de memoria (no se muestra). En el presente ejemplo, la memoria no volátil 44 comprende una memoria Flash, pero puede implementarse alternativamente utilizando cualquier otra tecnología de almacenamiento adecuada. La capacidad de almacenamiento de la memoria no volátil 44 depende de los requisitos de almacenamiento del dispositivo de usuario host y puede estar, por ejemplo, en el orden de varios megabits o incluso varios gigabits.
El chip de memoria 32 comprende un controlador de memoria 48 que gestiona el almacenamiento de datos en la memoria no volátil 44. El controlador de memoria 48 se comunica con el host 28 a través del bus de comunicación 36 a través de una interfaz adecuada 50B. El controlador de memoria 48 puede acoplarse a la memoria no volátil 44 a través de cualquier bus de comunicación interno adecuado o LINK 52. En el chip de memoria 32, cualquier información transmitida entre el controlador de memoria y la memoria no volátil a través del bus de comunicación 52 es inaccesible fuera del chip de memoria 32.
El bus de comunicación 36 entre el host y el chip de memoria puede incluir cualquier bus o enlace adecuado que funcione de acuerdo con cualquier protocolo adecuado. El bus de comunicaciones 36 puede comprender, por ejemplo, un bus de interfaz periférica en serie (SPI) o un circuito integrado (bus I2C). El bus de comunicaciones 36 puede funcionar como un bus en serie o como un bus en paralelo, enviando y recibiendo información a cualquier tasa adecuada. Un bus SPI y, de forma similar, un bus I2C pueden funcionar a velocidades de bits de varios Kbps a varios Mbps (por ejemplo, más de 400Mbps en el bus Octal SPI basado en 50MHz).
El host y el chip de memoria comprenden los respectivos motores criptográficos 60A y 60B, que soportan operaciones criptográficas como cifrado, descifrado, hash y autenticación. Los motores criptográficos 60A y 60B aplican operaciones criptográficas utilizando las claves de enlace 64A y 64B. Aunque generalmente asumimos que las claves de enlace 64A y 64B son idénticas, esta suposición no es obligatoria, y también se pueden utilizar las claves de enlace asimétricas (es decir, diferentes) 64A y 64B. A continuación se describe detalladamente un proceso de enlace para establecer las claves de enlace. En general, los motores criptográficos 60A y 60B pueden utilizarse para fines distintos de la vinculación segura, posiblemente utilizando claves secretas distintas de 64A y 64B.
El chip de memoria 32 comprende un identificador de dispositivo único 68 (también denominado Dev-ID) y una clave de inicialización secreta correspondiente 72 (también denominada I-Key). Dev-ID 68 y su I-Key 72 asociada pueden pre-programarse en el chip de memoria en la producción, o después de que el chip de memoria y el host se ensamblen juntos dentro del dispositivo del usuario. En algunas realizaciones, el Dev-ID y la I-Key asociada están pre-programados en memoria no volátil 44. En algunas incorporaciones, para inicializar Dev-ID e I-Key, el chip de memoria se acopla a un servidor de inicialización que programa Dev-ID y una I-Key respectiva al chip de memoria, y envía el par {Dev-ID, I-Key} de una manera segura a una base de datos 76 para el registro. La base de datos 76 reside externamente en el dispositivo del usuario y normalmente se implementa en un servidor u otro equipo adecuado.
La I-Key secreta 72 puede asignarse de forma exclusiva por chip de memoria o compartirse entre varios chips de memoria. Una vez pre-programado en el chip de memoria, la I-Key 72 no puede leerse ni sobrescribirse a través de ninguna de las interfaces diseñadas del chip de memoria o del dispositivo de usuario.
En el ejemplo de la Fig. 1, el host 28 se comunica con la base de datos 76 a través de una red de comunicaciones 78, como, por ejemplo, una red Ethernet o de protocolo de Internet (IP), utilizando cualquier protocolo de comunicación protegido adecuado. Alternativamente, la red de comunicaciones 78 puede funcionar de acuerdo con cualquier otra norma o protocolo adecuado. Además, el host 28 se conecta directamente a la base de datos 76 mediante un bus o enlace seguro adecuado.
Las configuraciones del dispositivo de usuario 24 y el chip de memoria 32 en la Fig. 1 son configuraciones de ejemplo, que se eligen exclusivamente por razones de claridad conceptual. En las realizaciones alternativas, cualquier otra configuración adecuada de un dispositivo de usuario y un chip de memoria también se puede utilizar. Los diferentes elementos del chip de memoria 32, como el controlador de memoria 48 y el motor criptográfico 60B pueden implementarse utilizando cualquier hardware adecuado, como en un circuito integrado específico de la aplicación (ASIC) o una matriz de puertas programables en campo (FPGA) . La memoria no volátil 44 puede implementarse utilizando cualquier tipo adecuado de memoria de estado sólido, por ejemplo, utilizando uno o más dispositivos de memoria Flash. En algunas realizaciones, algunos elementos del chip de memoria 32, host 28 o ambos, pueden implementarse usando software, o usando una combinación de elementos de hardware y software. En algunas realizaciones, ciertos elementos del dispositivo de usuario 24, como el controlador de memoria 48 y/o el procesador 40, pueden comprender uno o más procesadores de propósito general, que están programados en el software para llevar a cabo las funciones descritas en el presente documento. El software se puede descargar a los procesadores en forma electrónica, a través de una red, por ejemplo, o puede, alternativamente o adicionalmente, se proporcione y/o almacene en medios tangibles no transitorios, como memoria magnética, óptica o electrónica.
En el dispositivo de usuario 24, el host 28 y el chip de memoria 32 pueden estar compuestos cada uno de un chip semiconductor independiente, y los dos troqueles residen en un paquete común o en paquetes separados. Alternativamente, el host 28 y el chip de memoria 32 están fabricados en un troquel monolítico. En algunas realizaciones, el controlador de memoria 48, la memoria no volátil 44 y el motor criptográfico 56, todos residen en un dado común que comprende el chip de memoria 32.
Procedimientos de enlace seguro
Primero damos un esquema general de las realizaciones que llevan a cabo un proceso de encuadernación segura, y más adelante describimos los procedimientos para la encuadernación segura en detalle. Al llevar a cabo un proceso de enlace, el chip de memoria informa de Dev-ID 68 pre-programado al host a través de LINK 36. El Dev-ID 68 pre­ programado se considera no secreto y puede ser expuesto sobre el enlace 36. El host consulta la base de datos 76 en el servidor remoto con el Dev-ID informado y, como respuesta, la base de datos recupera el I-Key registrado en la base de datos en asociación con este Dev-ID. El servidor que contiene la base de datos 76 envía la I-Key recuperada al host de forma segura.
En este punto, cada chip de memoria y host contiene una instancia de la clave de inicialización secreta. Específicamente, el chip de memoria tiene una instancia de la I-Key que fue pre-programada en el chip de memoria, y el host tiene una instancia de la I-Key secreta que fue recuperada de la base de datos.
El host genera información de enlace y envía esta información de enlace al chip de memoria a través del enlace 36, posiblemente de forma segura. En función de la información de enlace y de las instancias de I-KEY respectivas, el host y el chip de memoria derivan localmente las claves de enlace coincidentes.
La Fig. 2 es un diagrama de flujo que ilustra esquemáticamente un procedimiento de enlace seguro, de acuerdo con una realización que se describe en el presente documento. El procedimiento puede ser ejecutado, por ejemplo, por el controlador de memoria 48 y el host 28 que están interconectados en el dispositivo de usuario 24 a través de LINK 36.
El procedimiento comienza con el controlador de memoria 48 recibiendo, por ejemplo, desde un servidor de inicialización, un identificador de dispositivo y una clave de inicialización asociada, y programando el identificador de dispositivo recibido como DEV-ID 68 y la clave de inicialización recibida como I-Key 72 en la memoria no volátil 44, en un paso previo a la programación 100. El controlador de memoria puede recibir el Dev-ID y la I-key asociada del servidor de inicialización compuesto por un comando de inicialización adecuado. Además, el servidor de inicialización registra el par {Dev-ID, I-Key} en la base de datos 76, como se ha descrito anteriormente.
En el paso 104 de una solicitud de enlace, el controlador de memoria recibe desde el host 28 una solicitud de enlace, a través del enlace 36. En respuesta a la recepción de la solicitud de enlace, el controlador de memoria lee el Dev-ID pre-programado 68 y envía el Dev-ID leído al host a través del enlace 36.
En un paso de consulta 112, el host 28 consulta la base de datos 76 utilizando el Dev-ID recibido del controlador de memoria. En algunas realizaciones, el host consulta la base de datos 76 enviando a la base de datos un comando de consulta adecuado que contiene el Dev-ID, a través de la red de comunicación 78. Además, en el paso 112, el host recibe de la base de datos la I-KEY correspondiente al ID de desarrollo consultado. Tenga en cuenta que la base de datos envía la I-KEY al host, por ejemplo, a través de la red de comunicaciones 78, de forma segura. Por lo tanto, ninguna entidad que no sea el chip de memoria 32 y el host 28 puede obtener conocimiento de I-Key 72 programado en el chip de memoria. Además, la instancia de I-Key obtenida de la base de datos se mantiene en secreto dentro del host 28.
En un paso de enlace 116, el host genera información de enlace y envía esta información de enlace al controlador de memoria. En función de la información de enlace y la I-KEY, el host y el chip de memoria pueden producir claves de enlace correspondientes 64A y 64B. Para producir la clave de enlace 64A, el host utiliza la instancia de I-Key recuperada de la base de datos. Para producir la clave de enlace 64B, el controlador de memoria utiliza la I-Key 72 pre-programada.
En algunas realizaciones, en el paso 116, el host genera información de enlace que comprende la clave de enlace 64A, cifrada usando la I-Key obtenida de la base de datos. El host puede cifrar la clave de enlace 64A para producir la información de enlace utilizando cualquier procedimiento de cifrado adecuado.
En otras realizaciones, en el paso 116, el anfitrión genera información vinculante que comprende una semilla. La semilla puede ser aleatoria, pseudo-aleatoria o no aleatoria. El host puede generar la semilla aleatoria o pseudoaleatoria usando un generador de números aleatorios o usando cualquier otro procedimiento adecuado. El host envía la semilla generada (como la información de enlace) al controlador de memoria, por ejemplo, no segura.
En algunas realizaciones, en el paso 116, el host genera para la información de enlace una firma, y envía la firma al controlador de memoria para la autenticación. Por ejemplo, el host puede producir la firma calculando una función hash adecuada "H" sobre la información de enlace o sobre parte de la información de enlace. En un paso de autenticación 120, el controlador de memoria recibe la firma del host y autentica la información de enlace mediante la firma.
En algunas realizaciones, en el paso 120, el controlador de memoria calcula la función hash H sobre la información de enlace recibida para producir una firma de prueba. En un paso de verificación 124, el controlador de memoria compara entre la firma de prueba y la firma recibida del host, y en caso de que estas firmas no coincidan, el controlador de memoria informa de un evento de fallo de enlace en un paso de informe de fallo 128 y el procedimiento termina.
Cuando en el paso 124 la firma de prueba y la firma recibida del host coinciden, la información de enlace se autentica con éxito y el controlador de memoria continúa con un paso de generación de clave de enlace 132. En el paso 132, el controlador de memoria genera la clave de enlace 64B, basada al menos en la información de enlace recibida en el paso 116 y en la I-Key 72 pre-programada en el paso 100. Los procedimientos para generar las claves de enlace 64A y 64B se describen en detalle a continuación.
Siguiendo el paso 132, el host y el controlador de memoria tienen las claves de enlace 64A y 64B coincidentes, y se comunican de forma segura entre sí mediante las claves de enlace, en un paso de comunicación segura 136. En algunas incorporaciones, antes de aceptar la clave de enlace 64B para la comunicación, el controlador de memoria borra toda la memoria no volátil (o sólo parte de ella) 44, o borra toda la información confidencial almacenada en la memoria no volátil 44, para evitar la exposición de la información secreta contenida en el chip de memoria.
Para comunicarse de forma segura entre sí, el controlador de memoria y el host pueden cifrar los datos que se van a enviar a través de LINK 36 y descifrar los datos recibidos a través de LINK 36. Además o alternativamente, el controlador de memoria y el host pueden firmar los datos enviados a través de LINK 36 y autenticar los datos firmados recibidos a través de LINK 36.
El host 28 y el controlador de memoria 48 generan las claves de enlace 64A y 64B correspondientes de acuerdo con el tipo de información de enlace utilizada. Por ejemplo, como se ha descrito anteriormente, en algunas incorporaciones, el host genera la clave de enlace 64A, y la información de enlace comprende la clave de enlace 64A cifrada mediante la clave i obtenida de la base de datos. En tales realizaciones, el controlador de memoria genera una clave de enlace coincidente (64B) descifrando la información de enlace utilizando I-Key 72 pre­ programado.
Como otro ejemplo, cuando la información de enlace comprende una semilla, el host y el controlador de memoria generan las respectivas claves de enlace 64A y 64B calculando BK=H(I-Key, Seed), donde BK denota una clave de enlace, Seed denota la semilla generada por el host, y I-Key denota I-Key pre-programada 72 para calcular BK (64B) en el controlador de memoria y la I-Key recuperada de la base de datos para calcular BK (64A) en el host.
En algunas realizaciones, por ejemplo, en caso de producción masiva, la memoria no volátil 44 del chip de memoria 32 está pre-programada con contenido que no debe borrarse. En tales realizaciones, el controlador de memoria es necesario para autenticar el contenido pre-programado antes de aceptar la clave de enlace 64B.
En algunas realizaciones, para proteger el contenido pre-programado, una firma de memoria (denotada MemSig) correspondiente a este contenido se almacena en la base de datos 76, en asociación con el Dev-ID pre-programado 72. Alternativamente, la firma de memoria puede almacenarse en alguna base de datos que no sea la base de datos 76, o en alguna otra fuente de información (la otra base de datos y otra fuente no se muestran en la Fig. 1). Además alternativamente, la MemSig es generada por el host (cuando el host tiene conocimiento del contenido relevante pre­ programado).
La firma de memoria se puede calcular sobre el contenido de memoria relevante utilizando una función criptográfica adecuada, por ejemplo, una función hash adecuada. En una realización, al calcular la MemSig, la función hash cubre tanto el contenido de memoria pre-programado como la I-Key asociada con el respectivo Dev-ID. En la memoria no volátil 44, el contenido de la memoria protegida puede almacenarse en una o más secciones del espacio de memoria.
En algunas realizaciones, dado el Dev-ID, el host recupera la MemSig de la base de datos, además de recuperar la I-Key como se describe anteriormente, y envía la MemSig recuperada al controlador de memoria. Como alternativa, el controlador de memoria recibe la firma de memoria de otra fuente relevante en la que se almacena la firma de memoria. El controlador de memoria calcula una firma de memoria de prueba sobre el contenido relevante real en la memoria no volátil 44, y acepta la clave de enlace 64B sólo en respuesta a la detección de que la MemSig recibida del host coincide con la firma de memoria de prueba.
En algunas realizaciones, el host y el controlador de memoria utilizan la firma de memoria para generar las claves de enlace, autenticar la información de enlace, o ambas. Por ejemplo, en una realización, el host y el controlador de memoria calculan las claves de enlace respectivas 64A y 64B como BK=H(I-Key, Seed, MemSig), y calculan la firma para autenticar la información de enlace como Signature=H(BK). En otra realización, el host y el controlador de memoria calculan las claves de enlace respectivas 64A y 64B como BK=H(I-Key, Seed), y calculan la firma para autenticar la información de enlace como Signature=H(BK,MemSig). En otras realizaciones, la firma usada para autenticar la información de enlace es dada por Signature=H(BK-encrypted,I-Key,MemSig), donde BK-encrypted es la clave de enlace cifrada usando la I-Key.
Las realizaciones descritas anteriormente se dan a modo de ejemplo y otras realizaciones adecuadas también pueden usarse. Por ejemplo, en las realizaciones descritas anteriormente, el cálculo de firmas se basa principalmente en una clave de inicialización, es decir, la instancia pre-programada I-key 72 en el controlador de memoria, o la instancia de la I-key recuperada de la base de datos, en el host. En las realizaciones alternativas, el cálculo de las firmas puede basarse en derivados de las instancias de I-Key. Cada uno de los controladores de memoria y host puede generar una o más derivados de su instancia de I-Key, por ejemplo, calculando una función hash adecuada sobre la instancia de I-Key y el ID de dispositivo correspondiente. Alternativamente, el controlador de memoria puede calcular una derivada de I-Key calculando una función hash adecuada sobre la instancia de I-Key y alguna semilla o la firma de memoria.
Aunque en algunas de las realizaciones descritas anteriormente, la información vinculante comprende una semilla aleatoria, también pueden usarse otros parámetros adecuados. Estos parámetros incluyen, por ejemplo, datos programables una sola vez (OTP) y una clave secreta asignada al host. Los datos OTP suelen programarse en una memoria no volátil del host y nunca cambian durante la vida útil del dispositivo del usuario.
Aunque las realizaciones en el presente documento descritas se refieren principalmente a la unión segura entre un host y un chip de memoria, los procedimientos y sistemas descritos en el presente documento también pueden usarse en otras aplicaciones, como en la unión segura para establecer un enlace de comunicación seguro entre cualquier dispositivo informático, por ejemplo, enlace entre un host y cualquier aplicación de almacenamiento de datos segura, como un disco duro, un soporte de almacenamiento magnético u óptico, etc.

Claims (12)

REIVINDICACIONES
1. Un sistema de memoria (32), que comprende:
Una interfaz (50B) configurada para comunicarse a través de un enlace de comunicación no seguro (LINK) con un host (28) externo al sistema de memoria (32);
una memoria no volátil (44) pre-programada con al menos un identificador de dispositivo (DEV-ID) y una clave de inicialización correspondiente (I-KEY), en el que el identificador de dispositivo (DEV-ID) y la clave de inicialización correspondiente (I-KEY) se almacenan adicionalmente en una base de datos (DB) externa al sistema de memoria (32), el host (28) puede acceder de forma segura a la base de datos (DB); y un controlador (48) configurado para:
Enviar el identificador de dispositivo (DEV-ID) al host (28);
Recibir desde el host (28), a través de la interfaz (50B),
Información de enlace (BINDING INFO) generada en el host (28);
generar, utilizando al menos la información de enlace recibida (BINDING INFO) y la clave de inicialización pre-programada (72), una primera clave de enlace que coincida con una segunda clave de enlace, en el que se genera la segunda clave de enlace en el host (28) en base a la clave de inicialización (I-KEY) obtenida de forma segura por el host (28) de la base de datos (DB) mediante la consulta de la base de datos (DB) mediante el identificador de dispositivo (DEV-ID) recibido del controlador (48); y.
Comunicarse de forma segura con el host (28) a través del enlace de comunicación (LINK) mediante la primera clave de enlace,
en el que el controlador (48) está configurado para recibir una firma de memoria calculada sobre el contenido pre-programado de la memoria no volátil (44), para autenticar el contenido real de la memoria no volátil (44) utilizando la firma de memoria, y utilizar la primera clave de enlace para comunicarse con el host (28) sólo si la firma de memoria se autenticó con éxito, en el que la base de datos (DB) almacena la firma de memoria en asociación con el identificador de dispositivo (DEV-ID), y en el que el controlador (48) está configurado para recibir, desde el host (28), la firma de memoria que fue recuperada por el host de la base de datos (DB) usando el identificador de dispositivo (DEV-ID).
2. El sistema de memoria (32) de acuerdo con la reivindicación 1, donde la información de enlace (BINDING INFO) comprende la segunda clave de enlace generada por el host y cifrada mediante la clave de inicialización (I-KEY) obtenida de la base de datos (DB), y en el que el controlador (48) está configurado para generar la primera clave de enlace descifrando la segunda clave de enlace cifrada a partir de la información de enlace (BIND INFO) utilizando la clave de inicialización pre-programada (72).
3. El sistema de memoria (32) de acuerdo con la reivindicación 1, en el que la información de enlace (BINDING INFO) comprende una semilla generada por el host (28), y en el que el controlador (48) está configurado para generar la primera clave de enlace en base a la semilla y en la clave de inicialización pre-programada (72).
4. El sistema de memoria (32) de acuerdo con la reivindicación 3, en el que el controlador (48) está configurado para generar la primera clave de enlace calculando una función hash sobre la semilla y la clave de inicialización pre­ programada (72).
5. El sistema de memoria (32) de acuerdo con la reivindicación 3, en el que el controlador (48) está configurado para recibir del host (28) una firma que el host (28) calcula sobre al menos la semilla y la clave de inicialización (I-KEY) obtenida de la base de datos (DB), y para autenticar la información de enlace (BINDING-INFO) mediante la firma.
6. El sistema de memoria (32) de acuerdo con la reivindicación 1, en el que el controlador (48) está configurado para recibir del host (28) una firma calculada sobre al menos parte de la información de enlace (BINDING-INFO), para autenticar la información de enlace recibida (BINDING-INFO) usando la firma, y aceptar la primera clave de enlace para comunicarse con el host (28) sólo si la información de enlace recibida (BINDING-INFO) se autenticó con éxito.
7. El sistema de memoria (32) de acuerdo con la reivindicación 1, en el que el controlador (48) está configurado para recibir del host (28) una firma combinada calculada sobre al menos parte de la información de enlace (BINDING-INFO) y sobre la firma de memoria, y para autenticar tanto la información de enlace (BINDING-INFO) como el contenido pre-programado basado en la firma combinada.
8. Un procedimiento de enlace entre un sistema de memoria y un host, que comprende:
en el sistema de memoria (32) acoplado al host externo (28), enviando un identificador de dispositivo (DEV­ ID) al host (28) a través de un enlace de comunicación no seguro (LINK), en el que el sistema de memoria (32) comprende una memoria no volátil (44) pre-programada con al menos el identificador de dispositivo (DEV-ID) y una clave de inicialización correspondiente (I-KEY), en el que el identificador de dispositivo (DEV-ID) y la clave de inicialización correspondiente (I-KEY) se almacenan adicionalmente en una base de datos (DB) externa al sistema de memoria (32), la base de datos (DB) es accesible de forma segura por el host (28);
Recibir del host (28) información de enlace (BINDING-INFO) generada en el host (28);
generar por el sistema de memoria (32), utilizando al menos la información de enlace recibida (BINDING-INFO) y la clave de inicialización pre-programada (72), una primera clave de enlace que coincide con una segunda clave de enlace, en el que se genera la segunda clave de enlace en el host (28) en base a una clave de inicialización (I-KEY) obtenida de forma segura por el host (28) de la base de datos (DB) mediante la consulta de la base de datos usando el identificador de dispositivo (DEV-ID) recibido del sistema de memoria (32); y.
Comunicarse de forma segura con el host (28) a través del enlace de comunicación (LINK) mediante la primera clave de enlace,
En el que el procedimiento comprende además:
Recuperar una firma de memoria calculada sobre el contenido pre-programado de la memoria no volátil (44) por el host (28) de la base de datos (DB) utilizando el identificador de dispositivo (DEV-ID);
Recibir, desde el host(28), la firma de memoria para autenticar el contenido real de la memoria no volátil (44) mediante la firma de memoria; y.
Utilizar la primera clave de enlace para comunicarse con el host(28) sólo si la firma de memoria se autenticó con éxito,
En el que la base de datos (DB) almacena la firma de memoria en asociación con el identificador de dispositivo (DEV-ID).
9. El procedimiento de acuerdo con la reivindicación 8, en el que la información de enlace (BINDING-INFO) comprende la segunda clave de enlace generada por el host (28) y cifrada mediante la clave de inicialización (I-KEY) obtenida de la base de datos (DB), en el que generar la primera clave de enlace comprende descifrar la segunda clave de enlace cifrada a partir de la información de enlace (BINDING-INFO) utilizando la clave de inicialización pre­ programada (72).
10. El procedimiento de acuerdo con la reivindicación 8, en el que la información de enlace (BINDING-INFO) comprende una semilla generada por el host (28), en el que la generación de la primera clave de enlace comprende el cálculo de la primera clave de enlace en base a la semilla y a la clave de inicialización pre-programada (72).
11. El procedimiento de acuerdo con la reivindicación 10, en el que la generación de la primera clave de enlace comprende el cálculo de una función hash sobre la semilla y la clave de inicialización pre-programada (72).
12. El procedimiento de acuerdo con la reivindicación 10, que comprende la recepción del host (28) de una firma que el host (28) calcula sobre al menos la semilla y la clave de inicialización (I-KEY) obtenidas de la base de datos (DB), y la autenticación de la información de enlace (BINDING-INFO) mediante la firma.
ES17191517T 2016-09-18 2017-09-18 Sistema de memoria y procedimiento de enlace entre el mismo y el host Active ES2873598T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662396165P 2016-09-18 2016-09-18
US15/691,758 US10482036B2 (en) 2016-09-18 2017-08-31 Securely binding between memory chip and host

Publications (1)

Publication Number Publication Date
ES2873598T3 true ES2873598T3 (es) 2021-11-03

Family

ID=59914313

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17191517T Active ES2873598T3 (es) 2016-09-18 2017-09-18 Sistema de memoria y procedimiento de enlace entre el mismo y el host

Country Status (6)

Country Link
US (1) US10482036B2 (es)
EP (1) EP3296912B1 (es)
KR (1) KR102024339B1 (es)
CN (1) CN107846396B (es)
ES (1) ES2873598T3 (es)
TW (1) TWI635394B (es)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10565229B2 (en) 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
US11463441B2 (en) 2018-05-24 2022-10-04 People.ai, Inc. Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies
US11258772B2 (en) * 2018-06-19 2022-02-22 Cypress Semiconductor Corporation Secured communication from within non-volatile memory device
US10942909B2 (en) * 2018-09-25 2021-03-09 Salesforce.Com, Inc. Efficient production and consumption for data changes in a database under high concurrency
US11726923B2 (en) 2019-06-18 2023-08-15 Micron Technology, Inc. Memory device with cryptographic kill switch
CN113032786B (zh) * 2019-12-25 2023-07-04 成都鼎桥通信技术有限公司 认证凭证的传递方法、芯片及设备
KR102864753B1 (ko) 2020-01-08 2025-09-24 삼성전자주식회사 키를 안전하게 관리하기 위한 장치 및 방법
US12481599B2 (en) 2020-10-26 2025-11-25 Micron Technology, Inc. Monitor integrity of endpoints having secure memory devices for identity authentication
CN115037493B (zh) * 2021-03-03 2025-09-02 美光科技公司 监测具有安全存储器装置的端点的完整性以用于身份认证
SG10202105796SA (en) * 2021-06-01 2021-07-29 Flexxon Pte Ltd Module and method for authenticating data transfer between a storage device and a host device
WO2024164295A1 (en) * 2023-02-10 2024-08-15 Qualcomm Incorporated Hardware-based data protection for replay protected data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004139433A (ja) * 2002-10-18 2004-05-13 Toshiba Corp 端末装置とこの装置で使用する記録媒体、及びコンテンツ管理システムとその管理サーバ
TWI263431B (en) * 2004-09-22 2006-10-01 Inst Information Industry Data encryption system and method
KR20100057846A (ko) * 2007-08-24 2010-06-01 인터내셔널 비지네스 머신즈 코포레이션 저장 장치에 저장된 컨텐트를 보호하기 위한 시스템 및 방법
KR101473488B1 (ko) * 2007-11-29 2014-12-17 삼성전자주식회사 휴대 방송을 지원하는 이동 단말로 전달되는 응답 메시지를생성하는 스마트 카드 및 방법 그리고 그 이동 단말
KR100936885B1 (ko) * 2007-12-10 2010-01-14 한국전자통신연구원 다운로드 가능한 제한수신시스템에서의 상호 인증 방법 및그 장치
CN101740111B (zh) * 2008-11-11 2013-11-06 国民技术股份有限公司 半导体存储装置及其实现数据安全存储的方法
US8225110B2 (en) * 2009-01-09 2012-07-17 Telefonaktiebolaget Lm Ericsson (Publ) Cryptographic protection of usage restrictions in electronic devices
US8484720B2 (en) * 2009-05-22 2013-07-09 Sandisk Il Ltd. Service binding method and system
US8788842B2 (en) * 2010-04-07 2014-07-22 Apple Inc. System and method for content protection based on a combination of a user PIN and a device specific identifier
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices
US8788849B2 (en) * 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US8831218B2 (en) 2012-04-10 2014-09-09 Western Digital Technologies, Inc. Digital rights management system and methods for provisioning content to an intelligent storage
WO2013175641A2 (ja) * 2012-05-25 2013-11-28 株式会社東芝 セキュリティシステム
WO2013175640A1 (ja) * 2012-05-25 2013-11-28 株式会社東芝 ホストデバイスおよびホストデバイスにおける認証方法
GB2504457A (en) * 2012-06-06 2014-02-05 Univ Bruxelles Message authentication via distributed secret keys
US9141783B2 (en) * 2012-06-26 2015-09-22 Ologn Technologies Ag Systems, methods and apparatuses for the application-specific identification of devices
US9436819B2 (en) 2014-09-23 2016-09-06 Intel Corporation Securely pairing computing devices
IL235729A (en) * 2014-11-17 2017-06-29 Kaluzhny Uri A device and method for securely storing information
US9787726B2 (en) * 2015-01-30 2017-10-10 Blackberry Limited Control of accesses for IMS services

Also Published As

Publication number Publication date
TW201814541A (zh) 2018-04-16
TWI635394B (zh) 2018-09-11
US20180081827A1 (en) 2018-03-22
KR102024339B1 (ko) 2019-11-04
CN107846396A (zh) 2018-03-27
EP3296912B1 (en) 2021-03-17
CN107846396B (zh) 2020-12-15
EP3296912A1 (en) 2018-03-21
KR20180031584A (ko) 2018-03-28
US10482036B2 (en) 2019-11-19

Similar Documents

Publication Publication Date Title
ES2873598T3 (es) Sistema de memoria y procedimiento de enlace entre el mismo y el host
JP7668389B2 (ja) 周辺デバイス
US11018847B2 (en) Device keys protection
CN112560058B (zh) 基于智能密码钥匙的ssd分区加密存储系统及其实现方法
US8166296B2 (en) User authentication system
JP7277270B2 (ja) 埋め込まれたルートオブトラストシークレットで生成される集積回路の個人化
US10482252B2 (en) Method for protecting the confidentiality and integrity of firmware for an Internet of Things device
US11893143B2 (en) Storage device for data encryption and self-destruction
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
CN101019368B (zh) 使用分发cd将直接证明私钥传递给设备的方法
CN119892522B (zh) 负控终端程序可信加载方法及电子设备
US20250080345A1 (en) Key management method and related device
CN119272351A (zh) 硬盘激活方法及认证方法、固态硬盘及服务器
Areno et al. Secure mobile authentication and device association with enhanced cryptographic engines