JP6044362B2 - 仮想マシン内でトラストチェーンを構築する方法 - Google Patents

仮想マシン内でトラストチェーンを構築する方法 Download PDF

Info

Publication number
JP6044362B2
JP6044362B2 JP2013009353A JP2013009353A JP6044362B2 JP 6044362 B2 JP6044362 B2 JP 6044362B2 JP 2013009353 A JP2013009353 A JP 2013009353A JP 2013009353 A JP2013009353 A JP 2013009353A JP 6044362 B2 JP6044362 B2 JP 6044362B2
Authority
JP
Japan
Prior art keywords
virtual machine
operating system
measurement
boot loader
binary
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.)
Active
Application number
JP2013009353A
Other languages
English (en)
Other versions
JP2013152717A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2013152717A publication Critical patent/JP2013152717A/ja
Application granted granted Critical
Publication of JP6044362B2 publication Critical patent/JP6044362B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3247Cryptographic 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 digital signatures
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model

Landscapes

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

Description

開示の実施形態は、仮想マシン内でトラストチェーンを構築することに関する。
或る特定種類のソフトウェア攻撃は、アプリケーションバイナリを改竄可能なことに頼っている。リモートアテステーション(遠隔検証)は、遠隔エンティティに対して、環境内で現在どのソフトウェアすなわちアプリケーションが走っているかを特定するための手続き(プロシージャ)である。リモートアテステーション手続きは、それが開始する前に各対応アプリケーションバイナリを計測することと、メジャーメント(計測値)を遠隔エンティティに送信することとを含み得る。そのメジャーメントを予期されるメジャーメントと比較することにより、アプリケーションバイナリを改竄する攻撃を遠隔検出することが可能である。
リモートアテステーションのために実行される計測を信頼できるものにするため、トラストチェーン(一連のトラスト)がブートアップ中に作成され得る。トラストチェーンはトラストアンカーから開始することができ、トラストチェーン内の各要素は先ず、次の要素が開始される前に、次の要素のアプリケーションバイナリを計測し得る。斯くして、常に、信頼できるエンティティが各計測を実行することになる。
請求項に記載される事項は、上述のような環境でのみ問題を解決したり動作したりする実施形態に限定されるものではない。むしろ、この背景技術の説明は、本明細書に記載される実施形態が実施され得る技術領域の一例を示すために提供されているに過ぎないものである。
一実施形態の一態様によれば、ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する方法が提供される。
ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する方法は、仮想マシンとしてインスタンス化するように構成された仮想マシンイメージの不変部分を計測して、トラストアンカーメジャーメントを生成することを含み得る。この方法はまた、トラストアンカーメジャーメントを機密メモリに格納することを含み得る。
実施形態の目的及び利点は、請求項中に具体的に指し示される要素及び組合せによって実現・達成されることになる。
理解されるべきことには、以上の概略説明及び以下の詳細説明は何れも、例示的且つ説明的なものであり、請求項記載発明を限定するものではない。
以下の図を含む添付図面を使用して、実施形態例を更なる特異性とともに記載・説明する。以下の図に示されるものは全て、ここに記載される少なくとも一部の実施形態に従って構成されたものである。
仮想マシン内でトラストチェーンが構築され得る動作環境の一例を示す図である。 図1の動作環境内で実現され得るハードウェアシステムの一実施形態を示すブロック図である。 ネットワークサーバとして実装されるハードウェアシステムの他の一実施形態を示すブロック図である。 図3Aのネットワークサーバ上の仮想マシンをブートアップするために実装され得る起動チェーンの一例を示す図である。 ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する一手法を示すフローチャートである。 仮想マシンをインスタンス化することに関する様々なコンポーネントを示すブロック図である。 仮想マシンをインスタンス化する一手法を示すフローチャートである。
仮想マシンは、クラウドコンピューティングの要素として広く使用されている。仮想マシンは、自身が動作するハードウェアを仮想化し、異なる複数のハードウェアプラットフォームへのソフトウェアの容易な移行を可能にする。仮想マシンにおけるリモートアテステーションは、該仮想マシンをインスタンス化する前に、完全なる対応する仮想マシンイメージを計測することを伴い得る。仮想マシンイメージは大きなものとなることがあり、仮想マシンをインスタンス化する前に仮想マシンイメージ全体を計測することには有意な性能ペナルティが存在し得る。
代替的あるいは付加的に、オペレーティングシステム及び/又はアプリケーションのアップデート、及び/又は新たなアプリケーションの追加は、対応する遠隔エンティティによって許可されたときであっても、新たな対応する仮想マシンイメージを生じさせる。新たな仮想マシンイメージのメジャーメントは、以前のメジャーメントとは異なったものとなり、ひいては、リモートアテステーションのために新たなメジャーメントが比較されることが可能な対応する予期されるメジャーメントとは異なったものとなり得る。従って、仮想マシンイメージが権限ある手法でアップデートされたときにトラストチェーンをリフレッシュするための自明な手法は存在していない。
ここに記載される一部の実施形態によれば、仮想マシンイメージ全体を計測するのではなく、仮想マシンイメージの不変の部分が計測され得る。不変部分は、ブートローダバイナリを含むことができ、且つ/或いは、データのうちの比較的少量を表すデータの約512バイトのみを含むことができる。故に、対応する仮想マシンをインスタンス化する前に、仮想マシンイメージ全体を計測するのではなく、ブートローダバイナリのみを計測することによってトラストチェーンを構築しながら、性能が向上され得る。それに代えて、あるいは加えて、オペレーティングシステム又はアプリケーションがアップデートされたときにも、仮想マシンがリブートされる度にトラストチェーンがリフレッシュされ得る。
以下、図面を参照して本発明の実施形態を説明する。
図1は、ここに記載される少なくとも一部の実施形態に従って構成された、仮想マシン内でトラストチェーンが構築され得る動作環境100の一例を示している。動作環境100は、クラウドコンピューティングシステム102と、通信ネットワーク104と、1つ以上のユーザ106とを含み得る。
一般的に、通信ネットワーク104は、クラウドコンピューティングシステム102とユーザ106とが相互に通信することを可能にする1つ以上のワイドエリアネットワーク(WAN)及び/又はローカルエリアネットワーク(LAN)を含み得る。一部の実施形態において、通信ネットワーク104は、複数のWAN及び/又はLAN間の論理・物理接続によって形成される世界的な相互接続ネットワークを含むインターネットを含む。それに代えて、あるいは加えて、通信ネットワーク104は、1つ以上のセルラー方式RFネットワークを含んでいてもよく、且つ/或いは、以下に限られないが例えば802.xxネットワーク、ブルートゥースアクセスポイント、無線アクセスポイント、IPベースネットワーク、又はこれらに類するものなどの、1つ以上の有線ネットワーク及び/又は無線ネットワークを含んでいてもよい。通信ネットワーク104はまた、一種類のネットワークが他の一種類のネットワークとのインタフェースをとることを可能にするサーバを含んでいてもよい。
ユーザ106は、クラウドコンピューティングシステム102によって提供されるサービスにアクセスすることを望む、例えば個人、企業及び/又はその他の組織などの、エンティティを含み得る。例えば、クラウドコンピューティングシステム102は、有料IaaS(infrastructure-as-a-service)サービス及び/又は無料IaaSサービスをユーザ106に提供し得る。ユーザ106は更に、通信ネットワーク104上でクラウドコンピューティングシステム102と通信するための好適なハードウェア及び/又はソフトウェアを含んだコンピューティング装置を含み、あるいはそのような装置に結合され得る。しかしながら、以下の説明を単純化するため、コンピューティング装置及び関連エンティティを単に“ユーザ106”と呼ぶことにする。
クラウドコンピューティングシステム102は、1つ以上のハードウェアシステムを含む計算リソースプール108を含み得る。計算リソースプール108は通信ネットワーク104を介してユーザ106にアクセス可能である。計算リソースプール108に含まれ得るハードウェアシステムの例には、以下に限られないが、ストレージ110、1つ以上のネットワーク及び/又はネットワーク装置112、並びに1つ以上のサーバ又はその他のコンピューティング装置114(以下、“サーバ114”と称する)がある。
ストレージ110は、例えば磁気ストレージ、光ストレージ、半導体ストレージ、若しくはこれらに類するもの、又はこれらの組合せなどの不揮発性記憶装置を含み得る。
1つ以上のネットワーク及び/又はネットワーク装置112は、クラウドコンピューティングシステム102内でのストレージ110とサーバ114との間の通信を容易にすることができ、例えば、ストレージエリアネットワーク(storage area network;SAN)、SANファブリック、ルータ、交換器、ハブ、若しくはこれらに類するもの、又はこれらの組合せを含み得る。
サーバ114は各々、メモリ及び/又は1つ以上のプロセッサを含むことができ、ソフトウェアを実行して走らせ、且つ/或いはクラウドコンピューティングシステム102へのアクセスを提供し、且つ/或いはクラウドコンピューティングシステム102内でユーザ106が利用可能なソフトウェアを実行するように構成され得る。
図1に例示するように、クラウドコンピューティングシステム102は更に仮想基盤(インフラ)116と1つ以上の仮想マシン118とを含み得る。仮想基盤116は、計算リソースプール108内のリソースの、上記1つ以上の仮想マシン118に対する動的マッピングを提供するように構成され得る。
各仮想マシン118は、仮想基盤116によって該仮想マシン118に提示された仮想リソース上で走るように構成されたオペレーティングシステム120を含み得る。各仮想マシン118は更に、対応するオペレーティングシステム上で走る1つ以上のアプリケーション122を含んでいてもよい。
従って、クラウドコンピューティングシステム102は、ユーザ106へのIaaSサービスの提供を支援し得る。例えば、各ユーザ106は、クラウドコンピューティングシステム102から、X演算性能及びYメモリ、及び/又は特定のソフトウェア、又はこれらに類するもの、を有するコンピュートノードを借りることができる。計算リソースプール108を仮想化することにより、IaaSプロバイダは各ユーザ106に、複数の仮想マシン118のうちの対応する1つを介して、所望のコンピュートノードを提供し、それにより、計算リソースプール108を効率的に利用し得る。
一部の実施形態において、各仮想マシン118は、計算リソースプール108に保存された仮想マシンイメージからインスタンス化され得る。仮想マシンイメージは、実行されるときに対応する仮想マシン118をインスタンス化し得るバイナリコードを含んだ一組のファイルを含み得る。各仮想マシンイメージは、例えばブートローダバイナリなどの不変部分と、例えばオペレーティングシステム120に対応するオペレーティングシステムバイナリ及び1つ以上のアプリケーション122に対応する1つ以上のアプリケーションバイナリなどの1つ以上のその他の部分と、を含む複数の部分を含み得る。
仮想基盤116は、計算リソースプール108にインストールされた1つ以上のハイパーバイザを含み得る。一部の実施形態において、例えば、仮想基盤116は、計算リソースプール108の別々の複数のハードウェアシステム上(例えば、複数のサーバ114の各々上など)にインストールされた1つのハイパーバイザを含んでいてもよい。
各ハイパーバイザは、各仮想マシン118内にトラストチェーンを構築するように構成され得る。トラストチェーンは、各仮想マシン118内に、その仮想マシン118のインスタンス化の前又は間に構築されることができ、例えば、対応する仮想マシンイメージの不変部分を計測してトラストアンカーメジャーメントを生成し、機密メモリ(シールされた(sealed)メモリ)に該トラストアンカーメジャーメントを格納することを含み得る。機密メモリは概して、例えばトラステッド・プラットフォーム・モジュール(trusted platform module;TPM)チップ内の1つ以上のレジスタなど、リード(読出し)アクセス及び/又はライト(書込み)アクセスが制限されたメモリ位置を含み得る。それに代えて、あるいは加えて、更に詳細に後述するように、各仮想マシン118内のトラストチェーンは、対応する仮想マシン118がインスタンス化された計算リソースプール108内のハードウェアシステムのトラストチェーンとリンクされ得る。
それに代えて、あるいは加えて、トラストチェーンは、各仮想マシン118内まで延長され得る。例えば、複数の仮想マシン118のうちの所与の1つに関して、ブートローダは、オペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成するように構成されることができ、且つオペレーティングシステムメジャーメントを機密メモリに格納するように更に構成され得る。さらに、オペレーティングシステム120をオペレーティングシステムバイナリからインスタンス化した後、オペレーティングシステム120は、仮想マシンイメージの1つ以上のアプリケーションバイナリの各々を計測して対応するアプリケーションメジャーメントを生成するように構成されることができ、且つアプリケーションメジャーメントを機密メモリに格納するように更に構成され得る。
一部の実施形態において、クラウドコンピューティングシステム102は、特定のソフトウェア攻撃の検出を可能にするよう、各仮想マシン118のリモートアテステーションを複数のユーザ106のうちの対応する1つに提供するように構成され得る。具体的には、クラウドコンピューティングシステム102は、複数のユーザ106のうちの対応する1つによる要求に応答して、複数の仮想マシン118のうちの所与の1つに関して、ブートローダバイナリの対応するトラストアンカーメジャーメントと、オペレーティングシステムバイナリのオペレーティングシステムメジャーメントと、1つ以上のアプリケーションバイナリの1つ以上のアプリケーションメジャーメントと、を含む一組のメジャーメント(メジャーメントセット)を、該ユーザ106に提供するように構成され得る。このメジャーメントセットは、クラウドコンピューティングシステム102によって、より具体的には、対応する仮想マシン118がインスタンス化されるクラウドコンピューティングシステム102のハードウェアシステムによって署名され得る。メジャーメントセットに署名することは、クラウドコンピューティングシステム102の該ハードウェアシステムが、メジャーメントセットとともに、該ハードウェアシステムに関連付けられた確率的に無二の識別子を含めることを含み得る。
ユーザ106は、メジャーメントセットを該ユーザ106に既知の予期されるメジャーメントと比較することによって、対応する仮想マシン118内で権限のないアプリケーションが実行されているか、又は対応するブートローダバイナリ、オペレーティングシステムバイナリ又は1つ以上のアプリケーションバイナリの何れかで権限のない改竄が行われたか、を決定するように構成され得る。一部の実施形態において、ユーザ106は更に、メジャーメントセットの署名に基づいて、クラウドコンピューティングシステム102が正当なものであるかを確認し得る。それに代えて、あるいは加えて、ユーザ106は、例えば該ユーザ106がクラウドコンピューティングシステム102内の対応する仮想マシン118を最初にインスタンス化するときに、予期されるメジャーメントをクラウドコンピューティングシステム102から事前に受信してもよい。
図2は、ここに記載される少なくとも一部の実施形態に従って構成された、図1の動作環境100内で実現され得るハードウェアシステム200の一実施形態のブロック図である。例えば、ハードウェアシステム200は、図1のクラウドコンピューティングシステム102内の複数のサーバ114のうちの1つに相当し得る。ハードウェアシステム200は1つ以上のハードウェアリソース202を含むことができ、該1つ以上のハードウェアリソース202は、以下に限られないが、中央演算処理ユニット(CPU)204若しくはその他のプロセッサ、メモリ206、ネットワークインタフェースコントローラ(NIC)208、ハードウェアトラストアンカー210及びストレージ212を含み得る。
ハードウェアシステム200は更に、ハードウェアリソース202にインストールされた例えばハイパーバイザなどの仮想基盤(仮想インフラ)214を含み得る。仮想基盤214は、例えば、図1の仮想基盤116に相当し、一般に、ハードウェアリソース202へのアクセスを管理し、あるいは、ハードウェアリソース202を一様なプールへと“仮想化”し且つこのプールのハードウェアを1つ以上の仮想マシン216、218から分離し得る。図2には2つの仮想マシン216、218が描かれているが、より一般的には、ハードウェアシステム200はその上で走る2つより多い或いは少ない仮想マシンを含み得る。ハードウェアリソース202を仮想化することにより、仮想基盤214は、所望の構成を有する標準ハードウェア220、222を各仮想マシン216、218のオペレーティングシステム224、226に提示し得る。各仮想マシン216、218内で、対応するオペレーティングシステム224、226上で、1つ以上のアプリケーション228、230が走り得る。
ここに記載される一部の実施形態によれば、各仮想マシン216、218は、ここに記載される不変部分と1つ以上のその他の部分とを含む対応する仮想マシンイメージからインスタンス化され得る。これら及びその他の実施形態において、例えばハイパーバイザなどの仮想基盤214は、上述のように、仮想マシン216、218の各々内にトラストチェーンを構築し得る。
図3Aは、ここに記載される少なくとも一部の実施形態に従って構成された、ネットワークサーバ300として実装されるハードウェアシステムの他の一実施形態のブロック図である。ネットワークサーバ300は、図1の動作環境100内に実装されることができ、例えば、図1のクラウドコンピューティングシステム102内の複数のサーバ114のうちの1つに相当し得る。ネットワークサーバ300は、プロセッサ302、メモリ304、スタートアップストレージ306、プログラムストレージ308、ハードウェアトラストアンカー310及び通信バス312を含むことができ、これらのコンポーネントは共に通信可能に結合するように構成されている。
一部の実施形態において、ハードウェアトラストアンカー310はTPMセキュリティデバイス又はチップとし得る。他の実施形態において、ハードウェアトラストアンカー310は、別種類の暗号プロセッサ又は暗号マイクロプロセッサなどとし得る。より一般的には、ハードウェアトラストアンカー310は、ここに記載される機能を実行するように構成された如何なる種類のデバイスを含んでいてもよい。
図3Aに例示するように、ハードウェアトラストアンカー310は、トラストプロセッサ314及び機密メモリ316を含み得る。機密メモリ316は、例えばTPMチップ内の1つ以上のレジスタなど、ハードウェアトラストアンカー310内の1つ以上のレジスタを用いて実装され得る。より一般的には、機密メモリ316は、例えばハードウェアトラストアンカー310のメモリデバイス内のアドレス可能な位置など、リードアクセス及び/又はライトアクセスが制限された如何なるメモリ位置を含んでいてもよい。
図3Aは更に、プログラムストレージ308、又はネットワークサーバ300のその他のストレージ位置が、そこに格納された1つ以上の仮想マシンイメージ318Aを含み得ることを示している。各仮想マシンイメージ318Aは、例えば図1−2の仮想マシン118、216、218のうちの対応する1つなど、対応する仮想マシンをインスタンス化するように構成され得る。具体的には、ネットワークサーバ300がブートアップされた後、仮想マシンイメージ318Aのうちの1つ以上が、メモリ304にロードされてプロセッサ302によって実行されることで、ネットワークサーバ300上で走る対応する仮想マシン(図示せず)がインスタンス化され得る。
上述のように、各仮想マシンイメージ318Aは、例えばブートローダとしてインスタンス化するように構成されたブートローダバイナリなどの不変部分を含み得る。各仮想マシンイメージは更に、例えばオペレーティングシステムバイナリ及び1つ以上のアプリケーションバイナリなどの1つ以上のその他の部分を含み得る。ここで、オペレーティングシステムバイナリ、及び1つ以上のアプリケーションバイナリは、それぞれ、仮想マシンイメージ318Aからインスタンス化される対応する仮想マシンにて走り得るオペレーティングシステム、及び1つ以上のアプリケーションに対応する。
図3Bは、ここに記載される少なくとも一部の実施形態に従って構成された、図3Aのネットワークサーバ300上の仮想マシン318Bをブートアップするために実装され得る起動チェーン320の一例を示している。仮想マシン318Bは、例えば、図3Aの仮想マシンイメージ318Aのうちの対応する1つからインスタンス化され得る。許可されたソフトウェアのみが仮想マシン318Bにて走っていること、及び/又は許可されたソフトウェア内に不正な手法で改竄されたものがないことを、対応するユーザが確認することを可能にするため、起動チェーン320が進められるときにトラストチェーン322も構築され得る。
図3Aと3Bとを共に参照するに、起動チェーン320は、ネットワークサーバ300の電源投入で開始することができ、その時、ハードウェアトラストアンカー310、より具体的にはトラストプロセッサ314が、スタートアップストレージ306に格納され且つブートローダ324としてインスタンス化するように構成されたブートローダバイナリ(図示せず)にアクセスし得る。ブートローダ324は、トラストプロセッサ314及び/又はプロセッサ302によって実行され得る。
電源投入時、ハードウェアトラストアンカー310は更に、326で指し示されるように、トラストチェーン322を構築することの一部として、ブートローダ324に対応するブートローダバイナリを計測してブートローダメジャーメントを生成し得る。ブートローダメジャーメントは、機密メモリ316に格納され得る。
これら及びその他の実施形態において、計測は、計測対象に対して、確率的に無二の識別子を生成することによって実行され得る。例えば、この例ではブートローダ324に対応するブートローダバイナリである計測対象に対して、ハッシュ関数が適用されて、該対象のメジャーメント(計測値)としてハッシュ値が生成され得る。より一般的には、対象のメジャーメントは、以下に限られないが、例えばハッシュ値、チェックサム、フィンガープリント、又はチェックディジットなどの、確率的に無二の如何なる好適な識別子を含んでいてもよい。
一般に、ブートローダ324は、一部の実施形態においてハイパーバイザとして実装され得るオペレーティングシステム328をインスタンス化するように構成されたオペレーティングシステムバイナリ(図示せず)の実行をトリガーするように構成され得る。例えば、ブートローダ324の実行により、オペレーティングシステム328をインスタンス化するプロセッサ302による実行のために、オペレーティングシステムバイナリがスタートアップストレージ306からメモリ304に読み出され得る。
ブートローダ324は更に、330で指し示されるように、トラストチェーン322を構築することの一部として、オペレーティングシステム328に対応するオペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成し得る。オペレーティングシステムメジャーメントは、機密メモリ316に格納され得る。
起動チェーン320は、オペレーティングシステム328が仮想マシン318Bに対応する仮想マシンイメージ318Aのブートローダバイナリを呼び出して、対応するブートローダ332をインスタンス化することへと続き得る。ブートローダ332は、仮想マシンイメージ318Aのオペレーティングシステムバイナリを呼び出して、対応するオペレーティングシステム334をインスタンス化し得る。オペレーティングシステム334は、仮想マシンイメージ318Aの1つ以上のアプリケーションバイナリを呼び出して、1つ以上の対応するアプリケーション336をインスタンス化し得る。
トラストチェーン322の構築は、起動チェーン320と同様に続き得る。具体的には、仮想マシン318Bのインスタンス化の間及び/又は前に、338で指し示されるように、オペレーティングシステム328が、ブートローダ332に対応するブートローダバイナリを計測して、機密メモリ316に格納されるトラストアンカーメジャーメントを生成し得る。ブートローダ332が、340で指し示されるように、オペレーティングシステム334に対応するオペレーティングシステムバイナリを計測して、機密メモリ316に格納される仮想マシン318Bに関するオペレーティングシステムメジャーメントを生成し得る。オペレーティングシステム334が、342で指し示されるように、1つ以上のアプリケーション336に対応する1つ以上のアプリケーションバイナリを計測して、機密メモリ316に格納される1つ以上のアプリケーションメジャーメントを生成し得る。
上述のように、トラストチェーン322は、例えば図1のユーザ106のうちの1つなどの、対応するユーザが、許可されたソフトウェアのみが仮想マシン318Bにて走っていること、及び/又は許可されたソフトウェア内に不正な手法で改竄されたものがないことを確認することを可能にし得る。具体的には、例えば仮想マシン318Bに関連付けられたユーザ106のうちの1つといった、ユーザ106のうちの対応する1つによる要求に応答して、ハードウェアトラストアンカー310が、一組のメジャーメントに署名して該ユーザ106に送信するように構成され得る。このメジャーメントセットは、図3A−3Bに関して説明したブートローダメジャーメント、第1のオペレーティングシステムメジャーメント、トラストアンカーメジャーメント、第2のオペレーティングシステムメジャーメント、及び1つ以上のアプリケーションメジャーメントのうちの1つ以上を含み得る。
ユーザ106は、メジャーメントセットを該ユーザ106に既知の予期されるメジャーメントと比較することによって、対応する仮想マシン318B内で権限のないアプリケーションが実行されているか、又は対応する仮想マシンイメージ318Aの対応するブートローダバイナリ、オペレーティングシステムバイナリ又は1つ以上のアプリケーションバイナリの何れかで権限のない改竄が行われたか、を決定するように構成され得る。一部の実施形態において、ユーザ106は更に、メジャーメントセットの署名に基づいて、ハードウェアトラストアンカー310が正当なものであるかを確認し得る。ユーザ106は、上述のように、予期されるメジャーメントを事前に受信してもよい。
図4は、ここに記載される少なくとも一部の実施形態に従って構成された、ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する方法400の一例のフローチャートである。一部の実施形態において、方法400は、全体的あるいは部分的に、例えば図1のクラウドコンピューティングシステム102などのクラウドコンピューティングシステムによって実行され得る。より具体的には、方法400は、全体的あるいは部分的に、例えば図2のハードウェアシステム200又は図3のネットワークサーバ300などのハードウェアシステムによって実行され、且つ/或いは対応するハードウェアシステム上で走るソフトウェアによって実行され得る。
方法400はブロック402にて開始し、そこで、仮想マシンとしてインスタンス化するように構成された仮想マシンイメージの不変部分が計測されて、トラストアンカーメジャーメントが生成される。上述のように、仮想マシンイメージは、ブートローダバイナリと、オペレーティングシステムバイナリと、1つ以上のアプリケーションバイナリとを含むことができ、仮想マシンイメージの不変部分は、ブートローダバイナリを含み得る。それに代えて、あるいは加えて、トラストアンカーメジャーメントは、以下に限られないが例えばハッシュ値、チェックサム、フィンガープリント又はチェックディジットなどの、不変部分の確率的に無二の識別子を含み得る。
方法400はブロック404に続き、そこで、トラストアンカーメジャーメントが機密メモリに格納される。機密メモリは、例えばTPMチップなどのハードウェアトラストアンカー内の1つ以上のレジスタを含むことができ、例えば、図3Aの機密メモリ316に相当し得る。
当業者によって認識されるように、ここに開示されるこの及びその他のプロセス及び方法において、それらプロセス及び方法で実行される機能は異なる順序で実行されてもよい。また、概説されるステップ及び処理は、単に例として提示されるものであり、それらステップ及び処理の一部は、開示の実施形態の本質を損ねることなく、省略され、より少ない数のステップ及び処理へと結合され、あるいは更なるステップ及び処理に展開されてもよい。
例えば、図4には示されていないが、方法400は更に、仮想マシンのブートローダによって、仮想マシンイメージのオペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成することを含み得る。オペレーティングシステムメジャーメントは、機密メモリに格納され得る。方法400は更に、オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムによって、仮想マシンイメージの1つ以上のアプリケーションバイナリを計測して1つ以上のアプリケーションメジャーメントを生成することを含み得る。該1つ以上のアプリケーションメジャーメントは、機密メモリに格納され得る。
方法400は更に、仮想マシンイメージから仮想マシンをインスタンス化することを含み得る。トラストアンカーメジャーメントと、オペレーティングシステムメジャーメントと、1つ以上のアプリケーションメジャーメントとを含むメジャーメントセットの要求が受信され得る。メジャーメントセットは署名を付され得る。例えば、メジャーメントセットは、例えば図2−3Aのハードウェアトラストアンカー210、310などのハードウェアトラストアンカーによって署名され得る。署名されたメジャーメントセットは、例えば図1のユーザ106のうちの1つなど、メジャーメントセットを要求したエンティティに送信され得る。
一部の実施形態において、エンティティは、署名を検証するように構成され得る。署名の検証は、署名を予期される署名と比較することによって行われ得る。エンティティはまた、署名されたメジャーメントセットを予期されるメジャーメントと比較するように構成され得る。予期される署名及び/又は予期されるメジャーメントは、そのエンティティがアクセス可能なストレージに格納されているとし得る。エンティティは、署名されたメジャーメントを予期されるメジャーメントと比較して、何らかの不正なアプリケーションが仮想マシン上で実行されているかどうか、または、何らかの不正な改竄がブートローダバイナリ、オペレーティングシステムバイナリ若しくは1つ以上のアプリケーションバイナリの何れかで行われたかどうかを決定し得る。これらのメジャーメントにおける相違は、1つ以上の不正なアプリケーションが仮想マシン上で実行されていること、及び/又は、ブートローダバイナリ、オペレーティングシステムバイナリ及び/又はアプリケーションバイナリが不正な手法で改変あるいは変更されていること、又はこれらに類することを指し示す。従って、エンティティは、該エンティティに関連付けられた仮想マシンにおける不正なソフトウェア及び/又は改竄の存在を特定して、例えば、不正なアプリケーションを削除したり、不正な改竄を有するブートローダバイナリ、オペレーティングシステムバイナリ又はアプリケーションバイナリを、対応する未改竄バージョンに修復したりすることなどによって、然るべく行動し得る。
代替的あるいは付加的に、方法400は更に、仮想マシンがリブートする都度、仮想マシン内のトラストチェーンをリフレッシュすることを含んでいてもよい。仮想マシンがリブートする度に仮想マシン内のトラストチェーンをリフレッシュすることは、仮想マシンのリブートに応答して、ブートローダバイナリを含む不変部分を再計測してトラストアンカーメジャーメントを再生成することを含み得る。再生成されたトラストアンカーメジャーメントは、機密メモリに格納され得る。ブートローダが、オペレーティングシステムバイナリを再計測してオペレーティングシステムメジャーメントを再生成し得る。再生成されたオペレーティングシステムメジャーメントは、機密メモリに格納され得る。オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムが、1つ以上のアプリケーションバイナリを再計測して1つ以上のアプリケーションメジャーメントを再生成し得る。再生成された1つ以上のアプリケーションメジャーメントは、機密メモリに格納され得る。
一部の実施形態において、方法400は更に、仮想マシンイメージ内でのブートローダバイナリの位置及びサイズを特定することを含み得る。ブートローダバイナリの位置及びサイズを特定することは、ブートローダバイナリのサイズ及び仮想マシンイメージの位置を返すように構成され得るブートローダ情報データベース(boot loader information database;BLIDB)にクエリーを行うことを含み得る。これら及びその他の実施形態において、ブートローダバイナリは、仮想マシンイメージの位置として特定されるハードウェアシステムのハードディスクの位置のうちの最初の512バイトに置かれ得る。代替的に、ブートローダバイナリは、ハードディスクのパーティションテーブルを読むことによって決定されるハードディスクのパーティション内に置かれてもよい。
図5Aは、ここに記載される少なくとも一部の実施形態に従って構成された、仮想マシンをインスタンス化することに関する様々なコンポーネントのブロック図である。具体的には、図5Aは、BLIDB502と、ハイパーバイザ504と、機密メモリ506と、ブートローダバイナリ510を含む仮想マシンイメージ508とを示している。
BLIDB502は、図2のストレージ212及び/又は図3Aのプログラムストレージ308などに格納され得る。
ハイパーバイザ504は、図2のハードウェアシステム200及び/又は図3Aのネットワークサーバ300などの上でインスタンス化され得る。ハイパーバイザ504は、例えば、図3Bのオペレーティングシステム328に相当し得る。
機密メモリ506は、例えば、図3Aの機密メモリ316に相当し得る。
仮想マシンイメージ508、及びブートローダバイナリ510は、それぞれ、例えば、図3Aの仮想マシンイメージ318A、及び図3Bのブートローダ332がそこからインスタンス化されるブートローダバイナリに相当し得る。
図5Bは、ここに記載される少なくとも一部の実施形態に従って構成された、仮想マシンをインスタンス化する方法550の一例のフローチャートである。方法550は、全体的あるいは部分的に、例えば図5Aのハイパーバイザ504によって実行され得る。図5Aとの関係で図5Bの方法550を説明することとする。
方法550はブロック552で開始し、そこで、ハイパーバイザ504は、ブートローダバイナリ510のサイズ及び仮想マシンイメージ508の位置をBLIDB502にクエリーする。BLIDB502は、ブートローダバイナリ510のサイズ及び仮想マシンイメージ508の位置を返し得る。一部の実施形態において、上述のように、ブートローダバイナリ510は、仮想マシンイメージの位置として特定されるハードディスクの位置のうちの最初の512バイトに置かれ、あるいは、ブートローダは、ハードディスクのパーティションテーブルを読むことによって決定されるハードディスクのパーティション内に置かれ得る。
方法550はブロック554に続き、そこで、ハイパーバイザ504は、仮想マシンイメージ内のブートローダバイナリを計測する。例えば、ハイパーバイザ504は、ブートローダバイナリ510のハッシュ値を生成することによって、あるいはブートローダバイナリ510のその他の確率的に無二の識別子を生成することによって、ブートローダバイナリ510を計測し得る。
方法550は、メジャーメントが機密メモリ506に格納されるブロック556、及び対応する仮想マシンが仮想マシンイメージ508からインスタンス化されるブロック558に続き得る。
従って、ここに記載される一部の実施形態は、対応する仮想マシンイメージの例えばブートローダバイナリなどの不変部分のみを最初に計測することによって仮想マシン内にトラストチェーンを構築することにより、性能を向上させ得る。ブートローダバイナリは仮想マシンイメージのうちの比較的小さい部分のみを表し、ブートローダバイナリは、仮想マシンイメージ全体を計測することより少ない処理リソース及び/又は短い時間で計測されることができる。
また、一部のシステムは仮想マシンイメージ全体を計測することによってトラストチェーンを構築し、仮想マシンイメージの一部が変更されたとき、例えばオペレーティングシステムがアップデートされたとき、そのトラストチェーンは再構築されることができない。特に、そのようなアップデートは、予期される値ともはや合致しない仮想マシンイメージのメジャーメントを生じさせ得る。
対照的に、ここに記載される一部の実施形態は、ブートローダバイナリのみを計測することによって仮想マシン内にトラストチェーンを構築し、その結果、オペレーティングシステムのアップデート又はこれに類するものを考慮しても、トラストチェーンは依然として仮想マシン内に構築され得る。これら及びその他の実施形態において、オペレーティングシステムのアップデートがダウンロードされるとき、仮想マシンに関連付けられた対応するユーザ又はエンティティに、オペレーティングシステムの新たな予期されるメジャーメントが提供され、その結果、トラストチェーンは、アップデートされたオペレーティングシステム上で走る1つ以上のアプリケーションまで構築されることができる。
ここに記載される実施形態は、より詳細に後述するような様々なコンピュータハードウェア又はソフトウェアモジュールを含んだ専用あるいは汎用のコンピュータの使用を含み得る。
ここに記載される実施形態は、コンピュータ実行可能命令又はデータ構造を担持あるいは格納したコンピュータ読み取り可能媒体を用いて実現されてもよい。そのようなコンピュータ読み取り可能媒体は、汎用あるいは専用のコンピュータによってアクセスされることが可能な如何なる入手可能な媒体であってもよい。非限定的な例として、そのようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD−ROM若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気記憶装置、又は、所望のプログラムコード手段をコンピュータ実行可能命令又はデータ構造の形態で担持あるいは格納するように使用され且つ汎用あるいは専用のコンピュータによってアクセスされることが可能なその他の媒体を有し得る。情報がネットワーク又はその他の通信接続(有線、無線、又は有線と無線との組合せ)上でコンピュータに伝送あるいは提供されるとき、コンピュータは適宜、そのような接続をコンピュータ読み取り可能媒体として見る。故に、そのような接続も適宜、コンピュータ読み取り可能媒体と呼ばれ得る。以上のものの組合せもコンピュータ読み取り可能媒体の範囲に含まれる。
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ又は専用処理装置に特定の機能又は機能群を実行させる命令及びデータを有する。ここでは構成上の機構及び/又は方法のステップに特有の言葉にて説明してきたが、理解されるように、請求項に規定される事項は必ずしも、ここで説明された特有の機構又はステップに限定されるものではない。むしろ、ここで説明された特有の機構及びステップは、請求項に規定される事項を実現する形態の例として開示されたものである。
ここでは、用語“モジュール”又は“コンポーネント”は、コンピュータシステム上で実行されるソフトウェアオブジェクト又はルーチンを意味し得る。ここに記載された様々なコンポーネント、モジュール、エンジン及びサービスは、コンピュータシステム上で(例えば、別々のスレッドとして)実行される複数のオブジェクト又はプロセスとして実装され得る。ここに記載されるシステム及び方法は好ましくはソフトウェアにて実装されるが、ハードウェア又はソフトウェアとハードウェアとの組合せでの実装も可能であり、且つ意図されるものである。本明細書において、“コンピューティングエンティティ”は、上述のような何らかのコンピューティングシステム、又はコンピューティングシステム上で走る何らかのモジュール又はモジュール群の組合せとし得る。
ここに記載された全ての例及び条件の説明は、本発明及び技術を進歩させるために本発明者が提供する概念を読者が理解することを支援するための教育的目的でのものであり、そのような具体的に記載された例及び条件への限定ではないとして解釈されるべきである。また、本明細書における例の編成は、発明の優位性及び劣位性を示すものでもない。本発明の実施形態を詳細に説明してきたが、理解されるように、これらの実施形態には、本発明の精神及び範囲を逸脱することなく、様々な変形、代用及び改変が為され得る。
以上の説明に関し、更に以下の付記を開示する。
(付記1) ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する方法であって、
前記仮想マシンとしてインスタンス化するように構成された仮想マシンイメージの不変部分を計測して、トラストアンカーメジャーメントを生成するステップと、
前記トラストアンカーメジャーメントを機密メモリに格納するステップと
を有する方法。
(付記2) 前記トラストアンカーメジャーメントは、前記不変部分の確率的に無二の識別子を有する、付記1に記載の方法。
(付記3) 前記確率的に無二の識別子はハッシュ値を有する、付記2に記載の方法。
(付記4) 前記仮想マシンイメージは、ブートローダバイナリ、オペレーティングシステムバイナリ、及び1つ以上のアプリケーションバイナリを有し、且つ
前記不変部分は前記ブートローダバイナリを有する、
付記1に記載の方法。
(付記5) 前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定するステップ、を更に有する付記4に記載の方法。
(付記6) 前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定するステップは、前記ブートローダバイナリのサイズと前記仮想マシンイメージの位置とを返すブートローダ情報データベースにクエリーすることを有する、付記5に記載の方法。
(付記7) 前記ブートローダバイナリは、前記仮想マシンイメージの前記位置として特定された前記ハードウェアシステムのハードディスクの位置のうちの最初の512バイトに置かれ、あるいは
前記ブートローダバイナリは、前記ハードディスクのパーティションテーブルを読むことによって決定される前記ハードディスクのパーティション内に置かれる、
付記6に記載の方法。
(付記8) 前記ブートローダバイナリからインスタンス化されたブートローダにより、前記オペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成するステップと、
前記オペレーティングシステムメジャーメントを前記機密メモリに格納するステップと、
前記オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムにより、前記1つ以上のアプリケーションバイナリを計測して1つ以上のアプリケーションメジャーメントを生成するステップと、
前記1つ以上のアプリケーションメジャーメントを前記機密メモリに格納するステップと、
を更に有する付記4に記載の方法。
(付記9) 前記仮想マシンイメージから仮想マシンをインスタンス化するステップと、
前記トラストアンカーメジャーメントと、前記オペレーティングシステムメジャーメントと、前記1つ以上のアプリケーションメジャーメントとを含むメジャーメントセットの要求を受信するステップと、
前記メジャーメントセットに署名を付すステップと、
前記メジャーメントセットを要求したエンティティに、署名されたメジャーメントセットを送信するステップと、
を更に有し、
該エンティティは、前記署名を検証し、且つ前記署名されたメジャーメントセットを予期されるメジャーメントと比較して、前記仮想マシン上で不正なアプリケーションが実行されているか、又は前記ブートローダバイナリ、前記オペレーティングシステムバイナリ、若しくは前記1つ以上のアプリケーションバイナリの何れかに不正な改竄が行われたか、を決定するように構成される、
付記8に記載の方法。
(付記10) 前記仮想マシンがリブートする度に前記仮想マシン内の前記トラストチェーンをリフレッシュするステップ、を更に有する付記8に記載の方法。
(付記11) 前記仮想マシンがリブートする度に前記仮想マシン内の前記トラストチェーンをリフレッシュするステップは、前記仮想マシンがリブートすることに応答して、
前記ブートローダバイナリを有する前記不変部分を再計測して、トラストアンカーメジャーメントを再生成し、
再生成されたトラストアンカーメジャーメントを前記機密メモリに格納し、
前記ブートローダにより、前記オペレーティングシステムバイナリを再計測して、オペレーティングシステムメジャーメントを再生成し、
再生成されたオペレーティングシステムメジャーメントを前記機密メモリに格納し、
前記オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムにより、前記1つ以上のアプリケーションバイナリを再計測して1つ以上のアプリケーションメジャーメントを再生成し、且つ
再生成された1つ以上のアプリケーションメジャーメントを前記機密メモリに格納する、
ことを有する、付記10に記載の方法。
(付記12) 1つ以上のハードウェアリソースと、
前記1つ以上のハードウェアリソース上で仮想マシンとしてインスタンス化するように構成された仮想マシンイメージであり、不変部分と1つ以上のその他の部分とを含む仮想マシンイメージと、
前記1つ以上のハードウェアリソース上にインストールされたハイパーバイザであり、
前記仮想マシンイメージの前記不変部分を計測してトラストアンカーメジャーメントを生成し、且つ
前記トラストアンカーメジャーメントを機密メモリに格納する
ことによって前記仮想マシン内にトラストチェーンを構築するように構成されたハイパーバイザと
を有するハードウェアシステム。
(付記13) 前記ハイパーバイザは、当該ハードウェアシステムのオペレーティングシステムバイナリからインスタンス化され、当該ハードウェアシステムは更にハードウェアトラストアンカーとブートローダバイナリとを有する、付記12に記載のハードウェアシステム。
(付記14) 前記ハードウェアトラストアンカーは、トラステッド・プラットフォーム・モジュール(TPM)チップを有し、前記機密メモリは、前記TPMチップ内の1つ以上のレジスタを有する、付記13に記載のハードウェアシステム。
(付記15) 前記仮想マシンイメージの前記不変部分はブートローダバイナリを有し、前記仮想マシンイメージの前記1つ以上のその他の部分は、オペレーティングシステムをインスタンス化するように構成されたオペレーティングシステムバイナリと、前記仮想マシンの前記オペレーティングシステム上で走るアプリケーションをインスタンス化するように構成されたアプリケーションバイナリとを有し、
当該ハードウェアシステムは更に、前記アプリケーションのトラストチェーンを、
前記ハードウェアトラストアンカーが、当該ハードウェアシステムの前記ブートローダバイナリを計測してブートローダメジャーメントを生成し、且つ前記ハードウェアトラストアンカーが、該ブートローダメジャーメントを前記機密メモリに格納し、
当該ハードウェアシステムの前記ブートローダバイナリからインスタンス化されたブートローダが、当該ハードウェアシステムの前記オペレーティングシステムバイナリを計測して第1のオペレーティングシステムメジャーメントを生成し、且つ当該ハードウェアシステムの前記ブートローダが、前記第1のオペレーティングシステムメジャーメントを前記機密メモリに格納し、
前記ハイパーバイザが前記仮想マシン内に前記トラストチェーンを構築し、
前記仮想マシンの前記ブートローダバイナリからインスタンス化されたブートローダが、前記仮想マシンイメージの前記オペレーティングシステムバイナリを測定して第2のオペレーティングシステムメジャーメントを生成し、且つ前記仮想マシンの前記ブートローダが、前記第2のオペレーティングシステムメジャーメントを前記機密メモリに格納し、且つ
前記仮想マシンの前記オペレーティングシステムが、前記アプリケーションバイナリを計測してアプリケーションメジャーメントを生成し、前記仮想マシンの前記オペレーティングシステムが、前記アプリケーションメジャーメントを前記機密メモリに格納する、
ことによって構築するように構成されている、
付記13に記載のハードウェアシステム。
(付記16) 前記ハイパーバイザは、前記仮想マシンイメージの前記不変部分を計測し、前記不変部分のハッシュ値を生成することによって前記トラストアンカーメジャーメントを生成するように構成される、付記12に記載のハードウェアシステム。
(付記17) 前記不変部分はブートローダバイナリを有し、前記ハイパーバイザは更に、ブートローダ情報データベースにクエリーして前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定することによって、前記仮想マシン内にトラストチェーンを構築するように構成される、付記12に記載のハードウェアシステム。
(付記18) 1つ以上のハードウェアシステムを含む計算リソースプールであり、通信ネットワーク上でユーザにアクセス可能な計算リソースプールと、
複数の仮想マシンイメージであり、各仮想マシンイメージが前記計算リソースプール上の仮想マシンとしてインスタンス化するように構成され、且つ各仮想マシンイメージが不変部分と1つ以上のその他の部分とを含む、複数の仮想マシンイメージと、
前記計算リソースプール上にインストールされた1つ以上のハイパーバイザであり、各ハイパーバイザが、各仮想マシンに対して、
対応する仮想マシンイメージの前記不変部分を計測してトラストアンカーメジャーメントを生成し、且つ
該トラストアンカーメジャーメントを機密メモリに格納する
ことによって、複数の仮想マシンのうちの1つ以上内にトラストチェーンを構築するように構成された、1つ以上のハイパーバイザと、
を有するクラウドコンピューティングシステム。
(付記19) 各仮想マシンイメージの前記不変部分はブートローダバイナリを有し、各仮想マシンイメージの前記1つ以上のその他の部分は、オペレーティングシステムをインスタンス化するように構成されたオペレーティングシステムバイナリと、該オペレーティングシステム上で走るアプリケーションをインスタンス化するように構成されたアプリケーションバイナリとを含み、各仮想マシンに関し、
前記ブートローダバイナリからインスタンス化されるブートローダが、前記オペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成し、且つ該オペレーティングシステムメジャーメントを前記機密メモリに格納するように構成され、
前記オペレーティングシステムが、前記アプリケーションバイナリを計測してアプリケーションメジャーメントを生成し、且つ該アプリケーションメジャーメントを前記機密メモリに格納するように構成される、
付記18に記載のクラウドコンピューティングシステム。
(付記20) 当該クラウドコンピューティングシステムは、特定のソフトウェア攻撃の検出を可能にするよう、各仮想マシンのリモートアテステーションを対応するユーザに、
前記対応するユーザによる要求に応答して、対応するトラストアンカーメジャーメント、オペレーティングシステムメジャーメント及びアプリケーションメジャーメントを含むメジャーメントセットを、前記対応するユーザに提供する
ことによって提供するように構成され、
前記ユーザは、前記メジャーメントセットを前記ユーザに知られた予期されるメジャーメントと比較することによって、対応する仮想マシン上で不正なアプリケーションが実行されているか、又は対応するブートローダバイナリ、オペレーティングシステムバイナリ若しくはアプリケーションバイナリの何れかに不正な改竄が行われたか、を決定するように構成される、
付記19に記載のクラウドコンピューティングシステム。
100 動作環境
102 クラウドコンピューティングシステム
104 通信ネットワーク
106 ユーザ
108 計算リソースプール
110 ストレージ
112 ネットワーク及び/又はネットワーク装置
114 サーバ又はその他のコンピューティング装置
116 仮想基盤(仮想インフラ)
118 仮想マシン
120 オペレーティングシステム
122 アプリケーション
200 ハードウェアシステム
202 ハードウェアリソース
204 中央演算処理装置(CPU)
206 メモリ
208 ネットワークインタフェースコントローラ(NIC)
210 トラストアンカー
212 ストレージ
214 仮想基盤(仮想インフラ)
216、218 仮想マシン
220、222 標準ハードウェア
224、226 オペレーティングシステム
228、230 アプリケーション
300 ネットワークサーバ
302 プロセッサ
304 メモリ
306 スタートアップストレージ
308 プログラムストレージ
310 トラストアンカー
312 通信バス
314 トラストプロセッサ
316 機密メモリ
318A 仮想マシンイメージ
318B 仮想マシン
320 起動チェーン
322 トラストチェーン
324 ブートローダ
328 オペレーティングシステム
332 ブートローダ
334 オペレーティングシステム
336 アプリケーション
502 ブートローダ情報データベース(BLIDB)
504 ハイパーバイザ
506 機密メモリ
508 仮想マシンイメージ
510 ブートローダバイナリ

Claims (15)

  1. ハードウェアシステム上の仮想マシン内にトラストチェーンを構築する方法であって、
    前記仮想マシンとしてインスタンス化するように構成された仮想マシンイメージの不変部分を計測して、トラストアンカーメジャーメントを生成するステップと、
    前記トラストアンカーメジャーメントを機密メモリに格納するステップと
    を有し、
    前記仮想マシンイメージは、ブートローダバイナリ、オペレーティングシステムバイナリ、及び1つ以上のアプリケーションバイナリを有し、
    前記不変部分は前記ブートローダバイナリを有し、
    当該方法は更に、前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定するステップを有し、
    前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定するステップは、前記ブートローダバイナリのサイズと前記仮想マシンイメージの位置とを返すブートローダ情報データベースにクエリーすることを有する、
    方法。
  2. 前記トラストアンカーメジャーメントは、前記不変部分の確率的に無二の識別子を有する、請求項1に記載の方法。
  3. 前記確率的に無二の識別子はハッシュ値を有する、請求項2に記載の方法。
  4. 前記ブートローダバイナリは、前記仮想マシンイメージの前記位置として特定された前記ハードウェアシステムのハードディスクの位置のうちの最初の512バイトに置かれ、あるいは
    前記ブートローダバイナリは、前記ハードディスクのパーティションテーブルを読むことによって決定される前記ハードディスクのパーティション内に置かれる、
    請求項1乃至3の何れか一項に記載の方法。
  5. 前記ブートローダバイナリからインスタンス化されたブートローダにより、前記オペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成するステップと、
    前記オペレーティングシステムメジャーメントを前記機密メモリに格納するステップと、
    前記オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムにより、前記1つ以上のアプリケーションバイナリを計測して1つ以上のアプリケーションメジャーメントを生成するステップと、
    前記1つ以上のアプリケーションメジャーメントを前記機密メモリに格納するステップと、
    を更に有する請求項1乃至3の何れか一項に記載の方法。
  6. 前記仮想マシンイメージから仮想マシンをインスタンス化するステップと、
    前記トラストアンカーメジャーメントと、前記オペレーティングシステムメジャーメントと、前記1つ以上のアプリケーションメジャーメントとを含むメジャーメントセットの要求を受信するステップと、
    前記メジャーメントセットに署名を付すステップと、
    前記メジャーメントセットを要求したエンティティに、署名されたメジャーメントセットを送信するステップと、
    を更に有し、
    該エンティティは、前記署名を検証し、且つ前記署名されたメジャーメントセットを予期されるメジャーメントと比較して、前記仮想マシン上で不正なアプリケーションが実行されているか、又は前記ブートローダバイナリ、前記オペレーティングシステムバイナリ、若しくは前記1つ以上のアプリケーションバイナリの何れかに不正な改竄が行われたか、を決定するように構成される、
    請求項に記載の方法。
  7. 前記仮想マシンがリブートする度に前記仮想マシン内の前記トラストチェーンをリフレッシュするステップ、を更に有する請求項に記載の方法。
  8. 前記仮想マシンがリブートする度に前記仮想マシン内の前記トラストチェーンをリフレッシュするステップは、前記仮想マシンがリブートすることに応答して、
    前記ブートローダバイナリを有する前記不変部分を再計測して、トラストアンカーメジャーメントを再生成し、
    再生成されたトラストアンカーメジャーメントを前記機密メモリに格納し、
    前記ブートローダにより、前記オペレーティングシステムバイナリを再計測して、オペレーティングシステムメジャーメントを再生成し、
    再生成されたオペレーティングシステムメジャーメントを前記機密メモリに格納し、
    前記オペレーティングシステムバイナリからインスタンス化されたオペレーティングシステムにより、前記1つ以上のアプリケーションバイナリを再計測して1つ以上のアプリケーションメジャーメントを再生成し、且つ
    再生成された1つ以上のアプリケーションメジャーメントを前記機密メモリに格納する、
    ことを有する、請求項に記載の方法。
  9. 1つ以上のハードウェアリソースと、
    前記1つ以上のハードウェアリソース上で仮想マシンとしてインスタンス化するように構成された仮想マシンイメージであり、不変部分と1つ以上のその他の部分とを含む仮想マシンイメージと、
    前記1つ以上のハードウェアリソース上にインストールされたハイパーバイザであり、
    前記仮想マシンイメージの前記不変部分を計測してトラストアンカーメジャーメントを生成し、且つ
    前記トラストアンカーメジャーメントを機密メモリに格納する
    ことによって前記仮想マシン内にトラストチェーンを構築するように構成されたハイパーバイザと
    を有し、
    前記仮想マシンイメージの前記不変部分はブートローダバイナリを有し、前記ハイパーバイザは更に、ブートローダ情報データベースにクエリーして前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定することによって、前記仮想マシン内にトラストチェーンを構築するように構成される、
    ハードウェアシステム。
  10. 前記ハイパーバイザは、当該ハードウェアシステムのオペレーティングシステムバイナリからインスタンス化され、当該ハードウェアシステムは更にハードウェアトラストアンカーと前記ブートローダバイナリとを有する、請求項に記載のハードウェアシステム。
  11. 前記ハードウェアトラストアンカーは、トラステッド・プラットフォーム・モジュール(TPM)チップを有し、前記機密メモリは、前記TPMチップ内の1つ以上のレジスタを有する、請求項10に記載のハードウェアシステム。
  12. 記仮想マシンイメージの前記1つ以上のその他の部分は、オペレーティングシステムをインスタンス化するように構成されたオペレーティングシステムバイナリと、前記仮想マシンの前記オペレーティングシステム上で走るアプリケーションをインスタンス化するように構成されたアプリケーションバイナリとを有し、
    当該ハードウェアシステムは更に、前記アプリケーションのトラストチェーンを、
    前記ハードウェアトラストアンカーが、当該ハードウェアシステムの前記ブートローダバイナリを計測してブートローダメジャーメントを生成し、且つ前記ハードウェアトラストアンカーが、該ブートローダメジャーメントを前記機密メモリに格納し、
    当該ハードウェアシステムの前記ブートローダバイナリからインスタンス化されたブートローダが、当該ハードウェアシステムの前記オペレーティングシステムバイナリを計測して第1のオペレーティングシステムメジャーメントを生成し、且つ当該ハードウェアシステムの前記ブートローダが、前記第1のオペレーティングシステムメジャーメントを前記機密メモリに格納し、
    前記ハイパーバイザが前記仮想マシン内に前記トラストチェーンを構築し、
    前記仮想マシンの前記ブートローダバイナリからインスタンス化されたブートローダが、前記仮想マシンイメージの前記オペレーティングシステムバイナリを測定して第2のオペレーティングシステムメジャーメントを生成し、且つ前記仮想マシンの前記ブートローダが、前記第2のオペレーティングシステムメジャーメントを前記機密メモリに格納し、且つ
    前記仮想マシンの前記オペレーティングシステムが、前記アプリケーションバイナリを計測してアプリケーションメジャーメントを生成し、前記仮想マシンの前記オペレーティングシステムが、前記アプリケーションメジャーメントを前記機密メモリに格納する、
    ことによって構築するように構成されている、
    請求項10に記載のハードウェアシステム。
  13. 1つ以上のハードウェアシステムを含む計算リソースプールであり、通信ネットワーク上でユーザにアクセス可能な計算リソースプールと、
    複数の仮想マシンイメージであり、各仮想マシンイメージが前記計算リソースプール上の仮想マシンとしてインスタンス化するように構成され、且つ各仮想マシンイメージが不変部分と1つ以上のその他の部分とを含む、複数の仮想マシンイメージと、
    前記計算リソースプール上にインストールされた1つ以上のハイパーバイザであり、各ハイパーバイザが、各仮想マシンに対して、
    対応する仮想マシンイメージの前記不変部分を計測してトラストアンカーメジャーメントを生成し、且つ
    該トラストアンカーメジャーメントを機密メモリに格納する
    ことによって、複数の仮想マシンのうちの1つ以上内にトラストチェーンを構築するように構成された、1つ以上のハイパーバイザと、
    を有し、
    各仮想マシンイメージの前記不変部分はブートローダバイナリを有し、前記ハイパーバイザは更に、ブートローダ情報データベースにクエリーして前記ブートローダバイナリの前記仮想マシンイメージ内での位置及びサイズを特定することによって、前記仮想マシン内にトラストチェーンを構築するように構成される、
    クラウドコンピューティングシステム。
  14. 仮想マシンイメージの前記1つ以上のその他の部分は、オペレーティングシステムをインスタンス化するように構成されたオペレーティングシステムバイナリと、該オペレーティングシステム上で走るアプリケーションをインスタンス化するように構成されたアプリケーションバイナリとを含み、各仮想マシンに関し、
    前記ブートローダバイナリからインスタンス化されるブートローダが、前記オペレーティングシステムバイナリを計測してオペレーティングシステムメジャーメントを生成し、且つ該オペレーティングシステムメジャーメントを前記機密メモリに格納するように構成され、
    前記オペレーティングシステムが、前記アプリケーションバイナリを計測してアプリケーションメジャーメントを生成し、且つ該アプリケーションメジャーメントを前記機密メモリに格納するように構成される、
    請求項13に記載のクラウドコンピューティングシステム。
  15. 当該クラウドコンピューティングシステムは、特定のソフトウェア攻撃の検出を可能にするよう、各仮想マシンのリモートアテステーションを対応するユーザに、
    前記対応するユーザによる要求に応答して、対応するトラストアンカーメジャーメント、オペレーティングシステムメジャーメント及びアプリケーションメジャーメントを含むメジャーメントセットを、前記対応するユーザに提供する
    ことによって提供するように構成され、
    前記ユーザは、前記メジャーメントセットを前記ユーザに知られた予期されるメジャーメントと比較することによって、対応する仮想マシン上で不正なアプリケーションが実行されているか、又は対応するブートローダバイナリ、オペレーティングシステムバイナリ若しくはアプリケーションバイナリの何れかに不正な改竄が行われたか、を決定するように構成される、
    請求項14に記載のクラウドコンピューティングシステム。
JP2013009353A 2012-01-25 2013-01-22 仮想マシン内でトラストチェーンを構築する方法 Active JP6044362B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/358,372 US9992024B2 (en) 2012-01-25 2012-01-25 Establishing a chain of trust within a virtual machine
US13/358,372 2012-01-25

Publications (2)

Publication Number Publication Date
JP2013152717A JP2013152717A (ja) 2013-08-08
JP6044362B2 true JP6044362B2 (ja) 2016-12-14

Family

ID=48798231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013009353A Active JP6044362B2 (ja) 2012-01-25 2013-01-22 仮想マシン内でトラストチェーンを構築する方法

Country Status (2)

Country Link
US (1) US9992024B2 (ja)
JP (1) JP6044362B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256742B2 (en) * 2012-01-30 2016-02-09 Intel Corporation Remote trust attestation and geo-location of servers and clients in cloud computing environments
EP2810403B1 (en) * 2012-01-30 2019-09-25 Intel Corporation Remote trust attestation and geo-location of of servers and clients in cloud computing environments
US9497221B2 (en) * 2013-09-12 2016-11-15 The Boeing Company Mobile communication device and method of operating thereof
EP2887603B1 (en) * 2013-12-18 2019-02-13 SFNT Germany GmbH Controlling an execution of a software application on an execution platform in a first local network
US9467298B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of multilevel chain of trust/revision
US9467299B1 (en) 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
US9940486B2 (en) * 2015-02-23 2018-04-10 Cisco Technology, Inc. Detection of hardware tampering
WO2016172978A1 (zh) 2015-04-30 2016-11-03 华为技术有限公司 一种软件安全验证方法、设备及系统
US9996377B2 (en) * 2015-06-30 2018-06-12 International Business Machines Corporation Virtual machine migration via a mobile device
US11042643B2 (en) * 2015-12-24 2021-06-22 Intel Corporation Trusted deployment of application containers in cloud data centers
CN107133520B (zh) * 2016-02-26 2021-05-14 华为技术有限公司 云计算平台的可信度量方法和装置
US10572675B2 (en) 2016-11-02 2020-02-25 Cisco Technology, Inc. Protecting and monitoring internal bus transactions
US10033756B1 (en) 2017-10-26 2018-07-24 Hytrust, Inc. Methods and systems for holistically attesting the trust of heterogeneous compute resources
US11431735B2 (en) * 2019-01-28 2022-08-30 Orca Security LTD. Techniques for securing virtual machines
US11288377B1 (en) * 2019-10-03 2022-03-29 Pavel Izhutov Virtual machine-based trusted execution environment
US11409882B2 (en) 2019-12-02 2022-08-09 International Business Machines Corporation Secure embedded microcontroller image load
US11334364B2 (en) * 2019-12-16 2022-05-17 Microsoft Technology Licensing, Llc Layered composite boot device and file system for operating system booting in file system virtualization environments
US11868476B2 (en) * 2020-06-02 2024-01-09 Hypori, Inc. Boot-specific key access in a virtual device platform
CN111782342A (zh) * 2020-06-30 2020-10-16 联想(北京)有限公司 一种虚拟机启动方法及装置
US20230040577A1 (en) * 2021-08-05 2023-02-09 International Business Machines Corporation Secure guest image and metadata update
US12019522B2 (en) 2022-01-20 2024-06-25 Pure Storage, Inc. Container recovery layer prioritization
US11949583B2 (en) * 2022-04-28 2024-04-02 Hewlett Packard Enterprise Development Lp Enforcing reference operating state compliance for cloud computing-based compute appliances

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359350B (zh) * 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US6482584B1 (en) 1998-11-13 2002-11-19 Regeneration Technologies, Inc. Cyclic implant perfusion cleaning and passivation process
US7082615B1 (en) * 2000-03-31 2006-07-25 Intel Corporation Protecting software environment in isolated execution
US6625729B1 (en) * 2000-03-31 2003-09-23 Hewlett-Packard Company, L.P. Computer system having security features for authenticating different components
US7013384B2 (en) * 2002-01-15 2006-03-14 Lenovo (Singapore) Pte. Ltd. Computer system with selectively available immutable boot block code
JP3863447B2 (ja) 2002-03-08 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 認証システム、ファームウェア装置、電気機器、及び認証方法
US7210034B2 (en) * 2003-01-30 2007-04-24 Intel Corporation Distributed control of integrity measurement using a trusted fixed token
US7185015B2 (en) * 2003-03-14 2007-02-27 Websense, Inc. System and method of monitoring and controlling application files
US7516331B2 (en) * 2003-11-26 2009-04-07 International Business Machines Corporation Tamper-resistant trusted java virtual machine and method of using the same
US7222062B2 (en) * 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
US7424610B2 (en) * 2003-12-23 2008-09-09 Intel Corporation Remote provisioning of secure systems for mandatory control
US20050229250A1 (en) * 2004-02-26 2005-10-13 Ring Sandra E Methodology, system, computer readable medium, and product providing a security software suite for handling operating system exploitations
US7565522B2 (en) * 2004-05-10 2009-07-21 Intel Corporation Methods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
EP1617587A1 (en) * 2004-07-12 2006-01-18 International Business Machines Corporation Method, system and computer program product for privacy-protecting integrity attestation of computing platform
CN1703004B (zh) * 2005-02-28 2010-08-25 联想(北京)有限公司 一种实现网络接入认证的方法
US7770000B2 (en) * 2005-05-02 2010-08-03 International Business Machines Corporation Method and device for verifying the security of a computing platform
US8886929B2 (en) * 2006-03-29 2014-11-11 Intel Corporation Generating a chain of trust for a virtual endpoint
JP5181094B2 (ja) * 2006-05-05 2013-04-10 インターデイジタル テクノロジー コーポレーション 信頼される処理技術を使用したデジタル権利管理
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
JP5249920B2 (ja) * 2007-07-05 2013-07-31 パナソニック株式会社 データ処理装置、データ処理方法、データ処理プログラム、記録媒体及び集積回路
US8156298B1 (en) * 2007-10-24 2012-04-10 Adam Stubblefield Virtualization-based security apparatuses, methods, and systems
US7694491B2 (en) 2007-10-30 2010-04-13 Deere & Company Cotton harvester for producing modules which can be automatically identified and oriented
US8539551B2 (en) 2007-12-20 2013-09-17 Fujitsu Limited Trusted virtual machine as a client
JP5411122B2 (ja) 2008-02-25 2014-02-12 パナソニック株式会社 情報処理装置
US20090211686A1 (en) 2008-02-25 2009-08-27 Insultab, Inc. Method for Extending the Life of Golf Course Equipment
WO2009123640A1 (en) * 2008-04-04 2009-10-08 Hewlett-Packard Development Company, L.P. Virtual machine manager system and methods
EP2278514B1 (en) * 2009-07-16 2018-05-30 Alcatel Lucent System and method for providing secure virtual machines
US8505103B2 (en) * 2009-09-09 2013-08-06 Fujitsu Limited Hardware trust anchor
JP2011070023A (ja) 2009-09-25 2011-04-07 Fuji Xerox Co Ltd 電子写真感光体、電子写真感光体の製造方法、プロセスカートリッジ、および画像形成装置。
CN102033755A (zh) 2009-09-30 2011-04-27 国际商业机器公司 用于运行虚拟机镜像的方法和系统
US8856504B2 (en) * 2010-06-07 2014-10-07 Cisco Technology, Inc. Secure virtual machine bootstrap in untrusted cloud infrastructures
US8990562B2 (en) * 2010-10-08 2015-03-24 Microsoft Technology Licensing, Llc Secure deployment of provable identity for dynamic application environments
JP4811830B1 (ja) 2010-10-15 2011-11-09 株式会社 イーシー・ワン コンピュータリソース制御システム
US8590040B2 (en) * 2010-12-22 2013-11-19 Intel Corporation Runtime platform firmware verification
WO2012098478A1 (en) * 2011-01-19 2012-07-26 International Business Machines Corporation Updating software
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
WO2012138551A1 (en) * 2011-04-05 2012-10-11 Assured Information Security, Inc. Trust verification of a computing platform using a peripheral device
WO2013048425A1 (en) * 2011-09-30 2013-04-04 Intel Corporation Authenticated launch of virtual machines and nested virtual machine managers
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
US9553725B2 (en) * 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
US8843650B2 (en) * 2012-01-09 2014-09-23 Fujitsu Limited Trusted network booting system and method
GB2513826A (en) * 2012-06-29 2014-11-12 Ibm Trusted boot of a virtual machine
US9465943B2 (en) * 2013-01-31 2016-10-11 Red Hat, Inc. Extension of a platform configuration register with a known value
EP2815349B1 (en) * 2013-03-06 2021-04-21 Intel Corporation Roots-of-trust for measurement of virtual machines
US20140280595A1 (en) * 2013-03-15 2014-09-18 Polycom, Inc. Cloud Based Elastic Load Allocation for Multi-media Conferencing
US9424200B2 (en) * 2013-03-15 2016-08-23 Freescale Semiconductor, Inc. Continuous run-time integrity checking for virtual memory
US9280355B2 (en) * 2013-08-29 2016-03-08 International Business Machines Corporation System with manual actuator for asserting physical presence across multiple compute nodes
US9258331B2 (en) * 2013-12-27 2016-02-09 Trapezoid, Inc. System and method for hardware-based trust control management
US9467299B1 (en) * 2014-03-19 2016-10-11 National Security Agency Device for and method of controlled multilevel chain of trust/revision
US9467298B1 (en) * 2014-03-19 2016-10-11 National Security Agency Device for and method of multilevel chain of trust/revision
US9612878B2 (en) * 2014-03-31 2017-04-04 International Business Machines Corporation Resource allocation in job scheduling environment
CN105282122B (zh) * 2014-07-22 2019-07-12 中兴通讯股份有限公司 基于数字证书的信息安全实现方法及系统
US20160291967A1 (en) * 2015-03-30 2016-10-06 Konica Minolta Laboratory U.S.A., Inc. Method and system for updating firmware
US20160350534A1 (en) * 2015-05-29 2016-12-01 Intel Corporation System, apparatus and method for controlling multiple trusted execution environments in a system
BR112018068044A8 (pt) * 2016-03-10 2023-01-24 Velocity Tech Solutions Inc Sistemas e métodos para gerenciamento de recursos computacionais em nuvem para sistemas de informação
US10228924B2 (en) * 2016-04-19 2019-03-12 International Business Machines Corporation Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints

Also Published As

Publication number Publication date
US20130191643A1 (en) 2013-07-25
JP2013152717A (ja) 2013-08-08
US9992024B2 (en) 2018-06-05

Similar Documents

Publication Publication Date Title
JP6044362B2 (ja) 仮想マシン内でトラストチェーンを構築する方法
De Benedictis et al. Integrity verification of Docker containers for a lightweight cloud environment
US10754952B2 (en) Host software metadata verification during remote attestation
CN107545184B (zh) 云主机的可信度量系统及方法
EP3387580B1 (en) Chained security systems
US11050844B2 (en) User controlled hardware validation
US9075995B2 (en) Dynamically loaded measured environment for secure code launch
US11714910B2 (en) Measuring integrity of computing system
JP6301582B2 (ja) 信頼されるネットワーク・ブートのシステムおよび方法
US8429418B2 (en) Technique for providing secure firmware
US9589128B2 (en) User trusted device for detecting a virtualized environment
US8886929B2 (en) Generating a chain of trust for a virtual endpoint
BR112015002347B1 (pt) Método para clonar estado de máquina virtual fonte possuindo um ambiente de execução confiável associado para formular um estado de máquina virtual alvo e meio de armazenamento em computador
JP2014503101A (ja) コードを更新および認証するための方法およびシステム、プログラムの完全性を試験する方法およびシステム
US10853494B2 (en) Binding a trusted virtual machine to a trusted host computer
Jayaram et al. Trustworthy geographically fenced hybrid clouds
US11636209B2 (en) Data structure measurement comparison
CN110334515B (zh) 一种基于可信计算平台生成度量报告的方法及装置
US20190332391A1 (en) Kernel space measurement
US20220179959A1 (en) Measuring containers
JP6769999B2 (ja) セキュア計算環境
CN113454625A (zh) 安全性切片的安全性状态
Cabuk et al. Trusted Integrity Measurement and Reporting for Virtualized Platforms: (Work-in-Progress)
Park et al. Data firewall: a TPM-based security framework for protecting data in thick client mobile environment
Papakotoulas et al. Sustaining the Trust of an IoT Infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160926

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: 20161018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161031

R150 Certificate of patent or registration of utility model

Ref document number: 6044362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150