(57)【要約】      （修正有）【課題】安全なオンラインバンキングトランザクションを実行するための方法を提供する。【解決手段】方法は、ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集する工程と、各検証スクリプトが、トランザクションに関連する１つ以上のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、異なる検証スクリプトが、異なるタイプを収集するための異なるルールを含む前記オンライン操作のトランザクションに関連する識別データを受信する工程と、前記複数の検証スクリプトを実行して前記要求された識別データを収集する工程と、少なくとも複数の検証スクリプトによって収集された識別データに基づいてオンライン操作を実行するセキュリティレベルを決定する工程と、決定されたセキュリティレベルに基づいて、要求されたバンキング操作を行うか否かを決定する工程とを含む。【選択図】図２
2018063695.tif 000002
【特許請求の範囲】
【請求項１】
収集工程と、生成工程と、実行工程と、第１決定工程と、第２決定工程とを含む、安全なオンラインバンキングトランザクションを行うための方法であって、
前記収集工程は、ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
前記生成工程は、収集されたデータに少なくとも基づいて複数の検証スクリプトを生成し、各検証スクリプトは、バンキング操作のトランザクションに関連する１つ以上のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、検証スクリプトは、銀行操作のトランザクションに関連する異なるタイプの識別データを収集するための異なるルールを含み、
前記実行工程は、前記プロセッサによって、必要な識別データを収集するための前記複数の検証スクリプトを実行し、
前記第１決定工程は、前記プロセッサによって、少なくとも前記複数の検証スクリプトによって収集された前記識別データに基づいて前記バンキング操作を行うセキュリティレベルを決定し、
前記第２決定工程は、前記プロセッサによって、前記決定されたセキュリティレベルに基づいて前記要求されたバンキング操作を行うか否かを決定する、
安全なオンラインバンキングトランザクションを実行するための方法。
【請求項２】
前記オンラインバンキング操作の少なくとも１つのトランザクションに関連する前記データは、以下のうちの少なくとも１つを含む、請求項１に記載の方法。
銀行口座にアクセスするための認証データ
要求されている前記バンキング操作のタイプに関する情報
要求されている前記バンキング操作に関わる金額の合計
前記バンキング操作を行うことを確認するデータ
要求されているバンキング操作又は銀行口座の変更に関連する補足情報
【請求項３】
前記検証スクリプトは、以下のうちの少なくとも１つを含む、請求項１に記載の方法。
前記識別データを収集するための１つ又は複数のルール
前記識別データを収集するための１つ又は複数の方法
前記識別データを収集するための１つ又は複数の条件のうちの少なくとも１つ
【請求項４】
前記識別データは、以下のうち少なくとも１つを含む、請求項１に記載の方法。
前記ユーザデバイスのＲＡＭのダンプ
前記ユーザデバイス上で実行されているアプリケーションのネットワークアクティビティのログ
前記ユーザデバイス上で実行されているアプリケーションからのファンクションコールのログ
前記ユーザデバイス上で実行されるセキュリティポリシー
前記ユーザデバイス上で実行されるアプリケーション間で送信されているデータ及び前記データを送信する際に使用される方法
前記ユーザデバイス上で実行されるアプリケーションの特徴
【請求項５】
前記実行工程は、以下のうち少なくとも１つを含む、請求項１に記載の方法。
前記収集された識別データを暗号化する工程
前記収集された識別データをアーカイブする工程
前記収集された識別データのコンボリューションを計算する工程
前記収集された識別データからチェックサムを計算する工程
【請求項６】
前記第１決定工程は、以下の工程をさらに含む、請求項１に記載の方法。
前記収集された識別データを１つ又は複数のデータカテゴリに分類する工程
各データカテゴリの第１の数値セキュリティ係数を決定する工程
所与のカテゴリ内に収集された前記データの量に基づいて、各カテゴリにおける第２のデータセキュリティ係数を決定する工程
前記複数の第１及び第２の係数の数学的関数として前記バンキング操作を行うセキュリティレベルを計算する工程
【請求項７】
前記収集された識別データのカテゴリは、以下の１つ又は複数を含む、請求項６に記載の方法。
悪意のあるソフトウェアの要素を含む前記データのカテゴリ
悪意のあるソフトウェアの動作結果を含む前記データのカテゴリ
前記ユーザデバイス上で実行され、前記悪意のあるソフトウェアの動作に必要なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの動作結果を含む前記データのカテゴリ
【請求項８】
前記第２決定工程は、前記セキュリティレベルが閾値よりを下回らないこと、又はいくつかのバンキング操作を行う場合に、前記いくつかのバンキング操作を実行するセキュリティレベルの中心的傾向の評価が前記閾値を下回らないことに基づいて決定される、請求項１に記載の方法。
【請求項９】
ハードウェアプロセッサを含み、安全なオンラインバンキングトランザクションを実行するためのシステムであって、
前記ハードウェアプロセッサは、前記ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
少なくとも前記収集されたデータに基づいて複数の検証スクリプトを生成し、各検証スクリプトは、前記バンキング操作のトランザクションに関連する１つ又は複数のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、異なる検証スクリプトは、前記バンキング操作のトランザクションに関連する異なるタイプの識別データを収集するためのルールを有し、
前記要求された識別データを収集するための前記服風の検証スクリプトを実行し、
少なくとも複数の検証スクリプトによって収集された識別データに基づいてバンキング操作を行うセキュリティレベルを決定し、
前記決定されたセキュリティレベルに基づいて、前記要求されたバンキング操作を行うか否かを決定する、ように設定されているシステム。
【請求項１０】
前記オンラインバンキング操作の少なくとも１つのトランザクションに関連する前記データは、以下のうちの少なくとも１つを含む、請求項９に記載のシステム。
銀行口座にアクセスするための認証データ
要求されている前記バンキング操作のタイプに関する情報
要求されている前記バンキング操作に関わる金額の合計
前記バンキング操作を行うことを確認するデータ
要求されているバンキング操作又は銀行口座の変更に関連する補足情報
【請求項１１】
前記検証スクリプトが、以下のうちの少なくとも１つを含む、請求項９に記載のシステム。
前記識別データを収集するための１つ又は複数のルール
前記識別データを収集するための１つ又は複数の方法
前記識別データを収集するための１つ又は複数の条件
【請求項１２】
前記識別データが、以下のうち少なくとも１つを含む、請求項９に記載のシステム。
前記ユーザデバイスのＲＡＭのダンプ
前記ユーザデバイス上で実行されているアプリケーションのネットワークアクティビティのログ
前記ユーザデバイス上で実行されているアプリケーションからのファンクションコールのログ
前記ユーザデバイス上で実行されるセキュリティポリシー
前記ユーザデバイス上で実行されるアプリケーション間で送信されているデータ及び前記データを送信する際に使用される方法
前記ユーザデバイス上で実行されるアプリケーションの特徴
【請求項１３】
前記識別データを収集するための前記検証スクリプトの実行工程が、以下のうち少なくとも１つを含む、請求項９に記載のシステム。
前記収集された識別データを暗号化する工程
前記収集された識別データをアーカイブする工程
前記収集された識別データのコンボリューションを計算する工程
前記収集された識別データからチェックサムを計算する工程
【請求項１４】
前記オンラインバンキング操作を行うセキュリティレベルを決定する工程は、以下の工程をさらに含む、請求項９に記載のシステム。
前記収集された識別データを１つ又は複数のデータカテゴリに分類する工程
各データカテゴリの第１の数値セキュリティ係数を決定する工程
所与のカテゴリ内に収集された前記データの量に基づいて、各カテゴリにおける第２のデータセキュリティ係数を決定する工程
前記複数の第１及び第２の係数の数学的関数として前記バンキング操作を行うセキュリティレベルを計算する工程
【請求項１５】
前記収集された識別データのカテゴリは、以下の１つ又は複数を含む、請求項１４に記載のシステム。
悪意のあるソフトウェアの要素を含む前記データのカテゴリ
悪意のあるソフトウェアの動作結果を含む前記データのカテゴリ
前記ユーザデバイス上で実行され、前記悪意のあるソフトウェアの動作に必要なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの要素を含むデータのカテゴリ
正当なソフトウェアの動作結果を含むデータのカテゴリ
【請求項１６】
前記決定されたセキュリティレベルに基づいて前記要求されたバンキング操作を行うか否かを決定する工程は、前記セキュリティレベルが閾値よりを下回らないこと、又はいくつかのバンキング操作を行う場合に、前記いくつかのバンキング操作を実行するセキュリティレベルの中心的傾向の評価が前記閾値を下回らないことに基づいて決定される、請求項９に記載のシステム。
【請求項１７】
収集工程と、生成工程と、実行工程と、第１決定工程と、第２決定工程のための指示を含む、安全なオンラインバンキングトランザクションを実行するためのコンピュータが実行可能な指示を格納する非一時的なコンピュータ可読媒体であって、
前記収集工程は、ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
前記生成工程は、収集されたデータに少なくとも基づいて複数の検証スクリプトを生成し、各検証スクリプトは、バンキング操作のトランザクションに関連する１つ以上のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、検証スクリプトは、銀行操作のトランザクションに関連する異なるタイプの識別データを収集するための異なるルールを含み、
前記実行工程は、前記プロセッサによって、必要な識別データを収集するための前記複数の検証スクリプトを実行し、
前記第１決定工程は、前記プロセッサによって、少なくとも前記複数の検証スクリプトによって収集された前記識別データに基づいて前記バンキング操作を行うセキュリティレベルを決定し、
前記第２決定工程は、前記プロセッサによって、前記決定されたセキュリティレベルに基づいて前記要求されたバンキング操作を行うか否かを決定する、
非一時的なコンピュータ可読媒体。
【請求項１８】
前記第１決定工程は、
収集された識別データを１つ又は複数のデータカテゴリに分類する工程と、
各データカテゴリの第１の数値セキュリティ係数を決定する工程と、
所与のカテゴリ内に収集されたデータの量に基づいて、各カテゴリにおける第２のデータセキュリティ係数を決定する工程と、  そして
前記複数の第１及び第２の係数の数学的関数として前記銀行業務を行うセキュリティレベルを計算する工程とをさらに含む、
請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記収集された識別データのカテゴリは、以下の１つ又は複数を含む、請求項１８に記載の非一時的なコンピュータ可読媒体。
悪意のあるソフトウェアの要素を含む前記データのカテゴリ
悪意のあるソフトウェアの作業結果を含む前記データのカテゴリ
前記ユーザデバイス上で実行され、前記悪意のあるソフトウェアの動作に必要なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの作業の結果を含む前記データのカテゴリ
【請求項２０】
前記第２決定工程は、前記セキュリティレベルが閾値よりを下回らないこと、又はいくつかのバンキング操作を行う場合に、前記いくつかのバンキング操作を実行するセキュリティレベルの代表値が前記閾値を下回らないことに基づいて決定される、請求項１７に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概してサイバーセキュリティの分野に関し、より詳細には、安全なオンラインバンキングトランザクションを実行するためのシステム及び方法に関する。
【背景技術】
【０００２】
過去１０年におけるコンピュータ技術の急速な発展は、様々なコンピューティングデバイス（パーソナルコンピュータ、ノートブック等）、特にモバイルデバイス（タブレット、スマートフォン等）の広範な使用と共に、さまざまな分野での膨大な数のタスク（インターネットサーフィンから銀行振込や電子文書トラフィックに至るまで）のためのこれらのデバイスの使用に対する強力な要因となる。これらのデバイス上で動作するコンピューティングデバイスとソフトウェアの数の増加と並行して、悪意のあるプログラムの数も急速に増加している。
【０００３】
現在、膨大なタイプの悪意のあるプログラムが存在する。それらの中には、ユーザデバイスから個人的な機密データ（ログインやパスワード、銀行の明細、電子文書等）を盗み出すものや、他のコンピュータ又はコンピュータネットワークに対して実行されるブルートフォース（ｂｒｕｔｅ  ｆｏｒｃｅ）方法によるパスワードのハッキングや、サービス妨害（ＤＤｏＳ）等のサイバー攻撃のために、ユーザデバイスからいわゆるボットネットを形成するものがある。さらに他には、ユーザデータ（電子文書のトラフィック、写真等）へのアクセスをブロックするものや、迷惑な広告、有料購読、プレミアムレート番号へのテキストの送信等を介してユーザに有料コンテンツを提案するものがある。
【０００４】
ユーザにとって最も危険なタイプの悪意のあるプログラムの１つは、いわゆる「バンカー」であり、ユーザデバイスから銀行の明細、銀行口座へのアクセスのためのログイン及びパスワード等を盗むアプリケーションである。さらに、そのようなアプリケーションは、ユーザデバイスと銀行サーバとの間で送信されるトランザクションを変更する。この目的のために、ユーザデバイス上にインストールされた正当なバンキングアプリケーションが変更又は置換される（例えば、偽の銀行サイトを通じて悪意のある機能を組み込んだ変更銀行アプリケーションがユーザに提供される）。このような悪意のあるプログラムは、ユーザに大きな金銭的損失を引き起こす可能性がある。
【０００５】
したがって、オンラインバンキングトランザクションのセキュリティを向上させ、不正なリモートアクセスから銀行を保護する技術が必要とされている。
【発明の概要】
【０００６】
本明細書よれば、安全なバンキングトランザクションの実行のためのシステム及び方法が開示される。１つの例示的な態様は、収集工程と、生成工程と、実行工程と、第１決定工程と、第２決定工程とを含む、安全なオンラインバンキングトランザクションを行うための方法であって、
前記収集工程は、ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
前記生成工程は、収集されたデータに少なくとも基づいて複数の検証スクリプトを生成し、各検証スクリプトは、バンキング操作のトランザクションに関連する１つ以上のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、検証スクリプトは、銀行操作のトランザクションに関連する異なるタイプの識別データを収集するための異なるルールを含み、
前記実行工程は、前記プロセッサによって、必要な識別データを収集するための前記複数の検証スクリプトを実行し、
前記第１決定工程は、前記プロセッサによって、少なくとも前記複数の検証スクリプトによって収集された前記識別データに基づいて前記バンキング操作を行うセキュリティレベルを決定し、
前記第２決定工程は、前記プロセッサによって、前記決定されたセキュリティレベルに基づいて前記要求されたバンキング操作を行うか否かを決定する、
安全なオンラインバンキングトランザクションを実行するための方法である。
【０００７】
１つの例示的な態様では、前記オンラインバンキング操作の少なくとも１つのトランザクションに関連する前記データは、以下のうちの少なくとも１つを含む。
銀行口座にアクセスするための認証データ
要求されている前記バンキング操作のタイプに関する情報
要求されている前記バンキング操作に関わる金額の合計
前記バンキング操作を行うことを確認するデータ
要求されているバンキング操作又は銀行口座の変更に関連する補足情報
【０００８】
１つの例示的な態様では、前記検証スクリプトは、以下のうちの少なくとも１つを含む。
前記識別データを収集するための１つ又は複数のルール
前記識別データを収集するための１つ又は複数の方法
前記識別データを収集するための１つ又は複数の条件のうちの少なくとも１つ
【０００９】
１つの例示的な態様では、前記識別データは、以下のうち少なくとも１つを含む。
前記ユーザデバイスのＲＡＭのダンプ
前記ユーザデバイス上で実行されているアプリケーションのネットワークアクティビティのログ
前記ユーザデバイス上で実行されているアプリケーションからのファンクションコールのログ
前記ユーザデバイス上で実行されるセキュリティポリシー
前記ユーザデバイス上で実行されるアプリケーション間で送信されているデータ及び前記データを送信する際に使用される方法
前記ユーザデバイス上で実行されるアプリケーションの特徴
【００１０】
１つの例示的な態様では、前記識別データを収集するための前記検証スクリプトの実行工程は、以下のうち少なくとも１つを含む。
前記収集された識別データを暗号化する工程
前記収集された識別データをアーカイブする工程
前記収集された識別データのコンボリューションを計算する工程
前記収集された識別データからチェックサムを計算する工程
【００１１】
１つの例示的な態様では、前記第１決定工程は、以下の工程をさらに含む。
前記収集された識別データを１つ又は複数のデータカテゴリに分類する工程
各データカテゴリの第１の数値セキュリティ係数を決定する工程
所与のカテゴリ内に収集された前記データの量に基づいて、各カテゴリにおける第２のデータセキュリティ係数を決定する工程
前記複数の第１及び第２の係数の数学的関数として前記バンキング操作を行うセキュリティレベルを計算する工程
【００１２】
１つの例示的な態様では、前記収集された識別データのカテゴリは、以下の１つ又は複数を含む。
悪意のあるソフトウェアの要素を含む前記データのカテゴリ
悪意のあるソフトウェアの動作結果を含む前記データのカテゴリ
前記ユーザデバイス上で実行され、前記悪意のあるソフトウェアの動作に必要なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの要素を含む前記データのカテゴリ
正当なソフトウェアの動作結果を含む前記データのカテゴリ
【００１３】
１つの例示的な態様では、前記第２決定工程は、前記セキュリティレベルが閾値よりを下回らないこと、又はいくつかのバンキング操作を行う場合に、前記いくつかのバンキング操作を実行するセキュリティレベルの中心的傾向の評価が前記閾値を下回らないことに基づいて決定される。
【００１４】
１つの例示的な態様は、ハードウェアプロセッサを含み、安全なオンラインバンキングトランザクションを実行するためのシステムであって、
前記ハードウェアプロセッサは、前記ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
少なくとも前記収集されたデータに基づいて複数の検証スクリプトを生成し、各検証スクリプトは、前記バンキング操作のトランザクションに関連する１つ又は複数のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、異なる検証スクリプトは、前記バンキング操作のトランザクションに関連する異なるタイプの識別データを収集するためのルールを有し、
前記要求された識別データを収集するための前記服風の検証スクリプトを実行し、
少なくとも複数の検証スクリプトによって収集された識別データに基づいてバンキング操作を行うセキュリティレベルを決定し、
前記決定されたセキュリティレベルに基づいて、前記要求されたバンキング操作を行うか否かを決定する、ように設定されているシステムである。
【００１５】
１つの例示的な態様は、収集工程と、生成工程と、実行工程と、第１決定工程と、第２決定工程のための指示を含む、安全なオンラインバンキングトランザクションを実行するためのコンピュータが実行可能な指示を格納する非一時的なコンピュータ可読媒体であって、
前記収集工程は、ユーザデバイスによって要求されたオンラインバンキング操作の少なくとも１つのトランザクションに関連するデータを収集し、
前記生成工程は、収集されたデータに少なくとも基づいて複数の検証スクリプトを生成し、各検証スクリプトは、バンキング操作のトランザクションに関連する１つ以上のタイプの識別データの収集を必要とする少なくとも１つのルールを含み、検証スクリプトは、銀行操作のトランザクションに関連する異なるタイプの識別データを収集するための異なるルールを含み、
前記実行工程は、前記プロセッサによって、必要な識別データを収集するための前記複数の検証スクリプトを実行し、
前記第１決定工程は、前記プロセッサによって、少なくとも前記複数の検証スクリプトによって収集された前記識別データに基づいて前記バンキング操作を行うセキュリティレベルを決定し、
前記第２決定工程は、前記プロセッサによって、前記決定されたセキュリティレベルに基づいて前記要求されたバンキング操作を行うか否かを決定する、
非一時的なコンピュータ可読媒体である。
【００１６】
本発明の例示的な態様の上記の簡略化された概要は、本発明の基本的な理解を提供することを目的とする。この要約は、すべての考えられる態様の広範な概説ではなく、すべての態様の重要または決定的な要素を特定することも、本発明の任意の又はすべての態様の範囲を描写することも意図していない。前述の目的を達成するために、本発明の１つ又は複数の態様は、描写されている特徴、特に特許請求の範囲において指摘されている特徴を含んでいる。
【図面の簡単な説明】
【００１７】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本開示の１つ以上の例示的な態様を示し、詳細な説明とともに、それらの原理及び実施形態を説明する役割を果たす。
【図１】図１は、本発明の態様による安全なオンラインバンキングトランザクションを実行するための例示的なシステムの図を示す。
【図２】図２は、本発明の態様による安全なオンラインバンキングトランザクションを実行するための例示的な方法の流れ図を示す。
【図３】図３は、本発明の態様による安全なオンラインバンキングトランザクションを実行するための例示的な方法の一連の工程の別の図を示す。
【図４】図４は、安全なオンラインバンキングトランザクションを実施するためのシステム及び方法を実施することができる汎用コンピュータシステムの一例を示す。
【発明を実施するための形態】
【００１８】
本発明に関する例示的な態様は、本明細書では、安全なオンラインバンキングトランザクションを実行するためのシステム、方法、及びコンピュータプログラム製品に関連して説明される。  当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の態様は、本開示の恩恵を受ける当業者には容易に示唆されるであろう。以下、添付の図面に例示されている例示的な態様の実施形態を詳細に参照する。同一の参照インジケータは、図面全体にわたって可能な範囲で使用され、以下の記載は同一又は同様の項目を参照する。
【００１９】
以下の用語は、本発明の例示的な態様を説明する際に使用される。
【００２０】
バンキング操作は、ユーザの銀行口座に関連するデータを伴う操作であってもよい。バンキング操作は、ユーザのコンピューティングデバイスとインターネットバンキングシステムとの間の１つ以上の電子トランザクションを含むことができる。
【００２１】
バンキングトランザクションは、提供されたデータを使用して銀行の一部に対して行われる銀行口座による操作であってもよい。すべての関係者間でリアルタイムに実行されるオンライントランザクションと、オフライントランザクションとが区別される。バンキング操作の最終的な部分として、インターネットバンキングシステムやその他の通信システムを通じて、また任意の支払い手段によって、電子注文によってトランザクションを開始することができる。
【００２２】
図１は、本発明の態様による安全なオンラインバンキングトランザクションを実行するための例示的なシステムを示す。システムは、セキュリティサーバ１１０、スクリプト生成モジュール１１１、分析モジュール１１２、クライアント１２０、銀行口座動作モジュール１２１、安全なバンキング操作モジュール１２２、銀行サーバ１３０と、バンキングトランザクション登録モジュール１３１と、バンキングトランザクション実行モジュール１３２とを含む。
【００２３】
コンピューティングデバイス（以下、「ユーザデバイス」とも呼ぶ）上で動作するクライアント１２０は、そのコンピューティングデバイスから、バンキング操作を行うために必要なデータを収集するように構成されてもよい。１つの例示的な態様では、クライアント１２０は、銀行口座動作モジュール１２１及び安全なバンキング操作モジュール１２２を含む。クライアント１２０は、以下に限定されるものではないが、互いに相互作用し、ユーザ１００のコンピューティングデバイス上で動作するアプリケーション又はアプリケーションのグループ、ユーザ１００のコンピューティングデバイス上で動作するブラウザ上で起動されるサイト、又はユーザ１００のコンピューティングデバイスから銀行サーバ１３０に実装されている接続の他の可能な変形を含むことができる。１つの例示的な態様では、クライアントは、インターネットバンキングアプリケーション、パスワードマネージャアプリケーションのバンドル、及びインターネットバンキングアプリケーション（この場合、ユーザ１００は、オンラインバンキングアプリケーションに認証データを送信することはできない。オンライン・バンキング・アプリケーションによってパスワード・マネージャ・アプリケーションから直接得られたもの）等が含まれる。
【００２４】
１つの例示的な態様では、銀行口座動作モジュール１２１は、実行すべきバンキング操作を記述するデータ（以下、操作情報）をユーザデバイスから取得するように構成されてもよい。その操作情報をトランザクション登録モジュール１３１及びスクリプト生成モジュール１１１に送信する。
【００２５】
操作情報の収集は、少なくとも、管理権限を有する別個にインストールされたアプリケーション（プロセス間通信手段を使用して、銀行口座動作モジュール１２１と連携するために、前述のアプリケーションとモジュールとの間でデータを送信することができる）を用い、（例えば、その手段のアクセス権が運営情報へのアクセスに必要なレベルに上昇した場合）銀行口座動作モジュール１２１自体を扱うためのモジュールによって直接的に行われる。さらに、操作情報の収集は、ユーザ１００がデータを入力するグラフィックインターフェイスの利用可能なＡＰＩ関数、オペレーティングシステムの利用可能なＡＰＩ関数（例えば、関数  "：：  ＧｅｔＷｉｎｄｏｗｓＴｅｘｔ"の助けを借りてＷｉｎｄｏｗｓファミリのオペレーティングシステム）、システムイベントのインターセプト、又はユーザ１００によって入力されたデータを処理するプロセスのメモリへの直接アクセスのうちの少なくとも１つを用いる。
【００２６】
操作情報は、特に制限されないが、銀行口座へのアクセスのための認証データ、個人アカウント等（例えば、ログイン及びパスワード、ユーザ１００の生体データ、例えば、指紋、虹彩写真、音声パターン、手書き標本等）、銀行の明細（例えば、口座残高の取得、ある口座から別の口座への金額の合計の移動、口座の預金、資金の引き出し、商品とサービスの支払い等）、要求されているバンキング操作の関わる金額、バンキング操作の完了を確認するデータ（例えば、３ｄｓ−ｓｅｃｕｒｅ技術を用いたバンキング操作の確認コード）、要求されているバンキング操作に関連する補足情報（例えば、実行される操作の注釈）、又はユーザ１００の口座の変更に関連する補足情報（例えば、ユーザ１００が働いている口座番号）等を含んでいても良い。
【００２７】
別の例示的な態様では、銀行口座動作モジュール１２１は、ユーザ１００がバンキング操作を記述する必要なすべてのデータを入力するためのグラフィックインターフェイスをユーザ１００に提供することができる。
【００２８】
さらに別の例示的な態様では、銀行口座動作モジュール１２１は、実際のユーザ１００からではなく、コンピュータネットワーク（例えば、銀行の明細等）からバンキング操作を記述するデータインターネット又は銀行サーバのネットワーク）に予め収集された情報（クレジットカード番号等）に基づいて行われる。例えば、銀行口座動作モジュール１２１が提供するインターフェイスを介して、ユーザ１００は、ある金額を送金したい口座として「環境保護組織の口座をチェックする」ことを指示し、環境保護組織の当座預金口座は、バンキングトランザクションを行うシステムにはどこにも存在しない可能性があり、銀行口座を扱うためのモジュールには知られていない可能性がある。銀行口座動作モジュール１２１で作業するモジュールがテキストデータ「環境保護組織の口座をチェックする」を収集した後、インターネット上で環境保護組織の銀行の明細を検索することができる。検索が成功した場合、見つかった銀行の明細をバンキング操作の特徴の１つとして使用することができる。
【００２９】
１つの例示的な態様では、安全なバンキング操作モジュール１２２は、スクリプト生成モジュール１１１から取得した検証スクリプトを実行した結果得られたユーザ識別データをユーザデバイスから収集するように構成されていてもよく、検証スクリプトは、安全なバンキング操作モジュール１２２がユーザ１００のコンピューティングデバイスの他のデータの中から識別データを明白に決定する識別データの特徴、識別データを収集するために使用されるユーザ１００のコンピューティングデバイスのリソースを選択できる安全なバンキング操作モジュール１２２に基づいて識別データを収集する方法、安全なバンキング操作モジュール１２２が識別データの収集を実行する条件の実現の上の識別データを収集している条件を決定することができる少なくとも１つの収集ルールを含む。次いで、モジュール１２２は、収集された識別データを分析モジュール１１２に送信することができる。
【００３０】
例示的な一態様では、各検証スクリプトは、バンキング操作のトランザクションに関連する異なるタイプの識別データの収集を指定する１つ又は複数のルールを含むことができる。したがって、異なる検証スクリプトは、異なるタイプの識別データを収集するための異なるデータ収集ルールを含むことができる。異なるタイプの識別データに依存する複数の検証スクリプトの使用は、ユーザ１００が実際に所望のバンキングトランザクションを実行することが許可されているかどうかを判断する精度を向上させる。
【００３１】
様々な例示的な態様では、異なるタイプの識別データは、以下に限定されないが、
・ユーザデバイスのＲＡＭのダンプ
・ユーザデバイス上で実行されているアプリケーションのネットワークアクティビティのログ（一意のアプリケーション識別子、コンピュータネットワーク内のデータ交換の開始及び終了時間、データが格納されているサーバのネットワークアドレス交換されたデータ量、送信又は受信されたデータ量等）
・ユーザデバイス上で実行されているアプリケーションからのファンクションコールのログ（一意のアプリケーション識別子、ファンクションの呼び出し時間、ファンクションの名前、ファンクションに送信されるデータ、呼び出された関数等）
・ユーザ１００のコンピューティングデバイス上で実行されるセキュリティポリシー
・ユーザデバイス上で実行されるアプリケーション間で送信されるデータ、ならびにデータ交換に参加するアプリケーションの一意の識別子、データ交換の開始及び終了時間、ボリューム及びタイプ等の、データを送信する方法インタープロセス通信（ＩＰＣ）のタイプ等
・ユーザデバイス上で実行されているアプリケーションの特徴（動作中のアプリケーションが占有するＲＡＭの容量、その動作時間、アプリケーションのチェックサムＭＤ５等のアプリケーションの一意の識別子、アプリケーションは、ユーザデバイスのオペレーティングシステムに登録されている等）
【００３２】
識別データの特徴としては、特に制限されないが、識別データのデータタイプ（例えば、番号、文字列、バイト配列、画像、メディアデータ等）、識別データ、及び識別データの場所（例えば、ＲＡＭ内のポインタ、ハードドライブ上のパス等）を含んでいても良い。
【００３３】
識別データを収集する方法は、特に制限されないが、ユーザ１００がデータを入力するグラフィックインターフェイスのＡＰＩ関数呼び出しの使用、オペレーティングシステムのＡＰＩ関数呼び出しの使用、システムイベントのインターセプト、ユーザ１００によって入力されたデータを処理するプロセスのメモリへの直接的なアクセスを含んでいても良い。
【００３４】
ユーザ１００のコンピューティングデバイスのリソースは、特に限定されないが、ユーザ１００がデータを入力するグラフィックインターフェイスのＡＰＩ関数、オペレーティングシステムのＡＰＩ関数、システムイベント、情報媒体（メモリ、外部情報媒体、ハードドライブ等）へのアクセスを得るためのデータを含んでいても良い。
【００３５】
１つの例示的な態様では、安全モジュール１２２は、収集されたデータを用いて以下の操作を実行することができる。
収集された識別データを暗号化する。収集された識別データをアーカイブする。収集された識別データの畳み込みを計算する。収集された識別データ（ＣＲＣ３２又はＭＤ５等）からチェックサムを計算する。
【００３６】
安全モジュール１２２は、前述の動作の実行の結果を分析モジュール１１２に送信することができる。例示的な一態様では、ネットワークトラフィックの経済性及び作業時間の短縮のために、収集された識別データを分析モジュール１１２に送信する代わりに安全モジュール１２２は、収集された識別データから計算されたチェックサム（ＭＤ５等）を送信する。
【００３７】
１つの例示的な態様では、セキュリティサーバ１１０は、コンピューティングデバイスからバンキング操作のセキュリティレベルを分析するように構成されてもよく、セキュリティサーバは、スクリプト生成モジュール１１１及び分析モジュール１１２を含むことができる。
【００３８】
別の例示的な態様では、セキュリティサーバ１１０及び銀行サーバ１３０は、銀行側で実行され、スクリプト生成モジュール１１１を含む単一のサーバ、分析モジュール１１２、トランザクション登録モジュール１３１、及びトランザクション実行モジュール１３２を含んでいても良い。
【００３９】
このようなアーキテクチャは、コンピューティング及びネットワークリソース（セキュリティサーバ１１０と銀行サーバ１３０との間のネットワークトラフィック等）の消費を低減することによって、バンキングトランザクションを高速に実行することができる。例示的な一態様では、セキュリティサーバ１１０及び銀行サーバ１３０は、世界の異なる部分に位置し、異なるグループの人々によって維持され、開発された２つの別個のサーバを含むことができる。このようなアーキテクチャは、前述のサーバへのマルウェアの侵入及びその後のバンキングトランザクションを実行する際のこれらのサーバの操作への不正アクセスをより困難にすることによって、バンキングトランザクションの実行におけるセキュリティを高めることができる。
【００４０】
１つの例示的な態様では、スクリプト生成モジュール１１１、分析モジュール１１２、トランザクション登録モジュール１３１、及びトランザクション実行モジュールは、クライアント１２０にアクセス可能ではないが、クライアント１２０がデータ交換を実行することができる銀行サーバ１３０のみがアクセス可能である。この場合の銀行サーバ１３０は、前述のモジュールが物理的に分離された（例えば、それらが世界の異なる部分にある異なるサーバ上に存在する）分散システムを含むことができる。セキュリティサーバ１１０のモジュールの１つをアドレス指定する必要があるとき、クライアント１２０もまた銀行サーバ１３０をアドレス指定する。
【００４１】
別の例示的な態様では、セキュリティサーバ１１０と銀行サーバ１３０とが論理的に分離されていて、クライアント１２０ごとに異なる場合、クライアントは、異なるセキュリティサーバの中から選択することができてもよい（例えば、ユーザ自身１００が共に動作することができるセキュリティサーバのうちの１つを含むセキュリティサービスのプロバイダを選択し、これを現在のセキュリティサーバ１１０とすることができる）。
【００４２】
バンキング操作を行うセキュリティレベルは、前述の操作情報への不正アクセスの発生確率を特徴付ける数値であってもよい。例示的な一態様では、バンキング操作を実行するセキュリティレベルは、０から１までの数値であってもよく、ここで、０は、安全なバンキング操作モジュール１２２からトランザクション実行モジュール１３１へ送信される前述の操作情報への不正アクセスが発生することが保証されていることを示すことができる。一方、１は、前述の操作情報への不正アクセスが存在しないことが保証されることを意味する。別の態様では、バンキング操作を実行するセキュリティレベルは、限定された値の集合を取る離散量であってもよい（例えば、０はバンキング操作を行うことは危険である、１はバンキング操作を行うことは推奨されない、バンキング操作を行うことは安全である）。
【００４３】
別の例示的な態様では、スクリプト生成モジュール１１１は、銀行口座動作モジュール１２１から得られた操作情報に基づいて検証スクリプトを生成するように構成されてもよく、検証スクリプトは、安全なバンキング操作モジュール１２２がユーザ１００のコンピューティングデバイスの他のデータの中から識別データを明白に決定する識別データの特徴、識別データを収集するために使用されるユーザ１００のコンピューティングデバイスのリソースを選択できる安全なバンキング操作モジュール１２２に基づいて識別データを収集する方法、安全なバンキング操作モジュール１２２が識別データの収集を実行する条件の実現の上の識別データを収集している条件を決定することができる少なくとも１つの収集ルールを含む。識別データを収集する特徴、条件及び方法は、収集されたデータの分析に基づいてバンキング操作を実行するセキュリティレベルを計算できるように選択することができる。スクリプト生成モジュール１１１は、生成した検証スクリプトを安全なバンキング操作モジュール１２２に送る。
【００４４】
１つの例示的な態様では、検証スクリプトは、予め生成されたデータ収集ルールの組と、収集ルールを適用する方法（例えば、安全なバンキング操作モジュール１２２による収集ルールの実行順序）と、収集されたデータの処理の結果としての補足データを取得する方法を含んでいても良い。補足データを取得する方法は、例えば、得られたデータからチェックサムの計算する工程、他のデータ収集ルールの作業の結果として得られたデータの中から１つのデータ収集ルールの作業の結果として得られたデータを検索する工程、  得られたデータ間の関係を検索し、見つけた関係を記述する数値係数を計算する工程等である。
【００４５】
１つの例示的な態様では、検証スクリプトは、既存のスクリプト言語（ＬＵＡ、ＡｐｐｌｅＳｃｒｉｐｔ等）の１つを使用して生成することができる。このアプローチの利点には、検証の生成、サポート、及び操作の透明性の実行の速度が含まれることがある。
【００４６】
別の例示的な態様では、検証スクリプトは、高レベルのプログラミング言語（Ｊａｖａ、Ｃ  ＋＋等）を使用して生成することができる。このアプローチの利点は、検証スクリプトの作業の信頼性、及び悪意のある手段による分析の困難さ又は不可能ささえも含むことがある。
【００４７】
別の例示的な態様では、検証スクリプトを構成するデータ収集ルールは、以下のような一組の所定のルールから選択されてもよい。
１）データ収集ルールの前述の組から言及された各データ収集ルールは数値係数とマッチングされ、ユーザ１００のコンピューティングデバイス上の前述のデータ収集ルールの実行が、操作情報への不正アクセスの発生の可能性に関する情報を含む得られたデータをもたらす可能性を特徴付ける。
２）各データ収集ルールの数値係数は、前記データ収集ルールが生成しようとする操作情報のタイプ、量等に依存してもよい。
３）数値係数は、他のコンピューティングデバイスからの予め収集されたデータの統計分析に基づいて事前に計算されてもよい。
４）データ収集ルールは、操作情報への不正アクセスを検出する累積確率が所定の閾値を超えるまで前記のデータ収集ルールの中からランダムに選択してもよい。
【００４８】
別の例示的な態様では、データ収集ルールは、データ収集ルールの所定の組から選択されてもよいわけではなく、むしろ、予め生成されたデータ収集ルールを分析し、これに基づいて、及び得られた識別データに基づいて新しいデータ収集ルールを生成するための人工ニューラルネットワークと、統計的分類アルゴリズム、又は統計的予測アルゴリズムのうちの少なくとも１つを使用して毎回新たに生成される。
【００４９】
分析モジュール１１２は、安全なバンキング操作モジュール１２２から得られた識別データに基づいて、前述のバンキング操作を実行するセキュリティレベルを計算し、計算されたバンキング操作のセキュリティレベルが所定の閾値を満たしている場合にトランザクション実行モジュール１３２からバンキング操作を実行することを要求するように構成されている。
【００５０】
所定の閾値を満たす条件の実現は、バンキング操作を行う計算されたセキュリティレベルが所定の閾値よりも低くないこと、及びいくつかのバンキング操作を行う場合には、バンキング操作を行う計算されたセキュリティレベルの中心的傾向の評価は、所定の閾値よりも低くないことのうちの少なくとも１つを含むことができる。
【００５１】
１つの例示的な態様において、バンキング操作を行うセキュリティレベルは、以下の方法で計算されてもよい。
【００５２】
バンキング操作を行うセキュリティに対する影響の条件は、ユーザ１００のコンピューティングデバイス上で動作し、銀行サーバ１３０に送信されている操作情報を変更する悪意のあるソフトウェアを伴うことができる。
１）取得された識別データは、以下のカテゴリのうちの少なくとも１つに分類されても良い。
・データは悪意のあるソフトウェアの要素を含む。
・データは悪意のあるソフトウェアの動作結果を含む。
・データはコンピューティングデバイス上で動作しているソフトウェアの要素及び悪意のあるソフトウェアの動作のための必需品（ソフトウェアの脆弱性等）を含む。
・データは正当なソフトウェアの要素を含む。
・データは正当なソフトウェアの動作結果を含む。
２）各カテゴリは、カテゴリの数値セキュリティ係数とマッチングされ、上記カテゴリで分類されたデータがバンキング操作を実行するセキュリティにどのように影響し、０（データは悪意のあるソフトウェアの要素である）~１（データは信頼できるソフトウェアの要素です）の値をとるかを特徴付ける。
３）各カテゴリについて、データセキュリティの係数は、そのカテゴリに分類された識別データの量に応じて計算されてもよく、データセキュリティ係数は、０（カテゴリ内に識別データがまったくない場合）~１（安全なバンキング操作モジュール１２２から得られた全ての識別データが所与のカテゴリに分類されている場合）の値をとることができる
４）バンキング操作の実行の安全性のレベルは、以下の式で計算される。
ここで、Ｌはバンキング操作を実行するためのセキュリティレベルであり、Ｃｉはカテゴリのセキュリティ係数であり、Ｎｉ（Ｐｉ）はカテゴリ内のデータ量に応じたデータセキュリティ係数である。
【００５３】
銀行サーバ１３０は、クライアント１２０から送信されたデータに基づいてバンキング操作を行うように構成されていてもよく、一方、銀行サーバ１３０は、トランザクション登録モジュール１３１とトランザクション実行モジュール１３２とを含む。
【００５４】
１つの例示的な態様では、トランザクション登録モジュール１３１は、銀行口座動作モジュール１２２から得られた操作情報に基づいて、バンキング操作のバンキングトランザクションの操作情報を生成し、生成されたトランザクションをトランザクション実行モジュール１３２に送信するように構成されていても良い。生成されたバンキングトランザクションは、予め定められた期間の満了時に、又は分析モジュール１１２からコマンドを受信した時に、トランザクション実行モジュール１３２に送信することができる。
【００５５】
例示的な一態様では、バンキングトランザクションを生成した後、それは銀行サーバ１３０に存在するデータベースに保存される。もし、予め定められた期間（例えば、予め実行されたバンキング操作のセキュリティの統計分析に基づく銀行サーバ１３０の管理者によって）が期限切れになった上、前述のバンキングトランザクションを実行するためのコマンドが、分析モジュール１１２から到着していない場合、それはデータベースから取り除かれ、それゆえ分析モジュール１１２からの上記のコマンドの到着後でさえも実行することができない。
【００５６】
別の例示的な態様では、前述の設定された期間は、銀行口座動作モジュール１２２から得られた動作情報に依存してもよい。より重要なバンキング操作（マネタリーファンドの移動を伴う）のために予め定められた期間はより短く、より重要度の低いバンキング操作（銀行口座に関するデータの変更を含む）のために予め定められた期間はより長くなる。
【００５７】
トランザクション実行モジュール１３２は、分析モジュール１１２の要求に応じて、トランザクション登録モジュール１３１によって、を予め生成されたバンキングトランザクションを実行するように構成することができる。
【００５８】
バンキングトランザクションを実行した結果はクライアント１２０に送信され、前述のバンキング操作を実行した結果をユーザ１００に通知しても良い。
【００５９】
１つの例示的な態様では、ユーザ１００は、銀行口座動作モジュール１２１を介して、前述のバンキング操作をキャンセル又は変更し、結果として銀行トランザクションを行うことができる。例えば、もし、ユーザ１００が、他のバンキング操作の後に１つを実行しようとすると、口座＃１から口座＃２への金額の合計の移動、以前のバンキング操作のキャンセル、又は口座＃１のステータスが得られ、その後、既にバンキング操作＃１が登録されているが未だ実行されていない場合、銀行サーバ１３０上でバンキング操作＃１はバンキング操作＃３に置き換えられる。これにより、銀行サーバ１３０の負担を軽減し、バンキング操作のセキュリティを向上させることができる。
【００６０】
口座＃１（銀行カード）から口座＃２（当座預金口座）へ１００ドルの銀行振り込みを行う例においてスマートフォンで動作し、オンラインバンキングコンピューティングアプリケーションＢａｎｋｉｎｇＡｐｐを使用してユーザ１００によって実行される、バンキングトランザクションを実行するシステムを考える。前述のコンピューティングアプリケーションＢａｎｋｉｎｇＡｐｐには、この場合、銀行口座やバンキング操作に関するデータをハッカーに送信することができる、悪意のある機能が含まれている。説明された状況は、ユーザ１００がＢａｎｋｉｎｇＡｐｐを公式の銀行サイトからではなく、変更されたオンラインバンキングアプリケーションを普及させる信頼できないサイトからインストールしたために可能となった。
【００６１】
ユーザ１００は、スマートフォン上で動作するオンラインバンキングアプリケーションＢａｎｋｉｎｇＡｐｐ１２０を起動して、前述のバンキング操作を実行することができる。この目的のために、ユーザ１００は、提供されたインターフェイスを介して前述のバンキング操作を行うのに必要なデータをアプリケーションＢａｎｋｉｎｇＡｐｐ１２０に送ることができる。
・ユーザ１００の個人口座へのアクセスのためのログインとパスワード
・銀行の明細（銀行の名前、データ交換が行われるバンキングサービスのネットワークアドレス等）
・１００ドルを引き出す必要がある口座１の番号とタイプ：銀行カード０００１−０００２−０００３−０００４
・１００ドルを追加する必要がある口座２の番号とタイプ：当座預金１０１０１０１００００００１０００００１
・銀行振替の額と通貨：１００ドル
・要求されているバンキング操作に関するコメント：「ウェブデザイナーサービスの支払い」
・銀行からテキストメッセージを介して得られたバンキング操作の確認コード：「９８７６」
【００６２】
ユーザ１００がすべての必要なデータをアプリケーションＢａｎｋｉｎｇＡｐｐ１２０に送信した後、そのアプリケーションのモジュールの１つは、具体的には、銀行口座動作モジュール１２１は、ユーザ１００によって送信されたデータを収集し、それを処理する。すなわち、公開鍵を用いて非対称暗号化アルゴリズムによって暗号化し、公衆コンピュータネットワークによって送信されるデータをさらに保護し、適切なフォーマット（口座番号の正確さ、金額の合計等）を守るために集められたデータを検証する。識別データを計算し、これを銀行サーバ１３０の所定のネットワークアドレスに送信する。
【００６３】
また、銀行口座動作モジュール１２１は、得られた識別データをＢａｎｋｉｎｇＡｐｐ１２０の他のモジュールに送信し、具体的には、安全なバンキング操作モジュール１２２に送信する。このモジュールは、外部ライブラリであり、安全なバンキング操作のために、第三者によってオンラインバンキングアプリケーションＢａｎｋｉｎｇＡｐｐ  １２０の開発者に提供され、そして銀行によって承認されている。安全なバンキング操作モジュール１２２は、銀行口座動作モジュール１２１から得られた識別データを分析して、受信した識別データのどれが要求されているバンキング操作を特徴づけているかを決定し、ハッカーのスキームで使用することができる。例えば、ユーザ１００の個人口座への不正アクセス、不正なバンキング操作、ユーザ１００の秘密情報（実行されたバンキング操作のリスト等）を取得する。
【００６４】
説明されている例では、そのデータは、ユーザ１００の個人口座へのアクセスのためのログインとパスワード、銀行の明細（銀行の名前、データ交換が行われる銀行サービスのネットワークアドレス等）、説明されたバンキング操作で使用される口座の番号、金額の合計、要求されているバンキング操作のタイプ、お金の振り込みを含むことができる。
【００６５】
安全なバンキング操作モジュール１２２は、非対称暗号化アルゴリズムを公開鍵と共に使用して、選択されたデータを暗号化し、そのデータをセキュリティサーバ１１０の所定のネットワークアドレスに送信するように構成することができる。
【００６６】
セキュリティサーバ１１０上で、安全なバンキング操作モジュール１２２によって送られた識別データは、スクリプト生成モジュール１１１に送られる。受信した識別データ（バンキング操作「銀行振込」のため、個人口座へのアクセスのためのログイン及びパスワードを説明するデータ等）からのデータの各タイプに対するスクリプト生成モジュール１１１は、ユーザのコンピューティングデバイスからのデータの収集のためのルールを選択し、もし悪意のあるソフトウェアがユーザのコンピューティングデバイス上で動作している場合、悪意のあるソフトウェアは確実に識別される。例えば、コンピューティングデバイス上で悪意のあるソフトウェアが動作していることを確認し、ユーザの認証データへの不正アクセスを得るためには、ユーザ１００によって認証データが入力された後に生じる機能のコールログを得る必要がある。データ収集ルールが選択された後、データ収集ルールの実行の特徴が決定される。その後、選択されたデータ収集ルールから検証スクリプトを生成し、安全なバンキング操作モジュール１２２に送信することができる。
【００６７】
検証スクリプトを得た後、バンキング操作保証モジュール１２２は、それを実行する。
【００６８】
銀行口座動作モジュール１２１によってバンキング操作を特徴づけ、銀行サーバ１３０に送信されたデータは、トランザクション登録モジュール１３１によって受信される。受信したデータは次のように処理される。データが暗号化されている場合、それは解読される（例えば、秘密鍵を使用する非対称暗号化アルゴリズムによって）。適切なフォーマットを遵守するために、バンキング操作の実行のログイン、パスワード、及び確認コードが検証される。受信した銀行の明細、口座番号等に基づいて、必要なバンキング操作を行う技術的な可能性が検証される（口座＃１及び口座＃２が存在し、口座＃１等に１００ドルが存在する等）。その後、処理が成功した場合、データに基づいてバンキングトランザクションが生成され、そのトランザクションはバンキングシステムに登録されて記憶される。登録されたバンキングトランザクションの期間が設定され、その期間中にそのバンキングトランザクションを実行することができ、満了するとバンキングシステムから取り除かれ、オンラインバンキングアプリケーションＢａｎｋｉｎｇＡｐｐ１２０には、そのバンキングトランザクションを実行しようとして失敗したことについて、トランザクション登録モジュール１３１によって情報が送られる。したがって、前述のバンキング操作のデータへの不正アクセスに対するさらなる保護が実現される。そうでなければ、オンラインバンキングアプリケーションＢａｎｋｉｎｇＡｐｐ１２０は、要求されたバンキング操作を拒否するトランザクション登録モジュール１３１によって情報を発行され、その後、閲覧のために便利な形でユーザ１００に提示される。
【００６９】
分析モジュール１１２によって銀行サーバ１３０に送信された、前述のバンキング操作を実行する許可に関するデータは、トランザクション実行モジュール１３２によって受信される。トランザクション実行モジュール１３２は、受信したデータに基づいて、バンキングシステムに登録されている前述のバンキングトランザクションを検索する。バンキングトランザクションが見つかった場合は、それが実行され、実行結果がオンラインバンキングアプリケーションＢａｎｋｉｎｇＡｐｐ１２０に送信され、その結果は、その後、閲覧のために便利な形でユーザ１００に提示される。
【００７０】
図２は、本発明の１つ態様による安全なオンラインバンキングトランザクションを実行するための例示的な方法を示す。この方法は、操作情報が収集される工程２０１と、バンキング操作のトランザクションが生成される工程２０２と、検証スクリプトが生成される工程２０３と、識別データがバンキング操作のセキュリティレベルを計算する工程２０５と、バンキング操作のトランザクションが実行される工程２０６とを有する。
【００７１】
より具体的には、工程２０１において、要求されたバンキング操作を記述するデータ（以下、操作情報）が、前述のコンピューティングデバイスから収集される。
【００７２】
操作情報は、特に制限されないが、銀行口座へのアクセスのための認証データ、個人アカウント等（ログイン及びパスワード、指紋、虹彩写真、音声パターン、手書き標本等のユーザ１００の生体データ等）、銀行の明細、要求されたバンキング操作のタイプ（口座残高の取得、ある口座から別の口座への金額の授受、口座の預金、資金の引き出し、商品やサービスの支払い等）、要求されるバンキング操作に関わる金額の合計、バンキング操作を実行する確認データ（３ｄｓ−ｓｅｃｕｒｅ技術等を用いたバンキング操作の確認コード）、要求されるバンキング操作又はユーザ１００の口座の変更（例えば、ユーザ１００が動かしている口座番号）に関連する補足情報（例えば、実行される操作に対するコメント）を含む。
【００７３】
工程２０２において、前述のバンキング操作のトランザクションは、工程２０１で得られた操作情報に基づいて生成される。工程２０６は、予め定められた期間の満了時、又は工程２０５で分析モジュール１１２からコマンドを受信した時に、実行されることが可能である。
【００７４】
工程２０３では、工程２０１で収集した操作情報に基づいて検証スクリプトを生成し、前記検証スクリプトは、前記コンピューティングデバイスからデータ（以下、識別データ）を収集し、少なくとも１つのデータ収集ルールを含むように構成される。ルールは、工程２０４において、ユーザ１００のコンピューティングデバイスの他のデータの中で識別データが明白に決定される識別データの特徴、工程２０４において識別データを収集するために使用されるユーザ１００のコンピューティングデバイスのリソースが選択されることに基づく識別データを収集する方法、工程２０４で行われる識別データの収集の条件が満たされたときに識別データを収集する条件を定義でき、一方、識別データを収集するための識別データの特徴、条件及び方法は、収集された識別データの分析に基づいてバンキング操作を行うセキュリティレベルが計算されるように選択される。バンキング操作を行うセキュリティレベルは、０~１の数値であってもよく、前記操作情報への不正アクセスの可能性を特徴付ける。
【００７５】
検証スクリプトは、予め生成されたデータ収集ルールの組、データ収集ルールを適用する方法（例えば、工程２０４におけるデータ収集ルールの実行の順序）、データ収集ルールの作業の結果として得られたデータの処理の結果として補足データを得る方法、を含んでいても良い。例えば、データ収集ルールの作業の結果として得られたデータの処理の結果として、得られたデータからチェックサムの計算、他のデータ収集ルールの作業の結果として得られたデータの中から１つのデータ収集ルールの作業の結果として得られたデータの検索、得られたデータ間の関係を検索し、見つけた関係を記述する数値係数を計算することである。
【００７６】
例示的な一態様では、検証スクリプトは、ＬＵＡ、ＡｐｐｌｅＳｃｒｉｐｔ等の既存のスクリプト言語のうちの１つを使用して生成することができる。このアプローチの利点は、検証の生成、サポート、及び操作の透明性の実行の速度である。
【００７７】
別の例示的な態様では、検証スクリプトは、高レベルプログラミング言語（Ｊａｖａ、Ｃ  ＋＋等）を使用して生成することができる。このアプローチの利点は、検証スクリプトの作業の信頼性と、悪意のある手段による分析の困難さ又は不可能さでさえある。
【００７８】
工程２０４において、工程２０３で生成された検証スクリプトの実行から得られた識別データが収集され、検証スクリプトは少なくとも１つのデータ収集ルールを含み、データ収集ルールは、工程２０４においてユーザ１００のコンピューティングデバイスの他のデータの中で識別データが明白に識別される識別データの特徴、工程２０４において、識別データを収集するために使用されるユーザ１００のコンピューティングデバイスのリソースが選択されることに基づく識別データを収集する方法、及び工程２０４で識別データが収集されたときの識別データを収集する条件を説明する。
【００７９】
識別データの種類は、これらに限定されるものではないが、
・コンピューティングデバイスのＲＡＭのダンプ。
・コンピューティングデバイス上で実行されているアプリケーションのネットワークアクティビティのログ（固有のアプリケーション識別子、コンピュータネットワークにおけるデータ交換の開始及び終了の時間、データが交換されるサーバのネットワークアドレス、送信又は受信されるデータの量等を含む記録を含む）。
・コンピューティングデバイス上で実行されているアプリケーションからのファンクションコールのログ（固有のアプリケーション識別子、ファンクションの呼び出し時間、ファンクションの名前、ファンクションに送信されるデータ、呼び出された関数等を含む記録を含む）。
・ユーザ１００のコンピューティングデバイス上で実行されるセキュリティポリシー。
・コンピューティングデバイス上で動作するアプリケーション間で送信されるデータ、ならびにデータ交換に参加するアプリケーションの固有の識別子、データ交換の開始及び終了時間、送信されるデータの量及び種類、プロセス間通信（ＩＰＣ）の種類等のような前記データを送信する方法
・コンピューティングデバイス上で実行されているアプリケーションの特徴（動作中のアプリケーションによって占有されているＲＡＭの容量、その動作の時間、アプリケーションの一意の識別子、例えばアプリケーションのチェックサムＭＤ５等、又はアプリケーションがコンピューティングデバイスのオペレーティングシステムに登録されている名前等）
【００８０】
識別データの特徴は、識別データのデータ種類（例えば、番号、文字列、バイト配列、画像、メディアデータ等）、識別データのサイズ、識別データの場所（たとえば、ＲＡＭ内のポインタ、ハードドライブ上のパス等）を含むことができる。
【００８１】
識別データを収集する方法は、ユーザ１００がデータを入力するグラフィックインターフェイスのＡＰＩ関数呼び出しの使用、オペレーティングシステムのＡＰＩ関数呼び出しの使用、システムイベントのインターセプト、ユーザ１００によって入力されたデータを処理するプロセスのメモリへの直接的なアクセスを含むことができる。
【００８２】
ユーザ１００のコンピューティングデバイスのリソースは、ユーザ１００がデータを入力するグラフィックインターフェイスのＡＰＩ関数、オペレーティングシステムのＡＰＩ関数、システムイベント、情報媒体（メモリ、外部情報媒体、ハードドライブなど）へのアクセスを得るためのデータを含むことができる。
【００８３】
工程２０４の間に、収集された識別データを用いて以下の操作を実行することができる。
収集された識別データを暗号化する工程、収集された識別データをアーカイブする工程、収集された識別データのコンボリューションを計算する工程、収集された識別データからチェックサムを計算する工程。
そして、前述の動作を実行した結果は、工程２０５においてさらに処理される。
【００８４】
工程２０５において、工程２０４で収集された識別データに基づいて、上述のバンキング操作を実行するセキュリティレベルが計算される。
【００８５】
工程２０６において、工程２０２で生成されたトランザクションは、工程２０５で計算された前述のバンキング操作を実行するセキュリティレベルが所定の閾値を満たす場合に実行される。
【００８６】
所定の閾値を満たす条件を満たすことは、少なくとも、バンキング操作を行う計算されたセキュリティレベルが所定の閾値以上であること、又はいくつかのバンキング操作を行う場合には、バンキング操作を行う計算されたレベルのセキュリティの中心的傾向の評価が所定の閾値を下回らないことにあっても良い。
【００８７】
バンキング操作を実行した結果は、前述のバンキング操作を実行した結果についてのユーザ１００の情報に関してクライアント１２０に送信することができる。
【００８８】
図３は、本発明の態様による安全なオンラインバンキングトランザクションを実行する例示的な方法の工程の順序を示しており、ユーザ１００、セキュリティサーバ１１０、銀行口座動作モジュール１２１、安全なバンキング操作モジュール１２２、銀行サーバ１３０を巻き込み、トランザクション３１０が生成され、固有の検証スクリプト３２０が生成され、検証スクリプト３３０に従ってユーザのコンピューティングデバイスが検証され、識別データ３４０が処理され、トランザクション３５０が実行されている中で、手段間で送信されたデータ、すなわち、操作情報３１０．１、トランザクションのＵＩＤ３２０．１，３２０．２，３２０．３、固有の検証スクリプト３３０．１、識別データ３４０．１、コンピューティングデバイス３５０．１から収集された識別データの分析結果、トランザクション３６０．１を実行した結果、及びバンキングトランザクション３７０．１を含む。
【００８９】
より具体的には、ユーザ１００は、クライアント１２０によって提供されるグラフィックインターフェイスを介して、バンキング操作を特徴付けるデータを銀行口座動作モジュール１２１に送信する。銀行口座管理モジュールは、ユーザ１００が送信したデータから、操作情報３１０．１を生成して銀行サーバ１３０に送信する。銀行サーバ１３０は、銀行口座動作モジュール１２１から受け取った操作情報３１０．１を処理し、固有の識別子（トランザクションのＵＩＤ）３２０．１に明白に関連するバンキングトランザクション３７０．１を生成する。銀行サーバは、それが接続されている銀行口座動作モジュール１２１にトランザクションのＵＩＤを返す。銀行口座動作モジュール１２１は、銀行サーバ１３０から得られたトランザクションのＵＩＤを安全なバンキング操作モジュール１２２に送る。安全なバンキング操作モジュール１２２は、所定のセキュリティサーバ１１０との接続を確立し、銀行口座動作モジュール１２１から受け取ったトランザクション３２０．３のＵＩＤを送る。トランザクション３２０．３の実際のＵＩＤに加えて、安全なバンキング操作モジュール１２２は、銀行口座動作手段によって以前に受信されたオペレーション情報３１０．１もまた送ることができる（この情報に基づいて、セキュリティサーバ１１０は固有の検証スクリプト３３０．１を生成する）。セキュリティサーバ１１０は、固有の検証スクリプト３３０．１を生成し、それを安全なバンキング操作モジュール１２２に送り返す。安全なバンキング操作モジュール１２２は、ユーザ１００のコンピューティングデバイスから識別データ３４０．１を収集することができる、受信した固有の検証スクリプト３３０．１を実行する。この後、安全なバンキング操作モジュール１２２は、収集した識別データ３４０．１をセキュリティサーバ１１０に送信する。セキュリティサーバは、受信した識別データ３４０．１を処理し、収集された識別データ３４０．１から、バンキングトランザクション３７０．１を実行することが安全かどうか、不正アクセスが操作情報３１０．１に得られたかどうかなどを計算する。検証の実行が完了した後、セキュリティサーバ１１０は、安全なバンキング操作モジュール１２２から以前に受信したトランザクションのＵＩＤを含むコンピューティングデバイス３５０．１の検証結果を銀行サーバ１３０に送信する。銀行サーバ１３０は、ユーザ１００のコンピューティングデバイスの検証結果が肯定的である場合、以前に生成されたバンキングトランザクションを実行し、バンキングトランザクションの実行結果を銀行口座動作モジュール１２１に送る。ユーザ１１０のコンピューティングデバイスの検証の結果が否定的である場合、銀行サーバはトランザクションの実行をブロックすることができる。
【００９０】
図４は、安全なオンラインバンキングトランザクションを実行するためのシステム及び方法が例示的な態様に従って実装され得る汎用コンピュータシステムを示す図である。図示したように、コンピュータシステム２０（パーソナルコンピュータ又はサーバであってもよい）は、中央処理装置２１、システムメモリ２２、及び中央処理装置２１に関連するメモリを含む様々なシステム構成要素を接続するシステムバス２３を含む。当業者には理解されるように、システムバス２３は、バスメモリ又はバスメモリコントローラ、周辺バス、及び他のバスアーキテクチャと相互作用することができるローカルバスを含むことができる。システムメモリは、永久メモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含むことができる。基本入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４を使用してオペレーティングシステムをロードするときなど、コンピュータシステム２０の要素間で情報を転送するための基本手順を格納することができる。
【００９１】
コンピュータシステム２０はまた、データを読み書きするためのハードディスク２７、リムーバブル磁気ディスク２９を読み書きするための磁気ディスクドライブ２８、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ及び他の光学媒体などのリムーバブル光学ディスク３１を読み書きするための光学ドライブ３０とを含むことができる。ハードディスク２７、磁気ディスクドライブ２８、及び光学ドライブ３０は、それぞれハードディスクインターフェース３２、磁気ディスクインターフェース３３及び光学ドライブインターフェース３４を介してシステムバス２３に接続されている。ドライブ及び対応するコンピュータ情報媒体は、コンピュータ命令、データ構造、プログラムモジュール、及びコンピュータシステム２０の他のデータを格納するための電源独立モジュールである。
【００９２】
例示的な態様は、コントローラ５５を介してシステムバス２３に接続されたハードディスク２７、リムーバブル磁気ディスク２９及びリムーバブル光学ディスク３１を使用するシステムを含む。当業者であれば、コンピュータによって読み取り可能なデータを記憶することができるあらゆる種類の媒体５６（ソリッド・ステート・ドライブ、フラッシュ・メモリ・カード、デジタル・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）等）でもまた利用できることが理解される。
【００９３】
コンピュータシステム２０は、オペレーティングシステム３５が格納されるファイルシステム３６と、追加のプログラムアプリケーション３７と、他のプログラムモジュール３８と、プログラムデータ３９とを有する。コンピュータシステム２０のユーザは、キーボード４０、マウス４２、又はマイクロホン、ジョイスティック、ゲームコントローラ、スキャナなどの当業者に知られている任意の他の入力デバイスを使用して、コマンド及び情報を入力することができる。このような入力デバイスは、典型的にはシリアルポート４６を介してコンピュータシステム２０に接続され、シリアルポート４６はシステムバスに接続されるが、パラレルポート、ゲームポート、又はユニバーサルシリアルバス（ＵＳＢ）を介して入力デバイスを限定することなく他の方法で接続することもできることを当業者は理解するであろう。モニタ４７又は他のタイプの表示デバイスは、ビデオアダプタ４８などのインターフェイスを介してシステムバス２３に接続することもできる。モニタ４７に加えて、パーソナルコンピュータは、スピーカ、プリンタなどの他の周辺出力デバイス（図示せず）を備えていてもよい。
【００９４】
コンピュータシステム２０は、１つ又は複数のリモートコンピュータ４９へのネットワーク接続を使用して、ネットワーク環境で操作することができる。リモートコンピュータ（又は複数のコンピュータ）４９は、コンピュータシステム２０の性質を説明する上で上述した要素のほとんど又はすべてを含むローカルコンピュータワークステーション又はサーバであってもよい。ルータ、ネットワークステーション、ピアデバイス又は他のネットワークノードなどの他のデバイスも、コンピュータネットワークに存在することができるが、これに限定されるものではない。
【００９５】
ネットワーク接続は、ローカルエリアコンピュータネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータネットワーク（ＷＡＮ）を形成することができる。このようなネットワークは、企業のコンピュータネットワーク及び社内ネットワークで使用され、通常はインターネットへのアクセスを有する。ＬＡＮ又はＷＡＮネットワークでは、コンピュータシステム２０は、ネットワークアダプタ又はネットワークインタフェース５１を介してローカルエリアネットワーク５０に接続される。ネットワークが使用される場合、コンピュータシステム２０は、モデム５４、又はインターネットなどの広域コンピュータネットワークとの通信を可能にする当業者に周知の他のモジュールを使用することができる。モデム５４は、内部又は外部のデバイスであってもよく、シリアルポート４６によってシステムバス２３に接続されてもよい。前記ネットワーク接続は、通信モジュールを使用して１つのコンピュータによって別のコンピュータへの接続を確立する多くの周知の方法の非限定的な例であることは、当業者には理解されるであろう。
【００９６】
様々な態様において、本明細書に記載のシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実施されてもよい。ソフトウェアで実施される場合、方法は、非一時的なコンピュータ可読媒体上に１つ以上の命令又はコードとして格納されてもよい。コンピュータ可読媒体は、データ記憶装置を含む。限定ではなく例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、又は電気、磁気、又は光学記憶媒体の他の種類、又は所望のプログラムコードを命令又はデータ構造の形で運び、運搬する又は格納することができ、汎用コンピュータのプロセッサによってアクセスすることができる他のあらゆる媒体を含むことができる。モジュールは、2つの組み合わせとして実装されてもよく、ある機能はハードウェアのみでもよく、他の機能はハードウェアとソフトウェアの組み合わせでもよい。特定の実施例では、モジュールの少なくとも一部、場合によっては全てが、汎用コンピュータのプロセッサ上で実行されてもよい（例えば、図4に詳細に記載されたものなど）。したがって、各モジュールは、様々な適切な構成で実現されてもよく、ここに例示される特定の実装に限定されるべきではない。
【００９７】
様々な態様において、本開示で説明されたシステム及び方法は、モジュールの観点から言及することができる。本明細書で使用される「モジュール」という用語は、ハードウェアを使用して実装された実世界の装置、構成要素、又は構成要素の配列を指し、例えば、ハードウェアは、特定用途向け集積回路（ＡＳＩＣ）又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）によって、又はハードウェアとソフトウェアの組み合わせとして、（実行されている間に）マイクロプロセッサシステムを専用装置に変換するモジュールの機能を実現するためのマイクロプロセッサシステム及び命令の組である。
【００９８】
明瞭化のために、態様のルーチンの特徴の全てが本明細書に開示されているわけではない。本開示のいかなる実際の実装の開発においても、開発者の特定の目標を達成するために多数の実装特有の決定が行われなければならず、これらの具体的な目標は実装及び異なる開発者によって異なる。そのような開発努力は、複雑で時間がかかるが、それにもかかわらず、本開示の恩恵を受ける当業者にとっては、日常的な工学的な取り組みであることが理解される。
【００９９】
さらに、本明細書で使用される表現又は用語は、本明細書の用語又は表現が当業者によって明白に解釈されるように、限定ではなく説明のためのものであることを理解されたい。当業者の知識と組み合わせて、本明細書に提示される教示及び指針のうちの１つ又は複数を含むことができる。さらに、本明細書又は特許請求の範囲における任意の用語が、明示的に記載されていない限り、珍しい又は特別な意味であるとみなされることを意図するものではない。
【０１００】
本明細書で開示される様々な態様は、説明のために本明細書で言及された既知のモジュールに対する現在及び将来の既知の等価物を包含する。  さらに、態様及び適用が示され説明されているが、本開示の利益を有する当業者には、本明細書に開示された発明概念から逸脱することなく上記より多くの変更が可能であることが明らかであろう。
【図１】
2018063695.tif 000003
【図２】
2018063695.tif 000004
【図３】
2018063695.tif 000005
【図４】
2018063695.tif 000006
【外国語明細書】
2018063695000001.pdf