コンピュータを実行する方法であって:第1のコードのオーナによって署名されている第1のコードモジュール、及び第2のコードのオーナによって署名されている第2のコードモジュールを含む署名付きファームウェアイメージを取得するステップと、アップデートされた第1のコードモジュールを取得するステップであって、前記アップデートされた第1のコードモジュールは、前記第1のコードモジュールのアップデートされたコードを含む、ステップと、前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証するステップと;前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証したことに応答して、前記アップデートされた第1のコードモジュールによって、前記署名付きファームウェアイメージをアップデートするステップと;を有する方法。前記署名付きファームウェアイメージは、アクセスコントロールリストを更に含み;前記アクセスコントロールリストは、前記第1のコードのオーナによって前記第1のコードモジュールによりアップデートし、かつ、前記第2のコードのオーナによって前記第2のコードモジュールによりアップデートすることを許可する;請求項1記載の方法。アクセスコントロールトークンを取得するステップであって、前記アクセスコントロールトークンは、第3のコードのオーナのためのパブリックキー、及び前記第3のコードのオーナが前記署名付きファームウェアイメージの第3のコードモジュールをアップデートする許可を含む、ステップと;前記アクセスコントロールトークンが前記アクセスコントロールリストから許可されたコードのオーナによって署名されていることを検証するステップと;前記許可されたコードのオーナが前記第3のコードモジュールをアップデートする許可を与えられていることを検証するステップと;前記第3のコードのオーナのための前記パブリックキー、及び前記第3のコードのオーナが前記第3のコードモジュールをアップデートする前記許可を含むよう、前記アクセスコントロールリストをアップデートするステップと;を更に有する請求項2記載の方法。前記第3のコードのオーナからアップデートされた第3のコードモジュールを受信するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることを検証するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることが検証されたことに応答して、前記アップデートされた第3のコードモジュールによって前記署名付きファームウェアイメージをアップデートするステップと;を有する請求項3記載の方法。前記署名付きファームウェアイメージをアップデートする前に、前記第1のコードのオーナが、前記第1のコードモジュールをアップデートする許可を与えられていることを検証するステップ;を更に有する請求項1記載の方法。署名付きファームウェアイメージを取得するための手段であって、前記署名付きファームウェアイメージは、第1のコードのオーナによって署名されている第1のコードモジュール、及び第2のコードのオーナによって署名されている第2のコードモジュールを含む、手段と;アップデートされた第1のコードモジュールを取得するための手段であって、前記アップデートされた第1のコードモジュールは、前記第1のコードモジュールのためのアップデートされたコードを含む、手段と;前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証するための手段と;前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることが検証されたことに応答して、前記アップデートされた第1のコードモジュールによって前記署名付きファームウェアイメージをアップデートするための手段と;を有するシステム。前記署名付きファームウェアイメージは、アクセスコントロールリストを更に含み、前記アクセスコントロールリストは、前記第1のコードのオーナによって前記第1のコードモジュールによりアップデートし、前記第2のコードのオーナによって前記第2のコードモジュールによりアップデートすることを許可する、請求項6記載のシステム。アクセスコントロールトークンを受信するための手段であって、前記アクセスコントロールトークンは、第3のコードのオーナのためのパブリックキー、及び前記第3のコードのオーナが前記署名付きファームウェアイメージの第3のコードモジュールをアップデートする許可を含む、手段と;前記アクセスコントロールトークンが前記アクセスコントロールリストから許可されたコードのオーナによって署名されていることを検証するための手段と;前記許可されたコードのオーナが前記第3のコードモジュールをアップデートする許可を与えられていることを検証するための手段と;前記第3のコードのオーナのための前記パブリックキー、及び前記第3のコードのオーナが前記第3のコードモジュールをアップデートする前記許可を含むよう、前記アクセスコントロールリストをアップデートするための手段と;を更に有する請求項7記載のシステム。前記第3のコードのオーナからアップデートされた第3のコードモジュールを受信するための手段と;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることを検証するための手段と;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることが検証されたことに応答して、前記アップデートされた第3のコードモジュールによって前記署名付きファームウェアイメージをアップデートするための手段と;を更に有する請求項8記載のシステム。前記署名付きファームウェアイメージをアップデートする前に、前記第1のコードのオーナが前記第1のコードモジュールをアップデートする許可を与えられていることを検証するための手段;を更に有する請求項6記載のシステム。第1のコードのオーナによって署名されている第1のコードモジュール、及び第2のコードのオーナによって署名されている第2のコードモジュールを含む署名付きファームウェアイメージを取得するステップと、アップデートされた第1のコードモジュールを取得するステップであって、前記アップデートされた第1のコードモジュールは、前記第1のコードモジュールのアップデートされたコードを含む、ステップと、前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証するステップと;前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証したことに応答して、前記アップデートされた第1のコードモジュールによって、前記署名付きファームウェアイメージをアップデートするステップと;をコンピュータに実行させる命令を有するプログラム。前記署名付きファームウェアイメージは、アクセスコントロールリストを更に含み;前記アクセスコントロールリストは、前記第1のコードのオーナによって前記第1のコードモジュールによりアップデートし、かつ、前記第2のコードのオーナによって前記第2のコードモジュールによりアップデートすることを許可する;請求項11記載のプログラム。アクセスコントロールトークンを受信するステップであって、前記アクセスコントロールトークンは、第3のコードのオーナのためのパブリックキー、及び前記第3のコードのオーナが前記署名付きファームウェアイメージの第3のコードモジュールをアップデートする許可を含む、ステップと;前記アクセスコントロールトークンが前記アクセスコントロールリストから許可されたコードのオーナによって署名されていることを検証するステップと;前記許可されたコードのオーナが前記第3のコードモジュールをアップデートする許可を与えられていることを検証するステップと;前記第3のコードのオーナのための前記パブリックキー、及び前記第3のコードのオーナが前記第3のコードモジュールをアップデートする前記許可を含むよう、前記アクセスコントロールリストをアップデートするステップと;をコンピュータに実行させる命令を更に有する請求項12記載のプログラム。前記第3のコードのオーナからアップデートされた第3のコードモジュールを受信するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることを検証するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることが検証されたことに応答して、前記アップデートされた第3のコードモジュールによって前記署名付きファームウェアイメージをアップデートするステップと;をコンピュータに実行させる命令を更に有する請求項13記載のプログラム。前記署名付きファームウェアイメージをアップデートする前に、前記第1のコードのオーナが、前記第1のコードモジュールをアップデートする許可を与えられていることを検証するステップ;をコンピュータに実行させる命令を更に有する請求項11記載のプログラム。BIOSは、プロセッサが、16ビットモードで動作していた頃にIBMPCのために開発された。そして、メモリのアドレス可能な範囲も1メガバイトに制限されていた。また、BIOSのコードもIBMPCATハードウェアに依存するものであった。オペレーティングシステムは、その後32ビットプロセッサに対して開発され、BIOSから提供される16ビットランタイムインターフェースの利用に頼らずに、入出力をハンドリングするデバイスドライバを包含するようになった。このようなデバイスドライバは、通常プラットフォームファームウエアによって提供され、オペレーティングシステムがロードされる前のBIOSイニシャライズの間にメモリにロードされる。オペレーティングシステムは、多くの周辺機器とインターフェスをとらなければならないため、このようなプラットフォームファームウエアは、通常システム製造業者以外のエンティティによって提供される。多くの関係者が関与するため、ファームウェアの配布は、複雑になっている。現在のコンピュータの環境におけるマルウエア悪意あるソフトの増加により、ファームウェアの検証verifyが重要となってきている。デジタル署名、すなわちデジタル署名方式は、デジタルやドキュメントの真正性を示すための数学的方式である。有効なデジタル署名は、受領者に対して、そのメッセージが既知の発信者により作成されたこと、及び途中でそれが改変されていないことを信じさせるものである。デジタル署名は、ソフトウェアの配布においてよく用いられる。そして、ファームウェアイメージの配布においても、デジタル署名を用いることが望まれる。本発明の実施例は、サイン付きルートファームウエアイメージを配布deployするための方法、装置、システム、コンピュータプログラム、及びコンピュータプログラムプロダクトを提供する。これには、システム配布チャネルにおける異なるエンティティ主体により署名されているコードモジュールが含まれる。一実施例において、方法は、第1のコードのオーナによって署名されている第1のコードモジュール、及び第2のコードのオーナによって署名されている第2のコードモジュールを含む署名付きファームウェアイメージを取得するステップを含む。本方法は、更に、アップデートされた第1のコードモジュールを取得するステップであって、前記アップデートされた第1のコードモジュールは、前記第1のコードモジュールのアップデートされたコードを含む、ステップと、前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証したことに応答して、前記アップデートされた第1のコードモジュールによって、前記署名付きファームウェアイメージをアップデートするステップと;前記アップデートされた第1のコードモジュールが前記第1のコードのオーナによって署名されていることを検証するステップと;を含む。前記署名付きファームウェアイメージは、前記第1のコードのオーナによって前記第1のコードモジュールによりアップデートし、かつ、前記第2のコードのオーナによって前記第2のコードモジュールによりアップデートすることを許可するアクセスコントロールリストを更に含む。本発明は、更に、アクセスコントロールトークンを取得するステップであって、前記アクセスコントロールトークンは、第3のコードのオーナのためのパブリックキー、及び前記第3のコードのオーナが前記署名付きファームウェアイメージの第3のコードモジュールをアップデートする許可を含む、ステップと;前記アクセスコントロールトークンが前記アクセスコントロールリストから許可されたコードのオーナによって署名されていることを検証するステップと;前記許可されたコードのオーナが前記第3のコードモジュールをアップデートする許可を与えられていることを検証するステップと;前記第3のコードのオーナのための前記パブリックキー、及び前記第3のコードのオーナが前記第3のコードモジュールをアップデートする前記許可を含むよう、前記アクセスコントロールリストをアップデートするステップと;を有する。本発明は、更に、前記第3のコードのオーナからアップデートされた第3のコードモジュールを受信するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることを検証するステップと;前記アップデートされた第3のコードモジュールが前記第3のコードのオーナによって署名されていることが検証されたことに応答して、前記アップデートされた第3のコードモジュールによって前記署名付きファームウェアイメージをアップデートするステップと;を有する。本発明は、従来のBIOSプラットフォームファームウエアの一体構造のイメージアップデートプロセスを改善するものであり、また、各自のファームウエアコードモジュールに異なるオーナが署名をすることを可能とする。本発明は、特定のBIOS、プラットフォームコードモジュール、ドライバ、又はアプリケーションに対するアップデートの実行を可能とする。プラットフォームファームウエアが高度になり、そして、セキュリティの側面等の重要な機能を提供することが必要になったため、BIOSやプラットフォームファームウエアの障害は、迅速に取り除かなければならない。そして、これらは、システムのフラッシュメモリ領域の全BIOSやプラットフォームファームウエアの単一のイメージを製造業者に要求するのではなく、エンタープライズマネージメントサーバにより提供することが必要である。本明細書において、本発明の一実施例、実施例とは、実施例に則して記載された特定の特徴、構造、特性が、少なくとも1つの実施例に含まれることを意味する。したがって、明細書全体に亘って一実施例において、一実施例に従って等の記載は、必ずしも、同じ実施例を参照しているわけではない。説明において、本発明をより良く理解するために、具体的詳細が明記されている。なお、当業者は、明細書における詳細な説明なくして、実施例を実施することができる。更に、発明を不明りょうにしないために、周知の技術の説明は詳細に行っていない。本明細書には、様々な実施例が提示されている。これらは、本発明の単なる特定の実施例に過ぎない。本発明の技術的範囲は示された実施例に限定されることはない。マルウエアの高度化に伴って、ファームウェアのイメージなどのシステムソフトウエアのプロバイダは、特定のバージョンのファームウェアイメージが真正であり、改変されたものでないことを証明することが望まれている。このような証明は、暗号方式に従って、ファームウエアイメージファイルのデジタル署名により提供される。例えば、RivestShamirAdlemanRSA暗号化アルゴリズムが挙げられる。これは、データの暗号化及び署名のために、パブリック及びプライベートキーを提供する。本明細書において記載された発明は、RSAに基づくデジタル署名アルゴリズムに限定されない。すなわち、信憑性を証明するデジタル署名を提供するあらゆる方法が、本発明の技術的範囲に属することは言うまでもない。デジタル署名方式は、典型的には3つのアルゴリズムから構成されている。1可能なプライベートキーのセットから一律にアットランダムにプライベートキーを選択するキー生成アルゴリズム。このアルゴリズムは、プライベートキー及び対応するパブリックキーを出力する。2メッセージ及びプライベートキーが与えられると、署名を処理する署名アルゴリズム。3メッセージ、パブリックキー及び署名が与えられると、信憑性を求められたそのメッセージを受け入れるか却下する署名検証アルゴリズム。二つの中心的なプロパティが必要である。第1は、固定されたメッセージから生成された署名、及び、プライベートキーは、対応するパブリックキーを用いることによって、そのメッセージの信憑性を証明しなければならない。第2に、プライベートキーを保持しない者に対して有効な署名を生成することは、計算上実行不可能である。図1は、従来の署名付きファームウェアイメージのブロック図を示す。ルートファームエアイメージ110は、単一のエンティティのプライベートキー120によって署名される。プライベートキー120のオーナのみが、ルートファームウエア110をアップデートできる。例えば、システム製造業者がルートファームウエアイメージ110を、ルート製造業者のプライベートキー120で署名したと仮定する。もし、ルートファームウエアの証明後に、配布の連鎖の中で他のエンティティ例えば、OEMや、チャネルカスタマが、ルートファームエアイメージ110内のモジュールへのアップデートが必要となった場合、これらのエンティティは、自身のカスタマイズしたファームウエアイメージコードモジュールを、プライベートキー120のオーナに提供し、次回のルートファームウエアイメージ110のリリースに含めてもらう必要がある。このような、インプリメンテーションは、カスタマイズされたファームエアイメージモジュールを維持するためのインフラストラクチャを必要とする。そして、アップデートされたルートファームウエアイメージ110を外部のエンティティのスケジュールに合わせなければならない。プライベートキー120のオーナ以外のエンティティにより提供されるカスタマイズされたファームウエアイメージコードモジュールを許し、セキュリティを破ることは、ルートファームウエアイメージ110全体のセキュリティを犠牲にすることとなる。このようなセキュリティを破ることは、プライベートキー120のオーナのみが訂正できる。このため、今日のインプリメンテーションの多くは、配布チャネルの下流の端のエンティティによってのみ署名される。システム製造業者が提供するルートファームウエアイメージコードモジュール、及び/又は、OEMは、上述の問題を回避するために、しばしば署名なしとなる。しかしながら、多くのファームウエアイメージコードモジュールのプロバイダによるデジタル署名が無いと、システムのエンドユーザは、そのファームエアイメージが信用のおけるものであるかを検討しなくてはならない。図2Aは、本発明の実施例に従った、ルートファームウエアイメージコードのオーナによって署名されているファームエアイメージのブロック図である。この例では、ルートファームウエアイメージの最初のオーナ、例えば、システム製造業者以下Rootルートと言う。は、ルートプライベートキー22によって、ファームエアイメージコードモジュールの各々5つのファームエアボリュームFV1211、FV2213、FV3215、FV4217、及びFV5219に署名をした。コードモジュールに署名をすることは、デジタル署名をコードモジュールに添付することである。本明細書における実施例において、コードモジュールに対する署名は、コードモジュールを含むファームエアボリュームに関連した署名を記載することで示す。同様に、定められたコードモジュールをアップデートする機関は、コードモジュールを含むファームエアボリュームをアップデートする機関として示される。当業者は、1以上のコードモジュールが定められたファームエアボリュームに含まれることを理解する。そして、ファームエアボリュームの異なるコードモジュールは、異なる署名、及び/又は、アップデート機関を持つ。なお、単純化するために、コードモジュールとファームエアボリュームとは、本明細書では、1対1の関係を有するよう記載される。表230Aは、ルートコードのオーナRootのためのパブリックキー231、及びコードのオーナRootのためのアクセスコントロールリストACL232を含むセキュリティ情報を提供する。ACL232は、パブリックキー231に所有されているファームエアイメージコードモジュールすなわちファームウエアボリュームを示す。更に詳細なアクセスコントロールリスト232は、図2Bに示されている。図2Bは、本発明の実施例に従って、ルートファームエアコードのオーナRootのアクセスコントロールリストを示す図2Aのファームウェアイメージである。図示された実施例において、ACL232は、ファームウエアモジュールボリュームFV1211、FV2213、FV3215、FV4217、及びFV5219に、コードモジュールに対するポインタ232Aないし232Eを含んでいる。これらのポインタは、図3を用いて以下に詳述する。図2Cは、ルートファームウエアコードのオーナ及びOEMファームエアコードのオーナ以下、OEMと言う。の両方により署名されているファームウェアイメージのブロック図を示す。この実施例では、ファームエアイメージのコードモジュールの第2のオーナ、例えばシステム製造業者のOEMカスタマで、図2Aのパブリックキー220を持つ者が、カスタマイズされたルートファームウエアモジュールを提供する。例えば、OEMファームエアコードのオーナは、ブレードサーバ製品としてコンピュータシステムをオファーする。そして、そのコードのオーナOEMによって提供されるファームウエアイメージコードモジュールは、ブレードサーバ構成で動作するためのファームウェアを構成configureしてもよい。図2Cにおいて、第2のオーナOEMは、OEMプライベートキー240によって、ファームエアイメージ内の選択されたファームウエアボリューム以下OEMファームウェアイメージ210Bと言う。に署名する。この実施例では、ファームエアボリュームFV3215、及びFV5219は、OEMプライベートキー240で署名されている。表230Bは、OEMコードのオーナ及び、ファームエアイメージコードモジュールすなわち、ファームエアボリュームを表すアクセスコントロールリストACL421のためのパブリックキー241を含む新しいセキュリティ情報を提供する。ACL242に関する詳細は、図2Dを用いて詳述する。図2Dは、本発明の実施例に従った、OEMのためのアクセスコントロールリストを示す図2Cのファームウェアイメージのブロック図である。例示されたこの実施例において、ACL242は、二つのファームウエアボリュームFV3215、及びFV5219の各々へのポインタ242C及び242Eを含んでいる。この新しいセキュリティ情報は、表230Bの一部である。これは、図2A及び図2Bを用いて説明したように、ファームエアコードのオーナRootのためのパブリックキー231及びACL232を含む。しかしながら、FV3215、及びFV5219をアップデートするために、ルートファームエアコードのオーナRootファームエアコードのオーナOEMの権限の委任を受けている。そして、ACL232のポインタ232C及び232Eは、ACL242のポインタ242C、及び242Eにより上書きされる。ファームウエアコードモジュールのアップデートの権限の委任のプロセスについては、図3ないし図5を用いて更に以下に説明する。図2Eは、本発明の実施例に従った、ルートファームエアコードのオーナRoot、OEMファームエアコードのオーナOEM、及びチャネルディストリビュータファームエアコードのオーナChnlによって署名されているファームエアイメージのブロック図である。この実施例において、ファームウェアイメージのコードモジュールの第3のオーナ、例えば、図2Bのプライベートキー240を所有するOEMのチャネルカスタマは、カスタマイズされたルートファームウエアモジュールを提供した。第3のオーナChnlは、ファームエアイメージの一つのファームエアボリューム以下、チャネルカスタマファームエアイメージ210Cと言う。に署名を行った。この実施例において、ファームエアボリュームFV5219は、Chnlのプライベートキー250で署名されている。表230Cは、新たなセキュリティ情報を提供する。すなわち、これには、チャネルカスタマーオーナChnlのパブリックキー251、及びパブリックキー251により所有されるファームエアイメージコードモジュールすなわちファームエアボリュームを示すアクセスコントロールリストACL252が含まれる。図2Fは、本発明の実施例に従った、チャネルディストリビュータファームエアコードのオーナChnlのためのアクセスコントロールリストを示す図2Eのファームエアイメージのブロック図である。示された実施例において、ACL252は、ファームエアボリュームFV5219へのポインタ252Eを含む。この新しいセキュリティ情報は、表230Cの一部である。これは、図2A及び図2Bを参照して説明したルートファームエアコードのオーナRootのパブリックキー231及びACL232、及び、図2C及び図2Dを参照して説明したファームウエアコードのオーナOEMのパブリックキー241及びACL242を含む。ポインタ252Eは、ファームウエアコードのオーナRootのACL232のポインタ232E、及び、ファームウエアコードのオーナOEMのACL242の242Eを上書きする。図3は、図2Aないし図2Fの署名付きファームエアイメージをアップデートするための署名及び権限の委任のためのプロセスを示すブロック図である。最初、ルートファームエアイメージ310Aが、ルートファームエアコードのオーナRootにより署名されている。これについては、図2Aのルートファームエアイメージ210Aを参照して説明した。テーブル330Aは、パブリックキー331プライベートキー320を有するRootオーナに対応を持つエンティティが、アクセスコントロールリスト332を持つことを示す。アクセスコントロールリスト332は、ポインタ332Aないし332Eを含み、パブリックキー331のオーナがコードモジュールをアップデートすることを可能とする。コードモジュールは、ファームウエアボリュームFV1311、FV2313、FV3315、FV4317、及びFV5319の各々に含まれている。アクション3.1において、プライベートキー320のオーナであるRootは、ルートファームエアイメージ310Aの後のアップデートを許可するために、署名付きトークン360を生成する。トークン360に署名することによって、プライベートキー320のオーナであるRootファームエアコードのオーナは、Rootパブリックキー321をトークン360に関連付ける。トークン360は、権限が委任されるための情報を含ませるために生成される。例えば、ルートファームエア310Aをアップデートすることを許可されたエンティティのパブリックキー362、及び、対応するパブリックキー362でアップデートできるルートファームウエアイメージ310A内のファームエアモジュールを示すアクセスコントロールリスト364が挙げられる。この実施例において、ファームエアコードのオーナOEMのパブリックキー362が、トークン360に含まれている。加えて、OEMパブリックキー362のオーナがファームエアボリュームFV3315及びFV5319をアップデートすることを許すアクセスコントロールリスト364が含まれている。アクション3.2において、ルートファームウエアイメージ310Aがアップデートされる前に、トークン360によって委任されるべき権限が検証される。ルートファームエアイメージ310Aは、トークン360のパブリックキーのオーナ、すなわちトークンパブリックキー321のオーナRootが、トークン360に含まれるファームエアボリュームをアップデートすることを許可されていることを保証するために、表330Aを調べる。この実施例では、表330Aは、トークン360Rootのパブリックキー321のオーナが、表330Aに存在することを保証するために調べられ、そして、トークン360のパブリックキー321のオーナRootが、ファームエアボリュームFV3315及びFV5319をアップデートする権限を持つことが調べられる。アクション3.3において、トークン360のパブリックキー321のオーナRootが、ファームエアボリュームFV3315及びFV5319をアップデートする権限を持つことが確認された後、FV3315、及びFV5319内のコードがアップデートされ、OEMファームエアイメージ310Bが形成される。OEMファームエアイメージ310B内の表330Bも、パブリックキー333及び対応するアクセスコントロールリストACL334として、OEMファームウエアコードのオーナのパブリックキーを含むようアップデートされる。表330Bのアップデートの結果、アクセスコントロールリストは、Rootファームエアコードのオーナの3個のポインタFV1311への332A、FV2313への332B、及びFV4317への332Dと、OEMファームエアコードのオーナの2個のポインタFV3315への334C、及びFV5319への334Eを含むこととなる。アクション3.4において、OEMファームエアコードのオーナプライベートキー340のオーナは、OEMファームエアイメージ310Bの後のアップデートを許可するために、署名付きトークン370を生成する。トークン370に署名することによって、プライベートキー340のオーナすなわち、OEMファームエアコードのオーナは、OEMパブリックキー341をトークン370に関連付ける。権限を委任するための情報を含めるために、トークン370が生成される。例えば、OEMファームエアイメージ310Bのアップデートを許可されたエンティティのパブリックキー372、及び、対応するパブリックキー372によってアップデートできるOEMファームエアイメージ310B内のファームウエアモジュールを示すアクセスコントロールリスト374が含まれる。この実施例において、ファームウエアコードのオーナChnlのパブリックキー372が、トークン370に含まれている。そして、Chnlパブリックキー372のオーナがファームウエアボリュームFV5319をアップデートすることを許すアクセスコントロールリスト374も含まれている。アクション3.5において、OEMファームエアイメージ310Bがアップデートされる前に、トークン370による委任される権限が検証されるOEMファームエアイメージ310Bは、トークン370のパブリックキー341のオーナが、トークン370に含まれるファームウエアボリュームをアップデートすることを許可されていることを保証するために、表330Bを調べるこの実施例では、表330Bは、トークン370のパブリックキー341のオーナOEMが、表330Bに存在することを保証するために調べられ、そして、トークン370のパブリックキー341のオーナOEMが、ファームエアボリュームFV5319をアップデートする権限を持つことが調べられる。アクション3.6において、トークン360のパブリックキーのオーナOEMが、ファームウエアボリュームFV5319をアップデートする権限を持つことが確認された後、FV5319内のコードがアップデートされ、チャネルカスタマファームエアイメージ310Cが形成される。チャネルカスタマファームエアイメージ310C内の表330Cも、パブリックキー335及び対応するアクセスコントロールリストACL336として、Chnlファームエアコードのオーナのパブリックキーを含むようアップデートされる。表330Cのアップデートの結果、アクセスコントロールリストは、Rootファームエアコードのオーナの3個のポインタFV1311への332A、FV2313への332B、及びFV4317への332Dと、OEMファームエアコードのオーナの1個のポインタFV3315への334Cと、Chnlファームエアコードのオーナの1個のポインタFV5319への336Eを含むこととなる。図4は、本発明の実施例に従った、図2Aないし図2F及び図3の署名付きファームウェアイメージのアクセスコントロールリストのアップデートのための方法のフローチャートを示す。図4に示されたステップは、現在のファームエアイメージのオーナによって実行される。すなわち、図3の署名付きファームエアイメージ310Aが、署名付きファーウエアイメージをアップデートする他のエンティティに権限を委任する。ファームウェアイメージをアップデートする権限を委任するエンティティを、本明細書では以下委任エンティティdelegatingentityと言う。図2Aないし図2Fの上述の実施例では、図4に示されたステップは、アクション3.2及び3.3においてOEMファームウエアコードのオーナに権限を委任するために、Rootファームエアコードのオーナによって実行される。同様に、図4のステップは、アクション3.5及び3.6において、Chnlファームウエアコードのオーナに権限を委任するために、OEMファームウエアコードのオーナによって実行される。図4のステップは、現在のファームエアイメージのアクセスコントロールリストのアップデートのために実行される。例えば、ルートファームエアイメージ310Aのアクセスコントロールリスト330A、又はOEMファームエアイメージ310Bのアクセスコントロールリスト330Bが挙げられる。アクセスコントロールAC転送トークンの取得ステップ410において、図3のアクセスコントロールトークン360又はトークン370が委任エンティティから取得される。図2Aないし図2F及び図3を参照して既に述べたように、図3のアクセスコントロールトークン、例えばトークン360又はトークン370は、配布チャネルdistributionchannelにおいて、一つのエンティティによって生成され、配布チャネルの次のエンティティを許可し、定められたバージョンのファームエアイメージを修正する。このアクセスコントロールトークンは、委任エンティティのプライベートキーを使用することによって署名され、そして、委任エンティティのパブリックキーが、すなわち、アクセスコントロールトークンに関連付けられる。配布チャネルにおける委任エンティティからアクセスコントロールトークンが取得されると、制御は、委任エンティティの識別、及び委任エンティティのパブリックキーの署名とACLとの照合ステップ420に移行する。委任エンティティの識別、及び委任エンティティのパブリックキーの署名とACLとの照合ステップ420において、委任エンティティが、アクセスコントロールトークンに署名したエンティティとして識別される。図3の実施例のアクション3.2を実行するときに、委任エンティティは、Rootファームウエアコードのオーナである。アクセスコントロールトークンに関連するパブリックキーが、ファームウェアイメージのアクセスコントロールリストに対してアップデートする権利を委任されていると判断されるパブリックキーと照合される。アクセスコントロールトークンに関連するパブリックキーが、ファームウェアイメージのアクセスコントロールリストに見いだされる場合、制御は、AC転送トークンの署名の検証ステップ430に移る。AC転送トークンの署名の検証ステップ430において、委任エンティティのパブリックキーがアクセスコントロールトークンの署名の検証に用いられる。この署名の検証を実行するために、署名付きアクセスコントロールトークンからハッシュ値が計算されてもよい。パブリックキーは、デジタル署名及び署名付きデータの復号にも用いられてもよい。そして、復号されたデータから別のハッシュ値が計算できる。2つの計算されたハッシュ値が一致した場合、デジタル署名が有効であると認識してもよい。アクセスコントロールトークンの署名が検証された後、制御は、ACLの変更を要求するコードモジュールの特定ステップ440に移る。ACLの変更を要求するコードモジュールの特定ステップ440において、権限が委任されることになっているファームウエアボリュームが特定される。アクション3.2の例で、アクセスコントロールトークン360において特定されたファームウエアボリュームは、ボリュームFV3315、及びFV5319であった。ファームエアボリュームが特定されると、制御は、委任エンティティがACを変更する権限があることの検証ステップ450に移行する。委任エンティティがACを変更する権限があることの検証ステップ450において、委任エンティティは、現在のファームウェアイメージのアクセスコントロールリストを変更する権限を有しているか否かが判断される。上述したように、委任エンティティである、Rootファームウエアコードのオーナは、ファームエアボリュームFV1311ないしFV5319のファームウエアボリュームのアクセスコントロールリストのオーナであることが指定されている。したがって、委任エンティティは、これらのファームウエアボリュームのアクセスコントロールリストを変更する権限を有する。制御は、ACLのアップデート:新しいエンティティのパブリックキーの挿入とコードモジュールのACLのアップデートステップ460に移る。ACLのアップデート:新しいエンティティのパブリックキーの挿入とコードモジュールのACLのアップデートステップ460において、権限が委任されるエンティティこの実施例の場合には、OEMファームウエアコードのオーナのパブリックキーが、アクセスコントロールリストに追加され、そして、ファームウエアボリュームFV3315及びFV5319のアクセスコントロールリストがアップデートされる。ファームウエアボリュームFV3315、及びFV5319をアップデートする権限は、OEMファームウエアコードのオーナに委任されている。図5は、本発明の実施例に従った、図2Aないし図2F及び図3の署名付きファームウェアイメージのアップデートの方法のフローチャートを示す。署名付きモジュールの処理ステップ510において、現在のファームウェアイメージ、すなわちルートファームウエアイメージ310Aは、署名付きモジュールの処理のリクエストを受け付ける。署名付きモジュールの処理は、例えば署名付きモジュールに含まれる複数のファームウエアモジュールの情報のラップを解きunwrapping、及び/又は、署名付きモジュールの署名に使われるキーのラップを解く。署名付きコードモジュールの各々は、図5のステップに基づいて処理される。制御は、パブリックキーの署名とACLとの照合、及びアップデートするエンティティの識別ステップ520に移行する。パブリックキーの署名とACLとの照合、及びアップデートするエンティティの識別ステップ520において、署名付きモジュールを署名するのに用いたプライベートキーに対応するパブリックキーが、現在のファームウェアイメージのアクセスコントロールリストと比較され、アップデートするエンティティが識別される。署名付きモジュールのパブリックキーが、現在のファームウェアイメージのアクセスコントロールリストに見いだされる場合、制御は、モジュールの署名の検証ステップ530に移行する。モジュールの署名の検証ステップ530において、モジュールの署名が検証される。署名の検証を実行するために、署名付きモジュールからハッシュ値が計算されてもよい。このパブリックキーは、デジタル署名の復号及び署名付きデータの復号に用いられてもよい。そして、復号されたデータからハッシュ値が計算できる。2つの計算されたハッシュ値が一致した場合、デジタル署名は、有効であると判断してもよい。モジュールの署名が検証された後、制御は、アップデートのためのコードモジュールの特定ステップ540に移行する。アップデートのためのコードモジュールの特定ステップ540で、現在のファームウェアイメージにおいてアップデートされるべきファームウエアボリュームのコードモジュールが特定される。ファームウエアボリュームのコードモジュールが特定されると、制御は、アップデートするエンティティが、要求されているコードモジュールをアップデートする権限を有するかの検証ステップ550に移行する。アップデートするエンティティが、要求されているコードモジュールをアップデートする権限を有するかの検証ステップ550において、アップデートするエンティティが、要求されているファームウエアボリュームをアップデートする権限を有するか否かが判断される。アップデートするエンティティが権限を有する場合、制御は、コードモジュールのアップデートステップ560に移行する。コードモジュールのアップデートステップ560において、現在のファームウェアイメージのコードモジュールがアップデートされる。図6は、本発明の実施例に従った、ファームウェアイメージが複数のコードのオーナに署名されることを実現するよう構成されたシステムのブロック図である。プラットフォーム600は、ホストコンピュータシステムに対応し、デスクトップマネージメントインターフェースDMI611を介してチップセット620に接続されたプロセッサ610を有する。プロセッサ610は、処理パワーをプラットフォーム600に提供し、シングルコア又はマルチコアプロセッサであってもよく、1つ以上のプロセッサがプラットフォーム600に含まれてもよい。プロセッサ610は、一つ以上のシステムバス、通信パス又はメディア図示せずを介して、プラットフォーム600の他のコンポーネントに接続されてもよい。チップセット620は、管理エンジンmanageabilityengineME630を含む。これは、埋め込まれたマイクロプロセッサとしてインプリメントされ、チップセットプロセッサ610とは独立に動作し、プラットフォーム600の構成及び動作を管理する。一実施例において、プロセッサ610は、ホストオペレーティングシステム図示せずの指示のもとに動作し、管理エンジンME630は、安全で隔離された環境を提供し、これはホストオペレーティングシステムがアクセスすることができない。一実施例において、管理エンジンME630は、ユーザの信頼性を証明し、周辺デバイスのアクセスを制御し、プラットフォーム600の記憶デバイスに格納されたデータの保護のための暗号キーを管理する。エンタープライズサービス670を用いることにより、管理エンジンME630は、構成のためのエンタープライズ全体のポリシや、例えばプラットフォーム600のプラットフォームの管理の一貫性を維持する。マルチオーナにより署名されているファームエアアップデートの管理は、管理エンジンME630により実行されるファームウェアとしてインプリメントされてもよい。ME630と、エンタープライズサービス670との通信は、アウトオブバンド通信チャネル671を介してなされる。一実施例において、アウトオブバンド通信チャネル671は、ホストシステムの管理エンジンME630と、ホストシステムを管理するエンタープライズサービス670との安全な通信チャネルである。プラットフォーム600と、エンタープライズサービス670との安全な通信を可能とする暗号化/復号化キーは、チップセット620及び管理エンジンME630の製造段階において、図6のフラッシュメモリ690に格納されてもよい。図6に示される実施例において、管理エンジンME630は、管理エンジンコントローラインターフェースMECI631を介して、マイクロコントローラ640に接続される。一実施例において、マイクロコントローラ640は、汎用目的のコントローラであり、ストレージ命令及びその他の高速化された処理を実行する。図示された実施例において、管理エンジンME630は、マイクロコントローラ640の動作を制御し、これは更に記憶コントローラ650の動作を制御する。記憶コントローラ650は、例えば記憶デバイス652などの記憶デバイスのためのコントローラであり、マイクロコントローラ640及びME630が記憶デバイス652に記憶されているデータにアクセスすることを可能とする。プラットフォーム600は、更にメモリデバイス例えばダイナミックランダムアクセスメモリDRAM612、スタティックランダムアクセスメモリSRAM622をチップセット620内に有する。そして、フラッシュメモリ690及び記憶デバイス652は、記憶コントローラ650を介してアクセスできる。このようなメモリデバイスは、ランダムアクセスメモリRAM及びリードオンリーメモリROMを含んでもよい。開示の目的のため、ROMの語は、不揮発性メモリデバイス一般を指すものとして用いる。例えば、EPROM、EEPROM、フラッシュROM、フラッシュメモリ等が挙げられる。記憶デバイス652は、大容量記憶デバイス、例えばIDEハードドライブ、及び/又は、他の媒体、例えばフロッピー登録商標ディスク、光記憶、テープ、フラッシュメモリ、メモリスティック、デジタルビデオディスク、生物学的記憶装置等がある。フラッシュメモリ690は、フラッシュインターフェース691を介して、チップセット620からアクセスできる。記憶装置652および/またはメモリデバイスDRAM612、SRAM622及びフラッシュメモリ690に記憶されるデータは、暗号化されてもよい。フラッシュメモリ690は、プラットフォーム600をイニシャライズするために使用されるファームウェアを含む。このイニシャライズファームウェアは、システムコンポーネントハードウェア例えばビデオディスプレイカード及びハードディスク及び管理エンジンME630を含む一部の他のハードウェアデバイスを特定し、かつ初期化するために、BIOSファームウェア692を含む。BIOSファームウェア692は知られているように、プラットフォーム600のシステムコンポーネントハードウェアを低い能力状態において作動させるため、オペレーティングシステムを含むさまざまなメディアに記憶される他のソフトウェアプログラムがロードされ、実行され、そしてプラットフォーム600の制御を受ける。BIOSファームエア692は、BIOS/ME通信モジュール630を含み、これは、ブート処理の間に、管理エンジンME630の初期の構成configurationを可能とする。一実施例において、管理エンジンME630は、プラットフォーム600にオペレーティングシステムがロードされる直前に、通知を受けるために、BIOS/ME通信モジュール693に登録する。この通知は、オペレーティングシステムがロードされる準備のために、管理エンジンME630に特定の命令を実行させる。フラッシュメモリ690は、ネットワークコントローラ660を構成するためのネットワークコントローラファームウエア695、及びチップセット620を構成するためのチップセットファームウエア696を含む。フラッシュメモリ690は、また、データ領域698を含む。実施例において、データ領域698は、暗号化され、管理エンジンME630によってのみ読み込まれてもよい。BIOS/ブートファームウェアのマルチオーナマネジメントサービスを提供するためにME630によって使用される情報は、フラッシュメモリ690の、又は、記憶装置652上のデータ領域698に記憶されてもよい。プロセッサ610は、また、付加的なコンポーネント例えばビデオコントローラ、小型コンピューターシステムインターフェースSCSIコントローラ、ネットワーク制御装置、ユニバーサルシリアルバスUSBコントローラ、入力装置例えばキーボード及びマウス、などに、通信できるよう接続されてもよい。プラットフォーム600は、また、様々なシステムコンポーネントと通信できるよう接続するために、一つ以上のブリッジ又はハブを含んでもよい例えばメモリーコントローラハブ、入出力I/Oコントローラハブ、PCIルートブリッジ、その他。本明細書で、バスの語は、共用の通信経路、及びポイントツーポイント経路を参照するものとして用いられる。一部のコンポーネント例えばネットワーク制御装置660例えばは、バスによって通信するためのインターフェース例えばPCIコネクタを有するアダプターカードとしてインプリメントされてもよい。実施例において、コントローラが組み込まれたのと同様に、コンポーネント例えばプログラム可能な、又は、プログラム可能でないロジックデバイス、又は、アレイ、特定用途向け集積回路ASIC、組み込み型コンピュータ、スマートカード、などを用いて一つ以上のデバイスがインプリメントされてもよい。本明細書で使用している、処理システムの語及びデータ処理システムの語は、広く単一の機械を含み、又は、一緒に動作する、通信可能に接続された機械、又は、デバイスを含むことを意図している。処理システムの例としては、分散型計算システム、スーパーコンピュータ、高性能コンピューティングシステム、計算クラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアントサーバシステム、パソコン、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット、電話、パーソナル携帯情報機器PDA、携帯デバイス、娯楽デバイス例えばオーディオおよび/またはビデオデバイス及び情報を処理し又は伝送するための、その他のデバイスが挙げられるが、これらに限定されるものではない。プラットフォーム600は、従来の入力装置例えばキーボード、マウス、その他からの入力によっておよび/または他の機械、生物測定フィードバック、又は、他の入力源、又は、信号から受信される命令によって、少なくともその一部が制御されてもよい。プラットフォーム600は、一つ以上のリモートデータ処理システム図示せずへの一つ以上の接続を利用してもよい。例えばネットワークインタフェース制御装置NIC660、モデム、又は、他の通信ポート、又は、カップリング、が挙げられる。プラットフォーム600は、物理的なおよび/または論理的ネットワーク例えばローカルエリアネットワークLAN、広域ネットワークWAN、イントラネット、インターネット、などを介して、他の処理システム図示せずに相互接続してもよい。ネットワークに含まれる通信は、無線周波数RF、衛星、マイクロ波、IEEE802.11、ブルートゥース、光学で、赤外線、ケーブル、レーザー、その他、を含む、さまざまな有線および/または無線の、ショートレンジ、又は、ロングレンジキャリア及びプロトコルを利用してもよい。本願明細書において開示されるメカニズムの実施例はハードウェア、ソフトウェア、ファームウェア、又は、この種のインプリメンテーションアプローチの組合せによってインプリメントされてもよい。本発明の実施例は、少なくとも一つのプロセッサ、データ記憶システム揮発性の及び不揮発性メモリおよび/または記憶要素を含む、少なくとも一つの入力装置、及び少なくとも一つの出力装置を含むプログラマブルシステムで実行されるコンピュータプログラムとしてインプリメントされてもよい。プログラムコードはデータを入力し、本願明細書において記載されている機能を実行し、かつ出力情報を生成するために適用されてもよい。本発明の実施例は、本発明のオペレーションを実行するための命令を格納した機械可読の媒体を含む。また、媒体は、本明細書に記載された構成、回路、装置、プロセッサ、及び/又は、システムの特徴を定義するHDL等のデザインデータを含む。これらの、実施例は、プログラムプロダクトとも呼ばれる。このような、機械がアクセス可能な媒体としては、機械又はデバイスが生成または形成したパーティクルの具体的配置、例えばハードディスク、フロッピー登録商標ディスクを含む他のいかなる種類のディスク、光ディスク、コンパクトディスク読取り専用メモリCD-ROM、CD-RW、光磁気ディスク、読取り専用メモリROMのような半導体デバイス、ダイナミックランダムアクセスメモリDRAMのようなランダムアクセスメモリRAM、SRAM、EPROM、フラッシュプログラマブルメモリFLASH、EEPROM、磁気又は光カード、又は、電子命令を記憶することに適している他のいかなる種類のメディア、が含まれる。出力情報は、周知の方法で、一つ以上の出力装置に適用されてもよい。本発明を適用する処理システムは、例えば、プロセッサを有するいかなるシステムも含む。すなわち、デジタルシグナルプロセッサDSP、マイクロコントローラ、特定用途向け集積回路ASIC、又は、マイクロプロセッサ、が含まれる。プログラムは、処理システムによって通信する高水準手順、又は、オブジェクト指向プログラミング言語でインプリメントされてもよい。また、必要に応じて、プログラムは、アセンブリ、又は、機械言語でインプリメントされてもよい。事実、本願明細書に記載されているメカニズムは、技術的範囲に関し、いかなる特定のプログラミング言語にも制限されない。いずれにせよ、言語は、コンパイル、又は、インタープリタ言語であってもよい。複数の所有者の署名付きファームウェアを配布するための方法とシステムの実施例が、本願明細書において示されている。本発明の具体例が図と共に記載されているが、添付の請求の範囲の範囲内において、多くの変更、バリエーション及び修正を行うことができることは当業者にとって明らかである。したがって、当業者は、変更及び修正は、本発明の広範な内容から逸脱することなく、なされることができると理解するはずである。添付の請求項の技術的範囲は、これらの変更、バリエーション、及び修正を、包含する。