JP2017515208A - 信頼できるカーネル起動方法および装置 - Google Patents

信頼できるカーネル起動方法および装置 Download PDF

Info

Publication number
JP2017515208A
JP2017515208A JP2016559272A JP2016559272A JP2017515208A JP 2017515208 A JP2017515208 A JP 2017515208A JP 2016559272 A JP2016559272 A JP 2016559272A JP 2016559272 A JP2016559272 A JP 2016559272A JP 2017515208 A JP2017515208 A JP 2017515208A
Authority
JP
Japan
Prior art keywords
kernel
evaluation value
reliable
boot loader
partition
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2016559272A
Other languages
English (en)
Other versions
JP6319609B2 (ja
Inventor
志 李
志 李
波 ▲趙▼
波 ▲趙▼
永康 ▲費▼
永康 ▲費▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2017515208A publication Critical patent/JP2017515208A/ja
Application granted granted Critical
Publication of JP6319609B2 publication Critical patent/JP6319609B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

信頼できるカーネル起動方法および装置が提供される。方法は、セキュリティブートモジュールであるブートローダを起動し(201)、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従ってプラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し(202)、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従ってカーネルコードが信頼できるかどうかを評価し(203)、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従ってブートローダが信頼できるかどうかを評価し(204)、ブートローダが信頼できる場合、カーネルを起動する(205)。カーネル起動セキュリティが改善される。

Description

本発明は、信頼できるコンピューティング技術の分野に関し、詳細には、信頼できるカーネル起動方法および装置に関する。
近年、第3世代移動通信(3rd Generation、3G)ネットワークの普及により、スマートフォンは、最も急速に成長している情報産業(Information Technology、IT)製品となってきた。
急成長するスマートモバイルデバイスによって、情報時代が新しい発展の最高潮に至った。しかしながら、スマートモバイルデバイスのアプリケーション性能の改良に対して過度の要求がなされる中でセキュリティ性能の開発がおろそかにされた結果、モバイルデバイスのセキュリティ性能の開発が後れを取り、携帯電話の潜在的なセキュリティ上の問題が徐々に露呈してきた。先行技術では、スマートモバイルデバイスの安全な起動のために、外部セキュリティユニットから起動を実行する方法、すなわち、外部セキュリティユニットを通信インターフェースを用いて組み込みデバイスに接続して、組み込みデバイスにセキュリティ機能を提供する。デバイスを起動する場合、まず、組み込みデバイスは、不正な起動がトラストチェーンの外部ルート・オブ・トラストをすり抜けるのを阻止するために、外部セキュリティユニットの存在を判定する必要があり、次いで、システムブートプログラムがロードされ、ブートプログラムが、セキュリティユニットを呼び出して、オペレーティングシステムのカーネルに対して完全性評価を行い、そして、検証が成功した後、カーネルが起動される。
しかしながら、先行技術で用いられた方法には、以下の欠点、すなわち、外部セキュリティユニットは、外部インターフェースを用いてスマートモバイルデバイスと通信する必要があるが、一般的なモバイル通信端末には、そのような外部インターフェースが備わっておらず、したがって、先行技術において用いられる方法の応用範囲は限られている、という欠点があった。また、起動に関する解決策によれば、起動を行う前に外部セキュリティユニットの存在が確認されさえすれば、カーネルを起動させることができてしまう。したがって、この解決策では、不正な起動がセキュリティユニットをすり抜ける可能性が比較的高く、カーネル起動セキュリティが比較的低い。
本発明は、カーネル起動セキュリティを改善するために使用される、信頼できるカーネル起動方法および装置を提供する。
第1の態様によれば、本発明の一実施形態は、信頼できるカーネル起動方法を提供し、本方法は、
セキュリティブートモジュールであるブートローダを起動するステップと、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップと、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するステップと、
カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するステップと、
ブートローダが信頼できる場合、カーネルを起動するステップとを含む。
第1の態様に関連して、第1の態様の第1の可能な実施態様において、本方法は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップをさらに含み、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップが、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、PCRパーティション実評価値がPCRパーティション標準評価値に等しいかどうか比較することによって、PCRパーティションが信頼できるかどうかを評価するステップであって、PCRパーティション実評価値がPCRパーティション標準評価値に等しい場合、PCRパーティションは信頼できる、ステップを含む。
第1の態様の第1の可能な実施態様に関連して、第1の態様の第2の可能な実施態様において、環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップが、
ユーザによって入力されたPINに基づいてルートキーを生成するステップと、
ルートキーを用いてENVパーティションを復号し、ENCパーティションに予め記憶された、PCRパーティション標準評価値を取得するステップとを含む。
第1の態様または第1の態様の第1または第2の可能な実施態様に関連して、第1の態様の第3の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたカーネルコード標準評価値を取得するステップをさらに含み、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するステップが、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、カーネルコード実評価値がカーネルコード標準評価値に等しいかどうか比較することによって、カーネルコードが信頼できるかどうかを評価するステップであって、カーネルコード実評価値がカーネルコード標準評価値に等しい場合、カーネルコードは信頼できる、ステップを含む。
第1の態様または第1の態様の第1から第3の可能な実施態様のうちのいずれか1つに関連して、第1の態様の第4の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたブートローダ標準評価値を取得するステップをさらに含み、
カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するステップが、
カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、ブートローダ実評価値がブートローダ標準評価値に等しいかどうか比較することによって、ブートローダが信頼できるかどうかを評価するステップであって、ブートローダ実評価値がブートローダ標準評価値に等しい場合、ブートローダは信頼できる、ステップを含む。
第1の態様または第1の態様の第1から第4の可能な実施態様のうちのいずれか1つに関連して、第1の態様の第5の可能な実施態様において、カーネルを起動するステップの後に、本方法は、
カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップと、
カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するステップとをさらに含む。
第1の態様の第5の可能な実施態様に関連して、第1の態様の第6の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するステップをさらに含み、
カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップが、
カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップであって、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、カーネルセキュリティ管理拡張モジュールは信頼できる、ステップを含む。
第1の態様の第5または第6の可能な実施態様に関連して、第1の態様の第7の可能な実施態様において、オペレーティングシステムを起動するステップの後に、本方法は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップと、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するステップとをさらに含む。
第1の態様の第7の可能な実施態様に関連して、第1の態様の第8の可能な実施態様において、本方法は、
PCRパーティションに予め記憶された、アプリケーションプログラムの標準評価値を取得するステップをさらに含み、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップが、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、アプリケーションプログラムの実評価値を計算し、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しいかどうか比較することによって、アプリケーションプログラムが信頼できるかどうかを評価するステップであって、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しい場合、アプリケーションプログラムは信頼できる、ステップを含む。
第2の態様によれば、本発明の一実施形態は、別の信頼できるカーネル起動方法を提供し、本方法は、
セキュリティブートモジュールであるブートローダを起動するステップと、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップと、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するステップと、
カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動するステップとを含む。
第2の態様に関連して、第2の態様の第1の可能な実施形態において、カーネルコードを実行して、カーネルを起動するステップの後に、本方法は、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するステップと、
ブートローダが信頼できる場合、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップと、
カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するステップとをさらに含む。
第2の態様または第2の態様の第1の可能な実施態様に関連して、第2の態様の第2の可能な実施態様において、本方法は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップをさらに含み、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップが、
ブートローダを呼び出して、予め記憶された第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、PCRパーティション実評価値がPCRパーティション標準評価値に等しいかどうか比較することによって、PCRパーティションが信頼できるかどうかを評価するステップであって、PCRパーティション実評価値がPCRパーティション標準評価値に等しい場合、PCRパーティションは信頼できる、ステップを含む。
第2の態様の第2の可能な実施態様に関連して、第2の態様の第3の可能な実施態様において、環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップが、
ユーザによって入力されたPINに基づいてルートキーを生成するステップと、
ルートキーを用いてENVパーティションを復号し、ENVパーティションに予め記憶されたPCRパーティション標準評価値を取得するステップとを含む。
第2の態様または第2の態様の第1から第3の可能な実施態様のうちのいずれか1つに関連して、第2の態様の第4の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたカーネルコード標準評価値を取得するステップをさらに含み、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するステップが、
PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、カーネルコード実評価値がカーネルコード標準評価値に等しいかどうか比較することによって、カーネルコードが信頼できるかどうかを評価するステップであって、カーネルコード実評価値がカーネルコード標準評価値に等しい場合、カーネルコードは信頼できる、ステップを含む。
第2の態様の第1から第4の可能な実施態様のいずれか1つに関連して、第2の態様の第5の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたブートローダ標準評価値を取得するステップをさらに含み、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するステップが、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、ブートローダ実評価値がブートローダ標準評価値に等しいかどうか比較することによって、ブートローダが信頼できるかどうかを評価するステップであって、ブートローダ実評価値がブートローダ標準評価値に等しい場合、ブートローダは信頼できる、ステップを含む。
第2の態様の第1から第5の可能な実施態様のうちのいずれか1つに関連して、第2の態様の第6の可能な実施態様において、本方法は、
PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するステップをさらに含み、
カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップが、
カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップであって、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、カーネルセキュリティ管理拡張モジュールは信頼できる、ステップを含む。
第2の態様の第1から第6の可能な実施態様のうちのいずれか1つに関連して、第2の態様の第7の可能な実施態様において、オペレーティングシステムを起動するステップの後に、本方法は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップと、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するステップとをさらに含む。
第2の態様の第7の可能な実施態様に関連して、第2の態様の第8の可能な実施態様において、本方法は、
PCRパーティションに予め記憶された、アプリケーションプログラムの標準評価値を取得するステップをさらに含み、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップが、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、アプリケーションプログラムの実評価値を計算し、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しいかどうか比較することによって、アプリケーションプログラムが信頼できるかどうかを評価するステップであって、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しい場合、アプリケーションプログラムは信頼できる、ステップを含む。
第3の態様によれば、本発明の一実施形態は、信頼できるカーネル起動装置を提供し、本装置は、
セキュリティブートモジュールであるブートローダを起動するように構成されたブート起動モジュールと、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するように構成された第1の評価モジュールであって、第1の評価モジュールが、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するようにさらに構成される、第1の評価モジュールと、
カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するように構成された第2の評価モジュールと、
ブートローダが信頼できる場合、カーネルを起動するように構成されたカーネル起動モジュールとを備える。
第3の態様に関連して、第3の態様の第1の可能な実施態様において、本装置は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するように構成された取得モジュールをさらに備え、
第1の評価モジュールが、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、PCRパーティション実評価値がPCRパーティション標準評価値に等しいかどうか比較することによって、PCRパーティションが信頼できるかどうかを評価するように特に構成され、ここで、PCRパーティション実評価値がPCRパーティション標準評価値に等しい場合、PCRパーティションは信頼できると判定される。
第3の態様の第1の可能な実施態様に関連して、第3の態様の第2の可能な実施態様において、取得モジュールが、ユーザによって入力されたPINに基づいてルートキーを生成し、ルートキーを用いてENVパーティションを復号し、ENCパーティションに予め記憶されたPCRパーティション標準評価値を取得するように特に構成される。
第3の態様または第3の態様の第1または第2の可能な実施態様に関連して、第3の態様の第3の可能な実施態様において、
取得モジュールが、PCRパーティションに予め記憶されたカーネルコード標準評価値を取得するようにさらに構成され、
第1の評価モジュールが、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、カーネルコード実評価値がカーネルコード標準評価値に等しいかどうか比較することによって、カーネルコードが信頼できるかどうかを評価するように特に構成され、ここで、カーネルコード実評価値がカーネルコード標準評価値に等しい場合、カーネルコードは信頼できる。
第3の態様または第3の態様の第1から第3の可能な実施態様のうちのいずれか1つに関連して、第3の態様の第4の可能な実施態様において、
取得モジュールが、PCRパーティションに予め記憶されたブートローダ標準評価値を取得するようにさらに構成され、
第2の評価モジュールが、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、ブートローダ実評価値がブートローダ標準評価値に等しいかどうか比較することによって、ブートローダが信頼できるかどうかを評価するように特に構成され、ここで、ブートローダ実評価値がブートローダ標準評価値に等しい場合、ブートローダは信頼できる。
第3の態様または第3の態様の第1から第4の可能な実施態様のうちのいずれか1つに関連して、第3の態様の第5の可能な実施態様において、本装置は、システム起動モジュールをさらに備え、
第2の評価モジュールが、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成され、
システム起動モジュールが、カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成される。
第3の態様の第5の可能な実施態様に関連して、第3の態様の第6の可能な実施態様において、
取得モジュールが、PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成され、
第2の評価モジュールが、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するように特に構成され、ここで、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、カーネルセキュリティ管理拡張モジュールは信頼できる。
第3の態様の第5または第6の可能な実施態様に関連して、第3の態様の第7の可能な実施態様において、本装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成された第3の評価モジュールと、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されたアプリケーションプログラム起動モジュールとをさらに備える。
第3の態様の第7の可能な実施態様に関連して、第3の態様の第8の可能な実施態様において、
取得モジュールが、PCRパーティションに予め記憶された、アプリケーションプログラムの標準評価値を取得するようにさらに構成され、
第3の評価モジュールが、カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、アプリケーションプログラムの実評価値を計算し、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しいかどうか比較することによって、アプリケーションプログラムが信頼できるかどうかを評価するように特に構成され、ここで、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しい場合、アプリケーションプログラムは信頼できる。
第4の態様によれば、本発明の一実施形態は、別の信頼できるカーネル起動装置を提供し、本装置は、
セキュリティブートモジュールであるブートローダを起動するように構成されたブート起動ユニットと、
ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するように構成された第1の評価ユニットであって、第1の評価ユニットが、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するようにさらに構成される、第1の評価ユニットと、
カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動するように構成されたカーネル起動ユニットとを備える。
第4の態様に関連して、第4の態様の第1の可能な実施態様において、本装置は、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するように構成された第2の評価ユニットであって、第2の評価ユニットが、ブートローダが信頼できる場合、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成される、第2の評価ユニットと、
カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されたシステム起動ユニットとをさらに備える。
第4の態様または第4の態様の第1の可能な実施態様に関連して、第4の態様の第2の可能な実施態様において、本装置は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するように構成された取得ユニットをさらに備え、
第1の評価ユニットが、ブートローダを呼び出して、予め記憶された第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、PCRパーティション実評価値がPCRパーティション標準評価値に等しいかどうか比較することによって、PCRパーティションが信頼できるかどうかを評価するように特に構成され、ここで、PCRパーティション実評価値がPCRパーティション標準評価値に等しい場合、PCRパーティションは信頼できる。
第4の態様の第2の可能な実施態様に関連して、第4の態様の第3の可能な実施態様において、
取得ユニットが、ユーザによって入力されたPINに基づいてルートキーを生成し、ルートキーを用いてENVパーティションを復号し、ENCパーティションに予め記憶されたPCRパーティション標準評価値を取得するように特に構成される。
第4の態様または第4の態様の第1から第3の可能な実施態様のうちのいずれか1つに関連して、第4の態様の第4の可能な実施態様において、
取得ユニットが、PCRパーティションに予め記憶されたカーネルコード標準評価値を取得するようにさらに構成され、
第1の評価ユニットが、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、カーネルコード実評価値がカーネルコード標準評価値に等しいかどうか比較することによって、カーネルコードが信頼できるかどうかを評価するように特に構成され、ここで、カーネルコード実評価値がカーネルコード標準評価値に等しい場合、カーネルコードは信頼できる。
第4の態様の第1から第4の可能な実施態様のうちのいずれか1つに関連して、第4の態様の第5の可能な実施態様において、
取得ユニットが、PCRパーティションに予め記憶されたブートローダ標準評価値を取得するようにさらに構成され、
第2の評価ユニットが、カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、ブートローダ実評価値がブートローダ標準評価値に等しいかどうか比較することによって、ブートローダが信頼できるかどうかを評価するように特に構成され、ここで、ブートローダ実評価値がブートローダ標準評価値に等しい場合、ブートローダは信頼できる。
第4の態様の第1から第5の可能な実施態様のうちのいずれか1つに関連して、第4の態様の第6の可能な実施態様において、
取得ユニットが、PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成され、
第2の評価ユニットが、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するように特に構成され、ここで、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、カーネルセキュリティ管理拡張モジュールは信頼できる。
第4の態様の第1から第6の可能な実施態様に関連して、第4の態様の第7の可能な実施態様において、本装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成された第3の評価ユニットと、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されたアプリケーションプログラム起動ユニットとをさらに備える。
第4の態様の第7の可能な実施態様に関連して、第4の態様の第8の可能な実施態様において、
第3の評価ユニットが、カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、アプリケーションプログラムの実評価値を計算し、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しいかどうか比較することによって、アプリケーションプログラムが信頼できるかどうかを評価するように特に構成され、ここで、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しい場合、アプリケーションプログラムは信頼できる。
本発明の実施形態において提供される信頼できるカーネル起動方法および装置によれば、まず、セキュリティブートモジュールであるブートローダが呼び出されて、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できると判定された後、ブートローダが呼び出されて、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコードの標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できると判定された後、次いで、カーネルコードが初期化されて、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価し、ブートローダが信頼できると判定された後、カーネルが起動される、ということがわかる。つまり、本発明において提供される技術的解決策によれば、セキュリティブートモジュールであるブートローダと、プラットフォーム構成レジスタ(PCR)パーティションと、カーネルコードとのすべてが信頼できる場合に限り、カーネルを安全に起動でき、カーネルコードの信頼性は、PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、ブートローダによって評価され、カーネルコードを初期化してカーネルを始動し、ブートローダの信頼性を評価する。したがって、本発明の実施形態において提供される技術的解決策は、カーネル起動セキュリティをある程度改善できる。
本発明の実施形態における、または先行技術における技術的解決策をより明確に説明するために、以下で、各実施形態または先行技術を説明するのに必要とされる添付の図面について簡単に記述する。当然ながら、以下の説明の添付の図面は本発明のいくつかの実施形態を示すにすぎず、当業者はこれら添付の図面から難なく他の図面をさらに導出することができる。
本発明によるシステムを起動するための流れ図である。 本発明による信頼できるカーネル起動方法の一実施形態の流れ図である。 本発明による信頼できるカーネル起動方法の別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。 本発明による信頼できるカーネル起動装置の一実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置の別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。 本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。
以下で、本発明の実施形態における添付の図面を参照して、本発明の実施形態における技術的解決策を明確かつ十分に説明する。当然ながら、説明される実施形態は、本発明の実施形態の全部ではなく、一部であるにすぎない。本発明の実施形態に基づいて当業者によって難なく得られる他のすべての実施形態は、本発明の保護範囲内に含まれるものとする。
図1は、本発明の一実施形態によるシステムを起動するための流れ図である。本発明で示される実施形態において提供される信頼できるカーネル起動方法に関連して、比較すると、本実施形態に示されている構造図と先行技術における組み込みシステム手続きとの間の差は、信頼できるソフト・コンポーネント・プラットフォーム・モジュールが既存の組み込みシステムを起動する手続きに追加的に組み込まれていることにある。信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、ブートローダがPCRパーティションおよびカーネルを評価するプロセスの実行と、カーネルによるブートローダおよびカーネルセキュリティ管理拡張モジュールの評価と、カーネルセキュリティ管理拡張モジュールによるアプリケーションプログラムの評価とを制御でき、これらのプロセスは、図2に示す方法にある。
システム起動手続きは、次のように要約される:システムへの電源投入後、セキュリティブートプログラム、すなわち、ブートローダが起動され、信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、ブートローダを呼び出して、プラットフォーム・ロケーション・レジスタPCRパーティションを評価する。現在のPCRパーティションが信頼できる場合、信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、ブートローダを呼び出し続けて、カーネルを評価する。現在のカーネルが信頼できる場合、信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、ブートローダに命令してカーネルをロードし、カーネルを初期化し、次いで、初期化されたカーネルを呼び出してブートローダをさらに評価する。このケースにおいてブートローダが信頼できる場合、信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、起動するようにカーネルに命令し、カーネルセキュリティ管理拡張モジュールを評価する。評価されたカーネルセキュリティ管理拡張モジュールの評価が現在信頼できる場合、信頼できるソフト・コンポーネント・プラットフォーム・モジュールは、カーネルに命令してカーネルセキュリティ管理拡張モジュールをロードし、次いで、カーネルセキュリティ管理拡張モジュール用いて、起動しようとするアプリケーションプログラムを評価する。評価結果が信頼できる場合、アプリケーションプログラムは、正常に起動される。ブートローダは、第1の評価モジュールを用いて、第1のセキュリティアルゴリズムおよび第1の完全アルゴリズムに従って、PCRパーティションおよびカーネルをそれぞれ評価する。カーネルは、第2の評価モジュールを用いて、第2の完全アルゴリズムおよび第3の完全アルゴリズムに従って、ブートローダおよびカーネル管理拡張モジュールをそれぞれ評価する。カーネル管理拡張モジュールは、第3の評価モジュールを用いて、第4の完全アルゴリズムに従って、アプリケーションプログラムを評価する。信頼できる組み込みシステムの安全な起動は、このような、レベルごとに評価を行った後にレベルごとに起動を行う方法を用いて実現できる。
図2aは、本発明による信頼できるカーネル起動方法の一実施形態の流れ図である。図2aに示すように、信頼できるカーネル起動方法は、次を特に含む:
S201:セキュリティブートモジュールであるブートローダを起動する。
現在、PC、携帯電話、またはIpadなどの端末デバイスで使用される組み込みシステムは、以下の機能モジュール、すなわち、ブートプログラム(ブートローダ)と、カーネル(Kernel)と、カーネルセキュリティ管理モジュールとを主として含む。組み込みシステムの機能モジュールが正常に起動された後、ユーザは、様々なアプリケーションプログラムを呼び出して、対応する操作を行うことができる。
本実施形態では、端末デバイスへの電源投入後、機能モジュールを起動する順番は、次のとおりである:記憶装置に記憶されたセキュリティブートモジュール(ブートローダ)がデバイスの組み込みシステムにまずロードされて、ブートローダを起動する。具体的には、本実施形態では、ブートローダを起動する全プロセスは、BL0(Boot loader 0)のパート、BL1(Boot loader 1)のパート、およびBL2(Boot loader 2)の3つのパートに分割される。
BL0は、S5PV210のiROMに組み込まれた起動コードを指す。システムに電源投入したばかりの場合、システムの全体の状態は初期化されておらず、また内部クロックは設定されていない。このケースでは、iRAMのみが利用可能である。このケースにおいて電源が電力を正常に供給する場合、起動手続きは、iROMに組み込まれた起動コードから開始する。iROMに組み込まれた起動コードは、ハードウェアに関連するコードである。一般的に、起動コードは、対応するハードウェアデバイスにハードウェア的に組み込まれ、ユーザはこれを変更できない。起動コードは、システムのクロックの初期化、ウォッチドッグの設定、ヒープおよびスタックの初期化、ならびにBL1のロードを担当している。
BL1は、iRAMによって外部に拡張した記憶装置(NAND/SD/USB)から自動的にコピーされる、バイナリファイルuboot.binの最初の16K(最大が16K)のコードを指す。BL1の役割は、外部RAMの検出および初期化、Cacheのクローズ、スタックの設定、ならびにBL2のロードである。
BL2は、コードリダイレクションの後、メモリで実行される全ubootコードを指し、メインブートローダともいう。メインブートローダコードは、非常に重要であり、ファイルシステムの初期化、ネットワークサポート、増設メモリの初期化などを含み、オペレーティングシステム(OS)カーネル(以下、カーネルと略して呼ぶ)のロードを担当する。
ブートローダを起動する全プロセスは、次のように説明できる:起動後、BL0(iROMに組み込まれた起動コード)が、BL1(ブートローダの最初の16KBのコード)をiRAMにロードする。次いで、BL1が、iRAMにおいて実行され、BL2(残りのブートローダ)をメモリ(SDRAM)にロードし、BL2が、カーネルをロードし、OSがSDRAMにおいて実行され得るようにし、その結果、OSが、SDRAMにおいて最終的に実行される。
このステップにおけるセキュリティブートモジュールであるブートローダの起動は、システムが電源投入され、記憶装置にあるブートローダがロードされた後の、ブートローダのBL0パートおよびBL1パートの起動を指す。
S202:ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する。
本実施形態では、システムが、ブートローダのBL0パートおよびBL1パートを起動した後、かつシステムが、BL2パートを実行する、すなわち、カーネルをロードする前、システムは、ブートローダに命令して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する。システム起動プロセスにおいてノード(ブートローダ、カーネル、およびカーネルセキュリティ管理拡張モジュールなど)が必要とする、ノードの完全性またはセキュリティを評価するために使用される標準評価値などの関連パラメータは、PCRパーティションに予め記憶されている。これらの標準評価値は、システムを最初に起動するプロセスにおいて、ノードによってシステムにプロアクティブに報告されてもよく、システムは、システムの特定の記憶ユニットに標準評価値を記憶する。
具体的には、第1のセキュリティアルゴリズムは、システムの記憶ユニットにパッケージおよび記憶させてもよい。ブートローダがBL1プロセスの実行を完了した後、ブートローダは、現在のBL1プロセスが既に完了していることをシステムに通知するようにトリガしてもよい。トリガ信号の受信後、システムは、ブートローダを呼び出して、記憶ユニットに予め記憶された第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションの信頼性を評価する。
具体的には、第1のセキュリティアルゴリズムは、具体的には例えばセキュアハッシュアルゴリズム(SHA-1)または中国産SM3ハッシュアルゴリズムであってよく、第1のセキュリティアルゴリズムの評価原理は、次のように説明できる:前述の2つのアルゴリズムを用いて、評価しようとするオブジェクト、例えばイメージファイルに対して計算を行って、現在評価されたオブジェクトの評価値(すなわち、評価されたオブジェクトのダイジェスト値であり、ここで、SHA-1アルゴリズムに対応する、評価されたオブジェクトのダイジェスト値は、160ビットであり、SM3アルゴリズムに対応する、評価されたオブジェクトのダイジェスト値は、256ビットである)を取得するものであり、ここで、評価値は、対応するアルゴリズムを用いて計算により取得される、評価されたオブジェクトの一意の値である。評価されたオブジェクトの評価値が変わる場合、評価されたオブジェクトが変わった、または修正されたことが考えられる。同様に、ブートローダが、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するプロセスは、次のように説明できる:ブートローダが、評価されたオブジェクトとして、PCRパーティションのイメージファイルをメモリに読み込み、第1のセキュリティアルゴリズムを用いてPCRパーティションの評価値を計算し、ここで、評価値が変わらなければ、PCRパーティションが変わっておらず、安全かつ信頼できるということである。反対に、評価値が変わった場合、PCRパーティションが悪意を持って人工的に修正および変更されたかもしれないということであり、このケースでは、PCRパーティションに記憶された関連データのセキュリティもまた疑わしい。全システムの実行環境のセキュリティを確実にするために、ブートローダは、PCRセキュリティ評価が不合格であることをシステムに通知し、システムに対して、システム起動プロセスを停止し、かつデバイスの電源を切るように促す。
PCRパーティションの信頼性を実際に評価するプロセスにおいて使用される第1のセキュリティアルゴリズムは、さらに、MTV5アルゴリズム、SHA-2アルゴリズム、SHA-256アルゴリズム、およびMDアルゴリズムのうちの任意のアルゴリズムであってもよい。第1のセキュリティアルゴリズムの信頼性を評価する方法および原理は、SHA-1およびSM3のものと同じであり、ただ、具体的なアルゴリズムの種類が異なれば具体的な計算プロセスが異なるだけである。当業者の理解度に応じて、同じ原理に基づいて、前述の方法を用いてPCRパーティションの信頼性は評価され、ここでは細部を繰り返し説明しない。
S203:PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価する。
具体的には、第1のセキュリティアルゴリズムを用いて、PCRパーティションの評価値が計算され、評価値に従ってPCRパーティションは信頼できると判定された後に、システムは、ブートローダを呼び出して、カーネルコードをメモリに読み込み、評価されたオブジェクトとしてカーネルコードを使用し、ブートローダを呼び出して、記憶ユニットに予め記憶された第1の完全アルゴリズムに従って、カーネルコード実評価値と、PCRパーティションに予め記憶されたカーネルコード標準評価値との間における値の関係を照合および計算することによって、カーネルコードが信頼できるかどうかを判定する。第1の完全アルゴリズムは、ステップ202において列挙した第1のセキュリティアルゴリズムのうちの1つであってもよく、第1の完全アルゴリズムに従って、ブートローダによってカーネルコードの信頼性を評価する方法および原理に関しては、ステップ202における、第1のセキュリティアルゴリズムに従って、PCRパーティションの信頼性を評価するプロセスの対応する内容を参照してもよく、ここでは細部を繰り返し説明しない。
S204:カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価する。
具体的には、第1の完全アルゴリズムを使用して、カーネルコードが安全かつ信頼できると評価した後、システムは、ブートローダを呼び出して、BL2プロセスを実行して、カーネルをロードする。カーネルをロードする初期段階において、ロードするためのカーネルコードをまず初期化する必要がある。先行技術とは異なり、本発明の本実施形態では、カーネルコードの初期化完了後、システムは、初期化されたカーネルをまず始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するものであり、第2の完全アルゴリズムもまた、第1の完全アルゴリズムと同様に、システムの記憶ユニットに予め記憶され、第2の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、第1の完全アルゴリズムによって参照されるアルゴリズムの種類と同じであってもよいし、あるいは第2の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、列挙した前述のアルゴリズムのうちのいずれか1つであってもよく、第2の完全アルゴリズムの具体的な評価プロセスもまた、第1の完全アルゴリズムを用いてカーネルコードの信頼性を評価する方法および原理と同じであり、本実施形態においてここでは細部を繰り返し説明しない。反対に、第1の完全アルゴリズムを使用して、カーネルコードが信頼できないと評価した場合、ブートローダは、システム・カーネル・セキュリティ評価が不合格であることをシステムに通知し、システムに対して、システム起動プロセスを停止し、デバイスの電源を切るように促す。
S205:ブートローダが信頼できる場合、カーネルを起動する。
具体的には、初期化されたカーネルが第2の完全アルゴリズムを使用して、ブートローダが信頼できるとを評価した後、システムは、カーネルコードを完全に起動し、OSがSDRAMにおいて実行され得るようにし、その結果、OSがSDRAMにおいて最終的に実行される。反対に、初期化されたカーネルが第2の完全アルゴリズムを使用して、ブートローダが信頼できないと評価した場合、カーネルは、ブートローダセキュリティ評価が不合格であることをシステムに通知し、システムに対して、システム起動プロセスを停止し、デバイスの電源を切るように促す。
本発明において提供される信頼できるカーネル起動方法によれば、セキュリティブートモジュールであるブートローダが起動され、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価し、ブートローダが信頼できる場合、カーネルを起動する。この解決策では、カーネル起動セキュリティがある程度改善される。
図2bは、本発明による信頼できるカーネル起動方法の別の実施形態の流れ図である。本実施形態における信頼できるカーネル起動方法は、図2aに示す実施形態の具体的な実施態様である。図2bに示すように、信頼できるカーネル起動方法は、次を特に含む:
S211:セキュリティブートモジュールであるブートローダを起動する。このステップを実行する具体的なプロセスについては、ステップ201の対応する内容を参照できる。
S212:環境(ENV)パーティションに予め記憶された、PCRパーティションの標準評価値を取得する。
図2aに示す実施形態におけるステップ202の前に、システムは、環境(ENV)パーティションに予め記憶された、PCRパーティションの標準評価値をさらにまず取得してもよく、ここで、標準評価値は、システム起動時にPCRパーティションがノードごとに関連パラメータを初めて記憶する際に、第1のセキュリティアルゴリズムを用いて、現在のPCRパーティションに対応するイメージファイルを計算することによって、生成される評価値である。
具体的には、環境(ENV)パーティションに予め記憶された、PCRパーティションの標準評価値を取得する具体的なプロセスは、以下のとおりである。
1.ユーザよって入力されたPINに基づいてルートキーを生成する。
システムが最初に電源投入され実行される場合、システムは、システムのブートローダおよびカーネルなどの主要ノードによって送信され、主要ノードのセキュリティを評価するために使用される標準評価値をまず受信し、次いで、標準評価値は、評価を将来参照する時のために、記憶装置のPCRパーティションに記憶される。次いで、システムは、第1のセキュリティアルゴリズムを使用して、PCRパーティションに対応するイメージファイルの標準評価値P(20バイト)を計算し、ここで、標準評価値は、デバイスルートキーSRKを用いて暗号化されて、ENC{P}を生成し、ENC{P}は、ENVパーティションの最後の20バイトに記憶される。ルートキーは、ユーザによって管理され、システムを起動するたびに、ユーザは対応するルートキーシード、すなわち、PINを入力でき、その結果、システムは、ルートキーを生成する。
2.ルートキーを用いてENVパーティションを復号して、ENVパーティションに予め記憶された、PCRパーティションの標準評価値を取得する。
ブートローダがBL1プロセスを完了した後、システムは、ユーザによって入力されたPINを受け取り、PINに従ってSRKを生成し、その結果、ENVパーティションの最後の20バイトにおいて復号が行われる。
ユーザによって入力されたPINが正しければ、システムは、PINに従ってSRKを生成し、その結果、ENVパーティションのENC{P}の復号が成功し、値Pを取得することが実現できる。値Pは、PCRパーティションに対応する標準評価値である。PCRパーティションが信頼できるかどうかは、PとPCRパーティション実評価値とを比較することによって判定できる。このようにして、権限のないユーザが、PCRパーティションのいかなる情報を改ざんしたとしても、権限のないユーザは、対応するENC{P}までは改ざんできない。したがって、PCRパーティションがひとたび改ざんされたならば、このケースは発見でき、システムは、現在の起動プロセスを停止するようにさらに促される。
S213:ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する。このステップを実行する具体的なプロセスについては、ステップ202の対応する内容を参照できる。
具体的には、ブートローダが第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する具体的なプロセスは、以下のとおりであってもよい:まず、第1のセキュリティアルゴリズムを使用して、評価されたオブジェクト、すなわち、PCRパーティションのイメージファイルを計算して、現在のPCRパーティションの実評価値を取得する。ブートローダは、PCRパーティション実評価値がPCRパーティション標準評価値に等しいかどうか比較することによって、PCRパーティションが2回の評価の間で変わったかどうかを判定し、その結果、PCRパーティションが信頼できるかどうかを判定する。PCRパーティション実評価値がPCRパーティション標準評価値に等しい場合、PCRパーティションは変わっておらず、PCRパーティションの環境が安全かつ信頼できるということである。
S214:PCRパーティションに予め記憶されたカーネルコード標準評価値を取得する。
図2aに示す実施形態におけるステップ203の前に、システムは、PCRパーティションからカーネルコード標準評価値をさらにまず取得してもよく、ここで、標準評価値は、システムが最初に起動され、カーネルが、第1の完全アルゴリズムに従って、カーネルに対応する標準値を計算した後、カーネルによってシステムにプロアクティブに報告され、システムによってPCRパーティションに記憶される。
S215:PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価する。このステップを実行する具体的なプロセスについては、ステップ203の対応する内容を参照できる。
具体的には、PCRパーティションが信頼できる場合、システムは、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、カーネルコード実評価値がPCRパーティションから取得される、カーネルコードの標準評価値に等しいかどうか比較することによって、カーネルコードが信頼できるかどうかを評価し、ここで、カーネルコード実評価値がカーネルコード標準評価値に等しい場合、カーネルコードは信頼できるということである。
S216:PCRパーティションに予め記憶されたブートローダ標準評価値を取得する。
図2aに示す実施形態におけるステップ204の前に、システムは、PCRパーティションからブートローダ標準評価値をさらにまず取得してもよく、ここで、標準評価値は、システムが最初に起動され、ブートローダが、第2の完全アルゴリズムに従って、ブートローダに対応する標準値を計算した後、ブートローダによってシステムにプロアクティブに報告され、システムによってPCRパーティションに記憶される。
S217:カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価する。このステップを実行する具体的なプロセスについては、ステップ204の対応する内容を参照できる。
具体的には、カーネルコードが信頼できる場合、システムは、カーネルコードをまず初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、ブートローダ実評価値がPCRパーティションから取得される、ブートローダの標準評価値に等しいかどうか比較することによって、ブートローダが信頼できるかどうかを評価し、ここで、ブートローダ実評価値がブートローダ標準評価値に等しい場合、ブートローダは信頼できるということである。
S218:ブートローダが信頼できる場合、カーネルを起動する。このステップを実行する具体的なプロセスについては、ステップ105の対応する内容を参照できる。
本発明において提供される信頼できるカーネル起動方法によれば、セキュリティブートモジュールであるブートローダが起動され、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価し、ブートローダが信頼できる場合、カーネルを起動する。この解決策では、カーネル起動セキュリティがある程度改善される。
図2cは、本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。本実施形態における信頼できるカーネル起動方法は、図2aに示す実施形態の具体的な実施態様である。図2cに示すように、ステップ221から225の内容については、ステップ201から205の対応する内容を参照でき、ここでは細部を繰り返し説明しない。本実施形態では、図2aに示す方法に基づいて、ステップ205の後、信頼できるカーネル起動方法は、次をさらに含む:
S226:カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価する。
第3の完全アルゴリズムもまた、第1の完全アルゴリズムと同様に、システムの記憶ユニットに予め記憶され、第3の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、第1の完全アルゴリズムによって参照されるアルゴリズムの種類と同じであってもよいし、あるいは第3の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、列挙した前述のアルゴリズムのうちのいずれか1つであってもよく、第3の完全アルゴリズムの具体的な評価プロセスもまた、第1の完全アルゴリズムを用いてカーネルコードの信頼性を評価する方法および原理と同じであり、ここでは細部を繰り返し説明しない。
具体的には、カーネルの起動が完了した後、システムは、カーネルを呼び出し続けて、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価してもよい。
具体的な評価方法は、次のとおりである:システムが、PCRパーティションからカーネルセキュリティ管理拡張モジュール標準評価値をまず取得し、ここで、標準評価値が、システムが最初に起動され、カーネルセキュリティ管理拡張モジュールが、カーネルセキュリティ管理拡張モジュールに対応するイメージファイルを評価されたオブジェクトとして使用して第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールに対応する標準値を計算した後、カーネルセキュリティ管理拡張モジュールによってシステムにプロアクティブに報告され、システムによってPCRパーティションに記憶される。
加えて、システムは、カーネルを呼び出して、第3の完全アルゴリズムに従って、現在のカーネルセキュリティ管理拡張モジュール実評価値を計算し、カーネルセキュリティ管理拡張モジュール実評価値がPCRパーティションから取得されるカーネルセキュリティ管理拡張モジュールの標準評価値に等しいかどうか比較することによって、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価し、ここで、カーネルセキュリティ管理拡張モジュール実評価値がカーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、カーネルセキュリティ管理拡張モジュールは信頼できるということである。
S227:カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動する。
カーネルセキュリティ管理拡張モジュールが信頼できる場合、カーネルは、カーネルセキュリティ管理拡張モジュールを動的にロードし、システムの通常の作業環境において実行する必要があるすべてのプログラムを含む、全システムを起動する。
また、図2dに示すように、ステップ227の後、すなわち、オペレーティングシステムが通常の起動を完了した後、かつオペレーティングシステムが各アプリケーションプログラムを起動する前に、オペレーティングシステムは、以下のステップ(S238およびS239)をさらに実行して、オペレーティングシステムのセキュリティをさらに確実にしてもよい。図2dに示すように、ステップ231から237の内容については、ステップ221から227の対応する内容を参照でき、本実施形態においてここでは細部を繰り返し説明しない。
S238:カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する。
第4の完全アルゴリズムもまた、第1の完全アルゴリズムと同様に、システムの記憶ユニットに予め記憶され、第4の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、第1の完全アルゴリズムによって参照されるアルゴリズムの種類と同じであってもよいし、あるいは第4の完全アルゴリズムによって特に参照されるアルゴリズムの種類が、列挙した前述のアルゴリズムのうちのいずれか1つであってもよく、第4の完全アルゴリズムの具体的な評価プロセスもまた、第1の完全アルゴリズムを用いてカーネルコードの信頼性を評価する方法および原理と同じであり、ここでは細部を繰り返し説明しない。
具体的な評価方法は、次のとおりである:システムが、PCRパーティションから、起動しようとするアプリケーションプログラムの標準評価値をまず取得し、ここで、標準評価値が、対応するアプリケーションプログラムが最初に起動され、システムが、カーネルセキュリティ管理拡張モジュールを呼び出して、アプリケーションプログラムに対応するイメージファイルを評価されたオブジェクトとして使用し、第4の完全アルゴリズムに従って、アプリケーションプログラムに対応する標準値を計算した後、システムにプロアクティブに報告され、システムによってPCRパーティションに記憶される。
加えて、システムが、カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、アプリケーションプログラムの現在の実評価値を計算し、アプリケーションプログラムの実評価値がPCRパーティションから取得されるアプリケーションプログラムの標準評価値に等しいかどうか比較することによって、アプリケーションプログラムが信頼できるかどうかを評価し、ここで、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しい場合、アプリケーションプログラムは信頼できるということである。
S239:アプリケーションプログラムが信頼できる場合、システムは、アプリケーションプログラムを起動する。反対に、アプリケーションプログラムの実評価値がアプリケーションプログラムの標準評価値に等しくない場合、アプリケーションプログラムが信頼できないということであり、このケースでは、カーネルセキュリティ管理拡張モジュールが、起動しようとする現在のアプリケーションプログラムが信頼できないことをシステムにプロアクティブに通知し、起動を続けて行うかどうかの命令を要求する。次いで、システムによって対応する情報ウィンドウをポップアップする方法で、ユーザは起動を続けて行うかどうかを決定する。
図2bに示す実施形態におけるステップ218の後に、本実施形態におけるステップ236およびステップ237またはステップ236からステップ239を行うこともできることが理解でき、ここでは細部を繰り返し説明しない。
本発明において提供される信頼できるカーネル起動方法によれば、セキュリティブートモジュールであるブートローダが起動され、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価し、ブートローダが信頼できる場合、カーネルを起動し、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価し、カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動する。この解決策では、カーネル起動セキュリティおよびオペレーティングシステム起動セキュリティがある程度改善される。
図3aは、本発明による信頼できるカーネル起動方法の別の実施形態の流れ図である。図3aに示すように、信頼できるカーネル起動方法は、次を特に含む:
S301:セキュリティブートモジュールであるブートローダを起動する。このステップを実行する具体的なプロセスについては、ステップ201の対応する内容を参照できる。
S302:ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する。このステップを実行する具体的なプロセスについては、ステップ202の対応する内容を参照できる。
S303:PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価する。このステップを実行する具体的なプロセスについては、ステップ203の対応する内容を参照できる。
S304:カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動する。
具体的には、ブートローダが呼び出されて、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できると評価した場合、システムは、カーネルコードを完全に起動し、OSがSDRAMにおいて実行され得るようにし、その結果、OSがSDRAMにおいて最終的に実行される。反対に、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できないと評価した場合、ブートローダは、カーネルセキュリティ評価が不合格であることをシステムに通知し、システムに対して、システム起動プロセスを停止し、デバイスの電源を切るように促す。
本実施形態に示す信頼できるカーネル起動方法では、図2aに示す実施形態と比較すると、起動プロセスにおいて、カーネルがブートローダをさらに評価することが除かれ、全カーネルが直接起動され、このことにより、カーネル手続きがある程度簡素化される。カーネルをロードする前に、PCRパーティションのセキュリティを評価することによって、カーネルを起動する際のセキュリティもまた改善される。
図3bは、本発明による信頼できるカーネル起動方法の別の実施形態の流れ図である。本実施形態における信頼できるカーネル起動方法は、図3aに示す実施形態の具体的な実施態様である。図3bに示すように、信頼できるカーネル起動方法は、次を特に含む:
S311:セキュリティブートモジュールであるブートローダを起動する。
S312:環境(ENV)パーティションに予め記憶された、PCRパーティションの標準評価値を取得する。
S313:ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する。
S314:PCRパーティションに予め記憶されたカーネルコード標準評価値を取得する。
S315:PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価する。
S316:カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動する。
ステップ311からステップ315を実行する具体的なプロセスについては、ステップ211からステップ215の対応する内容を参照でき、ステップ316を実行する具体的なプロセスについては、ステップ304の対応する内容を参照でき、ここでは繰り返し説明しない。
本実施形態に示す信頼できるカーネル起動方法では、図2bに示す実施形態と比較すると、起動プロセスにおいて、カーネルがブートローダをさらに評価することが除かれ、全カーネルが直接起動され、このことにより、カーネル手続きがある程度簡素化される。カーネルをロードする前に、PCRパーティションのセキュリティを評価することによって、カーネルを起動する際のセキュリティもまた改善される。
図3cは、本発明による信頼できるカーネル起動方法のさらに別の実施形態の流れ図である。本実施形態における信頼できるカーネル起動方法は、図3aに示す実施形態の具体的な実施態様である。図3cに示すように、図3aに示す方法に基づいて、ステップ304の後、信頼できるカーネル起動方法は、次をさらに含む:
S325:カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価する。
S326:ブートローダが信頼できる場合、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価する。
S327:カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動する。
図3cに示すように、ステップ321から324の内容については、ステップ301から304の対応する内容を参照でき、ここでは細部を繰り返し説明しない。
また、図3dに示すように、本実施形態では、ステップ327の後、すなわち、オペレーティングシステムが通常の起動を完了した後、かつオペレーティングシステムが各アプリケーションプログラムを起動する前に、オペレーティングシステムは、以下のステップ(S338およびS339)をさらに実行して、オペレーティングシステムのセキュリティをさらに確実にしてもよい。
S338:カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する。
S339:アプリケーションプログラムが信頼できる場合、システムは、アプリケーションプログラムを起動する。
ステップ338およびステップ339を実行する具体的なプロセスについては、ステップ238およびステップ239の対応する内容を参照できる。
図3bに示す本実施形態におけるステップ316の後に、本実施形態におけるステップ336およびステップ337またはステップ336から339を行うこともできることが理解でき、ここでは細部を繰り返し説明しない。
また、ステップ335の前に、本方法は、PCRパーティションに予め分類された、ブートローダの標準評価値を取得するステップをさらに含むことができる。このステップを実行する具体的なプロセスについては、ステップ216の対応する内容を参照できる。
また、ステップ335を実行する具体的なプロセスについては、ステップ217の対応する内容を参照できる。
本実施形態に示す信頼できるカーネル起動方法では、図2cに示す実施形態と比較すると、起動プロセスにおいて、カーネルがブートローダをさらに評価することが除かれ、全カーネルが直接起動され、次いで、起動されたカーネルが呼び出されて、ブートローダに対するセキュア評価を実行し、このことにより、カーネル起動手続きがある程度簡素化され、オペレーティングシステム起動セキュリティが確実になる。
当業者であれば、方法実施形態の各ステップの全部または一部を関連ハードウェアに命令するプログラムによって実現することができることを理解するはずである。プログラムはコンピュータ可読記憶媒体に記憶することができる。プログラムが走ると、方法実施形態の各ステップが行われる。前述の記憶媒体は、ROM、RAM、磁気ディスク、光ディスクといった、プログラムコードを記憶することのできる任意の媒体を含む。
図4aは、本発明による信頼できるカーネル起動装置の一実施形態の概略構造図である。本装置は、組み込み起動システムまたはシステムに新しく加えられた固定機能モジュール、例えば、図1に示す信頼できるソフト・コンポーネント・プラットフォーム・モジュールであってもよい。信頼できるカーネル起動装置は、図2に示す信頼できるカーネル起動方法を実行できる。図4に示すように、信頼できるカーネル起動装置は、ブート起動モジュール401と、第1の評価モジュール402と、第2の評価モジュール403と、カーネル起動モジュール404とを特に含み、ここで、
ブート起動モジュール401が、セキュリティブートモジュールであるブートローダを起動するように構成され、
第1の評価モジュール402が、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する、ように構成され、
第1の評価モジュール402が、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価する、ようにさらに構成され、
第2の評価モジュール403が、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価する、ように構成され、
カーネル起動モジュール404が、ブートローダが信頼できる場合、カーネルを起動するように構成される。
また、図4bに示すように、411から414の具体的な機能は、図4aの401から404の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、取得モジュール415をさらに含み、ここで、取得モジュール415は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得し、PCRパーティションに予め記憶されたカーネルコード標準評価値を取得し、PCRパーティションに予め記憶されたブートローダ標準評価値を取得するように構成され、ここで、図4bに示す実施形態では、図2bに示す実施形態の方法ステップが、図4bに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図4cに示すように、421から424の具体的な機能は、図4aの401から404の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置では、
第2の評価モジュール423は、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成され、
図4cに示すように、信頼できるカーネル起動装置は、カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されるシステム起動モジュール426をさらに含んでもよい。
図2cに示す実施形態の方法ステップは、図4cに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図4dに示すように、431から434および436の具体的な機能は、図4cの421から424および426の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する、ように構成される第3の評価モジュール437と、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されるアプリケーションプログラム起動モジュール438と、
をさらに含む。
図2dに示す実施形態の方法ステップは、図4dに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図4eに示すように、441から445の具体的な機能は、図4bの411から415の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置では、
第2の評価モジュール443は、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価する、ようにさらに構成され、
取得モジュール445が、PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成され
図4eに示すように、信頼できるカーネル起動装置は、カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されるシステム起動モジュール446をさらに含んでもよい。
また、図4fに示すように、451から456の具体的な機能は、図4eの441から446の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置では、
取得モジュール455は、PCRパーティションに予め記憶された、アプリケーションプログラムの標準評価値を取得するようにさらに構成される。
図4fに示すように、信頼できるカーネル起動装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する、ように構成される第3の評価モジュール457と、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されるアプリケーションプログラム起動モジュール458と、
をさらに含んでもよい。
図2aから図2dに示す実施形態の方法ステップは、図4fに示す信頼できるカーネル起動装置によって実行されてもよい。
本発明の本実施形態において提供される信頼できるカーネル起動装置は、セキュリティブートモジュールであるブートローダを起動し、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できる場合、カーネルコードを初期化して、初期化されたカーネルを始動して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価し、ブートローダが信頼できる場合、カーネルを起動する。この解決策では、カーネル起動セキュリティがある程度改善される。
図5aは、本発明による信頼できるカーネル起動装置のさらに別の実施形態の概略構造図である。本装置は、組み込み起動システムまたはシステムに新しく加えられた固定機能モジュール、例えば、図1に示す信頼できるソフト・コンポーネント・プラットフォーム・モジュールであってもよい。信頼できるカーネル起動装置は、図3aに示す信頼できるカーネル起動方法を実行できる。図5aに示すように、信頼できるカーネル起動装置は、ブート起動ユニット501と、第1の評価ユニット502と、カーネル起動ユニット503とを特に含み、ここで、
ブート起動ユニット501が、セキュリティブートモジュールであるブートローダを起動するように構成され、
第1の評価モジュール502が、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する、ように構成され、
第1の評価モジュール502が、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価するようにさらに構成され、
カーネル起動ユニット503が、カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動するように構成される。
また、図5bに示すように、511から513の具体的な機能は、図5aの501から503の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、取得ユニット514をさらに含んでもよく、ここで、取得ユニット514は、
環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得し、PCRパーティションに予め記憶されたカーネルコード標準評価値を取得する
ように構成される。
図3bに示す実施形態の方法ステップは、図5bに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図5cに示すように、521から523の具体的な機能は、図5aの501から503の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するように構成される第2の評価ユニット525であって、
第2の評価ユニット525が、ブートローダが信頼できる場合、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成される、第2の評価ユニット525と、
カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されるシステム起動ユニット526と、
をさらに含む。
図3cに示す実施形態の方法ステップは、図5cに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図5dに示すように、531から533、535および536の具体的な機能は、図5cの521から523、525および526の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成される第3の評価ユニット537と、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されるアプリケーションプログラム起動ユニット538と、
をさらに含む。
図3dに示す実施形態の方法ステップは、図5dに示す信頼できるカーネル起動装置によって実行されてもよい。
また、図5eに示すように、541から544の具体的な機能は、図5bの511から514の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置は、
カーネルを呼び出して、第2の完全アルゴリズムに従って、ブートローダが信頼できるかどうかを評価するように構成される第2の評価ユニット545であって、
第2の評価ユニット545が、ブートローダが信頼できる場合、カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成される、第2の評価ユニット545と、
カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されるシステム起動ユニット546と、
をさらに含む。
図5eに示す信頼できるカーネル起動装置では、取得ユニット544は、PCRパーティションに予め記憶されたブートローダ標準評価値を取得し、PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成される。
また、図5fに示すように、551から556の具体的な機能は、図5eの541から546の機能と対応して同じであり、ここでは細部を繰り返し説明しない。本実施形態において提供される信頼できるカーネル起動装置では、
取得ユニット554は、PCRパーティションに予め記憶された、アプリケーションプログラムの標準評価値を取得するようにさらに構成される。
図5fに示すように、信頼できるカーネル起動装置は、
カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成される第3の評価モジュール557と、
アプリケーションプログラムが信頼できる場合、アプリケーションプログラムを起動するように構成されるアプリケーションプログラム起動モジュール558と、
をさらに含む。
図3aから図3dに示す実施形態の方法ステップは、図5fに示す信頼できるカーネル起動装置によって実行されてもよい。
本実施形態に示す信頼できるカーネル起動装置は、セキュリティブートモジュールであるブートローダを起動し、ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価し、PCRパーティションが信頼できる場合、ブートローダを呼び出して、カーネルコードをメモリに読み込み、ブートローダを呼び出して、第1の完全アルゴリズムおよびPCRパーティションに予め記憶されたカーネルコード標準評価値に従って、カーネルコードが信頼できるかどうかを評価し、カーネルコードが信頼できる場合、カーネルコードを実行して、カーネルを起動する。図4aに示す実施形態と比較すると、起動プロセスにおいて、カーネルがブートローダをさらに評価することが除かれ、全カーネルが直接起動され、このことにより、カーネル起動手続きがある程度簡素化される。カーネルをロードする前に、PCRパーティションのセキュリティを評価することによって、カーネルを起動する際のセキュリティもまた改善される。
説明を簡便にする目的で前述の機能モジュールの分割が説明のための例として挙げられていることが、当業者にははっきりと理解することができる。実際の適用においては、前述の各機能を、異なる機能モジュールに割り振り、要件に従って実装することができる、すなわち、装置の内部構造が上述の各機能の全部または一部を実装するための異なる機能モジュールに分割される。前述のシステム、装置およびユニットの詳細な動作プロセスについては、前述の方法実施形態における対応するプロセスを参照でき、ここでは細部を繰り返し説明しない。
本出願において提供されるいくつかの実施形態においては、開示のシステム、装置、および方法を他のやり方で実装することもできることを理解すべきである。例えば、説明された装置実施形態は単なる例示にすぎない。例えば、モジュールまたはユニットの分割は単なる論理的機能分割にすぎず、実際の実装に際しては他の分割も可能である。例えば、複数のユニットまたはコンポーネントが組み合わされ、または統合されて別のシステムになる場合もあり、いくつかの特徴が無視され、または実行されない場合もある。加えて、表示された、または論じられた相互結合または直接結合または通信接続を、いくつかのインターフェースを使用して実現することもできる。装置間またはユニット間の間接結合または通信接続は、電子的形態、機械的形態、または他の形態として実現することができる。
別々の部品として記述されたユニットは物理的に分離している場合もそうでない場合もあり、ユニットとして表示された部品は、物理的ユニットである場合もそうでない場合もあり、1箇所に位置する場合もあり、複数のネットワークユニット上に分散される場合もある。ユニットの一部または全部を、各実施形態の解決策の目的を達成するための実際の必要に従って選択することもできる。
加えて、本出願の実施形態における機能ユニットが1つの処理ユニットへ統合される場合もあり、ユニットの各々が物理的に独立して存在する場合もあり、または2つ以上のユニットが1つのユニットへ統合される場合もある。統合ユニットはハードウェアの形態で実現することもでき、ソフトウェア機能ユニットの形態で実現することもできる。
前述の統合ユニットがソフトウェア機能ユニットの形態で実現され、独立した製品として販売され、または使用される場合に、その統合ユニットはコンピュータ可読記憶媒体に記憶することができる。そうした理解に基づき、本出願の技術解決策を本質的に、または先行技術に寄与する部分を、または技術解決策の全部または一部を、ソフトウェア製品の形態で実現することができる。ソフトウェア製品は記憶媒体に記憶されており、(パーソナルコンピュータ、サーバ、もしくはネットワークデバイスとすることができる)コンピュータデバイスまたはプロセッサ(processor)に、本出願の各実施形態で記述されている方法のステップの全部または一部を実行するよう命令するためのいくつかの命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読取り専用メモリ(ROM、Read-Only Memory)、ランダム・アクセス・メモリ(RAM、Random Access Memory)、磁気ディスク、光ディスクといった、プログラムコードを記憶することができる任意の媒体を含む。
前述の実施形態は、本出願を限定するためのものではなく、単に本出願の技術的解決策を説明するためのものにすぎない。本出願は前述の実施形態に関連して詳細に説明されているが、当業者は、本出願の実施形態の技術的解決策の趣旨および範囲を逸脱することなく、さらに、前述の実施形態に記述されている技術的解決策に改変を加え、あるいは、前述の実施形態の一部の技術的特徴に対する等価の置換を行うことができる、ということが理解されよう。
401 ブート起動モジュール
402 第1の評価モジュール
403 第2の評価モジュール
404 カーネル起動モジュール
411 ブート起動モジュール
412 第1の評価モジュール
413 第2の評価モジュール
414 カーネル起動モジュール
415 取得モジュール
421 ブート起動モジュール
422 第1の評価モジュール
423 第2の評価モジュール
424 カーネル起動モジュール
426 システム起動モジュール
431 ブート起動モジュール
432 第1の評価モジュール
433 第2の評価モジュール
434 カーネル起動モジュール
436 システム起動モジュール
437 第3の評価モジュール
438 アプリケーションプログラム起動モジュール
441 ブート起動モジュール
442 第1の評価モジュール
443 第2の評価モジュール
444 カーネル起動モジュール
445 取得モジュール
446 システム起動モジュール
451 ブート起動モジュール
452 第1の評価モジュール
453 第2の評価モジュール
454 カーネル起動モジュール
455 取得モジュール
456 システム起動モジュール
457 第3の評価モジュール
458 アプリケーションプログラム起動モジュール
501 ブート起動ユニット
502 第1の評価ユニット
503 カーネル起動ユニット
511 ブート起動ユニット
512 第1の評価ユニット
513 カーネル起動ユニット
514 取得ユニット
521 ブート起動ユニット
522 第1の評価ユニット
523 カーネル起動ユニット
525 第2の評価ユニット
526 システム起動ユニット
531 ブート起動ユニット
532 第1の評価ユニット
533 カーネル起動ユニット
535 第2の評価ユニット
536 システム起動ユニット
537 第3の評価ユニット
538 アプリケーションプログラム起動ユニット
541 ブート起動ユニット
542 第1の評価ユニット
543 カーネル起動ユニット
544 取得ユニット
545 第2の評価ユニット
546 システム起動ユニット
551 ブート起動ユニット
552 第1の評価ユニット
553 カーネル起動ユニット
554 取得ユニット
555 第2の評価ユニット
546 システム起動ユニット
557 第3の評価ユニット
558 アプリケーションプログラム起動モジュール
第1の態様の第1の可能な実施態様に関連して、第1の態様の第2の可能な実施態様において、環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップが、
ユーザによって入力されたPINに基づいてルートキーを生成するステップと、
ルートキーを用いてENVパーティションを復号し、ENVパーティションに予め記憶された、PCRパーティション標準評価値を取得するステップとを含む。
第3の態様の第1の可能な実施態様に関連して、第3の態様の第2の可能な実施態様において、取得モジュールが、ユーザによって入力されたPINに基づいてルートキーを生成し、ルートキーを用いてENVパーティションを復号し、ENVパーティションに予め記憶されたPCRパーティション標準評価値を取得するように特に構成される。
第4の態様の第2の可能な実施態様に関連して、第4の態様の第3の可能な実施態様において、
取得ユニットが、ユーザによって入力されたPINに基づいてルートキーを生成し、ルートキーを用いてENVパーティションを復号し、ENVパーティションに予め記憶されたPCRパーティション標準評価値を取得するように特に構成される。

Claims (36)

  1. 信頼できるカーネル起動方法であって、
    セキュリティブートモジュールであるブートローダを起動するステップと、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップと、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価するステップと、
    前記カーネルコードが信頼できる場合、前記カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価するステップと、
    前記ブートローダが信頼できる場合、前記カーネルを起動するステップと
    を含む、信頼できるカーネル起動方法。
  2. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップ
    をさらに含み、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する前記ステップが、
    前記ブートローダを呼び出して、前記第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しいかどうか比較することによって、前記PCRパーティションが信頼できるかどうかを評価するステップであって、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しい場合、前記PCRパーティションは信頼できる、ステップ
    を含む、請求項1に記載の信頼できるカーネル起動方法。
  3. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得する前記ステップが、
    ユーザによって入力されたPINに基づいてルートキーを生成するステップと、
    前記ルートキーを用いて前記ENVパーティションを復号し、前記ENCパーティションに予め記憶された前記PCRパーティション標準評価値を取得するステップと
    を含む、請求項2に記載の信頼できるカーネル起動方法。
  4. 前記PCRパーティションに予め記憶された前記カーネルコード標準評価値を取得するステップ
    をさらに含み、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価する前記ステップが、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、前記カーネルコードを前記メモリに読み込み、前記ブートローダを呼び出して、前記第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しいかどうか比較することによって、前記カーネルコードが信頼できるかどうかを評価するステップであって、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しい場合、前記カーネルコードは信頼できる、ステップ
    を含む、請求項1から3のいずれか一項に記載の信頼できるカーネル起動方法。
  5. 前記PCRパーティションに予め記憶されたブートローダ標準評価値を取得するステップ
    をさらに含み、
    前記カーネルコードが信頼できる場合、前記カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価する前記ステップが、
    前記カーネルコードが信頼できる場合、前記カーネルコードを初期化して、前記初期化されたカーネルを始動し、前記第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しいかどうか比較することによって、前記ブートローダが信頼できるかどうかを評価するステップであって、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しい場合、前記ブートローダは信頼できる、ステップ
    を含む、請求項1から4のいずれか一項に記載の信頼できるカーネル起動方法。
  6. 前記カーネルを起動する前記ステップの後に、
    前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップと、
    前記カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するステップと
    をさらに含む、請求項1から5のいずれか一項に記載の信頼できるカーネル起動方法。
  7. 前記PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するステップ
    をさらに含み、
    前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価する前記ステップが、
    前記カーネルを呼び出して、前記第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、前記カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップであって、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、前記カーネルセキュリティ管理拡張モジュールは信頼できる、ステップ
    を含む、請求項6に記載の信頼できるカーネル起動方法。
  8. オペレーティングシステムを起動する前記ステップの後に、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップと、
    前記アプリケーションプログラムが信頼できる場合、前記アプリケーションプログラムを起動するステップと
    をさらに含む、請求項6または7に記載の信頼できるカーネル起動方法。
  9. 前記PCRパーティションに予め記憶された、前記アプリケーションプログラムの標準評価値を取得するステップ
    をさらに含み、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する前記ステップが、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、前記第4の完全アルゴリズムに従って、前記アプリケーションプログラムの実評価値を計算し、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しいかどうか比較することによって、前記アプリケーションプログラムが信頼できるかどうかを評価するステップであって、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しい場合、前記アプリケーションプログラムは信頼できる、ステップ
    を含む、請求項8に記載の信頼できるカーネル起動方法。
  10. 信頼できるカーネル起動方法であって、
    セキュリティブートモジュールであるブートローダを起動するステップと、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するステップと、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価するステップと、
    前記カーネルコードが信頼できる場合、前記カーネルコードを実行して、前記カーネルを起動するステップと
    を含む、信頼できるカーネル起動方法。
  11. 前記カーネルコードを実行して、前記カーネルを起動する前記ステップの後に、
    前記カーネルを呼び出して、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価するステップと、
    前記ブートローダが信頼できる場合、前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップと、
    前記カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するステップと
    をさらに含む、請求項10に記載の信頼できるカーネル起動方法。
  12. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するステップ
    をさらに含み、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価する前記ステップが、
    前記ブートローダを呼び出して、前記予め記憶された第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しいかどうか比較することによって、前記PCRパーティションが信頼できるかどうかを評価するステップであって、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しい場合、前記PCRパーティションは信頼できる、ステップ
    を含む、請求項10または11に記載の信頼できるカーネル起動方法。
  13. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得する前記ステップが、
    ユーザによって入力されたPINに基づいてルートキーを生成するステップと、
    前記ルートキーを用いて前記ENVパーティションを復号し、前記ENVパーティションに予め記憶された前記PCRパーティション標準評価値を取得するステップと
    を含む、請求項12に記載の信頼できるカーネル起動方法。
  14. 前記PCRパーティションに予め記憶された前記カーネルコード標準評価値を取得するステップ
    をさらに含み、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価する前記ステップが、
    前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、前記カーネルコードを前記メモリに読み込み、前記ブートローダを呼び出して、前記第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しいかどうか比較することによって、前記カーネルコードが信頼できるかどうかを評価するステップであって、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しい場合、前記カーネルコードは信頼できる、ステップ
    を含む、請求項10から13のいずれか一項に記載の信頼できるカーネル起動方法。
  15. 前記PCRパーティションに予め記憶されたブートローダ標準評価値を取得するステップ
    をさらに含み、
    前記カーネルを呼び出して、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価する前記ステップが、
    前記カーネルを呼び出して、前記第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しいかどうか比較することによって、前記ブートローダが信頼できるかどうかを評価するステップであって、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しい場合、前記ブートローダは信頼できる、ステップ
    を含む、請求項11から14のいずれか一項に記載の信頼できるカーネル起動方法。
  16. 前記PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するステップ
    をさらに含み、
    前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価する前記ステップが、
    前記カーネルを呼び出して、前記第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、前記カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するステップであって、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、前記カーネルセキュリティ管理拡張モジュールは信頼できる、ステップ
    を含む、請求項11から15のいずれか一項に記載の信頼できるカーネル起動方法。
  17. オペレーティングシステムを起動する前記ステップの後に、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するステップと、
    前記アプリケーションプログラムが信頼できる場合、前記アプリケーションプログラムを起動するステップと
    をさらに含む、請求項11から16のいずれか一項に記載の信頼できるカーネル起動方法。
  18. 前記PCRパーティションに予め記憶された、前記アプリケーションプログラムの標準評価値を取得するステップ
    をさらに含み、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価する前記ステップが、
    前記カーネルセキュリティ管理拡張モジュールを呼び出して、前記第4の完全アルゴリズムに従って、前記アプリケーションプログラムの実評価値を計算し、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しいかどうか比較することによって、前記アプリケーションプログラムが信頼できるかどうかを評価するステップであって、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しい場合、前記アプリケーションプログラムは信頼できる、ステップ
    を含む、請求項17に記載の信頼できるカーネル起動方法。
  19. 信頼できるカーネル起動装置であって、
    セキュリティブートモジュールであるブートローダを起動するように構成されたブート起動モジュールと、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するように構成された第1の評価モジュールであって、前記第1の評価モジュールが、前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価するようにさらに構成される、第1の評価モジュールと、
    前記カーネルコードが信頼できる場合、前記カーネルコードを初期化して、初期化されたカーネルを始動し、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価するように構成された第2の評価モジュールと、
    前記ブートローダが信頼できる場合、前記カーネルを起動するように構成されたカーネル起動モジュールと
    を備える、信頼できるカーネル起動装置。
  20. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するように構成された取得モジュール
    をさらに備え、
    前記第1の評価モジュールが、前記ブートローダを呼び出して、前記第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しいかどうか比較することによって、前記PCRパーティションが信頼できるかどうかを評価するようにさらに構成され、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しい場合、前記PCRパーティションは信頼できると判定される、請求項19に記載の信頼できるカーネル起動装置。
  21. 前記取得モジュールが、ユーザによって入力されたPINに基づいてルートキーを生成し、前記ルートキーを用いて前記ENVパーティションを復号し、前記ENCパーティションに予め記憶された前記PCRパーティション標準評価値を取得するようにさらに構成される、請求項20に記載の信頼できるカーネル起動装置。
  22. 前記取得モジュールが、前記PCRパーティションに予め記憶された前記カーネルコード標準評価値を取得するようにさらに構成され、
    前記第1の評価モジュールが、前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、前記カーネルコードを前記メモリに読み込み、前記ブートローダを呼び出して、前記第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しいかどうか比較することによって、前記カーネルコードが信頼できるかどうかを評価するようにさらに構成され、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しい場合、前記カーネルコードは信頼できる、請求項19から21のいずれか一項に記載の信頼できるカーネル起動装置。
  23. 前記取得モジュールが、前記PCRパーティションに予め記憶されたブートローダ標準評価値を取得するようにさらに構成され、
    前記第2の評価モジュールが、前記カーネルコードが信頼できる場合、前記カーネルコードを初期化して、前記初期化されたカーネルを始動し、前記第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しいかどうか比較することによって、前記ブートローダが信頼できるかどうかを評価するようにさらに構成され、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しい場合、前記ブートローダは信頼できる、請求項19から22のいずれか一項に記載の信頼できるカーネル起動装置。
  24. システム起動モジュール
    をさらに備え、
    前記第2の評価モジュールが、前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成され、
    前記システム起動モジュールが、前記カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成される、請求項19から23のいずれか一項に記載の信頼できるカーネル起動装置。
  25. 前記取得モジュールが、前記PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成され、
    前記第2の評価モジュールが、前記カーネルを呼び出して、前記第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、前記カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成され、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、前記カーネルセキュリティ管理拡張モジュールは信頼できる、請求項24に記載の信頼できるカーネル起動装置。
  26. 前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成された第3の評価モジュールと、
    前記アプリケーションプログラムが信頼できる場合、前記アプリケーションプログラムを起動するように構成されたアプリケーションプログラム起動モジュールと
    をさらに備える、請求項24または25に記載の信頼できるカーネル起動装置。
  27. 前記取得モジュールが、前記PCRパーティションに予め記憶された、前記アプリケーションプログラムの標準評価値を取得するようにさらに構成され、
    前記第3の評価モジュールが、前記カーネルセキュリティ管理拡張モジュールを呼び出して、前記第4の完全アルゴリズムに従って、前記アプリケーションプログラムの実評価値を計算し、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しいかどうか比較することによって、前記アプリケーションプログラムが信頼できるかどうかを評価するようにさらに構成され、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しい場合、前記アプリケーションプログラムは信頼できる、請求項26に記載の信頼できるカーネル起動装置。
  28. 信頼できるカーネル起動装置であって、
    セキュリティブートモジュールであるブートローダを起動するように構成されたブート起動ユニットと、
    前記ブートローダを呼び出して、第1のセキュリティアルゴリズムに従って、プラットフォーム構成レジスタ(PCR)パーティションが信頼できるかどうかを評価するように構成された第1の評価ユニットであって、前記第1の評価ユニットが、前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、カーネルコードをメモリに読み込み、前記ブートローダを呼び出して、第1の完全アルゴリズムおよび前記PCRパーティションに予め記憶されたカーネルコード標準評価値に従って、前記カーネルコードが信頼できるかどうかを評価するようにさらに構成される、第1の評価ユニットと、
    前記カーネルコードが信頼できる場合、前記カーネルコードを実行して、カーネルを起動するように構成されたカーネル起動ユニットと
    を備える、信頼できるカーネル起動装置。
  29. 前記カーネルを呼び出して、第2の完全アルゴリズムに従って、前記ブートローダが信頼できるかどうかを評価するように構成された第2の評価ユニットであって、前記第2の評価ユニットが、前記ブートローダが信頼できる場合、前記カーネルを呼び出して、第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成される、第2の評価ユニットと、
    前記カーネルセキュリティ管理拡張モジュールが信頼できる場合、オペレーティングシステムを起動するように構成されたシステム起動ユニットと
    をさらに備える、請求項28に記載の信頼できるカーネル起動装置。
  30. 環境(ENV)パーティションに予め記憶されたPCRパーティション標準評価値を取得するように構成された取得ユニット
    をさらに備え、
    前記第1の評価ユニットが、前記ブートローダを呼び出して、前記予め記憶された第1のセキュリティアルゴリズムに従って、PCRパーティション実評価値を計算し、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しいかどうか比較することによって、前記PCRパーティションが信頼できるかどうかを評価するようにさらに構成され、前記PCRパーティション実評価値が前記PCRパーティション標準評価値に等しい場合、前記PCRパーティションは信頼できる、請求項28または29に記載の信頼できるカーネル起動装置。
  31. 前記取得ユニットが、ユーザによって入力されたPINに基づいてルートキーを生成し、前記ルートキーを用いて前記ENVパーティションを復号し、前記ENCパーティションに予め記憶された前記PCRパーティション標準評価値を取得するようにさらに構成される、請求項30に記載の信頼できるカーネル起動装置。
  32. 前記取得ユニットが、前記PCRパーティションに予め記憶された前記カーネルコード標準評価値を取得するようにさらに構成され、
    前記第1の評価ユニットが、前記PCRパーティションが信頼できる場合、前記ブートローダを呼び出して、前記カーネルコードを前記メモリに読み込み、前記ブートローダを呼び出して、前記第1の完全アルゴリズムに従って、カーネルコード実評価値を計算し、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しいかどうか比較することによって、前記カーネルコードが信頼できるかどうかを評価するようにさらに構成され、前記カーネルコード実評価値が前記カーネルコード標準評価値に等しい場合、前記カーネルコードは信頼できる、請求項28から31のいずれか一項に記載の信頼できるカーネル起動装置。
  33. 前記取得ユニットが、前記PCRパーティションに予め記憶されたブートローダ標準評価値を取得するようにさらに構成され、
    前記第2の評価ユニットが、前記カーネルを呼び出して、前記第2の完全アルゴリズムに従って、ブートローダ実評価値を計算し、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しいかどうか比較することによって、前記ブートローダが信頼できるかどうかを評価するようにさらに構成され、前記ブートローダ実評価値が前記ブートローダ標準評価値に等しい場合、前記ブートローダは信頼できる、請求項29から32のいずれか一項に記載の信頼できるカーネル起動装置。
  34. 前記取得ユニットが、前記PCRパーティションに予め記憶されたカーネルセキュリティ管理拡張モジュール標準評価値を取得するようにさらに構成され、
    前記第2の評価ユニットが、前記カーネルを呼び出して、前記第3の完全アルゴリズムに従って、カーネルセキュリティ管理拡張モジュール実評価値を計算し、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しいかどうか比較することによって、前記カーネルセキュリティ管理拡張モジュールが信頼できるかどうかを評価するようにさらに構成され、前記カーネルセキュリティ管理拡張モジュール実評価値が前記カーネルセキュリティ管理拡張モジュール標準評価値に等しい場合、前記カーネルセキュリティ管理拡張モジュールは信頼できる、請求項29から33のいずれか一項に記載の信頼できるカーネル起動装置。
  35. 前記カーネルセキュリティ管理拡張モジュールを呼び出して、第4の完全アルゴリズムに従って、起動しようとするアプリケーションプログラムが信頼できるかどうかを評価するように構成された第3の評価ユニットと、
    前記アプリケーションプログラムが信頼できる場合、前記アプリケーションプログラムを起動するように構成されたアプリケーションプログラム起動ユニットと
    をさらに備える、請求項29から34のいずれか一項に記載の信頼できるカーネル起動装置。
  36. 前記取得ユニットが、前記PCRパーティションに予め記憶された、前記アプリケーションプログラムの標準評価値を取得するようにさらに構成され、
    前記第3の評価ユニットが、前記カーネルセキュリティ管理拡張モジュールを呼び出して、前記第4の完全アルゴリズムに従って、前記アプリケーションプログラムの実評価値を計算し、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しいかどうか比較することによって、前記アプリケーションプログラムが信頼できるかどうかを評価するようにさらに構成され、前記アプリケーションプログラムの前記実評価値が前記アプリケーションプログラムの前記標準評価値に等しい場合、前記アプリケーションプログラムは信頼できる、請求項35に記載の信頼できるカーネル起動装置。
JP2016559272A 2014-03-25 2015-03-11 信頼できるカーネル起動方法および装置 Active JP6319609B2 (ja)

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
JP2017515208A true JP2017515208A (ja) 2017-06-08
JP6319609B2 JP6319609B2 (ja) 2018-05-09

Family

ID=54165987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016559272A Active JP6319609B2 (ja) 2014-03-25 2015-03-11 信頼できるカーネル起動方法および装置

Country Status (7)

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

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 飞腾信息技术有限公司 实现安全可信启动的方法、安全架构系统及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP2014505943A (ja) * 2011-01-14 2014-03-06 アップル インコーポレイテッド 耐タンパー性ブート処理のためのシステム及び方法
JP2014048725A (ja) * 2012-08-29 2014-03-17 Canon Inc 情報処理装置

Family Cites Families (19)

* 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
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 华为技术有限公司 安全启动方法、装置及计算机系统
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
US8892858B2 (en) 2011-12-29 2014-11-18 Intel Corporation Methods and apparatus for trusted boot optimization
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
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 太原科技大学 一种简易的嵌入式可信终端系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP2014505943A (ja) * 2011-01-14 2014-03-06 アップル インコーポレイテッド 耐タンパー性ブート処理のためのシステム及び方法
JP2014048725A (ja) * 2012-08-29 2014-03-17 Canon Inc 情報処理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6319609B2 (ja) 信頼できるカーネル起動方法および装置
EP2962241B1 (en) Continuation of trust for platform boot firmware
CN109669734B (zh) 用于启动设备的方法和装置
KR101359841B1 (ko) 신뢰성 있는 부트 최적화를 위한 방법 및 장치
US8254568B2 (en) Secure booting a computing device
US8291480B2 (en) Trusting an unverified code image in a computing device
CN113614723A (zh) 更新信号
US20170300692A1 (en) Hardware Hardened Advanced Threat Protection
CN107924440B (zh) 用于管理容器的方法、系统和计算机可读介质
US20210368340A1 (en) Booting and operating computing devices at designated locations
WO2016184180A1 (zh) 一种系统安全启动方法及装置
US20200143058A1 (en) Operational verification
Papakotoulas et al. Sustaining the Trust of an IoT Infrastructure

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180320

R150 Certificate of patent or registration of utility model

Ref document number: 6319609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250