JPWO2015025916A1 - マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム - Google Patents

マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム Download PDF

Info

Publication number
JPWO2015025916A1
JPWO2015025916A1 JP2015532894A JP2015532894A JPWO2015025916A1 JP WO2015025916 A1 JPWO2015025916 A1 JP WO2015025916A1 JP 2015532894 A JP2015532894 A JP 2015532894A JP 2015532894 A JP2015532894 A JP 2015532894A JP WO2015025916 A1 JPWO2015025916 A1 JP WO2015025916A1
Authority
JP
Japan
Prior art keywords
authentication server
value
server
verification
authentication
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
JP2015532894A
Other languages
English (en)
Other versions
JP6040313B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP6040313B2 publication Critical patent/JP6040313B2/ja
Publication of JPWO2015025916A1 publication Critical patent/JPWO2015025916A1/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
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

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

Abstract

中間サーバが存在する場合であっても複数のサーバが同時にユーザを安全に認証する。利用者装置1がパスワードw'を分散する。利用者装置1が分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得る。中間サーバ2が暗号文EncUS_i([w']i)を認証サーバ3へ送信する。認証サーバ3が暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。認証サーバ3が検証値qa_i(W)を求める。認証サーバ3が、暗号文EncWS_a_i(qa_i(W))を得る。中間サーバ2が暗号文EncWS_a_i(qa_i(W))を復号して検証値qa_i(W)を得る。中間サーバ2が検証値の総和が0と等しいか否かを検証する。認証サーバ3が検証値qa_i(a_j)を求める。認証サーバ3が暗号文EncS_a_iS_a_j(qa_i(a_j))を得る。認証サーバ3が暗号文EncS_a_iS_a_j(qa_j(a_i))を復号して検証値qa_j(a_i)を得る。認証サーバ3が検証値の総和が0と等しいか否かを検証する。

Description

この発明は、ネットワーク上の認証において、複数のサーバが同時にユーザを安全に認証する技術に関する。
ユーザが複数のサーバにまたがるサービスを受ける際に、各サーバに同時に安全に認証を受ける技術として、非特許文献1〜3に記載された技術が知られている(例えば、非特許文献1〜3参照。)。非特許文献1〜3に記載された技術は、安全なストレージサービスにおける認証技術であり、ユーザがパスワードを設定し、データを秘密分散と呼ばれる安全な方法で複数のサーバに分散して保管する。認証時に入力されたパスワードが正しければユーザは正しいデータを復元でき、パスワードが誤りであれば復元に失敗する。
Ali Bagherzandi, Stanislaw Jarecki, Nitesh Saxena, and Yanbin Lu, "Password-protected secret sharing", ACM Conference on Computer and Communications Security, pp. 433-444, 2011. Jan Camenisch, Anna Lysyanskaya, and Gregory Neven, "Practical yet universally composable two-server password-authenticated secret sharing", ACM Conference on Computer and Communications Security, pp. 525-536, 2012. 尾形わかは、「情報理論的に安全なパスワード付秘密分散法の安全性と効率化」、SCIS 2013
しかしながら、従来技術では、ユーザとストレージサーバが直結しているということを前提としており、Webサービス等におけるWebサーバのようにゲートウェイとしての中間サーバが存在する場合の安全性は保証できない。また、ストレージサービス以外に応用できないという課題もある。
この発明の目的は、中間サーバが存在する場合であっても安全性を保証することができるマルチパーティセキュア認証技術を提供することである。
上記の課題を解決するために、この発明の第一の態様のマルチパーティセキュア認証方法は、パスワード分散ステップ、パスワード分散値暗号化ステップ、パスワード分散値転送ステップ、パスワード分散値復号ステップ、中間サーバ検証値生成ステップ、中間サーバ検証値暗号化ステップ、中間サーバ検証値復号ステップ、中間サーバ検証ステップ、認証サーバ検証値生成ステップ、認証サーバ検証値暗号化ステップ、認証サーバ検証値復号ステップ及び認証サーバ検証ステップを含む。
以下では、n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であるとする。
パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,nについて、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得る。パスワード分散値転送ステップにおいて、中間サーバが、i=1,…,nについて、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。パスワード分散値復号ステップにおいて、認証サーバが、利用者端末と当該認証サーバとの共通鍵を用いて、中間サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。中間サーバ検証値生成ステップにおいて、λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
Figure 2015025916
a_i (W)(i∈1,…,m)は次式を満たす定数であり、
Figure 2015025916
λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
Figure 2015025916
a_i (j)(i∈1,…,m)は次式を満たす定数であるとして、
Figure 2015025916
認証サーバが、次式により検証値qa_i (W)を求める。
Figure 2015025916
中間サーバ検証値暗号化ステップにおいて、認証サーバが、中間サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る。中間サーバ検証値復号ステップにおいて、中間サーバが、i=1,…,mについて、中間サーバとai番目の認証サーバとの共通鍵を用いて、ai番目の認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る。中間サーバ検証ステップにおいて、中間サーバが、検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する。認証サーバ検証値生成ステップにおいて、認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める。
Figure 2015025916
認証サーバ検証値暗号化ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。認証サーバ検証値復号ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して検証値qa_j (a_i)を得る。認証サーバ検証ステップにおいて、認証サーバが、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。
この発明の第二の態様のマルチパーティセキュア認証方法は、パスワード分散ステップ、パスワード分散値暗号化ステップ、パスワード分散値転送ステップ、第一パスワード分散値復号ステップ、第二パスワード分散値復号ステップ、第一認証サーバ検証値生成ステップ、第二認証サーバ検証値生成ステップ、第一認証サーバ検証値暗号化ステップ、第二認証サーバ検証値暗号化ステップ、第一認証サーバ検証値復号ステップ、第二認証サーバ検証値復号ステップ、第一認証サーバ検証ステップ及び第二認証サーバ検証ステップを含む。
以下では、n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
Figure 2015025916
a_i (j)(i∈1,…,m)は次式を満たす定数であるとする。
Figure 2015025916
パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,n-1について、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、利用者装置と中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得る。パスワード分散値転送ステップにおいて、中間認証サーバが、i=1,…,n-1について、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。第一パスワード分散値復号ステップにおいて、認証サーバが、利用者端末と当該認証サーバとの共通鍵を用いて、中間認証サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。第二パスワード分散値復号ステップにおいて、中間認証サーバが、利用者端末と当該中間認証サーバとの共通鍵を用いて、暗号文EncUS_n([w']n)を復号して分散値[w']nを得る。第一認証サーバ検証値生成ステップにおいて、認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める。
Figure 2015025916
第二認証サーバ検証値生成ステップにおいて、中間認証サーバが、j=1,…,mについて、次式により検証値qa_m (a_j)を求める。
Figure 2015025916
第一認証サーバ検証値暗号化ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。第二認証サーバ検証値暗号化ステップにおいて、中間認証サーバが、j=1,…,m-1について、aj番目の認証サーバと当該中間認証サーバとの共通鍵を用いて、検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る。第一認証サーバ検証値復号ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して検証値qa_j (a_i)を得る。第二認証サーバ検証値復号ステップにおいて、中間認証サーバが、j=1,…,m-1について、aj番目の認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して検証値qa_j (a_m)を得る。第一認証サーバ検証ステップにおいて、認証サーバが、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。第二認証サーバ検証ステップにおいて、中間認証サーバが、検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する。
この発明によれば、中間サーバが存在する場合であっても複数のサーバが同時にユーザを安全に認証することができる。
図1は、第一実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図2は、第一実施形態に係る利用者端末の機能構成を例示する図である。 図3は、第一実施形態に係る中間サーバの機能構成を例示する図である。 図4は、第一実施形態に係る認証サーバの機能構成を例示する図である。 図5は、第一実施形態に係るマルチパーティセキュア認証方法のパスワード登録フェーズの処理フローを例示する図である。 図6は、第一実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図7は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図8は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図9は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図10は、第二実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図11は、第二実施形態に係る利用者端末の機能構成を例示する図である。 図12は、第二実施形態に係る中間サーバの機能構成を例示する図である。 図13は、第二実施形態に係る認証サーバの機能構成を例示する図である。 図14は、第二実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図15は、第二実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図16は、第三実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図17は、第三実施形態に係る利用者端末の機能構成を例示する図である。 図18は、第三実施形態に係る中間サーバの機能構成を例示する図である。 図19は、第三実施形態に係る認証サーバの機能構成を例示する図である。 図20は、第三実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図21は、第二実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[表記方法]
実施形態の説明に先立ち、この明細書で用いる表記方法および用語を定義する。
・_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
・^(キャレット)は直後の文字にサーカムフレックスが付されることを表す。例えば、^λは数式内における以下の文字を表している。
Figure 2015025916
(上付き右矢印)はベクトルを表す。
・[](角括弧)は括弧内のデータの分散値を表す。例えば、[w]はwの分散値である。
・EncAB(X)は、ノードAとノードBとの共通鍵によりデータXを暗号化した暗号文を表す。
[基本的な考え方]
この発明のマルチパーティセキュア認証技術の基本的な考え方を説明する。
全体を通しての登場人物は、利用者端末1、中間サーバ2及びn台の認証サーバ31,…,3nである。ただし、nは3以上の整数である。
まず、システムを利用する利用者端末1のパスワードがwであることを認証サーバ群31,…,3nに登録する。認証を実施する際に併せて用いるいくつかの乱数についてもユーザで生成し、各認証サーバ31,…,3nに送る。このとき、間に入る中間サーバ2がこれらの情報を悪用し利用者端末1に成りすまさないよう、送信する分散値等は各認証サーバ31,…,3nとの共通鍵で暗号化しておく。また、パスワード自体も秘密分散を用い、各認証サーバ31,…,3nにはパスワードの分散値のみを保存する。そのため、各認証サーバ31,…,3nは、パスワードそのものはわからない。
次に、認証の実施手順について述べる。利用者端末1がパスワードw’によって認証を試みてきた場合、登録されている利用者端末1のパスワードwと入力されたパスワードw’とが一致することを確認するために、wとw’との差が0であることを協調計算によって導く。認証の権限がシステムを構成する各参加者(具体的には、中間サーバ2及び認証サーバ31,…,3n)のいずれかに偏ることがないように、各参加者が認証のための計算を行う。協調計算によって登録されたパスワードw及び入力されたパスワードw’が各参加者に知られることがないように、乱数と組み合わせて協調計算を行う。また、このとき用いられる乱数を次回の認証で使い回さないように、認証の手順の最後で乱数を更新する。
さらに、認証手順において中間サーバ2を介して交わされる暗号文を悪用することによるリプレイ攻撃に対処するために、あらかじめ認証サーバ31,…,3nで乱数を生成し利用者端末1と共有することによって、認証時に送信するパスワードの暗号文を再利用できなくする改良方法について述べる。なお、リプレイ攻撃とは、認証成功した暗号文を再利用して、中間サーバ2が利用者装置1になりすまして認証を成功させてしまう攻撃である。
[秘密分散技術]
この発明では構成要素として秘密分散技術を用いる。この発明で用いる秘密分散技術では、2k-1<nであるような(k,n)秘密分散を用いる。(k,n)秘密分散は、あるデータをn個に分割し、そのうちk-1個まで集めても元データについては何もわからないが、k個以上集めると元データを復元できるような技術である。
具体的には、秘密分散技術は、以下に説明するShareアルゴリズムとReconstアルゴリズムとから構成される。
Shareアルゴリズムはデータを分割するアルゴリズムである。分割されたデータはシェアもしくは分散値と呼ばれる。Shareアルゴリズムは秘密sを入力としてn個に分割して出力する。この手続きを次式のように記述する。
Figure 2015025916
Reconstアルゴリズムはデータを復元するアルゴリズムである。Reconstアルゴリズムはm個(k≦m≦n)のシェアを入力として元の秘密sを出力する。この発明で利用する秘密分散技術では、mと{a1,…,am}とから決定するλa_i(i=1,…,m)が存在し、次式が成り立つとする。a1,…,amは1以上n以下の相異なるm個の整数である。
Figure 2015025916
[第一実施形態]
図1を参照して、第一実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置1、中間サーバ2及びn台の認証サーバ31,…,3nを含む。
図2を参照して、利用者装置1の機能構成の一例を説明する。利用者装置1は、制御部101、メモリ102、共通鍵記憶部11、パスワード分散部12及びパスワード分散値暗号化部13を含む。利用者装置1は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。利用者装置1は、例えば、制御部101の制御のもとで各処理を実行する。利用者装置1に入力されたデータや各処理で得られたデータは、例えば、メモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。利用者装置1が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図3を参照して、中間サーバ2の機能構成の一例を説明する。中間サーバ2は、制御部201、メモリ202、共通鍵記憶部21、パスワード分散値転送部22、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。中間サーバ2は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。中間サーバ2は、例えば、制御部201の制御のもとで各処理を実行する。利用者装置1に入力されたデータや各処理で得られたデータは、例えば、メモリ202に格納され、メモリ202に格納されたデータは必要に応じて読み出されて他の処理に利用される。中間サーバ2が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図4を参照して、認証サーバ3の機能構成の一例を説明する。認証サーバ3は、制御部301、メモリ302、乱数分散値生成部31、ゼロ分散値生成部32、パスワード分散値復号部33、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。認証サーバ3は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。認証サーバ3は、例えば、制御部301の制御のもとで各処理を実行する。認証サーバ3に入力されたデータや各処理で得られたデータは、例えば、メモリ302に格納され、メモリ302に格納されたデータは必要に応じて読み出されて他の処理に利用される。認証サーバ3が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。認証サーバ3が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
図5〜10を参照して、マルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
利用者端末1の共通鍵記憶部11には、利用者端末1が暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、利用者端末1と各認証サーバ31,…,3nとの共通鍵であり、計n個の共通鍵が記憶されている。
中間サーバ2の共通鍵記憶部21には、中間サーバ2が暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、中間サーバ2と各認証サーバ31,…,3nとの共通鍵であり、計n個の共通鍵が記憶されている。
i番目の認証サーバ3iの共通鍵記憶部41には、認証サーバ3iが暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、利用者端末1、中間サーバ2、他のn-1台の認証サーバ3j(j=1,…,n、j≠i)との共通鍵であり、1台の認証サーバ3の共通鍵記憶部41には計n+1個の共通鍵が記憶されている。
この発明で用いる共通鍵暗号方式は、既存のいかなる共通鍵暗号方式であってもよく、この発明を適用する情報システムにおいて求められる安全性や処理速度などを勘案して選択すればよい。各装置の記憶する共通鍵は、選択された共通鍵暗号方式に則って生成された共通鍵であり、当該共通鍵暗号方式が許容する鍵交換方式により共有すればよい。
<<パスワード登録フェーズ>>
図5を参照して、マルチパーティセキュア認証方法のパスワード登録フェーズの処理を説明する。パスワード登録フェーズは、新規にユーザを登録する場合または登録済みユーザのパスワードを変更する場合に実行される。
ステップS101において、利用者端末1のパスワード分散部12は、パスワードwをn個の分散値[w]1,…,[w]nに分散する。パスワードwはユーザUにより利用者端末1を操作して入力された任意のパスワードである。つまり、パスワード分散部12は、以下の式(3)の計算を行う。
Figure 2015025916
ステップS102において、利用者端末1のパスワード分散値暗号化部13は、i=1,…,nについて、利用者装置1とi番目の認証サーバ3iとの共通鍵を用いて、分散値[w]iを暗号化した暗号文EncUS_i([w]i)を得る。
ステップS103において、利用者端末1のパスワード分散値暗号化部13は、ステップS102で得たn個の暗号文EncUS_1([w]1),…,EncUS_n([w]n)を中間サーバ2へ送信する。
ステップS201において、中間サーバ2のパスワード分散値転送部22は、利用者端末1から受信したn個の暗号文EncUS_1([w]1),…,EncUS_n([w]n)を受信し、i=1,…,nについて、暗号文EncUS_i([w]i)を認証サーバ3iへそれぞれ送信する。
ステップS301において、認証サーバ3iのパスワード分散値復号部33は、中間サーバ2から転送された暗号文EncUS_i([w]i)を受信する。
ステップS302において、認証サーバ3iのパスワード分散値復号部33は、利用者端末1と認証サーバ3iとの共通鍵を用いて、中間サーバ2から受信した暗号文EncUS_i([w]i)を復号して分散値[w]iを得る。分散値[w]iは、分散値記憶部42へ記憶する。
<<乱数生成フェーズ>>
図6を参照して、マルチパーティセキュア認証方法の乱数生成フェーズの処理を説明する。乱数生成フェーズは、少なくともパスワードを登録したユーザが認証を行う前に実行されている必要がある。
ステップS311において、認証サーバ3iの乱数分散値生成部31は、復元すると乱数r1,…,rdとなるd個の分散値[r1]i,…,[rd]iを生成する。生成した分散値[r1]i,…,[rd]iは、分散値記憶部42へ記憶する。ここで、d≧1である。
ステップS312において、認証サーバ3iのゼロ分散値生成部32は、復元すると0となるd個の分散値[01]i,…,[0d]iを生成する。生成した分散値[01]i,…,[0d]iは、分散値記憶部42へ記憶する。
ステップS311からステップS312の処理は、ステップS101からステップS302の処理と並行して実行しても構わないし、独立して予め行なっておいても構わない。
<<認証フェーズ>>
図7〜9を参照して、マルチパーティセキュア認証方法の認証フェーズの処理を説明する。認証フェーズは、パスワードを登録しているユーザが認証を求める際に実行される。認証フェーズの処理は、n台の認証サーバ31,…,3nすべてが行う必要はなく、任意に選択したm台のみが実行すればよい。以降の説明では、a1,…,amを1以上n以下の相異なるm個の整数として、m台の認証サーバ3a_1,…,3a_mが認証フェーズの処理を行うものとする。
認証サーバ3a_iは、分散値記憶部42に記憶されている分散値[r1]a_i,…,[rd]a_iから[r(W)]a_i、[r(1)]a_i,…,[r(m)]a_iを選択する。また、同様に、認証サーバ3a_iは、分散値記憶部42に記憶されている分散値[01]a_i,…,[0d]a_iから[0(W)]a_i,[0(1)]a_i,…,[0(m)]a_iを選択する。
図7に示すステップS121において、パスワードwを登録したユーザUが利用者端末1を操作して、認証を求めるためのパスワードw’を入力する。
ステップS122において、利用者端末1のパスワード分散部12は、パスワードw’をn個の分散値[w’]1,…,[w’]nに分散する。つまり、パスワード分散部12は、以下の計算を行う。
Figure 2015025916
ステップS123において、利用者端末1のパスワード分散値暗号化部13は、i=1,…,mについて、分散値[w']a_iを利用者装置1とai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncUS_a_i([w']a_i)を得る。
ステップS124において、利用者端末1のパスワード分散値暗号化部13は、ステップS123で得たn個の暗号文EncUS_1([w']1),…,EncUS_n([w']n)を中間サーバ2へ送信する。
ステップS221において、中間サーバ2のパスワード分散値転送部22は、利用者端末1から受信したn個の暗号文EncUS_1([w']1),…,EncUS_n([w']n)を受信し、i=1,…,mについて、暗号文EncUS_a_i([w']a_i)を認証サーバ3a_iへ送信する。
ステップS321において、認証サーバ3a_iのパスワード分散値復号部33は、中間サーバ2から転送された暗号文EncUS_a_i([w']a_i)を受信する。
ステップS322において、認証サーバ3a_iのパスワード分散値復号部33は、中間サーバ2から受信した暗号文EncUS_a_i([w']a_i)を利用者端末1と認証サーバ3a_iとの共通鍵を用いて復号して分散値[w']a_iを得る。
図8に示すステップS331において、認証サーバ3a_iの中間サーバ検証値生成部34は、分散値記憶部42に記憶されている分散値[w]a_i、[r(W)]a_i、[0(W)]a_i及びパスワード分散値復号部33の出力する分散値[w']a_iを用いて、下記の式(5)により検証値qa_i (W)を求める。
Figure 2015025916
ここで、λa_i (W)は式(6)を満たす既知の定数であり、^λa_i (W)は式(7)を満たす既知の定数である。
Figure 2015025916
ステップS332において、認証サーバ3a_iの中間サーバ検証値暗号化部35は、中間サーバ2と認証サーバ3a_iとの共通鍵を用いて、検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る。
ステップS333において、認証サーバ3a_iの中間サーバ検証値暗号化部35は、ステップS332で得た暗号文EncWS_a_i(qa_i (W))を中間サーバ2へ送信する。
ステップS231において、中間サーバ2の中間サーバ検証値復号部23は、m台の認証サーバ3a_1,…,3a_mから受信したm個の暗号文EncWS_a_1(qa_1 (W)),…,EncWS_a_m(qa_m (W))を受信する。
ステップS232において、中間サーバ2の中間サーバ検証値復号部23は、i=1,…,mについて、中間サーバ2とai番目の認証サーバ3a_iとの共通鍵を用いて、暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る。中間サーバ検証値復号部23は、m個の検証値qa_1 (W),…,qa_m (W)を中間サーバ検証部24へ出力する。
ステップS233において、中間サーバ2の中間サーバ検証部24は、検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する。中間サーバ検証部24は、具体的には式(8)の等式が成り立つか否かを確認する。
Figure 2015025916
中間サーバ検証部24は、式(8)が成り立つ場合には、利用者装置1へ認証成功を通知し、式(8)が成り立たない場合には、利用者装置1へ認証失敗を通知する。
図9に示すステップS341iにおいて、認証サーバ3a_iの認証サーバ検証値生成部36は、j=1,…,mについて、分散値記憶部42に記憶されている分散値[w]a_i、[r(a_j)]a_i、[0(a_j)]a_i及びパスワード分散値復号部33の出力する分散値[w']a_iを用いて、下記の式(9)により検証値qa_i (a_j)を求める。
Figure 2015025916
ここで、λa_i (j)は式(10)を満たす既知の定数であり、^λa_i (j)は式(11)を満たす既知の定数である。
Figure 2015025916
ステップS342iにおいて、認証サーバ3a_iの認証サーバ検証値暗号化部37は、j=1,…,m(j≠i)について、aj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。結果として、認証サーバ検証値暗号化部37は、m-1個の暗号文EncS_a_iS_a_1(qa_i (a_1)),…,EncS_a_iS_a_m(qa_i (a_m))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を得ることになる。
ステップS343iにおいて、認証サーバ3a_iの認証サーバ検証値暗号化部37は、j=1,…,m(j≠i)について、ステップS342iで得たm-1個の暗号文EncS_a_iS_a_1(qa_i (a_1)),…,EncS_a_iS_a_m(qa_i (a_m))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を認証サーバ3a_jへそれぞれ送信する。
ステップS344iにおいて、認証サーバ3a_iの認証サーバ検証値復号部38は、m-1台の認証サーバ3a_j(j=1,…,m(j≠i))からm-1個の暗号文EncS_a_1S_a_i(qa_1 (a_i)),…,EncS_a_mS_a_i(qa_m (a_i))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を受信する。
ステップS345iにおいて、認証サーバ3a_iの認証サーバ検証値復号部38は、j=1,…,m(j≠i)について、aj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて、暗号文EncS_a_jS_a_i(qa_j (a_i))を復号して検証値qa_i (a_j)を得る。認証サーバ検証値復号部38は、ステップS341iにおいて認証サーバ検証値生成部36が生成していた検証値qa_i (a_i)と併せて、m個の検証値qa_1 (a_i),…,qa_m (a_i)を認証サーバ検証部39へ出力する。
ステップS345iにおいて、認証サーバ3a_iの認証サーバ検証部39は、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。認証サーバ検証部39は、具体的には式(12)の等式が成り立つか否かを確認する。
Figure 2015025916
認証サーバ検証部39は、式(12)が成り立つ場合には、利用者装置1へ認証成功を通知し、式(12)が成り立たない場合には、利用者装置1へ認証失敗を通知する。
<<乱数更新フェーズ>>
認証フェーズの処理を一回実行する度に、乱数更新フェーズの処理を実行する。乱数更新フェーズは、次回の認証で乱数を使い回さないように乱数を更新する処理である。乱数更新フェーズでは、以前の乱数生成フェーズの処理により生成された乱数のうち、未使用のものがあれば、次回の認証フェーズの処理において、その乱数を使用するように設定する。未使用の乱数がなければ、乱数生成フェーズの処理内容と同様に新たな乱数を生成する。乱数更新フェーズの処理は、認証フェーズの処理と並列に行なっても構わない。すなわち、認証フェーズにおいて乱数を利用した際に未使用の乱数が十分に残されているかを確認し、足りなければ新たな乱数を生成すればよい。
[第二実施形態]
ユーザの利用する利用者端末と各認証サーバの間に存在するWebサーバ等の中間サーバには、認証の成否に加えて、利用者端末と認証サーバで交わされている暗号文を知られてしまう。中間サーバは認証に成功した際に認証手順で用いられたパスワードや乱数の分散値の暗号文を悪用してユーザに成りすまし、認証を成功させることができてしまう危険性がある。第二実施形態のマルチパーティセキュア認証システムは、送信済みの暗号文を悪用した中間サーバによるリプレイ攻撃を防ぐための改良方式である。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
図10を参照して、第二実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置4、中間サーバ5及びn台の認証サーバ61,…,6nを含む。
図11を参照して、利用者装置4の機能構成の一例を説明する。利用者装置4は、第一実施形態に係る利用者装置1と同様に、制御部101、メモリ102、共通鍵記憶部11及びパスワード分散部12を含む。第二実施形態に係る利用者装置4では、さらに、パスワード分散値暗号化部14及び乱数受信部15を含む。パスワード分散値暗号化部14は第一実施形態に係るパスワード分散値暗号化部13とは処理が異なる。
図12を参照して、中間サーバ5の機能構成の一例を説明する。中間サーバ5は、第一実施形態に係る中間サーバ2と同様に、制御部201、メモリ202、共通鍵記憶部21、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。第二実施形態に係る中間サーバ5では、さらに、パスワード分散値転送部25及び乱数転送部26を含む。パスワード分散値転送部25は第一実施形態に係るパスワード分散値転送部22とは処理が異なる。
図13を参照して、認証サーバ6の機能構成の一例を説明する。認証サーバ6は、第一実施形態に係る認証サーバ3と同様に、制御部301、メモリ302、乱数分散値生成部31、ゼロ分散値生成部32、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。第二実施形態に係る認証サーバ6では、さらに、パスワード分散値復号部43、乱数生成部44、乱数暗号化部45及び乱数検証部46を含む。パスワード分散値復号部43は第一実施形態に係るパスワード分散値復号部33とは処理が異なる。
図14、15を参照して、第二実施形態に係るマルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
図14を参照して、リプレイ攻撃を防ぐために利用する乱数の生成手順を説明する。この乱数は認証フェーズを実行する前に予め行なっておく必要がある。この処理は比較的軽い処理であるため、認証フェーズを実行する直前に行うように構成してもよい。この処理は、n台の認証サーバ61,…,6nすべてが行う必要はなく、任意に選択したm台のみが実行すればよい。以降の説明では、a1,…,amを1以上n以下の相異なるm個の整数として、m台の認証サーバ6a_1,…,6a_mが処理を行うものとする。
ステップS351において、認証サーバ6a_iの乱数生成部44は、乱数ta_iを生成する。
ステップS352において、認証サーバ6a_iの乱数暗号化部45は、利用者装置1とai番目の認証サーバ3a_iとの共通鍵を用いて、乱数ta_iを暗号化した暗号文EncUS_a_i(ta_i)を得る。
ステップS353において、認証サーバ6a_iの乱数暗号化部45は、暗号文EncUS_a_i(ta_i)を中間サーバ5へ送信する。
ステップS251において、中間サーバ5の乱数転送部26は、m台の認証サーバ6a_i(i=1,…,m)からm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)を受信する。受信したm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)は利用者端末4へ送信する。
ステップS151において、利用者端末6の乱数復号部15は、中間サーバ6からm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)を受信する。
ステップS152において、乱数復号部15は、i=1,…,mについて、暗号文EncUS_a_i(ta_i)を復号して分散値ta_iを得る。分散値ta_iはメモリ102や共通鍵記憶部11などのいずれかの記憶部に記憶する。
図15を参照して、リプレイ攻撃を防ぐために改良した認証フェーズの処理を説明する。第一実施形態の認証フェーズとの相違点は、ステップS123及びステップS221の処理が異なることと、ステップS323の処理が追加されたことである。
ステップS123において、利用者端末4のパスワード分散値暗号化部14は、i=1,…,mについて、分散値[w']a_iを乱数ta_iと共に利用者装置4とai番目の認証サーバ6a_iとの共通鍵を用いて暗号化した暗号文EncUS_a_i(ta_i,[w']a_i)を得る。
ステップS221において、中間サーバ5のパスワード分散値転送部25は、利用者端末4から受信したm個の暗号文EncUS_a_1(ta_i,[w']a_1),…,EncUS_a_m(ta_i,[w']a_m)を受信し、i=1,…,mについて、暗号文EncUS_a_i(ta_i,[w']a_i)を認証サーバ3a_iへ送信する。
ステップS323において、認証サーバ3a_iの乱数検証部46は、暗号文EncUS_a_i(ta_i,[w']a_i)を復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しいか否かを確認する。乱数検証部46は、復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しくない場合には、利用者装置4へ認証失敗を通知する。その他の場合には、認証フェーズのステップS331以降の処理を続行する。
[第三実施形態]
第一実施形態のマルチパーティセキュア認証システムは、各認証サーバが乱数生成フェーズの処理を実行した。第三実施形態のマルチパーティセキュア認証システムは、利用者端末が乱数生成フェーズの処理を実行する。以下では、第一実施形態のマルチパーティセキュア認証システムに適用した場合の例を説明するが、第三実施形態の構成方法は、第二実施形態のマルチパーティセキュア認証システムへも同様に適用することができる。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
図16を参照して、第三実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置7、中間サーバ8及びn台の認証サーバ91,…,9nを含む。
図17を参照して、利用者装置7の機能構成の一例を説明する。利用者装置7は、第一実施形態に係る利用者装置1と同様に、制御部101、メモリ102、共通鍵記憶部11、パスワード分散部12及びパスワード分散値暗号化部13を含む。第三実施形態に係る利用者装置7では、さらに、乱数分散値生成部16、乱数分散値暗号化部17、ゼロ分散値生成部18及びゼロ分散値暗号化部19を含む。
図18を参照して、中間サーバ8の機能構成の一例を説明する。中間サーバ8は、第一実施形態に係る中間サーバ2と同様に、制御部201、メモリ202、共通鍵記憶部21、パスワード分散値転送部22、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。第三実施形態に係る中間サーバ8では、さらに、乱数分散値転送部27及びゼロ分散値転送部28を含む。
図19を参照して、認証サーバ9の機能構成の一例を説明する。認証サーバ9は、第一実施形態に係る認証サーバ3と同様に、制御部301、メモリ302、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。第三実施形態に係る認証サーバ9では、さらに、乱数分散値復号部47及びゼロ分散値復号部48を含む。
図20、21を参照して、第三実施形態に係るマルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
<<乱数生成フェーズ>>
図20、21を参照して、第三実施形態に係る乱数生成フェーズの処理を説明する。
図20に示すステップS111において、利用者端末7の乱数分散値生成部16は、n+1個の乱数r(W)、r(1),…,r(n)を生成する。
ステップS112において、利用者端末7の乱数分散値生成部16は、各乱数r(W)、r(1),…,r(n)をそれぞれn個の分散値[r(W)]1,…,[r(W)]n、[r(1)]1,…,[r(1)]n,…,[r(n)]1,…,[r(n)]nへ分散する。つまり、乱数分散値生成部16は、以下の式(13)(14)の計算を行う。
Figure 2015025916
ステップS113において、利用者端末7の乱数分散値暗号化部17は、i=1,…,nについて、利用者装置7とi番目の認証サーバ9iとの共通鍵を用いて、分散値[r(W)]i,[r(1)]i,…,[r(n)]iを暗号化した暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を得る。
ステップS114において、利用者端末7の乱数分散値暗号化部17は、ステップS113で得たn個の暗号文EncUS_1([r(W)]1,[r(1)]1,…,[r(n)]1),…,EncUS_n([r(W)]n,[r(1)]n,…,[r(n)]n)を中間サーバ8へ送信する。
ステップS211において、中間サーバ8の乱数分散値転送部27は、利用者端末7から受信したn個の暗号文EncUS_1([r(W)]1,[r(1)]1,…,[r(n)]1),…,EncUS_n([r(W)]n,[r(1)]n,…,[r(n)]n)を受信し、i=1,…,nについて、暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を認証サーバ9iへそれぞれ送信する。
ステップS313において、認証サーバ9iの乱数分散値復号部47は、中間サーバ8から転送された暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を受信する。
ステップS314において、認証サーバ9iの乱数分散値復号部47は、利用者端末7と認証サーバ9iとの共通鍵を用いて、中間サーバ8から受信した暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を復号してn+1個の分散値[r(W)]i,[r(1)]i,…,[r(n)]iを得る。分散値[r(W)]i,[r(1)]i,…,[r(n)]iは、分散値記憶部42へ記憶する。
図21に示すステップS115において、利用者端末7のゼロ分散値生成部18は、復元すると0となるm+1組の分散値[0(W)]1,…,[0(W)]n、[0(1)]1,…,[0(1)]n,…,[0(m)]1,…,[0(m)]nを生成する。
ステップS116において、利用者端末7のゼロ分散値暗号化部19は、i=1,…,nについて、利用者装置7とi番目の認証サーバ9iとの共通鍵を用いて、分散値[0(W)]i,[0(1)]i,…,[0(m)]iを暗号化した暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を得る。
ステップS117において、利用者端末7のゼロ分散値暗号化部19は、ステップS116で得たn個の暗号文EncUS_1([0(W)]1,[0(1)]1,…,[0(m)]1),…,EncUS_n([0(W)]n,[0(1)]n,…,[0(m)]n)を中間サーバ8へ送信する。
ステップS212において、中間サーバ8のゼロ分散値転送部28は、利用者端末7から受信したn個の暗号文EncUS_1([0(W)]1,[0(1)]1,…,[0(m)]1),…,EncUS_n([0(W)]n,[0(1)]n,…,[0(m)]n)を受信し、i=1,…,nについて、暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を認証サーバ9iへそれぞれ送信する。
ステップS315において、認証サーバ9iのゼロ分散値復号部48は、中間サーバ8から転送された暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を受信する。
ステップS316において、認証サーバ9iのゼロ分散値復号部48は、利用者端末7と認証サーバ9iとの共通鍵を用いて、中間サーバ8から受信した暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を復号してm+1個の分散値[0(W)]i,[0(1)]i,…,[0(m)]iを得る。分散値[0(W)]i,[0(1)]i,…,[0(m)]iは、分散値記憶部42へ記憶する。
ステップS111からステップS316の処理は、第一実施形態のマルチパーティセキュア認証方法と同様に、ステップS101からステップS302の処理と並行して実行しても構わないし、独立して予め行なっておいても構わない。
[第四実施形態]
第四実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
第四実施形態に係る乱数生成フェーズの処理を説明する。この実施形態では、n台の認証サーバ31,…,3nのうち任意のn?k+1台の組み合わせの集合を{b1,…,bB}とする。ただし、Bは次式で定義される。
Figure 2015025916
n台の認証サーバ31,…,3nのうち任意のn?m+2台の組み合わせの集合を{c1,…,cC}とする。ただし、Cは次式で定義される。
Figure 2015025916
n台の認証サーバ31,…,3nのうち任意のn?m+1台の組み合わせの集合を{d1,…,dD}とする。ただし、Dは次式で定義される。
Figure 2015025916
図6に示すステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を持たせ、これを分散値[r(W)]iとする。乱数u(W) 1,…,u(W) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,nについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、j∈bhについて{u(j) b_h}を持たせ、これを分散値[r(j)]iとする。乱数u(j) 1,…,u(j) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
生成した分散値[r(W)]i、[r(1)]i,…,[r(n)]iは、分散値記憶部42へ記憶する。
図6に示すステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を持たせ、以下の式(15)により、分散値[0(W)]iを計算する。
Figure 2015025916
ここで、δc_1,…,δc_Dは既知の定数である。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を持たせ、以下の式(16)により、分散値[0(j)]iを計算する。
Figure 2015025916
生成した分散値[0(W)]i、[0(1)]i,…,[0(m)]iは、分散値記憶部42へ記憶する。
[第五実施形態]
第五実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
第五実施形態に係る乱数生成フェーズの処理を説明する。この実施形態の乱数生成フェーズでは、ステップS311の処理は第四実施形態と同様であり、ステップS312の処理のみが第四実施形態と異なる。
ステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を持たせ、以下の式(17)により、分散値[0(W)]iを計算する。
Figure 2015025916
ここで、fc_jは各u(W) c_j(1≦j≦C)に対しユニークな関数であり、fc_j(0)=1、fc_j(g)=0(gはcjに属さない)が成り立つ。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を持たせ、以下の式(18)により、分散値[0(j)]iを計算する。
Figure 2015025916
[第六実施形態]
第六実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
第五実施形態に係る乱数生成フェーズの処理を説明する。この実施形態の乱数生成フェーズでは、ステップS312の処理は第四実施形態と同様であり、ステップS311の処理のみが第四実施形態と異なる。
ステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を持たせ、以下の式(19)により、分散値[r(W)]iを計算する。
Figure 2015025916
ここで、fb_jは各u(W) b_j(1≦j≦B)に対しユニークな関数であり、fb_j(0)=1、fb_j(g)=0(gはbjに属さない)が成り立つ。この手法については「Ronald Cramer, Ivan Damgard, and Yuval Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, 2005.(参考文献1)」に詳しく記載されている。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、i∈bhについて{u(j) b_h}を持たせ、以下の式(20)により、分散値[r(j)]iを計算する。
Figure 2015025916
[第七実施形態]
第七実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第七実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第七実施形態の乱数生成フェーズの処理内容は、ステップS311の処理内容が第六実施形態と同様であり、ステップS312の処理内容が第五実施形態と同様である。詳細な処理の手順は、上述の第六実施形態及び第五実施形態の説明を参照されたい。
[第八実施形態]
第八実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第八実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
第八実施形態に係る乱数生成フェーズの処理を説明する。この実施形態では、n台の認証サーバ31,…,3nのうち、k≦q≦nであるような任意のq台が参加して行うものとする。以下では、a1,…,aqは1以上n以下の相異なるq個の整数である。
図6に示すステップS311において、認証サーバ3a_iの乱数分散値生成部31は、乱数uiを生成し、乱数uiを(k,n)秘密分散を用いてn個の分散値[ui]1,…,[ui]nに分散する。乱数分散値生成部31は、j=1,…,qについて、分散値[ui]a_jをaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncS_a_iS_a_j([ui]a_j)を得る。乱数分散値生成部31は、j=1,…,qについて、認証サーバ3a_jへ暗号文EncS_a_iS_a_j([ui]a_j)を送信する。
次に、認証サーバ3a_iの乱数分散値生成部31は、q-1台の認証サーバ3a_j(j=1,…,q、aj≠ai)からq-1個の暗号文EncS_a_1S_a_i([u1]a_i),…,EncS_a_qS_a_i([uq]a_i)(ただし、EncS_a_iS_a_i([ui]a_i)を除く)を受信し、j=1,…,qについて、暗号文EncS_a_jS_a_i([uj]a_i)をaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて復号して分散値[uj]a_iを得る。結果として、乱数分散値生成部31は、自ら生成した分散値[ui]a_iと併せて、q個の分散値[u1]a_i,…,[uq]a_iを得ることになる。
次に、認証サーバ3a_iの乱数分散値生成部31は、Aをq×(q-k+1)行列とし、[u1]a_i,…,[uq]a_iを列ベクトルuとみなし、ベクトルu’=Auを計算する。
行列Aは、例えば、vandermonde行列もしくはHyper-Invertible行列を用いることができる。Hyper-Invertible行列についての詳細は「Zuzana Beerliova-Trubiniova and Martin Hirt, “Perfectly-secure mpc with linear communi-cation complexity”, TCC, Vol. 4948 of Lecture Notes in Computer Science, pp. 213-230, 2008」を参照されたい。
次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素をそれぞれ[r(W)]a_i,[r(1)]a_i,…,[r(m)]a_iとみなす。なお、q?k+1<m+1のときは、ステップS311を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
図6に示すステップS312において、認証サーバ3a_iのゼロ分散値生成部32は、乱数uiを生成し、乱数uiを(m-1,n)秘密分散を用いてn個の分散値[ui]1,…,[ui]nに分散する。乱数分散値生成部31は、j=1,…,qについて、分散値[ui]a_jをaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncS_a_iS_a_j([ui]a_j)を得る。乱数分散値生成部31は、j=1,…,qについて、認証サーバ3a_jへ暗号文EncS_a_iS_a_j([ui]a_j)を送信する。
次に、認証サーバ3a_iの乱数分散値生成部31は、q-1台の認証サーバ3a_j(j=1,…,q、aj≠ai)からq-1個の暗号文EncS_a_1S_a_i([u1]a_i),…,EncS_a_qS_a_i([uq]a_i)(ただし、EncS_a_iS_a_i([ui]a_i)を除く)を受信し、j=1,…,qについて、暗号文EncS_a_jS_a_i([uj]a_i)をaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて復号して分散値[uj]a_iを得る。結果として、乱数分散値生成部31は、自ら生成した分散値[ui]a_iと併せて、q個の分散値[u1]a_i,…,[uq]a_iを得ることになる。
次に、認証サーバ3a_iの乱数分散値生成部31は、Aをq×(q-k+1)行列とし、[u1]a_i,…,[uq]a_iを列ベクトルuとみなし、ベクトルu’=Auを計算する。
次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素にaiを乗じた値をそれぞれ[0(W)]a_i,[0(1)]a_i,…,[0(m)]a_iとみなす。なお、q?k+1<m+1のときは、ステップS312を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
[第九実施形態]
第九実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第九実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第九実施形態の乱数更新フェーズの処理内容は、第四実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第四実施形態の説明を参照されたい。
[第十実施形態]
第十実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第十実施形態の乱数更新フェーズの処理内容は、第五実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第四実施形態の説明を参照されたい。
[第十一実施形態]
第十一実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十一実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第十一実施形態の乱数更新フェーズの処理内容は、第六実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第六実施形態の説明を参照されたい。
[第十二実施形態]
第十二実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十二実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第十二実施形態の乱数更新フェーズの処理内容は、第七実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第六実施形態の説明を参照されたい。
[第十三実施形態]
第十三実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十三実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
第十三実施形態の乱数更新フェーズの処理内容は、第八実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第八実施形態の説明を参照されたい。
[変形例]
上述の各実施形態では、マルチパーティセキュア認証システムが、利用者装置1、中間サーバ2及びn台の認証サーバ31,…,3nを含む構成を例に説明をしたが、中間サーバ2と1台の認証サーバ3を1台の中間認証サーバとして構成することも可能である。すなわち、マルチパーティセキュア認証システムは、例えば、利用者装置1と、n-1台の認証サーバ31,…,3n-1と、1台の中間認証サーバ3nとを含む構成とすることができる。
中間認証サーバ3nは、中間サーバ2が備える構成部と、認証サーバ3が備える構成部とを併せ持つことで構成される。ただし、上述の実施形態において、中間サーバ2と認証サーバ3nとで送受信したデータは、メモリ102を介してサーバ内部で受け渡すことができるので、必ずしも暗号化する必要はない。具体的には、中間サーバ2と認証サーバ3nとの共通鍵により暗号化される中間サーバ検証値qa_n (W)を暗号化する必要がなくなる。そのため、中間認証サーバ3nは、中間サーバ検証値暗号化部35を備えなくともよい。また、中間認証サーバ3nでの検証は認証サーバ検証値で可能なため、中間サーバ検証値は必要なくなる。そのため、中間認証サーバ3nは、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、中間サーバ検証値復号部23及び中間サーバ検証部24を備えなくともよい。
また、中間サーバ2と認証サーバ3nを1台の中間認証サーバ3nとして構成した場合には、中間サーバ2と各認証サーバ31,…,3nとの共通鍵を、認証サーバ3nと他の認証サーバ31,…,3n-1との共通鍵で併用できるため、システム全体での共通鍵の数をn個減らすことができる。
[応用例]
この発明のマルチパーティセキュア認証技術は、パスワード認証を利用する様々な応用システムに適用することができる。
例えば、ユーザがWebページを経由して、外部の第三者による情報システムのサービスを受ける際に、各サービスプロバイダを認証サーバとして第一実施形態または第二実施形態の認証を行ってから、各サービスは当該サービスをユーザに提供するように構成してもよい。なお、当該外部サービスは、複数のサーバが連携して行うサービスであってもよいし、それぞれの単一のサーバにより実施できるサービスであってもよい。
また、例えば、第三実施形態のマルチパーティセキュア認証技術をシングルサインオンの方式として用いる応用例が考えられる。このように構成すれば、ユーザは各サーバのそれぞれのサービスを一つのパスワードで受けることができる。この発明を用いれば、シングルサインオンによる認証の過程における成りすましによる漏洩のリスクを低下させることができる。
さらに、例えば、第三実施形態のマルチパーティセキュア認証技術を(k,n)秘密分散を用いたストレージサービスとする応用例が考えられる。(k,n)秘密分散とは、データをn個の分散値に分割する分割方法であって、そのうちいずれのk-1個の分散値だけでは元のデータの情報を一切得ることができないが、任意のk個の分散値があれば元のデータを完全に復元することができる秘密分散方式である。(k,n)秘密分散を用いたストレージサービスでは、サーバが連携して行うサービスではあるがサーバ同士が直接通信する必要はない。この発明のマルチパーティセキュア認証技術もサーバ同士の通信が不要であるため、利点を十分に享受することが可能な応用例であると言える。
[発明の効果]
この発明を用いることで、Webサーバなどの中間サーバを介していても、不正者がユーザになりすまして認証を成功させることはできない。不正者とは中間者やサーバであることも想定される。すなわちパスワードを中間者もサーバも知らないということを含む。
また、この発明は、Webのサービスモデルが適用できることの他に、以下の四つの要件を実現している。
1.ユーザは複数のパスワードや煩わしい証明書のインストールが必要ないこと
2.中間者やサーバでさえ成りすましができないこと
3.サーバ間には通信路が不要であること
4.ユーザへのレスポンスまでの通信回数が最低限なことからインターネット環境でレスポンスタイムを最低限にできること
上記1及び4の要件は自明である。上記2の要件は、サーバが単一主体のモデルでは、サーバは自分でデータを持っているため、わざわざ外部から認証を通って不正をするメリットが小さいが、サーバが複数ありそれぞれ異なるデータを持つ場合には、他サーバのもつデータを外部から閲覧することにメリットがある。特に秘密分散においては、データが二つ集まるとセキュリティの効力が失われるため、この問題は重大である。上記3の要件は、システム構築の際にお互いの間に通信路を持たないようなサーバ上であっても連携したサービスを展開できることを意味する。例えば、クラウドサービス上にアプリケーションプロバイダが適当な複数クラウドサービス上に自社サービスを展開できる。言い換えると、クラウドサービス同士が連携している必要がない。
この発明では、上記1の要件のためにパスワードが一つであり、2の要件のためにサーバも中間者もパスワードを知ることができない秘密分散によってパスワードを保護している。なお、パスワードのハッシュ値などではサーバのローカルで辞書攻撃が可能なため不十分である。また、上記3及び4の要件のため、サーバ間通信を許せばよく知られた秘匿回路計算を用いればよく(上記3の要件に対応)、また通信回数を増やせば暗号化通信路を用いて中間者がいない場合と同等の設定とできる(上記4の要件に対応)ところを、中間者を経由した低通信回数の秘匿回路計算を専用に設計している。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,nについて、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得る。パスワード分散値転送ステップにおいて、中間サーバが、i=1,…,nについて、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。パスワード分散値復号ステップにおいて、認証サーバが、利用者装置と当該認証サーバとの共通鍵を用いて、中間サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。中間サーバ検証値生成ステップにおいて、λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,n-1について、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、利用者装置と中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得る。パスワード分散値転送ステップにおいて、中間認証サーバが、i=1,…,n-1について、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。第一パスワード分散値復号ステップにおいて、認証サーバが、利用者装置と当該認証サーバとの共通鍵を用いて、中間認証サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。第二パスワード分散値復号ステップにおいて、中間認証サーバが、利用者装置と当該中間認証サーバとの共通鍵を用いて、暗号文EncUS_n([w']n)を復号して分散値[w']nを得る。第一認証サーバ検証値生成ステップにおいて、認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める。
図1は、第一実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図2は、第一実施形態に係る利用者装置の機能構成を例示する図である。 図3は、第一実施形態に係る中間サーバの機能構成を例示する図である。 図4は、第一実施形態に係る認証サーバの機能構成を例示する図である。 図5は、第一実施形態に係るマルチパーティセキュア認証方法のパスワード登録フェーズの処理フローを例示する図である。 図6は、第一実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図7は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図8は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図9は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図10は、第二実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図11は、第二実施形態に係る利用者装置の機能構成を例示する図である。 図12は、第二実施形態に係る中間サーバの機能構成を例示する図である。 図13は、第二実施形態に係る認証サーバの機能構成を例示する図である。 図14は、第二実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図15は、第二実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図16は、第三実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図17は、第三実施形態に係る利用者装置の機能構成を例示する図である。 図18は、第三実施形態に係る中間サーバの機能構成を例示する図である。 図19は、第三実施形態に係る認証サーバの機能構成を例示する図である。 図20は、第三実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図21は、第実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。
全体を通しての登場人物は、利用者端末(利用者装置とも呼ぶ)1、中間サーバ2及びn台の認証サーバ31,…,3nである。ただし、nは3以上の整数である。
図11を参照して、利用者装置4の機能構成の一例を説明する。利用者装置4は、第一実施形態に係る利用者装置1と同様に、制御部101、メモリ102、共通鍵記憶部11及びパスワード分散部12を含む。第二実施形態に係る利用者装置4では、さらに、パスワード分散値暗号化部14及び乱数復号部15を含む。パスワード分散値暗号化部14は第一実施形態に係るパスワード分散値暗号化部13とは処理が異なる。
図14を参照して、リプレイ攻撃を防ぐために利用する乱数の生成手順を説明する。この乱数生成は認証フェーズを実行する前に予め行なっておく必要がある。この処理は比較的軽い処理であるため、認証フェーズを実行する直前に行うように構成してもよい。この処理は、n台の認証サーバ61,…,6nすべてが行う必要はなく、任意に選択したm台のみが実行すればよい。以降の説明では、a1,…,amを1以上n以下の相異なるm個の整数として、m台の認証サーバ6a_1,…,6a_mが処理を行うものとする。
ステップS352において、認証サーバ6a_iの乱数暗号化部45は、利用者装置とai番目の認証サーバ a_iとの共通鍵を用いて、乱数ta_iを暗号化した暗号文EncUS_a_i(ta_i)を得る。
ステップS151において、利用者端末の乱数復号部15は、中間サーバからm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)を受信する。
ステップS221において、中間サーバ5のパスワード分散値転送部25は、利用者端末4から受信したm個の暗号文EncUS_a_1(ta_i,[w']a_1),…,EncUS_a_m(ta_i,[w']a_m)を受信し、i=1,…,mについて、暗号文EncUS_a_i(ta_i,[w']a_i)を認証サーバ a_iへ送信する。
ステップS323において、認証サーバ a_iの乱数検証部46は、暗号文EncUS_a_i(ta_i,[w']a_i)を復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しいか否かを確認する。乱数検証部46は、復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しくない場合には、利用者装置4へ認証失敗を通知する。その他の場合には、認証フェーズのステップS331以降の処理を続行する。
<<乱数生成フェーズ>>
第四実施形態に係る乱数生成フェーズの処理を説明する。この実施形態では、n台の認証サーバ31,…,3nのうち任意のn-k+1台の組み合わせの集合を{b1,…,bB}とする。ただし、Bは次式で定義される。
n台の認証サーバ31,…,3nのうち任意のn-m+2台の組み合わせの集合を{c1,…,cC}とする。ただし、Cは次式で定義される。
n台の認証サーバ31,…,3nのうち任意のn-m+1台の組み合わせの集合を{d1,…,dD}とする。ただし、Dは次式で定義される。
図6に示すステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を保持し、これを分散値[r(W)]iとする。乱数u(W) 1,…,u(W) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,nについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、j∈bhについて{u(j) b_h}を保持し、これを分散値[r(j)]iとする。乱数u(j) 1,…,u(j) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
図6に示すステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を保持し、以下の式(15)により、分散値[0(W)]iを計算する。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を保持し、以下の式(16)により、分散値[0(j)]iを計算する。
[第五実施形態]
第五実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
ステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を保持し、以下の式(17)により、分散値[0(W)]iを計算する。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を保持し、以下の式(18)により、分散値[0(j)]iを計算する。
[第六実施形態]
第六実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
<<乱数生成フェーズ>>
実施形態に係る乱数生成フェーズの処理を説明する。この実施形態の乱数生成フェーズでは、ステップS312の処理は第四実施形態と同様であり、ステップS311の処理のみが第四実施形態と異なる。
ステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を保持し、以下の式(19)により、分散値[r(W)]iを計算する。
次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、i∈bhについて{u(j) b_h}を保持し、以下の式(20)により、分散値[r(j)]iを計算する。
次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素をそれぞれ[r(W)]a_i,[r(1)]a_i,…,[r(m)]a_iとみなす。なお、q-k+1<m+1のときは、ステップS311を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素にaiを乗じた値をそれぞれ[0(W)]a_i,[0(1)]a_i,…,[0(m)]a_iとみなす。なお、q-k+1<m+1のときは、ステップS312を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
第十実施形態の乱数更新フェーズの処理内容は、第五実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第実施形態の説明を参照されたい。
第十二実施形態の乱数更新フェーズの処理内容は、第七実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第実施形態の説明を参照されたい。
中間認証サーバ3nは、中間サーバ2が備える構成部と、認証サーバ3が備える構成部とを併せ持つことで構成される。ただし、上述の実施形態において、中間サーバ2と認証サーバ3とで送受信したデータは、メモリ102を介してサーバ内部で受け渡すことができるので、必ずしも暗号化する必要はない。具体的には、中間サーバ2と認証サーバ3との共通鍵により暗号化される中間サーバ検証値qa_n (W)を暗号化する必要がなくなる。そのため、中間認証サーバ3nは、中間サーバ検証値暗号化部35を備えなくともよい。また、中間認証サーバ3nでの検証は認証サーバ検証値で可能なため、中間サーバ検証値は必要なくなる。そのため、中間認証サーバ3nは、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、中間サーバ検証値復号部23及び中間サーバ検証部24を備えなくともよい。
また、中間サーバ2と認証サーバ3を1台の中間認証サーバ3nとして構成した場合には、中間サーバ2と各認証サーバ31,…,3nとの共通鍵を、認証サーバ3nと他の認証サーバ31,…,3n-1との共通鍵で併用できるため、システム全体での共通鍵の数をn個減らすことができる。
上記1及び4の要件は自明である。上記2の要件は、サーバが単一主体のモデルでは、サーバは自分でデータを持っているため、わざわざ外部から認証を通って不正をするメリットが小さいが、サーバが複数ありそれぞれ異なるデータを持つ場合には、他サーバのもつデータを外部から閲覧することにメリットがある。特に秘密分散においては、データが二つ集まるとセキュリティの効力が失われるため、この問題は重大である。上記3の要件は、システム構築の際にお互いの間に通信路を持たないようなサーバ上であっても連携したサービスを展開できることを意味する。例えば、アプリケーションプロバイダ適当な複数クラウドサービス上に自社サービスを展開できる。言い換えると、クラウドサービス同士が連携している必要がない。

Claims (10)

  1. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
    利用者装置、中間サーバ及びn台の認証サーバを含むマルチパーティセキュア認証システムであって、
    上記利用者装置は、
    入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散部と、
    i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得るパスワード分散値暗号化部と、
    を含み、
    上記中間サーバは、
    i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送部と、
    i=1,…,mについて、上記中間サーバとai番目の上記認証サーバとの共通鍵を用いて、ai番目の上記認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号部と、
    上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証部と、
    を含み、
    上記認証サーバは、
    パスワードwをn個に分散した分散値[w]1,…,[w]nのうちi番目の分散値[w]i、i番目の上記分散値[r(W)]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
    上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号部と、
    λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    次式により検証値qa_i (W)を求める中間サーバ検証値生成部と、
    Figure 2015025916

    上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した上記暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化部と、
    j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure 2015025916

    j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
    j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
    上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
    を含むマルチパーティセキュア認証システム。
  2. 請求項1に記載のマルチパーティセキュア認証システムであって、
    上記認証サーバは、
    乱数ta_iを生成する乱数生成部と、
    上記利用者端末と当該認証サーバとの共通鍵を用いて、上記乱数ta_iを暗号化した暗号文EncUS_a_i(ta_i)を得る乱数暗号化部と、
    上記中間サーバから受信した暗号文EncUS_a_i(ta_i,[w']a_i)を復号して得た乱数ta_iが、上記乱数生成部により生成された上記乱数ta_iと等しいか否かを検証する乱数検証部と、
    をさらに含み、
    上記中間サーバは、
    j=1,…,mについて、aj番目の認証サーバから受信した上記暗号文EncUS_a_j(ta_j)を上記利用者装置へ送信する乱数転送部
    をさらに含み、
    上記利用者端末は、
    i=1,…,mについて、当該利用者端末とai番目の認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_a_i(ta_i)を復号し上記乱数ta_iを得る乱数復号部
    をさらに含み、
    上記パスワード暗号化部は、
    i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを上記乱数ta_iと共に暗号化した暗号文EncUS_a_i(ta_i,[w']a_i)を得る
    マルチパーティセキュア認証システム。
  3. 請求項1または2に記載のマルチパーティセキュア認証システムであって、
    上記認証サーバは、
    上記分散値[r(W)]i,[r(1)]i,…,[r(n)]iを生成する乱数分散値生成部と、
    上記分散値[0(W)]i,[0(a_1)]i,…,[r(a_m)]iを生成するゼロ分散値生成部と、
    をさらに含むマルチパーティセキュア認証システム。
  4. 請求項1または2に記載のマルチパーティセキュア認証システムであって、
    上記利用者装置は、
    上記乱数r(W),r(1),…,r(n)を生成し、上記乱数r(W),r(1),…,r(n)それぞれをn個に分散して上記分散値[r(W)]1,…,[r(W)]n及び上記分散値[r(i)]1,…,[r(i)]n(i=1,…,n)を生成する乱数分散値生成部と、
    i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[r(W)]i,[r(i)]i,…,[r(n)]iを暗号化した暗号文EncUS_i([r(W)]i,[r(i)]i,…,[r(n)]i)を得る乱数分散値暗号化部と、
    上記分散値[0(W)]1,…,[0(W)]n及び上記分散値[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)を生成するゼロ分散値生成部と、
    i=1,…,mについて、上記利用者装置とai番目の上記認証サーバとの共通鍵を用いて、分散値[0(W)]i,[0(1)]i,…,[0(m)]iを暗号化した暗号文EncUS_i([0(W)]i,[0(a_1)]i,…,[0(a_m)]i)を得る乱数分散値暗号化部と、
    をさらに含み、
    上記中間サーバは、
    i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([r(W)]i,[r(i)]i,…,[r(n)]i)をi番目の上記認証サーバへ送信する乱数分散値転送部と、
    i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([0(W)]i,[0(a_1)]i,…,[0(a_m)]i)をi番目の上記認証サーバへ送信するゼロ分散値転送部と、
    を含むマルチパーティセキュア認証システム。
  5. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
    λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    利用者装置、中間認証サーバ及びn-1台の認証サーバを含むマルチパーティセキュア認証システムであって、
    上記利用者装置は、
    入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散部と、
    i=1,…,n-1について、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、上記利用者装置と上記中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得るパスワード分散値暗号化部と、
    を含み、
    上記中間認証サーバは、
    パスワードwをn個に分散した分散値[w]1,…,[w]nのうちn番目の分散値[w]n、それぞれn番目の上記分散値[r(1)]n,…,[r(n)]nを記憶する分散値記憶部と、
    i=1,…,n-1について、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送部と、
    上記利用者端末と当該中間認証サーバとの共通鍵を用いて、上記暗号文EncUS_n([w']n)を復号して上記分散値[w']nを得るパスワード分散値復号部と、
    j=1,…,mについて、次式により検証値qa_m (a_j)を求める認証サーバ検証値生成部と、
    Figure 2015025916

    j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、上記検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る認証サーバ検証値暗号化部と、
    j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して上記検証値qa_j (a_m)を得る認証サーバ検証値復号部と、
    上記検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する認証サーバ検証部と、
    を含み、
    上記認証サーバは、
    i番目の上記分散値[w]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
    上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間認証サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号部と、
    j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure 2015025916

    j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
    j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
    上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
    を含むマルチパーティセキュア認証システム。
  6. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
    パスワードwをn個に分散した分散値[w]1,…,[w]nのうちi番目の分散値[w]i、i番目の上記分散値[r(W)]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
    利用者端末と当該認証サーバとの共通鍵を用いて、中間サーバから受信した暗号文EncUS_i([w']i)を復号してパスワードw'をn個に分散した分散値[w']iを得るパスワード分散値復号部と、
    λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    次式により検証値qa_i (W)を求める中間サーバ検証値生成部と、
    Figure 2015025916

    上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化部と、
    j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure 2015025916

    j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
    j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
    上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
    を含む認証サーバ。
  7. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、
    i=1,…,nについて、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信するパスワード分散値転送部と、
    i=1,…,mについて、当該中間サーバとai番目の認証サーバとの共通鍵を用いて、ai番目の認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号部と、
    上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証部と、
    を含む中間サーバ。
  8. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
    利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散ステップと、
    上記利用者装置が、i=1,…,nについて、上記利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得るパスワード分散値暗号化ステップと、
    中間サーバが、i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送ステップと、
    上記認証サーバが、上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号ステップと、
    λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    上記認証サーバが、次式により検証値qa_i (W)を求める中間サーバ検証値生成ステップと、
    Figure 2015025916

    上記認証サーバが、上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化ステップと、
    上記中間サーバが、i=1,…,mについて、上記中間サーバとai番目の上記認証サーバとの共通鍵を用いて、ai番目の上記認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号ステップと、
    上記中間サーバが、上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証ステップと、
    上記認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成ステップと、
    Figure 2015025916

    上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化ステップと、
    上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号ステップと、
    上記認証サーバが、上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証ステップと、
    を含むマルチパーティセキュア認証方法。
  9. n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
    λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    a_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure 2015025916

    利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散ステップと、
    上記利用者装置が、i=1,…,n-1について、上記利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、上記利用者装置と中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得るパスワード分散値暗号化ステップと、
    上記中間認証サーバが、i=1,…,n-1について、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送ステップと、
    上記認証サーバが、上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間認証サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得る第一パスワード分散値復号ステップと、
    上記中間認証サーバが、上記利用者端末と当該中間認証サーバとの共通鍵を用いて、上記暗号文EncUS_n([w']n)を復号して上記分散値[w']nを得る第二パスワード分散値復号ステップと、
    上記認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める第一認証サーバ検証値生成ステップと、
    Figure 2015025916

    上記中間認証サーバが、j=1,…,mについて、次式により検証値qa_m (a_j)を求める第二認証サーバ検証値生成ステップと、
    Figure 2015025916

    上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る第一認証サーバ検証値暗号化ステップと、
    上記中間認証サーバが、j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、上記検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る第二認証サーバ検証値暗号化ステップと、
    上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る第一認証サーバ検証値復号ステップと、
    上記中間認証サーバが、j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して上記検証値qa_j (a_m)を得る第二認証サーバ検証値復号ステップと、
    上記認証サーバが、上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する第一認証サーバ検証ステップと、
    上記中間認証サーバが、上記検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する第二認証サーバ検証ステップと、
    を含むマルチパーティセキュア認証方法。
  10. 請求項6に記載の認証サーバまたは請求項7に記載の中間サーバとしてコンピュータを機能させるためのプログラム。
JP2015532894A 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム Active JP6040313B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013172032 2013-08-22
JP2013172032 2013-08-22
PCT/JP2014/071873 WO2015025916A1 (ja) 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム

Publications (2)

Publication Number Publication Date
JP6040313B2 JP6040313B2 (ja) 2016-12-07
JPWO2015025916A1 true JPWO2015025916A1 (ja) 2017-03-02

Family

ID=52483687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015532894A Active JP6040313B2 (ja) 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム

Country Status (5)

Country Link
US (1) US9992190B2 (ja)
EP (1) EP3021518B1 (ja)
JP (1) JP6040313B2 (ja)
CN (1) CN105474575B (ja)
WO (1) WO2015025916A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101730757B1 (ko) 2013-04-12 2017-04-26 엔이씨 유럽 리미티드 사용자에 의해 디바이스에 액세스하기 위한 방법 및 시스템
US10091190B2 (en) 2015-12-11 2018-10-02 International Business Machines Corporation Server-assisted authentication
US10795658B2 (en) * 2017-03-20 2020-10-06 Fujitsu Limited Updatable random functions
CN107888382B (zh) * 2017-11-24 2019-11-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的数字身份验证的方法、装置和系统
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN111914264A (zh) * 2019-05-08 2020-11-10 华控清交信息科技(北京)有限公司 索引创建方法及装置、数据验证方法及装置
CN111967038B (zh) * 2019-09-30 2023-12-15 华控清交信息科技(北京)有限公司 数据处理系统、方法、设备、编辑器及存储介质
IL272516A (en) 2020-02-06 2021-08-31 Google Llc Prevention of data manipulation using multiple aggregation servers
IL272520A (en) * 2020-02-06 2021-08-31 Google Llc Aggregation of encrypted network values
CN112866247A (zh) * 2021-01-18 2021-05-28 杭州中网智慧科技有限公司 一种身份认证方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604737B2 (ja) * 1994-07-29 2004-12-22 キヤノン株式会社 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム
EP0695056B1 (en) * 1994-07-29 2005-05-11 Canon Kabushiki Kaisha A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
JP2002543460A (ja) * 1999-04-27 2002-12-17 ミスチェンコ、ヴァレンティン・アレクサンドロヴィッチ 情報を暗号化する方法およびその方法を実現するための装置
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
US9219708B2 (en) * 2001-03-22 2015-12-22 DialwareInc. Method and system for remotely authenticating identification devices
US20030221102A1 (en) * 2002-05-24 2003-11-27 Jakobsson Bjorn Markus Method and apparatus for performing multi-server threshold password-authenticated key exchange
CN1679066B (zh) * 2002-07-12 2011-08-31 塞弗奈特公司 加密密钥服务器
JP4389145B2 (ja) * 2002-07-30 2009-12-24 富士ゼロックス株式会社 クライアントサーバシステムおよびその装置
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
US8171101B2 (en) * 2005-09-30 2012-05-01 Cleversafe, Inc. Smart access to a dispersed data storage network
IL174619A (en) * 2006-03-29 2013-12-31 Nds Ltd Password protection
US20070266236A1 (en) * 2006-05-09 2007-11-15 Colditz Nathan Von Secure network and method of operation
GB2446199A (en) * 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
CN101939946B (zh) 2008-01-07 2013-04-24 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
JP2010061261A (ja) * 2008-09-02 2010-03-18 Fujitsu Ltd 認証システムおよび認証方法
US9270655B1 (en) * 2011-09-30 2016-02-23 Emc Corporation Configurable one-time authentication tokens with improved resilience to attacks
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置

Also Published As

Publication number Publication date
US20160197906A1 (en) 2016-07-07
CN105474575B (zh) 2018-12-14
EP3021518A4 (en) 2017-03-15
WO2015025916A1 (ja) 2015-02-26
EP3021518A1 (en) 2016-05-18
JP6040313B2 (ja) 2016-12-07
CN105474575A (zh) 2016-04-06
EP3021518B1 (en) 2018-04-18
US9992190B2 (en) 2018-06-05

Similar Documents

Publication Publication Date Title
JP6040313B2 (ja) マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
JP4790731B2 (ja) 派生シード
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
WO2015114947A1 (ja) 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム
US10887110B2 (en) Method for digital signing with multiple devices operating multiparty computation with a split key
CN112784284B (zh) 加密处理系统、加密处理方法以及记录介质
KR20120132708A (ko) 클라우드 컴퓨팅 환경에서의 접근 권한 분산 관리 장치 및 그 방법
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
JP6368047B2 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
JP6808609B2 (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
Srisakthi et al. Towards the design of a secure and fault tolerant cloud storage in a multi-cloud environment
JP2019208140A (ja) 投票システム、投票中継サーバ、クライアント端末、投票方法、広告配信システム、及びプログラム
Esiner et al. Layered security for storage at the edge: On decentralized multi-factor access control
Piechotta et al. A secure dynamic collaboration environment in a cloud context
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
KR20210020851A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
Sim et al. A cloud authentication protocol using one-time pad
CN116318647B (zh) 一种具有同态特性的cp-abe外包解密方法和装置
Corella Overcoming the UX Challenges Faced by FIDO Credentials in the Consumer Space
Vijayalakshmi et al. Authentication of data storage using decentralized access control in clouds
Wu et al. A lightweight authentication and key agreement scheme for mobile satellite communication systems
Vijayan et al. Review on Fuzzy Authorization for Cloud Storage
Krishna et al. SSH-DAuth: secret sharing based decentralized OAuth using decentralized identifier

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161107

R150 Certificate of patent or registration of utility model

Ref document number: 6040313

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150