JP6301582B2 - 信頼されるネットワーク・ブートのシステムおよび方法 - Google Patents

信頼されるネットワーク・ブートのシステムおよび方法 Download PDF

Info

Publication number
JP6301582B2
JP6301582B2 JP2013001237A JP2013001237A JP6301582B2 JP 6301582 B2 JP6301582 B2 JP 6301582B2 JP 2013001237 A JP2013001237 A JP 2013001237A JP 2013001237 A JP2013001237 A JP 2013001237A JP 6301582 B2 JP6301582 B2 JP 6301582B2
Authority
JP
Japan
Prior art keywords
network
server
booting
trust anchor
trust
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.)
Expired - Fee Related
Application number
JP2013001237A
Other languages
English (en)
Other versions
JP2013143143A (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 JP2013143143A publication Critical patent/JP2013143143A/ja
Application granted granted Critical
Publication of JP6301582B2 publication Critical patent/JP6301582B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • G06F9/4406Loading of operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

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

Description

本稿で論じる実施形態はデジタル処理システムに関する。
データ・クラウドのようなデータ・ネットワークは、ウェブベースのアプリケーションのようなネットワーク・ベースのツールを通じてユーザーに計算、ソフトウェア、データ・アクセス、ストーレジ・サービスおよびその他のサービスを提供する一つまたは複数のサーバーおよび他のデジタル処理型コンポーネントを使って形成されうる。一般に、ユーザーは、ネットワーク内での位置付けのために、ネットワーク・プロバイダーにソフトウェア、データまたは他のオブジェクトを提供しうる。ユーザーはのちに、ネットワーク・ベースのツールを使って該ソフトウェア、データまたは他のオブジェクトにアクセスしうる。
データ・ネットワーク・プロバイダーの責任は、ネットワークへのユーザー・アクセスを提供し、ユーザーのソフトウェア、データ、物理的および個人的セキュリティならびにネットワーク上に記憶されている素性情報(identity)を安全に維持するためのセキュリティを提供することでありうる。このセキュリティを提供するために、ネットワーク・プロバイダーは、信頼されるサーバー、データベースおよび他のデジタル型コンポーネントのみがネットワークにアクセスすることを保証するよう試みてもよい。
本願で特許請求される主題は、何らかの欠点を解消するまたは上記のような環境でのみ機能する実施形態には限定されない。むしろ、この背景は、本稿に記載されるいくつかの実施形態を実施しうる一つの例示的な技術分野を例示するために与えているだけである。
ある実施形態のある側面によれば、システムは、ブーティング・イメージを含んでいてもよいブーティング・サーバーと、前記ブーティング・サーバーからの前記ブーティング・イメージを用いてブートしてもよいネットワーク・サーバーとを含んでいてもよい。前記ネットワーク・サーバーは、前記ブーティング・イメージの測定値を得る信頼アンカーを含んでいてもよい。本システムはさらに、ネットワークへのアクセスを制御するネットワーク・コントローラを含んでいてもよい。前記ネットワーク・コントローラは、前記ネットワーク・サーバーが前記ネットワークにアクセスすることを許可する前に前記ブーティング・イメージの前記測定値を検証してもよい。
実施形態の目的および利点は、請求項において具体的に記載される要素および組み合わせによって実現され、達成されるであろう。
以上の概括的な記述および以下の詳細な記述は例示および説明するものであり、特許請求される発明を制約するものではないことを理解しておくべきである。
例示的な実施形態について、付属の図面を使ってさらに具体的かつ詳細に記述し、説明する。
ネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供するシステムを示す図である。 ネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供するシステムの一部を示す図である。 ネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供するシステムの一部を示す図である。 複数のネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供するシステムを示す図である。 みな本稿に記載される少なくともいくつかの実施形態に基づいて構成される、サーバーの信頼されるネットワーク・ブーティングのための方法の例示的なフローチャートである。
データ・クラウドのようなデータ・ネットワークは、一つまたは複数のサーバーおよび他のコンポーネントから形成されうる。データ・ネットワークが形成されるときおよび何らかの動作条件の間に、追加的なサーバーが該データ・ネットワークに追加されてもよい。データ・ネットワークにサーバーを追加するためには、サーバーはまずローカルにブートされるまたはネットワーク・ブートされうる。安全なデータ・ネットワークの場合、該安全なデータ・ネットワークの健全性を維持するため、信頼されるサーバーのみが該安全なデータ・ネットワークに参加しうる。
安全なデータ・ネットワークに参加してもよい信頼されるサーバーを確立するために、サーバーは、該安全なデータ・ネットワークによって信頼される信頼アンカーを含んでいてもよい。信頼アンカーは、そのサーバーによって実行される内部ソフトウェアまたはファームウェアおよびネットワーク・ブーティング・プロセスの間にネットワークを通じてダウンロードされるソフトウェアを測定してもよい。一般に、信頼アンカーは、ブートされたあとにサーバーの状態を補足してもよい。信頼アンカーは測定結果を、安全なデータ・ネットワークへのアクセスを制御するネットワーク・コントローラに送ってもよい。ネットワーク・コントローラは、信頼アンカーによって取られた測定値を使ってそのサーバーが信頼される状態にあることを検証してもよい。サーバーは信頼される状態にあれば、サーバーは安全なデータ・ネットワークに参加することが許されてもよい。
本発明のさらなる詳細および実施形態について、付属の図面を参照しつつ説明する。
図1は、少なくとも本稿に記載されるいくつかの実施形態に基づいて構成された、ネットワーク・サーバーの信頼されるネットワーク・ブーティングのための備えを提供する。システム100は、ネットワーク・サーバー110、ブーティング・サーバー130、セキュリティで保護された(secured)ネットワーク・コントローラ150およびセキュリティで保護されたネットワーク160を通信可能に結合するネットワーク140を含んでいてもよい。
図示した実施形態によれば、システム100は、リモート・サーバーをブートするよう動作してもよく、次いで該リモート・サーバーがセキュリティで保護されたネットワーク160に加入させられてもよい。ネットワーク・サーバー110は、セキュリティで保護されたネットワーク160に加入させられてもよいリモート・サーバーの例である。システム100はまずネットワーク・サーバー110を電源投入してもよく、ネットワーク・サーバー110内の信頼アンカー120を使ってネットワーク・サーバー110によって実行される初期ソフトウェアまたはファームウェアを測定してもよい。次いでネットワーク・サーバー110は、ブーティング・サーバー130を使ってネットワーク140からブートしてもよい。ネットワーク・サーバー110はブーティング・イメージおよび他のソフトウェア・モジュールをブーティング・サーバー130から受け取る際、信頼アンカー120はブーティング・イメージおよびソフトウェア・モジュールを測定してもよい。
ネットワーク・サーバー110がブートされたのち、信頼アンカー120は初期ソフトウェア、ブーティング・イメージおよびソフトウェア・モジュールの測定結果を、署名されたレポートにおいて、セキュリティで保護されたネットワーク・コントローラ150に送ってもよい。セキュリティで保護されたネットワーク・コントローラ150は、信頼アンカー120が信頼されうることを検証するために、信頼アンカー120の署名を検査してもよい。セキュリティで保護されたネットワーク・コントローラ150は次いで初期ソフトウェア、ブーティング・イメージおよびソフトウェア・モジュールの測定値を検証して、ネットワーク・サーバー110が信頼されうるか否かを判定してもよい。
セキュリティで保護されたネットワーク・コントローラ150がネットワーク・サーバー110が信頼されることを検証したのち、ネットワーク・サーバー110は、セキュリティで保護されたネットワーク160に参加することが許される。ネットワーク・サーバー110が信頼されると判明しなかった場合には、ネットワーク・サーバー110はセキュリティで保護されたネットワーク160へのアクセスを拒否されてもよい。システム100はこのようにして、ネットワーク・サーバー110のような個々の信頼されるリモート・サーバーがネットワーク・ブートされ、セキュリティで保護されたネットワーク160に参加させられることを許容する構造を提供する。セキュリティで保護されたネットワーク・コントローラ150は、個々のリモート・サーバーがセキュリティで保護されたネットワーク160に参加することを許容する前に、個々のリモート・サーバー内の信頼されるアンカーを信頼するだけでよい。対照的に、他のネットワーク・ブーティング環境は、個々のリモート・サーバーがセキュリティで保護されたネットワークに参加することを許容する前に、信頼の複数のレイヤーを発達させることを必要とすることがある。
信頼のレベルまたはネットワーク・サーバー110のようなリモート・サーバーがいかにして信頼されると判定されるかはさまざまでありうる。いくつかの実施形態では、リモート・サーバーは、該リモート・サーバーもその上で走るファームウェアもしくはソフトウェアのいずれも、いかなる源によっても、システム100の運用者の知らないうちに危殆化、変更、改変または他の仕方で影響されていない場合に、信頼されると考えられてもよい。いくつかの実施形態では、リモート・サーバーは、該リモート・サーバー内の信頼アンカーが、該リモート・サーバーまたはその上で走るファームウェアもしくはソフトウェアのいずれかが、何らかの源によって、システム100の運用者の知らないうちに危殆化、変更、改変または他の仕方で影響されていないかどうかを検出できない場合に、信頼されると考えられてもよい。同様に、いくつかの実施形態では、リモート・サーバーは、該リモート・サーバー内の信頼アンカーが検証され、該信頼アンカーが該リモート・サーバーまたはその上で走るファームウェアもしくはソフトウェアのいずれかが、システム100の運用者の知っているうちまたは知らないうちに危殆化、変更、改変または他の仕方で影響されていないかどうかを検出できない場合に、信頼されると考えられてもよい。同様に、いくつかの実施形態では、リモート・サーバーは、該リモート・サーバー内の信頼アンカーが検証され、該信頼アンカーが該リモート・サーバーまたはその上で走るファームウェアもしくはソフトウェアのいずれかに対する軽微な変更または改変しか検出できない場合に、信頼されると考えられてもよい。以上から、サーバーの信頼されるネットワーク・ブートが一般にどのようなことに関わるか、また種々の度合いの信頼が存在でき、ネットワークの運用者によって定義されうることが理解されるはずである。
図2は、本稿に記載される少なくともいくつかの実施形態に基づいて構成された、ネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供することを支援しうるサブシステム200を示している。サブシステム200はネットワーク240を通じてブーティング・サーバー230に通信可能に結合されるネットワーク・サーバー210を含んでいてもよい。ネットワーク・サーバー210は、プロセッサ212と、スタートアップ記憶装置214と、プログラム記憶装置216と、該プロセッサ212、スタートアップ記憶装置214およびプログラム記憶装置216を信頼アンカー220に接続する通信バス218とを含んでいてもよい。信頼アンカー220は信頼プロセッサ222および第一、第二、第三および第四の記憶ユニット223、224、225、226を含んでいてもよい。
いくつかの実施形態に基づくネットワーク・サーバー210の信頼されるネットワーク・ブートを実行するために、ネットワーク・サーバー210はまず電源投入される。電源投入時に、プロセッサ212は、スタートアップ記憶装置214に記憶されたプログラムにアクセスしてもよい。いくつかの実施形態では、スタートアップ記憶装置214は、これに限られないが、フラッシュ・メモリ、読み出し専用メモリおよび磁気メモリを含む不揮発性メモリの任意の型であってもよい。いくつかの実施形態では、スタートアップ記憶装置214に保持されるプログラムは、スタートアップ時にネットワーク・ブーティングのための基本機能を実行するためにネットワーク・サーバー210によって使用される基本入出力システム(BIOS: basic input/output system)ファームウェアであってもよい。
電源投入時に、信頼プロセッサ222はまた、スタートアップ記憶装置214内のプログラムを読み、測定する。いくつかの実施形態では、信頼プロセッサ222は、そのプログラムの確率論的に一意的な識別子である値を生成することによってそのプログラムを測定してもよい。該識別子は、これに限られないが、ハッシュ値、チェックサム、フィンガープリントまたはチェック・ディジットといったものである。いくつかの実施形態では、信頼プロセッサ222は、プログラムがプロセッサ212によって実行される前に、該プログラムを読み、測定してもよい。いくつかの実施形態では、信頼プロセッサ222は、プログラムがプロセッサ212によって実行されたあとに該プログラムを読み、測定してもよい。信頼プロセッサ222は、プログラムの測定結果を第一、第二、第三または第四の記憶ユニット223、224、225、226の一つに保存する。
ネットワーク・サーバー210がスタートアップ記憶装置214からプログラムをロードしたのち、ネットワーク・サーバー210は、ネットワーク240上でブーティング・サーバー230を位置特定するために、該プログラムにより一つまたは複数の動作を実行してもよい。ブーティング・サーバー230を位置特定したのち、ネットワーク・サーバー210はブーティング・サーバー230からブーティング・イメージをダウンロードしてもよい。ブーティング・イメージはプログラム記憶装置216に保存されてもよい。いくつかの実施形態では、プログラム記憶装置216は、これに限られないが、フラッシュ・メモリを含む任意の書き込み可能な不揮発性メモリまたはこれに限られないがDRAM、SRAMその他のような任意の型のRAMを含むまたは任意の揮発性メモリであってもよい。ネットワーク・サーバー210は、プログラム記憶装置216からブーティング・イメージをロードし、実行してもよい。
信頼プロセッサ222はまた、ブーティング・サーバー230からのブーティング・イメージを測定してもよい。いくつかの実施形態では、信頼プロセッサ222は、ブーティング・イメージの確率論的に一意的な識別子である値を生成することによってブーティング・イメージを測定してもよい。該識別子は、これに限られないが、ハッシュ値、チェックサム、フィンガープリント、チェック・ディジットまたはランダム化関数といったものである。いくつかの実施形態では、信頼プロセッサ222は、ブーティング・イメージがプログラム記憶装置216に保存されるまたはプロセッサ212によって実行される前にブーティング・イメージを測定してもよい。いくつかの実施形態では、信頼プロセッサ222は、ブーティング・イメージがプロセッサ212によって実行されたあとにブーティング・イメージを測定してもよい。信頼プロセッサ222はブーティング・イメージの測定結果を、占有されていない第一、第二、第三または第四の記憶ユニット223、224、225、226の一つに保存する。
ブーティング・イメージがプロセッサ222によって実行される際、該ブーティング・イメージはネットワーク・サーバーに、ブーティング・サーバー230からソフトウェア・モジュールをダウンロードするよう指令してもよい。各ソフトウェア・モジュールは、ネットワーク・サーバー210によってプログラム記憶装置216内に記憶されてもよく、次いでプロセッサ212によってロードされ、実行されてもよい。ソフトウェア・モジュールは、オペレーティング・システム、仮想マシン・マネージャまたは他のプログラムをネットワーク・サーバー210上で実行するためのソフトウェア・プログラムを含んでいてもよい。
信頼プロセッサ222はまた、ブーティング・サーバー230からのソフトウェア・モジュールを測定してもよい。いくつかの実施形態では、信頼プロセッサ222は、ソフトウェア・モジュールの確率論的に一意的な識別子である値を生成することによってソフトウェア・モジュールを測定してもよい。該識別子は、これに限られないが、ハッシュ値、チェックサム、フィンガープリント、チェック・ディジットまたはランダム化関数といったものである。いくつかの実施形態では、信頼プロセッサ222は、ソフトウェア・モジュールがプログラム記憶装置216に保存されるまたはプロセッサ212によって実行される前にソフトウェア・モジュールを測定してもよい。いくつかの実施形態では、信頼プロセッサ222は、ソフトウェア・モジュールがプロセッサ212によって実行されたあとにソフトウェア・モジュールを測定してもよい。信頼プロセッサ222は各ソフトウェア・モジュールの測定結果を、占有されていない第一、第二、第三または第四の記憶ユニット223、224、225、226の一つに保存する。
いくつかの実施形態では、信頼アンカー220は、ブーティング・サーバー230またはネットワーク240に接続されている他の任意のサーバーからダウンロードされたファームウェア、ソフトウェア、モジュール、コンポーネント、プログラム、イメージまたは他のオブジェクトの全部を、あるいは場合によってはその部分集合もしくは一部のみを測定するよう動作してもよい。代替的または追加的に、信頼アンカー220は、ネットワーク・サーバー210によって実行されるファームウェア、ソフトウェア、モジュール、コンポーネント、プログラム、イメージまたは他のオブジェクトの全部を、または場合によってはその部分集合もしくは一部のみを測定するよう動作してもよい。代替的または追加的に、信頼アンカー220は、ネットワーク・サーバー210上の任意の型のメモリに記憶されているファームウェア、ソフトウェア、モジュール、コンポーネント、プログラム、イメージまたは他のオブジェクトの全部を、または場合によってはその部分集合もしくは一部のみを測定するよう動作してもよい。
信頼アンカー220は各測定結果を、記憶ユニット223、224、225、226のような個々の記憶ユニットに記憶してもよい。信頼アンカー220は、たとえば信頼アンカー220によって取られてもよい測定値の数に依存して、四つより多くまたは四つより少ない記憶ユニットを含んでいてもよい。いくつかの実施形態では、記憶ユニット223、224、225、226は、信頼アンカー220内の個々のレジスタであってもよい。いくつかの実施形態では、記憶ユニット223、224、225、226は信頼アンカー220内のメモリ・デバイス内の、異なる、アドレス指定可能な位置であってもよい。
いくつかの実施形態では、信頼アンカー220は信頼されるプラットフォーム・モジュール(TPM: trusted platform module)セキュリティ・デバイスまたはチップであってもよい。いくつかの実施形態では、信頼アンカー220は、別の型の暗号プロセッサまたは暗号マイクロプロセッサであってもよい。いくつかの実施形態では、信頼アンカー220は、本稿に記載される機能を実行できる他の型の装置であってもよい。
いくつかの実施形態では、ネットワーク・サーバー210は、ブーティング・サーバー230を位置特定し、これと通信するための標準的なプロトコルを実装してもよい。たとえば、いくつかの実施形態では、ネットワーク・サーバー210は、ブート前実行環境プロトコルまたは他のネットワーク・ブーティング・プロトコルに従ってネットワーク240上でブートしてもよい。さらに、いくつかの実施形態では、ネットワーク・サーバー210、ブーティング・サーバー230およびネットワーク240は、ネットワーク・サーバー210がネットワーク240上でブートできるようにするため、図示または議論されたもの以外の追加的なコンポーネントを含んでいてもよい。たとえば、ネットワーク240は動的ホスト構成設定プロトコル(DHCP: dynamic host configuration protocol)サーバーおよび一つもしくは複数のルータを含んでいてもよい;ブーティング・サーバー230は、ブーティング・イメージおよびソフトウェア・モジュールを記憶するファイル・サーバー、トリビアル・ファイル転送プロトコル(TFTP: trivial file transfer protocol)およびプロキシDHCPサーバーを含んでいてもよい;ネットワーク・サーバー210はネットワークを通じて通信するための一つまたは複数のハードウェア・コンポーネントを含んでいてもよい。
図3は、本稿に記載される少なくともいくつかの実施形態に基づいて構成された、ネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供することを支援しうるサブシステム300を示している。サブシステム300は、図2に関して記載された、セキュリティで保護されたネットワーク・コントローラ350およびセキュリティで保護されたネットワーク360にネットワーク340を通じて通信可能に結合されているネットワーク・サーバー210を含んでいてもよい。
図2に関して述べたようにしてネットワーク・サーバー210がブートされ、セキュリティで保護されたネットワーク360にアクセスする準備ができ、信頼アンカー220がネットワーク・サーバー210上またはネットワーク・サーバー210内で走っているすべての該当するオブジェクトを測定し終わったのち、信頼アンカー220はレポートを生成してもよい。レポートを生成するために、信頼アンカー220は、以前に測定され、記憶ユニット223、224、225、226に記憶された測定値すべてを総合してもよい。レポートは、各測定値が何を表すかを同定するよう、各測定値についての識別子を含んでいてもよい。レポートをまとめたのち、信頼アンカー220はそのレポートに署名し、ネットワーク340を通じてセキュリティで保護されたネットワーク・コントローラ350に送ってもよい。いくつかの実施形態では、レポートに署名することは、信頼アンカー220が該信頼アンカー220に関連付けられた確率論的に一意的な識別子をレポート内に含めることを含んでいてもよい。
セキュリティで保護されたネットワーク・コントローラ350は信頼アンカー220からレポートを受け取る。レポートを受け取ったのち、セキュリティで保護されたネットワーク・コントローラ350内の検証モジュール352がレポートの測定値、署名、タイムスタンプおよび他の要素を検証してもよい。セキュリティで保護されたネットワーク・コントローラ350はまた、信頼アンカー220の署名と、信頼アンカー220によって測定された各オブジェクトについての信頼される測定値とを含むデータベース354を含んでいてもよい。
レポートを検証するため、検証モジュール352は、レポートの署名をデータベース354内の署名と比較することによって、レポート中の信頼アンカー220の署名を検証してもよい。それらの署名が同一であれば、検証モジュール352はレポートが信頼される、既知の信頼アンカー220によって生成されたことを確証しうる。
検証モジュール352は、レポートの測定値をデータベース354からの検証された測定値と比較することによって、レポート内の核測定値を検証し続けてもよい。測定値におけるいかなる相違も、ネットワーク・サーバー210上またはネットワーク・サーバー210内で走っているオブジェクトが改変または変更されていることを示しうる。いくつかの実施形態では、任意の測定値における変動が、ネットワーク・サーバー210が信頼されないことがありうることを示しうる。
いくつかの実施形態では、検証モジュール352はまた、レポートのタイムスタンプおよびレポートの他の諸側面を検証してもよい。たとえば、いくつかの実施形態では、レポートのタイムスタンプが、レポートが、該レポートを受信する前の所定の時間内に生成されたのでないことを示す場合、検証モジュール352はネットワーク・サーバー210が信頼されないことがありうると判定してもよい。たとえば、レポートが、該レポートを受信する前の所定の時間内に生成されたのでない場合、ネットワーク・サーバー210はルビーとする時間を有していたことがありうる。これは、レポートがネットワーク・サーバー210の状態を正確に反映しないことがありうることを意味する。
検証モジュール352がレポートを検証する場合、検証モジュール352はネットワーク・サーバー210が信頼されると示してもよい。すると、セキュリティで保護されたネットワーク・コントローラ350は信頼されるネットワーク・サーバー210がセキュリティで保護されたネットワーク360に参加することを許容してもよい。検証モジュール352がレポートを検証できない場合、ネットワーク・サーバー210は信頼されると考えられないことがありうる。セキュリティで保護されたネットワーク・コントローラ350は信頼されないネットワーク・サーバー210に、信頼されるネットワーク360へのアクセスを拒否してもよい。いくつかの実施形態では、セキュリティで保護されたネットワーク・コントローラ350は、ネットワーク・サーバー210が信頼されなかったことを示すメッセージをネットワーク管理者に送ってもよい。いくつかの実施形態では、セキュリティで保護されたネットワーク・コントローラ350は、ネットワーク・サーバー210において信頼を発達させるステップを講じてもよい。これは、ネットワーク・サーバー210をリブートすることまたは図2に示されるブーティング・サーバー230のようなブーティング・サーバーをリブートすることを含んでいてもよい。
いくつかの実施形態では、ネットワーク340は図2に示したネットワーク240と同じであってもよい。いくつかの実施形態では、セキュリティで保護されたネットワーク360は、一つまたは複数のサーバーを使って実装されるセキュリティで保護されたネットワーク環境であってもよい。たとえば、セキュリティで保護されたネットワーク360はクラウド環境、クラスター・コンピューティング・ネットワーク、分散処理ネットワークまたは他の任意の型のセキュリティで保護されたネットワークであってもよい。いくつかの実施形態では、セキュリティで保護されたネットワーク・コントローラ350は、ネットワーク340およびセキュリティで保護されたネットワーク360とネットワーク接続された、サーバーまたは他の何らかのプロセッサもしくはコンピューティング装置であってもよい。いくつかの実施形態では、データベース354はセキュリティで保護されたネットワーク・コントローラ350の外に位置され、セキュリティで保護されたネットワーク・コントローラ350とネットワーク接続されているのでもよい。
図3に示したサブシステム300を使えば、セキュリティで保護されたネットワーク・コントローラ350は、ひとたび信頼アンカー220の署名が検証されたら、ネットワーク・サーバー210内の信頼アンカー220を信頼するだけでよい。セキュリティで保護されたネットワーク・コントローラ350は、ブーティング・サーバー、ネットワーク340、ネットワーク・サーバー210または他の何らかのコンポーネントもしくはオブジェクトを信頼する必要はないことがある。サブシステム300はまた、他のネットワーク接続されたブーティング・システムとは対照的に、複数のレイヤーの信頼が確立されることを要求しないことがある。むしろ、サブシステム300は、信頼アンカー220との単一レイヤーの信頼に依拠できる。
システム300は、いくつかの実施形態では、信頼アンカー220を危殆化して、信頼アンカー220にレポートを偽造させることによって、あるいはネットワーク・コントローラ350を危殆化して既知の測定データを変更することによってのみ危殆化されうる。よって、意図的なものであれ意図的でないものであれ、ネットワーク・サーバー210の状態に影響しうるネットワーク・サーバー210、ブーティング・サーバーおよびネットワーク340内のいかなる攻撃、改変または変更も、ネットワーク・サーバー210がセキュリティで保護されたネットワーク360に参加することが許される前に、発見されうる。こうして、セキュリティで保護されたネットワーク360の安全性が維持されうる。さらに、サブシステム300は、ネットワーク・サーバー210のネットワーク・ブーティングを許容しつつ、この安全性を提供しうる。サーバーのネットワーク・ブーティングは、図4に示されるシステムにおいてスケーラビリティを提供しうる。
図4は、本稿に記載される少なくともいくつかの実施形態に基づいて構成された、複数のネットワーク・サーバーの信頼されるネットワーク・ブーティングを提供するシステム400を示している。システム400は第一、第二および第三のネットワーク・サーバー410、412、414と;ブーティング・サーバー430と;セキュリティで保護されたネットワーク・コントローラ450と;セキュリティで保護されたネットワーク460とを通信可能に結合するネットワーク440を含んでいてもよい。第一、第二および第三のネットワーク・サーバー410、412、414はそれぞれ第一、第二および第三の信頼アンカーを含んでいてもよい。第一、第二および第三の信頼アンカー420、422、424のそれぞれは、セキュリティで保護されたネットワーク・コントローラ450によって知られていてもよい個々の、一意的な署名を有していてもよい。ネットワーク・サーバー410、412、414のそれぞれによって実行される第一のプログラムならびにブーティング・サーバー430内のブーティング・イメージおよびソフトウェア・モジュールのそれぞれの検証された測定値もセキュリティで保護されたネットワーク・コントローラ450によって知られていてもよい。
図示した実施形態によれば、システム400は、第一、第二および第三のネットワーク・サーバー410、412、414をブートし、それぞれにセキュリティで保護されたネットワーク460にアクセスすることを許容するよう動作しうる。システム400は、ブーティング・サーバー430を使って、第一、第二および第三のネットワーク・サーバー410、412、414それぞれの、ネットワーク440を通じたネットワーク・ブートを実行してもよい。第一、第二および第三のネットワーク・サーバー410、412、414がブートし、ブーティング・サーバー430からソフトウェア・モジュールをロードする際、対応する信頼アンカー420、422、424が初期プログラム、ブーティング・イメージおよびソフトウェア・モジュールを測定していてもよい。
第一、第二および第三のネットワーク・サーバー410、412、414のそれぞれがブートしたのち、各信頼アンカー420、422、424は初期プログラム、ブーティング・イメージおよびソフトウェア・モジュールのそれぞれの測定値を、署名されたレポートにおいて、セキュリティで保護されたネットワーク・コントローラ450に送ってもよい。セキュリティで保護されたネットワーク・コントローラ450は、各信頼アンカー420、422、424が信頼されうることを検証するために、信頼アンカー420、422、424の署名を検査してもよい。セキュリティで保護されたネットワーク・コントローラ450は次いで、各信頼アンカー420、422、424からの初期プログラム、ブーティング・イメージおよびソフトウェア・モジュールの測定値を検証して、ネットワーク・サーバー410、412、414のそれぞれが信頼されうるか否かを判定してもよい。セキュリティで保護されたネットワーク・コントローラ450がネットワーク・サーバー410、412、414のそれぞれが信頼されることを検証したのち、ネットワーク・サーバー410、412、414は、セキュリティで保護されたネットワーク460に参加することが許されてもよい。
いくつかの実施形態では、ネットワーク・サーバー410、412、414は同時にブートし、ソフトウェア・モジュールをロードしてもよい。いくつかの実施形態では、ネットワーク・サーバー410、412、414は一つずつブートし、ソフトウェアをロードしてもよいし、あるいはネットワーク・サーバー410、412、414の何らかの組み合わせが同時にブートし、ソフトウェアをロードしてもよい。いくつかの実施形態では、信頼アンカー420、422、424は、各ネットワーク・サーバー410、412、414がブートし、ソフトウェアをロードしたのちに、同時にそれぞれのレポートを送ってもよい。いくつかの実施形態では、信頼アンカー420、422、424は、個々のネットワーク・サーバー410、412、414がブートし、ソフトウェア・モジュールをロードするのを完了したのちに、他のネットワーク・サーバー410、412、414の状態に関わりなく、セキュリティで保護されたネットワーク・コントローラ450にそれぞれのレポートを送ってもよい。いくつかの実施形態では、セキュリティで保護されたネットワーク・コントローラ450は、ネットワーク・サーバー410、412、414のそれぞれに、同時にまたは個々にセキュリティで保護されたネットワーク460へのアクセスを認めてもよい。
図5は、本稿に記載される少なくともいくつかの実施形態に基づいて構成された、図1に示されるネットワーク・サーバー110のようなサーバーの信頼されるネットワーク・ブーティングを提供する方法500を示している。開始するために、ブロック525において、図1に示した信頼アンカー120のようなサーバー内の信頼アンカーが、ブーティング・サーバーから当該サーバーにダウンロードされたブーティング・イメージを測定してもよい。いくつかの実施形態では、信頼アンカーは、ブーティング・イメージがサーバー上のメモリに記憶される前にブーティング・イメージを測定してもよい。他の実施形態では、信頼アンカーは、ブーティング・イメージがサーバー上のメモリに記憶されたあとでブーティング・イメージを測定してもよい。いくつかの実施形態では、信頼アンカーは、プログラムの測定を、そのプログラムの確率論的に一意的な識別子である値を生成することによって行ってもよい。該識別子は、これに限られないが、ハッシュ値、チェックサム、フィンガープリント、チェック・ディジットまたはランダム化関数といったものである。信頼アンカーは、プログラムの測定結果を、信頼アンカー内のメモリに記憶してもよい。いくつかの実施形態では、信頼アンカーは測定値をレジスタに記憶してもよい。いくつかの実施形態では、信頼アンカーは信頼されるプラットフォーム・モジュール・チップであってもよく、測定値を、測定値の安全な記憶および報告のための備えを提供するプラットフォーム構成設定レジスタに記憶してもよい。
ブーティング・イメージは次いで、サーバーによってロードされ、実行されてもよい。ブーティング・イメージの指令に従って、ブロック530において、サーバーは、ブーティング・サーバーから一つまたは複数のモジュールをダウンロードする一つまたは複数の動作を実行してもよい。これらのモジュールは、ソフトウェア、ファームウェア、イメージ、プログラムまたは他のオブジェクトであってもよい。いくつかの実施形態では、これらのモジュールは、仮想プラットフォーム・マシンのためのソフトウェアまたは他の型のオペレーティング・システムであってもよい。ブロック535において、信頼アンカーはブーティング・サーバーからダウンロードされた前記一つまたは複数のモジュールを測定してもよい。信頼アンカーは、ダウンロードされたモジュールの測定値を信頼アンカー内のメモリに記憶してもよい。いくつかの実施形態では、信頼アンカーは、ダウンロードされたモジュールがサーバー上に保存される前に、該ダウンロードされたモジュールを測定してもよい。いくつかの実施形態では、信頼アンカーは、ダウンロードされたモジュールがサーバー上に保存されたあとに、該ダウンロードされたモジュールを測定してもよい。
ダウンロードされたモジュールがロードされ、システム上で実行するのち、ブロック540において、信頼アンカーは、信頼アンカーが取った測定値の一部または全部を含むレポートを生成してもよい。たとえば、いくつかの実施形態では、信頼アンカーは、ブーティング・イメージおよびダウンロードされたモジュールの測定値を含んでいてもよい。レポートを生成したのち、ブロック545において、信頼アンカーはレポートに署名してもよい。信頼アンカーは、信頼アンカーに対して確率的に一意的である署名または鍵をもってレポートに署名してもよい。いくつかの実施形態では、信頼アンカーの署名または鍵は、RSA鍵のような値であってもよい。
ブロック550において、信頼アンカーは署名されたレポートを、図1に示したネットワーク・コントローラ160のようなネットワーク・コントローラに送ってもよい。ブロック555では、ネットワーク・コントローラはレポート上の署名を検証してもよい。いくつかの実施形態では、ネットワーク・コントローラはレポート上の署名を、該署名を、該レポートを生成した信頼アンカーの既知の署名と比較することによって、検証してもよい。レポートの署名が検証されたら、つまりレポートの署名が、そのレポートを生成して送った信頼アンカーの既知の署名に一致したら、方法500はブロック560に進んでもよい。いくつかの実施形態では、ネットワーク・コントローラは、方法500がブロック560に進む前に、タイムスタンプのようなレポートの他の諸側面をも検証してもよい。レポートの署名が検証されない場合には、方法500はブロック580に進んでもよい。
ブロック560では、ネットワーク・コントローラはレポート中の測定値を検証してもよい。いくつかの実施形態では、ネットワーク・コントローラはレポート内の測定値を、該測定値を既知の測定値と比較することによって検証してもよい。たとえば、レポート内のブーティング・イメージの測定値は既知の検証されたブーティング・イメージ測定値と比較されてもよい。それらの測定値が等しいと見なされる場合、ブーティング・イメージは検証されうる。つまり、ブーティング・イメージは変更、改変または調整されていない。レポート内のすべての測定値が検証されたら、方法500はブロック570に進んでもよい。測定値のいずれかが検証されない場合には、方法500はブロック580に進んでもよい。
ブロック570では、サーバーは、セキュリティで保護されたネットワーク・コントローラによって、信頼されると見なされてもよく、セキュリティで保護されたネットワークへのアクセスを認められてもよい。対照的に、ブロック580では、サーバーは信頼されないと見なされ、セキュリティで保護されたネットワークへのアクセスを拒否されてもよい。
サーバーが信頼されると見なされないのはさまざまな理由でありうる。追加的または代替的に、サーバーにダウンロードされたブーティング・イメージまたはソフトウェア・モジュールが改変または変更されて、信頼アンカーによって取られた測定値がネットワーク・コントローラによって記憶されている測定値と等しくないことがありうる。このような状況を正すため、サーバーは、リブートされて、問題が単に測定の誤りであったかどうかを判定するために改めて測定値が取られてもよい。追加的または代替的に、システム管理者が通知を受け、サーバーおよび/またはブーティング・サーバーにサービスしてもよい。
もう一つの例として、サーバーは、レポート上の署名がそのレポートを送らなかった信頼アンカーに対応する場合に、信頼されないと見なされてもよい。追加的または代替的に、サーバーは、署名が正しくない場合に信頼されないと見なされてもよい。これらの状況を正すために、サーバーがリブートされ、レポートを生成し直してもよいし、あるいはシステム管理者がサーバーを検査してもよい。もう一つの例として、サーバーは、レポートのタイムスタンプが古くなっている場合に信頼されないと見なされてもよい。追加的または代替的に、サーバーは、レポートがネットワーク・コントローラに通信されないまたはレポートがネットワーク・コントローラに送信される際に壊される場合に信頼されないと見なされてもよい。これらの状況を正すため、サーバーはリブートされてレポートを生成し直してもよいし、あるいはシステム管理者が通知を受けてサーバーとネットワーク・コントローラとの間のネットワークを検査してもよい。
当業者は、この、および本稿で開示される他のプロセスおよび方法について、それらのプロセスおよび方法において実行される機能が異なる順序で実装されてもよいことを理解するであろう。さらに、概説されたステップや動作は単に例として与えられているのであり、開示される実施形態の本質を損なうことなく、ステップや動作の一部は任意的であってもよく、より少数のステップや動作に組み合わされてもよく、あるいは追加的なステップや動作に拡張されてもよい。
たとえば、いくつかの実施形態では、ブロック525においてブーティング・イメージを測定する前に、サーバーが電源投入されてもよい。サーバーが電源投入される際、サーバー内の信頼アンカーが、電源投入時にサーバーによって最初に実行されるプログラムを測定してもよい。プログラムは次いで、ブーティング・プロセスを開始するためにサーバーによってロードされ、実行されてもよい。いくつかの実施形態では、プログラムは、ブート前実行環境プロトコルのような、ネットワーキング・ブーティング・プロトコルに従う動作を含んでいてもよい。いくつかの実施形態では、該プログラムに続いて、サーバーは、図1に示したブーティング・サーバー130のような、ブーティング・イメージのダウンロード元となるブーティング・サーバーを位置特定するための一つまたは複数の動作を実行してもよい。いくつかの実施形態では、ブーティング・サーバーの位置特定は、DHCPサーバーを位置特定し、IPアドレスを取得することを含んでいてもよい。
ある実施形態に基づく図5の方法500の例は次のようになる。データ・クラウドが追加的な容量を扱うために追加的なサーバーを必要とすることがある。データ・クラウドに通信可能にリンクされている、信頼されるプラットフォーム・モジュール(TPM)チップのような信頼アンカーが電源投入されてもよい。サーバーのBIOSがTPMチップによって測定されてもよく、TPMチップ内のレジスタに記憶されてもよい。BIOSは、ブート前実行環境(PXE: pre-boot execution environment)プロトコルのような、ネットワーク・ブーティングのためのネットワーク・ブーティング・プロトコルを含んでいてもよい。サーバーは該プロトコルに従い、PXEサーバーと接続を確立してもよい。
ブーティング・イメージはPXEサーバーから当該サーバーにダウンロードされてもよい。ブーティング・イメージがダウンロードされる際にTMPチップがブーティング・イメージを測定して、測定値をそのレジスタの一つに記憶してもよい。ブーティング・イメージはロードされ、実行されてもよく、サーバーに、オペレーティング・システムのソフトウェア・モジュールをPXEサーバーからダウンロードするよう指令してもよい。ソフトウェア・モジュールがダウンロードされる際、TPMチップは各ソフトウェア・モジュールを測定し、測定値をそのレジスタ内に記憶してもよい。ソフトウェア・モジュールがロードされ、サーバー上で実行されたのち、TPMチップは、そのレジスタに記憶されている測定値を含むレポートを生成し、該レポートに署名し、該レポートをデータ・クラウドへのアクセスを管理するネットワーク・コントローラに送ってもよい。
ネットワーク・コントローラは、PXEサーバーからのブーティング・イメージおよびソフトウェア・イメージならびに当該サーバーのBIOSの既知の測定値と、TPMチップの署名とを含んでいてもよい。この情報を使って、ネットワーク・コントローラはレポート内のBIOS、ブーティング・イメージおよびソフトウェア・イメージの署名および測定値を、それらをBIOS、ブーティング・イメージおよびソフトウェア・イメージの既知の署名および測定値と比較することによって、検証してもよい。測定値のすべてが検証されたら、ネットワーク・コントローラはそのサーバーが信頼されてもよいことを知り、そのサーバーにデータ・クラウドへのアクセスを認める。測定値の一つまたはレポートの他の側面が検証されない場合には、ネットワーク・コントローラはそのサーバーに、データ・クラウドへのアクセスを拒否してもよい。
本稿に記載される実施形態は、以下に論じるように、さまざまなコンピュータ・ハードウェアまたはソフトウェア・モジュールを含む特殊目的または汎用目的のコンピュータの使用を含んでいてもよい。
本稿に記載される実施形態は、コンピュータ実行可能な命令を担持するもしくは有するコンピュータ可読媒体またはその上に記憶されるデータ構造を使って実装されてもよい。そのようなコンピュータ可読媒体は、汎用目的または特殊目的のコンピュータによってアクセス可能ないかなる利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光学式ディスク記憶、磁気ディスク記憶または他の磁気記憶装置、あるいはコンピュータ実行可能な命令の形の所望されるプログラム・コード手段またはデータ構造を担持もしくは記憶するために使用でき、汎用目的または特殊目的のコンピュータによってアクセスされうる他の任意の媒体を含むことができる。情報がネットワークまたは他の通信接続(有線、無線、または有線と無線の組み合わせ)を通じてコンピュータに転送または提供されるとき、コンピュータは適正にその接続をコンピュータ可読媒体と見なす。よって、そのようないかなる接続も適正にコンピュータ可読媒体と称される。上記のさまざまな組み合わせも、コンピュータ可読媒体の範囲内に含められるべきである。
コンピュータ実行可能な命令はたとえば、汎用目的コンピュータ、特殊目的コンピュータまたは特殊目的処理装置にある種の機能または一群の機能を実行させる命令およびデータを含む。本願の主題は、構造的な特徴および/または方法論上の工程に固有の言辞で記述されているが、付属の請求項において定義される主題は必ずしも上記の個別的な特徴や工程に限定されないことは理解しておくべきである。むしろ、上記の個別的な特徴や工程は請求項を実装する例示的な形として開示されているのである。
本稿での用法では、用語「モジュール」および「コンポーネント」は、コンピューティング・システム上で実行されるソフトウェア・オブジェクトまたはルーチンを指しうる。本稿に記載される種々のコンポーネント、モジュール、エンジンおよびサービスは、コンピューティング・システム上で実行されるオブジェクトまたはプロセスとして(たとえば別個のスレッドとして)実装されてもよい。本稿に記載されるシステムおよび方法は好ましくはソフトウェアで実装されるが、ハードウェアまたはソフトウェアとハードウェアの組み合わせでの実装も可能であり、考えられている。本稿において、「コンピューティング・エンティティ」は、本稿で先に定義したような任意のコンピューティング・システムまたはコンピューティング・システム上で実行される任意のモジュールもしくはモジュールの組み合わせでありうる。
本稿に記載されるあらゆる例および条件付きの言辞は、本発明および当該技術を進歩させるために発明者によって寄与される概念を理解する上で読者を助ける教育的な目的を意図されているのであって、そのような特定的に記載された例や条件に限定することなく解釈されるものとする。また、明細書におけるそのような例の編成は本発明の優位または劣位を示すことには関係しない。本発明の実施形態について詳細に記載してきたが、本発明の精神および範囲から外れることなく、それにさまざまな変更、置換および改変がなしうることは理解しておくべきである。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
サーバーの信頼されるネットワーク・ブーティングのためのシステムであって:
ブーティング・イメージを含むブーティング・サーバーと;
前記ブーティング・サーバーの前記ブーティング・イメージを用いてブートするネットワーク・サーバーであって、前記ブーティング・イメージの測定値を得る信頼アンカーを含むネットワーク・サーバーと;
ネットワークへのアクセスを制御するネットワーク・コントローラであって、前記ネットワーク・サーバーが前記ネットワークにアクセスすることを許可する前に前記ブーティング・イメージの前記測定値を検証する、ネットワーク・コントローラとを有する、
システム。
(付記2)
前記信頼アンカーが前記ネットワーク・サーバー内の信頼プロセッサである、付記1記載のシステム。
(付記3)
前記信頼アンカーが前記ネットワーク・サーバー内の信頼されるプラットフォーム・モジュール(TPM)チップである、付記2記載のシステム。
(付記4)
前記ブーティング・サーバーが、ブート前実行環境プロトコルに従って前記ネットワーク・サーバーと通信する、付記1記載のシステム。
(付記5)
前記信頼アンカーが、前記ブーティング・イメージのハッシュ値を生成することによって前記ブーティング・イメージの前記測定値を得る、付記1記載のシステム。
(付記6)
前記ネットワーク・コントローラが前記ブーティング・イメージの前記測定値を検証することを、前記信頼アンカーによって得られた前記ブーティング・イメージの前記測定値を、前記ブーティング・イメージの検証済みの測定値と比較することによって検証する、付記1記載のシステム。
(付記7)
前記ネットワーク・コントローラは、前記ネットワーク・サーバーが前記ネットワークにアクセスすることを許可する前に前記信頼アンカーの署名を検証する、付記1記載のシステム。
(付記8)
前記信頼アンカーは、スタートアップ時に前記ネットワーク・サーバーによって最初に実行されるプログラムの測定値を得て、そのプログラムの測定値を前記ネットワーク・コントローラに送る、付記1記載のシステム。
(付記9)
サーバーの信頼されるネットワーク・ブーティングのための方法であって:
ネットワーク・サーバーにダウンロードされたブーティング・イメージの測定値を、前記ネットワーク・サーバー内の信頼アンカーを使って取得して;
前記ブーティング・イメージを使って前記ネットワーク・サーバーをブートして;
前記ブーティング・イメージの前記測定値を検証のために送ることを含む、
方法。
(付記10)
前記ブーティング・イメージの前記測定値を取得する処理が、前記ブーティング・イメージについてのハッシュ値を生成することを含む、付記9記載の方法。
(付記11)
前記ブーティング・イメージの前記測定値の検証が、前記信頼アンカーによって得られた前記ブーティング・イメージの前記測定値を、前記ブーティング・イメージの検証済みの測定値と比較することによって実行される、付記10記載の方法。
(付記12)
さらに前記信頼アンカーの署名を検証することを含む、付記9記載の方法。
(付記13)
前記ネットワーク・サーバーにダウンロードされた各ソフトウェア・モジュールを測定することをさらに含む、付記9記載の方法。
(付記14)
前記ブーティング・イメージの前記測定値が検証された場合に前記ネットワーク・サーバーをネットワークに参加させることをさらに含む、付記9記載の方法。
(付記15)
ネットワーク・サーバー内の信頼アンカーとして動作するプロセッサであって:
前記ネットワーク・サーバーによってブートするために使用される、第一のネットワークを通じて受信されたブーティング・イメージの測定値を取得する工程と;
前記ブーティング・イメージの前記測定値を、第二のネットワークへのアクセスを得るための検証のために送る工程とを実行するよう適応された、
プロセッサ。
(付記16)
検証のために署名を送る工程を実行するようさらに適応されている、付記15記載のプロセッサ。
(付記17)
スタートアップ時に前記ネットワーク・サーバーによって最初に実行されるプログラムを測定する工程をさらに実行するよう適応されている、付記15記載のプロセッサ。
(付記18)
前記ブーティング・イメージの前記測定値を取得する工程が、前記ブーティング・イメージについてのハッシュ値を生成することを含む、付記15記載のプロセッサ。
(付記19)
前記ネットワーク・サーバーの信頼されるネットワーク・ブーティングのためのシステムであって:
当該システム内で前記ネットワーク・サーバーの前記信頼アンカーとして動作する付記15記載のプロセッサと;
前記ネットワーク・サーバーによってブートするときに使用される前記ブーティング・イメージを含むブーティング・サーバーとを有する、
システム。
(付記20)
前記ブーティング・イメージの前記測定値を検証し、前記第二のネットワークへのアクセスを制御するネットワーク・コントローラをさらに有する、付記19記載のシステム。
100 システム
110 ネットワーク・サーバー
120 信頼アンカー
130 ブート・サーバー
140 ネットワーク
150 セキュアード・ネットワーク・コントローラ
160 セキュアード・ネットワーク
200 サブシステム
210 ネットワーク・サーバー
212 プロセッサ
214 スタートアップ記憶
216 プログラム記憶
220 信頼アンカー
222 信頼プロセッサ
230 ブート・サーバー
240 ネットワーク
300 サブシステム
340 ネットワーク
350 セキュアード・ネットワーク・コントローラ
352 検証モジュール
354 データベース
360 セキュアード・ネットワーク
400 システム
410,412,414 ネットワーク・サーバー
420,422,424 信頼アンカー
430 ブート・サーバー
440 ネットワーク
450 セキュアード・ネットワーク・コントローラ
460 セキュアード・ネットワーク
500 方法
525 ブート・イメージを計測
530 ソフトウェア・モジュールをダウンロード
535 ソフトウェア・モジュールを計測
540 計測値を用いてレポートを生成
545 レポートに署名
550 レポートをネットワーク・コントローラに送信
555 レポート中の署名を検証
560 レポート中の計測値を検証
570 セキュアード・ネットワークへのサーバー・アクセスを承認
580 セキュアード・ネットワークへのサーバー・アクセスを拒否

Claims (10)

  1. サーバーの信頼されるネットワーク・ブーティングのためのシステムであって、当該システムは:
    ブーティング・イメージを含むブーティング・サーバーと;
    前記ブーティング・サーバーの前記ブーティング・イメージを用いてブートするネットワーク・サーバーであって、前記ブーティング・イメージの測定値を得る信頼アンカーを含むネットワーク・サーバーと;
    ネットワークへのアクセスを制御するネットワーク・コントローラであって、前記ネットワーク・サーバーが前記ネットワークにアクセスすることを許可する前に前記ブーティング・イメージの前記測定値を検証する、ネットワーク・コントローラとを有し、
    前記信頼アンカーは、スタートアップ時に前記ネットワーク・サーバーによって最初に実行されるプログラムの測定値を得て、そのプログラムの測定値を前記ネットワーク・コントローラに送
    前記信頼アンカーは、前記ネットワーク・サーバー内の信頼プロセッサである、または、前記ネットワーク・サーバー内の信頼されるプラットフォーム・モジュール(TPM)チップである、
    システム。
  2. 前記ブーティング・サーバーが、ブート前実行環境プロトコルに従って前記ネットワーク・サーバーと通信する、請求項1記載のシステム。
  3. 前記信頼アンカーが、前記ブーティング・イメージのハッシュ値を生成することによって前記ブーティング・イメージの前記測定値を得る、請求項1記載のシステム。
  4. 前記ネットワーク・コントローラが前記ブーティング・イメージの前記測定値を検証することを、前記信頼アンカーによって得られた前記ブーティング・イメージの前記測定値を、前記ブーティング・イメージの検証済みの測定値と比較することによって検証する、請求項1記載のシステム。
  5. 前記ネットワーク・コントローラは、前記ネットワーク・サーバーが前記ネットワークにアクセスすることを許可する前に前記信頼アンカーの署名を検証する、請求項1記載のシステム。
  6. ネットワーク・サーバー内の信頼アンカーとして動作するプロセッサであって:
    前記信頼アンカーは、前記ネットワーク・サーバー内の信頼プロセッサである、または、前記ネットワーク・サーバー内の信頼されるプラットフォーム・モジュール(TPM)チップであり、
    前記ネットワーク・サーバーによってブートするために使用される、第一のネットワークを通じて受信されたブーティング・イメージの測定値を取得する工程と;
    前記ブーティング・イメージの前記測定値を、第二のネットワークへのアクセスを得るための検証のために送る工程と;
    スタートアップ時に前記ネットワーク・サーバーによって最初に実行されるプログラムの測定値を得て、そのプログラムの測定値をネットワーク・コントローラに送る工程とを実行するよう適応された、
    プロセッサ。
  7. 検証のために署名を送る工程を実行するようさらに適応されている、請求項記載のプロセッサ。
  8. 前記ブーティング・イメージの前記測定値を取得する工程が、前記ブーティング・イメージについてのハッシュ値を生成することを含む、請求項記載のプロセッサ。
  9. 前記ネットワーク・サーバーの信頼されるネットワーク・ブーティングのためのシステムであって:
    当該システム内で前記ネットワーク・サーバーの前記信頼アンカーとして動作する請求項記載のプロセッサと;
    前記ネットワーク・サーバーによってブートするときに使用される前記ブーティング・イメージを含むブーティング・サーバーとを有する、
    システム。
  10. 前記ブーティング・イメージの前記測定値を検証し、前記第二のネットワークへのアクセスを制御するネットワーク・コントローラをさらに有する、請求項記載のシステム。
JP2013001237A 2012-01-09 2013-01-08 信頼されるネットワーク・ブートのシステムおよび方法 Expired - Fee Related JP6301582B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/346,574 US8843650B2 (en) 2012-01-09 2012-01-09 Trusted network booting system and method
US13/346,574 2012-01-09

Publications (2)

Publication Number Publication Date
JP2013143143A JP2013143143A (ja) 2013-07-22
JP6301582B2 true JP6301582B2 (ja) 2018-03-28

Family

ID=48744780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013001237A Expired - Fee Related JP6301582B2 (ja) 2012-01-09 2013-01-08 信頼されるネットワーク・ブートのシステムおよび方法

Country Status (2)

Country Link
US (1) US8843650B2 (ja)
JP (1) JP6301582B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992024B2 (en) * 2012-01-25 2018-06-05 Fujitsu Limited Establishing a chain of trust within a virtual machine
US9064118B1 (en) * 2012-03-16 2015-06-23 Google Inc. Indicating whether a system has booted up from an untrusted image
US8655969B2 (en) * 2012-06-01 2014-02-18 Ixia Statistics reporting in a network test system
US9596085B2 (en) * 2013-06-13 2017-03-14 Intel Corporation Secure battery authentication
EP2833265A1 (en) * 2013-07-29 2015-02-04 Alcatel Lucent Data processing
US9319380B2 (en) 2014-03-20 2016-04-19 Bitdefender IPR Management Ltd. Below-OS security solution for distributed network endpoints
GB201413836D0 (en) 2014-08-05 2014-09-17 Arm Ip Ltd Device security apparatus and methods
DE102015202215A1 (de) * 2015-02-09 2016-03-24 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum sicheren Betreiben der Vorrichtung
US9740866B2 (en) * 2015-06-10 2017-08-22 The Boeing Company Automatic measuring boot process using an automatic measuring processor coupled to a memory
GB2540965B (en) 2015-07-31 2019-01-30 Arm Ip Ltd Secure configuration data storage
GB2540961B (en) * 2015-07-31 2019-09-18 Arm Ip Ltd Controlling configuration data storage
US10108434B2 (en) * 2015-09-11 2018-10-23 Vmware, Inc. Booting a computing device by streaming a desktop image over a network
US10541816B2 (en) 2016-06-01 2020-01-21 International Business Machines Corporation Controlling execution of software by combining secure boot and trusted boot features
CN107396352B (zh) * 2017-09-19 2020-03-03 清华大学 一种基站控制系统及方法
US10958539B1 (en) * 2019-12-02 2021-03-23 Cisco Technology, Inc. Network function virtualization compute element image upgrade
US11409882B2 (en) * 2019-12-02 2022-08-09 International Business Machines Corporation Secure embedded microcontroller image load
US11671412B2 (en) 2020-07-01 2023-06-06 Red Hat, Inc. Network bound encryption for orchestrating workloads with sensitive data
US11611431B2 (en) 2020-07-01 2023-03-21 Red Hat, Inc. Network bound encryption for recovery of trusted execution environments
US11741221B2 (en) 2020-07-29 2023-08-29 Red Hat, Inc. Using a trusted execution environment to enable network booting
CN114064135B (zh) * 2021-11-12 2024-01-30 抖音视界有限公司 服务器系统启动的方法、装置、电子设备及存储介质
US12287881B2 (en) * 2022-04-11 2025-04-29 Extreme Networks, Inc. Trust chain preservation for remote attestation
JP7649362B1 (ja) 2023-11-14 2025-03-19 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3393521B2 (ja) * 1995-10-19 2003-04-07 日本電信電話株式会社 端末プログラム改ざん検出方法、および情報センタ
US6560706B1 (en) * 1998-01-26 2003-05-06 Intel Corporation Interface for ensuring system boot image integrity and authenticity
US7062643B2 (en) * 2000-08-01 2006-06-13 Fujitsu Limited System method and apparatus for controlling a boot process of a computer
US7337310B2 (en) * 2004-10-18 2008-02-26 Lenovo Pte Ltd Computer disposal apparatus, system, and method
US9450966B2 (en) * 2004-11-29 2016-09-20 Kip Sign P1 Lp Method and apparatus for lifecycle integrity verification of virtual machines
JP4433401B2 (ja) * 2004-12-20 2010-03-17 レノボ シンガポール プライヴェート リミテッド 情報処理システム、プログラム、及び情報処理方法
JP2007094879A (ja) * 2005-09-29 2007-04-12 Toshiba Corp オペレーティングシステム用基本プログラムの認証システム、これに用いるコンピュータ、およびコンピュータプログラム
GB0707150D0 (en) * 2007-04-13 2007-05-23 Hewlett Packard Development Co Dynamic trust management
WO2008147742A2 (en) * 2007-05-21 2008-12-04 Wms Gaming, Inc. Trusted initialization for wagering game machines
EP2261832A4 (en) * 2008-02-25 2012-09-26 Panasonic Corp INFORMATION PROCESSING DEVICE
JP5211837B2 (ja) * 2008-05-09 2013-06-12 富士通株式会社 制御方法、計算機システム及び制御プログラム
US20100082960A1 (en) * 2008-09-30 2010-04-01 Steve Grobman Protected network boot of operating system
US8332490B2 (en) * 2009-04-13 2012-12-11 International Business Machines Corporation Method, apparatus and program product for provisioning a computer system
US8505103B2 (en) * 2009-09-09 2013-08-06 Fujitsu Limited Hardware trust anchor
US8463873B2 (en) * 2010-03-30 2013-06-11 Lenovo (Singapore) Pte. Ltd. Streaming client system base images
US20110246778A1 (en) * 2010-03-31 2011-10-06 Emc Corporation Providing security mechanisms for virtual machine images
US8782387B2 (en) * 2011-12-31 2014-07-15 International Business Machines Corporation Secure boot of a data breakout appliance with multiple subsystems at the edge of a mobile data network

Also Published As

Publication number Publication date
US8843650B2 (en) 2014-09-23
US20130179669A1 (en) 2013-07-11
JP2013143143A (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
JP6301582B2 (ja) 信頼されるネットワーク・ブートのシステムおよび方法
US10771264B2 (en) Securing firmware
JP6044362B2 (ja) 仮想マシン内でトラストチェーンを構築する方法
US11283602B2 (en) Provisioning authentication keys in computer processor
KR102110273B1 (ko) 체인 보안 시스템들
US9621347B2 (en) Systems and methods for securely provisioning the geographic location of physical infrastructure elements in cloud computing environments
US11206141B2 (en) Merging multiple compute nodes with trusted platform modules utilizing provisioned node certificates
US12393691B2 (en) Securing node groups
US9208292B2 (en) Entering a secured computing environment using multiple authenticated code modules
CN110069316B (zh) 实体的完整性验证
US12204628B2 (en) Management controller-based verification of platform certificates
US11017090B2 (en) Verification of a state of a platform
JP7100201B2 (ja) トラステッドコンピューティング方法およびサーバ
TW201342106A (zh) 針對信賴供應而保全裝置環境的技術
CN112236770B (zh) 用于数据处理的方法、设备和系统
CN105164633A (zh) 由可信提供商进行的配置和验证
JP6769999B2 (ja) セキュア計算環境
US20170180139A1 (en) Key revocation
US20110161648A1 (en) Software loading method and apparatus
CN113454625A (zh) 安全性切片的安全性状态
CN116866028B (zh) 一种安全检测方法、系统、设备及存储介质
CN115130106A (zh) 一种通过fTPM实现可信启动的方法及相关装置
US12524260B2 (en) Measurements of virtual machines
CN120197170A (zh) 计算机系统启动方法、装置、计算机系统、介质及产品

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 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170217

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170301

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180301

R150 Certificate of patent or registration of utility model

Ref document number: 6301582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees