(57)【要約】【課題】オンラインバンキングに用いるブラウザやアプリケーションに不正なプログラムを組み込むＭｉｔＢ攻撃によって取引内容が改ざんされたことを検出すること。【解決手段】認証サーバは、ユーザを認証する認証部と、認証部によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける受付部と、受付部が受け付けた所定の指示を示す情報に基づいて、ユーザに所定の指示の確認を要求する要求部と、要求部が要求した所定の指示の確認に対して、端末装置の記憶部で作成された応答に基づいて、所定の指示に応じて処理を行う処理部と、要求部が所定の指示の確認を要求する際に、所定の指示の確認を要求する情報を端末装置へ送信し、端末装置が送信する所定の指示の確認を要求する情報に対する応答を受信する通信部とを備える。【選択図】図１
2018056928.tif 000002
【特許請求の範囲】
【請求項１】
認証サーバであって、
ユーザを認証する認証部と、
前記認証部によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける受付部と、
前記受付部が受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求する要求部と、
前記要求部が要求した前記所定の指示の確認に対して、端末装置の記憶部で作成された応答に基づいて、前記所定の指示に応じて処理を行う処理部と、
前記要求部が前記所定の指示の確認を要求する際に、該所定の指示の確認を要求する情報を前記端末装置へ送信し、該端末装置が送信する前記所定の指示の確認を要求する情報に対する応答を受信する通信部と
を備える、認証サーバ。
【請求項２】
前記要求部は、パスワードを生成し、該パスワードを含む前記所定の指示の確認を要求する情報を作成し、
前記処理部は、前記所定の指示の確認を要求する情報に対する応答の検証が成功した場合に、前記所定の指示に応じて処理を行う、請求項１に記載の認証サーバ。
【請求項３】
前記処理部は、前記要求部が要求した前記所定の指示の確認を要求する情報に対する応答に含まれるパスワードに基づいて、該応答の検証が成功した場合に、前記所定の指示を示す情報に応じて処理を行う、請求項１又は請求項２に記載の認証サーバ。
【請求項４】
前記要求部は、前記所定の指示の確認を要求する情報を、前記ユーザが加入する通信サービスの加入者識別情報に基づいて前記端末装置へ送信する、請求項１から請求項３のいずれか一項に記載の認証サーバ。
【請求項５】
前記受付部は、前記認証部によって認証が成功した場合、前記端末装置へ前記所定の指示を示す情報の入力要求を送信し、該入力要求に対して前記ユーザが入力した所定の指示を示す情報を受け付ける、請求項１から請求項４のいずれか一項に記載の認証サーバ。
【請求項６】
認証サーバへ認証を要求する認証要求部と、
ユーザが入力した所定の指示を示す情報を作成する指示情報作成部と、
前記認証サーバが送信した所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得する確認要求部と、
前記指示情報作成部が作成した前記所定の指示の確認を要求する情報を前記認証サーバへ送信し、前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信する通信部と
を備え、
前記確認要求部は、記憶部に実装される、端末装置。
【請求項７】
前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、前記ユーザに前記所定の指示の確認を求める情報を表示する、請求項６に記載の端末装置。
【請求項８】
前記記憶部は、セキュアエレメントである、請求項６又は請求項７に記載の端末装置。
【請求項９】
認証サーバと端末装置とを備えるシステムであって、
認証サーバは、
ユーザを認証する認証部と、
前記認証部によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける受付部と、
前記受付部が受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求する要求部と、
前記要求部が要求した前記所定の指示の確認に対して、端末装置の記憶部で作成された応答に基づいて、前記所定の指示に応じて処理を行う処理部と、
前記要求部が前記所定の指示の確認を要求する際に、該所定の指示の確認を要求する情報を前記端末装置へ送信し、該端末装置が送信する前記所定の指示の確認を要求する情報に対する応答を受信する通信部と
を備え、
前記端末装置は、
認証サーバへ認証を要求する認証要求部と、
ユーザが入力した所定の指示を示す情報を作成する指示情報作成部と、
記憶部に記憶され、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得する確認要求部と、
前記指示情報作成部が作成した前記所定の指示の確認を要求する情報を前記認証サーバへ送信し、前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信する通信部と
を備え、
前記確認要求部は、記憶部に実装される、システム。
【請求項１０】
認証サーバと端末装置とを備えるシステムによって実行される認証方法であって、
端末装置が、認証サーバへ認証を要求するステップと、
前記認証サーバが、ユーザを認証するステップと、
前記端末装置が、ユーザが入力した所定の指示を示す情報を作成するステップと、
前記端末装置が、前記所定の指示を示す情報を前記認証サーバへ送信するステップと、
前記認証サーバが、前記所定の指示を示す情報を受け付けるステップと、
前記認証サーバが、前記受け付けるステップで受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求するステップと、
前記端末装置が、前記認証サーバが送信した所定の指示の確認を要求する情報を受信するステップと、
前記端末装置の記憶部で、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得するステップと、
前記端末装置が、前記認証サーバへ、前記ユーザの回答を含む応答を送信するステップと、
前記認証サーバが、前記応答に基づいて、前記所定の指示に応じて処理を行うステップと
を有する、認証方法。
【請求項１１】
認証サーバによって実行されるプログラムであって、
ユーザを認証するステップと、
認証が成功したユーザが入力した所定の指示を示す情報を受け付けるステップと、
前記受け付けるステップで受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求するステップと、
前記要求するステップで要求した前記所定の指示の確認に対する応答に基づいて、前記所定の指示に応じて処理を行うステップと
を実行させる、プログラム。
【請求項１２】
端末装置によって実行されるプログラムであって、
認証サーバへ認証を要求するステップと、
ユーザが入力した所定の指示を示す情報を作成するステップと、
前記所定の指示を示す情報を前記認証サーバへ送信するステップと、
前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信するステップと、
前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得するステップと、
前記認証サーバへ、前記ユーザの回答を含む応答を送信するステップと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、認証サーバ、端末装置、システム、認証方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ、スマートフォン、携帯電話等の端末装置を用いて、銀行取引を行うオンラインバンキングの普及が進んでいる。オンラインバンキングの普及にともなって、不正送金や不正な住所変更等の金融犯罪の脅威が増している。金融犯罪は、財産に対して直接的な被害を及ぼすことから、深刻な社会問題として認識されている。
オンラインバンキングおける主な脅威は、オンラインバンキングの利用者をフィッシングサイトへ誘導することや、サービスを利用する端末やアプリを、スパイウェアやウイルスに感染させることである。これらの脅威により、ＩＤ、パスワード、乱数表等の認証に関する情報が不正に取得され、悪用される。
ネット銀行（Ｄｉｒｅｃｔ  ｂａｎｋ）やネットショップ（ＥＣ（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｍｍｅｒｃｅ））サイトでのログインや決済などの重要な処理において、ＩＤとパスワードとを使用した認証に加えて、乱数表やハードウェアトークンの文字列を回答させて、二要素認証を行う技術が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“ｅセキュリティカード（乱数表カード）”、［ｏｎｌｉｎｅ］、株式会社東京スター銀行、［平成２８年  ９月１４日検索］、インターネット＜ｈｔｔｐ：／／ｗｗｗ．ｔｏｋｙｏｓｔａｒｂａｎｋ．ｃｏ．ｊｐ／ｓｅｒｖｉｃｅ／ｔｏｋｙｏｓｔａｒｄｉｒｅｃｔ／ｅ＿ｓｅｃｕｒｉｔｙ／ｉｎｄｅｘ．ｈｔｍｌ＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、近年、オンラインバンキングに用いるブラウザやアプリケーションに不正なプログラムを組み込むことで、取引内容を改ざんする脅威が増している。こうした脅威はマン・イン・ザ・ブラウザ（Ｍａｎ−ｉｎ−ｔｈｅ−Ｂｒｏｗｓｅｒ：  ＭｉｔＢ）攻撃と呼ばれている。
本発明は、上記問題を解決すべくなされたもので、オンラインバンキングに用いるブラウザやアプリケーションに不正なプログラムを組み込むＭｉｔＢ攻撃によって取引内容が改ざんされたことを検出することを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明の一態様は、認証サーバであって、ユーザを認証する認証部と、前記認証部によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける受付部と、前記受付部が受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求する要求部と、前記要求部が要求した前記所定の指示の確認に対して、端末装置の記憶部で作成された応答に基づいて、前記所定の指示に応じて処理を行う処理部と、前記要求部が前記所定の指示の確認を要求する際に、該所定の指示の確認を要求する情報を前記端末装置へ送信し、該端末装置が送信する前記所定の指示の確認を要求する情報に対する応答を受信する通信部とを備える、認証サーバである。
（２）本発明の一態様は、上記（１）に記載の認証サーバにおいて、前記要求部は、パスワードを生成し、該パスワードを含む前記所定の指示の確認を要求する情報を作成し、前記処理部は、前記所定の指示の確認を要求する情報に対する応答の検証が成功した場合に、前記所定の指示に応じて処理を行う、認証サーバである。
（３）本発明の一態様は、上記（１）又は上記（２）に記載の認証サーバにおいて、前記処理部は、前記要求部が要求した前記所定の指示の確認を要求する情報に対する応答に含まれるパスワードに基づいて、該応答の検証が成功した場合に、前記所定の指示を示す情報に応じて処理を行う、認証サーバである。
（４）本発明の一態様は、上記（１）から上記（３）のいずれか１項に記載の認証サーバにおいて、前記要求部は、前記所定の指示の確認を要求する情報を、前記ユーザが加入する通信サービスの加入者識別情報に基づいて前記端末装置へ送信する、認証サーバである。
（５）本発明の一態様は、上記（１）から上記（４）のいずれか１項に記載の認証サーバにおいて、前記受付部は、前記認証部によって認証が成功した場合、前記端末装置へ前記所定の指示を示す情報の入力要求を送信し、該入力要求に対して前記ユーザが入力した所定の指示を示す情報を受け付ける、認証サーバである。
【０００６】
（６）本発明の一態様は、認証サーバへ認証を要求する認証要求部と、ユーザが入力した所定の指示を示す情報を作成する指示情報作成部と、前記認証サーバが送信した所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得する確認要求部と、前記指示情報作成部が作成した前記所定の指示の確認を要求する情報を前記認証サーバへ送信し、前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信する通信部とを備え、前記確認要求部は、記憶部に実装される、端末装置である。
（７）本発明の一態様は、上記（６）に記載の端末装置において、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、前記ユーザに前記所定の指示の確認を求める情報を表示する、端末装置である。
（８）本発明の一態様は、上記（６）又は上記（７）に記載の端末装置において、前記記憶部は、セキュアエレメントである、端末装置である。
【０００７】
（９）本発明の一態様は、認証サーバと端末装置とを備えるシステムであって、認証サーバは、ユーザを認証する認証部と、前記認証部によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける受付部と、前記受付部が受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求する要求部と、前記要求部が要求した前記所定の指示の確認に対して、端末装置の記憶部で作成された応答に基づいて、前記所定の指示に応じて処理を行う処理部と、前記要求部が前記所定の指示の確認を要求する際に、該所定の指示の確認を要求する情報を前記端末装置へ送信し、該端末装置が送信する前記所定の指示の確認を要求する情報に対する応答を受信する通信部とを備え、前記端末装置は、認証サーバへ認証を要求する認証要求部と、ユーザが入力した所定の指示を示す情報を作成する指示情報作成部と、記憶部に記憶され、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得する確認要求部と、前記指示情報作成部が作成した前記所定の指示の確認を要求する情報を前記認証サーバへ送信し、前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信する通信部とを備え、前記確認要求部は、記憶部に実装される、システムである。
【０００８】
（１０）本発明の一態様は、認証サーバと端末装置とを備えるシステムによって実行される認証方法であって、端末装置が、認証サーバへ認証を要求するステップと、前記認証サーバが、ユーザを認証するステップと、前記端末装置が、ユーザが入力した所定の指示を示す情報を作成するステップと、前記端末装置が、前記所定の指示を示す情報を前記認証サーバへ送信するステップと、前記認証サーバが、前記所定の指示を示す情報を受け付けるステップと、前記認証サーバが、前記受け付けるステップで受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求するステップと、前記端末装置が、前記認証サーバが送信した所定の指示の確認を要求する情報を受信するステップと、前記端末装置の記憶部で、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得するステップと、前記端末装置が、前記認証サーバへ、前記ユーザの回答を含む応答を送信するステップと、前記認証サーバが、前記応答に基づいて、前記所定の指示に応じて処理を行うステップとを有する、認証方法である。
【０００９】
（１１）本発明の一態様は、認証サーバによって実行されるプログラムであって、ユーザを認証するステップと、認証が成功したユーザが入力した所定の指示を示す情報を受け付けるステップと、前記受け付けるステップで受け付けた前記所定の指示を示す情報に基づいて、前記ユーザに前記所定の指示の確認を要求するステップと、前記要求するステップで要求した前記所定の指示の確認に対する応答に基づいて、前記所定の指示に応じて処理を行うステップとを実行させる、プログラムである。
【００１０】
（１２）本発明の一態様は、端末装置によって実行されるプログラムであって、認証サーバへ認証を要求するステップと、ユーザが入力した所定の指示を示す情報を作成するステップと、前記所定の指示を示す情報を前記認証サーバへ送信するステップと、前記認証サーバが送信した前記所定の指示の確認を要求する情報を受信するステップと、前記認証サーバが送信した前記所定の指示の確認を要求する情報に応じて、該所定の指示の確認を前記ユーザへ要求し、該ユーザの回答を取得するステップと、前記認証サーバへ、前記ユーザの回答を含む応答を送信するステップとを実行させるプログラムである。
【発明の効果】
【００１１】
本発明の実施形態によれば、オンラインバンキングに用いるブラウザやアプリケーションに不正なプログラムを組み込むＭｉｔＢ攻撃によって取引内容が改ざんされたことを検出することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るシステムを示す構成図である。
【図２】第１の実施形態に係るシステムの動作の一例を示す図である。
【図３】第２の実施形態に係るシステムを示す構成図である。
【図４】第２の実施形態に係るシステムの動作の一例を示す図である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態を、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１４】
＜第１の実施形態＞
図１は、実施形態に係る通信システムを示す構成図である。図１において、通信システム１０００は、端末装置１と、認証サーバ２と、ルート認証局４と通信事業者データベース１０とを備える。実施形態に係る通信システム１０００の一例では、端末装置１はクライアント端末であり、認証サーバ２は金融機関サーバである。端末装置１と、認証サーバ２と、ルート認証局４とは、無線通信ネットワーク４０を介して接続される。
端末装置１には携帯電話等の端末装置向けのオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ，  ＯＳ）が搭載されており、ＯＳ上で、オンラインバンキングを利用するためのアプリケーション（以下、「バンキングアプリ」という）が稼働する。バンキングアプリは、ブラウザを利用する場合と、端末装置向けのＯＳを対象に開発された専用アプリを利用する場合がある。また、端末装置１にはＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）が搭載されている。ＳＩＭにもＯＳが搭載されており、該ＯＳ上で、カードアプリケーションが稼働する。本実施形態では、カードアプリケーションとして、ＮＡＡ（Ｎｅｔｗｏｒｋ  Ａｃｃｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ）の他に、取引認証を行うための取引認証アプリを設ける。また、これらカードアプリケーションがＵＳＡＴ（ＵＳＩＭ  Ａｐｐｌｉｃａｔｉｏｎ  Ｔｏｏｌｋｉｔ）機能により、端末装置を通じてユーザへ情報を表示したり、ユーザからの入力を受け付けたりする。
【００１５】
端末装置１は、ＳＩＭ１００等のセキュアエレメント（Ｓｅｃｕｒｅ  Ｅｌｅｍｅｎｔ）と指示情報作成部１２０と通信部１３０と制御部１４０と認証要求部１５５と無線通信部１６０とを備える。端末装置１の一例は、携帯電話、スマートフォン、タブレット端末等である。
ＳＩＭ１００は、携帯電話等の端末装置の加入者の識別や認証に用いる情報を記録したＩＣチップである。記録された情報が不正に読みだされないよう、耐タンパー性を備えたセキュアデバイスである。また、ＳＩＭは演算機能を有し、アプリケーションを実行することが可能である。ＳＩＭで実行されるアプリケーションは、カードアプリケーションと呼ばれる。カードアプリケーションには、公衆網で音声やデータ通信のサービスを提供するＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）、ＩＳＩＭ（ＩＰ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｅｒｖｉｃｅｓ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）や、クレジットカード決済サービスを提供するものがある。なお、ＵＳＩＭ、ＩＳＩＭを総称して、ＮＡＡと呼ばれる。カードアプリケーションの開発環境として標準と互換性のあるものにＪａｖａ（登録商標）  Ｃａｒｄがあり、アプリの開発者は任意のアプリを開発し、実行することができる。
ＳＩＭ１００はＳＩＭ識別情報ｓｉｍｉｄ１を格納する。ＳＩＭ識別情報ｓｉｍｉｄ１は、ＳＩＭ１００に固有の識別情報である。ＳＩＭ１００は、鍵生成部１０１と公開鍵証明書生成部１０２と暗号処理部１０４と記憶部１０５と、秘密鍵記憶部１０６と、アプリケーション１０７と、確認要求部１０８とを備える。
【００１６】
認証サーバ２は、ＳＩＭ２００等のセキュアエレメントと受付部２１０と要求部２２０と通信部２３０と制御部２４０と認証部２５５と無線通信部２６０と処理部２７０とを備える。ＳＩＭ２００はＳＩＭ識別情報ｓｉｍｉｄ２を格納する。ＳＩＭ識別情報ｓｉｍｉｄ２は、ＳＩＭ２００に固有の識別情報である。ＳＩＭ２００は、検証部２０３と暗号処理部２０４と記憶部２０５と秘密鍵記憶部２０６とを備える。
【００１７】
ＳＩＭ１００は、通信事業者が認証したユーザに対して発行されたＳＩＭである。該ユーザは通信事業者のネットワークを利用するユーザである。ＳＩＭ１００のＳＩＭ識別情報ｓｉｍｉｄ１は、通信事業者が認証したユーザのユーザ識別情報に関連付けて通信事業者データベース１０に格納されている。ここで、通信事業者のネットワークを利用するユーザ、換言すれば通信事業者がＳＩＭを発行したユーザと、ＳＩＭが組み込まれた装置のユーザは同じであってもよいし、異なっていてもよい。また、通信事業者が認証したユーザのユーザ識別情報には、ユーザの電話番号を使用してもよい。
ＳＩＭ２００も、ＳＩＭ１００と同様に、通信事業者が認証したユーザに対して発行されたＳＩＭである。ＳＩＭ２００のＳＩＭ識別情報ｓｉｍｉｄ２は、通信事業者が認証したユーザのユーザ識別情報に関連付けて通信事業者データベース１０に格納されている。なお、ＳＩＭ１００、ＳＩＭ２００は、仮想通信事業者（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｏｐｅｒａｔｏｒ）が認証したユーザに対して発行されたＳＩＭであってもよい。
【００１８】
ＳＩＭ識別情報として、例えば、ＩＭＳＩ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ）又はＩＣＣＩＤ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ  ＩＤ）を使用してもよい。また、ＳＩＭ１００や、ＳＩＭ２００に関連付けられたユーザ識別情報を該ＳＩＭ１００のＳＩＭ識別情報や、該ＳＩＭ２００のＳＩＭ識別情報に使用してもよい。
さらに、通信システム１０００は、ルート認証局４を備える。ルート認証局４は、記憶部４００と、通信部４３０と、認証局公開鍵証明書生成部４０２と、制御部４４０とを備える。記憶部４００はルート認証局鍵記憶部４０５を備え、ルート認証局鍵記憶部４０５にはルート認証局公開鍵証明書Ｃ＿ＫＲｐとルート認証局秘密鍵ＫＲｓとが記憶される。認証局公開鍵証明書生成部４０２は、ルート認証局鍵記憶部４０５に記憶されているルート認証局秘密鍵ＫＲｓと、端末装置１が送信する認証局公開鍵Ｋｒ１ｐを使用して、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐを生成する。認証局公開鍵証明書生成部４０２は、通信部４３０から端末装置１へ生成した認証局公開鍵証明書Ｃ＿Ｋｒ１ｐを送信する。認証局公開鍵証明書生成部４０２は、通信部４３０から端末装置１へ、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとともに、ルート認証局公開鍵証明書Ｃ＿ＫＲｐを送信するようにしてもよい。
【００１９】
端末装置１の通信部１３０と、認証サーバ２の通信部２３０及びルート認証局４の通信部４３０とは、通信を行う。端末装置１の通信部１３０と、認証サーバ２の通信部２３０間の通信及びルート認証局４の通信部４３０間の通信は、無線通信であってもよく、又は、有線通信であってもよい。例えば、端末装置１の通信部１３０と、認証サーバ２の通信部２３０及びルート認証局４の通信部４３０とは、無線ＬＡＮ等の無線通信ネットワークを介して通信を行うようにしてもよく、ブルートゥース（登録商標）等の近距離無線通信技術により直接に信号を送受信して通信を行ってもよく、インターネット、有線ＬＡＮ等の通信ネットワークを介して通信を行ってもよく、通信ケーブルにより接続されて通信を行ってもよい。以下、端末装置１の通信部１３０と認証サーバ２の通信部２３０とが通信を行う経路を「第１の経路」という。
【００２０】
端末装置１の無線通信部１６０と、認証サーバ２の無線通信部２６０とは、無線通信を行う。例えば、端末装置１の無線通信部１６０と、認証サーバ２の無線通信部２６０とは、端末装置１のユーザが加入する通信サービスの加入者識別情報に基づいて、無線通信を行う。具体的には、端末装置１の無線通信部１６０と、認証サーバ２の無線通信部２６０とは、携帯電話ネットワーク等の無線通信ネットワークを介して、ショートメッセージサービス（ｓｈｏｒｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ：  ＳＭＳ）を利用して、通信を行う。端末装置１の無線通信部１６０と、認証サーバ２の無線通信部２６０とは、無線通信ネットワーク４０に接続されたＳＭＳサーバ３０を経由して、ＳＭＳを利用して、通信を行う。ＳＭＳサーバ３０は、通信事業者等がＳＭＳを提供するサーバである。以下、端末装置１の無線通信部１６０と認証サーバ２の無線通信部２６０とが通信を行う経路を「第２の経路」という。
【００２１】
端末装置１の制御部１４０、認証サーバ２の制御部２４０、及びルート認証局４の制御部４４０は、それぞれ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）及びメモリを備えており、アプリケーション１５０、アプリケーション２５０、及びアプリケーション４５０を備える。ＣＰＵがアプリケーション１５０を実行することで、指示情報作成部１２０と認証要求部１５５として機能する。ＣＰＵがアプリケーション２５０を実行することで、受付部２１０と要求部２２０と認証部２５５と処理部２７０として機能する。また、制御部１４０は、ＳＩＭ識別情報ｓｉｍｉｄ１等の加入者識別情報とＩＰアドレスと電話番号とを関連付けて記憶している。ＣＰＵがアプリケーション４５０を実行することで、認証局公開鍵証明書生成部４０２として機能する。アプリケーション１５０の一例はバンキングアプリであり、アプリケーション２５０の一例は認証アプリであり、アプリケーション３５０の一例は認証局アプリである。
【００２２】
ＳＩＭ１００、及びＳＩＭ２００は、ＣＰＵを備え、コンピュータプログラムによって所望の機能を実現する。ＳＩＭ１００は、アプリケーション１０７を備える。ＣＰＵがアプリケーション１０７を実行することで、鍵生成部１０１と公開鍵証明書生成部１０２と暗号処理部１０４と確認要求部１０８として機能する。アプリケーション１０７の一例は、取引認証アプリである。
ＳＩＭ１００において、記憶部１０５は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐと認証局秘密鍵Ｋｒ1ｓのペアを記憶する。認証局公開鍵証明書Ｃ＿Ｋｒ１ｐは、認証局秘密鍵Ｋｒ１ｓのペアの認証局公開鍵Ｋｒ１ｐ（不図示）の公開鍵証明書である。認証局公開鍵証明書Ｃ＿Ｋｒ１ｐはルート認証局４から取得され、認証局秘密鍵Ｋｒ１ｓとともに、安全にＳＩＭ１００に格納される。さらに、記憶部１０５は、クライアント公開鍵証明書Ｃ＿Ｋｋｐとクライアント秘密鍵Ｋｋｓのペアを記憶する。クライアント公開鍵証明書Ｃ＿Ｋｋｐは、クライアント秘密鍵Ｋｋｓのペアのクライアント公開鍵Ｋｋｐ（不図示）の公開鍵証明書である。クライアント公開鍵証明書Ｃ＿Ｋｋｐとクライアント秘密鍵Ｋｋｓとは、例えばＳＩＭ１００の製造時などに、安全にＳＩＭ１００に格納される。
【００２３】
記憶部１０５は、ＳＩＭ１００内の記憶領域のうち、ＳＩＭ１００の外部からアクセスできない不揮発性記憶領域に設けられる。よって、記憶部１０５に格納された認証局公開鍵証明書Ｃ＿Ｋｒ１ｐ、認証局秘密鍵Ｋｒ１ｓ、クライアント公開鍵証明書Ｃ＿Ｋｋｐ、及びクライアント秘密鍵Ｋｋｓは、ＳＩＭ１００の外部からはアクセスされない。また、ＳＩＭ１００は、耐タンパー性を有する。よって、記憶部１０５に格納された認証局公開鍵証明書Ｃ＿Ｋｒ１ｐ、認証局秘密鍵Ｋｒ１ｓ、クライアント公開鍵証明書Ｃ＿Ｋｋｐ、及びクライアント秘密鍵Ｋｋｓは、ＳＩＭ１００に対する攻撃から保護される。
【００２４】
鍵生成部１０１は、公開鍵と秘密鍵のペアを生成する。公開鍵証明書生成部１０２は、記憶部１０５に記憶されている認証局公開鍵証明書Ｃ＿Ｋｒ１ｐと認証局秘密鍵Ｋｒ１ｓのペアを使用して、公開鍵証明書を生成する。秘密鍵記憶部１０６は、公開鍵証明書生成部１０２が生成した公開鍵証明書とペアの秘密鍵を記憶する。秘密鍵記憶部１０６は、記憶部１０５と同様に、ＳＩＭ１００内の記憶領域のうち、ＳＩＭ１００の外部からアクセスできない不揮発性記憶領域に設けられる。よって、秘密鍵記憶部１０６に格納された秘密鍵は、ＳＩＭ１００の外部からはアクセスされない。また、ＳＩＭ１００が耐タンパー性を有するので、秘密鍵記憶部１０６に格納された秘密鍵は、ＳＩＭ１００に対する攻撃から保護される。
【００２５】
認証要求部１５５は、認証サーバ２へ、端末装置１のユーザの認証を要求する。認証要求部１５５は、端末装置１のユーザが入力したユーザＩＤとパスワードとを取得し、取得したユーザＩＤとパスワードとを通信部１３０から第１の経路で認証サーバ２へ送信する。さらに、認証要求部１５５は、記憶部１０５に記憶された認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを取得し、取得した認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを通信部１３０から認証サーバ２へ第１の経路で送信する。認証要求部１５５は、認証サーバ２が送信したチャレンジ値（乱数）を取得すると、該チャレンジ値（乱数）を暗号処理部１０４へ出力する。認証要求部１５５は、暗号処理部１０４が、記憶部１０５に記憶されたクライアント公開鍵証明書Ｃ＿Ｋｋｐの公開鍵とペアのクライアント秘密鍵Ｋｋｓで、乱数を暗号化した結果である暗号化データを取得すると、該暗号化データを、通信部１３０から認証サーバ２へ第１の経路で送信する。
指示情報作成部１２０は、端末装置１のユーザが入力した指示を示す情報を取得し、取得した指示を示す情報を通信部１３０から認証サーバ２へ第１の経路で送信する。指示を示す情報の一例は、送金指示を示す情報である。
【００２６】
確認要求部１０８は、ＵＳＡＴ機能を有する。ＵＳＡＴ機能は、ＳＩＭ１００に実装されるＵＳＡＴプロアクティブコマンドと、端末装置１に実装されるＵＳＡＴコマンドから成る。ＳＩＭ１００に実装される、ＵＳＡＴ機能を利用するカードアプリケーションをＵＳＡＴアプリケーションと呼ぶ。ＵＳＡＴにより実現される機能として、メッセージの表示、ユーザからカードアプリケーションに対する入力の受付と処理、外部のサーバとの通信等がある。通常、ＳＩＭは、受動的なデバイスであり、端末装置１から発行されるコマンドに対して、端末装置１自身に格納された情報や、要求された演算の処理結果を応答する。ＵＳＡＴ機能を有することによって、ＳＩＭ１００が能動的に携帯電話の機能を駆動、利用することができる。確認要求部１０８は、指示情報作成部１２０が認証サーバ２へ送信した指示を示す情報に対して、認証サーバ２が送信した指示の確認を要求する情報を取得する。確認要求部１０８は、指示の確認を要求する情報を取得すると、ユーザへ、所定の指示の確認を要求する。例えば、確認要求部１０８は、ユーザに指示の確認を求める情報を表示する。確認要求部１０８は、指示の確認を求める情報に対してユーザが入力した回答を取得すると、該回答を、第２の経路で、無線通信部１６０から認証サーバ２へ送信する。
【００２７】
認証部２５５は、端末装置１が送信したユーザＩＤとパスワードとを取得し、該ユーザＩＤとパスワードとに基づいて、端末装置１のユーザを認証する。具体的には、認証部２５５は、正当性を有するユーザＩＤとパスワードとを関連付けて記憶する。認証部２５５は、端末装置１が送信したユーザＩＤとパスワードとを取得すると、該ユーザＩＤとパスワードとの組み合わせが記憶されている場合には端末装置１のユーザが正当であると判定し、記憶されていない場合には端末装置１のユーザが不当であると判定する。認証部２５５は、端末装置１のユーザが正当であると判定した場合には、端末装置１が送信した認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを取得する。認証部２５５は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐの正当性を、ルート認証局公開鍵証明書Ｃ＿ＫＲｐにより検証する。そして、認証部２５５は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐの正当性の検証が合格であった場合、クライアント公開鍵証明書Ｃ＿Ｋｋｐの正当性を、検証の結果が合格であった認証局公開鍵証明書Ｃ＿Ｋｒ１ｐにより検証する。
【００２８】
認証部２５５は、クライアント公開鍵証明書Ｃ＿Ｋｋｐの正当性が合格であった場合、乱数を生成し、第１の経路で、生成した乱数を通信部２３０から端末装置１へ送信する。認証部２５５は、端末装置１へ送信した乱数に対して、端末装置１が送信した暗号化データを取得すると、該暗号化データの正当性を、端末装置１のクライアント公開鍵証明書Ｃ＿Ｋｋｐの公開鍵Ｋｋｐを使用して検証する。
受付部２１０は、認証部２５５によって認証が成功したユーザが入力した所定の指示を示す情報を受け付ける。受付部２１０は、端末装置１が送信した所定の指示を示す情報を通信部２３０から取得し、該所定の指示を示す情報を受け付ける。
要求部２２０は、受付部２１０が受け付けた所定の指示を示す情報を取得すると、端末装置１のユーザへ、該所定の指示の確認を要求する。要求部２２０は、所定の指示の確認を要求する情報を、無線通信部２６０から端末装置１へ送信する。
【００２９】
処理部２７０は、所定の指示の確認を要求する情報に対して、端末装置１が送信した応答を、無線通信部２６０から取得する。処理部２７０は、該応答を検証し、検証が成功した場合に、所定の指示を示す情報に応じて処理を行う。
検証部２０３は、端末装置１が送信した認証局公開鍵証明書Ｃ＿Ｋｋｐを通信部２３０から取得すると、該回答を検証する。
暗号処理部２０４は、端末装置１のクライアント公開鍵証明書Ｃ＿Ｋｋｐのクライアント公開鍵Ｋｋｐとペアのクライアント秘密鍵Ｋｋｓとを使用して、公開鍵暗号方式の暗号処理を実行する。
【００３０】
＜通信システムの動作＞
次に図２を参照して、図１に示す通信システム１０００の動作を説明する。図２は、本実施形態に係る通信システムの通信方法の説明図である。図２には、端末装置１が、認証サーバ２へ、第１の経路で、所定の指示を要求し、該所定の指示に対して認証サーバ２が、第２の経路で、該端末装置１へ、該所定の指示の確認を要求する処理が示される。
ステップＳ２０２では、端末装置１の認証要求部１５５は、端末装置１のユーザに対して、ユーザＩＤとパスワードとを入力することを指示する。端末装置１の認証要求部１５５は、ユーザによって入力されたユーザＩＤとパスワードとを取得し、該ユーザＩＤとパスワードとを暗号化して通信部１３０へ出力する。
ステップＳ２０４では、端末装置１の通信部１３０は、ユーザによって入力されたユーザＩＤとパスワードとを暗号化した結果を、第１の経路で、認証サーバ２へ送信する。
ステップＳ２０６では、認証サーバ２の認証部２５５は、端末装置１が送信した暗号化した結果を復号し、該復号することによって得られるユーザＩＤとパスワードとに基づいて、ユーザの正当性を検証する。ここでは、ユーザの検証が成功した場合について説明を続ける。検証が失敗した場合には、所定のエラー処理が行われてもよい。
【００３１】
ステップＳ２０８では、端末装置１の認証要求部１５５は、記憶部１０５に記憶された認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを取得し、該認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを通信部１３０へ出力する。
ステップＳ２１０では、端末装置１の通信部１３０は、認証要求部１５５から取得した該認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを、第１の経路で、認証サーバ２へ送信する。
ステップＳ２１２では、認証サーバ２の検証部２０３は、端末装置１が送信した認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを、通信部２３０から取得する。検証部２０３は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐの正当性を検証する。
検証部２０３における認証局公開鍵証明書Ｃ＿Ｋｒ１ｐの検証方法を具体的に説明する。ＳＩＭ２００において、検証部２０３は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐ「Ｋｒ１ｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」から認証局公開鍵Ｋｒ１ｐとＳＩＭ識別情報ｓｉｍｉｄ１とを取得し、取得した認証局公開鍵Ｋｒ１ｐとＳＩＭ識別情報ｓｉｍｉｄ１とを「Ｘ．５０９」規格の公開鍵証明書フォーマットに格納した検証データを生成する。該検証データにおいて、認証局公開鍵Ｋｒ１ｐは、「Ｘ．５０９」規格の公開鍵証明書フォーマット中の所定位置に格納される。該検証データにおいて、ＳＩＭ識別情報ｓｉｍｉｄ１は、「Ｘ．５０９」規格の公開鍵証明書フォーマット中の「サブジェクトパラメータ：主体者の名前」の位置に格納される。次いで、検証部２０３は、該検証データのハッシュ値である検証ハッシュ値ｈａｓｈ’（Ｋｒ１ｐ，ｓｉｍｉｄ１）を算出する。次いで、検証部２０３は、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐ「Ｋｒ１ｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」から電子署名ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））を取得し、取得した電子署名ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））を、認証局公開鍵証明書Ｃ＿ＫＲｐのルート認証局公開鍵ＫＲｐで復号する。この復号により、復号データ「ＫＲｐ・ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」が得られる。次いで、検証部２０３は、検証ハッシュ値ｈａｓｈ’（Ｋｒ１ｐ，ｓｉｍｉｄ１）と復号データ「ＫＲｐ・ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」とが一致するかを判定する。この判定の結果、一致する場合には認証局公開鍵証明書Ｃ＿Ｋｒ１ｐ「Ｋｒ１ｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」の検証が合格であり、一致しない場合には公開鍵証明書Ｃ＿Ｋｒ１ｐ「Ｋｒ１ｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｒ１ｐ，ｓｉｍｉｄ１））」の検証が不合格である。認証部２５５は、ＳＩＭ２００の検証部２０３から通知された認証局公開鍵証明書Ｃ＿Ｋｒ１ｐの検証の結果が不合格である場合には、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐを破棄する。また、所定のエラー処理を実行してもよい。
【００３２】
ステップＳ２１４では、認証サーバ２の検証部２０３は、クライアント公開鍵証明書Ｃ＿Ｋｋｐの正当性を検証する。
検証部２０３におけるクライアント公開鍵証明書Ｃ＿Ｋｋｐの検証方法を具体的に説明する。ＳＩＭ２００において、検証部２０３は、クライアント公開鍵証明書Ｃ＿Ｋｋｐ「Ｋｋｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」からクライアント公開鍵ＫｋｐとＳＩＭ識別情報ｓｉｍｉｄ１とを取得し、取得したクライアント公開鍵ＫｋｐとＳＩＭ識別情報ｓｉｍｉｄ１とを「Ｘ．５０９」規格の公開鍵証明書フォーマットに格納した検証データを生成する。該検証データにおいて、クライアント公開鍵Ｋｋｐは、「Ｘ．５０９」規格の公開鍵証明書フォーマット中の所定位置に格納される。該検証データにおいて、ＳＩＭ識別情報ｓｉｍｉｄ１は、「Ｘ．５０９」規格の公開鍵証明書フォーマット中の「サブジェクトパラメータ：主体者の名前」の位置に格納される。次いで、検証部２０３は、該検証データのハッシュ値である検証ハッシュ値ｈａｓｈ’（Ｋｋｐ，ｓｉｍｉｄ１）を算出する。次いで、検証部２０３は、クライアント公開鍵証明書Ｃ＿Ｋｋｐ「Ｋｋｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」から電子署名ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））を取得し、取得した電子署名ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））を、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐのルート認証局公開鍵ＫＲｐで復号する。この復号により、復号データ「ＫＲｐ・ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」が得られる。次いで、検証部２０３は、検証ハッシュ値ｈａｓｈ’（Ｋｋｐ，ｓｉｍｉｄ１）と復号データ「ＫＲｐ・ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」とが一致するかを判定する。この判定の結果、一致する場合にはクライアント公開鍵証明書Ｃ＿Ｋｋｐ「Ｋｋｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」の検証が合格であり、一致しない場合にはクライアント公開鍵証明書Ｃ＿Ｋｋｐ「Ｋｋｐ，ｓｉｍｉｄ１，ＫＲｓ（ｈａｓｈ（Ｋｋｐ，ｓｉｍｉｄ１））」の検証が不合格である。認証部２５５は、ＳＩＭ２００の検証部２０３から通知されたクライアント公開鍵証明書Ｃ＿Ｋｋｐの検証の結果が不合格である場合には、認証局公開鍵証明書Ｃ＿Ｋｒ１ｐとクライアント公開鍵証明書Ｃ＿Ｋｋｐとを破棄する。また、所定のエラー処理を実行してもよい。
【００３３】
ステップＳ２１６では、クライアント公開鍵証明書Ｃ＿Ｋｋｐの検証の結果が合格である場合には、認証部２５５は、チャレンジ値（乱数）を生成し、生成したチャレンジ値を通信部２３０へ出力する。
ステップＳ２１８では、認証サーバ２の通信部２３０は、認証部２５５から取得したチャレンジ値を、第１の経路で、端末装置１へ送信する。
ステップＳ２２０では、端末装置１の暗号処理部１０４は、認証サーバ２が送信したチャレンジ値を、通信部１３０から取得する。暗号処理部１０４は、記憶部１０５に記憶したクライアント秘密鍵Ｋｋｓで、チャレンジ値を暗号化することによって暗号化データＫｋｓ（乱数）を生成する。暗号処理部１０４は、暗号化データを、通信部１３０へ出力する。
ステップＳ２２２では、端末装置１の通信部１３０は、暗号処理部１０４から取得した暗号化データＫｋｓ（乱数）を、第１の経路で、認証サーバ２へ送信する。
ステップＳ２２４では、認証サーバ２の検証部２０３は、暗号化データＫｋｓ（乱数）の正当性を検証する。例えば、検証部２０３は、暗号化データＫｋｓ（乱数）をクライアント公開鍵Ｋｋｐで復号した結果がチャレンジ値と一致する場合には検証を合格とし、一方、チャレンジ値と一致しない場合には検証を不合格とする。
【００３４】
ステップＳ２２６では、端末装置１の指示情報作成部１２０は、端末装置１のユーザに対して、指示の入力を要求する。端末装置１の指示情報作成部１２０は、ユーザによって入力された指示を示す情報を取得し、該指示を示す情報を通信部１３０へ出力する。ここでは、ユーザが送金指示を行った場合について説明を続ける。
ステップＳ２２８では、端末装置１の通信部１３０は、ユーザによって入力された送金指示を示す情報を、第１の経路で、認証サーバ２へ送信する。
ステップＳ２３０では、認証サーバ２の受付部２１０は、端末装置１が送信した送金指示を示す情報を受け付ける。要求部２２０は、受付部２１０が送信指示を示す情報を受け付けると、端末装置１のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成する。また、制御部２４０は、端末装置１の加入者識別情報に関連付けられた端末装置１の電話番号を取得し、該端末装置１の電話番号を要求部２２０へ出力する。要求部２２０は、制御部２４０から取得した端末装置１の電話番号と指示確認要求情報とを、無線通信部２６０へ出力する。
ステップＳ２３２では、認証サーバ２の無線通信部２６０は、要求部２２０が出力した指示確認要求情報と端末装置１の電話番号とを取得すると、該指示確認要求情報を、第２の経路で、ＳＭＳを利用して端末装置１へ送信する。
ステップＳ２３４では、端末装置１の確認要求部１０８は、認証サーバ２が送信した指示確認要求情報を取得すると、ユーザに送信指示の確認を要求する。確認要求部１０８は、送金指示の確認の要求に対してユーザが回答すると、該回答を示す情報を無線通信部１６０へ出力する。
【００３５】
ステップＳ２３６では、端末装置１の無線通信部１６０は、確認要求部１０８が出力した回答を示す情報を暗号化した結果を、第２の経路で、認証サーバ２へ送信する。
ステップＳ２３８では、認証サーバ２の処理部２７０は、暗号化した結果を復号し、該復号することによって得られる回答を示す情報を受け付ける。処理部２７０は、該復号した回答を検証する。処理部２７０は、復号した回答が、ユーザが指示したことを示すか否かを判定する。
ステップＳ２４０では、認証サーバ２の処理部２７０は、復号した回答が、ユーザが指示したことを示すものである場合、該指示に従って処理を行う。処理部２７０は、復号した回答が、ユーザが指示したことを示すものではない場合、所定のエラー処理を行うようにしてもよい。処理部２７０は、該指示に従って処理を行った後に、処理が完了したことを示す情報である処理完了通知を作成し、該処理完了通知を無線通信部２６０へ出力する。
ステップＳ２４２では、認証サーバ２の無線通信部２６０は、確認要求部１０８が出力した回答を示す情報を暗号化した結果を、第２の経路で、端末装置１へ送信する。端末装置１の確認要求部１０８は、認証サーバ２が送信した処理完了通知を取得すると、ユーザへ処理が完了したことを通知する。
【００３６】
図２に示されるシーケンスチャートにおいて、ステップＳ２０８−Ｓ２２４は省略されてもよい。つまり、二要素認証を行わないようにしてもよい。
前述した実施形態では、認証サーバ２が、端末装置１が送信した暗号化された送金指示を示す情報を受け付けた場合に、端末装置１のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成する場合について説明したが、この例に限られない。例えば、認証サーバ２が、端末装置１が送信した暗号化された送金指示を示す情報を受け付けた場合に、ＴＡＮ（Ｔｒａｎｓａｃｔｉｏｎ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）等のワンタイムパスワードを生成し、生成したワンタイムパスワードを含み、且つ端末装置１のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成するようにしてもよい。この場合、端末装置１の確認要求部１０８は、認証サーバ２が送信した指示確認要求情報を取得すると、該指示確認要求情報に含まれるワンタイムパスワードを検証する。確認要求部１０８は、ワンタイムパスワードの検証が成功すると、ユーザに送信指示の確認を要求する。ワンタイムパスワードの検証が失敗した場合、所定のエラー処理が行われてもよい。さらに、ワンタイムパスワードは、端末装置１で生成するようにしてもよい。そして、ワンタイムパスワードは、取引内容に関する情報に基づいて生成されてもよいし、取引内容とは無関係に生成するようにしてもよい。
【００３７】
前述した実施形態においては、指示確認要求情報に対する回答が、アプリケーション１０７が実行されることで認証サーバ２へ送信される場合について説明したが、この例に限られない。例えば、指示確認要求情報に対する回答が、アプリケーション１５０が実行されることによって認証サーバ２へ送信されるようにしてもよい。
前述した実施形態においては、処理完了通知が、確認要求部１０８に通知される場合について説明したが、この例に限られない。例えば、確認要求部１０８に加え、制御部１４０に通知されてもよいし、制御部１４０のみに通知されてもよい。
実施形態に係る通信システムによれば、端末装置１が、認証サーバ２へ、第１の経路で、所定の指示を要求し、該所定の指示に対して認証サーバ２が、第２の経路で、該端末装置１へ、該所定の指示の確認を要求する。認証サーバ２へユーザ認証を要求し、所定の処理を要求する情報を送信する通信経路と、認証サーバ２が端末装置１へ該所定の処理を要求したか否かを確認する情報を送信する通信経路が異なるため、ＭｉｔＢ攻撃によって取引内容が改ざんされたことを検出することができる。
【００３８】
＜第２の実施形態＞
図３は、実施形態に係る通信システムを示す構成図である。図３において、通信システム２０００は、第１の端末装置５と、第２の端末装置３と、認証サーバ２と、ルート認証局４と、通信事業者データベース１０とを備える。実施形態に係る通信システム２０００の一例では、第１の端末装置５はＰＣであり、第２の端末装置３はクライアント端末であり、認証サーバ２は金融機関サーバである。
本実施形態に係る通信システム２０００は、ＰＣ等の第１の端末装置５で稼働するバンキングアプリを利用する。バンキングアプリは、ブラウザを利用する場合と、携帯電話等の第２の端末装置向けのＯＳを対象に開発された専用アプリを利用する。本実施形態に係る第２の端末装置３は、端末装置１と同等の構成に加えて、第１の端末装置５へ、クライアント証明書を発行する、中間認証局アプリを実装する。
【００３９】
図３に示される認証サーバ２、ルート認証局４、及び通信事業者データベース１０は、第１の実施形態に係る認証サーバ２、ルート認証局４、及び通信事業者データベース１０を適用できる。ただし、認証サーバ２の制御部１４０は、ＳＩＭ識別情報ｓｉｍｉｄ１等の加入者識別情報と第１の端末装置５のＩＰアドレスと第２の端末装置の電話番号とを関連付けて記憶している。
第１の端末装置５は、通信部５３０と制御部５４０と記憶部５００とを備える。通信部５３０は、通信部１３０を適用できる。第１の端末装置５の通信部５３０と認証サーバ２の通信部２３０とが通信を行う経路を「第３の経路」という。制御部５４０は、ＣＰＵ及びメモリを備えており、アプリケーション５８０を備える。アプリケーション５８０の一例は、バンキングアプリである。ＣＰＵがアプリケーション５８０を実行することで、鍵生成部５５０と認証要求部５６０と指示情報作成部５７０として機能する。記憶部５００には、端末識別情報ＵＥｉｄと端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とクライアント秘密鍵５０３とが記憶される。鍵生成部５５０、認証要求部５６０、及び指示情報作成部５７０は、第１の実施形態の鍵生成部１０１、認証要求部１５５、及び指示情報作成部１２０をそれぞれ適用できる。
【００４０】
第２の端末装置３は、無線通信部３６０と制御部３４０とＳＩＭ３００とを備える。
無線通信部３６０は、無線通信部１６０を適用できる。第２の端末装置３の無線通信部３６０と認証サーバ２の無線通信部２６０とが通信を行う経路を「第４の経路」という。制御部３４０は、ＣＰＵ及びメモリを備えており、アプリケーション３５０を備える。
ＳＩＭ３００は、ＳＩＭ１００を適用できる。ＳＩＭ３００はＳＩＭ識別情報ｓｉｍｉｄ３を格納する。ＳＩＭ３００は、鍵生成部３０１と公開鍵証明書生成部３０２と暗号処理部３０４と記憶部３０５と秘密鍵記憶部３０６とアプリケーション３０７と確認要求部３０８とを備える。ＳＩＭ３００はＣＰＵを備え、コンピュータプログラムによって所望の機能を実現する。ＣＰＵがアプリケーション３０７を実行することで、鍵生成部３０１と公開鍵証明書生成部３０２と暗号処理部３０４と確認要求部３０８として機能する。アプリケーション３０７の一例は、取引認証アプリである。鍵生成部３０１、公開鍵証明書生成部３０２、暗号処理部３０４、及び確認要求部３０８は、第１の実施形態の鍵生成部１０１、公開鍵証明書生成部１０２、暗号処理部１０４、及び確認要求部１０８をそれぞれ適用できる。
【００４１】
＜通信システムの動作＞
次に図４を参照して、図３に示す通信システム２０００の動作を説明する。図４は、実施形態に係る通信システムの通信方法の説明図である。図４には、第１の端末装置５が認証サーバ２へ、第３の経路で、所定の指示を要求し、該所定の指示に対して認証サーバ２が第２の端末装置３へ、第４の経路で、該所定の指示の確認を要求する処理が示される。
ステップＳ４０２では、第１の端末装置５の鍵生成部５５０は、端末公開鍵と端末秘密鍵のペアを生成する。
ステップＳ４０４では、第１の端末装置５は、第２の端末装置３へ、端末公開鍵を送信する。例えば、第１の端末装置５は、端末公開鍵を格納した二次元バーコード(ＱＲ(Quick Response)コード)等の情報コードを表示し、該情報コードを、情報コード読み取り機を備えた第２の端末装置３で読み取ることによって、第１の端末装置５から第２の端末装置３へ端末公開鍵を送信するようにしてもよい。また、ブルートゥース（登録商標）等の近距離無線によって、第１の端末装置５から第２の端末装置３へ端末公開鍵を送信するようにしてもよい。
ステップＳ４０６では、第２の端末装置３の公開鍵証明書生成部３０２として機能させることによって、第１の端末装置５が送信した端末公開鍵の端末公開鍵証明書を生成する。この端末公開鍵証明書の生成は、ＳＩＭ３００内のセキュアＲＡＭにおいて行われる。端末公開鍵証明書は、端末公開鍵と、ＳＩＭ識別情報ｓｉｍｉｄ３と、端末公開鍵の電子署名とを含む。
【００４２】
ステップＳ４０８では、第２の端末装置３は、第１の端末装置５へ、端末公開鍵証明書を送信する。例えば、第２の端末装置３は、端末公開鍵証明書を格納した情報コードを表示し、該情報コードを、情報コード読み取り機を備えた第１の端末装置５で読み取ることによって、第２の端末装置３から第１の端末装置５へ端末公開鍵を送信するようにしてもよい。第１の端末装置５は、端末公開鍵証明書を取得すると、該端末公開鍵証明書を記憶部５００へ格納する。
ステップＳ４１０では、第１の端末装置５の認証要求部５６０は、第１の端末装置５のユーザに対して、ユーザＩＤとパスワードとの入力を指示する。認証要求部５６０は、ユーザによって入力されたユーザＩＤとパスワードを取得し、該ユーザＩＤとパスワードを暗号化した結果を通信部５３０へ出力する。
ステップＳ４１２では、第１の端末装置５の通信部５３０は、認証要求部５６０が入力した暗号化した結果を、第３の経路で、認証サーバ２へ送信する。
ステップＳ４１４では、認証サーバ２の認証部２５５は第１の端末装置５が送信した暗号化した結果を復号し、該復号することによって得られるユーザＩＤとパスワードに基づいて、ユーザの正当性を検証する。ここでは、ユーザの検証が成功した場合について説明を続ける。検証が失敗した場合には、所定のエラー処理が行われてもよい。
【００４３】
ステップＳ４１６では、第１の端末装置５の認証要求部５６０は、記憶部５００に記憶された端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とを取得し、該端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とを通信部５３０へ出力する。
ステップＳ４１８では、第１の端末装置５の通信部５３０は、認証要求部５６０から取得した該端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とを、第３の経路で、認証サーバ２へ送信する。
ステップＳ４２０では、認証サーバ２の検証部２０３は、第１の端末装置５が送信した端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とを、通信部２３０から取得する。検証部２０３は、端末公開鍵証明書の正当性を検証する。
【００４４】
検証部２０３における端末公開鍵証明書５０１の検証方法は、第１の実施形態で説明した認証局公開鍵証明書の検証方法を適用できる。制御部２４０は、ＳＩＭ２００の検証部２０３から通知された端末公開鍵証明書５０１の検証の結果が不合格である場合には、端末公開鍵証明書を破棄する。また、所定のエラー処理を実行してもよい。
ステップＳ４２２では、認証サーバ２の検証部２０３は、クライアント公開鍵証明書５０２の正当性を検証する。検証部２０３におけるクライアント公開鍵証明書５０２の検証方法は、第１の実施形態で説明したクライアント公開鍵証明書の検証方法を適用できる。
制御部２４０は、ＳＩＭ２００の検証部２０３から通知されたクライアント公開鍵証明書５０２の検証の結果が不合格である場合には、端末公開鍵証明書５０１とクライアント公開鍵証明書５０２とを破棄する。また、所定のエラー処理を実行してもよい。
ステップＳ４２４では、クライアント公開鍵証明書５０２の検証の結果が合格である場合には、認証サーバ２の認証部２５５は、チャレンジ値（乱数）を生成し、生成したチャレンジ値を通信部２３０へ出力する。
【００４５】
ステップＳ４２６では、認証サーバ２の通信部２３０は、認証部２５５から取得したチャレンジ値を、第３の経路で、第１の端末装置５へ送信する。
ステップＳ４２８では、第１の端末装置５の認証要求部５６０は、認証サーバ２が送信したチャレンジ値を、通信部１３０から取得する。認証要求部５６０は、記憶部５００に記憶したクライアント秘密鍵５０３で、チャレンジ値を暗号化することによって暗号化データを生成する。認証要求部５６０は、暗号化データを、通信部５３０へ出力する。
ステップＳ４３０では、第１の端末装置５の通信部５３０は、認証要求部５６０から取得した暗号化データを、第３の経路で、認証サーバ２へ送信する。
ステップＳ４３２では、認証サーバ２の検証部２０３は、第１の端末装置５が送信した暗号化データの正当性を検証する。例えば、検証部２０３は、暗号化データをクライアント公開鍵で復号した結果がチャレンジ値と一致する場合には検証を合格とし、一方、チャレンジ値と一致しない場合には検証を不合格とする。
ステップＳ４３４では、第１の端末装置５の指示情報作成部５７０は、端末装置１のユーザに対して、指示の入力を要求する。第１の端末装置５の指示情報作成部５７０は、ユーザによって入力された指示を示す情報を取得し、該指示を示す情報を暗号化して通信部５３０へ出力する。ここでは、ユーザが送金指示を行った場合について説明を続ける。
【００４６】
ステップＳ４３６では、第１の端末装置５の通信部５３０は、ユーザによって入力された暗号化された送金指示を示す情報を、第３の経路で、認証サーバ２へ送信する。例えば、送金指示を示す情報が、ＢＩＰやＯＭＡＰＩで送信されてもよい。
ステップＳ４３８では、認証サーバ２の受付部２１０は、第１の端末装置５が送信した送金指示を示す情報を受け付ける。要求部２２０は、受付部２１０が送信指示を示す情報を受け付けると、第２の端末装置３のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成する。また、制御部２４０は、第１の端末装置５の加入者識別情報に関連付けられた第２の端末装置３の電話番号を取得し、該第２の端末装置３の電話番号を要求部２２０へ出力する。要求部２２０は、制御部２４０から取得した第２の端末装置３の電話番号と指示確認要求情報とを、無線通信部２６０へ出力する。
ステップＳ４４０では、認証サーバ２の無線通信部２６０は、要求部２２０が出力した第２の端末装置３の電話番号と指示確認要求情報とを取得すると、該指示確認要求情報を、第４の経路で、ＳＭＳを利用して、第２の端末装置３へ送信する。
ステップＳ４４２では、第２の端末装置３の確認要求部３０８は、認証サーバ２が送信した指示確認要求情報を取得すると、ユーザに送信指示の確認を要求する。確認要求部３０８は、送金指示の確認の要求に対してユーザが回答すると、該回答を示す情報を無線通信部３６０へ出力する。
ステップＳ４４４では、第２の端末装置３の無線通信部３６０は、確認要求部３０８が出力した回答を示す情報を暗号化した結果を、第４の経路で、認証サーバ２へ送信する。
【００４７】
ステップＳ４４６では、認証サーバ２の処理部２７０は、暗号化した結果を復号し、該復号することによって得られる回答を示す情報を受け付ける。処理部２７０は、該復号した回答を検証する。処理部２７０は、復号した回答が、ユーザが指示したことを示すか否かを判定する。
ステップＳ４４８では、認証サーバ２の処理部２７０は、復号した回答が、ユーザが指示したことを示すものである場合、該指示に従って処理を行う。処理部２７０は、復号した回答が、ユーザが指示したことを示すものではない場合、所定のエラー処理を行うようにしてもよい。処理部２７０は、該指示に従って処理を行った後に、処理が完了したことを示す情報である処理完了通知を作成し、該処理完了通知を無線通信部２６０へ出力する。
ステップＳ４５０では、認証サーバ２の無線通信部２６０は、確認要求部１０８が出力した回答を示す情報を暗号化した結果を、第２の経路で、端末装置１へ送信する。第２の端末装置３の確認要求部３０８は、認証サーバ２が送信した処理完了通知を取得すると、ユーザへ処理が完了したことを通知する。
【００４８】
図４に示されるシーケンスチャートにおいて、ステップＳ４１６−Ｓ４３２は省略されてもよい。
前述した実施形態では、認証サーバ２が、第１の端末装置５が送信した暗号化された送金指示を示す情報を受け付けた場合に、第２の端末装置３のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成する場合について説明したが、この例に限られない。例えば、認証サーバ２が、第１の端末装置５が送信した送金指示を示す情報を受け付けた場合に、ＴＡＮ等のワンタイムパスワードを生成し、生成したワンタイムパスワードを含み、且つ第２の端末装置３のユーザに送信指示の確認を要求する情報である指示確認要求情報を作成するようにしてもよい。この場合、第２の端末装置３の確認要求部３０８は、認証サーバ２が送信した指示確認要求情報を取得すると、該指示確認要求情報に含まれるワンタイムパスワードを検証する。確認要求部３０８は、ワンタイムパスワードの検証が成功すると、ユーザに送信指示の確認を要求する。ワンタイムパスワードの検証が失敗した場合、所定のエラー処理が行われてもよい。さらに、ワンタイムパスワードは、端末装置１で生成するようにしてもよい。そして、ワンタイムパスワードは、取引内容に関する情報に基づいて生成されてもよいし、取引内容とは無関係に生成するようにしてもよい。
前述した実施形態においては、指示確認要求情報に対する回答が、アプリケーション３０７が実行されることで、認証サーバ２へ送信される場合について説明したが、この例に限られない。例えば、アプリケーション１５０が実行されることによって、認証サーバ２へ送信されるようにしてもよい。
前述した実施形態においては、処理完了通知が、確認要求部３０８へ送信される場合について説明したが、この例に限られない。例えば、処理完了通知が、確認要求部３０８に加え、第１の端末装置５へ送信されてもよいし、第１の端末装置５のみに送信されてもよい。
【００４９】
実施形態に係る通信システムによれば、第１の端末装置５が認証サーバ２へ、第３の経路で、所定の指示を要求し、該所定の指示に対して認証サーバ２が第２の端末装置３へ、第４の経路で、該所定の指示の確認を要求する。認証サーバ２へユーザ認証を要求し、所定の処理を要求する情報を送信する通信経路と、認証サーバ２が端末装置１へ該所定の処理を要求したか否かを確認する情報を送信する通信経路が異なるため、ＭｉｔＢ攻撃によって取引内容が改ざんされたことを検出することができる。
【００５０】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
なお、上述した実施形態に係る端末装置、認証サーバ、第１の端末装置又は第２の端末装置通信装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５１】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５２】
上述した実施形態において、認証サーバ２は認証サーバの一例であり、認証部２５５は認証部の一例であり、受付部２１０は受付部の一例であり、要求部２２０は要求部の一例であり、処理部２７０は処理部の一例であり、無線通信部２６０は通信部の一例であり、ワンタイムパスワードはパスワードの一例である。
【符号の説明】
【００５３】
１０００、２０００…通信システム、１…端末装置、２…認証サーバ、３…第２の端末装置、４…ルート認証局、５…第１の端末装置、１０…通信事業者データベース、３０…ＳＭＳサーバ、４０…無線通信ネットワーク、１００、２００、３００…ＳＩＭ、１０５、２０５、３０５、４００、５００…記憶部、１０７、１５０、２５０、３５０、３０７、４５０、５８０…アプリケーション、１０１、３０１、５５０…鍵生成部、１０２、３０２…公開鍵証明書生成部、１０４、２０４、３０４…暗号処理部、１０６、２０６、３０６…秘密鍵記憶部、１０８、３０８…確認要求部、１２０、５７０…指示情報作成部、１３０、２３０、４３０、５３０…通信部、１４０、２４０、３４０、４４０、５４０…制御部、１５５、５６０…認証要求部、１６０、２６０、３６０…無線通信部、２０３検証部、２１０…受付部、２２０…要求部、２５５…認証部、２７０…処理部、４０２…認証局公開鍵証明書生成部、４０５…ルート認証局鍵記憶部、５０１…端末公開鍵証明書、５０２…クライアント公開鍵証明書、５０３…クライアント秘密鍵
【図１】
2018056928.tif 000003
【図２】
2018056928.tif 000004
【図３】
2018056928.tif 000005
【図４】
2018056928.tif 000006