【解決手段】一式の証明機関の間で信頼を分配するための2つのアプローチは、等しくセキュアである。各アプローチでは、セキュアなデータパーサと呼ばれるデータ分割モジュールが任意の好適な暗号化技術と一体化し、移動中のデータをセキュア化するために使用される。1つのアプローチは、2つのデバイス間の接続の初期交渉(例えば、キー確立段階)中に、セキュアなデータパーサが一式の証明機関において信頼を分配する。別のアプローチは、セキュアなデータパーサがデータのパケットをシェアに分散する。
【発明を実施するための形態】
【0019】
本発明の一側面は、1つ以上のセキュアなサーバ、または信頼エンジンが、暗号キーおよびユーザ認証データを記憶する、暗号システムを提供する。ユーザは、信頼エンジンへのネットワークアクセスを通して、従来の暗号システムの機能性にアクセスするが、信頼エンジンは、実際のキーおよび他の認証データを公開せず、したがって、キーおよびデータはセキュアに保管されたままである。このキーおよび認証データのサーバ中心の記憶は、ユーザ独立型セキュリティ、可搬性、可用性、および単純性を提供する。
【0020】
ユーザが、ユーザおよび文書認証および他の暗号機能を行うのに暗号システムを確信または信頼できるため、多種多様な機能性がシステムに組み込まれ得る。例えば、信頼エンジンプロバイダは、例えば、同意当事者を認証し、当事者を代理または代表して同意にデジタル署名し、各当事者によってデジタル署名された同意の記録を記憶することによって、同意に対する拒否を保証することができる。加えて、暗号システムは、同意を監視し、例えば、価格、ユーザ、ベンダ、地理的な場所、使用場所等に基づいて、様々な程度の認証を適用することを決定し得る。
【0021】
本発明の完全な理解を促進するために、発明を実施するための形態の残りの部分は、類似要素が全体を通して類似数字で参照される図を参照して、本発明を説明する。
【0022】
図1は、本発明の実施形態の側面による、暗号システム100のブロック図を図示する。
図1に示されるように、暗号システム100は、通信リンク125を通して通信する、ユーザシステム105、信頼エンジン110、証明機関115、およびベンダシステム120を含む。
【0023】
本発明の一実施形態によれば、ユーザシステム105は、例えば、Intelベースのプロセッサ等の1つ以上のマイクロプロセッサを有する、従来の汎用コンピュータを備える。また、ユーザシステム105は、Windows(登録商標)、Unix(登録商標)、Linux(登録商標)等の、例えば、グラフィックスまたはウィンドウを含むことが可能なオペレーティングシステム等の適切なオペレーティングシステムを含む。
図1に示されるように、ユーザシステム105は、生体測定デバイス107を含み得る。生体測定デバイス107は、ユーザの生体測定を有利に捕捉し、捕捉した生体測定を信頼エンジン110に転送し得る。本発明の一実施形態によれば、生体測定デバイスは、その全てが本出願人によって所有され、かつその全てが参照することにより本明細書に組み込まれる、「RELIEF OBJECT IMAGE GENERATOR」と題された、1997年9月5日出願の米国特許出願第08/926,277号、「IMAGING DEVICE FOR A RELIEF OBJECT AND SYSTEM AND METHOD OF USING THE IMAGE DEVICE」と題された、2000年4月26日出願の米国特許出願第09/558,634号、「RELIEF OBJECT SENSOR ADAPTOR」と題された、1999年11月5日出願の米国特許出願第09/435,011号、および「PLANAR OPTICAL IMAGE SENSOR AND SYSTEM FOR GENERATING AN ELECTRONIC IMAGE OF A RELIEF OBJECT FOR FINGERPRINT READING」と題された、2000年1月5日出願の米国特許出願第09/477,943号で開示されているものと同様の属性および特徴を有する、デバイスを有利に備え得る。
【0024】
加えて、ユーザシステム105は、例えば、ダイヤルアップ、デジタル加入者回線(DSL)、ケーブルモデム、ファイバ接続等の従来のサービスプロバイダを通して、通信リンク125に接続し得る。別の実施形態によれば、ユーザシステム105は、例えば、ローカルまたは広域ネットワーク等のネットワーク接続を通して、通信リンク125を接続する。一実施形態によれば、オペレーティングシステムは、通信リンク125上で渡される全ての着信および発信メッセージを処理する、TCP/IPスタックを含む。
【0025】
ユーザシステム105が前述の実施形態を参照して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、情報を送信すること、または別のコンピュータシステムから受信することが可能なほとんどあらゆるコンピュータデバイスを含む、ユーザシステム105の多数の代替実施形態を本明細書の本開示から認識するであろう。例えば、ユーザシステム105は、通信リンク125と相互作用することができる、コンピュータワークステーション、双方向テレビ、双方向キオスク、デジタルアシスタント、携帯電話、ラップトップ等のパーソナルモバイルコンピューティングデバイス、ホームルータ、ネットワーク記憶デバイス(「NAS」)、パーソナルホットスポット等のパーソナルネットワーキング機器、あるいは無線通信デバイス、スマートカード、組み込みコンピューティングデバイス等を含み得るが、それらに限定されない。そのような代替システムでは、オペレーティングシステムは異なり、特定のデバイスのために適合される可能性が高い。しかしながら、一実施形態によれば、オペレーティングシステムは、通信リンク125との通信を確立するために必要とされる適切なプロトコルを有利に提供し続ける。
【0026】
図1は、信頼エンジン110を図示する。一実施形態によれば、信頼エンジン110は、テキスト、音声、ビデオ、ユーザ認証データ、ならびに公開および秘密暗号キー等であるが、それらに限定されない、任意の種類または形態のデータであり得る、機密情報にアクセスし、記憶するための1つ以上のセキュアなサーバを備える。一実施形態によれば、認証データは、暗号システム100のユーザを一意的に識別するように設計されているデータを含む。例えば、認証データは、ユーザ識別番号、1つ以上の生体測定、ならびに信頼エンジン110またはユーザによって生成されるが、登録時に最初にユーザによって回答される一連の質問および回答を含み得る。前述の質問は、出生地、住所、記念日等の人口統計データ、母親の旧姓、好きなアイスクリーム等の個人データ、またはユーザを一意的に識別するように設計されている他のデータを含み得る。信頼エンジン110は、現在のトランザクションに関連付けられるユーザの認証データを、例えば、登録中等のその時以前に提供された認証データと比較する。信頼エンジン110は、各トランザクションの時に認証データを生成するようにユーザに有利に要求し得、または信頼エンジン110は、一連のトランザクションの開始時または特定のベンダのウェブサイトにログオンする時等に、ユーザが認証データを周期的に生成することを有利に可能にし得る。
【0027】
ユーザが生体測定データを生成する実施形態によれば、ユーザは、顔面スキャン、手スキャン、耳スキャン、虹彩スキャン、網膜スキャン、血管パターン、DNA、指紋、筆跡、または発話等であるがそれらに限定されない、身体的特性を生体測定デバイス107に提供する。生体測定デバイスは、身体的特性の電子パターンまたは生体測定を有利に生成する。電子パターンは、登録または認証目的で、ユーザシステム105を通して信頼エンジン110に転送される。
【0028】
いったんユーザが適切な認証データを生成し、信頼エンジン110が、認証データ(現在の認証データ)と登録時に提供された認証データ(登録認証データ)との間の肯定的な照合を決定すると、信頼エンジン110は、ユーザに完全な暗号機能性を提供する。例えば、適正に認証されたユーザは、ハッシング、デジタル署名、暗号化および復号(しばしば一緒に単に暗号化と呼ばれる)、デジタル証明書の作成および配布等を行うために、信頼エンジン110を有利に採用し得る。しかしながら、暗号機能で使用される秘密暗号キーは、信頼エンジン110外で使用可能とならず、それにより、暗号キーの完全性を保証する。
【0029】
一実施形態によれば、信頼エンジン110は、暗号キーを生成し、記憶する。別の実施形態によれば、少なくとも1つの暗号キーは、各ユーザに関連付けられる。また、暗号キーは、公開キー技術を含み、ユーザに関連付けられる各秘密キーは、信頼エンジン110内で生成され、そこから公開されない。したがって、ユーザが信頼エンジン110にアクセスできる限り、ユーザは、自分の秘密または公開キーを使用して暗号機能を果たし得る。そのような遠隔アクセスは、ユーザが完全に移動性のままであり、携帯または衛星電話、キオスク、ラップトップ、ホテルの部屋等の事実上あらゆるインターネット接続を通して暗号機能にアクセスすることを有利に可能にする。
【0030】
別の実施形態によれば、信頼エンジン110は、信頼エンジン110に生成されたキーペアを使用して、暗号機能性を果たす。この実施形態によれば、信頼エンジン110は、最初にユーザを認証し、ユーザが登録認証データに合致する認証データを適正に生成した後、信頼エンジン110は、認証されたユーザに代わって暗号機能を果たすために独自の暗号キーペアを使用する。
【0031】
当業者であれば、暗号キーが、対称キー、公開キー、および秘密キーのうちのいくつかまたは全てを有利に含み得ることを本明細書の本開示から認識するであろう。加えて、当業者であれば、前述のキーが、例えば、RSA、ELGAMAL等の商業用技術から入手可能な多数のアルゴリズムを用いて実装され得ることを本明細書の本開示から認識するであろう。
【0032】
図1はまた、証明機関115も図示する。一実施形態によれば、証明機関115は、例えば、VeriSign、Baltimore、Entrust等のデジタル証明書を発行する、信頼できる第三者組織または企業を有利に備え得る。信頼エンジン110は、例えば、PKCS10等の1つ以上の従来のデジタル証明書プロトコルを通して、デジタル証明書の要求を証明機関115に有利に伝送し得る。それに応じて、証明機関115は、例えば、PKCS7等のいくつかの異なるプロトコルのうちの1つ以上で、デジタル証明書を発行する。本発明の一実施形態によれば、信頼エンジン110が、任意の要求当事者の証明書基準に対応するデジタル証明書にアクセスできるように、信頼エンジン110は、著名な証明機関115のうちのいくつかまたは全てからデジタル証明書を要求する。
【0033】
別の実施形態によれば、信頼エンジン110は、証明書発行を内部で行う。この実施形態では、信頼エンジン110は、証明書を生成するための証明書システムにアクセスし得、および/または、例えば、キー生成時等の要求された場合に、または要求時に要求された証明書基準で、証明書を内部で生成し得る。信頼エンジン110を以下でより詳細に開示する。
【0034】
図1はまた、ベンダシステム120も図示する。一実施形態によれば、ベンダシステム120は、ウェブサーバを有利に備える。典型的なウェブサーバは、概して、ハイパーテキストマークアップ言語(Hyper−Text Markup Language/HTML)または拡張可能マークアップ言語(Extensible Markup Language/XML)等のいくつかのインターネットマークアップ言語または文書形式基準のうちの1つを使用して、インターネット上でコンテンツを供給する。ウェブサーバは、NetscapeおよびInternet Explorerのようなブラウザから要求を受け取り、次いで、適切な電子文書を返信する。標準電子文書を送達する能力を超えて、ウェブサーバの権限を増大させるために、いくつかのサーバまたはクライアント側技術を使用することができる。例えば、これらの技術は、共通ゲートウェイインターフェース(Common Gateway Interface/CGI)スクリプト、SSLセキュリティ、およびアクティブサーバページ(Active Server Page/ASP)を含む。ベンダシステム120は、商業用、個人用、教育用、または他のトランザクションに関する電子コンテンツを有利に提供し得る。
【0035】
ベンダシステム120が前述の実施形態を参照して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、ベンダシステム120が、ユーザシステム105を参照して説明されるデバイスのうちのいずれか、またはそれらの組み合わせを有利に備え得ることを、本明細書の本開示から認識するであろう。
【0036】
図1はまた、ユーザシステム105、信頼エンジン110、証明機関115、およびベンダシステム120を接続する、通信リンク125も図示する。一実施形態によれば、通信リンク125は、好ましくは、インターネットを備える。本開示の全体を通して使用されるようなインターネットは、コンピュータの世界的ネットワークである。当業者に周知である、インターネットの構造は、バックボーンから分岐するネットワークを伴うネットワークバックボーンを含む。これらの分岐は順に、それらから分岐するネットワーク等を有する。ルータは、パケットがその送信先の近隣に到達するまで、ネットワークレベル間で、次いで、ネットワークからネットワークへ情報パケットを移動させる。送信先から、送信先ネットワークのホストが、情報パケットを適切な端末またはノードに方向付ける。1つの有利な実施形態では、インターネットルーティングハブは、当技術分野で周知であるような伝送制御プロトコル/インターネットプロトコル(Transmission Control Protocol/Internet Protocol:TCP/IP)を使用する、ドメイン名システム(DNS)サーバを備える。ルーティングハブは、高速通信リンクを介して1つ以上の他のルーティングハブに接続する。
【0037】
インターネットの1つの良く知られている部分は、ワールドワイドウェブである。ワールドワイドウェブは、図形およびテキスト情報を表示することが可能な文書を記憶する、異なるコンピュータを含む。ワールドワイドウェブ上で情報を提供するコンピュータは、典型的には、「ウェブサイト」と呼ばれる。ウェブサイトは、関連電子ページを有するインターネットアドレスによって定義される。電子ページは、ユニフォームリソースロケータ(URL)によって識別することができる。概して、電子ページは、テキスト、グラフィック画像、音声、ビデオ等の提示を編成する文書である。
【0038】
通信リンク125がその好ましい実施形態に関して開示されているが、当業者であれば、通信リンク125が広範囲の通信リンクを含み得ることを、本明細書の本開示から認識するであろう。例えば、通信リンク125は、双方向テレビネットワーク、電話ネットワーク、無線データ伝送システム、両方向ケーブルシステム、カスタマイズされた秘密または公開コンピュータネットワーク、双方向キオスクネットワーク、現金自動預払機ネットワーク、直接リンク、衛星またはセルラーネットワーク等を含み得る。
【0039】
図2は、本発明の実施形態の側面による、
図1の信頼エンジン110のブロック図を図示する。
図2に示されるように、信頼エンジン110は、トランザクションエンジン205と、保管場所210と、認証エンジン215と、暗号エンジン220とを含む。本発明の一実施形態によれば、信頼エンジン110はまた、大容量記憶装置225も含む。
図2でさらに示されるように、トランザクションエンジン205は、大容量記憶装置225、保管場所210、認証エンジン215、および暗号エンジン220と通信する。加えて、保管場所210は、認証エンジン215、暗号エンジン220、および大容量記憶装置225と通信する。また、認証エンジン215は、暗号エンジン220と通信する。本発明の一実施形態によれば、前述の通信のうちのいくつかまたは全ては、受信デバイスに対応するIPアドレスへのXML文書の伝送を有利に含み得る。前述のように、XML文書は、設計者が独自のカスタマイズされた文書タグを作成することを有利に可能にし、アプリケーション間および組織間のデータの定義、伝送、検証、および解釈を可能にする。また、前述の通信のうちのいくつかまたは全ては、従来のSSL技術を含み得る。
【0040】
一実施形態によれば、トランザクションエンジン205は、Netscape、Microsoft、Apache等から入手可能な従来のウェブサーバ等のデータルーティングデバイスを備える。例えば、ウェブサーバは、通信リンク125から着信データを有利に受信し得る。本発明の一実施形態によれば、着信データは、信頼エンジン110用のフロントエンドセキュリティシステムにアドレス指定される。例えば、フロントエンドセキュリティシステムは、ファイアウォール、既知の攻撃プロファイルを検索する侵入検出システム、および/またはウイルススキャナを有利に含み得る。フロントエンドセキュリティシステムを通過した後、データはトランザクションエンジン205によって受信され、保管場所210、認証エンジン215、暗号エンジン220、および大容量記憶装置225のうちの1つに送られる。加えて、トランザクションエンジン205は、認証エンジン215および暗号エンジン220からの着信データを監視し、通信リンク125を通して特定のシステムにデータを送る。例えば、トランザクションエンジン205は、ユーザシステム105、証明機関115、またはベンダシステム120にデータを有利に送り得る。
【0041】
一実施形態によれば、データは、例えば、URLまたはユニフォームリソースインジケータ(Uniform Resource Indicator/URI)を採用すること等の従来のHTTPルーティング技法を使用して送られる。URIは、URLと同様であるが、URIは、典型的には、例えば、実行ファイル、スクリプト等のファイルまたは動作源を示す。したがって、一実施形態によれば、ユーザシステム105、証明機関115、ベンダシステム120、および信頼エンジン210の構成要素は、暗号システムの全体を通してデータを適正に送るように、トランザクションエンジン205の通信URLまたはURI内で十分なデータを有利に含む。
【0042】
データルーティングがその好ましい実施形態に関して開示されているが、当業者であれば、多数の可能なデータルーティング解決法または方法を認識するであろう。例えば、トランザクションエンジン205が、信頼エンジン110の全体を通してデータを適正に送り得るように、XMLまたは他のデータパケットが、有利に解凍され、それらの形式、コンテンツ等によって認識され得る。また、当業者であれば、例えば、通信リンク125がローカルネットワークを含む時等に、データルーティングは、特定のネットワークシステムに一致するデータ転送プロトコルに有利に適合され得ることを認識するであろう。
【0043】
本発明のさらに別の実施形態によれば、特定の通信中にトランザクションエンジン205を用いて、前述のシステムが自身を認証し、その逆も同様であるように、トランザクションエンジン205は、従来のSSL暗号化技術を含む。本開示の全体を通して使用されるように、「1/2SSL」という用語は、サーバがSSL認証されるが、必ずしもクライアントはSSL認証されるとは限らない通信を指し、「FULL SSL」という用語は、クライアントおよびサーバがSSL認証される通信を指す。本開示が「SSL」という用語を使用する場合、通信は1/2またはFULL SSLを含み得る。
【0044】
トランザクションエンジン205が暗号システム100の種々の構成要素にデータを送るにつれて、トランザクションエンジン205は、オーディットトレールを有利に作成し得る。一実施形態によれば、オーディットトレールは、暗号システム100の全体を通してトランザクションエンジン205によって送られるデータの少なくとも種類および形式の記録を含む。そのようなオーディットデータは、大容量記憶装置225に有利に記憶され得る。
【0045】
図2はまた、保管場所210も図示する。一実施形態によれば、保管場所210は、例えば、ディレクトリサーバ、データベースサーバ等の1つ以上のデータ記憶設備を備える。
図2に示されるように、保管場所210は、暗号キーおよび登録認証データを記憶する。暗号キーは、信頼エンジン110に、またはユーザあるいはベンダ等の暗号システム100のユーザに有利に対応し得る。登録認証データは、ユーザID、パスワード、質問への回答、生体測定データ等のユーザを一意的に識別するように設計されているデータを有利に含み得る。この登録認証データは、ユーザの登録時に、または別の代替的な後の時間に、有利に取得され得る。例えば、信頼エンジン110は、登録認証データの周期的または他の更新または再発行を含み得る。
【0046】
一実施形態によれば、トランザクションエンジン205から認証エンジン215および暗号エンジン220を往復する通信は、例えば、従来のSSL技術等のセキュアな通信を含む。加えて、前述のように、保管場所210を往復する通信のデータは、URL、URI、HTTP、またはXML文書を使用して転送され得、前述のうちのいずれかは、その中に組み込まれたデータ要求および形式を有利に有する。
【0047】
上述のように、保管場所210は、複数のセキュアなデータ記憶設備を有利に備え得る。そのような実施形態では、セキュアなデータ記憶設備は、1つの個別データ記憶設備におけるセキュリティの侵害が、その中に記憶された暗号キーまたは認証データを損なわないように、構成され得る。例えば、この実施形態によれば、暗号キーおよび認証データは、各データ記憶設備に記憶されたデータを統計的かつ実質的に無作為化するよう、数学的に操作される。一実施形態によれば、個別データ記憶設備のデータの無作為化は、そのデータを解読不可能にする。したがって、個別データ記憶設備のセキュリティ侵害は、無作為化された解読不可能な数字のみを生じ、任意の暗号キーまたは認証データのセキュリティを全体として損なわない。
【0048】
図2はまた、認証エンジン215を含む、信頼エンジン110も図示する。一実施形態によれば、認証エンジン215は、トランザクションエンジン205からのデータを保管場所210からのデータと比較するように構成されている、データコンパレータを備える。例えば、認証中に、ユーザは、トランザクションエンジン205が現在の認証データを受信するように、現在の認証データを信頼エンジン110に供給する。前述のように、トランザクションエンジン205は、好ましくはURLまたはURIでデータ要求を認識し、認証データを認証エンジン215に送る。また、要求に応じて、保管場所210は、ユーザに対応する登録認証データを認証エンジン215に転送する。したがって、認証エンジン215は、比較のために現在の認証データおよび登録認証データの両方を有する。
【0049】
一実施形態によれば、認証エンジンへの通信は、例えば、SSL技術等のセキュアな通信を含む。加えて、例えば、公開キー技術を使用した多重暗号化を使用して、信頼エンジン110の構成要素内でセキュリティを提供することができる。例えば、一実施形態によれば、ユーザは、認証エンジン215の公開キーを用いて、認証データを暗号化する。加えて、保管場所210もまた、認証エンジン215の公開キーを用いて、登録認証データを暗号化する。このようにして、伝送を復号するために、認証エンジンの秘密キーのみを使用することができる。
【0050】
図2に示されるように、信頼エンジン110はまた、暗号エンジン220も含む。一実施形態によれば、暗号エンジンは、例えば、公開キーインフラストラクチャ(PKI)機能性等の従来の暗号機能を有利に提供するように構成されている、暗号処理モジュールを備える。例えば、暗号エンジン220は、暗号システム100のユーザ用の公開および秘密キーを有利に発行し得る。このようにして、少なくとも秘密暗号キーが信頼エンジン110外で利用可能とならないように、暗号キーは暗号エンジン220で生成され、保管場所210に転送される。別の実施形態によれば、暗号エンジン220は、少なくとも秘密暗号キーデータを無作為化して分割し、それにより、無作為化された分割データのみを記憶する。登録認証データの分割と同様に、分割過程は、記憶されたキーが暗号エンジン220外で利用可能ではないことを保証する。別の実施形態によれば、暗号エンジンの機能は、認証エンジン215と組み合わせ、認証エンジン215によって果たすことができる。
【0051】
一実施形態によれば、暗号エンジンを往復する通信は、SSL技術等のセキュアな通信を含む。加えて、データを転送する、および/または暗号機能要求を行うために、XML文書が有利に採用され得る。
【0052】
図2はまた、大容量記憶装置225を有する信頼エンジン110も図示する。前述のように、トランザクションエンジン205は、オーディットトレールに対応するデータを保持し、大容量記憶装置225にそのようなデータを記憶する。同様に、本発明の一実施形態によれば、保管場所210は、オーディットトレールに対応するデータを保持し、大容量記憶デバイス225にそのようなデータを記憶する。保管場所オーディットトレールデータは、オーディットトレールデータが保管場所210によって受信される要求およびその応答の記録を備えるという点で、トランザクションエンジン205のオーディットトレールデータと同様である。加えて、大容量記憶装置225は、その中に含まれたユーザの公開キーを有する、デジタル証明書を記憶するために使用され得る。
【0053】
信頼エンジン110がその好ましい代替実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、信頼エンジン110の多数の代替案を本明細書の本開示において認識するであろう。例えば、信頼エンジン110は、認証のみ、または代替として、データ暗号化および復号等の暗号機能のうちのいくつかのみ、あるいは全てを有利に果たし得る。そのような実施形態によれば、認証エンジン215および暗号エンジン220のうちの1つが有利に除去され得、それにより、信頼エンジン110にとってより単純な設計を作成する。加えて、暗号エンジン220はまた、証明機関が信頼エンジン110内で具現化されるように、証明機関と通信し得る。さらに別の実施形態によれば、信頼エンジン110は、認証、および、例えば、デジタル署名等の1つ以上の暗号機能を有利に果たし得る。
【0054】
図3は、本発明の実施形態の側面による、
図2のトランザクションエンジン205のブロック図を図示する。この実施形態によれば、トランザクションエンジン205は、処理スレッドおよびリスニングスレッドを有する、オペレーティングシステム305を備える。オペレーティングシステム305は、例えば、Apacheから入手可能なウェブサーバ等の従来の高容量サーバで見出されるものと有利に同様であり得る。リスニングスレッドは、着信データフローについて、通信リンク125、認証エンジン215、および暗号エンジン220のうちの1つからの着信通信を監視する。処理スレッドは、例えば、前述のデータ構造等の着信データフローの特定のデータ構造を認識し、それにより、通信リンク125、保管場所210、認証エンジン215、暗号エンジン220、または大容量記憶装置225のうちの1つに着信データを送る。
図3に示されるように、着信および発信データは、例えば、SSL技術を通して、有利にセキュア化され得る。
【0055】
図4は、本発明の実施形態の側面による、
図2の保管場所210のブロック図を図示する。この実施形態によれば、保管場所210は、1つ以上のライトウェイトディレクトリアクセスプロトコル(LDAP)サーバを備える。LDAPディレクトリサーバは、Netscape、ISO、およびその他等の多種多様な製造業者から入手可能である。
図4はまた、ディレクトリサーバが、好ましくは、暗号キーに対応するデータ405および登録認証データに対応するデータ410を記憶することも示す。一実施形態によれば、保管場所210は、認証データおよび暗号キーデータを一意のユーザIDにインデックス付けする、単一の論理メモリ構造を備える。単一の論理メモリ構造は、好ましくは、その中に記憶されたデータにおいて、高度の信頼またはセキュリティを保証する機構を含む。例えば、保管場所210の物理的な場所は、限定された従業員アクセス、近代的な監視システム等の多数の従来のセキュリティ対策を有利に含み得る。物理的なセキュリティに加えて、またはその代わりに、コンピュータシステムまたはサーバは、記憶されたデータを保護するソフトウェアソリューションを有利に含み得る。例えば、保管場所210は、講じられた措置のオーディットトレールに対応するデータ415を有利に作成し、記憶し得る。加えて、着信および発信通信は、従来のSSL技術と連結された公開キー暗号化を用いて、有利に暗号化され得る。
【0056】
別の実施形態によれば、保管場所210は、
図7を参照してさらに開示されるように、明確に異なる物理的に分離されたデータ記憶設備を備え得る。
【0057】
図5は、本発明の実施形態の側面による、
図2の認証エンジン215のブロック図を図示する。
図3のトランザクションエンジン205と同様に、認証エンジン215は、例えば、Apacheから利用可能なウェブサーバ等の従来のウェブサーバの修正版の少なくともリスニングおよび処理スレッドを有する、オペレーティングシステム505を備える。
図5に示されるように、認証エンジン215は、少なくとも1つの秘密キー510へのアクセスを含む。秘密キー510は、例えば、認証エンジン215の対応する公開キーを用いて暗号化された、トランザクションエンジン205または保管場所210からのデータを復号するために、有利に使用され得る。
【0058】
図5はまた、コンパレータ515と、データ分割モジュール520と、データ集約モジュール525を備える、認証エンジン215も図示する。本発明の好ましい実施形態によれば、コンパレータ515は、前述の生体測定認証データに関連する潜在的に複雑なパターンを比較することが可能な技術を含む。該技術は、例えば、指紋パターンまたは声紋を表すもの等のパターンに対するハードウェア、ソフトウェア、または複合ソリューションを含み得る。加えて、一実施形態によれば、認証エンジン215のコンパレータ515は、比較結果を提出するために、文書の従来のハッシュを有利に比較し得る。本発明の一実施形態によれば、コンパレータ515は、比較に対するヒューリスティクス530の適用を含む。ヒューリスティクス530は、例えば、時刻、IPアドレスまたはサブネットマスク、購入プロファイル、Eメールアドレス、プロセッサシリアル番号またはID等の認証試行をとりまく状況を有利に処理し得る。
【0059】
また、生体測定データ比較の性質は、登録データへの現在の生体測定認証データの照合から、様々な程度の確信を生じさせ得る。例えば、肯定的または否定的合致のみを返信し得る、従来のパスワードと違って、指紋は、単に正確または不正確であるかよりもむしろ、部分的合致、例えば、90%合致、75%合致、または10%合致であることを決定され得る。声紋分析または顔面認識等の他の生体測定識別子は、絶対的認証よりもむしろ、この確率的認証の性質を共有し得る。
【0060】
そのような確率的認証と連動する場合、または認証が決して絶対的に信頼できるとは見なされない他の場合において、ヒューリスティクス530を適用して、提供された認証の確信のレベルが、行われているトランザクションを認証するのに十分高いかどうかを決定することが望ましい。
【0061】
時には、問題のトランザクションが、より低いレベルの確信に認証されることが容認可能である、比較的低い値のトランザクションである場合であろう。これは、それに関連付けられた低いドル値を有するトランザクション(例えば、$10の購入)または低いリスクを伴うトランザクション(例えば、メンバー専用ウェブサイトへの入会)を含むことができる。
【0062】
逆に、他のトランザクションを認証するために、トランザクションが続行することを可能にする前に、認証への高度の確信を要求することが望ましいことがある。そのようなトランザクションは、大きいドル値のトランザクション(例えば、数百万ドルの供給契約に署名する)、または不正認証が発生した場合に高いリスクを伴うトランザクション(例えば、政府コンピュータに遠隔でログオンする)を含み得る。
【0063】
確信レベルおよびトランザクションの値と組み合わせたヒューリスティクス530の使用は、以下で説明されるように、コンパレータが動的な文脈依存認証システムを提供することを可能にするために、使用され得る。
【0064】
本発明の別の実施形態によれば、コンパレータ515は、特定のトランザクションに対する認証試行を有利に追跡し得る。例えば、トランザクションが失敗すると、信頼エンジン110は、現在の認証データを再入力するようにユーザに要求し得る。認証エンジン215のコンパレータ515は、認証試行の数を制限するために、試行リミッタ535を有利に採用し、それにより、ユーザの認証データになりすます強引な試行を禁止し得る。一実施形態によれば、試行リミッタ535は、認証試行を繰り返すためのトランザクションを監視し、例えば、所望のトランザクションに対する認証試行を3回に限定するソフトウェアモジュールを備える。したがって、試行リミッタ535は、個人の認証データになりすます自動試行を、例えば、単に3回の「推測」に限定する。3回失敗すると、試行リミッタ535は、追加の認証試行を有利に拒否し得る。そのような拒否は、例えば、伝送されている現在の認証データにかかわらず、否定的な結果を返信するコンパレータ515を通して、有利に実装され得る。他方で、トランザクションエンジン205は、3回の試行が以前に失敗したトランザクションに関する追加の認証試行を有利に阻止し得る。
【0065】
認証エンジン215はまた、データ分割モジュール520と、データ集約モジュール525を含む。データ分割モジュール520は、データを実質的に無作為化して複数部分に分割するよう、種々のデータに数学的に演算する能力を有する、ソフトウェア、ハードウェア、または複合モジュールを有利に備える。一実施形態によれば、元のデータは、個別部分から再作成可能ではない。データ集約モジュール525は、前述の実質的に無作為化された部分の組み合わせが元の解読データを提供するように、それらに数学的に演算するように構成されている、ソフトウェア、ハードウェア、または複合モジュールを有利に備える。一実施形態によれば、認証エンジン215は、登録認証データを無作為化して複数部分に分割するために、データ分割モジュール520を採用し、複数部分を使用可能な登録認証データに再構築するためにデータ集約モジュール525を採用する。
【0066】
図6は、本発明の一実施形態の側面による、
図2の信頼エンジン200の暗号エンジン220のブロック図を図示する。
図3のトランザクションエンジン205と同様に、暗号エンジン220は、例えば、Apacheから利用可能なウェブサーバ等の従来のウェブサーバの修正版の少なくともリスニングおよび処理スレッドを有する、オペレーティングシステム605を備える。
図6に示されるように、暗号エンジン220は、
図5のものと同様に機能する、データ分割モジュール610と、データ集約モジュール620とを備える。しかしながら、一実施形態によれば、データ分割モジュール610およびデータ集約モジュール620は、前述の登録認証データとは対照的に、暗号キーデータを処理する。しかし、当業者であれば、データ分割モジュール910およびデータ分割モジュール620が、認証エンジン215のモジュールと組み合わせられ得ることを、本明細書の本開示から認識するであろう。
【0067】
暗号エンジン220はまた、多数の暗号機能のうちの1つ、いくつか、または全てを果たすように構成されている、暗号処理モジュール625も備える。一実施形態によれば、暗号処理モジュール625は、ソフトウェアモジュールまたはプログラム、ハードウェア、あるいは両方を備え得る。別の実施形態によれば、暗号処理モジュール625は、データ比較、データ解析、データ分割、データ分離、データハッシング、データ暗号化または復号、デジタル署名検証または作成、デジタル証明書生成、記憶、または要求、暗号キー生成等を行い得る。また、当業者であれば、暗号処理モジュール825は、プリティーグッドプライバシー(Pretty Good Privacy/PGP)、RSAベースの公開キーシステム、または多数の代替的なキー管理システム等の公開キーインフラストラクチャを有利に備え得ることを、本明細書の本開示から認識するであろう。加えて、暗号処理モジュール625は、公開キー暗号化、対称キー暗号化、または両方を行い得る。前述のものに加えて、暗号処理モジュール625は、シームレスな透過的な相互運用性機能を実装するための1つ以上のコンピュータプログラムまたはモジュール、ハードウェア、あるいは両方を含み得る。
【0068】
当業者であれば、暗号機能性が、概して暗号キー管理システムに関する、多数または種々の機能を含み得ることも、本明細書の本開示から認識するであろう。
【0069】
図7は、本発明の実施形態の側面による、保管場所システム700の簡略化したブロック図を図示する。
図7に示されるように、保管場所システム700は、複数のデータ記憶設備、例えば、データ記憶設備D1、D2、D3、およびD4を有利に備える。しかしながら、保管場所システムは1つだけのデータ記憶設備を有し得ることが、当業者によって容易に理解される。本発明の一実施形態によれば、データ記憶設備D1乃至D4の各々は、
図4の保管場所210を参照して開示される要素のうちのいくつかまたは全てを有利に備え得る。保管場所210と同様に、データ記憶設備D1乃至D4は、好ましくは従来のSSLを通して、トランザクションエンジン205、認証エンジン215、および暗号エンジン220と通信する。通信リンクは、例えば、XML文書を転送する。トランザクションエンジン205からの通信は、データの要求を有利に含み、要求は、各データ記憶設備D1乃至D4のIPアドレスへ有利に送信され得る。他方で、トランザクションエンジン205は、例えば、応答時間、サーバ負荷、メンテナンススケジュール等の多数の基準に基づいて、要求を特定のデータ記憶設備に送信する。
【0070】
トランザクションエンジン205からのデータの要求に応じて、保管場所システム700は、記憶されたデータを認証エンジン215および暗号エンジン220に有利に転送する。それぞれのデータ集約モジュールは、転送されたデータを受信し、データを使用可能な形式に組み立てる。他方で、認証エンジン215および暗号エンジン220から、データ記憶設備D1乃至D4への通信は、記憶される機密データの伝送を含み得る。例えば、一実施形態によれば、認証エンジン215および暗号エンジン220は、機密データを解読不可能な部分に分けるために、それぞれのデータ分割モジュールを有利に採用し、次いで、機密データの1つ以上の解読不可能な部分を特定のデータ記憶設備に伝送し得る。
【0071】
一実施形態によれば、各データ記憶設備D1乃至D4は、例えば、ディレクトリサーバ等の別個の独立記憶システムを備える。本発明の別の実施形態によれば、保管場所システム700は、複数の地理的に分離された独立データ記憶システムを備える。そのうちのいくつかまたは全てが有利に地理的に分離され得る、明確に異なる独立記憶設備D1乃至D4の中へ、機密データを分配することによって、保管場所システム700は、追加のセキュリティ対策とともに冗長性を提供する。例えば、一実施形態によれば、複数のデータ記憶設備D1乃至D4のうちの2つからのデータのみが、機密データを解読し、再構築するために必要とされる。したがって、信頼エンジン110の機能性に影響を及ぼすことなく、メンテナンス、システム故障、停電等により、4つのデータ記憶設備D1乃至D4のうちの2つもの設備が、動作不能になり得る。加えて、一実施形態によれば、各データ記憶設備に記憶されたデータが無作為化され、解読不可能であるため、個別データ記憶設備のセキュリティ侵害は、必ずしも機密データを損なうわけではない。また、データ記憶設備の地理的分離を有する実施形態では、複数の地理的に遠隔の設備のセキュリティ侵害は、ますます困難となる。実際に、不正従業員でさえも、必要とされる複数の独立した地理的に遠隔のデータ記憶設備を妨害するのに多大な努力を必要とする。
【0072】
保管場所システム700がその好ましい代替実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、保管場所システム700の多数の代替案を本明細書の本開示から認識するであろう。例えば、保管場所システム700は、1つ、2つ、またはそれ以上のデータ記憶設備を備え得る。加えて、機密データは、2つ以上のデータ記憶設備からの複数部分が、機密データを再構築して解読するために必要とされるように、数学的に操作され得る。
【0073】
前述のように、認証エンジン215および暗号エンジン220はそれぞれ、例えば、テキスト、音声、ビデオ、認証データ、および暗号キーデータ等の任意の種類または形態のデータを分割するために、それぞれデータ分割モジュール520および610含む。
図8は、本発明の実施形態による、データ分割モジュールによって行われるデータ分割過程800のフローチャートを図示する。
図8に示されるように、データ分割過程800は、機密データ「S」が認証エンジン215または暗号エンジン220のデータ分割モジュールによって受信される場合に、ステップ805から始まる。好ましくは、次いで、ステップ810で、データ分割モジュールは、実質的な乱数、値、または文字列、あるいは一式のビット「A」を生成する。例えば、乱数Aは、暗号用途で使用するために好適な高品質の乱数を生じるために、当業者に利用可能である多数の様々な従来の技法で生成され得る。加えて、一実施形態によれば、乱数Aは、機密データSの長さよりも短い、長い、または等しい等の任意の好適な長さであり得る、ビット長を備える。
【0074】
加えて、ステップ820では、データ分割過程800は、別の統計学的乱数「C」を生成する。好ましい実施形態によれば、統計学的乱数AおよびCの生成は、有利に並行して行われ得る。次いで、データ分割モジュールは、新しい数字「B」および「D」が生成されるように、数字AおよびCを機密データSと組み合わせる。例えば、数字Bは、A XOR Sという2値組み合わせを備えてもよく、数字Dは、C XOR Sという2値組み合わせを備え得る。XOR関数または「排他的OR」関数は、当業者に周知である。前述の組み合わせは、好ましくは、それぞれステップ825および830で発生し、一実施形態によれば、前述の組み合わせはまた、並行して発生する。次いで、データ分割過程800は、対合のうちのいずれも、元の機密データSを再編成して解読するのに十分なデータを単独では含まないように、乱数AおよびCならびに数字BおよびDが対合される、ステップ835へと進む。例えば、番号は、AC、AD、BC、およびBDのように対合される。一実施形態によれば、前述の対合の各々は、
図7の保管場所D1乃至D4のうちの1つに分配される。別の実施形態によれば、前述の対合の各々は、保管場所D1乃至D4のうちの1つに無作為に分配される。例えば、第1のデータ分割過程800中に、対合ACは、例えば、D2のIPアドレスの無作為選択を通して、保管場所D2に送信され得る。次いで、第2のデータ分割過程800中に、対合ACは、例えば、D4のIPアドレスの無作為選択を通して、保管場所D4に送信され得る。加えて、対合は、全て1つの保管場所で記憶され得、該保管場所上の別個の場所に記憶され得る。
【0075】
前述の内容に基づいて、データ分割過程800は、いずれのデータ記憶設備D1乃至D4も、元の機密データSを再作成するのに十分な暗号化されたデータを含まないように、4つのデータ記憶設備D1乃至D4の各々の中に機密データ部分を有利に配置する。前述のように、個別に使用不可能な暗号化部分へのデータのそのような無作為化は、セキュリティを増大させ、たとえデータ記憶設備D1乃至D4のうちの1つが損なわれても、データに対する維持された信頼を提供する。
【0076】
データ分割過程800がその好ましい実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、データ分割過程800の多数の代替案を本明細書の本開示から認識するであろう。例えば、データ分割過程は、データを2つの数字、例えば、乱数Aおよび数字Bに有利に分割し、2つのデータ記憶設備を通してAおよびBを無作為に分配し得る。また、データ分割過程800は、追加の乱数の生成を通して、多数のデータ記憶設備の間でデータを有利に分割し得る。データは、1ビット、ビット、バイト、キロバイト、メガバイトまたはそれ以上、あるいはサイズの任意の組み合わせ、もしくは一連のサイズを含むが、それらに限定されない、任意の所望の、選択された、所定の、または無作為に割り当てられたサイズ単位に分割され得る。加えて、分割過程から生じるデータ単位のサイズを変化させることにより、データを使用可能な形態に回復しにくくし、それにより、機密データのセキュリティを増大させ得る。分割データ単位サイズは、多種多様なデータ単位サイズ、またはサイズのパターン、あるいはサイズの組み合わせであり得ることが、当業者にとって容易に明白である。例えば、データ単位サイズは、全て同じサイズ、固定された一式の異なるサイズ、サイズの組み合わせ、または無作為に生成されたサイズとなるように選択または事前決定され得る。同様に、データ単位は、固定または所定データ単位サイズ、データ単位サイズのパターンまたは組み合わせ、あるいは無作為に生成されたデータ単位サイズ、もしくはシェア当たりのサイズに従って、1つ以上のシェアに分配され得る。
【0077】
前述のように、機密データSを再作成するために、データ部分は、脱無作為化され、再編成される必要がある。この過程は、それぞれ認証エンジン215および暗号エンジン220のデータ集約モジュール525および620において有利に発生し得る。データ集約モジュール、例えば、データアセンブリモジュール525は、データ記憶設備D1乃至D4からデータ部分を受信し、データを使用可能な形態に再構築する。例えば、データ分割モジュール520が
図8のデータ分割過程800を採用した、一実施形態によれば、データ集約モジュール525は、機密データSを再作成するために、データ記憶設備D1乃至D4のうちの少なくとも2つからのデータ部分を使用する。例えば、AC、AD、BC、およびBDの対合は、任意の2つが、AおよびBのうちの1つ、または、CおよびDのうちの1つを提供するように分配された。S=A XOR BまたはS=C XOR Dが、データ集約モジュールが、AおよびBのうちの1つ、または、CおよびDのうちの1つを受信した場合に、データ集約モジュール525が、機密データSを有利に再構築できることを示すことに留意されたい。したがって、データ集約モジュール525は、信頼エンジン110による集約要求に応答して、例えば、データ記憶設備D1乃至D4のうちの少なくとも最初の2つからのデータ部分を受信した場合に、機密データSを集約し得る。
【0078】
上記のデータ分割および集約過程に基づいて、機密データSは、信頼エンジン110の限定された領域中のみで使用可能な形式で存在する。例えば、機密データSが登録認証データを含む場合、使用可能な無作為化されていない登録認証データは、認証エンジン215のみで利用可能である。同様に、機密データSが秘密暗号キーデータを含む場合、使用可能な無作為化されていない秘密暗号キーデータは、暗号エンジン220のみで利用可能である。
【0079】
データ分割および集約過程がその好ましい実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、機密データSを分割および集約するための多数の代替案を本明細書の本開示から認識するであろう。例えば、公開キー暗号化は、データ記憶設備D1乃至D4においてデータをさらにセキュア化するために使用され得る。加えて、本明細書で説明されるデータ分割モジュールはまた、任意の既存のコンピュータシステム、ソフトウェアスイート、データベース、またはそれらの組み合わせ、あるいは本明細書で開示および説明される信頼エンジン、認証エンジン、およびトランザクションエンジン等の本発明の他の実施形態に組み込まれ、組み合わされ、または一部とされ得る、本発明の別個の明確に異なる実施形態でもあることが、当業者にとって容易に明白である。
【0080】
図9Aは、本発明の実施形態の側面による、登録過程900のデータフローを図示する。
図9Aに示されるように、登録過程900は、ユーザが暗号システム100の信頼エンジン110を用いて登録することを所望する場合に、ステップ905から始まる。この実施形態によれば、ユーザシステム105は、人口統計データおよび登録認証データ等の登録データを入力するようにユーザに問い合せを行う、Java(登録商標)ベース等のクライアント側アプレットを有利に含む。一実施形態によれば、登録認証データは、ユーザID、パスワード、生体測定等を含む。一実施形態によれば、問い合せ過程中に、クライアント側アプレットは、好ましくは、信頼エンジン110と通信して、選択されたユーザIDが一意であることを保証する。ユーザIDが一意ではない場合、信頼エンジン110は、一意のユーザIDを有利に提案し得る。クライアント側アプレットは、登録データを収集し、例えば、XML文書を通して、登録データを信頼エンジン110に、具体的には、トランザクションエンジン205に伝送する。一実施形態によれば、伝送は、認証エンジン215の公開キーを用いて符号化される。
【0081】
一実施形態によれば、ユーザは、登録過程900のステップ905中に単一の登録を行う。例えば、ユーザは、Joe ユーザ等の特定の個人として自分を登録する。Joe ユーザがMega Corp.のCEOであるJoe ユーザとして登録することを所望する場合、次いで、この実施形態によれば、Joe ユーザは2度目に登録し、第2の一意のユーザIDを受信し、信頼エンジン110は2つの身元を関連づけない。本発明の別の実施形態によれば、登録過程900は、単一のユーザIDに対する複数のユーザの身元を提供する。したがって、上記の実施例では、信頼エンジン110は、Joe ユーザの2つの身元を有利に関連付ける。本明細書の本開示から当業者によって理解されるように、ユーザは、多くの身元、例えば、世帯主であるJoe ユーザ、慈善団体のメンバーであるJoe ユーザ等を有し得る。たとえユーザが複数の身元を有し得ても、この実施形態によれば、信頼エンジン110は、好ましくは、一式の登録データのみを記憶する。また、ユーザは、必要に応じて、身元を有利に追加、編集/更新、または削除し得る。
【0082】
登録過程900がその好ましい実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、登録データ、具体的には登録認証データの収集の多数の代替案を本明細書の本開示から認識するであろう。例えば、アプレットは、共通オブジェクトモデル(COM)ベースのアプレット等であり得る。
【0083】
他方で、登録過程は、等級別登録を含み得る。例えば、最低レベルの登録において、ユーザは、自分の身元に関する文書を生成することなく、通信リンク125上で登録し得る。増加したレベルの登録に従って、ユーザは、デジタル公証人等の信頼できる第三者を使用して登録する。例えば、ユーザは、信頼できる第三者に直接会い、出生証明書、運転免許書、軍人身分証明書等を生成し、信頼できる第三者は、例えば、登録提出にデジタル署名を有利に含み得る。信頼できる第三者は、実際の公証人、郵便局または陸運局等の政府機関、従業員を登録する大企業の中の人事担当者等を含み得る。当業者であれば、多数の様々なレベルの登録が登録過程900中に発生し得ることを本明細書の本懐時から理解するであろう。
【0084】
登録認証データを受信した後、ステップ915では、トランザクションエンジン205が、従来のFULL SSL技術を使用して、登録認証データを認証エンジン215に転送する。ステップ920では、認証エンジン215が、認証エンジン215の秘密キーを使用して、登録認証データを復号する。加えて、認証エンジン215は、データを少なくとも2つの独立して解読不可能な無作為化された数に分割するよう、登録認証データに数学的に作用するためにデータ分割モジュールを採用する。前述のように、少なくとも2つの数は、統計学的乱数とバイナリのXOR数とを備え得る。ステップ925では、認証エンジン215が、無作為化された数の各部分をデータ記憶設備D1からD4のうちの1つに転送する。前述のように、認証エンジン215はまた、どの部分がどの保管場所に転送されるかを有利に無作為化し得る。
【0085】
しばしば登録過程900中に、ユーザはまた、暗号システム100外の他者から暗号化された文書を受信し得るように、デジタル証明書が発行されることも所望する。前述のように、証明機関115は、概して、いくつかの従来の基準のうちの1つ以上に従って、デジタル証明書を発行する。概して、デジタル証明書は、全員に知られる、ユーザまたはシステムの公開キーを含む。
【0086】
ユーザがデジタル証明書を登録時に要求する場合も、別の時に要求する場合にも、要求は信頼エンジン110を通して認証エンジン215に転送される。一実施形態によれば、要求は、例えば、ユーザの適正な名前を有する、XML文書を含む。ステップ935によれば、認証エンジン215が、要求を暗号エンジン220に転送し、暗号キーまたはキーペアを生成するように暗号エンジン220に命令する。
【0087】
要求に応じて、ステップ935では、暗号エンジン220が、少なくとも1つの暗号キーを生成する。一実施形態によれば、暗号処理モジュール625は、一方のキーが秘密キーとして使用され、もう一方が公開キーとして使用される、キーペアを生成する。暗号エンジン220は、秘密キー、および一実施形態によれば公開キーのコピーを記憶する。ステップ945では、暗号エンジン220が、デジタル証明書の要求をトランザクションエンジン205に伝送する。一実施形態によれば、要求は、例えば、XML文書に組み込まれた、PKCS10等の標準化要求を有利に含む。デジタル証明書の要求は、1つ以上の証明機関、および証明機関が要求する1つ以上の標準形式に有利に対応し得る。
【0088】
ステップ950では、トランザクションエンジン205が、ステップ955でデジタル証明書を返信する証明機関115に、この要求を転送する。返信デジタル証明書は、有利に、PKCS7等の標準化形式、または証明機関115のうちの1つ以上の専有形式であり得る。ステップ960では、デジタル証明書がトランザクションエンジン205によって受信され、コピーがユーザに転送され、コピーが信頼エンジン110を用いて記憶される。信頼エンジン110は、信頼エンジン110が証明機関115の可用性に依存する必要がないように、証明書のコピーを記憶する。例えば、ユーザがデジタル証明書を送信することを所望するか、または第三者がユーザのデジタル証明書を要求すると、デジタル証明書の要求は、典型的には、証明機関115に送信される。しかしながら、証明機関115がメンテナンスを行っているか、または故障またはセキュリティ侵害の犠牲となっている場合、デジタル証明書が利用可能ではない場合がある。
【0089】
暗号キーを発行した後はいつでも、暗号エンジン220は、暗号キーが独立して解読不可能な無作為化された数に分割されるように、上記で説明されるデータ分割過程800を有利に採用し得る。認証データと同様に、ステップ965では、暗号エンジン220が、無作為化された数をデータ記憶設備D1乃至D4に転送する。
【0090】
当業者であれば、ユーザが登録後にいつでもデジタル証明書を要求し得ることを本明細書の本開示から認識するであろう。また、システム間の通信は、FULL SSLまたは公開キー暗号化技術を有利に含み得る。また、登録過程は、信頼エンジン110の内部または外部の1つ以上の専有証明機関を含む複数の証明機関から、複数のデジタル証明書を発行し得る。
【0091】
ステップ935乃至960で開示されるように、本発明の一実施形態は、最終的に信頼エンジン110上に記憶される証明書の要求を含む。一実施形態によれば、暗号処理モジュール625が、信頼エンジン110によって使用されるキーを発行するので、各証明書は秘密キーに対応する。したがって、信頼エンジン110は、ユーザによって所有されるか、またはユーザに関連付けられる証明書の監視を通して、相互運用性を有利に提供し得る。例えば、暗号エンジン220が暗号機能の要求を受信すると、暗号処理モジュール625は、要求ユーザによって所有される証明書を調査して、ユーザが要求の属性に合致する秘密キーを所有するかどうかを決定し得る。そのような証明書が存在する場合、暗号処理モジュール625は、要求された機能を果たすために、証明書またはそれに関連付けられた公開あるいは秘密キーを使用し得る。そのような証明書が存在しない場合、暗号処理モジュール625は、適切なキーの欠如を改善しようとして、いくつかの措置を有利かつ透過的に行い得る。例えば、
図9Bは、本発明の実施形態の側面による、暗号処理モジュール625が適切なキーを使用して暗号機能を果たすことを保証する前述のステップを開示する、相互運用性過程970のフローチャートを図示する。
【0092】
図9Bに示されるように、相互運用性過程970は、暗号処理モジュール925が所望される証明書の種類を決定する、ステップ972から始まる。本発明の一実施形態によれば、証明書の種類は、暗号機能の要求、または要求側によって提供される他のデータにおいて、有利に特定され得る。別の実施形態によれば、証明書の種類は、要求のデータ形式によって解明され得る。例えば、暗号処理モジュール925は、要求が特定の種類に対応することを有利に認識し得る。
【0093】
一実施形態によれば、証明書の種類は、1つ以上のアルゴリズム基準、例えば、RSA、ELGAMAL等を含み得る。加えて、証明書の種類は、対称キー、公開キー、256ビットキー等の強力な暗号化キー、あまりセキュアではないキー等の1つ以上のキー種類を含み得る。また、証明書の種類は、前述のアルゴリズム基準またはキーのうちの1つ以上、1つ以上のメッセージまたはデータ形式、Base 32またはBase 64等の1つ以上のデータカプセル化または符号化スキームのアップグレードまたは交換を含み得る。証明書の種類はまた、1つ以上の第三者暗号アプリケーションまたはインターフェース、1つ以上の通信プロトコル、あるいは1つ以上の証明書基準またはプロトコルとの互換性を含み得る。当業者であれば、他の差異が証明書の種類に存在し得、これらの差異への変換および差異からの変換が本明細書で開示されるように実装され得ることを、本明細書の本開示から認識するであろう。
【0094】
いったん暗号処理モジュール625が証明書の種類を決定すると、相互運用性過程970は、ステップ974へと進み、ユーザがステップ974で決定された種類に合致する証明書を所有するかどうかを決定する。ユーザが合致する証明書を有する、例えば、信頼エンジン110が、例えば、その以前の記憶を通して、合致する証明書にアクセスできる場合、暗号処理モジュール825は、合致する秘密キーも信頼エンジン110内に記憶されていることを知る。例えば、合致する秘密キーは、保管場所210または保管場所システム700内に記憶され得る。暗号処理モジュール625は、合致する秘密キーが、例えば、保管場所210から集約されることを有利に要求し、次いで、ステップ976で、暗号措置または機能を果たすために、合致する秘密キーを使用し得る。例えば、前述のように、暗号処理モジュール625は、ハッシング、ハッシュ比較、データ暗号化または復号、デジタル署名検証または作成等を有利に行い得る。
【0095】
ユーザが合致する証明書を所有しない場合、相互運用性過程970は、ユーザが相互認定された証明書を所有するかどうかを暗号処理モジュール625が決定する、ステップ978へと進む。一実施形態によれば、証明機関の間の相互認定は、第1の証明機関が第2の証明機関からの証明書を信頼することを決定する場合に発生する。言い換えれば、第1の証明機関は、第2の証明機関からの証明書が、ある品質基準を満たし、したがって、第1の証明機関の独自の証明書と同等であるとして「認定」され得ると決定する。相互認定は、証明機関が、例えば、信頼のレベルを有する証明書を発行する場合、より複雑になる。例えば、第1の証明機関が、通常、登録過程における信頼度に基づいて、特定の証明書の3つの信頼のレベルを提供し得る一方で、第2の証明機関は、7つの信頼のレベルを提供し得る。相互認定は、第2の証明機関からのどのレベルおよびどの証明書が、第1の証明機関からのどのレベルおよびどの証明書に代替され得るかを有利に追跡し得る。前述の相互認定が2つの認定機関の間で公式かつ公的に行われる場合、互に対する証明書およびレベルのマッピングは、しばしば「連鎖」と呼ばれる。
【0096】
本発明の別の実施形態によれば、暗号処理モジュール625は、証明機関によって同意されるもの以外の相互認定を有利に進展させ得る。例えば、暗号処理モジュール625は、第1の証明機関の証明書実践規定(CPS)または他の公表された方針規定にアクセスし、例えば、特定の信頼レベルによって要求される認証トークンを使用して、第1の証明機関の証明書を別の証明機関の証明書と合致させ得る。
【0097】
ステップ978では、暗号処理モジュール625が、ユーザが相互認定された証明書を所有することを決定すると、相互運用性過程970は、ステップ976へと進み、相互認定された公開キー、秘密キー、または両方を使用して、暗号措置または機能を果たす。代替として、暗号処理モジュール625が、ユーザが相互認定された証明書を所有しないことを決定すると、相互運用性過程970は、暗号処理モジュール625が、要求された証明書の種類またはそれに対して相互認定された証明書を発行する証明機関を選択する、ステップ980へと進む。ステップ982では、暗号処理モジュール625が、前述の内容で論議されたユーザ登録認証データが選択された証明機関の認証要件を満たすかどうかを決定する。例えば、ユーザが、例えば、人口統計および他の質問に答えることによって、ネットワーク上で登録した場合、提供される認証データは、生体測定データを提供し、例えば、公証人等の第三者の前に現れるユーザよりも低いレベルの信頼を確立し得る。一実施形態によれば、前述の認証要件は、選択された認証機関のCPSで有利に提供され得る。
【0098】
ユーザが、選択された証明機関の要件を満たす登録認証データを信頼エンジン110に提供した場合、相互運用性過程970は、暗号処理モジュール825が選択された証明機関から証明書を取得する、ステップ984へと進む。一実施形態によれば、暗号処理モジュール625は、登録過程900のステップ945乃至960を辿ることによって証明書を取得する。例えば、暗号処理モジュール625は、証明機関から証明書を要求するために、すでに暗号エンジン220に利用可能なキーペアのうちの1つ以上から、1つ以上の公開キーを有利に採用し得る。別の実施形態によれば、暗号処理モジュール625は、1つ以上の新しいキーペアを有利に生成し、証明機関から証明書を要求するために、それに対応する公開キーを使用し得る。
【0099】
別の実施形態によれば、信頼エンジン110は、1つ以上の証明書の種類を発行することが可能な1つ以上の証明書発行モジュールを有利に含み得る。この実施形態によれば、証明書発行モジュールは、前述の証明書を提供し得る。暗号処理モジュール625が証明書を取得すると、相互運用性過程970は、ステップ976へと進み、取得された証明書に対応する公開キー、秘密キー、または両方を使用して、暗号措置または機能を果たす。
【0100】
ステップ982で、ユーザが、選択された証明機関の要件を満たす登録認証データを信頼エンジン110に提供していない場合、暗号処理モジュール625は、ステップ986で、異なる認証要件を有する他の証明機関があるかどうかを決定する。例えば、暗号処理モジュール625は、より低い認証要件を有するが、依然として選択された証明書またはその相互認定を発行し得る証明機関を探し得る。
【0101】
より低い要件を有する前述の証明機関が存在する場合、相互運用性過程970は、ステップ980へと進み、証明機関を選択する。代替として、そのような証明機関が存在しない場合、ステップ988では、信頼エンジン110が、ユーザから追加の認証トークンを要求し得る。例えば、信頼エンジン110は、例えば、生体測定データを備える、新しい登録認証データを要求し得る。また、信頼エンジン110は、例えば、運転免許証、社会保障カード、銀行のカード、出生証明書、軍人身分証明書等を伴って公証人の前に現れること等、ユーザが信頼できる第三者の前に現れ、適切な認証信任状を提供することを要求し得る。信頼エンジン110が更新された認証データを受信すると、相互運用性過程970は、ステップ984へと進み、前述の選択された証明書を取得する。
【0102】
前述の相互運用性過程970を通して、暗号処理モジュール625は、異なる暗号システム間で、シームレスな透過的な変換および転換を有利に提供する。当業者であれば、前述の相互運用可能なシステムの多数の利点および実装を本明細書の本開示から認識するであろう。例えば、相互運用性過程970の前述のステップ986は、証明機関が、特殊な状況下で、より低いレベルの相互認定を容認し得る、以下でさらに詳細に説明される、信頼裁定の側面を有利に含み得る。加えて、相互運用性過程970は、相互運用性を保証すること、および証明書失効リスト(CRL)、オンライン証明書状態プロトコル(OCSP)等を採用すること等の標準証明書失効の採用を含み得る。
【0103】
図10は、本発明の実施形態の側面による、認証過程1000のデータフローを図示する。一実施形態によれば、認証過程1000は、ユーザから現在の認証データを収集し、それをユーザの登録認証データと比較することを含む。例えば、認証過程1000は、ユーザが、例えば、ベンダとのトランザクションを行うことを所望する、ステップ1005から始まる。そのようなトランザクションは、例えば、購入オプションを選択すること、ベンダシステム120の制限領域またはデバイスへのアクセスを要求すること等を含み得る。ステップ1010では、ベンダが、トランザクションIDおよび認証要求をユーザに提供する。トランザクションIDは、128ビットランダム数量と連結された32ビットタイムスタンプを有する192ビット数量、または32ビットのベンダ特異的定数と連結された「ノンス」を有利に含み得る。そのようなトランザクションIDは、信頼エンジン110によって模倣トランザクションを拒絶することができるように、トランザクションを一意的に識別する。
【0104】
認証要求は、どのレベルの認証が特定のトランザクションに必要とされるかを有利に含み得る。例えば、ベンダは、問題のトランザクションに必要とされる特定のレベルの確信を特定し得る。以下で論議されるように、認証をこのレベルの確信にすることができない場合、確信のレベルを上昇させるユーザによるさらなる認証、またはベンダとサーバとの間の認証に関する変更を伴わずには、トランザクションは発生しない。これらの問題を以下でより完全に論議する。
【0105】
一実施形態によれば、トランザクションIDおよび認証要求は、ベンダ側アプレットまたは他のソフトウェアプログラムによって有利に生成され得る。加えて、トランザクションIDおよび認証データの伝送は、例えば、1/2SSL等の従来のSSL技術、または言い換えればベンダ側認証SSLを使用して暗号化される、1つ以上のXML文書を含み得る。
【0106】
ユーザシステム105がトランザクションIDおよび認証要求を受信した後、ユーザシステム105は、ユーザから、潜在的に現在の生体測定情報を含む、現在の認証データを収集する。ユーザシステム105は、ステップ1015で、認証エンジン215の公開キーを用いて、少なくとも現在の認証データ「B」およびトランザクションIDを暗号化し、そのデータを信頼エンジン110に転送する。伝送は、好ましくは、少なくとも従来の1/2SSL技術で暗号化されるXML文書を備える。ステップ1020では、トランザクションエンジン205が、伝送を受信し、好ましくはURLまたはURIでデータ形式または要求を認識し、伝送を認証エンジン215に転送する。
【0107】
ステップ1015および1020中に、ベンダシステム120は、ステップ1025で、好ましいFULL SSL技術を使用して、トランザクションIDおよび認証要求を信頼エンジン110に転送する。この通信はまた、ベンダIDを含み得るが、ベンダ識別はまた、トランザクションIDの非ランダム部分を通して伝達され得る。ステップ1030および1035では、トランザクションエンジン205が、通信を受信し、オーディットトレールに記録を作成し、データ記憶設備D1乃至D4から集約されるべきユーザの登録認証データの要求を生成する。ステップ1040では、保管場所システム700が、ユーザに対応する登録認証データ部分を認証エンジン215に転送する。ステップ1045では、認証エンジン215が、その秘密キーを使用して伝送を復号し、登録認証データを、ユーザによって提供された現在の認証データと比較する。
【0108】
ステップ1045の比較は、前述の内容で参照され、以下でさらに詳細に論議されるような発見的文脈依存機密認証を有利に適用し得る。例えば、受信される生体測定情報が完全に合致しない場合、より低い確信の合致が生じる。特定の実施形態では、認証の確信のレベルは、トランザクションの性質とユーザおよびベンダの両方の所望とに対して平衡を保たれる。再度、これを以下でより詳細に論議する。
【0109】
ステップ1050では、認証エンジン215が、ステップ1045の比較の結果を用いて認証要求を満たす。本発明の一実施形態によれば、認証要求は、認証過程1000のはい/いいえ(YES/NO)または真/偽(TRUE/FALSE)の結果で満たされる。ステップ1055では、満たされた認証要求がベンダに返信され、ベンダはそれに基づいて作用し、例えば、ユーザが認証要求を開始したトランザクションを完了することを可能にする。一実施形態によれば、確認メッセージがユーザに渡される。
【0110】
前述の内容に基づいて、認証過程1000は、有利に機密データをセキュアに保持し、機密データの完全性を維持するように構成されている結果を生じる。例えば、機密データは、認証エンジン215の内側のみで集約される。例えば、登録認証データは、データ集約モジュールによって認証エンジン215の中で集約されるまで解読不可能であり、現在の認証データは、従来のSSL技術および認証エンジン215の秘密キーによって解かれるまで解読不可能である。また、ベンダに伝送される認証結果は、機密データを含まず、ユーザは、自分が有効な認証データを生成したかどうかさえも分からない場合がある。
【0111】
認証過程1000がその好ましい代替実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、認証過程1000の多数の代替案を本明細書の本開示から認識するであろう。例えば、ベンダは、ユーザシステム105とともに存在するものでさえ、ほぼあらゆる要求アプリケーションによって有利に置換され得る。例えば、Microsoft Word等のクライアントアプリケーションが、文書をアンロックする前に、認証を要求するためにアプリケーションプログラムインターフェース(API)または暗号API(CAPI)を使用し得る。代替として、メールサーバ、ネットワーク、携帯電話、パーソナルまたは携帯コンピュータデバイス、ワークステーション等が全て、認証過程1000によって満たすことができる認証要求を行い得る。実際、前述の信頼できる認証過程1000を提供した後、要求アプリケーションまたはデバイスは、多数の電子またはコンピュータデバイスまたはシステムへのアクセスまたはそれらの使用を提供し得る。
【0112】
また、認証過程1000は、認証失敗の場合に多数の代替手順を採用し得る。例えば、認証失敗は、同じトランザクションIDを維持し、ユーザが自分の現在の認証データを再入力することを要求し得る。前述のように、同じトランザクションIDの使用は、認証エンジン215のコンパレータが特定のトランザクションの認証試行の数を監視し、制限することを可能にし、それにより、よりセキュアな暗号システム100を作成する。
【0113】
加えて、認証過程1000は、機密データボールトを解錠すること等の簡潔なシングルサインオン解決法を開発するために、有利に採用され得る。例えば、成功した、または肯定的な認証は、認証ユーザに、ほぼ無限数のシステムおよびアプリケーションに対する任意の数のパスワードに自動的にアクセスする能力を提供し得る。例えば、ユーザの認証は、ユーザに、複数のオンラインベンダに関連付けられる、パスワード、ログイン、財務信任状等、ローカルエリアネットワーク、種々のパーソナルコンピュータデバイス、インターネットサービスプロバイダ、オークションプロバイダ、投資仲介業者等へのアクセスを提供し得る。機密データボールトを採用することによって、ユーザは、もはや関連性を通して思い出す必要がないため、実に大量かつランダムなパスワードを選択し得る。むしろ、認証過程1000が、それらへのアクセスを提供する。例えば、ユーザは、記憶すべきデータ、名前等に関連付けられるものよりもむしろ、長さが20数桁であるランダムな英数字の文字列を選択し得る。
【0114】
一実施形態によれば、所与のユーザに関連付けられる機密データボールトは、有利に保管場所210のデータ記憶設備に記憶されるか、分割されて保管場所システム700に記憶され得る。この実施形態によれば、肯定的なユーザ認証後、信頼エンジン110は、例えば、要求アプリケーションへの適切なパスワード等の要求された機密データを供給する。別の実施形態によれば、信頼エンジン110は、機密データボールトを記憶するための別のシステムを含み得る。例えば、信頼エンジン110は、データボールト機能性を実装し、比喩的に信頼エンジン110の前述のフロントエンドセキュリティシステムの「後ろ」に存在する、独立型ソフトウェアエンジンを含み得る。この実施形態によれば、ソフトウェアエンジンが信頼エンジン110から肯定的なユーザ認証を示す信号を受信した後に、ソフトウェアエンジンは要求された機密データを供給する。
【0115】
さらに別の実施形態では、データボールトは、第三者システムによって実装され得る。ソフトウェアエンジンの実施形態と同様に、第三者システムが信頼エンジン110から肯定的なユーザ認証を示す信号を受信した後に、第三者システムは要求された機密データを有利に供給し得る。さらに別の実施形態によれば、データボールトは、ユーザシステム105上で実装され得る。ユーザ側ソフトウェアエンジンは、信頼エンジン110から肯定的なユーザ認証を示す信号を受信した後に、前述のデータを有利に供給し得る。
【0116】
前述のデータボールトが代替実施形態に関して開示されているが、当業者であれば、多数のその追加の実装を本明細書の本開示から認識するであろう。例えば、特定のデータボールトは、前述の実施形態のうちのいくつかまたは全てからの側面を含み得る。加えて、前述のデータボールトのうちのいずれかは、様々な時に1つ以上の認証要求を採用し得る。例えば、データボールトのうちのいずれかは、1つ以上のトランザクションごとに、周期的に、1つ以上のセッションごとに、1つ以上のウェブページまたはウェブサイトへのアクセスごとに、1つ以上の他の特定された間隔で、または同等の場合に、認証を要求し得る。
【0117】
図11は、本発明の実施形態の側面による、署名過程1100のデータフローを図示する。
図11に示されるように、署名過程1100は、
図10を参照して前述される認証過程1000のステップと同様のステップを含む。本発明の一実施形態によれば、署名過程1100は、以下でより詳細に論議されるように、最初にユーザを認証し、次いで、いくつかのデジタル署名機能のうちの1つ以上を果たす。別の実施形態によれば、署名過程1100は、メッセージまたは文書のハッシュ等の、それに関連するデータを有利に記憶し得る。このデータは、例えば、オーディットで、または参加当事者がトランザクションを拒否しようとする場合等の任意の他の場合に、有利に使用され得る。
【0118】
図11に示されるように、認証ステップ中に、ユーザおよびベンダは、例えば、契約等のメッセージに有利に同意し得る。署名中、署名過程1100は、ユーザによって署名された契約がベンダによって供給された契約と同一であることを有利に保証する。したがって、一実施形態によれば、認証中、ベンダおよびユーザは、認証エンジン215に伝送されるデータに、メッセージまたは契約の彼らそれぞれのコピーのハッシュを含む。メッセージまたは契約のハッシュのみを採用することによって、信頼エンジン110は、有意に削減された量のデータを有利に記憶し、より効率的かつ費用効果的な暗号システムを提供し得る。加えて、問題の文書が当事者のうちのいずれかによって署名されたものに合致するかどうか決定するように、記憶されたハッシュが問題の文書のハッシュと有利に比較され得る。文書がトランザクションに関するものと同一であるかどうかを決定する能力は、トランザクションへの当事者による拒否の請求に対して使用することができる、追加の証拠を提供する。
【0119】
ステップ1103では、認証エンジン215が、登録認証データを集約し、それをユーザによって提供された現在の認証データと比較する。認証エンジン215のコンパレータが、登録認証データが現在の認証データに合致することを示す場合、認証エンジン215のコンパレータはまた、ベンダによって供給されるメッセージのハッシュを、ユーザによって供給されるメッセージのハッシュと比較する。したがって、認証エンジン215は、ユーザによって同意されたメッセージがベンダによって同意されたものと同一であることを有利に保証する。
【0120】
ステップ1105では、認証エンジン215は、デジタル署名要求を暗号エンジン220に伝送する。本発明の一実施形態によれば、要求は、メッセージまたは契約のハッシュを含む。しかしながら、当業者であれば、暗号エンジン220は、所望のデジタル署名を形成するように、ビデオ、音声、生体測定、画像、またはテキストを含むがそれらに限定されない、事実上あらゆる種類のデータを暗号化し得ることを、本明細書の本開示から認識するであろう。ステップ1105に戻って、デジタル署名要求は、好ましくは、従来のSSL技術を通して伝達されるXML文書を備える。
【0121】
ステップ1110では、データ記憶設備D1乃至D4の各々が、署名当事者に対応する1つまたは複数の暗号キーのそれらそれぞれの部分を伝送するように、認証エンジン215が要求をデータ記憶設備D1乃至D4の各々に伝送する。別の実施形態によれば、暗号エンジン220が、最初に、署名当事者に対して、保管場所210または保管場所システム700から要求するための1つまたは複数の適切なキーを決定し、適切な合致キーを提供する措置を講じるように、暗号エンジン220は、前述の内容で論議される相互運用性過程970のステップのうちのいくつかまたは全てを採用する。なおも別の実施形態によれば、認証エンジン215または暗号エンジン220は、署名当事者に関連付けられ、保管場所210または保管場所システム700に記憶されたキーのうちの1つ以上を有利に要求し得る。
【0122】
一実施形態によれば、署名当事者は、ユーザおよびベンダの一方または両方を含む。そのような場合、認証エンジン215は、ユーザおよび/またはベンダに対応する暗号キーを有利に要求する。別の実施形態によれば、署名当事者は、信頼エンジン110を含む。この実施形態では、信頼エンジン110は、認証過程1000がユーザ、ベンダ、または両方を適正に認証したことを認定している。したがって、認証エンジン215は、デジタル署名を行うように、例えば、暗号エンジン220に属するキー等の信頼エンジン110の暗号キーを要求する。別の実施形態によれば、信頼エンジン110は、デジタル公証のような機能を果たす。この実施形態では、署名当事者は、信頼エンジン110とともに、ユーザ、ベンダ、または両方を含む。したがって、信頼エンジン110は、ユーザおよび/またはベンダのデジタル署名を提供し、次いで、ユーザおよび/またはベンダが適正に認証されたことを独自のデジタル署名で示す。この実施形態では、認証エンジン215は、ユーザ、ベンダ、または両方に対応する暗号キーの集約を有利に要求し得る。別の実施形態によれば、認証エンジン215は、信頼エンジン110に対応する暗号キーの集約を有利に要求し得る。
【0123】
別の実施形態によれば、信頼エンジン110は、委任状のような機能を果たす。例えば、信頼エンジン110は、第三者に代わってメッセージをデジタル署名し得る。そのような場合、認証エンジン215は、第三者に関連付けられる暗号キーを要求する。この実施形態によれば、署名過程1100は、委任状のような機能を可能にする前に、第三者の認証を有利に含み得る。加えて、認証過程1000は、例えば、いつ、どのような状況で、特定の第三者の署名が使用され得るかを決定付ける、ビジネス論理等の第三者制約をチェックし得る。
【0124】
前述の内容に基づいて、ステップ1110では、認証エンジンが、署名当事者に対応するデータ記憶設備D1乃至D4からの暗号キーを要求した。ステップ1115では、データ記憶設備D1乃至D4が、署名当事者に対応する暗号キーのそれらそれぞれの部分を暗号エンジン220に伝送する。一実施形態によれば、前述の伝送は、SSL技術を含む。別の実施形態によれば、前述の伝送は、暗号エンジン220の暗号キーを用いて、有利に多重暗号化され得る。
【0125】
ステップ1120では、暗号エンジン220が、署名当事者の前述の暗号キーを集約し、それを用いてメッセージを暗号化し、それにより、デジタル署名を形成する。署名過程1100のステップ1125では、暗号エンジン220が、デジタル署名を認証エンジン215に伝送する。ステップ1130では、認証エンジン215が、ハッシュ化されたメッセージのコピーおよびデジタル署名とともに、満たされた認証要求をトランザクションエンジン205に伝送する。ステップ1135では、トランザクションエンジン205が、トランザクションID、認証が成功したかどうかという指示、およびデジタル署名を備える受領書をベンダに伝送する。一実施形態によれば、前述の伝送は、信頼エンジン110のデジタル署名を有利に含み得る。例えば、信頼エンジン110は、その秘密キーを用いて受領書のハッシュを暗号化し、それにより、ベンダへの伝送に添付されるデジタル署名を形成し得る。
【0126】
一実施形態によれば、トランザクションエンジン205はまた、確認メッセージをユーザに伝送する。署名過程1100がその好ましい代替実施形態に関して開示されているが、本発明はそれによって限定されることを目的としていない。むしろ、当業者であれば、署名過程1100の多数の代替案を本明細書の本開示から認識するであろう。例えば、ベンダは、Eメールアプリケーション等のユーザアプリケーションと置換され得る。例えば、ユーザは、デジタル署名で特定のEメールにデジタル署名することを所望し得る。そのような実施形態では、署名過程1100の全体を通した伝送は、メッセージのハッシュの1つだけのコピーを有利に含み得る。また、当業者であれば、多数のクライアントアプリケーションがデジタル署名を要求し得ることを、本明細書の本開示から認識するであろう。例えば、クライアントアプリケーションは、ワードプロセッサ、スプレッドシート、Eメール、音声メール、制限されたシステム領域へのアクセス等を備え得る。
【0127】
加えて、当業者であれば、署名過程1100のステップ1105乃至1120が、
図9Bの相互運用性過程970のステップのうちのいくつかまたは全てを有利に採用し、それにより、例えば、異なる署名種類の下でデジタル署名を処理する必要があり得る、異なる暗号システム間の相互運用性を提供し得ることを、本明細書の本開示から認識するであろう。
【0128】
図12は、本発明の実施形態の側面による、暗号化/復号過程1200のデータフローを図示する。
図12に示されるように、復号過程1200は、認証過程1000を使用してユーザを認証することによって始まる。一実施形態によれば、認証過程1000は、認証要求に同期セッションキーを含む。例えば、従来のPKI技術では、公開および秘密キーを使用してデータを暗号化または復号することは、数学的に集中的であり、有意なシステムリソースを必要とし得ることが当業者によって理解される。しかしながら、対称キー暗号システム、またはメッセージの送信者および受信者が、メッセージを暗号化および復号するために使用される単一の共通キーを共有するシステムでは、数学的演算は、有意により単純かつ迅速である。したがって、従来のPKI技術では、メッセージの送信者が、同期セッションキーを生成し、より単純かつ迅速な対称キーシステムを使用してメッセージを暗号化する。次いで、送信者は、受信者の公開キーを用いてセッションキーを暗号化する。暗号化されたセッションキーは、同期暗号化されたメッセージに添付され、両方のデータが受信者に送信される。受信者は、セッションキーを復号するために自分の秘密キーを使用し、次いで、メッセージを復号するためにセッションキーを使用する。前述の内容に基づいて、より単純かつ迅速な対称キーシステムが、暗号化/復号処理の大部分に使用される。したがって、復号過程1200では、復号は、同期キーがユーザの公開キーを用いて暗号化されていることを有利に仮定する。したがって、前述のように、暗号化されたセッションキーは、認証要求に含まれる。
【0129】
復号過程1200に戻って、ユーザがステップ1205で認証された後、認証エンジン215は、暗号化されたセッションキーを暗号エンジン220に転送する。ステップ1210では、認証エンジン215が、要求をデータ記憶設備D1乃至D4の各々に転送し、ユーザの暗号キーデータを要求する。ステップ1215では、各データ記憶設備D1乃至D4が、暗号キーのそれらそれぞれの部分を暗号エンジン220に転送する。一実施形態によれば、前述の伝送は、暗号エンジン220の公開キーを用いて暗号化される。
【0130】
復号過程1200のステップ1220では、暗号エンジン220が、暗号キーを集約し、それを用いてセッションキーを復号する。ステップ1225では、暗号エンジンが、セッションキーを認証エンジン215に転送する。ステップ1227では、認証エンジン215が、復号されたセッションキーを含む認証要求を満たし、満たされた認証要求をトランザクションエンジン205に伝送する。ステップ1230では、トランザクションエンジン205が、セッションキーとともに認証要求を要求アプリケーションまたはベンダに転送する。次いで、一実施形態によれば、要求アプリケーションまたはベンダは、暗号化されたメッセージを復号するためにセッションキーを使用する。
【0131】
復号過程1200がその好ましい代替実施形態に関して開示されているが、当業者であれば、復号過程1200の多数の代替案を本明細書の本開示から認識するであろう。例えば、復号過程1200は、同期キー暗号化を差し控え、完全公開キー技術に依存し得る。そのような実施形態では、要求アプリケーションが、メッセージ全体を暗号エンジン220に伝送し得、またはメッセージを暗号エンジン220に伝送するために何らかの種類の圧縮または可逆的ハッシュを採用し得る。当業者であれば、前述の通信がSSL技術で包まれたXML文書を有利に含み得ることも、本明細書の本開示から認識するであろう。
【0132】
暗号化/復号過程1200はまた、文書または他のデータの暗号化も提供する。したがって、ステップ1235では、要求アプリケーションまたはベンダが、信頼エンジン110のトランザクションエンジン205に、ユーザの公開キーの要求を有利に伝送し得る。例えば、文書またはメッセージを暗号化するために使用されるセッションキーを暗号化するために、要求アプリケーションまたはベンダがユーザの公開キーを使用するので、要求アプリケーションまたはベンダは、この要求を行う。登録過程900で記述されるように、トランザクションエンジン205は、例えば、大容量記憶装置225に、ユーザのデジタル証明書のコピーを記憶する。したがって、暗号化過程1200のステップ1240では、トランザクションエンジン205は、大容量記憶装置225からのユーザのデジタル証明書を要求する。ステップ1245では、大容量記憶装置225が、ユーザに対応するデジタル証明書をトランザクションエンジン205に伝送する。ステップ1250では、トランザクションエンジン205が、デジタル証明書を要求アプリケーションまたはベンダに伝送する。一実施形態によれば、暗号化過程1200の暗号化部分は、ユーザの認証を含まない。これは、要求ベンダがユーザの公開キーのみを必要とし、いずれの機密データも要求していないためである。
【0133】
当業者であれば、特定のユーザがデジタル証明書を持たない場合、信頼エンジン110は、その特定のユーザ用のデジタル証明書を生成するために、登録過程900のいくらかまたは全てを採用し得ることを、本明細書の本開示から認識するであろう。次いで、信頼エンジン110は、暗号化/復号過程1200を開始し、それにより、適切なデジタル証明書を提供し得る。加えて、当業者であれば、暗号化/復号過程1200のステップ1220および1235乃至1250が、
図9Bの相互運用性過程のステップのうちのいくつかまたは全てを有利に採用し、それにより、例えば、暗号化を処理する必要があり得る、異なる暗号システム間の相互運用性を提供し得ることを、本明細書の本開示から認識するであろう。
【0134】
図13は、は、本発明のさらに別の実施形態の側面による、信頼エンジンシステム1300の簡略化したブロック図を図示する。
図13に示されるように、信頼エンジンシステム1300は、複数の明確に異なる信頼エンジン1305、1310、1315、および1320を備える。本発明のより完全な理解を促進するために、
図13は、トランザクションエンジン、保管場所、および認証エンジンを有するものとして、各信頼エンジン1305、1310、1315、および1320を図示する。しかしながら、当業者であれば、各トランザクションエンジンが、
図1−8を参照して開示される要素および通信チャネルのうちのいくつか、組み合わせ、または全てを有利に備え得ることを認識するであろう。例えば、一実施形態は、1つ以上のトランザクションエンジン、保管場所、および暗号サーバ、またはそれらの任意の組み合わせを有する信頼エンジンを有利に含み得る。
【0135】
本発明の一実施形態によれば、例えば、信頼エンジン1305が第1の場所に存在し、信頼エンジン1310が第2の場所に存在し、信頼エンジン1315が第3の場所に存在し、信頼エンジン1320が第4の場所に存在し得るように、信頼エンジン1305、1310、1315、および1320のそれぞれは、地理的に分離される。前述の地理的分離は、全体的な信頼エンジンシステム1300のセキュリティを増大させながら、システム応答時間を有利に減少させる。
【0136】
例えば、ユーザが暗号システム100にログオンする場合に、ユーザは、第1の場所に最も近く、認証されることを所望し得る。
図10を参照して説明されるように、認証されるために、ユーザは、生体測定等の現在の認証データを提供し、現在の認証データは、ユーザの登録認証データと比較される。したがって、一実施例によれば、ユーザは、現在の認証データを地理的に最も近い信頼エンジン1305に有利に提供する。次いで、信頼エンジン1305のトランザクションエンジン1321は、現在の認証データを、同様に第1の場所に存在する認証エンジン1322に転送する。別の実施形態によれば、トランザクションエンジン1321は、現在の認証データを、信頼エンジン1310、1315、または1320の認証エンジンのうちの1つ以上に転送する。
【0137】
トランザクションエンジン1321はまた、例えば、信頼エンジン1305乃至1320のそれぞれの保管場所から、登録認証データの集約を要求する。この実施形態によれば、各保管場所は、その登録認証データ部分を信頼エンジン1305の認証エンジン1322に提供する。次いで、認証エンジン1322は、応答するために、例えば、最初の2つの保管場所から、暗号化されたデータ部分を採用し、登録認証データを解読された形態に集約する。認証エンジン1322は、登録認証データを現在の認証データと比較し、認証結果を信頼エンジン1305のトランザクションエンジン1321に返信する。
【0138】
上記に基づいて、信頼エンジンシステム1300は、認証過程を行うために、複数の地理的に分離された信頼エンジン1305乃至1320のうちの最も近いものを採用する。本発明の一実施形態によれば、最も近いトランザクションエンジンへの情報のルーティングは、ユーザシステム105、ベンダシステム120、または証明機関115のうちの1つ以上の上で実行する、クライアント側アプレットにおいて有利に行われ得る。代替実施形態によれば、信頼エンジン1305乃至1320から選択するために、より洗練された決定過程が採用され得る。例えば、決定は、所与の信頼エンジンの可用性、操作性、接続の速度、負荷、性能、地理的な近接性、またはそれらの組み合わせに基づき得る。
【0139】
このようにして、信頼エンジンシステム1300は、各データ記憶設備が無作為化された機密データ部分を記憶する、
図7を参照して論議されるもの等の、地理的に遠隔のデータ記憶設備に関連付けられるセキュリティ利点を維持しながら、その応答時間を減らす。例えば、信頼エンジン1315の保管場所1325におけるセキュリティ侵害は、例えば、信頼エンジンシステム1300の機密データを必ずしも損なうとは限らない。これは、保管場所1325が、それ以上なければ全く役に立たない、解読不可能な無作為化されたデータのみを含むためである。
【0140】
別の実施形態によれば、信頼エンジンシステム1300は、認証エンジンと同様に配置される複数の暗号エンジンを有利に含み得る。暗号エンジンは、
図1−8を参照して開示されるもの等の暗号機能を有利に果たし得る。さらに別の実施形態によれば、信頼エンジンシステム1300は、有利に複数の認証エンジンを複数の暗号エンジンと置換し、それにより、
図1−8を参照して開示されるもの等の暗号機能を有利に果たし得る。本発明のさらに別の実施形態によれば、信頼エンジンシステム1300は、各複数の認証エンジンを、前述の内容で開示されるような認証エンジン、暗号エンジン、または両方の機能性のいくらかまたは全てを有するエンジンと置換し得る。
【0141】
信頼エンジンシステム1300がその好ましい代替実施形態に関して開示されているが、当業者であれば、信頼エンジンシステム1300が信頼エンジン1305乃至1320の部分を備え得ることを認識するであろう。例えば、信頼エンジンシステム1300は、1つ以上のトランザクションエンジン、1つ以上の保管場所、1つ以上の認証エンジン、または1つ以上の暗号エンジン、あるいはそれらの組み合わせを含み得る。
【0142】
図14は、本発明のさらに別の実施形態の側面による、信頼エンジンシステム1400の簡略化したブロック図を図示する。
図14に示されるように、信頼エンジンシステム1400は、複数の信頼エンジン1405、1410、1415、および1420を含む。一実施形態によれば、信頼エンジン1405、1410、1415、および1420のそれぞれは、
図1−8を参照して開示される信頼エンジン110の要素のうちのいくつかまたは全てを備える。この実施形態によれば、ユーザシステム105、ベンダシステム120、または証明機関115のクライアント側アプレットが、信頼エンジンシステム1400と通信する場合に、これらの通信は、信頼エンジン1405乃至1420の各々のIPアドレスに送信する。さらに、信頼エンジン1405、1410、1415、および1420のそれぞれの各トランザクションエンジンは、
図13を参照して開示される信頼エンジン1305のトランザクションエンジン1321と同様に挙動する。例えば、認証過程中に、信頼エンジン1405、1410、1415、および1420のそれぞれの各トランザクションエンジンは、現在の認証データをそれらそれぞれの認証エンジンに伝送し、信頼エンジン1405乃至1420の各々の保管場所の各々に記憶された無作為化データを集約する要求を伝送する。
図14は、そのような説明図は過度に複雑になるため、これらの通信の全てを図示するわけではない。認証過程を続けて、次いで、保管場所の各々は、その無作為化データ部分を、信頼エンジン1405乃至1420の各々の認証エンジンの各々に伝達する。信頼エンジンの各々の認証エンジンの各々は、現在の認証データが、信頼エンジン1405乃至1420の各々の保管場所によって提供された登録認証データに合致するかどうかを決定するために、そのコンパレータを採用する。この実施形態によれば、次いで、認証エンジンの各々による比較の結果は、他の3つの信頼エンジンの冗長性モジュールに伝送される。例えば、信頼エンジン1405からの認証エンジンの結果は、信頼エンジン1410、1415、および1420の冗長性モジュールに伝送される。したがって、信頼エンジン1405の冗長性モジュールは、同様に、信頼エンジン1410、1415、および1420から認証エンジンの結果を受信する。
【0143】
図15は、
図14の冗長性モジュールのブロック図を図示する。冗長性モジュールは、3つの認証エンジンから認証結果を受信し、その結果を第4の信頼エンジンのトランザクションエンジンに伝送するように構成されている、コンパレータを備える。コンパレータは、3つの認証エンジンから認証結果を比較し、結果のうちの2つが一致する場合、コンパレータは、認証結果が2つの同意する認証エンジンの認証結果に合致すると結論を出す。次いで、この結果は、3つの認証エンジンに関連付けられていない信頼エンジンに対応するトランザクションエンジンに返送される。
【0144】
前述の内容に基づいて、冗長性モジュールは、好ましくは、その冗長性モジュールの信頼エンジンから地理的に遠隔にある認証エンジンから受信されたデータから、認証結果を決定する。そのような冗長性機能性を提供することによって、信頼エンジンシステム1400は、信頼エンジン1405乃至1420のうちの1つの認証エンジンのセキュリティ侵害が、その特定の信頼エンジンの冗長性モジュールの認証結果を損なうのに不十分であることを保証する。当業者であれば、信頼エンジンシステム1400の冗長性モジュール機能性はまた、信頼エンジン1405乃至1420のそれぞれの暗号エンジンに適用され得ることを認識するであろう。しかしながら、複雑性を回避するために、
図14ではそのような暗号エンジン通信を示さなかった。また、当業者であれば、
図15のコンパレータに対する多数の代替的な認証結果競合解決アルゴリズムが、本発明で使用するために好適であることを認識するであろう。
【0145】
本発明のさらに別の実施形態によれば、信頼エンジンシステム1400は、暗号比較ステップ中に冗長性モジュールを有利に採用し得る。例えば、
図14および15に関する前述の冗長性モジュールの開示のいくらかまたは全ては、特定のトランザクション中に1人以上の当事者によって提供される文書のハッシュ比較中に、有利に実装され得る。
【0146】
前述の発明は、ある好ましい代替実施形態に関して説明されているが、他の実施形態が、本明細書の本開示から当業者に明白となるであろう。例えば、信頼エンジン110は、秘密暗号キーが所定の期間にわたってユーザに公開される、短期証明書を発行し得る。例えば、現在の証明書基準は、所定量の時間後に満了するように設定することができる、有効性フィールドを含む。したがって、信頼エンジン110は、秘密キーをユーザに公開し得、秘密キーは、例えば、24時間にわたって有効となる。そのような実施形態によれば、信頼エンジン110は、特定のユーザに関連付けられる新しい暗号キーペアを有利に発行し、次いで、新しい暗号キーペアの秘密キーを公開し得る。次いで、いったん秘密暗号キーが公開されると、信頼エンジン110は、もはや信頼エンジン110によってセキュア化可能ではなくなるため、そのような秘密キーの内部有効使用を即時に失効させる。
【0147】
加えて、当業者であれば、暗号システム100または信頼エンジン110が、ラップトップ、携帯電話、ネットワーク、生体測定デバイス等であるがそれらに限定されない、任意の種類のデバイスを認識する能力を含み得ることを認識するであろう。一実施形態によれば、そのような認識は、アクセスまたは使用につながる認証の要求、暗号機能性の要求等の特定のサービスの要求において供給されるデータに由来し得る。一実施形態によれば、前述の要求は、例えば、プロセッサID等の一意のデバイス識別子を含み得る。代替として、要求は、特定の認識可能なデータ形式でデータを含み得る。例えば、携帯および衛星電話はしばしば、フルX509.v3多重暗号化証明書に対する処理能力を含まず、したがって、それらを要求しない。この実施形態によれば、信頼エンジン110は、提示されるデータ形式の種類を認識し、同じ方法のみで応答し得る。
【0148】
上記で説明されるシステムの追加の側面では、以下で説明されるような種々の技法を使用して、文脈依存認証を提供することができる。例えば、
図16に示されるような文脈依存認証は、ユーザが自分自身を認証しようとする場合にユーザによって送信される実際のデータだけでなく、そのデータの生成および送達をめぐる状況も評価するという可能性を提供する。そのような技法はまた、以下で説明されるように、ユーザと信頼エンジン110との間、またはベンダと信頼エンジン110との間のトランザクション特定信頼裁定を支援し得る。
【0149】
上記で論議されるように、認証は、ユーザが自分であると言う者であることを証明する過程である。概して、認証は、いくらかの事実を認証機関に実証することを必要とする。本発明の信頼エンジン110は、ユーザが自分自身を認証しなければならない機関を表す。ユーザは、ユーザのみが知っているはずのものを知ること(知識ベースの認証)、ユーザのみが持っているはずのものを有すること(トークンベースの認証)、またはユーザのみがなるはずであるものになること(生体測定ベースの認証)によって、ユーザが自分であると言う者であることを信頼エンジン110に実証しなければならない。
【0150】
知識ベースの認証の実施例は、パスワード、PIN番号、またはロックの組み合わせを含むが、それらに限定されない。トークンベースの認証の実施例は、家の鍵、物理的なクレジットカード、運転免許証、または特定の電話番号を含むが、それらに限定されない。生体測定ベースの認証の実施例は、指紋、筆跡分析、顔面スキャン、手スキャン、耳スキャン、虹彩スキャン、血管パターン、DNA、音声分析、または網膜スキャンを含むが、それらに限定されない。
【0151】
各種類の認証は、特定の利点および不利点を有し、それぞれ異なるレベルのセキュリティを提供する。例えば、概して、誰かのパスワードを耳にしてそれを繰り返すよりも、他の誰かの指紋に合致する偽の指紋を作成するほうが困難である。各種類の認証はまた、その形態の認証を使用する誰かを検証するために、異なる種類のデータが認証機関に知られることを必要とする。
【0152】
本明細書で使用されるように、「認証」とは、誰かの身元が自分であると言う者であることを検証する全体的過程を広く指す。「認証技法」とは、特定の1つの知識、物理的トークン、または生体測定値に基づく、特定の種類の認証を指す。「認証データ」とは、身元を確立するために認証機関に送信されるか、または実証される情報を指す。「登録データ」とは、認証データとの比較のための基準を確立するために、最初に認証機関に提出されるデータを指す。「認証インスタンス」とは、認証技法によって認証する試行に関連付けられるデータを指す。
【0153】
図10を参照して、ユーザを認証する過程に関与する内部プロトコルおよび通信を説明する。その内部で文脈依存認証が行われる、この過程の一部は、
図10のステップ1045として示された比較ステップ内で発生する。このステップは、認証エンジン215内で行われ、保管場所210から回収された登録データ410を集約し、ユーザによって提供された認証データをそれと比較することを伴う。この過程の1つの特定の実施形態を
図16に示し、以下で説明する。
【0154】
ユーザによって提供された現在の認証データおよび保管場所210から回収された登録データは、
図16のステップ1600で認証エンジン215によって受信される。これらのデータの両方は、別個の認証の技法に関連するデータを含み得る。認証エンジン215は、ステップ1605で、各個別認証インスタンスに関連付けられた認証データを分離する。これは、認証データがユーザに対する登録データの適切な一部と比較されるため必要である(例えば、指紋認証データは、パスワード登録データよりもむしろ指紋登録データと比較されるべきである)。
【0155】
概して、ユーザを認証することは、どの認証技法がユーザに利用可能であるかに応じて、1つ以上の個別認証インスタンスを伴う。これらの方法は、登録過程中にユーザによって提供された登録データ(ユーザが登録する場合に網膜スキャンを提供しなかった場合、網膜スキャンを使用して自分自身を認証することができない)、ならびに現在ユーザに利用可能であり得る手段(例えば、ユーザが現在の場所で指紋読取機を持っていない場合、指紋認証は実用的ではない)によって限定される。場合によっては、単一の認証インスタンスがユーザを認証するのに十分であり得るが、ある状況では、特定のトランザクションのためにユーザをより確信して認証するために、複数の認証インスタンスの組み合わせが使用され得る。
【0156】
各認証インスタンスは、特定の認証技法に関連するデータ(例えば、指紋、パスワード、スマートカード等)およびその特定の技法のためのデータの捕捉および送達をとりまく状況から成る。例えば、パスワードを介して認証しようとすることの特定のインスタンスは、パスワード自体に関連するデータだけでなく、そのパスワード試行に関連する「メタデータ」として知られている状況データも生成する。この状況データは、特定の認証インスタンスが行われた時間、認証情報が送達されたネットワークアドレス、ならびに、認証データの起源について決定され得る、当業者に公知であるような任意の他の情報(接続の種類、プロセッサシリアル番号等)等の情報を含む。
【0157】
多くの場合、少量の状況メタデータのみが利用可能となる。例えば、ユーザが、発信元コンピュータのアドレスを隠す、プロキシまたはネットワークアドレス変換あるいは別の技法を使用するネットワーク上に位置する場合、プロキシまたはルータのアドレスのみが決定され得る。同様に、多くの場合、使用されているハードウェアまたはオペレーティングシステムの制限、システムの操作者によるそのような特徴の無効化、またはユーザのシステムと信頼エンジン110との間の接続の他の制限により、プロセッサシリアル番号等の情報は利用可能とならない。
【0158】
図16に示されるように、いったん認証データ内で表された個別認証インスタンスがステップ1605で抽出されて分離されると、認証エンジン215は、ユーザが自分であると主張する者であることを示すことにおけるその信頼性に対して、各インスタンスを評価する。単一の認証インスタンスに対する信頼性は、概して、いくつかの因子に基づいて決定される。これらは、ステップ1610で評価される、認証技法に関連付けられる信頼性に関する因子、およびステップ1815で評価される、提供された特定の認証データの信頼性に関する因子としてグループ化され得る。第1のグループは、使用されている認証技法の固有信頼性、およびその方法とともに使用されている登録データの信頼性を含むが、それらに限定されない。第2のグループは、登録データと認証インスタンスが提供されたデータとの間の合致の程度、およびその認証インスタンスに関連付けられるメタデータを含むが、それらに限定されない。これらの因子のそれぞれは、他の因子とは無関係に変化し得る。
【0159】
認証技法の固有信頼性は、詐称者が他の誰かの正しいデータを提供することがどれだけ困難であるか、ならびに認証技法の全体的な誤差率に基づく。パスワードおよび知識ベースの認証方法について、誰かがパスワードを別の個人に明かすことを防止し、その第2の個人がそのパスワードを使用することを防止するものがないため、この信頼性はしばしばかなり低い。さらに複雑な知識ベースのシステムは、知識が個人から個人へかなり容易に移送され得るため、中程度の信頼性のみを有し得る。適正なスマートカードを有すること、または認証を行うために特定の端末を使用すること等のトークンベースの認証は、適任者が適正なトークンを保有しているという保証がないため、同様に、単独で使用されると信頼性が低い。
【0160】
しかしながら、意図的でさえ、都合よく指紋を使用する能力を他の誰かに提供することは概して困難であるため、生体測定技法は、より本質的に信頼性がある。生体測定認証技法を妨害することがより困難であるため、生体測定方法の固有信頼性は、純粋に知識またはトークンベースの認証技法の信頼性よりも概して高い。しかしながら、生体測定技法でさえも、誤った容認または誤った拒絶が生成される機会があり得る。これらの発生は、同じ生体測定技法の異なる実装に対する異なる信頼性によって反映され得る。例えば、より高品質の光学部またはより良好な走査解像度、あるいは誤った容認または誤った拒絶の発生を低減する何らかの他の改良を使用するため、1つの企業によって提供される指紋照合システムが、異なる企業によって提供されるものよりも高い信頼性を提供し得る。
【0161】
この信頼性は、異なる方式で表され得ることに留意されたい。この信頼性は、望ましくは、確認証の確信レベルを計算するために認証エンジン215のヒューリスティクス530およびアルゴリズムによって使用することができる、何らかの測定基準で表される。これらの信頼性を表す1つの好ましいモードは、パーセンテージまたは割合としてのものである。例えば、指紋が、97%の固有信頼性を割り当てられる場合がある一方で、パスワードは、50%の固有信頼性しか割り当てられない場合がある。当業者であれば、これらの特定の値は例示的にすぎず、具体的な実装の間で変化し得ることを認識するであろう。
【0162】
信頼性が評価され得る第2の要素は、登録の信頼性である。これは、上記で参照される「等級別登録」過程の一部である。この信頼性因子は、最初の登録過程中に提供される識別の信頼性を反映する。例えば、個人が、最初に、身元の証明を公証人または他の公人に物理的に生成する方式で登録し、登録データがその時に記録されて公証される場合、データは、登録中にネットワーク上で提供され、デジタル署名または正確には個人に結び付けられない他の情報によって保証されるのみであるデータよりも信頼性がある。
【0163】
異なるレベルの信頼性を伴う他の登録技法は、信頼エンジン110の操作者の物理的なオフィスでの登録、ユーザの勤務先での登録、郵便局または旅券局での登録、信頼エンジン110の操作者にとっての提携当事者または信頼できる当事者を通した登録、登録された身元が特定の実際の個人でまだ識別されていない、匿名または変名登録、ならびに当技術分野で公知であるようなそのような他の手段を含むが、それらに限定されない。
【0164】
これらの因子は、信頼エンジン110と登録中に提供される識別の供給源との間の信頼を反映する。例えば、身元の証明を提供する初期過程中に雇用者と関連して登録が行われる場合、この情報は、企業内での目的で極めて信頼性があると見なされ得るが、政府機関によって、または競合者によって、より少ない程度に信頼され得る。したがって、これらの他の組織の各々によって操作される信頼エンジンは、この登録に異なるレベルの信頼性を割り当て得る。
【0165】
同様に、ネットワークにわたって提出されるが、同じ信頼エンジン110を用いた以前の登録中に提供された他の信頼できるデータによって認証される追加のデータは、たとえ追加の登録データが開放型ネットワークにわたって提出されたとしても、元のデータと同じくらい信頼性があると見なされ得る。そのような状況において、後続の公証は、元の登録データに関連付けられる信頼性のレベルを効果的に増加させる。このようにして、次いで、例えば、登録されたデータに合致する個人の身元を、ある登録職員に実証することによって、匿名または変名登録が完全登録に昇進し得る。
【0166】
上記で論議される信頼性因子は、概して、任意の特定の認証インスタンスより前に決定され得る値である。これは、それらが実際の認証よりも登録および技法に基づくためである。一実施形態では、これらの因子に基づいて信頼性を生成するステップは、この特定の認証技法の以前に決定された値およびユーザの登録データを調べることを伴う。本発明の有利な実施形態のさらなる側面では、そのような信頼性は、登録データ自体を伴って含まれ得る。このようにして、これらの因子は、保管場所210から送信される登録データとともに、認証エンジン215に自動的に送達される。
【0167】
これらの因子は、概して、個々の認証インスタンスより前に決定され得るが、その特定の認証の技法をそのユーザに使用する、各認証インスタンスに依然として影響を及ぼす。さらに、値は経時的に変化し得る(例えば、ユーザがより信頼性のある様式で再登録する場合)が、認証データ自体には依存していない。対照的に、単一の特定のインスタンスのデータに関連付けられる信頼性因子は、各機会に変化し得る。これらの因子は、以下で論議されるように、ステップ1815で信頼性スコアを生成するために、それぞれの新しい認証について評価されなければならない。
【0168】
認証データの信頼性は、特定の認証インスタンスにおいてユーザによって提供されるデータと、認証登録中に提供されるデータとの間の合致を反映する。これは、認証データが、ユーザがそうであると主張する個人に対する登録データに合致するかどうかの基本的な質問である。通常、データが合致しない場合、ユーザは認証が成功したと見なされず、認証は失敗する。これが評価される方式は、使用される認証技法に応じて変化し得る。そのようなデータの比較は、
図5に示されるような認証エンジン215のコンパレータ515の機能によって行われる。
【0169】
例えば、パスワードの合致は、概して、2値様式で評価される。言い換えれば、パスワードは、完全合致または合致失敗である。通常、完全に正確でなければ、正確なパスワードに近いパスワードを部分合致として容認することさえ望ましくない。したがって、パスワード認証を評価する場合、コンパレータ515によって返信される認証の信頼性は、典型的には、100%(正)または0%(誤)のいずれか一方であり、中間値の可能性はない。
【0170】
パスワードについて、これらと同様の規則は、概して、スマートカード等のトークンベースの認証方法に適用される。これは、類似の識別子を有する、または正しいものと類似するスマートカードを有することは、任意の他の不正確なトークンを有することと同じくらい間違っているためである。したがって、トークンはまた、ユーザが正しいトークンを有するか、またはそうではないといった、2値認証符号となる傾向がある。
【0171】
しかしながら、質問表および生体測定等の、ある種類の認証データは、概して、2値認証符号ではない。例えば、指紋は、様々な程度で参照指紋に合致し得る。ある程度、これは、初期登録中または後続の認証において捕捉されるデータの質の変動によるものであり得る。(指紋がはっきりしない場合があるか、または個人が特定の指に依然として治癒中の瘢痕または熱傷を有する場合がある。)他の場合において、情報自体がいくらか可変であり、パターン照合に基づくため、データは、完璧とは言えない程度に合致し得る。(背景雑音、音声が録音された環境の音響効果により、または個人が風邪をひいているため、音声分析は、近いが全く正しいとは思われない場合がある。)最終的に、大量のデータが比較されている状況では、単純に、データの大部分が十分に合致するが、いくつかがそうではないという場合であり得る。(10の質問の質問表が、個人的な質問に対して8つの正しい答えを生じるが、2つの間違った答えを生じ得る。)これらの理由のうちのいずれかについて、登録データと特定の認証インスタンスのデータとの間の合致は、望ましくは、コンパレータ515によって部分合致値が割り当てられ得る。このようにして、例えば、指紋は85%合致であるといわれ、声紋は65%合致であるといわれ、質問表は80%合致であるといわれる場合がある。
【0172】
コンパレータ515によって生成される、この尺度(合致の程度)は、認証が正しいか否かという基本的な問題を表す因子である。しかしながら、上記で論議されるように、これは、所与の認証インスタンスの信頼性を決定する際に使用され得る、因子のうちの1つにすぎない。いくらかの部分的な程度での合致が決定され得るものの、最終的には、部分合致に基づいて2値結果を提供することが望ましいことがあることも留意されたい。代替動作モードでは、合致の程度が合致の特定の閾値レベルに合格するか否かに基づいて、2値、すなわち、完全合致(100%)または合致失敗(0%)のいずれか一方として、部分合致を取り扱うことも可能である。そのような過程は、そうでなければ部分合致を生成する、システムの合致の単純な合格/失敗レベルを提供するために使用され得る。
【0173】
所与の認証インスタンスの信頼性を評価する際に考慮される別の因子は、この特定のインスタンスの認証データが提供される状況に関する。上記で論議されるように、状況とは、特定の認証インスタンスに関連付けられるメタデータを指す。これは、決定することができる程度まで認証符号のネットワークアドレス、認証の時間、認証データの伝送モード(電話回線、携帯電話、ネットワーク等)、および認証符号のシステムのシリアル番号等の情報を含み得るが、それらに限定されない。
【0174】
これらの因子は、通常ユーザによって要求される認証の種類のプロファイルを生成するために使用することができる。次いで、この情報は、少なくとも2つの方式で信頼性を評価するために使用することができる。1つの方法は、ユーザが、このユーザによる認証の通常のプロファイルと一致する方式で、認証を要求しているかどうかを考慮することである。ユーザが通常、営業日中(ユーザが勤務している時)には1つのネットワークアドレスから、夜間または週末中(ユーザが自宅にいる時)には異なるネットワークアドレスから、認証要求を行う場合、営業日中にホームアドレスから発生する認証は、通常の認証プロファイル外であるため、あまり信頼性がない。同様に、ユーザが通常、夜間に指紋生体測定を使用して認証する場合、パスワードのみを使用して日中に起こる認証は、あまり信頼性がない。
【0175】
認証のインスタンスの信頼性を評価するために状況メタデータを使用することができる、追加の方法は、認証符号がそうであると主張する個人であるという裏付け証拠を状況がどれだけ提供するかを決定することである。例えば、認証が、ユーザに関連付けられることが分かっているシリアル番号を伴うシステムに由来する場合、これは、ユーザが自分であると主張する個人であるという良好な状況指標である。逆に、ユーザがロンドンに滞在していることが分かっている場合に、認証が、ロサンゼルスにあることが分かっているネットワークアドレスに由来している場合、これは、その状況に基づいて、この認証はあまり信頼性がないという指示である。
【0176】
ベンダシステムまたは信頼エンジン110と相互作用する場合に、ユーザによって使用されているシステム上にクッキーまたは他の電子データが配置され得ることも可能である。このデータは、ユーザのシステムの記憶装置に書き込まれ、ユーザシステム上のウェブブラウザまたは他のソフトウェアによって読み出される識別を含み得る。このデータが、セッション間にユーザシステム上で存在することが可能である場合(「永続的なクッキー」)、特定のユーザの認証中に、このシステムの過去の使用のさらなる証明として、認証データとともに送信され得る。事実上、所与のインスタンスのメタデータ、具体的には永続的なクッキーは、一種のトークンベースの認証符号自体を形成し得る。
【0177】
いったん認証インスタンスの技法およびデータに基づく適切な信頼性因子が、それぞれステップ1610および1615において上記で説明されるように生成されると、それらはステップ1620で提供される認証インスタンスの全体的な信頼性を生成するために使用される。これを行う1つの手段は、単純に、各信頼性をパーセンテージとして表し、次いで、それらを一緒に乗じることである。
【0178】
例えば、ユーザの過去の認証プロファイルに完全に従って、認証データが、ユーザのホームコンピュータであることが分かっているネットワークアドレスから送信されており(100%)、使用されている技法が指紋識別(97%)であり、初期指紋データが信頼エンジン110を用いてユーザの雇用主を通して送られ(90%)、認証データと登録データの中の元の指紋テンプレートとの間の合致が良好である(99%)と仮定されたい。次いで、この認証インスタンスの全体的信頼性は、100%*97%*90%*99%(86.4%信頼性)といった、これらの確率の積として計算することができる。
【0179】
この計算された信頼性は、単一の認証のインスタンスの信頼性を表す。単一の認証インスタンスの全体的信頼性はまた、例えば、異なる重みが各信頼性因子に割り当てられる公式を使用することによって、異なる信頼性因子を異なって取り扱う技法を使用して、計算され得る。さらに、当業者であれば、使用される実際の値が、パーセンテージ以外の値を表し得、かつ非算術システムを使用し得ることを認識するであろう。一実施形態は、各因子に対する重み、および認証インスタンスの全体的信頼性を確立する際に使用されるアルゴリズムを設定するために、認証要求者によって使用されるモジュールを含み得る。
【0180】
認証エンジン215は、ステップ1620として示される、単一の認証インスタンスの信頼性を決定するために、上記の技法および変化例を使用し得る。しかしながら、これは、同時に提供される複数の認証インスタンスに対する多くの認証状況で有用であり得る。例えば、本発明のシステムを使用して自分を認証しようとする場合に、ユーザは、ユーザ識別、指紋認証データ、スマートカード、およびパスワードを提供し得る。そのような場合、3つの独立認証インスタンスが、評価のために信頼エンジン110に提供されている。ステップ1625へ進んで、ユーザによって提供されたデータが1つより多くの認証インスタンスを含むと認証エンジン215が決定した場合には、各インスタンスは、ステップ1630で示されるように選択され、ステップ1610、1615、および1620において上記で説明されるように評価される。
【0181】
論議される信頼性因子の多くは、これらのインスタンスによって変化し得ることを留意されたい。例えば、これらの技法の固有信頼性、ならびに認証データと登録データとの間で提供される合致の程度は、異なる可能性が高い。さらに、ユーザは、これらの技法の各々について、異なる時間で、かつ異なる状況下で、登録データを提供し、同様に、これらのインスタンスの各々に対して異なる登録信頼性を提供し得る。最終的に、たとえこれらのインスタンスの各々に対するデータが提供されている状況が同じであっても、そのような技法の使用は、ユーザのプロファイルに異なって適合し得、よって、異なる状況信頼性が割り当てられ得る(例えば、ユーザは通常、スマートカードではなく、パスワードおよび指紋を使用し得る)。
【0182】
結果として、これらの認証インスタンスの各々の最終信頼性は、相互に異なり得る。しかしながら、複数のインスタンスをともに使用することによって、認証の全体的な確信レベルは増加する傾向となる。
【0183】
いったん認証エンジンが、認証データにおいて提供される認証インスタンスの全てについてステップ1610乃至1620を行うと、各インスタンスの信頼性は、全体的な認証確信レベルを評価するために、ステップ1635で使用される。個別認証インスタンス信頼性を認証確信レベルに組み込むという、この過程は、生成される個別信頼性を関係付ける種々の方法によってモデル化され得、また、これらの認証技法のうちのいくつかの間の特定の相互作用に対処し得る。(例えば、パスワード等の複数の知識ベースのシステムは、単一のパスワードと基本音声分析等のかなり弱い生体測定、よりも低い確信を生じる場合がある)。
【0184】
認証エンジン215が、最終確信レベルを生成するために、複数の同時認証インスタンスの信頼性を組み合わせる1つの手段は、全体不信頼性に到達するように、各インスタンスの不信頼性を乗じることである。不信頼性は、概して、信頼性の相補的パーセンテージである。例えば、84%信頼性がある技法は、16%信頼性がない。86%、75%、および72%の信頼性を生じる、上記で説明される3つの認証インスタンス(指紋、スマートカード、パスワード)は、それぞれ、(100−86)%、(100−75)%、および(100−72)%、または14%、25%、および28%の対応する不信頼性を有する。これらの不信頼性を乗じることによって、99.02%の信頼性に対応する、14%*25%*28%(0.98%の不信頼性)という累積的不信頼性を得る。
【0185】
追加の動作モードでは、種々の認証技法の相互依存に対処するように、追加の要因およびヒューリスティクス530が認証エンジン215内で適用され得る。例えば、誰かが特定のホームコンピュータへの不正アクセスを有する場合、おそらく、そのアドレスにおける電話回線にもアクセスできる。したがって、発信電話番号ならびに認証システムのシリアル番号に基づいて認証することは、認証への全体的確信に多くを加算しない。しかしながら、知識ベースの認証は、大部分がトークンベースの認証とは無関係である(すなわち、誰かが携帯電話または鍵を盗んだ場合、盗まなかった場合よりもPINまたはパスワードを知る可能性が高いにすぎない)。
【0186】
さらに、異なるベンダまたは他の認証要求者が、認証の異なる側面に異なって重み付けることを所望し得る。これは、個別インスタンスの信頼性を計算する際の別個の重み因子またはアルゴリズムの使用、ならびに複数のインスタンスを用いて認証イベントを評価する異なる手段の使用を含み得る。
【0187】
例えば、ある種類のトランザクション、例えば、企業Eメールシステムのベンダが、主にヒューリスティクスおよび他の状況データに基づいて、認証することを所望し得る。したがって、それらは、メタデータに関連する因子、および認証イベントをとりまく状況に関連付けられる他のプロファイル関連情報に高い重みを適用し得る。この構成は、営業時間中に正しいマシンにログオンしたこと以上をユーザから要求しないことによって、通常営業時間中にユーザへの負担を緩和するために使用することができる。しかしながら、別のベンダは、そのような技法が特定のベンダの目的で認証に最も適しているという方針決定により、特定の技法、例えば、指紋照合に由来する認証に最も重く重み付け得る。
【0188】
そのような様々な重みは、1つの動作モードにおいて、認証要求を生成する際に認証要求者によって定義され、認証要求とともに信頼エンジン110に送信され得る。そのようなオプションはまた、別の動作モードにおいて、認証要求者に対する初期の登録過程中に選好として設定され、認証エンジン内に記憶されることもできる。
【0189】
いったん認証エンジン215が、提供される認証データの認証確信レベルを生成すると、この確信レベルは、ステップ1640で認証要求を完了するために使用され、この情報は、認証要求者へのメッセージに含めるために、認証エンジン215からトランザクションエンジン205に転送される。
【0190】
上記で説明される過程は例示的にすぎず、当業者であれば、ステップは示された順番で行われる必要はないこと、またはステップのうちの特定のものだけが行われることを所望されること、またはステップの種々の組み合わせが所望され得ることを認識するであろう。さらに、提供される各認証インスタンスの信頼性の評価等の、あるステップは、状況が許されれば、互に並行して実行され得る。
【0191】
本発明のさらなる側面では、上記で説明される過程によって生成される認証確信レベルが、認証を必要とするベンダまたは他の当事者の必要信頼レベルを満たすことができない場合の状況に適応する方法が提供される。提供される確信のレベルと所望される信頼のレベルとの間に格差が存在する、これらの状況等の状況では、信頼エンジン110の操作者は、この信頼格差を埋めるために、一方または両方の当事者が代替データまたは要件を提供するための機会を提供する立場にある。この過程は、本明細書では「信頼裁定」と呼ばれる。
【0192】
信頼裁定は、
図10および11を参照して上記で説明されるような暗号認証のフレームワーク内で行われ得る。その中で示されるように、ベンダまたは他の当事者が、特定のトランザクションと関連して特定のユーザの認証を要求する。1つの状況では、ベンダが、単純に、肯定的または否定的のいずれか一方の認証を要求し、ユーザから適切なデータを受信した後、信頼エンジン110が、そのような2値認証を提供する。これらの状況等の状況では、肯定的な認証をセキュア化するために必要とされる確信の程度は、信頼エンジン110内で設定される選好に基づいて決定される。
【0193】
しかしながら、ベンダが、特定のトランザクションを完了するための特定の信頼のレベルを要求し得ることも可能である。この必要レベルは、認証要求とともに含まれ得るか(例えば、このユーザを98%確信で認証する)、またはトランザクションに関連付けられる他の因子に基づいて信頼エンジン110によって決定され得る(すなわち、このトランザクションについて適切であるとしてこのユーザを認証する)。1つのそのような因子は、トランザクションの経済的価値となる場合がある。より大きい経済的価値を有するトランザクションについては、より高い程度の信頼が必要とされ得る。同様に、高い程度のリスクを伴うトランザクションについては、高い程度の信頼が必要とされ得る。逆に、低いリスクまたは低い値のいずれかであるトランザクションについては、より低い信頼レベルがベンダまたは他の認証要求者によって必要とされ得る。
【0194】
信頼裁定の過程は、
図10のステップ1050で認証データを受信する信頼エンジン110のステップと、
図10のステップ1055でベンダに認証結果を返信するステップとの間で発生する。これらのステップ間で、信頼レベルの評価および潜在的な信頼裁定につながる過程が、
図17に示されるように発生する。単純な2値認証が行われる状況では、
図17に示された過程は、トランザクションエンジン205に、提供された認証データを、
図10を参照して上記で論議されるような識別されたユーザの登録データと直接比較させ、否定的な認証として差異をフラグすることに帰着する。
【0195】
図17に示されるように、ステップ1050でデータを受信した後の第1のステップは、トランザクションエンジン205が、ステップ1710で、この特定のトランザクションの肯定的な認証に必要とされる信頼レベルを決定することである。このステップは、いくつかの異なる方法のうちの1つによって実装され得る。必要信頼レベルは、認証要求が行われる場合に認証要求者によって信頼エンジン110に特定され得る。認証要求者はまた、保管場所210またはトランザクションエンジン205によってアクセス可能である他の記憶装置内に記憶される選好を事前に設定し得る。次いで、この選好は、認証要求がこの認証要求者によって行われるたびに読み取られ、使用され得る。選好はまた、特定のユーザを認証するために、特定の信頼のレベルが常に必要とされるように、セキュリティ対策としてそのユーザに関連付けられ得、ユーザ選好は、保管場所210またはトランザクションエンジン205によってアクセス可能である他の記憶媒体に記憶される。要求レベルはまた、認証されるトランザクションの値およびリスクレベル等の認証要求において提供される情報に基づいて、トランザクションエンジン205または認証エンジン215によって導出され得る。
【0196】
1つの動作モードでは、認証要求を生成する場合に使用される方針管理モジュールまたは他のソフトウェアが、トランザクションの認証の必要な信頼の程度を特定するために使用される。これは、方針管理モジュール内で特定される方針に基づいて必要レベルの信頼を割り当てる場合に従う、一連の規則を提供するために使用され得る。1つの有利な動作モードは、ベンダのウェブサーバを用いて開始されるトランザクションの必要な信頼のレベルを適切に決定するために、そのようなモジュールがベンダのウェブサーバと合併されることである。このようにして、ユーザからのトランザクション要求は、ベンダの方針に従って必要信頼レベルが割り当てられ、そのような情報は、認証要求とともに信頼エンジン110に転送され得る。
【0197】
この必要信頼レベルは、個人を認証することが、実際に個人が自分を識別する人物であることを、ベンダが有することを欲する確実性の程度と相関する。例えば、トランザクションが、物品が持ち主を変えているため、ベンダがかなりの程度の確実性を求めているものである場合、ベンダは、85%の信頼レベルを必要とし得る。ベンダが、チャットルーム上でメンバー専用コンテンツを閲覧すること、または特権を行使することを可能にするようにユーザを認証しているにすぎない状況については、マイナスのリスクは、ベンダが60%の信頼レベルしか必要としないほど十分小さくてもよい。しかしながら、何万ドルもの価値を伴う生産契約を締結するために、ベンダは、99%以上の信頼レベルを必要とし得る。
【0198】
この要求信頼レベルは、トランザクションを完了するためにユーザが自分を認証しなければならない測定基準を表す。例えば、要求信頼レベルが85%である場合、ユーザは、ユーザが自分であると言う者であることを信頼エンジン110が85%の確信で言うために十分な認証を、信頼エンジン110に提供しなければならない。(ベンダの満足度にとって)肯定的な認証または信頼裁定の可能性を生じるのは、この必要レベルと認証確信レベルとの間のバランスである。
【0199】
図17に示されるように、トランザクションエンジン205は、必要信頼レベルを受信した後、ステップ1720で、必要信頼レベルを、(
図16を参照して論議されるように)現在の認証について認証エンジン215が計算した認証確信レベルと比較する。認証確信レベルが、ステップ1730で、トランザクションの必要信頼レベルよりも高い場合には、過程は、このトランザクションの肯定的な認証がトランザクションエンジン205によって生成される、ステップ1740へと進む。次いで、この結果に対するメッセージは、認証結果に挿入され、ステップ1055(
図10参照)で示されるようにトランザクションエンジン205によってベンダに返信される。
【0200】
しかしながら、認証確信レベルがステップ1730で必要信頼レベルを満たさない場合には、確信の格差が現在の認証に存在し、信頼裁定がステップ1750で行われる。信頼裁定は、以下の
図18を参照してより完全に説明される。以下で説明されるような、この過程は、信頼エンジン110のトランザクションエンジン205内で行われる。(トランザクションエンジン205と他の構成要素との間のSSL通信に必要とされるもの以外に)信頼裁定を実行するために、いずれの認証または他の暗号動作も必要とされないため、過程は、認証エンジン215の外側で行われ得る。しかしながら、以下で論議されるように、認証データの任意の再評価、あるいいは他の暗号または認証イベントは、適切なデータを認証エンジン215に再提出するように、トランザクションエンジン205に要求する。当業者であれば、信頼裁定過程は、代替として、認証エンジン215自体内で部分的または完全に行われるように構造化できることを認識するであろう。
【0201】
上述のように、信頼裁定は、信頼エンジン110が、適切な場合に肯定的な認証をセキュア化しようとして、ベンダとユーザとの間の交渉を仲介する過程である。ステップ1805で示されるように、トランザクションエンジン205は、最初に、現在の状況が信頼裁定に適切であるか否かを決定する。これは、以下でさらに論議されるように、認証の状況、例えば、この認証がすでに裁定の複数のサイクルを通っているかどうか、ならびに、ベンダまたはユーザの選好に基づいて、決定され得る。
【0202】
裁定が可能ではない、そのような状況では、過程は、トランザクションエンジン205が否定的な認証を生成し、次いで、ステップ1055(
図10参照)でベンダに送信される認証結果にそれを挿入する、ステップ1810へと進む。認証が無期限に未決となることを防ぐために有利に使用され得る、1つの制限は、初期認証要求からのタイムアウト期間を設定することである。このようにして、制限時間内に肯定的に認証されないトランザクションは、さらなる裁定を否定され、否定的に認証される。当業者であれば、制限時間は、トランザクションの状況、ならびにユーザおよびベンダの所望に応じて変化し得ることを認識するであろう。制限はまた、成功した認証を提供する際に行われ得る試行の数に課され得る。そのような認証は、
図5に示されるような試行リミッタ535によって処理され得る。
【0203】
裁定がステップ1805で禁止されない場合には、トランザクションエンジン205は、取引当事者の一方または両方との交渉に従事する。トランザクションエンジン205は、ステップ1820で示されるように生成される認証確信レベルを高めるために、何らかの形態の追加の認証を要求するメッセージをユーザに送信し得る。最も単純な形態では、これは、単純に、認証が不十分であったことを示し得る。認証の全体的な確信レベルを向上させるように、1つ以上の追加の認証インスタンスを生成する要求も送信され得る。
【0204】
ユーザがステップ1825でいくつかの追加の認証インスタンスを提供する場合には、トランザクションエンジン205が、トランザクションのためにこれらの認証インスタンスを認証データに追加し、ステップ1015でそれを認証エンジン215に転送し(
図10参照)、認証は、このトランザクションのための既存の認証インスタンスおよび新しく提供された認証インスタンスの両方に基づいて再評価される。
【0205】
追加の種類の認証は、例えば、電話によって、信頼エンジン110の操作者(または信頼できる提携者)とユーザとの間で何らかの形態の個人対個人の連絡を行う信頼エンジン110からの要求であり得る。この電話または他の非コンピュータ認証は、個人との個人的連絡を提供するために、また、何らかの形態の質問表ベースの認証を行うために使用することができる。これはまた、ユーザが電話をした場合に、発信電話番号、および潜在的にユーザの音声分析を検証する機会を与え得る。たとえ追加の認証データを提供することができなくても、ユーザの電話番号に関連付けられる追加のコンテキストが、認証コンテキストの信頼性を向上させ得る。この電話に基づく改訂されたデータまたは状況は、認証要求の考慮で使用するために信頼エンジン110に供給される。
【0206】
加えて、ステップ1820では、信頼エンジン110は、ユーザが保険を購入し、より確信した認証を効果的に購入するための機会を提供し得る。信頼エンジン110の操作者は時々、認証の確信レベルが開始するためのある閾値を上回る場合に、そのようなオプションを利用可能にすることを所望し得るにすぎない。事実上、このユーザ側保険は、認証が認証のための信頼エンジン110の通常の要求信頼レベルを満たすが、このトランザクションのためのベンダの必要信頼レベルを満たさない場合に、信頼エンジン110がユーザを保証する方法である。このようにして、ユーザは、たとえ信頼エンジン110にとって十分な確信を生じる認証インスタンスのみを有しても、ベンダによって要求される場合があるような非常に高いレベルに依然として首尾よく認証し得る。
【0207】
この信頼エンジン110の機能は、信頼エンジン110が、ベンダではなく信頼エンジン110が満足するように認証される誰かを保証することを可能にする。これは、署名が文書上に現れる個人が実際にそれを署名した個人であることを、後で文書を読む誰かに示すために、公証人が公証人の署名を文書に追加することによって果たされる機能と同様である。公証人の署名は、ユーザによる署名の行為を証明する。同じように、信頼エンジンは、取引している個人が自分であると言う個人であるという指示を提供している。
【0208】
しかしながら、信頼エンジン110がユーザによって提供される確信のレベルを人為的に高めるため、ユーザがベンダの必要信頼レベルを実際には満たしていないので、信頼エンジン110の操作者にとってより大きなリスクがある。保険の費用は、(ユーザの認証を効果的に公証し得る)信頼エンジン110に対する誤肯定的認証のリスクを相殺するように設計されている。ユーザは、実際に提供されているよりも高いレベルの確信に認証するリスクを冒す信頼エンジン110の操作者に支払いをする。
【0209】
そのような保険システムは、誰かが信頼エンジン110からより高い確信評定を効果的に購入することを可能にするので、ベンダおよびユーザの両方が、あるトランザクションでユーザ側保険の使用を防止することを所望し得る。ベンダは、実際の認証データが必要とする確信の程度をサポートすることをベンダが分かる状況に肯定的な認証を限定し得、よって、ユーザ側保険が許可されていないことを信頼エンジン110に示し得る。同様に、オンライン身元を保護するために、ユーザは、自分のアカウント上でユーザ側保険の使用を防止することを所望し得、または保険なしでの認証確信レベルがある制限よりも高い状況に、その使用を限定することを所望し得る。これは、誰かがパスワードを耳にするか、またはスマートカードを盗んで、低レベルの確信に不当に認証するためにそれらを使用し、次いで、非常に高いレベルの(誤った)確信を生じるように保険を購入することを防止するためのセキュリティ対策として使用され得る。これらの因子は、ユーザ側保険が許可されるかどうかを決定する際に評価され得る。
【0210】
ユーザがステップ1840で保険を購入する場合には、ステップ1845で購入された保険に基づいて認証確信レベルが調整され、認証確信レベルおよび要求信頼レベルがステップ1730(
図17参照)で再び比較される。過程はここから続き、ステップ1740(
図17参照)での肯定的な認証につながるか、または(許可されている場合)さらなる裁定のためにステップ1750での信頼裁定過程に戻るか、あるいはさらなる裁定が禁止されている場合にステップ1810での否定的な認証につながり得る。
【0211】
ステップ1820でメッセージをユーザに送信することに加えて、トランザクションエンジン205はまた、係属中の認証が現在、必要信頼レベルを下回っていることを示すメッセージを、ステップ1830でベンダに送信し得る。メッセージはまた、どのようにしてベンダに向かうかについて種々のオプションを提供し得る。これらのオプションのうちの1つは、単純に、現在の認証確信レベルがどのようなものであるかをベンダに知らせ、ベンダが現在の満たされていない必要信頼レベルを維持することを所望するかどうかを尋ねることである。これは、場合によっては、ベンダがトランザクションを認証するための独立した手段を有し得るか、または、手元の特定のトランザクションに実際に必要とされているよりも高く最初に特定された必要レベルを概してもたらす、デフォルトの一式の要件を使用していることがあるため、有益であり得る。
【0212】
例えば、ベンダとの全ての着信購入注文トランザクションが98%信頼レベルを満たすことを期待されることが、標準的実践であり得る。しかしながら、注文がベンダと長年の顧客との間で電話によって最近論議されており、その直後にトランザクションが認証されたが、93%確信レベルのみで認証された場合、電話が追加の認証をベンダに効果的に提供するので、ベンダは単純に、このトランザクションのための容認閾値を低くすることを所望し得る。ある状況では、ベンダは、必要信頼レベルを進んで低くし得るが、必ずしも現在の認証確信のレベルまでではない。例えば、上記の実施例でのベンダは、注文前の電話が、必要とされる信頼の程度の4%低減に値すると考える場合があるが、これは依然として、ユーザによって生成される93%確信よりも大きい。
【0213】
ベンダがステップ1835で必要信頼レベルを調整しない場合には、認証によって生成される認証確信レベルおよび必要信頼レベルがステップ1730(
図17参照)で比較される。ここで確信レベルが必要信頼レベルを超える場合、肯定的な認証がステップ1740(
図17参照)でトランザクションエンジン205において生成され得る。もしそうでなければ、さらなる裁定が、許可される場合に上記で論議されるように試行され得る。
【0214】
必要信頼レベルへの調整を要求することに加えて、トランザクションエンジン205はまた、認証を要求するベンダにベンダ側保険を提供し得る。この保険は、ユーザ側保険について上記で説明されるものと同様の目的を果たす。しかしながら、ここでは、費用が、生成される実際の認証確信レベルを上記で認証する際に信頼エンジン110によって冒されているリスクに対応するよりもむしろ、保険の費用は、認証においてより低い信頼レベルを受け入れる際にベンダによって冒されるリスクに対応する。
【0215】
実際の必要信頼レベルを単に低くする代わりに、ベンダは、ユーザの認証におけるより低い信頼のレベルに関連付けられる追加のリスクから自身を保護するように、保険を購入するというオプションを有する。上記で説明されるように、既存の認証がある閾値をすでに上回っている状況で信頼格差を補うように、そのような保険を購入することのみを考慮することが有利であり得る。
【0216】
そのようなベンダ側保険の可用性は、ベンダに、自身にとって追加の犠牲を払わずに信頼要件を直接低くし、(必要とされるより低い信頼レベルに基づいて)自分で否定的な認証のリスクを負うオプション、または認証確信レベルと要件との間の信頼格差のための保険を購入し、信頼エンジン110の操作者が提供されたより低い確信レベルのリスクを負うオプションを可能にする。保険を購入することによって、否定的な認証のリスクが信頼エンジン110の操作者にシフトされるため、ベンダは高い信頼レベル要件を効果的に保つことができる。
【0217】
ベンダがステップ1840で保険を購入する場合、認証確信レベルおよび必要信頼レベルがステップ1730(
図17参照)で比較され、過程が上記で説明されるように続く。
【0218】
ユーザおよびベンダの両方が、信頼エンジン110からのメッセージに応答することも可能であると留意されたい。当業者であれば、そのような状況に対処することができる複数の方法があることを認識するであろう。複数の応答の可能性に対処する1つの有利なモードは、単純に、先着順に応答を取り扱うことである。例えば、ベンダが低くした必要信頼レベルで応答し、その直後にユーザも認証レベルを上昇させるように保険を購入する場合、認証は最初に、ベンダからの低くなった信頼要件に基づいて再評価される。ここで認証が肯定的である場合、ユーザの保険購入は無視される。別の有利な動作モードでは、ユーザは、(低くなったベンダ信頼要件を伴っても信頼格差が依然として残っていた場合)ベンダの新しい低くなった信頼要件を満たすために必要とされる保険のレベルに対してのみ請求される場合がある。
【0219】
認証に設定された制限時間内に、いずれか一方の当事者からの応答がステップ1850における信頼裁定過程中に受信されない場合、裁定はステップ1805で再評価される。これは、裁定過程を再び効果的に始める。制限時間が最終であるか、または他の状況がステップ1805でさらなる裁定を防止する場合、否定的な認証がステップ1810でトランザクションエンジン205によって生成され、ステップ1055(
図10参照)でベンダに返信される。もしそうでなければ、新しいメッセージがユーザおよびベンダに送信され得、過程が所望に応じて繰り返され得る。
【0220】
例えば、トランザクションの一部ではない文書にデジタル署名する、ある種類のトランザクションについては、必ずしもベンダまたは他の第三者がいなくてもよく、したがって、トランザクションは、主にユーザと信頼エンジン110との間であることに留意されたい。これら等の状況では、信頼エンジン110は、肯定的な認証を生成するために満たされなければならない、独自の必要信頼レベルを有する。しかしながら、そのような状況では、ユーザが独自の署名の確信を引き上げるために信頼エンジン110が保険をユーザに提案することは、しばしば望ましくない。
【0221】
上記で説明され、
図16−18で示される過程は、信頼エンジン110を参照して上記で説明されるような種々の通信モードを使用して実行され得る。例えば、メッセージは、ウェブベースであり、信頼エンジン110と、ユーザまたはベンダシステム上で作動するブラウザにリアルタイムでダウンロードされるアプレットとの間のSSL接続を使用して送信され得る。代替的な動作モードでは、そのような裁定および保険トランザクションを促進する、ある専用アプリケーションがユーザおよびベンダによって使用中であり得る。別の代替的な動作モードでは、上記で説明される裁定を仲介するために、セキュアなEメール動作が使用され得、それにより、認証の繰延評価およびバッチ処理を可能にする。当業者であれば、状況およびベンダの認証要件に対して異なる通信モードが適切に使用され得ることを認識するであろう。
【0222】
図19に関する以下の説明は、上記で説明されるような本発明の種々の側面を統合する、サンプルトランザクションを説明する。この実施例は、信頼エンジン110によって仲介されるようなユーザとベンダとの間の全体的な過程を図示する。上記で詳細に説明されるような種々のステップおよび構成要素は、以下のトランザクションを実行するために使用され得るが、図示された過程は、信頼エンジン110、ユーザ、およびベンダの間の相互作用に焦点を当てる。
【0223】
トランザクションは、ユーザが、オンラインでウェブページを閲覧しながらステップ1900でベンダのウェブサイト上の注文書に記入した場合に始まる。ユーザは、自分のデジタル署名で署名されたこの注文書をベンダに提出することを所望する。これを行うために、ユーザは、ステップ1905で、署名の要求を伴う注文書を信頼エンジン110に提出する。ユーザはまた、身元を認証するために上記で説明されるように使用される、認証データも提供する。
【0224】
ステップ1910では、認証データが、上記で論議されるように信頼エンジン110によって登録データと比較され、肯定的な認証が生成された場合、ユーザの秘密キーで署名された注文書のハッシュが、注文書自体とともにベンダに転送される。
【0225】
ベンダは、ステップ1915で署名された注文書を受信し、次いで、ベンダは、ステップ1920で行われる購入に関連する請求書または他の契約書を生成する。この契約書は、ステップ1925で署名の要求とともにユーザに返送される。ベンダはまた、ステップ1930で、両方の当業者によって署名されることになる契約書のハッシュを含む、この契約トランザクションの認証要求を信頼エンジン110に送信する。契約書が両方の当事者によってデジタル署名されることを可能にするために、ベンダはまた、必要であれば契約書上のベンダの署名を後で検証することができるように、ベンダ自身の認証データも含める。
【0226】
上記で論議されるように、信頼エンジン110は、次いで、ベンダの身元を確認するようにベンダによって提供される認証データを検証し、データがステップ1935で肯定的な認証を生じた場合、データがユーザから受信されるステップ1955を続ける。ベンダの認証データが所望の程度でベンダの登録データに合致しない場合、さらなる認証を要求するメッセージがベンダに返信される。ここでは必要であれば、ベンダが自身を信頼エンジン110に首尾よく認証するために、信頼裁定が行われ得る。
【0227】
ユーザがステップ1940で契約書を受信すると、それを再検討し、ステップ1945で認証データを生成して容認可能であれば署名し、次いで、ステップ1950で契約書のハッシュおよび認証データを信頼エンジン110に送信する。信頼エンジン110は、ステップ1955で認証データを検証し、認証が良好であれば、続けて以下で説明されるように契約書を処理する。
図17および18を参照して上記で論議されるように、信頼裁定は、認証確信レベルとトランザクションのための必要認証レベルとの間に存在する信頼格差を埋めるように、適切に行われ得る。
【0228】
信頼エンジン110は、ステップ1960で、ユーザの秘密キーで契約書のハッシュに署名し、自らのために完全メッセージに署名し、すなわち、信頼エンジン110の秘密キー510で暗号化された(ユーザの署名を含む)完全メッセージのハッシュを含め、この署名されたハッシュをベンダに送信する。このメッセージは、ステップ1965でベンダによって受信される。メッセージは、署名された契約書(ユーザの秘密キーを使用して暗号化された契約書のハッシュ)および信頼エンジン110からの受領書(信頼エンジン110の秘密キーを使用して暗号化された、署名された契約書を含むメッセージのハッシュ)を表す。
【0229】
信頼エンジン110は、同様に、ステップ1970でベンダの秘密キーを用いて契約書のハッシュを作成し、信頼エンジン110によって署名されたこれをユーザに転送する。このようにして、ユーザはまた、ステップ1975で、ベンダによって署名された契約書のコピー、ならびに署名された契約書を送達するために信頼エンジン110によって署名された受領書も受信する。
【0230】
前述の内容に加えて、本発明の追加の側面は、上記で説明される信頼エンジン110によって提供される機能にアクセスする手段として、クライアント側アプリケーションに利用可能であり得る、暗号サービスプロバイダモジュール(SPM)を提供する。そのようなサービスを提供する1つの有利な方法は、暗号SPMが、第三者アプリケーションプログラミングインターフェース(API)と、ネットワークまたは他の遠隔接続を介してアクセス可能な信頼エンジン110との間の通信を仲介することである。
図20を参照してサンプル暗号SPMを以下で説明する。
【0231】
例えば、典型的なシステム上で、いくつかのAPIがプログラマに利用可能である。各APIは、システム上で作動するアプリケーション2000によって行われ得る、一式の機能呼び出しを提供する。暗号機能、認証機能、および他のセキュリティ機能に好適なプログラミングインターフェースを提供するAPIの実施例は、そのWindows(登録商標)オペレーティングシステムとともにMicrosoftによって提供される暗号API(CAPI)2010、ならびにIBM、Intel、およびOpen Groupの他のメンバーによって後援される共通データセキュリティアーキテクチャ(CDSA)を含む。CAPIは、以下に続く論議における例示的なセキュリティAPIとして使用される。しかしながら、説明される暗号SPMは、当技術分野で公知であるようなCDSAまたは他のセキュリティAPIとともに使用することができる。
【0232】
このAPIは、呼出しが暗号機能について行われる場合にユーザシステム105またはベンダシステム120によって使用される。これらの機能には、本明細書で説明されるか、または当業者に公知であるように、特定のキーで文書を暗号化すること、文書に署名すること、デジタル証明書を要求すること、署名された文書上の署名を検証すること、およびそのような他の暗号機能等の種々の暗号動作を行うことに関連付けられる要求が含まれ得る。
【0233】
そのような暗号機能は通常、CAPI2010が位置するシステムにローカルで行われる。これは、概して、呼び出される機能が、指紋読取機等のローカルユーザシステム105、またはローカルマシン上で実行されるライブラリを使用してプログラムされるソフトウェア機能のいずれかのリソースの使用を必要とするためである。これらのローカルリソースへのアクセスは通常、暗号機能が実行されるリソースを提供する、上記で参照されるような1つ以上のサービスプロバイダモジュール(SPM)2015、2020によって提供される。そのようなSPMは、暗号化または復号動作を行うソフトウェアライブラリ2015、または生体測定走査デバイス等の特殊ハードウェア2025にアクセスすることが可能なドライバおよびアプリケーション2020を含み得る。CAPI2010がシステム105のアプリケーション2000によって使用され得る機能を提供するのとほぼ同じように、SPM2015、2020は、システム上の利用可能なサービスに関連付けられるより低いレベル機能およびリソースへのアクセスをCAPIに提供する。
【0234】
本発明によれば、信頼エンジン110によって提供される暗号機能にアクセスし、これらの機能を、CAPI2010を通してアプリケーション2000に利用可能にすることが可能である、暗号SPM2030を提供することが可能である。CAPI2010が、SPM2015、2020を通してローカルで利用可能であるリソースにアクセスすることしかできない実施形態と違って、本明細書で説明されるような暗号SPM2030は、所望される動作を行うために、暗号動作の要求を遠隔に位置するネットワークアクセス可能な信頼エンジン110に提出することが可能となる。
【0235】
例えば、アプリケーション2000が、文書に署名すること等の暗号動作の必要性を有する場合、アプリケーション2000は、適切なCAPI2010機能への機能呼出しを行う。CAPI2010は順に、この関数を実行し、SPM2015、2020および暗号SPM2030によってそれに利用可能となるリソースを利用する。デジタル署名機能の場合、暗号SPM2030は、通信リンク125にわたって信頼エンジン110に送信される適切な要求を生成する。
【0236】
暗号SPM2030と信頼エンジン110との間で発生する動作は、任意の他のシステムと信頼エンジン110との間で可能となる同じ動作である。しかしながら、これらの機能は、ユーザシステム105自体の上でローカルに利用可能であるかのように、CAPI2010を通してユーザシステム105に効果的に利用可能となる。しかしながら、通常のSPM2015、2020と違って、機能は、遠隔信頼エンジン110上で実行されており、結果は、通信リンク125にわたって適切な要求に応じて暗号SPM2030に中継される。
【0237】
この暗号SPM2030は、そうでなければ利用可能ではない場合がある、いくつかの動作を、ユーザシステム105またはベンダシステム120に利用可能にする。これらの機能は、文書の暗号化および復号、デジタル証明書の発行、文書のデジタル署名、デジタル署名の検証、および当業者に明白となるようなそのような他の動作を含むが、それらに限られない。
【0238】
別個の実施形態では、本発明は、任意のデータセットに対して本発明のデータセキュア化方法を行うための完全システムを備える。この実施形態のコンピュータシステムは、
図8で示され、本明細書で説明される機能性を備える、データ分割モジュールを備える。本発明の一実施形態では、本明細書ではセキュアなデータパーサと呼ばれることもある、データ分割モジュールは、データ分割、暗号化および復号、再構成または再構築機能性を備える、パーサプログラムまたはソフトウェアスイートを備える。この実施形態はさらに、データ記憶設備または複数のデータ記憶設備を備え得る。データ分割モジュールまたはセキュアなデータパーサは、電子インフラストラクチャ内に、またはそのデータの究極のセキュリティを必要とする任意のアプリケーションへのアドオンとして統合されるクロスプラットフォームソフトウェアモジュールスイートを備える。この解析過程は、任意の種類のデータセットに対して、およびありとあらゆるファイル種類に対して、または、データベースの中で、そのデータベース内のデータの任意の横列、縦列、またはセルに対して動作する。
【0239】
本発明の解析過程は、一実施形態では、モジュラー階層状に設計され得、任意の暗号化過程が、本発明の過程での使用に好適である。本発明の解析および分割過程のモジュラー階層は、1)暗号分割し、分散され、複数の場所でセキュアに記憶される、2)暗号化し、暗号分割し、分散され、複数の場所でセキュアに記憶される、3)暗号化し、暗号分割し、各シェアを暗号化し、次いで、分散され、複数の場所でセキュアに記憶される、および4)暗号化し、暗号分割し、第1のステップで使用されたものとは異なる種類の暗号化を用いて各シェアを暗号化し、次いで、分散され、複数の場所でセキュアに記憶されることを含み得るが、それらに限定されない。
【0240】
過程は、一実施形態では、生成された乱数のコンテンツまたはキーに従ってデータを分割することと、解析および分割データを2つ以上の部分またはシェアに、一実施形態では好ましくは解析および分割データの4つ以上の部分にデータを分割する暗号化で使用される、キーの同じ暗号分割を行うことと、全ての部分を暗号化することと、次いで、プライバシーおよびセキュリティに対する要求者の必要性に応じて、これらの部分を散乱させてデータベースの中へ再び記憶し、または固定または可撤性の名前を付けられたデバイスにそれらを移転させることとを含む。代替として、別の実施形態では、暗号化は、分割モジュールまたはセキュアなデータパーサによるデータセットの分割前に発生し得る。この実施形態で説明されるように処理される元のデータは、暗号化および難読化され、セキュア化される。暗号化された要素の分散は、所望であれば、単一のサーバまたはデータ記憶デバイスを含むが、それらに限定されない、事実上どこにでも、あるいは別個のデータ記憶設備またはデバイスの間にあり得る。暗号化キー管理は、一実施形態では、ソフトウェアスイート内に含まれ、または別の実施形態では、既存のインフラストラクチャまたは任意の他の所望の場所に組み込まれ得る。
【0241】
暗号の分割(暗号分割)は、データをN個のシェアに区分化する。区分化は、個別ビット、ビット、バイト、キロバイト、メガバイト、またはより大きい単位を含む、データの任意のサイズ単位、ならびに、所定であろうと無作為に生成されようと、データ単位サイズの任意のパターンまたは組み合わせにおけるものとなり得る。単位は、無作為または所定の一式の値に基づいて、異なるサイズとなり得る。これは、一連のこれらの単位としてデータを見なすことができることを意味する。このようにして、データ単位自体のサイズは、例えば、データ単位サイズの1つ以上の所定であるか、または無作為に生成されたパターン、順序、または組み合わせを使用することによって、データをよりセキュアにし得る。次いで、単位は、(無作為に、または所定の一式の値によって)N個のシェアに分配される。この分配はまた、シェアにおける単位の順番の入れ替えを伴うこともできる。シェアへのデータ単位の分配は、固定サイズ、所定のサイズ、あるいは所定であるか、または無作為に生成されるデータ単位サイズの1つ以上の組み合わせ、パターン、または順序を含むが、それらに限定されない多種多様な可能な選択に従って行われ得ることが、当業者に容易に明白となるであろう。
【0242】
この暗号分割過程のいくつかの実施形態では、データは、サイズが1、2、3、5、20、50、100、100以上、またはNバイト等の、サイズが任意の好適なバイト数であり得る。この暗号の分割過程または暗号分割の1つの特定の実施例は、データをサイズが23バイトであり、データ単位サイズが1バイトであるように選択され、シェアの数が4になるように選択されるものとすることであろう。各バイトは、4つのシェアのうちの1つに分配される。無作為な分配を仮定すると、それぞれ4つのシェアに対応する1から4の間の値を伴う、一連の23個の乱数(r1、r2、r3乃至r23)を作成するようにキーが取得される。データの単位のそれぞれ(この実施例では、データの23の個別バイト)は、4つのシェアに対応する23個の乱数のうちの1つに関連付けられる。4つのシェアへのデータのバイトの分配は、データの最初のバイトをシェア番号r1の中へ、第2のバイトをシェアr2の中へ、第3のバイトをシェアr3の中へ、乃至データの第23のバイトをシェアr23の中へ配置することによって発生する。データ単位のサイズを含む、多種多様な他の可能ステップ、またはステップの組み合わせ、あるいは一連のステップが、本発明の暗号分割過程で使用され得、上記の実施例は、データを暗号分割するための1つの過程の非限定的な説明であることが、当業者にとって容易に明白となるであろう。元のデータを再作成するために、逆算が行われる。
【0243】
本発明の暗号分割過程の別の実施形態では、暗号分割過程のオプションは、データをその元の形態または使用可能な形態に再構築または回復するためにシェアの一部のみが必要とされるように、シェアにおいて十分な冗長性を提供することである。非限定的な実施例では、暗号分割は、データをその元の形態または使用可能な形態に再構築または回復するために、4つのシェアのうちの3つだけが必要であるように、「4分の3」の暗号分割として行われ得る。これはまた、「N分のM暗号分割」とも呼ばれ、Nはシェアの総数であり、MはNよりも少なくとも1つ少ない。本発明の暗号分割過程では、この冗長性を作成するための多くの可能性があることが、当業者に容易に明白である。
【0244】
本発明の暗号分割過程の一実施形態では、データの各単位は、主要シェアおよびバックアップシェアといった2つのシェアに記憶される。上記で説明される「4分の3」暗号分割過程を使用すると、いずれか1つのシェアが欠落し得、これは、合計4つのシェアのうちの3つだけが必要とされるため、欠落データ単位なしに元のデータを再構築または回復するのに十分である。本明細書で説明されるように、シェアのうちの1つに対応する乱数が生成される。乱数は、データ単位に関連付けられ、キーに基づいて対応するシェアに記憶される。この実施形態では、主要およびバックアップシェア乱数を生成するために、1つのキーが使用される。本発明の暗号分割過程について本明細書で説明されるように、データ単位の数に等しい、0から3の一式の乱数(主要シェア番号とも呼ばれる)が生成される。次いで、データ単位の数に等しい、1から3の別の一式の乱数(バックアップシェア番号とも呼ばれる)が生成される。次いで、データの各単位は、主要シェア番号およびバックアップシェア番号に関連付けられる。代替として、データ単位の数よりも少なく、乱数セットを繰り返す、一式の乱数が生成され得るが、これは機密データのセキュリティを低減する場合がある。主要シェア番号は、どのシェアの中にデータ単位が記憶されるかを決定するために使用される。バックアップシェア番号は、0から3の間の第3のシェア番号を作成するように、主要シェア番号と組み合わせられ、この番号は、どのシェアの中にデータ単位が記憶されるかを決定するために使用される。この実施例では、第3のシェア番号を決定する方程式は、
(主要シェア番号+バックアップシェア番号)MOD 4=第3のシェア番号である。
【0245】
主要シェア番号が0から3の間であり、バックアップシェア番号が1から3の間である、上記で説明される実施形態では、第3のシェア番号が主要シェア番号とは異なることを保証する。これは、データ単位を2つの異なるシェアに記憶させる。本明細書で開示される実施形態に加えて、冗長な暗号分割および非冗長な暗号分割を行う多くの方法があることが、当業者にとって容易に明白である。例えば、各シェア内のデータ単位は、異なるアルゴリズムを使用して入れ替えることができる。このデータ単位入れ替えは、例えば、元のデータがデータ単位に分割される際に、またはデータ単位がシェアの中へ配置された後に、またはシェアが満杯になった後に行われ得る。
【0246】
本明細書で説明される種々の暗号分割過程およびデータ入れ替え過程、ならびに本発明の暗号分割およびデータ入れ替え方法の全ての他の実施形態は、個別ビット、ビット、バイト、キロバイト、メガバイト、またはそれ以上のサイズを含むが、それらに限定されない、任意のサイズのデータ単位で行われ得る。
【0247】
本明細書で説明される暗号分割過程を行うソースコードの一実施形態の実施例は、以下である。
DATA[1:24]−分割されるデータを伴うバイトのアレイ
SHARES[0:3;1:24]−各横列がシェアのうちの1つを表す、2次元アレイRANDOM[1:24]−0から3の範囲のアレイ乱数
S1=1;
S2=1;
S3=1;
S4=1;
For J = 1 to 24 do
Begin
IF RANDOM[J[ ==0 then
Begin
SHARES[1,S1] = DATA [J];
S1 = S1 + 1;
End
ELSE IF RANDOM[J[ ==1 then
Begin
SHARES[2,S2] = DATA [J];
S2 = S2 + 1;
END
ELSE IF RANDOM[J[ ==2 then
Begin
Shares[3,S3] = DATA [J];
S3 = S3 + 1;
End
Else begin
Shares[4,S4] = DATA [J];
S4 = S4 + 1;
End;
END;
本明細書で説明される暗号分割RAID過程を行うソースコードの一実施形態の実施例は、以下である。
【0248】
2組の数を生成し、PrimaryShareは0から3であり、BackupShareは1から3である。次いで、上記で説明される暗号分割と同じ過程を用いて、各データ単位をshare[primaryshare[1]]およびshare[(primaryshare[1]+backupshare[1])mod 4に入れる。この方法は、任意のサイズNにカクダイ縮小可能となり、データを修復するためにN−1個だけのシェアが必要である。
【0249】
暗号化されたデータ要素の回収、再結合、再構築、または再構成は、指紋認識、顔面スキャン、手スキャン、虹彩スキャン、網膜スキャン、耳スキャン、血管パターン認識、またはDNA分析等の生体測定を含むが、それらに限定されない、人の数の認証技法を利用し得る。本発明のデータ分割および/またはパーサモジュールは、所望に応じて多種多様のインフラストラクチャ製品またはアプリケーションに組み込まれ得る。
【0250】
当技術分野で公知である従来の暗号化技術は、データを暗号化し、キーがなければそれを使用不可能にするために使用される、1つ以上のキーに依存する。しかしながら、データは、完全かそのままであり、攻撃の影響を受けやすいままである。本発明のセキュアなデータパーサは、一実施形態では、暗号解析と、暗号化されたファイルの2つ以上の部分またはシェア、別の実施形態では好ましくは4つ以上のシェアへの分割とを行い、暗号化の別の層をデータの各シェアに追加し、次いで、異なる物理的および/または論理的な場所にシェアを記憶することによって、この問題に対処する。データ記憶デバイス等の可撤性デバイスを使用することによって、または別の当事者の制御の下にシェアを置くことによって、1つ以上のデータシェアがシステムから物理的に除去されると、セキュア化されたデータのセキュリティ侵害の可能性が効果的に除去される。
【0251】
本発明のセキュアなデータパーサの一実施形態の実施例、およびどのようにそれが利用され得るかという実施例が、
図21に示され、以下で説明される。しかしながら、本発明のセキュアなデータパーサは、以下の非限定的実施例に加えて、多種多様な方法で利用され得ることが、当業者に容易に明白である。配備オプションとして、一実施形態では、セキュアなデータパーサは、外部セッションキー管理またはセッションキーのセキュアな内部記憶を伴って実装され得る。実装時に、アプリケーションをセキュア化するため、および暗号化目的で使用されるパーサマスターキーが生成される。結果として生じるセキュア化されたデータの中のパーサマスターキーの組み込みは、ワークグループ、企業、または拡張聴衆内の個人によるセキュア化されたデータの共有の融通性を可能にすることも留意されたい。
【0252】
図21に示されるように、本発明のこの実施形態は、解析されたデータとともにセッションマスターキーを記憶するように、データパーサによってデータに対して行われる過程のステップを示す。
【0253】
1.セッションマスターキーを生成し、RS1ストリーム暗号を使用してデータを暗号化する。
【0254】
2.セッションマスターキーのパターンに従って、結果として生じる暗号化されたデータを、解析されたデータの4つのシェアまたは部分に分離する。
【0255】
3.方法のこの実施形態では、セッションマスターキーは、セキュア化されたデータシェアとともにデータ保管場所に記憶される。パーサマスターキーのパターンに従ってセッションマスターキーを分離し、キーデータを暗号化された解析データに付加する。
【0256】
4.データの結果として生じる4つのシェアは、元のデータの暗号化された部分およびセッションマスターキーの複数部分を含む。4つのデータシェアのそれぞれにストリーム暗号キーを生成する。
【0257】
5.各シェアを暗号化し、次いで、暗号化されたデータ部分またはシェアとは異なる場所に暗号化キーを記憶する。シェア1はキー4を得て、シェア2はキー1を得て、シェア3はキー2を得て、シェア4はキー3を得る。
【0258】
元のデータ形式を修復するためには、ステップが逆転される。
【0259】
本明細書で説明される方法のあるステップは、所望に応じて、異なる順番で行われるか、または複数回繰り返され得ることが、当業者に容易に明白である。データの複数部分は相互に異なって処理され得ることも、当業者に容易に明白である。例えば、複数の解析するステップは、解析されるデータの一部分のみで行われ得る。解析されたデータの各部分は、データがその元の形態または他の使用可能な形態に再構築、再構成、再形成、復号、または回復され得るという条件のみで、任意の望ましい方法で一意的にセキュア化され得る。
【0260】
図22に示され、本明細書で説明されるように、本発明の別の実施形態は、1つ以上の別個のキー管理テーブルにセッションマスターキーデータを記憶するように、セキュアなデータパーサによってデータに対して行われる、過程のステップを含む。
【0261】
1.セッションマスターキーを生成し、RS1ストリーム暗号を使用してデータを暗号化する。
【0262】
2.セッションマスターキーのパターンに従って、結果として生じる暗号化されたデータを、解析されたデータの4つのシェアまたは部分に分離する。
【0263】
3.本発明の方法のこの実施形態では、セッションマスターキーは、データ保管場所における別個のキー管理テーブルに記憶される。このトランザクションに一意のトランザクションIDを生成する。トランザクションIDおよびセッションマスターキーを別個のキー管理テーブルに記憶する。パーサマスターキーのパターンに従ってトランザクションIDを分離し、データを暗号化された解析または分離データに付加する。
【0264】
4.データの結果として生じる4つのシェアは、元のデータの暗号化された部分およびトランザクションIDの複数部分を含む。
【0265】
5.4つのデータシェアのそれぞれにストリーム暗号キーを生成する。
【0266】
6.各シェアを暗号化し、次いで、暗号化されたデータ部分またはシェアとは異なる場所に暗号化キーを記憶する。シェア1はキー4を得て、シェア2はキー1を得て、シェア3はキー2を得て、シェア4はキー3を得る。
【0267】
元のデータ形式を修復するためには、ステップが逆転される。
【0268】
本明細書で説明される方法のあるステップは、所望に応じて、異なる順番で行われるか、または複数回繰り返され得ることが、当業者に容易に明白である。データの複数部分は相互に異なって処理され得ることも、当業者に容易に明白である。例えば、複数の分離または解析するステップは、解析されるデータの一部分のみで行われ得る。解析されたデータの各部分は、データがその元の形態または他の使用可能な形態に再構築、再構成、再形成、復号、または回復され得るという条件のみで、任意の望ましい方法で一意的にセキュア化され得る。
【0269】
図23に示されるように、本発明のこの実施形態は、解析されたデータとともにセッションマスターキーを記憶するように、セキュアなデータパーサによってデータに行われる、過程のステップを示す。
【0270】
1.認証されたユーザに関連付けられるパーサマスターキーにアクセスする。
【0271】
2.一意のセッションマスターキーを生成する。
【0272】
3.パーサマスターキーおよびセッションマスターキーの排他的OR関数から中間キーを導出する。
【0273】
4.中間キーを用いて入力される既存または新しい暗号化キーアルゴリズムを使用した、データの随意的な暗号化。
【0274】
5.中間キーのパターンに従って、結果として生じる随意で暗号化されたデータを、解析されたデータの4つのシェアまたは部分に分離する。
【0275】
6.方法のこの実施形態では、セッションマスターキーは、セキュア化されたデータシェアとともにデータ保管場所に記憶される。パーサマスターキーのパターンに従ってセッションマスターキーを分離し、キーデータを随意で暗号化された解析データシェアに付加する。
【0276】
7.データの結果として生じる複数のシェアは、元のデータの随意で暗号化された部分およびセッションマスターキーの複数部分を含む。
【0277】
8.随意で、4つのデータシェアのそれぞれに暗号化キーを生成する。
【0278】
9.随意で、既存または新しい暗号化アルゴリズムを用いて各シェアを暗号化し、次いで、暗号化されたデータ部分またはシェアとは異なる場所に暗号化キーを記憶する。例えば、シェア1はキー4を得て、シェア2はキー1を得て、シェア3はキー2を得て、シェア4はキー3を得る。
【0279】
元のデータ形式を修復するためには、ステップが逆転される。
【0280】
本明細書で説明される方法のあるステップは、所望に応じて、異なる順番で行われるか、または複数回繰り返され得ることが、当業者に容易に明白である。データの複数部分は相互に異なって処理され得ることも、当業者に容易に明白である。例えば、複数の解析するステップは、解析されるデータの一部分のみで行われ得る。解析されたデータの各部分は、データがその元の形態または他の使用可能な形態に再構築、再構成、再形成、復号、または回復され得るという条件のみで、任意の望ましい方法で一意的にセキュア化され得る。
【0281】
図24に示され、本明細書で説明されるように、本発明の別の実施形態は、1つ以上の別個のキー管理テーブルにセッションマスターキーデータを記憶するように、セキュアなデータパーサによってデータに行われる、過程のステップを含む。
【0282】
1.認証されたユーザに関連付けられるパーサマスターキーにアクセスする。
【0283】
2.一意のセッションマスターキーを生成する。
【0284】
3.パーサマスターキーおよびセッションマスターキーの排他的OR関数から中間キーを導出する。
【0285】
4.中間キーを用いて入力される既存または新しい暗号化キーアルゴリズムを使用して、随意でデータを暗号化する。
【0286】
5.中間キーのパターンに従って、結果として生じる随意で暗号化されたデータを、解析されたデータの4つのシェアまたは部分に分離する。
【0287】
6.本発明の方法のこの実施形態では、セッションマスターキーは、データ保管場所で別個のキー管理テーブルに記憶される。このトランザクションに一意のトランザクションIDを生成する。トランザクションIDおよびセッションマスターキーを別個のキー管理テーブルに記憶するか、または外部管理のためにセッションマスターキーおよびトランザクションIDを呼び出しプログラムに戻す。パーサマスターキーのパターンに従ってトランザクションIDを分離し、データを随意で暗号化された解析または分離データに付加する。
【0288】
7.データの結果として生じる4つのシェアは、元のデータの随意で暗号化された部分およびトランザクションIDの複数部分を含む。
【0289】
8.随意で、4つのデータシェアのそれぞれに暗号化キーを生成する。
【0290】
9.随意で、各シェアを暗号化し、次いで、暗号化されたデータ部分またはシェアとは異なる場所に暗号化キーを記憶する。例えば、シェア1はキー4を得て、シェア2はキー1を得て、シェア3はキー2を得て、シェア4はキー3を得る。
【0291】
元のデータ形式を修復するためには、ステップが逆転される。
【0292】
本明細書で説明される方法のあるステップは、所望に応じて、異なる順番で行われるか、または複数回繰り返され得ることが、当業者に容易に明白である。データの複数部分は相互に異なって処理され得ることも、当業者に容易に明白である。例えば、複数の分離または解析するステップは、解析されるデータの一部分のみで行われ得る。解析されたデータの各部分は、データがその元の形態または他の使用可能な形態に再構築、再構成、再形成、復号、または回復され得るという条件のみで、任意の望ましい方法で一意的にセキュア化され得る。
【0293】
当業者に容易に明白であるように、多種多様な暗号化方法が、本発明の方法で使用するために好適である。ワンタイムパッドアルゴリズムがしばしば、最もセキュアな暗号化方法のうちの1つと見なされ、本発明の方法で使用するために好適である。ワンタイムパッドアルゴリズムを使用することは、セキュア化されるデータと同じくらいの長さであるキーが生成されることを必要とする。この方法の使用は、セキュア化されるデータセットのサイズにより非常に長いキーの生成および管理をもたらす状況等の、ある状況では、あまり望ましくないことがある。ワンタイムパッド(OTP)アルゴリズムでは、排他的OR関数XORが使用される。同じ長さの2つのバイナリストリームxおよびyについて、x
XOR yは、xおよびyのビットごと排他論理和を意味する。
【0294】
ビットレベルでは、以下が生成される。
0 XOR 0=0
0 XOR 1=1
1 XOR 0=1
1 XOR 1=0
この過程の実施例は、分割されるnバイトの秘密s(またはデータセット)について本明細書で説明される。過程は、nバイトの乱数値aを生成し、次いで、以下を設定する。b=a XOR s
以下の方程式を介して「s」を導出できることに留意されたい。
s=a XOR b
値aおよびbは、シェアまたは部分と呼ばれ、別個の保管場所に配置される。いったん秘密sが2つ以上のシェアに分割されると、セキュアな方式で破棄される。
【0295】
本発明のセキュアなデータパーサは、複数の別個の秘密キー値K1、K2、K3、Kn、K5を組み込む複数のXOR関数を行う、この機能を利用し得る。動作の開始時に、セキュア化されるデータは、第1の暗号化動作を通過させられ、セキュアデータ=データ XOR 秘密キー5:S=D XOR K5である。
【0296】
結果として生じる暗号化されたデータを、例えば、4つのシェアS1、S2、S3、Snにセキュアに記憶するために、データは、K5の値に従って、解析され、「n」個のセグメントに分割され、または共有される。この動作は、元の暗号化されたデータの「n」個の擬似乱数のシェアをもたらす。次いで、後続のXOR関数は、残りの秘密キー値を用いて各シェアで行われ得、例えば、セキュアなデータセグメント1=暗号化されたデータシェア1 XOR 秘密キー1であり、
SD1=S1 XOR K1、
SD2=S2 XOR K2、
SD3=S3 XOR K3、
SDn=Sn XOR Knである。
【0297】
一実施形態では、いずれか1つの保管場所に、そこで保持された情報を復号するのに十分な情報を含めることは所望されない場合があり、よって、シェアを復号するために必要とされるキーは、異なるデータ保管場所に記憶される。
保管場所1:SD1,Kn
保管場所2:SD2,K1
保管場所3:SD3,K2
保管場所n:SDn,K3
加えて、各シェアには、元のセッション暗号化キーK5を回収するために必要とされる情報が付加され得る。したがって、本明細書で説明されるキー管理の実施例では、元のセッションマスターキーは、インストール依存パーサマスターキー(TID1、TID2、TID3、TIDn)のコンテンツに従って、「n」個のシェアに分割されるトランザクションIDによって参照される。
保管場所1:SD1,Kn,TID1
保管場所2:SD2,K1,TID2
保管場所3:SD3,K2,TID3
保管場所n:SDn,K3,TIDn
本明細書で説明される、組み込まれたセッションキーの実施例では、セッションマスターキーは、インストール依存パーサマスターキー(SK1、SK2、SK3、SKn)のコンテンツに従って、「n」個のシェアに分割される。
保管場所1:SD1,Kn,SK1
保管場所2:SD2,K1,SK2
保管場所3:SD3,K2,SK3
保管場所n:SDn,K3,SKn
4つ全てのシェアが回収されない限り、この実施例に従ってデータを再構築することはできない。たとえ4つ全てのシェアが捕捉されても、セッションマスターキーおよびパーサマスターキーにアクセスせずに、元の情報を再構築または回復するという可能性はない。
【0298】
この実施例は、本発明の方法の実施形態を説明しており、また、別の実施形態では、秘密認証材料を形成するよう全ての保管場所からのシェアを組み合わせることができるように、保管場所の中へシェアを配置するために使用されるアルゴリズムも説明する。必要とされる計算は非常に単純かつ迅速である。しかしながら、ワンタイムパッド(OTP)アルゴリズムを用いると、キーサイズが記憶されるデータと同じサイズであるため、セキュア化される大量のデータセット等の、それをあまり望ましくないものにさせる状況があり得る。したがって、ある状況下ではあまり望ましくないことがある、元のデータの量の約2倍を記憶し、伝送する必要性が生じる。
【0299】
(ストリーム暗号RS1)
ストリーム暗号RS1分割技法は、本明細書で説明されるOTP分割技法と非常に類似している。nバイトの乱数値の代わりに、n’=min(n,16)バイトの乱数値が生成され、RS1ストリーム暗号アルゴリズムに入力するために使用される。RS1ストリーム暗号アルゴリズムの利点は、擬似乱数のキーがはるかに小さいシード数から生成されることである。RS1ストリーム暗号暗号化の実行の速度も、セキュリティを損なわずに、当技術分野で周知のTriple DES暗号化の速度の約10倍と評価されている。RS1ストリーム暗号アルゴリズムは、当技術分野で周知であり、XOR関数で使用されるキーを生成するために使用され得る。RS1ストリーム暗号アルゴリズムは、RSA Security, IncのRC4
TMストリーム暗号アルゴリズム等の他の市販のストリーム暗号アルゴリズムとともに相互運用可能であり、本発明の方法で使用するために好適である。
【0300】
上記のキー表記法を使用すると、K1乃至K5はnバイトの乱数値であり、以下のように設定される。
SD1=S1 XOR E(K1)
SD2=S2 XOR E(K2)
SD3=S3 XOR E(K3)
SDn=Sn XOR E(Kn)
式中、E(K1)乃至E(Kn)は、K1乃至Knによって入力されるRS1ストリーム暗号アルゴリズムからの出力の最初のnバイトである。ここで、シェアは本明細書で説明されるようにデータ保管場所の中へ配置されている。
【0301】
このストリーム暗号RS1アルゴリズムでは、必要とされる計算は、OTPアルゴリズムとほぼ同じくらい単純かつ迅速である。RS1ストリーム暗号を使用する、この実施例での有益性としては、システムが、1つのシェアにつきセキュア化される元のデータのサイズより平均で約16バイト多く記憶し、伝送することしか必要としないことである。元のデータのサイズが16バイトより大きい場合、このRS1アルゴリズムは、単純により短いため、OTPアルゴリズムよりも効率的である。RS1、OTP、RC4
TM、Triple DES、およびAESを含むが、それらに限定されない、多種多様な暗号化方法またはアルゴリズムが、本発明で使用するために好適であることが当業者に容易に明白である。
【0302】
従来の暗号化方法に優る、本発明のデータセキュリティ方法およびコンピュータシステムによって提供される主な利点がある。1つの利点は、異なる論理的、物理的、または地理的な場所にあり得る、1つ以上のデータ保管場所または記憶デバイス上の異なる場所にデータのシェアを移動させることから獲得される、セキュリティである。データのシェアは、物理的に分割されて異なる人員の制御の下にあり、例えば、データを損なうという可能性が大きく低減される。
【0303】
本発明の方法およびシステムによって提供される別の利点は、機密データのセキュリティを維持する包括的過程を提供するためのデータをセキュア化することに対する本発明の方法のステップの組み合わせである。データは、セキュアなキーで暗号化され、セキュアなキーに従って、1つ以上のシェア、一実施形態では4つのシェアに分割される。セキュアなキーは、セキュアなキーに従って4つのシェアの中へセキュア化される、参照ポインタを用いてセキュアに記憶される。次いで、データシェアは個別に暗号化され、キーは異なる暗号化されたシェアとともにセキュアに記憶される。組み合わせられると、本明細書で開示される方法に従ってデータをセキュア化するための過程全体が、データセキュリティのための包括的パッケージになる。
【0304】
本発明の方法に従ってセキュア化されるデータは、容易に回収可能であり、使用のためにその元の形態または他の好適な形態に回復され、再構成され、再構築され、復号され、または別様に戻される。元のデータを修復するためには、以下のアイテムが利用され得る。
【0305】
1.データセットの全てのシェアまたは部分。
【0306】
2.データをセキュア化するために使用される方法の過程フローを再現する知識および能力。
【0307】
3.セッションマスターキーへのアクセス。
【0308】
4.パーサマスターキーへのアクセス。
【0309】
したがって、上記の要素のうちの少なくとも1つが、(例えば、異なるシステム管理者の制御下にある)システムの残りの構成要素から物理的に分離され得る、セキュアなインストールを計画することが望ましいことがある。
【0310】
データセキュア化方法アプリケーションを起動する不正アプリケーションからの保護は、パーサマスターキーの使用によって実施され得る。セキュアなデータパーサとアプリケーションとの間の相互認証ハンドシェイクが、本発明のこの実施形態では、任意の措置が講じられる前に必要とされ得る。
【0311】
システムのセキュリティは、元のデータの再作成のための「バックドア」方法がないことを決定付ける。データ復旧問題が発生し得る場合のインストールについて、セキュアなデータパーサは、4つのシェアおよびセッションマスターキー保管場所のミラーを提供するように強化されることができる。RAID(いくつかのディスクにわたって情報を広めるために使用される、安価なディスクの冗長アレイ)等のハードウェアオプションおよび複製等のソフトウェアオプションは、データ復旧計画も支援することができる。
【0312】
(キー管理)
本発明の一実施形態では、データセキュア化方法は、暗号化動作に3組のキーを使用する。各組のキーは、インストールに基づいて、個々のキー記憶、回収、セキュリティ、および復旧オプションを有し得る。使用され得るキーは、以下を含むが、それらに限定されない。
【0313】
(パーサマスターキー)
このキーは、セキュアなデータパーサのインストールに関連付けられる個別キーである。これは、セキュアなデータパーサが配備されているサーバ上にインストールされている。例えば、スマートカード、別個のハードウェアキー記憶、標準キー記憶、カスタムキー記憶、またはセキュア化されたデータベーステーブル内を含むが、それらに限定されない、このキーをセキュア化するために好適な種々のオプションがある。
【0314】
(セッションマスターキー)
セッションマスターキーは、データがセキュア化される度に生成され得る。セッションマスターキーは、解析および分割動作の前にデータを暗号化するために使用される。それはまた、暗号化されたデータを解析する手段として組み込まれ得る(セッションマスターキーが解析されたデータに組み込まれていない場合)。セッションマスターキーは、例えば、標準キー記憶、カスタムキー記憶、別個のデータベーステーブルを含むが、それらに限定されない種々の方式でセキュア化されるか、または暗号化されたシェア内にセキュア化され得る。
【0315】
(シェア暗号化キー)
作成されるデータセットの各シェアまたは部分について、シェアをさらに暗号化するように、個別シェア暗号化キーが生成され得る。シェア暗号化キーは、暗号化されたシェアとは異なるシェアに記憶され得る。
【0316】
本発明のデータセキュア化方法およびコンピュータシステムは、任意の設定または環境で任意の種類のデータに広く適用可能であることが、当業者に容易に明白である。インターネット上で、または顧客とベンダとの間で運営される商用アプリケーションに加えて、本発明のデータセキュア化方法およびコンピュータシステムは、非商用または私的設定または環境に高度に適用可能である。未承認ユーザから保護されることが所望されるデータセットが、本明細書で説明される方法およびシステムを使用してセキュア化され得る。例えば、企業または組織内の特定のデータベースへのアクセスは、データをセキュア化するための本発明の方法およびシステムを採用することによって、選択されたユーザのみに有利に制限され得る。別の実施例は、文書の生成、修正、またはアクセスであり、アクセスを制限すること、あるいは未承認または偶発的アクセス、もしくは選択された個人、コンピュータ、またはワークステーションのグループ外の開示を防止することが所望される。本発明のデータセキュア化の方法およびシステムが、任意の非商用または商用環境または設定に適用可能である、方法のこれらの実施例および他の実施例は、任意の組織、政府機関、または企業を含むがそれらに限定されない、任意の設定用である。
【0317】
本発明の別の実施形態では、データセキュア化方法は、暗号化動作に3組のキーを使用する。各組のキーは、インストールに基づいて、個々のキー記憶、回収、セキュリティ、および復旧オプションを有し得る。使用され得るキーは、以下を含むが、それらに限定されない。
【0318】
(1.パーサマスターキー)
このキーは、セキュアなデータパーサのインストールに関連付けられる個別キーである。これは、セキュアなデータパーサが配備されているサーバ上にインストールされている。例えば、スマートカード、別個のハードウェアキー記憶、標準キー記憶、カスタムキー記憶、またはセキュア化されたデータベーステーブル内を含むが、それらに限定されない、このキーをセキュア化するために好適な種々のオプションがある。
【0319】
(2.セッションマスターキー)
セッションマスターキーは、データがセキュア化される度に生成され得る。セッションマスターキーは、中間キーを導出するためのパーサマスターキーと併せて使用される。セッションマスターキーは、例えば、標準キー記憶、カスタムキー記憶、別個のデータベーステーブルを含むが、それらに限定されない種々の方式でセキュア化されるか、または暗号化されたシェア内にセキュア化され得る。
【0320】
(3.中間キー)
中間キーは、データがセキュア化される度に生成され得る。中間キーは、解析および分割動作の前にデータを暗号化するために使用される。それはまた、暗号化されたデータを解析する手段として組み込まれ得る。
【0321】
(4.シェア暗号化キー)
作成されるデータセットの各シェアまたは部分について、シェアをさらに暗号化するように、個別シェア暗号化キーが生成され得る。シェア暗号化キーは、暗号化されたシェアとは異なるシェアに記憶され得る。
【0322】
本発明のデータセキュア化方法およびコンピュータシステムは、任意の設定または環境で任意の種類のデータに広く適用可能であることが、当業者に容易に明白である。インターネット上で、または顧客とベンダとの間で運営される商用アプリケーションに加えて、本発明のデータセキュア化方法およびコンピュータシステムは、非商用または私的設定または環境に高度に適用可能である。未承認ユーザから保護されることが所望されるデータセットが、本明細書で説明される方法およびシステムを使用してセキュア化され得る。例えば、企業または組織内の特定のデータベースへのアクセスは、データをセキュア化するための本発明の方法およびシステムを採用することによって、選択されたユーザのみに有利に制限され得る。別の実施例は、文書の生成、修正、またはアクセスであり、アクセスを制限すること、あるいは未承認または偶発的アクセス、もしくは選択された個人、コンピュータ、またはワークステーションのグループ外の開示を防止することが所望される。本発明のデータセキュア化の方法およびシステムが、任意の非商用または商用環境または設定に適用可能である、方法のこれらの実施例および他の実施例は、任意の組織、政府機関、または企業を含むがそれらに限定されない、任意の設定用である。
【0323】
(ワークグループ、プロジェクト、個別PC/ラップトップ、またはクロスプラットフォームデータセキュリティ)
本発明のデータセキュア化方法およびコンピュータシステムはまた、例えば、企業、オフィス、政府機関、または機密データが作成、処理、または記憶される任意の設定で使用される、ワークグループ、プロジェクト、個別PC/ラップトップ、および任意の他のプラットフォームによってデータをセキュア化するのに有用である。本発明は、政府機関全体にわたって、あるいは州または連邦レベルでの政府間での実装のために、米国政府等の組織によって追求されていることが知られている、データをセキュア化する方法およびコンピュータシステムを提供する。
【0324】
本発明のデータセキュア化方法およびコンピュータシステムは、フラットファイルだけでなく、任意の種類のデータフィールド、セット、および/またはテーブルも解析および分割する能力を提供する。加えて、テキスト、ビデオ、画像、生体測定、および音声データを含むがそれらに限定されない、全ての形態のデータが、この過程の下でセキュア化されることが可能である。本発明のデータをセキュア化する方法の拡張性、速度、およびデータスループットは、ユーザが自由に使える状態で有するハードウェアのみに限定される。
【0325】
本発明の一実施形態では、データセキュア化方法は、ワークグループ環境で、以下で説明されるように利用される。一実施形態では、
図23に示され、以下で説明されるように、本発明のワークグループスケールデータセキュア化方法は、ユーザ/グループ関係、およびユーザのグループがセキュアなデータを共有するために必要な関連秘密キー(パーサグループマスターキー)を記憶するために、信頼エンジンの秘密キー管理機能性を使用する。本発明の方法は、パーサマスターキーがどのように配備されたかに応じて、企業、ワークグループ、または個別ユーザのためにデータをセキュア化する能力を有する。
【0326】
一実施形態では、追加のキー管理およびユーザ/グループ管理プログラムが提供され得、運営およびキー管理の単一の点を伴う大規模ワークグループ実装を可能にする。キー生成、管理、および撤回は、単一の維持プログラムによって処理され、その全ては、ユーザの数が増加するにつれて特に重要になる。別の実施形態では、1つまたはいくつかの異なるシステム管理者にわたって設定され、キー管理はまた、いずれか1人の個人またはグループが必要に応じてデータを制御することを可能にしないことがある。これは、セキュア化されたデータの管理が、組織によって定義されるような役割、責務、会員資格、権利等によって得られることを可能にし、セキュア化されたデータへのアクセスは、自分が作業している部分のみへのアクセスでを有することを許可または要求される者のみに限定することができる一方で、マネージャまたは重役等の他者は、セキュア化されたデータの全てにアクセスを有し得る。この実施形態は、承認された所定の役割および責務を伴う者等の、ある選択された個人のみが、データを全体として観察することを可能にしながら、同時に、企業または組織内の異なるグループ間でのセキュア化されたデータの共有を可能にする。加えて、本発明の方法およびシステムのこの実施形態はまた、例えば、別個の企業、または企業の別個の部門あるいは課、または任意の別個の組織部門、グループ、機関、あるいはオフィス、または任意の政府あるいは組織あるいは任意の種類の同等物の間のデータの共有も可能にし、いくらかの共有が必要とされるが、いずれの当事者も全てのデータへのアクセスを有することを許可されない。本発明のそのような方法およびシステムに対する必要性および有用性の特に明白な実施例は、例えば、政府地域、機関、およびオフィス間で、ならびに大企業の異なる課、部門、またはオフィス間での共有を可能にするが、セキュリティを維持することである。
【0327】
より小規模での本発明の方法の適用性の実施例は、以下の通りである。パーサマスターキーが、組織へのセキュアなデータパーサのシリアライゼーションまたはブランディングとして使用される。パーサマスターキーの使用の規模が企業全体からより小さいワークグループに縮小されると、本明細書で説明されるデータセキュア化方法は、ユーザのグループ内でファイルを共有するために使用される。
【0328】
図25に示され、以下で説明される実施例では、組織内の肩書または役割とともに定義される6人のユーザがいる。サイドバーは、ユーザが役割に従って属することができる、5つの可能なグループを表す。矢印は、グループのうちの1つ以上の中のユーザによる会員資格を表す。
【0329】
この実施例で使用するためにセキュアなデータパーサを構成する場合に、システム管理者は、維持プログラムによって、オペレーティングシステムからユーザおよびグループ情報にアクセスする。この維持プログラムは、パーサグループマスターキーを生成し、グループの中での会員資格に基づいてユーザに割り当てる。
【0330】
この実施例では、上級スタッフグループの中に3人のメンバーがいる。このグループについて、措置は以下のようになる。
【0331】
1.上級スタッフグループに対するパーサグループマスターキーにアクセスする(利用可能でない場合はキーを生成する)。
【0332】
2.CEOを上級スタッフグループに関連付けるデジタル証明書を生成する。
【0333】
3.CFOを上級スタッフグループに関連付けるデジタル証明書を生成する。
【0334】
4.マーケティング部長を上級スタッフグループに関連付けるデジタル証明書を生成する。
【0335】
同じ一式の措置が、各グループ、および各グループ内の各メンバーに行われる。維持プログラムが完了すると、パーサグループマスターキーは、グループの各メンバーに対する共有信任状になる。割り当てられたデジタル証明書の撤回は、ユーザが維持プログラムを通してグループから除去される場合に、グループの残りのメンバーに影響を及ぼすことなく、自動的に行われ得る。
【0336】
いったん共有信任状が定義されると、解析および分割過程は同じままになる。ファイル、文書、またはデータ要素がセキュア化される場合、ユーザは、標的グループがデータをセキュア化する場合に使用されるために促される。結果として生じるセキュア化されたデータは、標的グループの他のメンバーのみによってアクセス可能である。本発明の方法およびシステムのこの機能性は、任意の他のコンピュータシステムまたはソフトウェアプラットフォームとともに使用され得、例えば、既存のアプリケーションプログラムに組み込まれるか、またはファイルセキュリティのために独立して使用され得る。
【0337】
暗号化アルゴリズムのうちのいずれか1つまたは組み合わせが、本発明の方法およびシステムで使用するために好適であることが、当業者に容易に明白である。例えば、暗号化ステップは、一実施形態では、多層暗号化スキームを生成するように繰り返され得る。加えて、異なる暗号化アルゴリズムが、多層暗号化スキームの異なる層に適用されるように、異なる暗号化アルゴリズム、または暗号化アルゴリズムの組み合わせが、反復暗号化ステップで使用され得る。そのようなものとして、暗号化スキーム自体が、未承認の使用またはアクセスから機密データをセキュア化するための本発明の方法の構成要素になり得る。
【0338】
セキュアなデータパーサは、内部構成要素として、外部構成要素として、または両方として、エラーチェック構成要素を含み得る。例えば、1つの好適なアプローチでは、本発明によるセキュアなデータパーサを使用して、データの部分が作成されるにつれて、該部分内のデータの完全性を保証するために、ハッシュ値が該部分内で現在の間隔においてとられ、間隔の終わりに付加される。ハッシュ値は、データの予測可能かつ再現可能な数値表現である。データ内の任意のビットが変化した場合、ハッシュ値は異なる。次いで、(セキュアなデータパーサの外部の独立型構成要素として、または内部構成要素としての)走査モジュールが、セキュアなデータパーサによって生成されるデータ部分を走査し得る。各データ部分(または代替として、何らかの間隔に従った、またはランダムあるいは擬似ランダムサンプリングによる、全てよりも少ないデータ部分)は、1つまたは複数の付加されたハッシュ値と比較され、措置が講じられ得る。この措置は、合致する、および合致しない値の報告、合致しない値に対するアラート、またはデータの復旧を誘起する何らかの外部あるいは内部プログラムの起動を含み得る。例えば、データの復旧は、本発明に従って元のデータを生成するために、全てよりも少ない部分が必要とされ得るという概念に基づいて、復旧モジュールを起動することによって行うことができる。
【0339】
任意の他の好適な完全性チェックが、データ部分の全てまたは一部の中のどこかに付加された任意の好適な完全性情報を使用して、実装され得る。完全性情報は、データ部分の完全性を決定するために使用することができる、任意の好適な情報を含み得る。完全性情報の実施例は、任意の好適なパラメータに基づいて(例えば、それぞれのデータ部分に基づいて)計算されるハッシュ値、デジタル署名情報、メッセージ認証コード(MAC)情報、任意の他の好適な情報、またなそれらの任意の組み合わせを含み得る。
【0340】
本発明のセキュアなデータパーサは、任意の好適な用途で使用され得る。すなわち、本明細書で説明されるセキュアなデータパーサは、計算および技術の異なる分野で種々の用途を有する。いくつかのそのような分野を以下で論議する。これらは本質的に例証的にすぎず、任意の他の好適な用途がセキュアなデータパーサを利用し得ることが理解されるであろう。さらに、説明される実施例は、任意の好適な所望を満たすために任意の好適な方法で修正され得る、例証的な実施形態にすぎないことが理解されるであろう。例えば、解析および分割は、ビットによって、バイトによる、キロバイトによる、メガバイトによる、それらの任意の組み合わせによる、または任意の他の好適な単位による等、任意の好適な単位に基づき得る。
【0341】
本発明のセキュアなデータパーサは、セキュアな物理的トークンを実装するために使用され得、それにより、物理的トークンに記憶されたデータは、別の記憶領域に記憶された追加のデータにアクセスするために必要とされ得る。1つの好適なアプローチでは、コンパクトUSBフラッシュドライブ、フロッピー(登録商標)ディスク、光ディスク、スマートカード、または任意の他の好適な物理的トークン等の物理的トークンが、本発明に従って解析されたデータの少なくとも2つの部分のうちの1つを記憶するために使用され得る。元のデータにアクセスするために、USBフラッシュドライブがアクセスされる必要がある。したがって、解析されたデータの一部分を保持するパーソナルコンピュータは、元のデータにアクセスできる前に、添付され、解析されたデータの他の部分を有する、USBフラッシュドライブを有する必要がある。
図26は、この用途を図示する。記憶領域2500は、解析されたデータの一部分2502を含む。解析されたデータの一部分2506を有する、物理的トークン2504は、元のデータにアクセスするために、任意の好適な通信インターフェース2508(例えば、USB、直列、並列、Bluetooth(登録商標)、IR、IEEE 1394、Ethernet(登録商標)、または任意の他の好適な通信インターフェース)を使用して、記憶領域2500に連結される必要がある。これは、例えば、コンピュータ上の機密データが放置され、未承認のアクセス試行の影響を受ける状況で有用である。物理的トークン(例えば、USBフラッシュドライブ)を除去することによって、機密データはアクセス不可能である。物理的トークンを使用するための任意の他の好適なアプローチが使用され得ることが理解されるであろう。
【0342】
本発明のセキュアなデータパーサは、セキュアな認証システムを実装するために使用され得、それにより、セキュアなデータパーサを使用して、ユーザ登録データ(例えば、パスワード、秘密暗号化キー、指紋テンプレート、生体測定データ、または任意の他の好適なユーザ登録データ)が解析および分割される。ユーザ登録データは、解析および分割され得、それにより、1つ以上の部分が、スマートカード、政府共通アクセスカード、任意の好適な物理的記憶デバイス(例えば、磁気または光ディスク、USBキードライブ等)、または任意の他の好適なデバイス上に記憶される。解析されたユーザ登録データの1つ以上の他の部分は、認証を行うシステムに記憶され得る。これは、セキュリティの追加レベルを認証過程に提供する(例えば、生体測定源から取得される生体測定認証情報に加えて、ユーザ登録データも、適切な解析および分割データ部分を介して取得されなければならない)。
【0343】
本発明のセキュアなデータパーサは、各システムのそれぞれの環境でその機能性の使用を提供するために、任意の好適な既存のシステムに組み込まれ得る。
図27は、任意の好適なアプリケーションを実装するためのソフトウェア、ハードウェア、または両方を含み得る、例証的システム2600のブロック図を示す。システム2600は、セキュアなデータパーサ2602が統合構成要素として据え付けられ得る、既存のシステムであり得る。代替として、セキュアなデータパーサ2602は、例えば、その初期設計段階から、任意の好適なシステム2600に統合され得る。セキュアなデータパーサ2600は、システム2600の任意の好適なレベルで統合され得る。例えば、セキュアなデータパーサ2602の存在がシステム2600のエンドユーザには実質的に透明であるように、セキュアなデータパーサ2602は、十分にバックエンドレベルでシステム2600に統合され得る。セキュアなデータパーサ2602は、本発明に従って1つ以上の記憶デバイス2604の間でデータを解析および分割するために使用され得る。それに統合されたセキュアなデータパーサを有する、システムのいくつかの例証的な実施例を以下で論議する。
【0344】
本発明のセキュアなデータパーサは、オペレーティングシステムカーネル(例えば、Linux(登録商標)、Unix(登録商標)、または任意の他の好適な商用あるいは専用オペレーティングシステム)に統合され得る。この統合は、デバイスレベルでデータを保護するために使用され得、それにより、例えば、通常は1つ以上のデバイスに記憶されるデータが、オペレーティングシステムに統合されたセキュアなデータパーサによって、ある数の部分に分離され、1つ以上のデバイス間で記憶される。元のデータがアクセスされるように試行される場合、オペレーティングシステムに統合された適切なソフトウェアが、エンドユーザには透明であり得る方法で、解析されたデータ部分を元のデータに再結合し得る。
【0345】
本発明のセキュアなデータパーサは、任意または全てのサポートされたプラットフォームにわたって、ローカルおよびネットワーク接続されたデータ記憶装置を保護するように、記憶システムの容量マネージャまたは任意の他の好適な構成要素に統合され得る。例えば、セキュアなデータパーサが統合されると、記憶システムは、データ損失から保護するために、(すなわち、元のデータを再構成するために、全てよりも少ない分離されたデータ部分を必要とするという特徴を実装するために使用される)セキュアなデータパーサによって提供される冗長性を利用し得る。セキュアなデータパーサはまた、冗長性を使用するか否かにかかわらず、記憶デバイスに書き込まれた全てのデータが、本発明の解析に従って生成される複数の部分の形態となることを可能にする。元のデータがアクセスされるように試行される場合、記憶システムの容量マネージャまたは他の好適な構成要素に統合された適切なソフトウェアが、エンドユーザには透明であり得る方法で、解析されたデータ部分を元のデータに再結合し得る。
【0346】
1つの好適なアプローチでは、本発明のセキュアなデータパーサは、(ハードウェアまたはソフトウェアとして)RAIDコントローラに統合され得る。これは、ドライブ故障の場合に耐故障性を維持しながら、複数のドライブへのデータのセキュアな記憶を可能にする。
【0347】
本発明のセキュアなデータパーサは、例えば、機密テーブル情報を保護するために、データベースに組み込まれ得る。例えば、1つの好適なアプローチでは、データベース特定のセルに関連付けられるデータ(例えば、個別セル、1つ以上の特定の縦列、1つ以上の特定の横列、それらの任意の組み合わせ、またはデータベーステーブル全体)が、本発明に従って解析および分離され得る(例えば、異なる部分が、1つ以上の場所における1つ以上の記憶デバイス上で、または単一の記憶デバイス上で記憶される)。元のデータを閲覧するために該部分を再結合するアクセスが、従来の認証方法(例えば、ユーザ名およびパスワードクエリ)によって許諾され得る。
【0348】
本発明のセキュアなデータパーサは、移動中のデータ(すなわち、1つの場所から別の場所へのデータの転送)を伴う任意の好適なシステムに組み込まれ得る。そのようなシステムは、例えば、Eメール、ストリーミングデータ放送、および無線(例えば、WiFi)通信を含む。Eメールに関して、1つの好適なアプローチでは、発信メッセージ(すなわち、テキスト、バイナリデータ、または両方(例えば、Eメールメッセージに添付されたファイル)を含む)を解析し、異なる経路に沿って解析されたデータの異なる部分を送信し、したがって、複数のデータのストリームを作成するために、セキュアなデータパーサが使用され得る。これらのデータのストリームのうちのいずれか1つが損なわれた場合、元のデータを生成するために、本発明に従って、該部分のうちの1つより多くの部分が組み合わせられることをシステムが要求し得るので、元のメッセージはセキュアなままである。別の好適なアプローチでは、データの異なる部分は、一部分が取得された場合に、元のデータを生成するのに十分でないことがあるように、連続的に1つの経路に沿って伝達され得る。異なる部分は、意図された受信者の場所に到達し、本発明に従って元のデータを生成するように組み合わせられ得る。
【0349】
図28および29は、そのようなEメールシステムの例証的なブロック図である。
図28は、コンピュータ端末、パーソナルコンピュータ、手持ち式デバイス(例えば、PDA、Blackberry)、携帯電話、コンピュータネットワーク、任意の他の好適なハードウェア、またはそれらの任意の組み合わせ等の任意の好適なハードウェアを含み得る、送信者システム2700を示す。送信者システム2700は、例えば、Eメールメッセージ、バイナリデータファイル(例えば、グラフィック、音声、ビデオ等)、または両方であり得る、メッセージ2704を生成および/または記憶するために使用される。メッセージ2704は、本発明によるセキュアなデータパーサ2702によって解析および分割される。結果として生じたデータ部分は、ネットワーク2708(例えば、インターネット、イントラネット、LAN、WiFi、Bluetooth(登録商標)、任意の他の好適な配線接続または無線通信手段、またはそれらの任意の組み合わせ)上で1つ以上の別個の通信経路2706にわたって受信者システム2710に伝達され得る。データ部分は、時間的に並行して、または代替として、異なるデータ部分の通信間の任意の好適な時間遅延に従って伝達され得る。受信者システム2710は、送信者システム2700に関して上記で説明されるように、任意の好適なハードウェアであり得る。通信経路2706に沿って運ばれる別個のデータ部分は、本発明に従って元のメッセージまたはデータを生成するように、受信者システム2710において再結合される。
【0350】
図29は、コンピュータ端末、パーソナルコンピュータ、手持ち式デバイス(例えば、PDA)、携帯電話、コンピュータネットワーク、任意の他の好適なハードウェア、またはそれらの任意の組み合わせ等の任意の好適なハードウェアを含み得る、送信者システム2800を示す。送信者システム2800は、例えば、Eメールメッセージ、バイナリデータファイル(例えば、グラフィック、音声、ビデオ等)、または両方であり得る、メッセージ2804を生成および/または記憶するために使用される。メッセージ2804は、本発明によるセキュアなデータパーサ2802によって解析および分割される。結果として生じたデータ部分は、ネットワーク2808(例えば、インターネット、イントラネット、LAN、WiFi、Bluetooth(登録商標)、任意の他の好適な通信手段、またはそれらの任意の組み合わせ)上で単一の通信経路2806にわたって受信者システム2810に伝達され得る。データ部分は、互に対して通信経路2806にわたって直列的に伝達され得る。受信者システム2810は、送信者システム2800に関して上記で説明されるように、任意の好適なハードウェアであり得る。通信経路2806に沿って運ばれる別個のデータ部分は、本発明に従って元のメッセージまたはデータを生成するように、受信者システム2810において再結合される。
【0351】
図28および29の配置は例証的にすぎないことが理解される。任意の他の好適な配置が使用され得る。例えば、別の好適なアプローチでは、
図28および29のシステムの特徴が組み合わせられ、それにより、
図28のマルチパスアプローチが使用され、通信経路2706のうちの1つ以上は、
図29との関連で通信経路2806が運ぶように、1つより多くのデータ部分を運ぶために使用され得る。
【0352】
セキュアなデータパーサは、移動中データシステムの任意の好適なレベルで統合され得る。例えば、Eメールシステムとの関連で、セキュアなデータパーサは、ユーザインターフェースレベルで(例えば、Microsoft(登録商標) Outlookに)組み込まれ、その場合、ユーザは、Eメールを使用する場合にセキュアなデータパーサ特徴の使用を制御し得る。代替として、セキュアなデータパーサは、交換サーバ等のバックエンド構成要素で実装され、その場合、メッセージは、ユーザ介入を伴わずに、本発明に従って、自動的に解析され、分割され、異なる経路に沿って伝達され得る。
【0353】
同様に、データ(例えば、音声、ビデオ)のストリーミング放送の場合、発信データは、解析され、それぞれ解析されたデータ部分を含む複数のストリームに分離され得る。複数のストリームは、本発明に従って、1つ以上の経路に沿って伝送され、受信者の場所で再結合され得る。このアプローチの有益性のうちの1つは、単一の通信チャネル上の暗号化されたデータの伝送が後に続く、データの従来の暗号化に関連付けられる比較的大きいオーバーヘッドを回避することである。本発明のセキュアなデータパーサは、移動中のデータが複数の並列ストリームで送信されることを可能にし、速度および効率を増加させる。
【0354】
セキュアなデータパーサは、例えば、有線、無線、または物理的媒体を含む、任意の輸送媒体を通して、移動中の任意の種類のデータの保護および耐故障性のために統合され得ることが理解されるであろう。例えば、ボイスオーバーインターネットプロトコル(VoIP)アプリケーションが、本発明のセキュアなデータパーサを利用し得る。本発明のセキュアなデータパーサを使用して、BlackberriesおよびSmartPhones等の任意の好適な携帯情報端末(PDA)デバイスに対する、またはそれらからの無線または有線データ輸送がセキュア化され得る。ピアツーピアおよびハブベースの無線ネットワークに無線802.11プロトコルを使用した通信、衛星通信、ポイントツーポイント無線通信、インターネットクライアント/サーバ通信、または任意の他の好適な通信は、本発明に従って、セキュアなデータパーサの移動中データ能力を伴い得る。コンピュータ周辺デバイス(例えば、プリンタ、スキャナ、モニタ、キーボード、ネットワークルータ、生体測定認証デバイス(例えば、指紋スキャナ)、または任意の他の好適な周辺デバイス)の間、コンピュータとコンピュータ周辺デバイスとの間、コンピュータ周辺デバイスと任意の他の好適なデバイスとの間、またはそれらの任意の組み合わせでのデータ通信は、本発明の移動中データ特徴を利用し得る。
【0355】
本発明の移動中データ特徴はまた、例えば、別個のルート、媒介物、方法、任意の他の好適な物理的輸送、またはそれらの任意の組み合わせを使用して、セキュアなシェアの物理的輸送に適用され得る。例えば、データの物理的輸送は、デジタル/磁気テープ、フロッピー(登録商標)ディスク、光ディスク、物理的トークン、USBドライブ、可撤性ハードドライブ、フラッシュメモリを伴う家庭用電子デバイス(例えば、Apple IPODまたは他のMP3プレーヤ)、フラッシュメモリ、データを輸送するために使用される任意の他の好適な媒体、またはそれらの任意の組み合わせの上で行われ得る。
【0356】
本発明のセキュアなデータパーサは、障害復旧のための能力を伴うセキュリティを提供し得る。本発明によれば、セキュアなデータパーサによって生成される、分離されたデータの全てよりも少ない部分が、元のデータを回収するために必要であり得る。つまり、記憶されたm個の部分のうち、nは、元のデータを回収するために必要なこれらのm個の部分の最小数であり得、n<=mである。例えば、4つの部分のそれぞれが、他の3つの部分に対して異なる物理的場所に記憶される場合、次いで、この実施例ではn=2であれば、場所のうちの2つが損なわれる場合があり、それにより、データが破壊されるか、またはアクセス不可能であり、元のデータは、他の2つの場所の部分から依然として回収され得る。nまたはmの任意の好適な値が使用され得る。
【0357】
加えて、本発明のm個の特徴のうちのn個が、「2人規則」を作成するために使用され得、それにより、1人の個人または任意の他のエンティティに、機密データであり得るものへの完全なアクセスを信託することを回避し、元のデータを回収するためには、それぞれが本発明のセキュアなデータパーサによって解析された分離されたデータの一部分を有する2つ以上の明確に異なるエンティティが、それらの部分を一緒にすることに同意する必要があり得る。
【0358】
本発明のセキュアなデータパーサは、グループメンバーが、その特定のグループによってアクセスされるように承認された特定の情報にアクセスすることを可能にする、グループ全体のキーをエンティティのグループに提供するために使用され得る。グループキーは、例えば、求められた情報を回収するために、中央に記憶された別の部分と組み合わせられることを要求され得る、本発明によるセキュアなデータパーサによって生成されるデータ部分のうちの1つであり得る。この特徴は、例えば、グループ間のセキュアな協調を可能にする。それは、例えば、専用ネットワーク、仮想プライベートネットワーク、インスタンス、または任意の他の好適なネットワークで適用され得る。
【0359】
このセキュアなデータパーサの使用の具体的な用途は、(すなわち、現在使用されている、比較的実質的な手動過程を伴う多くのネットワークと比較して)例えば、単一のネットワークまたは二重ネットワーク上で各それぞれの国に対して承認されたセキュリティレベルにおいて、日常および機密データを伝達する能力が、多国籍友好政府軍に与えられる、連合情報共有を含む。この能力はまた、未承認の個人が情報を閲覧することを心配する必要なく、(組織内または外の)1人以上の特定の個人によって知られる必要がある情報が、単一のネットワーク上で伝達され得る、企業または他の組織にも適用可能である。
【0360】
別の具体的な用途は、政府システムに対するマルチレベルセキュリティ階層を含む。つまり、本発明のセキュアなデータパーサは、単一のネットワークを使用して、機密情報の異なるレベル(例えば、非機密、機密、秘密、極秘)で政府システムを操作する能力を提供し得る。所望であれば、より多くのネットワークが使用され得る(例えば、極秘には別個のネットワーク)が、本発明は、別個のネットワークが各分類レベルに使用される現在の配置よりも大幅に少ない配置を可能にする。
【0361】
本発明のセキュアなデータパーサの上記の用途の任意の組み合わせが使用され得ることが、理解されるであろう。例えば、グループキー用途は、移動中データセキュリティ用途とともに使用することができる(すなわち、それにより、ネットワーク上で伝達されるデータは、それぞれのグループのメンバーのみによってアクセスすることができ、データが移動中である間に、本発明に従って複数の経路間で分割される(または順次部分で送信される)。
【0362】
本発明のセキュアなデータパーサは、アプリケーションの修正もデータベースの修正も伴わずに、アプリケーションが、異なるデータベース製品に、または異なるデバイスにデータをセキュアに記憶することを可能にするように、任意のミドルウェアアプリケーションに組み込まれ得る。ミドルウェアは、2つの別個かつ既存のプログラムが通信することを可能にする、任意の製品に対する一般用語である。例えば、1つの好適なアプローチでは、組み込まれたセキュアなデータパーサを有するミドルウェアは、特定のデータベースのために書き込まれたプログラムが、カスタムコーディングを伴わずに他のデータベースと通信することを可能にするために使用され得る。
【0363】
本発明のセキュアなデータパーサは、本明細書で論議されるもの等の任意の好適な能力の任意の組み合わせを有して実装され得る。本発明のいくつかの実施形態では、例えば、セキュアなデータパーサが、ある能力のみを有して実装され得る一方で、他の能力は、セキュアなデータパーサと直接または間接的にインターフェース接続される、外部ソフトウェア、ハードウェア、または両方の使用を通して得られ得る。
【0364】
図30は、例えば、セキュアなデータパーサ3000としてのセキュアなデータパーサの例証的な実装を示す。セキュアなデータパーサ3000は、ごく少数の内蔵能力を伴って実装され得る。図示されるように、セキュアなデータパーサ3000は、本発明によるモジュール3002を使用して、データを解析し、データ部分(本明細書ではシェアとも呼ばれる)に分割する内蔵能力を含み得る。セキュアなデータパーサ3000はまた、モジュール3004を使用して、例えば、上記で説明されるn分のm特徴を実装することができるために、冗長性を実施する(すなわち、解析および分割されたデータの全てよりも少ないシェアを使用して、元のデータを再作成する)内蔵能力を含み得る。セキュアなデータパーサ3000はまた、本発明に従って、遠隔場所への通信のため、記憶のため等にデータのシェアがそこから送信される、バッファの中へデータのシェアを配置するモジュール3006を使用する、シェア分配能力を含み得る。任意の他の好適な能力がセキュアなデータパーサ3000に組み込まれ得ることが、理解されるであろう。
【0365】
集約データバッファ3008は、セキュアなデータパーサ3000によって解析および分割される(必ずしもその元の形態ではないが)元のデータを記憶するために使用される、任意の好適なメモリであり得る。分割動作では、集約データバッファ3008は、入力をセキュアなデータパーサ3008に提供する。修復動作では、集約データバッファ3008は、セキュアなデータパーサ3000の出力を記憶するために使用され得る。
【0366】
分割シェアバッファ3010は、元のデータの解析および分割に起因したデータの複数のシェアを記憶するために使用され得る、1つ以上のメモリモジュールであり得る。分割動作では、分割シェアバッファ3010は、セキュアなデータパーサの出力を保持する。修復動作では、分割シェアバッファは、セキュアなデータパーサ3000への入力を保持する。
【0367】
能力の任意の他の好適な配置が、セキュアなデータパーサ3000のために内蔵され得ることが理解されるであろう。任意の追加の特徴が内蔵され得、図示された特徴のうちのいずれかは、除去され、よりロバストにされ、あまりロバストにされず、または任意の好適な方法で修正され得る。バッファ3008および3010は、同様に例証的にすぎず、任意の好適な方法で修正、除去、または追加され得る。
【0368】
ソフトウェア、ハードウェア、または両方で実装される任意の好適なモジュールは、セキュアなデータパーサ3000によって呼び出され得、またはセキュアなデータパーサ3000を呼び出し得る。所望であれば、セキュアなデータパーサ3000に内蔵される能力さえも、1つ以上の外部モジュールに置換され得る。図示されるように、いくつかの外部モジュールは、乱数発生器3012、暗号フィードバックキー発生器3014、ハッシュアルゴリズム3016、任意の1つ以上の種類の暗号化3018、およびキー管理3020を含む。これらは例証的な外部モジュールにすぎないことが理解されるであろう。図示されたものに加えて、またはそれらの代わりに、任意の他の好適なモジュールが使用され得る。
【0369】
暗号フィードバックキー発生器3014は、セキュアなデータパーサ3000の外部で、各セキュアなデータパーサの動作のために、元のセッションキーサイズ(例えば、128、256、512、または1024ビットの値)を、解析および分割されるデータの長さに等しい値に拡張する動作のためのシード値として使用される、一意のキーまたは乱数(例えば、乱数発生器3012を使用して)を生成し得る。例えば、AES暗号フィードバックキー生成アルゴリズムを含む、任意の好適なアルゴリズムが、暗号フィードバックキー生成に使用され得る。
【0370】
アプリケーション層3024(例えば、Eメールアプリケーション、データベースアプリケーション等)へのセキュアなデータパーサ3000およびその外部モジュール(すなわち、セキュアなデータパーサ層3026)の統合を促進するために、例えば、API関数呼び出しを利用し得る、ラッピング層が使用され得る。アプリケーション層3024へのセキュアなデータパーサ層3026の統合を促進するための任意の他の好適な配置が使用され得る。
【0371】
図31は、(例えば、記憶デバイスへの)書き込み、(例えば、データベースフィールドの中の)挿入、または(例えば、ネットワークにわたる)伝送のコマンドがアプリケーション層3024で発行される場合に、
図30の配置がどのように使用され得るかを例証的に示す。ステップ3100では、セキュア化されるデータが識別され、セキュアなデータパーサへ呼び出しが行われる。呼び出しは、ラッパー層3022を通過させられ、ステップ3102では、ラッパー層3022が、ステップ3100で識別された入力データを集約データバッファ3008の中へ流す。また、ステップ3102では、任意の好適なシェア情報、ファイル名、任意の他の好適な情報、またはそれらの任意の組み合わせが記憶され得る(例えば、ラッパー層3022における情報3106として)。次いで、セキュアなデータプロセッサ3000は、本発明に従って集約データバッファ3008から入力として受け取る、データを解析および分割する。それは、分割シェアバッファ3010の中へデータシェアを出力する。ステップ3104では、ラッパー層3022が、記憶された情報3106から、(すなわち、ステップ3102でラッパー3022によって記憶された)任意の好適なシェア情報および(例えば、1つ以上の構成ファイルからの)シェア場所を取得する。次いで、ラッパー層3022は、(分割シェアバッファ3010から取得された)出力シェアを適切に書き込む(例えば、ネットワーク等の上へ伝達される1つ以上の記憶デバイスに書き込まれる)。
【0372】
図32は、(例えば、記憶デバイスからの)読み出し、(例えば、データベースフィールドからの)選択、または(例えば、ネットワークからの)受信が発生する場合に、
図30の配置がどのように使用され得るかを例証的に示す。ステップ3200では、修復されるデータが識別され、セキュアなデータパーサ3000への呼び出しがアプリケーション層3024から行われる。ステップ3202では、ラッパー層3022から、任意の好適なシェア情報が取得され、シェア場所が決定される。ラッパー層3022は、ステップ3200で識別されたデータ部分を、分割シェアバッファ3010の中へロードする。次いで、セキュアなデータパーサ3000は、本発明に従ってこれらのシェアを処理する(例えば、4つのシェアのうちの3つのみが利用可能である場合には、3つだけのシェアを使用して元のデータを修復するために、セキュアなデータパーサ3000の冗長性能力が使用され得る)。次いで、修復されたデータは、集約データバッファ3008に記憶される。ステップ3204では、アプリケーション層3022が、(筆意用であれば)集約データバッファ3008に記憶されたデータを、その元のデータ形式に変換し、その元の形式の元のデータをアプリケーション層3024に提供する。
【0373】
図31に図示された元のデータの解析および分割、ならびに
図32に図示された元のデータへのデータ部分の修復は、例証的にすぎないことが理解されるであろう。図示されたものに加えて、またはそれらの代わりに、任意の他の好適な過程、構成要素、または両方が使用され得る。
【0374】
図33は、本発明の一実施形態による、元のデータを解析し、2つ以上のデータ部分に分割するための例証的な過程フローのブロック図である。図示されるように、解析または分割されることを所望される元のデータは、プレーンテキスト3306である(すなわち、「SUMMIT」という言葉が実施例として使用される)。任意の種類のデータが本発明に従って解析および分割され得ることが理解されるであろう。セッションキー3300が生成される。セッションキー3300の長さが元のデータ3306の長さに適合しない場合には、暗号フィードバックセッションキー3304が生成され得る。
【0375】
1つの好適なアプローチでは、元のデータ3306は、解析、分割、または両方の前に暗号化され得る。例えば、
図33が図示するように、元のデータ3306は、任意の好適な値を用いて(例えば、暗号フィードバックセッションキー3304を用いて、または任意の他の好適な値を用いて)排他的論理和をとられ得る。図示されたXOR技法の代わりに、またはそれに加えて、任意の他の好適な暗号化技法が使用され得ることが理解されるであろう。
図33は、バイトごとの動作に関して図示されているが、動作は、ビットレベルで、または任意の他の好適なレベルで行われ得ることが、さらに理解されるであろう。さらに、所望であれば、どのようなものであれ、元のデータ3306の暗号化が全く存在する必要がないことが理解されるであろう。
【0376】
次いで、結果として生じた暗号化されたデータ(またはいずれの暗号化も行われなかった場合は元のデータ)は、出力バケット(例えば、図示された実施例では4つある)間で暗号化された(または元の)データをどのように分割するかを決定するように、ハッシュ値計算される。図示された実施例では、ハッシングは、バイトによって行われ、暗号フィードバックセッションキー3304の関数である。これは例証的にすぎないことが理解される。ハッシングは、所望であれば、ビットレベルで行われ得る。ハッシングは、暗号フィードバックセッションキー3304のほかに、任意の他の好適な値の関数であり得る。別の好適なアプローチでは、ハッシングは使用される必要がない。むしろ、データを分割するための任意の他の好適な技法が採用され得る。
【0377】
図34は、本発明の一実施形態による、元のデータ3306の2つ以上の解析および分割された部分から元のデータ3306を修復するための例証的過程のブロック図である。過程は、暗号化された元のデータ(または解析および分割の前に暗号化がなかった場合は元のデータ)を修復するように、暗号フィードバックセッションキー3304の関数として(すなわち、
図33の過程とは)逆に該部分のハッシュ値を計算することを伴う。次いで、暗号化キーが、元のデータを修復するために使用され得る(すなわち、図示された実施例では、暗号フィードバックセッションキー3304が、それと暗号化されたデータとの排他的論理和をとることによってXOR暗号化を復号するために使用される)。これは元のデータ3306を修復する。
【0378】
図35は、ビット分割がどのように
図33および34の実施例で実装され得るかを示す。データの各バイトを分割するビット値を決定するために、ハッシュが使用され得る(例えば、暗号フィードバックセッションキーの関数として、任意の他の好適な値の関数として)。これは、ビットレベルで分割を実装する1つの例証的な方法にすぎないことが理解されるであろう。任意の他の好適な技法が使用され得る。
【0379】
本明細書で行われるハッシュ機能性への言及は、任意の好適なハッシュアルゴリズムに関して行われ得ることが理解されるであろう。これらは、例えば、MD5およびSHA−1を含む。異なるハッシュアルゴリズムが、異なる場合に、かつ本発明の異なる構成要素によって使用され得る。
【0380】
上記の例証的な手順に従って、または任意の他の手順あるいはアルゴリズムを通して、分割点が決定された後、どのデータ部分を左右のセグメントの各々に付加するかに関して決定が行われ得る。任意の好適なアルゴリズムが、この決定を行うために使用され得る。例えば、1つの好適なアプローチでは、(例えば、左セグメントおよび右セグメントに対する宛先の対合の形態で)全ての可能な分配のテーブルが作成され、それにより、生成され、元のデータのサイズまで拡張され得る、セッションキー、暗号フィードバックセッションキー、または任意の他の好適な乱数または擬似乱数値の中の対応するデータに任意の好適なハッシュ関数を使用することによって、左右のセグメントの各々に対する宛先シェア値が決定され得る。例えば、乱数または擬似乱数値の中の対応するバイトのハッシュ関数が作られ得る。ハッシュ関数の出力は、全ての宛先の組み合わせのテーブルから、どの宛先の対合を選択するか(すなわち、左のセグメントに1つ、および右のセグメントに1つ)を決定するために使用される。この結果に基づいて、分割されたデータ単位の各セグメントは、ハッシュ関数の結果として選択されるテーブル値によって示される、それぞれの2つのシェアに付加される。
【0381】
冗長性情報は、全てよりも少ないデータ部分を使用して、元のデータの修復を可能にするように、本発明に従ってデータ部分に付加され得る。例えば、4つの部分のうちの2つがデータの修復のために十分となるように所望される場合には、シェアからの追加のデータは、例えば、ラウンドロビン方式で、それに応じて各シェアに付加され得る(例えば、元のデータのサイズが4MBである場合には、シェア1が自身のシェアならびにシェア2および3のシェアを得、シェア2が自身のシェアならびにシェア3および4のシェアを得、シェア3が自身のシェアならびにシェア4および1のシェアを得、シェア4が自身のシェアならびにシェア1および2のシェアを得る)。任意のそのような好適な冗長性が本発明に従って使用され得る。
【0382】
本発明に従って、元のデータセットからデータ部分を生成するために、任意の他の好適な解析および分割アプローチが使用され得ることが理解されるであろう。例えば、解析分割は、ビットごとに無作為または擬似無作為に処理され得る。乱数または擬似乱数値が使用され得(例えば、セッションキー、暗号フィードバックセッションキー等)、それにより、元のデータの中の各ビットについて、乱数または擬似乱数値の中の対応するデータに対するハッシュ関数の結果は、どのシェアにそれぞれのビットを付加するかを示し得る。1つの好適なアプローチでは、ハッシュ関数が、元のデータの各ビットに関する乱数または擬似欄数値の対応するバイトに対して行われ得るように、乱数または擬似欄数値は、元のデータのサイズの8倍として生成されるか、または8倍まで拡張され得る。ビットごとのレベルでデータを解析および分割するための任意の他の好適なアルゴリズムが、本発明に従って使用され得る。さらに、本発明に従って、例えば、直上で説明される方式等で、冗長性データがデータシェアに付加され得ることが理解されるであろう。
【0383】
1つの好適なアプローチでは、解析および分割は、無作為または擬似無作為である必要はない。むしろ、データを解析および分割するための任意の好適な決定論アルゴリズムが使用され得る。例えば、元のデータを順次シェアに細分化することが、解析および分割アルゴリズムとして採用され得る。別の実施例は、ラウンドロビン方式で連続的に各ビットをデータシェアに付加して、ビットごとに元のデータを解析および分割することである。さらに、本発明に従って、例えば、直上で説明される方式等で、冗長性データがデータシェアに付加され得ることが理解されるであろう。
【0384】
本発明の一実施形態では、セキュアなデータパーサが元のデータのいくつかの部分を生成した後に、元のデータを修復するために、生成された部分のうちのある1つ以上が必須であり得る。例えば、該部分のうちの1つが認証シェア(例えば、物理的トークンデバイス上に保存されている)として使用され、かつ、セキュアなデータパーサの耐故障性特徴が使用されている場合(すなわち、全てよりも少ない部分が元のデータを修復するために必要である)、たとえセキュアなデータパーサが、元のデータを修復するために元のデータの十分な数の部分へのアクセスを有し得る場合にも、元のデータを修復する前に物理的トークンデバイス上に記憶された認証シェアを必要とし得る。例えば、アプリケーション、データの種類、ユーザ、任意の他の好適な因子、またはそれらの任意の組み合わせに応じて、任意の数および種類の特定のシェアが必要とされ得ることが理解されるであろう。
【0385】
1つの好適なアプローチでは、セキュアなデータパーサまたはセキュアなデータパーサにとっての何らかの外部構成要素が、元のデータの1つ以上の部分を暗号化し得る。暗号化された部分は、元のデータを修復するために提供および複合されることを必要とされ得る。異なる暗号化された部分が、異なる暗号化キーで暗号化され得る。例えば、この特徴は、よりセキュアな「2人規則」を実装するために使用され得、それにより、第1のユーザは、第1の暗号化を使用して、特定のシェアを暗号化する必要があり、第2のユーザは、第2の暗号化キーを使用して、特定のシェアを暗号化する必要がある。元のデータにアクセスするために、両方のユーザは、それぞれの暗号化キーを有し、元のデータのそれぞれの部分を提供する必要がある。1つの好適なアプローチでは、元のデータを修復するために必要とされる必須シェアであり得る、1つ以上のデータ部分を暗号化するために、公開キーが使用され得る。次いで、元のデータに修復するために使用されるシェアを復号するために秘密キーが使用され得る。
【0386】
全てよりも少ないシェアが元のデータを修復するために必要とされる、必須シェアを利用する任意のそのような好適なパラダイムが使用され得る。
【0387】
本発明の1つの好適な実施形態では、統計的に、データの任意の特定のシェアがデータの特定の単位を受信する確率が、残りのシェアのうちの任意の1つが該データの単位を受信する確率に等しいように、データの有限数のシェアの中へのデータの分配が、無作為または擬似無作為に処理され得る。結果として、データの各シェアは、ほぼ等しい量のデータビットを有する。
【0388】
本発明の別の実施形態によれば、データの有限数のシェアの各々は、元のデータの解析および分割からデータの単位を受信する等しい確率を有する必要はない。むしろ、ある1つ以上のシェアが、残りのシェアよりも高いまたは低い確率を有し得る。結果として、あるシェアは、ビットサイズに関して、他のシェアに対してより大きいか、または小さいことがある。例えば、2つのシェアのシナリオでは、1つのシェアが、データの単位を受信する1%の確率を有し得る一方で、第2のシェアは、99%の確率を有する。したがって、いったんデータ単位が2つのシェア間でセキュアなデータパーサによって分配されると、第1のシェアはデータの約1%を有し、第2のシェアは99%を有するはずである。任意の好適な確率が、本発明に従って使用され得る。
【0389】
セキュアなデータパーサは、セキュアな(またはほぼセキュアな)パーセンテージに従ってデータをシェアに分配するようにプログラムされ得ることが理解されるであろう。例えば、セキュアなデータパーサは、データの80%を第1のシェアに、データの残りの20%を第2のシェアに分配するようにプログラムされ得る。
【0390】
本発明の別の実施形態によれば、セキュアなデータパーサは、データシェアを生成し得、そのうちの1つ以上は所定のサイズを有する。例えば、セキュアなデータパーサは、元のデータを、データ部分のうちの1つが正確に256ビットであるデータ部分に分割し得る。1つの好適なアプローチでは、必要サイズを有するデータ部分を生成することが可能ではない場合には、セキュアなデータパーサが、該部分を正しいサイズにするように水増しし得る。任意の好適なサイズが使用され得る。
【0391】
1つの好適なアプローチでは、データ部分のサイズは、暗号化キー、分割キー、任意の他の好適なキー、または任意の他の好適なデータ要素のサイズであり得る。
【0392】
以前に論議されたように、セキュアなデータパーサは、データの解析および分割においてキーを使用し得る。明確かつ簡略にする目的で、これらのキーは、本明細書では「分割キー」と呼ばれるものとする。例えば、以前に紹介されたセッションマスターキーは、一種の分割キーである。また、以前に論議されたように、分割キーは、セキュアなデータパーサによって生成されるデータのシェア内にセキュア化され得る。分割キーをセキュア化するための任意の好適なアルゴリズムが、データのシェア間でそれらをセキュア化するために使用され得る。例えば、Shamirアルゴリズムが分割キーをセキュア化するために使用され得、それにより、分割キーを再構成するために使用され得る情報が生成され、データのシェアに付加される。任意の他のそのような好適なアルゴリズムが、本発明に従って使用され得る。
【0393】
同様に、任意の好適な暗号化キーが、Shamirアルゴリズム等の任意の好適なアルゴリズムに従って、データの1つ以上のシェア内にセキュア化され得る。例えば、解析および分割前にデータセットを暗号化するために使用される暗号化キー、解析および分割後にデータ部分を暗号化するために使用される暗号化キー、または両方が、例えば、Shamirアルゴリズムまたは任意の他の好適なアルゴリズムを使用してセキュア化され得る。
【0394】
本発明の一実施形態によれば、分割キー、暗号化キー、任意の他の好適なデータ要素、またはそれらの任意の組み合わせを変換することによって、データをさらにセキュア化するために、Full Package Transform等のAll or Nothing Transform(AoNT)が使用され得る。例えば、本発明に従って解析および分割前にデータセットを暗号化するために使用される暗号化キーは、AoNT アルゴリズムによって変換され得る。次いで、変換された暗号化キーは、例えば、Shamirアルゴリズムまたは任意の他の好適なアルゴリズムに従って、データシェア間で分配され得る。暗号化キーを再構成するためには、当業者に周知であるように、AoNTに従った変換に関する必要な情報にアクセスするために、暗号化されたデータセットが修復されなければならない(例えば、冗長性が本発明に従って使用された場合、必ずしも全てのデータシェアを使用するとは限らない)。元の暗号化キーが回収されると、暗号化されたデータセットを復号して元のデータセットを回収するために使用され得る。本発明の耐故障性特徴は、AoNT特徴と併せて使用され得ることが理解されるであろう。すなわち、暗号化されたデータセットを修復するために、全てよりも少ないデータ部分が必要であるように、冗長性データがデータ部分に含まれ得る。
【0395】
解析および分割前のデータセットに対応する暗号化およびそれぞれの暗号化キーのAoNTの代わりに、またはそれに加えて、解析および分割後にデータ部分を暗号化するために使用される暗号化キーに、AoNTが適用され得ることが理解されるであろう。同様に、AoNTは、分割キーに適用され得る。
【0396】
本発明の一実施形態では、本発明に従って使用されるような暗号化キー、分割キー、または両方は、追加レベルのセキュリティをセキュア化されたデータセットに提供するために、例えば、ワークグループキーを使用して、さらに暗号化され得る。
【0397】
本発明の一実施形態では、セキュアなデータパーサがデータを分割するように起動される時はいつでも追跡する、オーディットモジュールが提供され得る。
【0398】
図36は、本発明による、セキュアなデータパーサの構成要素を使用するための可能なオプション3600を図示する。オプションの各組み合わせは、以下で概説され、
図36からの適切なステップ番号で標識される。セキュアなデータパーサは、本質的にモジュール式であり、任意の公知のアルゴリズムが
図36に示された機能ブロックのそれぞれの中で使用されることを可能にする。例えば、Blakely等の他のキー分割(例えば、秘密共有)アルゴリズムが、Shamirの代わりに使用され得、またはAES暗号化を、Triple DES等の他の公知の暗号化アルゴリズムに置換することができる。
図36の実施例に示された標識は、本発明の一実施形態で使用するためのアルゴリズムの1つの可能な組み合わせを描写するにすぎない。任意の好適なアルゴリズムまたはアルゴリズムの組み合わせが、標識されたアルゴリズムの代わりに使用され得ることを理解されたい。
【0399】
1)3610、3612、3614、3615、3616、3617、3618、3619
ステップ3610で以前に暗号化されたデータを使用して、データは、最終的に所定数のシェアに分割され得る。分割アルゴリズムがキーを必要とする場合、暗号でセキュアな擬似乱数発生器を使用して、分割暗号化キーがステップ3612で生成され得る。分割暗号化キーは、随意で、ステップ3615で耐故障性を伴う所定数のシェアにキー分割される前に、All or Nothing Transform(AoNT)を使用して、ステップ3614で変換分割キーに変換され得る。次いで、データは、ステップ3616で所定数のシェアに分割され得る。総数よりも少ないシェアからのデータの再生を可能にするために、耐故障スキームがステップ3617で使用され得る。いったんシェアが作成されると、認証/完全性情報がステップ3618でシェアに埋め込まれ得る。各シェアは、随意で、ステップ3619で事後暗号化され得る。
【0400】
2)3111、3612、3614、3615、3616、3617、3618、3619
いくつかの実施形態では、ユーザまたは外部システムによって提供される暗号化キーを使用して、入力データが暗号化され得る。外部キーがステップ3611で提供される。例えば、キーは、外部キー記憶から提供され得る。分割アルゴリズムがキーを必要とする場合、暗号でセキュアな擬似乱数発生器を使用して、分割暗号化キーがステップ3612で生成され得る。分割キーは、随意で、ステップ3615で耐故障性を伴う所定数のシェアにキー分割される前に、All or Nothing Transform(AoNT)を使用して、ステップ3614で変換分割暗号化キーに変換され得る。次いで、データは、ステップ3616で所定数のシェアに分割される。総数よりも少ないシェアからのデータの再生を可能にするために、耐故障スキームがステップ3617で使用され得る。いったんシェアが作成されると、認証/完全性情報がステップ3618でシェアに埋め込まれ得る。各シェアは、随意で、ステップ3619で事後暗号化され得る。
【0401】
3)3612、3613、3614、3615、3612、3614、3615、3616、3617、3618、3619
いくつかの実施形態では、データを変換するように、暗号でセキュアな擬似乱数発生器を使用して、暗号化キーがステップ3612で生成され得る。生成された暗号化キーを使用したデータの暗号化は、ステップ3613で発生し得る。暗号化キーは、随意で、All or Nothing Transform(AoNT)を使用して、ステップ3614で変換暗号化キーに変換され得る。次いで、変換暗号化キーおよび/または生成された暗号化キーは、ステップ3615で耐故障性を伴う所定数のシェアに分割され得る。分割アルゴリズムがキーを必要とする場合、暗号でセキュアな擬似乱数発生器を使用した、分割暗号化キーの生成が、ステップ3612で発生し得る。分割キーは、随意で、ステップ3615で耐故障性を伴う所定数のシェアにキー分割される前に、All or Nothing Transform(AoNT)を使用して、ステップ3614で変換分割暗号化キーに変換され得る。次いで、データは、ステップ3616で所定数のシェアに分割され得る。総数よりも少ないシェアからのデータの再生を可能にするために、耐故障スキームがステップ3617で使用され得る。いったんシェアが作成されると、認証/完全性情報がステップ3618でシェアに埋め込まれる。次いで、各シェアは、随意で、ステップ3619で事後暗号化され得る。
【0402】
4)3612、3614、3615、3616、3617、3618、3619
いくつかの実施形態では、データは、所定数のシェアに分割され得る。分割アルゴリズムがキーを必要とする場合、暗号でセキュアな擬似乱数発生器を使用した、分割暗号化キーの生成が、ステップ3612で発生し得る。分割キーは、随意で、ステップ3615で耐故障性を伴う所定数のシェアにキー分割される前に、All or Nothing Transform(AoNT)を使用して、ステップ3614で変換分割キーに変換され得る。次いで、データは、ステップ3616で分割され得る。総数よりも少ないシェアからのデータの再生を可能にするために、耐故障スキームがステップ3617で使用され得る。いったんシェアが作成されると、認証/完全性情報がステップ3618でシェアに埋め込まれ得る。各シェアは、随意で、ステップ3619で事後暗号化され得る。
【0403】
オプションの上記の4つの組み合わせが、好ましくは本発明のいくつかの実施形態で使用されるが、特徴、ステップ、またはオプションの任意の他の好適な組み合わせが、他の実施形態でセキュアなデータパーサとともに使用され得る。
【0404】
セキュアなデータパーサは、物理的な分離を促進することによって、融通性のあるデータ保護を提供し得る。データは、最初に暗号化され、次いで、「N分のM」耐故障性を伴うシェアに分割され得る。これは、総数よりも少ないシェアが利用可能である時に元の情報の再生を可能にする。例えば、いくつかのシェアが、伝送中に損失または破損される場合がある。損失または破損したシェアは、以下でより詳細に論議されるように、シェアに付加された耐故障性または完全性情報から再作成され得る。
【0405】
シェアを作成するために、いくつかのキーが、随意で、セキュアなデータパーサによって利用される。これらのキーは、以下のうちの1つ以上を含み得る。
【0406】
事前暗号化キー:シェアの事前暗号化が選択されると、外部キーがセキュアなデータパーサに渡され得る。このキーは、生成されて外部でキー記憶(または他の場所)に記憶され得、随意で、データ分割前にデータを暗号化するために使用され得る。
【0407】
分割暗号化キー:このキーは、内部で生成され、分割前にデータを暗号化するためにセキュアなデータパーサによって使用され得る。次いで、このキーは、キー分割アルゴリズムを使用して、シェア内にセキュアに記憶され得る。
【0408】
分割セッションキー:このキーは、暗号化アルゴリズムとともに使用されない。むしろ、無作為分割が選択された場合に、データ区分化アルゴリズムに入力するために使用され得る。無作為分割が使用される場合に、分割セッションキーが内部で生成され、データをシェアに区分化するためにセキュアなデータパーサによって使用され得る。このキーは、キー分割アルゴリズムを使用して、シェア内にセキュアに記憶され得る。
【0409】
事後暗号化キー:シェアの事後暗号化が選択されると、外部キーがセキュアなデータパーサに渡され、個別シェアを事後暗号化するために使用され得る。このキーは、生成され、外部からキー記憶または他の好適な場所に記憶され得る。
【0410】
いくつかの実施形態では、このようにして、セキュアなデータパーサを使用してデータがセキュア化されると、必要なシェアおよび外部暗号化キーの全てが存在するならば、情報が再構築されるのみであり得る。
【0411】
図37は、いくつかの実施形態で本発明のセキュアなデータパーサを使用するための例証的な概観過程3700を示す。上記で説明されるように、セキュアなデータパーサ3706の2つの適切な機能は、暗号化3702およびバックアップ3704を含む。そのようなものとして、セキュアなデータパーサ3706は、いくつかの実施形態では、RAIDまたはバックアップシステム、あるいはハードウェアまたはソフトウェア暗号化エンジンと一体化され得る。
【0412】
セキュアなデータパーサ3706に関連付けられる主要なキー過程は、事前暗号化過程3708、暗号化/変換過程3710、キーセキュア化過程3712、解析/分配過程3714、耐故障性過程3716、共有認証過程3716、および事後暗号化過程3720のうちの1つ以上を含み得る。これらの過程は、
図36で詳述されるように、いくつかの好適な順番または組み合わせで実行され得る。使用される過程の組み合わせおよび順番は、特定の用途または使用、所望されるセキュリティのレベル、随意的な事後暗号化、事後暗号化、または両方が所望されるかどうか、所望される冗長性、基礎または統合システムの能力または性能、あるいは任意の他の好適な因子または因子の組み合わせに依存し得る。
【0413】
例証的過程3700の出力は、2つ以上のシェア3722であり得る。上記で説明されるように、いくつかの実施形態では、データは、無作為に(または擬似無作為に)これらのシェアのそれぞれに分配され得る。他の実施形態では、決定論アルゴリズム(または無作為、擬似無作為、および決定論アルゴリズムの何らかの好適な組み合わせ)が使用され得る。
【0414】
情報資産の個別保護に加えて、時には、関心のユーザまたはコミュニティの異なるグループ間で情報を共有する要件がある。次いで、そのユーザのグループ内の個別シェアへのアクセスを制御すること、またはグループのメンバーがシェアを再構築することのみを可能にする信任状を、これらのユーザ間で共有することが必要であり得る。この目的を達成するために、本発明のいくつかの実施形態では、ワークグループキーがグループメンバーに配備され得る。ワークグループキーのセキュリティ侵害が、グループ外部の者が情報にアクセスすることを潜在的に可能にする場合があるため、ワークグループキーは保護され、内密にされるべきである。ワークグループキーの配備および保護のためのいくつかのシステムおよび方法を以下で論議する。
【0415】
ワークグループキー概念は、シェア内に記憶されたキー情報を暗号化することによって、情報資産の強化された保護を可能にする。いったんこの動作が行われると、たとえ全ての必要なシェアおよび外部キーが発見されたとしても、ワークグループキーにアクセスすることなく、攻撃者が情報を再作成する望みはない。
【0416】
図38は、シェア内にキーおよびデータ構成要素を記憶するための例証的なブロック
図3800を示す。略
図3800の実施例では、随意的な事前暗号化および事後暗号化ステップが省略されるが、これらのステップは他の実施形態に含まれ得る。
【0417】
データを分割するための簡略化した過程は、暗号化段階3802で暗号化キー3804を使用してデータを暗号化することを含む。次いで、暗号化キー3804の複数部分が、本発明に従って分割され、シェア3810内に記憶され得る。分割暗号化キー3806の複数部分もまた、シェア3810内に記憶され得る。次いで、分割暗号化キーを使用して、データ3808が分割され、シェア3810に記憶される。
【0418】
データを修復するために、分割暗号化キー3806が、本発明に従って回収され、修復され得る。次いで、分割動作は、暗号文を修復するように逆転され得る。暗号化キー3804も回収および修復され得、次いで、暗号化キーを使用して、暗号文が復号され得る。
【0419】
ワークグループキーが利用される場合に、上記の過程は、ワークグループキーで暗号化キーを保護するように、わずかに変更され得る。次いで、暗号化キーは、シェア内に記憶される前にワークグループキーで暗号化され得る。修正されたステップが、
図39の例証的なブロック
図3900に示されている。
【0420】
ワークグループキーを使用してデータを分割するための簡略化した過程は、段階3902で暗号化キーを使用して最初にデータを暗号化することを含む。次いで、暗号化キーは、段階3904においてワークグループキーで暗号化され得る。次いで、ワークグループキーで暗号化された暗号化キーは、複数部分に分割され、シェア3912に記憶され得る。分割キー3908もまた、分割され、シェア3912に記憶され得る。最終的に、分割キー3908を使用して、データ部分3910が分割され、シェア3912に記憶される。
【0421】
データを修復するために、分割キーが、本発明に従って回収され、修復され得る。次いで、分割動作は、本発明に従って、暗号文を修復するように逆転され得る。(ワークグループキーで暗号化された)暗号化キーが回収および修復され得る。次いで、ワークグループキーを使用して、暗号化キーが復号され得る。最終的に、暗号化キーを使用して、暗号文が復号され得る。
【0422】
ワークグループキーを配備し、保護するためのいくつかのセキュアな方法がある。特定の用途にどの方法を使用するかという選択は、いくつかの因子に依存する。これらの因子は、必要とされるセキュリティレベル、費用、利便性、およびワークグループの中のユーザの数を含み得る。いくつかの実施形態で使用される、いくつかの一般的に使用されている技法を以下に規定する。
【0423】
(ハードウェアベースのキー記憶)
ハードウェアベースのソリューションは、概して、暗号化システムにおける暗号化/復号キーのセキュリティの最強の保証を提供する。ハードウェアベースのキー記憶ソリューションの実施例は、携帯用デバイス(例えば、スマートカード/ドングル)または非携帯用キー記憶周辺機器にキーを記憶する、改ざん防止キートークンデバイスを含む。これらのデバイスは、未承認の当事者によるキー材料の容易な複製を防止するように設計されている。キーは、信頼できる機関によって生成されてユーザに分配され、またはハードウェア内で生成され得る。加えて、多くのキー記憶システムは、キーの使用が物理的オブジェクト(トークン)およびパスフレーズまたは生体測定の両方へのアクセスを必要とする、多因子認証を提供する。
【0424】
(ソフトウェアベースのキー記憶)
専用ハードウェアベースの記憶が、高セキュリティ配備または用途に望ましいことがある一方で、他の配備は、ローカルハードウェア(例えば、ディスク、RAM、またはUSBドライブ等の不揮発性RAM記憶)の上に直接キーを記憶することを選択し得る。これは、内部攻撃者に対して、または攻撃者が暗号化マシンに直接アクセスすることができるインスタンスにおいて、より低いレベルの保護を提供する。
【0425】
ディスク上でキーをセキュア化するために、ソフトウェアベースのキー管理はしばしば、パスワードおよびパスフレーズ、(例えば、ハードウェアベースのソリューションからの)他のキーの存在、生体測定、または前述の内容の任意の好適な組み合わせを含む、他の認証測定基準の組み合わせから導出されるキーの下で、暗号化された形態でキーを記憶することによって、キーを保護する。そのような技法によって提供されるセキュリティのレベルは、いくつかのオペレーティングシステム(例えば、MS Windows(登録商標)およびLinux(登録商標))によって提供される比較的弱いキー保護機構から、多因子認証を使用して実装されるよりロバストなソリューションまで及び得る。
【0426】
本発明のセキュアなデータパーサは、いくつかの用途および技術で有利に使用され得る。例えば、Eメールシステム、RAIDシステム、ビデオ放送システム、データベースシステム、テープバックアップシステム、または任意の他の好適なシステムは、任意の好適なレベルで統合されたセキュアなデータパーサを有し得る。以前に論議されたように、セキュアなデータパーサはまた、例えば、有線、無線、または物理的媒体を含む、任意の輸送媒体を通して、移動中の任意の種類のデータの保護および耐故障性のために統合され得ることが理解されるであろう。一実施例として、ボイスオーバーインターネットプロトコル(VoIP)アプリケーションが、VoIPで一般的に見られる反響および遅延に関する問題を解決するために、本発明のセキュアなデータパーサを利用し得る。ドロップされたパケットへのネットワーク再試行の必要性は、所定数のシェアの損失を伴ってさえパケット送達を保証する、耐故障性を使用することによって排除され得る。データのパケット(例えば、ネットワークパケット)はまた、最小限の遅延およびバッファリングを伴って、効率的に分割され、「オンザフライで」修復され得、移動中の種々の種類のデータに対する包括的ソリューションをもたらす。セキュアなデータパーサは、ネットワークデータパケット、ネットワークボイスパケット、ファイルシステムデータブロック、または情報の任意の他の好適な単位に作用し得る。VoIPアプリケーションと一体化することに加えて、セキュアなデータパーサは、ファイル共有アプリケーション(例えば、ピアツーピアファイル共有アプリケーション)、ビデオ放送アプリケーション、電子投票またはポーリングアプリケーション(Sensusプロトコル等の電子投票プロトコルおよびブラインド署名を実装し得る)、Eメールアプリケーション、あるいはセキュアな通信を要求または所望し得る任意の他のネットワークアプリケーションと一体化し得る。
【0427】
いくつかの実施形態では、移動中のネットワークデータに対する支援は、ヘッダ生成段階およびデータ区分化段階といった、2つの明確に異なる段階で、本発明のセキュアなデータパーサによって提供され得る。簡略化したヘッダ生成過程4000および簡略化したデータ区分化過程4010が、それぞれ、
図40Aおよび40Bに示されている。これらの過程の一方または両方は、ネットワークパケット、ファイルシステムブロック、または任意の他の好適な情報に行われ得る。
【0428】
いくつかの実施形態では、ヘッダ生成過程4000は、ネットワークパケットストリームの開始時に1回行われ得る。ステップ4002では、無作為(または擬似無作為)な分割暗号化キーKが生成され得る。次いで、分割暗号化キーKは、随意で、AESキーラップステップ4004で(例えば、上記で説明されるワークグループキーを使用して)暗号化され得る。AESキーラップがいくつかの実施形態で使用され得るが、任意の好適なキー暗号化またはキーラップアルゴリズムが他の実施形態で使用され得る。AESキーラップステップ4004は、分割暗号化キーK全体に作用し得、または分割暗号化キーは、いくつかのブロック(例えば、64ビットブロック)に解析され得る。次いで、AESキーラップステップ4004は、所望であれば、分割暗号化キーのブロックに作用し得る。
【0429】
ステップ4006では、分割暗号化キーKをキーシェアに分割するために、秘密共有アルゴリズム(例えば、Shamir)が使用され得る。次いで、各キーシェアは、(例えば、シェアヘッダの中の)出力シェアのうちの1つに埋め込まれ得る。最終的に、シェア完全性ブロックおよび(随意で)事後認証タグ(例えば、MAC)が、各シェアのヘッダブロックに付加され得る。各ヘッダブロックは、単一のデータパケット内に適合するように設計され得る。
【0430】
(例えば、簡略化したヘッダ生成過程4000を使用して)ヘッダ生成が完了した後に、セキュアなデータパーサは、簡略化したデータ分割過程4010を使用して、データ区分化段階に入り得る。ストリームの中の各着信データパケットまたはデータブロックは、ステップ4012で分割暗号化キーKを使用して暗号化される。ステップ4014では、シェア完全性情報(例えば、ハッシュH)が、ステップ4012からの結果として生じる暗号文で計算され得る。例えば、SHA−256ハッシュが計算され得る。ステップ4106では、次いで、データパケットまたはデータブロックが、本発明に従って上記で説明されるデータ分割アルゴリズムのうちの1つを使用して、2つ以上のデータシェアに区分化され得る。いくつかの実施形態では、データパケットまたはデータブロックは、各データシェアが暗号化されたデータパケットまたはデータブロックの実質的に無作為な分配を含むように、分割され得る。次いで、完全性情報(例えば、ハッシュH)は、各データシェアに付加され得る。いくつかの実施形態では、随意的な事後認証タグ(例えば、MAC)も計算され、各データシェアに付加され得る。
【0431】
各データシェアは、データブロックまたはデータパケットの正しい再構成を可能にするために必要であり得る、メタデータを含み得る。この情報は、シェアヘッダに含まれ得る。メタデータは、暗号キーシェア、キー同一性、シェアノンス、署名/MAC値、および完全性ブロック等の情報を含み得る。帯域幅の効率性を最大限化するために、メタデータはコンパクトバイナリ形式で記憶され得る。
【0432】
例えば、いくつかの実施形態では、シェアヘッダは、暗号化されず、Shamirキーシェア、セッションごとのノンス、シェアごとのノンス、キー識別子(例えば、ワークグループキー識別子および事後承認キー識別子)等の要素を含み得る、平文ヘッダチャンクを含む。シェアヘッダはまた、分割暗号化キーで暗号化される、暗号化されたヘッダチャンクを含み得る。任意の数の以前のブロック(例えば、以前の2つのブロック)の完全性チェックを含み得る、完全性ヘッダチャンクも、ヘッダに含まれ得る。任意の他の好適な値または情報も、シェアヘッダに含まれ得る。
【0433】
図41の例証的なシェア形式4100で示されるように、ヘッダブロック4102は、2つ以上の出力ブロック4104に関連付けられ得る。ヘッダブロック4102等の各ヘッダブロックは、単一のネットワークデータパケット内に適合するように設計され得る。いくつかの実施形態では、ヘッダブロック4102が第1の場所から第2の場所へ伝送された後に、次いで、出力ブロックが伝送され得る。代替として、ヘッダブロック4102および出力ブロック4104が、同時に並行して伝送され得る。伝送は、1つ以上の同種または異種の通信経路上で発生し得る。
【0434】
各出力ブロックは、データ部分4106および完全性/真正性部分4108を含み得る。上記で説明されるように、各データシェアは、暗号化された事前区分化データのシェア完全性情報(例えば、SHA−256ハッシュ)を含む、シェア完全性部分を使用してセキュア化され得る。復旧時間における出力ブロックの完全性を検証するために、セキュアなデータパーサは、各シェアのシェア完全性ブロックを比較し、次いで、分割アルゴリズムを反転させ得る。次いで、復旧したデータのハッシュは、シェアハッシュに対して検証され得る。
【0435】
前述のように、本発明のいくつかの実施形態では、セキュアなデータパーサは、テープバックアップシステムと併せて使用され得る。例えば、個別テープが、本発明に従って、ノード(すなわち、部分/シェア)として使用され得る。任意の他の好適な配置が使用され得る。例えば、2つ以上のテープで構成されている、テープライブラリまたはサブシステムが、単一のノードとして取り扱われ得る。
【0436】
冗長性も、本発明に従ってテープとともに使用され得る。例えば、データセットが4つのテープ(すなわち、部分/シェア)の間で割り振られる場合には、4つのテープのうちの2つが元のデータを修復するために必要であり得る。本発明の冗長性特徴に従って元のデータを修復するために、任意の好適な数のノード(すなわち、総数よりも少ないノード)が必要とされ得ることが理解されるであろう。これは、1つ以上のテープが満了した場合に修復の確率を大幅に増加させる。
【0437】
各テープはまた、改ざんに対して保険をかけるように、ハッシュA−256、HMACハッシュ値、任意の他の好適な値、またはそれらの任意の組み合わせを用いてデジタルで保護され得る。テープ上の任意のデータまたはハッシュ値が変化した場合、そのテープは、修復の候補にはならず、データを修復するために、残りのテープのうちの任意の最小必要数のテープが使用される。
【0438】
従来のテープバックアップシステムでは、ユーザが、データがテープに書き込まれること、またはテープから読み出されることを要求すると、テープ管理システム(TMS)は、物理的テープマウントに対応する数を提示する。このテープマウントは、データが載置される物理的ドライブを指し示す。テープは、人間のテープ操作者によって、またはテープサイロの中のテープロボットによってロードされる。
【0439】
本発明の下で、物理的テープマウントは、いくつかの物理的テープを指し示す、論理的マウントポイントと見なされ得る。これは、データ容量を増加させるだけでなく、並列性により性能も向上させる。
【0440】
増大した性能のために、テープノードは、テープイメージを記憶するために使用されるディスクのRAIDアレイであり得、またはそれを含み得る。これは、データが保護されたRAIDにおいて常に利用可能であり得るため、高速修復を可能にする。
【0441】
前述の実施形態のうちのいずれかでは、保護されるデータは、決定論的、確率論的、または決定論的および確率論的両方のデータ分配技法を使用して、複数のシェアに分配され得る。攻撃者が任意の暗号ブロックへの秘密攻撃を開始するのを防止するために、暗号ブロックからのビットは、決定論的にシェアに分配され得る。例えば、分配は、BitSegmentルーチンを使用して行われ得、または複数のシェアへのブロック部分の分配を可能にするようにBlockSegmentルーチンが修正され得る。この方法は、「M」個よりも少ないシェアを蓄積した攻撃者に対して防衛し得る。
【0442】
いくつかの実施形態では、キー式(keyed)情報分散を使用して(例えば、キー式情報分散アルゴリズムまたは「IDA」を通して)、キー式秘密共有ルーチンが採用され得る。キー式IDA用のキーはまた、1つ以上の外部ワークグループキー、1つ以上の共有キー、またはワークグループキーおよび共有キーの任意の組み合わせによって保護され得る。このようにして、多因子秘密共有スキームが採用され得る。データを再構成するために、いくつかの実施形態では、少なくとも「M」個のシェアならびにワークグループキー(および/または共有キー)が必要とされ得る。IDA(またはIDA用のキー)はまた、暗号化過程に組み入れられ得る。例えば、(例えば、暗号化する前の事前処理層中に)変換が平文に組み入れられ得、さらに、暗号化される前に平文を保護し得る。
【0443】
例えば、いくつかの実施形態では、データセットからのデータの一意の部分を2つ以上のシェアの中へ分配するために、キー式情報分散が使用される。キー式情報分散は、最初にデータセットを暗号化して、データセットからの暗号化されたデータの一意の部分を2つ以上の暗号化されたデータセットシェアの中へ分配するために、またはデータセットを暗号化するとともに、データセットからの暗号化されたデータの一意の部分を2つ以上の暗号化されたデータセットシェアの中へ分配するために、セッションキーを使用し得る。例えば、データセットまたは暗号化されたデータセットの一意の部分を分配するために、秘密共有(またはBitSegmentあるいはBlockSegment等の上記で説明される方法)が使用され得る。次いで、セッションキーは、随意で、(例えば、フルパッケージ変換またはAoNT)を使用して変換され、例えば、秘密共有(またはキー式情報分散およびセッションキー)を使用して共有され得る。
【0444】
いくつかの実施形態では、キーの一意の部分が2つ以上のセッションキーシェアの中へ分配または共有される前に、共有キー(例えば、ワークグループキー)を使用してセッションキーが暗号化され得る。次いで、2つ以上のユーザシェアが、少なくとも1つの暗号化されたデータセットシェアおよび少なくとも1つのセッションキーシェアを組み合わせることによって形成され得る。ユーザシェアを形成する際に、いくつかの実施形態では、少なくとも1つのセッションキーシェアが、暗号化されたデータセットシェアの中へ差し込まれ得る。他の実施形態では、少なくとも部分的に共有ワークグループキーに基づく場所において、少なくとも1つのセッションキーシェアが、暗号化されたセータセットシェアに挿入され得る。例えば、各セッションキーシェアを一意の暗号化されたデータセットシェアの中へ分配してユーザシェアを形成するために、キー式情報分散が使用され得る。少なくとも部分的に共有ワークグループキーに基づく場所において、セッションキーシェアを、暗号化されたセータセットシェアの中へ差し込むことまたは挿入することは、暗号攻撃に直面して増大したセキュリティを提供し得る。他の実施形態では、ユーザシェアを形成するように、1つ以上のセッションキーシェアが暗号化されたデータセットの初めまたは終わりに付加され得る。次いで、ユーザシェアの集合が、少なくとも1つのデータ保管場所上で別々に記憶され得る。1つまたは複数のデータ保管場所は、(例えば、同じ磁気またはテープ記憶デバイス上の)同じ物理的な場所に位置するか、または(例えば、異なる地理的な場所の物理的に分離されたサーバ上で)地理的に分離され得る。元のデータセットを再構成するために、承認された一式のユーザシェアおよび共有ワークグループキーが必要とされ得る。
【0445】
キー式情報分散は、キー回収オラクルに直面してもセキュアであり得る。例えば、ブロック暗号Eと、ブロック暗号への入出力ペアのリスト(X
1,Y
1),...,(X
c,Y
c)を得るEのキー回収オラクルとを取り込み、入出力例(例えば、全てのiについてのY
i=E
K(X
i))と一致するキーKを戻す。オラクルは、一致するキーがなければ区別された値⊥を返信し得る。このオラクルは、入出力例のリストからキーを回復し得る、暗号解読攻撃をモデル化し得る。
【0446】
標準ブロック暗号ベースのスキームは、キー回収オラクルの存在下で失敗する場合がある。例えば、CBC暗号化またはCBC MACは、キー回収オラクルの存在下で完全に非セキュアになる場合がある。
【0447】
Π
IDAがIDAスキームであり、Π
Encが何らかのブロック暗号Eの動作モードによって与えられる暗号化スキームである場合には、(Π
IDA,Π
Enc)は、2つのスキームが、HK1またはHK2に従って恣意的な完全秘密共有スキーム(PSS)と組み合わせられた場合に、ロバストな計算秘密共有(RCSS)目標を達成するならば、キー回収攻撃に直面してセキュリティを提供するが、敵がキー回収オラクルを有するモデルにおいてはセキュリティを提供しない。
【0448】
1対のスキームがキー回収攻撃に直面してセキュリティを提供するように、IDAスキームΠ
IDAおよび暗号化スキームΠ
Encが存在する場合には、この1対を達成する1つの方法は、「賢明な」IDAおよび「能力のない」暗号化スキームを有することであり得る。この1対のスキームを達成する別の方法は、「能力のない」IDAおよび「賢明な」暗号化スキームを有することであり得る。
【0449】
賢明なIDAおよび能力のない暗号化スキームの使用を例証するために、いくつかの実施形態では、暗号化スキームはCBCであり、IDAは「弱いプライバシー」特性を有し得る。弱いプライバシー特性とは、例えば、IDAへの入力がブロックM=M
1...M
lという無作為な順序であり、敵が未承認の集合からシェアを得る場合には、敵がM
iを計算することが実行不可能であるように、何らかのブロック指数iがあることを意味する。そのような弱プライバシーのIDAは、最初に、StinsonのAoNT等の情報論理的なAoNTにMを適用し、次いで、BlockSegment等の単純IDAまたはRabinのスキーム(例えば、Reed−Solomon符号化)のようなビット効率的IDAを適用することによって構築され得る。
【0450】
能力のないIDAおよび賢明な暗号化スキームの使用を例証するために、いくつかの実施形態では、単一暗号化の代わりに二重暗号化とともにCBCモードを使用し得る。ここで、任意のIDAが使用され得、複製でさえ使用され得る。敵がどんな単独で暗号化された入出力例も拒否されるため、ブロック暗号に対するキー回収オラクルを有することは、敵にとって役に立たない。
【0451】
賢明なIDAは、価値を有するが、キー回収攻撃に直面してセキュリティを提供するために必要とされる「知能」が他の場所へ「押しやられる」可能性があるという意味で、いくつかの状況では不必要であり得る。例えば、いくつかの実施形態では、IDAがどれだけ高性能であろうと、どのような目標がHK1/HK2との関連でIDAを用いて達成されようとしていても、知能は、IDAから押し出されて暗号化スキームに押し込まれてもよく、固定された能力のないIDAとともに残され得る。
【0452】
上記に基づいて、いくつかの実施形態では、「普遍的に健全な」賢明なIDAΠ
IDAが使用され得る。例えば、全ての暗号化スキームΠ
Encについて、対の(Π
IDA,Π
Enc)がキー回収攻撃に直面してセキュリティを提供するように、IDAが提供される。
【0453】
いくつかの実施形態では、キー回収オラクルに直面してRCSSセキュアである、暗号化スキームが提供される。スキームは、キー回収に直面してセキュリティを達成するように、任意のIDAを伴ってHK1/HK2と一体化され得る。新しいスキームを使用することは、例えば、キー回収攻撃に対して対称暗号化スキームをよりセキュアにするために、特に有用であり得る。
【0454】
上述のように、古典的な秘密共有概念は、典型的にはキーがない。したがって、任意の種類の対称または非対称キーを保持するために、秘密を再構成するディーラも当事者も必要としない方法で、秘密がシェアに細分化されるか、またはシェアから再構成されている。しかしながら、本明細書で説明されるセキュアなデータパーサは、随意で、キー式である。ディーラは、データ共有に使用された場合、データ復旧に必要であり得る、対称キーを提供し得る。セキュアなデータパーサは、セキュア化されるメッセージの一意の部分を2つ以上のシェアに分散または分配するために、対称キーを使用し得る。
【0455】
共有キーは、多因子または2因子秘密共有(2FSS)を有効にし得る。次いで、敵は、セキュリティ機構を破壊するために、2つの基本的に異なる種類のセキュリティを通してナビゲートすることを必要とされ得る。例えば、秘密共有目標に違反するために、敵は、(1)一式の承認されたプレーヤのシェアを取得する必要があり得、(2)取得することが可能であるはずのない秘密キーを取得する(またはそのキーによって入力されている暗号機構を破壊する)必要があり得る。
【0456】
いくつかの実施形態では、新しい一式の追加の要件がRCSS目標に追加される。追加の要件は、「第2の因子」であるキー所有を含み得る。これらの追加の要件は、元の一式の要件を軽減することなく追加され得る。一式の要件は、秘密キーを知っているが、十分なシェアを取得しない場合に、敵がスキームを破壊できないことに関し得る(例えば、古典的な、または第1因子要件)一方で、他方の一式の要件は、秘密キーを持たないが、何とかシェアの全てを入手する場合に、敵がスキームを破壊できないことに関し得る(例えば、新しい、または第2因子要件)。
【0457】
いくつかの実施形態では、プライバシー要件および真正性要件といった、2つの第2因子要件があり得る。プライバシー要件では、秘密キーKおよびビットbが環境によって選択される、方法が関与し得る。ここで、敵は、秘密共有スキームのドメインで、M
10およびM
11といった1対の等長メッセージを供給する。環境は、M
1bのシェアを計算し、シェアのべクトルS
1=(S
1[1],...,S
1[n])を得て、シェアS
1(それらの全て)を敵に与える。ここで、敵は、別の1対のメッセージ(M
20,M
21)を選択し得、同じキーKおよび隠されたビットbを使用して、全てが前のように進む。敵の仕事は、bであると考えるビットb’を出力することである。敵のプライバシー利点は、b=b’という確率の2倍未満のものである。この方法は、全てのシェアを習得しても、秘密キーが欠けていれば、敵が依然として共有秘密について何も習得できないという概念を捕らえる。
【0458】
真正性要件では、環境が秘密キーKを選択し、これを共有(Share)および回復(Recover)への後続の呼び出しで使用する、方法が関与し得る。共有および回復は、いくつかの実施形態では、このキーの存在を反映するように、それらの構文を修正させ得る。次いで、敵は、秘密共有スキームのドメインで選択する、あらゆるメッセージM
1,...,M
qのShare要求を行う。各共有要求に応じて、敵は、シェアの対応するnベクトルS
1,...,S
qを得る。敵の目的は、新しい平文を築くことであり、回復アルゴリズムに供給された場合に、{M
1,...,M
q}にはないものをもたらすように、シェアのベクトルS’を出力した場合に成功する。これは、「平文の完全性」概念である。
【0459】
多因子秘密共有を達成するための2つのアプローチがある。第1は、ブラックボックス方法で基礎的な(R)CSSスキームを使用するという意味で一般的である、一般的アプローチである。CSS共有されるメッセージを暗号化するために、認証暗号化スキームが使用され、次いで、例えば、BlakelyまたはShamir等の秘密共有アルゴリズムを使用して、結果として生じる暗号文が共有され得る。
【0460】
潜在的により効率的なアプローチは、共有キーがワークグループキーとなることを可能にすることである。すなわち、(1)共有キーを使用して、(R)CSSスキームの無作為に生成されたセッションキーが暗号化され得、(2)メッセージ(例えば、ファイル)に適用される暗号化スキームは、認証暗号化スキームに置換され得る。このアプローチは、性能の最小限の劣化のみを伴い得る。
【0461】
セキュアなデータパーサのいくつかの用途が上記で説明されるが、本発明は、セキュリティ、耐故障性、匿名性、または前述の内容の任意の好適な組み合わせを増大させるために、任意のネットワークアプリケーションと一体化し得ることを明確に理解されたい。
【0462】
本発明のいくつかの実施形態では、セキュアなデータパーサは、移動中のデータをセキュア化するように、セキュアなプロキシサービスで実装され得る。上記で説明されるように、セキュアなデータパーサは、アプリケーション用の従来の暗号化/認証サービス、ならびに(物理的に、時間的に、または何らかの他の形態の信頼によって)保護されたデータを分離することによって達成される追加のセキュリティ特性を提供する、暗号ライブラリである。セキュアなデータパーサは、暗号キー、伝送媒体への物理的アクセス、または通常はセキュリティを破るであろう任意の知識を取得することによって、システムを損なう敵対者の脅威が本物である、アプリケーションのために指定される。セキュアなプロキシサービスは、これらの同じ脅威から保護するためのセキュリティの追加の層を提供し、好ましくは、広範囲のシステム(例えば、企業サーバ、パーソナルコンピュータ、任意の他の好適なシステム、またはそれらの任意の組み合わせ)上で実装することができるように融通が利く。セキュアなプロキシサービスは、以下の
図42−50に関して説明される。
【0463】
セキュアなプロキシサービスは、2つのデバイスの間で移動中のデータをセキュア化するために使用される。具体的には、セキュアなプロキシサービスは、第1のデバイス上で作動し、ネットワーク上でアプリケーション用のセキュアなデータパーサ対応の通信を提供する。これらのデバイスは、暗号システム100(
図1)に含まれる任意の好適な一対のデバイスであり得る。例えば、セキュアなプロキシサービスは、パーソナルコンピュータとウェブサーバと等の、ユーザシステム105とベンダシステム120との間に確立され得る。別の実施例では、セキュアなプロキシサービスは、パーソナルコンピュータとNAS、パーソナルコンピュータとホームルータ、NASとホームルータ、またはユーザシステム105の任意の好適な組み合わせ等の、別個のユーザシステム105の間に確立され得る。セキュアなプロキシサービスを使用したデバイス間の通信は、ウェブまたはEメールサーバに接続するクライアントの通信に似ている。
【0464】
いくつかの実施形態では、ユーザシステム105等のクライアント、およびベンダシステム120等のサーバは、セキュアなプロキシサービスを使用してセキュアな通信を確立し得る。セキュアなプロキシサービスを確立する際に、ユーザシステム105およびベンダシステム120は、セキュアなプロキシサービスのための好適な構成に改造され得る。そのような実施形態では、クライアントがサーバに接続すると、接続が2つのセキュアなプロキシサービスの間で確立される。サーバ上で、セキュアなプロキシサービスは、受信するデータをサーバアプリケーションに転送するように構成されている。次いで、サーバアプリケーションは、局所的に実装されたセキュアなプロキシサービスを通して、要求および応答に対処し得る。
【0465】
いくつかの実施形態では、セキュアなプロキシサービスは、証明機関115(
図1)等の任意の数の証明機関の間の分配された信頼に基づいて、ネットワーク上で伝送されるデータの機密性、完全性、および真正性を保護する。そのような実施例では、定数の証明機関が信頼される限り、データの機密性、完全性、および真正性が保護され得る。証明機関の信頼が損なわれた場合、相互認証を保証することができず、交換されたメッセージの機密性、完全性、および真正性が壊れる。セキュアなプロキシサービスは、単一の承認機関に置かれた信頼が任意の数の証明機関(例えば、2、3、5、10、20、50、100、または100より多くの証明機関)にわたって分配されることを可能にする、セキュアなデータパーサ対応の解決法である。この分配された信頼は、一式の証明機関の間に単一障害点がある場合に、セキュアなプロキシサービス上でのメッセージの交換がセキュアなままとなることを可能にする。
【0466】
いくつかの実施形態では、セキュアなプロキシサービスは、SSLおよび/またはFULL TLSプロトコルの適応を使用して実装される。これらのプロトコルは、通信において両者を相互に認証するために、証明機関の信頼に少なくとも部分的に依存するため、セキュアなプロキシサービスの一部としての適応に好適であり得る。
【0467】
ここで、FULL TLSでの証明機関の使用の概観を説明する。2つのデバイスの間で確立されるFULL TLS対応接続について、2つのデバイスは、使用するアルゴリズムの暗号一式に合意し、互の公開キーを交換し、相互に認証する。各デバイスの公開キーは、公開キーの証明機関の署名の検証を通して認証される。2つのデバイスが本当に互と通信しているという信頼は、それらの両方が証明機関を信頼しており、そのデバイスの証明書の署名は、その機関を損なわずに偽造することはできないと信頼している事実によって確立される。
【0468】
証明機関は、公開および秘密キーペア(Pub
CA,Pri
CA)を自らのために作成する。加えて、証明機関は、公開キーのための自己署名した証明書を作成する。
Cert
CA=Pub
CA,Sig
Pri−CA(Pub
CA) (1)
両方のデバイスは、方程式(1)による証明機関の証明書Cert
CA、秘密キー(Pri
Dev1,Pri
Dev2)、および証明機関によって署名される証明書を受信する。Cert
Dev1=Pub
Dev1,Sig
Pri−CA(Pub
Dev1) (2)
Cert
Dev2=Pub
Dev2,Sig
Pri−CA(Pub
Dev2) (3)
通信が始まると、デバイスは、方程式(2)および(3)におけるそれぞれの証明書を交換し、証明機関の公開キーを使用して、これらの証明書の真正性を検証する。例えば、第1のデバイスは、検証関数Verify(Cert
Dev2,Pub
CA)を実行することによって検証を行い、第2のデバイスは、検証関数Verify(Cert
Dev1,Pub
CA)を実行することによって検証を行い得る。両方のデバイスが交換された公開キーの証明機関の署名に満足した場合、第1のデバイスは、第2のデバイスの公開キーを使用して、第2のデバイスの対称暗号化キー材料を送信する。第1のデバイスは、デジタル署名挑戦を行うことによって、それらの証明書に対応する秘密キーの知識を証明する。いったん第1のデバイスが、それらの証明書に対応する秘密キーの知識を証明すると、第1のデバイスおよび第2のデバイスは、セキュアにメッセージを交換し得る。
【0469】
第1のデバイスまたは第2のデバイスのいずれか一方が損なわれた場合、それらそれぞれの秘密キーも損なわれる場合があり、それ以降、損なわれたデバイスがなりすまされ得る。証明機関が損なわれた場合、証明機関が対応する秘密キーを知っている有効な証明書が生成され得、デバイスのいずれもがなりすまされ得る。しかしながら、デバイスまたは証明機関が損なわれない時は、デバイスが正しいエンティティと通信していることを相互に保証することができる。
【0470】
いくつかの実施形態では、全ての信頼が単一の証明機関に委託されるわけではない。常に単一の証明機関によって証明書を作成し、分配し、および立証することは実用的ではない場合がある。代わりに、
図42によって図示されるように、信頼の連鎖が証明機関階層4200の形態で確立され得る。証明機関階層4200は、ツリーの形態で信頼の連鎖を確立し得る。ツリーの一番上には、権限をルート証明書4210の全ての子孫(例えば、子および孫)に委託する、ルート証明機関4210がある。証明機関階層4200の各レベルでの信頼は、ルート証明機関4210の信頼によって保証される。
【0471】
証明機関階層4200では、ルート証明機関4210は、子証明機関4220用の証明書に署名し得る。1つだけのルート証明機関CA−0が
図42に示されているが、ある実施形態では、証明機関階層は任意の数のルート証明機関を含み得ることが理解され得る。子証明機関4220は、孫証明機関4230用の証明書に署名し得る。例えば、
図42に図示されるように、ルート証明機関CA−0は、その子CA−1およびCA−2用の証明書に署名し、子は順に、それらの子CA−1.1、CA−1.2、CA−2.1、およびCA−2.2用の証明書に署名する。3つのレベルだけの証明機関が
図42に示されているが、ある実施形態では、より多い、またはより少ないレベルの証明機関があり得ることが理解されるであろう。署名の否認防止を保証するために、全てのエンティティがそれら自身の証明書を生成し得る。
【0472】
暗号システムでは、第1のデバイスは、子証明機関4220のうちの1つから、その証明書を受信し、第1のデバイスと通信している第2のデバイスは、孫証明機関4230のうちの1つから、その証明書を受信し得る。各デバイス用の証明書の検証は、発行証明機関(例えば、第1のデバイスについてはCA−1またはCA−2、第2のデバイスについてはCA−1.1、CA−1.2、CA−2.1、またはCA−2.2)の証明書を取得し、第1のデバイスまたは第2のデバイスの証明書の署名を検証すること(例えば、方程式(2)または(3)に示される証明書を検証すること)によって行われ得る。発行証明機関の信頼を確立することができない場合、検証を行うデバイスは、問題になっている発行証明機関の親の証明書を取得し、証明機関が有効であることを保証するように同様の検証を行うことができる。この過程は、両方のデバイスによって信頼されるルート証明機関4210に到達するまで、両方のデバイスによって継続し得る。いくつかの実施形態では、通信している各デバイスは、1つより多くのルート証明機関4210に関連付けられ得る。そのような実施形態では、これらの証明機関のうちのいずれかからの有効な証明書を伴うデバイスが通信することが可能である。
【0473】
TLSを用いた証明機関の使用の上記の説明から、セキュリティは最終的に、単一のルート証明機関の信頼、またはより少ない程度に、通信しているデバイスが快適に信頼している証明機関の階層内の子孫証明機関のうちの1つの信頼にあることが理解される。いくつかの実施形態では、階層内の任意の証明機関が損なわれた場合、損なわれた証明機関の全ての子孫も損なわれる。この損なわれたノードがルートである場合には、階層内の証明機関の各々が損なわれる場合がある。
【0474】
いくつかの実施形態では、セキュアなプロキシサービスは、定数の証明機関の信頼とともに、単一の証明機関に置かれた信頼を分配するために、TLSを用いてセキュアなデータパーサを使用し得る。この定数は、ルート証明機関4210の定数、または単一のルート証明機関のツリー内の小証明機関の定数であり得る。例えば、この定数は、ルート証明機関CA−0のツリー内の小証明機関である、CA−1、CA−1.1、およびCA−1.2から成るセット内の3つの証明機関のうちの2つであり得る。
【0475】
いくつかの実施形態では、証明機関階層4200は、任意の好適なグラフアルゴリズムによって横断され得る。この横断は、証明機関のリスト、または一意であるか、あるいは異なる公開および秘密キーペアを有する証明機関に関連付けられる証明書のリストを取得するために行われ得る。いくつかの実施形態では、証明機関階層4200の横断は、証明機関、またはルート証明機関である証明機関の証明書をもたらし得る。いくつかの実施形態では、証明機関階層4200の横断は、証明機関、または1つ以上のルート証明機関のツリー内の小証明機関である証明機関の証明書をもたらし得る。
【0476】
図44から50は、セキュアなプロキシサービスを実装することへの2つのアプローチを詳述する。両方のアプローチは同等にセキュアである。いくつかの実施形態では、セキュアなデータパーサは、FULL TLSと一体化し得る。加えて、各アプローチでは、信頼が一式の証明機関(例えば、
図42の証明機関階層4200に関して論議される定数の証明機関)の間で分配される。いくつかの実施形態では、セキュアなプロキシサービスは、セキュアなデータパーサをSSLと、または、SSLおよびTLSと一体化させることによって、あるいはSSLおよび/またはTLSを使用せずにセキュアなデータパーサを実装することによって、実装され得る。いくつかの実施形態では、セキュアなプロキシサービスは、
図30のデータパーサ層3026においてデータのセキュアな暗号化を提供し得る、いずれか1つ以上の種類の暗号化3018と併せて実装され得る。加えて、いくつかの実施形態では、セキュアなプロキシサービスは、交換されたメッセージの機密性、完全性、および真正性をセキュア化するために証明機関を利用する、任意の好適なプロトコルと併せて実装され得る。
【0477】
図44から46に関して説明される実施形態では、セキュアなデータパーサは、デバイス間の接続の初期交渉(例えば、キー確立段階)中に任意の数の証明機関において信頼を分配するために使用され得る。これは、証明書のうちのいくつか(しかし定数より少ない)が損なわれた場合に、依然として接続が確立され得、通信の機密性、完全性、および真正性を乱すことなく、メッセージが交換され得るという確信を提供する。
図47から50に関して説明される実施形態では、データは、セキュアなデータパーサを使用して前処理され、次いで、シェアに分散される。一式のセキュアな通信トンネルは、一意の証明機関によって発行される証明書を使用して通信チャネル内に確立され得、これらの証明機関は、トンネルの各々に対するデータを暗号化するために使用され得、データの個々のシェアは、トンネルのそれぞれの上で伝送され得る。したがって、第2のアプローチでは、通信チャネル自体の構造における一式の証明機関の間で、信頼が分配され得る。
【0478】
セキュアなプロキシサービスのいくつかの実施形態で、セキュアなデータパーサがどのようにしてTLSと一体化しているかを例証するために、FULL TLSのキー確立段階の概観が
図43に関して説明される。
図43は、第1のデバイス4310および第2のデバイス4320といった2つのデバイスの間の通信のためのTLSのキー確立段階の簡略化した例証的な過程フロー4300を示す。第1のデバイス4310および第2のデバイス4320は、通信リンク、例えば、
図1に示されるような通信リンク125上で通信する、ユーザシステム105および/またはベンダシステム120の任意の組み合わせであり得る。このキー確立段階は、ハンドシェイクおよび相互認証を含み得る。ステップ4312では、第1のデバイス4310は、乱数R
Dev1を生成し、(例えば、方程式(2)で計算されるような)その証明書Cert
Dev1とともに乱数を第2のデバイス4320に送信する。
【0479】
ステップ4322では、第2のデバイス4320は、独自の乱数R
Dev2を生成し、(例えば、方程式(3)で計算されるような)その証明書Cert
Dev2とともに乱数を送信する。ステップ4314では、クライアントは、秘密情報S
Dev1を生成し、任意の好適な種類の暗号化を使用して、第2のデバイスの公開キーの下でそれを暗号化し、それを第2のデバイスに送信する。ステップ4324では、第2のデバイス4320は、秘密情報S
Dev1を復号し、疑似ランダム関数Gならびに交換されたランダムおよび秘密値(すなわち、R
Dev1、R
Dev2、およびS
Dev1)に基づいて、共有暗号化キーKを計算する。同様に、ステップ4316では、第2のデバイス4310は、疑似ランダム関数Gならびに交換されたランダムおよび秘密値(すなわち、R
Dev1、R
Dev2、およびS
Dev1)に基づいて、共有暗号化キーKを計算する。ステップ4330では、第1のデバイス4310および第2のデバイス4320は、それらの独立して計算された共有暗号化キーを用いて暗号化されたメッセージを交換する。計算された共有暗号化キーが合致する場合、第1のデバイス4310および第2のデバイス4320は、機密かつ真正であることが保証されたメッセージを交換し得る。
図44から46に関して論議されるように、いくつかの実施形態では、セキュアなデータパーササービスは、セキュアなデータパーサをTLSと一体化するために、過程フロー4300のステップを修正および/または追加し得る。
【0480】
図44は、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、セキュアなプロキシサービスの簡略化した例証的な過程フロー4400を示す。過程フロー4400では、デバイス間の接続の初期交渉中に、信頼が一式の証明機関において分配される。いくつかの実施形態では、過程フロー4400は、2つのデバイスの間の情報のセキュアな交換のキー確立段階の一部として実行され得る。このキー確立段階は、
図37に図示されるようなセキュアなデータパーサ3706に関連付けられる過程のうちの1つ以上の一部であり得、または独立型過程であり得る。例えば、ステップ4410、4420、4430、4440、4450、および4460は、
図37に図示されるようなセキュアなデータパーサ3706に関連付けられる、事前暗号化過程3708、暗号化/変換過程3710、キーセキュア化過程3712、または解析/分配過程3714のうちの1つ以上の一部であり得、または独立型過程であり得る。
【0481】
過程フロー4400は、ステップ4410から始まる。ステップ4410では、第2のデバイスと情報をセキュアに交換したい第1のデバイスが、秘密情報を生成し得る。この秘密情報は、乱数発生器によって生成される任意の量の好適な乱数(例えば、1、2、5、20、100、または100より多くの乱数)であり得る。例えば、秘密情報は、
図30に示されるようなセキュアなデータパーサ3026の乱数発生器3012によって生成される乱数であり得る。過程フロー4400は、ステップ4420へと進む。
【0482】
ステップ4420では、第1のデバイスは、ステップ4410で生成される秘密情報をシェアに分散し得る。いくつかの実施形態では、秘密情報は、「N分のM暗号分割」等の暗号分割過程を使用して、シェアに分散され得る。この「N分のM暗号分割」は、本発明のセキュアなデータパーサを使用して達成され得る。例えば、暗号分割は、
図21から24に関して論議されるデータ分割技法のうちのいずれかを使用して達成され得る。そのような実施形態では、分散されたシェアは、少なくとも定数のシェアを再結合させることによって、シェアの少なくとも一部から修復可能であり得る。加えて、いくつかの実施形態では、秘密情報の分割は、実質的に
図33、
図35、および
図36に関して概説されるセキュアなデータパーサの任意の数の使用を通して、生じし得る。例えば、セキュアなデータパーサは、ステップ3610で暗号化されていない秘密情報を受信し得る。秘密情報がキーを必要とするアルゴリズムを用いて分割される場合、分割暗号化キーがステップ3612で生成される。秘密情報は、(例えば、
図33、
図35、および
図36に関して説明される技法のうちのいずれかに従って)ステップ3616でシェアに分割され得る。分割暗号化キーを暗号化し、総数よりも少ないシェアからの秘密情報の再生を可能にするために、耐故障スキームがステップ3617で使用され得る。加えて、ステップ3617では、情報が、シェアを再構築するために使用される秘密情報のシェアに追加され得る。いくつかの実施形態では、この情報は、シェアヘッダに埋め込まれ得る。さらに、いったんシェアが作成されると、認証/完全性情報が、ステップ3618で秘密情報のシェアのヘッダに埋め込まれ得る。各シェアは、ステップ4430に関して説明されるような異なる証明機関の公開キーを使用して、事後暗号化され得る。
【0483】
加えて、いくつかの実施形態では、
図40Aに示されるような簡略化したヘッダ生成過程4000に従って、シェアへの秘密情報の分散が発生し得る。例えば、ステップ4002では、秘密情報が生成され得る。次いで、秘密情報は、随意で、4004で(例えば、
図39に関して説明されるワークグループキーを使用して)暗号化され得る。ステップ4006では、「N分のM暗号分割」は、秘密情報を秘密情報のシェアに分割するために使用され得る。次いで、秘密情報の分割に関連付けられる情報は、シェアヘッダに埋め込まれ得る。最終的に、シェア完全性ブロックおよび事後承認タグ(例えば、MAC)が、各シェアのヘッダブロックに添付され得る。各ヘッダブロックは、単一のデータパケット内に適合するように設計され得る。
【0484】
いくつかの実施形態では、ステップ4420で生成される秘密情報のシェアは、多因子共有スキームを使用して生成され得る。この多因子共有スキームは、例えば、
図41にちなんで論議されるキー式情報分散アルゴリズムであり得る。例えば、秘密情報のシェアは、決定論的、確率論的、または決定論的および確率論的両方のデータ分配技法を使用して、複数のシェアにセキュア化されるデータとともに分配され得る。いったん秘密情報がシェアに分散されると、過程フロー4400は、ステップ4430へと進み得る。
【0485】
ステップ4430では、ステップ4420で計算される秘密情報の分割に起因するシェアは、一意の証明機関の公開キーに基づいて第1のデバイスによって暗号化される。例えば、秘密情報の3つのシェアがあった場合、第1のシェアは、第1の証明機関の公開キーの下で暗号化され得、第2のシェアは、第2の証明機関の公開キーの下で暗号化され得、第3のシェアは、第3の証明機関の公開キーの下で暗号化され得る。各証明機関は、各々によって発行される証明書が異なる公開および秘密キーペアを有するという点で一意であり得る。いくつかの実施形態では、一意の証明機関は、ルート証明機関であり得る。他の実施形態では、一意の証明機関は、
図42の証明機関階層4200に関して論議されるように、単一のルート証明機関のツリー内の小証明機関であり得る。
【0486】
ステップ4420に関して上記で論議されるように、いくつかの実施形態では、秘密情報の分散に関係する情報が、シェアヘッダに埋め込まれ得る。例えば、秘密情報がステップ4420で4つのシェアに分割される場合、各々が秘密情報の分散シェアに関連付けられる情報を含む、4つのヘッダが生成され得る。
【0487】
いくつかの実施形態では、シェアは、1つ以上の外部ワークグループキー、1つ以上の共有キー、またはワークグループキーおよび共有キーの任意の組み合わせによって保護され得る。いったん秘密情報のシェアが暗号化されると、第1のデバイスは、暗号化されたシェアを第2のデバイスに送信し得る。次いで、過程フロー4400は、ステップ4440へと進み得る。
【0488】
ステップ4440では、第2のデバイスは、暗号化された秘密情報を回復しようとし得る。この回復過程は、秘密情報のシェアがどのようにしてステップ4420で分散され、ステップ4430で暗号化されたかに依存し得る。例えば、秘密情報は、ステップ4420で「N分のM暗号分割」を使用してシェアに分散され、ワークグループを使用して暗号化され、次いで、これらのシェアは、ステップ4430で異なる証明機関の公開キーに基づいて暗号化され得る。回復過程は、最初に異なる証明機関の公開キーを使用してシェアを復号し、次いで、ワークグループキーに基づいてシェアを復号し、次いで、「N分のM暗号分割」に基づいて秘密情報の分散シェアを元の秘密情報に再構築するために、セキュアなデータパーサの修復機能を使用し得る。
【0489】
回復過程が成功した場合、計算された秘密情報は、元の秘密情報に合致し得る。この合致は、共有暗号化キーを独立して計算する各デバイスによって、デバイス間で相互に確認され得る。例えば、第1のデバイスが、元の秘密情報に基づいて共有暗号化キーを計算し得る一方で、第2のデバイスは、回復または修復された秘密情報に基づいて共有暗号化キーを計算する。いくつかの実施形態では、第2のデバイスが元の秘密情報を回復し、後に有効な共有暗号化キーを計算する場合、過程フロー4400はステップ4450へと進み、メッセージが交換される。いくつかの実施形態では、これらのメッセージは、第1のデバイスおよび第2のデバイスによって計算される共有暗号化キーに基づいてセキュアに交換され得る。いくつかの実施形態では、第2のデバイスが元の秘密情報を回復しない場合、過程フロー4400はステップ4460へと進み、メッセージは交換されない。例えば、第1のデバイスの共有暗号化キーが第2のデバイスのものと合致しないため、メッセージは、交換されることが可能ではないことがある。
【0490】
図45は、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、2つのデバイスの間にセキュアなプロキシサービスを確立するための簡略化した例証的な過程フロー4500を示す。過程フロー4500では、デバイス間の接続の初期交渉中に、一式の証明機関において信頼が分配される。いくつかの実施形態では、過程フロー4500は、2つのデバイスの間の情報のセキュアな交換のキー確立段階の一部として実行され得る。過程フロー4500におけるステップの各々を含む、このキー確立段階は、例えば、過程フロー4500のステップがどのようにしてセキュアなデータパーサに関連付けられるかと同様である、セキュアなデータパーサに関連付けられる過程のうちの1つ以上の一部であり得る。
【0491】
過程フロー4500は、ステップ4510から始まる。ステップ4510では、デバイスは、乱数および公開キーに関連付けられる証明書を交換し、各公開キーは、一意のセキュリティ機関によって発行される。いくつかの実施形態では、これらのデバイスは、例えば、
図43の過程フロー4300に関して説明されるような第1のデバイス4310および第2のデバイス4320であり得る。交換される乱数は、
図30に示されるようなセキュアなデータパーサ3026の乱数発生器3012を使用して、各デバイスによって生成され得る。交換される証明書は、
図42に示されるような証明機関階層4200の横断から生成され得る。例えば、任意の好適なグラフアルゴリズムが、証明書階層4200を横断して、ルート証明機関の証明書のリスト、または証明書階層4200内の単一のルート証明機関のツリー内の小証明機関の証明書のリストを計算し得る。いくつかの実施形態では、交換される証明書は、第1および第2のデバイスによって合意される暗号化パラメータに基づいて決定され得る。これらのパラメータは、第1および第2のデバイスによって合意される秘密情報のシェアの分散の実装に関連付けられ得る。例えば、ステップ4520で使用される分散技法が秘密情報を5つのシェアに分散する場合、交換された証明書は、第1のデバイスからの一意の証明機関の5つの証明書と、第2のデバイスからの一意の証明機関の5つの証明書とを含み得る。
【0492】
いくつかの実施形態では、一意の公開キーが、第1のデバイスまたは第2のデバイスの各一意の証明書のために取得され得る。いくつかの実施形態では、暗号化パラメータは、セキュアなプロキシサービスを使用して金融機関のサーバと接続したいパーソナルコンピュータのユーザ等の、セキュアなプロキシサービスのユーザによって設定され得る。いくつかの実施形態では、暗号化パラメータは、セキュアなプロキシサービス対応の接続を提供したい金融機関のサーバの管理者等の、セキュアなプロキシサービスの管理者によって設定され得る。加えて、いくつかの実施形態では、交換される証明書のリストは、
図9に関して説明されるようなデバイスのうちの1つのユーザで行われる、登録過程900に基づき得る。次いで、過程フロー4500は、ステップ4515へと進む。
【0493】
ステップ4515では、第1のデバイスは、秘密情報を生成する。この秘密情報は、例えば、
図44の過程フロー4400に関して説明されるステップ4410に従って生成され得る。次いで、過程フロー4500は、ステップ4520へと進む。ステップ4520では、第1のデバイスは、任意の好適な分散技法を使用して、ステップ4515で生成された秘密情報をシェアに分散する。例えば、第1のデバイスは、例えば、
図44の過程フロー4400に関して説明されるステップ4420に従って、本発明のセキュアなデータパーサを使用して、秘密情報の「N分のM暗号分割」を行い得る。いくつかの実施形態では、分散技法に起因する秘密情報のシェアは、少なくとも定数のシェアを再結合させることによって、シェアの少なくとも一部から修復可能であり得る。加えて、いくつかの実施形態では、キー式秘密共有ルーチンは、キー式IDAを使用して秘密情報のシェアに適用され得る。キー式IDA用のキーは、1つ以上の外部ワークグループキー、1つ以上の共有キー、または共有およびワークグループキーの任意の組み合わせによって保護され得る。次いで、過程フロー4500は、ステップ4525へと進む。
【0494】
ステップ4525では、第1のデバイスは、異なる証明機関によって発行される公開キーに基づいて、秘密情報の各シェアを暗号化する。公開キーは、ステップ4510で第1のデバイスから第2のデバイスに送信された証明書から取得される公開キーであり得る。いくつかの実施形態では、ステップ4525は、ステップ4520の一部として含まれ得る。例えば、ステップ4520に関して説明されるキー式秘密共有ルーチンは、秘密情報のシェアに適用され得、キー式IDAのキーは、第1のデバイスから第2のデバイスに送信される証明書のリストに関連付けられる公開キーである。別の実施例では、証明書のリストに関連付けられる公開キーは、
図36のオプション3600に関して説明されるように、秘密情報のシェアを暗号化するために分割キーとして使用され得る。次いで、過程4500は、ステップ4530へと進み、または随意でステップ4527へと進み得る。
【0495】
随意的なステップ4527では、第1のデバイスは、ステップ4525で秘密情報のシェアに適用されたキーにキーラップを行い得る。いくつかの実施形態では、キーラップは、任意の好適なキー暗号化またはキーラップアルゴリズムであり得る。キーラップは、ステップ4520で生成された分散秘密情報のシェア全体に影響し得る。代替として、分散シェアは、加えて、いくつかのブロックに分散され得、キーラップは、これらのブロックに影響し得る。次いで、過程フロー4500は、ステップ4530へと進む。
【0496】
ステップ4530では、第1のデバイスは、秘密情報の暗号化されたシェアを第2のデバイスに伝送する。この伝送は、
図1の通信リンク105に関して説明されるもの等の任意の好適な通信チャネル上で発生し得る。次いで、過程フロー4500における第1のデバイスが、ステップ4545へと進む一方で、第2のデバイスは、ステップ4535へと進む。
【0497】
ステップ4535では、第2のデバイスは、第1のデバイスから受信される暗号化されたシェアを復号しようとし得る。この復号過程は、秘密情報のシェアがどのようにしてステップ4520およびステップ4525で暗号化されたかに基づき得る。例えば、ステップ4520では、秘密情報のシェアは、少なくとも定数のシェアを再結合させることによってシェアの少なくとも一部から修復可能である、秘密情報のシェアを生成する、分散技法から生成されていることがある。ステップ4525では、各分散シェアは、第2のデバイスの証明書に対応する、異なる証明機関によって取得される公開キーを使用して暗号化されていることがある。ステップ4527では、シェアは、加えて、ワークグループキーに基づくキーラップを使用して暗号化されていることがある。この暗号化に基づいて、ステップ4535では、第2のデバイスは、最初に、一意の証明機関によって発行される公開キーに基づいて、秘密情報の暗号化されたシェアを復号し、次いで、ステップ4527で適用されたキーラップのワークグループキーに基づいて、秘密情報のシェアを復号し得る。この特定の実施例を越えて、任意の好適な数および種類の復号ステップが、ステップ4535で行われ得ることが理解されるであろう。次いで、過程フロー4500は、ステップ4540へと進む。
【0498】
ステップ4540では、第2のデバイスは、ステップ4535で計算された復号シェアに基づいて、元の秘密情報を修復しようとし得る。この修復過程は、ステップ4515で生成された秘密情報がどのようにしてステップ4520で分散されたかに基づき得る。例えば、ステップ4520では、秘密情報のシェアは、
図33、
図35、および
図36に関して説明される技法のうちのいずれかに従って、セキュアなデータパーサの分散機能を使用して生成されていることがある。この分散に基づいて、ステップ4540では、第2のデバイスは、
図34に関して説明される技法のうちのいずれかに従って、セキュアなデータパーサの修復機能を使用して、分割から元の秘密情報を修復し得る。次いで、過程フロー4500は、ステップ4545へと進む。
【0499】
ステップ4545では、第1および第2のデバイスは、交換された乱数、および計算された、または元の秘密情報に基づいて、共有暗号化キーを独立して計算し得る。例えば、第1のデバイスは、独自の乱数、第2のデバイスの乱数、およびステップ4515で生成された秘密情報を使用して、その証明書のリストの中のその証明書の各々に対して1つずつ、いくつかのデジタル署名を行い得る。これらのデジタル証明は、第1のデバイス用の共有暗号化キーを計算するキー生成機能への入力として使用され得る。第2のデバイスは、同様のデジタル署名を行って独自の共有暗号化キーを計算し得るが、元の秘密情報の代わりに復号秘密情報を使用し得る。次いで、過程4500は、ステップ4550へと進む。
【0500】
いくつかの実施形態では、ステップ4550では、第1のデバイスおよび第2のデバイスは、ステップ4545で独立して計算された共有暗号化キーに合意するかどうかを決定する。いくつかの実施形態では、この合意は、共有暗号化キーを用いて符号化されたメッセージを交換する第1および第2のデバイスによって決定され得る。例えば、第1のデバイスは、共有暗号化キーを用いて暗号化されたメッセージを第2のデバイスに送信し得る。第2のデバイスが、暗号化されたメッセージを復号し、例えば、適切な承認により応答することができる場合、第1のデバイスは、第2のデバイスとメッセージをセキュアに交換し得ることを決定し得る。そうでなければ、第1のデバイスは、第2のデバイスとメッセージをセキュアに交換しないことを決定し得、さらなるメッセージは交換されない。同様の決定が第2のデバイスで生じ得ることが理解されるであろう。いくつかの実施形態では、第1および第2のデバイスは、いずれのメッセージも伴わずに暗号化キーを交換することによって、それらの独立して計算された共有暗号化キーが合致することを決定し得る。第1および第2のデバイスが共有暗号化キーに合意しない場合、過程4500は、ステップ4555へと進む。第1および第2のデバイスが共有暗号化キーに合意する場合、過程4500は、ステップ4560へと進む。ステップ4555では、第1および第2のデバイスは、メッセージを交換しない。ステップ4560では、第1および第2のデバイスは、メッセージを交換する。ステップ4555および4560のそれぞれの後で、過程フロー4500は終了し得る。
【0501】
図46は、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、クライアント4610とサーバ4620との間にセキュアなプロキシサービスを確立するための簡略化した例証的な過程フロー4600を示す。過程フロー4600では、クライアント4610とサーバ4620との間の接続の初期交渉中に、信頼が一式の証明機関において分配される。いくつかの実施形態では、過程フロー4600は、クライアント4610とサーバ4620との間のセキュアな交換のキー確立段階の一部として実行され得る。過程フロー4600におけるステップのうちのいずれかを含む、このキー確立段階は、例えば、過程フロー4600のステップがどのようにしてセキュアなデータパーサに関連付けられるかに従って、セキュアなデータパーサに関連付けられる過程のうちの1つ以上の一部であり得る。加えて、過程フロー4600は、
図45に関して論議されるような過程フロー4500の実施例であり得る。
【0502】
過程フロー4600は、ステップ4612から始まる。ステップ4612では、クライアント4610は、生成された乱数R
C、ならびにその証明書Cert−CA1
C、Cert−CA2
C、およびCert−CA3
Cのリストをサーバ4620に送信する。クライアント4610およびサーバ4620は、それぞれ、
図1のユーザシステム105およびベンダシステム120に関して説明されるような任意の好適なクライアントおよびサーバデバイスであり得る。R
Cは、例えば、
図45の過程フロー4500のステップ4510で第1のデバイスによって生成される乱数に従って、クライアント4610によって生成され得る。これらの証明書のそれぞれは、
図45の過程フロー4500のステップ4510に関して論議される証明書のリストと同様に、異なるセキュリティ機関によって発行される公開キーに関連付けられ得る。次いで、過程フロー4600は、ステップ4622へと進む。
【0503】
ステップ4622では、サーバ4620は、独自の生成された乱数R
S、ならびにその証明書Cert−CA1
S、Cert−CA2
S、およびCert−CA3
Sのリストをクライアント4610に送信する。R
Sは、
図45の過程フロー4500のステップ4510で第2のデバイスによって生成される乱数に従って、サーバ4620によって生成され得る。これらの証明書の各々は、
図45の過程フロー4500のステップ4510に関して論議される一意の証明機関の公開キーと同様に、一意のセキュリティ機関によって発行される公開キーに関連付けられ得る。次いで、過程フロー4600は、ステップ4614へと進む。
【0504】
ステップ4614では、クライアント4610は、秘密情報を生成する。この秘密情報は、例えば、
図45の過程フロー4500のステップ4515に従って生成され得る。また、ステップ4614では、クライアント4610が秘密情報S
CをシェアS1
C、S2
C、およびS3
Cに分散する。この分散は、例えば、
図45の過程フロー4500のステップ4520に関して論議される秘密情報の分散に従って行われ得る。また、ステップ4614では、クライアント4610は、サーバの公開キーのうちの異なる1つを使用して、秘密情報のシェアを暗号化する。例えば、「Enc」がセキュアなデータパーサによって実行される暗号化機能を表す場合、Pub1
S、Pub2
S、およびPub3
Sは、それぞれ、サーバの証明書Cert−CA1
S、Cert−CA2
S、およびCert−CA3
Sに対応する公開キーを表し、クライアントは、Enc(Pub1
S,S1
C)を実行することによって、Pub1
Sを使用してS1
Cを符号化し得、Enc(Pub2
S,S2
C)を実行することによって、Pub2
Sを使用してS2
Cを符号化し得、Enc(Pub3
S,S3
C)を実行することによって、Pub3
Sを使用してS3
Cを符号化し得る。暗号化機能は、
図45の過程フロー4500のステップ4525および4527に関して説明される暗号化の方法の任意の組み合わせから選択され得る。いったん秘密情報が生成され、分散され、暗号化されると、暗号化されたシェアは、サーバ4620に伝送される。次いで、過程フロー4600は、ステップ4616および4624へと進む。
【0505】
ステップ4624では、秘密情報のシェアS1
C、S2
C、およびS3
Cは、
図45の過程フロー4500のステップ4525および4540に関して説明される任意の好適な復号および修復技法を使用して、サーバ4620によって復号され、秘密情報に修復され得る。次いで、サーバ4620は、キー生成機能Gを使用して共有暗号化キーKを生成するために、修復された秘密情報を使用し得る。キー生成機能Gは、修復された秘密情報とともに入力として乱数R
CおよびR
Sを採用し得る。ステップ4616では、クライアント4610は、同様に、キー生成機能Gを使用して独自の共有暗号化キーKを生成し得る。しかしながら、クライアント4610によって実行されるキー生成機能は、サーバ4620によって生成される修復された秘密情報よりもむしろ、クライアント4610によって生成された元の秘密情報を使用し得る。次いで、過程4600は、ステップ4630へと進む。
【0506】
ステップ4630では、メッセージは、それぞれの共有暗号化キーKを使用して、クライアント4610とサーバ4620との間で交換される。いくつかの実施形態では、クライアント4610およびサーバ4620は、
図45の過程フロー4500のステップ4550に関して説明される過程と同様に、それらの共有暗号化キーが合致するかどうかを決定し得る。クライアント4610およびサーバ4620のそれぞれの共有暗号化キーが合致しないと決定された場合、メッセージは交換されないことがあり、またはクライアント4610とサーバ4620との間で交換されることが停止され得る。そうでなければ、メッセージの交換は、キー確立段階後に、通常のTLSまたはSSL通信と同様に継続し得る。
【0507】
いくつかの実施形態では、セキュアなプロキシサービスは、クライアント4610上で作動するクライアントアプリケーション上に常駐し得る。クライアントアプリケーションは、サーバのIPアドレスまたはURLおよびポート番号に基づいて、サーバ4620等のセキュアなプロキシサーバ対応のサーバのリストを維持し得る。いくつかの実施形態では、クライアントアプリケーションは、サーバによってアドレス可能であるアドレスに関連付けられ得る。接続が、セキュアなプロキシサービス対応のサーバに対してクライアントによって要求されると、クライアントアプリケーションは、過程フロー4400、4500、および4600で説明されるアプローチを利用して、特定のサーバプロキシサービスとの接続を確立し得る。加えて、セキュアなプロキシサービスは、サービス4620上で作動するサーバアプリケーション上に常駐し得る。サーバアプリケーションは、クライアントアプリケーションから接続を受け入れ、ポート転送規則に基づいて、受信するデータを適正でセキュアなプロキシ構成ポートに転送し得る。これらのポート転送規則は、クライアントアプリケーションおよびサーバアプリケーションによって事前決定されるか、または相互に合意され得る。
【0508】
過程フロー4400、4500、および4600によって説明されるキー確立段階は、証明書のうちの定数よりも少ないがいくつかが損なわれた場合に、依然として2つのデバイスの間で接続をセキュアに確立することができるという保証を提供する。つまり、たとえ損なわれた証明機関がデバイスの間で交換される情報にアクセスできたとしても、通信の機密性または完全性を乱すほど十分な情報を有さないであろう。例えば、過程フロー4600に示されるように、異なる証明機関の公開キーを用いてそれぞれ暗号化される秘密情報の3つのシェアがあった場合、証明機関のうちの1つが損なわれることができ、2つのデバイスの間で接続がセキュアに確立されることができるであろう。たとえ損なわれた証明機関が2つのデバイスの間で渡されているメッセージにアクセスできたとしても、損なわれた証明機関に関連付けられる攻撃者は、他の2つの証明機関の公開および秘密キーペアの知識を有さず、したがって、最大限でも秘密情報のシェアのうちの1つを回復することが可能となるにすぎず、このセキュリティは保証される。さらに、秘密情報のシェアは、少なくとも定数のシェアを再結合させることによって、シェアの少なくとも一部を用いて修復することができるように分散されたため、損なわれた証明機関の背後の攻撃者は、1つだけの回復されたシェアを使用して元の秘密情報を構築できないであろう。したがって、損なわれた証明機関の背後の攻撃者は、秘密情報を回復できず、第1のデバイスと第2のデバイスとの間のメッセージを暗号化するために使用される共有暗号化キーを計算できないであろう。
【0509】
過程フロー4400、4500、および4600は、それらの間にセキュアな通信手段を確立することを所望する2つのデバイスの間に生じるものとして、種々の実施形態で説明される。しかしながら、いくつかの実施形態では、過程フロー4400は、2つより多くのデバイスの間で発生し得る。例えば、過程フロー4400は、パーソナルコンピュータと一式のウェブサーバとの間にセキュアな通信手段を確立するために使用され得る。一式の中の各ウェブサーバは、第1のデバイスとの通信のキー確立段階で、異なる一式の一意の証明機関を使用し得る。
【0510】
図47ならびに
図48Aおよび48Bは、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、デバイス間にセキュアなプロキシサービスを確立するための簡略化した例証的な過程フロー4700、4800、および4850を示す。過程フロー4700、4800、および4850では、デバイス間でメッセージを交換するために使用される通信チャネルの構造における一式の証明機関の間で、信頼が分配される。いくつかの実施形態では、過程フロー4700は、デバイス間の情報のセキュアな交換のキー確立段階の後であるが、デバイスがメッセージを交換する前に実行され得る。過程フロー4700、4800、および4850は、
図37に図示されるようなセキュアなデータパーサ3706に関連付けられる過程のうちの1つ以上の一部であり得、または独立型過程であり得る。例えば、ステップ4710、4720、4730、4740、4750、および4760は、
図37に図示されるようなセキュアなデータパーサ3706に関連付けられる事後暗号化過程3720の一部であり得、または独立型過程であり得る。
【0511】
過程フロー4700は、ステップ4710から始まる。ステップ4710では、通信チャネルがデバイス間に確立される。この通信チャネルは、
図1から
図14に関して説明される任意の好適な信頼エンジン110を使用して確立され得る。いくつかの実施形態では、この通信チャネルは、任意の好適な通信において移動中のデータをセキュア化するように、任意の好適な暗号化技術を使用してセキュア化され得る。例えば、通信チャネルは、従来のSSL、1/2 SSL、FULL SLL、TLS、FULL TLS、RS1、OTP、RC4
TM、Triple DES、AES、IPSec、公開キー暗号化、対称キー暗号化、分割キー暗号化、多因子暗号化、または暗号化技術の任意の好適な組み合わせを使用して確立され得る。いくつかの実施形態では、この通信チャネルはセキュアではない場合がある。例えば、確立された通信チャネルは、平文によってデータを運び得る。いくつかの実施形態では、これらの暗号化技術は、証明機関から発行されるキーを使用し得る。この証明機関は、以下のステップ4730に関して説明されるセキュアな通信トンネルをセキュア化するために使用される、任意の証明機関とは無関係に第1の通信チャネルをセキュア化し得るため、「外部レベル証明機関」と呼ばれ得る。
【0512】
加えて、通信チャネルは、Eメール、ストリーミングデータ放送、およびWiFi通信に関連付けられるデータを運び得る。いくつかの実施形態では、確立された通信チャネルは、CGIスクリプト、ASP、または任意の好適なウェブサーバ技術等の任意の数のサーバまたはクライアント側技術を利用し得る。いくつかの実施形態では、通信チャネルは、いくつかの物理輸送媒体または物理的経路を介して確立され得る。例えば、通信チャネルは、インターネット、イントラネット、LAN、WiFi、Bluetooth(登録商標)、WiMax、または任意の好適な配線接続あるいは無線通信手段のうちの1つ以上、またはそれらの任意の組み合わせの上で確立され得る。各物理輸送媒体は、特定の物理媒体上でメッセージを交換するデバイス間に異なるネットワークトポロジーを有し得る。次いで、過程4700は、ステップ4720へと進む。
【0513】
ステップ4720では、任意の数のセキュアな通信トンネルが、一式の証明機関の間の分配された信頼に基づいて、第1の通信チャネル内に確立される。これらの証明機関は、任意の外部レベル証明機関とは無関係にセキュアな通信トンネル内で通信を保護し得るため、「内部レベル証明機関」と呼ばれ得る。いくつかの実施形態では、これらの通信トンネルは、ステップ4710に関して説明される暗号化技術のうちのいずれかの任意の好適なキー確立段階を使用して確立され得る。いくつかの実施形態では、セキュアな通信トンネルは、第1の通信チャネルによって利用されるものとは異なる暗号化技術を使用して確立される。例えば、通信チャネルが、AESを使用して確立され得る一方で、セキュアな通信トンネルは、FULL TLSを使用して確立される。この実施例では、セキュアな通信トンネルの各々は、
図43の過程フロー4300に関して説明されるものと同様のキー確立過程を使用して確立され得る。いくつかの実施形態では、セキュアな通信トンネルは、第1の通信チャネルと同じ暗号化技術を使用して確立される。例えば、通信チャネルおよびセキュアな通信トンネルの各々は、FULL TLSを使用して確立され得る。
【0514】
いくつかの実施形態では、セキュアな通信トンネルは、同じ暗号化技術を使用して確立され得、例えば、各通信チャネルは、FULL TLSを使用して確立され得る。他の実施形態では、セキュアな通信トンネルは、異なる暗号化技術を使用して確立され得、例えば、暗号化トンネルのうちのいくつかが、FULL TLSを使用して確立され得る一方で、他のトンネルは、AESを使用して確立される。いくつかの実施形態では、セキュアな通信トンネルは、いくつかの物理的媒体または物理的経路を横断して確立され得る。例えば、セキュアな通信チャネルは、インターネット、イントラネット、LAN、WiFi、Bluetooth(登録商標)、WiMax、または任意の好適な配線接続あるいは無線通信手段のうちの1つ以上、またはそれらの任意の組み合わせの上で確立され得る。各物理輸送媒体は、特定の物理媒体上でメッセージを交換するデバイス間に異なるネットワークトポロジーを有し得る。
【0515】
セキュアな通信トンネルを確立するために、どの暗号化技術が使用されるかにかかわらず、トンネルは、証明機関の間の分配された信頼に基づいてステップ4720で確立される。いくつかの実施形態では、この分配された信頼は、一意の証明機関に基づいて各セキュアな通信トンネルを確立することによって達成され得る。いくつかの実施形態では、各セキュアな通信トンネルは、一意の証明機関のうちの1つによって発行される証明書を使用して確立され得る。そのような実施形態では、対称暗号化キー材料が、そのチャネルに関連付けられる一意の証明機関によって発行される証明書を使用して、各チャネルの確立中に伝達され得る。そのような実施形態では、対称キー暗号化材料は、例えば、上記のFULL TLSにおける証明機関の使用に関して論議される対称キー暗号化材料であり得る。各証明機関は、各々によって発行される証明書が異なる公開および秘密キーペアを有するという点で、一意であり得る。いくつかの実施形態では、一意の証明機関は、ルート証明機関であり得る。他の実施形態では、一意の証明機関は、
図42の証明機関階層4200に関して論議されるように、単一のルート証明機関のツリー内の小証明機関であり得る。異なる証明機関の一意の公開および秘密キーペアが、各セキュアな通信トンネルのキー確立中に使用され得る。例えば、セキュアな通信トンネルがTLSに基づく場合、トンネルの各々は、一意の証明機関のうちの1つの証明書を使用して、
図43の過程フロー4300に関して説明されるように確立され得る。次いで、過程4700は、ステップ4730へと進む。
【0516】
ステップ4730では、データパケットが、一式の証明機関および多因子秘密共有に基づいて、セキュアな通信トンネル上での伝送に準備される。いくつかの実施形態では、この準備は、通信トンネルのうちの異なる1つの確立中に作成されるキーを使用して、データパケットを暗号化することを含み得る。いくつかの実施形態では、このキーは、各チャネルに関連付けられる一意の証明機関の証明書を使用してそのチャネルの確立中に伝達された、対称暗号化キー材料を使用して生成される対称キーであり得る。加えて、この準備は、多因子秘密共有に基づいて、各データパケットをシェアに分散し、次いで、ステップ4720でセキュアな通信トンネルを確立するために使用された一意の証明機関の証明書を使用して、結果として生じたシェアを暗号化することを含み得る。この分散過程は、
図5および
図6のデータ分割モジュール520または610に関して論議され、
図8および
図20から24に関して詳述されるような任意の好適なデータ分割または暗号分割を使用して達成され得る。
【0517】
加えて、いくつかの実施形態では、データパケットは、実質的に
図33、
図35、および
図36に関して概説されるセキュアなデータパーサの任意の数の使用を通して、シェアに分散され得る。例えば、セキュアなデータパーサは、暗号化されていないデータパケットを受信し得る。データパケットがキーを必要とするアルゴリズムを用いて分割される場合、分割暗号化キーが生成される。いくつかの実施形態では、データパケットは、実質的に
図33、
図35、および
図36に関して説明される技法のうちのいずれかに従うステップでシェアに分割され得る。いくつかの実施形態では、分割暗号化キーを暗号化し、総数よりも少ないシェアからのデータパケットの再生を可能にするために、耐故障スキームが使用され得る。例えば、データパケットは、少なくとも定数のシェアを再結合させることによって、シェアの少なくとも一部からシェアが修復可能であるように、任意の好適なデータ分散を使用してシェアに分散され得る。加えて、情報が、データパケットを再構築するために使用されるデータパケットのシェアに追加され得る。さらに、いったんシェアが作成されると、認証/完全性情報がデータパケットのシェアに埋め込まれ得る。各シェアは、ステップ4720でセキュアな通信トンネルを確立するために使用された一意の証明機関の公開キーを使用して、事後暗号化され得る。
【0518】
加えて、いくつかの実施形態では、データパケットの分散は、ヘッダ生成段階およびデータ区分段階といった2つの段階で生じ得る。段階は、例えば、
図40Aに示されるような簡略化したヘッダ生成過程4000、および
図40Bに示されるような簡略化したデータ区分段階4010であり得る。これらの過程の一方または両方が、データパケットに行われ得る。いくつかの実施形態では、データパケットは、第1の通信チャネルを確立するために使用される暗号化技術に基づいて事後暗号化され得る。次いで、事前暗号化されたデータパケットは、以下で説明されるように過程4000および/または4010を通して実行され得る。
【0519】
図40Aのステップ4002で示されるように、分割キーが生成され得る。次いで、暗号化されていない、または事前暗号化されたデータパケットが、随意で、ステップ4004において(例えば、
図39に関して説明されるワークグループキーを使用して)暗号化され得る。ステップ4006では、分割キーを使用してデータパケットを秘密情報のシェアに分割するために、「N分のM暗号分割」が使用され得る。次いで、データパケットの各シェアが、シェアヘッダに埋め込まれ得る。最終的に、シェア完全性ブロックおよび事後承認タグ(例えば、MAC)が、各シェアのヘッダブロックに添付され得る。各ヘッダブロックは、単一の暗号化されたデータパケット内に適合するように設計され得る。各ヘッダブロックは、ステップ4720で通信トンネルの異なる1つの確立中に作成されるキーを使用して事後暗号化され得る。
【0520】
いくつかの実施形態では、秘密情報のシェアを含むヘッダが生成された後、セキュアなデータパーサは、データ区分段階に入り得る。このデータ区分段階は、例えば、
図40Bに示されるような簡略化したデータ区分過程4010であり得る。例えば、それぞれの暗号化されていない、または事前暗号化された着信データパケットは、ステップ4012で、共有キーまたはワークグループキー等の1つ以上のキーを使用して暗号化され得る。いくつかの実施形態では、暗号化されるデータは、簡略化したヘッダ生成過程4000中に計算されるデータパケットのシェアを含むヘッダを含み得る。ステップ4014では、シェア完全性情報(例えば、ハッシュH)が、ステップ4012からの結果として生じた暗号文について計算され得る。例えば、SHA−256ハッシュが、ステップ4012で1つ以上のキーを用いて暗号化されるデータについて計算され得る。ステップ4106では、次いで、データパケットは、本発明に従って上記で説明されるデータ分割アルゴリズムのうちの1つを使用して、2つ以上のデータシェアに区分され得る。いくつかの実施形態では、データパケットまたはデータブロックは、各データシェアが暗号化されたデータパケットまたはデータブロックの実質的にランダムな分配を含むように分割され得る。次いで、完全性情報(例えば、ハッシュH)が、各データシェアに添付され得る。いくつかの実施形態では、随意的な事後認証タグ(例えば、MAC)も、計算され、各データシェアに添付され得る。加えて、各データシェアは、
図40Bに関して説明されるようなメタデータを含み得る。メタデータは、データパケットに関する情報と、データパケットのシェアを生成するために使用されるワークグループキーとを含み得る。各データパケットシェアは、ステップ4720でセキュアな通信トンネルを確立するために使用された一意の証明機関の公開キーを使用して、事後暗号化され得る。
【0521】
いくつかの実施形態では、データパケットのシェアは、
図38および39の例証的なブロック
図3800および3900に示されるように、キーおよびデータ構成要素がシェア内に記憶される方法と同様に、暗号化キーまたはデータ分割キーのシェアに関連付けられ得る。例えば、データパケットのシェアは、暗号化キー3804の複数部分が分割され、シェア3810内に記憶される方法と同様に記憶され得る。ワークグループキーが利用される場合、データのシェアは、例証的なブロック
図3900に示されるように、シェア内に記憶される前にワークグループキーを用いて暗号化され得る。
【0522】
どのようにしてデータパケットがシェアに分散されるかにかかわらず、各シェアは、ステップ4720で通信トンネルのうちの異なる1つの確立中に作成されたキーを使用して事後暗号化され得る。例えば、いくつかの実施形態では、各々が一意の証明機関を用いてステップ4720で確立される3つのセキュアな通信トンネルがあり得る。次いで、ステップ4730で生成される各シェアは、通信トンネルのうちの異なる1つの確立中に作成されたキーを使用して暗号化され得る。いくつかの実施形態では、これらのキーは、3つの一意の証明機関を使用して各チャネルの確立中に伝達された、対称暗号化キー材料を使用して生成される対称キーであり得る。次いで、過程4700は、ステップ4740へと進む。
【0523】
ステップ4740では、準備されたデータパケットが、それらの宛先に伝送される。この伝送は、
図1の通信リンク105に関して説明されるもの等の任意の好適な通信チャネル上で生じ得る。いくつかの実施形態では、パケットの宛先は、セキュアなデータプロキシ対応のサーバのうちの1つ以上であり得る。クライアントデバイス上で作動するクライアントアプリケーションは、サーバのIPアドレスまたはURLおよびポート番号に基づいて、セキュアなプロキシサーバ対応のサーバのリストを維持し得る。いくつかの実施形態では、クライアントアプリケーションは、サーバによってアドレス可能であるアドレスに関連付けられ得る。接続が、セキュアなプロキシサービス対応のサーバに対してクライアントによって要求されると、クライアントアプリケーションは、ステップ4710および4720で説明されるアプローチを利用して、特定のサーバプロキシサービスとの接続を確立する。いったん準備されたデータがその宛先に伝送されると、次いで、過程4700は、ステップ4750へと進む。
【0524】
ステップ4750では、伝送されたデータパケットが受信される。いくつかの実施形態では、伝送されたデータパケットは、セキュアなデータプロキス対応のサーバ上で作動するサーバアプリケーション上に常駐する、セキュアなプロキシサービスによって受信され得る。サーバアプリケーションは、クライアントアプリケーションから接続を受け入れ、ポート転送規則に基づいて、受信するデータを適正でセキュアなプロキシ構成ポートに転送し得る。これらのポート転送規則は、クライアントアプリケーションおよびサーバアプリケーションによって事前決定されるか、または相互に合意され得る。次いで、過程4700は、ステップ4760へと進む。
【0525】
ステップ4760では、データパケットが、一式の証明機関および多因子秘密共有に基づいて修復される。いくつかの実施形態では、この修復は、ステップ4730でデータパケットを解析および暗号化するために使用された準備過程の酷似した過程であり得る。例えば、ステップ4730では、データパケットは、ステップ4720でセキュアな通信トンネルの確立に関連付けられたキーを使用して暗号化されていることがある。加えて、暗号化されていない、または事前暗号化されたデータパケットのシェアは、
図33、
図35、および
図36に関して説明される技法のうちのいずれかに従って、セキュアなデータパーサの分散技法を使用して生成されていることがある。いくつかの実施形態では、データパケットのシェアは、第1の通信チャネルを確立するために使用される暗号化技術に基づいて暗号化され得る。
【0526】
したがって、データパケットのシェアは、最初に、ステップ4720でセキュアな通信トンネルの確立に関連付けられたキーに基づいて復号され得る。次いで、復号シェアは、
図34に関して説明される技法のうちのいずれかに従って、セキュアなデータパーサの修復機能を使用して修復され得る。いくつかの実施形態では、修復されたシェアは、第1の通信チャネルを確立するために使用される暗号化技術に基づいて復号され得る。いくつかの実施形態では、データの復号シェアは、シェアヘッダに埋め込まれ得る。そのような実施形態では、データのシェアは、復号シェアヘッダから抽出され、セキュアなデータパーサの修復機能を使用して修復され得る。次いで、過程フロー4700は終了する。いくつかの実施形態では、ステップ4730、4740、4750、および4760は、セキュアな通信トンネル上での伝送のために必要に応じて繰り返され得る。
【0527】
図48Aに関するセキュアなプロキシサービスの実施形態を説明すると、過程フロー4800は、セキュアなプロキシサービスを使用して、ウェブサーバ等の第2のデバイスと通信するように要求する、パーソナルコンピュータ上で作動するクライアント側アプリケーション上等、第1のデバイス上で実行され得る。過程フロー4800は、ステップ4810から始まる。ステップ4810では、第1のセキュアな通信チャネルが確立され得る。このセキュアな通信チャネルは、
図47の過程フロー4700のステップ4710に関して説明されるように、任意の好適な暗号化技術のキーを用いたキー確立過程を使用して確立され得る。いくつかの実施形態では、これらのキーは、「外部レベル証明機関」と呼ばれる証明機関から発行され得る。加えて、通信チャネルは、
図47の過程フロー4700のステップ4710に関して論議されるように、任意の好適なアプリケーションに関連付けられるデータを運び得る。また、通信チャネルは、
図47の過程フロー4700のステップ4710に関して説明されるように、いくつかの物理輸送媒体を横断して確立され得る。次いで、過程4800は、ステップ4815へと進む。
【0528】
ステップ4815では、任意の数のセキュアな通信トンネルが第1の通信チャネル内に確立される(例えば、1、2、3、5、10、50、100、または100より多くのセキュアな通信トンネル)。各セキュアな通信チャネルは、一意の証明機関から取得される証明書を使用して確立され得、各トンネルは、それぞれの一意の証明機関に関連付けられ得る。いくつかの実施形態では、対称暗号化キー材料が、各チャネルに関連付けられる一意の証明機関によって発行される証明書を使用して、各チャネルの確立中に伝達され得る。そのような実施形態では、対称キー暗号化材料は、例えば、上記のFULL TLSにおける証明機関の使用に関して論議される対称キー暗号化材料であり得る。
図47の過程フロー4700と同様に、セキュアな通信トンネルを確立するために使用される一意の証明機関は、「内部レベル証明機関」と呼ばれ得る。セキュアな通信トンネルの各々は、
図47の過程フロー4700に関して説明されるように、1つ以上の物理輸送媒体上で、任意の好適な暗号化技術を用いたキー確立過程を使用して確立され得る。また、
図47の過程フロー4700のステップ4720と同様に、各証明機関は、各々によって発行される証明書が異なる公開および秘密キーペアを有するという点で、一意であり得る。いくつかの実施形態では、各セキュアな通信トンネルは、そのトンネル上で送信される全てのデータが、通信トンネルの確立中に作成されるキーに基づいて暗号化されるという点で、それぞれの一意の証明機関に関連付けられ得る。いくつかの実施形態では、この関連は、クライアントアプリケーション、サーバアプリケーション、または両方におけるセキュアなデータパーサによって、任意の好適なデータ構造において追跡され得る。次いで、過程4800は、ステップ4820へと進む。
【0529】
ステップ4820では、着信データパケットは、多因子秘密共有を使用して、任意の数のシェアに暗号分割され得る。いくつかの実施形態では、着信データパケットは、ステップ4815で確立されたセキュアな通信トンネルの数と同じ数のシェアに分割され得る。着信データパケットの暗号分割は、例えば、
図47の過程フロー4700のステップ4730に関して論議される任意の好適な分散技法に従って達成され得る。次いで、過程4800は、ステップ4825へと進む。
【0530】
ステップ4825では、シェアの各々が、セキュアな通信トンネルのうちの異なる1つの確立中に作成されたキーを使用して暗号化される。いくつかの実施形態では、キーは、各チャネルに関連付けられる一意の証明機関の証明書を使用してそのチャネルの確立中に伝達された、対称暗号化キー材料を使用して生成される対称暗号化キーであり得る。いくつかの実施形態では、この対称暗号化キー材料は、例えば、上記のFULL TLSにおける証明機関の使用に関して論議される、対称暗号化キー材料であり得る。しかしながら、セキュアな通信トンネルの確立中に作成されるキーは、任意の好適な暗号化キー、秘密情報、または対称暗号化キー以外の任意の他の情報であり得ることが理解され得る。例えば、セキュアな通信トンネルの確立中に作成されるキーは、非対称暗号化キーであり得る。いくつかの実施形態では、ステップ4820で生成されるシェアの各々は、シェアの各々を暗号化するために、通信トンネルの確立に関連付けられたキーのうちのどれが使用されるべきかを識別する1つ以上のビットを用いて前処理され、タグ付けされる。次いで、過程4800は、ステップ4830へと進む。
【0531】
ステップ4830では、暗号化されたシェアの各々は、その下でトンネルが確立された、一意の証明機関に関連付けられるトンネル上で伝送される。例えば、3つの一意の証明機関のうちの異なる1つに基づいてそれぞれ確立された、3つのセキュアな通信トンネルがあった場合、暗号化されていない、または事前暗号化された各着信データパケットは、多因子秘密共有を使用して3つのシェアに暗号分割され、3つの一意の証明機関のうちの異なる1つを使用して作成された3つのキーのうちの異なる1つを使用して暗号化される。したがって、3つの暗号化されたシェアのうちの各々は、その下で一意の証明機関に関連付けられるトンネルが確立された、そのトンネル上で伝送される。いくつかの実施形態では、この伝送は、証明機関とトンネルとの間の関連を維持するデータ構造に基づき得る。
【0532】
いくつかの実施形態では、証明機関とセキュアな通信トンネルとの間の関連は、データ伝送の持続時間の全体を通して一定のままであり得る。他の実施形態では、証明機関とセキュアな通信トンネルとの間の関連は、動的であり得る。いくつかの実施形態では、関連は、データパケット全体の伝送後等の任意の好適な時点でシャッフルされ得る。例えば、第1のデータパケットが、過程フロー4800によって処理され得、データパケットは、ステップ4820で3つのシェアに暗号分割される。第1のデータパケットの第1のシェアは、第1の証明機関を使用して第1のセキュアな通信トンネルの確立中に作成された第1のキーを使用して暗号化され、第1の通信トンネル上で伝送され得る。第1のデータパケットの第2のシェアは、第2の証明機関を使用して第2のセキュアな通信トンネルの確立中に作成された第2のキーを使用して暗号化され、第2の通信トンネル上で伝送され得る。最終的に、第1のデータパケットの第3のシェアは、第3の証明機関を使用して第3のセキュアな通信トンネルの確立中に作成された第3のキーを使用して暗号化され、第3の通信トンネル上で伝送され得る。
【0533】
いくつかの実施形態では、第1のデータパケットの3つのシェアが転送された後に、第1のシェアが第3のキーを使用して暗号化され、第3のトンネル上で伝送され得、第2のシェアが第1のキーを使用して暗号化され、第1のトンネル上で伝送され得、第3の証明機関が第2のキーを使用して暗号化され、第2のトンネル上で伝送され得るように、証明機関と通信チャネルとの間の関連がシャッフルされ得る。そのような実施形態では、これらの関連は、
図2の保管場所210等の通信しているデバイスにアクセス可能である、任意の好適な保管場所に記憶され得る。
【0534】
図48Bに関するセキュアなプロキシサービスの実施形態を説明すると、過程フロー4850は、クライアント側のセキュアなプロキシサービスアプリケーションを実行するパーソナルコンピュータ等の第1のデバイスと情報を交換している、ウェブサーバ等の第2のデバイス上で作動する、クライアント側のセキュアなプロキシサーバアプリケーション上で実行され得る。過程フロー4850は、ステップ4835から始まる。ステップ4835では、データの暗号化されたシェアはそれぞれ、それぞれの通信トンネル上で受信される。サーバアプリケーションは、クライアントアプリケーションから接続を受け入れ、ポート転送規則に基づいて、受信するデータを適正でセキュアなプロキシ構成ポートに転送し得る。これらのデータのシェアは、それぞれ、
図48Aの過程フロー4800のステップ4820、4825、および4830で暗号分割され、暗号化され、伝送された同じシェアであり得る。次いで、過程フロー4850は、ステップ4840へと進む。
【0535】
ステップ4840では、シェアの各々は、シェアが受信された、それぞれのセキュアな通信トンネルの確立に関連付けられたキーに基づいて復号される。いくつかの実施形態では、この過程は、
図48の過程フロー4800のステップ4825に関して説明されるものと酷似し得る。次いで、過程フロー4850は、ステップ4845へと進む。
【0536】
ステップ4845では、復号データパケットシェアは、元のデータパケットに修復される。いくつかの実施形態では、この修復は、
図48の過程フロー4800のステップ4820で使用される分散技法の酷似した過程であり得る。いくつかの実施形態では、修復されたシェアは、第1の通信チャネルを確立するために使用されるデータ分散および/または暗号化技術に基づいて復号され得る。次いで、過程フロー4800は終了する。いくつかの実施形態では、過程フロー4800および4850のステップは、セキュアな通信トンネル上での伝送のために必要に応じて繰り返され得る。
【0537】
過程フロー4700、4800、および4850に関して説明される通信プロトコルは、ある外部または内部レベルの証明機関が損なわれた場合に、データがデバイス間でセキュアに交換されるという保証を提供する。つまり、たとえ損なわれた証明機関が、その証明機関に関連付けられたキーに基づいて交換される情報にアクセスできたとしても、損なわれた証明機関に関連付けられる攻撃者は、通信の機密性または完全性を乱すほど十分な情報を有さない。例えば、外部レベル証明機関が損なわれたが、内部レベル証明機関がそれらの完全性を保持した場合、攻撃者は、セキュアな通信トンネルの各々の内側のデータのストリームを観察することが可能となる。しかしながら、攻撃者は、各セキュアな通信トンネル上でデータをセキュア化するために使用される一意の証明機関の各々の証明書の知識を含む、セキュアな通信トンネルの各々の内側で使用される暗号化の知識を有さない。
【0538】
別の実施例では、内部レベル証明機関のうちの1つ以上が損なわれたが、外部レベル証明機関が損なわれないままであった場合、攻撃者は、外部レベル証明機関によって使用される暗号化の知識を有さないため、データパケットの暗号分割部分を回復することができるが、暗号分割部分を復号することができないことがある。さらに、セキュアな通信トンネルを通して送信されるデータパケットが、少なくとも定数のシェアを再結合させることによってシェアの少なくとも一部から修復可能であるように、暗号分割される場合、セキュアなデータパーサのユーザは、セキュアな通信トンネルに関連付けられる証明書のうちの定数よりも少ないがいくつかが損なわれた場合に、攻撃者が暗号分割データパケットを修復することができなくなる、追加の保護を有し得る。
【0539】
図48Cは、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、通信チャネルの構造における一式の証明機関の間で信頼を分配する、セキュアなプロキシサービス4870の簡略化したブロック図である。セキュアなプロキシサービス4870は、
図1−8に関して説明されるように、信頼エンジン110内の任意の好適な信頼エンジン110またはモジュール上に存在し得る。セキュアなプロキシサービスは、FULL TLSを使用して確立される、第1の通信チャネル4880およびサブチャネル(すなわち、セキュアな通信トンネル)4872、4874、および4876を含むものとして図示される。しかしながら、これらの通信チャネルは、
図47の過程フロー4700のステップ4710および4720に関して論議されるように、または
図48Aの過程フロー4800のステップ4810および4815に関して論議されるように、任意の好適な暗号化を用いて、または暗号化を用いずに、確立され、使用され得ることが理解されるであろう。加えて、セキュアなプロキシサービス4870は、3つのサブチャネルを使用するものとして図示されているが、セキュアなプロキシサービス4870上で情報をセキュアに転送するために、任意の好適な数のサブチャネルが使用され得る。
【0540】
セキュアなプロキシサービス4870は、受信したデータパケット4877を含み得る。いくつかの実施形態では、データパケット4877は、セキュアなプロキシサービス4870によって処理されるデータの暗号化されていないパケットであり得る。データパケット4877は、
図2の信頼エンジン210に関して説明される保管場所210等の任意の好適なソースから受信され得る。他の実施形態では、データパケット4877は、通信チャネル4880を確立するために使用される暗号化技術に従って事前暗号化され得る。例えば、セキュアなプロキシサービス4870に示されるように、通信チャネル4880は、FULL TLSを使用して確立される。このFULL TLS通信チャネルは、
図43の過程フロー4300に従って確立され得る。
【0541】
セキュアなプロキシサービス4870はまた、暗号パケット分割モジュール4878を含み得る。いくつかの実施形態では、暗号パケット分割モジュール4878は、
図47の過程フロー4700のステップ4730に関して論議される、または
図48Aの過程フロー4800のステップ4820および4825に関して論議される、暗号化およびデータ分散技法のうちのいずれかを実行および/または計算するための任意の回路および/または命令を含み得る。いくつかの実施形態では、暗号パケット分割モジュール4878は、サーバと通信するように要求する、クライアントデバイスまたはクライアント側アプリケーション上に存在し得る。他の実施形態では、暗号パケット分割モジュール4878は、
図37の例証的な概説過程3700のセキュアなデータパーサ3706を実行するのに好適である、任意のデバイス上に存在するか、またはその上で作動し得る。
【0542】
セキュアなプロキシサービス4870はまた、通信チャネル4880を含み得る。通信チャネル4880は、
図47の過程フロー4700のステップ4710における第1の通信チャネル関して説明されるように、または
図48Aの過程フロー4800のステップ4810における第1のセキュアな通信チャネルに関して説明されるように、任意の好適な暗号化を使用して、またはいずれの暗号化も使用せずに、1つ以上の物理的媒体上で確立され得る。サブチャネル4872、4874、および4876は、通信チャネル4880に基づいて確立され得る。これらのサブチャネルは、例えば、
図47の過程フロー4700のステップ4720に関して説明される、または
図48Aの過程フロー4800のステップ4815に関して説明されるセキュアな通信トンネルに従って、一意の証明機関の証明書に基づいて1つ以上の物理的媒体上で確立され得る。このようにして、各サブチャネルが、一意の証明機関に関連付けられ得る。
【0543】
例えば、セキュアなプロキシサービス4870に示されるように、TLSサブチャネル4872は、証明機関CA1に関連付けられ、TLSサブチャネル4874は、証明機関CA2に関連付けられ、TLSサブチャネル4876は、証明機関CA3に関連付けられる。いくつかの実施形態では、サブチャネルとそれらそれぞれの証明機関との間の関連は、一定のままであり得る。他の実施形態では、サブチャネルとそれらそれぞれの証明機関との間の関連は、
図48Aの過程フロー4800のステップ4830に関して説明されるように変化し得る。通信チャネル4880およびサブチャネル4872、4873、および4876は、
図1の暗号システム100に関して説明される通信リンク125等の任意の好適な通信リンク上で確立され得る。
【0544】
いくつかの実施形態では、暗号パケット分割モジュール4878は、サブチャネル4872、4874、および4876上でデータパケット4877の分散シェアを伝送し得る。この伝送は、例えば、
図47の過程フロー4700のステップ4740に従って、または例えば、
図48Aの過程フロー4800のステップ4830に従って生じ得る。いくつかの実施形態では、暗号パケット分割モジュール4878は、サブチャネル4872、4874、および4876のそれぞれの上で分割シェアのうちの1つを伝送し得る。他の実施形態では、暗号パケット分割モジュール4878は、サブチャネル4872、4874、および4876のうちの1つの上で、1つより多くの分割シェアを伝送し得る。そのような実施形態は、サブチャネル4872、4874、および4876のうちの1つが、サブチャネルのうちの1つを支持する物理的媒体の故障により使用不可能である場合に、有用であり得る。
【0545】
いくつかの実施形態では、サブチャネル4872、4874、および4876は、それぞれ、データ暗号化モジュール4871、4873、および4875を含み得る。データ暗号化モジュール4871、4873、および4875は各々、サブチャネルのうちの1つに関連付けられる一意の証明機関に関連付けられ得る。いくつかの実施形態では、データ暗号化モジュールは、データ暗号化を、そのサブチャネルを介して通るデータパケットの各シェアに適用する。例えば、プロキシサービス4870に関して示されるように、暗号化モジュール4871は、TLSサブチャネル4872に関連付けられる証明機関CA1に関連付けられ、チャネル4872の確立中に作成されたキーに基づいてFULL TLSを使用して、サブチャネル4872を介して通るデータパケットの各シェアを暗号化する。チャネル4872の確立は、証明機関CA1から取得される証明書を使用し得る。暗号化モジュール4873は、TLSサブチャネル4874に関連付けられる証明機関CA2に関連付けられ、チャネル4874の確立中に作成されたキーに基づいてFULL TLSを使用して、サブチャネル4874を介して通るデータパケットの各シェアを暗号化する。このチャネル4874の確立は、証明機関CA2から取得される証明書を使用し得る。最終的に、暗号化モジュール4875は、TLSサブチャネル4876に関連付けられる証明機関CA3に関連付けられ、チャネル4876の確立中に作成されたキーに基づいてFULL TLSを使用して、サブチャネル4876を介して通るデータパケットの各シェアを暗号化する。このチャネル4876の確立は、証明機関C3から取得される証明書を使用し得る。いくつかの実施形態では、暗号化モジュール4872は、
図37の例証的な過程3700のセキュアなデータパーサ3706を実行するのに好適である、任意のデバイス上に存在するか、またはその上で作動し得る。
【0546】
セキュアなプロキシサービス4870はまた、パケット修復モジュール4879を含み得る。パケット修復モジュールは、
図47の過程フロー4700のステップ4750に関して説明されるように、または
図48Bの過程フロー4800のステップ4835に関して説明されるように、サブチャネル4872、4874、および4876からデータパケットのシェアを受信し得る。いくつかの実施形態では、パケット修復モジュール4879は、
図47の過程フロー4700のステップ4760に関して説明されるように、または
図48Bの過程フロー4850のステップ4840および4845に関して説明されるように、修復されたデータパケット4882を生成するように復号技法またはパケット修復技法のうちのいずれかを実行および/または計算するための任意の回路および/または命令を含み得る。いくつかの実施形態では、パケット修復モジュール4879は、クライアントデバイスまたはクライアント側アプリケーションから要求を受信する、サーバデバイスまたはサーバ側アプリケーション上に存在し得る。他の実施形態では、パケット修復モジュール4879は、
図37の例証的な概観過程3700のセキュアなデータパーサ3700を実行するのに好適である、任意のデバイス上に存在するか、またはその上で作動し得る。
【0547】
図49は、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、通信チャネルの構造における一式の証明機関の間で信頼を分配する、クライアント4910とサーバ4920との間のセキュアなプロキシサービス4900の図示したステップおよび特徴の過程フロー図である。例えば、信頼は、以下で説明されるように、キー確立段階4570の一部として、第1の証明機関CA1、第2の証明機関CA2、および第3の証明機関CA3において分配され得る。いくつかの実施形態では、セキュアなプロキシサービス4900は、クライアント4910とサーバ4920との間の情報のセキュアな交換のキー確立段階中および後であるが、クライアント4910およびサーバ4920がメッセージを交換する前に実行され得る。セキュアなプロキシサービス4900は、過程フロー4700、4800、および4850のステップがセキュアなデータパーサに関連付けられる方法と同様に、セキュアなデータパーサに関連付けられる過程のうちの1つ以上の一部であり得る。加えて、セキュアなプロキシサービス4900は、
図47、48A、および48Bの過程フロー4700、4800、および4850の実施例であり得、またはセキュアなプロキシサービス4870の動作の実施例であり得る。
【0548】
セキュアなプロキシサービス4900は、ステップ4930から始まる。ステップ4930では、クライアント4910は、
図47の過程フロー4700のステップ4710および4720における第1の通信チャネルおよびセキュアな通信トンネル、ならびに
図48Bの過程フロー4850のステップ4810および4820における第1のセキュアな通信チャネルおよびセキュアな通信トンネルに関して説明されるように、第1の通信チャネル(図示せず)およびセキュアな通信トンネルを確立する。次いで、セキュアなプロキシサービス4900は、ステップ4912へと進む。
【0549】
ステップ4912では、クライアント4910は、セキュアなデータパーサヘッダH
1、H
2、およびH
3を生成し、それらをサーバ4920に伝送し得る。ヘッダH
1、H
2、およびH
3は、クライアント4910およびサーバ4920によって合意されるデータ分散技法に関係する情報を含み得る。例えば、いくつかの実施形態では、クライアント4910およびサーバ4920は、それぞれの交換されたメッセージの「N分のM暗号分割」の使用に合意し得る。ヘッダH
1、H
2、およびH
3は、ステップ4930で、セキュアな通信トンネルの確立に関連付けられたキーに基づいて暗号化され得る。いくつかの実施形態では、この暗号化およびヘッダ生成は、
図47の過程フロー4700のステップ4730に関して論議される、または
図48Bの過程フロー4800のステップ4820および4825に関して論議される、暗号化およびデータ分散技法のうちのいずれかの一部として含まれ得る。加えて、いくつかの実施形態では、このヘッダ生成過程は、
図48Cのセキュアなプロキシサービス4870に関して説明されるように、暗号パケット分割モジュール4878によって実行され得る。次いで、クライアント4910は、ヘッダH
1、H
2、およびH
3をサーバ4920に伝送し得る。この伝送は、例えば、
図47の過程フロー4700のステップ4740に従って、または例えば、
図48Aの過程フロー4800のステップ4830に従って生じ得る。加えて、暗号パケット分割モジュール4878は、
図48Cのセキュアなプロキシサービス4870に関して説明されるように、サブチャネル4872、4874、および4876上で、データパケット4877のヘッダH
1、H
2、およびH
3を伝送し得る。次いで、セキュアなプロキシサービス4900は、ステップ4922へと進む。
【0550】
ステップ4922では、サーバ4920は、
図47の過程フロー4700のステップ4750に関して説明されるように、または
図48Bの過程フロー4850のステップ4835に関して説明されるように、ヘッダH
1、H
2、およびH
3を受信し得る。次いで、クライアント4910は、データDをシェアD
1、D
2、およびD
3に分散し得る。シェアD
1、D
2、およびD
3は、ステップ4930で、セキュアな通信トンネルの確立に関連付けられたキーに基づいて暗号化され得る。いくつかの実施形態では、この分散過程は、
図47の過程フロー4700のステップ4730に関して論議される、または
図48Aの過程フロー4800のステップ4825に関して論議される、暗号化およびデータ分散技法のうちのいずれかの一部として含まれ得る。セキュアなプロキシサービス4900は、暗号化および解析されたデータのシェアをクライアント4910に伝送する。この伝送は、例えば、
図47の過程フロー4700のステップ4740に従って、または例えば、
図48Aの過程フロー4800のステップ4830に従って生じ得る。セキュアなプロキシサービス4900は、ステップ4914へと進み得る。
【0551】
ステップ4914では、クライアント4910は、
図47の過程フロー4700のステップ4750に関して説明されるように、または
図48Bの過程フロー4850のステップ4835に関して説明されるように、シェアD
1、D
2、およびD
3を受信し得る。いくつかの実施形態では、パケット修復モジュールが、
図48Cのセキュアなプロキシサービス4870のパケット修復モジュール4879に関して説明されるように、サブチャネルからデータパケットのシェアを受信し得る。次いで、クライアント4910は、シェアD
1、D
2、およびD
3を復号および修復し得る。シェアは、
図47の過程フロー4700のステップ4760に関して説明されるように、または
図48Bの過程フロー4850のステップ4840および4845に関して説明されるように、任意の好適な復号および修復技法に従って復号および修復され得る。いくつかの実施形態では、シェアD
1、D
2、およびD
3は、
図48Cのセキュアなプロキシサービス4870のパケット修復モジュール4879等のパケット修復モジュールによって、復号および修復され得る。クライアント4910は、ステップ4912および4914のうちのいずれかを繰り返し得、サーバ4920は、クライアント4910とサーバ4920との間でデータを伝送するために必要に応じて何度でもステップ4922を繰り返し得る。次いで、セキュアなプロキシサービス4900は終了する。
【0552】
図50は、本発明の一実施形態による、任意の好適な追加、削除、または修正とともに任意の好適な組み合わせで使用され得る、通信チャネルの構造における一式の証明機関の間で信頼を分配する、クライアント5010とサーバ5020との間のセキュアなプロキシサービス5000の簡略化したブロック図である。セキュアなプロキシサービス5000は、例えば、過程フロー4700、4800、または4850に関して論議されるセキュアなプロキシサービス、ならびに
図47−49に関して説明されるようなセキュアなプロキシサービス4870または4900であり得る。セキュアなプロキシサービス5000は、
図47の過程フロー4700のステップ4710および
図48Aの過程フロー4800のステップ4810に関して説明されるように、セキュアな通信トンネル5030、5040、および5050のうちの各々が、外部レベル証明機関(
図50に示されていない)に関連付けられるように実装され得る。加えて、セキュアなプロキシサービス5000は、セキュアな通信トンネル5030、5040、および5050のうちの各々が、第1の証明機関CA1、第2の証明機関CA2、および第3の証明機関CA3等の内部レベル証明機関のうちの異なる1つに関連付けられ、セキュアな通信トンネル5030、5040、および5050のうちの各々が、異なる物理輸送媒体上で確立されるように実装され得る。これらの異なる物理的媒体は、
図47の過程フロー4700のステップ4710に関して、または
図48Aの過程フロー4800のステップ4810に関して説明されるような任意の好適な物理輸送媒体であり得る。例えば、
図50に図示されるように、セキュアな通信トンネル5030、5040、および5050は、それぞれ、WiFi、Ethernet(登録商標)、およびセルラー通信チャネル上で確立され得る。
【0553】
セキュアなプロキシサービス5000の通常動作中、クライアント5010は、第1のセキュアな通信トンネル5030上で第1のデータシェア5012を、第2のセキュアな通信トンネル5040上で第2のデータシェア5014を、および第3のセキュアな通信トンネル5050上で第3のデータシェア5016を送信し得る。データシェア5012、5014、および5016は、
図47の過程フロー4700のステップ4730に関して論議される、または
図48Aの過程フロー4800のステップ4820および4825に関して論議される、任意の好適なデータ分散および暗号化技法を使用して、クライアント5010によって計算されるデータシェアであり得る。セキュアなプロキシサービス5000は、データを3つのデータシェアに分割するものとして図示されているが、セキュアなプロキシサービス5000は、データを任意の好適な数のシェアに分散し、任意の好適な数のセキュアな通信トンネル上でそれらを伝送し得ることが理解され得る。
【0554】
いくつかの実施形態では、物理的媒体は、ネットワーク障害を体験する場合がある。このネットワーク障害は、物理的媒体の構造的機能不全によるものである場合がある。例えば、セキュアなプロキシサービス5000において図示されるように、第3のセキュアな通信トンネル5050を確立するために使用されるセルラー通信チャネルは、セルラー電波塔の損傷により、ネットワーク障害を体験する場合がある。
【0555】
いくつかの実施形態では、セキュアなプロキシサービス5000は、ネットワーク障害(
図50に示されていない)に応じて、セキュアな通信トンネル5030、5040、および5050上でのそのデータパケットの伝送を変更しないことがある。言い換えれば、クライアント5010は、第1のセキュアな通信トンネル5030上で第1のデータシェア5012を、および第2のセキュアな通信トンネル5040上で第2のデータシェア5014を送信し続け得る。セキュアなプロキシサービス5000のいくつかの実施形態では、第1のデータシェア5012および第2のデータシェア5014を含むデータパケットは、データ完全性の損失を伴わずに交換され続け得る。例えば、各伝送されたデータパケットを回復するために、定数のシェア5012、5014、および5016のみが必要とされるように、セキュアなプロキシサービス5000によって処理されるデータパケットが、秘密共有アルゴリズム(例えば、Shamir秘密共有アルゴリズム)を使用して分割される場合には、クライアント5010とサーバ5020との間で交換されるパケット間のデータ完全性の損失がないことがある。
【0556】
いくつかの実施形態では、セキュアなプロキシサービス5000は、セキュアな通信トンネル上でのそのデータパケットの伝送を変更し得る。例えば、第1のデータシェア5012が、WiFiベースのセキュアな通信トンネル5030上で伝送される続け得る一方で、第2のデータシェア5014および第3のデータシェア5014は、Ethernet(登録商標)ベースのセキュアな通信トンネル5040上で伝送され得る。そのような実施形態では、セキュアな通信トンネルのうちの1つ以上は、追加のキー確立過程を使用して、1つ以上のセキュアな通信トンネルに分割される必要があり得る。この分割は、例えば、
図47の過程フロー4700のステップ4720、または
図48の過程フロー4800のステップ4820に関して説明される、キー確立段階のうちのいずれかに従って達成され得る。これらのキー確立段階後に、データパケットのデータシェアは、セキュアなプロキシサービス5000の新しい構成に従って再開し得る。
【0557】
いくつかの実施形態では、このセキュアなプロキシサービス5000の新しい構成は、セキュアな通信トンネルの確立またはセキュアな通信トンネルの分割部分に関連付けられたキーに基づいて、データの分割シェアがどのように暗号化されるかを変更し得る。例えば、第1のデータシェア5012は、WiFiベースの第1のセキュアな通信トンネル5030の確立に関連付けられたキーに基づいて暗号化され、次いで、そのトンネル上で伝送され得る。第2のデータシェア5014は、Ethernet(登録商標)ベースの第2のセキュアな通信トンネル5040の第1の分割部分5042の確立に関連付けられたキーに基づいて暗号化され、第1の分割部分5042上で伝送され得、第3のデータシェア5016は、Ethernet(登録商標)ベースのセキュアな通信トンネル5040の第2の分割部分5044の確立に関連付けられたキーに基づいて暗号化され、第2の分割部分5044上で伝送され得る。いくつかの実施形態では、第1のセキュアな通信トンネル5030は、証明機関CA1から取得される証明書を使用して確立され得、Ethernet(登録商標)ベースの第2のセキュアな通信トンネル5040の第1の分割部分5042は、証明機関CA2から取得される証明書を使用して確立され得、Ethernet(登録商標)ベースのセキュアな通信トンネル5040の第2の分割部分5044は、証明機関CA3から取得される証明書を使用して確立され得る。いくつかの実施形態では、セキュアなプロキシサービス5000は、その上にセキュアな通信トンネルが確立される通信チャネルが故障するか、または修復されるにつれて、これらの追加のキー確立過程を適応的に実行し得る。
図50に図示されるようなセキュアなプロキシサービス5000の実施形態では、セキュアなプロキシサービス5000は、「通信媒体冗長」と呼ばれ得る。
【0558】
図50に図示されるようなセキュアなプロキシサービス5000の実施形態では、データは、データ機密性、完全性、および真正性の損失を伴わずに、クライアント5010とサーバ5020との間で交換され得る。つまり、たとえ損なわれた証明機関が、その証明機関に基づいて交換されるメッセージにアクセスできたとしても、その証明機関に関連付けられる攻撃者は、通信の機密性または完全性を乱すほど十分な情報を持たない場合がある。例えば、セキュアなプロキシサービス5000の外部レベル証明機関が損なわれたが、内部レベル証明機関の完全性が保たれた場合、攻撃者は、WiFiベースの通信チャネルおよびEthernet(登録商標)ベースの通信チャネルの両方の部分上で、データのストリームを観察することができ得るが、それぞれのセキュアな通信トンネル上でデータをセキュア化するために使用される暗号化の知識を持たない場合がある。
【0559】
別の実施形態では、内部レベル証明機関のうちの1つ以上が損なわれたが、外部証明機関が損なわれないままであった場合、攻撃者は、外部レベル証明機関によって使用される暗号化の知識を持たない場合があるため、データパケットの暗号分割部分のうちのいくつかを回復することができ得るが、データパケット自体を復号することができないことがある。さらに、セキュアな通信トンネルを通して送信されるデータパケットが、少なくとも定数のシェアを再結合させることによってシェアの少なくとも一部から修復可能であるように、暗号分割される場合、セキュアなデータパーサのユーザは、セキュアな通信トンネルに関連付けられる証明書のうちの定数よりも少ないがいくつかが損なわれた場合に、攻撃者が暗号分割データパケットを修復することができないことがある、追加の保護を有し得る。
【0560】
加えて、他の組み合わせ、追加、置換、および修正が、本明細書の開示を考慮して当業者に明白となるであろう。