特許第6322549号(P6322549)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社野村総合研究所の特許一覧

特許6322549認証システム、認証方法および認証プログラム
<>
  • 特許6322549-認証システム、認証方法および認証プログラム 図000002
  • 特許6322549-認証システム、認証方法および認証プログラム 図000003
  • 特許6322549-認証システム、認証方法および認証プログラム 図000004
  • 特許6322549-認証システム、認証方法および認証プログラム 図000005
  • 特許6322549-認証システム、認証方法および認証プログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6322549
(24)【登録日】2018年4月13日
(45)【発行日】2018年5月9日
(54)【発明の名称】認証システム、認証方法および認証プログラム
(51)【国際特許分類】
   H04L 9/32 20060101AFI20180423BHJP
   G06F 21/31 20130101ALI20180423BHJP
   G06Q 20/40 20120101ALI20180423BHJP
【FI】
   H04L9/00 673D
   G06F21/31
   G06Q20/40 300
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2014-218889(P2014-218889)
(22)【出願日】2014年10月28日
(65)【公開番号】特開2016-86328(P2016-86328A)
(43)【公開日】2016年5月19日
【審査請求日】2017年6月7日
(73)【特許権者】
【識別番号】000155469
【氏名又は名称】株式会社野村総合研究所
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(72)【発明者】
【氏名】土屋 亨
(72)【発明者】
【氏名】石井 晋也
【審査官】 青木 重徳
(56)【参考文献】
【文献】 特開2008−027222(JP,A)
【文献】 特表2007−516512(JP,A)
【文献】 米国特許出願公開第2009/0300732(US,A1)
【文献】 中国特許出願公開第102202300(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/31
G06Q 20/40
(57)【特許請求の範囲】
【請求項1】
認証システムであって、
ユーザ毎に、少なくとも1つの変数セルを含む乱数表を記憶する記憶部と、
ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を前記記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出部と、
前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定部と、
前記所定数の認証セルの位置情報と、前記設定部が設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信部と、
変数セルの認証セルについては前記設定部が設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証部と、を備えること
を特徴とする認証システム。
【請求項2】
請求項1記載の認証システムであって、
前記乱数表の各変数セルには、画像が設定されること
を特徴とする認証システム。
【請求項3】
請求項1または2記載の認証システムであって、
前記設定部は、前記取引情報である振込先口座番号と取引金額とを用いて、前記チャレンジコードを生成すること
を特徴とする認証システム。
【請求項4】
請求項1から3のいずれか1項に記載の認証システムであって、
前記送信部は、前記セル抽出部が抽出したセルの位置情報と、前記設定部が設定した各変数セルに対応する値とを、異なる通信経路で送信すること
を特徴とする認証システム。
【請求項5】
認証システムが行う認証方法であって、
ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を、ユーザ毎に少なくとも1つの変数セルを含む乱数表を記憶する記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出ステップと、
前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定ステップと、
前記所定数の認証セルの位置情報と、前記設定ステップで設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信ステップと、
変数セルの認証セルについては前記設定ステップで設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証ステップと、を行うこと
を特徴とする認証方法。
【請求項6】
請求項5記載の認証方法であって、
前記乱数表の各変数セルには、画像が設定されること
を特徴とする認証方法。
【請求項7】
請求項5または6記載の認証方法であって、
前記設定ステップは、前記取引情報である振込先口座番号と取引金額とを用いて、前記チャレンジコードを生成すること
を特徴とする認証方法。
【請求項8】
請求項5から7のいずれか1項に記載の認証方法であって、
前記送信ステップは、前記セル抽出ステップが抽出したセルの位置情報と、前記設定ステップが設定した各変数セルに対応する値とを、異なる通信経路で送信すること
を特徴とする認証方法。
【請求項9】
認証システムが実行する認証プログラムであって、
前記認証システムに、
ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を、ユーザ毎に少なくとも1つの変数セルを含む乱数表を記憶する記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出ステップ、
前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定ステップ、
前記所定数の認証セルの位置情報と、前記設定ステップで設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信ステップ、および、
変数セルの認証セルについては前記設定ステップで設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証ステップを実行させること
を特徴とする認証プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介したサービスにおける認証技術に関する。
【背景技術】
【0002】
近年、フィッシング詐欺に代表される、インターネット上でのユーザID、パスワードなどの詐取・盗難(identity theft)が問題となっている。そのため、より高いセキュリティを確保し、ユーザの正当性を認証する技術が求められている。例えば、特許文献1には、ワンタイムパスワードを用いて、ユーザ認証を行う認証システムが記載されている。
【0003】
また、ユーザ毎に異なる乱数表を配布し、乱数表上の所定の位置の数字をサーバに送信することで、認証を行う乱数表認証が行われている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−204169号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の乱数表認証では、サーバ側では、ランダムに抽出した乱数表上の位置をユーザに通知し、ユーザは、乱数表の通知された位置の数字をサーバに送信する。乱数表認証では、ユーザに通知される乱数表上の位置は認証の度に変わるため、一般的なユーザIDおよびパスワードの認証に比べて、認証は強化される。しかしながら、従来の乱数表認証では、攻撃者がネットワークを監視すること、または、フィッシング詐欺などにより、乱数表が推定されてしまうリスクがある。
【0006】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、乱数表を用いた認証において、より高いセキュリティを確保することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明は、認証システムであって、ユーザ毎に、少なくとも1つの変数セルを含む乱数表を記憶する記憶部と、ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を前記記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出部と、前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定部と、前記所定数の認証セルの位置情報と、前記設定部が設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信部と、変数セルの認証セルについては前記設定部が設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証部と、を備える。
【0008】
本発明は、認証システムが行う認証方法であって、ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を、ユーザ毎に少なくとも1つの変数セルを含む乱数表を記憶する記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出ステップと、前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定ステップと、前記所定数の認証セルの位置情報と、前記設定ステップで設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信ステップと、変数セルの認証セルについては前記設定ステップで設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証ステップと、を行う。
【0009】
本発明は、認証システムが実行する認証プログラムであって、前記認証システムに、ユーザ端末から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を、ユーザ毎に少なくとも1つの変数セルを含む乱数表を記憶する記憶部から読み出し、読み出した乱数表の複数のセルの中から、前記変数セルを少なくとも1つ含む所定数の認証セルを抽出するセル抽出ステップ、前記取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、前記チャレンジコードを前記各変数セルに振り分けて、各変数セルの値を設定する設定ステップ、前記所定数の認証セルの位置情報と、前記設定ステップで設定した各変数セルに対応する値とを、前記ユーザ端末に送信する送信ステップ、および、変数セルの認証セルについては前記設定ステップで設定した値を用い、変数セル以外の認証セルについては前記乱数表に設定された値を用いて、第1のパスワードを生成し、前記第1のパスワードと前記ユーザ端末から送信された第2のパスワードとが一致するか否かを認証する認証ステップを実行させる。
【発明の効果】
【0010】
本発明では、乱数表を用いた認証において、より高いセキュリティを確保することができる。
【図面の簡単な説明】
【0011】
図1】本発明の第1の実施形態が適用された認証システムの全体構成図である。
図2】乱数表を説明するための図である。
図3】第1の実施形態の認証処理を示すシーケンス図である。
図4】本発明の第2の実施形態が適用された認証システムの全体構成図である。
図5】第2の実施形態の認証処理を示すシーケンス図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について説明する。
【0013】
<第1の実施形態>
図1は、本発明の第1の実施形態が適用された認証システムの全体構成図である。図示する認証システムは、ユーザが使用するユーザ端末1と、認証サーバ2とを有する。ユーザ端末1は、インターネットなどのネットワーク9を介して認証サーバ2と接続される。
【0014】
本実施形態のユーザは、認証サーバ2が提供する認証システムを利用可能なユーザであって、あらかじめ認証サーバ2が発行する当該ユーザ固有の乱数表を取得しているものとする。そして、ユーザは、乱数表を用いてパスワードを生成し、ユーザ端末1を介して認証サーバ2に送信する。ユーザ端末1には、例えばPC、スマートフォン、タブレット、携帯電話などを用いることができる。
【0015】
認証サーバ2(認証システム)は、認証サービスを提供する装置である。図示する認証サーバ2は、セル抽出部21と、設定部22と、送信部23と、認証部24と、取引処理部25と、乱数表記憶部26とを有する。
【0016】
セル抽出部21は、ユーザ端末1から送信された取引要求を受信し、当該取引要求で指定されたユーザに対応する乱数表を乱数表記憶部26から読み出し、読み出した乱数表の複数のセルの中から、変数セルを少なくとも1つ含む所定数の認証セルを抽出する。設定部22は、取引要求に含まれる取引情報に基づいてチャレンジコードを生成し、当該チャレンジコードを乱数表の各変数セルに振り分けて、各変数セルの値を設定する。
【0017】
送信部23は、所定数の認証セルの位置情報と、設定部22が設定した各変数セルに対応する値とを、ユーザ端末1に送信する。認証部24は、変数セルの認証セルについては設定部22が設定した値を用い、変数セル以外の認証セルについては乱数表に設定された値を用いて、第1のパスワードを生成し、第1のパスワードとユーザ端末1から送信された第2のパスワードとが一致するか否かを認証する。乱数表記憶部26には、ユーザ毎に、少なくとも1つの変数セルを含む乱数表が記憶される。
【0018】
上記説明した、ユーザ端末1および認証サーバは、例えば、CPUと、メモリと、ハードディスク等の外部記憶装置などを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、ユーザ端末1および認証サーバ2の各機能は、ユーザ端末1用のプログラムの場合はユーザ端末1のCPUが、そして、認証サーバ2用のプログラムの場合は認証サーバ2のCPUが、それぞれ実行することにより実現される。
【0019】
また、ユーザ端末1および認証サーバ2用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0020】
図2は、本実施形態の乱数表の一例を示す図である。乱数表を用いた認証は、ユーザ毎に固有の乱数表を発行・配布し、ランダムに指定されるセルの文字(数字など)を入力することで、認証を行うものである。
【0021】
図示する乱数表は、行(A−D)と列(1−4)とで構成されたマトリクスであって、列と行とで指定可能な複数のセルを有する。本実施形態の乱数表は、固定セルと、変数セルの2種類のセルを有する。固定セルの各セルには、数値、英字、平仮名、カタカナなどの文字がランダムに設定されている。変数セルには、図示するような図形、模様、色、写真、絵などの文字以外の画像が設定される。本実施形態の乱数表は、少なくとも1つの変数セルを有するものとする。
【0022】
変数セルの値は、取引データに基づいて生成されるチャレンジコードに応じて、値が変化する変数として利用する。すなわち、変数セルの値は、取引データによって値が変わる変数である。
【0023】
乱数表は、プラスチックまたは紙などの乱数表カードを郵便や宅配便でユーザに配送してもよく、あるいは、ユーザがユーザ端末1を用いて認証サーバ2から乱数表データを取得し、ユーザ端末1のメモリなどの記憶部に記憶しておくこととしてもよい。
【0024】
次に、本実施形態の処理について説明する。
【0025】
図3は、本実施形態における乱数表を用いた認証処理を示すシーケンス図である。なお、ここでは、認証処理として、金融機関が提供するネットバンキングサービスの振込処理を例として説明するが、本発明はこれに限定されるものではない。例えば、ポイント移行、送金サービス、決済サービスなど、ネットバンキングサービス以外の様々なサービスにも適用することができる。
【0026】
ユーザ端末1(ブラウザ)は、ユーザの指示を受け付けて認証サーバ2にアクセスし、ユーザが入力した取引データとユーザIDと含む取引要求を認証サーバ2に送信する(S11)。図示する例では、取引データ(取引情報)として、振込先口座番号と、取引金額とを用いるものとする。なお、取引データとしては、これ以外に、例えば、取引種別、金融機関コード等があってもよい。
【0027】
認証サーバ2のセル抽出部21は、ユーザ端末1から送信された取引要求を受信し、当該取引要求で指定されたユーザIDに対応する乱数表31を乱数表記憶部26から読み出す(S12)。なお、ユーザは、セル抽出部21が乱数表記憶部26から読み出した乱数表31と同じ乱数表31をあらかじめ保持している。
【0028】
そして、セル抽出部21は、読み出した乱数表31の複数のセルの中から、変数セルを少なくとも1つ含む所定数の認証セルを抽出する(S13)。また、セル抽出部21は、抽出した各認証セルに、順番を設定する。図示する認証セル情報32の例では、セル抽出部21は、A行4列の1番目のセル(1)と、B行2列の2番目のセル(2)と、D行4列の3番目のセル(3)と、C行2列の4番目のセル(4)の4つのセルを、認証セルとして抽出する。また、図示する乱数表31では、セル(2)およびセル(4)が変数セルで、残りのセル(1)およびセル(3)が固定セルである。
【0029】
なお、変数セルを少なくとも1つ含む所定数の認証セルを抽出については、例えば、以下のような方法が考えられる。すなわち、セル抽出部21は、乱数表から所定数のセルを抽出後、S12で読み出した乱数表を参照して、抽出したセルの中に少なくとも1つの変数セルが含まれているか否かを判別し、少なくとも1つの変数セルが含まれている場合は、当該抽出したセルを認証セルとして決定する。一方、抽出したセルの中に変数セルが1つも含まれていない場合は、少なくとも1つの変数セルが含まれるまで、所定数のセルを乱数表から抽出する処理を繰り返し行う。この方法に限定されず、これ以外の方法で、変数セルを少なくとも1つ含む所定数の認証セルを抽出してもよい。
【0030】
そして、認証サーバ2の設定部22は、S11で受信した取引要求に含まれる取引データに基づいてチャレンジコードを生成し、当該チャレンジコードを乱数表の各変数セルに振り分けて、各変数セルの値を設定する(S14)。本実施形態では、設定部22は、取引データの振込先口座番号と取引金額とを用いて(具体的には、取引データの振込先口座番号の下n桁と、取引金額の上m桁とを組み合わせて)、チャレンジコードを生成する。図示する例では、振込先口座番号(23431545)の下6桁(431545)と、取引金額(250,000)の上2ケタ(25)とを組み合わせた「43154525」をチャレンジコードとする。
【0031】
そして、設定部22は、チャレンジコード(43154525)を、乱数表の各変数セルに振り分ける。図示する変数セルと値(変数)の対応表33では、各変数セルに対してチャレンジコードを2桁ずつ(「43」、「15」、「45」、「25」)割り当てる。なお、各変数セルに割り当てる値は、トランザクション(ここでは、取引データ)に紐づくものであれば、何桁の数字でもよく、また、数値以外のもの(例えば、英字、仮名などの文字)であってもよい。
【0032】
そして、認証サーバ2の送信部23は、所定数の認証セルの位置情報と、設定部22が設定した各変数セルに対応する値とを、ユーザ端末1に送信する(S15)。本実施形態では、複数の認証セルの位置情報とその順番とを示す認証セル情報32と、変数セルと値の対応表33と、パスワード入力欄とを含むパスワード入力画面34を、ユーザ端末1に送信する。また、送信部23は、ユーザ端末1に送信したパスワード入力画面34の情報を、ユーザIDと対応付けて、図示しない記憶部に記憶しておく。
【0033】
なお、送信部23は、認証セル情報32と、対応表33とを、異なる通信経路で送信する、または、別々に送信することとしてもよい。例えば、送信部23は、認証セル情報32を第1のユーザ端末(例えば、PCブラウザなど)に送信し、対応表33を第2のユーザ端末(例えば、スマートフォンなど)にメール送信して、認証セル情報32と対応表33とを異なる通信経路でユーザに送信することが考えられる。
【0034】
また、送信部23は、認証セル情報32と対応表33とを1つのパスワード入力画面で同時にユーザ端末1に送信せず、例えば、認証セル情報32を送信した後に、対応表33を送信するなどして、異なるタイミングで別々に送信することとしてもよい。このように、異なる通信経路または別々に送信することで、悪意のある第3者にパスワードの生成に必要な情報が漏えいしてしまうリスクを低減し、より高いセキュリティを実現することができる。
【0035】
また、認証セル情報32および対応表33は、口座開設時などの初回においては、郵送または宅配便などにより紙媒体でユーザに通知することも考えられる。
【0036】
また、パスワード入力画面34には、S11で送信された取引要求に含まれる振込先口座番号および取引金額を設定することとしてもよい。これにより、ユーザは、振込先口座番号および取引金額を確認することができる。
【0037】
ユーザ端末1は、認証サーバ2から受信したパスワード入力画面34をディスプレイに表示し、ユーザに提示する。ユーザは、あらかじめ保持している乱数表31を参照して、パスワード(ワンタイムパスワード)を生成する。
【0038】
本実施形態では、乱数表を用いたトランザクション署名による認証方法を用いる。具体的には、乱数表における複数の認証セルと順番とが指定され、ユーザが認証セルに対応する値を入力することで認証が行われる。変数セルには、値が設定されていないため、取引要求(トランザクション)が行われる度に、各変数セルに対する値(変数)を対応表33で提示する。なお、変数セルの値は、取引要求に紐づくチャレンジコードに対応するものであり、取引要求に含まれる取引データによって値が変動する。そして、各変数セルに割り当てられたチャレンジコードと、変数セルを含む乱数表とを同時に保持するユーザ本人のみが、正しいパスワードを生成できることにより、トランザクション署名を実現する。
【0039】
ユーザは、保持する乱数表31を参照し、認証セル情報32で指定された各認証セルに対応する値を、認証セルの順番に従って、パスワード入力画面34のパスワード入力欄に入力する。固定セルの認証セルについては乱数表31に設定された値を用い、変数セルの認証セルについては対応表33に設定された対応する変数セルの値を用いる。
【0040】
図示する例では、ユーザは、1番目の固定セル(1)については乱数表31に設定された「98」を、2番目の変数セル(2)については対応表33の「15」を、3番目の固定セル(3)については乱数表31に設定された「15」を、4番目の変数セル(4)については対応表33の「45」を、パスワード入力欄に入力する。
【0041】
ユーザ端末1は、ユーザが入力したパスワード「98151545」をユーザIDとともに、認証サーバ2に送信する(S17)。
【0042】
認証サーバ2の認証部24は、ユーザ端末1から送信されたパスワードが正しいか否かを認証する(S18)。具体的には、認証部24は、S15で図示しない記憶部に記憶したパスワード入力画面34の情報および当該ユーザIDの乱数表31を用いてパスワード(第1のパスワード)を生成し、当該パスワードとユーザ端末1から送信されたパスワード(第2のパスワード)とが一致するか否かを認証する。具体的には、認証部24は、ユーザがパスワード入力欄に入力したパスワードの生成方法と同様に、固定セルの認証セルについては乱数表31に設定された値を用い、変数セルの認証セルについては対応表33に設定された対応する変数セルの値を用いて、パスワード(第1のパスワード)を生成する。
【0043】
そして、ユーザ端末1から送信されたパスワードが正しい場合(すなわち、第1のパスワードと第2のパスワードとが一致する場合)、認証サーバ2の取引処理部25は、S11で受信した取引要求で指定された取引データの処理を行い(S19)、処理結果をユーザ端末1に送信する(S20)。
【0044】
一方、ユーザ端末1から送信されたパスワードが正しくない場合(すなわち、第1のパスワードと第2のパスワードとが一致しない場合)、認証部24は、認証に失敗した旨のエラーをユーザ端末1に送信する。
【0045】
以上説明した第1の実施形態では、乱数表の変数セルに、取引要求(トランザクション)の度に変わるチャレンジコードを対応付けることによって、乱数表を保持すユーザの本人確認性と、トランザクション署名とを組み合わせ、乱数表を用いた認証において、より高いセキュリティを確保することができる。
【0046】
また、本実施形態では、乱数表の変数セルに、図形、模様、色、写真、絵などの画像を設定する。キーボードから安易に入力できない、また、形容も難しい独特な図形などを、ランダムに組み合わせた変数セルを、各ユーザ固有の乱数表に設定することで、乱数表の数字を入力させるフィッシング詐欺に対抗することができる。すなわち、仮に、悪意のある第三者がフィッシング詐欺を試みたとしても、変数セルにどのようなパターンの画像があるか全パターンを入手することは容易ではなく、フィッシング詐欺にあったユーザも変数セルの画像を入力する術がないため、フィッシング詐欺が成立しにくい。
【0047】
また、変数セルに画像を設定することで、チャレンジ偽装型マルウェアへの防御(耐性)を強化することができる。
【0048】
また、本実施形態では、認証セルの位置情報を示す認証セル情報32と、変数セルと値の対応表33とを、異なる通信経路で送信する。例えば、認証セル情報32をPC(第1のユーザ端末)に送信し、対応表33をスマートフォン(第2のユーザ端末)に携帯メールで送信するなど異なる経路で送信することで、PCブラウザには変数セルの画像が一切露呈しないため、悪意のある第三者による画像パターンの収集を困難にすることができる。また、2経路認証により、高い認証強度を得ることができ、チャレンジ偽装型マルウェアへの防御(耐性)を強化することができる。
【0049】
<第2の実施形態>
次に、本実施形態の第2の実施形態について説明する。
【0050】
図4は、本発明の第2の実施形態が適用された認証システムの全体構成図である。本実施形態は、第1の実施形態で説明した乱数表によるトランザクション署名を用いた認証システムの変形例である。
【0051】
図示する認証システムは、ユーザが使用するユーザ端末1と、ネットバンキングサーバ4(アプリケーション装置)と、第1認証サーバ5と、第2認証サーバ6とを有する。ユーザ端末1は、インターネットなどのネットワーク9を介してネットバンキングサーバ4および第1認証サーバ5と接続される。第2認証サーバ6は、図示しないネットワークを介してネットバンキングサーバ4および第1認証サーバ5と接続される。
【0052】
なお、本実施形態では、金融機関が提供するネットバンキングサービスにおける認証システムを例として以下に説明するが、本発明はこれに限定されるものではなく、ネットバンキングサービス以外の様々なサービスにも適用することができる。
【0053】
本実施形態のユーザは、ネットバンキングサーバ4が提供するネットバンキングサービスを利用可能なユーザであって、あらかじめネットバンキングサーバ4に登録し、第1の実施形態で説明した乱数表(図2参照)を取得しているものとする。ユーザ端末1には、例えばPC、スマートフォン、タブレットなどを用いることができる。
【0054】
ネットバンキングサーバ4は、銀行などの金融機関が運用するサーバであって、ネットバンキングサービスをネットワーク9を介してユーザ端末1に提供する。図示するネットバンキングサーバ4は、要求受付部41と、取引処理部42と、記憶部43と、乱数表記憶部44とを備える。
【0055】
要求受付部41は、ユーザ端末1からの要求を受け付けて、パスワード入力画面をユーザ端末1に送信する。取引処理部42は、第2認証サーバ6から認証成功の認証結果を受信した場合、取引処理(口座振込、預金の残高照会、入出金照会など)を実行する。記憶部43には、ユーザ端末1から送信された取引データが記憶される。乱数表記憶部44には、ユーザ毎に、少なくとも1つの変数セルを含む乱数表が記憶される。
【0056】
第1認証サーバ5は、ユーザ端末1が直接アクセスするフロントエンドサーバである。図示する第1認証サーバ5は、取引データ取得部51と、送信部52と、記憶部53とを備える。取引データ取得部51は、ユーザが使用するユーザ端末1に表示されたパスワード入力画面の取引データとチャレンジコードとを取得し、記憶部53に記憶する。送信部52は、取引データおよびチャレンジコードを第2認証サーバ6に送信する。
【0057】
第2認証サーバ6は、第1認証サーバ5またはネットバンキングサーバ4からの要求を受け付けて、処理を実行するバックエンドサーバである。図示する第2認証サーバ6は、認証部61と、認証記憶部62とを備える。
【0058】
認証部61は、第1認証サーバ5が送信した取引データからチャレンジコードを取得し、当該チャレンジコードに基づいて第1のパスワードを生成するとともに、第1認証サーバが送信したチャレンジコードに基づいて第2のパスワードを生成する。そして、認証部61は、第1のパスワードと、第2のパスワードとが一致するか否かを認証し、認証結果をネットバンキングサーバ4に送信する。認証記憶部62には、ユーザIDと、取引データと、チャレンジコードと、パスワードとが対応付けて記憶される。
【0059】
上記説明した、ネットバンキングサーバ4、第1認証サーバ5、および第2認証サーバ6のいずれも、例えば、CPUと、メモリと、HDD等の外部記憶装置などを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、ネットバンキングサーバ4、第1認証サーバ5および第2認証サーバ6の各機能は、ネットバンキングサーバ4用のプログラムの場合はネットバンキングサーバ4のCPUが、そして、第1認証サーバ5用のプログラムの場合は第1認証サーバ5のCPUが、そして、第2認証サーバ6用のプログラムの場合は第2認証サーバ6のCPUがそれぞれ実行することにより実現される。
【0060】
また、ネットバンキングサーバ4用のプログラム、第1認証サーバ5用のプログラム、および第2認証サーバ6用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0061】
以下に本実施形態の処理について説明する。
【0062】
図5は、本実施形態のネットバンキング処理を示すシーケンス図である。ここでは、ネットバンキング処理として、振込処理(送金処理)を例として説明する。
【0063】
ユーザ端末1は、ユーザの指示を受け付けてネットバンキングサーバ4にアクセスし、ネットバンキングサーバ4から送信された取引データの入力画面を表示し、ユーザが入力した取引データを受け付ける(S41)。図示する入力画面では、取引データとして、振込先口座番号と、取引金額とを用いるものとする。
【0064】
そして、ユーザ端末1は、ユーザの指示を受け付けて、取引データとユーザIDとを含む取引要求(ここでは、振込要求)を、ネットバンキングサーバ4に送信する(S42)。このとき、ユーザ端末1がマルウェア(ウィルス、ワームなど悪意のあるプログラム)に感染しているなどにより、入力画面に入力された取引データが改ざんされてしまい、ユーザが入力した取引データとは違う別の取引データがネットバンキングサーバ4に送信されてしまうリスクがある。ここでは、ユーザ端末1はマルウェアに感染しており、マルウェアより書き換えられた取引データが、ユーザ端末1からネットバンキングサーバ4に送信されるものとする(S42)。
【0065】
ネットバンキングサーバ4の要求受付部41は、ユーザ端末1から送信された取引データと、ユーザIDとを受信し、取引データからチャレンジコードを取得する。チャレンジコードは、ここでは、取引データの振込先口座番号の最後のn桁と、取引金額の最初のm桁とを組み合わせたコードを、チャレンジコードとして生成する。示する例では、改ざんされた振込先口座番号56760962の最後の6桁「760962」と、改ざんされた取引金額「235,300」の最初の2桁「23」とを組み合わせた「76096223」)をチャレンジコードとする。そして、要求受付部41は、受信したユーザIDおよび取引データと、取引データから取得したチャレンジコードとを対応付けて記憶部43に記憶する(S43)。
【0066】
そして、要求受付部41は、ユーザに取引データを確認させるとともに、パスワードを入力させるためのパスワード入力画面を、ユーザ端末1に送信する(S44)。
【0067】
ユーザ端末1は、ネットバンキングサーバ4から送信されたパスワード入力画面をディスプレイに表示する(S45)。図示するパスワード入力画面は、第1の実施形態のパスワード入力画面34(図3参照)と同様であって、取引データ(振込先口座番号、取引金額)と、複数の認証セルの位置情報とその順番とを示す認証セル情報と、変数セルと値の対応表と、パスワードを入力する入力欄とが表示されている。ここでは、マルウェアは、S42で書き換えた取引データを、再度、ユーザがS41で入力された取引データに書き換えて、ユーザ端末1のディスプレイに表示するものとする。
【0068】
ユーザは、表示されたパスワード入力画面の取引データが、自分の意図した正しい内容となっているか否かを確認する。正しい場合、ユーザは、パスワード入力画面の認証セル情報および対応表と、あらかじめ保持していた乱数表とを用いてパスワードを取得する(S46)。パスワードの取得方法は、第1の実施形態と同様であるため、ここでは説明を省略する。図示する例では、ユーザは「98091562」のパスワードを取得し、当該パスワードをユーザ端末1のパスワード入力画面に入力する(S47)。
【0069】
ユーザ端末1は、パスワード入力画面に設定されたパスワードと、取引データと、当該画面に埋め込まれたユーザIDとを含む取引実行要求をネットバンキングサーバ4に送信する(S48)。このとき、ユーザ端末1がマルウェアに感染しているなどにより、取引データが改ざんされ、改ざんされた取引データがネットバンキングサーバ4に送信されてしまう場合がある。
【0070】
また、本実施形態では、S45のパスワード入力画面には、当該画面に入力された取引データおよびチャレンジコードを取得するためのプログラム(例えば、Javascriptなど)と、ユーザIDとが埋め込まれているものとする。当該プログラムが実行されることにより、第1認証サーバ5の取引データ取得部51は、パスワード入力画面に表示された取引データおよびチャレンジコードを取得する(S50)。すなわち、パスワード入力画面に表示された取引データおよびチャレンジコードが第1認証サーバ5に送信される。なお、取引データ取得部51は、パスワード入力画面の対応表に設定された各変数を連結した値(図示する例では、「76096223」)をチャレンジコードとして取得する。このとき、取引データ取得部51は、パスワード入力画面に埋め込まれたユーザIDも合わせて取得する。
【0071】
そして、取引データ取得部51は、取引データと、チャレンジコードと、ユーザIDとを記憶部53に記憶する(S51)。そして、第1認証サーバ5の送信部52は、取引データとチャレンジコードとユーザIDとを第2認証サーバ6に送信する(S52)。
【0072】
第2認証サーバ6の認証部61は、第1認証サーバ5から送信された取引データとチャレンジコードとユーザIDとを認証記憶部62に記憶する(S53)。そして、認証部61は、認証記憶部62に記憶した取引データからチャレンジコードを生成し、当該チャレンジコードに基づいてパスワード(第1のパスワード)を生成する(S54)。
【0073】
ここでは、取引データの振込先口座番号の最後のn桁と、取引金額の最初のm桁とを組み合わせたコードをチャレンジコードとして生成し、乱数表の各変数セルに振り分ける。図示する例では、振込先口座番号23431545の最後の6桁「431545」と、取引金額「250000」の最初の2桁「25」とを組み合わせた「43154525」をチャレンジコードとし、当該チャレンジコードを乱数表の各変数セルに振り分け、対応表を生成する。
【0074】
そして、認証部61は、チャレンジコードを振り分けた対応表と、S44で送信したパスワード入力画面の認証セル情報と、当該ユーザIDの乱数表とを用いてパスワードを生成する。ここでは、パスワード「9815154」が生成される。なお、認証部61は、パスワード入力画面および乱数表については、ネットバンキングサーバ4から取得する。そして、認証部61は、生成したパスワードを、S53で記憶したユーザIDおよび取引データと対応付けて認証記憶部62に記憶する。
【0075】
また、認証部61は、S52で第1認証サーバ5から送信され、認証記憶部62に記憶したチャレンジコード(図示する例では、「76096223」)を各認証セルに振り分けた対応表と、S44で送信したパスワード入力画面の認証セル情報と、当該ユーザIDの乱数表とを用いてパスワード(第2のパスワード)を生成する(S55)。ここでは、パスワード「98091562」が生成される。
【0076】
そして、認証部61は、S54で生成した第1のパスワードと、S55で生成した第2パスワードとを照合し、一致するか否かを認証する(S56)。そして、認証部61は、認証結果(成功、失敗)をネットバンキングサーバ4に送信する(S57)。
【0077】
パスワードが一致する場合は、認証部61は、S42、S44で、マルウェアにより取引データの改ざんが行われていないと判別し、認証に成功した旨の認証結果をネットバンキングサーバ4に送信する。一方、パスワードが一致しない場合は、認証部61は、S42およびS44のいずれかで、マルウェアにより取引データの改ざんが行われたと判別し、認証に失敗した旨の認証結果をネットバンキングサーバ4に送信する。図示する例では、第1のパスワードと、第2のパスワードとは一致しない。
【0078】
ネットバンキングサーバ4の取引処理部42は、認証結果に応じて所定の処理を行い(S58)、処理に応じた画面をユーザ端末1に送信する(S59)。すなわち、第2認証サーバ6の認証結果が成功の場合、取引処理部42は、S43で記憶部43に記憶された取引データを用いて振込処理などの取引処理を実行し、実行結果をユーザ端末1に送信する。
【0079】
なお、第2認証サーバ6は、認証結果が成功の場合、一致したパスワードもネットバンキングサーバ4に送信し、ネットバンキングサーバ4の取引処理部42は、ユーザ端末1から受信したパスワードと、第2認証サーバ6から成功の認証結果とともに受信したパスワードとを照合し、一致する場合にのみ取引処理を実行することとしてもよい。
【0080】
一方、認証結果が失敗の場合、取引処理部42は、取引処理を中止し、警告メッセージ(例えば、「ただいま、振込停止中です。マルウェアの感染の疑いがあります。」など)をユーザ端末1に送信する。
【0081】
ユーザ端末1は、ネットバンキングサーバ4から送信された画面をディスプレイに表示する(S60)。
【0082】
以上説明した本実施形態では、ネットワーク経路上に介在する中間者攻撃を防御し、より高いセキュリティを確保することができる。すなわち、本実施形態では、第1認証サーバ5が送信した取引データからチャレンジコードを取得し、当該チャレンジコードに基づいて第1のパスワードを生成するとともに、第1認証サーバ5が送信したチャレンジコードに基づいて第2のパスワードを生成し、第1のパスワードと第2のパスワードとが一致するかを判別し、一致する場合に取引処理を継続し、一致しない場合は処理を中止する。
【0083】
パスワード入力画面に表示される取引データは、ユーザに確認させるためのデータである。このため、マルウェアは、S41の入力画面に入力された取引データを改ざんしてネットバンキングサーバ4に送信したとしても、S45のパスワード入力画面では改ざんした取引データを元の取引データに再度改ざんして、正しい取引データに戻す。一方、チャレンジコードについては、その生成ロジックをマルウェアが理解していなければ、取引データに基づいた正しいチャレンジコードに改ざんすることはできない。そのため、本実施形態では、パスワード入力画面に表示された正しい取引データに基づいて生成されるパスワードと、チャレンジコードに基づいて生成されるパスワードとが不一致になった場合に、マルウェアによる改ざんを検知して処理を中断することができるため、中間者攻撃による被害を未然に防ぐことができる。
【0084】
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、第1の実施形態の認証サーバ2、および、第2の実施形態の第1認証サーバ5および第2認証サーバ6は、複数のネットバンキングサーバ4が共同利用するものであってもよい。すなわち、これらのサーバ2、4、5は、ASP(Application Service Provider)であって、複数のネットバンキングサーバ4にユーザ認証機能を提供するものであってもよい。
【0085】
また、上記実施形態では、ネットバンキングサービスの認証システムについて説明したが、本発明はこれに限定されず、例えば、オンライントレード、オンラインショッピングなどの他の取引サービスに適用することができる。
【符号の説明】
【0086】
1 :ユーザ端末
2 :認証サーバ
21:セル抽出部
22:設定部
23:送信部
24:認証部
25:取引処理部
26:乱数表記憶部
4 :ネットバンキングサーバ
41:要求受付部
42:取引処理部
43:記憶部
5 :第1認証サーバ
51:取引データ取得部
52:送信部
53:記憶部
6 :第2認証サーバ
61:認証部
62:認証記憶部
9 :ネットワーク
図1
図2
図3
図4
図5