IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オランジュの特許一覧

特表2024-535027認証及び非失効の検証のための方法及び機器
<>
  • 特表-認証及び非失効の検証のための方法及び機器 図1
  • 特表-認証及び非失効の検証のための方法及び機器 図2
  • 特表-認証及び非失効の検証のための方法及び機器 図3
  • 特表-認証及び非失効の検証のための方法及び機器 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-26
(54)【発明の名称】認証及び非失効の検証のための方法及び機器
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240918BHJP
【FI】
H04L9/32 200C
H04L9/32 200F
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024516500
(86)(22)【出願日】2022-09-09
(85)【翻訳文提出日】2024-05-13
(86)【国際出願番号】 FR2022051705
(87)【国際公開番号】W WO2023041863
(87)【国際公開日】2023-03-23
(31)【優先権主張番号】2109677
(32)【優先日】2021-09-15
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】591034154
【氏名又は名称】オランジュ
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】オリヴィエ・サンデ
(57)【要約】
失効リスト(LR)は、失効したエンティティにより生成された署名から抽出された少なくとも1つのペア(hi,k)を含み、hiは数学群(G1)の元であり、k=hixiであり、xiは前記失効したエンティティのシークレットである。第一のエンティティ(100)は、第二のエンティティ(200)に対し、それによってそれ自体を認証することを目的として、この認証のために前記第一のエンティティ(100)が生成した署名(SIG)、文字列(STR)、失効リスト(LR)の各ペア(hi,k)のための群(G1)の元(Ci)、及び前記失効リスト(LR)のペアの各々のための前記群の元(Ci)を取得するためにこの第一のエンティティ(100)のシークレット(X100)と文字列を前記第一のエンティティ(100)が使用したとのゼロ知識証明(P)を送信する(E60)。第二のエンティティは、前記ゼロ知識証明(P)が無効である場合、又は少なくとも1つの前記ペア(hi,k)について、群の元(Ci)がCi=hiでありAは既知の値である場合に、前記第一のエンティティ(100)を拒絶する(F70)。
【特許請求の範囲】
【請求項1】
第一のエンティティ(100)の認証機器(10)により、前記第一のエンティティ(100)を第二のエンティティ(200)に認証するために実行される認証方法であって、
前記第一のエンティティ(100)を前記第二のエンティティ(200)に認証するために署名(SIG)を生成するステップ(E10)であって、前記署名(SIG)はペア(h,hX100)を含み、X100は前記第一のエンティティ(100)に特有のシークレットであり、hは数学群(Gi)の元であるステップ(E10)と、
失効リスト(LR)に含まれるペア(h,k)の各インデックスiであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群(G1)の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである、各インデックスiについて、
(i)前記インデックスiから、及び前記認証に特有の文字列(STR)から値aを決定論的に取得するステップ(E30)と、
(ii)前記数学群(G1)の元Cを式
【数1】
(ここで、
及びkは前記失効リスト(LR)内の前記インデックスiのペアの要素であり、
Aは既知の値であり、
は前記決定論的に得られた値であり、
X100は前記第一のエンティティ(100)の前記シークレットである)
を使って取得するステップ(E40)と、
前記失効リスト(LR)内の前記ペアの各々について、前記群の元Cを得るために前記シークレットX100及び前記文字列(STR)を前記機器(10)が使用したとのゼロ知識証明(P)を生成するステップ(E50)と、
前記第二のエンティティ(200)に対し、
前記署名(SIG)、
前記文字列(STR)、
前記ゼロ知識証明(P)、及び
前記失効リスト(LR)内の各ペアについての前記元C
を送信するステップ(E60)と、
を含む方法。
【請求項2】
前記数学群が位数pの巡回群であり、pは素数である、請求項1に記載の認証方法。
【請求項3】
前記文字列(STR)が前記署名(SIG)の少なくとも一部である、請求項1又は2に記載の認証方法。
【請求項4】
前記値aがa=H(STR││i)により得られ、Hはパブリックハッシュ関数である、請求項1~3の何れか1項に記載の認証方法。
【請求項5】
第一のエンティティ(100)の認証中に第二のエンティティ(200)の非失効検証機器(20)により実行される非失効検証方法であって、
前記認証のために前記第一のエンティティ(100)により生成された署名(SIG)、
文字列(STR)、
失効リスト(LR)に含まれる各ペア(h,k)について同一の、数学群(G1)の元(C)であって、前記ペア(h,k)が、失効したエンティティにより生成された署名から抽出されており、hは前記群(G1)の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである、元(C)、及び、
前記失効リスト(LR)に含まれる前記ペアの各々について前記群の元(C)を得るためにこの第一のエンティティ(100)のシークレット(X100)と前記文字列(STR)とを前記第一のエンティティ(100)が使用したとのゼロ知識証明(P)
を受け取るステップ(F60)と、
前記ゼロ知識証明(P)が有効でない場合、又は少なくとも1つの前記ペア(h,k)について、前記群の元(C)がC=h であり、ここでAは既知の値である場合に、失効を根拠として前記第一のエンティティ(100)を拒絶するステップ(F70)と、
を含む非失効検証方法。
【請求項6】
コンピュータプログラム(PGA)であって、前記プログラムがコンピュータにより実行されたときに請求項1~4の何れか1項に記載の認証方法のステップを実行する命令を含むコンピュータプログラム(PGA)。
【請求項7】
コンピュータプログラム(PGV)であって、前記プログラムがコンピュータにより実行されたときに請求項5に記載の非失効検証方法のステップを実行する命令を含むコンピュータプログラム(PGV)。
【請求項8】
第一のエンティティ(100)の認証機器(10)であって、前記機器は、前記第一のエンティティ(100)を第二のエンティティ(200)に認証するように構成され、前記機器(10)が、
前記第一のエンティティ(100)を前記第二のエンティティ(200)に認証するために署名(SIG)を生成するためのモジュール(MGS)であって、前記署名(SIG)はペア(h,hX100)を含み、ここでX100は前記第一のエンティティ(100)に特有のシークレットであり、hは数学群(G1)の元である、モジュール(MGS)と、
失効リスト(LR)に含まれるペア(h,k)の各インデックスiであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群(G1)の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである、各インデックスiについて、
(i)前記インデックスiから、及び前記認証に特有の文字列(STR)から値aを決定論的に取得し、
(ii)前記数学群(G1)の元Cを式
【数2】
(ここで、
及びkは前記失効リスト(LR)内のインデックスiの前記ペアの要素であり、
Aは既知の値であり、
は前記決定論的に得られた値であり、
X100は前記エンティティ100の前記シークレットである)
を使って取得する
ように構成された暗号化モジュール(CRY)と、
前記失効リスト(LR)内の前記ペアの各々について前記群の元(C)を得るために前記シークレットX100及び前記文字列(STR)を前記認証機器(10)が使用したとのゼロ知識証明(P)を生成するためのモジュール(MGP)と、
前記第二のエンティティ(200)に対し、
前記署名(SIG)、
前記文字列(STR)、
前記ゼロ知識証明(P)、及び
前記失効リスト(LR)内の各ペアについての前記元C
を送信するためのモジュール(COM1)と、
を含む認証機器(10)。
【請求項9】
非失効検証機器(20)であって、前記機器が、第二のエンティティ(200)への第一のエンティティ(100)の認証中に、この第一のエンティティが拒絶されるべきか否かを検証するように構成され、前記機器が、
この認証のために前記第一のエンティティ(100)により生成された署名(SIG)、
文字列(STR)、
失効リスト(LR)内の各ペア(h,k)について同一の、数学群(G1)の元(C)であって、前記ペア(h,k)が失効したエンティティにより生成された署名から抽出されており、hは前記群(G1)の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである元(C)、及び、
前記失効リスト(LR)内の前記ペアの各々について前記群の元(C)を得るためにこの第一のエンティティ(100)のシークレット(X100)と前記文字列(STR)とを前記第一のエンティティ(100)が使用したとのゼロ知識証明(P)
を受け取るためのモジュール(COM2)と、
前記ゼロ知識証明(P)が有効でない場合、又は少なくとも1つの前記ペア(h,k)について、前記群の元(C)がC=h 、であり、ここでAは既知の値である場合に、失効を根拠として前記第一のエンティティ(100)を拒絶するためのモジュール(MR)と、
を含む非失効検証機器(20)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルデータ保護及び暗号化の一般的分野に関する。
【背景技術】
【0002】
本発明は、より詳しくは、認証メカニズムに関する。
【0003】
これらの認証メカニズム、特にデジタル署名又は証明書に基づく認証メカニズムは、今日、非常に広く普及している。
【0004】
デジタル署名の使用により、特定の数の問題、特にそれによって署名者の追跡が可能となる、及びそれによって署名者に関して過多な情報が開示される可能性があるという問題が生じる。
【0005】
実際、デジタル署名が証明済みデータセットに関係する場合、その真正性を確認できるようにするために、その証明済みデータセットを開示しなければならない。
【0006】
こうしたことが、認証時に開示される要素をできるだけ少なくすることを目的とした認証技術の開発につながった。これらの技術は広く採用されており、匿名デジタル署名と呼ばれる。
【0007】
しかしながら、これらの匿名認証システムには、エンティティの失効に関する問題がある。
【0008】
この問題に対処するために、EPID(Enhanced Privacy ID)と呼ばれる認証メカニズムが確立された(例えば、(非特許文献1)を参照のこと)。このメカニズムでは、
- エンティティは、その署名キーのうちの1つが失効したときに失効しているとされ、これは、このキーを用いて生成された署名のうちの1つを失効リストに載せることによって行われる。
- 署名を行ったエンティティは、この署名が失効したキーを用いて、すなわち、失効リストに記録された署名のキーを用いて生成されたものではないという証拠を提供し、それゆえ、自分自身を認証するエンティティは権限が失効した者ではないことを証明しなければならない。
【0009】
本発明は、より詳しくは、署名がペア(h,h)を含み、hは数学群の元であり、xは署名エンティティのシークレットであり、このペアが失効リストに書き込まれるということに関する。このペアを以下、(h,k=h xi)と記述する。
【0010】
署名を生成するために使用されたシークレットxが、失効リスト内の署名(h,k=h xi)を生成するために使用されたシークレットxiとは異なるとの証拠を報告するための、これまでに知られている最も有効な手法では、数学群の3つの元を、その証拠を確認するエンティティに送信する必要があり、これは例えば、約894ビットである。
【0011】
実際には、失効リストには非常に大きい数N個のペア(h,k=h xi)、典型的には数万個が含まれ得る。
【0012】
署名するエンティティが失効していないことを証明するために3.Nの群の元(すなわち894.Nビット)を通信しなければならないことは、Nが増大すると顕著な欠点となり得る。
【先行技術文献】
【非特許文献】
【0013】
【非特許文献1】“Enhanced privacy ID:a direct anonymous attestation scheme with enhanced revocation capabilities”
【発明の概要】
【課題を解決するための手段】
【0014】
本発明は、特に、この欠点を生じない認証方法を目的とする。
【0015】
第一の態様によれば、本発明は、第一のエンティティの認証機器により、この第一のエンティティを第二のエンティティに認証するために実行される認証方法に関する。この方法は、
- 第一のエンティティを第二のエンティティに認証するために署名を生成するステップであって、前記署名はペア(h,hX100)を含み、X100は第一のエンティティに特有のシークレットであり、hは数学群の元であるステップと、
- 失効リスト(LR)に含まれるペア(h,k)の各インデックスiであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである、各インデックスiについて、
(i)前記インデックスiから、及び前記認証に特有の文字列から値aを決定論的に取得するステップと、
(ii)数学群の元を式
【数1】
(ここで、
- h及びkは失効リスト内のインデックスiのペアの要素であり、
- Aは既知の値であり、
- aは前記決定論的に得られた値であり、
- X100は第一のエンティティのシークレットである)
を使って取得するステップと、
- 失効リスト内のペアの各々について、前記群の元Cを得るためにシークレットX100及び前記文字列を前記認証機器が使用したとのゼロ知識証明を生成するステップと、
- 第二のエンティティに対し、
- 前記署名、
- 前記文字列、
- 前記ゼロ知識証明、及び
- 失効リスト内の各ペア(h,k)に関する前記元C
を送信するステップと、
を含む。
【0016】
これに関して、本発明は、第一のエンティティの認証機器に関し、前記機器は、この第一のエンティティを第二のエンティティに認証するように構成され、この機器は、
- 第一のエンティティを第二のエンティティに認証するために署名を生成するためのモジュールであって、前記署名はペア(h,hX100)を含み、ここでX100は第一のエンティティに特有のシークレットであり、hは数学群の元である、モジュールと、
- 失効リストに含まれるペア(h,k)の各インデックスiであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群の元であり、k=h xiであり、xは前記署名を生成したエンティティに特有のシークレットである、各インデックスiについて、
(i)前記インデックスiから、及び前記文字列から、値aを決定論的に取得し、
(ii)数学群(G1)の元Cを式
【数2】
(ここで、
- h及びkは失効リスト内のインデックスiのペアの要素であり、
- Aは既知の値であり、
- aは前記決定論的に得られた値であり、
- X100はエンティティ100のシークレットである)
を使って取得する
ように構成された暗号化モジュールと、
- 前記失効リスト内のペアの各々について前記群の元Cを得るためにシークレット及び文字列を前記認証機器が使用したとのゼロ知識証明を生成するためのモジュールと、
- 第二のエンティティに対し、
- 前記署名、
- 前記文字列、
- 前記ゼロ知識証明、及び
- 失効リスト内の各ペア(h,k)についての前記元C
を送信するためのモジュールと、
を含む。
【0017】
第二の態様によれば、本発明は、第一のエンティティの認証中に第二のエンティティの非失効検証機器により実行される非失効検証方法に関し、前記方法は、
- この認証のために第一のエンティティにより生成された署名、
- 文字列、
- 失効リストに含まれる各ペア(h,k)について同一の、数学群の元Cであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである元C、及び、
- 失効リストに含まれるペアの各々について前記群の元を得るためにこの第一のエンティティのシークレットと前記文字列とを前記第一のエンティティが使用したとのゼロ知識証明
を受け取るステップと、
- 前記ゼロ知識証明が有効でない場合、又は少なくとも1つの前記ペア(h,k)について、群の元CがC=h であり、ここでAは既知の値である場合に、失効を根拠として前記第一のエンティティを拒絶するステップと、
を含む。
【0018】
これに関連して、本発明は、非失効検証機器に関し、この機器は、第二のエンティティへの第一のエンティティの認証中に、この第一のエンティティが失効を根拠として拒絶されるべきか否かを検証するように構成され、この機器は、
- この認証のために第一のエンティティにより生成された署名、
- 文字列、
- 失効リスト内の各ペア(h,k)について同一の、数学群の元Cであって、前記ペア(h,k)は失効したエンティティにより生成された署名から抽出されており、hは前記群の元であり、k=h xiであり、xは前記失効したエンティティに特有のシークレットである元C、及び、
- 失効リスト内のペアの各々について前記群の元を得るためにこの第一のエンティティのシークレットと前記文字列とを前記第一のエンティティが使用したとのゼロ知識証明
を受け取るためのモジュールと、
- 前記ゼロ知識証明が有効でない場合、又は少なくとも1つの前記ペア(h,k)について、群の元CがC=h であり、ここでAは既知の値である場合に、失効を根拠として前記第一のエンティティを拒絶するためのモジュールと、
を含む。
【0019】
一般に、本発明は、第二のエンティティに対する第一のエンティティの認証に関し、第一及び第二のエンティティの性質にはいかなる限定も課されない。
【0020】
例えば、
- 第一のエンティティはプロセッサであり、第二のエンティティはこのプロセッサの製造者のサーバである、
- 第一のエンティティはクライアント機器であり、第二のエンティティはサーバ機器である、
- 第一のエンティティは超小型回路カードであり、第二のエンティティはこのようなカードを読み取るリーダである、
- その他。
【0021】
導入部で述べたように、本発明は、自分自身を第二のエンティティに認証しようとする第一のエンティティが、この新規の認証のために、それに特有のシークレットを用いて署名を生成し、この第二のエンティティに対し、このシークレットが、失効リスト内に記録されたペアの抽出元である署名の生成に使用されたシークレットの何れとも異なるとの証明を提供するメカニズムを提案する。
【0022】
1つの特定の実施形態において、失効リストが第二のエンティティにより作成され、更新される。例えば、第二のエンティティが、それに対して署名を用いて自分自身を認証したエンティティが疑わしい挙動を示していると考える場合に、第二のエンティティはこの署名のペア(h,k)を失効リストに記録する。しかしながら、この実施形態は非限定的であり、失効リストは、第三者によっても、さらには複数の第三者によっても作成又は保持され得る。
【0023】
特筆すべき点として、Nが取消リスト内のペアの数を示すために使用される場合、非失効の証明自体は、
- 第一に、失効リスト内のペアの数に関係なく、文字列とゼロ知識証明、及び
- 第二に、失効リスト内の各ペアについての数学群の単一の元、Ci
を含むことに留意されたい。
【0024】
この結果は特に興味深く、それは、前述のように、最善の既知の手法では、非失効の証拠が失効リスト内の各ペアの数学群の3つの元を含むからである。
【0025】
提案される手法の中で送信される単一の群の元Ciの最大サイズは380ビットであり、それに対して既知の先行技術では、3つの巡回元は合わせて894ビットのサイズである。さらに詳しくは、当業者はhttps://electriccoin.co/blog/new-snark-curve/及びhttps://link.springer.com/chapter/10.007%2F978-3-540-45146-4_8,Section 5を参照し得る。
【0026】
本発明により提供される改良は、特に失効した署名の数が増加するときに非常に重要である。
【0027】
本発明の1つの特定の実施形態において、ゼロ知識証明は、Efficient Identification and Signatures for Smart Cards”,by Claus-Peter Schnorr,CRYPTO 1989に記載のシュノアプロトコルを使って生成される。
【0028】
シュノアプロトコルが使用される場合、ゼロ知識証明は2つのスカラのみ(整数モジュロp)を含み、その各々は256ビットである。したがって、これは、失効リスト内のペアの数Nに関係なく、512ビットのサイズを有する。
【0029】
さらに、Cの計算は特に有利である。実際、本発明によれば、
【数3】
であり、ここで、
- h及びkは失効リスト内のインデックスiのペアの要素であり、
- Aは既知の値、例えば1であり、
- aは決定論的に得られた値であり、
- X100は第一のエンティティのシークレットである。
【0030】
この式により、非失効の検証はきわめて簡単になる。
【0031】
実際、第一のエンティティの権限がすでに失効している場合、失効リストはペア(h,k)を含み、k=h X100である。
【0032】
そしてこの場合、C=h (例えば、A=1であればC=h)である。
【0033】
非失効検証機器はしたがって、単一の受け取った群の元Cに基づいて、この新たな認証について第一のエンティティが拒絶されるべきか否かを非常に容易に検出することができる。そのためには、ゼロ知識証明の有効性を検証して、元Cが正しく形成されたことを確認した後、受け取った値Cをh と比較するだけでよい。
【0034】
それに対して、第一のエンティティのシークレットX100が、そのペアが失効リストに保存されている署名の何れにおいても使用されていない場合、元Cは非失効検証機器にとって擬似ランダム値であるように見える。
【0035】
この特徴は、匿名性を保持する観点から非常に興味深く、なぜなら、元CがシークレットX100に関するいかなる情報も開示しないからである。
【0036】
前述の文字列は任意であり得る。唯一の制約は、それがこの新たな認証に特有であること、換言すれば、第一のエンティティの過去の認証のための非失効の証明を確立するために使用された他の文字列とは異なることである。
【0037】
実際には、認証機器は、文字列がエンティティの過去の認証のための失効の証明に使用されていないことを明示的には検証しない。しかしながら、文字列を取得するメカニズムは、このような衝突が統計的に起こりにくいものであり、文字列は例えば256ビットのランダムである。
【0038】
1つの実施形態において、文字列は署名の少なくとも一部である。この実施形態は特に有利であるが、なぜなら、それによって文字列自体を送信しなくてもよくなるからであり、これは非失効検証機器によって署名から直接推測可能である。
【0039】
1つの実施形態において、値aはa=H(STR││i)により得られ、Hはパブリックハッシュ関数である。
【0040】
1つの実施形態において、数学群は位数pの巡回群であり、pは素数である。本発明は特に、ただし限定されないが、署名が双線形群のために生成される場合に適用可能である。
【0041】
1つの特定の実施形態において、認証方法の各種のステップ及び非失効検証方法の各種のステップは、コンピュータプログラム命令によって決定されるか、ハードワイヤードプログラム不能論理回路の論理ゲートを形成するのに適したトランジスタを含むシリコンチップによって実装される。
【0042】
したがって、本発明は情報媒体上のコンピュータプログラムも目的とし、このプログラムは機器において、又はより一般的にはコンピュータにおいて実装でき、このプログラムは、前述の認証方法の、又は非失効検証方法のステップを実行するように設計された命令を含む。
【0043】
このプログラムは、何れのプログラム言語も使用し得、ソースコード、オブジェクトコード、若しくはソースコードとオブジェクトコードとの間の中間コードの形態、例えば部分的にコンパイルされた形態、又は他の何れの所望の形態でもあり得る。
【0044】
本発明はまた、前述のコンピュータプログラムの命令を含むコンピュータ可読情報媒体も目的とする。情報媒体は、プログラムを記憶する何れのエンティティ又は機器でもよい。例えば、媒体は記憶手段、例えばROM、フラッシュメモリ等の不揮発性メモリ、又は磁気記録手段、例えばハードディスクを含み得る。さらに、情報媒体は電気又は光信号等の伝送媒体でもあり得、これは電気若しくは光ケーブルを介して、無線によって、又はその他の手段によってルーティングされ得る。本発明によるプログラムは、特にインタネットを通じてダウンロードされ得る。代替案として、情報媒体は集積回路であり得、そこにプログラムが組み込まれ、この回路は、問題の方法を実行するために、又はその実行において使用されるように設計される。
【0045】
本発明の他の特徴と利点は、非限定的にその例示的実施形態を図示する添付の図面に関して以下に示される説明から明らかとなるであろう。
【図面の簡単な説明】
【0046】
図1】本発明の1つの特定の実施形態による認証機器及び非失効検証機器を示す。
図2】本発明の1つの特定の実施形態による認証方法の主要ステップ及び非失効検証方法の主要ステップをフローチャートの形態で示す。
図3】本発明の1つの特定の実施態様による認証機器の機能的アーキテクチャを示す。
図4】本発明の1つの特定の実施態様による非失効検証機器の機能的アーキテクチャを示す。
【発明を実施するための形態】
【0047】
実施形態の説明
図1は、それらの環境において、本発明の1つの特定の実施形態による認証機器10及び非失効検証機器20を示す。
【0048】
本明細書に記載の実施形態において、認証機器10は第一のエンティティ100に組み込まれる。エンティティ100は、機器10を使ってそれ自体を第二のエンティティ200に認証する。
【0049】
本明細書に記載の実施形態において、非失効検証機器20は第二のエンティティ200に組み込まれる。エンティティ200は、非失効検証機器20を使って第一のエンティティ100がこの新たな認証について拒絶されるべきか否かを検証する。
【0050】
この実施形態では、あるエンティティが第二のエンティティ200に対して認証を実行するか、それ自体を認証する場合、これはペア(h,k)を含む署名を使用し、ただし、
- hは数学群G1、例えば位数pの巡回群の元であり、pは素数であり、
- k=hであり、xはこのエンティティのシークレットである。
【0051】
本明細書に記載の実施形態において、第二のエンティティ200が例えば、このエンティティ100が疑わしい挙動を示していると考えた場合、これは失効リストLR内にペア(h,k)を記録する。他の実施形態では、失効リストは、それを義務付けられた第三者によって管理される。この失効リストが作成する方法にはいかなる限定も設定されない。
【0052】
したがって、失効リストLRはN個のペア(hi,)のリストを含み、i=1~Nであり、ペア(h,k)は、第二のエンティティ200によりエンティティ200が疑わしいと考える挙動を伴う第iの署名から得られたものである。このペアの中で、hは前述の群G1に属し、k=h xiであり、xiはこの署名を発行したエンティティのシークレットである。
【0053】
本明細書に記載の実施形態において、認証機器10はコンピュータのハードウェアアーキテクチャを有する。これは、特にプロセッサ10A、リードオンリメモリ10B、ランダムアクセスメモリ10C、書き換え可能不揮発性メモリ10D、及びエンティティ200と通信するための通信手段10Eを含む。
【0054】
機器10のリードオンリメモリ10Bは、プロセッサ10Aにより読み取り可能で、その上に本発明によるコンピュータプログラムPGAが記録された本発明による記録媒体を構成し、このプログラムは1つの実施形態において図2に関して後述する本発明による認証方法のステップを実行するための命令を含む。
【0055】
本明細書に記載の実施形態において、認証機器10はこれらの通信手段10を使って、第二のエンティティ200から失効リストLRの最新バージョンを取得する。ここで、2つのエンティティ100及び200は認証で使用される失効リストのバージョンについて事前に同意していなければならないことが強調される。1つの特定の実施形態において、第二のエンティティ200は失効リストを認証の前に送信する。他の特定の実施形態において、第一のエンティティ100は失効リストのバージョンを公共の入手源から取得する。この失効リストを取得する方法にはいかなる限定も設定されない。
【0056】
本明細書に記載の実施形態において、認証機器10の不揮発性メモリ10Dは、
- エンティティ100に特有のシークレットX100と、
- 失効リストLRのコピーと
を含む。
【0057】
本明細書に記載の実施形態において、非失効検証機器20はコンピュータのハードウェアアーキテクチャを有する。これは特に、プロセッサ20A、リードオンリメモリ20B、ランダムアクセスメモリ20C、書き換え可能不揮発性メモリ20D、及びエンティティ100と通信するための通信手段20Eを含む。
【0058】
機器10のリードオンリメモリ20Bは、プロセッサ20Aにより読み取り可能な、その上に本発明によるコンピュータプログラムPGVが記録された本発明による記録媒体を構成し、このプログラムは、1つの実施形態において図2に関して後述する本発明による非失効検証方法のステップを実行するための命令を含む。
【0059】
本明細書に記載の実施形態において、非失効検証機器20の不揮発性メモリ20Dは失効リストLRの最新のコピーを含む。
【0060】
通信手段10E及び20Eは、機器10及び20が相互に通信できるように構成される。
【0061】
ここで、図2を参照しながら、
- エンティティ100を第二のエンティティ200に認証するために認証機器10が実行する認証方法の主要ステップと、
- 第一のエンティティ100がこの認証において失効を根拠として拒絶されるべきか否かを検証するために非失効検証機器20により実行される非失効検証方法の主要ステップ
を説明する。
【0062】
この実施形態において、一般的ステップF5中、非失効検証機器20は、それが、自分自身をエンティティ200に認証するエンティティにより生成された署名に含まれるペア(h,k)を、これらのエンティティは疑わしい挙動を示しているとエンティティ200が考えるときに記録する失効リストを作成し、最新の状態に保つ。
【0063】
以下、最新の失効リストLRがステップE5中に認証機器10により取得されることを前提とする。
【0064】
ステップE10中、認証機器10は、エンティティ100をエンティティ200に認証するために署名SIGを生成する。
【0065】
本明細書に記載の実施形態において、この署名SIGはペア(h,hX100)を含み、X100はエンティティ100のシークレットであり、hは数学群G1の元である。
【0066】
本明細書に記載の実施形態において、方法は、エンティティ100が失効されていないことをエンティティ200に証明するためのステップE20~E60を含む。より正確には、失効されていないことのこの証明は、第二のエンティティ200に対し、署名SIGを生成するために使用されたシークレットX100が失効リストLR内のN個のペア(h,k)のうちの1つを含む署名を生成するために使用されたシークレットではないことの証明を提供することを目的とする。
【0067】
ステップE20中、認証機器10はこの新たな認証に特有の文字列STRを取得する。この文字列は、このような証明を生成するために使用されたことがなく、すなわち、これはそれが他の証明に使用したものとは異なる。
【0068】
本明細書に記載の実施形態において、文字列STRは、署名SIGの一部、例えば署名SIGのうち、ペア(h,hX100)を含まない部分である。それによって、非失効の証明を提供するために認証機器により伝送される要素の数を限定することが可能となる。
【0069】
本明細書に記載の実施形態において、認証方法は、各インデックスiについて2つのステップE30、E40を含むループを含み、i=1~N、Nは失効リストLR内のペアの数である。
【0070】
ステップE30中、認証機器10は、文字列STRから、及びインデックスiから値aを決定論的に導き出す。
【0071】
この値aが決定論的に導き出されることは、それがランダムを用いずに得られることを意味する。文字列STR及びインデックスiを知っているエンティティは何れも、aを計算することができる。
【0072】
本明細書に記載の実施形態において、a=H(STR││i)であり、Hはパブリックハッシュ関数、例えばSHA-256又はSHA-3である。
【0073】
ステップE40中、認証機器10は、数学群G1の元Cを次式を使って計算又は取得する:
【数4】
ここで、
- h及びkは、失効リストLR内のインデックスiのペアの要素であり、
- Aは既知の値、例えば1であり、
- aはステップE30で決定論的に取得した値であり、
- X100はエンティティ100のシークレットである。
【0074】
既知の値Aは、システムのパラメータで全体として、又は例えば認証プロセスにかかわる2つのエンティティのうちの一方によりローカルで定義され得る。
【0075】
本明細書に記載の実施形態において、ステップE50中、認証機器10は、機器10が失効リストLR内のペア(h,k)の各々について群の元Cを取得するためにエンティティ100のシークレットX100を使用した、換言すれば、それがxを知っており、それによってiの何れの値についても、
【数5】
となることのゼロ知識証明Pを生成する。
【0076】
このような証明は、暗号法においてきわめて一般的である。
【0077】
本明細書に記載の実施形態において、これはシュノアプロトコルを使って生成され、すなわちゼロ知識証明Pは、失効リストLR内のペアの数Nに関係なく、2つのスカラのみ(整数モジュロp)のみを含み、これは各々256ビットである。
【0078】
本明細書に記載の実施形態において、ステップE60中、認証機器10は第二のエンティティ200に、
- この新たな認証のための署名SIG、
- この新たな認証に特有の文字列STR、
- ゼロ知識証明P、及び
- 失効リストLR内の各ペア(h,k)の群G1の元C、i=1~N
を送信する。
【0079】
この特定の実施形態において、したがって、第二のエンティティ200は、ステップF60中に、
- この新たな認証のための署名SIG、
- この新たな認証に特有の文字列STR、
- ゼロ知識証明P、及び
- 失効リストLR内の各ペア(h,k)の群G1の元C、i=1~N
を受信する。
【0080】
本明細書に記載の実施形態において、第二のエンティティ200はステップF65中に署名SIGが有効か否かを検証する。そうでない場合、これは認証を拒絶する。
【0081】
本明細書に記載の実施形態において、非失効検証機器20は、ゼロ知識証明Pが有効でない場合、又は少なくとも1個の前記ペア(h,k)について、群の元CがC=h である場合に、ステップF70中に失効を根拠として第一のエンティティ100を拒絶する。すると、これは署名SIGのペア(h,hX100)を失効リストLRに記録する。
【0082】
実際、エンティティ100がエンティティ100の過去の認証における疑わしい動作を伴う署名の生成元であった場合、失効リストLRはペア(h,k)を含むことになり、k=h X100である。
【0083】
この場合、C=h (例えば、A=1であると、C=h)である。
【0084】
非失効検証機器20又は第二のエンティティ200はしたがって、受け取った群の元Cのみに基づいて、ゼロ知識証明Pが有効であることを条件に、エンティティ100がこの新たな認証について拒絶されるべきであることをごく簡単に検出できる。それは、受け取った値Cをh と比較するだけでよい。本明細書に記載の実施形態において、元Cのサイズは最大で380ビットである。
【0085】
それに対して、シークレットX100が、そのペアが失効リストに記憶された署名の何れにおいても使用されていない場合、元Cは擬似ランダム値のように見える。
【0086】
この特徴は、群の元CがシークレットX100に関する何れの情報も開示しないため、非常に興味深い。
【0087】
1つの特定の実施形態において、署名SIGは文字列STRをさらに含む。
【0088】
コンピュータプログラムPGAは、図3に示される認証機器10の機能モジュールを規定する。より正確には、第一のエンティティ100を第二のエンティティ200に認証するように設計された認証機器10は、この実施形態において、
- 前述の失効リストLRを取得するためのモジュールMOL、
- 第一のエンティティ100を第二のエンティティ200に認証するために署名SIGを生成するためのモジュールMGSであって、この署名SIGはペア(h,hX100)を含み、X100は第一のエンティティ100のシークレットであり、hは数学群G1の元である、モジュールMGS、
- 前記認証に特有の文字列STRを取得するためのモジュールMOC、
- 失効リストLR内のペア(h,k)の各インデックスiについて、決定論的な値aと前述の群の元Cを取得するように構成された暗号モジュールCRY、
- 前記機器10が群の元Cを得るために第一のエンティティのシークレットX100を使用したとのゼロ知識証明を生成するためのモジュールMGP、及び
- 第二のエンティティ200に、
- 前記署名SIG、
- 文字列STR、
- ゼロ知識証明P、及び
- 失効リストLR内の各ペアについての元C
を送信するためのモジュールCOM1
を含む。
【0089】
コンピュータプログラムPGVは、図4に示される非失効検証機器20の機能モジュールを規定する。より正確には、第一のエンティティ100の第二のエンティティ200への認証中に、この第一のエンティティが失効を根拠として拒絶されるべき否かを検証するように構成された非失効検証機器20は、本発明のこの実施形態において、
- この認証のために第一のエンティティ100が生成した署名SIG、
- 文字列STR、
- 失効リストLR内の各ペア(h,k)についての群G1の元C
- 及び前記第一のエンティティ100が失効リストLR内のペアの各々について群の元Cを取得するためにこの第一のエンティティのシークレットを使用したとのゼロ知識証明P
を受け取るためのモジュールCOM2、及び
- 前記ゼロ知識証明Pが有効でない場合、又は少なくとも1個の前記ペア(h,k)について、群の元CがC=h であり、Aが既知の値である場合に、第一のエンティティ100の権限を失効させるためのモジュールMR
を含む。
【0090】
1つの特定の実施形態において、非失効検証機器20は、前述のように失効リストLRを作成し、更新するためのモジュールMCLをさらに含む。
図1
図2
図3
図4
【国際調査報告】