(57)【要約】  信頼できないコンピュータから行われる身元情報の窃盗を未然に防ぐように設計されたやり方で、コンピュータネットワークを介して安全なトランザクションを遂行するシステムおよび方法である。クライアントコンピュータが、ユーザにユーザインタフェースを提供する、クライアントコンピュータからネットワークへの接続、サーバコンピュータからネットワークへの接続、および安全なポータブル計算装置からネットワークへの接続が、ユーザからサーバへの私的な機密ユーザ情報の安全な伝送を実現する。私的情報は、ユーザが対話しているコンピュータ上で取り込まれる可能性なく、安全な接続を介して安全な計算装置からサーバへ直接伝送される。
2007513406.tif 000002
【特許請求の範囲】
【請求項１】
信頼できないコンピュータから行われる身元情報の窃盗を未然に防ぐように設計されたやり方で、コンピュータネットワークを介して安全なトランザクションを遂行する方法であって、
ユーザと対話するためのユーザインタフェースを提供するクライアントコンピュータをネットワークに接続すること、
ネットワークにサーバコンピュータを接続すること、
ネットワークに、安全なポータブル計算装置を接続すること、
クライアントコンピュータに利用可能なサービスのリストを伝達するように、安全な計算装置を動作させること、
利用可能なサービスのリストの受取りに応答して、ユーザインタフェースを用いて、利用可能なサービスのリストをユーザに表示すること、
ユーザによる、利用可能な１つのサービスの選択に応答して、安全な計算装置からサーバまで安全な接続を確立すること、
安全な接続を介して、安全な計算装置からサーバに私的情報を安全に伝達することを含む方法。
【請求項２】
私的情報に基づいてユーザを認証すること、および
ユーザの認証の成功に応答して、クライアントコンピュータとサーバコンピュータの間のトランザクションを行うことをさらに含む請求項１に記載の方法。
【請求項３】
安全な計算装置からサーバコンピュータへユーザ識別情報を伝送することをさらに含む請求項１に記載の方法。
【請求項４】
ユーザ識別情報が、秘密の個人識別番号（ｓＰＩＮ）を含む請求項３に記載の方法。
【請求項５】
ユーザ識別情報の受取りに応答して、ユーザ、クライアントおよび安全な計算装置の間の関連づけを確立するように、サーバコンピュータを動作させることをさらに含む請求項４に記載の方法。
【請求項６】
安全な計算装置が個人識別番号（ＰＩＮ）を有し、ｓＰＩＮとＰＩＮとが無関係である請求項４に記載の方法。
【請求項７】
サーバコンピュータが、ｓＰＩＮをただ１度のセッションのために使う請求項４に記載の方法。
【請求項８】
安全なポータブル計算装置がスマートカードである請求項１に記載の方法。
【請求項９】
信頼できないコンピュータから行われる身元情報の窃盗を未然に防ぐように設計されたやり方での、コンピュータネットワークを介した安全なトランザクションのための方法であって、
ユーザと対話するためのユーザインタフェースを提供するクライアントコンピュータをネットワークに接続すること、
ネットワークにサーバコンピュータを接続すること、
ネットワークに、安全な計算装置を接続すること、
安全な計算装置からサーバまで安全な接続を確立すること、
安全な接続を介して、安全な計算装置からサーバに私的情報を安全に伝達すること、
私的情報を使ってユーザを認証すること、および
ユーザの認証の成功に応答して、クライアントとサーバの間のトランザクションを行うことを含む方法。
【請求項１０】
私的情報を安全に伝達するステップは、安全な計算装置からサーバコンピュータへ私的情報をプッシュすることを含む請求項９に記載の方法。
【請求項１１】
ユーザ認証の成功に応答して、安全な計算装置がトランザクションに必要な情報を送るという指示をサーバに伝送するように、クライアントを動作させること、
安全な計算装置からの情報を待つように、サーバを動作させること、
トランザクションに必要な情報を選択するように、クライアントを動作させること、および
トランザクションに必要な情報の選択に応答して、選択された情報を安全にサーバに伝送するように、安全な計算装置を動作させることをさらに含む請求項１０に記載の方法。
【請求項１２】
私的情報を安全に伝達するステップは、安全な計算装置から私的情報をプルするように、サーバコンピュータを動作させることを含む請求項９に記載の方法。
【請求項１３】
ユーザ認証の成功に応答して、トランザクションを完了するのに必要な情報を提供するための要求を安全な計算装置に伝送するように、サーバを動作させること、
サーバからの、トランザクションを完了するのに必要な情報を求める要求に応答して、トランザクションを完了するのに必要な情報を求める要求をサーバが行ったことをクライアントに通知するように、安全な計算装置を動作させること、
トランザクションを完了するのに必要な情報をサーバが要求しているという、安全な計算装置からの通知に応答して、要求に対するユーザの承認または拒否を取得するように、クライアントを動作させること、および
ユーザの承認に応答して、要求された情報を、安全な計算装置からサーバに安全に伝送することをさらに含む請求項９に記載の方法。
【請求項１４】
キーストロークロギングを介した身元情報の窃盗を未然に防ぐように設計されたやり方で、コンピュータネットワークを介して安全なトランザクションを遂行するシステムであって、
コンピュータネットワークに接続され、何らかの形のオンライントランザクションを提供するように動作可能なサーバコンピュータと、
コンピュータネットワークに接続され、ユーザとインタフェースをとるように動作可能なクライアントコンピュータと、
コンピュータネットワークに接続され、サーバコンピュータおよびクライアントコンピュータとの安全な接続を確立することが可能な安全な計算装置とを備え、
安全な計算装置が、私的ユーザ情報を記憶するように動作可能な論理回路を有し、
安全な計算装置が、クライアントコンピュータを操作するユーザとサーバコンピュータの間のトランザクションの開始に応答して、サーバのみが私的ユーザ情報を解釈することができるようなやり方で、サーバコンピュータに私的ユーザ情報を安全に伝送するように動作可能な論理回路を有するシステム。
【請求項１５】
安全な計算装置が、サーバコンピュータにマップを伝送するための論理回路を有し、マップが、要素クライアントＩＰ、カードＩＰ、ログイン証明、および秘密の個人識別番号（ｓＰＩＮ）を有し、
サーバコンピュータが、ｓＰＩＮを入力するよう、ユーザに要求するための論理回路および入力されたｓＰＩＮがマップ中のｓＰＩＮと一致することを検証するための論理回路を有する請求項１４に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【請求項１６】
サーバコンピュータが、ユーザによって入力されたｓＰＩＮがマップのｓＰＩＮと一致しない場合、マップを破棄するための論理回路を有する請求項１５に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【請求項１７】
ユーザによって要求されると、安全なポータブル計算装置が、私的ユーザ情報を伝送する請求項１４に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【請求項１８】
サーバコンピュータによって要求されると、安全なポータブル計算装置が、私的ユーザ情報を伝送する請求項１４に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【請求項１９】
安全なポータブル計算装置が、ユーザによって許可された場合のみ、サーバコンピュータに私的ユーザ情報を伝送する請求項１８に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【請求項２０】
サーバコンピュータが、無効なｓＰＩＮ、ユーザからの許可の拒否、およびトランザクション完了に応答してマップを破棄する請求項１９に記載のコンピュータネットワークを介して安全なトランザクションを遂行するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、本明細書によりその内容全体が参照によって明確に組み込まれている米国特許仮出願第６０／５２００２２号および第６０／５０６９９２号の優先権を主張する。
【０００２】
本発明は概して、コンピュータネットワークの分野に関し、詳細には、コンピュータネットワークを介した、対話中の身元情報の窃盗を防ぐシステムおよび方法に関する。
【背景技術】
【０００３】
コンピュータネットワークを介した商取引が、非常に流行している。このような商取引は、本の購入ならびにＡｍａｚｏｎ．ｃｏｍでの本およびｅｐｕｃｋ．ｃｏｍでのホッケー道具など、オンラインベンダでの売買から、オンラインでの銀行取引および株取引の実施まで、多くの形をとる。このようなすべてのトランザクションに共通するのは、安全を確保された私的情報を伝達する必要性である。通常、トランザクションは、暗号化された安全な接続を介して執り行われる。しかし、依然として、巧妙な人間が、オンライントランザクション中に使われる私的情報を取り込むための方式、たとえば、パスワード、個人識別番号（ＰＩＮ）、社会保障番号、ドライバの免許証番号および口座番号を取得するための企みを目論む機会がある。このような情報の不法な入手およびこのような情報の不正な使用は一般に、「身元情報の窃盗」と呼ばれる。連邦取引委員会によれば、２００２年だけで、９９０万人の身元情報窃盗の被害者がいた。２００２年、この窃盗によって、企業にとっては４７６億ドル、個人にとっては５０億ドルの損害となった（Ｆｅｄｅｒａｌ  ｔｒａｄｅ  Ｃｏｍｍｉｓｓｉｏｎ、「Ｆｅｄｅｒａｌ  ｔｒａｄｅ  Ｃｏｍｍｉｓｓｉｏｎ  Ｉｄｅｎｔｉｔｙ  Ｔｈｅｆｔ  Ｓｕｒｖｅｙ  Ｒｅｐｏｒｔ」、Ｓｅｐｔｅｍｂｅｒ  ２００３、ｈｔｔｐ：／／ｗｗｗ．ｆｔｃ．ｇｏｖ／ｏｓ／２００３／０９／ｓｙｎｏｖａｔｅｒｅｐｏｒｔ．ｐｄｆ．）。
【０００４】
インターネットを介したトランザクションは、本明細書において例示的な目的のために使われる。インターネットは、圧倒的に最大かつ最も普及しているコンピュータネットワークであり、本明細書において論じられる問題および解決策は、他のネットワークにおいても起こり、当てはまり得る。たとえば、身元情報の窃盗は完全に、企業ネットワークの範囲内でも大学のネットワークの範囲内でも起こり得、そこでは不正を働く人間がネットワーク経由のトランザクションを使って、従業員または学生の記録へのアクセスを与えるＰＩＮを盗む。身元情報の窃盗問題を、インターネットの状況において論じるのは好都合であるが、この状況が、本発明の範囲を限定するものと解釈されるべきではない。
【０００５】
オンラインでの身元情報の窃盗を行う１つの形は、キーストロークロガーを使って、個々のキーストロークのログをとり、パスワードおよびクレジットカード番号などの情報を、ログから抽出するものである。知られている２つの事例が、ニューヨークでのＫｉｎｋｏの事例およびボストンカレッジの事例である（Ｊｅｓｄａｎｕｎ，  Ａ．、「Ｔｈｉｅｆ  ｃａｐｔｕｒｅｓ  ｅｖｅｒｙ  ｋｅｙｓｔｒｏｋｅ  ｔｏ  ａｃｃｅｓｓ  ａｃｃｏｕｎｔｓ」、Ｓｅａｔｔｌｅ  Ｐｏｓｔ、Ｊｕｌｙ、２００３、ｈｔｔｐ：／／ｓｅａｔｔｌｅｐｉ．ｎｗｓｏｕｒｃｅ．ｃｏｍ／ｎａｔｉｏｎａｌ／１３１９６１＿ｓｎｏｏｐ２３．ｈｔｍｌ；  Ｐｏｕｌｓｅｎ，  ｋ．、「Ｇｕｉｌｔｙ  Ｐｌｅａ  ｉｎ  Ｋｉｎｋｏ’ｓ  Ｋｅｙｓｔｒｏｋｅ  Ｃａｐｅｒ」、ＳｅｃｕｒｉｔｙＦｏｃｕｓ、Ｊｕｌｙ  １８、２００３  ｈｔｔｐ：／／ｗｗｗ．ｓｅｃｕｒｉｔｙｆｏｃｕｓ．ｃｏｍ／ｐｒｉｎｔａｂｌｅ／ｎｅｗｓ／６４４７）。両方の事例において、窃盗犯は、Ｋｉｎｋｏの店舗内または大学のキャンパス内の公共インターネットコンピュータに、キーストロークロガーソフトウェアをインストールした。窃盗犯は、ユーザＩＤ、ユーザ名、およびパスワードを取り込み、これらを使ってオンラインの銀行口座にアクセスし、または開設もし、購入を行い、建物に不法に侵入した。
【０００６】
キーストロークロガーは、人間がコンピュータ上にインストールするソフトウェア、または人間がキーボードケーブルとコンピュータの間を接続する１つのハードウェア、もしくはキーボード内に構築されるハードウェアのいずれかである。オンライン識別窃盗犯は通常、ユーザに見えないので、ソフトウェアキーストロークロガーを使う。
【０００７】
通常のオンライントランザクションにおいて、新規アカウントを作成し、または既存のアカウントにアクセスすると、ユーザは、コンピュータスクリーン上のグラフィカルヒューマンインタフェースを介してオンライントランザクションを行い、キーボードを使って、ヒューマンインタフェースによって要求された情報を入力する。このグラフィカルヒューマンインタフェースは通常、銀行またはオンライン小売業者のインターネットクライアントアプリケーションを表す。ユーザは、機密の個人情報、たとえば名前、パスワード、社会保障番号、クレジットカード番号などを、キーボードを使ってタイプ入力する。この機密情報は、キーボードからコンピュータに平文で流れる。インターネットクライアントアプリケーションは、コンピュータまたはコンピュータに接続されたスマートカードを使って、リモートサーバに送る前に情報を暗号化することができる。しかし、キーストロークロガーもスクリーンキャプチャラも、暗号化される前に機密の個人情報を取り込むことができるであろう。現在のセキュリティ機構の多くは、コンピュータおよびそのキーボードまたは他の入力装置が安全であることを前提としているが、それが成り立たない場合がある。
【０００８】
図１ａ〜図１ｃは、キーボードロガーまたは同様のプログラムもしくはハードウェアを使って実現され得る身元情報の窃盗問題の例示である。図１ａは、キーボード１０１からの、正常な情報の概略である。情報は、オンラインサービス、たとえば銀行のｅコマースサイトの顧客によって使われるコンピュータ１０５に接続されたスクリーン１０３上に表示されてもよい。コンピュータ１０５またはスマートカード（図示せず）内のどちらかにある暗号化プロセッサ１０７が、インターネット１１０に送られる前に情報を暗号化してもよいであろう。この暗号化プロセッサ１０７は、ハードウェア装置でもよく、完全に、コンピュータ１０５上で実行されるソフトウェアとして実装されてもよい。図１ｂは、キーストロークロガーソフトウェア１０９がコンピュータ１０５上にインストールされている際の情報の流れを示す。キーストロークロガー１０９は、情報がそれ以外のどこかへ行く前、したがって、既存のセキュリティ機構が適用される前、たとえば、暗号化プロセッサ１０７が情報を暗号化する機会さえないうちに、ユーザによってキーボード１０１上でタイプ入力された情報を取り込む。図１ｃは、ハードウェアキーストロークロガー１１１がインストールされているときの構成および情報の流れを示す。ハードウェアキーストロークロガー１１１は、キーボード１０１とコンピュータ１０５の間にある。あるいは、ハードウェアキーストロークロガー１１１は、キーボード１１１の中に構築されてもよい。どちらのケースでも、情報は、コンピュータ１０５に入る前に取り込まれる。
【０００９】
キーボードロガーに関連した問題は、様々な形の悪意のあるソフトウェア（マルウェア）、すなわち抗ウィルスソフトウェアが対抗する能力のない、望まれないコードによって提示される。こうした望まれないコード、たとえばキーストロークロガー、スパイウェア、スヌープウェア、トロイの木馬などは、目に見えず、再現不可能である。この種類のソフトウェアは、ローカルにインストールされる場合も、リモートに分散される場合もある。一部のキーストロークロガーは、たとえば、キーストロークをひそかに記録するだけでなく、リモートインターネットノードにキーログをひそかに伝送する。抗キーロガーなどの様々な抗非ウィルス性マルウェアプログラムが、こうした望まれないコードに対抗する。こうしたほとんどの製品は、知られている悪意のあるプログラムを検出し、それに対抗する。一方、巧妙に設計された悪意のあるプログラムは、抵抗のための抗検出機構を有し得る。新たな悪意のあるソフトウェアが出現し、新たな抗悪意ソフトウェアの開発が必要になる。この戦いは、医学におけるバクテリアと抗生物質の間の戦いに似ている。
【００１０】
従来技術による、安全なインターネット商取引および他のオンライントランザクションを提供するいくつかの手法が存在する。一つの方法は、トランザクションに関与する２つのノードの間のすべてのメッセージが確実に暗号化されるようにするものである。インターネットノードの一方が、暗号化される前にメッセージを取り込む悪意のあるソフトウェアによって危険にさらされた場合、手遅れなので、安全な通信機構は助けとならない。たとえば、暗号化は、キーボードロガー、スクリーンキャプチャおよびコンピュータのユーザによって入力された情報を取り込む他の技術を用いて行われる身元情報の窃盗問題を解決しない。というのは、上述したように、暗号化はあまりに遅く、すなわち、情報が既に取り込まれてしまった後で実施されるからである。
【００１１】
オンライン商取引のセキュリティを保護する別の形は、たとえば、Ｋｅｒｂｅｒｏｓ（「Ｋｅｒｂｅｒｏｓ：Ｔｈｅ  Ｎｅｔｗｏｒｋ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ」、ｈｔｔｐ：／／ｗｅｂ．ｍｉｔ．ｅｄｕ／ｋｅｒｂｅｒｏｓ／ｗｗｗ／）およびマイクロソフトパスポート（Ｍｉｃｒｏｓｏｆｔ．Ｎｅｔ  Ｐａｓｓｐｏｒｔ、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｏｐｅｒａｔｉｏｎ、ｈｔｔｐ：／／ｗｗｗ．ｐａｓｓｐｏｒｔ．ｎｅｔ／）など、識別の連携または認証の連携を介した、トランザクションに関与する個人の認証である。しかし、こうした機構も、キーボードロガーおよび同様の方式に対して保護するものではない。
【００１２】
クレジットカード詐欺の普及を抑制し、オンライントランザクション中の消費者の信頼を高めるための作業において、いくつかのクレジットカード企業（たとえばＣｉｔｉｂａｎｋ）が、仮想クレジットカード番号を提供している。こうしたクレジットカード番号は、一回限りの使用のためのものであり、オンライントランザクション中にユーザの実際のクレジットカード番号を保護するのを助ける。実際の番号を使うのではなく、ユーザは、オンラインでのショッピングの際、仮想番号を入力する。仮想番号が盗まれたとしても、その番号は、最初のトランザクション以降は再利用されることができないので、ほとんど使い物にならない。
【００１３】
この手法は、ユーザが自分の実際のクレジットカード番号の悪意のある使用から身を守るのを助けるが、身元情報の窃盗の比較的広範な予防フレームワークに関して２つの欠点を有している。第１に、この手法は、クレジットカード番号に限定され、他の機密情報に拡大されることはできない。第２に、一度しか使用できないクレジットカード番号を得るために、ユーザは依然として、銀行に対して自分自身の認証を行わなければならない。このオンライン認証プロセス自体が、キーボードロガー攻撃が疑われるので、弱いつながりである可能性がある。悪意のあるユーザは、ユーザになりすまし、本人に代わって仮想クレジットカード番号を得ることができる。このシナリオにおいて、ユーザの実際のクレジットカード番号は安全だが、ユーザの識別は安全ではない。
【００１４】
オンラインセキュリティを改善するのに、スマートカードが使われる場合もある。スマートカードとは、改竄が難しく、安全、かつポータブルなマイクロプロセッサカードである。スマートカードは、様々なアプリケーションにおいてセキュリティのために使われている（Ｊｕｒｇｅｎｓｅｎ，Ｔ．Ｍ．ａｎｄ  Ｇｕｔｈｅｒｙ，Ｓ．Ｂ．「Ｓｍａｒｔ  Ｃａｒｄｓ」、Ｐｅａｒｓｏｎ  Ｅｄｕｃａｔｉｏｎ，Ｉｎｃ．、２００２．）。スマートカードは、コンピュータおよびネットワークアクセス、ならびに安全な通信のためのセキュリティトークンである。スマートカードを使う際、カードは、ホストコンピュータに接続される。安全な通信への公開鍵インフラストラクチャ（ＰＫＩ）を用いて、カードは、その所有者の秘密鍵を保持する。インターネットを介して、あるユーザから別のユーザにメッセージを送るために、送信者のコンピュータは、ランダムな共有鍵を生成し、共有鍵を使ってメッセージを暗号化し、受信機の公開鍵を使って共有鍵を暗号化する。暗号化メッセージおよび暗号化された鍵は両方とも、受信機に送られる。受信機のコンピュータは、受信機のスマートカード中に記憶された受信機の秘密鍵を使って、暗号化された共有鍵を復号する。コンピュータは次いで、共有鍵を使って、メッセージを復号する。このようにして、対象とされた受信機のみが、メッセージを読むことができる。しかし、キーストロークロガーがユーザのコンピュータを危険にさらした場合、ロガーは、スマートカード機構が適用される前に情報を取り込む予定である。
【００１５】
別の既存の方法は、ユーザの機密情報をスマートカード上に記憶するものである。オンライントランザクションのために、コンピュータ上で実行されるミドルウェアは、スマートカードから情報を取得し、ウェブフォーム中の適切なフィールドに記入する。この手法は、コンピュータ上に特殊なソフトウェアを必要とする。この手法は、ウェブブラウザ中で機密情報が暗号化されていない形なので、ウェブフォームの手入力よりも確かなセキュリティは提供しない。この点において、セキュリティ上の機能ではなく、利便性のための機能である。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
したがって、公開されているワークステーションでキーボードロガーを利用することによって実現され、そうすることによって、ユーザがインターネット上で安全なトランザクションを行う際に用いたユーザの私的情報を取り込むことができる身元情報の窃盗に対抗する、従来以上のシステムおよび方法が必要である。
【課題を解決するための手段】
【００１７】
好ましい実施形態では、本発明は、オンラインサービスのユーザが、キーボードロガーまたは同様のソフトウェアもしくはハードウェア装置による取込みの対象となるように機密の個人情報を入力する必要なく、そのオンラインサービスで取引を行うのに必要な機密の個人情報を伝送することを可能にする機構を提供する。好ましい実施形態では、機密の私的情報は、ユーザの物理的制御の下で、インターネットスマートカードに記憶される。ユーザは、安全な接続を介してオンラインサービスのサーバに機密の私的情報を伝送するよう、スマートカードに指令する。機密の私的情報は、トランザクションを行うユーザによって使われるコンピュータ上で、暗号化されていない形で存在することはない。
【００１８】
信頼できないコンピュータから行われる身元情報の窃盗を未然に防ぐように設計されたやり方で、コンピュータネットワークを介して安全なトランザクションを遂行するシステムおよび方法である。クライアントコンピュータが、ユーザにユーザインタフェースを提供する、クライアントコンピュータからネットワークへの接続、サーバコンピュータからネットワークへの接続、および安全なポータブル計算装置からネットワークへの接続が、ユーザからサーバへの私的な機密ユーザ情報の安全な伝送を実現する。私的情報は、ユーザが対話しているコンピュータ上で取り込まれる可能性なく、安全な接続を介して安全な計算装置からサーバへ直接伝送される。
【発明を実施するための最良の形態】
【００１９】
本発明は、キーボードロガー、スクリーンキャプチャ、リモート監視を使って、かつユーザの肩ごしに見ている人からも行われる身元情報の窃盗を、パスワード、社会保障番号、銀行口座番号、クレジットカード番号などの機密情報が、インターネットを介して安全なトランザクションを行っている際にワークステーションのユーザによって入力されることがないようにする機構を提供することによって防ぐ。
【００２０】
暗号化されていない機密情報が、短期間ではあっても一定の持続期間コンピュータ内に存在するので、ロギング機構を用いたオンラインでの身元情報の窃盗が可能である。悪意のあるユーザが、どのセキュリティ機構も適用されないうちに、機密情報へのアクセスを得ることができる。しかし、機密情報、たとえばパスワード、ＳＳＮ、クレジットカード番号などが、コンピュータ内でもオンラインでも平文で現れることがない場合、ロギング機構は役に立たない。ユーザがこのような機密情報を入力しないようにすることを可能にする機構の提供という概念が、本発明の背景にある根本的概念である。本発明の好ましい実施形態の一構成要素は、機密の個人情報を記憶するためのインターネットスマートカードである。カードの所有者によって必要とされ認証されると、情報は、ユーザのワークステーションで表示されることもキー入力されることもなく、カードからリモートインターネットクライアントまたはサーバに安全に流れる。カードは、完全にカードの内部で情報を暗号化し復号する。情報は、ユーザがオンライントランザクション用に使っているコンピュータを経由して伝送されるが、情報は、そのコンピュータに入力される前に暗号化され、したがって、安全なままである。情報通過の観点からは、ユーザのコンピュータは、ネットワーク上の単なるもう１つのルータである。
【００２１】
インターネットスマートカードは、安全なポータブルネットワークノードなので、キーストロークロギング問題（および関連した問題）に対抗することができる。１個人が、カードを物理的に所有し、そのＰＩＮ番号をもち、かつ／またはカードを使うためにはカード中の生体情報ストアの所有者でなければならない。いくつかのレベルのセキュリティが存在する。すなわち、自分が知っていること、自分がもっているもの、自分が何者であるかということである。したがって、ＰＩＮの知識およびカードの所有の両方を用いる機構、または生体情報を介して実証される識別さえも提供することによって、セキュリティが高められる。セキュリティは、完全に暗号化された方式以外で、関連付けられた情報を、エンドツーエンドで絶対に提供しないこと、何らかの形のオンライン商取引を行うユーザによって使われるコンピュータでないコンピュータにさえも提供しないことによってさらに高められる。
【００２２】
どのオンラインアカウントトランザクション、たとえば、キーボードロガー、スクリーンキャプチャ、またはユーザの肩ごしに見ている何者からでさえもスヌープされる可能性がある機密の個人情報をタイプ入力するのではなく、新規アカウントの申し込みまたは既存のアカウントへのアクセスに対しても、本発明によれば、ユーザは、ユーザのスマートカードとサービスプロバイダの安全なリモートサーバ、たとえば、銀行またはオンライン商店のサーバとの間の安全なインターネット接続を確立する。インターネットクライアントアプリケーションのインタフェース、たとえば、ウェブブラウザを介して、ユーザは、どのような情報を直接入力するか、サーバがスマートカードから得ることができる（またはスマートカードがサーバに自動的に送る）のはどのような情報か決定する。たとえば、ＳＳＮまたはクレジットカード番号に対して、ユーザは、その情報をスマートカードからサーバに直接送ることを選ぶことができる。この極めて機密の個人情報は、最初にスマートカード中に暗号化される。トランザクションの間、ローカルコンピュータには、カード上にオリジナルの形で記憶された機密の個人情報が見えることはなく、ユーザの肩越しに見ている人々にも、すべてのキーストローク、すべてのスクリーンショット、またはコンピュータの他の部分を取り込む窃盗犯にも見えることはない。
【００２３】
インターネットスマートカードにアクセスするために、ユーザは、ＰＩＮコードも自分の生体情報も入力する必要はない。ホストコンピュータが危険にさらされ、ＰＩＮコードが取り込まれた場合でも、窃盗犯は、カードをもっていないので、ＰＩＮを使ってもほとんど何もすることができない。さらに、取り込まれたほとんどの情報は、オフラインで分析される。どのＰＩＮがどのスマートカード用であるかを算出するのは、不可能ではなくとも極めて難しい。
【００２４】
図２ａおよび図２ｂは、本発明の好ましい実施形態において利用される２つの代替物理構成の例示である。リモートサーバが、リモートコンピュータ２０１または２０１’上で実行される。ローカルクライアントは、ユーザ２０５または２０５’が使っているローカルコンピュータ２０３または２０３’上で実行される。いずれの場合でも、コンピュータ２０１、２０３は両方とも、インターネット２０９に接続される。インターネットスマートカード２０７または２０７’が、ルータとして作用するローカルコンピュータ２０３に直接接続することによって、または、別の装置（図示せず）に接続することによってインターネット２０９に接続される。インターネット２０９への接続は、有線でも無線でもよいであろう。
【００２５】
これ以降、リモートコンピュータ、ローカルコンピュータ、インターネットスマートカード、およびユーザは、プライム記号のついていない参照番号を使って参照される。ただし、このような参照は、図２ａおよび図２ｂに提示される両方のシナリオならびに他のどの等価物も指す。
【００２６】
図３は、本発明によるインターネットスマートカードを用いた、インターネットを介した論理接続を図示したものである。ユーザは、ローカルコンピュータ３０１上で実行される１つのウェブブラウザ３０５を使って、ユーザのインターネットスマートカード２０７に接続する。ユーザは、ユーザのスマートカード２０７に、安全なリモートサーバ３０３と安全な接続を確立するよう要求することができ、トランザクションを認証することができ、トランザクションを監視することができる。インターネットスマートカード２０７は、ユーザ、すなわち、その所有者によって要求されたように、安全なリモートサーバ３０３に接続する。安全な接続を介して伝送されるすべてのデータトランザクション。ユーザの機密個人データは、スマートカード２０７および安全なリモートサーバ３０３の中で暗号化され復号される。ローカルコンピュータ３０１は、インターネット２０９内のノードの１つである。ユーザは、別のウェブブラウザ３０７を使って、サーバアプリケーション３０９を実行するリモートサーバ３０３に接続する。
【００２７】
この機構は、たとえば、新規アカウントを作成し既存のアカウントにアクセスする、インターネットを用いるすべてのタイプの電子トランザクションに適用可能である。カード所有者は、カード２０７内部に保持される個人情報の種類を決定する。たとえば、カード２０７は、パスワード、ＳＳＮ、およびクレジットカード番号を含み得る。情報は、スマートカード２０７内部で、または安全なリモートサーバ３０３内部で暗号化され／復号されるので、情報は、ユーザが使うローカルコンピュータ２０３から隠される。キーストロークロギングも他のロギング機構も、トランザクションを成立させるのに必要な機密の個人情報を取得することはできない。
【００２８】
本発明の実施形態の一特徴は、スマートカード２０７とサービスプロバイダのリモートサーバ３０３との間の安全なインターネット接続を確立し、安全な接続を介して、スマートカード２０７とサーバ３０３の間で、暗号化された情報を直接送ることである。２つの代替実施形態は、（１）カード２０７がリモートサーバ３０３に機密個人データを送ること、および（２）リモートサーバ３０３がカード２０７からデータを取り出すことを含む。
【００２９】
インターネットスマートカードを使って好ましい実施形態が説明されるが、本発明のシステムおよび方法は、他の安全なトークンにも当てはまる。
【００３０】
インターネットスマートカード２０７
インターネットスマートカード２０７が、同時係属中の米国特許出願第６０／５０６９９２号「ＳＥＣＵＲＥ  ＮＥＴＷＯＲＫＩＮＧ  ＵＳＩＮＧ  Ａ  ＲＥＳＯＵＲＣＥ―ＣＯＮＳＴＲＡＩＮＥＤ  ＤＥＶＩＣＥ」明細書においてより詳細に記載されている。スマートカードとは、改竄が難しく、安全、かつポータブルなマイクロプロセッサカードである。インターネットスマートカード２０７はさらに、米国特許出願第６０／５０６９９２号明細書に記載されているように、安全なインターネットノードである。したがって、インターネットスマートカード２０７と他のインターネットノードの間に安全なインターネット接続を確立することが可能である。セキュリティ境界は、インターネットスマートカード２０７の内部であり、たとえば、インターネットスマートカードは、ＳＳＬまたはＴＬＳとして実装される。したがって、カード２０７と別のインターネットノード、たとえば、リモートサーバ３０３との間に、安全なＳＳＬ／ＴＬＳ接続が確立され得る。これは実際には、カード２０７からリモートアプリケーション、たとえばサーバアプリケーション３０９へのＳＳＬ  ＶＰＮである。
【００３１】
本発明の一実施形態において、ユーザ情報は、カードのパーソナライズプロセス中に、スマートカード２０７上に記憶される。発行後のパーソナライズによって、カードが発行された後に追加個人情報をカード２０７上に記憶しても、カード２０７上の情報を安全に変更してもよいであろう。ユーザは、安全なコンピュータを使ってスマートカードをカスタマイズし、たとえば、ＰＩＮを変えることもできる。スマートカードは、ユーザの許可において信頼できるクライアントまたはサーバに情報を公開するだけである。
【００３２】
好ましい実施形態では、インターネットスマートカード２０７は、以下のことを行うことができる。
１．インターネットクライアントおよびインターネットサーバとの安全な接続を同時に確立する。カードは、インターネットクライアントに対してサーバである。カードは、リモートサーバに対してクライアントにもサーバにもなり得る。
２．インターネットクライアントと安全に通信する。
３．インターネットサーバと安全に直接通信する。スマートカードは、カード内部のデータを暗号化し、暗号化されたデータを他のインターネットノードに送り、カード内部のデータを復号する。
４．リモートサーバが情報を得ようとすると、クライアントアプリケーションを介してユーザに通知する。ユーザが認証したときのみ、情報を公開する。
【００３３】
インターネットスマートカード２０７が接続されたとき、相互認証が実施されることが重要である。ＳＳＬを用いた場合、クライアント認証は任意選択である。ただし、サーバとしてインターネットスマートカード２０７を用いた場合、クライアント認証は必須である。それ以外の場合、サーバ認証が実施されさえすれば、クライアントは保護されるが、スマートカード２０７は保護されない。
【００３４】
インターネットクライアントアプリケーション
ウェブブラウザ３０５、３０７は、インターネットクライアントアプリケーションである。こうしたブラウザは、ローカルコンピュータ３０１上で実行されるローカルクライアントである。ユーザ２０５は、ウェブブラウザを使って、インターネットサービスプロバイダによって提供されるサービスにアクセスする。この書類に提示される技術は、インターネットエクスプローラ、Ｎｅｔｓｃａｐｅ、ＳａｆａｒｉまたはＭｏｚｉｌｌａなど、標準ウェブブラウザに対するいかなる変更も必要としない。ウェブブラウザに対する唯一の要件は、ＨＴＴＰＳ接続をサポートすることである。ユーザ２０５は、ウェブブラウザの１つのインスタンス３０７を使って、サービスプロバイダのリモートサーバ３０３に接続し、ウェブブラウザの別のインスタンス３０５を使って、自分のインターネットスマートカード２０７に接続する。
【００３５】
ユーザ対話
本発明の一実施形態による、身元情報の窃盗を防ぐ技術は、ユーザ２０５が、ブラウザなどのインターネットクライアントアプリケーションを介して安全なリモートサーバ３０３と対話する際、特定のユーザ対話をもたらす。機密の個人情報に対して、タイプ入力するのではなく、ユーザ２０５は、自分のインターネットスマートカード２０７から信頼できるサーバ、たとえば、リモートサーバ３０３に情報を直接送ることを選ぶことができる。たとえば、ユーザ２０５は、本発明によってオンライントランザクションを実施するため、たとえば、銀行で新規口座を作成し、または既存の口座にアクセスするために、以下のステップを行ってよい。
１．ウェブブラウザ（Ｂ１）３０５からユーザのインターネットスマートカード２０７まで、安全な接続を確立する。スマートカード２０７がユーザ２０５を識別するのに、ＰＩＮ番号または生体情報が使われる。
２．ブラウザ（Ｂ１）３０５を介して、スマートカード２０７に、安全なリモートサーバ３０３との安全な接続を確立するよう要求する。
３．別のウェブブラウザ（Ｂ２）３０７をスタートし、Ｂ２  ３０７からリモートサーバ３０３まで、安全な接続を確立する。入力要求されると、ユーザ２０５は、共有の秘密の値を入力する。
４．Ｂ２  ３０７において、要求されたフォーム、たとえば、新規口座を作成するフォームや、既存の口座にアクセスするフォームに記入する。機密の個人情報、たとえば、社会保障番号やクレジットカード番号に対して、ユーザ２０５は、スマートカード２０７からリモートサーバ３０３へデータを直接かつ安全に送ることを選ぶ。
５．ブラウザＢ１  ３０５から、スマートカード２０７中に記憶された情報を選択し、スマートカード２０７は、情報をリモートサーバ３０３に送る。
６．終了すると、ユーザ２０５は、両方のブラウザインスタンス、すなわちＢ１  ３０５およびＢ２  ３０７からログアウトする。
【００３６】
以下のワークフローに関するセクションは、ユーザ２０５、ブラウザインスタンス３０５、３０７の間の相互作用のより詳細な説明を含む。スマートカードと接続する段階（上のステップ１）で、ホストコンピュータ２０３（ローカルクライアントアプリケーション、ブラウザＢ１  ３０５が実行されている）が危険にさらされ、ＰＩＮコードが、たとえばキーボードロガーを介して取り込まれたとしても、窃盗犯は、カード２０７を所有していないので、ＰＩＮを使ってもほとんど何もすることができない。さらに、取り込まれたほとんどの情報は、オフラインで分析される。ＰＩＮを取り込んだ何者にとっても、ＰＩＮがどのスマートカード用であるか判定するのは、不可能ではないとしても極めて困難であろう。
【００３７】
リモートサーバ３０３の観点からのスマートカード２０７とユーザ２０５の間の関連づけ
サービスプロバイダのリモートサーバ３０３は通常、相異なるインターネットノードから多数のクライアントアプリケーションに同時にサービス提供することができる。したがって、リモートサーバ３０３は、多数のインターネットスマートカード２０７に同時に接続してよい。クライアントアプリケーション３０７、スマートカード２０７およびリモートサーバ３０３の間の安全なトランザクションに対して、本発明の好ましい実施形態は、以下の疑問に対処するための機構を提供する。
１．ユーザ２０５は、自分のスマートカード２０７とは異なるインターネットノード２０３中にクライアントアプリケーション３０７が存在するある特定のセッションのために、リモートサーバ３０３に、自分のクライアントアプリケーション３０７を自分のスマートカード２０７にどのように関連付けさせるのか？
２．あるユーザ２０５が、自分のクライアントアプリケーション３０７を介して、他のユーザのスマートカードに関連付けるのをどのようにして防止するのか？
【００３８】
図４は、本発明による、サーバと多数のクライアントおよびスマートカードの間の安全な論理接続を図示したものである。グラフ４００中のノードは、サーバ３０３、クライアント３０１、またはスマートカード２０７を表す（文字による指定（ｋ、ｍ、ｎ）は、同様の装置の異なるインスタンスを示すのに使われる）。
【００３９】
接続はすべて安全であり、各々が、一意の共有の秘密に関連づけている。エッジ４０１｛ノードｉ、ノードｊ｝は、したがって、チャネルによって指定され、四つ組（ｑｕａｄｒｕｐｌｅｔ）｛（ノードｉのＩＰアドレスおよびポート番号）、（ノードｊのＩＰアドレスおよびポート番号）｝、ならびにノードｉとノードｊの間の共有の秘密である。各ノードは、ノードに接続するエッジを知っており、それだけを知っている。上の疑問は、以下のように言い換えられ得る。
１．安全なリモートサーバ３０３は、クライアントｎ（３０１ｎ）をカードｎ  ２０７ｎにどのように関連付けるのか？
２．クライアントノードｋ  ３０１ｋは、サーバノード３０３に、カード２０７ｎと関連付けるよう依頼するのをどのようにして防止するのか？
【００４０】
以前言及したように、ユーザ２０５は、自分のインターネットスマートカード２０７（カードｎ）に、カード２０７とリモートサーバ３０３の間の接続を開始するよう要求する。カード２０７は、リモートサーバ３０３にユーザのログイン証明、クライアントノード（クライアントｎ）のＩＰアドレスおよび秘密ＰＩＮ（ｓＰｉｎ）を送る。リモートサーバ３０３は、こうした情報を用いて、ユーザ２０５、クライアントノード３０１およびスマートカード２０７の間の関連づけを確立する。ユーザ２０５は、ウェブブラウザ３０７（クライアントｎ  ３０７ｎ）を介してリモートサーバ３０３にアクセスすると、ｓＰｉｎを入力する。クライアントノード３０１のＩＰアドレスおよび秘密ＰＩＮから、リモートサーバ３０３は、ユーザ２０５のスマートカード２０７ｎ（カードｎ）にマップする。悪意のあるユーザ、すなわちクライアントｋ  ３０１ｋが、クライアントｎのＩＰアドレスを介してサーバ３０３に接続しようと装う場合があるが、秘密ＰＩＮをもたないので、関連づけを確立することができない。
【００４１】
各インターネットスマートカード２０７の所有者は、そのカード用の秘密ＰＩＮを制御する。リモートサーバ３０３は、１つのセッションのみに対して、秘密ＰＩＮの記録を維持する。秘密ＰＩＮを含む、ユーザ、クライアント、カードの間の関連づけは、セッションが終了されると削除される。セキュリティのために、この秘密ＰＩＮは、ユーザがカードにログインするのに使うスマートカードＰＩＮとは異なるべきである。
【００４２】
この秘密ＰＩＮは、セッション中、ユーザ２０５とリモートサーバ３０３の間の共有の秘密として作用する。ユーザは、この秘密が自分のインターネットスマートカードからのものなので、この秘密を知っている。ユーザは、カード中に記憶された信頼できるサービスプロバイダそれぞれに対してｓＰＩＮを制御する。一方、リモートサーバ３０３は、この秘密がスマートカード２０７からリモートサーバ３０３に安全に渡されたものなので、この秘密を知っている。
【００４３】
ユーザ２０５が、危険にさらされる公開ＰＣに向かっている場合、ユーザがタイプ入力するどのキーストロークも、ユーザが知ることなく取り込まれ記憶される可能性がある。従来のユーザ名／パスワードログイン機構を用いた場合、悪意のある人が、取り込まれたユーザ名／パスワードを使って、リモートサーバにあるユーザのアカウントにログインすることができる。ユーザ名／パスワードは、リモートサーバ上に残る。一方、ｓＰｉｎは、リモートサーバの観点からは、一回限りのＰＩＮである。したがって、ｓＰｉｎが取り込まれたとしても、ｓＰｉｎは、インターネットスマートカード２０７なしでは、再度ログインするのに使われることができない。
【００４４】
ｓＰｉｎが使われない場合、悪意のあるコードが、ローカルＰＣと同じＩＰアドレスからのものと装って、リモートサーバ３０３にログイン要求を送る可能性もある。この悪意のあるコードは、リモートサーバ３０３へのアクセスを獲得し、ユーザのインターネットスマートカード２０７から機密情報を取得することができる。ｓＰＩＮの使用は、この可能な抜け穴を塞ぐ。
【００４５】
ワークフロー
上述したように、機密情報がリモートサーバ３０３によってプルされるのか（プルモデル）、それともリモートサーバ３０３にプッシュされるのか（プッシュモデル）に関して、本発明の２つの代替実施形態がある。両方のケースにおいて、情報は、インターネットスマートカード２０７からリモートサーバ３０３に流れる。プッシュモデルは、インターネットスマートカード２０７がＩＰアドレスを有し、インターネット２０９に接続されるほとんどのネットワーク構成において使われ得る。しかしながら、プルモデルは、インターネットスマートカード２０７が、接続されているＬＡＮ外部からグローバルにアクセス可能な場合にのみ使われ得る。
【００４６】
図５は、スマートカード２０７が機密個人データをリモートサーバ３０３にプッシュするプッシュモデルを示し、このモデルにおける３つの主要要素、すなわち、ローカルＰＣ２０３、インターネットスマートカード２０７およびサービスプロバイダのリモートサーバ３０３の対話を示すタイミングおよびデータフロー図である。プッシュモデルにおいて、インターネットスマートカード２０７のＩＰアドレスは、スマートカード２０７が接続されているＬＡＮの外部からアクセス可能でも、可能でなくてもよい。要素間の相互作用を指す矢印はすべて、ＳＳＬ／ＴＬＳプロトコルを用いたＨＴＴＰＳ接続を表す。
１．ユーザ２０５は、ローカルＰＣ２０３上でウェブブラウザＢ１  ３０５をスタートする。ブラウザＢ１  ３０５は、インターネットクライアントアプリケーションとして作用する。
２．ステップ５０２で、Ｂ１  ３０５から、ユーザは、インターネットスマートカード２０７に接続し、安全なＨＴＴＰＳ接続を介し自分のＰＩＮを使って自分の認証を行う。
３．認証されると、ユーザ２０５は、信頼できるサービスプロバイダ５０３のリストを提示される。ユーザは、サービスプロバイダを選び、ステップ５０５で、インターネットスマートカードに、このサービスプロバイダとの安全な接続を確立するよう依頼する。
４．インターネットスマートカード２０７は、選択されたサービスプロバイダに対応するリモートサーバ３０３のＩＰアドレスを知る。カード２０７は、ステップ５０７で、ＳＳＬ／ＴＬＳプロトコルを用いてリモートサーバ３０３との安全な接続を確立し、スマートカード上に記憶された以下のデータ５０９をリモートサーバ３０３に送る。
ａ．クライアントＩＰ：ローカルＰＣ２０３のＩＰアドレス
ｂ．カードＩＰ：インターネットスマートカード２０７のＩＰアドレス
ｃ．ログイン証明：こうした証明は、ユーザ２０５がリモートサーバ３０３において認証されることを可能にする。こうした証明の例は、ユーザ名およびパスワードでよい。
ｄ．ｓＰｉｎ：ユーザがリモートサーバ３０３とのセッションを実際に開始する際に一段階上のレベルの認証をもたらす共有の秘密ＰＩＮ。
５．ステップ４で送られたデータ５０９を受け取った後、リモートサーバ３０３は、ステップ５１１で、クライアントＩＰを他の３つの属性、すなわちカードＩＰ、ログイン証明、ｓＰｉｎとリンクする内部マップを作成する。
６．ユーザ２０５はここで、Ｂ１  ３０５中のリンクをクリックして、ウェブブラウザの別のインスタンス、すなわちＢ２  ３０７を、リモートサーバ３０３の認証ページに設定されたＵＲＬで起動する（ステップ５１３）。
７．第２のブラウザインスタンスＢ２  ３０７が、ステップ５１５で、リモートサーバ３０３に接続して、新規セッションを要求する。
８．ローカルＰＣ２０３から新規セッション要求を受け取った後、リモートサーバ３０３は、要求が、ステップ４においてメッセージ５０９中で渡されたのと同じクライアントＩＰアドレスからのものであると判定することができる。リモートサーバ３０３は、ステップ５１７で、このクライアントＩＰのマッピングに、「接続済」とフラグを立てるが、まだ「認証済」ではない。接続済は、ユーザが対応するＩＰアドレスから接続していることを意味し、１つの接続しか許可されないので、後に続くどの接続要求も引き受けられない。
９．現在のセッションを認証するために、リモートサーバ３０３は、この接続に対応するｓＰｉｎを入力するようユーザ２０５に依頼するメッセージ５１９をユーザ２０５に送る。
１０．次に、リモートサーバ３０３は、ステップ５２１で、トランザクションを続けるようにユーザ２０５が認証され許可され得るかどうか判定する。ユーザ２０５によって入力されたｓＰｉｎが、クライアントＩＰ用のマップ中のものと一致する場合、ユーザ２０５は、やはり同じマップ中に記憶されている、適切な証明を用いてログインしている。ワークフローはここで、ステップ１２（図５に要素５２３と示される）で継続し得る。
１１．しかし、ユーザ２０５によって入力されたｓＰｉｎがマップ中のものと一致しない場合、リモートサーバ３０３は、ユーザ２０５への接続を閉じる。アクセスは許可されない。さらに、クライアントＩＰをある特定のユーザアカウントおよびインターネットスマートカードにリンクするマップが、ステップ５２１’で破棄される。以下に列挙される、後に続くステップは無意味になる。
１２．アクセスが認められると、ユーザ２０５は、この時点で、ブラウザＢ２  ３０７を介してリモートサーバ３０３によって提供されるウェブサービスと対話することができる（５２３）。この対話における一ステップは、何らかの機密情報（たとえばユーザのクレジットカード番号および有効期限）が、手でタイプされるのではなく、インターネットスマートカードから取り出されることを要求するものでよい。ユーザ２０５は、リモートサーバ３０３に、インターネットスマートカード２０７がこの情報を送ることを指示する。
１３．リモートサーバ３０３はここで、機密情報がインターネットスマートカード２０７から届くのを待つ（５２５）。リモートサーバ３０３でのトランザクションならびにウェブブラウザＢ２  ３０７上でのユーザインタフェースは、待機モードに入る。
１４．ユーザ２０５はここで、インターネットスマートカード上で、ウェブサーバに接続されるブラウザＢ１  ３０５に切り換える。ユーザ２０５は、ステップ５２７で、リモートサーバ３０３に送る機密情報を選択し、メッセージ５２９で、カード２０７と対話して、リモートサーバ３０３に送られるべき機密情報を送るようカードに命令する。これは、リモートサーバ３０３が待っているのと同じ情報である。
１５．スマートカード２０７は、ステップ５３１で、リモートサーバに選択された情報を送り、リモートサーバ３０３からの応答メッセージ５３３を読む。応答は、トランザクションの状況およびリモートサーバ３０３が返送したいと望むどの付加情報も含み得る。
１６．リモートサーバは、メッセージ５３１中で受け取られた機密情報を使って、ステップ１３で待機状態に置かれたトランザクションをステップ５３５で完了する。
１７．リモートサーバ３０３は、ブラウザＢ２  ３０７にアップデートメッセージ５３７を送って、ブラウザＢ２  ３０７上のユーザインタフェースを、要求されたトランザクションが完了されたことを示すように更新させる。
１８．ユーザ２０５は、メッセージ５３９で、リモートサーバ３０３からログアウトする。
１９．ユーザログアウト要求５３９を受け取った後、リモートサーバは、ステップ５４１で、クライアントＩＰのマッピングを消去する。この消去は、後に続くトランザクションがスマートカード２０７に送られるのを防ぐ。
２０．ユーザ２０５は、メッセージ５４３で、自分のインターネットスマートカード２０７からログアウトし、リーダからスマートカード２０７を取り外してよい。
【００４７】
プルモデル
プルモデルにおいて、インターネットスマートカード２０７は、接続されているＬＡＮの外部からアクセス可能であるようにネットワーク２０９に接続される。この接続は、外部のクライアントが、インターネットスマートカード２０７上のウェブサーバに接続し、機密情報をプルすることを可能にする。図６は、リモートサーバ３０３がインターネットスマートカード２０７から機密個人データをプルするプルモデルを示すタイミングおよびデータフロー図であり、このモデルにおける３つのキー要素、すなわち、ローカルＰＣ２０３、インターネットスマートカード２０７およびサービスプロバイダのリモートサーバ３０３の対話を示す。図５でのように、要素間の相互作用を指すすべての矢印は、ＳＳＬ／ＴＬＳプロトコルを用いたＨＴＴＰＳ接続を表す。
【００４８】
プルモデルにおけるいくつかのステップ（番号１〜１１）は、プッシュモデルと同一であるが、完全に説明するためにここで繰り返される。同様に、同じ要素およびアクションは、図５、６中で同じ参照番号を有する。
１．ユーザ２０５は、ローカルＰＣ２０３上でウェブブラウザＢ１  ３０５をスタートする。ブラウザＢ１  ３０５は、インターネットクライアントアプリケーションとして作用する。
２．ステップ５０２で、Ｂ１  ３０５から、ユーザは、インターネットスマートカード２０７に接続し、安全なＨＴＴＰＳ接続を介し自分のＰＩＮを使って自分の認証を行う。
３．認証されると、ユーザ２０５は、信頼できるサービスプロバイダ５０３のリストを提示される。ユーザは、サービスプロバイダを選び、ステップ５０５で、インターネットスマートカードに、このサービスプロバイダとの安全な接続を確立するよう依頼する。
４．インターネットスマートカード２０７は、選択されたサービスプロバイダに対応するリモートサーバ３０３のＩＰアドレスを知る。カード２０７は、ステップ５０７で、ＳＳＬ／ＴＬＳプロトコルを用いてリモートサーバ３０３との安全な接続を確立し、スマートカード上に記憶された以下のデータ５０９をリモートサーバ３０３に送る。
ａ．クライアントＩＰ：ローカルＰＣ２０３のＩＰアドレス
ｂ．カードＩＰ：インターネットスマートカード２０７のＩＰアドレス
ｃ．ログイン証明：こうした証明は、ユーザ２０５がリモートサーバ３０３において認証されることを可能にする。こうした証明の例は、ユーザ名およびパスワードでよい。
ｄ．ｓＰｉｎ：ユーザがリモートサーバ３０３とのセッションを実際に開始する際に一段階上のレベルの認証をもたらす共有の秘密ＰＩＮ。
５．ステップ４で送られたデータ５０９を受け取った後、リモートサーバ３０３は、ステップ５１１で、クライアントＩＰを他の３つの属性、すなわちカードＩＰ、ログイン証明、ｓＰｉｎとリンクする内部マップを作成する。
６．ユーザ２０５はここで、Ｂ１  ３０５中のリンクをクリックして、ウェブブラウザの別のインスタンス、すなわちＢ２  ３０７を、リモートサーバ３０３の認証ページに設定されたＵＲＬで起動する（ステップ５１３）。
７．第２のブラウザインスタンスＢ２  ３０７が、ステップ５１５で、リモートサーバ３０３に接続して、新規セッションを要求する。
８．ローカルＰＣ２０３から新規セッション要求を受け取った後、リモートサーバ３０３は、要求が、ステップ４においてメッセージ５０９中で渡されたのと同じクライアントＩＰアドレスからのものであると判定することができる。リモートサーバ３０３は、ステップ５１７で、このクライアントＩＰのマッピングに、「接続済」とフラグを立てるが、まだ「認証済」ではない。接続済は、ユーザが対応するＩＰアドレスから接続していることを意味し、１つの接続しか許可されないので、後に続くどの接続要求も引き受けられない。
９．現在のセッションを認証するために、リモートサーバ３０３は、この接続に対応するｓＰｉｎを入力するようユーザ２０５に依頼するメッセージ５１９をユーザ２０５に送る。
１０．次に、リモートサーバ３０３は、ステップ５２１で、トランザクションを続けるようにユーザ２０５が認証され許可され得るかどうか判定する。ユーザ２０５によって入力されたｓＰｉｎが、クライアントＩＰ用のマップ中のものと一致する場合、ユーザ２０５は、やはり同じマップ中に記憶されている、適切な証明を用いてログインしている。ワークフローはここで、ステップ１２（図６に要素６２３と示される）で継続し得る。
１１．しかし、ユーザ２０５によって入力されたｓＰｉｎがマップ中のものと一致しない場合、リモートサーバ３０３は、ユーザ２０５への接続を閉じる。アクセスは許可されない。さらに、クライアントＩＰをある特定のユーザアカウントおよびインターネットスマートカードにリンクするマップが、ステップ５２１’で破棄される。以下に列挙される、後に続くステップは無意味になる。
１２．アクセスが認められると、ユーザ２０５は、この時点で、ステップ６２３でＢ２  ３０７を介してリモートサーバ３０３によって提供されるウェブサービスと対話することができる。この対話の一側面は、何らかの機密情報（たとえばユーザのクレジットカード番号および有効期限）が、手でタイプされるのではなく、リモートサーバ３０３によってインターネットスマートカード２０７から取り出されることを要求するものでよい。
１３．リモートサーバ３０３は、メッセージ６２５で、この要求をインターネットスマートカード２０７にフォワードする。リモートサーバ３０３は、機密情報を求める要求を開始するので、プルモデルである。リモートサーバ３０３は、インターネットスマートカード２０７から情報をプルしている。
１４．インターネットスマートカード２０７は、要求された機密情報を直ちに返送するわけではない。そうではなく、メッセージ６２７で、リモートサーバ３０３がこの情報を要求していることをユーザ２０５に通知する。この通知は、インターネットスマートカード２０７に接続されたウェブブラウザＢ１  ３０５を介してユーザ２０５に送られる。
１５．ユーザは、メッセージ６２９で、承認または拒否どちらかで応答する。
１６．インターネットスマートカード２０７は次いで、メッセージ６３１で、ユーザ２０５から受け取られた応答に基づいてリモートサーバ３０３に応答する。ユーザ２０５が承認した場合、機密情報は、リモートサーバ３０３に送られる。承認しなかった場合、拒絶メッセージが送られる。
１７．スマートカード２０７によって機密情報が送られると、リモートサーバ３０３は、ステップ６３３で、トランザクションを完了する。拒絶メッセージが受け取られると、リモートサーバ３０３は、トランザクションを破棄する（図示せず）。トランザクションが完了した後、リモートサーバは、メッセージ６３５で、状況およびどの付加情報もインターネットスマートカードに送る。
１８．ユーザは、メッセージ６３７で、リモートサーバからログアウトする。
１９．ユーザログアウト要求を受け取った後、リモートサーバは、ステップ６３９で、クライアントＩＰのマッピングを消去する。この消去は、後に続くトランザクションがスマートカードに送られるのを防ぐ。
２０．ユーザは、メッセージ６４１で、自分のインターネットスマートカード２０７からログアウトする。
【００４９】
プッシュおよびプルモデルの比較
上述したように、インターネットスマートカード２０７がＩＰアドレスを有する限り、ほとんどのネットワーク構成においてプッシュモデルが使われ得る。このＩＰアドレスは、グローバルにアクセス可能でも、一意でもよい。さらに、インターネットスマートカード２０７上で実行されるウェブサーバへの直接外部アクセスを防ぐファイアウォールが存在してよい。インターネットスマートカード２０７は、ＴＣＰ／ＩＰ接続を開始し、ＬＡＮ外部のウェブサーバに接続することができるので、プッシュモデルは、安全なオンライントランザクションをサポートすることができる。
【００５０】
対照的に、プルモデルは、インターネットスマートカード２０７が、ＬＡＮ外部から見え、アクセス可能であるようにネットワークに接続される場合に使われ得るに過ぎない。このモデルでは、外部エンティティ、たとえばリモートサーバ３０３が、インターネットスマートカード２０７上で実行されるウェブサーバに接続する。
【００５１】
使用シナリオ
通常の使用シナリオにおいて、ユーザ２０５は、インターネットスマートカード２０７を携行する。カード２０７は、どのＰＣ２０３を介してもネットワーク２０９に接続され得る。ＰＣ２０３は、公共の場所にあってよく、安全でなくてよいが、依然として、安全なオンライントランザクションのためにインターネットスマートカード２０７をインターネット２０９に接続するのに使われ得る。このシナリオは、「自分がもっているもの」というパラダイムのセキュリティを付加する。インターネットスマートカード２０７は、トランザクションが完了されると、ネットワークから取り外され、ユーザのポケットの中に返され得る。ユーザのポケットの中にあるときは、悪意のあるコードがインターネットスマートカード２０７に対して攻撃をしかけることはできない。このような攻撃に対抗する保護策も存在するが、ネットワーク上にカード２０７を置かないことが、このような攻撃が起こる万が一の可能性さえも妨げる。
【００５２】
身元情報の窃盗に基づくスクリーンキャプチャの防止
キーストロークロガーに加え、人々がコンピュータ上で何をしているかを監視し、インターネットを介してログを送ることができる他のスパイ機構が存在する。たとえば、一部の製品は、コンピュータスクリーンを取り込み、他の製品は、スクリーンおよびキーストローク両方を取り込む。取り込まれた情報は、インターネット経由で伝送されるか、または機密情報、たとえばパスワードを抽出する分析のために後で取り出される。
【００５３】
本発明による、身元情報の窃盗を防止する方法は、オンラインの身元情報の窃盗に基づくスクリーンキャプチャも防止することができる。機密情報は、暗号化され、インターネットスマートカード２０７と安全なリモートサーバ３０３の間で直接送られる。ユーザ２０５が使っているローカルコンピュータ２０３には、このような情報は平文で見えず、したがって、スクリーンに表示することができない。したがって、スクリーンキャプチャラは、情報を得ることができない。
【００５４】
ユーザ２０５によって手入力される機密情報のただ２つの部分は、スマートカードに対して自分を認証するための自分のＰＩＮ、およびリモートサーバ３０３に対して認証するためのｓＰｉｎである。このいずれも、現在のセッションをいかなる形でも危険にさらすことはない。取り込まれた場合であっても、ＰＩＮおよびｓＰＩＮは、インターネットスマートカード２０７への物理的アクセスなしでは有用でない。さらに、こうした値は両方とも、ユーザが、たとえばユーザの家庭または職場における安全なＰＣ環境に戻ると、容易に変えられ得る。
【００５５】
結論
本発明は、インターネットスマートカードを使って、オンラインでの身元情報の窃盗を防止し、オンライントランザクションを安全にする新たなシステムおよび方法を提示する。この新たな方法を用いると、スマートカード２０７と、銀行などのサービスプロバイダの安全なリモートサーバ３０３との間に、安全なインターネット接続が確立される。パスワード、ＳＳＮ、およびクレジットカード番号などの個人情報は、スマートカード２０７中に記憶される。情報は、スマートカード２０７中に暗号化され、ユーザの許可によりカードからサーバ３０３に直接安全に送られる。したがって、どの機密の個人情報も、ローカルコンピュータ２０３およびインターネット２０９を平文（暗号化されていない）形式で経由しない。この機構は、暗号化される前に情報をコンピュータ上で取り込む身元情報の窃盗機構に対抗する。この方法は、安全なインターネットスマートカードの形に限定されない。この方法は、インターネットノードであるとともにトークン内部のセキュリティ境界を有する他の安全なトークンにも当てはまる。
【図面の簡単な説明】
【００５６】
【図１ａ】キーボードロガーまたは同様のプログラムもしくはハードウェアを使って、身元情報の窃盗がどのようにして実現され得るかを示す図である。
【図１ｂ】キーボードロガーまたは同様のプログラムもしくはハードウェアを使って、身元情報の窃盗がどのようにして実現され得るかを示す図である。
【図１ｃ】キーボードロガーまたは同様のプログラムもしくはハードウェアを使って、身元情報の窃盗がどのようにして実現され得るかを示す図である。
【図２ａ】本発明の好ましい実施形態において利用される２つの代替物理構成を示す図である。
【図２ｂ】本発明の好ましい実施形態において利用される２つの代替物理構成を示す図である。
【図３】本発明によるインターネットスマートカードを用いた、インターネットを介した論理接続を示す図である。
【図４】本発明による、サーバと多数のクライアントおよびスマートカードとの間の安全な論理接続を示す図である。
【図５】本発明による、インターネットスマートカードからリモートサーバに機密の私的情報を伝送するプッシュモデルを示すタイミングおよびデータフロー図である。
【図６】本発明による、インターネットスマートカードから機密の私的情報をリモートサーバによって取り出すプルモデルを示すタイミングおよびデータフロー図である。
【図１ａ】
2007513406.tif 000003
【図１ｂ】
2007513406.tif 000004
【図１ｃ】
2007513406.tif 000005
【図２ａ】
2007513406.tif 000006
【図２ｂ】
2007513406.tif 000007
【図３】
2007513406.tif 000008
【図４】
2007513406.tif 000009
【図５】
2007513406.tif 000010
【図６】
2007513406.tif 000011
【国際調査報告】
2007513406.tif 000012
2007513406.tif 000013
2007513406.tif 000014