BR112020020673A2 - Métodos para restringir o acesso a leitura de chips de fornecimento - Google Patents

Métodos para restringir o acesso a leitura de chips de fornecimento Download PDF

Info

Publication number
BR112020020673A2
BR112020020673A2 BR112020020673-3A BR112020020673A BR112020020673A2 BR 112020020673 A2 BR112020020673 A2 BR 112020020673A2 BR 112020020673 A BR112020020673 A BR 112020020673A BR 112020020673 A2 BR112020020673 A2 BR 112020020673A2
Authority
BR
Brazil
Prior art keywords
chip
command
test device
memory
encrypted data
Prior art date
Application number
BR112020020673-3A
Other languages
English (en)
Inventor
Stephen Porter Bush
Jennifer Topmiller Williams
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.
Priority claimed from PCT/US2019/027709 external-priority patent/WO2019204327A1/en
Publication of BR112020020673A2 publication Critical patent/BR112020020673A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31719Security aspects, e.g. preventing unauthorised access during test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • 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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/54Arrangements for designing test circuits, e.g. design for test [DFT] tools
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56016Apparatus features
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0403Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

métodos para restringir o acesso a leitura de chips de fornecimento. o presente documento revela um método exemplar para restringir o acesso de leitura ao conteúdo nos circuitos do componente e proteger os dados no item de fornecimento. o método identifica o status de um comando de leitura e, dependendo se o status está desabilitado ou habilitado, bloqueia o acesso aos dados criptografados armazenados no chip de fornecimento ou permite o acesso aos dados criptografados armazenados no chip de fornecimento.

Description

software conhecidos para provisionar dados para o chip 140. Para a etapa de teste, cada estação de teste 120 pode incluir hardware e software conhecidos necessários para verificar a integridade e precisão dos dados dentro do chip 140. Para a fase de entrega, o sistema de remessa 125 pode incluir quaisquer métodos de remessa conhecidos para a entrega de produtos aos usuários finais ou revendedores do mercado.
[022] Uma vez que as fábricas são geralmente consideradas um ambiente não confiável, o proprietário 105 pode criptografar os dados para inclusão no chip 140, de acordo com uma modalidade exemplar da presente revelação. O proprietário 105 pode fornecer dados criptografados 150 para uma ou mais estações de programação 115. Uma ou mais estações de programação 115 podem programar dados criptografados 150 recebidos do proprietário 105 para o chip 140. Após o fornecimento do chip 140 com dados criptografados 150, o chip 140 pode ser passado para uma ou mais estações de teste 120 para teste. Cada estação de teste 120 pode determinar se o chip 140 inclui dados criptografados 150, como será discutido em mais detalhes com respeito à Figura 2 Além disso, o proprietário 105 pode fornecer uma chave 160 para pelo menos uma das estações de teste 120. A chave 160 pode ser usada para descriptografar dados criptografados 150 e para determinar se o conteúdo no chip 140 ainda está correto. Após a fase de teste, o chip 140 pode estar pronto para entrega pelo sistema de envio 125.
[023] Em outras modalidades exemplares, o proprietário 105 pode fornecer dados não criptografados em vez de dados criptografados para uma ou mais estações de programação 115 porque o dispositivo está em um modo de fabricação. Ainda em outras modalidades exemplares, uma ou mais estações de programação 115 podem programar dados não criptografados do proprietário 105 para o chip 140. Em tais modalidades exemplares, os dados não criptografados podem ser criptografados com a chave 160 quando o chip 140 ou o dispositivo recebe um comando de leitura. Quando o chip 140 ou o dispositivo atinge a estação de teste 120, o dispositivo ou chip 140 não está mais no modo de fabricação, mas sim no modo de missão. Para ler os dados do chip 140, sem autenticação ,no modo de missão, a chave 160 é usada para descriptografar os dados.
[024] A Figura 2 é um esquema de um sistema de interface elétrica ilustrativo 200 entre um exemplo de dispositivo de teste 205 e um exemplo de item de fornecimento 210 equipado com chip 140 da Figura 1. O dispositivo de teste 205 é mostrado para incluir um mecanismo de interface 220, um controlador ou processador 225 e uma memória 230. A memória 230 pode incluir um módulo de leitura 250 e um módulo de descriptografia 260 incluindo a chave 160 (vide Figura 1). O item de fornecimento 210 pode incluir chip 140. O chip 140 é mostrado para incluir um mecanismo de interface 270, um processador 275 e uma memória não volátil 280 que inclui: dados criptografados 150, um módulo de contador 285 e um limite 290. Em algumas outras modalidades exemplares, o chip 140 pode incluir dados não criptografados na memória 280.
[025] O dispositivo de teste 205 pode referir-se a qualquer dispositivo de processamento eletrônico para uma ou mais estações de teste 120 mostradas na Figura 1. O dispositivo de teste 205 pode incluir instruções usadas para verificar a integridade do chip 140. Para fins de discussão, um dispositivo de teste 205 é mostrado como sendo comunicativamente conectado a um exemplo de item de fornecimento 210. No entanto, deve ser entendido que um dispositivo de teste 205 pode ser conectado a vários chips (140) por meio de um multiplexador ou outro item semelhante. O dispositivo de teste 205 pode incluir outros componentes que podem ser necessários para permitir que o dispositivo de teste 205 se comunique e verifique o conteúdo do chip 140, como um fornecedor de energia elétrica.
[026] O item de fornecimento 210 pode se referir ao hardware do dispositivo com o qual o chip 140 pode ser associado ou configurado para operar. Embora a
Figura 2 mostre o chip 140 como sendo configurado como parte do item de fornecimento 210, deve ser entendido que o chip 140 pode ser operado separadamente do item de fornecimento 210. Como tal, o chip 140 pode ser configurado para fazer parte do item de fornecimento 210, após a etapa de teste. Na presente revelação, o item de fornecimento 210 pode se referir a um componente substituível para instalação em um dispositivo de imagem (não mostrado). Por exemplo, o item de fornecimento 210 pode ser um cartucho de toner, uma unidade de imagem, um kit de substituição e semelhantes.
[027] O mecanismo de interface 220 pode ser qualquer interface de comunicação conhecida, permitindo que o dispositivo de teste 205 se comunique com o chip 140. Em uma modalidade exemplar, o mecanismo de interface 220 pode ser uma interface de comunicação mestre-escravo. Na presente revelação, o mecanismo de interface 220 segue o protocolo de circuito integrado ("I2C"). Em algumas outras modalidades exemplares, o mecanismo de interface 220 pode ser qualquer protocolo de comunicação de barramento conhecido, como Barramento de Gerenciamento de Sistema (SMB), barramento UNI/O ou outros protocolos usados em estruturas de barramento com configurações mestre/escravo. No contexto da Figura 2, o processador 225 e o chip 140 podem ser configurados como mestre e escravo, respectivamente. O mecanismo de interface 220 pode ser usado pelo processador 225 para enviar comandos e respostas a outros dispositivos conectados ao longo de um barramento de comunicação ou interface 222. O mecanismo de interface 220 pode permitir que uma pluralidade de chips 140 sejam conectados ao processador 225.
[028] O processador 225 pode ser geralmente configurado para controlar as comunicações enviadas ao longo do mecanismo de interface 220. O processador 225 também pode controlar o acesso à memória 230. O processador 225 pode incluir instruções associadas às configurações de definição do dispositivo de teste
205. Em algumas modalidades exemplares, o processador 225 pode incluir memória associada 230. O processador 225 pode processar comunicações recebidas por meio do mecanismo de interface 220.
[029] A memória 230 pode se referir a qualquer tipo de porção de armazenamento para armazenar instruções para testar o dispositivo 205. A memória 230 pode ser uma memória volátil, uma memória não volátil ou uma combinação de ambas. A memória 230 pode incluir um conjunto de parâmetros de configuração para testar o dispositivo 205. Os dados armazenados na memória 230 podem incluir um endereço do item de fornecimento 210, que pode ser transmitido ao longo do barramento de comunicações 222 e usado pelo processador 225 para se comunicar com o chip 140. Uma interface de usuário 207 pode ser integrada ou de outra forma conectada ao dispositivo de teste 205. A interface de usuário 207 pode ser usada para armazenar, acessar e/ou modificar dados na memória 230.
[030] Na presente revelação, os dados armazenados na memória 230 podem incluir módulo de leitura 250 e módulo de descriptografia 260 com chave 160. Módulo de leitura 250 pode incluir um conjunto de comandos de leitura predeterminados, incluindo instruções para ler a memória 280 do chip 140. Os comandos de leitura armazenados na memória 230 podem incluir um primeiro comando 252 e um segundo comando 254. O processador 225 pode enviar separadamente o primeiro comando 252 e o segundo comando 254 para fornecer o item 210 por meio do barramento de comunicações 222. Em uma modalidade exemplar, o primeiro comando 252 pode ser enviado para fornecer o item 210 antes do segundo comando 254. Em outra modalidade exemplar, o segundo comando 254 pode ser enviado para fornecer o item 210 antes do primeiro comando 252. Ainda em outra modalidade exemplar, o processador 225 pode primeiro enviar um comando de leitura para o item de fornecimento 210 e pode então esperar por uma resposta do item de fornecimento 210 antes de enviar outro comando de leitura.
[031] O primeiro comando 252 pode ser um conjunto de instruções para ler uma porção somente leitura da memória 280. Em um aspecto exemplar, a porção somente leitura da memória 280 pode ser uma área geral não volátil da memória
280. O segundo comando 254 pode ser um conjunto de instruções para ler uma porção de leitura-gravação da memória 280. Em um aspecto exemplar, a porção de leitura-gravação da memória 280 pode ser outra área não volátil da memória 280 separada da porção somente leitura. Na presente revelação, cada um dos primeiro e segundo comandos 252, 254 não é criptografado. No entanto, seu uso em cada chip 140 pode ser limitado a um número predeterminado de vezes.
[032] O módulo de descriptografia 260 e a chave 160 podem ser armazenados na memória 230 do dispositivo de teste 205. Na presente revelação, o módulo de descriptografia 260 e a chave 160 podem ser usados para descriptografar dados criptografados 150 armazenados na memória 280 do chip 140 lidos usando o comando 252 ou 254. O módulo de descriptografia 260 pode ser qualquer função de descriptografia conhecida na técnica. Em outras modalidades exemplares, o módulo de descriptografia 260 e a chave 160 podem ser parte de uma única funcionalidade de descriptografia armazenada na memória 230 do dispositivo de teste 205. Ainda em outras modalidades exemplares, pode haver vários dispositivos de teste 205 conectados a um servidor ao longo da área de produção (não mostrado). Nesta modalidade exemplar, o módulo de descriptografia 260 e a chave 160 podem ser armazenados no servidor para acesso por cada dispositivo de teste 205 em vez de em cada dispositivo de teste 205.
[033] Em algumas modalidades exemplares, a memória 280 do chip 140 pode armazenar dados criptografados 150 associados ao item de fornecimento 210. A fim de evitar ataques de espionagem casuais por outros dispositivos no fabricante 110, os dados 150 podem ser criptografados. Em outras modalidades exemplares, a memória 280 do chip 140 pode armazenar dados não criptografados associados ao item de fornecimento 210 e os dados podem ser criptografados com a chave 160 durante a leitura. O módulo contador 285 pode ser usado para armazenar um número de vezes que o dispositivo de teste 205 enviou o primeiro comando 252 e/ou o segundo comando 254 para fornecer o item 210 para acessar o conteúdo na memória 280. O módulo de contador 285 pode incluir um primeiro contador para um número de vezes que o primeiro comando 252 é enviado e um segundo contador para um número de vezes que o segundo comando 254 é enviado. Em uma modalidade exemplar, o módulo de contador 285 pode armazenar um número de vezes que os dados criptografados 150 foram acessados na memória 280 após o recebimento de um comando do dispositivo de teste 205. A memória 280 também pode ser usada para armazenar o limite 290 para comparação com o valor (isto é, o número de vezes de acesso) armazenado no módulo contador 285. O limite 290 pode ser um número predeterminado de vezes que os dados armazenados na memória 280 do chip 140 podem ser acessados pelo primeiro comando 252 e/ou segundo comando 254. Em uma modalidade exemplar, o limite 290 pode ser definido pelo proprietário 105. O limite 290 pode ser fornecido pelo proprietário 105 ao fabricante 110 na Figura 1, juntamente com dados criptografados 150 para programação no chip 140.
[034] Detalhes sobre como o dispositivo de teste 205 verifica a integridade do chip 140 antes do chip 140 ser enviado e produzido como parte do estado de teste (vide Figura 1) serão agora discutidos usando os seguintes fluxogramas exemplares.
[035] A Figura 3 é um fluxograma de um método exemplar 300 para enviar pelo menos um dos comandos 252, 254 para o chip 140 do item de fornecimento 210, de acordo com uma modalidade exemplar. Ações nos blocos 305-350 podem ser realizadas testando o dispositivo 205 da Figura 2. Os destinatários das ações realizadas nos blocos 305-350 podem referir-se aos componentes mostrados na
Figura 2. O método exemplar 300 também pode determinar se o chip 140 está ou não programado corretamente com base nas respostas aos comandos enviados pelo dispositivo de teste 205.
[036] No bloco 305, o dispositivo de teste 205 pode determinar se o item de fornecimento 210 está pronto para receber dados. Em uma modalidade exemplar, o dispositivo de teste 205 pode determinar um status do item de fornecimento 210 ao longo da interface de comunicação 222. Em um aspecto exemplar, o dispositivo de teste 205 pode determinar um endereço do item de fornecimento 210 ao longo da interface de comunicações 222 a fim de determinar o seu status. Em outro aspecto exemplar, o dispositivo de teste 205 pode enviar uma consulta para fornecer o item 210 em relação a um estado do mesmo. Em outras modalidades exemplares, o bloco 305 pode ser opcional.
[037] No bloco 310, após uma determinação de que o status do item de fornecimento 210 indica disponibilidade do item de fornecimento 210 para aceitar dados do dispositivo de teste 205, o dispositivo de teste 205 pode enviar pelo menos um do primeiro comando 252 e segundo comando 254 para fornecer o item 210. Um dos comandos 252 e 254 pode ser recebido no item de fornecimento 210. Em uma modalidade exemplar, antes de realizar o bloco 310, o dispositivo de teste 205 pode determinar qual do primeiro comando 252 e do segundo comando 254 enviar para fornecer o item 210 primeiro e, em particular, para o chip 140.
[038] Em uma modalidade exemplar, os comandos 252 e 254 podem ser enviados individualmente para fornecer o item 210. O primeiro comando 252 pode ser enviado para fornecer o item 210 antes do segundo comando 254 ou vice-versa. Em outra modalidade exemplar, os comandos 252 e 254 podem ser enviados como um único pacote de comando para fornecer o item 210.
[039] No bloco 315, o dispositivo de teste 205 pode receber uma resposta do item de fornecimento 210 com base em um dos comandos 252, 254 enviados no bloco 310. Uma resposta do item de fornecimento 210 para cada comando enviado pelo dispositivo de teste 205 será detalhada na Figura 4 abaixo. A resposta pode incluir um endereço ou região na memória 280 armazenando dados criptografados
150. Em uma modalidade exemplar, o dispositivo de teste 205 pode ter acesso permitido pelo item de fornecimento 210 à memória 280. Em outra modalidade exemplar, cada comando enviado no bloco 310 pode ser ignorado pelo item de fornecimento 210 e o dispositivo de teste 205 pode ser impedido de acessar a memória 280 do item de fornecimento 210. Ainda em outras modalidades exemplares, o item de fornecimento 210 pode responder com um erro quando o limite de comando é atingido.
[040] No bloco 320, o dispositivo de teste 205 pode determinar se a resposta do item de fornecimento 210 ao comando enviado no bloco 310 indica que o item de fornecimento 210 permitirá o acesso do dispositivo 205 ao conteúdo da memória 280 do chip 140. Em uma modalidade exemplar, a resposta do item de fornecimento 210 ao comando pode incluir dados criptografados 150. Em outras modalidades exemplares, o item de fornecimento 210 pode não responder ao comando enviado pelo dispositivo de teste 205 no bloco 310, de modo que o dispositivo de teste 205 pode não receber qualquer resposta. Ainda em outras modalidades exemplares, uma resposta do item de fornecimento 210 pode indicar que o dispositivo de teste 205 não tem permissão para acessar a memória 280 do chip 140.
[041] No bloco 325, onde nenhuma resposta é recebida no bloco 320 ou onde o dispositivo de teste 205 não é permitido pelo acesso do item de fornecimento 210 à memória 280, o dispositivo de teste 205 pode pular o item de fornecimento de teste 205.
[042] No bloco 330, o dispositivo de teste 205 pode descriptografar dados criptografados 150 armazenados na memória 280. Em um exemplo de modalidade, o dispositivo de teste 205 pode descriptografar dados criptografados 150 usando o módulo de descriptografia 260 e a chave 160 armazenada na memória 230. Em um exemplo de aspecto, o dispositivo de teste 205 pode armazenar dados temporariamente na memória 230 do dispositivo de teste 205 ao descriptografar dados criptografados 150, de modo que nenhum dado seja exibido ou registrado na memória 230 após a descriptografia. Em outras modalidades exemplares, o módulo de descriptografia 260 e a chave 160 podem ser fornecidos por um servidor (não mostrado) para testar o dispositivo 205. Outros métodos para descriptografar dados criptografados podem ser conhecidos na técnica.
[043] No bloco 335, o dispositivo de teste 205 pode determinar uma resposta esperada. A resposta esperada pode incluir verificar se o dispositivo de teste 205 tem a identidade e o número de série adequados. Em uma modalidade exemplar, a resposta esperada pode ser armazenada na memória 230 do dispositivo de teste
205.
[044] No bloco 340, o dispositivo de teste 205 pode então determinar se a resposta descriptografada (bloco 330) corresponde à resposta esperada (bloco 335). No bloco 345, o dispositivo de teste 205 pode determinar que o chip 140 está programado corretamente para o item de abastecimento 210, quando ambas as respostas correspondem. Quando o chip 140 está determinado a ser programado corretamente, o dispositivo de teste 205 pode identificar o item de fornecimento 210 como pronto para envio aos usuários finais. Caso contrário, no bloco 350, após uma determinação pelo dispositivo de teste 205 de que os dados na resposta esperada e a resposta recebida não correspondem, o dispositivo de teste 205 pode identificar o item de fornecimento 210 como sendo programado incorretamente. Para esse fim, o dispositivo de teste 205 pode marcar o chip 140 no item de fornecimento 210 como um defeito.
[045] A Figura 4 é um fluxograma de um método exemplar 400 para atualizar o acesso ao item de fornecimento 210, de acordo com uma modalidade exemplar.
Ações nos blocos 405-430 podem ser realizadas pelo chip 140 no item de fornecimento 210. Método exemplar 400 pode ser realizado em conjunto com o método exemplar 300 da Figura 3.
[046] No bloco 405, o chip 140 pode receber um comando do dispositivo de teste 205 (bloco 310 na Figura 3). O comando pode ser um do primeiro comando 252 e do segundo comando 254. Conforme discutido acima, o comando 252 ou 254 pode incluir um identificador do item de fornecimento 210 ou chip 140. Em um exemplo de modalidade, o comando 252 ou 254 pode incluir uma região de deslocamento de memória onde os dados criptografados 150 podem ser armazenados.
[047] No bloco 410, o chip 140 pode determinar um número de vezes que o comando é recebido no item de fornecimento 210. O chip 140 pode referir-se ao módulo contador 285 para determinar o número de vezes. O módulo contador 285 pode incrementar o número de vezes cada vez que um comando de leitura (primeiro comando 252 e segundo comando 254) é recebido do dispositivo de teste 205. Embora não mostrado, os comandos 252 e 254 podem ter, cada um, sua própria contagem de um número de vezes que cada um é recebido no chip 140. Como discutido acima, o módulo contador 285 pode ser usado para armazenar uma primeira contagem para um número de vezes que o primeiro comando 252 é recebido pelo chip 140 e uma segunda contagem para um número de vezes que o segundo comando 254 é recebido.
[048] No bloco 415, o chip 140 pode determinar se o número de vezes determinado no bloco 410 (para o primeiro comando 252 ou para o comando de leitura 254) atingiu o limite predeterminado 290. O limite 290 pode ser um valor numérico predeterminado indicando um número de vezes que o chip 140 no item de fornecimento 210 pode ser acessado testando o dispositivo 205 antes de desativar o acesso ao dispositivo de teste 205. Em algumas modalidades exemplares, o limite
290 pode ser definido para 3 vezes.
[049] Em um exemplo de modalidade, o limite 290 pode ser usado para habilitar e desabilitar o acesso do dispositivo de teste 205 aos dados criptografados 150 na memória 280 do item de fornecimento 210. Uma variável de status de acesso de leitura pode ser definida no item de fornecimento 210 para rastrear se qualquer dispositivo de teste 205 tem acesso ao conteúdo na memória 280. Por exemplo, o status de acesso de leitura pode ser definido como "ativado" quando o número de vezes que os dados criptografados 150 são acessados não atingiu o limite 290. Caso contrário, o status de acesso de leitura pode ser definido como "desativado" quando o número de vezes que os dados criptografados 150 são acessados atingiu ou ultrapassou o limite 290.
[050] No bloco 420, após uma determinação pelo chip 140 de que a contagem do número de vezes que o comando é recebido atingiu o limite predeterminado 290, o chip 140 pode desativar o dispositivo de teste 205 de acessar a memória 280. Em uma modalidade exemplar, o chip 140 pode notificar o processador 280 para bloquear o dispositivo de teste 205 do chip de leitura 140. Em outras modalidades exemplares, o chip 140 pode ser programado para receber, mas ignorar comandos de leitura do dispositivo de teste 205 quando o limite 290 tiver sido atingido.
[051] No bloco 425, mediante uma determinação pelo chip 140, de que a contagem do número de vezes que o comando é recebido está abaixo do limite predeterminado 290, o chip 140 pode permitir que o dispositivo de teste 205 acesse a memória 280 e leia os dados criptografados 150.
[052] No bloco 430, após responder ao comando recebido do dispositivo de teste 205, o chip 140 pode notificar o dispositivo de teste 205 da resposta sendo feita. Em uma modalidade exemplar, o chip 140 pode incluir instruções para notificar o dispositivo de teste 205 de que o acesso ao chip 140 foi bloqueado após uma determinação de que o limite 290 foi atingido (bloco 420). Em outra modalidade exemplar, o chip 140 pode incluir instruções para notificar o dispositivo de teste 205 de que o dispositivo de teste 205 tem acesso à memória 280 no chip 140 após uma determinação de que o número de vezes não atingiu o valor indicado no limite 290 (bloco 425). Em algumas modalidades exemplares, os dados criptografados 150 podem ser incluídos ou retornados na resposta. Esta notificação do chip 140 pode ser recebida testando o dispositivo 205 na forma de uma resposta de comando no bloco 315 (Figura 3). Em outras modalidades exemplares, o bloco 430 pode ser opcional.
[053] Será apreciado que as ações descritas e mostradas nos fluxogramas exemplares podem ser realizadas ou obtidas em qualquer ordem adequada. Também será apreciado que nem todas as ações descritas nas Figuras 3 e 4 precisam ser realizadas de acordo com as modalidades exemplares e/ou ações adicionais podem ser realizadas de acordo com outras modalidades exemplares.
[054] Muitas modificações e outras modalidades da revelação estabelecidas no presente documento virão à mente de um versado na técnica à qual esta revelação se refere, tendo o benefício dos ensinamentos apresentados nas descrições anteriores e nos desenhos associados. Portanto, deve ser entendido que a revelação não deve ser limitada às modalidades exemplares específicas divulgadas e que as modificações e outras modalidades se destinam a ser incluídas dentro do escopo das reivindicações anexas. Embora termos específicos sejam empregados no presente documento, eles são usados em um sentido genérico e descritivo apenas e não para fins de limitação.
FORMAS DE REALIZAÇÃO ADICIONAIS
[055] Na seção seguinte, modalidades adicionais da presente invenção são descritas. Nas modalidades adicionais, um exemplo de circuito de componente para um item de fornecimento incluindo um exemplo de método para restringir o acesso de leitura ao conteúdo nos circuitos de componente é revelado. No método, um comando para ler dados armazenados em uma porção não volátil de uma memória do item de fornecimento é recebido e dependendo se o número de vezes que o comando foi recebido exceder um limite predeterminado, processando o comando. O circuito do componente tem uma memória não volátil e um processador, após o que os dados criptografados podem ser lidos da memória não volátil se o número de vezes que o comando é recebido pelo processador não atingiu um limite predeterminado.
[056] Na primeira modalidade adicional, é divulgado um método para restringir o acesso ao conteúdo do chip do item de fornecimento, o método compreendendo: receber, a partir de um dispositivo de processamento conectado eletricamente a um item de fornecimento, um comando para ler dados armazenados em uma porção não volátil de uma memória do item de fornecimento; determinar um número de vezes que o comando é recebido pelo item de fornecimento; identificar se o número de vezes excede um limite predeterminado; e após uma determinação negativa, o processamento do comando, em que, após a determinação de que o número de vezes excede o limite predeterminado, o item de fornecimento bloqueia a leitura dos dados.
[057] Uma segunda modalidade que emprega o método da primeira modalidade é divulgada, em que os dados armazenados na porção não volátil da memória do item de fornecimento são dados criptografados.
[058] Uma terceira modalidade que emprega o método da primeira modalidade é divulgada, compreendendo ainda a solicitação de autenticação do dispositivo de processamento antes de processar o comando após a determinação de que o número de vezes excede o limite predeterminado.
[059] É revelada uma quarta modalidade que emprega o método da primeira modalidade, em que o recebimento do comando do dispositivo de processamento é realizado sem que o item de fornecimento execute uma autenticação no dispositivo de processamento.
[060] É revelada uma quinta modalidade empregando o método da primeira modalidade, em que a determinação do número de vezes inclui incrementar um valor do número de vezes após receber o comando e usar o valor incrementado para identificar se o número de vezes excede o limite predeterminado .
[061] Uma sexta modalidade que emprega o método da primeira modalidade é divulgada, em que o limite predeterminado é armazenado em uma porção de armazenamento legível por computador não transitória do item de fornecimento.
[062] É revelada uma sétima modalidade empregando o método da primeira modalidade é divulgada, em que o dispositivo de processamento é um dispositivo de teste de um fabricante do item de fornecimento.
[063] Em uma oitava modalidade é revelado o circuito de componente para um dispositivo de imagem compreendendo: uma memória não volátil para armazenar dados criptografados associados a um item de fornecimento com o qual o circuito de componente está configurado; e um processador conectado à memória, em que, quando o processador recebe um comando para ler os dados criptografados de um dispositivo eletrônico conectado aos circuitos do componente, o processador determina se um número de vezes que o comando é recebido pelo processador atingiu um limite predeterminado, em que o processador executa o comando e permite que o dispositivo eletrônico leia os dados criptografados após a determinação de que o número de vezes está abaixo do limite predeterminado e, em que, o processador bloqueia o dispositivo eletrônico de executar o comando e ler os dados criptografados após a determinação de que o número de vezes atingiu o limite predeterminado.
[064] É revelada uma nona modalidade empregando os circuitos de componente da oitava modalidade, compreendendo ainda um mecanismo de interface que permite ao processador enviar comunicações com o dispositivo eletrônico.
[065] É revelada uma décima modalidade empregando os circuitos de componente da oitava modalidade, em que o processador permite que o dispositivo eletrônico leia os dados criptografados na memória sem autenticação após a determinação de que o número de vezes está abaixo do limite predeterminado.
[066] O documento revela uma décima primeira modalidade que emprega os circuitos de componente da oitava modalidade, em que o processador exige que o dispositivo eletrônico envie uma autenticação e se envolva em uma concordância de chave de sessão com o processador quando o processador determina que o número de vezes atingiu o limite predeterminado.
[067] É revelada uma décima segunda modalidade empregando os circuitos de componente da oitava modalidade, em que a memória ainda armazena um valor de contador para rastrear um número de vezes que o processador recebe o comando do dispositivo eletrônico e o limite predeterminado para comparação com o valor do contador.
[068] O documento revela uma décima terceira modalidade empregando os circuitos de componente da oitava modalidade, em que o dispositivo eletrônico inclui um módulo de descriptografia e uma chave para descriptografar os dados criptografados na memória não volátil.
[069] É revelada uma décima quarta modalidade empregando os circuitos de componentes da oitava modalidade, em que o dispositivo eletrônico conectado aos circuitos de componentes é um dispositivo de teste usado na fabricação para armazenar um ou mais comandos de leitura, um ou mais comandos de leitura para verificar a integridade dos dados armazenados no circuito do componente.
[070] É revelada uma décima quinta modalidade empregando os circuitos de componente da décima quarta modalidade, em que o dispositivo eletrônico é usado para determinar se os dados criptografados estão programados corretamente, com base em uma resposta do processador a um ou mais comandos de leitura.

Claims (5)

REIVINDICAÇÕES
1. Método para proteger dados em um chip de fornecimento, CARACTERIZADO pelo fato de que compreende: receber, pelo chip de fornecimento, um comando de leitura de um dispositivo de teste; ao receber o comando de leitura, identificar um status de processamento do comando de leitura; determinar se o status é desabilitado e habilitado; após a determinação de que o status está desabilitado, bloqueio do dispositivo de teste de acessar dados criptografados armazenados no chip de fornecimento; e após a determinação de que o status está habilitado, permitindo que o dispositivo de teste acesse os dados criptografados armazenados no chip de fornecimento.
2. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende ainda, rastrear uma série de vezes que os dados criptografados armazenados no chip de fornecimento são acessados e determinar se para desativar e ativar o status de processamento do comando de leitura no dispositivo eletrônico, em que a determinação tem como base o número de vezes atingir ou não um limite predeterminado.
3. Método de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que o status é desabilitado quando o número de vezes atinge o limite predeterminado e em que o status é habilitado quando o número de vezes está abaixo do limite predeterminado.
4. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que os dados criptografados são armazenados em uma memória não volátil do chip de fornecimento.
5. Método de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o chip de fornecimento permite que o dispositivo de teste envie um comando ao mesmo sem exigir que o dispositivo de teste autentique.
BR112020020673-3A 2018-04-16 2019-04-16 Métodos para restringir o acesso a leitura de chips de fornecimento BR112020020673A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862658552P 2018-04-16 2018-04-16
US62/658,552 2018-04-16
US16/384,564 US10990300B2 (en) 2018-04-16 2019-04-15 Methods for restricting read access to supply chips
US16/384,580 2019-04-15
US16/384,580 US20190339884A1 (en) 2018-04-16 2019-04-15 Supply Chips and Methods for Restricting Read Access Thereof
US16/384,564 2019-04-15
PCT/US2019/027709 WO2019204327A1 (en) 2018-04-16 2019-04-16 Methods for restricting read access to supply chips

Publications (1)

Publication Number Publication Date
BR112020020673A2 true BR112020020673A2 (pt) 2021-01-12

Family

ID=68383920

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020020673-3A BR112020020673A2 (pt) 2018-04-16 2019-04-16 Métodos para restringir o acesso a leitura de chips de fornecimento

Country Status (6)

Country Link
US (5) US20190339884A1 (pt)
EP (2) EP4362024A2 (pt)
AU (1) AU2019255638B2 (pt)
BR (1) BR112020020673A2 (pt)
CA (1) CA3096257A1 (pt)
MX (1) MX2020010359A (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190339884A1 (en) * 2018-04-16 2019-11-07 Lexmark International, Inc. Supply Chips and Methods for Restricting Read Access Thereof
CN113742202A (zh) * 2020-05-29 2021-12-03 上海商汤智能科技有限公司 Ai芯片验证系统、方法、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038443A1 (en) * 2009-09-29 2011-04-07 Silverbrook Research Pty Ltd Communication system, method and device with limited encryption key retrieval
US20190339884A1 (en) * 2018-04-16 2019-11-07 Lexmark International, Inc. Supply Chips and Methods for Restricting Read Access Thereof

Also Published As

Publication number Publication date
MX2020010359A (es) 2020-12-03
EP3781957B1 (en) 2024-03-20
CA3096257A1 (en) 2019-10-24
EP3781957A1 (en) 2021-02-24
US20190339884A1 (en) 2019-11-07
EP4362024A2 (en) 2024-05-01
US10990300B2 (en) 2021-04-27
US20190340372A1 (en) 2019-11-07
AU2019255638A1 (en) 2020-10-29
AU2019255638B2 (en) 2024-03-28
CN112005123A (zh) 2020-11-27
US20240094925A1 (en) 2024-03-21
US20230069877A1 (en) 2023-03-09
US20210208797A1 (en) 2021-07-08
US11531477B2 (en) 2022-12-20

Similar Documents

Publication Publication Date Title
US11843705B2 (en) Dynamic certificate management as part of a distributed authentication system
US11809544B2 (en) Remote attestation for multi-core processor
US9389793B2 (en) Trusted execution and access protection for embedded memory
CN110457236B (zh) 存储系统以及对存储系统执行和验证写保护的方法
US11200189B2 (en) Baseboard management controller-based security operations for hot plug capable devices
US9530027B2 (en) Device lock for transit
US20130254906A1 (en) Hardware and Software Association and Authentication
US20240094925A1 (en) Methods for restricting read access to supply chips
US20160034683A1 (en) Memory card and storage system having authentication program and method for operating thereof
CN112042151A (zh) 使用单调计数器的机密密钥的安全分发
CN105046142B (zh) 一种认证外围设备的方法、设备和存储介质
EP3631667B1 (en) Flash recovery mode
CN106384042B (zh) 一种电子设备以及安全系统
US11003801B2 (en) Functional device and control apparatus
CN107408191A (zh) 具有适配器安全机制的自动化制造系统及其制造方法
WO2016058306A1 (zh) 一种光模块认证的方法及装置
CN107644173B (zh) 用于控制应用程序访问存储器的方法和装置
US20070260890A1 (en) Securing leased resources on a computer
BR112016019052B1 (pt) Método para autorizar um dispositivo por meio de uma mensagem e segundo dispositivo para autorizar um dispositivo por meio de uma mensagem
CN116821020A (zh) Bmc控制器、信息安全系统以及信息交互方法
US20230010319A1 (en) Deriving independent symmetric encryption keys based upon a type of secure boot using a security processor
CN112005123B (zh) 用于限制对供给芯片的读取访问的方法
WO2019204327A1 (en) Methods for restricting read access to supply chips
US20230015334A1 (en) Deriving dependent symmetric encryption keys based upon a type of secure boot using a security processor
US10936459B2 (en) Flexible microcontroller support for device testing and manufacturing

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06W Patent application suspended after preliminary examination (for patents with searches from other patent authorities) chapter 6.23 patent gazette]