ES2691258T3 - Sistema y método para una comunicación anfitrión-esclavo segura - Google Patents

Sistema y método para una comunicación anfitrión-esclavo segura Download PDF

Info

Publication number
ES2691258T3
ES2691258T3 ES12830795.6T ES12830795T ES2691258T3 ES 2691258 T3 ES2691258 T3 ES 2691258T3 ES 12830795 T ES12830795 T ES 12830795T ES 2691258 T3 ES2691258 T3 ES 2691258T3
Authority
ES
Spain
Prior art keywords
slave device
slave
circuitry
host
value
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
ES12830795.6T
Other languages
English (en)
Inventor
Christopher Alan Adkins
Timothy John Rademacher
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.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexmark International Inc filed Critical Lexmark International Inc
Application granted granted Critical
Publication of ES2691258T3 publication Critical patent/ES2691258T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

Una circuitería (230) de dispositivo esclavo, incluida en un dispositivo (110) esclavo, comprendiendo la circuitería de dispositivo esclavo: un procesador (200) y una memoria (210) acoplada al mismo que tiene almacenadas dentro instrucciones de código de programa que, cuando son ejecutadas por el procesador (200), provocan al procesador (200) a: después de que la circuitería (230) del dispositivo esclavo se reinicie, determinar el valor de semilla (20) basado en un valor de semilla del dispositivo esclavo anterior al reinicio del dispositivo esclavo; recibir un número de anfitrión desde un anfitrión (100) que es sustancialmente aleatorio; generar una clave de sesión (50) basada en el valor de semilla determinado y el número de anfitrión, siendo la clave de sesión sustancialmente aleatoria; y realizar las operaciones cifrado y descifrado (60) en base a la clave de sesión generada en los datos a transmitir y los datos recibidos por la circuitería (230) de esclavo, respectivamente, y determinar un valor de dirección (80) en base a la clave de sesión generada para comunicarse con el anfitrión (100), en donde sustancialmente aleatorio comprende ser uno de entre un número aleatorio real y un número pseudoaleatorio, y en donde una primera parte de la clave de sesión es usada por el procesador (200) que realiza las operaciones de cifrado y descifrado (60) en los datos a transmitir y a recibir, respectivamente, y una segunda parte de la clave de sesión se usa para generar el valor de dirección.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Sistema y método para una comunicación anfitrión-esclavo segura Referencias cruzadas a las solicitudes relacionadas
La presente solicitud se relaciona con y reivindica prioridad de la solicitud de patente provisional U.S. 61/532,527, archivada el 8 de setiembre, 2011, titulada, “SISTEMA Y MÉTODO PARA UNA COMUNICACIÓN MAESTRO- ESCAVO SEGURA”.
Antecedentes
1. Campo de la descripción
Las realizaciones de ejemplo de la presente descripción se refieren de manera general a la comunicación maestro- esclavo segura, y más particularmente a un sistema y un método de comunicación en el que una clave de sesión es generada tanto por el dispositivo maestro como por el esclavo para usar tanto en el cifrado/descifrado como en la generación de direcciones de esclavo.
2. Descripción de la técnica relacionada
Los dispositivos de impresión son conocidos por usar esquemas de autenticación electrónicos asociados con sus elementos de suministros consumibles. Normalmente, el elemento de suministro reemplazable contiene un chip de circuito integrado que se comunica con el controlador ubicado en la impresora. En tal disposición, la impresora se configura como el dispositivo anfitrión y cada elemento de suministro como el dispositivo esclavo. El controlador en el anfitrión verifica la autenticidad de cada uno de los dispositivos esclavos mediante el envío de un reto a los mismos. La autenticidad es verificada por el anfitrión que recibe la respuesta correcta al reto desde el dispositivo esclavo.
En algunos esquemas existentes de autenticación de consumibles, los dispositivos anfitrión y esclavo se comunican a través del bus I2C. El anfitrión envía comandos al esclavo usando la dirección de esclavo asignada al mismo, el esclavo ejecuta los comandos y envía las respuestas, según sea apropiado, de vuelta al anfitrión. Los comandos y los datos se envían sin verificación de datos.
Mientras las comunicaciones entre anfitriones y esclavos no están cifradas, dicho sistema utiliza una característica de cambio de dirección de esclavo única para hacer más difícil duplicar la función del dispositivo esclavo. La dirección de esclavo se cambia de manera regular a valores de dirección de esclavo determinados por un algoritmo que es conocido por tanto el anfitrión como el esclavo. Después de recibir un comando de cambio de dirección desde el anfitrión, el esclavo no responderá a los sondeos de direcciones desde el anfitrión hasta después de que un cierto comando se reciba en la nueva dirección. La dirección actual se almacena en una memoria no volátil de tanto el anfitrión como el esclavo por lo que la dirección actual junto con la posición en la secuencia de direcciones, se mantiene a lo largo de los ciclos de alimentación.
La característica de cambio de dirección hace que clonar el chip de circuito integrado del dispositivo esclavo sea más difícil porque el algoritmo para computar el siguiente valor de la dirección de esclavo utiliza el valor actual de la misma. El problema con esta característica es que el anfitrión y el esclavo pueden resultar estar no sincronizados en la secuencia de direcciones. Por ejemplo, esto ocurrirá al mover un elemento de suministro esclavo desde una impresora anfitriona a otra ya que la segunda impresora no sabrá donde está el dispositivo esclavo en la secuencia de direcciones. Para superar esto, se proporciona un medio para reconfigurar la secuencia, que sustancialmente debilita la seguridad del sistema.
En concreto, el sistema existente sufre de 1) una falta de verificación y corrección de datos; 2) comunicación no cifrada; y 3) secuencias de direcciones de esclavo reiniciables.
El funcionamiento en ambientes ruidosos puede provocar la corrupción de los datos en el bus, pero el sistema existente no tiene medios para detectar o corregir estos errores inducidos por el ruido. Esto es de cierta importancia ya que los elementos de suministro (dispositivos esclavos) se ubican a menudo dentro de la impresora anfitriona a una distancia relativamente larga del controlador del anfitrión y los cables del bus de comunicaciones se pueden enrutar cerca de fuentes de ruido agresivo, tales como motores. El envío de los comandos de forma no cifrada permite que un atacante aprenda los comandos y datos del sistema capturando el tráfico entre el controlador de la impresora y el elemento de suministro.
Basado en lo anterior, existe la necesidad de un sistema de comunicación anfitrión-esclavo mejorado. La descripción de la US 2003/093694 A1 puede ser útil para entender la presente invención, como describe este documento obteniendo una clave de sesión a partir de un identificador de semilla y de anfitrión.
Compendio
Las realizaciones de ejemplo superan las deficiencias con los esquemas de comunicación existentes y de este modo
satisfacen una necesidad significativa del dispositivo esclavo de comunicarse de manera segura con un anfitrión sobre un bus. El dispositivo esclavo puede incluir un procesador y una memoria acoplada a este que tiene almacenados dentro instrucciones de código de programa. Las instrucciones de código de programa, cuando son ejecutadas por el procesador, provocan al procesador a: después de que el dispositivo esclavo se reinicie, 5 determinar un valor de semilla basado en un valor de semilla del dispositivo esclavo anterior a que el dispositivo esclavo se reiniciara; recibir un número de anfitrión desde un anfitrión que es sustancialmente aleatorio; determinar una clave de sesión basada en el valor de semilla determinado y el número de anfitrión, siendo la clave de sesión sustancialmente aleatoria; y usar la clave de sesión para realizar operaciones de cifrado y descifrado en los datos a transmitir y en los datos recibidos por el dispositivo esclavo, respectivamente, y a determinar un valor de dirección 10 para el dispositivo esclavo para comunicarse con el anfitrión. En la presente memoria, una primera parte de la clave de sesión es usada por el procesador para las operaciones de cifrado y descifrado, en donde una segunda parte es usada para generar el valor de dirección. Creando una clave de sesión que no se comunica con el anfitrión y que se usa en el cifrado/descifrado así como en la generación de direcciones de esclavo, el dispositivo esclavo coopera con el anfitrión para comunicarse de manera segura con este.
15 Breve descripción de los dibujos
Las características anteriormente mencionadas y otras y las ventajas de las diversas realizaciones, y la manera de alcanzarlas, resultarán más claras y se entenderán mejor con referencia a los dibujos adjuntos.
La Figura 1 es un diagrama de bloques de un sistema de comunicación que incluye un dispositivo anfitrión y al menos un dispositivo esclavo; y
20 La Figura 2 es un diagrama de flujo que ilustra el funcionamiento del dispositivo esclavo de la Figura 1 según una realización de ejemplo,
Descripción detallada
Se ha de entender que la invención no se limita en su aplicación a los detalles de construcción y disposición de los componentes enunciados en la siguiente descripción o ilustrados en los dibujos. La invención es capaz de otras 25 realizaciones y de ser puesta en práctica o ser llevada a cabo de diversas maneras. También, se ha de entender que la fraseología y la terminología usadas en la presente memoria son por el propósito de la descripción y no debería considerarse como limitante. El uso de “incluye,” “comprende,” o “tiene” y las variaciones de los mismos están destinadas en la presente memoria a abarcar los elementos listados después y los equivalentes de los mismos así como elementos adicionales. A menos que estén limitados de otro modo, los términos “conectado,” “acoplado,” y las 30 variaciones de los mismos se usan en la presente memoria ampliamente y abarcan las conexiones y acoplamientos directos e indirectos. Además, los términos “conectado,” “acoplado,” y las variaciones de los mismos no se restringen a las conexiones o acoplamientos físicos o mecánicos. Además, y como se describe en los párrafos siguientes, las configuraciones mecánicas específicas ilustradas en los dibujos están destinadas a ejemplificar las realizaciones de la invención y son posibles otras configuraciones mecánicas alternativas.
35 Las realizaciones de ejemplo de la presente descripción están dirigidas a la comunicación entre un dispositivo 100 anfitrión y uno o más dispositivos 110 esclavos, como se muestra en la Fig. 1. El dispositivo 100 anfitrión y el dispositivo 110 esclavo se comunican a través de un bus 120. En una realización de ejemplo, el dispositivo 100 anfitrión es un dispositivo de impresión y el dispositivo 110 esclavo es un elemento de suministro reemplazable. En concreto, el dispositivo 100 anfitrión puede incluir componentes y módulos utilizados normalmente en impresoras, 40 que incluyen un motor 130 de impresión para presentar una imagen en una hoja de medios. Por ejemplo, el motor 130 de impresión puede ser un motor de impresión para una impresora láser o para una impresora de tinta. Se entiende que el motor 130 de impresión puede ser cualquier motor usado para crear una imagen en una hoja de medios. El dispositivo 100 anfitrión puede incluir además un sistema 140 de escáner para capturar una imagen que aparece en una hoja de medios para su uso posterior en una operación de impresión, comunicación por correo 45 electrónico o similar Se puede incluir un sistema 150 alimentador de medios en el dispositivo 100 anfitrión para mover sucesivamente las hojas de medios desde una pila de entrada (no mostrada) al motor 130 de impresión para realizar una operación de impresión después de la cual la hoja impresa se puede mover a un área de salida del dispositivo 100 anfitrión (no mostrada). Los detalles del motor 130 de impresión, el sistema 140 de escáner y el sistema 150 alimentador de medios son bien conocidos y no se describirán en la presente memoria por razones de 50 simplicidad.
El dispositivo 100 anfitrión puede incluir además una interfaz 160 de usuario que permite la comunicación entre el dispositivo 100 anfitrión y un usuario del mismo. La interfaz 160 de usuario puede ser cualquier interfaz para facilitar la comunicación entre el dispositivo 100 anfitrión y el usuario, tal como, por ejemplo, una pantalla táctil.
El dispositivo 100 anfitrión puede incluir además un puerto 170 de la interfaz para comunicarse con uno o más 55 dispositivos 110 esclavos a través del bus 120. El dispositivo 100 anfitrión puede incluir además un controlador 180 para controlar los diferentes componentes del dispositivo 100 anfitrión. En el contexto en el que el dispositivo 100 anfitrión es un dispositivo de impresión, el controlador 180 puede controlar el funcionamiento del motor 130 de impresión, el sistema 140 de escáner, el sistema 150 alimentador de medios, la interfaz 160 y la interfaz 170 de
5
10
15
20
25
30
35
40
45
usuario. El controlador 180 puede ejecutar instrucciones almacenadas en la memoria 190 para controlar los diversos componentes del dispositivo 100 anfitrión.
En una realización en la que el dispositivo 100 anfitrión es un dispositivo de impresión, el dispositivo 110 esclavo puede ser un cartucho o envase de tinta o tóner, por ejemplo. Además, o como alternativa, el dispositivo 110 esclavo puede ser otro componente reemplazable de una impresora láser anfitriona, tal como una unidad de revelado de un motor 130 de impresión o una unidad de fusor.
El dispositivo esclavo puede incluir un procesador 200 para, entre otras cosas, cooperar con el dispositivo 100 anfitrión a realizar la autenticación del esclavo para permitir sólo a los esclavos autorizados comunicarse con el dispositivo 100 anfitrión y de este modo evitar ataques o daños al dispositivo 100 anfitrión. El procesador 200 se acopla con la memoria 210 que tiene instrucciones almacenadas dentro para su ejecución por el procesador 200. El procesador 200 y la memoria 210 se pueden crear en un chip 230 de circuito integrado. En una realización alternativa, el procesador 200 y l memoria 210 residen en chips de circuitos integrados separados. En aún otra realización alternativa, el dispositivo 110 esclavo puede incluir una circuitería, tal como una circuitería basada en una máquina de estados, para cooperar con el dispositivo 100 anfitrión para realizar la autenticación del esclavo.
Se entiende que el dispositivo 100 anfitrión no se limita a un dispositivo de impresión y puede ser virtualmente cualquier dispositivo electrónico con el que un elemento extraíble y/o reemplazable se pueda comunicar a través de un bus 120. Se entiende de manera similar que el dispositivo 110 esclavo puede ser virtualmente cualquier elemento reemplazable que se comunica con el dispositivo 100 anfitrión, incluyendo dispositivos esclavos que estén acoplados de manera comunicativa con éste de forma temporal.
El bus 120 puede ser cualquier bus que soporte un protocolo de bus en el que un anfitrión 100 y uno o más dispositivos 110 esclavos se comuniquen los unos con los otros. Según una realización de ejemplo, el bus 120 puede ser un bus de Circuito inter-Integrado (I2C). En un bus I2C, un cable del bus 120 compartido lleva los datos de una manera bidireccional, y otro cable lleva las señales de reloj desde el dispositivo 100 anfitrión hasta los dispositivos 110 esclavos. También, aunque el bus 120 compartido se ilustra como un bus en serie de dos cables, se pueden utilizar estructuras de bus en paralelo compartidos.
Según al menos algunas realizaciones, incluyendo las realizaciones en las que el bus 120 es un bus I2C, el bus 120 es un bus maestro-esclavo, con el dispositivo 100 anfitrión sirviendo como el maestro del bus y los dispositivos 110 esclavos como los esclavos del bus. Al usar el protocolo I2C, el dispositivo 100 anfitrión inicia todas las comunicaciones con los respectivos dispositivos 110 esclavos. Los dispositivos 110 esclavos sólo responden a las solicitudes del dispositivo 100 anfitrión. En el caso de que un impostor se conecte al bus 120 compartido y emplee una dirección de esclavo válida, entonces el dispositivo impostor puede recibir una comunicación dirigida a él desde el dispositivo 100 anfitrión. Cuando se pasa información sensible a través del bus 120 a los dispositivos 110 esclavos, el dispositivo impostor puede recibir esta misma de una manera no autorizada, desconocida para el dispositivo 100 anfitrión. Esto puede ocurrir si un dispositivo 110 esclavo autorizado fuera desconectado del bus 120 compartido y el dispositivo impostor fuera conectado en el mismo y programado o cableado para asumir la dirección del dispositivo 110 esclavo que fue desconectado. Si los dispositivos 110 esclavos fueran equipados todos con direcciones fijas, lo que ha sido la práctica establecida, entonces no es excesivamente complicado acoplar un dispositivo impostor al bus 120 compartido y recibir las comunicaciones sensibles de una manera no autorizada desconocida para el dispositivo 100 anfitrión. Como resultado, los dispositivos 110 esclavos cambian de manera ocasional sus direcciones de esclavo en respuesta a una solicitud del dispositivo 100 anfitrión.
En una realización de ejemplo, el anfitrión 100 y el esclavo 110 se comunican usando comandos y datos cifrados usando un cifrado de flujo u otro esquema de cifrado. El establecimiento de una sesión de cifrado es realizado mediante el intercambio de valores entre el anfitrión 100 y el esclavo 110. Entonces el anfitrión 100 y el esclavo 110 calculan cada uno de manera independiente una clave de sesión a partir de los valores intercambiados y un secreto que es conocido por ambos. La clave de sesión se usa después para inicializar el cifrado de flujo (o cualquier otro esquema de cifrado) y la función de dirección de esclavo.
Específicamente, la tabla a continuación muestra los valores en el esquema de cifrado entre el anfitrión 100 y el esclavo 110, incluyendo los tamaños de ejemplo para cada valor.
Datos
Descripción Tamaño
SN
Número de serie del esclavo 4 bytes
EK
Clave de cifrado secreta 16 bytes
SEMILLA
Semilla del número aleatorio de esclavo 20 bytes
SID
Identificación de sesión 2 bytes
HRN
Número aleatorio de anfitrión 8 bytes
5
10
15
20
25
30
35
40
45
SRN
Número aleatorio de esclavo 8 bytes
SK
Clave de Sesión 20 bytes
TABLA
Valores de Cifrado
Cada esclavo 110 almacena en su memoria 210 un número SN de serie del esclavo único, una clave EK de cifrado de secreto única, una semilla SEMILLA del número aleatorio de esclavo y un identificador SID de sesión en una memoria no volátil, tal como la memoria 210. Estos valores se pueden escribir inicialmente en la memoria 210 como parte del proceso de fabricación para el esclavo 110. El número SN de serie del esclavo es el número de serie único del esclavo 100. La clave EK de cifrado secreta es la clave secreta mantenida en tanto el esclavo 110 como el anfitrión 100 que se usa para obtener la clave SK de sesión. La semilla SEMILLA del número aleatorio de esclavo se inicializa con un número aleatorio real durante el proceso de fabricación y es actualizada por el esclavo 110 después de cada ciclo de alimentación con un valor obtenido de éste. La identificación SID de sesión se inicializa a cero o algún otro valor y es aumentada o disminuida por el esclavo 110 con cada ciclo de alimentación.
El funcionamiento del esclavo 110 se describirá a continuación con respecto a la Fig. 2.
Después de que se haya reiniciado el esclavo 110, lo que puede ocurrir, por ejemplo, cuando el esclavo 100 se conecta inicialmente y es alimentado por el anfitrión 100, el esclavo 110 calcula en 10 una nueva identificación SID de sesión basada en la identificación SID de sesión actual que se mantiene en una memoria 210 no volátil dentro del esclavo 110. El valor de la nueva identificación SID de sesión se puede calcular, por ejemplo, aumentando o disminuyendo el valor de la identificación SID de sesión actual.
Además, después del reinicio, el esclavo 110 determina una nueva semilla SEMILLA del número aleatorio de esclavo en 20. Según la realización de ejemplo, SEMILLA0 representa el número aleatorio real escrito en la memoria 210 para la semilla SEMILLA del número aleatorio de esclavo durante el proceso de fabricación del dispositivo 110 esclavo. La semilla SEMILLA1 del número aleatorio de esclavo es el valor de la semilla SEMILLA del número aleatorio de esclavo después del i-ésimo ciclo de alimentación posterior. El valor i-ésimo de la semilla SEMILLA del número aleatorio de esclavo se puede actualizar con el valor SEMILLAi-1 de la semilla SEMILLA del número aleatorio de esclavo que sigue a un encendido del dispositivo 110 esclavo. En concreto, SEMILLAi se puede computar usando un algoritmo seguro, tal como un algoritmo hash seguro (SHA). De esta manera, SEMILLA se puede representar como:
SEMILLA = SHA-1 (SEMILLAu)
Donde “SHA-1” es la función hash segura de 160 bit diseñada por la Agencia de Seguridad Nacional. Se entiende que SEMILLAi se puede calcular usando un algoritmo diferente, lo que incluye un algoritmo seguro diferente, tal como un SHA diferente.
La semilla SEMILLA del número aleatorio de esclavo se usa después para computar en 30 un número R aleatorio (o pseudoaleatorio multi byte, tal como un número de 20 bytes, según la ecuación:
R = SHA-1 (SN & SEMILLA] & SID)
donde “&” representa la concatenación. El número SRN aleatorio de esclavo para la sesión se puede calcular para ser un número predeterminado de los bytes más significativos del número R, tal como los 8 bytes más significativos de R:
imagen1
se entiende que se pueden utilizar funciones y algoritmos distintos del SHA-1 para generar el SRN, así como otro algoritmo basado en hash.
El anfitrión 100 computa el número HRN aleatorio de anfitrión usando una computación similar a la descrita anteriormente para generar el número SRN aleatorio de esclavo, o cualquier otro algoritmo generador de números aleatorios o pseudoaleatorios.
El anfitrión 100 y el esclavo 110 se comunican usando comandos y datos que son cifrados. En una realización de ejemplo, el anfitrión 100 y el esclavo 110 cifran los comandos y los datos a comunicar entre sí usando un cifrado de flujo. Por ejemplo, el anfitrión 100 y el esclavo 110 pueden utilizar el cifrado de flujo RC4 debido a su bajo coste computacional. Se entiende, sin embargo, que cualquier esquema de cifrado y/o cifrado de flujo puede ser utilizado por el anfitrión 100 y el esclavo 110 para comunicar la información entre ellos. En términos generales, una sesión de cifrado es establecida mediante el intercambio de valores entre el anfitrión 100 y el esclavo 110, a partir de lo cual el anfitrión 100 y el esclavo 110 calculan de manera independiente una clave Sk de sesión basada en los valores
5
10
15
20
25
30
35
40
45
50
intercambiados y un valor secreto conocido por cada uno. La clave SK de sesiones se usa después para inicializar el cifrado, que como se discutió en la realización de ejemplo es un cifrado de flujo.
Para establecer una sesión de cifrado en 40 para comunicar la información cifrada entre el anfitrión 100 y el esclavo 110, el anfitrión 100 envía al esclavo 110 el valor HRN aleatorio de anfitrión. En respuesta, el esclavo 110 envía al anfitrión 100 el número SRN aleatorio de esclavo y la identificación SID de sesión en respuesta. Después, tanto el anfitrión 100 como el esclavo 110 calculan en 50 la clave SK de sesión como sigue:
SK = HMAC(EK,HRN & SRN & SID)
donde HMAC es el código de autenticación de mensaje basado en hash. Como se mencionó anteriormente, la clave EK de cifrado secreta es conocida por tanto el anfitrión 100 como el esclavo 110, pero no se transmite a través del bus 120. La clave SK de sesión puede ser, por ejemplo, de 20 bytes de longitud y no se comunica a través del bus 120.
Se entiende que otras funciones de cifrado, tales como otra función basada en hash, se pueden utilizar para generar la clave SK de sesión. Se entiende además que cualquier esquema de cifrado se podría usar, y la realización de ejemplo usa el cifrado de flujo RC4 por su bajo coste computacional.
Según una realización de ejemplo, los bytes más significativos de la clave SK de sesión, tales como SK[159:32] (16 bytes), se pueden usar para inicializar el cifrado de flujo en 60 en el comienzo de la sesión de cifrado. Después de la inicialización, el cifrado produce una secuencia de bytes K0 K1 K2 K3.... Tanto el anfitrión 100 como el esclavo 110 computan la misma secuencia de bytes K ya que cada uno inicializa el flujo de cifrado con la misma clave SK de sesión. El anfitrión 100 entonces es capaz de cifrar en 60 un paquete de comando para su transmisión al esclavo 110 realizando una operación OR exclusiva (“XOR”) de los bytes de comando y datos con Ki, donde el valor i es aumentando por cada byte cifrado. Tras la recepción del paquete de comando cifrado, el esclavo 110 descifra después en 60 el paquete recibido realizando la operación XOR de los bytes con los mismo K bytes del cifrado. De manera similar, el esclavo 110 cifra en 60 el paquete de respuesta y transmite el paquete de respuesta cifrado que el anfitrión 100 es capaz de descifrar usando los mismos K bytes usados por el esclavo 110 al cifrar el paquete de respuesta.
Como se mencionó anteriormente, los bytes más significativos de la clave SK de sesión se pueden usar para una sesión de cifrado. Los bytes menos significativos de la clave SK de sesión, en este caso SK[31:0] (4 bytes), se pueden usar para inicializar en 70 el generador de direcciones de esclavo por el esclavo 110 y el anfitrión 100.
El esclavo 110 puede usar una dirección de 10 bits en el bus 120. Según una realización de ejemplo en la que el anfitrión 100 es un dispositivo de impresión y cada dispositivo 110 esclavo es un cartucho de tóner/tinta diferente, los cuatro bits más significativos de la dirección de esclavo pueden ser fijos y asignados a un valor que corresponde con un tipo de tinta o tóner - cian, magenta, amarillo o negro, por ejemplo. Los seis bits menos significativos de la dirección de esclavo de 10 bits pueden ser establecidos entonces mediante un generador de números pseudoaleatorios (PRNG) dentro del esclavo 110 y el anfitrión 100. Después de que el esclavo 110 es reiniciado, los seis bits menos significativos de su dirección de esclavo, esto es, la dirección I2C de esclavo, en el bus 120 son 0. Cuando el anfitrión 100 da instrucciones al esclavo 110 para cambiar su dirección de esclavo en 70, los seis bits menos significativos de la dirección de esclavo se establecen a partir de los bits predeterminados en el siguiente valor del PRNG.
De acuerdo con una realización de ejemplo, el PRNG puede ser un generador de congruencia lineal (LCG) y puede generar el número X0 pseudoaleatorio como sigue:
Xn = 2891336453 Xn-1 * 1523469037 mod f2
donde Xn-1 representa el valor actual del número Xn. Se entiende que se pueden utilizar otros LCG y/o PRNG para generar el número pseudoaleatorio Xn.
Según una realización de ejemplo, el LCG se inicializa con un número predeterminado de bytes de la clave SK de sesión, tales como los cuatro bytes menos significativos, SK[31:0], de manera tal que:
imagen2
Después el anfitrión 110 lee la respuesta al comando de establecimiento de dirección, se calcula el siguiente valor del LCG (Xn) y se establece la dirección de esclavo (I2C) en 80 para ser un subconjunto predeterminado de bits de Xn. En una realización de ejemplo,
Dirección de Esclavo [5:0] = Xn [29:24]
El anfitrión 100 envía los comandos para cambiar las direcciones al esclavo 110 de una manera periódica, después
5
10
15
20
25
30
35
40
45
de lo que el anfitrión 100 y el esclavo 110 computan cada uno la nueva dirección Xn para el esclavo 110.
Después de esto, el esclavo 110 no responderá a las solicitudes de sondeo de dirección hasta después de que haya recibido una solicitud de estado desde el anfitrión 100 usando la nueva dirección Xn.
El anfitrión 100 y el esclavo 110 se comunican usando los paquetes de comando y respuesta a través del bus 120. Los paquetes contienen un valor de verificación de redundancia cíclica (CRC) para comprobar en busca de errores de datos en los paquetes. Si la verificación CRC falla en el esclavo 110, entonces el esclavo 110 devuelve una respuesta CRC al anfitrión 100. Si la verificación CRC falla en el anfitrión 100, entonces el anfitrión 100 retransmite el paquete de comando anterior sin avanzar el cifrado de flujo. En cualquier caso, el anfitrión 100 retransmite el paquete de comando de nuevo sin cambiar su contenido. Este enfoque mantiene el anfitrión 100 y el esclavo 110 sincronizados en el flujo de cifrado y también evita que se usen los mismos bytes de cifrado para cifrar diferentes datos.
El sistema de comunicación anfitrión-esclavo descrito anteriormente usa un esquema de comunicación cifrado basado en paquetes. Se proporciona un medio para la detección y corrección de errores utilizando verificación CRC y retransmisión de paquetes. El anfitrión 100 y el esclavo 110 intercambian valores de modo que cada uno computa una clave SK de sesión a partir de una clave secreta conocida por tanto el anfitrión 100 como el esclavo 110 pero no la intercambian a través del bus 120. La clave SK de sesión se usa después para inicializar tanto el cifrado de flujo como la función de dirección de bus. Con respecto a lo anterior, el anfitrión 100 y el esclavo 110 cifran y descifran cada uno sus comunicaciones realizando la operación XOR de los datos transmitidos/recibidos con los bytes del cifrado de flujo. El anfitrión 100 cambia de manera periódica y/u ocasional las direcciones de esclavo a través del bus 120.
Las ventajas sobre los sistemas existentes incluyen la detección y corrección de errores, las comunicaciones cifradas, y el método de cambio de dirección seguro que estará siempre sincronizado entre el anfitrión 100 y el esclavo 110. La detección y corrección de errores aumenta la fiabilidad en ambientes ruidosos. El cifrado de datos evita que un atacante analice el tráfico de bus para aprender el significado de los comandos y los datos compartidos entre el anfitrión 100 y el esclavo 110. Cuando se implementa en un sistema en el que el anfitrión 100 es una impresora y el esclavo 110 está asociado con un cartucho de tóner o de tinta consumible, el método de cambio de direcciones anteriormente descrito permite que un esclavo 110 se mueva de impresora a impresora sin problemas mientras se mantiene una comunicación segura con la impresora conectada.
Aunque lo anterior describe realizaciones de ejemplo, son posibles muchas variaciones dentro del alcance de la presente descripción. Por ejemplo, como se discutió anteriormente se usa un cifrado de flujo para cifrar los datos debido a su simplicidad. De manera alternativa, un cifrado de bloques, tal como el Estándar de Cifrado Avanzado (AES), ofrecería una seguridad relativamente mayor pero con un alto coste computacional. En dicha realización alternativa, alguna o todas las claves SK de sesión determinadas se usarían para realizar el cifrado y descifrado de la información a transmitir y de la información recibida, respectivamente, de acuerdo con el cifrado de bloques concreto utilizado. El protocolo corrige los errores mediante la retransmisión de paquetes. Además, se podría usar un esquema de corrección de errores precoz en el que los bits de corrección de errores se incluyen en el paquete transmitido. Aún más, se podría usar un bus direccionado diferente, tal como el Bus en Serie Universal (USB), para el bus 120 en lugar de un bus que utiliza el protocolo I2C.
La descripción anterior de una o más realizaciones de ejemplo se ha presentado con propósitos de ilustración. No está destinado a ser exhaustivo o limitar la aplicación a las formas precisas descritas, y obviamente son posibles muchas modificaciones y variaciones a la luz de la enseñanza anterior. Se entiende que la invención se puede poner en práctica de maneras distintas a las específicamente establecidas en la presente memoria sin salir del alcance de la invención. Se pretende que el alcance de la aplicación sea definido por las reivindicaciones adjuntas.
Lo que se reivindica es:

Claims (13)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Una circuitería (230) de dispositivo esclavo, incluida en un dispositivo (110) esclavo, comprendiendo la circuitería de dispositivo esclavo:
    un procesador (200) y una memoria (210) acoplada al mismo que tiene almacenadas dentro instrucciones de código de programa que, cuando son ejecutadas por el procesador (200), provocan al procesador (200) a:
    después de que la circuitería (230) del dispositivo esclavo se reinicie, determinar el valor de semilla (20) basado en un valor de semilla del dispositivo esclavo anterior al reinicio del dispositivo esclavo;
    recibir un número de anfitrión desde un anfitrión (100) que es sustancialmente aleatorio;
    generar una clave de sesión (50) basada en el valor de semilla determinado y el número de anfitrión, siendo la clave de sesión sustancialmente aleatoria; y
    realizar las operaciones cifrado y descifrado (60) en base a la clave de sesión generada en los datos a transmitir y los datos recibidos por la circuitería (230) de esclavo, respectivamente, y determinar un valor de dirección (80) en base a la clave de sesión generada para comunicarse con el anfitrión (100),
    en donde sustancialmente aleatorio comprende ser uno de entre un número aleatorio real y un número pseudoaleatorio, y en donde una primera parte de la clave de sesión es usada por el procesador (200) que realiza las operaciones de cifrado y descifrado (60) en los datos a transmitir y a recibir, respectivamente, y una segunda parte de la clave de sesión se usa para generar el valor de dirección.
  2. 2. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde el procesador (200) calcula un valor del identificador de sesión (10) después de que la circuitería (230) del dispositivo esclavo se reinicie, estando basado el valor del identificador de sesión en un valor de identificador de sesión anterior a que la circuitería (230) del dispositivo esclavo se reiniciara, estando basada la clave de sesión en el valor del identificador de sesión calculado.
  3. 3. La circuitería (230) del dispositivo esclavo de la reivindicación 2, en donde el valor del identificador de sesión calculado es el valor del identificador de sesión anterior a que la circuitería (230) del dispositivo esclavo se reiniciara que es aumentado o disminuido.
  4. 4. La circuitería (230) del dispositivo esclavo de la reivindicación 2, en donde el procesador (200) determina un número sustancialmente aleatorio (30) basado sólo en el valor de semilla determinado, el valor del identificador de sesión calculado y el número de serie del dispositivo esclavo, y en donde la clave de sesión está basada en el número sustancialmente aleatorio.
  5. 5. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde el valor de semilla determinado se determina usando un algoritmo hash seguro.
  6. 6. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde el valor de semilla determinado es sustancialmente aleatorio.
  7. 7. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde la clave de sesión está basada en una clave de cifrado secreta del dispositivo esclavo.
  8. 8. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde las instrucciones que provocan que el procesador determine la clave de sesión (50) usan un código de autenticación de mensaje basado en hash (HMAC).
  9. 9. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde las operaciones de cifrado y descifrado forman parte de un cifrado de flujo para comunicarse con el anfitrión.
  10. 10. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde el valor de semilla determinado está basado en un valor de semilla del dispositivo esclavo anterior a que el dispositivo esclavo se reiniciara.
  11. 11. La circuitería (230) del dispositivo esclavo de la reivindicación 1, en donde un envase de tóner incluye la circuitería de dispositivo esclavo.
  12. 12. La circuitería (230) de dispositivo esclavo de la reivindicación 1, en donde el procesador (200) funciona como un generador de números pseudoaleatorios que se inicializa con una segunda parte de la clave de sesión, y una parte de la salida del generador de números pseudoaleatorios forma una parte del valor de dirección del dispositivo (110) esclavo.
  13. 13. La circuitería (230) del dispositivo esclavo de la reivindicación 2, en donde el procesador determina un número sustancialmente aleatorio basado en un algoritmo SHA-1 del valor de semilla determinado, del valor del identificador de sesión calculado y del número de serie del dispositivo (110) esclavo. identifica un número aleatorio de esclavo (30) a partir de una parte del número sustancialmente aleatorio, y determina la clave de sesión (50) basado en un
    código de autenticación de mensajes basado en hash (HMAC) del número de anfitrión recibido del anfitrión (100), el número aleatorio de esclavo, una clave de cifrado secreta del dispositivo (110) esclavo y el valor del identificador de semilla, siendo la clave de sesión un número sustancialmente aleatorio.
ES12830795.6T 2011-09-08 2012-09-07 Sistema y método para una comunicación anfitrión-esclavo segura Active ES2691258T3 (es)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161532527P 2011-09-08 2011-09-08
US201161532527P 2011-09-08
US201113308363 2011-11-30
US13/308,363 US9231926B2 (en) 2011-09-08 2011-11-30 System and method for secured host-slave communication
PCT/US2012/054108 WO2013036733A1 (en) 2011-09-08 2012-09-07 System and method for secured host-slave communication

Publications (1)

Publication Number Publication Date
ES2691258T3 true ES2691258T3 (es) 2018-11-26

Family

ID=47830817

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12830795.6T Active ES2691258T3 (es) 2011-09-08 2012-09-07 Sistema y método para una comunicación anfitrión-esclavo segura

Country Status (10)

Country Link
US (2) US9231926B2 (es)
EP (1) EP2754062B1 (es)
CA (1) CA2851587C (es)
DK (1) DK2754062T3 (es)
ES (1) ES2691258T3 (es)
HK (1) HK1200041A1 (es)
PL (1) PL2754062T3 (es)
PT (1) PT2754062T (es)
TR (1) TR201815427T4 (es)
WO (1) WO2013036733A1 (es)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231926B2 (en) * 2011-09-08 2016-01-05 Lexmark International, Inc. System and method for secured host-slave communication
DE102012206272A1 (de) * 2012-04-17 2013-10-17 Beckhoff Automation Gmbh Feldbus-Datenübertragung
US10771448B2 (en) 2012-08-10 2020-09-08 Cryptography Research, Inc. Secure feature and key management in integrated circuits
DE102013108713B8 (de) * 2013-08-12 2016-10-13 WebID Solutions GmbH Verfahren zum Verifizieren der ldentität eines Nutzers
US10305900B2 (en) * 2013-10-15 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Establishing a secure connection between a master device and a slave device
DE112014006185B4 (de) 2014-01-16 2023-08-24 Hewlett-Packard Development Company, L.P. Vorrichtung zum Erstellen von dreidimensionalen Gegenständen
JP6570542B2 (ja) 2014-01-16 2019-09-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 三次元物体の生成
EP3626434A1 (en) 2014-01-16 2020-03-25 Hewlett-Packard Development Company, L.P. Generating a three dimensional object
US9923719B2 (en) 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
WO2016108189A1 (en) * 2014-12-29 2016-07-07 Visa International Service Association Authorizing access to an application library
CN107852275B (zh) * 2015-07-31 2020-10-23 索尼公司 数据传输装置和数据传输方法、接收装置和接收方法
CN106452770B (zh) * 2015-08-12 2020-10-13 深圳市腾讯计算机系统有限公司 一种数据加密方法、解密方法、装置和系统
US10333699B1 (en) * 2015-09-30 2019-06-25 Cryptography Research, Inc. Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US10218698B2 (en) * 2015-10-29 2019-02-26 Verizon Patent And Licensing Inc. Using a mobile device number (MDN) service in multifactor authentication
US9465769B1 (en) * 2015-12-29 2016-10-11 Altera Corporation Methods and apparatus for high-speed serial interface link assist
KR101929137B1 (ko) * 2016-10-27 2019-03-12 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 교체가능 물품 인증
JP6895273B2 (ja) * 2017-03-02 2021-06-30 任天堂株式会社 情報処理装置、情報処理プログラム、無線通信システム、および、通信方法
US10984136B2 (en) * 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
US20190319915A1 (en) * 2018-04-16 2019-10-17 Lexmark International, Inc. System and Methods for Changing Addresses of One or More Components
WO2019204292A1 (en) * 2018-04-16 2019-10-24 Lexmark International, Inc. System and methods for changing addresses of one or more components
KR20210087982A (ko) 2018-12-03 2021-07-13 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 로직 회로
EP3687820B1 (en) * 2018-12-03 2022-03-23 Hewlett-Packard Development Company, L.P. Logic circuitry
JP6995252B1 (ja) * 2018-12-03 2022-02-09 ヒューレット-パッカード デベロップメント カンパニー エル.ピー. 論理回路
US11338586B2 (en) 2018-12-03 2022-05-24 Hewlett-Packard Development Company, L.P. Logic circuitry
WO2021080607A1 (en) * 2019-10-25 2021-04-29 Hewlett-Packard Development Company, L.P. Logic circuitry package
AU2018452006B2 (en) 2018-12-03 2022-12-01 Hewlett-Packard Development Company, L.P. Logic circuitry
BR112021010044A2 (pt) * 2018-12-03 2021-08-17 Hewlett-Packard Development Company, L.P. circuitos lógicos
ES2886253T3 (es) 2018-12-03 2021-12-16 Hewlett Packard Development Co Circuitos lógicos
WO2020117397A1 (en) * 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry package
AU2019394682A1 (en) 2018-12-03 2021-06-24 Hewlett-Packard Development Company, L.P. Logic circuitry
KR20210087987A (ko) 2018-12-03 2021-07-13 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 로직 회로 패키지
US10894423B2 (en) 2018-12-03 2021-01-19 Hewlett-Packard Development Company, L.P. Logic circuitry
US11364716B2 (en) 2018-12-03 2022-06-21 Hewlett-Packard Development Company, L.P. Logic circuitry
US11479048B2 (en) 2019-10-25 2022-10-25 Hewlett-Packard Development Company, L.P. Logic circuitry package
EP3833546A1 (en) * 2019-10-25 2021-06-16 Hewlett-Packard Development Company, L.P. Logic circuitry package
EP3829883B1 (en) * 2019-10-25 2023-03-08 Hewlett-Packard Development Company, L.P. Logic circuitry package
US11271735B1 (en) * 2020-08-26 2022-03-08 Micron Technology, Inc. Apparatuses, systems, and methods for updating hash keys in a memory
US11537298B2 (en) 2020-12-01 2022-12-27 Micron Technology, Inc. Memory systems and devices including examples of accessing memory and generating access codes using an authenticated stream cipher
US11899829B2 (en) 2020-12-01 2024-02-13 Micron Technology, Inc. Memory systems and devices including examples of generating access codes for memory regions using authentication logic
CN113099431B (zh) * 2021-03-24 2022-05-06 瀚云科技有限公司 基于LoRa信道的通信方法、装置和LoRa主机
US11989737B2 (en) * 2021-07-09 2024-05-21 Lexmark International, Inc. Methods and systems for determining the authenticity of a component

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4308568A1 (de) * 1993-03-18 1994-09-22 Telefunken Microelectron Verfahren zum Betreiben einer Datenverarbeitungsanlage
US5386369A (en) * 1993-07-12 1995-01-31 Globetrotter Software Inc. License metering system for software applications
US6487661B2 (en) * 1995-04-21 2002-11-26 Certicom Corp. Key agreement and transport protocol
AUPO850597A0 (en) * 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art01a)
US6879689B2 (en) * 2000-05-09 2005-04-12 Verizon Laboratories Inc. Stream-cipher method and apparatus
DE60129742T2 (de) * 2000-12-19 2008-04-30 Azoteq (Proprietary) Ltd. Verfahren und vorrichtung zum datentransfer
US7203837B2 (en) * 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
US7007050B2 (en) * 2001-05-17 2006-02-28 Nokia Corporation Method and apparatus for improved pseudo-random number generation
US7131004B1 (en) * 2001-08-31 2006-10-31 Silicon Image, Inc. Method and apparatus for encrypting data transmitted over a serial link
US20030063750A1 (en) 2001-09-26 2003-04-03 Alexander Medvinsky Unique on-line provisioning of user terminals allowing user authentication
US20030093695A1 (en) 2001-11-13 2003-05-15 Santanu Dutta Secure handling of stored-value data objects
US7243366B2 (en) 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US20050096124A1 (en) * 2003-01-21 2005-05-05 Asip Holdings, Inc. Parimutuel wagering system with opaque transactions
US7610487B2 (en) * 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7987249B2 (en) * 2003-04-09 2011-07-26 Intel Corporation Soft system failure recovery for management consoles supporting ASF RMCP
US7401215B2 (en) * 2003-09-29 2008-07-15 Sun Microsystems, Inc. Method and apparatus for facilitating cryptographic layering enforcement
US7940932B2 (en) * 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
US20070083491A1 (en) * 2004-05-27 2007-04-12 Silverbrook Research Pty Ltd Storage of key in non-volatile memory
US20050283148A1 (en) * 2004-06-17 2005-12-22 Janssen William M Ablation apparatus and system to limit nerve conduction
TWI268423B (en) * 2004-12-03 2006-12-11 Hon Hai Prec Ind Co Ltd System and method for configuring I2C address dynamically
US7562224B2 (en) * 2005-04-04 2009-07-14 Cisco Technology, Inc. System and method for multi-session establishment for a single device
US7526208B2 (en) * 2005-04-26 2009-04-28 Finisar Corporation Changing transceiver module device addresses using a single host interface
JP4502393B2 (ja) * 2005-06-13 2010-07-14 キヤノン株式会社 通信パラメータの共有方法及び通信装置
US7853898B2 (en) * 2005-11-17 2010-12-14 International Business Machines Corporation Method and apparatus for managing image display in a digital image display apparatus
US7444453B2 (en) * 2006-01-03 2008-10-28 International Business Machines Corporation Address translation device
US20070162591A1 (en) * 2006-01-09 2007-07-12 Utstarcom, Inc. Network equipment restart indication
US20120182832A1 (en) * 2006-09-29 2012-07-19 INOVA, Ltd. Seismic data acquisition systems and method utilizing a wireline repeater unit
US20080184341A1 (en) * 2007-01-29 2008-07-31 David Jaroslav Sebesta Master-Slave Protocol for Security Devices
US20080186187A1 (en) * 2007-02-06 2008-08-07 Christopher Alan Adkins Ink tank having integrated rfid tag
CN101315617A (zh) * 2007-06-01 2008-12-03 鸿富锦精密工业(深圳)有限公司 总线电路装置
US7636806B2 (en) * 2007-09-07 2009-12-22 Infineon Technologies Ag Electronic system and method for sending or receiving a signal
US9003201B2 (en) * 2008-02-26 2015-04-07 David Pohm Hardware protection for encrypted strings and protection of security parameters
JP5068884B2 (ja) * 2008-05-21 2012-11-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 位置検出機能を有するマルチドロップシリアルバス及び方法
US20100287382A1 (en) * 2009-05-07 2010-11-11 John Charles Gyorffy Two-factor graphical password for text password and encryption key generation
US8225021B2 (en) * 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
US8429404B2 (en) * 2009-09-30 2013-04-23 Intel Corporation Method and system for secure communications on a managed network
US20110119419A1 (en) * 2009-11-13 2011-05-19 Donald William Chapelle Apparatus and Method for Polling Addresses of One or More Slave Devices in a Communications System
US9225526B2 (en) * 2009-11-30 2015-12-29 Red Hat, Inc. Multifactor username based authentication
US8769288B2 (en) * 2011-04-22 2014-07-01 Alcatel Lucent Discovery of security associations
US9231926B2 (en) * 2011-09-08 2016-01-05 Lexmark International, Inc. System and method for secured host-slave communication

Also Published As

Publication number Publication date
TR201815427T4 (tr) 2018-11-21
US9535852B2 (en) 2017-01-03
US20160098359A1 (en) 2016-04-07
WO2013036733A1 (en) 2013-03-14
DK2754062T3 (en) 2018-09-24
PT2754062T (pt) 2018-10-16
CA2851587C (en) 2017-06-27
US9231926B2 (en) 2016-01-05
CA2851587A1 (en) 2013-03-14
PL2754062T3 (pl) 2019-01-31
EP2754062A1 (en) 2014-07-16
US20130067016A1 (en) 2013-03-14
HK1200041A1 (en) 2015-07-31
EP2754062A4 (en) 2015-05-27
EP2754062B1 (en) 2018-07-18

Similar Documents

Publication Publication Date Title
ES2691258T3 (es) Sistema y método para una comunicación anfitrión-esclavo segura
US9118467B2 (en) Generating keys using secure hardware
RU2010136824A (ru) Блок, использующий операционную систему и устройство формирования изображений, использующее ее
CN104902138B (zh) 加密/解密系统及其控制方法
JP2016152623A (ja) 操作から保護する方法
CN112910650B (zh) 经认证加密和解密的方法和系统
JP2014143568A (ja) 認証システム及び認証子変換器
KR20190126242A (ko) 데이터 전송 시스템 및 전송 방법
Pfeiffer Implementing scalable can security with cancrypt
AU2019255227B2 (en) System and methods for changing addresses of one or more components
US20200004476A1 (en) System and Methods for Changing Addresses of One or More Components
WO2022075081A1 (ja) 情報処理装置、移動体装置、および通信システム
US20160321458A1 (en) Systems and methods for secured data transfer via inter-chip hopping buses
US20080045180A1 (en) Data transmitting method and apparatus applying wireless protected access to a wireless distribution system
KR20200043855A (ko) Dim을 이용한 드론 인증 방법 및 장치
US11804951B2 (en) Advanced sensor security protocol
US20080212772A1 (en) Image forming apparatus
US20220368543A1 (en) Technique for protecting secret information of authentication-target apparatus
JP6436794B2 (ja) 情報処理装置、その制御方法及びプログラム
US20210099417A1 (en) System and Methods for Changing Addresses of One or More Components
CN117426070A (zh) 在网络设备之间安全且可靠地传送消息
JP2021141460A (ja) 被認証装置、認証システムおよび認証方法
CN116760560A (zh) 单位时间消息验证码
CN112329074A (zh) 片上系统
JP2010135950A (ja) 暗号処理装置および暗号処理方法