ES2875856T3 - Autentificación de elemento reemplazable - Google Patents

Autentificación de elemento reemplazable Download PDF

Info

Publication number
ES2875856T3
ES2875856T3 ES19172665T ES19172665T ES2875856T3 ES 2875856 T3 ES2875856 T3 ES 2875856T3 ES 19172665 T ES19172665 T ES 19172665T ES 19172665 T ES19172665 T ES 19172665T ES 2875856 T3 ES2875856 T3 ES 2875856T3
Authority
ES
Spain
Prior art keywords
passwords
maximum number
cartridge
printing
authentication
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
ES19172665T
Other languages
English (en)
Inventor
Stephen D Panshin
Jefferson P Ward
Erik D Ness
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of ES2875856T3 publication Critical patent/ES2875856T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
    • B41J2/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Storage Device Security (AREA)
  • Facsimiles In General (AREA)
  • Collating Specific Patterns (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

Un cartucho de sustancia de impresión (100) para un dispositivo de impresión, que comprende: un suministro (102) de sustancia de impresión para el dispositivo de impresión; una memoria no volátil (106) que almacena una pluralidad de contraseñas (108) y/o una clave criptográfica (112) a partir de la cual se pueden generar las contraseñas (108); y la lógica (104) para permitir la recuperación de un número máximo predeterminado de las contraseñas (108), menor que un número total de las contraseñas (108), de la memoria no volátil (106), para autenticar el cartucho de sustancia de impresión en el dispositivo de impresión; en donde el cartucho de sustancia de impresión (100) comprende además: una memoria no volátil (106) que almacena una pluralidad de valores hash unidireccionales (110) de las contraseñas (108), en donde el cartucho de sustancia de impresión (100) debe recibir una solicitud de un dispositivo servidor para un valor hash unidireccional (110) de la pluralidad de valores hash (110) y enviar el valor hash unidireccional (110) al dispositivo, en donde se recibe una solicitud de contraseña antes o después de recibir la solicitud de un valor hash unidireccional (110).

Description

DESCRIPCIÓN
Autenticación de elemento reemplazable
Antecedentes
Los dispositivos que utilizan elementos reemplazables incluyen dispositivos de impresión, que incluyen impresoras, fotocopiadoras y dispositivos todo en uno (AIO) independientes que pueden realizar múltiples funciones, tal como imprimir, copiar, escanear y/o enviar faxes. Los elementos reemplazables de ejemplo para tales dispositivos de impresión incluyen tinta, tóner y/u otros tipos de colorante, incluido el colorante bidimensional (2D). Otros elementos de reemplazo de ejemplo, específicamente para dispositivos de impresión tridimensionales (3D), incluyen el agente de impresión 3D y el material de construcción de impresión 3D.
El documento US2011/109938 describe un componente de impresora reemplazable que incluye un dispositivo de memoria configurado para almacenar un primer secreto. El dispositivo de memoria puede estar vinculado a un controlador de impresora cuando el componente de impresora reemplazable está instalado en un sistema de impresión. El sistema de impresión comprende un segundo dispositivo de memoria que almacena un segundo secreto y la autenticidad del componente de impresora reemplazable puede determinarse en base al primer secreto y al segundo secreto.
Breve descripción de los dibujos
La Figura 1 es un diagrama de un cartucho de sustancia de impresión de ejemplo para un dispositivo de impresión. La Figura 2 es un diagrama de flujo de un método de ejemplo que puede realizar un cartucho de sustancia de impresión u otro elemento reemplazable para un dispositivo.
La Figura 3 es un diagrama de flujo de un método de ejemplo que puede realizar un cartucho de sustancia de impresión u otro elemento reemplazable para que un dispositivo pueda implementar una parte del método de la Figura 2.
La Figura 4 es un diagrama de flujo de otro método de ejemplo que puede realizar un cartucho de sustancia de impresión u otro elemento reemplazable para que un dispositivo pueda implementar una parte del método de la Figura 2.
La Figura 5 es un diagrama de flujo de un tercer método de ejemplo que puede realizar un cartucho de sustancia de impresión u otro elemento reemplazable para que un dispositivo pueda implementar una parte del método de la Figura 2.
La Figura 6 es un diagrama de flujo de un cuarto método de ejemplo que puede realizar un cartucho de sustancia de impresión u otro elemento reemplazable para que un dispositivo pueda implementar una parte del método de la Figura 2.
Descripción detallada
Como se señaló en los antecedentes, los dispositivos que utilizan elementos reemplazables incluyen los dispositivos de impresión. Un suministro de sustancia de impresión, tal como colorante u otro tipo de sustancia de impresión, se almacena en un cartucho que se puede insertar en un dispositivo de impresión. Cuando el suministro se agota, el cartucho se puede reemplazar por un cartucho que tenga un nuevo suministro de la sustancia de impresión en cuestión. Los cartuchos con diferentes tipos de sustancias de impresión también se pueden intercambiar según se desee. Como ejemplo, un cartucho que tiene tinta de uso general se puede cambiar por un cartucho que tiene tinta de calidad fotográfica en un dispositivo de impresión por inyección de tinta, según se desee.
Los fabricantes de dispositivos de impresión también suelen fabricar o suministrar de otro modo la sustancia de impresión utilizada en los dispositivos de impresión. Desde la perspectiva del usuario final, la utilización de cartuchos de sustancias de impresión suministrados o aprobados por el fabricante puede facilitar el resultado deseado por los dispositivos de impresión y/o inhibir el daño a los dispositivos de impresión. Para el fabricante de equipo original (OEM) puede ser difícil garantizar el resultado del dispositivo de impresión o el funcionamiento del dispositivo de impresión si el dispositivo de impresión utiliza cartuchos de terceros. Una sustancia impresa de terceros está fuera del control del OEM. Por ejemplo, podría proporcionar diferentes resultados de impresión o implicar un riesgo evidente de acortar la vida útil del dispositivo de impresión. En algunos casos, tal como las impresoras 3D, incluso podría haber un riesgo de seguridad para un usuario cuando una sustancia de impresión es una sustancia de impresión no aprobada. En ciertos casos, la utilización de una sustancia de impresión no aprobada puede afectar una garantía asociada con el dispositivo de impresión.
Por lo tanto, los fabricantes pueden inculcar cartuchos con seguridad de autenticación. Un dispositivo de impresión puede interrogar al cartucho para determinar si es auténtico. Si el cartucho no es auténtico (por ejemplo, no está aprobado por el OEM), entonces el dispositivo de impresión puede iniciar un determinado procedimiento, tal como, por ejemplo, informar al usuario final, tal como inmediatamente o poco después de la instalación.
Las técnicas descritas en la presente memoria proporcionan un esquema de autentificación novedoso e innovador para un cartucho de sustancia de impresión para un dispositivo de impresión, y más generalmente para un elemento reemplazable para un dispositivo (servidor) en el que se puede instalar el elemento (es decir, más generalmente, el dispositivo en el que el elemento se puede conectar). El cartucho de sustancia de impresión almacena varios valores de autentificación o contraseñas. El cartucho incluye lógica (tal como circuitos como un procesador y código de almacenamiento en memoria que ejecuta el procesador) para permitir la recuperación de solo un subconjunto de estos valores de autentificación. A medida que se solicitan diferentes valores de autentificación del cartucho, el cartucho puede rastrear el número de valores diferentes que se han devuelto. Una vez que el cartucho ha proporcionado el número máximo de dichos valores de autentificación únicos, no proporcionará ninguno de los otros valores de autentificación que se almacenaron originalmente en el cartucho. Sin embargo, el cartucho continúa proporcionando los valores de autentificación anteriores que se habían solicitado y devuelto.
Como ejemplo, un cartucho de sustancia de impresión puede almacenar sesenta y cuatro contraseñas diferentes o valores de autenticación. De estos sesenta y cuatro, el cartucho no puede generar más de dieciséis de las diferentes contraseñas. Una vez que el cartucho ha proporcionado dieciséis contraseñas diferentes, no proporcionará ninguna de las otras cuarenta y ocho contraseñas almacenadas en el cartucho. Sin embargo, el cartucho puede continuar respondiendo a las solicitudes de las dieciséis contraseñas diferentes que ya ha proporcionado.
El cartucho de sustancia de impresión almacena además valores hash de los valores de autentificación o contraseñas. Los valores hash proporcionan una forma de determinar si un valor de autentificación determinado que el cartucho ha proporcionado es correcto. El cartucho proporciona los valores hash de los valores de autentificación a solicitud, incluso para los valores que el cartucho no generará. En el ejemplo del párrafo anterior, por ejemplo, el cartucho puede proporcionar los valores hash para las sesenta y cuatro contraseñas, aunque el cartucho no proporcionará más de dieciséis de las sesenta y cuatro contraseñas.
Un esquema de autentificación que utiliza un cartucho de sustancia de impresión de este tipo puede incluir un dispositivo de impresión servidor que podría solicitar cuatro contraseñas diferentes, o valores de autenticación, almacenados en el cartucho. Diferentes dispositivos de impresión pueden y probablemente solicitarán diferentes contraseñas de un cartucho determinado. Del mismo modo, un dispositivo de impresión determinado puede y probablemente solicitará diferentes contraseñas de diferentes cartuchos.
Hacer que un cartucho de sustancia de impresión devuelva un número menor de valores de autentificación que el número total de valores de autentificación almacenados originalmente en el cartucho hace que sea mucho más difícil para un tercero frustrar dicho esquema de autenticación. Incluso si un tercero supera otras medidas de seguridad para obtener los dieciséis valores de autentificación que el cartucho "cederá", emitirá o proporcionará, la probabilidad de que un cartucho de terceros que almacene solo estos dieciséis valores sea autenticado por un dispositivo de impresión es baja. En el esquema de autentificación de ejemplo que se ha presentado anteriormente, el dispositivo de impresión puede y probablemente solicitará al menos un valor de autentificación que no sea uno de los dieciséis valores que comparte el cartucho de terceros, lo que hace improbable que cualquier dispositivo de impresión determinado autentique con éxito un cartucho de este tipo.
La Figura 1 muestra un cartucho de sustancia de impresión 100 de ejemplo para un dispositivo de impresión. El cartucho 100 incluye un suministro de sustancia de impresión 102. El cartucho 100 puede contener cualquier volumen de sustancia de impresión, tal como desde varios mililitros hasta decenas de litros. Los diferentes ejemplos de sustancia de impresión incluyen tinta para un dispositivo de impresión por chorro de tinta y tóner líquido o en polvo para un dispositivo de impresión láser. Dicha tinta y tóner son, en sí mismos, ejemplos de colorantes bidimensionales (2D), que es un colorante utilizado por un dispositivo de impresión adecuado para formar imágenes en medios como papel que, como mínimo, se extienden en una tercera dimensión perpendicular a las dos dimensiones que definen el plano de la superficie de los medios en los que se han formado las imágenes. Otros ejemplos de sustancia de impresión incluyen el agente de impresión tridimensional (3D) y el material de construcción de impresión 3D, que se utilizan por un dispositivo de impresión 3D adecuado para formar un objeto 3D que generalmente se puede retirar de cualquier sustrato sobre el cual se construye el objeto. Ciertas sustancias de impresión, tal como la tinta, se pueden usar tanto para la impresión 2D como 3D.
El cartucho de sustancia de impresión 100 incluye la lógica 104. La lógica 104 se puede implementar como circuitería dentro del cartucho 100. Por ejemplo, la lógica 104 puede incluir un procesador y un medio de almacenamiento de datos legible por ordenador no volátil que almacena el código ejecutable por ordenador que ejecuta el procesador. A este respecto, entonces, en una implementación, la lógica 104 puede incluir un microprocesador y software integrado almacenado en el propio microprocesador, donde el medio de almacenamiento de datos legible por computadora no volátil se integra en el microprocesador. En otra implementación, la lógica 104 puede incluir un microprocesador y un software integrado en un medio no volátil separado del microprocesador.
Como otro ejemplo, la lógica 104 puede ser o incluir un circuito integrado de aplicación específica (ASIC) o una matriz de puertas programable en campo (FPGA). Más generalmente a este respecto, la lógica 104 se puede implementar utilizando puertas lógicas. Como tercer ejemplo, la lógica 104 se puede implementar como cualquier combinación de un procesador, software almacenado dentro del procesador o en un medio separado del procesador y puertas lógicas.
El cartucho de sustancia de impresión 100 incluye la memoria no volátil 106. La memoria 106 puede ser memoria de semiconductores, y no es volátil, ya que cuando se corta la energía del cartucho 100, la memoria 106 aún retiene su contenido. La memoria 106 almacena las contraseñas 108, que también se denominan como valores de autentificación en la presente memoria. La memoria 106 almacena los valores hash 110 de, y que pueden corresponder individualmente a, las contraseñas 108. La memoria 106 puede almacenar una clave criptográfica 112 a partir de la cual se pueden generar las contraseñas 108.
La memoria 106 almacena un número de contraseñas 108, que se denomina como el número total de contraseñas 108. Las contraseñas 108, o valores de autenticación, son almacenados por el cartucho 100 de modo que el cartucho 100 pueda demostrar a un dispositivo de impresión servidor que es auténtico. Dicho de otra manera, las contraseñas 108 se utilizan para autenticar el cartucho 100 en el dispositivo de impresión. Las contraseñas 108 se pueden proteger de manera criptográfica cifrada, de modo que las contraseñas 108 sean, en esencia, irrecuperables del cartucho 100 fuera de los enfoques descritos en la presente memoria. Las contraseñas 108 pueden ser cada una, una serie de bits, tal como 256 bits.
La memoria 106 almacena un valor hash 110 para cada contraseña 108. El cartucho 100 almacena los valores hash 110 para que el cartucho 100 pueda probar a un dispositivo de impresión servidor que las contraseñas 108 son correctas. Dicho de otra manera, los valores hash 110 se utilizan para verificar las contraseñas 108 proporcionadas por el cartucho 100 en el dispositivo de impresión. Los valores hash 110 pueden no estar protegidos criptográficamente por que se pueden recuperar libremente del cartucho 100, pero se pueden proteger criptográficamente por que los valores hash 110 no se pueden modificar. Los valores hash 110 son valores hash unidireccionales 110 de las contraseñas 108, lo que significa que una contraseña 108 no se puede determinar simplemente conociendo su valor hash correspondiente 110, incluso si la función hash unidireccional utilizada para generar el valor hash 110 de la contraseña 108 es conocida.
El cartucho 100 proporciona los valores hash 110 en una implementación de manera que un dispositivo servidor pueda validar los valores hash 110 como que se han generado por una entidad (es decir, el fabricante o proveedor del cartucho 100) en la que el dispositivo servidor confía. Como ejemplo, los valores hash 110 se pueden firmar criptográficamente con una clave criptográfica privada antes del almacenamiento en el cartucho 100. El dispositivo servidor puede utilizar una clave criptográfica pública correspondiente para validar los valores hash 110. La clave privada no se puede almacenar en el cartucho 100 y no está disponible públicamente.
La lógica 104 permite recuperar un número máximo predeterminado de las contraseñas 108, menor que el número total de las contraseñas 108 almacenadas en la memoria no volátil 106. La lógica 104 puede permitir la recuperación de este número menor de las contraseñas 108 (es decir, el número máximo predeterminado de las contraseñas 108), sin embargo, un número ilimitado de veces desde la memoria 106. En comparación, la lógica 104 prohíbe la recuperación de cualquier contraseña 108 que no sea el número máximo predeterminado de contraseñas, incluso una vez, de la memoria 106.
Puede no especificarse a priori cuales de las contraseñas 108 se seleccionan como el número máximo predeterminado de las contraseñas 108 de las cuales la lógica 104 permite la recuperación. Por ejemplo, como cualquier dispositivo de impresión servidor en el que el cartucho 100 está instalado actualmente o al que está conectado el cartucho 100 de otro modo solicita contraseñas particulares 108, la lógica 104 puede devolver las contraseñas solicitadas 108 hasta que se haya alcanzado el número máximo predeterminado. Acto seguido, la lógica 104 solo devolverá las contraseñas 108 que ya se han solicitado, y no devolverá ninguna de las otras contraseñas 108, una vez que se haya seleccionado el número predeterminado de las contraseñas 108. Dicho de otra manera, la lógica 104 puede seleccionar el número máximo predeterminado particular de las contraseñas 108 a medida que las solicite cualquier dispositivo de impresión servidor, hasta que se haya alcanzado el número máximo.
Como ejemplo, la memoria no volátil 106 puede almacenar dieciséis contraseñas 108, numeradas del uno al dieciséis, y la lógica 104 puede devolver solo cuatro de estas contraseñas 108. El cartucho 100 se puede insertar en un primer dispositivo de impresión servidor, que puede solicitar y recibir contraseñas con los números uno y trece. Por lo tanto, la lógica 104 ha seleccionado de forma efectiva dos de las cuatro contraseñas 108 que revelará el cartucho 100, las numeradas uno y trece. A continuación, el cartucho se puede retirar de este dispositivo de impresión servidor y se puede insertar en otro dispositivo de impresión servidor que solicite y reciba contraseñas con los números seis y trece. Por lo tanto, ahora la lógica 104 ha seleccionado de forma efectiva tres de las cuatro contraseñas 108 que revelará el cartucho 100, las numeradas uno, seis y trece.
El cartucho se puede retirar del dispositivo de impresión servidor en el que está instalado actualmente y se puede insertar en un tercer dispositivo de impresión servidor, que puede solicitar y recibir contraseñas con los números siete y trece. Por lo tanto, ahora la lógica 104 ha seleccionado de forma efectiva todas las cuatro de las cuatro contraseñas 108 que revelará el cartucho 100, las numeradas uno, seis, siete y trece. La lógica 104 puede continuar devolviendo estas cuatro contraseñas 108, pero no devolverá ninguna otra contraseña 108. Es decir, la lógica 104 no devolverá ninguna contraseña 108 a menos que tenga un número de uno, seis, siete o trece.
La memoria no volátil 106 utilizada para el almacenamiento de las contraseñas 108 puede ser una memoria limitada de lectura y de una sola escritura. Las contraseñas 108 se escriben en la memoria 106 solo una vez, tal como durante un proceso de fabricación seguro. Se puede leer un número máximo predeterminado del número total de las contraseñas 108 un número ilimitado de veces. Las contraseñas 108 distintas de este número máximo predeterminado se vuelven ilegibles una vez que se ha seleccionado específicamente el número máximo predeterminado de las contraseñas 108. Por lo tanto, cada contraseña 108 se puede recuperar un número ilimitado de veces o puede ser irrecuperable, pero la lógica 104 no determina de antemano qué contraseñas 108 son cuáles.
Por lo tanto, las contraseñas 108 distintas del número máximo predeterminado de las contraseñas 108 se borran al menos funcionalmente una vez que se ha seleccionado específicamente el número máximo predeterminado de las contraseñas 108. Se pueden borrar completa e indeleblemente de la memoria 108 mediante la lógica 104, por ejemplo, de manera que el "desborrado" o la recuperación de las contraseñas borradas 108 se considere imposible. Las contraseñas 108 en cuestión se pueden borrar funcionalmente porque estas contraseñas 108 permanecen almacenadas en la memoria 108, pero son irrecuperables. Por ejemplo, los enlaces de fusible a las partes físicas de la memoria 108 donde se almacenan las contraseñas 108 en cuestión se pueden cortar, haciendo que las contraseñas 108 sean irrecuperables y, por lo tanto, borradas funcionalmente, aunque en realidad las contraseñas 108 permanecen en la memoria.
La memoria 106 puede almacenar la clave criptográfica 112 en lugar de las contraseñas 108 cuando se fabrica el cartucho 100. En esta implementación, antes de la primera utilización del cartucho 100, no se pueden almacenar contraseñas 108 en el cartucho 108. Más bien, cuando se solicita una contraseña 108, el cartucho 100 genera la contraseña 108 "sobre la marcha", si el cartucho 100 todavía no ha generado y proporcionado el número máximo predeterminado de contraseñas únicas 108. Una vez que se ha generado el número máximo predeterminado de contraseñas únicas 108, la clave criptográfica 112 se puede borrar al menos funcionalmente, de la manera descrita en el párrafo anterior.
La Figura 2 muestra un método de ejemplo 200 que puede realizar un elemento reemplazable para un dispositivo, tal como el cartucho de sustancia de impresión 100 para un dispositivo de impresión. El método 200 se puede implementar como código legible por ordenador almacenado en un medio de almacenamiento de datos legible por ordenador no transitorio y que ejecuta un procesador. Como tal, la lógica 104 del cartucho 100 puede realizar el método 200, por ejemplo. El elemento reemplazable realiza el método 200 una vez que se ha instalado en un dispositivo servidor.
El elemento reemplazable recibe una solicitud del dispositivo servidor para un valor de autentificación particular de varios valores de autentificación que el elemento puede almacenar (202). La solicitud se puede firmar con una clave criptográfica digital, o se puede proteger de otra manera. El elemento reemplazable determina si ha enviado previamente el valor de autentificación en cuestión a cualquier dispositivo servidor (203), incluido el dispositivo servidor en el que el elemento está instalado actualmente, así como a cualquier otro dispositivo servidor. Si el elemento reemplazable ha enviado previamente el valor de autentificación solicitado (204), el elemento devuelve el valor solicitado al dispositivo servidor (206).
Sin embargo, si el elemento reemplazable no ha enviado previamente el valor de autentificación solicitado (206), el elemento determina si ya ha enviado el número máximo de valores de autentificación únicos (208). Por ejemplo, de sesenta y cuatro valores de autentificación que el elemento reemplazable puede almacenar, el elemento no puede enviar más de dieciséis de estos valores. Si el elemento de reemplazo ya ha enviado el número máximo de valores de autentificación únicos (210), el elemento no envía el valor de autentificación que ha solicitado el dispositivo servidor en el que está instalado el elemento (212).
Sin embargo, si el elemento reemplazable aún no ha enviado el número máximo de valores de autentificación únicos, entonces el elemento envía el valor de autentificación solicitado al dispositivo servidor (214). A continuación, el elemento reemplazable puede determinar nuevamente si se ha enviado el número máximo de valores de autentificación (216), incluido el valor de autentificación que el elemento acaba de enviar en la parte 214. Por ejemplo, si se permite que el elemento envíe solo dieciséis de sus sesenta y cuatro valores de autenticación, si se enviaron quince valores antes de la ejecución de la parte 214, entonces se envía un decimosexto valor de autentificación diferente en la parte 214, de tal manera que el número máximo de dieciséis valores de autentificación diferentes ahora haya sido enviado.
Si ahora se ha enviado el número máximo de valores de autentificación únicos (218), entonces el elemento reemplazable puede borrar al menos funcionalmente los valores de autentificación que almacena y que no se han enviado (220). Como tal, en el ejemplo en curso, una vez que se han enviado dieciséis valores de autentificación diferentes, se borran los otros cuarenta y ocho valores de autenticación. Tenga en cuenta que cada vez que se realiza el método 200 de la Figura 2, entonces, el elemento reemplazable puede enviar cualquier valor de autentificación que envió previamente, y puede enviar cualquier valor de autentificación que no haya enviado previamente siempre que el número máximo de valores de autentificación diferentes que el elemento enviará aún no haya sido alcanzado.
Desde las partes 206, 212 y 220, y desde la parte 218 cuando aún no se ha alcanzado el número máximo de valores de autentificación enviados únicos, o como un punto de entrada al método 200, el elemento reemplazable puede recibir del dispositivo servidor una solicitud de uno o más valores hash correspondientes a uno o más valores de autentificación (222). Por ejemplo, el elemento reemplazable puede recibir una solicitud para todos los valores hash correspondientes a todos los valores de autenticación, para solo uno de los valores hash correspondientes a solo uno de los valores de autenticación, y así sucesivamente. El elemento reemplazable puede recibir una solicitud de uno o más valores hash incluso después de que los valores de autentificación que nunca se hayan enviado se borren en la parte 220, después de que se haya alcanzado el número máximo de valores de autentificación únicos que el elemento enviará en la parte 218. Es decir, el elemento reemplazable puede no borrar los valores hash para los valores de autentificación que borra, por ejemplo. La parte 222 se puede considerar como un punto de entrada al método 200 por que la solicitud de los valores hash se puede recibir antes de recibir una solicitud de un valor de autenticación.
La Figura 3 muestra un método 300 de ejemplo que es un ejemplo de una implementación particular de las partes 202 a la parte 220 del método 200. Las partes numeradas de idéntica forma en las Fig. 2 y 3 se realizan en el método 300 al menos, en esencia, según se describió anteriormente en relación con el método 200. Los números entre paréntesis indican que una parte dada del método 300 está implementando una parte correspondiente del método 200. Es decir, Y(X) en la Figura 3 significa que la parte Y del método 300 está implementando la parte X del método 200.
En la Fig. 3, los valores de autentificación pueden tener identificadores, tal como identificadores únicos correspondientes, que también se pueden denominar direcciones. Por ejemplo, si el elemento reemplazable almacena sesenta y cuatro valores de autenticación, los identificadores pueden ser uno, dos, tres, y así sucesivamente, hasta sesenta y cuatro. El elemento reemplazable recibe una solicitud del dispositivo servidor en el que está instalado para un valor de autentificación por identificador (302). Por ejemplo, el dispositivo servidor puede solicitar el valor de autentificación que tiene el identificador ABCD, puede solicitar el sexto valor de autenticación, de tal manera que el identificador del valor de autentificación solicitado sea seis, y así sucesivamente.
En la Fig. 3, el elemento reemplazable puede tener dos tablas. La primera tabla tiene un número de entradas igual al número máximo de diferentes valores de autentificación que el elemento reemplazable devolverá a cualquier dispositivo servidor. Cuando el elemento reemplazable aún no se ha utilizado en ningún dispositivo servidor, todas las entradas pueden estar vacías. Es decir, las entradas de la primera tabla están inicialmente vacías. La primera tabla almacena al menos los identificadores de los valores de autentificación que el elemento reemplazable ha enviado a cualquier dispositivo servidor. La primera tabla también puede almacenar los propios valores de autenticación. El elemento reemplazable puede almacenar la primera tabla de forma criptográfica segura.
La segunda tabla tiene un número de entradas igual al número de valores de autentificación que almacena el elemento reemplazable, tal como antes de que el elemento reemplazable aún no se haya utilizado en ningún dispositivo servidor. Cada entrada incluye al menos un valor de autenticación. Cada entrada puede almacenar además el identificador del valor de autenticación. Si los identificadores no se almacenan en la segunda tabla, entonces se pueden determinar por referencia. Por ejemplo, si hay sesenta y cuatro entradas, la primera entrada puede almacenar el valor de autentificación con el identificador más bajo, la segunda entrada puede almacenar el valor de autentificación con el identificador igual al identificador más bajo más un valor de incremento, y la tercera entrada puede almacenar el valor de autentificación con el identificador igual al identificador más bajo más dos veces el valor de incremento, y así sucesivamente. Por lo tanto, la sexagésima cuarta entrada puede almacenar el valor de autentificación que tiene el identificador igual al identificador más bajo más sesenta y tres veces el valor de incremento. Si el identificador más bajo es BASE y el valor de incremento es INC, el identificador del enésimo valor de autenticación, donde n es un valor de uno (el primer valor de autenticación) a N (el último valor de autenticación) es BASE INC x (n-1).
Por lo tanto, el elemento reemplazable busca el identificador solicitado en la primera tabla (303). Es decir, si el elemento reemplazable recibió una solicitud del dispositivo servidor en la parte 302 para el valor de autentificación que tiene un identificador determinado, el elemento reemplazable busca el identificador determinado en la primera tabla. Si el elemento reemplazable recibió una solicitud en la parte 302 para el quinto valor de autenticación, el identificador de este valor de autentificación puede ser cinco, o se puede determinar como se describió anteriormente, en el cual entonces el elemento busca en la primera tabla. Si el identificador solicitado está en la primera tabla, entonces esto significa que el elemento reemplazable envió previamente el valor de autentificación que tiene este identificador. Si el identificador solicitado no está en la primera tabla, entonces esto significa que el elemento no ha enviado previamente el valor de autentificación que tiene este identificador.
Si el identificador está en la primera tabla, el elemento reemplazable envía el valor de autentificación que tiene este identificador (206). Por ejemplo, si la primera tabla almacena valores de autentificación así como sus identificadores, entonces el elemento reemplazable puede recuperar el valor de autentificación en cuestión de la primera tabla. Si la primera tabla solo almacena identificadores y no los propios valores de autenticación, entonces el elemento reemplazable puede recuperar el valor de autentificación que tiene el identificador en cuestión de la segunda tabla para devolver al dispositivo servidor.
Si el identificador no está en la primera tabla, entonces el elemento reemplazable determina si hay entradas vacías en la primera tabla (306). Si hay entradas vacías en la primera tabla, entonces esto significa que el elemento reemplazable aún no ha enviado el número máximo de valores de autentificación diferentes. Si no hay entradas vacías en la primera tabla, entonces esto significa que el elemento reemplazable ya ha enviado el número máximo de valores de autentificación diferentes. Por lo tanto, si no hay entradas vacías (308), el elemento reemplazable rechaza enviar el valor de autentificación solicitado (212).
Sin embargo, si hay entradas vacías en la primera tabla (308), entonces el elemento reemplazable recupera el valor de autentificación que tiene el identificador solicitado de la segunda tabla (310). El elemento localiza un identificador vacío en la primera tabla (312) y almacena al menos el identificador del valor de autentificación recuperado en esta entrada vacía (314). Por ejemplo, el elemento puede almacenar el valor de autentificación en la entrada, así como el identificador de este valor. El elemento reemplazable a continuación envía el valor de autentificación de vuelta al dispositivo servidor que solicitó el valor (214).
El elemento reemplazable a continuación determina si la primera tabla ahora tiene entradas vacías (316). Si no hay más entradas vacías después de que la entrada vacía situada en la parte 312 se haya llenado en la parte 314, entonces esto significa que se ha alcanzado el número máximo de valores de autentificación diferentes que puede proporcionar el elemento reemplazable. Si todavía hay al menos una entrada vacía en la primera tabla después de que la entrada vacía situada en la parte 312 fuese llenada en la parte 314, entonces esto significa que aún no se ha alcanzado el número máximo de valores de autentificación diferentes que el elemento reemplazable puede proporcionar. Por lo tanto, si quedan entradas vacías en la primera tabla (318), el método 300 se termina (320).
Si no quedan entradas vacías en la primera tabla (318), el elemento reemplazable borra los valores de autentificación de la segunda tabla (220). El elemento reemplazable puede borrar de la segunda tabla solo los valores de autentificación que no ha proporcionado, que son aquellos valores de autentificación que tienen identificadores que no están almacenados en la primera tabla. Si la primera tabla almacena tanto identificadores como valores de autenticación, en lugar de solo identificadores, entonces el elemento reemplazable puede borrar todos los valores de autentificación de la segunda tabla. Por ejemplo, el elemento reemplazable puede eliminar la segunda tabla por completo. El elemento reemplazable puede borrar la segunda tabla porque el elemento almacena los valores de autentificación que aún responderá a las solicitudes adecuadas de los dispositivos servidor en la primera tabla. En otra implementación, el elemento reemplazable responde a las solicitudes de valores de autentificación de la primera tabla, y si un valor de autentificación solicitado no se almacena en la primera tabla, puede recuperar el valor de la segunda tabla para almacenarlo en la primera tabla solo si hay una entrada vacía disponible en la primera tabla en la que almacenar el valor solicitado.
La Figura 4 muestra un método 400 de ejemplo que es otro ejemplo de una implementación particular de las partes 202 a 220 del método 200. Las partes numeradas de idéntica forma en las Fig. 2 y 4 se realizan en el método 400 al menos como se ha descrito en relación con el método 200. Los números entre paréntesis indican que una parte determinada del método 400 está implementando una parte correspondiente del método 200. Es decir, Y(X) en la Figura 4 significa que la parte Y del método 400 está implementando la parte X del método 200.
El elemento reemplazable recibe una solicitud de un valor de autentificación del dispositivo servidor en el que está instalado (202). El elemento reemplazable determina si el valor de autentificación fue enviado previamente (203). Si el valor de autentificación fue enviado previamente (204), entonces el elemento reemplazable envía el valor de autentificación que se ha solicitado de vuelta al dispositivo servidor (206).
El elemento reemplazable mantiene un contador del número de valores de autentificación únicos que el elemento ha proporcionado a cualquier dispositivo servidor en la implementación de la Figura 4. El contador puede ser un contador de solo incremento, que se puede aumentar y no se puede disminuir. El contador se almacena en una memoria no volátil, tal como la memoria no volátil 106, y se puede proteger criptográficamente.
El elemento reemplazable determina si el contador es igual al número máximo de valores de autentificación únicos que el elemento proporcionará a cualquier dispositivo servidor si se solicita correctamente (402). Si el contador es igual a este número máximo de valores de autentificación únicos, entonces esto significa que el elemento reemplazable ya ha proporcionado el número máximo de valores de autentificación diferentes que proporcionará a cualquier dispositivo servidor. Por lo tanto, si el contador es igual al número máximo de valores de autentificación únicos (404), entonces el elemento reemplazable no envía el valor de autentificación solicitado al dispositivo servidor (212).
Si el contador no es igual al número máximo de valores de autentificación únicos (es decir, el contador es menor que este número), entonces esto significa que el elemento reemplazable aún no ha proporcionado el número máximo de valores de autentificación diferentes que proporcionará a cualquier dispositivo servidor. Por lo tanto, el elemento reemplazable envía el valor de autentificación solicitado de vuelta al dispositivo servidor (214). El elemento reemplazable también incrementa el contador (406).
El elemento reemplazable determina si el contador ahora es igual al número máximo de valores de autentificación únicos que proporcionará a cualquier dispositivo servidor (408). Si el contador aún no es igual al número máximo de valores de autentificación únicos (410), entonces el método 400 se termina (412). Sin embargo, si el contador ahora es igual a este número (410), entonces esto significa que el elemento reemplazable ahora ha enviado el número máximo de diferentes valores de autentificación que proporcionará y, como tal, puede borrar los valores de autentificación que no se han proporcionado o enviado a cualquier dispositivo servidor (220).
La Figura 5 muestra un método 500 de ejemplo que es un tercer ejemplo de una implementación particular de las partes 202 a 220 del método 200. Las partes numeradas de idéntica forma en las Fig. 2 y 5 se realizan en el método 500 al menos como se ha descrito en relación con el método 200. Los números entre paréntesis indican que una parte determinada del método 500 está implementando una parte correspondiente del método 200. Es decir, Y(X) en la Figura 5 significa que la parte Y del método 500 está implementando la parte X del método 200.
El elemento reemplazable recibe una solicitud de un valor de autentificación del dispositivo servidor en el que está instalado (202). El elemento reemplazable determina si el valor de autentificación fue enviado previamente (203). Si el valor de autentificación fue enviado previamente a cualquier dispositivo servidor (204), entonces el elemento reemplazable envía el valor de autentificación de vuelta al dispositivo servidor en el que está instalado (206).
El elemento reemplazable mantiene un indicador correspondiente a si el elemento ha proporcionado el número máximo de valores de autentificación únicos a cualquier dispositivo servidor en la implementación de la Figura 5. El indicador puede ser un indicador solo ajustable, que se puede establecer pero que no se puede borrar. El indicador se almacena en la memoria no volátil, tal como la memoria no volátil 106, y se puede proteger criptográficamente.
El elemento reemplazable determina si el indicador se ha establecido (502). Si se ha establecido el indicador, esto significa que el elemento reemplazable ya ha proporcionado el número máximo de diferentes valores de autentificación que proporcionará a cualquier dispositivo servidor. Por lo tanto, si se establece el indicador (504), entonces el elemento reemplazable no envía el valor de autentificación solicitado al dispositivo servidor (212). Si el indicador no está establecido, entonces esto significa que el elemento reemplazable aún no ha proporcionado el número máximo de valores de autentificación diferentes que proporcionará a cualquier servidor. Por lo tanto, el elemento reemplazable envía el valor de autentificación solicitado de vuelta al dispositivo servidor (214).
El elemento reemplazable determina si ahora se ha enviado el número máximo de valores de autentificación únicos (216). Si todavía no se ha enviado el número máximo de valores de autentificación diferentes (218), entonces el método 500 se termina. Sin embargo, si ahora se ha enviado el número máximo de diferentes valores de autentificación (218), el elemento reemplazable establece el indicador (508) y puede borrar los valores de autentificación que aún no se han proporcionado o enviado a ningún dispositivo servidor (220).
En una implementación diferente, el indicador se establece antes de enviar el valor de autenticación. Es decir, en esta implementación, se determina si el número máximo de autenticaciones se habrá enviado ahora con el envío de un valor de autenticación, y si es así, entonces se establece el indicador, y después de que el indicador se haya establecido, se envía el valor de autenticación. Los valores de autentificación que no se hayan enviado también se pueden borrar en esta implementación antes de enviar el valor de autentificación en cuestión. De manera más general, cualquier acción que se realice debido al envío del último valor de autentificación único que proporcionará el elemento reemplazable, tal como incrementar un contador, establecer un indicador, almacenar un valor en una tabla, etc., se puede realizar antes de enviar este último valor de autentificación único. Se observa a este respecto que, aún más generalmente, cualquier acción de este tipo que se realice junto con el envío de un valor de autentificación (y no el último valor de autenticación) se puede realizar antes de que el valor de autentificación se envíe realmente.
La Figura 6 muestra un método 600 de ejemplo que es un cuarto ejemplo de una implementación particular de las partes 202 a 220 del método 200. Las partes numeradas de idéntica forma en las Fig. 2 y 6 se realizan en el método 600 al menos como se ha descrito en relación con el método 200. Los números entre paréntesis indican que una parte determinada del método 600 está implementando una parte correspondiente del método 200. Es decir, Y(X) en la Figura 6 significa que la parte Y del método 600 está implementando la parte X del método 200.
El elemento reemplazable recibe una solicitud de un valor de autentificación de un dispositivo servidor (202). El elemento reemplazable determina si el valor de autentificación fue enviado previamente (203). Si el valor de autentificación fue enviado previamente a cualquier dispositivo servidor (204), entonces el elemento reemplazable envía el valor de autentificación de vuelta al dispositivo servidor solicitante (206).
Si el elemento reemplazable no ha enviado previamente el valor de autentificación solicitado (206), entonces el elemento determina si ya ha enviado el número máximo de valores de autentificación únicos (208). Si el elemento de reemplazo ya ha enviado el número máximo de valores de autentificación únicos (210), entonces el elemento no envía el valor de autentificación que el dispositivo servidor en cuestión ha solicitado (212). Por lo tanto, el método 600 se termina.
Sin embargo, si el elemento reemplazable aún no ha enviado el número máximo de valores de autentificación únicos (210), entonces el elemento genera el valor de autentificación a partir de una clave criptográfica (602), tal como la clave criptográfica 112 del cartucho de sustancia de impresión 100 de la Figura 1. En la implementación de la Figura 6, entonces, las contraseñas 108 se pueden no generar y almacenar a priori en el cartucho 100 en el momento de la fabricación del cartucho 100. Un cartucho de impresión 100 nunca utilizado puede no tener contraseñas 108 almacenadas en el mismo, sino que simplemente almacena la clave criptográfica 112 a partir de la cual se pueden generar las contraseñas 108. El elemento reemplazable, por lo tanto, envía el valor de autentificación que se ha solicitado y que el elemento acaba de generar al dispositivo servidor (214). A este respecto, se observa que la implementación de la Figura 6 se puede emplear junto con al menos una parte de la implementación de la Figura 3, en la que los valores enviados se almacenan en una primera tabla. Como tal, una vez que se ha generado el valor de autenticación, se puede almacenar en la primera tabla, de modo que el valor no se tenga que regenerar más tarde, y si o cuando la clave criptográfica se borre al menos funcionalmente, el valor de autentificación se pueda devolver.
El elemento reemplazable puede determinar nuevamente si se ha enviado el número máximo de valores de autentificación (216), incluido el valor de autentificación que el elemento acaba de enviar en la parte 214. Si aún no se ha enviado el número máximo de valores de autentificación (218), entonces el método 600 se termina. Sin embargo, si ahora se ha enviado el número máximo de valores de autentificación (218), entonces el elemento reemplazable puede borrar al menos funcionalmente la clave criptográfica (606), de modo que no se puedan generar valores de autentificación adicionales. La clave criptográfica se puede borrar al menos funcionalmente una vez que se ha generado el valor de autentificación en la parte 602, y antes de enviar realmente el valor de autentificación en la parte 214 en una implementación.
Las diferentes implementaciones de partes del método 200 que se han descrito en relación con los métodos 300, 400, 500 y 600 se pueden combinar o modificar de diferentes maneras. Por ejemplo, solo se puede emplear la primera tabla del método 300. Se pueden emplear una o más tablas del método 300 junto con el contador del método 400 y/o el indicador del método 500. El contador del método 400 se puede utilizar junto con el indicador del método 500 sin tampoco ninguna tabla del método 300. La primera tabla del método 300, el contador del método 400 y/o el indicador del método 500 se pueden utilizar junto con el enfoque del método 600.
Las técnicas descritas en la presente memoria pueden mejorar o proporcionar otro esquema para la seguridad criptográfica de un elemento reemplazable para un dispositivo, tal como un cartucho de suministro de impresión para un dispositivo de impresión. Un elemento reemplazable proporciona un número limitado de valores de autorización, o contraseñas, que almacena. Una vez que se haya proporcionado el número máximo de valores de autorización diferentes, no se atenderán las solicitudes de los otros valores de autorización, incluso si permanecen almacenados en el elemento reemplazable. Un enfoque de este tipo puede disminuir la probabilidad de que un tercero que intente recuperar todos los valores de autorización del elemento reemplazable tenga éxito. Además, la probabilidad de que la posesión de solo el número máximo de valores de autorización únicos dé como resultado una autentificación exitosa es muy baja.

Claims (9)

REIVINDICACIONES
1. Un cartucho de sustancia de impresión (100) para un dispositivo de impresión, que comprende:
un suministro (102) de sustancia de impresión para el dispositivo de impresión;
una memoria no volátil (106) que almacena una pluralidad de contraseñas (108) y/o una clave criptográfica (112) a partir de la cual se pueden generar las contraseñas (108); y
la lógica (104) para permitir la recuperación de un número máximo predeterminado de las contraseñas (108), menor que un número total de las contraseñas (108), de la memoria no volátil (106), para autenticar el cartucho de sustancia de impresión en el dispositivo de impresión;
en donde el cartucho de sustancia de impresión (100) comprende además:
una memoria no volátil (106) que almacena una pluralidad de valores hash unidireccionales (110) de las contraseñas (108),
en donde el cartucho de sustancia de impresión (100) debe recibir una solicitud de un dispositivo servidor para un valor hash unidireccional (110) de la pluralidad de valores hash (110) y enviar el valor hash unidireccional (110) al dispositivo,
en donde se recibe una solicitud de contraseña antes o después de recibir la solicitud de un valor hash unidireccional (110).
2. El cartucho de sustancia de impresión (100) de la reivindicación 1, en donde la lógica (104) es además para:
permitir la recuperación del número máximo predeterminado de las contraseñas (108) un número ilimitado de veces desde la memoria no volátil (106); y
prohibir la recuperación de cualquier contraseña (108) de las contraseñas (108) que no sea el número máximo predeterminado de las contraseñas (108) incluso una vez desde la memoria no volátil (106).
3. El cartucho de sustancia de impresión (100) de la reivindicación 1, en donde la lógica (104) es además para:
seleccionar el número máximo predeterminado de las contraseñas (108) cuando cualquier dispositivo solicita una contraseña particular (108) de las contraseñas (108) de la memoria no volátil (106), hasta que se haya alcanzado el número máximo predeterminado de las contraseñas (108).
4. El cartucho de sustancia de impresión (100) de la reivindicación 1, en donde la memoria no volátil (106) es una memoria limitada de lectura y de una sola escritura en la que el número máximo predeterminado de las contraseñas (108) es legible un número ilimitado de veces y las contraseñas (108) distintas del número máximo predeterminado de las contraseñas (108) no se pueden leer una vez que se ha seleccionado el número máximo predeterminado de las contraseñas (108).
5. El cartucho de sustancia de impresión (100) de la reivindicación 1, en donde la lógica (104) es además para:
borrar al menos funcionalmente al menos las contraseñas (108) que no sean el número máximo predeterminado de las contraseñas (108) una vez que se haya seleccionado el número máximo predeterminado de las contraseñas (108).
6. El cartucho de sustancia de impresión (100) de la reivindicación 1, en donde la lógica (104) es además para, en respuesta a la recepción de una solicitud de una contraseña particular (108) de las contraseñas (108):
si la contraseña particular (108) se ha enviado previamente, devolver la contraseña particular (108); si la contraseña particular (108) no se ha enviado previamente y el número máximo predeterminado de las contraseñas (108) no se ha enviado, generar la contraseña particular (108) a partir de la clave criptográfica (112) y devolver la contraseña particular (108); y
si la contraseña particular (108) no se ha enviado previamente y se ha enviado el número máximo predeterminado de las contraseñas (108), rechazar generar y devolver la contraseña particular (108).
7. El cartucho de sustancia de impresión (100) de la reivindicación 6, en donde la lógica (104) es además para, después de generar la contraseña particular (108) a partir de la clave criptográfica (112):
borrar al menos funcionalmente la clave criptográfica (112) si el número máximo predeterminado de las contraseñas (108) se ha enviado o se hará enviar ahora.
8. El cartucho de sustancia de impresión (100) de la reivindicación 1,
en donde la lógica (104) debe permitir la recuperación de cualquier valor hash (110) un número ilimitado de veces desde la memoria no volátil (106).
9. El cartucho de suministro de impresión (100) de la reivindicación 1, en donde el colorante es uno o más de:
tinta, tóner, colorante bidimensional (2D), agente de impresión tridimensional (3D) y material de construcción de impresión 3D.
ES19172665T 2016-06-17 2016-06-17 Autentificación de elemento reemplazable Active ES2875856T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19172665.2A EP3543019B1 (en) 2016-06-17 2016-06-17 Replaceable item authentication
PCT/US2016/038211 WO2017218016A1 (en) 2016-06-17 2016-06-17 Replaceable item authentication

Publications (1)

Publication Number Publication Date
ES2875856T3 true ES2875856T3 (es) 2021-11-11

Family

ID=56511864

Family Applications (3)

Application Number Title Priority Date Filing Date
ES20167629T Active ES2886773T3 (es) 2016-06-17 2016-06-17 Autenticación de elemento reemplazable
ES19172665T Active ES2875856T3 (es) 2016-06-17 2016-06-17 Autentificación de elemento reemplazable
ES16742058T Active ES2749914T3 (es) 2016-06-17 2016-06-17 Autentificación de elemento reemplazable

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES20167629T Active ES2886773T3 (es) 2016-06-17 2016-06-17 Autenticación de elemento reemplazable

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES16742058T Active ES2749914T3 (es) 2016-06-17 2016-06-17 Autentificación de elemento reemplazable

Country Status (25)

Country Link
US (4) US9893893B2 (es)
EP (3) EP3297834B1 (es)
JP (1) JP6393829B2 (es)
KR (1) KR101929136B1 (es)
CN (2) CN108602351B (es)
AR (1) AR108103A1 (es)
AU (4) AU2016325188A1 (es)
BR (1) BR112017005752B1 (es)
CA (1) CA2961947C (es)
DK (1) DK3297834T3 (es)
ES (3) ES2886773T3 (es)
HK (1) HK1246738B (es)
HU (1) HUE046689T2 (es)
IL (2) IL250903B (es)
MX (1) MX2017003900A (es)
MY (1) MY190090A (es)
NZ (1) NZ729380A (es)
PH (1) PH12017500551B1 (es)
PL (3) PL3297834T3 (es)
PT (2) PT3297834T (es)
RU (1) RU2674811C2 (es)
SG (1) SG11201701401SA (es)
TW (1) TWI660288B (es)
WO (1) WO2017218016A1 (es)
ZA (1) ZA201702077B (es)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017218016A1 (en) * 2016-06-17 2017-12-21 Hewlett-Packard Development Company, L.P. Replaceable item authentication
RU2669057C2 (ru) 2016-10-27 2018-10-08 Хьюлетт-Паккард Дивелопмент Компани, Л.П. Аутентификация заменяемых элементов
US20190339884A1 (en) * 2018-04-16 2019-11-07 Lexmark International, Inc. Supply Chips and Methods for Restricting Read Access Thereof
ES2902154T3 (es) 2018-12-03 2022-03-25 Hewlett Packard Development Co Circuitos lógicos
WO2020117776A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry package
JP7041324B2 (ja) 2018-12-03 2022-03-23 ヒューレット-パッカード デベロップメント カンパニー エル.ピー. 論理回路
BR112021010044A2 (pt) 2018-12-03 2021-08-17 Hewlett-Packard Development Company, L.P. circuitos lógicos
CA3121418A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry
EP3695334A1 (en) 2018-12-03 2020-08-19 Hewlett Packard Enterprise Development Company LP Logic circuitry
CA3121110A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry package
WO2020117391A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry package
CN113168443A (zh) 2018-12-03 2021-07-23 惠普发展公司,有限责任合伙企业 逻辑电路系统
US11252144B2 (en) * 2019-03-26 2022-02-15 Canon Kabushiki Kaisha Authentication system using key identification information
JP7314744B2 (ja) * 2019-09-27 2023-07-26 ブラザー工業株式会社 テープカセット及び印刷装置
CN113199870B (zh) * 2019-12-11 2022-06-28 珠海艾派克微电子有限公司 耗材芯片的认证方法及打印耗材
CN110920262B (zh) * 2019-12-13 2021-03-23 珠海艾派克微电子有限公司 一种耗材芯片及耗材合法性校验方法
DE102020112811B3 (de) 2020-05-12 2021-10-21 Ebm-Papst Mulfingen Gmbh & Co. Kg Verfahren und Anlage zur Authentifizierung wenigstens eines Aggregats
CN112966255A (zh) * 2021-03-15 2021-06-15 珠海艾派克微电子有限公司 芯片及成像盒
EP4143708A2 (en) * 2021-07-16 2023-03-08 Hewlett-Packard Development Company, L.P. Logic circuitry packages for replaceable print apparatus components

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6803989B2 (en) * 1997-07-15 2004-10-12 Silverbrook Research Pty Ltd Image printing apparatus including a microcontroller
US6857719B2 (en) * 1997-07-15 2005-02-22 Silverbrook Research Pty Ltd Printing cartridge with pressure sensor array identification
US20020107806A1 (en) * 2001-02-02 2002-08-08 Akio Higashi Content usage management system and content usage management method
GB0126426D0 (en) * 2001-11-03 2002-01-02 Royal Holloway University Of L Authentication of a remote user to a host in a data communication system
US7506060B2 (en) * 2001-12-11 2009-03-17 Hewlett-Packard Development Company, L.P. Technique for reducing network bandwidth for delivery of dynamic and mixed content
TWI231899B (en) * 2002-10-29 2005-05-01 Trek 2000 Int Ltd System and method for authentication
US7121639B2 (en) * 2002-12-02 2006-10-17 Silverbrook Research Pty Ltd Data rate equalisation to account for relatively different printhead widths
GB0230200D0 (en) * 2002-12-24 2003-02-05 Esselte Nv Validation of consumables
US20080077802A1 (en) * 2003-06-27 2008-03-27 Ultracell Corporation Fuel cartridge authentication
US20050073196A1 (en) * 2003-09-29 2005-04-07 Yamaha Motor Co. Ltd. Theft prevention system, theft prevention apparatus and power source controller for the system, transport vehicle including theft prevention system, and theft prevention method
EP1743447B1 (en) * 2004-05-04 2009-03-25 Research In Motion Limited Challenge response system and method
US7557941B2 (en) * 2004-05-27 2009-07-07 Silverbrook Research Pty Ltd Use of variant and base keys with three or more entities
US7623255B2 (en) * 2004-10-22 2009-11-24 Hewlett-Packard Development Company, L.P. Printing device
US7614546B2 (en) * 2005-02-03 2009-11-10 Yottamark, Inc. Method and system for deterring product counterfeiting, diversion and piracy
US7788490B2 (en) * 2005-04-01 2010-08-31 Lexmark International, Inc. Methods for authenticating an identity of an article in electrical communication with a verifier system
US20070056042A1 (en) * 2005-09-08 2007-03-08 Bahman Qawami Mobile memory system for secure storage and delivery of media content
JP4665683B2 (ja) * 2005-09-16 2011-04-06 セイコーエプソン株式会社 プリンタシステム
US20070077074A1 (en) * 2005-09-30 2007-04-05 Lexmark International, Inc. Apparatuses and methods for identifying a consumable for use with an imaging apparatus
US8280907B2 (en) * 2005-11-30 2012-10-02 International Business Machines Corporation System and method for managing access to data in a database
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
JP5525133B2 (ja) 2008-01-17 2014-06-18 株式会社日立製作所 デジタル署名及び認証のためのシステム及び方法
EP2263146B3 (en) * 2008-03-14 2018-09-05 Hewlett-Packard Development Company, L.P. Secure access to fluid cartridge memory
PT3208736T (pt) * 2008-05-29 2020-01-21 Hewlett Packard Development Co Autenticação de um componente de impressora substituível
TW201034857A (en) * 2009-03-19 2010-10-01 Aptos Technology Inc Ink cartridge and printer system with the same
JP5193935B2 (ja) * 2009-04-28 2013-05-08 富士通フロンテック株式会社 領収書管理システムおよび方法
AU2010302937C1 (en) * 2009-09-29 2014-11-06 Memjet Technology Limited Communication system, method and device with limited encryption key retrieval
US10453299B2 (en) * 2009-12-23 2019-10-22 Aristocrat Technologies Australia Pty Limited Method of enabling restoration of games and a method of restoring games
US9922063B2 (en) * 2009-12-29 2018-03-20 International Business Machines Corporation Secure storage of secret data in a dispersed storage network
US9323689B2 (en) * 2010-04-30 2016-04-26 Netapp, Inc. I/O bandwidth reduction using storage-level common page information
WO2011145353A1 (ja) * 2010-05-19 2011-11-24 三洋電機株式会社 基地局装置
JP5595965B2 (ja) * 2011-04-08 2014-09-24 株式会社東芝 記憶装置、保護方法及び電子機器
US9202078B2 (en) * 2011-05-27 2015-12-01 International Business Machines Corporation Data perturbation and anonymization using one way hash
WO2013062528A1 (en) * 2011-10-25 2013-05-02 Hewlett-Packard Development Company, L.P. Verification record for a replaceable supply
US10013692B2 (en) * 2011-11-10 2018-07-03 Cryptocode, Inc. Systems and methods for authorizing transactions via a digital device
US11321414B2 (en) * 2012-04-17 2022-05-03 Comcast Cable Communications, Llc Self-validating data object locator for a media asset
US9172538B2 (en) * 2012-04-20 2015-10-27 T-Mobile Usa, Inc. Secure lock for mobile device
JP6048210B2 (ja) * 2013-02-26 2016-12-21 沖電気工業株式会社 情報処理装置及びプログラム
US9118467B2 (en) * 2013-03-13 2015-08-25 Atmel Corporation Generating keys using secure hardware
US9227417B2 (en) 2013-03-15 2016-01-05 Ologn Technologies Ag Systems, methods and apparatuses for authorized use and refill of a printer cartridge
US9495420B2 (en) * 2013-05-22 2016-11-15 International Business Machines Corporation Distributed feature collection and correlation engine
EP3028172B1 (en) * 2013-07-31 2021-02-24 Hewlett-Packard Development Company, L.P. Authenticating a consumable product based on a remaining life value
CN105164666B (zh) 2013-07-31 2018-05-29 惠普发展公司,有限责任合伙企业 传送可消耗产品的分类
CN105431860B (zh) * 2013-07-31 2018-09-14 惠普发展公司,有限责任合伙企业 保护可消耗产品的存储器中的数据
US9599945B2 (en) * 2013-07-31 2017-03-21 Hewlett-Packard Development Company, L.P. Methods and systems for determining authenticity of a consumable product
ES2902584T3 (es) * 2013-08-30 2022-03-29 Hewlett Packard Development Co Autenticación de suministro a través de la respuesta de desafío de tiempo
KR101537205B1 (ko) * 2014-10-20 2015-07-16 숭실대학교산학협력단 해쉬값을 이용하여 응용 프로그램의 위변조 여부를 탐지하는 사용자 단말기 및 그것을 이용한 위변조 탐지 방법
WO2017023826A1 (en) * 2015-07-31 2017-02-09 Walker Digital Table Systems, Llc Identifying a specially designated object to facilitate dynamic promotions related to use of the object
WO2017022034A1 (ja) * 2015-07-31 2017-02-09 富士通株式会社 情報処理装置、情報処理方法、及び、情報処理プログラム
CN105216451B (zh) 2015-09-25 2017-08-22 深圳市红源资产管理有限公司 用于医用喷墨打印机的墨水存放容器及墨水授权系统
CN105398224B (zh) 2015-11-25 2017-03-22 杭州旗捷科技有限公司 一种墨盒芯片、墨盒、打印机和墨盒认证方法
KR102458922B1 (ko) 2016-01-18 2022-10-25 삼성전자주식회사 그룹 단위의 인증을 수행하는 디바이스 시스템 및 그 동작방법
US10812323B2 (en) * 2016-02-29 2020-10-20 WhatsApp. Inc. Techniques to provide relay server configuration for geographically disparate client devices
WO2017218016A1 (en) * 2016-06-17 2017-12-21 Hewlett-Packard Development Company, L.P. Replaceable item authentication
RU2669057C2 (ru) * 2016-10-27 2018-10-08 Хьюлетт-Паккард Дивелопмент Компани, Л.П. Аутентификация заменяемых элементов

Also Published As

Publication number Publication date
US20180109385A1 (en) 2018-04-19
CN111585768A (zh) 2020-08-25
ZA201702077B (en) 2018-04-25
KR101929136B1 (ko) 2018-12-13
ES2886773T3 (es) 2021-12-20
SG11201701401SA (en) 2018-05-30
IL250903B (en) 2020-07-30
CA2961947A1 (en) 2017-12-17
HUE046689T2 (hu) 2020-03-30
IL275721B (en) 2021-03-25
EP3297834A1 (en) 2018-03-28
DK3297834T3 (da) 2019-10-21
RU2017109825A (ru) 2018-09-24
JP6393829B2 (ja) 2018-09-19
US10277399B2 (en) 2019-04-30
PL3698976T3 (pl) 2021-11-22
US10680822B2 (en) 2020-06-09
TW201800973A (zh) 2018-01-01
EP3543019A1 (en) 2019-09-25
NZ729380A (en) 2020-07-31
TWI660288B (zh) 2019-05-21
IL275721A (en) 2020-08-31
HK1246738B (zh) 2020-06-19
EP3297834B1 (en) 2019-09-18
ES2749914T3 (es) 2020-03-24
CN108602351A (zh) 2018-09-28
PL3543019T3 (pl) 2021-10-11
AR108103A1 (es) 2018-07-18
AU2016325188A1 (en) 2018-01-18
EP3698976A1 (en) 2020-08-26
PT3698976T (pt) 2021-08-25
AU2020202759B2 (en) 2021-03-11
BR112017005752B1 (pt) 2023-02-14
CN108602351B (zh) 2020-04-17
WO2017218016A1 (en) 2017-12-21
US10944564B2 (en) 2021-03-09
RU2674811C2 (ru) 2018-12-13
JP2018524643A (ja) 2018-08-30
EP3543019B1 (en) 2021-06-09
CA2961947C (en) 2020-01-14
RU2017109825A3 (es) 2018-09-24
AU2021202733B2 (en) 2021-12-09
US20190342098A1 (en) 2019-11-07
KR20180116106A (ko) 2018-10-24
AU2019201706A1 (en) 2019-04-04
US9893893B2 (en) 2018-02-13
AU2021202733A1 (en) 2021-05-27
BR112017005752A2 (pt) 2018-07-24
PH12017500551A1 (en) 2017-08-30
EP3698976B1 (en) 2021-08-04
PT3297834T (pt) 2019-10-29
AU2020202759A1 (en) 2020-05-14
MX2017003900A (es) 2018-06-22
CN111585768B (zh) 2023-08-15
MY190090A (en) 2022-03-26
PL3297834T3 (pl) 2020-03-31
PH12017500551B1 (en) 2017-08-30
US20170366350A1 (en) 2017-12-21
US20190207765A1 (en) 2019-07-04
IL250903A0 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
ES2875856T3 (es) Autentificación de elemento reemplazable
ES2717099T3 (es) Autentificación de artículo sustituible
ES2716739T3 (es) Autenticación de elemento reemplazable
NZ729575B2 (en) Replaceable item authentication