JP6762910B2 - 認証システム、クライアント装置、サーバ装置、認証方法、プログラム - Google Patents

認証システム、クライアント装置、サーバ装置、認証方法、プログラム Download PDF

Info

Publication number
JP6762910B2
JP6762910B2 JP2017114092A JP2017114092A JP6762910B2 JP 6762910 B2 JP6762910 B2 JP 6762910B2 JP 2017114092 A JP2017114092 A JP 2017114092A JP 2017114092 A JP2017114092 A JP 2017114092A JP 6762910 B2 JP6762910 B2 JP 6762910B2
Authority
JP
Japan
Prior art keywords
authentication
user
identifier
authentication information
verification
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
JP2017114092A
Other languages
English (en)
Other versions
JP2018207441A (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 JP2017114092A priority Critical patent/JP6762910B2/ja
Publication of JP2018207441A publication Critical patent/JP2018207441A/ja
Application granted granted Critical
Publication of JP6762910B2 publication Critical patent/JP6762910B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、認証技術に関し、特に多要素認証技術に関する。
近年、パスワード認証より安全なユーザ認証方式として、多要素認証が注目されている。多要素認証では、複数の認証要素(例えば、パスワード、端末情報、生体情報)を用いてユーザを認証する。複数の認証要素を用いることにより、パスワードが漏洩した場合や脆弱なパスワードを設定した場合であっても、その他の認証要素で十分に安全性が確保されていれば、攻撃者はユーザになりすますことができず、不正にサービスに対してログインすることはできない。
認証時に常に複数の認証要素を用いる必要があるため、ユーザの記憶に基づく情報では忘却、ユーザの所有に基づく情報では紛失、ユーザの生体情報では怪我や生体情報読み取り機器の故障による使用不可などにより認証要素のいくつかが使用できなくなると、ユーザ認証ができないという問題もあるが、多要素認証は、パスワード認証より安全性の面で優れるため、採用されるケースが増えつつある。
このような多要素認証の一つが、M-Pinプロトコルである(非特許文献1)。M-Pinプロトコルでは、PINを用いて生成した複数の情報により認証を行う。M-Pinプロトコルのメリットの一つとして、ユーザはPIN(例えば、4ケタの数字)を記憶するだけで安全な認証が行えることが挙げられる。また、サービス提供者にとっては、パスワードのようなユーザの秘密情報を保持しなくても認証が行えるというメリットがある。M-Pinプロトコルを実装したユーザ認証システムとして、MILAGRO-MFA(Multi-Factor Authentication)が存在する(非特許文献2)。MILAGRO-MFAでは、PINと端末情報の二つの情報で認証を行う(非特許文献1参照)。
Michael Scott, "M-Pin: A Multi-Factor Zero Knowledge Authentication Protocol", [online], [平成29年5月15日検索], インターネット<URL: https://www.miracl.com/hubfs/mpin4.pdf> Apache MILAGRO (incubating), [online], [平成29年5月15日検索], インターネット<URL: http://docs.milagro.io/en/>
M-Pinプロトコルでは、αをユーザが設定したPINとして、認証に必要なユーザ秘密鍵sAを楕円曲線上の加算により(s-α)AとαAに分割し、(s-α)Aを端末情報として保持する。認証時、ユーザが入力したPINと端末に記録してある端末情報(s-α)Aを用い、ユーザ秘密鍵sAを復元する。つまり、M-Pinプロトコルでは1つのPINをユーザが正しく記憶していれば、認証を行うことができる。しかし、この唯一のPINを忘却すると、認証を行うことができなくなる。
この問題を解決するために、例えば、複数のPINを設定しておき、そのうちいくつかを用いて認証成功と判断するようにすることが考えられる。
そこで本発明では、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる認証技術を提供することを目的とする。
本発明の一態様は、nを1以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、s∈Z* qをペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)とし、αi∈Z* q (1≦i≦n)を設定されたPINとし、クライアント装置、サーバ装置を含む認証システムであって、前記クライアント装置は、端末情報f(a)と端末情報g(a)を記録する記録部と、
Figure 0006762910
(ただし、r∈Z* qは乱数、h(a)は1対1関数)
前記端末情報f(a)、g(a)を用いて、ユーザが入力した識別子IDとPINαから認証情報f(α)、g(α)を生成する認証情報生成部を含み、前記サーバ装置は、検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)を記録する記録部と、前記検証式e(P1,Q)・e(P2,sQ)を用いて、前記認証情報f(α)、g(α)から検証値e(f(α),Q)・e(g(α),sQ)を計算し、e(f(α),Q)・e(g(α),sQ)=e(A,Q)0が成立する場合は認証結果を成功とする認証情報検証部を含むことを特徴とする。
本発明の一態様は、nを1以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、si∈Z* q(1≦i≦n)をペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)とし、αi∈Z* q (1≦i≦n)を設定されたPINとし、クライアント装置、サーバ装置を含む認証システムであって、前記クライアント装置は、端末情報f(a)を記録する記録部と、
Figure 0006762910
(ただし、r, r’∈Z* qは乱数)
前記端末情報f(a)を用いて、ユーザが入力した識別子IDとPINαから認証情報f(α)を生成する認証情報生成部を含み、前記サーバ装置は、検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)を記録する記録部と、前記検証式e(P1,Q)・e(P2,s1Q)を用いて、前記識別子IDと前記認証情報f(α)から検証値e(f(α),Q)・e(A,s1Q)を計算し、e(f(α),Q)・e(A,s1Q)=e(A,Q)0、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_2、…、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とする認証情報検証部を含むことを特徴とする。
本発明の一態様は、nを1以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、s∈Z* qをペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)、H(x)をZ* qを値域とするハッシュ関数、||を連結演算子とし、αi∈Z* q (1≦i≦n)を設定されたPINとし、クライアント装置、サーバ装置を含む認証システムであって、前記クライアント装置は、端末情報f(a)と端末情報g(a)を記録する記録部と、
Figure 0006762910
(ただし、r∈Z* qは乱数、h(a)は1対1関数)
前記端末情報f(a)、g(a)を用いて、ユーザが入力した識別子IDとPINαから認証情報U=g(α)、W=xg(α)(ただし、x∈Z* qは乱数)、V=(x+y)f(α)(ただし、y=H(ID||U||W))を生成する認証情報生成部を含み、前記サーバ装置は、検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)を記録する記録部と、前記識別子IDと前記認証情報U、Wからハッシュ値y=H(ID||U||W)を計算し、前記検証式e(P1,Q)・e(P2,sQ)を用いて、前記認証情報U、W、Vから検証値e(V,Q)・e(W+yU,sQ)を計算し、e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とする認証情報検証部を含むことを特徴とする。
本発明の一態様は、nを1以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、si∈Z* q(1≦i≦n)をペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)、H(x)をZ* qを値域とするハッシュ関数、||を連結演算子とし、αi∈Z* q (1≦i≦n)を設定されたPINとし、クライアント装置、サーバ装置を含む認証システムであって、前記クライアント装置は、端末情報f(a)を記録する記録部と、
Figure 0006762910
(ただし、r, r’∈Z* qは乱数)
前記端末情報f(a)を用いて、ユーザが入力した識別子IDとPINαから認証情報W=xg(α)(ただし、x∈Z* qは乱数)、V=(x+y)f(α)(ただし、y=H(ID||W))を生成する認証情報生成部を含み、前記サーバ装置は、検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)を記録する記録部と、前記識別子IDと前記認証情報Wからハッシュ値y=H(ID||W)を計算し、前記検証式e(P1,Q)・e(P2,s1Q)を用いて、前記識別子IDと前記認証情報W、Vから検証値e(V,Q)・e(W+yA,s1Q)を計算し、e(V,Q)・e(W+yA,s1Q)=e(A,Q)0、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_2、…、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とする認証情報検証部を含むことを特徴とする。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。
認証システム100の構成の一例を示すブロック図。 クライアント装置200の構成の一例を示すブロック図。 サーバ装置300の構成の一例を示すブロック図。 セットアップ処理の一例を示すシークエンス図(第一実施形態)。 認証処理の一例を示すシークエンス図(第一実施形態)。 クライアント装置400の構成の一例を示すブロック図。 サーバ装置500の構成の一例を示すブロック図。 セットアップ処理の一例を示すシークエンス図(第二実施形態)。 認証処理の一例を示すシークエンス図(第二実施形態)。 クライアント装置201の構成の一例を示すブロック図。 サーバ装置301の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第三実施形態)。 クライアント装置401の構成の一例を示すブロック図。 サーバ装置501の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第四実施形態)。 クライアント装置202の構成の一例を示すブロック図。 サーバ装置302の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第五実施形態)。 クライアント装置402の構成の一例を示すブロック図。 サーバ装置502の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第六実施形態)。 クライアント装置203の構成の一例を示すブロック図。 サーバ装置303の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第七実施形態)。 クライアント装置204の構成の一例を示すブロック図。 サーバ装置304の構成の一例を示すブロック図。 認証処理の一例を示すシークエンス図(第八実施形態)。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<表記法>
実施形態の説明に先立って、この明細書における表記方法について説明する。
_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
qを素数位数とし、G1、G2を素数位数qの群とする。また、Z* q={0,1,…,q-1}とする。
HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数とする。ここで、A=HID(ID)とすると、ユーザの識別子IDは、関数HID(id)により群G1の点Aにマッピングされることを表す。
s∈Z* q,si∈Z* q (1≦i≦n, nは1以上の整数)をそれぞれペアリング暗号のマスター秘密鍵とする。また、A=HID(ID)に対して、sA,siA (1≦i≦n, nは1以上の整数)をそれぞれ識別子IDのユーザのユーザ秘密鍵とする。
e:G1×G2→Z* qをペアリング写像とする。k∈Z* qとして、群G1の点P,群G2のQに対して次式が成り立つ。
Figure 0006762910
なお、以下では、P, P1, P2∈G1, Q∈G2とする。
r,r’∈Z* qを乱数とする。
αi∈Z* q (1≦i≦n)を認証開始前(例えば、ユーザの識別子を生成する際)に設定される情報とする。また、α∈Z* qを認証要求時にユーザが入力する情報とする。αi∈Z* q (1≦i≦n)を設定されたPIN(または、単にPIN)、α∈Z* qを入力されたPIN(または、入力PIN)という。
H(x)をZ* qを値域とするハッシュ関数とする。H(x)は暗号学的ハッシュ関数であることが好ましい。
||を連結演算子とする。
<技術的背景>
以下では、設定された複数のPINの1つが正しく入力された場合に認証することができるようにM-Pinプロトコルを変更していく様子を、順を追って説明する。一般には、n個のPINα12,…,αnを用いるが、ここではn=2として説明する。
(方法1)
まず、認証開始前に2個のPINα12をユーザの端末に記憶しておく。また、識別子IDのユーザのユーザ秘密鍵sAもユーザの端末に記憶しておく。
ここで、aに関する2次多項式を用いて2個のPINα12のうちどれか1つが正しく入力されれば、認証成功を示す値(sAが含まれる値)が出力されるようにプロトコルを変更する。例えば、次式で表される2次多項式f1(a)を用いるようにM-Pinプロトコルを変更する。
Figure 0006762910
2次多項式f1(a)は、入力PINα12に対して、認証成功を示す値sAを出力する。
Figure 0006762910
入力PINαに対する2次多項式f1(a)の値f1(α)は、認証時にサーバに送信される情報(認証情報)となる。値f1(α)を計算するために、2次多項式f1(a)の各項a2,a,1の係数であるA, -(α12)A, (α1α2+s)Aをユーザの端末に記憶する。これらの係数は、α12,A,sAから求めることができる。なお、2次多項式f1(a)の係数をすべて記憶する代わりに、例えば、-(α12)A, (α1α2+s)Aのみというように一部を記憶するようにしてもよい。
しかし、2次多項式f1(a)の係数をこのまま端末に記憶することにすると、PINα12に関する情報α12が推測されてしまう可能性がある。
そこで、乱数rを用いて2次多項式f1(a)を次式で表される3次多項式f2(a)のように変更する。乱数rは、例えば、ユーザの端末で生成すればよい。
Figure 0006762910
先ほどと同様、3次多項式f2(a)の各項a3,a2,a,1の係数A, -(α12+r)A, (α1α2+rα1+rα2)A, (-rα1α2+s)Aをユーザの端末に記憶する。a3以外の各項の係数には、乱数rが含まれるため、攻撃者は端末に記憶した情報のみからPINα1, α2に関する情報を推測することができない。
しかし、3次多項式f2(a)を用いるように変更した場合であっても、攻撃者が全数探索を行うと、コリジョンが発生する。つまり、α1とα2が入力されると必ず同じ値sAが出力される。したがって、コリジョンを発生させることにより、PINα12を推測されてしまう可能性がある。
そこで、入力値が異なれば出力値も異なる1対1関数h(a)を用いて3次多項式f2(a)を次式で表される3次多項式f3(a)のように変更する。
Figure 0006762910
3次多項式f3(a)は、入力PINα12に対して、それぞれh(α1)sA,h(α2)sAを出力する。
Figure 0006762910
この場合、h(α1),h(α2)がわからなければ、サーバはユーザを認証することができないため、端末は入力PINαに対するh(a)の値h(α)をサーバに送信する必要がある。
なお、3次多項式f3(a)の各項a3,a2,a,1の係数A, -(α12+r)A, (α1α21r+α2r)A, (-α1α2r+s)Aは、同様、ユーザの端末に記憶される。
以上説明したように、M-Pinプロトコルにおいて、3次多項式f3(a)(n個のPINを設定する場合はn+1次多項式)と1対1関数h(a)を用いるように変更すると、設定された複数のPINの1つが正しく入力された場合に認証することができるようになる。
(方法2)
方法1では、2個のPINα12に対して1つのマスター秘密鍵と関数h(a)を用いて2つの異なる値h(α1)sA,h(α2)sAが出力されるようにしたが、2個のPINα12に対して2つのマスター秘密鍵を用いて2つの異なる値が出力されるようにしてもよい。
方法1と同様、認証開始前に2個のPINα12をユーザの端末に記憶しておく。また、識別子IDのユーザのユーザ秘密鍵s1A,s2Aをユーザの端末に記憶しておく。乱数rを用いて次式で表される3次多項式f4(a)を用いるようにM-Pinプロトコルを変更する。
Figure 0006762910
3次多項式f4(a)は、入力PINα12に対して、それぞれ認証成功を示す値(s1A,s2Aが含まれる値)を出力する。
Figure 0006762910
3次多項式f4(a)の各項a3,a2,a,1の係数については、方法1と同様、ユーザの端末に記憶する。
このように3次多項式f4(a)を用いると、攻撃者による全数探索でコリジョンが発生したとしてもPINα12を推測することが困難になり、かつ、設定された複数のPINの1つが正しく入力された場合に認証することができるようになる。
<第一実施形態>
<技術的背景>の(方法1)に対応する実施形態について説明する。
[システム構成]
図1を参照して、認証システム100について説明する。図1は、認証システム100の構成の一例を示すブロック図である。認証システム100は、クライアント装置200と、サーバ装置300とを含む。クライアント装置200、サーバ装置300は、インターネットなどのネットワーク800に接続し、クライアント装置200とサーバ装置300は相互に通信可能である。なお、認証システム100は、m台(mは1以上の整数)のクライアント装置200を含んでいてもよい。
次に、図2〜図3を参照して、クライアント装置200、サーバ装置300の各装置について説明する。図2は、クライアント装置200の構成の一例を示すブロック図である。クライアント装置200は、識別子生成部205、点計算部210、端末情報生成部215、認証情報生成部220、入出力部280、送受信部285、記録部290を含む。入出力部280は、クライアント装置200がユーザとやり取りする必要がある情報を適宜入出力するための構成部である。送受信部285は、クライアント装置200がサーバ装置300と交換する必要がある情報を適宜送受信するための構成部である。記録部290は、クライアント装置200の処理に必要な情報を適宜記録する構成部である。例えば、ユーザの識別子や認証情報生成に用いる端末情報を記録する。
図3は、サーバ装置300の構成の一例を示すブロック図である。サーバ装置300は、ユーザ秘密鍵生成部305、認証情報検証部310、送受信部385、記録部390を含む。送受信部385は、サーバ装置300がクライアント装置200と交換する必要がある情報を適宜送受信するための構成部である。記録部390は、サーバ装置300の処理に必要な情報を適宜記録する構成部である。例えば、マスター鍵や認証情報を検証するための検証式を記録する。
[セットアップ処理]
以下、図4を参照して、認証情報生成に必要な端末情報を生成するセットアップ処理について説明する。
ユーザは、クライアント装置200の入出力部280を用いて、クライアント装置200に対して識別子を生成するよう要求する(S280−1)。クライアント装置200の識別子生成部205は、ユーザの識別子IDを生成する(S205)。クライアント装置200の入出力部280は、ユーザに対してS205で生成した識別子IDを提示すると同時に、ユーザに対してn個のPINα12,…,αnを入力するよう要求する(S280−2)。ユーザは、クライアント装置200の入出力部280を用いて、クライアント装置200に対してn個のPINα12,…,αnを入力する(S280−3)。
クライアント装置200の送受信部285は、S205で生成した識別子IDをサーバ装置300に送信する(S285−1)。
サーバ装置300のユーザ秘密鍵生成部305は、関数HID(id)を用いて、S285−1で受信した識別子IDからA=HID(ID)を計算し、マスター秘密鍵sを用いて、Aからユーザ秘密鍵sAを生成する(S305)。マスター秘密鍵sは、事前に記録部390に記録しておく。
サーバ装置300の送受信部385は、S305で生成したユーザ秘密鍵sAをクライアント装置200に送信する(S385−1)。
クライアント装置200の点計算部210は、関数HID(id)を用いて、ユーザの識別子IDからA=HID(ID)を計算する(S210)。
ここまでの処理で、クライアント装置200は、ユーザの識別子IDとn個のPINα12,…,αnとAとユーザ秘密鍵sAを保持した状態になる。S280−1からS210までの手順はあくまで一例であり、クライアント装置200がこれらのデータを保持した状態になるのであれば、どのような手順でもよい。例えば、S280−3の後に、クライアント装置200の点計算部210がAを計算し、S285−1で識別子IDの代わりにAを送信するようにしてもよい。この場合、サーバ装置300のユーザ秘密鍵生成部305は、Aを計算する必要がなくなる。
クライアント装置200の端末情報生成部215は、S280−3で入力されたPINα12,…,αn、S210で生成したA、S385−1で受信したユーザ秘密鍵sAを用いて、端末情報を生成する(S215)。具体的には、次式で定義されるaに関する式f(a)とaに関する式g(a)を端末情報として生成する。
Figure 0006762910
ただし、rは乱数であり、例えば、端末情報生成部215が端末情報を生成する直前に生成する。
クライアント装置200は、識別子IDと端末情報f(a)とg(a)を記録部290に記録する。端末情報を記録するために、例えば、式f(a)の項an,an-1,…,a,1,1/aの係数と式g(a)の項1/aの係数を記録するのでよい。n=2のときを例として説明すると、式f(a)の項a2,a,1,1/aの係数、式g(a)の項1/aの係数である-(α12+r)A, (α12+r)(α12+r)A, -(α12+r)(α1α2+rα1+rα2)A, -(α12+r)(-rα1α2+s)A, (α12+r)Aが記録される。
認証処理開始前までに、サーバ装置300の記録部390には、マスター秘密鍵sと検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)が記録される。
なお、端末情報f(a)とg(a)は1対1関数h(a)を用いて次式で定義されるaに関する式としてもよい。
Figure 0006762910
ただし、rは乱数とする。
[認証処理]
以下、図5を参照して、認証処理について説明する。
ユーザは、クライアント装置200の入出力部280を用いて、クライアント装置200に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置200の認証情報生成部220は、端末情報f(a)とg(a)を用いて、S280−1で入力されたPINαから、認証情報を生成する(S220)。具体的には、式f(a)にαを代入した値f(α)、式g(a)にαを代入した値g(α)を認証情報として生成する。
クライアント装置200の送受信部285は、S220で生成した認証情報f(α)、g(α)をサーバ装置300に送信する(S285−1)。
サーバ装置300の認証情報検証部310は、マスター秘密鍵sを用いて、S285−1で受信した認証情報f(α)、g(α)を検証する(S310)。具体的には、検証式e(P1,Q)・e(P2,sQ)のP1、P2にそれぞれf(α)、g(α)を代入した値e(f(α),Q)・e(g(α),sQ)(以下、検証値という)を計算する。e(f(α),Q)・e(g(α),sQ)=e(A,Q)0が成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、認証情報f(α)、g(α)は
Figure 0006762910
となり、検証値e(f(α),Q)・e(g(α),sQ)は、
Figure 0006762910
となり、認証結果は成功となる。
なお、マスター秘密鍵sや検証式e(P1,Q)・e(P2,sQ)が識別子IDと対応付けられて記録部390に記録されている場合は、S285−1で認証情報f(α)、g(α)とともに識別子IDをサーバ装置300に送信するとよい。
サーバ装置300の送受信部385は、S310で生成した認証結果をクライアント装置200に送信する(S385−1)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。
以下、本発明の安全性について説明する。端末情報f(a)の項an,an-1,…,a,1,1/aの係数、端末情報g(a)の項1/aの係数には、乱数rが含まれる。ここで、素数位数qを十分に大きな値にしてやると、攻撃者がこれらの係数からPINα12,…,αnやマスター秘密鍵sを入手しようとしても、乱数rが含まれるため、楕円曲線上の離散対数問題が困難であるという仮定のもと計算量的安全性を満たす。
<第二実施形態>
<技術的背景>の(方法2)に対応する実施形態について説明する。
[システム構成]
図6〜図7を参照して、クライアント装置400、サーバ装置500の各装置について説明する。図6は、クライアント装置400の構成の一例を示すブロック図である。クライアント装置400は、識別子生成部205、点計算部210、端末情報生成部415、認証情報生成部420、入出力部280、送受信部285、記録部290を含む。
図7は、サーバ装置500の構成の一例を示すブロック図である。サーバ装置500は、ユーザ秘密鍵生成部505、認証情報検証部510、送受信部385、記録部390を含む。
[セットアップ処理]
以下、図8を参照して、認証情報生成に必要な端末情報を生成するセットアップ処理について説明する。図8の処理シークエンスは、図4の処理シークエンスと途中まで同じである。具体的には、S285−1まで同じである。そこで、S505以降の処理シークエンスについて説明する。
サーバ装置500のユーザ秘密鍵生成部505は、関数HID(id)を用いて、S285−1で受信した識別子IDからA=HID(ID)を計算し、n個のマスター秘密鍵si(1≦i≦n)を用いて、Aからn個のユーザ秘密鍵siA(1≦i≦n)を生成する(S505)。マスター秘密鍵si(1≦i≦n)は、事前に記録部390に記録しておく。
サーバ装置500の送受信部385は、S505で生成したユーザ秘密鍵siA(1≦i≦n)をクライアント装置400に送信する(S385−1)。
クライアント装置400の点計算部210は、関数HID(id)を用いて、ユーザの識別子IDからA=HID(ID)を計算する(S210)。
ここまでの処理で、クライアント装置400は、ユーザの識別子IDとn個のPINαi(1≦i≦n)とAとn個のユーザ秘密鍵siA(1≦i≦n)を保持した状態になる。S280−1からS210までの手順はあくまで一例であり、クライアント装置400がこれらのデータを保持した状態になるのであれば、どのような手順でもよい。
クライアント装置400の端末情報生成部415は、S280−3で入力されたn個のPINαi(1≦i≦n)、S210で生成したA、S385−1で受信したユーザ秘密鍵siA(1≦i≦n)を用いて、端末情報を生成する(S415)。具体的には、次式で定義されるaに関する式f(a)を端末情報として生成する。
Figure 0006762910
ただし、r, r’は乱数であり、例えば、端末情報生成部415が端末情報を生成する直前に生成する。
クライアント装置400は、識別子IDと端末情報f(a)を記録部290に記録する。端末情報を記録するために、例えば、式f(a)の項an+1,an,…,a,1の係数を記録するのでよい。
また、認証処理開始前までに、サーバ装置500の記録部390には、マスター秘密鍵si(1≦i≦n)と検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図9を参照して、認証処理について説明する。
ユーザは、クライアント装置400の入出力部280を用いて、クライアント装置400に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置400の認証情報生成部420は、端末情報f(a)を用いて、S280−1で入力されたPINαから、認証情報を生成する(S420)。具体的には、式f(a)にαを代入した値f(α)を認証情報として生成する。
クライアント装置400の送受信部285は、S280−1で入力された識別子IDとS420で生成した認証情報f(α)をサーバ装置500に送信する(S285−1)。
サーバ装置500の認証情報検証部510は、マスター秘密鍵si(1≦i≦n)を用いて、S285−1で受信した認証情報f(α)を検証する(S510)。具体的には、まず、関数HID(id)を用いて、識別子IDからA=HID(ID)を計算する。次に、検証式e(P1,Q)・e(P2,s1Q)のP1、P2にそれぞれにf(α)、Aを代入した値e(f(α),Q)・e(A,s1Q)(以下、検証値という)を計算する。e(f(α),Q)・e(A,s1Q)=e(A,Q)0、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_2、…、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、認証情報f(α)は
Figure 0006762910
となり、検証値e(f(α),Q)・e(A,s1Q)は、
Figure 0006762910
となり、認証結果は成功となる。
サーバ装置500の送受信部385は、S510で生成した認証結果をクライアント装置400に送信する(S385−1)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。
以下、本発明の安全性について説明する。端末情報f(a)の項an+1,an,…,a,1の係数には、乱数rやr’が含まれる。ここで、素数位数qを十分に大きな値にしてやると、攻撃者がこれらの係数からPINα12,…,αnやマスター秘密鍵s1,s2,…,snを入手しようとしても、乱数rやr’が含まれため、楕円曲線上の離散対数問題が困難であるという仮定のもと計算量的安全性を満たす。
<第三実施形態>
第一実施形態では、サーバ装置に送信する認証情報としてf(α)とg(α)を用いた。この方法では、認証時にn個の認証情報の組f(αi)とg(αi)(1≦i≦n)のいずれかがサーバ装置に送信されることになる。そこで、乱数xとハッシュ関数H(x)を用いて認証情報が認証の都度変わるように変更を加えた第一実施形態の変形例を説明する。
[システム構成]
図10〜図11を参照して、クライアント装置201、サーバ装置301の各装置について説明する。図10は、クライアント装置201の構成の一例を示すブロック図である。クライアント装置201は、識別子生成部205、点計算部210、端末情報生成部215、認証情報生成部221、入出力部280、送受信部285、記録部290を含む。クライアント装置201は、認証情報生成部220の代わりに認証情報生成部221を含む点においてのみクライアント装置200と異なる。つまり、サーバ装置301に送信する認証情報の生成方法が異なる。
図11は、サーバ装置301の構成の一例を示すブロック図である。サーバ装置301は、ユーザ秘密鍵生成部305、認証情報検証部311、送受信部385、記録部390を含む。サーバ装置301は、認証情報検証部310の代わりに認証情報検証部311を含む点においてのみサーバ装置300と異なる。つまり、クライアント装置201から受信した認証情報の検証方法が異なる。
[セットアップ処理]
セットアップ処理は、第一実施形態と同一でよい。したがって、クライアント装置201の記録部290には、識別子IDと端末情報f(a)とg(a)が記録される。また、認証処理開始前までに、サーバ装置301の記録部390には、マスター秘密鍵sと検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図12を参照して、認証処理について説明する。
ユーザは、クライアント装置201の入出力部280を用いて、クライアント装置201に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置201の認証情報生成部221は、端末情報f(a)とg(a)を用いて、S280−1で入力された識別子IDとPINαから、認証情報U,W,Vを生成する(S221)。具体的には、まず乱数x∈Z* qを生成し、U=g(α)とW=xg(α)を計算する。次に、ハッシュ関数H(x)を用いて、ハッシュ値y=H(ID||U||W)を計算し、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置201の送受信部285は、S280−1で入力された識別子IDとS221で生成した認証情報U,W,Vをサーバ装置301に送信する(S285−1)。
サーバ装置301の認証情報検証部311は、マスター秘密鍵sを用いて、S285−1で受信した認証情報U,W,Vを検証する(S311)。具体的には、まず、ハッシュ関数H(x)を用いて、ハッシュ値y=H(ID||U||W)を計算する。次に、検証式e(P1,Q)・e(P2,sQ)のP1、P2にそれぞれV、W+yUを代入した値e(V,Q)・e(W+yU,sQ)(以下、検証値という)を計算する。e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、認証情報U,W,Vは
Figure 0006762910
となり、検証値e(V,Q)・e(W+yU,sQ)は、
Figure 0006762910
となり、認証結果は成功となる。
サーバ装置301の送受信部385は、S311で生成した認証結果をクライアント装置201に送信する(S385−1)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。サーバ装置に送信される認証情報が認証の都度変わるため、第一実施形態よりも安全性が高くなる。
<第四実施形態>
第二実施形態では、サーバ装置に送信する認証情報としてf(α)を用いた。この方法では、認証時にn個の認証情報f(αi)(1≦i≦n)のいずれかがサーバ装置に送信されることになる。そこで、乱数xとハッシュ関数H(x)を用いて認証情報が認証の都度変わるように変更を加えた第二実施形態の変形例を説明する。
[システム構成]
図13〜図14を参照して、クライアント装置401、サーバ装置501の各装置について説明する。図13は、クライアント装置401の構成の一例を示すブロック図である。クライアント装置401は、識別子生成部205、点計算部210、端末情報生成部415、認証情報生成部421、入出力部280、送受信部285、記録部290を含む。クライアント装置401は、認証情報生成部420の代わりに認証情報生成部421を含む点においてのみクライアント装置400と異なる。つまり、サーバ装置501に送信する認証情報の生成方法が異なる。
図14は、サーバ装置501の構成の一例を示すブロック図である。サーバ装置501は、ユーザ秘密鍵生成部505、認証情報検証部511、送受信部385、記録部390を含む。サーバ装置501は、認証情報検証部510の代わりに認証情報検証部511を含む点においてのみサーバ装置500と異なる。つまり、クライアント装置401から受信した認証情報の検証方法が異なる。
[セットアップ処理]
セットアップ処理は、第二実施形態と同一でよい。したがって、クライアント装置401の記録部290には、識別子IDと端末情報f(a)が記録される。また、認証処理開始前までに、サーバ装置501の記録部390には、マスター秘密鍵si(1≦i≦n)と検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図15を参照して、認証処理について説明する。
ユーザは、クライアント装置401の入出力部280を用いて、クライアント装置401に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置401の認証情報生成部421は、端末情報f(a)を用いて、S280−1で入力された識別子IDとPINαから、認証情報W,Vを生成する(S421)。具体的には、まず乱数x∈Z* qを生成し、A=HID(ID)を計算し、W=xAを計算する。次に、ハッシュ関数H(x)を用いて、ハッシュ値y=H(ID||W)を計算し、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置401の送受信部285は、S280−1で入力された識別子IDとS421で生成した認証情報W,Vをサーバ装置501に送信する(S285−1)。
サーバ装置501の認証情報検証部511は、マスター秘密鍵si(1≦i≦n)を用いて、S285−1で受信した認証情報W,Vを検証する(S511)。具体的には、まず、関数HID(id)を用いて、S285−1で受信した識別子IDからA=HID(ID)を、ハッシュ関数H(x)を用いて、S285−1で受信した識別子IDと認証情報Wからハッシュ値y=H(ID||W)を計算する。次に、検証式e(P1,Q)・e(P2,s1Q) のP1、P2にそれぞれV、W+yAを代入した値e(V,Q)・e(W+yA,s1Q)(以下、検証値という)を計算する。e(V,Q)・e(W+yA,s1Q)=e(A,Q)0、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_2、…、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、認証情報Vは
Figure 0006762910
となり、検証値e(V,Q)・e(W+yA,s1Q)は、
Figure 0006762910
となり、認証結果は成功となる。
サーバ装置501の送受信部385は、S511で生成した認証結果をクライアント装置401に送信する(S385−1)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。サーバ装置に送信される認証情報が認証の都度変わるため、第二実施形態よりも安全性が高くなる。
<第五実施形態>
第三実施形態では、乱数xとハッシュ関数H(x)を用いて認証情報が認証の都度変わるように第一実施形態に変更を加えた。第三実施形態は、複数の認証情報をまとめて1回で送信する1パスプロトコルとなっていた。ここでは、クライアント装置で生成した乱数xとサーバ装置で生成した乱数yを用いて認証情報が認証の都度変わる2パスプロトコルに変更した第三実施形態の変形例を説明する。
[システム構成]
図16〜図17を参照して、クライアント装置202、サーバ装置302の各装置について説明する。図16は、クライアント装置202の構成の一例を示すブロック図である。クライアント装置202は、識別子生成部205、点計算部210、端末情報生成部215、第1認証情報生成部222、第二認証情報生成部223、入出力部280、送受信部285、記録部290を含む。クライアント装置202は、認証情報生成部221の代わりに第1認証情報生成部222と第2認証情報生成部223を含む点においてのみクライアント装置201と異なる。つまり、サーバ装置302に送信する認証情報の生成方法と送信方法が異なる。
図17は、サーバ装置302の構成の一例を示すブロック図である。サーバ装置302は、ユーザ秘密鍵生成部305、乱数生成部309、認証情報検証部312、送受信部385、記録部390を含む。サーバ装置302は、認証情報検証部311の代わりに乱数生成部309と認証情報検証部312を含む点においてのみサーバ装置301と異なる。つまり、クライアント装置202から認証情報を受信する方法と認証情報の検証方法が異なる。
[セットアップ処理]
セットアップ処理は、第三実施形態(第一実施形態)と同一でよい。したがって、クライアント装置202の記録部290には、識別子IDと端末情報f(a)とg(a)が記録される。また、認証処理開始前までに、サーバ装置302の記録部390には、マスター秘密鍵sと検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図18を参照して、認証処理について説明する。
ユーザは、クライアント装置202の入出力部280を用いて、クライアント装置202に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置202の第1認証情報生成部222は、端末情報g(a)を用いて、S280−1で入力された識別子IDとPINαから、認証情報U,Wを生成する(S222)。具体的には、乱数x∈Z* qを生成し、U=g(α)とW=xg(α)を計算する。
クライアント装置202の送受信部285は、S280−1で入力された識別子IDとS222で生成した認証情報U,Wをサーバ装置302に送信する(S285−1)。
サーバ装置302の乱数生成部309は、乱数y∈Z* qを生成する(S309)。
サーバ装置302の送受信部385は、S309で生成した乱数yをクライアント装置202に送信する(S385−1)。
クライアント装置202の第2認証情報生成部223は、端末情報f(a)を用いて、S280−1で入力されたPINαとS222で生成した乱数xとS385−1で受信した乱数yから、認証情報Vを生成する(S223)。具体的には、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置202の送受信部285は、S223で生成した認証情報Vをサーバ装置302に送信する(S285−2)。
サーバ装置302の認証情報検証部312は、マスター秘密鍵sを用いて、S285−1で受信した認証情報U,W、S285−2で受信した認証情報Vを検証する(S312)。具体的には、検証式e(P1,Q)・e(P2,sQ)のP1、P2にそれぞれV、W+yUを代入した値e(V,Q)・e(W+yU,sQ)(以下、検証値という)を計算する。e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、第三実施形態と同様、検証値e(V,Q)・e(W+yU,sQ)は、e(A,Q)0となり、認証結果は成功となる。
サーバ装置302の送受信部385は、S312で生成した認証結果をクライアント装置202に送信する(S385−2)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。サーバ装置に送信される認証情報が認証の都度変わるため、第一実施形態よりも安全性が高くなる。
<第六実施形態>
第四実施形態では、乱数xとハッシュ関数H(x)を用いて認証情報が認証の都度変わるように第二実施形態に変更を加えた。第四実施形態は、複数の認証情報をまとめて1回で送信する1パスプロトコルとなっていた。ここでは、クライアント装置で生成した乱数xとサーバ装置で生成した乱数yを用いて認証情報が認証の都度変わる2パスプロトコルに変更した第四実施形態の変形例を説明する。
[システム構成]
図19〜図20を参照して、クライアント装置402、サーバ装置502の各装置について説明する。図19は、クライアント装置402の構成の一例を示すブロック図である。クライアント装置402は、識別子生成部205、点計算部210、端末情報生成部415、第1認証情報生成部422、第2認証情報生成部423、入出力部280、送受信部285、記録部290を含む。クライアント装置402は、認証情報生成部421の代わりに第1認証情報生成部422と第2認証情報生成部423を含む点においてのみクライアント装置401と異なる。つまり、サーバ装置502に送信する認証情報の生成方法と送信方法が異なる。
図20は、サーバ装置502の構成の一例を示すブロック図である。サーバ装置502は、ユーザ秘密鍵生成部505、乱数生成部309、認証情報検証部512、送受信部385、記録部390を含む。サーバ装置502は、認証情報検証部511の代わりに乱数生成部309と認証情報検証部512を含む点においてのみサーバ装置501と異なる。つまり、クライアント装置402から認証情報を受信する方法と認証情報の検証方法が異なる。
[セットアップ処理]
セットアップ処理は、第四実施形態(第二実施形態)と同一でよい。したがって、クライアント装置402の記録部290には、識別子IDと端末情報f(a)が記録される。また、サーバ装置502の記録部390には、マスター秘密鍵si(1≦i≦n)と検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図21を参照して、認証処理について説明する。
ユーザは、クライアント装置402の入出力部280を用いて、クライアント装置402に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置402の第1認証情報生成部422は、S280−1で入力された識別子IDとPINαから、認証情報Wを生成する(S422)。具体的には、乱数x∈Z* qを生成し、A=HID(ID)を計算し、W=xAを計算する。
クライアント装置402の送受信部285は、S280−1で入力された識別子IDとS422で生成した認証情報Wをサーバ装置502に送信する(S285−1)。
サーバ装置502の乱数生成部309は、乱数y∈Z* qを生成する(S309)。
サーバ装置502の送受信部385は、S309で生成した乱数yをクライアント装置402に送信する(S385−1)。
クライアント装置402の第2認証情報生成部423は、端末情報f(a)を用いて、S280−1で入力されたPINαとS422で生成した乱数xとS385−1で受信した乱数yから、認証情報Vを生成する(S423)。具体的には、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置402の送受信部285は、S423で生成した認証情報Vをサーバ装置302に送信する(S285−2)。
サーバ装置502の認証情報検証部512は、マスター秘密鍵si(1≦i≦n)を用いて、S285−1で受信した認証情報W、S285−2で受信した認証情報Vを検証する(S512)。具体的には、まず、関数HID(id)を用いて、S285−1で受信した識別子IDからA=HID(ID)を計算する。次に、検証式e(P1,Q)・e(P2,s1Q)のP1、P2にそれぞれV、W+yAを代入した値e(V,Q)・e(W+yA,s1Q)(以下、検証値という)を計算する。e(V,Q)・e(W+yA,s1Q)=e(A,Q)0、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_2、…、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、第四実施形態と同様、検証値e(V,Q)・e(W+yA,s1Q)は、e(A,Q)s1-siとなり、認証結果は成功となる。
サーバ装置502の送受信部385は、S512で生成した認証結果をクライアント装置402に送信する(S385−2)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。サーバ装置に送信される認証情報が認証の都度変わるため、第二実施形態よりも安全性が高くなる。
<第七実施形態>
認証時にクライアント装置の時刻とサーバ装置の時刻を比較することにより、第三実施形態や第四実施形態の1パスプロトコルの認証をより強固なものにすることができる。そこで、ここでは、第三実施形態を変形した例を説明する。
[システム構成]
図22〜図23を参照して、クライアント装置203、サーバ装置303の各装置について説明する。図22は、クライアント装置203の構成の一例を示すブロック図である。クライアント装置203は、識別子生成部205、点計算部210、端末情報生成部215、乱数生成部218、時刻取得部219、認証情報生成部221、入出力部280、送受信部285、記録部290を含む。クライアント装置203は、更に、乱数生成部218、時刻取得部219を含む点においてのみクライアント装置201と異なる。
図23は、サーバ装置303の構成の一例を示すブロック図である。サーバ装置303は、ユーザ秘密鍵生成部305、時刻取得部307、時刻比較部308、認証情報検証部311、送受信部385、記録部390を含む。サーバ装置303は、更に、時刻取得部307、時刻比較部308を含む点においてのみサーバ装置301と異なる。
[セットアップ処理]
セットアップ処理は、第三実施形態(第一実施形態)と同一でよい。したがって、クライアント装置203の記録部290には、識別子IDと端末情報f(a)とg(a)が記録される。また、認証処理開始前までに、サーバ装置303の記録部390には、マスター秘密鍵sと検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図24を参照して、認証処理について説明する。
ユーザは、クライアント装置203の入出力部280を用いて、クライアント装置203に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置203の乱数生成部218は、乱数nonce∈Z* qを生成する(S218)。
クライアント装置203の時刻取得部219は、クライアント装置203の現在時刻CCTを取得する(S219)。
クライアント装置203の認証情報生成部221は、端末情報f(a)とg(a)を用いて、S280−1で入力された識別子IDとPINαから、認証情報U,W,Vを生成する(S221)。具体的には、まず乱数x∈Z* qを生成し、U=g(α)とW=xg(α)を計算する。次に、ハッシュ関数H(x)を用いて、ハッシュ値y=H(ID||U||W||nonce||CCT)を計算し、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置203の送受信部285は、S280−1で入力された識別子IDとS221で生成した認証情報U,W,VとS218で生成した乱数nonceとS219で取得した現在時刻CCTをサーバ装置303に送信する(S285−1)。
サーバ装置303の時刻取得部307は、サーバ装置303の現在時刻SCTを取得する(S307)。
サーバ装置303の時刻比較部308は、S285−1で受信した乱数nonceが過去に受信したものと一致するか否か、S285−1で受信した現在時刻CCTとS307で取得した現在時刻SCTの絶対値|CCT-SCT|が所定の閾値δより大きいか(以上か)否かを判定する(S308)。ここで、乱数nonceが過去に受信したものと一致するか否かは、例えば、これまでの認証時に送信されてきた乱数nonceを記録部390に記録しておくことで判定することができる。また、δは0以上の実数であり、絶対値|CCT-SCT|が閾値δより大きい(以上である)ことを小さいことを示す所定の範囲にないという。乱数nonceが過去に受信したものと一致する場合または絶対値|CCT-SCT|が閾値δより大きい(以上となる)場合は、認証処理を中止し、サーバ装置303の送受信部385は、認証結果を失敗として、クライアント装置203に送信する。それ以外の場合は、認証処理を継続する。
サーバ装置303の認証情報検証部311は、マスター秘密鍵sを用いて、S285−1で受信した認証情報U,W,Vを検証する(S311)。具体的には、まず、ハッシュ関数H(x)を用いて、ハッシュ値y=H(ID||U||W||nonce||CCT)を計算する。次に、検証式e(P1,Q)・e(P2,sQ)のP1、P2にそれぞれV、W+yUを代入した値e(V,Q)・e(W+yU,sQ)(以下、検証値という)を計算する。e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、第三実施形態と同様、検証値e(V,Q)・e(W+yU,sQ)は、e(A,Q)0となり、認証結果は成功となる。
サーバ装置303の送受信部385は、S311で生成した認証結果をクライアント装置203に送信する(S385−1)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。認証時にクライアント装置の時刻とサーバ装置の時刻を比較する処理を追加することにより、第三実施形態や第四実施形態よりも安全性が高くなる。
<第八実施形態>
認証時にクライアント装置の時刻とサーバ装置の時刻を比較することにより、第五実施形態や第六実施形態の2パスプロトコルの認証をより強固なものにすることができる。そこで、ここでは、第五実施形態を変形した例を説明する。
[システム構成]
図25〜図26を参照して、クライアント装置204、サーバ装置304の各装置について説明する。図25は、クライアント装置204の構成の一例を示すブロック図である。クライアント装置204は、識別子生成部205、点計算部210、端末情報生成部215、乱数生成部218、時刻取得部219、第1認証情報生成部222、第二認証情報生成部223、入出力部280、送受信部285、記録部290を含む。クライアント装置204は、更に、乱数生成部218、時刻取得部219を含む点においてのみクライアント装置202と異なる。
図26は、サーバ装置304の構成の一例を示すブロック図である。サーバ装置304は、ユーザ秘密鍵生成部305、時刻取得部307、時刻比較部308、乱数生成部309、認証情報検証部312、送受信部385、記録部390を含む。サーバ装置304は、更に、時刻取得部307、時刻比較部308を含む点においてのみサーバ装置302と異なる。
[セットアップ処理]
セットアップ処理は、第五実施形態(第一実施形態)と同一でよい。したがって、クライアント装置204の記録部290には、識別子IDと端末情報f(a)とg(a)が記録される。また、認証処理開始前までに、サーバ装置304の記録部390には、マスター秘密鍵sと検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)が記録される。
[認証処理]
以下、図27を参照して、認証処理について説明する。
ユーザは、クライアント装置204の入出力部280を用いて、クライアント装置202に対して識別子IDとPINαを入力する(S280−1)。
クライアント装置204の乱数生成部218は、乱数nonce∈Z* qを生成する(S218)。
クライアント装置204の時刻取得部219は、クライアント装置203の現在時刻CCTを取得する(S219)。
クライアント装置204の第1認証情報生成部222は、端末情報g(a)を用いて、S280−1で入力された識別子IDとPINαから、認証情報U,Wを生成する(S222)。具体的には、乱数x∈Z* qを生成し、U=g(α)とW=xg(α)を計算する。
クライアント装置204の送受信部285は、S280−1で入力された識別子IDとS222で生成した認証情報U,WとS218で生成した乱数nonceとS219で取得した現在時刻CCTをサーバ装置304に送信する(S285−1)。
サーバ装置304の乱数生成部309は、乱数y∈Z* qを生成する(S309)。
サーバ装置304の送受信部385は、S309で生成した乱数yをクライアント装置204に送信する(S385−1)。
クライアント装置204の第2認証情報生成部223は、端末情報f(a)を用いて、S280−1で入力されたPINαとS222で生成した乱数xとS385−1で受信した乱数yから、認証情報Vを生成する(S223)。具体的には、式f(a)にαを代入した値f(α)からV=(x+y)f(α)を計算する。
クライアント装置204の送受信部285は、S223で生成した認証情報Vをサーバ装置304に送信する(S285−2)。
サーバ装置304の時刻取得部307は、サーバ装置304の現在時刻SCTを取得する(S307)。
サーバ装置304の時刻比較部308は、S285−1で受信した乱数nonceが過去に受信したものと一致するか否か、S285−1で受信した現在時刻CCTとS307で取得した現在時刻SCTの絶対値|CCT-SCT|が所定の閾値δより大きいか(以上か)否かを判定する(S308)。ここで、乱数nonceが過去に受信したものと一致するか否かは、例えば、これまでの認証時に送信されてきた乱数nonceを記録部390に記録しておくことで判定することができる。また、δは0以上の実数であり、絶対値|CCT-SCT|が閾値δより大きい(以上である)ことを小さいことを示す所定の範囲にないという。乱数nonceが過去に受信したものと一致する場合または絶対値|CCT-SCT|が閾値δより大きい(以上となる)場合は、認証処理を中止し、サーバ装置304の送受信部385は、認証結果を失敗として、クライアント装置204に送信する。それ以外の場合は、認証処理を継続する。
サーバ装置304の認証情報検証部312は、マスター秘密鍵sを用いて、S285−1で受信した認証情報U,W、S285−2で受信した認証情報Vを検証する(S312)。具体的には、検証式e(P1,Q)・e(P2,sQ)のP1、P2にそれぞれV、W+yUを代入した値e(V,Q)・e(W+yU,sQ)(以下、検証値という)を計算する。e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とし、それ以外の場合は失敗とする。
αが設定されたPINの1つに一致する、すなわち、α=αi(1≦i≦n)である場合、第五実施形態と同様、検証値e(V,Q)・e(W+yU,sQ)は、e(A,Q)0となり、認証結果は成功となる。
サーバ装置304の送受信部385は、S312で生成した認証結果をクライアント装置204に送信する(S385−2)。
本発明によれば、設定された複数のPINのうち、認証時に1つのPINが正しく入力された場合に認証することができる。認証時にクライアント装置の時刻とサーバ装置の時刻を比較する処理を追加することにより、第五実施形態や第六実施形態よりも安全性が高くなる。
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (9)

  1. nを2以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、s∈Z* qをペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)とし、
    αi∈Z* q (1≦i≦n)をユーザが認証開始前に設定したPINとし、
    クライアント装置、サーバ装置を含む認証システムであって、
    前記クライアント装置は、
    端末情報f(a)と端末情報g(a)を記録する記録部と、
    Figure 0006762910

    (ただし、r∈Z* qは乱数、h(a)は1対1関数)
    前記端末情報f(a)、g(a)を用いて、ユーザが認証要求時に入力したPINαから認証情報f(α)、g(α)を生成する認証情報生成部を含み、
    前記サーバ装置は、
    検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)を記録する記録部と、
    前記検証式e(P1,Q)・e(P2,sQ)を用いて、前記認証情報f(α)、g(α)から検証値e(f(α),Q)・e(g(α),sQ)を計算し、e(f(α),Q)・e(g(α),sQ)=e(A,Q)0が成立する場合は認証結果を成功とする認証情報検証部を含む
    ことを特徴とする認証システム。
  2. nを2以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、si∈Z* q (1≦i≦n)をペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)とし、
    αi∈Z* q (1≦i≦n)をユーザが認証開始前に設定したPINとし、
    クライアント装置、サーバ装置を含む認証システムであって、
    前記クライアント装置は、
    端末情報f(a)を記録する記録部と、
    Figure 0006762910

    (ただし、r, r’∈Z* qは乱数)
    前記端末情報f(a)を用いて、ユーザが認証要求時に入力したPINαから認証情報f(α)を生成する認証情報生成部を含み、
    前記サーバ装置は、
    検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)を記録する記録部と、
    前記検証式e(P1,Q)・e(P2,s1Q)を用いて、前記識別子IDと前記認証情報f(α)から検証値e(f(α),Q)・e(A,s1Q)を計算し、e(f(α),Q)・e(A,s1Q)=e(A,Q)0、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_2、…、e(f(α),Q)・e(A,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とする認証情報検証部を含む
    ことを特徴とする認証システム。
  3. nを2以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、s∈Z* qをペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)、H(x)をZ* qを値域とするハッシュ関数、||を連結演算子とし、
    αi∈Z* q (1≦i≦n)をユーザが認証開始前に設定したPINとし、
    クライアント装置、サーバ装置を含む認証システムであって、
    前記クライアント装置は、
    端末情報f(a)と端末情報g(a)を記録する記録部と、
    Figure 0006762910

    (ただし、r∈Z* qは乱数、h(a)は1対1関数)
    前記端末情報f(a)、g(a)を用いて、ユーザが認証要求時に入力した識別子IDとPINαから認証情報U=g(α)、W=xg(α)(ただし、x∈Z* qは乱数)、V=(x+y)f(α)(ただし、y=H(ID||U||W))を生成する認証情報生成部を含み、
    前記サーバ装置は、
    検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)を記録する記録部と、
    前記識別子IDと前記認証情報U、Wからハッシュ値y=H(ID||U||W)を計算し、前記検証式e(P1,Q)・e(P2,sQ)を用いて、前記認証情報U、W、Vから検証値e(V,Q)・e(W+yU,sQ)を計算し、e(V,Q)・e(W+yU,sQ)=e(A,Q)0が成立する場合は認証結果を成功とする認証情報検証部を含む
    ことを特徴とする認証システム。
  4. nを2以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、si∈Z* q (1≦i≦n)をペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)、H(x)をZ* qを値域とするハッシュ関数、||を連結演算子とし、
    αi∈Z* q (1≦i≦n)をユーザが認証開始前に設定したPINとし、
    クライアント装置、サーバ装置を含む認証システムであって、
    前記クライアント装置は、
    端末情報f(a)を記録する記録部と、
    Figure 0006762910

    (ただし、r, r’∈Z* qは乱数)
    前記端末情報f(a)を用いて、ユーザが認証要求時に入力した識別子IDとPINαから認証情報W=xg(α)(ただし、x∈Z* qは乱数)、V=(x+y)f(α)(ただし、y=H(ID||W))を生成する認証情報生成部を含み、
    前記サーバ装置は、
    検証式e(P1,Q)・e(P2,s1Q)(ただし、Qは群G2の点)を記録する記録部と、
    前記識別子IDと前記認証情報Wからハッシュ値y=H(ID||W)を計算し、前記検証式e(P1,Q)・e(P2,s1Q)を用いて、前記識別子IDと前記認証情報W、Vから検証値e(V,Q)・e(W+yA,s1Q)を計算し、e(V,Q)・e(W+yA,s1Q)=e(A,Q)0、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_2、…、e(V,Q)・e(W+yA,s1Q)=e(A,Q)s_1-s_nのいずれかが成立する場合は認証結果を成功とする認証情報検証部を含む
    ことを特徴とする認証システム。
  5. 請求項1ないし4のいずれか1項に記載の認証システムに含まれるクライアント装置。
  6. 請求項1ないし4のいずれか1項に記載の認証システムに含まれるサーバ装置。
  7. nを2以上の整数、G1、G2を素数位数qの群、Z* q={0,1,…,q-1}、s∈Z* qをペアリング暗号のマスター秘密鍵、e:G1×G2→Z* qをペアリング写像、HID(id)をユーザの識別子idのハッシュ値をとって群G1の点にマッピングする関数、IDをユーザの識別子、A=HID(ID)とし、
    αi∈Z* q (1≦i≦n)をユーザが認証開始前に設定したPINとし、
    クライアント装置、サーバ装置を含む認証システムが実行する認証方法であって、
    前記クライアント装置の記録部は、端末情報f(a)と端末情報g(a)を記録し、
    Figure 0006762910

    (ただし、r∈Z* qは乱数、h(a)は1対1関数)
    前記サーバ装置の記録部は、検証式e(P1,Q)・e(P2,sQ)(ただし、Qは群G2の点)を記録し、
    前記クライアント装置が、前記端末情報f(a)、g(a)を用いて、ユーザが認証要求時に入力したPINαから認証情報f(α)、g(α)を生成する認証情報生成ステップと、
    前記サーバ装置が、前記検証式e(P1,Q)・e(P2,sQ)を用いて、前記認証情報f(α)、g(α)から検証値e(f(α),Q)・e(g(α),sQ)を計算し、e(f(α),Q)・e(g(α),sQ)=e(A,Q)0が成立する場合は認証結果を成功とする認証情報検証ステップを含む
    ことを特徴とする認証方法。
  8. 請求項5に記載のクライアント装置としてコンピュータを機能させるためのプログラム。
  9. 請求項6に記載のサーバ装置としてコンピュータを機能させるためのプログラム。
JP2017114092A 2017-06-09 2017-06-09 認証システム、クライアント装置、サーバ装置、認証方法、プログラム Active JP6762910B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017114092A JP6762910B2 (ja) 2017-06-09 2017-06-09 認証システム、クライアント装置、サーバ装置、認証方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017114092A JP6762910B2 (ja) 2017-06-09 2017-06-09 認証システム、クライアント装置、サーバ装置、認証方法、プログラム

Publications (2)

Publication Number Publication Date
JP2018207441A JP2018207441A (ja) 2018-12-27
JP6762910B2 true JP6762910B2 (ja) 2020-09-30

Family

ID=64958491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017114092A Active JP6762910B2 (ja) 2017-06-09 2017-06-09 認証システム、クライアント装置、サーバ装置、認証方法、プログラム

Country Status (1)

Country Link
JP (1) JP6762910B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2371329C (en) * 1999-05-21 2005-12-06 International Business Machines Corporation Method and apparatus for initializing secure communications among, and for exclusively pairing wireless devices
JP5163413B2 (ja) * 2008-10-06 2013-03-13 大日本印刷株式会社 ロック解除システム、クライアント端末、およびロック解除プログラム
US9154302B2 (en) * 2012-01-25 2015-10-06 CertiVox Ltd. System and method for secure two-factor authenticated ID-based key exchange and remote login using an insecure token and simple second-factor such as a PIN number

Also Published As

Publication number Publication date
JP2018207441A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
CN110519260B (zh) 一种信息处理方法及信息处理装置
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
US20210234857A1 (en) Authentication system, authentication method, and application providing method
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
CN108880821B (zh) 一种数字证书的认证方法及设备
US20110022856A1 (en) Key Protectors Based On Public Keys
KR102050887B1 (ko) 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템
CN107359998A (zh) 一种便携式智能口令管理体制的建立与操作方法
JP2014081787A (ja) 情報処理装置、情報処理端末、アクセス認証方法及びプログラム
US20210306135A1 (en) Electronic device within blockchain based pki domain, electronic device within certification authority based pki domain, and cryptographic communication system including these electronic devices
Neela et al. An improved RSA technique with efficient data integrity verification for outsourcing database in cloud
CN114629713A (zh) 身份验证方法、装置及系统
WO2017020669A1 (zh) 分布式系统节点身份认证方法及装置
JP6574265B2 (ja) 認証制御システム、サーバ装置、認証制御方法、及びプログラム
CN114268447A (zh) 一种文件传输方法、装置、电子设备和计算机可读介质
JP6808609B2 (ja) サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム
JP6246516B2 (ja) 情報処理システム
JP6762910B2 (ja) 認証システム、クライアント装置、サーバ装置、認証方法、プログラム
JP6167667B2 (ja) 認証システム、認証方法、認証プログラムおよび認証装置
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム
CN112653676B (zh) 一种跨认证系统的身份认证方法和设备
KR102094606B1 (ko) 인증 장치 및 방법
JP2011146898A (ja) 鍵生成装置及び第1の通信装置及び第2の通信装置及び情報処理システム
JP7351873B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200909

R150 Certificate of patent or registration of utility model

Ref document number: 6762910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150