(57)【要約】２以上のトークンに対するオブジェクトをシールするための方法、装置及びコンピュータ読み取り可能な媒体が開示される。更に、２以上のトークンに対して確認されたオブジェクトのシールを解除するための方法、装置及びコンピュータ読み取り可能な媒体も開示される。
2005527019.tif 000002
【特許請求の範囲】
【請求項１】
マルチトークンシールオブジェクトの第１部分を得るために、マルチトークンシールオブジェクトのシールされた第１部分のシールを解除するよう第１トークンに要求するステップ；
マルチトークンシールオブジェクトの第２部分を得るために、マルチトークンシールオブジェクトのシールされた第２部分のシールを解除するよう第２トークンに要求するステップ；及び
前記第１部分及び前記第２部分を使用して、前記マルチトークンシールオブジェクトからオブジェクトを得るステップ；
を有することを特徴とする方法。
【請求項２】
前記第２部分の暗号化を解除するキーとして前記第１部分を使用することで、前記マルチトークンシールオブジェクトのオブジェクトを得るステップを更に有する
ことを特徴とする請求項１記載の方法。
【請求項３】
前記第１トークンがシールされた第１部分のシールを解除することに応じてキーを受信するステップ；
前記第２トークンが第２部分のシールを解除することに応じて暗号化されたオブジェクトを受信するステップ；及び
前記暗号化されたオブジェクトの暗号化を解除するために前記キーを使用することで、前記マルチトークンシールオブジェクトのオブジェクトを取得するステップ；
ことを特徴とする請求項１記載の方法。
【請求項４】
前記マルチトークンシールオブジェクトの前記第１部分及び前記第２部分に基づいて、キーを生成するステップ；及び
前記マルチトークンシールオブジェクトの暗号化されたオブジェクトの暗号化を解除するために生成したキーを用いて、前記マルチトークンシールオブジェクトのオブジェクトを取得するステップ；
を更に有することを特徴とする請求項１記載の方法。  
【請求項５】
前記マルチトークンシールオブジェクトの前記第１部分及び前記第２部分からキーを生成するステップ；及び
前記マルチトークンシールオブジェクトの暗号化されたオブジェクトの暗号化を解除するために、生成したキー及び対称的な暗号化アルゴリズムを用いることで、マルチトークンシールオブジェクトのオブジェクトを取得するステップ；
を更に有することを特徴とする請求項１記載の方法。
【請求項６】
前記第１トークンがシールされた第１部分のシールを解除したことに応答して、第１キーを受信するステップ；
前記第２トークンがシールされた第２部分のシールを解除したことに応答して、第２キーを受信するステップ；
前記第１及び前記第２キーから第３キーを生成するステップ；及び
前記マルチトークンシールオブジェクトの暗号化されたオブジェクトの暗号化を解除するために、前記第３キーを用いてシールされたマルチトークンのオブジェクトを取得するステップ；
を更に有することを特徴とする請求項１記載の方法。
【請求項７】
目下の装置環境がシールされた第１部分に指定された環境基準を満足することを前記第１トークンが判別した場合にのみ、第１トークンがシールされた第１部分のシールを解除したことに応じて第１キーを受信するステップ；
目下の装置環境がシールされた第２部分に指定された環境基準を満足することを前記第２トークンが判別した場合にのみ、第２トークンが第２部分のシールを解除したことに応じて第２キーを受信するステップ；
前記第１キー及び前記第２キーから第３キーを生成するステップ；及び
マルチトークンシールオブジェクトの暗号化されたオブジェクトの暗号化を解除するために、第３キーを用いてシールされたマルチトークンのオブジェクトを取得するステップ；
を更に有することを特徴とする請求項１記載の方法。
【請求項８】
第１部分から算出された第１の値とシールされた第１部分の第１シールレコードとが、シールされた第１部分の第１のダイジェスト値に対して所定の関係を有する場合にのみ、前記第１トークンがシールされた第１部分のシールを解除したことに応じて第１キーを受信するステップ；及び
第２部分から算出された第２の値と、シールされた第２部分の第２シールレコードとが、シールされた第２部分の第２のダイジェスト値に対して所定の関係を有する場合にのみ、前記第２トークンがシールされた第２部分のシールを解除したことに応じて第２キーを受信するステップ；
を更に有することを特徴とする請求項７記載の方法。
【請求項９】
前記第１トークンがシールされた第１部分を生成した場合にのみ、前記第１トークンがシールされた第１部分のシールを解除したことに応じて第１キーを受信するステップ；
前記第２トークンがシールされた第２部分を生成した場合にのみ、前記第２トークンが第２部分のシールを解除したことに応じて第２キーを受信するステップ；
前記第１キー及び前記第２キーから第３キーを生成するステップ；及び
前記マルチトークンシールオブジェクトの暗号化されたオブジェクトの暗号化を解除するために、第３キーを利用してシールされたマルチトークンのオブジェクトを取得するステップ；
を有することを特徴とする請求項１記載の方法。
【請求項１０】
マルチトークンシールオブジェクトの複数のシールされた部分のシールを解除するように、複数のトークンに要求するステップ；
マルチトークンシールオブジェクトのシールの解除された複数の部分を受信するステップ；及び
マルチトークンシールオブジェクトのシールの解除された複数の部分を用いて、複数のトークンに対してシールされたオブジェクトを取得するステップ；
を有することを特徴とする方法。
【請求項１１】
マルチトークンシールオブジェクトのシールされていない複数の部分からキーを生成するステップ；及び
オブジェクトを得るためにキーを用いて暗号化されたオブジェクトの暗号化を解除するステップ；
を有することを特徴とする請求項１０記載の方法。
【請求項１２】
マルチトークンシールオブジェクトのシールの解除された複数の部分からキーを生成するステップ；及び
オブジェクトを得るために、キー及び対称的な暗号化アルゴリズムを用いて暗号化されたオブジェクトの暗号化を解除するステップ；
を有することを特徴とする請求項１０記載の方法。
【請求項１３】
現在の装置環境が、複数のシールされた部分に指定された装置基準を満たす場合にのみ、複数のシールされた部分のシールを解除するステップより成る
ことを更なる特徴とする請求項１２記載の方法。
【請求項１４】
複数のトークンが複数のシールされた部分を生成した場合にのみ、複数のシールされた部分のシールを解除するステップを更に有する
ことを更なる特徴とする請求項１２記載の方法。
【請求項１５】
マルチトークンシールオブジェクトの第１部分を第１環境基準に対してシールするように、コンピュータ装置の第１トークンに要求するステップ；及び
マルチトークンシールオブジェクトの第１部分を第２環境基準に対してシールするように、コンピュータ装置の第２トークンに要求するステップ；
を有することを特徴とする方法。
【請求項１６】
暗号化されたオブジェクトを得るために、対称的な暗号化アルゴリズム及びキーを用いてオブジェクトを暗号化するステップ；
暗号化されたオブジェクトより成る前記第１部分を前記第１トークンがシールしたことに応じて、シールされた暗号化されたオブジェクトを受信するステップ；
キーより成る前記第２部分を前記第２トークンがシールしたことに応じて、シールされたキーを受信するステップ；
を有することを特徴とする請求項１５記載の方法。
【請求項１７】
暗号化されたオブジェクトを得るために、非対称暗号化アルゴリズム及び一対の非対称キーの暗号化キーを用いてオブジェクトを暗号化するステップ；
暗号化されたオブジェクトより成る第１部分を前記第１トークンがシールしたことに応答して、シールされた暗号化オブジェクトを受信するステップ；
一対の非対称キーの暗号解除キーより成る第２部分を第２トークンがシールしたことに応答して、シールされた暗号解除キーを受信するステップ；
を有することを特徴とする請求項１５記載の方法。
【請求項１８】
前記第１トークンの第１キーを用いて前記第１トークンにより暗号化された、第１キーより成るシールされた第１部分と、前記第１環境基準により指定された１以上のメトリックより成る第１シールレコードと、前記第１キー及び前記第１シールレコードの完全性を証明する第１ダイジェスト値とを受信するステップ；及び
前記第２トークンの第２キーを用いて前記第２トークンにより暗号化された、第２キーより成るシールされた第２部分と、前記第２環境基準により指定された１以上のメトリックより成る第２シールレコードと、前記第２キー及び前記第２シールレコードの完全性を証明する第２ダイジェスト値とを受信するステップ；
を更に有することを特徴とする請求項１５記載の方法。
【請求項１９】
前記第１シールレコードが、前記第１トークンに関する固有の第１識別子より成り、及び
前記第２シールレコードが、前記第２トークンに関する固有の第２識別子より成る
ことを特徴とする請求項１８記載の方法。
【請求項２０】
第１キー及び第２キーに基づいて生成されたキーを利用して前記オブジェクトを暗号化するステップ；
前記第１キーより成る前記第１部分を前記第１トークンがシールすることに応答して、シールされた第１キーを受信するステップ；
前記第２キーより成る前記第２部分を前記第２トークンがシールすることに応答して、シールされた第２キーを受信するステップ；
を更に有することを特徴とする請求項１５記載の方法。
【請求項２１】
前記第１トークンの第１キーを用いて、前記第１部分及び前記第１環境基準により指定されたメトリックを暗号化することで、シールされた第１部分を生成するステップ；
前記第２トークンの第２キーを用いて、前記第２部分及び前記第２環境基準により指定されたメトリックを暗号化することで、シールされた第２部分を生成するステップ；
を更に有することを特徴とする請求項２０記載の方法。
【請求項２２】
前記第１トークンが仮想的トークンより成り、及び
前記第２トークンが物理的トークンより成る
ことを特徴とする請求項２１記載の方法。
【請求項２３】
前記仮想的トークンのメトリックより成る前記物理的トークンの少なくとも１つのコンフィギュレーションレジスタを確認することで、前記第２環境基準を指定するステップ
を有することを特徴とする請求項２２記載の方法。
【請求項２４】
コンピュータ装置のメトリックを記録する前記第１トークンの１以上のコンフィギュレーションレジスタを確認することで、前記第１環境基準を指定するステップ；及び
前記コンピュータ装置のメトリックを記録する前記第２トークンの１以上のコンフィギュレーションレジスタを確認することで、前記第２環境基準を指定するステップ；
を有することを特徴とする請求項１５記載の方法。
【請求項２５】
前記第２環境基準を指定するステップが、前記第１トークンのメトリックより成る前記第２トークンの少なくとも１つのコンフィギュレーションレジスタを確認するステップより成る
ことを特徴とする請求項２４記載の方法。
【請求項２６】
前記第１トークンが仮想的トークンより成り、及び
前記第２トークンが物理的トークンより成る
ことを特徴とする請求項２５記載の方法。
【請求項２７】
装置環境のメトリックを記録する１以上のコンフィギュレーションレジスタと、第１環境基準に対してシールされた第１キーより成る第１シールキーを生成する１以上のプロセッサ装置とを有する仮想的トークン；
装置環境のメトリックを記録する１以上のコンフィギュレーションレジスタと、第２環境基準に対してシールされた第２キーより成る第２シールキーを生成する１以上のプロセッサ装置とを有する物理的トークン；及び
前記第１キー及び前記第２キーに基づいて第３キーを生成し、暗号化されたオブジェクトを取得するために前記第３キーを用いてオブジェクトを暗号化し、前記第１シールキーを得るために前記第１キーをシールするように前記仮想的トークンに要求し、前記第２シールキーを得るために第２キーをシールするように前記物理的トークンに要求するシーリングコンポーネント；
を備えることを特徴とする装置。
【請求項２８】
前記シーリングコンポーネントは、前記第１キーをシールする前記仮想的トークンの１以上のコンフィギュレーションレジスタを確認することで前記第１環境基準を指定し、前記第２キーをシールする前記物理的トークンの１以上のコンフィギュレーションレジスタを確認することで前記第２環境基準を指定する
ことを特徴とする請求項２７記載の装置。
【請求項２９】
前記シーリングコンポーネントが、前記第１キーをシールする前記仮想的トークンの第１の公開キーを指定し、前記第２キーをシールする前記物理的トークンの第２の公開キーを指定する
ことを特徴とする請求項２８記載の装置。
【請求項３０】
前記第１キーを暗号化するために前記第１公開キーを利用することによってシールされた第１キーと、前記第１環境基準によって指定されたメトリックより成る第１シールレコードと、前記第１キー及び前記第１シールレコードの整合性を証明する第１ダイジェスト値を前記仮想的トークンが生成し；及び
前記第２キーを暗号化するために前記第２公開キーを利用することによってシールされた第２キーと、前記第２環境基準によって指定されたメトリックより成る第２シールレコードと、前記第２キー及び前記第２シールレコードの整合性を証明する第２ダイジェスト値を前記物理的トークンが生成する；
ことを特徴とする請求項２９記載の装置。
【請求項３１】
前記第１キーを取得するためにシールされた第１キーのシールを解除するように前記仮想的トークンに要求し、前記第２キーを取得するためにシールされた第２キーのシールを解除するように前記物理的トークンに要求し、前記第１キー及び前記第２キーに基づいて第３キーを生成し、及び前記第３キーを用いて暗号化されたオブジェクトの暗号化を解除するアンシールコンポーネントを更に備える
ことを特徴とする請求項２７記載の装置。
【請求項３２】
前記仮想的トークンのプロセッサ装置が、更に、シールされた第１キーのシールを解除し、前記仮想的トークンの１以上のコンフィギュレーションレジスタのメトリックが前記第１環境基準を満たす場合にのみ前記アンシーリングコンポーネントに前記第１キーを与え、前記物理的トークンのプロセッサ装置が、更に、シールされたキーのシールを解除し、前記物理的トークンの１以上のコンフィギュレーションレジスタのメトリックが前記第２環境基準を満たす場合にのみ前記アンシーリングコンポーネントに、前記暗号化オブジェクトの暗号化解除に使用される前記キーを与える、
ことを特徴とする請求項３１記載の装置。
【請求項３３】
暗号化されたオブジェクトと、第１シールレコードと、前記暗号化されたオブジェクト及び前記第１シールレコードの整合性を証明する第１ダイジェスト値とを得るために、前記仮想的トークンの第１の私的なキーを利用して、シールされたオブジェクトの暗号化を解除することで、前記仮想的トークンが、シールされたオブジェクトのシールを解除し、及び
キーと、第２シールレコードと、前記キー及び前記第２シールレコードの整合性を証明する第２ダイジェスト値とを得るために、前記物理的トークンの第２の私的なキーを利用して、シールされたキーの暗号化を解除することで、前記物理的トークンが、シールされたキーのシールを解除する、
ことを特徴とする請求項３２記載の装置。
【請求項３４】
シールされた第１のキーから得た前記第１ダイジェスト値が、第１のキー及びシールされた第１のキーの第１シールレコードから算出された値と所定の関係を有する場合にのみ、前記仮想的トークンの処理装置が、前記アンシーリングコンポーネントに暗号化されたオブジェクトを与え、及び
シールされた第２のキーから得た前記第２ダイジェスト値が、第２のキー及びシールされた第２のキーの第２シールレコードから算出された値と所定の関係を有する場合にのみ、前記物理的トークンの処理装置が、前記アンシーリングコンポーネントに第２キーを与える
ことを特徴とする請求項３１記載の装置。
【請求項３５】
シールされた第１部分を得るために、第１トークンの第１の公開キーを利用して、マルチトークンシールオブジェクトの第１部分を第１環境基準に対してシールすること；
シールされた第２部分を得るために、第２トークンの第２の公開キーを利用して、マルチトークンシールオブジェクトの第２部分を第２環境基準に対してシールすること；
をコンピュータ装置に実行させる複数の命令を有するコンピュータ読み取り可能な媒体。
【請求項３６】
コンピュータ装置のメトリックを記録する前記第１トークンの１以上のコンフィギュレーションレジスタを確認することで、前記第１環境基準を指定すること；及び
コンピュータ装置のメトリックを記録する前記第２トークンの１以上のコンフィギュレーションレジスタを確認することで、前記第２環境基準を指定すること
をコンピュータ装置に実行させる複数の命令を有する請求項３５記載のコンピュータ読み取り可能な媒体。
【請求項３７】
第１部分と、前記第１環境基準によって指定された１以上のコンフィギュレーションレジスタのメトリックより成る第１シールレコードと、暗号化されたオブジェクト及びシールレコードの第１ダイジェスト値とを有するように、シールされた第１部分を生成すること、
第２部分と、前記第２環境基準によって指定された１以上のコンフィギュレーションレジスタのメトリックより成る第２シールレコードと、前記キー及び第２シールレコードとを有するように、シールされた第２部分を生成すること、
をコンピュータ装置に実行させる複数の命令を有する請求項３６記載のコンピュータ読み取り可能な媒体。
【請求項３８】
前記第１トークンの第１のプライベートキーを用いてシールされた第１部分のシールを解除し、前記第１トークンにより記録されたメトリックが、前記第１シールレコードのメトリックと所定の関係を有する場合にのみ前記第１部分を提供すること、
前記第２トークンの第２のプライベートキーを用いてシールされた第２部分のシールを解除し、前記第２トークンにより記録されたメトリックが、前記第２シールレコードのメトリックと所定の関係を有する場合にのみ前記第２部分を提供すること、
をコンピュータ装置に実行させる複数の命令を有する請求項３７記載のコンピュータ読み取り可能な媒体。
【請求項３９】
シールされた暗号化されたオブジェクトから得られた第１ダイジェスト値が、暗号化されたオブジェクト及び第１シールレコードから算出された第１の値と所定の関係を有する場合にのみ、前記第１部分を提供すること、及び
シールされたキーから得られた第２ダイジェスト値が、前記キー及び第２シールレコードから算出された第２の値と所定の関係を有する場合にのみ、前記第２部分を提供すること、
をコンピュータ装置に実行させる複数の命令を有する請求項３８記載のコンピュータ読み取り可能な媒体。
【請求項４０】
前記第１トークンの第１プライベートキーを用いてシールされた第１部分のシールを解除し、現在の装置環境が前記第１環境基準を満たす場合にのみ、前記第１部分のオブジェクトを提供すること、及び
前記第２トークンの第２プライベートキーを用いてシールされた第２部分のシールを解除し、現在の装置環境が前記第２環境基準を満たす場合にのみ、前記第２部分を提供すること、
をコンピュータ装置に実行させる複数の命令を有する請求項３５記載のコンピュータ読み取り可能な媒体。
【請求項４１】
チップセット；
前記チップセットに結合されたプロセッサ；
前記チップセットに結合されたメモリ；及び
前記チップセットに結合された物理的トークン；
を備え、前記メモリは、プロセッサにより実行された場合に前記プロセッサに仮想的トークンを実現させる複数の命令を有し、前記仮想的トークンは、装置環境のメトリックを記録し、暗号解除キーを生成するよう使用される第１キーを受信し、シール動作要求を受信することに応答して前記仮想的トークンによって記録された１以上のメトリックに対して前記第１キーをシールし、
前記物理的トークンは、装置環境のメトリックを記録し、暗号解除キーを生成するよう使用される第２キーを受信し、シール動作要求を受信することに応答して前記物理的トークンによって記録された１以上のメトリックに対して前記第２キーをシールする、
ことを特徴とする装置。
【請求項４２】
前記物理的トークンにより記録された１以上のメトリックが仮想的トークンメトリックより成り、前記物理的トークンが少なくとも前記仮想的トークンメトリックに対して全キーをシールする
ことを特徴とする請求項４１記載の装置。
【請求項４３】
前記物理的トークンにより記録された前記１以上のメトリックが複数の命令に関するメトリックより成り、複数の命令は、前記プロセッサに前記仮想的トークンを実現させ、前記物理的トークンが、複数の命令の少なくともメトリックに対してキーをシールさせる
ことを特徴とする請求項４１記載の装置。
【請求項４４】
前記複数の命令が、実行される際に、前記プロセッサにシールされた第１キーを生成させ、シールされた第１キーは、第１キーと前記仮想的トークンに固有の第１識別子とを有し、及び
前記物理的トークンは、第２キーと、前記物理的トークンに固有の第２識別子とを有するシールされた第２キーを生成する
ことを特徴とする請求項４１記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチトークンのシール及びアンシールに関する。
【背景技術】
【０００２】
既存のソフトウエアセキュリティサービスは、コンピュータ装置又はプラットフォームが信用されていることを仮定している。それらは、安全な環境で実行する仮定の下でアプリケーションレベルのセキュリティを提供する。この仮定は、既存のビジネスモデルに必要とされるセキュリティレベルの正当性を示すには充分に正しいが、現在の最高水準のセキュリティ機能は、付加的なハードウエアの支援なしに動作可能な最高レベルの保護を既に提供している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このため、信用プラットフォームコンピュータ連盟（ＴＰＣＡ：Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｃｏｍｐｕｔｉｎｇ  Ａｌｌｉａｎｃｅ）は、西暦２００１年１２月１日付けのＴＣＰＡ主要仕様のバージョン１．１ａにて、更なる信頼性を提供し且つ既存のサービス及び新規サービスを強化可能にする信用プラットフォームモジュール（ＴＰＭ）又は物理トークンを説明している。ＴＰＭは、ソフトウエアプロセスの監査及びロギング、プラットフォームのブート完全性（ｂｏｏｔ  ｉｎｔｅｇｒｉｔｙ）、ファイルの完全性及びソフトウエア契約を支援する。ＴＰＭは、露呈又は不正使用からデータ項目が保護されることが可能な格納保護機能を提供し、証明に使用可能な身元を提供する。これらの特性は、第三者が情報に対するプラットフォームアクセスを認めることを勇気付ける（そうでなければ否定される）。
【０００４】
ＴＰＭは孤立したコンピュータエンジンを含み、そのプロセスは、それらが変更不可能であるので信頼できる。これらのプロセス及びプラットフォームにＴＰＭを結合することは、信頼可能な測定値のために組み合わせることができ、プラットフォーム内の主要なコンピュータ環境の状態を報告することができる。ＴＰＭはプラットフォームの起動又はブーティング（ｂｏｏｔｉｎｇ）の信頼性の根拠を与える。プラットフォームの安全なオペレーティングを提供することは所有者（オーナー）の責任であるが、一度ＯＳがロードされると、不信任のソフトウエアがロードされる前に、不信任のソフトウエアをロードすることをＴＰＭに報告することができる。従って、ＴＰＭは、プラットフォーム内の主要なソフトウエア環境の現状を示す測定データを報告することができる。ローカル又はリモートのエンティティは、これらの測定値を信頼可能に得るためにＴＰＭに単に問い合せることができ、プラットフォームの挙動は意図される目的のためにそれを信頼可能にするか否かを決定することができる。ＴＰＭはオペレーティングシステムの現在状態を証明することができるので、ソフトウエアのロードにおける信頼性は改善される。
【０００５】
ＴＰＭは、機密データに対するポータルとして機能してもよく、アクセス権及びソフトウエア環境の特定の組み合わせの下でのみ、そのデータの解放又は使用を許容してもよい。当然に、ＴＰＭの保護された格納内容は、身元情報だけでなく、いかなる重要なデータに使用してもよい。ＴＰＭは、これらのサービスを（ＩＰＳｅｃのように）システムレベルのソフトウエアセキュリティサービスに輸出してもよく、それら自身は通常のアプリケーションによってサービスとして言及される。このような態様は、プラットフォームの身元における信頼性を更に大きくし、同時に、望まれるならばプラットフォームの匿名性も許容する。従って、身元の証明を求めるいかなるアプリケーションも、更なる信頼性と共に使用可能であり、更なる機能も許容可能である。
【課題を解決するための手段】
【０００６】
ここで説明される本発明は、一例により示され、添付図面に限定されない。説明の簡明化のため、図示される要素は必ずしも尺度を表現していない。例えば、いくつかの要素の寸法は、明確化のために他の要素に比して誇張されるかもしれない。更に、適切に考察される参照番号は、相当する又は同様な要素を示すために複数の図中で反復される。  
【発明を実施するための最良の形態】
【０００７】
以下の詳細な説明では、本発明に関する充分な理解を与えるために、多くの具体的詳細が説明される。しかしながら、本発明はそれらの具体的詳細によらずに実施されてもよい。別の場合には、本発明を不明瞭化させないように、周知の方法、手続、要素及び回路は詳細には説明されていない。更に、具体的なサイズ／形式／値／範囲が与えられるかもしれないが、本発明はそれら個々の具体例に限定されない。
【０００８】
「一実施例」、「ある実施例」、「例示的実施例」等に関する本明細書における言及内容は、説明されるその実施例は、ある特定の特徴、構造又は特性を含むかもしれないが、全ての実施例がその特定の特徴、構造又は特性を必ずしも含むとは限らないことを示す。更に、そのような語句は、同一の実施例を言及することを要しない。更に、特定の特徴、構造又は特性が、ある実施例に関して説明される場合には、当業者の知識の範疇で、明示的に説明された又はされていない他の実施例に関して、そのような特徴、構造又は特性をもたらすことが主張される。
【０００９】
図１に示されるコンピュータ装置１００の例は、１以上のプロセッサ１１０から構成されてもよい。プロセッサ１１０は、例えば、リアルモード、プロテクトモード、仮想的８０８６モード及び仮想的マシンモード（ＶＭＸモード）のような１以上のオペレーティングモードをサポートしてもよい。更に、プロセッサ１１０は、サポートされる動作モードの各々にて１以上の特権レベル又はリングをサポートしてもよい。一般に、動作モード及びプロセッサの特権レベルは、実行に利用可能な命令及びそのような命令を実行することの影響を決定する。より具体的には、プロセッサ１１０は、プロセッサ１１０が適切なあるモード及び／又は特権レベルにある場合にのみ、所定の特権命令を実行することを許可されてもよい。
【００１０】
チップセット１２０は１以上の集積回路パッケージ又はチップから構成されてもよく、プロセッサ１１０を、メモリ１３０に、ネットワークインターフェース１４０に、物理トークン１５０に、仮想トークン１６０に及び／又はコンピュータ装置１００の他のＩ／Ｏ装置１７０に結合され、そのＩ／Ｏ装置は例えばマウス、キーボード、ディスクドライブ、ビデオコントローラ等である。チップセット１２０は、メモリ１３０に及びそこからデータを書き込む及び読み出すためのメモリコントローラ（図示せず）から構成されてもよい。更に、チップセット１２０及び／又はプロセッサ１１０は、プロテクトされたメモリ１３２として、メモリ１３０の所定の領域を規定してもよく、その領域は、特定の動作モード（例えば、プロテクトモード）及び特権レベル（例えば、０Ｐ）の場合にプロセッサ１１０によってのみアクセスされる。
【００１１】
ネットワークインターフェース１４０は、一般に、ネットワーク１８０を通じて、１以上のリモートエージェント（例えば、証明確認者、小売商、金融機関）と通信するために、通信装置１００に通信手段を提供する。例えば、ネットワークインターフェース１４０は、コンピュータ装置１００を１以上のリモートエージェント１９０に結合するように、１０Ｍｂ又は１００Ｍｂイーサネット（登録商標）コントローラ、ケーブルモデム、ディジタル加入者回線（ＤＳＬ）モデム、通常の旧式電話サービス（ＰＯＴＳ）モデム等から構成されてもよい。
【００１２】
一般に、コンピュータ装置１００の物理的トークン１５０は、メトリック、キー及び機密に関するプロテクトされた格納部より成り、プロセッサ１１０及びチップセット１２０からの要求に応じて、様々な保全（ｉｎｔｅｇｒｉｔｙ）機能を実行してもよい。特に、物理的トークン１６０は、信頼される方法でメトリックを格納し、信頼される方法でメトリックを引用し、（現在又は将来的な）特定の環境に対して秘密を封じること又はシール（ｓｅａｌ）を行い、及びそれらが封じた環境に対する秘密を解除又はアンシールしてもよい（ｕｎｓｅａｌ）。
【００１３】
仮想的トークン１６０は、コンピュータ装置１００の物理的トークン１５０と同様な手法で動作する。しかしながら、仮想的トークン１６０は、メトリック、キー及び秘密を格納するメモリ１３０及びプロテクトされたメモリ１３２の記憶容量に影響するので、仮想的トークン１６０はメトリック、キー及び秘密に関する更に多くのプロテクトされた格納部から構成される。更に、仮想的トークン１６０は、そのような保全動作を実行するプロセッサ１１０の処理能力に影響するので、仮想的トークン１６０は物理的トークン１５０より速やかに保全動作を実行する。
【００１４】
図２に示されるように、物理的トークン１５０は、１以上の処理部２１０から構成されてもよく、その処理部はコンピュータ装置１００に関する保全動作を実行してもよい。物理的トークン１５０は、一定の私的なキー２２０及び対応する一定の公的なキー２２２を、例えばＲＳＡ暗号化アルゴリズムのような非対称暗号化アルゴリズムに従って更に生成してもよい。一実施例では、一定の私的なキー２２０及び対応する公的なキー２２２が固有であり且つ一度起動されると変更できないように、物理的トークン１５０は、一定の公的な／私的なキーのペア２２０，２２２を生成する。
【００１５】
また、物理的トークン１５０は、リモートエージェント１９０に保証を与えるためにコンピュータ装置１００に付加され又は組み込まれ、その保証は、物理的トークン１５０が１つのコンピュータシステム１００にのみ関連することである。例えば、物理的トークン１５０は、チップセット１２０の複数チップの１つの中に組み込まれ、及び／又はコンピュータ装置１００のメインボードに搭載される表面に組み込まれてもよい。一定の物理的トークン１５０の一意性及びコンピュータ装置１００へ組み込まれることに起因して、リモートエージェント１９０は、物理的トークン１５０の一定の公的なキー２２２に基づいて、いくらかの確実性と共にコンピュータシステム１００を確認してもよい。
【００１６】
一定の私的な／公的なキーのペア２２０，２２２に加えて、物理的トークン１５０は、非対称暗号化アルゴリズムに従って、１以上の補足的な私的な／公的なキーのペア２３０，２３２を更に生成してもよい。一実施例では、コンピュータ装置１００は、補足的な私的な／公的なキーのペア２３０，２３２を必要とされるように生成し、一定の私的な／公的なキーのペア２２０，２２２を不変にしてもよい。従って、コンピュータ装置１００は、典型的には、例えば承認当局のような小さな信頼されるエンティティ群にのみ一定の公的なキー２２２を提供する。更に、コンピュータ装置１００は、典型的には、一定の公的なキー２２２の露呈を減らすために、暗号化、暗号解除及びディジタル署名の他の多くの動作について、その補足的な私的な／公的なキーのペア２３０，２３２を使用する。
【００１７】
物理的トークン１５０は、信頼される手法でメトリックを記録及び報告するのに使用されてもよい１以上のプラットフォームコンフィギュレーションレジスタ（ＰＣＲレジスタ）２４０，２４２，２４４から更に構成されてもよい。処理部２１０は、ＰＣＲ引用動作をサポートしてもよく、その動作は指定されたＰＣＲレジスタ２４０，２４２，２４４の呼値（ｑｕｏｔｅｓ）又は内容を返す。処理部２１０は、ＰＣＲ拡張動作もサポートし、その動作は、指定されたＰＣＲレジスタ２４０，２４２，２４４の受信したメトリックを記録する。特に、ＰＣＲ拡張動作は、（ｉ）付加されたメトリックを取得するために、確認されたＰＣＲレジスタ２４０，２４２，２４４に格納済みのメトリックに受信したメトリックを連結する又は付加し、（ｉｉ）更新されたメトリックを得るために付加されたメトリックをハッシュし、更新されたメトリックは、確認されたＰＣＲレジスタ２４０，２４２，２４４によって受信されたメトリックと以前のメトリックを表現し、及び（ｉｉｉ）ＰＣＲレジスタ２４０，２４２，２４４に更新されたメトリックを格納してもよい。
【００１８】
物理的トークン１５０の処理部２１０は、シール動作（封じる動作）及びアンシール動作（解除動作）を更にサポートしてもよい。封じる動作に応答して、物理的トークン１５０は、封じられたオブジェクトを生成し、その封じられたオブジェクトは、物理的トークン１５０及び指定された装置環境に対して封じられたオブジェクトより成る。逆に、物理的トークン１５０は、オブジェクトが物理的トークン１５０のキーを利用して封じられており且つ現在の装置環境が封じられたオブジェクトに指定された環境条件を満たす場合にのみ、開封動作に応答して封じられたオブジェクトのオブジェクトを返してもよい。
【００１９】
ここで使用されるように、「オブジェクト（ｏｂｊｅｃｔ）」なる語は、構造、フォーマット又は表現物によらず１以上のビットのいかなるグループをも包含する広範な語であることが意図される。更に、動詞の「ハッシュする（ｈａｓｈ）」及び関連する形は、値又は「ハッシュ」を生成するためにオペランド又はメッセージに操作を行うことを示すように使用される。理想的には、ハッシュ動作はハッシュを生成し、そのハッシュによって、ハッシュに関するメッセージを発見することは計算上不可能であり且つそのハッシュに関するメッセージについて利用可能ないかなる情報も決定できない。更に、ハッシュ動作は理想的には、同じハッシュを生成する２つのメッセージを決定することは計算上不可能であるように、ハッシュを生成する。ハッシュ動作は理想的には上記の特性を有するが、実際には、例えばメッセージダイジェスト５関数（ＭＤ５）及びセキュアハッシュアルゴリズム１（ＳＨＡ−１）のような一方向関数がハッシュ値を生成し、そのハッシュ値からメッセージを演繹することは困難であり、計算上は不可能であり、及び／又は実際上も不可能である。
【００２０】
物理的トークン１５０は多くの異なる方法で実現されてもよい。例えば、物理的トークン１５０は、トラストプラットフォームモジュール（ＴＰＭ）の仕様に従って実現されてもよく、その仕様は、西暦２００１年７月３１日付けのトラストコンピューティングプラットフォーム連盟（ＴＣＰＡ）主要規格に詳細に説明されている。
【００２１】
図２を更に参照するに、仮想的トークン１６０は仮想的な又はソフトウエア的な構成物を提供し、それらは物理的トークン１５０と同様な機能を提供する。特に、仮想的トークン１６０は、１以上の仮想的処理部２５０より成り、それらはコンピュータ装置１００の保証機能を実行する。一定の私的なキー２６０及び対応する公的なキー２６２が一義的であり、一度起動されると変更できないように、仮想的トークン１６０は、非対称暗号化アルゴリズムに従って、一定の私的なキー２６０及び対応する一定の公的なキー２６２を更に生成する。
【００２２】
一定の私的な／公的なキーのペア２６０，２６２に加えて、仮想的トークン１６０は、非対称暗号化アルゴリズムに従って、１以上の補足的な私的な／公的なキーのペア２７０，２７２を生成してもよい。仮想的トークン１６０は、信用される手法でメトリックを記録及び報告するのにしようされてもよい１以上の仮想的ＰＣＲレジスタ２８０から更に構成されてもよい。
【００２３】
図３には、信頼される動作環境の一例が示される。コンピュータ装置１００は、信頼される動作環境３００を構築するために、プロセッサ１１０の動作モード及び特権レベルを利用してもよい。図示されるように、信頼される動作環境３００は、信頼される仮想的マシンカーネル又はモニタ３１０、１以上の標準的な仮想的マシン（標準ＶＭ）３２０、及び１以上の信頼される仮想的マシン（信頼ＶＭ）３３０から構成されてもよい。動作環境３００のモニタ３１０は、仮想マシン３２０，３３０間のセキュリティ及び特権の防御壁を管理するために、最高特権のプロセッサリング（例えば、０Ｐ）におけるプロテクトモードで動作する。更に、モニタ３１０は、仮想的トークン１６０の機能を実行させるコードから構成されてもよい。或いは、仮想的トークン１６０は、べつべつのＶＴソフトウエアモジュールにより実現されてもよい。
【００２４】
標準的なＶＭ３２０は、ＶＭモードの最高特権のプロセッサリング（例えば、０Ｄ）で実行するオペレーティングシステム３２２と、ＶＭＸモードのより低い特権のプロセッサリング（例えば、３Ｄ）で実行する１以上のアプリケーション３２４とを含んでもよい。モニタ３１０が実行するプロセッサリングは、オペレーティングシステム３２２が実行するプロセッサリングよりも高い特権が与えられているので、オペレーティングシステム３２２は、コンピュータ装置１００の制御から解放されているのではなく、モニタ３１０の制御及び制約に委ねられる。特に、モニタ３１０は、オペレーティングシステム３２２及びそのアプリケーションが、保護されたメモリ１３２及び物理的トークン１５０にアクセスすることを妨げてもよい。
【００２５】
モニタ３１０は、１以上のメトリックを得るために、カーネルコードのハッシュのような信頼されたカーネル３３２の１以上の測定を実行し、確認されたＰＣＲレジスタ２４４を物理トークン１５０がカーネルのメトリックにより拡張するようにし、及びプロテクトされたメモリ１３２に格納された関連するＰＣＲログのメトリックを記録してもよい。更に、モニタ３１０は、プロテクトされたメモリに信用されたＶＭ３３０を構築し、構築された信用されたＶＭ３３０にて信用されたカーネル３３２を起動してもよい。
【００２６】
同様に、信用されたカーネル３３２は、１以上のメトリックを得るために、アプレットコードのハッシュのような、アプレット又はアプリケーションの１以上の測定を行ってもよい。信用されたカーネル３３２は、モニタ３１０により、確認されたＰＣＲレジスタ２４４をアプレット３３４のメトリックで物理的トークン１５０が拡張するようにしてもよい。信用されたカーネル３３２は、更に、プロテクトされたメモリ１３２に格納された関連するＰＣＲログのメトリックを記録してもよい。更に、信用されたカーネル３３２は、プロテクトされたメモリ１３２の構築され信用されたＶＭ３３０にて信用されたアプレット３３４を起動してもよい。
【００２７】
図３の信用されたオペレーティング環境３００を起動することに応じて、コンピュータ装置１００は、モニタ３１０のメトリック及びモニタＰＣＲレジスタ２４０の仮想的トークン１６０を記録し、信用されたサポート（ＴＳ）ＰＣＲレジスタ２４２にハードウエアのメトリックを記録してもよい。信用されたオペレーティング環境３００は、例えば、システムスタートアップ、アプリケーションのリクエスト、オペレーティングシステムのリクエスト等のような様々なイベントに応じて起動されてもよい。
【００２８】
一実施例では、コンピュータ装置１００は、次のようにして、モニタ３１０のメトリック及び仮想的トークン１６０を取得及び記録する。プロセッサ１１０はモニタメトリックを得るためにモニタソフトウエアモジュールをハッシュ処理する。プロセッサ１１０は、モニタメトリックにより物理的トークン１５０がモニタＰＣＲレジスタ２４０を拡張するようにし、プロテクトされたメモリ１３２に格納されたモニタＰＣＲログのモニタメトリックを記録する。更に、仮想的トークン（ＶＴ）の機能が別個のソフトウエアモジュールとして実現されるならば、プロセッサ１１０は、ＶＴメトリックを得るためにＶＴソフトウエアモジュールをハッシュ処理する。プロセッサ１１０は、物理的トークン１５０にＶＴメトリックと共にモニタＰＣＲレジスタ２４０を更に拡張させ、モニタＰＣＲログにＶＴメトリックを記録させる。このモニタＰＣＲレジスタ２４０は、モニタ３１０及び仮想的トークン１６０の双方を表す値から構成される。
【００２９】
コンピュータ装置１００は、信用されたオペレーティングシステムのハードウエアサポートの記録を提供するために、ＴＳ  ＰＣＲレジスタ２４２にハードウエアのメトリックを更に記録してもよい。一実施例では、プロセッサ１１０は、プロセッサファミリ、プロセッサバージョン、プロセッサマイクロコードバージョン、チップセットバージョン、並びにプロセッサ１１０，チップセット１２０及び物理的トークン１５０の物理的トークンバージョンのようなハードウエア識別子を得てもよい。プロセッサ１１０は、取得したハードウエア識別子でＴＳＰＣＲレジスタ２４２を拡張し、プロテクトされたメモリ１３２に格納されたＴＳＰＣＲログのハードウエア識別子を記録してもよい。或いは、プロセッサ１１０は、ハードウエア識別子を記録するために、１より多くのＰＣＲレジスタを使用してもよい。例えば、プロセッサ１１０は、取得したハードウエア識別子各々を、個々のＰＣＲレジスタ２４０，２４２，２４４に格納してもよい。
【００３０】
図４を参照するに、シール動作例が示されている。概して、シール動作は、例えば、トークン（例えば、物理的トークン１５０又は仮想的トークン１６０）にシールされたシールオブジェクトＳＯｂｊを生成する、モニタ３１０、カーネル３３２、信用されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン１５０及び／又は仮想的トークン１６０のようなシーリングコンポーネントにより生じる。
【００３１】
ブロック４１０では、シーリングコンポーネントは、シール動作を実行するためにトークン（例えば、物理的トークン１５０又は仮想的トークン１６０）を要求する。ブロック４１４にて、シーリングコンポーネントは、シール動作の利用に対して、公的なトークンキーＳＫ（例えば、公的なキー２２２，２３２，２６２，２７２）を指定する。シーリングコンポーネントは、シールするためにオブジェクトＯｂｊを有するトークンを与え（ブロック４１８）、そのオブジェクトＯｂｊがシールされる環境基準を指定する（ブロック４２２）。例えば、ブロック４２２におけるシーリングコンポーネントは、トークンに関する１以上のＰＣＲレジスタ（例えば、ＰＣＲレジスタ２４０，２４２，２４４，２８０）を確認することで、環境基準を指定してもよく、そのトークンは、目下の装置環境の１以上の態様に関するメトリックを有する。上記情報に関するトークンを与えた後で、ブロック４２４にてシーリングコンポーネントは、トークンがシール動作を完了することを要求する。
【００３２】
シール動作を完了する要求に応じて、ブロック４２６にて、トークンは、オブジェクトＯｂｊがシールされる環境基準（例えば、ＰＣＲレジスタ２４０，２４２，２４４，２８０の呼値）を指定するシールレコードＳｅａｌＲｅｃを生成する。一実施例では、トークンは、組み込まれたトークンである固有の識別子を含むように、シールレコードＳｅａｌＲｅｃを生成する。ブロック４３０では、トークンはオブジェクトＯｂｊ及び／又はシールレコードＳｅａｌＲｅｃをハッシュし、ダイジェスト値ＤＶを求め、その値はオブジェクトＯｂｊ及びシールレコードＳｅａｌＲｅｃの完全性を証明する。ブロック４３４にて、トークンは、オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶを、非対称暗号化アルゴリズム及び公的なトークンキーＳＫを用いて暗号化することによって、シールオブジェクトＳＯｂｊを生成する。ブロック４３８では、トークンは、シーリングコンポーネントにシールオブジェクトＯｂｊを与え、そのオブジェクトは、オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及び公的なトークンキーＳＫで暗号化されたダイジェスト値ＤＶより成る。
【００３３】
図５を参照するに、シール解除動作又はアンシール動作が示されている。アンシール動作は、一般に、例えば、トークン（例えば、物理的トークン１５０又は仮想的トークン１６０）にシールされたオブジェクトＯｂｊを検索する、モニタ３１０、カーネル３３２、信用されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン１５０及び／又は仮想的トークン１６０のようなアンシーリングコンポーネントにより生じる。
【００３４】
ブロック５１０では、アンシーリングコンポーネントは、アンシール動作を実行するためのトークン（例えば、物理的トークン１５０又は仮想的トークン１６０）を要求する。アンシーリングコンポーネントは、ブロック５１４にて、アンシール動作に使用する私的なトークンキーＵＫ（例えば、プライベートキー２２０，２３０，２６０，２７０）を指定する。アンシーリングコンポーネントはブロック５１８にてアンシールされるシールオブジェクトＳＯｂｊを有するトークンを与える。ブロック５２２では、アンシーリングコンポーネントは、アンシール動作を完了するようトークンを要求する。
【００３５】
ブロック５２６では、トークンは、ブロック５１４のアンシールコンポーネントにより指定された私的なトークンキーＵＫを用いてシールオブジェクトＳＯｂｊの暗号化を解除する。私的なトークンキーＵＫがシールオブジェクトＳＯｂｊをシールするのに使用された私的なトークンキーＳＫに対応するならば、ブロック５２６においてトークンはオブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶを得る。或いは、トークンは、エラー状態に遭遇し、及び／又はオブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶの破壊された表現内容を得る。
【００３６】
ブロック５３０では、トークンは、取得したオブジェクトＯｂｊ及びシールレコードＳｅａｌＲｅｃをハッシュし、算出されたダイジェスト値ＣＤＶを得る。ブロック５３４では、トークンは、取得したオブジェクトＯｂｊ及びシールレコードＳｅａｌＲｅｃが破壊されていたか否かを判別する。例えば、所定の関連性（例えば、等しくはないこと）を有する計算されたダイジェスト値ＣＤＶ及びダイジェスト値ＤＶに応じて、オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及び／又はダイジェスト値ＤＶが破壊されていたか否かをトークンが判別してもよい。
【００３７】
オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ及び／又はダイジェスト値ＤＶが破壊されていたか否かの判別に応じて、ブロック５３８にて、トークンはアンシール動作を中止（アボート）し、オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ、ダイジェスト値ＤＶ及び計算したダイジェスト値ＣＤＶをそのトークンから消去する。或いは、ステップ５４２にて、トークンは、現在の装置環境がシールオブジェクトＳＯｂｊに指定された環境基準を満足するか否かを判別する。例えば、シールレコードＳｅａｌＲｅｃで指定されたＰＣＲレジスタ（例えば、ＰＣＲレジスタ２４０，２４２，２４４，２８０）の呼値がシールレコードＳｅａｌＲｅｃの呼値と所定の関係（例えば、等しいこと）を有する場合、及びシールレコードＳｅａｌＲｅｃから得られた固有の識別子が、トークンに組み込まれた固有のトークンと所定の関係（例えば、等しいこと）を有する場合に、トークンは現在の装置環境が環境基準を満たしているものと決定してもよい。
【００３８】
現在の装置環境が環境基準を満たしていないと判断したことに応じて、ブロック５３８では、トークンはアンシール動作を中止し、オブジェクトＯｂｊ、シールレコードＳｅａｌＲｅｃ、ダイジェスト値ＤＶ及び計算されたダイジェスト値ＣＤＶをトークンから消去する。或いは、トークンは、ブロック５４６にてオブジェクトＯｂｊをアンシーリングコンポーネントに与える。
【００３９】
シール及びアンシールの上記の動作例は、非対称暗号化アルゴリズムにより、オブジェクトＯｂｊをシールするために公的なＳＫキーＳＫを利用し、オブジェクトＯｂｊをアンシールするために私的なキーＵＫを利用する。しかしながら、代替的にトークンは対称的な暗号化アルゴリズムを用いてオブジェクトをシールすること及びオブジェクトをアンシールすることの双方に単独のキーＳＵＫを使用してもよい。例えば、トークンが組み込みキーＳＵＫから構成されてもよく、そのキーは対称的な暗号化アルゴリズム（例えば、ＤＥＳ、３ＤＥＳ、ＡＥＳ等）によりオブジェクトをシール及びアンシールするために使用される。
【００４０】
図６には、マルチトークンのシール動作例が示されている。マルチトークンシール動作は、一般に、例えば、２以上のトークン（例えば、物理的トークン１５０及び仮想的トークン１６０）に対してシールされた複数トークンのシールオブジェクトＭＳＯｂｊを生成する、モニタ３１０、カーネル３３２、信用されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン１５０及び／又は仮想的トークン１６０のようなシーリングコンポーネントにより生じる。以下のマルチトークンシール動作例は、コンピュータ装置１００の物理的トークン１５０及び仮想的トークン１６０にオブジェクトＯｂｊをシールする要素に関連して説明される。しかしながら、代替的にシーリングコンポーネントが２より多くのトークンに対するオブジェクトＯｂｊをシールし、そのシーリングコンポーネントが異なる組み合わせのトークンに対するオブジェクトＯｂｊをシールしてもよいことが、理解されるであろう。
【００４１】
ブロック６１０では、シーリングコンポーネントは、キーがランダムな一意性を有するように乱数生成器を用いてキーＫを生成する。乱数生成器は、擬似的にランダムな一意性を有するキーＫをもたらす擬似乱数を生成してもよいことが、理解されるであろう。以下、「乱数」なる一般的な語は、真にランダムな及び擬似的にランダムな性質の双方を指すように使用される。ブロック６２０にて、シーリングコンポーネントは、暗号化されたオブジェクトＥＯｂｊを得るために、キー及び対称的な暗号化アルゴリズムを用いてオブジェクトＯｂｊを暗号化する。
【００４２】
シールされ暗号化されたオブジェクトＳＥＯｂｊを得るために、ブロック６３０にて、シーリングコンポーネントは、仮想的トークン１６０の指定されたキーＳＫを用いて、指定された環境基準に対して暗号化されたオブジェクトＥＯｂｊをシールするように仮想的トークン１６０に要求する。例えば、シーリングコンポーネントは、仮想的トークン１６０の１以上のＰＣＲレジスタ２８０を確認することで環境基準を特定し、補足的な公開キー２７２を用いて、暗号化されたオブジェクトＥＯｂｊをシールするように仮想的トークン１６０に要求してもよい。要求に応じて、一実施例における仮想的トークン１６０は、図４に関連して説明済みの方法でシール動作を実行する。シール要求に応答して、仮想的トークン１６０はシールされ暗号化されたオブジェクトＳＥＯｂｊを生成し、そのオブジェクトは、暗号化されたオブジェクトＥＯｂｊ、シールされたレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶより成り、仮想的トークン１６０は、シールされ暗号化されたオブジェクトＳＥＯｂｊをシーリングコンポーネントに与えてもよい。
【００４３】
シールされたキーＳｅａｌＫを得るために、ブロック６４０にて、シーリングコンポーネントは、物理的トークン１５０の指定キーＳＫを用いて、指定された環境基準に対するキーＫをシールするように物理的トークン１５０に要求する。例えば、シーリングコンポーネントは、物理的トークン１５０の１以上のＰＣＲレジスタ２４０，２４２，２４４を確認することで、その環境基準を特定し、補足的な公開キー２３２を用いてキーＫをシールするよう物理的トークン１５０に要求してもよい。一実施例では、シーリングコンポーネントは、仮想的トークン１６０のメトリックを含む少なくともモニタＰＣＲレジスタ２４０を指定し、適切な仮想的トークン１６０を含んでいない動作環境に対してキーを解放することを防ぐ。この要求に応じて、一実施例における物理的トークン１５０は、図４に関して説明済みの方法でシール動作を実行する。シール動作要求に応じて、物理的トークン１５０は、キーＫ及びシールレコードＳｅａｌＲｅｃの完全性を証明する、キーＫより成るシールキーＳｅａｌＫ、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶを生成し、シーリングコンポーネントにシールキーＳｅａｌＫを与えてもよい。
【００４４】
上記のシール動作の要求の結果として、シーリングコンポーネントは、２つのシールされた部分（シールされ暗号化されたオブジェクトＳＥＯｂｊ及びシールされたキーＳｅａｌＫ）を有するマルチトークンシールオブジェクトＭＳＯｂｊを得る。ブロック６５０にて、シーリングコンポーネントは、マルチトークンシールオブジェクトＭＳＯｂｊのシールされた部分を格納してもよい。例えば、シーリングコンポーネントは、メモリ１３０、Ｉ／Ｏ装置１７０のローカルハードディスクドライブ又はネットワークコントローラ１４０を解するリモートネットワーク格納部のような機械読み取り可能な媒体に、シールされ暗号化されたオブジェクトＳＥＯｂｊ及びシールされたキーＳｅａｌＫを格納してもよい。
【００４５】
図７には、マルチトークンシール解除の動作例が示されている。マルチトークン案シール動作は、一般に、２以上のトークン（物理的トークン１５０及び仮想的トークン１６０）に対してシールされているオブジェクトＯｂｊを検索する、モニタ３１０、カーネル３３２、信用されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン及び／又は仮想的トークンのようなアンシーリングコンポーネントにより生じる。以下のマルチトークンアンシール動作例は、例示のコンピュータ装置１００の物理的トークン１５０及び仮想的トークン１６０に大してシールされているオブジェクトＯｂｊのシールを解除するコンポーネントに関連して説明される。しかしながら、アンシーリングコンポーネントは代替的に２より多くのトークンに対してシールされているオブジェクトＯｂｊのシールを解除してもよく、アンシーリングコンポーネントは異なる組み合わせのトークン（例えば、２つの物理的トークン）に対してシールされているオブジェクトのシールを解除してもよいことが理解されるであろう。
【００４６】
ブロック７１０では、アンシーリングコンポーネントは、シールされ暗号化されたオブジェクトＳＥＯｂｊ及び対応するシールされたキーＳｅａｌＫを受信する。例えば、アンシーリングコンポーネントは、シールされ暗号化されたオブジェクトＳＥＯｂｊ及び対応するシールキーＳｅａｌＫを、例えばメモリ１３０、ローカルハードディスク又はリモートネットワーク格納部のような機械読み取り可能な媒体からそれらを抽出することに応答して受信する。
【００４７】
暗号化されたオブジェクトＥＯｂｊを得るために、ブロック７２０にて、アンシーリングコンポーネントは、仮想的トークン１６０にシールされ暗号化されたオブジェクトＳＥＯｂｊを与え、シールされ暗号化されたオブジェクトＳＥＯｂｊのシールを解除するようにその仮想的トークン１６０に要求する。その要求に応じて、一実施例における仮想的トークン１６０は、図５に関して説明された手法でアンシール動作を実行する。特に、一実施例における仮想的トークン１６０は、シールされ暗号化されたオブジェクトＳＥＯｂｊに指定された環境基準を、現在の装置環境が満足する場合にのみ、アンシーリングコンポーネントに暗号化オブジェクトＯＥｂｊを与える。
【００４８】
キーＫを得るために、ブロック７３０にて、アンシーリングコンポーネントは物理的トークン１５０にシールされたキーＳｅａｌＫを与え、そのシールキーＳｅａｌＫのシールを解除するように物理低トークン１５０に要求する。この要求に応じて、一実施例による物理的トークン１５０は、図５に説明済みの方法でアンシール動作を実行する。特に、一実施例における物理的トークン１５０は、現在の装置環境がシールされたキーＳｅａｌＫについて指定された環境基準を満足する場合にのみ、杏里―リングコンポーネントにキーＫを与える。
【００４９】
ブロック７４０にて、アンシーリングコンポーネントは、キーＫ及び対称的な暗号化アルゴリズムを用いて、暗号化されたオブジェクトＥＯｂｊの暗号化を解除する。暗号化されたオブジェクトの暗号解除の結果として、アンシーリングコンポーネントは、物理的トークン１５０及び仮想的トークン１６０に対してシールされていたオブジェクトＯｂｊを得る。
【００５０】
図６，７のマルチトークンのシール及びアンシールの上記動作例は、対称的な暗号化アルゴリズムを用いて、オブジェクトＯｂｊを暗号化するため及びオブジェクトＯｂｊの暗号化を解除するために単独の対称的なキーＫを使用している。しかしながら、代替的に、マルチトークンのシール及びシール解除動作は、オブジェクトを暗号化するために公的なキーＰｕｂＫを使用し、オブジェクトの暗号化を解除するために私的なキーＰｒｉｖＫを使用してもよい。例えば、ブロック６１０にて、トークンは私的なキーＰｒｉｖＫ及び対応する公的なキーＰｕｂＫを生成し、シーリングコンポーネントに公的なキーＰｕｂＫを与えてもよい。ブロック６２０にて、シーリングコンポーネントは公的なキーＰｕｂＫを用いてオブジェクトＯｂｊを暗号化してもよい。更に、ブロック６４０にて、シーリングコンポーネントは、公的なキーＰｕｂＫに対応する私的なキーＰｒｉｖＫをシールするように物理的トークン１５０に要求してもよく、その後に、アンシーリングコンポーネントは、ブロック７４０にて私的なキーＰｕｂＫを用いて、暗号化されたオブジェクトＥＯｂｊの暗号化を解除してもよい。
【００５１】
更に、シーリングコンポーネントは、２より多くのトークンに対して暗号化されたオブジェクトＥＯｂｊをシールしてもよい。例えば、シーリングコンポーネントは、暗号化されたオブジェクトＥＯｂｊを２以上の部分に分割し、様々な仮想的及び／又は物理的なトークンに関する部分をシールしてもよい。シーリングコンポーネントは、同様に、暗号化されたオブジェクトＥＯｂｊ（例えば、対称的なキーＫ又は非対称的な私的なキーＰｒｉｖＫ）の暗号化を解除するために、キーを２以上の部分に分割し、それらの部分を個々の仮想的及び／又は物理的トークンに対してシールする。或いは、シーリングコンポーネントは、オブジェクトＯｂｊを複数のオブジェクトＯｂｊに分けてもよい。シーリングオブジェクトは、一群の暗号化されたオブジェクトＥＯｂｊを得るために、異なるキーＫで各々のＯｂｊオブジェクトを暗号化し、異なる一群のトークンに対する暗号化オブジェクトＥＯｂｊ及び関連するキーＫの各々をシールしてもよい。
【００５２】
図８には、マルチトークンの別のシール動作例が示されている。一般に、マルチトークンシール動作は、例えば、２以上のトークン（例えば、物理的トークン１５０及び仮想的トークン１６０）に対してシールされたマルチトークンシールオブジェクトＭＳＯｂｊを生成する、モニタ３１０、カーネル３３２、信頼されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン１５０及び／又は仮想的トークン１６０により生じる。以下のマルチトークンシール動作例は、例示のコンピュータ装置１００の物理的トークン１５０及び仮想的トークン１６０に対してオブジェクトＯｂｊをシールするシーリングコンポーネントに関して説明される。しかしながら、シーリングコンポーネントは、代替的に、２より多くのトークンに対するオブジェクトＯｂｊをシールしてもよく、シーリングコンポーネントは異なる組み合わせのトークン（例えば、２つの物理的トークン）に対してオブジェクトＯｂｊをシールしてもよいことが理解されるであろう。
【００５３】
ブロック８１０では、シーリングコンポーネントは、キーＫ１及びＫ２の各々がランダムな一意性を有するように乱数生成器を利用して、第１キーＫ１及び第２キーＫ２を生成する。ブロック８２０にて、シーリングコンポーネントは、第１キーＫ１、第２キーＫ２及びキー生成アルゴリズムに基づいて第３キーを生成する。例えば、シーリングコンポーネントは、第１キーＫ１及び第２キーＫ２のビット方式の排他的ＯＲ（ＸＯＲ）を実行することで、第３キーＫ３を生成してもよい。しかしながら、シーリングコンポーネントは、キーＫ１，Ｋ２から第３キーＫ３を得るために、他のキー生成アルゴリズムを使用してもよい。ブロック８２５にて、シーリングコンポーネントは、第３キーＫ３及び対称的な暗号化アルゴリズムを用いて、暗号化されたオブジェクトＥＯｂｊを得るためにオブジェクトＯｂｊを暗号化する。
【００５４】
シールされた第１キーＳｅａｌＫ１を得るために、ブロック８３０にて、シーリングコンポーネントは、仮想的トークン１６０の指定キー１６０を用いて指定された環境基準に対して第１キーＫ１をシールするように仮想的トークン１６０に要求する。例えば、シーリングコンポーネントは、仮想的トークン１６０の１以上のＰＣＲレジスタ２８０を確認することで環境基準をしてしてもよく、補足的な公的なキー２７２を用いて第１キーＫ２をシールするように仮想的トークン１６０に要求してもよい。この要求に応じて、一実施例による仮想的トークン１６０は、図４に関して説明された方法でシール動作を実行し、第１キーＫ１、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶより成るシールされた第１キーＳｅａｌＫ１をシーリングコンポーネントに提供し、第１キーＫ１及びシールレコードＳｅａｌＲｅｃの完全性を保証する。
【００５５】
シールされた第２キーＳｅａｌＫ２を得るために、ブロック８４０にて、シーリングコンポーネントは、物理的トークン１５０の指定されたキーＳＫを用いて、指定された環境基準に対して第２キーをシールするように物理的トークン１５０に要求する。例えば、シーリングコンポーネントは、物理的トークン１５０の１以上のＰＣＲレジスタ２４０，２４２，２４４を確認することで環境基準を指定してもよく、補足的な公的なキー２３２を用いて物理的トークン１５０に第２キーＫ２をシールするよう要求してもよい。一実施例では、シーリングコンポーネントは、仮想的トークン１６０のメトリックを含む少なくともモニタＰＣＲレジスタ２４０を指定し、適切な仮想的トークン１６０を含んでいない動作環境に対してキーＫが解放されることを防ぐ。要求に応じて、物理的トークン１５０は一実施例では、シールされた第２キーＫ２を得るために図４に関して上述した方法でシール動作を実行する。物理的トークン１５０は、更に、第２キーＫ２より成るシールされた第２キー、シールレコードＳｅａｌＲｅｃ及びダイジェスト値ＤＶを暗号化オブジェクトに与え、キーＫ及びシールレコードＳｅａｌＲｅｃの完全性を証明する。
【００５６】
このシーリングコンポーネントは、３つのシールされた部分より成るマルチトークンシールオブジェクトＭＳＯｂｊを有し、それらは：暗号化されたオブジェクトＥＯｂｊ、シールされた第１キーＳｅａｌＫ１及びシールされた第２キーＳｅａｌＫ２。ブロック８５０にて、シーリングコンポーネントは、マルチトークンシールオブジェクトＭＳＯｂｊのシールされた部分を格納してもよい。例えば、シーリングコンポーネントは、メモリ１３０、Ｉ／Ｏ装置１７０のローカルハードドライブ又はネットワークコントローラ１４０を解するリモートネットワーク格納部のような機械読み取り可能な媒体に、暗号化されたオブジェクトＥＯｂｊ、シールされた第１キーＳｅａｌＫ１及びシールされた第２キーＳｅａｌＫ２を格納してもよい。
【００５７】
図９には、マルチトークンシール解除の動作例が示されている。マルチトークンシール解除動作は、一般に、２以上のトークン（例えば、物理的トークン１５０又は仮想的トークン１６０）に対してシールされたオブジェクトを検索する、例えばモニタ３１０、カーネル３３２、信用されたアプレット３３４、オペレーティングシステム３２２、アプリケーション３２４、物理的トークン１５０及び／又は仮想的トークン１６０のようなアンシーリングコンポーネントにより生じる。以下のマルチトークンアンシール動作例は、例示のコンピュータ装置１００の物理的トークン１５０及び仮想的トークン１６０に対してシールされたオブジェクトＯｂｊのシールを解除するアンシーリングコンポーネントに関して説明されている。しかしながら、代替的に、アンシーリングコンポーネントは、２より多くのトークンに対してシールされたオブジェクトＯｂｊのシールを解除し、アンシーリングコンポーネントは異なる組み合わせのトークン（例えば、２つの物理的トークン）に対してシールされたオブジェクトＯｂｊのシールを解除してもよい。
【００５８】
ブロック９１０では、アンシーリングコンポーネントが、暗号化されたオブジェクトＥＯｂｊ、第１のシールされたキー（第１シールキー）ＳｅａｌＫ１及び第２シールキーＳｅａｌＫ２を含むマルチトークンシールオブジェクトＭＳＯｂｊを受信する。例えば、アンシーリングコンポーネントは、暗号化されたオブジェクトＥＯｂｊ及びシールキーＳｅａｌＫ１，ＳｅａｌＫ２を、メモリ１３０、ローカルハードディスク又はリモートネットワーク格納部のような機械読み取り可能な媒体からそれらを検索することに応答して受信してもよい。
【００５９】
ブロック９２０では、アンシーリングコンポーネントは、シールされた第１キーＳｅａｌＫ１を仮想的トークン１６０に与え、シールされた第１キーＳｅａｌＫ１のシールを解除することを仮想的トークン１６０に要求する。この要求に応じて、一実施例における仮想的トークン１６０は、図５に関して説明された方法でアンシール動作を実行する。特に、一実施例における仮想的トークン１６０は、現在の装置環境がシールされた第１キーＳｅａｌＫ１に指定された環境基準を満足する場合にのみ、アンシーリングコンポーネントに第２キーＫ１を与える。
【００６０】
ブロック９３０にて、アンシーリングコンポーネントは、物理的トークン１５０にシールされた第２キーＳｅａｌＫ２を与え、シールされた第２キーＳｅａｌＫ２のシールを解除するように物理的トークン１５０に要求する。要求に応じて、一実施例による物理的トークン１５０は、図５に関して説明された方法でアンシール動作を実行する。特に、一実施例における物理的トークン１５０は、現在の装置環境がシールされた第２キーＳｅａｌＫ２に指定された環境基準を満足する場合にのみ、第２キーＫ２をアンシーリングコンポーネントに与える。
【００６１】
ブロック９４０では、アンシーリングコンポーネントは、第１キーＫ１、第２キーＫ２及びキー生成アルゴリズムに基づいて、第３キーＫ３を生成する。例えば、アンシーリングコンポーネントは、第１キーＫ１及び第２キーＫ２に関するビット形式の排他的ＯＲ（ＸＯＲ）を実行することで、第３キーＫ３を生成してもよい。しかしながら、アンシーリングコンポーネントは、他のキー生成アルゴリズムを用いて、キーＫ１，Ｋ２から第３キーＫ３を得てもよい。
【００６２】
ブロック９５０にて、アンシーリングコンポーネントは、第３キーＫ３及び対称的暗号化アルゴリズムを用いて、暗号化されたオブジェクトＥＯｂｊの暗号化を解除する。暗号化されたオブジェクトＥＯｂｊの暗号化解除の結果として、アンシーリングコンポーネントは、物理的トークン１５０及び仮想的トークン１６０に対してシールされていたオブジェクトＯｂｊを取得する。
【００６３】
図８，９の上記のマルチトークンシール及びシール解除の動作は、２つのトークンに対するオブジェクトＯｂｊのシーリングに関して説明されていた。しかしながら、代替的に、シーリングコンポーネントは、２より多くのトークンに対してオブジェクトをシールしてもよい。例えば、ブロック８１０にて、シーリングコンポーネントはより多くの３つのキーを生成し、生成したキーからブロック８２０にて暗号キーを生成してもよい。ブロック８２５にて、シーリングコンポーネントは、ブロック８２０で生成した暗号キーによりオブジェクトを暗号化してもよい。シーリングコンポーネントは、コンピュータ装置１００の様々なトークンに対する暗号キーを生成するために使用されるキーを更にシールしてもよい。
【００６４】
コンピュータ装置１００は、機械読み取り可能な媒体中の命令を実行することに応答して、及び／又は例えば搬送波、赤外線信号、ディジタル信号、アナログ信号のような、電気的、光学的その他の伝搬する信号形式に応答して、シール／アンシールの動作（図４及び５）及び／又はマルチトークンシール／アンシールの動作（図６乃至９）の全部又は一部を実行してもよく、その媒体は例えばランダムアクセスメモリ（ＲＡＭ）；磁気ディスク格納媒体；光学式格納媒体；フラッシュメモリ装置のようなものである。更に、図４−９は一連の動作として説明されているが、コンピュータ装置１００は、様々に説明されたシール／アンシール動作（図４，５）及び／又はマルチトークンシール／アンシール動作（図６−９）を並列的に又は異なる順序で行ってもよい。
【００６５】
本発明に関するいくつかの特徴が実施例を参照しながら説明されてきたが、その説明が限定的な意味に解釈されることは意図されていない。実施例に関する様々な修正に加えて、本発明の他の実施例は当業者に明白であり、それらに関する事項は本発明の精神及び範囲内に包含されることが意図される。
【図面の簡単な説明】
【００６６】
【図１】物理的トークン及び仮想的トークンを有するコンピュータ装置を例示する図である。
【図２】図１の物理的トークンの例及び仮想的トークンの例を示す図である。
【図３】図１のコンピュータ装置によって実行されてもよい信頼されたオペレーティング環境の例を示す図である。
【図４】図１のコンピュータ装置のシール動作例を示す図である。
【図５】図１のコンピュータ装置のアンシール動作例を示す図である。
【図６】図１のコンピュータ装置のマルチトークンのシール動作例を示す図である。
【図７】図１のコンピュータ装置のマルチトークンのアンシール動作例を示す図である。
【図８】図１のコンピュータ装置のマルチトークンの他のシール動作例を示す図である。
【図９】図１のコンピュータ装置のマルチトークンの他のアンシール動作例を示す図である。
【図１】
2005527019.tif 000003
【図２】
2005527019.tif 000004
【図３】
2005527019.tif 000005
【図４】
2005527019.tif 000006
【図５】
2005527019.tif 000007
【図６】
2005527019.tif 000008
【図７】
2005527019.tif 000009
【図８】
2005527019.tif 000010
【図９】
2005527019.tif 000011
【国際調査報告】
2005527019.tif 000012
2005527019.tif 000013
2005527019.tif 000014