(57)【特許請求の範囲】
【請求項１】
コンピュータによって実行される安全なオンライン認証のための方法であって、
決定ステップと、取得ステップと、確立ステップと、受信ステップと、要求ステップと、有効性チェックステップと、実行ステップと、送信ステップと、を備え
前記決定ステップでは、安全な接続のための機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、
前記コンピュータ・システムは、前記安全な接続のための機器とは別個のものであり、
前記取得ステップでは、前記安全な接続のための機器において、前記保護されたウェブサイトからの認証要求を取得するブラウザアプリケーションのプラグインに応答して、前記保護されたウェブサイトに関する情報を取得し、
前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信するために、前記保護されたウェブサイトと前記安全な接続のための機器との間に、保護されたデータを送信するためのチャネルを確立し、
前記受信ステップでは、前記証明書を前記ブラウザアプリケーションのプラグインから受信し、
前記要求ステップでは、ルート証明書を除いた証明書の完全な階層構造を、前記コンピュータ・システムに要求し、
前記有効性チェックステップでは、前記安全な接続のための機器に格納されているルート証明書に基づいて、前記受信ステップで受信した証明書の有効性をチェックし、有効性がチェックできない場合には、前記保護されたデータを送信するためのチャネルを切断し、
前記実行ステップでは、前記有効性がチェックできた場合に、前記安全な接続のための機器に記憶された認証データを前記保護されたウェブサイトへ送信し、
前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに前記安全な接続のための機器から前記ブラウザアプリケーションのプラグインへ新しいセッションの識別子を送信する、
方法。
【請求項２】
前記決定ステップは、前記ブラウザアプリケーションによって提供されるＡＰＩを介して前記保護されたウェブサイトのＵＲＩアドレスを取得するステップを含む、
請求項１に記載の方法。
【請求項３】
前記決定ステップは、ドライバを介して前記ブラウザアプリケーションと前記保護されたウェブサイトとの間のネットワークトラフィックを傍受して、前記保護されたウェブサイトのＵＲＩアドレスを取得するステップを含む、
請求項１に記載の方法。
【請求項４】
前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストに対して前記保護されたウェブサイトを確認するステップを更に含む、
請求項１に記載の方法。
【請求項５】
前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストと、前記保護されたウェブサイトに関連する暗号化されたデータとを、前記安全な接続のための機器上に格納するステップを更に含む、
請求項４に記載の方法。
【請求項６】
前記保護されたウェブサイトに関する情報は、ＵＲＬアドレスと、前記保護されたウェブサイトの前記少なくとも１つの証明書に関する情報と、前記保護されたウェブサイトのドメインに関するＷＨＯＩＳ情報と、前記ＵＲＬアドレスでの要求に対する応答により取得されたヘッダのリストと、畳み込み又はハッシュサムの形でダウンロードされたスクリプトに関する情報とを含む、
請求項１に記載の方法。
【請求項７】
前記保護されたウェブサイトに関する取得された情報に基づいて、前記保護されたウェブサイトの有効性をチェックするステップを更に含み、前記情報は、接続を確立する際にダウンロードされたスクリプトについての取得されたヘッダ又はリストを含む、
請求項１に記載の方法。
【請求項８】
前記認証データを保護されたウェブサイトに送信するための第２認証ファクタを取得するステップを更に含む、
請求項１に記載の方法
【請求項９】
前記保護されたウェブサイトへのアクセスを可能にするために識別された情報をブラウザアプリケーションに送信した後に、前記ブラウザアプリケーションを使用して前記保護されたウェブサイトへのアクセスを継続することを更に含む、
請求項１に記載の方法。
【請求項１０】
安全なオンライン認証のためのシステムであって、
安全な接続のための機器のプロセッサを少なくとも１つ備え、
前記プロセッサは、決定ステップと、取得ステップと、確立ステップと、実行ステップと、受信ステップと、要求ステップと、有効性チェックステップと、送信ステップとを実行するように構成され、
前記決定ステップでは、安全な接続のための機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、
前記取得ステップでは、前記保護されたウェブサイトからの認証要求を取得するブラウザアプリケーションのプラグインに応答して、前記保護されたウェブサイトに関する情報を取得し、
前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信するために、前記保護されたウェブサイトと前記安全な接続のための機器との間に、保護されたデータを送信するためのチャネルを確立し、
前記受信ステップでは、前記証明書を前記ブラウザアプリケーションのプラグインから受信し、
前記要求ステップでは、ルート証明書を除いた証明書の完全な階層構造を、前記コンピュータ・システムに要求し、
前記有効性チェックステップでは、前記安全な接続のための機器に格納されているルート証明書に基づいて、前記受信ステップで受信した証明書の有効性をチェックし、有効性がチェックできない場合には、前記保護されたデータを送信するためのチャネルを切断し、
前記実行ステップでは、前記有効性がチェックできた場合に、前記安全な接続のための機器に記憶された認証データを前記保護されたウェブサイトへ送信し、
前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに前記安全な接続のための機器から前記ブラウザアプリケーションのプラグインへ新しいセッションの識別子を記憶された認証情報を送信する、
システム。
【請求項１１】
前記決定ステップは、
前記ブラウザアプリケーションによって提供されるＡＰＩを介して前記保護されたウェブサイトのＵＲＩアドレスを取得するステップ、又は
ドライバを介して前記ブラウザアプリケーションと前記保護されたウェブサイトとの間のネットワークトラフィックを傍受して、前記保護されたウェブサイトのＵＲＩアドレスを取得するステップを含む、
請求項１０に記載のシステム。
【請求項１２】
前記プロセッサが、
前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストと、前記保護されたウェブサイトに関する暗号化されたデータとを格納し、 
前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストに対して前記保護されたウェブサイトを確認するように更に構成される、
請求項１０に記載のシステム
【請求項１３】
前記保護されたウェブサイトに関する情報が、ＵＲＬアドレスと、前記保護されたウェブサイトの前記少なくとも１つの証明書に関する情報と、前記保護されたウェブサイトのドメインに関するＷＨＯＩＳ情報と、前記ＵＲＬアドレスでの要求に対する応答により取得されたヘッダのリストと、畳み込み又はハッシュサムの形でダウンロードされたスクリプトに関連する情報とを含む、
請求項１０に記載のシステム。
【請求項１４】
前記プロセッサが、前記保護されたウェブサイトに関する取得された情報に基づいて、前記保護されたウェブサイトの有効性をチェックするように構成され、前記情報は、接続を確立する際にダウンロードされたスクリプトについての取得されたヘッダ又はリストを含む、
請求項１０に記載のシステム。
【請求項１５】
前記プロセッサが、前記保護されたウェブサイトへのアクセスを可能にするために識別情報をブラウザアプリケーションに送信した後、前記ブラウザアプリケーションを使用して前記保護されたウェブサイトへのアクセスを継続するように更に構成される、
請求項１０に記載のシステム
【請求項１６】
安全なオンライン認証のためのコンピュータが実行可能な命令を格納するコンピュータ上で読み取り可能な不揮発性媒体であって、
前記命令は、決定ステップと、取得ステップと、確立ステップと、受信ステップと、要求ステップと、有効性チェックステップと、実行ステップと、送信ステップを備え、
前記決定ステップでは、安全な接続のための機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、
前記取得ステップでは、前記保護されたウェブサイトからの認証要求を取得するブラウザアプリケーションのプラグインに応答して、前記保護されたウェブサイトに関する情報を取得し、
前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信するために、前記保護されたウェブサイトと前記安全な接続のための機器との間に、保護されたデータを送信するためのチャネルを確立し、
前記受信ステップでは、前記証明書を前記ブラウザアプリケーションのプラグインから受信し、
前記要求ステップでは、ルート証明書を除いた証明書の完全な階層構造を、前記コンピュータ・システムに要求し、
前記有効性チェックステップでは、前記安全な接続のための機器に格納されているルート証明書に基づいて、前記受信ステップで受信した証明書の有効性をチェックし、有効性がチェックできない場合には、前記保護されたデータを送信するためのチャネルを切断し、
前記実行ステップでは、前記有効性がチェックできた場合に、前記安全な接続のための機器に記憶された認証データを前記保護されたウェブサイトへ送信し、
前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに前記安全な接続のための機器から前記ブラウザアプリケーションのプラグインへ新しいセッションの識別子を送信する、
媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、３５Ｕ．Ｓ．Ｃ．（ａ）〜（ｄ）における優先権の利益を主張するものであり、２０１６年６月２４日に出願されたロシア出願第２０１６１２５２８３号に記載されている。
【背景技術】
【０００２】
本開示は、一般にデータセキュリティの分野、より具体的には、安全なオンライン認証のシステム及び方法に関連するものである。
【０００３】
現在、様々なオンライン取引を実行するための大量のソフトウェアが存在する。多くのオンライン取引には、バンキングサービスと電子マネーの交換が含まれる。これらの取引は通常、標準的なインターネットブラウザ及び別個のバンキングクライアント（アプリケーション）を介して行われ、これらはモバイルプラットフォームにおいて特に人気がある。オンライン取引に関連する他のアプリケーションの中でも、電子通貨システムは、例えばＷｅｂＭｏｎｅｙ、ＰａｙＰａｌ、或いは、ユーザがゲーム内オブジェクト又はゲーム内通貨を現実の通貨で（例えば、クレジットカードを使用して）購入するといったような独自の取引システムを使用するオンラインゲームにおいて、サーバとして利用されうる。
【０００４】
オンライン決済システムの浸透に伴い、ハッカーはこのサービス分野に非常に関心を持ち、不正な（詐欺的な）資金調達の目的で取引データを傍受する方法を積極的に試みている。一例では、そのようなデータの盗難は、ユーザのコンピュータに侵入する（感染する）悪意あるプログラム（又はフィッシング）を使用して行うことができる。ほとんどの場合、このようなプログラムは、一般的なインターネットブラウザを感染させることでコンピュータに侵入し、データ入力デバイス（キーボードやマウス等）から入力されたデータを傍受し、ネットワーク上で送信されているデータを傍受する。例えば、ブラウザに感染した悪意あるプログラムは、ブラウザファイルへのアクセス権を無断で獲得し、Ｗｅｂページにアクセスしたときに保存された閲覧履歴とパスワードをサーチする。データ入力インターセプタ（キーロガー）は、例えば、キーボードやマウスからのデータの入力を傍受し、スクリーンショットを撮影し、更にさまざまなルートキット技術を使用してシステム内にその存在を隠すことができる。同様の技術を使用して、ネットワークパケット（トラフィックスニッファ）のインターセプタを作成することもできる。インターセプタは、ネットワークパケットが送信されるときに傍受し、パスワードやその他の個人データ等の重要な情報を抽出する。感染は、ソフトウェアの脆弱性によって最も頻繁に発生するため、コンピュータ・システムに侵入して悪意あるソフトウェアを勝手にインストールする等のさまざまな悪用が可能といえる。
【０００５】
事前の防御方法や信頼できるアプリケーションのリスト（ホワイトリスト）の使用等、既存のアンチウィルス技術は、ユーザのコンピュータ上においていくつかの悪意あるプログラムを検出する可能性があるが、一方でそのような悪意あるプログラムが新たに修正された差分を特定することは常に可能というわけではなく、またその出現の頻度は毎日のように増加しているかもしれない。したがって、ユーザが容易にオンライン支払いを行うことを可能にするプログラムを保護するための頑強な解決策が存在することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既存のソフトウェア及びハードウェアソリューションの中には、ユーザの携帯電話にワンタイムパスワード（ＯＴＰ）を送信する方法や、ユーザ認証のためにハードウェアを使用する方法等、認証のための要素を追加導入するものがある。しかし、これらの解決策は脆弱である可能性もある。ＯＴＰを傍受できる有害なプログラムの例の１つとして、悪意あるプログラムＺｅｕｓが挙げられる。したがって、オンラインでの取引中にユーザのデータが傍受されるのを防ぐために、改善された解決策の提供が必要不可欠である。
【課題を解決するための手段】
【０００７】
本発明によれば、コンピュータによって実行される安全なオンライン認証のための方法であって、決定ステップと、取得ステップと、確立ステップと、実行ステップと、送信ステップと、を備え前記決定ステップでは、計算機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、前記取得ステップでは、前記保護されたウェブサイトからの認証要求を取得することに応答して、前記保護されたウェブサイトに関する情報を取得し、前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信することで、前記保護されたウェブサイトに対し保護されたデータを送信するためのチャネルを確立し、前記実行ステップでは、認証を実行し且つ認証データを前記保護されたウェブサイトへ送信し、前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに認証情報を送信する、方法が提供される。
【０００８】
好ましくは、前記決定ステップは、前記ブラウザアプリケーションによって提供されるＡＰＩを介して前記保護されたウェブサイトのＵＲＬアドレスを取得するステップを含み、前記決定ステップは、ドライバを介して前記ブラウザアプリケーションと前記保護されたウェブサイトとの間のネットワークトラフィックを傍受して、前記保護されたウェブサイトのＵＲＬアドレスを取得するステップを含む。
【０００９】
好ましくは、前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストに対して前記保護されたウェブサイトを確認するステップを更に含み、前記コンピュータ・システムによってアクセスされる前記保護されたウェブサイトのアドレスのリストと、前記保護されたウェブサイトに関連する暗号化されたデータとを、前記計算機器上に格納するステップを更に含む。
【００１０】
好ましくは、前記保護されたウェブサイトに関する情報は、ＵＲＬアドレスと、前記保護されたウェブサイトの前記少なくとも１つの証明書に関する情報と、前記保護されたウェブサイトのドメインに関するＷＨＯＩＳ情報と、前記ＵＲＬアドレスでの要求に対する応答により取得されたヘッダのリストと、畳み込み又はハッシュサムの形でダウンロードされたスクリプトに関する情報とを含む。
【００１１】
好ましくは、前記確立ステップは、前記コンピュータ・システムにインストールされたドライバを介して前記保護されたデータ送信チャネルを確立するステップと、 前記少なくとも１つの証明書の有効性をチェックすることで、前記保護されたウェブサイトの証明書の完全な階層構造を前記ドライバから取得するステップとを含み、前記計算機器のルート証明書のリストを使用して、保護されたウェブサイトの証明書の完全な階層構造の有効性を判定するステップを更に含む。
【００１２】
好ましくは、前記保護されたウェブサイトに関する取得された情報に基づいて、前記保護されたウェブサイトの有効性をチェックするステップを更に含み、前記情報は、接続を確立する際にダウンロードされたスクリプトについての取得されたヘッダ又はリストを含み、前記認証を実行するための第２認証ファクタを取得し、前記認証データを保護されたウェブサイトに送信するステップを更に含む。
【００１３】
好ましくは、前記保護されたウェブサイトへのアクセスを可能にするために識別された情報をブラウザアプリケーションに送信した後に、前記ブラウザアプリケーションを使用して前記保護されたウェブサイトへのアクセスを継続することを更に含む。
【００１４】
本発明の別の態様によれば、安全なオンライン認証のためのシステムであって、計算機器のプロセッサを少なくとも１つ備え、前記プロセッサは、決定ステップと、取得ステップと、確立ステップと、実行ステップと、送信ステップとを実行するように構成され、前記決定ステップでは、計算機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、前記取得ステップでは、前記保護されたウェブサイトからの認証要求を取得することに応答して、前記保護されたウェブサイトに関する情報を取得し、前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信することで、前記保護されたウェブサイトに対し保護されたデータを送信するためのチャネルを確立し、前記実行ステップでは、認証を実行し且つ認証データを前記保護されたウェブサイトへ送信し、前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに認証情報を送信する、システムが提供される。
【００１５】
本発明の別の態様によれば、安全なオンライン認証のためのコンピュータ実行可能命令を格納するコンピュータ上で読み取り可能な不揮発性媒体であって、前記命令は、決定ステップと、取得ステップと、確立ステップと、実行ステップと、送信ステップを備え、前記決定ステップでは、計算機器のプロセッサを介して、コンピュータ・システムにインストールされたブラウザアプリケーションと保護されたウェブサイトとの間に確立された接続を決定し、前記取得ステップでは、前記保護されたウェブサイトからの認証要求を取得することに応答して、前記保護されたウェブサイトに関する情報を取得し、前記確立ステップでは、前記保護されたウェブサイトの少なくとも１つの証明書を受信することで、前記保護されたウェブサイトに対し保護されたデータを送信するためのチャネルを確立し、前記実行ステップでは、認証を実行し且つ認証データを前記保護されたウェブサイトへ送信し、前記送信ステップでは、前記保護されたウェブサイトから得られた認証結果に基づいて、前記保護されたウェブサイトへのアクセスを可能にするために、前記ブラウザアプリケーションに認証情報を送信する、媒体が提供される。
【００１６】
本発明の例示的な態様に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された態様の広範な概要ではなく、全ての態様の重要な又は重要な要素を特定することも本発明の任意の又は全ての態様の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、１つ又は複数の態様を簡略化した形で提示することである。前述の目的を達成するために、本発明の１つ又は複数の態様が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
【図面の簡単な説明】
【００１７】
添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本開示の１つ又は複数の例示的な態様を示し、詳細な説明と共に、それらの原理及び実施を説明する役割を果たす。
【００１８】
【図１】信頼されていない環境下におけるウェブサイトへのユーザアクセスの手順を示す。
【００１９】
【図２】信頼されていない環境下における安全なオンライン認証のための例示的なシステムを示す。
【００２０】
【図３】安全なオンライン認証のための例示的な方法を示す。
【００２１】
【図４】安全なオンライン認証のための例示的な方法の拡大図を示す。
【００２２】
【図５】本開示に係るシステム及び方法が実行されうる汎用コンピュータ・システムの例示的な構成を示す。
【発明を実施するための形態】
【００２３】
ここでは、安全なオンライン認証のシステム、方法、及びコンピュータプログラム製品と関連した例示的な態様が記載される。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定して述べられたものではないことを理解するであろう。他の態様は、本開示を見ることで利益を有する当業者によって容易に列挙されうるであろう。以下、添付の図面に示されている例示的な態様の実施を詳細に示す。同じリファレンスの指示子は、図面全体にわたって可能な限り使用され、以下、既出の指示子は同じ又は同様のアイテムを示す。
【００２４】
図１は、信頼されていない環境の条件でウェブサイトへのユーザアクセスの手順を示す。信頼されていない環境は、コンピュータ・システム１００を含む可能性があり、そこでは、たとえアンチウィルスアプリケーション１１０がインストールされていても、悪意あるアプリケーション１２０が存在するリスクが依然として存在し、（アプリケーション１２０は）ブラウザ１３０を介して保護されたサイト１４０（すなわち、それと相互作用するときに受信及び送信されるデータを保護する必要があるサイト）においてユーザ１５０の作業を損なう可能性がある。アンチウィルスアプリケーション１１０は、システムの脆弱性及び悪意あるアプリケーションの存在を捜査するために、コンピュータ・システム１００にインストールされたオペレーティングシステムをスキャンするように設計されてもよい。アンチウィルススキャンの結果は、以下のような事項を含んでいてもよい：検出された悪意あるプログラムと脆弱性の数及びその特定結果（どのプログラムに悪意があり、システムの脆弱性はどこにあるか）。上記のように、悪意あるアプリケーションを検索し特定するアンチウィルス技術は、全ての悪意あるアプリケーションの検出とその駆除を保証しない可能性がある。これは、悪意あるアプリケーションの作成者がアンチウィルススキャンを回避する方法を常に模索しているためである。例えば、署名及び経験的分析をより困難にするために実行されるコードの難読化方法、及びアンチエミュレーションの方法が知られており、その方法によって、アンチウィルスアプリケーションで実行されるエミュレーションにおいて悪意あるアプリケーションの検出を回避することが可能になる。したがって、サイト１４０から受け取り、送信されるデータを保護するための解決策が必要とされる。
【００２５】
図２は、信頼されていない環境下における安全なオンライン認証のための例示的なシステムを示している。図１と比較すると、図２では安全なデータ送信のためのデバイス１１５及びブラウザ内のプラグイン１３５を追加することができる。より具体的には、プラグイン１３５は、ユーザ１５０がブラウザ１３０を介して保護されたサイト１４０への接続を確立したことを決定し、保護されたサイト１４０との接続が発生したという情報を安全なデータ送信のためのデバイス１１５に送信するように設計されてもよい。ある態様においては、プラグイン１３５は、アンチウィルスアプリケーション１１０の一部として提供されてもよい。
【００２６】
接続の確立は、ＡＰＩを介して、ブラウザ１３０によって提供されるプラグイン１３５によって決定され、サイト１４０のＵＲIアドレスはＧＥＴ又はＰＯＳＴリクエストの分析によって決定されてもよい。
【００２７】
或いは、プラグイン１３５は、ブラウザ１３０とサイト１４０との間のネットワークトラフィックを傍受するための別個のドライバ１３６（プラグイン１３５の一部であってもよいし、別個のアプリケーションであってもよい）をインストールすることを要求してもよい。少なくとも傍受されたデータに基づいて、サイト１４０のＵＲIアドレスが決定されてもよい。そのようなドライバは、デバイス１１５とサイト１４０との間の別個の接続を確立するために使用されてもよい。このドライバは、サイト１４０の証明書等、サイト１４０に関する情報も取得することができる。
【００２８】
保護されたアドレスのリストは、認証に必要な暗号化されたデータと共に、安全なデータ送信のためにデバイス１１５上に格納することができる。デバイス１１５のアクティブ化（コンピュータ１００への接続）の際に、保護されたアドレスのリストは、プラグイン１３５のメモリにダウンロードされてもよい。プラグイン１３５は、アドレスのリストをそれ自体のメモリ又はコンピュータ・システム１００のハードディスク上に保存することができる。
【００２９】
したがって、保護されたサイトのアドレスのリストは、プラグイン１３５又は安全なデータ送信のためのデバイス１１５の何れかに保存することができる。一般に、そのようなリストは、ユーザ１５０自身、又は安全なデータ送信のためのデバイス１１５の開発者又はプラグイン１３５（一般的には、その一方又は両方の開発者）の何れかによって作成されてもよい。本発明においては、ユーザに対しサイトへの安全なアクセスを保証する多くの方法がありうる。サイトへの安全なアクセスを保証する技術の１つの例として、Ｋａｓｐｅｒｓｋｙ  Ｌａｂｏｒａｔｏｒｙが開発した「安全な支払い」（"Ｓｅｃｕｒｅ  Ｐａｙｍｅｎｔｓ"）技術がある。
【００３０】
保護されたサイト１４０からの認証要求の取得に応じて、プラグイン１３５は、サイトに関する情報（認証形式等）を含むこのアドレス及び要求自体をデバイス１１５に送信することができる。プラグイン１３５は、ＵＲIアドレス、サイトの証明書（複数個あってもよい）に関する情報、ドメインに関するＷＨＯＩＳ情報、ＵＲIアドレスでの要求に対する応答から得られたヘッダのリスト、畳み込み（ハッシュサム）形式でダウンロードされたスクリプトに関する情報等、デバイス１１５上のスキャンのために必要な補足情報を送ることもできる。
【００３１】
１つの例示的な態様においては、デバイス１１５は、実際のソフトウェア及びハードウェア又はそのどちらか一方であるようなデバイス、システム、コンポーネント、及び集積マイクロ回路（特定用途向け集積回路、ＡＳＩＣ）又はプログラマブルゲート（プログラマブル集積回路）のようなハードウェアの使用によって、又はマイクロプロセッサシステム及びプログラム命令セットのようなソフトウェアとハードウェアとを組み合わせる形で、又はニューロシナプスチップに基づき実現されるいくつかの構成要素を、その中に含んでいてもよい。
【００３２】
１つの例示的な態様においては、安全なデータ送信のためのデバイス１１５は、プロセッサ、一時的なデータの格納及び使用のためのメモリモジュール、パーティションを作成及び暗号化する機能を有するデータ媒体、コンピュータ・システム１００に接続するための少なくとも１つのアダプタ（一般に、ＵＳＢ）、ユーザ認証要素を入力／取得するための手段を含んでいてもよい。上述したように、デバイス１１５は、これらのサイトに関連する暗号化されたデータ（一般に、これはログイン／パスワードの関連付け及び認証フォームのための他のデータ等であるが、 支払データ等ユーザに関する機密データを含んでいてもよい）と共に保護されたサイトのアドレスのリストを保存することができる。このリストは、後続する各要求との比較のために、デバイス１１５からプラグインのメモリにダウンロードすることができる。
【００３３】
プラグイン１３５によって送信された認証要求を受信した直後に、デバイス１１５は、証明書を取得することができるサイト１４０への新たな保護された接続の作成を開始することができる。新しい保護された接続は、ドライバ１３６によって作成されてもよい。受信した証明書のチェック（検証）のために、デバイス１１５は、ルート証明書を除いて、サイト１４０の証明書の完全な階層構造についてコンピュータ１００にインストールされたドライバ１３６に問い合わせることができる。自身のルート証明書のリストを使用して、デバイス１１５は、サイト１４０に対する一連の証明書全体の有効性（信頼性）をチェックすることができる。もしチェックが成功しなかった場合、保護された接続が切断されることがある。デバイス１１５は、接続を確立するときに、例えば取得されたヘッダ又はダウンロードされたスクリプトのリスト等、サイト１４０のチェックのためにプラグイン１３５からの他の情報を使用することもできる。例えば、デバイス１１５は、プラグイン１３５から得られ、サイト１４０からダウンロードされたスクリプトの畳み込み（ハッシュサム）を、自身のハッシュサムと比較することができ、得られたスクリプトはデバイス１１５上に保存することができる。そしてその畳み込みが自身のハッシュサムと適合しなければ、サイト１４０への接続が切断される可能性がある。
【００３４】
１つの例示的な態様においては、情報（例えば、ユーザの個人データ等）は、デバイス１１５内のデータ媒体上に格納され、実行されうるコードは、プラグイン１３５からデータを受信すると実行される。また、１つの態様においては、デバイス１１５を用いた作業は、プラグイン１３５を用いてのみ行うことができる。例えば、データの認証及び交換のために、ＰＫＩ（公開鍵インフラストラクチャ）アーキテクチャを使用することができる。デバイス１１５の秘密鍵は、所与のデバイスの開発者によって提供されてもよい。
【００３５】
別の例示的な態様においては、プラグイン１３５は、プラグイン１３５のメモリに格納されているデータへのアクセスを、別個のＡＰＩの使用によって要求することができ、これにより、外部デバイスの開発者は、 デバイス１１５の開発者と同様に、与えられたプラグインを使用することができる。
【００３６】
デバイス１１５の別の機能は、第２ユーザ認証ファクタの実行を含みうる。第２認証ファクタは、ＯＴＰを使用して、或いは、ユーザのデジタル署名又はユーザの生体情報を確認することで実現することができる。これにより、盗難の際にユーザの認証データをデバイス１１５のメモリダンプから保護することが可能になる。第２認証ファクタを受信した後にのみ、デバイス１１５は、ユーザの認証データを解読し、このデータがブラウザ１３０を使用して作成され更に送信されたかのようにサイト１４０に送信することができる。
【００３７】
デバイス１１５は、認証を実行し、サイト１４０に関連する必要な認証データを送信することができる。認証データに加えて、デバイス１１５は、ユーザのアカウント／取引に関する支払いデータ等の他の情報も格納することができる。そのような情報は暗号化形式で格納することができ、その復元は第２認証ファクタの性能に関する情報を取得した後にのみ実行することができる。サイト１４０からの認証に成功した場合のアウトプットに応答して、デバイス１１５は、新しいセッションの識別子及び許可されたユーザの識別に必要な他の情報をプラグイン１３５に送信することができ、また、デバイス１１５は、サイト１４０への元の要求を発信しているブラウザに応答して、それらの情報をブラウザ１３０へと発信することができる。このようにして、ブラウザ１３０はすぐにユーザの新しいセッションのデータを取得することができ、それによって通常のウェブサーフィンを続けるが、今やサイトに対する許可されたユーザとしてウェブサーフィンを継続することができる。
【００３８】
別の例示的な態様においては、ユーザの情報は、サイト１４０も所有するバンクによって既に組み込まれているユーザデータを有するデバイス１１５の販売を介して、デバイス１１５に格納されてもよい。或いは、プラグイン１３５は、ユーザの情報をサイト１４０に記録し（このとき、例えばプラグイン１３５は、パスワードマネージャのような役割を果たすことができる）、これをデバイス１１５に送信することができる。
【００３９】
別の例示的な態様においては、ユーザ１５０の認証データをサイト１４０に送信することができる。デバイス１１５からの情報は、以下の方法のうちの少なくとも１つの方法によってサイト１４０に応答する形で送信することができる：
・サイト１４０のウェブページにデータを挿入する。特定のデータ（ログインやパスワード等）は、ＷｅｂページのＵＲＬアドレスに関連付けられ、特定のフィールド（通常、ログインとパスワードを挿入するためのフィールドは、タグ「入力」の属性「パスワード」等、それに基づいて実行されるような多くの属性を持っている）に挿入される場合がある。
・データは、ＧＥＴ／ＰＯＳＴ要求の形であらかじめ準備され、特定の瞬間又は特定のイベントの発生時にサーバに送信されてもよい。このことの最も単純な例として、前記ログイン及びパスワードを挿入する必要があるウェブページに対するＧＥＴ要求サイトからの応答を受信した後の形式で挿入された、ログイン及びパスワードデータを含むＰＯＳＴ要求の送信が挙げられる。
【００４０】
図３は、本発明による安全なオンライン認証の例示的な方法を示す。ステップ３０１において、ブラウザ１３０を使用してサイトにアクセスしたユーザ（ユーザが接続したこと）が決定された後、ステップ３０２において、そのサイトが保護されたサイト１４０であると決定することができる。サイト１４０のアドレスの決定に関する詳細は、プラグイン１３５の動作の説明という文脈において、図２の説明で与えられている。ステップ３０３において、デバイス１１５は、ユーザがサイト１４０にアクセスしている（すなわち、ユーザが接続している可能性がある）という事実に関して、プラグイン１３５から情報を受信してもよく、その後、デバイス１１５は、 ステップ３０４においてセットアップを行い安全なデータ送信のためのチャネルを利用することができる。一態様では、保護されたデータチャネルは、ｈｔｔｐｓ接続を含んでいてもよい。ステップ３０５において、デバイス１１５は、サイト１４０に関するすべての情報を抽出し、保護されたデータ送信チャネルを介してそれを送信することができる。ステップ３０６において、ユーザは通常の方法でブラウザ１３０で作業を続けることができる。
【００４１】
図４に示すように、ブラウザ１３０を介したユーザの通常のウェブサーフィン中（ステップ１）に、プラグイン１３５によって傍受され、デバイス１１５に送信される認証フォームがサイト１４０から到着する（ステップ２）。デバイス１１５は、プラグイン１３５を使用して、サイト１４０との追加的且つ直接的にｈｔｔｐｓ接続を確立し（ステップ４）、このサイトの証明書を受信することができる（ステップ５）。証明書の有効性をチェックするために、デバイス１１５は、ユーザのコンピュータに対して、プラグイン１３５からの証明書の完全な階層構造を要求することができる（ステップ６）。自身のルート証明書のリスト（デバイス１１５に格納されている）を使用して、サイト１４０に対応し、受信した（ステップ７）証明書の有効性をデバイス１１５上でチェックし（ステップ８）、与えられたコンピュータに対してデバイス１１５上で認証データを検索することができる （ステップ９）。次いで、第２認証ファクタ（例えば、デバイス１１５に直接インプットされた指紋又はパスワード）を得るための要求をユーザに送信し（ステップ１０）、デバイス１１５のメモリ内の認証データを解読することができる（ステップ１１）。前のステップの実行が成功した後、デバイス１１５は（ＴＣＰ接続のみを確立し、データをデバイス１１５に送信するプラグイン１３５の助けを借りて）サイト１４０とのｈｔｔｐｓ接続の確立を完了することができ（ステップ１２）、記入済み認証フォームをサイト１４０へと送信できる（ステップ１３）。サーバ（サイト１４０）にとっては、このステップは、ブラウザ１３０から記入済みフォームを取得するように見える。サーバから取得された応答（ステップ１４）は、デバイス１１５によってプラグイン１３５に中継され、これをブラウザ１３０に直接送信することで（ステップ１５）、認証機構を完全に通過した後に、ブラウザ１３０はすぐに新しいセッションを取得することができる（ステップ１６）。
【００４２】
別の例示的な態様では、デバイス１１５とサイト１４０との間でデータを送信するための安全なチャネルを確立することができる。上述したように、コンピュータ・システム１００は、アンチウィルスアプリケーション１１０によって検出されなかった悪意あるアプリケーション１２０に感染する可能性がある。デバイス１１５がコンピュータ・システム１００のリソースにアクセスすることができず、そのシステムの補足スキャンを実行しない場合、デバイス１１５は、アンチウィルスアプリケーション１１０に定期的に、又はアンチウィルスアプリケーション１１０からデータをサイト１４０に送信するというリクエストを受けた際に以下のデータを要求することもできる：
・最後のアンチウィルススキャンの時刻と状態。
・アンチウィルスデータベースの更新ステータス。
・インターネットへの接続のタイプ。
・アンチウィルスソフトウェア（ＡＶ）のすべてのサプライヤが提供する最新の既知のコンピュータ脅威に関する情報。これについては、例えばＫａｓｐｅｒｓｋｙ  Ｌａｂｏｒａｔｏｒｙ等がＫＳＮ（Ｋａｓｐｅｒｓｋｙ  Ｓｅｃｕｒｉｔｙ  Ｎｅｔｗｏｒｋ）へと加入するというコンテキストにおいてこれを提供する。
【００４３】
所与の情報を得た後、この情報の検証は、デバイス１１５とサイト１４０との間の安全なデータ送信のためのチャネルの設定の選択を決定する一連の規則に基づき、デバイス１１５上で行うことができる。
【００４４】
＜例１＞：
・最後のアンチウィルススキャンを行った時刻とその状態：１分前にウィルススキャンを行いましたが、有害なソフトウェアは見つかりませんでした。
・アンチウィルスデータベースの更新ステータス：最新バージョンのアンチウィルスデータベースがダウンロードされています。
・インターネットへの接続のタイプ：ＶＰＮ（仮想プライベートネットワーク）。
・最後に見つかったコンピュータの脅威に関する情報：脅威に関する情報は見つかりませんでした。
・決定：データは、解読された形式でプラグイン１３５を介して提供することができます。
【００４５】
＜例２＞：
・最後のアンチウィルススキャンを行った時刻とその状態：１分前にウィルススキャンを行いましたが、有害なソフトウェアは見つかりませんでした。
・アンチウィルスデータベースの更新ステータス：最新バージョンのアンチウィルスデータベースがダウンロードされています。
・インターネットへの接続の種類：オープンアクセス。
・最後に見つかったコンピュータの脅威に関する情報：Ｚｅｕｓタイプの新たな悪意あるソフトウェアが検出されました。
・決定：プラグイン１３５を介して暗号化された形式でデータを提供することができます。
【００４６】
＜例３＞：
・最後のアンチウィルススキャンを行った時刻とその状態：１週間前に有害なソフトウェアが検出されました。
・アンチウィルスデータベースの更新状況：１週間以上前に更新されたアンチウィルスデータベース。
・インターネットへの接続の種類：オープンアクセス。
・最後に見つかったコンピュータの脅威に関する情報：データが見つかりません。
・決定：暗号化された形式で別個の保護された接続を介してデータを提供する必要があります。
【００４７】
アンチウィルスアプリケーション１１０は、そのような（上記の例のような）決定をコンピュータ・システム１００に適用することができる。一態様では、ＶＰＮ接続の作成及び使用を提供することができる。更に、ブラウザ１３０及びプラグイン１３５の手順のアドレス空間に対して、悪意あるアプリケーション１２０を含む可能性のあるスキャンに対して、及びクリップボード及び手順間通信（ＩＰＣ）チャネルの保護に対して補足的保護を提供することができる 。
【００４８】
図５は、実施形態に係り本発明のシステムと方法が実行できる汎用コンピュータ・システム（パーソナル・コンピュータやサーバ等）の例を示している。図示の通り、コンピュータ・システム２０は、ＣＰＵ２１と、システムメモリ２２と、ＣＰＵ２１と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス２３とを含みうる。システムバス２３は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来から公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ（ＲＯＭ）２４及びランダムアクセスメモリ（ＲＡＭ）２５を含む。基本的な入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４の使用によってオペレーティング・システムをロードする際等、コンピュータ・システム２０の要素間の情報の伝達を担う基本的な手順を含む。
【００４９】
コンピュータ・システム２０は、データの読み書きのためのハードディスク２７、取り外し可能な磁気ディスク２９の読み書きのための磁気ディスクドライブ２８、及びＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、その他の光学メディア等の光学ディスク３１の読み書きのための光学式ドライブ３０を含む。ハードディスク２７、磁気ディスクドライブ２８、及び光学式ドライブ３０は、ハードディスクインターフェース３２、磁気ディスクインターフェース３３、及び光学式ドライブインターフェース３４それぞれを横切るシステムバス２３と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びコンピュータ・システム２０の他のデータのストレージのための電源依存のモジュールである。
【００５０】
本開示は、ハードディスク２７、取外し可能な磁気ディスク２９や光学ディスク３１を使用するシステムの実行を提供するが、他のタイプのコンピュータ情報媒体５６を使用することも可能であることを理解されたい。コントローラ５５を介してシステムバス２３に接続されたコンピュータ（ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ（ＲＡＭ）など）によって読み取り可能な形式でデータを格納する。
【００５１】
コンピュータ・システム２０は、ファイルシステム３６を有し、記録されたオペレーティング・システム３５を保持する。また追加のプログラムアプリケーション３７、他のプログラムモジュール３８、及びプログラムデータ３９を有する。ユーザは、入力機器（キーボード４０、マウス４２）を用いてコマンドと情報をコンピュータ・システム２０に入力することができる。他の入力機器（不図示）：マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力機器は、通常、システムバスに次々接続しているシリアルポート４６を通じてコンピュータ・システム２０に差し込まれるが、それらは、他の方法例えばパラレル・ポート、ゲームポート、又は一般的なシリアルバス（ＵＳＢ）に接続される。ディスプレイ機器のモニタ４７又は他のタイプは、また、ビデオアダプタ４８等のインターフェースと交差するシステムバス２３に接続している。モニタ４７に加えて、パーソナル・コンピュータは、スピーカー、プリンタ等の他の周辺の出力機器（不図示）を接続できる。
【００５２】
コンピュータ・システム２０は、１つ又は複数のリモートコンピュータ４９とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ（又はコンピュータ）４９は、図４に示すように、コンピュータ・システム２０の性質として説明した上述の要素全ての大多数を有するパーソナル・コンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータ・ネットワークで存在しうるものである。
【００５３】
ネットワーク接続は、ローカルエリアコンピュータ・ネットワーク（ＬＡＮ）５０及びワイドエリアコンピュータ・ネットワーク（ＷＡＮ）を形成することができる。そのようなネットワークは、企業のコンピュータ・ネットワーク及び社内ネットワークで利用され、それらはたいていインターネットにアクセスすることができる。ＬＡＮ又はＷＡＮネットワークにおいて、パソコン２０は、ネットワークアダプタ又はネットワークインターフェース５１に交差するローカルエリアネットワーク５０に接続されている。ネットワークが用いられる時には、パソコン２０は、通信にインターネット等のワイドエリアコンピュータ・ネットワークを実現するために、モデム５４又は他のモジュールを使用することができる。内部又は外部の機器であるモデム５４は、シリアルポート４６によりシステムバス２３と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法（ブルートゥース接続等）もあることに留意されたい。
【００５４】
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施しうる。ソフトウェアにおいて実施される場合は、方法は不揮発性コンピュータ可読メディアの１つ又は複数の指示又はコードとして保存されうる。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
【００５５】
様々な実施形態で、本発明のシステム及び方法が、モジュールとして実施されうる。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実施されたコンポーネント配置であり、例えばＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実施されうる。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という２つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる（図３において詳述したもの等）。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実施に限られるものではない。
【００５６】
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受しうる当業者にとってはエンジニアリングの日常であると理解されたい。
【００５７】
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
【００５８】
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。
【図１】
0006654985.tif 000002
【図２】
0006654985.tif 000003
【図３】
0006654985.tif 000004
【図４】
0006654985.tif 000005
【図５】
0006654985.tif 000006