JP5205398B2 - 鍵認証方式 - Google Patents

鍵認証方式 Download PDF

Info

Publication number
JP5205398B2
JP5205398B2 JP2010005363A JP2010005363A JP5205398B2 JP 5205398 B2 JP5205398 B2 JP 5205398B2 JP 2010005363 A JP2010005363 A JP 2010005363A JP 2010005363 A JP2010005363 A JP 2010005363A JP 5205398 B2 JP5205398 B2 JP 5205398B2
Authority
JP
Japan
Prior art keywords
public key
processor
key
computing device
elliptic curve
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 - Lifetime
Application number
JP2010005363A
Other languages
English (en)
Other versions
JP2010093860A (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
Application filed by サーティコム コーポレーション filed Critical サーティコム コーポレーション
Publication of JP2010093860A publication Critical patent/JP2010093860A/ja
Application granted granted Critical
Publication of JP5205398B2 publication Critical patent/JP5205398B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3247Cryptographic 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 digital signatures
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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/64Self-signed certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

(発明の属する技術分野)
本発明は、通信システムのセキュリティ確保(secure)に関するものであり、特に、そのようなシステムにおけるパラメータや鍵の妥当性検証(認証;validate)を行う方式(手順;scheme)に関する。
(従来の技術)
セキュリティ機能を持つ(secure)データ通信システムを用いて、1組の通信者間で情報の送受信が行われる。交換される情報の少なくとも一部は、送信者が所定の数学的演算を行うことによって、暗号化される。そして、受信者は、上記の数学的演算に応じた相補的な数学的演算を行って、その暗号を解読する。公開鍵あるいは対称型鍵システムでは、通信者同士がいくつかのパラメータを予め知っておく必要がある。例えば、これまでにも、様々な方式やプロトコルが考案されており、送信者の公開鍵や身元などの妥当性検証(認証;validate)が行われている。これらのシステムのセキュリティ(security)あるいは妥当性は、署名が妥当なものか否かに依存し、システムパラメータ(もしあれば)が妥当であり、公開鍵が妥当であり、かつ、署名が確認(検証;verify)された場合に限り確保される。さらに、非対称型システムのセキュリティが確保されるのは、システムパラメータ(もしあれば)が妥当であり、暗号化公開鍵が妥当であり、対称型鍵が指定通りにフォーマットされており、かつ、対称型鍵の復号検査(recovery checks )でフォーマットの妥当性が検査された場合に限られる。
一方、鍵一致プロトコルのセキュリティが確保されるのは、システムパラメータ(もしあれば)が妥当であり、鍵一致公開鍵が妥当であり、かつ、共有秘密および対称型鍵が規格の指定通り生成された場合に限られる。以上の全てにおいては、公開鍵あるいは対称型鍵、即ち共有秘密が、プロトコル方式にて指定された通りに生成され、妥当であるということを前提として考えている。
しかしながら、これらのパラメータが偽物である場合や何らかの形で欠陥がある場合には、問題が生じてしまう。
以下の例を用いて、公開鍵暗号システムの1つあるいは複数のパラメータにおける欠陥が、どのようなことを意味するかについて説明する。例えば、ディジタル署名を用いて送信者の正当性(authenticity)を示す場合を考える。受信者Aが送信者Bから証明書付きの公開鍵を受信すると、Aは証明書を確認する。次に、BがAに署名付きのメッセージを送信すると、Aは署名を確認し、さらなる通信が可能と判断することができる。しかしながら、この場合、Bが公開鍵を故意に改ざんすれば、この妥当でない公開鍵を受信者Aが識別できなくなる。同様に、参加者Cが鍵対を生成し、続いて公開鍵証明書を受信し、その後に、上記参加者Cが、証明書に含まれている公開鍵が妥当であると仮定して、証明書とそれに続いて署名付きのメッセージをBに送信した場合を考える。上記参加者Bは、Cの鍵情報を決定することができる。上記の両方の場合から分かるように、署名を確認する際に認証されていないパラメータを使用することに起因して問題が生じる可能性がある。
鍵送信プロトコルでは、通信者Aが誤って違う相手に対称型鍵を送信してしまうことがある。例えば、通信者Aが証明書付きの公開鍵を送信者Bから受信した場合に、Aは該証明書を確認し、公開鍵により暗号化された対称型鍵および対称型鍵により暗号化されたメッセージをBに送信する。これにより、Aが承認される。逆に、通信者の1人であるCが鍵対を生成し、公開鍵証明書を得た後にそれをAに送信する。この場合、Aは公開鍵を用いて対称型鍵およびメッセージを暗号化し、それをCに返信する。したがって、この場合、Cが承認される。
鍵一致プロトコルにおいては、通信者の1人であるAが、例えば、Bから証明書付きの公開鍵を受信し、Aの証明書付き公開鍵をBに送信する。AおよびBはそれぞれ相手側の証明書を確認し、互いに一致した対称型鍵を有する。この例では、Aが2度承認されることになる。
以上の例から分かるように、公開鍵システムのセキュリティが確保されていても、システムのセキュリティは、通信者の一方あるいは両方に大きく依存しており、要求された所定の鍵が実際のところ使用されている特定のアルゴリズムの所定の鍵であることに依存している。典型的には、受信者は、ビット列を受信すると、このビット列が要求される鍵を実際に表すものであるとみなしてしまうが、そのために対称型鍵システムでは特に問題が生じる。即ち、対称型鍵システムでは、典型的にはサイズが正しければどのようなビット列でも鍵であると解釈されてしまう。このビット列の中の1ビットが所定の鍵と異なっていても、別の鍵として解釈されるので、その鍵が誤ったものでない限り、妥当な暗号演算(crypto operation)を行うことができる。
非対称型秘密鍵システムでは、秘密鍵の所有者はその秘密鍵について全て知っているので、それが正しいか否かの妥当性を検証することができる。しかしながら、第3者が上記所有者のシステムに公開鍵を送信した場合、受信した鍵が公開鍵の算術的要件に合致するものか否か、あるいはその要求された公開鍵を用いて演算(operation)を行った場合に機密性が確保された暗号演算となるか否かについては、疑問が生じる。所有者のシステムが検査を行わなければ確実には分からないので、所有者にしか分からないことになる。
以上のことから分かるように、鍵の確立は安全でない場合がある。Crypto ’97で発表されたリン(Lim)およびリー(Lee)による論文では、上記問題点が、Diffie−Hellman方式において次数(order)が正しくない偽公開鍵を用いた場合に、相手側の秘密鍵に関する情報を得ることができるという例を用いて指摘された。RSAあるいはRabin方式においては、公開鍵および秘密鍵を1組の大きな素数の関数とすることで、そのような大きな数の因数分解の困難性からセキュリティを確保している。これらの鍵は、2つの任意の大きな素数の積から生成している。しかしながら、nが素数であって、2つの素数の積でないとすると、phi(n)=n−1が成り立つので、偽の「公開鍵」(n,e)から誰でもdを決定することができる。これらは、公開鍵の使用者が、要求された公開鍵についてアルゴリズムの要件に合致する算術的属性の妥当性を検証することができないが為に生じる問題であると言える。
本発明は、セキュリティ機能を持つ通信システムにおいて、改良された妥当性検証を行うことを目的としている。さらに、本発明は、誰でもいつでも公開情報のみを用いてそのような妥当性検証を行えるようにすることを目的としている。
本発明の公開鍵通信システムにおけるディジタル署名の妥当性検証方法によれば、公開鍵の算術的属性がシステムアルゴリズムに合致することを確認する工程と、上記ディジタル署名を確認する工程とを含む。
さらに、システムパラメータを確認する工程が設けられる。
さらに、要求された公開鍵がアルゴリズムと算術的に合致するか否かの妥当性検証が実行されたことを示す情報と、および適切な場合には、さらに、実行された妥当性検証の回数を示す情報とを証明書情報内に含める工程が設けられる。
(項目1)
データ通信システムにおいて、一方から他方の通信者に送信されるディジタル情報の妥当性を検証する方法において、
所定の算術的属性とシステムパラメータとを有する所定の暗号化方式に応じて公開鍵を生成する工程と、
上記公開鍵が上記暗号化方式の算術的属性に合致することを確認する工程と、
確認された上記公開鍵を受信者に送信する工程とを含むことを特徴とする方法。
(項目2)
上記公開鍵の妥当性が検証されたことを示す情報を、確認された上記公開鍵と共に送信することを特徴とする項目1に記載の方法。
(項目3)
上記公開鍵は楕円曲線公開鍵Qであり、上記暗号化方式は楕円曲線方式であることを特徴とする項目1に記載の方法。
(項目4)
上記公開鍵を確認する工程は、上記公開鍵Qが上記楕円曲線E上にあることを確認する工程を含むことを特徴とする項目3に記載の方法。
(項目5)
上記システムパラメータを確認する工程をさらに含むことを特徴とする項目1に記載の方法。
(項目6)
公開鍵および対称型鍵を有するセキュリティが確保された非対称型通信システムを提供する方法において、
上記公開鍵が妥当であると確認する工程と、
上記対称型鍵が所定のフォーマットを有することを確認する工程と、
上記対称型鍵を復号する工程と、
復号された上記対称型鍵が所定の妥当なフォーマットを有することを確認する工程とを含むことを特徴とする方法。
(項目7)
上記システムパラメータが妥当であると確認する工程をさらに含むことを特徴とする項目6に記載の方法。
(項目8)
公開鍵、対称型鍵、および秘密情報を有する通信システムにてセキュリティが確保された鍵一致を提供する方法において、
上記公開鍵が妥当であると確認する工程と、
上記秘密情報が妥当であると確認する工程と、
上記対称型鍵が妥当であると確認する工程とを含むことを特徴とする方法。
(項目9)
システムパラメータが妥当であると確認する工程をさらに含むことを特徴とする項目8に記載の方法。
(項目10)
上記鍵の検証を示す情報を証明書情報に含める工程をさらに含むことを特徴とする項目8に記載の方法。
通信システムの概略図である。
(発明の実施の形態)
図1に示すように、データ通信システム10は、1組の通信者を含み、該1組の通信者は、送信者12および受信者14であり、互いに通信チャネル16により接続されている。送信者12および受信者14は、通信チャネル16を介した送受信用に備えてディジタル情報を処理する暗号化ユニット18および20をそれぞれ有している。データ通信システム10は、証明書発行局(CA;certification authority、認証機関とも言う)22をさらに有していてもよい。
以下、本発明の実施の形態として、公開鍵アルゴリズムを用いた場合について説明する。鍵一致は、以下に示す6つのルーチンを有している。即ち、システムパラメータの生成、システムパラメータの妥当性検証、鍵対の生成、公開鍵の妥当性検証、共用機密の導出(derivation)、および対称型鍵の導出である。上記鍵検証工程においては、誰でもいつでも公開情報のみを用いて公開鍵の妥当性を検証することができる。これらのルーチンにより、公開鍵の値域(range)および次数(order)が検証される。公開鍵の妥当性が検証されれば、論理的にはそれに対応する秘密鍵が存在する可能性があるが、実際に存在することは証明されない。
楕円曲線ディジタル署名アルゴリズム(ECDSA)にも、6つのルーチンが含まれる。即ち、システムパラメータの生成、システムパラメータの妥当性検証、鍵対の生成、公開鍵の妥当性検証、署名の生成、および署名の確認(signature verification)である。一方、DSAの第1のタイプには、4つのルーチン、即ち、システムパラメータの生成、鍵対の生成、署名の生成、および署名の確認が含まれる。より最近のDSAでは、5つのルーチン、即ち、システムパラメータの生成、(非明示の(implicit))システムパラメータの妥当性検証、鍵対の生成、署名の生成、および署名の確認が含まれる。鍵の妥当性検証を行うために、DSAパラメータであるp、q、およびgは既に妥当性が検証されているものとみなす。秘密鍵をx、公開鍵yはy=gmod pである。そして、yの値域について、1<y<pであることを確認することによって妥当性を検証するとともに、yの次数について、ymod p=1であることを確認することによって妥当性を検証する。これらの妥当性検証により、ある要求されたDSA公開鍵が、そのような鍵に対する算術的要件を満たすものであるということが確認される。これらの妥当性検証は、誰もがいつでも公開情報のみを用いて実行することが可能である。
RSAあるいはRabin署名アルゴリズムには、一般に3つのルーチン、即ち、鍵対の生成、署名の生成、および署名の確認が含まれる。RSA公開鍵(n,e)の検証は以下の3つのステップを含む。即ち、まず最初にeの妥当性を検証し、次にnの妥当性を検証し、その次にeおよびnが互いに矛盾していないことを検証する。公開指数eの妥当性を検証するためには、指数eが2≦e≦2(k−160) (kは法(modulus)nのビット長(length))であることを利用する。指数eの範囲が上記のような特定された範囲であるべきというこの要件は、特に、ここでの検証を実現可能にしている。e>2であれば、eは奇数でなければならない。さらに、閉じたネットワークの場合には、公開指数eは他の全ての判定基準を満たすべきであることが知られている。即ち、例えばeは3か、65537か、あるいは65537より大きな任意の数でなければならないといった判定基準である。これらの検証は、鍵の妥当性をさらに確認するために行ってもよい。これらの検証については、RSA公開鍵部分認証ルーチン(public key partial validation routine)の仕様(specification)の一部として含まれていてもよい。上記の指数eの検証は簡略なもののように見えるが、この検証により、RSA/Rabinアルゴリズムで選択が試みられるdよりも前にeが選択されたことが確認できる。なぜなら、この検証により、de=1 mod(lcm(p−1,q−1))であり、法nに比べてeでは桁数を表すゼロが少なくとも160個多いことが分かり、これはdを先に選択すると実現不可能だからである。
法nの妥当性を検証するためには、nの大きさを求める。nは、正確に(1024+128s)ビット(ただし、s=0,1,2,3,…等)を含まなければならないことが知られている。このことは、簡単に検証でき、部分鍵認証の一部とすることができる。法nは2つの素数の積で、2より大きい全ての素数が奇数であることから、法nが奇数であるか否か判断することによって、法nに対してさらなる妥当性検証を行ってもよい。したがって、奇数同士の積は奇数であるので、nは奇数でなければならない。さらに、Rabinアルゴリズムでe=2の場合には、p=3 mod n、およびq=7 mod 8でなければならないことが分かっている。このことから、n=pq=21 mod 8=5 mod 8でなければならない。このことは、e=2のときにn=5 mod 8であることを確認することで検証できる。さらに、nは完全な累乗(perfect power)であってはならないことが分かっている。このことから、nが2つの異なる素因数からなることが確実に分かり、単純な検査により妥当性が検証できる。上記検証については、Menezes、van Oorschot、およびVanstoneによる”Handbook of Applied Cryptography(応用暗号手法ハンドブック)”に記述されている。
また、nは合成数でなければならないことも知られている。したがって、nが素数の場合には、容易に逆変換が可能になるため、セキュリティが全く確保されなくなる。nが合成数であるか否かの検証は、nが合成数であると実際に証明されると予想してMiller−Rabin確率的素数検証(probable prime test)を行うことによって、実現可能である。法nの検証を行うためのさらなる検査は、以下のことに基づくものである。即ち、nが2つの大きな素数の積であって、因数分解が難しく、したがって単純な方法で因数分解しようとしても成功しないものであることが分かっていることに基づいている。例えば:iとして小さな奇数の素数からある程度の大きさまでの全ての素数、例えば最初の50000(50K)個の奇数の素数について、GCD(n,i)を計算してみてもよい。
前述の2つの検証により、前者からは少なくとも1つの因子が法のビットの半分以下の大きさでなければならないことが分かり、後者からは各因子が検証した最大素数よりも大きくなければならないことが分かる。さらに、ポテンシャル因子(p,q,r,…)は、上記で検証した最大素数の大きさに依存した限られた数しか存在しなくなる。
以上の複数の検証を組み合わせると、相乗効果が得られる。検証の目的は、敵のとりうる行動の自由度を大幅に小さくすることである。攻撃がほぼ不可能な場合であっても、部分的鍵認証を行うことによって、攻撃をより一層困難にし、望ましくは攻撃を不可能あるいは少なくとも非経済的なものにすることができる。
さらに、pおよびqの値は近くなりすぎてはならないものであるから、法nを検証する際には、これらが近接した値であると仮定し、nの因数分解を試みる。nの平方根をpおよびqの初期予想値とする。pを減少させる一方、qを増加させ、nが所定の限度まで因数分解できるか決定する。さらに、RSAの法のセットでは素数が繰り返してはならないことが分かっているため、RSAのある法のセットn1、n2に対して、GCD(ni,nj)を計算し、全ての計算結果が1に等しいことを確認することができる。
上述のオフライン検証には限界が存在するが、パラメータの所有者が特定の情報、例えばnの因数分解を知っているので、これらの検証を拡張することができる。よって、所有者をオンラインオラクル(oracle)として利用してもよい。このオラクルに関してなされる質問に対する回答が不正解であることを識別することで、誰もが公開鍵が無効であると断言できることになる。
Vanstoneらの”Handbook of Applied Cryptography”によれば、所有者は(平方根 mod n)を計算できるが、他者にはできない。検証者は、(任意値 mod n)のヤコビ符号(ヤコビアン;Jacobi Symbol)を1または−1に決定し、半分は1、他方の半分は−1に決定する。1の場合には、その数が平方数か否かで、再度半々に分けられる。検証者は、(ある数 mod n)を平方する。平方数のヤコビ符号は、常に1である。
検証者は、既知の平方数uおよびヤコビ符号が1である任意の要素rのいずれかを選択する。そして、所有者にこの2種類の要素に対して「これは平方数であるか」と質問する。所有者は、イエスかノーかで回答する。uが選択された場合、所有者がイエスと答えなければ鍵の法(modulus)は無効となる。rが選択された場合、所有者がイエスと答える回数とノーと答える回数とがそれぞれ約半分でなければ、鍵の法が無効となる。
これを何度も繰り返すことにより、信頼性が高まる。検証者が全て平方数について所有者に質問した場合には、所有者は常にイエスと答えなければならない。検証者が全てヤコビ符号が1である任意の要素について所有者に質問した場合には、所有者はその半分にはイエスと答え、半分にはノーと答えなければならない。偽鍵の所有者は、少なくとも半分の答えがイエスであることを知っているだけである。しかしながら、秘密鍵の所有者であれば、nの因数分解を知っており、平方数を知っているので、擬似平方数についてそれらが平方数であると嘘をついて、検証者を騙しさえすればよい。検証者は、既知の擬似平方数を用いて「これは平方数であるか」と質問するだけでよい。通常、法の因数分解を知らなければ、ある数がその法の擬似平方数であると決定することは不可能である。しかしながら、所有者は、上述の質問に対して、ヤコビが1である数のいくつかは擬似平方数であると答えなければならない。検証者は、既知の擬似平方数と(平方数mod n)とを掛け合わせることによって、任意の既知の擬似平方数を生成することはできる。検証者は、その結果として得られた値については、擬似平方数であると知っている。この3つめのタイプの数t(既知の擬似平方数)について所有者に尋ねると、この場合には、所有者がいくつかの擬似平方数は平方数であると嘘をついても、その嘘が検証者に知られる。
eとnとを共に検証するには、GCD(e,p−1)=1、かつGCD(e,
q−1)=1でなければならない。eが奇数の場合には、整数xおよびpに対してpがxe+1の形で表されない数であり、かつ、整数yに対してqがye+1の形で表されない数でなければならないことが分かっている。pとqとの両方が不正な場合には、nがxye+xe+ye+1の形で表されないものであり、かつn≠1 mod eが成り立たなければならない。
eとnとを共に検証する別の方法について以下に説明する。GCD(e,phi(n))が1でなければならないことが分かっている。phi(n)=(p−1)(q−1)であることが分かっているので、式が2つで未知数が2つであるから、検証者は、nを因数分解することができる。
鍵対に対する他の要件が満たされているとする。GCD(e,phi(n))=1を満たす必要があるのは、eを用いた演算を確実に1:1対応(逆変換可能)の関数とするためである。さもなければ、eを用いた演算が多数:1になってしまう。eを用いた演算が多数:1対応の場合には、d(eの逆元(inverse))が存在しなくなるか、少なくとも通常では導き出せなくなる。所有者はdが実際に存在するという証拠を提示しなければならない。しかしながら、上記質問は、秘密鍵の所有者の管理の元で行うべきではない。即ち、所有者自身で署名した証明書要求(self−signed certificate request)では、十分な証拠とはならない。
挑戦者は、承認を要求された所有者にダミーメッセージをいくつか送信して署名させることもできる。秘密鍵の所有者は、それらがダミーメッセージであると確認し、署名し、挑戦者に返信する。これは、dが存在するオンライン確率的オラクル検証(online probabilistic oracle test)である。
したがって、誰でもオフライン検証がいつでも実行できる。所有者がオンライン状態にあれば、誰でもオンライン検証を実行できる。所有者は、オフラインおよびオンライン検証を行って、自身の秘密鍵が有効であることを確認することができる。CAは、オンライン検証を行って、公開鍵証明書において何の妥当性がどの程度まで検証されているかを他者に伝える。
ECDSAにおけるシステムパラメータは、フィールドサイズq=pまたは2である。オプションの種(optional seed)によって(a,b)が生成され、(a,b)によって、曲線の次数がhnとなるように、Fで表される楕円曲線、この曲線上の特異点P、Pの大きな素数の次数(large prime order)であるn、および余因子(cofactor)hを定義する。(a,b)で定義されるフィールドサイズECおよび点Pは主要パラメータである。
ECシステムパラメータだけでなく、EC公開鍵についても確認することが重要である。例えば、楕円曲線公開鍵Qを想定し、QがE上にあるとする。鍵一致において素数の次数の曲線を使用している場合、Qの次数を検査する必要はない。なぜなら、Qが曲線上にあれば正確な次数を有していることが確かであるからである。Qが曲線上にあることを検査することは重要である。なぜなら、Qが曲線上になければ、偽鍵が、aQを計算する際に秘密鍵aを明かしてしまうからである。公開鍵が曲線上にあると確認することは、曲線の式に代入するか、検証を行うことにより可能である。
以上のことから、鍵認証を行うことにより、攻撃にさらされることが抑制され、不慮のエラーの検出が助けられ、CAが行う価値のあるサービスが提供されることになる。当業者ならば理解できるように、上記の技術および方法は、本発明の工程を実行する適切なプロセッサにおいて実現することができる。さらに、上述の様々な方法は、汎用のコンピュータを使用し、ソフトウェアにて選択的に起動あるいは再構成して実行するのが便利がよいが、当業者ならば理解できるように、そのような方法は、必要な各工程を実行するように構成された、ハードウェア、ファームウェア、あるいはより特殊な装置において実現してもよい。
(発明の効果)
本発明によれば、セキュリティ機能を持つ通信システムにおいて、改良された妥当性検証を行うことができる。さらに、本発明によれば、誰でもいつでも公開情報のみを用いてそのような妥当性検証を行うことが可能となる。

Claims (18)

  1. 公開鍵Qの妥当性を検証する方法であって、前記公開鍵Qは、第1のプロセッサを有する第1のコンピューティングデバイスを含む通信システムにおいて用いられ、前記方法は、
    前記第1のコンピューティングデバイスが、公開鍵Qを取得することと、
    前記第1のプロセッサが、前記公開鍵Qが有限体上で定義された楕円曲線E上の点であることを確認することであって、前記楕円曲線Eは、前記通信システムに関連付けられたシステムパラメータによって定義されている、ことと
    を含み、
    前記公開鍵Qが前記楕円曲線E上の点であることの前記第1のプロセッサによる確認は、前記第1のプロセッサが前記公開鍵Qを前記楕円曲線Eに代入することによって行われる、方法。
  2. 前記第1のコンピューティングデバイスは、前記第1のプロセッサが前記楕円曲線Eを用いる楕円曲線暗号化方式を用いて前記公開鍵Qを生成することによって、公開鍵Qを取得する、請求項1に記載の方法。
  3. 前記楕円曲線Eは、素数次数の楕円曲線である、請求項1または請求項2に記載の方法。
  4. 前記楕円曲線Eは、コンポジット次数の楕円曲線であり、前記方法は、前記第1のプロセッサが、Qが正しい次数の公開鍵であることをチェックすることをさらに含む、請求項1または請求項2に記載の方法。
  5. 前記第1のプロセッサが、前記公開鍵Qを用いて暗号化演算を実行することをさらに含む、請求項1〜4のいずれか一項に記載の方法。
  6. 前記第1のプロセッサによって実行される前記暗号化演算は、鍵一致プロトコルに関連付けられている、請求項5に記載の方法。
  7. 前記第1のプロセッサによって実行される前記暗号化演算は、楕円曲線デジタル署名アルゴリズム(ECDSA)に準拠した暗号化方式に従って第2のコンピューティングデバイスの第2のプロセッサによって生成される署名を確認することである、請求項5に記載の方法。
  8. 前記第1のプロセッサによって実行される前記暗号化演算は、前記公開鍵Qで対称鍵を暗号化することを含む、請求項5に記載の方法。
  9. 前記第1のプロセッサが、前記システムパラメータを確認することをさらに含む、請求項1〜8のいずれか一項に記載の方法。
  10. 前記公開鍵Qは、対称鍵と組み合わせて前記第1のプロセッサによって利用され、前記方法は、前記第1のプロセッサが、前記対称鍵が所定のフォーマットの鍵であることを確認することをさらに含む、請求項1に記載の方法。
  11. 前記第1のコンピューティングデバイスは、認証機関に所属する、請求項1に記載の方法。
  12. 前記認証機関の前記第1のコンピューティングデバイスは、第2のコンピューティングデバイスから前記公開鍵Qを受信する、請求項11に記載の方法。
  13. 前記第1のプロセッサによる前記公開鍵Qの確認の結果は、前記認証機関の前記第1のコンピューティングデバイスによって第2のコンピューティングデバイスに通信される、請求項11または請求項12に記載の方法。
  14. 前記第1のプロセッサが、前記公開鍵が確認済みであることを示す指標を証明書内に組み込むことをさらに含む、請求項11〜13のいずれか一項に記載の方法。
  15. 前記公開鍵Qは、前記第1のコンピューティングデバイスが第2のコンピューティングデバイスから前記公開鍵Qを受信することによって取得される、請求項1に記載の方法。
  16. 前記第2のコンピューティングデバイスは、認証機関に所属する、請求項15に記載の方法。
  17. 請求項1〜16のいずれか一項に記載の方法を実行することをプロセッサに行わせるためのコンピュータ実行可能なコードを格納したコンピュータ読み取り可能な媒体。
  18. 請求項1〜16のいずれか一項に記載の方法を実行するプロセッサを含むデバイス。
JP2010005363A 1997-10-14 2010-01-13 鍵認証方式 Expired - Lifetime JP5205398B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US94978197A 1997-10-14 1997-10-14
US08/949,781 1997-10-14

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000516464A Division JP4615708B2 (ja) 1997-10-14 1998-10-14 鍵認証方式

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012251231A Division JP2013042555A (ja) 1997-10-14 2012-11-15 鍵認証方式

Publications (2)

Publication Number Publication Date
JP2010093860A JP2010093860A (ja) 2010-04-22
JP5205398B2 true JP5205398B2 (ja) 2013-06-05

Family

ID=25489535

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2000516464A Expired - Lifetime JP4615708B2 (ja) 1997-10-14 1998-10-14 鍵認証方式
JP2010005363A Expired - Lifetime JP5205398B2 (ja) 1997-10-14 2010-01-13 鍵認証方式
JP2012251231A Withdrawn JP2013042555A (ja) 1997-10-14 2012-11-15 鍵認証方式

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000516464A Expired - Lifetime JP4615708B2 (ja) 1997-10-14 1998-10-14 鍵認証方式

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012251231A Withdrawn JP2013042555A (ja) 1997-10-14 2012-11-15 鍵認証方式

Country Status (6)

Country Link
US (1) US20010014153A1 (ja)
EP (1) EP1025672A1 (ja)
JP (3) JP4615708B2 (ja)
AU (1) AU9426598A (ja)
CA (1) CA2305896C (ja)
WO (1) WO1999020020A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757825B1 (en) * 1999-07-13 2004-06-29 Lucent Technologies Inc. Secure mutual network authentication protocol
CN1672358B (zh) * 2002-07-29 2010-07-14 国际商业机器公司 群签名方案
US9240884B2 (en) 2003-10-28 2016-01-19 Certicom Corp. Method and apparatus for verifiable generation of public keys
US20050198221A1 (en) * 2004-01-07 2005-09-08 Microsoft Corporation Configuring an ad hoc wireless network using a portable media device
US20050198233A1 (en) * 2004-01-07 2005-09-08 Microsoft Corporation Configuring network settings of thin client devices using portable storage media
US7546357B2 (en) * 2004-01-07 2009-06-09 Microsoft Corporation Configuring network settings using portable storage media
US7769995B2 (en) * 2004-01-07 2010-08-03 Microsoft Corporation System and method for providing secure network access
US7657612B2 (en) * 2004-01-07 2010-02-02 Microsoft Corporation XML schema for network device configuration
US7996673B2 (en) * 2004-05-12 2011-08-09 Echoworx Corporation System, method and computer product for sending encrypted messages to recipients where the sender does not possess the credentials of the recipient
US7710587B2 (en) * 2004-10-18 2010-05-04 Microsoft Corporation Method and system for configuring an electronic device
US7826833B2 (en) * 2005-02-17 2010-11-02 Madhavan P G Channel assay for thin client device wireless provisioning
US7616588B2 (en) * 2005-03-31 2009-11-10 Microsoft Corporation Simplified creation and termination of an ad hoc wireless network with internet connection sharing
US7664259B2 (en) * 2006-03-09 2010-02-16 Motorola, Inc. Encryption and verification using partial public key
DE102006060760A1 (de) * 2006-09-29 2008-04-10 Siemens Ag Authentifikationsverfahren und Kommunikationssystem zur Authentifikation
EP2082524B1 (en) 2006-11-15 2013-08-07 Certicom Corp. Implicit certificate verification
GB0803320D0 (en) 2008-02-22 2008-04-02 Cambridge Silicon Radio Ltd Protecting against security attack
EP2591436A4 (en) * 2010-07-08 2014-11-05 Certicom Corp SYSTEM AND METHOD FOR REALIZING DEVICE AUTHENTICATION USING KEY ACCREDITATION
EP2525524B1 (en) 2011-05-12 2016-08-10 Nxp B.V. Transponder, reader and methods for operating the same
FR2993080B1 (fr) * 2012-07-04 2014-07-25 Oberthur Technologies Procede de verification de la securite d'un dispositif generateur de cles cryptographiques privees et publiques.
CN105553664B (zh) * 2015-12-10 2018-09-28 中国电子科技集团公司第三十研究所 一种具有非交互式不可否认性质的签密方法
CN105530093B (zh) * 2015-12-10 2019-02-01 中国电子科技集团公司第三十研究所 一种具有非交互式不可否认性质的签密方法
JP6976405B2 (ja) * 2018-02-22 2021-12-08 株式会社ゼタント アクセス管理システム、及びそのプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
JPH0470028A (ja) * 1990-07-09 1992-03-05 Mitsubishi Electric Corp オブリビアス・トランスファ暗号通信方法
JP2956709B2 (ja) * 1990-11-26 1999-10-04 松下電器産業 株式会社 公開鍵生成方法及び装置
ATE128297T1 (de) * 1991-03-14 1995-10-15 Omnisec Ag Verschlüsselungssystem mit öffentlichem schlüssel unter verwendung elliptischer kurven über ringe.
US5201000A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5241599A (en) 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
JP3123820B2 (ja) * 1992-07-27 2001-01-15 松下電器産業株式会社 有限可換群における演算器
JPH08506217A (ja) * 1993-04-20 1996-07-02 ミカリ,シルヴィオ 公正な暗号システム及びその使用方法
JP3458979B2 (ja) * 1994-12-02 2003-10-20 日本電信電話株式会社 ディジタル情報保護システム及びその方法
JP3327435B2 (ja) * 1994-12-01 2002-09-24 日本電信電話株式会社 ディジタル情報保護システム及びその方法
US5661803A (en) * 1995-03-31 1997-08-26 Pitney Bowes Inc. Method of token verification in a key management system
JPH0962596A (ja) * 1995-08-25 1997-03-07 Hitachi Ltd 電子メールシステム
JPH0993241A (ja) * 1995-09-28 1997-04-04 Nippon Telegr & Teleph Corp <Ntt> 情報通信システム及び情報通信方法
JPH09200194A (ja) * 1995-12-29 1997-07-31 Intel Corp 安全保護の行われた通信を行うための装置および方法

Also Published As

Publication number Publication date
JP2013042555A (ja) 2013-02-28
JP2010093860A (ja) 2010-04-22
EP1025672A1 (en) 2000-08-09
CA2305896C (en) 2010-12-14
US20010014153A1 (en) 2001-08-16
AU9426598A (en) 1999-05-03
JP2001520483A (ja) 2001-10-30
JP4615708B2 (ja) 2011-01-19
WO1999020020A1 (en) 1999-04-22
CA2305896A1 (en) 1999-04-22

Similar Documents

Publication Publication Date Title
JP5205398B2 (ja) 鍵認証方式
US8116451B2 (en) Key validation scheme
JP5497677B2 (ja) 公開鍵を検証可能に生成する方法及び装置
EP2082524B1 (en) Implicit certificate verification
US8589693B2 (en) Method for two step digital signature
EP2276196B1 (en) Method for the Application of Implicit Signature Schemes
US8229113B2 (en) Strengthened public key protocol
US9705683B2 (en) Verifiable implicit certificates
US6473508B1 (en) Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
EP1710954A1 (en) Group signature system, method, device, and program
EP2792098B1 (en) Group encryption methods and devices
WO2006024042A2 (en) Provisional signature schemes
US6243466B1 (en) Auto-escrowable and auto-certifiable cryptosystems with fast key generation
JP4146252B2 (ja) 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置
Yoon et al. Robust User Password Change Scheme based on the Elliptic Curve Cryptosystem
Boneh et al. Oblivious signature-based envelope

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120920

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121012

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160222

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

EXPY Cancellation because of completion of term