(57)【要約】【課題】本発明は、特定の方法で証明された秘密値の所有者が、当該秘密値の所有者が対話する必要のある関係者に対して、自身が適切に形成された秘密値を本当に所有することを証明できる方法などを提供し、さらに、この状況で使用可能な取り消しのための方法および装置を提供する。【解決手段】本発明にかかる証明方法は、信頼できるコンピューティング装置の状況において、その秘密値がこのような装置の適法な製造業者によって提供されたものであることを示すために使用されうる。【選択図】図９
2007505582.tif 000002
【特許請求の範囲】
【請求項１】
取り消し証を有するグループ署名方式によって計算資源へのアクセスを判断する方法であって、
証明書発行者が、グループ秘密鍵を保持し、グループ公開鍵を提供することと、
グループメンバが、メンバーシップ秘密値を得て、前記証明書発行者が、前記メンバーシップ秘密値に関するグループメンバのメンバーシップ証明書を提供することと、
前記グループメンバが、前記メンバーシップ秘密値も前記メンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを前記検証者に実証し、自身のメンバーシップ秘密値および取り消しパラメータから取り消し証を提供することと、
前記検証者が、前記署名および前記取り消し証から、前記グループメンバが正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していると判断することと
を含む方法。
【請求項２】
前記グループメンバは、前記メンバーシップ秘密値を生成する
請求項１に記載の方法。
【請求項３】
前記証明書発行者は、前記メンバーシップ秘密値および前記メンバーシップ証明書を生成する
請求項１に記載の方法。
【請求項４】
前記グループメンバは、信頼できるコンピューティングデバイスであり、
前記証明書発行者は、前記信頼できるコンピューティングデバイスの製造業者である
請求項１に記載の方法。
【請求項５】
前記取り消し証は、前記検証者によって、前記取り消しパラメータに関連した取り消し機関により保持された取り消しリストと比較される
請求項１に記載の方法。
【請求項６】
前記取り消し証は、前記検証者によって、前記検証者により保持された取り消しリストと比較される
請求項１に記載の方法。
【請求項７】
グループ公開鍵を有するグループ署名方式のメンバによって信頼ステータスを実証する方法であって、
前記グループメンバが、メンバーシップ秘密値を得て、且つ、証明書発行者から、前記メンバーシップ秘密値に関するグループメンバのメンバーシップ証明書を受け取ることと、
前記グループメンバが、前記メンバーシップ秘密値も前記メンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを前記検証者に実証し、自身のメンバーシップ秘密値および取り消しパラメータから取り消し証を提供することと
を含む方法。
【請求項８】
前記取り消し証Ｅは、Ｅ＝ｆｚという形態を有し、ここで、ｆは前記取り消しパラメータに対して実行される一方向関数であり、ｚは前記メンバーシップ秘密値である
請求項７に記載の方法。
【請求項９】
前記署名の少なくとも一部は、前記署名が検証者によって要求される前に、前記グループメンバによって事前に計算される
請求項７に記載の方法。
【請求項１０】
前記取り消し証の少なくとも一部は、前記取り消し証が検証者によって要求される前に、前記グループメンバによって事前に計算される
請求項７に記載の方法。
【請求項１１】
グループ公開鍵を有するグループ署名方式のメンバの信頼ステータスを検証する方法であって、
前記検証者が、グループメンバから、前記グループメンバのメンバーシップ秘密値およびメンバーシップ証明書から生成された署名を受け取り、且つ、前記グループメンバによって、自身のメンバーシップ秘密値および取り消しパラメータから提供された取り消し証を受け取ることと、
前記検証者が、前記署名および前記取り消し証から、前記グループメンバが正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していると判断することと
を含む方法。
【請求項１２】
前記検証者が、前記グループメンバが正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していると判断することは、
前記取り消し証を１つまたは複数の取り消しリストと照合することと、
前記取り消し証および前記署名が一致すると判断することと、
前記署名が、適切に形成されたメンバーシップ秘密値および適切に形成されたメンバーシップ証明書からの構成と一致すると判断することと
を含む
請求項１１に記載の方法。
【請求項１３】
前記１つまたは複数の取り消しリストの少なくとも１つは、取り消し局（revocation agency）によって保持される
請求項１２に記載の方法。
【請求項１４】
前記１つまたは複数の取り消しリストの少なくとも１つは、前記検証者によって保持される
請求項１２に記載の方法。
【請求項１５】
プロセッサと、
メンバーシップ秘密値、および、グループ公開鍵を有するグループ署名方式の証明書発行者により前記メンバーシップ秘密値に対して発行されたメンバーシップ証明書を含むメモリと
を備える信頼できるコンピューティング装置であって、
前記信頼できるコンピューティング装置は、
前記メンバーシップ秘密値も前記メンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを前記検証者に実証し、
自身のメンバーシップ秘密値、自身のメンバーシップ証明書、前記グループ公開鍵、および取り消しパラメータから取り消し証を提供する
ように適合される
信頼できるコンピューティング装置。
【請求項１６】
第１の関係者が、自身が第３の関係者によって適法に提供された秘密値を所有することを第２の関係者に証明することができる方法であって、
前記第３の関係者が、第１の秘密値ｍと、前記第１の秘密値から関係
【数１】
2007505582.tif 000087
に従って計算された第２の秘密値ｃとを前記第１の関係者に提供するステップであって、ここで、ｎはＲＳＡモジュラスであり、ｅ１およびｅ２はＲＳＡ公開指数であり、ｔ１およびｔ２はランダムに選ばれた整数であり、それによって、ｄ１はｅ１に対応するＲＳＡプライベート指数であるステップと、
前記第２の関係者が、前記第３の関係者からｎ、ｅ１、ｅ２、ｔ１、およびｔ２を得るステップと、
前記第１の関係者が第１の秘密値ｍ、および、前記関係に従って形成された第２の秘密値ｃを有することを前記第２の関係者に証明するために、前記第１の関係者が、前記第１の秘密値を使用する一方向関数の第１の複数の結果、および、前記第２の秘密値を使用する一方向関数の第２の複数の結果を前記第２の関係者に提供するステップと、
前記第２の関係者が、前記第１の複数の結果を、ｅ１を使用する一方向関数の結果と比較し、前記第２の複数の結果を、ｅ２を使用する一方向関数の結果と比較し、それによって、前記第１の関係者が、第１の秘密値ｍも第２の秘密値ｃも受け取ることなく、前記関係に従って形成された前記第１の秘密値ｍおよび前記第２の秘密値ｃを有することを検証するステップと
を含む方法。
【請求項１７】
前記第１の関係者は、前記第１の複数の結果および前記第２の複数の結果をデジタル署名された数学的構造で提供し、
前記第２の関係者は、前記デジタル署名の正当性をチェックし、正当である場合に、前記第１の関係者が、前記関係に従って形成された第１の秘密値ｍおよび第２の秘密値ｃを有することを検証する過程で、前記数学的構造を評価する
請求項１６に記載の方法。
【請求項１８】
前記第１の関係者は、前記第１の複数の結果および前記第２の複数の結果を相互作用により前記第２の関係者に提供して、前記第１の関係者が、前記関係に従って形成された第１の秘密値ｍおよび第２の秘密値ｃを有することのゼロ知識証明を提供する
請求項１６に記載の方法。
【請求項１９】
前記第１の関係者は、
信頼できるコンピューティング装置
を備え、
前記第２の関係者は、サービスへのアクセスを制御し、
前記第３の関係者は、前記信頼できるコンピューティング装置の製造業者、または、前記信頼できるコンピューティング装置の信頼できるステータスの保証者である
請求項１６に記載の方法。
【請求項２０】
プロセッサと、
第１の秘密値ｍ、および、前記第１の秘密値から関係
【数２】
2007505582.tif 000088
に従って計算された第２の秘密値ｃを含むメモリと
を備える信頼できるコンピューティング装置であって、
ここで、ｎはＲＳＡモジュラスであり、ｅ１およびｅ２はＲＳＡ公開指数であり、ｔ１およびｔ２はランダムに選ばれた整数であり、ｄ１はｅ１に対応するＲＳＡプライベート指数であり、
前記プロセッサは、第１の秘密値ｍも第２の秘密値ｃも明らかにすることなく、前記第１の秘密値を使用する一方向関数の第１の複数の結果、および、前記第２の秘密値を使用する一方向関数の第２の複数の結果を他の関係者に提供することによって、自身が、前記関係に従って形成された前記第１の秘密値ｍおよび前記第２の秘密値ｃを所有していることを前記他の関係者に証明するようにプログラミングされている
信頼できるコンピューティング装置。
【請求項２１】
第２の関係者によって提供されたサービスへの第１の関係者のアクセスを制御する方法であって、前記第１の関係者は、自身が第３の関係者によって適法に提供された秘密値を所有することを、前記秘密値を明らかにすることなく別の関係者に証明するように適合され、
前記第１の関係者が前記第３の関係者によって適法に提供された秘密値を所有することを、前記秘密値が第４の関係者に明らかにされない状態で、前記第１の関係者が証明し、前記第４の関係者が検証するステップと、
前記第４の関係者が、前記第１の関係者に証明書を発行し、前記第３の関係者によって適法に提供された秘密値であって、或る関係者がその秘密値を所有することを検証する後のステップで再生成されることになる秘密値を、前記第１の関係者が所有することを検証する前記ステップの識別子を前記証明書に関連付けるステップと、
前記第４の関係者が、証明書正当性情報を保持し、前記第１の関係者が前記サービスにアクセスしようと試みる時、前記第１の関係者が、前記第４の関係者によって発行された前記証明書を前記第２の関係者に提供し、前記サービスへのアクセスを提供する前に、前記第２の関係者が、前記第４の関係者によって提供された証明書正当性情報から、前記証明書が正当かどうかを判断するステップと
を含む方法。
【請求項２２】
前記第４の関係者は、前記証明書が無効な方法で使用されたことを示す表示を受け取ると、前記証明書を取り消すように適合され、
第１の関係者が第３の関係者によって適法に提供された秘密値を所有することを検証する前記ステップが、前記取り消された証明書に関連した前記識別子を生成する場合、前記第１の関係者にさらに証明書を発行しないように適合される
請求項２１に記載の方法。
【請求項２３】
前記証明書は、
前記第４の関係者の識別情報および前記証明書を使用できる目的の識別情報
を含む請求項２１または２２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［発明の分野］
本発明は、証明された秘密値を提供すること（および取り消すこと）ならびにこのような秘密値を使用する通信に関し、より詳細には、或る関係者が特定の方法で形成された秘密値を所有することを、当該秘密値自体を明らかにすることなく示すことができる通信に関する。本発明は、特に、（例えば、信頼できるコンピューティンググループによって説明されたタイプの）信頼できるコンピューティングに関係する。この信頼できるコンピューティングでは、或る関係者は、第２の関係者が予測されたように振る舞うという或る保証を有する。
【背景技術】
【０００２】
［従来技術の説明］
最近の進展は、「信頼できる（trusted）」コンピューティング装置が提供されているということである。すなわち、ユーザは、予測できるように振る舞うこと、および、別のユーザによる破壊が少なくとも明らかになることに対して信頼を置くことができる。信頼できるコンピューティンググループの仕様（www.trustedcomputing.orgで入手される）、および、Siani Pearsonによって編集されてPrentice Hall PTRによって２００２年７月に出版された、関連した書物「Trusted Computing Platforms: TCPA Technology in Context」（これらの内容は、法律の許す範囲で、参照により本明細書に援用される）には、信頼できるコンピューティングの手法が記載されている。この記載された信頼できるコンピューティングの手法は、信頼できるコプロセッサ（破壊から物理的および論理的の双方で保護される）を使用して、信頼できるコプロセッサを含むコンピューティング装置のユーザまたは信頼できるコプロセッサに関連したコンピューティング装置のユーザに、その装置が予測でき、かつ、破壊されないように動作していることを保証するものである。特に有益な構成は、特に、他のコンピュータの情報およびサービスを提供することが望ましい場合に、（通常、プロセスが、他のコンピューティング環境との厳密に制御された相互作用を有する分離されたコンピューティング環境で実行されるような区画された方法で動作することによる）区画されたオペレーティングシステムと、信頼できるコンポーネントを使用する信頼できるコンピューティングハードウェアとの双方を使用することである（このような構成は、例えば、ＥＰ１１８２５５７として公開された出願人の特許出願に説明されている）。
【０００３】
信頼できるプラットフォームを使用することの１つの利点は、その信頼できるプラットフォームが予測されたように振る舞うことを確信する手段を他の関係者が有するので、それら他の関係者が、その信頼できるプラットフォームと相互作用する準備ができるということである。このような他の関係者は、リモートサービスプロバイダ（ＲＳＰ（Remote Service Provider））とすることができる。ＲＳＰは、プラットフォームにサービスを提供できるが、サービスを受け取るプラットフォームが本当に信頼できることを確信できない場合に、このサービスの提供を好まない場合がある。ＲＳＰは、信頼できるコンポーネント（信頼できるコンポーネントは、本明細書では信頼できるプラットフォームモジュールまたはＴＰＭ（Trusted Platform Module）と記載される）の少なくともいくつかの製造業者を信頼するものと仮定することができる。これには、ＲＳＰと相互作用するＴＰＭが信頼できる製造業者によって本当に生産されたということを当該ＲＳＰが確信することに問題が残る。さらなる検討が行われる。プライバシーの理由から、ＲＳＰは、自身がどのＴＰＭと相互作用しているかを見分けることができないことが望ましい（すなわち、望ましくは、ＲＳＰが立証できることは、自身が既知でかつ信頼できる製造業者によって製造された真正のＴＰＭと相互作用しているということだけである）。
【０００４】
このような確信をＲＳＰに提供する現在の手法は、別の第３の関係者である認証局（ＣＡ（Certificate Authority））を使用することである。ＣＡは、プラットフォームの所有者およびＲＳＰの双方に信頼されている。ＴＰＭ製造業者は、当該ＴＰＭの一意の保証鍵（endorsement key）を提供し、次に、それを証明する。ＣＡは、次に、製造業者の証明書を検証した後、ランダムに選ばれた識別情報に関する証明書を発行する。ＣＡは、保証鍵と、対応する証明書との間のマッピングのリストを保持してもよいし、保持しなくてもよい。この証明書は、ＴＰＭの正当性をチェックするためにＲＳＰによって使用されるＣＡの証明書である。証明書が検証されると、ＲＳＰは、ＣＡを信頼するので、ＴＰＭが信頼できる製造業者の適法な製品であると信頼する。ＲＳＰは、証明された特定の識別情報に誤ったものを見出すと、これをＣＡに報告し、ＣＡは、問題の識別情報を取り消しリストに列挙し、次に、このＴＰＭに対する新たなどの識別情報の証明も拒否する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
この方式の問題は、ＣＡが現在のところシステムの弱点であるということである。ＣＡは、ＴＰＭの保証鍵とそのＴＰＭに発行された識別情報との間のマッピング（および、おそらく多数のＴＰＭのマッピング）を所有する可能性がある。ＣＡが、このようなマッピングを保持しない約束を破った場合、または、このようなマッピングが秘密にされる限り、このようなマッピングを保持するようにＣＡが許可されるが、ＣＡのデータベースが危険にさらされた場合、そのＣＡによって証明されたすべてのＴＰＭの識別情報を相関させることが可能になる。
【０００６】
したがって、ＴＰＭは、ＣＡ等の第３の関係者を信頼することなく、製造業者によって当該ＴＰＭに与えられた証明情報で、自身が、信頼できる製造業者の適法な製品であることをＲＳＰに確信させることができるのが望ましい。また、これは、ＲＳＰが任意の所与の時刻において相互作用しているＴＰＭに製造業者により与えられた証明情報に当該ＲＳＰが気付くことを可能にすることなく、ＴＰＭのステータスを取り消すことができるように行われることも望ましい。
【０００７】
これらの問題は、信頼できるコンピューティングプラットフォームに関して本明細書で特定された具体的な問題よりも広い、関係者間の通信への利用を有することが可能であることを理解することができる。例えば、この問題は、秘密の所有者、秘密の保証者、および秘密の正当性を信頼する関係者の間の秘密に関して、同様の信頼関係が存在する時は常に適用することができる。
【課題を解決するための手段】
【０００８】
［発明の概要］
第１の態様によれば、本発明は、取り消し証を有するグループ署名方式によって計算資源へのアクセスを判断する方法を提供し、この方法は、証明書発行者が、グループ秘密鍵を保持し、且つ、グループ公開鍵を提供すること、グループメンバが、メンバーシップ秘密値を得て、証明書発行者が、メンバーシップ秘密値に関するグループメンバのメンバーシップ証明書を提供すること、グループメンバが、メンバーシップ秘密値もメンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを検証者に実証し、且つ、自身のメンバーシップ秘密値および取り消しパラメータから取り消し証を提供すること、および、検証者が、署名および取り消し証から、グループメンバが正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していると判断すること、を含む。
【０００９】
さらなる一態様によれば、本発明は、グループ公開鍵を有するグループ署名方式のメンバによって信頼ステータスを実証する方法を提供し、この方法は、グループメンバが、メンバーシップ秘密値を得て、且つ、証明書発行者から、メンバーシップ秘密値に関するグループメンバのメンバーシップ証明書を受け取ること、および、グループメンバが、メンバーシップ秘密値もメンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを検証者に実証し、且つ、自身のメンバーシップ秘密値および取り消しパラメータから取り消し証を提供すること、を含む。
【００１０】
さらなる一態様によれば、本発明は、グループ公開鍵を有するグループ署名方式のメンバの信頼ステータスを検証する方法を提供し、この方法は、検証者が、グループメンバから、グループメンバのメンバーシップ秘密値およびメンバーシップ証明書から生成された署名を受け取り、且つ、グループメンバによって、自身のメンバーシップ秘密値および取り消しパラメータから提供された取り消し証を受け取ること、および、検証者が、署名および取り消し証から、グループメンバが正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していると判断すること、を含む。
【００１１】
さらなる一態様によれば、本発明は、プロセッサと、メンバーシップ秘密値、および、グループ公開鍵を有するグループ署名方式の証明書発行者によりメンバーシップ秘密値に対して発行されたメンバーシップ証明書を含むメモリと、を備える信頼できるコンピューティング装置を提供し、この信頼できるコンピューティング装置は、メンバーシップ秘密値もメンバーシップ証明書も検証者に明らかにすることなく、署名を提供することによって、自身が正当なメンバーシップ秘密値および正当なメンバーシップ証明書を所有していることを検証者に実証し、且つ、自身のメンバーシップ秘密値、自身のメンバーシップ証明書、グループ公開鍵、および取り消しパラメータから取り消し証を提供するように適合される。
【００１２】
さらなる一態様によれば、本発明は、第１の関係者が、自身が第３の関係者によって適法に提供された秘密値を所有することを第２の関係者に証明することができる方法を提供し、この方法は、
第３の関係者が、第１の秘密値ｍと、第１の秘密値から関係
【００１３】
【数１】
2007505582.tif 000003
【００１４】
に従って計算された第２の秘密値ｃとを第１の関係者に提供するステップであって、ここで、ｎはＲＳＡモジュラスであり、ｅ１およびｅ２はＲＳＡ公開指数であり、ｔ１およびｔ２はランダムに選ばれた整数であり、それによって、ｄ１はｅ１に対応するＲＳＡプライベート指数である、ステップと、
第２の関係者が、第３の関係者からｎ、ｅ１、ｅ２、ｔ１、およびｔ２を得るステップと、
第１の関係者が第１の秘密値ｍ、および、関係に従って形成された第２の秘密値ｃを有することを第２の関係者に証明するために、第１の関係者が、第１の秘密値を使用する一方向関数の第１の複数の結果、および、第２の秘密値を使用する一方向関数の第２の複数の結果を第２の関係者に提供するステップと、
それによって、第２の関係者が、第１の複数の結果を、ｅ１を使用する一方向関数の結果と比較し、第２の複数の結果を、ｅ２を使用する一方向関数の結果と比較し、それによって、第１の関係者が、第１の秘密値ｍも第２の秘密値ｃも受け取ることなく、関係に従って形成された第１の秘密値ｍおよび第２の秘密値ｃを有することを検証するステップと、を含む。
【００１５】
関連する一態様によれば、本発明は、プロセッサと、第１の秘密値ｍ、および、第１の秘密値から関係
【００１６】
【数２】
2007505582.tif 000004
【００１７】
に従って計算された第２の秘密値ｃを含むメモリと、を備える信頼できるコンピューティング装置を提供し、ここで、ｎはＲＳＡモジュラスであり、ｅ１およびｅ２はＲＳＡ公開指数であり、ｔ１およびｔ２はランダムに選ばれた整数であり、それによって、ｄ１はｅ１に対応するＲＳＡプライベート指数であり、プロセッサは、第１の秘密値ｍも第２の秘密値ｃも明らかにすることなく、第１の秘密値を使用する一方向関数の第１の複数の結果、および、第２の秘密値を使用する一方向関数の第２の複数の結果を他の関係者に提供することによって、自身が、関係に従って形成された第１の秘密値ｍおよび第２の秘密値ｃを所有していることを他の関係者に証明するようにプログラミングされている。
【００１８】
さらなる一態様によれば、本発明は、第２の関係者によって提供されたサービスへの第１の関係者のアクセスを制御する方法を提供し、第１の関係者は、自身が第３の関係者によって適法に提供された秘密値を所有することを、秘密値を明らかにすることなく別の関係者に証明するように適合され、
第１の関係者が第３の関係者によって適法に提供された秘密値を所有することを、秘密値が第４の関係者に明らかにされない状態で、第１の関係者が証明し、第４の関係者が検証するステップと、
第４の関係者が、第１の関係者に証明書を発行し、第３の関係者によって適法に提供された秘密値であって、或る関係者がその秘密値を所有することを検証する後のステップで再生成されることになる秘密値を、第１の関係者が所有することを検証するステップの識別子を証明書に関連付けるステップと、
第４の関係者が、証明書正当性情報を保持し、それによって、第１の関係者がサービスにアクセスしようと試みる時、第１の関係者が、第４の関係者によって発行された証明書を第２の関係者に提供し、サービスへのアクセスを提供する前に、第２の関係者が、第４の関係者によって提供された証明書正当性情報から、証明書が正当かどうかを判断するステップと、を含む。
【００１９】
好ましくは、グループメンバはコンピューティング装置であり、証明書発行者はそのコンピューティング装置の製造業者である。より具体的には、コンピューティング装置は、好ましくは、認可されていない修正に対して物理的および論理的に耐性を有するように適合された、信頼できるコンピューティングモジュールであり、好ましくは、コンピューティングプラットフォームのコプロセッサとしての使用に適合された、信頼できるコンピューティングモジュールである。
【００２０】
次に、本発明をより良く理解し、有効にする方法を示すために、添付図面に関して、本発明による特定の実施の形態、方法、およびプロセスを単なる例として説明することにする。
【発明を実施するための最良の形態】
【００２１】
［特定の実施の形態の詳細な説明］
信頼できるコンピューティングプラットフォーム連合（Trusted Computing Platform Alliance）の仕様に説明されたタイプの信頼できるプラットフォームについて次に説明する。このようなプラットフォームは、本出願人による先願で説明されており、特に、国際特許出願公開第ＷＯ００／４８０６３号および第ＷＯ００／５４１２６号で説明されている。これらの出願は、適用法の下で可能な最大限まで参照により本明細書に援用される。例示の信頼できるプラットフォームの要素および当該信頼できるプラットフォームのオペレーションを最初に説明することにする。次に、本発明の第２の実施の形態のこれらの要素およびオペレーションを、信頼できるプラットフォームの先の一般的な説明に関して説明することにする。
【００２２】
本明細書では、物理的なコンポーネントまたは論理的なコンポーネントに関して使用される場合の用語「信頼できる」は、その物理的なコンポーネントまたは論理的なコンポーネントが、常に予測されたように振る舞うことを意味するのに使用される。そのコンポーネントの振る舞いは、予測可能であり、かつ、既知である。信頼できるコンポーネントは、認可されていない変更に対して高度の抵抗力を有する。
【００２３】
本明細書では、用語「コンピュータプラットフォーム」は、少なくとも１つのデータプロセッサおよび少なくとも１つのデータストレージ手段を備えるコンピュータシステムを指すのに使用される。このコンピュータシステムは、必ずしもそうとは限らないが、通例、例えば複数のドライバといった関連した通信設備、関連したアプリケーションおよびデータファイルを有する。このコンピュータシステムは、例えば、インターネットへの接続、外部ネットワークへの接続によるか、または、例えばＣＤ  ＲＯＭ、フロッピー（登録商標）ディスク、リボンテープ等のデータストレージ媒体に記憶されたデータを受信できる入力ポートを有することによって、例えばユーザまたは別のコンピュータプラットフォームといった外部エンティティと相互作用できる場合がある。用語「コンピュータプラットフォーム」は、コンピュータエンティティのメインデータ処理およびストレージ設備を包含する。
【００２４】
各コンピュータエンティティの信頼できるコンポーネントを使用することによって、異なるコンピューティングプラットフォーム間の或るレベルの信頼が可能にされる。リモートでまたはコンピュータエンティティのモニタを通じてのいずれかによって、このようなプラットフォームにその状態に関して照会することが可能であり、その状態を信頼できる状態と比較することが可能である。このような照会によって収集された情報は、そのプラットフォームのさまざまなパラメータを監視するコンピューティングエンティティの信頼できるコンポーネントによって提供される。信頼できるコンポーネントによって提供された情報は、暗号認証によって認証することができ、信頼することができる。「信頼できるプラットフォーム」は、このように、その機能が、プラットフォームの完全性メトリック（integrity metric）を提供する、信頼できるように測定されたデータにプラットフォームの識別情報を結びつけることである信頼できる物理信頼デバイスをコンピューティングプラットフォームに組み込むことによって達成することができる。この識別情報および完全性メトリックは、プラットフォームの信頼性を保証するように準備された信頼できる関係者（ＴＰ（trusted party））によって提供された予測値と比較される。一致する場合、それは、プラットフォームの少なくとも一部が、完全性メトリックの範囲に応じて正しく動作していることを意味する。
【００２５】
信頼できるコンポーネントが存在することによって、コンピューティングエンティティに対してリモートまたはローカルな１つの第３の関係者のソフトウェアは、自身の認証および同一性の証明を得るために、および、そのコンピューティングエンティティの測定された完全性メトリックを取り出すために、コンピューティングエンティティと通信することが可能になる。人間のユーザが、彼もしくは彼女のコンピューティングエンティティ、または、その者がユーザインターフェースによって対話できる他の任意のコンピューティングエンティティと或るレベルの信頼できる対話を行うために、信頼できるトークンデバイスがユーザにより使用されて、コンピューティングエンティティの信頼できるコンポーネントがインターロゲートされ、信頼できるコンポーネントによって検証された、コンピューティングエンティティの状態に関する報告がユーザに行われる。信頼できるコンポーネントと信頼できるトークンデバイスとの間の認証は、対象となる実際の状況では、相互的である。ユーザは、信頼できるコンポーネントによって認証され、（ユーザが適切な特権を有する場合）信頼できるコンポーネントの制御の許可を受けることができる。信頼できるコンポーネントは、ユーザによって認証され（信頼できるコンポーネントとして認識され、適切な状況では、ユーザにより所有された信頼できるコンポーネント、または、制御可能な信頼できるコンポーネントとして認識される）。
【００２６】
このタイプの信頼できるプラットフォームの利点およびアプリケーションにおける使用は、国際特許出願公開第ＷＯ００／４８０６３号および第ＷＯ００／５４１２６号に多少詳細に説明され、「Trusted Computing Platforms: TCPA Technology in Context」にかなり詳細に説明されており、本明細書ではこれ以上説明しないことにする。
【００２７】
このような構成の信頼できるコンポーネントは、暗号プロセスを使用する。最も望ましいインプリメンテーションは、信頼できるコンポーネントを不正操作できないようにすること、秘密値を他のプラットフォーム機能にアクセス不能にすることによりそれら秘密値を保護すること、および、認可されていない修正に対して強固な免疫を有する環境を提供することである。完全に不正操作できなくすることは不可能であるので、最も近いものは、不正操作の耐性を有するか、または、不正操作を検出する、信頼できるデバイスである。したがって、この信頼できるデバイスは、好ましくは、不正操作の耐性を有する１つの物理的なコンポーネントから構成される。不正操作の耐性の技法は、当業者に既知であり、国際特許出願公開第ＷＯ００／４８０６３号および第ＷＯ００／５４１２６号にさらに説明されている。
【００２８】
信頼できるプラットフォーム１０、４０が、図１の線図に（および図４に写実的に）概略的に示されている。このプラットフォーム１０、４０は、キーボード１４、４５、マウス１６（図４には図示せず）、およびモニタ１８、４４の標準装備を含む。これらの標準装備は、プラットフォームの物理的な「ユーザインターフェース」を提供する。また、信頼できるプラットフォームのこの実施の形態は、スマートカードリーダ１２、４２も含む。スマートカードリーダ１２、４２の横側には、信頼できるプラットフォームとの信頼できるユーザ対話を可能にするためのスマートカード１９、４１が示されている。プラットフォーム１０、４０では、複数のモジュール１５がある（図１に図示されている）。これらのモジュールは、この信頼できるプラットフォームの他の機能要素であって、そのプラットフォームに適した、基本的には任意の種類の機能要素である。このような要素の機能的な意義は、本発明に関係するものではなく、本明細書ではこれ以上説明しないことにする。信頼できるコンピュータエンティティのさらに別のコンポーネントには、通常、１つまたは複数のローカルエリアネットワーク（ＬＡＮ）ポート、１つまたは複数のモデムポート、および１つまたは複数の電源装置、冷却ファン等が含まれる。図４では、以下で説明する本発明の実施の形態に明らかに関連するように、コンピューティングプラットフォーム４０は、ネットワーク４３（このネットワークはＬＡＮ、モデムによってアクセスされる公衆インターネット等のネットワーク、または適切な接続を有する他の任意の形態のネットワークとすることができる）に接続されて示されている。
【００２９】
図２に示すように、信頼できるコンピューティングプラットフォーム１０のマザーボード２０は、（他の標準的なコンポーネントの中でも特に）メインプロセッサ２１、メインメモリ２２、信頼できるデバイス２４（上述した信頼できるコンポーネントの物理的な形態）、データバス２６、ならびに、各制御ライン２７およびライン２８、ＢＩＯＳメモリ２９、ならびに入出力（ＩＯ）デバイス２３を含む。ＢＩＯＳメモリ２９は、プラットフォーム１０のＢＩＯＳプログラムを含む。入出力デバイス２３は、このマザーボードのコンポーネントと、スマートカードリーダ１２、キーボード１４、マウス１６、およびモニタ１８（および、モデム、プリンタ、スキャナ等の追加された任意の周辺デバイス）との間の相互作用を制御する。メインメモリ２２は、通常、ランダムアクセスメモリ（ＲＡＭ）である。動作時に、プラットフォーム１０は、オペレーティングシステム（および、プラットフォームが実行することができるプロセスまたはアプリケーション）をハードディスク（図示せず）からＲＡＭにロードする。このオペレーティングシステムは、例えばＷｉｎｄｏｗｓ  ＸＰ（登録商標）である。
【００３０】
コンピュータエンティティは、物理アーキテクチャだけでなく論理アーキテクチャも有するものと考えることができる。論理アーキテクチャは、本明細書において図１から図３で説明する物理アーキテクチャと共に存在するように、コンピュータプラットフォームと信頼できるコンポーネントとの間で同じ基本分割（basic division）を有する。換言すると、信頼できるコンポーネントは、当該コンポーネントが物理的に関係するコンピュータプラットフォームとは論理的に異なる。コンピュータエンティティは、ユーザ空間および信頼できるコンポーネント空間を備える。このユーザ空間は、コンピュータプラットフォーム（第１のプロセッサおよび第１のデータストレージ手段）に物理的に常駐する論理空間である。信頼できるコンポーネント空間は、信頼できるコンポーネントに物理的に常駐する論理空間である。ユーザ空間には、１つまたは複数のドライバ、１つまたは複数のアプリケーションプログラム、ファイルストレージエリア、スマートカードリーダ、スマートカードインターフェース、およびソフトウェアエージェントが存在する。このソフトウェアエージェントは、ユーザ空間でオペレーションを実行でき、信頼できるコンポーネントに報告を返すことができる。信頼できるコンポーネント空間は、信頼できるコンポーネントに基づき、かつ、その信頼できるコンポーネントに物理的に常駐する論理エリアであり、その信頼できるコンポーネントの第２のデータプロセッサおよび第２のメモリエリアによってサポートされる。モニタ１８は、信頼できるコンポーネント空間から直接画像を受け取る。コンピュータエンティティの外部には、例えば、インターネット、およびさまざまなローカルエリアネットワーク、ワイドエリアネットワークといった外部通信ネットワークが存在する。これらのネットワークは、ドライバ（１つまたは複数のモデムポートを含むことができる）を介してユーザ空間に接続される。外部ユーザスマートカードは、ユーザ空間のスマートカードリーダに入力する。
【００３１】
通常、パーソナルコンピュータでは、ＢＩＯＳプログラムが、予約された特別なメモリエリアに配置される。この特別なメモリエリアは、システムメモリの最初のメガバイトの上位６４キロバイト（アドレスＦ０００ｈからＦＦＦＦｈ）である。業界標準によれば、メインプロセッサは、このメモリロケーションを最初に調べるように構成される。
【００３２】
このプラットフォームと従来のプラットフォームとの間の重大な相違は、リセット後、メインプロセッサが、信頼できるデバイスによって最初に制御され、次いで、この信頼できるデバイスが、プラットフォーム特有のＢＩＯＳプログラムに制御を渡し、次に、ＢＩＯＳプログラムがすべての入出力デバイスを通常通り初期化するということである。ＢＩＯＳプログラムが実行された後、制御は、通常通り、ＢＩＯＳプログラムによって、ＷｉｎｄｏｗｓＸＰ（商標）等のオペレーティングシステムプログラムに渡される。このオペレーティングシステムプログラムは、通常、ハードディスクドライブ（図示せず）からメインメモリ２２にロードされる。
【００３３】
明らかに、この通常の手順からの変更によって、業界標準のインプリメンテーションの修正が必要とされる。その修正によって、メインプロセッサ２１は、信頼できるデバイス２４をアドレス指定して、その最初の命令を受け取るように指示される。この変更は、単に、メインプロセッサ２１に異なるアドレスをハードコード化することによって行うことができる。代替的に、信頼できるデバイス２４に、標準ＢＩＯＳプログラムのアドレスを割り当てることができる。この場合、メインプロセッサの構成を修正する必要はない。
【００３４】
一方、比較的安全なプラットフォームは、このような基本変更なしに達成することができる。このようなインプリメンテーションでは、プラットフォームは、電源投入時には依然としてＢＩＯＳにより制御され、したがって、ＢＩＯＳ（または、少なくともＢＩＯＳブートブロック）も信頼できるものでなければならない。これは、信頼の基盤（root-of-trust）が（説明した、好ましい信頼できるプラットフォームの実施の形態におけるように）単一ではなく、２つ存在することを意味し、ＢＩＯＳブートブロックも信頼の基盤となることを意味する。
【００３５】
ＢＩＯＳブートブロックが、信頼できるデバイス２４内に含まれることは非常に望ましい。これによって、完全性メトリックを得ることの破壊（通常ならば、悪性ソフトウェアプロセスが存在する場合に発生し得る）が防止され、悪性ソフトウェアプロセスが、ＢＩＯＳ（たとえ正しくても）がオペレーティングシステムに適した環境を構築できない状況を作り出すことが防止される。
【００３６】
信頼できるデバイス２４は、図３に示すように複数のブロックを備える。システムがリセットされた後、信頼できるデバイス２４は、認証されたブートプロセスを実行して、プラットフォーム１０のオペレーティングシステム（システムクロックおよびモニタ上の表示を含む）が適切にかつ安全な方法で実行されていることを保証する。より正確には、プラットフォームの状態が信頼できるように記録されることを保証する。認証されたブートプロセスの期間中、信頼できるデバイス２４は、コンピューティングプラットフォーム１０の完全性メトリックを取得する。また、信頼できるデバイス２４は、安全なデータ転送、ならびに、例えば、暗号化／解読および署名／検証を介して当該信頼できるデバイスとスマートカードとの間の認証を実行することもできる。また、信頼できるデバイス２４は、ユーザインターフェースのロック等のさまざまなセキュリティ制御ポリシーを安全に実行することもできる。
【００３７】
具体的には、信頼できるデバイスは、コントローラ３０、測定機能３１、暗号機能３２、認証機能３３、およびインターフェース回路部３４を備える。コントローラ３０は、信頼できるデバイス２４の全体的なオペレーションを制御し、且つ信頼できるデバイス２４の他の機能およびマザーボード２０の他のデバイスと相互作用するようにプログラミングされている。測定機能３１は、プラットフォーム１０から完全性メトリックを取得するためのものである。暗号機能３２は、指定されたデータの署名、暗号化、または解読を行うためのものである。認証機能３３は、スマートカードを認証するためのものである。インターフェース回路部３４は、信頼できるデバイス２４を、マザーボード２０のデータバス２６、制御ライン２７、およびアドレスライン２８にそれぞれ接続するための適切なポート（３６、３７および３８）を有する。信頼できるデバイス２４のこれらブロックのそれぞれは、信頼できるデバイス２４の適切な揮発性メモリエリア４および／または不揮発性メモリエリア３に（通常、コントローラ３０を介して）アクセスする。これに加えて、信頼できるデバイス２４は、耐タンパ性を有するように、既知の方法で設計される。
【００３８】
好ましい構成では、モニタ１８は、信頼できるコンポーネント自体に含まれるモニタサブシステムによって直接駆動することができる。この実施の形態では、信頼できるコンポーネント空間には、信頼できるコンポーネント自体が常駐し、表示が、信頼できるコンポーネントによってモニタ１８に生成される。この構成は、本出願人の国際特許出願公開第ＷＯ００／７３８７９号にさらに説明されている。この国際特許出願は、参照により本明細書に援用される。
【００３９】
性能の理由により、信頼できるデバイス２４は、特定用途向け集積回路（ＡＳＩＣ）として実施されることがある。しかしながら、柔軟性のため、信頼できるデバイス２４は、好ましくは、適切にプログラミングされたマイクロコントローラである。ＡＳＩＣおよびマイクロコントローラは、共に、マイクロエレクトロニクスの技術分野において既知であり、本明細書ではこれ以上詳細に考察しないことにする。
【００４０】
信頼できるデバイス２４の不揮発性メモリ３に記憶された１つのデータ項目は、証明書３５０である。この証明書３５０は、少なくとも、信頼できるデバイス２４の公開鍵３５１、および、信頼できる関係者（ＴＰ）によって測定されたプラットフォーム完全性メトリックの認証値３５２を含む。証明書３５０は、信頼できるデバイス２４に記憶される前に、ＴＰのプライベート鍵を使用してＴＰにより署名される。後の通信セッションでは、プラットフォーム１０のユーザは、取得された完全性メトリックを真正な完全性メトリック３５２と比較することによって、プラットフォーム１０の完全性を検証することができる。一致する場合、ユーザは、プラットフォーム１０が破壊されていないことを確信することができる。ＴＰの一般に利用可能な公開鍵を知ることによって、証明書３５０の簡単な検証が可能になる。また、不揮発性メモリ３５は識別（ＩＤ）ラベル３５３も含む。このＩＤラベル３５３は、或る状況において一意である従来のＩＤラベルであり、例えば、連続番号である。ＩＤラベル３５３は、一般に、信頼できるデバイス２４に関連したデータのインデックスおよびラベルに使用されるが、信頼できる状況下においてプラットフォーム１０の同一性を証明するのにそれ自体では不十分である。
【００４１】
信頼できるデバイス２４は、自身が関連付けられているコンピューティングプラットフォーム１０の完全性メトリックを信頼できるように測定または取得する少なくとも１つの方法を備えている。これによって、プラットフォーム１０の潜在的なユーザには、プラットフォーム１０がハードウェアレベルにおいてもＢＩＯＳプログラムレベルにおいても破壊されていないことの高レベルの確信が与えられる。オペレーティングシステムおよびアプリケーションプログラムコードが破壊されていないことをチェックするための他の既知のプロセス、例えばウィルスチェッカが、通常、配置されることになる。
【００４２】
測定機能３１は、信頼できるデバイス２４のハッシュプログラム３５４およびプライベート鍵３５５を記憶するための不揮発性メモリ３、ならびに、取得された完全性メトリックを摘要３６１の形で記憶するための揮発性メモリ４にアクセスする。適切な実施の形態では、揮発性メモリ４は、プラットフォーム１０にアクセスするのに使用できる１つまたは複数の真正なスマートカード１９の公開鍵および関連したＩＤラベル３６０ａ〜３６０ｎを記憶するのに使用することもできる。
【００４３】
完全性メトリックの取得は、本発明にとって必須のものではなく、本明細書ではこれ以上説明しないことにする。このプロセス、および、ユーザまたは第３の関係者による信頼できるプラットフォームの完全性を検証するプロセスは、国際特許出願公開第ＷＯ００／４８０６３号に詳細に説明されるプロセスである。
【００４４】
上述したように、信頼できるプラットフォームに対してユーザを認証するための好ましい手段は、スマートカード１９等のトークンデバイスである（ただし、ユーザは、例えば、ネットワークによって信頼できるプラットフォームと通信するリモートプラットフォームとすることができることに留意すべきである）。ユーザのスマートカード１９は、コンピューティングエンティティとは別個のトークンデバイスである。このトークンデバイスは、スマートカードリーダポート１９を介してコンピューティングエンティティと相互作用する。ユーザは、いくつかの異なるベンダまたはサービスプロバイダによって発行された、いくつかの異なるスマートカードを有することができる。また、ユーザは、本明細書で説明するような複数のコンピューティングエンティティのいずれか１つからインターネットまたは複数のネットワークコンピュータにアクセスすることができる。これら複数のコンピューティングエンティティには、信頼できるコンポーネントおよびスマートカードリーダが提供される。ユーザが使用している個々のコンピューティングエンティティの当該ユーザの信頼は、ユーザの信頼できるスマートカードトークンとそのコンピューティングエンティティの信頼できるコンポーネントとの間の相互作用から得られる。ユーザは、自身の信頼できるスマートカードトークンを頼りにして、信頼できるコンポーネントの信頼性を検証する。
【００４５】
図５は、信頼できる関係者ＴＰによる動作、プラットフォームに組み込まれた信頼できるデバイス２４による動作、および、従来技術の信頼できるプラットフォーム技術に従って信頼できるプラットフォームの完全性を検証したい（リモートプラットフォームの）ユーザによる動作のフローを示している。ユーザがローカルユーザである場合にも、図５に示すステップと実質的に同じステップが含まれることが理解されよう。いずれの場合も、ユーザは、通常、或る形態のソフトウェアアプリケーションを頼りにして、検証を遂行する。リモートプラットフォームまたは信頼できるプラットフォームでソフトウェアアプリケーションを実行することが可能である。しかしながら、リモートプラットフォームであっても、ソフトウェアアプリケーションを何らかの方法で破壊できる機会がある。したがって、高レベルの完全性を得るには、ソフトウェアアプリケーションがユーザのスマートカードに常駐することが好ましい。このユーザは、検証のためにこのスマートカードを適切なリーダに挿入することになる。
【００４６】
最初の段階では、信頼できるプラットフォームを保証するＴＰが、プラットフォームのタイプを検査して、そのプラットフォームを保証すべきかどうかを決定する。これは、ポリシーの問題である。すべてがうまくいくと、ステップ５００において、ＴＰは、プラットフォームの完全性メトリックの値を測定する。次に、ＴＰは、ステップ５０５で、プラットフォームの証明書を生成する。この証明書は、信頼できるデバイスの公開鍵およびオプションとしてそのＩＤラベルを、測定された完全性メトリックに付加すること、および、ＴＰのプライベート鍵でその文字列に署名することによって、ＴＰにより生成される。本発明は、特に、イベントのこの連鎖およびこのような信頼できる関係者（通常、認証局）の役割の改良に関係していることに留意すべきである。
【００４７】
信頼できるデバイス２４は、その後、自身のプライベート鍵を使用して、ユーザから受け取った或る入力データを処理し出力データを生成し、入力／出力の対が、プライベート鍵の知識なしでは生成することが統計的には不可能であるようにすることによって自身の同一性を証明する。したがって、プライベート鍵の知識は、この場合の同一性の基礎を形成する。明らかに、対称暗号化を使用して、同一性の基礎を形成することは実現可能である。しかしながら、対称暗号化を使用する場合の不都合は、ユーザが自身の秘密値を信頼できるデバイスと共有する必要があるということである。さらに、秘密値をユーザと共有する必要がある結果として、対称暗号化は、原則として、ユーザに同一性を証明するには十分であるが、第３の関係者に同一性を証明するには不十分である。第３の関係者は、信頼できるデバイスまたはユーザからもたらされた検証を完全に確信することができない。
【００４８】
ステップ５１０において、信頼できるデバイス２４は、当該信頼できるデバイス２４の適切な不揮発性メモリロケーション３に証明書３５０を書き込むことによって初期化される。これは、好ましくは、信頼できるデバイス２４がマザーボード２０にインストールされた後に、信頼できるデバイス２４との安全な通信によって行われる。信頼できるデバイス２４に証明書を書き込む方法は、プライベート鍵をスマートカードに書き込むことによってスマートカードを初期化するのに使用される方法と類似している。安全な通信は、ＴＰのみが知っている「マスタ鍵」によってサポートされる。この「マスタ鍵」は、製造期間中に信頼できるデバイス（またはスマートカード）に書き込まれ、信頼できるデバイス２４へのデータの書き込みを可能にするのに使用される。マスタ鍵の知識なしで、信頼できるデバイス２４へのデータの書き込みは不可能である。
【００４９】
プラットフォームの動作中の或る後の時点で、例えば、プラットフォームが電源投入されるか、または、リセットされると、ステップ５１５において、信頼できるデバイス２４は、プラットフォームの完全性メトリック３６１を取得して記憶する。
【００５０】
ユーザがプラットフォームと通信したい場合、ステップ５２０において、ユーザは、乱数等のノンスを作成し、ステップ５２５において、信頼できるデバイス２４を誰何する（プラットフォームのオペレーティングシステムまたは適切なソフトウェアアプリケーションは、その誰何を認識し、通常はＢＩＯＳタイプの呼び出しを介して適切な方法で、信頼できるデバイス２４にその誰何を渡すように構成される）。ノンスは、信頼できないプラットフォームによる、古いが本物の署名を再生したもの（「反射攻撃（replay attack）」と呼ばれる）によって引き起こされる詐欺からユーザを保護するのに使用される。ノンスを提供してその応答を検証するプロセスは、既知の「誰何／応答」プロセスの一例である。
【００５１】
ステップ５３０において、信頼できるデバイス２４は、誰何を受け取って、適切な応答を作成する。この応答は、測定された完全性メトリックおよびノンス、ならびにオプションとしてそのＩＤラベルの摘要とすることができる。次に、ステップ５３５において、信頼できるデバイス２４は、そのプライベート鍵を使用して摘要に署名し、署名した摘要を、証明書３５０を添付してユーザに返す。
【００５２】
ステップ５４０において、ユーザは、誰何応答を受け取り、ＴＰの既知の公開鍵を使用して証明書を検証する。次に、ユーザは、ステップ５５０において、信頼できるデバイス２４の公開鍵を証明書から抽出し、その公開鍵を使用して、誰何応答からの署名された摘要を解読する。次に、ステップ５６０において、ユーザは、誰何応答内部のノンスを検証する。次に、ステップ５７０において、ユーザは、計算された完全性メトリックを適切なプラットフォーム完全性メトリックと比較する。計算された完全性メトリックは、ユーザが誰何応答から抽出する。適切なプラットフォーム完全性メトリックは、ユーザが証明書から抽出する。上記検証ステップのいずれかが失敗すると、ステップ５４５、５５５、５６５、または５７５において、プロセス全体がステップ５８０で終了し、それ以上の通信は行われない。
【００５３】
すべてがうまくいくと仮定して、ステップ５８５および５９０において、ユーザおよび信頼できるプラットフォームは、他のプロトコルを使用して、他のデータの安全な通信をセットアップする。ここで、プラットフォームからのデータは、好ましくは、信頼できるデバイス２４によって署名される。
【００５４】
この検証プロセスをさらに洗練することが可能である。誰何者が、誰何を通じて、プラットフォーム完全性メトリックの値、および、そのプラットフォーム完全性メトリックの値が得られた方法の双方を知っていることが望ましい。これら双方の情報は、誰何者がプラットフォームの完全性について適切な判断を行うことを可能にするものであることが望ましい。また、誰何者は、利用可能な多くの異なるオプションを有する。すなわち、誰何者は、完全性メトリックが、信頼できるデバイス２４において正当であると認識されることを容認することができるか、または、完全性メトリックの値が、誰何者によって保持された値と等しい場合に、プラットフォームが、関連したレベルの完全性を有することのみを容認することができる（もしくは、これら２つの場合に、異なるレベルの信頼が存在すると考えることができる）。
【００５５】
証明書への署名、証明書の使用、および誰何／応答の技法、ならびに、それらを使用して同一性を証明する技法は、セキュリティの当業者に既知であり、したがって、本明細書ではこれ以上詳細に説明する必要はない。
【００５６】
前述の構造およびプロトコルを使用し、場合によっては変更する、本発明の特定の実施の形態を次に説明することにする。まず、特に関連した状況を図６に関して説明することにする。図６は、従来の信頼できるコンピューティング技術における、リモートサービスプロバイダ（ＲＳＰ（remote service provider））から信頼できるプラットフォームによるサービスの獲得に関与するか、または、関与する可能性のある異なる関係者、および、それら異なる関係者の信頼関係を概略的に示している。
【００５７】
信頼できるプラットフォーム製造業者６１は、信頼できるプラットフォームモジュール（ＴＰＭ（trusted platform module））６２を製造し、一意の保証鍵をＴＭＰ６２に提供する（ステップ６５）。製造業者はこの一意の保証鍵を証明する。この証明された保証鍵は、次に、信頼できるプラットフォーム製造業者６１によって信頼された認証局（ＣＡ）６３に渡され（ステップ６６）、ランダムに選ばれた識別情報に関する証明書が、ＣＡによって発行される（ステップ６７）。このランダムに選ばれた識別情報は、ＴＰＭの新しい識別情報となる。リモートサービスプロバイダ（ＲＳＰ）６４は、プラットフォームにサービスを提供することができるが、サービスを受け取るプラットフォームが確かに信頼できることが確信できない場合に、このサービスを提供することを好まないことがある。ＴＰＭ６２は、このＲＳＰ６４とのその後の相互作用において、このＣＡ証明書をＲＳＰ６４に提供する（ステップ６８）。ＲＳＰ６４は、次に、ＣＡの公開データを使用することによって、その証明書がＣＡ６２によって正当に発行されたものであることをチェックすることができる。ここで、ＲＳＰは、ＣＡ、および、本物の信頼できるプラットフォームの製造業者の双方を信頼するものと仮定する。そうである場合、ここに、有効な信頼の連鎖（chain of trust）が存在する。すなわち、ＲＳＰはＣＡを信頼し、したがって、（ＴＰＭが、信頼できるプラットフォーム製造業者によって証明されたことを示すものと主張する）証明された情報が正当であることを信頼し、したがって、ＴＰＭ６２が、確かに、既知の信頼できるプラットフォーム製造業者６１の適法な製品であることを信頼する。信頼できるプラットフォームのプライバシーに関連した事項も、ＲＳＰに関して満たすことができる。すなわち、この構成は、ＲＳＰがどのＴＰＭと相互作用しているかをＲＳＰに明らかにする必要はない（すなわち、これは、ＲＳＰが確立できるものは、ＲＳＰが、既知でかつ信頼できる製造業者によって製造された真正なＴＰＭと相互作用しているということだけであるように構成することができる）。
【００５８】
上述したように、この方式に関する深刻な問題は、ＣＡが現在、システムの弱点であるということである。すなわち、ＴＰＭの識別情報（および、場合によっては多数のＴＰＭの識別情報）を相関させることが可能である。ＣＡが、保証鍵を識別情報にマッピングしないとする同意を破るか、または、このようなマッピングを行う許可を有し、ＣＡのデータベースが危険にさらされる場合、そのＣＡによって証明されているすべてのＴＰＭの識別情報も、おそらく危険にさらされていることになる。
【００５９】
この問題に対処する２つの異なる方式および関連したアーキテクチャを次に説明することにする。第１の方式は、信頼できるプラットフォームが、秘密値そのものを明らかにすることなく、信頼できる製造業者によって正当に形成された証明書を所有するということを検証者（リモートサービスプロバイダ等）に直接証明することを、信頼できるプラットフォームモジュールに与えられた証明書の特定の構成が信頼できるプラットフォームにどのように可能にすることができるかを詳述し、次に、取り消しを満足に実行できるシステムアーキテクチャの説明に進む。第２の方式は、取り消しに使用される証拠を提供するように適合されたグループ署名方式である。この第２の方式は、広く説明されるように、一般的な方式とみなすことができ、第１の方式はこの一例でもある（ただし、異なる特定のアルゴリズムを第１の方式に対して使用する、第２の方式の特定のバージョンも説明される）。
【００６０】
＜第１の方式＞
本発明の態様では、この問題を解決するために取られた手法は、検証者が特定のＴＰＭを見分けることができないように、ＴＰＭが信頼できる製造業者の証明を有することを、ＴＰＭ自身が検証者に確信させることを可能にするメカニズムを見つけることである。検証者は、ＲＳＰの場合もあるし、認証局の場合もあるし、取り消し局の場合もある。したがって、ＴＰＭは、単に、その保証鍵をＣＡに与え、次いで、ＲＳＡが（ＣＡを参照することによる）間接的な証明を有するのではなく、自身が適法なＴＰＭであるという直接的な証明を提供することができる。関与する関係は、（同じ要素を参照する場合は、図６と同じ参照番号で）図７に示されている。信頼できるプラットフォーム製造業者６１は、一意の識別情報をＴＰＭ６２に提供し、この識別情報を証明する（ステップ６５）。以下で分かるが、この証明は新しい形態を取る。したがって、このような構成では、ＣＡ６３は、この製造業者の証明書を証明する役割を行う必要がないということが可能である（ただし、取り消しに関して以下で分かるように、ＴＰＭ証明が取り消されたかどうかを判断することをＲＳＰに可能にする際のＣＡの役割は依然として存在する。これは、図７では、破線７３によって表されている）。その代わりに、ＴＰＭが信頼できる製造業者の適法な商品であることを、検証者６４が立証する必要がある場合、相互作用７１が行われる。この相互作用７１では、ＴＰＭは、自身の一意の識別情報を検証者に明らかにしないが、自身の証明書が、信頼できる製造業者による適切な方法以外の何らかの方法で形成された可能性は極めて少ないことを（適切な標準機関（standard）へ）示す。以下でさらに説明するように、この相互作用７１は、検証者６４とＴＰＭ６２との間の反復的な相互作用とすることができる（証明者および検証者を有するこのような相互作用による証明は、ゼロ知識証明として知られている。この証明では、証明者は、或る記述の証明にどのように取り掛かるに関する情報を何ら明らかにすることなく、検証者にその記述を確信させる）。または、この相互作用７１は、検証者による評価について、署名された数学的構造を検証者にＴＰＭによって提供することにより達成することもできる（ＴＰＭに対するいくつかの計算負担を犠牲にして通信効率に明らかな利点を有する）。いずれの場合も、検証者は、信頼できるプラットフォーム製造業者からの公開データを使用して、証明書が、信頼できるプラットフォーム製造業者によって適切な方法で形成されたものに違いないと判断する。
【００６１】
本発明の一態様による直接的な証明方式を次に説明することにする。この方式は、２つのバージョンで説明される。一方のバージョンは、ＴＰＭと検証者との間の反復的な相互作用を必要とするゼロ知識証明である。他方のバージョンは、ＴＰＭによる数学的構造の匿名の署名を含み、検証者は、その後、ＴＰＭの証明書がその数学的構造の解決によって正当に形成されるものと判断することができる。いずれの場合も、製造業者による証明は、条件
【００６２】
【数３】
2007505582.tif 000005
【００６３】
を使用する。
ここで、ｍはＴＰＭの識別情報であり、（ｅ１，ｅ２，ｎ，ｔ１，ｔ２）はＴＰＭ製造業者の公開パラメータである。これらのプライベートコンポーネントのうち、ｎはＲＳＡモジュラスであり、ｅ１およびｅ２はＲＳＡの指数であり、ｔ１およびｔ２は、ランダムに選ばれた整数である。ｄ１は、ｅ１から導出されたプライベートパラメータである。この条件は、ゼロ知識では（ｌｏｇｅ１）＋（ｌｏｇｅ２）ラウンドによって証明することができる。ｅ１もｅ２もセキュリティパラメータではないので、双方は、合理的に小さな範囲内になるように選ぶことができる（ＴＣＧ仕様の現在のバージョンでは、ｅ＝２１６＋１であり、ｎは２０４８ビットのサイズを有する）。この方式のセキュリティは、ｎが未知の因数分解を有するＲＳＡモジュラスである場合に、
【００６４】
【数４】
2007505582.tif 000006
【００６５】
となるような値ｍおよびｃを計算することが困難となるように、
【００６６】
【数５】
2007505582.tif 000007
【００６７】
に２つの整数ｔ１およびｔ２が存在し、
【００６８】
【数６】
2007505582.tif 000008
【００６９】
に２つの小さな整数ｅ１およびｅ２が存在するという仮定（J. CamenischおよびM. Stadler著「Efficient group signature schemes for large groups」, Advances in Cryptology - CRYPTO '97, LNCS 1294, pp. 410-424, Springer-Verlag, 1997によって提案された）に基づいている。
【００７０】
【数７】
2007505582.tif 000009
【００７１】
を用いて正当な対（ｍ，ｃ）を偽造するために、攻撃者は、（ａ）ｃを選び、次に、
【００７２】
【数８】
2007505582.tif 000010
【００７３】
を計算するか、または、（ｂ）ｍを選び、次に、
【００７４】
【数９】
2007505582.tif 000011
【００７５】
を計算することによって開始することができる。いずれの場合も、攻撃者は、ＲＳＡ問題を解かなければならず、したがって、正当な対の偽造は困難であるとみなすことができる。
【００７６】
用語がこの出願で具体的に特定されていない場合、これは、一般的に、それら用語が一般に暗号学で使用されるものであり、当業者に容易に理解されるからである。あるいは、読み手には、適切な暗号学の入門書（http://www.rsasecurity.com/rsalabs/faq/index.htmlで入手される、RSA Laboratories' Frequently Asked Questions About Today's Cryptographyのテキストおよび参考文献で提供される入門書等）が案内される。
【００７７】
各方式は、基本構築ブロックとして、（ｈ，ｘ＝ｈｕ，ｙ＝ｈｖ，ｚ＝ｈｕｖ）がＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ（ＤＨ）タプルであること、および、証明者が秘密値ｖを知っていることを検証するのに使用される技術プリミティブ（technical primitive）を使用する。ゼロ知識証明およびその署名バージョンには、異なる技術プリミティブが使用される。双方のプリミティブは、以下のように同じ入力を使用する。
【００７８】
公開入力：
ｎ−ＲＳＡモジュラス、Ｈ−｜ｎ｜に近い出力サイズを有するハッシュ関数
Ｋ−Ｐ＝Ｋｎ＋１（素数）を満たす最小数
ａ∈Ｚｎ＊（ａ≠１），ｈ＝ａＫ  ｍｏｄ  Ｐ
ｘ＝ｈｕ  ｍｏｄ  Ｐ，ｙ＝ｈｖ  ｍｏｄ  Ｐ，ｚ＝ｈｕｖ  ｍｏｄ  Ｐ
（証明者の）プライベート入力：ｖ
【００７９】
相互作用方式のプリミティブは、本明細書では、ＤＨ−ｉｎｔｅｒａｃｔｉｏｎ（ｈ，ｘ，ｙ，ｚ）と呼ぶ。これは、以下のステップを含む。
１．検証者は、１＜ａ＜ｎ、１＜ｂ＜ｎをランダムに選び、証明者にＣ＝ｈａｘｂ  ｍｏｄ  Ｐを送る。
２．証明者は、検証者にＲ＝Ｈ（Ｃｖ  ｍｏｄ  Ｐ）を送る。
３．検証者は、Ｒ？＝Ｈ（ｙａｚｂ  ｍｏｄ  Ｐ）である場合は容認し、そうでない場合は拒否する（なお、例えば、「Ａ？＝Ｂ」は、「もしＡ＝Ｂなら真、それ以外は偽」を意味する）。
【００８０】
このプリミティブは、明らかにシミュレーション可能である（ゼロ知識証明の特性は、ゼロ知識証明が、どの第３の関係者にも秘密値に関する情報を提供することなく正確にシミュレーションできることである）。その理由は、誰もが、ｖを知ることなく、Ｃ＝ｈａｘｂ  ｍｏｄ  ＰおよびＲ＝Ｈ（ｙａｚｂ  ｍｏｄ  Ｐ）を計算できるからである。このシミュレーションは、実際の証明からの分布（distribution）と同一の分布を有する。
【００８１】
署名方式のプリミティブは、本明細書では、ＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｘ，ｙ，ｚ）と呼ぶ。これは、証明者と検証者との間で以下のように働く。
１．署名者は１＜ｂ＜ｎをランダムに選び、次に、以下を計算する。
ｆ＝ｈｂ  ｍｏｄ  Ｐ，ｇ＝ｘｂ  ｍｏｄ  Ｐ
ｗ＝Ｈ（ｘ，ｙ，ｚ，ｆ，ｇ）
ｓ＝ｂ−ｖ＊ｗ  ｍｏｄ  ｎ
署名者は、ＤＨタプル（ｘ，ｙ，ｚ）に対する署名として、検証者に（ｗ，ｓ）を送る。
２．その署名を検証するために、検証者は以下を計算する。
ｆ'＝ｈｓｙｗ  ｍｏｄ  Ｐ
ｇ'＝ｘｓｚｗ  ｍｏｄ  Ｐ
ｗ'＝Ｈ（ｘ，ｙ，ｚ，ｆ'，ｇ'）
検証者は、ｗ'？＝ｗのチェックが成功する場合は容認し、そうでない場合は拒否する。
【００８２】
ＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｘ，ｙ，ｚ）は、鍵（ｖ，ｈ，ｘ，ｙ，ｚ，ｎ，Ｐ）に基づいたＤＨタプル（ｘ，ｙ，ｚ）に署名するＳｃｈｎｏｒｒに基づく署名（C. P. Schnorr著「Efficient identification and signatures for smart cards」, Advances in Cryptology-Crypto '89, LNCS 435, pp. 239-252, Springer-Verlag, 1990を参照されたい）である。ここで、ｖはプライベートパラメータであり、（ｈ，ｘ，ｙ，ｚ，ｎ，Ｐ）は公開パラメータである。
【００８３】
これらのプリミティブを使用して、図７で述べた信頼関係に適した直接証明方式を提供することを次に説明することにする。信頼できるプラットフォームモジュールの信頼できる製造業者（以下、ＴＰＭ製造業者）は、自身が生成するＴＰＭを証明できるようにするために次のことを必要とする。すなわち、１つのＲＳＡモジュラスｎ、２つの公開パラメータｅ１およびｅ２、ならびにｅ１＊ｄ１＝１  ｍｏｄ  φ（ｎ）となるように計算された１つのプライベートパラメータｄ１を必要とする。値Ｋは、Ｐ＝Ｋｎ＋１が素数となるように選ばれる。ｎは２０４８ビットよりも僅かに小さく、ＫはＰを素数とする最小の値であり、Ｐは約２０４８ビットであることが望ましい。ｔ１およびｔ２は、それらのｅ１乗根およびｅ２乗根を計算するのが困難であるように、
【００８４】
【数１０】
2007505582.tif 000012
【００８５】
においてランダムに選ばれる。
【００８６】
ＴＰＭ製造業者は、次に、自身が生成するＴＰＭを次のように証明する。すなわち、まず、識別情報ｍが１＜ｍ＜ｎとなるように選ばれる。この後、ＴＰＭ製造業者は、
【００８７】
【数１１】
2007505582.tif 000013
【００８８】
を計算することによってｍを証明する。ｍおよびｃは、次に、ＴＰＭに記憶される。オプションとして、ＴＰＭ製造業者がｍの値もｃの値も知らないように、ＣｈａｕｍのＲＳＡブラインド署名方式（D. Chaum著「Blind signatures for untraceable payments」, Advances in Cryptology - Crypto '82, Springer-Verlag (1983), 199-203を参照されたい）を使用することが可能である。
【００８９】
本明細書で説明した直接証明方式は、以下の目標を達成するように設計される。すなわち、この方式の実行終了時に、
１．検証者は、要求されたＴＰＭがｍおよびｃを知っていると確信する。ここで、
【００９０】
【数１２】
2007505582.tif 000014
【００９１】
である。
２．検証者はｍもｃも知らない。
【００９２】
検証者に上記１）を確信させるために、ＴＰＭは、
【００９３】
【数１３】
2007505582.tif 000015
【００９４】
および
【００９５】
【数１４】
2007505582.tif 000016
【００９６】
を検証者に送り、次に、ｘおよびｙの構造を検証者に確信させる。ここで、（ｈ，ｅ１，ｅ２）はＴＰＭからの公開入力であり、（ｍ，ｃ）はＴＰＭからのプライベート入力である。その後、検証者は、
【００９７】
【数１５】
2007505582.tif 000017
【００９８】
である場合は１）を容認し、そうでない場合は１）を拒否する。
【００９９】
ｘおよびｙの構造のこのような証明を得るための一般的な場合のプロトコルは、以下の通りである。このプロトコルは、ゼロ知識バージョンおよび匿名署名バージョンの双方に適用され、これら２つのバージョンにおけるこのプロトコルの適用の相違が示される。ゼロ知識バージョンは、２００１年２月２０日に出願された本出願人の先願の英国特許出願第０１０４１４０．９号に一部由来するのに対して、署名バージョンは、Ｓｃｈｎｏｒｒ署名方式（C. P. Schnorr著「Efficient identification and signatures for smart cards」, Advances in Cryptology-Crypto '89, LNCS 435, pp. 239-252, Springer-Verlag, 1990を参照されたい）に一部由来する。ゼロ知識バージョンでは、ＤＨ−ｉｎｔｅｒａｃｔｉｏｎがこのプロトコルで使用されることになり、署名バージョンでは、ＤＨ−ｓｉｇｎａｔｕｒｅが代わりに使用されることになる。
【０１００】
このプロトコルは、具体的にｅ１およびｅ２に適用されるのではなく、一般的に任意のｅに適用される。したがって、ｅが、ｅ１またはｅ２の代わりに使用され、
【０１０１】
【数１６】
2007505582.tif 000018
【０１０２】
が、
【０１０３】
【数１７】
2007505582.tif 000019
【０１０４】
または
【０１０５】
【数１８】
2007505582.tif 000020
【０１０６】
の代わりに使用される。このように、指定されたプロトコルは、ｘおよびｙの双方を証明するのに適している。
【０１０７】
プロトコル
【０１０８】
【数１９】
2007505582.tif 000021
【０１０９】
証明者は、公開入力（ｅ，ｎ，Ｐ，ｈ，λ，δ（ｅ））が
【０１１０】
【数２０】
2007505582.tif 000022
【０１１１】
およびλ＝ｈβを満たすこと、ならびに、証明者がαおよびβを知っていることを検証者に確信させる。
【０１１２】
このプロトコルでは、
【０１１３】
【数２１】
2007505582.tif 000023
【０１１４】
である。このプロトコルは、ＤＨ−ｉｎｔｅｒａｃｔｉｏｎまたはＤＨ−ｓｉｇｎａｔｕｒｅのいずれかのチェックが成功しない場合に中止される。
【０１１５】
証明者および検証者は、以下のプロトコルを、γ＝ｅから開始することによって実行する。
【０１１６】
ｗｈｉｌｅ  γ＞１  ｄｏ
｛
１．証明者は以下のステップを実行する。
【０１１７】
【数２２】
2007505582.tif 000024
【０１１８】
ｔが偶数の場合：ｙ←δ（γ），ｘを検証者に送る。
ｔが奇数の場合：ｙ←δ（γ−１），ｘおよびｙを検証者に送る。
２．ｔが偶数の場合：双方がＤＨ−ｉｎｔｅｒａｃｔｉｏｎ（ｈ，ｘ，ｘ，δ（γ））またはＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｘ，ｘ，δ（γ））を実行する。
ｔが奇数の場合：双方がＤＨ−ｉｎｔｅｒａｃｔｉｏｎ（ｈ，ｘ，ｘ，ｙ）またはＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｘ，ｘ，ｙ）、および、ＤＨ−ｉｎｔｅｒａｃｔｉｏｎ（ｈ，ｙ，λ，δ（γ））またはＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｙ，λ，δ（γ））を実行する。
３．双方が
【０１１９】
【数２３】
2007505582.tif 000025
【０１２０】
を実行し、次に、（δ（γ）←ｘ）を実行する。
｝
γ＝１の場合、双方がＤＨ−ｉｎｔｅｒａｃｔｉｏｎ（ｈ，ｈ，δ（１），λ）またはＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｈ，δ（１），λ）を実行する。
【０１２１】
検証者は、上記プロセスのすべてが成功した場合は容認し、そうでない場合は拒否する。
【０１２２】
上記プロトコルを、一方は
【０１２３】
【数２４】
2007505582.tif 000026
【０１２４】
により、他方は、
【０１２５】
【数２５】
2007505582.tif 000027
【０１２６】
により、２回実行した後、検証者は、第１回の実行からのδ（ｅ１）（すなわちｙ）および第２回の実行からのδ（ｅ２）（すなわちｘ）が、
【０１２７】
【数２６】
2007505582.tif 000028
【０１２８】
を満たす場合に、
【０１２９】
【数２７】
2007505582.tif 000029
【０１３０】
の構造を容認する。
【０１３１】
ゼロ知識バージョンと署名バージョンとの間の一方の基本的な相違は、（上述したように）異なるプリミティブが使用されるということである。他方の基本的な相違は、相互作用バージョンが、或る意味で、プロトコル中、同期した動作を含む（プロトコル中の動作に、証明者と検証者との間の相互作用のストリームが存在する）が、署名バージョンは基本的に非同期である（証明者は、プロトコル中、数学的構造を生成するように動作し、この数学的構造に署名し、そして、それを検証者に提供する。検証者は、その署名をチェックして、数学的構造の間、検証を得るように動作する）。
【０１３２】
ゼロ知識方式の場合、各ＤＨ−ｉｎｔｅｒａｃｔｉｏｎは、３モジュロ累乗法（modulo exponentiation）を必要とする。ＴＰＭが１つを計算し、検証者が２つを計算する。全体の相互作用証明は、約５．５＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））モジュロ累乗法のコストを要する。ＴＰＭが約２．５＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））を計算し、検証者が約３＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））を計算する。通信ラウンドは（ｌｏｇｅ１）＋（ｌｏｇｅ２）である。｜ｅ１｜＝｜ｅ２｜＝１６を選ぶ場合、ＴＰＭは、７２モジュロ累乗法を計算し、かつ検証者と３２ラウンドで通信する必要がある。
【０１３３】
署名方式の場合、各ＤＨ−ｓｉｇｎａｔｕｒｅは６モジュロ累乗法を必要とする。ＴＰＭが２つを計算し、検証者が４つを計算する。署名を行うことは約４＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））モジュロ累乗法のコストを要し、署名を検証することは約６＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））のコストを要する。通信コストは、約２．５＊（（ｌｏｇｅ１）＋（ｌｏｇｅ２））＊（ｌｏｇＰ）ビットを有する単一のメッセージのコストのみである。
【０１３４】
署名方式の具体的なケースを次に説明することにする。このケースは、特に、既存の信頼できるプラットフォーム技術の修正に特に適するように選ばれる。本明細書では、出願人は、ｅ１＝２１６＋１およびｅ２＝２を選ぶこととする。
【０１３５】
ＴＰＭは、まず、ａ∈Ｒ（１，ｎ−１］をランダムに選んで、かつｈ＝ａＫ  ｍｏｄ  Ｐ、
【０１３６】
【数２８】
2007505582.tif 000030
【０１３７】
および
【０１３８】
【数２９】
2007505582.tif 000031
【０１３９】
を計算することによってｈ、ｘ、およびｙを生成する。ＴＰＭは、検証者がｈ、ｘ、およびｙを得ることができるように、これらを利用可能にする（なお、例えば、ｃについて「［ａ，ｂ］」と記した場合、ａ＜＝ｃ＜＝ｂを意味し、同じく「］ａ，ｂ［」と記した場合、ａ＜ｃ＜ｂを意味し、同じく「］ａ，ｂ］」と記した場合、ａ＜ｃ＜＝ｂを意味する。）
【０１４０】
ＴＰＭは、以下のように、ｘおよびｙに２つの署名をそれぞれ行う。
【０１４１】
１．
【０１４２】
【数３０】
2007505582.tif 000032
【０１４３】
ＴＰＭは１＜ｂ＜ｎをランダムに選び、次に、以下を計算する。
ｚ＝ｈｍ  ｍｏｄ  ｎ
ｆ＝ｈｂ  ｍｏｄ  Ｐ，ｇ＝ｚｂ  ｍｏｄ  Ｐ
ｕ＝Ｈ（ｚ，ｘ，ｆ，ｇ）
ｓ＝ｂ−ｍ＊ｕ  ｍｏｄ  ｎ
ＴＰＭは、
【０１４４】
【数３１】
2007505582.tif 000033
【０１４５】
の構造に対する署名として、（ｚ，ｕ，ｓ）を刻む（chip）。
【０１４６】
この署名を検証するために、検証者は以下を計算する。
ｆ'＝ｈｓ＊ｚｕ  ｍｏｄ  Ｐ
ｇ'＝ｚｓ＊ｘｕ  ｍｏｄ  Ｐ
ｕ'＝Ｈ（ｚ，ｘ，ｆ'，ｇ'）
検証者は、ｕ'？＝ｕのチェックが成功する場合は
【０１４７】
【数３２】
2007505582.tif 000034
【０１４８】
を容認し、そうでない場合は拒否する。
【０１４９】
２．
【０１５０】
【数３３】
2007505582.tif 000035
【０１５１】
ＴＰＭは、
【０１５２】
【数３４】
2007505582.tif 000036
【０１５３】
を計算する。これらの値は、ＴＰＭの長期秘密値として使用することができる。ＴＰＭは、例えば、ＴＭＰの外部にこのような秘密値の暗号化されたバージョンのみを記憶して、このような秘密値を安全に記憶する必要がある。
【０１５４】
署名を行うために、ＴＰＭは、ｂｉ∈Ｒ（１，ｎ−１］（０≦ｉ≦１５）をランダムに選んで、以下を計算する。
【０１５５】
【数３５】
2007505582.tif 000037
【０１５６】
ｖ＝Ｈ（ｈ，ｋ，ｈ０，ｈ１，…，ｈ１６，ｆ０，ｆ１，…，ｆ１５，ｇ０，ｇ１，…，ｇ１６）
ｓｉ＝ｂｉ−ｒｉ＊ｖ  ｍｏｄ  ｎ  （０≦ｉ≦１５）
【０１５７】
ＴＰＭは、
【０１５８】
【数３６】
2007505582.tif 000038
【０１５９】
の構造に対する署名として以下のデータを刻む。
【０１６０】
ｈｉ（０≦ｉ≦１６），ｖ，ｓｉ（０≦ｉ≦１５）
【０１６１】
この署名を検証するために、検証者は以下を計算する。
【０１６２】
【数３７】
2007505582.tif 000039
【０１６３】
ｖ'＝Ｈ（ｈ，ｋ，ｈ０，ｈ１，…，ｈ１６，ｆ０'，ｆ１'，…，ｈ１５，ｇ０'，ｇ１'，…，ｇ１６'）
次に、検証者は、ｖ'？＝ｖをチェックする。
【０１６４】
これらの署名の検証に基づいて、検証者は、以下を確信する。
（１）ＤＨ−ｓｉｇｎａｔｕｒｅから、検証者は、ｖのｆ０'およびｇ０'をチェックすることによって、
【０１６５】
【数３８】
2007505582.tif 000040
【０１６６】
を確信する。
【０１６７】
【数３９】
2007505582.tif 000041
【０１６８】
（２）ＤＨ−ｓｉｇｎａｔｕｒｅおよび（１）から、検証者は、ｖのｆｉ'およびｇｉ'をチェックすることによって、
【０１６９】
【数４０】
2007505582.tif 000042
【０１７０】
を確信する。
【０１７１】
【数４１】
2007505582.tif 000043
【０１７２】
（３）ＤＨ−ｓｉｇｎａｔｕｒｅおよび（１）から、検証者は、ｖのｆ０'およびｇ１６'をチェックすることによって、
ｃ∈（１，ｎ−１］，ｈ０＝ｈｃ  ｍｏｄ  Ｐ，ｙ＝ｈ１６ｃ  ｍｏｄ  Ｐ
を確信する。
【０１７３】
【数４２】
2007505582.tif 000044
【０１７４】
（１）、（２）、および（３）から、検証者は以下を確信する。
【０１７５】
【数４３】
2007505582.tif 000045
【０１７６】
【数４４】
2007505582.tif 000046
【０１７７】
および
【０１７８】
【数４５】
2007505582.tif 000047
【０１７９】
のそれぞれに対する２つの検証が成功した後、検証者としての検証者は、その結果、
【０１８０】
【数４６】
2007505582.tif 000048
【０１８１】
である場合に、
【０１８２】
【数４７】
2007505582.tif 000049
【０１８３】
の構成を容認することができる。ＴＰＭは、その結果、自身が、証明ｃを有する秘密値ｍを有することを検証者に直接証明したことになり、ｍの値もｃの値も明らかにすることなくそれを行ったことになる。ここで、
【０１８４】
【数４８】
2007505582.tif 000050
【０１８５】
である。
【０１８６】
２０４８ビットに近い出力サイズを有するハッシュ関数Ｈを実施するのに特に適した方法は、既知のハッシュアルゴリズムＳＨＡ−１（その理由は、ＳＨＡ−１は、現在、従来のＴＰＭにすでに使用されているからである）を、結果を結合して１２回使用することである。すなわち、Ｈ（ｘ）＝ＳＨＡ−１（ｘ＋１）‖ＳＨＡ−１（ｘ＋２）‖…‖ＳＨＡ−１（ｘ＋１２）である。ここで、‖は結合である。
【０１８７】
本発明の一態様による直接証明方式のこの特別なケースでは、ｅ１＝２１６＋１、ｅ２＝２、および｜Ｐ｜＝２０４８である。
【０１８８】
【数４９】
2007505582.tif 000051
【０１８９】
の構成に署名するために、ＴＰＭは以下のことを行う必要がある。
１．２０４８ビットサイズを有する１８個の乱数を生成すること。
２．５４個が２０４８ビット長のモジュラスおよび指数を有し、１つが２０４８ビットのモジュラスおよび（ｌｏｇＫ）ビットの指数を有する５５個のＲＳＡモジュロ累乗法を計算すること。
３．２０４８ビットモジュラスを有する１７個の乗算モジュロ、１７個の減算モジュロ、および１つの除算モジュロを計算すること。
４．２４個のＳＨＡ−１関数と等価な２つのハッシュ関数を計算すること。
５．２１＊（ｌｏｇＰ）＋１９＊（ｌｏｇｎ）ビットのサイズであるほぼ８０ｋビットのサイズを有する署名を送ること。
【０１９０】
例示の従来のＴＰＭは、２０４８ビットのＲＳＡ署名を５００ｍｓで計算することができる暗号アクセラレータを含む。ＴＰＭは、
【０１９１】
【数５０】
2007505582.tif 000052
【０１９２】
の構造に１回署名するために、５５個のＲＳＡモジュロ累乗法を計算する必要がある。これには、約３０秒を要する。しかしながら、これは事前に計算することができ、したがって、ＴＰＭ−検証者の相互作用にとって許容できないオーバーヘッドを提供するものではない。
【０１９３】
このような直接証明方式を使用してＴＰＭの同一性をＲＳＰに証明することは、システム全体の弱点であることから認証局を取り除くという明らかな利点を有するが、潜在的な不都合も伴う。この不都合は、ＴＰＭの秘密値の証明を取り消すことが直接的ではないことである（これは、従来技術では、ＣＡによって直接的に行うことができた。ＣＡは、単に、自身が許可した証明書を取り消さなければならないだけであった）。ＴＰＭは、自身が、信頼できる製造業者の証明書を有することをＲＳＰに確信させることができるが、ＲＳＰが特定のＴＰＭを見分けることを可能にしない。各ＲＳＰは、悪性ＴＰＭの自身のブラックリストを構築することができる（以下でさらに説明するように、直接証明方式によって、ＲＳＰは、自身が相互作用した或るＴＰＭを、自身が相互作用した他のＴＰＭと区別することが可能になるので）が、各ＲＳＰは、自身がそのＴＰＭについて知っているような情報を、別のＲＳＰ（または他の任意の関係者）に役立つように転送することはできない。そのＲＳＰ自身のブラックリストを他の任意のブラックリストと一致させる方法はない。その理由は、ＲＳＰは、ＴＰＭの識別情報を知らず、関連した転送可能なデータを有しないからである。攻撃者が、例えば、或るＴＰＭを物理的に破壊することによって、或る識別情報を得た場合、その攻撃者は、この識別情報の記録を自身のブラックリストに有していなかったＲＳＰに、この識別情報が正当であることを確信させることができる。
【０１９４】
定義によれば、悪性プラットフォームの秘密プリミティブが適法なコミュニティに明らかにされていない限り、直接証明方式の使用によって、グローバルに分散された取り消しリストを作成することは不可能である。信頼できるプラットフォームが使用される場合、これが発生する可能性は低い。したがって、どの所与のプラットフォームも、他のプラットフォームの悪い経験から直接学習することはできないと仮定することができる。したがって、ピアツーピアアーキテクチャが高度化した将来の世界では、抽出されたプリミティブが適法なコニュニティに知られていない限り、たとえプラットフォームが悪性ＴＰＭの突発的な発生があったことを知っても、そのプラットフォームには、（新しいウィルス定義と類似した）新しい「悪性の定義（rogue definition）」を与えることができず、それらの悪性のものを検出することはできない。したがって、ネットワーク全体が、信頼が破壊される不安のためにシャットダウンするおそれがある。プリミティブがブラインド方式を通じて作成されている（製造業者でさえもそれらプリミティブを知らず、したがって、どのＴＰＭになりすますこともできないようになっている）場合、この問題ははるかに深刻なものになる。
【０１９５】
直接証明方式の目的は、識別情報の相関を防止することであるので、この問題は、直接証明方式にとって基本的なものである。直接証明方式が有効である場合、或る関係者が、第２の関係者の対応するものが第１の関係者の対応するものでもあることを当該第２の関係者が認識することを可能にする情報を当該第２の関係者に与えることは不可能である。したがって、ＴＰＭが破壊され、その秘密プリミティブが抽出されて、ＴＰＭのソフトウェアシミュレーションに複製された場合、それら抽出されたプリミティブが、悪性コミュニティだけでなく、適法なコミュニティにも知られない限り、分散リストにそのＴＰＭを列挙することは不可能である。
【０１９６】
したがって、本発明のさらに別の態様では、改良されたシステムアーキテクチャが提案される。このシステムアーキテクチャは、たとえ、ＴＰＭがその証明書をＲＳＰに明らかにすることなく、かつ、取り消しを行う認証局がＴＰＭの保証識別情報（endorsement identity）を所有する必要なく、当該ＴＰＭがＲＳＰに対する正当に形成された証明書を有するという直接証明を、当該ＴＰＭが提供するように適合されていても、有効な取り消しを可能にするものである。このシステムは、上記で説明した直接証明の形態に関して説明される。しかし、このアーキテクチャは、一般に、任意の構成に適用可能であることが理解されるべきである。この任意の構成とは、ＴＰＭが検証者に対する正当に形成された証明書を検証者に明らかにしない状態で当該ＴＰＭがその証明書を有するという直接証明を提供するように、ＴＰＭが適合される構成である。また、上記で使用された特定の直接証明が以下で参照される場合、このような参照は、この態様における本発明を越えることなく、他の任意の直接証明への参照に置き換え可能であることが理解されるべきである。
【０１９７】
システムは、図７に示すように、ＴＰＭ製造業者６１、ＴＰＭ６２、認証局（ＣＡ）６３、およびＲＳＰ６４の４組のエンティティを含む。ＣＡ６３は、取り消し局の役割も果たす。
【０１９８】
上述したように、例示の直接証明方式を実施するために、各ＴＰＭ製造業者は、パラメータｎ、Ｋ、Ｐ、ｅ２、ｅ２、ｄ１、ｔ１、およびｔ２を有する。ここで、ｎ、Ｋ、Ｐ、ｅ２、ｅ２、ｔ１、およびｔ２は公開パラメータであり、ｄ１はプライベートパラメータである。各ＴＰＭは、
【０１９９】
【数５１】
2007505582.tif 000053
【０２００】
を満たす秘密パラメータｍおよびｃを有する。異なる直接証明方式が使用される場合、ＴＰＭ製造業者およびＴＰＭは、異なるパラメータを使用することができる。
【０２０１】
この構成では、各ＣＡは、従来の非対称鍵対ＰＣＡおよびＳＣＡを有する。また、各ＣＡは、複数の公開識別情報ＩＤＣＡも有する。これらの公開識別情報ＩＤＣＡは、特定の目的ＰＡの識別情報と結合したＣＡの公開名ｎＣＡ、すなわちＩＤＣＡ＝ｎＣＡ‖ＰＡとすることができる。各ＲＳＰは、ＰＣＡの認証されたバージョンを有する。
【０２０２】
対象となるシナリオでは、信頼できるプラットフォームデバイス（ＴＰＭ）は、リモートサービスプロバイダ（ＲＳＰ）と通信して、目的（本明細書では、１群の指定されたサービス）ＰＡにアクセスする必要があり、認証局（ＣＡ）は、ＲＳＰによって信頼されて、ＰＡの証明書を発行し、ＰＡにアクセスすることを可能にすべきでないＴＰＭのブラックリストを保持する。これは、次のようにして行うことができる。
【０２０３】
ＴＰＭは、まず、従来の非対称鍵対ＰＴＰＭおよびＳＴＰＭ（例えば、ＲＳＡ鍵対）を作成し、次いで、ｍおよびｃの秘密値に基いて、
【０２０４】
【数５２】
2007505582.tif 000054
【０２０５】
の構造に署名する。
上述したように、これを行うために、ＴＰＭは、ｈをランダムに選び、ｘおよびｙを計算し、２つ署名
【０２０６】
【数５３】
2007505582.tif 000055
【０２０７】
および
【０２０８】
【数５４】
2007505582.tif 000056
【０２０９】
を行う。
ここで、
【０２１０】
【数５５】
2007505582.tif 000057
【０２１１】
であり、
【０２１２】
【数５６】
2007505582.tif 000058
【０２１３】
である。
ＴＰＭは、ｘおよびｙを含む署名をＰＴＰＭと共にＣＡに送る。ＣＡは、署名の検証が成功した後、ＴＰＭが、
【０２１４】
【数５７】
2007505582.tif 000059
【０２１５】
を満たす対（ｍ，ｃ）を有すること、および、所与のｈおよびｘが
【０２１６】
【数５８】
2007505582.tif 000060
【０２１７】
を満たすことを確信する。
これは、単に、上述した直接証明方式を、ＴＰＭによる証明およびＲＳＰによる検証にさらに使用したものにすぎないことに留意されたい。ここでの唯一の重要な相違は、検証がＣＡによるということである。また、この結果として、このステップを実行するのに、他の任意の有効な直接証明方式を使用できることになる。
【０２１８】
ＣＡは、次に、ＴＰＭにＩＤＣＡを送る（オプションとして、ＴＰＭは、信頼できるパブリックドメインからのＩＤＣＡに簡単にアクセスすることができる）。ＴＰＭは、ｈＣＡ＝Ｈ（ＩＤＣＡ）および
【０２１９】
【数５９】
2007505582.tif 000061
【０２２０】
となるようなｈＣＡおよびｘ'を計算する。ＴＰＭは、上述したようなＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｈＣＡ，ｘ，ｘ'）を計算し、この署名をＣＡに送る。ＣＡは、まず、ＤＨ−ｓｉｇｎａｔｕｒｅ（ｈ，ｈＣＡ，ｘ，ｘ'）を検証する。この検証が成功しない場合、ＣＡは、ＴＰＭの証明書の要求を拒否する。そうでない場合、ＣＡは、ｘ'がブラックリストにあるかどうかをチェックする。ｘ'がブラックリストにある場合、ＣＡは、このＴＰＭも拒否する。そうでない場合、ＣＡは、（ＴＣＧ仕様の現在のバージョンにおけるプライベートＣＡと同じように）ＰＣＡおよびＳＣＡを通常の方法で使用することによってＰＴＰＭを証明し、ｘ'およびＰＴＰＭの証明書を記録する。これを管理する適切な方法は、ＣＡが、内部アクセスのみのためにｘ'をＰＴＰＭと共に記録し、公にアクセスできる取り消しリストにＰＴＰＭを列挙することである。
【０２２１】
この場合も、ＤＨ−ｓｉｇｎａｔｕｒｅを使用する直接証明方式に対する代替的な直接証明方式を、本発明のこの態様の範囲から逸脱することなく、ここでも使用できることに留意すべきである。必要なことは、ＣＡが、ＴＰＭに発行された証明書を有するそれらＴＰＭのリストを自ら確立できるように、直接証明方式のプロセスが、ＴＰＭ秘密値を表すｘ'等の値を、その秘密値を明らかにすることなく生成できることだけである。
【０２２２】
ＴＣＧ仕様の現在のバージョンと同じように、ＴＰＭは、ＲＳＰによって提供されたＰＡのグループのサービスにアクセスするために、ＰＴＰＭの証明書でＲＳＰに対して自身を認証する。ＲＳＰは、その証明書を検証し、また、この証明書がＣＡの取り消しリストにあるかどうかもチェックする。例えば、これは、従来の証明書取り消しリスト（ＣＲＬ（Certificate Revocation List））を使用することによって行うことができる。
【０２２３】
ＣＡは、一般に、自身が発行した証明書ＰＴＰＭを、例えば、ＴＰＭ識別情報が正当でないか、または、正当であるべきでないことが明らかであるような方法で、これらの証明書が特定のサービスにアクセスするのに使用されたＲＳＰ（または、悪性ＴＰＭと相互作用した他の関係者）から受け取ることによって悪性ＴＰＭを知ることになる。ＣＡは、次に、証明書ＰＴＰＭを、関連したＴＰＭの検証で提供された関連したｘ'と照合することができる。証明書ＰＴＰＭは、次に、ＣＲＬに置くことができる。悪性ＰＴＭは、ｘ'の同じ値が検証プロセス中に生成されることになるので、さらなる証明書を得ることができない。上述したように、ＣＡは、検証中にこれを検出し、悪性ＰＴＭへの証明書の提供を拒否する。
【０２２４】
＜第２の方式＞
上述したように、第２の方式は、取り消し証を有するグループ署名方式である。以下で説明するように、説明する特定の方式は、Advances in Cryptology - CRYPT 2000, LNCS 1880, pp. 255-270, Springer-Verlag, 2000のG. Ateniese、J. Camenisch、M. Joye，およびG. Tsudik著「A practical and provably secure coalition-resistant group signature scheme」に記載された方式をさらに発展させたバージョンである。以下で述べる方式では、各ＴＰＭは、一意の保証鍵ｚ、および、ｕｅ＝ａｚｂ  ｍｏｄ  ｎを満たす対応する鍵証明書（ｕ，ｅ）を有する。ここで、（ａ，ｂ，ｎ）は、ＴＰＭ製造業者の公開パラメータであり、ｎはＲＳＡモジュラスであり、ａおよびｂはランダムに選ばれた整数である。この方式のセキュリティは、強ＲＳＡ仮定および決定的（decisional）Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定に基づいている。このグループ署名方式は、特に効率的であり、Ateniese他（上記参照）のランダムオラクルモデルの既存のセキュリティ証明からの利益を得る。
【０２２５】
取り消し証を生成する特性を有する一般的なグループ署名方式を次に説明することにする。この一般的な方式は６つのプロシージャを含む。
【０２２６】
ＳＥＴＵＰ（セットアップ）：セキュリティパラメータ１の入力に対して、この確率的アルゴリズムは、グループ公開鍵ＰＫ（すべてのシステムパラメータを含む）およびグループメンバーシップ証明書発行者（ＣＩ）用のグループ秘密鍵ＳＫを出力する。
【０２２７】
ＪＯＩＮ（ジョイン）：或るユーザが新たなグループメンバになる、ＣＩとそのユーザとの間のプロトコル。このユーザの出力は、メンバーシップ秘密値およびメンバーシップ証明書である。
【０２２８】
ＲＥＶＯＣＡＴＩＯＮ  ＥＶＩＤＥＮＣＥ  ＣＲＥＡＴＥ（取り消し証作成）：グループ公開鍵、メンバーシップ秘密値、メンバーシップ証明書、および取り消しパラメータの入力に対して、取り消し証を出力する確率的アルゴリズム。
【０２２９】
ＳＩＧＮ（署名）：グループ公開鍵、メンバーシップ証明書、メンバーシップ秘密値、取り消し証、およびメッセージｍの入力に対して、取り消し証を有するｍのグループ署名を出力する確率的アルゴリズム。
【０２３０】
ＶＥＲＩＦＹ（検証）：グループ公開鍵および取り消しパラメータに関して、取り消し証を有するメッセージの主張されたグループ署名の正当性を立証するためのアルゴリズム。
【０２３１】
ＲＥＶＯＣＡＴＩＯＮ（取り消し）：グループ署名から取り消しリストに取り消し証を列挙するためのアルゴリズム。
【０２３２】
このタイプの好ましい方式では、以下の特性がすべて満たされるべきである。
正当性（correctness）。ＳＩＧＮを使用してグループメンバにより生成された署名は、ＶＥＲＩＦＹによって容認されなければならない。
偽造不能性（unforgeability）。グループメンバのみが、グループを代表してメッセージに署名することができる。
匿名性（anonymity）。或るメッセージの正当な署名が与えられると、実際のグループメンバを特定することは、そのグループメンバーシップ証明書発行者を含めてあらゆる者にとって計算が困難である。
リンク可能性（linkability）。異なる取り消し証を有する２つの異なる正当な署名が同じグループメンバによって計算されたかどうかを判断することは計算が困難である。しかしながら、２つの異なる正当な署名が同じ取り消し証で計算されたかどうかを判断することは容易である。
トレース可能性／取り消し可能性（traceability/revocability）。グループメンバ秘密値およびそのメンバーシップ証明書が公開されると、あらゆる者が、この秘密値および証明書に基づいて署名された正当な署名を開くことができる。グループメンバ秘密値およびメンバーシップ証明書がないと、誰も、実際のグループメンバに対する正当な署名をトレースすることができない。しかしながら、誰もが取り消し証に対する任意のグループ署名をトレースすることができ、したがって、取り消し証により対処される指定された利用目的に対するグループメンバーシップは、取り消すことができる。
結託耐性（coalition-resistance）。グループメンバの共謀した一部（グループ全体で構成された場合でも）は、特別なグループメンバ秘密値および対応する正当なメンバーシップ証明書に基づいて署名された正当な署名を生成することができない。
【０２３３】
１対のメンバ秘密値およびメンバーシップ証明書を得た攻撃者がいると、その攻撃者は、多くの「正当な」コピーを作成できることは明らかである。グループメンバの一般的な署名機能は、そのグループメンバ秘密値およびそのメンバーシップ証明書が公開されない限り、取り消すことができない。一方、取り消し証を有するグループ署名は、メンバーシップ証明書のトレース可能性を有しないグループ署名であるが、取り消し証に関するメンバーシップのトレース可能性は存在する。グループ署名（特定の目的でのグループメンバによる署名）の特定の使用のための取り消し証は、特定のグループメンバ秘密値およびメンバーシップ証明書ならびに目的にとって一意である。したがって、特定の目的での取り消し証とグループ署名との間のリンクは、一般に検証可能である。したがって、出願人は、秘密値または証明書の取り消しの通常の方法の取り消し手法の上下に取り消し手法を構築することができる。
【０２３４】
本方式を達成するための修正を説明する前に、Ateniese他のグループ署名方式（「ＡＣＪＴ署名方式」）を次に述べることにする。
【０２３５】
グループ管理者（ＧＭ）は、公開鍵ＰＫ＝（ｎ，ａ，ｂ，ｇ，ｈ，ｙ，ｌ，Γ，Δ）を有する。ここで、ｎは２つの安全な素数ｐとｑとの積であり、ａ、ｂ、ｇ、ｈ、およびｙは、平方剰余モジュロｎであり、ｌはセキュリティパラメータであり、ΓおよびΔは２つの区間である。ＧＭは、対応するプライベート鍵ＳＫ＝（ｐ，ｑ，ｘ）を有する。ここで、ｐおよびｑは、グループメンバーシップ証明書を発行するのに使用され、ｘ＝ｌｏｇｇｙは、メンバーシップ取り消しに使用される。
【０２３６】
グループメンバＰｉは、メンバーシップ秘密値ｚｉ、および、
【０２３７】
【数６０】
2007505582.tif 000062
【０２３８】
を満たすメンバーシップ証明書（ｕｉ，ｅｉ）を有する。値ｚｉは、適切な整数範囲ΔからＰｉおよびＧＭによって共同で選択される。値ｚｉは、（１）ＧＭがこの値に関する情報を得ないこと、ならびに、（２）ＰｉおよびＧＭの双方が、互いが自身の貢献を正しく行わなければならないことを検証できること、を保証する安全な方法で選択される。値ｅｉは、別の適切な範囲ΓからＧＭによって選択された素数である。ＧＭは、Ｐｉを特定するために（ｕｉ，ｅｉ）の記録を保持する。
【０２３９】
Ｐｉがグループを代表してメッセージに署名する時、Ｐｉは、グループにおけるメンバーシップを証明する。これを行うために、Ｐｉは、（ｚｉ，ｕｉ，ｅｉ）を知っていることを効果的に証明する。例えば、グループを代表してメッセージｍに署名するために、Ｐｉは、まず、ｗ∈Ｒ｛０，１｝２ｌを選び、Ｔ１＝ｕｉｙｗ  ｍｏｄ  ｎ、Ｔ２＝ｇｗ  ｍｏｄ  ｎ、および
【０２４０】
【数６１】
2007505582.tif 000063
【０２４１】
を計算する。
次に、Ｐｉは、ｂ＝Ｔ１αａ−βｙ−χ  ｍｏｄ  ｎ、１＝Ｔ２αｇ−χ  ｍｏｄ  ｎ、Ｔ２＝ｇδ  ｍｏｄ  ｎ、およびＴ３＝ｇαｈδ  ｍｏｄ  ｎがメッセージｍで維持されるような整数α、β、χ、およびδを知っていることの署名を作成する。ここで、α∈Γであり、β∈Δである。［ＣＳ９７］におけるCamenischおよびStadlerによって導入された表記法を使用することによって、この署名は次のように表記することができる。
ＰＫ［（α，β，χ，δ）：ｂ＝Ｔ１αａ−βｙ−χ∧１＝Ｔ２αｇ−χ∧Ｔ２＝ｇδ∧Ｔ３＝ｇαｈδ∧α∈Γ∧β∈Δ］（ｍ）
【０２４２】
この署名を検証することによって、検証者は以下を確信する。
ａβｂ＝Ｔ１αｙ−χ＝Ｔ１αｙ−αδ＝（Ｔ１ｙ−δ）α  ｍｏｄ  ｎ
さらに、
【０２４３】
【数６２】
2007505582.tif 000064
【０２４４】
このグループ署名は、
（１）
【０２４５】
【数６３】
2007505582.tif 000065
【０２４６】
が、ｅｉ乗根を有する値であるような値ｚｉ∈Δ、および、
（２）
【０２４７】
【数６４】
2007505582.tif 000066
【０２４８】
が、ｙに基づいて（Ｔ１，Ｔ２）でＥ１Ｇａｍａｌ暗号化されたものであるようなそのｅｉ乗根、を知っていることの署名とみなすことができる。ここで、ｅｉは、Ｔ３ｗ．ｒ．ｔ．ｇおよびｈの表現の最初の部分であり、そのｅｉはΓに存在する。
【０２４９】
すべてのグループ署名方式と同様に、ＧＭは、Ｅ１Ｇａｍａｌ解読鍵ｘを有し、したがって、ＧＭがＰｉを特定する値ｕ'＝Ｔ１／（Ｔ２）ｘ＝ｕｉを計算できるので、ＧＭのみが、Ｐｉに対する署名を行使することができる。
【０２５０】
取り消し証を有するグループ署名方式を提供するためのこの方式に対する修正を次に説明することにする。関与する関係者およびプロセスが図８（取り消し局を使用するバージョンについて）および図９（取り消し局を使用しないバージョンについて）に概略的に示されている。この新しい方式は、ＡＣＪＴグループ署名方式に対して以下の３つの変更を行う。
【０２５１】
１．出願人は、ＴＰＭ８２自身を除くどのエンティティにも、保証鍵証明書を署名から取り出すことを可能にしない。そうでない場合には、このエンティティは、匿名性を破る可能性がある。したがって、出願人は、ＧＭのメンバーシップの開く機能を削除し、証明書発行機能のみを維持する。出願人は、このエンティティを保証鍵証明書発行者（ＣＩ）と呼ぶ。ＣＩ８１は、本物のＴＰＭの製造業者であることが好ましい。
２．特定の目的でのグループ署名の取り消しを可能にするために、出願人は、グループメンバ８２が、例えば、その特定の目的の取り消しを専門とする取り消し局８３を使用して、その特定の目的で、自己証明した取り消し証を作成することを必要とする。この取り消し局８３は、同じ利用目的の同じＴＰＭ保証鍵および鍵証明書に基づいて署名された異なる署名を相関させることができる。代替的に、悪性ＴＰＭの検出者がこのような情報を公に（または、そうでない場合には適切に）利用可能にすると、検証者は自身の取り消しリストを保持することができる。
３．出願人は、ＴＰＭ保証鍵の作成およびその証明書の発行を行うプロセスを簡単化する。ＡＣＪＴグループ署名は、ＧＭおよびＰｉが、互いが適切にこの方式を実行するものと信頼できない場合の利用向けに設計されている。このＴＣＧの利用では、このプロセスは、本物のＴＰＭの製造中に行われ、ＴＰＭ製造業者であるＣＩがそれらによって作成されたＴＰＭを信頼することは当然である。
【０２５２】
検証者８４は、ＴＰＭの真正性を立証する必要のある任意の関係者とすることができ、通常、これは、リモートサービスプロバイダ（ＲＳＰ）となる。
【０２５３】
次に、出願人は、上記例示で一般的に説明した６つのプロシージャでこの方式を説明する。
【０２５４】
１．セットアップ（ステップ８０１）
システムを開始するために、アーキテクチャ全体の定義者は、次のように動作する。
１．パラメータεが統計的なゼロ知識の堅固さ（tightness）を適切に制御でき、パラメータｌが、使用するモジュラスのサイズのセキュリティ要件の必要性を満たすようなε＞１、ｋ、およびｌをセキュリティパラメータとして選ぶ。
２．λ１＞ε（λ２＋ｋ）＋２、λ２＞４ｌ、およびγ１＞ε（γ２＋ｋ）＋２、γ２＞λ１＋２を満たすλ１、λ２、γ１、およびγ２を長さとして選ぶ。整数範囲Δ＝］２λ１−２λ２，２λ１＋２λ２［およびΓ＝］２γ１−２γ２，２γ１＋２γ２［を定義する。
３．衝突困難ハッシュ関数Ｈ：｛０，１｝＊→｛０，１｝ｋを選ぶ。
【０２５５】
ＴＰＭ製造業者（ＣＩと呼ぶ）をセットアップするために、ＣＩは、以下のように動作することによって、自身の公開鍵（ｎ，ａ，ｂ，ｇ，ｙ，ｈ）および対応するプライベート鍵（ｐ'，ｑ'）を作成する。
１．ｐ＝２ｐ'＋１およびｑ＝２ｑ'＋１が素数となるようなランダムな秘密のｌビット素数ｐ'、ｑ'を選択する。モジュラスｎ＝ｐｑを設定する。
２．ランダムな要素ａ'、ｂ'、ｃ'∈ＲＺｎ＊を選択し、ｇ'＝Ｈ（ｃ'‖１）、ｙ'＝Ｈ（ｃ'‖２）、およびｈ'＝Ｈ（ｃ'‖３）を計算し、ｇｃｄ（ａ'±１，ｎ）＝１、ｇｃｄ（ｂ'±１，ｎ）＝１、ｇｃｄ（ｇ'±１，ｎ）＝１、ｇｃｄ（ｙ'±１，ｎ）＝１、およびｇｃｄ（ｈ'±１，ｎ）＝１が維持されるかどうかをチェックし、チェックが成功すると、ａ＝ａ'２  ｍｏｄ  ｎ、ｂ＝ｂ'２  ｍｏｄ  ｎ、ｇ＝ｇ'２  ｍｏｄ  ｎ、ｙ＝ｙ'２  ｍｏｄ  ｎ、およびｈ＝ｈ'２  ｍｏｄ  ｎを計算し、そうでない場合は、「すみません。私はあなたのモジュラスを因数分解した。」をＣＩに報告する。これは、ａ、ｂ、ｇ、ｙ、ｈ∈位数（order）ｐ'ｑ'のＱＲ（ｎ）を保証し、また、誰も、ｎを法とする、ｙ（ｈまたはｇ）の離散対数ｗ．ｒ．ｔ．底ｇまたはｈ（ｇもしくはｙ、または、ｈもしくはｙ）を知らないことを保証する。
【０２５６】
ＣＩの公開鍵は、通常の手段を介して利用可能にされる（すなわち、信頼できる局によって署名された或る形態の公開鍵証明書に実施される）。実際には、フレーム攻撃（framing attack）を防止するために、この公開鍵を証明する前に、信頼できる局は、（ｎ，ａ，ｂ，ｇ，ｙ，ｈ）の構成要素を検証しなければならない。詳細には、（１）ＣＩは、ｎが２つの安全な素数の積であることの証明を信頼できる局に提供する必要があり、（２）ＣＩは、ａ'、ｂ'、およびｃ'を信頼できる局に送信し、信頼できる局は、次に、ｇｃｄ（ａ'±１，ｎ）＝１、ｇｃｄ（ｂ'±１，ｎ）＝１、ｇｃｄ（Ｈ（ｃ'‖１）±１，ｎ）＝１、ｇｃｄ（Ｈ（ｃ'‖２）±１，ｎ）＝１、およびｇｃｄ（Ｈ（ｃ'‖３）±１，ｎ）＝１が維持されることをチェックし、ａ＝ａ'２  ｍｏｄ  ｎ、ｂ＝ｂ'２  ｍｏｄ  ｎ、ｇ＝Ｈ（ｃ'‖１）２  ｍｏｄ  ｎ、ｙ＝Ｈ（ｃ'‖２）２  ｍｏｄ  ｎ、およびｈ＝Ｈ（ｃ'‖３）２  ｍｏｄ  ｎを計算する。
【０２５７】
２．ジョイン（ステップ８０２）
ＴＰＭ（ＴＰＭと呼ぶ）をＴＰＭグループのメンバにするための、従うことができる複数の可能な手法が存在する。一例示の形態では、ＴＰＭおよびＣＩは次のように動作することができる。
１．ＴＰＭは、秘密指数ｚ∈ＲΔを自身の保証鍵として生成し、ｖ＝ａｚ  ｍｏｄ  ｎを計算し、ｖをＣＩに送る。
２．ＣＩは、ランダムな素数ｅ∈ＲΓを選択し、ｕ＝（ｖｂ）１／ｅ  ｍｏｄ  ｎを計算することによって保証鍵証明書（ｕ，ｅ）を発行する。ＣＩはＴＰＭに（ｕ，ｅ）を記憶する。
【０２５８】
特に、ＣＩとＴＰＭとの間のタスクの分割においては、ジョインプロセスの多くの可能な代わりの形態が存在することに留意すべきである。以下の３つのバージョンは例示である。
【０２５９】
バージョン１．
１．ＣＩは、指数ｚ∈Ｒ］１，２ｌ２］をＴＰＭの保証プライベート鍵としてランダムに選択し、ｖ＝ａｚを計算する。
２．ＣＩは、ランダムな素数
【０２６０】
【数６５】
2007505582.tif 000067
【０２６１】
を選択し、ｕ＝（ｖｂ）１／ｅを計算することによって保証鍵証明書（ｕ，ｅ）を生成する。
３．ＣＩはＴＰＭに（ｚ，ｕ，ｅ）を記憶する。
４．ＣＩは、（ｚ，ｕ，ｅ）の自身の知識のすべてを消去する。
【０２６２】
バージョン２．
１．ＴＰＭは、秘密指数ｚ∈Ｒ］１，２ｌ２］を自身の保証プライベート鍵として生成し、ｖ＝ａｚを計算し、ｖをＣＩに送る。
２．ＣＩは、ランダムな素数
【０２６３】
【数６６】
2007505582.tif 000068
【０２６４】
を選択し、ｕ＝（ｖｂ）１／ｅを計算することによって保証鍵証明書（ｕ，ｅ）を発行する。
３．ＣＩはＴＰＭに（ｕ，ｅ）を記憶する。
４．ＣＩは、（ｕ，ｅ）の自身の知識のすべてを消去する。
【０２６５】
バージョン３．
１．ＴＰＭは、秘密指数ｚ∈Ｒ］１，２ｌ２］を自身の保証プライベート鍵として生成する。
２．ＴＰＭは、ｖ＝ａｚを計算する。
３．ＴＰＭは、ランダムな素数
【０２６６】
【数６７】
2007505582.tif 000069
【０２６７】
を選択する。
４．ＴＰＭは、一時的な秘密値（ｐ'，ｑ'）をインポートし、ｄ＝１／ｅ  ｍｏｄ  ４ｐ'ｑ'を計算する。
５．ＴＰＭは、ｕ＝（ｖｂ）ｄを計算する。
ＴＰＭは、（ｐ'，ｑ'）の自身の知識のすべてを消去する。
【０２６８】
このジョインプロセスにおいて、出願人は以下のことを仮定することに留意されたい。
・ＴＰＭとＣＩとの間の通信は安全である。すなわち、プライベートであり、かつ、信頼できる。
・ＣＩは、ＴＰＭが秘密値ｚを正確に選択することを確信する。そうでない場合、ＣＩおよびＴＰＭは、Ateniese他（上記参照）に記載されたＪＯＩＮプロトコルを実行しなければならない。ここで、ｚは、ＴＰＭおよびＣＩによって共同で選択される。
・ＴＰＭも、ＣＩが証明書を正確に計算することを確信する。そうでない場合、ＴＰＭは、（ｕ，ｅ）の受信後、ｕｅ＝ａｚｂ  ｍｏｄ  ｎかどうかを検証することになる。
【０２６９】
３．取り消し証作成（ステップ８０３）
これは、取り消し局を使用するモデルに関して説明することにする。しかしながら、この手法を使用すると、どの対応するものも、取り消し局として動作することができ、したがって、各検証者は、自身の取り消しリストを保持することが可能であることに留意することができる。これを効果的に行うために、検証者（または、システムの全体としての効果的なオペレーションの望ましさに関心のある他の関係者）は、自身の取り消しリストに追加されるべき詳細に気付くと、これら詳細を他の潜在的な検証者に利用可能にする。各取り消し局は、一意の名前である取り消し局名（RevocationAgencyName）を有するものと仮定する。この一意の名前は、利用目的識別情報、属性、取り消し局の情報、および或るランダム性で生成することができる（このタイプの名前は、取り消し局の情報がなくても生成することができ、単に、この名前がどの種類の取り消し情報であるかを特定する情報とすることができ、したがって、明示的な取り消し局のないモデルでこの名前を使用することが可能であることに留意することができる）。取り消し証ｗ．ｒ．ｔ．この名前は、以下のように動作することによって作成される。２つの代替的なバージョンが以下に与えられる。
【０２７０】
バージョン１
１．ＣＩの公開モジュラスｎ、ＴＰＭの保証プライベート鍵ｚ、および取り消し局名を入力する。
２．ｆ'＝Ｈ（取り消し局名）を計算し、ｇｃｄ（ｆ'±１，ｎ）＝１が維持されるかどうかをチェックし、チェックが成功した場合には、ｆ＝ｆ'２を計算し、そうでない場合には、「すみません。私はあなたのモジュラスを因数分解した。」をＣＩに報告する。
２'．代替的に、ＴＰＭが、取り消し局名を与えられて、偶然にｆを生成した場合、ＴＰＭは、単純にｆ＝Ｈ（取り消し局名）２を計算する。ｇｃｄ（ｆ'±１，ｎ）≠１となる確率は無視できる。
３．取り消し証Ｅ＝ｆｚを計算する。
４．（ｆ，Ｅ）を出力する。
【０２７１】
バージョン２
１．ＣＩの公開パラメータａおよびモジュラスｎ、ならびに、取り消し局名を入力する。また、ＴＰＭの保証プライベート鍵ｚも入力する。
２．ｆ'＝Ｈ（取り消し局名）を計算し、ｇｃｄ（ｆ'±１，ｎ）＝１が維持されるかどうかをチェックし、チェックが成功した場合には、ｆ＝ｆ'２  ｍｏｄ  ｎを計算し、そうでない場合には、「すみません。私はあなたのモジュラスを因数分解した。」をＣＩに報告する。
２'．代替的に、ＴＰＭが、取り消し局名を与えられて、偶然にｆを生成した場合、ＴＰＭは、単純にｆ＝Ｈ（取り消し局名）２  ｍｏｄ  ｎを計算する。ｇｃｄ（ｆ'±１，ｎ）≠１となる確率は無視できる。
３．取り消し証Ｃ＝（ａｆ）ｚ  ｍｏｄ  ｎを計算する。
４．（ｆ，Ｃ）を出力する。
【０２７２】
離散対数の仮定に基づくと、すべてｎを法とする、底ｇまたはｙもしくはｈに対するｆの離散対数、および、底ｆに対するｇまたはｙもしくはｈの離散対数を誰も知らないということが仮定されることに留意されたい。
【０２７３】
４．署名（ステップ８０４）
保証鍵ｚおよび保証鍵証明書（ｕ，ｅ）を知っていることを証明するために、ＴＰＭは、以下のように動作することによって、一般的なメッセージｍ∈｛０，１｝＊上に、取り消し証を有するグループ署名を生成する。
１．ｗ∈Ｒ｛０，１｝２ｌをランダムに選ぶ。
２．Ｔ１＝ｕｙｗ  ｍｏｄ  ｎ、Ｔ２＝ｇｗ  ｍｏｄ  ｎ、およびＴ３＝ｇｅｈｗ  ｍｏｄ  ｎを計算する。
３．ｒ１∈Ｒ±｛０，１｝ε（γ２＋ｋ）、ｒ２∈Ｒ±｛０，１｝ε（λ２＋ｋ）、ｒ３∈Ｒ±｛０，１｝ε（γ１＋２ｌ＋ｋ＋１）、およびｒ４∈Ｒ±｛０，１｝ε（２ｌ＋ｋ）をランダムに選ぶ。
４．ｄ１＝Ｔ１ｒ１／（ａｒ２ｙｒ３）  ｍｏｄ  ｎ、ｄ２＝Ｔ２ｒ１／ｇｒ３  ｍｏｄ  ｎ、ｄ３＝ｇｒ４  ｍｏｄ  ｎ、ｄ４＝ｇｒ１ｈｒ４  ｍｏｄ  ｎ、およびｄ５＝（ａｆ）ｒ２  ｍｏｄ  ｎを計算する。
５．ｃ＝Ｈ（ｇ‖ｈ‖ｙ‖ａ‖ｂ‖Ｔ１‖Ｔ２‖Ｔ３‖Ｃ‖ｄ１‖ｄ２‖ｄ３‖ｄ４‖ｄ５‖ｍ）を計算する。
６．ｓ１＝ｒ１−ｃ（ｅ−２γ１）、ｓ２＝ｒ２−ｃ（ｚ−２λ１）、ｓ３＝ｒ３−ｃｅｗ、およびｓ４＝ｒ４−ｃｗ（すべてＺにおいて）を計算する。
７．（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３，Ｃ）を出力する。
【０２７４】
これは、第１の方式で使用したようなＳｃｈｎｏｒｒに類似した署名であり、この場合も、第１の方式の場合と同様に、署名は、オンライン時に必要とされる作業を最小にするために大部分は事前に計算することができる。この方式では、署名生成に、７個（または１１個）のモジュロ累乗法が必要とされ、出願人は、それらのうちの１個のみが事前に計算できないことに留意する。したがって、ｃ、ｓ１、ｓ２、ｓ３、ｓ４、およびｄ４の計算のみが（ｍおよびＥの発見後に）オンラインで行われる。
【０２７５】
最小のオンライン計算を有する従来の誰何／応答プロトコルの場合、出願人は、オンラインになる前に、４）におけるｄ４の計算を除いて、ＴＰＭに上記項目１）〜４）を準備させる。後に誰何者（すなわち検証者）と通信する時に、その誰何者は、取り消し局に関する情報である取り消し局名および新たなメッセージｍを誰何として送る。ＴＰＭは、（既存の取り消し証を再利用できない場合に）取り消し証Ｅ＝Ｈ（取り消し局名）２ｚ  ｍｏｄ  ｎを作成し、次いで、４）におけるｄ４と共に項目５）〜７）を実行することによって署名を終了する。
【０２７６】
代替的に、最小のＴＰＭストレージを作製するため、ｃ＝Ｈ（ｇ‖ｈ‖ａ‖ｂ‖Ｔ１‖Ｔ２‖Ｔ３‖ｄ１‖ｄ２‖ｄ３‖Ｅ‖ｄ４‖ｍ）の代わりに、ＴＰＭは以下のようにｃを計算することができる。
ｃ１＝Ｈ（ｇ‖ｈ‖ａ‖ｂ）
ｃ２＝Ｈ（ｃ１‖Ｔ１）
ｃ３＝Ｈ（ｃ２‖Ｔ２）
ｃ４＝Ｈ（ｃ３‖Ｔ３）
ｃ５＝Ｈ（ｃ４‖ｄ１）
ｃ６＝Ｈ（ｃ５‖ｄ２）
ｃ７＝Ｈ（ｃ６‖ｄ３）
ｃ８＝Ｈ（ｃ７‖Ｅ）
ｃ９＝Ｈ（ｃ８‖ｄ４）
ｃ＝Ｈ（ｃ９‖ｍ）
【０２７７】
したがって、署名プロセスは、以下のように実施することができる。
１．ＴＰＭは、ａ、ｂ、ｇ、ｈ（３２０ビット）、ｎ（２０４８ビット）をインポートする。
２．ＴＰＭは、ｃ１（１６０ビット）をインポートする。
【０２７８】
オフライン計算
１．ＴＰＭは、ＴＰＭ特有の秘密値ｗ１（１６０ビット）をＲＮＧから得る。
２．ＴＰＭは、ＴＰＭ特有の秘密値ｗ２（１６０ビット）をＲＮＧから得る。
３．ＴＰＭは、ＴＰＭ特有の秘密値ｒ１（３８０ビット）をＲＮＧから得る。
４．ＴＰＭは、ＴＰＭ特有の秘密値ｒ２（３８０ビット）をＲＮＧから得る。
５．ＴＰＭは、ＴＰＭ特有の秘密値ｒ３（３８０ビット）をＲＮＧから得る。
６．ＴＰＭは、ＴＰＭ特有の秘密値ｒ４（３８０ビット）をＲＮＧから得る。
７．ＴＰＭは、ｗ１、ｗ２、ｒ１、ｒ２、ｒ３、ｒ４を新たな集合Ａの一部として記憶する。
８．ＴＰＭは、秘密でない値
【０２７９】
【数６８】
2007505582.tif 000070
【０２８０】
を計算する。
９．ＴＰＭは、ｃ２＝Ｈ（ｃ１‖Ｔ１）を計算する。
１０．ＴＰＭは、Ｔ１をエクスポートする。
１１．ＴＰＭは、秘密でない値
【０２８１】
【数６９】
2007505582.tif 000071
【０２８２】
を計算する。
１２．ＴＰＭは、ｃ３＝Ｈ（ｃ２‖Ｔ２）を計算する。
１３．ＴＰＭは、Ｔ２をエクスポートする。
１４．ＴＰＭは、秘密でない値
【０２８３】
【数７０】
2007505582.tif 000072
【０２８４】
を計算する。（ｈｅは１回だけ計算することができ、恒久的に秘密に記憶することができる。）
１５．ＴＰＭは、ｃ４＝Ｈ（ｃ３‖Ｔ３）を計算する。
１６．ＴＰＭは、Ｔ３をエクスポートする。
１７．ＴＰＭは、秘密でない値
【０２８５】
【数７１】
2007505582.tif 000073
【０２８６】
を計算する。
１８．ＴＰＭは、ｃ５＝Ｈ（ｃ４‖ｄ１）を計算する。
１９．ＴＰＭは、秘密でない値
【０２８７】
【数７２】
2007505582.tif 000074
【０２８８】
を計算する。
２０．ＴＰＭは、ｃ６＝Ｈ（ｃ５‖ｄ２）を計算する。
２１．ＴＰＭは、秘密でない値
【０２８９】
【数７３】
2007505582.tif 000075
【０２９０】
を計算する。
２２．ＴＰＭは、ｃ７＝Ｈ（ｃ６‖ｄ３）を計算する。
２３．ＴＰＭは、ｃ７を集合Ａの一部として記憶する。
【０２９１】
オンライン計算
１．ＴＰＭは、取り消し局名（任意の長さ）をインポートする。
２．ＴＰＭは、ｆ（３２０ビット）＝（Ｈ（取り消し局名））２を計算する。
３．ＴＰＭは、ｆを集合Ａの一部として保存する。
４．ＴＰＭは、秘密でない値Ｅ（２０４８ビット）＝ｆｚを計算する。
５．ＴＰＭは、ｃ８＝Ｈ（ｃ７‖Ｅ）を計算する。
６．ＴＰＭは、Ｅをエクスポートして、Ｅを消去する。
７．ＴＰＭは、
【０２９２】
【数７４】
2007505582.tif 000076
【０２９３】
を生成する。
８．ＴＰＭは、ｃ９＝Ｈ（ｃ８‖ｄ４）を計算する。
９．ＴＰＭは、ｄ４を消去する。
１０．ＴＰＭは、誰何ｍ（任意の長さ）をインポートする。
１１．ＴＰＭは、秘密でない値ｃ１０＝Ｈ（ｃ９‖ｍ）を計算する。
１２．ＴＰＭは、ｃ＝ｃ１０に設定する。
１３．ＴＰＭは、ｃを集合Ａの一部として保存する。
１４．ＴＰＭは、ｃをエクスポートする。
１５．ＴＰＭは、秘密でない値ｓ１（３８０ビット）＝ｒ１−ｃ＊（ｅ−２４００）を計算する。
１６．ＴＰＭは、ｓ１をエクスポートする。
１７．ＴＰＭは、秘密でない値ｓ２（３８０ビット）＝ｒ２＋ｃ＊ｚを計算する。
１８．ＴＰＭは、ｓ２をエクスポートする。
１９．ＴＰＭは、秘密でない値ｓ３（３８０ビット）＝ｒ３−ｃ＊ｗ２を計算する。
２０．ＴＰＭは、ｓ３をエクスポートする。
２１．ＴＰＭは、秘密でない値ｓ４（３８０ビット）＝ｒ４＋ｃ＊ｗ１を計算する。
２２．ＴＰＭは、ｓ４をエクスポートする。
ＴＰＭは集合Ａを消去する。
【０２９４】
５．検証（ステップ８０５）
検証者は、以下のように動作することによって、メッセージｍの署名（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３，Ｃ）の正当性をチェックする。このチェックには、取り消し証の第２のバージョンの例が使用されるが、第１のバージョンも、同様に適切に使用することができる。
１．Ｃが、信頼できる取り消し局によって保持された取り消しリストにあるかどうかをチェックする。この信頼できる取り消し局は、取り消し局名という名前を有する。このチェックがイエスである場合、署名を拒否し、そうでない場合、続行する。（上述したように、検証者は、このようなリスト自体を保持することができる。）
２．
【０２９５】
【数７５】
2007505582.tif 000077
【０２９６】
を計算する。
３．ｃ＝ｃ'であり、かつ、ｓ１∈±｛０，１｝ε（γ２＋ｋ）＋１、ｓ２∈±｛０，１｝ε（λ２＋ｋ）＋１、ｓ３∈±｛０，１｝ε（λ１＋２ｌ＋ｋ＋１）＋１、およびｓ４∈±｛０，１｝ε（２ｌ＋ｋ）＋１である場合にのみ、署名を容認する。
【０２９７】
６．取り消し（ステップ８０６）
いかなる理由であろうと、ＴＰＭが、取り消し局名によって特定された特定の目的で取り消されるべきである場合、Ｃは取り消しリストに置かれる。異なる実施の形態では、これは、取り消し局によって保持されたリストとすることもできるし、潜在的な検証者が自身のリストを保持するように、それら検証者に利用可能にすることもできる。
【０２９８】
この方式のセキュリティを次に検討することにする。ＡＣＪＴグループ署名方式のセキュリティは、強ＲＳＡ仮定および決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定に基づいている。
【０２９９】
強ＲＳＡ仮定（例えば、Advances in Cryptology - EUROCRYPT '97, LNCS 1233, pp. 480-494, Springer-Verlag, 1997のN. BaricおよびB. Pfitzmann著「Collision-free accumulators and fail-stop signature schemes without trees」、Advances in Cryptology - CRYPTO '97, LNCS 1297, pp. 16-30, Springer-Verlag, 1997のE. FujisakiおよびT. Okamoto著「Statistical zero knowledge protocols to prove modular polynomial relations」を参照されたい）は、ｅが公開値であり、したがって一定の指数である場合にｎを法とするｅ乗根を見つけることが困難であるという広く容認されたＲＳＡ仮定を、任意のｅ＞１についてｎを法とするｅ乗根を見つけることが困難であるという仮定にまで強化したものである。
【０３００】
強ＲＳＡ問題の定義  −  ｎ＝ｐｑを、ＲＳＡに類似したモジュラスとし、Ｇを、
【０３０１】
【数７６】
2007505582.tif 000078
【０３０２】
である位数＃ＧのＺｎ＊の巡回部分群とする。
ｎおよびｚ∈Ｇが与えられると、ストリングＲＳＡ問題は、ｚ≡ｕｅ  ｍｏｄ  ｎを満たすｕ∈Ｇおよびｅ∈Ｚ＞１を見つけることから構成される。
【０３０３】
強ＲＳＡ仮定の定義  −  入力に対して、セキュリティパラメータｌＧが、すべての確率的多項式時間アルゴリズムＰについて、Ｐが強ＲＳＡ問題を解くことができる確率は無視できるような対（ｎ，ｚ）を出力する確率的多項式時間アルゴリズムＫが存在する。。
【０３０４】
Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定（W. DiffieおよびM. E. Hellman著「New directions in cryptography」, IEEE Transactions on Information Theory, IT-22(6): 644-654, 1976）は、（ｉ）計算的Ｄｉｆｆｉｅ−Ｈｅｌｌｍｍａｎ仮定（ＣＤＨ（Computational Diffie-Hellmman Assumption）および（ｉｉ）決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定（ＤＤＨ（Decisional Diffie-Hellman Assumption））の２つの「特徴」に現れる（Algorithmic Number Theory (ANTS-III), LNCS 1423, pp. 48-63, Springer-Verlag, 1998のD. Boneh著「The decision Diffie-Hellman problem」を参照されたい）。
【０３０５】
決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題の定義  −  Ｇ＝＜ｇ＞を、
【０３０６】
【数７７】
2007505582.tif 000079
【０３０７】
である位数＃Ｇのｇによって生成された巡回群とする。ｇ、ｇｘ、ｇｙ、およびｇｚ∈Ｇが与えられると、決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ問題は、要素ｇｘｙおよびｇｚが等しいかどうかを判断することから構成される。
【０３０８】
この問題は、決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定の元となるものである。このことは、それより前の暗号方式ですでに暗黙的に仮定されてはいたが、最初に明示的に述べたのはBrandsである（S Brands著「An efficient off-line electronic cash system based on the representation problem」, Technical Report CS-R9323, Centrum voor Wiskunde en Infomatica, April 1993）。
【０３０９】
決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定の定義  −  分布ＤとＲとを無視できない確率で区別する非確率的多項式時間アルゴリズムがある。ここで、Ｄ＝（ｇ，ｇｘ，ｇｙ，ｇｚ）であり、ｘ，ｙ，ｚ∈ＲＺ＃Ｇであり、Ｒ＝（ｇ，ｇｘ，ｇｙ，ｇｘｙ）であり、ｘ，ｙ∈ＲＺ＃Ｇである。
【０３１０】
Ateniese他は、以下の２つの定理および１つの系を証明することによって、ＡＣＪＴグループ署名方式のセキュリティ証明を与える。
【０３１１】
定理１（結託耐性）。強ＲＳＡ仮定の下では、ｘｉ∈Δおよびｅｉ∈Γであるグループ証明書
【０３１２】
【数７８】
2007505582.tif 000080
【０３１３】
は、グループ管理者が発行したＫ個の証明書が多項式的に限定されているという条件で、グループ管理者のみが生成することができる。
【０３１４】
定理２。強ＲＳＡ仮定の下では、グループ署名方式の基礎を成す対話型プロトコルは、メンバーシップ証明書および対応するメンバーシップ秘密鍵を知っていることの統計的ゼロ知識（正直な検証者）証明である。
【０３１５】
系。ランダムオラクルモデルでは、ＡＣＪＴグループ署名方式は、強ＲＳＡ仮定および決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定の下では安全である。
【０３１６】
Ateniese他によるＡＣＪＴグループ署名方式のセキュリティ証明に基づくと、出願人は、ランダムオラクルモデルにおいて、前の節で提示された取り消し証を有するグループ署名方式が、強ＲＳＡ仮定および決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定の下で安全であると主張することができる。
【０３１７】
（上述したような）取り消し証を有する一般的なグループ署名方式のほとんどのセキュリティ特性は、上記２つの定理および１つの系から直接得られる。（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）により明らかにされた、グループメンバの秘密値および証明書に関する情報の量は無視できる（すなわち、（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）は統計的に隠蔽コミットメント（hiding commitment）であり、ＰＫプロトコルは統計的にゼロ知識である）ので、ＡＣＪＴグループ署名方式のすべての特性は維持されることに留意されたい。Ｃを開示することによりさらに明らかにされた、グループメンバの秘密値および証明書に関する情報の量も、決定的Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ仮定に基づいて無視できると主張することが残されている。
【０３１８】
上記で提示された取り消し証を有する特定のグループ署名方式は効率的であり、ＡＣＪＴグループ署名方式が非常に効率的であることから利益を受ける。
【０３１９】
通信：出願人の提案は、署名方式であって、対話型ゼロ知識証明方式ではない。反射攻撃を回避するために、検証者は、一意のメッセージｍを選ぶことができ、ｍを取り消し局名（これも検証者によって選ばれる）と共に、誰何として署名者に送ることができる。その後、署名者は、応答として署名を返信する。ＲＳＡモジュラスｎのサイズが、現在のＴＣＧ仕様で勧告された２０４８である場合、署名のサイズは９×ｌｏｇ（ｎ）＝４．５ｋビットである。
【０３２０】
計算：署名を行うために、署名者は９つのモジュロ累乗法を必要とする。署名を検証するために、検証者は５つのモジュロ累乗法を必要とする。
【０３２１】
ＴＰＭが９つのモジュロ累乗法を使用する必要があることによって、ＴＰＭの識別情報を検証するプロセスに時間遅延が導入される場合がある。この時間遅延は、ランダムに選ばれたデータに関するＴＰＭのグループ署名を事前に計算し、次いで、誰何／応答を使用して、その署名がＴＰＭによって生成されたことを証明することによって最小にすることができる。次に、この誰何／応答には、ＴＰＭによる２つのオンラインモジュロ累乗法、および、検証者による７つのオンラインモジュロ累乗法（元の５つに特別な２つを加えたもの）が必要とされる。ＤＰ方式と基本的に同じアイデアを使用すると、出願人は、存在しない取り消し局についてのランダムに選ばれたメッセージｍ'およびランダムに選ばれた取り消し局名'に対して上記方式を使用して、ＴＰＭにグループ署名を作成させる。その署名では、ｆ'＝Ｈ（取り消し局名'）２  ｍｏｄ  ｎであり、Ｃ'＝（ａｆ）ｚ  ｍｏｄ  ｎである。後に、誰何者との実際の通信中に、誰何者は、実際の取り消し局に関する情報である取り消し局名、および、新たなメッセージｍを誰何として送る。次に、ＴＰＭは、実際の取り消し証Ｃ＝（ａｆ）ｚ  ｍｏｄ  ｎを作成する。ここで、ｆ＝Ｈ（取り消し局名）２  ｍｏｄ  ｎである。ＴＰＭは、次に、以下のように動作することによって、署名を作成し、底ａｆおよびａｆ'をそれぞれ有するＣおよびＣ'の２つの離散対数を知っていることおよびこれら離散対数が等しいことを示す。
１．
【０３２２】
【数７９】
2007505582.tif 000081
【０３２３】
をランダムに選ぶ。
２．ｃ＝Ｈ（ａ‖ｆ‖ｆ'‖Ｃ‖Ｃ'‖（ａｆ）ｒ  ｍｏｄ  ｎ‖（ａｆ'）ｒ  ｍｏｄ  ｎ‖ｍ）を計算する。
３．（Ｚにおいて）
【０３２４】
【数８０】
2007505582.tif 000082
【０３２５】
を計算する。
４．（ｃ，ｓ，Ｃ）を出力する。
【０３２６】
この署名を検証するために、誰何者は以下のように動作する。
１．名前−取り消し局名を有する（例えば、選ばれた取り消し局によって保持されたような）関連した取り消しリストにＣがあるかどうかをチェックする。このチェックがイエスである場合、署名を拒否し、そうでない場合、続行する。
２．
【０３２７】
【数８１】
2007505582.tif 000083
【０３２８】
を計算する。
３．ｃ＝ｃ'であり、かつ、
【０３２９】
【数８２】
2007505582.tif 000084
【０３３０】
である場合にのみ、署名を容認する。
【０３３１】
この第２の方式における取り消しの手法は、第１の方式で述べたものと広く類似している。この場合も、システムは、ＴＰＭ製造業者、ＴＰＭ、取り消し局（ＲＡ）、およびリモートサービスプロバイダＲＳＰの４組のエンティティを含む。
【０３３２】
上記のように、出願人は、利用のシナリオを述べた。すなわち、ＴＰＭは、特定の利用目的ＰＡにアクセスするためにＲＳＰとの通信を望む。ＲＳＰは、ＲＡが、ＰＡへのアクセスを許可されるべきでないＴＰＭの取り消しリストを保持しているとの信頼を受けていると考える。取り消しリストは、取り消し局名＝ＰＡ‖ＲＡの識別情報‖満了日‖…という一意の識別情報を有する。
【０３３３】
上記で指定したような取り消し証を有する出願人のグループ署名方式では、ＲＡは、値Ｃがそれら悪性ＴＰＭに属するこのような取り消しリストを保持し、その取り消しリストをＲＳＰに利用可能にする。署名の検証中、各ＲＳＰは、まず、Ｃが取り消しリストにあるかどうかをチェックする。イエスである場合、ＲＳＰはこのＴＰＭを拒否する。
【０３３４】
オプションとして、このＲＡは、認証局の役割を果たすこともできる（出願人は、これをＲＡ／ＣＡと呼ぶ）。この場合、ＲＡ／ＣＡは、取り消し証を有するグループ署名の方式における検証者である。ＲＡ／ＣＡは、従来の非対称鍵対ＰＲＡ／ＣＡおよびＳＲＡ／ＣＡを有する。これらの鍵は、ＲＳＰによってアクセス可能である。ＴＰＭのグループ署名の検証が成功した後、ＲＡ／ＣＡは、（ＴＣＧ仕様の現在のバージョンにおけるプライベートＣＡと同じように）通常の方法でＰＲＡ／ＣＡおよびＳＲＡ／ＣＡを使用することによって、ランダムに選ばれた識別情報を非対称鍵対ＰＴＰＭおよびＳＴＰＭで証明し、ＣおよびＰＴＰＭの証明書を記録する。オプションとして、ＲＡ／ＣＡは、内部アクセスのみのためにＰＴＰＭと共にＣを記録し、公にアクセス可能な取り消しリストにＰＴＰＭを列挙する。これは、このＲＡ／ＣＡにどのＴＰＭの保証鍵証明書も与えられない点で、ＴＣＧ仕様の現在のバージョンと異なることに留意されたい。
【０３３５】
ＴＣＧ仕様の現在のバージョンと同様に、ＲＳＰによって提供されたサービスにアクセスするために、ＴＰＭは、ＰＴＰＭの証明書でＲＳＰに対して自身を認証する。ＲＳＰは、その証明書を検証し、また、この証明書がＲＡ／ＣＡの取り消しリストにあるかどうかもチェックする。
【０３３６】
明らかに、ＴＰＭが、目的ＰＡとリンクされたＲＡ１の取り消しリストに列挙されている場合であっても、ＴＰＭは、（１）同様にＲＡ１によって管理された目的ＰＢ、（２）ＲＡ２によって管理された目的ＰＡ、および、もちろん（３）ＲＡ２によって管理された目的ＰＢにアクセスすることができる。
【０３３７】
もちろん、複数の取り消しリストを使用することが可能である。例えば、或る利用において、一方が取り消し局名１に基づくものであり、他方が取り消し局名２に基づくものである２つの取り消しリストをチェックする必要がある場合、ＴＰＭは、２つの取り消し証を作成しなければならない。一方は、取り消し局名１に基づいてＣ１と呼ばれ、他方は、取り消し局名２に基づいてＣ２と呼ばれる。
【０３３８】
この方式では、悪性ＴＰＭの保証鍵および鍵証明書が公開されている場合、どの検証者も、取り消し証を有する所与のグループ署名が、その保証鍵および証明書に基づいて署名されたものであるかどうかをチェックすることができる。
【０３３９】
この方式を使用すると、ＴＰＭ所有権の発行に対処することができるさまざまな異なる方法が存在する。第１に、ＯＥＭ（相手先商標による製品製造業者）証明書の使用が考えられる。このＯＥＭは、製造されたＴＰＭを取り込み、それらＴＰＭをコンピューティングプラットフォームホストに実装する。以下のように、このための少なくとも３つの可能なソリューションが存在する。
【０３４０】
ソリューション１。このソリューションでは、ＴＰＭ製造業者は証明書発行者としての役割を果たし、ＯＥＭは取り消し局としての役割を果たす。ＴＰＭは、一定のＯＥＭに関連した特別な証拠を有する。この証拠は、（上述した証拠の第１のバージョンを使用して）ＥＯＥＭ＝（Ｈ（ＯＥＭ名））２ｚである。この証拠は、ＴＰＭセットアッププロセスにおいてＣＩ（ＴＰＭ製造業者）が製造することもできるし、ＴＰＭが代わりに製造することもできる。ＴＰＭが本物のＴＰＭであることをＯＥＭに確信させるために、ＴＰＭは、ＥとしてＥＯＥＭを有する、上述したような署名をＯＥＭに送る。その署名を検証した後、ＯＥＭは、ＥＯＥＭに関する証明書を発行する。この証明書は、従来のＰＫＩ証明書とすることができる。このソリューションは、ＥＯＥＭがＴＰＭに一意であるので、匿名性を提供しない。
【０３４１】
ソリューション２。このソリューションでは、ＴＰＭ製造業者およびＯＥＭの双方が、この方式におけるＣＩとしての役割を果たす。ＴＰＭは、１つのプライベート保証鍵ｚおよび２つの関連した証明書（ｕ，ｅ）および（ｕ'，ｅ'）を有する。この第１の証明書は、第３節で説明したようにＴＰＭ製造業者によって発行され、第２の証明書は、同様に、ＯＥＭによって発行される。ＴＰＭ製造業者は公開鍵（ａ，ｂ，ｇ，ｈ，ｎ）を有し、ＴＰＭは（第３節で説明したように）関連した（ｕ，ｅ）を有する。ＯＥＭは公開鍵（ａ'，ｂ'，ｇ'，ｈ'，ｎ'）を有する。ＴＰＭの正確さをＯＥＭに確信させるために、ＴＰＭは、（ｚ，ｅ，ｕ）に基づく第２の方式の署名をメッセージｍ＝ａ'ｚ  ｍｏｄ  ｎ'（これはＯＥＭからの誰何と結合することができる）でＯＥＭに送る。第２の方式の署名の検証が成功した後、ＯＥＭは、ＴＰＭに（ｕ'，ｅ'）を発行する。ここで、ｕ'ｅ'＝ａ'ｚｂ'   ｍｏｄ  ｎ'が維持される。その後、ＴＰＭは、（ｚ，ｕ，ｅ）および（ａ，ｂ，ｇ，ｈ，ｎ）に基づく第２の方式の署名を送ることによって、ＴＰＭ製造業者の証明書の要求についてのあらゆる誰何に応答し、（ｚ，ｕ'，ｅ'）および（ａ'，ｂ'，ｇ'，ｈ'，ｎ'）に基づく第２の方式の署名を送ることによって、ＯＥＭの証明書のあらゆる誰何要求に応答する。このソリューションは、第２の方式の署名が異なる取り消し証を有する場合に、匿名性を提供することができる。起こり得る問題は、ＴＰＭとＯＥＭとの間の処理に多大な費用を要するということである。
【０３４２】
ソリューション３。このソリューションでは、ＴＰＭ製造業者はＴＣＧの現在のバージョンと同じ役割を果たし、ＯＥＭは第２の方式のＣＩとしての役割を果たす。ＴＰＭの製造中、ＴＰＭは、通常の保証鍵対（既存のＴＣＧ仕様に記載されているようなものであるが、本明細書では、事前保証鍵（pre-endorsement key）対と呼ぶ）を得る。ＴＰＭ製造業者は、ＯＥＭに対してＴＰＭを刻むと、保証公開鍵のリストを送る。ＯＥＭは、上述したＪＯＩＮプロセスのバージョン１を使用することによって各ＴＰＭの交換される保証鍵および証明書を作成する。
【０３４３】
１．ＯＥＭは、ＴＰＭの保証プライベート鍵として、指数
【０３４４】
【数８３】
2007505582.tif 000085
【０３４５】
をランダムに選び、ｖ＝ａｚを計算する。
２．ＯＥＭは、ランダムな素数
【０３４６】
【数８４】
2007505582.tif 000086
【０３４７】
を選択して、かつｕ＝（ｖｂ）１／ｅを計算することにより、保証鍵証明書（ｕ，ｅ）を生成する。
３．ＯＥＭは、ＴＰＭの事前保証公開鍵で（ｚ，ｕ，ｅ）を暗号化する。
４．ＯＥＭは、暗号化された（ｚ，ｕ，ｅ）および事前保証公開鍵のハッシュ値をパブリックドメインに公開する。
５．ＯＥＭは、自身の（ｚ，ｕ，ｅ）の知識のすべてを消去する。
６．ＴＰＭを有するＴＣＧプラットフォームが、ユーザによって受け取られると、そのプラットフォームは、ＯＥＭのパブリックドメインから暗号化された（ｚ，ｕ，ｅ）をダウンロードし、ＴＰＭは、事前保証プライベート鍵を使用することによって（ｚ，ｕ，ｅ）を解読する。
【０３４８】
第２の方式を使用して所有権を取得するための少なくとも２つの可能なソリューションがある。これらソリューションの双方とも、上記ＯＥＭ証明書のソリューションに基づいており、次の通りである。
【０３４９】
ソリューション１。このソリューション１は、上記ソリューション１および２の双方に適している。ＴＣＧプラットフォームの所有者は、ＴＰＭの公開Ｅ１Ｇａｍａｌ暗号鍵として（ｆＯＥＭ＝（Ｈ（ＯＥＭ名））２，ＥＯＥＭ，ｎ）を使用する。対応するプライベートＥ１Ｇａｍａｌ解読鍵は、ＴＰＭの保証プライベート鍵ｚである。所有者とＴＰＭとの間で実行される所有権取得プロトコルは次の通りである。
【０３５０】
１．所有者は、所有権秘密値ｓ∈Ｒ［１，２１６０］をランダムに選ぶ。
２．所有者は、Ｅ１Ｇａｍａｌ暗号化を使用することによって（ｆＯＥＭ，ＥＯＥＭ，ｎ）に基づきｓを暗号化する。これを行うために、所有者は、セッション秘密値ｘ∈Ｒ［１，２１６０］をランダムに選び、Ｕ＝ｆＯＥＭ（−ｘ）およびＶ＝ｓ＊ＥＯＥＭｘを計算する。
３．所有者は（Ｕ，Ｖ）をＴＰＭに送る。
４．ＴＰＭは、ｓ＝Ｖ＊Ｕｚを計算することによってｓを解読する。
【０３５１】
解読プロセスは、１つのモジュラ累乗法および１つのモジュラ乗算を必要とする。ＴＰＭにとって新たな機能は必要とされない。
【０３５２】
ソリューション２。このソリューション２は、上記ソリューション３に適している。ＴＣＧプラットフォームの所有者は、事前保証公開鍵をＴＰＭの暗号鍵として使用する。対応する解読鍵は、ＴＰＭの事前保証プライベート鍵である。所有者とＴＰＭとの間で実行される所有権を取得するプロトコルは、既存のＴＣＧ仕様と同様である。
【図面の簡単な説明】
【０３５３】
【図１】本発明の実施の形態を実施することができるシステムを概略的に示す図である。
【図２】スマートカードリーダを介してスマートカードと通信し、かつ、１群のモジュールと通信するように構成された、信頼できるデバイスを含むマザーボードを示す図である。
【図３】図２の信頼できるデバイスをより詳細に示す図である。
【図４】本発明の実施の形態を実行するのに適したコンピュータシステムの要素を示す図である。
【図５】信頼できるコンピューティングプラットフォームと、リモートプラットフォームとの間の通信を確立することに関与するステップを、この信頼できるプラットフォームが、従来の信頼できるプラットフォーム技術に従って自身の完全性を検証することを含めて、示すフロー図である。
【図６】従来の信頼できるコンピューティング技術の信頼関係を概略的に示す図である。
【図７】本発明の実施の形態による信頼できるコンピューティング技術で使用される信頼関係を概略的に示す図である。
【図８】本発明の実施の形態による信頼できるコンピューティング技術のアーキテクチャに関与する関係者を、グループ署名方式によるこれらの関係者間の相互作用と共に概略的に示す図である。
【図９】取り消し局を使用しない、図８の構成に対する修正を示す図である。
【符号の説明】
【０３５４】
１０，４０・・・信頼できるプラットフォーム，
１８・・・モニタ１８，４４，
１２，４２・・・スマートカードリーダ，
１９，４１・・・スマートカード，
１５・・・モジュール，
２０・・・マザーボード，
２１・・・メインプロセッサ，
２２・・・メインメモリ，
２３・・・入出力（ＩＯ）デバイス，
２４・・・信頼できるデバイス，
２６・・・データバス，
２７・・・各制御ライン２７，
２８・・・ライン２８，
２９・・・ＢＩＯＳメモリ，
３０・・・コントローラ，
３１・・・測定機能，
３２・・・暗号機能，
３３・・・認証機能，
３４・・・インターフェース回路部，
３５０・・・証明書，
３５２・・・完全性メトリック，
３５３・・・識別（ＩＤ）ラベル，
３５５・・・プライベート鍵，
３６０・・・ＩＤラベル，
３６１・・・摘要，
６２・・・信頼できるプラットフォーム
６３・・・認証局
６４・・・リモートサービスプロバイダ
【図１】
2007505582.tif 000089
【図２】
2007505582.tif 000090
【図３】
2007505582.tif 000091
【図４】
2007505582.tif 000092
【図５】
2007505582.tif 000093
【図６】
2007505582.tif 000094
【図７】
2007505582.tif 000095
【図８】
2007505582.tif 000096
【図９】
2007505582.tif 000097
【国際調査報告】
2007505582.tif 000098
2007505582.tif 000099
2007505582.tif 000100