(57)【要約】【課題】不正ユーザが暗号シードを悪用することを防ぐ。【解決手段】不正を検知するための情報である第１不正検知情報を格納している手段と、時刻情報を発生する手段と、ワンタイムパスワードを生成するための数列である第１暗号シードを格納する手段と、時刻情報と第１暗号シードと第１不正検知情報とに対応する数値である第１ワンタイムパスワードを発生する手段と、を具備し、認証サーバー装置は、第１不正検知情報に対応する第２不正検知情報を格納し、第１暗号シードに対応する第２暗号シードを格納し、第２不正検知情報と第２暗号シードと時刻情報に対応する第２ワンタイムパスワードが第１ワンタイムパスワードと一致している場合にはワンタイムパスワード装置が正当な利用であると認証する。【選択図】図１
2014072843.tif 000002
【特許請求の範囲】
【請求項１】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードと前記第１不正検知情報とに対応する数値である第１ワンタイムパスワードを発生する第１発生手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、該第２不正検知情報と該第２暗号シードと前記時刻情報に対応する第２ワンタイムパスワードが前記第１ワンタイムパスワードと一致している場合には前記ワンタイムパスワード装置が正当な利用であると認証するワンタイムパスワード装置。
【請求項２】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、該第２暗号シードと前記時刻情報に対応する第４ワンタイムパスワードが前記第１ワンタイムパスワードと一致し、かつ、該第２不正検知情報が前記第１不正検知情報と一致している場合には前記ワンタイムパスワード装置が正当な利用であると認証するワンタイムパスワード装置。
【請求項３】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証するワンタイムパスワード装置。
【請求項４】
前記第１不正検知符号は端末識別情報または取引情報であり、
前記選択手段は、ハッシュ関数を使用して、前記第１不正検知情報から情報を選択して情報量を少なくする請求項３に記載のワンタイムパスワード装置。
【請求項５】
前記第１不正検知符号は位置情報であり、
前記選択手段は、固定されたメッシュサイズで区切った複数のメッシュのどこに位置情報が対応するかを示すことにより、前記第１不正検知情報から情報を選択して情報量を少なくする請求項３に記載のワンタイムパスワード装置。
【請求項６】
前記第１不正検知符号は生体情報であり、
前記選択手段は、第１端末識別情報に対応する符号語によって第１生体情報を暗号化することにより、前記第１不正検知情報から情報を選択して情報量を少なくし、
前記認証サーバー装置では、前記第１生体情報の対応する第２生体情報を取得して該第２生体情報と前記第１不正検知符号とを前記第１アルゴリズムにしたがって復号して得た第２端末識別情報が第１端末識別情報とが一致するかどうか判定する請求項３に記載のワンタイムパスワード装置。
【請求項７】
前記第２発生手段は、前記第１暗号シードに応じた乱数を生成し、
前記符号化手段は、符号化の複数のアルゴリズムを含んでいて、前記乱数に応じて第２のアルゴリズムを選択して該第２のアルゴリズムによって符号化し、
前記認証サーバー装置では、前記乱数に対応するアルゴリズムによって前記不正検知ワンタイムパスワードを復号する請求項３に記載のワンタイムパスワード装置。
【請求項８】
前記第２発生手段は、前記第１暗号シードに応じた乱数を生成し、
前記選択手段は、前記第１不正検知情報から、前記乱数に対応する情報部分を第１不正検知符号として生成し、
前記認証サーバー装置では、前記第２不正検知情報から、前記乱数に対応する情報部分を前記第３不正検知符号として生成する請求項３に記載のワンタイムパスワード装置。
【請求項９】
前記第２発生手段は、第３ワンタイムパスワードに前記第１不正検知情報を含め、
前記認証サーバー装置は、前記第２不正検知情報と前記第１不正検知情報とが一致するかどうかを判定する請求項８に記載のワンタイムパスワード装置。
【請求項１０】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証するワンタイムパスワード装置。
【請求項１１】
前記第１不正検知情報はエイジング鍵であり、認証サーバー装置で正当な利用であると判定されない場合には、別のエイジング鍵を発行し、ワンタイムパスワードのやり取りとは独立した通信チャネルによってワンタイムパスワード装置と認証サーバー装置との間で該別のエイジング鍵を共有する請求項９または請求項１０に記載のワンタイムパスワード装置。
【請求項１２】
前記第１不正検知符号は端末識別情報または取引情報であり、
前記選択手段は、前記第１不正検知情報から前記乱数に応じて情報を選択して情報量を少なくする請求項７から請求項１１のいずれか１項に記載のワンタイムパスワード装置。
【請求項１３】
前記第１不正検知符号は位置情報であり、
前記選択手段は、前記乱数に応じてメッシュサイズ、位相、及びアフィン変換のパラメータを変化させ、メッシュサイズ、位相、及びアフィン変換のパラメータと位置情報とにより決まり、前記第１不正検知情報より情報量が少ない第１不正検知符号を生成する請求項７から請求項１１のいずれか１項に記載のワンタイムパスワード装置。
【請求項１４】
前記第１不正検知符号は生体情報であり、
前記選択手段は、第１端末識別情報から前記乱数に応じて選択された第１情報に対応する第１符号語によって第１生体情報を暗号化して暗号化生体情報を得ることにより、前記第１不正検知情報から情報を選択して情報量を少なくし、
前記認証サーバー装置では、前記第１端末識別情報に対応する第２端末識別情報から前記乱数に応じて選択された前記第３不正検知符号と、前記第１生体情報に対応する第２生体情報と前記暗号化生体情報とから復号して前記第２不正検知符号を得て、該第３不正検知符号と該第２不正検知符号とが一致するかどうかを判定する請求項７から請求項１１のいずれか１項に記載のワンタイムパスワード装置。
【請求項１５】
前記認証サーバー装置では、不正検知符号が一致しない場合には、異常であると判定し、異常が検知されたことをメールで正当なユーザに伝えること、不正なワンタイムパスワード装置を特定すること、不正検知情報を更新することの少なくとも１つを行う請求項１から請求項１４のいずれか１項に記載のワンタイムパスワード装置。
【請求項１６】
認証サーバー装置と、該認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置とを具備するシステムであって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、
前記第１不正検知情報に対応する第２不正検知情報を格納する第３格納手段と、
前記第１暗号シードに対応する第２暗号シードを格納する第４格納手段と、
前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成する復号手段と、
前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証する認証手段と、を具備するシステム。
【請求項１７】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置で使用されるプログラムあって、
コンピュータを
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段として機能させるためのものであり、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワンタイムパスワードを生成するワンタイムパスワード装置、システム及びプログラムに関する。
【背景技術】
【０００２】
ネットワークではユーザを認証する技術が重要である。ユーザ認証は、例えば、ＰＤＡ、携帯電話、ノートＰＣ等の端末からネットワークを介して、コンピュータシステムに接続する際に、接続しようとする端末のユーザが適切かどうかを判断するための技術である。安全かつ確実に重要な情報にアクセスするためには、ユーザ認証技術が重要になる。ユーザ認証の際に、よく利用されるのがＩＤとパスワードである。近年、パスワードの漏洩による不正アクセスの増加が問題となっている。
【０００３】
不正アクセスの防止策として、パスワードを利用する認証よりも強力なワンタイムパスワードを利用する技術がある（例えば、特許文献１参照）。
【０００４】
ワンタイムパスワードは、例えば、ＯＴＰ（one time password：ワンタイムパスワード）生成装置（トークンとも呼ばれる）によって、プロバイダが発行したＯＴＰシードと、時刻情報とに対応させて生成される。さらに、このプロバイダを提供している認証サーバー装置は、このユーザの識別情報に対応するＯＴＰシードを格納し、ＯＴＰシードと時刻情報とに対応したワンタイムパスワードを生成する。ＯＴＰ生成装置と認証サーバー装置とでは、同一のＯＴＰシード情報を所有し、ワンタイムパスワードを生成するアルゴリズムも同一に設定してある。さらに、時刻情報も同期させておくので、ＯＴＰ生成装置が生成するワンタイムパスワードと認証サーバー装置が生成するワンタイムパスワードとは同一になり、ユーザ認証を行うことができる。
【０００５】
このワンタイムパスワードは、時刻情報が変化するため、認証のために１回しか使用することができない。したがって、ワンタイムパスワード認証は高い安全性を確保することができる。
【０００６】
従来のＯＴＰは、単機能な物理トークンで実装されているため、特殊な機構を施すことにより、内部の暗号シードの漏洩等を防ぐことができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１７１０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、ＯＴＰをスマートフォン等の多機能端末に実装する場合には、悪質なマルウェア等によって暗号シードが漏洩される危険を否定できない。
【０００９】
そこでこの発明は、上述した事情を考慮してなされたものであり、不正ユーザが暗号シードを悪用することを防ぐワンタイムパスワード装置、システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明のワンタイムパスワード装置は、認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、時刻情報を発生する時刻発生手段と、ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、前記時刻情報と前記第１暗号シードと前記第１不正検知情報とに対応する数値である第１ワンタイムパスワードを発生する第１発生手段と、を具備し、前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、該第２不正検知情報と該第２暗号シードと前記時刻情報に対応する第２ワンタイムパスワードが前記第１ワンタイムパスワードと一致している場合には前記ワンタイムパスワード装置が正当な利用であると認証する。
【発明の効果】
【００１１】
本発明のワンタイムパスワード装置、システム及びプログラムによれば、不正ユーザが暗号シードを悪用することを防ぐことができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【図２】第２の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【図３】図２の不正検知情報選択器の一例を示す図。
【図４】図２の不正検知情報選択器の別の一例を示す図。
【図５Ａ】図２の不正検知情報選択器のさらに別の一例を示す図。
【図５Ｂ】図２の不正検知器の図５Ａに対応する場合の例を示す図。
【図６】第３の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【図７】図６の不正検知情報攪乱選択器の一例を示す図。
【図８】図６の不正検知情報攪乱選択器の別の一例を示す図。
【図９】第４の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【図１０】第５の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【図１１】第６の実施形態に係るワンタイムパスワード装置及び認証サーバー装置のブロック図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら本発明の実施形態に係るワンタイムパスワード装置、システム及びプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。  
（第１の実施形態）  
本実施形態のワンタイムパスワード装置（ＯＴＰ端末とも呼ぶ）１００及び認証サーバー装置１２０について図１を参照して説明する。この認証サーバー装置１２０は、図１のワンタイムパスワード装置１００を利用してユーザがデータのやり取りを行う相手である。  
本実施形態のワンタイムパスワード装置１００は、図１に示すように、メモリ１０１、鍵管理部１０２、時刻発生部１０３、ＯＴＰ（one time password：ワンタイムパスワード）発生器１０４、表示部１０５、入力部１０６、制御部１０７を含んでいる。なお、このワンタイムパスワード装置１００は、例えば、スマートフォン、タブレットコンピュータ、携帯電話に含まれる。
【００１４】
メモリ１０１は不正検知情報を格納している。不正検知情報は、不正が発生した際にその不正を検知するための情報であり、例えば、ＧＰＳ情報、端末の識別情報である端末ＩＤ情報、生体情報、エイジング（Ａｇｉｎｇ）鍵、取引情報がある。ＧＰＳ情報は、ワンタイムパスワード装置１００の位置情報、例えばワンタイムパスワード装置１００のある時刻における位置を示す。端末ＩＤ情報は、ワンタイムパスワード装置１００のユニークなＩＤに関する情報である。生体情報は、ワンタイムパスワード装置１００を使用するユーザの生体に関する情報であり、例えば指紋である。生体情報は例えば、ビット列に変換されて出力される。エイジング鍵は、都度更新される鍵であり、例えば１つの取引に関してのみ有効な鍵である。取引情報は例えば、取引金額、取引相手情報（例えば、氏名、金融機関情報、口座番号）である。
【００１５】
ワンタイムパスワード装置１００がメモリ１０１に格納されている不正検知情報を入力に含めたデータを認証サーバー装置１２０へ送信することによって、認証サーバー装置１２０はこのワンタイムパスワード装置１００が正当な利用であるかどうかを検証することができる。
【００１６】
時刻発生部１０３は時刻を発生する。この時刻は、認証サーバー装置１２０に含まれる時刻発生部１２５が生成する時刻に同期している。
【００１７】
鍵管理部１０２は鍵データを格納している。この鍵データは例えば、サービスを提供しているプロバイダの識別情報と、該識別情報に対応するワンタイムパスワードを生成するための数列であるＯＴＰシード（暗号シードとも呼ぶ）と、を対応付けて１組とし、この組をこのワンタイムパスワード装置１００のユーザが接続しようとするプロバイダ分だけ格納している。なお、識別情報とシードとは組ごとに全て異なる。鍵管理部１０２は、プロバイダの識別情報として、例えば、プロバイダのＩＤと、このプロバイダ向けのＣＩＤ（communication identifier：通信識別子）とを格納している。ＣＩＤは、プロバイダとユーザとの組ごとに割り当てられるＩＤである。各プロバイダはユーザごとに異なるＣＩＤを有し、各ユーザはプロバイダごとに異なるＣＩＤを有している。ある１つのＣＩＤは、対応するある１つのプロバイダと、対応するあるひとりのユーザとで同一である。  
ＯＴＰ発生器１０４は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、メモリ１０１に格納されている不正検知情報と、を入力して、この時刻とＯＴＰシードと不正検知情報とから数値を生成する。この数値は、時刻とＯＴＰシードの入力値と不正検知情報の値とに応じて決定され、例えば３つの入力値のどれかが異なれば圧倒的に高い確率で出力値が異なるような関数（ハッシュ関数）を使用して生成される。ＯＴＰ発生器１０４のハッシュ関数（例えば、ＳＨＡ−２５６）は、例えば、時刻として３２ビットのデータと、ＯＴＰシードとして２５６ビットのデータと、不正検知情報として３２ビットのデータとを入力とし、２５６ビットの数値を出力する。ＯＴＰ発生器１０４は、ハッシュ関数で得られた数値の一部（例えば、２０ビット）をワンタイムパスワードとして出力する。
【００１８】
これとは異なり、ＯＴＰ発生器１０４は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、を入力して、この時刻とＯＴＰシードとから数値を生成し、生成したこの数値と不正検知情報とを出力してもよい。この数値は、時刻とＯＴＰシードの入力値とに応じて決定され、例えば２つの入力値のどれかが異なれば圧倒的に高い確率で出力値が異なるような関数（ハッシュ関数）を使用して生成される。ＯＴＰ発生器１０４のハッシュ関数（例えば、ＳＨＡ−２５６）は、例えば、時刻として３２ビットのデータと、ＯＴＰシードとして２５６ビットのデータとを入力とし、２５６ビットの数値を出力する。ＯＴＰ発生器１０４は、ハッシュ関数で得られた数値の一部（例えば、２０ビット）と、不正検知情報とをワンタイムパスワードとして出力してもよい。不正検知情報は数値化されていてもよいが、検証できる形態であれば数値に限定されず文章でもよい。
【００１９】
ＯＴＰ／ＣＩＤ表示部１０５は、ＯＴＰ発生器１０４が発生したワンタイムパスワードと、制御部１０７が鍵管理部１０２から取得したワンタイムパスワードに対応するＣＩＤを表示する。ＯＴＰ／ＣＩＤ表示部１０５は例えば、この他にも、暗証番号の入力画面、プロバイダの選択画面を表示する。
【００２０】
入力部１０６は、ユーザがワンタイムパスワード装置１００を操作するための情報を入力する。入力部１０６は例えば、ユーザがサービスを選択する際に利用される。  
制御部１０７は、鍵管理部１０２から、ユーザが入力したプロバイダに対応するＯＴＰシードに対応するＣＩＤを取得し、ＯＴＰ／ＣＩＤ表示部１０５に渡す。また、制御部１０７はワンタイムパスワード装置１００に含まれる各部を制御する。
【００２１】
次に、図１のワンタイムパスワード装置１００を利用してユーザがデータのやり取りを行う相手である認証サーバー装置１２０について図１を参照して説明する。認証サーバー装置１２０は、プロバイダごとに設置される。すなわち、１つの認証サーバー装置１２０は１つのプロバイダ情報のみを格納している。  
認証サーバー装置１２０は、図１に示すように、Ｉ／Ｆ（interface：インターフェース）部１２１、制御部１２２、メモリ１２３、鍵管理部１２４、時刻発生部１２５、ＯＴＰ検証器１２６を含んでいる。
【００２２】
時刻発生部１２５は時刻を発生する。この時刻は、ワンタイムパスワード装置１００に含まれる時刻発生部１０３が生成する時刻に同期している。
【００２３】
鍵管理部１２４は、鍵データをプロバイダごとに格納している。このプロバイダごとの鍵データは、登録しているユーザのＣＩＤと、該ＣＩＤに対応するワンタイムパスワードを生成するための数列であるＯＴＰシードと、を対応付けて１組とし、この組を複数組格納している。鍵管理部１２４が格納しているＣＩＤとＯＴＰシードは、組ごとに全て異なる内容になっている。また、ワンタイムパスワード装置１００の鍵管理部１０２が格納している鍵データのうちの対応するプロバイダに関するＯＴＰシードは、鍵管理部１２４が格納しているＯＴＰシードのうちの対応ユーザのＯＴＰシードに一致している。
【００２４】
なお、ワンタイムパスワード装置１００の鍵管理部１０２に格納されている鍵データのうちのあるプロバイダに関するＯＴＰシードは、このプロバイダに対応する認証サーバー装置１２０の鍵管理部１２４が格納しているＯＴＰシードのうちのこのユーザに対応するＯＴＰシードと一致するように設定しておく。例えばユーザが、対応するプロバイダごとに利用登録を行う際にユーザのＣＩＤとワンタイムパスワードとを認証サーバー装置１２０に送信する。また、鍵管理会社が、事前にユーザとプロバイダとに鍵データを安全な方法で伝達（例えば郵送）して、ユーザがワンタイムパスワード装置１００の鍵管理部１０２に鍵データをコピーする。他に、秘匿性に優れる通信回線、または、秘匿性に優れる通信技術を使用して、ワンタイムパスワード装置１００は認証サーバー装置１２０から鍵データをダウンロードしてもよい。
【００２５】
鍵管理部１２４は、鍵管理部１２４に格納されているデータからＯＴＰシードを生成するための処理を行う。鍵管理部１２４は、ユーザに対応するＯＴＰシードを取得し、ＯＴＰ検証器１２６に渡す。
【００２６】
メモリ１２３は不正検知情報を格納している。メモリ１２３はユーザごとに対応する不正検知情報を格納している。不正検知情報には例えば、ＧＰＳ情報、端末ＩＤ情報、生体情報、エイジング鍵、取引情報がある。ＧＰＳ情報は、ワンタイムパスワード装置１００が正当であると認識されるべき位置情報、例えばワンタイムパスワード装置１００がある時刻において通常位置すると想定される位置または位置範囲を示す。端末ＩＤ情報は、ワンタイムパスワード装置１００のユニークなＩＤに関する情報である。生体情報は、ワンタイムパスワード装置１００を使用するユーザの生体に関する情報であり、例えば指紋である。エイジング鍵は、都度更新される鍵であり、例えば１つの取引に関してのみ有効な鍵である。取引情報は例えば、取引金額、取引相手情報（例えば、氏名、金融機関情報、口座番号）である。
【００２７】
ＯＴＰ検証器１２６は、時刻発生部１２５が発生した時刻と、鍵管理部１２４から取得したＯＴＰシードと、ワンタイムパスワード装置１００で使用した不正検知情報と同様な情報とを入力して、この時刻とＯＴＰシードと不正検知情報とから数値を生成する。ＯＴＰ検証器１２６は、この不正検知情報をメモリ１２３から取得する。この数値を発生するためのアルゴリズムは、本実施形態のワンタイムパスワード装置１００でのＯＴＰ発生器１０４と同様である。このアルゴリズムによれば、入力するＯＴＰシードと時刻と不正検知情報とが同一ならば、ＯＴＰ発生器１０４が発生するワンタイムパスワードとＯＴＰ検証器１２６が発生するワンタイムパスワードとは同一になる。また、例えば不正検知情報としてＧＰＳ情報の場合には、ＯＴＰ検証器１２６はユーザが存在する場所が所定の範囲内であるかどうかを判定する。つまり、ＯＴＰ検証器１２６は、ワンタイムパスワード装置１００から受け取ったワンタイムパスワードが、この所定の範囲内である場合の不正検知情報から生成されたワンタイムパスワードであるかどうかを判定する。
【００２８】
これとは異なり、ＯＴＰ発生器１０４が、時刻と、ＯＴＰシードとを入力して数値を生成し、生成したこの数値と不正検知情報とを出力する場合には、ＯＴＰ検証器１２６は、この時刻とＯＴＰシードとから数値を生成し、別途、メモリ１２３から不正検知情報を取得する。そしてＯＴＰ検証器１２６は、時刻とＯＴＰシードから生成した数値と、不正検知情報とをそれぞれ認証サーバー装置１２０が所有しているものと比較して検証する。
【００２９】
Ｉ／Ｆ部１２１は、ワンタイムパスワード装置１００が生成したワンタイムパスワードを利用して認証サーバー装置１２０にログインするスマートフォンとの間でデータのやり取りをする。Ｉ／Ｆ部１２１は、例えば、スマートフォンからユーザのログインを受け付けたり、スマートフォンからＣＩＤとワンタイムパスワードを受信したりする。
【００３０】
制御部１２２は、認証サーバー装置１２０の各部を制御する。また、制御部１２２は、ＯＴＰ検証器１２６が発生したワンタイムパスワードと、Ｉ／Ｆ部１２１がスマートフォンから受信したワンタイムパスワードとが一致するかどうかを判定する。一致すると判定した場合にはスマートフォンへのサービスの提供を許可しサービスの提供を開始し、一致しない場合にはスマートフォンへのサービスの提供を拒否する。
【００３１】
次に、鍵管理部１２４に格納されている鍵データについて説明する。  
鍵管理部１２４は、プロバイダごとに、ＣＩＤ、ＯＴＰシードを１組としたデータをユーザの数以上格納している。これらのＣＩＤとＯＴＰシードは、ユーザごとに定まっている。すなわち、一般的には、同一のプロバイダでも、ユーザによって、ＣＩＤとＯＴＰシードは異なっている。したがって、ＣＩＤとＯＴＰシードから生成されるワンタイムパスワードは安全性に優れ、ネットワーク上の正しい相手と通信が可能になる。
【００３２】
鍵管理部１２４が格納する鍵データは、登録しているユーザの数だけあるが、通常は１０００万件程度である。ＣＩＤは例えば８桁で示され、ＯＴＰシードは例えば２５６ビットを有している。この場合、鍵管理部１２４は、１プロバイダにつき３．６億バイト程度のデータを格納することになる。
【００３３】
次に、ユーザが図１のワンタイムパスワード装置１００を利用して、図１の認証サーバー装置１２０のプロバイダに、この認証サーバー装置１２０に接続するスマートフォンを介して、利用登録をするための動作の一例について説明する。  
ユーザは、スマートフォンを使用して、所望のプロバイダサイトを運営している認証サーバー装置１２０にログインする。このとき、ユーザは、例えば、ユーザの識別情報である、ＩＤとパスワードを入力してログインする。通常このＩＤとパスワードは登録のための仮のものであり１度だけ使用される。
【００３４】
ユーザは、スマートフォンを使用して、ワンタイムパスワードを使用する旨を認証サーバー装置１２０に指示する指示信号を送信する。
【００３５】
認証サーバー装置１２０は、スマートフォンに、ＣＩＤとワンタイムパスワードを入力する旨の要求信号を送信する。
【００３６】
ユーザは、例えばスマートフォンを使用し、サービスの提供を受けたいプロバイダを選択する。このプロバイダは、上記でログインしたサイトのプロバイダである。
【００３７】
スマートフォンでは、ＯＴＰ発生器１０４が、時刻発生部１０３が発生した時刻と、この選択されたプロバイダのＯＴＰシードと、メモリ１０１に格納されている不正検知情報と、からワンタイムパスワードを発生し、発生したワンタイムパスワードとＣＩＤとをＯＴＰ／ＣＩＤ表示部１０５に表示する。これとは異なり、ＯＴＰ発生器１０４が、時刻発生部１０３が発生した時刻と、この選択されたプロバイダのＯＴＰシードと、からワンタイムパスワードを発生し、発生したワンタイムパスワードとＣＩＤと不正検知情報とをＯＴＰ／ＣＩＤ表示部１０５に表示してもよい。
【００３８】
ユーザは、この表示されたワンタイムパスワードとＣＩＤとをスマートフォンに入力し、入力されたワンタイムパスワードとＣＩＤとが認証サーバー装置に送信される。  
認証サーバー装置１２０は、ユーザが入力したワンタイムパスワードとＣＩＤとを受信し（不正検知情報がある場合にはこの情報も受信する）、これらが、この登録ユーザの鍵データであると認識し、このワンタイムパスワードとＣＩＤと、時刻発生部１２５が発生する時刻により、この登録ユーザのＯＴＰシードを生成し、このＯＴＰシードとＣＩＤとをこのユーザの鍵データとして鍵管理部１２４に格納する。
【００３９】
さらに、上記のユーザの不正検知情報を取得しメモリ１２３にこの情報を格納する。この不正検知情報の取得は、上述した鍵データであるＣＩＤとＯＴＰシードとを登録した場合と同様に行ってもよい。すなわち、ユーザが、対応するプロバイダごとに利用登録を行う際にユーザのＣＩＤと不正検知情報とを認証サーバー装置１２０に送信する。また、鍵管理会社が、事前にユーザとプロバイダにＣＩＤと不正検知情報とを安全な方法で伝達（例えば郵送）して、ユーザがワンタイムパスワード装置１００の鍵管理部１０２にＣＩＤと不正検知情報とをコピーする。他に、秘匿性に優れる通信回線、または、秘匿性に優れる通信技術を使用して、ワンタイムパスワード装置１００は認証サーバー装置１２０からＣＩＤと不正検知情報とをダウンロードしてもよい。
【００４０】
次に、図１のワンタイムパスワード装置と、図１の認証サーバー装置と、この認証サーバー装置に接続するスマートフォンとを含むワンタイムパスワードシステムの動作の一例について説明する。  
ユーザは例えば、スマートフォンに、所望のプロバイダサイトを表示させる。
【００４１】
ユーザは、スマートフォンを使用し、サービスの提供を受けたいプロバイダを選択する。ユーザは、例えば入力部１０６を使用し、スマートフォンの画面上で、パスワードとして暗証番号を入力し、サービスの提供をするプロバイダの一覧を表示させ、複数のプロバイダの中から先に表示させたプロバイダを選択する。
【００４２】
スマートフォンでは、ＯＴＰ発生器１０４が先に選択されたプロバイダのＯＴＰシードと、時刻発生部１０３が発生した時刻と、メモリ１０１に格納されている不正検知情報とからワンタイムパスワードを発生し、発生したワンタイムパスワードをＯＴＰ／ＣＩＤ表示部１０５に表示する。
【００４３】
ユーザは、ユーザのＩＤと、表示されたワンタイムパスワードとをスマートフォンに入力し、入力されたワンタイムパスワードが認証サーバー装置１２０に送信される。  
認証サーバー装置１２０は、これらの入力された端末ＩＤとワンタイムパスワードとを受信し、受信したワンタイムパスワードと、認証サーバー装置１２０が発生したワンタイムパスワードとが一致するかどうかを確認する（認証処理）。一致している場合には、認証サーバー装置１２０がスマートフォンにサービスの提供を開始する。なお、認証サーバー装置１２０は、ワンタイムパスワード装置１００の時刻発生器１０４が発生する時刻情報の誤差を測定し、誤差を補正するための情報を格納してもよい。
【００４４】
これとは異なり、ＯＴＰ発生器１０４がＯＴＰシードと、時刻とからワンタイムパスワードを発生し、発生したワンタイムパスワードと不正検知情報とをＯＴＰ／ＣＩＤ表示部１０５に表示してもよい。この場合には、このワンタイムパスワードと不正検知情報とをワンタイムパスワード装置１００が認証サーバー装置１２０へ送信する。認証サーバー装置１２０は、これらの入力された端末ＩＤとワンタイムパスワードとを受信し、受信したワンタイムパスワードと、認証サーバー装置１２０が発生したワンタイムパスワードとが一致するかどうかを確認し、さらに不正検知情報から不正がないかどうかを判定する（認証処理）。ワンタイムパスワードが一致して、かつ、不正がないと判定された場合には、認証サーバー装置１２０がスマートフォンにサービスの提供を開始する。
【００４５】
以上の第１の実施形態によれば、ワンタイムパスワード装置でＣＩＤとＯＴＰシードと不正検知情報とを予め格納して、同様な情報を認証サーバー装置にユーザごとに、ＣＩＤとＯＴＰシードと不正検知情報とを予め格納しておき、不正検知情報をシードに加えたり、ワンタイムパスワードに加えて不正検知情報により認証することによって、不正ユーザの誤認証を未然に防止することができ、不正ユーザが暗号シードを悪用することを防ぐことが可能になる。変化する不正検知情報を暗号シードに加えることによって、不正ユーザの誤認証を未然に防止することができる。
【００４６】
（第２の実施形態）  
第２の実施形態のワンタイムパスワード装置は、第１の実施形態のワンタイムパスワード装置に加えて、不正検知情報選択器２０１と不正検知ＯＴＰ符号化器２０３を含んでいる。これに対応して、第２の実施形態の認証サーバー装置は、第１の実施形態の認証サーバー装置に加えて、不正検知復号器２２１と不正検知器２２２を含んでいる。また、ＯＴＰ発生器２０２は、第１の実施形態でのＯＴＰ発生器１０４とは異なり、不正検知情報を入力することなく、暗号シードと時刻とを入力してワンタイムパスワードを生成する。これに対応してＯＴＰ検証器２２３は不正検知情報を入力することなく、暗号シードと時刻とに基づいてワンタイムパスワード装置２００からのワンタイムパスワードを検証する。
【００４７】
本実施形態のワンタイムパスワード装置について図２を参照して説明する。  
本実施形態のワンタイムパスワード装置２００は、図２に示すように、メモリ１０１、鍵管理部１０２、時刻発生部１０３、表示部１０５、入力部１０６、制御部１０７、不正検知情報選択器２０１、ＯＴＰ発生器２０２、及び不正検知ＯＴＰ符号化器２０３を含んでいる。
【００４８】
不正検知情報選択器２０１は、メモリ１０１に格納されている不正検知情報から不正検知符号を生成する。不正検知符号は、第１の実施形態で説明した不正検知情報を符号化したものであり、数値で表現される。不正検知符号は情報量が不正検知情報よりも少なくなるように符号化されたものである。不正検知符号は例えば、端末ＩＤまたは取引情報（例えば、取引金額及び相手の口座番号）を入力としたハッシュ関数の出力値である。他の例を含め具体的な不正検知情報の例は後に、図３、図４、図５Ａ、及び図５Ｂを参照して説明する。
【００４９】
ＯＴＰ発生器２０２は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、を入力して、この時刻とＯＴＰシードとから数値を生成する。この数値は、時刻とＯＴＰシードの入力値とに応じて決定され、例えば２つの入力値のどれかが異なれば圧倒的に高い確率で出力値が異なるような関数（ハッシュ関数）を使用して生成される。この関数は第１の実施形態と入力数が異なる以外は同様である。ＯＴＰ発生器２０２は、ハッシュ関数で得られた数値の一部（例えば、２０ビット）をワンタイムパスワードとして出力する。
【００５０】
不正検知ＯＴＰ符号化器２０３は、不正検知情報選択器２０１の出力である不正検知符号と、ＯＴＰ発生器２０２の出力であるＯＴＰとを入力して、これらの全体を符号化して不正検知ＯＴＰを出力する。出力される不正検知ＯＴＰは、第１の実施形態でのように不正検知情報が付加されているものとは異なり、ＯＴＰ発生器２０２の出力であるＯＴＰと不正検知符号とを区別することができない。不正検知ＯＴＰ符号化器２０３の符号化に対応する復号のアルゴリズムにより演算しなければ、ＯＴＰと不正検知符号とを分離することは容易ではない。  
不正検知ＯＴＰ符号化器２０３の出力である不正検知ＯＴＰは、表示部１０５に表示される。
【００５１】
次に、図２のワンタイムパスワード装置２００を利用してユーザがデータのやり取りを行う相手である認証サーバー装置２２０について図２を参照して説明する。認証サーバー装置２２０は、プロバイダごとに設定される。すなわち、１つの認証サーバー装置２２０は１つのプロバイダ情報のみを格納している。
【００５２】
認証サーバー装置２２０は、図２に示すように、Ｉ／Ｆ部１２１、制御部１２２、メモリ１２３、鍵管理部１２４、時刻発生部１２５、不正検知ＯＴＰ復号器２２１、不正検知器２２２、ＯＴＰ検証器２２３、不正検知対応部２２４を含んでいる。
【００５３】
不正検知ＯＴＰ復号器２２１は、不正検知ＯＴＰ符号化器２０３が出力して表示部１０５に表示される不正検知ＯＴＰを入力し、不正検知ＯＴＰを不正検知符号とＯＴＰに分離する。
【００５４】
不正検知器２２２は、不正検知ＯＴＰ復号器２２１から不正検知符号を入力し、この不正検知符号から不正検知情報を生成する。さらに不正検知器２２２は、メモリ１２３に格納されている不正検知情報と、不正検知ＯＴＰ復号器２２１の出力である不正検知符号から生成された不正検知情報とを比較して、不正検知ＯＴＰ復号器２２１からの不正検知符号が正常であるか異常であるかを判定する。
【００５５】
不正検知対応部２２４は、不正検知符号が異常であると不正検知器２２２が判定した場合に作動し、異常であると判定された場合に実行が予定されている動作を開始する。この動作は例えば、正当なユーザに不正が検知されたことをメール等（例えばＳＭＳ（Short Message Service））で伝えること、不正ユーザを特定する（不正なワンタイムパスワード装置を特定する）こと、不正検知情報を更新することがある。他には、異常が所定数回以上続いた場合には暗号シードを更新することが考えられる。
【００５６】
ＯＴＰ検証器２２３は、時刻発生部１２５が発生した時刻と、鍵管理部１２４から取得したＯＴＰシードとを入力して、この時刻とＯＴＰシードとから数値を生成する。これらの数値を発生するためのアルゴリズムは、本実施形態のワンタイムパスワード装置２００でのＯＴＰ発生器２０２と同様である。例えば、入力するＯＴＰシードと時刻とが同一ならば、ＯＴＰ発生器２０２が発生するワンタイムパスワードとＯＴＰ検証器２２３が発生するワンタイムパスワードとは同一になる。
【００５７】
次に、不正検知情報選択器２０１について図３を参照して説明する。図３は、不正検知情報が端末ＩＤまたは取引情報の場合について示している。  
端末に固有な情報である端末ＩＤまたは取引に固有な情報である取引情報は、それぞれ数値化することができる。端末ＩＤは数列で表され例えば１０桁の数字で表現される。取引情報は例えば（取引金額、相手口座番号）の組合せで表現される。
【００５８】
不正検知情報選択器２０１は、ハッシュ関数部３０１を含み、端末ＩＤまたは取引情報をハッシュ関数の入力として、出力値を不正検知符号とする。
【００５９】
取引情報の場合でのハッシュ関数Ｈａｓｈは、例えばＨａｓｈ（Ｘ，Ｙ）であり、ここで例えば、Ｘは取引金額、Ｙは相手口座番号である。また、フィッシングサイト等を利用した介入者攻撃（Main-in-the-middle attack）では、正規ユーザが取引Ａ（金額Ｘ円，相手口座Ｙ）に対して生成したワンタイムパスワードを流用して、攻撃者が別の取引Ｂ（金額Ｘ’円，相手口座Ｙ’）の認証に利用することが考えられる。この場合、Ｈａｓｈ（Ｘ，Ｙ）＝Ｈａｓｈ（Ｘ’，Ｙ’）を満たす取引Ｂ（Ｘ’，Ｙ’）に対してしか攻撃者は成功しないので、攻撃の抑止になる。
【００６０】
次に、不正検知情報選択器２０１の別例について図４を参照して説明する。図４は、不正検知情報が位置情報である場合について示している。  
ＧＰＳ等から得られる位置情報に固定メッシュを適用する。固定メッシュではメッシュサイズが固定されている。不正検知情報選択器２０１は関数部４０１を含み、関数部４０１はユーザの位置を入力して複数のメッシュのうちのどれに対応するかを示す番号を出力する。すなわち、固定されたメッシュサイズで区切った複数のメッシュのどこに位置情報が対応するかを示す。この番号を不正検知符号とする。位置は緯度（latitude）、経度（longitude）、及び／または高度（altitude）で決定され、例えば（緯度、経度）または（緯度、経度、高度）で示される。これによって、位置情報を短い不正検知符号に変換することができ、少ない情報量で位置情報の検査ができる。
【００６１】
次に、不正検知情報選択器２０１のさらなる別例について図５Ａ及び図５Ｂを参照して説明する。図５Ａ及び図５Ｂは、不正検知情報が生体情報の一例である指紋の場合について示している。  
不正検知情報選択器２０１は、図５Ａに示すように、端末ＩＤに対応する符号語ｃ（例えば、ＬＤＰＣ符号）を生成し、ユーザの生体情報ｂを取得し、これらの符号語ｃと生体情報ｂとから暗号化生体情報（Fuzzy Commitment）であるｂ＋ｃを生成する。
【００６２】
不正検知器２２２は、図５Ｂに示すように、認証したいユーザから生体情報ｂ’を取得し、ワンタイムパスワード装置２００から暗号化生体情報であるｂ＋ｃを受信し、ｃを復号する。復号ではｂ’＋（ｂ＋ｃ）として｜ｂ’＋ｂ｜≦ｅ（ｅは誤り訂正符号Ｃ（符号語ｃ∈Ｃ）の訂正可能な誤りビット数の上限値）の場合に復号が成功し、符号語ｃを得てこの符号語に対応する端末ＩＤであるｍを得る。不正検知器２２２では、この端末ＩＤが正規ユーザのものであるかどうかを判定して、正常であるか異常であるかを決定する。
【００６３】
以上の第２の実施形態によれば、不正検知情報から生成した不正検知符号とＯＴＰとを併せて符号化して不正検知ＯＴＰを生成することにより、不正検知ＯＴＰから容易に不正検知情報を分離することができなくなり、より確実に不正を判定することができる。さらに不正があったかどうかを判定して不正を検知した場合に適切な動作を実行することができる。不正検知情報をＯＴＰの一部に区別のつかない形式で混在して入力させることによって、ユーザが入力した数桁（例えば６桁から８桁）のＯＴＰだけで、不正を検知し不正ユーザを追跡することができる。万が一暗号シードが漏洩しても円滑にシステムを安全な状態に復旧させることができる。
【００６４】
（第３の実施形態）  
第３の実施形態のワンタイムパスワード装置６００では、不正検知情報攪乱選択器６０２は、第２の実施形態での不正検知情報選択器２０１とは異なり、共通乱数を入力してこの共通乱数に基づき不正検知情報から不正検知符号を生成する。これに対応して、第３の実施形態での不正検知器６２２は、第２の実施形態での不正検知器２２２とは異なり、共通乱数を入力してこの共通乱数に基づき不正検知符号から不正検知情報を生成する。なお共通乱数は、ワンタイムパスワード装置６００と認証サーバー装置６２０との間で共通の乱数である。またＯＴＰ発生器６０１及びＯＴＰ検証器６２１はそれぞれ、第２の実施形態でのＯＴＰ発生器２０２及びＯＴＰ検証器２２３とは、共通乱数を発生することのみが異なる。
【００６５】
本実施形態のワンタイムパスワード装置６００は、図６に示すように、メモリ１０１、鍵管理部１０２、時刻発生部１０３、表示部１０５、入力部１０６、制御部１０７、不正検知ＯＴＰ符号化器２０３、ＯＴＰ発生器６０１、及び不正検知情報攪乱選択器６０２を含んでいる。認証サーバー装置６２０は、図６に示すように、Ｉ／Ｆ部１２１、制御部１２２、メモリ１２３、鍵管理部１２４、時刻発生部１２５、不正検知ＯＴＰ復号器２２１、不正検知対応部２２４、不正検知器６２２、及びＯＴＰ検証器６２１を含んでいる。
【００６６】
ＯＴＰ発生器６０１は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、を入力して、この時刻とＯＴＰシードとから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。
【００６７】
不正検知情報攪乱選択器６０２は、ＯＴＰ発生器６０１から共通乱数を受け取り、メモリ１０１から入力した不正検知情報の中から、共通乱数を使用してランダムに選択した情報の一部分を不正検知符号として生成する。
【００６８】
ＯＴＰ検証器６２１は、時刻発生部１２５が発生した時刻と、鍵管理部１２４から取得したＯＴＰシードとを入力して、この時刻とＯＴＰシードとから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。共通乱数はワンタイムパスワードの生成に使用する暗号シードに基づいて生成するので、ＯＴＰ発生器６０１とＯＴＰ検証器６２１とでは共通の乱数を生成することができる。
【００６９】
不正検知器６２２は、ＯＴＰ検証器６２１から共通乱数を受け取り、メモリ１２３から入力した不正検知情報の中から、共通乱数を使用してランダムに選択した情報の一部分を生成し、この情報の一部分がワンタイムパスワード装置６００から受け取った不正検知符号と照合して同一の不正検知情報であるかどうかを判定する。
【００７０】
本実施形態の検証手法では、１回の検証では不正検知情報の一部分のみで検証するが、複数回の試行を行うことにより不正検知符号に許容される情報量（不正検知符号の桁数などで決まる）を超える不正検知情報全体を確率的に検査することができる。
【００７１】
次に、不正検知情報攪乱選択器６０２について図７を参照して説明する。図７は、不正検知情報が端末ＩＤまたは取引情報の場合について示している。  
不正検知情報攪乱選択器６０２は選択関数部７０１を含み、共通乱数を入力として選択関数部７０１は、端末ＩＤまたは取引情報から共通乱数に応じた一部分の情報を選択し、選択した情報を不正検知符号として出力する。より具体的には、選択関数部７０１は、下記の式のようなランダムなプロジェクション関数（projection function）によって不正検知符号を生成する。ここでは、ｒが乱数であり、｛ｘ１，ｘ２，・・・，ｘｎ｝が全体の不正検知情報であり、｛ｘｒ１，ｘｒ２｝が全体の不正検知情報から選択された一部分の情報である。
【００７２】
Ｆ（ｒ，｛ｘ１，ｘ２，・・・，ｘｎ｝）＝｛ｘｒ１，ｘｒ２｝、ここでｒ１，ｒ２∈｛１，２，・・・，ｎ｝、ｒは｛１，２，・・・，ｎ（ｎ−１）／２｝よりも大きな空間の要素である。
【００７３】
不正検知情報が端末ＩＤである場合には、複数回の認証の後に端末ＩＤをほぼ確実に復元することができる。これによって不正に使用された端末ＩＤの部分情報を抜き打ちに検査することができ、さらに端末ＩＤに対応するユーザを追跡することができる。
【００７４】
ある一例について説明する。不正検知符号を２バイトとすると、端末ＩＤが一様分布の場合には誤受理率（ＦＡＲ：false acceptance rate）はＦＡＲ＝１／６５５３６となる。誤受理率は、システムが拒否すべき事項を誤って受理する確率である。端末ＩＤの場合には、異なる共通乱数に基づきランダムに選択生成された３１個の不正検知符号（すなわち、３１回の認証）によって、元の１０桁の端末ＩＤを９９％の確率で復元することが可能になる。一般に、ＩＤ長ｄ桁の１００ｐ％を不正検知符号長とするとき、ｎ回の認証により（１−（１−ｐ）ｎ）ｄの確率で復元することが可能になる。
【００７５】
また取引情報の場合での第２の実施形態で説明した介入者攻撃について説明する。選択関数に使用される共通乱数ＣＲＮがワンタイムパスワードの生成に使用する暗号シードに基づいているため、攻撃者は共通乱数ＣＲＮの値を知ることができない。したがって、Ｘは取引金額、Ｙは相手口座番号として選択関数（Ｘ，Ｙ，ＣＲＮ）＝選択関数（Ｘ’，Ｙ’，ＣＲＮ’）を満たす別の取引Ｂ（金額Ｘ’円，相手口座Ｙ’）、共通乱数ＣＲＮ’の組を見つけることは、第２の実施形態での場合よりもさらに困難になる。取引Ａ（金額Ｘ円，相手口座Ｙ）に対して生成したワンタイムパスワードを流用したとしても、別の取引Ｂの認証を成功させることは第２の実施形態で説明した場合よりも困難になると考えられる。
【００７６】
次に、不正検知情報攪乱選択器６０２の別例について図８を参照して説明する。図８は、不正検知情報が位置情報である場合について示している。  
本実施形態では第２の実施形態とは異なり、ＧＰＳ等から得られる位置情報に変動メッシュを適用する。変動メッシュではメッシュサイズや位相を変化させる。本実施形態では共通乱数によってメッシュの大きさ、位相、アフィン変換を変化させる。不正検知情報攪乱選択器６０２は、位相アフィン変換メッシュサイズ選択部８０１、及びメッシュ分割符号化部８０２を含む。位相アフィン変換メッシュサイズ選択部８０１は、共通乱数を入力してこの共通乱数に応じて位相、アフィン変換のパラメータ、メッシュサイズのそれぞれを所定の複数の値から選択する。メッシュ分割符号化部８０２は、位相アフィン変換メッシュサイズ選択部８０１で選択された位相、アフィン変換のパラメータ、メッシュサイズを使用して位置情報を符号化して短い不正検知符号を出力する。これによって、位置情報を短い不正検知符号に変換することができ、少ない情報量で位置情報の検査ができる。
【００７７】
より具体的に説明する。位置情報をｐ∈Ｒ３、位相をｑ∈Ｒ３、アフィン変換のパラメータをＡ（Ａ：Ｒ３→Ｒ３）、メッシュサイズａ∈Ｒ３であるとする。ここでＲは実数全体の集合を示す。これらはメッシュが３次元の場合でありそれぞれのベクトルの第１成分は緯度、第２成分は経度、第３成分は高度に対応する。メッシュが２次元の場合には、第１成分及び第２成分のみになる。メッシュが２次元の場合での位置情報、位相、アフィン変換パラメータ、及びメッシュサイズは、３次元の場合の上記のＲ３をＲ２としたものに対応する。位相アフィン変換メッシュサイズ選択部８０１は、ｑ、Ａ，ａの３値を選択し、メッシュ分割符号化部８０２は、位置情報ｐをＡ（ｐ−ｑ）ｍｏｄ ａによって位置情報ｐを区間［０，ａ）（２次元の場合も［０，ａ））に変換し、さらに区間を１００個の区間に細分化して変換後の位置情報Ａ（ｐ−ｑ）ｍｏｄ ａがどの区間に入っているかによって不正検知符号を算出する。  
また、複数回の不正検知符号を組み合わせることにより、ワンタイムパスワードが不正に使用された位置を検査し、さらにこの位置を追跡すること実現することができる。
【００７８】
次に、不正検知情報攪乱選択器６０２のさらなる別例について図５Ａ、図５Ｂ、及び図７を参照して説明する。  
不正検知情報攪乱選択器６０２は、第２の実施形態で図５Ａを参照して説明した不正検知情報選択器２０１を含み、さらに第３の実施形態で図７を参照して説明した選択関数部７０１を含む。不正検知情報攪乱選択器６０２は、図５Ａの端末ＩＤであるｍと共通乱数とを選択関数部７０１が入力して不正検知符号を生成し、不正検知情報選択器２０１のようにこの不正検知符号から対応する符号語ｃを生成し、暗号化生体情報を生成する。
【００７９】
不正検知器６２２は、第２の実施形態で図５Ｂを参照して説明したものを含む。不正検知器６２２は、不正検知器２２２のように暗号化生体情報とユーザから生体情報とにより復号して符号語を得てこの符号語に対応する不正検知符号を得る。一方、不正検知器６２２は、上述したように、ＯＴＰ検証器６２１から共通乱数を受け取り、メモリ１２３から入力した不正検知情報の中から、共通乱数を使用してランダムに選択した情報の一部分を生成し、この情報の一部分がワンタイムパスワード装置６００から受け取った不正検知符号と照合して同一の不正検知情報であるかどうかを判定する。
【００８０】
以上の第３の実施形態によれば、第２の実施形態での効果に加えて、１回の検証では不正検知情報の一部分のみで検証するが、複数回の試行を行うことにより不正検知符号に許容される情報量を超える不正検知情報全体を確率的に検査することができる。攻撃者は共通乱数ＣＲＮの値を知ることができないので、介入者攻撃による被害を受けにくくなる。複数回の不正検知符号を組み合わせることにより、ワンタイムパスワードが不正に使用された位置を検査し、さらにこの位置を追跡することを実現することができる。
【００８１】
（第４の実施形態）  
第４の実施形態ではＯＴＰ発生器９０１及びＯＴＰ検証器９２１がそれぞれ、共通乱数を不正検知ＯＴＰ符号化器９０２及び不正検知ＯＴＰ復号器９２２へ出力する点が、第３の実施形態でのＯＴＰ発生器６０１及びＯＴＰ検証器６２１とは異なる。また、第４の実施形態では不正検知ＯＴＰ符号化器９０２及び不正検知ＯＴＰ復号器９２２がそれぞれ、共通乱数を入力して符号化及び復号する点が、第３の実施形態での不正検知ＯＴＰ符号化器２０３及び不正検知ＯＴＰ復号器２２１とは異なる。
【００８２】
本実施形態のワンタイムパスワード装置９００は、図９に示すように、メモリ１０１、鍵管理部１０２、時刻発生部１０３、表示部１０５、入力部１０６、制御部１０７、不正検知情報選択器２０１、ＯＴＰ発生器９０１、及び不正検知ＯＴＰ符号化器９０２を含んでいる。認証サーバー装置９２０は、図９に示すように、Ｉ／Ｆ部１２１、制御部１２２、メモリ１２３、鍵管理部１２４、時刻発生部１２５、不正検知対応部２２４、不正検知器２２２、不正検知ＯＴＰ復号器９２２、及びＯＴＰ検証器９２１を含んでいる。
【００８３】
ＯＴＰ発生器９０１は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、を入力して、この時刻とＯＴＰシードとから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。ＯＴＰ発生器９０１がＯＴＰ発生器６０１と異なる点は共通乱数の出力先であり、ＯＴＰ発生器９０１は不正検知ＯＴＰ符号化器９０２へ共通乱数を出力する。
【００８４】
不正検知ＯＴＰ符号化器９０２は、不正検知ＯＴＰ符号化アルゴリズムを複数有していて、この複数個のアルゴリズムから、入力する共通乱数に対応したアルゴリズムを選択し、この選択したアルゴリズムによって、不正検知符号とＯＴＰとを入力してこれらの全体を符号化して不正検知ＯＴＰを出力する。
【００８５】
ＯＴＰ検証器９２１は、時刻発生部１２５が発生した時刻と、鍵管理部１２４から取得したＯＴＰシードとを入力して、この時刻とＯＴＰシードとから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。ＯＴＰ検証器９２１がＯＴＰ検証器６２１と異なる点は共通乱数の出力先であり、ＯＴＰ検証器９２１は不正検知ＯＴＰ復号器９２２へ共通乱数を出力する。共通乱数はワンタイムパスワードの生成に使用する暗号シードに基づいて生成するので、不正検知ＯＴＰ符号化器９０２とＯＴＰ検証器９２１とでは共通の乱数を生成することができる。
【００８６】
不正検知ＯＴＰ復号器９２２は、不正検知ＯＴＰ復号アルゴリズムを複数有していて、この複数個のアルゴリズムから、入力する共通乱数に対応したアルゴリズムを選択し、この選択したアルゴリズムによって、不正検知ＯＴＰをワンタイムパスワード装置９００から取得して不正検知ＯＴＰを復号し不正検知符号とＯＴＰとを得る。同一の乱数では、不正検知ＯＴＰ符号化器９０２で使用するこの共通乱数に対応する不正検知ＯＴＰ符号化アルゴリズムと、不正検知ＯＴＰ復号器９２２で使用するこの共通乱数に対応する不正検知ＯＴＰ復号アルゴリズムとは対応している。すなわち、ある共通乱数に対応する不正検知ＯＴＰ符号化アルゴリズムによって符号化されて得られた不正検知ＯＴＰは、これと同一の共通乱数に対応する不正検知ＯＴＰ復号アルゴリズムによって復号することができ、不正検知符号とＯＴＰとを得ることができる。さらに、第１乱数に対応する不正検知ＯＴＰ符号化アルゴリズムで符号化された不正検知ＯＴＰは、第１乱数と異なる第２乱数に対応する不正検知ＯＴＰ復号アルゴリズムでは復号できないように設定されていてもよい。
【００８７】
以上の第４の実施形態によれば、ワンタイムパスワード装置９００と認証サーバー装置９２０との間で共通の共通乱数を不正検知ＯＴＰ符号化器９０２と不正検知ＯＴＰ復号器９２２とへ入力して、共通乱数によって不正検知ＯＴＰ符号化アルゴリズムをランダマイズすることができる。この結果、不正なユーザが不正検知ＯＴＰを復号することは第３の実施形態の場合よりもさらに困難になる。
【００８８】
（第５の実施形態）  
第５の実施形態では、メモリに不正検知情報としてエイジング鍵を格納し、ＯＴＰ発生器が時刻と暗号シードとに加えエイジング鍵を入力して、これらの３つの情報を入力として数値を生成し、ワンタイムパスワードを生成する点が、第４の実施形態とは異なる。第５の実施形態は、他に不正検知情報としてエイジング鍵を使用して認証サーバー装置で不正を検知した場合もしくは定期的にエイジング鍵を発行する点が第４の実施形態とは異なる。
【００８９】
本実施形態のワンタイムパスワード装置１０００は、図１０に示すように、メモリ１００１、鍵管理部１０２、時刻発生部１０３、表示部１０５、入力部１０６、制御部１０７、不正検知情報攪乱選択器６０２、ＯＴＰ発生器１００２、及び不正検知ＯＴＰ符号化器２０３を含んでいる。認証サーバー装置１０２０は、図１０に示すように、Ｉ／Ｆ部１２１、制御部１２２、メモリ１０２１、鍵管理部１２４、時刻発生部１２５、不正検知対応部１０２３、不正検知器６２２、不正検知ＯＴＰ復号器２２１、及びＯＴＰ検証器１０２２を含んでいる。
【００９０】
メモリ１００１は、認証サーバー装置１０２０で発行されたエイジング鍵を受け取り格納している。通常は、不正検知対応部１０２３からの送信は、ＳＭＳや電子メール等の独立した通信チャネルを利用してエイジング鍵を受信して、メモリ１００１に格納する。ワンタイムパスワード装置１０００のユーザが、ＳＭＳや電子メール等を介して受信したメッセージからエイジング鍵をコピー＆ペースト等によってメモリ１００１に格納してもよい。
【００９１】
ＯＴＰ発生器１００２は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応する暗号シードと、メモリ１００１に格納されているエイジング鍵と、を入力して、この時刻と暗号シードとエイジング鍵とから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。この数値は、時刻と暗号シードの入力値とエイジング鍵の数値とに応じて決定され、例えば３つの入力値のどれかが異なれば圧倒的に高い確率で出力値が異なるような関数（ハッシュ関数）を使用して生成される。
【００９２】
これとは異なり、ＯＴＰ発生器１００２は、時刻発生部１０３が発生した時刻と、鍵管理部１０２に格納されているＯＴＰシードのうちのユーザが入力したプロバイダに対応するＯＴＰシードと、を入力して、この時刻とＯＴＰシードとから数値を生成し、生成したこの数値と不正検知情報とを出力してもよい。この数値は、時刻とＯＴＰシードの入力値とに応じて決定され、例えば２つの入力値のどれかが異なれば圧倒的に高い確率で出力値が異なるような関数（ハッシュ関数）を使用して生成される。ＯＴＰ発生器１０４のハッシュ関数（例えば、ＳＨＡ−２５６）は、例えば、時刻として３２ビットのデータと、ＯＴＰシードとして２５６ビットのデータとを入力とし、２５６ビットの数値を出力する。ＯＴＰ発生器１０４は、ハッシュ関数で得られた数値の一部（例えば、２０ビット）と、不正検知情報とをワンタイムパスワードとして出力してもよい。
【００９３】
メモリ１０２１は、認証サーバー装置１０２０で発行されたエイジング鍵を受け取り格納している。メモリ１０２１に格納されているエイジング鍵は常にメモリ１００１に格納されているエイジング鍵と同一になるように調整される。
【００９４】
ＯＴＰ検証器１０２２は、時刻発生部１２５が発生した時刻と、鍵管理部１２４から取得した暗号シードと、メモリ１０２１に格納されているエイジング鍵とを入力して、この時刻と暗号シードとエイジング鍵とから数値を生成してワンタイムパスワードを出力すると共に、共通乱数を発生して出力する。共通乱数はワンタイムパスワードの生成に使用する暗号シードに基づいて生成するので、ＯＴＰ発生器６０１とＯＴＰ検証器６２１とでは共通の乱数を生成することができる。
【００９５】
これとは異なり、ＯＴＰ検証器１０２２が、時刻と、ＯＴＰシードとを入力して数値を生成し、生成したこの数値と不正検知情報とを出力する場合には、ＯＴＰ検証器１２６は、この時刻とＯＴＰシードとから数値を生成し、別途、メモリ１２３から不正検知情報を取得してもよい。そしてＯＴＰ検証器１０２２は、時刻とＯＴＰシードから生成した数値と、不正検知情報とをそれぞれ認証サーバー装置１０２０が所有しているものと比較して検証する。
【００９６】
不正検知対応部１０２３は、不正検知符号が異常であると不正検知器２２２が判定した場合もしくは定期的に作動し、異常であると判定された場合にもしくは定期的に、新たなエイジング鍵を発行する。
【００９７】
以上の第５の実施形態によれば、エイジング鍵を時刻及び暗号シードと共にＯＴＰ発生器に入力することにより、異なるエイジング鍵を持つユーザを拒否すると同時に、不正検知情報としてエイジング鍵を使用することによって、万が一スマートフォン内の暗号シードが不正に複製された場合でもエイジング鍵の相異によって不正を検知することができる。この結果、不正検知時または所定の期間経過後に再び正しくＳＭＳや電子メールを受信できるユーザのみが認証される状況に復旧することができる。
【００９８】
（第６の実施形態）  
第６の実施形態は、第５の実施形態とはメモリの内容が異なる。第５の実施形態ではメモリにはエイジング鍵を格納する場合であったが、第６の実施形態ではメモリにエイジング鍵だけでなく他の実施形態で説明した位置情報、端末ＩＤ、生体情報、取引情報を含む不正検知情報を含む場合についてである。
【００９９】
本実施形態のワンタイムパスワード装置１１００は、図１１に示すように、メモリ１０１、鍵管理部１０２、時刻発生部１０３、表示部１０５、入力部１０６、制御部１０７、不正検知情報攪乱選択器６０２、ＯＴＰ発生器１００２、及び不正検知ＯＴＰ符号化器２０３を含んでいる。認証サーバー装置１１２０は、図１１に示すように、Ｉ／Ｆ部１２１、制御部１２９、メモリ１２３、鍵管理部１２４、時刻発生部１２５、不正検知対応部２２４、不正検知器６２２、不正検知ＯＴＰ復号器２２１、及びＯＴＰ検証器１０２２を含んでいる。各部については他の実施形態で全て説明してある。
【０１００】
以上の第６の実施形態によれば、（１）変化する不正検知情報を暗号シードに加えることによって、不正ユーザの誤認証を未然に防ぎ、（２）不正検知情報をＯＴＰの一部に区別の付かない形態で混在して入力することによって、ユーザが入力したＯＴＰだけで不正を検知することができ、さらに不正ユーザを追跡することが可能になる。したがって、万が一暗号シードが漏洩したとしても円滑にシステムを安全な状態に復旧させることができる。
【０１０１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０２】
１００，２００，６００，９００，１０００，１１００・・・ワンタイムパスワード装置、１０１，１２３，１００１，１０２１・・・メモリ、１０２・・・鍵管理部、１０３・・・時刻発生部、１０４，２０２，６０１，９０１，１００２・・・ＯＴＰ発生器、１０５・・・表示部、１０６・・・入力部、１０７・・・制御部、１２０，２２０，６２０，９２０，１０２０，１１２０・・・認証サーバー装置、１２１・・・Ｉ／Ｆ部、１２２・・・制御部、１２４・・・鍵管理部、１２５・・・時刻発生部、１２６，２２３，６２１，９２１，１０２２・・・ＯＴＰ検証器、２０１・・・不正検知情報選択器、２０３，９０２・・・不正検知ＯＴＰ符号化器、２２１，９２２・・・不正検知ＯＴＰ復号器、２２２，６２２・・・不正検知器、２２４，１０２３・・・不正検知対応部、３０１・・・ハッシュ関数部、４０１・・・関数部、６０２・・・不正検知情報攪乱選択器、７０１・・・選択関数部、８０１・・・位相アフィン変換メッシュサイズ選択部、８０２・・・メッシュ分割符号化部。
【図１】
2014072843.tif 000003
【図２】
2014072843.tif 000004
【図３】
2014072843.tif 000005
【図４】
2014072843.tif 000006
【図５Ａ】
2014072843.tif 000007
【図５Ｂ】
2014072843.tif 000008
【図６】
2014072843.tif 000009
【図７】
2014072843.tif 000010
【図８】
2014072843.tif 000011
【図９】
2014072843.tif 000012
【図１０】
2014072843.tif 000013
【図１１】
2014072843.tif 000014
【手続補正書】
【提出日】平成25年1月21日(2013.1.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証し、
前記第１不正検知符号は取引情報であり、
前記選択手段は、ハッシュ関数を使用して、前記第１不正検知情報から情報を選択して情報量を少なくするワンタイムパスワード装置。
【請求項２】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証し、
前記第１不正検知符号は位置情報であり、
前記選択手段は、固定されたメッシュサイズで区切った複数のメッシュのどこに位置情報が対応するかを示すことにより、前記第１不正検知情報から情報を選択して情報量を少なくするワンタイムパスワード装置。
【請求項３】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証し、
前記第１不正検知符号は生体情報であり、
前記選択手段は、第１端末識別情報に対応する符号語によって第１生体情報を暗号化することにより、前記第１不正検知情報から情報を選択して情報量を少なくし、
前記認証サーバー装置では、前記第１生体情報の対応する第２生体情報を取得して該第２生体情報と前記第１不正検知符号とを前記第１アルゴリズムにしたがって復号して得た第２端末識別情報が第１端末識別情報とが一致するかどうか判定するワンタイムパスワード装置。
【請求項４】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証し、
前記第２発生手段は、前記第１暗号シードに応じた乱数を生成し、
前記符号化手段は、符号化の複数のアルゴリズムを含んでいて、前記乱数に応じて第２のアルゴリズムを選択して該第２のアルゴリズムによって符号化し、
前記認証サーバー装置では、前記乱数に対応するアルゴリズムによって前記不正検知ワンタイムパスワードを復号するワンタイムパスワード装置。
【請求項５】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成する選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証し、
前記第２発生手段は、前記第１暗号シードに応じた乱数を生成し、
前記選択手段は、前記第１不正検知情報から、前記乱数に対応する情報部分を第１不正検知符号として生成し、
前記認証サーバー装置では、前記第２不正検知情報から、前記乱数に対応する情報部分を前記第３不正検知符号として生成するワンタイムパスワード装置。
【請求項６】
前記第２発生手段は、第３ワンタイムパスワードに前記第１不正検知情報を含め、
前記認証サーバー装置は、前記第２不正検知情報と前記第１不正検知情報とが一致するかどうかを判定する請求項５に記載のワンタイムパスワード装置。
【請求項７】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置であって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証するワンタイムパスワード装置。
【請求項８】
前記第１不正検知情報はエイジング鍵であり、認証サーバー装置で正当な利用であると判定されない場合には、別のエイジング鍵を発行し、ワンタイムパスワードのやり取りとは独立した通信チャネルによってワンタイムパスワード装置と認証サーバー装置との間で該別のエイジング鍵を共有する請求項６または請求項７に記載のワンタイムパスワード装置。
【請求項９】
前記第１不正検知符号は端末識別情報または取引情報であり、
前記選択手段は、前記第１不正検知情報から前記乱数に応じて情報を選択して情報量を少なくする請求項４から請求項８のいずれか１項に記載のワンタイムパスワード装置。
【請求項１０】
前記第１不正検知符号は位置情報であり、
前記選択手段は、前記乱数に応じてメッシュサイズ、位相、及びアフィン変換のパラメータを変化させ、メッシュサイズ、位相、及びアフィン変換のパラメータと位置情報とにより決まり、前記第１不正検知情報より情報量が少ない第１不正検知符号を生成する請求項４から請求項８のいずれか１項に記載のワンタイムパスワード装置。
【請求項１１】
前記第１不正検知符号は生体情報であり、
前記選択手段は、第１端末識別情報から前記乱数に応じて選択された第１情報に対応する第１符号語によって第１生体情報を暗号化して暗号化生体情報を得ることにより、前記第１不正検知情報から情報を選択して情報量を少なくし、
前記認証サーバー装置では、前記第１端末識別情報に対応する第２端末識別情報から前記乱数に応じて選択された前記第３不正検知符号と、前記第１生体情報に対応する第２生体情報と前記暗号化生体情報とから復号して前記第２不正検知符号を得て、該第３不正検知符号と該第２不正検知符号とが一致するかどうかを判定する請求項４から請求項８のいずれか１項に記載のワンタイムパスワード装置。
【請求項１２】
前記認証サーバー装置では、不正検知符号が一致しない場合には、異常であると判定し、異常が検知されたことをメールで正当なユーザに伝えること、不正なワンタイムパスワード装置を特定すること、不正検知情報を更新することの少なくとも１つを行う請求項１から請求項１１のいずれか１項に記載のワンタイムパスワード装置。
【請求項１３】
認証サーバー装置と、該認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置とを具備するシステムであって、
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段と、を具備し、
前記認証サーバー装置は、
前記第１不正検知情報に対応する第２不正検知情報を格納する第３格納手段と、
前記第１暗号シードに対応する第２暗号シードを格納する第４格納手段と、
前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成する復号手段と、
前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証する認証手段と、を具備するシステム。
【請求項１４】
認証サーバー装置と通信する際に利用するワンタイムパスワードを生成するワンタイムパスワード装置で使用されるプログラムあって、
コンピュータを
不正を検知するための情報である第１不正検知情報を格納している第１格納手段と、
時刻情報を発生する時刻発生手段と、
ワンタイムパスワードを生成するための数列である第１暗号シードを格納する第２格納手段と、
前記第１不正検知情報と前記時刻情報と前記第１暗号シードとに対応する数値である第３ワンタイムパスワードを発生すると共に、該第１暗号シードに応じた乱数を発生する第２発生手段と、
第１アルゴリズムによって第１不正検知情報から情報を選択して情報量が少なくなるように符号化した第１不正検知符号を生成し、該第１不正検知符号は前記乱数に対応する情報部分である選択手段と、
前記第３ワンタイムパスワードと前記第１不正検知符号とを合わせて符号化し不正検知ワンタイムパスワードを生成する符号化手段として機能させるためのものであり、
前記認証サーバー装置は、前記第１不正検知情報に対応する第２不正検知情報を格納し、前記第１暗号シードに対応する第２暗号シードを格納し、前記不正検知ワンタイムパスワードを復号して第５ワンタイムパスワードと第２不正検知符号とを生成し、前記時刻情報と該第２暗号シードとに対応する第４ワンタイムパスワードが該第５ワンタイムパスワードと一致し、かつ、前記第１アルゴリズムによって該第２不正検知情報から生成した前記乱数に対応する情報部分である第３不正検知符号と該第２不正検知符号とが一致する場合には前記ワンタイムパスワード装置が正当な利用であると認証するプログラム。