JP2003536320A - 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア - Google Patents

複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア

Info

Publication number
JP2003536320A
JP2003536320A JP2002502962A JP2002502962A JP2003536320A JP 2003536320 A JP2003536320 A JP 2003536320A JP 2002502962 A JP2002502962 A JP 2002502962A JP 2002502962 A JP2002502962 A JP 2002502962A JP 2003536320 A JP2003536320 A JP 2003536320A
Authority
JP
Japan
Prior art keywords
password
server
key
client
value
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.)
Granted
Application number
JP2002502962A
Other languages
English (en)
Other versions
JP4833489B2 (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 JP2003536320A publication Critical patent/JP2003536320A/ja
Application granted granted Critical
Publication of JP4833489B2 publication Critical patent/JP4833489B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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
    • H04L9/0844Key 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 with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/085Secret sharing or secret splitting, e.g. threshold 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • 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
    • H04L9/3257Cryptographic 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 using blind 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/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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

(57)【要約】 人間が容易に記憶することができる低グレードのパスワードを使用した強力な認証を行うゼロ知識パスワード(ZIP)プロトコルを使用するシステム、方法およびソフトウェア。本発明者らは、いかなる単一のサーバ、クライアント、またはネットワーク攻撃者に対してパスワードに関する予測をオフラインで検証する能力を与えることなく複数のサーバがパスワードを検証できるようにするプロトコルを記載する。さらなる改善には、以前の安全なチャネルとクライアントに記憶された鍵または信用証明書への依存を除去すること、新しい暗号仮定を導入せずに性能を向上させること、パスワード入力の際の誤りに対するよりよい管理とが含まれる。登録するために、ユーザはパスワードを選択し、複数のシェアから構成されるマスター鍵Kを構築する。マスター鍵は、ユーザの秘密鍵と他の機密データを暗号化するなどの様々な目的に使用することができる。一組のランダムな値{y、y、...y}が選択され、適切な有限群で各シェアがK=Pyiとして計算される。各yの値はN個のサーバのi番目のサーバに分配される。認証するために、クライアントはランダムな秘密xを選択し、各サーバによってPを送信し、m=(Pyiを取り出し、K=m 1/xを計算する。クライアントはKを再構築し、Kに対して検証試験を実行し、秘密デジタル署名鍵Uを解読するためにKを使用する。検証試験が成功するとクライアントはUによってメッセージに署名するが、このUは、Pと、任意選択で同じユーザが認証するための試行の際に誤って入力した不正確なパスワードに基づいてクライアントによって送信された他の値とを含む。各サーバは、ユーザを認証し、またそのユーザに対していくつかの正当な数の誤りを容認するためにその署名されたメッセージを検証する。有効なメッセージ、誤りその他の知識をもって、サーバは悪いアクセス試行の計算を微調整する。K、PまたはKシェアのいかなるものをも知るサーバは1つもなく、またKまたはPに対してディクショナリ攻撃を仕掛けるのに十分な情報を受信するサーバは1つもない。パスワードの安全性は、クライアントと任意のサーバの間で事前にセキュリティ保護されるかまたはサーバ認証されたチャネルを必要とせずに非常に簡単なモデルで維持される。このモデルは、人間がサーバを認証しなければならないが認証しないシステムに固有のリスクをさらに解消する。小さなサーバによるだけで他の鍵によっては保護されないデータは、複数の共同する認証サーバのすべてではないがどれかを損傷する敵に対してさえ秘密のまま維持される。

Description

【発明の詳細な説明】
【0001】 本発明は、一般に、コンピュータ・セキュリティに関し、より詳細には、複数
のサーバを使用した遠隔パスワード認証のためのシステム、方法、およびソフト
ウェアに関する。
【0002】 パスワードベースの認証は、大部分の個人的な認証システムの基礎である。キ
ャリーアラウンド・トークン、スマート・カード、およびバイオメトリックが追
加されている場合でも、単純な記憶されたパスワードが、通常、コンピュータの
トランザクションで人間の識別を確立するために不可欠の中心的な要因のままで
ある。グレードの低いパスワード、すなわち人間が容易に記憶することができる
種類のパスワードは、多くのそういうことがなければ安全なシステムにとって特
にやっかいな問題である。グレードの低いパスワードに対処する目的で、ネット
ワークの脅威を解消するためにゼロ知識(zero-knowledge)パスワードが開発され
た。しかし、パスワード検証データが敵に対して使用可能になった場合にそのパ
スワード検証データへの攻撃をいかにして防止するかはいまだ未解決の問題であ
る。
【0003】 通常のパスワード・システムでは、サーバはパスワードのための検証データを
維持しているが、それはパスワード自体のコピーである場合がある。UNIX(
登録商標)システムでは、追加のセキュリティのために、検証データは反復され
たパスワードの一方向性関数であるが、それは通常はファイルに記憶されている
。特権のないユーザおよびプログラムがそれに対するアクセス権を有しないよう
に、このファイルがさらに保護されることが多い。従来のUNIXパスワードに
対する攻撃は、攻撃者がパスワード検証データのファイルに何らかの形でアクセ
ス権を有し、かつ、可能な限り多くのパスワードを決定または「クラック」する
ためにそのファイルに対してパスワード・クラッキング・ツールを実行する。パ
スワードのクラッキングは、単に候補パスワードのリストに対して一方向性関数
を適用することである。一方向性関数の出力が検証データと一致する場合、攻撃
者は自分が正確なパスワードを推測したことを知る。このような攻撃は、所与の
時間内にできるだけ多くのパスワードをクラックすることができるように、最も
一般的なあるいは最も可能性のあるパスワードを試行するために最適化すること
ができる。
【0004】 目的は、可能な限り最も簡単なセキュリティ・モデルを使用して、すなわち可
能な限り少ない推測を使用して、パスワードベースのクライアント/サーバ認証
システムで可能な限り多くのパスワードに対するサーバベースの攻撃の脅威を低
減することである。この目的は、サーバに対するまったく拘束を受けていない攻
撃に直面してもなお、パスワードの露出を防止することである。現在のモデルで
は、攻撃者がサーバのソフトウェアを変更し、そのサーバに対して入手可能なす
べてのデータにアクセスし、サーバが合法的で疑わしくないユーザを認証してい
る間にそのサーバの使用を制御する能力を有することを想定している。
【0005】 この目的を達成するためには、複数のマシンを使用する必要があることは明ら
かである。任意の単一マシン・システムで、ユーザのパスワード検証データにア
クセスすることができる、または任意のパスワードの暗号化されたデータにアク
セスすることができる人物は、ユーザのアクションをシミュレーションすること
による拘束を受けていないオフラインの暴力的な攻撃を実行するために十分な情
報を有している。問題は、このリスクを解消するために、複数のサーバ間でいか
にしてパスワード検証データを分割するかということである。単一サーバは、オ
フラインの暴力的な攻撃を仕掛ける能力を有しないはずである。
【0006】 公開鍵暗号化は、現在では安全な個人的な電子トランザクションのために必須
のツールとして承認されてきている。個人のデジタル署名には広範な適用がある
ことが予想される。しかし大きな問題は、ユーザの秘密鍵をいかにして保護し、
管理するかということにある。それをおそらくはパスワードによって弱く暗号化
された状態でクライアント・マシンに放置しておくことは、望ましくないセキュ
リティ・リスクである。セキュリティがあまりにも頻繁に管理困難に陥るクライ
アント・マシン上にパスワードがクラックされ得る永続的データを放置しておく
ことは愚かであろう。さらに、複数のユーザが単一マシンを共有するモデルでは
、ユーザの信用証明書のローカルな記憶を要求することは現実的ではない。
【0007】 いわゆる「ローミング」ユーザに対するユーザ認証の解決法の1つのクラスは
、遠隔サーバに記憶されているユーザの個人的な信用証明書を保存し、それらの
信用証明書を取り出すためにパスワードベースの認証を使用する。強力なゼロ知
識パスワード(ZKP)プロトコルは、ネットワークベースの暴力的な攻撃を解
消することによってそれらの解決法にある脅威の多くに対処するが、同時にクラ
イアント・マシン上の他の記憶された鍵と証明書への依存性をも解消する。ZK
Pプロトコルは、複数サーバの場合にも同様に必須である。
【0008】 強力なモデルと弱いモデルとの複数サーバの安全なローミング・システムのた
めの2つのモデルを議論する。どちらのモデルでも、攻撃者はパスワード検証デ
ータのコピーに対するアクセス権を入手することができると想定されており、適
切に長い時間で計算を実行する能力を有する。(適切に長いとは、拘束は受けて
いないが計算の実現可能性の制限内であることを意味している。任意に長い計算
は任意に大きな公開鍵をクラックすることができる。大部分の暗号化方法でそう
であるように、潜在的な攻撃者に使用可能な時間と力に対してある種の現実的な
上限を設定することができ、また鍵に対応した安全な最小限の適切なサイズを決
定することができるということが想定される。)
【0009】 弱いモデルでは、攻撃者は、サーバの永続的データのコピーに対するアクセス
権を有するが、実行中のサーバのオペレーションに干渉することはできないと想
定する。
【0010】 強力なモデルでは、方法は、認証サーバのうちの1つ以外すべてに対する完全
にアクティブなリークに直面してさえパスワードの安全性を維持する必要がある
。攻撃者は、サーバのソフトウェアを変更し、サーバが有効なユーザを認証して
いる間にそのサーバに入手可能なすべての情報にアクセスすることができると想
定される。強力なモデルはより単純であり、したがって好ましい。これはまた、
従来の安全なチャネルの存在を想定した類似のシステムに対する初期のモデルよ
りも強力である。
【0011】 これらのモデルのすべてで、各サーバは、多数の許容される無効アクセスの試
行に制限を課すことによって、拘束を受けていないオンラインの攻撃から自衛す
ることができる。これらの制限は複数の通常の方法で課すことができる。本発明
の好ましい一実施態様は、サーバがパスワード入力の際の合法的な誤りに対して
よりよく説明することを支援する機能も含んでいる。
【0012】 ローミング・システムの目的は、モバイル・ユーザが公開鍵暗号化オペレーシ
ョンを実行するために自分の秘密鍵に安全にアクセスして使用することを可能に
することである。モビリティとは広義で使用されており、そこに鍵を記憶するこ
とを必要とせずに個人用ワークステーションおよび他の人物のワークステーショ
ンを使用すること、公衆キオスク端末を使用すること、ならびに現代的なハンド
ヘルド・ワイヤレス・ネットワーク・デバイスを使用することを包含している。
ユーザに対してどこからでも秘密鍵に対するパスワード認証アクセスを提供しな
がら、同時に敵がパスワードを盗みまたはクラックし、それによってそれらの鍵
を獲得する機会を最低限に抑えることが望まれる。
【0013】 スマート・カードはローミング・ユーザに対して秘密鍵の記憶問題を解決する
ことを約束してきたが、この解決法はカードの配置とカードリーダーの導入を必
要とする。個人が便宜性のために安全性を犠牲にする傾向は、追加のハードウェ
アを必要とする解決法の幅広い用途に対する障壁であることは既に証明済みであ
る。これは、ソフトウェアベースのローミング・プロトコルを求める1つの動機
である。
【0014】 本明細書で使用されるように、ローミング・プロトコルとは、1つまたは複数
の信用証明書サーバからの秘密鍵の遠隔取り出しのための安全なパスワードベー
スのプロトコルのことである。容易に記憶されるパスワードを使用し、他の記憶
されているユーザの信用証明書は一切使用しないことによって、ユーザは信用証
明書サーバに対して認証し、任意のアクセス可能なクライアント・マシン上で一
時的に使用するために自身の秘密鍵を取り出す。クライアントは、1つまたは複
数のトランザクション用の鍵を使用し、次いでその後、その鍵と任意のローカル
なパスワード関連データとを消去する。
【0015】 本明細書で使用するように、女性のクライアントと彼女の男性のサーバに対す
る人称代名詞を使用して、特定のユーザに代わって動作しているクライアント・
マシンはAliceと称し、信用証明書サーバは一般にBobと称するか個別に
と称する。
【0016】 「ローミング」システムの概念は信用証明書サーバと密接に関係している。J
.TardoおよびK.Alagappanの「SPX:Global Aut
hentication Using Public Key Certifi
cates(SPX:公開鍵信用証明書を使用したグローバル認証)」、IEE
E Computer Society Symposium on Secu
rity and Privacy、1991年の議事録1991年、232頁
から244頁で開示されているSPX LEAFシステムは、検証するためにパ
スワードを信用証明書サーバに対して送信し、その後ユーザの秘密鍵の取り出し
と解読とを実行するためにサーバ認証チャネルを使用するローミング・プロトコ
ルを提示している。信用証明書サーバは、それ自体が検出することのできる推測
による攻撃を制限することによって自衛し、プロトコルはオフラインでのパスワ
ードの目立たない推測を防止する。
【0017】 信用証明書(認証)サーバは、パスワードの推測が正確かどうかを判定できる
場合、故障閾値を事前設定した後のさらなる交換を防止または遅延させることが
できる。
【0018】 パスワードのみのプロトコルはもう1つの重要な関連分野である。S.Bel
lovinおよびM.Merrittの「Encrypted Key Exc
hnage:Password−based protocols secur
e against dictionary attacks(暗号化された鍵
交換:ディクショナリ攻撃に対して安全なパスワードベースのプロトコル)」、
IEEE Symposium on Research in Securi
ty and Privacy1992年5月の議事録で開示されたEKEプロ
トコルは、事前にサーバ認証の動作を一切必要とせずに安全でないネットワーク
を介してパスワードを安全に認証することによる安全なパスワードのみのプロト
コルの概念を紹介している。L.Gong、T.M.A.Lomas、R.M.
Needham,およびJ.H.Saltzerによって「Protectin
g Poorly Chosen Secrets from Guessin
g Attacks(不十分に選択された秘密の予測による攻撃からの保護)」
IEEE Journal on Selected Areas in Co
mmunications第11巻、no.5、1993年6月の648頁から
656頁と、L.Gongによる「Increasing Availabil
ity and Security of an Authenticatio
n Service(認証サーバの使用可能性および安全性の向上)」IEEE
、Journal on Selected Areas in Commun
ications第11巻no.5、1993年6月の657頁から662頁と
によって開示された「秘密公開鍵」方法と、D.Jablonによって「Str
ong passward−only authenticated key
exchange(強力なパスワードのみによる認証のなされた鍵交換)」AC
M Computer Communications Review、第26
巻no.5、1996年10月の5頁から26頁、http://www.In
tegritySciences.com/links.html\#Jab9
6で議論されているSPEKE方法と、S.Lucksによる「Open Ke
y Exchange:How to Defeat Dictionary
Attacks Without Encrypting Public Ke
ys(オープン鍵交換:公開鍵を暗号化せずにディクショナリ攻撃に打ち勝つ方
法)」Security Protocol Workshop‘97、Eco
le Normale Superieure、1997年4月7日から9日に
記載のOKE方法と、T.Wuによって「The Secure Remote
Password Protocol(安全な遠隔パスワード・プロトコル)
」、1998 Network and Distributed Syste
m Secureity Symposiumの議事録、Internet S
ociety、1998年1月97頁から111頁、その他に記載のSRP−3
方法を含めて同様の目的のための一連の他の方法が開発されたものだが、これら
は、S.HaleviおよびH.Krawczykによる「Public−ke
y cryptography and password protocol
s(公開鍵の暗号化およびパスワード・プロトコル)」、the Fifth
ACM Conference on Computer and Commu
nications Security,1998年の記事録と、M.K.Bo
yarskyによる「Public−Key Cryptography an
d Password Protocols:The Multi−User
Case(公開鍵暗号化およびパスワード・プロトコル:複数のユーザの場合)
」、6thACM Conference on Computer and
Communications Security、1999年11月1日から
4日、シンガポールの議事録と、V.Boyko、P.MacKenzieおよ
びS.Patelによる「Provably Secure Password
Authenticated Key Exchange Using Di
ffie−Hellman(Diffie−Hellmanを使用した証明可能
に安全なパスワード認証鍵交換)」、暗号化の発展−EUROCRYPT 20
00、コンピュータ・サイエンスの講義録第1807巻、Springer−V
erlag、2000年5月と、M.Bellare、D.Pointchev
alおよびP.Rogawayによる「Authenticated Key
Exchange Secure Against Dictionary A
ttack(ディクショナリ攻撃に対して安全な認証された鍵交換)」、暗号化
の発展−EUROCRYPT 2000、コンピュータ・サイエンスの講義録第
1807巻139頁から155頁、Springer−Verlag、2000
年5月によって開示されているようにパスワードのみのモデルにおける理論的な
研究自体が成長しつつある中で行われた。これらの論文の大部分は、パスワード
および関連する記憶された秘密は、暴力によってクラックされうるものか、また
はせいぜい解決できないエントロピーを有するものであると保守的に想定される
必要があるという点を強調しており、これによってユーザを保護するためのさら
なる規準が保証される。
【0019】 本発明の譲受人によって開発されたSPEKE方法は、交換の基数がパスワー
ドによって決定される周知のDeffie−Hellman(DH)指数鍵交換
の認証された形式である。SPEKEの一般に使用される形式では、パスワード
は、導出されたDiffie−Hellmanセッション鍵の相互認証を規定す
る。SPEKEの変形態様は、係属中の米国特許出願第08/823,961号
およびD.JablonによるSixth Workshops on Ena
bling Technologies:Infrastructure fo
r Collaborative Enterprises(WET−ICE’
97)Enterprise Security Workshop、IEEE
コンピュータ・ソサエティ、1997年6月18日から20日の議事録248頁
から255頁の「Extended Password Protocol I
mmune to Dictionary Attack(ディクショナリ攻撃
に影響されない拡張型パスワード・プロトコル)」題する論文、およびR.Pe
rlmanおよびC.Kaufmanによる「Secure Password
−Based Protocol for Downloading a Pr
ivate Key(秘密鍵をダウンロードするための安全なパスワードベース
のプロトコル)」、1999 Network and Distribute
d System Security Symposium、インターネット・
ソサエティ、1999年2月3日から5日の議事録にも記載されている。
【0020】 複数のマシン間で分割鍵を使用するSPEKE使用可能システムは本明細書で
はSK1と称するが、D.Jablonによる1999年1月21日の1999
年RSAデータ・セキュリティ会議99での「Secret Public K
eys and Passwords(秘密公開鍵とパスワード)」と題する講
義で提示されたものであり、このスライドは<http://www.Inte
gritySciences.com/rsa99/index.html>で
公開されている。このシステムでは、Aliceの秘密鍵であるUは、パスワー
ド導出シェアPと、2つの大きなシェアであるXとYの3つのシェアに分割され
る。これらのシェアは、U=P(○+)X(○+)Yとして(○+)関数(ビッ
ト単位の排他的論理和)を使用して結合される。SK1の登録と鍵の取り出しプ
ロセスについては以下で概説する。(訳注:明細書中(○+)は○の中に+が入
っている排他的OR演算を現す記号の代わりである)
【0021】 SK1登録で、Aliceは3つのシェア{P、X、Y}を選択し、それらの
シェアのうちの2つを結合して機密の秘密鍵S(S=P(○+)Xとして)を作
成し、Pを記憶し、AliceのマシンにXを記憶する。次いで、複数の他の形
式がJablonの1997年6月の論文に記載されているB−SPEKEプロ
トコルの形式を使用して、Aliceはパスワード導出値{P、S}に対応する
検証子{g、V}を以下のように構築する。すなわち、暗号ハッシュ関数を使用
したg=ハッシュ(S)と、適切なグループの累乗法を使用したV=Pである。
Aliceは次いでBobに{g、V、Y}を送信し、BobはそれらをAli
ceの秘密として記憶する。
【0022】 SK1鍵取り出しで、Aliceは(後刻)BobからAlice自身の秘密
鍵Uを得る。Aliceは、B−SPEKEプロトコルを使用してBobに対し
てPとSに関するAlice自身の知識を証明し、Bobと認証されたセッショ
ン鍵Kを交渉する。Bobが{g、V}に対するBob自身の知識を使用してA
liceを検証した後、BobはKで対称的に暗号化されたYをAliceに送
信する。Aliceは次いで解読してYを取り出し、Uを再構築する。このシス
テムにおけるパスワード導出値Pに対する暴力的な攻撃は、攻撃者が2つの異な
るマシン上に記憶されているシェアXとYの両方に対するアクセス権を有するこ
とを必要とする。 A: S=P(○+)X A: g=ハッシュ(S) A→B: A、Q=g2R B→A: Q=g2R A: K=Q A: K=Q B: K=Q B: K=V2R A→B: ハッシュ(ハッシュ(K、K)) B→A: 暗号化(K、Y) A: U=P(○+)X(○+)Y SK1でPに対する暴力的な攻撃を可能にするには、攻撃者はXとYの両方への
アクセス権を有する必要がある。(訳注:明細書中上付き文字Rの次の下付き文
字A、BはいずれもRの下付き文字である)
【0023】 ローミング・モデルとパスワードのみの方法は、EKEとSPEKEの両方に
基づくプロトコルを作成するためにPerlmanとKaufmanの論文で結
合された。これらの筆者は、信用証明書に対する安全なローミングのアクセスに
はパスワードのみの方法の単純な形式で十分であることを示した。Gong,L
omas,NeedhamおよびSaltzerの論文、Wuの論文、S.Ha
leviおよびH.Krawczykの論文「Public−key cryp
tography and password protocols(公開鍵お
よびパスワード・プロトコル)」the Fifth ACM Confere
nce on Computer and Communications S
ecurity,1998年の議事録、およびP.MacKenzieおよびR
.SwaminathanのIEEEP1363作業部会への提出物である論文
「Secure Network Authentication with
Password Identification(パスワード識別による安全
なネットワーク認証)」http://grouper.ieee.org/g
roups/1363/、1999年7月30日では他のローミング・プロトコ
ルが議論されているが、これらはすべて鍵のクライアント記憶が実用的でない場
合に強力なソフトウェアベースの保護を提供するためにネットワーク・メッセー
ジに対するオフラインでの予測による攻撃を停止するように設計されている。
【0024】 変形Diffie−Hellmanは、1994年8月のCRYPTO‘94
のセッションで提示された「An encrypted Key Transm
ission Protocol(暗号化された鍵伝送プロトコル)」と題する
論文でEric Hughesによって記載され、またB.Schneier著
、1996年Wiley&Sonsから出版の「Applied Crypto
graphy Second Edition(応用暗号化第2版)」と題する
書籍の515頁に記載された方法である。通常のDiffie−Hellman
では、クライアントとサーバの両方が固定したgを知っており、共同してK=gxy を交渉する。しかし変形Diffie−Hellmanでは、クライアント
(Alice)はgを送信し、gxyを受信し、サーバからK=gを取り出
す。Aliceの秘密指数xはブラインディング係数として使用される。鍵は、
K:=(gxy1/xのようにサーバの値を逆転したx乗することによって取
り出される。通常のDiffie−Hellman方法とは異なり、Kに対する
静的な値は、サーバがクライアントの(Aliceの)gを受信する前にでさ
え事前計算することができる。
【0025】 変形Diffie−Hellmanに基づくSPEKEの一形式は本明細書で
は変形SPEKEと称するが、これは米国特許出願第08/823,961号に
記載されている。変形SPEKEで、Aliceは、Pに関するAlice自身
の知識、Alice自身のパスワードから導出された値、およびBobに知られ
ているランダム値に基づく鍵Kを導出する。Aliceはパスワードを秘密のラ
ンダムなベキx乗し、その結果生じた値(Q)をBobに送信する。Bobは
をy乗し、その結果(Q)をAliceに戻す。Aliceは、K=P という結果になるようにQをxの反転乗することによってKを計算する。 Alice Bob Q:=Px → ← Q:=Q K:=Q (1/x)
【0026】 Pは、適切な大きな有限群のジェネレータを生じるSHA1またはMD5など
のパスワードの暗号ハッシュ関数であることが推奨される。さらなる詳細は、米
国特許出願第08/823,961号およびSPEKEに関する他の論文に記載
されている。
【0027】 盗まれた検証データのリスクを分散するために、データを複数のマシン間で分
割することができる。複数のマシンを使用するネットワーク・プロトコルの設計
には、パスワード導出データに対する攻撃の新しい手段を露呈することを防止す
るための注意が必要である。
【0028】 ディクショナリ攻撃から保護しているシステムに対する別の手法は、1999
年IEEESymposium on Security and Priva
cyの議事録のD.HooverおよびB.Kausikによる「Softwa
re Smart Cards via Cryptographic Cam
oflauge(暗号カモフラージュによるソフトウェア・スマートカード)」
で議論されるように、暗号カモフラージュ(本明細書ではCCと称する)と称さ
れる技術である。CCシステムは、サーバに記憶されている検証データの脆弱性
を低減するという現段階での目的とは対照的に、クライアントに記憶されている
秘密鍵の脆弱性を低減させるように導入されたものである。
【0029】 ローミングするユーザを支援するために少なくとも1つのCCシステムが変更
されており、それは2つのサーバのローミング解決法を提供する。次に、2つの
サーバ・ローミング版を議論する前に基本的なCCシステムを議論するが、この
基本的なCCシステムにはユーザと、クライアント・マシンと、CC認証サーバ
(CCAS)が含まれる。
【0030】 CCは、公開鍵技術の原理の一部には明らかに違反するが、Hooverおよ
びKausikの論文で議論された目的を達成するように設計された1組の規定
による方法で公開鍵技術を使用する。「CC秘密鍵」および「CC公開鍵」とい
う用語は、システムの2つの構成要素を示すために使用される。
【0031】 用語「CC秘密鍵」および「CC公開鍵」の「秘密」と「公開」の用法には、
用語「秘密鍵」および「公開鍵」の通常の使用法とは一致しない特別な意味があ
ることに留意されたい。具体的には、CCモデルは、CC公開鍵が公的に知られ
ていないことを前提としている。
【0032】 CC秘密鍵はクライアントに記憶されるが、小さな個人識別番号(PIN)と
共に隠蔽される方法で記憶される。これは、記憶されている秘密鍵を同等に信頼
できる任意の予想されるPINによって解読する特別の構築を使用する。(この
問題は、人間の選択対マシン生成PINと、PINに対する敵の部分的な知識と
、関連する脅威とを考察する際に後で議論する。)
【0033】 信頼される関係者だけがCC公開鍵を知る必要がある。CC暗号化秘密鍵が盗
まれた場合、CC公開鍵を所有していることによって盗用者はPINに対するデ
ィクショナリ攻撃を行う能力を得る。セキュリティの目的を満たすために、CC
公開鍵はCCASだけに知られる必要がある。実際には、クライアントは、CC
ASだけがそれを読み取ることができるようにCCAS公開鍵の下で暗号化され
た形式でCC公開鍵を記憶することができる。クライアントは、いつCCASに
対して認証したとしてもこの暗号化されたパッケージをCCASに送信する。
【0034】 同様に、ユーザのCC秘密鍵によって署名された任意のデジタル署名は、CC
ASだけに可視的である必要がある。したがってメッセージはまずCC秘密鍵に
よって署名され、次いでCCAS公開鍵によって封印される。
【0035】 HooverおよびKausikの状態は、検証可能な平文を含んでいるCC
秘密鍵の下で暗号化された任意のメッセージはCCASだけに知られる必要があ
るというより自由な制約であることに留意されたい。実際には、検証可能な平文
からは自由である有用なメッセージを作成することは非常に困難であることに留
意されたい。平文は検証可能ではないという前提は、適切な検証方法を作成する
ことが攻撃者の巧妙さに依存するシステムのセキュリティに関する問題を未解決
のままとする。これらのような未解決の問題は現在のモデルでは受け入れること
ができず、したがってこの制約に対するより厳格な命題が使用される。以下にC
Cシステムの概要を示す。
【0036】 CC登録では、クライアントはPINであるP、秘密鍵であるE、および対
応する公開鍵Dを選択する。CCがEとDの構築に対して課すさらなる制
約があるが、これらについてはここで考察する必要はない。クライアントは以下
を記憶する。 CC(P、E) カモフラージュされた秘密鍵 D CCASの公開鍵 D(D) CCASに対して封印されたクライアントの公開鍵
【0037】 CC認証で、ユーザはPを入力し、クライアントはCC(P、E)からE を取り出す。クライアントはCCASに、 D(E(メッセージ))と、 D(D)とを送信する。
【0038】 CCASはそのメッセージを認証するためにE(メッセージ)とDの両方
を開封し、クライアントの署名を検証する。
【0039】 Dには、CCASのために鍵の有効性を証明する適切な1組の信用証明書が
伴うことを想定することができよう。しかし、DがクライアントとCCASに
よって共有される秘密のままでなければならないと仮定すると、第3者の信用証
明書オーソリティを使用してDを証明するための通常の方法は除外されるだろ
う。CC秘密鍵とCC公開鍵に対するそれらの制約は共に、いかなる本当の公開
鍵システムで使用するためにもそれらが不適切であるということを明らかにして
いる。
【0040】 CCでは、PINは事実上次の2つの部分に分割される。 CC(P、E) クライアントにだけ知られている D サーバにだけ知られている
【0041】 一般に、Eの下で署名されるかまたはDの下で封印されたすべてのさらな
るメッセージは、Dの下でも封印される必要がある。本発明によると、これは
2つのサーバによる解決法に変換することができる。
【0042】 CCシステムは、クライアントでのパスワード入力の際のタイピング・エラー
を検出する機能によって特別の方法でパスワード入力エラーに対処する。クライ
アントは、少量のハッシュされたパスワードをクライアントにローカルに記憶さ
れた参照データと比較する。しかしこの機構は、記憶されたクライアント・デー
タへのアクセス権を得ている敵に対してパスワードに関する情報を数ビットをリ
ークするという大きな損失を有する。結果は、オンライン予測攻撃に対する所与
のレベルのセキュリティに対して、CCシステムのパスワードが若干大きくなる
かまたはより複雑になる必要があり、したがって記憶することがより困難になる
ことになる。クライアント上での早期のエラーの検出がサーバ上での不要の作業
を防止するという点において、システム上での計算の困難さを軽減するために人
がもう少し努力することができるという想定でCCエラー取り扱い機能が設計さ
れた。別の理念は、人間がしなければならない作業を軽減するためにコンピュー
タが使用されるべきであるというものである。システムは、ユーザに罰則を課さ
ずにユーザの誤りに耐性を有しながら依然としてパスワード予測攻撃に対する予
測し得る最高の障壁を維持するために努力すべきである。パスワードの入力にお
ける悪意のない誤りに最適に対処するシステムは、本発明の好ましい実施態様に
含まれる。
【0043】 ローミングの解決法は、公開鍵のインフラストラクチャ(PKI)を提供する
複数の企業によって、主としてスマート・カードが使用不可能な場合に「ローミ
ング」ユーザを認証する目的で設計され開発されてきた。このようなシステムで
は、ユーザは、<http://www.integritysciences
.com/PKI50.html>で入手可能なJ.Kerstetter著「
Entrust,VeriSign clear path to PKI」P
C Week、1999年6月14日によって議論された遠隔信用証明書サーバ
から記憶されているユーザ・プロファイル(通常はユーザの秘密鍵を含んでいる
)を安全に取り出す。信用証明書サーバに関する他の研究は、Perlmanお
よびKaufmanの論文に記載のEKEおよびSPEKEの変形態様を使用す
る。
【0044】 上述の暗号カモフラージュ・システムは、単一のCCサーバを前提としており
、またユーザの鍵情報はクライアントに記憶されていることを前提としている。
クライアントに記憶されているデータをCCローミング・サーバ(CCRS)に
移動し、第2のユーザのパスワードに関する追加の検証データをCCRSに提供
することによって、CCローミングと称される2つのサーバのローミング解決法
にこの方法を変換することができる。
【0045】 ユーザは、パスワードと、CCRSに対してクライアントに安全に情報を戻す
ことができるようにする適切なパスワード認証プロトコルとを使用してCCRS
に対して認証する。これは、検証子ベースの、またはいわゆる「拡張」ゼロ知識
パスワード・プロトコルを使用することが好ましい。しかし、サーバ認証済みの
SSL(セキュア・ソケット層)またはTLSチャネルを介して検証のためにC
CRSにクリア・テキストを送信することを含めた代替構築も可能である。SS
Lは、A.Frier,P.KarltonおよびP.Kocherによる「T
he SSL 3.0 Protocol(SSL3.0プロトコル)」199
6年11月18日、Netscape Communications Cor
p.で議論されており、TLSは、T.DierksおよびC.Allenによ
る「The TLS Protocol Version1.0(TLSプロト
コル、バージョン1.0)」1999年1月、IETF RFC 2246、h
ttp://www.ietf.org/rfc/rfc2246.txt、I
nternet Activities Boardで議論されている。上述の
ように、完全な安全性のためには、CCAS PINおよびCCRSパスワード
を完全に独立した値として選択する必要がある。これらの値が関連する場合、パ
スワードに対する攻撃はPINの露出に繋がる危険性がある。
【0046】 本質的に、CCローミングは、CCRS用の1つのパスワードとCCAS用の
もう1つのパスワード(PIN)との2つのパスワードのシステムである。CC
ローミングの1つの顕著な限界は、第1のサーバが第1のパスワードに対する暴
力的な攻撃を仕掛ける機会を有するということである。他の2つの関連する問題
は、クライアントのエントロピーを使用することの有効性と、PINとパスワー
ドの独立性とである。
【0047】 CCRSに対して認証するためにパスワードを介したSSLと共にCCローミ
ングを使用する場合、E.Felton,D.Balfanz,D.Deanお
よびD.Wallachによる「Web Spoofing:An Inter
net Con Game(ウェブ・スプーフィング:インターネット詐欺)」
20th National Information Systems Se
curity Conference,1997年10月7日から10日、Ba
ltimore,Marylandと,http://www.cs.prin
ceton.edu/sip/pub/spoofing.htmlで議論され
たサーバ・スプーフィング攻撃と、後述する関連するパスワード/PIN攻撃と
の両方によるさらなるリスクがある。これらのすべてのケースでは、2つのサー
バのうちの1つが攻撃された場合に2つのサーバによる手法の利点の一部が失わ
れる危険性がある。CCRSに対して認証するためにゼロ知識パスワード・プル
ーフを使用することによってサーバ・スプーフィング攻撃は解消され、関連する
PIN/パスワード攻撃をより困難にすることができる。
【0048】 CCローミング・システムは、貴重かつ希少な資源であると考えられるに違い
ないユーザのパスワードに本来備わっているエントロピーを浪費している。パス
ワードによる方法の主目的は、所与のレベルのセキュリティを達成するためにユ
ーザが記憶しなければならない情報量(上位ビット数)を最低限に抑えることで
あることを想起されたい。CCローミング・システムはこれらのビットを浪費し
、数点の脆弱性をもたらしている。第1に、HooverおよびKausikは
、プロトコル実行前のPINの事前資格審査用にPINのいくつかのビットを使
用するよう提案している。かれらは、特別に構築されたPINの小さなハッシュ
をクライアントに付加的に記憶することによってこれを行う。攻撃者は、候補P
INの空間を低減するためにハッシュされたPINを使用することができる。P
INのサイズが既に低減されたことを考慮すると、これは危険である。ユーザが
選択したPINが許可されるということは、有効なPINの空間を危険なレベル
にまで低減させることに繋がりかねない。
【0049】 CCローミング・システムは、ユーザの秘密のエントロピーを人工的に分割す
るAS PINとRSパスワードの2つのパスワード間の関係によっても損傷を
受けやすい。HooverおよびKausikはカモフラージュされたAS P
INが他のいかなる目的にも使用されることがあってはならないと明言している
。しかしユーザがAS PINをRSパスワードに誤って組み込んだ場合、また
はこれらの秘密の間に攻撃者に知られ得る対応関係がある場合、CCローミング
の基礎をなすCCシステムは攻撃に対して脆弱になる。
【0050】 関連するパスワード/PIN攻撃は、ユーザがこれらを同じ値として選択した
場合、あるいは明らかに区別可能なまたは場合によってはかろうじて区別可能な
関係性をもって識別可能な値として選択した場合に可能である。本当に独立した
PINとパスワードとを有するユーザが、これらの一方の場所に誤って他方をタ
イプした場合にも危険はある。
【0051】 複数のユーザに対する広域的な攻撃を想定した場合、まず弱いRSパスワード
を有するユーザをクラックすることによって目標空間を縮小し、次いでそれらク
ラックされたユーザの対応するAS PINをクラックするためにそれらユーザ
の集合に作業を集中させることができる。このようなRSパスワードに関する情
報のリークは、潜在的な攻撃者の全体的な作業を低減させることができる。対照
的に、同じRSパスワードとAS PINとを結合すると、理想的な2つのサー
バによるシステム(後述する)は、パスワードとPINの両方に依存するクラッ
キング作業要因を有することになり、より大きな全体的な作業要因が必要となる
【0052】 したがって、CCローミング・システムに対して秘密を2つの要因に人工的に
区画することは新たな脆弱性をもたらし、モデルを弱める。好ましい実施態様の
説明では、CCおよびCCローミングに対するより簡単な代替態様は、より強力
だが複雑さの点ではより低下しており、ユーザが記憶している秘密に対して少な
くとも同等の保護を有するものとして記載されている。
【0053】 すべての単一サーバのローミングによる解決法はインターネットの限界を有す
る。上記のローミング方法のすべてにおいて、単一の信用証明書サーバは、ユー
ザのパスワードに関する情報を検証するために使用することができるデータを維
持する。ハッシュされたパスワードが暴力によって破壊される危険性があると仮
定した場合、パスワード検証サーバは基本的にこの機密のユーザのデータに対し
て単一の障害点を表すことになる。次に、この問題に対処するシステムを説明す
る。
【0054】 複数サーバのローミングはさらなる進歩を示す。単一サーバによるシステムは
クライアントおよびネットワークからの予測攻撃は防止するが、サーバから盗ま
れる可能性のあるパスワード検証データに基づく予測は停止させない。複数のサ
ーバによるローミング・システムは、このような攻撃を驚異的な程度にまで防止
することができる。認証するためにn個の関連する信用証明書サーバを使用する
という代償を払って、複数のサーバによるシステムは、信用証明書サーバのデー
タベースに対する保護の範囲を拡張する。これらのシステムでは、敵はn−1個
のサーバを完全に制御し、有効なユーザの成功裡の信用証明書の取り出し中にこ
れらのサーバのオペレーションを監視することができるが、それでもなお、残り
の損なわれていないサーバによって検出されずに誰のパスワードに対しても1つ
も予測を検証することはできない。
【0055】 2000年6月、VeriSignは、2000年5月に「VeriSign
Introduces New Technology to Enable
Network−Based Authentication,Digita
l Singnatures and Data Privacy(ネットワー
クベースの認証、デジタル署名およびデータ・プライバシーを可能にする新しい
技術をVeriSignが紹介する)」という広報を発表し、高レベルでの複数
のサーバによるローミング機能を説明したhttp://www.verisi
gn.com/rsc/wp/roaming/index.htmlにあるウ
ェブページを公表した。W.FordおよびB.Kaliskiによる「Ser
ver−Assisted Generation of a Strong
Secret from a Password(サーバ支援によるパスワード
からの強力な秘密の生成)」と題する論文は2000年6月14日のGaith
ersburg MDでのIEEE Ninth International
Workshops on Enabling Technologies:
Infrastructure for Collaborative En
terprisesで提示された。この論文の改定版は、2000年9月の議事
録に発表された(W.FordおよびB.Kaliski,「Server−A
ssisted Generation of a Strong Secre
t from a Password(サーバ支援によるパスワードからの強力
な秘密の生成)」9th International Workshops
on Enabling Technologies:Infrastruct
ure for Collaborative Enterprises、IE
EE、2000年9月の議事録)。これらの論文は、複数のサーバを使用したサ
ーバベースのパスワード・クラッキング攻撃を防止する方法を説明している。2
000年6月14日、Ford&Kaliskiの論文に記載の方法は従来のサ
ーバ認証チャネルに依存することに留意されたい。パスワードの安全性に関して
このように従来の安全なチャネルに依存することは、不要かつ潜在的にリスクの
ある安全性の仮定をもたらす。この依存性を除去することが、本発明の利点の1
つである。
【0056】 2000年6月14日の論文に記載の方法のうちの1つは、本発明の好ましい
実施態様で使用される上述のような変形SPEKEプロトコルを使用する。20
00年6月14日の論文に記載の様々な方法では、複数のサーバがパスワード検
証データの秘密を保持する義務を共有している。各サーバはユーザのために秘密
を記憶する。クライアントはユーザからパスワードを獲得し、2ステップのプロ
セスによって各サーバと連係する。最初にクライアントは各サーバからパスワー
ドに基づいて増幅された鍵を獲得し、次いでサーバのそれぞれに対して認証する
ために使用される「マスター」鍵を生成する。(本明細書では、Fordおよび
Kaliskiの用語である「強化鍵」の代わりに「増幅された鍵」という用語
(BellovinおよびMerrittの論文に記載)を使用していることに
留意されたい。)各増幅された鍵はユーザのマスター鍵の1つのシェアを表して
いる。クライアントは、マスター鍵を生成する目的で増幅された鍵のシェアを結
合するためにハッシュ関数を使用するなどの任意の標準的な技術を使用する。
【0057】 各増幅された鍵を獲得するために、FordおよびKaliskiは2つの基
本的な方法を提案する。1つは上述の変形SPEKE方法であり、もう1つはD
.Chaumによる「Security without Identific
ation:Transaction Systems to Make Bi
g Brother Obsolete(識別なしのセキュリティ:ビッグブラ
ザーを陳腐化するトランザクション・システム)」Communication
s of the ACM 28(1985年)1030から1044に記載の
スタイルでブラインドRSAデジタル署名を使用する一変形態様である。これら
の方法を以下で比較する。
【0058】 サーバは無効アクセスの試行を追跡しており、FordおよびKaliski
によると、成功裡の認証に比べてパスワードの増幅に「甚だしく多くの」ステッ
プがある場合、サーバはさらなる要求を制限またはロックアウトする動作をとる
。しかしシステムは有効なユーザによってなされた誤りとパスワードに対する本
当の攻撃をよりよく反映する他の事象とを区別しない。したがってこの不成功の
試行に対処するためのFordおよびKaliskiのシステムは、一般的な人
間の誤りを最適に扱っていない。単純なタイプミスや他の訂正された誤りによる
不成功の増幅は、他の不成功の試行のようにみなされるべきではない。本発明は
これらのケースに対処するよりよい方法を提供する。
【0059】 2000年6月14日の論文の方法は、サーバに対する既にセキュリティ保護
されたサーバ認証チャネルにさらに依存している。以前の認証に対するこの依存
は不要に複雑なセキュリティ・モデルを作成し、したがって攻撃のリスクは増大
した。これらのリスクは、単一の障害点を解消する目的とは相容れない場合があ
る。
【0060】 2000年6月14日の論文に記載のパスワード増幅方法のうちの1つではR
SAブラインド公開鍵署名が使用される。この技術は、変形SPEKE方法と同
様の効果を達成するが、これらはどちらももう一方の関係者に周知のランダム成
分に基づいてパスワードを増幅して大きな鍵にするものである。しかしRSA方
法はさらに複雑である。RSAブラインディング方法の詳細はFordおよびK
aliskiの論文には含まれていないが、Chaumブラインディングへの参
照に基づく一方法は以下のように機能すると想定される。
【0061】 単一の値yの代わりに、サーバは各ユーザに対して値{n,e,y}を維持す
る。これらの値はどれもパスワードからは導出されない。値nは、pとqをRS
Aモジュールに適した素数とした場合にp・qに等しく、eはRSA公開鍵であ
り、yは対応する秘密鍵であり、したがってe=1/d mod(p−1)(q
−1)である。基本的に、増幅された鍵はパスワードに対するRSA署名である
である。xを使用すると、これは、ブラインディング係数xが、それが署名
しているデータ(P)をサーバが知ることを防止するChaumの論文に記載の
ブラインド公開鍵署名方式となる。
【0062】 2000年6月14日の論文では、クライアントに対してKの認証を保証す
る目的でチャネルを認証するためにSSLが使用されることが提案されている。
この論文は、RSAのブラインディング・クライアントが、サーバを事前認証す
ることによる他にnとeの値を検証する良好な(すなわち有効な)方法をまった
く有しないという点で、RSAブラインディングに勝る変形SPEKEの利点も
指摘している。
【0063】 FordおよびKaliskiは、(従来型)信用証明書サーバに対して認証
するために使用される鍵Kにパスワードを増幅するために「パスワード強化サ
ーバ」が使用される「特別なケース」のプロトコルをさらに提案している。K の値はパスワード強化サーバの応答およびそのパスワードによって完全に決定さ
れる。第1の交換を制御する任意の攻撃者は、ユーザが計算するKの値が、ユ
ーザがP’に対する自身の予測に基づいて構築する候補K’の値に等しいかど
うかを判定することができるようであってはならない。したがって攻撃者はK を決して見てはいけない。同様に、Kによって暗号化されたメッセージが検証
可能な平文を含んでいる場合、攻撃者は同様にそこから予測を検証することがで
きる。この脅威に対抗するために、筆者らは信用証明書サーバ通信チャネルが完
全に保護されることを提案する。2000年6月14日の論文は明示的な方法は
特定しないが、SSLの使用を提案している。(2000年9月の論文は事前に
セキュリティ保護されたチャネルの必要性を回避する方法を議論していることに
留意されたい。)クライアントのルート信用証明書の共通のセットが両方のサー
バを検証することができると想定される場合、1つまたは複数の単一の障害点が
システムにもたらされる。秘密鍵が常駐する各場所にルートまたは任意の副次的
な信用証明書オーソリティに対して単一の故障点がある。このモデルの主目的と
して単一の故障点を解消することであるということが重大である。
【0064】 前述の攻撃は、当該2つのサーバに対する一見有効そうな信用証明書チェーン
を作成するための鍵を有する任意の単一のシステムを損なうことによって達成す
ることができる。さらに前述のように、セキュリティのSSL/ウェブ・ブラウ
ザ・モデルに対する攻撃は、ユーザを騙して悪意のあるサーバへの「有効」SS
L接続を使用させるか、またはSSLを一切使用させないようにすることができ
る。
【0065】 以前のサーバ認証に対する依存は重大な制約である。公衆キオスク、または異
なるドメインの広範な様々なサーバに接続可能な個人向けデスクトップなどの消
費者環境では、ユーザは適切なサーバの位置を特定してそこに接続する必要があ
る。適切なサーバに安全に接続し、パスワードの安全性を維持することをユーザ
に依存することによって問題が生じる。FordおよびKaliskiは安全な
サーバ認証チャネルを作成するためにクライアントがSSLを使用できる方法を
議論している。これは、クライアントがパスワードのセキュリティを維持するた
めに(何らかの形で)サーバの識別を検証する必要があることを暗示している。
また、一般的な実施態様では、サーバに対して通信チャネルを認証するためのサ
ーバ特有状態情報をクライアントが記憶することも暗示している。サーバに対し
て安全なチャネルを確立するために、SSL解決法は一般的に、クライアントに
インストールされた1つまたは複数の信用証明書オーソリティに対して事前イン
ストールしたルート鍵を有することを要求する。これはまた、指名されたサーバ
のルート鍵と公開鍵を関連付けるように構築した信用証明書のチェーンに対する
アクセスをも要求する。クライアントは、ユーザが選択した適切な1つの(また
は複数の)サーバの信用証明書を検証する信用証明書検証ソフトウェアおよびポ
リシーの施行を含める必要がある。最後に、ユーザはサーバ・ネームのバインデ
ィングが正確であることを保証する必要がある。これは、ユーザによる多大の動
作と注目とを必要とする場合がある。特にブラウザ・モデルで使用されるような
SSLへの依存は不必要に危険である。ユーザは、悪意のあるサーバへの「有効
」SSL接続を使用するか、またはSSLを一切使用しないように騙される危険
性がある。このプロセスは、「人間の誤り」に属する可能性のあるいくつかのタ
イプの障害を被る。問題は、人間の参加者による非現実的な予測に基づくシステ
ム全体の設計ミスであると考えられる。
【0066】 パスワードの安全性に関する以前のサーバ認証チャネルに対する依存は不要で
ある。本発明の好ましい代替方法は、複数のローミング・ユーザと複数のサーバ
の環境における通常の人間の挙動によりよく適合したより単純なモデルである。
【0067】 好ましいセキュリティ・モデルは、どちらも複数のサーバを使用するという点
で2000年6月14日の論文に類似している。しかし本発明の好ましいモデル
では、クライアントとサーバの間に事前認証された安全なチャネルが存在するこ
とは前提ではない。好ましいモデルは、パスワードの安全性を維持するためにサ
ーバの識別を慎重に検証しなければならないという必要性からユーザを解放する
。このモデルでは、ユーザは、インターネットで一般的に使用されるような任意
の安全でない機構を偶然に使用して自由にサーバを配置することができる。これ
らの方法は、手動でタイプ(またはミスタイプ)されたURL、安全でないDN
Sプロトコル、信頼性のないサーチ・エンジン、知られていないソースによって
収集されたコレクション中のアイテムを「クリックすること」が含まれる。これ
らすべての方法およびこれ以上の方法は、正確なサーバへの接続を確立するため
に堅固な複数の方法を提供するが、これらはどれも詐欺師に接続する機会に対し
ては保証する必要はない。この単純なモデルに提示された最悪の脅威はサービス
の拒否の1つであるが、これはより複雑なモデルでは概して常に存在する脅威で
ある。好ましいモデルに付加された利点は、たとえクライアントが詐欺師に接続
したとしてもいかなる手段によってもパスワードが絶対に露出しないということ
である。
【0068】 従来技術の大部分は、エラーのあるパスワード入力を非常に簡単に取り扱う。
2000年6月14日の論文では、各サーバが「パスワード強化」ステップ数を
追跡できること、またこの数を成功裡の認証数と照合確認することが提案されて
いる。認証よりも「かなり多くの」強化がある場合、そのアカウントはロックア
ウトされる。これはパスワードベースのシステムにとっては一般的である。しか
し不成功のログインも非常に一般的であることに留意されたい。パスワードはし
ばしばミスタイプされ、ユーザは複数あるパスワードのうちから、最終的に訂正
する前に誤った選択肢を入力することがしばしばある場合がある。長期の固定さ
れた制限がそのような誤りにある場合、有効な稚拙なユーザはロックアウトされ
る可能性がある。一方、システムが3対1の試行対成功比に耐える場合、長期に
わたる敵による時折の予測攻撃は未検出のままである場合がある。
【0069】 このエラー取り扱い問題に対処するために、「許容」の概念が本発明に導入さ
れた。システムは、知られていないユーザによる無効アクセスの試行と同様の方
法で有効なユーザによる一時的な誤りを許し、それを考慮しない。この問題は、
本発明の好ましい実施態様で対処される。
【0070】 したがって、本発明の目的は、サーバベースの攻撃の脅威を、パスワードベー
スのクライアント/サーバ認証システムの単純なセキュリティ・モデルで可能な
限り低減することである。複数のサーバを使用した遠隔ユーザ認証を行うことも
本発明の目的である。小さいパスワードのみを使用してクライアントからサーバ
に対して認証することも本発明の目的である。クライアント・マシン上に記憶さ
れている鍵または信用証明書を必要としない認証を行うことも本発明の目的であ
る。耐障害性のために複数のサーバを使用することも本発明の目的である。いか
なる個別サーバに完全に動的なリークがある場合でさえも安全な遠隔パスワード
認証を行うことも本発明の目的である。パスワード入力における一般的な人間の
エラーによりよく対処することも本発明の目的である。 発明の概要
【0071】 上記および他の目的を達成するために、本発明は複数のサーバを使用した遠隔
パスワード認証を実施するシステム、方法およびソフトウェアを提供する。シス
テム、方法およびソフトウェアは、複数のサーバ・システムでセキュリティを実
施するために変形SPEKEの態様を採用する。
【0072】 本発明によるシステムの一例は、1つまたは複数のクライアントと、ネットワ
ークによって相互に結合されている複数の認証サーバとを含んでいる。このシス
テムの一例で、クライアントは、iを特定のサーバを指定する変数とした場合に
各認証サーバから秘密マスター鍵のシェアであるKを取り出すために変形SP
EKEを使用する。クライアントはサーバのそれぞれの各シェアを結合してマス
ター鍵Kを作成し、このマスター鍵Kはサーバに対して認証し、そのサーバ
またはどこかに安全に記憶されている機密データ(自分の秘密鍵を含めて)を取
り出して解読するために使用される。
【0073】 各認証サーバは、マスター鍵の単一シェアに対応するランダム値yを個別に
知っている。各認証サーバは、クライアントからの最近のアクセス要求のリスト
を維持し、有効なクライアントから受信したプルーフ・メッセージを検証するこ
とによってそれらのアクセスの試行を照合確認する責任をも持つ。具体的には、
各サーバは、許容に対する有効な要求を検証することができる場合、有効なユー
ザのパスワード入力の際の最近の過去のエラーを許す必要がある。
【0074】 通信チャネルを制御する敵がAliceを騙して不適切なマスター鍵Kを使
用させることができることを防止するために、Aliceは、敵に露出する可能
性のあるあらゆるデータを作成する際に、使用する前にKが正確であることを
確認する。認証ステップは、有効なログインを認証するために、事前の最近の合
法だが誤ったログイン試行に対する許容を認証し、要求すると共にAliceか
ら各サーバへの署名されたメッセージを使用する。
【0075】 より具体的には、各i番目のシェアSがランダム指数y乗されたAlic
eのパスワードPに応じて形成される場合、Aliceは登録時にマスター対称
鍵Kのn個のシェアを作成する。シェアの任意の正確な部分集合の知識を有す
る攻撃者が同じ範囲のランダム値からKを区別することができないように、こ
のシェアは関数と結合される。次いでAliceは、i番目のサーバによって緊
密に保護された秘密として記憶されるべき各指数yを何らかの形で伝達する。
Aliceは、また、デジタル署名用の公開/秘密鍵対{V、U}も選択し、対
称的に、自身の暗号化された秘密鍵Uを作成するためにKから導出された鍵
を使用して秘密鍵Uを暗号化する。最後に、AliceはパスワードをAlic
eのマスター鍵にリンクするプルーフ値プルーフPKmを作成する。Alice
はn個のサーバのそれぞれにVを送信し、便宜的な場所、おそらくはサーバのそ
れぞれにUおよびプルーフPKmを記憶する。登録プロトコルのフローは、A
liceの識別Aを各i番目のサーバBに対して認証する安全なチャネルによ
って実行される。 クライアント:{登録、A、V、y}→B クライアント:{記録、A、UKm、プルーフPKm}→B
【0076】 鍵取り出しの時点で、自身のマスター鍵を再構成して自身の秘密鍵を取り出す
ために、AliceはパスワードQのランダムにブラインドされた形式を各サー
バに送信する。各サーバは、ユーザのマスター鍵のブラインドされたシェアを表
す秘密指数値(R=Q )乗されたブラインドされたパスワードを含んでい
るブラインドされた応答Rに応答する。サーバの少なくとも1つはAlice
に対してAliceの暗号化された秘密署名鍵UとプルーフPKmをも送信す
る。 クライアント:{要求、Q}→B サーバB:{応答、Q ,U、プルーフPKm}→クライアント (訳注:明細書において上付き文字yのあとの下付き文字はyの下付である)
【0077】 興味深いことには、AliceがUおよびプルーフPKmを取り出すチャネ
ルはそれらの値の保全性を保証する必要はない。これは節4.4でさらに議論す
る。
【0078】 Aliceは、各鍵のシェアを得るために各応答をアンブラインドし、Ali
ceのマスター鍵Kを再構築するためにそのシェアを結合する。Aliceは
次いで、プルーフ値プルーフPKmと自身のパスワードPとを使用してマスター
鍵が正確かどうかを検証する。プルーフが不正確な場合、これは鍵のシェアの少
なくとも1つが不正確であることを暗示しており、Aliceはネットワークに
対してKまたはPに関する任意のさらなる情報を露出せずにそのプロトコルを
アボートする必要がある。そうでない場合、Aliceの暗号化された秘密鍵(
および任意の他のデータ)を解読するためにKから導出された鍵が使用され、
次いでAliceは自身の識別を各サーバに提供することによってプロトコルを
完了する。各サーバに最近送信された各ブラインドされたパスワードQに対して
、Aliceはブラインドされたパスワードの署名されたコピーを送信する。 クライアント:{確認、Q、署名(U、Q)}→B クライアント:{確認、Q、署名(U、Q)}→B ・・・
【0079】 各サーバは、Aliceからの署名されたQ値を最近受信したブラインドさ
れたパスワードのリストと照合し、有効な署名を伴ういかなる一致するエントリ
をも除去する。残りのエントリは、適切な時間内では確認されなかったとしても
、悪質とラベリングされた疑わしい非合法のアクセス試行とみなされることにな
る。悪いアクセスの試行をカウントすることは、そのカウントが特定の閾値を超
える場合にユーザのアカウントに対してさらなるブラインドされたシェアの応答
を制限または遅延させるように使用することができる。
【0080】 Aliceは自身のマスター鍵を検証する必要がある。上述のように、Ali
ceは安全でないチャネルを介して認証を実行することができる。Aliceは
自身の検証子プルーフPKmを取り出し(通常は信用証明書サーバから)、次い
でプルーフPKmに対して自身のパスワードの鍵を掛けられたハッシュとそれと
を比較することによって再構築されたマスター鍵の有効性を確認する。値が一致
しない場合、Aliceはプロトコルをアボートする。
【0081】 本発明者らの方法の別の強化は、Aliceが各サーバに対してマスター鍵の
知識をどのように証明するか、また各サーバがこの情報をアクセス試行の独自の
記録とどのように照合確認するかに関係している。
【0082】 各サーバは、マスター鍵に関するAlice自身の知識のプルーフを含んでい
るAliceからのメッセージを探し、Aliceが自身のパスワードを知って
いるというプルーフの含意によって不正アクセス試行を検出する。有効なプルー
フがブラインドされたパスワード値に関連付けられていない場合、サーバはAl
iceのアカウントに対して悪いアクセス事象をトリガしなければならない。現
在の方法は、Aliceのプルーフの構築と各サーバがパスワード入力の際のA
liceの誤りを許すためにどのようにプルーフを使用するかという点で従来技
術と異なる。
【0083】 安全なチャネルを使用していない場合、Bに単純にプルーフを送信すること
によって攻撃を再実行する方法が露出される場合がある。これを防止するために
、プルーフはAliceから送信されたブラインドされた要求値を組み込んでい
る。さらに、Aliceは時折自分のパスワードをミスタイプすることが容認さ
れており、Aliceは時期尚早のアカウントのロックアウトの原因となる可能
性のある自分の不正アクセスのカウントを増分することによって罰せられること
はない。Aliceが最終的に正確なパスワードを入力することができたことを
サーバに対して後で証明することができる場合、各サーバはAliceの誤りを
許すことが望ましい。
【0084】 許容プロトコルを使用することによって、ユーザの悪意のない誤りは許される
。Aliceは各成功裡の認証の後で、許容に対する要求の形式で最近の以前の
無効アクセス試行の証拠を送信する。この証拠を受信して検証すると、各サーバ
は記録から誤りを消去するか、または訂正された許容可能な誤りとしてこの事象
を記録する。この方法でサーバの事象ログを微調整することによって、システム
管理者は、有効なユーザが単純に失敗した時点ではなく、システムが本当に危険
な時点に関するより詳細な見解を得る。
【0085】 許容システムは、クライアントの少なくとも1つの署名生成ステップと、サー
バのそれぞれに対する1つの署名検証ステップとを要求するように考えられる。
計算を最低限に抑えるために(公開署名方法が使用されている場合に計算コスト
のために重要である場合がある)、署名ステップは、ユーザを認証し、そのユー
ザから要求が発せられたことを証明する結合された関数を提供する。ユーザに対
する有効な認証メッセージを構築する際、クライアントはそのユーザによって発
行されたすべての最近のチャレンジ・メッセージの集合を含め、その結果を適切
なユーザの鍵によってデジタルに署名し、それをすべてのサーバに送信する。各
サーバはユーザを認証するために署名を検証し、同時に自分の最近の許容可能な
誤りの証拠を検証する。(これらの署名は、公開鍵デジタル署名システムでクラ
イアントの秘密鍵を使用して作成することができ、クライアントの公開鍵を使用
して、または代替方法として、クライアントと各サーバの間で相互に共用される
別個の対称鍵によって鍵を掛けられた鍵の掛かったMACを使用して検証される
。)
【0086】 Aliceの確認メッセージを受信すると、各サーバはAliceのアクセス
試行のプルーフをサーバの記録された最近の試行リストと照合確認することを試
行する。サーバは、各Q値に対するAliceの署名を検証することによってこ
れを実行する。検証が成功すると、その要求メッセージがAliceのマスター
鍵を再現するために明確に使用されるかどうかには関わらず、サーバは最終的に
パスワードを知っている人物によってQ値が実際に送信されたことを知る。
【0087】 本発明の好ましい実施態様では、どのサーバもパスワード検証子をクラックす
ることができないように、パスワード検証子の脆弱性はサーバ間に分配される。
最高N−1個のサーバまでの任意の数のサーバに対する攻撃がユーザのパスワー
ドまたは任意のパスワードによって保護されたデータを露出しない場合に、N個
のサーバまで拡大縮小するシステムが提供される。これは、認証サーバのうちの
1つ以外すべてのサーバまでの完全に動的なリークに直面してさえ、また、以前
の安全でない通信チャネルに直面しても強力な保証を提供する。パスワードはこ
のシステムを実施する際の唯一の要因であることを理解されたい。
【0088】 パスワードは、本発明を実施する際に要求される唯一の認証要因であることを
理解されたい。パスワードのみによる認証は現在使用されている主流の方法であ
る。本発明では、パスワード要因は可能な限り強力に作成されており、他の要因
には依存しない。
【0089】 他の追加的な鍵または信用証明書を使用することができることも理解されたい
。本発明は、複数要因システムで使用することができることが想定される。明ら
かに、ローカル鍵を記憶することができる非ローミングの用途では、強度の付加
的な層を提供するためにこれを実行することができる。例えばセキュア・ソケッ
ト層(SSL)チャネルを使用することは本発明のシステムのパスワードの安全
性に対しては必要ないが、SSLの付加的な使用は、これらのトランザクション
を実行する際にユーザ名に対するプライバシー・レベルを増すなどの他の利点を
提供する。パスワードの安全性に関するそのような他の要因に対する依存性を除
去することによって、システム全体の強度は大幅に増大する。具体的には、本発
明は、現在では広範に使用されているウェブ・ブラウザ認証の過度に単純化した
パスワードによるSSLシステムに対して可能なウェブサーバのスプーフィング
攻撃のクラス全体を停止する。
【0090】 本発明の様々な特徴および利点は、類似の参照番号が類似の構造上の要素を示
す添付の図面と共に以下の詳細な説明を参照することによってより容易に理解す
ることができる。
【0091】 (詳細な説明) 図面を参照すると、図1は、本発明の原理による複数サーバ・システム100
の一例を示すブロック図である。この例示のシステム100は、1つのクライア
ント101またはクライアント・コンピュータ101(Alice)と、この例
ではネットワーク102によって相互に結合されている2つのサーバB 10
3とB 104である複数の認証サーバ103、104とを含んでいるように
示されている。
【0092】 本発明のシステム100および方法は、クライアント101が複数のサーバ1
03、104からマスター鍵のシェアを取り出すために変形SPEKE方法を使
用する。(数字nは、特定の実施態様で使用されるサーバ103、104の数を
示すために使用される。)本発明を実施するために使用されるモデルは、保護さ
れていないチャネルまたはネットワーク102を介して認証メッセージが送信さ
れることを可能にし、安全なチャネル(例えばSSL)は一切必要としない。チ
ャネルを制御する敵がAliceを騙して不適切なマスター鍵を使用させる危険
性を防止するために、Aliceは敵に露出する可能性があるいかなるデータを
作成するためにマスター鍵を使用する前にでもそのマスター鍵が正確であること
を確認する。さらに認証ステップは、許容プロトコルに適応する目的で有効なロ
グイン並びに以前の合法だが誤ったログインを認証するために署名済みメッセー
ジを使用する。指数交換に対するパスワード導出ベースの要素を作成するために
独特の関数が提供され、クライアント101とサーバ103、104のより柔軟
な構成を可能にする態様を本発明者らは記載する。特別な状況には貴重な場合の
ある安全性の弱いモデルで代替方法が提供される。
【0093】 好ましい実施態様では、Aliceの潜在的に小さなパスワードとAlice
のすべてのパスワード保護データは、最大n−1個までのサーバ103、104
の完全に動的なリークがあった場合でさえ安全なままである。Kから導出され
た鍵によるAliceの機密データの暗号化は、この認証プロセスで正確なパス
ワードを使用する関係者にのみAliceのデータが入手可能になるよう保証す
る。
【0094】 登録の時点で、Aliceはパスワードと、マスター鍵Kを作成するために
使用される一連のシェア{y、y、…y}とを選択する。この実施例では
、マスター鍵導出関数はK=ハッシュ(K‖K‖...K)だが、ここ
で各シェアはK=P として計算される。但し、他の代替鍵導出関数につい
ては後述する。AliceはKを事前計算し、各Biと共に対応する鍵のシェ
アyとKに対する検証データを記憶する。検証データは、一般に公開鍵デジ
タル署名またはその代わりに対称鍵MAC関数のどちらかを使用してデジタルに
署名されたメッセージである。
【0095】 各サーバBは、yに関するサーバの知識に基づいて変形SPEKEプロト
コルを使用してシェアKをAliceに提供する。プロトコルの各実行によっ
て、Aliceのブラインドされた鍵シェアのうちの1つ、この実施例では値m =Pxy が取り出される。Aliceはこれらのシェアを結合しハッシュし
てマスター鍵を導出する。この実施例では以下を使用する。 K=ハッシュ(m 1/x‖m 1/x‖...m 1/x) ランダムなy値のため、これらの鍵のシェアは独立している。
【0096】 図2を参照すると、Aliceは後でサーバ103、104からマスター鍵を
取り出す。クライアント101は、変形SPEKE方法に従ってユーザにパスワ
ード201を入力するよう促し、パスワード202から群要素を導出する。((
p−1)/2素数と共にZ の大きなプライム・オーダー部分集合を使用する
場合に、そのような関数の一例はP=ハッシュ(パスワード)mod pであ
る。)変形SPEKE方法を使用することによって、Aliceは各サーバB 203にブラインドされたパスワード値Pを送信する。各サーバBはブライ
ンドされたパスワード値をm=(P のよう適切なベキ乗し、その結果
をAliceに戻す。Aliceは、各鍵のシェアm204の対応するブライ
ンドされた値を取り出し、各結果をアンブラインドし、それらを結合してAli
ceのマスター鍵205、この実施例では関数K=ハッシュ(m ‖m ‖...m )によって作成する。
【0097】 Aliceが任意のサーバから鍵のシェアKを取り出すための一般的な方法
、一般的にBとラベリングされている方法は以下の通りである。 A→B: m=P→A: m=m A: K=m 1/x=P
【0098】 Bが知っている秘密値yは、Bが知っている値yとは完全に独立して
おり、以下も同様である。したがって、サーバのどれ1つをとっても、Kまた
はPのどちらかに対してディクショナリ攻撃を仕掛けるために十分な情報は有し
ない。このプロトコルを使用すると、各Bはyを事前に記憶しており、また
マスター鍵Kの単方向関数である検証データVも記憶する。
【0099】 AliceはKを使用して、Kから導出された鍵を使用して暗号化された
コンテナに記憶されている個人の秘密データ208を解読することができる。こ
のコンテナは、サーバ103、104のどれかに記憶されているか、または便利
な他の場所に記憶されている場合があり、安全でないチャネルを介して取り出す
ことができる。しかし、AliceがKに関するAlice自身の知識から導
出した任意のデータを任意の他の関係者に露出する前に、AliceはまずK が有効であるかどうかを判定する必要がある208。具体的な検証技術は後述す
る。
【0100】 Kが有効でない場合、ローカル・パスワード再試行ポリシーに基づいて、ユ
ーザにはパスワードの再入力を再度試行することが要求される場合がある201
。再試行が実行されると、クライアント101は安全な短期メモリでの失敗した
交換で使用されるP値を保存する。
【0101】 Kが有効である場合、AliceはKの知識と、Pの知識と、短期メモ
リに記憶された同じユーザによって生成された任意の最近の以前のPのリスト
とのプルーフを構築し、このプルーフをサーバ103、104のそれぞれに送信
する207。この場合、Aliceは、暗号化されたコンテナに記憶された秘密
鍵によって公開文書に署名するように、Kから導出されたデータを自由に使用
することができる209。
【0102】 Aliceは、任意の適切なゼロ知識プロトコルを使用して任意のBに対し
てKに関する知識を証明することができるが、Kが大きなエントロピーを有
しているのでこのゼロ知識・プロトコルはゼロ知識パスワード・プロトコルであ
る必要はない。各サーバBは、Kに対応し、サーバ自体にAliceのK のゼロ知識・プルーフを検証することを可能にする検証データ情報Vを有する。
【0103】 例えば一実施態様では、Kは公開鍵デジタル署名方式に対してユーザの秘密
鍵Uを取り出すためにAliceによって使用されるが、ここでVはUに対応す
るユーザの公開署名鍵である。Aliceは、Bが署名を検証し、これがAl
iceのKに関する知識を証明する秘密鍵を使用してメッセージに署名するな
どの多くの方法でKに関する知識をBに対して証明することができる。
【0104】 KからのUの導出も多くの方法で実行することができる。一実施態様では、
UおよびVの値は他のデータを使用せずKから直接的に導出することができる
【0105】 本発明の好ましい一実施態様では、Uの値はKから導出された対称鍵によっ
て暗号化されたコンテナの中に封印して保存される。この実施例の場合、Ali
ceはKを使用して対称暗号鍵を導出し、次いでAlice自身の秘密鍵Uを
開封する。
【0106】 Aliceは次いでBに知られているメッセージに署名するが、これはK に関するAlice自身の知識を証明するものである。次いでAliceは署名
されたメッセージをBに送信する。本発明の一実施態様では、メッセージはB
obからAliceに送信された値RBiである。 B→A: RBi、ランダムな一時的な数 A→B: U(RBi)、RBiの彼女の署名
【0107】 別法として、本発明の好ましい実施態様で、AliceはU(Q)を送信す
るが、これはAliceがQを使用して認証した一員であったことをさらに証
明する。AliceがQを認証すべき理由と、良いアクセス試行と悪いアクセ
ス試行とを区別するためにそれを各サーバのニーズにどのように関係付けるかを
後述する。
【0108】 第3の手法は、V=gKmの場合、基本的にはKに対するDiffie−H
ellman公開鍵である。この場合、Aliceは以下のように認証すること
ができる。 B→A: g A→B: m:=ハッシュ((g ) B: (m=V)の場合、AliceはKを知らなければならない
【0109】 Aliceは次いで自分自身を証明するためにEKm(Q)を送信する。
【0110】 いかなる場合でも、AliceはKに対する知識を証明する場合にパスワー
ドPに関する知識も証明する。
【0111】 Kとyに関する結合された知識によってサーバはPをクラックする能力を
得るので、サーバBに単一シェアKを知ることを希望することは適切な判断
である。単一サーバの場合、パスワードをクラックするために使用することがで
きるある種のデータをそのサーバが記憶する必要があることは避けられないこと
であると考えられる。しかし理想的な複数サーバの場合、サーバがP、K、ま
たはKのどれか、またはPをクラックすることに繋がる可能性のある他の何か
をサーバが知ることは望ましくない。
【0112】 すなわち各BはPまたはKを知らない。Bはyを使用して変形SPE
KEを実行し、Kに関するAliceの知識を認証する。各Bはyおよび
V、すなわちKに対する検証データとしても働くKに対する検証データ、ま
たはより広範にPに関するAliceの知識に対する検証データとして働くK に対する検証データだけを知っている。
【0113】 登録 登録の時点で、Aliceは自身のパスワード、および公開鍵デジタル署名を
実行するために適した公開/秘密鍵対(V、U)を選択する。
【0114】 Aliceは以下のステップをオフラインで実行する。 次のように、パスワードに基づいて群要素Pを構築する。 P=ハッシュ(パスワード)mod p n個のサーバ103、104に対してi=1の場合、 { 独立した大きな乱数としてyを選択し、 K:=P mod pを計算する } Kを以下の例のように、すべてのKのシェアから構成する K=ハッシュ(K‖K‖...K) マスター鍵Kに対するユニバーサル検証データを、以下の例のように
構築する: V=gKmmod p 次いでAliceはn個のサーバ103、104に対してこれらの信用
証明書を安全に配布する。 「ユーザID」をユーザに対する識別子とする。 n個のサーバに対してi=1の場合、 { 各サーバに{ユーザID、y、V}を記憶する。 }
【0115】 認証 Aliceは変形SPEKEを使用して各Kシェアを取り出し、そのシェア
を結合してKを作成し、Kの有効性をチェックし、各サーバBにKの知
識を提供することによって認証する。 各サーバBに対して、 { A→B:Q=Pmod p B→A:Q=Q yimod p、V A: K=Q (1/xmod(m−1))mod p } K:=ハッシュ(K‖K‖...‖K)を計算し、 (後述のように)Kの有効性をチェックし、 各サーバBに対して、 { A→B:プルーフ(K、Q) }
【0116】 各サーバBはKを知らず、パスワードPを知らずにこれを計算することは
できないことを留意されたい。さらに良いことには、各BはKまたはPを知
らず、他のシェアの知識なくしてVからそれを計算することはできない。B
、すべてのシェアyを入手しない限り暴力によってさえyからそれを計算す
ることはできない。したがって、すべてのn個のサーバ103、104が損傷さ
れない限り悪意のあるサーバはPを計算することはできないという目的は達成さ
れた。y値の1つにさえアクセスすることが不可能であるということによって
、暴力は実行不可能になる。
【0117】 オンライン暴力的攻撃の防止 オンライン予測攻撃を防止するために、サーバ103、104は、ユーザ1人
あたりベースのプロトコルの実行の回数および/または頻度を制限することを希
望する。このような技術は周知である。しかし、このようなシステムを最適化す
るには、サーバ103、104がプロトコルの有効な実行と無効な実行との間を
区別することが必要となる。さらにプロトコルの無効な実行の場合は、合法的な
ユーザの誤りと疑わしい攻撃との間を区別することも有用である。
【0118】 具体的には、誤って間違ったパスワードをタイプしたユーザと、本当に無許可
の認証の試行との間を区別することが望ましい。マシン対マシン認証とは異なり
、ユーザ認証での誤りは一般的である。具体的にはパスワード認証では、いくつ
かの一般的なタイプの誤りがある。おそらくAliceは一時的に自分のパスワ
ードを忘れて類似だが誤ったパスワードをタイプする場合がある。または、Al
iceはパスワードを知ってはいるがタイプする際に誤る場合もある。別の一般
的な誤りは、Aliceが曖昧に記憶している複数のパスワードから誤った選択
肢をタイプするというものである。ユーザが、最後の試行が最終的に有効となっ
た一連のログイン試行中にこのような誤りをなすことは非常に一般的である。仮
にサーバがすべてのこのようなケースを疑わしいハッカーの攻撃とみなし、また
ユーザをロックアウトする前の試行回数に関して厳重な制限を有している場合、
ユーザは一般的に自分のシステムから誤ってロックアウトされる場合がある。
【0119】 前述のシステム100で、Aliceは、すべての認証サーバ103、104
がAliceの合法ではあるがエラーのあるアクセス試行を攻撃者による予測試
行と区別することができるようにすべての認証サーバ103、104に対してA
liceの{K‖P}に関する結合された知識を証明することができる。サ
ーバが、おそらくは一定の時間間隔内で、そのようなプルーフを受信しない場合
、サーバは、Pによってなされた予測は無効であり攻撃者による無許可のアク
セスであると従来通りに推測し、許可された悪い予測の制限に対してそれを不利
とみなす。
【0120】 無効アクセス回数にタイプミスが占める割合を最低限に抑えるための1つの手
法は、クライアント101での二重の悪い入力を検出し、サーバ103、104
に対して反復された二重の悪いパスワードを送信することを防止することである
。クライアントのソフトウェアは、特定の入力がサーバによって拒絶されたこと
を検出すると、ユーザに対して拒絶メッセージを表示する。ユーザが同じ無効入
力を反復する場合、クライアントのソフトウェアはそれを認識することができ、
そのサーバに再度接触することを防止することができる。最適化は、クライアン
ト101に記憶されているパスワードの露出を最小限に抑えるために短期間だけ
しか行うことはできない。 許容プロトコル
【0121】 この問題に対するもう1つの新しい手法は、「許容」プロトコルと称すること
を次に説明する。このシステム100では、誤ったパスワードの多くの事故的な
入力が発生すると即座に正確なパスワードの入力が続くことが前提となる。これ
が発生すると、サーバ103、104は誤った入力を許すことが望ましい。これ
は、これらの誤りが合法的なユーザによってなされたことが証明された場合に、
記録されている無効アクセス試行回数からこの事象を事実上除去することによっ
て行うことができる。許されることにより、自分のパスワードを頻繁にミスタイ
プするユーザは無許可アクセス試行に関する小さい長期制限を維持するシステム
100によって不要に罰則を受けることはない。
【0122】 稚拙な手法は、各成功裡の試行後にそれ以前のすべての無効な試行の記録を単
純に消去することである。しかしこれは、パスワードに対する最適な予測回数を
行うためにシステムの閾値を知っている攻撃者が実際のユーザによるプロトコル
の有効な実行の間にインターリーブすることを可能にする。
【0123】 この問題に対する解決法は、エラーのあるどのアクセス試行が有効なユーザの
単なる事故的な誤りであるかを(できるだけ多く)識別し、この情報をサーバに
提供することである。これは、プロトコルの各成功裡の実行中にそのユーザによ
ってなされた既知の以前の誤りの証拠をクライアントに送信させることによって
行われる。基本的に、クライアントはそれぞれのそのような誤りに対して許しを
求める。サーバは、有効なユーザが誤りをなしたことを検証すると、その記録か
ら誤りをディスカウント(除去)する。
【0124】 利点は、無効アクセス回数に対するより厳しい制約は、反復された少数のタイ
プミスに関してユーザを罰せずにより厳しくすることができる。
【0125】 図3を参照すると、変形SPEKE複数サーバ・システム100の好ましい実
施態様で使用されるような、許容プロトコル300(ソフトウェア300として
実施される)の一例が示されている。
【0126】 サーバ103は、ユーザごとに以下のデータ変数を維持する。 Z 悪い試行数 N 最近の増幅要求数 R[1..N] 最近のPパスワード増幅要求値リスト T[1..N] R[1..N]に関連付けられたタイムスタンプのリスト
【0127】 サーバ103はブラインドされたパスワード(P)要求を受信する301。
ローカル・ポリシーに従って、ユーザ・アカウントがロックされているかどうか
を知るためにユーザ・アカウントがチェックされる302。ロックされている場
合は、応答は送信されてはいけない303。アンロックされている場合、ブライ
ンドされたパスワードは短期嫌疑リストに記録され304、ブラインドされた鍵
のシェア(Pxy )が作成され305、ブラインドされた鍵のシェア(Pxy )がクライアント101に送信される306。
【0128】 ブラインドされたパスワード要求を記録することは、そのアカウントがロック
されておらず、ブラインドされたシェアがクライアントに送信されるべき場合に
のみ行われるべきである。しかし安全を期して、記録はブラインドされたシェア
が送信される前に行われるべきである。
【0129】 したがって、パスワード増幅プロセス305が発生するログイン試行のたびに
Nの値は増分され、サーバ103は、その実行で使用されたQの値を短期メモ
リ315のリスト値R[N]に記録する。サーバ103はさらに、要求が受信さ
れた時刻を示す関連するタイムスタンプ値をT[N]に記録する。
【0130】 サーバ103は、陳腐な要求を発見313またはチェックする313ためのプ
ロセスを定期的に実行する。T内の任意のタイムスタンプ値と現在時刻との間の
差異が特定の時間間隔以上に大きくなる場合、サーバ103はいかなる対応する
R値をも削除する314。この期間の長さは、誤りをなした有効なユーザが正確
なパスワードでログインを試行し続けることが予想される典型的な最大時間であ
る場合がある。各R値がリストから除去されると、対応するT値および最近の増
幅数Nも同様に除去される。このような事象が発生するたびに、未検証のユーザ
に対してもう1回パスワード増幅が発生したことを示すために、長期メモリ31
6にある悪い試行回数Zが増分される。
【0131】 成功裡のログインが行われた場合、クライアント101は、ランダム乗したパ
スワードと等しいQの値を、同じログイン・セッションの以前の実行のQ
対する任意の以前の値と共にデジタルに署名したメッセージ308形式で各サー
バ103に送信する。このメッセージはマスター鍵Kに関するユーザの知識か
ら導出された鍵を使用して署名される。この署名は、ユーザの公開鍵Vを有する
任意のサーバ103によって検証可能なユーザの秘密鍵Uを使用して、メッセー
ジ上の公開鍵デジタル署名を使用して実行されることが好ましい。
【0132】 別法として、署名は、ユーザとサーバによって共用される鍵による鍵の掛かっ
た鍵を掛けられたMACを計算することによって実行することができる。この場
合、鍵はKから直接的に導出することも、Kによって対称的に暗号化された
暗号化済みコンテナから得ることもできるが、一般的に共用鍵はそれぞれのユー
ザ/サーバ関係に対して一意である必要がある。
【0133】 この署名されたメッセージは、サーバによって受信され308、検証される3
09。検証ステップは、ユーザの公開署名鍵を使用した公開鍵デジタル署名検証
であっても、あるいはサーバに既知のユーザ特有鍵を使用した鍵の掛かったMA
Cの確認であってもよい。サーバ103は、すべての最近のQ値のユーザのリ
ストの署名を検証し、それらをリストRの以前の最近の実行で発見された値のリ
ストと比較する309。一致がない場合、リストRは変更されない310。シス
テムは、成功裡のログイン事象としてもまたは不成功のログイン事象としても無
効プルーフの受信は一般に取り扱うべきでない。一致がある場合、対応するアク
セス試行は短期メモリ315内のリストRから除去され311、対応するタイム
スタンプも除去され、Nの値が減分される。
【0134】 サーバ103は、悪い試行数Zまたはおそらくは悪い試行数と最近の未確認増
幅(Z+N)の総数を制限することを選択することができる。この制限はユーザ
、ユーザの集合、またはシステム規模の制限に対して特有であることができる。
同様に、制限が超過された場合に取られるべき動作は、アカウントを永続的にロ
ックアウトすること、一時的にロックアウトすること、かつ/またはシステム管
理者に対して警報状態を提示することなど変動する場合がある。技術におけるこ
のような変動はパスワードベースのシステムでは一般的なことである。
【0135】 サーバ103は、アクセス・イベントを発生させたクライアント101または
ネットワーク102に関連付けられた情報を記録することを希望することもでき
る。サーバ103は、そのようなイベントのアカウントをクライアント1人あた
りベースで維持することさえできる。
【0136】 変形SPEKEシステム100では、このようなデータは既に公開されている
ので、Q値の露出した記録であってもクライアント101またはサーバに対し
て安全性の脅威を提示しない。
【0137】 許容プロトコルを使用する際の1つの懸念は、共用ワークステーション設定に
ある。常に長期間にわたって実行されている永続的ログイン・プログラムがある
場合、攻撃者は、標的となったユーザの予想到着時刻直前にワークステーション
に到着することができ、またその攻撃者は間もなく許されるであろう数点の予測
を挿入することができる場合がある。したがって、システム設計者はそのような
イベントの発生する可能性を考慮し、かつおそらくは許容時間ウィンドウを適切
に調整する必要がある。この脅威を低減するもう1つの方法は、ログインに対し
てセッションベースの手法を提示するシステムを使用することである。クライア
ント101は、数回のアクセス試行に対して活動状態のままであり、次いで非活
動状態の期間後に消失するログイン・ウィンドウを開始するために保護注意鍵を
使用することができる。このシステムは、それ以前のセッションでなされた無効
ログイン試行に対する許しを求めることは一切ないが、単一セッション中の悪い
試行以外はすべて許容されることが可能である。ユーザは同様に、共用ワークス
テーションを使用している場合には常に新しいログイン・セッションを確実に使
用するように訓練されるべきである。
【0138】 U(Q)メッセージを分配する明白なプロセスは、Aliceに自身ですべ
てのN個のサーバ103、104に接触させることである。しかし、これらの活
発なマシンに対する割込みを最小限に抑えるために、本発明者らはAliceに
サーバ103、104の1つだけに接触させることしかできない。次いでこのサ
ーバ103、104は、証拠を他のすべてのサーバ103、104に伝播させ、
また集められた一連の一括された要求でも同様に行うことができる。例えば、現
在の間隔で、システムのすべてのユーザに対して「許容を求める」要求を分配す
るために数分ごとに更新を行うことができる。この技術は割込み数および各サー
バに対する通信オーバーヘッド量を低減させることができる。
【0139】 許容プロトコルの概要 このシステム100は、ユーザのアカウントの悪いアクセス試行の持分に対し
て有効なユーザによる誤りをカウントしないので、「寛大」である。これは、有
効な遷移誤りはシステム100に対する脅威としてではなくディスカウントする
が、未知のユーザによる無効アクセス試行をカウントおよび制限する能力は依然
として保持している。
【0140】 各成功裡の認証後の最近の以前の無効アクセス試行の証拠を送信することによ
ってこれは達成される。この証拠を受信して検証する際、各サーバは記録からそ
の誤りを消去するか、またはそのイベントを訂正された許容可能な誤りとして記
録する。この方法でサーバのイベント・ログを微調整することによって、システ
ム管理者は、有効なユーザが単に失敗している時点ではなくシステム100が本
当に危険な時点に関するより詳細な見解を得る。
【0141】 許容システム100は、クライアント101での少なくとも1つの署名生成ス
テップと、サーバ103、104のそれぞれに対する少なくとも1つの署名検証
ステップとを要求する。計算を最小限に抑えるために、署名ステップを、ユーザ
を認証する署名ステップと結合することができる。ユーザに対する有効認証メッ
セージを構築する際、クライアント101はそのユーザによって発行されたすべ
ての最近のチャレンジ・メッセージの集合を含め、その結果をユーザの秘密鍵で
デジタルに署名し、それをすべてのサーバ103、104に送信する。各サーバ
103、104はユーザを認証するために署名を検証し、同時にユーザの最近の
許容可能な誤りの証拠を検証する。許容システム100のこの実施態様は、いか
なる関係者に対しても著しい付加的な計算は一切要求しない。
【0142】 サービスの拒絶 アカウントのロックアウトに対する無効な試行に対して小さい制限を設定する
と、サービス攻撃の拒絶の脅威も増加する。攻撃者は、反復した故意の無効アク
セス試行を行うことによってシステム100への特定ユーザによるアクセスを単
純に拒絶することができる。
【0143】 この問題を緩和する1つの手法は、無効アクセス試行のソースに関する情報を
サーバの記録に記録し、またサーバに、より具体的にはソース1つあたりベース
でロックアウト・オペレーションを実行させることである。ソース情報は、その
ような情報が入手可能な場合に発信側のクライアント・コンピュータ101の名
前またはネットワーク・アドレスを含めることができる。
【0144】 拡張子 ユーザが自分のマスター鍵Kを得ると、上述の基本システム100は多くの
方法で拡張することができる。各認証サーバ、およびより一般的には任意の他の
サーバは、ユーザのマスター鍵Kで対称的に暗号化されたクライアント101
に対する秘密ファイルを記憶することができる。このファイルは、強力に暗号化
されているので、認証なしにユーザに自由に送信することさえできる。このファ
イルはユーザの秘密鍵とユーザに関する任意の他の機密データを含めることがで
きる。
【0145】 上述の基本的な複数サーバのプロトコルは、サーバ103、104のある種の
部分集合が一時的に使用不可能になるケースを見込んで拡張することができる。
【0146】 シェアKは多くの様々な方法で結合することができることに留意されたい。
一例は、Kを構成するために十分なシェアを得るためには、n個のサーバ103
、104のうちのいくつかの部分集合mに対するアクセスで十分である場合にN
個中M個の認証を可能にするためにこのシステム100を拡張することである。
この一例は以下の通りである。
【0147】 各CがKシェアのすべての予想される有効な組み合わせの1つである{C 、C、...C}の組み合わせのリストを計算する。例えば、m=n−1
の場合、n−1のシェアのすべての有効な組み合わせは以下のように計算するこ
とができる。 i:=1からnの場合、 c:=ヌル・ビット・ストリング k:=1からnの場合、 k!=iならば、 c:=C‖Kk C=ハッシュ(c)
【0148】 次いでサーバは、K:C={暗号(C、K)、暗号(C、K)、...暗
号(C、K)}のx個の異なる対称的な暗号を記憶する。
【0149】 認証の時点で、クライアント101はリストCを取り出し、Kを解読し、Kに
関する知識をサーバ103、104に対して証明する。この手法は、mおよびn
の小さい値の場合に実用的である場合がある。
【0150】 短い指数の問題 概略的にqのサイズである累乗に対する指数が上述の方法の優勢な損失なので
、指数のサイズを低減することが望ましい。能率的なゼロ知識方法に短い指数を
提供する1組の方法が、参照により本明細書に組み込んだ1998年8月20日
のU.S.PTOによって出願された文書開示番号第443510号のD.Ja
blonによる「Password Key Exchange using
a Composite Modulus(複合モジュラスを使用したパスワー
ド鍵交換)」に記載されている。
【0151】 もう1つの手法は、1996年5月のEurocrypt 96,Sprin
ger−Verlagの議事録のP.C.van OorschotおよびM.
J.Wienerによって「On Diffie−Hellman Key A
greement with Short Exponents(短い指数によ
るDiffie−Hellman鍵アグリーメント)」で議論されているような
短い指数を使用するというものである。これらの著者は周知の計算の攻撃の相対
的な損失を議論し、短い指数の適切なサイズを議論している。
【0152】 しかし、短いランダムな指数に異なるパスワード値をベキ乗した結果生じるド
メインが高度に明確な場合、パスワード導出ベースに関する情報をリークするた
めの技術が開発される場合のある可能性を残しているということが依然として懸
念である場合がある。
【0153】 [1、o(G)]で均一に分散された値の範囲から選択されたランダムな指数
xを使用する際、xに関する知識なくしてPだけに関する知識がPに関する情
報を一切露出しないことは明らかである。しかしm<o(G)として範囲[1、
m]で短い指数xを使用する際、セキュリティは、計算上の取り扱いにくさの何
らかの付加的な仮定に依存している。この場合に対する特別な攻撃を誰かが発見
したらどうすればよいのだろうか。
【0154】 Diffie−Hellmanでの短い指数の使用はvan Oorscho
tおよびWienerによって議論されているが、ここで著者らは、いくつかの
既知の固定した基数gに対してgのランダムな指数xを計算する最も効率的な
周知の方法としてPollardラムダ方法を特定している。ラムダ離散ログ計
算は約x1/2のオペレーションを必要とする。パスワード生成Diffie−
Hellman交換を解読する単純化した手法は、P’を各候補パスワードに対
して構築されたものとした場合に各潜在的な基数P’に対する指数を計算すると
いうものである。しかし、より簡単な解決法があるかも知れないと考える人物も
いる可能性がある。
【0155】 問題(1)が暴力的なラムダ攻撃よりも非常に簡単である場合があるという(
おそらくは警告されていない)考慮により、本発明者らはモジュラスよりも非常
に小さいプライム・オーダーの部分集合を使用することによってAliceとB
obの計算を低減させる手法を提案する。少なくとも敵がクライアントのP
だけから情報を決定する場合には計算上の取り扱いにくさのいかなる仮定をも除
去することが望ましい。
【0156】 パスワード導出ジェネレータ用のP=f(g・h)方法 問題に対処する一方法は、モジュラスよりも非常に小さいオーダーで大きなプ
ライム・オーダー部分集合を使用する。パスワードをこの部分集合のジェネレー
タに(比較的効率的に)変換する関数が使用され、計算上の取り扱いにくさの潜
在的により少数の仮定をもってサーバの秘密指数に関する情報のリークを低減さ
せることによってセキュリティを効率的に維持する手段が使用される。この実施
態様では、値Pは2つ独立したランダムな群要素(g、h)から導出されるが、
これら要素のうちの1つhはパスワードの関数に基づいて累乗される。 固定したシステム・パラメータは以下の通りである。 21023<p<21024であり、2159<q<2160、pおよびq
が素数の場合にp=k・q+1とする g=ハッシュ(“g”)mod pとする h=ハッシュ(“h”)mod p、オーダーqの2つの関係しない要素
とする
【0157】 ハッシュ関数はSHA1のような標準的な暗号ハッシュ関数である。この実施
例の関数に対する入力ストリングは任意の定数であり、この実施例では単一のA
SCII文字ストリング「g」と「h」である。gとhは任意の独立した数字で
あり、したがってgはいかなる既知の指数累乗によってもhに関係していること
が知られないことが重要である。
【0158】 登録 Aliceは登録時に以下のステップを実行する。 1からqまでの範囲の乱数、y∈[1、q]を選択する t=ハッシュ(パスワード)mod qを計算する P=g・hmod pを計算する K=Pmod pを計算する サーバBでyを記憶する
【0159】 指数のパスワード導出tは1997年6月のJablonの論文で示された「
指数内パスワード」問題に関する懸念を増大させる。攻撃者は、g =P
ように、固定した基数gとPに対する候補値のディクショナリ{P、P、.
..}との対応関係を確立するために「指数のディクショナリ」{e、e
...}を作成することが可能であってはならない。
【0160】 gとhがいかなる既知の指数によっても関係付けられないように別個に選択さ
れた場合、この問題は回避される。上述のような固定したシステム・パラメータ
の構築がこれを保証する。
【0161】 何らかの理由で変数パラメータが望まれる場合、クライアント101は、gお
よびhの有効性を証明する公開された信用証明書を検証することによってgおよ
びhが適切であることを検証することができることに留意されたい。信用証明書
は、この実施例ではストリング「g」および「h」であるハッシュ関数への単な
る入力であってよい。ハッシュ関数が正常でなければならず、かつハッシュ空間
が衝突を防止するために十分に大きくなければならない場合、結果として生じる
値は基本的に乱数と区別不可能であるべきである。離散ログ問題は、2つのその
ようなランダム要素間の指数の相関関係を決定することができないよう保証する
。1つのそのような適切なハッシュ関数は、「Secure Hash Sta
ndard(安全なハッシュ標準)」、FIPS 180−1、U.S.Nat
ional Institute of Standards and Tec
hnologyに記載のSHA1である。
【0162】 認証 AliceがBobと共に実行するパスワード増幅プロトコルでは、 Aliceは以下のように続行する。 t=ハッシュ(パスワード)mod qを計算する P=g・hmod pを計算する x∈[1、q]、1からqの範囲の乱数を選択する r=Pを計算する rをBobに送信する 次いでBobは以下を実行する。 (rmod p)≠1またはr=1の場合にプロセスをアボートする。 s=rを計算する sをAliceに送信する 次いでAliceは以下のステップを実行する。 (smod p)≠1またはs=1の場合にアボートする。 K=s1/xmod pを計算する。
【0163】 この方法では、BobとAliceはそれぞれに160ビットの指数によって
2つの累乗法を実行する。この方法は、類似のFordおよびKaliski方
法と比較した場合、短い指数問題が解決可能であるという仮定の下で、非常に少
ない計算によって略同等レベルのセキュリティを提供する。
【0164】 指数の最低サイズと対称鍵との間で任意の正確な等価の相関関係を決定するこ
とは困難なので、これは「略」同等とされる。上記の実施例ではランダム指数と
部分群のサイズは160ビットであり、対称鍵は80ビットの強度を有し、モジ
ュラスのサイズは1024ビットと仮定する。このような相関関係は厳密に明確
に定義付けるのは困難である。1つの参照点として、DSS署名規格は512ビ
ットのモジュラスの160ビットの部分群を使用したことに留意されたい。他の
勧告は、通常、160ビットの部分群に対してより大きなモジュラスのサイズを
仮定する。いかなる場合でも、全般的に増大する鍵のサイズに対して勧告が変化
するにつれて、ここで説明する方法で使用する値のサイズを適切に調整すること
ができる。
【0165】 P=f(g・h)によるモジュラスの構築 p=kq+1でありオーダーqの部分群が使用される上記の方法では、kの係
数に関する懸念がある。小さい手段がある種の最低の安全なサイズよりも少ない
kのすべての小さな係数に関しては、敵はTmod pを得るために特定の値
Tでサーバをプローブすることができる。この結果によって敵はサーバの指数y
に関する情報を学習することができる。Sをkのすべての小さい係数の倍数とし
て各小さい係数に関してそれを認める場合、対応する小さな部分群がある。S=
2となるようにkを構築することによって、yの低いビットだけがリークされる
最低レベルにまで攻撃を低減することができる。一実施態様では、k=S・r、
S=2とし、r、qおよびpを素数とした場合にp=kq+1である。
【0166】 yの低いビットだけのリークは、指数yが本当にランダムである場合は重大な
問題ではないはずである。その低いビットが別個にランダムであると仮定すると
、最低の安全な指数サイズは補償するために1ビットだけ増やすことができる。
この1ビットのリークは、yの低いビットをシステム100全体を通して固定さ
れた定数とすることによって防止することができる。
【0167】 P=f(g・h)によるセキュリティと効率 プロービング攻撃から情報リークを低減する類似の手法は、yがSの倍数にな
ることを保証することである。ここでもまた、Sが10ビットの数であるとyは
S=2になるこの(上記の)場合よりも10ビット大きくなるというように、ラ
ンダム性の損失を補償するためにyのサイズが適切に増やされる必要がある。
【0168】 P=f(g、h)方法によって、本発明者らはクライアント101にほんの僅
かな計算上の代償を追加する、より信頼性のある短い指数を使用することができ
る。この方法の性能は、同様に短い指数を使用するが、遥かに大きな群を生成す
る値Pを伴う方法と比較することができる。この方法は、サーバに対する重要な
追加の計算は一切なく、クライアントの第1のメッセージのプローブ可能なセキ
ュリティの保護を得る。クライアントの追加された損失は、t乗されるhの累乗
法である。
【0169】 最後に、計算上の取り扱いにくさという仮定を除去することによってセキュリ
ティを向上させる本発明で使用されている手法は、他日、不適切であると証明す
ることができよう。短い指数を使用する計算上の安全性は、離散対数問題が扱い
にくいという仮定などの、本発明者らが方法に対して全体として行った他の仮定
と等価であることを証明することができる。
【0170】 代替鍵導出関数 鍵のシェア{y、y、...y}からマスター鍵を導出するために代替
鍵導出関数が可能である。ここでは3つのそのような関数を示すが、それらの関
数の第1の関数は上記の実施例で使用される関数と同じである。 K=ハッシュ(P ‖P ‖...P )、連結を使用して K=ハッシュ(P (○+)P (○+)...P )、XOR関
数を使用して、 K=ハッシュ(P ...P )、群演算子を使用して、 特別な場合、ここで示し、かつさらに後述する結合された鍵導出関数によっ
て群内で累乗法を使用する鍵のシェアを結合するのに有利な場合がある。 K=ハッシュ(P ・... )、反復した群累乗法を使用し
て、
【0171】 次節では、これらの異なる代替関数が方法の異なる実施態様で有利であること
を示す。
【0172】 代替フローおよび結合された鍵導出関数 複数のサーバ103、104を認証するための1つの簡単な手法は、クライア
ント101に以下のように複数のサーバのそれぞれと共に一連の連続したチャレ
ンジ/応答プロトコルを実行させることである。 手法(1) A: m=P A→B: m: m=m →A: m A→B: m: m=m →A: m A: K=ハッシュ(m (1/x)、m (1/x)
【0173】 クライアント101に単一P値を複数のサーバ103、104に同時に送信
させるもう1つの代替的な手法(2)は、クライアント101が非同期的に応答
を収集することができる、サーバ103、104(BおよびB)に同時に並
行して応答を計算して送信する作業にあたらせる環境では有利である場合がある
。 手法(2) A: m=P A→B: m A→B: m: m=m : m=m →A: m→A: m A: K=ハッシュ(m (1/x)、m (1/x)
【0174】 手法(2)は、手法(1)と比較して全体的な実行時間を低減することができ
る。
【0175】 手法(2)のさらなる最適化は、K=ハッシュ(K ...K
のように、鍵のシェアのグループ積からマスター鍵を導出することである。この
場合、Aliceは、自分が実行しなければならない累乗法の量を低減させる計
算K=ハッシュ((m (1/x))を実行することができる。
【0176】 具体的には、図4は、最適化された計算によってグループ積鍵導出関数を使用
して2つのサーバと共に1つのクライアントのオペレーションを示す本発明の原
理による方法の一例400を示す流れ図である。
【0177】 ステップ401では、登録時刻{ユーザID、y、V}が各サーバ103、
104に記憶され、P(H=ハッシュ(P))のハッシュの暗号化されたコピ
ーとユーザの秘密鍵Uはユーザの識別子{ユーザID、暗号(K、{H、U
})}に関連付けられるかまたは関係付けられたディレクトリに保存される。暗
号化されたコンテナは、同様にHを破損せずにUを破損するようにコンテナが
変更される危険性がないことを保証するためにメッセージ認証コードを含むこと
に留意されたい。
【0178】 ログインの時点で、ステップ402では、入力されたパスワード(上記のよう
な)の適切な関数である群要素(P)が作成される。ステップ403では、ブラ
インドされた鍵のシェア(m=P)が形成される。ステップ404では、ブ
ラインドされた鍵のシェアは各サーバB103およびB104に送信される
【0179】 ステップ405では、ブラインドされた鍵のシェア(m=m )は第1
のサーバ(B)103上で形成される。ステップ406では、サーバBはブ
ラインドされたパスワードを短期メモリに記録し、ステップ407ではブライン
ドされた鍵のシェア(m)をAliceに送信する。ステップ408で、Al
iceは公開ディレクトリからAliceの暗号化されたパスワード検証子H と秘密鍵Uを獲得する。(ステップ408は任意の便宜的な時点で実行すること
ができる。)ステップ409では、ブラインドされた鍵のシェア(m=m )は第2のサーバ(B)104上で形成される。ステップ410では、第2
のサーバ(B)104はmを短期メモリに記録し、ステップ411ではm をAliceに送信する。ステップ412では、Alice101はそのシェア
をアンブラインドし、Aliceのマスター鍵K=ハッシュ((m (1/x) )を作成する。鍵導出用のシェアのグループ積を使用するK=ハッ
シュ(P )に留意されたい。
【0180】 ステップ413で、クライアント101はHおよびUを取り出すためにK を使用してディレクトリ・データを解読する。ステップ414および415では
、Hがハッシュ(P)に等しくない場合、クライアント101はアボートする
。ステップ416では、クライアント101はクライアントの秘密鍵Uを使用し
てブラインドされたパスワードmを含んでいる署名されたメッセージmを作
成し、それをクライアント101が合法的ユーザの代わりに動作していることの
プルーフとしてBおよびBに送信する。ステップ417で、各サーバ103
、104はユーザの公開鍵Vを使用してメッセージmのm上の署名を検証す
る。ステップ418および419では、m上の署名が検証されてmが疑わし
いログイン要求の短期リスト内で発見される場合、ブラインドされた鍵のシェア
はそのリストから消去される。
【0181】 しかし、サーバBがクライアント101とサーバBの間の媒介物として動
作する連鎖的手法の一例のように、メッセージ・フローのシリアル化が必然であ
る場合がある。この場合、本発明者らは、K=ハッシュ(P *y *.. .y )でのようにブラインドされた鍵の連続的な累乗法を使用してマスター鍵
を導出するために代替の結合された鍵導出関数を使用することができる。 手法(3) A: m=P A→B: m: m=m →B: m: m=m →B: m→A: m A: K=ハッシュ(m (1/x)
【0182】 BとBによって実行される計算の順番は交換可能であり、Bはmを単
純に直接的にAに送信できることに留意されたい。この手法は以下で詳述し、図
5に示す。代替的な等価のシーケンスは以下の通りである。 手法(4) A: m=P A→B: m→B: m: m=m →B: m: m=m →A: m A: K=ハッシュ(m (1/x)
【0183】 結合された鍵導出関数は、シリアル化された手法で媒介物としてのAlice
によっても使用することができる。 手法(5) A: m=P A→B: m: m=m →A: m A→B: m: m=m →A: m A: K=ハッシュ(m (1/x)
【0184】 Kを導出する際にAliceの累乗計算を低減するために結合された鍵導出関
数を使用する手法(5)のこのプロセスは、任意の数のサーバ103、104に
明らかな方法で拡張することができる。この手法では、Aliceはmに関す
るAliceの知識のプルーフをサーバBに、mのプルーフをサーバB
、という具合に送信すべきである。
【0185】 しかし、サーバ103、104が計算で媒介物として動作し、Aliceが媒
介の結果に対するアクセス権を有しない場合、Aliceの動的な参加を証明す
るためには別の手法が必要となる場合がある。AliceがサーバBと直接的
に通信するだけの結合された鍵導出関数を使用する2つのサーバ構成の特別な場
合を図5に示す。より具体的には、図5は、クライアント101が2つのサーバ
103と104のうちの1つだけと通信するオペレーションを示す本発明の原理
による方法500の一例を示す流れ図である。
【0186】 ステップ501では、登録時刻{ユーザID、y、V}が各サーバ103、
104に記憶され、パスワード(H=ハッシュ(P))のハッシュの暗号化さ
れたコピーとユーザの秘密鍵Uがユーザの識別子{ユーザID、暗号(K、{
、U})}に関連付けられるかまたは関係付けられたディレクトリに保存さ
れる。暗号化されたコンテナは、同様にHを破損せずにUを破損するようにコ
ンテナが変更される危険性がないことを保証するためにメッセージ認証コードを
含むことに留意されたい。
【0187】 ログインの時点で、ステップ502では、入力されたパスワード(上記のよう
な)の適切な関数である群要素(P)が作成される。ステップ503では、ブラ
インドされた鍵のシェア(m=P)が形成される。ステップ504では、ブ
ラインドされた鍵のシェアは各サーバB103に送信される。
【0188】 ステップ505では、ブラインドされた鍵のシェア(m=m )は第1
のサーバ(B)103上で形成される。ステップ506では、サーバBはブ
ラインドされたパスワードを短期メモリに記録し、ステップ507でブラインド
された鍵のシェア(m)を第2のサーバB104に送信する。ステップ50
8で、Aliceは公開ディレクトリからAliceの暗号化されたパスワード
検証子Hと秘密鍵Uとを獲得する。(ステップ508は便宜的な時点で実行す
ることができる。)ステップ509では、両方の鍵のシェア(m=m
のブラインドされ結合された形式が第2のサーバ(B)104上で形成される
。ステップ510では、第2のサーバ(B)104はmを短期メモリに記録
する。(サーバは要求値ではなく応答値を記録するということに留意されたい。
さらなる説明は以下を参照のこと。)ステップ511でBはmをBに送信
し、BはそれをAliceに転送する。ステップ512では、Alice10
1はその結合されたシェアをアンブラインドし、Aliceのマスター鍵K
ハッシュ(m (1/x))を作成する。鍵導出用の反復された累乗法を使用す
る、K=ハッシュ(P )に留意されたい。
【0189】 ステップ513で、クライアント101はHおよびUを取り出すためにK を使用してディレクトリ・データを解読する。ステップ514および515では
、Hがハッシュ(P)に等しくない場合、クライアント101はアボートする
。ステップ516では、クライアント101はクライアントの秘密鍵Uを使用し
てブラインドされたパスワードmとブラインドされ結合された鍵のシェア値m を含んでいる署名されたメッセージmを作成し、それをクライアント101
が合法的ユーザの代わりに動作していることのプルーフとしてBに送信する。
はこのメッセージをBにも送信する。ステップ517で、サーバB10
3はユーザの公開鍵Vを使用してメッセージmのm上の署名を検証する。ス
テップ518および519では、m上の署名が検証されてmが疑わしいログ
イン要求の短期リスト内で発見される場合、ブラインドされた鍵のシェアm
そのリストから消去される。
【0190】 ステップ520では、サーバB103は、ユーザの公開鍵Vを使用してメッ
セージmのm上の署名を検証する。ステップ521および522では、m 上の署名が検証されてmが疑わしいログイン要求の短期リスト内に発見される
場合、ブラインドされた鍵のシェアmはそのリストから消去される。
【0191】 この場合、BはAliceとBの間の媒介物である。Aliceは要求値
の知識をBに対して証明し、応答値(Pxy )の知識をBに対し
て証明する。サーバBは必ずしもBが正直であると信用してはおらず、B とAliceの両方に周知の特別な値がKの計算に使用されたことのプルーフ
を有することを必要とするので、このような検証は必要である。この場合、この
特別の値はサーバの入力値またはサーバの応答値のどちらかである。
【0192】 前の例示の実施態様のBおよびBの検証オペレーションの対称性に留意さ
れたい。BとBが類似のオペレーションを実行する場合に代替方法を使用す
ることが望ましい場合がある。例えばどちらも入力要求値(Bに対するm
に対するm)並びに応答値(Bに対するmとBに対するm)の両
方を短期リストに記憶することができ、両方をチェックすることによって検証関
数を実行することができる。要求または応答値のどちらかが短期リストに記憶さ
れているものと一致する場合に署名が受信されると、次いでその鍵取り出しプロ
セスが有効であるとみなされる。これらすべての手法のハッシュ関数は、固定長
ビットストリングとして扱われる引数の単方向ハッシュ関数として実施すること
ができる。「Secure Hash Standard(安全なハッシュ標準
)」,FIPS 180−1 U.S.National Institute
of Standards and Technologyで議論されるSH
A1標準ハッシュ関数を使用するこの実施態様に示すように複数の関数が連結さ
れる。 ハッシュ(x、y)=SHA1(x‖y)
【0193】 他の類似の鍵導出関数は周知である。
【0194】 Kの検証および前のサーバ認証 通信チャネルのセキュリティは想定されていないので、ユーザのクライアント
101は、敵に情報を露出する任意の方法で結合されたマスター鍵を使用する前
にその結合されたマスター鍵の有効性チェックを実行する。有効性チェックが失
敗すると、ユーザはこのプロセスをアボートする。
【0195】 ユーザがKをチェックする1つの方法は、Kの正確な登録された値に基づ
いて鍵によって対称的に暗号化された追加メッセージを得ることである。ユーザ
は、認証サーバ103、104の任意の1つなどの任意の便利な場所からこの暗
号化されたメッセージを得ることができる。Kに対する交渉済みの値を使用す
ることで、ユーザはメッセージを解読し、解読されたデータに対して有効性チェ
ックを実行することができる。無効である場合、クライアント101はプロセス
をアボートし、Kに対する交渉済みの値に関して情報が一切露出されないこと
を保証する。
【0196】 メッセージを検証する1つの方法は、データに大きな固定したシステム定数値
Jを埋め込むことである。クライアント101は、解読された値がJと一致する
場合、その鍵が正確であると確信する。しかし暗号システムに基づいて、敵は、
複数の異なる鍵によるメッセージの解読がすべて値Jを含むクリア・テキスト・
データを生じるように特別にメッセージを構築することができるという懸念があ
る場合がある。これは良好に設計された暗号システムでは不可能であるべきだが
、これに対する1つの防衛方法はJをパスワードの1つの関数にすることである
【0197】 一実施態様では、本発明者らはSHA1(“J”‖パスワード)でのようにパ
スワードの単方向ハッシュを計算する。クライアント101はKを使用してメ
ッセージを解読し、Jの解読された値をSHA1(“J”‖パスワード)と比較
し、それらが一致する場合、Kは有効であると想定される。それらが一致しな
い場合、クライアント101は認証のプロセスをアボートし、Kに対するその
無効な値から導出された値は潜在的な敵に一切入手可能にならないよう保証する
必要がある。
【0198】 Kの検証は、Kを作成するために使用された増幅された鍵のシェアのすべ
てを暗黙的に検証する。
【0199】 シェアの小さな部分群の制限 懸念を起こさせるもう1つの問題は、ネットワーク102を制御する敵が、P を戻すのではなく、識別要素1のような小さな部分群要素を単純に戻すことが
できることである。すべてのサーバの応答が小さな群要素の場合、Kは値の小
さな集合のうちの1つになるように強いられる。例えば、すべてのサーバの応答
が1であるという特別な場合、Kは以下のように定数値を有するように計算さ
れる。 K=ハッシュ(11/x、11/x、...)=ハッシュ(1、1、..
.)
【0200】 部分群の制限はKに対する好ましい変形態様の方法では問題ではないが、J
に対する値が固定したシステム定数である場合には問題となりうることに留意さ
れたい。この場合、パスワードに関わらず、Jに関する周知の固定した値を常に
露出するように識別要素がメッセージを解読するように、攻撃者は検証データを
構築することができる。同様に{y、y、...}がすべて非常に小さい部
分群である場合、Jに関する固定した値を発見するようにクライアント101が
メッセージを解読する大きなチャンスを得ることができるように敵はメッセージ
を構築することができる。
【0201】 Kの小さな部分群制限を防止する1つの代替方法は、米国特許出願第08/8
23,961号および「Encrypted Key Exchange: P
assword−based protocols secure again
st dictionary attacks(暗号化鍵交換:ディクショナリ
攻撃に対して安全なパスワードベースのプロトコル)」と題するIEEE Sy
mposium on Research in Security and
Privacy1992年5月の議事録であるS.BellovinおよびM.
Merrittの論文と、「Authentication and Auth
enticated Key Exchanges(認証および認証済み鍵交換
)」Designs Codes and Cryptography、2、1
07〜125(1992年)と題するW.Diffie,P.C.van Oo
rschotおよびM.Wienerの論文に記載のようにクライアント101
にこれを直接的に検出させるというものである。クライアント101がチェック
しなければならない特別な場合の数を最小限に抑えるため、クライアント101
はまた、要素のより小さな集合、おそらくは集合{1}に解を入れるように受信
した値を累乗し、次いで米国特許出願第08/823,961号に記載のような
場合に関して試験することもできる。これらの特別な場合を除外することによっ
て、Kに対するより広範な種類の検証試験を安全に使用することができる。
【0202】 {y、y、...y}に対する値を制御し、Pに対する値に関して特別
の予測を行う人物によるプロービング攻撃は常に可能であることに留意されたい
。ここでの目的は、プロトコルの各実行中に敵に対してPに対して多くても1つ
しか予測をさせないことなので、これはプロトコルの懸念ではない。
【0203】 グループ・パラメータ内での検証 グループを使用されるべきであると定義するシステム・パラメータは、モジュ
ラスmと(m−1)の任意の必須の係数を含めて、クライアントとサーバの実施
態様に内蔵される固定したシステム・パラメータであることが一般的に想定され
る。これらの値はシステム100のすべてのユーザに対して使用することができ
る。
【0204】 別法として、これらの方法は、Diffie−HellmanおよびIEEE
Std 1363−2000,IEEE Standard Specifi
cations for Public−Key Cryptography,
IEEE、2000年8月29日、A.11.1、131頁に記載の関連するプ
ロトコルのための楕円曲線暗号方法では一般的な慣習であるように、楕円曲線の
点のグループなどの任意の適切なグループを使用することができる。
【0205】 方法は、サーバによってクライアント101に送信された、またはその反対に
送信された変数パラメータも使用することができる。この場合、関係者は、主要
性試験を使用することによって、あるいは信頼ある関係者によるかまたはそれら
の関係者に対して有効性の十分な保証を提供する任意の他の手段によって生成さ
れたパラメータに対する信用証明書を検証することによってそのパラメータが有
効であることを保証することに責任を負う必要がある。
【0206】 「ランダム」指数 秘密指数{y、y、...}はどのような潜在的な敵にも入手不可能であ
るように選択された独立した数であるべきである。これらの数が任意の潜在的な
敵によって独立したランダム値であるようにみなされる限り、これらの数は擬似
乱数ジェネレータから導出することで十分である場合がある。一般的な暗号の習
慣は、ハッシュ関数を使用してランダム入力の1つまたは複数の共通した秘密ソ
ースから、そのような暗号の目的に対する擬似乱数のシーケンスを導出すること
である。
【0207】 より脆弱なモデルでの認証 後述するような本発明の好ましい実施態様を開発する過程で、代替方法は、場
合によってはゼロ知識パスワード技術を使用せずにより脆弱なモデルで動作する
ように開発された。理想的ではないが、これらの方法は特別の場合には有用な可
能性のある代替態様を提供する。本明細書に記載の3つの実施態様は、クライア
ントの記憶(本明細書ではAM1と称する)を伴う単一サーバ・システム100
と、2つのサーバ・ローミング・システム(AM2)100と、複数サーバ・ロ
ーミング・システム(AMM)100である。
【0208】 CCの代替態様 AM1システム100は、単一サーバ環境の場合のCCシステム100に対す
る1つの代替態様である。AM1システム100は、CCによって強制されたす
べての特別な制約を除去し、ユーザの秘密鍵の関数を広げ、それでもなおCCと
してユーザのパスワードに対する少なくとも等価レベルのセキュリティを提供す
る。CCシステム100は基礎をなす公開鍵システムの使用と、ユーザの秘密/
公開鍵対の使用とにある種の強力な制約を課すが、AM1の手法はこれらの制約
を解消する。この手法は、CCよりも理解し、構築し、分析しやすいCCに対す
るより良い代替態様を提供することができる。
【0209】 登録 AM1登録では、クライアント101はPINコードP、秘密鍵E、非対称
暗号システムに対する対応する公開鍵Dを選択する。ここではEおよびD に対して課される特別な制約は一切ない。クライアント101は、ゼロ知識の登
録プロセスに適切な関数fまたは任意の他の適切に強力なパスワード・システム
を使用して、Sに対する検証データとしてS=f(salt、P)とVを構築す
る。これは1997年6月のJablonの論文で議論されるB−SPEKEな
どの低いエントロピーSに耐える強力な拡張パスワード・システムを使用するこ
とが好ましい。 クライアントは以下を記憶する: salt クライアント101にのみ記憶される秘密salt値 D 認証サーバ(AS)の公開鍵 Ds(V) ASに対して封印されたクライアントのパスワード検証デー
タ D(暗号(K、E)) Kの下で暗号化され、次いでASに対して封印
されたクライアントの秘密鍵 D クライアントの秘密鍵ではなく公開鍵
【0210】 認証 AM1認証では、ユーザはPを入力し、クライアント101はS=f(sal
t、P)を計算し、D(V)をサーバに送信し、SおよびVに基づいて適切に
強力なパスワード認証をサーバと共に実行する。これはB−SPEKE方法を使
用して好適に行うことができる。
【0211】 ユーザがVによって検証されたようにSによって認証されると、サーバは、S
の知識を証明したユーザのみがそれを読むことができるように暗号(K、E
を送信して戻す。KがクライアントのSの知識を証明したB−SLEKEプロ
トコルによって生成されたセッション鍵である場合に、サーバはEncK2(暗
号(K、E))を送信することが好ましい。クライアント101はKおよび
Kを知っており、したがってEを解読することができる。
【0212】 クライアント101は次いで、一般的な公開鍵の目的で{E/D}鍵対を
自由に使用する。EおよびDの使用を認証サーバだけによるトランザクショ
ンに限定するCCシステムとは対照的に、EおよびDの使用には一切の制約
は課されない。同様に、信用証明書または信用証明書の連鎖はクライアントの公
開鍵に関連付けることができる。
【0213】 2つのサーバに対するCCローミングの代替態様 AM2システム100を次に説明する。このシステムは、2つのサーバのロー
ミング解決法で使用するために変更された場合にCCに対する代替態様を提供す
る。AM2システム100は上記のCCローミング解決法よりも簡単な解決法で
ある。
【0214】 登録 AM2登録では、ユーザは2つのパスワードPとPとを、好適にはP
知識はPに関する情報を露出しないように、またその反対でもあるように独立
した値として選ばれるように選択する。ユーザは、各パスワードに対する検証デ
ータVとVとをそれぞれに構築する。ユーザは2つのランダム鍵YとY も選択し、K=ハッシュ(Y、Y)を構築する。ユーザは、マスター鍵Kを
使用して、好適には秘密鍵Dを含めて対称的に秘密データを暗号化する。 第1の認証サーバASは以下を安全に記憶する。 {V、Y、および任意選択で暗号(K、D)} 第2の認証サーバASは以下を安全に記憶する。 {V、Y、および任意選択で暗号(K、D)}
【0215】 暗号(K、D)がどこにも記憶されていない場合、これらのサーバ103、
104のうちの1つはそれを記憶して、クライアント101がPまたはP
よって認証するときにそのコピーをクライアント101に戻す必要がある。 ユーザはYを得るためにSを使用してASに対して認証する。 ユーザはYを得るためにSを使用してASに対して認証する。 ユーザのマスター鍵K=ハッシュ(Y、Y、S、S)。 ユーザは鍵Kを使用して自分の暗号化された秘密鍵暗号(K、D)をアン
ロックする。
【0216】 Eには特別な制約が一切ないので、1つまたは複数のサーバはEを公然と
記憶し、それを暗号化されていない形式でクライアント101に送信することが
できる。
【0217】 認証 AM2認証では、クライアント101は、ASの検証データVを使用して
サーバASによって認証されたセッション鍵KSを得るためにPを使用す
る。ASはKSの下で対称的に暗号化されたYを戻す。
【0218】 類似のプロセスは、Yを取り出す目的でサーバASに対して認証するため
にPを使用してクライアント101によって反復する。 2つのサーバ103、104のうちの1つが暗号(K、D)を戻す。 クライアント101はK=ハッシュ(Y、Y、S、S)を計算し、
を解読する。 これでDとEはユーザの完全に機能可能な秘密および公開鍵として使用
することができる。
【0219】 代替態様 AM2の代替の一実施態様では、クライアント101および/またはユーザ、
または認証サーバ103、104の1つまたは両方がサーバの公開鍵の信頼性を
事前記憶または検証することができる場合、サーバの記憶されたデータはサーバ
の公開鍵によってそれを封印することによってカプセル化することができる。こ
れによってデータはサーバにアクセス可能なだけになり、これは対応する秘密鍵
を所有する唯一のエンティティであると想定される。このような封印されたデー
タ・セットは次いで、必要に応じてクライアント101または他の認証サーバに
記憶することができる。
【0220】 この方法は、N>2である場合にN個のサーバ103、104の任意の数まで
明らかな方法で拡大縮小するということにも留意されたい。N番目のサーバから
鍵のシェアを登録し獲得するプロセスは、第1または第2のサーバ103、10
4に対するプロセスと同一であってよい。結合鍵は必然的に以下のように計算す
ることができる。 K=ハッシュ(k‖k‖...k
【0221】 拡大縮小の問題は後述し、n>m>1の場合にn個のサーバ103、104の
うちのm個だけによる成功裡の認証を可能にするために耐障害性の問題が扱われ
る。
【0222】 非ゼロ知識の複数サーバ方法 次にAMMシステム100を複数サーバ環境に関して説明する。AMMシステ
ム100が、上述の好ましい複数サーバ・ローミング・システム100よりも安
全性の脆弱なモデルで動作する。一例は、ゼロ知識のパスワード・プロトコルを
一切使用しないが、それでもなお、各Bがパスワードまたはクラック可能なデ
ータを自分のデータベースに記憶しないという特性は維持している。このシステ
ム100の設計および類似の制限を説明する。
【0223】 各AMMサーバBは、上記の好ましいシステム100でのように各ユーザに
対して1つのy値を記憶する。各BはAliceからPを受信するがこれは
アンブラインドされた形式である。BはK=ハッシュ(P、y)でAlic
eに応答する。Bはいかなるパスワード導出データを記憶しないので、盗まれ
たデータベースに対するディクショナリ攻撃の脅威はまったくない。 各サーバBに対して、 A→B:P B→A:K=ハッシュ(P、y) Kは上記のように計算され、証明される。
【0224】 この方法は通信チャネルに対するさらなる保護を必要とするが、そうしないと
盗聴者がPに対してディクショナリ攻撃を仕掛ける危険性がある。ここでの1つ
の解決法は、1つのSSL/TLSサーバ認証チャネルを使用することである。
【0225】 限界:Bobに対する攻撃 AMMシステム100で対処されない重大な限界は、パスワードがサーバ上で
使用されている間に盗まれる危険性があるということである。Bobに対して優
先順位の高いアクセス権を得る攻撃者は、Bobのソフトウェアに対して悪意の
ある変更を行う機会を得る可能性も同様にある。このような変更は悪意のある管
理者、悪意または好奇心のあるハッカー、またはウィルスによって間接的にでさ
えインストールされたパッチまたは更新の形式で行うことができる。Bobがシ
ステム100のユーザに関するPの値を一時的に受信すると、パッチされたソフ
トウェアが制御権を有し、インターセプトしてこれらのパスワードを収集し、そ
れらを攻撃者に対して入手可能にすることができる。事実上、攻撃者は、自分固
有のパスワード・データベースを構築することができる。これはたとえこのよう
なデータベースが通常はシステム100上には存在しないとしてもである。
【0226】 限界:通信チャネルに対する攻撃 AMMまたは任意の他の非ゼロ知識の複数サーバ方法のもう1つの限界は、P
に対する盗聴者のディクショナリ攻撃を防止するためにチャネルをセキュリティ
保護する何らかの他の手段を必要とすることである。これはSSLまたは何らか
の他のプロトコルによって達成することができるが、システム100を脆弱にし
、ローミング解決法に対して受容不可能にする傾向のある鍵または信用証明書を
クライアント101が維持するさらなる必要条件をさらに提示する。
【0227】 パスワード認証の多くの非ゼロ知識形式は可能だが、Bobは一般的に自分の
ディクショナリ攻撃を可能にするためにこれらのプロトコルの各実行中に情報を
受信する。したがって、この情報はBobを損なう攻撃者にもリークされる危険
性がある。ゼロ知識のパスワード・プロトコルは、動的なサーバを損なうことに
よる攻撃を防止する際には不可欠である。
【0228】 本発明の単純化されたセキュリティ・モデル 本発明者らの方法の注目に値する一態様は、それらが非常に単純なセキュリテ
ィ・モデルで動作するというものである。クライアント・コンピュータ101は
、いかなるユーザまたはサーバ特有状態をも記憶する必要はなく、本発明者らは
いかなる構成要素間にも以前にセキュリティ保護または認証された通信チャネル
を必要としない。このモデルは、安全な複数サーバ・パスワード認証に対するい
かなる従来の方法で提示されるモデルよりも単純である。
【0229】 好ましい実施態様では、クライアント101はユーザまたはいかなるサーバに
対しても長期の信用証明書を保存する必要はない。このより単純なモデルは、複
数のルート信用証明書オーソリティの一般的なSSL/ブラウザのモデルで提示
される場合があるように、追加の障害点を低減する。SSL/ブラウザのモデル
は、ユーザからのかなりの量の動作および/または注意を必要とする複雑な信用
の連鎖に複数の潜在的な脆弱なリンクを作成する。本発明者らのより単純なモデ
ルは、サーバ103、104の従来の認証に依存するモデルで従来は一般的に「
人間のエラー」に属していた重大なリスクを解消する。
【0230】 本発明は広範な適用範囲を有している。本発明の方法の利点はローミングの用
途だけに限定されるものではない。非ローミングの用途、ユーザのマスター鍵K は上記の好ましいシステム100を使用して取り出され、Kはユーザのパー
ソナル・ラップトップ・マシン上にローカルに記憶されている信用証明書にアク
セスして解読するために使用される。これは特別なハードウェアを使用せずに小
さなユーザ選択のパスワードと遠隔に記憶されている鍵のシェア係数{y、y 、...}によって保護されるクラック不可能なローカル記憶を提供する。敵
がすべての関係するネットワーク・サーバ103、104を攻撃したとしても、
ローカルのラップトップ・データに対するアクセス権をも有しない限りKおよ
び保護されたデータが敵に露出することはないという付加的な保証も同様にある
【0231】 公的にアクセス可能な場所に記憶されている秘密データを解読するための対称
鍵を作成するため、認証するために対称鍵を作成するため、封印されたメッセー
ジを受信するための公開/秘密鍵対を直接的に導出するためにマスター鍵を使用
することができる。
【0232】 上述のシステム100はスマートカードに対する予測される最良のソフトウェ
アベースの代替態様を提供する。
【0233】 詳細なプロトコルの説明 以下では、以下の表1に要約された表記法を使用してプロトコルの実施態様を
詳細に提示する。 表1.表記法 記号 意味[妥当な例] Cによって記憶されている信用証明書のリスト P パスワード[ハッシュ(パスワード)2rmod p]から導出された
対応するGの要素 G プライム・オーダーqのグループ [Z において、p=2rq+1、22j>q>22j−1、2k>p>2k−1 、pおよびrは素数] ハッシュ 暗号ハッシュ関数[SHA1] j 暴力的な攻撃に抵抗するセキュリティ・パラメータ[80] k NFS離散ログ攻撃に抵抗するセキュリティ・パラメータ[1024]
AliceとB[ハッシュ(K‖i)]の間で共用される鍵 K Aliceのマスター鍵[連結されたシェアのハッシュ ハッシュ(
‖...‖S)mod 2j] Lによって記憶された疑わしい悪い試行のリスト パスワード ユーザのパスワード、0<パスワード<22j[SHA1(AS
CIIパスワード)] R ブラインドされた鍵のシェア=Pxy 鍵のシェア=(P)yi U Aliceの秘密署名鍵 U Aliceの暗号化された秘密鍵=暗号(K、U) V Uに対応するAliceの公開鍵 yによって記憶されたAliceの秘密シェア指数 暗号(x、y) 対称鍵xによって暗号化されたメッセージy 解読(x、y) 対称鍵xによって解読されたメッセージy 署名(x、y) 秘密鍵xによって署名されたメッセージy(メッセージyが
読まれるように)
【0234】 パラメータ。このプロトコルでは、対称関数に対する所望のビット強度を表す
jと、非対称関数のモジュラスに対して要求されるビット数を表すkの2つのセ
キュリティ・パラメータが定義されている。
【0235】 p、qおよびrを奇数の素数、p=2rq+1、2>p>2k−1、r≠q
、および22j>q>22j−1として、GはZ の位数qの部分群と定義
されている。P=ハッシュ(パスワード)∧2rmod pの、パスワードを群
要素P∈Gにマッピングする関数が使用される。
【0236】 (別法として、p、素数q、および小さな余因数r∈[1、100]などに略
等価の位数r・qの点の群と共にGF(p)の楕円曲線群を使用することができ
る。この場合、すべての累乗法はスカラー点乗法に置き換えられ、P=r・点(
ハッシュ(パスワード))と定義される。ここで点は、曲線上に任意の点を発見
する目的で擬似乱数ジェネレータをシードするためにハッシュ(パスワード)を
使用する。これは、D.JablonによるACM Computer Com
munications Review第26巻、no.5、1996年10月
の「Strong password−only authenticated
key exchange(強力なパスワードのみによる認証済み鍵交換)」
と題する論文で議論されている。
【0237】 登録。AliceはパスワードPを選択し、P:=ハッシュ(パスワード) を計算し、デジタル署名を実行するために適した秘密鍵Uと対応する公開鍵V
とを作成する。次いでAliceは、ランダムに選択されたy[1、q−
1]を使用してS:=P として各番目のシェアS∈Gが形成される
n個の鍵のシェアを作成する。次いでAliceは、K:=ハッシュ(S
...‖S)mod 2によって自分のマスターjビット対称鍵を作成し、
:=暗号(K、U)として自分の暗号化された秘密鍵を作成し、自分の鍵
検証データであるプルーフPKm:=ハッシュ(K‖g)を作成する。
【0238】 これらの信用証明書を登録するために、クライアント101は各Bで維持さ
れるリストCに記憶されるべきAliceの信用証明書を送信する。これらは
、以下のように、Aの正確な識別を保証する認証済みの通信方法を使用してこれ
らの動作を実行しなければならない。 クライアント:各i∈[1、n]に対して、{登録、A、y、V、U
プルーフPKm}→B サーバ:Cに{A、y、V、U、プルーフPKm}を記憶する
【0239】 認証済みの取り出し。認証済みの信用証明書の取り出しの場合、クライアント
101とサーバ103、104は以下に列挙する動作を実行する。このプロセス
で、各サーバは疑わしい悪いアクセスの試行の記録を含んでいるリストLを維
持する。 クライアント: 乱数x∈[1、q−1]を選択する Q:=Pmod p {要求、A、Q}→サーバ サーバ: Cから{A、y、V、U、プルーフPKm}を取り出す t:現在時刻 {A、Q、V、t}をLに追加する R:=Q {応答、R、U、プルーフPKm}→クライアント クライアント: 各∈[1、n]に対して、 S:=R 1/xmod p K’:=ハッシュ(S‖S‖...‖S) プルーフPKm≠eハッシュ(K’‖g)の場合、アボートする U:=解読(K、U) {Q、Q、Q、...}のQ’に関して {確認、Q’、署名(U、Q’)}→サーバ} サーバ: 受信した{確認、Q’、Q’}ごとに Q=Q’であるLの任意の{A、Q、V、t}に対して VによってQの署名として署名(U、Q’)を検証
する 署名が有効な場合、 Lから{A、Q、V、t}を除去する
【0240】 定期的に、おそらくは1分に1回、各Bは、(現在時刻−t)が許容不可能
なほどに大きすぎる悪い入力{A、Q、V、t}に関してそのリストLをスキ
ャンする。悪い入力が発見されると、そのエントリはリストから除去され、ユー
ザAに対して悪いアクセス試行イベントがトリガされる。最適化として、Ali
ceはすべてのサーバ103、104に対してすべての最近のQ値のリストを認
証するために単一の署名を計算して送信するだけでよいということに留意された
い。
【0241】 性能の向上 FK1プロトコルと本発明者らのプロトコルを比較する場合、基礎的なブライ
ンディング関数に対する群算術のコストと、関係する検証関数のコストと、各サ
ーバに対してサーバ認証チャネルを使用することのコスト、利点およびリスクと
を含めて考慮すべき要因が数点ある。
【0242】 ブラインディング・オペレーションのコスト。セキュリティ係数j=80およ
びk=1024によって、新しいプロトコルはFK1よりも非常に高い性能を提
供する。q=(p−1)/2を使用すると、各FK1サーバは1つの1023ビ
ット累乗法を実行しなければならず、またクライアントはこれを2つ実行しなけ
ればならない。
【0243】 本発明者らの方法を示したようにp=2rq+1を使用する場合、本発明者ら
は位数2160>q>2159の部分群を使用する。後者の場合、2つのクライ
アントと1つのサーバの計算は概略で以前の量の1/6にまで低減される。等価
の対称および非対称セキュリティ・パラメータを評価するための異なる方法があ
る場合、マイレージは異なる場合がある。
【0244】 しかし、AliceがP:=ハッシュ(パスワード)2rで864ビットの累
乗法を実行しなければならない場合にはクライアントの利点は実現しない。それ
でも尚、後述する1つのケースようにPの代替構築ではいくつかの利点を再生す
ることができる。
【0245】 現段階ではこの比較は、サーバ認証チャネルのセットアップを解消することに
よって達成できるいかなる付加的な節約をも無視している。しかし、すべてのサ
ーバ認証を解消することによって、節約は、偽サーバ103、104による少数
のオンライン予測を可能にし、かつおそらくは識別Aを盗聴者に露出するという
犠牲に見合う場合がある。
【0246】 Pの代替構築。代替構築P:=g・g hash(password)mod q manを使
用することができる。これは、相互に周知の指数関係がない位数qの2つのラン
ダム要素である固定したパラメータgとgを使用する。gとgに対して
普遍的に受容可能な値を作成する1つの可能性は、g:=ハッシュ(“g1”
2rmod pにあるように、ランダムなオラクルとしてハッシュ関数を使用
することである。
【0247】 同じセキュリティ・パラメータを使用して、代替構築は、クライアント101
に対して160ビットの累乗法を3つと、サーバに対して1つとを必要とするが
、これはFK1と比較してクライアントのコストを53%、サーバのコストを8
4%低減するものである。
【0248】 認証関数のコスト。上記の方法は、ユーザが自分のブラインドされたパスワー
ドの集合の信頼性を証明するためにデジタル署名を必要とする。幸いながら、ク
ライアントの署名生成は、すべてのサーバ103、104に対する1つまたは複
数の最近送信されたパスワード要求を包含するメッセージを作成するために1回
実行するだけでよく、またサーバの署名検証はRSAを使用する場合は高速であ
る。
【0249】 さらに、クライアント101での公開鍵署名オペレーションのコストを解消す
るために、Aliceはその方法の代わりに、AliceがBによって登録す
る共用秘密鍵K=ハッシュ(K‖i)を使用して、鍵を掛けたメッセージ認
証コードによって自分のブラインドされたパスワードの集合に「署名」すること
ができる。この場合Aliceは別個の鍵を登録し、サーバごとに別個の署名を
構築する。
【0250】 セキュリティに対する引数。本発明のセキュリティに関して数個の単純な引数
を以下に示す。
【0251】 各鍵のシェアは強力な秘密である。各シェアに関する重要なデータは、望まし
くは安全な信用証明書サーバの秘密y値にだけ記憶され、変形Diffie−
Hellman交換の指数でのみ解放される。この計算は、p=2rq+1の形
式の素数を法とするものであるが、これは攻撃者がyに関して得られる情報を
極度に制限するものである。プロービング攻撃によって決定することができるの
は、yが2rqと共通する係数を有するかどうかということだけである。しか
し、yはランダムであり2以外のすべての係数は莫大なので、確率は無視でき
るほど僅少である。したがって、2000年6月のFordおよびKalisk
iの論文で指摘されているように、決定することができる唯一の情報はyの低
いビットである。
【0252】 いかなる露出した値にも任意の所与のPによって生成された同等の確率がある
ので、Aliceは自分のブラインドされた要求メッセージではPに関する情報
をまったくリークしない。同様に、Pxy値などの追加のデータが存在する場合
でも、y値は攻撃者に周知の任意のデータによってPには関連しないので、攻撃
者がPを決定するためには役立たない。
【0253】 Aliceがサーバから任意の無効応答を受信した場合、任意の有用な情報を
解放する前にAliceはアボートするので、Aliceの確認メッセージでA
liceからチャネルを制御する敵への情報リークの機会は僅少である。結合す
るハッシュ関数のせいで、マスター鍵の1つのシェアが不正確であると、結合さ
れた鍵は圧倒的な確率で不正確となる。同様に、マスター鍵が不正確な場合、同
じ理由によって検証子ハッシュ値も不正確となる。したがってそれらが一致する
場合、Aliceは自分の鍵が正確であることを確信することができる。
【0254】 通信チャネルは、サーバによって送信されたUとプルーフPKm値の保存性
を保証する必要はない。その理由を知るためには、これらの値を偽造してそれら
をAliceに送信する悪意ある関係者を想定されたい。最悪の場合、この敵は
各実行中にパスワードに対する単一の予測を検証するか、またはサービス攻撃の
拒絶を実行することができる。クライアント101がサーバよりも悪い予測によ
り耐えるようには設計されていない場合、これらの攻撃は安全なチャネルのモデ
ルで予想される攻撃と略等価である。幸いながら、人間は、ログインの失敗に対
して低い耐性しか有しない傾向があり、何度も繰り返す問題に関してシステム管
理者に不平を漏らす可能性がある。しかしクライアント101は、少なくとも当
該ユーザが確実にすべての失敗に気づくように設計される必要がある。どちらの
モデルでも、敵は少なくとも1つの方向では制限された少数のオンライン予測を
行うことしかできず、またメッセージを変更または削除することによってサービ
スの拒絶の原因となる場合がある。
【0255】 上記のハッシュ(パスワード)2r関数と代替構築のどちらも位数qの要素を
保証し、1997年6月のD.Jablonの論文と2000年6月のFord
とKaliskiの論文で指摘された指数内パスワードと短い指数問題から保護
する。
【0256】 短い指数 計算を低減する代替的な手法はより短い指数を使用することである。例えばp
=q+1による群では、1023ビットのqによって範囲[1、2160−1]
で指数を使用することができる。Diffie−Hellmanでの短い指数の
使用については、1996年5月のvan Oorschot他の論文で議論さ
れている。短い指数を使用する場合、Pollardラムダ方法は周知の固定し
た基数gに対してgのランダム指数xを計算する最も効率的な周知の方法であ
る。ラムダ離散ログ計算は、約x1/2のオペレーションを必要とする。しかし
、より単純な解決法が発見されないという保証はない。
【0257】 ユーザが単純に一連のブラインドされたパスワードを露出するが他の情報は攻
撃者に対して一切入手可能でないアボートされるプロトコルを想定されたい。フ
ルサイズの均等に分散したランダム指数x∈[1、o(G)]を使用する場
合、P値はPに関する情報をまったく露出しない。
【0258】 短い指数x∈[1、m]、m<<qを使用する場合、セキュリティは計算上
の扱いにくさというさらなる仮定を必要とする場合があるが、不要な仮定は除去
することが望ましい。この仮定が重要かどうかは未解決の問題である。
【0259】 したがって、短い指数が不要な仮定をもたらすという(おそらくは保証されて
いない)懸念によって、計算を低減する好ましい手法は、モジュラスよりも非常
に小さいプライム・オーダーの部分群を使用するというものである。
【0260】 本発明は、従来技術で使用されるモデルよりも単純なモデルを使用する。この
ように行う際、人がサーバ103、104を安全に識別すべきなのにそれをしな
いシステムに固有の問題を解消する。本発明は、クライアントに記憶された鍵ま
たは信用証明書を必要とせず、性能は向上させて、またパスワード入力の際に人
間のエラーをよりよく管理するための強化された責任によって、より単純なモデ
ルで従来からの目的のすべてを達成する。これらの方法は、非常に少ない計算に
よって離散ログ攻撃から少なくとも等価レベルのセキュリティでの保護を提供す
ることもできる。
【0261】 以上、複数のサーバを使用した遠隔パスワード認証を行うシステム、方法およ
びソフトウェアを開示した。上記の実施態様は、本発明の原理の用途を表す多く
の特定の実施態様の一部を示しているだけであるということを理解されたい。明
らかに、当業者は、本発明の範囲を逸脱せずに多数の他の構成を容易に考案する
ことができる。
【図面の簡単な説明】
【図1】 本発明の原理によるシステムの一例のクライアントとサーバの構成要素を示す
ブロック図である。
【図2】 本発明の原理によるクライアント・オペレーションの方法の一例を示す流れ図
である。
【図3】 本発明の原理によるサーバ・オペレーションの方法の一例を示す流れ図である
【図4】 2つのサーバを伴う1つのクライアントのオペレーションを示す本発明の原理
による方法の一例を示す流れ図である。
【図5】 2つのサーバのうちの1つのサーバだけと通信する1つのクライアントのオペ
レーションを示す本発明の原理による方法の一例を示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,US,UZ, VN,YU,ZA,ZW 【要約の続き】 するために、クライアントはランダムな秘密xを選択 し、各サーバによってPを送信し、m=(Pyi を取り出し、K=m 1/xを計算する。クライ アントはKを再構築し、Kに対して検証試験を実行し、 秘密デジタル署名鍵Uを解読するためにKを使用する。 検証試験が成功するとクライアントはUによってメッセ ージに署名するが、このUは、Pと、任意選択で同じ ユーザが認証するための試行の際に誤って入力した不正 確なパスワードに基づいてクライアントによって送信さ れた他の値とを含む。各サーバは、ユーザを認証し、ま たそのユーザに対していくつかの正当な数の誤りを容認 するためにその署名されたメッセージを検証する。有効 なメッセージ、誤りその他の知識をもって、サーバは悪 いアクセス試行の計算を微調整する。K、PまたはK シェアのいかなるものをも知るサーバは1つもなく、ま たKまたはPに対してディクショナリ攻撃を仕掛けるの に十分な情報を受信するサーバは1つもない。パスワー ドの安全性は、クライアントと任意のサーバの間で事前 にセキュリティ保護されるかまたはサーバ認証されたチ ャネルを必要とせずに非常に簡単なモデルで維持され る。このモデルは、人間がサーバを認証しなければなら ないが認証しないシステムに固有のリスクをさらに解消 する。小さなサーバによるだけで他の鍵によっては保護 されないデータは、複数の共同する認証サーバのすべて ではないがどれかを損傷する敵に対してさえ秘密のまま 維持される。

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】 遠隔パスワード認証を行うシステムであって、 クライアント・コンピュータと、 複数の認証サーバと、 クライアント・コンピュータと複数の認証サーバとを相互接続するネットワー
    クと、 クライアントにパスワードを入力し、サーバのそれぞれに一意のランダム値y を記憶し、パスワードから群要素(P)を導出し、ブラインドされたパスワー
    ド値(P)をサーバに送信し、ブラインドされた鍵のシェア(Pxy )をサ
    ーバから取り出し、マスター鍵(K)を作成するためにシェアをアンブライン
    ドして結合し、マスター鍵(K)を使用してクライアント・コンピュータで暗
    号化された秘密データを解読するために共同するクライアント・コンピュータと
    複数の認証サーバとで実行されるソフトウェアと を含むシステム。
  2. 【請求項2】 クライアントで動作しているソフトウェアがマスター鍵(K )を検証するように動作する請求項1に記載のシステム。
  3. 【請求項3】 クライアントで動作しているソフトウェアがマスター鍵(K )を使用して暗号化された秘密データを解読するように動作する請求項1に記
    載のシステム。
  4. 【請求項4】 クライアントで動作しているソフトウェアが検証されたマス
    ター鍵(K)を使用して暗号化された秘密データを解読するように動作する請
    求項2に記載のシステム。
  5. 【請求項5】 クライアントで動作しているソフトウェアが、検証されたマ
    スター鍵(K)のプルーフと各ブラインドされたパスワード値(P)をサー
    バに送信するように動作する請求項2に記載のシステム。
  6. 【請求項6】 クライアント・コンピュータと、複数の認証サーバと、クラ
    イアント・コンピュータと複数の認証サーバを相互接続するネットワークとを含
    むシステムを使用する遠隔パスワード認証を行う方法であって、 パスワードを入力するステップと、 パスワードから群要素(P)を導出するステップと、 ブラインドされたパスワード値(P)をサーバに送信するステップと、 ブラインドされた鍵のシェア(Pxy )をサーバから取り出すステップと、 マスター鍵(K)を作成するためにシェアをアンブラインドして結合するス
    テップと、 マスター鍵(K)を使用してクライアント・コンピュータで暗号化された秘
    密データを解読するステップと を含む方法。
  7. 【請求項7】 マスター鍵(K)を検証するステップをさらに含む請求項
    6に記載の方法。
  8. 【請求項8】 クライアントで動作しているソフトウェアがマスター鍵(K )を使用して暗号化された秘密データを解読するように動作する請求項に6記
    載の方法。
  9. 【請求項9】 検証されたマスター鍵(K)を使用して暗号化された秘密
    データを解読するステップをさらに含む請求項7に記載の方法。
  10. 【請求項10】 検証されたマスター鍵(K)のプルーフと各ブラインド
    されたパスワード値(P)をサーバに送信するステップをさらに含む請求項7
    に記載の方法。
  11. 【請求項11】 クライアント・コンピュータと、複数の認証サーバと、ク
    ライアント・コンピュータと複数の認証サーバを相互接続するネットワークとを
    含む複数サーバ・システムで遠隔パスワード認証を可能にするためのコンピュー
    タ可読媒体で実施されるコンピュータ・プログラムであって、 パスワードを入力するコード・セグメントと、 サーバのそれぞれの一意のランダム値yを含むデータ記憶領域と、 パスワードから群要素(P)を導出するコード・セグメントと、 ブラインドされたパスワード値(P)をサーバに送信するコード・セグメン
    トと、 ブラインドされた鍵のシェア(Pxy )をサーバから取り出すコード・セグ
    メントと、 マスター鍵(K)を作成するためにシェアをアンブラインドして結合するコ
    ード・セグメントと、 マスター鍵(K)を使用してクライアント・コンピュータで暗号化された秘
    密データを解読するコード・セグメントと を含むコンピュータ・プログラム。
  12. 【請求項12】 マスター鍵(K)を検証するコード・セグメントをさら
    に含む請求項11に記載のコンピュータ・プログラム。
  13. 【請求項13】 マスター鍵(K)を使用して暗号化された秘密データを
    解読するコード・セグメントをさらに含む請求項11に記載のコンピュータ・プ
    ログラム。
  14. 【請求項14】 検証されたマスター鍵(K)を使用して暗号化された秘
    密データを解読するコード・セグメントをさらに含む請求項12に記載のコンピ
    ュータ・プログラム。
  15. 【請求項15】 検証されたマスター鍵(K)のプルーフとブラインドさ
    れたパスワード値(P)をサーバに送信するコード・セグメントをさらに含む
    請求項12に記載のコンピュータ・プログラム。
  16. 【請求項16】 悪いログイン試行回数、最近の増幅数、最近のPパスワ
    ード増幅要求値のリスト、サーバ上の最近のパスワード増幅要求値のリストに関
    連付けられたタイムスタンプのリストを維持し、 ブラインドされたパスワード(P)要求を受信し、 ブラインドされたパスワードを短期リストに記録し、 ユーザ・アカウントがロックされているかどうかを調べるためにユーザ・アカ
    ウントをチェックし、 ブラインドされた鍵のシェア(Pxy )を作成し、 クライアント・コンピュータがアンロックされている場合にはブラインドされ
    た鍵のシェアをクライアント・コンピュータに送信する ようにソフトウェアが共同する請求項1に記載のシステム。
  17. 【請求項17】 ソフトウェアが、 要求が受信された時刻を示すタイムスタンプ値を記録し、 任意のタイムスタンプ値と現在時刻の差異が特定の時間間隔よりも大きくなっ
    た場合に判定される陳腐な要求を定期的にチェックし、 対応するパスワード増幅要求値とタイムスタンプを削除し、 悪い試行回数を増分する請求項16に記載のシステム。
  18. 【請求項18】 成功裡のログインが行われたときに、ソフトウェアが、 ランダムなベキ乗されるパスワードに等しいQの値を同じログイン・セッシ
    ョンの以前の実行のQに対する任意の以前の値と共に、暗号化されたメッセー
    ジの形式で各サーバに送信し、 マスター鍵Kを使用してこのメッセージを認証する請求項16に記載のシス
    テム。
  19. 【請求項19】 悪いログイン試行回数と、最近の増幅数と、最近のP
    スワード増幅要求値のリストと、サーバ上の最近のパスワード増幅要求値のリス
    トに関連付けられたタイムスタンプのリストとを維持するステップと、 ブラインドされたパスワード(P)要求を受信するステップと、 ブラインドされたパスワードを短期リストに記録するステップと、 ユーザ・アカウントがロックされているかどうかを調べるためにユーザ・アカ
    ウントをチェックするステップと、 ブラインドされた鍵のシェア(Pxy )を作成するステップと、 クライアント・コンピュータがアンロックされている場合にはブラインドされ
    た鍵のシェアをクライアント・コンピュータに送信するステップと をさらに含む請求項6に記載の方法。
  20. 【請求項20】 ソフトウェアが、 要求が受信された時刻を示すタイムスタンプ値を記録し、 任意のタイムスタンプ値と現在時刻の差異が特定の時間間隔よりも大きくなっ
    た場合に判定される陳腐な要求を定期的にチェックし、 対応するパスワード増幅要求値とタイムスタンプを削除し、 悪い試行回数を増分する請求項19に記載のシステム。
  21. 【請求項21】 ランダムなベキ乗されるパスワードに等しいQの値を同
    じログイン・セッションの以前の実行のQに対する任意の以前の値と共に、暗
    号化されたメッセージの形式で各サーバに送信するステップと、 マスター鍵Kを使用してこのメッセージを認証するステップをさらに含む請
    求項19に記載の方法。
  22. 【請求項22】 悪いログイン試行回数と、最近の増幅数と、最近のP
    スワード増幅要求値のリストと、サーバ上の最近のパスワード増幅要求値のリス
    トに関連付けられたタイムスタンプのリストとを維持し、 ブラインドされたパスワード(P)要求を受信し、 ブラインドされたパスワードを短期容疑リストに記録し、 ユーザ・アカウントがロックされているかどうかを調べるためにユーザ・アカ
    ウントをチェックし、 アンロックされている場合にはブラインドされた鍵のシェア(Pxy )を作
    成し、 ブラインドされた鍵のシェアをクライアント・コンピュータに送信するコード
    ・セグメントをさらに含む請求項11に記載のコンピュータ・プログラム。
  23. 【請求項23】 要求が受信された時刻を示すタイムスタンプ値を記録し、 任意のタイムスタンプ値と現在時刻の差異が特定の時間間隔よりも大きくなっ
    た場合に判定される陳腐な要求を定期的にチェックし、 対応するパスワード増幅要求値とタイムスタンプを削除し、 悪い試行回数を増分する コード・セグメントをさらに含む請求項22に記載のコンピュータ・プログラム
  24. 【請求項24】 ランダムなベキ乗されるパスワードに等しいQの値を同
    じログイン・セッションの以前の実行のQに対する任意の以前の値と共に、暗
    号化されたメッセージの形式で各サーバに送信し、 マスター鍵Kを使用してこのメッセージを認証する コード・セグメントをさらに含む請求項22に記載のコンピュータ・プログラム
JP2002502962A 2000-06-05 2001-05-31 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア Expired - Fee Related JP4833489B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US20925800P 2000-06-05 2000-06-05
US60/209,258 2000-06-05
US21583500P 2000-07-03 2000-07-03
US60/215,835 2000-07-03
PCT/US2001/017979 WO2001095545A2 (en) 2000-06-05 2001-05-31 Systems, methods and software for remote password authentication using multiple servers

Publications (2)

Publication Number Publication Date
JP2003536320A true JP2003536320A (ja) 2003-12-02
JP4833489B2 JP4833489B2 (ja) 2011-12-07

Family

ID=26903984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002502962A Expired - Fee Related JP4833489B2 (ja) 2000-06-05 2001-05-31 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア

Country Status (7)

Country Link
US (1) US7139917B2 (ja)
JP (1) JP4833489B2 (ja)
KR (1) KR100769482B1 (ja)
CN (1) CN1249972C (ja)
AU (1) AU6816101A (ja)
TW (1) TWI233739B (ja)
WO (1) WO2001095545A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006511104A (ja) * 2002-08-09 2006-03-30 アールエスエイ セキュリティー インコーポレーテッド セキュア認証の暗号方法および暗号装置
JP2007502485A (ja) * 2003-05-27 2007-02-08 カーディナル・ヘルス・テクノロジーズ・エルエルシー 貼換え可能なラベルを利用する薬管理用システム及び方法
JP2009065226A (ja) * 2007-09-04 2009-03-26 Kddi Corp 認証付鍵交換システム、認証付鍵交換方法およびプログラム
JP2014137423A (ja) * 2013-01-15 2014-07-28 Fujitsu Ltd 暗号処理装置、方法およびプログラム

Families Citing this family (221)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US7596223B1 (en) * 2000-09-12 2009-09-29 Apple Inc. User control of a secure wireless computer network
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
US20030115452A1 (en) * 2000-12-19 2003-06-19 Ravi Sandhu One time password entry to access multiple network sites
US7197765B2 (en) * 2000-12-29 2007-03-27 Intel Corporation Method for securely using a single password for multiple purposes
US7590859B2 (en) * 2001-08-24 2009-09-15 Secure Computing Corporation System and method for accomplishing two-factor user authentication using the internet
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US7275260B2 (en) 2001-10-29 2007-09-25 Sun Microsystems, Inc. Enhanced privacy protection in identification in a data communications network
US7085840B2 (en) * 2001-10-29 2006-08-01 Sun Microsystems, Inc. Enhanced quality of identification in a data communications network
US20030084302A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation Portability and privacy with data communications network browsing
US20030084172A1 (en) * 2001-10-29 2003-05-01 Sun Microsystem, Inc., A Delaware Corporation Identification and privacy in the World Wide Web
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
FR2834153B1 (fr) * 2001-12-21 2004-04-23 France Telecom Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
US7325065B1 (en) * 2001-12-21 2008-01-29 Aol Llc, A Delaware Limited Liability Company Identifying unauthorized communication systems using a system-specific identifier
US7571239B2 (en) * 2002-01-08 2009-08-04 Avaya Inc. Credential management and network querying
KR100398161B1 (ko) * 2002-02-26 2003-09-26 한국정보보호진흥원 서버의 사전 탐색 공격을 고려한 패스워드 기반의 사용자인증 프로토콜
KR100450953B1 (ko) * 2002-03-05 2004-10-02 삼성전자주식회사 암호를 이용한 사용자 인증방법
US7120797B2 (en) * 2002-04-24 2006-10-10 Microsoft Corporation Methods for authenticating potential members invited to join a group
US6718536B2 (en) * 2002-06-21 2004-04-06 Atmel Corporation Computer-implemented method for fast generation and testing of probable prime numbers for cryptographic applications
KR100458254B1 (ko) * 2002-07-26 2004-11-26 학교법인 성균관대학 패스워드 강화 프로토콜을 이용한 패스워드 기반 키 분배방법
WO2004028078A1 (en) * 2002-09-23 2004-04-01 Avner Geller Method and system for authentication
US7426382B2 (en) * 2002-10-09 2008-09-16 Motorola, Inc. Contact validation and trusted contact updating in mobile wireless communications devices
US20040073795A1 (en) * 2002-10-10 2004-04-15 Jablon David P. Systems and methods for password-based connection
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US9503470B2 (en) * 2002-12-24 2016-11-22 Fred Herz Patents, LLC Distributed agent based model for security monitoring and response
US7480384B2 (en) * 2003-02-10 2009-01-20 International Business Machines Corporation Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
CA2422334C (en) * 2003-03-17 2009-06-09 British Telecommunications Public Limited Company Authentication of network users
US7836493B2 (en) 2003-04-24 2010-11-16 Attachmate Corporation Proxy server security token authorization
US8769680B2 (en) * 2003-06-12 2014-07-01 International Business Machines Corporation Alert passwords for detecting password attacks on systems
US8214884B2 (en) * 2003-06-27 2012-07-03 Attachmate Corporation Computer-based dynamic secure non-cached delivery of security credentials such as digitally signed certificates or keys
JP3854954B2 (ja) * 2003-09-05 2006-12-06 キヤノン株式会社 データ共有装置
US7565702B2 (en) * 2003-11-03 2009-07-21 Microsoft Corporation Password-based key management
US20050129244A1 (en) * 2003-12-16 2005-06-16 International Business Machines Corporation System and method for mitigating denial of service attacks on trusted platform
KR100744531B1 (ko) * 2003-12-26 2007-08-01 한국전자통신연구원 무선 단말기용 암호키 관리 시스템 및 방법
FR2865051B1 (fr) * 2004-01-14 2006-03-03 Stg Interactive Procede et systeme pour l'exploitation d'un reseau informatique destine a la publication de contenu
FR2865590A1 (fr) * 2004-01-23 2005-07-29 France Telecom Procede pour etablir, a partir d'un jeu de grands nombres premiers, un jeu de cles destine a prouver l'authenticite d'une entite ou l'integrite d'un message
US7818416B2 (en) * 2004-02-27 2010-10-19 Teamon Systems, Inc. Communications system and method for accessing a server and preventing access blocking and minimizing network traffic
WO2005098564A1 (en) * 2004-04-06 2005-10-20 Telecom Italia S.P.A. Secure logging for irrefutable administration
US20050289645A1 (en) * 2004-06-25 2005-12-29 Kyocera Mita Corporation Image processing device and program
US8214649B2 (en) * 2004-06-30 2012-07-03 Nokia Corporation System and method for secure communications between at least one user device and a network entity
WO2006003675A2 (en) * 2004-07-12 2006-01-12 Syed Ibrahim Abdul Hameed Khan System, method of generation and use of bilaterally generated variable instant passwords
US7373516B2 (en) * 2004-08-19 2008-05-13 International Business Machines Corporation Systems and methods of securing resources through passwords
KR100608604B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
US7784089B2 (en) * 2004-10-29 2010-08-24 Qualcomm Incorporated System and method for providing a multi-credential authentication protocol
EP1846830B1 (en) * 2004-12-20 2020-07-08 Biogy, Inc. Access keys
MX2007009705A (es) * 2005-02-11 2007-10-04 Nokia Corp Metodo y aparato para proporcionar procedimientos de carga inicial en una red de comunicacion.
US20090158049A1 (en) * 2005-04-06 2009-06-18 Michael Stephen Fiske Building a security access system
US7814320B2 (en) * 2005-07-19 2010-10-12 Ntt Docomo, Inc. Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
US8726369B1 (en) * 2005-08-11 2014-05-13 Aaron T. Emigh Trusted path, authentication and data security
US7793335B2 (en) * 2005-09-12 2010-09-07 International Business Machines Corporation Computer-implemented method, system, and program product for managing log-in strikes
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US7984482B1 (en) * 2005-12-16 2011-07-19 Oracle America, Inc. Global account lockout (GAL) and expiration using an ordered message service (OMS)
US8495380B2 (en) * 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US20080126808A1 (en) * 2006-07-05 2008-05-29 Cms Products, Inc. Encrypted dataset access by custodians
US8527770B2 (en) 2006-07-20 2013-09-03 Research In Motion Limited System and method for provisioning device certificates
US8301897B2 (en) * 2006-08-23 2012-10-30 Cisco Technology, Inc. Challenge-based authentication protocol
US8645706B2 (en) * 2006-08-31 2014-02-04 Red Hat, Inc. Preventing error in an access protocol
US8245050B1 (en) * 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US8042155B1 (en) * 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US7958356B1 (en) * 2006-09-29 2011-06-07 Netapp, Inc. System and method for establishing a shared secret among nodes of a security appliance
BRPI0718364A2 (pt) 2006-10-26 2013-11-12 Qualcomm Inc Método e equipamento de pacote em um sistema de comunicação sem fio
US8838975B2 (en) * 2006-10-31 2014-09-16 Blackberry Limited System and method for protecting a password against brute force attacks
US8752181B2 (en) * 2006-11-09 2014-06-10 Touchnet Information Systems, Inc. System and method for providing identity theft security
US9002003B2 (en) * 2006-11-29 2015-04-07 Certicom Corp. Password protocol for data communication system
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
NO327765B1 (no) * 2007-08-29 2009-09-21 Message Man As Fremgangsmate og et arrangement relatert til sikkerhetsmekanismer for meldingsbaserte elektroniske transaksjoner
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
CN101388813B (zh) * 2007-09-14 2010-12-22 英业达股份有限公司 企业用软件注册方法及系统
DE102007000587A1 (de) 2007-10-29 2009-04-30 Bundesdruckerei Gmbh Verfahren zum Freischalten einer Chipkartenfunktion mittels Fernüberprüfung
DE102007000589B9 (de) 2007-10-29 2010-01-28 Bundesdruckerei Gmbh Verfahren zum Schutz einer Chipkarte gegen unberechtigte Benutzung, Chipkarte und Chipkarten-Terminal
KR101452708B1 (ko) * 2008-02-01 2014-10-21 삼성전자주식회사 Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
US20090202081A1 (en) * 2008-02-08 2009-08-13 Ayman Hammad Key delivery system and method
DE102008000348B4 (de) 2008-02-19 2011-04-07 Compugroup Holding Ag Verfahren zur Signierung eines medizinischen Datenobjekts
US8254577B2 (en) * 2008-02-20 2012-08-28 International Business Machines Corporation Validation of encryption key
US9479339B2 (en) * 2008-02-29 2016-10-25 Blackberry Limited Methods and apparatus for use in obtaining a digital certificate for a mobile communication device
US10015158B2 (en) * 2008-02-29 2018-07-03 Blackberry Limited Methods and apparatus for use in enabling a mobile communication device with a digital certificate
US8464058B1 (en) 2008-04-08 2013-06-11 Hewlett-Packard Development Company, L.P. Password-based cryptographic method and apparatus
US8140855B2 (en) * 2008-04-11 2012-03-20 Microsoft Corp. Security-enhanced log in
FR2931336B1 (fr) * 2008-05-19 2011-02-11 Eads Secure Networks Procedes et dispositifs d'emission et d'authentification de messages pour garantir l'authenticite d'un systeme
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
US8504481B2 (en) * 2008-07-22 2013-08-06 New Jersey Institute Of Technology System and method for protecting user privacy using social inference protection techniques
US8813197B2 (en) 2008-12-15 2014-08-19 Novell, Inc. Techniques for network process identity enablement
DE102009000404B4 (de) 2009-01-26 2024-05-29 Bundesdruckerei Gmbh Verfahren zur Freischaltung einer Chipkartenfunktion, Lesegerät für eine Chipkarte und Chipkarte
DE102009000408A1 (de) 2009-01-26 2010-09-16 Bundesdruckerei Gmbh Lesegerät für eine Chipkarte und Computersystem
US8272040B2 (en) * 2009-01-29 2012-09-18 International Business Machines Corporation Preventing inadvertent lock-out during password entry dialog
US9124431B2 (en) 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
US8856879B2 (en) 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
EP2285042A1 (fr) * 2009-07-07 2011-02-16 Gemalto SA Module logiciel de sécurisation utilisant le chiffrement du haché d'un mot de passe concaténé avec une graine
US8433918B2 (en) * 2009-10-14 2013-04-30 Texas Instruments Incorporated Methods and systems for improving the security of password-based authentication protocols for IEEE 802.11 networks
EP2336931B1 (fr) * 2009-11-18 2013-01-09 STMicroelectronics (Rousset) SAS Procédé de vérification de signature
EP2543175B1 (en) * 2010-03-01 2018-05-02 InterDigital Patent Holdings, Inc. Machine-to-machine gateway architecture and functionality
US9015489B2 (en) * 2010-04-07 2015-04-21 Microsoft Technology Licensing, Llc Securing passwords against dictionary attacks
US8549314B2 (en) 2010-04-29 2013-10-01 King Saud University Password generation methods and systems
CA2759971A1 (en) * 2010-11-29 2012-05-29 Groupe Cgi Inc. Method for storing (hiding) a key in a table and corresponding method for retrieving the key from the table
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
US8656484B2 (en) 2010-12-28 2014-02-18 Authernative, Inc. System and method for mutually authenticated cryptographic key exchange using matrices
US8621227B2 (en) 2010-12-28 2013-12-31 Authernative, Inc. System and method for cryptographic key exchange using matrices
US8971539B2 (en) 2010-12-30 2015-03-03 Verisign, Inc. Management of SSL certificate escrow
US8739260B1 (en) 2011-02-10 2014-05-27 Secsign Technologies Inc. Systems and methods for authentication via mobile communication device
US8719952B1 (en) * 2011-03-25 2014-05-06 Secsign Technologies Inc. Systems and methods using passwords for secure storage of private keys on mobile devices
US8793780B2 (en) 2011-04-11 2014-07-29 Blackberry Limited Mitigation of application-level distributed denial-of-service attacks
WO2012140308A1 (en) * 2011-04-13 2012-10-18 Nokia Corporation Method and apparatus for identity based ticketing
GB2490483B (en) 2011-04-26 2019-05-29 Hewlett Packard Entpr Dev Lp Digital signature method and system
US8689304B2 (en) * 2011-04-27 2014-04-01 International Business Machines Corporation Multiple independent authentications for enhanced security
US8681986B2 (en) * 2011-05-25 2014-03-25 International Business Machines Corporation Single-round password-based key exchange protocols
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
DE102011079441A1 (de) 2011-07-19 2013-01-24 Bundesdruckerei Gmbh Verfahren zum Schutz eines Chipkarten-Terminals gegen unberechtigte Benutzung
CN102300182B (zh) * 2011-09-07 2013-08-14 飞天诚信科技股份有限公司 一种基于短信的身份验证方法、系统和装置
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US8842840B2 (en) 2011-11-03 2014-09-23 Arvind Gidwani Demand based encryption and key generation and distribution systems and methods
EP2634993B1 (en) * 2012-03-01 2017-01-11 Certicom Corp. Devices and methods for connecting client devices to a network
EP2639997B1 (en) * 2012-03-15 2014-09-03 ATS Group (IP Holdings) Limited Method and system for secure access of a first computer to a second computer
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
WO2013162296A1 (ko) * 2012-04-25 2013-10-31 주식회사 로웸 패스코드 운영 시스템과 패스코드 장치 및 슈퍼 패스코드 생성 방법
US9703932B2 (en) * 2012-04-30 2017-07-11 Excalibur Ip, Llc Continuous content identification of broadcast content
US9887989B2 (en) * 2012-06-23 2018-02-06 Pomian & Corella, Llc Protecting passwords and biometrics against back-end security breaches
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9043388B2 (en) * 2012-06-25 2015-05-26 International Business Machines Corporation Aggregation and queuing of communications
US9660972B1 (en) * 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
WO2014019129A1 (en) * 2012-07-31 2014-02-06 Google Inc. Automating password maintenance
US9049011B1 (en) * 2012-08-15 2015-06-02 Washington State University Secure key storage and distribution
WO2014052474A1 (en) * 2012-09-25 2014-04-03 Google Inc. Securing personal identification numbers for mobile payment applications by combining with random components
US8955074B2 (en) 2012-10-23 2015-02-10 Authernative, Inc. Authentication method of enumerated pattern of field positions based challenge and enumerated pattern of field positions based response through interaction between two credentials in random partial digitized path recognition system
US9215072B1 (en) 2012-10-23 2015-12-15 Authernative, Inc. Back-end matching method supporting front-end knowledge-based probabilistic authentication systems for enhanced credential security
US8868919B2 (en) 2012-10-23 2014-10-21 Authernative, Inc. Authentication method of field contents based challenge and enumerated pattern of field positions based response in random partial digitized path recognition system
US9213812B1 (en) 2012-12-28 2015-12-15 Allscripts Software, Llc Systems and methods related to security credentials
EP2904759B1 (en) * 2013-01-08 2020-05-27 Bar-Ilan University A method for providing security using secure computation
US8966591B2 (en) * 2013-01-18 2015-02-24 Ca, Inc. Adaptive strike count policy
DE102013203257A1 (de) 2013-02-27 2014-08-28 Bundesdruckerei Gmbh Lesen eines Attributs aus einem ID-Token
US9032212B1 (en) * 2013-03-15 2015-05-12 Emc Corporation Self-refreshing distributed cryptography
US10270748B2 (en) * 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
EP2793157A1 (en) * 2013-04-19 2014-10-22 Thomson Licensing Apparatus and method for managing passwords
GB201310084D0 (en) 2013-06-06 2013-07-17 Mastercard International Inc Improvements to electronic authentication systems
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9305161B1 (en) * 2013-06-24 2016-04-05 Emc Corporation Password hardening system using password shares distributed across multiple servers
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9189617B2 (en) * 2013-09-27 2015-11-17 Intel Corporation Apparatus and method for implementing zero-knowledge proof security techniques on a computing platform
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
DK3063919T3 (da) * 2013-10-28 2017-11-06 Sepior Aps System og fremgangsmåde til håndtering af fortrolige data
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US10015153B1 (en) * 2013-12-23 2018-07-03 EMC IP Holding Company LLC Security using velocity metrics identifying authentication performance for a set of devices
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9270662B1 (en) 2014-01-13 2016-02-23 Amazon Technologies, Inc. Adaptive client-aware session security
US9275219B2 (en) 2014-02-25 2016-03-01 International Business Machines Corporation Unauthorized account access lockout reduction
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
EP2955654A1 (en) 2014-06-12 2015-12-16 Thomson Licensing Apparatus and method for password authentication
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US9350545B1 (en) 2014-06-30 2016-05-24 Emc Corporation Recovery mechanism for fault-tolerant split-server passcode verification of one-time authentication tokens
US9544838B2 (en) 2014-08-01 2017-01-10 Apple Inc. Detecting and connecting to Wi-Fi™ networks
TWI497339B (zh) * 2014-08-15 2015-08-21 Chi-Pei Wang 具有帳號密碼分散儲存防側錄功能之電腦系統
US9639687B2 (en) 2014-11-18 2017-05-02 Cloudfare, Inc. Multiply-encrypting data requiring multiple keys for decryption
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
DE102015017061A1 (de) 2015-01-13 2016-07-28 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
DE102015200313A1 (de) 2015-01-13 2016-07-14 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
DE102015017060A1 (de) 2015-01-13 2016-07-14 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
DE102015204828A1 (de) 2015-03-17 2016-09-22 Bundesdruckerei Gmbh Verfahren zur Erzeugung eines Zertifikats für einen Sicherheitstoken
DE102015207064A1 (de) 2015-04-17 2016-10-20 Bundesdruckerei Gmbh Elektronisches System zur Erzeugung eines Zertifikats
US20160315927A1 (en) * 2015-04-21 2016-10-27 Zte (Usa) Inc. Method and system for establishing and managing personal black box (pbb) in virtually-networked big-data (vnbd) environment
US10374802B2 (en) 2015-04-24 2019-08-06 Red Hat, Inc. Multi-factor simple password exponential key exchange (SPEKE) authentication
DE102015207690A1 (de) 2015-04-27 2016-10-27 Bundesdruckerei Gmbh ID-Token, System und Verfahren zur Erzeugung einer elektronischen Signatur
DE102015209073B4 (de) 2015-05-18 2019-02-07 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
KR102460096B1 (ko) * 2015-05-27 2022-10-27 삼성에스디에스 주식회사 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US20180176222A1 (en) * 2015-06-30 2018-06-21 Raghav Bhaskar User friendly two factor authentication
WO2017004470A1 (en) * 2015-06-30 2017-01-05 Visa International Service Association Mutual authentication of confidential communication
DE102015214340A1 (de) 2015-07-29 2017-02-02 Bundesdruckerei Gmbh Sperrdienst für ein durch einen ID-Token erzeugtes Zertifikat
US20170063831A1 (en) * 2015-08-24 2017-03-02 International Business Machines Corporation Authentication of a user and of access to the user's information
US20170091887A1 (en) * 2015-09-24 2017-03-30 Yahoo! Inc. Method for accessing an online account after the owner's death
US9860237B2 (en) * 2015-10-08 2018-01-02 International Business Machines Corporation Password-based authentication in server systems
US9565020B1 (en) 2016-02-02 2017-02-07 International Business Machines Corporation System and method for generating a server-assisted strong password from a weak secret
US10250591B2 (en) 2016-02-12 2019-04-02 International Business Machines Corporation Password-based authentication
US10476672B2 (en) 2016-03-14 2019-11-12 Callware Technologies, Inc Fragmented encryption of a secret
US10158651B1 (en) 2016-04-20 2018-12-18 Wells Fargo Bank, N.A. Verifying secure transactions through distributed nodes
DE102016208038A1 (de) 2016-05-10 2017-11-16 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
DE102016208040A1 (de) 2016-05-10 2017-11-16 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
US10396991B2 (en) * 2016-06-30 2019-08-27 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
US10158616B1 (en) 2016-07-20 2018-12-18 Google Llc Methods and systems for online access credential transition
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
SG10201609247YA (en) * 2016-11-04 2018-06-28 Huawei Int Pte Ltd System and method for configuring a wireless device for wireless network access
DE102016222170A1 (de) 2016-11-11 2018-05-17 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token
CN106797386B (zh) * 2016-11-30 2021-09-03 深圳前海达闼云端智能科技有限公司 安全验证方法、装置、终端设备及服务器
EP3340149A1 (en) * 2016-12-22 2018-06-27 Mastercard International Incorporated Methods and systems for validating an interaction
US10250576B2 (en) 2017-02-08 2019-04-02 International Business Machines Corporation Communication of messages over networks
CN106888097B (zh) * 2017-03-30 2020-08-11 北卡科技有限公司 一种hce模式下基于零知识证明的身份认证方法
CN107248997B (zh) * 2017-07-03 2020-04-14 暨南大学 多服务器环境下基于智能卡的认证方法
US10924278B2 (en) * 2017-07-13 2021-02-16 Qwyit, Llc Method and apparatus for authentication and encryption service employing unbreakable encryption
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
SG11202003508SA (en) * 2017-10-19 2020-05-28 Autnhive Corp System and method for generating and depositing keys for multi-point authentication
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
KR101936955B1 (ko) * 2018-06-28 2019-04-09 펜타시큐리티시스템주식회사 디피헬만 알고리즘과 타원곡선 디피헬만 알고리즘의 비대칭 응용을 이용한 가용성이 보장되는 안전한 비밀정보 백업 및 복원 방법
US11068893B2 (en) 2018-07-20 2021-07-20 Ford Global Technologies, Llc Decentralized cloud-based authentication for vehicles and associated transactions
US10576934B2 (en) 2018-07-20 2020-03-03 Ford Global Technologies, Llc Decentralized cloud-based authentication for autonomous vehicles
WO2020033033A1 (en) * 2018-08-09 2020-02-13 Hrl Laboratories, Llc Anonymous allocation and majority voting in a compromised environment
US11184162B1 (en) * 2018-09-28 2021-11-23 NortonLifeLock Inc. Privacy preserving secure task automation
US11089008B2 (en) 2018-11-20 2021-08-10 HCL Technologies Italy S.p.A. System and method for facilitating pre authentication of user[s] intended to access data resources
EP3549082B1 (en) * 2018-11-27 2020-08-26 Alibaba Group Holding Limited System and method for information protection
US11616774B2 (en) * 2019-01-17 2023-03-28 Blackberry Limited Methods and systems for detecting unauthorized access by sending a request to one or more peer contacts
US20220103369A1 (en) * 2019-02-05 2022-03-31 Ethopass, Llc Security system and related methods
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
CN111144885B (zh) * 2019-12-13 2023-06-06 杜晓楠 一种数字资产托管方法和系统
US11463467B2 (en) 2020-01-09 2022-10-04 Kyndryl, Inc. Advanced risk evaluation for servers
CN111277571A (zh) * 2020-01-13 2020-06-12 熊国华 一种基于零知识证明的企业app登录管理系统
US11146558B2 (en) 2020-03-11 2021-10-12 International Business Machines Corporation Stateless multi-party authorization system in web applications
WO2022056097A1 (en) * 2020-09-09 2022-03-17 Springcoin, Inc. Method and apparatus for third-party managed data transference and corroboration via tokenization
EP4226573A1 (en) * 2020-10-05 2023-08-16 Redcom Laboratories, Inc. Zkmfa: zero-knowledge based multi-factor authentication system
CN112257119B (zh) * 2020-10-20 2022-10-28 河北素数信息安全有限公司 一种身份认证方法及用于保证加密装置安全的保护方法
CN113852461B (zh) * 2021-09-26 2024-02-02 深圳万兴软件有限公司 一种密码恢复方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544322A (en) * 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
JPH09179826A (ja) * 1995-11-13 1997-07-11 Internatl Business Mach Corp <Ibm> パスワード同期を与える方法及び装置
JPH10274926A (ja) * 1997-03-31 1998-10-13 Eiji Okamoto 暗号データ回復方法、鍵登録システムおよびデータ回復システム
WO1998054864A2 (en) * 1997-05-28 1998-12-03 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems
GB2329096A (en) * 1997-08-29 1999-03-10 Ncipher Limited Creating sub-keys from hashed cryptographic master key

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535276A (en) * 1994-11-09 1996-07-09 Bell Atlantic Network Services, Inc. Yaksha, an improved system and method for securing communications using split private key asymmetric cryptography
US5557346A (en) * 1994-08-11 1996-09-17 Trusted Information Systems, Inc. System and method for key escrow encryption
US5717756A (en) * 1995-10-12 1998-02-10 International Business Machines Corporation System and method for providing masquerade protection in a computer network using hardware and timestamp-specific single use keys
US6226383B1 (en) * 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6272631B1 (en) * 1997-06-30 2001-08-07 Microsoft Corporation Protected storage of core data secrets
US6161185A (en) * 1998-03-06 2000-12-12 Mci Communications Corporation Personal authentication system and method for multiple computer platform
US6311276B1 (en) * 1998-08-25 2001-10-30 3Com Corporation Secure system for remote management and wake-up commands
US6510513B1 (en) * 1999-01-13 2003-01-21 Microsoft Corporation Security services and policy enforcement for electronic data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544322A (en) * 1994-05-09 1996-08-06 International Business Machines Corporation System and method for policy-based inter-realm authentication within a distributed processing system
JPH09179826A (ja) * 1995-11-13 1997-07-11 Internatl Business Mach Corp <Ibm> パスワード同期を与える方法及び装置
JPH10274926A (ja) * 1997-03-31 1998-10-13 Eiji Okamoto 暗号データ回復方法、鍵登録システムおよびデータ回復システム
WO1998054864A2 (en) * 1997-05-28 1998-12-03 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems
GB2329096A (en) * 1997-08-29 1999-03-10 Ncipher Limited Creating sub-keys from hashed cryptographic master key

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAVID P. JABLON: ""Extended Password Key Exchange Protocols Immune to Dictionary Attack"", PROCEEDINGS OF THE SIXTH WORKSHOPS ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERP, JPN7011001234, June 1997 (1997-06-01), pages 248 - 255, ISSN: 0002010244 *
PHILIP MACKENZIE: ""On the Security of the SPEKE Password-Authenticated Key Exchange Protocol"", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2001/057, JPN7011001235, 19 July 2001 (2001-07-19), pages 1 - 19, XP061000183, ISSN: 0002010245 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006511104A (ja) * 2002-08-09 2006-03-30 アールエスエイ セキュリティー インコーポレーテッド セキュア認証の暗号方法および暗号装置
JP2007502485A (ja) * 2003-05-27 2007-02-08 カーディナル・ヘルス・テクノロジーズ・エルエルシー 貼換え可能なラベルを利用する薬管理用システム及び方法
JP4850710B2 (ja) * 2003-05-27 2012-01-11 カーディナル・ヘルス・テクノロジーズ・エルエルシー 貼換え可能なラベルを利用する薬管理用システム及び方法
JP2009065226A (ja) * 2007-09-04 2009-03-26 Kddi Corp 認証付鍵交換システム、認証付鍵交換方法およびプログラム
JP2014137423A (ja) * 2013-01-15 2014-07-28 Fujitsu Ltd 暗号処理装置、方法およびプログラム

Also Published As

Publication number Publication date
KR20030010667A (ko) 2003-02-05
WO2001095545A2 (en) 2001-12-13
US20020067832A1 (en) 2002-06-06
KR100769482B1 (ko) 2007-10-24
TWI233739B (en) 2005-06-01
WO2001095545A3 (en) 2002-07-04
CN1446331A (zh) 2003-10-01
JP4833489B2 (ja) 2011-12-07
AU6816101A (en) 2001-12-17
US7139917B2 (en) 2006-11-21
CN1249972C (zh) 2006-04-05

Similar Documents

Publication Publication Date Title
JP4833489B2 (ja) 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
Wazid et al. Design of secure key management and user authentication scheme for fog computing services
Jablon Password authentication using multiple servers
CN112106322B (zh) 基于密码的阈值令牌生成
US7359507B2 (en) Server-assisted regeneration of a strong secret from a weak secret
Krawczyk SIGMA: The ‘SIGn-and-MAc’approach to authenticated Diffie-Hellman and its use in the IKE protocols
Wu The Secure Remote Password Protocol.
US7725730B2 (en) Cryptographic methods and apparatus for secure authentication
Chang et al. An efficient and secure multi-server password authentication scheme using smart cards
Halevi et al. Public-key cryptography and password protocols
Katz et al. Efficient and secure authenticated key exchange using weak passwords
US6829356B1 (en) Server-assisted regeneration of a strong secret from a weak secret
MacKenzie et al. Networked cryptographic devices resilient to capture
Wang et al. A smart card based efficient and secured multi-server authentication scheme
US7047408B1 (en) Secure mutual network authentication and key exchange protocol
Wu et al. Robust smart‐cards‐based user authentication scheme with user anonymity
US8213608B2 (en) Roaming utilizing an asymmetric key pair
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
MacKenzie et al. Delegation of cryptographic servers for capture-resilient devices
Braeken PUF‐Based Authentication and Key Exchange for Internet of Things
Lee et al. Improvement of the EIGamal based remote authentication scheme using smart cards
Hsu et al. Password authenticated key exchange protocol for multi-server mobile networks based on Chebyshev chaotic map
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
Murdoch et al. A Forward-secure Efficient Two-factor Authentication Protocol
Wang et al. Enhancing biometric and mutual verification in multi-server three-factor user remote authentication scheme with elliptic curve cryptography

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110720

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110922

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees