BR112016021661B1 - Método e aparelho de iniciação de núcleo confiável - Google Patents

Método e aparelho de iniciação de núcleo confiável Download PDF

Info

Publication number
BR112016021661B1
BR112016021661B1 BR112016021661-0A BR112016021661A BR112016021661B1 BR 112016021661 B1 BR112016021661 B1 BR 112016021661B1 BR 112016021661 A BR112016021661 A BR 112016021661A BR 112016021661 B1 BR112016021661 B1 BR 112016021661B1
Authority
BR
Brazil
Prior art keywords
core
reliable
measurement value
code
partition
Prior art date
Application number
BR112016021661-0A
Other languages
English (en)
Other versions
BR112016021661A2 (pt
Inventor
Zhi Li
Bo Zhao
Yongkang FEI
Original Assignee
Wuhan University
Huawei Technologies Co., Ltd
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 Wuhan University, Huawei Technologies Co., Ltd filed Critical Wuhan University
Publication of BR112016021661A2 publication Critical patent/BR112016021661A2/pt
Publication of BR112016021661B1 publication Critical patent/BR112016021661B1/pt

Links

Images

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/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

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

Abstract

MÉTODO E DISPOSITIVO DE INICIAÇÃO DE NÚCLEO CRÍVEL. A presente invenção refere-se a um método e dispositivo de iniciação de núcleo crível. O método compreende: iniciar um carregador de partida (201); invocar o carregador de parti da para medir a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser crível, de acordo com um primeiro algoritmo de segurança (202); caso a partição de PCR seja crível, invocar o carregador de partida para ler um código de núcleo em uma memória e invocar o carregador de partida para medir a possibilidade de o código de núcleo ser crível de acordo com um primeiro algoritmo completo e com um valor padrão de medição do código de núcleo que está pré-armazenado na partição de PCR (203); caso o código de núcleo seja crível, inicializar o código de núcleo de modo a acionar um núcleo inicializado para medir a possibilidade de o carregador de partida ser crível de acordo com um segundo algoritmo completo (204); e, caso o carrega dor de partida seja crível, iniciar o núcleo (205). A presente invenção aprimora a segurança de iniciação de núcleo.

Description

CAMPO DA TÉCNICA
[001] A presente invenção refere-se ao campo de tecnologias de computação confiável e, particularmente, a um método e aparelho de iniciação de núcleo (kernel) confiável.
ANTECEDENTES
[002] Nos últimos anos, com a popularização de uma rede de comunicações móvel de terceira geração (3a Geração, 3G), telefones inteligentes têm se tornado produtos industriais de informações que crescem mais rápido (Tecnologia da Informação, IT).
[003] Os dispositivos móveis inteligentes de rápido crescimento trazem a era da informação a um novo clímax de desenvolvimento. No entanto, há um excesso de demanda de aprimoramento de desempenho de aplicativo dos dispositivos móveis inteligentes e o desenvolvimento de desempenho de segurança é ignorado, o que resulta em um atraso do desenvolvimento de desempenho de segurança de dispositivos móveis, em um problema de segurança potencial de telefones móveis é exposto gradualmente. Para a iniciação segura de dispositivos móveis inteligentes, na técnica anterior, um método para realizar a iniciação de uma unidade de segurança externa, ou seja, a unidade de segurança externa é conectada a um dispositivo incorporado com o uso de uma interface de comunicações para fornecer uma função de segurança para o dispositivo incorporado. Quando um dispositivo é iniciado, o dispositivo incorporado precisa, primeiramente, determinar a existência da unidade de segurança externa para impedir que uma iniciação não autorizada ultrapasse a raiz externa confiável de uma cadeia de confiança, em seguida, um programa de partida de sistema é carregado, em que o programa de partida invoca a unidade de segurança para realizar a medição de integridade em um núcleo de um sis-tema operacional e, após a verificação suceder, o núcleo é iniciado.
[004] No entanto, o método usado na técnica anterior tem as seguintes desvantagens: A unidade de segurança externa precisa se comunicar com um dispositivo móvel inteligente com o uso de uma interface externa, e um terminal de comunicações móvel geral não fornece tal interface externa, portanto, uma faixa de aplicação do método usada na técnica anterior é limitada. Em segundo lugar, de acordo com uma solução de iniciação, o núcleo pode ser iniciado contanto que a existência da unidade de segurança externa seja verificada antes de a iniciação ser realizada. Portanto, nessa solução, a possibilidade de a iniciação não autorizada ultrapassar uma unidade de segurança é relativamente alta e a segurança de iniciação de núcleo é relativamente baixa.
SUMÁRIO
[005] A presente invenção fornece um método e aparelho de iniciação de núcleo confiável que são usados para aprimorar a segurança de iniciação de núcleo.
[006] De acordo com um primeiro aspecto, uma modalidade da presente invenção fornece um método de iniciação de núcleo confiável que inclui:
[007] iniciar um carregador de partida de módulo de partida de segurança;
[008] Invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável.
[009] invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável;
[0010] inicializar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e
[0011] iniciar o núcleo caso o carregador de partida seja confiável.
[0012] Com referência ao primeiro aspecto, em uma primeira maneira de implantação possível do primeiro aspecto, o método inclui adicionalmente:
[0013] adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; e
[0014] a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável inclui:
[0015] invocar o carregador de partida para calcular um valor de medição real de partição de PCR, de acordo com o primeiro algoritmo de segurança, e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
[0016] Com referência à primeira maneira de implantação possível do primeiro aspecto, em uma segunda maneira de implantação possível do primeiro aspecto, a aquisição de um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV inclui:
[0017] gerar uma chave raiz com base em um PIN inserido por um usuário; e
[0018] descriptografar a partição de ENV com o uso da chave raiz para adquirir o valor de medição padrão, que está pré-armazenado na partição ENC, da partição de PCR.
[0019] Com referência ao primeiro aspecto ou à primeira ou à segunda maneira de implantação possível do primeiro aspecto, em uma terceira maneira de implantação possível do primeiro aspecto, o método inclui adicionalmente:
[0020] adquirir o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR; e
[0021] a invocação, caso a partição de PCR seja confiável, do carregador de partida para ler código de núcleo em uma memória e a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável incluem:
[0022] caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
[0023] Com referência ao primeiro aspecto ou a qualquer uma dentre a primeira à terceira maneiras de implantação possíveis do primeiro aspecto, em uma quarta maneira de implantação possível do primeiro aspecto, o método inclui adicionalmente:
[0024] adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e
[0025] a inicialização, caso o código de núcleo seja confiável, do código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável inclui:
[0026] caso o código de núcleo seja confiável, inicializar o código de núcleo para acionar o núcleo inicializado para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
[0027] Com referência ao primeiro aspecto ou a qualquer um dentre a primeira à quarta maneiras de implantação possíveis do primeiro aspecto, em uma quinta maneira de implantação possível do primeiro aspecto, após a iniciação do núcleo, o método inclui adicionalmente:
[0028] invocar o núcleo para medir, de acordo com um terceiro al-goritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[0029] iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[0030] Com referência à quinta maneira de implantação possível do primeiro aspecto, em uma sexta maneira de implantação possível do primeiro aspecto, o método inclui adicionalmente:
[0031] adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR; e
[0032] a invocação do núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimora- mento de gerenciamento de segurança de núcleo ser confiável inclui:
[0033] invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
[0034] Com referência à quinta ou à sexta maneira de implantação possível do primeiro aspecto, em uma sétima maneira de implantação possível do primeiro aspecto, após a iniciação de um sistema operacional, o método inclui adicionalmente:
[0035] invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[0036] iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[0037] Com referência à sétima maneira de implantação possível do primeiro aspecto, em uma oitava maneira de implantação possível do primeiro aspecto, o método inclui adicionalmente:
[0038] adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do programa de aplicativo; e
[0039] a invocação do módulo de aprimoramento de gerenciamen- to de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável e inclui:
[0040] invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
[0041] De acordo com um segundo aspecto, uma modalidade da presente invenção fornece outro método de iniciação de núcleo confiável, sendo que o método inclui:
[0042] iniciar um carregador de partida de módulo de partida de segurança;
[0043] invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável.
[0044] invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; e
[0045] caso o código de núcleo seja confiável, executar o código de núcleo para iniciar o núcleo.
[0046] Com referência ao segundo aspecto, em uma primeira maneira de implantação possível do segundo aspecto, após a execução do código de núcleo para iniciar um núcleo, o método inclui adicionalmente:
[0047] invocar o núcleo para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser con-fiável;
[0048] caso o carregador de partida seja confiável, invocar o núcleo para medir, de acordo com um terceiro algoritmo completo, a pos-sibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[0049] iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[0050] Com referência ao segundo aspecto ou à primeira maneira de implantação possível do segundo aspecto, em uma segunda maneira de implantação possível do segundo aspecto, o método inclui adicionalmente:
[0051] adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; e
[0052] a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável inclui:
[0053] invocar o carregador de partida para calcular um valor de medição real de partição de PCR, de acordo com o primeiro algoritmo de segurança pré-armazenado e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
[0054] Com referência à segunda maneira de implantação possível do segundo aspecto, em uma terceira maneira de implantação possível do segundo aspecto, a aquisição de um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV inclui:
[0055] gerar uma chave raiz com base em um PIN inserido por um usuário; e
[0056] descriptografar a partição de ENV com o uso da chave raiz para adquirir o valor de medição padrão, que está pré-armazenado na partição EVN, da partição de PCR.
[0057] Com referência ao segundo aspecto ou a qualquer uma dentre a primeira à terceira maneiras de implantação possíveis do segundo aspecto, em uma quarta maneira de implantação possível do segundo aspecto, o método inclui adicionalmente:
[0058] adquirir o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR; e
[0059] a invocação, caso a partição de PCR seja confiável, do carregador de partida para ler código de núcleo em uma memória e a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável incluem:
[0060] caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
[0061] Com referência a qualquer uma dentre a primeira à quarta maneiras de implantação possíveis do segundo aspecto, em uma quinta maneira de implantação possível do segundo aspecto, o método inclui adicionalmente:
[0062] adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e
[0063] a invocação do núcleo para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável inclui:
[0064] invocar o núcleo para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o car-regador de partida é confiável.
[0065] Com referência a qualquer uma dentre a primeira à quinta maneiras de implantação possíveis do segundo aspecto, em uma sexta maneira de implantação possível do segundo aspecto, o método inclui adicionalmente:
[0066] adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR; e
[0067] a invocação do núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável inclui:
[0068] invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparan- do-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
[0069] Com referência a qualquer uma dentre a primeira à sexta maneiras de implantação possíveis do segundo aspecto, em uma sétima maneira de implantação possível do segundo aspecto, após a iniciação de um sistema operacional, o método inclui adicionalmente:
[0070] invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[0071] iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[0072] Com referência à sétima maneira de implantação possível do segundo aspecto, em uma oitava maneira de implantação possível do segundo aspecto, o método inclui adicionalmente:
[0073] adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do programa de aplicativo; e
[0074] a invocação do módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável e inclui:
[0075] invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
[0076] De acordo com um terceiro aspecto, uma modalidade da presente invenção fornece um aparelho de iniciação de núcleo confiável, que inclui:
[0077] um módulo de iniciação de partida configurado para iniciar um carregador de partida de módulo de partida de segurança;
[0078] um primeiro módulo de medição configurado para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável, em que
[0079] o primeiro módulo de medição é configurado adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré- armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável;
[0080] um segundo módulo de medição configurado para iniciali- zar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e
[0081] um módulo de iniciação de núcleo, configurado para iniciar o núcleo, caso o carregador de partida seja confiável.
[0082] Com referência ao terceiro aspecto, em uma primeira maneira de implantação possível do terceiro aspecto, o aparelho inclui adicionalmente:
[0083] um módulo de aquisição, configurado para adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV, em que
[0084] o primeiro módulo de medição é configurado especificamente para invocar o carregador de partida a fim de calcular um valor de medição real de partição de PCR de acordo com o primeiro algoritmo de segurança e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, determina- se que a partição de PCR é confiável.
[0085] Com referência à primeira maneira de implantação possível do terceiro aspecto, em uma segunda maneira de implantação possível do terceiro aspecto, o módulo de aquisição é configurado especificamente para gerar uma chave raiz com base em um PIN inserido por um usuário e descriptografar a partição de ENV com o uso da chave raiz, a fim de adquirir o valor de medição padrão, que está pré- armazenado na partição ENC, da partição de PCR.
[0086] Com referência ao terceiro aspecto ou à primeira ou à segunda maneira de implantação possível do terceiro aspecto, em uma terceira maneira de implantação possível do terceiro aspecto,
[0087] o módulo de aquisição é configurado adicionalmente para adquirir o valor de medição padrão que está pré-armazenado na partição de PCR, do código de núcleo; e
[0088] o primeiro módulo de medição é configurado especifica- mente para: caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
[0089] Com referência ao terceiro aspecto ou a qualquer uma dentre a primeira à terceira maneiras de implantação possíveis do terceiro aspecto, em uma quarta maneira de implantação possível do terceiro aspecto,
[0090] o módulo de aquisição é configurado adicionalmente para adquirir um valor de medição padrão de carregador de partida pré- armazenado na partição de PCR; e
[0091] o segundo módulo de medição é configurado especificamente para: caso o código de núcleo seja confiável, inicializar o código de núcleo para acionar o núcleo inicializado para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
[0092] Com referência ao terceiro aspecto ou a qualquer uma dentre a primeira à quarta maneiras de implantação possíveis do terceiro aspecto, em uma quinta maneira de implantação possível do terceiro aspecto, o aparelho inclui adicionalmente um módulo de iniciação de sistema, em que
[0093] o segundo módulo de medição é configurado adicionalmente para invocar o núcleo a fim de medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[0094] o módulo de iniciação de sistema é configurado para iniciar um sistema operacional, caso o módulo de aprimoramento de gerenci-amento de segurança de núcleo seja confiável.
[0095] Com referência à quinta maneira de implantação possível do terceiro aspecto, em uma sexta maneira de implantação possível do terceiro aspecto,
[0096] o módulo de aquisição é configurado adicionalmente para adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR; e
[0097] o segundo módulo de medição é configurado especificamente para invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
[0098] Com referência à quinta ou à sexta maneira de implantação possível do terceiro aspecto, em uma sétima maneira de implantação possível do terceiro aspecto, o aparelho inclui adicionalmente:
[0099] um terceiro módulo de medição configurado para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00100] um módulo de iniciação de programa de aplicativo configurado para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00101] Com referência à sétima maneira de implantação possível do terceiro aspecto, em uma oitava maneira de implantação possível do terceiro aspecto,
[00102] o módulo de aquisição é configurado adicionalmente para adquirir um valor de medição padrão, que está pré-armazenado na partição de PCR, do programa de aplicativo; e
[00103] o terceiro módulo de medição é configurado especificamente para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
[00104] De acordo com um quarto aspecto, uma modalidade da presente invenção fornece outro aparelho de iniciação de núcleo confiável que inclui:
[00105] uma unidade de iniciação de partida configurada para iniciar um carregador de partida de módulo de partida de segurança;
[00106] uma primeira unidade de medição configurada para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável, em que
[00107] a primeira unidade de medição é configurada adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; e
[00108] uma unidade de iniciação de núcleo configurada para: caso o código de núcleo seja confiável, executar o código de núcleo para iniciar um núcleo.
[00109] Com referência ao quarto aspecto, em uma primeira maneira de implantação possível do quarto aspecto, o aparelho inclui adicionalmente:
[00110] uma segunda unidade de medição configurada para invocar o núcleo a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável, em que
[00111] a segunda unidade de medição é configurada adicionalmente para: caso o carregador de partida seja confiável, invocar o nú-cleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[00112] uma unidade de iniciação de sistema configurada para iniciar um sistema operacional, caso o módulo de aprimoramento de ge-renciamento de segurança de núcleo seja confiável.
[00113] Com referência ao quarto aspecto ou à primeira maneira de implantação possível do quarto aspecto, em uma segunda maneira de implantação possível do quarto aspecto, o aparelho inclui adicionalmente:
[00114] uma unidade de aquisição, configurada para adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV, em que
[00115] a primeira unidade de medição é configurada especificamente para invocar o carregador de partida para calcular um valor de medição real de partição de PCR de acordo com o primeiro algoritmo de segurança pré-armazenado e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
[00116] Com referência à segunda maneira de implantação possível do quarto aspecto, em uma terceira maneira de implantação possível do quarto aspecto,
[00117] a unidade de aquisição é configurada especificamente para gerar uma chave raiz com base em um PIN inserido por um usuário e descriptografar a partição de ENV com o uso da chave raiz, a fim de adquirir o valor de medição padrão, que está pré-armazenado na partição ENC, da partição de PCR.
[00118] Com referência ao quarto aspecto ou a qualquer uma dentre a primeira à terceira maneiras de implantação possíveis do quarto aspecto, em uma quarta maneira de implantação possível do quarto aspecto,
[00119] a unidade de aquisição é configurada adicionalmente para adquirir o valor de medição padrão de código de núcleo pré- armazenado na partição de PCR; e
[00120] a primeira unidade de medição é configurada especifica- mente para: caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
[00121] Com referência a qualquer uma dentre a primeira à quarta maneiras de implantação possíveis do quarto aspecto, em uma quinta maneira de implantação possível do quarto aspecto,
[00122] a unidade de aquisição é configurada adicionalmente para adquirir um valor de medição padrão de carregador de partida pré- armazenado na partição de PCR; e
[00123] a segunda unidade de medição é configurada especificamente para invocar o núcleo para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confi-ável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o car-regador de partida é confiável.
[00124] Com referência a qualquer uma dentre a primeira à quinta maneiras de implantação possíveis do quarto aspecto, em uma sexta maneira de implantação possível do quarto aspecto,
[00125] a unidade de aquisição é configurada adicionalmente para adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR; e
[00126] a segunda unidade de medição é configurada especificamente para invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
[00127] Com referência à quinta e sexta maneiras de implantação possíveis do quarto aspecto, em uma sétima maneira de implantação possível do quarto aspecto, o aparelho inclui adicionalmente:
[00128] uma terceira unidade de medição configurada para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00129] uma unidade de iniciação de programa de aplicativo configurada para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00130] Com referência à sétima maneira de implantação possível do quarto aspecto, em uma oitava maneira de implantação possível do quarto aspecto,
[00131] a terceira unidade de medição é configurada especifica- mente para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o pro-grama de aplicativo é confiável.
[00132] Pode-se aprender que, de acordo com o método e aparelho de iniciação de núcleo confiável que são fornecidos nas modalidades da presente invenção, um carregador de partida de módulo de partida de segurança é invocado, primeiramente, para medir a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável; após ser determinado que a partição de PCR é confiável, o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo completo e com um de medição padrão, que está pré- armazenado na partição de PCR, de um código de núcleo, a possibilidade de o código de núcleo ser confiável; após ser determinado que o código de núcleo é confiável, o código de núcleo é, em seguida, inicia- lizado para acionar um núcleo inicializado para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e após ser determinado que o carregador de partida é confiável, o núcleo é iniciado. Ou seja, de acordo com as soluções técnicas fornecidas na presente invenção, um núcleo pode ser iniciado com segurança apenas quando um carregador de partida de módulo de partida de segurança, uma partição de registro de configuração de plataforma (PCR) e um código de núcleo são todos confiáveis, em que a credibilidade do código de núcleo é medida pelo carregador de partida de acordo com um valor de medição padrão de códi- go de núcleo pré-armazenado na partição de PCR e o código de núcleo é inicializado para acionar o núcleo a fim de medir a credibilidade do carregador de partida. Portanto, as soluções técnicas fornecidas nas modalidades da presente invenção podem aprimorar a segurança de iniciação de núcleo até certo ponto.
BREVE DESCRIÇÃO DOS DESENHOS
[00133] A fim de descrever as soluções técnicas nas modalidades da presente invenção ou na técnica anterior mais claramente, os desenhos anexos exigidos para descrever as modalidades ou a técnica anterior são brevemente descritos a seguir. Evidentemente, os desenhos anexos na descrição a seguir mostram meramente algumas modalidades da presente invenção, e indivíduos de conhecimento comum na técnica ainda podem derivar outros desenhos a partir desses desenhos anexos sem esforços criativos.
[00134] A Figura 1 é um fluxograma para iniciar um sistema de acordo com a presente invenção;
[00135] A Figura 2a é um fluxograma de uma modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00136] A Figura 2b é um fluxograma de outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00137] A Figura 2c é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00138] A Figura 2d é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00139] A Figura 3a é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00140] A Figura 3b é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00141] A Figura 3c é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00142] A Figura 3d é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção;
[00143] A Figura 4a é um diagrama estrutural esquemático de uma modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00144] A Figura 4b é um diagrama estrutural esquemático de outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00145] A Figura 4c é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00146] A Figura 4d é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00147] A Figura 4e é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00148] A Figura 4f é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00149] A Figura 5a é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00150] A Figura 5b é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00151] A Figura 5c é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00152] A Figura 5d é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00153] A Figura 5e é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
[00154] A Figura 5f é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção;
DESCRIÇÃO DAS MODALIDADES
[00155] A seguir, as soluções técnicas nas modalidades da presente invenção são descritas clara e completamente com referência aos desenhos anexos nas modalidades da presente invenção. Evidentemente, as modalidades descritas são apenas algumas e não todas as modalidades da presente invenção. Todas as outras modalidades obtidas por indivíduos de conhecimento comum na técnica com base nas modalidades da presente invenção sem esforços criativos devem ser abrangidas pelo escopo de proteção da presente invenção.
[00156] A Figura 1 é um fluxograma para iniciar a sistema de acordo com uma modalidade da presente invenção. Com referência a um método de iniciação de núcleo confiável fornecido nas modalidades mostradas na presente invenção, através de comparação, uma diferença entre um diagrama estrutural mostrado nessa modalidade e um procedimento de sistema incorporado na técnica anterior consiste no fato de que: um módulo de plataforma de componente flexível confiável é instalado adicionalmente em um procedimento de iniciação do sistema incorporado existente. O módulo de plataforma de componente flexível confiável pode controlar a realização de um processo no qual um carregador de partida mede uma partição de PCR e um núcleo, a medição de um carregador de partida e um módulo de aprimoramento de gerenciamento de segurança de núcleo por um núcleo e a medição de um programa de aplicativo por um módulo de aprimoramento de gerenciamento de segurança de núcleo, em que esses processos estão nos métodos mostrados na Figura 2.
[00157] O procedimento de iniciação de sistema é resumido como: Após o sistema ser ligado, um programa de partida de segurança, ou seja, um carregador de partida, é iniciado, e o módulo de plataforma de componente flexível confiável invoca o carregador de partida para medir uma partição de registro de localização de plataforma PCR. Caso a partição de PCR atual seja confiável, o módulo de plataforma de componente flexível confiável continua a invocar o carregador de par-tida para medir o núcleo. Caso o núcleo atual seja confiável, o módulo de plataforma de componente flexível confiável instrui o carregador de partida a carregar o núcleo e inicializa o núcleo e, em seguida, invoca o núcleo inicializado para medir o carregador de partida novamente. Caso o carregador de partida seja confiável nesse caso, o módulo de plataforma de componente flexível confiável instrui o núcleo a iniciar e mede o módulo de aprimoramento de gerenciamento de segurança de núcleo. Caso a medição do módulo de aprimoramento de gerenciamento de segurança de núcleo medido seja atualmente confiável, o módulo de plataforma de componente flexível confiável instrui o núcleo a carregar o módulo de aprimoramento de gerenciamento de segurança de núcleo e, em seguida, mede, com o uso do módulo de aprimo- ramento de gerenciamento de segurança de núcleo, um programa de aplicativo a ser iniciado. Caso um resultado de medição seja confiável, o programa de aplicativo é iniciado normalmente. O carregador de partida mede a partição de PCR e o núcleo respectivamente de acordo com um primeiro algoritmo de segurança e com um primeiro algoritmo completo com o uso de um primeiro módulo de medição. O núcleo mede o carregador de partida e o módulo de aprimoramento de gerenciamento de núcleo respectivamente, de acordo com um segundo al-goritmo completo e com um terceiro algoritmo completo, com o uso de um segundo módulo de medição. O módulo de aprimoramento de ge-renciamento de núcleo mede o programa de aplicativo, de acordo com o quarto algoritmo completo, com o uso de um terceiro módulo de medição. A iniciação segura de um sistema incorporado confiável pode ser implantada com o uso de tal método para realizar a iniciação nível a nível após a realização da medição nível a nível.
[00158] A Figura 2a é um fluxograma de uma modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção; Conforme mostrado na Figura 2a, o método de iniciação de núcleo confiável inclui especificamente:
[00159] S201: Iniciar um carregador de partida de módulo de partida de segurança;
[00160] Atualmente, um sistema incorporado usado em um dispositivo terminal, tal como, um PC, um telefone móvel ou um iPad, inclui principalmente os seguintes módulos de função: um programa de partida (carregador de partida), um núcleo (núcleo) e um módulo de ge-renciamento de segurança de núcleo. Após os módulos de função no sistema incorporado serem iniciados normalmente, um usuário pode invocar vários programas de aplicativo para realizar as operações correspondentes.
[00161] Nessa modalidade, após o dispositivo terminal ser ligado, uma ordem de iniciação dos módulos de função é: um módulo de partida de segurança (carregador de partida) armazenado em um armazenamento é carregado, primeiramente, no sistema incorporado no dispositivo para iniciar o carregador de partida. Especificamente, nessa modalidade, um processo completo de iniciação do carregador de partida é dividido em três partes: uma parte de BL 0 (carregador de partida 0), uma parte de BL 1 (carregador de partida 1) e uma parte de BL 2 (carregador de partida 2).
[00162] Um BL 0 se refere ao código de iniciação embutido em uma iROM de S5PV210. Assim que o sistema é ligado, nem todo um estado do sistema é inicializado e um relógio interno não é definido. Nesse caso, apenas uma iRAM está disponível. Caso uma fonte de alimentação supra potência normalmente, nesse caso, o procedimento de iniciação irá iniciar a partir do código de iniciação embutido na iROM. O código de iniciação embutido na iROM é um código relacionado a hardware. Em geral, o código de iniciação é embutido em um dispositivo de hardware correspondente, através de um hardware, que não pode ser mudado por um usuário. O código de iniciação é responsável por inicializar o relógio do sistema, definir um cão-de-guarda (watchdog), inicializar um lote e uma pilha e carregar um BL 1.
[00163] O BL 1 se refere ao código dos primeiros 16 K (um máximo é 16 K) de um arquivo binário uboot.bin que é copiado automaticamente de um armazenamento ex-estendido (nand/sd/usb) pela iRAM. Uma função do BL 1 e detectar e inicializar uma RAM externa, fechar um Cache, definir uma pilha e carregar um BL 2.
[00164] O BL 2 se refere ao código de carregador de partida universal (uboot) completo executado em uma memória após o redireciona- mento de código e também é denominado de Carregador de partida Principal. O código carregador de partida principal é muito importante, inclui inicialização de sistema de arquivo, suporte de rede, inicialização de memória extra e outras ocupações e é responsável por carregar um núcleo de sistema operacional (OS) (que é denominado resumidamente de núcleo subsequentemente).
[00165] Um processo completo de iniciar o carregador de partida pode ser descrito como: Após ser iniciado, o BL 0 (o código de iniciação embutido na iROM) carrega o BL 1 (o código dos primeiros 16 KB do carregador de partida) da iRAM. Em seguida, o BL 1 é executado na iRAM e carrega o BL 2 (um carregador de partida restante) em uma memória (uma SDRAM); e o BL 2 carrega o núcleo e possibilita que o OS seja executado na SDRAM, de modo que o OS seja finalmente executado na SDRAM.
[00166] A iniciação de um carregador de partida de módulo de partida de segurança nessa etapa se refere à iniciação da parte de BL 0 e da parte de BL 1 que estão no carregador de partida após o sistema ser ligado e após o carregador de partida no armazenamento ser carregado.
[00167] S202: Invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma PCR ser confiável.
[00168] Nessa modalidade, após o sistema iniciar a parte de BL 0 e a parte de BL 1 que estão no carregador de partida e antes de o sistema executar a parte de BL 2, ou seja, carregar o núcleo, o sistema instrui o carregador de partida a medir, de acordo com o primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável. Os parâmetros relacionados, tais como, valores de medição padrões usados para medir a integridade ou a segurança dos nós, necessários aos nós (tais como, um carregador de partida, um núcleo e um módulo de aprimoramento de gerenciamento de segurança de núcleo) no processo de iniciação de sistema são pré-armazenados na partição de PCR. Esses valores de medição padrões podem ser relatados de maneira proativa pelos nós ao sistema em um processo de iniciação do sistema pela primeira vez e o sistema armazena os valores de medição padrões em uma unidade de armazenamento especificada no sistema.
[00169] Especificamente, o primeiro algoritmo de segurança pode ser empacotado e armazenado em uma unidade de armazenamento no sistema. Após o carregador de partida concluir a realização do processo de BL 1, o carregador de partida pode acionar lembrando o sistema que o processo de BL 1 atual já está concluído. Após receber um sinal de acionamento, o sistema invoca o carregador de partida para medir, de acordo com o primeiro algoritmo de segurança pré- armazenado na unidade de armazenamento, a credibilidade da partição de registro de configuração de plataforma (PCR).
[00170] Especificamente, o primeiro algoritmo de segurança pode ser especificamente, por exemplo, um algoritmo de hash seguro (sha1) ou um algoritmo de hash doméstico SM3, e o princípio de medição do primeiro algoritmo de segurança pode ser descrito como: o cálculo é realizado em um objeto a ser medido, por exemplo, um arquivo de imagem, com o uso dos dois algoritmos supracitados, a fim de obter um valor de medição (ou seja, um valor de digest do objeto medido, em que um valor de digest de um objeto medido correspondente ao algoritmo de sha1 é 160 bits, e um valor de digest de um objeto medido correspondente ao algoritmo SM3 é 256 bits) do objeto medido atual, em que o valor de medição é um valor exclusivo, que é obtido através de cálculo com o uso de um algoritmo correspondente, de um objeto medido. Caso um valor de medição de um objeto medido mude, pode-se considerar que o objeto medido mudou ou foi modificado. De modo semelhante, um processo no qual o carregador de partida mede, de acordo com o primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável é descrito da seguinte maneira: O carregador de partida lê, como um objeto medido, um arquivo de imagem da partição de PCR em uma memória e calcula um valor de medição da partição de PCR com o uso do primeiro algoritmo de segurança, em que caso o valor de medição não mude, isso indica que a partição de PCR não uda e é segura e confiável. Em contrapartida, caso o valor de medição mude isso indica que a partição de PCR pode ter sido modificada de maneira violenta-mente artificial e muda; nesse caso, a segurança de dados relacionados armazenados na partição de PCR é também questionável. A fim de garantir a segurança de um ambiente em execução de todo um sistema, o carregador de partida notifica ao sistema que a medição de segurança de PCR falhou e lembra ao sistema de interromper o pro-cesso de iniciação de sistema e desligar o dispositivo.
[00171] O primeiro algoritmo de segurança usado no processo de medir realmente a credibilidade da partição de PCR pode ser adicionalmente qualquer algoritmo dentre um algoritmo MTV5, um algoritmo SHA2, um algoritmo SHA256 e um algoritmo MD. Um método e o princípio para medir a credibilidade do primeiro algoritmo de segurança são iguais aos do sha1 e do SM3, em exceção de que os processos de cálculo específico diferem uma vez que os tipos específicos de al-goritmo diferem. De acordo com um nível de entendimento das pessoas versadas na técnica, com base no mesmo princípio, a credibilidade da partição de PCR é medida com o uso do método supracitado e os detalhes não são descritos no presente documento novamente.
[00172] S203: Invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável.
[00173] Especificamente, quando o valor de medição da partição de PCR é calculado com o uso do primeiro algoritmo de segurança, após ser determinado, de acordo com o valor de medição, que a partição de PCR é confiável, o sistema invoca o carregador de partida para ler o código de núcleo na memória, usa o código de núcleo como um objeto medido e determinar, invocando-se o carregador de partida para compatibilizar e calcular, de acordo com o primeiro algoritmo completo pré- armazenado na unidade de armazenamento, uma relação de valor entre um valor de medição real de código de núcleo e um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável. O primeiro algoritmo completo pode ser um dentre os primeiros algoritmos de segurança listados na etapa 202, e para o método e princípio para medir a credibilidade do código de núcleo pelo carregador de partida, de acordo com o primeiro algoritmo completo, a referência pode ser feita ao conteúdo correspondente do processo para medir a credibilidade da partição de PCR, de acordo com o primeiro algoritmo de segurança na etapa 202, e os detalhes não são descritos no presente documento novamente.
[00174] S204: inicializar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável.
[00175] Especificamente, após o primeiro algoritmo completo ser usado para medir que o código de núcleo é seguro e confiável, o sistema invoca o carregador de partida para realizar o processo de BL 2 para carregar o núcleo. Em um estágio precoce de carregamento do núcleo, o código de núcleo para o carregamento precisa ser inicializa- do primeiramente. Diferente da técnica anterior, nessa modalidade da presente invenção, após concluir a inicialização do código de núcleo, o sistema, primeiramente, aciona o núcleo inicializado para medir, de acordo com o segundo algoritmo completo, a possibilidade de o carre-gador de partida ser confiável; o segundo algoritmo completo, igualmente ao primeiro algoritmo completo, também está pré-armazenado na unidade de armazenamento no sistema, e um tipo de um algoritmo que é referenciado especificamente pelo segundo algoritmo completo pode ser igual a um tipo de um algoritmo que é referenciado pelo primeiro algoritmo completo, ou o algoritmo que é referenciado especifi-camente pelo segundo algoritmo completo é qualquer um dentre os algoritmos listados supracitados; e um processo de medição específico do segundo algoritmo completo é também igual ao método e princípio para medir credibilidade do código de núcleo com o uso do primeiro algoritmo completo, e os detalhes não descritos no presente documento novamente nessa modalidade. Em contrapartida, caso o primeiro algoritmo completo seja usado para medir que o código de núcleo é não confiável, o carregador de partida notifica ao sistema que a medição de segurança de núcleo de sistema falhou e lembra ao sistema para interromper o processo de iniciação de sistema e desligar o dispositivo.
[00176] S205: Iniciar o núcleo, caso o carregador de partida seja confiável.
[00177] Especificamente, após o núcleo inicializado usar o segundo algoritmo completo para medir que o carregador de partida é confiável, o sistema iniciar o código de núcleo completamente e possibilita que o OS seja executado na SDRAM, de modo que o OS finalmente seja executado na SDRAM. Em contrapartida, caso o núcleo inicializado use o segundo algoritmo completo para medir que o carregador de partida é não confiável, o núcleo notifica ao sistema que a medição de segurança de carregador de partida falhou e lembra ao sistema para interromper o processo de iniciação de sistema e desligar o dispositi-vo.
[00178] De acordo com o método de iniciação de núcleo confiável fornecido na presente invenção, um carregador de partida de módulo de partida de segurança é iniciado; o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de platafor-ma (PCR) ser confiável; caso a partição de PCR seja confiável, o carregador de partida é invocado para ler o código de núcleo em uma memória e o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo seja confiável; caso o código de núcleo seja confiável, o código de núcleo é inicializado para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e, caso o carregador de partida seja confiável, o núcleo é iniciado. Nessa solução, a segurança de iniciação de núcleo é aprimorada até certo ponto.
[00179] A Figura 2b é um fluxograma de outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção. O método de iniciação de núcleo confiável nessa modalidade é uma maneira de implantação específica da modalidade mostrada na Figura 2a. Conforme mostrado na Figura 2b, o método de iniciação de núcleo confiável inclui especificamente:
[00180] S211: Iniciar um carregador de partida de módulo de partida de segurança. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 201.
[00181] S212: Adquirir um valor de medição padrão, que é pré-armazenado em uma partição de ambiente ENV, de uma partição de PCR.
[00182] Antes da etapa 202 na modalidade mostrada na Figura 2a, um sistema pode, primeiramente, adquirir adicionalmente o valor de medição padrão, que está pré-armazenado na partição de ambiente ENV, da partição de PCR, em que o valor de medição padrão é um valor de medição que é gerado, através do cálculo, do uso de um primeiro algoritmo de segurança, quando a partição de PCR armazena pela primeira vez os parâmetros relacionados necessários aos nós quando o sistema é iniciado, um arquivo de imagem que corresponde à partição de PCR atual.
[00183] Especificamente, um processo específico da aquisição de um valor de medição padrão, que está pré-armazenado em uma partição de ambiente ENV, de uma partição de PCR ocorre de acordo com o seguinte:
[00184] 1. Gerar uma chave raiz com base em um PIN inserido por um usuário.
[00185] Quando o sistema é ligado e executado pela primeira, o sistema recebe, primeiramente, os valores de medição padrões que são enviados pelo nós-chave, tais como, um carregador de partida e um núcleo no sistema e que são usados para medir a segurança dos nós- chave; em seguida, os valores de medição padrões são armazenados em uma partição de PCR em um armazenamento dispositivo, para referência de medição futura. Em seguida, o sistema usa o primeiro algoritmo de segurança para calcular um valor de medição padrão P (20 Bytes) do arquivo de imagem que corresponde à partição de PCR, e que o valor de medição padrão é criptografado com o uso de uma chave raiz de dispositivo SRK para gerar um ENC{P}, sendo que o ENC{P} é armazenado nos últimos 20 bytes da partição de ENV. A chave raiz é comandada pelo usuário; e toda vez que o sistema é iniciado, o usuário pode inserir uma semente de raiz chave correspondente, ou seja, um PIN, de modo que o sistema gere a chave raiz.
[00186] 2. Descriptografar a partição de ENV com o uso da chave raiz para adquirir o valor de medição padrão, que está pré- armazenado na partição EVN, da partição de PCR.
[00187] Após o carregador de partida concluir o processo de BL 1, o sistema recebe o PIN inserido pelo usuário e gera uma SRK de acordo com o PIN, de modo que descriptografia seja realizada nos últimos 20 bytes da partição de ENV.
[00188] Caso o PIN inserido pelo usuário esteja correto, o sistema gera a SRK de acordo com o PIN de modo que se possa implantar que o ENC{P} na partição de ENV está descriptografado de maneira bem- sucedida, e um valor P é adquirido. O valor P é o valor de medição padrão correspondente à partição de PCR. A possibilidade de a partição de PCR ser confiável pode ser determinada comparando-se P e um valor de medição real de partição de PCR. Dessa maneira, até mesmo caso um usuário não autorizado interfira com quaisquer informações na partição de PCR, o usuário não autorizado ainda não pode interferir com um ENC{P} correspondente. Portanto, uma vez que a partição de PCR é interferida, esse caso pode ser constatado, e o sistema é orientado adicionalmente para interromper o atual processo de iniciação.
[00189] S213: Invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 202.
[00190] Especificamente, um processo específico no qual o carregador de partida mede, de acordo com o primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável pode ocorrer de acordo com o seguinte: Em primeiro lugar, o primeiro algoritmo de segurança é usado para calcular um arquivo de imagem de um objeto medido, ou seja, a partição de PCR, a fim de obter um valor de medição real da partição de PCR atual. O carregador de partida determina, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR mudar nos dois momentos de medição, a fim de determinar a possibilidade de a partição de PCR ser confiável. Caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, isso indica que a partição de PCR não muda e um ambiente da partição de PCR é seguro e confiável.
[00191] S214: Adquirir um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR.
[00192] Antes da etapa 203 na modalidade mostrada na Figura 2a, o sistema pode adquirir primeiramente o valor de medição padrão de código de núcleo da partição de PCR, em que o valor de medição padrão é relatado de maneira proativa pelo núcleo ao sistema, quando o sistema é iniciado pela primeira vez, após o núcleo calcular, de acordo com o primeiro algoritmo completo, um valor padrão correspondente ao núcleo, e é armazenado na partição de PCR pelo sistema.
[00193] S215: Invocar, caso a partição de PCR seja confiável, o carregador de partida para ler o código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 203.
[00194] Especificamente, caso a partição de PCR seja confiável, o sistema invoca o carregador de partida para ler o código de núcleo na memória, invoca o carregador de partida para calcular um valor de medição real de código de núcleo, de acordo com o primeiro algoritmo completo, e mede, comparando-se a possibilidade de o valor de medição real de código de núcleo seja igual ao valor de medição padrão, que é obtido da partição de PCR, do código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, isso indica que o código de núcleo é confiável.
[00195] S216: Adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR.
[00196] Antes da etapa 204 na modalidade mostrada na Figura 2a, o sistema pode, primeiramente, adquirir adicionalmente o valor de medição padrão de carregador de partida da partição de PCR, em que o valor de medição padrão é relatado de maneira proativa pelo carregador de partida ao sistema, quando o sistema é iniciado pela primeira vez, após o carregador de partida calcular, de acordo com o segundo algoritmo completo, com um valor padrão correspondente ao carregador de partida, e é armazenado na partição de PCR pelo sistema.
[00197] S217: Inicializar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 204.
[00198] Especificamente, caso o código de núcleo seja confiável, o sistema, primeiramente, inicializa o código de núcleo para acionar o núcleo inicializado a fim de calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo, e mede, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão, que é obtido da partição de PCR, do carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, isso indica que o carregador de partida é confiável.
[00199] S218: Iniciar o núcleo, caso o carregador de partida seja confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 105.
[00200] De acordo com o método de iniciação de núcleo confiável fornecido na presente invenção, um carregador de partida de módulo de partida de segurança é iniciado; o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de platafor-ma (PCR) ser confiável; caso a partição de PCR seja confiável, o carregador de partida é invocado para ler o código de núcleo em uma memória e o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo seja confiável; caso o código de núcleo seja confiável, o código de núcleo é inicializado para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e, caso o carregador de partida seja confiável, o núcleo é iniciado. Nessa solução, a segurança de iniciação de núcleo é aprimorada até certo ponto.
[00201] A Figura 2c é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção. O método de iniciação de núcleo confiável nessa modalidade é uma maneira de implantação específica da modalidade mostrada na Figura 2a. Conforme mostrado na Figura 2c, para o conteúdo das etapas 221 a 225, a referência pode ser feita ao conteúdo correspon- dente das etapas 201 a 205, e os detalhes não são descritos no presente documento novamente. Nessa modalidade, com base no método mostrado na Figura 2a, após a etapa 205, o método de iniciação de núcleo confiável inclui adicionalmente:
[00202] S226: Invocar um núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável.
[00203] O terceiro algoritmo completo, como o primeiro algoritmo completo, é também pré-armazenado em uma unidade de armazenamento no sistema e um tipo de um algoritmo que é referenciado especificamente pelo terceiro algoritmo completo pode ser igual a um tipo de um algoritmo que é referenciado pelo primeiro algoritmo completo, ou o algoritmo que é referenciado especificamente pelo terceiro algo-ritmo completo é qualquer um dentre os algoritmos listados supracitados; e um processo de medição específico do terceiro algoritmo com-pleto é também igual ao método e ao princípio para medir credibilidade do código de núcleo com o uso do primeiro algoritmo completo, e os detalhes não são descritos no presente documento novamente nessa modalidade.
[00204] Especificamente, após a iniciação do núcleo ser concluída, o sistema pode continuar a invocar o núcleo para medir, de acordo com o terceiro algoritmo completo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável.
[00205] Um método de medição específico é: o sistema adquire, primeiramente, um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo da partição de PCR, em que o valor de medição padrão é relatado de maneira proativa pelo módulo de aprimoramento de gerenciamento de segurança de núcleo ao sistema, quando o sistema é iniciado pela primeira vez, após o mó- dulo de aprimoramento de gerenciamento de segurança de núcleo usar um arquivo de imagem correspondente ao módulo de aprimoramento de gerenciamento de segurança de núcleo como um objeto medido e calcula, de acordo com o terceiro algoritmo completo, um valor padrão correspondente ao módulo de aprimoramento de gerenciamento de segurança de núcleo e é armazenado na partição de PCR pelo sistema.
[00206] Além disso, o sistema invoca o núcleo para calcular um valor atual de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo, e mede, comparando-se uma possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão, adquirido da partição de PCR, do módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, isso indica que o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
[00207] S227: Iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00208] Quando o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável, o núcleo carrega dinamicamente o módulo de aprimoramento de gerenciamento de segurança de núcleo e inicia todo o sistema, o que inclui todos os programas que precisam ser executados em um ambiente de trabalho normal do sistema.
[00209] Além disso, conforme mostrado na Figura 2d, após a etapa 227, ou seja, após o sistema operacional concluir a iniciação normal e antes de o sistema operacional iniciar cada programa de aplicativo, o sistema operacional pode realizar adicionalmente as seguintes etapas S238 e S239 para garantir adicionalmente a segurança do sistema operacional. Conforme mostrado na Figura 2d, para o conteúdo das etapas 231 a 237, a referência pode ser feita ao conteúdo correspondente das etapas 221 a 227, e os detalhes não são descritos no presente documento novamente.
[00210] S238: Invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável.
[00211] O quarto algoritmo completo, como o primeiro algoritmo completo, é também pré-armazenado em uma unidade de armazenamento no sistema e um tipo de um algoritmo que é referenciado especificamente pelo quarto algoritmo completo pode ser igual a um tipo de um algoritmo que é referenciado pelo primeiro algoritmo completo, ou o algoritmo que é referenciado especificamente pelo quarto algoritmo completo é qualquer um dentre os algoritmos listados supracitados; e um processo de medição específico do quarto algoritmo completo é também igual ao método e ao princípio para medir credibilidade do código de núcleo com o uso do primeiro algoritmo completo, e os detalhes não são descritos no presente documento novamente nessa mo-dalidade.
[00212] Um método de medição específico é: o sistema adquire, primeiramente, da partição de PCR, um valor de medição padrão do programa de aplicativo para ser iniciado, em que o valor de medição padrão é relatado de maneira proativa ao sistema, quando o programa de aplicativo correspondente é iniciado pela primeira vez, após o sistema invocar o módulo de aprimoramento de gerenciamento de segu- rança de núcleo para usar um arquivo de imagem correspondente ao programa de aplicativo como um objeto medido e calcular, de acordo com o quarto algoritmo completo, um valor padrão correspondente ao programa de aplicativo, e é armazenado na partição de PCR pelo sistema.
[00213] Além disso, o sistema invoca o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor atual de medição real do programa de aplicativo, de acordo com o quarto algoritmo completo, e mede, comparando-se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medi-ção padrão, adquirido da partição de PCR, do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, ca-so o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, isso indica que o programa de aplicativo é confiável.
[00214] S239: Caso o programa de aplicativo seja confiável, o sistema inicia o programa de aplicativo. Em contrapartida, caso um valor de medição real do programa de aplicativo não seja igual a um valor de medição padrão do programa de aplicativo, isso indica que o programa de aplicativo é não confiável; nesse caso, o módulo de aprimo-ramento de gerenciamento de segurança de núcleo notifica de maneira proativa ao sistema que o programa atual de aplicativo a ser iniciado é não confiável e solicita uma instrução sobre a possibilidade de realizar a iniciação continuamente. Em seguida, o usuário determina a possibilidade de realizar continuamente a iniciação abrindo-se uma janela correspondente de informações pelo sistema.
[00215] Pode-se entender que a etapa 236 e a etapa 237 ou as etapas 236 a 239 nessa modalidade podem ser realizadas também após a etapa 218 na modalidade mostrada na Figura 1, e os detalhes não são descritos no presente documento novamente.
[00216] De acordo com o método de iniciação de núcleo confiável fornecido na presente invenção, um carregador de partida de módulo de partida de segurança é iniciado; o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de platafor-ma (PCR) ser confiável; caso a partição de PCR seja confiável, o carregador de partida é invocado para ler o código de núcleo em uma memória, e o carregador de partida é invocado para medir, de acordo com um primeiro algoritmo completo e um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; caso o código de núcleo seja confiável, o código de núcleo é inicializado para acionar um núcleo iniciali- zado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; caso o carregador de partida seja confiável, o núcleo é iniciado; o núcleo é invocado para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e, caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável, um sistema operacional é iniciado. Nessa solução, a segurança de iniciação de núcleo e a segurança de iniciação de sistema operacional são aprimoradas até certo ponto.
[00217] A Figura 3a é um fluxograma de outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção. Conforme mostrado na Figura 3a, o método de iniciação de núcleo confiável inclui especificamente:
[00218] S301: Iniciar um carregador de partida de módulo de partida de segurança. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 201.
[00219] S302: Invocar o carregador de partida para medir, de acor- do com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 202.
[00220] S303: Invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável. Para um processo específico de realizar essa etapa, a referência pode ser feita ao conteúdo correspondente da etapa 203.
[00221] S304: Caso o código de núcleo seja confiável, executar o código de núcleo para iniciar um núcleo.
[00222] Especificamente, quando o carregador de partida é invocado para medir, de acordo com o primeiro algoritmo completo e com o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, que o código de núcleo é confiável, o sistema inicia completamente o código de núcleo e possibilita que o OS seja executado em uma SDRAM, de modo que o OS seja finalmente executado na SDRAM. Em contrapartida, caso o carregador de partida seja invocado para medir, de acordo com o primeiro algoritmo completo e com o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, que o código de núcleo é não confiável, o carregador de partida notifica ao sistema que a medição de segurança de núcleo falhou e lembra ao sistema para interromper o processo de iniciação de sistema e desligar o dispositivo.
[00223] No método de iniciação de núcleo confiável mostrado nessa modalidade, em comparação à modalidade mostrada na Figura 2a, o fato de que o núcleo mede o carregador de partida novamente no pro- cesso de iniciação é eliminado, e todo o núcleo é iniciado diretamente, o que simplifica um procedimento de núcleo até certo ponto. A segu-rança quando o núcleo é iniciado é também aprimorada medindo-se a segurança da partição de PCR antes de o núcleo ser carregado.
[00224] A Figura 3b é um fluxograma de outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção. O método de iniciação de núcleo confiável nessa modalidade é uma maneira de implantação específica da modalidade mostrada na Figura 3a. Conforme mostrado na Figura 3b, o método de iniciação de núcleo confiável inclui especificamente:
[00225] S311: Iniciar um carregador de partida de módulo de partida de segurança;
[00226] S312: Adquirir um valor de medição padrão, que é pré-armazenado em uma partição de ambiente ENV, de uma partição de PCR.
[00227] S313: Invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável.
[00228] S314: Adquirir um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR.
[00229] S315: Invocar, caso a partição de PCR seja confiável, o carregador de partida para ler o código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável.
[00230] S316: Caso o código de núcleo seja confiável, executar o código de núcleo para iniciar um núcleo.
[00231] Para um processo específico de realizar as etapas 311 a 315, a referência pode ser feita ao conteúdo correspondente das eta pas 211 a 215, e para um processo específico de realizar a etapa 316, a referência pode ser feita ao conteúdo correspondente da etapa 304; os detalhes não são descritos no presente documento novamente.
[00232] No método de iniciação de núcleo confiável mostrado nessa modalidade, em comparação à modalidade mostrada na Figura 2b, o fato de que o núcleo mede o carregador de partida novamente no processo de iniciação é eliminado, e todo o núcleo é iniciado diretamente, o que simplifica um procedimento de núcleo até certo ponto. A segurança quando o núcleo é iniciado é também aprimorada medindo-se a segurança da partição de PCR antes de o núcleo ser carregado.
[00233] A Figura 3c é um fluxograma de ainda outra modalidade de um método de iniciação de núcleo confiável, de acordo com a presente invenção. O método de iniciação de núcleo confiável nessa modalidade é uma maneira de implantação específica da modalidade mostrada na Figura 3a. Conforme mostrado na Figura 3c, com base no método mostrado na Figura 3a, após a etapa 304, o método de iniciação de núcleo confiável inclui adicionalmente:
[00234] S325: Invocar o núcleo para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável.
[00235] S326: Caso o carregador de partida seja confiável, invocar o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável.
[00236] S327: Iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00237] Conforme mostrado na Figura 3c, para o conteúdo das etapas 321 a 324, a referência pode ser feita ao conteúdo correspondente das etapas 301 a 304, e os detalhes não são descritos no presente documento novamente.
[00238] Além disso, conforme mostrado na Figura 3d, nessa modalidade, após a etapa 327, ou seja, após o sistema operacional concluir a iniciação normal e antes de o sistema operacional iniciar cada programa de aplicativo, o sistema operacional pode realizar adicionalmente as seguintes etapas S338 e S339 para garantir adicionalmente a segurança do sistema operacional.
[00239] S338: Invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável.
[00240] S339: O sistema iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00241] Para um processo específico de realizar a etapa 338 e a etapa 339, a referência pode ser feita ao conteúdo correspondente da etapa 238 e da etapa 239.
[00242] Pode-se entender que a etapa 336 e a etapa 337 ou as etapas 336 a 339 nessa modalidade podem ser realizadas também após a etapa 316 nessa modalidade mostrada na Figura 3b, e não serão descritos detalhes no presente documento novamente.
[00243] Além disso, antes da etapa 335, o método pode incluir adicionalmente: adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do carregador de partida. Para um processo específico de realizar a etapa, a referência pode ser feita ao conteúdo correspondente da etapa 216.
[00244] Além disso, para um processo específico de realizar a etapa 335, a referência pode ser feita ao conteúdo correspondente da etapa 217.
[00245] No método de iniciação de núcleo confiável mostrado nessa modalidade, em comparação à modalidade mostrada na Figura 2c, o fato de que o núcleo mede o carregador de partida novamente no processo de iniciação é eliminado, e todo o núcleo é iniciado diretamente; em seguida, o núcleo iniciado é invocado para realizar a medição segura no carregador de partida, o que simplifica um procedimento de iniciação de núcleo até certo ponto e garante a segurança de iniciação de sistema operacional.
[00246] As pessoas de habilidade comum na técnica podem entender que todas ou algumas das etapas das modalidades do método podem ser implantadas por um programa que instrui um hardware relacionado. O programa pode ser armazenado em um meio de armazenamento legível por computador. Quando o programa for executado, as etapas das modalidades do método serão executadas. A mídia de armazenamento anteriormente mencionada inclui qualquer mídia que possa armazenar o código de programa, tais como uma ROM, uma RAM, um disco magnético ou um disco óptico.
[00247] A Figura 4a é um diagrama estrutural esquemático de uma modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção. O aparelho pode ser um sistema de iniciação incorporado ou um módulo de função fixo recentemente adicionado ao sistema, por exemplo, um módulo de plataforma de componente flexível confiável mostrado na Figura 1. O aparelho de iniciação de núcleo confiável pode realizar o método de iniciação de núcleo confiável mostrado na Figura 2. Conforme mostrado na Figura 4, o aparelho de iniciação de núcleo confiável inclui especificamente: um módulo de iniciação de partida 401, um primeiro módulo de medição 402, um segundo módulo de medição 403 e um módulo de iniciação de núcleo 404, em que
[00248] o módulo 401 de iniciação de partida é configurado para iniciar um carregador de partida de módulo de partida de segurança;
[00249] o primeiro módulo de medição 402 é configurado para invo- car o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável, em que
[00250] o primeiro módulo de medição 402 é configurado adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler o código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável;
[00251] o segundo módulo de medição 403 é configurado para ini- cializar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e
[00252] o módulo de iniciação de núcleo 404 é configurado para iniciar o núcleo, caso o carregador de partida seja confiável.
[00253] Além disso, conforme mostrado na Figura 4b, as funções específicas de 411 a 414 são correspondentemente iguais às funções de 401 a 404 na Figura 1, e os detalhes não serão descritos no presente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente um mó-dulo de aquisição 415, em que o módulo de aquisição 415 é configurado para:
[00254] adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; adquirir o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR; e adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR, em que, na modalidade mostrada na Figura 4b, as etapas de método da modalidade mostrada na Figura 2b podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 4b.
[00255] Além disso, conforme mostrado na Figura 4c, as funções específicas de 421 a 424 são correspondentemente iguais às funções de 401 a 404 na Figura 4a e não são descritas no presente documento novamente. No aparelho de iniciação de núcleo confiável fornecido nessa modalidade:
[00256] um segundo módulo de medição 423 é configurado adicionalmente para invocar o núcleo a fim de medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e,
[00257] Conforme mostrado na Figura 4c, o aparelho de iniciação de núcleo confiável pode incluir adicionalmente um módulo de iniciação de sistema 426, configurado para iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00258] As etapas de método da modalidade mostrada na Figura 2c podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 4c.
[00259] Além disso, conforme mostrado na Figura 4d, as funções específicas de 431 a 434 e 436 são correspondentes iguais às funções de 421 a 424 e 426 na Figura 1, e os detalhes não serão descritos no presente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente:
[00260] um terceiro módulo de medição 437 configurado para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00261] um módulo de iniciação de programa de aplicativo 438 con- figurado para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00262] As etapas de método da modalidade mostrada na Figura 2d podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 4d.
[00263] Além disso, conforme mostrado na Figura 4e, as funções específicas de 441 a 445 são correspondentemente iguais às funções de 411 a 415 na Figura 4b, e os detalhes não serão descritos no presente documento novamente. No aparelho de iniciação de núcleo confiável fornecido nessa modalidade:
[00264] um segundo módulo de medição 443 é configurado adicionalmente para invocar o núcleo a fim de medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e,
[00265] um módulo de aquisição 445 é configurado adicionalmente para adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR; e
[00266] Conforme mostrado na Figura 4e, o aparelho de iniciação de núcleo confiável pode incluir adicionalmente um módulo de iniciação de sistema 446, configurado para iniciar um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00267] Além disso, conforme mostrado na Figura 4f, as funções específicas de 451 a 456 são correspondentemente iguais às funções de 441 a 446 na Figura 4e, e os detalhes não serão descritos no presente documento novamente. No aparelho de iniciação de núcleo confiável fornecido nessa modalidade:
[00268] um módulo de aquisição 455 é configurado adicionalmente para adquirir um valor de medição padrão, que está pré-armazenado na partição de PCR, do programa de aplicativo.
[00269] Conforme mostrado na Figura 4f, o aparelho de iniciação de núcleo confiável pode incluir adicionalmente:
[00270] um terceiro módulo de medição 457 configurado para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00271] um módulo de iniciação de programa de aplicativo 458 configurado para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00272] As etapas de método das modalidades mostradas nas Figuras 2a a 2d podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 4f.
[00273] O aparelho de iniciação de núcleo confiável fornecido nessa modalidade da presente invenção inicia um carregador de partida de módulo de partida de segurança; invoca o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibili-dade de uma partição de registro de configuração de plataforma (PCR) ser confiável; caso a partição de PCR seja confiável, invoca o carregador de partida para ler código de núcleo em uma memória e invoca o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; caso o código de núcleo seja confiável, inicializar o código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida seja confiável; e, caso o carregador de partida seja confiável, iniciar um núcleo. Nessa solução, a segurança de iniciação de núcleo é aprimorada até certo ponto.
[00274] A Figura 5a é um diagrama estrutural esquemático de ainda outra modalidade de um aparelho de iniciação de núcleo confiável, de acordo com a presente invenção. O aparelho pode ser o sistema de iniciação incorporado ou um módulo de função fixo recentemente adicionado ao sistema, por exemplo, um módulo de plataforma de componente flexível confiável mostrado na Figura 1. O aparelho de iniciação de núcleo confiável pode realizar o método de iniciação de núcleo confiável mostrado na Figura 3a. Conforme mostrado na Figura 5a, o aparelho de iniciação de núcleo confiável inclui especificamente: uma unidade de iniciação de partida 501, uma primeira unidade de medição 502 e uma unidade de iniciação de núcleo 503, em que
[00275] a unidade de iniciação de partida 501 é configurada para iniciar um carregador de partida de módulo de partida de segurança;
[00276] o primeiro módulo de medição 502 é configurado para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável, em que
[00277] o primeiro módulo de medição 502 é configurado adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler o código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; e
[00278] a unidade de iniciação de núcleo 503 é configurada para: caso o código de núcleo seja confiável, executar o código de núcleo para iniciar um núcleo.
[00279] Além disso, conforme mostrado na Figura 5b, as funções específicas de 511 a 513 são correspondentemente iguais às funções de 501 a 503 na Figura 1, e os detalhes não serão descritos no pre-sente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente uma uni-dade de aquisição 514, em que a unidade de aquisição 514 é configurada para:
[00280] adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; e adquirir o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR.
[00281] As etapas de método da modalidade mostrada na Figura 3b podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 5b
[00282] Além disso, conforme mostrado na Figura 5c, as funções específicas de 521 a 523 são correspondentemente iguais às funções de 501 a 503 na Figura 1, e os detalhes não serão descritos no presente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente:
[00283] uma segunda unidade de medição 525 configurada para invocar o núcleo a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável, em que
[00284] a segunda unidade de medição 525 é configurada adicionalmente para: caso o carregador de partida seja confiável, invocar o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[00285] uma unidade de iniciação de sistema 526 configurada para iniciar um sistema operacional, caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00286] As etapas de método da modalidade mostrada na Figura 3c podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 5c.
[00287] Além disso, conforme mostrado na Figura 5d, as funções específicas de 531 a 533 e 536 são correspondentes iguais às funções de 521 a 525 e 526 na Figura 1, e os detalhes não serão descritos no presente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente:
[00288] uma terceira unidade de medição 437 configurada para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00289] uma unidade de iniciação de programa de aplicativo 538 configurada para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00290] As etapas de método da modalidade mostrada na Figura 3d podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 5d.
[00291] Além disso, conforme mostrado na Figura 5e, as funções específicas de 541 a 544 são correspondentemente iguais às funções de 511 a 514 na Figura 1, e os detalhes não serão descritos no presente documento novamente. O aparelho de iniciação de núcleo confiável fornecido nessa modalidade pode incluir adicionalmente:
[00292] uma segunda unidade de medição 545 configurada para invocar o núcleo a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável, em que
[00293] a segunda unidade de medição 545 é configurada adicionalmente para: caso o carregador de partida seja confiável, invocar o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e
[00294] uma unidade de iniciação de sistema 546 configurada para iniciar um sistema operacional, caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
[00295] No aparelho de iniciação de núcleo confiável mostrado na Figura 5e, uma unidade de aquisição 544 é configurada adicionalmente para: adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré-armazenado na partição de PCR.
[00296] Além disso, conforme mostrado na Figura 5f, as funções específicas de 551 a 556 são correspondentemente iguais às funções de 541 a 546 na Figura 1, e os detalhes não serão descritos no presente documento novamente. No aparelho de iniciação de núcleo confiável fornecido nessa modalidade:
[00297] uma unidade de aquisição 554 é configurada adicionalmente para adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do programa de aplicativo.
[00298] Conforme mostrado na Figura 5f, o aparelho de iniciação de núcleo confiável pode incluir adicionalmente:
[00299] um terceiro módulo de medição 557 configurado para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e
[00300] um módulo de iniciação de programa de aplicativo 558 configurado para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
[00301] As etapas de método das modalidades mostradas nas Figuras 3a a 3d podem ser realizadas pelo aparelho de iniciação de núcleo confiável mostrado na Figura 5f.
[00302] O aparelho de iniciação de núcleo confiável mostrado nessa modalidade inicia um carregador de partida de módulo de partida de segurança; invoca o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável; caso a partição de PCR seja confiável, invoca o carregador de partida para ler o código de núcleo em uma memória e invoca o carregador de partida para medir, de acordo com um primeiro algoritmo completo e um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; caso o código de núcleo seja confiável, executa o código de núcleo para iniciar um núcleo. Em comparação à modalidade mostrada na Figura 4a, o fato de que o núcleo mede o carregador de partida nova-mente no processo de iniciação é eliminado, e todo o núcleo é iniciado diretamente, o que simplifica um procedimento de iniciação de núcleo até certo ponto. A segurança quando o núcleo é iniciado é também aprimorada medindo-se a segurança da partição de PCR antes de o núcleo ser carregado.
[00303] Pode ser entendido claramente pelas pessoas versadas na técnica que, para propósito de conveniência e de breve descrição, a divisão dos módulos de função supracitados é usada como um exemplo para ilustração. Em aplicação real, as funções anteriormente mencionadas podem ser alocadas a diferentes módulos de função e im-plantadas de acordo com um requerimento, ou seja, uma estrutura interna de um aparelho é dividida em diferentes módulos de função para implantar todas ou algumas funções descritas acima. Para um processo de funcionamento detalhado do sistema, do aparelho e da unidade anteriormente mencionados, pode ser feita referência a um processo correspondente nas modalidades de método anteriormente menciona-das, e não serão descritos detalhes no presente documento novamente.
[00304] Nas diversas modalidades fornecidas no presente pedido, deve-se entender que o sistema, aparelho e método revelados podem ser implantados de outras maneiras. Por exemplo, a modalidade de aparelho descrita é meramente exemplificativa. Por exemplo, o módulo ou divisão de unidade é meramente uma divisão de função lógica e pode ser outra divisão em uma implantação real. Por exemplo, uma pluralidade de unidades ou de componentes pode ser combinada ou integrada em outro sistema, ou algumas características podem ser ignoradas ou não realizadas. Além disso, os acoplamentos mútuos ou acoplamentos diretos ou conexões de comunicação exibidos ou discutidos podem ser implantados com o uso de algumas interfaces. Os acoplamentos indiretos ou conexões de comunicação entre os aparelhos ou unidades podem ser implantados em formas eletrônicas, mecânicas ou outras formas.
[00305] As unidades descritas como partes separadas podem ou não ser separadas fisicamente, e as partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas em uma posição, ou podem estar distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com necessidades reais para alcançar os objetivos das soluções das modalidades.
[00306] Além disso, as unidades funcionais nas modalidades do presente pedido podem ser integradas em uma unidade de processamento, cada uma das unidades pode existir fisicamente sozinha, ou duas ou mais unidades são integradas em uma unidade. A unidade integrada pode ser implantada em uma forma de hardware ou pode ser implantada em uma forma de uma unidade funcional de software.
[00307] Quando a unidade integrada é implantada na forma de uma unidade funcional de software e vendida ou usada como um produto independente, a unidade integrada pode ser armazenada em uma mídia de armazenamento legível por computador. Com base em uma tal compreensão, essencialmente as soluções técnicas do presente pedido, ou a parte que contribui para a técnica anterior, ou todas as soluções técnicas, ou uma parte das mesmas, podem ser implementadas em forma de um produto de software. O produto de software é armazenamento em uma mídia de armazenamento e diversas instruções para instruir um dispositivo de computador (que pode ser um compu-tador pessoal, um servidor ou um dispositivo de rede) ou um processador a realizar todas ou uma parte das etapas dos métodos descritos nas modalidades do presente pedido. A mídia de armazenamento su-pracitado inclui: qualquer mídia que possa armazenar um código de programa, tal qual uma unidade flash USB, um disco rígido removível, uma memória só de leitura (ROM, Memória de Apenas Leitura), uma memória de acesso aleatório (RAM, Memória De Acesso Aleatório), um disco magnético, ou um disco óptico.
[00308] As modalidades supracitadas devem apenas descrever as soluções técnicas do presente pedido, porém não limitar o presente pedido. Embora o presente pedido seja descrito detalhadamente com referência às modalidades mencionadas anteriormente, as pessoas de habilidade comum na técnica devem entender que é possível, ainda, realizar modificações nas soluções técnicas descritas nas modalidades mencionadas anteriormente ou realizar as substituições equivalentes em alguns recursos técnicos, sem que se afaste do espírito e escopo das soluções técnicas das modalidades do presente pedido.

Claims (36)

1. Método de iniciação de núcleo confiável caracterizado pelo fato de que compreende: iniciar (201) um carregador de partida de módulo de partida de segurança; invocar (202) o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável; invocar (203), caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; inicializar (204), caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e iniciar (205) o núcleo caso o carregador de partida seja confiável.
2. Método de iniciação de núcleo confiável, de acordo com a reivindicação 1, caracterizado pelo fato de que o método compreende adicionalmente: adquirir (212) um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; e invocar (202) o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável compreende: invocar (213) o carregador de partida para calcular um valor de medição real de partição de PCR, de acordo com o primeiro algoritmo de segurança, e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
3. Método de iniciação de núcleo confiável, de acordo com a reivindicação 2, caracterizado pelo fato de que adquirir (212) um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV compreende: gerar uma chave raiz com base em um PIN inserido por um usuário; e descriptografar a partição de ENV com o uso da chave raiz para adquirir o valor de medição padrão de partição de PCR pré- armazenado na partição de ENV.
4. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que o método compreende adicionalmente: adquirir (214) o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR; e invocar (203), caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável compreendem: caso a partição de PCR seja confiável, invocar (215) o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
5. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o método compreende adicionalmente: adquirir (216) um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e inicializar (204), caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável compreende: caso o código de núcleo seja confiável, inicializar (217) o código de núcleo para acionar o núcleo inicializado para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
6. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que, após a iniciação do núcleo, compreende adicionalmente: invocar (226) o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e iniciar (277) um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
7. Método de iniciação de núcleo confiável, de acordo com a reivindicação 6, caracterizado pelo fato de que o método compreende adicionalmente: adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré- armazenado na partição de PCR; e invocar (226) o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável compreende: invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
8. Método de iniciação de núcleo confiável, de acordo com a reivindicação 6 ou 7, caracterizado pelo fato de que após iniciar um sistema operacional compreende adicionalmente: invocar (238) o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e iniciar (239) o programa de aplicativo, caso o programa de aplicativo seja confiável.
9. Método de iniciação de núcleo confiável, de acordo com a reivindicação 8, caracterizado pelo fato de que o método compreende adicionalmente: adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do programa de aplicativo; e invocar (238) o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável e compreende: invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
10. Método de iniciação de núcleo confiável caracterizado pelo fato de que compreende: iniciar (301) um carregador de partida de módulo de partida de segurança; invocar (302) o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de uma partição de registro de configuração de plataforma (PCR) ser confiável; invocar (303), caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; e caso o código de núcleo seja confiável (304), executar o código de núcleo para iniciar um núcleo.
11. Método de iniciação de núcleo confiável, de acordo com a reivindicação 10, caracterizado pelo fato de que após a execução do código de núcleo para iniciar o núcleo, o método compreende adicionalmente: invocar (325) o núcleo para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; caso o carregador de partida seja confiável, invocar (326) o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e iniciar (327) um sistema operacional caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
12. Método de iniciação de núcleo confiável, de acordo com as reivindicações 10 ou 11, caracterizado pelo fato de que o método compreende adicionalmente: adquirir (312) um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV; e invocar (302) o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável compreende: invocar (313) o carregador de partida para calcular um valor de medição real de partição de PCR, de acordo com o primeiro algoritmo de segurança de pré-armazenado, e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
13. Método de iniciação de núcleo confiável, de acordo com a reivindicação 12, caracterizado pelo fato de que a aquisição (312) de um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV compreende: gerar uma chave raiz com base em um PIN inserido por um usuário; e descriptografar a partição de ENV com o uso da chave raiz para adquirir o valor de medição padrão, que está pré-armazenado na partição EVN, da partição de PCR.
14. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 10 a 13, caracterizado pelo fato de que o método compreende adicionalmente: adquirir (314) o valor de medição padrão de código de núcleo pré-armazenado na partição de PCR; e invocar (303), caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e a invocação do carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável compreendem: caso a partição de PCR seja confiável, invocar (315) o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
15. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 11 a 14, caracterizado pelo fato de que o método compreende adicionalmente: adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e invocar (325) o núcleo para medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável compreende: invocar o núcleo para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
16. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 11 a 15, caracterizado pelo fato de que o método compreende adicionalmente: adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré- armazenado na partição de PCR; e invocar (326) o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável compreende: invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
17. Método de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 11 a 16, caracterizado pelo fato de que após a iniciação de um sistema operacional, o método compreende adicionalmente: invocar (338) o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e iniciar (339) o programa de aplicativo, caso o programa de aplicativo seja confiável.
18. Método de iniciação de núcleo confiável, de acordo com a reivindicação 17, caracterizado pelo fato de que o método compreende adicionalmente: adquirir um valor de medição padrão, que está pré- armazenado na partição de PCR, do programa de aplicativo; e invocar (338) o módulo de aprimoramento de gerenciamento de segurança de núcleo para medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável e compreende: invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
19. Aparelho de iniciação de núcleo confiável caracterizado pelo fato de que compreende: um módulo (401) de iniciação de partida configurado para iniciar um carregador de partida de módulo de partida de segurança; um primeiro módulo de medição (402) configurado para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma (PCR) ser confiável, em que o primeiro módulo de medição (402) é configurado adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; um segundo módulo de medição (403) configurado para inicializar, caso o código de núcleo seja confiável, o código de núcleo para acionar um núcleo inicializado a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável; e um módulo de iniciação de núcleo (404), configurado para iniciar o núcleo, caso o carregador de partida seja confiável.
20. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 19, caracterizado pelo fato de que o aparelho compreende adicionalmente: um módulo de aquisição (415) configurado para adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV, em que o primeiro módulo de medição (412) é configurado especificamente para invocar o carregador de partida a fim de calcular um valor de medição real de partição de PCR de acordo com o primeiro algoritmo de segurança e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, determina-se que a partição de PCR é confiável.
21. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 20, caracterizado pelo fato de que o módulo de aquisição (415) é configurado especificamente para gerar uma chave raiz com base em um PIN inserido por um usuário e para descriptografar a partição de ENV com o uso da chave raiz, a fim de adquirir o valor de medição padrão, que está pré- armazenado na partição ENV, da partição de PCR.
22. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 19 a 21, caracterizado pelo fato de que o módulo de aquisição (415) é configurado adicionalmente para adquirir o valor de medição padrão de código de núcleo pré- armazenado na partição de PCR; e o primeiro módulo de medição (412) é configurado especificamente para: caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
23. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 19 a 22, caracterizado pelo fato de que o módulo de aquisição (415) é configurado adicionalmente para adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e o segundo módulo de medição (413) é configurado especificamente para: caso o código de núcleo seja confiável, inicializar o código de núcleo para acionar o núcleo inicializado para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
24. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 19 a 23, caracterizado pelo fato de que o aparelho compreende adicionalmente um módulo de iniciação de sistema (426) em que: o segundo módulo de medição (423) é configurado adicionalmente para invocar o núcleo a fim de medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e o módulo de iniciação de sistema (426) é configurado para iniciar um sistema operacional, caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
25. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 24, caracterizado pelo fato de que o módulo de aquisição (445) é configurado adicionalmente para adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré- armazenado na partição de PCR; e o segundo módulo de medição (443) é configurado especificamente para invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
26. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 24 ou 25, caracterizado pelo fato de que o aparelho compreende: um terceiro módulo de medição (437) configurado para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e um módulo de iniciação de programa de aplicativo (438) configurado para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
27. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 26, caracterizado pelo fato de que o módulo de aquisição (455) é configurado adicionalmente para adquirir um valor de medição padrão, que está pré-armazenado na partição de PCR, do programa de aplicativo; e o terceiro módulo de medição (457) é configurado especificamente para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
28. Aparelho de iniciação de núcleo confiável caracterizado pelo fato de que compreende: uma unidade de iniciação de partida (501) configurada para iniciar um carregador de partida de módulo de partida de segurança; uma primeira unidade de medição (502) configurada para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo de segurança, a possibilidade de a partição de registro de configuração de plataforma PCR ser confiável, em que a primeira unidade de medição (502) é configurada adicionalmente para invocar, caso a partição de PCR seja confiável, o carregador de partida para ler código de núcleo em uma memória e para invocar o carregador de partida para medir, de acordo com um primeiro algoritmo completo e com um valor de medição padrão de código de núcleo pré-armazenado na partição de PCR, a possibilidade de o código de núcleo ser confiável; e uma unidade de iniciação de núcleo (503) configurada para: caso o código de núcleo seja confiável, executar o código de núcleo para iniciar um núcleo.
29. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 28, caracterizado pelo fato de que o aparelho compreende: uma segunda unidade de medição (525) configurada para invocar o núcleo a fim de medir, de acordo com um segundo algoritmo completo, a possibilidade de o carregador de partida ser confiável, em que a segunda unidade de medição (525) é configurada adicionalmente para: caso o carregador de partida seja confiável, invocar o núcleo para medir, de acordo com um terceiro algoritmo completo, a possibilidade de um módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável; e uma unidade de iniciação de sistema (526) configurada para iniciar um sistema operacional, caso o módulo de aprimoramento de gerenciamento de segurança de núcleo seja confiável.
30. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 28 ou 29, caracterizado pelo fato de que o aparelho compreende: uma unidade de aquisição (514), configurada para adquirir um valor de medição padrão de partição de PCR pré-armazenado em uma partição de ambiente ENV, em que a primeira unidade de medição (512) é configurada especificamente para invocar o carregador de partida para calcular um valor de medição real de partição de PCR de acordo com o primeiro algoritmo de segurança pré-armazenado e medir, comparando-se a possibilidade de o valor de medição real de partição de PCR ser igual ao valor de medição padrão de partição de PCR, a possibilidade de a partição de PCR ser confiável, em que, caso o valor de medição real de partição de PCR seja igual ao valor de medição padrão de partição de PCR, a partição de PCR é confiável.
31. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 30, caracterizado pelo fato de que a unidade de aquisição (514) é configurada especificamente para gerar uma chave raiz com base em um PIN inserido por um usuário e descriptografar a partição de ENV com o uso da chave raiz, a fim de adquirir o valor de medição padrão, que está pré-armazenado na partição ENV, da partição de PCR.
32. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 28 a 31, caracterizado pelo fato de que: a unidade de aquisição (514) é configurada adicionalmente para adquirir o valor de medição padrão de código de núcleo pré- armazenado na partição de PCR; e a primeira unidade de medição (512) é configurada especificamente para: caso a partição de PCR seja confiável, invocar o carregador de partida para ler o código de núcleo na memória, invocar o carregador de partida para calcular um valor de medição real de código de núcleo de acordo com o primeiro algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de código de núcleo ser igual ao valor de medição padrão de código de núcleo, a possibilidade de o código de núcleo ser confiável, em que, caso o valor de medição real de código de núcleo seja igual ao valor de medição padrão de código de núcleo, o código de núcleo é confiável.
33. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 29 a 32, caracterizado pelo fato de que: a unidade de aquisição (544) é configurada adicionalmente para adquirir um valor de medição padrão de carregador de partida pré-armazenado na partição de PCR; e a segunda unidade de medição (545) é configurada especificamente para invocar o núcleo para calcular um valor de medição real de carregador de partida de acordo com o segundo algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real de carregador de partida ser igual ao valor de medição padrão de carregador de partida, a possibilidade de o carregador de partida ser confiável, em que, caso o valor de medição real de carregador de partida seja igual ao valor de medição padrão de carregador de partida, o carregador de partida é confiável.
34. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 29 a 33, caracterizado pelo fato de que: a unidade de aquisição (544) é configurada adicionalmente para adquirir um valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo pré- armazenado na partição de PCR; e a segunda unidade de medição (545) é configurada especificamente para invocar o núcleo para calcular um valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo, de acordo com o terceiro algoritmo completo e para medir, comparando-se a possibilidade de o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo ser igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, a possibilidade de o módulo de aprimoramento de gerenciamento de segurança de núcleo ser confiável, em que, caso o valor de medição real de módulo de aprimoramento de gerenciamento de segurança de núcleo seja igual ao valor de medição padrão de módulo de aprimoramento de gerenciamento de segurança de núcleo, o módulo de aprimoramento de gerenciamento de segurança de núcleo é confiável.
35. Aparelho de iniciação de núcleo confiável, de acordo com qualquer uma das reivindicações 29 a 34, caracterizado pelo fato de que o aparelho adicionalmente compreende: uma terceira unidade de medição (537) configurada para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo a fim de medir, de acordo com um quarto algoritmo completo, a possibilidade de um programa de aplicativo a ser iniciado ser confiável; e uma unidade de iniciação de programa de aplicativo (538) configurada para iniciar o programa de aplicativo, caso o programa de aplicativo seja confiável.
36. Aparelho de iniciação de núcleo confiável, de acordo com a reivindicação 35, caracterizado pelo fato de que a unidade de aquisição (554) é configurada adicionalmente para adquirir um valor de medição padrão, que está pré-armazenado na partição de PCR, do programa de aplicativo; e a terceira unidade de medição (557) é configurada especificamente para invocar o módulo de aprimoramento de gerenciamento de segurança de núcleo para calcular um valor de medição real do programa de aplicativo de acordo com o quarto algoritmo completo e medir, comparando-se a possibilidade de o valor de medição real do programa de aplicativo ser igual ao valor de medição padrão do programa de aplicativo, a possibilidade de o programa de aplicativo ser confiável, em que, caso o valor de medição real do programa de aplicativo seja igual ao valor de medição padrão do programa de aplicativo, o programa de aplicativo é confiável.
BR112016021661-0A 2014-03-25 2015-03-11 Método e aparelho de iniciação de núcleo confiável BR112016021661B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201410114837.9A CN104951316B (zh) 2014-03-25 2014-03-25 一种内核可信启动方法和装置
CN201410114837.9 2014-03-25
PCT/CN2015/074003 WO2015143989A1 (zh) 2014-03-25 2015-03-11 一种内核可信启动方法和装置

Publications (2)

Publication Number Publication Date
BR112016021661A2 BR112016021661A2 (pt) 2017-08-15
BR112016021661B1 true BR112016021661B1 (pt) 2022-11-29

Family

ID=54165987

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016021661-0A BR112016021661B1 (pt) 2014-03-25 2015-03-11 Método e aparelho de iniciação de núcleo confiável

Country Status (7)

Country Link
US (1) US10032030B2 (pt)
EP (1) EP3098712B1 (pt)
JP (1) JP6319609B2 (pt)
KR (1) KR101894926B1 (pt)
CN (1) CN104951316B (pt)
BR (1) BR112016021661B1 (pt)
WO (1) WO2015143989A1 (pt)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650455B (zh) * 2015-10-30 2021-09-24 中兴通讯股份有限公司 一种系统安全启动方法及装置
CN105678162B (zh) * 2016-02-03 2018-09-04 浪潮电子信息产业股份有限公司 一种基于tpm的操作系统安全启动控制方法
CN106384053A (zh) * 2016-09-14 2017-02-08 江苏北弓智能科技有限公司 移动操作系统可信启动方法和装置
CN109983465B (zh) * 2016-09-26 2023-05-16 迈可菲公司 增强的安全引导
CN106548063A (zh) * 2016-11-01 2017-03-29 广东浪潮大数据研究有限公司 一种可信度量方法、装置和系统
US10382436B2 (en) * 2016-11-22 2019-08-13 Daniel Chien Network security based on device identifiers and network addresses
US11074348B2 (en) * 2017-08-24 2021-07-27 International Business Machines Corporation Securing and changing immutable data in secure bootup
US11138315B2 (en) 2018-01-17 2021-10-05 Hewlett Packard Enterprise Development Lp Data structure measurement comparison
US11714910B2 (en) 2018-06-13 2023-08-01 Hewlett Packard Enterprise Development Lp Measuring integrity of computing system
US11188622B2 (en) 2018-09-28 2021-11-30 Daniel Chien Systems and methods for computer security
US10848489B2 (en) 2018-12-14 2020-11-24 Daniel Chien Timestamp-based authentication with redirection
US10826912B2 (en) 2018-12-14 2020-11-03 Daniel Chien Timestamp-based authentication
CN109871679A (zh) * 2018-12-27 2019-06-11 延锋伟世通电子科技(上海)有限公司 数据显示方法、系统、装置及介质
CN110109710B (zh) * 2019-05-15 2020-05-08 苏州浪潮智能科技有限公司 一种无物理可信根的os信任链构建方法与系统
CN110543769B (zh) * 2019-08-29 2023-09-15 武汉大学 一种基于加密tf卡的可信启动方法
US11677754B2 (en) 2019-12-09 2023-06-13 Daniel Chien Access control systems and methods
CN110851188B (zh) * 2019-12-18 2023-08-29 宁波和利时信息安全研究院有限公司 一种基于双体架构的国产plc可信链实现装置及方法
CN113127879B (zh) * 2019-12-31 2023-09-05 杭州海康威视数字技术股份有限公司 一种固件可信启动方法、电子设备及可读存储介质
KR20210097379A (ko) * 2020-01-30 2021-08-09 삼성전자주식회사 보안 장치, 전자 장치, 보안 부트 관리 시스템, 부트 이미지 생성 방법 및 부트 체인 실행 방법
US11509463B2 (en) 2020-05-31 2022-11-22 Daniel Chien Timestamp-based shared key generation
US11438145B2 (en) 2020-05-31 2022-09-06 Daniel Chien Shared key generation based on dual clocks
US11392705B1 (en) 2021-07-29 2022-07-19 Netskope, Inc. Disk encryption key management for booting of a device
CN114157593A (zh) * 2021-10-18 2022-03-08 深圳市亿联无限科技有限公司 一种路由器工厂模式的实现及切换方法
CN117556418A (zh) * 2022-08-03 2024-02-13 华为技术有限公司 一种确定内核状态的方法和相关设备
CN115357908B (zh) * 2022-10-19 2022-12-23 中国人民解放军军事科学院系统工程研究院 一种网络设备内核可信度量与自动修复方法
CN115618364B (zh) * 2022-12-16 2023-06-23 飞腾信息技术有限公司 实现安全可信启动的方法、安全架构系统及相关设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191464B2 (en) * 2001-10-16 2007-03-13 Lenovo Pte. Ltd. Method and system for tracking a secure boot in a trusted computing environment
JP4064914B2 (ja) 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US20050251857A1 (en) * 2004-05-03 2005-11-10 International Business Machines Corporation Method and device for verifying the security of a computing platform
KR100917290B1 (ko) * 2004-06-24 2009-09-11 인텔 코오퍼레이션 신뢰 플랫폼 모듈의 보안 가상화를 위한 방법 및 장치
US7716494B2 (en) * 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
KR100872175B1 (ko) * 2006-12-01 2008-12-09 한국전자통신연구원 Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법
US9026771B2 (en) 2007-04-27 2015-05-05 Hewlett-Packard Development Company, L.P. Secure computer system update
US7853804B2 (en) * 2007-09-10 2010-12-14 Lenovo (Singapore) Pte. Ltd. System and method for secure data disposal
CN100454324C (zh) * 2007-09-21 2009-01-21 武汉大学 一种可信机制上的嵌入式平台引导方法
CN101504704B (zh) * 2009-03-17 2010-12-29 武汉大学 由星型信任链支持的嵌入式平台应用程序完整性验证方法
GB2482652B (en) * 2010-05-21 2016-08-24 Hewlett Packard Development Co Lp Extending integrity measurements in a trusted device using a policy register
CN102136044B (zh) * 2010-07-14 2013-08-28 华为技术有限公司 安全启动方法、装置及计算机系统
US8560845B2 (en) * 2011-01-14 2013-10-15 Apple Inc. System and method for tamper-resistant booting
US8775784B2 (en) * 2011-11-11 2014-07-08 International Business Machines Corporation Secure boot up of a computer based on a hardware based root of trust
CN103299311B (zh) 2011-12-29 2015-04-29 英特尔公司 用于可信引导优化的方法和设备
US8793504B2 (en) * 2012-02-22 2014-07-29 International Business Machines Corporation Validating a system with multiple subsystems using trusted platform modules and virtual platform modules
JP5980050B2 (ja) * 2012-08-29 2016-08-31 キヤノン株式会社 情報処理装置
CN103020518B (zh) * 2012-11-06 2015-07-08 中国科学院计算技术研究所 一种基于TPM的Linux内核初始化中的数据结构保护方法及系统
CN103020531B (zh) 2012-12-06 2015-05-27 中国科学院信息工程研究所 Android智能终端运行环境可信控制方法及系统
US9465943B2 (en) * 2013-01-31 2016-10-11 Red Hat, Inc. Extension of a platform configuration register with a known value
CN103150523B (zh) * 2013-03-07 2016-01-13 太原科技大学 一种简易的嵌入式可信终端系统及方法

Also Published As

Publication number Publication date
CN104951316B (zh) 2018-09-21
US20170011219A1 (en) 2017-01-12
KR20160130790A (ko) 2016-11-14
EP3098712A4 (en) 2017-03-01
KR101894926B1 (ko) 2018-09-04
JP2017515208A (ja) 2017-06-08
EP3098712A1 (en) 2016-11-30
US10032030B2 (en) 2018-07-24
EP3098712B1 (en) 2020-02-05
BR112016021661A2 (pt) 2017-08-15
JP6319609B2 (ja) 2018-05-09
WO2015143989A1 (zh) 2015-10-01
CN104951316A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
BR112016021661B1 (pt) Método e aparelho de iniciação de núcleo confiável
US11256797B2 (en) Remote attestation for multi-core processor
US10402567B2 (en) Secure boot for multi-core processor
US11379586B2 (en) Measurement methods, devices and systems based on trusted high-speed encryption card
TW201729091A (zh) 母板、電腦可讀儲存裝置以及韌體驗證方法
EP3646224B1 (en) Secure key storage for multi-core processor
CN105718806A (zh) 一种基于国产bmc和tpm2.0实现可信主动度量的方法
GB2545250B (en) Devices and method of operation thereof
US11068599B2 (en) Secure initialization using embedded controller (EC) root of trust
Buhren et al. Fault attacks on encrypted general purpose compute platforms
EP3338214B1 (en) Secure computation environment
US11966748B2 (en) Dynamic boot configuration
Papakotoulas et al. Sustaining the Trust of an IoT Infrastructure

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/03/2015, OBSERVADAS AS CONDICOES LEGAIS