(57)【要約】  サーバ（データ改竄検知装置）（１０）は、ユーザ端末（２０）に入力された入力データを送信するためのＵＲＬを記録した２次元コードを表示させ、この２次元コードを読み取った携帯端末（３０）から送信された入力データを取得する。また、サーバ（１０）は、ユーザ端末（２０）から入力データを取得する。そして、サーバ（１０）は、携帯端末（３０）から取得した入力データとユーザ端末（２０）から取得した入力データとが一致しない場合に、ユーザ端末（２０）から取得した入力データは改竄されていると判別する。
2016009497.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部と、
前記２次元コードを読み取った携帯端末から送信された入力データを取得する第１データ取得部と、
前記ユーザ端末から入力データを取得する第２データ取得部と、
前記第１データ取得部が取得した入力データと前記第２データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部と、
を備えるデータ改竄検知装置。
【請求項２】
前記２次元コード表示制御部は、前記ユーザ端末に前記２次元コードを作成するためのＪＡＶＡアプレットを送信して実行させることにより、該２次元コードを表示させる、
請求項１に記載のデータ改竄検知装置。
【請求項３】
前記２次元コード表示制御部は、前記入力データを暗号化して送信するためのＵＲＬを記録した２次元コードを前記ユーザ端末に表示させ、
前記第１データ取得部は、暗号化された入力データを復号化する、
請求項１又は２に記載のデータ改竄検知装置。
【請求項４】
前記ネットワークサービスは振込システムであり、
前記入力データは、前記振込システムを利用するために前記ユーザ端末に入力された振込データである、
請求項１から３の何れか１項に記載のデータ改竄検知装置。
【請求項５】
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部と、
前記２次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部と、
前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部と、
を備えるネットワークサービス提供装置。
【請求項６】
前記データ取得部が取得した入力データを送信元の携帯端末に送信する入力データ送信部と、
前記入力データ送信部により入力データを送信した携帯端末からの確認通知を受信する確認通知受信部と、を備え、
前記サービス実行部は、前記入力データ送信部による前記入力データの送信から、所定時間以内に、前記確認通知受信部が確認通知を受信した場合に、前記ネットワークサービスを実行する、
請求項５に記載のネットワークサービス提供装置。
【請求項７】
前記確認通知は、前記携帯端末からの電話着信である、
請求項６に記載のネットワークサービス提供装置。
【請求項８】
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させ、
前記２次元コードを読み取った携帯端末から送信された入力データを取得し、
前記ユーザ端末から入力データを取得し、
前記携帯端末から取得した入力データと前記ユーザ端末から取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する、
データ改竄検知方法。
【請求項９】
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させ、
前記２次元コードを読み取った携帯端末から送信された入力データを取得し、
取得した入力データを用いて、前記ネットワークサービスを実行する、
ネットワークサービス提供方法。
【請求項１０】
コンピュータを、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部、
前記２次元コードを読み取った携帯端末から送信された入力データを取得する第１データ取得部、
前記ユーザ端末から入力データを取得する第２データ取得部、
前記第１データ取得部が取得した入力データと前記第２データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部、
として機能させるプログラム。
【請求項１１】
コンピュータを、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部、
前記２次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部、
前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラムに関する。
【背景技術】
【０００２】
インターネットを利用したネットバンキング等のネットワークサービスが普及している。ユーザは、ＰＣ（Personal Computer）等の端末装置を操作して専用のサイトにアクセスし、パスワード等による本人認証を行った後、振込データ等を入力して、振込処理等の必要なサービスを利用することが可能となる。【０００３】
また、特許文献１には、ワンタイムパスワードを発行することでこのようなサービスのセキュリティを向上させることについて記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２８３８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１等に開示された技術により正しくユーザ認証ができたとしても、その後、ユーザが入力したデータを裏側で改竄する中間者攻撃やＭＩＴＢ（マン・イン・ザ・ブラウザ・アタック）を防ぐことは難しい。ユーザは正しいデータを入力したつもりであり、端末装置の画面には正しい処理内容が表示されるため、ユーザがデータの改竄に気付くのは困難なためである。【０００６】
本発明は、このような問題に鑑みてなされたものであり、ネットワークサービスにおける入力データの改竄を検知することができるデータ改竄検知装置、データ改竄検知方法、及びプログラムを提供することを目的とする。また、本発明は、入力データが改竄されることのないネットワークサービス提供装置、ネットワークサービス提供方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係るデータ改竄検知装置は、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部と、
前記２次元コードを読み取った携帯端末から送信された入力データを取得する第１データ取得部と、
前記ユーザ端末から入力データを取得する第２データ取得部と、
前記第１データ取得部が取得した入力データと前記第２データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部と、
を備える。【０００８】
前記２次元コード表示制御部は、前記ユーザ端末に前記２次元コードを作成するためのＪＡＶＡ（登録商標）アプレットを送信して実行させることにより、該２次元コードを表示させてもよい。【０００９】
前記２次元コード表示制御部は、前記入力データを暗号化して送信するためのＵＲＬを記録した２次元コードを前記ユーザ端末に表示させ、
前記第１データ取得部は、暗号化された入力データを復号化してもよい。【００１０】
前記ネットワークサービスは振込システムであり、
前記入力データは、前記振込システムを利用するために前記ユーザ端末に入力された振込データであってもよい。【００１１】
上記目的を達成するため、本発明の第２の観点に係るネットワークサービス提供装置は、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部と、
前記２次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部と、
前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部と、
を備える。【００１２】
前記データ取得部が取得した入力データを送信元の携帯端末に送信する入力データ送信部と、
前記入力データ送信部により入力データを送信した携帯端末からの確認通知を受信する確認通知受信部と、を備え、
前記サービス実行部は、前記入力データ送信部による前記入力データの送信から、所定時間以内に、前記確認通知受信部が確認通知を受信した場合に、前記ネットワークサービスを実行してもよい。【００１３】
前記確認通知は、前記携帯端末からの電話着信であってもよい。【００１４】
上記目的を達成するため、本発明の第３の観点に係るデータ改竄検知方法は、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させ、
前記２次元コードを読み取った携帯端末から送信された入力データを取得し、
前記ユーザ端末から入力データを取得し、
前記携帯端末から取得した入力データと前記ユーザ端末から取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する。【００１５】
上記目的を達成するため、本発明の第４の観点に係るネットワークサービス提供方法は、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させ、
前記２次元コードを読み取った携帯端末から送信された入力データを取得し、
取得した入力データを用いて、前記ネットワークサービスを実行する。【００１６】
上記目的を達成するため、本発明の第５の観点に係るプログラムは、
コンピュータを、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部、
前記２次元コードを読み取った携帯端末から送信された入力データを取得する第１データ取得部、
前記ユーザ端末から入力データを取得する第２データ取得部、
前記第１データ取得部が取得した入力データと前記第２データ取得部が取得した入力データとが一致しない場合に、前記ユーザ端末に入力された入力データは改竄されていると判別する改竄検知部、
として機能させる。【００１７】
上記目的を達成するため、本発明の第６の観点に係るプログラムは、
コンピュータを、
ネットワークサービスを利用するためにユーザ端末に入力された入力データを送信するためのＵＲＬ（Uniform Resource Locator）を記録した２次元コードを該ユーザ端末に表示させる２次元コード表示制御部、
前記２次元コードを読み取った携帯端末から送信された入力データを取得するデータ取得部、
前記データ取得部が取得した入力データを用いて、前記ネットワークサービスを実行するサービス実行部、
として機能させる。
【発明の効果】
【００１８】
本発明によれば、ネットワークサービスにおける入力データの改竄を検知することができる。また、本発明によれば、入力データが改竄されることのないネットワークサービスを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係る振込システムの全体構成を示す図である。
【図２】サーバの構成を示すブロック図である。
【図３】ユーザＤＢに記憶されている情報の例を示す図である。
【図４】トランザクションＤＢに記憶されている情報の例を示す図である。
【図５】ユーザ端末の構成を示すブロック図である。
【図６】携帯端末の構成を示すブロック図である。
【図７】本発明の実施形態に係る振込システムの動作を説明するためのフローチャート（その１）である。
【図８】本発明の実施形態に係る振込システムの動作を説明するためのフローチャート（その２）である。
【図９】本発明の実施形態に係る振込システムの動作を説明するためのフローチャート（その３）である。
【図１０】振込データ入力画面の例を示す図である。
【図１１】ＱＲコード表示処理の動作を説明するためのフローチャートである。
【図１２】ＱＲコードに記録されるＵＲＬの例を示す図である。
【図１３】ＱＲコードを表示した振込データ入力画面の例を示す図である。
【図１４】携帯端末に表示される振込データ確認画面の例を示す図である。
【図１５】本発明の実施形態に係る振込システムの動作の別例を説明するためのフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【００２１】
図１は、本発明の実施形態に係る振込システムの全体構成を示す図である。この振込システムは、サーバ１０と、この振込システムを利用するユーザのユーザ端末２０と、携帯端末３０と、を備える。サーバ１０と各ユーザ端末２０および各携帯端末３０は、インターネット４０を介して互いに通信可能に接続されている。また、サーバ１０と各携帯端末３０とは、電話網５０を介して通話や通信可能に接続されている。
【００２２】
サーバ１０は、本発明のデータ改竄検知装置、及びネットワークサービス提供装置に相当する。サーバ１０は、例えば銀行の管理サーバであり、ユーザがユーザ端末２０に入力した振込みデータに基づいて、当該銀行の口座から指定された口座に金額を振り込むための振込処理を実施する。また、サーバ１０は、この振込処理の実施に先立って、ＭＩＴＢや中間者攻撃等により、ユーザが入力した振込データが改竄されているか否かを判別し、改竄されていると判別した場合は振込処理を実行しない。
【００２３】
続いて、サーバ１０の構成について説明する。サーバ１０は、例えば、ＰＣサーバやメインフレームなどであり、図２に示すように、通信部１１と、電話通信部１２と、記憶部１３と、制御部１４と、を備える。なお、サーバ１０は、１台のコンピュータから構成されていてもよいし、複数台のコンピュータから構成されていてもよい。例えば、サーバ１０は、ユーザの認証処理（ログイン）や振込データの改竄検知を主に実行する認証サーバと、認証後のユーザに対して振込処理を実行するＷｅｂサーバと、から構成されてもよい。
【００２４】
通信部１１は、制御部１４の制御の下、インターネット４０を介して、各ユーザ端末２０や携帯端末３０とデータ通信を行う。通信部１１は、例えば、通信コネクタなどの通信インタフェースを備える。
【００２５】
電話通信部１２は、制御部１４の制御の下、電話網５０を介して、各携帯端末３０と通話やデータ通信を行う。電話通信部１２は、例えば、電話回線接続装置などの通信インタフェースを備える。
【００２６】
記憶部１３は、例えば、ハードディスクドライブなどであり、サーバ１０が動作するために必要な各種のデータを記憶する。例えば、記憶部１３は、ユーザＤＢ（データベース）１３１と、トランザクションＤＢ１３２と、ＱＲコード表示用アプレット１３３と、振込データ取得用アプレット１３４と、を備える。
【００２７】
ユーザＤＢ１３１には、振込サービスを利用可能なユーザ毎に、該ユーザに関する各種の情報が記憶される。具体的には、図３に示すように、ユーザＤＢ１３１には、ユーザ毎に、ユーザＩＤ、氏名、パスワード、口座情報、携帯電話番号等が記憶される。
【００２８】
ユーザＩＤは、ユーザを一意に識別するためのＩＤである。パスワードは、ユーザが振込処理を開始する際のユーザ認証に利用される。口座情報は、ユーザが所有する口座を特定する情報である。携帯電話番号は、ユーザの携帯端末３０の電話番号である。
【００２９】
図２に戻り、トランザクションＤＢ１３２には、ユーザからの振込依頼（ＱＲコード作成要求）を受信する度に作成されるトランザクションデータが記憶される。具体的には、図４に示すように、トランザクションＤＢ１３２には、依頼ＩＤ、ワンタイムＩＤ、暗号復号化キー、携帯電話番号、ステータス、振込データ等から構成されるトランザクションデータが記憶される。
【００３０】
依頼ＩＤは、トランザクションデータを一意に識別するためのＩＤである。ワンタイムＩＤは、振込データとともにＱＲコード（登録商標）に記録される一時的なＩＤである。例えば、ワンタイムＩＤは、３２桁のランダムな文字列である。暗号復号化キーは、振込データを暗号化及び復号化するためのキー情報である。例えば、暗号復号化キーは、１６桁のランダムな文字列である。ステータスは、このトランザクションデータに対応する処理の進捗状況を示す。
【００３１】
図２に戻り、ＱＲコード表示用アプレット１３３は、ユーザ端末２０に送信されて実行されるＪＡＶＡアプレットである。ＱＲコード表示用アプレット１３３が実行されることにより、ユーザ端末２０に入力された振込データをサーバ１０に送信するためのＵＲＬが記録されたＱＲコードが作成されて、ユーザ端末２０に表示される。
【００３２】
振込データ取得用アプレット１３４は、ユーザ端末２０に送信されて実行されるＪＡＶＡアプレットである。振込データ取得用アプレット１３４が実行されることにより、ユーザ端末２０に入力された振込データが、インターネット４０を介して、サーバ１０に送信される。
【００３３】
制御部１４は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等（何れも図示せず）を備え、ＣＰＵが、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部１３に記憶されている各種プログラムを適宜実行することにより、サーバ１０の全体を制御する。
【００３４】
また、制御部１４は、振込処理を開始する際に、ユーザ端末２０に入力された振込データが改竄されていないか否かを判別する処理を行う。制御部１４が行うこの処理の詳細については後述する。
【００３５】
図１に戻り、続いて、ユーザ端末２０について説明する。ユーザ端末２０は、例えば、一般的なＰＣであり、インターネット４０を介して、サーバ１０に接続される。ユーザは、ユーザ端末２０から、サーバ１０が提供する振込サービスを利用することができる。ユーザ端末２０は、図５に示すように、通信部２１と、入力部２２と、表示部２３と、記憶部２４と、制御部２５と、を備える。
【００３６】
通信部２１は、通信インタフェースを備え、制御部２５の制御の下、インターネット４０を介して、サーバ１０とデータ通信を行う。
【００３７】
入力部２２は、キーボードやマウス等から構成され、ユーザ端末２０に様々な情報を入力するために使用される。例えば、ユーザは、入力部２２を操作して、ログインするために必要なユーザＩＤやパスワードを入力したり、振込処理に必要な口座番号や金額等の振込データを入力する。
【００３８】
表示部２３は、例えば液晶ディスプレイ等であり、制御部２５の制御の下、様々な情報を出力する。例えば、表示部２３には、後述するログイン画面や振込データ入力画面が表示される。
【００３９】
記憶部２４は、例えば、ハードディスクトライブであり、ユーザ端末２０が動作するために必要な各種のデータを記憶する。また、記憶部２４には、サーバ１０から送信されたＪＡＶＡアプレット（ＱＲコード表示用アプレット１３３，振込データ取得用アプレット１３４）が一時的に記憶される。
【００４０】
制御部２５は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等（何れも図示せず）を備え、ＣＰＵが、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部２４に記憶されている各種プログラムを適宜実行することにより、ユーザ端末２０の全体を制御する。
【００４１】
続いて、図１に戻り、携帯端末３０について説明する。携帯端末３０は、例えば、携帯電話やスマートフォンであり、インターネット４０および電話網５０を介してサーバ１０に接続される。携帯端末３０は、ユーザ端末２０に入力された振込データが改竄されていないかを判別するために利用される。携帯端末３０は、図６に示すように、通信部３１と、電話通信部３２と、入力部３３と、表示部３４と、２次元コード読取部３５と、記憶部３６と、制御部３７と、を備える。
【００４２】
通信部３１は、制御部３７の制御の下、インターネット４０を介して、サーバ１０とデータ通信を行う。通信部３１は、例えば、通信コネクタなどの通信インタフェースを備える。
【００４３】
電話通信部３２は、制御部３７の制御の下、電話網５０を介して、サーバ１０と通話やデータ通信を行う。
【００４４】
入力部３３は、例えばタッチパネル等であり、携帯端末３０に様々な情報を入力するために使用される。例えば、ユーザは、入力部３３を操作して、サーバ３０に電話発信するための操作を行う。
【００４５】
表示部３４は、例えば液晶ディスプレイ等であり、制御部３７の制御の下、様々な情報を出力する。例えば、表示部３４には、サーバ１０から受信した振込データが表示される。
【００４６】
２次元コード読取部３５はカメラ等を備え、ＱＲコード等の２次元コードに記録された情報を読み取り、制御部３７に出力する。なお、２次元コード読取部３５は、一般的な携帯電話やスマートフォンに標準で搭載されている。
【００４７】
記憶部３６は、例えば、フラッシュメモリであり、携帯端末３０が動作するために必要な各種のデータを記憶する。
【００４８】
制御部３７は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等（何れも図示せず）を備え、ＣＰＵが、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部３６に記憶されている各種プログラムを適宜実行することにより、携帯端末３０の全体を制御する。
【００４９】
続いて、上述した振込システムの動作について、図７〜９のフローチャートを用いて説明する。
【００５０】
振込サービスを利用したいユーザは、ユーザ端末２０の入力部２２を操作して、振込サービス開始用のログイン画面を表示部２３に表示させる。そして、ユーザは、入力部２２を操作して、ログイン画面に自分のユーザＩＤとパスワードとを入力し、ログイン画面のログインボタンをクリックする。ログインボタンがクリックされると、制御部２５は、入力されたユーザＩＤとパスワードとを含んだログイン要求をサーバ１０に送信する（ステップＳ１０１）。
【００５１】
ログイン要求を受信すると、サーバ１０の制御部１４は、このログイン要求に含まれるユーザＩＤとパスワードとを用いて、ユーザが振込サービスを利用可能であることを確認するユーザ認証を行う（ステップＳ１０２）。具体的には、制御部１４は、受信したログイン要求に含まれるユーザＩＤとパスワードとを含むレコードがユーザＤＢ１３１に登録されていることを確認してユーザ認証を行えばよい。なお、ユーザＤＢ１３１に該当するレコードが登録されていない場合、ユーザ認証は不成功となりエラーとして処理は終了する。
【００５２】
ユーザ認証に成功するとサーバ１０の制御部１４は、メニュー画面をユーザ端末２０に送信し（ステップＳ１０３）、ユーザ端末２０の表示部２３にはメニュー画面が表示される（ステップＳ１０４）。ユーザは、ユーザ端末２０の入力部２２を操作してメニュー画面のメニューから振込処理を選択し、制御部２５は、図１０に示すような振込データ入力画面を表示部２３に表示させる（ステップＳ１０５）。なお、図１０に示す振込データ入力画面では、既に振込データが入力されている状態である。
【００５３】
続いて、ユーザは、ユーザ端末２０の入力部２２を操作して、振込データ入力画面から振込先の銀行名や口座番号や振込金額等の振込データを入力し、入力完了ボタンをクリックする。このクリック動作に応じて、ユーザ端末２０の制御部２５は、ＱＲコード作成要求をサーバ１０に送信する（ステップＳ１０６）。なお、このＱＲコード作成要求には、ユーザのユーザＩＤは含まれているものの、入力された振込データは含まれていない。
【００５４】
ＱＲコード作成要求を受信すると、サーバ１０の制御部１４は、今回の処理に対応するトランザクションデータを生成し、トランザクションＤＢ１３２に登録する（ステップＳ１０７）。なお、この処理で生成されるトランザクションデータのステータスは、処理開始を表す「１」とする。また、生成されるトランザクションデータの携帯電話番号は、ユーザＤＢ１３１を参照して対応するユーザ（ユーザＩＤ）の携帯電話番号を取得すればよい。なお、この処理で生成されるトランザクションデータの振込データは空である。
【００５５】
トランザクションデータの生成が完了すると、サーバ１０の制御部１４は、ＱＲコード表示用アプレット１３３を、ＱＲコード作成要求の送信元であるユーザ端末２０に送信して実行させる（ステップＳ１０８）。
【００５６】
ユーザ端末２０の制御部２５は、サーバ１０から受信したＱＲコード表示用アプレット１３３を実行し、当該アプレットで規定されている処理を実行する。即ち、制御部２５は、ＱＲコード表示用アプレット１３３の処理により、振込データ入力画面に入力された振込データをサーバ１０に送信するためのＵＲＬ（Uniform Resource Locator）を記録したＱＲコードを作成して表示部２３に表示させるＱＲコード表示処理を実行する（ステップＳ１０９）。なお、ＪＡＶＡアプレットの仕様により、ＱＲコード表示用アプレット１３３を実行する際、サーバ１０の管理者の電子証明書が付された確認ダイアログがユーザ端末２０の表示部２３にポップアップ表示され、ユーザからの確認操作（例えば、ＯＫボタンのクリック）を待たなければ、ＱＲコード表示用アプレット１３３は実行されない。
【００５７】
ここで、ステップＳ１０９のＱＲコード表示処理の詳細について、図１１のフローチャートを参照して説明する。
【００５８】
まず、ユーザ端末２０の制御部２５は、サーバ１０の記憶部１３のトランザクションＤＢ１３２に情報取得依頼を送信し、ステップＳ１０７で作成して登録したトランザクションデータからワンタイムＩＤと暗号復号化キーとを取得する（ステップＳ２１）。
【００５９】
続いて、制御部２５は、取得した暗号復号化キーを用いて、振込データ入力画面に入力されている振込データを暗号化する（ステップＳ２２）。
【００６０】
続いて、制御部２５は、暗号化した振込データと取得したワンタイムＩＤとをサーバ１０に通知するためのＵＲＬを作成する（ステップＳ２３）。図１２に作成されるＵＲＬの例を示す。この例では、サーバ１０アクセス用のＵＲＬに、暗号化した振込データとワンタイムＩＤとがパラメータｖ１，ｖ２として付されたＵＲＬが作成されている。
【００６１】
図１１に戻り、ユーザ端末２０の制御部２５は、公知の手法により、作成したＵＲＬを記録したＱＲコードを作成し、図１３に示すように振込データ入力画面に表示する（ステップＳ２４）。なお、このとき制御部２５は、図１０に示す振込データ入力画面に表示されていた「入力完了」ボタンを消去するとともに、表示されているメッセージもＱＲコードの読み取りを促すメッセージに変更する。
【００６２】
図１１に戻り、ＱＲコードの表示が完了するとユーザ端末２０の制御部２５は、ＱＲコード表示完了通知をサーバ１０に送信する（ステップＳ２５）。以上でＱＲコード表示処理は終了する。
【００６３】
図７に戻り、その後、ユーザは、ＱＲコード表示処理によってユーザ端末２０の表示部２３の振込データ入力画面に表示されたＱＲコードに携帯端末３０の２次元コード読取部３５を近接させるとともに、入力部３３を操作して、ＱＲコード読取用のアプリケーションの起動を指示する。この指示に応答して、２次元コード読取部３５は、近接されたＱＲコードを撮像してその画像データを解析し、記録されているＵＲＬを読み取る（ステップＳ１１０）。そして、携帯端末３０の制御部３７は、インターネット４０を介して、２次元コード読取部３５が読み取ったＵＲＬでサーバ１０にアクセスする（図８、ステップＳ１１１）。
【００６４】
サーバ１０の制御部１４は、アクセスのあったＵＲＬのパラメータから、暗号化された振込データとワンタイムＩＤとを取得する（ステップＳ１１２）。そして、制御部１４は、取得したワンタイムＩＤがトランザクションＤＢ１３２に登録されているか否かを判別する（ステップＳ１１３）。
【００６５】
ワンタイムＩＤが登録されていない場合（ステップＳ１１３；Ｎｏ）、サーバ１０の制御部１４は、エラーとして処理を終了する。一方、ワンタイムＩＤが登録されている場合（ステップＳ１１３；Ｙｅｓ）、制御部１４は、当該ワンタイムＩＤを有するトランザクションデータをトランザクションＤＢ１３２から取得する（ステップＳ１１４）。
【００６６】
続いて、サーバ１０の制御部１４は、取得したトランザクションデータに含まれる暗号複合化キーを用いて、ステップＳ１１２で取得した暗号化された振込データを復号化し（ステップＳ１１５）、トランザクションＤＢ１３２内のこのトランザクションデータに格納する（ステップＳ１１６）。
【００６７】
続いて、サーバ１０の制御部１４は、ユーザ端末２０に振込データ取得用アプレット１３４を送信して実行させる（ステップＳ１１７）。ユーザ端末２０の制御部２５は、この振込データ取得用アプレット１３４の処理により、インターネット４０を介して、振込データ入力画面に入力されている振込データをサーバ１０に送信する（図９、ステップＳ１１８）。
【００６８】
サーバ１０の制御部１４は、ユーザ端末２０から振込データを受信すると、この振込みデータが、ステップＳ１１５〜Ｓ１１６で復号化してトランザクションＤＢ１３２内のトランザクションデータに格納した振込データ（即ち、携帯端末３０から取得した振込データ）と一致するかどうかを判別する（ステップＳ１１９）。なお、制御部１４は、公知の手法により、両振込データからハッシュ値を生成し、ハッシュ値が一致することを確認してもよい。
【００６９】
振込データが不一致の場合（ステップＳ１１９；Ｎｏ）、振込データは改竄されていることがわかり、サーバ１０の制御部１４は、その旨をユーザ端末２０に通知し、エラーとして処理を終了する。一方、振込データが一致する場合（ステップＳ１１９；Ｙｅｓ）、ユーザ端末２０から受信した振込データは改竄されていないことがわかり、サーバ１０の制御部１４は、この振込データを、ＵＲＬでのアクセスのあった携帯端末３０に返信する（ステップＳ１２０）。
【００７０】
そして、携帯端末３０の制御部３７は、図１４に示すように、サーバ１０から返信された振込データを表示部３４に表示する（ステップＳ１２１）。ユーザは、携帯端末３０の表示部３４に表示されている振込データと、ユーザ端末２０の表示部２３の振込データ入力画面に表示されている振込データ（図１３）とが一致することを確認し、一致する場合は、画面下の電話番号部分（０３−１２３４−５６７８）をクリックする。なお、この電話番号は、サーバ１０の自局電話番号を表す。電話番号がクリックされると、携帯端末３０の制御部３７は、振込処理開始の確認通知として、電話網５０を介して、サーバ１０に電話発信する（図９、ステップＳ１２２）。なお、この処理は、サーバ１０に携帯端末３０の発信者番号を通知するためである。そのため、サーバ１０の制御部１４は、着信した番号を検出した後、すぐに着信した電話を切断する（所謂ワン切りする）。
【００７１】
サーバ１０の制御部１４は、ステップＳ１２０で振込データを送信（返信）してから所定時間以内（例えば、５分以内）に携帯端末３０からの確認通知があることを確認する（ステップＳ１２３）。具体的には、制御部１４は、ステップＳ１０７で生成したトランザクションデータに含まれる携帯電話番号による着信が、所定時間以内になされたことを確認すればよい。なお、所定時間以内にこの携帯端末３０から着信が無かった場合、制御部１４は、エラーとして処理を終了する。
【００７２】
一方、所定時間以内に携帯端末３０からの確認通知（着信）があった場合、サーバ１０の制御部１４は、ユーザＤＢ１３１の口座情報が示すユーザの口座から、ユーザ端末２０から受信した振込データが示す指定口座に指定金額を振り込む振込処理を開始する（ステップＳ１２４）。なお、この振込処理は、外部の銀行サーバ等が行ってもよい。
【００７３】
続いて、振込処理が完了すると、サーバ１０の制御部１４は、対応するトランザクションデータをトランザクションＤＢ１３２から削除するとともに、振込処理の完了をユーザ端末２０に通知する（ステップＳ１２５）。そして、ユーザ端末２０の制御部２５は、表示部２３に振込処理完了画面を表示する（ステップＳ１２６）。以上で振込処理は終了する。
【００７４】
このように、本実施形態によれば、サーバ１０は、ユーザ端末２０に、入力された振込データを取得するためのＵＲＬを記録した２次元コード（ＱＲコード）を作成して表示させる。そして、サーバ１０は、このＱＲコードを読み取った携帯端末３０から送信された振込データを、ユーザ端末２０から送信された振込データと比較して、不一致の場合は振込データが改竄されたと判別する。このため、振込システム等のネットワークサービスにおける振込データ（入力データ）の改竄を確実に検知することが可能となる。
【００７５】
さらに、本実施形態によれば、この２次元コードは、サーバ１０がユーザ端末２０に送信して実行させるＪＡＶＡアプレット（ＱＲコード表示用アプレット１３３）の処理によって作成される。ＪＡＶＡアプレットは、サンドボックスと呼ばれる強力なセキュリティ機構を持ち、実行の際には電子証明書が付された確認ダイアログが表示されるため、ＪＡＶＡアプレットの処理によって作成されるＱＲコードが改竄される可能性は極めて低い。従って、このＱＲコードを読み取った携帯端末３０から送信された振込データは、改竄の虞が無い、画面に入力された振込データの内容そのものであり、ユーザ端末２０から取得した振込データと比較することで、確実に改竄を検知することが可能となる。
【００７６】
さらに、本実施形態によれば、ＱＲコードを読み取った携帯端末３０から送信される振込データは暗号化されている。そのため、第三者によってこのＱＲコードが読み取られたとしても、振込データが漏洩する虞も無く、高いセキュリティを確保することができる。
【００７７】
さらに、本実施形態によれば、サーバ１０は、ユーザの携帯端末３０に振込データを送信するため、ユーザの目視によっても振込データの改竄が無いことを確認することができる。また、振込データの確認をしたユーザの携帯端末３０からの着信（確認通知）があった場合にのみ、振込処理を開始するため、不正に入手したユーザＩＤとパスワードとを用いた成りすましも防止することが可能となる。
【００７８】
（変形例）
なお、上述した実施形態は一例であり、種々の変更及び応用が可能である。
【００７９】
例えば、上記実施形態に係る振込システムでは、ＱＲコードを読み取った携帯端末３０から送信された振込データとユーザ端末２０から送信された振込データとを比較し、一致する場合に振込データは改竄されていないものとして、振込処理を行った。しかしながら、ＱＲコード経由で携帯端末３０から取得した振込データは改竄の虞が無いため、このような比較を行わずに、携帯端末３０から取得した振込データを直接用いて振込処理を行ってもよい。
【００８０】
ここで、この場合の振込システムの動作について説明する。ユーザ端末２０がサーバ１０にログイン要求を送信し、サーバ１０がＱＲコード表示用アプレット１３３を送信してユーザ端末２０にＱＲコードを表示させ、このＱＲコードを読み取ったユーザ端末２０から送信されたデータを復号化して振込データを取得するステップＳ１０１〜Ｓ１１５までの処理は、これまでに述べた動作（図７，８）と同様である。
【００８１】
続いて、図１５に示すように、サーバ１０の制御部１４は、ステップＳ１１５で復号化した振込データを、ＵＲＬでのアクセスのあった携帯端末３０に返信する（ステップＳ２０１）。
【００８２】
そして、携帯端末３０の制御部３７は、図１４に示すように、サーバ１０から返信された振込データを表示部３４に表示する（ステップＳ２０２）。なお、この処理は、図９のステップＳ１２１と実施的に同じ処理である。
【００８３】
続いて、ユーザは、携帯端末３０の表示部３４に表示されている振込データと、ユーザ端末２０の表示部２３の振込データ入力画面に表示されている振込データ（図１３）とが一致することを確認し、一致する場合は、振込処理開始の確認通知として、画面下の電話番号部分（０３−１２３４−５６７８）をクリックし、携帯端末３０の制御部３７は、電話網５０を介して、サーバ１０に電話発信する（図９、ステップＳ２０３）。なお、この処理は、図９のステップＳ１２２と実施的に同じ処理である。
【００８４】
サーバ１０の制御部１４は、ステップＳ２０１で振込データを送信（返信）してから所定時間以内（例えば、５分以内）に携帯端末３０からの確認通知（着信）があることを確認する（ステップＳ２０４）。なお、この処理は、図９のステップＳ１２３と実施的に同じ処理である。
【００８５】
そして、所定時間以内に携帯端末３０からの確認通知（着信）があった場合、サーバ１０の制御部１４は、ユーザＤＢ１３１の口座情報が示すユーザの口座から、携帯端末３０から受信してステップＳ１１５で復号化した振込データが示す指定口座に指定金額を振り込む振込処理を開始する（ステップＳ２０５）。そして、振込処理が完了すると、制御部１４は、その旨をユーザ端末２０に通知し（ステップＳ２０６）、ユーザ端末２０の制御部２５は、表示部２３に振込処理完了画面を表示する（ステップＳ２０７）。以上で振込処理は終了する。
【００８６】
このように、ユーザ端末２０からは振込データを取得しないで、ＱＲコード経由で携帯端末３０から取得したデータを直接用いて振込処理を行うため、より処理を短縮することが可能となる。
【００８７】
また、上記実施形態では、振込データ取得用アプレット１３４を送信して実行させることにより、インターネット４０を介して、サーバ１０がユーザ端末から振込データを取得した（図８，図９のステップＳ１１７，Ｓ１１８）。しかしながら、図７のステップＳ１０６で、ＱＲコード作成要求とともに、振込データ入力画面に入力された振込データをサーバ１０に送信してもよい。若しくは、振込データ入力画面に振込データが入力される度に、振込データをサーバ１０に送信するようにしてもよい。このようにすることで、サーバ１０は、振込データ取得用アプレット１３４を用いずにユーザ端末２０から振込データを取得できるため、処理を短縮することが可能となる。
【００８８】
また、上記実施形態では、振込システムにおける振込データの改竄の検知について説明した。しかしながら、本発明は、他のネットワークサービスおける入力データの改竄の検知にも適用可能である。例えば、インターネット４０を利用したチケット予約システムにおけるユーザが入力した予約データの改竄の検知にも、同様に本発明は適用可能である。
【００８９】
また、上記実施形態では、サーバ１０がＪＡＶＡアプレット（ＱＲコード表示用アプレット１３３）をユーザ端末２０に送信して実行させることによりＱＲコードを作成したが、ＪＡＶＡアプレット以外の他のアプレットやプログラムを送信して実行させてもよい。
【００９０】
また、上記実施形態では、サーバ１０は、振込データを送信するためのＵＲＬを記録したＱＲコードをユーザ端末２０に表示させたが、ＱＲコードの代わりに、ＵＲＬを記録したＣＰコードやＳｅｍａコード等といった他の２次元コードを表示させてもよい。
【００９１】
本実施形態に係るサーバ１０は、専用のシステムにより実現してもよいし、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによってサーバ１０を構成してもよい。また、上記プログラムをインターネット等のネットワーク上のサーバ装置が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳとアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をサーバ装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００９２】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００９３】
本発明は、ネットバンキング等のシステムに好適に利用される。
【符号の説明】
【００９４】
サーバ  １０，２０  ユーザ端末、３０  携帯端末、４０  インターネット、５０  電話網、１１，２１，３１  通信部、１２，３２  電話通信部、１３，２４，３６  記憶部、１３１  ユーザＤＢ、１３２  トランザクションＤＢ、１３３  ＱＲコード表示用アプレット、１３４  振込データ取得用アプレット、１４，２５，３７  制御部、２２，３３  入力部、２３，３４  表示部、３５  ２次元コード読取部
【図１】
2016009497.tif 000003
【図２】
2016009497.tif 000004
【図３】
2016009497.tif 000005
【図４】
2016009497.tif 000006
【図５】
2016009497.tif 000007
【図６】
2016009497.tif 000008
【図７】
2016009497.tif 000009
【図８】
2016009497.tif 000010
【図９】
2016009497.tif 000011
【図１０】
2016009497.tif 000012
【図１１】
2016009497.tif 000013
【図１２】
2016009497.tif 000014
【図１３】
2016009497.tif 000015
【図１４】
2016009497.tif 000016
【図１５】
2016009497.tif 000017
【国際調査報告】
2016009497.tif 000018
2016009497.tif 000019
2016009497.tif 000020
2016009497.tif 000021