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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0623—Securing storage systems in relation to content
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31719—Security aspects, e.g. preventing unauthorised access during test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/54—Arrangements for designing test circuits, e.g. design for test [DFT] tools
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56016—Apparatus features
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0403—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal 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.
[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)
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.
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)
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)
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 |
-
2019
- 2019-04-15 US US16/384,580 patent/US20190339884A1/en not_active Abandoned
- 2019-04-15 US US16/384,564 patent/US10990300B2/en active Active
- 2019-04-16 CA CA3096257A patent/CA3096257A1/en active Pending
- 2019-04-16 EP EP24164272.7A patent/EP4362024A2/en active Pending
- 2019-04-16 BR BR112020020673-3A patent/BR112020020673A2/pt unknown
- 2019-04-16 AU AU2019255638A patent/AU2019255638B2/en active Active
- 2019-04-16 MX MX2020010359A patent/MX2020010359A/es unknown
- 2019-04-16 EP EP19789107.0A patent/EP3781957B1/en active Active
-
2021
- 2021-03-19 US US17/206,564 patent/US11531477B2/en active Active
-
2022
- 2022-11-15 US US17/987,345 patent/US20230069877A1/en not_active Abandoned
-
2023
- 2023-11-27 US US18/519,587 patent/US20240094925A1/en active Pending
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] |