JP4851497B2 - 双線形マップからの直接匿名認証のための装置および方法 - Google Patents

双線形マップからの直接匿名認証のための装置および方法 Download PDF

Info

Publication number
JP4851497B2
JP4851497B2 JP2008179668A JP2008179668A JP4851497B2 JP 4851497 B2 JP4851497 B2 JP 4851497B2 JP 2008179668 A JP2008179668 A JP 2008179668A JP 2008179668 A JP2008179668 A JP 2008179668A JP 4851497 B2 JP4851497 B2 JP 4851497B2
Authority
JP
Japan
Prior art keywords
key
group
trusted
anonymous
platform
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.)
Expired - Fee Related
Application number
JP2008179668A
Other languages
English (en)
Other versions
JP2009027708A (ja
Inventor
エフ ブリッケル アーネスト
リ ジアンタオ
Original Assignee
インテル コーポレイション
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
Priority claimed from US11/778,804 external-priority patent/US8078876B2/en
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2009027708A publication Critical patent/JP2009027708A/ja
Application granted granted Critical
Publication of JP4851497B2 publication Critical patent/JP4851497B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明の一つまたは複数の実施形態は、概括的には暗号の分野に関する。より詳細には、本発明の一つまたは複数の実施形態は、双線形マップからの直接匿名認証(direct anonymous attestation)のための方法および装置に関する。
多くの現代の通信システムにとって、交換される情報の信頼性および安全性は重大な関心事である。この関心事に取り組むため、信頼コンピューティング・プラットフォーム連盟(TCPA: Trusted Computing Platform Alliance)は諸プラットフォームのためのセキュリティ・ソリューションを開発した。2002年2月22日またはその前後に公表された“Main Specification Version 1.1b”と題するTCPA規格によれば、各パーソナル・コンピュータ(PC)は信頼プラットフォーム・モジュール(TPM: Trusted Platform Module)と称される信頼されるハードウェア・デバイスを実装される。
動作の際、外部当事者(「検証者」と称される)がTPMの認証を要求しうる。これは対立する二つのセキュリティ上の懸念を生み出す。第一に、検証者は、要求された認証情報が本当に有効なTPMから来ていることを確信する必要がある。第二に、TPMを含んでいるPCの所有者は、できるだけプライバシーを維持したい。特に、PCの所有者は、異なる複数の検証者に認証情報を提供しつつ、それらの検証者がその認証情報が同じTPMから来ていることを判別できないようにしたい。
2005年のREAL ID法は、2005年の防衛、テロに対する世界的戦争および津波救援のための緊急補正予算法(Emergency Supplemental Appropriations Act for Defense, the Global War on Terror, and Tsunami Relief, 2005)と題する米国議会法Pub. L. No. 109-13, 119 Stat. 231(2005年5月11日)の第B部である。2005年のREAL ID法は、州の運転免許証の発行のための標準を創り出すものである。REAL ID法は、連邦の技術標準および検証手順を州の運転免許証および身分証明カードに課す法律であり、その多くは連邦政府の現在の能力を超えるものであるが、2008年5月までに州が準拠することを義務づけている。州の運転免許証にREAL ID法を実装する一つの試みは、一般に、カード保有者のプライバシー上機微な情報を曝露する。残念ながら、そのようなセキュリティ情報はしばしば所有者の同意なしに売却され、所有者の名において所有者の同意なしに詐欺的な行為を行うために使われる。そのような活動は、一般にID窃盗として知られる広く蔓延した現象であり、日々、罪のない被害者の信用を破壊している。
本発明のさまざまな実施形態は、付属の図面において限定ではなく例として示されている。
双線形マップからの直接匿名認証のための方法および装置が記載される。ある実施形態では、本方法は、発行者によって定義される信頼されるメンバーシップ・グループのための公開鍵/秘密鍵ペアの生成と、前記発行者によって定義された信頼されるメンバーシップ・グループの少なくとも一つの匿名メンバー・デバイスに一意的な秘密署名鍵を割り当てることとを含む。ある実施形態では、前記割り当てられた署名鍵を使って、メンバーは、認証要求として受信されたメッセージに署名してグループ・デジタル署名を形成しうる。ある実施形態では、メンバーのグループ・デジタル署名は、信頼されるメンバーシップ・グループの公開鍵を使って検証できる。結果として、グループ・デジタル署名の検証者は、そのメンバーが信頼されるメンバーシップ・グループの実際の(信頼される)メンバーであることの認証を、そのメンバーのいかなる一意的な識別情報や一意的な秘密もしくは公開メンバー鍵の開示も要求することなく行うことができ、信頼されるメンバー・デバイスが検証者に対して匿名のままであることを可能にする。
ある実施形態では、匿名ハードウェア・デバイスが、発行者との認定(certification)(加入)手順に携わって、信頼されるメンバーシップ・グループのメンバーになるための秘密の(秘密)署名鍵を形成する。ある実施形態では、メンバー・デバイスは、その秘密署名鍵でメッセージにデジタル署名するための信頼プラットフォーム・モジュール(TPM)を含む。ある実施形態のためには、TPMが秘密署名鍵を形成し、メッセージにデジタル署名する機能性は、ファームウェアとして展開される。しかしながら、そのような機能性が専用のハードウェアまたはソフトウェアとして展開されてもよいことが考えられている。前記ファームウェアまたはソフトウェアを形成する命令またはコードは、機械可読媒体上に記憶される。
ここで、「機械可読媒体」は、これに限られないが、フロッピー(登録商標)・ディスケット、ハードディスク、光ディスク(たとえばCD-ROM、DVD、ミニDVDなど)、光磁気ディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、任意の型のプログラム可能な読み出し専用メモリ(たとえば、プログラム可能な読み出し専用メモリ「PROM」、消去可能なプログラム可能な読み出し専用メモリ「EPROM」、電気的に消去可能なプログラム可能な読み出し専用メモリ「EEPROM」またはフラッシュ)といった半導体メモリ、磁気もしくは光カードなどを含みうる。信号そのものおよび/または通信リンクが機械可読媒体とみなせることが考えられている。ソフトウェアは、ダウンロードされた信号の一部として、あるいは通信リンクを通じた伝搬の間、一時的に記憶されうるからである。
以下の記述では、本発明の一つまたは複数の実施形態のある種の特徴を記述するためにある種の用語が用いられる。たとえば、「プラットフォーム(platform)」は、情報を送受信するよう適応されている任意の型の通信デバイスとして定義される。さまざまなプラットフォームの例は、これに限られたり制約されたりしないが、コンピュータ、携帯情報端末、携帯電話、セットトップボックス、ファクシミリ機、プリンタ、モデム、ルータ、スマート・カード、USBトークン、身分証明カード、運転免許証、クレジットカードまたは集積回路を含む他の同様の形状因子デバイスなどを含む。「通信リンク(communication link)」は、プラットフォームに適合された一つまたは複数の情報搬送媒体として広く定義される。さまざまな型の通信リンクの例は、これに限られたり制約されたりしないが、電気ワイヤ(単数または複数)、光ファイバー(単数または複数)、ケーブル(単数または複数)、バス・トレース(単数または複数)または無線信号伝送技術を含む。
「検証者(verifier)」は、他のエンティティからの、真正性または権限の何らかの検証を要求する任意のエンティティ(entity)(たとえば、人物、プラットフォーム、システム、ソフトウェアおよび/またはデバイス)をいう。通常、これは要求される情報を開示または提供するのに先立って実行される。「証明者(prover)」は、その権限、有効性および/または素性(identity)の何らかの証明を提供することを要求された任意のエンティティをいう。「証明者」は、その証明者が、秘密署名鍵(private signature key)を使ってメッセージに署名することによって認証要求に応答するときは、「署名者(signer)」と称されてもよい。「発行者(issuer)」は、信頼されるメンバーシップ・グループを定義し、その信頼されるメンバーシップ・グループに加入しようとする諸ハードウェア・デバイスと連携する。「デバイス製造者(device manufacturer)」は「認定役の製造者(certifying manufacturer)」と交換可能に使われることがあるが、プラットフォームまたはデバイス(たとえば信頼プラットフォーム・モジュール)を製造または設定する任意のエンティティをいう。発行者がデバイス製造者/認定役の製造者であってもよい。
ここでの用法では、証明者が何らかの暗号情報(たとえば署名鍵、秘密鍵など)の知識を有していることを検証者に「証明する」または「確信させる」とは、検証者に開示される情報および証明(proof)に基づいて、証明者がその暗号情報を有している高い確率があるということを意味する。このことを、その暗号情報を検証者に「明かし」たり「開示」したりすることなく証明するため、検証者にとって、その暗号情報を決定することは計算量的に実行不可能とする。そのような証明は以下では直接証明(direct proof)と称される。
以下に論じられるさまざまな実施形態の説明および例示を通じて、係数、変数および他の記号(たとえば、「h」)は同じラベルまたは名前で参照される。したがって、ある記号が式の異なる部分に、あるいは異なる式や機能説明に現れる場合、同じ記号が参照される。
図1は、ある実施形態に基づく信頼ハードウェア・デバイス(「信頼プラットフォーム・モジュール」または「TPM」と称される)を実装されたプラットフォームを有するシステム100を示している。第一のプラットフォーム102(検証者)が第二のプラットフォーム200(証明者)にネットワーク120を通じて認証要求106を送信する。要求106に応答して、第二のプラットフォーム200は、認証情報108を提供する。ある実施形態では、ネットワーク120は構内ネットワークもしくは広域ネットワークおよび/または企業のイントラネット、インターネットもしくは他の同様のネットワークのような従来式のネットワーク・インフラストラクチャーをの一部をなす。
追加的に、セキュリティ向上のため、第一のプラットフォーム102は、証明者プラットフォーム200が選択されたデバイス製造者または選択されたデバイス製造者グループのいずれか(以下では「デバイス製造者(単数または複数)(発行者110)」と称されることがある)によって製造されていることを検証する必要があってもよい。ある実施形態では、第一のプラットフォーム102は第二のプラットフォーム200に、発行者110によって生成された暗号情報(たとえば秘密署名鍵)を有していることを示すようチャレンジする。第二のプラットフォーム200は、そのチャレンジに対して返答の形で認証情報を提供することによって返答し、それにより、第一のプラットフォーム102に、第二のプラットフォーム200が発行者110によって生成された暗号情報を有していることを、その暗号情報や本稿で「一意的なデバイス識別情報」と称される何らかのデバイス/プラットフォーム識別情報を明かすことなく、確信させる。それにより、信頼されるメンバー・デバイスは検証者に対して匿名のままであることができる。
図2は、TPM220を含む匿名プラットフォーム200のある実施形態をさらに図解するブロック図である。TPM220は、TPM220と同じグループにあるTPMすべてに共通のグループ・メンバーシップ証明書(group membership certificate)と、そのグループ・メンバーシップ証明書を使って検証できるデジタル署名を提供するための秘密メモリ鍵とを有する。ある実施形態では、プラットフォーム200と組み合わさっているTPM220は、プラットフォーム200が発行者110(たとえばデバイス製造者)によって定義された信頼されるメンバーシップ・グループのメンバーであることを検証者に証明するための認証情報を、秘密一意的署名鍵(private unique signature key)230を使って生成する。そのような証明は、前記秘密一意的署名鍵を含むいかなる一意的なデバイス識別情報(unique device identification information)の開示もなしに行われ、信頼されるプラットフォーム200が検証者102(図1)に対して匿名のままであることを可能にするものである。代表例として、コンピュータ・システム200は、プロセッサ(CPU)202とチップセット210との間で情報を通信するためのプロセッサ・システム・バス(フロント・サイド・バス(FSB))204を有する。ここで記載するところでは、用語「チップセット」は、所望のシステム機能を実行するためにCPU202に結合されているさまざまなデバイスを総称的に記述するように用いられる。
代表例として、グラフィック・ブロック218ならびにハードドライブ装置(HDD)214およびメイン・メモリ212がチップセット210に結合されている。ある実施形態では、グラフィック・ブロック218がグラフィック・チップセットを有している。あるいは代替的に、チップセット210がグラフィック・ブロック218を組み込んでいて、グラフィック・メモリ・コントローラ・ハブ(GMCH: graphics memory controller hub)として機能してもよい。ある実施形態では、チップセット210は、メモリ・コントローラおよび/またはI/Oデバイス216(216−1、…、216−N)と通信するための入出力(I/O)コントローラを含むよう構成される。ある実施形態では、メイン・メモリ212は、これに限られないが、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、静的RAM(SRAM)、同期DRAM(SDRAM)、倍速データレート(DDR)SDRAM(DDR-SDRAM)、ランバスDRAM(RDRAM)またはデータの高速バッファリングをサポートできる任意のデバイスを含みうる。
図3は、ある実施形態に基づく第二のプラットフォーム200の信頼プラットフォーム・モジュール(TPM)220をさらに図解している。TPM220は、デバイス製造者によって製造される暗号デバイスである。ある実施形態では、TPM220は、パッケージ内にカプセル化された少量のオンチップ・メモリをもつプロセッサ・ユニット222を有する。ある実施形態では、カプセル化されたメモリは、発行者110との加入手順の間に生成された秘密一意的メンバーシップ鍵230を記憶するために使用されてもよい。TPM220は、第一のプラットフォーム102に認証情報を提供するよう構成される。その認証情報は、第一のプラットフォーム102がその認証情報が有効なTPMから送信されていることを判別できるようにするものである。使用される認証情報は、TPMの、あるいは第二のプラットフォームの素性が判別できることをきわめてありそうにする、ランダム化されたデータである。
ある実施形態では、TPM220はさらに、暗号情報の記憶を許容するために不揮発性メモリ224(たとえばフラッシュ)を有する。暗号情報(cryptographic information)は次のうちの一つまたは複数のようなものである:鍵、ハッシュ値、署名、証明書など。ある実施形態では、暗号情報は、たとえば認定役の製造者のような発行者110から受信される秘密署名鍵である。のちに示すように、「X」のハッシュ値は「Hash(X)」と表されることができる。もちろん、そのような情報がフラッシュ・メモリ224の代わりにプラットフォーム200の外部メモリ280内に記憶されてもよいことが考えられている。暗号情報は、特にTPM220の外部に記憶される場合、暗号化されてもよい。
ある実施形態では、TPM220は、検証者プラットフォームからの認証要求に応答するための認証論理(authentication logic)240を含む。ある実施形態では、認証論理240は、受信されたメッセージに従って、秘密署名鍵230を使ってデジタル署名を計算する。これは、いかなる一意的なデバイス/プラットフォーム識別情報をも明かすことなく、TPM220が信頼されるメンバーシップ・グループの発行者によって生成された暗号情報を記憶していることを検証者プラットフォームに確信させる、すなわち証明するためである。結果として、認証論理240は、プラットフォーム200の匿名性を維持するよう証明者プラットフォームの素性を保護しながら、要求された認証を実行する。認証論理240は、図4を参照してさらに図解される。
ある実施形態では、認定論理(certification logic)250は、秘密署名鍵230の発行者との1ラウンドの認定手順の間に秘密署名鍵230を形成する。ある実施形態では、署名論理260が、検証者からの認証要求の一部として受信されたメッセージに署名してもよい。代表例として、失効鍵論理270は、プラットフォーム200が保持している秘密署名鍵230の秘密メンバー鍵コンポーネントが失効させられた(危殆化された)秘密メンバー鍵でないことを検証者プラットフォームに確信させる、すなわち証明する。ある代替的な実施形態では、秘密署名鍵が失効させられた署名鍵ではないことの検証は、検証者によって実行される。実装によっては、上記よりも設備の少ないまたは多いコンピュータが望ましいことがありうることは理解される。
ある実施形態では、信頼されるメンバーシップ・グループのメンバーである各ハードウェア・デバイスは、発行者によって一意的な秘密署名鍵を割り当てられる。代表例として、割り当てられた秘密署名鍵を有する信頼されるメンバー・デバイスは、検証者からの認証要求の一部として受信されるメッセージに署名することができる。しかしながら、伝統的なデジタル署名システムとは対照的に、メンバー・デバイスの一意的な秘密署名鍵を用いて生成されたグループ・デジタル署名の検証は、発行者によって定義された信頼されるメンバーシップ・グループについてのグループ公開鍵を使って検証される。信頼されるメンバーシップ・グループのメンバー・デバイスは、その秘密署名鍵を使って、一意的なデバイス識別情報の開示を、そのデバイスが信頼されるハードウェア・デバイスの信頼されるメンバーシップ・グループのメンバーであることを示す情報に限定する。それは認定役の製造者によって定義されてもよい。
ある実施形態では、認証論理240は、あるグループのメンバーであることを自らの素性についていかなる情報も明かすことなく証明することを可能にする。あるグループのメンバーは、そのグループにおけるメンバーシップを証明するために使用されうるクレデンシャル(「グループ・メンバーシップ証明書」)を有する。ある実施形態では、クレデンシャル(credential)は、秘密メンバー鍵(private member key)およびグループ・メンバーシップ証明書からなる。該秘密署名鍵は、そのグループのあらゆる異なるメンバーについて一意的であり、各メンバーは自分の秘密メンバー鍵として、発行者に知られていない秘密の乱数を選択する。しかしながら、信頼されるメンバーシップ・グループのグループ公開鍵は、グループの全メンバーについて同じである。
ここで記載されるところでは、発行者110のような発行者は、ある人物(またはエンティティ)があるグループのメンバーであることを確立し、次いでそのメンバーにクレデンシャルを発行するエンティティである。そのクレデンシャルが、そのメンバーの秘密署名鍵を形成するために使われる。ここでさらに記載されるところでは、証明者は、そのグループにおけるメンバーシップを証明しようとしている人物またはエンティティである。証明者が本当にそのグループにおけるメンバーであり、有効なクレデンシャルをもっていれば、証明は成功するはずである。ここでさらに記載されるところでは、検証者は、証明者がそのグループのメンバーであるか否かを確立しようとしているエンティティである。よって、証明者は、メンバーシップを、検証者に対して証明しようとしている。
図4に示されるように、メンバーシップを証明するために、検証者は、証明者がたとえばデジタル署名論理260において何らかのメッセージにデジタル署名することを要求する。検証者が、そのメッセージが現時点で署名されたことを知る必要がある場合には、検証者は、署名に含めるために証明者に与えられる乱数(ノンス)を生成する。証明者は、秘密署名鍵を使ってメッセージに署名し、署名を検証者に送る。ここで記載されるところでは、そのような署名は、信頼されるメンバーシップ・グループの公開されたグループ公開鍵を用いて検証されるので、グループ・デジタル署名(group digital signature)と称される。
ある実施形態では、検証者は、グループ公開鍵を使って署名を検証できる。検証が成功すれば、検証者は証明者が信頼されるグループのメンバーであることを知る。ノンスが使われた場合、検証者は、グループ署名が生成されのが、自分がノンスを送った時点と署名が受信された時点の間であったことを知る。よって、検証者は、どのメンバーがそのグループ・デジタル署名を生成したかを知ることはない。よって、グループの信頼されるメンバーの匿名性が維持される。
ある実施形態では、TPM220は、PCMCIAスロットへの挿入のためのPCMCIAカードの形状因子(form factor)を含むスマート・カードに組み込まれてもよいし、あるいは運転免許証、身分証明カード、クレジットカードまたは標準的な運転免許証/クレジットカードの形状因子をもち、ここに記載される一つまたは複数の暗号手順を実行するための集積回路を含む他の同様の構成といった身分証明デバイス上に組み込まれてもよい。しかしながら、ある種の暗号機能は、プラットフォーム200のような取り付けられたホスト(host)によって計算されてもよいことは認識しておくべきである。そのような構成によれば、たとえば運転免許証上でのTPM220の使用は、プライバシー上機微な情報の開示なしに、前述した2005年のREAL ID法の準拠を可能にするであろう。
そのような構成によれば、陸運局(Department of Motor Vehicles)すなわちDMVが発行者であり、グループ公開鍵(group public key)およびグループ発行秘密鍵(group issuing private key)を生成するためのセットアップ手順に携わる。発行者は公開鍵を公開し、グループ発行秘密鍵を秘密に保つ。そのような手順によれば、それぞれの発行された運転免許証について、発行者に知られていない秘密メンバー鍵コンポーネント(private member key component)を含む、発行者からのユーザー秘密署名鍵を提供する一般手順(general procedure)が従われる。したがって、ユーザー秘密署名鍵は、グループ公開鍵と併せて、ユーザーのこのグループのためのクレデンシャルである。
そのような実施形態によれば、TPM220および図4に示されるような認証論理が、標準的な運転免許証、クレジットカードまたは銀行の機械などを利用するための他の同様のスマートカード・デバイスの形状因子をもつカード上に組み込まれるとき、そのカードの保有者は、そのカードの所有者が失効させられたメンバーではないことを、たとえば発行者(DMV)が危殆化された秘密鍵のコピーをもつことを要求することなく証明する、検証手順に従事できる。
図5は、ある実施形態に基づく信頼されるメンバーシップ・グループ公開鍵を形成する方法400を図解するフローチャートである。「信頼されるメンバーシップ・グループ」は、発行者によって、一つまたは複数の型のプラットフォームまたはデバイスを含むよう定義されうる。たとえば、信頼されるメンバーシップ・グループは、グループ公開鍵のようなセキュリティ関連情報の共通要素をもつすべてのプラットフォーム(メンバー)の集合であってもよい。このセキュリティ関連情報は、特定のプラットフォームまたはデバイスの製造者およびモデル番号を含むことができる。各信頼されるメンバーシップ・グループについて、発行者は、その信頼されるメンバーシップ・グループのために使われる暗号パラメータ(cryptographic parameter)を生成する。発行者は、加入手順の間に秘密署名鍵を生成する。この秘密署名鍵は、メンバー・デバイス(たとえばプラットフォーム200またはTPM220)が検証者に該デバイスが信頼されるメンバーシップ・グループのメンバーであることを確信させるために、受信したメッセージに署名するのに使われるものである。
ある実施形態では、発行者は、少なくとも一つの信頼されるハードウェア・デバイスをメンバー・デバイスとして含む信頼されるメンバーシップ・グループを生成する(ブロック310)。ある実施形態では、発行者は、公開鍵暗号機能(たとえば、楕円曲線暗号法)を利用してグループ公開鍵/秘密鍵ペアを生成する。これは、Bruce SchneierによるApplied Cryptography, John Wiley & Sons; ISBN:0471117099;第2版(1999)に記載されるようなよく知られた諸方法を使って生成できる。
発行者は、公開パラメータ、その信頼されるメンバーシップ・グループのセキュリティ関連情報を含む、グループ・メンバーシップ証明書を生成する。ひとたびプラットフォーム・グループ公開鍵/秘密鍵が生成されると、信頼されるグループの各メンバー・デバイスの認定手順が実行される(ブロック350)。認定プロセスの一部として、発行者は、信頼されるグループのメンバーまたはデバイスに、グループ・メンバーシップ証明書を提供する。証明者(たとえば図1の第二のプラットフォーム200)からの検証者への、グループ・メンバーシップ証明書に関連する暗号パラメータの配布は、いくつかの方法で達成されうる。しかしながら、これらの暗号パラメータは、そのグループ・メンバーシップ証明書が発行者によって生成されたことを検証者が確信させられるような仕方で検証者に配布されるべきである。
たとえば、一つの受け容れられている方法は、パラメータを直接、検証者に配布することによる。もう一つの受け容れられている方法は、認定機関(certifying authority)、一例としては発行者によって署名されたグループ・メンバーシップ証明書を配布することによる。この後者の方法では、認定機関の公開鍵が検証者に配布されているべきであり、署名されたグループ・メンバーシップ証明書は信頼されるグループ内の各メンバー(証明者プラットフォーム)に与えられることができる。すると証明者プラットフォームは、署名されたグループ・メンバーシップ証明書を検証者に提供できる。
図6は、ある実施形態に基づく、図5の処理ブロック320の、一つまたは複数の公開パラメータを含む、そのプラットフォーム・グループのためのグループ公開鍵/秘密鍵ペアを生成するための方法322を図解するフローチャートである。公開鍵/秘密鍵ペアおよびプラットフォーム・グループのためのプラットフォーム・パラメータの生成は、メンバー・デバイスが、いかなる一意的なデバイス識別情報も明かすことなく、自らを信頼されるメンバー・デバイスであると身分証明することを可能にする。ある実施形態では、図6を参照して記述されるグループ公開パラメータの生成は、ここではセットアップ・プロトコルと称される。
ある実施形態では、前記セットアップ・プロトコルは、発行者によって定義される信頼されるグループの各メンバー・デバイスについて一意的な秘密署名鍵を生成するために、公開鍵/秘密鍵ペアおよびメンバー・デバイスを認定するために製造者が必要とするその他の暗号パラメータを生成するために、ハードウェア製造者(発行者)によって使われる。
再び図6を参照すると、処理ブロック324において、発行者は(q,G,g,GT,gT,e)を生成する。ここで、qは素数、GおよびGTは位数qの群(group)、e:G×G→GTは効率的に計算可能な双線形マップ(bilinear map)関数、gは群Gの生成元、gTは群GTの生成元である。ある実施形態では、秘密署名鍵を使ってグループ・デジタル署名が生成され、双線形マップに基づく認証を可能にする。たとえば、素数位数qをもつ二つの群G=〈g〉およびGT=〈gT〉があるとする。縮退していない効率的に計算可能な双線形マップe、e:G×G→GTは次のように定義される関数である:
1.すべてのP,Q∈Gについて、すべてのa,b∈Zについて、e(Pa,Qb)=e(P,Q)ab
2.e(P,Q)≠1となる何らかのP,Q∈Gが存在する。ここで、1はGTの単位元である。
3.eを計算するための効率的なアルゴリズムが存在する。
再び図6を参照すると、処理ブロック326において、発行者は乱数値xおよびyを選択する。ひとたびxおよびyが選択されると、処理ブロック328において、発行者はX=gxおよびY=gyを計算する。処理ブロック330において、グループ公開鍵は(q,G,g,GT,gT,e,X,Y)であり、発行者のための秘密鍵は、発行者によって出力される(x,y)である。ある実施形態では、プラットフォーム・パラメータxおよびyのランダム選択は、ランダムなシード値を選び出し、擬似乱数発生器を用いて値xおよびyを生成することによって実行される。ある実施形態では、発行者の秘密の鍵は(x,y)である。
ひとたびプラットフォーム・グループ公開鍵/秘密鍵が形成されると、発行者は、加入手順に従ってプラットフォーム・グループの各メンバーを認定しうる。これについては図7を参照しつつさらに解説する。代表例として、図7は、ある実施形態に基づく、図5の処理ブロック350の、定義された信頼されるメンバーシップ・グループのメンバー・デバイスを認定するための方法352を図解するフローチャートである。
代表例として、プラットフォームは、グループに加入するために発行者と対話する。処理ブロック354において、TPMが、発行者には明かされないそのDAAシードから秘密メンバー鍵fを導出し、F=gfと設定する。処理ブロック356では、TPMがFを発行者に送り、発行者に対してloggFを知っていることを証明する。処理ブロック358において、発行者がTPMによって実行された知識の証明を検証する。処理ブロック360では、発行者は乱数rを選び、a=gr、b=ayおよびc=axFrxyを計算する。処理ブロック362では、発行者は(a,b,c)を、プラットフォームのメンバーシップ証明書としてホストに送り返す。処理ブロック364では、ホストが(a,b,c)をTPMに転送する。ある実施形態では、メンバー・デバイスの秘密署名鍵は、メンバーシップ証明書(a,b,c)とともに秘密メンバー鍵fを、(f,a,b,c)として含む。
ある実施形態では、TPMは、発行者に対して署名による知識の証明(SPK: signature proof of knowledge)をも次のようにして実行する(これは処理ブロック356および358に対応する):
SPK{(f):F=gf
1.TPMが乱数r∈Zqを選び、T=grを計算する。
2.TPMがc=H(q‖g‖gT‖G‖GT‖e‖X‖Y‖T)を計算する。
3.TPMがs=r+c・f mod qを計算する。
4.TPMが(F,c,s)を発行者に送る。
5.発行者がT′=gsF-cを計算する。
6.発行者が
c=H(q‖g‖gT‖G‖GT‖e‖X‖Y‖T′)となることを検証する。
図8は、ある実施形態に基づく、プラットフォーム・グループのメンバー・デバイスによる秘密署名鍵を計算する方法400を図解するフローチャートである。処理ブロック410において、TPMはベースBを選ぶ。メッセージmに署名するために、TPMは秘密の署名鍵として(f,a,b,c)を有し、ホストは(a,b,c)を有する。ランダム・ベース・オプションでは、TPMはBを群GTからランダムに選ぶ。ネームド・ベース・オプションでは、TPMはBを検証者のベース名から導出する。TPMは次いで仮名K=Bfを計算する。処理ブロック420では、TPMは二つの乱数rおよびr′を選び、それらをホストに送る。処理ブロック430では、ホストはa′=ar′、b′=br′およびc′=cr′rを計算し、次いでvx=e(X,a′)、vxy=e(X,b′)およびvs=e(g,c′)を計算する。処理ブロック440では、ホストは(a′,b′,c′,vx,vxy,vs)をTPMに送り返す。処理ブロック450では、TPMは、riおよびfを明かすことなく(ri,f)を知っていることの零知識証明を、vs ri=vxvxy fおよびK=Bfのように計算する。ここで、riはqを法としたときのrの逆数である。上記の証明の知識の署名をΣで表すことにする。すると処理ブロック460では、生成された署名は(a′,b′,c′,B,K,Σ)となる。
ある実施形態では、Gにおける決定ディフィー・へルマン問題(decisional Diffie-Hellman problem)が困難な場合、TPMはBを任意の群Gから選択できる。失効チェックは、GTの代わりにG上で実行できる。
ある実施形態では、TPMは、e(X,a)、e(X,b)およびe(X,c′)をあらかじめ計算する。TPMは二つの乱数rおよびr′を選び,それらをホストに送る。ホストはa′=ar′、b′=br′およびc′=cr′rを計算するだけである。次いでTPMがvx=e(X,a) r′、vxy=e(X,b) r′およびvs=e(g,c′) r′rを計算する。ホストは(a′,b′,c′)をTPMに送り返す。
ある実施形態では、TPMは「知識の署名」を次のようにして計算する:
SPK{(r,f):vs ri=vxvxy f∧K=Bf}(m)
(a)TPMが二つのランダム整数rr,rf∈Zqを選び、
T1=vs rrvxy -rf T2=Brf
を計算する。
(b)TPMが
c=H(q‖g‖gT‖G‖GT‖e‖X‖Y‖a′‖b′‖c′‖vx‖vxy‖vs‖B‖K‖T1‖T2‖m)
を計算する。TMPが
ri=r-1 mod q sr=rr+c・ri mod q sf=rf+c・f mod q
を計算する。TPMが
(c,sr,sf)をホストに送る。
ホストが、署名σ=(B,K,a′,b′,c′,sr,sf)を検証者に送る。ここで、Σ=(sr,sf)となっている。
したがって、秘密署名鍵(f,a,b,c)を使って、信頼されるハードウェア・デバイスは、該デバイスがたとえばここでは発行者と称されている認定役の製造者によって定義された、信頼される匿名のハードウェア・デバイスのグループのメンバーであるということを示すことによって、自らを信頼されるハードウェア・デバイスであるとして身分証明することが許容される。ある実施形態では、各ハードウェア・デバイスは、プラットフォーム・グループのメンバーであり、一意的な秘密署名鍵を割り当てられる。代表例として、割り当てられた秘密署名鍵を有する信頼されるハードウェア・デバイスは、検証者からの認証要求の一部として受信されるメッセージに署名することができる。しかしながら、伝統的なデジタル署名システムとは対照的に、メンバー・デバイスの一意的な秘密署名鍵を用いて生成されたデジタル署名の検証は、発行者によって定義されたプラットフォーム・グループのためのグループ公開鍵を使って検証される。
図9は、ある実施形態に基づく、グループ公開鍵に関する有効性のための署名を検査するための検証アルゴリズムのための方法500を図解しているフローチャートである。グループ署名は(a′,b′,c′,B,K,Σ)からなる。処理ブロック510では、検証者はまずvx=e(X,a′)、vxy=e(X,b′)およびvs=e(g,c′)を計算する。処理ブロック520では、検証者はΣすなわち知識の署名の正しさを検証する。だめなら、処理ブロック522で検証は失敗する。ひとたび署名が検証されたら、処理ブロック530で、検証者はe(a′,Y)=e(g,b′)がなりたつかどうかを検査する。だめなら、処理ブロック532で検証は失敗する。処理ブロック540では、検証者は署名が失効させられているかどうかを検査する。すなわち、不正リスト(rogue list)内の各失効させられたメンバー鍵fiについて、検証者はK≠Bfiであることを検査する。
たとえば、mに対するグループ署名σ=(B,K,a′,b′,c′,sr,sf)を検証するため、検証者は以下のステップを行う:
1.検証者はe(a′,Y)=e(g,b′)でありかつB∈GTであることを検証する。
2.検証者が
vx=e(X,a′) vxy=e(X,b′) vs=e(g,c′)
を計算する。検証者が
T1′=vs srvxy -sfvx -c T2′=BsfK-c
を計算する。検証者が
c=H(q‖g‖gT‖G‖GT‖e‖X‖Y‖a′‖b′‖c′‖vx‖vxy‖vs‖B‖K‖T1′‖T2′‖m)
となることを検証する。
検証者は図10に示されるようにして、不正リスト中の各fiについて、K≠Bfiであることを検査する。一致する失効させられたメンバー鍵が検出される場合、処理ブロック560で検証は失敗する。そうでない場合、処理ブロック570で検証は成功する。
図10は、ある実施形態に基づく、メンバー・デバイスの秘密署名鍵が失効されていない秘密署名鍵であることを保証するための方法542を図解するフローチャートである。それによると、処理ブロック544では、不正鍵リストが受信されているかどうかが判定される。ひとたび受信されたら、処理ブロック546において、その不正鍵リストから失効させられたメンバー鍵が選択される。処理ブロック548では、デジタル署名の一部として受信された仮名値KがK=Bfiの形の式に等しくないかどうかを判定する。仮名値Kが前記の式に等しい場合、その署名は処理ブロック552で拒否される。そうでない場合、処理ブロック550で、失効鍵リストにおける各鍵が処理されるまで、失効鍵リストの失効させられた各メンバー鍵について、処理ブロック546〜548が繰り返される。したがって、グループ署名の値KがBfiに一致しないと想定すると、メンバー・デバイスから受信されたデジタル署名は受理される。
ある実施形態では、メンバーまたは信頼されるハードウェア・デバイスは、ECCのような従来式の暗号プロトコルを使って標準的な公開鍵/秘密鍵ペアを生成してもよい。したがって、ある実施形態では、公開ECC鍵に署名するためにメンバー・デバイスの秘密署名鍵を使用してもよい。これにより、その公開鍵が信頼されるハードウェア・デバイスによって生成されたことが示される。したがって、そのメンバー・デバイスがプラットフォーム・グループの信頼されるハードウェア・デバイスとして初期認証されたのちは、その後のトランザクションは、従来式のECC公開鍵/秘密鍵ペアを使って実行されてもよい。
以上の記述において、本発明のさまざまな実施形態について数多くの特徴および利点が本発明のさまざまな実施形態の構造および機能の詳細とともに記載されてきたが、この開示は単に例示的なものである。場合によっては、ある種のサブアセンブリーは、一つのそのような実施形態についてのみ詳細に記載されている。にもかかわらず、そのようなサブアセンブリーが本発明の他の実施形態において使われてもよいことが認識され、意図されている。細部に、特に諸部分の構造および管理の事項に、本発明の実施形態の原理内で、付属の請求項を表現する言辞の広い一般的な意味によって示される全範囲まで、変更がなされうる。
例示的な実施形態および最良の形態を開示してきたが、請求項によって定義される本発明の実施形態の範囲内から出ることなく、開示された実施形態に修正および変形がなされうる。
ある実施形態に基づく、信頼プラットフォーム・モジュール(TPM)を実装されたプラットフォームを有するシステムを示すブロック図である。 ある実施形態に基づく、図1のプラットフォームをさらに図解するブロック図である。 ある実施形態に基づく、図1および図2のTPMをさらに図解するブロック図である。 ある実施形態に基づく、図3の認証論理をさらに図解するブロック図である。 ある実施形態に基づく、信頼されるメンバー・デバイスの信頼されるメンバーシップ・グループを確立するための方法を図解するフローチャートである。 ある実施形態に基づく、グループ公開鍵/秘密鍵ペアならびに一つまたは複数の公開パラメータを生成する方法を示すフローチャートである。 ある実施形態に基づく、信頼されるメンバーシップ・グループのメンバー・デバイスを認定するための加入プロトコルのための方法を図解するフローチャートである。 ある実施形態に基づく、受信された証明要求に応答して秘密署名鍵を生成する方法を図解するフローチャートである。 ある実施形態に基づく、信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスを認証するための装置の、グループ・デジタル署名を検証する方法を図解するフローチャートである。 ある実施形態に基づく、受信された署名を生成するのに使われた秘密署名鍵が失効させられていない秘密メンバー鍵を含むことを検証する方法を図解するフローチャートである。
符号の説明
100 TPM(信頼プラットフォーム・モジュール)を実装されたプラットフォームを有するシステム
102 検証者プラットフォーム
106 要求
108 認証情報
110 発行者
120 ネットワーク
200 コンピュータ・システム
210 証明者プラットフォーム
220 TPM
202 CPU
204 プロセッサ・システム・バス
210 チップセット
212 メモリ
214 HDD
216 I/Oデバイス
218 グラフィクス
220 TPM
222 プロセッサ・ユニット
224 フラッシュ・メモリ
230 秘密署名鍵
240 認証論理
250 認定論理
260 デジタル署名論理
270 失効鍵論理
280 フラッシュ・メモリ
300 信頼されるメンバーシップ・グループ公開鍵を形成する方法
310 少なくとも一つの信頼されるハードウェア・デバイスをメンバーとして含むプラットフォーム・グループを生成
320 一つまたは複数の公開パラメータを含む、そのプラットフォーム・グループのためのグループ公開鍵/秘密鍵ペアを生成
322 図6で、図5の処理ブロック320の生成方法
324 図6で、(q,G,g,GT,gT,e)を生成。ここで、qは素数、GおよびGTは位数qの群、e:G×G→GTは効率的に計算可能な双線形マップ関数、gは群Gの生成元、gTは群GTの生成元
326 図6で、値xおよびyをランダムに選択し、発行者の秘密鍵を(x,y)として形成
328 図6で、値X=gxおよびY=gyを計算
330 図6で、プラットフォーム・グループ公開鍵を(q,G,g,GT,gT,e,X,Y)として出力、発行者の秘密鍵は (x,y)
340 公開パラメータ、発行者の名前および他の関連するセキュリティ情報を含む、プラットフォーム・グループ・メンバーシップ証明書を生成
350 そのプラットフォーム・ファミリーのメンバーを、そのメンバーにグループ・メンバーシップ証明書を発行する加入手順に従事し、メンバー秘密鍵を形成することによって認定
352 図7で、図5の処理ブロック350の認定方法
354 図7で、TPMがそのDAAシードからfを導出し、F=gfを計算
356 図7で、TPMがFを発行者に送り、発行者に対してloggFを知っていることを証明
358 図7で、発行者がTPMによる知識の証明を検証
360 図7で、発行者が乱数rを選び、a=gr、b=ayおよびc=axFrxyを計算
362 図7で、発行者が(a,b,c)を、プラットフォームのグループ・メンバーシップ証明書としてホストに返送
364 図7で、ホストが(a,b,c)を記憶し、(a,b,c)をTPMに転送
400 図8で、プラットフォーム・グループのメンバー・デバイスによる秘密署名鍵を計算する方法
410 図8で、TPMがベースBを選び、K=Bfを計算
420 図8で、TPMが乱数rおよびr′を選び、それらをホストに送る
430 図8で、ホストがa′=ar′,b′=br′,c′=cr′r,vx=e(X,a′),vxy=e(X,b′)およびvs=e(g,c′)を計算
440 図8で、ホストが(a′,b′,c′,vx,vxy,vs)をTPMに送り返す
450 図8で、TPMが、 (ri,f)を知っていることの証明を、vs ri=vxvxy fおよびK=Bfというように計算。知識の署名をΣで表すことにする
460 図8で、TPMが署名を(a′,b′,c′,B,K,Σ)と設定
500 図9で、グループ公開鍵に関する有効性のための署名を検査する方法
510 図9で、検証者がvx=e(X,a′),vxy=e(X,b′),vs=e(g,c′)を計算
520 図9で、検証者がΣの正しさを検証
522 図9で、検証失敗
530 図9で、検証者がe(a′,Y)=e(g,b′)かどうかを検査
532 図9で、検証失敗
540 図9で、検証者が不正リスト内の各fiについてK≠Bfiを確認
542 図10で、メンバー・デバイスの秘密署名鍵が失効されていない秘密署名鍵であることを保証する方法
544 図10で、不正鍵リスト受信?
546 図10で、不正鍵リストから失効させられた署名鍵を選択
548 図10で、K≠Bfi
552 図10で、その署名を拒否
550 図10で、失効鍵リストの各鍵が処理済み?

Claims (25)

  1. 検証者プラットフォームによって実行される、楕円曲線計算を使った匿名認証のための方法であって:
    匿名ハードウェア・デバイスが信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの検証を、要求手段によって、匿名ハードウェア・デバイスに要求する段階と;
    前記信頼されるメンバーシップ・グループからの公開された暗号情報に基づいて、前記匿名ハードウェア・デバイスからの受信された検証情報を、認証手段によって認証する段階と;
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第一の検証を、検証手段によって、前記匿名ハードウェア・デバイスの秘密署名鍵の秘密メンバー鍵コンポーネントに基づいて行う段階と;
    複数の失効させられたメンバー鍵を指定する不正鍵リストを受信する段階と;
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第二の検証を、前記検証手段によって、失効させられたメンバー鍵の前記不正リストに基づいて行う段階であって、前記第二の検証は、前記匿名ハードウェア・デバイスの秘密署名鍵の前記秘密メンバー鍵コンポーネントが、前記不正鍵リスト中の各鍵の処理を通じて前記不正鍵リスト中の前記複数の失効させられたメンバー鍵のいずれかと一致するかどうかの判定を含む、段階とを有し、
    前記第一の検証および前記第二の検証は、秘密メンバー鍵や前記匿名ハードウェア・デバイスのいかなる一意的なデバイス識別情報も判別することなく、信頼されるメンバー・デバイスが前記検証者プラットフォームに対して匿名のままであることを可能にするように実行される
    方法。
  2. 請求項1記載の楕円曲線計算を使った匿名認証のための方法であって、前記検証を要求する段階がさらに:
    前記匿名ハードウェア・デバイスが前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの検証を要求するメッセージを、前記匿名ハードウェア・デバイスに発する段階と;
    前記匿名ハードウェア・デバイスからグループ・デジタル署名を受信する段階とを有しており、前記グループ・デジタル署名は、前記発されたメッセージに署名するために該匿名ハードウェア・デバイスの前記秘密署名鍵を使って前記匿名ハードウェア・デバイスによって生成されており、前記秘密署名鍵は前記秘密メンバー鍵および前記匿名ハードウェア・デバイスのグループ・メンバーシップ証明書を含む、
    方法。
  3. 請求項1記載の楕円曲線計算を使った匿名認証のための方法であって、前記受信された検証情報を認証する段階がさらに:
    前記信頼されるメンバーシップ・グループのグループ公開鍵を同定する段階と;
    前記信頼されるメンバーシップ・グループの前記グループ公開鍵に基づいて受信されたグループ・デジタル署名を認証する段階とを有しており、前記グループ・デジタル署名は、前記匿名ハードウェア・デバイスに発されるメッセージに署名するために該匿名ハードウェア・デバイスの前記秘密署名鍵を使って前記匿名ハードウェア・デバイスによって生成されており、前記秘密署名鍵は前記秘密メンバー鍵および前記匿名ハードウェア・デバイスのグループ・メンバーシップ証明書を含む、
    方法。
  4. 請求項1記載の楕円曲線計算を使った匿名認証のための方法であって、さらに:
    前記匿名ハードウェア・デバイスの前記秘密署名鍵の前記秘密メンバー鍵コンポーネントが、失効させられたメンバー鍵の前記不正リストからのある失効させられた秘密メンバー鍵に一致する場合、前記匿名ハードウェア・デバイスの認証を拒否手段によって拒否する段階を有する、
    方法。
  5. 請求項4記載の楕円曲線計算を使った匿名認証のための方法であって、前記認証を拒否する段階がさらに:
    前記匿名ハードウェア・デバイスのグループ・デジタル署名が、失効させられたメンバー鍵コンポーネントを有する秘密署名鍵を用いて生成されたものかどうかを判定する段階と;
    前記グループ・デジタル署名が失効させられたメンバー鍵を用いて生成されたものである場合、前記匿名ハードウェア・デバイスを信頼されないハードウェア・デバイスとして識別する段階とを有する、
    方法。
  6. 請求項4記載の楕円曲線計算を使った匿名認証のための方法であって、前記認証を拒否する段階がさらに:
    (a)前記不正リストから失効させられたメンバー鍵を選択する段階と;
    (b)K≠Bfiであれば前記匿名ハードウェア・デバイスのグループ・デジタル署名の仮名すなわち暗号パラメータKが前記の選択された失効させられたメンバー鍵を用いて生成されたものではないと検証し、ここで、fiは前記の選択された失効させられたメンバー鍵、Bは前記匿名ハードウェア・デバイスのグループ・デジタル署名の暗号パラメータ、iはnを1より大きな整数として1からnまでの整数、Kは前記匿名ハードウェア・デバイスの秘密メンバー鍵をfとしてK=Bfの形である、段階と;
    (c)前記不正リスト中にリストされている失効させられた各メンバー鍵fiについて(a)〜(b)を反復する段階と;
    (d)前記グループ・デジタル署名が前記不正リストからの失効させられたメンバー鍵を用いて生成されたものである場合、前記匿名ハードウェア・デバイスを信頼されないハードウェア・デバイスとして識別する段階とを有する、
    方法。
  7. 発行者プラットフォームによって実行される、楕円曲線計算を使った匿名認証のための方法であって:
    前記発行者プラットフォームによって定義される信頼されるメンバーシップ・グループのためのグループ公開鍵/秘密鍵ペアを生成手段によって生成する段階と;
    匿名ハードウェア・デバイスが秘密の署名鍵の秘密のメンバー鍵コンポーネントを生成したことを、前記発行者プラットフォームに前記匿名ハードウェア・デバイスの前記秘密のメンバー鍵を開示することなく、検証手段によって検証する段階と;
    前記匿名ハードウェア・デバイスに一意的なグループ・メンバーシップ証明書を割り当て手段によって割り当てて、前記匿名ハードウェア・デバイスを前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスにし、ここで、前記秘密署名鍵は前記匿名ハードウェア・デバイスの前記秘密メンバー鍵および前記グループ・メンバーシップ証明書を含む、段階と;
    前記グループ公開鍵を公開して、検証者が
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第一の検証を、前記匿名ハードウェア・デバイスの秘密署名鍵の秘密メンバー鍵コンポーネントに基づいて行う段階と;
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第二の検証を、受信手段によって前記検証者によって受信される失効させられたメンバー鍵の不正鍵リストに基づいて行う段階であって、前記第二の検証は、前記匿名ハードウェア・デバイスの秘密署名鍵の前記秘密メンバー鍵コンポーネントが、前記不正鍵リスト中の各鍵の処理を通じて前記不正鍵リスト中の前記複数の失効させられたメンバー鍵のいずれかと一致するものとして暗号的に消去されることの判定を含む、段階とを実行できるようにし、
    前記第一の検証および前記第二の検証は、秘密メンバー鍵や前記匿名ハードウェア・デバイスのいかなる一意的なデバイス識別情報も前記検証者が判別することなく、信頼されるメンバー・デバイスが前記検証者に対して匿名のままであることを可能にするように前記検証者によって実行される、
    方法。
  8. 請求項7記載の楕円曲線計算を使った匿名認証のための方法であって、前記発行者プラットフォームが、前記信頼されるハードウェア・デバイスの認定役の製造者のプラットフォームである、方法。
  9. 請求項7記載の楕円曲線計算を使った匿名認証のための方法であって、前記検証する段階がさらに:
    fを前記秘密メンバー鍵、gを前記グループ公開鍵の暗号パラメータとして、F=gfの形の仮名Fを受信する段階と;
    前記秘密メンバー鍵が前記匿名ハードウェア・デバイス内に記憶されていることを検証するために前記匿名ハードウェア・デバイスから証明を受信する段階とを有し、前記証明がloggFの形の知識の証明を含んでいる、
    方法。
  10. 請求項9記載の楕円曲線計算を使った匿名認証のための方法であって、さらに:
    前記発行者プラットフォームの選択手段がランダムな値rを選択する段階と;
    前記発行者プラットフォームの計算手段がa=gr、b=ayおよびc=axFrxyを計算する段階とを有し、(x,y)が前記発行者プラットフォームの前記秘密鍵であり、(a,b,c)が前記グループ・メンバーシップ証明書である、
    方法。
  11. 請求項7記載の楕円曲線計算を使った匿名認証のための方法であって、前記グループ・メンバーシップ証明書を割り当てる段階が:
    前記発行者プラットフォームの送信手段が、(a,b,c)を前記グループ・メンバーシップ証明書として前記信頼されるメンバー・デバイスのホストに送信して、前記ホストが前記グループ・メンバーシップ証明書(a,b,c)を前記信頼されるメンバー・デバイスに転送できるようにする段階であって、ここで、a=gr、b=ayおよびc=axFrxyであり、(x,y)は前記発行者プラットフォームの前記秘密鍵であり、Fは、fを前記秘密メンバー鍵、gを前記グループ公開鍵の暗号パラメータとして、F=gfの形の仮名であ
    (f,a,b,c)が前記信頼されるメンバー・デバイスの秘密の署名鍵である、
    方法。
  12. 匿名ハードウェア・デバイスによって実行される、楕円曲線計算を使った匿名認証のための方法であって:
    前記匿名ハードウェア・デバイスの署名手段が、検証者から受信されたメッセージに、前記匿名ハードウェア・デバイスの秘密署名鍵を使って署名する段階と;
    デジタル署名された、前記匿名ハードウェア・デバイスのグループ・デジタル署名を含むメッセージを送信手段によって前記検証者に送信し、前記検証者が、前記匿名ハードウェア・デバイスが信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることを検証するために、前記グループ・デジタル署名を認証することを:
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第一の検証を、前記匿名ハードウェア・デバイスの秘密署名鍵の秘密メンバー鍵コンポーネントに基づいて行う段階;および
    前記匿名ハードウェア・デバイスがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第二の検証を、受信手段によって前記検証者によって受信される失効させられたメンバー鍵の不正鍵リストに基づいて行う段階であって、前記第二の検証は、前記匿名ハードウェア・デバイスの秘密署名鍵の前記秘密メンバー鍵コンポーネントが、前記不正鍵リスト中の各鍵の処理を通じて前記不正鍵リスト中の前記複数の失効させられたメンバー鍵のいずれかと一致するものとして暗号的に消去されることの判定を含む、段階を実行することによって実行できるようにする段階とを有し、
    前記第一の検証および前記第二の検証は、秘密メンバー鍵や前記匿名ハードウェア・デバイスのいかなる一意的なデバイス識別情報も前記検証者が判別することなく、信頼されるメンバー・デバイスが前記検証者に対して匿名のままであることを可能にするように前記検証者によって実行される、方法。
  13. 請求項12記載の楕円曲線計算を使った匿名認証のための方法であって、署名する段階に先立ち、さらに:
    前記匿名ハードウェア・デバイスの前記秘密署名鍵コンポーネントが、失効させられたメンバー鍵の不正リストからの失効させられたメンバー鍵に一致する場合、検証の否定(denial)を受信手段によって受信する段階を有する、
    方法。
  14. 請求項12記載の楕円曲線計算を使った匿名認証のための方法であって、署名する段階に先立ち、さらに:
    認証シード(attestation seed)に基づいてランダムな秘密の値fを導出手段によって導出する段階と;
    gを信頼されるメンバーシップ・グループのグループ公開鍵の暗号パラメータとして、F=gfの形の値Fを計算手段によって計算する段階と;
    前記信頼されるメンバーシップ・グループに加わる要求として、前記信頼されるメンバーシップ・グループの発行者に、値Fを、送る手段によって送る段階と;
    秘密メンバー鍵が前記匿名ハードウェア・デバイス内に記憶されていることを検証するために前記発行者に証明を、送る手段によって送り、ここで、前記証明がloggFの形の知識の証明を含んでいる、段階と;
    前記発行者が前記知識の証明の正しさを検証した場合、グループ・メンバーシップ証明書(a,b,c)を受信手段によって受信する段階とを有しており、前記ランダムな秘密の値fは前記信頼されるメンバー・デバイスの秘密署名鍵(f,a,b,c)の秘密メンバー鍵コンポーネントであり、該値fは前記グループ公開鍵に基づいて検証され、前記信頼されるメンバー・デバイスがいかなる検証者に対しても匿名のままであることが可能にされる、
    方法。
  15. 請求項12記載の楕円曲線計算を使った匿名認証のための方法であって、署名する段階がさらに:
    前記匿名のハードウェア・デバイスの信頼プラットフォーム・モジュール(TPM)がベース値Bを選択する段階と;
    前記TPMが、fを前記匿名ハードウェア・デバイスの前記秘密メンバー鍵として、K=Bfの形の仮名Kを計算する段階と;
    前記TPMが、前記匿名ハードウェア・デバイスのホストに二つの乱数rおよびr′を送り、それにより前記ホストが、a、bおよびcを前記信頼されるメンバーシップ・グループのグループ・メンバーシップ証明書の暗号パラメータとして、a′=ar′、b′=br′およびc′=cr′rを計算し、XおよびYを前記信頼されるメンバーシップ・グループのグループ公開鍵の暗号パラメータとして、vx=e(X,a′)、vxy=e(X,b′)およびvs=e(g,c′)を計算できるようにする段階とを有しており、ここで、qは素数、GおよびGTは位数qの群として、e:G×G→GTは効率的に計算可能な双線形マップ関数であり、gは群Gの生成元、gTは群GTの生成元である、
    方法。
  16. 請求項15記載の楕円曲線計算を使った匿名認証のための方法であって、さらに:
    前記ホストから(a′,b′,c′,vx,vxy,vs)を受信手段によって受信する段階と;
    前記TPMが、riを法qのもとでのrの逆数として、riおよびfを明かすことなく(ri,f)を知っていることの零知識証明をvs ri=vxvxy fおよびK=Bfとなるように計算する段階と;
    知っていることの前記例知識証明をΣで示すとして、(a′,b′,c′,B,K,Σ)を前記匿名ハードウェア・デバイスのデジタル署名として前記検証者に、送る手段によって送る段階とを有し、
    方法。
  17. 装置であって、
    発行者によって当該装置に割り当てられた秘密署名鍵を記憶するフラッシュ・メモリと;
    信頼プラットフォーム・モジュール(TPM)とを有しており、前記信頼プラットフォーム・モジュールは、検証者から受信したメッセージに前記秘密署名鍵を使って署名し、デジタル署名された、当該装置のグループ・デジタル署名を含むメッセージを前記検証者に送信することにより、前記検証者当該装置が信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることを検証するために前記グループ・デジタル署名を認証することを、当該装置が前記デジタル署名されたメッセージを送信するのに応答して:
    当該装置がまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第一の検証を、当該装置の秘密署名鍵の秘密メンバー鍵コンポーネントに基づいて検証手段によって行う段階;および
    当該装置がまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第二の検証を、前記検証者によって受信される失効させられたメンバー鍵の不正鍵リストに基づいて前記検証手段によって行う段階であって、前記第二の検証は、当該の秘密署名鍵の前記秘密メンバー鍵コンポーネントが、前記不正鍵リスト中の各鍵の処理を通じて前記不正鍵リスト中の前記複数の失効させられたメンバー鍵のいずれかと一致するものとして暗号的に消去されることの判定を含む、段階を実行することによって実行できるようにし、
    前記第一の検証および前記第二の検証は、前記検証者が秘密メンバー鍵や当該装置のいかなる一意的なデバイス識別情報も前記検証者が判別することなく、信頼されるメンバー・デバイスが前記検証者に対して匿名のままであることを可能にするように前記検証者によって実行される、
    装置。
  18. 前記TPMを含む集積回路を有する身分証明カードである、請求項17記載の装置。
  19. 前記身分証明カードが都道府県の運転免許証であり、前記発行者が州の都道府県の公安委員会である、請求項18記載の装置。
  20. ネットワークに結合された検証者プラットフォームと;
    前記ネットワークに結合された匿名証明者プラットフォームとを有するシステムであって、前記匿名証明者プラットフォームは:
    バスと、
    前記バスに結合されたプロセッサと、
    前記バスに結合された、信頼プラットフォーム・モジュールを含むチップセットとを有しており、前記信頼プラットフォーム・モジュールは、前記検証者プラットフォームから受信したメッセージに前記証明者プラットフォームの秘密署名鍵を使って署名し、デジタル署名された、前記証明者プラットフォームのグループ・デジタル署名を含むメッセージを前記検証者プラットフォームに送信し、前記検証者プラットフォームが、前記匿名証明者プラットフォームが信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることを検証するために、前記グループ・デジタル署名を認証できるようにし、
    前記検証者プラットフォームは、前記証明者プラットフォームがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第一の検証を、前記証明者プラットフォームの秘密署名鍵の秘密メンバー鍵コンポーネントに基づいて検証手段によって行うよう構成されており;
    前記検証者プラットフォームは、前記証明者プラットフォームがまだ前記信頼されるメンバーシップ・グループの信頼されるメンバー・デバイスであることの第二の検証を、前記検証者プラットフォームによって受信される失効させられたメンバー鍵の不正鍵リストに基づいて前記検証手段によって行うよう構成されており、前記第二の検証は、前記証明者プラットフォームの秘密署名鍵の前記秘密メンバー鍵コンポーネントが、前記不正鍵リスト中の各鍵の処理を通じて前記不正鍵リスト中の前記複数の失効させられたメンバー鍵のいずれかと一致するものとして暗号的に消去されることの判定を含み、
    前記第一の検証および前記第二の検証は、秘密メンバー鍵や前記証明者プラットフォームのいかなる一意的なデバイス識別情報も前記検証者プラットフォームが判別することなく、信頼されるメンバー・デバイスが前記検証者プラットフォームに対して匿名のままであることを可能にするように実行される、
    システム。
  21. 前記検証者プラットフォームが:
    前記証明者プラットフォームの前記グループ・デジタル署名が失効させられたメンバー鍵を用いて生成されたものかどうかを判定し、前記グループ・デジタル署名が失効させられたメンバー鍵を用いて生成されたものである場合、前記証明者プラットフォームを信頼されないハードウェア・デバイスとして識別する認証論理を有する、
    請求項20記載のシステム。
  22. 秘密メンバー鍵や前記匿名証明者プラットフォームのいかなる一意的なデバイス識別情報も開示することなく、信頼されるメンバー・デバイスが前記検証者プラットフォームに対して匿名のままであることを可能にするように、前記証明者プラットフォームの前記秘密メンバー鍵が、失効させられたメンバー鍵の不正リストからのいかなる失効させられた秘密メンバー鍵にも一致しない場合、前記証明者プラットフォームが前記検証者プラットフォームから失効の否定(denial)を受信する、請求項20記載のシステム。
  23. 前記証明者プラットフォームが:
    所定のシード値に基づいて秘密のメンバー鍵fを生成する鍵論理と;
    前記証明者プラットフォームのグループ・メンバーシップ証明書(a,b,c)を受け取るために暗号パラメータを計算する加入論理とを有しており、前記証明者プラットフォームの前記秘密署名鍵(f,a,b,c)は前記秘密のメンバー鍵fおよび前記証明者プラットフォームの前記グループ・メンバーシップ証明書の暗号パラメータ(a,b,c)を含む、
    請求項20記載のシステム。
  24. 前記チップセットがグラフィック・コントローラを有する、請求項20記載のシステム。
  25. 前記ネットワークが広域ネットワークを含む、請求項20記載のシステム。
JP2008179668A 2007-07-17 2008-07-10 双線形マップからの直接匿名認証のための装置および方法 Expired - Fee Related JP4851497B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/778,804 2007-07-17
US11/778,804 US8078876B2 (en) 2007-04-30 2007-07-17 Apparatus and method for direct anonymous attestation from bilinear maps

Publications (2)

Publication Number Publication Date
JP2009027708A JP2009027708A (ja) 2009-02-05
JP4851497B2 true JP4851497B2 (ja) 2012-01-11

Family

ID=40403935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008179668A Expired - Fee Related JP4851497B2 (ja) 2007-07-17 2008-07-10 双線形マップからの直接匿名認証のための装置および方法

Country Status (2)

Country Link
JP (1) JP4851497B2 (ja)
KR (1) KR101004829B1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4971917B2 (ja) * 2007-09-11 2012-07-11 日本放送協会 署名生成装置、署名検証装置、グループ管理装置、およびそれらのプログラム
JP2011114504A (ja) * 2009-11-26 2011-06-09 Okayama Univ 匿名認証システム
KR20120039133A (ko) 2010-10-15 2012-04-25 삼성전자주식회사 인증정보를 생성하고 인증정보를 증명하는 장치 및 방법
KR101136119B1 (ko) 2010-11-23 2012-04-17 순천향대학교 산학협력단 Abm 기반 그룹키 관리 방법
CN103312670A (zh) * 2012-03-12 2013-09-18 西安西电捷通无线网络通信股份有限公司 一种认证方法及系统
CN103312499B (zh) 2012-03-12 2018-07-03 西安西电捷通无线网络通信股份有限公司 一种身份认证方法及系统
JP2020068437A (ja) * 2018-10-23 2020-04-30 株式会社アメニディ アクセス管理装置、及びプログラム
IL275954A (en) * 2020-07-09 2022-02-01 Google Llc Anonymous event confirmation with group signatures
IL275947A (en) 2020-07-09 2022-02-01 Google Llc Anonymous Event Confirmation

Also Published As

Publication number Publication date
JP2009027708A (ja) 2009-02-05
KR101004829B1 (ko) 2010-12-28
KR20090008162A (ko) 2009-01-21

Similar Documents

Publication Publication Date Title
US8078876B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
US8356181B2 (en) Apparatus and method for a direct anonymous attestation scheme from short-group signatures
US7844614B2 (en) Apparatus and method for enhanced revocation of direct proof and direct anonymous attestation
US7490070B2 (en) Apparatus and method for proving the denial of a direct proof signature
US20230231715A1 (en) Methods for secure cryptogram generation
US8924728B2 (en) Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US20080307223A1 (en) Apparatus and method for issuer based revocation of direct proof and direct anonymous attestation
JP4851497B2 (ja) 双線形マップからの直接匿名認証のための装置および方法
US20100169650A1 (en) Storage minimization technique for direct anonymous attestation keys
JP4635009B2 (ja) 通信における証明された秘密値の使用
US8595505B2 (en) Apparatus and method for direct anonymous attestation from bilinear maps
JP4741503B2 (ja) 公開鍵を検証可能に生成する方法及び装置
US9832018B2 (en) Method of generating a public key for an electronic device and electronic device
US20080104402A1 (en) Countermeasure against fault-based attack on RSA signature verification
US7313697B2 (en) Method for authentication
CN101359986A (zh) 用于根据双线性映射的直接匿名证明的装置和方法
CN116707983A (zh) 授权认证方法及装置、接入认证方法及装置、设备、介质
WO2011152084A1 (ja) 効率的相互認証方法、プログラム、及び装置
CN116432167A (zh) 设备认证方法、装置、设备及存储介质
CN116188007A (zh) 一种身份验证方法及系统

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110805

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110810

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110908

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: 20111004

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: 20111020

R150 Certificate of patent or registration of utility model

Ref document number: 4851497

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: 20141028

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

LAPS Cancellation because of no payment of annual fees