JP2006523065A - 身元を明らかにすることのない信頼の確立 - Google Patents

身元を明らかにすることのない信頼の確立 Download PDF

Info

Publication number
JP2006523065A
JP2006523065A JP2006506953A JP2006506953A JP2006523065A JP 2006523065 A JP2006523065 A JP 2006523065A JP 2006506953 A JP2006506953 A JP 2006506953A JP 2006506953 A JP2006506953 A JP 2006506953A JP 2006523065 A JP2006523065 A JP 2006523065A
Authority
JP
Japan
Prior art keywords
proof
value
challenger
machine
tpm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006506953A
Other languages
English (en)
Other versions
JP4673840B2 (ja
Inventor
アーニー ブリックル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2006523065A publication Critical patent/JP2006523065A/ja
Application granted granted Critical
Publication of JP4673840B2 publication Critical patent/JP4673840B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

【課題】身元を明らかにせず、信頼を確立する1つの方法、システムおよび装置を提供する。
【解決手段】1つの実施形態によれば、1つの第1ステートメントに対応する1つの第1証明の複数の値を事前計算し、1つの第2証明に対する1つの要求を1つのチャレンジャーから受信し、第1証明および第2証明を完了する。

Description

本発明は、複数の通信の安全確保に関し、特に、1つの信頼できる第三者機関を用いない複数の装置に対して匿名性を持つ1つの認証システムに関する。
複数のコンピュータネットワークを含む多数の最新の通信システムでは、やり取りされる情報の信頼性および安全性は、1つの重大な関心事である。例えば、トラステッドコンピューティングプラットフォーム連合(TCPA)モデルでは、各コンピュータは、1つのトラステッドプラットフォームモジュール(TPM)と称する1つの信頼できるハードウェア装置を有する。TPMは、コンピュータのソフトウェアおよびハードウェア環境に関する情報を記録でき、各TPMは、1つの固有の承認キー(EK)を有する。TPMおよびプラットフォームに関する情報を含む1つの証明書をEKに発行できる。コンピュータのソフトウェアおよび/あるいはハードウェア環境を知るための1つの外部の第三者(チャレンジャー)の場合、チャレンジャーは、1つの報告を行うことをTPMに求めることができる。この報告が1つの有効なTPMから本当に来たものかをチャレンジャーは確認する必要があり、その一方で、コンピュータの所有者は、可能な限り多くのプライバシーを維持したいと望んでいる。例えば、コンピュータの所有者は、複数の報告を2つの異なるチャレンジャーに与える場合、複数の報告が、同一のTPMから来たものであることをこれら複数のチャレンジャーには判断できないようにして与えることができればよいと望んでいる。
TCPAにより提案された1つの解決策は、複数の信頼できる第三者機関(TTP)を確立することであった。1つのTPMは1つの認証識別キー(AIK)を生成し、EKにより署名された1つの証明書要求でのキーの公開部分を1つのTTPへ送信する。EKが有効であるか、すなわち、署名が大丈夫であるかをTTPが検査し、AIKに対して1つの証明書を発行する。TPMは次に、TPMが1つの要求を1つのチャレンジャーから受信した時にAIKおよびTTPの証明書を用いる。これらはEKに関係しないので、チャレンジャーは、AIKに関するいかなる情報も得ない。しかし、このアプローチに関する問題は、それが、確立すべき複数のTTPを必要とすることである。実際には、このアプローチに対する複数のTTPとして作用できる複数の当事者、および、このアプローチに対する1つの実行可能なビジネスモデルを特定することは、1つの実質的な障害であることが証明された。
更に、1つのチャレンジャーは、欠陥があるとこのチャレンジャーが疑っている1つのTPMからの複数のトランザクションを拒否できることが有用であると感じる場合がある。1つの特定のTPMトランザクションに欠陥があるかを見つけ出すため、複数のどのトランザクションが1つの特定のTPMと関連するかを1つのチャレンジャーが決定したいと思う場合がある。更に、幾つかの暗号プロトコルが大規模な計算を必要とするので、このように構築された1つのプロトコルを具えるため、計算の大部分をオフラインで実行できることが有用である場合がある。今日、利用できる複数の方法、装置あるいは複数のシステムのいずれも、1つの暗号プロトコルに対して、複数の疑わしいTPMを特定および拒否する能力を具えると共に複数の匿名性および安全性要件を達成することを定めておらず、計算の大部分をオフラインで実行するように構築されていない。
複数の請求項は、本発明の複数の特徴を詳細に述べる。複数の添付図面と共に以下の詳細な説明から本発明の複数の実施形態を複数の利点と一緒に最も良く理解できる。
複数の通信を安全確保する1つの方法および装置を説明する。広く述べると、本発明の複数の実施形態は、1つの信頼できる第三者機関(TTP)を用いない複数の装置に対して匿名性を持つ1つの認証システムを提供する。
1つの有効署名に関して、身元を明らかにすることなく、直接証明プロトコルを用いて1つの第1装置と1つの第2装置との間に信頼を確立する1つのシステム、装置および方法を提供する。1つの実施形態によれば、直接証明プロトコルとは、1つの暗号キーが、1つの信頼できるハードウェア装置(装置)から来たことを、装置の身元に関する情報を明らかにせずに1つのチャレンジャーに証明する1つの方法を行うことを指す。直接証明プロトコルは、トラステッドコンピューティングプラットフォーム連合(TCPA)内の1つのトラステッドプラットフォームモジュール(TPM)として一般に知られた装置により実行されるべき計算を必要とする場合がある。
1つの実施形態によれば、直接証明プロトコルは、2つの選択、すなわち、1つの無作為なh選択と、1つの名付けられたh選択とを持つことができる。無作為なh選択とは、証明を構築するために底として用いることができるhの値をTPMが1つの無作為あるいは疑似乱数に基づいて選択でき、TPMが対応のチャレンジャーを知り得る前に証明を構築するのに必要な複数の計算の大部分を実行できる方法を指す。名付けられたh選択とは、TPMがチャレンジャーの名称を用いてhの値を生成できる方法を指すことができる。典型的に、名付けられたh生成は、TPMが対応のチャレンジャーを知った後まで、証明を構築する計算を発生可能にさせる。1つの実施形態によれば、名付けられたh選択を用いて、証明を構築する計算の大部分をオフラインで、あるいは事前計算段階中に実行できる。
1つの実施形態によれば、1つの第1ステートメントに対応する1つの証明の複数の値を1つのプロバー装置(プロバー)により事前計算できる。1つのチャレンジャー装置(チャレンジャー)からの1つの第2証明に対する1つの要求を受信する際、プロバーは、1つの第1証明および1つの第2証明を完了し、第2証明をチャレンジャーへ送信できる。1つの実施形態によれば、第2証明は、第1ステートメントが真であれば、1つの第2ステートメントが真であるという証明を含むことができる。更に、第2証明の複数の値は、チャレンジャーにより与えられた複数の値を含むことができる。1つの実施形態によれば、第1および/あるいは第2ステートメントは、1つの信頼できるハードウェア装置上に1つの暗号キーを保持することを含むことができる。
通常、製造中、各TPMには、m=cemodnを満足する1つの固有の秘密機密対(m,c)が与えられる。TPMが1つの秘密機密対を含むことを1つのチャレンジャーに証明するため、TPMは、1つの底として用いるhに対する1つの値を得ることができる。例えば、TPMはk=hmmodPを計算し、h,kをチャレンジャーに与えることができる。TPMは次に、m=cemodnおよびk=hmmodPのように、mおよびcに関するいかなる追加の情報をも明らかにせず、m,cをTPMが保有するという証明を構築できる。複数のチャレンジャーが同一のTPMからの証明を受信したことをこれらチャレンジャーが知ることができないようにTPMは、異なる複数のhの値を、異なる複数のチャレンジャーに対して用いることができる。
1つの実施形態によれば、名付けられたh選択を用いて、証明を構築する計算の大部分をオフラインで、あるいは事前計算段階中に実行できる。例えば、1つの実施形態によれば、1つのTPMが1つの無作為なhを選択し、k=hmmodPを計算し、正しい形式を持つkの証明を構築するようにこのTPMは1つの無作為なh方法から開始できる。TPMが、1つの名付けられたh、すなわちhNAMEをチャレンジャーから与えられた場合、TPMは、k=hmmodPを計算できる。その後、TPMはh、k、hNAMEおよびkNAMEに対する複数の値をチャレンジャーに供給できる。1つの実施形態によれば、TPMは、h,kが正しい形式を持つことを示すために証明が既に構築されているという証明を用いることができ、h,kがhNAME,kNAMEと同じ形式を持つという1つの証明を構築できる。別の言い方をすれば、TPMは、mの値を実際には明らかにせず、同じmに対してk=hmmodPおよびkNAME=hNAMEmmodPのようにmに対する1つの値を終了するという証明をチャレンジャーに供給できる。
1つの実施形態によれば、1つのプロバー装置、例えば、要求用の装置により保持された1つの機密の1つの一方向関数の結果を1つのチャレンジャーに供給し、機密あるいは署名をチャレンジャーに明らかにせず、一方向関数で用いられた機密が1つの装置署名により署名されたことをチャレンジャーに証明する1つの方法、システムおよび装置を提供する。
1つの実施形態によれば、「プロバー」という用語、例えば、プロバー装置とは、権限、正当性および/あるいは身元の幾つかの証明を供給するように要求されたいずれかの人、プラットフォーム、システム、ソフトウェアおよび/あるいは装置を意味することができる。1つの実施形態によれば、1つのプロバーが1つの署名あるいは機密を持っているか、あるいは知っていると1つのチャレンジャーを「証明する」あるいは「説得する」ことは、チャレンジャーに開示された情報および/あるいは証明に基づいて、プロバーが署名あるいは機密を持っていそうであることを意味することができる。署名あるいは機密を1つのチャレンジャーに「明らかにする」あるいは「開示する」ことなしに、これをチャレンジャーに証明することは、チャレンジャーに開示された情報に基づいて、署名あるいは機密が計算的に実行不可能であると決定することを意味することができる。このような複数の証明を、複数の直接証明と称することができる。「直接証明」という用語は、周知の複数の対話証明および/あるいは複数のゼロ知識証明を意味することができる。
以下の説明では、ある専門用語が、1つまたはそれ以上の実施形態の複数のある特徴を説明するのに用いられる。例えば、「プラットフォーム」は、いずれかの種類の装置、コンピュータ、処理ユニットなどを含むことができる。「チャレンジャー」という用語は、要求された情報を1つのリクエスタに開示あるいは供給する前にこのリクエスタから信憑性あるいは権限の幾つかの検証を要求するいずれかの人、プラットフォーム、システム、ソフトウェアおよび/あるいは装置を意味することができる。「装置メーカ」という用語(例えば、装置メーカC)は、1つの装置あるいはプラットフォーム(例えば、1つのトラステッドプラットフォームモジュール)を製造あるいは設定するいずれかの人、プラットフォーム、システム、エンティティ、ソフトウェアおよび/あるいは装置を意味することができる。また、「装置メーカ」という用語は、「証明メーカ」という用語と置き換え可能に用いることができる。「HASH」という用語は、いずれかのハッシング関数あるいはアルゴリズム、あるいはそれと等価なものを意味することができる。更に、様々な複数の実施形態の説明および図解を通して、複数の係数、複数の変数および別の複数の符号は、同一の呼び名または名称により示される。例えば、符号hを、この明細書の様々な複数の実施形態の説明および図解を通してhと称することができる。
以下の説明では、説明の複数の目的のため、多数の具体的な詳細を、本発明の1つの充分な理解を得るように述べる。しかし、当業者が、これら複数の具体的な詳細の幾つかを用いず、ここで行われた開示に基づいて、本発明の複数の実施形態を実践できること明らかである。別の複数の例では、周知の複数の構造体および複数の装置をブロック図の形態で示す。
本発明の複数の実施形態は、以下に説明する様々な複数の工程を含む。複数の工程を複数のハードウェア部品により実行でき、あるいは、複数の機械実行可能命令で実施でき、これら機械実行可能命令は、複数の命令でプログラムされた1つの汎用あるいは特殊用途プロセッサあるいは複数の論理回路に複数の工程を実行させるように用いることができる。あるいはまた、ハードウェアおよびソフトウェアの1つの組み合わせにより複数の工程を実行できる。
1つの機械可読媒体を含むことができる1つのコンピュータプログラム製品として本発明の複数の実施形態を提供することができ、この機械可読媒体には、本発明に従って1つの処理を実行する1つのコンピュータ(あるいは、別の複数の電子装置)をプログラムするのに用いることができる複数の命令が記憶されている。機械可読媒体は、複数のフロッピーディスケット、複数の光ディスク、複数のコンパクトディスク読み出し専用メモリ(CD−ROM)および複数の磁気光学ディスク、複数のROM、複数のランダムアクセスメモリ(RAM)、複数の消去可能プログラマブル読み出し専用メモリ(EPROM)、複数の電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、複数の磁気あるいは光カード、フラッシュメモリ、あるいは、複数の電子命令を記憶するのに適する別の種類の複数の媒体/機械可読媒体を含むことができるが、これらに限定されない。更に、1つのコンピュータプログラム製品として本発明をダウンロードすることもでき、この場合、1つの搬送波あるいは別の伝播媒体で実施された複数のデータ信号により1つの通信リンク(例えば、1つのモデムあるいはネットワーク接続)を介してプログラムを1つの遠隔コンピュータ(例えば、1つのサーバ)から1つの要求用のコンピュータ(例えば、1つのクライアント)へ移動できる。従って、1つの搬送波あるいは別の伝播媒体を、本明細書の目的のために1つの機械可読媒体を有するとみなすべきである。
図1は、一実施形態に従って1つの直接証明方式を実施できる1つのシステムを概念的に示す1つのブロック図である。図示のように、プラットフォームA102(チャレンジャー)のような1つのプラットフォームは、プラットフォームB104(プロバー)のような別の1つのプラットフォームがそれ自体に関する情報を提供することを要求する。それに応答して、プラットフォームB104は、要求された情報を提供できる。しかし、プラットフォームA102は、要求された情報が、装置メーカCのような1つの特定の装置メーカにより製造された1つの装置から来たものかを検証したいと思うことができる。情報が装置メーカCから来たものかを検証するため、プラットフォームA102は、装置メーカCにより生成された1つの署名の証明を行うのにプラットフォームB104を誰何できる。プラットフォームB104が、装置メーカCにより生成された1つの署名を、実際にはこの署名を明らかにせず、保持するとプラットフォームA102を説得できる情報を提供することによりプラットフォームB104はこのような要求に返答できる。
1つの実施形態によれば、プラットフォームB104は、1つのトラステッドプラットフォームモジュール(TPM)106を含むことができる。TPMが、様々な複数の実施形態を実行するのに必要な複数の機能を実行でき、ここで記述した複数のプロトコルの複数の動作に適合できるように1つの装置メーカによりTPM106を製造できる。更に、ここで記述した複数の安全確保機能を維持するようにTPM106を製造できる。例えば、TPMは、複数の指定値を用いて、それらがプロトコルIP1のような1つのプロトコルに関連付けられたように、複数の指定された機能を実行できる。その上、1つの実施形態によれば、1つの装置の身元を決定できるということをプロトコルで可能にするような複数の特定値を用いて1つの安全性の欠陥を生じさせないようにTPMを製造または設定できる。
図2は、1つの実施形態に従って1つのトラステッドプラットフォームモジュール(TPM)を含む1つのプラットフォームを概念的に示す1つのブロック図である。図示のように、1つの装置あるいはプラットフォーム200(例えば、プラットフォームB104)は、1つの実施形態によれば、1つのトラステッドプラットフォームモジュール(TPM)204を含むことができる。更に、装置200は、TPM204および、1つの記憶装置あるいは機構206と結合された1つの処理ユニット202を含むことができる。記憶装置は、ハードウェア情報およびソフトウェア情報のように装置200に関する情報の記憶を可能にできる。1つの実施形態によれば、プラットフォームあるいは装置200を、1つのコンピュータあるいは携帯装置のような1つの電子装置とすることができる。
図3は、本発明の複数の実施形態を実施できる1つのコンピュータシステムを概念的に示す1つのブロック図である。コンピュータシステム300は、情報を伝達する1つのバスあるいはその他の通信手段302と、情報を処理するため、バス302と結合されたプロセッサ310のような1つの処理手段とを含む。コンピュータシステム300は、プロセッサ310により実行されるべき情報および複数の命令を記憶するため、バス302に結合された(メインメモリと称する)1つのランダムアクセスメモリ(RAM)あるいはその他の動的記憶装置304を更に含む。プロセッサ310による複数の命令の実行中、複数の一時変数あるいはその他の中間情報を記憶するためにも、メインメモリ304を用いることができる。コンピュータシステム300は、プロセッサ310に対する静的情報および複数の命令を記憶するため、バス302に結合された1つの読み出し専用メモリ(ROM)および/あるいはその他の静的記憶装置306をも含む。
情報および複数の命令を記憶するため、1つの磁気ディスクあるいは光ディスク、および対応のドライブのような1つのデータ記憶装置308をもコンピュータシステム300に結合できる。1つのエンドユーザに情報を表示するため、1つの陰極線管(CRT)あるいは液晶ディスプレイ(LCD)のような1つの表示装置314にもバス302を介してコンピュータシステム300を結合できる。典型的に、情報および/あるいは複数の命令選択肢をプロセッサ310へ伝達するため、英数字および別の複数のキーを含む1つの英数字入力装置316をバス302に結合できる。もう1つの種類のユーザ入力装置は、方向情報および複数の命令選択肢をプロセッサ310へ伝達し、表示装置314上のカーソル動作を制御するため、1つのマウス、1つのトラックボールあるいは複数のカーソル方向キーのようなカーソル制御装置318である。
1つの通信装置320もバス302に結合されている。通信装置320は、例えば、1つのローカルあるいは広域ネットワークを支援するために1つの通信リンクを形成する複数の目的のため、イーサネット、トークンリングあるいは別の複数の種類の物理的付属品に結合するのに用いられるような1つのモデム、1つのネットワークインターフェースカードあるいは別の既知の複数のインターフェース装置を含むことができる。このように、例えば、1つの会社のイントラネットおよび/あるいはインターネットのような1つの従来のネットワークインフラを介して多数のクライアントおよび/あるいはサーバにコンピュータシステム300を結合できる。
当然のことながら、上記で説明した例よりも少なく、あるいは多く具え付けられた1つのコンピュータシステムは、ある複数の実施形態に対して望ましい。従って、コンピュータシステム300の設定は、複数の価格の制限、複数の性能要件、複数の技術上の改善および/あるいは別の複数の状況のような多数の要素に応じて実施形態ごとに変更する。
ここで記述する複数の工程を、他の複数の実施形態では、プロセッサ310のような1つのプログラムされたプロセッサの制御下で実行できるが、これら複数の工程を、例えば、複数のフィールドプログラマブルゲートアレイ(FPGA)、トランジスタトランジスタロジック(TTL)論理回路あるいは複数の特定用途向け集積回路(ASIC)のような、いずれかのプログラム可能な、あるいはハードコードされた論理回路により完全に、あるいは部分的に実施できることに留意すべきである。その上、複数のプログラムされた汎用コンピュータ部品および/あるいは複数のカスタムハードウェア部品のいずれかの組み合わせにより本発明の方法を実行できる。従って、列挙した複数の工程を複数のハードウェア部品の1つの特定の組み合わせにより実行する1つの特定の実施形態に本発明を限定するように、ここで開示したものを解釈すべきでない。
図4は、1つの実施形態に従って、製造中、1つのトラステッドプラットフォームモジュール(TPM)をセットアップする1つの処理を概念的に示す1つの流れ図である。1つの実施形態によれば、1つの以上の種類の複数のプラットフォームあるいは複数の装置を含むように1つの装置メーカにより1つのプラットフォームクラスを規定できる。例えば、1つのプラットフォームクラスとは、同一のセキュリティ関連情報を有するあらゆる複数のプラットフォームの1つのセットを指すことができる。各プラットフォームは、プラットフォームに関するセキュリティ関連情報の1つのセットを有することができる。このセキュリティ関連情報は、トラステッドコンピューティングプラットフォーム連合(TCPA)モデルのTPMの固有の承認キー(EK)および/あるいは認証識別キー(AIK)証明書に含めることができる情報を含むことができる。セキュリティ関連情報は、1つの特定のプラットフォームあるいは装置のメーカおよび型番をも含むことができる。各プラットフォームクラスに対して、1つの装置メーカは、メーカがこのプラットフォームクラスに用いることができる複数の暗号パラメータの1つのセットを生成できる。更に、装置メーカは、この装置メーカが製造する複数の装置(例えば、装置200)に関する複数の機密に署名するのに装置メーカが用いることができる1つの署名キーを生成できる。
1つの実施形態によれば、1つの装置メーカは、(リベスト(Rivest)、シャミア(Shamir)、アドルマン(Adelman))RSAアルゴリズム(ロナルド・リベスト(Ronald‐Rivest)、アディ・シャミア(Adi‐Shamir)およびレオナルド・アドルマン(Leonard‐Adelman)により規定された1つの公開キー暗号システム)を用いて、公開モジュラスn、公開指数eおよび秘密指数dを有する1つのRSA公開,秘密鍵ペアを処理ブロック402で生成できる。ブルース・シュナイアー(Bruce‐Schneier)著,「アプライドクリプトグラフィー(Applied Cryptography)」,第2版,ジョン・ウィリー&サンズ(John‐Wiley&Sons),国際標準図書番号0471117099,1995年10月18日に記述されたような周知の複数の方法を用いて、公開モジュラスn、公開指数eおよび秘密指数dを有するRSA公開,秘密鍵ペアを生成できる。
1つの実施形態によれば、係数nを計算的に実行不可能とすることができるように充分大きくモジュラスnを選択できる。装置メーカは、ゼロ(0)とnとの間の1つの整数とすることができる1つのパラメータZを処理ブロック404で指定できる。装置メーカは、ゼロ(0)とnとの間の1つの整数とすることができる1つのセキュリティパラメータWをも処理ブロック406で指定できる。しかし、小さ過ぎる、あるいは大き過ぎるWの選択は、1つの安全確保の失敗をもたらすおそれがある。1つの実施形態によれば、2160とn/2160との間でWを選択できる。従って、約2160とするWの選択を、1つの合理的な選択と考えることができる。
1つの実施形態によれば、装置メーカは、P=u×n+1のように1つの素数Pを処理ブロック408で計算できる。u×n+1が1つの素数であるということ以外、uの値に関して、重要なことは何もない。例えば、最も小さいuの値を用いることができる。1つの実施形態によれば、複数の離散対数modPの計算を計算的に実行不可能とすることができるようにPを充分に大きくできる。
1つの実施形態によれば、装置メーカは、複数の暗号パラメータe,n,u,P,Z,W、プラットフォームクラスのセキュリティ関連情報、および装置メーカの名称を含むことができる1つのプラットフォームクラス証明書(PCC)を処理ブロック410で生成できる。1つの実施形態によれば、複数のパラメータuおよびPの双方を含めなくてもよい。その理由は、nの所定値、および上述の複数のパラメータの1つを用いることにより、一方の値(すなわち、Pあるいはu)をP=u×n+1で計算できるためである。
1つの実施形態によれば、装置メーカは、様々な複数のプラットフォームクラスに対して複数のパラメータe,n,u,P,Wの同じ値を用いることができ、様々な複数のプラットフォームに対してZの値を変更できる。1つの実施形態によれば、少なくとも4Wだけ異なるZの複数の値を選択できる。PCCを生成した後、1つの実施形態によれば、装置メーカは、1つの特定のプラットフォームクラスに属し、この装置メーカが製造する複数の装置へPCCを処理ブロック412で供給あるいは割り当てることができる。
1つの実施形態によれば、図1のプラットフォームAのような1つのプロバー装置あるいはプラットフォームから1つのチャレンジャーへのPCCの配信を、1つ以上の実施形態から逸脱することなく、多くの方法で達成できる。例えば、標準であると認められた1つ以上の方法に従って1つの特定の装置メーカによりPCCが生成されたとチャレンジャーを説得できるといった1つの方法でPCCをチャレンジャーへ配信できる。標準であると認められた複数の方法の幾つかは、複数のパラメータをチャレンジャーへ直接に配信すること、あるいは、1つの証明機関により署名されたPCCを有することによりタスクを実行することを含むことができる。後者の場合を用いて、1つの実施形態によれば、証明機関の公開キーをチャレンジャーへ配信でき、署名されたプラットフォームクラス証明書をプラットフォームクラス内の各装置あるいはプラットフォーム(例えば、プロバー装置)へ与えることができる。次に、装置は、署名されたプラットフォームクラス証明書をチャレンジャーへ与えることができる。
図5は、1つの実施形態に従って、製造された各プラットフォームに実行するセットアップの1つの処理を概念的に示す1つの流れ図である。1つの実施形態によれば、1つのプロバー装置(装置)は、0<m−Z<Wのように1つの無作為な数mを処理ブロック502で選択できる。決定ブロック504では、無作為な数mを1つの署名のために証明メーカへ送信する前に装置が無作為な数mを見えなくしたかどうかを決定する。1つの実施形態によれば、無作為な数mを1つの署名のために証明メーカへ送信する前に装置が無作為な数mを見えなくした場合、装置は、1とn−1との間の1つの無作為な数Bを処理ブロック506で選択でき、A=Bemodnを処理ブロック508で計算できる。装置は、m'=m×Amodnを処理ブロック510で計算できる。装置がmを見えなくしなかった場合、装置は、m'=mおよびA=1を処理ブロック512で用いることができる。
1つの実施形態によれば、装置は、処理ブロック514でm'を証明メーカへ送信できる。証明メーカは、c'=m'dmodnを処理ブロック516で計算でき、処理ブロック518でc'を装置に与えることができる。装置は、c=mdmodnという意味を含むc=c'×B−1modnを処理520で計算できる。次に、cおよびmに対する複数の数を処理ブロック522でトラステッドプラットフォームモジュール(TPM)内に記憶できる。cおよびmの対を、装置メーカの1つの署名と称することができる。
図6は、1つの実施形態による1つの事前計算処理を概念的に示す1つの流れ図である。1つの実施形態によれば、図6に示すような1つの事前計算処理から生じた事前計算を1つのトラステッドプラットフォームモジュール(TPM)は後になって、1つの認証識別キー(AIK)がTPMにより生成されたことを1つのチャレンジャーに証明するのに用いることができる。まず、1つのプロバープラットフォーム(プラットフォーム)は、1つのAIKに対する事前計算を処理ブロック602で開始できる。1つの実施形態によれば、AIKを1つのRAS(リベスト(Rivest)、シャミア(Shamir)、アドルマン(Adelman))公開/秘密鍵ペアとすることができる。1つのプロバー装置(装置)、例えば、図1の装置B104内のTPMのような1つの信頼できるハードウェア装置は、1つのAIK秘密‐公開鍵ペアを処理ブロック604で生成できる。秘密‐公開鍵ペアは、1つの公開キーおよび1つの秘密キーを含むことができる。1つの実施形態によれば、もう少し早い時期にAIKを生成させることができる。装置は、1つの値hを処理ブロック606で生成あるいは発生できる。1つの実施形態によれば、値hを、属性hn=1modPを有する1つの無作為あるいは疑似乱数で発生させた値とすることができる。例えば、装置は、1とn−1との間の1つの無作為な数jを選択し、h=jumodPを計算できる。その上、値hをAIKに固有のものとすることができる。次に、装置は、1つの値k=hmmodPを計算できる。
1つの実施形態によれば、装置は、hおよびkに特有な1つの対話証明に対する事前計算を実行できる。対話証明は、m=cemodn、k=hmmodPであり、mはZとZ=Wとの間にあるような複数の値cおよびmの1つの対を知っているということを示すことができる。1つの実施形態によれば、この対話証明を2つの部分に計算できる。装置は、m=cemodnおよびk=hmmodPであるような複数の値cおよびmの1つの対を知っているということを示す1つの第1対話証明(IP1)に対する事前計算を処理ブロック608で実行できる。また、装置は、hを底とするkの離散対数がZとZ+Wとの間にあるということを示す1つの第2対話証明(IP2)に対する事前計算を処理ブロック610で実行できる。1つの実施形態によれば、2つの対話証明IP1,IP2は、m=cemodn、k=hmmodPであり、mはZとZ+Wとの間にあるような複数の値cおよびmの1つの対をTPMが知っているという1つの対話証明を一緒に形成できる。
図7は、1つの実施形態による1つの第1対話証明の事前計算を概念的に示す1つの流れ図である。プロバー装置(装置)のTPMがcあるいはmを明らかにせず、m=cemodnおよびk=hmmodPであるような複数の値cおよびmを1つのトラステッドプラットフォームモジュール(TPM)が知っていると証明するのに図6に関するような第1対話証明(IP1)を用いることができる。まず、図示のように、1つのプロバープラットフォーム(プラットフォーム)は1つの保証パラメータ(AP)を処理ブロック702で選択できる。1つの実施形態によれば、APの値を1つの一定数、例えば、六十(60)とすることができる。別の1つの実施形態によれば、プラットフォームは、APの値を選択できる。1つの実施形態によれば、プラットフォームはAPの1つの一定値を選択でき、その一方で、チャレンジャーは、APの1つの異なる値を選択できる。
プラットフォームが選択した値よりも小さいAPの1つの値をチャレンジャーが選択した場合、1つの実施形態によれば、TPMは、複数のラウンドの最初のAPだけを単に用い、複数のその他を無視できる。その一方で、プラットフォームが選択した値よりも大きいAPの1つの値をチャレンジャーが選択した場合、TPMは、2つの異なる事前計算を用い、一方から複数のラウンドのすべてを用い、他方から複数のラウンドの幾つかを用いることができる。次に、TPMは、図12に示したような証明を2度用いて、双方の複数の事前計算および、名付けられたhに対して複数の離散対数が同じであることを示すことができる。
1つの実施形態によれば、TPMは、処理ブロック704で1つの値xmodnを無作為に選択できる。TPMは、x=c×ymodnのように1つの値yを処理ブロック706で計算できる。また、TPMは、v=h(xemodn)modPのように1つの値vを処理ブロック708で計算できる。TPMは、処理ブロック710で複数の値v,y,x,ye,xeを暗号化および署名し、暗号化および署名した複数の値をプラットフォームに記憶できる。別の1つの実施形態によれば、TPMは、複数の値v,y,x,ye,xeの幾つかだけを記憶し、複数の残りの値を後で再計算できる。1つの実施形態によれば、署名の処理を1つのデジタル署名とすることができる。別の1つの実施形態によれば、署名の処理を、セキュアハッシュアルゴリズム(SHA‐1)のような1つの暗号ハッシュ関数で複数の値をハッシュし、次に、複数の値およびハッシュを暗号化することにしてもよい。1つの実施形態によれば、処理712で検証方式あるいは動作をAP回実行できる。決定ブロック714では、検証方式をAP回実行したかを決定する。動作をAP回実行したならば、動作が処理ブロック716で終了し、そうでなければ、動作は処理ブロック704で継続する。
まず、プロバープラットフォーム(プラットフォーム)は1つの保証パラメータ(AP)を処理ブロック802で選択できる。図7に示すようなIP1の事前計算の場合のように、1つの実施形態によれば、APの値を1つの一定数、例えば、六十(60)とすることができる。別の1つの実施形態によれば、プラットフォームは、APの値を選択できる。1つの実施形態によれば、プラットフォームはAPの1つの一定値を選択でき、その一方で、チャレンジャーは、APの1つの異なる値を選択できる。
プラットフォームが選択した値よりも小さいAPの1つの値をチャレンジャーが選択した場合、1つの実施形態によれば、TPMは、複数のラウンドの最初のAPだけを単に用い、複数のその他を無視できる。その一方で、プラットフォームが選択した値よりも大きいAPの1つの値をチャレンジャーが選択した場合、TPMは、2つの異なる事前計算を用い、一方から複数のラウンドのすべてを用い、他方から複数のラウンドの幾つかを用いることができる。次に、TPMは、例えば図12からの証明を2度用いて、双方の複数の事前計算および、名付けられたhに対して複数の離散対数が同じであることを示すことができる。
1つの実施形態によれば、処理ブロック804では、プロバー装置(装置)のTPMは、0<t<W702のように1つの数tを無作為に選択できる。処理ブロック806では、TPMは、g0=htmodPを計算できる。また、TPMは、g1=g0×h(−W)modPを処理ブロック808で計算できる。処理ブロック810では、TPMは、2つの無作為な160ビット値R0,R1を生成できる。次に、TPMは、H0=HASH(AIK公開キー,g0,R0)およびH1=HASH(AIK公開キー,g1,R1)を処理ブロック812で計算できる。処理ブロック814では、TPMは、複数の値g0,g1,R0,R1,H0,H1を暗号化および署名し、これら複数の値をプラットフォームに記憶する。別の1つの実施形態によれば、値g0,g1,R0,R1,H0,H1の幾つかを記憶できる。
1つの実施形態によれば、処理ブロック816で上記の複数の手続きをAP回繰り返すことができる。決定ブロック818で上記の複数の手続きをAP回実行したならば、動作を処理ブロック820で終了する。複数の手続きをAP回実行していなければ、動作は処理ブロック804で継続できる。1つの実施形態によれば、図7で示したようなIP1、および/あるいは、図8に示したように得たIP2に対する複数の手続きの繰り返しは、例えば、1つの認められていない、あるいは不正なプロバーが、適切な証明を1つのチャレンジャーに供給するのに成功する可能性を少なくすることができる。1つの証明(例えば、IP1あるいはIP2)をAP回繰り返すことは、2APに1つの確率である各ラウンドでの成功を1つのプロバーに強いることができる。
1つの実施形態によれば、プラットフォームは、AIKの複数のセットを有し、IP1およびIP2の複数の事前計算を有するように選択できる。1つのチャレンジャーが1つのAIKに対する証明を要求するまで、プラットフォームはこれら複数のセットを記憶でき、要求に応答して、プラットフォームは、事前計算された複数のセットの1つを用いることができる。
図9は、1つの実施形態による1つのオンライン計算処理を概念的に示す1つの流れ図である。1つの実施形態によれば、処理ブロック902では、プロバープラットフォーム(プラットフォーム)は、このプラットフォームが前もって記憶した認証識別キー(AIK)の複数のセットと事前計算の第1対話証明および第2対話証明(IP1およびIP2)とのうちの1つを用いることができ、1つのトラステッドプラットフォームモジュール(TPM)はAIK公開キー(あるいは、AIK公開キーのHASHだけ)を1つのチャレンジャーへ送信できる。チャレンジャーは、チャレンジャー保証パラメータ(CAP)としても知られた1つの保証パラメータを処理ブロック904で選択できる。処理ブロック906では、チャレンジャーは、複数のランダムビット(RAND)の1つのセットを選択できる。チャレンジャーは、例えば、三百二十(320)のランダムビットを選択することによりRANDを選択できる。処理ブロック908では、チャレンジャーは、コミットメント(Commitment)=(HASH(公開AIKキー)‖RAND)を計算でき、コミットメントのHASHをTPMへ送信でき、これをTPMが記憶できる。1つの実施形態によれば、HASHを、SHA‐1(セキュアハッシュアルゴリズム)のような1つの暗号ハッシュ関数とすることができる。
処理ブロック910では、チャレンジャーの名称をTPMへ送信でき、これを用いてTPMはhNAMEを形成できる。値hNAMEは、属性hNAMEn=1modPを有することができる。例えば、1つのプロバー装置(装置)は、チャレンジャーの名称をハッシュして、1とn−1との間の1つの数jを形成し、hNAME=jumodPを計算できる。1つの実施形態によれば、1つのhNAME値を計算するため、幾つかの値、例えば、十(10)個のi=1,2,3...,10に対して、Hi=HASH(i,チャレンジャーの名称)のようにHiを計算し、その後、j=H1‖H2‖H3...‖H10の連結とさせることができる。装置は次に、hNAME=jumodPを計算でき、ここで、以前に規定したようにu=(P−1)/nである。また、装置は、kNAME=hNAMEmmodPのように1つのkNAME値を計算できる。TPMは次に、kNAME=hNAMEmmodPを処理ブロック912で計算できる。
処理ブロック914では、TPMは、図12に示すように、底hに対するkmodPの離散対数が、底hNAMEに対するkNAMEmodPの離散対数と同じであるという1つの証明を生成できる。TPMは、IP1の複数の第1CAPラウンドのハッシュとIP2の複数の第1CAPラウンドのハッシュとをチャレンジャーへ処理ブロック916で送信できる。また、TPMは、底hに対するkmodPの離散対数が、底hNAMEに対するkNAMEmodPの離散対数と同じであるという証明をチャレンジャーへ処理ブロック918で送信できる。処理ブロック920では、チャレンジャーはRANDの値をTPMへ送信できる。TPMは、HASH(公開AIKキー)‖RAND)の値を計算し、これが、ブロック908でチャレンジャーから送信された値と同じ値を与えたかを検証することによりRANDの値を検証できる。TPMは、CHOICES=HASH(RAND‖IP1の複数の第1CAPラウンドのHASH‖IP2の複数の第1CAPラウンドのHASH)の値を計算できる。TPMは、CHOICESの第1の2×CAPビットを、チャレンジャーに対する複数の選択肢として用いて、IP1およびIP2の複数のラウンドを開始する際に明らかにする情報を処理ブロック922で決定できる。1つの実施形態によれば、チャレンジャーはhNAMEの使用を必要としなくてもよく、事前計算された複数の値h,kに対する第1対話証明(IP1)および第2対話証明(IP2)だけに基づく証明を受諾できる。
1つの実施形態によれば、プラットフォームにより選択された保証パラメータ(AP)と、チャレンジャーにより選択されたCAPとを同じ一定値、例えば、六十(60)とするように要求できる。別の1つの実施形態によれば、プラットフォームはAPの1つの一定値を選択でき、その一方で、チャレンジャーはCAPに対して、1つの異なる値を選択できる。1つの実施形態によれば、プラットフォームが選択したAPの値よりも小さいCAPの1つの値をチャレンジャーが選択した場合、TPMは、複数のラウンドの最初のCAPだけを単に用い、複数のその他を無視できる。その一方で、プラットフォームが選択したAPの値よりも大きいCAPの1つの値をチャレンジャーが選択した場合、TPMは、2つの異なる事前計算を用い、一方から複数のラウンドのすべてを用い、他方から複数のラウンドの幾つかを用いることができる。次に、TPMは、図12に示したような証明を2度用いて、双方の複数の事前計算およびhNAME,kNAMEに対して複数の離散対数が同じであることを示すことができる。
図10は、1つの実施形態による1つの第1対話証明に対する複数のラウンドの開始を概念的に示す1つの流れ図である。1つのトラステッドプラットフォームモジュール(TPM)が、m=cemodnおよびk=hmmodPのように、cあるいはmを明らかにするプロバー装置(装置)のTPMを用いずに複数の値c,mを知っているということを証明するのに第1対話証明(IP1)を用いることができる。まず、1つの実施形態によれば、処理ブロック1002では、チャレンジャーは、1つのチャレンジャー保証パラメータ(CAP)を1つのプロバープラットフォーム(プラットフォーム)へ供給する。処理ブロック1004では、チャレンジャーは、xあるいはyのどちらかを受信する1つの選択を行うことができる。チャレンジャーが選択肢xを選択したならば、TPMは、処理ブロック1006でxをチャレンジャーへ送信できる。xの値を受信した後、チャレンジャーは、v=h(xemodn)modPを処理ブロック1008で検証できる。
1つの実施形態によれば、チャレンジャーが選択肢yを受信することを選択すれば、TPMは、処理ブロック1010でyをチャレンジャーへ送信できる。チャレンジャーは、v=k(yemodn)modPを処理ブロック1012で検証できる。1つの実施形態によれば、この検証方式あるいは動作を処理ブロック1014でCAP回実行できる。動作をCAP回実行したならば、動作を処理ブロック1018で終了させることができる。動作をCAP回実行していなければ、動作が処理ブロック1004で継続できる。
1つの実施形態によれば、TPMは、複数の処理ブロック1006,1010で記述した複数の応答をプラットフォームへ送信でき、TPMがこれら複数の応答の複数のCAPを供給するまで、プラットフォームは複数の応答のすべてを保存できる。プラットフォームは次に、複数の応答のすべてをチャレンジャーへ送信できる。次に、チャレンジャーは、複数のブロック1008,1012で記述した複数の検証を実行できる。
図11は、1つの実施形態による1つの第2対話証明に対する複数のラウンドの開始を概念的に示す1つの流れ図である。1つのトラステッドプラットフォームモジュール(TPM)が、Z−W<m<Z+2×Wおよびk=hmmodPのようにmを明らかにせず、TPMが1つの値mを知っているということを証明するのに第2対話証明(IP2)を用いることができる。チャレンジャーは、1つの保証パラメータ、すなわち、チャレンジャー保証パラメータ(CAP)を処理ブロック1102で発生できる。処理ブロック1104では、チャレンジャーは、2つの選択肢、例えば、選択肢0あるいは1のどちらかから選択できる。
1つの実施形態によれば、チャレンジャーが選択肢0を選択したならば、TPMは、処理ブロック1106で、複数の値t,R0,R1と、H0およびH1の順序付けとをチャレンジャーへ送信できる。チャレンジャーは、g0=htmodPおよびg1=h(t−W)modPを処理ブロック1108で計算できる。チャレンジャーは次に、0<t<Wを処理ブロック1110で検査できる。チャレンジャーは、H0=HASH(AIK公開キー,g0,R0)およびH1=HASH(AIK公開キー,g1,R1)を処理ブロック1112で検査できる。1つの実施形態によれば、動作あるいは複数の手続きを処理ブロック1114でCAP回実行する。決定ブロック1116で動作がCAP回実行されていたならば、動作を処理ブロック1118で終了させることができる。動作をCAP回実行していなければ、動作が処理ブロック1104で継続できる。
チャレンジャーが選択肢1を選択したならば、m+t>Z+Wであるかを決定ブロック1120で決定する。m+t>Z+Wでなければ、すなわち、m+tが、ZとZ+Wとの間の区間にあれば、TPMは、m'=m+t、g0およびR0を処理ブロック1122でチャレンジャーへ送信でき、H0を用いることをチャレンジャーに知らせることができる。チャレンジャーは、H0=HASH(AIK公開キー,g0,R0)であること、および、Z<m'<Z+Wであること、およびg0×k=hm'modPであることを処理ブロック1124で検査できる。1つの実施形態によれば、動作あるいは複数の手続きを処理ブロック1114でCAP回実行する。決定ブロック1116で動作がCAP回実行されていたならば、動作を処理ブロック1118で終了させることができる。動作をCAP回実行していなければ、動作が処理ブロック1104で継続できる。
m+t>Z+Wであれば、TPMは、m'=m−W+t、g1およびR1を処理ブロック1126でチャレンジャーへ送信でき、H1を用いることをチャレンジャーに知らせることができる。チャレンジャーは、H1=HASH(AIK公開キー,g1,R1)であること、および、Z<m'<Z+Wであること、およびg1×k=hm'modPであることを処理ブロック1128で検査できる。1つの実施形態によれば、動作あるいは複数の手続きを処理ブロック1114でCAP回実行する。決定ブロック1116で動作がCAP回実行されていたならば、動作を処理ブロック1118で終了させることができる。動作をCAP回実行していなければ、動作が処理ブロック1104で継続できる。
1つの実施形態によれば、1つの第1対話証明(IP1)および/あるいは1つの第2対話証明(IP2)に対する手続きの繰り返しは、1つの認められていない、あるいは不正なプロバーが、適切な証明を1つのチャレンジャーに供給するのに成功する可能性を少なくすることができる。すなわち、1つの手続き(例えば、IP1あるいはIP2)の複数のラウンドの数をCAP回繰り返すことは、2CAPに1つの確率である各ラウンドでの成功を1つのプロバーに強いることができる。1つの実施形態によれば、プロトコルの複数のラウンドは、プロバー装置のTPMとチャレンジャーとの間の複数の交信の幾つかのラウンドからほんの少数のラウンドへ変更できる。
1つの実施形態によれば、TPMは、複数のブロック1106,1122,1126で記述した複数の応答をプラットフォームへ送信でき、TPMがこれら複数の応答の複数のCAPを供給するまで、プラットフォームは複数の応答のすべてを保存できる。プラットフォームは次に、複数の応答のすべてをチャレンジャーへ同時に送信できる。次に、チャレンジャーは、複数のブロック1108,1124,1128で記述した複数の検証を実行できる。
1つの実施形態によれば、TPMが、IP1およびIP2の双方に対する複数の応答のすべてを供給するまで、プラットフォームは、IP1およびIP2の双方からの複数のTPM応答のすべてを保存でき、次に、複数の応答のすべてを双方の複数のプロトコルからチャレンジャーへ同時に送信できる。
複数の選択をチャレンジャーにより行うことができる方法に対して幾つかの実行可能な選択肢がある。1つの実施形態によれば、TPMが、事前計算処理中にIP1およびIP2で生成された複数の値の幾つかのハッシュを形成し、このハッシュからの出力を用いてチャレンジャーの複数の選択肢を決定する複数の選択肢を決定できる。
図12は、1つの実施形態に従って、2つの離散対数が同じであるという1つの証明の生成を概念的に示す1つの流れ図である。処理ブロック1202では、トラステッドプラットフォームモジュール(TPM)は、区間[0,B]内の値tを無作為に選択する。TPMは次に、j=htmodPおよびjNAME=hNAMEtmodPを処理ブロック1204で無作為に計算できる。次に、TPMは、r=HASH(h,k,hNAME,kNAME,j,jNAME)を処理ブロック1206で無作為に計算できる。処理ブロック1208では、TPMは、s=Z+t−m×rを計算できる。最後に、処理ブロック1208では、TPMはs,h,k,hNAME,kNAME,j,jNAMEをチャレンジャーへ送信できる。1つの実施形態によれば、チャレンジャーは次に、証明を検証できる。
図13は、1つの実施形態に従って、2つの離散対数が同じであるという1つの証明の検証を概念的に示す1つの流れ図である。処理ブロック1302では、チャレンジャーは、r=HASH(h,k,hNAME,kNAME,j,jNAME)を計算できる。チャレンジャーは次に、j×hZ=kr×hsmodPおよびjNAME×hNAMEZ=kNAMEr×hNAMEsmodPであることを処理ブロック1304で検査できる。処理ブロック1304の複数の検査が合格すれば、チャレンジャーは処理ブロック1306で証明を受理できる。
図14は、1つの実施形態に従ってtを発生させる1つの代替方法を概念的に示す1つの流れ図である。1つの実施形態によれば、1つの更なる効率改善をプロトコルに行うことができる。例えば、区間[0,B]からの1つの一様分布からtの値を決定したならば、mに関する情報が明らかにされないように充分に大きくセキュリティパラメータ(SP)を選択でき、例えば、SP1=60ビットと選択できる。しかし、1つの非一様分布を形成するような、tを選択する1つの代替方法は、SP2=10ビットのようにかなり小さなSPを可能にさせることができ、その結果、効率の改善をもたらす。
1つの実施形態によれば、処理ブロック1402では、1つのトラステッドプラットフォームモジュール(TPM)は、区間[0,B]を形成する複数のセキュリティパラメータ(SP2)値t1,t2,...tSP2を無作為に選択できる。TPMは次に、t=t1+t2+...+tSP2を処理ブロック1404で計算できる。
本発明の特定の複数の例示的な実施形態を記述し、複数の添付図面に示したが、当然のことながら、このような複数の実施形態は、単なる例示であって、本発明の様々な複数の実施形態の広範な複数の態様について限定せず、様々な別の複数の変更形態が実行可能であるので、これら複数の実施形態は、図示および記述された特定の複数の構造および複数の配置に限定されない。本発明の複数の実施形態あるいはそれらの複数の特徴の幾つかを、ハードウェア、複数のプログラム可能な装置、ファームウェア、ソフトウェアあるいは、それらの1つの組み合わせに実装できる。
一実施形態に従って1つの直接証明方式を実施できる1つのシステムを概念的に示す1つのブロック図である。 1つの実施形態に従って1つのトラステッドプラットフォームモジュールを含む1つのプラットフォームを概念的に示す1つのブロック図である。 本発明の複数の実施形態を実施できる1つのコンピュータシステムを概念的に示す1つのブロック図である。 1つの実施形態に従って、製造中、1つのトラステッドプラットフォームモジュール(TPM)をセットアップする1つの処理を概念的に示す1つの流れ図である。 1つの実施形態に従って、製造された各プラットフォームに実行するセットアップの1つの処理を概念的に示す1つの流れ図である。 1つの実施形態による1つの事前計算処理を概念的に示す1つの流れ図である。 1つの実施形態による1つの第1対話証明の事前計算を概念的に示す1つの流れ図である。 1つの実施形態による1つの第2対話証明の事前計算を概念的に示す1つの流れ図である。 1つの実施形態による1つのオンライン計算処理を概念的に示す1つの流れ図である。 1つの実施形態による1つの第1対話証明に対する複数のラウンドの開始を概念的に示す1つの流れ図である。 1つの実施形態による1つの第2対話証明に対する複数のラウンドの開始を概念的に示す1つの流れ図である。 1つの実施形態に従って、2つの離散対数が同じであるという1つの証明の生成を概念的に示す1つの流れ図である。 1つの実施形態に従って、2つの離散対数が同じであるという1つの証明の検証を概念的に示す1つの流れ図である。 1つの実施形態に従ってtを発生させる1つの代替方法を概念的に示す1つの流れ図である。

Claims (30)

  1. 1つの第1ステートメントに対応する1つの第1証明の複数の値を事前計算する工程と、
    1つのチャレンジャーから1つの第2証明に対する1つの要求を受信する工程と、
    前記第1証明を完了する工程と、
    前記第2証明を完了する工程と
    を有する1つの方法。
  2. 請求項1に記載の前記方法であって、前記第2証明を前記チャレンジャーへ送信する工程を更に有する前記方法。
  3. 請求項1に記載の前記方法において、前記第1ステートメントが真であれば、1つの第2ステートメントが真であるという1つの証明を前記第2証明が含む前記方法。
  4. 請求項1に記載の前記方法において、前記チャレンジャーにより供給された複数の値を前記第2証明が含む前記方法。
  5. 請求項3に記載の前記方法において、1つの信頼できるハードウェア装置に1つの暗号キーを保持することを前記第2ステートメントが含む前記方法。
  6. 1つの認証識別キー(AIK)に対する1つの事前計算を1つのプラットフォームにより開始する工程と、
    1つのAIK秘密‐公開鍵ペアを生成する工程と、
    1つの秘密AIKが、1つの信頼できるハードウェア装置にあるという1つの対話証明(IP)を生成する工程と
    を有する1つの方法。
  7. 請求項6に記載の前記方法であって、前記AIKに固有である1つの値hを生成する工程を更に有する前記方法。
  8. 請求項7に記載の前記方法であって、k=hmmodPとして規定された1つの値kを計算する工程を更に有する前記方法。
  9. 請求項8に記載の前記方法において、mを、1つの無作為に生成された数とし、Pを1つの大きい素数とする前記方法。
  10. 1つの無作為な値rを1つの非一様分布から選択する工程と、
    1つの値r+mを生成するために前記値rを1つの秘密値mへ加算する工程と、
    前記値rおよび前記値r+mを保存する工程と、
    前記値rあるいは前記値r+mを明らかにする工程と
    を有する1つの方法。
  11. 請求項10に記載の前記方法において、前記選択する工程が、複数の値tを1つの一様分布から選択することを含む前記方法。
  12. 請求項10に記載の前記方法であって、前記複数の値tを合計することにより前記値rを計算する工程を更に有する前記方法。
  13. 請求項10に記載の前記方法であって、前記選択する工程と、前記加算する工程と、前記保存する工程と、前記明らかにする工程とを複数回繰り返す工程を更に有する前記方法。
  14. 請求項10に記載の前記方法において、前記明らかにする工程が、1つのプロバーにより形成された複数の値の1つのハッシュの1つの出力に基づいて前記値rあるいは前記値r+mを明らかにすることを含む前記方法。
  15. 1つの第1値にコミットする工程と、
    1つの対話証明の複数のラウンドの1つの出力にコミットする工程と、
    前記第1値を明らかにする工程と、
    前記第1値と前記対話証明の前記複数のラウンドの前記出力とを用いて複数の選択肢を計算する工程と
    を有する1つの方法。
  16. 請求項15に記載の前記方法において、前記第1値にコミットする前記工程が、前記第1値の1つの暗号ハッシュを計算し、前記暗号ハッシュを1つのプロバーへ送信する1つを含む前記方法。
  17. 請求項15に記載の前記方法において、前記出力にコミットする前記工程が、前記第1値の1つの暗号ハッシュを計算し、前記暗号ハッシュを1つのチャレンジャーへ送信することを含む前記方法。
  18. 1つのチャレンジャー装置と、
    前記チャレンジャー装置と通信で結合された1つのプロバー装置とを有する1つの装置において、
    前記プロバー装置が、
    1つの第1ステートメントに対応する1つの第1証明の複数の値を事前計算し、
    前記チャレンジャー装置から1つの第2証明に対する1つの要求を受信し、
    前記第1証明を完了し、
    前記第2証明を完了するようになっている前記装置。
  19. 請求項18に記載の前記装置において、前記プロバー装置が更に、前記第2証明を前記チャレンジャーへ送信することになっている前記装置。
  20. 請求項18に記載の前記装置において、前記第1ステートメントが真であれば、1つの第2ステートメントが真であるという1つの証明を前記第2証明が含む前記装置。
  21. 請求項20に記載の前記装置において、1つの信頼できるハードウェア装置に1つの暗号キーを保持することを前記第2ステートメントが含む前記装置。
  22. 1つの記憶装置と、
    前記記憶装置と結合された1つの処理ユニットと、
    前記処理ユニットと結合された1つの通信ポートと、
    前記通信ポートを介して1つのチャレンジャー装置と結合された1つのプロバー装置とを有する1つのシステムにおいて、
    前記プロバー装置が、
    1つの第1ステートメントに対応する1つの第1証明の複数の値を事前計算し、
    前記チャレンジャー装置から1つの第2証明に対する1つの要求を受信し、
    前記第1証明を完了し、
    前記第2証明を完了するようになっている前記システム。
  23. 請求項22に記載の前記システムにおいて、前記プロバー装置が更に、前記第2証明を前記チャレンジャー装置へ送信することになっている前記システム。
  24. 請求項22に記載の前記システムにおいて、前記第1ステートメントが真であれば、1つの第2ステートメントが真であるという1つの証明を前記第2証明が含む前記システム。
  25. 複数の命令の複数のシーケンスを表すデータが記憶された1つの機械可読媒体であって、複数の命令の前記複数のシーケンスが、1つの機械により実行されると、前記機械に、
    1つの第1ステートメントに対応する1つの第1証明の複数の値を事前計算させ、
    1つのチャレンジャーから1つの第2証明に対する1つの要求を受信させ、
    前記第1証明を完了させ、
    前記第2証明を完了させるようになっている前記機械可読媒体。
  26. 請求項25に記載の前記機械可読媒体において、複数の命令の前記複数のシーケンスが更に、前記機械により実行されると、前記機械に前記第2証明を前記チャレンジャーへ送信させるようになっている前記機械可読媒体。
  27. 請求項25に記載の前記機械可読媒体において、前記第1ステートメントが真であれば、1つの第2ステートメントが真であるという1つの証明を前記第2証明が含む前記機械可読媒体。
  28. 複数の命令の複数のシーケンスを表すデータが記憶された1つの機械可読媒体であって、複数の命令の前記複数のシーケンスが、1つの機械により実行されると、前記機械に、
    1つの認証識別キー(AIK)に対する1つの事前計算を1つのプラットフォームにより開始させ、
    1つのAIK秘密‐公開鍵ペアを生成させ、
    1つの秘密AIKが、1つの信頼できるハードウェア装置にあるという1つの対話証明(IP)を生成させるようになっている前記機械可読媒体。
  29. 請求項28に記載の前記機械可読媒体において、複数の命令の前記複数のシーケンスが更に、前記機械により実行されると、前記機械に1つの値hを生成させるようになっており、前記値hが前記AIKに固有である前記機械可読媒体。
  30. 請求項28に記載の前記機械可読媒体において、複数の命令の前記複数のシーケンスが更に、前記機械により実行されると、k=hmmodPとして規定された1つの値kを前記機械に計算させるようになっている前記機械可読媒体。
JP2006506953A 2003-04-11 2004-03-05 身元を明らかにすることのない信頼の確立 Expired - Fee Related JP4673840B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/412,366 US7444512B2 (en) 2003-04-11 2003-04-11 Establishing trust without revealing identity
PCT/US2004/007040 WO2004095773A2 (en) 2003-04-11 2004-03-05 Interactif zero-knowledge proof protocol

Publications (2)

Publication Number Publication Date
JP2006523065A true JP2006523065A (ja) 2006-10-05
JP4673840B2 JP4673840B2 (ja) 2011-04-20

Family

ID=33131190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006506953A Expired - Fee Related JP4673840B2 (ja) 2003-04-11 2004-03-05 身元を明らかにすることのない信頼の確立

Country Status (5)

Country Link
US (2) US7444512B2 (ja)
EP (1) EP1616406B8 (ja)
JP (1) JP4673840B2 (ja)
CN (1) CN1806411B (ja)
WO (1) WO2004095773A2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100521191C (zh) * 2003-05-26 2009-07-29 Nxp股份有限公司 半导体器件、鉴别方法和系统
US20050039016A1 (en) * 2003-08-12 2005-02-17 Selim Aissi Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7587607B2 (en) * 2003-12-22 2009-09-08 Intel Corporation Attesting to platform configuration
US7526649B2 (en) * 2003-12-30 2009-04-28 Intel Corporation Session key exchange
US7382880B2 (en) * 2004-01-26 2008-06-03 Hewlett-Packard Development Company, L.P. Method and apparatus for initializing multiple security modules
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
CN1941699B (zh) * 2005-09-29 2012-05-23 国际商业机器公司 密码方法、主机系统、可信平台模块和计算机安排
JP4815206B2 (ja) * 2005-12-09 2011-11-16 パナソニック株式会社 認証端末及び被認証端末
US8027472B2 (en) * 2005-12-30 2011-09-27 Selim Aissi Using a trusted-platform-based shared-secret derivation and WWAN infrastructure-based enrollment to establish a secure local channel
CN101512535B (zh) * 2006-08-31 2011-05-18 国际商业机器公司 计算平台的证明
WO2009056048A1 (en) * 2007-10-23 2009-05-07 Yao Andrew C Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols
USRE46915E1 (en) * 2008-08-22 2018-06-26 Telit Automotive Solutions Nv Verification of process integrity
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
KR101067146B1 (ko) * 2010-01-14 2011-09-22 주식회사 팬택 휴대용 단말의 암호화 메시지 처리 방법 및 그 휴대용 단말
US20120296829A1 (en) * 2010-01-22 2012-11-22 International Business Machines Corporation Unlinkable Priced Oblivious Transfer with Rechargeable Wallets
US9087196B2 (en) 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
EP2860905A1 (en) * 2013-10-09 2015-04-15 Thomson Licensing Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product
KR101861026B1 (ko) 2013-11-25 2018-05-24 맥아피, 엘엘씨 비공개 데이터를 보호하는 보안 프록시
US9608825B2 (en) * 2014-11-14 2017-03-28 Intel Corporation Trusted platform module certification and attestation utilizing an anonymous key system
CN105024823B (zh) * 2015-07-27 2018-03-23 中国船舶重工集团公司第七0九研究所 基于零知识证明的用户身份隐私保护方法及系统
US11017387B2 (en) * 2016-03-24 2021-05-25 International Business Machines Corporation Cryptographically assured zero-knowledge cloud services for elemental transactions
US11017388B2 (en) * 2016-03-25 2021-05-25 International Business Machines Corporation Cryptographically assured zero-knowledge cloud service for composable atomic transactions
CN106790036B (zh) * 2016-12-16 2019-05-07 Oppo广东移动通信有限公司 一种信息防篡改方法、装置、服务器和终端
WO2019180590A1 (en) * 2018-03-23 2019-09-26 nChain Holdings Limited Computer-implemented system and method for exchange of data
US11394565B2 (en) * 2019-06-18 2022-07-19 Intel Corporation Asymmetric device attestation using physically unclonable functions
CN111277571A (zh) * 2020-01-13 2020-06-12 熊国华 一种基于零知识证明的企业app登录管理系统
CN111277416B (zh) * 2020-01-14 2024-04-05 平安壹钱包电子商务有限公司 交互式零知识证明方法、装置、计算机设备和存储介质
DE102021000645B3 (de) * 2021-02-09 2022-08-11 Mercedes-Benz Group AG Verfahren zur Überprüfung von kryptografischen Geheimnissen auf Gleichheit

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01133092A (ja) * 1987-09-07 1989-05-25 France Etat 認証情報の認証確認用システム
JPH06348202A (ja) * 1992-12-30 1994-12-22 Jacques Stern 確認装置によって少なくとも1つの識別装置を認証する方法および装置
JPH07235922A (ja) * 1993-12-30 1995-09-05 Jacques Stern 照合器により少なくとも一の証明器を認証するシステム
JPH08328471A (ja) * 1995-05-17 1996-12-13 Korea Telecommun Authority 復元型電子署名方法および付加型電子署名方法および認証交換方法
JP2002534701A (ja) * 1998-12-22 2002-10-15 ルーカス ヤング,アダム 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
FR2830147A1 (fr) * 2001-09-24 2003-03-28 Gemplus Card Int Procede et dispositif de la verification de la detention d'une donnee confidentielle sans communication de celle-ci, selon un processus dit de "a divulgation nulle"

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2752122B1 (fr) 1994-07-28 1998-11-27 France Telecom Procede d'authentification a nombre reduit de bits transmis
US5953422A (en) * 1996-12-31 1999-09-14 Compaq Computer Corporation Secure two-piece user authentication in a computer network
FR2763452B1 (fr) 1997-05-13 1999-06-18 France Telecom Procede d'identification a cle publique
DE69720971T2 (de) * 1997-05-28 2003-10-30 Siemens Ag Computersystem und Verfahren zum Schutz von Software
US20020004900A1 (en) * 1998-09-04 2002-01-10 Baiju V. Patel Method for secure anonymous communication
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
JP4019266B2 (ja) * 2001-10-25 2007-12-12 日本電気株式会社 データ送信方法
US6879574B2 (en) * 2002-06-24 2005-04-12 Nokia Corporation Mobile mesh Ad-Hoc networking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01133092A (ja) * 1987-09-07 1989-05-25 France Etat 認証情報の認証確認用システム
JPH06348202A (ja) * 1992-12-30 1994-12-22 Jacques Stern 確認装置によって少なくとも1つの識別装置を認証する方法および装置
JPH07235922A (ja) * 1993-12-30 1995-09-05 Jacques Stern 照合器により少なくとも一の証明器を認証するシステム
JPH08328471A (ja) * 1995-05-17 1996-12-13 Korea Telecommun Authority 復元型電子署名方法および付加型電子署名方法および認証交換方法
JP2002534701A (ja) * 1998-12-22 2002-10-15 ルーカス ヤング,アダム 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
FR2830147A1 (fr) * 2001-09-24 2003-03-28 Gemplus Card Int Procede et dispositif de la verification de la detention d'une donnee confidentielle sans communication de celle-ci, selon un processus dit de "a divulgation nulle"

Also Published As

Publication number Publication date
EP1616406A2 (en) 2006-01-18
CN1806411B (zh) 2013-05-01
WO2004095773A3 (en) 2005-05-19
EP1616406B1 (en) 2016-10-05
EP1616406B8 (en) 2016-12-21
WO2004095773A2 (en) 2004-11-04
US20040205341A1 (en) 2004-10-14
US20090041232A1 (en) 2009-02-12
JP4673840B2 (ja) 2011-04-20
US7444512B2 (en) 2008-10-28
CN1806411A (zh) 2006-07-19

Similar Documents

Publication Publication Date Title
JP4673840B2 (ja) 身元を明らかにすることのない信頼の確立
US7366305B2 (en) Platform and method for establishing trust without revealing identity
US7490070B2 (en) Apparatus and method for proving the denial of a direct proof signature
KR100715738B1 (ko) 식별 정보를 노출하지 않고 신용을 수립하기 위한 시스템및 방법
US7844614B2 (en) Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation
JP5205398B2 (ja) 鍵認証方式
JP5497677B2 (ja) 公開鍵を検証可能に生成する方法及び装置
US8924728B2 (en) Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8356181B2 (en) Apparatus and method for a direct anonymous attestation scheme from short-group signatures
US20080307223A1 (en) Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
JP4591894B2 (ja) セキュリティモジュールを有するユーザ装置により実行できる処理に対するプライバシの維持
JP4851497B2 (ja) 双線形マップからの直接匿名認証のための装置および方法
JP3970243B2 (ja) 暗号認証方法
JPH11234263A (ja) 相互認証方法および装置
CN116170145A (zh) 一种基于椭圆曲线的无证书多因子零知识证明认证方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100712

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110121

R150 Certificate of patent or registration of utility model

Ref document number: 4673840

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees