BRPI0715277A2 - sistema de computaÇço e mÉtodo de mudanÇa de chave compartilhada - Google Patents

sistema de computaÇço e mÉtodo de mudanÇa de chave compartilhada Download PDF

Info

Publication number
BRPI0715277A2
BRPI0715277A2 BRPI0715277-9A BRPI0715277A BRPI0715277A2 BR PI0715277 A2 BRPI0715277 A2 BR PI0715277A2 BR PI0715277 A BRPI0715277 A BR PI0715277A BR PI0715277 A2 BRPI0715277 A2 BR PI0715277A2
Authority
BR
Brazil
Prior art keywords
operating environment
encryption key
bios
key
values
Prior art date
Application number
BRPI0715277-9A
Other languages
English (en)
Inventor
Wael Mohamad Ibrahim
Lan Wang
Jennifer Rios
Valiuddin Y Ali
Manuel Novoa
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 BRPI0715277A2 publication Critical patent/BRPI0715277A2/pt
Publication of BRPI0715277B1 publication Critical patent/BRPI0715277B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • G06F21/72Protecting 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 in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

SISTEMA DE COMPUTAÇçO E MÉTODO DE MUDANÇA DE CHAVE COMPARTILHADA. Um sistema (50) compreende um primeiro ambiente de operação (50) e um segundo ambiente de operação (62). O primeiro ambiente e o segundo ambiente de operação intercambiam informação em forma criptografada usando uma chave de criptografia compartilhada (K3). Os primeiro e o segundo ambientes de operação cooperam para mudar a mencionada chave de criptografia compartilhada (K3) usando outra chave de criptografia compartilhada (K4). A chave de criptografia (K4) é mudada comforme a chave de criptografia (K3) é mudada.

Description

"SISTEMA DE COMPUTAÇÃO E MÉTODO DE MUDANÇA DE CHAVE COMPARTILHADA". Antecedentes da invenção
Muitos sistemas de computação compreendem ambientes de operação múltiplos geralmente independentes, tais como um sistema operacional (S/0) e um sistema básico entrada/saida (BIOS). Tais ambientes de operação se comunicam entre si. Em pelo menos algumas instâncias, desafortunadamente, o mecanismo de comunicação entre os ambientes de operação é susceptível de ser espionado por entidades não autorizadas tais como "vírus". Breve Descrição das Figuras
Para uma descrição detalhada de concretizações exemplificativas da invenção, se fará referência agora às figuras que acompanham, nas quais:
A Figura 1 mostra um sistema de acordo com as concretizações da invenção;
A Figura 2 mostra um método para mudar chaves compartilhadas entre pelo menos dois ambientes de operação de acordo com as concretizações da invenção;
As Figuras 3A e 3B mostram outro método ilustrativo para mudar chaves compartilhadas; e
A Figura 4 mostra um método para reiniciar chaves compartilhadas entre pelo menos dois ambientes de operação de acordo com as concretizações da invenção. Notação e Nomenclatura:
Certos termos são usados ao longo da seguinte descrição e fazem referência a componentes de sistema específicos. Como será apreciado por alguém com conhecimentos da técnica, empresas de computação podem se referir a um componente usando diferentes nomes. Este documento não pretende distinguir entre componentes que diferem em nome, mas não em função. Na discussão a seguir e nas reivindicações, os termos "incluindo" e "compreendendo" são usados em um modo indefinido e, portanto, deve ser interpretados como significando "incluindo, porém não limitado a...". Também, o termo "par", ou "pares", entende-se como significando ou uma conexão elétrica indireta, ou direta, ou ótica ou sem fio. Então, se um primeiro dispositivo acopla a um segundo dispositivo, essa conexão pode ser através de uma conexão elétrica direta, através de uma conexão elétrica indireta via outros dispositivos e conexões, através de uma conexão elétrica ótica ou através de uma conexão elétrica sem fio.
Descrição detalhada da invenção
A Figura 1 mostra um ambiente de um sistema 50 compreendendo um processador 52, um sistema de memória somente para leitura (ROM) 54 e memória 59. O sistema ROM 54 armazena um sistema básico de entra/saida (BIOS) 56 que é código executável pelo processador 52. 0 BIOS 56 compreende um auto-teste de inicialização (POST) o qual testa e inicializa o sistema 50 durante o carregamento ("boot-up") . 0 BIOS 56 também prove interfaces de baixo nivel para vários componentes periféricos (por exemplo, drive de disquete, disco duro, teclado, etc.) do sistema 50.
A memória 59 compreende memória volátil como a memória de acesso aleatório (RAM), memória não volátil como a ROM, drive do disco duro, etc., ou combinações das mesmas. A memória 59 armazena um sistema operativo (S/0) 62 o qual compreende também código que é executado pelo processador 52. Um ou mais aplicativos/driver podem estar presentes, os quais rodam no S/0 62 e são executados pelo processador 52.
0 BIOS 56 e o S/0 62 compreendem dois ambientes de operação de programas que se comunicam um com o outro através de um mecanismo de comunicação seguro. A seguinte descrição é provida no contexto do BIOS 56 e do S/0 62, mas pode ser aplicada em geral a outros ambientes de operação. Na medida, todas as seguintes ações são atribuídas ao S/0 62, tais ações podem ser realizadas pelo próprio S/0 ou um ou mais dos aplicativos/driver 64 que rodam no S/0. Os BIOS 56 e o S/O 62 se comunicam entre si por meio de comando criptografados e dados para serem transferidos de ida e volta entre os mesmos. Em concordância com concretizações da invenção, o protocolo de criptografia compreende um protocolo de criptografia simétrico significando que o BIOS 56 e S/0 62, cada um, usam a chave de criptografia para criptografar uma solicitação a ser enviada para o BIOS 56, e o BIOS 56 usa sua cópia da mesma chave de criptografia para decodificar a solicitação criptografada. A chave de criptografia "compartilhada" é usada para criptografar informação em cada direção - do S/0 62 para o BIOS 56e vice versa. Teoreticamente, é possível para uma entidade (por exemplo, um vírus) espiar comunicações criptografadas entre o BIPOS 56 e o S/0 62 para determinar a chave de criptografia que é usada. Para reduzir a possibilidade de que tal entidade não autorizada espie as comunicações entre o BIOS 56 e o S/0 62 para deduzir a chave de criptografia, um mecanismo de segurança é implementado para atualizar a chave compartilhada. 0 mecanismo de segurança provoca que o BIOS 56 e o S/0 62 mudem sua chave compartilhada de maneira segura. Isto é, a maneira na qual a chave compartilhada é atualizada é ela mesma segura. 0 procedimento de atualização da chave de segurança pode ser programado para ser realizado em períodos de tempo pré-determinados ou programáveis (por exemplo, uma vez a cada hora, uma vez por dia, etc.) ou dependendo da ocorrência de η números de comunicações entre o BIOS 56 e o S/0 62 (por exemplo, com cada pacote de comunicação ou a cada cinco pacotes de comunicação). Referendo-se novamente à Figura 1, o sistema ROM 54 contém memória para várias chave de criptografia 58 rotuladas como Kl, K2, K3 e K4 . Uma cópia de chaves Kl e K2 são carregadas no sistema ROM 54 e, em concordância com concretizações da invenção, não são apagáveis, regraváveis ou, de outra forma, elimináveis. As chaves K3 e K4 podem ser apagadas ou rescritas como será explicado abaixo. As chaves K1-K4 58 no sistema ROM podem ser parte do BIOS 56 ou podem ser separadas do BIOS 56. O S/O 62 também tem acesso a um conjunto de chaves K1-K4 66. Em concordância com concretizações ilustrativas, as chaves K1-K4 66 para o S/O são idênticas às chaves K1-K4 58 para o BIOS 56. Como para as chaves 58 do BIOS, em algumas concretizações, uma cópia das chaves Kl e K2 para o S/O 62 é protegida de ser rescrita ou de outra forma eliminada. As chaves K3 e K4 para o S/O podem ser apagadas e rescritas.
O termo "chave", como usado aqui (por exemplo, K3), refere-se ao valor da chave. Então, o valor K3 pode ser mudado para um novo valor ao qual se fará referência também como K3.
Como mostrado na Figura 1, o BIOS 56 e o S/O 62, cada um, têm acesso a uma chave de criptografia compartilhada para propósitos de informação criptografada a ser intercambiada entre o BIOS 56 e o S/O 62. Em concordância com concretizações da invenção, o processo de criptografia é criptografia simétrica, significando que o mesmo valor de chave usado para criptografar informação é também usado durante o processo de decodificação. Por exemplo, o S/O 62 usa sua cópia da chave compartilhada Kl para criptografar informação (por exemplo, comandos, dados) a ser enviada para o BIOS 56. O BIOS 56 usa sua cópia da chave compartilhada Kl para decodificar a comunicação recebida e recuperar a informação oculta. O BIOS 56 pode também enviar informação criptografada para o S/O 62 e, para isso, o BIOS 56 usa a chave Kl para criptografar tal informação e o S/O 62 usa a chave Kl para decodificá-la. O BIOS 56 e o S/O 62 intercambiam então informação em forma criptografada usando uma chave de criptografia compartilhada (por exemplo, Kl). A chave compartilhada K2 é usada durante o procedimento de atualização de chave mostrado na Figura 2.
Como discutido acima, é possivel deduzir o valor de uma chave de criptografia simétrica monitorando os pacotes criptografados de ida e volta. Portanto, a chave de criptografia Kl poderia ser deduzida pelo monitoramento da informação criptografada intercambiada entre o BIOS 56 e o S/0 62. Em concordância com concretizações da invenção, é provido um mecanismo por meio do qual a chave de criptografia usada para criptografar informação entre dois ambientes de operação (por exemplo, o BIOS 56 e o S/0 62) é mudada. Além disso, a mudança de chave de criptografia é realizada de uma forma que é ela mesma segura, de modo que o novo valor da chave de criptografia não é comprometido. A chave de criptografia simétrica compartilhada K2 é usada para propósitos de mudança da chave de criptografia Kl, de uma forma que ajuda a verificar que somente uma entidade autorizada está tentando mudar Kl. Mudando a chave Kl, a chave K2 também é mudada. Ademais, em concordância com várias concretizações da invenção, o valor atual da chave K2 é usado somente durante o processo de mudança da chave Kl, durante o qual K2 é também mudado. Isto é, durante o processo de mudança de Kl, a chave K2 é também ajustada em um novo valor, o qual é então usado a próxima vez que a chave Kl seja mudada. Devido a que o valor atual de K2 é usado para assistir na mudança de Kl uma vez (apesar de que K2 pode ser usado mais de uma vez, toda vez que Kl seja mudada), seu valor não pode ser razoavelmente deduzido por entidades não autorizadas monitorando o tráfico entre o BIOS 56 e o S/O 62. Em algumas concretizações, Kl e K2 são mudadas. Em outras concretizações, para assegurar que o BIOS 56 e o S/O 62 podem se comunicar entre si, inclusive na eventualidade de um erro de algum tipo, as chaves Kl e K2 permanecem sem mudança; em lugar disso, uma cópia das chaves Kl e K2 (discutida aqui como chaves K3 e K4, respectivamente) é usada para criptografar/decodificar mensagens e realizar o processo de atualização de chave. Em caso de um erro, o sistema pode voltar a Kl e K2.
Em concordância com concretizações da invenção, um de o BIOS 56 e o S/O 62 solicita ao outro de o BIOS e o S/0 para computar um novo valor de chave de criptografia para Kl e K2. Em uma concretização, o S/0 62 solicita ao BIOS 56 para computar novos valores para Kl e K2. Durante esse processo, a chave K2 é usada pelo BIOS 56 para verificar a solicitação de S/0 para mudar a chave de criptografia Kl. Ademais, a chave K2 é também usada pelo S/0 62 para verificar a comunicação do BIOS de volta ao S/0 com o novo valor de Kl e K2. Usar K2 para verificar as comunicações entre o S/O 62 e o BIOS 56 ajuda a prevenir uma entidade não autorizada de intercambiar um novo par de chaves com um ou ambos de o BIOS 56 e o S/O 62. Nas concretizações descritas aqui, somente aqueles ambientes de computação (por exemplo, o BIOS 56 e o S/O 62) que têm acesso à chave compartilhada K2 podem efetuar uma mudança nas chaves Kl e K2.
Em concordância com pelo menos algumas das concretizações da invenção, o sistema 50 é provido para um usuário do sistema com os valores de K3 e K4 sendo ajustados nos valores de Kl e K2, respectivamente, para ambos o BIOS 56 e o S/O 62. Ou seja, inicialmente K3 é igual a Kl e K4 é igual a K2 para ambos o BIOS 56 e o S/O 62. Durante um processo de instalação para o sistema 50, as chaves K3 e K4 são mudadas para ambos o BIOS 56 e o S/O 62 em concordância com o método descrito abaixo. A partir desse ponto, a criptografia entre o BIOS 56 e o S/O 62 usa a chave K3, e a chave K4 é usada para mudar a chave K3 com uma mudança resultante da chave K4 também.
Em algumas concretizações, as chaves Kl e K2 para ambos o BIOS 56 e o S/0 62 não são apagáveis por meio disso provendo o sistema 50 com a habilidade de reverter para um conjunto funcional de chaves conhecido (Kl e K2) como desejado ou necessitado. Por exemplo, se a memória 59 não funciona bem, e é substituída, o disco duro substituído terá os valores originais para Kl e K2 com as chaves K3 e K4 espelhando Kl e K2. As chaves K3 e K4 no sistema ROM 54 podem também ser ajustadas de volta aos valores UJ
iniciais de Kl e K2 .
Referindo-se à Figura 2, um exemplo de um processo de mudança de chave 80 é mostrado compreendendo as ações 82- 90. O processo 80 da Figura 2 descreve o BIOS 56 computando novos valores para Kl e K2 por solicitação do S/O 62. Em outras concretizações, os papéis do BIOS 56 e do S/O 62 são revertidos com o BIOS 56 solicitando a atualização da chave e o S/O 62 computando os novos valores de chaves. Em 82, o S/O 62 solicita ao BIOS 56 que gere um conjunto substituto de valores de chave para as chaves compartilhadas K3 e K4. Em 84, o BIOS 56, por meio do uso de K 4, verifica a solicitação de S/O. Se o BIOS 56 verifica sucessivamente a solicitação do S/O, então em 86 o BIOS computa um novo conjunto de valores de chave de criptografia (K5 e K6) e prove os novos valores de chaves K5 e K6 ao S/O 62. Os valores de chave K5 e K6 são de natureza temporária, o que significa que eles somente são usados, em pelo menos algumas concretizações, para propósitos de mudança de valores de K3 e K4. Se o BIOS 56 falha verificando a solicitação do S/O, então o processo para ou realiza outra ação adequada (por exemplo, anunciando um alerta).
Com referência ainda à Figura 2, em 88, novamente por meio do uso de K4, o S/O 62 verifica a comunicação do BIOS 56 contendo o novo conjunto de chaves de criptografia (K5, K6) . Se o S/0 62 verifica sucessivamente a comunicação do BIOS, então em 90, o S/O substitui a cópia do S/O das chaves K3 e K4 com as novas chaves K5 e K6. Ou seja, K4 é gravada em cima de K3 e K6 é gravada em cima de K4. Uma mensagem é enviada pelo S/O para o BIOS de que 0 S/O aceitou as novas chaves e o BIOS então também substitui sua cópia das chaves K3 e K4 com o valor das novas chaves K5 e K6. 0 processo de mudança de chaves 100, das Figuras 3A e 3b, explica com mais detalhes algumas das ações da Figura 2. Em 102, o S/0 62 solicita ao BIOS 56 para prover um número aleatório para o S/0. 0 termo "número aleatório" (RN) compreende um número que é suficientemente aleatório para ser usado em conjunto com as concretizações descritas aqui. Assim, o número aleatório não precisa ser um número matematicamente verdadeiramente aleatório. Em 104, o BIOS 56 gera um número aleatório, modifica o número aleatório usando a chave K3, e prove o número aleatório modificado ao S/O 62. A geração do número aleatório pode ser feita por meio de qualquer técnica adequada tal como por amostragem de um parâmetro analógico (por exemplo, calor, ruido, etc.) e usando a amostra para gerar o número aleatório. Em pelo menos uma concretização, a modificação
Ao número aleatório compreende a realização de uma operação OU exclusivo na qual o número aleatório é OU exclusivo com K3. EM 106, o S/0 62 recebe o número aleatório modificado e recupera o número aleatório original. No exemplo no qual o número aleatório era OU exclusivo com K3 pelo BIOS 56, o S/0 62 recupera o número aleatório aplicando OU exclusivo ao número aleatório modificado e à cópia do S/0 de K3.
Em 108, o S/0 62 computa um Código de Autenticação de Mensagem baseado em função unidirecional (HMAC) usando K4 e o número aleatório recuperado 106 para produzir um valor de saida, HMAC_0S1. Um HMAC é utilizável para verificar a autenticidade de uma entidade fonte que envia uma comunicação a uma entidade de destino. Outros mecanismos além de HMAC são possíveis e dentro do escopo da publicação. Em 110, o S/0 62 prove o valor HMAC_0S1 ao BIOS 56 e solicita para o BIOS gerar um novo conjunto de chaves para substituir as chaves compartilhadas K3 e K4. Antes do BIOS 56 gerar os novos valores de chave, o BIOS verifica que a solicitação é de uma fonte autorizada (ou seja, S/0 62). 0 BIOS realiza essa verificação computando seu próprio HMAC (chamado de HMAC_BI0S1) em 112 usando o número aleatório que o BIOS gerou em 104 e também usando a cópia do BIOS de K4, os quais serão os mesmos valores usados pelo S/0 62 para gerar o valor HMAC_0S1. Conseqüentemente, os valores HMAC computados pelo S/0 62 e o BIOS r56 devem coincidir. Os valores HMAC não coincidirão, entretanto, se uma entidade não autorizada forneceu um valor HMAC ao BIOS porque tal entidade não autorizada não terá acesso aos valores corretos de K4 e/ou o número aleatório e então terá computado um valor HMAC errôneo.
Em 114, o BIOS 56 compara os valores HMAC_0S1 e HMAC BIOSl para determinar se os valores coincidem. Se os valores não coincidem, o processo falha e para em 116. Um alerta ou outra resposta apropriada pode ser realizado nesta situação como desejado. Se, contudo, os valores HMAC OSl e HMAC_BI0S1 coincidem, o método continua em 118 onde o BIOS gera um novo par de chaves, K5 e K6. Tais chaves podem ser computadas em concordância com qualquer técnica apropriada.
Em 120, o BIOS computa outro valor HMAC, esta vez usando a cópia do BIOS de K4 e outro valor que é a combinação de K5, K6, e o número aleatório gerado em 104. 0 valor HMAC resultante em 120 é chamado de HMAC_BI0S2 e, como explicado abaixo, será usado pelo S/0 62 para verificar que os novos valores de chaves K5 e K6 são transmitidos para o S/0 por uma fonte autorizada (ou seja, o BIOS 56). Os valores K5 e K6, e o número aleatório são combinados juntos, em pelo menos uma concretização, concatenando tais valores juntos. Outras técnicas para combinar K5, K6 e o aleatório são possíveis também e estão dentro do escopo desta publicação.
Com referência à Figura 3A, em 122, o BIOS computa um hash (dado incoerente) de K4 e do número aleatório gerado em 104 para produzir um valor chamado de Hash_BI0S. Qualquer função HASH apropriada pode ser usada para isso. Em 124, o BIOS 56 modifica as chaves novamente computadas K5 e K6 usando o valor Hash_BI0S para produzir versões modificadas de K5 e K6.
Como tal, K5 é modificada usando Hash_BI0S e K6 é tsambém modificada usando Hash_BIOS. Em pelo menos algumas concretizações, a modificação para os valores K5 e K6 compreende aplicar OU exclusivo a cada um dos valores K5 e K6 com o valor Hash_BI0S. EM 126, o BIOS 56 prove os valores: K5 modificado, K6 modificado e HMAC_BI0S2 ao S/0 62 .
Em 128 (Figura 3B) , o S/0 62 recebe os valores K5 modificado e K6 modificado assim como o valor HMAC_BI0S2. Em 130, o S/0 62 computa um hash (usando a mesma função hash gue foi usada pelo BIOS em 122) da cópia do S/O de K4 e do número aleatório provido ao S/O pelo BIOS em 104. 0 valor hash computado em 130 é chamado de Hash_S/0. Em 132, o S/O 62 recupera as versões originais de K5 e K6 das versões modificadas de K5 e K6 usando o hash computado em 130. Em concretizações nas guais K5 e K6 foram modificadas aplicando OU exclusivo a K5 e K6 com o valor Hash_BIOS, a operação de recuperação é realizada aplicando OU exclusivo às versões modificadas de K5 e K6 com Hash_S/0.
Em 134, o S/O computa um valor HMAC usando K4 e uma combinação de K5, K6 (recuperado em 132) e o número aleatório de 104. Em pelo menos algumas concretizações, os valores de K5, K6 e o número aleatório são combinados juntos em 134 na mesma forma que tais valores foram combinados juntos em 120 (por exemplo, concatenação). 0 valor HMAC resultante de 134 é chamado de HMAC_0S2. 0 S/0 compara em 136 HMAC_0S2 com HMAC_BI0S2 para verificar que a fonte das novas chaves K5 e K6 é uma entidade autorizada (por exemplo, BIOS 56). Se os valores HMAC não coincidem em 136, então o processo de atualização de chaves termina em falha em 138. De outra forma, em 140 o S/0 aceita as novas chaves K5 e K6 do BIOS 56 usando K5 e K6 para gravar em cima de K3 e K4, respectivamente. Em 142, o S/0 62 informa o BIOS 56 que o S/0 recebeu e aceitou os novos valores de chaves K5 e K6. Este reconhecimento faz com que o BIOS use sua cópia de K5 e K6 para sobregravar sua cópia de K3 e K4, por meio disso substituindo os valores prévios de K3 e K4 com os valores de K5 e K6.
Ademais de ser capaz de atualizar as chaves compartilhadas K3 e K4 usadas entre os BIOS 56 e o S/0 62, o mecanismo de segurança das concretizações divulgadas permite também que ocorra uma reinicialização por meio da qual o BIOS 56 e o S/0 62 reiniciam sua chaves compartilhadas para um conjunto de chaves conhecidas previamente, Kl e K2 de modo que as chaves Kl e K2 podem ser usadas para criptografar/decodificar e propósitos de atualização de chave. A Figura 4 prove um método ilustrativo 150 caracterizando este processo. Em 152, o S/O 62 solicita que o usuário entre uma senha de administrador, o qual o usuário faz em 154. Em 156, a senha de administrador é verificada e então criptografada com a chave Kl. Em 158, o S/O envia a senha de administrador criptografada para o BIOS 56 o qual então decodifica e valida a senha criptografada (160). O BIOS 56 reinicia então reinicia as chaves Kl e K2. Esta operação de reinicialização é realizada em algumas concretizações usando os valores Kl e K2 para sobregravar os valores K3 e K4 na memória 66. Similarmente, o S/0 reinicia as chaves Kl e K2 usando, por exemplo, os valores Kl e K2 do S/0 para sobregravar os valores K3 e K4 do S/0 na memória 58.
Em concordância com pelo menos algumas das concretizações da invenção, não haverá dois sistemas com o mesmo Kodd e Keven. Assim, mesmo se um agressor ganha acesso ao par de chaves em um sistema, tal conhecimento não poderá ser usado para atacar outros sistemas, por meio disso protegendo contra um ataque global.
A discussão acima é considerada como sendo ilustrativa dos princípios e de várias concretizações da invenção. Numerosas variações e modificações se tornarão aparentes para aqueles com conhecimento da técnica uma vez que a publicação acima seja apreciada completamente. Entende-se que as reivindicações seguintes sejam interpretadas Λ 12
englobando todas as tais variações e modificações.

Claims (10)

1. Sistema de computação, caracterizado pelo fato de compreender: - um primeiro ambiente de operação (56); e - um segundo ambiente de operação (62); sendo que o primeiro ambiente de operação e o segundo ambiente de operação intercambiam informação em forma criptografada usando uma chave de criptografia compartilhada (K3) e sendo que os mencionados, primeiro e segundo, ambientes de operação cooperam para mudar a mencionada chave de criptografia (K3) usando outra chave de criptografia compartilhada (K4), a mencionada chave de criptografia (K4) sendo mudada conforme a mencionada chave de criptografia (K3) é mudada.
2. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a mencionada chave de criptografia (K4) não ser usada a não ser quando mudando a mencionada chave de criptografia (K3).
3. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de a mencionada chave de criptografia (K4) ser usada somente por um dos mencionados, primeiro e segundo, sistemas de operação para verificar a comunicação pelo outro dos mencionados, primeiro e segundo, ambientes de operação com respeito à geração de um novo valor para a mencionada chave de criptografia (K3).
4. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de um dos mencionados, primeiro e segundo, ambientes de operação submeter um valor HMAC ao outro dos mencionados, primeiro e segundo, ambientes de operação, o mencionado valor HMAC baseado na mencionada chave de criptografia (K4).
5. Sistema, de acordo com a reivindicação 1, caracterizado pelo fato de o mencionado primeiro ambiente de operação receber um número aleatório do mencionado segundo ambiente de operação e realizar uma operação HMAC usando o número aleatório e a chave de criptografia compartilhada (K4).
6. Método de mudança de chave compartilhada, caracterizado pelo fato de compreender: - solicitar a ação (82), por um primeiro ambiente de operação, a uma segundo ambiente de operação para gerar um novo valor para uma chave de criptografia (K3) que é compartilhada entre o primeiro ambiente de operação e o segundo ambiente de operação; - usar a ação (84), por o mencionado segundo ambiente de operação, de outra chave de criptografia compartilhada (K4) para verificar a solicitação do primeiro ambiente de operação; - gerar a ação (86), por o mencionado segundo ambiente de operação, do novo valor para K3 e gerando um novo valor para K4; fornecer a ação (88), pelo segundo ambiente de operação, os novos valores K3 e K4 ao primeiro ambiente de operação; e - usar a ação (90), pelo mencionado primeiro ambiente de operação, dos mencionados novos valores de K3 e K4 para substituir os velhos valores de K3 e K4.
7. Método, de acordo com a reivindicação 6, caracterizado pelo fato de compreender ainda o uso, pelo mencionado segundo ambiente de operação, dos mencionados novos valores de (K3) e (K4) para substituir os velhos valores (K3) e (K4) .
8. Método, de acordo com a reivindicação 6, caracterizado pelo fato de compreender o uso (136), pelo mencionado primeiro ambiente de operação, de (K4) para verificar o novo valor (K3) provido pelo segundo ambiente de operação.
9. Método, de acordo com a reivindicação 6, caracterizado pelo fato do uso, pelo mencionado segundo ambiente de operação, de (K4) para verificar a solicitação do primeiro ambiente de operação compreender a computação (120), pelo mencionado segundo ambiente de operação, de um código de autenticação de mensagem baseado em função hash.
10. Método, de acordo com a reivindicação 6, caracterizado pelo fato de a computação, pelo mencionado segundo ambiente de operação, de um código de autenticação de mensagem baseado em função-hash compreender a computação (120), pelo mencionado segundo ambiente de operação, de um código de autenticação de mensagem baseado em função-hash baseado em (K4).
BRPI0715277-9A 2006-09-28 2007-09-27 Método de mudança implementado por computador de chave compartilhada e sistema de computação BRPI0715277B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/536,443 2006-09-28
US11/536,443 US8127135B2 (en) 2006-09-28 2006-09-28 Changing of shared encryption key
PCT/US2007/021075 WO2008108819A2 (en) 2006-09-28 2007-09-27 System and method for changing a shared encryption key

Publications (2)

Publication Number Publication Date
BRPI0715277A2 true BRPI0715277A2 (pt) 2013-06-11
BRPI0715277B1 BRPI0715277B1 (pt) 2018-11-13

Family

ID=39262406

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0715277-9A BRPI0715277B1 (pt) 2006-09-28 2007-09-27 Método de mudança implementado por computador de chave compartilhada e sistema de computação

Country Status (7)

Country Link
US (1) US8127135B2 (pt)
EP (1) EP2080148B1 (pt)
JP (1) JP5000720B2 (pt)
KR (1) KR101464389B1 (pt)
CN (1) CN101563696B (pt)
BR (1) BRPI0715277B1 (pt)
WO (1) WO2008108819A2 (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8213602B2 (en) * 2006-11-27 2012-07-03 Broadcom Corporation Method and system for encrypting and decrypting a transport stream using multiple algorithms
US20080320423A1 (en) * 2007-06-25 2008-12-25 International Business Machines Corporation System and method to protect computing systems
US8341428B2 (en) * 2007-06-25 2012-12-25 International Business Machines Corporation System and method to protect computing systems
US20100064125A1 (en) * 2008-09-11 2010-03-11 Mediatek Inc. Programmable device and booting method
US8347096B2 (en) * 2009-07-10 2013-01-01 Vasco Data Security, Inc. Authentication token with incremental key establishment capacity
US8296579B2 (en) * 2009-11-06 2012-10-23 Hewlett-Packard Development Company, L.P. System and method for updating a basic input/output system (BIOS)
EP2363977B1 (en) * 2010-02-26 2012-10-24 Research In Motion Limited Methods and devices for computing a shared encryption key
JP2011254440A (ja) * 2010-06-04 2011-12-15 Toshiba Corp 情報処理装置
US8924733B2 (en) * 2010-06-14 2014-12-30 International Business Machines Corporation Enabling access to removable hard disk drives
US20120069995A1 (en) * 2010-09-22 2012-03-22 Seagate Technology Llc Controller chip with zeroizable root key
JP5981761B2 (ja) * 2012-05-01 2016-08-31 キヤノン株式会社 通信装置、制御方法、プログラム
US9563773B2 (en) * 2014-02-26 2017-02-07 Dell Products L.P. Systems and methods for securing BIOS variables
US11537757B2 (en) 2016-02-19 2022-12-27 Hewlett-Packard Development Company, L.P. Securely writing data to a secure data storage device during runtime
EP3743807B1 (en) * 2018-01-23 2021-11-10 Diebold Nixdorf, Incorporated Application interface and database structures to remotely manage bios settings of automated teller machines
CN108959912A (zh) * 2018-06-29 2018-12-07 郑州云海信息技术有限公司 一种bios和操作系统复用密码的方法、装置及设备
KR20210036732A (ko) * 2019-09-26 2021-04-05 삼성전자주식회사 터치 패드를 제어하기 위한 방법 및 전자 장치
US20220103354A1 (en) * 2020-09-25 2022-03-31 Renesas Electronics Corporation Secure encryption key generation and management in open and secure processor environments

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0231290A (ja) * 1988-07-21 1990-02-01 Matsushita Electric Ind Co Ltd Icカード装置
JPH0244389A (ja) * 1988-08-04 1990-02-14 Matsushita Electric Ind Co Ltd Icカード機器
JPH03214834A (ja) 1990-01-19 1991-09-20 Canon Inc マルチメデイアネツトワークシステム
EP0656708A1 (en) * 1993-12-03 1995-06-07 International Business Machines Corporation System and method for the transmission and validation of an updated encryption key between two users
US5491749A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
US5841864A (en) * 1996-08-05 1998-11-24 Motorola Inc. Apparatus and method for authentication and session key exchange in a communication system
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
WO2001035194A2 (en) * 1999-11-10 2001-05-17 Unisys Corporation Method and apparatus for providing redundant and resilient cryptographic services
US6986046B1 (en) * 2000-05-12 2006-01-10 Groove Networks, Incorporated Method and apparatus for managing secure collaborative transactions
US7278164B2 (en) * 2001-01-05 2007-10-02 Revit Technology Corporation Software usage/procurement management
US6931128B2 (en) * 2001-01-16 2005-08-16 Microsoft Corporation Methods and systems for generating encryption keys using random bit generators
EP1232735A3 (en) * 2001-02-20 2004-03-03 SCA Hygiene Products AB Diaper cover and method for manufacturing a diaper cover
US20030037237A1 (en) * 2001-04-09 2003-02-20 Jean-Paul Abgrall Systems and methods for computer device authentication
US7565537B2 (en) * 2002-06-10 2009-07-21 Microsoft Corporation Secure key exchange with mutual authentication
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
US8369525B2 (en) * 2002-10-24 2013-02-05 At&T Mobility Ii Llc Dynamic password update for wireless encryption system
DE60305057T2 (de) 2002-10-30 2006-11-23 Thomson Licensing Vereinfachtes verfahren zur symmetrischen schlüsselerneuerung in einem digitalen netzwerk
US7475241B2 (en) * 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
FR2847756B1 (fr) * 2002-11-22 2005-09-23 Cegetel Groupe Procede d'etablissement et de gestion d'un modele de confiance entre une carte a puce et un terminal radio
JP2004186814A (ja) 2002-11-29 2004-07-02 Fujitsu Ltd 共通鍵暗号化通信システム
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US8103004B2 (en) * 2003-10-03 2012-01-24 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
JP2005157930A (ja) * 2003-11-28 2005-06-16 Matsushita Electric Ind Co Ltd 機密情報処理システムおよびlsi
US7353388B1 (en) * 2004-02-09 2008-04-01 Avaya Technology Corp. Key server for securing IP telephony registration, control, and maintenance
JP2005227995A (ja) * 2004-02-12 2005-08-25 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US7356846B2 (en) * 2004-04-14 2008-04-08 Microsoft Corporation Unilateral session key shifting
WO2005107141A1 (en) 2004-04-30 2005-11-10 Research In Motion Limited Systems and methods to securely generate shared keys
JP4403221B2 (ja) * 2004-06-29 2010-01-27 レノボ シンガポール プライヴェート リミテッド デバイス制御装置、コンピュータ、及び、デバイス制御方法
US7565553B2 (en) * 2005-01-14 2009-07-21 Microsoft Corporation Systems and methods for controlling access to data on a computer with a secure boot process
US20060269066A1 (en) * 2005-05-06 2006-11-30 Schweitzer Engineering Laboratories, Inc. System and method for converting serial data into secure data packets configured for wireless transmission in a power system

Also Published As

Publication number Publication date
CN101563696A (zh) 2009-10-21
US20080082824A1 (en) 2008-04-03
EP2080148A2 (en) 2009-07-22
CN101563696B (zh) 2013-03-27
EP2080148B1 (en) 2017-08-23
KR101464389B1 (ko) 2014-11-21
BRPI0715277B1 (pt) 2018-11-13
US8127135B2 (en) 2012-02-28
KR20090085585A (ko) 2009-08-07
WO2008108819A3 (en) 2008-12-04
JP2010505356A (ja) 2010-02-18
JP5000720B2 (ja) 2012-08-15
WO2008108819A2 (en) 2008-09-12

Similar Documents

Publication Publication Date Title
BRPI0715277A2 (pt) sistema de computaÇço e mÉtodo de mudanÇa de chave compartilhada
JP5690412B2 (ja) ハードウェアデバイスの鍵プロビジョン方法および装置
US20170250818A1 (en) Method and System for Securely Updating Field Upgradeable Units
US8332636B2 (en) Secure policy differentiation by secure kernel design
US8019994B2 (en) Authentication of a request to alter at least one of a BIOS and a setting associated with the BIOS
US20070074046A1 (en) Secure microprocessor and method
RU2004133759A (ru) Инициализация, поддержание, обновление и восстановление защищенного режима работы интегрированной системы, использующей функцию управления доступом к данным
US20220405392A1 (en) Secure and flexible boot firmware update for devices with a primary platform
JP2009003933A (ja) 不揮発性メモリにおけるデータの耐故障的な暗号化保護、完全性保護、及びアンチリプレイ保護のための方法、システム及び装置
US10970421B2 (en) Virus immune computer system and method
US20080008316A1 (en) System and Method for Enterprise Security Including Symmetric Key Protection
Hein et al. Secure Block Device--Secure, Flexible, and Efficient Data Storage for ARM TrustZone Systems
US20210382985A1 (en) Virus immune computer system and method
US20100191959A1 (en) Secure microprocessor and method
Banescu et al. Software-based protection against changeware
US20200159911A1 (en) Virus immune computer system and method
US10592697B1 (en) Virus immune computer system and method
Ferreira et al. Software-based security approach for networked embedded devices
Gazdag et al. Post-Quantum Software Updates
US20240080206A1 (en) Automatic Root Key and Certificate Update During Firmware Update Procedure
England et al. A Foundation for Trust in the Internet of Things

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: G06F 21/60 (2013.01), G06F 21/72 (2013.01)

B07A Technical examination (opinion): publication of technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 13/11/2018, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 13A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2599 DE 27-10-2020 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.