JP5841954B2 - セキュア認証方法 - Google Patents
セキュア認証方法 Download PDFInfo
- Publication number
- JP5841954B2 JP5841954B2 JP2013008112A JP2013008112A JP5841954B2 JP 5841954 B2 JP5841954 B2 JP 5841954B2 JP 2013008112 A JP2013008112 A JP 2013008112A JP 2013008112 A JP2013008112 A JP 2013008112A JP 5841954 B2 JP5841954 B2 JP 5841954B2
- 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.)
- Active
Links
Images
Description
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を更新するステップと、
を有する。
セキュア認証方法を行う第一実施形態のセキュア認証システムは、図1に示すように、クライアント装置1、中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4及び第三秘匿計算サーバ5を例えば備える。クライアント装置1と中間サーバ2は、データの送受信が可能なように接続されている。中間サーバ2と各秘匿計算サーバは、データの送受信が可能なように接続されている。
<<クライアント装置1の処理(ステップS1からステップS4)>>
クライアントユーザuのパスワードwuと乱数を秘密分散し、クライアント装置1から中間サーバ2を経由して各秘匿計算サーバに送信する。ここで、予めクライアント装置1と各秘匿計算サーバで共通鍵を共有しているものとする。
クライアント装置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)。
クライアント装置1は、ユーザuのパスワードwu及び乱数r(W)u,r(X)u,r(Y)u,r(Z)uのそれぞれを秘密分散して、以下の分散値を得る(ステップS2)。秘密分散は、既存の方法により適宜行われる。
クライアント装置は、それぞれ以下のように定義される(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)。
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)。
<<<ステップS5>>>
中間サーバ2は、クライアント装置1から受信した暗号文を各秘匿計算サーバに送信する(ステップS5)。具体的には、以下の処理を行う。
<<<ステップS6>>>
各秘匿計算サーバは、クライアント装置1から中間サーバを経由して送られてきた暗号文を復号し、パスワードと乱数の分散値を図示していない記憶部に記憶する(ステップS6)。具体的には、以下の処理を行う。
認証は、図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に対応する。
クライアント装置1は、ユーザuとして、パスワードw′で認証を試みる。
クライアント装置は、入力されたパスワードw′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップS7)。
クライアント装置1が、分散値w′x,w′y,w′zのそれぞれを共通鍵で暗号化して、中間サーバ2に送信する(ステップS8)。具体的には、以下の処理を行う。
<<<ステップS9>>>
中間サーバ2は、受信した暗号文を各秘匿計算サーバに送信する。具体的には、以下の処理を行う(ステップS9)。
<<秘匿計算サーバの処理(ステップS10からステップS12)>>
各秘匿計算サーバは、クライアント装置1から中間サーバ2を経由送られてきた暗号文を復号し、保管しているパスワードと一致するか確認する。具体的には、以下の処理を行う。
第一秘匿計算サーバ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)。
第二秘匿計算サーバ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)。
第三秘匿計算サーバ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)。
<<<ステップ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に通知される。
中間サーバ2は、暗号文を秘匿計算サーバに送信する(ステップS14)。具体的には、以下の処理を行う。
<<<ステップ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)。
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)。
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)。
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)。
第二秘匿計算サーバ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)。
第三秘匿計算サーバ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)。
<<<ステップS21>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS21)。具体的には、以下の処理を行う。
<<<ステップ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)。
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)。
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)。
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)。
第二秘匿計算サーバ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)。
第三秘匿計算サーバ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)。
<<<ステップS28>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS28)。具体的には、以下の処理を行う。
<<<ステップ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)。
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)。
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)。
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)。
第二秘匿計算サーバ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)。
<<<ステップ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)。
<<<ステップS35>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS35)。具体的には以下の処理を行う。
<<<ステップ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)。
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)。
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)。
s(Z)uy=s′(Z)y-s′(Z)x
[第二実施形態]
第二実施形態のセキュア認証方法は、第一実施形態の改良方法であり、認証手順において中間サーバ2を介して交わされる暗号文を悪用することによるリプレイ攻撃(認証成功した暗号文を再利用し、中間サーバ2がクライアント装置1に成りすまして認証を成功させてしまう攻撃)に対処するため、予め各秘匿計算サーバで乱数を生成しクライアント装置と共有することによって、認証時に送信するパスワードの暗号文を再利用できなくするものである。
<<秘匿計算サーバの処理(ステップR1からステップR3)>>
<<<ステップR1>>>
第一秘匿計算サーバ3は、乱数tXを生成し、tXを第一秘匿計算サーバ3と第二秘匿計算サーバ4との共通鍵で暗号化してEXY(tX)を生成し、tXを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEZX(tX)を生成し、tX,EXY(tX),EZX(tX)を中間サーバ2に送信する(ステップR1)。
第二秘匿計算サーバ4は、乱数tYを生成し、tYを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tY)を生成し、tYを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEXY(tY)を生成し、tY,EYZ(tY),EXY(tY)を中間サーバ2に送信する(ステップR2)。
第三秘匿計算サーバ5は、乱数tZを生成し、tZを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEZX(tZ)を生成し、tZを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tZ)を生成し、tZ,EZX(tZ),EYZ(tZ)を中間サーバ2に送信する(ステップR3)。
<<中間サーバ2の処理(ステップR4)>>
<<<ステップR4>>>
中間サーバ2が、t=tX+tY+tZを計算してクライアント装置1に送信する(ステップR4)。
<<<ステップR5>>>
クライアント装置1は、w′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップR5)。
クライアント装置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)。
<<<ステップR7>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップR7)。具体的には以下の処理を行う。
<<<ステップR8>>>
第一秘匿計算サーバ3は、Ex(t,w′x),EXY(tY),EZX(tZ)を復号してt,w′x,tY,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR8)。
第二秘匿計算サーバ4は、Ey(t,w′y),EXY(tX),EYZ(tZ)を復号してt,w′y,tX,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR9)。
第三秘匿計算サーバ5は、Ez(t,w′z),EZX(tX),EYZ(tY)を復号してt,w′z,tX,tYを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR10)。
第三実施形態は、第一実施形態又は第二実施形態で認証に成功した場合に、所定のサービスを提供するというものである。
このようにすることで、Webサーバなどの中間者を介していても、不正者がユーザになりすまして認証を成功させることはできない。不正者とは中間者やサーバであることも想定される。すなわち、パスワードを中間者もサーバも知らないということを含む。
上記装置及び方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
2 中間サーバ
3 第一秘匿計算サーバ
4 第二秘匿計算サーバ
5 第三秘匿計算サーバ
Claims (5)
- 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を更新するステップと、
を含むセキュア認証方法。 - 請求項1のセキュア認証方法であって、
第一秘匿計算サーバが、乱数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である場合には認証失敗と判定するステップと、
を更に含むセキュア認証方法。 - 請求項1又は2のセキュア認証方法であって、
上記セキュア認証方法により、認証成功と判定され、かつ、認証失敗と判定されなかった場合には、
上記クライアント装置に、所定のサービスが提供される、
ことを特徴とするセキュア認証方法。 - 請求項3のセキュア認証方法であって、
上記所定のサービスは、複数のサーバにより提供されるサービスである、
ことを特徴とするセキュア認証方法。 - 請求項3のセキュア認証方法であって、
上記所定のサービスは、ストレージサービスである、
ことを特徴とするセキュア認証方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013008112A JP5841954B2 (ja) | 2013-01-21 | 2013-01-21 | セキュア認証方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013008112A JP5841954B2 (ja) | 2013-01-21 | 2013-01-21 | セキュア認証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014140102A JP2014140102A (ja) | 2014-07-31 |
JP5841954B2 true JP5841954B2 (ja) | 2016-01-13 |
Family
ID=51416609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013008112A Active JP5841954B2 (ja) | 2013-01-21 | 2013-01-21 | セキュア認証方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5841954B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11329808B2 (en) * | 2018-02-20 | 2022-05-10 | Nippon Telegraph And Telephone Corporation | Secure computation device, secure computation authentication system, secure computation method, and program |
JP7171113B1 (ja) | 2022-08-31 | 2022-11-15 | 株式会社ZenmuTech | 秘匿計算システム、サーバー、情報処理装置、コンピュータプログラムおよび秘匿計算方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7770219B2 (en) * | 2005-05-11 | 2010-08-03 | Broadcom Corporation | Method and system for using shared secrets to protect access to testing keys for set-top box |
JP5141056B2 (ja) * | 2007-03-15 | 2013-02-13 | 富士通株式会社 | 情報処理装置と情報処理装置のデータ転送方法 |
-
2013
- 2013-01-21 JP JP2013008112A patent/JP5841954B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014140102A (ja) | 2014-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757662B2 (en) | Confidential authentication and provisioning | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
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 (zh) | 机密数据安全储存和恢复系统及方法 | |
US8059818B2 (en) | Accessing protected data on network storage from multiple devices | |
EP2304636B1 (en) | Mobile device assisted secure computer network communications | |
KR100979576B1 (ko) | 새로운 패스워드를 실현하기 위한 방법 및 컴퓨터 판독가능 매체 | |
KR101634158B1 (ko) | 일종의 신분 인증 및 공유키 생성방법 | |
EP3251284A1 (en) | Methods for secure credential provisioning | |
EP2544117A1 (en) | Method and system for sharing or storing personal data without loss of privacy | |
US20110179478A1 (en) | Method for secure transmission of sensitive data utilizing network communications and for one time passcode and multi-factor authentication | |
KR101367621B1 (ko) | Otp 기반 인증 시스템 및 방법 | |
JP2008250931A (ja) | 分散情報復元システム、情報利用装置、および、検証装置 | |
CN108809633B (zh) | 一种身份认证的方法、装置及系统 | |
EP3000216B1 (en) | Secured data channel authentication implying a shared secret | |
CN111130799B (zh) | 一种基于tee进行https协议传输的方法及系统 | |
CN110868291A (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
JP6627043B2 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
CN110635901A (zh) | 用于物联网设备的本地蓝牙动态认证方法和系统 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统 | |
US8806216B2 (en) | Implementation process for the use of cryptographic data of a user stored in a data base | |
JP4794970B2 (ja) | 秘密情報の保護方法及び通信装置 | |
JP5841954B2 (ja) | セキュア認証方法 |
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 |