(57)【特許請求の範囲】
【請求項１】
クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピューティングシステムであって、前記コンピューティングシステムは、
前記クライアントデバイスに結合される、第１のデータポートと、
前記サーバコンピュータに結合される、第２のデータポートと、
非一過性の有形記憶媒体であって、
（ａ）不可逆暗号化アルゴリズムを使用する、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号と、
（ｂ）前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用する、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号と
が記憶される、非一過性の有形記憶媒体と、
コンピューティングプロセッサであって、前記ネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信するように構成され、そのような受信に応答して、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記第２のデータポートを使用して、前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記第１のデータポートを使用するクライアントデバイスと前記第２のデータポートを使用するサーバコンピュータとの間でサービスデータを交換するステップと、
を実施する、コンピューティングプロセッサと、
を備える、コンピューティングシステム。
【請求項２】
前記クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンを含む、請求項１に記載のシステム。
【請求項３】
前記第１のデータポートは、ローカルエリアネットワークに結合される、請求項１に記載のシステム。
【請求項４】
前記第２のデータポートは、インターネットに結合される、請求項１に記載のシステム。
【請求項５】
前記不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含む、請求項１に記載のシステム。
【請求項６】
前記可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムを含む、請求項１に記載のシステム。
【請求項７】
前記クライアントデバイスの一意の特性は、汎用一意識別子（ＵＵＩＤ）またはグローバル一意識別子（ＧＵＩＤ）を含む、請求項１に記載のシステム。
【請求項８】
前記クライアントデバイスのユーザの一意の特性は、バイオメトリックまたは前記ユーザのみに把握されるパスワードを含む、請求項１に記載のシステム。
【請求項９】
前記コンピューティングプロセッサはさらに、前記コンピューティングシステムと前記クライアントデバイスとの間でのみ共有される秘密を使用して、前記第１のデータポートを経由して暗号データ通信を実施するように構成される、請求項１に記載のシステム
【請求項１０】
前記コンピューティングプロセッサはさらに、前記コンピューティングシステムと前記サーバコンピュータとの間でのみ共有される秘密を使用して、前記第２のデータポートを経由して暗号データ通信を実施するように構成される、請求項１に記載のシステム。
【請求項１１】
前記コンピューティングプロセッサはさらに、前記クライアントデバイスのネットワークアドレスを前記第２のデータポートに通信することを回避し、前記サーバコンピュータのネットワークアドレスを前記第１のデータポートに通信することを回避するように構成される、請求項１に記載のシステム。
【請求項１２】
クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、前記クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスと前記サーバコンピュータとの間の暗号化分離を提供する方法であって、前記方法は、
前記クライアントデバイスの要求時に、前記コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップと、
前記サーバコンピュータの要求時に、前記コンピューティングシステムによって、前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップと、
前記コンピューティングシステムにおける、前記ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記クライアントデバイスと前記サーバコンピュータとの間でサービスデータを交換するステップと、
を含む、方法。
【請求項１３】
前記クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンである、請求項１２に記載の方法。
【請求項１４】
前記不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含む、請求項１２に記載の方法。
【請求項１５】
前記可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムを含む、請求項１２に記載の方法。
【請求項１６】
前記クライアントデバイスの一意の特性は、汎用一意識別子（ＵＵＩＤ）またはグローバル一意識別子（ＧＵＩＤ）を含む、請求項１２に記載の方法。
【請求項１７】
前記クライアントデバイスのユーザの一意の特性は、バイオメトリックまたは前記ユーザのみに把握されるパスワードを含む、請求項１２に記載の方法。
【請求項１８】
前記コンピューティングシステムと前記クライアントデバイスとの間でのみ共有される秘密を使用して、暗号データ通信を実施するステップをさらに含む、請求項１２に記載の方法。
【請求項１９】
前記コンピューティングシステムと前記サーバコンピュータとの間でのみ共有される秘密を使用して、暗号データ通信を実施するステップをさらに含む、請求項１２に記載の方法。
【請求項２０】
クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、前記クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスと前記サーバコンピュータとの間の暗号化分離を提供するためのコンピュータプログラムコードが記憶される、非一過性の有形記憶媒体であって、
前記クライアントデバイスの要求時に、前記コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップと、
前記サーバコンピュータの要求時に、前記コンピューティングシステムによって、前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップと、
前記コンピューティングシステムにおける、前記ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記クライアントデバイスと前記サーバコンピュータとの間でサービスデータを交換するステップと、
のためのコンピュータプログラムコードを備える、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１４年５月１４日に出願された米国仮出願第６１／９９６，７０４号の利益を主張するものであり、該米国仮出願の内容は、その全体が参照により本明細書中に援用される。
【０００２】
本発明は、マルチコンピュータデータ転送に関し、より具体的には、処理エージェントがネットワークユーザに対して暗号的にセキュアな仮想プレゼンスを提供する、分散データ処理に関する。
【背景技術】
【０００３】
今日のコンピュータシステムは、セキュアではない。それらは、システムのクラッキング、システムの途絶、およびユーザの悪意のあるなりすましを含む、多数のセキュリティ問題に悩まされている。一部の悪意のある人物（「システムクラッカ」）は、そのセキュリティ機構を迂回またはクラッキングして、システムに侵入する。これらのシステムクラッカは、データおよびシステムをセキュアにするためのアクセスを取得する、重要なデータを変更または破壊する、セキュリティシステム自体を変更または破壊し、バックドアを設置する、もしくは制限された施設への物理的アクセスを許可する、または機密データへのその承認されていないアクセスを使用して、任意の数の二次犯罪を行うことができる。他の悪意のある人物は、システム機能を妨害し、例えば、圧倒数の望ましくない妨害データを用いてコンピュータシステムを氾濫させることによって、サービス拒否（ＤｏＳ）攻撃を行い、それによって、システムが応答する方法を変更または遅延させることができる。そのようなＤｏＳ攻撃は、重要な航空、公共輸送、および緊急応答システムを妨害し、人々の重要なインフラストラクチャシステムを脆弱なままにし得る。他の悪意のある人物は、医師、弁護士、法執行機関、または他の信頼できる人物になりすまし、制限されたデータおよびサービスへのアクセスを取得し得る。例えば、偽の識別は、武器を所持する悪意のある人物が、空港のセキュリティエリアへのアクセスを取得し、飛行機に搭乗することを可能にし得る。
【０００４】
これらのセキュリティ問題のいくつかの解決策が、当分野において存在し、とりわけ、ログイン名およびパスワード、コンピュータシステムへの承認されていないアクセスを除外するファイアウォール、間の空いたトランザクションのためのワンタイムパスワード、ＨＳＰＤ−１２およびＦＩＰＳ  ２０１に準拠するもの等のスマートカード、アクセス制御リスト、および仮想プライベートコンピュータネットワークを含む。従来技術における１つのそのような解決策が、図１に示される。ここでは、要求者１００は、単一サーバコンピュータまたはコンピューティングリソースのネットワークであり得る、「処理クラウド」１３０によって図に表される、ネットワークデータおよびサービスへのアクセスを取得することを所望する。要求者１００は、要求者デバイス１１０へのアクセスを有する。典型的には、要求者１００は、上記に留意されるように、ユーザ名およびパスワードを使用して、要求者デバイス１１０にログインするであろう。次に、要求者１００は、要求者デバイス１１０上で起動するソフトウェアアプリケーションに命令し、コンピュータネットワーク（図示せず）を使用してクラウド１３０内のネットワークサービスへの接続を試行するであろう。要求者デバイス１１０は、通常、当分野で公知であるように、ドメインネームサービス（ＤＮＳ）等のデータベースサービスを使用して、ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ等のサービスに対して提供された名前と関連付けられたインターネットアドレスを検索するであろう。要求者デバイス１１０は、次いで、インターネットアドレスを使用して、サービスへの接続を試行する。逆に、サービスは、ファイアウォール１２０を通して全てのそのような着信する要求をルーティングする。ファイアウォールは、ＤｏＳ攻撃の防止、サービスにアクセスするための承認および認証チャレンジ、ポートフォワーディング、ウィルススキャン等のセキュリティサービスを提供する。ファイアウォール１２０が、試行されたアクセスが正当であると判定する場合、これは、要求者デバイス１１０ａに、サービスへのアクセスを許可するデータチャネルを提供する。典型的には、ファイアウォール１２０は、このデータチャネルを維持するが、そうでなければ、これを通過するデータを監視しない。このデータチャネルは、ＳＳＬ等の当分野で公知の技法を使用して、要求者デバイス１１０とクラウド１３０内のサービスの両方によって暗号化され得る。いったんトランザクションが完了すると、データチャネルは、「取り壊され」、要求者デバイス１１０、ファイアウォール１２０、およびクラウドサービス１３０上の処理リソースを解放する。
【０００５】
そのような従来技術のセキュリティ手段は、概して、システム自体の内部ではなく、セキュアにされているシステムの周囲で一度システム保護を確立する。それらは、これらのリソースに、およびそれらから伝送されるデータを保護するのではなく、通信チャネル等のセキュアなコンピューティングリソースへのアクセスを保護することに関するため、いったん悪意のある人物がアクセスを取得すると、彼らは、さらなるチャレンジなしで機密データを除去し得る。さらに、従来技術のアクセス制限は、アクセスを要求する人物の識別の任意の判定の前に、またはその一部として実施される。したがって、それらは、なりすまし攻撃および中間者（ＭｉｔＭ）攻撃に悩まされる。さらに悪いことに、暗号化および復号化動作を実施するシステムでは、これらの動作は、最初のインスタンスでは大量のコンピューティングパワーを有していないスマートフォン等の「シン」クライアントデバイスによって、およびその上で実行されなければならない。数百万のそのようなデバイスに暗号化および復号化キーを配布するための当分野のシステムは、煩雑かつ高価であり、良好に拡張しない。
【０００６】
エンドユーザシステムは、暗号化を使用するものであっても、侵害の脅威に起因して、セキュアな環境においても完全に信頼され得ない。いったんシステムセキュリティが悪意のあるユーザ（「システムクラッカ」）によってクラッキングされると、システムクラッカは、システム内に記憶され、それによって使用されるデータおよびアルゴリズムにアクセスすることによって、正当なユーザとして偽装することができる。セキュアなトランザクションを実施する全てのエンドユーザシステム上に存在する識別プロセスのこれらの「アーチファクト」は、検証された識別に依拠するトランザクションシステムに対して望ましくない攻撃ベクトルを提供し、これらのシステムによって提供されるセキュリティおよび信頼性保証を減少させる。
【発明の概要】
【課題を解決するための手段】
【０００７】
前述の不利点に対処するために、本発明の例証される実施形態は、「パーソナルセキュリティサーバ」またはＰＳＳを提供する。ＰＳＳは、クライアントデバイスと多数のネットワークサービスとの間に介在するプロキシシステムであり、クライアントデバイスとサービスを提供するサーバコンピュータとの間の暗号化分離を提供する。そのようなシステムは、そのデバイスの機能性を補完するために、ファイアウォールまたは他の周囲デバイスに加えて使用されてもよい。ＰＳＳは、クライアントデバイスが、そのネットワークアドレスを含む、サーバコンピュータについての任意の情報を取得することを防止し、サーバコンピュータが、サービスを要求しているクライアントデバイスについての任意の情報を取得することを防止する。サービス承認データへのアクセスは、クライアントデバイスのユーザによってのみ提供され得る入力を要求する。
【０００８】
３層セキュリティアーキテクチャにおけるデバイスのうちのいずれかのデバイスの侵害はもはや、承認されていないトランザクションまたは認証盗難の実行をもたらし得ない。クライアントデバイスまたはＰＳＳが侵害される場合、そのようなアクセスは、バイオメトリックまたはパスワードを使用してクライアントデバイスの適切なユーザから別個の承認を要求する、ＰＳＳを通してのみ取得され得るため、悪意のあるユーザは、クライアントデバイスによって以前にアクセスされたいかなるサービスにもアクセスすることが不可能である。サーバコンピュータまたはＰＳＳが侵害される場合、攻撃者は、ユーザの識別を盗難するために使用され得る、ユーザのいかなる個人情報も見出さないであろう。
【０００９】
したがって、本発明の第１の実施形態は、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピューティングシステムである。コンピューティングシステムは、４つの構成要素、すなわち、クライアントデバイスに結合される、第１のデータポートと、サーバコンピュータに結合される、第２のデータポートと、非一過性の有形記憶媒体と、コンピューティングプロセッサとを有する。
【００１０】
記憶媒体は、不可逆暗号化アルゴリズムを使用して、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶する。記憶媒体はまた、オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、ユーザがネットワークサービスにアクセスすることを許可する条件としてサーバコンピュータに提示されるために、サーバコンピュータによって要求されるサービス承認データの暗号を記憶する。
【００１１】
コンピューティングプロセッサは、ネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信し、そのような受信に応答して、４つのプロセスを実施するように構成される。第１のプロセスは、不可逆暗号化アルゴリズムを使用して、未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップである。第２のプロセスは、暗号化された未確認のユーザ認証データが、オリジナルユーザ認証データの記憶された暗号と一致するときのみであるが、サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップである。第３のプロセスは、第２のデータポートを使用して、サーバコンピュータに、ユーザに代わってネットワークサービスにアクセスする要求と組み合わせて、復号化されたサービス承認データを提示するステップである。第４のプロセスは、コンピューティングシステムにおける、ユーザがネットワークサービスにアクセスすることが承認されることを示すデータのサーバコンピュータからの受信に応じて、第１のデータポートを使用するクライアントデバイスと第２のデータポートを使用するサーバコンピュータとの間でサービスデータを交換するステップである。
【００１２】
基本システムの種々の改善が、想定される。特に、クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンであってもよい。第１のデータポートは、ローカルエリアネットワークに結合されてもよい。第２のデータポートは、インターネットに結合されてもよい。不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含んでもよい。可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムであってもよい。クライアントデバイスの一意の特性は、汎用一意識別子（ＵＵＩＤ）またはグローバル一意識別子（ＧＵＩＤ）を含んでもよい。クライアントデバイスのユーザの一意の特性は、バイオメトリックまたはユーザのみに把握されるパスワードであってもよい。コンピューティングプロセッサはさらに、コンピューティングシステムとクライアントデバイスとの間でのみ共有される秘密を使用して、第１のデータポートを経由して暗号データ通信を実施するように構成されてもよい。コンピューティングプロセッサはさらに、コンピューティングシステムとサーバコンピュータとの間でのみ共有される秘密を使用して、第２のデータポートを経由して暗号データ通信を実施するように構成されてもよい。また、コンピューティングプロセッサはさらに、クライアントデバイスのネットワークアドレスを第２のデータポートに通信することを回避し、サーバコンピュータのネットワークアドレスを第１のデータポートに通信することを回避するように構成されてもよい。
【００１３】
本発明の別の実施形態は、クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法である。本方法は、６つのプロセスを含む。第１のプロセスは、クライアントデバイスの要求時に、コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップである。第２のプロセスは、サーバコンピュータの要求時に、コンピューティングシステムによって、オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、ユーザがネットワークサービスにアクセスすることを許可する条件としてサーバコンピュータに提示されるために、サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップである。
【００１４】
残りのプロセスは、コンピューティングシステムシステムにおける、ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて起きる。第３のプロセスは、不可逆暗号化アルゴリズムを使用して、未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップである。第４のプロセスは、暗号化された未確認のユーザ認証データが、オリジナルユーザ認証データの記憶された暗号と一致するときのみであるが、サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップである。第５のプロセスは、サーバコンピュータに、ユーザに代わってネットワークサービスにアクセスする要求と組み合わせて、復号化されたサービス承認データを提示するステップである。第６のプロセスは、コンピューティングシステムにおける、ユーザがネットワークサービスにアクセスすることが承認されることを示すデータのサーバコンピュータからの受信に応じて、クライアントデバイスとサーバコンピュータとの間でサービスデータを交換するステップである。
【００１５】
本システムの実施形態に関して上記に説明される改善はまた、本方法の実施形態に適用されてもよい。
【００１６】
本発明の第３の実施形態は、クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピュータプログラムコードが記憶される、非一過性の有形記憶媒体である。記憶媒体は、上記に説明される本方法の実施形態のプロセスを実施するためのコンピュータプログラムコードを備える。記憶媒体はまた、本方法の実施形態の改善のいずれかを実施するためのコンピュータプログラムコードを含んでもよい。
【図面の簡単な説明】
【００１７】
前述の実施形態の特徴は、付随の図面を参照して検討される、以下の詳細な説明を参照することによって、より容易に理解されるであろう。
【００１８】
【図１】図１は、従来技術のクライアント−サーバアーキテクチャを図式的に示す。
【００１９】
【図２】図２Ａおよび２Ｂは、本発明による、３層セキュリティアーキテクチャの異なる実施形態を図式的に示す。
【００２０】
【図３】図３は、本発明の実施形態による、ＰＳＳコンピューティングシステムを図式的に示す。
【００２１】
【図４】図４は、本発明の実施形態による、ＰＳＳを初期化する方法を例証する、フローチャートである。
【００２２】
【図５】図５は、本発明の実施形態による、ＰＳＳを使用してクライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法を例証する、フローチャートである。
【００２３】
【図６】図６は、本発明の実施形態による、二次ＰＳＳを使用してネットワークサービスを監査する方法を例証する、フローチャートである。
【発明を実施するための形態】
【００２４】
コンピューティングシステム、方法、およびコンピュータプログラム製品が、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する。コンピューティングシステムは、クライアントデバイスまたはサーバコンピュータのいずれも他方についての情報を取得し得ないように、クライアントデバイスおよびそのユーザの暗号化されたユーザ認証データならびにサーバコンピュータの暗号化されたサービス承認データを記憶する。コンピューティングシステムにおける、未確認のユーザ認証データおよびネットワークサービスにアクセスする要求の後続受信に応じて、コンピューティングシステムは、未確認の認証データを暗号化し、これを記憶された暗号化データと比較する。これらの暗号化されたデータが一致するときのみ、コンピューティングシステムは、サービス承認データを復号化し、これをサーバコンピュータに提供し、ネットワークサービスへのアクセスを取得することが可能である。
【００２５】
本発明の例証的実施形態は、付加的な算出層を標準クライアント−サーバモデルに追加し、増進されたセキュリティを有する３方向アーキテクチャを提供する。３層セキュリティアーキテクチャ２００ａおよび２００ｂの種々の実施形態が、それぞれ、図２Ａおよび２Ｂに図式的に例証される。パーソナルセキュリティサーバまたはＰＳＳ（また、「パーソナルサーバ」とも称され得る）と呼ばれる算出ユニット２１０が、クライアント要求者デバイス２０１とサーバクラウド２３０との間の全ての通信に参加し、これをセキュアにする。サーバクラウド２３０は、アプリケーションソフトウェアをホストし得、そのアプリケーションは、「クラウドアプリケーション」と称され得る。「クラウドアプリケーション」の存在は、アプリケーションソフトウェアをホストするサーバコンピュータハードウェアを含意する。ＰＳＳ２１０は、コンピュータハードウェアの専用アイテム上、または１つもしくはそれを上回るクライアント要求者デバイス２０１上に実装されてもよい。ＰＳＳ２１０は、例えば、（図２Ａのような）ローカルエリアネットワークまたは（図２Ｂのような）インターネット等の通信ネットワーク２４０に結合される。
【００２６】
図３は、本発明の実施形態による、ＰＳＳコンピューティングシステム２１０を図式的に示す。ＰＳＳコンピューティング２１０は、４つの構成要素、すなわち、２つのデータポート２１１および２１２と、コンピューティングプロセッサ２１３と、記憶媒体２１４とを含む。これらは、ここで順番に説明される。
【００２７】
第１のデータポート２１１が、第１のデータネットワークを経由してＰＳＳ２１０をクライアント要求者デバイス２０１に結合する。上記に説明されるように、第１のデータネットワークは、ローカルエリアネットワークであってもよいが、他の実施形態は、限定ではないが、セルラー電話ネットワーク、衛星ネットワーク、またはインターネット等の他のデータネットワークを使用してもよい。第２のデータポート２１２が、第２のデータネットワークを経由してＰＳＳ２１０をサーバクラウド２３０内のサーバコンピュータに結合する。上記に説明されるように、第２のデータネットワークは、インターネットであってもよいが、任意の他のデータネットワークが、使用されてもよい。各データポート２１１、２１２は、Ｗｉ−ｆｉポート、イーサネット（登録商標）ポート、無線ポート、またはデータ接続を提供するために当分野で公知の任意の類似する技術であってもよい。
【００２８】
非一過性の有形記憶媒体２１４が、ＰＳＳ２１０のための揮発性記憶装置を提供する。一実施形態では、記憶媒体２１４は、記憶されたデータへの迅速なアクセスを提供するソリッドステートメモリであるが、他のタイプのメモリが、他の実施形態で使用されてもよい。（例えば、トランザクションの恒久的な監査ログを提供するために）不揮発性記憶装置が所望される場合、ＰＳＳ２１０は、ハードディスクドライブ、ストレージエリアネットワーク、またはネットワーク接続ストレージ等の別個の記憶媒体（図示せず）を含む、またはそれに結合されてもよい。
【００２９】
例証される実施形態によると、記憶媒体２１４は、２つのタイプの暗号化されたデータを記憶する。第１のタイプのデータは、ユーザ認証に関連し、ＰＳＳ２１０をクライアントデバイス２０１に一意に結び付ける一方、第２のタイプのデータは、サービス承認に関連し、ユーザに代わってＰＳＳ２１０がサーバクラウド２３０内のサーバコンピュータにアクセスすることを可能にする。これらのデータは、図４と併せてより詳細に説明される初期化段階中に提供され、図５と併せてより詳細に説明されるトランザクション段階中に使用される。トランザクション履歴の帯域外監査が、図６に例証される。
【００３０】
コンピューティングプロセッサ２１３は、図４−６と併せて以下により詳細に説明される、暗号化分離の実装に関連するいくつかのタスクを実施する。これは、これらのタスクを実施するための命令のセット（すなわち、コンピュータプログラムコード）と組み合わせて、マイクロプロセッサまたは当分野で公知の類似する機構を使用して実装されてもよい。
【００３１】
図４は、本発明の実施形態による、ＰＳＳを初期化する方法を例証する、フローチャートである。ＰＳＳは、典型的には、少数である、クライアントデバイスの承認されたユーザ毎に暗号化されたユーザ認証データの一セットを記憶するが、これは、数十または数百のサービス（もしくはそれを上回る）であり得る、ユーザがアクセスし得るサービス毎に暗号化されたサービス承認データを記憶する。
【００３２】
第１のプロセス４１０では、ＰＳＳは、クライアントデバイスからオリジナルユーザ認証データを受信する。これらの認証データは、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数である。クライアントデバイスの一意の特性は、汎用一意識別子（ＵＵＩＤ）またはグローバル一意識別子（ＧＵＩＤ）等、クライアントデバイスを一意に識別する役割を果たす任意の特性であってもよく、それらの用語は、当分野で公知である。ユーザの一意の特性は、バイオメトリックまたはユーザのみに把握されるパスワード等、ユーザを一意に識別する役割を果たす任意の特性であってもよい。これらのデータは、以下でより詳細に説明される可逆暗号化アルゴリズムのための暗号化キーとして作用するために十分なデータを形成するために、所与の機能（連結および切捨て等、但し、他の機能も使用され得る）を使用して組み合わせられる。
【００３３】
いったんＰＳＳがユーザおよびクライアントデバイスからの有効なアクセスを認証することを可能にするために十分なデータを有すると、これは、最終的にこれが複数のネットワークサービスに接続することを可能にするであろう承認データを記憶するためのループを開始する。いくつかの実施形態では、これらの承認データは、アプリケーションまたはスマートフォンアプリを使用して、クライアントデバイスからＰＳＳに送信される。随意に、初期化方法におけるこの時点で、ＰＳＳは、アプリケーションまたはアプリをクライアントデバイスにセキュアに伝送してもよい。代替実施形態では、アプリは、クライアントデバイス内にすでにインストールされていてもよい。
【００３４】
アプリがクライアントデバイス内に出現する方法にかかわらず、いったんセキュアな通信チャネルがＰＳＳとクライアントデバイスとの間に確立されると、プロセス４２０では、ＰＳＳは、クライアントデバイスから具体的サービス資格情報を受信する。これらの資格情報は、ユーザがネットワークサービスにアクセスするために必要な全てのデータを含み、当分野で公知であるようなアカウント名または番号、電子メールアドレス、ユーザ名、ユーザパスワード、トランザクションパスワード等のルーチンアイテムを含んでもよい。プロセス４２０中、ＰＳＳは、そのセキュアな監査ログを更新し、（ログ内に資格情報自体を記憶することなく）資格情報の受信を反映する。
【００３５】
プロセス４３０では、ＰＳＳは、サービスを実施するサーバコンピュータにセキュアな接続を確立し、サーバコンピュータに資格情報を送信し、サービス承認を確立する。好ましい実施形態では、この接続のためのサーバコンピュータのネットワークアドレス（例えば、ホスト名またはＩＰアドレス）は、クライアントデバイスがいかなるネットワークアドレスの知識も有することのないように、要求されるネットワークサービスのみを参照することによって識別される。この識別は、例えば、サービス識別子をネットワークアドレスにマッピングするサービスレジストリおよび／またはサービスに接続するためのプロトコルの技術的記述を調べることによって実施されてもよい。
【００３６】
ＰＳＳは、提供されたサービス資格情報を使用してサーバコンピュータに「ログイン」する。接続が確立され得、ログイン資格情報が正しい場合、サーバコンピュータは、データトークンであり得るサービス承認データをＰＳＳに返す。このデータトークンまたは他の承認は、次いで、サービスにログインするためにＰＳＳによって後で使用されてもよい。ログインが成功しない場合、ＰＳＳは、クライアントデバイスに通知し、プロセス４２０に戻る。
【００３７】
ログインが成功し、ＰＳＳがサービス承認を受信した場合、プロセス４４０では、ＰＳＳは、承認データを暗号化し、暗号化されたコピーを記憶する。暗号化は、当分野で公知であるような公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズム等の可逆暗号化アルゴリズムを使用して実施される。これらのアルゴリズムは、復号化キーを使用して暗号化されたデータの復号化を可能にするため、可逆性である。本発明の例証される実施形態によると、復号化キーは、ユーザ認証データを含む。このように、所与のクライアントデバイスからＰＳＳにアクセスする所与のユーザのみが、後でサービス承認を復号化し得る。
【００３８】
いったん暗号化されたサービス承認データが記憶されると、プロセス４５０では、ＰＳＳは、これらのデータの暗号化されていないコピーをそのメモリからセキュアに消去する。本プロセス４５０は、任意のシステムクラッカが、暗号化されていない承認トークンへのアクセスを直ちに取得し得ないことを確実にする。したがって、好ましくは、プロセス４４０および４５０は、当分野で公知であるようなハードウェアセキュリティモジュール（ＨＳＭ）等のセキュアなハードウェア環境において実施される。
【００３９】
プロセス４６０では、ＰＳＳは、クライアントデバイスに、所与のサービスを後で使用するための承認が取得されたことを通知する。いくつかの実施形態では、プロセス４６０は、「プッシュ」または非同期ベースで起こり、種々のサービスが同時に並列に接続されながら、クライアントデバイスからのサービス資格情報の迅速な受信を可能にする。そのような並列処理は、いくつかのネットワークサービスが接続を確立する、またはサービス承認データを作成するのが遅い場合、初期化プロセスを大幅に高速化することができる。
【００４０】
プロセス４７０では、ＰＳＳは、初期化するサービスがさらに存在するかどうかを判定する。典型的には、本プロセスは、ＰＳＳとクライアントデバイス内のアプリとの間の専用プロトコルを使用して遂行され、そのように行うための方法は、周知である。付加的なサービスが初期化されなければならない場合、方法は、プロセス４２０に戻る。しかしながら、いかなる付加的なサービスも初期化されなくてよい場合、本方法は、プロセス４８０を継続し、オリジナルユーザ認証データは、不可逆暗号化アルゴリズムを使用して暗号化され、暗号化されたコピーが、記憶され、暗号化されていないコピーは、ＰＳＳのメモリからセキュアに消去される。不可逆暗号化アルゴリズムは、例えば、暗号ハッシュ関数であってもよく、その語句は、当分野で公知である。プロセス４６０は、暗号化されていない認証データがＰＳＳに留まらないことを確実にし、ＰＳＳへのアクセスを取得するシステムクラッカが任意のサービス承認データを復号化することを防止する。プロセス４８０は、同時に、ユーザ認証データの後続受信が、記憶されたハッシュと比較することによって検証され得ることを確実にする。
【００４１】
追加されるセキュリティ手段として、ＰＳＳとクライントデバイスの間の（およびＰＳＳとサーバコンピュータとの間の）全てのデータ伝送および受信が、クラウドベースの識別システムを使用して遂行されてもよい。１つのそのようなシステムが、「Ｅｆｆｉｃｉｅｎｔ，  Ｓｅｃｕｒｅ，  Ｃｌｏｕｄ−Ｂａｓｅｄ  Ｉｄｅｎｔｉｔｙ  Ｓｅｒｖｉｃｅｓ」と題された、米国特許第８，６６７，２６９号（その内容は、参照することによってその全体として本明細書に組み込まれる）に開示される。このセキュリティ手段によると、ＰＳＳは、本明細書に説明されるプロセスから独立して、デバイスの識別および／または（クライアントデバイスもしくはサーバコンピュータからの未確認の）各メッセージのユーザを検証し、予期されないソースからメッセージが着信する場合、トランザクションを中断し得る。
【００４２】
図５は、本発明の実施形態による、ＰＳＳを使用してクライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法を例証する、フローチャートである。本実施形態によると、クライアントデバイスはもはや、遠隔サーバコンピュータと直接通信しない。遠隔サービスが使用される必要があるとき、ＰＳＳは、暗号的に分離されるプロキシとして作用する。クライアントデバイスは、暗号化された伝送をＰＳＳに送信し、これは、メッセージを復号化し、メッセージの有効性を判定する。有効である場合、メッセージは、遠隔アプリケーションによってのみ可読であるように再暗号化される。有効性チェックは、小規模または広範囲であり得、当分野で公知であるような他のシステムおよびデータベースへのメッセージを含んでもよい。
【００４３】
ＰＳＳの動作段階は、ループである。ループの第１のプロセス５１０では、ＰＳＳは、サービスクラウドのネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信する。本方法のこの時点において、ＰＳＳは、要求がなりすましである、すなわち、悪意のあるユーザによって開始されていると仮定しなければならない。いくつかの実施形態では、ＰＳＳ２１０が、要求がデータポート２１１を使用して着信しない場合、これが偽物であることを判定してもよい。しかしながら、要求がデータポート２１１に由来した場合であっても、これは、（例えば、要求者デバイス２０１の制御が悪意のあるユーザによって乗っ取られた場合）ユーザの許可なしで生成された場合がある。したがって、メッセージは、全ての場合において検証を要求する。
【００４４】
図３を参照すると、ＰＳＳ２１０は、クライアントデバイス２０１のユーザのプロファイルを構築し、そのプロファイルからの詳細を使用して、そのユーザからのものであることが未確認のメッセージの有効性を評価し得る。そのようなユーザプロファイルは、上記に言及されるＰＳＳ監査ログを含んでもよい。ＰＳＳログは、別のユーザが同じＰＳＳログを有する可能性がごくわずかであるため、これがユーザを一意に識別する点で、指紋と同様である。ユーザプロファイルはまた、クライアントデバイス２０１がメッセージを送信した、または別様にＰＳＳ２１０にアクセスした１つもしくはそれを上回るＩＰアドレス等の情報を含んでもよい。別の実施例として、クライアントデバイス２０１が、その地理的場所を確認および伝送することが可能である場合、ユーザプロファイルは、クライアントデバイス２０１がメッセージを送信した、または別様にＰＳＳ２１０にアクセスした地理的場所を含んでもよい。クライントデバイス２０１からの任意の通信は、メッセージが実際にユーザからのものかどうかを評価するために、ユーザのプロファイルに対してチェックされてもよい。
【００４５】
ユーザの資格情報（例えば、ユーザ名、パスワード）へのアクセスを取得したシステムクラッカは、ユーザの模倣を試行し得るが、ＰＳＳ２１０は、ハッカーがＰＳＳに接続するコンピュータが、同一のユーザログ（例えば、指紋）を有していない、または異なる未知のＩＰアドレスから通信していることを認識するであろう。クラッカがクライアントデバイス２０１を取得し、ＰＳＳ２１０に、またはそれを通して通信するようにデバイスの使用を試行する場合、ＰＳＳ２１０は、デバイスが通常ではないまたは未知の地理的場所から通信していることを認識し得る。例えば、窃盗犯が、Ｎｅｗ  Ｙｏｒｋ市に居住し、履歴的に地理的場所からＰＳＳ２１０にアクセスしていたユーザのスマートフォンを取得および使用する場合、Ｓａｎ  Ｄｉｅｇｏからの窃盗犯のスマートフォンの使用は、ＰＳＳ２１０によって疑わしいものとしてフラグが付けられるであろう。ＰＳＳ２１０は、次いで、スマートフォン２０１からの通信を処理することを拒否し得る、または代替帯域外通信チャネルを使用して、ユーザから付加的な検証を要求し得る。
【００４６】
メッセージ検証の最終チェックとして、プロセス５２０は、オリジナルの検証された認証データと同一のアルゴリズムを使用して、未確認の認証データを暗号化し、プロセス５３０では、暗号化された未確認のデータは、記憶され、暗号化された、検証されたデータと比較される。検証が成功しなかった場合、プロセス５４０では、ＰＳＳは、そのセキュアな監査ログにエラーを記録し、トランザクションを終了させ、随意に、当分野で公知の他の脅威保護手段を講じてもよい。例えば、ＰＳＳは、アクセスが拒否された未確認のユーザ認証データの送信を通知し、ＰＳＳが恒久的にアクセスを拒否し、再認証を要求する前に、データを検証するためのいくつかの付加的な試行を可能にしてもよい。次いで、本方法は、プロセス５１０に戻り、ＰＳＳは、次のサービスアクセス要求を待つ。
【００４７】
しかしながら、検証が成功した場合、その事実もまた、ＰＳＳによって記録され、プロセス５５０では、トランザクションは、進むことを可能にされる。成功および失敗のＰＳＳログは、記憶媒体２１４内または別の場所に記憶されてもよい。これは、決して改変され得ないが、そのサイズに基づいて、ＰＳＳの外部の他のデバイスにアーカイブ化されてもよい。
【００４８】
プロセス５６０では、真正であるとすでに検証された未確認の認証データは、要求された特定のサービスのための初期化中に記憶された、サービス承認データを復号化するために使用され、復号化されたサービス承認データは、サーバコンピュータにセキュアに伝送される。上記に留意されるように、この通信およびセッションを確立するために要求される後続通信は、米国特許第８，６６７，２６９号のセキュアなクラウドベースの識別サービスを使用してもよい。
【００４９】
サービス承認データの復号化は、オリジナルユーザ認証データを復号化パラメータとして使用することを要求し、オリジナルユーザ以外の誰かがサービスにアクセスすることを防止する。オリジナルの暗号化されていない認証データは（図４と併せて上記に説明されるように）ＰＳＳ内に記憶されていないが、暗号化され受信された認証データと、記憶され暗号化されたオリジナル認証データとの間の一致は、受信された未確認のデータが、オリジナルデータと実際に同一であることを意味する。したがって、受信された認証データは、オリジナルデータのための代用としてその暗号化されていない形態で使用され、サービス承認データを復号化し得る。いったん復号化が完了し、暗号化されていないサービス承認データが復元されると、ＰＳＳは、再度、認証データをセキュアに削除する。
【００５０】
最後に、プロセス５７０では、ＰＳＳは、サーバコンピュータから、これがサービス承認データを許容し、トランザクションセッションを開始したという指示を受信する。応答して、ＰＳＳは、ネットワークサービスのプロトコルに従って、クライアントデバイスとサーバコンピュータとの間でサービスメッセージの交換を開始する。トランザクションが完了すると、本方法は、プロセス５１０に戻り、次のサービスアクセス要求を待つ。
【００５１】
ＰＳＳが実施する検証ステップに加えて、多くの他の算出が、行われてもよい。算出は、（例えば、図２Ａのアーキテクチャを使用して）クライアントデバイスから、または（図２Ｂのアーキテクチャを使用して）ネットワークサービスからオフロードされ得る。後者の可能性に関して、クライアントデバイスは、ＰＳＳに対するいかなる制御も有していないため、セキュアなトランザクションが、ネットワークサービスに対して遂行され、有利なこととして、サービススケーラビリティを提供することができる。一実施形態では、各ユーザは、単一ＰＳＳを有する。本実施形態では、ネットワークサービスは、その所有されるハードウェアのサイズによって制限されないが、セキュアなコンピューティングリソースとして多数のＰＳＳを含むように拡大し、したがって、「クラウドを拡張」し得る。別の実施形態では、各ユーザは、ネットワークサービス毎に単一ＰＳＳを有し、サーバ側ではなく、ネットワークのクライアント側において異なるネットワークサービス間の暗号化分離を提供する。
【００５２】
図６は、本発明の実施形態による、二次ＰＳＳを使用してネットワークサービスを監査する帯域外方法を例証する、フローチャートである。図６に示される方法は、一次ＰＳＳが、図４および５に従ってネットワークサービスに対する要求を処理し、さらに、その監査ログへのリアルタイムアクセスを二次監査ＰＳＳに提供していると仮定する。監査および不正通知は、拡張されたクラウドの１つのアプリケーションにすぎないことを理解されたい。
【００５３】
プロセス６１０では、二次ＰＳＳは、一次ＰＳＳからストリーミングされた監査ログデータを受信する。同時に、プロセス６２０では、二次ＰＳＳは、一次ＰＳＳによって提供されたネットワークサービスの出力を受信する。公的に消費可能な出力ストリームを生じさせる任意のネットワークサービスは、プロセス６２０によって監視され得る。例えば、クライアントデバイスによってアクセスされる１つのネットワークサービスがＴＷＩＴＴＥＲ（登録商標）である場合、プロセス６２０は、ユーザのＴＷＩＴＴＥＲ（登録商標）フィードを監視するステップを含む。
【００５４】
プロセス６３０では、監査ログデータは、公開出力ストリームと比較され、各出力が対応するログエントリと一致するかどうかを判定する。ＰＳＳは、ストリームがユーザに対して有するストリームエントリ毎に対応するトランザクションを有さなければならず、承認されたユーザは、トランザクションを開始する必要がある。ストリームは、そのような目的地、金額、または入力から出力に変化しながら伝搬されるであろう任意の他データをチェックし得る、付加的なデータ要素を含有してもよい。これらのデータ要素の全ては、オリジナルトランザクションと比較されるであろう。これらは、アプリケーションに基づいて一致しなければならない。このように、トランザクションデータに影響を及ぼすマルウェア、ウィルス、または誤動作等のコンピュータ障害が、識別されることができる。
【００５５】
監査ログが出力ストリームと一致する場合、本方法は、プロセス６４０に続き、二次ＰＳＳは、一次ＰＳＳに全てが良好であるという定期指示を提供する。しかしながら、監査ログデータが公開出力ストリームと一致しない場合、本方法は、プロセス６５０に続き、二次ＰＳＳは、直ちに一次ＰＳＳに不一致を通知する。ログエントリが存在するが、公開出力ストリームにいかなる対応する出力も存在しない場合、ネットワークサービスが、要求を実行する際に問題を経験した場合がある。逆に、出力が公開出力ストリームに存在するが、いかなる対応するログエントリも存在しない場合、ネットワークサービスがＰＳＳ以外のソースからなりすまし要求を受信し、したがって、ユーザのログイン資格情報が侵害された場合がある。いずれの場合も、クライアント−サーバ関係の信頼性は、侵害されており、プロセス６６０では、二次ＰＳＳが、脅威保護手順を開始する。そのような手順は、限定ではないが、ネットワークサービスにユーザのログイン資格情報を無効にするように命令するステップ、電子メール、テキスト、または自動通話を監視センターに送信するステップ、およびクライアントデバイスに依拠しない帯域外通信設備を介してユーザに連絡するステップを含んでもよい。
【００５６】
本発明の種々の実施形態は、少なくとも部分的に、任意の従来のコンピュータプログラミング言語において実装されてもよい。例えば、いくつかの実施形態は、手続き型プログラミング言語（例えば、「Ｃ」）、またはオブジェクト指向型プログラミング言語（例えば、「Ｃ＋＋」）において実装されてもよい。本発明の他の実施形態は、事前にプログラムされたハードウェア要素（例えば、特定用途向け集積回路、ＦＰＧＡ、およびデジタル信号プロセッサ）、または他の関連構成要素として実装されてもよい。
【００５７】
代替実施形態では、開示される装置および方法は、コンピュータシステムと併用するためのコンピュータプログラム製品として実装されてもよい。そのような実装は、非一過性コンピュータ可読媒体（例えば、ディスケット、ＣＤ−ＲＯＭ、ＲＯＭ、または固定ディスク）等の有形媒体上のいずれかに固定される、一連のコンピュータ命令を含んでもよい。一連のコンピュータ命令は、システムに対して、本明細書で先に説明される機能性の全部または一部を具現化することができる。
【００５８】
当業者は、そのようなコンピュータ命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムと併用するためのいくつかのプログラミング言語で書き込まれ得ることを理解するはずである。さらに、そのような命令は、半導体、磁気、光学、または他のメモリデバイス等の任意のメモリデバイス内に記憶されてもよく、光学、赤外線、マイクロ波、または他の伝送技術等、任意の通信技術を使用して伝送されてもよい。
【００５９】
他の方法の中でも、そのようなコンピュータプログラム製品は、付随の印刷文書または電子文書（例えば、市販のソフトウェア）を伴う、可撤性媒体として配布される、コンピュータシステム（例えば、システムＲＯＭまたは固定ディスク上）にプリインストールされる、またはネットワーク（例えば、インターネットもしくはワールドワイドウェブ）を経由して、サーバもしく電子掲示板から配信されてもよい。当然ながら、本発明のいくつかの実施形態は、ソフトウェア（例えば、コンピュータプログラム製品）およびハードウェアの両方の組み合わせとして実装されてもよい。本発明のさらに他の実施形態は、完全なハードウェア、または完全なソフトウェアとして実装される。
【００６０】
上記に説明される本発明の実施形態は、単に、例示的であることが意図され、多数の変形例および修正が、当業者に明白となるであろう。全てのそのような変形例および修正は、任意の添付される請求項に定義されるように、本発明の範囲内であることが意図される。
【図１】
0006266170.tif 000002
【図２】
0006266170.tif 000003
【図３】
0006266170.tif 000004
【図４】
0006266170.tif 000005
【図５】
0006266170.tif 000006
【図６】
0006266170.tif 000007