JP2014140102A - Secure authentication method - Google Patents
Secure authentication method Download PDFInfo
- Publication number
- JP2014140102A JP2014140102A JP2013008112A JP2013008112A JP2014140102A JP 2014140102 A JP2014140102 A JP 2014140102A JP 2013008112 A JP2013008112 A JP 2013008112A JP 2013008112 A JP2013008112 A JP 2013008112A JP 2014140102 A JP2014140102 A JP 2014140102A
- Authority
- JP
- Japan
- Prior art keywords
- server
- calculation server
- secret calculation
- secret
- common key
- 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
Links
Images
Abstract
【課題】中間サーバが存在する場合であっても安全性を保証することができるセキュア認証技術を提供する。
【解決手段】クライアント装置1はシステムを利用するユーザuのパスワードがwuであることを中間サーバ2を介して第一〜第三秘匿計算サーバ3〜5に登録する。認証を実施する際に併せて用いるいくつかの乱数についてもクライアント装置1で生成し、各秘匿計算サーバに送る。ユーザuがパスワードw′によって認証を試みてきた場合、登録されているuのパスワードwuとw′が一致することを確認するために、wuとw′の差が0であることを協調計算によって導く。認証の権限がシステムを構成する参加者である中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4、第三秘匿計算サーバ5のいずれかに偏ることがないよう、各参加者ごとに認証のための計算を行う。
【選択図】図1Provided is a secure authentication technique capable of ensuring safety even when an intermediate server exists.
A client device 1 registers in a first to third secret calculation servers 3 to 5 via an intermediate server 2 that a password of a user u who uses the system is w u . Some random numbers used together with the authentication are also generated by the client device 1 and sent to each secret calculation server. If user u attempts to authenticate with password w ′, coordinate the difference between w u and w ′ to be zero to ensure that the registered passwords u u and w ′ match. Lead by calculation. For each participant, the authentication authority is not biased to any of the intermediate server 2, the first secret calculation server 3, the second secret calculation server 4, or the third secret calculation server 5 that are the participants constituting the system. Calculate for authentication.
[Selection] Figure 1
Description
この発明は、ネットワーク上の認証において、複数のサーバが同時にユーザをセキュアに認証する技術に関する。 The present invention relates to a technique in which a plurality of servers simultaneously and securely authenticate users in authentication on a network.
従来、ユーザが複数のサーバにまたがるサービスを受ける際に、各サーバに同時にセキュアに認証を受ける技術として、非特許文献1に記載された技術が知られている(例えば、非特許文献1参照。)。非特許文献1に記載された技術は、安全なストレージサービスにおける認証技術であり、ユーザがパスワードを設定し、データを秘密分散と呼ばれる安全な方法でサーバに保管する。認証時パスワードが正しければユーザは正しいデータを復元でき、パスワードが誤りであれば復元に失敗する。 Conventionally, a technique described in Non-Patent Document 1 is known as a technique for securely authenticating simultaneously to each server when a user receives a service across multiple servers (see Non-Patent Document 1, for example). ). The technique described in Non-Patent Document 1 is an authentication technique in a secure storage service, in which a user sets a password and stores data in a server by a secure method called secret sharing. If the password at the time of authentication is correct, the user can restore the correct data, and if the password is incorrect, the restoration fails.
しかしながら、非特許文献1に記載された技術は、ユーザとストレージサーバは直結しているということを前提としており、Webサービス等におけるWebサーバのようにゲートウェイとしての中間サーバが存在する場合の安全性は保証できない。 However, the technology described in Non-Patent Document 1 is based on the premise that the user and the storage server are directly connected, and safety when an intermediate server as a gateway exists like a Web server in a Web service or the like. Cannot be guaranteed.
この発明の目的は、中間サーバが存在する場合であっても安全性を保証することができるセキュア認証方法を提供することである。 An object of the present invention is to provide a secure authentication method capable of guaranteeing safety even when an intermediate server exists.
この発明の一態様によるセキュア認証方法は、
cx,cy,cz,dx,dy,dz,ex,ey,ezを所定の定数として、
クライアント装置が、乱数r(W)u,s(W)x,s(W)y,s(W)z,r(X)u,s(X)x,s(X)y,s(X)z,r(Y)u,s(Y)x,s(Y)y,s(Y)z,r(Z)u,s(Z)x,s(Z)y,s(Z)zを生成するステップと、
クライアント装置が、ユーザuのパスワードwu及び乱数r(W)u,r(X)u,r(Y)u,r(Z)uのそれぞれを秘密分散して、wuの分散値wux,wuy,wuz、r(W)uの分散値r(W)ux,r(W)uy,r(W)uz、r(X)uの分散値r(X)ux,r(X)uy,r(X)uz、r(Y)uの分散値r(Y)ux,r(Y)uy,r(Y)uz及びr(Z)uの分散値r(Z)ux,r(Z)uy,r(Z)uzを得るステップと、
クライアント装置が、s(W)ux=s(W)x-s(W)z,s(W)uy=s(W)y-s(W)x,s(W)uz=s(W)z-s(W)y,s(X)ux=s(X)x-s(X)z,s(X)uy=s(X)y-s(X)x,s(X)uz=s(X)z-s(X)y,s(Y)ux=s(Y)x-s(Y)z,s(Y)uy=s(Y)y-s(Y)x,s(Y)uz=s(Y)z-s(Y)y,s(Z)ux=s(Z)x-s(Z)z,s(Z)uy=s(Z)y-s(Z)x,s(Z)uz=s(Z)z-s(Z)yを計算するステップと、
クライアント装置が、wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxをクライアント装置と第一秘匿計算サーバとの共通鍵で暗号化したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)を生成し中間サーバに送信し、wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyをクライアント装置と第二秘匿計算サーバとの共通鍵で暗号化したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)を中間サーバに送信し、wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzをクライアント装置と第三秘匿計算サーバとの共通鍵で暗号化したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を中間サーバに送信するステップと、
中間サーバが、受信したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)を第一秘匿計算サーバに送信し、受信したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)を第二秘匿計算サーバに送信し、受信したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、受信したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)をクライアント装置と第一秘匿計算サーバとの共通鍵で復号してwux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxを生成し記憶部に記憶させるステップと、
第二秘匿計算サーバが、受信したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)をクライアント装置と第二秘匿計算サーバとの共通鍵で復号してwuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyを生成し記憶部に記憶させるステップと、
第三秘匿計算サーバが、受信したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)をクライアント装置と第三秘匿計算サーバとの共通鍵で復号してwuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzを生成し記憶部に記憶させるステップと、
クライアント装置が、入力されたパスワードw′を秘密分散して、w′の分散値w′x,w′y,w′zを得るステップと、
クライアント装置が、w′xをクライアント装置と第一秘匿計算サーバとの共通鍵で暗号化したEx(w′x)を生成し中間サーバに送信し、w′yをクライアント装置と第二秘匿計算サーバとの共通鍵で暗号化したEy(w′y)を生成し中間サーバに送信し、w′zをクライアント装置と第三秘匿計算サーバとの共通鍵で暗号化したEz(w′z)を生成し中間サーバに送信するステップと、
中間サーバが、受信したEx(w′x)を第一秘匿計算サーバに送信し、受信したEy(w′y)を第二秘匿計算サーバに送信し、受信したEz(w′z)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、乱数r′(W)x,s′(W)xを生成し、wux,r(W)ux,s(W)ux,w′xからq(W)x=cxr(W)ux(wux-w′x)+s(W)uxを計算し、q(W)xを中間サーバと第一秘匿計算サーバとの共通鍵で暗号化したEWX(q(W)x)及びr′(W)x,s′(W)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(W)x,s′(W)x)を生成し中間サーバに送信するステップと、
第二秘匿計算サーバが、乱数r′(W)y,s′(W)yを生成し、wuy,r(W)uy,s(W)uy,w′yからq(W)y=cyr(W)uy(wuy-w′y)+s(W)uyを計算し、q(W)yを中間サーバと第二秘匿計算サーバとの共通鍵で暗号化したEWY(q(W)y)及びr′(W)y,s′(W)yを第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(W)y,s′(W)y)を生成し中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(W)z,s′(W)zを生成し、wuz,r(W)uz,s(W)uz,w′zからq(W)z=czr(W)uz(wuz-w′z)+s(W)uzを計算し、q(W)zを中間サーバと第三秘匿計算サーバとの共通鍵で暗号化したEWZ(q(W)z)及びr′(W)z,s′(W)zを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(W)z,s′(W)z)を生成し中間サーバに送信するステップと、
中間サーバが、受信したEWX(q(W)x),EWY(q(W)y),EWZ(q(W)z)を復号してq(W)x,q(W)y,q(W)zを生成しq(W)=q(W)x+q(W)y+q(W)zを計算し、q(W)=0である場合には認証成功と判定するステップと、
中間サーバが、EZX(r′(W)z,s′(W)z)を第一秘匿計算サーバに送信し、EXY(r′(W)x,s′(W)x)を第二秘匿計算サーバに送信し、EYZ(r′(W)y,s′(W)y)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、受信したEZX(r′(W)z,s′(W)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してr′(W)z,s′(W)zを生成し、r(W)ux=dxr′(W)x+exr′(W)z,s(W)ux=s′(W)x-s′(W)zを計算することによりr(W)ux,s(W)uxを更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(W)x,s′(W)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してr′(W)x,s′(W)xを生成し、r(W)uy=dyr′(W)y+eyr′(W)x,s(W)uy=s′(W)y-s′(W)xを計算することによりr(W)uy,s(W)uyを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(W)y,s′(W)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してr′(W)y,s′(W)yを生成し、r(W)uz=dzr′(W)z+ezr′(W)y,s(W)uz=s′(W)z-s′(W)yを計算することによりr(W)uz,s(W)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(X)x,s′(X)xを生成し、wux,r(X)ux,s(X)ux,w′xからq(X)x=cxr(X)ux(wux-w′x)+s(X)uxを計算し、r′(X)x,s′(X)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(X)x,s′(X)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(X)y,s′(X)yを生成し、wuy,r(X)uy,s(X)uy,w′yからq(X)y=cyr(X)uy(wuy-w′y)+s(X)uyを計算し、q(X)yを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(q(X)y)及びr′(X)y,s′(X)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(X)y,s′(X)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(X)z,s′(X)zを生成し、wuz,r(X)uz,s(X)uz,w′zからq(X)z=czr(X)uz(wuz-w′z)+s(X)uzを計算し、q(X)z,r′(X)z,s′(X)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(q(X)z,r′(X)z,s′(X)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEXY(q(X)y),EZX(q(X)z,r′(X)z,s′(X)z)を送信し、第二秘匿計算サーバにEXY(r′(X)x,s′(X)x)を送信し、第三秘匿計算サーバにEYZ(r′(X)y,s′(X)y)を送信するステップと、
第一秘匿計算サーバが、受信したEXY(q(X)y)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してq(X)yを生成し、受信したEZX(q(X)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(X)zを生成し、q(X)=q(X)x+q(X)y+q(X)zを計算し、q(X)=0である場合には認証成功と判定し、r(X)ux=dxr′(X)x+exr′(X)z,s(X)ux=s′(X)x-s′(X)zを計算することによりr(X)ux,s(X)uxを更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(X)x,s′(X)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号し、r(X)uy=dyr′(X)y+eyr′(X)x,s(X)uy=s′(X)y-s′(X)xを計算することによりr(X)uy,s(X)uyを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(X)y,s′(X)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(X)uz=dzr′(X)z+ezr′(X)y,s(X)uz=s′(X)z-s′(X)yを計算することによりr(X)uz,s(X)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(Y)x,s′(Y)xを生成し、wux,r(Y)ux,s(Y)ux,w′xからq(Y)x=cxr(Y)ux(wux-w′x)+s(Y)uxを計算し、q(Y)x,r′(Y)x,s′(Y)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(q(Y)x,r′(Y)x,s′(Y)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(Y)y,s′(Y)yを生成し、wuy,r(Y)uy,s(Y)uy,w′yからq(Y)y=cyr(Y)uy(wuy-w′y)+s(Y)uyを計算し、r′(Y)y,s′(Y)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(Y)y,s′(Y)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(Y)z,s′(Y)zを生成し、wuz,r(Y)uz,s(Y)uz,w′zからq(Y)z=czr(Y)uz(wuz-w′z)+s(Y)uzを計算し、q(Y)zを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(q(Y)z)及びr′(Y)z,s′(Y)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(Y)z,s′(Y)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEZX(r′(Y)z,s′(Y)z)を送信し、第二秘匿計算サーバにEYZ(q(Y)z),EXY(q(Y)x,r′(Y)x,s′(Y)x)を送信し、第三秘匿計算サーバにEYZ(r′(Y)y,s′(Y)y)を送信するステップと、
第二秘匿計算サーバが、受信したEYZ(q(Y)z)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Y)zを生成し、受信した,EXY(q(Y)x,r′(Y)x,s′(Y)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してq(Y)x,r′(Y)x,s′(Y)xを生成し、q(Y)=q(Y)x+q(Y)y+q(Y)zを計算し、q(Y)=0である場合には認証成功と判定し、r(Y)uy=dyr′(Y)y+eyr′(Y)x,s(Y)uy=s′(Y)y-s′(Y)xを計算することによりr(Y)uy,s(Y)uyを更新するステップと、
第一秘匿計算サーバが、受信したEZX(r′(Y)z,s′(Y)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Y)ux=dxr′(Y)x+exr′(Y)z,s(Y)ux=s′(Y)x-s′(Y)zを計算することによりr(Y)ux,s(Y)uxを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(Y)y,s′(Y)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Y)uz=dzr′(Y)z+ezr′(Y)y,s(Y)uz=s′(Y)z-s′(Y)yを計算することによりr(Y)uz,s(Y)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(Z)x,s′(Z)xを生成し、wux,r(Z)ux,s(Z)ux,w′xからq(Z)x=cxr(Z)ux(wux-w′x)+s(Z)uxを計算し、q(Z)xを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEZX(q(Z)x)及びr′(Z)x,s′(Z)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(Z)x,s′(Z)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(Z)y,s′(Z)yを生成し、wuy,r(Z)uy,s(Z)uy,w′yからq(Z)y=cyr(Z)uy(wuy-w′y)+s(Z)uyを計算し、q(Z)y,r′(Z)y,s′(Z)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(Z)z,s′(Z)zを生成し、wuz,r(Z)uz,s(Z)uz,w′zからq(Z)z=czr(Z)uz(wuz-w′z)+s(Z)uzを計算し、r′(Z)z,s′(Z)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(Z)z,s′(Z)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEZX(r′(Z)z,s′(Z)z)を送信し、第二秘匿計算サーバにEXY(r′(Z)x,s′(Z)x)を送信し、第三秘匿計算サーバにEZX(q(Z)x),EYZ(q(Z)y,r′(Z)y,s′(Z)y)を送信するステップと、
第三秘匿計算サーバが、受信したEZX(q(Z)x)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Z)xを生成し、受信したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Z)y,r′(Z)y,s′(Z)yを生成し、q(Z)=q(Z)x+q(Z)y+q(Z)zを計算し、q(Z)=0である場合には認証成功と判定し、r(Z)uz=dzr′(Z)z+ezr′(Z)y,s(Z)uz=s′(Z)z-s′(Z)yを計算することによりr(Z)uz,s(Z)uzを更新するステップと、
第一秘匿計算サーバが、受信したEZX(r′(Z)z,s′(Z)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Z)ux=dxr′(Z)x+exr′(Z)z,s(Z)ux=s′(Z)x-s′(Z)zを計算することによりr(Z)ux,s(Z)ux=を更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(Z)x,s′(Z)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号し、r(Z)uy=dyr′(Z)y+eyr′(Z)x,s(Z)uy=s′(Z)y-s′(Z)xを計算することによりr(Z)uy,s(Z)uyを更新するステップと、
を有する。
A secure authentication method according to an aspect of the present invention includes:
c x , c y , c z , d x , d y , d z , e x , e y , e z are given constants,
The client device has random numbers r (W) u , s (W) x , s (W) y , s (W) z , r (X) u , s (X) x , s (X) y , s (X ) z , r (Y) u , s (Y) x , s (Y) y , s (Y) z , r (Z) u , s (Z) x , s (Z) y , s (Z) z A step of generating
The client device secretly distributes each of user u's password w u and random numbers r (W) u , r (X) u , r (Y) u , r (Z) u , and the distributed value w ux of w u , w uy , w uz , r (W) u variance value r (W) ux , r (W) uy , r (W) uz , r (X) u variance value r (X) ux , r (X ) uy , r (X) uz , r (Y) u variances r (Y) ux , r (Y) uy , r (Y) uz and r (Z) u variances r (Z) ux , r Obtaining (Z) uy , r (Z) uz ;
If the client device is s (W) ux = s (W) x -s (W) z , s (W) uy = s (W) y -s (W) x , s (W) uz = s (W) z -s (W) y , s (X) ux = s (X) x -s (X) z , s (X) uy = s (X) y -s (X) x , s (X) uz = s (X) z -s (X) y , s (Y) ux = s (Y) x -s (Y) z , s (Y) uy = s (Y) y -s (Y) x , s ( Y) uz = s (Y) z -s (Y) y , s (Z) ux = s (Z) x -s (Z) z , s (Z) uy = s (Z) y -s (Z) calculating x , s (Z) uz = s (Z) z -s (Z) y ;
Client device is w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux) encrypted with (Z) ux with a common key between the client device and the first secret calculation server , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux ) are generated and sent to the intermediate server, w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy is encrypted with a common key between the client device and the second secure calculation server E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) to the intermediate server, w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz encrypted with a common key between the client device and the third secure calculation server E z (w uz , r (W) uz , s (W) uz , r (X ) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) to the intermediate server;
The intermediate server receives E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r ( Z) ux , s (Z) ux ) is sent to the first secret computation server and received E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) are sent to the second secret computation server and received E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) And steps to
The first secret computation server receives E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux ) are decrypted with a common key between the client device and the first secret calculation server, and w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux are generated and stored in the storage unit;
The second secret calculation server receives E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) are decrypted with the common key between the client device and the second secret computation server, and wuy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy are generated and stored in the storage unit,
The third secret calculation server receives the received E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) with a common key between the client device and the third secret calculation server, and w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz are generated and stored in the storage unit,
The client device secretly distributes the input password w ′ to obtain the distributed values w ′ x , w ′ y , w ′ z of w ′;
Client device, w and sends the generated intermediate server 'the x common key encrypted E x (w a client device and a first confidential calculation servers' x), the client device w' y and the second concealment E y (w ′ y ) encrypted with a common key with the calculation server is generated and sent to the intermediate server, and w ′ z is encrypted with a common key between the client device and the third secret calculation server E z (w ′ Z ) and sending it to the intermediate server;
The intermediate server sends the received E x (w ′ x ) to the first secret calculation server, sends the received E y (w ′ y ) to the second secret calculation server, and receives the received E z (w ′ z ) To the third secret calculation server;
First confidential calculation server generates a random number r '(W) x, s ' (W) x, w ux, r (W) ux, s (W) ux, w' x from q (W) x = c x r (W) ux (w ux -w ′ x ) + s (W) ux is calculated and q (W) x is encrypted with the common key between the intermediate server and the first secret calculation server E WX ( q XY (r ′ (W) x , q (W) x ) and r ′ (W) x , s ′ (W) x encrypted with a common key between the first secret calculation server and the second secret calculation server s ′ (W) x ) and sending it to the intermediate server;
The second secret calculation server generates random numbers r ′ (W) y , s ′ (W) y , and from w uy , r (W) uy , s (W) uy , w ′ y to q (W) y = c y r (W) uy (w uy -w ′ y ) + s (W) uy is calculated, and q (W) y is encrypted with a common key between the intermediate server and the second secret calculation server E WY ( E YZ (r ′ (W) y , q (W) y ) and r ′ (W) y , s ′ (W) y encrypted with a common key between the second secret calculation server and the third secret calculation server s ′ (W) y ) and sending it to the intermediate server;
Third confidential calculation server generates a random number r '(W) z, s ' (W) z, w uz, r (W) uz, s (W) uz, w' z from q (W) z = c z r (W) uz ( w uz -w 'z) + s (W) uz was calculated and encrypted q a (W) z a common key between the intermediate server and the third secret calculation server E WZ ( E ZX (r ′ (W) z , q (W) z ) and r ′ (W) z , s ′ (W) z encrypted with a common key between the first and third secure calculation servers s ′ (W) z ) and sending it to the intermediate server;
The intermediate server decrypts the received E WX (q (W) x ), E WY (q (W) y ), E WZ (q (W) z ) and decodes q (W) x , q (W) y , q (W) to generate a z calculates the q (W) = q (W ) x + q (W) y + q (W) z, determining the authentication success in the case of q (W) = 0 And steps to
The intermediate server sends E ZX (r ′ (W) z , s ′ (W) z ) to the first secret calculation server, and E XY (r ′ (W) x , s ′ (W) x ) Transmitting to the second secret calculation server, and transmitting E YZ (r ′ (W) y , s ′ (W) y ) to the third secret calculation server;
The first secret calculation server decrypts the received E ZX (r ′ (W) z , s ′ (W) z ) with the common key of the first secret calculation server and the third secret calculation server, and r ′ (W ) z , s ′ (W) z and r (W) ux = d x r ′ (W) x + e x r ′ (W) z , s (W) ux = s ′ (W) x − updating r (W) ux , s (W) ux by calculating s ′ (W) z ;
The second secret calculation server decrypts the received E XY (r ′ (W) x , s ′ (W) x ) with the common key of the first secret calculation server and the second secret calculation server, and r ′ (W ) x , s ′ (W) x and r (W) uy = d y r ′ (W) y + e y r ′ (W) x , s (W) uy = s ′ (W) y − updating r (W) uy , s (W) uy by calculating s ′ (W) x ;
The third secret calculation server decrypts the received E YZ (r ′ (W) y , s ′ (W) y ) with the common key of the second secret calculation server and the third secret calculation server, and r ′ (W ) y , s ′ (W) y and r (W) uz = d z r ′ (W) z + e z r ′ (W) y , s (W) uz = s ′ (W) z − updating r (W) uz , s (W) uz by calculating s ′ (W) y ;
The first secret calculation server generates random numbers r ′ (X) x , s ′ (X) x , and from w ux , r (X) ux , s (X) ux , w ′ x to q (X) x = c x r (X) ux (w ux -w ′ x ) + s (X) ux is calculated, and r ′ (X) x and s ′ (X) x are calculated as the first secret calculation server and the second secret calculation server. Sending E XY (r ′ (X) x , s ′ (X) x ) encrypted with a common key to the intermediate server;
The second secret calculation server generates random numbers r ′ (X) y , s ′ (X) y , and from w uy , r (X) uy , s (X) uy , w ′ y to q (X) y = c y r (X) uy (w uy -w ′ y ) + s (X) uy is calculated, and q (X) y is encrypted with the common key of the first secret calculation server and the second secret calculation server E XY (q (X) y ) and r ′ (X) y , s ′ (X) y are encrypted with a common key with the second and third secure calculation servers E YZ (r ′ (X ) y , s ′ (X) y ) to the intermediate server;
The third secret calculation server generates random numbers r ′ (X) z , s ′ (X) z , and from w uz , r (X) uz , s (X) uz , w ′ z to q (X) z = c z r (X) uz (w uz -w ′ z ) + s (X) uz is calculated and q (X) z , r ′ (X) z , s ′ (X) z is the first secret calculation server And E ZX (q (X) z , r ′ (X) z , s ′ (X) z ) encrypted with a common key with the third secret calculation server, to the intermediate server;
The intermediate server sends E XY (q (X) y ), E ZX (q (X) z , r ′ (X) z , s ′ (X) z ) to the first secret calculation server, and the second secret Send E XY (r ′ (X) x , s ′ (X) x ) to the computation server and send E YZ (r ′ (X) y , s ′ (X) y ) to the third secret computation server Steps,
The first secret computation server decrypts the received E XY (q (X) y ) with the common key of the first secret computation server and the second secret computation server, generates q (X) y , and receives the received E Decrypt ZX (q (X) z ) with the common key of the first and third secure calculation servers to generate q (X) z , and q (X) = q (X) x + q ( X) y + q (X) z is calculated.If q (X) = 0, it is determined that authentication is successful, and r (X) ux = d x r ′ (X) x + e x r ′ ( Updating r (X) ux , s (X) ux by computing X) z , s (X) ux = s ′ (X) x- s ′ (X) z ;
The second secret calculation server decrypts the received E XY (r ′ (X) x , s ′ (X) x ) with the common key of the first secret calculation server and the second secret calculation server, and r (X) u y = d y r ′ (X) y + e y r ′ (X) x , s (X) uy = s ′ (X) y -s ′ (X) x by calculating r (X) uy , s (X) uy update step;
The third secret calculation server decrypts the received E YZ (r ′ (X) y , s ′ (X) y ) with the common key of the second secret calculation server and the third secret calculation server, and r (X) By calculating uz = d z r ′ (X) z + e z r ′ (X) y , s (X) uz = s ′ (X) z -s ′ (X) y , r (X) uz , s (X) uz update step;
First confidential calculation server generates a random number r '(Y) x, s ' (Y) x, w ux, r (Y) ux, s (Y) ux, from w' x q (Y) x = c x r (Y) ux (w ux -w ′ x ) + s (Y) ux is calculated and q (Y) x , r ′ (Y) x , s ′ (Y) x is the first secret calculation server Transmitting E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) encrypted with a common key between the server and the second secret calculation server to the intermediate server;
The second secret calculation server generates random numbers r ′ (Y) y , s ′ (Y) y , and from w uy , r (Y) uy , s (Y) uy , w ′ y to q (Y) y = c y r (Y) uy (w uy -w ′ y ) + s (Y) uy is calculated, and r ′ (Y) y , s ′ (Y) y is calculated as the second secret calculation server and the third secret calculation server. Sending E YZ (r ′ (Y) y , s ′ (Y) y ) encrypted with a common key to the intermediate server;
The third secret calculation server generates random numbers r ′ (Y) z , s ′ (Y) z , and w ( uz , r (Y) uz , s (Y) uz , w ′ z to q (Y) z = c z r (Y) uz (w uz -w ′ z ) + s (Y) uz is calculated, and q (Y) z is encrypted with the second secret calculation server and the third secret calculation server. E YZ (q (Y) z ) and r ′ (Y) z , s ′ (Y) z are encrypted using a common key with the first and third secure calculation servers E ZX (r ′ (Y ) z , s ′ (Y) z ) to the intermediate server;
The intermediate server sends E ZX (r ′ (Y) z , s ′ (Y) z ) to the first secret calculation server, and E YZ (q (Y) z ), E XY ( q (Y) x , r ′ (Y) x , s ′ (Y) x ) and E YZ (r ′ (Y) y , s ′ (Y) y ) to the third secret calculation server Steps,
The second secret calculation server decrypts the received E YZ (q (Y) z ) with the common key of the second secret calculation server and the third secret calculation server, generates q (Y) z , and receives, E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) is decrypted with the common key between the first secret calculation server and the second secret calculation server, and q (Y) x , r ′ (Y) x , s ′ (Y) x is generated, q (Y) = q (Y) x + q (Y) y + q (Y) z is calculated, and q (Y) = 0 In this case, it is determined that the authentication is successful, and r (Y) uy = d y r ′ (Y) y + e y r ′ (Y) x , s (Y) uy = s ′ (Y) y -s ′ (Y ) updating r (Y) uy , s (Y) uy by calculating x ;
The first secret calculation server decrypts the received E ZX (r ′ (Y) z , s ′ (Y) z ) with the common key of the first secret calculation server and the third secret calculation server, and r (Y) ux = d x r ′ (Y) x + e x r ′ (Y) z , s (Y) ux = s ′ (Y) x -s ′ (Y) z by calculating r (Y) ux , s updating the (Y) ux ;
The third secret calculation server decrypts the received E YZ (r ′ (Y) y , s ′ (Y) y ) with the common key of the second secret calculation server and the third secret calculation server, and r (Y) By calculating uz = d z r ′ (Y) z + e z r ′ (Y) y , s (Y) uz = s ′ (Y) z -s ′ (Y) y , r (Y) uz , s (Y) uz update step,
The first secret calculation server generates random numbers r ′ (Z) x , s ′ (Z) x , and w ux , r (Z) ux , s (Z) ux , w ′ x to q (Z) x = c x r (Z) ux (w ux -w ′ x ) + s (Z) ux is calculated, and q (Z) x is encrypted with the common key of the first and third secure calculation servers E ZX (q (Z) x ) and r ′ (Z) x , s ′ (Z) x are encrypted with a common key between the first and second secure calculation servers E XY (r ′ (Z ) x , s ′ (Z) x ) to the intermediate server;
The second secret calculation server generates random numbers r ′ (Z) y , s ′ (Z) y , and from w uy , r (Z) uy , s (Z) uy , w ′ y to q (Z) y = c y r (Z) uy (w uy -w ′ y ) + s (Z) uy is calculated and q (Z) y , r ′ (Z) y , s ′ (Z) y is calculated as the second secret calculation server And E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) encrypted with a common key with the third secret calculation server,
The third secret calculation server generates random numbers r ′ (Z) z , s ′ (Z) z , and from w uz , r (Z) uz , s (Z) uz , w ′ z to q (Z) z = c z r (Z) uz (w uz -w ′ z ) + s (Z) uz is calculated, and r ′ (Z) z and s ′ (Z) z are calculated as the first secret calculation server and the third secret calculation server. Sending E ZX (r ′ (Z) z , s ′ (Z) z ) encrypted with a common key to the intermediate server;
The intermediate server sends E ZX (r ′ (Z) z , s ′ (Z) z ) to the first secret calculation server, and E XY (r ′ (Z) x , s ′ ( Z) x ) and E ZX (q (Z) x ), E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) to the third secret calculation server Steps,
The third secret calculation server decrypts the received E ZX (q (Z) x ) with the common key of the first secret calculation server and the third secret calculation server, generates q (Z) x , and receives the received E ZX YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) is decrypted with the common key of the first secret calculation server and the third secret calculation server, and q (Z) y , r ′ (Z) y , s ′ (Z) y is generated, q (Z) = q (Z) x + q (Z) y + q (Z) z is calculated, and q (Z) = 0 Is determined to be successful, and r (Z) uz = d z r ′ (Z) z + e z r ′ (Z) y , s (Z) uz = s ′ (Z) z -s ′ (Z) updating r (Z) uz , s (Z) uz by calculating y ; and
The first secret calculation server decrypts the received E ZX (r ′ (Z) z , s ′ (Z) z ) with the common key of the first secret calculation server and the third secret calculation server, and r (Z) ux = d x r '(Z ) x + e x r' (Z) z, s (Z) ux = s '(Z) x -s' (Z) r by computing z (Z) ux, updating s (Z) ux =
The second secret calculation server decrypts the received E XY (r ′ (Z) x , s ′ (Z) x ) with the common key between the first secret calculation server and the second secret calculation server, and r (Z) u y = d y r ′ (Z) y + e y r ′ (Z) x , s (Z) uy = s ′ (Z) y -s ′ (Z) x by calculating r (Z) uy , updating s (Z) uy ;
Have
中間サーバが存在する場合であっても安全性を保証することができる。 Even if an intermediate server exists, safety can be guaranteed.
以下、図面を参照して、セキュア認証方法の実施形態を説明する。 Hereinafter, an embodiment of a secure authentication method will be described with reference to the drawings.
[第一実施形態]
セキュア認証方法を行う第一実施形態のセキュア認証システムは、図1に示すように、クライアント装置1、中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4及び第三秘匿計算サーバ5を例えば備える。クライアント装置1と中間サーバ2は、データの送受信が可能なように接続されている。中間サーバ2と各秘匿計算サーバは、データの送受信が可能なように接続されている。
[First embodiment]
As shown in FIG. 1, the secure authentication system of the first embodiment that performs the secure authentication method includes a client device 1, an intermediate server 2, a first
まず、第一実施形態のセキュア認証方法の概要を説明する。まず、システムを利用するユーザuのパスワードがwuであることを登録する(ステップS1からステップS6,図2)。認証を実施する際に併せて用いるいくつかの乱数についてもクライアントで生成し、各秘匿計算サーバに送る。このとき、間に入る例えばWebサーバである中間サーバ2がこれらの情報を悪用しクライアントに成りすまさないよう、送信する分散値等は各秘匿計算サーバとの共有鍵で暗号化しておく。 First, an outline of the secure authentication method of the first embodiment will be described. First, it is registered that the password of the user u who uses the system is w u (step S1 to step S6, FIG. 2). Some random numbers used together with the authentication are also generated by the client and sent to each secret calculation server. At this time, in order to prevent the intermediate server 2 that is an intermediary server 2, for example, from misusing these information and impersonating the client, the distributed value to be transmitted is encrypted with a shared key with each secret calculation server.
次に、認証の実施手順について述べる。ユーザuがパスワードw′によって認証を試みてきた場合、登録されているuのパスワードwuとw′が一致することを確認するために、wuとw′の差が0であることを協調計算によって導く(ステップS7からステップS38)。認証の権限がシステムを構成する参加者である中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4、第三秘匿計算サーバ5のいずれかに偏ることがないよう、各参加者ごとに認証のための計算を行う。協調計算によって、wu,w′が各参加者に知られることがないよう、乱数と組み合わせて協調計算する。また、このとき用いられる乱数を次回の認証で使いまわさないよう、認証の手順の最後で更新を行う。
Next, an authentication procedure will be described. If user u attempts to authenticate with password w ′, coordinate the difference between w u and w ′ to be zero to ensure that the registered passwords u u and w ′ match. Derived by calculation (step S7 to step S38). For each participant, the authentication authority is not biased to any of the intermediate server 2, the first
<ユーザ登録・パスワード変更(ステップS1からステップS6)>
<<クライアント装置1の処理(ステップS1からステップS4)>>
クライアントユーザuのパスワードwuと乱数を秘密分散し、クライアント装置1から中間サーバ2を経由して各秘匿計算サーバに送信する。ここで、予めクライアント装置1と各秘匿計算サーバで共通鍵を共有しているものとする。
<User registration / password change (from step S1 to step S6)>
<< Processing of Client Device 1 (Step S1 to Step S4) >>
The password w u and the random number of the client user u are secretly distributed and transmitted from the client device 1 to each secret calculation server via the intermediate server 2. Here, it is assumed that the client apparatus 1 and each secret calculation server share a common key in advance.
クライアント装置1と第一秘匿計算サーバ3との間の共通鍵をxとし、共通鍵xによる暗号化をExと表現する。
A common key between the client device 1 and the first
クライアント装置1と第二秘匿計算サーバ4との間の共通鍵をyとし、共通鍵yによる暗号化をEyと表現する。 A common key between the client apparatus 1 and the second secret calculation server 4 is represented by y, and encryption using the common key y is represented by E y .
クライアント装置1と第三秘匿計算サーバ5との間の共通鍵をzとし、共通鍵zによる暗号化をEzと表現する。
A common key between the client apparatus 1 and the third
<<<ステップS1>>>
クライアント装置1は、乱数r(W)u,s(W)x,s(W)y,s(W)z,r(X)u,s(X)x,s(X)y,s(X)z,r(Y)u,s(Y)x,s(Y)y,s(Y)z,r(Z)u,s(Z)x,s(Z)y,s(Z)zを生成する(ステップS1)。
<<< Step S1 >>>
The client device 1 has random numbers r (W) u , s (W) x , s (W) y , s (W) z , r (X) u , s (X) x , s (X) y , s ( X) z , r (Y) u , s (Y) x , s (Y) y , s (Y) z , r (Z) u , s (Z) x , s (Z) y , s (Z) z is generated (step S1).
r(W)u,s(W)x,s(W)y,s(W)zは、中間サーバ2主体の認証で用いられる乱数である。 r (W) u , s (W) x , s (W) y , s (W) z are random numbers used in authentication of the intermediate server 2 subject.
r(X)u,s(X)x,s(X)y,s(X)zは、第一秘匿計算サーバ3主体の認証で用いられる乱数である。
r (X) u , s (X) x , s (X) y , s (X) z are random numbers used for authentication of the first
r(Y)u,s(Y)x,s(Y)y,s(Y)zは、第二秘匿計算サーバ4主体の認証で用いられる乱数である。 r (Y) u , s (Y) x , s (Y) y , s (Y) z are random numbers used in the authentication of the second secret calculation server 4 subject.
r(Z)u,s(Z)x,s(Z)y,s(Z)zは、第三秘匿計算サーバ5主体の認証で用いられる乱数である。
r (Z) u , s (Z) x , s (Z) y , s (Z) z are random numbers used in authentication of the third
<<<ステップS2>>>
クライアント装置1は、ユーザuのパスワードwu及び乱数r(W)u,r(X)u,r(Y)u,r(Z)uのそれぞれを秘密分散して、以下の分散値を得る(ステップS2)。秘密分散は、既存の方法により適宜行われる。
<<< Step S2 >>>
The client device 1 secretly distributes the password w u of the user u and the random numbers r (W) u , r (X) u , r (Y) u , r (Z) u , and obtains the following distributed values: (Step S2). Secret sharing is appropriately performed by an existing method.
wuの分散値は、wux,wuy,wuzである。 The variance value of w u is w ux , w uy , w uz .
r(W)uの分散値は、r(W)ux,r(W)uy,r(W)uzである。 The variance of r (W) u is r (W) ux , r (W) uy , r (W) uz .
r(X)uの分散値は、r(X)ux,r(X)uy,r(X)uzである。 The dispersion values of r (X) u are r (X) ux , r (X) uy , r (X) uz .
r(Y)uの分散値は、r(Y)ux,r(Y)uy,r(Y)uzである。 The variance of r (Y) u is r (Y) ux , r (Y) uy , r (Y) uz .
r(Z)uの分散値は、r(Z)ux,r(Z)uy,r(Z)uzである。 The dispersion value of r (Z) u is r (Z) ux , r (Z) uy , r (Z) uz .
<<<ステップS3>>>
クライアント装置は、それぞれ以下のように定義される(s(W)ux,s(W)uy,s(W)uz),(s(X)ux,s(X)uy,s(X)uz),(s(Y)ux,s(Y)uy,s(Y)uz),(s(Z)ux,s(Z)uy,s(Z)uz)を計算する(ステップS3)。
<<< Step S3 >>>
The client devices are defined as follows: (s (W) ux , s (W) uy , s (W) uz ), (s (X) ux , s (X) uy , s (X) uz ), (s (Y) ux , s (Y) uy , s (Y) uz ), (s (Z) ux , s (Z) uy , s (Z) uz ) are calculated (step S3).
s(W)ux=s(W)x-s(W)z,s(W)uy=s(W)y-s(W)x,s(W)uz=s(W)z-s(W)y
s(X)ux=s(X)x-s(X)z,s(X)uy=s(X)y-s(X)x,s(X)uz=s(X)z-s(X)y
s(Y)ux=s(Y)x-s(Y)z,s(Y)uy=s(Y)y-s(Y)x,s(Y)uz=s(Y)z-s(Y)y
s(Z)ux=s(Z)x-s(Z)z,s(Z)uy=s(Z)y-s(Z)x,s(Z)uz=s(Z)z-s(Z)yを計算する
<<<ステップS4>>>
クライアント装置1は、暗号文Ex(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux), Ey(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy),Ez(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を生成し、中間サーバ2に送信する(ステップS4)。
s (W) ux = s (W) x -s (W) z , s (W) uy = s (W) y -s (W) x , s (W) uz = s (W) z -s ( W) y
s (X) ux = s (X) x -s (X) z , s (X) uy = s (X) y -s (X) x , s (X) uz = s (X) z -s ( X) y
s (Y) ux = s (Y) x -s (Y) z , s (Y) uy = s (Y) y -s (Y) x , s (Y) uz = s (Y) z -s ( Y) y
s (Z) ux = s (Z) x -s (Z) z , s (Z) uy = s (Z) y -s (Z) x , s (Z) uz = s (Z) z -s ( Z) Calculate y
<<< Step S4 >>>
The client device 1 uses the ciphertext E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux ), E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s ( Y) uy , r (Z) uy , s (Z) uy ), E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y ) uz , s (Y) uz , r (Z) uz , s (Z) uz ) are generated and transmitted to the intermediate server 2 (step S4).
Ex(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)は、wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxをクライアント装置1と第一秘匿計算サーバ3との共通鍵xで暗号化した暗号文である。
E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s ( Z) ux ) is w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux is encrypted using a common key x between the client device 1 and the first
Ey(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)は、wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyをクライアント装置1と第二秘匿計算サーバ4との共通鍵yで暗号化した暗号文である。 E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s ( Z) uy ) is w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy is a ciphertext obtained by encrypting the client device 1 and the second secret calculation server 4 with a common key y.
Ez(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)は、wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzをクライアント装置1と第三秘匿計算サーバ5との共通鍵zで暗号化した暗号文である。
E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s ( Z) uz ) is w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz is a ciphertext obtained by encrypting the client device 1 and the third
<<中間サーバ2の処理(ステップS5)>>
<<<ステップS5>>>
中間サーバ2は、クライアント装置1から受信した暗号文を各秘匿計算サーバに送信する(ステップS5)。具体的には、以下の処理を行う。
<< Process of Intermediate Server 2 (Step S5) >>
<<< Step S5 >>>
The intermediate server 2 transmits the ciphertext received from the client device 1 to each secret calculation server (step S5). Specifically, the following processing is performed.
中間サーバ2は、Ex(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)を、第一秘匿計算サーバ3に送信する。
The intermediate server 2 is represented by E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z ) ux , s (Z) ux ) is transmitted to the first
中間サーバ2は、Ey(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)を、第二秘匿計算サーバ4に送信する。 The intermediate server 2 is represented by E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z ) uy , s (Z) uy ) is transmitted to the second secret calculation server 4.
中間サーバ2は、Ez(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を、第三秘匿計算サーバ5に送信する。
The intermediate server 2 is configured as E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z ) uz , s (Z) uz ) is transmitted to the third
<<秘匿計算サーバの処理(ステップS6)>>
<<<ステップS6>>>
各秘匿計算サーバは、クライアント装置1から中間サーバを経由して送られてきた暗号文を復号し、パスワードと乱数の分散値を図示していない記憶部に記憶する(ステップS6)。具体的には、以下の処理を行う。
<< Secret calculation server processing (step S6) >>
<<< Step S6 >>>
Each secret calculation server decrypts the ciphertext sent from the client apparatus 1 via the intermediate server, and stores the password and the random number distributed value in a storage unit (not shown) (step S6). Specifically, the following processing is performed.
第一秘匿計算サーバ3は、受信した暗号文Ex(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)をクライアント装置1と第一秘匿計算サーバ3との共通鍵xで復号してwux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxを生成し記憶部に記憶させる。
The first
第二秘匿計算サーバ4は、受信した暗号文Ey(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)をクライアント装置1と第二秘匿計算サーバ4との共通鍵yで復号してwuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyを生成し記憶部に記憶させる。 The second secret calculation server 4 receives the received ciphertext E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s ( Y) uy , r (Z) uy , s (Z) uy ) are decrypted with the common key y between the client apparatus 1 and the second secret calculation server 4, and wuy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy are generated and stored in the storage unit.
第三秘匿計算サーバ5は、受信した暗号文Ez(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)をクライアント装置1と第三秘匿計算サーバ5との共通鍵zで復号してwuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzを生成し記憶部に記憶させる。
The third
<認証(基本動作)(ステップS7からステップS37)>
認証は、図3に例示するように、(1)認証の前処理、(2)中間サーバ2で認証を行うフェーズW、(3)第一秘匿計算サーバ3で認証を行うフェーズX、(4)第二秘匿計算サーバ4で認証を行うフェーズY、(5)第三秘匿計算サーバ5で認証を行うフェーズZの5つの段階から構成される。認証はステップS7からステップS37で構成され、ステップ7からステップS9が認証の前処理に対応し、ステップS10からステップS16がフェーズWに対応し、ステップS17からステップS23がフェーズXに対応し、ステップS24からステップS30がフェーズYに対応し、ステップS31からステップS37がフェーズZに対応する。
<Authentication (basic operation) (step S7 to step S37)>
As illustrated in FIG. 3, the authentication includes (1) pre-processing for authentication, (2) phase W in which authentication is performed by the intermediate server 2, (3) phase X in which authentication is performed by the first
ユーザuとしてパスワードw′が来たときの認証方法を示す。予め秘匿計算サーバ間、及び、中間サーバ2と各秘匿計算サーバ間で共通鍵を共有しているものとする。 An authentication method when the password w ′ comes as the user u is shown. It is assumed that a common key is shared in advance between the secure calculation servers and between the intermediate server 2 and each secure calculation server.
第一秘匿計算サーバ3と第二秘匿計算サーバ4との間の共通鍵をXYとし、共通鍵XYによる暗号化をEXYと表現する。
The common key between the first
第二秘匿計算サーバ4と第三秘匿計算サーバ5との間の共通鍵をYZとし、共通鍵YZによる暗号化をEYZと表現する。
A common key between the second secret calculation server 4 and the third
第三秘匿計算サーバ5と第一秘匿計算サーバ3との間の共通鍵をZXとし、共通鍵ZXによる暗号化をEZXと表現する。
A common key between the third
中間サーバ2と第一秘匿計算サーバ3との間の共通鍵をWXとし、共通鍵WXによる暗号化をEWXと表現する。
A common key between the intermediate server 2 and the first
中間サーバ2と第二秘匿計算サーバ4との間の共通鍵をWYとし、共通鍵WYによる暗号化をEWYと表現する。 A common key between the intermediate server 2 and the second secret calculation server 4 is expressed as WY, and encryption using the common key WY is expressed as E WY .
中間サーバ2と第三秘匿計算サーバ5との間の共通鍵をWZとし、共通鍵WZによる暗号化をEWZと表現する。
A common key between the intermediate server 2 and the third
<<クライアント装置1の処理(ステップS7からステップS8)>>
クライアント装置1は、ユーザuとして、パスワードw′で認証を試みる。
<< Processing of Client Device 1 (Step S7 to Step S8) >>
The client device 1 tries to authenticate with the password w ′ as the user u.
<<<ステップS7>>>
クライアント装置は、入力されたパスワードw′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップS7)。
<<< Step S7 >>>
The client device secretly distributes the input password w ′ to obtain the distributed values w ′ x , w ′ y , and w ′ z of w ′ (step S7).
<<<ステップS8>>>
クライアント装置1が、分散値w′x,w′y,w′zのそれぞれを共通鍵で暗号化して、中間サーバ2に送信する(ステップS8)。具体的には、以下の処理を行う。
<<< Step S8 >>>
The client device 1 encrypts each of the distributed values w ′ x , w ′ y , and w ′ z with a common key, and transmits it to the intermediate server 2 (step S8). Specifically, the following processing is performed.
クライアント装置1は、w′xをクライアント装置1と第一秘匿計算サーバ3との共通鍵xで暗号化したEx(w′x)を生成し中間サーバ2に送信する。 Client device 1 generates and transmits 'encrypted E x (w common key x of the x and the client device 1 and the first confidential calculation server 3' x) w to an intermediate server 2.
クライアント装置1は、w′yをクライアント装置1と第二秘匿計算サーバ4との共通鍵yで暗号化したEy(w′y)を生成し中間サーバ2に送信する。 The client device 1 sends w to an intermediate server 2 generates 'a y client device 1 and encrypted E y (w common key y of the second confidential calculation server 4' y).
クライアント装置1は、w′zをクライアント装置1と第三秘匿計算サーバ5との共通鍵zで暗号化したEz(w′z)を生成し中間サーバ2に送信する。 Client device 1 generates and transmits 'encrypted E z (w common key z of the z client apparatus 1 and the third confidential calculation server 5' z) w to an intermediate server 2.
<<中間サーバ2の処理(ステップS9)>>
<<<ステップS9>>>
中間サーバ2は、受信した暗号文を各秘匿計算サーバに送信する。具体的には、以下の処理を行う(ステップS9)。
<< Process of Intermediate Server 2 (Step S9) >>
<<< Step S9 >>>
The intermediate server 2 transmits the received ciphertext to each secret calculation server. Specifically, the following processing is performed (step S9).
中間サーバ2は、受信したEx(w′x)を第一秘匿計算サーバ3に送信する。
The intermediate server 2 transmits the received E x (w ′ x ) to the first
中間サーバ2は、受信したEy(w′y)を第二秘匿計算サーバ4に送信する。 The intermediate server 2 transmits the received E y (w ′ y ) to the second secret calculation server 4.
中間サーバ2は、受信したEz(w′z)を第三秘匿計算サーバ5に送信する。
The intermediate server 2 transmits the received E z (w ′ z ) to the third
*フェーズX*
<<秘匿計算サーバの処理(ステップS10からステップS12)>>
各秘匿計算サーバは、クライアント装置1から中間サーバ2を経由送られてきた暗号文を復号し、保管しているパスワードと一致するか確認する。具体的には、以下の処理を行う。
* Phase X *
<< Secret calculation server processing (from step S10 to step S12) >>
Each secret calculation server decrypts the ciphertext sent from the client device 1 via the intermediate server 2 and checks whether it matches the stored password. Specifically, the following processing is performed.
cx,cy,cz,dx,dy,dz,ex,ey,ezは、秘密分散のやり方に応じて定まる所定の定数である。例えば、wuをwux=wu+2r′′ (mod p)とwuy=wu+3r′′ (mod p)とwuz=wu+4r′′ (mod p) (ただしr′′≠p)に秘密分散した場合、cx=6,cy=-8,cz=3,dx=1/2,dy=-1/2,dz=-1/3,ex=1/3,ey=1/4,ez=-1 (mod p)とする。cx,cy,cz,dx,dy,dz,ex,ey,ezは、パスワードが正しいときにq(W)=q(W)x+q(W)y+q(W)z=0を満たすように定められる。 c x, c y, c z , d x, d y, d z, e x, e y, e z is a predetermined constant determined according to the manner of secret sharing. For example, w u is changed to w ux = w u + 2r ′ ′ (mod p), w uy = w u + 3r ′ ′ (mod p) and w uz = w u + 4r ′ ′ (mod p) (where r ′ ′ ≠ p), c x = 6, c y = -8, c z = 3, d x = 1/2, d y = -1 / 2, d z = -1 / 3, e Let x = 1/3, e y = 1/4, e z = -1 (mod p). c x , c y , c z , d x , d y , d z , e x , e y , e z are q (W) = q (W) x + q (W) y + when the password is correct q (W) z is determined to satisfy z = 0.
<<<ステップS10>>>
第一秘匿計算サーバ3は、乱数r′(W)x,s′(W)xを生成し、wux,r(W)ux,s(W)ux,w′xからq(W)x=cxr(W)ux(wux-w′x)+s(W)uxを計算し、q(W)xを中間サーバ2と第一秘匿計算サーバ3との共通鍵WXで暗号化したEWX(q(W)x)及びr′(W)x,s′(W)xを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵XYで暗号化したEXY(r′(W)x,s′(W)x)を生成し中間サーバ2に送信する(ステップS10)。
<<< Step S10 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
In other words, the first
(a)乱数r′(W)x,s′(W)xを生成する。 (a) Generate random numbers r ′ (W) x and s ′ (W) x .
(b)wux,r(W)ux,s(W)ux,w′xからq(W)x=cxr(W)ux(wux-w′x)+s(W)uxを計算する。 (b) w ux , r (W) ux , s (W) ux , w ′ x to q (W) x = c x r (W) ux (w ux -w ′ x ) + s (W) ux calculate.
(c)q(W)x,r′(W)x,s′(W)xを暗号化し、EWX(q(W)x),EXY(r′(W)x,s′(W)x)を中間サーバ2に送信する。 (c) q (W) x , r ′ (W) x , s ′ (W) x is encrypted and E WX (q (W) x ), E XY (r ′ (W) x , s ′ (W ) x ) is transmitted to the intermediate server 2.
<<<ステップS11>>>
第二秘匿計算サーバ4は、乱数r′(W)y,s′(W)yを生成し、wuy,r(W)uy,s(W)uy,w′yからq(W)y=cyr(W)uy(wuy-w′y)+s(W)uyを計算し、q(W)yを中間サーバ2と第二秘匿計算サーバ4との共通鍵WYで暗号化したEWY(q(W)y)及びr′(W)y,s′(W)yを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵YZで暗号化したEYZ(r′(W)y,s′(W)y)を生成し中間サーバ2に送信する(ステップS11)。
<<< Step S11 >>>
Second confidential calculation server 4 generates a random number r '(W) y, s ' (W) y, w uy, r (W) uy, s (W) uy, w' y from q (W) y = c y r (W) uy (w uy -w ′ y ) + s (W) uy is calculated, and q (W) y is encrypted with the common key WY between the intermediate server 2 and the second secret calculation server 4 E WY (q (W) y ) and r ′ (W) y , s ′ (W) y are encrypted with a common key YZ between the second secret computation server 4 and the third secret computation server 5 E YZ ( r ′ (W) y , s ′ (W) y ) are generated and transmitted to the intermediate server 2 (step S11).
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(W)y,s′(W)yを生成する。 (a) Generate random numbers r ′ (W) y and s ′ (W) y .
(b)wuy,r(W)uy,s(W)uy,w′yからq(W)y=cyr(W)uy(wuy-w′y)+s(W)uyを計算する。 (b) w uy , r (W) uy , s (W) uy , w ′ y to q (W) y = c y r (W) uy (w uy -w ′ y ) + s (W) uy calculate.
(c)q(W)y,r′(W)y,s′(W)yを暗号化し、EWY(q(W)y),EYZ(r′(W)y,s′(W)y)を中間サーバ2に送信する。 (c) q (W) y , r ′ (W) y , s ′ (W) y is encrypted and E WY (q (W) y ), E YZ (r ′ (W) y , s ′ (W ) y ) is transmitted to the intermediate server 2.
<<<ステップS12>>>
第三秘匿計算サーバ5は、乱数r′(W)z,s′(W)zを生成し、wuz,r(W)uz,s(W)uz,w′zからq(W)z=czr(W)uz(wuz-w′z)+s(W)uzを計算し、q(W)zを中間サーバ2と第三秘匿計算サーバ5との共通鍵WZで暗号化したEWZ(q(W)z)及びr′(W)z,s′(W)zを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵ZXで暗号化したEZX(r′(W)z,s′(W)z)を生成し中間サーバ2に送信する(ステップS12)。
<<< Step S12 >>>
Third
換言すれば、第三秘匿計算サーバ5は、以下の(a)から(c)の処理を行う。
In other words, the third
(a)乱数r′(W)z,s′(W)zを生成する。 (a) Generate random numbers r ′ (W) z and s ′ (W) z .
(b)wuz,r(W)uz,s(W)uz,w′zからq(W)z=czr(W)uz(wuz-w′z)+s(W)uzを計算する。 (b) w uz , r (W) uz , s (W) uz , w ′ z to q (W) z = c z r (W) uz (w uz -w ′ z ) + s (W) uz calculate.
(c)q(W)z,r′(W)z,s′(W)zを暗号化し、EWZ(q(W)z),EZX(r′(W)z,s′(W)z)を中間サーバ2に送信する。 (c) q (W) z , r ′ (W) z , s ′ (W) z is encrypted and E WZ (q (W) z ), E ZX (r ′ (W) z , s ′ (W ) z ) is transmitted to the intermediate server 2.
<<中間サーバ2の処理(ステップS13からステップS14)>>
<<<ステップS13>>>
中間サーバ2は、受信したEWX(q(W)x),EWY(q(W)y),EWZ(q(W)z)をそれぞれ共通鍵WX,WY,WZで復号してq(W)x,q(W)y,q(W)zを生成しq(W)=q(W)x+q(W)y+q(W)zを計算し、q(W)=0である場合には認証成功と判定する(ステップS13)。q(W)≠0である場合には認証失敗と判定する。判定の結果は、クライアント装置1に通知される。
<< Process of Intermediate Server 2 (Step S13 to Step S14) >>
<<< Step S13 >>>
The intermediate server 2 decrypts the received E WX (q (W) x ), E WY (q (W) y ), and E WZ (q (W) z ) with the common keys WX, WY, and WZ, respectively. (W) x , q (W) y , q (W) z is generated, q (W) = q (W) x + q (W) y + q (W) z is calculated, and q (W) = If it is 0, it is determined that the authentication is successful (step S13). q If (W) ≠ 0, it is determined that authentication has failed. The result of the determination is notified to the client device 1.
言すれば、中間サーバ2は、以下の(a),(b)の処理を行う。 In other words, the intermediate server 2 performs the following processes (a) and (b).
(a)受信したEWX(q(W)x),EWY(q(W)y),EWZ(q(W)z)をそれぞれ共通鍵WX,WY,WZで復号してq(W)x,q(W)y,q(W)zを生成しq(W)=q(W)x+q(W)y+q(W)zを計算する。 (a) The received E WX (q (W) x ), E WY (q (W) y ), E WZ (q (W) z ) are decrypted with the common keys WX, WY, WZ, respectively, and q (W ) x , q (W) y , q (W) z are generated and q (W) = q (W) x + q (W) y + q (W) z is calculated.
(b)q(W)=0である場合には認証成功と判定する。q(W)≠0である場合には認証失敗と判定する。判定の結果を、クライアント装置1に送信する。 (b) If q (W) = 0, it is determined that the authentication is successful. q If (W) ≠ 0, it is determined that authentication has failed. The determination result is transmitted to the client device 1.
<<<ステップS14>>>
中間サーバ2は、暗号文を秘匿計算サーバに送信する(ステップS14)。具体的には、以下の処理を行う。
<<< Step S14 >>>
The intermediate server 2 transmits the ciphertext to the secret calculation server (step S14). Specifically, the following processing is performed.
中間サーバ2は、EZX(r′(W)z,s′(W)z)を第一秘匿計算サーバ3に送信する。
The intermediate server 2 transmits E ZX (r ′ (W) z , s ′ (W) z ) to the first
中間サーバ2は、EXY(r′(W)x,s′(W)x)を第二秘匿計算サーバ4に送信する。 The intermediate server 2 transmits E XY (r ′ (W) x , s ′ (W) x ) to the second secret calculation server 4.
中間サーバ2は、EYZ(r′(W)y,s′(W)y)を第三秘匿計算サーバ5に送信する。
The intermediate server 2 transmits E YZ (r ′ (W) y , s ′ (W) y ) to the third
<<秘匿計算サーバの処理(ステップS15からステップS17)>>
<<<ステップS15>>>
第一秘匿計算サーバ3は、受信したEZX(r′(W)z,s′(W)z)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号してr′(W)z,s′(W)zを生成し、r(W)ux=dxr′(W)x+exr′(W)z,s(W)ux=s′(W)x-s′(W)zを計算することによりr(W)ux,s(W)uxを更新する(ステップS15)。
<< Secret calculation server processing (from step S15 to step S17) >>
<<< Step S15 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
In other words, the first
(a)EZX(r′(W)z,s′(W)z)を復号してr′(W)z,s′(W)zを生成する。ここでは、検証を行わない。 (a) E ZX (r ′ (W) z , s ′ (W) z ) is decoded to generate r ′ (W) z , s ′ (W) z . Here, no verification is performed.
(b)r(W)ux,s(W)uxを次のように更新する。 (b) r (W) ux , s (W) ux is updated as follows.
r(W)ux=dxr′(W)x+exr′(W)z
s(W)ux=s′(W)x-s′(W)z
<<<ステップS16>>>
第二秘匿計算サーバ4は、受信したEXY(r′(W)x,s′(W)x)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号してr′(W)x,s′(W)xを生成し、r(W)uy=dyr′(W)y+eyr′(W)x,s(W)uy=s′(W)y-s′(W)xを計算することによりr(W)uy,s(W)uyを更新する(ステップS16)。
r (W) ux = d x r ′ (W) x + e x r ′ (W) z
s (W) ux = s ′ (W) x -s ′ (W) z
<<< Step S16 >>>
The second secret calculation server 4 decrypts the received E XY (r ′ (W) x , s ′ (W) x ) with the common key of the first
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) and (b).
(a)EXY(r′(W)x,s′(W)x)を復号してr′(W)x,s′(W)xを生成する。ここでは、検証を行わない。 (a) E XY (r ′ (W) x , s ′ (W) x ) is decoded to generate r ′ (W) x , s ′ (W) x . Here, no verification is performed.
(b)r(W)uy,s(W)uyを次のように更新する。 (b) r (W) uy , s (W) uy is updated as follows.
r(W)uy=dyr′(W)y+eyr′(W)x
s(W)uy=s′(W)y-s′(W)x
<<<ステップS17>>>
第三秘匿計算サーバ5は、受信したEYZ(r′(W)y,s′(W)y)を第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で復号してr′(W)y,s′(W)yを生成し、r(W)uz=dzr′(W)z+ezr′(W)y,s(W)uz=s′(W)z-s′(W)yを計算することによりr(W)uz,s(W)uzを更新する(ステップS17)。
r (W) uy = d y r ′ (W) y + e y r ′ (W) x
s (W) uy = s ′ (W) y -s ′ (W) x
<<< Step S17 >>>
The third
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) and (b).
(a)EYZ(r′(W)y,s′(W)y)を復号してr′(W)y,s′(W)yを生成する。ここでは、検証を行わない。 (a) E YZ (r ′ (W) y , s ′ (W) y ) is decoded to generate r ′ (W) y , s ′ (W) y . Here, no verification is performed.
(b)r(W)uz,s(W)uzを次のように更新する。 (b) r (W) uz , s (W) uz is updated as follows.
r(W)uz=dzr′(W)z+ezr′(W)y
s(W)uz=s′(W)z-s′(W)y
*フェーズX*
<<秘匿計算サーバの処理(ステップS18からステップS20)>>
<<<ステップS18>>>
第一秘匿計算サーバ3は、乱数r′(X)x,s′(X)xを生成し、wux,r(X)ux,s(X)ux,w′xからq(X)x=cxr(X)ux(wux-w′x)+s(X)uxを計算し、r′(X)x,s′(X)xを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化したEXY(r′(X)x,s′(X)x)を中間サーバ2へ送信する(ステップS18)。
r (W) uz = d z r ′ (W) z + e z r ′ (W) y
s (W) uz = s ′ (W) z -s ′ (W) y
* Phase X *
<< Secret calculation server processing (from step S18 to step S20) >>
<<< Step S18 >>>
First
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
In other words, the first
(a)乱数r′(X)x,s′(X)xを生成する。 (a) Generate random numbers r ′ (X) x and s ′ (X) x .
(b)wux,r(X)ux,s(X)ux,w′xからq(X)x=cxr(X)ux(wux-w′x)+s(X)uxを計算する。 (b) w ux , r (X) ux , s (X) ux , w ′ x to q (X) x = c x r (X) ux (w ux -w ′ x ) + s (X) ux calculate.
(c)r′(X)x,s′(X)xを暗号化し、EXY(r′(X)x,s′(X)x)を中間サーバ2へ送信する。 (c) r ′ (X) x and s ′ (X) x are encrypted, and E XY (r ′ (X) x and s ′ (X) x ) is transmitted to the intermediate server 2.
<<<ステップS19>>>
第二秘匿計算サーバ4は、乱数r′(X)y,s′(X)yを生成し、wuy,r(X)uy,s(X)uy,w′yからq(X)y=cyr(X)uy(wuy-w′y)+s(X)uyを計算し、q(X)yを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化したEXY(q(X)y)及びr′(X)y,s′(X)yを第二秘匿計算サーバ4及び第三秘匿計算サーバ5との共通鍵で暗号化したEYZ(r′(X)y,s′(X)y)を中間サーバ2に送信する(ステップS19)。
<<< Step S19 >>>
The second secret calculation server 4 generates random numbers r ′ (X) y , s ′ (X) y , and from w uy , r (X) uy , s (X) uy , w ′ y to q (X) y = c y r (X) uy (w uy -w ′ y ) + s (X) uy is calculated, and q (X) y is a common key between the first
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(X)y,s′(X)yを生成する。 (a) Generate random numbers r ′ (X) y and s ′ (X) y .
(b)wuy,r(X)uy,s(X)uy,w′yからq(X)y=cyr(X)uy(wuy-w′y)+s(X)uyを計算する。 (b) w uy , r (X) uy , s (X) uy , w ′ y to q (X) y = c y r (X) uy (w uy -w ′ y ) + s (X) uy calculate.
(c)q(X)y,r′(X)y,s′(X)yを暗号化し、EYZ(r′(X)y,s′(X)y),EXY(q(X)y)を中間サーバ2に送信する。 (c) q (X) y , r ′ (X) y , s ′ (X) y is encrypted and E YZ (r ′ (X) y , s ′ (X) y ), E XY (q (X ) y ) is transmitted to the intermediate server 2.
<<<ステップS20>>>
第三秘匿計算サーバ5は、乱数r′(X)z,s′(X)zを生成し、wuz,r(X)uz,s(X)uz,w′zからq(X)z=czr(X)uz(wuz-w′z)+s(X)uzを計算し、q(X)z,r′(X)z,s′(X)zを第一秘匿計算サーバ3及び第三秘匿計算サーバ5との共通鍵で暗号化したEZX(q(X)z,r′(X)z,s′(X)z)を中間サーバ2に送信する(ステップS20)。
<<< Step S20 >>>
Third
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(X)z,s′(X)zを生成する。 (a) Generate random numbers r ′ (X) z and s ′ (X) z .
(b)wuz,r(X)uz,s(X)uz,w′zからq(X)z=czr(X)uz(wuz-w′z)+s(X)uzを計算する。 (b) w uz , r (X) uz , s (X) uz , w ′ z to q (X) z = c z r (X) uz (w uz -w ′ z ) + s (X) uz calculate.
(c)q(X)z,r′(X)z,s′(X)zを暗号化し、EZX(q(X)z,r′(X)z,s′(X)z)を中間サーバ2に送信する。 (c) Encrypt q (X) z , r ′ (X) z , s ′ (X) z and convert E ZX (q (X) z , r ′ (X) z , s ′ (X) z ) to Transmit to the intermediate server 2.
<<中間サーバ2の処理(ステップS21)>>
<<<ステップS21>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS21)。具体的には、以下の処理を行う。
<< Process of Intermediate Server 2 (Step S21) >>
<<< Step S21 >>>
The intermediate server 2 transmits the received ciphertext to the secret calculation server (step S21). Specifically, the following processing is performed.
中間サーバ2は、第一秘匿計算サーバ3にEXY(q(X)y),EZX(q(X)z,r′(X)z,s′(X)z)を送信する。
The intermediate server 2 transmits E XY (q (X) y ), E ZX (q (X) z , r ′ (X) z , s ′ (X) z )) to the first
中間サーバ2は、第二秘匿計算サーバ4にEXY(r′(X)x,s′(X)x)を送信する。 The intermediate server 2 transmits E XY (r ′ (X) x , s ′ (X) x ) to the second secret calculation server 4.
中間サーバ2は、第三秘匿計算サーバ5にEYZ(r′(X)y,s′(X)y)を送信する。
The intermediate server 2 transmits E YZ (r ′ (X) y , s ′ (X) y ) to the third
<<第一秘匿計算サーバ3の処理(ステップS22)>>
<<<ステップS22>>>
第一秘匿計算サーバ3は、受信したEXY(q(X)y)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号してq(X)yを生成し、受信したEZX(q(X)z)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号してq(X)zを生成し、q(X)=q(X)x+q(X)y+q(X)zを計算し、q(X)=0である場合には認証成功と判定し、r(X)ux=dxr′(X)x+exr′(X)z,s(X)ux=s′(X)x-s′(X)zを計算することによりr(X)ux,s(X)uxを更新する(ステップS22)。
<< Process of First Secret Calculation Server 3 (Step S22) >>
<<< Step S22 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
In other words, the first
(a)EXY(q(X)y),EZX(q(X)z)を復号し、q(X)=q(X)x+q(X)y+q(X)zを計算し、q(X)=0である場合には認証成功と判定し、q(X)≠0であれば認証失敗と判定する。 (a) Decode E XY (q (X) y ), E ZX (q (X) z ) and calculate q (X) = q (X) x + q (X) y + q (X) z If q (X) = 0, it is determined that the authentication is successful, and if q (X) ≠ 0, it is determined that the authentication is unsuccessful.
(b)r(X)ux,s(X)uxを次のように更新する。 (b) r (X) ux , s (X) ux is updated as follows.
r(X)ux=dxr′(X)x+exr′(X)z
s(X)ux=s′(X)x-s′(X)z
<<他の秘匿計算サーバの処理(ステップS23からステップS24)>>
<<<ステップS23>>>
第二秘匿計算サーバ4は、受信したEXY(r′(X)x,s′(X)x)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号し、r(X)uy=dyr′(X)y+eyr′(X)x,s(X)uy=s′(X)y-s′(X)xを計算することによりr(X)uy,s(X)uyを更新する(ステップS23)。
r (X) ux = d x r ′ (X) x + e x r ′ (X) z
s (X) ux = s ′ (X) x -s ′ (X) z
<< Process of Other Secure Calculation Server (Step S23 to Step S24) >>
<<< Step S23 >>>
The second secret calculation server 4 decrypts the received E XY (r ′ (X) x , s ′ (X) x ) with the common key of the first
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) and (b).
(a)EXY(r′(X)x,s′(X)x)を復号する。ここでは、検証を行わない。 (a) Decode E XY (r ′ (X) x , s ′ (X) x ). Here, no verification is performed.
(b)r(X)uy,s(X)uyを次のように更新する。 (b) r (X) uy , s (X) uy is updated as follows.
r(X)uy=dyr′(X)y+eyr′(X)x
s(X)uy=s′(X)y-s′(X)x
<<<ステップS24>>>
第三秘匿計算サーバ5は、受信したEYZ(r′(X)y,s′(X)y)を第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で復号し、r(X)uz=dzr′(X)z+ezr′(X)y,s(X)uz=s′(X)z-s′(X)yを計算することによりr(X)uz,s(X)uzを更新する(ステップS24)。
r (X) uy = d y r ′ (X) y + e y r ′ (X) x
s (X) uy = s ′ (X) y -s ′ (X) x
<<< Step S24 >>>
The third
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
In other words, the third
(a)EYZ(r′(X)y,s′(X)y)を復号する。ここでは、検証を行わない。 (a) Decode E YZ (r ′ (X) y , s ′ (X) y ). Here, no verification is performed.
(b)r(X)uz,s(X)uzを次のように更新する。 (b) r (X) uz , s (X) uz is updated as follows.
r(X)uz=dzr′(X)z+ezr′(X)y
s(X)uz=s′(X)z-s′(X)y
*フェーズY*
<<秘匿計算サーバの処理(ステップS25からステップS27)>>
<<<ステップS25>>>
第一秘匿計算サーバ3は、乱数r′(Y)x,s′(Y)xを生成し、wux,r(Y)ux,s(Y)ux,w′xからq(Y)x=cxr(Y)ux(wux-w′x)+s(Y)uxを計算し、q(Y)x,r′(Y)x,s′(Y)xを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化したEXY(q(Y)x,r′(Y)x,s′(Y)x)を中間サーバ2へ送信する(ステップS25)。
r (X) uz = d z r ′ (X) z + e z r ′ (X) y
s (X) uz = s ′ (X) z -s ′ (X) y
* Phase Y *
<< Secret calculation server processing (from step S25 to step S27) >>
<<< Step S25 >>>
First
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
In other words, the first
(a)乱数r′(Y)x,s′(Y)xを生成する。 (a) Generate random numbers r ′ (Y) x and s ′ (Y) x .
(b)wux,r(Y)ux,s(Y)ux,w′xからq(Y)x=cxr(Y)ux(wux-w′x)+s(Y)uxを計算する。 (b) w ux , r (Y) ux , s (Y) ux , w ′ x to q (Y) x = c x r (Y) ux (w ux -w ′ x ) + s (Y) ux calculate.
(c)q(Y)x,r′(Y)x,s′(Y)xを暗号化し、EXY(q(Y)x,r′(Y)x,s′(Y)x)を中間サーバ2へ送信する。 (c) Encrypt q (Y) x , r ′ (Y) x , s ′ (Y) x and convert E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) Transmit to the intermediate server 2.
<<<ステップS26>>>
第二秘匿計算サーバ4は、乱数r′(Y)y,s′(Y)yを生成し、wuy,r(Y)uy,s(Y)uy,w′yからq(Y)y=cyr(Y)uy(wuy-w′y)+s(Y)uyを計算し、r′(Y)y,s′(Y)yを第二秘匿計算サーバ4及び第三秘匿計算サーバ5との共通鍵で暗号化したEYZ(r′(Y)y,s′(Y)y)を中間サーバ2に送信する(ステップS26)。
<<< Step S26 >>>
Second confidential calculation server 4 generates a random number r '(Y) y, s ' (Y) y, w uy, r (Y) uy, s (Y) uy, w' y from q (Y) y = c y r (Y) uy (w uy -w ′ y ) + s (Y) uy is calculated, and r ′ (Y) y and s ′ (Y) y are calculated as the second secret calculation server 4 and the third secret E YZ (r ′ (Y) y , s ′ (Y) y ) encrypted with the common key with the
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(Y)y,s′(Y)yを生成する。 (a) Generate random numbers r ′ (Y) y and s ′ (Y) y .
(b)wuy,r(Y)uy,s(Y)uy,w′yからq(Y)y=cyr(Y)uy(wuy-w′y)+s(Y)uyを計算する。 (b) w uy , r (Y) uy , s (Y) uy , w ′ y to q (Y) y = c y r (Y) uy (w uy -w ′ y ) + s (Y) uy calculate.
(c)r′(Y)y,s′(Y)yを暗号化し、EYZ(r′(Y)y,s′(Y)y)を中間サーバ2に送信する。 (c) r ′ (Y) y and s ′ (Y) y are encrypted and E YZ (r ′ (Y) y and s ′ (Y) y ) are transmitted to the intermediate server 2.
<<<ステップS27>>>
第三秘匿計算サーバ5は、乱数r′(Y)z,s′(Y)zを生成し、wuz,r(Y)uz,s(Y)uz,w′zからq(Y)z=czr(Y)uz(wuz-w′z)+s(Y)uzを計算し、q(Y)zを第二秘匿計算サーバ4及び第三秘匿計算サーバ5との共通鍵で暗号化したEYZ(q(Y)z)及びr′(Y)z,s′(Y)zを第一秘匿計算サーバ3及び第三秘匿計算サーバ5との共通鍵で暗号化したEZX(r′(Y)z,s′(Y)z)を中間サーバ2に送信する(ステップS27)。
<<< Step S27 >>>
Third
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(Y)z,s′(Y)zを生成する。 (a) Generate random numbers r ′ (Y) z and s ′ (Y) z .
(b)wuz,r(Y)uz,s(Y)uz,w′zからq(Y)z=czr(Y)uz(wuz-w′z)+s(Y)uzを計算する。 (b) w uz , r (Y) uz , s (Y) uz , w ′ z to q (Y) z = c z r (Y) uz (w uz -w ′ z ) + s (Y) uz calculate.
(c)q(Y)z,r′(Y)z,s′(Y)zを暗号化し、EYZ(q(Y)z),EZX(r′(Y)z,s′(Y)z)を中間サーバ2に送信する。 (c) q (Y) z , r ′ (Y) z , s ′ (Y) z is encrypted and E YZ (q (Y) z ), E ZX (r ′ (Y) z , s ′ (Y ) z ) is transmitted to the intermediate server 2.
<<中間サーバ2の処理(ステップS28)>>
<<<ステップS28>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS28)。具体的には、以下の処理を行う。
<< Process of Intermediate Server 2 (Step S28) >>
<<< Step S28 >>>
The intermediate server 2 transmits the received ciphertext to the secret calculation server (step S28). Specifically, the following processing is performed.
中間サーバ2は、第一秘匿計算サーバ3にEZX(r′(Y)z,s′(Y)z)を送信する。
The intermediate server 2 transmits E ZX (r ′ (Y) z , s ′ (Y) z ) to the first
中間サーバ2は、第二秘匿計算サーバ4にEYZ(q(Y)z),EXY(q(Y)x,r′(Y)x,s′(Y)x)を送信する。 The intermediate server 2 transmits E YZ (q (Y) z ), E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) to the second secret calculation server 4.
中間サーバ2は、第三秘匿計算サーバ5にEYZ(r′(Y)y,s′(Y)y)を送信する。
The intermediate server 2 transmits E YZ (r ′ (Y) y , s ′ (Y) y ) to the third
<<第二秘匿計算サーバ4の処理(ステップS29)>>
<<<ステップS29>>>
第二秘匿計算サーバ4は、受信したEYZ(q(Y)z)を第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で復号してq(Y)zを生成し、受信した,EXY(q(Y)x,r′(Y)x,s′(Y)x)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号してq(Y)x,r′(Y)x,s′(Y)xを生成し、q(Y)=q(Y)x+q(Y)y+q(Y)zを計算し、q(Y)=0である場合には認証成功と判定し、r(Y)uy=dyr′(Y)y+eyr′(Y)x,s(Y)uy=s′(Y)y-s′(Y)xを計算することによりr(Y)uy,s(Y)uyを更新する(ステップS29)。
<< Process of Second Secret Calculation Server 4 (Step S29) >>
<<< Step S29 >>>
The second secret calculation server 4 decrypts the received E YZ (q (Y) z ) with the common key of the second secret calculation server 4 and the third
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) and (b).
(a) 受信したEYZ(q(Y)z)を第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で復号してq(Y)zを生成し、受信した,EXY(q(Y)x,r′(Y)x,s′(Y)x)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号してq(Y)x,r′(Y)x,s′(Y)xを生成し、q(Y)=q(Y)x+q(Y)y+q(Y)zを計算し、q(Y)=0である場合には認証成功と判定し、q(Y)≠0である場合には認証失敗と判定する。
(a) The received E YZ (q (Y) z ) is decrypted with the common key of the second secret calculation server 4 and the third
(b)r(Y)uy,s(Y)uyを次のように更新する。 (b) r (Y) uy , s (Y) uy is updated as follows.
r(Y)uy=dyr′(Y)y+eyr′(Y)x
s(Y)uy=s′(Y)y-s′(Y)x
<<他の秘匿計算サーバの処理(ステップS30からステップS31)>>
<<<ステップS30>>>
第一秘匿計算サーバ3は、受信したEZX(r′(Y)z,s′(Y)z)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号し、r(Y)ux=dxr′(Y)x+exr′(Y)z,s(Y)ux=s′(Y)x-s′(Y)zを計算することによりr(Y)ux,s(Y)uxを更新する(ステップS30)。
r (Y) uy = d y r ′ (Y) y + e y r ′ (Y) x
s (Y) uy = s ′ (Y) y -s ′ (Y) x
<< Processes of other secure calculation servers (from step S30 to step S31) >>
<<< Step S30 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
In other words, the first
(a)EZX(r′(Y)z,s′(Y)z)を復号する。ここでは、検証を行わない。 (a) Decode E ZX (r ′ (Y) z , s ′ (Y) z ). Here, no verification is performed.
(b)r(Y)ux,s(Y)uxを次のように更新する。 (b) r (Y) ux , s (Y) ux is updated as follows.
r(Y)ux=dxr′(Y)x+exr′(Y)z
s(Y)ux=s′(Y)x-s′(Y)z
<<<ステップS31>>>
第三秘匿計算サーバ5は、受信したEYZ(r′(Y)y,s′(Y)y)を第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で復号し、r(Y)uz=dzr′(Y)z+ezr′(Y)y,s(Y)uz=s′(Y)z-s′(Y)yを計算することによりr(Y)uz,s(Y)uzを更新する(ステップS31)。
r (Y) ux = d x r ′ (Y) x + e x r ′ (Y) z
s (Y) ux = s ′ (Y) x -s ′ (Y) z
<<< Step S31 >>>
The third
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
In other words, the third
(a)EYZ(r′(Y)y,s′(Y)y)を復号する。ここでは、検証を行わない。 (a) Decode E YZ (r ′ (Y) y , s ′ (Y) y ). Here, no verification is performed.
(b)r(Y)uz,s(Y)uzを次のように更新する。 (b) r (Y) uz , s (Y) uz is updated as follows.
r(Y)uz=dzr′(Y)z+ezr′(Y)y
s(Y)uz=s′(Y)z-s′(Y)y
*フェーズZ*
<<秘匿計算サーバの処理(ステップS32からステップS34)>>
<<<ステップS32>>>
第一秘匿計算サーバ3は、乱数r′(Z)x,s′(Z)xを生成し、wux,r(Z)ux,s(Z)ux,w′xからq(Z)x=cxr(Z)ux(wux-w′x)+s(Z)uxを計算し、q(Z)xを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化したEZX(q(Z)x)及びr′(Z)x,s′(Z)xを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化したEXY(r′(Z)x,s′(Z)x)を中間サーバ2に送信する(ステップS32)。
r (Y) uz = d z r ′ (Y) z + e z r ′ (Y) y
s (Y) uz = s ′ (Y) z -s ′ (Y) y
* Phase Z *
<< Secret calculation server processing (from step S32 to step S34) >>
<<< Step S32 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
In other words, the first
(a)乱数r′(Z)x,s′(Z)xを生成する。 (a) Generate random numbers r ′ (Z) x and s ′ (Z) x .
(b)wux,r(Z)ux,s(Z)ux,w′xからq(Z)x=cxr(Z)ux(wux-w′x)+s(Z)uxを計算する。 (b) w ux , r (Z) ux , s (Z) ux , w ′ x to q (Z) x = c x r (Z) ux (w ux -w ′ x ) + s (Z) ux calculate.
(c)q(Z)x,r′(Z)x,s′(Z)xを暗号化し、EZX(q(Z)x),EXY(r′(Z)x,s′(Z)x)を中間サーバ2に送信する。 (c) q (Z) x , r ′ (Z) x , s ′ (Z) x is encrypted and E ZX (q (Z) x ), E XY (r ′ (Z) x , s ′ (Z ) x ) is transmitted to the intermediate server 2.
<<<ステップS33>>>
第二秘匿計算サーバ4は、乱数r′(Z)y,s′(Z)yを生成し、wuy,r(Z)uy,s(Z)uy,w′yからq(Z)y=cyr(Z)uy(wuy-w′y)+s(Z)uyを計算し、q(Z)y,r′(Z)y,s′(Z)yを第二秘匿計算サーバ4及び第三秘匿計算サーバ5との共通鍵で暗号化したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を中間サーバ2に送信する(ステップS33)。
<<< Step S33 >>>
Second confidential calculation server 4 generates a random number r '(Z) y, s ' (Z) y, w uy, r (Z) uy, s (Z) uy, w' y from q (Z) y = c y r (Z) uy (w uy -w ′ y ) + s (Z) uy and calculate q (Z) y , r ′ (Z) y , s ′ (Z) y E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) encrypted with a common key with the server 4 and the third
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(Z)y,s′(Z)yを生成する。 (a) Generate random numbers r ′ (Z) y and s ′ (Z) y .
(b)wuy,r(Z)uy,s(Z)uy,w′yからq(Z)y=cyr(Z)uy(wuy-w′y)+s(Z)uyを計算する。 (b) w uy , r (Z) uy , s (Z) uy , w ′ y to q (Z) y = c y r (Z) uy (w uy -w ′ y ) + s (Z) uy calculate.
(c)q(Z)y,r′(Z)y,s′(Z)yを暗号化し、EYZ(q(Z)y,r′(Z)y,s′(Z)y)を中間サーバ2に送信する。
<<<ステップS34>>>
第三秘匿計算サーバ5は、乱数r′(Z)z,s′(Z)zを生成し、wuz,r(Z)uz,s(Z)uz,w′zからq(Z)z=czr(Z)uz(wuz-w′z)+s(Z)uzを計算し、r′(Z)z,s′(Z)zを第一秘匿計算サーバ3及び第三秘匿計算サーバ5との共通鍵で暗号化したEZX(r′(Z)z,s′(Z)z)を中間サーバ2に送信する(ステップS34)。
(c) q (Z) y , r ′ (Z) y , s ′ (Z) y is encrypted and E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) is Transmit to the intermediate server 2.
<<< Step S34 >>>
The third
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) to (c).
(a)乱数r′(Z)z,s′(Z)zを生成する。 (a) Generate random numbers r ′ (Z) z and s ′ (Z) z .
(b)wuz,r(Z)uz,s(Z)uz,w′zからq(Z)z=czr(Z)uz(wuz-w′z)+s(Z)uzを計算する。 (b) w uz , r (Z) uz , s (Z) uz , w ′ z to q (Z) z = c z r (Z) uz (w uz -w ′ z ) + s (Z) uz calculate.
(c)r′(Z)z,s′(Z)zを第一秘匿計算サーバ3及び第三秘匿計算サーバ5との共通鍵で暗号化したEZX(r′(Z)z,s′(Z)z)を中間サーバ2に送信する。
(c) r '(Z) z, s' (Z) encrypted with the common key between the first
<<秘匿計算サーバの処理(ステップS35)>>
<<<ステップS35>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS35)。具体的には以下の処理を行う。
<< Secret Calculation Server Processing (Step S35) >>
<<< Step S35 >>>
The intermediate server 2 transmits the received ciphertext to the secret calculation server (step S35). Specifically, the following processing is performed.
中間サーバ2は、第一秘匿計算サーバ3にEZX(r′(Z)z,s′(Z)z)を送信する。
The intermediate server 2 transmits E ZX (r ′ (Z) z , s ′ (Z) z ) to the first
中間サーバ2は、第二秘匿計算サーバ4にEXY(r′(Z)x,s′(Z)x)を送信する。 The intermediate server 2 transmits E XY (r ′ (Z) x , s ′ (Z) x ) to the second secret calculation server 4.
中間サーバ2は、第三秘匿計算サーバ5にEZX(q(Z)x),EYZ(q(Z)y,r′(Z)y,s′(Z)y)を送信する。
The intermediate server 2 transmits E ZX (q (Z) x ), E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) to the third
<<第三秘匿計算サーバ5の処理(ステップS36)>>
<<<ステップS36>>>
第三秘匿計算サーバ5は、受信したEZX(q(Z)x)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号してq(Z)xを生成し、受信したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号してq(Z)y,r′(Z)y,s′(Z)yを生成し、q(Z)=q(Z)x+q(Z)y+q(Z)zを計算し、q(Z)=0である場合には認証成功と判定し、r(Z)uz=dzr′(Z)z+ezr′(Z)y,s(Z)uz=s′(Z)z-s′(Z)yを計算することによりr(Z)uz,s(Z)uzを更新する(ステップS36)。
<< Process of Third Secret Calculation Server 5 (Step S36) >>
<<< Step S36 >>>
The third
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
In other words, the third
(a)EZX(q(Z)x),EYZ(q(Z)y,r′(Z)y,s′(Z)y)を復号し、q(Z)=q(Z)x+q(Z)y+q(Z)zを計算し、q(Z)=0である場合には認証成功と判定し、q(Z)≠0である場合には認証失敗と判定する。 (a) E ZX (q (Z) x ), E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) is decoded and q (Z) = q (Z) x + q (Z) y + q (Z) z is calculated. When q (Z) = 0, it is determined that authentication is successful, and when q (Z) ≠ 0, it is determined that authentication is failed.
(b)r(Z)uz,s(Z)uzを次のように更新する。 (b) r (Z) uz , s Update (Z) uz as follows.
r(Z)uz=dzr′(Z)z+ezr′(Z)y
s(Z)uz=s′(Z)z-s′(Z)y
<<他の秘匿計算サーバの処理(ステップS37からステップS38)>>
<<<ステップS37>>>
第一秘匿計算サーバ3は、受信したEZX(r′(Z)z,s′(Z)z)を第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で復号し、r(Z)ux=dxr′(Z)x+exr′(Z)z,s(Z)ux=s′(Z)x-s′(Z)zを計算することによりr(Z)ux,s(Z)ux=を更新する(ステップS37)。
r (Z) uz = d z r ′ (Z) z + e z r ′ (Z) y
s (Z) uz = s ′ (Z) z -s ′ (Z) y
<< Process of Other Secure Calculation Server (Step S37 to Step S38) >>
<<< Step S37 >>>
The first
換言すると、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
In other words, the first
(a)EZX(r′(Z)z,s′(Z)z)を復号する。ここでは、検証を行わない。 (a) Decode E ZX (r ′ (Z) z , s ′ (Z) z ). Here, no verification is performed.
(b)r(Z)ux,s(Z)ux=を次のように更新する。 (b) r (Z) ux , s (Z) ux = is updated as follows.
r(Z)ux=dxr′(Z)x+exr′(Z)z
s(Z)ux=s′(Z)x-s′(Z)z
<<<ステップS38>>>
第二秘匿計算サーバ4は、受信したEXY(r′(Z)x,s′(Z)x)を第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で復号し、r(Z)uy=dyr′(Z)y+eyr′(Z)x,s(Z)uy=s′(Z)y-s′(Z)xを計算することによりr(Z)uy,s(Z)uyを更新する(ステップS38)。
r (Z) ux = d x r ′ (Z) x + e x r ′ (Z) z
s (Z) ux = s ′ (Z) x -s ′ (Z) z
<<< Step S38 >>>
The second secret calculation server 4 decrypts the received E XY (r ′ (Z) x , s ′ (Z) x ) with the common key of the first
換言すると、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (a) and (b).
(a)EXY(r′(Z)x,s′(Z)x)を復号する。 (a) Decode E XY (r ′ (Z) x , s ′ (Z) x ).
(b)r(Z)uy,s(Z)uyを次のように更新する。 (b) r (Z) uy , s (Z) uy is updated as follows.
r(Z)uy=dyr′(Z)y+eyr′(Z)x
s(Z)uy=s′(Z)y-s′(Z)x
[第二実施形態]
第二実施形態のセキュア認証方法は、第一実施形態の改良方法であり、認証手順において中間サーバ2を介して交わされる暗号文を悪用することによるリプレイ攻撃(認証成功した暗号文を再利用し、中間サーバ2がクライアント装置1に成りすまして認証を成功させてしまう攻撃)に対処するため、予め各秘匿計算サーバで乱数を生成しクライアント装置と共有することによって、認証時に送信するパスワードの暗号文を再利用できなくするものである。
r (Z) uy = d y r ′ (Z) y + e y r ′ (Z) x
s (Z) uy = s ′ (Z) y -s ′ (Z) x
[Second Embodiment]
The secure authentication method of the second embodiment is an improved method of the first embodiment, in which a replay attack by reusing a ciphertext exchanged via the intermediate server 2 in the authentication procedure (reusing a ciphertext that has been successfully authenticated). In order to cope with the attack that the intermediate server 2 impersonates the client device 1 and succeeds in authentication), a random number is generated in advance in each secret calculation server and shared with the client device, so that a ciphertext of a password transmitted at the time of authentication Can not be reused.
リプレイ攻撃への対処策、言い換えれば対リプレイ攻撃認証は、ステップS6とステップS7の間に実行される。 The countermeasure against the replay attack, in other words, the anti-replay attack authentication is executed between step S6 and step S7.
<対リプレイ攻撃認証(ステップR1からステップR10)>
<<秘匿計算サーバの処理(ステップR1からステップR3)>>
<<<ステップR1>>>
第一秘匿計算サーバ3は、乱数tXを生成し、tXを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化してEXY(tX)を生成し、tXを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEZX(tX)を生成し、tX,EXY(tX),EZX(tX)を中間サーバ2に送信する(ステップR1)。
<Replay attack authentication (from step R1 to step R10)>
<< Secret calculation server processing (from step R1 to step R3) >>
<<< Step R1 >>>
First
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
In other words, the first
(1)乱数tXを生成する。 (1) generates a random number t X.
(2)tXを暗号化し、tX,EXY(tX),EZX(tX)を中間サーバ2に送信する。 (2) The t X is encrypted, and t X , E XY (t X ), and E ZX (t X ) are transmitted to the intermediate server 2.
<<<ステップR2>>>
第二秘匿計算サーバ4は、乱数tYを生成し、tYを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tY)を生成し、tYを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEXY(tY)を生成し、tY,EYZ(tY),EXY(tY)を中間サーバ2に送信する(ステップR2)。
<<< Step R2 >>>
Second confidential calculation server 4 generates a random number t Y, encrypts the t Y common key with the second confidential calculation server 4 and the third
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
In other words, the first
(1)乱数tYを生成する。 (1) Generate a random number t Y.
(2)tYを暗号化し、tY,EYZ(tY),EXY(tY)を中間サーバ2に送信する。 (2) encrypts the t Y, t Y, E YZ (t Y), and transmits E XY a (t Y) to an intermediate server 2.
<<<ステップR3>>>
第三秘匿計算サーバ5は、乱数tZを生成し、tZを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEZX(tZ)を生成し、tZを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tZ)を生成し、tZ,EZX(tZ),EYZ(tZ)を中間サーバ2に送信する(ステップR3)。
<<< Step R3 >>>
Third
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
In other words, the first
(1)乱数tZを生成する。 (1) Generate a random number t Z.
(2)tZを暗号化し、tZ,EZX(tZ),EYZ(tZ)を中間サーバ2に送信する
<<中間サーバ2の処理(ステップR4)>>
<<<ステップR4>>>
中間サーバ2が、t=tX+tY+tZを計算してクライアント装置1に送信する(ステップR4)。
(2) The t Z encrypts, transmits t Z, E ZX (t Z ), E YZ a (t Z) in the intermediate server 2
<< Process of intermediate server 2 (step R4) >>
<<< Step R4 >>>
The intermediate server 2 calculates t = t X + t Y + t Z and transmits it to the client device 1 (step R4).
<<クライアント装置1の処理(ステップR5からステップR6)>>
<<<ステップR5>>>
クライアント装置1は、w′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップR5)。
<< Processing of Client Device 1 (Step R5 to Step R6) >>
<<< Step R5 >>>
The client apparatus 1 secretly distributes w ′ to obtain the distributed values w ′ x , w ′ y , and w ′ z of w ′ (step R5).
<<<ステップR6>>>
クライアント装置1は、t,w′xをクライアント装置1と第一秘匿計算サーバ3との共通鍵で暗号化してEx(t,w′x)を生成し、t,w′yをクライアント装置1と第二秘匿計算サーバ4との共通鍵で暗号化してEy(t,w′y)を生成し、t,w′zをクライアント装置1と第三秘匿計算サーバ5との共通鍵で暗号化してEz(t,w′z)を生成し、Ex(t,w′x),Ey(t,w′y),Ez(t,w′z)を中間サーバ2に送信する(ステップR6)。
<<< Step R6 >>>
The client device 1, t, w '(x E x t, w) and encrypted with the common key x a client apparatus 1 and the first confidential calculation server 3' generates, t, w 'y the client device E y (t, w ′ y ) is generated by encrypting with a common key between 1 and the second secret calculation server 4, and t, w ′ z is generated with a common key between the client device 1 and the third
<<中間サーバ2の処理(ステップR7)>>
<<<ステップR7>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップR7)。具体的には以下の処理を行う。
<< Process of intermediate server 2 (step R7) >>
<<< Step R7 >>>
The intermediate server 2 transmits the received ciphertext to the secret calculation server (step R7). Specifically, the following processing is performed.
中間サーバ2は、Ex(t,w′x),EXY(tY),EZX(tZ)を第一秘匿計算サーバ3に送信する。
The intermediate server 2 transmits E x (t, w ′ x ), E XY (t Y ), and E ZX (t Z ) to the first
中間サーバ2は、Ey(t,w′y),EXY(tX),EYZ(tZ)を第二秘匿計算サーバ4に送信する。 The intermediate server 2 transmits E y (t, w ′ y ), E XY (t X ), and E YZ (t Z ) to the second secret calculation server 4.
中間サーバ2は、Ez(t,w′z),EZX(tX),EYZ(tY)を第三秘匿計算サーバに送信する。 The intermediate server 2 transmits E z (t, w ′ z ), E ZX (t X ), and E YZ (t Y ) to the third secret calculation server.
<<秘匿計算サーバの処理(ステップR8からステップR10)>>
<<<ステップR8>>>
第一秘匿計算サーバ3は、Ex(t,w′x),EXY(tY),EZX(tZ)を復号してt,w′x,tY,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR8)。
<< Secret calculation server processing (from step R8 to step R10) >>
<<< Step R8 >>>
The first
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
In other words, the first
(1)Ex(t,w′x),EXY(tY),EZX(tZ)を復号し、t′=tX+tY+tZを計算する。 (1) Decode E x (t, w ′ x ), E XY (t Y ), E ZX (t Z ), and calculate t ′ = t X + t Y + t Z.
(2)t′≠tである場合には認証失敗と判定する。 (2) If t ′ ≠ t, it is determined that the authentication has failed.
<<<ステップR9>>>
第二秘匿計算サーバ4は、Ey(t,w′y),EXY(tX),EYZ(tZ)を復号してt,w′y,tX,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR9)。
<<< Step R9 >>>
The second secret calculation server 4 decrypts E y (t, w ′ y ), E XY (t X ), E YZ (t Z ) and generates t, w ′ y , t X , t Z , t ′ = t X + t Y + t Z is calculated. If t ′ ≠ t, it is determined that the authentication has failed (step R9).
換言すれば、第二秘匿計算サーバ4は、以下の(1),(2)の処理を行う。 In other words, the second secret calculation server 4 performs the following processes (1) and (2).
(1)Ey(t,w′y),EXY(tX),EYZ(tZ)を復号し、t′=tX+tY+tZを計算する。 (1) Decode E y (t, w ′ y ), E XY (t X ), E YZ (t Z ), and calculate t ′ = t X + t Y + t Z.
(2)t′≠tである場合には認証失敗と判定する。 (2) If t ′ ≠ t, it is determined that the authentication has failed.
<<<ステップR10>>>
第三秘匿計算サーバ5は、Ez(t,w′z),EZX(tX),EYZ(tY)を復号してt,w′z,tX,tYを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR10)。
<<< Step R10 >>>
The third
換言すれば、第三秘匿計算サーバ5は、以下の(1),(2)の処理を行う。
In other words, the third
(1)Ez(t,w′z),EZX(tX),EYZ(tY)を復号し、t′=tX+tY+tZを計算する。 (1) Decode E z (t, w ′ z ), E ZX (t X ), E YZ (t Y ), and calculate t ′ = t X + t Y + t Z.
(2)t′≠tである場合には認証失敗と判定する。 (2) If t ′ ≠ t, it is determined that the authentication has failed.
以後、ステップS7以降の処理を第一実施形態と同様に行う。 Thereafter, the processing after step S7 is performed in the same manner as in the first embodiment.
[第三実施形態]
第三実施形態は、第一実施形態又は第二実施形態で認証に成功した場合に、所定のサービスを提供するというものである。
[Third embodiment]
The third embodiment provides a predetermined service when authentication is successful in the first embodiment or the second embodiment.
換言すれば、ユーザがWebページを経由して、サーバのサービスを受ける際に、ユーザをクライアント装置1、Webページのサーバを中間サーバ2、各サービスプロバイダを秘匿計算サーバとして第一実施形態又は第二実施形態の認証を行ってから、各サービスプロバイダは当該サービスをユーザに提供する。 In other words, when the user receives the server service via the Web page, the user is the client device 1, the Web page server is the intermediate server 2, and each service provider is the secure calculation server. After performing the authentication of the second embodiment, each service provider provides the service to the user.
提供される所定のサービスは、中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4、第三秘匿計算サーバ5の2以上のサーバが連携して行うサービスであってもよいし、これらのサーバの1つだけで実施できるサービスであってもよい。
The predetermined service to be provided may be a service performed by two or more servers of the intermediate server 2, the first
例えば、第一実施形態及び第二実施形態の発明をシングルサインオンの方式として用いる形態が考えられる。ユーザは各サーバのそれぞれのサービスを一つのパスワードで受けることができる。これにより、成りすましによる漏洩のリスクを低下させることができる。 For example, the form which uses invention of 1st embodiment and 2nd embodiment as a system of a single sign-on can be considered. The user can receive each service of each server with one password. Thereby, the risk of leakage due to impersonation can be reduced.
また、提供される所定のサービスは、例えば、秘密分散を用いたストレージサービスであってもよい。秘密分散とは、データを3つのシェアに分割する分割方法であって、そのうち1つのシェアだけでは決して元のデータの情報を一切得ることができない分割方法であり、さらにそのうち任意の2つのシェアがあれば元のデータを完全に復元することができる分割方法である。 Further, the predetermined service to be provided may be, for example, a storage service using secret sharing. Secret sharing is a division method that divides data into three shares, and it is a division method that never obtains information of the original data with only one share. If this is the case, the original data can be completely restored.
連携して行うサービス、といってもサーバ同士で通信する必要はないため、サーバ同士の通信が不要な本発明とマッチしていると言える。 It can be said that this is a match with the present invention, in which communication between servers is unnecessary, since it is not necessary for the servers to communicate with each other even if the service is performed in cooperation.
[ポイント]
このようにすることで、Webサーバなどの中間者を介していても、不正者がユーザになりすまして認証を成功させることはできない。不正者とは中間者やサーバであることも想定される。すなわち、パスワードを中間者もサーバも知らないということを含む。
[point]
In this way, even if an intermediate person such as a Web server is used, the unauthorized person cannot impersonate the user and succeed in authentication. An unauthorized person is also assumed to be an intermediary or a server. That is, it includes that neither the intermediate person nor the server knows the password.
第一実施形態のポイントを以下に説明する。Webのサービスモデルが適用できることの他に、1.ユーザは複数のパスワードや、煩わしい証明書のインストールが必要ないこと、2.中間者やサーバでさえ成りすましができないこと、3.サーバ間には通信路が不要であること、4.ユーザへのレスポンスまでの通信回数が最低限なことからインターネット環境でレスポンスタイムを最低限にできること、の4つが要件である、という点がポイントである。 The points of the first embodiment will be described below. In addition to being able to apply the Web service model, 1. Users do not need to install multiple passwords or cumbersome certificates, 2. No intermediate man or server can impersonate, 3. Communication between servers The key points are that a route is not necessary, and that the response time to the user can be minimized because the number of communications until the response to the user is minimal is four.
1.,4.の要件は自然である。2.は, サーバが単一主体のモデルでは、サーバは自分でデータを持っているためわざわざ外部から認証を通って不正をするメリットが小さいが、サーバが複数ありそれぞれ異なるデータを持つ場合には、他サーバのもつデータを外部から閲覧することにメリットがある。特に秘密分散においては、データが2つ集まるとセキュリティの効力が失われるため、この問題は重大である。 The requirements of 1. and 4. are natural. 2. In the model where the server is a single entity, the server has its own data, so there is little merit of fraudulently through authentication from the outside, but when there are multiple servers and each has different data There is an advantage in browsing data of other servers from the outside. Particularly in secret sharing, this problem is serious because the security effectiveness is lost when two pieces of data are collected.
3.は、システム構築の際にお互いの間に通信路を持たないようなサーバ上であっても連携したサービスを展開できることを意味する。例えばクラウドサービス上に、アプリケーションプロバイダが、適当な複数クラウドサービス上に自社サービスを展開できる。クラウドサービス同士が連携している必要がない。 3. means that linked services can be deployed even on servers that do not have communication paths between each other during system construction. For example, an application provider can develop its own service on a plurality of appropriate cloud services on the cloud service. Cloud services do not need to be linked.
1.,2.の要件のために、パスワードが1つかつサーバも中間者もパスワードを知ることができない秘密分散によってパスワードを保護している。ハッシュ関数などではサーバのローカルで辞書攻撃が可能なため不十分である。 Due to the requirements of 1. and 2., the password is protected by a secret sharing where there is one password and neither the server nor the intermediary knows the password. A hash function is not sufficient because dictionary attacks are possible locally on the server.
また、3.,4.の要件のため、サーバ間通信を許せばよく知られた秘匿回路計算を用いればよく(3.に対応)、また通信回数を増やせば暗号化通信路を用いて中間者がいない場合と同等の設定とできる(4.に対応) ところを、中間者を中間した低通信回数の秘匿回路計算を専用に設計している。 In addition, because of the requirements of 3. and 4., it is sufficient to use a well-known secret circuit calculation if communication between servers is allowed (corresponding to 3.). It can be set to the same setting as when there is no person (corresponding to 4), but the secret circuit calculation with a low communication frequency with the middle person in between is designed exclusively.
[変形例]
上記装置及び方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Modification]
The processes described in the above apparatus and method are not only executed in time series according to the order of description, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the process.
また、セキュア認証方法における各処理をコンピュータによって実現する場合、セキュア認証方法が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、セキュア認証方法における処理手段がコンピュータ上で実現される。 Further, when each process in the secure authentication method is realized by a computer, the processing content of the function that the secure authentication method should have is described by a program. Then, by executing this program on a computer, processing means in the secure authentication method is realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 Each processing means may be configured by executing a predetermined program on a computer, or at least a part of these processing contents may be realized by hardware.
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。 Needless to say, other modifications are possible without departing from the spirit of the present invention.
1 クライアント装置
2 中間サーバ
3 第一秘匿計算サーバ
4 第二秘匿計算サーバ
5 第三秘匿計算サーバ
1 Client device 2
Claims (5)
クライアント装置が、乱数r(W)u,s(W)x,s(W)y,s(W)z,r(X)u,s(X)x,s(X)y,s(X)z,r(Y)u,s(Y)x,s(Y)y,s(Y)z,r(Z)u,s(Z)x,s(Z)y,s(Z)zを生成するステップと、
クライアント装置が、ユーザuのパスワードwu及び乱数r(W)u,r(X)u,r(Y)u,r(Z)uのそれぞれを秘密分散して、wuの分散値wux,wuy,wuz、r(W)uの分散値r(W)ux,r(W)uy,r(W)uz、r(X)uの分散値r(X)ux,r(X)uy,r(X)uz、r(Y)uの分散値r(Y)ux,r(Y)uy,r(Y)uz及びr(Z)uの分散値r(Z)ux,r(Z)uy,r(Z)uzを得るステップと、
クライアント装置が、s(W)ux=s(W)x-s(W)z,s(W)uy=s(W)y-s(W)x,s(W)uz=s(W)z-s(W)y,s(X)ux=s(X)x-s(X)z,s(X)uy=s(X)y-s(X)x,s(X)uz=s(X)z-s(X)y,s(Y)ux=s(Y)x-s(Y)z,s(Y)uy=s(Y)y-s(Y)x,s(Y)uz=s(Y)z-s(Y)y,s(Z)ux=s(Z)x-s(Z)z,s(Z)uy=s(Z)y-s(Z)x,s(Z)uz=s(Z)z-s(Z)yを計算するステップと、
クライアント装置が、wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxをクライアント装置と第一秘匿計算サーバとの共通鍵で暗号化したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)を生成し中間サーバに送信し、wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyをクライアント装置と第二秘匿計算サーバとの共通鍵で暗号化したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)を中間サーバに送信し、wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzをクライアント装置と第三秘匿計算サーバとの共通鍵で暗号化したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を中間サーバに送信するステップと、
中間サーバが、受信したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)を第一秘匿計算サーバに送信し、受信したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)を第二秘匿計算サーバに送信し、受信したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、受信したEx(wux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)ux)をクライアント装置と第一秘匿計算サーバとの共通鍵で復号してwux,r(W)ux,s(W)ux,r(X)ux,s(X)ux,r(Y)ux,s(Y)ux,r(Z)ux,s(Z)uxを生成し記憶部に記憶させるステップと、
第二秘匿計算サーバが、受信したEy(wuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uy)をクライアント装置と第二秘匿計算サーバとの共通鍵で復号してwuy,r(W)uy,s(W)uy,r(X)uy,s(X)uy,r(Y)uy,s(Y)uy,r(Z)uy,s(Z)uyを生成し記憶部に記憶させるステップと、
第三秘匿計算サーバが、受信したEz(wuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uz)をクライアント装置と第三秘匿計算サーバとの共通鍵で復号してwuz,r(W)uz,s(W)uz,r(X)uz,s(X)uz,r(Y)uz,s(Y)uz,r(Z)uz,s(Z)uzを生成し記憶部に記憶させるステップと、
クライアント装置が、入力されたパスワードw′を秘密分散して、w′の分散値w′x,w′y,w′zを得るステップと、
クライアント装置が、w′xをクライアント装置と第一秘匿計算サーバとの共通鍵で暗号化したEx(w′x)を生成し中間サーバに送信し、w′yをクライアント装置と第二秘匿計算サーバとの共通鍵で暗号化したEy(w′y)を生成し中間サーバに送信し、w′zをクライアント装置と第三秘匿計算サーバとの共通鍵で暗号化したEz(w′z)を生成し中間サーバに送信するステップと、
中間サーバが、受信したEx(w′x)を第一秘匿計算サーバに送信し、受信したEy(w′y)を第二秘匿計算サーバに送信し、受信したEz(w′z)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、乱数r′(W)x,s′(W)xを生成し、wux,r(W)ux,s(W)ux,w′xからq(W)x=cxr(W)ux(wux-w′x)+s(W)uxを計算し、q(W)xを中間サーバと第一秘匿計算サーバとの共通鍵で暗号化したEWX(q(W)x)及びr′(W)x,s′(W)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(W)x,s′(W)x)を生成し中間サーバに送信するステップと、
第二秘匿計算サーバが、乱数r′(W)y,s′(W)yを生成し、wuy,r(W)uy,s(W)uy,w′yからq(W)y=cyr(W)uy(wuy-w′y)+s(W)uyを計算し、q(W)yを中間サーバと第二秘匿計算サーバとの共通鍵で暗号化したEWY(q(W)y)及びr′(W)y,s′(W)yを第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(W)y,s′(W)y)を生成し中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(W)z,s′(W)zを生成し、wuz,r(W)uz,s(W)uz,w′zからq(W)z=czr(W)uz(wuz-w′z)+s(W)uzを計算し、q(W)zを中間サーバと第三秘匿計算サーバとの共通鍵で暗号化したEWZ(q(W)z)及びr′(W)z,s′(W)zを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(W)z,s′(W)z)を生成し中間サーバに送信するステップと、
中間サーバが、受信したEWX(q(W)x),EWY(q(W)y),EWZ(q(W)z)を復号してq(W)x,q(W)y,q(W)zを生成しq(W)=q(W)x+q(W)y+q(W)zを計算し、q(W)=0である場合には認証成功と判定するステップと、
中間サーバが、EZX(r′(W)z,s′(W)z)を第一秘匿計算サーバに送信し、EXY(r′(W)x,s′(W)x)を第二秘匿計算サーバに送信し、EYZ(r′(W)y,s′(W)y)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、受信したEZX(r′(W)z,s′(W)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してr′(W)z,s′(W)zを生成し、r(W)ux=dxr′(W)x+exr′(W)z,s(W)ux=s′(W)x-s′(W)zを計算することによりr(W)ux,s(W)uxを更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(W)x,s′(W)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してr′(W)x,s′(W)xを生成し、r(W)uy=dyr′(W)y+eyr′(W)x,s(W)uy=s′(W)y-s′(W)xを計算することによりr(W)uy,s(W)uyを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(W)y,s′(W)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してr′(W)y,s′(W)yを生成し、r(W)uz=dzr′(W)z+ezr′(W)y,s(W)uz=s′(W)z-s′(W)yを計算することによりr(W)uz,s(W)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(X)x,s′(X)xを生成し、wux,r(X)ux,s(X)ux,w′xからq(X)x=cxr(X)ux(wux-w′x)+s(X)uxを計算し、r′(X)x,s′(X)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(X)x,s′(X)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(X)y,s′(X)yを生成し、wuy,r(X)uy,s(X)uy,w′yからq(X)y=cyr(X)uy(wuy-w′y)+s(X)uyを計算し、q(X)yを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(q(X)y)及びr′(X)y,s′(X)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(X)y,s′(X)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(X)z,s′(X)zを生成し、wuz,r(X)uz,s(X)uz,w′zからq(X)z=czr(X)uz(wuz-w′z)+s(X)uzを計算し、q(X)z,r′(X)z,s′(X)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(q(X)z,r′(X)z,s′(X)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEXY(q(X)y),EZX(q(X)z,r′(X)z,s′(X)z)を送信し、第二秘匿計算サーバにEXY(r′(X)x,s′(X)x)を送信し、第三秘匿計算サーバにEYZ(r′(X)y,s′(X)y)を送信するステップと、
第一秘匿計算サーバが、受信したEXY(q(X)y)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してq(X)yを生成し、受信したEZX(q(X)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(X)zを生成し、q(X)=q(X)x+q(X)y+q(X)zを計算し、q(X)=0である場合には認証成功と判定し、r(X)ux=dxr′(X)x+exr′(X)z,s(X)ux=s′(X)x-s′(X)zを計算することによりr(X)ux,s(X)uxを更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(X)x,s′(X)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号し、r(X)uy=dyr′(X)y+eyr′(X)x,s(X)uy=s′(X)y-s′(X)xを計算することによりr(X)uy,s(X)uyを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(X)y,s′(X)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(X)uz=dzr′(X)z+ezr′(X)y,s(X)uz=s′(X)z-s′(X)yを計算することによりr(X)uz,s(X)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(Y)x,s′(Y)xを生成し、wux,r(Y)ux,s(Y)ux,w′xからq(Y)x=cxr(Y)ux(wux-w′x)+s(Y)uxを計算し、q(Y)x,r′(Y)x,s′(Y)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(q(Y)x,r′(Y)x,s′(Y)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(Y)y,s′(Y)yを生成し、wuy,r(Y)uy,s(Y)uy,w′yからq(Y)y=cyr(Y)uy(wuy-w′y)+s(Y)uyを計算し、r′(Y)y,s′(Y)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(r′(Y)y,s′(Y)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(Y)z,s′(Y)zを生成し、wuz,r(Y)uz,s(Y)uz,w′zからq(Y)z=czr(Y)uz(wuz-w′z)+s(Y)uzを計算し、q(Y)zを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(q(Y)z)及びr′(Y)z,s′(Y)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(Y)z,s′(Y)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEZX(r′(Y)z,s′(Y)z)を送信し、第二秘匿計算サーバにEYZ(q(Y)z),EXY(q(Y)x,r′(Y)x,s′(Y)x)を送信し、第三秘匿計算サーバにEYZ(r′(Y)y,s′(Y)y)を送信するステップと、
第二秘匿計算サーバが、受信したEYZ(q(Y)z)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Y)zを生成し、受信した,EXY(q(Y)x,r′(Y)x,s′(Y)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号してq(Y)x,r′(Y)x,s′(Y)xを生成し、q(Y)=q(Y)x+q(Y)y+q(Y)zを計算し、q(Y)=0である場合には認証成功と判定し、r(Y)uy=dyr′(Y)y+eyr′(Y)x,s(Y)uy=s′(Y)y-s′(Y)xを計算することによりr(Y)uy,s(Y)uyを更新するステップと、
第一秘匿計算サーバが、受信したEZX(r′(Y)z,s′(Y)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Y)ux=dxr′(Y)x+exr′(Y)z,s(Y)ux=s′(Y)x-s′(Y)zを計算することによりr(Y)ux,s(Y)uxを更新するステップと、
第三秘匿計算サーバが、受信したEYZ(r′(Y)y,s′(Y)y)を第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Y)uz=dzr′(Y)z+ezr′(Y)y,s(Y)uz=s′(Y)z-s′(Y)yを計算することによりr(Y)uz,s(Y)uzを更新するステップと、
第一秘匿計算サーバが、乱数r′(Z)x,s′(Z)xを生成し、wux,r(Z)ux,s(Z)ux,w′xからq(Z)x=cxr(Z)ux(wux-w′x)+s(Z)uxを計算し、q(Z)xを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化したEZX(q(Z)x)及びr′(Z)x,s′(Z)xを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化したEXY(r′(Z)x,s′(Z)x)を中間サーバへ送信するステップと、
第二秘匿計算サーバが、乱数r′(Z)y,s′(Z)yを生成し、wuy,r(Z)uy,s(Z)uy,w′yからq(Z)y=cyr(Z)uy(wuy-w′y)+s(Z)uyを計算し、q(Z)y,r′(Z)y,s′(Z)yを第二秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数r′(Z)z,s′(Z)zを生成し、wuz,r(Z)uz,s(Z)uz,w′zからq(Z)z=czr(Z)uz(wuz-w′z)+s(Z)uzを計算し、r′(Z)z,s′(Z)zを第一秘匿計算サーバ及び第三秘匿計算サーバとの共通鍵で暗号化したEZX(r′(Z)z,s′(Z)z)を中間サーバに送信するステップと、
中間サーバが、第一秘匿計算サーバにEZX(r′(Z)z,s′(Z)z)を送信し、第二秘匿計算サーバにEXY(r′(Z)x,s′(Z)x)を送信し、第三秘匿計算サーバにEZX(q(Z)x),EYZ(q(Z)y,r′(Z)y,s′(Z)y)を送信するステップと、
第三秘匿計算サーバが、受信したEZX(q(Z)x)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Z)xを生成し、受信したEYZ(q(Z)y,r′(Z)y,s′(Z)y)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号してq(Z)y,r′(Z)y,s′(Z)yを生成し、q(Z)=q(Z)x+q(Z)y+q(Z)zを計算し、q(Z)=0である場合には認証成功と判定し、r(Z)uz=dzr′(Z)z+ezr′(Z)y,s(Z)uz=s′(Z)z-s′(Z)yを計算することによりr(Z)uz,s(Z)uzを更新するステップと、
第一秘匿計算サーバが、受信したEZX(r′(Z)z,s′(Z)z)を第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で復号し、r(Z)ux=dxr′(Z)x+exr′(Z)z,s(Z)ux=s′(Z)x-s′(Z)zを計算することによりr(Z)ux,s(Z)ux=を更新するステップと、
第二秘匿計算サーバが、受信したEXY(r′(Z)x,s′(Z)x)を第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で復号し、r(Z)uy=dyr′(Z)y+eyr′(Z)x,s(Z)uy=s′(Z)y-s′(Z)xを計算することによりr(Z)uy,s(Z)uyを更新するステップと、
を含むセキュア認証方法。 c x , c y , c z , d x , d y , d z , e x , e y , e z are given constants,
The client device has random numbers r (W) u , s (W) x , s (W) y , s (W) z , r (X) u , s (X) x , s (X) y , s (X ) z , r (Y) u , s (Y) x , s (Y) y , s (Y) z , r (Z) u , s (Z) x , s (Z) y , s (Z) z A step of generating
The client device secretly distributes each of user u's password w u and random numbers r (W) u , r (X) u , r (Y) u , r (Z) u , and the distributed value w ux of w u , w uy , w uz , r (W) u variance value r (W) ux , r (W) uy , r (W) uz , r (X) u variance value r (X) ux , r (X ) uy , r (X) uz , r (Y) u variances r (Y) ux , r (Y) uy , r (Y) uz and r (Z) u variances r (Z) ux , r Obtaining (Z) uy , r (Z) uz ;
If the client device is s (W) ux = s (W) x -s (W) z , s (W) uy = s (W) y -s (W) x , s (W) uz = s (W) z -s (W) y , s (X) ux = s (X) x -s (X) z , s (X) uy = s (X) y -s (X) x , s (X) uz = s (X) z -s (X) y , s (Y) ux = s (Y) x -s (Y) z , s (Y) uy = s (Y) y -s (Y) x , s ( Y) uz = s (Y) z -s (Y) y , s (Z) ux = s (Z) x -s (Z) z , s (Z) uy = s (Z) y -s (Z) calculating x , s (Z) uz = s (Z) z -s (Z) y ;
Client device is w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux) encrypted with (Z) ux with a common key between the client device and the first secret calculation server , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux ) are generated and sent to the intermediate server, w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy is encrypted with a common key between the client device and the second secure calculation server E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) to the intermediate server, w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz encrypted with a common key between the client device and the third secure calculation server E z (w uz , r (W) uz , s (W) uz , r (X ) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) to the intermediate server;
The intermediate server receives E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r ( Z) ux , s (Z) ux ) is sent to the first secret computation server and received E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) are sent to the second secret computation server and received E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) And steps to
The first secret computation server receives E x (w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux ) are decrypted with a common key between the client device and the first secret calculation server, and w ux , r (W) ux , s (W) ux , r (X) ux , s (X) ux , r (Y) ux , s (Y) ux , r (Z) ux , s (Z) ux are generated and stored in the storage unit;
The second secret calculation server receives E y (w uy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy ) are decrypted with the common key between the client device and the second secret computation server, and wuy , r (W) uy , s (W) uy , r (X) uy , s (X) uy , r (Y) uy , s (Y) uy , r (Z) uy , s (Z) uy are generated and stored in the storage unit,
The third secret calculation server receives the received E z (w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz ) with a common key between the client device and the third secret calculation server, and w uz , r (W) uz , s (W) uz , r (X) uz , s (X) uz , r (Y) uz , s (Y) uz , r (Z) uz , s (Z) uz are generated and stored in the storage unit,
The client device secretly distributes the input password w ′ to obtain the distributed values w ′ x , w ′ y , w ′ z of w ′;
Client device, w and sends the generated intermediate server 'the x common key encrypted E x (w a client device and a first confidential calculation servers' x), the client device w' y and the second concealment E y (w ′ y ) encrypted with a common key with the calculation server is generated and sent to the intermediate server, and w ′ z is encrypted with a common key between the client device and the third secret calculation server E z (w ′ Z ) and sending it to the intermediate server;
The intermediate server sends the received E x (w ′ x ) to the first secret calculation server, sends the received E y (w ′ y ) to the second secret calculation server, and receives the received E z (w ′ z ) To the third secret calculation server;
First confidential calculation server generates a random number r '(W) x, s ' (W) x, w ux, r (W) ux, s (W) ux, w' x from q (W) x = c x r (W) ux (w ux -w ′ x ) + s (W) ux is calculated and q (W) x is encrypted with the common key between the intermediate server and the first secret calculation server E WX ( q XY (r ′ (W) x , q (W) x ) and r ′ (W) x , s ′ (W) x encrypted with a common key between the first secret calculation server and the second secret calculation server s ′ (W) x ) and sending it to the intermediate server;
The second secret calculation server generates random numbers r ′ (W) y , s ′ (W) y , and from w uy , r (W) uy , s (W) uy , w ′ y to q (W) y = c y r (W) uy (w uy -w ′ y ) + s (W) uy is calculated, and q (W) y is encrypted with a common key between the intermediate server and the second secret calculation server E WY ( E YZ (r ′ (W) y , q (W) y ) and r ′ (W) y , s ′ (W) y encrypted with a common key between the second secret calculation server and the third secret calculation server s ′ (W) y ) and sending it to the intermediate server;
Third confidential calculation server generates a random number r '(W) z, s ' (W) z, w uz, r (W) uz, s (W) uz, w' z from q (W) z = c z r (W) uz ( w uz -w 'z) + s (W) uz was calculated and encrypted q a (W) z a common key between the intermediate server and the third secret calculation server E WZ ( E ZX (r ′ (W) z , q (W) z ) and r ′ (W) z , s ′ (W) z encrypted with a common key between the first and third secure calculation servers s ′ (W) z ) and sending it to the intermediate server;
The intermediate server decrypts the received E WX (q (W) x ), E WY (q (W) y ), E WZ (q (W) z ) and decodes q (W) x , q (W) y , q (W) to generate a z calculates the q (W) = q (W ) x + q (W) y + q (W) z, determining the authentication success in the case of q (W) = 0 And steps to
The intermediate server sends E ZX (r ′ (W) z , s ′ (W) z ) to the first secret calculation server, and E XY (r ′ (W) x , s ′ (W) x ) Transmitting to the second secret calculation server, and transmitting E YZ (r ′ (W) y , s ′ (W) y ) to the third secret calculation server;
The first secret calculation server decrypts the received E ZX (r ′ (W) z , s ′ (W) z ) with the common key of the first secret calculation server and the third secret calculation server, and r ′ (W ) z , s ′ (W) z and r (W) ux = d x r ′ (W) x + e x r ′ (W) z , s (W) ux = s ′ (W) x − updating r (W) ux , s (W) ux by calculating s ′ (W) z ;
The second secret calculation server decrypts the received E XY (r ′ (W) x , s ′ (W) x ) with the common key of the first secret calculation server and the second secret calculation server, and r ′ (W ) x , s ′ (W) x and r (W) uy = d y r ′ (W) y + e y r ′ (W) x , s (W) uy = s ′ (W) y − updating r (W) uy , s (W) uy by calculating s ′ (W) x ;
The third secret calculation server decrypts the received E YZ (r ′ (W) y , s ′ (W) y ) with the common key of the second secret calculation server and the third secret calculation server, and r ′ (W ) y , s ′ (W) y and r (W) uz = d z r ′ (W) z + e z r ′ (W) y , s (W) uz = s ′ (W) z − updating r (W) uz , s (W) uz by calculating s ′ (W) y ;
The first secret calculation server generates random numbers r ′ (X) x , s ′ (X) x , and from w ux , r (X) ux , s (X) ux , w ′ x to q (X) x = c x r (X) ux (w ux -w ′ x ) + s (X) ux is calculated, and r ′ (X) x and s ′ (X) x are calculated as the first secret calculation server and the second secret calculation server. Sending E XY (r ′ (X) x , s ′ (X) x ) encrypted with a common key to the intermediate server;
The second secret calculation server generates random numbers r ′ (X) y , s ′ (X) y , and from w uy , r (X) uy , s (X) uy , w ′ y to q (X) y = c y r (X) uy (w uy -w ′ y ) + s (X) uy is calculated, and q (X) y is encrypted with the common key of the first secret calculation server and the second secret calculation server E XY (q (X) y ) and r ′ (X) y , s ′ (X) y are encrypted with a common key with the second and third secure calculation servers E YZ (r ′ (X ) y , s ′ (X) y ) to the intermediate server;
The third secret calculation server generates random numbers r ′ (X) z , s ′ (X) z , and from w uz , r (X) uz , s (X) uz , w ′ z to q (X) z = c z r (X) uz (w uz -w ′ z ) + s (X) uz is calculated and q (X) z , r ′ (X) z , s ′ (X) z is the first secret calculation server And E ZX (q (X) z , r ′ (X) z , s ′ (X) z ) encrypted with a common key with the third secret calculation server, to the intermediate server;
The intermediate server sends E XY (q (X) y ), E ZX (q (X) z , r ′ (X) z , s ′ (X) z ) to the first secret calculation server, and the second secret Send E XY (r ′ (X) x , s ′ (X) x ) to the computation server and send E YZ (r ′ (X) y , s ′ (X) y ) to the third secret computation server Steps,
The first secret computation server decrypts the received E XY (q (X) y ) with the common key of the first secret computation server and the second secret computation server, generates q (X) y , and receives the received E Decrypt ZX (q (X) z ) with the common key of the first and third secure calculation servers to generate q (X) z , and q (X) = q (X) x + q ( X) y + q (X) z is calculated.If q (X) = 0, it is determined that authentication is successful, and r (X) ux = d x r ′ (X) x + e x r ′ ( Updating r (X) ux , s (X) ux by computing X) z , s (X) ux = s ′ (X) x- s ′ (X) z ;
The second secret calculation server decrypts the received E XY (r ′ (X) x , s ′ (X) x ) with the common key of the first secret calculation server and the second secret calculation server, and r (X) u y = d y r ′ (X) y + e y r ′ (X) x , s (X) uy = s ′ (X) y -s ′ (X) x by calculating r (X) uy , s (X) uy update step;
The third secret calculation server decrypts the received E YZ (r ′ (X) y , s ′ (X) y ) with the common key of the second secret calculation server and the third secret calculation server, and r (X) By calculating uz = d z r ′ (X) z + e z r ′ (X) y , s (X) uz = s ′ (X) z -s ′ (X) y , r (X) uz , s (X) uz update step;
First confidential calculation server generates a random number r '(Y) x, s ' (Y) x, w ux, r (Y) ux, s (Y) ux, from w' x q (Y) x = c x r (Y) ux (w ux -w ′ x ) + s (Y) ux is calculated and q (Y) x , r ′ (Y) x , s ′ (Y) x is the first secret calculation server Transmitting E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) encrypted with a common key between the server and the second secret calculation server to the intermediate server;
The second secret calculation server generates random numbers r ′ (Y) y , s ′ (Y) y , and from w uy , r (Y) uy , s (Y) uy , w ′ y to q (Y) y = c y r (Y) uy (w uy -w ′ y ) + s (Y) uy is calculated, and r ′ (Y) y , s ′ (Y) y is calculated as the second secret calculation server and the third secret calculation server. Sending E YZ (r ′ (Y) y , s ′ (Y) y ) encrypted with a common key to the intermediate server;
The third secret calculation server generates random numbers r ′ (Y) z , s ′ (Y) z , and w ( uz , r (Y) uz , s (Y) uz , w ′ z to q (Y) z = c z r (Y) uz (w uz -w ′ z ) + s (Y) uz is calculated, and q (Y) z is encrypted with the second secret calculation server and the third secret calculation server. E YZ (q (Y) z ) and r ′ (Y) z , s ′ (Y) z are encrypted using a common key with the first and third secure calculation servers E ZX (r ′ (Y ) z , s ′ (Y) z ) to the intermediate server;
The intermediate server sends E ZX (r ′ (Y) z , s ′ (Y) z ) to the first secret calculation server, and E YZ (q (Y) z ), E XY ( q (Y) x , r ′ (Y) x , s ′ (Y) x ) and E YZ (r ′ (Y) y , s ′ (Y) y ) to the third secret calculation server Steps,
The second secret calculation server decrypts the received E YZ (q (Y) z ) with the common key of the second secret calculation server and the third secret calculation server, generates q (Y) z , and receives, E XY (q (Y) x , r ′ (Y) x , s ′ (Y) x ) is decrypted with the common key between the first secret calculation server and the second secret calculation server, and q (Y) x , r ′ (Y) x , s ′ (Y) x is generated, q (Y) = q (Y) x + q (Y) y + q (Y) z is calculated, and q (Y) = 0 In this case, it is determined that the authentication is successful, and r (Y) uy = d y r ′ (Y) y + e y r ′ (Y) x , s (Y) uy = s ′ (Y) y -s ′ (Y ) updating r (Y) uy , s (Y) uy by calculating x ;
The first secret calculation server decrypts the received E ZX (r ′ (Y) z , s ′ (Y) z ) with the common key of the first secret calculation server and the third secret calculation server, and r (Y) ux = d x r ′ (Y) x + e x r ′ (Y) z , s (Y) ux = s ′ (Y) x -s ′ (Y) z by calculating r (Y) ux , s updating the (Y) ux ;
The third secret calculation server decrypts the received E YZ (r ′ (Y) y , s ′ (Y) y ) with the common key of the second secret calculation server and the third secret calculation server, and r (Y) By calculating uz = d z r ′ (Y) z + e z r ′ (Y) y , s (Y) uz = s ′ (Y) z -s ′ (Y) y , r (Y) uz , s (Y) uz update step,
The first secret calculation server generates random numbers r ′ (Z) x , s ′ (Z) x , and w ux , r (Z) ux , s (Z) ux , w ′ x to q (Z) x = c x r (Z) ux (w ux -w ′ x ) + s (Z) ux is calculated, and q (Z) x is encrypted with the common key of the first and third secure calculation servers E ZX (q (Z) x ) and r ′ (Z) x , s ′ (Z) x are encrypted with a common key between the first and second secure calculation servers E XY (r ′ (Z ) x , s ′ (Z) x ) to the intermediate server;
The second secret calculation server generates random numbers r ′ (Z) y , s ′ (Z) y , and from w uy , r (Z) uy , s (Z) uy , w ′ y to q (Z) y = c y r (Z) uy (w uy -w ′ y ) + s (Z) uy is calculated and q (Z) y , r ′ (Z) y , s ′ (Z) y is calculated as the second secret calculation server And E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) encrypted with a common key with the third secret calculation server,
The third secret calculation server generates random numbers r ′ (Z) z , s ′ (Z) z , and from w uz , r (Z) uz , s (Z) uz , w ′ z to q (Z) z = c z r (Z) uz (w uz -w ′ z ) + s (Z) uz is calculated, and r ′ (Z) z and s ′ (Z) z are calculated as the first secret calculation server and the third secret calculation server. Sending E ZX (r ′ (Z) z , s ′ (Z) z ) encrypted with a common key to the intermediate server;
The intermediate server sends E ZX (r ′ (Z) z , s ′ (Z) z ) to the first secret calculation server, and E XY (r ′ (Z) x , s ′ ( Z) x ) and E ZX (q (Z) x ), E YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) to the third secret calculation server Steps,
The third secret calculation server decrypts the received E ZX (q (Z) x ) with the common key of the first secret calculation server and the third secret calculation server, generates q (Z) x , and receives the received E ZX YZ (q (Z) y , r ′ (Z) y , s ′ (Z) y ) is decrypted with the common key of the first secret calculation server and the third secret calculation server, and q (Z) y , r ′ (Z) y , s ′ (Z) y is generated, q (Z) = q (Z) x + q (Z) y + q (Z) z is calculated, and q (Z) = 0 Is determined to be successful, and r (Z) uz = d z r ′ (Z) z + e z r ′ (Z) y , s (Z) uz = s ′ (Z) z -s ′ (Z) updating r (Z) uz , s (Z) uz by calculating y ; and
The first secret calculation server decrypts the received E ZX (r ′ (Z) z , s ′ (Z) z ) with the common key of the first secret calculation server and the third secret calculation server, and r (Z) ux = d x r '(Z ) x + e x r' (Z) z, s (Z) ux = s '(Z) x -s' (Z) r by computing z (Z) ux, updating s (Z) ux =
The second secret calculation server decrypts the received E XY (r ′ (Z) x , s ′ (Z) x ) with the common key between the first secret calculation server and the second secret calculation server, and r (Z) u y = d y r ′ (Z) y + e y r ′ (Z) x , s (Z) uy = s ′ (Z) y -s ′ (Z) x by calculating r (Z) uy , updating s (Z) uy ;
A secure authentication method including:
第一秘匿計算サーバが、乱数tXを生成し、tXを第一秘匿計算サーバと第二秘匿計算サーバとの共通鍵で暗号化してEXY(tX)を生成し、tXを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化してEZX(tX)を生成し、tX,EXY(tX),EZX(tX)を中間サーバに送信するステップと、
第二秘匿計算サーバが、乱数tYを生成し、tYを第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化してEYZ(tY)を生成し、tYを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化してEXY(tY)を生成し、tY,EYZ(tY),EXY(tY)を中間サーバに送信するステップと、
第三秘匿計算サーバが、乱数tZを生成し、tZを第二秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化してEZX(tZ)を生成し、tZを第一秘匿計算サーバと第三秘匿計算サーバとの共通鍵で暗号化してEYZ(tZ)を生成し、tZ,EZX(tZ),EYZ(tZ)を中間サーバに送信するステップと、
中間サーバが、t=tX+tY+tZを計算してクライアント装置に送信するステップと、
クライアント装置が、w′を秘密分散して、w′の分散値w′x,w′y,w′zを得るステップと、
クライアント装置が、t,w′xをクライアント装置と第一秘匿計算サーバとの共通鍵で暗号化してEx(t,w′x)を生成し、t,w′yをクライアント装置と第二秘匿計算サーバとの共通鍵で暗号化してEy(t,w′y)を生成し、t,w′zをクライアント装置と第三秘匿計算サーバとの共通鍵で暗号化してEz(t,w′z)を生成し、Ex(t,w′x),Ey(t,w′y),Ez(t,w′z)を中間サーバに送信するステップと、
中間サーバが、Ex(t,w′x),EXY(tY),EZX(tZ)を第一秘匿計算サーバに送信し、Ey(t,w′y),EXY(tX),EYZ(tZ)を第二秘匿計算サーバに送信し、Ez(t,w′z),EZX(tX),EYZ(tY)を第三秘匿計算サーバに送信するステップと、
第一秘匿計算サーバが、Ex(t,w′x),EXY(tY),EZX(tZ)を復号してt,w′x,tY,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定するステップと、
第二秘匿計算サーバが、Ey(t,w′y),EXY(tX),EYZ(tZ)を復号してt,w′y,tX,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定するステップと、
第三秘匿計算サーバが、Ez(t,w′z),EZX(tX),EYZ(tY)を復号してt,w′z,tX,tYを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定するステップと、
を更に含むセキュア認証方法。 The secure authentication method of claim 1, comprising:
First confidential calculation server generates a random number t X, generates the E XY (t X) by encrypting the t X a common key between the first confidential calculating server and a second confidential calculation server, a t X first E ZX (t X ) is generated by encrypting with the common key of the first and second secret calculation servers, and t X , E XY (t X ), and E ZX (t X ) are sent to the intermediate server Steps,
Second confidential calculation server generates a random number t Y, generates an E YZ (t Y) encrypts t Y common key with the second confidential calculating server and a third concealment calculation server, a t Y a E XY (t Y ) is generated by encrypting with the common key of the first and second secret calculation servers, and t Y , E YZ (t Y ) and E XY (t Y ) are transmitted to the intermediate server Steps,
Third confidential calculation server generates a random number t Z, generates the E ZX (t Z) encrypts t Z a common key with the second confidential calculating server and a third concealment calculation server, a t Z The E YZ (t Z ) is generated by encrypting with the common key of the first and second secret calculation servers, and t Z , E ZX (t Z ), and E YZ (t Z ) are sent to the intermediate server Steps,
An intermediate server calculates t = t X + t Y + t Z and sends it to the client device;
The client device secretly distributes w ′ to obtain the distributed values w ′ x , w ′ y , w ′ z of w ′;
Client device, t, 'encrypts x with the common key between the client device and the first confidential calculation server E x (t, w' w generate x), t, w 'y the client device and a second E y (t, w ′ y ) is generated by encrypting with a common key with the secure calculation server, and t, w ′ z is encrypted with a common key between the client device and the third secure calculation server and E z (t , w ′ z ) and sending E x (t, w ′ x ), E y (t, w ′ y ), E z (t, w ′ z ) to the intermediate server;
The intermediate server sends E x (t, w ′ x ), E XY (t Y ), E ZX (t Z ) to the first secret computation server, and E y (t, w ′ y ), E XY ( t X ), E YZ (t Z ) are sent to the second secret calculation server, and E z (t, w ′ z ), E ZX (t X ), E YZ (t Y ) are sent to the third secret calculation server. Sending, and
The first secret computation server generates T, w ′ x , t Y , t Z by decoding E x (t, w ′ x ), E XY (t Y ), E ZX (t Z ), and t ′ = T X + t Y + t Z is calculated, and if t ′ ≠ t, the step of determining the authentication failure,
The second secret computation server decrypts E y (t, w ′ y ), E XY (t X ), E YZ (t Z ) and generates t, w ′ y , t X , t Z and t ′ = T X + t Y + t Z is calculated, and if t ′ ≠ t, the step of determining the authentication failure,
The third secret calculation server decrypts E z (t, w ′ z ), E ZX (t X ), E YZ (t Y ) to generate t, w ′ z , t X , t Y , and t ′ = T X + t Y + t Z is calculated, and if t ′ ≠ t, the step of determining the authentication failure,
A secure authentication method further comprising:
上記セキュア認証方法により、認証成功と判定され、かつ、認証失敗と判定されなかった場合には、
上記クライアント装置に、所定のサービスが提供される、
ことを特徴とするセキュア認証方法。 The secure authentication method according to claim 1 or 2,
If it is determined that authentication is successful and authentication failure is not determined by the secure authentication method,
A predetermined service is provided to the client device.
A secure authentication method characterized by the above.
上記所定のサービスは、複数のサーバにより提供されるサービスである、
ことを特徴とするセキュア認証方法。 The secure authentication method according to claim 3,
The predetermined service is a service provided by a plurality of servers.
A secure authentication method characterized by the above.
上記所定のサービスは、ストレージサービスである、
ことを特徴とするセキュア認証方法。 The secure authentication method according to claim 3,
The predetermined service is a storage service.
A secure authentication method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013008112A JP5841954B2 (en) | 2013-01-21 | 2013-01-21 | Secure authentication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013008112A JP5841954B2 (en) | 2013-01-21 | 2013-01-21 | Secure authentication method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014140102A true JP2014140102A (en) | 2014-07-31 |
JP5841954B2 JP5841954B2 (en) | 2016-01-13 |
Family
ID=51416609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013008112A Active JP5841954B2 (en) | 2013-01-21 | 2013-01-21 | Secure authentication method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5841954B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111758127A (en) * | 2018-02-20 | 2020-10-09 | 日本电信电话株式会社 | Secret calculation device, secret calculation authentication system, secret calculation method, and program |
JP7171113B1 (en) | 2022-08-31 | 2022-11-15 | 株式会社ZenmuTech | SECURE COMPUTING SYSTEM, SERVER, INFORMATION PROCESSING DEVICE, COMPUTER PROGRAM AND SECURE COMPUTING METHOD |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259965A1 (en) * | 2005-05-11 | 2006-11-16 | Chen Xuemin S | Method and system for using shared secrets to protect access to testing keys for set-top box |
JP2008226146A (en) * | 2007-03-15 | 2008-09-25 | Fujitsu Ltd | Information processing apparatus and data transfer method of information processing apparatus |
-
2013
- 2013-01-21 JP JP2013008112A patent/JP5841954B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060259965A1 (en) * | 2005-05-11 | 2006-11-16 | Chen Xuemin S | Method and system for using shared secrets to protect access to testing keys for set-top box |
JP2008226146A (en) * | 2007-03-15 | 2008-09-25 | Fujitsu Ltd | Information processing apparatus and data transfer method of information processing apparatus |
Non-Patent Citations (3)
Title |
---|
JPN6015045244; 諸橋 玄武、五十嵐 大、千田 浩司: '"秘匿計算を用いた医療統計システムの構成"' CSS2012コンピュータセキュリティシンポジウム2012論文集 [CD-ROM] Vol.2012、No.3, 20121023, p.533-538, 一般社団法人情報処理学会 コンピュータセキュリティ * |
JPN6015045245; 水上 翔太、宮本 俊幸: '"秘密分散共有法を用いた分散データベースシステムの設計及び実装"' 電子情報通信学会技術研究報告 Vol.108、No.415, 20090122, p.51-56, 社団法人電子情報通信学会 * |
JPN6015045246; 諸橋 玄武、五十嵐 大、菊池 亮、千田 浩司: '"実用的な秘密分散/マルチパーティ計算システムのための認証方式"' 2013年 暗号と情報セキュリティシンポジウム SCIS2013 [CD-ROM] 3C1-2, 20130125, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111758127A (en) * | 2018-02-20 | 2020-10-09 | 日本电信电话株式会社 | Secret calculation device, secret calculation authentication system, secret calculation method, and program |
CN111758127B (en) * | 2018-02-20 | 2023-08-08 | 日本电信电话株式会社 | Secret calculation device and method thereof secret calculation authentication system and recording medium |
JP7171113B1 (en) | 2022-08-31 | 2022-11-15 | 株式会社ZenmuTech | SECURE COMPUTING SYSTEM, SERVER, INFORMATION PROCESSING DEVICE, COMPUTER PROGRAM AND SECURE COMPUTING METHOD |
JP2024033698A (en) * | 2022-08-31 | 2024-03-13 | 株式会社ZenmuTech | Secure computation system, server, information processing device, computer program, and secure computation method |
Also Published As
Publication number | Publication date |
---|---|
JP5841954B2 (en) | 2016-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106548345B (en) | Method and system for realizing block chain private key protection based on key partitioning | |
EP2639997B1 (en) | Method and system for secure access of a first computer to a second computer | |
US9330245B2 (en) | Cloud-based data backup and sync with secure local storage of access keys | |
CN106104562B (en) | System and method for securely storing and recovering confidential data | |
EP2304636B1 (en) | Mobile device assisted secure computer network communications | |
EP2020797B1 (en) | Client-server Opaque token passing apparatus and method | |
KR100979576B1 (en) | Method and computer readable medium for realizing a new password | |
WO2016123264A1 (en) | Methods for secure credential provisioning | |
KR101367621B1 (en) | System and method for authentication based on one-time password | |
CN105915342A (en) | Application program communication processing system, an application program communication processing device, an application program communication processing apparatus and an application program communication processing method | |
US20110179478A1 (en) | Method for secure transmission of sensitive data utilizing network communications and for one time passcode and multi-factor authentication | |
JP7617047B2 (en) | Message transmission system with hardware security module | |
CN110868291A (en) | Data encryption transmission method, device, system and storage medium | |
CN109921902A (en) | A kind of key management method, safety chip, service server and information system | |
JP6627043B2 (en) | SSL communication system, client, server, SSL communication method, computer program | |
CN110635901A (en) | Local Bluetooth dynamic authentication method and system for Internet of things equipment | |
EP3000216B1 (en) | Secured data channel authentication implying a shared secret | |
CN114765543B (en) | Encryption communication method and system of quantum cryptography network expansion equipment | |
CN108462699A (en) | Based on the encrypted Quick Response Code generation of sequential and verification method and system | |
Das et al. | A decentralized open web cryptographic standard | |
US8806216B2 (en) | Implementation process for the use of cryptographic data of a user stored in a data base | |
CN110519222B (en) | External network access identity authentication method and system based on disposable asymmetric key pair and key fob | |
JP5841954B2 (en) | Secure authentication method | |
EP3185504A1 (en) | Security management system for securing a communication between a remote server and an electronic device | |
JP4794970B2 (en) | Secret information protection method and communication apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151030 |
|
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: 20151110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5841954 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |