[go: up one dir, main page]

JP2008532389A - 認証のための小型の公開鍵を用いたデジタル署名 - Google Patents

認証のための小型の公開鍵を用いたデジタル署名 Download PDF

Info

Publication number
JP2008532389A
JP2008532389A JP2007557199A JP2007557199A JP2008532389A JP 2008532389 A JP2008532389 A JP 2008532389A JP 2007557199 A JP2007557199 A JP 2007557199A JP 2007557199 A JP2007557199 A JP 2007557199A JP 2008532389 A JP2008532389 A JP 2008532389A
Authority
JP
Japan
Prior art keywords
value
authentication signature
authentication
public key
shared secret
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.)
Pending
Application number
JP2007557199A
Other languages
English (en)
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008532389A publication Critical patent/JP2008532389A/ja
Pending 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/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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Lock And Its Accessories (AREA)

Abstract

【課題】認証のための小型の公開鍵を用いたデジタル署名を提供すること。
【解決手段】開示された実施形態は、共通の法Nを使用することについて合意した2つのエンティティ間の認証を可能にする。この認証は、擬似乱数列値を生成することと、法Nと前記擬似乱数列値とに基づいて公開鍵値を生成することと、前記公開鍵値に対応する私有鍵値を生成することと、検証者の公開鍵値を受信することと、前記法Nと前記私有鍵値と、検証者の公開鍵値とに基づいて共有秘密値を生成することと、前記共有秘密値を用いて認証署名値を計算することと、認証のために前記認証署名値を送信すること、とを含む。前記認証署名が受信されたときに、認証署名値を計算するために前記公開鍵値と前記共有値とが生成される。その後、前記2つの認証署名値が比較されて認証される。

Description

認証技術ではある形態のデジタル署名およびメッセージ認証コードが用いられる。デジタル署名およびメッセージ認証コードは公開鍵及び/または対称鍵を用いた暗号システムをもとにしている。この2つのシステムは異なる特性を有しており、ある状況においては一方のシステムがより好適し、他の状況においては他方のシステムがより好適する。
概して、公開鍵システムは鍵管理及び配布の観点において利点を有する。しかしながら、公開鍵システムはしばしば計算上困難であり、大型のデジタル署名を要する。したがって、公開鍵システムはパワフルなプロセッサを必要とし、コストの増大、装置の重量及び/またはサイズの増大とを引き起こす。また、公開鍵システムはさらなる処理時間を必要とし、遅延を引き起こし、より多くのエネルギを使い及び/またはバッテリを消費し、あるいはそれらの組み合わせを引き起こす。
その結果、最も小型の認証デバイスは、計算上の要求と小さな出力に対する要求とから、対称鍵を用いる暗号技術を使用することを余儀なくされてきた。しかしながら、携帯電話などのデバイスにおいてより有能なプロセッサの出現により、計算上の要求はもはや主要な要因ではなくなりつつある。その一方で、より小型のデジタル署名に対するニーズがいまだ存在する。
要約
一側面において、共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための手段を備えた方法及び装置は、入力値から擬似乱数列値を生成することと、前記法Nと前記擬似乱数列値とに基づいて第1の公開鍵値を生成することと、前記第1の公開鍵値に対応する第1の私有鍵値を生成することと、第2の公開鍵値を受信することと、前記法Nと、前記第1の私有鍵値と、前記第2の公開鍵値とに基づいて、共有秘密値を生成すること、とを具備する。これにより、前記共有秘密値を使用して認証署名値が計算されて送信される。
他の側面において、共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置は、入力値から擬似乱数列値を生成するように構成された擬似乱数生成器と、前記法Nと前記擬似乱数列値とに基づいて第1の公開鍵値を生成するとともに、前記第1の公開鍵値に対応する第1の私有鍵値を生成するように構成された鍵生成ユニットと、第2の公開鍵値を受信するように構成された受信器ユニットと、前記法Nと、前記第1の私有鍵値と、前記第2の公開鍵値とに基づいて、共有秘密値を生成するように構成された秘密値生成ユニットと、を具備する。
さらに、他の側面において、共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための手段を備えた方法及び装置は、第1の認証署名値を受信することと、入力値から擬似乱数列値を生成することと、前記法N及び前記擬似乱数列値とに基づいて第1の公開鍵値を生成することと、前記法Nと、私有鍵値と、前記第1の公開鍵とに基づいて共有秘密値を生成することと、前記共有秘密値を用いて第2の認証署名値を計算することと、前記第1の認証署名値と、前記第2の認証署名値とを比較することと、を具備する。
また、さらに他の側面において、共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置は、第1の認証署名値を受信するように構成された受信器ユニットと、入力値から擬似乱数列値を生成するように構成された擬似乱数生成器と、前記法N及び前記擬似乱数列値とに基づいて第1の公開鍵値を生成するように構成された鍵生成ユニットと、前記法Nと、私有鍵値と、前記第1の公開鍵とに基づいて共有秘密値を生成するように構成された共有秘密値生成ユニットと、前記共有秘密値を用いて第2の認証署名値を計算するように構成されたメッセージ認証コードユニットと、 前記第1の認証署名値と、前記第2の認証署名値とを比較するように構成された比較ユニットと、を具備する。
また、さらに他の側面において、共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための手段を備えた方法及び装置は、法Nに基づいて生成された公開鍵値を受信することと、Nを法とする離散対数問題を解決することによって、前記公開鍵値に対応する私有鍵を生成することと、前記私有鍵を共有秘密鍵として用いることと、を具備する。
上記方法はプロセッサによって実現及び/又は制御される。同様に、上記方法は機械読み取り可能な媒体に記憶された命令によって実現及び/又は実行される。
次の記述において、本実施形態の完全な理解を提供するために詳細な説明がされる。しかしながら、当業者ならば、これらの特別な詳細なしに本実施形態を実施することができることを理解するであろう。例えば、不必要な詳細を述べることで本実施形態を不明確にすることがないように回路はブロック図で示される。また、既知の回路、構造及び技術は本実施形態を不明確にしない程度に詳細に示される。
また、本実施形態はフローチャート、フロー図、構造図あるいはブロック図として示されるプロセスとして記載されことに注意されたい。フローチャートは動作を順次実行されるプロセスとして記載するが、多くの動作は並列的あるいは同時に実行されるものである。さらに、動作の順番は変更できる。あるプロセスは、動作が完了したときに停止される。あるプロセスは方法、機能、手順、サブルーチン、サブプログラムに対応する。プロセスが機能に対応するとき、その停止は、コール機能あるいはメイン機能への機能のリターンに対応する。
さらに、本実施形態は、ハードウエア、ソフトウエア、ファームウエア、ミドルウエア、マクロコードあるいはそれらの組み合わせにより実装される。ソフトウエア、ファームウエア、ミドルウエアあるいはマクロコードにおいて実行された場合には、プログラムコードあるいは必要なタスクを実行するためのコードセグメントは種々の記憶媒体などの機械読取可能な媒体に記憶される。コードセグメントはプロシージャ、機能、サブプログラム、ルーチン、サブルーチン、モジュール、ソフトウエアパッケージ、クラス、あるいは指令、データ構造あるいはプログラムステートメントの組み合わせ、を含む。コードセグメントは、情報、データ、独立変数、パラメータあるいはメモリコンテンツを渡す及び/または受け取ることによって他のコードセグメントあるいはハードウエア回路に結合される。情報、独立変数、パラメータ、データなどは、メモリ共有、メッセージ渡し、トークン渡し、ネットワーク送信などを含む適切な手段を介して渡され、転送あるいは送信される。
概して、以下の記述は、例えば6桁クラスの比較的小型のデジタル署名を実現できる。このことは、署名が低帯域チャネルを介して送信される、署名が認証目的で概して人間の手で入力されるなどの種々の状況において便利に、容易に、安価に及び/または効率的に使用されることを可能にする。後者の場合、小型のデジタル署名はさらにユーザフレンドリなものになる。
以下の説明において、本発明に関する概念は本発明の説明のため及び/またはより良い理解のために説明される。特定の状況、理論及び/または数式の参照は一例を示すためであり、本発明の権利範囲を限定するためではない。
公開鍵署名
概して、今日使用されている公開鍵デジタル署名アルゴリズムには主として2つのクラスがある。
最も一般的なものはRSAシステムである。ここでは公開鍵は大きな合成数Nであり、Nをp*qに因数分解することの困難さが数学的に”難問題”であることの基礎となっている。現在の因数分解アルゴリズムが複雑さにおいて準指数関数的になっている。したがって、例えば80ビットの鍵によって対称型アルゴリズムを破ることと同等の安全さを維持することを仮定すると、法(モジュラス)Nとして約1024ビットが必要となる。RSAシステムにおけるデジタル署名は、Nと約同じサイズの整数である。デジタル署名の検証では、Nの(概して小さな)e冪乗を法として指数計算を実行しなければならない。
他の良く用いられるデジタル署名技術は、正確な実装によってエルガマル、シャノアあるいはデジタル署名(標準)アルゴリズムDSAと呼ばれている。これらの技術は素数Pを法として離散対数を計算することの困難さに基づいている。一番最初に発明されたのは、ディフィ・ヘルマン(D−H)鍵交換アルゴリズムであり、離散対数問題に依存している。エルガマルは当該D−Hのデジタル署名への応用である。シャノア及びDSAはデジタル署名のサイズを小さくするために特殊な方法を使用する。法Pは概して1024ビットである。
因数分解と離散対数の問題が繋がっていることに対する証明は存在しないが、いずれかの問題を解決するためのアルゴリズムは、他に適用可能な類似性をもっており、これが類似の鍵サイズが比較的安全なシステムを獲得する理由である。エルガマルデジタル署名は一対の数(r、s)に関連し、各数のサイズはPに匹敵する。これに対してシャノアの手法はより小さな署名を可能とし、rとsとは160ビット(80ビット安全性と同等)である。
楕円曲線デジタル署名はエルガマルの変形例であり、より小さな鍵と異なる計算とを用いる。しかしながら、得られる署名は最小の安全さを考慮して約320ビットである。
上記の技術のいずれかを使用したときに実用上最も短いデジタル署名は320ビットである。10進数で表現すると、これは、大文字及び小文字、桁、一対の句読点の通常の符号化を使用すると、90桁の数あるいは約55文字になる。したがって、ユーザが例えばデジタル署名を正確にタイプ入力することは大変不便で困難な作業である。
数学的背景
以下の議論では、離散対数を計算することに伴う問題点について説明する。この問題は実質的にディフィ・ヘルマンであるが、因数が公知となっていないモジュロである合成数Nは、RSAシステムに類似するものである。
例えば、離散対数問題は以下の処理から開始される。整数N、g、Xが与えられたとき、X≡gx(mod N)を満たすxを見つける。従来の離散対数システムにおいて、Nは概して素数であり、gは、Nを法とする乗法群の大きな素数位数の部分群の生成元である。説明を容易にするために、合成数Nが使用される。Nを法とする離散対数問題を解決することは、Nを因数分解する能力を意味する。ここで、N≡3(mod 4)かつN=pq、p、qは素数、Nはいわゆるブラム整数である。以下では、Nは素数pとqの積を表すものとする。
中国人の余剰定理(CRT)もまた有用な技術である。単純な場合、任意の整数X mod Nは一対の整数(a、b)として表現でき、ここでa≡X(mod p) かつb≡X(mod q)である。2つの表現形式の間で変換することは容易なことである。Nを法とする所望の解答に戻す前に、しばしば後者の表現を用いて乗算及び累乗などの演算を実行することは都合がよい。2つの因数で表現されるが、それは多数の因数に一般化できる。因数分解の一意性の定理は、どの整数も素数冪の積として一意の表現をもっていることを述べている。その結果、CRTは概して素因数に関連して用いられる。
さらに、小さな素因数のみをもつ整数は滑らか(smooth)であると呼ばれる。ここでの“小さい”は、概して滑らか境界Bの観点から定義される。素因数の1つに関してp、p−1が滑らかであるならば、合成数を因数分解するのにポラードのp−1アルゴリズムが使用可能である。P−1が滑らかであるならば、素数Pを法とする離散対数を計算するのに同様のアルゴリズムの変形例が使用可能である。特にそれを構成するのにCRTを使用することによって、Nのすべての素数を法とする離散対数を計算することが可能であるならば、ポーリッヒ・ヘルマンアルゴリズムは、合成数Nを法とする離散対数を計算することができる。
さらに、ディフィ・ヘルマン(D−H)鍵交換アルゴリズム規約は以下のように動作する。例えば、アリスとボブなどの2者あるいは両エンティティは、共通の法Nと、Nを法とする単位群の大きな部分群の生成元gの使用に関して合意する。通常、D−Hは素数を法として動作するが、ここでは合成数が使用される。通常、アリスとボブはそれぞれ秘密鍵a、bを選択し、続いて、A=g(mod N)及びB=gb(mod N)をそれぞれ計算してA、Bを交換する。次に、アリスは、共有秘密値S=B(mod N)≡gab(mod N)を計算し、ボブは共有秘密値S=Ab (mod N)≡gab(mod N)を計算する。盗聴者は通常、Nを法とする離散対数問題を解決することなしにSを計算することができない。
さらに、2,3の暗号学上の原始関数(primitive)を以下に説明する。1つはメッセージ認証コード(MAC)であり、ここではメッセージに付けるタグを生成するのに秘密の対称鍵が使用される。同じ秘密鍵をもつエンティティはタグが正しいことを検証することができるが、これはタグは鍵を知っている誰かによって生成され、メッセージは改竄されなかったことを意味する。また、擬似乱数器(PRG)は比較的小さな入力値であり、それを任意の所望のサイズのランダム状の出力値に“伸張”する。
上記2つの関数はハッシュ関数、ストリーム暗号、あるいはブロック暗号から既知の手法により構成される。例えばSHA−256などのハッシュ関数(HASH)は、ディフィ・ヘルマン(D−H)鍵交換アルゴリズムから引き出される共有秘密値をハッシュすることによって鍵を引き出すのに使用される。最後に、鍵の生成にあたって、鍵を生成するのに暗号学的に安全な乱数の生成元が使用される。
システム概略
離散対数に基づくシステムを使用するデジタル署名には概して2つの部分がある。一方は一時的公開鍵であり、他方は、ディフィ・ヘルマン共有秘密Sから引き出される対称鍵を用いて署名された文書のMACである。一時的公開鍵はしばしば大型である。これは、例えば署名者であるアリスがランダムに選択された秘密鍵からそれを生成し、概して鍵を生成する場合にほとんどあるいは全く制約がないからである。
以下に述べる実施形態において、一時的公開鍵は、小さな語句または少数の文字を公開鍵として使用できるものに引き伸ばすために、PRGを用いて生成される。小さな数は例えば、数列、選択された数、乱数、時間、アルファベット、英数字の語句、記号(符号)文字、あるいはそれらの組み合わせである。次に、法Nの特別な構成を使用するとともにその因数を知ることによって、アリスは自身の公開鍵を効率よく“破壊して”、対応する秘密鍵を見つけることができる。攻撃者はその因数分解を知らないのでそのようなことはできない。MAC関数は署名されるべきデータと引き出された鍵とともに使用される。当該鍵はデータを認証するために文脈において有用な任意のサイズに切断される。ここでは、出力MACを生成するのに使用される鍵は、続いて任意の通信のためのセッション鍵としても使用することも可能である。
短い署名はオフライン計算においてもともと攻撃されやすいことに注目されたし。したがって、これらの署名は特定の認証者に向けたものとなる。それらはその場での認証(ログイン、ATM取引など)あるいは短い時間依存性(time-sensitive)のメッセージの検証においてより有用である。認証者は、2因数認証を用いたり、失敗の回数が多い場合にはそのアカウントを不作動にするなどによって、力づくの攻撃(ブルートフォースアタック)を防止するためにさらなる方策を用いることができる。
したがって、秘密鍵を記憶して必要な計算を実行するために何らかのデバイスが使用される。これは認証のための因数の1つを形成する。2因数認証に関して、パスワード、個人識別番号(PIN)あるいは生物測定(バイオメトリック)など(これらに限定されない)種々の第2の因数が実行される。例えば、PIN番号は認証デバイスに入力されて署名デバイスの鍵を開けるのに使用される及び/又は署名計算それ自身に組み込まれる。
したがって、アリスの秘密鍵は、例えば携帯電話など彼女が所持する任意のデバイス内に保持される。概して、それは、乱数からデバイス内で生成され、彼女が新たな携帯電話を入手したときに、バックアップとして再構成するのに使用される“秘密共有”の形態を除いてけっして外部に出されない。
以下の議論において、説明のために“6桁の番号”の署名を用いることとする。しかしながら、当業者ならば、6桁未満、6桁以上あるいは6桁の他のワード、符号化された英数字あるいは入力デバイスに適した任意のものが使用されることを認識するであろう。これは認証者が異なれば異なるものである。6(10進法)桁の数は、約220の可能性をもち、8個の英数字からなるワードは340の可能性をもつ。これはブルートフォースアタックから保護するために十分な大きさである。以下にいくつかの使用法について述べる。ここで、ここで述べる使用法は一例であり、当業者ならば、他の使用法及び/又は以下に述べる使用法内での変形例が用いられることを認識するであろう。
イントラネットログイン:彼女の会社のイントラネットにログオンするにあたって、アリスは“BigCom”を入力するために彼女の電話などのデバイスを使用する。電話は6桁の番号を表示する。次にアリスは彼女の名前をタイプし、パスワードのフィールドに彼女のパスワードと認証番号とをタイプ入力する。この場合、デジタル署名は当該番号が要求されるごとに増大される連続番号に基づく。イントラネット認証サーバは、パスワードと認証番号とを検証するとともに、リプレイ攻撃を防ぐために前記連続番号を使用する。
電話による認証:アリスが電話を介して例えば株式仲買人などの第3者に対して彼女自身を認証することを望んでいることを想定する。アリスのパスワードは彼女の電話を介して入力される。次にこのパスワードは署名の計算に組み込まれる。最終的な番号がパスワードとしてタイプ入力される。この方法は、例えば、署名が電話を介して読み出されるかあるいはDTMFトーンとして送信される場合に好適する。当該パスワードが株式仲買人あるいは盗聴者に知られないようにすることが望ましい。
物理的アクセス:例えばオフィスビルなどの構造物に入るために、アリスは彼女の電話アプリケーションで”office”を選択して彼女の従業員番号と署名番号とをタイプ入力する。これは、音、DTMFトーン、赤外線、ブルーツースあるいはRFIDを使用して送信することにより自動化される。
ホームエントリ:アリスが家に戻ったとき、彼女はPIN番号を電話に入力することによりドアを開ける。これは認証アプリケーションをアンロックする効果をもつ。このことは、ドアコントローラが彼女の鍵に用いるべく構成されたパスワードをもつ必要はないが、アリスの電話を盗むことは家に入るのに十分ではないことを意味する。次に彼女は、ドアを制御しているスタンドアロンデバイスに最終的な番号を入力する。このデバイスは、異なる公開鍵の番号を認識するようにあらかじめ構成されている。アリスと彼女の家族一員に関して、それは入力を許可するのはどの鍵(すなわちどの家族一員)かを決定するために署名番号を使用する。(ここでも送信方法が自動化されていることが望ましい)。
システム実装
概して、認証プロセスには多くの段階がある。説明の都合上、ここではアリスは署名するエンティティであり、ビクターは認証するエンティティであることを想定する。認証プロセスは以下の手順で行われる。
1.アリスは彼女の公開鍵を生成する。アリスは生成した公開鍵を彼女が望むだけ多くの異なる認証者に関して使用できるので、一度だけ公開鍵の生成を行えばよい。しかしながら、当業者ならば、異なる認証者あるいは認証者の組に関して2つまたはそれ以上の複数の公開鍵を生成することを認識するであろう。
2.ビクターはアリスの公開鍵を受信して記憶し、それを例えばアカウント、ロック及び自動車などを安全にするのに適切なオブジェクトと関連つける。ここで互いに信頼する必要の複数の認証者が存在することに注意されたし。
3.ビクターはアリスとの使用のための、自身の私有−公開鍵対を生成し、それをアリスに送信する。アリスはこれをビクターとの相互通信のために記憶する。この鍵対はアリスのNを法として計算されねばならず、他の署名者によって使用できないことに注意されたし。
4.アリスとビクターとは入力値を同期させる。入力値はランダムな数かまたは英数値であるので、これを行うのに数列を使用することは効果的である。数列が使用されるならば、署名プロセスへの入力は通信される必要はない。代わりに、短い乱数が署名の一部として使用される。
5.アリスがビクターに対して彼女を認証することを欲するときはいつでも、彼女は、入力値の現在値に基づいて短い認証子(authenticator)を効率よく生成してそれをタイプし、電話を介して読み、それをDTMFトーンを使用してそれを可聴状態で送信するかあるいは必要な他の種々の手段を用いてそれを通信する。
上記のプロセスで、第1のステップは一度だけ発生する。結果は公開鍵なので、例えば公開ディレクトリなどに公開された、認証者による次の認証を容易にするために、例えば認証機関(Certificate Authority)に提出される。ステップ2−4は各認証者に独自のものであり、アリスとビクターの公開鍵は大きいので、ステップ2及び3はオンラインで実行される必要がある。アリスは法Nの因数分解を知っているので、ビクターの公開鍵を‘破って’、彼の秘密鍵を回収することができる。しかし、この秘密鍵はアリスにとって特殊なものである。したがって、アリスはそれを実行する特別な動機をもたない。
図1は、例えばデジタル署名を生成するためにアリスによって使用される例示的なデバイス100を示す。デバイス100は、入力値から擬似乱数列値を生成するように構成された擬似乱数生成器(PRG)110を備える。デバイス100は法N及び、公開鍵として使用される擬似乱数列値をもとにして1つの値を生成するように構成された鍵生成ユニット120を含む。鍵生成ユニット120はさらに生成された公開鍵に対応する私有鍵を生成するように構成されている。さらに、デバイス100は、認証エンティティの公開鍵値を受信するように構成された受信器130と、モジュロNと、私有鍵値と、認証者の公開鍵値とに基づいて共有秘密値を生成するように構成された秘密鍵生成ユニット140と、共有秘密鍵を用いて認証署名値を計算するように構成されたMACユニット150と、認証署名値あるいはデジタル署名を送信するように構成された送信ユニット160とを具備する。
図2は、装置100に対応する例示的装置200を示しており、例えばビクターによって受信したデジタル署名を認証するのに用いられる。装置200は、認証署名値を受信するように構成された受信ユニット210と、入力値から擬似乱数列値を生成するように構成されたPRGユニット220と、モジュラスN及び擬似乱数列値に基づいて公開鍵値を生成するように構成された鍵生成ユニット230と、モジュラスNと、私有鍵値と、公開鍵値とに基づいて共有秘密値を生成するように構成された秘密値生成ユニット240と、共有秘密鍵を用いて認証署名値を計算するように構成されたMACユニット250と、受信した認証署名値と計算した認証署名値とを比較するように構成された比較ユニット260とを具備する。認証署名が一致するならば、受信した認証署名は認証されたことになる。
概して、あるエンティティのデジタル署名は、他のエンティティによって認証されるが、この2つのエンティティは、以下に述べるように共通モジュラスNの使用に関して合意している。装置100は、必要に応じて種々の情報またはデータを記憶するように構成された記憶ユニット170、必要に応じて暗号化を行うように構成された暗号化ユニット180、ユーザが装置100と対話可能なように構成されたユーザインタフェース190などのさらなる要素を具備することができるが、これらに限定されることはない。同様に、装置200は、必要に応じて種々の情報またはデータを記憶するように構成された記憶ユニット270、必要に応じて復号を行うように構成された復号ユニット280などのさらなる要素を具備することができるが、これらに限定されることはない。
装置100の動作に影響を与えることなしに要素110−190のいずれか1つあるいは任意の組み合わせを再配置することができる。同様にして、装置200の動作に影響を与えることなしに要素210−280のいずれか1つあるいは任意の組み合わせを再配置することができる。さらに、装置100の動作に影響を与えることなしに要素110−190のいずれか1つあるいは任意の組み合わせを組み合わせとして実行することができる。同様にして、装置200の動作に影響を与えることなしに要素210−280のいずれか1つあるいは任意の組み合わせを組み合わせとして実行することができる。装置100及び200の動作について以下に詳細に説明する。
以下の説明では説明をわかりやすくするために法Nは1024ビットであることを想定する。しかしながら、サイズは1024ビットより小さくてもよくあるいは1024ビットよりも大きくてもよい。実際のサイズは本質的ではなく、サイズを増大すれば暗号化に関してより大きな安全性が得られるが、計算上のオーバヘッドが大きくなりコスト増大につながる。さらに、他の特定の値、理論及び/またはアルゴリズムの引用は説明を容易にするための単なる一例である。したがって、当業者ならば、異なる値、理論及び/またはアルゴリズムを用いることができる。
ステップ1:アリスの公開鍵を生成すること
このシステムにおける公開鍵は、合成数からなる法Nと、単位群の生成元g(すなわち、Nを法とする(乗法の逆数をもつ元)とを具備する。概して、例えば、2は少なくとも半分は満足な生成元であり、したがって、真になるまで可能なNsを生成するとともに変数gの可能性を無視してもよい。
Nは以下の基準を満たすように不規則的に生成される。
1.Nは素数pとqの積である。N≡3mod 4(すなわち、Nはブラム数)
2.2はNを法とする単位群の生成元である、あるいはそのような生成元である小さなgを見つける。
3.(p−1)/2は大きな素数p1とp2との積である。同様にして、(q−1)/2は大きな素数q1とq2との積である。
4.p1、p2、q1、q2はそれぞれ滑らかである。すなわち、(p1−1)及び(p2−1)、(q1−1)(q2−1)は例えば1000000以下の異なる素数の積である。
Nを生成する工程は実際下から上に向かって進行する。1000000以下には約50000の素数が存在するが、そのうちの約12が4つの第3段階の因数(four third stage factor)(全体で約50)の各々に対して必要となる。約2.8×10170の組み合わせが存在するので、候補が不足することはない。工程は長いが一度だけ実行される。とり得るNsの数は、約10305 の1024ビット素数の比較的小部分であるが、その特別な特性にもとづく探索を防止するのに満足する数より以上である。
50000前後の基礎となる素数のテーブルがアプリケーションによって提供され、鍵生成の後に廃棄されるかあるいはエラトステネスのふるいを使用して動的に生成される。候補としての大きな素数の素数性のチェックは、試行割算法(trial division)などの既知のアルゴリズムを使用して行われ、その後にミラー・ラビンアルゴリズムのような確率素数性チェックアルゴリズムが複数ラウンド実行される。
アリスの秘密鍵は、上記したすべての種々の素数であり、それらが組み合わされてNを形成する。種々の中国人剰余定理の計算を行うためのさらなるデータが記憶される。
ステップ2:公開鍵を取り出すこと
アリスの公開鍵は法N(かつg(それが定数2でない場合))をもとにしている。これはアリスが彼女の身元をビクターに証明したときに、ビクターに直接送信されるかあるいは、彼女の公開鍵を含む認証を生成する認証機関に送信されて必要に応じて配布される。公開鍵なので、ビクターがアリスとの接続を確信している限り、それがどのようにしてビクターに到達するかは全然問題にならない。
公開鍵なので、多くの異なる状況において同じような鍵が認証のために使用可能であり、鍵が配布される方法は柔軟であり、公開鍵インフラストラクチャ(PKI)認証、LDAP/アクティブディレクトリなどを含めることができる。
ステップ3:ビクターの公開鍵対
ビクターはディフィ・ヘルマン鍵交換アルゴリズムに関して通常の方法でアリスとの間で使用される鍵対を生成する。すなわち、彼は乱数vを選択してV=g(mod N)を計算する。Vは公開鍵であり、アリスに対して送信される必要がある(アリスがビクターとの接続を確信している限りにおいて公開鍵は極秘のものではない)。ビクターの秘密鍵vはアリスにとって独自のものでなくてはならない、すなわち、彼は申込者が異なるならば異なるvsを使用しなければならない。彼は、アリスに関連するパスワード/生体情報とともに、認証/認可データベースにvを記憶する。
ステップ4:数列の同期化
認証署名を作成するときに、アリスとビクターとにより使用可能な入力項目あるいは入力値が必要である。短い署名ならば、この入力は数列のように暗に同期化されるかあるいはそれは小さな乱数であるか、現在の時間に関連しているか、署名が適用されるデータであってもよい。リプレイ攻撃からの保護が重要であるが、数列は単純な方法でこの保護を提供する。署名が何らかの方法で送信されたデータに適用されるならば、当該データ自身はある程度リプレイ攻撃に対処できる。
説明を簡単にするために、アリスとビクターとは数列を使用することを想定する。この数列はゼロに初期化されるが、認証番号が生成/受諾されるたびに増加される。ビクターが最後に数列iに関する署名を見たならば、彼は、数例i+1、i+2、...比較的小さな限度、を仮定して署名をチェックする。署名が受諾された場合には、リプレイ攻撃を防ぐために数列はその値に更新される。時間を基準としたシステムならば、例えば、現在の時間の小さな範囲内の時間値をもとにして署名を受諾する。
ステップ5:認証署名の生成/チェック
説明を簡単にするために署名すべき入力値あるいはデータ項目を(それが数列、時間スタンプ、あるいはある種の短いメッセージであるにしろ)Aと呼ぶことにする。
1.Aは伸張される。D=PRG(A)mod Nを計算する。PRGは、入力から任意の長さの擬似乱数列を生成することを思い出していただきたい。PRGは、法(モジュラス)内に存在するのと同等のビットを生成する。その程度のビットが生成されるが、それらは有用ではない。そこで、安全のために、Nを法とする整数上で略一様に配布されることが望ましい。無視できる確率でDの無効な値が生成されるであろう。非常に小さな値であるかあるいはGCD(D,N)≠1となる値である(この場合、Nは偶発的に素因数分解された)。
2.ディフィ・ヘルマン鍵交換アルゴリズムにおいて、Dはアリスの公開鍵として使用される。このプロセスを完了させるために、彼女は対応する秘密値(d)を知る必要がある。これを実行するために、彼女はNを法とする離散対数問題を解決することになる。アリスは、種々の数の因数の詳細のすべてを知っているのでこれを行うことができる。
a.pを法とし、qを法とする対応する離散対数から中国人の余剰定理を用いて、秘密値dが計算される。
b.ポーリッヒ・ヘルマンアルゴリズムを使用して、p1及びp2を法とする離散対数を計算することによって、pを法とする離散対数が決定される。qについても同様である。
c.再びポーリッヒ・ヘルマンアルゴリズムを使用して、p1−1の全ての素因数を法とする離散対数を見つけることによって、p1を法とする離散対数が決定される。
d.fを法とする離散対数の計算は、fが10000000よりも小さい素数であるとき、ポラード・ローアルゴリズム、指数計算あるいはブルートフォースによって管理可能な時間内に行うことができる。これは、ここではfの約50の値について行う必要がある。
3.アリスは、通常のディフィ・ヘルマン鍵交換アルゴリズムによって共有秘密値Sを計算する。S=HASH(Vd(mod N))。数列が使用された場合には、この段階までのステップは、認証署名が送信されるまでにすべて計算されることに注意されたし。その場合、例えば電話などの装置はSのすでに計算された値を使用し、次のステップが完了した後、次のSの比較的高価な計算を開始する。
4.アリスは、a=MAC(S)として送信される認証署名すなわちデジタル署名を計算する。あるいは、認証署名は、a=MAC(S、入力値)、a=MAC(S、d[PIN])、a=MAC(S、入力値、d[PIN])あるいはa=MAC(S、d[入力値、PIN])、などの他の値を入力値として用いて生成される。しかしこれらに限定されないことは勿論である。ここで、d[ ]は、dを用いた[]の暗号化を意味する。次に、認証署名は適切な長さに切断された後、所望の形態に変換される。PIN/パスワード及び/または入力値が個別に送信される場合には、ここでの計算に含まれない。
5.アリスはどうにか彼女のメッセージ(おそらく空である)と認証署名aとを送信する。これは単に、数字キーパッド上で6桁の数をタイプ入力することにより行うことができる。
6.ビクターは前記認証署名を受信して、Aが何であるか(それが現在の数列であるか現在の時間であるかあるいは受信メッセージであるか)を知る。彼は、D=PRG(A)をアリスと同様の方法で計算する。
7.ビクターは共有秘密値S=HASH(Dd(mod N))を計算する。
8.ビクターは受信したaが、彼がアリスと同じ方法で計算したものと同じであるかどうかをチェックする。
9.署名が一致するならば認証は成功したとみなされる。PIN/パスワードが別個に送信された場合にはそれも一致することになる。数列の方法が使用された場合には、ビクターは現在の数列をA+1に更新する。
因数の1つ−1が滑らかならば、ポラードのp−1アルゴリズムはNを素因数分解できることに注意されたし。p及びqはこの可能性を避けるために特別に選択された。(p−1及びq−1が両方とも滑らかであるときにこの方法を使用することが可能であることに注意されたし。これは、p−1及びq−1の因数のすべてに関して特別な選択を必要とし、結果的に、公開鍵を破るためのアリスの作業は、Nを因数分解するための攻撃者の作業の平方根となることに帰着する。他のレイヤの大きな素数を導入することによって、大きな利点が得られる。)Nの構造が他の因数分解アルゴリズムが乱数Nの場合よりも良い確率で成功することを可能にすることはない。
成功した認証の最後に、共有秘密値Sはセッション鍵あるいは共有秘密鍵として使用されることに注意されたし。しかし、これは帯域が制限されている場合には効率的ではない。また、アリスがビクターの公開鍵Vを受信したとき、彼女は、v(アリスといっしょに使用されるビクターの秘密鍵)を取得するために彼女自身の一時的な値に関して行うのと同様の方法でそれを”破る“ことができる。実際に起こったことは、彼のvをアリスに送信するために公開鍵方法がビクターに関して使用されたということである。上で説明したことの残りは、共有されたvをセッション鍵すなわち共有秘密鍵として使用するときでさえも、アリスの装置及びビクターの装置で全く同様に実行される。
したがって、デジタル署名及び認証の生成が実行される。図3は、上記したNを共有の法として使用することに関して合意した2つのエンティティ間の認証に使用される例示的方法300を示している。方法300において、入力値から擬似乱数列値が生成される(310)。この入力値は上記したとおりのものであり、ユーザが入力したデータに基づく。例えば、ユーザ入力データは、数列、乱数、現在の時刻、アルファベット文字の語、アルファベット文字のフレーズ、英数字の作品、あるいは英数字のフレーズであるが、これに限定されない。
次に、認証または署名エンティティのための公開鍵が、入力値を引き伸ばすすなわち伸張し、Nを法とする引き伸ばされた入力値を解決することによって、法N及び上記した擬似乱数列値に基づいて生成される(320)。同様にして公開鍵値に対応する私有鍵値が生成される(330)。私有鍵値は、Nを法とする離散対数問題を解決することによって生成される。例えば、私有鍵値は、中国人の余剰定理、ポーリッヒ・ヘルマンアルゴリズムそしてポラード・ローアルゴリズムを用いて生成される。
次に、共有秘密値が、法N、私有鍵値そして検証者の公開鍵値に基づいて生成される(340)。ここで、検証者の公開鍵は、共有秘密値の生成に先立つ任意の時点で受信される。共有秘密値を用いて認証署名値すなわちデジタル署名が生成される(350)。あるいは、認証署名は、共有秘密値とPINまたはパスワードを用いて生成される。あるいは、認証署名は、共有秘密値、入力値そしてPINを用いて生成される。PINが使用される場合、このPINは署名エンティティから受信され、認証署名において使用すべく暗号化される。入力値とPIN(必要であるとき)とは、検証者が暗号化された鍵を復号することが可能な限り、私有鍵あるいは他の認可された暗号鍵を用いて暗号化される。さらに、認証署名値を生成するのに使用されるならば、(暗号化された)入力値及び/又は暗号化されたPINは検証者に送信される。ある場合には、入力値は認証署名の中で用いられ、例えば数列が使用されるならば、送信されないことに注意されたし。
その後、認証署名値は検証エンティティに送信される。認証署名値は送信に先立って切断してもよい。
方法300を獲得及び/又は実行するのに種々の方法が実行される。例示的装置100を使用するならば、PRGユニット110は擬似乱数列値を生成し、鍵生成ユニット120は公開鍵と私有鍵とを生成し、秘密鍵生成ユニット140は秘密値を生成し、MACユニット150は認証署名を計算する。記憶ユニット170は合意された共通の法に関連するデータ及び/又は情報に加えて、装置100の動作に必要な他のデータ及び/又は情報を記憶する。受信器ユニット130は検証者の公開鍵を受信する。送信器ユニット160は認証署名及び必要に応じて入力値を送信する。さらに、暗号化ユニット180は入力値及び/又はPINを暗号化し、ユーザインタフェース190はユーザ入力データ及びPINを受信するのに使用される。さらに、認証署名は、生成された後、送信に先立って、MACユニット150によってあるいは例えば(図示せぬ)プロセッサあるいは送信器ユニット160などの別個の要素によって切断される。
図4は、共通の法Nの使用に関して合意した2つのエンティティ間の認証での使用のための方法300に対応する例示的方法400を示している。方法400において、認証署名値は認証すべく受信される(410)。認証のために、擬似乱数列値が入力値から生成される(420)。ここでは、擬似乱数列値は方法300と同じ方法によって生成される。
次に、法N及び擬似乱数列値に基いて方法300と同じ方法によって公開鍵が生成され(430)、法N、私有鍵値、公開鍵に基いて方法300と同じ方法によって共有秘密値が生成される(440)。ここで、私有鍵は署名エンティティの公開鍵に対応する私有鍵であり、方法300と同じ方法によって生成される。すなわち、私有鍵は、Nを法とする離散対数問題を解決することによって生成可能である。
認証署名値は共有秘密値を用いて方法300と同じ方法によって生成される(450)。したがって、認証署名はまた、入力値または暗号化された入力値を用いて生成される。あるいは、認証署名は、共有秘密値及びPINまたはパスワードを用いて生成される。あるいは、認証署名は、共有秘密値、入力値及びPINを用いて生成される。PINが用いられる場合には、暗号化されたPINが署名エンティティから受信されて、認証署名において使用される。入力値が使用される場合には、ときとして入力値が署名エンティティから受信される。しかしながら、場合によっては、例えば数列が使用されるならば入力値を受信する必要はない。
受信された認証署名値は計算された認証署名値と比較される(460)。受信された認証が認証署名の切断部分であった場合には、受信された認証署名値は計算された認証署名値の切断された部分と比較される。2つの署名値が一致するならば、受信された認証署名が認証されたことになる。ここでは、認証プロセスにおいてPINが使用される。すなわち、2つの因数認証を提供するために、署名エンティティに対応するPINが記憶される。すなわち、暗号化されたPINが受信されたならば、PINは復号されて、記憶されているPINと比較される。両方の認証署名値とPINとが一致するならば、認証署名は認証されたことになる。検証者が暗号化鍵を復号できるという条件で、入力値及び必要ならばPINが署名エンティティの私有鍵あるいは他の合意された暗号化鍵を用いて復号される。
方法400を獲得及び/又は実行するために種々の手段が実装される。例示的装置200を使用するならば、受信器ユニット210は認証署名値と入力値及び/又は必要ならば暗号化されたPINを受信する。PRGユニット220は擬似乱数列値を生成し、鍵生成ユニット230は公開鍵と私有鍵を生成し、秘密値生成ユニット240は共有秘密値を生成し、MACユニット250は認証署名を計算し、比較ユニット260は、認証署名及び必要に応じてPINを比較する。記憶ユニット270は合意された共通の法に関連するデータ及び/又は情報に加えて、装置200の動作に必要な他のデータ及び/又は情報を記憶する。復号ユニット280は入力値及び/又は必要に応じてPINを復号する。
このようにしてデジタル署名が生成されて送信され、認証される。
種々の他の認証が達成可能であることに注意されたい。例えば図5は、他のエンティティの法Nに基いて生成された公開鍵が受信される(510)他の方法500を示している。Nを法とする離散対数問題を解決することによって、受信された公開鍵に対応する私有鍵が生成される(520)。その後、検証者の公開鍵に対応する私有鍵は、2つのエンティティ間での将来の通信における共有鍵あるいは対称鍵として使用される(530)。
さらに、方法300、400そして500は、600として示される記憶媒体610及びプロセッサ620によって実行される。記憶媒体610は方法300,400そして500を実行するように構成された命令を具備する。プロセッサ620は例えば記憶媒体に記憶された命令を実行することによって方法300、400そして500の動作を制御する。
さらに、デジタル署名は短いので、空間及び帯域制限があるすべての状況に対処することができる。例えば、それらは電話を介して読み出したり、キーパッドに入力したり、手書き入力することもできる。したがって、それらは一般的な状況において偽造を完全に防ぐことはできない。それであっても、一般的な状況においてそのような署名が使用可能である。例えば、署名は時間依存性を持たせて短い時間の間だけ有効となるように実装可能である。また、署名入力は比較的盗聴できにくくすることができる(例えば、局所検証を行うドア上のキーパッドに署名を入力する)。また、認証が短時間に連続して2,3回以上成功しなかった場合、検証エンティティはある時間不作動にされるかあるいは締め出される。このことは、PINが連続して3回まちがって入力されたときに、ATMがカードを“食べる”のと原理的に類似している。
他の方法として、署名は特別な検証エンティティに関して、すなわち、署名は一人の特定の検証者自身の公開鍵に特定して生成されることが考えられる。この場合においても、認証動作が何回も失敗したならば検証者は当該アカウントを締め出すことができる。しかしながら、署名は必ずしも時間に依存したものにする必要はなく、アクセス行為は時間間隔を置くこともできる。これはログインパスワードの現在のやり方と類似している。
最後に、アリスとビクターをエンティティとして実施形態を説明したが、他の種類のエンティティも適用できることは勿論である。また、特定の条件及び値を参照して実装の例を説明したが、一般的な認証方法に影響を与えることなしに他の条件及び値を使用することは勿論である。
したがって、上記の実施形態は一例であり、本発明を制限するものと解釈されることを意図していない。実施形態の記述は例示的であり、特許請求の範囲を限定するものではない。したがって、本発明の教義は、他の種類の装置にも容易に適用可能であり、当業者ならば多くの代替例、変更例、変形例を思いつくことが可能である。
以下の図面を参照して種々の実施形態を詳細に説明する。ここで同じ要素については同じ参照番号を用いることとする。
図1は、デジタル署名を生成するためにエンティティによって使用される例示的デバイスを示す。 図2は、デジタル署名を認証するために検証エンティティによって使用される例示的デバイスを示す。 図3は、デジタル署名を生成するのに用いられる例示的方法を示す。 図4は、デジタル署名を認証するのに使用される例示的方法を示す。 図5は、認証に使用される他の例示的方法を示す。 図6は、認証に使用される他の例示的デバイスを示す。

Claims (42)

  1. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための方法であって、
    入力値から擬似乱数列値を生成することと、
    前記法Nと前記擬似乱数列値とに基づいて第1の公開鍵値を生成することと、
    前記第1の公開鍵値に対応する第1の私有鍵値を生成することと、
    第2の公開鍵値を受信することと、
    前記法Nと、前記第1の私有鍵値と、前記第2の公開鍵値とに基づいて、共有秘密値を生成することと、
    を具備する方法。
  2. 前記共有秘密値を用いて認証署名値を計算することと、前記認証署名値を送信することと、をさらに具備する請求項1記載の方法。
  3. 前記認証署名値を切断すること、をさらに具備し、前記認証署名値を送信することは、切断された認証署名値を送信することを含む請求項2記載の方法。
  4. 前記認証署名値を計算することは、前記共有秘密値と前記入力値とを用いて認証署名値を計算することを含む請求項2または請求項2に従属する請求項3記載の方法。
  5. パスワード値を受信することと、
    前記第1の私有鍵値を用いて前記パスワード値を暗号化することと、
    前記暗号化されたパスワード値を送信することと、
    をさらに具備する請求項2または請求項2に従属する請求項3,4のいずれかに記載の方法。
  6. 前記認証署名値を計算することは、前記共有秘密値と前記暗号化されたパスワード値とを用いて前記認証署名値を計算することを含む請求項5記載の方法。
  7. 前記第1の私有鍵値を生成することは、
    前記Nを法とする離散対数問題を解決することによって前記第1の私有鍵値を生成することを含む請求項1から6のいずれか1つに記載の方法。
  8. ユーザ入力データを受信することをさらに具備し、前記入力値は前記ユーザ入力データに基づく請求項1から7のいずれか1つに記載の方法。
  9. 前記入力値を送信することをさらに具備する請求項1から8のいずれか1つに記載の方法。
  10. 前記Nを法とする離散対数問題を解決することによって前記第2の公開鍵に対応する第2の私有鍵を生成することと、
    前記第2の私有鍵を共有秘密鍵として用いることと、をさらに具備する請求項1から9のいずれか1つに記載の方法。
  11. 請求項1から10のいずれか1つに記載の方法の実行を制御するように構成されたプロセッサ。
  12. 請求項1または請求項1に従属する請求項2−10のいずれか1つに記載の方法を実行する指令を記憶するように構成された記憶媒体。
  13. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置であって、
    入力値から擬似乱数列値を生成するための手段と、
    前記法Nと前記擬似乱数列値とに基づいて第1の公開鍵値を生成するための手段と、
    前記第1の公開鍵値に対応する第1の私有鍵値を生成するための手段と、
    第2の公開鍵値を受信するための手段と、
    前記法Nと、前記第1の私有鍵値と、前記第2の公開鍵値とに基づいて、共有秘密値を生成するための手段と、
    を具備する装置。
  14. 前記共有秘密値を用いて認証署名値を計算するための手段と、前記認証署名値を送信するための手段と、をさらに具備する請求項13記載の装置。
  15. 前記認証署名値を切断するための手段をさらに具備し、前記認証署名値を送信することは、切断された認証署名値を送信することを含む請求項14記載の装置。
  16. 前記認証署名値を計算するための手段は、前記共有秘密値及び/または前記入力値を用いて認証署名値を計算することを含む請求項14または請求項14に従属する請求項15記載の装置。
  17. パスワード値を受信するための手段と、
    前記第1の私有鍵値を用いて前記パスワード値を暗号化するための手段と、
    前記暗号化されたパスワード値を送信するための手段と、
    をさらに具備する請求項14または請求項14に従属する請求項15、16のいずれか1つに記載の装置。
  18. 前記認証署名値を計算するための手段は、前記共有秘密値と前記暗号化されたパスワードとを用いて前記認証署名値を計算するための手段を含む請求項17記載の装置。
  19. 前記第1の私有鍵値を生成するための手段は、
    前記Nを法とする離散対数問題を解決することによって前記第1の私有鍵値を生成するための手段を含む請求項13または請求項13に従属する請求項14から18のいずれか1つに記載の方法。
  20. Nを法とする離散対数問題を解決することによって前記第2の公開鍵に対応する第2の私有鍵を生成するための手段と、
    前記第2の私有鍵を共有秘密鍵として用いるための手段と、をさらに具備する請求項13または請求項13に従属する請求項14から19のいずれか1つに記載の装置。
  21. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置であって、
    入力値から擬似乱数列値を生成するように構成された擬似乱数生成器と、
    前記法Nと前記擬似乱数列値とに基づいて第1の公開鍵値を生成するとともに、前記第1の公開鍵値に対応する第1の私有鍵値を生成するように構成された鍵生成ユニットと、
    第2の公開鍵値を受信するように構成された受信器ユニットと、
    前記法Nと、前記第1の私有鍵値と、前記第2の公開鍵値とに基づいて、共有秘密値を生成するように構成された秘密値生成ユニットと、
    を具備する装置。
  22. 前記共有秘密値を用いて認証署名値を計算するように構成されたメッセージ認証コードユニットと、
    前記認証署名値を送信するように構成された送信器ユニットと、をさらに具備する請求項21記載の装置。
  23. 前記送信器ユニットは、切断された認証署名値を送信する請求項22記載の装置。
  24. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための方法であって、
    第1の認証署名値を受信することと、
    入力値から擬似乱数列値を生成することと、
    前記法N及び前記擬似乱数列値とに基づいて第1の公開鍵値を生成することと、
    前記法Nと、私有鍵値と、前記第1の公開鍵とに基づいて共有秘密値を生成することと、
    前記共有秘密値を用いて第2の認証署名値を計算することと、
    前記第1の認証署名値と、前記第2の認証署名値とを比較することと、
    を具備する方法。
  25. 前記第1及び第2の認証署名値を比較することは、前記第1の認証署名値と、前記第2の認証署名値の切断部とを比較することを含む請求項24記載の方法。
  26. 前記入力値を受信することをさらに具備する請求項24または25記載の方法。
  27. 前記認証署名値を計算することは、前記共有秘密値と前記入力値とを用いて前記認証署名値を計算することを含む請求項24または請求項24に従属する請求項25、26のいずれか1つに記載の方法。
  28. 暗号化されたパスワード値を受信することと、
    前記第1の公開鍵値を用いて前記パスワード値を復号することと、
    前記復号されたパスワード値を検証することと、
    をさらに具備する請求項24または請求項24に従属する請求項25から27のいずれか1つに記載の方法。
  29. 前記認証署名値を計算することは、前記共有秘密鍵値と前記暗号化されたパスワード値とを用いて前記認証署名値を計算することを含む請求項28記載の方法。
  30. 請求項24または請求項24に従属する請求項25から29のいずれか1つに記載の方法の実行を制御するように構成されたプロセッサ。
  31. 請求項24または請求項24に従属する請求項25から29のいずれか1つに記載の方法を実行するための命令を記憶するように構成された記憶媒体。
  32. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置であって、
    第1の認証署名値を受信するための手段と、
    入力値から擬似乱数列値を生成するための手段と、
    前記法N及び前記擬似乱数列値に基づいて第1の公開鍵値を生成するための手段と、
    前記法Nと、私有鍵値と、前記第1の公開鍵とに基づいて共有秘密値を生成するための手段と、
    前記共有秘密値を用いて第2の認証署名値を計算するための手段と、
    前記第1の認証署名値と、前記第2の認証署名値とを比較するための手段と、
    を具備する装置。
  33. 前記第1及び第2の認証署名値を比較するための手段は、前記第1の認証署名値と、前記第2の認証署名値の切断部とを比較することを含む請求項32記載の装置。
  34. 前記入力値を受信するための手段をさらに具備する請求項32または33記載の装置。
  35. 前記認証署名値を計算するための手段は、前記共有秘密値と前記入力値とを用いて前記認証署名値を計算するための手段を含む請求項32または請求項32に従属する請求項33,34のいずれか1つに記載の装置。
  36. 暗号化されたパスワード値を受信するための手段と、
    前記第1の公開鍵値を用いて前記パスワード値を復号するための手段と、
    前記復号されたパスワード値を検証するための手段と、
    をさらに具備する請求項32または請求項32に従属する請求項33から35のいずれか1つに記載の方法。
  37. 前記認証署名値を計算するための手段は、前記共有秘密値と前記暗号化されたパスワード値とを用いて前記認証署名値を計算するための手段を含む請求項36記載の方法。
  38. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置であって、
    第1の認証署名値を受信するように構成された受信器ユニットと、
    入力値から擬似乱数列値を生成するように構成された擬似乱数生成器と、
    前記法N及び前記擬似乱数列値に基づいて第1の公開鍵値を生成するように構成された鍵生成ユニットと、
    前記法Nと、私有鍵値と、前記第1の公開鍵とに基づいて共有秘密値を生成するように構成された共有秘密値生成ユニットと、
    前記共有秘密値を用いて第2の認証署名値を計算するように構成されたメッセージ認証コードユニットと、
    前記第1の認証署名値と、前記第2の認証署名値とを比較するように構成された比較ユニットと、
    を具備する装置。
  39. 前記比較ユニットは、前記第1の認証署名値と、前記第2の認証署名値の切断部とを比較する請求項38記載の装置。
  40. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための方法であって、
    前記法Nに基づいて生成された公開鍵値を受信することと、
    Nを法とする離散対数問題を解決することによって、前記公開鍵値に対応する私有鍵を生成することと、
    前記私有鍵を共有秘密鍵として用いることと、
    を具備する方法。
  41. 前記私有鍵を生成することは、中国人剰余定理を用いて前記私有鍵を計算することを含む請求項40記載の方法。
  42. 共通の法Nを使用することについて合意した2つのエンティティ間の認証における使用のための装置であって、
    法Nに基づいて生成された公開鍵値を受信するための手段と、
    Nを法とする離散対数問題を解決することによって、前記公開鍵値に対応する私有鍵を生成するための手段と、
    前記私有鍵を共有秘密鍵として用いるための手段と、
    を具備する装置。
JP2007557199A 2005-02-25 2006-02-24 認証のための小型の公開鍵を用いたデジタル署名 Pending JP2008532389A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US65679605P 2005-02-25 2005-02-25
PCT/US2006/006650 WO2006091844A1 (en) 2005-02-25 2006-02-24 Small public-key based digital signatures for authentication

Publications (1)

Publication Number Publication Date
JP2008532389A true JP2008532389A (ja) 2008-08-14

Family

ID=36580003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007557199A Pending JP2008532389A (ja) 2005-02-25 2006-02-24 認証のための小型の公開鍵を用いたデジタル署名

Country Status (11)

Country Link
US (2) US8437473B2 (ja)
EP (1) EP1851902A1 (ja)
JP (1) JP2008532389A (ja)
KR (1) KR20070104939A (ja)
CN (1) CN101129018A (ja)
AU (1) AU2006216517A1 (ja)
CA (1) CA2598811A1 (ja)
MX (1) MX2007010388A (ja)
RU (1) RU2007135358A (ja)
TW (1) TW200704103A (ja)
WO (1) WO2006091844A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018142013A (ja) * 2014-01-31 2018-09-13 グーグル エルエルシー 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
JP2020532177A (ja) * 2017-08-23 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2598811A1 (en) 2005-02-25 2006-08-31 Qualcomm Incorporated Small public-key based digital signatures for authentication
US7882358B2 (en) * 2007-01-15 2011-02-01 Microsoft Corporation Reversible hashing for E-signature verification
US8001383B2 (en) 2007-02-01 2011-08-16 Microsoft Corporation Secure serial number
TWI402715B (zh) 2007-03-23 2013-07-21 Via Tech Inc 應用程式保護系統及方法
WO2009145734A1 (en) * 2008-05-27 2009-12-03 Agency For Science, Technology And Research A method and system for sharing data
US20090313171A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Electronic transaction verification
US8188840B2 (en) * 2008-09-19 2012-05-29 Userstar Information System Co., Ltd. Authenticating method and identification system
US9112910B2 (en) * 2008-10-14 2015-08-18 International Business Machines Corporation Method and system for authentication
US20100199095A1 (en) * 2009-01-30 2010-08-05 Texas Instruments Inc. Password-Authenticated Association Based on Public Key Scrambling
US8582775B2 (en) * 2009-02-12 2013-11-12 General Motors Llc Method of securing and authenticating data using micro-certificates
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
EP2334008A1 (en) 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
FR2963519B1 (fr) 2010-07-27 2012-08-03 St Microelectronics Rousset Protocole de communication sur bus unifilaire
FR2963451B1 (fr) * 2010-07-27 2012-12-07 St Microelectronics Rousset Authentification d'une communication multiprotocole
US9553725B2 (en) * 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
US10797864B2 (en) * 2011-11-21 2020-10-06 Combined Conditional Access Development And Support, Llc System and method for authenticating data while minimizing bandwidth
IN2013MU01234A (ja) 2013-03-28 2015-04-10 Tata Consultancy Services Ltd
US9425961B2 (en) 2014-03-24 2016-08-23 Stmicroelectronics S.R.L. Method for performing an encryption of an AES type, and corresponding system and computer program product
CN104954130B (zh) * 2014-03-31 2019-08-20 西安西电捷通无线网络通信股份有限公司 一种实体鉴别方法及装置
CN106464501B (zh) * 2014-04-09 2020-09-25 Ictk控股有限公司 认证装置及方法
US9949115B2 (en) 2014-06-10 2018-04-17 Qualcomm Incorporated Common modulus RSA key pairs for signature generation and encryption/decryption
US9705859B2 (en) * 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
CN106936792A (zh) * 2015-12-30 2017-07-07 卓望数码技术(深圳)有限公司 安全认证方法和系统以及用于安全认证的移动终端
US11128478B2 (en) * 2017-03-01 2021-09-21 Apple Inc. System access using a mobile device
EP3701669B1 (en) 2017-10-22 2023-09-06 Lg Electronics, Inc. Cryptographic methods and systems for managing digital certificates
US11190363B2 (en) 2018-01-11 2021-11-30 Lg Electronics, Inc. Cryptographic methods and systems using activation codes for digital certificate revocation
US11184180B2 (en) 2018-02-05 2021-11-23 Lg Electronics, Inc. Cryptographic methods and systems using blinded activation codes for digital certificate revocation
US10757572B2 (en) * 2018-11-01 2020-08-25 Qualcomm Incorporated Identity based signature in system information protection
CN110190950B (zh) * 2019-06-11 2021-04-27 飞天诚信科技股份有限公司 一种安全签名的实现方法及装置
US11526271B2 (en) * 2019-07-30 2022-12-13 Topaz Systems, Inc. Electronic signature capture via secure interface
US11777917B2 (en) 2020-10-15 2023-10-03 Cisco Technology, Inc. Multi-party cloud authenticator
CN115080949A (zh) * 2021-03-12 2022-09-20 华为技术有限公司 电子设备解锁方法及相关设备
CN113259103B (zh) * 2021-06-16 2021-11-09 北京信安世纪科技股份有限公司 签名方法及装置、验证方法及装置、设备及存储介质
CN117240477B (zh) * 2023-11-13 2024-02-23 泉州信息工程学院 一种基于rsa算法的数字签名方法、系统及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0897813A (ja) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd 通信方法および装置
JP2000056680A (ja) * 1998-08-07 2000-02-25 Dainippon Printing Co Ltd Icカード内鍵生成システム
JP2002009752A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号システムにおける復号化装置、暗号化装置、暗号データ復号化方法、及び記憶媒体
JP2002026899A (ja) * 2000-06-20 2002-01-25 Internatl Business Mach Corp <Ibm> アドホック無線通信用検証システム
JP2002540721A (ja) * 1999-03-25 2002-11-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチノード暗号及び鍵配信
JP2002344438A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> 鍵共有システム及び装置並びにプログラム
JP2003529109A (ja) * 2000-03-28 2003-09-30 ジェムプリュス 互いに素数である整数から電子鍵を生成する装置および方法
JP2005051368A (ja) * 2003-07-30 2005-02-24 Kyocera Corp 通信装置、基地局装置及び通信システム
JP2005094173A (ja) * 2003-09-16 2005-04-07 Hitachi Ltd 暗号鍵生成装置及び暗号鍵を複数のシステムで共有する方法
JP2005175992A (ja) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp 証明書配布システムおよび証明書配布方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0146437B1 (ko) * 1995-05-26 1998-09-15 조백제 인증교환 방법, 복원형 전자서명 방법, 부가형 전자서명 방법, 키교환 방법, 복원형 다중전자서명 방법, 부가형 다중전자서명 방법 및 블라인드 전자서명 방법
KR100565916B1 (ko) * 2001-06-12 2006-03-30 리서치 인 모션 리미티드 이동 데이터 통신 장치와 교환을 위해 보안 이메일을압축하는 시스템 및 방법
US20030059041A1 (en) * 2001-06-26 2003-03-27 Mackenzie Philip D. Methods and apparatus for two-party generation of DSA signatures
ATE465571T1 (de) * 2001-08-13 2010-05-15 Univ Leland Stanford Junior Systeme und verfahren zur verschlüsselung auf identitätsbasis und damit zusammenhängende kryptografische techniken
FR2834403B1 (fr) * 2001-12-27 2004-02-06 France Telecom Systeme cryptographique de signature de groupe
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
US7187770B1 (en) * 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
US8442219B2 (en) * 2004-03-31 2013-05-14 Jesse Lipson Public key cryptographic methods and systems
US20060215837A1 (en) * 2004-12-18 2006-09-28 Hewlett-Packard Development Company, L.P. Method and apparatus for generating an identifier-based public/private key pair
CA2598811A1 (en) 2005-02-25 2006-08-31 Qualcomm Incorporated Small public-key based digital signatures for authentication

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0897813A (ja) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd 通信方法および装置
JP2000056680A (ja) * 1998-08-07 2000-02-25 Dainippon Printing Co Ltd Icカード内鍵生成システム
JP2002540721A (ja) * 1999-03-25 2002-11-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マルチノード暗号及び鍵配信
JP2003529109A (ja) * 2000-03-28 2003-09-30 ジェムプリュス 互いに素数である整数から電子鍵を生成する装置および方法
JP2002009752A (ja) * 2000-06-20 2002-01-11 Casio Comput Co Ltd データ暗号システムにおける復号化装置、暗号化装置、暗号データ復号化方法、及び記憶媒体
JP2002026899A (ja) * 2000-06-20 2002-01-25 Internatl Business Mach Corp <Ibm> アドホック無線通信用検証システム
JP2002344438A (ja) * 2001-05-14 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> 鍵共有システム及び装置並びにプログラム
JP2005051368A (ja) * 2003-07-30 2005-02-24 Kyocera Corp 通信装置、基地局装置及び通信システム
JP2005094173A (ja) * 2003-09-16 2005-04-07 Hitachi Ltd 暗号鍵生成装置及び暗号鍵を複数のシステムで共有する方法
JP2005175992A (ja) * 2003-12-12 2005-06-30 Mitsubishi Electric Corp 証明書配布システムおよび証明書配布方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018142013A (ja) * 2014-01-31 2018-09-13 グーグル エルエルシー 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
JP2020532177A (ja) * 2017-08-23 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法

Also Published As

Publication number Publication date
CA2598811A1 (en) 2006-08-31
EP1851902A1 (en) 2007-11-07
US8437473B2 (en) 2013-05-07
TW200704103A (en) 2007-01-16
CN101129018A (zh) 2008-02-20
US8799664B2 (en) 2014-08-05
US20090003597A1 (en) 2009-01-01
RU2007135358A (ru) 2009-03-27
AU2006216517A1 (en) 2006-08-31
WO2006091844A1 (en) 2006-08-31
KR20070104939A (ko) 2007-10-29
US20130227297A1 (en) 2013-08-29
MX2007010388A (es) 2007-10-18

Similar Documents

Publication Publication Date Title
US8799664B2 (en) Small public-key based digital signatures for authentication
US9628273B2 (en) Cryptographic method and system for secure authentication and key exchange
JP5201136B2 (ja) 匿名認証システムおよび匿名認証方法
US8589693B2 (en) Method for two step digital signature
EP1383265A1 (en) Method for generating proxy signatures
Chakrabarti et al. Password-based authentication: Preventing dictionary attacks
KR20100024605A (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
MacKenzie et al. Delegation of cryptographic servers for capture-resilient devices
Shakiba Security analysis for chaotic maps-based mutual authentication and key agreement using smart cards for wireless networks
JP2011250335A (ja) 効率的相互認証方法,プログラム,及び装置
Dowlatshah et al. A secure and robust smart card-based remote user authentication scheme
KR101014849B1 (ko) 제 3의 신뢰기관의 도움 없이 공개키에 대한 상호 인증 및키 교환 방법 및 그 장치
Meher et al. A location-based multi-factor authentication scheme for mobile devices
CN118174853A (zh) 一种基于口令加固的门限单点登录认证方法
JP5099771B2 (ja) 二要素認証システム
Chang et al. Authentication schemes with no verification table
Surya et al. Single sign on mechanism using attribute based encryption in distributed computer networks
Giri et al. A three factor remote user authentication scheme using collision resist fuzzy extractor in single server environment
JP5392741B2 (ja) Rsaをベースとしたパスワード認証方式及びその応用
Saxena Dynamic authentication: Need than a choice
Rizal Nurjaman et al. Strengthening the security of deniable authentication scheme using zero-knowledge proof
Sahoo et al. A light weight three factor based authentication scheme for multi-server environment using smart cards
Tsague et al. DS-NIZKP: A ZKP-based strong authentication using digital signature for distributed systems
Lee et al. Improving two novel three-party encrypted key exchange protocols with perfect forward secrecy
HK1114970A (en) Small public-key based digital signatures for authentication

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110405