(57)【要約】  本発明は、オンラインバンキングサービスの振込処理に代表されるオンライントランザクションを実行する認証装置に関する。  認証装置は、秘密情報を記憶する秘密情報記憶部と、ユーザの入力情報を含む入力データの正当性を検証する検証部と、検証部により正当性を検証された入力データから入力情報を抽出する情報抽出部と、情報抽出部により抽出された入力情報と秘密情報記憶部に記憶された秘密情報とを用いてユーザの認証情報を生成する認証情報生成部と、認証情報生成部により生成された認証情報を表示する表示部とを備える。
2017022121.tif 000002
【特許請求の範囲】
【請求項１】
秘密情報を記憶する秘密情報記憶部と、
ユーザの入力情報を含む入力データの正当性を検証する検証部と、
前記検証部により正当性を検証された前記入力データから前記入力情報を抽出する情報抽出部と、
前記情報抽出部により抽出された前記入力情報と前記秘密情報記憶部に記憶された前記秘密情報とを用いて前記ユーザの認証情報を生成する認証情報生成部と、
前記認証情報生成部により生成された前記認証情報を表示する表示部と
を備える認証装置。
【請求項２】
前記入力情報は、前記ユーザを特定できる情報を示すユーザ特定情報を含み、
前記検証部は、前記入力データの前記入力情報に含まれる前記ユーザ特定情報を検証して前記入力データの正当性を検証する請求項１記載の認証装置。
【請求項３】
前記ユーザ特定情報は、前記ユーザが前記入力情報を発声した音声データであり、
前記検証部は、前記音声データの声紋を認証して前記入力データの正当性を検証し、
前記情報抽出部は、前記音声データを音声認識して前記入力情報を抽出する請求項２記載の認証装置。
【請求項４】
表示された前記入力情報を撮影するカメラを備え、
前記入力データは、前記カメラが撮影した画像データであり、
前記情報抽出部は、前記画像データを認識して前記入力情報を抽出する請求項１記載の認証装置。
【請求項５】
前記カメラは、文字で表示された前記入力情報を撮影し、
前記情報抽出部は、前記カメラが撮影した前記画像データを文字認識して前記入力情報を抽出する請求項４記載の認証装置。
【請求項６】
前記カメラは、二次元コードで表示された前記入力情報を撮影し、
前記情報抽出部は、前記カメラが撮影した前記画像データの前記二次元コードを認識して前記入力情報を抽出する請求項４記載の認証装置。
【請求項７】
前記カメラは、文字で表示された前記入力情報と、前記入力情報から生成された二次元コードとを撮影し、
前記検証部は、前記カメラが撮影した前記画像データを文字認識して第１の入力情報を抽出し、前記カメラが撮影した前記二次元コードを認識して第２の入力情報を抽出し、前記第１の入力情報と前記第２の入力情報とを比較して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項８】
前記入力情報から第１の署名を生成する署名生成部を備え、
前記カメラは、文字で表示された前記入力情報、及び第２の署名から生成された二次元コードを撮影し、
前記検証部は、前記カメラが撮影した前記二次元コードから前記第２の署名を抽出し、前記署名生成部が生成した前記第１の署名と前記第２の署名とを比較して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項９】
文字画像の表示形態と、前記文字画像に埋め込む情報である埋込情報とを対応付ける規則である情報埋込規則を記憶する情報埋込規則記憶部を備え、
前記カメラは、文字で表示された前記入力情報と、表示形態により前記入力情報を表現した文字画像とを撮影し、
前記検証部は、前記カメラが撮影した前記画像データを文字認識して第１の入力情報を抽出し、前記情報埋込規則に従って、前記カメラが撮影した前記文字画像の前記表示形態に対応付けられた前記埋込情報を第２の入力情報として抽出し、前記第１の入力情報と前記第２の入力情報とを比較して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項１０】
前記文字画像の前記表示形態と、前記文字画像に埋め込む情報である埋込情報とを対応付ける規則である情報埋込規則を記憶する情報埋込規則記憶部を備え、
前記入力情報から第１の署名を生成する署名生成部を備え、
前記カメラは、文字で表示された前記入力情報と、表示形態により前記入力情報に対する第２の署名を表現した文字画像とを撮影し、
前記検証部は、前記情報埋込規則に従って、前記カメラが撮影した前記文字画像の前記表示形態に対応付けられた前記埋込情報を前記第２の署名として抽出し、前記署名生成部が生成した前記第１の署名と前記第２の署名とを比較して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項１１】
前記情報埋込規則は、前記表示形態が前記文字画像の文字の形、または文字の色、または文字枠の色、または文字の背景色、または文字の傾き、または文字の大きさである請求項９または１０記載の認証装置。
【請求項１２】
前記表示部が前記認証情報を表示する方法を定める表示規則を記憶する表示規則記憶部を備え、
前記表示部は、前記表示規則に従って前記認証情報を表示する請求項１記載の認証装置。
【請求項１３】
前記秘密情報記憶部と前記検証部と前記情報抽出部と前記認証情報生成部とをＳＩＭカード（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ  Ｃａｒｄ）に格納した請求項１記載の認証装置。
【請求項１４】
前記秘密情報記憶部に記憶された前記秘密情報を共有して共有秘密情報として記憶し、この共有秘密情報を用いて前記カメラが撮影した前記画像データを暗号化する画像改ざん防止部を備え、
前記検証部は、前記秘密情報記憶部に記憶された前記秘密情報を用いて、前記暗号化された前記画像データを復号して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項１５】
前記秘密情報記憶部に記憶された前記秘密情報を共有して共有秘密情報として記憶し、この共有秘密情報を用いて署名を生成し、前記カメラが撮影した前記画像データに前記署名を付与する画像改ざん防止部を備え、
前記検証部は、前記秘密情報記憶部に記憶された前記秘密情報を用いて、前記画像データに付与された前記署名を認証して前記入力データの正当性を検証する請求項４記載の認証装置。
【請求項１６】
外部と通信する通信装置を備え、
トランザクション処理を実行する間、前記通信装置による通信を停止させて外部との通信を遮断する請求項１記載の認証装置。
【請求項１７】
サーバとクライアントと認証装置とが通信してトランザクション処理を実行する認証システムであって、
前記サーバは、
前記認証装置と共有する秘密情報を記憶するサーバ秘密情報記憶部と、
前記秘密情報により乱数を生成する乱数生成部と、
前記乱数を前記クライアントに送信し、前記クライアントからトランザクション情報と第１の署名とを受信するサーバ通信部と、
前記秘密情報と前記乱数と前記トランザクション情報とから第２の署名を生成するサーバ署名生成部と、
前記第１の署名と前記第２の署名とを比較する比較部とを備え、
前記クライアントは、
ユーザが入力したトランザクション情報を前記サーバに送信し、前記サーバから前記乱数を受信するクライアント通信部と、
前記トランザクション情報と前記乱数を表示するクライアント表示部と、
ユーザが前記第１の署名を入力する入出力部とを備え、
前記認証装置は、
前記サーバと共有する秘密情報を記憶する秘密情報記憶部と、
ユーザの入力情報を含む入力データの正当性を検証する検証部と、
前記検証部により正当性を検証された前記入力データから前記入力情報を抽出する情報抽出部と、
前記情報抽出部により抽出された前記入力情報と前記秘密情報記憶部に記憶された前記秘密情報とを用いて前記ユーザの認証情報を生成する認証情報生成部と、
前記認証情報生成部により生成された前記認証情報を表示する表示部とを備え、
前記認証装置は、
前記クライアント表示部が表示する前記トランザクション情報と前記乱数とを含むユーザの入力情報を前記入力データとし、前記表示部により表示する前記認証情報を前記第１の署名とし、
前記サーバは、
前記比較部により比較した前記第１の署名と前記第２の署名とが一致した場合、前記トランザクション処理を実行する認証システム。
【請求項１８】
サーバとクライアントと認証装置とが通信してトランザクション処理を実行する認証システムであって、
前記サーバは、
前記認証装置と共有する秘密情報を記憶するサーバ秘密情報記憶部と、
第１のワンタイムパスワードを生成する乱数生成部と、
前記秘密情報により前記第１のワンタイムパスワードとトランザクション情報とを暗号化した暗号化データを生成する暗号処理部と、
前記暗号化データを含む確認画面を前記クライアントに送信し、前記クライアントからユーザが入力した第２のワンタイムパスワードを受信するサーバ通信部と、
前記第１のワンタイムパスワードと前記第２のワンタイムパスワードとを比較する比較部とを備え、
前記クライアントは、
ユーザが入力した前記第２のワンタイムパスワードを前記サーバに送信し、前記サーバから前記確認画面を受信するクライアント通信部と、
前記確認画面を表示するクライアント表示部と、
ユーザが前記第２のワンタイムパスワードを入力する入出力部とを備え、
前記認証装置は、
前記サーバと共有する秘密情報を記憶する秘密情報記憶部と、
ユーザの入力情報を含む入力データの正当性を検証する検証部と、
前記検証部により正当性を検証された前記入力データから前記入力情報を抽出する情報抽出部と、
前記情報抽出部により抽出された前記入力情報と前記秘密情報記憶部に記憶された前記秘密情報とを用いて前記ユーザの認証情報を生成する認証情報生成部と、
前記認証情報生成部により生成された前記認証情報を表示する表示部とを備え、
前記認証装置は、
前記クライアント表示部が表示する前記確認画面に含まれる前記暗号化データを前記入力データとし、前記暗号化データを復号して前記第１のワンタイムパスワードと前記トランザクション情報とを取得し、前記表示部により表示する前記認証情報を前記第１のワンタイムパスワード及び前記トランザクション情報とし、
前記サーバは、
前記比較部により比較した前記第１のワンタイムパスワードと前記第２のワンタイムパスワードとが一致した場合、前記トランザクション処理を実行する認証システム。
【請求項１９】
秘密情報を記憶する秘密情報記憶部を備え、ユーザの入力情報を含む入力データを検証して前記ユーザの認証情報を表示する認証装置の認証方法であって、
検証部が、前記入力データの正当性を検証する検証ステップと、
情報抽出部が、前記検証ステップにより正当性を検証された前記入力データから前記入力情報を抽出する情報抽出ステップと、
認証情報生成部が、前記情報抽出ステップにより抽出された前記入力情報と前記秘密情報記憶部に記憶された前記秘密情報とを用いて前記ユーザの認証情報を生成する認証情報生成ステップと、
表示部が、認証情報生成ステップにより生成された前記認証情報を表示する表示ステップと
を備える認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンラインバンキングサービスの振込処理に代表されるオンライントランザクションを実行する認証装置に関する。
【背景技術】
【０００２】
近年、ＭＩＴＭ（Ｍａｎ−ｉｎ−ｔｈｅ−Ｍｉｄｄｌｅ）攻撃によるオンラインバンキングの不正送金が多発している。ＭＩＴＭ攻撃とは、通信者の間に攻撃者が割り込んで暗号通信を盗聴し、通信データを改ざんする攻撃のことをいい、中間者攻撃ともいう。ＭＩＴＭ攻撃によるオンラインバンキングの不正送金に対し、現在利用されている最も有効な対策は、ＯＣＲＡ仕様ＯＴＰトークンによるトランザクション署名である。【０００３】
ＯＣＲＡ仕様は、ＯＡＴＨ（Ｉｎｉｔｉａｔｉｖｅ  ｆｏｒ  Ｏｐｅｎ  ＡｕＴＨｅｎｔｉｃａｔｉｏｎ）規格に準拠したチャレンジ−レスポンス  アルゴリズムの仕様であり、具体的な規格名は、ＯＡＴＨ  Ｃｈａｌｌｅｎｇｅ−Ｒｅｓｐｏｎｓｅ  Ａｌｇｏｒｉｔｈｍｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  ＲＦＣ  ６２８７である。また、ＯＴＰは、使い捨てのパスワードであるワンタイムパスワード（Ｏｎｅ−Ｔｉｍｅ  Ｐａｓｓｗｏｒｄ）である。ＯＴＰトークンは、ＯＴＰを生成するための専用セキュリティデバイスであり、具体的には、ＯＴＰである署名値を生成する小型の携帯端末である。【０００４】
図５６は、ＯＣＲＡ仕様ＯＴＰトークンによるトランザクション署名の流れを示した図である。
図５６において、インターネットバンキングを利用するユーザ５６０２は、振込処理を実行する際に、ＯＣＲＡ仕様ＯＴＰトークン５６０１に振込先口座番号と振込金額などの振込情報を入力し（５６０６）、ＯＣＲＡ仕様ＯＴＰトークン５６０１は、振込情報に対する署名を生成し（５６０７）、ユーザ５６０２に署名を表示する（５６０８）。さらに、ユーザ５６０２は、ＰＣ５６０３上のインターネットバンキングの振込処理画面で、振込情報とともに、ＯＴＰトークン５６０１で生成した署名を入力し（５６０９）、ＰＣ５６０３は、振込情報と署名をインターネットバンキングサーバ５６０４へ送信する（５６１０）。【０００５】
インターネットバンキングサーバ５６０４は、ユーザ５６０２のＯＴＰトークンＩＤを検索し（５６１１）、送信されてきた振込情報とともにＯＴＰトークンＩＤを、ＯＣＲＡ対応ＯＴＰ認証サーバ５６０５へ送信する（５６１２）。ＯＣＲＡ対応ＯＴＰ認証サーバ５６０５は、ＯＣＲＡ仕様ＯＴＰトークン５６０１と同じ方式で検証用署名を生成し（５６１３）、インターネットバンキングサーバ５６０４へ検証用署名を送信する（５６１４）。【０００６】
インターネットバンキングサーバ５６０４は、ユーザ５６０２から送信されてきた署名と、ＯＣＲＡ対応ＯＴＰ認証サーバ５６０５から送信されてきた検証用署名を用いて、署名の検証を行なう（５６１５）。署名の値が一致すれば、インターネットバンキングサーバ５６０４は、正しい振込情報と判断し、振込処理を続行する。一方、署名の値が不一致であれば、インターネットバンキングサーバ５６０４は、振込情報が不正であると判断し、ＰＣ５６０３へエラーメッセージを送信する。【０００７】
しかし、ＯＣＲＡ仕様ＯＴＰトークン５６０１によるトランザクション署名には、二つの課題があった。一つ目の課題は、銀行がＯＣＲＡ仕様ＯＴＰトークン５６０１という専用セキュリティデバイスをユーザに配布する必要があり、コストが大きいという点である。二つ目の課題は、ユーザは専用セキュリティデバイスを用意し、振込先口番号や振込金額を専用セキュリティデバイスに手入力する必要があり、操作性が悪いという点である。【０００８】
上記の課題を解決する仕組みとして、例えば、特許文献１に開示されている取引認証方法がある。
図５７は、特許文献１の取引認証処理の流れを示す図である。
図５７の取引認証処理では、専用セキュリティデバイスの代わりに、カメラ付のスマートフォン５７０１を用いており、インターネットバンキングサーバ５７０３とスマートフォン５７０１が、秘密情報と、スマートフォン５７０１の端末ＩＤを共有している。その上で、スマートフォン５７０１が、クライアントコンピュータ５７０２上の振込処理確認画面に表示された二次元コードを撮影して読み取り（５７１３）、二次元コードに埋め込まれた振込情報と送金確認コードを検証し（５７１４）、ユーザ確認コードを生成する（５７１５）ことで、取引の安全と取引の確実性が保証されている。【０００９】
しかし、特許文献１の取引認証処理は、スマートフォン５７０１がマルウェアに感染し、本マルウェアが、クライアントコンピュータ５７０２上でＭＩＴＢ攻撃を行なうマルウェアと連携することを想定していない。そのため、スマートフォン５７０１に感染したマルウェアと、クライアントコンピュータ５７０２上でＭＩＴＢ攻撃を行なうマルウェアが連携した場合、オンラインバンキングの不正送金を容易に行なうことが可能である。これは、機能上何ら保護されていないスマートフォン５７０１上で、マルウェアが容易に偽造できる二次元コードのみを用いて、取引の安全と取引の確実性を保証しようとしているためである。【００１０】
また、特許文献２では、携帯情報端末が、振込帳票や請求書に記載された振込情報をカメラで撮影し、文字認識した振込情報を携帯情報端末に表示して、利用者による確認後に、振込指示を銀行のサーバへ送信する技術が開示されている。本技術は、紙媒体に記載された振込情報を基に、手軽に振込処理を行なうことを目的としており、オンラインバンキング上での安全な取引を実現することはできない。また、同技術では、機能的に何ら保護されていない携帯電話やスマートフォン上で文字認識処理や振込指示を行なうため、不正送金を行なうことが可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１４−１０６５９３号公報
【特許文献２】特開２００８−１４６３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
従来の技術では、マルウェアによる振込情報の改ざんを困難にする仕組みが備わっていない上、携帯電話やスマートフォンが機能的に何ら保護されていなかった。そのため、携帯電話やスマートフォンがマルウェアに感染した場合、取引の安全性と、取引の確実性を十分に保証できないという課題があった。【００１３】
本発明は、上記のような課題を解決するためになされたもので、専用セキュリティデバイスを使用せず、専用セキュリティデバイスを代替する携帯電話やスマートフォンのようなユーザ端末が、マルウェアに感染していたとしても、オンラインバンキングサービスの振込処理に代表されるオンライントランザクションを、安全に、かつ確実に実行することを目的とする。
【課題を解決するための手段】
【００１４】
上記で述べた課題を解決するため、本発明の認証装置は、秘密情報を記憶する秘密情報記憶部と、ユーザの入力情報を含む入力データの正当性を検証する検証部と、前記検証部により正当性を検証された前記入力データから前記入力情報を抽出する情報抽出部と、前記情報抽出部により抽出された前記入力情報と前記秘密情報記憶部に記憶された前記秘密情報とを用いて前記ユーザの認証情報を生成する認証情報生成部と、認証情報生成部により生成された前記認証情報を表示する表示部とを備える。
【図面の簡単な説明】
【００１５】
【図１】本発明を実施するための基本的なシステム構成の全体図である。
【図２】実施の形態１に係る認証装置であるスマートフォン１０１のハードウェア構成を示す図である。
【図３】実施の形態１に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図４】実施の形態１に係るホストサーバ１０３のハードウェア構成を示す図である。
【図５】実施の形態１に係るクライアントコンピュータ１０２のハードウェア構成を示す図である。
【図６】サーバ側の秘密情報保持装置４０６が格納する秘密情報の一例を示す図である。
【図７】実施の形態１に係るオンライントランザクションの動作シーケンスを示す図である。
【図８】実施の形態１に係るクライアントコンピュータ１０２の動作の流れを示すフローチャートである。
【図９】実施の形態１に係るホストサーバ１０３の動作の流れを示すフローチャートである。
【図１０】実施の形態１に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図１１】ホストサーバ１０３に登録される振込情報（振込先口座番号１１０３、及び振込金額１１０４）や乱数１１０５を格納する振込情報登録テーブル１１０１の例を示す図である。
【図１２】ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面１２０１の例を示す図である。
【図１３】スマートフォン１０１が振込情報（振込先口座番号１３０２、及び振込金額１３０３）と乱数１３０４、署名１３０５を表示する画面１３０１の例を示す図である。
【図１４】実施の形態２に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図１５】表示規則を保持する表示規則テーブル１５０１の一例を示す図である。
【図１６】実施の形態３に係るスマートフォン１０１のハードウェア構成を示す図である。
【図１７】実施の形態３に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図１８】実施の形態３に係るオンライントランザクションの動作シーケンスを示す図である。
【図１９】実施の形態３に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図２０】実施の形態４に係るスマートフォン１０１のハードウェア構成を示す図である。
【図２１】実施の形態４に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図２２】実施の形態４に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図２３】実施の形態５に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図２４】実施の形態６に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図２５】実施の形態６に係るホストサーバ１０３のハードウェア構成を示す図である。
【図２６】実施の形態６に係るオンライントランザクションの動作シーケンスを示す図である。
【図２７】実施の形態６に係るクライアントコンピュータ１０２の動作の流れを示すフローチャートである。
【図２８】実施の形態６に係るホストサーバ１０３の動作の流れを示すフローチャートである。
【図２９】実施の形態６に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図３０】ホストサーバ１０３に登録される振込情報（振込先口座番号１１０３、及び振込金額１１０４）、ワンタイムパスワードまたは乱数３００２を格納する振込情報登録テーブル３００１の例を示す図である。
【図３１】ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面３１０１の例を示す図である。
【図３２】スマートフォン１０１が振込情報（振込先口座番号１３０２、及び振込金額１３０３）と、ワンタイムパスワードまたは署名３２０２を表示する画面３２０１の例を示す図である。
【図３３】実施の形態７に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図３４】実施の形態７に係るホストサーバ１０３のハードウェア構成を示す図である。
【図３５】実施の形態７に係るホストサーバ１０３の動作の流れを示すフローチャートである。
【図３６】実施の形態７に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図３７】実施の形態８に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図３８】実施の形態８に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図３９】実施の形態９に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図４０】実施の形態１０に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図４１】実施の形態１０に係るホストサーバ１０３のハードウェア構成を示す図である。
【図４２】実施の形態１０に係るオンライントランザクションの動作シーケンスを示す図である。
【図４３】実施の形態１０に係るホストサーバ１０３の動作の流れを示すフローチャートである。
【図４４】実施の形態１０に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図４５】ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面４５０１の例を示す図である。
【図４６】確認画面４５０１の振込情報を埋め込んだ文字画像４６０１の例を示す図である。
【図４７】スマートフォン１０１と銀行のホストサーバ１０３が共有する情報埋込規則４７０１の一例を示す図である。
【図４８】情報埋込規則テーブル４８０１の一例を示す図である。
【図４９】実施の形態１１に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図５０】実施の形態１１に係るホストサーバ１０３のハードウェア構成を示す図である。
【図５１】実施の形態１１に係るホストサーバ１０３の動作の流れを示すフローチャートである。
【図５２】実施の形態１１に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図５３】実施の形態１２に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図５４】実施の形態１２に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【図５５】実施の形態１３に係るＳＩＭカード２１０のハードウェア構成を示す図である。
【図５６】ＯＣＲＡ仕様ＯＴＰトークンによるトランザクション署名の流れを示した図である。
【図５７】特許文献１の取引認証処理の流れを示す図である。
【発明を実施するための形態】
【００１６】
以下では、図面に従って、オンライントランザクションとしてＷｅｂオンラインバンキングでの振込手続きを例に、本発明の実施の形態を説明する。これらの実施の形態では、振込先口座番号や振込金額といった振込情報が、トランザクション情報に当たる。これらの実施の形態は、本発明の好適な態様を説明するためのものであり、ここで示すものに限定するものではない。また、図面を通して、同一符号は、同一の対象を示す。
【００１７】
実施の形態１．
図１は、本発明を実施するための基本的なシステム構成の全体図である。
図１において、オンラインバンキングサービスを提供する銀行のホストサーバ１０３には、インターネット１０４を介して、複数のクライアントコンピュータ１０２ａ、１０２ｂ、１０２ｃ・・・が接続されている。以下、複数のクライアントコンピュータ１０２ａ、１０２ｂ、１０２ｃ・・・を総称して、クライアントコンピュータ１０２と呼ぶ。また、クライアントコンピュータ１０２の各ユーザは、ユーザ端末としてスマートフォン１０１ａ、１０１ｂ、１０１ｃ・・・を保有している。以下、スマートフォン１０１ａ、１０１ｂ、１０１ｃ・・・を総称して、スマートフォン１０１と呼ぶ。スマートフォン１０１は、携帯電話網１０５を介して、インターネット１０４に接続されている。スマートフォン１０１は、認証装置の一例である。
【００１８】
クライアントコンピュータ１０２のユーザは、オンラインバンキングによる取引を行なう目的で、インターネット１０４を介して、ホストサーバ１０３へアクセスし、与えられたユーザＩＤと対応するパスワードを用いて、オンラインバンキングサービスへログインする。この時、クライアントコンピュータ１０２とホストサーバ１０３間の通信は、ＳＳＬ／ＴＬＳ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ／Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などの暗号通信プロトコルによって、機密性、完全性が保証されている。
【００１９】
本実施の形態１では、ユーザを特定できる特徴、すなわちユーザ特定情報を声紋とし、ユーザを特定できる特徴を含んだ入力を受け付ける入力装置をマイクとして説明する。しかし、ユーザを特定できる特徴には、筆跡や手振り、身振りなどもあり、声紋とマイクに限定するものではない。
【００２０】
図２は、実施の形態１に係る認証装置であるスマートフォン１０１のハードウェア構成を示す図である。
図２において、バス２１１にはＣＰＵ２０１、メモリ２０２、フラッシュメモリ２０３、無線ＬＡＮモジュール２０４、通信・通話モジュール２０５、タッチパネルなどの入力インタフェース２０６、及びオーディオインタフェース２０７が接続されている。無線ＬＡＮモジュール２０４、通信・通話モジュール２０５は、通信装置の一例である。
【００２１】
さらに、スマートフォン１０１のバス２１１には、表示装置であるディスプレイ２０８、ユーザを特定できる特徴を有した入力を受け付ける入力装置であるマイク２０９、マルウェアが侵入できないセキュアなＳＩＭカード（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ  Ｃａｒｄ）２１０が接続されている。ディスプレイ２０８は、表示部の一例である。
【００２２】
図３は、実施の形態１に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図３において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００２３】
さらに、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の署名生成装置３０３、声紋認証装置３０４、音声認識装置３０５が接続されている。ユーザ端末側の秘密情報保持装置３０２は、銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。秘密情報保持装置３０２は、秘密情報記憶部の一例である。ユーザ端末側の署名生成装置３０３は、振込情報のハッシュ値などを算出し、振込情報の署名を算出する装置である。署名生成装置３０３は、認証情報生成部や署名生成部の一例である。声紋認証装置３０４は、スマートフォン１０１のマイク２０９から入力された音声の声紋から、ユーザを認証する装置である。声紋認証装置３０４は、検証部の一例である。音声認識装置３０５は、スマートフォン１０１のマイク２０９から入力されたユーザの音声から、発話内容を認識する装置である。音声認識装置３０５は、情報抽出部の一例である。
【００２４】
図４は、実施の形態１に係るホストサーバ１０３のハードウェア構成を示す図である。
図４において、バス４１１には、ＣＰＵ４０１、メモリ４０２、ハードディスクドライブ（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）４０３、通信モジュール４０４が接続されている。通信モジュール４０４は、サーバ通信部の一例である。
【００２５】
さらに、ホストサーバ１０３のバス４１１には、オンライントランザクションサーバであるＷｅｂサーバ装置４０５、サーバ側の秘密情報保持装置４０６、乱数生成装置４０７、サーバ側の署名生成装置４０８、署名比較装置４０９、トランザクション装置４１０が接続されている。サーバ側の秘密情報保持装置４０６は、サーバ秘密情報記憶部の一例である。乱数生成装置４０７は、乱数生成部の一例である。サーバ側の署名生成装置４０８は、サーバ署名生成部の一例である。署名比較装置４０９は、比較装置の一例である。Ｗｅｂサーバ装置４０５は、クライアントコンピュータ１０２にオンラインバンキングサービスを提供する装置である。サーバ側の秘密情報保持装置４０６は、スマートフォン１０１と共有している秘密情報を保持する装置である。乱数生成装置４０７は、ランダムな文字列を含んだ乱数を生成する装置である。サーバ側の署名生成装置４０８は、振込情報のハッシュ値などを算出し、振込情報の署名を算出する装置である。署名比較装置４０９は、クライアントコンピュータ１０２から送信されてくる署名と、サーバ側の署名生成装置４０８で算出した署名を比較し、比較結果を出力する装置である。トランザクション装置４１０は、振込などの取引を処理する装置である。
【００２６】
ホストサーバ１０３のサーバ側の秘密情報保持装置４０６は、ユーザに対応する秘密情報を格納する。
図６は、サーバ側の秘密情報保持装置４０６が格納する秘密情報の一例を示す図である。
図６において、サーバ側の秘密情報保持装置４０６は、ユーザ毎に、ユーザＩＤ６０２（６０２ａ、６０２ｂ、６０３ｃ・・・）と、対応する秘密情報６０３（６０３ａ、６０３ｂ、６０３ｃ・・・）を格納した秘密情報管理テーブル６０１を保持する。
【００２７】
図５は、実施の形態１に係るクライアントコンピュータ１０２のハードウェア構成を示す図である。
図５において、バス５０８には、ＣＰＵ５０１、メモリ５０２、ハードディスクドライブ（ＨＤＤ）５０３、通信モジュール５０４、入出力インタフェース５０５が接続されている。通信モジュール５０４は、クライアント通信部の一例である。
【００２８】
さらに、クライアントコンピュータ１０２のバス５０８には、表示装置であるディスプレイ５０６、銀行のホストサーバ１０３と通信をしてオンラインバンキングサービスを受けるブラウジング装置であるＷｅｂブラウジング装置５０７が、接続されている。ディスプレイ５０６は、クライアント表示部の一例である。
【００２９】
次に、図７から図１３を用いて、実施の形態１に係るオンライントランザクションの動作について説明する。
図７は、実施の形態１に係るオンライントランザクションの動作シーケンスを示す図である。
図８は、実施の形態１に係るクライアントコンピュータ１０２の動作の流れを示すフローチャートである。
図９は、実施の形態１に係るホストサーバ１０３の動作の流れを示すフローチャートである。
図１０は、実施の形態１に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
図１１は、ホストサーバ１０３に登録される振込情報（振込先口座番号１１０３、及び振込金額１１０４）や乱数１１０５を格納する振込情報登録テーブル１１０１の例を示す図である。
図１２は、ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面１２０１の例を示す図である。
図１３は、スマートフォン１０１が振込情報（振込先口座番号１３０２、及び振込金額１３０３）と乱数１３０４、署名１３０５を表示する画面１３０１の例を示す図である。
【００３０】
図７において、まず、スマートフォン１０１のＳＩＭカード２１０と、銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）を予め共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。
【００３１】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７から、ホストサーバ１０３のオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後（Ｓ８０１）、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（７０２、Ｓ８０２）。
【００３２】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信する（Ｓ９０１）と、乱数生成装置４０７で乱数を生成し（Ｓ９０２）、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル１１０１に、受信した振込情報と生成した乱数を格納する（Ｓ９０３）。その後、Ｗｅｂサーバ装置４０５は、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と乱数１２０４を示した確認画面１２０１を、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（７０３、Ｓ９０４）。
【００３３】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面１２０１を受信し（Ｓ８０３）、ディスプレイ５０６に確認画面１２０１を表示する（Ｓ８０４）。
【００３４】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面１２０１の振込情報（振込先口座番号１２０２、及び振込金額１２０３）、及び乱数１２０４を読み上げ、スマートフォン１０１のマイク２０９から音声入力を行なう（７０４）。
【００３５】
次に、スマートフォン１０１のマイク２０９は、音声入力を取得し（Ｓ１００１）、音声データをＳＩＭカード２１０へ送信する（７０５、Ｓ１００２）。音声データを受け取ったＳＩＭカード２１０の声紋認証装置３０４は、声紋によるユーザ認証を行なう（Ｓ１００３、Ｓ１００４）。声紋によるユーザ認証は、例えば、既知の話者照合方式を用いる。
【００３６】
声紋が正規のユーザの声紋と一致した場合は、ＳＩＭカード２１０の音声認識装置３０５が、音声データから入力内容である振込情報（振込先口座番号、及び振込金額）、及び乱数を認識する（Ｓ１００５）。ＳＩＭカード２１０のユーザ端末側の署名生成装置３０３は、認識された振込情報や乱数と、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報７０１ａを用いて、鍵付ハッシュや暗号化などを行なうことによって署名を生成する（Ｓ１００６）。認識された振込情報や乱数、及び生成された署名は、スマートフォン１０１へ送信され（７０６、Ｓ１００７）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ１００８）。
【００３７】
一方、Ｓ１００４において、声紋が正規のユーザの声紋と一致しなかった場合には、スマートフォン１０１へ否認の旨が送信される（Ｓ１００９）。スマートフォン１０１は、否認の旨をディスプレイ２０８に表示し、処理を終了する。
【００３８】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）、及び乱数１３０４を確認し、表示されている署名１３０５を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面１２０１の確認コード入力ボックス１２０５へ入力する（７０７、Ｓ８０５）。
【００３９】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力された署名を、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（７０８、Ｓ８０６）。
【００４０】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５が署名を受信すると（Ｓ９０５）、サーバ側の署名生成装置４０８が、振込情報登録テーブル１１０１に登録しておいた振込情報（振込先口座番号１１０３、振込金額１１０４）と乱数１１０５を取り出し、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に登録されている秘密情報６０３ａ（７０１ｂ）を用いて、ＳＩＭカード２１０のユーザ端末側の署名生成装置３０３と同じ方法で署名を生成する（Ｓ９０６）。
【００４１】
次に、ホストサーバ１０３の署名比較装置４０９が、受信した署名と算出した署名を比較する（Ｓ９０７、Ｓ９０８）。署名が一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル１１０１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し（Ｓ９０９）、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（７０９、Ｓ９１０）。
【００４２】
一方、署名が一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へエラーを送信する（７０９、Ｓ９１１）。
【００４３】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し（Ｓ８０７）、ディスプレイ５０６に結果を表示し（Ｓ８０８）、処理を終了する。
【００４４】
以上のように、振込情報や乱数を音声入力し、ユーザを特定できる特徴である声紋をユーザの認証に用いることで、マルウェアは声紋を偽造することが困難であるため、クライアントコンピュータに感染したＭＩＴＢ攻撃を行なうマルウェアと、ユーザ端末に感染したマルウェアが連携したとしても、悪意を持った行動を行なうことを防止することができる。さらに、ＳＩＭカードを用いることで、マルウェアはＳＩＭカードに感染することが困難であるため、ユーザ端末に感染したマルウェアがＳＩＭカード上で悪意を持った行動を行なうことを防止することができる。そのため、安全性と確実性が保証されたオンライントランザクションを実現することができる。
【００４５】
実施の形態２．
以上の実施の形態１では、振込情報や乱数などのトランザクション情報に対して特殊な処理を施さずに、ユーザ端末（スマートフォン）の表示装置（ディスプレイ）がトランザクション情報を表示するものであるが、次に、本実施の形態２では、ユーザ端末の表示装置が、トランザクション情報を表示する時に、予めユーザによって設定された秘密のルールに従って表示する実施の形態を示す。本実施の形態では、振込金額帯によって表示される文字の色が変化することを秘密のルールとして説明するが、秘密のルールはこれに限定するものではない。
【００４６】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１、ホストサーバ１０３、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図２、図４、図５と同一である。
【００４７】
図１４は、実施の形態２に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図１４において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００４８】
さらに、実施の形態１と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の署名生成装置３０３、声紋認証装置３０４、音声認識装置３０５が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の署名生成装置３０３は、振込情報のハッシュ値などを算出し、振込情報の署名を生成する装置である。声紋認証装置３０４は、スマートフォン１０１のマイク２０９から入力された音声の声紋から、ユーザを認証する装置である。音声認識装置３０５は、スマートフォン１０１のマイク２０９から入力された音声から、発話内容を認識する装置である。
【００４９】
また、ＳＩＭカード２１０のバス３０６には、表示規則保持装置１４０１が接続されている。表示規則保持装置１４０１は、表示規則記憶部の一例である。表示規則保持装置１４０１は、スマートフォン１０１がディスプレイ２０８に振込情報や乱数を表示する際の表示方法を定める表示規則を、安全に保持する装置である。表示規則は、何らかの方法で予めユーザによって設定される。
図１５は、表示規則を保持する表示規則テーブル１５０１の一例を示す図である。
図１５において、表示規則テーブル１５０１は、振込金額帯１５０２と文字色１５０３とを対応付けた表示規則を保持している。このような表示規則テーブル１５０１は、表示規則保持装置１４０１に保持される。
【００５０】
次に、実施の形態２に係るオンライントランザクションの動作について説明する。
図１３の振込情報（振込先口座番号１３０２、及び振込金額１３０３）、乱数１３０４、署名１３０５がスマートフォン１０１のディスプレイ２０８によって表示される図１０のＳ１００８以外の動作は、図７から図１３を用いて説明した実施の形態１と同じである。
【００５１】
スマートフォン１０１のディスプレイ２０８が、（振込先口座番号１３０２、及び振込金額１３０３）、乱数１３０４、署名１３０５を表示する際、ディスプレイ２０８は、ＳＩＭカード２１０の表示規則保持装置１４０１から表示規則テーブル１５０１を取得し、表示規則テーブル１５０１に従って文字色を変える。例えば、図１５に示す表示規則テーブル１５０１に従って、振込金額１３０３が￥１０，０００の場合、ディスプレイ２０８は、文字色を茶色にする。
【００５２】
以上のように、マルウェアが侵入することができないＳＩＭカードに、予めユーザが設定した表示規則を保持しておき、スマートフォンが表示規則に従ってトランザクション情報を表示するため、スマートフォンに感染したマルウェアが、ユーザに気づかれずに表示を変更することが困難となる。そのため、より安全なオンライントランザクションを実現することができる。
【００５３】
実施の形態３．
【００５４】
以上の実施の形態１及び２では、ユーザが、ユーザを特定できる特徴を有した入力、例えば音声入力によって、トランザクション情報である振込情報を入力していたが、本実施の形態では、ユーザを特定できる特徴を有した入力の代わりに、カメラによる入力を用いる実施の形態を示す。
【００５５】
図１６は、実施の形態３に係るスマートフォン１０１のハードウェア構成を示す図である。
図１６において、バス２１１にはＣＰＵ２０１、メモリ２０２、フラッシュメモリ２０３、無線ＬＡＮモジュール２０４、通信・通話モジュール２０５、タッチパネルなどの入力インタフェース２０６、及びオーディオインタフェース２０７が接続されている。
【００５６】
さらに、スマートフォン１０１のバス２１１には、表示装置であるディスプレイ２０８、写真撮影を行なうカメラ装置１６０１、マルウェアが侵入できないセキュアなＳＩＭカード２１０が接続されている。
【００５７】
図１７は、実施の形態３に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図１７において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００５８】
さらに、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の署名生成装置３０３、文字認識装置１７０１が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の署名生成装置３０３は、振込情報のハッシュ値などを算出し、振込情報の署名を生成する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。文字認識装置１７０１は、情報抽出部の一例である。
【００５９】
また、ホストサーバ１０３のハードウェア構成は、図４に示したハードウェア構成と同様であり、クライアントコンピュータ１０２のハードウェア構成は、図５に示したハードウェア構成と同様である。
【００６０】
次に、実施の形態３に係るオンライントランザクションの動作について説明する。
図１８は、実施の形態３に係るオンライントランザクションの動作シーケンスを示す図である。
図１９は、実施の形態３に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【００６１】
図１８において、まず、スマートフォン１０１のＳＩＭカード２１０と、銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）を予め共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。
【００６２】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７から、ホストサーバ１０３のオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（１８０１）。
【００６３】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信すると、乱数生成装置４０７で乱数を生成し、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル１１０１に、受信した振込情報と生成した乱数を格納する。その後、Ｗｅｂサーバ装置４０５は、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と乱数１２０４を示した確認画面１２０１を、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（１８０２）。
【００６４】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面１２０１を受信し、ディスプレイ５０６に確認画面１２０１を表示する。
【００６５】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面１２０１を、スマートフォン１０１のカメラ装置１６０１で撮影する（１８０３、Ｓ１９０１）。また、スマートフォン１０１は、撮影画像をＳＩＭカード２１０へ送信する（１８０４、Ｓ１９０２）。
【００６６】
撮影画像を受け取ったＳＩＭカード２１０の文字認識装置１７０１は、撮影画像に記載されている文字を認識し、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と乱数１２０４を取得する（Ｓ１９０３）。ＳＩＭカード２１０のユーザ端末側の署名生成装置３０３は、文字認識された振込情報や乱数と、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報７０１ａを用いて、鍵付ハッシュや暗号化などを行なうことによって署名を生成する（Ｓ１９０４）。文字認識された振込情報や乱数、及び生成された署名は、スマートフォン１０１へ送信され（１８０５、Ｓ１９０５）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ１９０６）。
【００６７】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）、及び乱数１３０４を確認し、表示されている署名１３０５を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面１２０１の確認コード入力ボックス１２０５へ入力する（１８０６）。
【００６８】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力された署名を、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（１８０７）。
【００６９】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５が署名を受信すると、サーバ側の署名生成装置４０８が、振込情報登録テーブル１１０１に登録しておいた振込情報（振込先口座番号１１０３、振込金額１１０４）と乱数１１０５を取り出し、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に登録されている秘密情報６０３ａ（７０１ｂ）を用いて、ＳＩＭカード２１０のユーザ端末側の署名生成装置３０３と同じ方法で署名を生成する。
【００７０】
次に、ホストサーバ１０３の署名比較装置４０９が、受信した署名と算出した署名を比較する。署名が一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル１１０１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（１８０８）。
【００７１】
一方、署名が一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へエラーを送信する（１８０８）。
【００７２】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し、ディスプレイ５０６に結果を表示し、処理を終了する。
【００７３】
以上のように、カメラで写真撮影した画像データを用いることで、画像データはテキストデータよりも改ざんが困難であり、クライアントコンピュータに感染したＭＩＴＢ攻撃を行なうマルウェアと、ユーザ端末に感染したマルウェアが連携したとしても、悪意を持った行動を行なうことを防止することができる。さらに、ＳＩＭカードを用いることで、マルウェアはＳＩＭカードに感染することが困難であるため、ユーザ端末に感染したマルウェアがＳＩＭカード上で悪意を持った行動を行なうことを防止することができる。そのため、安全性と確実性が保証されたオンライントランザクションを実現することができる。
【００７４】
実施の形態４．
以上の実施の形態３では、高度なマルウェアであれば、カメラで写真撮影した画像を改ざんすることが可能である。本実施の形態では、高度なマルウェアによる画像の改ざんを防ぐ実施の形態を示す。
【００７５】
本実施の形態では、ホストサーバ１０３、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図４、図５と同一である。
【００７６】
図２０は、実施の形態４に係るスマートフォン１０１のハードウェア構成を示す図である。
図２０において、バス２１１にはＣＰＵ２０１、メモリ２０２、フラッシュメモリ２０３、無線ＬＡＮモジュール２０４、通信・通話モジュール２０５、タッチパネルなどの入力インタフェース２０６、及びオーディオインタフェース２０７が接続されている。
【００７７】
さらに、スマートフォン１０１のバス２１１には、表示装置であるディスプレイ２０８、撮影画像改ざん防止装置２００１を介して写真撮影を行なうカメラ装置１６０１、マルウェアが侵入できないセキュアなＳＩＭカード２１０が接続されている。撮影画像改ざん防止装置２００１は、予め何からの方法でＳＩＭカード２１０の撮影画像検証装置２１０１と秘密情報を共有しており、本秘密情報を用いて、撮影画像データに鍵付ハッシュ値などの署名を付与することによって、または撮影画像データを暗号化することによって、撮影画像データの改ざんを防止する装置である。撮影画像改ざん防止装置２００１は、画像改ざん防止部の一例である。
【００７８】
図２１は、実施の形態４に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図２１において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００７９】
さらに、実施の形態３と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の署名生成装置３０３、文字認識装置１７０１が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の署名生成装置３０３は、振込情報のハッシュ値などを算出し、振込情報の署名を生成する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。
【００８０】
また、ＳＩＭカード２１０のバス３０６には、撮影画像検証装置２１０１が接続されている。撮影画像検証装置２１０１は、予め何らかの方法でスマートフォン１０１の撮影画像改ざん防止装置２００１と秘密情報を共有しており、本秘密情報を用いて、鍵付ハッシュ値などの署名を付与されている、または暗号化されている撮影画像データが、正規のものであることを検証する装置である。撮影画像検証装置２１０１は、秘密情報を用いて画像データの鍵付きハッシュ値などの署名を生成し、撮影画像データに付与されている署名と比較して検証することによって、または秘密情報を用いて暗号化された画像データを復号し、正しく復号できたことを確認することによって、正規の撮影画像であることを検証する。
【００８１】
次に、実施の形態４に係るオンライントランザクションの動作について説明する。
図１８のスマートフォン１０１で確認画面１２０１を撮影（１８０３）した後から、振込情報（振込先口座番号１２０２、及び振込金額１２０３）、及び乱数１２０４を文字認識する図１９のＳ１９０３までの動作以外は、実施の形態３と同様である。以下では、図２２を用い、スマートフォン１０１で確認画面１２０１を撮影した後から、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と乱数１２０４を文字認識するまでの動作を説明する。
図２２は、実施の形態４に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【００８２】
図２２において、スマートフォン１０１が、カメラ装置１６０１で画像を撮影（Ｓ２２０１）すると、スマートフォン１０１の撮影画像改ざん防止装置２００１が、署名の付与、または暗号化により撮影画像の改ざん防止処理を行なった（Ｓ２２０２）後、撮影画像をＳＩＭカード２１０へ送信する（１８０４、Ｓ２２０３）。撮影画像を受け取ったＳＩＭカード２１０の画像装置検証装置２１０１は、撮影画像を検証し、正規の画像であるか否かを判定する（Ｓ２２０４、Ｓ２２０５）。
【００８３】
Ｓ２２０５で判定した結果、撮影画像が正規のものである場合には、文字認識装置１７０１が、撮影画像に記載されている文字を認識し、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と乱数１２０４を取得する（Ｓ２２０６）。以後の動作Ｓ２２０７〜Ｓ２２０９は、実施の形態３と同様である。
【００８４】
一方、撮影画像が正規のものでない場合には、不正な画像である旨を通知する不正通知が、スマートフォン１０１へ送信され（Ｓ２２１０）、スマートフォン１０１のディスプレイ２０８によって不正通知が表示されて（Ｓ２２１１）、処理が終了する。
【００８５】
以上のように、スマートフォンの撮影画像改ざん防止装置と、ＳＩＭカードの撮影画像検証装置が予め秘密情報を共有しておき、本秘密情報を用いて改ざんを検知することによって、スマートフォンにマルウェアが感染したとしても、マルウェアによる撮影画像データの改ざんを防止することができる。そのため、より安全なオンライントランザクションを実現することができる。
【００８６】
実施の形態５．
以上の実施の形態３、４では、振込情報や乱数などのトランザクション情報に対して特殊な処理を施さずに、ユーザ端末（スマートフォン）の表示装置（ディスプレイ）がトランザクション情報を表示するものであるが、次に、本実施の形態５では、ユーザ端末の表示装置が、トランザクション情報を表示する時に、予めユーザによって設定された秘密のルールに従って表示する実施の形態を示す。本実施の形態は、実施の形態２で示したユーザ端末の表示方法を、実施の形態３、４に適用する場合に相当する。また、本実施の形態では、振込金額帯によって表示される文字の色が変化することを秘密のルールとして説明するが、秘密のルールはこれに限定するものではない。
【００８７】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一であり、ホストサーバ１０３、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図４、図５と同一である。
【００８８】
図２３は、実施の形態５に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図２３において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００８９】
さらに、実施の形態３と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の署名生成装置３０３、文字認識装置１７０１が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の署名生成装置３０３は、振込情報のハッシュ値などを算出し、振込情報の署名を生成する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。
【００９０】
また、ＳＩＭカード２１０のバス３０６には、表示規則保持装置１４０１が接続されている。表示規則保持装置１４０１は、スマートフォン１０１がディスプレイ２０８に振込情報や乱数を表示する際の表示方法を定める表示規則を、安全に保持する装置である。表示規則は、実施の形態３と同様に、図１５に示す表示規則テーブル１５０１により保持され、何らかの方法で予めユーザによって設定される。
【００９１】
次に、実施の形態５に係るオンライントランザクションの動作について説明する。
図１３の振込情報（振込先口座番号１３０２、及び振込金額１３０３）、乱数１３０４、署名１３０５がスマートフォン１０１のディスプレイ２０８によって表示される図１９のＳ１９０６以外の動作は、実施の形態３と同様である。
【００９２】
スマートフォン１０１のディスプレイ２０８が、（振込先口座番号１３０２、及び振込金額１３０３）、乱数１３０４、署名１３０５を表示する際、ディスプレイ２０８は、ＳＩＭカード２１０の表示規則保持装置１４０１から表示規則テーブル１５０１を取得し、表示規則テーブル１５０１に従って文字色を変える。例えば、図１５に示す表示規則テーブル１５０１に従って、振込金額１３０３が￥１０，０００の場合、ディスプレイ２０８は、文字色を茶色にする。
【００９３】
以上のように、マルウェアが侵入することができないＳＩＭカードに、予めユーザが設定した表示規則を保持しておき、スマートフォンが表示規則に従ってトランザクション情報を表示するため、スマートフォンに感染したマルウェアが、ユーザに気づかれずに表示を変更することが困難となる。そのため、より安全なオンライントランザクションを実現することができる。
【００９４】
実施の形態６．
以上の実施の形態３〜５では、確認画面にトランザクション情報（振込情報、及び乱数）をテキストで表示し、ユーザ端末のカメラで写真撮影した確認画面から文字認識で得られた情報のみを用いて、処理を行なっていた。本実施の形態では、確認画面に表示されたトランザクション情報のみならず、二次元コードも用いる実施の形態を示す。本実施の形態では、トランザクションの認証にワンタイムパスワードを用いる形態で説明するが、鍵付ハッシュ演算と乱数、署名を用いても同様の処理を行なうことが可能であり、ワンタイムパスワードに限定するものではない。
【００９５】
本実施の形態では、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。また、スマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。
【００９６】
図２４は、実施の形態６に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図２４において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【００９７】
さらに、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、文字認識装置１７０１、二次元コード処理装置２４０１、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。二次元コード処理装置２４０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている二次元コードを認識し、二次元コードからデータを取得する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字認識装置１７０１で文字認識された振込情報と、二次元コード処理装置２４０１によって取得されたデータから得られる振込情報を比較し、比較結果を出力する装置である。二次元コード処理装置２４０１は情報抽出部の一例であり、暗号処理装置２４０２は認証情報生成部の一例であり、比較装置２４０３は検証部の一例である。
【００９８】
図２５は、実施の形態６に係るホストサーバ１０３のハードウェア構成を示す図である。
図２５において、バス４１１には、ＣＰＵ４０１、メモリ４０２、ハードディスクドライブ（ＨＤＤ）４０３、通信モジュール４０４が接続されている。
【００９９】
さらに、ホストサーバ１０３のバス４１１には、オンライントランザクションサーバであるＷｅｂサーバ装置４０５、サーバ側の秘密情報保持装置４０６、乱数生成装置４０７、トランザクション装置４１０、サーバ側の暗号処理装置２５０１、二次元コード生成装置２５０２、サーバ側の比較装置２５０３が接続されている。Ｗｅｂサーバ装置４０５は、クライアントコンピュータ１０２にオンラインバンキングサービスを提供する装置である。サーバ側の秘密情報保持装置４０６は、予め何らかの方法でスマートフォン１０１と共有している秘密情報を保持する装置である。乱数生成装置４０７は、ランダムな文字列を含んだワンタイムパスワード、または乱数を生成する装置である。トランザクション装置４１０は、振込などの取引を処理する装置である。サーバ側の暗号処理装置２５０１は、サーバ側の秘密情報保持装置４０６に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。二次元コード生成装置２５０２は、入力されるデータから二次元コードを生成する装置である。サーバ側の比較装置２５０３は、Ｗｅｂサーバ装置４０５で受信した情報と、乱数生成装置４０７で生成されたワンタイムパスワード、または乱数を比較し、比較結果を出力する装置である。暗号処理装置２５０１、二次元コード生成装置２５０２はサーバ署名生成部の一例であり、比較装置２５０３は比較部の一例である。
【０１００】
ホストサーバ１０３のサーバ側の秘密情報保持装置４０６は、図６に例示するように、ユーザ毎にユーザＩＤ６０２（６０２ａ、６０２ｂ、６０３ｃ・・・）と、対応する秘密情報６０３（６０３ａ、６０３ｂ、６０３ｃ・・・）を格納した秘密情報管理テーブル６０１を保持する。
【０１０１】
次に、実施の形態６に係るオンライントランザクションの動作について説明する。
図２６は、実施の形態６に係るオンライントランザクションの動作シーケンスを示す図である。
図２７は、実施の形態６に係るクライアントコンピュータ１０２の動作の流れを示すフローチャートである。
図２８は、実施の形態６に係るホストサーバ１０３の動作の流れを示すフローチャートである。
図２９は、実施の形態６に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
図３０は、ホストサーバ１０３に登録される振込情報（振込先口座番号１１０３、及び振込金額１１０４）、ワンタイムパスワードまたは乱数３００２を格納する振込情報登録テーブル３００１の例を示す図である。
図３１は、ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面３１０１の例を示す図である。
図３２は、スマートフォン１０１が振込情報（振込先口座番号１３０２、及び振込金額１３０３）と、ワンタイムパスワードまたは署名３２０２を表示する画面３２０１の例を示す図である。
【０１０２】
図２６において、まず、スマートフォン１０１のＳＩＭカード２１０と、銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）を予め共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。
【０１０３】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７から、ホストサーバ１０３のオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後（Ｓ２７０１）、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（２６０１、Ｓ２７０２）。
【０１０４】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信する（Ｓ２８０１）と、乱数生成装置４０７でワンタイムパスワードを生成し（Ｓ２８０２）、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル３００１に、受信した振込情報と生成したワンタイムパスワードを格納する（Ｓ２８０３）。その後、サーバ側の暗号処理装置２５０１が、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に保持されている秘密情報６０３ａ（７０１ｂ）を用いて、振込情報とワンタイムパスワードを暗号化し（Ｓ２８０４）、二次元コード生成装置２５０２が、暗号化されたデータを入力にして二次元コードを生成する（Ｓ２８０５）。Ｗｅｂサーバ装置４０５は、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と二次元コード３１０２を示した確認画面３１０１を、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（２６０２、Ｓ２８０６）。
【０１０５】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面３１０１を受信し（Ｓ２７０３）、ディスプレイ５０６に確認画面３１０１を表示する（Ｓ２７０４）。
【０１０６】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面３１０１を、スマートフォン１０１のカメラ装置１６０１で撮影する（２６０３、Ｓ２９０１）。また、スマートフォン１０１は、撮影画像をＳＩＭカード２１０へ送信する（２６０４、Ｓ２９０２）。
【０１０７】
撮影画像を受け取ったＳＩＭカード２１０の文字認識装置１７０１は、撮影画像に記載されている文字を認識し、振込情報（振込先口座番号１２０２、及び振込金額１２０３）を取得する（Ｓ２９０３）。また、二次元コード処理装置２４０１は、撮影画像に記載されている二次元コード３１０２を認識し、二次元コード３１０２からデータを取得する（Ｓ２９０４）。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持された秘密情報７０１ａを用いて、二次元コード３１０２から取得したデータを復号し、振込情報とワンタイムパスワードを取得する（Ｓ２９０５）。
【０１０８】
次に、ユーザ端末側の比較装置２４０３が、文字認識装置１７０１によって取得された振込情報と、ユーザ端末側の暗号処理装置２４０２によって取得された振込情報を比較し、振込情報が一致するか否か判定する（Ｓ２９０６、Ｓ２９０７）。振込情報が一致した場合には、ユーザ端末側の暗号処理装置２４０２によって取得された（Ｓ２９０８）ワンタイムパスワードが、振込情報と共にスマートフォン１０１へ送信され（２６０５、Ｓ２９０９）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ２９１０）。
【０１０９】
一方、Ｓ２９０７で判定した結果、振込情報が一致しなかった場合には、エラー通知が、スマートフォン１０１へ送信され（Ｓ２９１１）、スマートフォン１０１のディスプレイ２０８によってエラーが表示され（Ｓ２９１２）、処理を終了する。
【０１１０】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）を確認し、表示されているワンタイムパスワード３２０２を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面３１０１のワンタイムパスワード入力ボックス３１０３へ入力する（２６０６、Ｓ２７０５）。
【０１１１】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力されたワンタイムパスワードを、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（２６０７、Ｓ２７０６）。
【０１１２】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５がワンタイムパスワードを受信（Ｓ２８０７）すると、サーバ側の比較装置２５０３が、振込情報登録テーブル３００１に登録しておいたワンタイムパスワード３００２を取り出し、取り出したワンタイムパスワードと受信したワンタイムパスワードを比較し、ワンタイムパスワードが一致するか否か判定する（Ｓ２８０８、Ｓ２８０９）。ワンタイムパスワードが一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル３００１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し（Ｓ２８１０）、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（２６０８、Ｓ２８１１）。
【０１１３】
一方、Ｓ２８０９で判定した結果、ワンタイムパスワードが一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、エラーを送信する（２６０８、Ｓ２８１２）。
【０１１４】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し（Ｓ２７０７）、ディスプレイ５０６に結果を表示し（Ｓ２７０８）、処理を終了する。
【０１１５】
以上のように、文字で示されたトランザクション情報のみならず二次元コードも用い、文字認識されたトランザクション情報と、二次元コードに埋め込まれたトランザクション情報を比較することによって、トランザクション情報の改ざんがより困難となる。よって、クライアントコンピュータに感染したＭＩＴＢ攻撃を行なうマルウェアと、ユーザ端末に感染したマルウェアが連携したとしても、悪意を持った行動を行なうことが困難となる。さらに、ＳＩＭカードを用いることで、マルウェアはＳＩＭカードに感染することが困難であるため、ユーザ端末に感染したマルウェアがＳＩＭカード上で悪意を持った行動を行なうことを防止することができる。そのため、安全性と確実性が保証されたオンライントランザクションを実現することができる。
【０１１６】
実施の形態７．
以上の実施の形態６では、ホストサーバが、トランザクション情報（振込情報）に対して署名を行なわず、トランザクション情報そのものを二次元コードに埋め込んで送信し、ユーザ端末がトランザクション情報の比較を行なうものである。本実施の形態では、ホストサーバが、トランザクション情報（振込情報）の署名を二次元コードに埋め込んで送信し、ユーザ端末が署名の比較を行なう実施の形態を示す。なお、本実施の形態では、ワンタイムパスワードを用いる例で説明するが、鍵付ハッシュ演算と乱数、署名を用いても同様の処理を行なうことが可能であり、ワンタイムパスワードに限定するものではない。また、本実施の形態では、ハッシュ演算を用いて署名を行なうが、署名を行なう方法はハッシュ演算に限定するものではない。
【０１１７】
本実施の形態では、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。また、スマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。
【０１１８】
図３３は、実施の形態７に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図３３において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０１１９】
さらに、実施の形態６と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、文字認識装置１７０１、二次元コード処理装置２４０１、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。また、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の署名演算装置３３０１が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。二次元コード処理装置２４０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている二次元コードを認識し、二次元コードからデータを取得する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の署名演算装置３３０１は、文字認識装置１７０１によって文字認識された振込情報の署名を演算する装置である。ユーザ端末側の比較装置２４０３は、ユーザ端末側の署名演算装置３３０１によって演算された署名と、二次元コード処理装置２４０１によって取得されたデータから得られる署名を比較し、比較結果を出力する装置である。署名演算装置３３０１は、署名生成部の一例である。
【０１２０】
図３４は、実施の形態７に係るホストサーバ１０３のハードウェア構成を示す図である。
図３４において、バス４１１には、ＣＰＵ４０１、メモリ４０２、ハードディスクドライブ（ＨＤＤ）４０３、通信モジュール４０４が接続されている。
【０１２１】
さらに、ホストサーバ１０３のバス４１１には、オンライントランザクションサーバであるＷｅｂサーバ装置４０５、サーバ側の秘密情報保持装置４０６、乱数生成装置４０７、トランザクション装置４１０、サーバ側の暗号処理装置２５０１、二次元コード生成装置２５０２、サーバ側の比較装置２５０３が接続されている。Ｗｅｂサーバ装置４０５は、クライアントコンピュータ１０２にオンラインバンキングサービスを提供する装置である。サーバ側の秘密情報保持装置４０６は、予め何らかの方法でスマートフォン１０１と共有している秘密情報を保持する装置である。乱数生成装置４０７は、ランダムな文字列を含んだワンタイムパスワード、または乱数を生成する装置である。トランザクション装置４１０は、振込などの取引を処理する装置である。サーバ側の暗号処理装置２５０１は、サーバ側の秘密情報保持装置４０６に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。二次元コード生成装置２５０２は、入力されるデータから二次元コードを生成する装置である。サーバ側の比較装置２５０３は、Ｗｅｂサーバ装置４０５で受信した情報と、乱数生成装置４０７で生成されたワンタイムパスワード、または乱数を比較し、比較結果を出力する装置である。
【０１２２】
また、ホストサーバ１０３のバス４１１には、サーバ側の署名演算装置３４０１が接続されている。サーバ側の署名演算装置３４０１は、振込情報の署名を演算する装置である。署名演算装置３４０１は、サーバ署名生成部の一例である。
【０１２３】
ホストサーバ１０３のサーバ側の秘密情報保持装置４０６は、図６に例示するように、ユーザ毎にユーザＩＤ６０２（６０２ａ、６０２ｂ、６０３ｃ・・・）と、対応する秘密情報６０３（６０３ａ、６０３ｂ、６０３ｃ・・・）を格納した秘密情報管理テーブル６０１を保持する。
【０１２４】
次に、実施の形態７に係るオンライントランザクションの動作について説明する。
図３５は、実施の形態７に係るホストサーバ１０３の動作の流れを示すフローチャートである。
図３６は、実施の形態７に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
また、実施の形態６で説明した図２６、図２７、図３０〜図３２も、適宜参照しながら説明する。
【０１２５】
図２６において、まず、スマートフォン１０１のＳＩＭカード２１０と、銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）を予め共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。
【０１２６】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７から、ホストサーバ１０３のオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後（Ｓ２７０１）、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（２６０１、Ｓ２７０２）。
【０１２７】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信する（Ｓ３５０１）と、乱数生成装置４０７でワンタイムパスワードを生成し（Ｓ３５０２）、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル３００１に、受信した振込情報と生成したワンタイムパスワードを格納する（Ｓ３５０３）。その後、サーバ側の署名演算装置３４０１が、振込情報のハッシュ値を演算して署名を生成する（Ｓ３５０４）。サーバ側の暗号処理装置２５０１が、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に保持されている秘密情報６０３ａ（７０１ｂ）を用いて、振込情報の署名とワンタイムパスワードを暗号化し（Ｓ３５０５）、二次元コード生成装置２５０２が、暗号化されたデータを入力にして二次元コードを生成する（Ｓ３５０６）。Ｗｅｂサーバ装置４０５は、振込情報（振込先口座番号１２０２、及び振込金額１２０３）と二次元コード３１０２を示した確認画面３１０１を、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（２６０２、Ｓ３５０７）。
【０１２８】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面３１０１を受信し（Ｓ２７０３）、ディスプレイ５０６に確認画面３１０１を表示する（Ｓ２７０４）。
【０１２９】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面３１０１を、スマートフォン１０１のカメラ装置１６０１で撮影する（２６０３、Ｓ３６０１）。また、スマートフォン１０１は、撮影画像をＳＩＭカード２１０へ送信する（２６０４、Ｓ３６０２）。
【０１３０】
撮影画像を受け取ったＳＩＭカード２１０の文字認識装置１７０１は、撮影画像に記載されている文字を認識し、振込情報（振込先口座番号１２０２、及び振込金額１２０３）を取得する（Ｓ３６０３）。また、二次元コード処理装置２４０１は、撮影画像に記載されている二次元コード３１０２を認識し、二次元コード３１０２からデータを取得する（Ｓ３６０４）。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持された秘密情報７０１ａを用いて、二次元コード３１０２から取得したデータを復号し、振込情報の署名とワンタイムパスワードを取得する（Ｓ３６０５）。
【０１３１】
次に、ユーザ端末側の署名演算装置３３０１が、文字認識装置１７０１によって文字認識された振込情報のハッシュ値を演算し、振込情報の署名を生成する（Ｓ３６０６）。ユーザ端末側の比較装置２４０３は、ユーザ端末側の署名演算装置３３０１によって演算された署名と、ユーザ端末側の暗号処理装置２４０２によって取得された振込情報の署名を比較し、署名が一致するか否かを判定する（Ｓ３６０７、Ｓ３６０８）。署名が一致した場合には、ユーザ端末側の暗号処理装置２４０２によって取得された（Ｓ３６０９）ワンタイムパスワードが、振込情報と共にスマートフォン１０１へ送信され（２６０５、Ｓ３６１０）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ３６１１）。
【０１３２】
一方、Ｓ３６０８で判定した結果、署名が一致しなかった場合には、エラー通知が、スマートフォン１０１へ送信され（Ｓ３６１２）、スマートフォン１０１のディスプレイ２０８によってエラーが表示され（Ｓ３６１３）、処理を終了する。
【０１３３】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）を確認し、表示されているワンタイムパスワード３２０２を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面３１０１のワンタイムパスワード入力ボックス３１０３へ入力する（２６０６、Ｓ２７０５）。
【０１３４】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力されたワンタイムパスワードを、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（２６０７、Ｓ２７０６）。
【０１３５】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５がワンタイムパスワードを受信（Ｓ３５０８）すると、サーバ側の比較装置２５０３が、振込情報登録テーブル３００１に登録しておいたワンタイムパスワード３００２を取り出し、取り出したワンタイムパスワードと受信したワンタイムパスワードを比較し、ワンタイムパスワードが一致するか否か判定する（Ｓ３５０９、Ｓ３５１０）。ワンタイムパスワードが一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル３００１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し（Ｓ３５１１）、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（２６０８、Ｓ３５１２）。
【０１３６】
一方、Ｓ３５１０で判定した結果、ワンタイムパスワードが一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、エラーを送信する（２６０８、Ｓ３５１３）。
【０１３７】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し（Ｓ２７０７）、ディスプレイ５０６に結果を表示し（Ｓ２７０８）、処理を終了する。
【０１３８】
以上のように、振込情報の署名を用いることで、振込情報のデータサイズが大きい場合には、二次元コードに埋め込むデータのサイズを削減することが可能となる。また、比較する情報が署名のみとなるため、ユーザ端末上での比較が簡単になる。
【０１３９】
実施の形態８．
以上の実施の形態６、７では、高度なマルウェアであれば、カメラで写真撮影した画像を改ざんすることが可能である。本実施の形態では、高度なマルウェアによる画像の改ざんを防ぐ実施の形態を示す。
【０１４０】
本実施の形態では、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。また、スマートフォン１０１のハードウェア構成は、実施の形態４で示した図２０と同一である。また、ホストサーバ１０３のハードウェア構成は、実施の形態６で示した図２５と同一である。
【０１４１】
図３７は、実施の形態８に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図３７において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０１４２】
さらに、実施の形態６と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、文字認識装置１７０１、二次元コード処理装置２４０１、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。二次元コード処理装置２４０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている二次元コードを認識し、二次元コードからデータを取得する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字認識装置１７０１で文字認識された振込情報と、二次元コード処理装置２４０１によって取得されたデータから得られる振込情報を比較し、比較結果を出力する装置である。
【０１４３】
また、ＳＩＭカード２１０のバス３０６には、撮影画像検証装置２１０１が接続されている。撮影画像検証装置２１０１は、予め何らかの方法でスマートフォン１０１の撮影画像改ざん防止装置２００１と秘密情報を共有しており、本秘密情報を用いて、鍵付ハッシュ値などの署名を付与されている、または暗号化されている撮影画像データが、正規のものであることを検証する装置である。撮影画像検証装置２１０１は、秘密情報を用いて画像データの鍵付きハッシュ値などの署名を生成し、撮影画像データに付与されている署名と比較して検証することによって、または秘密情報を用いて暗号化された画像データを復号し、正しく復号できたことを確認することによって、正規の撮影画像であることを検証する。
【０１４４】
次に、実施の形態８に係るオンライントランザクションの動作について説明する。
図２９のスマートフォン１０１で確認画面３１０１を撮影した（Ｓ２９０１）後から、文字認識で振込情報を認識するＳ２９０３までの動作以外は、実施の形態６と同様である。以下では、図３８を用い、スマートフォン１０１で確認画面３１０１を撮影した後から、文字認識で振込み情報を認識するまでの動作を説明する。
図３８は、実施の形態８に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【０１４５】
図３８において、スマートフォン１０１が、カメラ装置１６０１で画像を撮影（Ｓ３８０１）すると、スマートフォン１０１の撮影画像改ざん防止装置２００１が、署名の付与、または暗号化により撮影画像の改ざん防止処理を行なった（Ｓ３８０２）後、撮影画像をＳＩＭカード２１０へ送信する（Ｓ３８０３）。撮影画像を受け取ったＳＩＭカード２１０の画像装置検証装置２１０１は、撮影画像を検証し、正規の画像であるか否かを判定する（Ｓ３８０４、Ｓ３８０５）。
【０１４６】
Ｓ３８０５で判定した結果、撮影画像が正規のものである場合には、文字認識装置１７０１が、撮影画像に記載されている文字を認識し、振込情報（振込先口座番号１２０２、及び振込金額１２０３）を取得する（Ｓ３８０６）。以後の動作Ｓ３８０７〜Ｓ３８１５は、実施の形態３と同様である。
【０１４７】
一方、撮影画像が正規のものでない場合には、エラーがスマートフォン１０１へ送信され（Ｓ３８１４）、スマートフォン１０１のディスプレイ２０８によってエラーが表示されて（Ｓ３８１５）、処理が終了する。
【０１４８】
以上のように、スマートフォンの撮影画像改ざん防止装置と、ＳＩＭカードの撮影画検証装置が予め秘密情報を共有しておき、本秘密情報を用いて改ざんを検知することによって、スマートフォンにマルウェアが感染したとしても、マルウェアによる撮影画像データの改ざんを防止することができる。そのため、より安全なオンライントランザクションを実現することができる。
【０１４９】
実施の形態９．
以上の実施の形態６〜８では、振込情報や乱数などのトランザクション情報に対して特殊な処理を施さずに、ユーザ端末（スマートフォン）の表示装置（ディスプレイ）がトランザクション情報を表示するものであるが、次に、本実施の形態９では、ユーザ端末の表示装置が、トランザクション情報を表示する時に、予めユーザによって設定された秘密のルールに従って表示する実施の形態を示す。本実施の形態は、実施の形態２で示したユーザ端末の表示方法を、実施の形態６〜８に適用する場合に相当する。また、本実施の形態では、振込金額帯によって表示される文字の色が変化することを秘密のルールとして説明するが、秘密のルールはこれに限定するものではない。
【０１５０】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。また、ホストサーバ１０３のハードウェア構成は、実施の形態６で示した図２５と同一である。また、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。
【０１５１】
図３９は、実施の形態９に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図３９において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０１５２】
さらに、実施の形態６と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、文字認識装置１７０１、二次元コード処理装置２４０１、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。文字認識装置１７０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に記載されている文字を認識する装置である。二次元コード処理装置２４０１は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている二次元コードを認識し、二次元コードからデータを取得する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字認識装置１７０１で文字認識された振込情報と、二次元コード処理装置２４０１によって取得されたデータから得られる振込情報を比較し、比較結果を出力する装置である。
【０１５３】
また、ＳＩＭカード２１０のバス３０６には、表示規則保持装置１４０１が接続されている。表示規則保持装置１４０１は、スマートフォン１０１がディスプレイ２０８に振込情報、及びワンタイムパスワードを表示する際の表示方法を定める表示規則を、安全に保持する装置である。表示規則は、何らかの方法で予めユーザによって設定され、図１５に例示するような表示規則テーブル１５０１として表示規則保持装置１４０１に保持される。
【０１５４】
次に、実施の形態９に係るオンライントランザクションの動作について説明する。
図３２の振込情報（振込先口座番号１３０２、及び振込金額１３０３）、及びワンタイムパスワード３２０２がスマートフォン１０１のディスプレイ２０８によって表示される図２９のＳ２９１０以外の動作は、図２６から図３２を用いて説明した実施の形態６と同じである。
【０１５５】
スマートフォン１０１のディスプレイ２０８が、（振込先口座番号１３０２、及び振込金額１３０３）やワンタイムパスワード３２０２を表示する際、ディスプレイ２０８は、ＳＩＭカード２１０の表示規則保持装置１４０１から表示規則テーブル１５０１を取得し、表示規則テーブル１５０１に従って文字色を変える。例えば、図１５に示す表示規則テーブル１５０１に従って、振込金額１３０３が￥１０，０００の場合、ディスプレイ２０８は、文字色を茶色にする。
【０１５６】
以上のように、マルウェアが侵入することができないＳＩＭカードに、予めユーザが設定した表示規則を保持しておき、スマートフォンが表示規則に従ってトランザクション情報を表示するため、スマートフォンに感染したマルウェアが、ユーザに気づかれずに表示を変更することが困難となる。そのため、より安全なオンライントランザクションを実現することができる。
【０１５７】
実施の形態１０．
以上の実施の形態６〜９では、トランザクション情報（振込情報、及びワンタイムパスワード）を二次元コードに埋め込んでいる。本実施の形態では、トランザクション情報（振込情報）を表す文字画像に、トランザクション情報（振込情報、及びワンタイムパスワード）を埋め込む実施の形態を示す。なお、本実施の形態では、トランザクションの認証にワンタイムパスワードを用いる例で説明するが、鍵付ハッシュ演算と乱数、署名を用いても同様の処理を行なうことが可能であり、ワンタイムパスワードに限定するものではない。
【０１５８】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。また、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。
【０１５９】
図４０は、実施の形態１０に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図４０において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０１６０】
さらに、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の情報埋込規則保持装置４００１、文字画像認識装置４００２、埋込情報抽出装置４００３、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。情報埋込規則保持装置４００１は、情報埋込規則記憶部の一例である。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の情報埋込規則保持装置４００１は、予め何らかの方法で銀行のホストサーバ１０３と共有している情報埋込規則４７０１を保持する装置である。文字画像認識装置４００２は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている文字画像で表されている文字を認識する装置である。埋込情報抽出装置４００３は、スマートフォン１０１のカメラ装置１６０１で写真撮影した文字画像に埋め込まれている情報である埋込情報データを抽出する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字画像認識装置４００２によって認識された振込情報と、埋込情報抽出装置４００３によって抽出された埋込情報データから得られる振込情報を比較し、比較結果を出力する装置である。情報埋込規則保持装置４００１は情報埋込規則記憶部の一例であり、文字画像認識装置４００２は検証部の一例であり、埋込情報抽出装置４００３は情報抽出部の一例である。
【０１６１】
図４１は、実施の形態１０に係るホストサーバ１０３のハードウェア構成を示す図である。
図４１において、バス４１１には、ＣＰＵ４０１、メモリ４０２、ハードディスクドライブ（ＨＤＤ）４０３、通信モジュール４０４が接続されている。
【０１６２】
さらに、ホストサーバ１０３のバス４１１には、オンライントランザクションサーバであるＷｅｂサーバ装置４０５、サーバ側の秘密情報保持装置４０６、乱数生成装置４０７、トランザクション装置４１０、サーバ側の情報埋込規則保持装置４１０１、文字画像生成装置４１０２、サーバ側の暗号処理装置２５０１、サーバ側の比較装置２５０３が接続されている。Ｗｅｂサーバ装置４０５は、クライアントコンピュータ１０２にオンラインバンキングサービスを提供する装置である。サーバ側の秘密情報保持装置４０６は、予め何らかの方法でスマートフォン１０１と共有している秘密情報を保持する装置である。乱数生成装置４０７は、ランダムな文字列を含んだワンタイムパスワード、または乱数を生成する装置である。トランザクション装置４１０は、振込などの取引を処理する装置である。サーバ側の情報埋込規則保持装置４１０１は、予め何らかの方法でスマートフォン１０１と共有している情報埋込規則４７０１を保持する装置である。文字画像生成装置４１０２は、サーバ側の情報埋込規則保持装置４１０１に保持されている情報埋込規則４７０１に従って、埋込情報データを埋め込んだ文字画像を生成する装置である。サーバ側の暗号処理装置２５０１は、サーバ側の秘密情報保持装置４０６に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。サーバ側の比較装置２５０３は、Ｗｅｂサーバ装置４０５で受信した情報と、乱数生成装置４０７で生成されたワンタイムパスワード、または乱数を比較し、比較結果を出力する装置である。
【０１６３】
ホストサーバ１０３のサーバ側の秘密情報保持装置４０６は、図６に例示するように、ユーザ毎にユーザＩＤ６０２（６０２ａ、６０２ｂ、６０３ｃ・・・）と、対応する秘密情報６０３（６０３ａ、６０３ｂ、６０３ｃ・・・）を格納した秘密情報管理テーブル６０１を保持する。
【０１６４】
また、ホストサーバ１０３のサーバ側の情報埋込規則保持装置４１０１は、情報埋込規則テーブル４８０１を保持する。
図４８は、情報埋込規則テーブル４８０１の一例を示す図である。
図４８に例示するように、ユーザ毎にユーザＩＤ４８０２（４８０２ａ・・・）と、対応する情報埋込規則４８０３（４８０３ａ・・・)・４７０１を格納した情報埋込規則テーブル４８０１を保持する。なお、本実施の形態では、ユーザ毎に異なる情報埋込規則４８０３（４８０３ａ・・・）・４７０１が情報埋込規則テーブル４８０１として保持されているが、全ユーザで同一の情報埋込規則４７０１を保持することも可能である。
【０１６５】
図４７は、スマートフォン１０１と銀行のホストサーバ１０３が共有する情報埋込規則４７０１の一例を示す図である。
図４７では、同じ文字であっても、文字の形（フォント）毎、文字の色毎、文字枠の色毎、文字の背景色毎、文字の傾き毎、文字の大きさ毎に異なるビット列が表される。例えば、図４７において、文字の数値「０」の形（フォント）が明朝体であり、文字の色が赤であり、文字枠の色が白であり、文字の背景色が赤であり、傾きが０°であり、大きさが基準とする文字の０．８倍である場合には、文字画像に埋め込まれている情報は、ビット列００  ００  ００  ００  ０００  ０００を意味する。
【０１６６】
本実施の形態では、前述したとおりユーザ毎に情報埋込規則４７０１が異なるため、文字「０」の形（フォント）が明朝体であり、文字の色が赤であり、文字枠の色が白であり、文字の背景色が赤であり、傾きが０°であり、大きさが基準とする文字の０．８倍であっても、ユーザ毎に異なるビット列となる。さらに、本実施の形態では、全ユーザでビット列を並べる順序が、文字の形（フォント）毎、文字の色毎、文字枠の色毎、文字の背景色毎、文字の傾き毎、文字の大きさの順とするが、ユーザ毎にビット列を並べる順序が異なっても良い。また、本実施の形態では、文字の形（フォント）、文字の色、文字枠の色、文字の背景色、文字の傾き、文字の大きさに対応するビット列が、文字毎に異なるが、対応するビット列が、全ての文字で同じでも良い。
【０１６７】
次に、実施の形態１０に係るオンライントランザクションの動作について説明する。
図４２は、実施の形態１０に係るオンライントランザクションの動作シーケンスを示す図である。
図４３は、実施の形態１０に係るホストサーバ１０３の動作の流れを示すフローチャートである。
図４４は、実施の形態１０に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
図４５は、ホストサーバ１０３がクライアントコンピュータ１０２へ送信する振込の確認画面４５０１の例を示す図である。
図４６は、確認画面４５０１の振込情報を埋め込んだ文字画像４６０１の例を示す図である。
【０１６８】
図４２において、予めスマートフォン１０１のＳＩＭカード２１０と銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）と、情報埋込規則４２０１（４２０１ａ、４２０１ｂ）を共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。ＳＩＭカード２１０側の情報埋込規則４２０１ａは、ＳＩＭカード２１０のユーザ端末側の情報埋込規則保持装置４００１に保存され、ホストサーバ１０３側の情報埋込規則４２０１ｂは、ホストサーバ１０３のサーバ側の情報埋込規則保持装置４１０１で保持されている情報埋込規則テーブル４８０１の情報埋込規則４８０３（４８０３ａ）に格納される。
【０１６９】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７からオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（４２０２）。
【０１７０】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信する（Ｓ４３０１）と、乱数生成装置４０７でワンタイムパスワードを生成し（Ｓ４３０２）、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル３００１に、受信した振込情報と生成したワンタイムパスワードを格納する（Ｓ４３０３）。その後、サーバ側の暗号処理装置２５０１が、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に保持されている秘密情報６０３ａ（７０１ｂ）を用いて、振込情報とワンタイムパスワードを暗号化し（Ｓ４３０４）、文字画像生成装置４１０２が、暗号化されたデータを入力にして、情報埋込規則テーブル４８０１に保持されている情報埋込規則４２０１ｂ・４８０３・４７０１に従い、振込情報を示す文字画像４６０１を作成する（Ｓ４３０５）。Ｗｅｂサーバ装置４０５は、文字画像４６０１を含んだ確認画面４５０１をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（４２０３、Ｓ４３０６）。
【０１７１】
文字画像生成装置４１０２によって生成される文字画像４６０１には、振込情報を示す各文字画像４６０２ａ〜４６０２ｐに暗号化されたデータが埋め込まれている。また、文字画像４６０１には、基準とする文字画像４６０３が埋め込まれており、各文字画像４６０２ａ〜４６０２ｐの大きさ判定などに用いられる。例えば、文字画像４６０２ｉは、形（フォント）がゴシック体であり、文字の色が赤であり、文字枠の色が黒であり、背景色が黄色であり、傾きが２７０°であり、文字の大きさが基準とする文字画像４６０３の等倍（１．０倍）であるため、情報埋込規則４７０１に従うと、ビット列０１  ００  ０１  １１  １１０  ００１の情報が埋め込まれていることになる。なお、本実施の形態では、基準とする文字画像４６０３として「￥」を用いているが、「￥」に限定するものではなく、「￥」に情報を埋め込むことも可能である。
【０１７２】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面４５０１を受信し、ディスプレイ５０６に確認画面４５０１を表示する。
【０１７３】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面４５０１を、スマートフォン１０１のカメラ装置１６０１で撮影する（４２０４、Ｓ４４０１）。また、スマートフォン１０１は、撮影画像をＳＩＭカード２１０へ送信する（４２０５、Ｓ４４０２）。
【０１７４】
次に、撮影画像を受け取ったＳＩＭカード２１０の文字画像認識装置４００２は、確認画面４５０１の文字画像４６０１に示されている文字を認識し、振込情報（振込先口座番号４６０２ａ〜４６０２ｈ、及び振込金額４６０２ｉ〜４６０２ｐ)を取得する（Ｓ４４０３）。また、埋込情報抽出装置４００３は、ユーザ端末側の情報埋込規則保持装置４００１に保持されている情報埋込規則４２０１ａ・４７０１を用いて、文字画像４６０１に埋め込まれた埋込情報を抽出する（Ｓ４４０４）。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持された秘密情報７０１ａを用いて、埋込情報抽出装置４００３によって取得された埋込情報を復号し、振込情報とワンタイムパスワードを取得する（Ｓ４４０５）。
【０１７５】
次に、ユーザ端末側の比較装置２４０３が、文字画像認識装置４００２によって取得された振込情報と、ユーザ端末側の暗号処理装置２４０２によって取得された振込情報を比較し、振込情報が一致するか否かを判定する（Ｓ４４０６、Ｓ４４０７）。振込情報が一致した場合には、ユーザ端末側の暗号処理装置２４０２によって取得された（Ｓ４４０８）ワンタイムパスワードが、振込情報と共にスマートフォン１０１へ送信され（４２０６、Ｓ４４０９）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ４４１０）。
【０１７６】
一方、Ｓ４４０７で判定した結果、振込情報が一致しなかった場合には、エラー通知が、スマートフォン１０１へ送信され（Ｓ４４１１）、スマートフォン１０１のディスプレイ２０８によってエラー通知が表示され（Ｓ４４１２）、処理を終了する。
【０１７７】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）を確認し、表示されているワンタイムパスワード３２０２を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面４５０１のワンタイムパスワード入力ボックス３１０３へ入力する（４２０７）。
【０１７８】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力されたワンタイムパスワードを、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（４２０８）。
【０１７９】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５がワンタイムパスワードを受信（Ｓ４３０７）すると、サーバ側の比較装置２５０３が、振込情報登録テーブル３００１に登録しておいたワンタイムパスワード３００２を取り出し、取り出したワンタイムパスワードと受信したワンタイムパスワードを比較し、ワンタイムパスワードが一致するか否か判定する（Ｓ４３０８、Ｓ４３０９）。ワンタイムパスワードが一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル３００１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し（Ｓ４３１０）、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（４２０９、Ｓ４３１１）。
【０１８０】
一方、Ｓ４３０９で判定した結果、ワンタイムパスワードが一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、エラーを送信する（４２０９、Ｓ４３１２）。
【０１８１】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し、ディスプレイ５０６に結果を表示して、処理を終了する。
【０１８２】
以上のように、トランザクション情報を示す文字画像にトランザクション情報を埋め込み、文字画像認識されたトランザクション情報と、文字画像に埋め込まれたトランザクション情報を比較することによって、トランザクション情報の改ざんがより困難となる。よって、クライアントコンピュータに感染したＭＩＴＢ攻撃を行なうマルウェアと、ユーザ端末に感染したマルウェアが連携したとしても、悪意を持った行動を行なうことを防止することができる。さらに、ＳＩＭカードを用いることで、マルウェアはＳＩＭカードに感染することが不可能であるため、ユーザ端末に感染したマルウェアがＳＩＭカード上で悪意を持った行動を行なうことを防止することができる。そのため、安全性と確実性が保証されたオンライントランザクションを実現することができる。
【０１８３】
実施の形態１１．
以上の実施の形態１０は、ホストサーバが、トランザクション情報（振込情報）に対して署名を行なわず、トランザクション情報そのものを文字画像に埋め込んで送信し、ユーザ端末がトランザクション情報の比較を行なうものである。本実施の形態では、ホストサーバが、トランザクション情報（振込情報）の署名を文字画像に埋め込んで送信し、ユーザ端末が署名の比較を行なう実施の形態を示す。なお、本実施の形態では、ワンタイムパスワードを用いる例で説明するが、鍵付ハッシュ演算と乱数、署名を用いても同様の処理を行なうことが可能であり、ワンタイムパスワードに限定するものではない。また、本実施の形態では、ハッシュ演算を用いて署名を行なうが、署名を行なう方法はハッシュ演算に限定するものではない。
【０１８４】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。また、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。
【０１８５】
図４９は、実施の形態１１に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図４９において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０１８６】
さらに、実施の形態１０と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の情報埋込規則保持装置４００１、文字画像認識装置４００２、埋込情報抽出装置４００３、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の情報埋込規則保持装置４００１は、予め何らかの方法で銀行のホストサーバ１０３と共有している情報埋込規則４７０１を保持する装置である。文字画像認識装置４００２は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている文字画像で表されている文字を認識する装置である。埋込情報抽出装置４００３は、スマートフォン１０１のカメラ装置１６０１で写真撮影した文字画像に埋め込まれている情報である埋込情報データを抽出する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の署名演算装置３３０１は、文字認識装置１７０１によって文字認識された振込情報の署名を演算する装置である。ユーザ端末側の比較装置２４０３は、文字画像認識装置４００２によって認識され、署名演算装置３３０１で演算された振込情報の署名と、埋込情報抽出装置４００３によって抽出された埋込情報データから得られる振込情報の署名を比較し、比較結果を出力する装置である。
【０１８７】
図５０は、実施の形態１１に係るホストサーバ１０３のハードウェア構成を示す図である。
図５０において、バス４１１には、ＣＰＵ４０１、メモリ４０２、ハードディスクドライブ（ＨＤＤ）４０３、通信モジュール４０４が接続されている。
【０１８８】
さらに、実施の形態１０と同様に、ホストサーバ１０３のバス４１１には、オンライントランザクションサーバであるＷｅｂサーバ装置４０５、サーバ側の秘密情報保持装置４０６、乱数生成装置４０７、トランザクション装置４１０、サーバ側の情報埋込規則保持装置４１０１、文字画像生成装置４１０２、サーバ側の暗号処理装置２５０１、サーバ側の比較装置２５０３が接続されている。Ｗｅｂサーバ装置４０５は、クライアントコンピュータ１０２にオンラインバンキングサービスを提供する装置である。サーバ側の秘密情報保持装置４０６は、予め何らかの方法でスマートフォン１０１と共有している秘密情報を保持する装置である。乱数生成装置４０７は、ランダムな文字列を含んだワンタイムパスワード、または乱数を生成する装置である。トランザクション装置４１０は、振込などの取引を処理する装置である。サーバ側の情報埋込規則保持装置４１０１は、予め何らかの方法でスマートフォン１０１と共有している情報埋込規則４７０１を保持する装置である。文字画像生成装置４１０２は、サーバ側の情報埋込規則保持装置４１０１に保持されている情報埋込規則４７０１に従って、埋込情報データを埋め込んだ文字画像を生成する装置である。サーバ側の暗号処理装置２５０１は、サーバ側の秘密情報保持装置４０６に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。サーバ側の比較装置２５０３は、Ｗｅｂサーバ装置４０５で受信した情報と、乱数生成装置４０７で生成されたワンタイムパスワード、または乱数を比較し、比較結果を出力する装置である。
【０１８９】
また、ホストサーバ１０３のバス４１１には、サーバ側の署名演算装置３４０１が接続されている。サーバ側の署名演算装置３４０１は、振込情報の署名を演算する装置である。
【０１９０】
ホストサーバ１０３のサーバ側の秘密情報保持装置４０６は、図６に例示するように、ユーザ毎にユーザＩＤ６０２（６０２ａ、６０２ｂ、６０３ｃ・・・）と、対応する秘密情報６０３（６０３ａ、６０３ｂ、６０３ｃ・・・）を格納した秘密情報管理テーブル６０１を保持する。
【０１９１】
また、ホストサーバ１０３のサーバ側の情報埋込規則保持装置４１０１は、図４７、図４８に例示するように、ユーザ毎にユーザＩＤ４８０２（４８０２ａ・・・）と、対応する情報埋込規則４８０３（４８０３ａ・・・)・４７０１を格納した情報埋込規則テーブル４８０１を保持する。なお、本実施の形態では、ユーザ毎に異なる情報埋込規則４８０３（４８０３ａ・・・）・４７０１が情報埋込規則テーブル４８０１として保持されているが、全ユーザで同一の情報埋込規則４７０１を保持することも可能である。
【０１９２】
次に、実施の形態１１に係るオンライントランザクションの動作について説明する。
図５１は、実施の形態１１に係るホストサーバ１０３の動作の流れを示すフローチャートである。
図５２は、実施の形態１１に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
以下、実施の形態１１に係るオンライントランザクションの動作シーケンスは、図４２を参照して説明する。
【０１９３】
図４２において、予めスマートフォン１０１のＳＩＭカード２１０と銀行のホストサーバ１０３は、秘密情報７０１（７０１ａ、７０１ｂ）と、情報埋込規則４２０１（４２０１ａ、４２０１ｂ）を共有している。ＳＩＭカード２１０側の秘密情報７０１ａは、ＳＩＭカード２１０のユーザ端末側の秘密情報保持装置３０２に保持され、ホストサーバ１０３側の秘密情報７０１ｂは、ホストサーバ１０３のサーバ側の秘密情報保持装置４０６で保持されている秘密情報管理テーブル６０１の秘密情報６０３（６０３ａ）に格納される。ＳＩＭカード２１０側の情報埋込規則４２０１ａは、ＳＩＭカード２１０のユーザ端末側の情報埋込規則保持装置４００１に保存され、ホストサーバ１０３側の情報埋込規則４２０１ｂは、ホストサーバ１０３のサーバ側の情報埋込規則保持装置４１０１で保持されている情報埋込規則テーブル４８０１の情報埋込規則４８０３（４８０３ａ）に格納される。
【０１９４】
次に、ユーザが、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７からオンラインバンキングサービスにログインし、振込操作を行なう画面で振込先口座番号や振込金額などの振込情報を、クライアントコンピュータ１０２の入出力インタフェース５０５から入力した後、ホストサーバ１０３のＷｅｂサーバ装置４０５に振込情報を送信する（４２０２）。
【０１９５】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５は、クライアントコンピュータ１０２からの振込情報を受信する（Ｓ５１０１）と、乱数生成装置４０７でワンタイムパスワードを生成し（Ｓ５１０２）、ホストサーバ１０３のメモリ４０２などに保有されている振込情報登録テーブル３００１に、受信した振込情報と生成したワンタイムパスワードを格納する（Ｓ５１０３）。その後、サーバ側の署名演算装置３４０１が、振込情報のハッシュ値を演算して署名を生成する（Ｓ５１０４）。サーバ側の暗号処理装置２５０１が、サーバ側の秘密情報保持装置４０６の秘密情報管理テーブル６０１に保持されている秘密情報６０３ａ（７０１ｂ）を用いて、振込情報の署名とワンタイムパスワードを暗号化し（Ｓ５１０５）、文字画像生成装置４１０２が、暗号化されたデータを入力にして、情報埋込規則テーブル４８０１に保持されている情報埋込規則４２０１ｂ・４８０３・４７０１に従い、振込情報を示す文字画像４６０１を作成する（Ｓ５１０６）。Ｗｅｂサーバ装置４０５は、文字画像４６０１を含んだ確認画面４５０１をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（４２０３、Ｓ５１０７）。
【０１９６】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、確認画面４５０１を受信し、ディスプレイ５０６に確認画面４５０１を表示する。
【０１９７】
次に、ユーザは、クライアントコンピュータ１０２のディスプレイ５０６に表示された確認画面４５０１を、スマートフォン１０１のカメラ装置１６０１で撮影する（４２０４、Ｓ５２０１）。また、スマートフォン１０１は、撮影画像をＳＩＭカード２１０へ送信する（４２０５、Ｓ５２０２）。
【０１９８】
次に、撮影画像を受け取ったＳＩＭカード２１０の文字画像認識装置４００２は、確認画面４５０１の文字画像４６０１に示されている文字を認識し、振込情報（振込先口座番号４６０２ａ〜４６０２ｈ、及び振込金額４６０２ｉ〜４６０２ｐ)を取得する（Ｓ５２０３）。また、埋込情報抽出装置４００３は、ユーザ端末側の情報埋込規則保持装置４００１に保持されている情報埋込規則４２０１ａ・４７０１を用いて、文字画像４６０１に埋め込まれた埋込情報を抽出する（Ｓ５２０４）。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持された秘密情報７０１ａを用いて、埋込情報抽出装置４００３によって取得された埋込情報を復号し、振込情報の署名とワンタイムパスワードを取得する（Ｓ５２０５）。
【０１９９】
次に、ユーザ端末側の署名演算装置３３０１が、文字画像認識装置４００２によって取得された振込情報のハッシュ値を演算し、振込情報の署名を生成する（Ｓ５２０６）。
【０２００】
次に、ユーザ端末側の比較装置２４０３は、ユーザ端末側の署名演算装置３３０１によって演算された署名と、ユーザ端末側の暗号処理装置２４０２によって取得された振込情報の署名を比較し、署名が一致するか否かを判定する（Ｓ５２０７、Ｓ５２０８）。署名が一致した場合には、ユーザ端末側の暗号処理装置２４０２によって取得された（Ｓ５２０９）ワンタイムパスワードが、振込情報と共にスマートフォン１０１へ送信され（４２０６、Ｓ５２１０）、スマートフォン１０１のディスプレイ２０８によって表示される（Ｓ５２１１）。
【０２０１】
一方、Ｓ５２０８で判定した結果、署名が一致しなかった場合には、エラー通知が、スマートフォン１０１へ送信され（Ｓ５２１２）、スマートフォン１０１のディスプレイ２０８によってエラー通知が表示され（Ｓ５２１３）、処理を終了する。
【０２０２】
次に、ユーザが、スマートフォン１０１のディスプレイ２０８に表示された振込情報（振込先口座番号１３０２、及び振込金額１３０３）を確認し、表示されているワンタイムパスワード３２０２を、クライアントコンピュータ１０２の入出力インタフェース５０５から、確認画面４５０１のワンタイムパスワード入力ボックス３１０３へ入力する（４２０７）。
【０２０３】
次に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、ユーザによって入力されたワンタイムパスワードを、ホストサーバ１０３のＷｅｂサーバ装置４０５へ送信する（４２０８）。
【０２０４】
次に、ホストサーバ１０３のＷｅｂサーバ装置４０５がワンタイムパスワードを受信（Ｓ５１０７）すると、サーバ側の比較装置２５０３が、振込情報登録テーブル３００１に登録しておいたワンタイムパスワード３００２を取り出し、取り出したワンタイムパスワードと受信したワンタイムパスワードを比較し、ワンタイムパスワードが一致するか否か判定する（Ｓ５１０９、Ｓ５１１０）。ワンタイムパスワードが一致した場合には、ホストサーバ１０３のトランザクション装置４１０が、振込情報登録テーブル３００１に登録しておいた振込情報（振込先口座番号１１０３、及び振込金額１１０４）を基に振込処理を実行し（Ｓ５１１１）、Ｗｅｂサーバ装置４０５が、処理結果をクライアントコンピュータ１０２のＷｅｂブラウジング装置５０７へ送信する（４２０９、Ｓ５１１２）。
【０２０５】
一方、Ｓ５１１０で判定した結果、ワンタイムパスワードが一致しなかった場合には、ホストサーバ１０３のＷｅｂサーバ装置４０５が、エラーを送信する（４２０９、Ｓ５１１３）。
【０２０６】
最後に、クライアントコンピュータ１０２のＷｅｂブラウジング装置５０７は、結果を受信し、ディスプレイ５０６に結果を表示して、処理を終了する。
【０２０７】
以上のように、振込情報の署名を用いることで、振込情報のデータサイズが大きい場合には、文字画像に埋め込むデータのサイズを削減することが可能となる。また、比較する情報が署名のみとなるため、ユーザ端末上での比較が簡単になる。
【０２０８】
実施の形態１２．
以上の実施の形態１０、１１は、高度なマルウェアであれば、カメラで写真撮影した画像を改ざんすることが可能である。本実施の形態では、高度なマルウェアによる改ざんを防ぐ形態を示す。
【０２０９】
本実施の形態では、ホストサーバ１０３のハードウェア構成は、実施の形態１０で示した図４１と同一である。また、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。また、スマートフォン１０１のハードウェア構成は、実施の形態４で示した図２０と同一である。
【０２１０】
図５３は、実施の形態１２に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図５３において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０２１１】
さらに、実施の形態１０と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の情報埋込規則保持装置４００１、文字画像認識装置４００２、埋込情報抽出装置４００３、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の情報埋込規則保持装置４００１は、予め何らかの方法で銀行のホストサーバ１０３と共有している情報埋込規則４７０１を保持する装置である。文字画像認識装置４００２は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている文字画像で表されている文字を認識する装置である。埋込情報抽出装置４００３は、スマートフォン１０１のカメラ装置１６０１で写真撮影した文字画像に埋め込まれている情報である埋込情報データを抽出する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字画像認識装置４００２によって認識された振込情報と、埋込情報抽出装置４００３によって抽出された埋込情報データから得られる振込情報を比較し、比較結果を出力する装置である。
【０２１２】
また、ＳＩＭカード２１０のバス３０６には、撮影画像検証装置２１０１が接続されている。撮影画像検証装置２１０１は、予め何らかの方法でスマートフォン１０１の撮影画像改ざん防止装置２００１と秘密情報を共有しており、本秘密情報を用いて、鍵付ハッシュ値などの署名を付与されている、または暗号化されている撮影画像データが、正規のものであることを検証する装置である。撮影画像検証装置２１０１は、秘密情報を用いて画像データの鍵付きハッシュ値などの署名を生成し、撮影画像データに付与されている署名と比較して検証することによって、または秘密情報を用いて暗号化された画像データを復号し、正しく復号できたことを確認することによって、正規の撮影画像であることを検証する。
【０２１３】
次に、実施の形態１２に係るオンライントランザクションの動作について説明する。
図４４のスマートフォン１０１で確認画面３１０１を撮影した（Ｓ４４０１）後から、文字認識で振込情報を認識するＳ４４０３までの動作以外は、実施の形態１０と同様である。以下では、図５４を用い、スマートフォン１０１で確認画面３１０１を撮影した後から、文字認識で振込み情報を認識するまでの動作を説明する。
図５４は、実施の形態１２に係るスマートフォン１０１とＳＩＭカード２１０の動作の流れを示すフローチャートである。
【０２１４】
図５４において、スマートフォン１０１が、カメラ装置１６０１で画像を撮影（Ｓ５４０１）すると、スマートフォン１０１の撮影画像改ざん防止装置２００１が、署名の付与、または暗号化により撮影画像の改ざん防止処理を行なった（Ｓ５４０２）後、撮影画像をＳＩＭカード２１０へ送信する（Ｓ５４０３）。撮影画像を受け取ったＳＩＭカード２１０の画像装置検証装置２１０１は、撮影画像を検証し、正規の画像であるか否かを判定する（Ｓ５４０４、Ｓ５４０５）。
【０２１５】
Ｓ５４０５で判定した結果、撮影画像が正規のものである場合には、文字画像認識装置４００２は、文字画像４６０１に示されている文字を認識し、振込情報（振込先口座番号４６０２ａ〜４６０２ｈ、及び振込金額４６０２ｉ〜４６０２ｐ）を取得する（Ｓ５４０６）。以降の動作Ｓ５４０７〜Ｓ５４１５は、実施の形態１０と同じである。
【０２１６】
一方、撮影画像が正規のものでない場合には、エラーがスマートフォン１０１へ送信され（Ｓ５４１４）、スマートフォン１０１のディスプレイ２０８によってエラーが表示されて（Ｓ５４１５）、処理が終了する。
【０２１７】
以上のように、スマートフォンの撮影画像改ざん防止装置と、ＳＩＭカードの撮影画検証装置が予め秘密情報を共有しておき、本秘密情報を用いて改ざんを検知することによって、スマートフォンにマルウェアが感染したとしても、マルウェアによる撮影画像データの改ざんを防止することができる。そのため、より安全なオンライントランザクションを実現することができる。
【０２１８】
実施の形態１３．
以上の実施の形態１０〜１２は、トランザクション情報（振込情報、及びワンタイムパスワード）に特殊な処理を施さずに、ユーザ端末（スマートフォン）の表示装置（ディスプレイ）が表示するものである。本実施の形態では、ユーザ端末の表示装置が、トランザクション情報を表示する時に、予めユーザによって設定された秘密のルールに従って表示する形態を示す。本実施の形態は、実施の形態２で示したユーザ端末の表示方法を、実施の形態１０〜１２に適用する場合に相当する。また、本実施の形態では、振込金額帯によって表示される文字の色が変化することを秘密のルールとして説明するが、秘密のルールはこれに限定するものではない。
【０２１９】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１のハードウェア構成は、実施の形態３で示した図１６と同一である。また、ホストサーバ１０３のハードウェア構成は、実施の形態１０で示した図４１と同一である。また、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１で示した図５と同一である。
【０２２０】
図５５は、実施の形態１３に係るＳＩＭカード２１０のハードウェア構成を示す図である。
図５５において、バス３０６には、ＳＩＭカード２１０の本来の役割を果たすための端末ＩＤ記憶装置３０１が、接続されている。
【０２２１】
さらに、実施の形態１０と同様に、ＳＩＭカード２１０のバス３０６には、ユーザ端末側の秘密情報保持装置３０２、ユーザ端末側の情報埋込規則保持装置４００１、文字画像認識装置４００２、埋込情報抽出装置４００３、ユーザ端末側の暗号処理装置２４０２、ユーザ端末側の比較装置２４０３が接続されている。ユーザ端末側の秘密情報保持装置３０２は、予め何らかの方法で銀行のホストサーバ１０３と共有している秘密情報を保持する装置である。ユーザ端末側の情報埋込規則保持装置４００１は、予め何らかの方法で銀行のホストサーバ１０３と共有している情報埋込規則４７０１を保持する装置である。文字画像認識装置４００２は、スマートフォン１０１のカメラ装置１６０１で写真撮影した画像に含まれている文字画像で表されている文字を認識する装置である。埋込情報抽出装置４００３は、スマートフォン１０１のカメラ装置１６０１で写真撮影した文字画像に埋め込まれている情報である埋込情報データを抽出する装置である。ユーザ端末側の暗号処理装置２４０２は、ユーザ端末側の秘密情報保持装置３０２に保持されている秘密情報を用いて、暗号化処理や鍵付きハッシュ演算処理を行なう装置である。ユーザ端末側の比較装置２４０３は、文字画像認識装置４００２によって認識された振込情報と、埋込情報抽出装置４００３によって抽出された埋込情報データから得られる振込情報を比較し、比較結果を出力する装置である。
【０２２２】
また、ＳＩＭカード２１０のバス３０６には、表示規則保持装置１４０１が接続されている。表示規則保持装置１４０１は、スマートフォン１０１がディスプレイ２０８に振込情報、及びワンタイムパスワードを表示する際の表示方法を定める表示規則を、安全に保持する装置である。表示規則は、実施の形態３と同様に、図１５に示す表示規則テーブル１５０１により保持され、何らかの方法で予めユーザによって設定される。
【０２２３】
次に、実施の形態１３に係るオンライントランザクションの動作について説明する。
図３２の振込情報やワンタイムパスワードがスマートフォン１０１のディスプレイ２０８によって表示される図４４のＳ４４１０以外の動作は、実施の形態１０と同様である。
【０２２４】
スマートフォン１０１のディスプレイ２０８が、振込情報（振込先口座番号１３０２、及び振込金額１３０３）やワンタイムパスワード３２０２を表示する際、ディスプレイ２０８は、ＳＩＭカード２１０の表示規則保持装置１４０１から表示規則テーブル１５０１を取得し、表示規則テーブル１５０１に従って文字色を変える。例えば、図１５に示す表示規則テーブル１５０１に従って、振込金額１３０３が￥１０，０００の場合、ディスプレイ２０８は文字色を茶色にする。
【０２２５】
以上のように、マルウェアが侵入することができないＳＩＭカードに、予めユーザが設定した表示規則を保持しておき、スマートフォンが表示規則に従ってトランザクション情報を表示するため、スマートフォンに感染したマルウェアが、ユーザに気づかれずに表示を変更することが困難となる。そのため、より安全なオンライントランザクションを実現することができる。
【０２２６】
実施の形態１４．
以上の実施の形態１〜１３では、ユーザ端末（スマートフォン）、及びユーザ端末に搭載されたＳＩＭカード上で処理を行なう間、ユーザ端末の通信装置（無線ＬＡＮモジュール、及び通信・通話モジュール）は、機能し続けており、通信可能であった。そのため、ユーザ端末に感染したマルウェアが、クライアントコンピュータに感染したマルウェアと連携することが可能であった。本実施の形態では、ユーザ端末、及びユーザ端末に搭載されたＳＩＭカード上で処理を行なう間、ユーザ端末の通信装置の機能を無効にする形態を示す。
【０２２７】
本実施の形態では、ユーザ端末の一つであるスマートフォン１０１、ホストサーバ１０３、クライアントコンピュータ１０２のハードウェア構成は、実施の形態１〜１３でそれぞれ示した図と同一である。
【０２２８】
次に、実施の形態１４に係るオンライントランザクションの動作について説明する。
オンライントランザクションの動作シーケンス、クライアントコンピュータ１０２のフローチャート、ホストサーバ１０３のフローチャート、スマートフォン１０１とＳＩＭカード２１０のフローチャートも、実施の形態１〜１３にそれぞれで示した図と同じである。
【０２２９】
ただし、本実施の形態では、スマートフォン１０１とＳＩＭカード２１０が、振込などの取引に関わる処理を開始する際に、スマートフォン１０１の無線ＬＡＮモジュール２０４や通信・通話モジュール２０５が、通信・通話機能を停止する。さらに、スマートフォン１０１とＳＩＭカード２１０が、振込などの取引に関わる処理を終了する際に、スマートフォン１０１の無線ＬＡＮモジュール２０４や通信・通話モジュール２０５が、通信・通話機能を再開する。
【０２３０】
以上のように、オンライントランザクションに関わる処理を行なっている間は、ユーザ端末の通信機能を無効にすることで、ユーザ端末に感染したマルウェアと、クライアントコンピュータに感染したマルウェアが連携することが困難となるため、ユーザ端末に感染したマルウェアがＳＩＭカード上で悪意を持った行動を行なうことを防止することができる。そのため、より一層安全性と確実性が保証されたオンライントランザクションを実現することができる。
【符号の説明】
【０２３１】
１０１  スマートフォン、１０２  クライアントコンピュータ、１０３  ホストサーバ、１０４  インターネット、１０５  携帯電話網、２０１  ４０１  ＣＰＵ、２０２  ４０２  メモリ、２０３  フラッシュメモリ、２０４  無線ＬＡＮモジュール、２０５  通信・通話モジュール、２０６  入力インタフェース、２０７  オーディオインタフェース、２０８  ディスプレイ、２０９  マイク、２１０  ＳＩＭカード、２１１  ３０６  ４１１  ５０８  バス、３０１  端末ＩＤ記憶装置、３０２  ユーザ端末側の秘密情報保持装置、３０３  ３３０１  ユーザ端末側の署名生成装置、３０４  声紋認証装置、３０５  音声認識装置、４０３  ＨＤＤ、４０４  通信モジュール、４０５  Ｗｅｂサーバ装置、４０６  サーバ側の秘密情報保持装置、４０７  乱数生成装置、４０８  ３４０１  サーバ側の署名生成装置、４０９  署名比較装置、４１０  トランザクション装置、１４０１  表示規則保持装置、１６０１  カメラ装置、１７０１  文字認識装置、２００１  撮影画像改ざん防止装置、２１０１  撮影画像検証装置、２４０１  二次元コード処理装置、２４０２  ２５０１  暗号処理装置、２４０３  ２５０３  比較装置、２５０２  二次元コード生成装置、４００１  情報埋込規則保持装置、４００２  文字画像認識装置、４００３  埋込情報抽出装置、４１０１  情報埋込規則保持装置、４１０２  文字画像生成装置。
【図１】
2017022121.tif 000003
【図２】
2017022121.tif 000004
【図３】
2017022121.tif 000005
【図４】
2017022121.tif 000006
【図５】
2017022121.tif 000007
【図６】
2017022121.tif 000008
【図７】
2017022121.tif 000009
【図８】
2017022121.tif 000010
【図９】
2017022121.tif 000011
【図１０】
2017022121.tif 000012
【図１１】
2017022121.tif 000013
【図１２】
2017022121.tif 000014
【図１３】
2017022121.tif 000015
【図１４】
2017022121.tif 000016
【図１５】
2017022121.tif 000017
【図１６】
2017022121.tif 000018
【図１７】
2017022121.tif 000019
【図１８】
2017022121.tif 000020
【図１９】
2017022121.tif 000021
【図２０】
2017022121.tif 000022
【図２１】
2017022121.tif 000023
【図２２】
2017022121.tif 000024
【図２３】
2017022121.tif 000025
【図２４】
2017022121.tif 000026
【図２５】
2017022121.tif 000027
【図２６】
2017022121.tif 000028
【図２７】
2017022121.tif 000029
【図２８】
2017022121.tif 000030
【図２９】
2017022121.tif 000031
【図３０】
2017022121.tif 000032
【図３１】
2017022121.tif 000033
【図３２】
2017022121.tif 000034
【図３３】
2017022121.tif 000035
【図３４】
2017022121.tif 000036
【図３５】
2017022121.tif 000037
【図３６】
2017022121.tif 000038
【図３７】
2017022121.tif 000039
【図３８】
2017022121.tif 000040
【図３９】
2017022121.tif 000041
【図４０】
2017022121.tif 000042
【図４１】
2017022121.tif 000043
【図４２】
2017022121.tif 000044
【図４３】
2017022121.tif 000045
【図４４】
2017022121.tif 000046
【図４５】
2017022121.tif 000047
【図４６】
2017022121.tif 000048
【図４７】
2017022121.tif 000049
【図４８】
2017022121.tif 000050
【図４９】
2017022121.tif 000051
【図５０】
2017022121.tif 000052
【図５１】
2017022121.tif 000053
【図５２】
2017022121.tif 000054
【図５３】
2017022121.tif 000055
【図５４】
2017022121.tif 000056
【図５５】
2017022121.tif 000057
【図５６】
2017022121.tif 000058
【図５７】
2017022121.tif 000059
【手続補正書】
【提出日】平成29年3月31日(2017.3.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
文字画像の表示形態と、前記文字画像に埋め込む情報である埋込情報とを対応付ける規則である情報埋込規則を記憶する情報埋込規則記憶部を備え、
前記入力情報から第１の署名を生成する署名生成部を備え、
前記カメラは、文字で表示された前記入力情報と、表示形態により前記入力情報に対する第２の署名を表現した文字画像とを撮影し、
前記検証部は、前記情報埋込規則に従って、前記カメラが撮影した前記文字画像の前記表示形態に対応付けられた前記埋込情報を前記第２の署名として抽出し、前記署名生成部が生成した前記第１の署名と前記第２の署名とを比較して前記入力データの正当性を検証する請求項４記載の認証装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
前記秘密情報記憶部に記憶された前記秘密情報を共有して共有秘密情報として記憶し、この共有秘密情報を用いて前記カメラが撮影した前記画像データを暗号化する画像改ざん防止部を備え、
前記検証部は、前記秘密情報記憶部に記憶された前記秘密情報を用いて、暗号化された前記画像データを復号して前記入力データの正当性を検証する請求項４記載の認証装置。
【国際調査報告】
2017022121.tif 000060
2017022121.tif 000061
2017022121.tif 000062
2017022121.tif 000063