BRPI0809281A2 - ''sistema de atualização de componente confiável e método de atualização de componente confiável'' - Google Patents

''sistema de atualização de componente confiável e método de atualização de componente confiável'' Download PDF

Info

Publication number
BRPI0809281A2
BRPI0809281A2 BRPI0809281-8A BRPI0809281A BRPI0809281A2 BR PI0809281 A2 BRPI0809281 A2 BR PI0809281A2 BR PI0809281 A BRPI0809281 A BR PI0809281A BR PI0809281 A2 BRPI0809281 A2 BR PI0809281A2
Authority
BR
Brazil
Prior art keywords
update
logic
memory
verification
integrity
Prior art date
Application number
BRPI0809281-8A
Other languages
English (en)
Inventor
Boris Balacheff
Valiuddin Y Ali
Lan Wang
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of BRPI0809281A2 publication Critical patent/BRPI0809281A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Description

I "SISTEMA DE ATUALIZAÇÃO DE COMPONENTE CONFIÁVEL E MÉTODO DE ATUALIZAÇÃO DE COMPONENTE CONFIÁVEL".
Antecedentes
Os fabricantes de computadores geralmente necessitam um 5 modo para atualizar os conteúdos de um componente confiável, tal como uma memória flash de sistema básico de entrada/saida (BIOS), para reparar bugs e/ou fornecer novas capacidades. Entretanto, permitir a memória flash do BIOS ou outro componente confiável ser modificado 10 - torna o componente confiável suscetível à corrupção por lógica maliciosa ou não autorizada.
Descrição resumida dos desenhos
Para uma compreensão mais completa do presente pedido de patente, dos objetivos e vantagens da mesma, referência é feita agora às descrições seguintes tomadas em conjunção com os desenhos anexos, nos quais:
A figura 1 é um diagrama ilustrando uma configuração de um sistema de atualização de componente confiável; e A figura 2 é um diagrama ilustrando uma configuração de um método de atualização de componente confiável. Descrição detalhada dos desenhos
A figura 1 é um diagrama ilustrando uma configuração de um sistema de atualização de componente confiável 10. O sistema de atualização 10 permite um componente confiável 25 verificar que uma atualização proposta para o componente confiável é fornecida por uma fonte que tenha sido identificada previamente como uma fonte confiável e que a atualização proposta do componente confiável não tenha sido adulterada. Na configuração ilustrada na figura 1, o 30 sistema de atualização 10 compreende um sistema de computação 121 tendo um componente confiável 90, uma unidade de processamento central (CPU) 120 e memória de sistema HO. Na figura 1, o componente confiável 90 compreende uma memória de firmware [programa residente de 35 inicialização] 100 tal como uma memória flash de firmware. O sistema de computação 121 pode compreender um computador notebook, um computador desktop, um servidor, um dispositivo para jogos, um dispositivo de áudio, um dispositivo de video, ou qualquer tipo de dispositivo compreendendo um componente confiável. Na figura 1, a memória de firmware 100 provê funções de boot para o 5 sistema de computação 121 quando o sistema de computação 121 é pela primeira vez energizado, reiniciado e/ou religado. Por exemplo, a memória de firmware 100 pode inicializar a configuração da CPU 120 antes de um instante quando a CPU 120 começa a executar instruções, 10 tais como permitindo e/ou desabilitando certas capacidades da CPU 120 e definindo uma taxa de ciclo ["clock"] na CPU 120.
Na configuração ilustrada na figura 1, o sistema de computação 121 compreende duas seções de memória que são separadas por "confiança" e geralmente residem em componentes fabricados separadamente. Por exemplo, em algumas configurações, a memória de firmware 100 é uma memória flash compreendendo um bloco de boot de memória confiável 102 (p.ex., para prover funções de boot para o sistema de computação 121 quando o sistema de computação 121 é pela primeira vez energizado, reiniciado e/ou religado), enquanto a memória 110 pode não compreender memória confiável e/ou pode compreender uma memória não de firmware. Entretanto, deve ser entendido que uma memória confiável também pode residir em um local outro que a memória de firmware 100. Como usado aqui, "confiança" ou "confiável" significa a expectativa de operação consistente dentro de um conjunto pré-definido de regras que são impostas por hardware e/ou software de computação, tal como a definição de "confiança" como registrada na TCG Specification Architecture Overview Specification [Especificação de visão geral de arquitetura da especificação], Revisão 1.2 (Trusted Computing Group [Grupo de Computação Confiável], 2004). Por exemplo, garantir que os conteúdos de uma certa seção de memória no sistema de computação 121, tal como o bloco de boot 102 de memória firmware 100, contenha somente informações produzidas por uma fonte identificada anteriormente, definida como uma fonte confiável, habilita a confiança daquela certa seção de componente do sistema.
A memória de firmware 100 é acoplada à CPU 120 para executar operações de boot e a memória 110 para Ier dados usados pela memória de firmware 100. Na configuração ilustrada na figura 1, a memória de firmware 100 compreende memória flash, não volátil. Em algumas 10 configurações, a memória de firmware 100 compreende um sistema básico de entrada/saída (BIOS). Em algumas configurações, a memória de firmware 100 compreende uma Interface de Firmware Extensível (EFI) ou uma EFI Uniforme (UEFI). Entretanto, deve ser entendido que a 15 memória de firmware 100 pode compreender qualquer sistema provendo funcionalidade de boot para um sistema de computação. A memória 110 pode compreender memória volátil, memória não volátil e armazenagem permanente, tal como um acionador de mídia digital (DMD). Na 20 configuração ilustrada na figura 1, o sistema de computação 121 é mostrado como compreendendo uma única CPU 120, embora deva ser entendido que uma quantidade maior de CPUs podem ser usadas.
Na configuração ilustrada na figura 1, a memória de firmware 100 compreende o bloco de boot 102. O bloco de boot 102 é geralmente a lógica inicial executada na memória de firmware 100 quando o sistema de computação 121 é primeiro energizado, reiniciado e/ou religado. 0 bloco de boot 102 é uma lógica confiável porque o bloco de boot 102 é travado dentro da memória de firmware 100 e é protegida de atualização durante operação normal do sistema de computação 121 (isto é, o bloco de boot 102 é atualizado por métodos confiáveis a partir de uma fonte confiável que pode ser validada, por exemplo, por métodos criptográficos).
Sistemas confiáveis e métodos confiáveis são sistemas e métodos tendo um nível suficiente de segurança para impedir mudanças não autorizadas para os conteúdos da memória confiável. Por exemplo, os sistemas confiáveis e os métodos confiáveis podem usar métodos fortes de segurança, tais como algoritmos criptográficos incluindo 5 RSA Verify, Criptografia de Curva Elíptica (ECC), Algoritmo de Assinatura Digital (DAS), o Algoritmo de Combinação Segura I (SHA-I) e SHA-2 para garantir que uma fonte confiável produziu um certo arquivo digital e/ou que o arquivo digital não foi alterado ou adulterado 10 desde que a fonte confiável o produziu. Sistemas confiáveis e métodos confiáveis garantem que o arquivo digital pode ser confiável antes de usar o arquivo digital para modificar a memória confiável. Desta maneira, lógica que não é autorizada pela fonte 15 confiável, bem como vírus, podem ser mentidos fora da memória confiável, apesar da memória confiável ser modificável.
Na configuração ilustrada na figura 1, o bloco de boot 102 compreende lógica de inicialização 103, lógica de 20 combinação 104, um valor de combinação 105, instruções de boot 106 e lógica de atualização 114. A lógica de inicialização 103 compreende lógica, dados e instruções que são processadas e/ou executadas dentro do bloco de boot 102 da memória de firmware 100. Geralmente, quando a 25 memória de firmware 100 completa o processamento das instruções encontradas nela e/ou referenciadas pelo bloco de boot 102, a memória de firmware 100 pode executar quaisquer outros procedimentos de boot antes de transferir o controle do sistema de computação 121 para 30 um sistema operacional. A lógica de atualização 114 compreende instruções executáveis para sobrescrever seções da memória de firmware 100, tal como o bloco de boot 102.
A lógica de combinação 104 é executada para verificar a integridade de um arquivo digital executando uma função de combinação, a qual é uma operação matemática produzindo um valor de combinação como um resultado. Em algumas configurações, a lógica de combinação 104 compreende o algoritmo SHA-I, embora outras funções de combinação possam ser usadas alternativamente ou em adição. O valor de combinação 105 é um valor de validação 5 de integridade computado, o qual é um número usado para validar que um arquivo digital (p.ex., um programa executável de computador) não foi adulterado. Em operação, a lógica de combinação 104 é executada em um arquivo digital para calcular um valor de combinação que 10 é comparado com um valor de combinação 105 armazenado na memória de firmware 100. Assim, se o valor de combinação calculado corresponder a e/ou de outra forma combinar com o valor de combinação 105, o arquivo digital é considerado confiável. A lógica de combinação 104 e o 15 valor de combinação 105 são armazenados no bloco de boot 102, o qual reside na memória de firmware 100. Em algumas configurações, a lógica de combinação 104 e o valor de combinação 105 são colocados inicialmente no bloco de boot 102 quando o sistema de computação 121 é fabricado, 20 reformado, atualizado ou reparado. Assim, o sistema de atualização 10 é capaz de estender confiança do bloco de boot 102 para arquivos digitais armazenados fora da memória de firmware 100, criando assim uma cadeia de confiança.
Na configuração ilustrada na figura 1, a memória 110 compreende lógica de verificação 111 e uma atualização assinada 112. A atualização assinada 112 compreende uma atualização para o componente confiável 90, tal como uma atualização para o bloco de boot 102, proposta por um 30 parceiro confiável, tal como o fabricante do sistema de computação 121. Por exemplo, a atualização assinada 112 pode compreender um reparo de bug representado em dados de atualização 116. A lógica de verificação 111 compreende lógica, instruções e dados, incluindo dados de 35 verificação de assinatura 113, para verificar que a atualização assinada 112 foi produzida por uma fonte confiável, tal como o fabricante do sistema de computação 121 ou um administrador de rede de computadores, e adicionalmente que a atualização assinada 112 não foi adulterada desde quando foi produzida. Cada uma de a lógica de combinação 104 e a lógica de verificação 111 5 compreende meios para verificação de confiança. Entretanto, a lógica de verificação 111 pode ser confiável, apesar de armazenada fora da memória de firmware confiável 100, porque a lógica de combinação 104 permite a memória de firmware 100 estender confiança da 10 memória de firmware 100 para a lógica de verificação 111. Os dados de verificação de assinatura 113 são usados para verificação de integridade (p.ex., garantir nenhuma adulteração) e verificação de origem (p.ex., garantir que a fonte confiável identificada anteriormente é o 15 fabricante) permitindo a lógica de verificação 111 calcular independentemente certas porções de uma assinatura digital 115 na atualização assinada 112. Na configuração ilustrada na figura 1, a lógica de verificação 111 é disposta em e/ou pode ser executada a 20 partir de a memória de sistema 110. Entretanto, deve ser entendido que em algumas configurações, a lógica de verificação 110 pode residir em e ser executada a partir de a memória de firmware 100.
Em algumas configurações, a assinatura digital 115 compreende uma seqüência alfanumérica ligada à atualização assinada 112 pelo autor da atualização assinada 112, a qual identifica unicamente o autor e também fornece uma base para garantir a integridade de arquivo com um algoritmo de combinação. Os dados de verificação de assinatura 113 são dados usados pela lógica de verificação 111 para executar cálculos independentes usando a assinatura digital 115 e outras porções da atualização assinada 112. Por exemplo, em algumas configurações, os dados de verificação de assinatura 113 compreendem uma combinação de dados de atualização 116 assinados e/ou criptografados por uma chave privada do parceiro confiável. A lógica de verificação 111 combina pelo menos uma porção da atualização assinada 112, por exemplo os dados de atualização 116, descriptografa a assinatura digital 115, e determina se a combinação de dados de atualização 116 5 corresponde à assinatura digital descriptografada 115. Se os dois valores corresponderem, a atualização assinada 112 é considerada a ser uma réplica verificada de um arquivo autorizado pelo parceiro confiável que não foi adulterada desde quando foi produzida. Em algumas 10 configurações, a lógica de verificação 111 compreende RSA Verify, que é um algoritmo adequado para verificação de assinatura digital.
Os dados de atualização 116 compreendem informações a serem usadas para modificar os conteúdos da memória de 15 firmware 100, tal como os conteúdos do bloco de boot 102, lógica de combinação 104, valor de combinação 105 e instruções de boot 106. Em algumas configurações, a atualização assinada 112 pode adicionalmente ou alternativamente compreender informações de modificação 20 para a lógica de verificação 111. Em algumas configurações, a atualização assinada 112 compreende um programa de remendo executável capaz de modificar os conteúdos do bloco de boot 102 sem usar a lógica de atualização 114.
Em algumas configurações de operação do sistema de atualização 10, um fabricante do sistema de computação 121 ou outra entidade gera lógica de verificação 111 com dados de verificação de assinatura 113 que identificam unicamente a entidade como uma fonte confiável para 30 atualizações futuras para a memória de firmware 100. A entidade combina toda ou uma porção da lógica de verificação 111 com uma duplicata da lógica de combinação 104 para calcular o valor de combinação 105. A lógica de combinação 104, valor de combinação 105 e instruções de 35 boot 106 são armazenadas no bloco de boot 102 dentro da memória de firmware 100, e a lógica de verificação 111 é armazenada na memória HO. Em algumas configurações, cada vez que o sistema de computação 121 passa por boot, as instruções de boot procuram por uma indicação que uma atualização, tal como a atualização assinada 112, está disponível e/ou esperando (p.ex., esperando na memória 5 110, num disco rígido ou outro meio de armazenagem) para ser usada para modificar os conteúdos da memória de firmware 100. Por exemplo, durante um uso anterior do sistema de computação 121, a entidade pode ter enviado uma mensagem eletrônica através de uma rede de 10 computadores colocando a atualização assinada 112 na memória 110.
Se a atualização assinada 112 é encontrada, a lógica de combinação 104 valida a integridade da lógica de verificação 111 combinando toda ou uma porção da lógica 15 de verificação 111 e compara o resultado da combinação com o valor de combinação 105 para garantir que a lógica de verificação 111 não tenha sido adulterada. Se a lógica de verificação 111 for válida (isto é, for considerada a não ter sido alterada baseado no valor de combinação da 20 lógica de verificação 111 corresponder ao valor de combinação 105) , o bloco de boot 102 faz a execução da lógica de verificação 111 verificar a autoria da assinatura digital 115 usando os dados de verificação de assinatura 113. Por exemplo, em algumas configurações, a 25 lógica de verificação 111 é usada para verificar o arquivo de assinatura digital (p.ex., assinatura digital 115) associado com a atualização assinada 112 usando um método criptográfico tal como o algoritmo de verificação de assinatura digital RSA. Assim, em algumas 30 configurações, a assinatura digital 115 representa um valor de combinação pré-calculado de pelo menos uma porção dos dados de atualização 116 que foram criptografados por uma chave privada de um parceiro confiável. Em operação, a lógica de verificação 111 35 descriptografa a assinatura digital 115 (p.ex., usando dados de verificação de assinatura 113, tal como uma chave pública emparelhada com a chave privada do parceiro confiável), combina uma porção correspondente dos dados de atualização 116, e compara o valor de combinação com a assinatura digital descriptografada 115. Se a verificação da assinatura digital 115 tiver sucesso, o bloco de boot 5 102 executa a lógica de atualização 114 para modificar os conteúdos da memória de firmware 100, tal como o bloco de boot 102, usando os dados de atualização 116. Assim, configurações do sistema 10 permitem um fabricante ou outra entidade confiável reparar bugs e/ou de outra fôrma 10 modificar memória de firmware 100 enquanto minimizando o risco de mudanças não autorizadas ou maliciosas para a memória de firmware 100 por uma entidade não autorizada.
A figura 2 é um diagrama ilustrando uma configuração de um método de atualização confiável de memória de firmware 15 200. O método 200 é descrito com referência ao sistema de atualização 10 da figura 1, embora deva ser entendido que o método 200 pode ser usado com configurações alternativas.
No bloco 201, o bloco de boot 102 determina se uma atualização assinada 112 está presente (p.ex., presente na memória 110 ou em algum outro lugar). Se nenhuma atualização assinada 112 estiver presente, o método prossegue para o bloco 222, onde o bloco de boot 102 continua a fazer o boot do sistema de computação 121. Se a atualização assinada 112 estiver disponível ou presente, bloco de boot 102, a lógica de combinação 104 combina a lógica de verificação 111 para produzir um valor de combinação recém calculado no bloco 204. No bloco 206, o valor de combinação recém calculado é comparado com o valor de combinação 105 armazenado na memória de firmware 100 para determinar a validade da lógica de verificação 111. Se, no bloco de decisão 208, o valor de combinação recém calculado não corresponder ao valor de combinação 105, o componente confiável 90 não será atualizado com tal atualização, e o bloco de boot 102 ao invés continua a fazer o boot do sistema de computação 121 no bloco 222. Se, no bloco de decisão 208, o valor de combinação recém calculado corresponder ao valor de combinação 105, o método prossegue para o bloco 212.
No bloco 212, a lógica de verificação 111 é executada e usada para verificar a assinatura digital da atualização assinada 112 combinando os dados de atualização 116. No bloco 214, a lógica de verificação 111 descriptografa a assinatura digital 115 usando os dados de verificação de assinatura 113 e compara a combinação dos dados de atualização 116 com a assinatura digital descriptografada 115 no bloco 216. Se, no bloco de decisão 218, a combinação dos dados de atualização 116 não corresponder à assinatura digital descriptografada 115, a assinatura digital da atualização assinada 112 não é verificada, e tal atualização não será carregada, instalada ou implementada, mas pelo contrário o bloco de boot 102 continua a fazer o boot do sistema de computação 121 no bloco 222. Se, no bloco de decisão 218, a combinação dos dados de atualização 116 combinar com a assinatura digital descriptografada 115, a assinatura digital da atualização assinada 112 é considerada verificada válida, e o componente confiável 90 é atualizado com os dados de atualização 116 executando a lógica de atualização 114 no bloco 220. 0 bloco de boot 102 continua a fazer o boot do sistema de computação 121 no bloco 222.
Portanto, configurações do sistema de atualização 10 permitem atualizações de campo serem feitas para a memória confiável. Deve ser entendido que no método descrito, certas funções podem ser omitidas, realizadas 30 em uma seqüência diferente daquela representada na figura 2, ou executadas simultaneamente. Também, deve ser entendido que o método representado na figura 2 pode ser alterado para abranger qualquer das outras características ou aspectos como descritos em qualquer 35 outro lugar na especificação. Adicionalmente, configurações podem ser implementadas em software e podem ser adaptadas para operar em diferentes plataformas e sistemas operacionais. Em particular, as funções implementadas pela lógica 104, lógica 111, e lógica 114, por exemplo, podem ser fornecidas como uma listagem ordenada de instruções executáveis que podem ser configuradas em qualquer meio lido por computador para uso por ou em conexão com um sistema, aparelho, ou dispositivo de execução de instruções, tal como um sistema baseado em computador, sistema contendo processador, ou outro sistema que possa ir buscar as instruções do sistema, aparelho, ou dispositivo de execução de instruções, e executar as instruções. No contexto deste documento, um "meio lido por computador" pode ser qualquer meio que possa conter, armazenar, comunicar, propagar ou transportar o programa para uso por ou em conexão com o sistema, aparelho ou dispositivo de execução de instruções. 0 meio lido por computador pode ser, por exemplo, mas não limitado a, um sistema, aparelho, dispositivo eletrônico, magnético, ótico, eletromagnético, infravermelho, ou semicondutor, ou meio e propagação.

Claims (10)

1. Sistema de atualização de componente confiável, caracterizado pelo fato de compreender: lógica de verificação (111) configurada para validar a integridade de uma atualização para um componente confiável (90) de um dispositivo de computação (121); e lógica (104) disposta no componente confiável (90) e configurada para validar a integridade da lógica de verificação (111).
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica (104) no componente confiável (90) ser configurada para combinar pelo menos uma porção da lógica de verificação (111) para validar a integridade da lógica de verificação (111).
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica (104) no componente confiável (90) ser configurada para combinar pelo menos uma porção da lógica de verificação (111) e comparar um resultado da combinação com um valor de combinação prédeterminado (115) armazenado no componente confiável (90) .
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica de verificação (111) ser configurada para validar a integridade de uma assinatura (115) associada com a atualização.
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a lógica de verificação (111) ser configurada para combinar pelo menos uma porção da atualização para validar a integridade da atualização.
6. Método de atualização de componente confiável, caracterizado pelo fato de compreender: validar a integridade de uma atualização de um componente confiável (90) de um dispositivo de computação (121) usando lógica de verificação (111); e validar, usando a lógica (104) disposta no componente confiável (90), a integridade da lógica de verificação
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de a validação da integridade da atualização compreender validar a integridade de uma assinatura (115) associada com a atualização.
8. Método, de acordo com a reivindicação 6, caracterizado pelo fato de a validação da integridade da lógica de verificação (111) compreender combinar pelo menos uma porção da lógica de verificação (111).
9. Método, de acordo com a reivindicação 6, caracterizado pelo fato de a validação da integridade da lógica de verificação (111) compreender combinar pelo menos uma porção da lógica de verificação (111) e comparar um resultado da combinação com um valor de combinação prédeterminado (105) armazenado no componente confiável (90).
10. Método, de acordo com a reivindicação 6, caracterizado pelo fato de a validação da integridade da atualização compreender combinar pelo menos uma porção da atualização.
BRPI0809281-8A 2007-04-13 2008-03-07 ''sistema de atualização de componente confiável e método de atualização de componente confiável'' BRPI0809281A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/786,874 US9053323B2 (en) 2007-04-13 2007-04-13 Trusted component update system and method
US11/786,874 2007-04-13
PCT/US2008/003188 WO2008127523A1 (en) 2007-04-13 2008-03-07 Trusted component update system and method

Publications (1)

Publication Number Publication Date
BRPI0809281A2 true BRPI0809281A2 (pt) 2014-09-02

Family

ID=39854844

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0809281-8A BRPI0809281A2 (pt) 2007-04-13 2008-03-07 ''sistema de atualização de componente confiável e método de atualização de componente confiável''

Country Status (7)

Country Link
US (1) US9053323B2 (pt)
EP (1) EP2137609A4 (pt)
JP (1) JP5265662B2 (pt)
CN (2) CN109241747A (pt)
BR (1) BRPI0809281A2 (pt)
TW (1) TWI498813B (pt)
WO (1) WO2008127523A1 (pt)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060107589A1 (en) 2004-11-19 2006-05-25 Rubin Patti D Compressed growing medium
US8266676B2 (en) 2004-11-29 2012-09-11 Harris Corporation Method to verify the integrity of components on a trusted platform using integrity database services
US9450966B2 (en) * 2004-11-29 2016-09-20 Kip Sign P1 Lp Method and apparatus for lifecycle integrity verification of virtual machines
US7487358B2 (en) * 2004-11-29 2009-02-03 Signacert, Inc. Method to control access between network endpoints based on trust scores calculated from information system component analysis
US8327131B1 (en) 2004-11-29 2012-12-04 Harris Corporation Method and system to issue trust score certificates for networked devices using a trust scoring service
US7733804B2 (en) 2004-11-29 2010-06-08 Signacert, Inc. Method and apparatus to establish routes based on the trust scores of routers within an IP routing domain
US20110179477A1 (en) * 2005-12-09 2011-07-21 Harris Corporation System including property-based weighted trust score application tokens for access control and related methods
JP5072446B2 (ja) * 2007-06-15 2012-11-14 スパンション エルエルシー 半導体装置及びその制御方法
US8225105B2 (en) * 2007-08-13 2012-07-17 International Business Machines Corporation Method and apparatus for verifying integrity of computer system vital data components
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
TW200929237A (en) * 2007-12-21 2009-07-01 Winbond Electronics Corp Memory architecture and configuration method thereof
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US8600896B2 (en) * 2008-03-28 2013-12-03 Panasonic Corporation Software updating apparatus, software updating system, invalidation method, and invalidation program
WO2009118800A1 (ja) * 2008-03-28 2009-10-01 パナソニック株式会社 ソフトウェア更新装置、ソフトウェア更新システム、改ざん検証方法、及び改ざん検証プログラム
US20090300049A1 (en) * 2008-06-03 2009-12-03 Samsung Electronics Co., Ltd. Verification of integrity of computing environments for safe computing
US8281229B2 (en) * 2008-12-30 2012-10-02 Intel Corporation Firmware verification using system memory error check logic
US8694761B2 (en) * 2008-12-31 2014-04-08 Vincent Zimmer System and method to secure boot both UEFI and legacy option ROM's with common policy engine
US9177281B2 (en) * 2010-03-18 2015-11-03 United Parcel Service Of America, Inc. Systems and methods for a secure shipping label
TWI459291B (zh) * 2010-04-30 2014-11-01 Hon Hai Prec Ind Co Ltd 電腦介面資訊配置系統及方法
CN103329093B (zh) * 2011-01-19 2017-09-12 国际商业机器公司 用于更新执行环境中的代码的方法和系统
US8595510B2 (en) 2011-06-22 2013-11-26 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8181035B1 (en) 2011-06-22 2012-05-15 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US8261085B1 (en) * 2011-06-22 2012-09-04 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US9015455B2 (en) * 2011-07-07 2015-04-21 Intel Corporation Processsor integral technologies for BIOS flash attack protection and notification
US20130055369A1 (en) * 2011-08-24 2013-02-28 Mcafee, Inc. System and method for day-zero authentication of activex controls
US9887838B2 (en) 2011-12-15 2018-02-06 Intel Corporation Method and device for secure communications over a network using a hardware security engine
EP2791849A4 (en) * 2011-12-15 2015-08-19 Intel Corp METHOD, DEVICE AND SYSTEM FOR SECURELY PROTECTING AND DISPENSING MULTIMEDIA CONTENT
EP2791856A4 (en) 2011-12-15 2015-08-19 Intel Corp METHOD, DEVICE AND SYSTEM FOR SECURELY SHARING MULTIMEDIA CONTENT FROM SOURCE DEVICE
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US10489145B2 (en) 2014-11-14 2019-11-26 Hewlett Packard Enterprise Development Lp Secure update of firmware and software
WO2016105969A1 (en) * 2014-12-26 2016-06-30 Mcafee, Inc. Trusted updates
US11847237B1 (en) * 2015-04-28 2023-12-19 Sequitur Labs, Inc. Secure data protection and encryption techniques for computing devices and information storage
CN109415032B (zh) * 2016-07-04 2021-08-03 索尤若驱动有限及两合公司 安全设备以及用于运行系统的方法
US11443041B2 (en) 2017-08-22 2022-09-13 Absolute Software Corporation Firmware integrity check using silver measurements
CN109714303B (zh) 2017-10-25 2022-05-27 阿里巴巴集团控股有限公司 Bios启动方法及数据处理方法
CN109710315B (zh) 2017-10-25 2022-05-10 阿里巴巴集团控股有限公司 Bios刷写方法及bios镜像文件的处理方法
CN109947439B (zh) * 2017-12-15 2022-04-08 库币科技有限公司 封闭式储存装置的韧体更新方法
EP3543811A1 (de) * 2018-03-20 2019-09-25 Siemens Aktiengesellschaft In ihrer leistungsfähigkeit skalierbare numerische steuerung
US11153074B1 (en) * 2018-06-18 2021-10-19 Amazon Technologies, Inc. Trust framework against systematic cryptographic
US10867046B2 (en) * 2018-08-08 2020-12-15 Quanta Computer Inc. Methods and apparatus for authenticating a firmware settings input file
CN109145651B (zh) * 2018-08-22 2021-12-28 何晓行 一种数据处理方法及装置
US11151255B2 (en) * 2018-10-26 2021-10-19 Dell Products L.P. Method to securely allow a customer to install and boot their own firmware, without compromising secure boot
TWI746361B (zh) * 2019-05-22 2021-11-11 華南商業銀行股份有限公司 基於雜湊演算法的伺服器組態檢核及修正系統及其方法
TWI752813B (zh) * 2019-05-22 2022-01-11 華南商業銀行股份有限公司 基於觸發操作的伺服器組態檢核及修正系統及其方法
TWI715047B (zh) * 2019-05-22 2021-01-01 華南商業銀行股份有限公司 伺服器組態檢核及修正系統與檢核及修正伺服器組態的方法
US11880670B2 (en) * 2020-06-23 2024-01-23 Toyota Motor North America, Inc. Execution of transport software update
US11281450B2 (en) 2020-06-23 2022-03-22 Toyota Motor North America, Inc. Secure transport software update
CN111541553B (zh) * 2020-07-08 2021-08-24 支付宝(杭州)信息技术有限公司 区块链一体机的可信启动方法及装置
CN111541788B (zh) 2020-07-08 2020-10-16 支付宝(杭州)信息技术有限公司 区块链一体机的哈希更新方法及装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5883956A (en) * 1996-03-28 1999-03-16 National Semiconductor Corporation Dynamic configuration of a secure processing unit for operations in various environments
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US5944821A (en) * 1996-07-11 1999-08-31 Compaq Computer Corporation Secure software registration and integrity assessment in a computer system
US5850559A (en) * 1996-08-07 1998-12-15 Compaq Computer Corporation Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode
US5859911A (en) * 1997-04-16 1999-01-12 Compaq Computer Corp. Method for the secure remote flashing of the BIOS of a computer
US6587947B1 (en) * 1999-04-01 2003-07-01 Intel Corporation System and method for verification of off-chip processor code
US6581159B1 (en) * 1999-12-23 2003-06-17 Intel Corporation Secure method of updating bios by using a simply authenticated external module to further validate new firmware code
US6732306B2 (en) * 2000-12-26 2004-05-04 Intel Corporation Special programming mode with hashing
US20030074657A1 (en) * 2001-10-12 2003-04-17 Bramley Richard A. Limited time evaluation system for firmware
KR100898131B1 (ko) * 2001-10-31 2009-05-19 소니 가부시끼 가이샤 데이터의 기록 방법 및 기록 장치 및 데이터의 재생 방법및 생성 장치
US20030126454A1 (en) 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
KR20030075018A (ko) 2002-03-15 2003-09-22 주식회사 셈틀로미디어 변조 방지용 소프트웨어 파일 생성 장치와 그 소프트웨어파일의 자가 무결성 검증 방법 및 클라이언트-서버환경에서의 소프트웨어 파일의 자가 무결성 검증 방법
US20030196100A1 (en) * 2002-04-15 2003-10-16 Grawrock David W. Protection against memory attacks following reset
US7142891B2 (en) * 2003-10-10 2006-11-28 Texas Instruments Incorporated Device bound flashing/booting for cloning prevention
FR2870948B1 (fr) * 2004-05-25 2006-09-01 Sagem Dispositif de positionnement d'un utilisateur par affichage de son image en miroir, dispositif de capture d'images et procede de positionnement correspondants
US7676835B2 (en) * 2004-08-31 2010-03-09 International Business Machines Corporation System and method for regulating access to objects in a content repository
US20060101310A1 (en) * 2004-10-22 2006-05-11 Nimrod Diamant Device, system and method for verifying integrity of software programs
US7608118B2 (en) 2004-11-15 2009-10-27 3M Innovative Properties Company Preconditioning fuel cell membrane electrode assemblies
US7610631B2 (en) * 2004-11-15 2009-10-27 Alexander Frank Method and apparatus for provisioning software
US7562220B2 (en) 2004-11-15 2009-07-14 Microsoft Corporation System and method for programming an isolated computing environment
JP2006221354A (ja) 2005-02-09 2006-08-24 Internatl Business Mach Corp <Ibm> 情報更新方法、プログラム、情報処理装置

Also Published As

Publication number Publication date
CN101657792B (zh) 2018-10-19
CN101657792A (zh) 2010-02-24
CN109241747A (zh) 2019-01-18
EP2137609A1 (en) 2009-12-30
TW200903326A (en) 2009-01-16
JP2010524123A (ja) 2010-07-15
WO2008127523A1 (en) 2008-10-23
EP2137609A4 (en) 2010-06-30
US9053323B2 (en) 2015-06-09
TWI498813B (zh) 2015-09-01
US20080256363A1 (en) 2008-10-16
JP5265662B2 (ja) 2013-08-14

Similar Documents

Publication Publication Date Title
BRPI0809281A2 (pt) &#39;&#39;sistema de atualização de componente confiável e método de atualização de componente confiável&#39;&#39;
US10740468B2 (en) Multiple roots of trust to verify integrity
TWI570592B (zh) 更新電腦韌體的系統、方法與電腦可讀取儲存媒體
US10685122B2 (en) Portable executable and non-portable executable boot file security
US7774619B2 (en) Secure code execution using external memory
US7308576B2 (en) Authenticated code module
US8468331B2 (en) Reducing memory requirements of firmware
US20030126454A1 (en) Authenticated code method and apparatus
BRPI0608821A2 (pt) inicialização segura
TW201506675A (zh) 修復受危害之系統啓動碼之技術
US9990255B2 (en) Repairing compromised system data in a non-volatile memory
TW201500960A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術
JP2014518428A (ja) Biosフラッシュ攻撃に対する保護および通知
US11914682B2 (en) Software verification device
TWI672634B (zh) 基本輸入輸出系統(bios)保全技術
US10776493B2 (en) Secure management and execution of computing code including firmware
Hudson et al. Thunderstrike: EFI firmware bootkits for Apple MacBooks
JP7113115B2 (ja) シリコンデバイスファームウェア上のロールバック攻撃を防止するセキュリティシステム、および、方法
TWI570591B (zh) 允許測試金鑰用於bios安裝之技術
US20210367781A1 (en) Method and system for accelerating verification procedure for image file
Bashun et al. Too young to be secure: Analysis of UEFI threats and vulnerabilities
EP4174698A1 (en) Method and system for controlling the boot customization in a platform firmware resilience execution
JP2023026017A (ja) 起動検証プログラム、情報処理装置および起動検証方法
Regenscheid BIOS Protection Guidelines for Servers (Draft)

Legal Events

Date Code Title Description
B06T Formal requirements before examination

Free format text: PARECER 6.20

B25A Requested transfer of rights approved

Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) (SE)

B07A Technical examination (opinion): publication of technical examination (opinion)
B09B Decision: refusal

Free format text: MANTIDO O INDEFERIMENTO UMA VEZ QUE NAO FOI APRESENTADO RECURSO DENTRO DO PRAZO LEGAL