JP2001060947A - 相互ネットワーク認証方法 - Google Patents

相互ネットワーク認証方法

Info

Publication number
JP2001060947A
JP2001060947A JP2000210117A JP2000210117A JP2001060947A JP 2001060947 A JP2001060947 A JP 2001060947A JP 2000210117 A JP2000210117 A JP 2000210117A JP 2000210117 A JP2000210117 A JP 2000210117A JP 2001060947 A JP2001060947 A JP 2001060947A
Authority
JP
Japan
Prior art keywords
public key
server
client
function
message space
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
JP2000210117A
Other languages
English (en)
Inventor
Philip Douglas Mackenzie
ダグラス マッケンジー フィリップ
Ram Swaminathan
スワミナサン ラム
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies 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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2001060947A publication Critical patent/JP2001060947A/ja
Pending legal-status Critical Current

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/302Public 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 integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

(57)【要約】 【課題】 安全性を証明可能なパスワード単独相互認証
プロトコルを実現する。 【解決手段】 クライアントは、サーバから受信した公
開鍵が、公開鍵暗号方式のすべての公開鍵の集合のテス
ト可能スーパーセットの要素であるかどうかを決定す
る。そのような要素でない場合、認証はクライアントに
よって拒否され、そうでない場合、プロトコルは続行さ
れる。一実施例では、クライアントとサーバはいずれ
も、認証目的で使用される1つのパスワードを所有す
る。クライアントは、少なくとも公開鍵およびパスワー
ドの関数としてパラメータpを生成する。公開鍵空間マ
ッピング関数FPKをpに作用させた結果FPK(p)が公
開鍵のメッセージ空間の要素である場合、クライアント
が、公開鍵を用いて公開鍵のメッセージ空間の実質的に
ランダムな要素を暗号化し、その結果と、FPK(p)と
の間で、公開鍵メッセージ空間の群演算を実行する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク認証
および鍵交換に関し、特に、パスワード単独で(passwor
d-only)安全な相互ネットワーク認証および鍵交換プロ
トコルに関する。
【0002】
【従来の技術】ネットワークを通じての認証は、リモー
トクライアントがネットワークサーバにアクセスするこ
とを可能にするシステムの安全性(セキュリティ)の重
要部分である。認証は一般に、次のうちの1つ以上を確
認することによって実行される。 ・ユーザが知っているもの(例えばパスワード) ・ユーザ自体、すなわち、指紋のような生物測定学的情
報 ・ユーザが持っているもの、すなわち、スマートカード
のような何らかの識別トークン 例えば、現金自動預入支払機(ATM)は、これらのう
ちの2つ、すなわち、ユーザが持っているもの(ATM
カード)と、ユーザが知っているもの(個人識別番号
(PIN:personal identification number)とを確認
する。ATM認証は、データネットワークを通じての認
証よりもずっと簡単である。その理由は、ATM自体が
信頼されたハードウェアであるとみなされており、AT
Mカードの存在を確認し、正しい情報を安全に中央取引
サーバに転送することが信頼されているからである。
【0003】認証に加えて、鍵交換は、データネットワ
ークを通じての通信の重要部分である。クライアントと
サーバが認証された後、安全な通信チャネルをそれらの
間に設定しなければならない。これは一般に、クライア
ントとサーバが、認証の後の通信中に使用するための鍵
を交換することによって実行される。
【0004】データネットワーク、特に、インターネッ
トのような公衆データネットワークを通じての認証は困
難である。その理由は、クライアントとサーバの間の通
信が多くの異なるタイプの攻撃を受けやすいからであ
る。例えば、盗聴攻撃では、敵は、クライアントとサー
バの間の通信を傍受することによって秘密の情報を知る
ことがある。敵がパスワード情報を知った場合、敵は、
その情報を再生(リプレイ)してサーバに送って真正な
クライアントになりすますことが可能となる(リプレイ
攻撃(replay attack)という)。リプレイ攻撃は、クラ
イアントから送られたパスワードが暗号化されている場
合でも有効である。その理由は、敵は、実際のパスワー
ドを知る必要がなく、代わりに、サーバが真正なクライ
アントから期待するもの(この場合は、暗号化されたパ
スワード)をサーバに提供すればよいからである。もう
1つのタイプの攻撃にスプーフィング(spoofing)攻撃が
ある。この攻撃では、敵がサーバになりすまし、クライ
アントは、真正なサーバと通信していると信じるが、実
際は、そうではなく敵と通信しているというものであ
る。このような攻撃では、クライアントは敵に機密情報
を提供してしまうことがある。
【0005】さらに、パスワードに基づく認証プロトコ
ルでは、パスワードが弱く、辞書攻撃を受けやすい可能
性がある。辞書攻撃とは、目的のパスワードに関するい
くつかの既知情報に対して、多数の可能性のあるパスワ
ード(例えば、英語辞書内の全単語)をテスト(検査)
することによって実行される、パスワードに対する力づ
くの攻撃である。既知情報は、例えば、公に入手可能な
情報や、上記の方法のうちの1つにより敵によって取得
された情報である。ユーザはしばしば、容易に覚えら
れ、容易に推測されるパスワードを選択するため、辞書
攻撃はしばしば有効である。
【0006】ネットワーク認証にはさまざまな技術が知
られている。これらの知られている技術は、2つの分類
に分けることができる。第1の分類は、クライアントシ
ステム上に永続的に記憶されたデータを必要とする技術
からなる。第2の分類は、クライアントシステム上に永
続的に記憶されたデータを必要としない技術からなる。
【0007】第1の分類に関して、永続的に記憶された
データには、決して暴露されてはならない秘密データ
(例えば、認証サーバと共有する秘密鍵)や、秘密では
ないが改竄されてはならない機密データ(例えば、認証
サーバの公開鍵)がある。いずれのタイプの永続的デー
タでも、敵からの攻撃からデータを守るために、追加の
安全性が必要である。さらに、パスワードおよび永続的
記憶データの両方に基づく認証プロトコルを使用する場
合、一方に対する危険により、他方が攻撃を受けやすく
なることがある。例えば、秘密鍵が危険にさらされる
と、パスワードに対する辞書攻撃が可能となる。この第
1分類のプロトコルでのもう1つの問題は、永続的記憶
データが鍵の生成および配送を必要とすることである。
これは面倒なことがあり、一般に、システムの自由度が
低くなる。
【0008】第2分類は、パスワード単独認証プロトコ
ルと呼ばれる。クライアントに永続的記憶データが不要
であるからである。クライアントは、真正なパスワード
を提供することができるだけでよい。潜在的に弱いパス
ワードを用いて強力な安全性および認証を提供するとい
うことは矛盾しているように思われるかもしれない。し
かし、安全であるように設計されたパスワード単独ユー
ザ認証および鍵交換プロトコルがいくつか存在する。こ
れらのプロトコルについては、D. Jablon, "Strong Pas
sword-Only Authenticated Key Exchange", ACM Comput
er Communication Review, ACM SIGCOMM, 26(5):5-20,
1996、に記載されている。これらのパスワード単独プロ
トコルのうち注目に値するものには以下のものがある。 ・暗号化された鍵交換(EKE:Encrypted Key Exchan
ge)(S. M. Bellovinand M. Merritt, "Encrypted Key
Exchange: Password-Based Protocols Secure Against
Dictionary Attacks", Proceedings of the IEEE Symp
osium on Research in Security and Privacy, pp.72-8
4, 1992、を参照) ・拡張EKE(A−EKE:Augmented-EKE)(S. M. B
ellovin and M. Merritt, "Augmented Encrypted Key E
xchange: A Password-Based Protocol SecureAgainst D
ictionary Attacks and Password File Compromise", P
roceedings ofthe First Annual Conference on Comput
er and Communications Security, 1993, pages 244-25
0、を参照) ・修正EKE(M−EKE:Modified EKE)(M. Stein
er, G. Tsudik, and M. Waidner, "Refinement and Ext
ension of Encrypted Key Exchange", ACM Operating S
ystem Review, 29:22-30, 1995、を参照) ・単純パスワードEKE(SPEKE:Simple Passwor
d EKE)およびディフィ・ヘルマンEKE(DH−EK
E:Diffie-Hellman EKE)(D. Jablon, "Strong Passw
ord-Only Authenticated Key Exchange", ACM Computer
CommunicationReview, ACM SIGCOMM, 26(5):5-20, 199
6、を参照) ・安全なリモートパスワードプロトコル(SRP:Secu
re Remote Password Protocol)(T. Wu, "The Secure
Remote Password Protocol", Proceedings ofthe 1998
Internet Society Network and Distributed System Se
curity Symposium, pages 97-111, 1998、を参照) ・オープン鍵交換(OKE:Open Key Exchange)(Ste
fan Lucks, "Open KeyExchange: How to Defeat Dictio
nary Attacks Without Encrypting Public Keys", Secu
rity Protocol Workshop, Ecole Normale Superieure,
April 7-9, 1997、を参照)
【0009】
【発明が解決しようとする課題】これらの知られている
パスワード単独認証プロトコルの問題点は、これらが安
全であることが証明されていないことである。実際、E
KEプロトコルは、いくつかの数論的攻撃を受けやすい
可能性がある(S. Patel, "Number Theoretic Attacks
on Secure Password Schemes", Proceedings of the IE
EE Symposium onResearch in Security and Privacy",
pages 236-247, 1997、を参照)。ネットワーク安全性
の重要性に鑑み、安全であることが証明可能なパスワー
ド単独相互認証プロトコルが必要とされている。
【0010】
【課題を解決するための手段】本発明は、公開鍵暗号方
式を利用して安全なパスワード単独相互ネットワーク認
証プロトコルを提供する。このプロトコルを実現するた
めに用いられる特定の公開鍵暗号方式は、いわゆる使用
可能(usable)暗号方式(定義は後述)でなければならな
い。ネットワークサーバは、公開鍵暗号方式に従って公
開鍵・秘密鍵の対を生成し、公開鍵をクライアントに送
信する。クライアントは、受信した公開鍵が、公開鍵暗
号方式のすべての公開鍵の集合のいわゆるテスト可能ス
ーパーセット(定義は後述)の要素であるかどうかを決
定する。この決定が可能であるのは、公開鍵暗号方式が
使用可能であることが要求されているからである。公開
鍵がテスト可能スーパーセットの要素であるかどうかに
関するクライアントによる決定は、クライアントに、サ
ーバが適当な方法で選択した公開鍵を提供したかどうか
を決定する方法を提供する。公開鍵がテスト可能スーパ
ーセット内にないことがわかった場合、認証はクライア
ントによって拒否される。そうでない場合、プロトコル
は続行される。
【0011】本発明の一実施例では、クライアントとサ
ーバはいずれも、認証目的で使用される1つのパスワー
ドを所有する。この実施例では、クライアントは、少な
くとも公開鍵およびパスワードの関数としてパラメータ
pを生成することによりプロトコルを続行する。公開鍵
空間マッピング関数FPKをpに作用させた結果F
PK(p)が、公開鍵のいわゆるメッセージ空間の要素で
ある場合、クライアントが、公開鍵を用いて公開鍵のメ
ッセージ空間の実質的にランダムな要素を暗号化し、そ
の結果と、FPK(p)との間で、公開鍵メッセージ空間
の群演算を実行することによって、プロトコルは続行さ
れる。一方、FPK(p)がメッセージ空間の要素でない
場合、クライアントは認証を拒否することを決定する。
しかし、仮にクライアントがこの時点で拒否をサーバに
通知したとすると、サーバはパスワードに関する有用な
情報を抽出することができる可能性がある。そのため、
クライアントは、認証を拒否することを決定しても、サ
ーバに情報を漏らさないようにプロトコルを続行する。
クライアントは、プロトコルの後のほうで、サーバがパ
スワードに関する有用な情報を得ることができなくなっ
たときに、認証を拒否する。
【0012】本発明の第2実施例では、サーバにおける
安全性の危険に対する保護のために、サーバは、パスワ
ードを所有せず、その代わりにサーバには、パスワード
の関数である値が提供され、サーバはそれを記憶する。
パスワード自体は、サーバに記憶された値から決定する
ことはできない。
【0013】本発明の第3および第4の実施例は、使用
可能公開鍵暗号方式としてRSA暗号方式を利用する。
これらの実施例によれば、サーバが提供した公開鍵がす
べてのRSA公開鍵の集合のテスト可能スーパーセット
の要素であるかどうかを決定するためにRSA固有テス
トを行う。さらに、ある値が、RSAメッセージ空間の
要素であるかどうかを決定するためにRSA固有テスト
を行う。第3実施例では、サーバが共有パスワードを記
憶する。第4実施例では、サーバは、パスワードの関数
である値を記憶する。
【0014】発明者は、本発明による相互認証プロトコ
ルは、基礎となる公開鍵暗号方式と同程度に安全である
ことを証明した。従って、RSA固有の実施例では、発
明者は、本発明のプロトコルがRSA暗号方式と同程度
に安全であることを証明したことになる。その証明の概
略は後述する。
【0015】
【発明の実施の形態】暗号は、二者間に安全な通信を提
供する周知の技術である。本発明のさまざまな実施例に
ついて説明する前に、いくつかの背景知識および基礎的
な用語について説明する。
【0016】まず、暗号方式について説明する。秘密鍵
暗号方式では、メッセージmは、暗号文Cを生成するた
めに、暗号化関数Eおよび秘密鍵Kを用いて暗号化され
る。これは、C=EK(m)と表される。暗号文Cは、
秘密鍵Kを共有する二者間で安全に送信される。暗号文
は、もとのメッセージmを回復するために、復号関数D
および秘密鍵Kを用いて復号される。これはm=D
K(C)と表される。
【0017】公開鍵暗号方式では、公開鍵(PK)およ
び秘密鍵(SK)の対(PK,SK)が存在する。公開
鍵は秘密ではなく、誰でも公開鍵を用いてメッセージm
を暗号化してC=EPK(m)となるような暗号文Cを生
成することが可能である。暗号文は、秘密鍵を用いての
み、m=DSK(C)と復号可能である。暗号文は、公開
鍵を用いては復号できない。公開鍵暗号は当業者に周知
である。
【0018】周知の公開鍵暗号方式の1つにRSAがあ
る。これは、R. Rivest, A. Shamir, L. Adleman, "A M
ethod for Obtaining Digital Signature and Public K
ey Cryptosystems", Communications of the ACM, vol.
21, 120-126, 1978、に記載されている。RSAでは、
公開鍵は(N,e)であり、秘密鍵は(N,d)であ
る。ただし、Nは、2つの大きいランダムに選択された
素数pとqの積であり(すなわち、N=p・q)、e
は、eと(p−1)・(q−1)の最大公約数が1であ
るような2より大きい任意の数であり、dは、e-1
od (p−1)・(q−1)である。暗号化関数は、
E(m)=me mod Nであり、復号関数は、D
(C)=Cd mod Nである。
【0019】次に、他のいくつかの暗号用語について説
明する。非公式的には、集合Sから集合Tへの関数fが
一方向性関数であるとは、S内のすべてのxに対してf
(x)を計算するのは容易であるが、T内のほとんどの
yに対しては、f(x)=yであるようなS内のxを見
つけることが計算量的に実現不可能であることである。
一方向性関数の一例は、法指数演算である。pを大きい
素数とし、gを、mod pの乗法群(すなわち、
1,...,p−1の範囲の数)の生成元とする。する
と、f(x)=gx mod pは一般に一方向性関数
であると仮定される。その逆関数(離散対数関数とい
う)は計算が困難である。また、離散対数関数の計算が
困難であるこの他の群(例えば、いくつかの楕円曲線
群)もある。ディフィ・ヘルマン鍵交換と呼ばれる鍵交
換プロトコル(W. Diffie and M. Hellman,"New Direct
ions in Cryptography", IEEE Transactions on Inform
ation Theory, vol.22, no.6, 644-654, 1976、を参
照)はこの関数に基づいている。具体的には、アリスと
ボブの二者が次のように秘密鍵を共有する。アリスが、
ランダムなxを選択し、X=gx mod pをボブに
送る。一方、ボブは、ランダムなyを選択し、Y=gy
mod pをアリスに送る。秘密鍵を、アリスはYx
mod pとして、ボブはXy mod pとして、
計算することができる(Yx=Xy=gxy mod pに
注意)。また、ディフィ・ヘルマン鍵交換は、離散対数
関数の計算が困難であるこの他の群(例えば、いくつか
の楕円曲線群)上でも実行可能である。非公式的には、
集合Sから集合Tへの関数hがランダムハッシュ関数で
あるとは、この関数がS内の入力xで計算されるまで
は、hの出力がランダムに見える、または、少なくとも
予測不能であることをいう。一般にこのようにふるまう
既知の関数は、SHA−1(FIPS 180-1, "Secure Hash
Standard", Federal Information Processing Standar
ds Publication 180-1, 1995、を参照)、およびRIP
EMD−160(H. Dobbertin, A. Bosselaers, B. Pr
eneel, "RIPEMD-160: a strengthened version of RIPE
MD", in Fast Software Encryption, 3rd Intl. Worksh
op, 71-82, 1996、を参照)である。
【0020】一般に、暗号方式は、その安全性のレベル
を記述する安全性パラメータを有する。本明細書では、
ハッシュ関数の安全性パラメータとしてkを用い(ただ
し、1/2kは無視できるほど小さいと仮定する)、公
開鍵暗号方式の安全性パラメータとしてlを用い、特
に、RSAの法Nは長さlビットであると仮定する。
【0021】本発明の第1実施例による相互認証プロト
コルを図1〜図2に示す。図の左側に示すステップはサ
ーバによって実行され、図の右側に示すステップはクラ
イアントによって実行される。矢印は、クライアントと
サーバの間の通信を表す。このプロトコルによれば、サ
ーバは自分自身をクライアントに対して認証し、クライ
アントは自分自身をサーバに対して認証する。両側が認
証をした後、それぞれ秘密鍵(セッション鍵という)を
生成する。この鍵は、その後の安全な通信に使用可能で
ある。
【0022】プロトコルを開始する前に、クライアント
とサーバはある情報を所有していると仮定する。サーバ
は、使用される特定の公開鍵暗号方式に従って公開鍵・
秘密鍵の対(PK,SK)を生成する。公開鍵・秘密鍵
の対の生成は当業者に周知であり、ここでは説明しな
い。サーバとクライアントはいずれも、クライアントが
サーバとの認証に使用するパスワードπ(すなわち、共
有の秘密)を所有する。パスワードπは、クライアント
とサーバの間で事前に設定されなければならず、各クラ
イアント・サーバ対ごとに独立に、あるいは、各クライ
アント・サーバ対ごとに一意的であるように、選択され
るべきである。
【0023】以下のプロトコルは、サーバおよびクライ
アントの両方を認証する。従って、サーバおよびクライ
アントはいずれも真正であるとは仮定されず、サーバま
たはクライアントのいずれかが敵である可能性もある。
クライアントは、自分自身を認証し、サーバにアクセス
しようとしている敵である可能性がある。サーバは、疑
いを持っていないクライアントから機密情報を得ようと
して別の真正なサーバのふりをしよう(スプーフィン
グ)としている敵である可能性がある。
【0024】当業者には直ちに明らかなように、サーバ
およびクライアントは、コンピュータプログラムコード
の制御下で動作するプログラムされたコンピュータとし
て実現可能である。コンピュータプログラムコードは、
コンピュータ可読媒体(例えばメモリ)に記憶され、コ
ードは、コンピュータのプロセッサにより実行される。
本明細書および図面が与えられれば、当業者は、ここで
説明するプロトコルを実装するために適当なコンピュー
タプログラムコードを直ちに作成することが可能であ
る。クライアントとサーバはデータネットワークを通じ
て互いに通信する。このようなネットワーク接続され
た、プログラムされたコンピュータは当業者に周知であ
り、ここではこれ以上詳細に説明しない。
【0025】図1〜図2において、プロトコルが開始さ
れると、ステップ110で、サーバはmを生成する。こ
れは、集合Ωのランダムな要素である。Ωは、2つの同
値なmの値を生成する確率が無視できることを保証する
ほど十分に大きい集合を表す。Ωは、後の鍵交換を可能
にするようなものとすることが可能である。ステップ1
12で、サーバは、mとPKをクライアントに送信す
る。上記のように、サーバは、プロトコルの開始前に
(PK,SK)の対を生成していると仮定する。ステッ
プ114で、クライアントは、ステップ112でサーバ
から受信したmが集合Ωに属しているかどうか、およ
び、PKが集合ε′(詳細は後述)に属しているかどう
かを決定する。これらのテストのいずれかが偽である場
合、クライアントは認証を拒否する。ステップ114の
テストはクライアントによって実行される。その理由
は、真正なサーバのふりをする敵は、クライアントがプ
ロトコルを実行した場合にこの敵がパスワードπに関す
る何らかの情報を知ることができるようにmおよびPK
を選択している可能性があるからである。
【0026】ここで、PKが集合ε′に属することの意
味について説明する。上記のように、プロトコルが正し
く動作するとともに機密情報を漏らさないために、公開
鍵・秘密鍵の対(PK,SK)は、使用される特定の公
開鍵暗号方式に従って適当に選択されなければならな
い。与えられた特定の公開鍵暗号方式に対して、ステッ
プ112でサーバから受信したPKが、この特定の公開
鍵暗号方式を用いて生成されるすべての可能な公開鍵の
集合εの要素であるかどうかを決定することができれば
理想的である。しかし、適当な時間内にこの決定をする
ことが可能な公開鍵暗号方式(プロトコルに要求される
すべての性質を有する)は知られていない。そこで、使
用可能公開鍵暗号方式およびテスト可能スーパーセット
ε′を次のように定義する。
【0027】公開鍵暗号方式が使用可能であるとは、ε
の次のようなテスト可能スーパーセットε′が存在する
ことである。 1.すべてのPK∈ε′に対して、sPK=|SPK|はk
に関して超多項式的である(すなわち、SPKの要素の個
数はkの多項式ではおさえられない)。ただし、S
PKは、PKと、すべての可能なメッセージの暗号化とを
用いて暗号化可能なすべての可能なメッセージの集合を
表す。この集合SPKを、公開鍵(PK)のメッセージ空
間という。 2.任意のPKに対して、PK∈ε′であるかどうかを
決定する多項式時間アルゴリズムが存在する。 3.すべてのPK∈ε′に対して、SPKから一様に1つ
の要素を取り出す期待多項式時間アルゴリズムが存在す
る。 4.すべてのPK∈ε′に対して、任意の値aについ
て、a∈SPKであるかどうかを決定する多項式時間アル
ゴリズムが存在する。 5.すべてのPK∈ε′に対して、整数η≧l+k、
{0,1}ηを定義域とする多項式時間計算可能な公開
鍵空間マッピング関数FPK、およびこの定義域の分割
【数1】 (この分割はPKにのみ依存する)が存在して、以下の
条件を満たす。 (a)sPKは多項式時間で計算可能である。 (b)i∈{1,...,sPK}に対して、FPK:XPK,i
→SPKは全単射である(すなわち、FPKは、各集合X
PK,iからSPKへの全単射を含む)。 (c)それぞれのa∈SPKおよびi∈{1,...,
PK}に対して、FPK(x)=aであるようなx∈X
PK,iを求める多項式時間アルゴリズムが存在する。 (d)与えられたx∈{0,1}ηに対して、x∈ZPK
であるかそれともx∈Z′PKであるかをテストする多項
式時間アルゴリズムが存在する。 (e)各x∈ZPKに対して、FPK(x)∈SPKでない。 (f)|Z′PK|/2ηは、安全性パラメータkに関し
て無視できる。 (g)E∈εである場合、|ZPK∪Z′PK|/2ηは、
安全性パラメータkに関して無視できる。
【0028】当業者であれば、この使用可能の定義は、
PKを用いて暗号化可能なメッセージの集合が、暗号化
されたメッセージの集合に等しくないような暗号方式を
含むように直ちに拡張することができる。当業者であれ
ば、ここに記載したプロトコルを、このような暗号方式
とともに使用するように直ちに修正することが可能であ
る。こうして、公開鍵PKに関して、ステップ114で
のテストで、PKが、εのテスト可能スーパーセット
ε′の要素であるかどうかを決定する。ステップ114
でのテストが偽である(すなわち、mはΩの要素であ
り、かつ、PKはε′の要素である)場合、認証は続行
される。しかし、ステップ114でのテストが真である
(すなわち、mがΩの要素でないか、または、PKが
ε′の要素でない)場合、認証はクライアントによって
拒否される。サーバがPKあるいはmを不適当な方法で
選択したからである。
【0029】ステップ116で、クライアントは、パラ
メータμを、集合Ωのランダムな要素として設定する。
ステップ118で、クライアントは、パラメータaを、
メッセージ空間SPKのランダムな要素として設定する。
ステップ120で、クライアントは、パラメータ(P
K,m,μ,π)のランダムハッシュ関数Hとしてパラ
メータpを計算する。ハッシュ関数Hは、十分なビット
数(少なくともη)を出力する上記のような任意のラン
ダムハッシュ関数とすることが可能である。
【0030】ステップ122で、公開鍵空間マッピング
関数FPKをpに作用させた結果FPK(p)がメッセージ
空間SPKの要素であるかどうかを決定する。FPK(p)
がS PKの要素でない場合、認証は拒否される。しかし、
ステップ122で、FPK(p)∈SPKでないと決定され
た場合、この時点で認証を終了するのは好ましくない。
その理由は、クライアントがこの時点で認証を終了した
場合、敵のサーバが、パスワードπについての何らかの
知識を得る可能性があるからである。従って、クライア
ントは、認証を拒否すると決定した場合でも、サーバと
のプロトコルを続行することが好ましい。そこで、ステ
ップ122でのテストが真である場合、クライアントは
q=aと設定する。q=aと設定する(aは、ステップ
118で、メッセージ空間の実質的にランダムな要素と
して選択された)ことによって、敵のサーバは、パスワ
ードπに関する情報を得ることがなくなる。ステップ1
22で、FPK(p)∈SPKと決定された場合、クライア
ントは、q=EPK(a)○FPK(p)を計算することに
よって認証プロトコルを進める。すなわち、aは公開鍵
を用いて暗号化され、FPK(p)が、公開鍵メッセージ
空間の群演算を用いて、暗号化結果に作用する。ステッ
プ124で、μ、qがサーバに送られる。
【0031】ステップ126で、サーバは、μ∈Ωかつ
q∈SPKであるかどうかを決定する。μ∈Ωでないか、
または、q∈SPKでない場合、サーバは認証を拒否す
る。そうでない場合、ステップ128で、サーバは、パ
ラメータ(PK,m,μ,π)のランダムハッシュ関数
Hとしてパラメータp′を計算する。このステップ12
8は、ステップ120について既に説明したのとに実行
される。ステップ130で、サーバは、FPK(p′)が
メッセージ空間SPKの要素であるかどうかを決定し、S
PKの要素でない場合、サーバは認証を拒否する。F
PK(p′)がメッセージ空間SPKの要素である場合、認
証は続行される。ステップ132で、サーバは、秘密鍵
SKを用いてq/FPK(p′)を復号することによって
a′を計算する(ここで/は、公開鍵メッセージ空間の
群演算の逆を表す)。ステップ134で、サーバは、ラ
ンダムハッシュ関数hをa′に作用させたものとしてr
を計算する。ステップ136で、サーバはrをクライア
ントに送る。
【0032】ステップ138で、クライアントは、FPK
(p)∈SPKかつr=h(a)であるかどうかを決定す
る。これらの条件が両方とも真である場合に限り、クラ
イアントはサーバを真正であるとして受け入れる。な
お、FPK(p)∈SPKでない場合には、クライアントは
既にステップ122でサーバを受け入れないと決定して
いるが、敵がステップ122での認証の拒否から情報を
得ることができないように認証プロトコルを続行してい
たことを想起すべきである。r=h(a)のテストは、
サーバが正しいパスワードπを所有していたかどうかを
テストする。そのため、ステップ138で、FPK(p)
∈SPKでないか、または、r≠h(a)であるためにク
ライアントが認証を拒否しても、サーバは、いかなる理
由で認証が拒否されたかを決定することができない。ス
テップ138で、クライアントが、サーバを受け入れる
と決定した場合、ステップ140で、クライアントは、
t=h′(a)を計算する。ただし、h′はランダムハ
ッシュ関数である。ステップ142で、クライアントは
tをサーバに送る。
【0033】ステップ146で、サーバは、t=h′
(a′)であるかどうかを決定する。t=h′(a′)
である場合、サーバは認証を受け入れる。そうでない場
合、サーバは認証を拒否する。クライアントおよびサー
バがいずれも認証を受け入れた場合、ステップ144
で、クライアントはセッション鍵を計算し、ステップ1
48で、サーバがセッション鍵を計算する。セッション
鍵は、共有秘密鍵として作用し、クライアントとサーバ
の間のその後の安全な通信のために使用される。このよ
うな方法での秘密鍵の使用は、公開鍵暗号の継続使用よ
りも、その後の安全な通信にとって効率的である。一実
施例では、セッション鍵Kは、サーバおよびクライアン
トの両方で、aのランダムハッシュ関数h″として、K
=h″(a)と計算される。代替実施例では、セッショ
ン鍵Kは、サーバおよびクライアントの両方で、ディフ
ィ・ヘルマンプロトコルを用いて、mおよびμをディフ
ィ・ヘルマンパラメータに選択して、計算される。当業
者には明らかなように、セッション鍵を計算するため
に、さまざまな代替法を使用可能である。
【0034】このようにして、図1〜図2について説明
したプロトコルは、上記で定義したように使用可能な公
開鍵暗号方式を用いて、クライアントとサーバの相互認
証を実現する。図1〜図2について説明したプロトコル
は、サーバがパスワードπを所有し記憶していることを
仮定している。このようなプロトコルの1つの潜在的な
問題点は、サーバ記憶領域の安全性が危険にさらされる
ことにより、敵が、クライアントのパスワードを取得す
ることが可能になることである。このような事態に対す
る保護のために、本発明の第2実施例では、サーバはパ
スワードπを所有せず、代わりに、パスワードπとsa
lt値の関数である値Xを記憶する。salt値は、敵
が各salt値ごとに別の辞書攻撃を実行するよう強制
することによって、複数のパスワードに対する同時の辞
書攻撃を妨げるために使用される公知の値である。値X
は、クライアントによってサーバに供給され、従って、
サーバは、Xを知るのみであり、Xの知識からπを決定
することはできない。クライアントは、XをX=g[x]
として計算する。ただし、gは離散対数の計算が困難な
ある群の生成元であり、x=H′(π,salt)であ
り、H′は一方向性ランダムハッシュ関数を表す。図1
および図2に示した第1実施例について上記で説明した
のと同様に、サーバは、使用される特定の公開鍵暗号方
式に従って公開鍵・秘密鍵の対(PK,SK)を生成す
る。
【0035】以下、本発明の第2実施例によるプロトコ
ルについて、図3〜図4とともに説明する。ステップ2
05で、クライアントは、クライアントのユーザ名をサ
ーバに送ることによってプロトコルを開始する。ステッ
プ210で、サーバは、Ωのランダムな要素としてmを
生成する。ステップ212で、サーバは、ステップ20
5で受信したユーザ名に対応するXおよびsaltを記
憶領域から取得する。ステップ214で、サーバは、
m、PKおよびsaltをクライアントに送る。ステッ
プ216で、クライアントは、ステップ214でサーバ
から受信したmが集合Ωに属しているかどうか、およ
び、PKがテスト可能スーパーセットε′に属している
かどうかを決定する。これらのテストのいずれかが偽で
ある場合、クライアントは認証を拒否する。そうでない
場合、認証は続行され、ステップ218で、クライアン
トは、ステップ214でサーバから受信したsaltを
用いてx=H′(π,salt)を計算する。ただし、
H′はランダムハッシュ関数である。ステップ220
で、クライアントは、パラメータμを、集合Ωのランダ
ムな要素として設定し、ステップ222で、クライアン
トは、パラメータaを、メッセージ空間SPKのランダム
な要素として設定する。ステップ224で、クライアン
トは、パラメータ(PK,m,μ,gx)のランダムハ
ッシュ関数Hとしてパラメータpを計算する。このステ
ップ224は、第1実施例のステップ120と同様であ
るが、この第2実施例では、pを決定する際のパラメー
タの1つとしてパスワードπを使用する代わりに、パス
ワードπの関数、すなわちgxを、パラメータの1つと
して使用する。その後、ステップ226、228、およ
び230は、上記のステップ122、124、および1
26で説明したのと同様に実行される。
【0036】ステップ232で、サーバは、パラメータ
(PK,m,μ,X)のランダムハッシュ関数Hとして
パラメータp′を計算する。このステップは、第1実施
例のステップ128と同様であるが、ステップ232で
は、サーバはπを知らないため、代わりに、ハッシュ関
数のパラメータとしてXを使用する。ステップ234、
236、および238は、上記のステップ130、13
2、および134で説明したのと同様に実行される。ス
テップ240で、集合Wのランダムな要素としてγを選
択する。ただし、Wは、相異なるgγの値からなる十分
に大きな集合を生じるgの可能な指数の集合を表す。ス
テップ242で、yをgγとおく。ステップ244で、
サーバは、rおよびyをクライアントに送る。ステップ
246は、上記のステップ1138で説明したのと同様
に実行される。ステップ248で、クライアントはt=
h′(a,yx)を計算し、ステップ250で、クライ
アントはtをサーバに送る。
【0037】ステップ254で、サーバは、t=h′
(a′,Xγ)であるかどうかを決定する。t=h′
(a′,Xγ)である場合、サーバは認証を受け入れ
る。そうでない場合、サーバは認証を拒否する。クライ
アントおよびサーバがいずれも認証を受け入れた場合、
ステップ252で、クライアントはセッション鍵を計算
し、ステップ256で、サーバがセッション鍵を計算す
る。
【0038】図1〜図2および図3〜図4を参照して上
記でそれぞれ説明した本発明の第1および第2実施例
は、上記のように使用可能であるという要件を満たす公
開鍵暗号方式とともに用いられる認証プロトコルであ
る。このような使用可能な公開鍵暗号方式の1つは、パ
ラメータを以下で説明するいくつかの制約に従って選択
したRSA公開鍵暗号方式である。以下、本発明の第3
および第4の実施例について説明する。第3実施例は、
RSAを、サーバにパスワードπが記憶された公開鍵暗
号方式として利用する。第4実施例は、値Xがサーバに
記憶されたRSA公開鍵暗号方式を利用する。ただし、
Xは、パスワードπとsalt値の関数である。このよ
うに、第3および第4の実施例は、第1および第2実施
例にそれぞれ対応するRSA固有の実施例である。
【0039】以下、本発明の第3実施例について、図5
〜図6とともに説明する。RSA公開鍵暗号方式では、
公開鍵PKは2個のパラメータ(N,e)から構成さ
れ、秘密鍵SKは2個のパラメータ(N,d)から構成
される。使用可能な形のRSA公開鍵暗号方式では、N
は大きく、eは、(N,e)を知っている者がNの任意
の素因数rに対してeと(r−1)の最大公約数が1で
あることを容易にテストすることができるという性質を
有することが保証されるように、公開鍵PK(N,e)
は選択される。これを実行するいくつかの適当な方法に
ついて以下で説明する。サーバは、プロトコルの開始前
に、適当な(PK,SK)の対を生成していると仮定す
る。ステップ302で、サーバは、Ωのランダムな要素
としてmを生成する。ステップ304で、サーバは、
m、N、およびeをクライアントに送信する。図1のス
テップ114について説明したように、クライアント
は、次に、サーバから受信したmおよび公開鍵PKが、
敵がパスワードπに関する情報を知り得るような方法で
これらの値を選択することに対する保護に適当であるよ
うに選択される。次に、ステップ306で、クライアン
トは、ステップ304でサーバから受信したmが集合Ω
に属しているかどうか、および、PKがテスト可能スー
パーセットε′(上記で定義)に属しているかどうかを
決定する。RSAによる実装では、PKがテスト可能ス
ーパーセットε′に属しているかどうかを決定する1つ
の方法は、Nおよびeが次の条件を満たすかどうかを決
定することである。 N∈[2l-2,2l] e∈[2l,2l+1] eは素数である Nおよびeが上記の条件をすべて満たす場合、PK∈
ε′である。これらの条件は、Nが十分に大きいか(N
が2l-2〜2lの範囲内にあるかどうかを決定することに
より)、および、eがNより大きいか(eが2l〜2l+1
の範囲内にあるかどうかを決定することにより)のテス
トを含む。図5のステップ306に示すいずれかの条件
が偽である場合、認証は拒否される。そうでない場合、
プロトコルはステップ308に進む。なお、RSA実施
例では、PK∈ε′であるかどうかを決定するもう1つ
の代替テスト法がある。この代替テストは、次の条件が
満たされるかどうかを決定することである。 e≧√N N mod eはNで割り切れない eは素数である Nおよびeがこれらの条件をすべて満たす場合、PK∈
ε′である。
【0040】なお、RSA固有の実施例では、PK∈
ε′であるかどうかを決定するために使用可能な他のテ
スト法もある。例えば、eは素数であるかどうかをテス
トする代わりに、eを公知の固定値とし、eがこの固定
値に等しいことを確認するテストを行うことが可能であ
る。当業者であれば、RSA固有の実施例でPK∈ε′
であるかどうかを決定するための他のテストを実装する
ことが可能である。
【0041】ステップ308、310、312はそれぞ
れ、上記の図1のステップ116、118、120で説
明したのと同様に実行される。なお、ステップ120
(図1)における計算は、ステップ312(図5)に示
したものと同じであるが、図1の一般的なPKは、図5
〜図6のRSA固有の実装ではNおよびeで置き換えら
れる。次のテストは、FPK(p)が、RSA公開鍵のメ
ッセージ空間の要素である(すなわち、FPK(p)∈S
PK)かどうかを決定する。RSA固有の実施例では、こ
れは、pとNの最大公約数(gcd)が1に等しいかど
うかを決定することによって実行される。gcd(p,
N)=1である場合、FPK(p)∈SPKであり、ステッ
プ314で、クライアントは、q=(p・ae)mod
Nを計算する。gcd(p,N)≠1である場合、F
PK(p)∈SPKでないため、認証は拒否される。しか
し、図1のステップ122に関して既に述べたように、
この時点で認証を終了するのは好ましくない。その理由
は、そうすると、敵のサーバが、パスワードπについて
の何らかの知識を得る可能性があるからである。従っ
て、クライアントは、認証を拒否すると決定した場合で
も、サーバとのプロトコルを続行することが好ましい。
そこで、ステップ314でのテストが真である場合、ク
ライアントは、q=aとおくことにより、qをメッセー
ジ空間の実質的にランダムな要素に設定する。ステップ
316で、クライアントは、μ、qをサーバに送信す
る。
【0042】ステップ318で、サーバは、μ∈Ωかつ
q∈SPKであるかどうかを決定する。q∈SPKである
(すなわち、qがRSA公開鍵のメッセージ空間の要素
である)かどうかのテストは、gcd(q,N)=1で
あるかどうかをテストすることにより行われる。μ∈Ω
でないか、または、gcd(q,N)≠1である場合、
サーバは認証を拒否する。そうでない場合、ステップ3
20で、サーバは、パラメータ(N,e,m,μ,π)
のランダムハッシュ関数Hとしてパラメータp′を計算
する。ステップ322で、サーバは、gcd(p′,
N)=1であるかどうかを決定することにより、F
PK(p′)がRSA公開鍵のメッセージ空間の要素であ
るかどうかを決定する。gcd(p′,N)≠1である
場合、FPK(p′)はRSA公開鍵のメッセージ空間の
要素ではなく、サーバは認証を拒否する。gcd
(p′,N)=1である場合、FPK(p′)はRSA公
開鍵のメッセージ空間の要素であり、認証は続行され
る。ステップ324で、サーバは、(q/p′)に対し
てRSA復号を実行する。ステップ326〜340は、
それぞれ図2のステップ134〜148と同様に実行さ
れる。なお、この第3実施例はRSA固有であるが、F
PK(p)∈SPKであるかどうかを決定するステップ33
0(図2のステップ138に対応する)におけるテスト
は、gcd(p,N)=1であるかどうかを決定するこ
とにより実行される。
【0043】本発明の第4実施例について図7〜図8を
参照して説明する。サーバは、パスワードπおよびsa
lt値の関数である値Xを記憶する。これは第2実施例
と同様である。しかし、第2実施例は任意の使用可能
公開鍵暗号方式を用いたプロトコルであった。第4実施
例は、公開鍵暗号方式としてRSAを使用する。図7に
おいて、ステップ402で、クライアントは、ユーザ名
をサーバに送ることによってプロトコルを開始する。ス
テップ404で、サーバは、Ωのランダムな要素として
mを生成する。ステップ406で、サーバは、ステップ
402で受信したユーザ名に対応するXおよびsalt
を記憶領域から取得する。ステップ408で、サーバ
は、m、N、e、およびsaltをクライアントに送
る。ステップ410で、クライアントは、ステップ40
8でサーバから受信したmが集合Ωに属しているかどう
か、および、公開鍵N、eがテスト可能スーパーセット
ε′に属しているかどうかを決定する。このRSA固有
の実施例では、公開鍵がテスト可能スーパーセットε′
に属しているかどうかのステップ410におけるテスト
は、上記の図5とともに説明したステップ306におけ
るテスト(または、上記のステップ306とともに説明
した代替テスト)と同じである。ステップ412、41
4、および416で、クライアントは、それぞれ上記の
図3のステップ218、220、および222とともに
説明したようにして、パラメータx、μ、aを生成す
る。ステップ418で、クライアントは、パラメータ
(N,e,m,μ,gx)のランダムハッシュ関数Hと
してパラメータpを計算する。次に、ステップ420
で、クライアントは、gcd(p,N)=1であるかど
うかを決定することによって、FPK(p)∈SPKである
かどうかを決定し、上記の図5のステップ314ととも
に説明したのと同様に適当にパラメータqを生成する。
その後、ステップ422で、クライアントは、μ、qを
サーバに送信する。
【0044】ステップ424で、サーバは、μ∈Ωかつ
q∈SPKであるかどうかを決定する。q∈SPKであるか
どうかのテストは、gcd(q,N)=1であるかどう
かをテストすることにより行われる。μ∈Ωでないか、
または、gcd(q,N)≠1である場合、サーバは認
証を拒否する。そうでない場合、ステップ426で、サ
ーバは、パラメータ(N,e,m,μ,X)のランダム
ハッシュ関数Hとしてパラメータp′を計算する。その
後、ステップ428、430、432は、それぞれ図5
〜図6のステップ322、324、326と同様に実行
され、ステップ434、436は、それぞれ図4のステ
ップ240、242と同様に実行される。
【0045】ステップ438で、サーバは、rおよびy
をクライアントに送る。ステップ440〜450は、そ
れぞれ図4のステップ246〜256と同様に実行され
る。ステップ440のFPK(p)∈SPKであるかどうか
のテストは、gcd(p,N)=1であるかどうかをテ
ストすることにより、RSA固有の方法で実行される。
【0046】本発明の発明者は、本発明による相互認証
プロトコルは、基礎となる公開鍵暗号方式と同程度に安
全であることを証明した。従って、RSA固有の実施例
では、発明者は、本発明のプロトコルがRSA暗号方式
と同程度に安全であることを証明したことになる。その
証明の概略を述べる。
【0047】本発明が安全な相互認証プロトコルである
ことを証明するため、プロトコルの安全性の議論を、使
用される暗号化関数の安全性の議論に帰着させる。具体
的には、入力として暗号化関数および暗号文をとるシミ
ュレータを考え、以下の事象のうちの1つが起こるよう
に、敵に対してランダムに選択されたパスワードでプロ
トコルをシミュレートする。 1.いくつかのランダムに選択された値が衝突する(す
なわち、等しくなる)ことがまれに起こる。これは、非
常に低い確率βで起こることが示される。 2.シミュレータは、無視できない確率で、暗号文に対
する復号を導出できるという事象がある。 3.上記以外。この場合、敵がプロトコルを破る確率は
高々ν/dであることを直接に証明する。ただし、νは
アクティブな「スプーフィング」攻撃の数であり、dは
可能なパスワードの数である。
【0048】ここで、敵が、無視できないεに対して、
確率ν/d+εでプロトコルを破るとする。(非公式的
には、これは、敵が、単にパスワードを推測してそれぞ
れでログインしようとするより実質的に高い確率でプロ
トコルを破ることができることを意味する。これは不可
能であることをわれわれは主張する。)この敵を用いる
と、入力として暗号化関数および暗号文をとり、無視で
きない確率で暗号文を復号するアルゴリズムAを構成す
ることができることになる。Aは、シミュレータに対す
る敵を実行する。E1、E2およびE3を上記の3つの事
象とし、Bを、敵がプロトコルを破る事象とする。上記
の議論から、次のことがわかる。
【数2】 従って、Pr(E2)≧ε−βであり、これは無視でき
ない。従って、Aは、無視できない確率で暗号文を復号
することができるが、これは、暗号化関数の安全性と矛
盾する。
【0049】
【発明の効果】以上述べたごとく、本発明によれば、安
全であることが証明可能なパスワード単独相互認証プロ
トコルが得られる。
【図面の簡単な説明】
【図1】サーバがパスワードを記憶する認証プロトコル
の実施例を示す図である。
【図2】サーバがパスワードを記憶する認証プロトコル
の実施例を示す図である。
【図3】サーバが、パスワードの関数である値を記憶す
る認証プロトコルの実施例を示す図である。
【図4】サーバが、パスワードの関数である値を記憶す
る認証プロトコルの実施例を示す図である。
【図5】サーバがパスワードを記憶する認証プロトコル
のRSA固有の実施例を示す図である。
【図6】サーバがパスワードを記憶する認証プロトコル
のRSA固有の実施例を示す図である。
【図7】サーバが、パスワードの関数である値を記憶す
る認証プロトコルのRSA固有の実施例を示す図であ
る。
【図8】サーバが、パスワードの関数である値を記憶す
る認証プロトコルのRSA固有の実施例を示す図であ
る。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 フィリップ ダグラス マッケンジー アメリカ合衆国、07040 ニュージャージ ー、メイプルウッド、カーレトン コート 11 (72)発明者 ラム スワミナサン アメリカ合衆国、07974 ニュージャージ ー、ニュー プロビデンス、ガレス ドラ イブ #3 72

Claims (66)

    【特許請求の範囲】
  1. 【請求項1】 公開鍵暗号方式を利用したクライアント
    とサーバの間の相互ネットワーク認証方法において、前
    記クライアントが、 前記サーバから公開鍵を受信するステップと、 前記公開鍵が、前記公開鍵暗号方式のすべての公開鍵の
    集合のテスト可能スーパーセットの要素であるかどうか
    を決定するステップと、 前記公開鍵が前記テスト可能スーパーセットの要素でな
    い場合、認証を拒否するステップとを有することを特徴
    とする相互ネットワーク認証方法。
  2. 【請求項2】 前記クライアントが、 前記公開鍵が前記テスト可能スーパーセットの要素であ
    る場合、 少なくとも前記公開鍵およびパスワードの関数としてパ
    ラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記公開鍵のメッセージ空間の要素であるか
    どうかを決定するステップと、 FPK(p)が前記公開鍵のメッセージ空間の要素でない
    場合、 パラメータqを、前記公開鍵のメッセージ空間の実質的
    にランダムな要素とするステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項1に記載の方法。
  3. 【請求項3】 pは、さらに、少なくとも、前記サーバ
    から受信したパラメータmの関数として生成されること
    を特徴とする請求項2に記載の方法。
  4. 【請求項4】 pは、さらに、少なくとも、実質的にラ
    ンダムな数μの関数として生成されることを特徴とする
    請求項3に記載の方法。
  5. 【請求項5】 前記クライアントが、 前記公開鍵が前記テスト可能スーパーセットの要素であ
    る場合、 少なくとも前記公開鍵およびパスワードの関数としてパ
    ラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記公開鍵のメッセージ空間の要素であるか
    どうかを決定するステップと、 FPK(p)が前記公開鍵のメッセージ空間の要素である
    場合、 前記公開鍵を用いて前記公開鍵のメッセージ空間の実質
    的にランダムな要素を暗号化し、その結果とFPK(p)
    との間で、公開鍵メッセージ空間の群演算を実行するこ
    とによって、パラメータqを生成するステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項1に記載の方法。
  6. 【請求項6】 pは、さらに、少なくとも、前記サーバ
    から受信したパラメータmの関数として生成されること
    を特徴とする請求項5に記載の方法。
  7. 【請求項7】 pは、さらに、少なくとも、実質的にラ
    ンダムな数μの関数として生成されることを特徴とする
    請求項6に記載の方法。
  8. 【請求項8】 mおよびμをパラメータとしてディフィ
    ・ヘルマンプロトコルを用いてセッション鍵を生成する
    ステップをさらに有することを特徴とする請求項7に記
    載の方法。
  9. 【請求項9】 前記クライアントが、 前記公開鍵が前記テスト可能スーパーセットの要素であ
    る場合、 少なくとも前記公開鍵とパスワードの関数との関数とし
    てパラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記公開鍵のメッセージ空間の要素であるか
    どうかを決定するステップと、 FPK(p)が前記公開鍵のメッセージ空間の要素でない
    場合、 パラメータqを、前記公開鍵のメッセージ空間の実質的
    にランダムな要素とするステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項1に記載の方法。
  10. 【請求項10】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項9に記載の方法。
  11. 【請求項11】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項9に記載の方法。
  12. 【請求項12】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項11に記載の方法。
  13. 【請求項13】 前記クライアントが、 前記公開鍵が前記テスト可能スーパーセットの要素であ
    る場合、 少なくとも前記公開鍵とパスワードの関数との関数とし
    てパラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記公開鍵のメッセージ空間の要素であるか
    どうかを決定するステップと、 FPK(p)が前記公開鍵のメッセージ空間の要素である
    場合、 前記公開鍵を用いて前記公開鍵のメッセージ空間の実質
    的にランダムな要素を暗号化し、その結果と、F
    PK(p)との間で、公開鍵メッセージ空間の群演算を実
    行することによって、パラメータqを生成するステップ
    と、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項1に記載の方法。
  14. 【請求項14】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項13に記載の方法。
  15. 【請求項15】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項13に記載の方法。
  16. 【請求項16】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項15に記載の方法。
  17. 【請求項17】 mおよびμをパラメータとしてディフ
    ィ・ヘルマンプロトコルを用いてセッション鍵を生成す
    るステップをさらに有することを特徴とする請求項16
    に記載の方法。
  18. 【請求項18】 公開鍵暗号方式を利用したクライアン
    トとサーバの間の相互ネットワーク認証方法において、
    前記サーバが、 使用可能公開鍵暗号方式のすべての公開鍵の集合のテス
    ト可能スーパーセットの要素である公開鍵をクライアン
    トに送信するステップと、 前記クライアントから、パラメータqとして、前記公開
    鍵のメッセージ空間の要素を受信するステップとを有す
    ることを特徴とする相互ネットワーク認証方法。
  19. 【請求項19】 前記クライアントで少なくとも前記公
    開鍵およびパスワードの関数として生成されたパラメー
    タpに、公開鍵空間マッピング関数FPKを作用させた結
    果FPK(p)が、前記公開鍵のメッセージ空間の要素で
    ない場合、 前記公開鍵のメッセージ空間の実質的にランダムな要素
    をパラメータqとして受信するステップを有することを
    特徴とする請求項18に記載の方法。
  20. 【請求項20】 前記クライアントで少なくとも前記公
    開鍵およびパスワードの関数として生成されたパラメー
    タpに、公開鍵空間マッピング関数FPKを作用させた結
    果FPK(p)が、前記公開鍵のメッセージ空間の要素で
    ある場合、 公開鍵メッセージ空間の実質的にランダムな要素を公開
    鍵暗号化した結果と、FPK(p)との間で、公開鍵メッ
    セージ空間の群演算を実行した結果をパラメータqとし
    て受信するステップを有することを特徴とする請求項1
    8に記載の方法。
  21. 【請求項21】 前記クライアントで少なくとも前記公
    開鍵とパスワードの関数との関数として生成されたパラ
    メータpに、公開鍵空間マッピング関数FPKを作用させ
    た結果FPK(p)が、前記公開鍵のメッセージ空間の要
    素でない場合、前記公開鍵のメッセージ空間の実質的に
    ランダムな要素をパラメータqとして受信するステップ
    を有することを特徴とする請求項18に記載の方法。
  22. 【請求項22】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項21に記載の方法。
  23. 【請求項23】 前記クライアントで少なくとも前記公
    開鍵とパスワードの関数との関数として生成されたパラ
    メータpに、公開鍵空間マッピング関数FPKを作用させ
    た結果FPK(p)が、前記公開鍵のメッセージ空間の要
    素である場合、 公開鍵メッセージ空間の実質的にランダムな要素を公開
    鍵暗号化した結果と、FPK(p)との間で、公開鍵メッ
    セージ空間の群演算を実行した結果をパラメータqとし
    て受信するステップを有することを特徴とする請求項1
    8に記載の方法。
  24. 【請求項24】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項23に記載の方法。
  25. 【請求項25】 前記公開鍵暗号方式はRSAであり、 前記公開鍵はパラメータNおよびeからなり、 前記公開鍵は、前記サーバによって、 Nはある値より大きく、 eはNより大きく、 eは素数であるように選択されることを特徴とする請求
    項18に記載の方法。
  26. 【請求項26】 前記公開鍵暗号方式はRSAであり、 前記公開鍵はパラメータNおよびeからなり、 前記公開鍵は、前記サーバによって、 Nはある値範囲内にあり、 eはある値範囲内にあり、 eは素数であるように選択されることを特徴とする請求
    項18に記載の方法。
  27. 【請求項27】 前記公開鍵暗号方式はRSAであり、 前記公開鍵はパラメータNおよびeからなり、 前記公開鍵は、前記サーバによって、 eは所定の値であり、 Nはある値範囲内にあるように選択されることを特徴と
    する請求項18に記載の方法。
  28. 【請求項28】 RSA暗号方式を利用したクライアン
    トとサーバの間の相互ネットワーク認証方法において、
    前記クライアントが、 前記サーバからRSA公開鍵(N,e)を受信するステ
    ップと、 前記RSA公開鍵(N,e)が、前記RSA暗号方式の
    すべての公開鍵の集合のテスト可能スーパーセットの要
    素であるかどうかを決定するステップと、 前記RSA公開鍵(N,e)が前記テスト可能スーパー
    セットの要素でない場合、認証を拒否するステップとを
    有することを特徴とする相互ネットワーク認証方法。
  29. 【請求項29】 前記RSA公開鍵(N,e)が、前記
    RSA暗号方式のすべての公開鍵の集合のテスト可能ス
    ーパーセットの要素であるかどうかを決定するステップ
    は、前記クライアントが、 Nはある値より大きく、 eはNより大きく、 eは素数であるかどうかを決定するステップを含むこと
    を特徴とする請求項28に記載の方法。
  30. 【請求項30】 前記RSA公開鍵(N,e)が、前記
    RSA暗号方式のすべての公開鍵の集合のテスト可能ス
    ーパーセットの要素であるかどうかを決定するステップ
    は、前記クライアントが、 Nはある値範囲内にあり、 eはある値範囲内にあり、 eは素数であるかどうかを決定するステップを含むこと
    を特徴とする請求項28に記載の方法。
  31. 【請求項31】 前記RSA公開鍵(N,e)が、前記
    RSA暗号方式のすべての公開鍵の集合のテスト可能ス
    ーパーセットの要素であるかどうかを決定するステップ
    は、前記クライアントが、 eは所定の値であり、 Nはある値範囲内にあるかどうかを決定するステップを
    含むことを特徴とする請求項28に記載の方法。
  32. 【請求項32】 前記クライアントが、 前記RSA公開鍵(N,e)が前記RSA暗号方式のす
    べての公開鍵の集合のテスト可能スーパーセットの要素
    である場合、 少なくとも前記RSA公開鍵(N,e)およびパスワー
    ドの関数としてパラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記RSA公開鍵のメッセージ空間の要素で
    あるかどうかを決定するステップと、 FPK(p)が前記RSA公開鍵のメッセージ空間の要素
    でない場合、 パラメータqを、前記RSA公開鍵のメッセージ空間の
    実質的にランダムな要素とするステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項28に記載の方法。
  33. 【請求項33】 前記FPK(p)が前記RSA公開鍵の
    メッセージ空間の要素であるかどうかを決定するステッ
    プは、 pとNの最大公約数が1に等しいかどうかを決定するス
    テップを含むことを特徴とする請求項32に記載の方
    法。
  34. 【請求項34】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項32に記載の方法。
  35. 【請求項35】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項34に記載の方法。
  36. 【請求項36】 前記クライアントが、 前記RSA公開鍵(N,e)が前記RSA暗号方式のす
    べての公開鍵の集合のテスト可能スーパーセットの要素
    である場合、 少なくとも前記RSA公開鍵(N,e)およびパスワー
    ドの関数としてパラメータpを生成するステップと、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記RSA公開鍵のメッセージ空間の要素で
    あるかどうかを決定するステップと、 FPK(p)が前記RSA公開鍵のメッセージ空間の要素
    である場合、 aを、前記RSA公開鍵のメッセージ空間の実質的にラ
    ンダムな要素として、q=(p・ae)mod Nによ
    りパラメータqを生成するステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項28に記載の方法。
  37. 【請求項37】 前記FPK(p)が前記RSA公開鍵の
    メッセージ空間の要素であるかどうかを決定するステッ
    プは、 pとNの最大公約数が1に等しいかどうかを決定するス
    テップを含むことを特徴とする請求項36に記載の方
    法。
  38. 【請求項38】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項36に記載の方法。
  39. 【請求項39】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項38に記載の方法。
  40. 【請求項40】 mおよびμをパラメータとしてディフ
    ィ・ヘルマンプロトコルを用いてセッション鍵を生成す
    るステップをさらに有することを特徴とする請求項39
    に記載の方法。
  41. 【請求項41】 前記クライアントが、 前記RSA公開鍵(N,e)が前記RSA暗号方式のす
    べての公開鍵の集合のテスト可能スーパーセットの要素
    である場合、 少なくとも前記RSA公開鍵(N,e)とパスワードの
    関数との関数としてパラメータpを生成するステップ
    と、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記RSA公開鍵のメッセージ空間の要素で
    あるかどうかを決定するステップと、 FPK(p)が前記RSA公開鍵のメッセージ空間の要素
    でない場合、 パラメータqを、前記RSA公開鍵のメッセージ空間の
    実質的にランダムな要素とするステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項28に記載の方法。
  42. 【請求項42】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項41に記載の方法。
  43. 【請求項43】 前記FPK(p)が前記RSA公開鍵の
    メッセージ空間の要素であるかどうかを決定するステッ
    プは、 pとNの最大公約数が1に等しいかどうかを決定するス
    テップを含むことを特徴とする請求項41に記載の方
    法。
  44. 【請求項44】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項41に記載の方法。
  45. 【請求項45】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項44に記載の方法。
  46. 【請求項46】 前記クライアントが、 前記RSA公開鍵(N,e)が前記RSA暗号方式のす
    べての公開鍵の集合のテスト可能スーパーセットの要素
    である場合、 少なくとも前記RSA公開鍵(N,e)とパスワードの
    関数との関数としてパラメータpを生成するステップ
    と、 公開鍵空間マッピング関数FPKをpに作用させた結果F
    PK(p)が前記RSA公開鍵のメッセージ空間の要素で
    あるかどうかを決定するステップと、 FPK(p)が前記RSA公開鍵のメッセージ空間の要素
    である場合、 aを、前記RSA公開鍵のメッセージ空間の実質的にラ
    ンダムな要素として、q=(p・ae)mod Nによ
    りパラメータqを生成するステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項28に記載の方法。
  47. 【請求項47】 前記パスワードの関数は、前記パスワ
    ードの一方向性ハッシュ関数であることを特徴とする請
    求項46に記載の方法。
  48. 【請求項48】 前記FPK(p)が前記RSA公開鍵の
    メッセージ空間の要素であるかどうかを決定するステッ
    プは、 pとNの最大公約数が1に等しいかどうかを決定するス
    テップを含むことを特徴とする請求項46に記載の方
    法。
  49. 【請求項49】 pは、さらに、少なくとも、前記サー
    バから受信したパラメータmの関数として生成されるこ
    とを特徴とする請求項46に記載の方法。
  50. 【請求項50】 pは、さらに、少なくとも、実質的に
    ランダムな数μの関数として生成されることを特徴とす
    る請求項49に記載の方法。
  51. 【請求項51】 mおよびμをパラメータとしてディフ
    ィ・ヘルマンプロトコルを用いてセッション鍵を生成す
    るステップをさらに有することを特徴とする請求項50
    に記載の方法。
  52. 【請求項52】 公開鍵暗号方式を利用したクライアン
    トとサーバの間の相互認証方法において、 前記サーバが、公開鍵を前記クライアントに送信するス
    テップと、 前記クライアントが、前記公開鍵が前記公開鍵暗号方式
    のすべての公開鍵の集合のテスト可能スーパーセットの
    要素であるかどうかを決定するステップと、 前記クライアントが、前記公開鍵が前記テスト可能スー
    パーセットの要素でないと決定した場合、前記クライア
    ントが、認証を拒否するステップとを有することを特徴
    とする相互認証方法。
  53. 【請求項53】 前記クライアントが、前記公開鍵が前
    記テスト可能スーパーセットの要素であると決定した場
    合、 前記クライアントが、少なくとも前記公開鍵およびパス
    ワードの関数としてパラメータpを生成するステップ
    と、 前記クライアントが、公開鍵空間マッピング関数FPK
    pに作用させた結果FPK(p)が前記公開鍵のメッセー
    ジ空間の要素であるかどうかを決定するステップとをさ
    らに有することを特徴とする請求項52に記載の方法。
  54. 【請求項54】 前記クライアントが、FPK(p)が前
    記公開鍵のメッセージ空間の要素であると決定した場
    合、 前記クライアントが、前記公開鍵を用いて前記公開鍵の
    メッセージ空間の実質的にランダムな要素aを暗号化
    し、その結果とFPK(p)との間で、公開鍵メッセージ
    空間の群演算を実行することによって、パラメータqを
    生成するステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項53に記載の方法。
  55. 【請求項55】 前記クライアントが、FPK(p)が前
    記公開鍵のメッセージ空間の要素でないと決定した場
    合、 前記クライアントが、パラメータqを、前記公開鍵のメ
    ッセージ空間の実質的にランダムな要素とするステップ
    をさらに有することを特徴とする請求項54に記載の方
    法。
  56. 【請求項56】 前記サーバが、qが前記公開鍵のメッ
    セージ空間の要素であるかどうかを決定するステップ
    と、 前記サーバが、qが前記公開鍵のメッセージ空間の要素
    でないと決定した場合、前記サーバが、認証を拒否する
    ステップと、 前記サーバが、qが前記公開鍵のメッセージ空間の要素
    であると決定した場合、前記サーバが、前記公開鍵およ
    び前記パスワードの関数としてパラメータp′を生成す
    るステップと、 前記サーバが、公開鍵空間マッピング関数FPKをp′に
    作用させた結果FPK(p′)が前記公開鍵のメッセージ
    空間の要素であるかどうかを決定するステップと、 前記サーバが、FPK(p′)が前記公開鍵のメッセージ
    空間の要素でないと決定した場合、前記サーバが、認証
    を拒否するステップと、 前記サーバが、FPK(p′)が前記公開鍵のメッセージ
    空間の要素であると決定した場合、前記サーバが、 qとFPK(p′)との間で、公開鍵メッセージ空間の群
    演算の逆を実行し、その結果を、前記公開鍵に対応する
    秘密鍵を用いて復号することによって、パラメータa′
    を生成するステップと、 r=h(a′)を生成するステップと、 rを前記クライアントに送信するステップとをさらに有
    することを特徴とする請求項54に記載の方法。
  57. 【請求項57】 前記クライアントが、 a)FPK(p)が前記公開鍵のメッセージ空間の要素で
    あるかどうか、および、 b)r=h(a)であるかどうかを決定するステップ
    と、 a)またはb)が真でない場合、前記クライアントが、
    認証を拒否するステップと、 a)およびb)が真である場合、前記クライアントが、 t=h′(a)を生成するステップと、 tを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項56に記載の方法。
  58. 【請求項58】 前記サーバが、t=h′(a′)であ
    るかどうかを決定するステップと、 t=h′(a′)である場合、前記サーバが、認証を受
    容するステップと、 t≠h′(a′)である場合、前記サーバが、認証を拒
    否するステップとをさらに有することを特徴とする請求
    項57に記載の方法。
  59. 【請求項59】 前記サーバおよび前記クライアントが
    認証を受容した場合、前記サーバおよび前記クライアン
    トがが、後の安全な通信のためのセッション鍵を計算す
    るステップをさらに有することを特徴とする請求項58
    に記載の方法。
  60. 【請求項60】 前記クライアントが、前記公開鍵が前
    記テスト可能スーパーセットの要素であると決定した場
    合、 前記クライアントが、少なくとも前記公開鍵とパスワー
    ドの関数との関数としてパラメータpを生成するステッ
    プと、 前記クライアントが、公開鍵空間マッピング関数FPK
    pに作用させた結果FPK(p)が前記公開鍵のメッセー
    ジ空間の要素であるかどうかを決定するステップとをさ
    らに有することを特徴とする請求項52に記載の方法。
  61. 【請求項61】 前記クライアントが、FPK(p)が前
    記公開鍵のメッセージ空間の要素であると決定した場
    合、 前記クライアントが、前記公開鍵を用いて前記公開鍵の
    メッセージ空間の実質的にランダムな要素aを暗号化
    し、その結果とFPK(p)との間で、公開鍵メッセージ
    空間の群演算を実行することによって、パラメータqを
    生成するステップと、 qを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項60に記載の方法。
  62. 【請求項62】 前記クライアントが、FPK(p)が前
    記公開鍵のメッセージ空間の要素でないと決定した場
    合、 前記クライアントが、パラメータqを、前記公開鍵のメ
    ッセージ空間の実質的にランダムな要素とするステップ
    をさらに有することを特徴とする請求項61に記載の方
    法。
  63. 【請求項63】 前記サーバが、qが前記公開鍵のメッ
    セージ空間の要素であるかどうかを決定するステップ
    と、 前記サーバが、qが前記公開鍵のメッセージ空間の要素
    でないと決定した場合、前記サーバが、認証を拒否する
    ステップと、 前記サーバが、qが前記公開鍵のメッセージ空間の要素
    であると決定した場合、前記サーバが、前記公開鍵と前
    記パスワードの関数との関数としてパラメータp′を生
    成するステップと、 前記サーバが、公開鍵空間マッピング関数FPKをp′に
    作用させた結果FPK(p′)が前記公開鍵のメッセージ
    空間の要素であるかどうかを決定するステップと、 前記サーバが、FPK(p′)が前記公開鍵のメッセージ
    空間の要素でないと決定した場合、前記サーバが、認証
    を拒否するステップと、 前記サーバが、FPK(p′)が前記公開鍵のメッセージ
    空間の要素であると決定した場合、前記サーバが、 qとFPK(p′)との間で、公開鍵メッセージ空間の群
    演算の逆を実行し、その結果を、前記公開鍵に対応する
    秘密鍵を用いて復号することによって、パラメータa′
    を生成するステップと、 r=h(a′)を生成するステップと、 rを前記クライアントに送信するステップとをさらに有
    することを特徴とする請求項61に記載の方法。
  64. 【請求項64】 前記クライアントが、 a)FPK(p)が前記公開鍵のメッセージ空間の要素で
    あるかどうか、および、 b)r=h(a)であるかどうかを決定するステップ
    と、 a)またはb)が真でない場合、前記クライアントが、
    認証を拒否するステップと、 a)およびb)が真である場合、前記クライアントが、 t=h′(a)を生成するステップと、 tを前記サーバに送信するステップとをさらに有するこ
    とを特徴とする請求項63に記載の方法。
  65. 【請求項65】 前記サーバが、t=h′(a′)であ
    るかどうかを決定するステップと、 t=h′(a′)である場合、前記サーバが、認証を受
    容するステップと、 t≠h′(a′)である場合、前記サーバが、認証を拒
    否するステップとをさらに有することを特徴とする請求
    項64に記載の方法。
  66. 【請求項66】 前記サーバおよび前記クライアントが
    認証を受容した場合、前記サーバおよび前記クライアン
    トがが、後の安全な通信のためのセッション鍵を計算す
    るステップをさらに有することを特徴とする請求項65
    に記載の方法。
JP2000210117A 1999-07-13 2000-07-11 相互ネットワーク認証方法 Pending JP2001060947A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/353468 1999-07-13
US09/353,468 US6757825B1 (en) 1999-07-13 1999-07-13 Secure mutual network authentication protocol

Publications (1)

Publication Number Publication Date
JP2001060947A true JP2001060947A (ja) 2001-03-06

Family

ID=23389249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000210117A Pending JP2001060947A (ja) 1999-07-13 2000-07-11 相互ネットワーク認証方法

Country Status (4)

Country Link
US (1) US6757825B1 (ja)
EP (1) EP1069726A3 (ja)
JP (1) JP2001060947A (ja)
CA (1) CA2313557C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520909A (ja) * 2003-06-27 2007-07-26 ケーティー・コーポレーション 二重要素認証されたキー交換方法及びこれを利用した認証方法とその方法を含むプログラムが貯蔵された記録媒体
JP2009503934A (ja) * 2005-07-19 2009-01-29 株式会社エヌ・ティ・ティ・ドコモ 展性攻撃に対して改良された安全性を有する技術(これに限定されない)を含む非ワンタイムパッド暗号で暗号化した署名鍵を用いた、暗号認証、及び/又は共有暗号鍵の設定
JP4837729B2 (ja) * 2005-05-03 2011-12-14 株式会社エヌ・ティ・ティ・ドコモ 暗号認証方法、コンピュータシステム及びデータキャリア

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272223B1 (en) * 1997-10-28 2001-08-07 Rolf Carlson System for supplying screened random numbers for use in recreational gaming in a casino or over the internet
US7690043B2 (en) 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US7260834B1 (en) 1999-10-26 2007-08-21 Legal Igaming, Inc. Cryptography and certificate authorities in gaming machines
US7290142B1 (en) * 1999-09-28 2007-10-30 Thomas Licensing System and method for initializing a simple network management protocol (SNMP) agent
US7069434B1 (en) * 2000-06-13 2006-06-27 Hewlett-Packard Development Company, L.P. Secure data transfer method and system
US7020773B1 (en) 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
US20020062452A1 (en) * 2000-08-18 2002-05-23 Warwick Ford Countering credentials copying
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
WO2003001723A2 (en) * 2001-06-26 2003-01-03 Valentin Kisimov Stabilised secure algorithms
US6993650B2 (en) * 2001-10-31 2006-01-31 International Business Machines Corporation Authentications integrated into a boot code image
GB0210692D0 (en) * 2002-05-10 2002-06-19 Assendon Ltd Smart card token for remote authentication
US7783043B1 (en) 2002-08-05 2010-08-24 Nortel Networks Limited Secure group communications
US9865126B2 (en) 2002-10-09 2018-01-09 Zynga Inc. System and method for connecting gaming devices to a network for remote play
US7188359B2 (en) 2002-12-18 2007-03-06 America Online, Inc. Optimizing authentication service availability and responsiveness via client-side routing
US8788825B1 (en) * 2003-01-14 2014-07-22 Digi International Inc. Method and apparatus for key management for various device-server configurations
US7930412B2 (en) * 2003-09-30 2011-04-19 Bce Inc. System and method for secure access
US8015393B2 (en) * 2004-04-12 2011-09-06 Canon Kabushiki Kaisha Data processing device, encryption communication method, key generation method, and computer program
WO2006016850A1 (en) * 2004-08-07 2006-02-16 Veritas Mobile Solutions Pte. Ltd. Authentication method and system
EP1836792A1 (en) * 2004-12-30 2007-09-26 BCE Inc. System and method for secure access
US20060182124A1 (en) * 2005-02-15 2006-08-17 Sytex, Inc. Cipher Key Exchange Methodology
US7594116B2 (en) * 2005-04-28 2009-09-22 Proofpoint, Inc. Mediated key exchange between source and target of communication
US7698555B2 (en) * 2005-08-29 2010-04-13 Schweitzer Engineering Laboratories, Inc. System and method for enabling secure access to a program of a headless server device
US8201233B2 (en) * 2006-02-06 2012-06-12 Cisco Technology, Inc. Secure extended authentication bypass
US20080132222A1 (en) * 2006-11-30 2008-06-05 Brady Colin P Wireless communication using a picocell station having its own phone number
US8239549B2 (en) * 2007-09-12 2012-08-07 Microsoft Corporation Dynamic host configuration protocol
US8806565B2 (en) * 2007-09-12 2014-08-12 Microsoft Corporation Secure network location awareness
CN101425897B (zh) * 2007-10-29 2011-05-18 上海交通大学 一种用户认证方法、系统、服务器和用户节点
US8452017B2 (en) * 2007-12-21 2013-05-28 Research In Motion Limited Methods and systems for secure channel initialization transaction security based on a low entropy shared secret
US7522723B1 (en) 2008-05-29 2009-04-21 Cheman Shaik Password self encryption method and system and encryption by keys generated from personal secret information
US8230219B2 (en) * 2008-08-12 2012-07-24 Texas Instruments Incorporated Reduced computation for bit-by-bit password verification in mutual authentication
US8549314B2 (en) 2010-04-29 2013-10-01 King Saud University Password generation methods and systems
US20120032781A1 (en) * 2010-08-09 2012-02-09 Electronics And Telecommunications Research Institute Remote personal authentication system and method using biometrics
CN101959187A (zh) * 2010-10-19 2011-01-26 青海师范大学 一种manet网络无需可信第三方的匿名路由方法
US8988187B2 (en) * 2011-01-13 2015-03-24 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Proximity based biometric identification systems and methods
CN102377573A (zh) * 2011-12-08 2012-03-14 华东师范大学 一种口令可安全更新的双因子身份认证方法
FR3018371B1 (fr) * 2014-03-10 2016-05-06 Commissariat Energie Atomique Procede et systeme de chiffrement/dechiffrement de donnees a cle distante et verification prealable de jeton
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
KR102549272B1 (ko) 2016-05-17 2023-06-30 한국전자통신연구원 패스워드와 id 기반 서명을 이용한 인증 키 합의 방법 및 장치
WO2019101324A1 (en) * 2017-11-23 2019-05-31 Huawei Technologies Co., Ltd. System and method for storing encrypted data
CN110287070B (zh) * 2019-05-21 2024-03-19 平安银行股份有限公司 Esb专用协议接口测试方法、服务器及计算机可读存储介质
CN110519300B (zh) * 2019-09-24 2021-08-06 杭州字节信息技术有限公司 基于口令双向认证的客户端密钥安全存储方法
CN114268439B (zh) * 2021-12-16 2023-09-15 中原工学院 一种基于格的身份基认证密钥协商方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241599A (en) 1991-10-02 1993-08-31 At&T Bell Laboratories Cryptographic protocol for secure communications
US5440635A (en) 1993-08-23 1995-08-08 At&T Corp. Cryptographic protocol for remote authentication
US6438691B1 (en) * 1996-04-01 2002-08-20 Hewlett-Packard Company Transmitting messages over a network
JPH09284272A (ja) * 1996-04-19 1997-10-31 Canon Inc エンティティの属性情報に基づく暗号化方式、署名方式、鍵共有方式、身元確認方式およびこれらの方式用装置
US6275941B1 (en) * 1997-03-28 2001-08-14 Hiatchi, Ltd. Security management method for network system
EP1025672A1 (en) * 1997-10-14 2000-08-09 Certicom Corp. Key validation scheme
US6134327A (en) * 1997-10-24 2000-10-17 Entrust Technologies Ltd. Method and apparatus for creating communities of trust in a secure communication system
US6226750B1 (en) * 1998-01-20 2001-05-01 Proact Technologies Corp. Secure session tracking method and system for client-server environment
US6088805A (en) * 1998-02-13 2000-07-11 International Business Machines Corporation Systems, methods and computer program products for authenticating client requests with client certificate information
US6446206B1 (en) * 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
US6438235B2 (en) * 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US6567915B1 (en) * 1998-10-23 2003-05-20 Microsoft Corporation Integrated circuit card with identity authentication table and authorization tables defining access rights based on Boolean expressions of authenticated identities

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520909A (ja) * 2003-06-27 2007-07-26 ケーティー・コーポレーション 二重要素認証されたキー交換方法及びこれを利用した認証方法とその方法を含むプログラムが貯蔵された記録媒体
JP4847322B2 (ja) * 2003-06-27 2011-12-28 ケーティー・コーポレーション 二重要素認証されたキー交換方法及びこれを利用した認証方法とその方法を含むプログラムが貯蔵された記録媒体
US8352739B2 (en) 2003-06-27 2013-01-08 Kt Corporation Two-factor authenticated key exchange method and authentication method using the same, and recording medium storing program including the same
JP4837729B2 (ja) * 2005-05-03 2011-12-14 株式会社エヌ・ティ・ティ・ドコモ 暗号認証方法、コンピュータシステム及びデータキャリア
JP2009503934A (ja) * 2005-07-19 2009-01-29 株式会社エヌ・ティ・ティ・ドコモ 展性攻撃に対して改良された安全性を有する技術(これに限定されない)を含む非ワンタイムパッド暗号で暗号化した署名鍵を用いた、暗号認証、及び/又は共有暗号鍵の設定

Also Published As

Publication number Publication date
CA2313557C (en) 2005-03-01
CA2313557A1 (en) 2001-01-13
EP1069726A2 (en) 2001-01-17
US6757825B1 (en) 2004-06-29
EP1069726A3 (en) 2004-04-07

Similar Documents

Publication Publication Date Title
US6757825B1 (en) Secure mutual network authentication protocol
EP1134929B1 (en) Secure mutual network authentication and key exchange protocol
EP1248408B1 (en) Methods and apparatus for providing efficient password-authenticated key exchange
Jablon Extended password key exchange protocols immune to dictionary attack
Halevi et al. Public-key cryptography and password protocols
Lin et al. Three-party encrypted key exchange: attacks and a solution
Sood et al. A secure dynamic identity based authentication protocol for multi-server architecture
JP4944886B2 (ja) 展性攻撃に対して改良された安全性を有する技術(これに限定されない)を含む非ワンタイムパッド暗号で暗号化した署名鍵を用いた、暗号認証、及び/又は共有暗号鍵の設定
US7796761B2 (en) Distribution and authentication of public keys using random numbers and diffie-hellman public keys
MacKenzie et al. Threshold password-authenticated key exchange
EP1659475B1 (en) Password protection
US7359507B2 (en) Server-assisted regeneration of a strong secret from a weak secret
US6718467B1 (en) Password based protocol for secure communications
EP3576340B1 (en) Modular key exchange for key agreement and optional authentication
Chang et al. Novel untraceable authenticated key agreement protocol suitable for mobile communication
Sun et al. Password-based authentication and key distribution protocols with perfect forward secrecy
Yang et al. Security enhancement for protecting password transmission
Tsai et al. Provably secure three party encrypted key exchange scheme with explicit authentication
Hölbl et al. Improvement of the Peyravian–Jeffries’s user authentication protocol and password change protocol
Shim Security flaws of remote user access over insecure networks
Yeh et al. Password authenticated key exchange protocols among diverse network domains
Munilla et al. Security flaw of Hölbl et al.’s protocol
Yoon et al. A new simple authenticated key agreement and protected password change protocol
Bakuri Security Analysis and Implementation of Password-based Cryptosystem
Yang et al. An anonymous user identification and key distribution technical protocol