JP6448668B2 - パスワードベース認証 - Google Patents

パスワードベース認証 Download PDF

Info

Publication number
JP6448668B2
JP6448668B2 JP2016567581A JP2016567581A JP6448668B2 JP 6448668 B2 JP6448668 B2 JP 6448668B2 JP 2016567581 A JP2016567581 A JP 2016567581A JP 2016567581 A JP2016567581 A JP 2016567581A JP 6448668 B2 JP6448668 B2 JP 6448668B2
Authority
JP
Japan
Prior art keywords
user
password
access control
authentication
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.)
Active
Application number
JP2016567581A
Other languages
English (en)
Other versions
JP2017517200A (ja
Inventor
カメニッシュ、ジャン、レオンハルト
リーマン、アニア
ネヴェン、グレゴリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2017517200A publication Critical patent/JP2017517200A/ja
Application granted granted Critical
Publication of JP6448668B2 publication Critical patent/JP6448668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • 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
    • 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/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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

Landscapes

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

Description

本発明は、一般的に、データ処理システムにおけるパスワードベース認証に関し、それによって、リソースへのアクセスが、ユーザ・パスワードの認証に応じて制御される。ユーザ・パスワードを認証するために、対応する方法、構成要素サーバおよびサーバを構成するためのコンピュータ・プログラムとともに、マルチサーバ・システムが提供される。
パスワードは、データ処理システムにおいて、ユーザ認証のための最も普及したメカニズムである。長期にわたり、ユーザ・コンピュータへのフィッシング攻撃およびキーストローク・ロギング・マルウェアは、ハッカーが多数のユーザ・パスワードを取得するのに好まれる方法であった。しかし、より最近では、パスワード・セキュリティに対する主なリスクは、サーバ汚染から生じるように思われる。2012年だけで、数千万のパスワードがこの方式で失われ、多くのデータ侵害が様々な人気のあるウェブサイトでおこったと報告された。
従来型のパスワードベース認証システムでは、ユーザは、保護されるリソースへのアクセスを管理し、例えばユーザの名前などユーザIDのデータベースを維持するサーバに、ハッシュ化された形式で記憶される、ユーザIDに関連するユーザ・パスワードで接続する。ユーザIDおよび入力パスワードを受け取ると、アクセス制御サーバは、入力パスワードをハッシュし、結果が、そのユーザ用の記憶されたパスワード・ハッシュに等しいかどうかを検査する。しかし、全てのパスワード・ハッシュは、アクセス制御サーバ(または、関連するパスワード・ハッシュ・データベース)をハッキングすることにより盗まれる可能性がある。ハッシュされた形式でパスワードを記憶するのでは、メッセージ空間の辞書または総当たり攻撃を使用するオフライン攻撃の効率に起因して、ほとんど保護を提供しない。米国標準技術局は、人間が記憶可能な16文字長のパスワードでさえ、約10億の可能な組合せに対応する、ほんの30ビットのエントロピーしか有しないことを推定した。毎秒80億を超える組合せをテストできる現在のグラフィカル・プロセッサを使用すると、パスワード・データに対してオフライン攻撃が搭載されるとすぐにセキュリティが失われると考えるべきである。
サーバ汚染を通したオフライン攻撃にさらされることを減らすため、パスワードベース認証を、複数のサーバによって実行することができる。パスワードベース認証データが複数のサーバ間で分割される認証プロトコルは、例えば、認証キー交換または認証秘密共有プロトコルの部分として知られている。以前のマルチサーバ・パスワード認証システムは、全てのサーバの情報が認証のために必要であるので、ユーザ・コンピュータが、認証プロトコル中の全てのサーバと相互作用することが必要である。2つのサーバのパスワードベース認証システムも知られている。“RSA Distributed Credential Protection”, RSASecurity, Whitepaper 2012,http://www.emc.com/collateral/software/white-papers/h11013-rsa-dcp-0812-wp.pdfは、そのようなシステムの例を記載する。ここでは、パスワードベース認証データが2つのサーバ間に分割される。ユーザが、彼女のパスワードをランダム化し分割した形式で2つのサーバに送信し、次いで2つのサーバが、相互作用してパスワードを検証し、パスワードが正しい場合、アクセスを許可する。
"RSA Distributed CredentialProtection", RSA Security, Whitepaper 2012,http://www.emc.com/collateral/software/white-papers/h11013-rsa-dcp-0812-wp.pdf Y. Desmedt, Y. Frankel. "Threshold Cryptosystems", Desmedt & Y.Frankel, CRYPTO 1989 "Proactive Secret Sharing Or: Howto Cope With Perpetual Leakage", Herzberg et al,.CRYPTO 1995
マルチサーバ・パスワード認証システムの改善が、強く求められることになる。
本発明の第1の態様の実施形態は、
ネットワークを介してユーザ・コンピュータと通信し、それぞれのユーザIDに関連するユーザ・パスワードの認証に応じて、ユーザ・コンピュータによるリソースへのアクセスを制御するためのアクセス制御サーバと、
ネットワークを介してアクセス制御サーバと通信するために、それぞれの秘密値を記憶する、複数n個の認証サーバと
を備え、
アクセス制御サーバが、各前記ユーザIDについて、前記秘密値に応じた所定のアルゴリズムを使用して、そのIDに関連するユーザ・パスワードを暗号化することにより生成される第1の暗号文を記憶し、
ユーザ・コンピュータから前記ユーザIDおよび入力パスワードを受け取ることに応答して、アクセス制御サーバが、複数k≦n個の認証サーバと通信して、パスワード認証プロトコルを実施し、k個の認証サーバが、それらそれぞれの秘密値を使用することを必要とし、そこで、第2の暗号文が、前記所定のアルゴリズムを使用して入力パスワードを暗号化することにより生成され、アクセス制御サーバが第1および第2の暗号文を使用して、受け取ったユーザIDについて入力パスワードがユーザ・パスワードに等しいかどうかを決定し、等しい場合、ユーザ・コンピュータによるリソースへのアクセスを許可するように、アクセス制御サーバおよび認証サーバが適合されるシステムを提供する。
本発明を具現化するシステムでは、アクセス制御サーバは、リソースへのアクセス・ポイントならびにユーザを接続するためのマルチサーバ・パスワードベース認証プロトコルの集中制御の両方を提供する。このプロトコルの実施は、k≦n個の認証サーバとアクセス制御サーバの協調を必要とし、これらの認証サーバは、このプロセス中でそれらのそれぞれの秘密値を使用しなければならない。しかし、入力パスワードの有効性は、k個のサーバとの通信に基づいて、アクセス制御サーバによって集約的に決定される。プロトコルは、アクセス制御サーバ(または、任意の他のサーバ)が、ユーザ・パスワードを再構築することを必要としない。認証は、認証サーバの秘密値に応じて所定の暗号化アルゴリズムを使用して、真性のユーザ・パスワードおよび入力パスワード試行からそれぞれ生成される第1および第2の暗号文を使用することに基づく。本発明を具現化するシステムは、安全で効率的なパスワードベース認証を提供することができる。ユーザ・コンピュータは、アクセス制御サーバとの通信のみを必要とし、他の形では、認証プロトコルの実施に含まれない。本発明の実施形態は、オフライン攻撃に対するセキュリティを提供し、効率的なアップデート・メカニズムの実施を可能にもし、このことによって、秘密値をアップデートして、例えば周期的または知られているセキュリティ侵害に応答してセキュリティを強化することができる。本発明を具現化するシステムのさらなる利点を、下に記載する特定の実施形態に関して説明することになる。
サーバの秘密値は、暗号キー、またはキー共有、またはシステム中のそれぞれのサーバにのみ知られている任意の他の強い秘密を含むことができる。暗号文を生成するために使用される暗号化アルゴリズムは、様々な方式で、直接的または間接的に、これらの秘密値に依存することができる。例えば、秘密値をアルゴリズム中で使用する場合があり、またはアルゴリズムが暗号キー対の公開キーを使用する場合があり、秘密値は、キー対の秘密キーのそれぞれのキー共有を含む場合がある。入力パスワードを直接的に、またはそのいくつかの機能を生成するための入力パスワードのさらなる処理の後に暗号化するために暗号化アルゴリズムを使用することにより、第2の暗号文を生成することができる。
第1の好ましい実施形態では、認証プロトコルは、アクセス制御サーバおよびk=n個の認証サーバによって実施される。第1の暗号文は、認証サーバのn個の秘密値、ユーザIDについてのユーザ・パスワード、および好ましくはアクセス制御サーバにより記憶されるさらなる秘密値から導出される疑似乱数値を含む。ユーザがログインするときパスワード検証プロトコルを実施するために、アクセス制御サーバは、第1の暗号文と同様の方式で、秘密値および入力パスワードから第2の暗号文の生成を調整する。次いで、アクセス制御サーバは、第1および第2の暗号文を単純に比較して、入力パスワードが、ユーザIDについてのユーザ・パスワードに等しいかどうかを決定する。
第2の好ましい実施形態では、第1の暗号文は、暗号キー対の公開キーの下でユーザ・パスワードを暗号化するための準同形暗号化アルゴリズムを使用して生成される。認証サーバの秘密値は、キー対の秘密キーのそれぞれのキー共有を含む。ユーザ・ログインにおけるパスワード認証プロトコルを実施するために、アクセス制御サーバは、前記準同形暗号化アルゴリズムを使用して入力パスワードから第2の暗号文を生成する。次いで、アクセス制御サーバは、受け取ったユーザIDについて、演算
Figure 0006448668
を介して、第2の暗号文と第1の暗号文を組み合わせることによりテスト値を生成し、演算
Figure 0006448668
は、前記暗号化アルゴリズムの準同形性に起因して、入力パスワードがユーザ・パスワードに等しい場合、テスト値が所定の値に復号されるようなものである。テスト値は、k個の認証サーバに送信され、k個の認証サーバは、それらの秘密キー共有を使用し、テスト値に応じて、それぞれの復号共有を生成する。次いで、アクセス制御サーバは、k個の復号共有から、テスト値が前記所定の値に復号されるか、したがって入力パスワードがユーザ・パスワードに等しいかどうかを決定する。準同形暗号化アルゴリズムが、復号のためにn個より少ない復号共有を必要とする閾値暗号化アルゴリズムである場合、パスワード認証プロトコルは、k<n個の認証サーバを使用して実施することができる。
オフライン攻撃に対する最高のセキュリティのために、アクセス制御サーバは、好ましい実施形態のパスワード認証プロトコルで、各認証サーバに受け取ったユーザIDを送信し、各認証サーバは、各ユーザIDについてスロットリング・メカニズムを実施する。スロットリング・メカニズムは、暗号法においてよく知られており、システム・ユーザによるログインを監視し、ログイン挙動に基づいて、何らかの特定のユーザ・アカウントをブロックするべきであるかどうかを決定するための手順を提供する。スロットリング・メカニズムは、例えば、閾値の数より多いログイン要求が所与の時間内に、または不正パスワードで、あるいはその両方でなされる場合といった、潜在的に悪意のある行為を示す所定の基準をログイン挙動が満たす場合、一般的に、ユーザ・アカウントをブロックする。下に詳述される第1の好ましい実施形態は、ユーザ・ログインの頻度に基づいて、スロットリング・メカニズムを実施する。第2の好ましい実施形態は、ログインの頻度と不正パスワード記入の組合せに基づいて、スロットリングを実施することができる。
好ましい実施形態では、アクセス制御サーバおよび認証サーバは、ユーザ・アカウントについてのパスワード設定プロトコルを実施するようにさらに適合される。特に、アクセス制御サーバおよび認証サーバは、設定動作における前記ユーザ・パスワードおよび関連するユーザIDの最初の入力に応答して、アクセス制御サーバがn個の認証サーバと通信し、アクセス制御サーバにおけるそのユーザIDについての前記第1の暗号文の生成および第1の暗号文の記憶を含むパスワード設定プロトコルを実施して、そのユーザIDについての前記検証プロトコルの後続の実施を可能にするように適合させることができる。好ましい実施形態は、所望に応じて秘密値をアップデートすることを可能にする、効率的なアップデート動作も提供する。
本発明の第2の態様の実施形態は、メモリと、通信インターフェイスと、本発明の第1の態様に従うシステムのアクセス制御サーバを実施するサーバを構成するように適合される制御ロジックとを備えるサーバであって、前記メモリが、使用中の各ユーザIDについての前記第1の暗号文を記憶するサーバを提供する。
本発明の第3の態様の実施形態は、メモリと、通信インターフェイスと、本発明の第1の態様に従うシステムの認証サーバを実施するサーバを構成するように適合される制御ロジックとを備えるサーバであって、前記メモリが、使用中の認証サーバの前記秘密値を記憶するサーバを提供する。
本発明のさらなる態様は、コンピュータに本発明の第2または第3の態様に従うサーバの制御ロジックをそれぞれ実施させるための、プログラム・コード手段を含むコンピュータ・プログラムを提供する。「コンピュータ」という用語は、最も一般的な意味で使用され、コンピュータ・プログラムを実施するためのデータ処理能力を有する任意のデバイス、構成要素、またはシステムを含む。さらに、本発明を具現化するコンピュータ・プログラムは、独立したプログラムもしくはプログラム・セットを構築することができ、またはより大きいプログラムもしくはプログラム・セットの要素であってよく、コンピュータ中にロードするためのディスクもしくは電子伝送などのコンピュータ可読媒体の中に供給、例えば具現化することができる。コンピュータ・プログラムのプログラム・コード手段は、コンピュータに、直接的に、または(a)別の言語、コード、または表記法への変換、および(b)異なる材料形式での複製のいずれかまたは両方の後で、対象となっている方法を実行させることを意図した命令の組の、任意の言語、コード、または表記法での任意の表現を含むことができる。
本発明の別の態様の実施形態は、ユーザ・コンピュータとネットワークを介して通信するために配置されるアクセス制御サーバおよび複数n個の認証サーバにおいて、それぞれのユーザIDに関連するユーザ・パスワードの認証に依存して、ユーザ・コンピュータによるリソースへのアクセスを制御するための方法を提供する。方法は、
n個の認証サーバにおいてそれぞれの秘密値を記憶するステップと、
各前記ユーザIDについて、アクセス制御サーバにおいて、前記秘密値に応じて所定のアルゴリズムを使用し、そのIDに関連するユーザ・パスワードを暗号化することにより生成される第1の暗号文を記憶するステップと、
アクセス制御サーバにおいて、ユーザ・コンピュータから前記ユーザIDおよび入力パスワードを受け取ることに応答して、複数k≦n個の認証サーバと通信して、パスワード認証プロトコルを実施するステップであって、k個の認証サーバがそれらそれぞれの秘密値を使用することを必要とし、第2の暗号文が、前記所定のアルゴリズムを使用して入力パスワードを暗号化することにより生成され、アクセス制御サーバが第1および第2の暗号文を使用して、受け取ったユーザIDについて入力パスワードがユーザ・パスワードに等しいかどうかを決定するステップと、
アクセス制御サーバにおいて、入力パスワードがユーザ・パスワードに等しい場合、ユーザ・コンピュータによるリソースへのアクセスを許可するステップと
を含む。
特徴は、本発明の一態様の実施形態を参照して本明細書に記載されるが、対応する特徴は、本発明の別の態様の実施形態中で適宜実現することができる。
本発明の好ましい実施形態は、ここで、例として添付図面を参照して記載する。
本発明を具現化するパスワード認証システムを含むデータ処理システムの概略図である。 パスワード認証システムの動作における設定手順の特徴を示す図である。 パスワード認証システムの動作におけるログイン手順の特徴を示す図である。 第1のパスワード認証プロトコルを実施するための、パスワード認証システムの第1の実施形態の構成を図示する図である。 第1の実施形態における、設定プロトコルのステップを示す図である。 第1の実施形態における、設定プロトコルのステップを示す図である。 第1の実施形態における、パスワード認証プロトコルのステップを示す図である。 第1の実施形態における、パスワード認証プロトコルのステップを示す図である。 第1の実施形態における、アップデート・プロトコルのステップを示す図である。 第2のパスワード認証プロトコルを実施するための、パスワード認証システムの第2の実施形態の構成を図示する図である。 第2の実施形態における、設定プロトコルのステップを示す図である。 第2の実施形態における、パスワード認証プロトコルの簡単な実施のステップを示す図である。 第2の実施形態における、パスワード認証プロトコルの簡単な実施のステップを示す図である。 第2の実施形態における、パスワード認証プロトコルのより精巧な実施のステップを示す図である。 第2の実施形態における、パスワード認証プロトコルのより精巧な実施のステップを示す図である。 第2の実施形態における、パスワード認証プロトコルのより精巧な実施のステップを示す図である。 第2の実施形態における、ブロック解除プロトコルのステップを示す図である。
図1は、本発明を具現化する認証システムを組み込むデータ処理システムの簡単な例を示す。全体的に1で示されるパスワード認証システムは、複数のユーザ・コンピュータ3とネットワーク4を介して通信するように配置されるアクセス制御サーバ2を含む。ネットワーク4は、一般的に、インターネットを含む、1つもしくは複数の構成要素ネットワークまたは相互接続ネットワークを含むことができる。ユーザ・コンピュータ3は、この例では汎用パーソナル・コンピュータ(PC)であるが、モバイル・フォン、タブレット・コンピュータ、個人用音楽プレイヤ、パームトップ・デバイスなどの他のコンピュータ・デバイスによって同じように実施することができる。アクセス制御サーバ2は、ユーザ・コンピュータ3によるリソース、この例ではデータベース5へのアクセスを制御する。アクセスは、動作においてユーザによってPC3を介して入力される、例えばユーザ名といったそれぞれのユーザIDに関連するユーザ・パスワードの認証に依存して許可される。
パスワード認証システム1は、アクセス制御サーバ2とネットワーク4を介して通信するように配置され、S、S、…、Sと標示される複数の認証サーバ6も含む。n個の認証サーバ6は、アクセス制御サーバ2と協調して、下に詳述されるマルチサーバ・パスワード認証プロトコルを実施するように適合される。認証サーバの数nは、様々な実施形態で変わる場合があるが、典型的なシステムは、特定のパスワード認証プロトコルおよび必要なセキュリティのレベルに依存して、2個と10個の間の認証サーバを採用することができる。一般的に、認証サーバ6は、アクセス制御サーバ2と同じ位置、または1つまたは複数の様々な位置に配置することができ、アクセス制御サーバと同じ実体、または1つまたは複数の様々な実体により制御することができる。アクセス制御サーバ2および認証サーバ6の分布および制御は、こうして、所与のシステムについての特定のセキュリティ要件にしたがって選択することができる。
アクセス制御サーバ2および認証サーバ6の各々は、それぞれのサーバ機能性を実施するように構成される汎用コンピュータとして具現化することができる。アクセス制御サーバ2は、ここでは簡単に、ネットワーク4にわたる通信のための通信インターフェイス(I/F)7、制御ロジック8、およびメモリ9を備えるものとして示される。制御ロジック8は、一般的にアクセス制御サーバ2の動作を制御し、下に詳述されるパスワード認証および関連プロトコルのステップを実施するための機能性を提供する。メモリ9は、動作において制御ロジックにより使用される様々なデータを記憶する。これは、システムの各認定ユーザのユーザID(Uid)についての第1の暗号文CT1を含む。各認証サーバ6は、通信インターフェイス11、下に詳述されるプロトコルで使用するための機能性を提供する認証ロジック12、および動作において認証ロジック12により使用されるデータを記憶するメモリ13を備えるものとして同様に示される。これは、システム中のその特定のサーバSにのみ知られている秘密値vを含む。一般的に、制御ロジック8および認証ロジック12は、ハードウェアまたはソフトウェアまたはそれらの組合せで実施することができる。この例では、制御ロジック8、認証ロジック12は、コンピュータに記載される機能を実行させるためにそれぞれのコンピュータ(アクセス制御サーバ2、認証サーバ6)上で走るソフトウェアにより好都合に実施される。
図2は、パスワード認証システム1の動作においてユーザ・アカウントを設定するための設定手順の鍵となる特徴を示す一般化したブロック図である。ステップ20において示されるように設定動作を開始する際に、ユーザの後続の認証のために使用されるユーザID Uidおよび関連するユーザ・パスワードpwdは、ステップ21でアクセス制御サーバ2に入力される。典型的なアプリケーションでは、ユーザIDおよびパスワードは、ユーザによって、ここではユーザ・コンピュータ3を介して入力され、ネットワーク4を介してアクセス制御サーバ2に送信される。アクセス制御サーバは、ステップ22で、パスワード設定プロトコルを始めることにより応答する。このプロトコルは、アクセス制御サーバ2とn個の認証サーバS〜Sの通信を介して実施される。設定プロトコルは、ステップ23において示されるように、入力ユーザIDについての第1の暗号文CT1の生成を含む。暗号文CT1は、n個の認証サーバの秘密値v〜vに応じた所定のアルゴリズムを使用して、ユーザ・パスワードpwdを暗号化することにより生成される。これは、下でさらに説明される。第1の暗号文CT1は、ステップ24において示されるように、認定ユーザについてのユーザID Uidとともにアクセス制御サーバ2によって記憶される。n個の認証サーバ6は、ステップ25において示されるように、(典型的には、下でさらに論じられるスロットリング・メカニズムにより制御される「アカウント・ブロック」フラグなどの1つまたは複数の他の項目とともに)ユーザID Uidを記憶する。ステップ24と25の順序は、下で説明されるように、様々な実施で変わる場合があることに留意されたい。パスワード設定プロトコルは、こうして完了し、ユーザ・アカウントは、後続のログイン手順中で使用する準備が整う。
図3は、パスワード認証システム1の動作におけるログイン手順の概要を与える一般化したブロック図である。ステップ30において、ユーザ・コンピュータ3を操作するユーザがパスワードpwd’(すなわち、ユーザ・パスワードpwdにおける試行)およびユーザID Uidを入力すると、ログイン手順が開始される。ステップ31で、Uid、pwd’の入力がネットワーク4を介して送信され、アクセス制御サーバ2によって受け取られる。ステップ32で、アクセス制御サーバは、入力パスワードpwd’を認証するため検証プロトコルを始めることによって応答する。このパスワード認証プロトコルは、アクセス制御サーバ2と複数k≦n個の認証サーバS〜Sの通信を介して実施され、ここでkの値は、特定のプロトコル実施に依存する。プロトコルを良好に動作させるには、図中のブロック33において示されるように、k個の認証サーバが、それらそれぞれの秘密値vを使用することを必要とする。プロトコルは、ブロック34において示されるように、第2の暗号文CT2の生成を含む。この暗号文CT2は、第1の暗号文CT1を生成するため設定プロトコル中で使用されるアルゴリズムを使用して、入力パスワードpwd’を暗号化することによりパスワード認証システム1中で生成される。アクセス制御サーバ2は、次いで第1の暗号文CT1および第2の暗号文CT2を使用して、ステップ31で受け取ったユーザIDについて、入力パスワードpwd’がユーザ・パスワードpwdに等しいかどうかをステップ35で決定する。その(判定ブロック36における「Y」の)場合、アクセス制御サーバ2は、ステップ37において示されるように、データベース5へのユーザのアクセスを許可し、ログイン・プロセスが完了する。入力パスワードpwd’が無効の(判定ブロック36における「N」の)場合、アクセス制御サーバ2は、ステップ38においてアクセスを拒否し、それに応じてユーザに通知することができる。この場合も、図3のブロックにより示されるステップの順序は、下の例によって説明されるように、様々な実施で変わる場合があることに留意されたい。
第1のパスワード認証プロトコルを実施するように適合されるパスワード認証システム1の第1の実施形態を、ここで、図4〜図9を参照して詳細に記載する。第1のパスワード認証プロトコルは、疑似乱数関数およびXOR(すなわち、モジュロ2加算)演算を使用する対称暗号法に基づく。図4は、この実施形態中のシステム・サーバの初期構成を図示する。n個の認証サーバS〜Sの各々は、k1およびk2によって表される2つの対称キーを記憶する(キーk2は、ここで、上で論じた秘密サーバ値vに対応する。ここで使用されるキーk1は、下でさらに論じられるように、任意の固有サーバIDによって置き換えることができる)。この実施形態では、アクセス制御サーバは、さらなる秘密値、ここでは、kACによって表されるさらなる対称キーを記憶する。システムは、アクセス制御サーバ2と認証サーバ6との間、すなわち転送秘匿性を有する認証された信用できるチャネルを介する、安全な通信で動作する。これらの特性は、例えば、SSL(Secure Sockets Layer)またはTLS(Transport LayerSecurity)プロトコルを使用して、知られている方式で達成することができる。
設定プロトコル実施形態#1
図5および図6は、この実施形態における、設定プロトコルの連続するステージを示す。図5中の(a)において示されるように、ユーザがアクセス制御サーバ2にユーザ・コンピュータ3を介してユーザID Uidおよびユーザ・パスワードpwdを提供すると、動作が開始される。ステップ(b)では、アクセス制御サーバ2の制御ロジック8が、ユーザ・パスワードpwdを疑似乱数関数PRFを介して暗号化する最初の疑似乱数値tinを生成する。最初の疑似乱数値tinは、アクセス制御サーバの秘密キーkACおよび(異なるユーザが同じパスワードを選ぶ場合に衝突を避けるため)ユーザID Uidも暗号化する。この例では特に、最初の疑似乱数値tinは、次式として計算される。
in←PRF(PRF(kAC,Uid),pwd)
ステップ(c)では、アクセス制御サーバは、ユーザID Uidおよび最初の疑似乱数値tinをn個の認証サーバS〜Sに、通信インターフェイス7およびネットワーク4を介して送信する。値(Uid、pwd)は、通信インターフェイス11を介して各認証サーバ6の認証ロジック12によって受け取られる。
図5に(d)で示される次のステップでは、各サーバSの認証ロジック12は、最初の疑似乱数値tinを使用して、それぞれの第1の疑似乱数値t1を生成する。この第1の疑似乱数値は、第2の疑似乱数値t2と第3の疑似乱数値t3のモジュロ2総和を含む。第2の疑似乱数値t2は、最初の疑似乱数値tinを疑似乱数関数PRFを介して暗号化する。第2の疑似乱数値t2は、疑似乱数関数PRFを介して、それぞれの認証サーバについてのサーバIDも暗号化しており、サーバ・キーk1は、ここで、サーバIDを構築する。第3の疑似乱数値は、疑似乱数関数PRFを介して、認証サーバSの秘密値v=k2、および(最初の疑似乱数値tinの中に暗号化されるユーザ・パスワードに関連する)受け取ったユーザID Uidを暗号化する。特に、
Figure 0006448668

であり、ここで、
Figure 0006448668

は、モジュロ2加算(XOR)演算を表す。この式の第2の項t3は、下でさらに論じられる、事前アップデート手順のための基準を提供する。
図6の中の(e)において示されるように設定動作の次のステージでは、各認証サーバSは、そのそれぞれの第1の疑似乱数値t1をアクセス制御サーバ2に送信する。アクセス制御サーバ2の制御ロジック8は、次いで、n個の第1の疑似乱数値t1から、第1の暗号文CT1を生成する。この実施形態ではtpwdで表される、第1の暗号文CT1は、次式によって与えられる。
Figure 0006448668

したがって、この実施形態中の第1の暗号文は、その各々が、疑似乱数関数を介して、それぞれの認証サーバの秘密値k2を暗号化するn個の第1の疑似乱数値t1のモジュロ2総和、および、次いで、ユーザ・パスワードpwdをアクセス制御サーバ2の秘密値kACに暗号化する最初の疑似乱数値tinを含むことが理解されよう。
図6に示されるように、このユーザについての設定プロトコルの最後に、アクセス制御サーバ2は、そのメモリ9の中にユーザID Uidについての第1の暗号文tpwdを記憶する。各認証サーバ6のメモリ13は、Uid、およびユーザ・アカウントがブロックされるか(b=1)または開くか(b=0)を示す「アカウント・ブロック」ビットb={0,1}を記憶する。最初に、このビットはb=0に設定される。個別の疑似乱数値tin、t1は、アクセス制御サーバ2、認証サーバ6のいずれによっても記憶されず、ユーザ・アカウントの設定で使用した後に削除される。
パスワード認証プロトコル実施形態#1
ユーザ・アカウントについての後続のログインでは、アクセス制御サーバ2は、k=n個の認証サーバ6と通信し、パスワード認証プロトコルを実施する。図7および図8は、この実施形態における、パスワード認証プロトコルの連続するステージを示す。図7中の(a)において示されるように、ユーザがユーザ・コンピュータ3を介してユーザID Uidを提供し、ユーザ・パスワードpwd’を入力すると、動作が開始される。値(Uid,pwd’)を受け取ると、アクセス制御サーバ2は、ユーザ記録(Uid,tpwd)がメモリ9の中に存在するかどうかを検査する。存在しない場合、ログインは失敗する。存在する場合、後続の動作は、一般的に上の設定プロトコルに対応するが、入力パスワードpwd’を使用する。したがって、ステップ(b)では、アクセス制御サーバ・ロジックは、入力パスワードpwd’を使用して、最初の疑似乱数値tinに対応するテスト疑似乱数値ttestを生成する。テスト疑似乱数値ttestは、こうして、最初の疑似乱数値tinと同様の方式で生成されるが、ユーザ・パスワードpwdの代わりに入力パスワードpwd’を使用する。ステップ(c)では、アクセス制御サーバは、テスト疑似乱数値ttestを、受け取ったユーザID Uidとともに、各認証サーバS〜Sに送信する。この点において、ステップ(d)に示されるように、各認証サーバ6は、スロットリング・メカニズムの動作に起因して、ユーザ・アカウントがブロックされている(すなわち、Uidについてのフラグbが、b=1に設定されている)かどうかを検査する。特に、各認証サーバ6の認証ロジック12は、ユーザ・ログイン要求の頻度に基づいて、各ユーザID Uidについてスロットリング・メカニズムを実施するように適合される。様々なそのようなスロットリング手段が当技術分野で知られており、ここで、任意の好都合な技法を採用することができる。例えば、閾値の数より多いログイン要求が受け取られる、または所与の時間制限内に受け取られる場合に、アカウントをブロックする場合がある。代替または追加として、例えば要求の特定の数または速度を超える場合といった、不審なログイン挙動が識別される場合に、例えば、ユーザ要求をサービスするために、徐々に増加する時間制限を適用することができる。したがって、スロットリング・メカニズムは、ユーザ・アカウントを一時的または永続的にブロックすることができ、後者は、特定の実施に依存して、認可された関係者によるブロック解除またはユーザ・アカウントの更新を必要とする。いずれの場合にも、ユーザ・アカウントが任意の認証サーバ6においてブロックされる場合には、ログイン動作は失敗する。サーバがユーザ・アカウントをブロックしなかった場合、ログイン動作は進むことができる。
図8の中の(e)において示されるように、認証プロトコルの次のステージでは、各認証サーバSが、テスト疑似乱数値ttestを使用して、上の第1の疑似乱数値t1に対応するそれぞれのサーバ疑似乱数値tsを生成する。すなわち、サーバ疑似乱数値tsは、第1の疑似乱数値t1と同様の方式で生成されるが、最初の疑似乱数値tinの代わりにテスト疑似乱数値ttestを使用する。したがって、
Figure 0006448668

である。ステップ(f)では、各認証サーバSは、そのサーバ疑似乱数値tsをアクセス制御サーバ2に送信する。ステップ(g)では、アクセス制御サーバは、n個のサーバ疑似乱数値tsから第2の暗号文CT2を生成する。この実施形態ではtpwd’で表される第2の暗号文CT2は、したがって、次式で与えられる。
Figure 0006448668

入力パスワードが有効である(pwd’=pwd)かどうかを決定するために、アクセス制御サーバ・ロジックは、ステップ(h)で第1の暗号文と第2の暗号文を単に比較し、tpwd’=tpwdであるかどうかを決定する。有効である場合、ログインは成功し、アクセス制御サーバは、リソース5へのユーザ・アクセスを許可する。有効でない場合、ログインは失敗し、アクセスは拒否される。
上のパスワード認証プロトコルは、アクセス制御サーバと、全てでn個の認証サーバとの間で実行される。敵対者が短時間にわたるサーバの完全な制御を獲得して、破損したサーバによって保持される、秘密キーを含む全ての情報を横取りできる「スマッシュ・アンド・グラッブ(smash-and-grab)」攻撃は、認証プロセスのために全てのサーバの秘密キーが必要であるので、セキュリティを侵害することはない。パスワードは、少なくとも1つのアクセス制御サーバ2、認証サーバ6が正当のままである限り、安全である。例えば、n−1個以下の認証サーバおよびアクセス制御サーバが敵対者により破損されるだけであれば、敵対者は、パスワードを再構築すること、または蓄積された認証データに対してオフライン攻撃を走らせることができない。敵対者は、全てのパスワードの組合せをテストするために、残りの正当なサーバからのサポートを必要とすることになり、これは、スロットリング・メカニズムに起因して、正当なサーバによって認識および防止されることになる。この実施形態では、セキュリティは、速くて簡単であり、実施効率の点でかなりの利点を提供する、対称暗号化を介してのみ達成される。さらに、システムは、ユーザ・コンピュータ3において、何ら専用のクライアント・ソフトウェアを必要とせず、ユーザ・コンピュータは、システムの動作のため、アクセス制御サーバと通信することだけを必要とする。システムは、サーバ・キーをアップデートするための、効率的な事前セキュリティ・メカニズムの実施も可能にする。このアップデート・メカニズムは、何らユーザとの相互作用を必要としない。アップデート・プロトコルは、ここで、図9を参照して説明される。
アップデート・プロトコル実施形態#1
アクセス制御サーバ2および各認証サーバ6は、認証サーバがそのそれぞれの秘密値v=k2を新しい秘密値k2’にアップデートするアップデート・プロトコルを実施するように適合される。連続するサーバ汚染に対してセキュリティをさらに増強するために、アクセス制御サーバならびに全ての認証サーバによって周期的にプロトコルを走らせることができる。加えて、プロトコルを使用して、既知の侵害後に、完全なセキュリティを再確立することができる。アクセス制御サーバ2が汚染されている場合、アップデート・プロトコルは、全てのサーバを含むことになる。単一の認証サーバのみのセキュリティ侵害は、アクセス制御サーバおよび影響を受けた認証サーバによるプロトコルの実施を必要とする。以下では、単一の認証サーバについての動作に焦点を合わせ、これは、必要に応じて全てのn個のサーバに拡張することができる。
アクセス制御サーバは、記録がアップデートされるべき全てのUid値を、認証サーバ6に送信する。認証サーバ6は、そのそれぞれの秘密値v=k2を新しい秘密値k2’にアップデートし、新しい秘密値k2’を使用して、各ユーザID Uidについて、上の第3の疑似乱数値t3に対応するアップデートした疑似乱数値tuを生成する。すなわち、図9のステップ(a)において示されるように、認証サーバ6は、新しいキーk2’を選択し、次いで、アップデートした疑似乱数値tuを次式のように計算する。
tu←PRF(k2’,Uid)
認証サーバは、次いで、アップデートした疑似乱数値tuと第3の疑似乱数値t3のモジュロ2総和を含む、アップデート値uを生成する。
Figure 0006448668

ステップ(b)では、認証サーバが、アクセス制御サーバ2に各Uidについてのアップデート値uを送信する。ステップ(c)では、アクセス制御サーバ2が、第1の暗号文tpwdとアップデート値uのモジュロ2総和を生成することにより、各Uidについて記憶された第1の暗号文tpwdをアップデートする。新しい第1の暗号文は、こうして
Figure 0006448668

で与えられる(全てのサーバ・キーがアップデートされる場合、したがって新しい第1の暗号文は、
Figure 0006448668

によって与えられることになる)。新しい第1の暗号文は、さらに、必要に応じて、
Figure 0006448668

によって定められる、値のモジュロ2総和である。古いランダム性PRF(k2,Uid)は、モジュロ2加算によって無効にされ、それによって、失われるk2は無用になる。新しい第1の暗号文は、次いで、ユーザIDについてアクセス制御サーバによって記憶される。
第2のパスワード認証プロトコルを実施するように適合されるパスワード認証システム1の第2の実施形態を、ここで、図10〜図17を参照して詳細に記載する。第2のパスワード認証プロトコルは、準同形閾値暗号化方式に基づく。図10は、この実施形態中のシステム・サーバの初期構成を図示する。アクセス制御サーバ2は、暗号化(公開/秘密)キー対の公開キーtpkを記憶する。認証サーバSによって記憶される秘密値vは、このキー対の秘密キーのそれぞれのキー共有tskを含む。システムは、以前のように、アクセス制御サーバ2と認証サーバ6との間の安全な通信で動作する。
設定プロトコル実施形態#2
図11は、この実施形態でのユーザ・アカウントを作るための設定プロトコルのステップを示す。動作は、ステップ(a)において、ユーザID Uidおよびユーザ・パスワードpwdのアクセス制御サーバ2への入力で開始される。ステップ(b)では、アクセス制御サーバは、公開キーtpkの下でパスワードpwdを暗号化するために、準同形閾値暗号化アルゴリズムTEnctpkを使用して第1の暗号文CT1を生成する。閾値暗号化アルゴリズムTEnctpkは、下でより詳細に説明されるような復号のため、p<n個の復号共有を必要とする。この実施形態でCpwdで表される第1の暗号文CT1は、したがって次式で与えられる。
pwd=TEnctpk(pwd)
暗号化アルゴリズムTEncは準同形であり、すなわち、C∈TEnctpk(m)およびC∈TEnctpk(m)である場合、
Figure 0006448668

であるような、暗号文Cに有効な演算
Figure 0006448668

が存在する(
Figure 0006448668

を繰り返し適用することを表すために、例えば
Figure 0006448668

を表すためにCといった、指数も使用することになる)。アクセス制御サーバは、ユーザID Uidについての第1の暗号文Cpwdを記憶し、ステップ(c)で、CpwdをUidとともに、n個の認証サーバS〜Sに送信する。各認証サーバSは、Uidおよびこの例ではCpwd、ならびに上に論じられたようなスロットリング・メカニズムのための(最初は、b=0に設定される)アカウント・ブロック・ビットbを記憶する。
パスワード認証プロトコル実施形態#2
ユーザ・アカウントについての後続のログインでは、アクセス制御サーバ2は、k=p個の認証サーバ6と通信して、パスワード認証プロトコルを実施する。このプロトコルの簡単な実施を、最初に、図12および図13を参照して記載する。これらは、パスワード認証プロトコルの動作中の連続するステージを示す。図12中の(a)において示されるように、アクセス制御サーバ2へユーザID Uidおよび入力パスワードpwd’を提供すると、手順が開始される。Uidについてのユーザ記録がメモリ9中に存在する場合、ステップ(b)で、アクセス制御サーバは、準同形暗号化アルゴリズムを使用して、入力パスワードから第2の暗号文CT2=Cpwd’を生成する。この最初の例では、Cpwd’によって表される第2の暗号文は、次式で与えられる。
pwd’=TEnctpk(pwd’)
ステップ(c)では、次いで、アクセス制御サーバが、演算
Figure 0006448668

を介して、第2の暗号文Cpwd’と受け取ったUidについて記憶した第1の暗号文Cpwdを組み合わせることにより、テスト値Ctestを生成する。この最初の例では、演算
Figure 0006448668

は、除算を表し、次式である。
test=Cpwd/Cpwd’
上に説明したような暗号化アルゴリズムの準同形性に起因して、入力パスワードpwd’が受け取ったUidに関連するユーザ・パスワードpwdに等しい場合、テスト値が1という所定の値に復号される。次に、ステップ(d)では、アクセス制御サーバは、テスト値CtestをUidとともに、k=p個の認証サーバ6に送信する。p個の認証サーバは、ここでは例えば、応答する、またはn個の認証サーバ6の間で負荷分散法を実施する最初のp個のサーバとして、任意の好都合な方式で選択することができる。
図13の中の(e)において示されるように、この認証プロトコルの次のステージでは、各認証サーバSは、上で論じたように、サーバ・ロジックにより実施されるスロットリング・メカニズムによって、ユーザ・アカウントがブロックされた(Uidについてb=1)かどうかを検査する。ユーザ・アカウントが任意の認証サーバ6においてブロックされる場合には、ログイン動作は失敗する。p個のサーバのうちのどれもがユーザ・アカウントをブロックしなかった場合、ログイン動作は進むことができる。この場合、ステップ(f)において示されるように、各認証サーバSは、そのそれぞれのキー共有tskを使用して、テスト値Ctestに応じて復号共有dを生成する。この簡単な例では、サーバは、そのキー共有tskを使用してCtestを単に復号し、ステップ(g)でアクセス制御サーバにUidについての結果として得られる復号共有dを送信する。ステップ(h)では、アクセス制御サーバは、テスト値が1に復号されるかどうか、すなわち次式が成り立つかどうかを、k個の復号共有d…dから決定することにより、入力パスワードがユーザ・パスワードに等しいかどうかを決定する。
TDec(Ctest,d…d)=1
ここで、TDecは、下でさらに論じられるような、閾値暗号化方式のための復号アルゴリズムである。等しい場合、アクセスは許可される。pwd’≠pwdである場合、復号結果は乱数となり、アクセスは拒否されることになる。
第2のパスワード認証プロトコルのより詳細な実施を、ここで、図14〜図16を参照して記載する。この例は、上の簡単な例を超える様々な実施を組み込み、スロットリングが、以前のユーザ・ログイン試行が成功であったかどうかを考慮に入れることを可能にする。次のプロトコルの理解を助けるために、最初に、閾値復号方式の簡潔な記載が与えられる。
閾値暗号化
閾値暗号化方式は、4つのアルゴリズム(EKGen、TEnc、PDec、TDec)からなる。キー生成アルゴリズムEKGenは、tが許容される悪意のあるサーバの最大値を表す入力(1λ,t,n)をとり、マスタ公開キーtpkおよびn個の部分的なキー(キー共有)対(tpk,tsk)、…、(tpk,tsk)を出力する。暗号化アルゴリズムTEncは、公開キーtpkおよびメッセージmを入力すると、暗号文Cを出力する。部分的な復号アルゴリズムPDecは、秘密キー共有tsk、公開キー共有tpk、および暗号文Cを入力すると、復号共有dを出力する。閾値復号アルゴリズムTDecは、C、tpkおよびk≧t+1個の復号共有d…dを入力すると、プレーンテキストmまたは⊥(エラー)を出力する。様々なそのような閾値暗号化方式が知られており、例示的な構造は、Y. Desmedt, Y. Frankel. “ThresholdCryptosystems”, Desmedt & Y. Frankel, CRYPTO 1989に記載されている。
上に記載された設定プロトコルの前に、アクセス制御サーバ2が、全てのn個の認証サーバ6についての閾値キーを作る。すなわち、アクセス制御サーバ2は、下のキーを作る。
(tpk,(tpk,tsk),…,(tpk,tsk))←EKGen(1λ,t,n)
秘密キー共有tskは、各サーバSに暗号化されて送信される。マスタ公開キーtpkおよび公開キー共有tpkは、システム中で公開されて知られている。加えて、各認証サーバ6は、下で論じられるように、スロットルされるアカウントについてのブロック解除テストで使用されることになる、メッセージ認証方式(MAC)のためのキーkも作る。
ユーザ・アカウントについての設定プロトコルは、図11を参照して記載されるとおりである。パスワード認証プロトコルでは、アクセス制御サーバ2が、p=t+1個の認証サーバ6と通信し、ここでtは、上の閾値暗号化方式によって規定されるとおりである。パスワード認証プロトコルは、図14〜図16の中で、その動作が図の左に示されるアクセス制御サーバ2と、その動作が右に示される各認証サーバ6との間の相互作用として示される。
図14中の(a)において、ユーザがアクセス制御サーバ2にUidおよび入力パスワードpwd’を送信すると、動作が開始される。Uidについてユーザ記録が存在する場合、アクセス制御サーバは、準同形暗号化アルゴリズムを使用して、入力パスワードから第2の暗号文CT2=Cpwd’を計算して処理を続ける。この例では、第2の暗号文Cpwd’は、入力パスワードの関数Fに準同形暗号化アルゴリズムを適用することにより生成され、ここでF(x)=1/xである。したがって、
pwd’=TEnctpk(1/pwd’)
である。このことによって、認証プロトコル中で、悪意のあるアクセス制御サーバが第1の暗号文Cpwdを再び第2の暗号文Cpwd’として単純に使用することはできないことが確実になる。次いで、演算
Figure 0006448668

を介してCpwd’とCpwdを組み合わせることによって、テスト値Ctestが生成され、ここでこの場合、
Figure 0006448668

は乗算を表す。
Figure 0006448668

上に説明したような暗号化アルゴリズムの準同形性に起因して、pwd’=pwdである場合、テスト値が再び1に復号される。次に、ステップ(c)では、テスト値CtestがユーザIDについて第2の暗号文Cpwd’ならびに第1の暗号文Cpwdを含むことを立証するために、アクセス制御サーバ2は、
Figure 0006448668

で示す暗号証明Πを生成する
(ここで、「NIZK」とは「ノンインタラクティブ・ゼロナレッジ(non-interactivezero-knowledge)」を意味し、「ゼロナレッジ」は、証明器が、立証されることが必要である以上のものは何も明らかにしないことを示し、「ノンインタラクティブ」は、証明の検証が、証明器と検証器との間の相互作用を必要としないことを意味する。証明を実施することが当業者にとって明らかであるので、そのような証明は、知られた方式および好適なプロトコルで実施することができる)。特に、証明Πは、テスト値Ctestが、Uidについての正しい第1の暗号文Cpwd、および、入力パスワードの関数Fから正しく計算される第2の暗号文Cpwd’を含むことの検証を可能にする。ステップ(d)において、次いでアクセス制御サーバは、ユーザIDおよび証明Πをk=t+1個の認証サーバ6にテスト値Ctestとともに送信する。
図15を参照して、各認証サーバSは、ステップ(e)で(Uid,Π,Ctest)を受け取り、次いでステップ(f)で、Uidについてのアカウントがブロックされないこと、すなわちb=0であることを検査する。ステップ(g)では、サーバSは、(Uid,Π,Ctest)が、サーバSに局所的に記憶された値(Uid,Cpwd)に関して正しいことを検査するために、証明Πを検認する。テスト・ステップ(f)または(g)のいずれかが失敗する場合、(下で論じられるブロック解除プロトコルの動作を条件として)ユーザ・ログインは失敗する。両方のテストが合格すると仮定すると、サーバSは、ステップ(h)に進み、テスト値のそれぞれの乱数指数r乗を含む、乱数化値C
Figure 0006448668

をランダムに選択されたrについて計算する。
各サーバは、次いでCを記憶し、ステップ(i)でハッシュ値hをアクセス制御サーバに送信することによりこの値に委ねる。ここで、h←H(C,Uid)であり、Hは、暗号化ハッシュ関数を表す。ステップ(j)で、アクセス制御サーバが全てのk=t+1個のハッシュ値を受け取ると、アクセス制御サーバは、それらを(h,h,…,ht+1)として、全てのサーバS〜Sに転送する。k個のサーバは、それらの乱数化値Cをステップ(k)でアクセス制御サーバに送信することにより、それらの乱数化値Cをここで明らかにする。ステップ(l)で、アクセス制御サーバが全てのk=t+1個の乱数化値Cを受け取ると、アクセス制御サーバはそれらを(C,C,…,Ct+1)として全てのサーバS〜Sに転送する。
図16を参照して、各認証サーバSは、ステップ(m)で、(C,C,…,Ct+1)を受け取り、ステップ(n)で、h=H(C,Uid)であるかどうか検査する。そうである場合、ステップ(o)で、サーバSは、演算
Figure 0006448668

(ここでは、乗算)を介して、k=t+1個の組の乱数化値Cを組み合わせて、乱数化暗号文Cを生成し、そのそれぞれのキー共有tskを使用して、乱数化暗号文Cから復号共有dを生成する。
Figure 0006448668

←PDectski(tpk,C
ステップ(p)では、サーバSは、(d,s)をアクセス制御サーバ2に送信し、ここで、メッセージ認証方式のため、そのキーkを使用し、s=MACki(Uid,C)である。アクセス制御サーバが、全てのk=t+1個のサーバの、復号共有およびMACs(d,s)を受け取ると、アクセス制御サーバは、閾値復号アルゴリズムTDecを使用して、復号共有から、乱数化暗号文Cが1に復号されるかどうか、したがってpwd’=pwdであるかどうかを決定する。これは、テスト値Ctest=1である場合に乱数化値C=1であり、それによって、準同形性に起因して、pwd’=pwdである場合、乱数化暗号文Cがテスト値と同じ値すなわち1に復号されるので、後続する。したがって、ステップ(q)では、アクセス制御サーバ2は、
Figure 0006448668

および
x←TDectpk(C,{di=1,…,t+1
を計算する。
x=1である場合、パスワードが一致してアクセスが許可される。その他の場合、ログインは失敗する。
上のプロセスの中で、アクセス制御サーバは、ある期間、全ての復号共有およびMAC値(d,s)を保持し、ログインが成功だったことの、認証サーバに対するその後の証明を可能にする。特に、上のプロトコル中のステップ(h)〜(p)は、認証サーバが、ユーザ・アカウントをブロックする前に、前回のログイン試行中の入力パスワードの正しさを検査することを可能にする。Uidについての後続のログインにおけるスロットリング・メカニズムに起因しアカウントをブロックする前に、認証サーバは、アクセス制御サーバと通信して、「ブロック解除プロトコル」を実施する。このブロック解除プロトコルを、ここで、図17を参照して記載する。
ブロック解除プロトコル
ブロック解除プロトコルの中で、アクセス制御サーバ2と認証サーバ6により実行される動作が、図17の左と右にそれぞれ示される。サーバSが、あまりに多いログイン試行に気づき、Uidについてのユーザ・アカウントをブロックしようとしている場合、サーバは、前回のログインが成功であった、すなわち乱数化暗号文Cが1に復号されたという証明を要求する、証明要求をアクセス制御サーバに送信する。図17のステップ(a)中でそのような要求を送信すると、最後のログインが成功だった場合、アクセス制御サーバは、値(Uid,C,s,{di=1,…,t+1)を取り出し、これらの値をステップ(b)で認証サーバに送信する。最後のログインが不成功だった場合、アクセス制御サーバは、代わりに値(Uid,fail)を送信する。ステップ(c)では、サーバSは、s=MACki(Uid,C)およびTDectpk(C,{di=1,…,t+1)=1であるかどうかを検証する。両方のテストが成功する場合にのみ、サーバは、Uidについてのアカウントを開いたままにする。こうしてアカウント・ブロック・ビットbは、ステップ(d)の中で適切に設定され、プロトコルが完了する。
上のシステムは、パスワード検査ならびにログイン頻度に基づくスロットリングを可能にすることが理解されよう。加えて、この実施形態のn個の認証サーバは、n個のキー共有tskをアップデートするための、共有更新プロトコルを実施するようにさらに適合される。これは、事前秘密共有技法を使用する、知られている方式で実施することができ、その例は、“Proactive Secret Sharing Or: How to Cope With Perpetual Leakage”、Herzberg et al,. CRYPTO 1995に記載される。そのような技法を使用して、認証サーバ6は、それらの秘密キー共有のための共有更新プロトコルを、周期的に、または敵対者が秘密キー共有を学習した可能性があるときはいつでも、あるいはその両方で走らせることになる。古い共有は、各更新後に削除される。これによって、事前セキュリティは、一方では、新しい秘密キー共有tskが依然としてメイン公開キーtpkと「適合性があり」、他方では、敵対者が獲得した可能性がある古い秘密共有と「適合性がない」ことを確実にする。
上の実施形態では、最大でt個のサーバ(およびDS)が破損されるだけであれば、それらのサーバを制御する敵対者は、例えばCpwdに対してオフライン攻撃を搭載することによって、パスワードを取り出すことができない。これは、敵対者が保持する閾値秘密キーの共有が最大でt個の場合にCpwdを復号できないことを保証する、閾値暗号化方式のセキュリティから得られる。DS内部者攻撃に対するセキュリティが実現される。というのは、ログイン・プロトコル期間に、サーバは、(値1の)パスワード指数を復号するだけであり、元のパスワードpwdまたはパスワード試行pwd’を復号しないからである。したがって、悪意のあるDSは、暗号化したパスワードの復号を単純にトリガできず、各パスワード推測のために完全なログイン・プロトコルを走らせなければならなくなる。正当なサーバ中のスロットリング・メカニズムに起因して、そのような攻撃は、数回の試行後に認識され、ブロックされる。この閾値ベースの方式は、最大t個のサーバの長期の破損を許容さえし、これによってサーバは、異なる信頼するドメインに外部委託することができる。n個の認証サーバのうちの単にt+1個がパスワード認証のために必要であるので、ログインは特に効率的である。以前のように、システムの動作は、ユーザに対して完全に透過的であり、ユーザは、全てのプロトコルでアクセス制御サーバ2と通信するのみでよい。
例示的な実施形態を記載してきたが、多くの変更形態および修正形態を想定することができる。例えば、上の第1の実施形態の他の実装形態では、t2についての上の式中のキーk1は、PRF(k1, Uid)で置き換えることができる。また、システム・セキュリティは、この特定の値に依存しないので、キーk1は、任意の固有のサーバIDで置き換えることができ、暗号学的に強い秘密である必要はない。また、第2の実施形態中の閾値暗号化方式は、所望の場合、復号のためにt+1=n個の共有を必要とすることができ、このことにより、パスワード認証のためにn個の認証サーバ6を全て使用することになる。
アクセス制御サーバ2により保護されるリソースは、一般的に、例えばアプリケーション、サービス、データ、デバイス、ネットワークまたは任意の他の設備もしくは設備の組合せといった、ユーザ・アクセスが制限される任意のリソースを含むことができることが理解されよう。また、上の実施形態の中のサーバの機能性は、一般的に、単一の機械で、または複数の機械にわたって分散して実施することができる。上の設定プロトコルにより生成されるユーザ・アカウント・データが様々なサーバの中に事前にロードされる実施形態も、想定することができる。
本発明の範囲から逸脱することなく、記載した例示的な実施形態に、多くの他の変更および修正を行うことができる。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはそれらの組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるため、コンピュータ可読プログラム命令を有する、1つまたは複数のコンピュータ可読記憶媒体を含むことができる。
コンピュータ可読記憶媒体は、命令実行デバイスにより使用するための命令を保持および記憶できる有形のデバイスであってよい。コンピュータ可読記憶媒体は、例えば、限定するものではないが、電子的記憶デバイス、磁気的記憶デバイス、光学的記憶デバイス、電磁的記憶デバイス、半導体記憶デバイス、または上記の任意の好適な組合せであってよい。コンピュータ可読記憶媒体のより具体的な例の、網羅的でないリストは以下、すなわち、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラム可能読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、携帯型コンパクト・ディスク読取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令を記録させたパンチカードまたは溝の中の隆起構造などの機械的に符号化されたデバイス、および上記の任意の好適な組合せを含む。本明細書で使用するコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を通って伝播する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通って伝送される電気信号など、一時的な信号自体であると解釈されるべきでない。
本明細書で記載されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワーク、あるいはそれらの組合せといったネットワークを介して、外部コンピュータまたは外部記憶デバイスにダウンロードすることができる。ネットワークは、銅製伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはそれらの組合せを含むことができる。各コンピューティング/処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、ネットワークから、コンピュータ可読プログラム命令を受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体中で記憶するために、コンピュータ可読プログラム命令を転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手順型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれる、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはソース・コードもしくはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で、部分的にはユーザのコンピュータ上および部分的にはリモート・コンピュータ上で、または完全にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む、任意のタイプのネットワークを通してユーザのコンピュータに接続することができ、または、外部コンピュータに(例えば、インターネット・サービス・プロバイダを使用してインターネットを通して)接続をすることができる。いくつかの実施形態では、本発明の態様を実施するために、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、電子回路を個別化するために、コンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本発明の実施形態に従う、方法、装置(システム)およびコンピュータ・プログラム製品の、フローチャート図またはブロック図あるいはその両方を参照して本明細書で記載される。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方中のブロックの組合せは、コンピュータ可読プログラム命令により実施することが可能であることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実施するための手段を生み出すように、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令を記憶させたコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体中に記憶され、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはそれらの組合せに特定のやり方で機能するように指示するものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実施するように、コンピュータ実施されるプロセスを作り出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイス上にロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実施させるものであってもよい。
図中のフローチャートおよびブロック図は、本発明の様々な実施形態に従うシステム、方法、およびコンピュータ・プログラム製品の可能な実施の、アーキテクチャ、機能性、および動作を図示する。この点に関連し、フローチャートまたはブロック図中の各ブロックは、指定された論理的機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の部分を表すことができる。いくつかの代替実装形態において、ブロック内に言及される機能は、図中で言及される順序から外れて生じる場合がある。例えば、含まれる機能性に依存して、連続して示される2つのブロックを、実際には、実質的に同時に実行することができ、またはブロックを、場合によって逆の順序で実行することができる。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムにより実施でき、または専用ハードウェアとコンピュータ命令の組合せにより実行できることも留意されよう。

Claims (30)

  1. システムであって、
    ネットワークを介してユーザ・コンピュータと通信し、それぞれのユーザIDに関連するユーザ・パスワードの認証に応じて、前記ユーザ・コンピュータによるリソースへのアクセスを制御するためのアクセス制御サーバと、
    前記ネットワークを介して前記アクセス制御サーバと通信するために、それぞれの秘密値を記憶する、複数n個の認証サーバと、
    を備え、
    前記アクセス制御サーバが、各前記ユーザIDについて、前記秘密値に応じた所定のアルゴリズムを使用して、そのIDに関連する前記ユーザ・パスワードを暗号化することにより生成される第1の暗号文を記憶し、
    ユーザ・コンピュータから前記ユーザIDおよび入力パスワードを受け取ることに応答して、前記アクセス制御サーバが、複数k≦n個の前記認証サーバと通信して、パスワード認証プロトコルを実施し、
    記k個の認証サーバが、それらそれぞれの秘密値を使用することを必要とし、そこで、第2の暗号文が、前記所定のアルゴリズムを使用して前記入力パスワードを暗号化することにより生成され、
    記アクセス制御サーバが前記第1および第2の暗号文を使用して、前記受け取ったユーザIDについて前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定し、等しい場合、前記ユーザ・コンピュータによる前記リソースへのアクセスを許可するシステム。
  2. 設定動作における前記ユーザ・パスワードおよび関連するユーザIDの最初の入力に応答して、前記アクセス制御サーバが前記n個の認証サーバと通信し、前記アクセス制御サーバにおけるそのユーザIDについての前記第1の暗号文の生成および前記第1の暗号文の記憶を含むパスワード設定プロトコルを実施して、そのユーザIDについての前記パスワード認証プロトコルの実施を可能にするようにする、請求項1に記載のシステム。
  3. 前記第1の暗号文がn個の第1の疑似乱数値を含み、その各々が、疑似乱数関数を介して、それぞれの認証サーバにおいて前記秘密値および最初の疑似乱数値から暗号化されたものであり
    前記最初の疑似乱数値が、前記疑似乱数関数を介して、ユーザIDについての前記ユーザ・パスワードから暗号化されたものであり
    前記アクセス制御サーバがk=n個の認証サーバと通信して、前記パスワード認証プロトコルを実施する、請求項1に記載のシステム。
  4. 前記アクセス制御サーバがさらなる秘密値を記憶し、前記最初の疑似乱数値が、前記疑似乱数関数を介して、前記さらなる秘密値も暗号化されたものである、請求項3に記載のシステム。
  5. 前記最初の疑似乱数値が、前記疑似乱数関数を介して、記ユーザ・パスワードに関連する前記ユーザIDも暗号化されたものである、請求項3に記載のシステム。
  6. 前記パスワード認証プロトコルを実施するために、
    前記アクセス制御サーバが、前記入力パスワードを使用して、前記最初の疑似乱数値に対応するテスト疑似乱数値を生成し、前記テスト疑似乱数値を各認証サーバに送信し、
    各認証サーバが、前記テスト疑似乱数値を使用して、前記第1の疑似乱数値に対応するそれぞれのサーバ疑似乱数値を生成し、前記サーバ疑似乱数値を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記n個のサーバ疑似乱数値から前記第2の暗号文を生成し、前記第1の暗号文と前記第2の暗号文を比較して、前記入力パスワードが、最初に入力された前記ユーザ・パスワードに等しいかどうかを決定する、請求項3に記載のシステム。
  7. 前記パスワード認証プロトコルの中で、
    前記アクセス制御サーバが、各認証サーバに前記受け取ったユーザIDを送信し、
    各認証サーバが、各ユーザIDについてスロットリング・メカニズムを実施する、請求項3に記載のシステム。
  8. 前記最初の入力に応答して前記パスワード設定プロトコルを実施するために、
    前記アクセス制御サーバが、擬似乱数関数を介して前記ユーザ・パスワードから前記最初の疑似乱数値を生成して、前記最初の疑似乱数値をn個の各認証サーバに送信し、
    前記n個の各認証サーバが、前記最初の疑似乱数値を使用して、それぞれの第1の疑似乱数値を生成し、前記第1の疑似乱数値を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記n個の第1の疑似乱数値から前記第1の暗号文を生成する、請求項2に記載のシステム。
  9. 前記第1の暗号文が、前記n個の第1の疑似乱数値のモジュロ2総和を含む、請求項3に記載のシステム。
  10. 各第1の疑似乱数値が、第2の疑似乱数値と第3の疑似乱数値のモジュロ2総和を含み、
    前記第2の疑似乱数値、前記最初の疑似乱数値を前記疑似乱数関数を介して暗号化したものであり
    前記第3の疑似乱数値、前記疑似乱数関数を介して、前記認証サーバの前記秘密値、および前記ユーザIDを暗号化したものである、請求項9に記載のシステム。
  11. 前記第2の疑似乱数値が、前記疑似乱数関数を介して、前記それぞれの認証サーバについてのサーバIDも暗号化する、請求項10に記載のシステム。
  12. 前記認証サーバが、それぞれの秘密値を新しい秘密値にアップデートし、前記新しい秘密値を使用して、前記第3の疑似乱数値に対応するアップデートした疑似乱数値を生成し、
    前記認証サーバが、前記アップデートした疑似乱数値と前記第3の疑似乱数値のモジュロ2総和を含む、アップデート値を生成して、前記アップデート値を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記第1の暗号文と前記アップデート値のモジュロ2総和を生成することにより、前記第1の暗号文をアップデートする、
    アップデート・プロトコルを実施する、請求項10に記載のシステム。
  13. 前記第1の暗号文が、暗号キー対の公開キーの下で前記ユーザ・パスワードを暗号化するための所定の準同形暗号化アルゴリズムを使用して生成され、
    前記認証サーバの前記秘密値が、前記キー対の秘密キーのそれぞれのキー共有を含む、請求項1に記載のシステム。
  14. 前記ユーザIDおよび入力パスワードの受け取りに応答して前記パスワード認証プロトコルを実施するために、
    前記アクセス制御サーバが、前記準同形暗号化アルゴリズムを使用して前記入力パスワードから前記第2の暗号文を生成し、
    前記アクセス制御サーバが、前記受け取ったユーザIDについて、演算
    Figure 0006448668
    を介して、前記第2の暗号文と前記第1の暗号文を組み合わせることによりテスト値を生成し、前記演算
    Figure 0006448668
    が、前記準同形暗号化アルゴリズムの準同形性に起因して、前記入力パスワードがそのユーザIDに関連する前記ユーザ・パスワードに等しい場合、前記テスト値が所定の値に復号されるようなものであり、
    前記アクセス制御サーバが、前記テスト値を前記k個の認証サーバに送信し、
    前記k個の認証サーバの各々が、そのそれぞれのキー共有を使用して、前記テスト値に応じて復号共有を生成し、前記復号共有を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記テスト値が前記所定の値に復号されるかどうかを、前記k個の復号共有から決定することにより、前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定する、請求項13に記載のシステム。
  15. 前記準同形暗号化アルゴリズムが、復号のため、p<n個の復号共有を必要とする、閾値暗号化アルゴリズムを含み、
    前記パスワード認証プロトコルにおいて、前記アクセス制御サーバが前記テスト値をk=p個の認証サーバに送信する、請求項14に記載のシステム。
  16. 各認証サーバが、各前記ユーザIDについての前記第1の暗号文を記憶し、前記パスワード認証プロトコルにおいて、
    前記アクセス制御サーバが、前記認証サーバに前記受け取ったユーザIDを前記テスト値とともに送信し、
    各認証サーバが、各ユーザIDについてスロットリング・メカニズムを実施する、請求項14に記載のシステム。
  17. 前記アクセス制御サーバが、前記入力パスワードの関数Fに前記準同形暗号化アルゴリズムを適用することにより前記第2の暗号文を生成する、請求項14に記載のシステム。
  18. 各認証サーバが、各前記ユーザIDについての前記第1の暗号文を記憶し、前記パスワード認証プロトコルにおいて、
    前記テスト値が前記受け取ったユーザIDについて前記第2の暗号文および前記第1の暗号文を含むことを立証するために、前記アクセス制御サーバが暗号証明を生成し、
    前記アクセス制御サーバが、前記k個の認証サーバに前記受け取ったユーザIDおよび前記証明を前記テスト値とともに送信し、
    前記復号共有を生成する前に、前記k個の認証サーバの各々が前記証明を検認する、請求項17に記載のシステム。
  19. 前記入力パスワードが前記ユーザIDに関連する前記ユーザ・パスワードに等しい場合、前記テスト値が1に復号され、前記パスワード認証プロトコルの中で、
    前記k個の認証サーバの各々が、前記テスト値のそれぞれの乱数指数r乗を含む、乱数化値Cを生成して、前記乱数化値Cを前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、各認証サーバから受け取った前記乱数化値Cを、(k−1)個の他の認証サーバの各々に転送し、
    各認証サーバが、前記演算
    Figure 0006448668
    を介して、前記k個の組の乱数化値Cを組み合わせて、乱数化暗号文Cを生成し、そのそれぞれのキー共有を使用して、前記乱数化暗号文Cから前記復号共有を生成し、
    前記アクセス制御サーバが、前記乱数化暗号文Cが1に復号されるかどうかを、前記k個の復号共有から決定することにより、前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定する、請求項14に記載のシステム。
  20. 前記アクセス制御サーバが、前記ユーザIDについて、前記パスワード認証プロトコルの中でそれぞれの認証サーバによって前記乱数化暗号文Cから生成される前記k個の復号共有を記憶し、
    そのユーザIDについての前記パスワード認証プロトコルにおけるスロットリング・メカニズムに起因して前記ユーザIDをブロックする前に、前記認証サーバが前記アクセス制御サーバと通信して、ブロック解除プロトコルを実施し、そこでは、前記アクセス制御サーバが、前記k個の復号共有をその認証サーバに送信し、前記認証サーバが、前記k個の復号共有から前記乱数化暗号文Cが1に復号されるかどうかを決定する、請求項19に記載のシステム。
  21. 前記最初の入力に応答してパスワード設定プロトコルを実施するために、前記アクセス制御サーバが、前記準同形暗号化アルゴリズムを使用して、前記ユーザ・パスワードから前記第1の暗号文を生成する、請求項13に記載のシステム。
  22. 前記パスワード設定プロトコルの中で、前記アクセス制御サーバが、前記第1の暗号文を前記n個の認証サーバに、前記ユーザ・パスワードに関連する前記ユーザIDとともに送信する、請求項21に記載のシステム。
  23. 前記n個の認証サーバが、前記秘密キーの前記n個のキー共有をアップデートするための共有更新プロトコルを実施する、請求項13に記載のシステム。
  24. サーバであって、メモリと、通信インターフェイスと、請求項1ないし23のいずれか一項に記載のシステムのアクセス制御サーバが実施する制御ロジックとを備え、前記メモリが、使用される各ユーザIDについての前記第1の暗号文を記憶する、サーバ。
  25. サーバであって、メモリと、通信インターフェイスと、請求項1ないし23のいずれか一項に記載のシステムの認証サーバが実施する制御ロジックとを備え、前記メモリが、使用される前記認証サーバの前記秘密値を記憶する、サーバ。
  26. コンピュータ・プログラムであって、コンピュータに、請求項24または請求項25に記載のサーバの前記制御ロジックを実施させるためのプログラム・コードを含む、コンピュータ・プログラム。
  27. ユーザ・コンピュータとネットワークを介して通信するために配置されるアクセス制御サーバおよび複数n個の認証サーバにおいて、それぞれのユーザIDに関連するユーザ・パスワードの認証に依存して、前記ユーザ・コンピュータによるリソースへのアクセスを制御するための方法であって、
    前記n個の認証サーバにおいてそれぞれの秘密値を記憶するステップと、
    各前記ユーザIDについて、前記アクセス制御サーバにおいて、前記秘密値に応じて所定のアルゴリズムを使用し、そのIDに関連する前記ユーザ・パスワードを暗号化することにより生成される第1の暗号文を記憶するステップと、
    前記アクセス制御サーバにおいて、ユーザ・コンピュータから前記ユーザIDおよび入力パスワードを受け取ることに応答して、複数k≦n個の前記認証サーバと通信して、パスワード認証プロトコルを実施するステップであって、(i)前記k個の認証サーバがそれらそれぞれの秘密値を使用することを必要し、第2の暗号文が、前記所定のアルゴリズムを使用して前記入力パスワードを暗号化することにより生成され、(ii)前記アクセス制御サーバが前記第1および第2の暗号文を使用して、前記受け取ったユーザIDについて前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定する、前記ステップと、
    前記アクセス制御サーバにおいて、前記入力パスワードが前記ユーザ・パスワードに等しい場合、前記ユーザ・コンピュータによる前記リソースへのアクセスを許可するステップと
    を含む、方法。
  28. 前記第1の暗号文がn個の第1の疑似乱数値を含み、その各々が、疑似乱数関数を介して、それぞれの認証サーバの前記秘密値および最初の疑似乱数値から暗号化されたものであり
    前記最初の疑似乱数値が、前記疑似乱数関数を介して、ユーザIDについての前記ユーザ・パスワードから暗号化されたものであり
    前記パスワード認証プロトコルを実施するために、
    前記アクセス制御サーバが、前記入力パスワードを使用して、前記最初の疑似乱数値に対応するテスト疑似乱数値を生成し、前記テスト疑似乱数値をk=n個の認証サーバに送信し、
    各認証サーバが、前記テスト疑似乱数値を使用して、前記第1の疑似乱数値に対応するそれぞれのサーバ疑似乱数値を生成し、前記サーバ疑似乱数値を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記n個のサーバ疑似乱数値から前記第2の暗号文を生成し、前記第1の暗号文と第2の暗号文を比較して、前記入力パスワードが、前記受け取ったユーザIDについての前記ユーザ・パスワードに等しいかどうかを決定する、請求項27に記載の方法。
  29. 前記第1の暗号文が、暗号キー対の公開キーの下で前記ユーザ・パスワードを暗号化するための所定の準同形暗号化アルゴリズムを使用して生成され、前記認証サーバの前記秘密値が、前記キー対の秘密キーのそれぞれのキー共有を含み、前記ユーザIDおよび入力パスワードの受け取りに応答して前記パスワード認証プロトコルを実施するために、
    前記アクセス制御サーバが、前記準同形暗号化アルゴリズムを使用して前記入力パスワードから前記第2の暗号文を生成し、
    前記アクセス制御サーバが、前記受け取ったユーザIDについて、演算
    Figure 0006448668
    を介して、前記第2の暗号文と前記第1の暗号文を組み合わせることによりテスト値を生成し、前記演算
    Figure 0006448668
    が、前記準同形暗号化アルゴリズムの準同形性に起因して、前記入力パスワードがそのユーザIDに関連する前記ユーザ・パスワードに等しい場合、前記テスト値が所定の値に復号されるようなものであり、
    前記アクセス制御サーバが、前記テスト値を前記k個の認証サーバに送信し、
    前記k個の認証サーバの各々が、そのそれぞれのキー共有を使用して、前記テスト値に応じて復号共有を生成し、前記復号共有を前記アクセス制御サーバに送信し、
    前記アクセス制御サーバが、前記テスト値が前記所定の値に復号されるかどうかを、前記k個の復号共有から決定することにより、前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定する、請求項27に記載の方法。
  30. ユーザ・コンピュータとネットワークを介して通信するために配置されるアクセス制御サーバおよび複数n個の認証サーバにおいて、それぞれのユーザIDに関連するユーザ・パスワードの認証に依存して、前記ユーザ・コンピュータによるリソースへのアクセスを制御するための前記コンピュータ・プログラムであって、前記アクセス制御サーバに、
    各前記ユーザIDについて、秘密値に応じて所定のアルゴリズムを使用し、そのIDに関連する前記ユーザ・パスワードを暗号化することにより生成される第1の暗号文を記憶することと、
    ユーザ・コンピュータから前記ユーザIDおよび入力パスワードを受け取ることに応答して、複数k≦n個の前記認証サーバと通信して、パスワード認証プロトコルを実施することであって、(i)前記k個の認証サーバがそれらそれぞれの秘密値を使用することを必要とし、第2の暗号文が、前記所定のアルゴリズムを使用して前記入力パスワードを暗号化することにより生成され、(ii)前記アクセス制御サーバが前記第1および第2の暗号文を使用して、前記受け取ったユーザIDについて前記入力パスワードが前記ユーザ・パスワードに等しいかどうかを決定する、前記実施することと、
    前記入力パスワードが前記ユーザ・パスワードに等しい場合、前記ユーザ・コンピュータによる前記リソースへのアクセスを許可することと
    を行わせる、コンピュータ・プログラム。
JP2016567581A 2014-05-23 2015-05-19 パスワードベース認証 Active JP6448668B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1409227.4A GB2526367A (en) 2014-05-23 2014-05-23 Password-based authentication
GB1409227.4 2014-05-23
PCT/IB2015/053688 WO2015177728A1 (en) 2014-05-23 2015-05-19 Password-based authentication

Publications (2)

Publication Number Publication Date
JP2017517200A JP2017517200A (ja) 2017-06-22
JP6448668B2 true JP6448668B2 (ja) 2019-01-09

Family

ID=51177372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016567581A Active JP6448668B2 (ja) 2014-05-23 2015-05-19 パスワードベース認証

Country Status (6)

Country Link
US (2) US9537658B2 (ja)
JP (1) JP6448668B2 (ja)
CN (1) CN106416123B (ja)
DE (1) DE112015000213B4 (ja)
GB (2) GB2526367A (ja)
WO (1) WO2015177728A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350545B1 (en) * 2014-06-30 2016-05-24 Emc Corporation Recovery mechanism for fault-tolerant split-server passcode verification of one-time authentication tokens
JP6394175B2 (ja) * 2014-08-19 2018-09-26 富士ゼロックス株式会社 サーバ装置、情報処理システムおよびプログラム
US10250591B2 (en) 2016-02-12 2019-04-02 International Business Machines Corporation Password-based authentication
JP6638808B2 (ja) 2016-03-29 2020-01-29 株式会社リコー サービス提供システム、サービス授受システム、サービス提供方法、及びプログラム
EP3438838A4 (en) * 2016-03-29 2019-03-13 Ricoh Company, Ltd. SERVICE DELIVERY SYSTEM, SERVICE PACKING SYSTEM, SERVICE PROCESSING AND PROGRAM
JP6620883B2 (ja) 2016-03-29 2019-12-18 株式会社リコー サービス提供システム、サービス授受システム、サービス提供方法、及びプログラム
US10250576B2 (en) * 2017-02-08 2019-04-02 International Business Machines Corporation Communication of messages over networks
US10397002B2 (en) * 2017-02-10 2019-08-27 International Business Machines Corporation Signature scheme for homomorphic message encoding functions
US10523648B2 (en) 2017-04-03 2019-12-31 Microsoft Technology Licensing, Llc Password state machine for accessing protected resources
US10356120B1 (en) * 2017-04-28 2019-07-16 EMC IP Holding Company LLC Method, apparatus and computer program product for assessing the risk of electronic communications using logon types
CN107294978B (zh) * 2017-06-27 2019-11-12 北京知道创宇信息技术股份有限公司 对用户的账户进行认证的系统、设备、方法及输入设备
US11425109B2 (en) 2017-09-12 2022-08-23 Visa International Service Association Secure and accurate provisioning system and method
EP3503456A1 (en) * 2017-12-19 2019-06-26 Koninklijke Philips N.V. Homomorphic encryption for password authentication
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
US10904003B2 (en) * 2018-04-21 2021-01-26 Microsoft Technology Licensing, Llc Validation of short authentication data with a zero knowledge proof
US10640273B2 (en) * 2018-05-29 2020-05-05 International Business Machines Corporation Authentication of packaged products
CN108809997A (zh) * 2018-06-19 2018-11-13 北京多采多宜网络科技有限公司 一种登录认证方法
CN111859406B (zh) * 2019-04-30 2024-03-15 上海诺基亚贝尔股份有限公司 用于进行远程认证的方法、装置和系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
CN113949584B (zh) * 2021-11-04 2023-03-07 电子科技大学 抗口令凭证泄露的口令认证方法
US20230179406A1 (en) * 2021-12-06 2023-06-08 Vmware, Inc. Distributed Registration and Authentication via Threshold Secret Sharing

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228417B2 (en) * 2002-02-26 2007-06-05 America Online, Inc. Simple secure login with multiple-authentication providers
US20030221102A1 (en) * 2002-05-24 2003-11-27 Jakobsson Bjorn Markus Method and apparatus for performing multi-server threshold password-authenticated key exchange
US7725730B2 (en) * 2002-08-09 2010-05-25 Emc Corporation Cryptographic methods and apparatus for secure authentication
CN101375284B (zh) * 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
JP2007060581A (ja) * 2005-08-26 2007-03-08 Nomura Research Institute Ltd 情報管理システム及び方法
CN101127600B (zh) * 2006-08-14 2011-12-07 华为技术有限公司 一种用户接入认证的方法
CN101222325B (zh) * 2008-01-23 2010-05-12 西安西电捷通无线网络通信有限公司 一种基于id的无线多跳网络密钥管理方法
US8117648B2 (en) * 2008-02-08 2012-02-14 Intersections, Inc. Secure information storage and delivery system and method
JP5350481B2 (ja) * 2008-10-23 2013-11-27 テレフオンアクチーボラゲット エル エム エリクソン(パブル) マルチキャストサービス用のモビリティ処理
SG178015A1 (en) * 2009-06-23 2012-03-29 Panasonic Corp Encryption key distribution system
US8584221B2 (en) * 2009-10-23 2013-11-12 Microsoft Corporation Authenticating using cloud authentication
TWI443517B (zh) * 2011-09-26 2014-07-01 Phison Electronics Corp 記憶體儲存裝置及其記憶體控制器與密碼驗證方法
CN102333308A (zh) * 2011-09-28 2012-01-25 辽宁国兴科技有限公司 一种基于位置信息的加密认证方法
US9118661B1 (en) * 2012-02-24 2015-08-25 Emc Corporation Methods and apparatus for authenticating a user using multi-server one-time passcode verification
CN102710419B (zh) * 2011-12-21 2015-02-18 大唐软件技术股份有限公司 一种用户认证的方法及装置
US9294281B2 (en) * 2012-02-10 2016-03-22 Microsoft Technology Licensing, Llc Utilization of a protected module to prevent offline dictionary attacks
US9374369B2 (en) * 2012-12-28 2016-06-21 Lookout, Inc. Multi-factor authentication and comprehensive login system for client-server networks
CN103152326A (zh) * 2013-02-01 2013-06-12 深圳市巨雷科技有限公司 一种分布式认证方法及认证系统

Also Published As

Publication number Publication date
CN106416123A (zh) 2017-02-15
CN106416123B (zh) 2019-10-18
JP2017517200A (ja) 2017-06-22
GB2526367A (en) 2015-11-25
GB201619635D0 (en) 2017-01-04
GB2541586B (en) 2017-04-05
US20150341335A1 (en) 2015-11-26
DE112015000213B4 (de) 2022-03-17
GB2541586A (en) 2017-02-22
DE112015000213T5 (de) 2016-08-18
US9537658B2 (en) 2017-01-03
GB201409227D0 (en) 2014-07-09
WO2015177728A1 (en) 2015-11-26
US20150341173A1 (en) 2015-11-26
US9596086B2 (en) 2017-03-14

Similar Documents

Publication Publication Date Title
JP6448668B2 (ja) パスワードベース認証
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
US9674158B2 (en) User authentication over networks
US10057060B2 (en) Password-based generation and management of secret cryptographic keys
JP6956878B1 (ja) コンテンツ配信の認証された制御のためのシステムおよび方法
WO2018025991A1 (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
JP2022501971A (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
Szalachowski Password-authenticated decentralized identities
Lee et al. Two factor authentication for cloud computing
Shirvanian et al. Building and studying a password store that perfectly hides passwords from itself
Narendrakumar et al. Token security for internet of things
Tahir et al. A scheme for the generation of strong icmetrics based session key pairs for secure embedded system applications
Das et al. A decentralized open web cryptographic standard
Prabakaran et al. Secure channel for financial transactions in cloud environment using blockchain technology
Gupta et al. Implementing high grade security in cloud application using multifactor authentication and cryptography
Checkoway et al. Where did i leave my keys? Lessons from the juniper dual ec incident
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
WO2021194464A1 (en) Management system and method for user authentication on password based systems
Jain Enhancing security in Tokenization using NGE for storage as a service
Gagged et al. Improved secure dynamic bit standard technique for a private cloud platform to address security challenges
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
Kaur et al. Enhancement in homomorphic encryption scheme for cloud data security
Costa 2FA2P2: A Two Factor Authentication Scheme
Divya et al. Security in data forwarding through elliptic curve cryptography in cloud
Pujol et al. A Secure and User Friendly Multi-Purpose Asymmetric Key Derivation System (MPKDS)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181204

R150 Certificate of patent or registration of utility model

Ref document number: 6448668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150