(57)【特許請求の範囲】
【請求項１】
利用者コンピュータに実装されたキーボード入力監視モジュールと、利用者コンピュータが利用するオンラインサービスサイトのＵＲＬと当該サイトの利用者ＩＤとパスワードとセッション識別情報を含むアカウントデータベースを備える代行サーバから成るアカウント情報漏洩防止サービスシステムであって、
前記代行サーバが、
前記利用者コンピュータが前記オンラインサービスサイトの利用者認証ページにアクセスし、利用者認証を受ける際に、前記アカウントデータベースから当該オンラインサービスサイトのユーザ認証を受けるための利用者ＩＤとパスワードとから成るアカウント情報とセッション識別情報を取得し、そのアカウント情報とセッション識別情報を前記オンラインサービスサイトに送信する手段を備え、
前記利用者コンピュータのキーボード入力監視モジュールが、
当該利用者コンピュータの入力操作を監視し、前記オンラインサービスサイトのユーザ認証を受けるためのアカウント情報を入力しないように警告する手段とを備える
ことを特徴とするアカウント情報漏洩防止サービスシステム。
【請求項２】
前記アカウントデータベースが偽のオンラインサービスサイトを発見した場合の連絡先情報を予め記憶しており、前記代行サーバが利用者ＩＤとパスワードを前記アカウントデータベースに含まれていないＵＲＬのオンラインサービスサイトに送ろうとした場合には、そのサイトは偽サイトであると判断し、利用者ＩＤとパスワードの送信を中断した後、前記連絡先情報で示される連絡先に当該偽のオンラインサービスサイトのＵＲＬを連絡する手段をさらに備えることを特徴とする請求項１に記載のアカウント情報漏洩防止サービスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブラウザを使ってオンラインサービスを利用する場合の利用者ＩＤ及びパスワード等から構成されるアカウント情報がキーロガーのようなパスワードを盗むマルウェアやクロスサイトスクリプティングによって盗まれてしまうことを防止するアカウント情報漏洩防止サービスシステムに関するものである。
【背景技術】
【０００２】
各種コンピュータシステムを利用する際の利用者認証として、利用者ＩＤとパスワードを用いた認証がある。このユーザ認証に際しては、パスワードの類推を防ぐため、長いパスワードを用いる、システムごとにパスワードを変えるなどが薦められている。
しかし、この種のパスワードを用いているとパスワードを忘れてしまうことが多いので、下記の特許文献１にあるような生体認証と組み合わせたパスワード自動入力代行システムが提案されている。このパスワード自動入力代行システムを利用すれば、パスワードを覚えておかなくても、各種システムにログインして利用することができる。
【０００３】
【特許文献１】特開２０００−２９３４９０
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載された技術の場合、利用者ＩＤやパスワードを盗まれる危険性がある。
パーソナルコンピュータなどのコンピュータ利用者の情報を盗むプログラムとして、キーボード入力を監視し、オンラインバンキングの利用者ＩＤやパスワードを盗むマルウェアの存在が指摘される。この種のマルウェアは利用者コンピュータのディスプレイに表示されるウィンドウを監視し、ターゲットとなる銀行の認証画面のウィンドウが表示されたことを検知し、そのウィンドウに入力されるキーボード入力操作を盗み見て、マルウェア作成者に利用者ＩＤやパスワード通知し、マルウェア作成者は盗み見た利用者ＩＤやパスワードを悪用して不正な振込みなどを行い、正当なコンピュータ利用者に被害を与える。
また、利用者ＩＤやパスワードを盗まれるのは利用者コンピュータ上だけではなく、偽のオンラインサービスサイトにおびき寄せ、そのサイトに利用者ＩＤやパスワードを送信させることで利用者ＩＤやパスワードを盗み取るといった「フィッシング」もある。
さらに、クロスサイトスクリプティングの脆弱性のあるサイトを閲覧、ないしはコンピュータがウィルスに感染してセッション識別情報を盗まれるといったケースもある。
【０００５】
本発明の目的は、上記の問題点に鑑みなされたものであり、オンラインサービスにおいて利用者ＩＤとパスワード等から構成される利用者のアカウント情報が利用者コンピュータから盗まれたり、偽サイトに送られたりすることを防ぐことができるアカウント管理サービスシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るアカウント情報漏洩防止サービスシステムは、利用者コンピュータに実装されたキーボード入力監視モジュールと、利用者コンピュータが利用するオンラインサービスサイトのＵＲＬと当該サイトの利用者ＩＤとパスワードとセッション識別情報を含むアカウントデータベースを備える代行サーバから成るアカウント情報漏洩防止サービスシステムであって、
前記代行サーバが、
前記利用者コンピュータが前記オンラインサービスサイトの利用者認証ページにアクセスし、利用者認証を受ける際に、前記アカウントデータベースから当該オンラインサービスサイトのユーザ認証を受けるための利用者ＩＤとパスワードとから成るアカウント情報とセッション識別情報を取得し、そのアカウント情報とセッション識別情報を前記オンラインサービスサイトに送信する手段を備え、
前記利用者コンピュータのキーボード入力監視モジュールが、
当該利用者コンピュータの入力操作を監視し、前記オンラインサービスサイトのユーザ認証を受けるためのアカウント情報を入力しないように警告する手段とを備えることを特徴とする。
また、前記アカウントデータベースが偽のオンラインサービスサイトを発見した場合の連絡先情報を予め記憶しており、前記代行サーバが利用者ＩＤとパスワードを前記アカウントデータベースに含まれていないＵＲＬのオンラインサービスサイトに送ろうとした場合には、そのサイトは偽サイトであると判断し、利用者ＩＤとパスワードの送信を中断した後、前記連絡先情報で示される連絡先に当該偽のオンラインサービスサイトのＵＲＬを連絡する手段をさらに備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、マルウェアが侵入し易い利用者コンピュータではオンラインサービスの利用者ＩＤやパスワードを入力することやセッション識別情報を保管することがなく、これらの情報が盗み見られることがない。
さらに利用者が誤ってサービスの利用者ＩＤやパスワードを入力しようとしても監視モジュールがこのことを警告するので利用者ＩＤ等から成るアカウント情報の漏洩が未然に防止される。
また、偽サイトにおびき寄せられて利用者ＩＤやパスワードを送ろうとしても、代行サーバがこれを検知し、偽サイトへのアクセスを禁止するため、利用者ＩＤ等から成るアカウント情報が盗まれるのを防ぐことができる。
さらに、利用者コンピュータがウィルスに感染しても、利用者コンピュータがダミーのセッション識別情報しか保持していないため、安全である。
【発明を実施するための最良の形態】
【０００８】
以下、本発明に係るアカウント情報漏洩防止サービスシステムの実施の形態について説明する。
（第１の実施形態）
図１は、本発明に係るアカウント情報漏洩防止サービスシステムの第１の実施の形態を示すシステム構成図である。
図１において、１１０は利用者が利用するパーソナルコンピュータ（以下、ＰＣ）である。
１１１は、ＰＣ１１０上で稼動するＷｅｂブラウザであり、利用者はブラウザ１１１を利用してインターネット１３０を介してオンラインサービスサーバ１４０にアクセスする。
１１２は、ＰＣ１１０内で稼動する入力監視モジュールであり、利用者のキーボード入力を監視し、望ましくない入力があった場合には、利用者に警告を発する。望ましくない入力文字列は代行サーバ１５０から得る。
１１３は、ＰＣ１１０上の生体情報取得送付モジュールであり、代行サーバ１５０からの指示に基づき、生体情報読取装置１２０を使って利用者の生体情報（指静脈、虹彩などの情報）を取得し、代行サーバ１５０に送信する。
【０００９】
１２０は、ＰＣ１１０に接続した生体情報読取装置であり、生体情報取得送付モジュール１１３の指示により、利用者の生体情報を直接取得し、同モジュール１１３に送る。生体情報としては、指紋、虹彩、静脈などが代表的であるが、これには限らない。なお、生体情報やその取得方法自体は、本発明の範囲外なので詳細には触れない。
１３０は、利用者ＰＣ１１０、代行サーバ１５０、オンラインサービスサーバ１４０を接続するインターネットである。
１４０は、利用者に各種のオンラインサービスを提供するオンラインサービスサーバであり、例えば銀行振込、残高照会、株式取引などのサービスを想定している。本サービスサーバ１４０は利用者ＩＤとパスワード、生体情報を使って利用者を認証する。
１５０は、代行サーバであり、利用者ＰＣ１１０とオンラインサービスサーバ１４０はHTTPを利用して通信していると仮定しており、本代行サーバ１４０はHTTP PROXYに相当する。ブラウザ１１１では代行サーバ１５０をHTTP PROXYとして設定している。
１５１は、代行サーバ１５０が保持するアカウントデータベースであり、図２に例示するように構成され、オンラインサービスサーバ１４０の利用者ＩＤとパスワードとセッション識別情報（クッキー情報）を格納している。
１５２は、代行サーバ１５０が保持する生体情報データベースであり、図３に例示するように構成され、代行サーバ１５０が利用者認証を行う場合の利用者ＩＤとパスワードと生体情報を格納している。
【００１０】
図２は、アカウントデータベース１５１の構成を例示するものであり、各レコードは図示のように、２０１から２０６までのデータ項目から構成されている。
図２において、２０１は利用者を識別するＩＤであるＵＩＤの属性である。本データベース１５１では、同じＵＩＤを持つ複数のエントリがある。これは、アクセス先のオンラインサービスやそのサービスの利用者認証に必要な情報ごとにレコードがあるからである。
２０２は、アクセス先のオンラインサービスサイトのＵＲＬである。
２０３、２０４は、オンラインサービスサイトの利用者認証に利用するFORM中のINPUTタグの名前、値である。
２０５は、ダミーのセッション識別情報（ダミーCOOKIE）であり、ブラウザ１１１と代行サーバ１５０間でやり取りされるCOOKIEである。
２０６は、オンラインサービスサーバ１４０から送られてきた本物のセッション識別情報であり、代行サーバ１５０とオンラインサービスサーバ１４０とでやり取りされるCOOKIEである。
【００１１】
１番目と２番目のレコードは、ＵＩＤが“３２４５”の利用者が、「http://a-bank.jp/login/1.cgi」に示すＷｅｂページにアクセスしてオンラインサービスの利用者認証を行う場合、INPUTタグの名前が“ID”のINPUTタグには“３４５３８９０３”という値、名前がPASSのINPUTタグには“Ｄｋ＃ｄｉ３２４ｃＯ”という値を使って利用者認証を行うことを示している。ダミーCOOKIEとCOOKIEは“null”になっている。
３番目のレコードは、上記とは逆にINPUTタグの値は持たず、ＵＲＬに示したサイトとのやり取りに利用するCOOKIEが登録されている。ＵＲＬはCOOKIEが送付可能なＵＲＬを示しており、COOKIEのDOMAIN属性とPATH属性から決まる。
【００１２】
図３は、代行サーバ１５０が保持する生体情報データベース１５２の構成を例示するものであり、各レコードは３０１から３０４までの項目から成る。
３０１と３０２は、代行サーバ１５０の利用者認証に用いるＨＴＴＰの利用者ＩＤとパスワードである。
３０３は、本エントリの代行サーバ利用者の生体情報である。
３０４は、アカウントデータベース１５１で利用者を識別するための利用者ＩＤであり、２０１のＵＩＤに相当する。
【００１３】
以下、図４のフローチャートに従って、利用者がオンラインサービスを受ける場合の利用者認証について説明する。
まず、ステップ４１０において、利用者ＰＣ１１０のブラウザ１１１にてオンラインサービスサーバ１４０のＵＲＬを指定し、サービスの認証ページにアクセスする。ここでは、そのＵＲＬがhttp://www.a-bank.jp/login/であると仮定する。ここではＵＲＬ指定としたが、ブックマークから本ページにアクセスしても、当該銀行のホームページからこの認証ページにアクセスしても同じである。前提により、ブラウザ１１１の設定で代行サーバ１５０がHTTP PROXYに指定されており、ブラウザ１１１は代行サーバ１５０にＨＴＴＰ要求を送信する。
ステップ４２０において、代行サーバ１５０での利用者認証をHTTP PROXY認証を用いて行う。このとき、代行サーバ１５０は、生体情報データベース１５２のｕｓｅｒ属性３０１とｐａｓｓ属性３０２に一致するレコードがあることで認証に成功したとみなす。失敗すれば、処理を中止、オンラインサービスサーバ１４０へのアクセスを禁止、エラーメッセージをブラウザ１１１に送り返し、処理を中止する。
【００１４】
ステップ４３０において、利用者認証に成功した代行サーバ１５０は、オンラインサービスサーバ１４０にアクセスし、認証ページであるhttp://www.a-bank.jp/login/にアクセスしてページのデータにあたるHTTP返答をブラウザ１１１に送信する。さらに、認証に成功したＵＩＤ３０４を２０１に持ち、かつHTTP返答に含まれるFORMのACTIONに一致するＵＲＬを２０２に持つレコードをアカウントデータベース１５１から探し、認証ページに含まれるINPUTタグの値の最初の数文字を入力監視モジュール１１２に送る。該当するレコードは１つとは限らず、利用者ＩＤとパスワードに相当する２つである場合が多い。
この文字列は該モジュール１１２の入力監視対象の文字列である。文字列長は任意であるが、２〜３文字程度が望ましいと考えられる。１文字では、たまたま一致する確率が高まり、必要以上に警告することになるからである。監視対象文字列が利用者ＰＣ１１０で盗まれる可能性もあるので、あまり長い文字列を送ると、利用者ＩＤやパスワードの大部分を盗まれることになる。
【００１５】
上記ステップが終了すると、ブラウザ１１１上に認証ページが表示されている。一般には、利用者は利用者ＩＤとパスワードを入力しようとする。しかしながら、本システム利用者は本物の利用者ＩＤやパスワードの入力は不要であり、でたらめな利用者ＩＤとパスワードを入力し、ＯＫボタンを押してページ送信すればよい。
続くステップ４４０において、利用者はブラウザ１１１を操作してでたらめな利用者ＩＤとパスワードを入力し、送信する。利用者ＩＤとパスワードはＨＴＴＰ要求に含まれるパラメータとして送信される。また、この利用者ＩＤとパスワードを入力するのを、入力監視モジュール１１２が監視しており、監視対象の文字列が入力された場合には、警告メッセージを表示し、入力を妨げる。
【００１６】
ステップ４５０において、代行サーバ１５０は、でたらめな利用者ＩＤとパスワードを含んだＨＴＴＰ要求を受取る。この際にステップ４１０と同様にHTTP PROXYで利用者認証を行う。さらに生体情報による利用者認証を行うため、生体情報所得送付モジュール１１３に指示を出し、生体情報読取装置１２０から利用者の生体情報を取得し、生体情報データベース１５２の属性３０３にある生体情報と照合する。
【００１７】
ステップ４６０においては、ステップ４５０の生体情報との照合結果、ＨＴＴＰ要求の送付先がＵＲＬにマッチしたレコードにＨＴＴＰ要求に含まれるINPUTタグに当たるパラメータの有無、ダミーCOOKIEの有無によって処理が異なる。
第１の照合に失敗した場合には、エラーページをブラウザ１１１に送信し、処理を終える。
第２のINPUTタグに当たるパラメータがＨＴＴＰ要求に含まれていた場合には、４３０と同様に対応するレコードをアカウントデータベースから取り出し、対応するINPUTタグの値にパラメータを置換え、オンラインサービスサーバ１４０に送る。この第２の場合は、ステップ４１０にあるように認証ページで利用者ＩＤとパスワードを入力した場合のＨＴＴＰ要求に当たる。
第３のダミーCOOKIEがＨＴＴＰ要求に含まれていた場合には、これをCOOKIEに置換えて、オンラインサービスサーバ１４０に送る。この第３の場合は、利用者認証後の例えば振込依頼ページでの依頼する場合のＨＴＴＰ要求に当たる。
その他の場合には、対応するダミーCOOKIE、COOKIEのレコードをアカウントデータベース１５１から削除して、ＨＴＴＰ要求をオンラインサービスサーバ１４０に送る。
【００１８】
ステップ４７０において、オンラインサービスサーバ１４０からＨＴＴＰ返答を受信し、COOKIEが含まれていれば、ダミーCOOKIEを生成、COOKIEのDOMAINとPATHからＵＲＬを生成、本ＵＲＬとダミーCOOKIEとCOOKIEを含むレコードをアカウントデータベース１５１に追加した後、ダミーCOOKIEに置換えたＨＴＴＰ返答をブラウザ１１１に送り返す。ここで、COOKIEのEXPIRE属性はそのままとする。
ここでステップ４４０に戻るが、これはブラウザ１１１にＨＴＴＰ返答にあるページが表示された状態であり、以下、これを繰返す。
【００１９】
（第２の実施形態）
前述の第１の実施形態では、代行サーバ１５０での利用者認証方法として生体情報による認証方法を説明したが、生体情報による認証に限らず、ＩＣカードを使った認証などパスワードを用いない方法なら構わない。本発明の目的は、利用者ＰＣにマルウェアが侵入しキーボード入力が盗み見られても安全を確保することである。パスワードの類でなければ他の認証を用いても構わない。
【００２０】
（第３の実施形態）
前述の第１、第２の実施形態では、正しいオンラインサービスサーバ１４０にアクセスした際、利用者ＰＣ１１０上で利用者がパスワードを入力しようとするのを防いでいた。しかし、この実施形態では、偽メールに含まれていた偽のオンラインサービスサーバにアクセスして、利用者が本物のサービスサイトであるものと騙され、利用者ＩＤやパスワードを偽サーバに送信する所謂フィッシングは防げない。
【００２１】
以下、図５のフローチャートに従って、利用者ＩＤやパスワードの偽サイトへの送信を防ぐ詳細を示す。ここで利用者は騙されて、偽のオンラインサイトサーバの認証ページに誘導されたものとする。
まず、ステップ５１０において、騙された利用者がブラウザ１１１にて、本物の利用者ＩＤとパスワードを入力し、送信する。前提により、ブラウザ１１１の設定で代行サーバ１５０がHTTP PROXYに指定されており、ブラウザ１１１は代行サーバ１５０にアクセスする。
ステップ５２０において、代行サーバ１５０での利用者認証をHTTP PROXY認証を用いて行う。このとき、代行サーバ１５０は、生体情報データベース１５２のｕｓｅｒ属性３０１とｐａｓｓ属性３０２に一致するレコードがあることで認証に成功したとみなす。失敗すれば、処理を中止、オンラインサービスサーバへのアクセスを禁止し、エラーメッセージをブラウザ１１１に送り返し、処理を中止する。
ステップ５３０にて、代行サーバ１５０がステップ５２０にて認証した利用者に対応したＵＩＤを２０１に持つレコードを検索し、送信先が２０２のＵＲＬのどれにも当てはまらず、かつＨＴＴＰ要求に含まれるパラメータの値が、アカウントデータベース１５１の２０４の値と一致すれば送信を中止する。ない場合には、そのまま送信して利用者のアクセスを許可する。
【００２２】
（第４の実施形態）
前述の第３の実施形態のステップ５３０の処理にて、アカウントデータベース１５１に含まれていないＵＲＬに同データベース１５１に含まれている２０４の値が含まれていた場合には、利用者が騙されて偽サイトにアクセスしていると考えられる。このような場合には、本物のサイトにこの偽サイトの存在を通知すれば、他の利用者の被害を事前に防ぐことができる。このためには、図６のアカウントデータベース１５１に偽サイトの通知先２０７を追加し、本通知先２０７に連絡すればよい。このための代行サーバ１５０の処理を図７のフローチャートに示す。
まず、ステップ７０１にて、偽サイトの可能性があるサーバに、利用者が送ろうとしたＨＴＴＰ要求中のパラメータに含まれる利用者ＩＤとパスワードの値の変わりに、でたらめの値を入れて、該サーバに送信する。
次に、ステップ７０２にて、ステップ７０１の利用者認証要求に成功すれば、利用者ＩＤとパスワードを収集しているサイトだと判定し、図５のステップ５３０にて対応したアカウントデータベース１５１のレコードの連絡先２０７に、当偽サイトのＵＲＬを通知する。
【００２３】
（第５の実施形態）
前述の実施形態では、代行サーバ１５０は利用者ＰＣ１１０とは別の計算機上に実現されていたが、利用者ＰＣ１１０から隔離されているなら、同じＰＣ上にあってもよい。例えば、仮想マシンツールを利用して、１台のＰＣ上に複数のＯＳが稼動することが可能となっており、このうち１つを利用者ＰＣに割当て、他の１つを代行サーバに割当ててもよい。また、SELinuxのようなセキュアＯＳで、１つのＯＳ上でもプロセスごとに隔離することが可能なら、代行サーバを隔離されたプロセスとして実装することで、同じ効果が期待できる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態を示すシステム構成図である。
【図２】アカウントデータベースの構成例を示す図である。
【図３】生体情報データベースの構成例を示す図である。
【図４】パスワード代行処理を示すフローチャートである。
【図５】アカウント情報送信監視処理を示すフローチャートである。
【図６】通知先を含んだアカウントデータベースの構成例を示す図である。
【図７】偽サイト判定通知処理を示すフローチャートである。
【符号の説明】
【００２５】
１１０：利用者ＰＣ
１１１：Ｗｅｂブラウザ
１１２：入力監視モジュール
１１３：生体情報取得送付モジュール
１２０：生体情報読取装置
１３０：インターネット
１４０：オンラインサービスサーバ
１５０：代行サーバ
１５１：アカウントデータベース
１５２：生体情報データベース
【図１】
0004979127.tif 000002
【図２】
0004979127.tif 000003
【図３】
0004979127.tif 000004
【図４】
0004979127.tif 000005
【図５】
0004979127.tif 000006
【図６】
0004979127.tif 000007
【図７】
0004979127.tif 000008