JP2014106593A - 取引認証方法、及びシステム - Google Patents
取引認証方法、及びシステム Download PDFInfo
- Publication number
- JP2014106593A JP2014106593A JP2012257299A JP2012257299A JP2014106593A JP 2014106593 A JP2014106593 A JP 2014106593A JP 2012257299 A JP2012257299 A JP 2012257299A JP 2012257299 A JP2012257299 A JP 2012257299A JP 2014106593 A JP2014106593 A JP 2014106593A
- Authority
- JP
- Japan
- Prior art keywords
- mobile terminal
- information
- transaction
- user
- smart phone
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
【課題】高価な専用デバイスを使用することなく、取引の安全と取引の内容の確実性を保証する技法を提供する。
【解決手段】パーソナルコンピュータ、携帯又はスマートフォンなどのユーザ端末からホストシステムに送信した、送金先口座番号や、送金金額などの取引情報を、ホストシステムがユーザ端末に送り返す。ユーザ端末では、送られた取引情報をユーザ端末の画面に表示するとともに、送られた取引情報に端末ユーザIDを加えた情報にハッシュ関数を施し確認コードを生成する。ユーザがユーザ端末の画面に表示された情報を確認して確認コードをホストシステムに送ることで認証が完了する。パーソナルコンピュータのユーザはさらに、携帯又はスマートフォンを使った二要素認証を行う。二要素認証は、パーソナルコンピュータの画面に表示された二次元バーコードを携帯またはスマートフォンにより読み取り、確認コードを生成することで行われる。
【選択図】図6
【解決手段】パーソナルコンピュータ、携帯又はスマートフォンなどのユーザ端末からホストシステムに送信した、送金先口座番号や、送金金額などの取引情報を、ホストシステムがユーザ端末に送り返す。ユーザ端末では、送られた取引情報をユーザ端末の画面に表示するとともに、送られた取引情報に端末ユーザIDを加えた情報にハッシュ関数を施し確認コードを生成する。ユーザがユーザ端末の画面に表示された情報を確認して確認コードをホストシステムに送ることで認証が完了する。パーソナルコンピュータのユーザはさらに、携帯又はスマートフォンを使った二要素認証を行う。二要素認証は、パーソナルコンピュータの画面に表示された二次元バーコードを携帯またはスマートフォンにより読み取り、確認コードを生成することで行われる。
【選択図】図6
Description
この発明は、オンライン・バンキングなどの処理における、セキュアな取引技法に関するものである。
最近、パーソナル・コンピュータや、携帯、スマート・フォンによるオンライン・バンキングの不正アクセスが頻発しており、基本的な対策として、IDやパスワードの強化が謳われている。
また、これに対する重要な対策方針として、(1) 相手認証の強化、(2) 接続先サイトの保証、(3) 送金内容の保証がある。これ以外の脅威も存在するが、オンライン・バンキングでは、この3つが、最も重要なセキュリティ要素であると想定してよい。
相手認証の強化とは、オンライン・バンキングのIDやパスワードが盗難されて悪意の第三者が不正ログインを試みることに対抗する仕組みである。これの例として、ワンタイム・パスワード(OTP)、2要素認証やバイオメトリックスがある。
接続先サイトの保証とは、フィッシング攻撃で誤った銀行サイトに誘導され、そこでIDやパスワードが騙し取られることに対抗する仕組みである。これの例として、SSL-EV証明書によるサイト認証がある。
送金内容の保証には、最近になって報告されている、パーソナル・コンピュータに常駐し、送金内容(金額や振込先)をユーザに分からないように不正に書き換えるコンピュータ・ウイルスを検出することが含まれる。
上記のような対策を実現する仕組みとして、例えば、米国特許公開2011/0131639号公報に記載されているように、ハードウェア・トークンにより発生されたワンタイム・パスワードを使用して認証を行う技法が知られている。これは、セキュリティ的に頑健であるが、運用が難しいという問題がある。
特開2002−342285号公報は、利用者管理端末が、携帯電話から送信される認証情報に基づいて認証処理を行い、認証が成立した場合に、情報の発行許可を受けるための認証を行う情報であるワンタイムパスワードを携帯電話に発行し、発行されたワンタイムパスワードと該発行されたワンタイムパスワードの発行対象の携帯電話の識別情報とを対応づけて一時記憶し、発行端末から送信される識別情報とワンタイムパスワードとを受信し、一時記憶された情報に基づいて認証処理を行い、認証が成立した場合に情報の発行を許可するようにしたシステムを開示する。
特開2004−240637号公報は、インターネットに接続し、利用者IDを入力してログイン用ワンタイムパスワードの問合せを認証サーバーに行う携帯電話と、携帯電話番号と利用者IDが認証データベースに登録されているか照合を行い、一致した場合のみ、そのワンタイムパスワードを携帯画面に送信する認証サーバーと、インターネット経由で認証システムログイン画面を起動して、利用者IDと携帯電話1で得たログイン用ワンタイムパスワードを入力するパソコンやPDAなどの端末装置とからなるシステムを開示する。
特開2007−108973号公報は、認証サーバがサービスサーバからの要求に基づいてユニークなトークンを発行し、記憶し、サービスサーバが、発行されたトークン情報を含み、認証サーバのURLを表す2次元コード画像を生成してパソコンに送信し、ユーザはパソコン画面から携帯端末のカメラで2次元コード画像を読み取り、認証サーバにアクセスし、認証サーバは携帯端末からのアクセスに基づき、端末IDを取得すると共にトークンを抽出して有効か否かを判定し、判定結果を記録、通知するシステムを開示する。
Jonathan M. McCune, Adrian Perrig, Michael K. Reiter, "Seeing-Is-Believing: Using Camera Phones for Human Verifiable Authentication", Security and Privacy, 2005 IEEE Symposium on May 8-11, 2005は、認証と装置の識別のための視覚的チャネルを実装するための、2次元バーコードと、カメラ付電話を用いたシステムを開示する。ここで開示されている技法によれば、対象デバイスに貼り付けられているバーコードを近距離で撮影し、データを読み込むので、中間者攻撃しにくいというメリットがある。
しかし、上記どの従来技術も、情報伝達チャネルの安全性を高めることには貢献するものの、取引の内容そのものの確実性を保証する点では不十分であった。
Jonathan M. McCune, Adrian Perrig, Michael K. Reiter, "Seeing-Is-Believing: Using Camera Phones for Human Verifiable Authentication", Security and Privacy, 2005 IEEE Symposium on May 8-11, 2005
従って、この発明の目的は、高価な専用デバイスを使用することなく、取引の安全と取引の内容の確実性を保証する技法を提供することにある。
この発明は、上記課題を解決するためになされたものであり、パーソナル・コンピュータ、携帯またはスマート・フォンなどのユーザ端末から、ホスト・システムに送信した、送金先口座番号や、送金金額などの取引情報を、ホスト・システムが、ユーザ端末に送り返す。ユーザ端末では、送られた取引情報をユーザ端末の画面に表示するとともに、送られた取引情報に端末ユーザID及び端末固有の秘密情報を加えた情報にハッシュ関数を施し、確認コードを生成する。ユーザが、ユーザ端末の画面に表示された情報を確認して、確認コードをホスト・システムに送り、ホスト・システムがそれを検証することで、認証が完了する。
この発明の第1の側面では、ユーザ端末はパーソナル・コンピュータであり、パーソナル・コンピュータのユーザはさらに、携帯またはスマート・フォンを使った二要素認証を行う。このため、携帯またはスマート・フォンには予め、端末ユーザIDがセットされ、好適にはホスト・システムから、所定のアプリケーション・プログラムがダウンロードされ導入される。端末ユーザIDは、事前に、ホスト・システムに登録される。ホスト・システムは、送金先口座番号や、送金金額などの情報を含む取引情報を所定の関数でエンコードし、二次元バーコードのデータを生成し、パーソナル・コンピュータに送る。パーソナル・コンピュータはそのコードに基づき、二次元バーコードを、パーソナル・コンピュータのディスプレイに表示する。
パーソナル・コンピュータのユーザは、ディスプレイに表示された二次元バーコードを、携帯またはスマート・フォンで撮影することによって読み取る。携帯またはスマート・フォンは、読み取った二次元バーコードの情報から、送金先口座番号及び送金金額などの取引情報を引き出し、それらの情報を携帯またはスマート・フォンのディスプレイに表示するとともに、導入されているアプリケーション・プログラムにより、取引情報と端末ユーザIDを加えた情報に所定のハッシュ関数を施し、その出力結果の少なくとも一部の値を確認コードとして表示する。ユーザは、携帯またはスマート・フォンのディスプレイに表示された情報が正しいことを確認すると、ディスプレイに表示された確認コードをパーソナル・コンピュータの画面の所定フィールドに打ち込み、OKボタンをクリックして、確認コードをホスト・システムに送る。そして、送られた確認コードに基づき、ホスト・システムは認証を行う。
この発明の第2の側面では、二要素認証でなく、ユーザ端末は、パーソナル・コンピュータ、携帯またはスマート・フォンのどれか一つである。ユーザ端末には、予め、端末ユーザIDがセットされ、好適にはホスト・システムから、所定のアプリケーション・プログラムがダウンロードされ導入される。端末ユーザIDは、事前に、ホスト・システムに登録される。ホスト・システムは、送金先口座番号や、送金金額などの情報を含む取引情報を、好適にはエンコードしてユーザ端末に送る。ユーザ端末は、受け取った情報をデコードとして得た取引情報を、ユーザ端末のディスプレイに表示する。ユーザ端末はさらに、導入されているアプリケーション・プログラムにより、取引情報と端末ユーザIDを加えた情報に所定のハッシュ関数を施し、その出力結果の少なくとも一部の値を確認コードとして保持する。ユーザは、携帯またはスマート・フォンのディスプレイに表示された情報が正しいことを確認すると、OKボタンをクリックして、確認コードをホスト・システムに送る。そして、送られた確認コードに基づき、ホスト・システムは認証を行う。
この発明によれば、ユーザ端末に取引内容をきちんと表示してユーザに目視で確認させるとともに、取引内容に関連して生成された確認コードをホスト側に送信して、照合することより、特別な機器を使うことなく取引の高いセキュリティを保証することが可能となる。
特に、スマート・フォンと、クライアント・コンピュータと、ホスト・システムからなる、本発明の第1の実施例に係る発明では、クライアント・コンピュータにコンピュータ・ウイルスが感染している等の可能性があって、クライアント・コンピュータにおいて送金内容の確実性が保証できないような場合でも、スマート・フォンを第二のデバイスとして使うことにより、セキュアに取引を行うことが可能となる。
また、スマート・フォンと、ホスト・システムからなる、本発明の第2の実施例に係る発明では、スマート・フォンがセキュアであるという前提で、仮に銀行にログインするパスワードが第三者に盗み取られていたとしても、所有者以外の端末(例えばスマート・フォンから第三者が勝手にログインして送金することが防止できるという効果を与える。
以下、図面に従って、本発明の実施例を説明する。これらの実施例は、本発明の好適な態様を説明するためのものであり、発明の範囲をここで示すものに限定する意図はないことを理解されたい。また、以下の図を通して、特に断わらない限り、同一符号は、同一の対象を指すものとする。
図1において、取引サーバ(銀行ホスト・サーバ)102には、インターネット104を介して、複数のクライアント・コンピュータ106a、106b・・・106zが接続されている。図1のシステムにおいては、クライアント・コンピュータのユーザは、Webブラウザを通じて、インターネット104の回線を介して、銀行口座からの送金、残高照会などの目的で、取引サーバ102に、ログインする。具体的には、所定のURLをWebブラウザに打ち込んで、所定のページを表示する。
ログインに当たっては、クライアント・コンピュータのユーザは、与えられたユーザIDと、それに関連付けられたパスワードを用いる。
取引サーバ102にはまた、パケット通信網108を介して、スマート・フォン110a、・・・110kなどのモバイル端末が接続される。ユーザは、与えられたユーザIDと、それに関連付けられたパスワードがあれば、スマート・フォンに導入されているWebブラウザを通じて、同様に取引サーバ102にアクセスできる。
次に、図2を参照して、図1で参照番号106a、106b・・・106zのように示されているクライアント・コンピュータのハードウェア・ブロック図について、説明する。図2において、クライアント・コンピュータは、典型的にはパーソナル・コンピュータであり、メイン・メモリ206、CPU204、IDEコントローラ208をもち、これらは、バス202に接続されている。バス202には更に、ディスプレイ・コントローラ214と、通信インターフェース218と、USBインターフェース220と、オーディオ・インターフェース222と、キーボード・マウス・コントローラ228が接続されている。IDEコントローラ208には、ハードディスク・ドライブ(HDD)210と、DVDドライブ212が接続されている。DVDドライブ212は、必要に応じて、CD−ROMやDVDから、プログラムを導入するために使用する。ディスプレイ・コントローラ214には、好適には、LCD画面をもつディスプレイ装置216が接続されている。
USBインターフェース220には、必要に応じて、外付けHDDなどのデバイスを接続するために使用される。
キーボード・マウス・コントローラ228には、キーボード230と、マウス232が接続されている。キーボード230と、マウス232は、銀行のオンライン・バンキングの画面で、口座番号を選んだり、金額を入力したりするために使用される。
CPU204は、例えば、32ビット・アーキテクチャまたは64ビット・アーキテクチャに基づく任意のものでよく、インテル社のPentium(インテル・コーポレーションの商標)4、Core(商標)2 Duo、Core(商標)2 Quado、Core(商標)i3、Core(商標)i5、Core(商標)i7、AMD社のAthlon(商標)などを使用することができる。
ハードディスク・ドライブ210には、少なくとも、オペレーティング・システムと、オペレーティング・システム上で動作するWebブラウザ(図示しない)が格納されており、システムの起動時に、オペレーティング・システムは、メインメモリ206にロードされる。オペレーティング・システムは、Windows XP(マイクロソフト・コーポレーションの商標)、Windows(マイクロソフト・コーポレーションの商標)7、Linux(Linus Torvaldsの商標)、Mac OS Xなどを使用することができる。
ハードディスク・ドライブ210にはさらに、Webブラウザが導入されている。Webブラウザは、好適にはSSLに対応した、Internet Explorer、FireFox、Google Chromeなど任意のものを使用することができる。
通信インターフェース218は、オペレーティング・システムが提供するTCP/IP通信機能を利用して、イーサネット(商標)・プロトコルなどにより、取引サーバ102と通信する。
図3は、取引サーバ102のハードウェア構成の概要ブロック図である。図3に示すように、クライアント・コンピュータと通信するためのインターネット104と、スマート・フォンと通信するためのパケット通信網108が、取引サーバ102の通信インターフェース302に接続される。通信インターフェース302はさらに、バス304に接続され、バス304には、CPU306、主記憶(RAM)308、及びハードディスク・ドライブ(HDD)310が接続されている。
図示しないが、取引サーバ102にはさらに、キーボード、マウス、及びディスプレイが接続され、これらによって、取引サーバ102全体の管理やメンテナンス作業を行うようにしてもよい。
取引サーバ102のハードディスク・ドライブ310には、オペレーティング・システム、クライアント・コンピュータ106a、106b・・・106zのログイン管理のための、ユーザIDとパスワードの対応テーブルが保存されている。ハードディスク・ドライブ310にはさらに、取引サーバ102を取引サーバとして機能させるためのWebSphere(R)などのソフトウェアが保存され、取引サーバ102の立ち上げ時に、主記憶308にロードされて、動作する。これによって、クライアント・コンピュータ106a、106b・・・106zが、TCP/IPのプロトコルで、取引サーバ102にアクセスすることが可能となる。
また、図示しないが、取引サーバ102のハードディスク・ドライブ310には、パケット通信網108を介してスマート・フォンと通信するための通信モジュールも格納されている。
ハードディスク・ドライブ310にはさらに、図5の機能ブロック図に関連して後述するメイン・プログラム502、通信モジュール504、ユーザ情報データ506、乱数生成ルーチン508、ハッシュ関数ルーチン510、コード変換ルーチン512、ユーザ登録ルーチン514及び取引処理ルーチン516が格納されている。これらのモジュールまたはルーチンは、C、C++、C#、Java(R)、Python、Rubyなどの既存の任意のプログラミング言語で作成することができる。
尚、上記取引サーバ102として、インターナョナル・ビジネス・マシーンズ・コーポレーションから購入可能な、IBM(インターナョナル・ビジネス・マシーンズ・コーポレーションの商標)System X、System i、System pなどの機種のサーバを使うことができる。その際、使用可能なオペレーティング・システムは、AIX(インターナョナル・ビジネス・マシーンズ・コーポレーションの商標)、UNIX(The Open Groupの商標)、Linux(Linus Torvaldsの商標)、Windows(商標)2008 Serverなどがあり、これには限定されず、任意のオペレーティング・システムで本発明の機能を実装することができる。
図4は、スマート・フォン110a、・・・110k(以下、スマート・フォン110と総称する)のハードウェアのブロック図である。図4において、バス402には、CPU404、RAM406、フラッシュ・メモリ408、及び通話モジュール410が接続されている。CPU404は、クアルコム、NVIDIA、ARMなどから提供されているものである。
バス402にはさらに、通信モジュール412、ディスプレイ416、タッチパネル・インターフェース418、カメラ424、及びバッテリ制御モジュール426が接続されている。
通信モジュール412は、アンテナ414と基地局(図示しない)を含むパケット通信網108を介して、取引サーバ102と通信し、取引サーバ102にメッセージやデータを送ったり、取引サーバ102からファイルやアプリケーション・プログラムを受信したりする機能をもつ。
スマート・フォン110は、図示しないが、固有の識別IDの情報を含む、SIMカードをもつ。
フラッシュ・メモリ408には、オペレーティング・システムや、ブラウザを含む、その他のアプリケーション・プログラムが格納されている。スマート・フォンの代表的なオペレーティング・システムとして、Appleから提供されているiOSと、Open Handset Allianceから提供されているAndroidがあるが、本発明は、任意のオペレーティング・システムを導入されたスマート・フォンに適用可能である。
ディスプレイ416は、ブラウザその他のアプリケーション・プログラムによる画面を表示する機能をもつ。タッチパネル・インターフェース418は、ディスプレイ416上の指の動きを検出して、スクロールやイメージの拡大・縮小等を行う機能をもつ。
カメラ424は、ディジタル的に風景や人物などを撮影する機能、及び二次元バーコードを読み取る機能をもつ。読み取られた二次元バーコードは、別途のモジュールで復号される。
図5は、取引サーバ102における、機能構成のブロック図である。全体の処理を統合するためのメイン・プログラム502は、通信モジュール504、ユーザ情報データ506、乱数生成ルーチン508、ハッシュ関数ルーチン510、コード変換ルーチン512、ユーザ登録ルーチン514及び取引処理ルーチン516を適宜呼び出して処理を行う。
通信モジュール504は、クライアント・コンピュータ106a、106b・・・106zや、スマート・フォン110a、・・・110kと、サーバ102との間でデータをやりとりする機能を行う。
ユーザ情報データ506は、クライアント・コンピュータ106a、106b・・・106zや、スマート・フォン110a、・・・110kのユーザの名前、端末ID、パスワード、口座番号、などのデータを保管し、これらの情報は適宜ハッシュ関数ルーチン510、コード変換ルーチン512、及び取引処理ルーチン516などから利用されるとともに、ユーザ登録ルーチン514によってデータを追加あるいは更新される。特にユーザ情報データ506は、下記のような、名前、口座番号、端末ID、秘密情報をユーザ毎に格納するユーザ登録情報テーブルを有する。
乱数生成ルーチン508は、既知の任意のアルゴリズムで乱数を生成する機能をもち、この乱数は、ユーザ登録情報テーブルの秘密情報として提供されたり、ハッシュ関数ルーチン510の引数として提供されたりする。
ハッシュ関数ルーチン510は、これには限定されないが、SHA-1、SHA-2などの既存のハッシュ・アルゴリズムを実装してハッシュ値を与える機能をもつ。この実施例では特に、金額、口座、秘密情報、乱数などを値を引数にして、送金確認コードを生成するために使用される。特に好適には、このハッシュ関数は、秘密情報をキーとする、Keyed Hashである。
コード変換ルーチン512は、送金確認コード、金額、口座、及び乱数の情報を使用して、二次元バーコードのデータを生成する機能をもつ。
ユーザ登録ルーチン514は、クライアント・コンピュータ106a、106b・・・106zや、スマート・フォン110a、・・・110kを介した、サーバ102へのユーザのアクセスに応答して、ユーザ登録情報テーブルへのエントリの追加など、ユーザ情報データ506へのユーザ情報の追加を行う機能をもつ。
取引処理ルーチン516は、ユーザの認証や、認証の結果に基づき送金処理などの取引を実行する機能を有する。
次に、図6を参照して、本発明の第1の実施例の処理の概要を説明する。この説明で使用されるのは、取引サーバ102と、クライアント・コンピュータ106と、スマート・フォン110と、サーバ602である。クライアント・コンピュータ106は、図1に示すクライアント・コンピュータ106a、106b・・・106zのどれかであるが、ここでは総称的にクライアント・コンピュータ106と呼ぶことにする。スマート・フォン110も、図1に示すスマート・フォン110a、110b・・・110kのどれかであり、スマート・フォン110と総称的に呼ぶことにする。サーバ602は、図1には示されていないが、スマート・フォン用のアプリケーションを配信するWebサーバであり、インターネット104に接続されている。一般的には、サーバ602は、取引サーバ102とは物理的に別のサーバであるが、取引サーバ102を、サーバ602の代わりにアプリケーション配信用に使用することもできる。
図6において、最初のステップ(1)は、スマート・フォン110のユーザが、サーバ602にアクセスして、アプリケーションをダウンロードし、適宜取引サーバ102にもアクセスして、スマート・フォン110上でアプリケーションをセットアップすることである。
次のステップ(2)では、スマート・フォン110のユーザが、自分の管理または所有に係るクライアント・コンピュータ106のWebブラウザを使って、取引サーバ102にアクセスし、オンライン・バンキング取引として、所定口座に意図した金額を送金処理する。
次のステップ(3)では、取引サーバ102が、この段階ではまだオンライン・バンキング取引を完了させず、スマート・フォン110のユーザの秘密情報と、送金先の口座番号、送金金額などのオンライン・バンキング取引情報を含むハッシュ値でコード化した二次元バーコード情報をクライアント・コンピュータ106に送る。これに応答して、クライアント・コンピュータ106は、二次元バーコード情報をそのディスプレイに表示する。
次のステップ(4)では、スマート・フォン110のユーザが、スマート・フォン110カメラ機能を使って、クライアント・コンピュータ106のディスプレイに表示された二次元バーコード情報を読み取る。スマート・フォン110に導入されているアプリケーションは、読み取った二次元バーコード情報をデコードして、そこから、送金先の口座番号と送金金額の情報を取り出し、スマート・フォン110の画面に表示する。
スマート・フォン110に導入されているアプリケーションはさらに、保持している秘密情報と、送金先の口座番号と送金金額の情報などにハッシュ関数をほどこし、そこから確認コードを生成し、スマート・フォン110の画面に表示する。このハッシュ関数は、図5のハッシュ関数ルーチン510と同一の関数である。
スマート・フォン110のユーザは、次のステップ(5)で、スマート・フォン110の画面に表示されている確認コードを、クライアント・コンピュータ106のWebブラウザに表示されている所定フィールドに打ち込み、好適にはWebブラウザがEV SSL表示になっていることを確認した後、OKボタンをクリックする。
取引サーバ102は、ハッシュ関数ルーチン510を呼び出して、スマート・フォン110で確認コードが生成されたのと同じ情報と同じハッシュ関数を使い同様に確認コードを生成し、その生成した確認コードと、クライアント・コンピュータ106から送られてきた確認コードが一致することを確認したら、オンライン・バンキング取引を実行して完了させる。
次に、図6の(1)で示した、スマート・フォン110へのアプリケーションのダウンロード処理について、図7のフローチャートを参照して説明する。図7において、スマート・フォン110のユーザは、ステップ702で、サーバ602上のスマート・フォンのアプリケーション・サイトにアクセスする。
ステップ704では、スマート・フォン110のユーザは、この発明の処理のために使用されるネットバンク・アプリケーションを探し、見つかると、ステップ706で、そのネットバンク・アプリケーションを、スマート・フォン110に導入する。
図8は、図7のステップで示すスマート・フォン110と、サーバ602の間の処理のシーケンスを示す図である。すなわち、図8には、スマート・フォン110が、サーバ602にアクセスして、ネットバンク・アプリケーションを検索し、サーバ602がスマート・フォン110に検索結果を返し、スマート・フォン110がサーバ602に、アプリケーション・ダウンロード要求を出し、それに応答して、サーバ602がスマート・フォン110にアプリケーションをダウンロードする様子が示されている。
次に、図6の(1)における、スマート・フォン110へのアプリケーションのダウンロード処理の続きである、スマート・フォン110における、取引サーバ(銀行ホスト)102上でのユーザ登録処理を、図9のフローチャートを参照して説明する。この処理は、図5に示す、ユーザ登録ルーチン514によって実行される。
図9において、ステップ902では、スマート・フォン110のユーザは、ネットバンク・アプリケーションから、ユーザ登録処理を実行する。
ステップ904では、ネットバンク・アプリケーションが、銀行ホストに接続する。
ステップ906では、スマート・フォン110のユーザが、例えば、当該銀行から付与されたユーザIDとパスワードを使用して、銀行ホスト102にログインする。
ステップ908では、銀行ホスト102から送られてきた画面に、スマート・フォン110のユーザが、ユーザ名、口座番号を入力し、OKボタン(図示しない)をクリックすると、ネットバンク・アプリケーションが、ユーザ名及び口座番号の情報を、スマート・フォン110の端末IDとともに、銀行ホスト102に送信する。
ステップ910では、スマート・フォン110が、銀行ホスト102から秘密情報を受信する。ステップ912でネットバンク・アプリケーションは、秘密情報をデータファイルとして暗号化して保存し、ステップ914でユーザ登録処理を終わる。
次に、図10を参照して、取引サーバ(銀行ホスト)102側でのユーザ登録処理を説明する。図10のステップ1002では、スマート・フォン110のネットバンク・アプリケーションから、銀行ホスト102が、ログオン要求を受信する。
ステップ1004では、銀行ホスト102が、スマート・フォン110に、ユーザ登録画面を送信する。そして、銀行ホスト102は、ステップ1006で、ユーザのスマート・フォン110から、名前、口座番号、端末IDなどの情報を受信する。
ステップ1008で、銀行ホスト102は、ユーザ情報登録テーブルに該当エントリがないかどうか判断し、もしそうなら、ステップ1010で、乱数生成ルーチン508により秘密情報を生成し、ユーザ情報登録テーブルに格納し、処理を終わる。ユーザ情報登録テーブルに該当エントリがあるなら、銀行ホスト102は、ステップ1012で、重複登録エラー表示して処理を終わる。
図11は、銀行ホスト上での、スマート・フォン110のユーザ登録処理のシーケンス図である。すなわち、ここでは、スマート・フォン110が銀行ホスト102にログインし、銀行ホスト102がスマート・フォン110にユーザ情報を要求し、それに応じてスマート・フォン110が銀行ホスト102に、名前、口座番号、端末IDを送り、それに応じて銀行ホスト102がスマート・フォン110に秘密情報を作成し、格納するとともに送って、登録完了することが示されている。
秘密テーブルは、日付とともに、複数の秘密情報のエントリをもつことができる。セキュリティの安全性向上のため、秘密情報は、定期的、あるいは不定期に銀行ホスト102からスマート・フォン110に提供することができ、好適には、最新の日付の秘密情報が、スマート・フォン110で有効とされる。
次に、図12のフローチャートを参照して、銀行ホストにおけるネットバンク処理について説明する。この処理は、図5に示した、取引処理ルーチン514が実行する。
図12において、銀行ホスト102は、ステップ1202で、クライアント・コンピュータ106から、ログオン要求を受信する。銀行ホスト102は、受信したログオン要求のユーザIDとパスワードをユーザ情報506に保存されている情報と比較し、ユーザIDとパスワードの組がユーザ情報506に見つかると、ステップ1204で、ユーザ認証OKとする。
ユーザ認証OKでないなら、ステップ1206で認証エラーとして、処理を終了する。
ユーザ認証OKなら、銀行ホスト102は、ステップ1208で、クライアント・コンピュータ106に送金情報入力画面を送信する。
銀行ホスト102は、ステップ1210で、クライアント・コンピュータ106から送金情報を受信する。銀行ホスト102は次に、送金情報がユーザ情報登録テーブルの情報と一致するかどうか確認し、それが一致しないと、ステップ1214で、送金エラーとして処理を終了する。
銀行ホスト102は、ステップ1216で、乱数生成ルーチン508で乱数を生成し、それを乱数1と呼ぶことにし、次に、ハッシュ関数ルーチン510を呼び出して、H(金額,口座,秘密情報,乱数1)により、送金確認コードを生成する。
銀行ホスト102は次に、ステップ1218で、送金確認コード、金額、口座、乱数1をビット列に変換し、二次元バーコード(QRコード)に変換する。
銀行ホスト102は次に、ステップ1220で、QRコードを送信確認画面とともにクライアント・コンピュータ106に送信する。その後、銀行ホスト102は、ステップ1222で、所定の時間以内にクライアント・コンピュータ106からユーザ確認コードを受信したかどうかを判断し、もし所定時間以内に受信したかどうかを判断し、そうでないなら、ステップ1224で、送金処理エラー表示して、処理を終了する。
一方、銀行ホスト102がステップ1222で、所定の時間以内にクライアント・コンピュータ106からユーザ確認コードを受信したことを確認すると、銀行ホスト102は、ステップ1226で、ユーザ確認コードを、ユーザ情報登録テーブルの秘密情報を使って確認する。具体的には、ユーザ確認コードは、スマート・フォン110が二次元バーコードを読み取って、そこから、金額,口座,乱数1の情報を引き出し、保持している秘密情報を使用して、H(金額,口座,秘密情報,端末ID,乱数1)により生成されたコードが、5867405976740495595767であるとすると、このままでは情報として長すぎるので、例えば、5867405976[740495]595767のような、[]で囲った位置の長さをユーザ確認コードとして使用すると決めておく。すると、銀行ホスト102側でも、同じ情報と、同じ関数H()を用いてコードを生成して、その中から同様の位置からユーザ確認コードを取り出し、比較することで、ステップ1228で正しいユーザ確認コードであるかどうかが検査される。ユーザ確認コードが不一致であると、ステップ1230で、送金処理エラー表示して、処理を終了する。
一方、銀行ホスト102は、ステップ1228で、クライアント・コンピュータ106から受信したユーザ確認コードと、生成したユーザ確認コードが一致することを確認したら、ステップ1232で、送信処理を実行して、処理を終わる。
次に、図13のフローチャートを参照して、クライアント・コンピュータ106における、ネット・バンキング処理について説明する。
図13において、クライアント・コンピュータ106のユーザは、ステップ1302で、Webブラウザを使用して、銀行ホスト102のネットバンク・サイト(例えば、http://www.abcbank.co.jp/login/)にアクセスする。ステップ1304で、クライアント・コンピュータ106のユーザは、所与のユーザID/パスワードで、ネットバンク・サイトでログインする。この場合のクライアント・コンピュータ106における、Webブラウザの画面の例を、図16に、画面1602として示す。
すると、銀行ホスト102から、クライアント・コンピュータ106のWebブラウザに、ステップ1306で、送金画面が送られてくるので、それを受信する。その送金内容を入力するためのメニューは、図16の領域1604として示されている。
ステップ1308で、クライアント・コンピュータ106のユーザは、領域1604に、送金先の銀行名、支店名、口座番号、名義人などの内容を入力し、処理開始ボタン1606をクリックする。
すると、銀行名、支店名、口座番号、名義人などの内容が銀行ホスト102に送られ、銀行ホスト102側では、図12のステップ1220に関して説明したように、送金確認コード、金額、口座、乱数1をビット列に変換し、二次元バーコード(QRコード)を作成して、クライアント・コンピュータ106に送ってくる。
クライアント・コンピュータ106は、ステップ1310で、銀行ホスト102から、このQRコードを受信し、受信したQRコードを、図16に示すように、QRコード1608として表示する。そして、クライアント・コンピュータ106は、ステップ1312で、一定時間以内にユーザ確認コードの入力があったかどうかを判断する。
図13のフローチャートには示されていないが、ステップ1310の段階で、クライアント・コンピュータ106のユーザは、スマート・フォン110で、クライアント・コンピュータ106の画面に表示されているQRコード1608を撮影して、このデータをスマート・フォン110に取り込む。すると、スマート・フォン110のネットバンク・アプリケーションの処理により、図17に示すように、スマート・フォン110の画面に、送金額及び金額の情報1702と、ユーザ確認コードの情報1704が表示される。すると、スマート・フォン110のユーザ(一般的に、クライアント・コンピュータ106のユーザでもある)は、ユーザ確認コードの情報1704をみて、その情報(この場合、740495)を、クライアント・コンピュータ106の画面のフィールド1610に入力し、OKボタン1612をクリックする。すると、ステップ1312の判断が肯定的になり、ステップ1314で、クライアント・コンピュータ106は、ユーザ確認コードを銀行ホスト102に送る。もし、銀行ホスト102がユーザ確認コードが正しいと認証すると、銀行ホスト102から、その旨のメッセージがクライアント・コンピュータ106に返され、メッセージ1614として表示される。
次に、図14のフローチャートを参照して、スマート・フォン110における、ネット・バンキング処理について説明する。
ステップ1402で、スマート・フォン110のユーザは、アプリケーションを起動して、スマート・フォン110に搭載のカメラで、QRコードを撮影する。アプリケーションはステップ1404で、撮影したQRコードをデコードして、送金確認コード、金額、口座番号、及び乱数1の情報を引き出す。金額、口座の情報は、スマート・フォン110のユーザが目視が確認できるように、参照番号1704のようにスマート・フォン110の画面に表示される。
ステップ1406で、スマート・フォン110のアプリケーションは、APIで端末IDを取得し、送金確認コードが正しいかどうか確認する。これは、送金確認コード = H(金額,口座番号,秘密情報,乱数1)という計算をスマート・フォン110で計算し、QRコードから取り出した送金確認コードと比較することによって行われる。それらが一致すれば認証はOKであるのでステップ1408に進み、そうでなければ処理を中止する。
ステップ1408で、スマート・フォン110のアプリケーションは、ユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数1)により、ユーザ確認コードを生成する。
しかし、ステップ1222で既に説明したように、実際に使用するのは、ユーザ確認コードのうちの決まった位置からの決まった長さの一部の値である。よって、アプリケーションは、ステップ1410で、ユーザ確認コードのうちの決まった位置からの決まった長さの一部の値を抽出する。
ステップ1412では、スマート・フォン110のユーザが、情報1702が正しいと確認した後、図17に示したような、切り出されたユーザ確認コード1704を見て、クライアント・コンピュータ106の画面のフィールド1610に入力して、OKボタン1612をクリックすることにより、銀行ホスト102に送信する。
次に、図12、図13及び図14のフローチャートの処理の動作のまとめとして、図15のシーケンス図を参照して、スマート・フォン110、クライアント・コンピュータ106及び銀行ホスト102の間の処理の時間的流れを説明する。
図15において、(1)で、クライアント・コンピュータ106が、銀行ホスト102にログインする。(2)で、銀行ホスト102が、当該ログインを認証し、(3)送金入力画面等をクライアント・コンピュータ106に送信する。
(4)で、クライアント・コンピュータ106のユーザが、送金情報を入力し、(5)で、金額、口座番号などの送金情報を、銀行ホスト102に送り、銀行ホスト102は、(6)で、送金確認コード = H(金額,口座番号,秘密情報,乱数1)により送金確認コードを生成し、(7)で、送金確認コード、金額、口座番号、乱数1の情報を使ってQRコードを生成し、(8)で、銀行ホスト102は、クライアント・コンピュータ106に、QRコードと確認画面を送信し、(9)でクライアント・コンピュータ106は、図16に示すように、QRコードと確認画面を表示する。
(10)では、スマート・フォン110のユーザが、ネットバンク・アプリケーションを起動し、(11)で、スマート・フォン110により、クライアント・コンピュータ106の画面に表示されているQRコード1608を撮影する。これにより、(12)で、QRコード1608の情報がスマート・フォン110に取り込まれる。
スマート・フォン110のネットバンク・アプリケーションは、(13)で、QRコードから、送金確認コード、金額、口座番号、乱数1を抽出し、送金確認コードが正しいかどうか検証する。
スマート・フォン110のネットバンク・アプリケーションは、(14)で、ユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数1)を生成し、(15)で、スマート・フォン110のユーザに、金額、口座番号、ユーザ確認コード(の一部)を表示する。ユーザが金額、口座番号の情報が正しいと確認すると、ユーザ確認コード(の一部)を、(16)で、クライアント・コンピュータ106の画面のフィールド1610に入力する。そして、(17)で、クライアント・コンピュータ106の画面のOKボタン1612をクリックすると、ユーザ確認コード(の一部)が銀行ホスト102に送られる。
銀行ホスト102は、(18)で、ユーザ情報テーブルにある情報を使用して、送られたユーザ確認コード(の一部)が正しいかどうかを検証する。
すなわち、銀行ホスト102側では、ユーザのログイン情報に基づき、保持しているユーザ登録情報テーブルを検索し、これから秘密情報を取り出し、銀行ホスト102側でも、ユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数1)を生成することで、クライアント・コンピュータ106から受信したユーザ確認コードと比較する。
正しければ(19)で送金処理などを実行する。そして、好適には、クライアント・コンピュータ106に、正しく処理が完了したことを通知する。
次に、図18以下を参照して、クライアント・コンピュータ106を使わず、スマート・フォン110と銀行ホスト102だけを使う、別の実施例について説明する。
図18において、サーバ602は、図1には示されていないが、スマート・フォン用のアプリケーションを配信するWebサーバであり、インターネット104に接続されている。一般的には、サーバ602は、取引サーバ102とは物理的に別のサーバであるが、取引サーバ102を、サーバ602の代わりにアプリケーション配信用に使用することもできる。
図18において、最初のステップ(1)は、スマート・フォン110のユーザが、サーバ602にアクセスして、アプリケーションをダウンロードし、適宜取引サーバ102にもアクセスして、スマート・フォン110上でアプリケーションをセットアップすることである。
次のステップ(2)では、スマート・フォン110のユーザが、スマート・フォン110を使って、取引サーバ102にアクセスし、オンライン・バンキング取引として、所定口座に意図した金額を送金処理する。
次のステップ(3)では、取引サーバ102が、この段階ではまだオンライン・バンキング取引を完了させず、スマート・フォン110のユーザの秘密情報と、送金先の口座番号、送金金額などのオンライン・バンキング取引情報を含むハッシュ値でコード化した情報をスマート・フォン110に送る。受信した情報をデコードして、そこから、送金先の口座番号と送金金額の情報を取り出し、スマート・フォン110の画面に表示する。スマート・フォン110に導入されているアプリケーションはさらに、保持している秘密情報と、送金先の口座番号と送金金額の情報などにハッシュをほどこし、そこから確認コードを生成し、スマート・フォン110の内部に保持する。
スマート・フォン110のユーザは、次のステップ(4)で、スマート・フォン110に画面に表示されている口座番号と送金金額が正しいと確認すると、OKボタンにタッチする。すると、保持されている確認コードが取引サーバ102に送られる。
取引サーバ102は、スマート・フォン110で確認コードが生成されたのと同じ情報と同じハッシュ関数を使い同様に確認コードを生成し、その生成した確認コードと、クライアント・コンピュータ106から送られてきた確認コードが一致することを確認したら、オンライン・バンキング取引を実行して完了させる。
次に、図18の(1)で示した、スマート・フォン110へのアプリケーションのダウンロード処理について、図19のフローチャートを参照して説明する。図19において、スマート・フォン110のユーザは、ステップ1902で、サーバ602上のスマート・フォンのアプリケーション・サイトにアクセスする。
ステップ1904では、スマート・フォン110のユーザは、この発明の処理のために使用されるネットバンク・アプリケーションを探し、見つかると、ステップ1906で、そのネットバンク・アプリケーションを、スマート・フォン110に導入する。
図20は、図19のステップで示すスマート・フォン110と、サーバ602の間の処理のシーケンスを示す図である。すなわち、図20には、スマート・フォン110が、サーバ602にアクセスして、ネットバンク・アプリケーションを検索し、サーバ602がスマート・フォン110に検索結果を返し、スマート・フォン110がサーバ602に、アプリケーション・ダウンロード要求を出し、それに応答して、サーバ602がスマート・フォン110にアプリケーションをダウンロードする様子が示されている。
次に、図18の(1)における、スマート・フォン110へのアプリケーションのダウンロード処理の続きである、スマート・フォン110における、取引サーバ(銀行ホスト)102上でのユーザ登録処理を、図21のフローチャートを参照して説明する。
図21において、ステップ2102では、スマート・フォン110のユーザは、ネットバンク・アプリケーションから、ユーザ登録処理を実行する。
ステップ2104では、ネットバンク・アプリケーションが、銀行ホストに接続する。
ステップ2106では、スマート・フォン110のユーザが、例えば、当該銀行から付与されたユーザIDとパスワードを使用して、銀行ホスト102にログインする。
ステップ2108では、銀行ホスト102から送られてきた画面に、スマート・フォン110のユーザが、ユーザ名、口座番号を入力し、OKボタン(図示しない)をクリックすると、ネットバンク・アプリケーションが、ユーザ名及び口座番号の情報を、スマート・フォン110の端末IDとともに、銀行ホスト102に送信する。
ステップ2110では、スマート・フォン110が、銀行ホスト102から秘密情報を受信する。ステップ2112でネットバンク・アプリケーションは、秘密情報をデータファイルとして暗号化して保存し、ステップ2114でユーザ登録処理を終わる。
次に、図22を参照して、取引サーバ(銀行ホスト)102側でのユーザ登録処理を説明する。この処理は、図5に示す、ユーザ登録ルーチン514によって実行される。ステップ2202では、スマート・フォン110のネットバンク・アプリケーションから、銀行ホスト102が、ログオン要求を受信する。
銀行ホスト102は、ステップ2204で、ログオン要求で送られてきた、ユーザIDとパスワードにより、ユーザ認証OKかどうか判断する。ユーザ認証OKでないなら、銀行ホスト102は、ステップ2206で、認証エラーとして処理を終わる。
ステップ2204でユーザ認証OKと判断すると、ステップ2208で、銀行ホスト102が、スマート・フォン110に、ユーザ登録画面を送信する。そして、銀行ホスト102は、ステップ2210で、ユーザのスマート・フォン110から、名前、口座番号、端末IDなどの情報を受信する。
ステップ2212で、銀行ホスト102は、ユーザ情報登録テーブルに該当エントリがないかどうか判断し、もしそうなら、ステップ2214で、乱数生成ルーチン508により秘密情報を生成し、ユーザ情報登録テーブルに格納し、処理を終わる。ユーザ情報登録テーブルに該当エントリがあるなら、銀行ホスト102は、ステップ2216で、重複登録エラー表示して処理を終わる。
図23は、銀行ホスト上での、スマート・フォン110のユーザ登録処理のシーケンス図である。すなわち、ここでは、スマート・フォン110が銀行ホスト102にログインし、銀行ホスト102がスマート・フォン110にユーザ情報を要求し、それに応じてスマート・フォン110が銀行ホスト102に、名前、口座番号、端末IDを送り、それに応じて銀行ホスト102がスマート・フォン110に秘密情報を送信し、格納するとともに送って、登録完了することが示されている。
図24は、銀行ホスト上でのネット・バンキング処理のフローチャートを示す図である。この処理は、図5に示した、取引処理ルーチン514が実行する。図24において、ステップ2402では、銀行ホスト102は、スマート・フォン110のネットバンク・アプリケーションから、送金メニューにログオン要求を受信する。
銀行ホスト102は、ステップ2404で、ログオン要求で送られてきた、ユーザIDとパスワードにより、ユーザ認証OKかどうか判断する。ユーザ認証OKでないなら、銀行ホスト102は、ステップ2406で、認証エラーとして処理を終わる。
ユーザ認証OKであるなら、銀行ホスト102は、ステップ2408で、スマート・フォン110に、例えば、図27の参照番号2702で示すような送金情報入力画面を送信する。
銀行ホスト102は、ステップ2410で、送金情報をスマート・フォン110から受信する。銀行ホスト102は、ステップ2412で更に、金額、口座番号、乱数2、ユーザ確認コードを受信する。
銀行ホスト102は、ステップ2414で、受信した金額、口座番号、乱数2と、スマート・フォン110用に保持している秘密情報、端末IDから、ユーザ確認コードを生成し、スマート・フォン110から受信したユーザ確認コードと比較し、それらが一致するなら、ステップ2416で送金処理を実行し、そうでなければ、ステップ2418で送信エラーを表示して処理を終わる。
図25は、スマート・フォン110上でのネット・バンキング処理のフローチャートを示す図である。ステップ2502では、スマート・フォン110のユーザは、ネット・バンキング・アプリケーションを起動して、送金メニューを選択する。
ステップ2504では、ネット・バンキング・アプリケーションは、銀行ホストに接続する。
ステップ2506では、スマート・フォン110のユーザは、ネット・バンキング・アプリケーション上で、ユーザIDとパスワードを使用して、ログインする。
これに応答して、銀行ホストからスマート・フォン110に、ステップ2508で送金画面が送られてくるので、スマート・フォン110はそれを受信して、図27の領域2702のように表示する。
ステップ2510で、スマート・フォン110のユーザが、送金画面に入力すると、確認用の送金先口座番号と、金額が、領域2704に表示される。ステップ2510ではさらに、ネット・バンキング・アプリケーションが、乱数2を生成する。
ネット・バンキング・アプリケーションはステップ2512で、ユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数2)を生成する。
スマート・フォン110のユーザが、領域2704の確認データを確認してOKであることを確認し、処理続行2702をタッチすると、ネット・バンキング・アプリケーションはステップ2514で、金額、口座番号、乱数2、ユーザ確認コードを銀行ホスト102に送る。なお、領域2704の確認データがOKでないなら、キャンセル2708をタッチして、処理をキャンセルする。
ステップ2514で銀行ホスト102に送信した金額、口座番号、乱数2、ユーザ確認コードを用いて、図24のステップ2414でユーザ確認コードが正しいことを確認すると、銀行ホスト102がステップ2416で送金処理を実行し、そのことの応答を受け取ると、スマート・フォン110には、そのことを示すメッセージ2710が表示される。
次に、図24、及び図25のフローチャートの処理の動作のまとめとして、図26のシーケンス図を参照して、スマート・フォン110及び銀行ホスト102の間の処理の時間的流れを説明する。
図26において、(1)で、スマート・フォン110のユーザがネットバンク・アプリケーションを起動し、(2)で、スマート・フォン110が、銀行ホスト102にログインする。(3)で、銀行ホスト102が、当該ログインを認証し、(4)送金入力画面等をスマート・フォン110に送信する。
(5)でスマート・フォン110のユーザが、銀行ホスト102から受信した送金入力画面2702(図27)に、送金情報を入力する。所定の送金情報確定動作に応答して、ネットバンク・アプリケーションは、(6)で確認画面2704を表示する。
(7)でスマート・フォン110のユーザが、確認画面2704の送金内容を見て、問題ないか確認し、処理続行2706をタッチすると、(8)でネットバンク・アプリケーションは、乱数2を生成してからユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数2)を生成し、(9)でユーザ確認コード、金額、口座番号、乱数2を銀行ホスト102に送る。
銀行ホスト102側では、ユーザのログイン情報に基づき、保持しているユーザ登録情報テーブルを検索し、これから秘密情報を取り出し、銀行ホスト102側でも、ユーザ確認コード = H(金額,口座番号,秘密情報,端末ID,乱数2)を生成することで、スマート・フォン110から受信したユーザ確認コードと比較する。
そして、それらが一致すれば検証が正しいとして、(11)で送金処理を実行し、送金処理が完了したことをスマート・フォン110に通知して、処理を終了する。
以上、特定のハードウェアとソフトウェアの組み合わせで構築された例で説明してきたが、本発明は特定のプラットフォームに限定されず、任意のハードウェア、オペレーティング・システム、プログラミング処理系、あるいはネットワーク環境の下で実現可能である。
また、モバイル・デバイスとして、スマート・フォンを使用した例で説明してきたが、通信機能と、二次元バーコードを読み取ってデコードする機能をもつ、通常の携帯端末などの任意のモバイル・デバイスが使用可能である。
さらに、上記で説明した第1の実施例では、二次元バーコードへのコード化を、銀行端末で行うようにしているが、二次元バーコードへのコード化のもとになる情報をクライアント・コンピュータに送り、クライアント・コンピュータ側で二次元バーコードへのコード化を行って、画面に表示するようにしてもよい。
また、第1の実施例で、二次元バーコードを読み取るのは、スマート・フォンでなく、二次元バーコードのリーダーを備えた別のクライアント・コンピュータであってもよい。
さらに、第2の実施例で、スマート・フォンの代わりにクライアント・コンピュータを使用してもよいし、スマート・フォンから銀行ホストに、口座番号と送金額の情報は送らなくて、ユーザ確認コードと、乱数の情報だけでもよい。それだけでも、銀行ホスト側に口座番号と送金額の情報はあるので、銀行ホスト側で、対照のためにユーザ確認コードを生成することができる。
さらに、この発明の技法は、オンライン・バンキングだけでなく、官庁へのオンライン申請手続きなど、セキュアな取り扱いを要する任意のトランザクションに適用可能である。
102・・・取引サーバ(銀行ホスト)
106・・・クライアント・コンピュータ
110・・・スマート・フォン
506・・・ユーザ情報データ
508・・・乱数生成ルーチン
510・・・ハッシュ関数ルーチン
512・・・コード変換ルーチン
514・・・ユーザ登録ルーチン
516・・・取引処理ルーチン
106・・・クライアント・コンピュータ
110・・・スマート・フォン
506・・・ユーザ情報データ
508・・・乱数生成ルーチン
510・・・ハッシュ関数ルーチン
512・・・コード変換ルーチン
514・・・ユーザ登録ルーチン
516・・・取引処理ルーチン
Claims (19)
- モバイル端末を使用して、クライアント・コンピュータとホストサーバとの取引を認証する方法であって、
前記クライアント・コンピュータが、所定のユーザIDとパスワードにより、前記ホストサーバにログインするステップと、
前記クライアント・コンピュータが、取引のため、前記ホストサーバに取引情報を送信するステップと、
前記ホストサーバが、前記クライアント・コンピュータに、前記ユーザIDと前記取引情報を、前記モバイル端末に固有のキーでエンコードした情報を前記クライアント・コンピュータに送信するステップと、
前記クライアント・コンピュータが、前記クライアント・コンピュータの画面に、前記モバイル端末が、前記モバイル端末のカメラで撮影可能な画像を表示するステップと、
前記モバイル端末が、ユーザの操作に応答して、前記モバイル端末のカメラで前記画像を撮影するステップと、
前記モバイル端末が、前記モバイル端末に固有のキーを用いて、前記撮影した画像をデコードした情報に基づき確認コードを生成するステップと、
前記クライアント・コンピュータが、前記確認コードを前記ホストサーバに送信するステップと、
前記ホストサーバが、前記確認コードに基づき、前記取引を認証するステップを有する、
取引認証方法。 - 前記ホストサーバが、前記モバイル端末に固有のキーを生成して前記モバイル端末に送信するとともに、前記モバイル端末のIDに関連付けて、テーブル情報として保持するステップと、
前記モバイル端末が、前記送信された固有のキーを保持するステップとをさらに有し、
前記取引を認証するステップが、
前記ホストサーバが、前記モバイル端末が前記固有のキーを用いて前記確認コードを生成したのと同様の様式で、前記ホストサーバに前記テーブル情報として保持されている前記モバイル端末の前記固有のキーを用いて確認コードを生成し、前記モバイル端末から受信した前記確認コードと比較して、一致する場合に取引を認証するステップを有する、
請求項1に記載の方法。 - 前記確認コードが、前記固有のキーによる、Keyed Hashにより生成される、請求項2に記載の方法。
(a)
前記確認コードが、生成されたコードの所定の位置の範囲の一部として使用される、請求項2に記載の方法。 - 前記取引が、銀行での送金であり、前記取引情報が、金額と送金口座の情報を含む、請求項1に記載の方法。
- 前記確認コードを生成するための情報が、前記金額と送金口座の情報を含む、請求項4に記載の方法。
- 前記撮影した画像をデコードした情報に基づき、目視での確認のために、前記モバイル端末に少なくとも前記金額と送金口座の情報を表示するステップをさらに有する、請求項4に記載の方法。
- 前記カメラで撮影可能な画像が、二次元バーコードである、請求項1に記載の方法。
- 前記モバイル端末が、スマート・フォンである、請求項1に記載の方法。
- モバイル端末を使用して、ホストサーバとの取引を認証する方法であって、
前記モバイル端末が、所定のユーザIDとパスワードにより、前記ホストサーバにログインするステップと、
前記モバイル端末が、取引のため、前記ホストサーバに取引情報を送信するステップと、
前記ホストサーバが、前記モバイル端末に、前記ユーザIDと前記取引情報を、前記モバイル端末に固有のキーでエンコードした情報を前記モバイル端末に送信するステップと、
前記モバイル端末が、前記モバイル端末に固有のキーを用いて、前記エンコードした情報に基づき確認コードを生成するステップと、
前記モバイル端末が、前記確認コードを前記ホストサーバに送信するステップと、
前記ホストサーバが、前記確認コードに基づき、前記取引を認証するステップを有する、
取引認証方法。 - 前記ホストサーバが、前記モバイル端末に固有のキーを生成して前記前記モバイル端末に送信するとともに、前記モバイル端末のIDに関連付けて、テーブル情報として保持するステップと、
前記モバイル端末が、前記送信された固有のキーを保持するステップとをさらに有し、
前記取引を認証するステップが、
前記ホストサーバが、前記モバイル端末が前記固有のキーを用いて前記確認コードを生成したのと同様の様式で、前記ホストサーバに前記テーブル情報として保持されている前記モバイル端末の前記固有のキーを用いて確認コードを生成し、前記モバイル端末から受信した前記確認コードと比較して、一致する場合に取引を認証するステップを有する、
請求項9に記載の方法。 - 前記確認コードが、前記固有のキーによる、Keyed Hashにより生成される、請求項10に記載の方法。
- 前記取引が、銀行での送金であり、前記取引情報が、金額と送金口座の情報を含む、請求項9に記載の方法。
- 前記モバイル端末が、目視のため、前記金額と送金口座の情報を表示するステップを実行する、請求項12に記載の方法。
- 前記モバイル端末が、スマート・フォンである、請求項9に記載の方法。
- コンピュータの処理により、二次元バーコードを読み取り可能なカメラ機能をもつモバイル端末を使用して、クライアント・コンピュータとの間で、取引を認証するシステムであって、
記憶手段と、
前記モバイル端末に固有のキーを生成して前記モバイル端末に送信するとともに、前記モバイル端末のIDと関連付けてテーブル情報として、前記記憶手段に保持する手段と、
前記クライアント・コンピュータから、ユーザIDとパスワードでログインを可能ならしめる手段と、
前記クライアント・コンピュータに、取引情報入力のための画面情報を送信する手段と、
前記クライアント・コンピュータから、前記画面情報に基づき入力された取引情報を受信する手段と、
前記モバイル端末に固有のキーを用いて前記取引情報入力を二次元バーコードとしてコード化する手段と、
前記二次元バーコードの情報を、前記クライアント・コンピュータの画面に表示させるように、前記クライアント・コンピュータに送信する手段と、
前記二次元バーコードの情報を前記モバイル端末が読み取ることでデコードされた前記取引情報を、前記モバイル端末が前記固有のキーを使用することでコード化した確認情報が、前記クライアント・コンピュータから送信されることに応答して、前記確認コードに基づき、前記取引を認証する手段を有する、
システム。 - 前記モバイル端末が前記固有のキーを用いて前記確認コードを生成したのと同様の様式で、前記ホストサーバに前記テーブル情報として保持されている前記モバイル端末の前記固有のキーを用いて確認コードを生成し、前記モバイル端末から受信した前記確認コードと比較して、一致する場合に取引を認証する手段をさらに有する、請求項15に記載のシステム。
- 前記確認コードが、前記固有のキーによる、Keyed Hashにより生成される、請求項16に記載のシステム。
- 前記取引が、銀行での送金であり、前記取引情報が、金額と送金口座の情報を含む、請求項15に記載のシステム。
- 前記モバイル端末が、スマート・フォンである、請求項15に記載のシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012257299A JP2014106593A (ja) | 2012-11-26 | 2012-11-26 | 取引認証方法、及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012257299A JP2014106593A (ja) | 2012-11-26 | 2012-11-26 | 取引認証方法、及びシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014106593A true JP2014106593A (ja) | 2014-06-09 |
Family
ID=51028054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012257299A Pending JP2014106593A (ja) | 2012-11-26 | 2012-11-26 | 取引認証方法、及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014106593A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016009497A1 (ja) * | 2014-07-15 | 2016-01-21 | 株式会社あいびし | データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム |
JP2016179543A (ja) * | 2016-07-22 | 2016-10-13 | 富士重工業株式会社 | ドリル及びドリルの製造方法 |
JP2016181806A (ja) * | 2015-03-24 | 2016-10-13 | 株式会社 ゆうちょ銀行 | 情報処理装置、情報処理システム、暗号装置、情報処理方法、及びプログラム |
WO2017022121A1 (ja) * | 2015-08-06 | 2017-02-09 | 三菱電機株式会社 | 認証装置、認証システム、及び認証方法 |
JP2017537421A (ja) * | 2014-11-17 | 2017-12-14 | オベルトゥル テクノロジOberthur Technologies | 支払いトークンのセキュリティを確保する方法 |
CN111819590A (zh) * | 2018-03-22 | 2020-10-23 | 三星电子株式会社 | 电子装置及其认证方法 |
JP2021505057A (ja) * | 2017-11-28 | 2021-02-15 | ビザ インターナショナル サービス アソシエーション | リレー攻撃を防ぐシステムおよび方法 |
KR20210043658A (ko) * | 2018-09-10 | 2021-04-21 | 라인 가부시키가이샤 | 정보 처리 방법, 정보 표시 방법, 프로그램, 단말 및 서버 |
KR102676770B1 (ko) * | 2018-09-10 | 2024-06-20 | 라인 야후 가부시키가이샤 | 정보 처리 방법, 정보 표시 방법, 프로그램, 단말 및 서버 |
-
2012
- 2012-11-26 JP JP2012257299A patent/JP2014106593A/ja active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016009497A1 (ja) * | 2014-07-15 | 2016-01-21 | 株式会社あいびし | データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム |
JPWO2016009497A1 (ja) * | 2014-07-15 | 2017-05-25 | 株式会社あいびし | データ改竄検知装置、ネットワークサービス提供装置、データ改竄検知方法、ネットワークサービス提供方法、及びプログラム |
JP2017537421A (ja) * | 2014-11-17 | 2017-12-14 | オベルトゥル テクノロジOberthur Technologies | 支払いトークンのセキュリティを確保する方法 |
JP2016181806A (ja) * | 2015-03-24 | 2016-10-13 | 株式会社 ゆうちょ銀行 | 情報処理装置、情報処理システム、暗号装置、情報処理方法、及びプログラム |
WO2017022121A1 (ja) * | 2015-08-06 | 2017-02-09 | 三菱電機株式会社 | 認証装置、認証システム、及び認証方法 |
JPWO2017022121A1 (ja) * | 2015-08-06 | 2017-09-07 | 三菱電機株式会社 | 認証装置、認証システム、及び認証方法 |
CN107851168A (zh) * | 2015-08-06 | 2018-03-27 | 三菱电机株式会社 | 认证装置、认证***和认证方法 |
JP2016179543A (ja) * | 2016-07-22 | 2016-10-13 | 富士重工業株式会社 | ドリル及びドリルの製造方法 |
JP7250788B2 (ja) | 2017-11-28 | 2023-04-03 | ビザ インターナショナル サービス アソシエーション | リレー攻撃を防ぐシステムおよび方法 |
JP2021505057A (ja) * | 2017-11-28 | 2021-02-15 | ビザ インターナショナル サービス アソシエーション | リレー攻撃を防ぐシステムおよび方法 |
US11647042B2 (en) | 2017-11-28 | 2023-05-09 | Visa International Service Association | Systems and methods for protecting against relay attacks |
US11936684B2 (en) | 2017-11-28 | 2024-03-19 | Visa International Service Association | Systems and methods for protecting against relay attacks |
CN111819590A (zh) * | 2018-03-22 | 2020-10-23 | 三星电子株式会社 | 电子装置及其认证方法 |
CN111819590B (zh) * | 2018-03-22 | 2024-05-31 | 三星电子株式会社 | 电子装置及其认证方法 |
KR20210043658A (ko) * | 2018-09-10 | 2021-04-21 | 라인 가부시키가이샤 | 정보 처리 방법, 정보 표시 방법, 프로그램, 단말 및 서버 |
KR102517440B1 (ko) * | 2018-09-10 | 2023-04-03 | 라인 가부시키가이샤 | 정보 처리 방법, 정보 표시 방법, 프로그램, 단말 및 서버 |
KR102676770B1 (ko) * | 2018-09-10 | 2024-06-20 | 라인 야후 가부시키가이샤 | 정보 처리 방법, 정보 표시 방법, 프로그램, 단말 및 서버 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230410085A1 (en) | Login using qr code | |
US11625720B2 (en) | Secure in-line payments for rich internet applications | |
JP2014106593A (ja) | 取引認証方法、及びシステム | |
CA2736582C (en) | Authorization of server operations | |
CN102164141B (zh) | 保护账号安全的方法 | |
KR20170041729A (ko) | 보안 전송 프로토콜을 사용하여 신뢰를 설정하기 위한 시스템 및 방법 | |
KR20170039672A (ko) | 장치에 대해 클라이언트를 인증하기 위한 시스템 및 방법 | |
TR201810238T4 (tr) | Bir mobil kimlik doğrulama uygulaması kullanarak kullanıcıya uygun kimlik doğrulama yöntemi ve aparatı. | |
JP2006294035A (ja) | 移動装置を用いる認証サービスのための方法及び装置 | |
KR101812002B1 (ko) | 서비스를 인증하기 위한 방법 및 시스템 | |
JP4334515B2 (ja) | サービス提供サーバ、認証サーバ、および認証システム | |
JP6378870B2 (ja) | 認証システム、認証方法および認証プログラム | |
KR101206854B1 (ko) | 고유식별자 기반 인증시스템 및 방법 | |
CN105591746B (zh) | 一种在线绑定受理终端的处理方法以及处理*** | |
JP2006155547A (ja) | 本人認証システム、端末装置、およびサーバ | |
KR20150146061A (ko) | 음성인식 인증 서비스를 제공하는 음성인식 인증 시스템 및 방법 | |
JP5317795B2 (ja) | 認証システムおよび認証方法 | |
WO2015060950A1 (en) | Method and system for authenticating service | |
JP5584102B2 (ja) | 認証システム、クライアント端末、サーバ、被認証方法、認証方法、認証クライアントプログラム、及び認証サーバプログラム | |
TWM551721U (zh) | 配合一行動裝置實現的無密碼登入系統 | |
JP5044784B2 (ja) | ユーザを認証する方法及びサーバ | |
CN113515768A (zh) | 一种信息安全保护方法及装置 | |
JP2023507568A (ja) | 悪意のあるプログラムコード注入に対する保護のためのシステム及び方法 | |
JP6351607B2 (ja) | 安全装置と安全なデータ送信方法 | |
TW202405680A (zh) | 使用者登入及權限管理之方法及系統 |