(57)【要約】  分割されたマスタ秘密の「ディーラ」がマスタ鍵サーバになるような、システム及び方法。マスタ鍵サーバの役割は、最初にマスタ秘密を計算し、マスタ秘密のシェアを作成して２つの分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）に配布し、ノード間のプロセス間通信を初期化及びルーティングし、ユーザ・システムＩＢＥ秘密鍵生成プロセスを調整してそれに計算的に参与することである。
2015505230.tif 000002
【特許請求の範囲】
【請求項１】
ｘについて２〜ｑ−１の値を選択すること、
マスタ鍵サーバにおいて、Ｄ−ＰＫＧ  ＩＢＥ秘密鍵を抽出すること、
前記ＩＢＥ秘密鍵をＤ−ＰＫＧノードに発行すること、
前記Ｄ−ＰＫＧノードにおいて、それらのＩＢＥ秘密鍵を記憶すること、
直線ｆ（Ｘ）＝ｍＸ＋ｘを生成することであって、ｍ（傾き）がランダムに選ばれること、
ｘを３つのシェアｘ１、ｘ２、ｘ３に分割すること、
異なるｍを使用してランダムな値ｒを３つのシェアｒ１、ｒ２、ｒ３に分解すること、
前記マスタ鍵サーバにおいて、２つの前記Ｄ−ＰＫＧノードに対し、一方のＤ−ＰＫＧノードにはｘ２及びｒ２を配布し、他方のＤ−ＰＫＧノードにはｘ３及びｒ３を配布し、ｘ１及びｒ１をそれ自体のために保持することを含む方法。
【請求項２】
前記マスタ鍵サーバにおいて、前記Ｄ−ＰＫＧノードを認証システム・ディレクトリに登録するよう求める要求を前記認証システムに対して生成すること、
前記マスタ鍵サーバにおいて、前記要求にＨＭＡＣシグネチャを適用すること、
前記マスタ鍵サーバにおいて、前記要求を前記認証システムに送ること、
前記認証システムにおいて、前記要求の前記ＨＭＡＣシグネチャを検証すること、
前記認証システムにおいて、マスタ公開鍵のシェアを求める要求によって両方のＤ−ＰＫＧノード及びマスタ鍵サーバに接触すること、
前記マスタ鍵サーバ及びＤ−ＰＫＧノードにおいて、Ｒｉ＝ｘｉＰ１を算出し、これを応答として前記認証システムに渡すこと、
前記認証システムにおいて、シェアを結合して前記マスタ公開鍵
Ｒ＝３Ｒ１−３Ｒ２＋Ｒ３
を得ること、
前記認証システムにおいて、前記Ｄ−ＰＫＧノードの位置及び前記マスタ公開鍵を前記認証システム・ディレクトリに記録することをさらに含む、請求項１に記載の方法。
【請求項３】
ユーザ・システムにおいて、認証鍵合意プロトコルを前記認証システムと開始してそのＩＤを証明すること、
前記ユーザ・システムと前記認証システムの両方に利用可能なセッション鍵を作成すること、
ユーザ・システムＩＤに関連するＤ−ＰＫＧノード及びそれらのネットワーク・アドレスを、前記認証システム・ディレクトリから得ること、
前記認証システムにおいて、前記Ｄ−ＰＫＧノードの前記マスタ公開鍵及びそれらのネットワーク・アドレスを入力として使用して前記セッション鍵をカプセル化することであって、その結果として各Ｄ−ＰＫＧノードに１つずつ、２つのカプセル化済みセッション鍵が得られること、
前記認証システムにおいて、特定のユーザ・システムＩＢＥ秘密鍵シェアを前記ユーザ・システムに発行するよう求める要求を、前記Ｄ−ＰＫＧノードに対して作成すること、
前記認証システムにおいて、前記要求を両方の前記Ｄ−ＰＫＧノードに送ること、
前記Ｄ−ＰＫＧノードにおいて、前記要求を受け取るとＨＭＡＣシグネチャを検証すること、
前記マスタ鍵サーバから発行されたそれらのＤ−ＰＫＧ  ＩＢＥ秘密鍵を使用してそれぞれのセッション鍵をカプセル化解除すること、
前記ユーザ・システムＩＤを入力として使用して前記ユーザ・システムＩＢＥ秘密鍵シェアを生成し、前記セッション鍵を使用して前記ユーザ・システムＩＢＥ秘密鍵シェアを暗号化すること、
前記ユーザ・システムが、前記セッション鍵で前記ユーザ・システムＩＢＥ秘密鍵シェアを暗号化解除し、Ｓ＝２Ｓ１−Ｓ２を算出することによって前記ユーザ・システムＩＢＥ秘密鍵シェアを再組立てすることをさらに含む、請求項２に記載の方法。
【請求項４】
ｓｉ＝ｚｉｒｉを算出するためにｚ＝ｘ＋ＩＤの算出をｚｉ＝ｘｉ＋ＩＤとして実施すること、
同じ算出を実施するよう求める、ＨＭＡＣシグネチャを含む要求を、前記マスタ鍵サーバに送ること、
前記マスタ鍵サーバにおいて、前記算出を実施してｓｉを得て、ランダムなライン方程式を選び、ｓｉ中の３つのシェア、すなわちｓｉ１、ｓｉ２、及びｓｉ３を算出すること、
前記マスタ鍵サーバにおいて、ｓｉ１を保持し、ｓｉ２及びｓｉ３を、やはりＨＭＡＣシグネチャと共に、前記他の２つのＤ−ＰＫＧノードに配布すること、
前記マスタ鍵サーバにおいて、ｓｉのそのシェアをｓｉ＝３ｓ１ｉ−３ｓ２ｉ＋ｓ３ｉとして算出すること、
前記Ｄ−ＰＫＧノードにおいて、前記ＨＭＡＣシグネチャを検証し、ｓｉのそれらのシェアをｓｉ＝３ｓ１ｉ−３ｓ２ｉ＋ｓ３ｉとして算出すること、
全てのＤ−ＰＫＧノードと前記マスタ鍵サーバとの間でｓ１の全てのシェアを配布すること、
前記Ｄ−ＰＫＧノードにおいて、ＨＭＡＣシグネチャを検証するとｓ＝３ｓ１−３ｓ２＋ｓ３を回復すること、
前記Ｄ−ＰＫＧノードにおいて、ｗｉ＝ｒｉ／ｓを算出し、Ｓi＝ｗｉＰ１を計算して、それらが前記ユーザ・システムに供給することになる前記ユーザ・システムＩＢＥ秘密鍵シェアを生成すること、
前記Ｄ−ＰＫＧノードにおいて、前記セッション鍵でそれらの前記ユーザ・システムＩＢＥ秘密鍵シェアを暗号化し、前記ユーザ・システムＩＢＥ秘密鍵シェアを前記ユーザ・システムに配布することをさらに含む、請求項３に記載の方法。
【請求項５】
前記認証システムを介して前記ユーザ・システムをターゲット・システムに対して認証し、前記ターゲット・システムへのアクセスを提供すること、
前記ユーザ・システムにおいて、ユーザ・システム非対称公開／秘密鍵の対をプログラム的に作成すること、
パス・フレーズを入力するよう促すことによってユーザ・システム対称暗号化鍵を作成することであって、前記ユーザ・システムが前記入力をとってＰＢＫＤＦ２などの導出プロトコルを使用して前記対称暗号化鍵を算出すること、
前記ユーザ・システムにおいて、前記ユーザ・システム非対称公開鍵を利用してユーザ・システムＩＢＥ秘密鍵を暗号化すること、
前記ユーザ・システムにおいて、前記パス・フレーズから導出された前記ユーザ・システム対称暗号化鍵で前記ユーザ・システム非対称秘密鍵を暗号化すること、
前記ユーザ・システムにおいて、前記パス・フレーズから導出された前記ユーザ・システム対称暗号化鍵を除いた全ての鍵を前記ターゲット・システムにプログラム的にアップロードすること、
前記パス・フレーズから導出された前記ユーザ・システム対称暗号化鍵を前記ユーザ・システムのメモリから安全に除去すること、
前記ターゲット・システムにおいて、通信チャネルを介して前記ユーザ・システム非対称公開鍵を前記認証システムに利用可能にすること、
前記認証システムにおいて、前記ユーザ・システム非対称公開鍵を受け取り、前記認証システム・ディレクトリ中の前記ユーザ・システムＩＤに対応する関連レコードに前記ユーザ・システム非対称公開鍵を書き込むことをさらに含む、請求項４に記載の方法。
【請求項６】
前記認証システムを介して前記ユーザ・システムをターゲット・システムに対して認証し、前記ターゲット・システムへのアクセスを提供すること、
前記ユーザ・システムにおいて、アーカイブされた全てのユーザ・システムＩＢＥ秘密鍵を利用可能にするよう求める認証済み要求を、前記ターゲット・システムに対して作成すること、
前記ターゲット・システムにおいて、前記ユーザ・システムのアーカイブＩＢＥ秘密鍵で応答すること、
前記ユーザ・システムにおいて、パス・フレーズを入力するよう促すこと、
パスワード導出機能を介して前記ユーザ・システム対称暗号化鍵を再構成すること、
前記ユーザ・システム対称暗号化鍵を使用して前記ユーザ・システム非対称秘密鍵を暗号化解除すること、
前記ユーザ・システム非対称公開鍵で暗号化された前記アーカイブされたユーザ・システムＩＢＥ秘密鍵を、前記ユーザ・システム非対称秘密鍵で暗号化解除することをさらに含む、請求項５に記載の方法。
【請求項７】
前記Ｄ−ＰＫＧノードにおいて、現在の時間期間についての前記ユーザ・システムＩＢＥ秘密鍵シェアを生成すること、
前記Ｄ−ＰＫＧノードにおいて、前記認証システム・ディレクトリ中で前記ユーザ・システム非対称公開鍵をルックアップすることを求める、ＨＭＡＣシグネチャを含む認証済み要求を、前記認証システムに対して作成すること、
前記認証システムにおいて、前記シグネチャを検証し、前記ルックアップを実施し、ＨＭＡＣシグネチャと共に前記公開鍵を含む応答を返すこと、
前記Ｄ−ＰＫＧノードにおいて、前記応答のＨＭＡＣシグネチャを検証し、前記ユーザ・システム非対称公開鍵で前記ユーザ・システムＩＢＥ秘密鍵シェアを暗号化し、前記鍵をメモリから除去すること、
前記Ｄ−ＰＫＧノードにおいて、ＳＭＴＰなどの記憶転送メカニズムを介してメッセージを作成し、電子メールを介して前記暗号化済みユーザ・システムＩＢＥ秘密鍵シェアを送ることをさらに含む、請求項６に記載の方法。
【請求項８】
前記Ｄ−ＰＫＧノードにおいて、任意選択で、前記暗号化済みユーザ・システムＩＢＥ秘密鍵シェアを、前記ユーザ・システムからアクセス可能なオンライン・ストレージ・ロッカに、または前記ターゲット・システムにアップロードすること、
前記ユーザ・システムにおいて、前記ユーザ・システム非対称秘密鍵を利用して前記ユーザ・システムＩＢＥ秘密鍵シェアを暗号化解除することをさらに含む、請求項７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、２０１２年１月２５日に出願された「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＳＥＣＵＲＩＮＧ  ＰＲＩＶＡＴＥ  ＫＥＹＳ  ＩＳＳＵＥＤ  ＦＲＯＭ  ＤＩＳＴＲＩＢＵＴＥＤ  ＰＲＩＶＡＴＥ  ＫＥＹ  ＧＥＮＥＲＡＴＯＲ（Ｄ−ＰＫＧ）ＮＯＤＥＳ（分散秘密鍵ジェネレータ((Ｄ−ＰＫＧ))ノードから発行された秘密鍵をセキュリティ保護するためのシステム及び方法）」という名称の米国仮特許出願第６１／５９０，６９７号に対する優先権の利益を主張する２０１３年１月２４日に出願された「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＳＥＣＵＲＩＮＧ  ＰＲＩＶＡＴＥ  ＫＥＹＳ  ＩＳＳＵＥＤ  ＦＲＯＭ  ＤＩＳＴＲＩＢＵＴＥＤ  ＰＲＩＶＡＴＥ  ＫＥＹ  ＧＥＮＥＲＡＴＯＲ（Ｄ−ＰＫＧ）ＮＯＤＥＳ（分散秘密鍵ジェネレータ((Ｄ−ＰＫＧ))ノードから発行された秘密鍵をセキュリティ保護するためのシステム及び方法）」という名称の米国特許出願第１３／７４９，３９８号に対する優先権の利益を主張するものであり、参照によりこれらの特許出願が本出願に組み込まれるものとする。
【０００２】
本発明は、暗号化の分野に関する。本発明の目的は、ＩＤベース暗号化の分散秘密鍵ジェネレータ・プロセスによって発行された秘密鍵を、同じシステム中の他のソフトウェア・プロセスからの、システムの人間オペレータからの、または悪意あるソフトウェア・エージェントからの侵害に対して、セキュリティ保護することである。
【背景技術】
【０００３】
ＩＤベース暗号化システム（ＩＢＥ）では、クライアントは、自分の電子メール・アドレスなどの任意のストリングを、自分の公開鍵として選ぶ。したがって、ＩＢＥ方式は、標準化された公開鍵ストリング・フォーマットにより、公開鍵証明書の必要性を完全になくす。例として、ＩＢＥ方式では、送信側は、受信側のＩＤさえわかれば、受信側へのメッセージを暗号化することができ、重要なことにこれは、受信側の公開鍵証明書を得て検証することなしに行うことができる。当然、このようなシステムでは、クライアントのＩＤに対する秘密鍵をクライアント自身が生成することはできない。秘密鍵ジェネレータ（ＰＫＧ）と呼ばれる、信頼される関与者側があり、ＰＫＧは、システム・セットアップを実施し、マスタ秘密と呼ばれる秘密を生成し、システムのユーザに秘密鍵を提供する（ユーザ・システムＩＢＥ秘密鍵）。ＰＫＧがユーザ・システムの秘密鍵を計算するので、ＰＫＧは、ユーザ・システムの全てのメッセージを暗号化解除することができてしまう。これは、鍵供託と呼ばれる特性である。この固有の鍵供託特性は、取扱いに注意を要するデータを傍受して暗号化解除することがないよう、ＰＫＧを完全に信頼することを必要とするが、これは、多くの現実的な企業生産シナリオでは見出すのが難しい。
【図面の簡単な説明】
【０００４】
【図１】本発明の好ましい実施形態における、ＩＤベース暗号化システム全体と対話する内部コンポーネント及び外部コンポーネントを示すブロック図である。
【図２】本発明の一実施形態による、マスタ鍵サーバ及び分散秘密鍵ジェネレータ・ノードのセットアップ段階を安全に初期化する、行われるステップを示すブロック図である。
【図３】本発明の一実施形態による、マスタ鍵サーバを使用して分散秘密鍵ジェネレータ・ノードを認証システムに安全に登録する、行われるステップを示すブロック図である。
【図４】本発明の一実施形態による、ユーザ・システムＩＢＥ秘密鍵シェアをユーザ・システムに発行するよう求める認証済み要求を認証システムから分散秘密鍵ジェネレータ・ノードに送るために行われるステップを示すブロック図である。
【図５】本発明の一実施形態による、マスタ鍵サーバと分散秘密鍵ジェネレータ・ノードとの間の安全なプロセス間通信のために行われるステップを示すブロック図である。
【図６】本発明の一実施形態による、ユーザ・システムＩＢＥ秘密鍵をターゲット・システムによってアーカイブするためにユーザ・システムによって行われるステップを示すブロック図である。
【図７】本発明の一実施形態による、ユーザ・システムＩＢＥ秘密鍵のアーカイブを暗号化解除するためにユーザ・システムによって行われるステップを示すブロック図である。
【図８】本発明の一実施形態による、ユーザ・システムの公に利用可能なユーザ・システム非対称公開鍵を使用して非対話式通信によってユーザ・システムＩＢＥ秘密鍵シェアを配布するために分散秘密鍵ジェネレータ・ノードによって行われるステップを示すブロック図である。
【発明を実施するための形態】
【０００５】
したがって、鍵供託問題の不正使用に対する防御への解決法を見つけることは、ＩＤベース暗号化の分野における重要かつ有用な応用である。ＩＤベース暗号化システムに付きもののリスクを緩和する方法の１つは、ＰＫＧを複数の分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードに分散させることである。（ｎ，ｔ）分散型のＤ−ＰＫＧでは、マスタ秘密はｎ個のＤ−ＰＫＧノード間に分散し、したがって、サイズｔ以下のノード・セットはマスタ秘密を計算することができず、クライアントは、ｔ＋１個以上のいずれかのノードから秘密鍵シェアを得ることによって、自分のＩＢＥ秘密鍵を抽出する。次いでクライアントは、システムの公開鍵を使用して、このように抽出した自分の鍵の正しさを検証することができる。
【０００６】
現在、使用されているＩＤベース秘密鍵には３つの主要なタイプがあり、これらは全て、楕円曲線上のペアリングに基づく。すなわち、フルドメイン・ハッシュ、可換ブラインディング（ｃｏｍｍｕｔａｔｉｖｅ  ｂｌｉｎｄｉｎｇ）、及び指数逆数（ｅｘｐｏｎｅｎｔ  ｉｎｖｅｒｓｉｏｎ）である。指数逆数タイプは、ランダム・オラクル・モデルにおいて最も効率的なものとして知られているＩＤベース暗号化（ＩＢＥ）方式を提供する。残念ながら、指数逆数タイプのＤ−ＰＫＧノードを使用することには、他のタイプと比較したとき、固有の弱さがある。すなわち、少なくとも３つのノードが動作中であることを必要とすることだが、他のタイプは、２つのノードのみが動作中であることしか必要とせず、また、分散設定で実行されるときに、それほど複雑な鍵抽出マルチ計算プロトコルを必要としない。
【０００７】
プロトコルが複雑であるほど、かつ、分散設定で実行されるためにオンラインで利用可能でなければならないノードが多いほど、ノードが危険にさらされるリスクは高くなり、このことは、ユーザ・システム人口全体のための秘密鍵を生成する際に使用されるマスタ秘密が脅かされること、すなわち破局的なシナリオにつながる。したがって、指数逆数タイプのＩＤベース暗号化システムにおいては、ＩＢＥ秘密鍵のシェアを配布するのに必要なノードの数量を削減すること、ノード間の通信プロトコルの複雑さを低減すること、及び、ノードまたはマスタ鍵サーバがマスタ秘密を供託する必要が決してないような暗号技法を利用することが、非常に望ましい。
【０００８】
フルドメイン・ハッシュ・タイプの分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）については多くの従来技術が存在するが（米国特許第７１１３５９４号）、ここで述べる本発明は、指数逆数タイプを使用する企業クラス生産システムに適する最初の方法であるシステム及び方法を含む。
【０００９】
本発明の目的は、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードから発行された指数逆数タイプのＩＤベース暗号化秘密鍵をセキュリティ保護するための、以下のようなシステム及び方法を提供することである。
【００１０】
１）本システム及び方法は、指数逆数タイプにおける分散秘密鍵ジェネレータのセキュリティ上の脆弱性に対処する。すなわち、ＩＤベース暗号化秘密鍵のシェアを直接配布するために少なくとも３つのノードが必要とされること、及び、ノードが複雑な通信プロトコルを介して通信するという脆弱性に対処する。本システム及び方法は、プロトコル全体におけるユーザ・システムＩＢＥ秘密鍵及びマスタ公開鍵の計算及び配布において使用される３つのノードの必要最低数量を削減する。実質的には、許可されたユーザ・システムに３つのノードが秘密鍵のシェアを供給するプロトコルの途中で、１つのノードが「オフライン」になることができ、したがって、ユーザ・システムＩＢＥ秘密鍵及びマスタ公開鍵を配布するために２つのノードしか必要でない。
【００１１】
２つのノードを使用することに対して、３つのノードを使用することは、企業生産設定では、セキュリティの観点から理想的には及ばない。ノードのうちの２つが結託する（これらのノードが損なわれていたかもしれないせいで）場合、これらのノードはマスタ秘密を回復してシステム全体を危険にさらすことができるが、１つのノードが単独で働いてもそうすることはできない。企業生産システム中で公に利用可能なノードの数量を削減することで、マスタ秘密が露呈するリスクが低くなる。よって、ノードのうちの１つが、マスタ公開鍵及びユーザ・システムＩＢＥ秘密鍵の生成及び配布プロトコルの途中で「オフライン」になることができることは、非常に望ましい。
【００１２】
本発明では、分割されたマスタ秘密の「ディーラ」がマスタ鍵サーバになるような、システム及び方法について述べる。マスタ鍵サーバの役割は、最初にマスタ秘密を計算し、マスタ秘密のシェアを作成して２つの分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）に配布し、ノード間のプロセス間通信を初期化及びルーティングし、ユーザ・システムＩＢＥ秘密鍵生成プロセスを調整してそれに計算的に参与することである。重要なのは、マスタ鍵サーバは、分散秘密鍵の生成計算に参与していても、秘密鍵を受け取るどんなユーザ・システムにも利用可能である必要はなく、プロトコルの途中で「オフライン」になることすらでき、実質的に、Ｄ−ＰＫＧノードであることの負担から離れることである。これは望ましいセキュリティ特性であり、指数逆数タイプの秘密鍵生成プロセスで使用されるマスタ秘密をさらにセキュリティ保護する。というのは、マスタ鍵サーバは、プロトコルに参与する２つのＤ−ＰＫＧノード以外の他のどんなシステムにも接続される必要がなく、その上、プロトコルのプロセス全体のうちの半分だけに接続されればよいからである。加えて、本システム及び方法は、２つのＤ−ＰＫＧノード間の結託の可能性を防ぐ。というのは、ノードはマスタ鍵サーバを介してルーティングされるので、ノード間に直接通信は存在しないからである。マスタ公開鍵及びユーザ・システムＩＢＥ秘密鍵のシェアを発行するために、Ｄ−ＰＫＧノードは、ネットワーク接続を介して公に利用可能にされる。
【００１３】
２）本システム及び方法は、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードによって発行される秘密鍵を、作成時点でセキュリティ保護する。したがって、Ｄ−ＰＫＧノードと同じ管理下にある他のソフトウェア・プロセス、システムの人間オペレータ、または悪意あるソフトウェア・エージェントが、発行された秘密鍵にアクセスすることまたはこれを供託することはできない。本システム及び方法は、指数逆数タイプに基づくＩＤベース暗号化システムを用いた対称暗号化及び対称暗号化鍵カプセル化のシステム及び方法を使用して、Ｄ−ＰＫＧノードから、意図された認証済み秘密鍵所持者（ユーザ・システム）への、通信チャネルを介した秘密鍵シェアの配布をセキュリティ保護する。これは、秘密鍵を安全に繰り返し再発行できるので、望ましい特性であり、これにより、ユーザ・システムがセッション状態を超えて秘密鍵を記憶する必要がなくなる。
【００１４】
３）ユーザ・システムが、ユーザ・システムＩＢＥ秘密鍵の安全な記憶及びアーカイブを必要とする（マスタ秘密が変化しており、異なるマスタ秘密から秘密鍵が発行されることになるせいで）場合、本システム及び方法は、過去の及び現在発行されているユーザ・システムの全ての秘密鍵を安全にアーカイブし取り出すオプションを、ユーザ・システムが利用できるようにする。これらの秘密鍵は、ターゲット・システムにアーカイブされターゲット・システムによって直接に記憶されるが、悪意あるマスタ鍵サーバから、またはターゲット・システムと同じ組織制御下にある可能性のある分散秘密鍵ジェネレータ・ノードから、ユーザ・システムＩＢＥ秘密鍵をセキュリティ保護するようにして暗号化される。これは、ユーザ・システムが、失効したマスタ秘密から発行されたＩＢＥ秘密鍵でターゲット・システム上のデータを暗号化解除したいシナリオで、鍵供託の負担がなくなるので、望ましい特性である。
【００１５】
このセクションで述べる手法は、追求できるものだが、システム及び方法全体として総合的にみて、以前に構想または追求された手法というわけでは必ずしもない。したがって、本明細書に別段に指示がない限り、このセクションで述べる手法は、本明細書中の特許請求の範囲に対する従来技術ではなく、また、このセクションに含まれることによって従来技術として認められるものではない。
【００１６】
本発明の主要なコンポーネントは認証システムを含み、認証システムは、ネットワークを介した別のコンピュータ（ユーザ・システム）との認証鍵合意プロトコルに参与する。認証鍵合意プロトコルにより、２つ以上の通信関与者側が、公衆通信チャネル（例えばインターネット）を介して、セッション鍵と呼ばれる暗号的に強い共通の秘密を確立することができる。また、マスタ鍵サーバ及び分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードも、本発明の主要なコンポーネントに含まれる。分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードは、ＩＤベース暗号化秘密鍵のシェアを作成し、ユーザ・システムへの安全な配布のためにこれらを作成時点で暗号化し、また、マスタ公開鍵のシェアも配布する。最後にターゲット・システムが本発明の主要なコンポーネントに含まれるが、ターゲット・システムは、ネットワークに接続されたコンピュータ記憶装置である。ターゲット・システムは、マスタ鍵サーバ及び分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードと同じ組織制御下にあってもよく、またはそうでなくてもよい。ユーザ・システムは、これらの分割されたマスタ公開鍵のシェア及びユーザ・システムＩＢＥ秘密鍵シェアを受け取ると、これらを計算して、完全な使用可能なＩＤベース暗号化鍵（マスタ公開鍵及びユーザ・システムＩＢＥ秘密鍵）にする。他のコンポーネントは、保全性チェックを利用するものである。保全性チェックは、「オフ・ザ・シェルフ」コンピュータ・ハードウェア中ですぐに利用可能な暗号技法を使用して、Ｄ−ＰＫＧノード及びマスタ鍵サーバが実行されているバーチャル・マシンまたはプロセッサ命令の改ざんを検出する。
【００１７】
認証システムは、コンピュータまたはサーバ上で実行されるコンピュータ・プロセスであり、このコンピュータ・プロセスにより、このサーバと、ユーザ・システムである別のコンピュータまたはサーバとが、相互を認証し合い、安全でないネットワークを介して安全な通信チャネルを確立することができる。安全な通信チャネルの基盤は、ユーザ・システムと認証システムとの間の相互認証の成功の副産物としての、暗号的に強い秘密の交換である。この暗号的に強い秘密は、セッション鍵として利用される。セッション鍵は、２つの関与者側が安全に通信することを可能にする暗号化鍵であり、本システム及び方法の内の他のコンポーネントによって再び使用される。特に、セッション鍵は、ＩＤベース暗号化鍵カプセル化方法（やはり、指数逆数タイプのＩＤベース暗号化システムを使用する）を使用してカプセル化され、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードに直接配布されて、Ｄ−ＰＫＧとユーザ・システムとの間に安全なチャネルが確立される（ユーザ・システムＩＤベース暗号化秘密鍵及びマスタ公開鍵のシェアを生成することを求める、暗号的に認証された要求の一部として）。これは、認証システムがユーザ・システムの認証に成功した後で行われる。Ｄ−ＰＫＧは、マスタ鍵サーバによってそのセットアップ段階中に呼び出されるプロセスを介して、認証システムに登録され、認証システムに知られた状態となる。
【００１８】
誤解を避けるために言うと、指数逆数タイプのＩＤベース暗号化システムにおけるカプセル化は、非対称（公開鍵）アルゴリズムまたは他のＩＤベース暗号化システムを使用した伝送のための対称暗号鍵材料をセキュリティ保護するように設計された種類の暗号化技法を使用するカプセル化とは異なる。多くの従来技術、特に、これらの技法のうちで最もよく知られている、境−笠原ＩＤベース鍵カプセル化メカニズム（ＳＫ−ＫＥＭ）に基づく従来技術が発行されている。ＳＫ−ＫＥＭは今や、ＩＥＥＥ  Ｐ１３６３．３標準ドラフトの一部である（ｈｔｔｐ：／／ｇｒｏｕｐｅｒ．ｉｅｅｅ．ｏｒｇ／ｇｒｏｕｐｓ／１３６３／ＩＢＣ／ｍａｔｅｒｉａｌ／Ｐ１３６３．３−Ｄ１−２００８０５．ｐｄｆ）。
【００１９】
ユーザ・システムは、本発明を使用するシステムの受益者である。ユーザ・システムは、認証システムによって認証され、その秘密鍵のシェア（ユーザ・システムＩＢＥ秘密鍵シェア）をＤ−ＰＫＧノードから受け取り、失効したユーザ・システムＩＢＥ秘密鍵のアーカイブを含めた暗号化済みデータをターゲット・システムに記憶する。本システム及び方法は、マスタ鍵サーバ、Ｄ−ＰＫＧノード、認証システム、及びターゲット・システムが、同じ機構またはプロセスによって一斉に実行されている可能性がある場合であっても、ターゲット・システムに記憶されているデータが他のコンポーネントからアクセス可能ではないという保証を提供する。安全な情報交換システム（ターゲット・システム）によってディスクまたはメモリに記憶されたデータは、マスタ鍵サーバのコンピュータ・プロセス、同じシステムの他のソフトウェア・プロセス、システムの人間オペレータ、または悪意あるソフトウェア・エージェントによって暗号化解除することはできない。
【００２０】
ターゲット・システムは、ネットワーク接続を介して利用可能にされるコンピュータ記憶装置である。このターゲット・システムは、例えば、インターネット上の３層ウェブ・サービス（記憶メカニズムは関係データベースであり、データは、インターネットまたはローカル・エリア・ネットワークを介して、ウェブ・アプリケーション及びウェブ・サーバを通して利用可能にされる）から、専用リンクを介してのみ利用可能にされるプロプラエタリ記憶フォーマットまで、様々な形をとることができる。重要なのは、ターゲット・システムに記憶される暗号化済みデータは、暗号化済みデータを含むだけでなく、暗号化済みデータと共に記憶されるように本システム及び方法によって生成された、プロプラエタリ・メタデータも含むことである。メタデータには暗号プリミティブが含まれ、暗号プリミティブは、データがユーザ・システムからアクセスされたときに、ユーザ・システム自体の暗号化解除されたＩＤベース暗号化秘密鍵でデータを暗号化解除できるようにする。
【００２１】
マスタ鍵サーバは、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードのセットアップ段階を開始する、コンピュータまたはサーバ上で実行されるコンピュータ・プロセスである。マスタ鍵サーバは、マスタ秘密のシェアを作成して２つの分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）に配布し、Ｄ−ＰＫＧノードとそれ自体との間のプロセス間通信を初期化及びルーティングし、秘密鍵生成プロセスを調整してそれに計算的に参与する。マスタ鍵サーバは、シャミア（Ｓｈａｍｉｒ）の秘密共有技法を組み込んだ方法を使用して、事前に選択されたＤ−ＰＫＧノード・セットに対してマスタ秘密のシェアのディーラとしての役割を果たし、１つのシェアをマスタ鍵サーバ自体のために保持する。マスタ鍵サーバは、Ｄ−ＰＫＧノードを認証システムに登録し、これらのノードを管理し、これらのノードの使用を監査し、これらのノードの使用のためのポリシ・フレームワークを提供する。
【００２２】
分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）ノードは、コンピュータまたはサーバ上で実行されるコンピュータ・プロセスである。Ｄ−ＰＫＧノードは、ネットワーク動作中に秘密鍵及びマスタ公開鍵配布サービス・ノードを共同で提供し、したがって、機能しているこのようなノードがｎ個以上ある限り、秘密鍵及びマスタ公開鍵のシェアを依然として発行することができる。Ｄ−ＰＫＧからのこれらのシェアの発行は、認証システムがユーザ・システムのＩＤを認証した後で、Ｄ−ＰＫＧが認証システムから認証済み要求を受け取ったときに開始する。
【００２３】
保全性チェックは、確立された従来技術である。保全性チェックは、バーチャル・マシンまたはプロセッサ命令セットの内部コード及び暗号プリミティブを保護することが特に可能にされた今日のコンピュータ・プロセッサ上ですぐに利用可能なハードウェアベースのセキュリティ基礎を使用するプロセスであり、ブート・アップ・プロセスの前にこのコードの保全性をチェックする。ハードウェアベースのプロセスは、コンピュータ上で使用され記憶される情報に対して、より多くの保護を提供する。この保護の重要な側面は、取扱いに注意を要するデータに対する操作をシステムの他の部分から見えないように実施できる、隔離された実行環境及び関連するメモリ・セクションを提供することである。保全性チェックは、プロセッサ上のストレージの密閉された部分を利用し、この部分に、暗号化鍵など取扱いに注意を要するデータが保持される。これは、悪意あるコードによる攻撃の間に危険にさらされることからこれらのデータを守るのに役立つ。コードが実際にはこの保護環境で実行されていることを確実にするために、証明メカニズムが、ハードウェアベースのプロセッサの保全性チェック・メカニズムをシステムが正しく呼び出したことを検証する。
【００２４】
認証システムについての詳細な記述
図１の例示によれば、認証システム（１０）は、コンピュータ上で実行されるソフトウェアとすることができ、または、命令を実行する適切なコンピュータ・コードと共にプロセッサ（１１）を備える専用ハードウェア・デバイスとすることができる。認証システム（１０）の主要な目的は、本システム及び方法のワークフローの第１のステップとして、認証鍵合意プロトコルを使用してユーザ・システム（２０）を認証することであり、認証鍵合意プロトコルは、ユーザ・システム（２０）と認証システム（１０）との間の相互認証の成功の副産物として、暗号的に強い秘密、すなわちセッション鍵（１３）を生み出す。セッション鍵（１３）は、実際のセッション鍵（１３）を決して通信することなく、認証システム（１０）とユーザ・システム（２０）の両方によってそれらの通信セッション中に独立して生成される。これらのシステムに関する暗号の分野における従来技術には、セキュア・リモート・パスワード（ｈｔｔｐ：／／ｓｒｐ．ｓｔａｎｆｏｒｄ．ｅｄｕ／）及びその他を含めて、多くの例がある。必要なのは、暗号システムが、この特定のシステムの暗号ワークフローに必要とされるパラメータ（１２）を使用して、ユーザ・システム（２０）を認証システム（１０）に対して認証すること、及び、相互認証が成功すると、暗号プロトコルの終わりにはセッション鍵（１３）が両方の関与者側に利用可能であることである。この認証ワークフローは、通信リンク、例えばインターネットまたはローカル・エリア・ネットワークなどを介して行われる。ユーザ・システムの認証が成功すると、本システム及び方法は、認証システム（１０）と分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードとの間に通信リンクを確立する。認証システムは、ユーザ・システムＩＢＥ秘密鍵シェア（２８）をユーザ・システム（２０）に発行するよう求める要求の一部として、確立されたセッション鍵（１３）を、セキュリティ保護された通信リンクを介して、例えばＨＴＴＰＳ通信プロトコルを介して分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードに送る。セッション鍵（１３）は、分散秘密鍵ジェネレータ（６０）ノードによって使用されて、ユーザ・システムＩＢＥ秘密鍵シェア（２８）がその作成時点で暗号化され、その後、シェアはユーザ・システム（２０）に配布される。
【００２５】
認証システムの構造上及び機能上の変形
認証システム（１０）は、認証成功の結果として認証システム（１０）及びユーザ・システム（２０）だけに知られるセッション鍵（１３）を結果的に生み出すことになるような、任意の様々な暗号システムを使用することができる。理想的には、利用される暗号システムは、生産設定における使用ケースの、可能な最も広い適用性を可能にすることになり、したがって、認証システム（１０）へは、特化された命令セットを使用してプロセッサがウェブ・ブラウザからアクセスすることができる。これらの生産設定は、ウェブ・ブラウザから、ウェブ・サーバ通信、さらには、ワイヤレス通信をセキュリティ保護しようと意図したモバイル・アドホック・ネットワーク（ＭＡＮＥＴ）まで、様々となる。やはり、必要なのは、ターゲット・システム（４０）とユーザ・システム（２０）との間の意図された固有の通信セッションごとに、また、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードからユーザ・システム（２０）に秘密鍵が配布されるときに、固有の１回限りのセッション鍵（１３）がユーザ・システム（２０）と認証システム（１０）との間で作成されることである。
【００２６】
ユーザ・システムについての詳細な記述
図１の例示によれば、ユーザ・システム（２０）は、ほとんどのパーソナル・コンピュータもしくはスマート・デバイス・プラットフォーム上ですぐに利用可能なソフトウェア（２１）（ウェブ・ブラウザなど）、または特化されたソフトウェア（ソフトウェア・クライアントもしくはサーバ・プロセスなど）を有する、コンピュータまたはサーバとすることができ、あるいは、ユーザ・システム（２０）は、暗号化解除、暗号化、及びディジタル署名のための命令を可能にするプロセッサ（２２）、ならびにセキュリティ保護されたストレージ（２３）と共に、特定目的で構築されたハードウェアを有する、コンピュータまたはサーバとすることができる。このストレージは、メモリ中のみにあってもよく、または、ＵＳＢフラッシュ・ドライブなどのデバイス上にあってもよい。ユーザ・システムは、本システム及び方法の受益者となることを決め、ＩＤ（２４）を使用する。ＩＤ（２４）により、ユーザ・システムは、認証システム（１０）に対してそれ自体を認証することができ、またこれにより、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、ＩＤ（２４）を表すＡＳＣＩＩストリング中で、ユーザ・システムＩＢＥ秘密鍵シェア（２８）を発行することができる。
【００２７】
ユーザ・システムの構造上及び機能上の変形
本発明の好ましい実施形態では、ユーザ・システム（２０）は、非対称公開秘密鍵暗号と対称鍵暗号の組合せを使用した暗号ワークフローを介して、ユーザ・システムＩＢＥ秘密鍵（２９）をターゲット・システム（４０）によって安全にアーカイブ及びバックアップすることが可能にされることになる。この意図は、ユーザ・システムＩＢＥ秘密鍵（２９）を、マスタ鍵サーバ（５０）と同じ組織制御下にある可能性のあるターゲット・システム（４０）に平文で晒すことなく、安全にバックアップ及びアーカイブすることである。ユーザ・システム（２０）は、ユーザ・システム対称暗号化鍵（２５）と共に、ユーザ・システム非対称公開鍵と秘密鍵の対（２６）及び（２７）を作成する。ユーザ・システム対称暗号化鍵（２５）自体は、ＰＢＫＤＦ２（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２８９８．ｔｘｔ）などのパスワード導出プロトコルと共に使用されたときにパス・フレーズから生成することができる。ユーザ・システム（２０）は、現在の時間期間で使用されることになるユーザ・システムＩＢＥ秘密鍵（２９）を受け取ると、ユーザ・システム非対称公開鍵（２６）を利用して、ユーザ・システムＩＢＥ秘密鍵（２９）を暗号化する。加えて、ユーザ・システム（２０）は、パス・フレーズから導出されたユーザ・システム対称暗号化鍵（２５）で、ユーザ・システム非対称秘密鍵（２７）を暗号化することになる。パス・フレーズから導出されたユーザ・システム対称暗号化鍵（２５）を除いた全ての鍵は、プログラムによるバックアップまたは同期プロセス（例えばＨＴＴＰＳプロトコルを介して行うことができる）を介して、ターゲット・システム（４０）によってアーカイブされる。マスタ鍵サーバ（５０）は、異なるマスタ秘密（５３）したがって異なるユーザ・システムＩＢＥ秘密鍵（２９）が使用されていた過去の時間期間からのユーザ・システムＩＢＥ秘密鍵（２９）を使用して暗号化解除されなければならないデータを取り出すために、現在の動作期間を超えてマスタ秘密（５３）を供託（すなわち鍵供託問題）しなくてよいので、本システム及び方法の利益は望ましい。マスタ秘密（５３）に関するソフトウェア・コードについては、添付の付録１を参照されたい。
【００２８】
過去の全てのユーザ・システムＩＢＥ秘密鍵（２９）を利用可能にするよう求める、ユーザ・システム（２０）からターゲット・システム（４０）への認証済み要求が受け取られ、かつ、暗号化された鍵が受け取られると、ユーザ・システム（２０）のオペレータは、例えばユーザ・システム（２０）上のソフトウェア（２１）ダイアログにパス・フレーズを入力することによって、ユーザ・システム対称暗号化鍵（２５）を適用するだけで済み、それにより、パスワード導出機能を介してユーザ・システム対称暗号化鍵（２５）が再構成され、この対称鍵を使用してユーザ・システム非対称秘密鍵（２７）が暗号化解除される。最終ステップは、ユーザ・システム非対称公開鍵（２６）で暗号化された、アーカイブされた全てのユーザ・システムＩＢＥ秘密鍵（２９）を暗号化解除することである。
【００２９】
本方法はまた、オフライン・シナリオでユーザ・システムＩＢＥ秘密鍵（２９）を配布するための好ましい実施形態でもある。この場合、ユーザ・システム（２０）と分散鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードとは、どんな程度の対話も持つことができないか、または対話式オンライン・セッションを持つことができないが、例えば認証システム・ディレクトリ（１４）を介して、ユーザ・システム非対称公開鍵が利用可能にされる。
【００３０】
例として、分散鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、ＳＭＴＰプロトコルなどの記憶転送メカニズムを介して、またはオンライン・ストレージ・ロッカ中で、現在の時間期間のユーザ・システムＩＢＥ秘密鍵シェア（２８）をユーザ・システム（２０）に配布することができる。これは、シェアを生成してユーザ・システム非対称公開鍵（２６）でシェアを暗号化することによって行われ、それにより、ユーザ・システム（２０）がシェアにアクセスしたとき、これらのシェアはユーザ・システム非対称秘密鍵（２７）によって暗号化解除されることになる。
【００３１】
ターゲット・システムについての詳細な記述
図１の例示によれば、ターゲット・システム（４０）は、プロセッサ（４１）上でソフトウェアを実行するコンピュータもしくはサーバであり、または、ストレージ（４４）媒体と共にプロセッサ（４１）を備える専用ハードウェア・デバイスである。ストレージ（４４）媒体は、コンピュータ・メモリとすることができ、または、テープ・ドライブ、ディスク・ドライブ、及びフラッシュ・ドライブなど、他の一般に知られる記憶媒体とすることができる。ターゲット・システムは、インターネット、ローカル・エリア・ネットワーク、またはＰＣＩチャネルを介した接続など、ネットワーク接続を確立できなければならない。ターゲット・システムの主要な目的は、データのアーカイブまたは長期記憶の場合に、暗号化済みデータ（４２）及びそれに付随する関連メタデータ（４３）を記憶するためのメカニズムとしての働きをすることであり、これは例えば、テープ・ドライブを利用する場合、または別の実施形態では、インターネットを介した接続を伴うデータベースとアプリケーション・サーバとウェブ・サーバとからなる３層ウェブ・サービス・アーキテクチャの場合である。別の実施形態では、ターゲット・システム（４０）は、ホスト・コンピュータまたはサーバに接続されたＵＳＢドライブとすることができる。ターゲット・システム（４０）の要件は、ユーザ・システムから通信リンクを介してターゲット・システム（４０）に通信できなければならないこと、ならびに、暗号化済みデータ（４２）及び関連メタデータ（４３）を記憶するためのストレージ（４４）キャパシティを有することである。
【００３２】
マスタ鍵サーバについての詳細な記述
図１の例示によれば、マスタ鍵サーバ（５０）は、プロセッサ（５２）上でソフトウェア（５１）を実行するコンピュータもしくはサーバであり、または、プロセッサ（５２）を備える専用ハードウェア・デバイスである。マスタ鍵サーバ（５０）は、マスタ秘密（５３）の作成、及び、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードへのマスタ秘密（５３）の配布を可能にする。留意すべき重要なことは、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノード自体は、マスタ鍵サーバ（５０）から発行されたそれら自体の完全な指数逆数タイプのＩＢＥ秘密鍵（６５）を受け取ることである。これは、マスタ鍵サーバ（５０）によって指揮される起動及びノード初期化段階の間に行われる。加えて、マスタ鍵サーバ（５０）は、カプセル化されたセッション鍵（１３）を配布するために、分割されたマスタ公開鍵（６４）を、マスタ鍵サーバ（５０）へのアクセスを介して認証システムに利用可能にする。マスタ鍵サーバ（５０）の主要な機能は、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードのノードを正しい暗号プリミティブでセットアップすること、認証システム（１０）との安全な通信を確立すること、ポリシ・フレームワークを介してノードの使用を許可すること、及びノードの使用を監査することである。
【００３３】
分散秘密鍵ジェネレータについての詳細な記述
図１の例示によれば、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、プロセッサ（６２）上でソフトウェア（６１）を実行するコンピュータもしくはサーバであり、または、プロセッサ（６２）を備える専用ハードウェア・デバイスである。本発明の好ましい実施形態では、システムは、シャミア秘密共有のｔ−ｏｕｔ−ｏｆ−ｎ秘密共有方式と、マルチパーティ計算プロトコルとを利用する。セットアップ・プロセスの間、マスタ鍵サーバ（５０）は、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードとの間の初期接続を容易にする。セットアップ・プロセスは３つのサーバ間で実行され、その結果、各サーバは、マスタ秘密ｘのシェアｘ（ｉ）、すなわち分割されたマスタ秘密（６３）を得る。マスタ鍵サーバ（５０）はまた、初期セットアップの後で分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードが認証システムのディレクトリ（１４）に安全に登録されるのを容易にする。このディレクトリは、ユーザ・システムＩＢＥ秘密鍵シェア（２８）を受け取るために、ユーザ・システム（２０）を正しい分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードに結び付けるのに役立つ。
【００３４】
本システム及び方法の利益は、次の点で望ましい。すなわち、認証システム（１０）インフラストラクチャが、マスタ鍵サーバ（５０）及び分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードによって活用されて、ユーザ・システムＩＢＥ秘密鍵シェア（２８）が、安全でないネットワーク及び接続を介して安全に配布される。例えば、ユーザ・システムＩＢＥ秘密鍵（２９）は、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードから受け取られた暗号化済みユーザ・システムＩＢＥ秘密鍵シェア（２８）から、ユーザ・システム（２０）がこのシェアを受け取ったときに再組立てされる。秘密鍵シェア（２８）を暗号化するのに使用される暗号化鍵は、ユーザ・システム（２０）と認証システム（１０）との間の認証が成功した結果としてユーザ・システム（２０）上でそのままの状態にある実際のセッション鍵（１３）である。セッション鍵（１３）は、ユーザ・システムＩＢＥ秘密鍵シェア（２８）を暗号化してユーザ・システム（２０）に安全に配布するために、ユーザ・システム（２０）の認証が成功した後で、認証システム（１０）によって分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードに安全に送信される。
【００３５】
これは、指数逆数タイプのＩＤベース暗号化システムを使用して達成される。特に、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードのセットアップ段階の間、各ノードは、マスタ鍵サーバ（５０）を実行している組織に、現在の動作においてマスタ秘密（５３）から導出される秘密鍵を正当に要求するユーザであるかのように、完全なＩＢＥ秘密鍵を受け取る。これは、Ｄ−ＰＫＧ  ＩＢＥ秘密鍵（６５）である。分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、セットアップ段階の間、ノードのネットワーク・アドレス（例えばＩＰアドレスまたはＵＲＬ）（６７）のＡＳＣＩＩストリング中で発行された完全なＤ−ＰＫＧ  ＩＢＥ秘密鍵（６５）を、マスタ鍵サーバ（５０）から受け取る。分割されたマスタ公開鍵（６４）が、セットアップ段階の間のノードの初期登録時に、認証システム（１０）によって完全なマスタ公開鍵（１５）に組立てられ、認証システム・ディレクトリ（１４）に記録される。認証システム（１０）は、マスタ公開鍵（１５）及びノードのネットワーク・アドレス（例えばＩＰアドレスまたはＵＲＬ）（６７）を、プログラムの入力として使用して、指数逆数タイプのＩＤベース暗号化を介してセッション鍵（１３）をカプセル化する。分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、カプセル化されたセッション鍵（１３）を受け取ると、セッション鍵（１３）をカプセル化解除し、対話式セッション中でユーザ・システム（２０）に配布するために、セッション鍵（１３）を使用してユーザ・システムＩＢＥ秘密鍵シェア（２８）を暗号化する。ユーザ・システム（２０）は、セッション鍵（１３）を使用してユーザ・システムＩＢＥ秘密鍵シェア（２８）を暗号化解除し、シェアを完全なユーザ・システムＩＢＥ秘密鍵（２９）に再組立てする。
【００３６】
保全性チェックについての詳細な記述
図１の例示により、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードが、この状態を保持せず、または、分割されたマスタ秘密（６３）及びそれらのＩＢＥ秘密鍵（６５）を除いては他のどんな特性も記憶せず、保全性チェック（３０）システムの一部である密閉ストレージ（３２）の内部に、分割されたマスタ秘密（６３）及びＩＢＥ秘密鍵（６５）を保持すると考えてみる。例として、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）ノードは、隔離された実行環境（３４）を使用して分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）プロセスを実行し、密閉ストレージ（３２）を使用して、分割されたマスタ秘密（６３）及びＩＢＥ秘密鍵（６５）を記憶することになり、取扱いに注意を要するデータに対する操作は、システムの他の部分から見えないように実施することができる。さらに、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）を実行するバーチャル・マシンまたはプロセッサ・コードのブート・アップまたはリブート時、保全性チェック（３０）の証明メカニズム（３３）が呼び出されることになる。これは、分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）のオペレータに、バーチャル・マシンまたはプロセッサ・コードの状態またはコードを変更した悪意あるソフトウェアまたはハードウェア攻撃の可能性があればそれを警告することになり、バーチャル・マシンまたはプロセッサ・コードの保全性を暗号的に保護する。最後に、バーチャル・マシンまたはプロセッサ・コードが、展開され、分割されたマスタ秘密（６３）及びＩＢＥ秘密鍵（６５）を作成してこれらを密閉ストレージ（３２）の内部に記憶すると、プロセスへの全てのアクセスは永久に無効にされる。これは、プロセッサ（３１）上で実行されるようにコンパイルされたアクセス制御プログラム（６６）の使用を介して達成される。アクセス制御プログラム（６６）は、全てのアカウントについてのアクセスを無効にし、ブート・アップまたはリブート時に証明チェックを実施し、分割されたマスタ秘密（６３）及びＩＢＥ秘密鍵（６５）を密閉ストレージ（３２）の内部に記憶し、ブート・アップまたはリブート時に分散秘密鍵ジェネレータ（Ｄ−ＰＫＧ）（６０）プロセスを自動実行する。
【００３７】
動作の概観
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図２のダイアグラムにより、以下のシステム及び方法が共に利用される。マスタ鍵サーバが初期化され、マスタ鍵サーバは、タイプ３ペアリングの境−笠原ＩＢＥを利用するようにプログラム的に構成される。すなわち、ＰＴ＝ｅ（Ｐ１，Ｐ２）はＧ１×Ｇ２→ＧＴであり、ここで、Ｐ１∈Ｇ１、Ｐ２∈Ｇ２、及びＰＴ∈ＧＴである。この３つのグループの各々の、全ての要素は、位数ｑである。境−笠原ＩＢＥでは、単一インスタンス秘密鍵生成サーバがＳ＝１／（ｘ＋ＩＤ）．Ｐ２として表され、Ｐ２は、固定の公開点であり、ＩＤは、クライアントのハッシュ済み識別である。マスタ秘密はｘとして表され、これは、２つの分散鍵ジェネレータ・ノードおよびマスタ鍵サーバの間で分散されることになる。加えて、マスタ公開鍵Ｒ＝ｘＰ１を認証システムに提供するという要件もある。マスタ鍵サーバが、初期化され、ｘについて２〜ｑ−１の範囲の値をランダムに選択する（２００）。分散秘密鍵ジェネレータ・ノードが、初期化され（２１０）、セキュリティ保護された通信チャネルを介してマスタ鍵サーバに利用可能にされる。帯域外チャネル中で認証システムからマスタ鍵サーバに発行された秘密鍵が、初期化の一部として、セキュリティ保護された通信チャネルを介して分散秘密鍵ジェネレータ・ノードに送られる。これはまた、どのノードがプライマリ・ノードであるかを示す。マスタ鍵サーバは、ＳＫ−ＫＥＭ方法（ｈｔｔｐ：／／ｇｒｏｕｐｅｒ．ｉｅｅｅ．ｏｒｇ／ｇｒｏｕｐｓ／１３６３／ＩＢＣ／ｓｕｂｍｉｓｓｉｏｎｓ／Ｂａｒｂｏｓａ−ＳＫ−ＫＥＭ−２００６−０６．ｐｄｆ）を用いて、Ｄ−ＰＫＧ  ＩＤ（例えばＩＰアドレスまたはＵＲＬ）及びマスタ秘密を使用してｘからＤ−ＰＫＧ  ＩＢＥ秘密鍵を抽出する（２２０）。マスタ鍵サーバは、セキュリティ保護された通信チャネルを介して、Ｄ−ＰＫＧ  ＩＢＥ秘密鍵を、分散秘密鍵ジェネレータ・ノードに発行する（２３０）。分散秘密鍵ジェネレータ・ノードは、それらのＤ−ＰＫＧ  ＩＢＥ秘密鍵を、密閉ストレージの内部に記憶する（２４０）。マスタ鍵サーバは、秘密ｘをとり、直線ｆ（Ｘ）＝ｍＸ＋ｘの等式を生成する（２５０）。ここで、ｍ（傾き）は、ランダムに選ばれる。マスタ鍵サーバは、ｘを３つのシェアｘ１、ｘ２、ｘ３に分割する（２６０）。これらのシェアから、ラグランジュ補間を使用してｘを再構築することができる。マスタ鍵サーバは、そのメモリからｘを除去する。マスタ鍵サーバは、異なるｍを使用して、ランダムな値ｒを、後でマスタ公開鍵シェアの算出に使用されることになる３つのシェアｒ１、ｒ２、ｒ３に分解させる（２７０）。マスタ鍵サーバは、２つの分散秘密鍵ジェネレータ・ノードに対し、安全な通信チャネルを介して、一方のノードにはｘ２及びｒ２を配布し、他方のノードにはｘ３及びｒ３を配布し、ｘ１及びｒ１はそれ自体のために保持する（２８０）。マスタ鍵サーバ及び分散秘密鍵ジェネレータは、それぞれのシェアを密閉ストレージに記憶する（２９０）。
【００３８】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図３のダイアグラムにより、以下のシステム及び方法が共に利用される。マスタ鍵サーバは、分散秘密鍵ジェネレータ・ノードを認証システム・ディレクトリに登録するよう求める要求を、認証システムに対してプログラム的に生成する（３００）。この要求は、分散秘密鍵ジェネレータ・ノードのネットワーク・アドレス（例えばＩＰアドレスまたはＵＲＬ）を含む。マスタ鍵サーバは、帯域外方法で認証システムからマスタ鍵サーバに発行された秘密鍵を使用して、ＨＭＡＣ（ハッシュベース・メッセージ認証コード）（ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｒｆｃ２１０４）シグネチャをプログラム的に適用して、メッセージのデータ保全性及び真正性を証明する（３１０）。マスタ鍵サーバは、安全な通信チャネルを介して要求を認証システムに送る（３２０）。認証システムは、認証システムがマスタ鍵サーバに発行した秘密鍵を使用して、ＨＭＡＣシグネチャを検証する（３３０）。ＨＭＡＣシグネチャが正しいことが証明されると仮定した場合、認証システムは、Ｄ−ＰＫＧノードのこのインスタンス及びマスタ鍵サーバからマスタ公開鍵のシェアを収集するために、分散秘密鍵ジェネレータ・ノードとの安全な通信チャネルを確立する。認証システムは、前のステップでマスタ鍵サーバによって使用されたのと同じ秘密鍵を使用して、マスタ公開鍵のシェアを受け取るよう求めるＨＭＡＣシグネチャを含む要求によって各分散秘密鍵ジェネレータ・ノード及びマスタ鍵サーバに接触する（３４０）。要求中でＨＭＡＣシグネチャが正しいことが証明されると仮定した場合、各ノード及びマスタ鍵サーバは、Ｒｉ＝ｘｉＰ１を個別に算出し、これを応答として認証システムに渡す（３５０）。やはり、各応答は、秘密鍵を使用して算出された、応答のＨＭＡＣシグネチャを含む。ＨＭＡＣシグネチャを含む各応答が正しいことが証明されると仮定した場合、認証システムは、これらのシェアを結合して、マスタ公開鍵Ｒ＝３Ｒ１−３Ｒ２＋Ｒ３を得る（３６０）。認証システムは、分散秘密鍵ジェネレータの位置及びマスタ公開鍵を、認証システム・ディレクトリに記録する（３７０）。
【００３９】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図４のダイアグラムにより、以下のシステム及び方法が共に利用される。ユーザ・システムは、その秘密鍵とターゲット・システムとへのアクセスを得るために、認証鍵合意プロトコルを認証システムと開始してそのＩＤを証明する（４００）。認証が成功すると、暗号共通秘密すなわちセッション鍵が作成され、ユーザ・システムと認証システムの両方に利用可能になる（４１０）。認証システムは、ユーザ・システムＩＤをルックアップ値として使用して、認証システム・ディレクトリから、ユーザ・システムＩＤに関連する分散秘密鍵ジェネレータ・ノード及びそれらのネットワーク・アドレス（例えばＩＰアドレスまたはＵＲＬ）と、ＨＭＡＣのための対応する秘密鍵と、マスタ公開鍵とを得る（４２０）。認証システムは、ノードのマスタ公開鍵及びそれらのネットワーク・アドレスを入力として使用して、セッション鍵をカプセル化し、その結果、各ノードに１つずつ、２つのカプセル化済みセッション鍵が得られる（４３０）。認証システムは、特定のユーザ・システムＩＢＥ秘密鍵シェアをユーザ・システムに発行するよう求める要求を、分散秘密鍵ジェネレータ・ノードに対して作成する（４４０）。オンラインＨＴＴＰ対話式セッションでは、この要求は、例えばＡＪＡＸ要求の形とすることができる。要求は、カプセル化済みセッション鍵と、ユーザ・システムＩＤと、要求のＨＭＡＣシグネチャとを含む。認証システムは、要求を両方の分散秘密鍵ジェネレータ・ノードに送る（４５０）。分散秘密鍵ジェネレータ・ノードは、要求を受け取ると、ＨＭＡＣシグネチャを検証する（４６０）。シグネチャが正しいことが証明されると仮定した場合、両方のノードは、マスタ鍵サーバから発行されたそれらのＤ−ＰＫＧ  ＩＢＥ秘密鍵を使用して、それぞれのセッション鍵をカプセル化解除する（４７０）。ノードは、ユーザ・システムＩＤを入力として使用してユーザ・システム秘密鍵シェアを生成し、セッション鍵を使用してシェアを暗号化し、暗号化済みシェアを含む応答をユーザ・システムに返す（４８０）。ユーザ・システムは、そのままの状態で保持していたセッション鍵で、受け取ったシェアを暗号化解除し、Ｓ＝２Ｓ１−Ｓ２を算出することによってシェアを再組立てする（４９０）。これは、ユーザ・システムが２つのノードからシェアを受け取るだけで済むからであり、このとき、指数逆数タイプのＩＢＥにおける通常の３シェア解決法なら、Ｓ＝３Ｓ１−３Ｓ２＋Ｓ３を必要とするはずである。このプロセス中の、ノードとマスタ鍵サーバとの間のプロセス間通信については、次のセクションで詳述することに留意されたい。
【００４０】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図５のダイアグラムにより、以下のシステム及び方法が共に利用される。認証システムから分散秘密鍵ジェネレータ・ノードへの要求が受け取られると、ノードは、秘密鍵を使用してＨＭＡＣシグネチャの有効性をチェックする。シグネチャが有効であると仮定した場合、プライマリ・ノードは、認証システム及びユーザ・システムに代わってマスタ鍵サーバとの間の通信を調整するという、その役割を開始する。マスタ鍵サーバは、プロトコルの半分について他の２つのノードに利用可能であるだけで済み、ユーザ・システムにも認証システムにも直接に利用可能である必要は決してない。よって、プライマリ・ノードが最初に通信を指揮する必要がある。しかし、マスタ鍵サーバは、ノードが損なわれた場合にマスタ秘密を再組立てする目的でＤ−ＰＫＧノードが結託するリスクを下げるために、ノード間の通信ルーティングを可能にする。したがって、Ｄ−ＰＫＧノードは、相互と直接に通信することは決してなく、マスタ鍵サーバを介してのみ通信する。マスタ鍵サーバとノードとの間の各通信は、セットアップ及び初期化段階の間にノードに配布された秘密鍵を使用した、通信のＨＭＡＣシグネチャを含む。Ｄ−ＰＫＧノードは、認証システムから要求を受け取り、ＨＭＡＣシグネチャを検証し、ｓｉ＝ｚｉ．ｒｉを算出するためにｚ＝ｘ＋ＩＤの算出をｚｉ＝ｘｉ＋ＩＤとして実施する（５００）。ここで、ｉはノードである。非同期動作で、プライマリ・ノードは、同じ算出を実施するよう求める、ＨＭＡＣシグネチャを含む要求を、安全な通信チャネルを介してマスタ鍵サーバに送る（５１０）。マスタ鍵サーバは、この要求を受け取ってＨＭＡＣシグネチャを検証すると、算出を実施してｓｉを得て、ランダムなライン方程式を選び、ｓｉ中の３つのシェア、すなわちｓｉ１、ｓｉ２、及びｓｉ３を算出する（５２０）。マスタ鍵サーバは、ｓｉ１を保持し、非同期動作で、ｓｉ２及びｓｉ３を、やはりＨＭＡＣシグネチャと共に、他の２つのＤ−ＰＫＧノードに配布する（５３０）。マスタ鍵サーバは、ｓｉのそのシェアを、ｓｉ＝３ｓ１ｉ−３ｓ２ｉ＋ｓ３ｉとして算出する（５４０）。Ｄ−ＰＫＧノードは、ＨＭＡＣシグネチャを検証し、また、ｓｉのそれらのシェアもｓｉ＝３ｓ１ｉ−３ｓ２ｉ＋ｓ３ｉとして算出する（５５０）。非同期動作で、Ｄ−ＰＫＧノードは、ｓｉのそれらのシェアをマスタ鍵サーバにメッセージングし、マスタ鍵サーバは、やはりＨＭＡＣシグネチャと共に、ｓｉのそのシェアと、受け取ったｓｉのシェアとを、一方のノードから反対のノードにメッセージングする（５６０）。Ｄ−ＰＫＧノードは、ＨＭＡＣシグネチャを検証すると、ｓ＝３ｓ１−３ｓ２＋ｓ３を回復する（５７０）。次いでＤ−ＰＫＧノードは、ｗｉ＝ｒｉ／ｓを算出し、Ｓｉ＝ｗｉＰ１を計算して、それらがユーザ・システムに供給することになるシェアを生成する（５８０）。Ｄ−ＰＫＧノードは、セッション鍵でそれらのシェアを暗号化し（４８０で述べたように）、シェアをユーザ・システムに配布する（５９０）。
【００４１】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図６のダイアグラムにより、以下のシステム及び方法が共に利用される。ユーザ・システムは、そのユーザ・システムＩＢＥ秘密鍵を持っており、これらをターゲット・システム上にアーカイブしたいと思っている。本発明の好ましい実施形態では、ユーザ・システムは、認証システムを介してターゲット・システムに対して認証され、ターゲット・システムへのアクセスが提供される（６００）。ユーザ・システムは、ＥＣＤＳＡ（ｈｔｔｐ：／／ｃｓｒｃ．ｎｉｓｔ．ｇｏｖ／ｐｕｂｌｉｃａｔｉｏｎｓ／ｆｉｐｓ／ｆｉｐｓ１８６−３／ｆｉｐｓ＿１８６−３．ｐｄｆ）アルゴリズムを使用して、ユーザ・システム非対称公開／秘密鍵の対をプログラム的に作成する（６１０）。ユーザ・システムは、パス・フレーズを入力するよう人間オペレータに促すことによって、ユーザ・システム対称暗号化鍵を作成するよう人間オペレータに促し、ユーザ・システムは、この入力をとり、ＰＢＫＤＦ２（ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ２８９８．ｔｘｔ）などの導出プロトコルを使用して対称暗号化鍵を算出する（６２０）。ユーザ・システムは、ユーザ・システム非対称公開鍵を利用して、ユーザ・システムＩＢＥ秘密鍵を暗号化する（６３０）。ユーザ・システムは、パス・フレーズから導出されたユーザ・システム対称暗号化鍵で、ユーザ・システム非対称秘密鍵を暗号化する（６４０）。ユーザ・システムは、例えばＨＴＴＰＳプロトコルを介して行うことのできるプロセスを介して、パス・フレーズから導出されたユーザ・システム対称暗号化鍵を除いた全ての鍵を、ターゲット・システムにプログラム的にアップロードする（６５０）。パス・フレーズから導出されたユーザ・システム対称暗号化鍵は、ユーザ・システムのメモリから安全に除去される（６６０）。加えて、ターゲット・システムは、通信チャネルを介して、ユーザ・システム非対称公開鍵を認証システムに利用可能にすることができる（６７０）。認証システムは、ユーザ・システム非対称公開鍵を受け取り、認証システム・ディレクトリ中のユーザ・システムＩＤに対応する関連レコードに鍵を書き込む（６８０）。マスタ鍵が失効したか、取り消されたか、または循環されたために、Ｄ−ＰＫＧノードが別のユーザ・システムＩＢＥ秘密鍵を発行した場合は、ユーザ・システムは、新しいＩＢＥ秘密鍵を受け取ると、アーカイブにプログラム的に加えることができる。
【００４２】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図７のダイアグラムにより、以下のシステム及び方法が共に利用される。
【００４３】
本発明の好ましい実施形態によれば、ユーザ・システムは、認証システムを介してターゲット・システムに対して認証され、ターゲット・システムへのアクセスが提供される（７００）。ユーザ・システムは、アーカイブされた全てのユーザ・システムＩＢＥ秘密鍵を利用可能にするよう求める認証済み要求を、ターゲット・システムに対して作成する（７１０）。これは、例えばＨＴＴＰＳ通信チャネルを介して行うことができる。ターゲット・システムは、ユーザ・システムのアーカイブＩＢＥ秘密鍵で応答する（７２０）。ユーザ・システムの人間オペレータは、パス・フレーズを入力するよう促され、パスワード導出機能を介してユーザ・システム対称暗号化鍵が再構成される（７３０）。ユーザ・システム対称暗号化鍵を使用して、ユーザ・システム非対称秘密鍵が暗号化解除される（７４０）。ユーザ・システム非対称公開鍵で暗号化された、アーカイブされたユーザ・システムＩＢＥ秘密鍵が、ユーザ・システム非対称秘密鍵で暗号化解除される（７５０）。
【００４４】
本発明の実施形態による、指数逆数タイプのＩＤベース暗号化システムでは、図８のダイアグラムにより、以下のシステム及び方法が共に利用される。オフライン・シナリオでユーザ・システムＩＢＥ秘密鍵を配布するための好ましい実施形態では、ユーザ・システムと分散鍵ジェネレータ・ノードとは、どんな程度の対話も持つことができないか、または対話式オンライン・セッションを持つことができないが、認証システム・ディレクトリを介してユーザ・システム非対称公開鍵が利用可能にされ、この実施形態では以下のことが行われる。分散鍵ジェネレータ・ノードは、現在の時間期間についてのユーザ・システムＩＢＥ秘密鍵シェアを生成する（８００）。分散鍵ジェネレータ・ノードは、認証システム・ディレクトリ中でユーザ・システム非対称公開鍵をルックアップすることを求める認証済み要求（前述のようにＨＭＡＣシグネチャを含む）を、認証システムに対して作成する（８１０）。認証システムは、シグネチャを検証し、ルックアップを実施し、ＨＭＡＣシグネチャと共に公開鍵を含む応答を返す（８２０）。分散秘密鍵ジェネレータ・ノードは、応答のＨＭＡＣシグネチャを検証し、ユーザ・システム非対称公開鍵でユーザ・システムＩＢＥ秘密鍵シェアを暗号化し、鍵をメモリから除去する（８３０）。本発明の一実施形態では、分散秘密鍵ジェネレータ・ノードは、ＳＭＴＰなどの記憶転送メカニズムを介してメッセージを作成し、電子メールを介して暗号化済みユーザ・システムＩＢＥ秘密鍵シェアを送る（８４０）。本発明の別の実施形態では、分散秘密鍵ジェネレータ・ノードは、暗号化済みユーザ・システムＩＢＥ秘密鍵シェアを、ユーザ・システムからアクセス可能なオンライン・ストレージ・ロッカに、またはターゲット・システムにすらアップロードする（８５０）。シェアを暗号化解除するために、ユーザ・システムは、ユーザ・システム非対称秘密鍵を利用する（８６０）。
【図１】
2015505230.tif 000003
【図２】
2015505230.tif 000004
【図３】
2015505230.tif 000005
【図４】
2015505230.tif 000006
【図５】
2015505230.tif 000007
【図６】
2015505230.tif 000008
【図７】
2015505230.tif 000009
【図８】
2015505230.tif 000010
【国際調査報告】
2015505230.tif 000011