(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6266170
(24)【登録日】2018年1月5日
(45)【発行日】2018年1月24日
(54)【発明の名称】3層セキュリティおよび算出アーキテクチャ
(51)【国際特許分類】
H04L 12/28 20060101AFI20180115BHJP
G06F 21/31 20130101ALI20180115BHJP
H04L 9/32 20060101ALI20180115BHJP
【FI】
H04L12/28 200Z
G06F21/31
H04L9/00 673A
【請求項の数】20
【全頁数】18
(21)【出願番号】特願2017-512865(P2017-512865)
(86)(22)【出願日】2015年5月14日
(65)【公表番号】特表2017-518719(P2017-518719A)
(43)【公表日】2017年7月6日
(86)【国際出願番号】US2015030902
(87)【国際公開番号】WO2015175841
(87)【国際公開日】20151119
【審査請求日】2017年5月16日
(31)【優先権主張番号】61/996,704
(32)【優先日】2014年5月14日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】516341992
【氏名又は名称】インファースペクト, エルエルシー
(74)【代理人】
【識別番号】100078282
【弁理士】
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【弁理士】
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【弁理士】
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【弁理士】
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】スキバク, ノーマン
【審査官】
大石 博見
(56)【参考文献】
【文献】
特開2001−251297(JP,A)
【文献】
特開2004−88768(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28
G06F 21/31
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピューティングシステムであって、前記コンピューティングシステムは、
前記クライアントデバイスに結合される、第1のデータポートと、
前記サーバコンピュータに結合される、第2のデータポートと、
非一過性の有形記憶媒体であって、
(a)不可逆暗号化アルゴリズムを使用する、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号と、
(b)前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用する、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号と
が記憶される、非一過性の有形記憶媒体と、
コンピューティングプロセッサであって、前記ネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信するように構成され、そのような受信に応答して、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記第2のデータポートを使用して、前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記第1のデータポートを使用するクライアントデバイスと前記第2のデータポートを使用するサーバコンピュータとの間でサービスデータを交換するステップと、
を実施する、コンピューティングプロセッサと、
を備える、コンピューティングシステム。
【請求項2】
前記クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンを含む、請求項1に記載のシステム。
【請求項3】
前記第1のデータポートは、ローカルエリアネットワークに結合される、請求項1に記載のシステム。
【請求項4】
前記第2のデータポートは、インターネットに結合される、請求項1に記載のシステム。
【請求項5】
前記不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含む、請求項1に記載のシステム。
【請求項6】
前記可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムを含む、請求項1に記載のシステム。
【請求項7】
前記クライアントデバイスの一意の特性は、汎用一意識別子(UUID)またはグローバル一意識別子(GUID)を含む、請求項1に記載のシステム。
【請求項8】
前記クライアントデバイスのユーザの一意の特性は、バイオメトリックまたは前記ユーザのみに把握されるパスワードを含む、請求項1に記載のシステム。
【請求項9】
前記コンピューティングプロセッサはさらに、前記コンピューティングシステムと前記クライアントデバイスとの間でのみ共有される秘密を使用して、前記第1のデータポートを経由して暗号データ通信を実施するように構成される、請求項1に記載のシステム
【請求項10】
前記コンピューティングプロセッサはさらに、前記コンピューティングシステムと前記サーバコンピュータとの間でのみ共有される秘密を使用して、前記第2のデータポートを経由して暗号データ通信を実施するように構成される、請求項1に記載のシステム。
【請求項11】
前記コンピューティングプロセッサはさらに、前記クライアントデバイスのネットワークアドレスを前記第2のデータポートに通信することを回避し、前記サーバコンピュータのネットワークアドレスを前記第1のデータポートに通信することを回避するように構成される、請求項1に記載のシステム。
【請求項12】
クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、前記クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスと前記サーバコンピュータとの間の暗号化分離を提供する方法であって、前記方法は、
前記クライアントデバイスの要求時に、前記コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップと、
前記サーバコンピュータの要求時に、前記コンピューティングシステムによって、前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップと、
前記コンピューティングシステムにおける、前記ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記クライアントデバイスと前記サーバコンピュータとの間でサービスデータを交換するステップと、
を含む、方法。
【請求項13】
前記クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンである、請求項12に記載の方法。
【請求項14】
前記不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含む、請求項12に記載の方法。
【請求項15】
前記可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムを含む、請求項12に記載の方法。
【請求項16】
前記クライアントデバイスの一意の特性は、汎用一意識別子(UUID)またはグローバル一意識別子(GUID)を含む、請求項12に記載の方法。
【請求項17】
前記クライアントデバイスのユーザの一意の特性は、バイオメトリックまたは前記ユーザのみに把握されるパスワードを含む、請求項12に記載の方法。
【請求項18】
前記コンピューティングシステムと前記クライアントデバイスとの間でのみ共有される秘密を使用して、暗号データ通信を実施するステップをさらに含む、請求項12に記載の方法。
【請求項19】
前記コンピューティングシステムと前記サーバコンピュータとの間でのみ共有される秘密を使用して、暗号データ通信を実施するステップをさらに含む、請求項12に記載の方法。
【請求項20】
クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、前記クライアントデバイスにネットワークサービスを提供するために、前記クライアントデバイスと前記サーバコンピュータとの間の暗号化分離を提供するためのコンピュータプログラムコードが記憶される、非一過性の有形記憶媒体であって、
前記クライアントデバイスの要求時に、前記コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、前記クライアントデバイスの一意の特性および前記クライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップと、
前記サーバコンピュータの要求時に、前記コンピューティングシステムによって、前記オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、前記ユーザが前記ネットワークサービスにアクセスすることを許可する条件として前記サーバコンピュータに提示されるために、前記サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップと、
前記コンピューティングシステムにおける、前記ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて、
前記不可逆暗号化アルゴリズムを使用して、前記未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップと、
前記暗号化された未確認のユーザ認証データが、前記オリジナルユーザ認証データの記憶された暗号と一致するときのみ、前記サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップと、
前記サーバコンピュータに、前記ユーザに代わって前記ネットワークサービスにアクセスする要求と組み合わせて、前記復号化されたサービス承認データを提示するステップと、
前記コンピューティングシステムにおける、前記ユーザが前記ネットワークサービスにアクセスすることが承認されることを示すデータの前記サーバコンピュータからの受信に応じて、前記クライアントデバイスと前記サーバコンピュータとの間でサービスデータを交換するステップと、
のためのコンピュータプログラムコードを備える、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2014年5月14日に出願された米国仮出願第61/996,704号の利益を主張するものであり、該米国仮出願の内容は、その全体が参照により本明細書中に援用される。
【0002】
本発明は、マルチコンピュータデータ転送に関し、より具体的には、処理エージェントがネットワークユーザに対して暗号的にセキュアな仮想プレゼンスを提供する、分散データ処理に関する。
【背景技術】
【0003】
今日のコンピュータシステムは、セキュアではない。それらは、システムのクラッキング、システムの途絶、およびユーザの悪意のあるなりすましを含む、多数のセキュリティ問題に悩まされている。一部の悪意のある人物(「システムクラッカ」)は、そのセキュリティ機構を迂回またはクラッキングして、システムに侵入する。これらのシステムクラッカは、データおよびシステムをセキュアにするためのアクセスを取得する、重要なデータを変更または破壊する、セキュリティシステム自体を変更または破壊し、バックドアを設置する、もしくは制限された施設への物理的アクセスを許可する、または機密データへのその承認されていないアクセスを使用して、任意の数の二次犯罪を行うことができる。他の悪意のある人物は、システム機能を妨害し、例えば、圧倒数の望ましくない妨害データを用いてコンピュータシステムを氾濫させることによって、サービス拒否(DoS)攻撃を行い、それによって、システムが応答する方法を変更または遅延させることができる。そのようなDoS攻撃は、重要な航空、公共輸送、および緊急応答システムを妨害し、人々の重要なインフラストラクチャシステムを脆弱なままにし得る。他の悪意のある人物は、医師、弁護士、法執行機関、または他の信頼できる人物になりすまし、制限されたデータおよびサービスへのアクセスを取得し得る。例えば、偽の識別は、武器を所持する悪意のある人物が、空港のセキュリティエリアへのアクセスを取得し、飛行機に搭乗することを可能にし得る。
【0004】
これらのセキュリティ問題のいくつかの解決策が、当分野において存在し、とりわけ、ログイン名およびパスワード、コンピュータシステムへの承認されていないアクセスを除外するファイアウォール、間の空いたトランザクションのためのワンタイムパスワード、HSPD−12およびFIPS 201に準拠するもの等のスマートカード、アクセス制御リスト、および仮想プライベートコンピュータネットワークを含む。従来技術における1つのそのような解決策が、
図1に示される。ここでは、要求者100は、単一サーバコンピュータまたはコンピューティングリソースのネットワークであり得る、「処理クラウド」130によって図に表される、ネットワークデータおよびサービスへのアクセスを取得することを所望する。要求者100は、要求者デバイス110へのアクセスを有する。典型的には、要求者100は、上記に留意されるように、ユーザ名およびパスワードを使用して、要求者デバイス110にログインするであろう。次に、要求者100は、要求者デバイス110上で起動するソフトウェアアプリケーションに命令し、コンピュータネットワーク(図示せず)を使用してクラウド130内のネットワークサービスへの接続を試行するであろう。要求者デバイス110は、通常、当分野で公知であるように、ドメインネームサービス(DNS)等のデータベースサービスを使用して、www.google.com等のサービスに対して提供された名前と関連付けられたインターネットアドレスを検索するであろう。要求者デバイス110は、次いで、インターネットアドレスを使用して、サービスへの接続を試行する。逆に、サービスは、ファイアウォール120を通して全てのそのような着信する要求をルーティングする。ファイアウォールは、DoS攻撃の防止、サービスにアクセスするための承認および認証チャレンジ、ポートフォワーディング、ウィルススキャン等のセキュリティサービスを提供する。ファイアウォール120が、試行されたアクセスが正当であると判定する場合、これは、要求者デバイス110aに、サービスへのアクセスを許可するデータチャネルを提供する。典型的には、ファイアウォール120は、このデータチャネルを維持するが、そうでなければ、これを通過するデータを監視しない。このデータチャネルは、SSL等の当分野で公知の技法を使用して、要求者デバイス110とクラウド130内のサービスの両方によって暗号化され得る。いったんトランザクションが完了すると、データチャネルは、「取り壊され」、要求者デバイス110、ファイアウォール120、およびクラウドサービス130上の処理リソースを解放する。
【0005】
そのような従来技術のセキュリティ手段は、概して、システム自体の内部ではなく、セキュアにされているシステムの周囲で一度システム保護を確立する。それらは、これらのリソースに、およびそれらから伝送されるデータを保護するのではなく、通信チャネル等のセキュアなコンピューティングリソースへのアクセスを保護することに関するため、いったん悪意のある人物がアクセスを取得すると、彼らは、さらなるチャレンジなしで機密データを除去し得る。さらに、従来技術のアクセス制限は、アクセスを要求する人物の識別の任意の判定の前に、またはその一部として実施される。したがって、それらは、なりすまし攻撃および中間者(MitM)攻撃に悩まされる。さらに悪いことに、暗号化および復号化動作を実施するシステムでは、これらの動作は、最初のインスタンスでは大量のコンピューティングパワーを有していないスマートフォン等の「シン」クライアントデバイスによって、およびその上で実行されなければならない。数百万のそのようなデバイスに暗号化および復号化キーを配布するための当分野のシステムは、煩雑かつ高価であり、良好に拡張しない。
【0006】
エンドユーザシステムは、暗号化を使用するものであっても、侵害の脅威に起因して、セキュアな環境においても完全に信頼され得ない。いったんシステムセキュリティが悪意のあるユーザ(「システムクラッカ」)によってクラッキングされると、システムクラッカは、システム内に記憶され、それによって使用されるデータおよびアルゴリズムにアクセスすることによって、正当なユーザとして偽装することができる。セキュアなトランザクションを実施する全てのエンドユーザシステム上に存在する識別プロセスのこれらの「アーチファクト」は、検証された識別に依拠するトランザクションシステムに対して望ましくない攻撃ベクトルを提供し、これらのシステムによって提供されるセキュリティおよび信頼性保証を減少させる。
【発明の概要】
【課題を解決するための手段】
【0007】
前述の不利点に対処するために、本発明の例証される実施形態は、「パーソナルセキュリティサーバ」またはPSSを提供する。PSSは、クライアントデバイスと多数のネットワークサービスとの間に介在するプロキシシステムであり、クライアントデバイスとサービスを提供するサーバコンピュータとの間の暗号化分離を提供する。そのようなシステムは、そのデバイスの機能性を補完するために、ファイアウォールまたは他の周囲デバイスに加えて使用されてもよい。PSSは、クライアントデバイスが、そのネットワークアドレスを含む、サーバコンピュータについての任意の情報を取得することを防止し、サーバコンピュータが、サービスを要求しているクライアントデバイスについての任意の情報を取得することを防止する。サービス承認データへのアクセスは、クライアントデバイスのユーザによってのみ提供され得る入力を要求する。
【0008】
3層セキュリティアーキテクチャにおけるデバイスのうちのいずれかのデバイスの侵害はもはや、承認されていないトランザクションまたは認証盗難の実行をもたらし得ない。クライアントデバイスまたはPSSが侵害される場合、そのようなアクセスは、バイオメトリックまたはパスワードを使用してクライアントデバイスの適切なユーザから別個の承認を要求する、PSSを通してのみ取得され得るため、悪意のあるユーザは、クライアントデバイスによって以前にアクセスされたいかなるサービスにもアクセスすることが不可能である。サーバコンピュータまたはPSSが侵害される場合、攻撃者は、ユーザの識別を盗難するために使用され得る、ユーザのいかなる個人情報も見出さないであろう。
【0009】
したがって、本発明の第1の実施形態は、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピューティングシステムである。コンピューティングシステムは、4つの構成要素、すなわち、クライアントデバイスに結合される、第1のデータポートと、サーバコンピュータに結合される、第2のデータポートと、非一過性の有形記憶媒体と、コンピューティングプロセッサとを有する。
【0010】
記憶媒体は、不可逆暗号化アルゴリズムを使用して、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶する。記憶媒体はまた、オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、ユーザがネットワークサービスにアクセスすることを許可する条件としてサーバコンピュータに提示されるために、サーバコンピュータによって要求されるサービス承認データの暗号を記憶する。
【0011】
コンピューティングプロセッサは、ネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信し、そのような受信に応答して、4つのプロセスを実施するように構成される。第1のプロセスは、不可逆暗号化アルゴリズムを使用して、未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップである。第2のプロセスは、暗号化された未確認のユーザ認証データが、オリジナルユーザ認証データの記憶された暗号と一致するときのみであるが、サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップである。第3のプロセスは、第2のデータポートを使用して、サーバコンピュータに、ユーザに代わってネットワークサービスにアクセスする要求と組み合わせて、復号化されたサービス承認データを提示するステップである。第4のプロセスは、コンピューティングシステムにおける、ユーザがネットワークサービスにアクセスすることが承認されることを示すデータのサーバコンピュータからの受信に応じて、第1のデータポートを使用するクライアントデバイスと第2のデータポートを使用するサーバコンピュータとの間でサービスデータを交換するステップである。
【0012】
基本システムの種々の改善が、想定される。特に、クライアントデバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはスマートフォンであってもよい。第1のデータポートは、ローカルエリアネットワークに結合されてもよい。第2のデータポートは、インターネットに結合されてもよい。不可逆暗号化アルゴリズムは、暗号ハッシュ関数を含んでもよい。可逆暗号化アルゴリズムは、公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズムであってもよい。クライアントデバイスの一意の特性は、汎用一意識別子(UUID)またはグローバル一意識別子(GUID)を含んでもよい。クライアントデバイスのユーザの一意の特性は、バイオメトリックまたはユーザのみに把握されるパスワードであってもよい。コンピューティングプロセッサはさらに、コンピューティングシステムとクライアントデバイスとの間でのみ共有される秘密を使用して、第1のデータポートを経由して暗号データ通信を実施するように構成されてもよい。コンピューティングプロセッサはさらに、コンピューティングシステムとサーバコンピュータとの間でのみ共有される秘密を使用して、第2のデータポートを経由して暗号データ通信を実施するように構成されてもよい。また、コンピューティングプロセッサはさらに、クライアントデバイスのネットワークアドレスを第2のデータポートに通信することを回避し、サーバコンピュータのネットワークアドレスを第1のデータポートに通信することを回避するように構成されてもよい。
【0013】
本発明の別の実施形態は、クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法である。本方法は、6つのプロセスを含む。第1のプロセスは、クライアントデバイスの要求時に、コンピューティングシステムによって、不可逆暗号化アルゴリズムを使用して、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数であるオリジナルユーザ認証データの暗号を記憶するステップである。第2のプロセスは、サーバコンピュータの要求時に、コンピューティングシステムによって、オリジナルユーザ認証データを復号化パラメータとして使用する可逆暗号化アルゴリズムを使用して、ユーザがネットワークサービスにアクセスすることを許可する条件としてサーバコンピュータに提示されるために、サーバコンピュータによって要求されるサービス承認データの暗号を記憶するステップである。
【0014】
残りのプロセスは、コンピューティングシステムシステムにおける、ネットワークサービスにアクセスする要求と組み合わせた、未確認のユーザ認証データの受信に応じて起きる。第3のプロセスは、不可逆暗号化アルゴリズムを使用して、未確認のユーザ認証データを暗号化し、暗号化された未確認のユーザ認証データを生じさせるステップである。第4のプロセスは、暗号化された未確認のユーザ認証データが、オリジナルユーザ認証データの記憶された暗号と一致するときのみであるが、サービス承認データの暗号を復号化し、復号化されたサービス承認データを生じさせるステップである。第5のプロセスは、サーバコンピュータに、ユーザに代わってネットワークサービスにアクセスする要求と組み合わせて、復号化されたサービス承認データを提示するステップである。第6のプロセスは、コンピューティングシステムにおける、ユーザがネットワークサービスにアクセスすることが承認されることを示すデータのサーバコンピュータからの受信に応じて、クライアントデバイスとサーバコンピュータとの間でサービスデータを交換するステップである。
【0015】
本システムの実施形態に関して上記に説明される改善はまた、本方法の実施形態に適用されてもよい。
【0016】
本発明の第3の実施形態は、クライアントデバイスとサーバコンピュータとの間を仲介するコンピューティングシステムを使用して、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供するためのコンピュータプログラムコードが記憶される、非一過性の有形記憶媒体である。記憶媒体は、上記に説明される本方法の実施形態のプロセスを実施するためのコンピュータプログラムコードを備える。記憶媒体はまた、本方法の実施形態の改善のいずれかを実施するためのコンピュータプログラムコードを含んでもよい。
【図面の簡単な説明】
【0017】
前述の実施形態の特徴は、付随の図面を参照して検討される、以下の詳細な説明を参照することによって、より容易に理解されるであろう。
【0018】
【
図1】
図1は、従来技術のクライアント−サーバアーキテクチャを図式的に示す。
【0019】
【
図2】
図2Aおよび2Bは、本発明による、3層セキュリティアーキテクチャの異なる実施形態を図式的に示す。
【0020】
【
図3】
図3は、本発明の実施形態による、PSSコンピューティングシステムを図式的に示す。
【0021】
【
図4】
図4は、本発明の実施形態による、PSSを初期化する方法を例証する、フローチャートである。
【0022】
【
図5】
図5は、本発明の実施形態による、PSSを使用してクライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法を例証する、フローチャートである。
【0023】
【
図6】
図6は、本発明の実施形態による、二次PSSを使用してネットワークサービスを監査する方法を例証する、フローチャートである。
【発明を実施するための形態】
【0024】
コンピューティングシステム、方法、およびコンピュータプログラム製品が、クライアントデバイスにネットワークサービスを提供するために、クライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する。コンピューティングシステムは、クライアントデバイスまたはサーバコンピュータのいずれも他方についての情報を取得し得ないように、クライアントデバイスおよびそのユーザの暗号化されたユーザ認証データならびにサーバコンピュータの暗号化されたサービス承認データを記憶する。コンピューティングシステムにおける、未確認のユーザ認証データおよびネットワークサービスにアクセスする要求の後続受信に応じて、コンピューティングシステムは、未確認の認証データを暗号化し、これを記憶された暗号化データと比較する。これらの暗号化されたデータが一致するときのみ、コンピューティングシステムは、サービス承認データを復号化し、これをサーバコンピュータに提供し、ネットワークサービスへのアクセスを取得することが可能である。
【0025】
本発明の例証的実施形態は、付加的な算出層を標準クライアント−サーバモデルに追加し、増進されたセキュリティを有する3方向アーキテクチャを提供する。3層セキュリティアーキテクチャ200aおよび200bの種々の実施形態が、それぞれ、
図2Aおよび2Bに図式的に例証される。パーソナルセキュリティサーバまたはPSS(また、「パーソナルサーバ」とも称され得る)と呼ばれる算出ユニット210が、クライアント要求者デバイス201とサーバクラウド230との間の全ての通信に参加し、これをセキュアにする。サーバクラウド230は、アプリケーションソフトウェアをホストし得、そのアプリケーションは、「クラウドアプリケーション」と称され得る。「クラウドアプリケーション」の存在は、アプリケーションソフトウェアをホストするサーバコンピュータハードウェアを含意する。PSS210は、コンピュータハードウェアの専用アイテム上、または1つもしくはそれを上回るクライアント要求者デバイス201上に実装されてもよい。PSS210は、例えば、(
図2Aのような)ローカルエリアネットワークまたは(
図2Bのような)インターネット等の通信ネットワーク240に結合される。
【0026】
図3は、本発明の実施形態による、PSSコンピューティングシステム210を図式的に示す。PSSコンピューティング210は、4つの構成要素、すなわち、2つのデータポート211および212と、コンピューティングプロセッサ213と、記憶媒体214とを含む。これらは、ここで順番に説明される。
【0027】
第1のデータポート211が、第1のデータネットワークを経由してPSS210をクライアント要求者デバイス201に結合する。上記に説明されるように、第1のデータネットワークは、ローカルエリアネットワークであってもよいが、他の実施形態は、限定ではないが、セルラー電話ネットワーク、衛星ネットワーク、またはインターネット等の他のデータネットワークを使用してもよい。第2のデータポート212が、第2のデータネットワークを経由してPSS210をサーバクラウド230内のサーバコンピュータに結合する。上記に説明されるように、第2のデータネットワークは、インターネットであってもよいが、任意の他のデータネットワークが、使用されてもよい。各データポート211、212は、Wi−fiポート、イーサネット(登録商標)ポート、無線ポート、またはデータ接続を提供するために当分野で公知の任意の類似する技術であってもよい。
【0028】
非一過性の有形記憶媒体214が、PSS210のための揮発性記憶装置を提供する。一実施形態では、記憶媒体214は、記憶されたデータへの迅速なアクセスを提供するソリッドステートメモリであるが、他のタイプのメモリが、他の実施形態で使用されてもよい。(例えば、トランザクションの恒久的な監査ログを提供するために)不揮発性記憶装置が所望される場合、PSS210は、ハードディスクドライブ、ストレージエリアネットワーク、またはネットワーク接続ストレージ等の別個の記憶媒体(図示せず)を含む、またはそれに結合されてもよい。
【0029】
例証される実施形態によると、記憶媒体214は、2つのタイプの暗号化されたデータを記憶する。第1のタイプのデータは、ユーザ認証に関連し、PSS210をクライアントデバイス201に一意に結び付ける一方、第2のタイプのデータは、サービス承認に関連し、ユーザに代わってPSS210がサーバクラウド230内のサーバコンピュータにアクセスすることを可能にする。これらのデータは、
図4と併せてより詳細に説明される初期化段階中に提供され、
図5と併せてより詳細に説明されるトランザクション段階中に使用される。トランザクション履歴の帯域外監査が、
図6に例証される。
【0030】
コンピューティングプロセッサ213は、
図4−6と併せて以下により詳細に説明される、暗号化分離の実装に関連するいくつかのタスクを実施する。これは、これらのタスクを実施するための命令のセット(すなわち、コンピュータプログラムコード)と組み合わせて、マイクロプロセッサまたは当分野で公知の類似する機構を使用して実装されてもよい。
【0031】
図4は、本発明の実施形態による、PSSを初期化する方法を例証する、フローチャートである。PSSは、典型的には、少数である、クライアントデバイスの承認されたユーザ毎に暗号化されたユーザ認証データの一セットを記憶するが、これは、数十または数百のサービス(もしくはそれを上回る)であり得る、ユーザがアクセスし得るサービス毎に暗号化されたサービス承認データを記憶する。
【0032】
第1のプロセス410では、PSSは、クライアントデバイスからオリジナルユーザ認証データを受信する。これらの認証データは、クライアントデバイスの一意の特性およびクライアントデバイスのユーザの一意の特性の関数である。クライアントデバイスの一意の特性は、汎用一意識別子(UUID)またはグローバル一意識別子(GUID)等、クライアントデバイスを一意に識別する役割を果たす任意の特性であってもよく、それらの用語は、当分野で公知である。ユーザの一意の特性は、バイオメトリックまたはユーザのみに把握されるパスワード等、ユーザを一意に識別する役割を果たす任意の特性であってもよい。これらのデータは、以下でより詳細に説明される可逆暗号化アルゴリズムのための暗号化キーとして作用するために十分なデータを形成するために、所与の機能(連結および切捨て等、但し、他の機能も使用され得る)を使用して組み合わせられる。
【0033】
いったんPSSがユーザおよびクライアントデバイスからの有効なアクセスを認証することを可能にするために十分なデータを有すると、これは、最終的にこれが複数のネットワークサービスに接続することを可能にするであろう承認データを記憶するためのループを開始する。いくつかの実施形態では、これらの承認データは、アプリケーションまたはスマートフォンアプリを使用して、クライアントデバイスからPSSに送信される。随意に、初期化方法におけるこの時点で、PSSは、アプリケーションまたはアプリをクライアントデバイスにセキュアに伝送してもよい。代替実施形態では、アプリは、クライアントデバイス内にすでにインストールされていてもよい。
【0034】
アプリがクライアントデバイス内に出現する方法にかかわらず、いったんセキュアな通信チャネルがPSSとクライアントデバイスとの間に確立されると、プロセス420では、PSSは、クライアントデバイスから具体的サービス資格情報を受信する。これらの資格情報は、ユーザがネットワークサービスにアクセスするために必要な全てのデータを含み、当分野で公知であるようなアカウント名または番号、電子メールアドレス、ユーザ名、ユーザパスワード、トランザクションパスワード等のルーチンアイテムを含んでもよい。プロセス420中、PSSは、そのセキュアな監査ログを更新し、(ログ内に資格情報自体を記憶することなく)資格情報の受信を反映する。
【0035】
プロセス430では、PSSは、サービスを実施するサーバコンピュータにセキュアな接続を確立し、サーバコンピュータに資格情報を送信し、サービス承認を確立する。好ましい実施形態では、この接続のためのサーバコンピュータのネットワークアドレス(例えば、ホスト名またはIPアドレス)は、クライアントデバイスがいかなるネットワークアドレスの知識も有することのないように、要求されるネットワークサービスのみを参照することによって識別される。この識別は、例えば、サービス識別子をネットワークアドレスにマッピングするサービスレジストリおよび/またはサービスに接続するためのプロトコルの技術的記述を調べることによって実施されてもよい。
【0036】
PSSは、提供されたサービス資格情報を使用してサーバコンピュータに「ログイン」する。接続が確立され得、ログイン資格情報が正しい場合、サーバコンピュータは、データトークンであり得るサービス承認データをPSSに返す。このデータトークンまたは他の承認は、次いで、サービスにログインするためにPSSによって後で使用されてもよい。ログインが成功しない場合、PSSは、クライアントデバイスに通知し、プロセス420に戻る。
【0037】
ログインが成功し、PSSがサービス承認を受信した場合、プロセス440では、PSSは、承認データを暗号化し、暗号化されたコピーを記憶する。暗号化は、当分野で公知であるような公開鍵暗号化アルゴリズムまたは対称暗号化アルゴリズム等の可逆暗号化アルゴリズムを使用して実施される。これらのアルゴリズムは、復号化キーを使用して暗号化されたデータの復号化を可能にするため、可逆性である。本発明の例証される実施形態によると、復号化キーは、ユーザ認証データを含む。このように、所与のクライアントデバイスからPSSにアクセスする所与のユーザのみが、後でサービス承認を復号化し得る。
【0038】
いったん暗号化されたサービス承認データが記憶されると、プロセス450では、PSSは、これらのデータの暗号化されていないコピーをそのメモリからセキュアに消去する。本プロセス450は、任意のシステムクラッカが、暗号化されていない承認トークンへのアクセスを直ちに取得し得ないことを確実にする。したがって、好ましくは、プロセス440および450は、当分野で公知であるようなハードウェアセキュリティモジュール(HSM)等のセキュアなハードウェア環境において実施される。
【0039】
プロセス460では、PSSは、クライアントデバイスに、所与のサービスを後で使用するための承認が取得されたことを通知する。いくつかの実施形態では、プロセス460は、「プッシュ」または非同期ベースで起こり、種々のサービスが同時に並列に接続されながら、クライアントデバイスからのサービス資格情報の迅速な受信を可能にする。そのような並列処理は、いくつかのネットワークサービスが接続を確立する、またはサービス承認データを作成するのが遅い場合、初期化プロセスを大幅に高速化することができる。
【0040】
プロセス470では、PSSは、初期化するサービスがさらに存在するかどうかを判定する。典型的には、本プロセスは、PSSとクライアントデバイス内のアプリとの間の専用プロトコルを使用して遂行され、そのように行うための方法は、周知である。付加的なサービスが初期化されなければならない場合、方法は、プロセス420に戻る。しかしながら、いかなる付加的なサービスも初期化されなくてよい場合、本方法は、プロセス480を継続し、オリジナルユーザ認証データは、不可逆暗号化アルゴリズムを使用して暗号化され、暗号化されたコピーが、記憶され、暗号化されていないコピーは、PSSのメモリからセキュアに消去される。不可逆暗号化アルゴリズムは、例えば、暗号ハッシュ関数であってもよく、その語句は、当分野で公知である。プロセス460は、暗号化されていない認証データがPSSに留まらないことを確実にし、PSSへのアクセスを取得するシステムクラッカが任意のサービス承認データを復号化することを防止する。プロセス480は、同時に、ユーザ認証データの後続受信が、記憶されたハッシュと比較することによって検証され得ることを確実にする。
【0041】
追加されるセキュリティ手段として、PSSとクライントデバイスの間の(およびPSSとサーバコンピュータとの間の)全てのデータ伝送および受信が、クラウドベースの識別システムを使用して遂行されてもよい。1つのそのようなシステムが、「Efficient, Secure, Cloud−Based Identity Services」と題された、米国特許第8,667,269号(その内容は、参照することによってその全体として本明細書に組み込まれる)に開示される。このセキュリティ手段によると、PSSは、本明細書に説明されるプロセスから独立して、デバイスの識別および/または(クライアントデバイスもしくはサーバコンピュータからの未確認の)各メッセージのユーザを検証し、予期されないソースからメッセージが着信する場合、トランザクションを中断し得る。
【0042】
図5は、本発明の実施形態による、PSSを使用してクライアントデバイスとサーバコンピュータとの間の暗号化分離を提供する方法を例証する、フローチャートである。本実施形態によると、クライアントデバイスはもはや、遠隔サーバコンピュータと直接通信しない。遠隔サービスが使用される必要があるとき、PSSは、暗号的に分離されるプロキシとして作用する。クライアントデバイスは、暗号化された伝送をPSSに送信し、これは、メッセージを復号化し、メッセージの有効性を判定する。有効である場合、メッセージは、遠隔アプリケーションによってのみ可読であるように再暗号化される。有効性チェックは、小規模または広範囲であり得、当分野で公知であるような他のシステムおよびデータベースへのメッセージを含んでもよい。
【0043】
PSSの動作段階は、ループである。ループの第1のプロセス510では、PSSは、サービスクラウドのネットワークサービスにアクセスする要求と組み合わせて、未確認のユーザ認証データを受信する。本方法のこの時点において、PSSは、要求がなりすましである、すなわち、悪意のあるユーザによって開始されていると仮定しなければならない。いくつかの実施形態では、PSS210が、要求がデータポート211を使用して着信しない場合、これが偽物であることを判定してもよい。しかしながら、要求がデータポート211に由来した場合であっても、これは、(例えば、要求者デバイス201の制御が悪意のあるユーザによって乗っ取られた場合)ユーザの許可なしで生成された場合がある。したがって、メッセージは、全ての場合において検証を要求する。
【0044】
図3を参照すると、PSS210は、クライアントデバイス201のユーザのプロファイルを構築し、そのプロファイルからの詳細を使用して、そのユーザからのものであることが未確認のメッセージの有効性を評価し得る。そのようなユーザプロファイルは、上記に言及されるPSS監査ログを含んでもよい。PSSログは、別のユーザが同じPSSログを有する可能性がごくわずかであるため、これがユーザを一意に識別する点で、指紋と同様である。ユーザプロファイルはまた、クライアントデバイス201がメッセージを送信した、または別様にPSS210にアクセスした1つもしくはそれを上回るIPアドレス等の情報を含んでもよい。別の実施例として、クライアントデバイス201が、その地理的場所を確認および伝送することが可能である場合、ユーザプロファイルは、クライアントデバイス201がメッセージを送信した、または別様にPSS210にアクセスした地理的場所を含んでもよい。クライントデバイス201からの任意の通信は、メッセージが実際にユーザからのものかどうかを評価するために、ユーザのプロファイルに対してチェックされてもよい。
【0045】
ユーザの資格情報(例えば、ユーザ名、パスワード)へのアクセスを取得したシステムクラッカは、ユーザの模倣を試行し得るが、PSS210は、ハッカーがPSSに接続するコンピュータが、同一のユーザログ(例えば、指紋)を有していない、または異なる未知のIPアドレスから通信していることを認識するであろう。クラッカがクライアントデバイス201を取得し、PSS210に、またはそれを通して通信するようにデバイスの使用を試行する場合、PSS210は、デバイスが通常ではないまたは未知の地理的場所から通信していることを認識し得る。例えば、窃盗犯が、New York市に居住し、履歴的に地理的場所からPSS210にアクセスしていたユーザのスマートフォンを取得および使用する場合、San Diegoからの窃盗犯のスマートフォンの使用は、PSS210によって疑わしいものとしてフラグが付けられるであろう。PSS210は、次いで、スマートフォン201からの通信を処理することを拒否し得る、または代替帯域外通信チャネルを使用して、ユーザから付加的な検証を要求し得る。
【0046】
メッセージ検証の最終チェックとして、プロセス520は、オリジナルの検証された認証データと同一のアルゴリズムを使用して、未確認の認証データを暗号化し、プロセス530では、暗号化された未確認のデータは、記憶され、暗号化された、検証されたデータと比較される。検証が成功しなかった場合、プロセス540では、PSSは、そのセキュアな監査ログにエラーを記録し、トランザクションを終了させ、随意に、当分野で公知の他の脅威保護手段を講じてもよい。例えば、PSSは、アクセスが拒否された未確認のユーザ認証データの送信を通知し、PSSが恒久的にアクセスを拒否し、再認証を要求する前に、データを検証するためのいくつかの付加的な試行を可能にしてもよい。次いで、本方法は、プロセス510に戻り、PSSは、次のサービスアクセス要求を待つ。
【0047】
しかしながら、検証が成功した場合、その事実もまた、PSSによって記録され、プロセス550では、トランザクションは、進むことを可能にされる。成功および失敗のPSSログは、記憶媒体214内または別の場所に記憶されてもよい。これは、決して改変され得ないが、そのサイズに基づいて、PSSの外部の他のデバイスにアーカイブ化されてもよい。
【0048】
プロセス560では、真正であるとすでに検証された未確認の認証データは、要求された特定のサービスのための初期化中に記憶された、サービス承認データを復号化するために使用され、復号化されたサービス承認データは、サーバコンピュータにセキュアに伝送される。上記に留意されるように、この通信およびセッションを確立するために要求される後続通信は、米国特許第8,667,269号のセキュアなクラウドベースの識別サービスを使用してもよい。
【0049】
サービス承認データの復号化は、オリジナルユーザ認証データを復号化パラメータとして使用することを要求し、オリジナルユーザ以外の誰かがサービスにアクセスすることを防止する。オリジナルの暗号化されていない認証データは(
図4と併せて上記に説明されるように)PSS内に記憶されていないが、暗号化され受信された認証データと、記憶され暗号化されたオリジナル認証データとの間の一致は、受信された未確認のデータが、オリジナルデータと実際に同一であることを意味する。したがって、受信された認証データは、オリジナルデータのための代用としてその暗号化されていない形態で使用され、サービス承認データを復号化し得る。いったん復号化が完了し、暗号化されていないサービス承認データが復元されると、PSSは、再度、認証データをセキュアに削除する。
【0050】
最後に、プロセス570では、PSSは、サーバコンピュータから、これがサービス承認データを許容し、トランザクションセッションを開始したという指示を受信する。応答して、PSSは、ネットワークサービスのプロトコルに従って、クライアントデバイスとサーバコンピュータとの間でサービスメッセージの交換を開始する。トランザクションが完了すると、本方法は、プロセス510に戻り、次のサービスアクセス要求を待つ。
【0051】
PSSが実施する検証ステップに加えて、多くの他の算出が、行われてもよい。算出は、(例えば、
図2Aのアーキテクチャを使用して)クライアントデバイスから、または(
図2Bのアーキテクチャを使用して)ネットワークサービスからオフロードされ得る。後者の可能性に関して、クライアントデバイスは、PSSに対するいかなる制御も有していないため、セキュアなトランザクションが、ネットワークサービスに対して遂行され、有利なこととして、サービススケーラビリティを提供することができる。一実施形態では、各ユーザは、単一PSSを有する。本実施形態では、ネットワークサービスは、その所有されるハードウェアのサイズによって制限されないが、セキュアなコンピューティングリソースとして多数のPSSを含むように拡大し、したがって、「クラウドを拡張」し得る。別の実施形態では、各ユーザは、ネットワークサービス毎に単一PSSを有し、サーバ側ではなく、ネットワークのクライアント側において異なるネットワークサービス間の暗号化分離を提供する。
【0052】
図6は、本発明の実施形態による、二次PSSを使用してネットワークサービスを監査する帯域外方法を例証する、フローチャートである。
図6に示される方法は、一次PSSが、
図4および5に従ってネットワークサービスに対する要求を処理し、さらに、その監査ログへのリアルタイムアクセスを二次監査PSSに提供していると仮定する。監査および不正通知は、拡張されたクラウドの1つのアプリケーションにすぎないことを理解されたい。
【0053】
プロセス610では、二次PSSは、一次PSSからストリーミングされた監査ログデータを受信する。同時に、プロセス620では、二次PSSは、一次PSSによって提供されたネットワークサービスの出力を受信する。公的に消費可能な出力ストリームを生じさせる任意のネットワークサービスは、プロセス620によって監視され得る。例えば、クライアントデバイスによってアクセスされる1つのネットワークサービスがTWITTER(登録商標)である場合、プロセス620は、ユーザのTWITTER(登録商標)フィードを監視するステップを含む。
【0054】
プロセス630では、監査ログデータは、公開出力ストリームと比較され、各出力が対応するログエントリと一致するかどうかを判定する。PSSは、ストリームがユーザに対して有するストリームエントリ毎に対応するトランザクションを有さなければならず、承認されたユーザは、トランザクションを開始する必要がある。ストリームは、そのような目的地、金額、または入力から出力に変化しながら伝搬されるであろう任意の他データをチェックし得る、付加的なデータ要素を含有してもよい。これらのデータ要素の全ては、オリジナルトランザクションと比較されるであろう。これらは、アプリケーションに基づいて一致しなければならない。このように、トランザクションデータに影響を及ぼすマルウェア、ウィルス、または誤動作等のコンピュータ障害が、識別されることができる。
【0055】
監査ログが出力ストリームと一致する場合、本方法は、プロセス640に続き、二次PSSは、一次PSSに全てが良好であるという定期指示を提供する。しかしながら、監査ログデータが公開出力ストリームと一致しない場合、本方法は、プロセス650に続き、二次PSSは、直ちに一次PSSに不一致を通知する。ログエントリが存在するが、公開出力ストリームにいかなる対応する出力も存在しない場合、ネットワークサービスが、要求を実行する際に問題を経験した場合がある。逆に、出力が公開出力ストリームに存在するが、いかなる対応するログエントリも存在しない場合、ネットワークサービスがPSS以外のソースからなりすまし要求を受信し、したがって、ユーザのログイン資格情報が侵害された場合がある。いずれの場合も、クライアント−サーバ関係の信頼性は、侵害されており、プロセス660では、二次PSSが、脅威保護手順を開始する。そのような手順は、限定ではないが、ネットワークサービスにユーザのログイン資格情報を無効にするように命令するステップ、電子メール、テキスト、または自動通話を監視センターに送信するステップ、およびクライアントデバイスに依拠しない帯域外通信設備を介してユーザに連絡するステップを含んでもよい。
【0056】
本発明の種々の実施形態は、少なくとも部分的に、任意の従来のコンピュータプログラミング言語において実装されてもよい。例えば、いくつかの実施形態は、手続き型プログラミング言語(例えば、「C」)、またはオブジェクト指向型プログラミング言語(例えば、「C++」)において実装されてもよい。本発明の他の実施形態は、事前にプログラムされたハードウェア要素(例えば、特定用途向け集積回路、FPGA、およびデジタル信号プロセッサ)、または他の関連構成要素として実装されてもよい。
【0057】
代替実施形態では、開示される装置および方法は、コンピュータシステムと併用するためのコンピュータプログラム製品として実装されてもよい。そのような実装は、非一過性コンピュータ可読媒体(例えば、ディスケット、CD−ROM、ROM、または固定ディスク)等の有形媒体上のいずれかに固定される、一連のコンピュータ命令を含んでもよい。一連のコンピュータ命令は、システムに対して、本明細書で先に説明される機能性の全部または一部を具現化することができる。
【0058】
当業者は、そのようなコンピュータ命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムと併用するためのいくつかのプログラミング言語で書き込まれ得ることを理解するはずである。さらに、そのような命令は、半導体、磁気、光学、または他のメモリデバイス等の任意のメモリデバイス内に記憶されてもよく、光学、赤外線、マイクロ波、または他の伝送技術等、任意の通信技術を使用して伝送されてもよい。
【0059】
他の方法の中でも、そのようなコンピュータプログラム製品は、付随の印刷文書または電子文書(例えば、市販のソフトウェア)を伴う、可撤性媒体として配布される、コンピュータシステム(例えば、システムROMまたは固定ディスク上)にプリインストールされる、またはネットワーク(例えば、インターネットもしくはワールドワイドウェブ)を経由して、サーバもしく電子掲示板から配信されてもよい。当然ながら、本発明のいくつかの実施形態は、ソフトウェア(例えば、コンピュータプログラム製品)およびハードウェアの両方の組み合わせとして実装されてもよい。本発明のさらに他の実施形態は、完全なハードウェア、または完全なソフトウェアとして実装される。
【0060】
上記に説明される本発明の実施形態は、単に、例示的であることが意図され、多数の変形例および修正が、当業者に明白となるであろう。全てのそのような変形例および修正は、任意の添付される請求項に定義されるように、本発明の範囲内であることが意図される。