JP6022718B2 - 信頼されるプロバイダによるコンフィギュレーションおよび検証 - Google Patents

信頼されるプロバイダによるコンフィギュレーションおよび検証 Download PDF

Info

Publication number
JP6022718B2
JP6022718B2 JP2015561508A JP2015561508A JP6022718B2 JP 6022718 B2 JP6022718 B2 JP 6022718B2 JP 2015561508 A JP2015561508 A JP 2015561508A JP 2015561508 A JP2015561508 A JP 2015561508A JP 6022718 B2 JP6022718 B2 JP 6022718B2
Authority
JP
Japan
Prior art keywords
data
configuration
computing
instance
code
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
JP2015561508A
Other languages
English (en)
Other versions
JP2016510960A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2016510960A publication Critical patent/JP2016510960A/ja
Application granted granted Critical
Publication of JP6022718B2 publication Critical patent/JP6022718B2/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

(関連出願の相互参照)
本願は、2013年3月4日に出願された米国特許出願第13/784,276号の利益を主張し、その開示は全体として参照することにより本明細書に組み込まれる。
データセンタは、コンピュータシステム並びに多様なネットワーキング構成要素、記憶構成要素、および他の関係する構成要素を収容する施設である。データセンタは、例えば、遠隔コンピューティングサービスとして企業および個人に対してコンピューティングサービスを提供してよい、または「サービスとしてのソフトウェア」(例えば、クラウドコンピューティング)を提供してよい。データセンタによって提供されるコンピューティングリソースは、例えばデータ処理リソース、データ記憶リソース、データ通信リソース等の多様なタイプのリソースを含んでよい。
データセンタリソースの活用増加を容易にするために、仮想化技術は単一の物理コンピューティングマシンが、接続されているコンピュータユーザーにとって独立したコンピュータマシンとして見え、独立したコンピュータマシンとして動作する仮想マシンの1つまたは複数のインスタンスをホストできるようにしてよい。仮想化を用いると、単一の物理コンピュータデバイスは、動的に仮想マシンを作成、維持、または削除できる。データセンタのカスタマが新しい仮想マシンインスタンスを要求するとき、データセンタは新しいインスタンスを実行するための「スロット」を識別する仮想マシン管理サービスを提供してよい。カスタマは特定のコンフィギュレーションで仮想マシンインスタンスを要求することがある。いくつかの場合、コンフィギュレーションは、カスタマによってまたはサードパーティサプライヤによって提供されるソフトウェアおよびデータを含んでよい。
図面を通して、参照番号は、参照される要素間の一致を示すために再利用されてよい。図面は、本明細書に説明される実施形態を示すために提供され、本開示の範囲を制限することを意図していない。
本開示に係るコンフィギュレーション検証サービスを提供するための機構を示す図である。 いくつかの実施形態で使用されてよい例のコンピュータシステムを示す図である。 本開示に係るコンフィギュレーション検証サービスを提供するための機構を示す図である。 本開示に係る監査レコードを示す図である。 本開示に係るコンフィギュレーション検証サービスを提供するための機構を示す図である。 本開示に係るコンフィギュレーション検証サービスを提供するための例の手順を示すフローチャートである。 本開示に係るコンフィギュレーション検証サービスを提供するための例の手順を示すフローチャートである。
信頼されるプラットホームの活用および検証のためのハードウェア技術およびソフトウェア技術が概して本明細書に説明される。コンピューティングリソースが既知のコンフィギュレーションまたは所望されるコンフィギュレーションであることを、コンピューティングリソースサービスプロバイダによって確証するためのシステムおよび方法の実施形態が説明される。例えば、仮想マシンが既知のコンフィギュレーションにブートされた旨の確認が提供されてよい。多様な実施形態では、データセンタ等のコンピューティングリソースサービスプロバイダは、ロードプロセスおよびコンフィギュレーションプロセスと対話して信頼されるサードパーティにコンフィギュレーションのバリデーションを与える信頼されるサードパーティとしての機能を果たしてよい。いくつかの実施形態では、サードパーティバリデーションは、データセンタで実行中のプロセスによって提供されてよい。例えば、ブートプロセスと対話して、帯域外で照会できるロード検証サービスまたはコンフィギュレーション検証サービスが実装されてよい。ロード検証サービスまたはコンフィギュレーション検証サービスは、要求されたバーチャルリソースのプロビジョニング、ブートローダをセットアップすること、およびバーチャルリソースと対話することに責任があることがある。ブートローダはロード検証サービスまたはコンフィギュレーション検証サービスと通信して、検出されたコンフィギュレーションを記録または監査してよい。ブートローダによって提供される値は、通常、ライトワンスであり、システムをリブートすることによってだけリセットされる。ロード検証サービスまたはコンフィギュレーション検証サービスはロードされたファイルの暗号チェックサムを生成、および提供してもよい。ロード検証サービスまたはコンフィギュレーション検証サービスはチェックサム値およびブートコンフィギュレーションを認可された関係者に提供し、認可された関係者が独自の検証方法に頼ることなくバーチャルリソースのブートコンフィギュレーションの整合性を決定できるようにする。
図1は、本開示に係るロード検証サービスまたはコンフィギュレーション検証サービスを提供するための機構を含むシステム100を示す図である。本開示では、ロード検証サービスは、サードパーティ検証サービスまたはコンフィギュレーション検証サービスと呼ばれることもある。該用語は、交互に用いられてよい。図1を参照すると、システム100は、1つまたは複数のサーバコンピュータ130および140上で実行してよい仮想マシンインスタンス110および120を含んでよい。いくつかの実施形態が、システム100の追加のサーバコンピュータ上でインスタンス化されてよい追加の仮想マシンインスタンスを含むことがあることが理解される。
図1は、コンピュータ160および170等の1つまたは複数のコンピュータデバイスを含んでよい公衆網150も示す。一実施形態に従って、仮想マシンインスタンス110は、ゲートウェイ190並びにコンピュータ160および170を介して公衆網150のコンピュータユーザー(不図示)にコンピューティングサービスを提供するように構成されてよい。例えば、仮想マシンインスタンス110は、例えば企業カスタマの従業員であってよいユーザーのグループに対しリモートアクセス企業アプリケーションのセットを提供してよい。
カスタマ、ユーザー、管理者、またはシステム100の任意のコンピューティングリソースは、特定のソフトウェアコンフィギュレーションでリソースインスタンスを要求してよい。一実施形態では、ブートプロセスおよびロードプロセスと対話するコンフィギュレーション検証サービス180が提供されてよい。要求されたバーチャルリソースはシステム100によってプロビジョニングすることができ、コンフィギュレーション検証サービス180はバーチャルリソースと対話するように構成されてよい。例えば、インスタンスマネージャ(例えば、ハイパーバイザまたはDom0)は、ブート中に仮想マシンにロードされたファイルを識別し、検出されたコンフィギュレーションを追跡調査し、ファイルのリストを報告する、またはファイル自体をコンフィギュレーション検証サービス180に送信できる。同様に、インスタンスを起動するために使用されるブートローダは、コンフィギュレーション検証サービス180と通信して、検出されたコンフィギュレーションを追跡調査し、報告するように構成されてよい。一実施形態では、インスタンスマネージャまたはコンフィギュレーション検証サービス180は、ロードされたファイルの監査を提供し、チェックサムを生成してよい。コンフィギュレーション検証サービス180は監査結果およびチェックサム値を認可された関係者に提供し、認可された関係者がバーチャルリソースのブートコンフィギュレーションの整合性を検証できるようにする。コンフィギュレーション検証を提供することによって、システム100はある特定のコンフィギュレーションの信頼される確認を効率的に提供できる。信頼される確認は、データセンタのカスタマによって、データセンタの管理者、特定のソフトウェア製品のプロバイダまたはベンダ、またはサーバ130等のデータセンタ内の任意のコンピューティングリソースによって直接的に要求されてよい。サーバ130は、それ自体の代わりにまたは他のサーバの代わりに要求を送信してもよい。
本開示の多様な態様は、本開示を説明することを目的とするが、本開示を制限することを目的としない、特定の実施例および実施形態に関して説明される。
データセンタは、多様なタイプのクラウドベースのコンピューティングまたは記憶等の、インターネットを介してアクセス可能な1つまたは複数のサービスを、分散されたクライアントのセットに提供してよい。データセンタは、物理コンピュータサーバおよび仮想コンピュータサーバ、記憶デバイス、ネットワーキング設備等の集合体等の、データセンタによって提供されるサービスを実装し、分散するために必要とされる多様なリソースプールをホストしてよい。また、データセンタは、カスタマがユーザーによって定義されるバーチャルネットワークでコンピューティングリソースを起動してよいそのデータサービスの私設のセクションおよび隔離されたセクションも提供してよい。いくつかの実施形態では、ネットワークインタフェース仮想化サービスの機能性の異なる部分が、プロバイダネットワークの多様なハードウェアプラットホームで実行中のハイパーバイザまたはオペレーティングシステムのモジュール、エッジデバイスのルータソフトウェア等のいくつかの異なる協調するソフトウェア構成要素および/またはソフトウェアデバイスの中に組み込まれてよい。
一実施形態では、データセンタはカスタマに、それぞれがカスタマがリソースと対話できるようにするためのネットワークアドレス可能性を必要とすることがある、仮想化されたコンピュータリソースおよび/または記憶リソースの1つまたは複数のインスタンスを提供してよい。
図2は、本明細書に説明される実施形態が実装されてよい例のコンピューティング環境を示す。図2は、通信ネットワーク230を介して(本明細書では単数で「1つのコンピュータ202」と、または複数形で「コンピュータ202」と呼ばれることがある)ユーザーコンピュータ202aおよび202bを介して(本明細書では単数で「1人のユーザー200」と、または複数形で「ユーザー200」と呼ばれることがある)ユーザー200aおよび200bにコンピューティングリソースを提供できるデータセンタ210の例を概略で示す図である。データセンタ210は、恒久的に、または必要に応じてアプリケーションを実行するためのコンピューティングリソースを提供するように構成されてよい。データセンタ210によって提供されるコンピューティングリソースは、データ処理リソース、データ記憶リソース、データ通信リソース等の多様なタイプのリソースを含んでよい。各タイプのコンピューティングリソースは汎用であってよい、またはいくつかの特定のコンフィギュレーションで利用可能であってよい。例えば、データ処理リソースは仮想マシンインスタンスとして利用可能であってよい。インスタンスは、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含むアプリケーションを実行するように構成されてよい。データ記憶リソースは、ファイル記憶デバイス、ブロック記憶デバイス等を含んでよい。
コンピューティングリソースの各タイプまたはコンフィギュレーションは―多くのプロセッサ、大量のメモリ、および/または大きな記憶容量から成る―大型リソース、およびより少ない数のプロセッサ、より少量のメモリ、および/またはより小さい記憶容量から成る−小型リソース等の異なるサイズで使用可能であってよい。カスタマは、ウェブサーバとしてのいくつかの小型処理リソースおよび/または例えばデータベースサーバとしての1つの大型処理リソースを割り当てることを選んでよい。
データセンタ210は、(本明細書では単数で「1つの仮想マシンインスタンス218」または複数で「仮想マシンインスタンス218」と呼ばれることがある)仮想マシンインスタンス218aおよび218bとして使用可能なコンピューティングリソースを提供する(本明細書では単数で「1つのサーバ216」または複数で「サーバ216」として呼ばれることがある)サーバ216aおよび216bを含んでよい。仮想マシンインスタンス218は、ウェブサーバ、アプリケーションサーバ、メディアサーバ、データベースサーバ等を含むアプリケーションを実行するように構成されてよい。提供されてよい他のリソースはデータ記憶リソース(不図示)を含み、ファイル記憶デバイス、ブロック記憶デバイス等を含むことがある。
コンピューティングハードウェアに対する仮想化技術の可用性は、カスタマに大規模なコンピューティングリソースを提供し、コンピューティングリソースを複数のカスタマ間で効率的に且つ安全に共用できるようにするための利点を提供してきた。例えばVMwareまたは他の仮想化システムによって提供される技術等の仮想化技術は、物理コンピュータデバイスによってホストされる1つまたは複数の仮想マシンインスタンスを各ユーザーに提供することによって物理コンピュータデバイスを複数のユーザー間で共用できるようにしてよい。仮想マシンインスタンスは、別個の論理コンピューティングシステムとしての機能を果たすある特定の物理コンピューティングシステムのソフトウェアエミュレーションであってよい。係る仮想マシンインスタンスは、所与の物理コンピューティングリソースを共用する複数のオペレーティングシステムの間で隔離を提供する。さらに、いくつかの仮想化技術は、単一の仮想マシンインスタンス等の1つまたは複数の物理リソースに及ぶバーチャルリソースを、複数の異なる物理コンピューティングシステムに及ぶ複数の仮想プロセッサに提供してよい。
図2を参照すると、通信ネットワーク230は、例えば、リンクされたネットワークの公にアクセス可能なネットワークであってよく、おそらくインターネット等の多様な異なる関係者によって運営されてよい。他の実施形態では、通信ネットワーク230は、全体的にまたは部分的に非特権ユーザーがアクセスできない、例えば企業ネットワークまたは大学ネットワーク等のプライベートネットワークであってよい。さらに他の実施形態では、通信ネットワーク230は、インターネットへおよび/インターネットからのアクセスを備えた1つまたは複数のプライベートネットワークを含んでよい。
通信ネットワーク230は、コンピュータ202へのアクセスを提供してよい。ユーザーコンピュータ202は、ユーザー200またはデータセンタ210の他のユーザーによって活用されるコンピュータであってよい。例えば、ユーザーコンピュータ202aまたは202bは、サーバ、デスクトップ型パソコンもしくはラップトップ型パソコン、タブレットコンピュータ、無線電話、パーソナルデジタルアシスタント(PDA)、電子書籍リーダ、ゲーム機、セットトップボックス、またはデータセンタ210にアクセスできる任意の他のコンピュータデバイスであってよい。ユーザーコンピュータ202aまたは202bは、(例えば、ケーブルモデルまたはデジタル加入者回線(DSL)を介して)インターネットに直接的に接続してよい。2つのユーザーコンピュータ202aおよび202bしか示されていないが、複数のユーザーコンピュータがある可能性があることが理解されるべきである。
また、ユーザーコンピュータ202は、データセンタ210によって提供されるコンピューティングリソースの態様を構成するために活用されてもよい。この点で、データセンタ210は、その動作の態様がユーザーコンピュータ202上で実行中のウェブブラウザアプリケーションプログラムを使用することによって構成されてよい、ウェブインタフェースを提供する可能性がある。代わりに、ユーザーコンピュータ202で実行中のスタンドアロンアプリケーションプログラムは、コンフィギュレーション動作を実行するためにデータセンタ210によって曝露されるアプリケーションプログラミングインタフェース(API)にアクセスする可能性がある。アプリケーションに更新を配備することを含む、データセンタ210の動作を構成するための他の機構も活用される可能性がある。
図2に示されるサーバ216は、上述されたコンピューティングリソースを提供するために適切に構成された標準サーバであってよく、1つまたは複数のアプリケーションを実行するためのコンピューティングリソースを提供してよい。一実施形態では、コンピューティングリソースは、仮想マシンインスタンス218であってよい。仮想マシンインスタンスの例では、サーバ216のそれぞれが、仮想マシンインスタンス218を実行できる(本明細書では単数で「1つのインスタンスマネージャ220」と、または複数形で「インスタンスマネージャ220」と呼ばれることがある)インスタンスマネージャ220aまたは220bを実行するように構成されてよい。インスタンスマネージャ220は、仮想マシンモニタ(VMM)または例え仮想マシンインスタンス218のサーバ216上での実行を可能にするように構成された別のタイプのプログラムであってよい。上述されるように、仮想マシンインスタンス218のそれぞれは、アプリケーションのすべてまたは一部を実行するように構成されてよい。
上記に開示されている実施形態が仮想マシンインスタンスのコンテキストを説明しているが、他のタイプの実装が本明細書に開示される概念および技術で活用できることが理解されるべきである。例えば、本明細書に開示される実施形態は、仮想マシンインスタンスを活用しないコンピューティングシステムと活用される可能性もある。
図2に示される例のデータセンタ210では、ルータ214は、サーバ216aおよび216bを相互接続するために活用されてよい。ルータ214は、通信ネットワーク230に接続されるゲートウェイ220に接続されてもよい。ルータ214は、データセンタ210のネットワーク内の通信を、例えば係る通信の特徴(例えば、ソースアドレスおよび/または宛先アドレス、プロトコル識別子等を含むヘッダ情報)、および/またはプライベートネットワークの特徴(例えば、ネットワークトポロジに基づいたルート等)に基づいて適宜にパケットまたは他のデータ通信を転送することによって管理してよい。簡略にするために、この実施例のコンピューティングシステムおよび他のデバイスの多様な態様は、特定の従来の詳細を示すことなく説明されることが理解される。追加のコンピューティングシステムおよび他のデバイスは、他の実施形態で相互接続されてよく、異なる方法で相互接続されてよい。
図2に示されるネットワークトポロジが大いに簡略化されていること、並びにさらに多くのネットワークおよびネットワーキングデバイスが本明細書に開示される多様なコンピューティングシステムを相互接続するために活用され得ることが理解されるべきである。これらのネットワークトポロジおよびデバイスは当業者に明らかとなるべきである。
図2に説明されるデータセンタ210が例示的にすぎないこと、および他の実装が活用される可能性があることも理解されるべきである。さらに、本明細書に開示される機能性は、ソフトウェア、ハードウェア、またはソフトウェアおよびハードウェアの組合せで実装される可能性があることが理解されるべきである。他の実装は、当業者に明らかになるべきである。サーバ、ゲートウェイ、または他のコンピュータデバイスは、デスクトップコンピュータもしくは他のコンピュータ、データベースサーバ、ネットワーク記憶デバイスおよび他のネットワークデバイス、PDA、タブレット、携帯電話、無線電話、ページャ、電子手帳、インターネット機器、(例えば、セットトップボックスおよび/またはパーソナル/デジタルビデオレコーダを使用する)テレビベースのシステム、並びに適切な通信機能を含む多様な他の消費者向け製品を制限なく含む、対話し、説明されているタイプの機能性を実行できるハードウェアまたはソフトウェアの任意の組合せを含んでよいことも理解されるべきである。さらに、示されているモジュールによって提供される機能性は、いくつかの実施形態ではより少ないモジュールで組み合されてよい、または追加のモジュールで分散されてよい。同様に、いくつかの実施形態では、示されているモジュールのいくつかの機能性は、提供されないことがある、および/または他の追加の機能性が使用可能であってよい。
データセンタ210によって提供される購入済みのコンピューティングリソースの容量は、需要に応えてスケーリングされてよい。この点で、スケーリングは、(本明細書では「起動する」または「作成する」と呼ばれることもある)インスタンス化する、または需要に応えてコンピューティングリソースのインスタンスを(本明細書では「デスケーリング(de-scaling)」と呼ばれることがある)終了するプロセスを指す。このようにして、データセンタ210のカスタマによって購入されるリソースの容量は、オンデマンドでスケーリングできる。
自動スケーリングは、これらのリソースの需要の増加または一時的休止に応えてコンピューティングリソースをスケーリングするための1つの機構である。自動スケーリングは、データセンタ210のカスタマがデータセンタ210を構成して、カスタマによって定められた条件に従って購入したコンピューティングリソースをスケーリングできるようにする。例えば、規則は、需要の急増等の指定された条件の発生に応えて特定の方法で容量を拡大するために定められてよい。同様に、規則は需要の一時的休止等の他の条件の発生に応えて特定の方法で容量を縮小するために定められる可能性もある。仮想マシンインスタンスを起動するための本明細書に開示される機構は、インスタンスがカスタマによって手動で起動されるとき、またはインスタンスがデータセンタ210の自動スケーリング構成要素によって起動されるときに活用される可能性がある。
また、データセンタ210は、コンピューティングリソースの新しいインスタンスの配備においてカスタマを支援するように配備構成要素と構成されてもよい。配備構成要素は、新しいインスタンスがどのようにして構成されるべきであるのかを説明するデータを含むコンフィギュレーションをカスタマから受け取ってよい。例えば、コンフィギュレーションは、新しいインスタンスでインストールされる必要がある1つまたは複数のアプリケーションまたはソフトウェア構成要素を指定し、新しいインスタンスで実行されるスクリプトおよび/または他のタイプのコードを提供し、アプリケーションキャッシュがどのように準備される必要があるのかを指定するキャッシュ警告論理、および他のタイプの情報を提供する可能性がある。配備構成要素は、カスタマによって提供されるコンフィギュレーションおよびキャッシュ警告論理を活用して、コンピューティングリソースの新しいインスタンスを起動、構成、および準備する。
多くの場合に、データセンタのカスタマ、またはデータセンタへのソフトウェアもしくはデータのサプライヤが、指定されたコンピューティングコンフィギュレーションが修正されていない、または改ざんされていない旨の検証を要求することがある。例えば、カスタマは、指定された運用システムがロードされている旨の保証を受け取ることを望むことがある。いくつかの実施形態では、カスタマは特定のソフトウェアプリケーションがロードされ、改ざんされていない旨の保証を受け取ることを望むことがある。例えば、クラウドコンピューティングシステムを提供するデータセンタは、係る保証を提供するための有利な位置にいることがある。サービスプロバイダまたはデータセンタは、通常、コンピューティングインフラストラクチャを所有し、運用する。一方、コンテンツプロバイダはサービスプロバイダまたはデータセンタにソフトウェアおよび/またはデータを提供するにすぎないことがある。ソフトウェアおよびコンテンツをデータセンタおよびクラウドベースサービスに分散するコンテンツプロバイダ等の多くのソフトウェア/データサプライヤは、データセンタによって提供されるコンピューティングサービスおよびクラウドベースサービスが、データロード整合性、特定のデータを処理する能力等の特定の基準を満たす旨の保証を要求することがある。
バーチャルサービスを提供するクラウドベースサービスでは、ソフトウェア/データロードプロセスに関するサービスプロバイダの位置が、クライアントによっておよびクライアントのために信頼されるサービスを提供する位置にプロバイダを置く。多くの組織および企業は、コンピューティングサービスおよび情報サービスを提供して自らの日常業務をサポートするために、サービスプロバイダによって提供されるコンピューティングリソースに依存する。コンピューティングサービスの継続的且つ信頼性が高い可用性は、企業の継続中の業務にとって重要であるので、サービスプロバイダによって提供されるコンピューティングサービスは企業にとってきわめて重要である。セキュリティは、サービス信頼性のためだけではなく、カスタマの貴重な情報および専有情報の保護にとっても重要事項である。したがって、カスタマが、データセンタによって提供されるコンピューティングサービスの信頼性およびセキュリティを信頼することができることが必要である。例えば、カスタマが指定されたオペレーティングシステムのインストールを要求する場合、クラウドベースサービスは、指定されたオペレーティングシステムで仮想マシンを起動すると信頼されている。カスタマがクラウドベースサービスにサインアップするときに想定される信頼は、このようにして、サービスプロバイダの評判を利用することによって、サービスプロバイダによって提供される信頼されるサービスを介してサードパーティに対してその信頼を譲渡できるようにするために利用され得る。例えば、サービスプロバイダはカスタマのソフトウェアコンフィギュレーションを監査および検証し、コンフィギュレーションの整合性を検証するサードパーティに対する信任状として使用できる一意の識別子をコンフィギュレーションに与えることができる。サービスプロバイダはこのようにして、サービスプロバイダのリソース上で自らのソフトウェアをホストするカスタマによって提供されるサービスに関して監査人の役割を担う。
一実施形態では、カスタマはインスタンスを要求し、特定のソフトウェアコンフィギュレーションおよびデータが配備されることを要求することがある。データセンタのサーバオペレータは、インスタンスにカスタマの要求したソフトウェアおよびデータをロードする任務を負うことがある。さらに、カスタマは、データセンタが監査証明書を提供することを要求できる。監査証明書は、いくつかの実施形態ではデジタル証明書であってよいが、電子的であるのか、それともそれ以外であるのかに関わりなく任意のタイプの証明書が提供され得ることが理解できる。監査証明書は、次いで何が配備されたのかを検証するためにサードパーティに提示されてよい。サードパーティはサービスプロバイダを信頼しているので、監査証明書は配備されたソフトウェアおよび/またはデータの確認として受け入れられてよい。
したがって、多様な実施形態では、サービスプロバイダは、何が配備されたのかを検証する信頼される関係者の機能を果たし、配備の信頼される検証を提供するための手段を提供してよい。いくつかの実施形態では、サービスプロバイダによるサービスとして運用されるリソースを使用するカスタマは、インスタンスが、サービスプロバイダによってロードされ、検証されるソフトウェアを活用していることをそのユーザーに確認するために上述された監査証明書の仕組みを使用してよい。例えば、デジタルビデオサービスまたはミュージックサービスを提供するカスタマは、ファイルの不正コピーを防止しつつ、ビデオファイルまたはミュージックファイルをレンダリングするためにそのユーザーに専門のメディアプレーヤーソフトウェアを提供してよい。ビデオプロバイダまたはミュージックプロバイダに、ユーザーが改ざんされていない合法的なレンダリングソフトウェアを使用している旨の保証を与えるために、サービスプロバイダは、サービスプロバイダのコンピューティングリソース上でホストされるレンダリングソフトウェアのインスタンスが既知のコンフィギュレーションにロードされ、検証されていることを保証するために、ビデオプロバイダまたはミュージックプロバイダに監査証明書を提供してよい。
このようにして、ソフトウェアおよびデータを配備するコンピューティングハードウェアの所有者/運用者として、サービスプロバイダは、コンフィギュレーション整合性ベリファイヤーを計算する等の検証方法論を使用して、配備されたソフトウェアおよびデータを監査できる。一実施形態では、ロードされたソフトウェアおよびデータのチェックサムが計算されてよい。チェックサムは、伝送または記憶中のデータの変更またはエラーを検出するために使用できる、データのブロックから計算される値である。送信されたデータまたは記憶されたデータの整合性は、チェックサムを計算し直し、それを、インスタンスを起動するために使用されるファイルの既知の状態または予想状態のチェックサムを表す記憶されているチェックサムと比較することによってチェックされる。他の実施形態では、ハッシュ関数および指紋等の他の検証方法論を使用できる。
サービスプロバイダのカスタマは喜んで、信頼されるユーザーにデータをダウンロードする、またはそれ以外の場合、信頼されるユーザーと対話するにすぎない可能性があるので、サービスプロバイダによって提供されるコンフィギュレーション整合性ベリファイヤーは、信頼できるデータ整合性機構を提供することによって係る信頼を提供できる。このようにして、本明細書に説明される信頼モデルは、3つの関係者―サービスプロバイダ(信頼プロバイダ)、サービスプロバイダのカスタマ(信頼要求者)、およびサービスプロバイダのカスタマの製品またはサービスのエンドユーザー―の間で信頼機構を提供してよい。一実施形態では、通常コンピューティングハードウェアを所有し、運用するサービスプロバイダは、カスタマが提供するソフトウェアコンフィギュレーションを受け取ってよい。サービスプロバイダは、チェックサム等のデータ整合性機構を使用してカスタマによって要求されるバーチャルリソースにロードされるものを記録または監視してよい。ソフトウェアコンフィギュレーションがロードされるとき、またはエンドユーザーがバーチャルリソースと対話する前等、それ以外の場合、カスタマによって要求されるとき、チェックサムはサービスプロバイダによってカスタマに提供されてよい。また、サービスプロバイダは、テンプレートおよびロードされたファイルの名前を含む監査ログ等の他の情報を提供してもよい。サービスプロバイダはサードパーティ要求者によって必要とされるすべての検証を提供できるので、ソフトウェアコンフィギュレーションでインスタンスを要求したカスタマは、あらゆるサードパーティ要求者にどのような追加検証も提供する必要はない。
一実施形態では、監査情報はサービスプロバイダからサードパーティ要求者に送信でき、このようにしてサードパーティ要求者が直接的にサービスプロバイダからの監査およびチェックサムの情報に頼ることができるようにする。サードパーティ要求者は、サービスプロバイダから受け取られたチェックサムおよび他の情報が、サードパーティ要求者が予想するものに一致することを検証してよい。いくつかの実施形態では、サードパーティ要求者は、ハードディスク画像、ブートローダ、ブートローダコンフィギュレーション、ハードウェアコンフィギュレーション(例えば、プロセッサおよびメモリ)等の、仮想マシンをインスタンス化するための詳細な情報のセットを提供してよい。
チェックサムは、本明細書に開示される実施形態で使用され得るデータ整合性機構の一実施例である。言及されたように、ハッシュ関数または指紋アルゴリズム等のデータ整合性を検証するためのどのような機構も使用できる。一実施形態では、公開鍵基盤(PKI)が使用されてよい。いくつかの実施形態では、信頼されるプラットホームモジュール関数がコンピュータデバイスと含まれてよい。信頼されるプラットホームモジュールは、信頼されるプラットホームモジュール、したがって物理ホストを一意に識別する承認秘密鍵を含んでよい。また、信頼されるプラットホームモジュールは、暗号関数も含んでよい。ハードウェア製造業者は、信頼されるプラットホームモジュールの整合性、および鍵の有効性を保証するために対応する公開鍵に署名してよい。信頼されるプラットホームは、検証を可能にするために信頼されるプラットホームモジュールの機能を利用してよい。例えば、ブート時、ホスト(例えば、インスタンスマネージャ)はブートシーケンスに含まれるソフトウェアのハッシュから成る測定リストを計算してよい(例えば、BIOS、ブートローダ、およびプラットホームを実装するソフトウェア)。測定リストは、ホストの信頼されるプラットホームモジュールの内部に安全に記憶されてよい。コンフィギュレーション検証サービス180に対して確認を提供するために、サービスはノンス(例えば、暗号通信に署名するために使用されるシーケンス)を使ってホストにチャレンジしてよい。コンフィギュレーション検証サービス180は、信頼されるローカルプラットホームモジュールに、測定リストとノンスの両方を含んだメッセージを作成するように要求してよい。メッセージは、信頼されるプラットホームモジュールの秘密鍵で暗号化されてよい。ホストは、次いで、秘密鍵の対応する公開鍵を使用してメッセージを解読してよいコンフィギュレーション検証サービス180にメッセージを送信し、それによってホストを認証してよい。コンフィギュレーション検証サービス180は、次いで検証されたリストを記憶し、検証されたリストまたは少なくとも部分的に検証されたリストに基づいた情報をサードパーティ要求者に送信してよい。ノンスが一致すること、および測定リストが、信頼されると見なされるコンフィギュレーションに相当することをチェックすることによって、サードパーティ要求者は、信頼されていないホストでプラットホームを識別できる。信頼されるプラットホームモジュールを使用することによって、コンテンツのプロバイダは、コンテンツが改ざんされていないまたは改変されていない信頼されるデバイスだけにダウンロードされることを保証されてよい。
いくつかの実施形態では、追加の、つまり第四者が、検証の任意選択のまたは追加のレベルを提供するための検証サービスとして使用されてよい。例えば、第四者ベリファイヤーは、サービスプロバイダが確実なロードプロセスおよび検証プロセスを利用しており、信頼されるべきであることを監査し、検証してよい。
図3は、コンフィギュレーション検証サービスが提供される一実施形態を示す。図3は、仮想マシンインスタンス302、304、306、および308を含む。図中、仮想マシンインスタンス302は、ファイルA、B、G、およびH、並びにチェックサムを含む。仮想マシンインスタンス304は、ファイルA、B、C、D、E、およびF、並びにチェックサムを含む。仮想マシンインスタンス306は、ファイルAおよびB、並びにチェックサムを含む。仮想マシンインスタンス308は、ファイルG、H、M、およびN、並びにチェックサムを含む。仮想マシンインスタンス302、304、306、および308のそれぞれは、それぞれのソフトウェアコンフィギュレーション312、314、316、および318と関連付けられてよい。一実施例として、ソフトウェアコンフィギュレーション312は、特定のオペレーティングシステムを含んでよい。
図4は、監査レコード400の実施例を示す。図4に示される要素またはフィールドのサブセットは、いくつかの実施形態で実装されてよく、すべての実装されたフィールドがポピュレートされるわけではないことがある。監査レコード400が作成されると、監査レコード400を一意に識別するために使用されてよい新しい監査ID401が作成されてよい。いくつかの実施形態では、記述フィールド402がユーザーまたは管理者によって提供されてよい。監査レコードが使用されなければならないデータセンタネットワークは、いくつかの実施形態での仮想マシンインスタンス等の複数のコンピューティングリソースを含んでよい。音声レコード400は、係る場合リソースID403を含んでよい。例えば、プロバイダネットワークの運用者は、サービスプラットホームのセット、ネットワークアドレス範囲のセット、他の設備またはリソース、およびそのカスタマによる独占的な使用のためのネットワーク管理機能を別にすることによって特定のカスタマに論理パーティションを確立してよい。
カスタマID404は、リソースを要求したカスタマを識別するために使用されてよい。サードパーティID405は、監査レコード400のいくらかまたはすべてまたはコンテンツを要求することを許可されてよい1つまたは複数のサードパーティを識別してよい。一実施形態では、サードパーティが監査レコード400を要求し、受け取ることを許可する方針がカスタマによって作成されてよい。コンフィギュレーション検証サービス180は、監査レコードに対する要求を受け取って、方針が要求側サードパーティがレコードを見るまたは受け取ることを許可するかどうかを判断するために方針をチェックしてよい。
監査レコード400は、コンフィギュレーション検証サービス180のデジタルシグナチャ410を含んでよい。ファイルリスト440は、リソースID403によって識別されたリソースにロードされたファイル名等のデータのリストを含んでよい。例えば、ファイルリスト440は、ファイル450、451、452、および453を含んでよい。整合性ベリファイヤータイプ460は、ファイルリスト440のコンテンツを検証するために使用されるデータ整合性方法論のタイプを識別してよい。整合性ベリファイヤーデータ470は、整合性ベリファイヤーの値を記憶してよい。
一実施形態では、図4に示されるフィールドのいくつかは、他のオブジェクトに対するリファレンスまたはポインタによって置き換えられてよい。例えば、監査レコード400に対するデータは別個のデータオブジェクトに記憶されてよく、監査レコード400はデータオブジェクトに対するリファレンスを記憶してよい。
図5は、本書に説明される実施形態が実装されてよい実施例のコンピューティング環境を示す。図を参照すると、サーバコンピュータ502、510、520、および530は、ソフトウェアおよびデータの情報を監査できるように、コンフィギュレーション検証サービス504と通信してよい。監査情報は、サーバコンピュータ502、510、520、および530の内の1つのデータストアに、またはコンフィギュレーション検証サービス504(不図示)の一部であるデータストアに記憶されてよい。コンフィギュレーション検証サービス504は、いくつかの実施形態では、図1に示されるコンフィギュレーション検証サービス180に対応してよい。サーバコンピュータ502は、仮想マシンインスタンス506および508をホストしてよい。同様に、サーバコンピュータ510は、仮想マシンインスタンス512をホストしてよく、サーバコンピュータ520は仮想マシンインスタンス522、524、および526をホストしてよく、サーバコンピュータ530は仮想マシンインスタンス532をホストしてよい。
サーバコンピュータ502は、コンフィギュレーション検証サービス504に対して、仮想マシン532が起動される旨の表示を送信してよく、それに応じてコンフィギュレーション検証サービス504はコンフィギュレーション検証プロセスを開始してよい。コンフィギュレーション検証サービス504は、サーバコンピュータ502のロードプロセスおよびコンフィギュレーションプロセスと対話して、インスタンスを起動するために使用されるファイルおよびデータのレコードを生成してよい。さらに、コンフィギュレーション検証サービス504は、インストールされたファイルおよびデータに基づいてコンフィギュレーション整合性ベリファイヤーを生成してよい。別のコンフィギュレーションでは、サーバ502は仮想マシン506または508のためにインストールされたファイルおよびデータのレコードを生成し、記憶のためにコンフィギュレーション検証サービス504にレコードを送信してよい。コンフィギュレーション検証サービス504は、レコード、つまりレコードに基づいた情報をサードパーティに販売できる。一実施形態では、インスタンスマネージャはカスタマからの要求に応えてレコードを生成するように構成できる。例えば、カスタマは、コンフィギュレーション検証サービス504が特定のインスタンスのためにレコードを生成する旨のプリファレンスを示すために(コンソールまたはAPIを介して)サービスプロバイダに要求を提出できる。同様に、インスタンスを起動するとき、カスタマは、レコード生成が有効化されることを示すAPIコールにパラメータを追加できる。インスタンスがサービスプロバイダによって起動されるとき、レコードを生成する要求はホストに伝搬することができ、ホストは、同様にコンフィギュレーション検証プロセスを有効化できる。
いくつかの実施形態では、コンフィギュレーション検証に対する要求は、他のサーバコンピュータ510、520、および530の内の1つの代わりにサーバコンピュータ502からコンフィギュレーション検証サービス504に送信されてよい。他の実施形態では、サーバコンピュータ502、510、520、および530の内の1つで実行する、または別のコンピュータデバイスで実行するサービス等のサードパーティは、サーバコンピュータ502、510、520、および530の内の1つまたは複数の代わりに要求を送信してよい。
コンフィギュレーション検証サービス504は、分散型システムとして実装されてよく、1つまたは複数のサーバコンピュータ、および/または1つまたは複数のデータセンタの他のコンピューティングリソース上に常駐できる。コンフィギュレーション検証サービス504は、いくつかの実施形態では、VMMまたはデータセンタで実行する他の管理ソフトウェアによって管理されてよい。コンフィギュレーション検証サービス504は、1つまたは複数の仮想マシンで実行してもよい。
図6は、コンフィギュレーション検証サービスを提供するための実施例の操作手順を示す。一実施形態では、データセンタはカスタマに仮想化コンピュータリソースおよび/または記憶リソースの1つまたは複数のインスタンスを与えてよい。動作600中、カスタマは、バーチャルインスタンス等のコンピューティングリソースを要求し、特定のソフトウェアコンフィギュレーションおよびデータが配備されることを要求してよい。例えば、カスタマは、実行するアクション(例えば、RunInstances)および起動する画像を示す計算サービスにAPIコールを提出してよい。また、カスタマは画像のコンフィギュレーションの検証を要求してもよい。一実施形態では、カスタマはコンフィギュレーション検証情報をサードパーティに提供できるようにするための方針を作成してよい。方針は、サードパーティがコンフィギュレーション監査レコードへのアクセスを許されるのか、それとも単にコンフィギュレーション検証の結果へのアクセスを許されるのかも指定できる。検証コンフィギュレーションおよび/または方針に対する要求は、インスタンス画像に添付されるメタデータとして記憶されてよい。例えば図1に示されるネットコンフィギュレーション検証サービス180および/または図5に示されるコンフィギュレーション検証サービス504に対応する、上述されたコンフィギュレーション検証サービスが呼び出されてよい。動作610で、データセンタ(不図示)で実行中の配置サービスが、データセンタのコンピュータサーバ等の要求されたコンピューティングリソースを提供してよいリソースを識別してよい。
動作620で、要求されたコンピューティングリソースはオンラインにされてよい。要求されたコンピューティングリソースが仮想マシンである場合、次いで仮想マシンは識別されたサーバコンピュータでインスタンス化されてよい。動作622で、コンフィギュレーション検証メタデータは読み取られ、コンフィギュレーション検証機能性を有効化する要求が起動要求の一部としてホストにプッシュされてよい。動作624で、要求されたソフトウェアおよびデータがロードされてよい。一実施形態では、インスタンスの成功した起動は、カスタマにInstanceIDまたはInstanceIDにマッピングするなんらかの他のトークンを送信することを含んでよい。いくつかの実施形態では、トークンはInstanceIDの暗号化されたバージョンであってよい。
動作625で、ホストによってロードされているソフトウェアおよびデータは監査できる。例えば、インスタンスマネージャは、インスタンスによってロードされたソフトウェアファイルおよびデータを追跡調査し、情報を使用してレコードを生成できる。動作630では、チェックサム等の整合性ベリファイヤーを生成できる。例えば、インスタンスマネージャは、ロードされた各ファイルのために、および/またはブート手順の一部としてインスタンスによってロードされたファイルの集合体のためにチェックサムを生成することができる。代わりに、コンフィギュレーション整合性ベリファイヤーはコンフィギュレーション検証サービスによって生成できる。例えば、ブート動作中にブートするために使用されたファイルは、1つまたは複数のチェックサムを生成できるコンフィギュレーション検証サービスに送信することができる。本明細書に留意されるように、これらの動作のシーケンスは順次である必要はなく、平行して実行できる。例えば、コンフィギュレーション検証サービスは、ソフトウェアおよびデータがロードされている間に、ロードされたソフトウェアおよびデータを監査し、コンフィギュレーション整合性ベリファイヤーを生成してよい。
動作635で、検証要求が受け取られたかどうかが決定される。検証要求が受け取られた場合、次いで動作640で、instanceIDまたはトークンが検証を要求するサードパーティに提供されてよい。いくつかの実施形態では、サードパーティは検証についてAPIに照会し、APIを介してinstanceIDまたはトークンを渡してよい。カスタマによって生成された方針は、サードパーティが検証情報を受け取ることを許可されているかどうかを判断するためにチェックされてよい。方針に応じて、監査の結果および/またはコンフィギュレーション整合性ベリファイヤーが提供されてよい。
図7はコンピューティングコンフィギュレーションを検証するための実施例の操作手順を示す。図7を参照すると、動作700が操作手順を始める。動作700には動作702が続いてよい。動作702は、バーチャルリソースに対する要求、およびバーチャルリソースに対するコンフィギュレーションを受け取ることを示す。一実施形態では、要求は、コンピューティングリソースを提供する複数のコンピュータデバイスを含むコンピューティング環境で受け取られてよい。さらにおよび任意選択で、コンフィギュレーションは、少なくとも1つのソフトウェアコンフィギュレーションのプロバイダによって整合性検証が要求される少なくとも1つのソフトウェアコンフィギュレーションを含んでよい。
動作702には動作704が続いてよい。動作704は、バーチャルリソースに対する要求を受け取ったことに応えて、要求されたコンフィギュレーションに従って要求されたバーチャルリソースをインスタンス化することを示す。動作704には動作706が続いてよい。動作706は、インスタンス化されたバーチャルリソースを監査してロードされたソフトウェアおよびデータのレコードを生成することを示す。動作706には動作708が続いてよい。動作708は、ロードされたソフトウェアおよびデータのレコード、並びに要求されたコンフィギュレーションに基づいてコンフィギュレーション整合性ベリファイヤーを計算することを示す。
動作708には動作710が続いてよい。動作710は、ロードされたコンフィギュレーションの検証に対する要求が受け取られたかどうかを判断することを示す。要求が受け取られていない場合、次いで動作710には動作702が続いてよい。
ロードされたコンフィギュレーションの検証に対する要求が受け取られている場合、次いで動作710には動作712が続いてよい。動作712はコンフィギュレーション整合性ベリファイヤーを提供することを示す。一実施形態では、サービスプロバイダは、所与のインスタンスの整合性を照会するためのAPIを露呈し、インスタンスによって提供される機能性を使用する企業等のサードパーティは、インスタンスと対話する前にAPIにクエリーを提出してよい。APIと対話するとき、サードパーティはVerifyInstanceConfiguration等のアクションを指定し、インスタンスのInstanceID、インスタンスの公衆IPアドレス、および/またはパラメータとしてのトークンを渡すことができる。要求が受け取られた後、インスタンスコンフィギュレーションを検証する要求はコンフィギュレーション検証サービスに送ることができる。コンフィギュレーション検証サービスは、サードパーティからの要求を認証し、サードパーティがインスタンスのためのコンフィギュレーション情報を受け取ることを許可されているかどうかを判断できる。例えば、コンフィギュレーション検証サービスは、アイデンティティサービスと通信してサードパーティが十分な特権を有しているかどうかをチェックできる。サードパーティが十分な特権を有する場合、コンフィギュレーション検証サービスはサードパーティにレコードを送信できる。代わりに、コンフィギュレーション検証サービスは「真の」つまり「検証済みの」応答をサードパーティに戻すことができる。このコンフィギュレーションは、ソフトウェアが実際にロードされた内容の詳細がサードパーティに分散されないようにするために使用することができ、方針に指定できる。コンフィギュレーション整合性ベリファイヤーは、ロードされたソフトウェアおよびデータが要求されたコンフィギュレーションを提供する旨の信頼されるサードパーティ検証として使用され得る。例えば、少なくとも1つのソフトウェアコンフィギュレーションのプロバイダによる検証に対する要求に応えて、またはインスタンス化されたバーチャルリソースのユーザーによる少なくとも1つのソフトウェアコンフィギュレーションの検証に対する要求に応えて、コンフィギュレーション整合性ベリファイヤー、および監査済みのインスタンス化されたバーチャルリソースに関する情報、並びにロードされたソフトウェアおよびデータのレコードが、少なくとも1つのソフトウェアコンフィギュレーションのプロバイダに送信される。
本開示の実施形態は以下の節を鑑みて説明できる。
1.コンピューティングシステムであって、
少なくとも1つのコンピュータデバイスと、
少なくとも1つのコンピュータデバイスと通信する少なくとも1つのメモリであって、コンピューティングシステムによる実行時に、コンピューティングシステムに少なくとも
インスタンスに対する要求を受け取らせる、
コンピュータ可読命令をその上に記憶している少なくとも1つのメモリと、
含み、
インスタンスに対する要求を受け取ることに応えて、要求されたインスタンスをインスタンス化することであって、要求されたインスタンスをインスタンス化することはオペレーティングシステムソフトウェアまたはデータをロードすることを含む、要求されたインスタンスをインスタンス化することと、
ロードされたオペレーティングシステムソフトウェアまたはデータのレコードを生成するためにインスタンスを監査することと、
ロードされたオペレーティングシステムソフトウェアまたはデータのレコード、およびインスタンスのためのコンフィギュレーションに基づいてコンフィギュレーション整合性ベリファイヤーを計算することと、
オペレーティングシステムソフトウェアまたはデータの検証に対する要求に応えて、コンフィギュレーション整合性ベリファイヤー、監査済みのインスタンス化されたインスタンスに関する情報、およびオペレーティングシステムソフトウェアまたはデータがインスタンスをインスタンス化するために使用された旨の信頼されるサードパーティ検証としてのロードされたオペレーティングシステムソフトウェアまたはデータのレコードを提供することと、
を含む、コンピューティングシステム。
2.コンフィギュレーション整合性ベリファイヤーがチェックサムを含む、節1に記載のシステム。
3.オペレーティングシステムソフトウェアまたはデータの検証に対する要求が、コンフィギュレーションのプロバイダまたはインスタンスのユーザーから受け取られる、節1に記載のシステム。
4.コンフィギュレーション整合性ベリファイヤーのプロバイダが検証サービスによって確証される、節1に記載のシステム。
5.コンフィギュレーション整合性ベリファイヤーが公開鍵基盤のデジタル証明書によって確証される、節1に記載のシステム。
6.オペレーティングシステムまたはデータの検証を提供する許可が、インスタンスの要求者によって許可される、節1に記載のシステム。
7.コンピューティングコンフィギュレーションを検証するための方法であって、
コンピューティングリソースに対する要求を受け取ることであって、コンピューティングリソースを提供することがコードまたはデータをロードすることを含む、受け取ることと、
コンピューティングリソースに対する要求を受け取ることに応えて、このコードまたはデータをロードすることによって要求されたコンピューティングリソースをインスタンス化することと、
ロードされたコードまたはデータのレコードを生成するためにこのロードされたコードまたはデータを監査することと、
ロードされたコードまたはデータのレコードに基づいてコンフィギュレーション整合性ベリファイヤーを計算することと、
ロードされたコードまたはデータの検証に対する要求に応えてコンフィギュレーション整合性ベリファイヤーを送信することであって、コンフィギュレーション整合性ベリファイヤーがロードされたコードまたはデータの信頼される検証として使用可能である、送信することと、
を含む方法。
8.要求が、コンピューティングリソースを提供する複数のコンピュータデバイスを含むコンピューティング環境で受け取られる、節7に記載の方法。
9.コンピューティングリソースが仮想マシンである、節7に記載の方法。
10.コンフィギュレーション整合性ベリファイヤーが、コードまたはデータの検証に対するコードまたはデータのプロバイダからの要求に応えて、コードまたはデータのプロバイダに送信される、節7に記載の方法。
11.コンフィギュレーション整合性ベリファイヤーが、コードまたはデータの検証に対するコンピューティングリソースのユーザーによる要求に応えて、コードまたはデータのユーザーに送信される、節7に記載の方法。
12.コンフィギュレーション整合性ベリファイヤーが、コンピューティングリソースのユーザーがコンピューティングリソースにアクセスする前に、コードまたはデータのプロバイダに送信される、節7に記載の方法。
13.コンフィギュレーション整合性ベリファイヤーがチェックサムを含む、節7に記載の方法。
14.コンフィギュレーション整合性ベリファイヤーが公開鍵基盤でのデジタル証明書によって確証される、節7に記載の方法。
15.コンピュータ可読命令をその上に記憶している非一過性なコンピュータ可読記憶媒体であって、コンピュータ可読命令が、コンピューティングノードでの実行時に、少なくとも
コードまたはデータのロードを必要とするコンフィギュレーションを含む、コンピューティングリソースに対する要求を受け取ることに応えて、このコードまたはデータを含む要求されたコンフィギュレーションに従って要求されたコンピューティングリソースを提供することと、
ロードされたコードまたはデータを生成するためにコンピューティングリソースを監査することと、
ロードされたコードまたはデータのレコードに基づいてコンフィギュレーション整合性ベリファイヤーを計算することと、
ロードされたコードまたはデータの信頼される検証としてコンフィギュレーション整合性ベリファイヤーを提示することと、
を引き起こす命令を含む、非一過性コンピュータ可読記憶媒体。
16.この提示することが、このコードまたはデータによって提供される機能性にアクセスする、コンピューティングリソースによる要求に応えている、節15に記載の一過性のコンピュータ可読媒体。
17.この提示することが、コードまたはデータのプロバイダにコンフィギュレーション整合性ベリファイヤーを送信することを含む、節16に記載の非一過性コンピュータ可読媒体。
18.この提示することが、コードまたはデータのプロバイダによって許可されるサービスプロバイダへコンフィギュレーション整合性ベリファイヤーを送信することを含む、節16に記載の非一過性コンピュータ可読媒体。
19.コンピューティングリソースがバーチャルインスタンスである、節16に記載の非一過性コンピュータ可読媒体。
20.コンフィギュレーション整合性ベリファイヤーがチェックサムを含む、節16に記載の非一過性コンピュータ可読媒体。
21.コンピュータシステムの1つまたは複数のプロセッサによる実行時に、コンピュータシステムに少なくとも
コンピューティングリソースに対する要求を示す識別子を符号化する第1の電子メッセージを受け取ることであって、コンピューティングリソースがコードまたはデータのロードを含む、受け取るように、
電子メッセージの1つを受け取ることに応えて、
このコードまたはデータを含む要求されたコンピューティングリソースのロードと、
ロードされたコードまたはデータのレコードを生成するためのこのロードの監査と、
ロードされたコードまたはデータのレコードに基づいてコンフィギュレーション整合性ベリファイヤーを計算することと、
を生じさせる命令を示す第2の電子メッセージを送信するように、
構成されるアプリケーションプログラミングインタフェースサブシステム
を実装させる、実行可能な命令をその上に集合的に記憶している1つまたは複数の非一過性コンピュータ可読媒体。
22.第2の電子メッセージが、ロードされたコードまたはデータの検証に対する要求を示す識別子を符号化する第3の電子メッセージに応えてコンフィギュレーション整合性ベリファイヤーを送信することを引き起こすための命令を示し、コンフィギュレーション整合性ベリファイヤーがロードされたコードまたはデータの信頼されるベリフィケーションとして使用できる、節21に記載の非一過性コンピュータ可読媒体。
前節に説明されるプロセス、方法、およびアルゴリズムのそれぞれは、1つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールで具現化され、コードモジュールによって完全にまたは部分的に自動化されてよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光ディスク等の任意のタイプの非一過性コンピュータ可読媒体またはコンピュータ記憶デバイスに記憶されてよい。プロセスおよびアルゴリズムは、アプリケーションに特殊な回路網に部分的にまたは完全に実装されてよい。開示されているプロセスおよびプロセスステップの結果は、例えば揮発性記憶装置または不揮発性記憶装置等の任意のタイプの非一過性コンピュータ記憶装置に恒久的にまたは別の方法で記憶されてよい。
上述された多様な特徴およびプロセスは互いとは無関係に使用されてよい、または多様な方法で組み合されてよい。すべての考えられる組合せおよび副組合せは本開示の範囲内に入ることを目的としている。さらに、特定の方法またはプロセスブロックはいくつかの実装では省略されてよい。本明細書で説明される方法およびプロセスは、任意の特定のシーケンスに制限されず、それに関係するブロックまたは状態は適切である他のシーケンスで実行できる。例えば、説明されるブロックもしくは状態は、明確に開示されている順序以外の順序で実行されてよい、または複数のブロックもしくは状態は単一のブロックもしくは状態で組み合されてよい。実施例のブロックまたは状態は、連続して、並行で、またはなんらかの他の方法で実行されてよい。ブロックまたは状態は、開示されている実施例の実施形態に追加されてよい、または開示されている実施例の実施形態から削除されてよい。本明細書に説明される実施例のシステムおよび構成要素は、説明されているのとは異なって構成されてよい。例えば、要素は、開示されている実施例の実施形態に追加されてよい、開示されている実施例の実施形態から取り除かれてよい、または開示されている実施例の実施形態に比較して配置し直されてよい。
多様な項目が使用されている間メモリ内または記憶領域に記憶されていると示されている、およびこれらの項目またはその部分が、メモリ管理およびデータ整合性のためにメモリと他の記憶装置との間で転送されてよいことも理解される。代わりに、他の実施形態では、ソフトウェアモジュールおよび/またはシステムのいくつかまたはすべては別のデバイス上のメモリ内で実行し、コンピュータ間通信を介して示されているコンピューティングシステムと通信してよい。さらに、いくつかの実施形態では、システムおよび/またはモジュールのいくつかまたはすべては、1つまたは複数の特定用途向け集積回路(ASIC)、標準集積回路、(例えば、適切な命令を実行し、マイクロコントローラおよび/または組込コントローラを含むことによる)コントローラ、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD)等を含むが、これに限定されるものではないファームウェアおよび/またはハードウェアに少なくとも部分的に等、他の方法で実装されてよい、または設けられてよい。モジュール、システム、およびデータ構造のいくつかまたはすべては、ハードディスク、メモリ、ネットワーク、または適切なドライブによってもしくは適切な接続を介して読み取られる携帯型メディア製品等のコンピュータ可読媒体上に(例えば、ソフトウェア命令または構造化されたデータとして)記憶されてもよい。システム、モジュール、およびデータ構造は、無線ベースの媒体および有線/ケーブルベースの媒体を含むさまざまなコンピュータ可読送信媒体上で(例えば、搬送波または他のアナログ伝搬信号もしくはデジタル伝搬信号の一部として等)生成されたデータ信号として送信されてもよく、(例えば、単一のアナログ信号もしくは多重化アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして等)さまざまな形をとってよい。係るコンピュータプログラム製品は、他の実施形態では他の形をとってもよい。その結果、本発明は他のコンピュータシステム構成で実践されてよい。
とりわけ「できる」、「ことがある」、「可能性がある」、「してよい」、「例えば」等の本明細書に使用される条件言語は、特に別段に示されない限り、または使用されている通り文脈内で理解されない限り、概して、特定の実施形態が特定の特徴、要素、および/またはステップを含み、一方他の実施形態は含まないことを伝えることを目的とする。したがって、係る条件言語は、概して、特徴、要素、および/またはステップがどのようにしても1つまたは複数の実施形態のために必要とされること、または1つまたは複数の実施形態が必ずや、オーサー入力またはプロンプトの有無に関わりなく、これらの特徴、要素、および/またはステップが任意の特定の実施形態に含まれる、または実行されるべきであるかを決定するための論理を含むことを暗示することを意図していない。用語「備える」、「含む」、「有する」等は同義語であり、制約なく包含的に使用され、追加の要素、特徴、行為、動作等を排除しない。また、用語「または」は、例えば要素のリストを接続するために使用されるときに、用語「または」はリスト中の要素の1つ、いくつか、またはすべてを意味するようにその包含的な意味で(およびその除外的な意味ではなく)使用される。
特定の実施例の実施形態が説明されてきたが、これらの実施形態は実施例としてのみ提示されており、本明細書に開示される本発明の範囲を制限することを意図しない。したがって、上述の説明における何も、任意の特定の特長、特徴、ステップ、モジュール、またはブロックが必要または不可欠であることを暗示することを意図していない。実際には、本明細書に説明される新規の方法およびシステムはさまざまな他の形式で具現化されてよく、さらに本明細書に説明される方法およびシステムの形での多様な省略、置換、および変更は、本明細書に開示される本発明の精神から逸脱することなく行われてよい。添付特許請求の範囲およびその同等物は、本明細書に開示される本発明の特定の範囲および精神に含まれるように、係る形または修正形態を扱うことを目的とする。

Claims (15)

  1. 少なくとも1つのコンピュータデバイスと、
    前記少なくとも1つのコンピュータデバイスと通信する少なくとも1つのメモリと、
    を備えるコンピューティングシステムであって、
    前記少なくとも1つのメモリは、コンピュータ可読命令を有し、前記コンピュータ可読命令が前記コンピューティングシステムによって実行される際に、前記コンピューティングシステムは、少なくとも、
    インスタンスに対する要求を受け取り、
    前記インスタンスに対する前記要求を受け取ることに応えて、前記要求されたインスタンスをインスタンス化し、前記要求されたインスタンスをインスタンス化することはオペレーティングシステムソフトウェアまたはデータをロードすることを含み、
    前記ロードされたオペレーティングシステムソフトウェアまたはデータのレコードを生成するために前記インスタンスを監査し、
    ロードされたオペレーティングシステムソフトウェアまたはデータの前記レコードと、前記インスタンスのためのコンフィギュレーションと、に基づいてコンフィギュレーション整合性ベリファイヤーを計算し、
    前記オペレーティングシステムソフトウェアまたはデータの検証に対する要求に応えて、前記コンフィギュレーション整合性ベリファイヤー、前記監査済みのインスタンス化されたインスタンスに関する情報、および、前記オペレーティングシステムソフトウェアまたはデータが前記インスタンスをインスタンス化するために使用された旨の信頼されるサードパーティ検証としてのロードされたオペレーティングシステムソフトウェアまたはデータの前記レコードを提供する、
    コンピューティングシステム。
  2. 前記コンフィギュレーション整合性ベリファイヤーは、チェックサムを含む、
    請求項1に記載のシステム。
  3. 前記オペレーティングシステムソフトウェアまたはデータの検証に対する前記要求は、前記コンフィギュレーションのプロバイダまたは前記インスタンスのユーザーから受け取られる、
    請求項1に記載のシステム。
  4. 前記コンフィギュレーション整合性ベリファイヤーのプロバイダは、検証サービスによって確証される、
    請求項1に記載のシステム。
  5. 前記コンフィギュレーション整合性ベリファイヤーは、公開鍵基盤のデジタル証明書によって確証される、
    請求項1に記載のシステム。
  6. オペレーティングシステムまたはデータの検証を提供する許可は、前記インスタンスの要求者によって許可される、
    請求項1に記載のシステム。
  7. コンピューティングコンフィギュレーションを検証するための方法であって、
    コンピューティングリソースに対する要求を受け取り、前記コンピューティングリソースを提供することは、コードまたはデータをロードすることを含み、
    前記コンピューティングリソースに対する前記要求を受け取ることに応えて、前記コードまたはデータをロードすることによって前記要求されたコンピューティングリソースをインスタンス化し、
    前記ロードされたコードまたはデータのレコードを生成するために前記ロードされたコードまたはデータを監査し、
    前記ロードされたコードまたはデータの前記レコードに基づいてコンフィギュレーション整合性ベリファイヤーを計算し、
    前記ロードされたコードまたはデータの検証に対する要求に応えて前記コンフィギュレーション整合性ベリファイヤーを送信し、前記コンフィギュレーション整合性ベリファイヤーは、前記ロードされたコードまたはデータの信頼される検証として使用可能である、
    方法。
  8. 前記要求は、コンピューティングリソースを提供する複数のコンピュータデバイスを含むコンピューティング環境で受け取られる、
    請求項7に記載の方法。
  9. 前記コンピューティングリソースは、仮想マシンである、
    請求項7に記載の方法。
  10. 前記コンフィギュレーション整合性ベリファイヤーは、前記コードまたはデータの前記プロバイダからの前記コードまたはデータの検証に対する要求に応えて、前記コードまたはデータのプロバイダに送信される、
    請求項7に記載の方法。
  11. 前記コンフィギュレーション整合性ベリファイヤーは、前記コードまたはデータの検証に対する前記コンピューティングリソースのユーザーによる要求に応えて、前記コードまたはデータのユーザーに送信される、
    請求項7に記載の方法。
  12. 前記コンフィギュレーション整合性ベリファイヤーは、前記コンピューティングリソースのユーザーが前記コンピューティングリソースにアクセスする前に、前記コードまたはデータのプロバイダに送信される、
    請求項7に記載の方法。
  13. 前記コンフィギュレーション整合性ベリファイヤーは、チェックサムを含む、
    請求項7に記載の方法。
  14. 前記コンフィギュレーション整合性ベリファイヤーは、公開鍵基盤でのデジタル証明書によって確証される、
    請求項7に記載の方法。
  15. 前記コンフィギュレーション整合性ベリファイヤーは、前記コードまたはデータのプロバイダによって認証されるサービスプロバイダに送信される、
    請求項7に記載の方法。
JP2015561508A 2013-03-04 2014-03-03 信頼されるプロバイダによるコンフィギュレーションおよび検証 Active JP6022718B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/784,276 2013-03-04
US13/784,276 US9407505B2 (en) 2013-03-04 2013-03-04 Configuration and verification by trusted provider
PCT/US2014/020025 WO2014137939A1 (en) 2013-03-04 2014-03-03 Configuration and verification by trusted provider

Publications (2)

Publication Number Publication Date
JP2016510960A JP2016510960A (ja) 2016-04-11
JP6022718B2 true JP6022718B2 (ja) 2016-11-09

Family

ID=51421590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015561508A Active JP6022718B2 (ja) 2013-03-04 2014-03-03 信頼されるプロバイダによるコンフィギュレーションおよび検証

Country Status (9)

Country Link
US (1) US9407505B2 (ja)
EP (1) EP2965192B1 (ja)
JP (1) JP6022718B2 (ja)
KR (1) KR101791768B1 (ja)
CN (1) CN105164633B (ja)
AU (1) AU2014226162B2 (ja)
CA (1) CA2903376C (ja)
SG (1) SG11201506949TA (ja)
WO (1) WO2014137939A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10506026B1 (en) * 2013-03-13 2019-12-10 Amazon Technologies, Inc. Resource prestaging
US11087340B1 (en) * 2013-12-17 2021-08-10 EMC IP Holding Company LLC Systems and methods for configuring converged infrastructure components
GB2522032A (en) 2014-01-10 2015-07-15 Ibm Controlling the configuration of computer systems
US9542558B2 (en) * 2014-03-12 2017-01-10 Apple Inc. Secure factory data generation and restoration
US20170364381A1 (en) * 2015-01-13 2017-12-21 Hewlett Packard Enterprise Development Lp Data center configuration
US10437621B2 (en) * 2015-04-22 2019-10-08 Cisco Technology, Inc. Monitoring and managing applications on virtual machines using a proxy agent
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
KR102522778B1 (ko) * 2016-04-27 2023-04-19 한국전자통신연구원 분산 대리자 기반 무결성 검증을 수행하는 개별 기기, 그를 포함하는 개별 기기 무결성 검증 시스템 및 그 방법
US10684906B2 (en) * 2016-06-15 2020-06-16 Microsoft Technology Licensing, Llc Monitoring peripheral transactions
US20180288101A1 (en) * 2017-03-29 2018-10-04 Hewlett Packard Enterprise Development Lp Verifying that usage of virtual network function (vnf) by a plurality of compute nodes comply with allowed usage rights
US10404471B1 (en) * 2017-04-26 2019-09-03 Wells Fargo Bank, N.A. Secure ledger assurance tokenization
US11075925B2 (en) * 2018-01-31 2021-07-27 EMC IP Holding Company LLC System and method to enable component inventory and compliance in the platform
JP7314935B2 (ja) 2018-06-05 2023-07-26 日本電気株式会社 システム、サーバ、検証方法及びプログラム
JP7195796B2 (ja) * 2018-07-23 2022-12-26 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
CN111008026B (zh) 2018-10-08 2024-03-26 阿里巴巴集团控股有限公司 集群管理方法、装置及系统
US11599422B2 (en) 2018-10-16 2023-03-07 EMC IP Holding Company LLC System and method for device independent backup in distributed system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223362A1 (en) * 2004-04-02 2005-10-06 Gemstone Systems, Inc. Methods and systems for performing unit testing across multiple virtual machines
EP1922666A4 (en) * 2005-09-08 2010-09-29 Ericsson Telefon Ab L M METHOD AND ARRANGEMENT FOR AUTHENTICATION OF CONVIVIAL DEVICES
US8380987B2 (en) * 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US8125243B1 (en) 2007-03-12 2012-02-28 Cypress Semiconductor Corporation Integrity checking of configurable data of programmable device
US8276201B2 (en) 2007-03-22 2012-09-25 International Business Machines Corporation Integrity protection in data processing systems
US8250574B2 (en) * 2007-05-24 2012-08-21 Nec Corporation Virtual machine management via use of table in which virtual machine information is registered on a time basis
US20090300049A1 (en) 2008-06-03 2009-12-03 Samsung Electronics Co., Ltd. Verification of integrity of computing environments for safe computing
US8572692B2 (en) * 2008-06-30 2013-10-29 Intel Corporation Method and system for a platform-based trust verifying service for multi-party verification
US8589698B2 (en) 2009-05-15 2013-11-19 International Business Machines Corporation Integrity service using regenerated trust integrity gather program
US20110093847A1 (en) * 2009-10-15 2011-04-21 Shah Dharmesh R Application Hosting Service for Cloud Environments Using Dynamic Machine Images
US8910278B2 (en) * 2010-05-18 2014-12-09 Cloudnexa Managing services in a cloud computing environment
US8724473B2 (en) * 2010-07-16 2014-05-13 Ixia Locating signatures in packets
US8924791B2 (en) * 2010-08-30 2014-12-30 Hewlett-Packard Development Company, L.P. System including a vendor computer system for testing software products in a cloud network

Also Published As

Publication number Publication date
AU2014226162B2 (en) 2017-01-12
US20140250215A1 (en) 2014-09-04
JP2016510960A (ja) 2016-04-11
CA2903376C (en) 2018-05-15
CN105164633A (zh) 2015-12-16
EP2965192A4 (en) 2016-11-02
KR20160008507A (ko) 2016-01-22
AU2014226162A1 (en) 2015-10-29
SG11201506949TA (en) 2015-09-29
US9407505B2 (en) 2016-08-02
KR101791768B1 (ko) 2017-11-20
WO2014137939A1 (en) 2014-09-12
EP2965192A1 (en) 2016-01-13
CA2903376A1 (en) 2014-09-12
CN105164633B (zh) 2018-12-21
EP2965192B1 (en) 2020-05-06

Similar Documents

Publication Publication Date Title
JP6022718B2 (ja) 信頼されるプロバイダによるコンフィギュレーションおよび検証
CN108351944B (zh) 链式安全系统
US9614875B2 (en) Scaling a trusted computing model in a globally distributed cloud environment
US10338946B1 (en) Composable machine image
JP6100834B2 (ja) マルチ・テナント・クラウドにおける顧客仮想計算機の保護
US10228924B2 (en) Application deployment and monitoring in a cloud environment to satisfy integrity and geo-fencing constraints
US9626512B1 (en) Validating using an offload device security component
US10243739B1 (en) Validating using an offload device security component
JP2018520538A (ja) 仮想ネットワーク機能の安全なブートストラップ技術
US11507439B1 (en) Application programming interface as a service
KR102134491B1 (ko) 보호된 데이터 세트의 네트워크 기반 관리 기법
EP3317875A1 (en) Virtual machine integrity
US11620147B2 (en) Metadata service provisioning in a cloud environment
US11645092B1 (en) Building and deploying an application
US20240143718A1 (en) Provisioning multiple platform root of trust entities of a hardware device using role-based identity certificates
Lioy et al. Trust in SDN/NFV environments
Huang et al. IEEE Cloud Computing Special Issue on Cloud Security
Ibishi Secure Virtualization in Cloud Computing

Legal Events

Date Code Title Description
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: 20160905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161005

R150 Certificate of patent or registration of utility model

Ref document number: 6022718

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250