JP5841954B2 - セキュア認証方法 - Google Patents

セキュア認証方法 Download PDF

Info

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
Application number
JP2013008112A
Other languages
English (en)
Other versions
JP2014140102A (ja
Inventor
玄武 諸橋
玄武 諸橋
大 五十嵐
大 五十嵐
亮 菊池
亮 菊池
浩気 濱田
浩気 濱田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013008112A priority Critical patent/JP5841954B2/ja
Publication of JP2014140102A publication Critical patent/JP2014140102A/ja
Application granted granted Critical
Publication of JP5841954B2 publication Critical patent/JP5841954B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、ネットワーク上の認証において、複数のサーバが同時にユーザをセキュアに認証する技術に関する。
従来、ユーザが複数のサーバにまたがるサービスを受ける際に、各サーバに同時にセキュアに認証を受ける技術として、非特許文献1に記載された技術が知られている(例えば、非特許文献1参照。)。非特許文献1に記載された技術は、安全なストレージサービスにおける認証技術であり、ユーザがパスワードを設定し、データを秘密分散と呼ばれる安全な方法でサーバに保管する。認証時パスワードが正しければユーザは正しいデータを復元でき、パスワードが誤りであれば復元に失敗する。
A.Bagherzandi, S.Jarecki, N.Saxena, L,Yanbin, "Password-protected secret sharing", Proceedings of the ACM CCS 2011, pp.433-444
しかしながら、非特許文献1に記載された技術は、ユーザとストレージサーバは直結しているということを前提としており、Webサービス等におけるWebサーバのようにゲートウェイとしての中間サーバが存在する場合の安全性は保証できない。
この発明の目的は、中間サーバが存在する場合であっても安全性を保証することができるセキュア認証方法を提供することである。
この発明の一態様によるセキュア認証方法は、
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と各秘匿計算サーバは、データの送受信が可能なように接続されている。
まず、第一実施形態のセキュア認証方法の概要を説明する。まず、システムを利用するユーザuのパスワードがwuであることを登録する(ステップS1からステップS6,図2)。認証を実施する際に併せて用いるいくつかの乱数についてもクライアントで生成し、各秘匿計算サーバに送る。このとき、間に入る例えばWebサーバである中間サーバ2がこれらの情報を悪用しクライアントに成りすまさないよう、送信する分散値等は各秘匿計算サーバとの共有鍵で暗号化しておく。
次に、認証の実施手順について述べる。ユーザuがパスワードw′によって認証を試みてきた場合、登録されているuのパスワードwuとw′が一致することを確認するために、wuとw′の差が0であることを協調計算によって導く(ステップS7からステップS38)。認証の権限がシステムを構成する参加者である中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4、第三秘匿計算サーバ5のいずれかに偏ることがないよう、各参加者ごとに認証のための計算を行う。協調計算によって、wu,w′が各参加者に知られることがないよう、乱数と組み合わせて協調計算する。また、このとき用いられる乱数を次回の認証で使いまわさないよう、認証の手順の最後で更新を行う。
<ユーザ登録・パスワード変更(ステップS1からステップS6)>
<<クライアント装置1の処理(ステップS1からステップS4)>>
クライアントユーザuのパスワードwuと乱数を秘密分散し、クライアント装置1から中間サーバ2を経由して各秘匿計算サーバに送信する。ここで、予めクライアント装置1と各秘匿計算サーバで共通鍵を共有しているものとする。
クライアント装置1と第一秘匿計算サーバ3との間の共通鍵をxとし、共通鍵xによる暗号化をExと表現する。
クライアント装置1と第二秘匿計算サーバ4との間の共通鍵をyとし、共通鍵yによる暗号化をEyと表現する。
クライアント装置1と第三秘匿計算サーバ5との間の共通鍵をzとし、共通鍵zによる暗号化をEzと表現する。
<<<ステップ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)。
r(W)u,s(W)x,s(W)y,s(W)zは、中間サーバ2主体の認証で用いられる乱数である。
r(X)u,s(X)x,s(X)y,s(X)zは、第一秘匿計算サーバ3主体の認証で用いられる乱数である。
r(Y)u,s(Y)x,s(Y)y,s(Y)zは、第二秘匿計算サーバ4主体の認証で用いられる乱数である。
r(Z)u,s(Z)x,s(Z)y,s(Z)zは、第三秘匿計算サーバ5主体の認証で用いられる乱数である。
<<<ステップS2>>>
クライアント装置1は、ユーザuのパスワードwu及び乱数r(W)u,r(X)u,r(Y)u,r(Z)uのそれぞれを秘密分散して、以下の分散値を得る(ステップS2)。秘密分散は、既存の方法により適宜行われる。
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である。
<<<ステップ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)。
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)。
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で暗号化した暗号文である。
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で暗号化した暗号文である。
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で暗号化した暗号文である。
<<中間サーバ2の処理(ステップS5)>>
<<<ステップS5>>>
中間サーバ2は、クライアント装置1から受信した暗号文を各秘匿計算サーバに送信する(ステップS5)。具体的には、以下の処理を行う。
中間サーバ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に送信する。
中間サーバ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に送信する。
中間サーバ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に送信する。
<<秘匿計算サーバの処理(ステップS6)>>
<<<ステップS6>>>
各秘匿計算サーバは、クライアント装置1から中間サーバを経由して送られてきた暗号文を復号し、パスワードと乱数の分散値を図示していない記憶部に記憶する(ステップS6)。具体的には、以下の処理を行う。
第一秘匿計算サーバ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を生成し記憶部に記憶させる。
第二秘匿計算サーバ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を生成し記憶部に記憶させる。
第三秘匿計算サーバ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を生成し記憶部に記憶させる。
<認証(基本動作)(ステップ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に対応する。
ユーザuとしてパスワードw′が来たときの認証方法を示す。予め秘匿計算サーバ間、及び、中間サーバ2と各秘匿計算サーバ間で共通鍵を共有しているものとする。
第一秘匿計算サーバ3と第二秘匿計算サーバ4との間の共通鍵をXYとし、共通鍵XYによる暗号化をEXYと表現する。
第二秘匿計算サーバ4と第三秘匿計算サーバ5との間の共通鍵をYZとし、共通鍵YZによる暗号化をEYZと表現する。
第三秘匿計算サーバ5と第一秘匿計算サーバ3との間の共通鍵をZXとし、共通鍵ZXによる暗号化をEZXと表現する。
中間サーバ2と第一秘匿計算サーバ3との間の共通鍵をWXとし、共通鍵WXによる暗号化をEWXと表現する。
中間サーバ2と第二秘匿計算サーバ4との間の共通鍵をWYとし、共通鍵WYによる暗号化をEWYと表現する。
中間サーバ2と第三秘匿計算サーバ5との間の共通鍵をWZとし、共通鍵WZによる暗号化をEWZと表現する。
<<クライアント装置1の処理(ステップS7からステップS8)>>
クライアント装置1は、ユーザuとして、パスワードw′で認証を試みる。
<<<ステップS7>>>
クライアント装置は、入力されたパスワードw′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップS7)。
<<<ステップS8>>>
クライアント装置1が、分散値w′x,w′y,w′zのそれぞれを共通鍵で暗号化して、中間サーバ2に送信する(ステップS8)。具体的には、以下の処理を行う。
クライアント装置1は、w′xをクライアント装置1と第一秘匿計算サーバ3との共通鍵xで暗号化したEx(w′x)を生成し中間サーバ2に送信する。
クライアント装置1は、w′yをクライアント装置1と第二秘匿計算サーバ4との共通鍵yで暗号化したEy(w′y)を生成し中間サーバ2に送信する。
クライアント装置1は、w′zをクライアント装置1と第三秘匿計算サーバ5との共通鍵zで暗号化したEz(w′z)を生成し中間サーバ2に送信する。
<<中間サーバ2の処理(ステップS9)>>
<<<ステップS9>>>
中間サーバ2は、受信した暗号文を各秘匿計算サーバに送信する。具体的には、以下の処理を行う(ステップS9)。
中間サーバ2は、受信したEx(w′x)を第一秘匿計算サーバ3に送信する。
中間サーバ2は、受信したEy(w′y)を第二秘匿計算サーバ4に送信する。
中間サーバ2は、受信したEz(w′z)を第三秘匿計算サーバ5に送信する。
*フェーズX*
<<秘匿計算サーバの処理(ステップS10からステップS12)>>
各秘匿計算サーバは、クライアント装置1から中間サーバ2を経由送られてきた暗号文を復号し、保管しているパスワードと一致するか確認する。具体的には、以下の処理を行う。
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を満たすように定められる。
<<<ステップ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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
(a)乱数r′(W)x,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を計算する。
(c)q(W)x,r′(W)x,s′(W)xを暗号化し、EWX(q(W)x),EXY(r′(W)x,s′(W)x)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(W)y,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を計算する。
(c)q(W)y,r′(W)y,s′(W)yを暗号化し、EWY(q(W)y),EYZ(r′(W)y,s′(W)y)を中間サーバ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)。
換言すれば、第三秘匿計算サーバ5は、以下の(a)から(c)の処理を行う。
(a)乱数r′(W)z,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を計算する。
(c)q(W)z,r′(W)z,s′(W)zを暗号化し、EWZ(q(W)z),EZX(r′(W)z,s′(W)z)を中間サーバ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に通知される。
言すれば、中間サーバ2は、以下の(a),(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を計算する。
(b)q(W)=0である場合には認証成功と判定する。q(W)≠0である場合には認証失敗と判定する。判定の結果を、クライアント装置1に送信する。
<<<ステップS14>>>
中間サーバ2は、暗号文を秘匿計算サーバに送信する(ステップS14)。具体的には、以下の処理を行う。
中間サーバ2は、EZX(r′(W)z,s′(W)z)を第一秘匿計算サーバ3に送信する。
中間サーバ2は、EXY(r′(W)x,s′(W)x)を第二秘匿計算サーバ4に送信する。
中間サーバ2は、EYZ(r′(W)y,s′(W)y)を第三秘匿計算サーバ5に送信する。
<<秘匿計算サーバの処理(ステップ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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
(a)EZX(r′(W)z,s′(W)z)を復号してr′(W)z,s′(W)zを生成する。ここでは、検証を行わない。
(b)r(W)ux,s(W)uxを次のように更新する。
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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。
(a)EXY(r′(W)x,s′(W)x)を復号してr′(W)x,s′(W)xを生成する。ここでは、検証を行わない。
(b)r(W)uy,s(W)uyを次のように更新する。
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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。
(a)EYZ(r′(W)y,s′(W)y)を復号してr′(W)y,s′(W)yを生成する。ここでは、検証を行わない。
(b)r(W)uz,s(W)uzを次のように更新する。
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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
(a)乱数r′(X)x,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を計算する。
(c)r′(X)x,s′(X)xを暗号化し、EXY(r′(X)x,s′(X)x)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(X)y,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を計算する。
(c)q(X)y,r′(X)y,s′(X)yを暗号化し、EYZ(r′(X)y,s′(X)y),EXY(q(X)y)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(X)z,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を計算する。
(c)q(X)z,r′(X)z,s′(X)zを暗号化し、EZX(q(X)z,r′(X)z,s′(X)z)を中間サーバ2に送信する。
<<中間サーバ2の処理(ステップS21)>>
<<<ステップS21>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS21)。具体的には、以下の処理を行う。
中間サーバ2は、第一秘匿計算サーバ3にEXY(q(X)y),EZX(q(X)z,r′(X)z,s′(X)z)を送信する。
中間サーバ2は、第二秘匿計算サーバ4にEXY(r′(X)x,s′(X)x)を送信する。
中間サーバ2は、第三秘匿計算サーバ5にEYZ(r′(X)y,s′(X)y)を送信する。
<<第一秘匿計算サーバ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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
(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であれば認証失敗と判定する。
(b)r(X)ux,s(X)uxを次のように更新する。
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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。
(a)EXY(r′(X)x,s′(X)x)を復号する。ここでは、検証を行わない。
(b)r(X)uy,s(X)uyを次のように更新する。
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)。
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
(a)EYZ(r′(X)y,s′(X)y)を復号する。ここでは、検証を行わない。
(b)r(X)uz,s(X)uzを次のように更新する。
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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Y)x,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を計算する。
(c)q(Y)x,r′(Y)x,s′(Y)xを暗号化し、EXY(q(Y)x,r′(Y)x,s′(Y)x)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Y)y,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を計算する。
(c)r′(Y)y,s′(Y)yを暗号化し、EYZ(r′(Y)y,s′(Y)y)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Y)z,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を計算する。
(c)q(Y)z,r′(Y)z,s′(Y)zを暗号化し、EYZ(q(Y)z),EZX(r′(Y)z,s′(Y)z)を中間サーバ2に送信する。
<<中間サーバ2の処理(ステップS28)>>
<<<ステップS28>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS28)。具体的には、以下の処理を行う。
中間サーバ2は、第一秘匿計算サーバ3にEZX(r′(Y)z,s′(Y)z)を送信する。
中間サーバ2は、第二秘匿計算サーバ4にEYZ(q(Y)z),EXY(q(Y)x,r′(Y)x,s′(Y)x)を送信する。
中間サーバ2は、第三秘匿計算サーバ5にEYZ(r′(Y)y,s′(Y)y)を送信する。
<<第二秘匿計算サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a),(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である場合には認証失敗と判定する。
(b)r(Y)uy,s(Y)uyを次のように更新する。
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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
(a)EZX(r′(Y)z,s′(Y)z)を復号する。ここでは、検証を行わない。
(b)r(Y)ux,s(Y)uxを次のように更新する。
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)。
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
(a)EYZ(r′(Y)y,s′(Y)y)を復号する。ここでは、検証を行わない。
(b)r(Y)uz,s(Y)uzを次のように更新する。
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)。
換言すれば、第一秘匿計算サーバ3は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Z)x,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を計算する。
(c)q(Z)x,r′(Z)x,s′(Z)xを暗号化し、EZX(q(Z)x),EXY(r′(Z)x,s′(Z)x)を中間サーバ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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Z)y,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を計算する。
(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)。
換言すれば、第二秘匿計算サーバ4は、以下の(a)から(c)の処理を行う。
(a)乱数r′(Z)z,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を計算する。
(c)r′(Z)z,s′(Z)zを第一秘匿計算サーバ3及び第三秘匿計算サーバ5との共通鍵で暗号化したEZX(r′(Z)z,s′(Z)z)を中間サーバ2に送信する。
<<秘匿計算サーバの処理(ステップS35)>>
<<<ステップS35>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップS35)。具体的には以下の処理を行う。
中間サーバ2は、第一秘匿計算サーバ3にEZX(r′(Z)z,s′(Z)z)を送信する。
中間サーバ2は、第二秘匿計算サーバ4にEXY(r′(Z)x,s′(Z)x)を送信する。
中間サーバ2は、第三秘匿計算サーバ5にEZX(q(Z)x),EYZ(q(Z)y,r′(Z)y,s′(Z)y)を送信する。
<<第三秘匿計算サーバ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)。
換言すれば、第三秘匿計算サーバ5は、以下の(a),(b)の処理を行う。
(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である場合には認証失敗と判定する。
(b)r(Z)uz,s(Z)uzを次のように更新する。
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)。
換言すると、第一秘匿計算サーバ3は、以下の(a),(b)の処理を行う。
(a)EZX(r′(Z)z,s′(Z)z)を復号する。ここでは、検証を行わない。
(b)r(Z)ux,s(Z)ux=を次のように更新する。
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)。
換言すると、第二秘匿計算サーバ4は、以下の(a),(b)の処理を行う。
(a)EXY(r′(Z)x,s′(Z)x)を復号する。
(b)r(Z)uy,s(Z)uyを次のように更新する。
r(Z)uy=dyr′(Z)y+eyr′(Z)x
s(Z)uy=s′(Z)y-s′(Z)x
[第二実施形態]
第二実施形態のセキュア認証方法は、第一実施形態の改良方法であり、認証手順において中間サーバ2を介して交わされる暗号文を悪用することによるリプレイ攻撃(認証成功した暗号文を再利用し、中間サーバ2がクライアント装置1に成りすまして認証を成功させてしまう攻撃)に対処するため、予め各秘匿計算サーバで乱数を生成しクライアント装置と共有することによって、認証時に送信するパスワードの暗号文を再利用できなくするものである。
リプレイ攻撃への対処策、言い換えれば対リプレイ攻撃認証は、ステップS6とステップ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)。
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
(1)乱数tXを生成する。
(2)tXを暗号化し、tX,EXY(tX),EZX(tX)を中間サーバ2に送信する。
<<<ステップR2>>>
第二秘匿計算サーバ4は、乱数tYを生成し、tYを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tY)を生成し、tYを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEXY(tY)を生成し、tY,EYZ(tY),EXY(tY)を中間サーバ2に送信する(ステップR2)。
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
(1)乱数tYを生成する。
(2)tYを暗号化し、tY,EYZ(tY),EXY(tY)を中間サーバ2に送信する。
<<<ステップR3>>>
第三秘匿計算サーバ5は、乱数tZを生成し、tZを第二秘匿計算サーバ4と第三秘匿計算サーバ5との共通鍵で暗号化してEZX(tZ)を生成し、tZを第一秘匿計算サーバ3と第三秘匿計算サーバ5との共通鍵で暗号化してEYZ(tZ)を生成し、tZ,EZX(tZ),EYZ(tZ)を中間サーバ2に送信する(ステップR3)。
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
(1)乱数tZを生成する。
(2)tZを暗号化し、tZ,EZX(tZ),EYZ(tZ)を中間サーバ2に送信する
<<中間サーバ2の処理(ステップR4)>>
<<<ステップR4>>>
中間サーバ2が、t=tX+tY+tZを計算してクライアント装置1に送信する(ステップR4)。
<<クライアント装置1の処理(ステップR5からステップR6)>>
<<<ステップR5>>>
クライアント装置1は、w′を秘密分散して、w′の分散値w′x,w′y,w′zを得る(ステップ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)。
<<中間サーバ2の処理(ステップR7)>>
<<<ステップR7>>>
中間サーバ2は、受信した暗号文を秘匿計算サーバに送信する(ステップR7)。具体的には以下の処理を行う。
中間サーバ2は、Ex(t,w′x),EXY(tY),EZX(tZ)を第一秘匿計算サーバ3に送信する。
中間サーバ2は、Ey(t,w′y),EXY(tX),EYZ(tZ)を第二秘匿計算サーバ4に送信する。
中間サーバ2は、Ez(t,w′z),EZX(tX),EYZ(tY)を第三秘匿計算サーバに送信する。
<<秘匿計算サーバの処理(ステップR8からステップR10)>>
<<<ステップR8>>>
第一秘匿計算サーバ3は、Ex(t,w′x),EXY(tY),EZX(tZ)を復号してt,w′x,tY,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR8)。
換言すれば、第一秘匿計算サーバ3は、以下の(1),(2)の処理を行う。
(1)Ex(t,w′x),EXY(tY),EZX(tZ)を復号し、t′=tX+tY+tZを計算する。
(2)t′≠tである場合には認証失敗と判定する。
<<<ステップR9>>>
第二秘匿計算サーバ4は、Ey(t,w′y),EXY(tX),EYZ(tZ)を復号してt,w′y,tX,tZを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR9)。
換言すれば、第二秘匿計算サーバ4は、以下の(1),(2)の処理を行う。
(1)Ey(t,w′y),EXY(tX),EYZ(tZ)を復号し、t′=tX+tY+tZを計算する。
(2)t′≠tである場合には認証失敗と判定する。
<<<ステップR10>>>
第三秘匿計算サーバ5は、Ez(t,w′z),EZX(tX),EYZ(tY)を復号してt,w′z,tX,tYを生成し、t′=tX+tY+tZを計算し、t′≠tである場合には認証失敗と判定する(ステップR10)。
換言すれば、第三秘匿計算サーバ5は、以下の(1),(2)の処理を行う。
(1)Ez(t,w′z),EZX(tX),EYZ(tY)を復号し、t′=tX+tY+tZを計算する。
(2)t′≠tである場合には認証失敗と判定する。
以後、ステップS7以降の処理を第一実施形態と同様に行う。
[第三実施形態]
第三実施形態は、第一実施形態又は第二実施形態で認証に成功した場合に、所定のサービスを提供するというものである。
換言すれば、ユーザがWebページを経由して、サーバのサービスを受ける際に、ユーザをクライアント装置1、Webページのサーバを中間サーバ2、各サービスプロバイダを秘匿計算サーバとして第一実施形態又は第二実施形態の認証を行ってから、各サービスプロバイダは当該サービスをユーザに提供する。
提供される所定のサービスは、中間サーバ2、第一秘匿計算サーバ3、第二秘匿計算サーバ4、第三秘匿計算サーバ5の2以上のサーバが連携して行うサービスであってもよいし、これらのサーバの1つだけで実施できるサービスであってもよい。
例えば、第一実施形態及び第二実施形態の発明をシングルサインオンの方式として用いる形態が考えられる。ユーザは各サーバのそれぞれのサービスを一つのパスワードで受けることができる。これにより、成りすましによる漏洩のリスクを低下させることができる。
また、提供される所定のサービスは、例えば、秘密分散を用いたストレージサービスであってもよい。秘密分散とは、データを3つのシェアに分割する分割方法であって、そのうち1つのシェアだけでは決して元のデータの情報を一切得ることができない分割方法であり、さらにそのうち任意の2つのシェアがあれば元のデータを完全に復元することができる分割方法である。
連携して行うサービス、といってもサーバ同士で通信する必要はないため、サーバ同士の通信が不要な本発明とマッチしていると言える。
[ポイント]
このようにすることで、Webサーバなどの中間者を介していても、不正者がユーザになりすまして認証を成功させることはできない。不正者とは中間者やサーバであることも想定される。すなわち、パスワードを中間者もサーバも知らないということを含む。
第一実施形態のポイントを以下に説明する。Webのサービスモデルが適用できることの他に、1.ユーザは複数のパスワードや、煩わしい証明書のインストールが必要ないこと、2.中間者やサーバでさえ成りすましができないこと、3.サーバ間には通信路が不要であること、4.ユーザへのレスポンスまでの通信回数が最低限なことからインターネット環境でレスポンスタイムを最低限にできること、の4つが要件である、という点がポイントである。
1.,4.の要件は自然である。2.は, サーバが単一主体のモデルでは、サーバは自分でデータを持っているためわざわざ外部から認証を通って不正をするメリットが小さいが、サーバが複数ありそれぞれ異なるデータを持つ場合には、他サーバのもつデータを外部から閲覧することにメリットがある。特に秘密分散においては、データが2つ集まるとセキュリティの効力が失われるため、この問題は重大である。
3.は、システム構築の際にお互いの間に通信路を持たないようなサーバ上であっても連携したサービスを展開できることを意味する。例えばクラウドサービス上に、アプリケーションプロバイダが、適当な複数クラウドサービス上に自社サービスを展開できる。クラウドサービス同士が連携している必要がない。
1.,2.の要件のために、パスワードが1つかつサーバも中間者もパスワードを知ることができない秘密分散によってパスワードを保護している。ハッシュ関数などではサーバのローカルで辞書攻撃が可能なため不十分である。
また、3.,4.の要件のため、サーバ間通信を許せばよく知られた秘匿回路計算を用いればよく(3.に対応)、また通信回数を増やせば暗号化通信路を用いて中間者がいない場合と同等の設定とできる(4.に対応) ところを、中間者を中間した低通信回数の秘匿回路計算を専用に設計している。
[変形例]
上記装置及び方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、セキュア認証方法における各処理をコンピュータによって実現する場合、セキュア認証方法が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、セキュア認証方法における処理手段がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、各処理手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
その他、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
1 クライアント装置
2 中間サーバ
3 第一秘匿計算サーバ
4 第二秘匿計算サーバ
5 第三秘匿計算サーバ

Claims (5)

  1. 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を更新するステップと、
    を含むセキュア認証方法。
  2. 請求項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である場合には認証失敗と判定するステップと、
    を更に含むセキュア認証方法。
  3. 請求項1又は2のセキュア認証方法であって、
    上記セキュア認証方法により、認証成功と判定され、かつ、認証失敗と判定されなかった場合には、
    上記クライアント装置に、所定のサービスが提供される、
    ことを特徴とするセキュア認証方法。
  4. 請求項3のセキュア認証方法であって、
    上記所定のサービスは、複数のサーバにより提供されるサービスである、
    ことを特徴とするセキュア認証方法。
  5. 請求項3のセキュア認証方法であって、
    上記所定のサービスは、ストレージサービスである、
    ことを特徴とするセキュア認証方法。
JP2013008112A 2013-01-21 2013-01-21 セキュア認証方法 Active JP5841954B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通株式会社 情報処理装置と情報処理装置のデータ転送方法

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