説明

ファーミング・フィッシング攻撃で用いられる不正なSSL証明書・DNSリダイレクトの検出方法

【課題】ドライブバイ・ファーミング攻撃のようなコンピュータシステムのユーザが気付かないように悪意あるサイトにリダイレクトする攻撃に対する保護を提供する。
【解決手段】コンピュータシステム102が、SSL証明書が正式なものか否かを確認する本人確認情報マネージャ106を備える。コンピュータシステム102が、SSL証明書を受信したときに、それをブラウザ114に提供する前に、本人確認情報マネージャ106は、信用できるローカルキャッシュま144たはリモートな信用できるソース142に以前に格納された証明書情報と受信したSSL証明書の証明書情報とを比較して、照合が得られた場合のみSSL証明書をブラウザに提供し、照合が得られなかった場合は保護のための処置を講ずる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムに関する。本発明は特に、コンピュータセキュリティに関する。
【背景技術】
【0002】
セキュア・ソケット・レイヤ(SSL)プロトコルのような保護プロトコルは、インターネット上で(例えばユーザのアプリケーションとウェブサイト・サーバーの間で)転送されるデータを保護するために広く利用される(例えば特許文献1参照)。多くの場合、ユーザのコンピュータシステムのウェブブラウザと鍵を共有するために、ウェブサイトから返される証明書を用いて接続のセキュリティが確保される。場合によっては、ユーザが1以上の本人確認情報(例えばユーザ名やパスワード)の入力を促されて、サーバが本人か否かを認証する。或いは、ユーザのやりとりのみが、ウェブサイトから返される証明書を認証する場合もあり得る。
【0003】
ウェブブラウザは一般的に、証明書の署名者が、ウェブブラウザの証明書ストアにインストールされた証明書のような、証明書に含まれる既知の署名者(例えば認証局)と一致しているか否かを確認する。証明書の署名者が、その証明書の既知の署名者と一致している場合には、ウェブブラウザは接続を許可する。一致していない場合には、ウェブブラウザは通常はユーザに警告を発し、ユーザが接続を継続するか否かを決定できるようにする。
【0004】
従って、ウェブブラウザが警告通知を発生しない場合には、ユーザはウェブサイトが合法の本物のウェブサイトであると、即ち悪意あるウェブサイトではないと推定する。残念ながら、新たなコンピュータ攻撃方法では、ウェブブラウザによる警告通知が発生せず、ユーザにウェブサイトが悪意あるウェブサイトであることを知らせないように、セキュリティのある接続を介してユーザを悪意あるサイトにリダイレクトする。
【特許文献1】国際特許公開第WO2005/017654号
【発明の開示】
【課題を解決するための手段】
【0005】
本発明の一実施形態による方法は、ホストコンピュータシステム上で受信されたSSL証明書を中途受信する過程と、前記SSL証明書に関連する証明書情報を取得する過程とを含む。以前にロードされた証明書情報の信用できるローカルキャッシュが、現在の証明書交換で受信された前記SSL証明書に対応する情報について照会される。
【0006】
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在するか否かの判定が行われる。前記ローカルに格納された証明書情報が存在する場合には、前記ローカルに格納された証明書情報が取得され、前記証明書情報の少なくとも一部と、前記ローカルに格納された証明書情報の少なくとも一部とを比較する第1の比較が行われる。
【0007】
前記SSL証明書が、前記第1の比較に基づいて照合が得られたか否かが判定される。前記SSL証明書が照合が得られたと判定された場合に、前記SSL証明書は悪意あるリダイレクトまたは不正ローカル証明書を示してないものと推定され、前記SSL証明書がリリースされる。或いは、前記SSL証明書が前記比較に基づく照合が得られなかったと判定された場合には、前記SSL証明書は悪意あるリダイレクトまたは不正ローカル証明書を示しているものと推定され、保護処置が行われる。
【0008】
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在しないと判定された場合には、前記SSL証明書に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会される。前記リモートに格納された証明書情報が取得され、前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部とが比較される。
【0009】
次にその比較に基づいて前記SSL証明書が照合を得られたか否かが判定される。前記SSL証明書が照合が得られたと判定された場合には、前記証明書情報が、前記SSL証明書に対応するエントリとして前記信用できるローカルキャッシュに格納され、前記SSL証明書がリリースされる。或いは、前記SSL証明書が照合が得られなかったと判定された場合には、保護処置が行われる。
【0010】
別の実施形態では、前記保護処置を行う前に、前記信用できるローカルキャッシュにローカルに格納された証明書情報と比較したとき、前記証明書情報が照合が得られなかったと判定された場合には、前記証明書情報に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会される。前記リモートに格納された証明書情報が取得され、前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部と比較する第2の比較が行われる。
【0011】
前記SSL証明書が、前記第2の比較に基づいて照合が得られたか否かを判定される。前記SSL証明書が前記第2の比較に基づく照合が得られたとき、前記SSL証明書がリリースされ、前記信用できるローカルキャッシュにおけるローカルに格納された証明書情報が前記リモートに格納された証明書情報を反映するように更新される。或いは、前記SSL証明書が照合が得られなかった場合には、保護処置が行われる。
【0012】
さらに別の実施形態では、ウェブサイトからのログインフォームは、ホストコンピュータシステムのユーザに表示する前に中途受信され、前記ログインフォームは、1以上の要求されたユーザ本人確認情報の入力のための1以上のユーザ本人確認情報フィールドを含む。前記ログインフォームと前記1以上のユーザ本人確認情報フィールドを含むドキュメントオブジェクトモデル(DOM)オブジェクトを自動的に構築される。
【0013】
前記1以上のユーザ本人確認情報が、前記1以上のユーザ本人確認情報フィールドに対応する1以上の格納されたユーザ本人確認情報を有する安全なローカル本人確認情報ストアから自動的に取得される。前記1以上のユーザ本人確認情報が、前記DOMオブジェクトの前記1以上のユーザ本人確認情報フィールドに自動的に埋め込まれ、前記1以上の格納されたユーザ本人確認情報を含む前記DOMオブジェクトが前記ウェブサイトに自動的に提出される。
【0014】
本発明の実施の形態は、添付の図面とともに以下の実施例の説明を参照することが理解するための最もよい方法である。
【0015】
尚、添付の図面と実施例の説明の全体において、類似の要素を表すために共通の参照符号が用いられている。
【発明を実施するための最良の形態】
【0016】
ドライブバイ・ファーミング(Drive-By Pharming)攻撃は、家庭用ルータに侵入し、ルータのクライアントのDNAサーバアドレスを改変して、フィッシングサイトへのリダイレクトや他の悪意ある効果をあげ得るものである。例えば、スパムやフィッシング攻撃は、新しい証明書(不正な証明書)を証明書ストア(例えばウェブブラウザに維持されているもの)にロードするようにユーザを仕向け得る。一旦不正な証明書をインストールしてしまうと、攻撃者のDNS転送先サイトは、ウェブブラウザは警告通知を発生することができない程度にSSL証明書に類似した証明書を返すことができる。例えば、悪意あるサイトが提供する証明書は、悪意ある証明書の既知の証明書と同じ証明者を有するものである。
【0017】
さらに、ユーザの本人確認情報は、ユーザが要求されたユーザの本人確認情報(例えばユーザ名とパスワード)をログインページに手で入力したとき、ユーザのコンピュータシステムにインストールされたスパイウェアによって取得され得る。また、ユーザが不正ウェブサイトにリダイレクトされた場合に、その不正ウェブサイトから返された不正ログインページにユーザが自分の本人確認情報を入力してしまい、そのユーザ本人確認情報が不正ウェブサイトに転送されることもある。
【0018】
本発明の実施形態では、DNA等によってSSL認証を用いるURLへリダイレクトしたとき、侵入や不正ローカル証明書を検出するが、これは、信用できるローカルキャッシュ及び/または1以上の信用できるリモートのソース(例えば、1つのリモートソース及び/または信用できるピアネットワーク)に格納された格納済み証明書情報で、そのサイトの証明書に関連する証明書情報を確認することによって行う。
【0019】
より具体的には、一実施形態では、返されたSSL証明書に関連するURL、1以上のユーザ本人確認情報及び/または1以上の証明書属性を、格納された証明書情報と比較して、SSL証明書が悪意ある働きか否かを決定する。従って、たとえウェブブラウザが、例えばウェブブラウザの証明書ストアに格納された証明書に一致する証明書の署名者に基づいてSSL証明書を受け付けたとしても、本発明の実施形態は他の証明書特有の情報を取得・評価して、悪意ある働きが示されているか否かを決定する。
【0020】
さらに、本発明の別の実施形態は、信用できるローカルキャッシュからユーザの本人確認情報を自動的に取得し、ユーザの本人確認情報をログインフォームからウェブサイトに入力する。ユーザがログインフォームに手で入力することがなくなるので、ユーザの本人確認情報はスパイウェア(スクリーンスクレイパーやキーロガー等)に対して保護される。
【0021】
ここで図2を参照すると、一実施形態では、ウェブサイト、即ちウェブサイトサーバーから返されたSSL証明書が、ホストコンピュータシステムで中途受信され(オペレーション204)、そのSSL証明書に関連する証明書情報が取得される(オペレーション206)。信用できるローカルキャッシュには、そのSSL証明書に対応するローカルに格納された証明書情報を照会される(オペレーション208)。
【0022】
SSL証明書に対応するローカルに格納された証明書情報が信用できるローカルキャッシュに存在する否かが決定される(オペレーション210)。信用できるローカルキャッシュに、SSL証明書に対応するローカルに格納された証明書情報を有するエントリが存在しているときには(YES)、その信用できるローカルキャッシュ内のローカルに格納された証明書情報を取得し(オペレーション212)、SSL証明書の証明書情報と比較して、そのSSL証明書が照合されたか否かを決定する(オペレーション214)。より具体的には、一実施形態では、1以上のユーザ本人確認情報及び/または1以上の証明書属性とともにその証明書に関連するURLを比較する。
【0023】
SSL証明書が照合された場合(YES)には、そのSSL証明書は、ウェブブラウザに向けてリリースされる(オペレーション226)。SSL証明書が照合されなかった場合(NO)には、そのSSL証明書は悪意あるリダイレクトの結果か、不正ローカル証明書であると推定されて、保護のための手段として、例えばユーザや他のアプリケーションに向けて警告を生成するか、トランザクションを中止する(オペレーション216)。
【0024】
SSL証明書に対応する格納された証明書情報を有するエントリが、信用できるローカルキャッシュに存在しない場合(NO,オペレーション210)には、1以上のリモートの信用できるソースにSSL証明書に対応するリモートに格納された証明書情報が照会される(オペレーション218)。SSL証明書に対応するリモートに格納された証明書情報が、リモートな信用できるソースに存在するか否かが決定される(オペレーション220)。リモートな信用できるソースに、SSL証明書に対応する格納された証明書情報を有するエントリが存在しているときには(YES)、そのリモートな信用できるソース内の格納された証明書情報を取得し(オペレーション222)、SSL証明書の証明書情報と比較して、そのSSL証明書が照合されたか否かを決定する(オペレーション224)。
【0025】
SSL証明書が照合された場合(YES)には、そのリモートに格納された証明書情報は信用できるローカルキャッシュに格納され(オペレーション226)、SSL証明書はリリースされる(オペレーション228)。SSL証明書が照合されなかった場合(NO)には、攻撃に対する保護のための保護処置が行われる(オペレーション216)。
【0026】
リモートな信用できるソースに、SSL証明書に対応する格納された証明書情報を有するエントリが存在していないときには(”NO”、オペレーション220)、SSL証明書がリリースされて(オペレーション228)例えばその証明書のブラウザ評価が可能となる。
【0027】
場合によっては、信用できるローカルキャッシュに存在するローカルに格納された証明書情報が期限切れとなり、その信用できるキャッシュ内のローカルに格納された証明書情報と比較したとき現在有効なSSL証明書の照合が得られないことがある。従って、別の実施形態では、信用できるローカルキャッシュが期限切れとなり照合が得られないときに、有効なSSL証明書がリモートに照合され得るようにする。
【0028】
図3全体を参照されたい。SSL証明書に対応する信用できるキャッシュにローカルに格納された証明書情報が、信用できるローカルキャッシュに存在する(YES、オペレーション210)が、SSL証明書の証明書情報が照合されない(NO,オペレーション214)場合、1以上のリモートの信用できるソース(1つのリモートの信用できるソース及び/またはリモートの信用できるピアグループなど)から得られたリモートに格納された証明書情報について追加の照合プロセスを実施する。リモートの信用できるソースには、そのSSL証明書に対応するリモートに格納された証明書情報が照会される(オペレーション218)。
【0029】
信用できるローカルキャッシュに格納されたSSL証明書に対応する証明書情報を有するエントリが存在しない場合(NO,オペレーション210)には、1以上のリモートな信用できるソースに、そのSSL証明書に対応するリモートに格納された証明書情報が照会される(オペレーション218)。そして、リモートに格納されたそのSSL証明書に対応する証明書情報がリモートな信用できるソースに存在するか否かが決定される(オペレーション220)。リモートに格納されたそのSSL証明書に対応する証明書情報を有するエントリがリモートの信用できるソースに存在する(YES)場合には、リモートな信用できるソースにおけるリモートに格納された証明書情報が得られ(オペレーション220)、SSL証明書の証明書情報と比較されて、そのSSL証明書が照合されたか否かが決定される(オペレーション224)。
【0030】
そのリモートに格納された証明書情報との比較に基づいてそのSSL証明書が照合された場合には(YES)、信用できるローカルキャッシュにローカルに格納された証明書情報を更新して、リモートに格納された証明書情報が反映され(オペレーション226)、かつそのSSL証明書がリリースされる(オペレーション228)。或いは、そのSSL証明書が照合されない場合(NO)、保護処置が行われる(オペレーション216)。
【0031】
リモートな信用できるソースにそのSSL証明書が対応する格納された証明書情報を有するエントリが存在しない場合(NO、オペレーション220)には、SSL証明書が信用できるローカルキャッシュによる照合が得られないので、保護処置が行われる(オペレーション216)。
【0032】
別の実施形態では、スパイウェア等によってユーザの本人確認情報を危険にさらすことから保護する安全なサイトにユーザが自動的にログインする。図5の全体を参照されたい。ある実施形態では、ログインページがユーザに表示される前に自動的に中途受信される(オペレーション504)。データオブジェクトモデル(DOM)オブジェクトは、ログインページを備え、1以上のユーザ本人確認情報の提出のためのユーザ本人確認情報フィールドを有するように構成される。
【0033】
ログインフォームのユーザ本人確認情報フィールドに対応するユーザの本人確認情報は、信用できるローカルキャッシュから取得され(オペレーション508)、DOMオブジェクトのユーザ本人確認情報フィールドに自動的に埋め込まれる(オペレーション510)。次にユーザ本人確認情報を埋め込まれたDOMオブジェクトが、自動的にウェブサイトに提出される(オペレーション512)。選択に応じて、このプロセスから出たり(オペレーション514)、このプロセスをプロセス200とともに利用したり(オペレーション516)、或いはこのプロセスをプロセス300とともに利用したり(オペレーション518)、このプロセスをプロセス300とともに利用したり(オペレーション518)することができる。
【0034】
ここで図1を参照されたい。図1は、本発明の一実施形態による、ホストコンピュータシステム102(例えば第1のコンピュータシステム)上で動作する本人確認情報マネージャアプリケーション106を備えるコンピュータシステム100の図である。ホストコンピュータシステム102は、ユーザデバイスと呼ばれることもあり、一般的には、中央処理装置(CPU)108(以下、プロセッサ108と称する)、入出力(I/O)インタフェース110、及びオペレーティングシステム104を備えるメモリ112を備える。
【0035】
ホストコンピュータシステム102は、キーボード116、マウス118、プリンタ120、ディスプレイデバイス122のほか、コンパクトディスク(CD)ドライブやDVDドライブ、フレキシブルディスクドライブ、またはホストコンピュータシステム102からデータの入出力を行うための他のデジタルやアナログのポートを更に備え得る。一実施形態では、本人確認情報マネージャアプリケーション106が、それを記憶させたCD、DVD、またはフレキシブルディスク等からI/Oデバイス124を通してホストコンピュータシステム102にロードされる。
【0036】
本実施形態では、ホストコンピュータ102はネットワーク126を介して1以上のコンピュータシステム(例えばサーバコンピュータシステム130、コンピュータシステム128)及び1以上のリモートの信用できるソース(例えばリモートの信用できるソースコンピュータシステム142やリモートの信用できるピアコンピュータシステム146A−146N)に接続される。ネットワーク126は、ユーザの興味のある任意のネットワークまたはネットワークシステムであり得る。サーバコンピュータシステム130(例えば第2のコンピュータシステム)は、一般的には、ディスプレイデバイス132、プロセッサ134、メモリ136、及びネットワークインタフェース138を備える。
【0037】
実施形態のなかには、ホストコンピュータシステム102が、ネットワーク126に接続されたルータ140を介してネットワーク126に接続される。ルータ140は、家庭用ブロードバンドルータのような従来型のルータの何れかであり、本実施形態には特定のルータは必要ではない。
【0038】
一実施形態では、コンピュータシステム128は、SSL証明書等のサイト証明書を利用する安全なコンピュータシステムであり得る。いくつかの実施形態では、コンピュータシステム128は、ルータ140のDNSが損なわれることによりホストコンピュータシステム102がリダイレクトされる悪意あるウェブサイトである可能性もある。実施形態によっては、コンピュータシステム128は、不正な証明書、例えば証明書ストア(図示せず)に悪意をもってインストールされた不正な証明書に対応する不正なSSL証明書を利用する。
【0039】
ここで、一実施形態では、悪意あるコードとは、ユーザの認知及び/またはユーザの同意なしにコンピュータシステム環境に入り込んできた任意のコンピュータプログラム、モジュール、モジュールのセット、またはコードとして定義される。さらに本明細書では、悪意ある動作は、悪意あるコードの実行によって生ずる動作をさす。加えて本明細書では、悪意あるサイトとは、悪意あるコードや悪意ある動作のインストール、実行、及び/または利用を伴うあらゆるサイトをさす。
【0040】
一実施形態では、リモートな信用できるソースコンピュータシステム142は、個々のSSL証明書に対応するリモートに格納された証明書情報を含む。従って、リモートな信用できるソースコンピュータシステム142は、それぞれ或るSSL証明書に関連する格納された証明書情報を有する1以上のエントリを有する、信用できるリモートなソースキャッシュ(図示せず)、またはそれへのアクセスを有する。
【0041】
一実施形態では、格納された証明書情報は、1以上のユーザ本人確認情報及び/または1以上の証明書属性とともにURLを含む。一実施形態では、本人確認情報マネージャアプリケーション106が、リモートな信用できるソースコンピュータシステム142を利用して、リモートに格納された本人確認情報を提供する。
【0042】
一実施形態では、リモートな信用できるソースコンピュータシステム142が、特定のルートによって署名された本人確認情報を利用して、DNSリダイレクトや不正ローカル証明書のような攻撃が自分自身に対してなされるのを防止している。従って、一実施形態では、ホストコンピュータシステム102とリモートな信用できるソースコンピュータシステム142との間のコネクションがセキュリティを確保されたコネクションとなる。
【0043】
一実施形態では、リモートな信用できるピアコンピュータシステム146A−146Nが、個々のSSL証明書に対応するリモートに格納された証明書情報を含む。従って、リモートな信用できるピアコンピュータシステム146A−146Nのそれぞれは、SSL証明書に関連する格納された証明書情報をそれぞれが有する1以上のエントリを有する、信用できるピアリモートソースキャッシュ(図示せず)またはそれへのアクセスを有する。一実施形態では、格納された証明書情報は、1以上のユーザ本人確認情報及び/または1以上の証明書属性とともにURLを含む。
【0044】
一実施形態では、本人確認情報マネージャアプリケーション106が1以上のリモートな信用できるピアコンピュータシステム146A−146Nを利用して、リモートに格納された証明書情報を提供する。一実施形態では、リモートな信用できるピアコンピュータシステム146A−146Nは、リモートな信用できるピアツーピア(P2P)ネットワークの一部として、ホストコンピュータシステム102に接続される。
【0045】
1以上のリモートな信用できるピアコンピュータシステム146A−146Nが、ホストコンピュータシステム102の地理的に近くにある場合は、本人確認情報の詳細と場所の地理的な違いは最小限にすべきである。地理的に同一の位置にあるピアは、一般的には特定のSSL証明書に対する同一の本人確認情報を受け取るからである。従って、リモートな信用できるピアコンピュータシステム146A−146N及び/または信用できるローカルキャッシュ144の中の証明書情報どうしの比較を利用して、例えば、証明書情報が、リモートな信用できるソースコンピュータシステム142及び/またはリモートな信用できるピアコンピュータシステム146A−146Nによって返されたリモートに格納された証明書情報と異なっているとき、ファーミング攻撃によるDNSリダイレクトとともに証明書情報における適正な地域のばらつきを検出することができる。
【0046】
一実施形態では、リモートな信用できるソースコンピュータシステム142、コンピュータシステム128、及びリモートな信用できるピアコンピュータシステム146A−146Nは、ホストコンピュータシステム102及び/またはサーバコンピュータシステム130に類似したものであり、例えば、中央処理装置(CPU)、入出力(I/O)インタフェース、及びメモリを備えており、またキーボード、マウス、プリンタ、ディスプレイデバイス、及びI/Oデバイス等の標準的なデバイスもさらに備え得る。上記のコンピュータシステムのハードウェア要素のなかには、本発明の原理の説明からそれることを避けるために図示されていないものもある。
【0047】
一実施形態では、メモリ112は、本人確認情報マネージャアプリケーション106及びウェブブラウザアプリケーション114を備える。ウェブブラウザアプリケーション114は、通常はログインページを含むウェブページをレンダリングし、セキュリティを確保したプロトコルを用いた接続では、ウェブブラウザ114は、SSL証明書のようなサイト証明書を受け取る。
【0048】
ウェブブラウザ114は、一般的には例えばSSL証明書のような特定の証明書に対する既知の署名者を特定する、格納された証明書を備える証明書ストアを有するか、それに対するアクセスを有する。格納された証明書が特定する既知の署名者との比較に基づき、SSL証明書が既知の署名者を含んでいないと決定された場合には、ウェブブラウザ114は典型的にはユーザへの警告通知を提供する。
【0049】
ウェブブラウザ114は、従来型のウェブブラウザアプリケーションの何れかであり、特定のウェブブラウザアプリケーションは、本実施形態では必要ではない。従来型のウェブブラウザは当業者に公知であり、本発明の原理の説明からそれることを避けるためにここではこれ以上説明しない。
【0050】
本実施形態では、本人確認情報マネージャアプリケーション106は、ファーミング/フィッシングスキームでのSSLウェブサイトに対するDNSリダイレクトや不正ローカル証明書を検出する。一実施形態では、本人確認情報マネージャアプリケーション106はSSL証明書を中途受信し、そのSSL証明書に関連する証明書情報を取得する。一実施形態では、証明書情報は、ウェブサイトのURLとともに、1以上の証明書属性(例えば件名、発行者、最後の既知の正しい署名者)及び/または1以上のユーザ本人確認情報(例えばユーザ名やユーザパスワード)を含む。
【0051】
詳細に説明すると、その証明書情報は、DNSリダイレクトや不正ローカル証明書のような悪意ある動作の表示のために、本人確認情報マネージャ106によって維持されているローカルな信用できるキャッシュから、かつ/またはリモートな信用できるソースから取得された対応する格納された証明書情報と比較される。本人確認情報マネージャアプリケーション106は、1以上の証明書情報のエントリを格納する信用できるローカルキャッシュ144を維持しており、各エントリは特定のSSL証明書に関連する証明書情報を有する。
【0052】
信用できるローカルキャッシュ144が本人確認情報マネージャ106の一部である実施形態もあるが、信用できるローカルキャッシュ144を本人確認情報マネージャ106とは別体であるがアクセス可能なものであり得るものとする実施形態もある。信用できるローカルキャッシュ144の一実施形態について、図4を参照してさらに説明する。
【0053】
いくつかの実施形態では、本人確認情報マネージャ106が、安全なウェブサイトにユーザを自動的にログインさせることもする。一実施形態では、本人確認情報マネージャ106が、サイトから受け取ったログインページリクエストをユーザに表示する前に中途受信し、ユーザ本人確認情報フィールドを有するログインページを含むDOMオブジェクトを構築する。本人確認情報マネージャ106は、信用できるローカルキャッシュ144からのログインページにリクエストされたユーザ本人確認情報を取得し、そのリクエストされたユーザ本人確認情報を自動的に欄に書き込んで、ユーザ本人確認情報を有するログインページを含む完成したDOMオブジェクトを自動的にウェブサイトに提出する。実施形態によっては、その提出は別のウインドウで行われる。
【0054】
種々の実施形態では、ネットワークインタフェース138及びI/Oインタフェース110が、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを備える。ホストコンピュータシステム102、コンピュータシステム128、リモートな信用できるソースコンピュータシステム142、リモートな信用できるピアコンピュータシステム146A−146N、及びサーバコンピュータシステム130について、本発明の本実施形態では特定のタイプや構成は必要としない。
【0055】
ここでは、本発明によるいくつかの実施形態について、SSL証明書を利用してセキュリティを確保した接続に関連して説明する。しかし、当業者は、本発明が異なる証明書を利用した他の安全な接続にも適用し得ることを理解されよう。
【0056】
図2は、本発明の一実施例による不正リダイレクト及び/または不正ローカル証明書を検出するための方法200の流れ図を示す。ここで図1及び図2をまとめて参照すると、一実施形態では、プロセッサ108が本人確認情報マネージャアプリケーション106を実行することにより、以下に説明するようにプロセス200のオペレーションが行われる。プロセス200は、開始オペレーション202において開始されるが、開始オペレーションは、一実施形態では、例えばユーザのログインに応じて、ウェブサイトからのSSL証明書をホストコンピュータ102に返し、処理をSSL証明書中途受信オペレーション204に進める。
【0057】
SSL証明書オペレーション204では、ウェブサイトから返されたSSL証明書が、本人確認情報マネージャアプリケーション106によって中途受信される。例えば、一実施形態では、ホストコンピュータシステム102のユーザが、コンピュータシステム128にアクセスする。コンピュータシステム128はSSL証明書、例えばSSL証明書146をホストコンピュータシステム102に返し、それを本人確認情報マネージャアプリケーション106が中途受信する。
【0058】
一実施形態では、返されたSSL証明書146は、SSL証明書146がウェブブラウザ114に渡される前に本人確認情報マネージャアプリケーション106によって中途受信される。SSL証明書は、例えばプロクシやフック技術のような、当業者には既知のさまざまな中途受信機構の何れかを用いて中途受信され得る。SSL証明書中途受信オペレーション204から、処理は証明書情取得オペレーション206に移行する。
【0059】
証明書情報取得オペレーション206では、SSL証明書に関連する証明書情報が取得される。例えば、一実施形態では、証明書情報として、以下に限定されないが、1以上のURL、1以上のユーザ本人確認情報、及び/または1以上の証明書属性が挙げられる。他の実施形態では、そのSSL証明書に関するより多い、またはより少ない、または異なる証明書情報が取得され得る。
【0060】
一実施形態では、URLは、SSL証明書を提供するウェブサイトのURLである。ユーザの本人確認情報の例としては、以下に限定されないが、ユーザ名やユーザパスワード等が挙げられる。証明書属性の例としては、以下に限定されないが、SSL証明書の件名、SSL証明書の発行者、及びSSL証明書の最終優良署名者等が挙げられる。証明書情報取得オペレーション206から、処理は信用できるローカルキャッシュ照会オペレーション208へと移行する。
【0061】
信用できるローカルキャッシュ照会オペレーション208では、本人確認情報マネージャアプリケーション106によって維持されている信用できるローカルキャッシュ144のような信用できるローカルキャッシュが、オペレーション204で中途受信されたSSL証明書(例えばSSL証明書146)に対応する格納された証明書情報について照会される。具体的には、一実施形態では、信用できるローカルキャッシュ144が、SSL証明書146のURLに一致するURLを有するエントリについて照会される。他の実施形態では、他の特定情報を用いて、返されたSSL証明書1146に対応する証明書情報が信用できるローカルキャッシュ144に存在するか否かを決定し得る。信用できるローカルキャッシュ照会オペレーション208から、処理は信用できるローカルキャッシュエントリチェックオペレーション210に移行する。
【0062】
信用できるローカルキャッシュエントリチェックオペレーション210では、返されたSSL証明書146に対応するエントリが、信用できるローカルキャッシュ144に存在するか否かの決定がなされる。例えば、一実施形態では、SSL証明書146のURLに一致するURLを有するエントリが信用できるローカルキャッシュ144に存在するか否かの決定がなされる。
【0063】
一実施形態では、SSL証明書146に対応するエントリが信用できるローカルキャッシュ144に存在しない場合(NO)には、ウェブサイトへの以前の訪問がもしあれば、そのとき取得したSSL146証明書に対応する情報が、ローカルキャッシュ144に格納されていなかったことになる。この場合には、一実施形態では、処理は信用できるローカルキャッシュエントリチェックオペレーション210からリモートな信用できるソース照会オペレーション218へと進む。
【0064】
リモートな信用できるソース照会オペレーション218では、1以上の信用できるソースが、SSL証明書(例えばSSL証明書146)に関連する格納された証明書情報について照会される。一実施形態では、1つのリモートな信用できるソース(例えばリモートな信用できるコンピュータシステム142)が照会される。
【0065】
一実施形態では、ホストコンピュータシステム102上の本人確認情報マネージャアプリケーション106からリモートな信用できるソースコンピュータシステム142への接続が、既知の特定のルートによって署名された証明書を利用する。従って、攻撃により、リモートな信用できるソース142から悪意あるリダイレクトが生じた場合でも、返されたSSL証明書は、その既知の特定のルートのものではなくなり、警告が生成され得ることになる。
【0066】
別形態として、或いは追加の形で、リモートな信用できるソースは、ピアツーピア(P2P)ネットワークにおける1以上のリモートな信用できるピア(例えば1以上のリモートな信用できるピアコンピュータシステム146A−146N(図1参照))であり得る。リモートな信用できるピアがホストコンピュータシステム102に地理的に近いところに存在する場合には、証明書の詳細と場所の正式な地理的違いは、照合に影響を与えるべきでない。
【0067】
リモートな信用できるソースのなかの証明書と場所の詳細の間の比較を用いて、ファーミング攻撃にさらされた応答の場合(例えば、返されたSSL証明書がリモートな信用できるソースから返された証明書と異なる場合)と同様に、ローカルでの違いも検出することができる。リモートな信用できるソース照会オペレーション218から、処理はリモートに格納されたエントリチェックオペレーション220に移行する。
【0068】
リモートに格納されたエントリチェックオペレーション220では、返されたSSL証明書146に対応するエントリが、1以上のリモートな信用できるソース(例えばリモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nのキャッシュ)に存在するか否かについての判定がなされる。例えば、一実施形態では、SSL証明書146のURLに一致するURLを有するエントリが、リモートな信用できるソースコンピュータシステム142及び/またはリモートな信用できるピアコンピュータシステム146A−146Nに存在するか否かについての判定がなされる。
【0069】
一実施形態では、SSL証明書146に対応するエントリが、リモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nに存在しない場合(NO)には、処理はリモートに格納されたエントリチェックオペレーション220から、後述するように、例えば証明書のブラウザ評価を可能にするSSL証明書リリースオペレーション228に移行する。或いは、一実施形態では、SSL証明書146に対応するエントリが、リモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nに存在する場合(YES)には、処理は、リモートに格納されたエントリチェックオペレーション220から、リモートに格納された証明書情報取得オペレーション222に移行する。
【0070】
リモートに格納された証明書情報取得オペレーション222では、SSL証明書に対応する格納された証明書情報が、1以上のリモートな信用できるソースから取得される。ここで、一実施形態では、リモートな信用できるソース(例えばリモートな信用できるソースコンピュータ142やリモートな信用できるピアコンピュータシステム146A−146N)から取得された、格納された証明書情報を、リモートに格納された証明書情報と称する。
【0071】
例えば、一実施形態では、リモートに格納された証明書情報としては、以下に限定されないが、URL,1以上のユーザ本人確認情報、及び/または1以上の証明書属性等が挙げられる。他の実施形態では、そのSSL証明書に対応する、より多くの、またはより少ない、または異なるリモートに格納された証明書情報が取得され得る。
【0072】
一実施形態では、URLはウェブサイトのURLである。ユーザ本人確認情報の例としては、以下に限定されないが、ユーザ名やパスワードが挙げられる。証明書属性の例としては、以下に限定されないが、SSL証明書の件名、SSL証明書の発行者、SSL証明書の最後の既知の正しい署名者等が挙げられる。リモートに格納された証明書情報取得オペレーション222から、処理は、照合チェックオペレーション224に移行する。
【0073】
照合チェックオペレーション224では、SSL証明書146に関連する証明書情報が、オペレーション222でリモートな信用できるソースから取得されたリモートに格納された証明書情報と一致しているか否か、そうでなければその証明書情報によって照合可能か否かについての判定がなされる。例えば、一実施形態では、ユーザ本人確認情報(例えばユーザ名やパスワード)及び証明書属性(例えば、件名、発行者、及び最後の既知の正しい書名者)が、それぞれリモートな信用できるソースから取得された対応する情報と比較される。
【0074】
一実施形態では、SSL証明書146に関連する証明書情報が、リモートな信用できるソースから取得されたリモートに格納された証明書情報と一致しているか、そうでなければその証明書情報によって照合可能である場合には、SSL証明書146は照合済みとなり、悪意あるリダイレクトの結果ではなく、及び/または不正なローカル証明書でもないものと推定される。或いは、一実施形態では、SSL証明書146に関連する証明書情報が、リモートな信用できるソースから取得されたリモートに格納された証明書情報と一致していないか、そうでなければその証明書情報によって照合可能でない場合には、SSL証明書146は非照合となり、悪意あるリダイレクトの結果、及び/または不正なローカル証明書であると推定される。SSL証明書146が非照合となった場合(NO)には、処理は、照合チェックオペレーション224から後に詳述する保護処置オペレーション216に移行する。
【0075】
照合チェックオペレーション224に戻ると、別の場合として、SSL証明書146が照合された場合(YES)には、処理は、照合チェックオペレーション224から信用できるローカルキャッシュへの証明書情報格納オペレーション226に移行する。
【0076】
信用できるローカルキャッシュへの証明書情報格納オペレーション226では、SSL証明書に関連するエントリが生成され、信用できるローカルキャッシュ144に格納される。例えば、一実施形態では、SSL証明書に関連するURL、ユーザ本人確認情報、証明書属性が、信用できるローカルキャッシュ144にエントリとして格納される。処理は、信用できるローカルキャッシュへの証明書情報格納オペレーション226から、SSL証明書リリースオペレーション228に移行する。
【0077】
SSL証明書リリースオペレーション228では、オペレーション204で中途受信されたSSL証明書がリリースされ、処理が完了できるようにされる。例えば、一実施形態では、SSL証明書146がウェブブラウザ114に受信される前に中途受信された場合には、そのSSL証明書146がウェブブラウザ114に進めるようにされる。処理は、SSL証明書リリースオペレーション228から、終了オペレーション230に移行し、プロセス200から出るか、次の返されたSSL証明書を受け取ったときオペレーション204に戻される。
【0078】
ここで信用できるローカルキャッシュエントリチェックオペレーション210に戻ると、別の場合には、一実施形態では、返されたSSL証明書に対応するエントリが信用できるローカルキャッシュ144に存在する場合(YES)には、処理は、信用できるローカルキャッシュエントリチェックオペレーション210からローカルに格納された証明書情報取得オペレーション212に移行する。
【0079】
ローカルに格納された証明書情報取得オペレーション212では、SSL証明書に対応する信用できるローカルキャッシュにローカルに格納された証明書情報が信用できるローカルキャッシュ144から取得される。ここで、一実施形態では、信用できるローカルキャッシュ144から取得された格納された証明書情報を、ローカルに格納された証明書情報と称する。
【0080】
例えば、一実施形態では、信用できるローカルキャッシュにローカルに格納された証明書情報としては、以下に限定されないが、URL,1以上のユーザ本人確認情報、及び/または1以上の証明書属性等が挙げられる。他の実施形態では、そのSSL証明書に関連する、より多くの、またはより少ない、または異なる信用できるローカルキャッシュにローカルに格納された証明書情報が取得され得る。
【0081】
一実施形態では、URLはウェブサイトのURLである。ユーザ本人確認情報の例としては、以下に限定されないが、ユーザ名やパスワードが挙げられる。証明書属性の例としては、以下に限定されないが、SSL証明書の件名、SSL証明書の発行者、SSL証明書の最後の既知の正しい署名者等が挙げられる。ローカルに格納された証明書情報取得オペレーション212から、処理は、照合チェックオペレーション214に移行する。
【0082】
照合オペレーション214では、返されたSSL証明書に関連する証明書情報が、信用できるローカルキャッシュ144から取得されたローカルに格納された証明書情報と一致しているか否か、そうでなければその証明書情報によって照合可能か否かについての判定がなされる。例えば、一実施形態では、ユーザ本人確認情報(例えばユーザ名やパスワード)及び証明書属性(例えば、件名、発行者、及び最後の既知の正しい書名者)が、それぞれ信用できるローカルキャッシュのローカルに格納された証明書情報における対応する情報と比較される。一実施形態では、返されたSSL証明書146に関連する証明書情報が、信用できるローカルキャッシュ144から取得されたローカルに格納された証明書情報と一致しているか、そうでなければその証明書情報によって照合可能である場合には、返されたSSL証明書146は照合済みとなり、悪意あるリダイレクトの結果ではなく、及び/または不正なローカル証明書でもないものと推定される。
【0083】
或いは、一実施形態では、返されたSSL証明書146に関連する証明書情報が、信用できるローカルキャッシュ144から取得されたローカルに格納された証明書情報と一致していないか、そうでなければその証明書情報によって照合可能でない場合には、SSL証明書146は非照合となり、悪意あるリダイレクトの結果、及び/または不正なローカル証明書であると推定される。一実施形態では、SSL証明書146が照合された場合(YES)には、処理は、照合チェックオペレーション214から前述したSSL証明書リリースオペレーション228に移行する。
【0084】
照合チェックオペレーション214に戻ると、別の場合として、一実施形態では、SSL証明書146が非照合となった場合(NO)には、処理は、照合チェックオペレーション214から保護処置オペレーション216に移行する。
【0085】
保護処置オペレーション216では、1以上の保護処置がとられる。例えば、一実施形態では、警告通知が生成されてユーザ及び/または他のアプリケーションへ供給され、例えば返されたSSL証明書が不正ローカル証明書であるか、別のウェブサイトへの悪意あるリダイレクトの可能性があることを提示する。処理は、保護処置オペレーション216から終了オペレーション230に移行し、プロセス200から出るか、選択に応じて次の返されたSSL証明書を中途受信したときオペレーション204に戻される。
【0086】
上述の実施形態では、返されたSSL証明書が、信用できるローカルキャッシュ144から取得されたローカルに格納された証明書情報と比較したときに照合が得られない場合には、そのSSL証明書は、不正ローカル証明書や悪意あるリダイレクトのような悪意ある動きを示すものと推定され、保護処置がとられる。場合によっては、信用できるローカルキャッシュにローカルに格納された証明書情報との照合が得られない理由が、信用できるローカルキャッシュ144にまだ格納されていないSSL証明書への更新のような、正式なSSL証明書の変化である可能性もある。
【0087】
従って、別の実施形態では、図3及びプロセス300を参照して以下に説明するように、返されたSSL証明書が、信用できるローカルキャッシュ144における対応するエントリと比較して照合が得られない場合には、1以上のリモートな信用されたソースを照会し、その返されたSSL証明書に対応するリモートに格納された証明書情報を取得し、追加の照合が行われる。これによって、正式であるが信用されたローカルキャッシュと比較したときまだ照合が得られていない返されたSSL証明書が、照合が得られるようにしてリリースし処理を終了できるようにするか、選択に応じて、その信用できるローカルキャッシュエントリを新たな証明書情報を反映するように更新され得るようにする。
【0088】
図3は、本発明の別の一実施例による不正リダイレクト及び/または不正ローカル証明書を検出するための方法300の流れ図を示す。ここで図1乃至図3をまとめて参照すると、一実施形態では、プロセッサ108が本人確認情報マネージャアプリケーション106を実行することにより、以下に説明するようにプロセス300のオペレーションが行われる。プロセス300は、開始オペレーション302において開始されるが、開始オペレーションは、図2及びプロセス200について前述したように、処理をSSL証明書中途受信オペレーション204に進める。
【0089】
本実施形態では、オペレーション204、206、208、210、212、及び214は、図2及びプロセス200を参照して前述したように行われる。前述したこれらの説明は、プロセス300についての説明の一部とする。さらに、信用できるローカルキャッシュエントリチェックオペレーション210において、対応するエントリが信用できるローカルキャッシュ144にみつからない場合、オペレーション218、220、222、224、226、228、及び216が図2及びプロセス200を参照して前述したように行われる。前述したこれらの説明は、プロセス300についての説明の一部とする。
【0090】
別形態では、照合チェックオペレーション214において、オペレーション206で得られた証明書情報が、信用できるローカルキャッシュ144から取得されたローカルに格納された証明書情報と比較して照合が得られない場合(NO)には、処理は照合チェックオペレーション214からリモートな信用できるソース照会オペレーション218へと移行し、1以上のリモートな信用できるソース(例えばリモートな信用できるソースコンピュータ142やリモートな信用できるピアコンピュータシステム146A−146N)から取得されたリモートに格納された証明書情報を用いて第2の照合プロセスが行われる。
【0091】
リモートな信用できるソース照会オペレーション218では、1以上のリモートな信用できるソースを照会して、SSL証明書(例えば前述したSSL証明書146)に対応するリモートに格納された証明書情報を取得する。リモートな信用できるソース照会オペレーション218から、処理はリモートに格納されたエントリチェックオペレーション220に移行する。
【0092】
リモートに格納されたエントリチェックオペレーション220では、返されたSSL証明書146に対応するエントリが、1以上のリモートな信用できるソース(例えばリモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nのキャッシュ)に存在するか否かについての判定がなされる。例えば、一実施形態では、SSL証明書146のURLに一致するURLを有するエントリが、リモートな信用できるソースコンピュータシステム142及び/またはリモートな信用できるピアコンピュータシステム146A−146Nに存在するか否かについての判定がなされる。
【0093】
一実施形態では、SSL証明書146に対応するエントリが、リモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nに存在しない場合(NO)には、そのエントリは信用できるローカルキャッシュ144と比較したとき照会可能でないので、一実施形態では、SSL証明書は悪意ある動作を示すものと推定され、処理はリモートに格納されたエントリチェックオペレーション220から、前述の保護処置オペレーション216に移行する。或いは、一実施形態では、SSL証明書146に対応するエントリが、リモートな信用できるソースコンピュータシステム142及び/または1以上のリモートな信用できるピアコンピュータシステム146A−146Nに存在する場合(YES)には、処理は、リモートに格納されたエントリチェックオペレーション220から、リモートに格納された証明書情報取得オペレーション222に移行する。
【0094】
リモートに格納された証明書情報取得オペレーション222では、SSL証明書に対応するリモートに格納された証明書情報が、1以上のリモートな信用できるソース(例えば前述のリモートな信用できるソースコンピュータ142やリモートな信用できるピアコンピュータシステム146A−146N)から取得される。リモートに格納された証明書情報取得オペレーション222から、処理は、照合チェックオペレーション224に移行する。
【0095】
照合チェックオペレーション224では、返されたSSL証明書146に関連する証明書情報が、前述のようにオペレーション222でリモートな信用できるソースから取得されたリモートに格納された証明書情報と一致しているか否か、そうでなければその証明書情報によって照合可能か否かについての判定がなされる。
【0096】
一実施形態では、返されたSSL証明書146に関連する証明書情報が、リモートな信用できるソースから取得されたリモートに格納された証明書情報と一致しているか、そうでなければその証明書情報によって照合可能である場合には、SSL証明書146は照合が得られ、悪意あるリダイレクト及び/または不正なローカル証明書の結果でないものと推定される。別の場合、一実施形態では、返されたSSL証明書146に関連する証明書情報が、リモートな信用できるソースから取得されたリモートに格納された証明書情報と一致していないか、そうでなければその証明書情報によって照合可能でない場合には、SSL証明書146は照合が得られず、悪意あるリダイレクト及び/または不正なローカル証明書の結果と推定される。SSL証明書146が非照合となった場合(NO)には、処理は、照合チェックオペレーション224から前述した保護処置オペレーション216に移行する。
【0097】
照合チェックオペレーション224に戻ると、別の場合として、SSL証明書(例えばSSL証明書146)が照合された場合(YES)には、処理は、照合チェックオペレーション224から信用できるローカルキャッシュへの証明書情報格納オペレーション226に移行する。
【0098】
信用できるローカルキャッシュへの証明書情報格納オペレーション226では、SSL証明書に関連するエントリが生成され、信用できるローカルキャッシュ144に格納される。一実施形態では、リモートに格納された証明書情報を含む新たなエントリが生成され、信用できるローカルキャッシュ144に格納され、既存のエントリ、例えば期限切れのエントリは削除される。別の実施形態では、新たなエントリを生成するのでなく、SSL証明書に関連する信用できるローカルキャッシュにローカルに格納された既存のエントリが、オペレーション220で取得されたリモートに格納された証明書情報を反映するように更新される。処理は、信用できるローカルキャッシュへの証明書情報格納オペレーション226から、SSL証明書リリースオペレーション228に移行する。
【0099】
SSL証明書リリースオペレーション228では、前述のようにSSL証明書(例えばSSL証明書146)がリリースされ、処理が完了できるようにされる。例えば、一実施形態では、処理は、終了オペレーション304でプロセス300から出るか、次のSSL証明書を受け取ったとき図3のオペレーション204に戻される。
【0100】
図4は、本発明の一実施形態による本人確認情報マネージャアプリケーション106で生成され、維持される信用できるローカルキャッシュの一例144Aを示す。図4に示すように、一実施形態では、信用できるローカルキャッシュ144Aは、それぞれ個々のSSL証明書に対応する独立したエントリ群を有する。例えば、一実施形態では、信用できるローカルキャッシュ144Aのエントリ408には、URL402(例えばhttps://www.fakebank.com/account/checking)、1以上のユーザ本人確認情報404(例えばユーザ名やパスワード)、及び1以上の証明書属性406(件名、発行者、最後の既知の正しい署名者)等が記載される。別の形態では、信用できるローカルキャッシュ144Aは、より多い、またはより少ない、及び/または異なる本人確認情報を含み得る。
【0101】
以上、プロセス200及びプロセス300が、SSL証明書146がウェブブラウザ114に受信される前に実施される場合について説明してきたが、他の形態として、プロセス200及びプロセス300が、ウェブブラウザ114によってSSl証明書146が処理されるのを同時並行で行われる形態もあり得る。これらの形態では、例えば、SSL証明書146は証明書情報が取得された後にウェブブラウザ114にリリースされ、本発明により保護処置が必要となる場合には、ウェブブラウザは停止され得る。更に別の形態では、プロセス200及びプロセス300がて、ウェブブラウザ114によるSSL証明書146のチェックをバイバスし得る。
【0102】
さらに、上記においては、信用できるローカルキャッシュ144は、受信した証明書の照合プロセスとともに更新されるが、実施形態によっては、信用できるローカルキャッシュ144は、1以上のリモートな信用できるソース(例えばリモートな信用できるソースコンピュータシステム142及び/またはリモートな信用できるピアコンピュータシステム146A)で、例えば周期的に更新可能なものとされる。
【0103】
図5は、本発明の別の実施形態による、信用できるローカルキャッシュ144に格納されたユーザ本人確認情報を用いてウェブサイトに自動的にログインするプロセス500の流れ図を示す。ここで図1乃至図5をまとめて参照すると、一実施形態では、プロセッサ108が本人確認情報マネージャアプリケーション106を実行することにより、以下に説明するようにプロセス500のオペレーションが行われる。プロセス500は、開始オペレーション502において開始され、処理は開始オペレーションからユーザログインページ中途受信オペレーション504に進められる。
【0104】
ログインページ中途受信オペレーション504では、ウェブサイトから受け取ったユーザログインページが、ホストコンピュータシステム102のユーザに対して表示される前に自動的に中途受信される。ユーザログインページの中途受信は、例えばプロキシやフック技術のような当業者に公知の種々の中途受信機構の何れかを用いて行うことができる。処理は、中途受信オペレーション504からDOMオブジェクト構築オペレーション506に進む。
【0105】
DOMオブジェクト構築オペレーション506では、ドキュメントオブジェクトモデル(DOM)オブジェクトが、ログインページを含める形で自動的に構築される。一実施形態では、DOMオブジェクトは、ログインに必要なユーザの本人確認情報の入力のためのユーザ本人確認情報フィールド(例えば、ユーザ名フィールドやパスワードフィールド)を有するログインページを含む。次に処理は、DOMオブジェクト構築オペレーション506から、ユーザ本人確認情報取得オペレーション508に移行する。
【0106】
ユーザ本人確認情報取得オペレーション508では、ウェブサイトへのログインに関連するユーザの本人確認情報が、信用できるローカルキャッシュ144から自動的に取得される。例えば、一実施形態では、本人確認情報マネージャアプリケーション106が、信用できるローカルキャッシュ144に格納された、例えば一致URLによって特定されたウェブサイトに対応するエントリを見つける。ウェブサイトへのログインに必要なユーザの本人確認情報は、信用できるローカルキャッシュ144におおけるエントリのローカルに格納された証明書情報から取得される。次に処理は、ユーザ本人確認情報取得オペレーション508から、DOMオブジェクトへのユーザ本人確認情報埋め込みオペレーション510に進む。
【0107】
DOMオブジェクトへのユーザ本人確認情報埋め込みオペレーション510では、オペレーション508で取得されたユーザ本人確認情報が、オペレーション506で構築されたDOMオブジェクトの適当なフィールドに自動的に埋め込まれる。次に処理は、DOMオブジェクトへのユーザ本人確認情報埋め込みオペレーション510から、ログインフォーム提出オペレーション512に移行する。
【0108】
ログインフォーム提出オペレーション512では、ログインに必要なユーザ本人確認情報を含む完成したログインフォームを有するDOMオブジェクトが、自動的にウェブサイトに提出される。一実施形態では、ユーザ本人確認情報を含むログインフォームを有するDOMオブジェクトが、新たに生成されたウインドウとしてウェブサイトに自動的に提出される。
【0109】
一実施形態では、本人確認情報マネージャ106によって維持される登録サイトのリスト(図示せず)から、ユーザが1回クリックすることによって提出が行われる。処理は、ログインフォーム提出オペレーション512から、選択に応じて、終了オペレーション514に移行してプロセス500から出るか、選択に応じて、オペレーション516においてプロセス200(図2)のオペレーション204に移行するか、或いは選択に応じて、オペレーション518でプロセス300(図3)のオペレーション204に移行する。
【0110】
再度図1を参照されたい。本人確認情報マネージャアプリケーション106は、コンピュータメモリ112に存在する。本明細書において、コンピュータメモリは、揮発性メモリ、不揮発性メモリ、または両方の組み合わせを指す。本人確認情報マネージャアプリケーション106は、アプリケーションとされているが、これは例示に過ぎない。本人確認情報マネージャアプリケーション106は、アプリケーションやオペレーションシステムから呼び出されるものであるべきである。一実施形態では、アプリケーションは、一般的には任意の実行可能なコードとして定義される。更に、アプリケーションやオペレーションがある動作を行うというとき、その動作はプロセッサが1以上の命令を実行した結果であるということは当業者であれば理解されよう。
【0111】
ホスト構成のための本発明による実施形態について説明してきたが、本発明の実施形態は、パーソナルコンピュータ、ワークステーション、ポータブル機器、またはコンピュータ機器のネットワーク等を含む任意のハードウェア構成及び/または適切な手段を用いて実施し得る。他の実施形態として、ホスト構成でない他のネットワーク構成、例えばクライアント−サーバ、ピアツーピア、ウェブベース、イントラネット、インターネットネットワーク構成が用いられる。
【0112】
ここで、コンピュータプログラム製品は、本発明の実施形態によるコンピュータが読み出し可能なコードを格納または移植するべく構成された媒体を含む。コンピュータプログラム製品の例としては、CD−ROMディスク、DVD、ROMカード、フレキシブルディスク、磁気テープ、コンピュータハードドライブ、ネットワーク上のサーバ、ネットワークを介して転送されるコンピュータが読み出し可能なコードを表す信号等が挙げられる。別の実施形態では、コンピュータプログラム製品は、コンピュータが読み出し可能なコードを格納するように構成された有形の媒体、即ちCD−ROMディスク、DVD、ROMカード、レキシブルディスク、磁気テープ、コンピュータハードドライブ、ネットワーク上のサーバ等を含む。
【0113】
図1に示すように、この媒体は、コンピュータシステム自体に属するものであり得る。しかし、媒体は、コンピュータシステムから取り外し可能でもよい。例えば、本人確認情報マネージャアプリケーション106は、プロセッサ108とは異なる物理的な場所に配置されたメモリに格納され得る。プロセッサ108はそのメモリ136に接続されるべきである。この形態は、クライアント−サーバシステムにおいて実現されるが、別形態としてモデムとアナログライン、またはデジタルインタフェースとデジタルキャリアラインを介した別のコンピュータとの接続を介して実現され得る。
【0114】
より具体的には、一実施形態では、ホストコンピュータシステム102及び/またはサーバコンピュータシステム130は、ポータブルコンピュータ、ワークステーション、双方向ページャ、携帯電話、デジタル無線電話、携帯情報端末、サーバコンピュータ、インターネット機器、または上記の実施形態の少なくとも1つによる機能を実行し得る構成要素を備える他の任意の装置である。同様に、別の実施形態では、ホストコンピュータシステム102及び/またはサーバコンピュータシステム130は、複数の異なるコンピュータ、無線装置、携帯電話、デジタル電話、双方向ページャ、または携帯情報端末、サーバコンピュータ、または上記の方法を実行するために相互接続されたこれらの装置の任意の組み合わせである。
【0115】
本明細書を参照すれば、本発明のいくつかの実施形態による本人確認情報マネージャアプリケーション106の機能を、種々のコンピュータシステム構成においてインプリメントすることができる。加えて、本人確認情報マネージャアプリケーション106の機能を、異なる装置のメモリに異なるモジュールとして格納し得る。例えば、本人確認情報マネージャアプリケーション106を、初めにサーバコンピュータシステム130に格納し、次に、必要に応じて、その一部をホストコンピュータシステム102に転送し、ホストコンピュータシステム102上に実行させることができる。この結果、本人確認情報マネージャアプリケーション106の機能の一部が、サーバコンピュータシステム130のプロセッサ134上で実行され、他の一部が、ホストコンピュータシステム102のプロセッサ108上で実行されることになる。
【0116】
本明細書を参照すれば、当業者は、オペレーティングシステム及びユーザが関心のあるコンピュータプログラム言語を用いて種々の物理的ハードウェア構成において本発明の種々の実施形態をインプリメントすることができる。更に別の実施形態では、本人確認情報マネージャアプリケーション106がサーバコンピュータシステム130のメモリ136に格納される。本人確認情報マネージャアプリケーション106は、ネットワーク126を介してホストコンピュータシステム102のメモリ112に転送される。この実施形態では、ネットワークインタフェース138及びI/Oインタフェース110が、アナログモデム、デジタルモデム、またはネットワークインタフェースカードを含む。モデムが用いられる場合、ネットワーク126は通信ネットワークを含み、本人確認情報マネージャアプリケーション106はその通信ネットワークを介してダウンロードされる。
【0117】
上記の開示内容は、本発明の実施例を示すものである。本発明の範囲は、上記の実施例に限定されるものではない。明細書の明記または示唆されているか否かに関わらず、当業者は、本明細書の開示内容から本発明の実施形態に種々の改変を加えて実施し得るであろう。
【図面の簡単な説明】
【0118】
【図1】本発明の一実施例による、ホストコンピュータシステム上で動作する本人確認情報マネージャアプリケーションを備えるコンピュータシステムの図。
【図2】本発明の一実施例による、不正リダイレクト及び/又は不正ローカル認証を検出するための方法の流れ図。
【図3】本発明の別の実施例による、不正リダイレクト及び/又は不正ローカルSSL認証を検出するための方法の流れ図。
【図4】本発明の一実施例による、図1の本人確認情報マネージャアプリケーションによって生成・維持される信頼できるローカルキャッシュの一例を示す図。
【図5】本発明の別の実施例による、図1の信頼できるローカルキャッシュに格納されたユーザ本人確認情報を用いた、ウェブサイトに自動的にログインする方法の流れ図。
【符号の説明】
【0119】
100 コンピュータシステム
102 ホストコンピュータシステム
104 オペレーティングシステム
106 本人確認情報マネージャアプリケーション
108 プロセッサ
110 I/Oインタフェース
112 メモリ
114 ウェブブラウザ
116 キーボード
118 マウス
120 プリンタ
122 ディスプレイデバイス
124 I/Oデバイス
126 ネットワーク
128 コンピュータシステム
130 サーバコンピュータシステム
132 ディスプレイデバイス
134 プロセッサ
136 メモリ
138 ネットワークインタフェース
140 ルータ
142 リモートな信用できるソースコンピュータシステム
144 信用できるローカルキャッシュ
146 SSL証明書
146A−146N リモートな信用できるピアコンピュータシステム

【特許請求の範囲】
【請求項1】
コンピュータでインプリメントされる方法であって、
ホストコンピュータシステム上で受信されたSSL証明書を中途受信する過程と、
前記SSL証明書に関連する証明書情報を取得する過程と、
前記SSL証明書に対応するローカルに格納された証明書情報について、信用できるローカルキャッシュに照会する過程と、
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在するか否かを判定する過程と、
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在すると判定された場合に、前記ローカルに格納された証明書情報を取得する過程と、
前記証明書情報の少なくとも一部と、前記ローカルに格納された証明書情報の少なくとも一部とを比較する第1の比較を行う過程と、
前記SSL証明書が、前記第1の比較に基づいて照合が得られたか否かを判定する過程と、
前記SSL証明書が、前記第1の比較に基づく照合が得られたと判定された場合に、前記SSL証明書をリリースする過程と、
前記SSL証明書が、前記第1の比較に基づく照合が得られなかったと判定された場合に、保護処置を行う過程とを含むことを特徴とする方法。
【請求項2】
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在しないと判定された場合に、前記SSL証明書に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会する過程と、
前記リモートに格納された証明書情報を取得する過程と、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部とを比較する過程と、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部との比較に基づいて、前記SSL証明書が照合を得られたか否かを判定する過程と、
前記SSL証明書が照合が得られたと判定された場合に、前記証明書情報を前記SSL証明書に対応するエントリとして前記信用できるローカルキャッシュに格納する過程と、
前記SSL証明書をリリースする過程と、
前記SSL証明書が照合が得られなかったと判定された場合に、保護処置を行う過程とをさらに含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記保護処置を行う前に、前記証明書情報に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会する過程と、
前記リモートに格納された証明書情報を取得する過程と、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部と比較する第2の比較を行う過程と、
前記SSL証明書が、前記第2の比較に基づいて照合が得られたか否かを判定する過程と、
前記SSL証明書が、前記第2の比較に基づく照合が得られたと判定された場合に、前記SSL証明書をリリースする過程と、
前記SSL証明書が、前記第2の比較に基づく照合が得られなかったと判定された場合に、保護処置を行う過程とを含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記SSL証明書が、前記第2の比較に基づく照合が得られたと判定された場合に、前記信用できるローカルキャッシュにおける前記ローカルに格納された証明書情報を前記リモートに格納された証明書情報を含むように更新する過程をさらに含むことを特徴とする請求項3に記載の方法。
【請求項5】
ウェブサイトからのログインフォームを、ホストコンピュータシステムのユーザに表示する前に、中途受信する過程であって、前記ログインフォームは、1以上の要求されたユーザ本人確認情報の入力のための1以上のユーザ本人確認情報フィールドを含む、該過程と、
前記ログインフォームと前記1以上のユーザ本人確認情報フィールドを含むドキュメントオブジェクトモデル(DOM)オブジェクトを自動的に構築する過程と、
信用できるローカルキャッシュから、前記1以上のユーザ本人確認情報フィールドに対応する1以上の格納されたユーザ本人確認情報を自動的に取得する過程と、
前記DOMオブジェクトの前記1以上のユーザ本人確認情報フィールドに前記1以上のユーザ本人確認情報を自動的に埋め込む過程と、
前記1以上の格納されたユーザ本人確認情報を含む前記DOMオブジェクトを前記ウェブサイトに自動的に提出する過程とを更に含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記証明書情報は、
ウェブサイトに関連するURLと、
1以上のユーザ本人確認情報と、
1以上の証明書属性とを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記信用できるローカルキャッシュは1以上のエントリを含み、
前記エントリのそれぞれは、関連するSSL証明書に対応するローカルに格納された証明書情報を含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記ローカルに格納された証明書情報は、
ウェブサイトに関連するURLと、
1以上のユーザ本人確認情報と、
1以上の証明書属性とを含むことを特徴とする請求項1に記載の方法。
【請求項9】
前記リモートに格納された証明書情報が、
ウェブサイトに関連するURLと、
1以上のユーザ本人確認情報と、
1以上の証明書属性とを含むことを特徴とする請求項2に記載の方法。
【請求項10】
前記ユーザ本人確認情報が、ユーザ名及びパスワードからなる群から選択されたものであることを特徴とする請求項8に記載の方法。
【請求項11】
前記1以上の証明書属性は、件名、発行者、最後の既知の正しい署名者からなる群から選択されたものであることを特徴とする請求項8に記載の方法。
【請求項12】
前記SSL証明書は、前記ホストコンピュータシステムのウェブブラウザによって受信される前に中途受信されることを特徴とする請求項1に記載の方法。
【請求項13】
前記1以上のリモートな信用できるソースは、既知の特定のルートによって署名された証明書を利用することを特徴とする請求項2に記載の方法。
【請求項14】
前記1以上のリモートな信用できるソースは、1以上のリモートな信用できるピアコンピュータシステムであることを特徴とする請求項2に記載の方法。
【請求項15】
コンピュータプログラムコードを含む有形のコンピュータに読み出し可能な媒体を備えるコンピュータプログラム製品であって、
コンピュータプログラムコードが、本人確認情報マネージャアプリケーションを含み、
前記本人確認情報マネージャアプリケーションは、
ホストコンピュータシステム上で受信されたSSL証明書を中途受信し、
前記SSL証明書に関連する証明書情報を取得し、
前記SSL証明書に対応するローカルに格納された証明書情報について、信用できるローカルキャッシュに照会し、
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在するか否かを判定し、
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在すると判定された場合に、前記ローカルに格納された証明書情報を取得し、
前記証明書情報の少なくとも一部と、前記ローカルに格納された証明書情報の少なくとも一部とを比較する第1の比較を行い、
前記SSL証明書が、前記第1の比較に基づいて照合が得られたか否かを判定し、
前記SSL証明書が、前記第1の比較に基づく照合が得られたと判定された場合に、前記SSL証明書をリリースし、
前記SSL証明書が、前記第1の比較に基づく照合が得られなかったと判定された場合に、保護処置を行うことを特徴とするコンピュータプログラム製品。
【請求項16】
前記本人確認情報マネージャアプリケーションは、
前記ローカルに格納された証明書情報が、前記信用できるローカルキャッシュに存在しないと判定された場合に、前記SSL証明書に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会し、
前記リモートに格納された証明書情報を取得し、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部とを比較し、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部との比較に基づいて、前記SSL証明書が照合を得られたか否かを判定し、
前記SSL証明書が照合が得られたと判定された場合に、前記証明書情報を前記SSL証明書に対応するエントリとして前記信用できるローカルキャッシュに格納し、
前記SSL証明書をリリースし、
前記SSL証明書が照合が得られなかったと判定された場合に、保護処置を行うことを特徴とする請求項15に記載のコンピュータプログラム製品。
【請求項17】
前記本人確認情報マネージャアプリケーションは、
前記保護処置を行う前に、前記証明書情報に対応するリモートに格納された証明書情報について、1以上のリモートな信用できるソースに照会し、
前記リモートに格納された証明書情報を取得し、
前記証明書情報の少なくとも一部と、前記リモートに格納された証明書情報の少なくとも一部と比較する第2の比較を行い、
前記SSL証明書が、前記第2の比較に基づいて照合が得られたか否かを判定し、
前記SSL証明書が、前記第2の比較に基づく照合が得られたと判定された場合に、前記SSL証明書をリリースし、
前記SSL証明書が、前記第2の比較に基づく照合が得られなかったと判定された場合に、保護処置を行うことを特徴とする請求項15に記載のコンピュータプログラム製品。
【請求項18】
前記本人確認情報マネージャアプリケーションは、
前記SSL証明書が、前記第2の比較に基づく照合が得られたと判定された場合に、前記信用できるローカルキャッシュにおける前記ローカルに格納された証明書情報を前記リモートに格納された証明書情報を含むように更新することを特徴とする請求項17に記載のコンピュータプログラム製品。
【請求項19】
前記本人確認情報マネージャアプリケーションは、
ウェブサイトからの1以上の要求されたユーザ本人確認情報の入力のための1以上のユーザ本人確認情報フィールドを含むログインフォームを、ホストコンピュータシステムのユーザに表示する前に、中途受信し、
前記ログインフォームと前記1以上のユーザ本人確認情報フィールドを含むドキュメントオブジェクトモデル(DOM)オブジェクトを自動的に構築し、
信用できるローカルキャッシュから、前記1以上のユーザ本人確認情報フィールドに対応する1以上の格納されたユーザ本人確認情報を自動的に取得し、
前記DOMオブジェクトの前記1以上のユーザ本人確認情報フィールドに前記1以上のユーザ本人確認情報を自動的に埋め込み、
前記1以上の格納されたユーザ本人確認情報を含む前記DOMオブジェクトを前記ウェブサイトに自動的に提出することを特徴とする請求項15に記載のコンピュータプログラム製品。
【請求項20】
前記SSL証明書は、前記ホストコンピュータシステムのウェブブラウザに受信される前に中途受信されることを特徴とする請求項15に記載のコンピュータプログラム製品。
【請求項21】
コンピュータでインプリメントされる方法であって、
ウェブサイトからのログインフォームを、ホストコンピュータシステムのユーザに表示する前に、中途受信する過程であって、前記ログインフォームは、1以上の要求されたユーザ本人確認情報の入力のための1以上のユーザ本人確認情報フィールドを含む、該過程と、
前記ログインフォームと前記1以上のユーザ本人確認情報フィールドを含むドキュメントオブジェクトモデル(DOM)オブジェクトを自動的に構築する過程と、
信用できるローカルキャッシュから、前記1以上のユーザ本人確認情報フィールドに対応する1以上の格納されたユーザ本人確認情報を自動的に取得する過程と、
前記DOMオブジェクトの前記1以上のユーザ本人確認情報フィールドに前記1以上のユーザ本人確認情報を自動的に埋め込む過程と、
前記1以上の格納されたユーザ本人確認情報を含む前記DOMオブジェクトを前記ウェブサイトに自動的に提出する過程とを更に含むことを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2009−38797(P2009−38797A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2008−182144(P2008−182144)
【出願日】平成20年7月14日(2008.7.14)
【出願人】(501113353)シマンテック コーポレイション (78)
【氏名又は名称原語表記】Symantec Corporation
【住所又は居所原語表記】20330 Stevens Creek Boulevard, Cupertino, California 95014, USA
【Fターム(参考)】