JP5555799B1 - ワンタイムパスワード装置、方法及びプログラム - Google Patents

ワンタイムパスワード装置、方法及びプログラム Download PDF

Info

Publication number
JP5555799B1
JP5555799B1 JP2013206627A JP2013206627A JP5555799B1 JP 5555799 B1 JP5555799 B1 JP 5555799B1 JP 2013206627 A JP2013206627 A JP 2013206627A JP 2013206627 A JP2013206627 A JP 2013206627A JP 5555799 B1 JP5555799 B1 JP 5555799B1
Authority
JP
Japan
Prior art keywords
generation
key
time password
seed
time
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
JP2013206627A
Other languages
English (en)
Other versions
JP2015072511A (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.)
Sakura Information Systems Co Ltd
Original Assignee
Sakura Information Systems Co Ltd
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 Sakura Information Systems Co Ltd filed Critical Sakura Information Systems Co Ltd
Priority to JP2013206627A priority Critical patent/JP5555799B1/ja
Application granted granted Critical
Publication of JP5555799B1 publication Critical patent/JP5555799B1/ja
Publication of JP2015072511A publication Critical patent/JP2015072511A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】ワンタイムパスワードの安全性をより高めることができる。
【解決手段】本開示の一実施形態に係るワンタイムパスワード装置は、装置固有の値である鍵を格納する鍵管理手段と、鍵とは異なる値である世代鍵を設定する世代鍵設定手段と、鍵および世代鍵に基づいて、ワンタイムパスワードを生成するための数列であるシードを生成するシード生成手段と、時刻情報を発生する時刻発生手段と、時刻情報と前記シードとを用いてワンタイムパスワードを生成するワンタイムパスワード生成手段と、を具備し、世代鍵設定手段は、第1期間の経過後および外部からの指示の少なくともどちらか1つに従って、世代鍵を異なる値に更新し、ワンタイムパスワード生成手段は、更新された世代鍵に基づいて生成されたシードを用いて、ワンタイムパスワードを生成する。
【選択図】図1

Description

本発明は、ワンタイムパスワードを生成するワンタイムパスワード装置、方法及びプログラム。
ネットワークではユーザを認証する技術が重要である。ユーザ認証は、例えば、PDA、携帯電話、ノートPC等の端末からネットワークを介して、コンピュータシステムに接続する際に、接続しようとする端末のユーザが適切かどうかを判断するための技術である。安全かつ確実に重要な情報にアクセスするためには、ユーザ認証技術が重要となるが、ユーザ認証の際に、よく利用されるのがIDとパスワードである。近年、パスワードの漏洩による不正アクセスの増加が問題となっている。
不正アクセスの防止策として、パスワードを利用する認証よりも強力なワンタイムパスワード(OTP(One Time Password)ともいう)を利用する技術がある。
ワンタイムパスワードは、例えば、OTP生成装置(トークンとも呼ばれる)によって、プロバイダが発行したOTPシードと、時刻情報とに対応させて生成される。さらに、このプロバイダを提供している認証サーバーは、このユーザの識別情報に対応するOTPシードを格納し、OTPシードと時刻情報とに対応したワンタイムパスワードを生成する。OTP生成装置と認証サーバーとでは、同一のOTPシード情報を所有し、ワンタイムパスワードを生成するアルゴリズムも同一に設定してある。さらに、時刻情報も同期させておくので、OTP生成装置が生成するワンタイムパスワードと認証サーバーが生成するワンタイムパスワードとは同一になり、ユーザ認証を行うことができる。
このワンタイムパスワードは、時刻情報が変化するため、認証のために1回しか使用することができない。したがって、ワンタイムパスワード認証は高い安全性を確保することができる(例えば、特許文献1参照)。
特許第4663676号
しかし、OTPをスマートフォン等の多機能端末に実装する場合には、悪質なマルウェア等のウィルスに感染することがあり、ウィルスの感染によりOTPシードが漏洩される危険性がある。OTPシードは端末固有に設定されるので、OTPシードの漏洩は、セキュリティ上非常に危険である。
本発明は、上述した事情を考慮してなされたものであり、ワンタイムパスワードの安全性をより高めることができるワンタイムパスワード装置、方法及びプログラムを提供することを目的とする。
上述の課題を解決するため、本実施形態にかかるワンタイムパスワード装置は、認証サーバーと通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、装置固有の値である鍵を格納する鍵管理手段と、前記鍵とは異なる値である世代鍵を設定する世代鍵設定手段と、前記鍵および前記世代鍵に基づいて、ワンタイムパスワードを生成するための数列であるシードを生成するシード生成手段と、時刻情報を発生する時刻発生手段と、前記時刻情報と前記シードとを用いてワンタイムパスワードを生成するワンタイムパスワード生成手段と、を具備し、前記世代鍵設定手段は、第1期間の経過後および外部からの指示の少なくともどちらか1つに従って、前記世代鍵を異なる値に更新し、前記ワンタイムパスワード生成手段は、更新された世代鍵に基づいて生成されたシードを用いて、前記ワンタイムパスワードを生成する。
本発明のワンタイムパスワード装置、方法及びプログラムによれば、ワンタイムパスワードの安全性をより高めることができる。
第1の実施形態に係るワンタイムパスワード装置を示すブロック図。 第1の実施形態に係る認証サーバーを示すブロック図。 ワンタイムパスワードシステムの動作の一例を示すシーケンス図。 認証サーバーでの誤認証率を説明する概念図。 誤受入率を説明する概念図。 誤拒否率を説明する概念図。
以下、図面を参照しながら本発明の実施形態に係るワンタイムパスワード装置、方法及びプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
本実施形態では、ワンタイムパスワード装置(以下、OTP装置という)と認証サーバーとがやりとりを行うワンタイムパスワードシステムを想定する。OTP装置は、例えば、ユーザが操作するスマートフォン、タブレットコンピュータおよび携帯電話に含まれることを想定するが、OTP装置が外部にあり、スマートフォン、タブレットコンピュータおよび携帯電話がOTP装置に接続可能な状態で利用してもよい。認証サーバーは、OTP装置を利用してユーザがデータのやり取りを行う相手である。
(第1の実施形態)
第1の実施形態のワンタイムパスワード装置について図1を参照して説明する。
第1の実施形態のワンタイムパスワード装置100は、鍵管理部101、世代鍵設定部102、シード生成部103、時刻発生部104、ワンタイムパスワード生成部105(以下、OTP生成部105)、入力部106、表示部107、制御部108および通知取得部109を含む。
鍵管理部101は、鍵データを格納している。この鍵データは、OTP装置100を含む機器固有の情報であり、例えば、OTPを生成するための数列である。また鍵データは、外部に公開されず、OTP装置100内で保持される。
世代鍵設定部102は、ワンタイムパスワードを生成するための数列を示す世代鍵を設定する。世代鍵は、鍵データと異なり、外部のクラウドサーバーなどから信頼できる通信路を用いてOTP装置に送信される。なお、世代鍵は外部のクラウドサーバなどに公開されてもよいまた、世代鍵は、1,2,3,・・・といったカウンタ値でもよいし、128bit程度の物理乱数または暗号学的擬似乱数などでもよい。また、世代鍵設定部102は、後述する通知取得部109から世代鍵を受け取り、世代鍵の値を更新する。
シード生成部103は、鍵管理部101から鍵データを、世代鍵設定部102から世代鍵をそれぞれ受け取り、鍵データと世代鍵とに基づいてシードを生成する。
時刻発生部104は、時刻を発生する。この時刻は、後述する認証サーバー200に含まれる時刻発生部204が生成する時刻に同期している。
OTP生成部105は、シード生成部103からシードを、時刻発生部104から時刻をそれぞれ受け取り、時刻とシードとを用いてワンタイムパスワードを生成する。このワンタイムパスワードは、時刻とシードとの入力値とに応じて決定される数値であり、例えば2つの入力値が異なれば圧倒的に高い確率で出力値が異なるような関数(ハッシュ関数など)を使用して生成される。OTP発生器104は、ハッシュ関数で得られた数値の一部(例えば、20ビット)をワンタイムパスワードとして出力する。
表示部106は、例えばディスプレイであり、ワンタイムパスワードを含むデータまたは画像を表示する。
入力部107は、ユーザがOTP装置100を操作するための情報を入力する。入力部106は例えば、ユーザがサービスを選択する際に利用される。
制御部108は、OTP装置100に含まれる各部を制御する。
通知取得部109は、世代鍵に更新があった場合に、外部から取得したり、認証サーバーから更新された世代鍵についてのプッシュ通知を受け取る。プッシュ通知は、世代鍵が更新された場合に能動的に認証サーバーから更新された世代鍵を取得する方式である。なお、プッシュ通知の方式については、SMS(short message service)、電子メールやPush Notificationなどを、サーバーから端末側にデータを非同期で送信する一般的な方式でよく、即時性や送達順序が保証されている必要はない。
次に、第1の実施形態にかかる認証サーバーについて図2を参照して説明する。
第1の実施形態に係る認証サーバー200は、鍵管理部201、世代鍵設定部202、シード生成部203、時刻発生部204、OTP検証部205および制御部206を含む。
鍵管理部201は、OTP装置100の識別子(ID)とOTP装置100の鍵管理部101で保持される固有の鍵データとを対応付けて、OTP装置100ごとに保持する。具体的には、例えばプロバイダごとに、サービスを提供しているプロバイダの識別情報と、ユーザの識別情報と、ユーザ固有の鍵データとを対応づけて格納する。ユーザ固有の鍵データは、ユーザが利用するOTP装置100の鍵管理部101における鍵データと同一である。すなわち、同一のプロバイダでも、ユーザによってユーザの識別情報と鍵データとは異なっている。したがって、ワンタイムパスワードは安全性に優れ、ネットワーク上の正しい相手とのみ認証が可能になる。
世代鍵設定部202は、上述した世代鍵となる数値を設定し、クラウドサーバなどを通じて、OTP装置100にプッシュ通知を行なう。また、世代鍵設定部202は、一定期間の経過後であるか、ユーザや他の監視システムなど外部からの指示があるかの少なくともどちらか1つに従って、世代鍵の値を更新する。外部からの指示が発生するタイミングとしては、例えばユーザや監視システムが、シードがウィルスなどにより外部に漏洩した可能性があると判断したタイミングなどである。
シード生成部203は、鍵管理部201からワンタイムパスワードを送信してきたOTP装置に対応する鍵データを、世代鍵設定部202から世代鍵をそれぞれ受け取り、鍵データと世代鍵とに基づいてシード(サーバー側シードともいう)を生成する。
時刻発生部204は、時刻を発生する。
OTP検証部205は、時刻発生部204から時刻を、シード生成部203からシードをそれぞれ受け取り、時刻とシードとを用いて認証値を生成する。認証値は、OTP装置100から送信されるワンタイムパスワードが正しいかどうかを判定するための数値である。この認証値を発生するためのアルゴリズムは、本実施形態のワンタイムパスワード装置100でのOTP生成部105と同様である。OTP検証部205は、ワンタイムパスワード装置100からワンタイムパスワードを受け取り、認証値とワンタイムパスワードとを比較し、認証値とワンタイムパスワードとが一致するかどうかを判定する。認証値とワンタイムパスワードとが一致すれば認証成功と判定し、認証値とワンタイムパスワードとが一致しなければ認証失敗と判定する。
制御部206は、認証サーバー200の各部を制御する。例えば、OTP検証部205が認証成功と判定した場合、認証が成功したことに関する情報をワンタイムパスワード装置100に送信したり、世代鍵に更新があった場合は、更新された世代鍵をOTP装置100へプッシュ通知するといった制御を行なう。なお、図示しないが、認証サーバー200は、OTP装置100の時刻発生器104が発生する時刻の誤差を測定し、誤差を補正するための情報を格納してもよい。
次に、図1に示すOTP装置100と図2に示す認証サーバー200とを含むワンタイムパスワードシステムの動作の一例について図3のシーケンス図を参照して説明する。
ここでは、ユーザがスマートフォン(高機能携帯端末)を利用してプロバイダが提供するアプリケーションを利用するため認証サーバーにアクセスする場合を想定する。
ステップS301では、ユーザの操作により、表示部106が、所望のプロバイダサイトを表示する。
ステップS302では、ユーザの操作により、サービスの提供を受けたいプロバイダが選択される。ユーザは、例えば入力部107を使用し、スマートフォンの画面上で、パスワードとして暗証番号を入力し、サービスの提供をするプロバイダの一覧を表示部106が表示し、複数のプロバイダの中から先に表示させたプロバイダを選択する。
ステップS303では、OTP装置100のシード生成部103が、鍵データおよび世代鍵からシードを生成する。
ステップS304では、OTP装置100のOTP生成部104が、シードおよび時刻からワンタイムパスワードを生成し、ワンタイムパスワードを認証サーバー200に送信する。
ステップS305では、認証サーバー200のシード生成部203が、ユーザが選択したプロバイダで登録されたユーザの鍵データと世代鍵とからシードを生成する。
ステップS306では、認証サーバー200のOTP検証部205が、ステップS305で生成したシードと時刻とを用いて認証値を生成する。
ステップS307では、認証サーバー200のOTP検証部205が、OTP装置100から受け取ったワンタイムパスワードとステップS306で生成した認証値とが一致するかどうかの認証処理を行なう。ここでは、ワンタイムパスワードと認証値とが一致するとし、認証成功と判定されるので、ユーザにプロバイダのアプリケーションの利用を許可する旨を通知する。
ステップS308では、世代鍵を設定してから一定期間が経過したと想定し、世代鍵設定部202が世代鍵を更新する。認証サーバー200は、更新した世代鍵をOTP装置100へプッシュ通知する。なお、プッシュ通知に限らず、更新された世代鍵は外部に公開され、OTP装置100が更新された世代鍵を取得してもよい。
ステップS309では、その後、ユーザがプロバイダのアプリケーションを利用する場合は、OTP装置100のシード生成部103が、鍵データと更新された世代鍵とを用いて新たなシードを生成する。
ステップS310では、OTP生成部105では、新たなシードと時刻とを用いて新たなワンタイムパスワードを生成し、新たなワンタイムパスワードを認証サーバー200へ送信する。
ステップS311では、認証サーバー200のシード生成部203において、更新された世代鍵を用いて新たなシードを生成し、時刻発生部204が発生した時刻と新たなシードとから新たな認証値を生成する。以下、ステップS307からステップS311と同様の処理を繰り返せばよい。
なお、上述のように世代鍵を更新するタイミングは、ユーザの指示に応じて世代鍵を更新してもよいし、認証サーバー200側で情報漏えいやハッキングなどのセキュリティ上のリスクを察知した場合に、世代鍵を更新するようにしてもよい。
以上に示した第1の実施形態によれば、シードを生成する際に世代鍵を用いて動的にシードを生成することで、シードが漏えいしても、世代鍵を更新することで新たなシードを変更することができ、ワンタイムパスワードの安全性をより向上させることができる。
(第2の実施形態)
第1の実施形態では、1つの世代鍵を用いてワンタイムパスワードを生成する例を示したが、第2の実施形態では、複数の世代鍵を用いてワンタイムパスワードを生成する点が異なる。このようにすることで、パケットロスが発生するような信頼性が低い一般的なネットワークでもワンタイムパスワードによる認証の安全性を高めることができる。
第2の実施形態に係るOTP装置および認証サーバーの構成については、世代鍵設定部102および世代鍵設定部202、シード生成部103およびシード生成部203以外は、第1の実施形態に係るOTP装置および認証サーバーの構成と同様の構成であるのでここでの説明を省略する。
世代鍵設定部102は、認証サーバー200からプッシュ通知された世代鍵を更新される前の世代鍵も含めて複数保持する。
シード生成部103は、世代鍵設定部102から複数の世代鍵と、鍵管理部101から鍵データとをそれぞれ受け取り、複数の世代鍵を用いてシードを生成する。シードの生成処理としては、例えば、複数の世代鍵を任意の関数を用いて1つの世代鍵として算出し、この世代鍵と鍵データとを用いてシードを生成する。
例えば、認証サーバー200がt個(tは自然数)の世代鍵U={x,x,...,xt}をOTP装置100にプッシュ通知したとする。このとき、プッシュ通知された世代鍵が確率eで消失(パケットロス)し、OTP装置100ではk個(kは自然数であって、k≦t)の世代鍵
を受信するとする。OTP装置100はk個の世代鍵を用いて任意の可換な関数
を計算し、関数F(T)から得られる1つの世代鍵xを算出する。関数としては、例えば、以下の式(1)の関数を用いて世代鍵xを算出すればよい。
次に、世代鍵xを用いて生成されたワンタイムパスワードの認証処理について説明する。
認証サーバー200では、どのパケットが消失してOTP装置100で受信できていないかはわからないため、送信したt個の世代鍵Uの全ての部分集合S(但し、S⊆U)について、世代鍵X={x=F(S)|S⊆U}を計算する。この世代鍵Xを用いて、認証値を生成する。すなわち、認証値は部分集合の数だけ生成されることになる。認証サーバー200のOTP検証部205は、OTP装置100から世代鍵xを用いて生成されたワンタイムパスワードを受け取り、ワンタイムパスワードと認証値とを比較し、ワンタイムパスワードと一致する認証値が存在すれば、認証成功とすればよい。
なお、組み合わせに基づいて認証値を算出する場合は、世代鍵の組み合わせが増えるごとに多くの認証値を保持する必要がある。そこで、OTP装置100側において受信した世代鍵のうち、最新に受信したk個を用いて世代鍵xを算出するようにしてもよい。このようにすることで、OTP装置100で保持する世代鍵の数を限定することができ、省メモリ化することができる。
この場合は、OTP装置側のOTP生成処理は、上述のように、k個の世代鍵を用いて任意の可換な関数F(T)から得られる1つの世代鍵xを算出すればよい。
一方、認証サーバー200では、OTP装置100にプッシュ通知したt個の世代鍵Uのうち、k個の要素の組み合わせからなる部分集合S⊆Uについて世代鍵Xを生成すればよく、認証サーバー200のOTP検証部206は、OTP装置100から世代鍵xを用いて生成されたワンタイムパスワードを受け取り、ワンタイムパスワードと認証値とを比較し、ワンタイムパスワードと一致する認証値が存在すれば、認証成功とすればよい。このように、OTP装置100と認証サーバー200との両方において、保持する世代鍵の組み合わせを減らすことができる。
さらに、認証サーバー200から世代鍵を一定期間OTP装置100にプッシュ通知していると、どの程度パケットロスするかの統計を取ることができる。この統計を参照することで、認証サーバー200において認証に用いる世代鍵の数を限定してもよい。
認証サーバー200がt個の世代鍵U={x,x,...,xt}をOTP装置にプッシュ通知したときに、l個(lは自然数であって、l≦t)までで打ち切り、U={x,x,...,x}を認証サーバー200がプッシュ通知した世代鍵とし、OTP装置100では、k個の世代鍵T={xi1,xi2,...,xik}⊆Uを受信するとする。
認証サーバー200では、世代鍵Uのうちのk個の要素の組み合わせからなる部分集合の世代鍵Xを生成し、上述と同様の認証処理を行えばよい。このようにすることで、OTP装置100と認証サーバー200との両方において、さらに保持する必要がある世代鍵を減らすことができる。
次に、ワンタイムパスワードを利用する際の認証サーバー200での誤認証率について図4を参照して説明する。
誤認証率として、誤受入率と誤拒否率とが考えられる。誤受入率は、間違ったパスワードを入力しているが誤って認証成功してしまう確率を示し、誤拒否率は、正しいパスワードを入力しているが誤って認証拒否される確率を示す。
図4は、3つの世代鍵を用いて、8桁のワンタイムパスワードを受信する際の世代鍵のプッシュ通知の消失率を1パーセントとした場合の、誤拒否率を示すグラフ401と、誤受入率を示すグラフ402とを示す。また、縦軸は確率値であり、横軸は認証サーバーが送信した世代鍵のうち認証に用いる世代鍵を直近l個で打ち切った場合の数である。図4に示すように、打ち切り数lが多いほど誤受入率が高くなり、打ち切り数lが少ないほど誤受入率が低くなる。一方、打ち切り数lが少なくなるほど、誤拒否率が増加し、特にl=6以下の場合に急激に誤拒否率が増加する。これは、必要となる世代鍵の数が3つであり、プッシュ通知の消失率1%としたときに、直近に送られた6個の世代鍵のうち3つ以上の世代鍵を受信する必要があるので、OTP装置100側で受信できた世代鍵の数が少ないほど誤拒否率が増加するからである。
次に、誤受入率について図5の概念図を参照して説明する。
図5の上段は、認証サーバー200側から送信される世代鍵501を表し、図5の下段は、OTP装置側で受信した世代鍵502を表す。ここで、「消失」とは、OTP装置100側で世代鍵502を受信できなかった場合を示す。
ここで、3つの世代鍵を用いてワンタイムパスワードを生成する場合、9個の世代鍵501から3つの世代鍵を取り出す組み合わせは、=84(通り)存在することになる。図5の例では、OTP装置100側でワンタイムパスワードを生成するために用いる3つの世代鍵503と一致する、認証サーバー200での世代鍵502のうちの3つの世代鍵の組み合わせであるx52が存在するので、OTP装置100から送信されたワンタイムパスワードは認証成功となる。
なお、84通りの組み合わせは、認証成功となる世代鍵の組み合わせを示すこととなるので、必然的に誤認証の確率が上昇することになる。8桁のワンタイムパスワードの場合は、図5の例で誤受入(False accept)となる確率は、一様ランダムを仮定すると84/10となる。一般に、l個の世代鍵(乱数)のうちのk個(k<l)の世代鍵(乱数)を選択してd桁(dは自然数)のワンタイムパスワードを生成する場合、誤受入率は、以下の式(2)で表すことができる。
次に、誤拒否率について図6の概念図を参照して説明する。
図6は、図5と同様に、図6の上段は、認証サーバー200側から送信される世代鍵601を表し、図6の下段は、OTP装置100側で受信した世代鍵602を表す。「消失」は、OTP装置100側で世代鍵602を受信できない場合である。
ここでは、認証サーバー200側がプッシュ通知した直近のl個の世代鍵のうちk個を用いて生成されるワンタイムパスワード集合に含まれるワンタイムパスワードのいずれかが入力された場合に認証が成功する。
つまり、l個の世代鍵のうちk個以上が消失せずにOTP装置側で受信される場合に、正しいOTP装置100を認証することができる。一方、l−k+1個以上の世代鍵が消失した場合は、OTP装置100側で受信できた世代鍵が、認証サーバー200側で利用する直近の世代鍵に存在せず、正しいはずのOTP装置を拒否してしまう場合が生じる。
認証サーバー200側でプッシュ通知した世代鍵が途中で消失し、OTP装置100に届かないという事象が、独立に確率(消失率)εで生じる場合、世代鍵がl−k+1個消失してOTP装置に届かずに誤拒否される確率は、式(3)で表すことができる。
以上より、誤受入率を考慮すると、l個の世代鍵を用いる場合は、l/2個の世代鍵を選択するように設定することが望ましい。
以上に示した第2の実施形態によれば、複数の世代鍵を組み合わせてワンタイムパスワードを生成することで、パケットロスが発生するような信頼性が低い一般的なネットワークでもワンタイムパスワードによる認証の安全性を高めることができる。
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述したワンタイムパスワード装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のワンタイムパスワード装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100・・・ワンタイムパスワード装置(OTP装置)、101,201・・・鍵管理部、102,202・・・世代鍵設定部、103,203・・・シード生成部、104,204・・・時刻発生部、105・・・ワンタイムパスワード生成部(OTP生成部)、106・・・入力部、107・・・表示部、108・・・制御部、109・・・通知取得部、200・・・認証サーバー、205・・・OTP検証部、206・・・制御部、401,402・・・グラフ、501,502,503,601,602・・・世代鍵。

Claims (7)

  1. 認証サーバーと通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
    装置固有の値である鍵を格納する鍵管理手段と、
    前記鍵とは異なる値である世代鍵を設定する世代鍵設定手段と、
    前記鍵および前記世代鍵に基づいて、ワンタイムパスワードを生成するための数列であるシードを生成するシード生成手段と、
    時刻情報を発生する時刻発生手段と、
    前記時刻情報と前記シードとを用いてワンタイムパスワードを生成するワンタイムパスワード生成手段と、を具備し、
    前記世代鍵設定手段は、外部からの指示に従って、前記世代鍵を異なる値に更新し、
    前記シード生成手段は、前記認証サーバーからそれぞれ異なる第1数の更新された世代鍵が取得される場合、前記第1数の更新された世代鍵のうち受信できた該第1数以下の数である第2数の世代鍵から、任意の可換な関数を用いて1つの世代鍵を算出し、前記鍵および該1つの世代鍵を用いて新たなシードを生成し、
    前記ワンタイムパスワード生成手段は、前記新たなシードを用いて、前記ワンタイムパスワードを生成することを特徴とするワンタイムパスワード装置。
  2. 前記更新された世代鍵は、外部に公開され、
    前記世代鍵設定手段は、前記世代鍵が更新された場合、前記更新された世代鍵を前記認証サーバーから取得することを特徴とする請求項1に記載のワンタイムパスワード装置。
  3. 前記世代鍵が更新された場合、能動的に前記認証サーバーから取得する方式であるプッシュ通知により、前記更新された世代鍵を受け取る通知取得部をさらに具備することを特徴とする請求項1に記載のワンタイムパスワード装置。
  4. 前記シード生成手段は、最新に受信した世代鍵から第3数以下の世代鍵までを用いて、前記シードを生成することを特徴とする請求項1から請求項3のいずれか1項に記載のワンタイムパスワード装置。
  5. 前記認証サーバーは、前記第1数の更新された世代鍵を、能動的に前記認証サーバーから取得する方式であるプッシュ通知により通知した場合、プッシュ通知により通知した直近の第4数までの世代のうち、前記第3数以下の世代鍵を要素とする組み合わせの数だけサーバー側シードを生成し、該組み合わせの数の該サーバー側シードからそれぞれ生成した前記ワンタイムパスワードを認証するための数値である認証値のなかで、前記ワンタイムパスワードと一致する認証値が存在すれば、認証成功と判定する請求項4に記載のワンタイムパスワード装置。
  6. 認証サーバーと通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード方法であって、
    装置固有の値である鍵を鍵管理手段に格納し、
    前記鍵とは異なる値である世代鍵を設定し、
    前記鍵および前記世代鍵に基づいて、ワンタイムパスワードを生成するための数列であるシードを生成し、
    時刻情報を発生し、
    前記時刻情報と前記シードとを用いてワンタイムパスワードを生成し、
    外部からの指示に従って、前記世代鍵を異なる値に更新し、
    前記認証サーバーからそれぞれ異なる第1数の更新された世代鍵が取得される場合、前記第1数の更新された世代鍵のうち受信できた該第1数以下の数である第2数の世代鍵から、任意の可換な関数を用いて1つの世代鍵を算出し、前記鍵および該1つの世代鍵を用いて新たなシードを生成し、
    前記新たなシードを用いて、前記ワンタイムパスワードを生成することを特徴とするワンタイムパスワード方法。
  7. 認証サーバーと通信する際に利用するワンタイムパスワードを生成するワンタイムパスワードプログラムであって、
    コンピュータを、
    装置固有の値である鍵を格納する鍵管理手段と、
    前記鍵とは異なる値である世代鍵を設定する世代鍵設定手段と、
    前記鍵および前記世代鍵に基づいて、ワンタイムパスワードを生成するための数列であるシードを生成するシード生成手段と、
    時刻情報を発生する時刻発生手段と、
    前記時刻情報と前記シードとを用いてワンタイムパスワードを生成するワンタイムパスワード生成手段として機能させ、
    前記世代鍵設定手段は、外部からの指示に従って、前記世代鍵を異なる値に更新し、
    前記シード生成手段は、前記認証サーバーからそれぞれ異なる第1数の更新された世代鍵が取得される場合、前記第1数の更新された世代鍵のうち受信できた該第1数以下の数である第2数の世代鍵から、任意の可換な関数を用いて1つの世代鍵を算出し、前記鍵および該1つの世代鍵を用いて新たなシードを生成し、
    前記ワンタイムパスワード生成手段は、前記新たなシードを用いて、前記ワンタイムパスワードを生成することを特徴とするワンタイムパスワードプログラム。
JP2013206627A 2013-10-01 2013-10-01 ワンタイムパスワード装置、方法及びプログラム Active JP5555799B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013206627A JP5555799B1 (ja) 2013-10-01 2013-10-01 ワンタイムパスワード装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013206627A JP5555799B1 (ja) 2013-10-01 2013-10-01 ワンタイムパスワード装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5555799B1 true JP5555799B1 (ja) 2014-07-23
JP2015072511A JP2015072511A (ja) 2015-04-16

Family

ID=51416894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013206627A Active JP5555799B1 (ja) 2013-10-01 2013-10-01 ワンタイムパスワード装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5555799B1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341372A (zh) 2015-07-08 2017-01-18 阿里巴巴集团控股有限公司 终端的认证处理、认证方法及装置、系统
JP2018023029A (ja) * 2016-08-04 2018-02-08 株式会社 エヌティーアイ 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040907A (ja) * 2006-08-08 2008-02-21 Softbank Mobile Corp 携帯端末、icカード、パスコード生成プログラムおよびパスコード生成方法
JP2008269342A (ja) * 2007-04-20 2008-11-06 Sakura Information Systems Co Ltd ワンタイムパスワード装置およびシステム
JP2009230482A (ja) * 2008-03-24 2009-10-08 Univ Of Aizu ワンタイムパスワード認証システム、ワンタイムパスワード認証方法、ワンタイムパスワード生成プログラム、ワンタイムパスワード認証プログラムおよびワンタイムパスワード生成装置。
JPWO2008142731A1 (ja) * 2007-05-17 2010-08-05 株式会社Psd シード配信型ワンタイムid認証
JP2010204809A (ja) * 2009-03-02 2010-09-16 Toppan Printing Co Ltd Usb型トークン
JP2011002994A (ja) * 2009-06-18 2011-01-06 Toppan Printing Co Ltd Usb型トークン
JP2013003746A (ja) * 2011-06-15 2013-01-07 Field System Inc 認証システム及び認証方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040907A (ja) * 2006-08-08 2008-02-21 Softbank Mobile Corp 携帯端末、icカード、パスコード生成プログラムおよびパスコード生成方法
JP2008269342A (ja) * 2007-04-20 2008-11-06 Sakura Information Systems Co Ltd ワンタイムパスワード装置およびシステム
JPWO2008142731A1 (ja) * 2007-05-17 2010-08-05 株式会社Psd シード配信型ワンタイムid認証
JP2009230482A (ja) * 2008-03-24 2009-10-08 Univ Of Aizu ワンタイムパスワード認証システム、ワンタイムパスワード認証方法、ワンタイムパスワード生成プログラム、ワンタイムパスワード認証プログラムおよびワンタイムパスワード生成装置。
JP2010204809A (ja) * 2009-03-02 2010-09-16 Toppan Printing Co Ltd Usb型トークン
JP2011002994A (ja) * 2009-06-18 2011-01-06 Toppan Printing Co Ltd Usb型トークン
JP2013003746A (ja) * 2011-06-15 2013-01-07 Field System Inc 認証システム及び認証方法

Also Published As

Publication number Publication date
JP2015072511A (ja) 2015-04-16

Similar Documents

Publication Publication Date Title
JP5216932B1 (ja) ワンタイムパスワード装置、システム及びプログラム
US11171790B2 (en) Systems and methods for trusted path secure communication
JP6489328B2 (ja) 動的なマニューシャの予想される変化に基づく暗号セキュリティ機能
US9009463B2 (en) Secure delivery of trust credentials
JP6713548B2 (ja) ワンタイム動的位置認証方法及びシステム並びにワンタイム動的パスワード変更方法
US9628282B2 (en) Universal anonymous cross-site authentication
US9432360B1 (en) Security-aware split-server passcode verification for one-time authentication tokens
US8549314B2 (en) Password generation methods and systems
JP2008146669A (ja) 認証システム及び認証方法
JP2011521567A (ja) セキュリティが確保された生体認証モデルを用いるアイデンティティに基づく対称暗号システム
ES2881123T3 (es) Método implementado por ordenador para generación de contraseñas y productos de programa informático del mismo
Stanislav Two-factor authentication
JP5555799B1 (ja) ワンタイムパスワード装置、方法及びプログラム
Gilsenan et al. Security and Privacy Failures in Popular {2FA} Apps
JP6087480B1 (ja) 認証装置、認証システム及び認証プログラム
JP5511449B2 (ja) 情報処理装置、情報処理装置の認証方法及びプログラム
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
JP6454493B2 (ja) 認証システム、認証方法および認証プログラム
JP6647258B2 (ja) ユーザ認証方法、評価装置、プログラム、及びユーザ認証システム
JP2020057439A (ja) ユーザ認証方法、評価装置、プログラム、及びユーザ認証システム
JP5368894B2 (ja) プロトコルの安全性を検証する検証装置、検証方法および検証プログラム
WO2011118237A1 (ja) 認証装置および認証方法
JP5847345B1 (ja) 情報処理装置、認証方法及びプログラム
JP4169347B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR101296402B1 (ko) 암호화된 시드를 이용한 모바일 오티피 장치의 등록 방법

Legal Events

Date Code Title Description
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: 20140507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5555799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250