(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】
(43)【公開日】
(54)【発明の名称】ワンタイムパスワード生成装置、方法および記憶媒体
(51)【国際特許分類】
【FI】
【審査請求】未請求
【請求項の数】12
【出願形態】
(21)【出願番号】
(22)【出願日】
(71)【出願人】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【弁理士】
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【弁理士】
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【弁理士】
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【弁理士】
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【弁理士】
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】久保山 英生
(57)【要約】
【課題】 所定の時間内に複数回認証を行いたい場合に、認証を行うことを可能とするワンタイムパスワード生成装置の仕組みを提供する。
【解決手段】 本発明のワンタイムパスワード生成装置は、現在の時刻と、現在の時刻からシフトした時刻とに対応する、認証装置が認証するためのワンタイムパスワードを生成する。そして、生成した複数のワンタイムパスワードを表示する。
【選択図】
図3
【特許請求の範囲】
【請求項】
認証装置が認証に用いるワンタイムパスワードを生成するワンタイムパスワード生成装置であって、
現在の時刻と、現在の時刻からシフトした時刻とに対応するワンタイムパスワードを生成する生成手段と、
前記生成手段が生成した複数のワンタイムパスワードを表示する表示手段と、
を有することを特徴とするワンタイムパスワード生成装置。
【請求項】
前記表示手段は、前記複数のワンタイムパスワードそれぞれに対して、有効期限を示す表示を表示することを特徴とする請求項1に記載のワンタイムパスワード生成装置。
【請求項】
前記表示手段は、複数の前記ワンタイムパスワードを、有効期限の短い順に表示することを特徴とする請求項2に記載のワンタイムパスワード生成装置。
【請求項】
前記表示手段は、所定の期間よりも有効期限が短いワンタイムパスワードを非表示とすることを特徴とする請求項2に記載のワンタイムパスワード生成装置。
【請求項】
前記表示手段は、所定の期間経過後に有効になるワンタイムパスワードを表示することを特徴とする請求項2に記載のワンタイムパスワード生成装置。
【請求項】
前記受信手段は、さらに、前記認証装置から前記認証装置が認証を成功したことの通知と、前記認証に用いたワンタイムパスワードとを受信することを特徴とする請求項1に記載のワンタイムパスワード生成装置。
【請求項】
前記受信手段によって前記認証装置が認証を成功したことの通知と、前記認証に用いたワンタイムパスワードを受信したのちに、
前記表示手段は、前記ワンタイムパスワードを非表示にすることを特徴とする請求項6に記載のワンタイムパスワード生成装置。
【請求項】
前記受信手段により、前記認証装置から認証に成功したことの通知を受信したのちに、
前記生成手段は、ワンタイムパスワードの生成方法を変更することを特徴とする請求項6に記載のワンタイムパスワード生成装置。
【請求項】
前記生成手段は、現在の時刻からシフトする時間を変更することでワンタイムパスワードの生成方法を変更することを特徴とする請求項8に記載のワンタイムパスワード生成装置。
【請求項】
前記生成手段は、認証装置と共有するシークレットを変更することでワンタイムパスワードの生成方法を変更することを特徴とする請求項8に記載のワンタイムパスワード生成装置。
【請求項】
認証装置が認証に用いるワンタイムパスワードを生成するワンタイムパスワード生成方法であって、
現在の時刻と、現在の時刻からシフトした時刻とに対応するワンタイムパスワードを生成する生成工程と、
前記生成手段が生成した複数のワンタイムパスワードを表示する表示工程と、
を有することを特徴とするワンタイムパスワード生成方法。
【請求項】
コンピュータを、請求項1から10のいずれか1項に記載されたワンタイムパスワード生成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【】
本発明は、ユーザの認証に使用するワンタイムパスワードの生成装置に関する。
【背景技術】
【】
ユーザを認証する認証装置において、ID・パスワードなどの第一の認証方式だけでなく、ユーザの所持情報や生体情報に基づく認証情報を第二の認証方式のとして入力させる二段階認証、多要素認証が拡がっている。所持情報による認証としては、SMSやメールなどで認証装置からユーザの電話番号・メールアドレスにワンタイムパスワードを通知する方法がある。また、TOTP(Time-based One-Time Password)方式によりユーザの所有するデバイスと認証装置とで共有する文字列であるシークレットと現在時刻とから生成するワンタイムパスワードで認証する方法がある。
【】
特許文献1では、TOTP方式の拡張として、装置固有の値である鍵と、鍵とは異なる値である世代鍵とに基づいて、ワンタイムパスワードを生成するための数列であるシードを生成する。そして、時刻情報と前シードとを用いてワンタイムパスワードを生成するワンタイムパスワード生成装置が開示されている。
【先行技術文献】
【特許文献】
【】
【発明の概要】
【発明が解決しようとする課題】
【】
TOTP方式でワンタイムパスワードを生成するワンタイムパスワード生成装置は所定の時間(時間ステップウインドウ)経過しないとワンタイムパスワードを生成しない。
【】
そのため、従来のワンタイムパスワード生成装置が生成するワンタイムパスワードでは、所定の時間内に複数回の認証を行いたい場合でも、認証を行うことができなかった。
【課題を解決するための手段】
【】
以上の目的を達するために、本発明のワンタイムパスワード生成装置は、認証装置が認証するためのワンタイムパスワードを生成するワンタイムパスワード生成装置であって、現在の時刻と、現在の時刻からシフトした時刻とに対応するワンタイムパスワードを生成する生成手段と、前記生成手段が生成した複数のワンタイムパスワードを表示する表示手段と、を有することを特徴とする。
【発明の効果】
【】
本発明のワンタイムパスワード生成認証装置によれば、所定の時間内に複数回認証を行いたい場合に、認証を行うことが可能となる。
【図面の簡単な説明】
【】
【図】第一実施形態における、ワンタイムパスワード生成装置の機能構成、および認証装置を表す図である。
【図】第一実施形態における、ワンタイムパスワード生成装置のハードウェア構成図である。
【図】第一実施形態における、ワンタイムパスワード生成装置の処理のフローチャートである。
【図】第一実施形態における、時間ステップウインドウと時間に基づいて生成されるワンタイムパスワードを表す図である。
【図】第一実施形態における、ワンタイムパスワードの表示例である。
【図】第一実施形態における、認証装置の認証画面の表示例である。
【図】第一実施形態における、所定のワンタイムパスワードを非表示にする表示例である。
【図】第二実施形態における、次に有効となるワンタイムパスワードを表示する表示例である。
【図】第三実施形態における、ワンタイムパスワード生成装置の処理のフローチャートである。
【発明を実施するための形態】
【】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。
【】
[第一実施形態]
図1は、本発明の一実施形態におけるワンタイムパスワード生成装置の機能構成を表す図である。
【】
図1における101は、ワンタイムパスワード生成装置である。102は、ユーザを認証する認証装置である。103は、ワンタイムパスワード生成装置101においてワンタイムパスワードを生成する生成部である。104は、生成部103が生成したワンタイムパスワードを表示する表示部である。なお、表示部104は、生成部103が生成したワンタイムパスワードを表示部に表示させる表示制御部であってもよい。105は、認証装置102での認証成功の通知を受信し、その際に利用されたワンタイムパスワードを受信する受信部である。
【】
図2は、本発明のワンタイムパスワード生成装置101のハードウェア構成を表す図である。同図において、201はCPU(中央処理装置)であり、ワンタイムパスワード生成装置101の制御プログラムを実行する。202はROMであり、制御プログラムなどを格納する。203はRAMであり、CPU201のワークエリアを提供するために用いられる。204は受信部105が認証装置102と通信するためのネットワークインターフェース(IF)である。205はハードディスクやSSDなどの記憶装置である。206は表示部104がワンタイムパスワードを表示するためのディスプレイなどの表示装置である。
【】
以下、ワンタイムパスワード生成装置101の処理のフローチャートである
図3を用いて、詳細を説明する。まずS301で、ワンタイムパスワード生成装置101の生成部103は、現在の時刻tと、その時刻tから所定の時間シフトした時刻とのそれぞれの時刻を取得する。次にステップS302で、生成部103は、S301で取得した複数のそれぞれの時刻と、生成部103が保持している文字列であるシークレットから、当該それぞれの時間に対応するワンタイムパスワードを生成する。ここで、シークレットは、あらかじめ認証装置102と共有されている。TOTPとは、ワンタイムパスワード生成装置101が、認証装置102と共有されているシークレットと時刻とからワンタイムパスワードを生成し、このワンタイムパスワードを認証装置102に与える。そして、認証装置102は当該ワンタイムパスワードが一致するか否かを検証して認証を行う仕組みである。TOTPでは、時間ステップウインドウが定義されており、時間ステップウインドウの期間中は同じワンタイムパスワードが生成される。
図4に時間ステップウインドウと計算されるワンタイムパスワードを示す。同図において横軸は時間軸であり、401は時間を所定の長さに区切った時間ステップウインドウ(t-1、t、t+1)である。402は、それぞれの時間ステップウインドウでワンタイムパスワード生成装置101によって計算されるワンタイムパスワードである。時間ステップウインドウの期間中に計算されるワンタイムパスワードは、同じ値となる。たとえば、ステップウインドウtの期間中に計算されるワンタイムパスワードは、同じ値が計算される。時間ステップウインドウの幅は例えば30秒が推奨されるが、これに限るものではない。
【】
本実施形態においては、認証装置102の生成部103は、S302において、ステップS301で取得した現在時刻tと時刻t-1、t+1の三つの時刻それぞれに対応するワンタイムパスワードを生成する。
【】
ステップS303では、表示部104が、生成部103が生成した複数のワンタイムパスワードを表示する。ワンタイムパスワードは生成に使われた時刻に応じて有効期限(有効期間)が異なる。本実施形態では、認証装置102が時刻t-1、t、t+1の3つのワンタイムパスワードについて一致しているか否かを検証する設定であるとする。この場合、時刻t+2になった場合、時刻t+2に基づいて新たなワンタイムパスワードが生成される。このとき、時刻t-1に基づいて生成されたワンタイムパスワード(例えば後述の
図5の「013925」)は、時刻t+2になると認証装置102で認証できなくなるようにする。
図5は表示部104が表示するワンタイムパスワードの表示例である。同図において、501は、生成部103がt-1、t、t+1の時刻に基づいて生成したワンタイムパスワードである。502はワンタイムパスワードの有効期限を表す情報である。同図では円グラフが時間の経過を表しており、時間とともに円が欠けて行き、円がなくなったら有効期限切れを表す。これにより複数のワンタイムパスワードの有効期限が区別できるように表示できる。しかしワンタイムパスワードの有効期限の表示方法はこれに限るものではなく、残り秒数を数字で表示しても良いし、あるいは有効期限の順にワンタイムパスワードを並べるだけでも良い。
【】
図6はユーザが認証装置102で自身のユーザIDを認証する時の認証画面の例である。ユーザは自身のユーザIDと、パスワードに加え、本発明のワンタイムパスワード生成装置101で生成したワンタイムパスワードを入力し、ログインボタンで認証指示を送ることで認証する。認証装置102は、ワンタイムパスワード生成装置101の表示部104が示すどのワンタイムパスワード(例えば
図5に記載のワンタイムパスワード)でも、その有効期限内であれば認証可能となるように構成される。
【】
このように、認証装置102が検証可能な複数の時刻のワンタイムパスワードを表示することで、ユーザは認証後すぐに再認証を行う場合であっても、ワンタイムパスワードが切り替わる時間を待たずに他のワンタイムパスワードを利用できる。またこの時、複数のワンタイムパスワードで有効期限の異なりがわかるよう表示することで、ユーザは優先して利用する事が望ましいワンタムパスワードを選ぶことが可能になる。
【】
次に、ステップS304において、ワンタイムパスワード生成装置101の受信部105は、認証装置102がユーザの認証に成功したことの通知を受信したか否かを判定する(S304)。ワンタイムパスワード生成装置101の受信部105は、認証装置102から、ユーザの認証に成功したことの通知、および認証成功時に使われたワンタイムパスワードを受信した場合(S304でYes)、S305に進む。好ましい例では、認証装置102がWebサービスであり、Webブラウザやアプリケーションで認証装置102の認証画面が表示される。ワンタイムパスワード生成装置101はWebブラウザと同じ装置内で動くアプリケーションである。認証装置102であるWebサービスが認証に成功した場合に、認証成功したことの通知とその時利用されたワンタイムパスワードが、同じ装置で動くワンタイムパスワード生成アプリケーションの受信部105に通知される。しかし本発明はこれに限るものではなく、認証装置102からワンタイムパスワード生成装置101に対して、ネットワークを介して、認証が成功したことの通知と、そのユーザIDとワンタイムパスワードとが通知されても良い。
【】
ステップS304で受信部105が認証成功を受信しなかった場合(S304でNo)、ステップS306に進む。
【】
ステップS305において、ワンタイムパスワード生成装置101の表示部104は、認証成功時に利用されて通知されたワンタイムパスワードを非表示にする。
図7は認証に利用されたワンタイムパスワードを非表示にする様子を表す。701は、実際にユーザが認証装置102での認証に利用し、非表示にされたワンタイムパスワードである。
図5の501に示すワンタイムパスワードのうち、「013925」を使ってユーザが認証装置102の認証に成功したとする。受信部105がユーザの認証成功とそのワンタイムパスワードを受信すると、表示部104がそのワンタイムパスワードを表示から消す。同図では
図5との比較のために同パスワードが表示されていた領域を点線で囲っているが実際には表示を消し、表示領域のスペースは詰めても良い。
【】
そして、ステップS306において、ワンタイムパスワード生成装置101の処理を終了するか否かを判定する。ワンタイムパスワード生成装置101は、ユーザの終了指示などに基づいて処理を終了すると判定した場合は(S306でYes)、処理を終了する。ワンタイムパスワード生成装置101は、処理を終了しないと判定した場合は(S306でNo)、S301に戻って現在時刻によるワンタイムパスワードの生成を継続する。
【】
なお、上述した実施形態においては、認証装置102は時刻t-1、t、t+1の3つのワンタイムパスワードについて一致しているか否かを検証する設定とした。その他の実施形態として、ステップウインドウの時刻は、t-x、t、t+xとし、xの値は1以外の値としてもよい。これはワンタイムパスワード生成装置101がユーザにワンタイムパスワードを提供してから認証装置102で検証されるまでの遅延時間を考慮するためである。
【】
以上のように、本発明のワンタイムパスワード生成装置101は、認証装置102が検証可能な複数のワンタイムパスワードを表示するとともに、認証成功した場合には利用済のワンタイムパスワードを非表示にする。これにより、ユーザがすぐに利用できるワンタイムパスワードを確認することが可能となる。
【】
[第二実施形態]
第一実施形態において、ワンタイムパスワード生成装置101の生成部103は、
図4で示したように、現在時刻tと、現在時刻tから時間を前後にシフトさせたt-1と、t+1の時刻に対応するワンタイムパスワードを生成した。そして、ワンタイムパスワード生成装置101の表示部104は、当該複数のワンタイムパスワードを表示するようにした。
【】
以下、本実施形態におけるワンタイムパスワード生成装置101について説明する。
【】
ワンタイムパスワード生成装置101の表示部104は、有効期限が所定の時間より短いワンタイムパスワードを非表示にする。
【】
あるいは、ワンタイムパスワード生成装置101の生成部103は、ユーザが認証装置102の認証画面に入力する時間を鑑みて、当該時間分先の時間ステップウインドウに対応するワンタイムパスワードを生成する。そして、ワンタイムパスワード生成装置101の表示部104は、当該ワンタイムパスワードを表示する。
【】
図8にその例を示す。
図8に示すように、ワンタイムパスワード生成装置101の生成部103は、
図5で示した現在有効なワンタイムパスワードに加え、さらに先の時刻t+2に基づいて計算されるワンタイムパスワードを生成する。そして、ワンタイムパスワード生成装置101の表示部104は、生成したワンタイムパスワードを「次に有効になるワンタイムパスワード」として表示する。このように、現在は有効ではないが、所定の期間経過後に有効となるパスワードを予め表示しておくことで、ユーザは連続してワンタイムパスワードの入力が必要な時に、次のワンタイムパスワードを認証装置102に入力して待機することが可能となる。
【】
[第三実施形態]
第二実施形態では、ワンタイムパスワード生成装置101の受信部105が認証装置102から認証が成功したことの通知を受信した後、表示部104は認証に利用したワンタイムパスワードを非表示にするようにした。
【】
本実施形態は、認証装置102が認証を成功した場合に、ワンタイムパスワード生成装置101の生成部103は、ワンタイムパスワードの生成方法を変更する。そして、認証装置102は、当該ワンタイムパスワードが一致するか否かを検証するためのワンタイムパスワードの情報も、同様の生成方法を用いて変更する。
【】
以下、本実施形態におけるワンタイムパスワード生成装置101の処理のフローチャートである
図9を用いて、詳細を説明する。
図9のステップS301~ステップS304、ステップS306は第一実施形態の
図3の処理と同様であるため、説明を省略する。S901において、ワンタイムパスワード生成装置101の生成部103は、ワンタイムパスワード生成方法を変更する。この時、認証装置102においても、当該ワンタイムパスワードが一致するか否かを検証するためのワンタイムパスワードの情報を、同様の生成方法を用いて変更する。
【】
別の変形例としては、認証装置102がワンタイムパスワード生成装置101の受信部105に対して認証成功を通知する際に、ワンタイムパスワード生成方法の変更方法をあわせて通知しても良い。これは、
図3のS304のタイミングで実施される。
【】
また、ワンタイムパスワード生成装置101のワンタイムパスワード生成方法の変更方法と、認証装置102が有する当該ワンタイムパスワードが一致するか否かを検証するためのワンタイムパスワードの情報の変更方法は、両者が同じ変更方法であればどのような方法でも良い。変更方法としては、例えば、
図4に示す現在時刻からシフトする時間をt+10など所定の時間に変更しても良い。あるいはTOTPにおいてワンタイムパスワード生成のシードとなるシークレットの文字列をビットシフトなどして変更しても良い。ワンタイムパスワード生成方法の変更は所定時間の一時的なものでも恒久的なものでも良い。
【】
このように認証装置102が認証を成功した時に、認証装置102とワンタイムパスワード生成装置101の生成部103は、上述したワンタイムパスワード生成方法、およびワンタイムパスワードが一致するか否かを検証するためのワンタイムパスワードの情報を変更する。これにより、認証装置102の認証が成功した後に、ワンタイムパスワード生成装置101が、S302、S303で生成して表示するワンタイムパスワードが即座に変更される。これによりユーザは時間ステップウインドウの時間間隔を待たずに、認証装置102で有効なワンタイムパスワードを利用する事ができる。
【】
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【】
101 ワンタイムパスワード生成装置
102 認証装置
103 生成部
104 表示部
105 受信部
【図】
【図】
【図】
【図】
【図】
【図】
【図】
【図】
【図】