(57)【特許請求の範囲】
【請求項１】
一対の通信パーティにより使用される暗号キーを発生すると共に複数の協同的なキー回復エージェントを用いて前記暗号キーの回復を実行する装置であって、
前記複数のキー回復エージェントとそれぞれ共有される複数の共有キー部分を発生する手段と、
いずれのキー回復エージェントとも共有されない非共有キー部分を発生する手段と、
前記複数の共有キー部分と前記非共有キー部分とから前記暗号キーを発生する手段と、
前記複数のキー回復エージェントを用いた前記暗号キーの回復を容易とするために、前記複数のキー回復エージェントに対して前記複数の共有キー部分をそれぞれ使用可能とする手段とを含む
暗号キー回復装置。
【請求項２】
前記暗号キーを発生する手段が、
合成キー部分を発生するために前記複数の共有キー部分を結合させる手段と、
前記合成キー部分と前記非共有キー部分とから前記暗号キーを発生する手段とを含む
請求項１に記載の装置。
【請求項３】
前記複数の共有キー部分及び前記合成キー部分が、共通の長さを有する請求項２に記載の装置。
【請求項４】
前記複数の共有キー部分が、モジュロ２加算により結合される請求項２に記載の装置。
【請求項５】
前記複数のキー回復エージェントの各々が公開暗号キー及び対応する専用復号キーを有し、前記複数のキー回復エージェントに対して前記複数の共有キー部分をそれぞれ使用可能とする手段が、
複数の暗号化共有キー部分を発生するために、前記複数のキー回復エージェントの前記公開暗号キーを用いて前記複数の共有キー部分をそれぞれ暗号化する手段と、
前記複数のキー回復エージェントがアクセス可能な通信チャネルを通して前記複数の暗号化共有キー部分をそれぞれ伝送する手段とを含む
請求項１に記載の装置。
【請求項６】
前記暗号キーを発生する手段が、
合成キー部分を発生するために前記複数の共有キー部分を結合させる手段と、
中間値を発生するために前記合成キー部分を前記非共有キー部分と連結する手段と、
前記中間値をハッシュ処理することにより前記暗号キーを発生する手段とを含む
請求項１に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一対の通信パーティにより使用される暗号キーを発生すると共に１又は複数のキー回復エージェントを用いてその回復を行う装置に関する。
【０００２】
【従来の技術】
データ暗号システムは、データ処理システムにおいて周知である。一般に、これらのシステムは、平文入力ブロックに対して暗号キーを用いて暗号文出力ブロックを発生する暗号化オペレーションを実行することにより動作する。暗号化されたメッセージの受信者は、平文ブロックを再生するために対応する復号キーを用いて復号化オペレーションを実行する。
【０００３】
暗号システムは、一般的に２つの範疇に包含される。対称（すなわち、専用キー）暗号システムには、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）システム等があり、メッセージの暗号化及び復号化の双方において同じ秘密キーを用いる。ＤＥＳシステムにおいては、６４ビットの平文ブロックを暗号文ブロックへ変換するために、あるいはその逆の変換をするために、独立に指定可能な５６ビットのキーが用いられる。
【０００４】
一方、非対称（すなわち、公開キー）暗号システムでは、暗号化及び復号化において互いのキーからは容易に導出できない別々のキーを用いる。メッセージを受信しようとする者は、一対の対応する暗号キーと復号キーを発生する。暗号キーは公開的なものとされるが、その対応する復号キーは秘密のまま保持される。受信者と通信しようとする者は誰でも、その受信者の公開キーを用いてメッセージを暗号化することができる。一方、専用キーをもっているのは受信者のみなので、受信者のみがそのメッセージを復号化することができる。おそらく最もよく知られた非対称暗号システムは、その創作者であるＲｉｖｅｓｔ、Ｓｈａｍｉｒ、及びＡｄｌｅｍａｎにちなんで名付けられたＲＳＡシステムである。
【０００５】
非対称暗号システムは、一般的に、対称暗号システムよりも演算上の負担が大きいが、暗号キー伝送用の安全なチャネルを必要としないという利点を有する。それ故に、対称暗号キー等の非常に秘密性が高いデータの１回限りの伝送のために非対称暗号システムがしばしば用いられている。
【０００６】
全てのタイプのデータ暗号システムが、政府情報機関及び法執行機関から関心をもたれてきた。なぜなら、権限のない第三者による解読を防止するのと同じ暗号の強固さによって、平文データへアクセスしようとする合法的根拠をもつ情報機関や法執行機関の職員による解読も防止されるからである。このような観点から政府は、強力な暗号システムの使用若しくは輸出を禁止したり、キー全数探索（すなわち、正しいキーが見つかるまで系統的に全ての可能なキーを試験すること）による攻撃を受け易い弱体化したキーの使用に対する認可を調整したりしてきた。このような弱い暗号システムは、権限のある政府職員に対すると同様に権限のない第三者に対しても脆弱であるという明白な欠点を有する。
【０００７】
このジレンマの解決策の１つは、暗号キーをキー回復エージェントと共有する、いわゆるキー回復システムを使用することである。キー回復エージェントは、十分な信任（例えば、裁判所命令等）を提示された場合に政府要求者に対してそのキーを明らかにするが、その他の場合にはそのキーを秘密状態に保持する。キー回復システムは、情報機関及び法執行機関の職員による合法的な関心の問題を解決すると同時に、無権限の第三者による攻撃に対して強力に対抗する暗号システムの使用を可能とする。このようなシステムの幾つかは、Ｄ．  Ｅ．  Ｄｅｎｎｉｎｇ及びＤ．  Ｋ．  Ｂｒａｎｓｔａｄによる「Ａ  Ｔａｘｏｎｏｍｙ  ｆｏｒ  Ｋｅｙ  Ｅｓｃｒｏｗ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｙｓｔｅｍｓ」（Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  ＡＣＭ，  ｖｏｌ．  ３９，  ｎｏ．  ３，  Ｍａｒ．  １９９６，  ｐｐ．  ３４−４０）に記載されている。
【０００８】
最近開発されたキー回復システムの１つは、１９９５年１２月１５日出願の米国特許出願第０８／５７３２２８号「ＤＩＦＦＥＲＥＮＴＩＡＬ  ＷＯＲＫ  ＦＡＣＴＯＲ  ＭＥＴＨＯＤ  ＡＮＤ  ＳＹＳＴＥＭ」、並びに、同じ発明の名称による同日出願の米国特許出願第０８／５７３１１０号に開示されている。
【０００９】
上記米国特許出願に記載のシステムでは、１又は複数の国の各々におけるキー回復エージェントに対して、暗号キーの一部のみが開示される。従って、当該出願に記載のように、暗号キーの一部がキー回復エージェントに与えられることにより、（裁判所命令に従って）そのキー部分に対するアクセスを有するエンティティは、その暗号キー全体ではなく残りのキー・ビットを確認するだけでよい。キー回復エージェントへ与えられるこのキー部分のサイズは、残りのキー部分の回復に包含される作業ファクタを完全に排除するのではないが実行容易なレベルにまで低減させるようなサイズとされる。一方、権限のない第三者に対する作業ファクタは、この「差動作業ファクタ」の概念では同じレベルのままとなる。
【００１０】
上記米国特許出願に開示されたシステムは、それ以前のキー回復システムの欠点の多くを解決するが、不正なすなわち信用できないキー回復エージェントの問題が残されている。キー回復エージェントへ与えられる部分キー情報へのアクセスにより、（ある程度の困難はあるが）暗号キー全体の発見が可能だからである。このセキュリティの暴露は、暗号システムの所与のユーザにとっては重大な問題である。彼らは、自らが制御できないキー回復エージェントへ重要なキー情報を託すことを躊躇するであろう。
【００１１】
【発明が解決しようとする課題】
本発明の目的は、政府、企業顧客、ハードウェア及びソフトウェアの提供者、法執行機関、並びに個人を含む数名の異なるエンティティの競合する要求を取り扱うキー回復システムを提供することである。
【００１２】
本発明の更なる目的は、ソフトウェア又はハードウェアにより実施可能なキー回復システムを提供することである。
【００１３】
本発明の更なる目的は、メッセージ作成又は接続セットアップの間、第三者との通信を必要としないキー回復システムを提供することである。
【００１４】
本発明の更なる目的は、複数の権限保持者に対して同時にキーを与えることが必要な場合であっても、異なる国々におけるユーザ間の相互操作機能を実現するキー回復システムを提供することである。
【００１５】
本発明の更なる目的は、公開されている周知のアルゴリズムを用いるキー回復システムを提供することである。
【００１６】
本発明の更なる目的は、設計が開放されておりかつ公開された仕様に基づいて多数のベンダーにより実施可能なキー回復システムを提供することである。
【００１７】
本発明の更なる目的は、各国について独立したキー回復機能を行うキー回復システムを提供することである。
【００１８】
本発明の更なる目的は、単一のシステムにおいて、異なる環境におけるセキュリティの異なるレベルに対するフレキシビリティを実現するキー回復システムを提供することである。
【００１９】
本発明の更なる目的は、法律により許可され得る最高レベルの暗号セキュリティを実現するキー回復システムを提供することである。
【００２０】
本発明の更なる目的は、単一の攻撃ポイント（すなわち、不正なキー回復エージェント）に対して防御するキー回復システムを提供することである。
【００２１】
本発明の更なる目的は、全ての形態の電子通信をサポートするキー回復システムを提供することである。
【００２２】
本発明の更なる目的は、スケーラブルな解決手段を実現するキー回復システムを提供することである。
【００２３】
本発明の更なる目的は、蓄積交換型環境及び対話型環境の双方をサポートするキー回復システムを提供することである。
【００２４】
本発明の更なる目的は、導入のために第三者との通信を必要としない（すなわち、「箱から出して直ちに」稼動する）キー回復システムを提供することである。
【００２５】
本発明の更なる目的は、キーを回復させるために複数のキー回復エージェントの協同を必要とするポリシー・オプションをサポートするキー回復システムを提供することである。
【００２６】
本発明の更なる目的は、外部の検証者が（キー回復キーへのアクセスなしで）、キー回復値が本発明の修整なしのシステムに従っているというある程度の信頼性を得ることができるキー回復システムを提供することである。
【００２７】
本発明の更なる目的は、キー回復値の送信を避ける本発明の修整されたシステムが、キー回復値を有効と認める必要のある修整なしのシステムと相互に動作できないようなキー回復システムを提供することである。
【００２８】
【課題を解決するための手段】
本発明は、前述の米国特許出願に開示された「差動作業ファクタ」のシステムに基づく。本発明においては、通信の行われている国の法令及び規則に従って、ホストの国々内のキー回復エージェントに対して１又は複数のキー部分を与える。それでも尚ユーザは、いずれのキー回復エージェントにも知られていないそのキーの一部を保持することができる。この特徴は、仮にこの特徴がないとすればキー回復システムの使用を躊躇するユーザも満足させるはずである。
【００２９】
単純な例により、本発明を簡単に説明する。この例は、政府に対しては単一ＤＥＳ作業ファクタのみを提示しながら、権限のない第三者に対しては三段ＤＥＳ保護を実現する方法を実証する。Ｘ国内の通信パーティが、１６８ビット・キーを使用してＹ国内の通信パーティと通信することを望んでいるものと想定する。これを実行するために２つの通信パーティは、それらがランダムに発生する２８０ビット値（ＰＱＲ）を使用する。最初の２つの１１２ビット部分（Ｐ及びＱ）が、排他的ＯＲ論理により処理されて１つの１１２ビット値が発生される。この１１２ビット値が残りの５６ビット部分（Ｒ）へ付加されて、１６８ビットの結果値が発生される。５６ビットのＲ値は、いずれの者に対しても明らかにされることはない。そして、１６８ビット結果値に対して単方向ハッシュ関数を用いることにより、セッション・キー（又は、これらの通信パーティにより用いられる他のいずれかのキー）が導出される。
【００３０】
Ｐ値は、各国内の一人のキー回復エージェントの公開キーを用いて暗号化される。Ｑ値は、各国内の別のキー回復エージェントの公開キーを用いて暗号化される。従って、一人のキー回復エージェントが不正であってＰ値が漏れた場合でも、まだＱ値が攻撃者に知られていなければ問題を生じない。Ｑ値又はＲ値のいずれも知られていなければ、攻撃者は、通信を解読するためになお１６８ビット・キーを破る必要がある。ユーザにとってこの解決手段は、キー全体が１又は複数のキー回復エージェントに知られているシステムに比べてより好ましいものである。２つの国が通信するとき、Ｐ及びＱの暗号化された値が、暗号化ファイルに先行する。この解決手段は、電子メッセージを傍受可能であることを前提とする。
【００３１】
上記の例では、説明のために１６８ビット・キーが用いられた。しかしながら、一般的には、Ｐ及びＱの値と、Ｒの値とは、独立して変えることができかつ各国について調整することができる。
【００３２】
本発明の好適な実施例においては、大きなフレキシビリティが得られる。例えば、本発明は、各国の法令及び規則に適応可能でありかつ適応させやすい。キーの共有部分（Ｐ、Ｑ）の長さ及び非共有部分（Ｒ）の長さについては、構造的フレキシビリティがある。二国間の通信については、Ｒの長さの下限に関してキー回復規約をデフォールトにできるため、作業ファクタを軽減することができる。キー管理は、今日の標準的技術慣習に従って様々な方法で行うことができる。
【００３３】
法執行機関は、確実に、キー回復エージェントから常に正しい情報を与えられる。法執行機関は、その情報を暗号化し、その暗号化情報と傍受された暗号化ブロックとの一致性を比較するだけでよい。これにより政府は、潜在的に「不正な」キー回復エージェントを識別することができる。
【００３４】
キーは、セッション・レベルにおいて「使用可能とされる」。これにより、コンパートメント化を実現し、権限のある裁判所命令を介して暗号化データへの適切なアクセスを実現する。公開キー・アルゴリズムの専用キーをキー回復エージェントと共有することは、良いアイデアではない。なぜなら、それは、他へ送信されるメッセージではなく他から受信された暗号化メッセージへのアクセスを行うものだからである。さらに、このことは、適切なコンパートメント化を強要するためにこれらのキーをしばしばロールオーバーさせてしまう。これについては、Ｙ．  Ｆｒａｎｋｅｌ及びＭ．  Ｙｕｎｇによる「Ｅｓｃｒｏｗ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｙｓｔｅｍｓ  Ｖｉｓｉｔｅｄ：  Ａｔｔａｃｋｓ，  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｄｅｓｉｇｎｓ」（Ｃｒｙｐｔｏ  ’９５  Ｃｏｎｆｅｒｅｎｃｅ  Ｐｒｏｃｅｅｄｉｎｇｓ，  Ａｕｇ．  １９９５）を参照されたい。
【００３５】
本発明は、暗号化データへの権限あるアクセスに関する政府の要望に対し、商業的に受け入れ可能な解決策を提供する。
【００３６】
本明細書では、「回復」という用語は、大体において「使用可能とする」ことを意味するために用いられる。秘密の値は、様々な方法で使用可能とすることができる。それは、暗号化されて第三者に対して使用可能とされるか、あるいは、暗号化されて暗号化データと共に伝送される。この場合、それは、電子的手段を介してアクセスされなければならない。この明細書中の実施例では、後者の手法を説明する。
【００３７】
本発明においては、十分な情報を含むセッション・コンテキストを送信する。これにより、（１）受信者がキーを導出することができ、（２）受信者が関連するキー回復情報を検証することができ、（３）権限あるエンティティがキーの構成要素を回復することができる。
【００３８】
「差動作業ファクタ」は、政府又は機関の方針決定の一部として設定することができる。すなわち、政府又は機関は、いずれのキー回復エージェントにも知られていないキーの一部をユーザが保持することを認める。この特徴は、キー回復システムの使用に関して懸念を抱いていたユーザを満足させるものであろう。
【００３９】
本発明は、別々の国に所在するユーザと権限あるキー回復エージェントとの通信の必要性の問題を解決する。本発明は、多様な暗号アルゴリズム及びキーの長さに対して適用可能である。しかしながら、本明細書の目的から、キーの全長が１６８ビットである三段ＤＥＳの例を用いることとする。
【００４０】
本発明は、キー回復エージェントと共に機能する公開キー暗号を想定する。本発明は、ユーザ間でのキー配送のための公開キー暗号の使用を想定しない。本明細書中でのキー配送の例は公開キー暗号のみを用いるけれども、ソフトウェアをある程度修正すればケルベロス（Ｋｅｒｂｅｒｏｓ）・システム等の対称キー・システムも同様に使用できる。
【００４１】
本発明は、ユーザ及びキー回復エージェントの公開キーが認証されることを想定する。これを実現する手順及び機構は、技術的に周知であり、本発明には含まれない。
【００４２】
各国が多数のキー回復エージェントを使用していると想定する。各キー回復エージェントは、それ自身の公開キーと専用キーの対（例えば、１０２４ビットのＲＳＡキー）を作成する。使用される暗号設備は、様々なサイズのキーを処理することができる。各キー回復エージェントは、専用キーを秘密状態に保持し、公開キーを公開する。
【００４３】
好適には、キー回復エージェントの公開キー、それらの認証者の公開キー、又はこれらの公開キーを取得するための安全な手段が、クライアントのハードウェア若しくはソフトウェアに設けられる。これにより、「箱から出して直ちに」稼動できるターンキー・システムとして暗号製品を出荷することができる。本発明のキー回復システムを構成するシステムは、好適には、そのシステムが設置されて稼動することになる国を示す国別ＩＤにより予めコンフィギュレーションされる。さらに、ユーザもまた、キー回復プロトコルにより必要とされる他の情報を用いてシステムをコンフィギュレーションできる。
【００４４】
キー回復機能のみを具備する暗号製品においては、本発明は、アプリケーション・プログラムが直接暗号アルゴリズムを呼び出すことによりキー回復システムを迂回することを防止する。暗号アルゴリズムが呼び出されると、キー回復システムは、必ずキー回復プロトコルの各ステップを踏ませるようにする。すなわち、このプロトコル・ステップが無事に完了するまでは、アプリケーション・プログラムやユーザがデータの専用暗号化に用いられるキーを使用できないようにされている。
【００４５】
ロールオーバーによる公開キーの置き換えにおいても注意を払うべきである。
【００４６】
本発明は、２つの修整されたシステムが相互動作できるようにすることは課題としない。二人のユーザは、常に、本発明とは関係なく「彼ら自身のことをする」ことができる。加えて本発明は、喪失したキー若しくは忘却されたキーの問題を解決するものでもない。この問題を解決するとすれば、他の機構により解決しなければならない。
【００４７】
本発明は、専用ハードウェアとして、汎用デジタル・コンピュータ上で実行されるソフトウェアとして、又は、これら２つの組合せとして実施可能である。「ソフトウェア」とは、本明細書に記載の方法ステップを実行するべくマシンにより読取り可能でありかつマシンにより実行可能な命令のプログラムを具現化する直接アクセス記憶装置（ＤＡＳＤ）若しくは読取り専用メモリ（ＲＯＭ）等のプログラム記憶装置によることを意味する。
【００４８】
【発明の実施の形態】
図１は、別々の国に所在して個人的に通信したいと考えている二人のユーザのために暗号キーを発生する本発明の手順１００を簡単に示した図である。慣用的に、これらの通信者を、「アリス」及び「ボブ」と称することとする。図２では、アリスがＸ国に、ボブがＹ国に所在しており、そして２つのシステムは通信チャネルを介して接続されていると仮定している。（本明細書では、特に明示しない限り、「アリス」及び「ボブ」はそれらのシステムを称している。）
【００４９】
この例では、二人のユーザ（アリスとボブ）のみを含むが、通信は、三人以上のユーザの間でも可能である。さらに、Ｘ国及びＹ国を例として示したが、本発明は、１つの国内（及び１組のキー回復エージェント）全体で使用することも可能である。
【００５０】
互いに通信するためにアリスとボブは、先ず、（明確にするために）ＰＱＲ値と称されるランダムに発生された秘密の値１０２に関して同意する。ＰＱＲ値１０２は、ｍビットのＰ値１０４と、ｍビットのＱ値１０６と、ｎビットのＲ値１０８とからなる。図１に示す例では、ｍが１１２であり、ｎが５６であるが、ｍ及びｎは、他の値を用いてもよい。
【００５１】
後述する方法により、Ｐ値１０４が各国における第１のキー回復エージェントに共有される一方、Ｑ値１０６が各国における第２のキー回復エージェントに共有される。Ｒ値１０８は、ユーザであるアリスとボブの間で共有される秘密として保持され、他のいずれのエンティティへも明かされない。Ｒ値１０８は、ＰＱＲ値１０２の一部を構成しており、これは、Ｐ値１０４及びＱ値１０６をキー回復エージェントから取得した後であっても権限ある通信パーティ（情報機関及び法執行機関等）が使用可能な暗号手段を用いて確認しなければならない。従って、Ｒ値１０８の長さは、協調して行動する特定の国のキー回復エージェントに対する暗号手順の強固さを決定する。この例では、Ｐ、Ｑ、及びＲのサイズは、Ｘ国及びＹ国において同じである。
【００５２】
暗号キーを発生するために、Ｐ値１０４及びＱ値１０６は、互いに排他的ＯＲ（ＸＯＲ）論理により、すなわち、ビット単位モジュロ２加算（符号１１０）により処理され、１１２ビットの結果値（符号１１２）を生成する。
Ｐ  ＸＯＲ  Ｑ
この例ではＸＯＲオペレーションを用いたが、他の結合オペレーションを替わりに用いることもできる。
【００５３】
その後、結果値１１２はＲ値１０８と連結され、１６８ビットの中間値１１４を生成する。
（Ｐ  ＸＯＲ  Ｑ）‖Ｒ
（特に明示しない限り、本明細書中において「連結」は、ビットを交互配置することを含む。）
【００５４】
その後、中間値１１４は、１又は複数回（予測可能な方法で僅かに入力を変えつつ）ハッシュ処理され（符号１１６）、そして発生されたハッシュ値から最終的なキー値１１８が抽出される。例えば、単一ＤＥＳ暗号化においては５６ビットのキー値１１８が抽出され、三段ＤＥＳ暗号化においては５６ビットのキー値が３個抽出される。
【００５５】
図１に示した例では、ＰＱＲ値１０２は、Ｘ国及びＹ国の各々についてＰ値１０４、Ｑ値１０６、及びＲ値１０８へ同じように分割される。しかしながら一般的には、図３乃至図５に示すように国によって分割の仕方を変えてもよい。
【００５６】
図３乃至図５の例では、アリスが、秘密の開始ＰＱＲ（ＳＰＱＲ）値２０２を発生する。ＳＰＱＲ値は、（２ｍ＋２ｎ）ビットを含む。すなわち（上記の例で仮定したように）ｍを１１２としｎを５６とすると、ＳＰＱＲ値は３３６ビットを含む。ＳＰＱＲ値２０２は、等しい長さの２つの部分からなる。すなわち、１６８ビットの左半分２０４及び１６８ビットの右半分２０６である。（一般に、ＳＰＱＲを半分に分割することは、偶数ビットを一方の半分とし奇数ビットを他方の半分とする等、任意の方法で行われる。）左半分２０４はさらに分割されて、Ｐ部分２０８とＲ１部分２１０を生成する。一方、右半分２０６もさらに分割されて、Ｑ部分２１２とＲ２部分２１４を生成する。（同様に、左右の半分２０４及び２０６をさらに分割することも任意の方法で行われる。）Ｒ１とＲ２とを排他的ＯＲ（ＸＯＲ）論理で処理することにより（符号２１６）、Ｒ値２１８が得られる。
Ｒ＝Ｒ１  ＸＯＲ  Ｒ２
Ｐ部分２０８及びＱ部分２１２は、権限あるキー回復エージェントに対して使用可能とされる。Ｒ１部分２１０及びＲ２部分２１４並びに導出されたＲ値２１８は、ユーザにより保持される。
【００５７】
この例においてＲ値２１８を発生する方法では、Ｐ、Ｑ、及びＲの長さを国によって変えることができる。従って、Ｒ１、Ｒ２及びＲの長さは、「０」でもよい。この場合、ＰがＳＰＱＲ値２０２の１６８ビット左半分２０４の全体からなり、Ｑが１６８ビットの右半分２０６の全体からなる。一方、Ｐ及びＱの長さを「０」としてもよい。この場合、Ｒ１がＳＰＱＲ値２０２の１６８ビット左半分２０４の全体からなり、Ｒ２が１６８ビットの右半分２０６の全体からなる。さらに一般的には、その国の要件に従って、Ｒの長さを、「０」から左右の半分２０４及び２０６の長さ（この例では、１６８ビット）までの範囲で変えてもよい。
【００５８】
図３に示す例では、各国の二人のキー回復エージェントへそれぞれの共有キー部分（Ｐ及びＱ）を与えるために、２つの（ｍ＋ｎ）ビット量が発生される。しかしながら、この手順は、各国に三人以上のキー回復エージェントが存在する場合には、３個以上の共有キー値を与えるように容易に適応させられる。図１５を参照すると、共有キー部分にｍビットあり、非共有キー部分にｎビットあり、そして各国にＮ個のキー回復エージェントがある場合、ユーザはＮ個の（ｍ＋ｎ）ビット値Ｈ１〜ＨＮを発生する。そして、各（ｍ＋ｎ）ビット値であるＨｉのｍビット（Ｐｉ）を共有キー部分として異なるキー回復エージェントへ与える。そして各（ｍ＋ｎ）ビット値Ｈｉの残りのｎビットをＸＯＲ処理して非共有キー値Ｒを発生する。そして、ｍビットの共有キー部分Ｐｉを互いにＸＯＲ処理（符号８０４）し、その結果（Ｐ）をＲと連結して値（符号８０６）を発生し、さらに値８０６を１又は複数回ハッシュ処理する（符号８０８）ことにより、キーＫが発生される。
【００５９】
図４及び図５は、国によるＳＰＱＲ値２０２の分割の仕方の例を示す。この例では、Ｘ国に所在するアリスが５６ビットのＲ値２１８（＝ｒ１  ＸＯＲ  ｒ２）を用いる（図４参照）。アリスは、ＳＰＱＲ２０２の左半分２０４を１１２ビットのＰｘ部分２２０と５６ビットのｒ１ｘ部分２２２へ分割し、同様に、右半分２０６を１１２ビットのＱｘ部分２２４と５６ビットのｒ２ｘ部分２２６へ分割することによりこれを行う。
【００６０】
一方、Ｙ国に所在するボブは、０ビットのＲ値を用いる（図５参照）。ボブは、ＳＰＱＲ２０２の左半分２０４を１６８ビットのＰｙ部分２２８と長さ「０」のｒ１ｙ部分（図示せず）へ（名目上の意味において）分割し、同様に、右半分２０６を１６８ビットのＱｙ部分２３０と長さ「０」のｒ２ｙ部分（図示せず）へ（名目上）分割することによりこれを行う。
【００６１】
アリスのＰ値及びＱ値であるＰｘ（２２０）及びＱｘ（２２４）は、Ｘ国により権限を認められたキー回復エージェントの公開キーを用いて暗号化される。一方、ボブのＰ値及びＱ値であるＰｙ（２２８）及びＱｙ（２３０）は、Ｙ国により権限を認められたキー回復エージェントの公開キーを用いて暗号化される。暗号化されたＰ値及びＱ値は、後述するように、暗号化データと共に伝送されることによりキー回復エージェントに対して「使用可能とされる」。図３乃至図５に示した例においては、アリスが、ｒ１ｘ（２２２）及びｒ２ｘ（２２６）から計算された５６ビットのＲ値（Ｒｘ）を有し、アリスはこのＲ値をいずれの第三者に対しても明かさない。ボブのｒ１ｙ及びｒ２ｙは長さ「０」（すなわち、ヌル）であるので、ボブは対応するＲｙ値をもたない。
【００６２】
図６乃至図１３は、アリスとボブとの間でＰＱＲ値を確立する手順を示している。この例では、Ｘ国にいるアリス（送信者）が、Ｙ国にいるボブ（受信者）に対して暗号化メッセージを送ろうとしている。この場合、Ｘ国及びＹ国は、異なるサイズのＲ値（ＳＰＱＲの明かされない部分）を要求する。
【００６３】
概略を述べると、アリスのシステムは、プロトコル情報を格納するセッション・ヘッダ３１２を作成し（図７参照）、セッション・ヘッダ３１２に記憶された情報から暗号キーＫ（１１８）を発生し、キーＫを用いて第１のメッセージ（メッセージ１）を暗号化することにより暗号化メッセージ１を発生する（図８参照）。セッション・ヘッダ３１２及び暗号化メッセージ１（３１４）は、ボブへ送られる。ボブのシステムは、先ず、ヘッダ３１２内のプロトコル情報に対して整合性検査を行う。検査を無事終えると、ボブのシステムは、セッション・ヘッダ３１２内の情報を用いて暗号キーＫを再発生する。その後、キーＫは、アリスから受信されたメッセージ１（３１４）を復号化するために用いられる。
【００６４】
開示された例では、セッション・ヘッダ３１２は、セッションを構成する１又は複数のメッセージのうち最初のメッセージ３１４のみへ付加される。別の例としては、各メッセージがそれ自身のヘッダ３１２を有してもよい（この場合、セッション・ヘッダというよりもむしろメッセージ・ヘッダというべきであろう）。
【００６５】
この手順を、さらに詳細に説明する。図１０を参照すると、ステップ５０２においてアリスのシステムが、３３６ビットの秘密の開始ＰＱＲ（ＳＰＱＲ）値２０２（図３参照）を発生することにより開始される。ＳＰＱＲ値２０２は、図１に示す手順を用いて秘密キーＫ（１１８）を発生するためにアリスとボブの双方により用いられる。キーＫは、メッセージを暗号化及び復号化するために用いられる。これは、ＳＰＱＲの１６８ビットの左半分と１６８ビットの右半分とを排他的ＯＲ論理で処理して図１に示す中間値（Ｐ  ＸＯＲ  Ｒ）‖Ｒを形成することにより実行される。その後、図１に示すキー導出プロセスが続けられる。
【００６６】
次にステップ５０４においてアリスは、本質的にキー配送用であるボブの公開キーを用いてＳＰＱＲ値２０２を暗号化し、暗号化ＳＰＱＲ値であるＳＰＱＲ′を発生する。（各ユーザは、キー配送用に１つの公開キーと専用キーの対を用い、そして署名用に別の公開キーと専用キーの対を用いると想定する。）暗号化されたＳＰＱＲ′値は、暗号キーと論理的に等価であり、次のように評価される。
ＳＰＱＲ′＝ｅＰＵｂ（ＨＡＳＨ（Ｔ１）；ＳＰＱＲ；ＳＡＬＴ０）
ここで、ＰＵｂは、受信者（ボブ）の公開キーであり、ＳＰＱＲは、ステップ５０２で発生されたＳＰＱＲ値２０２（図３参照）であり、ＳＡＬＴ０は、１６０ビットの秘密のランダム値であり、ＨＡＳＨ（Ｔ１）は、秘密ではないハッシュ値（好適には、１２８若しくは１６０ビット）であり、そしてＴ１は、後述する秘密ではない回復情報である。
【００６７】
ＳＡＬＴ０は、暗号化ＳＰＱＲ値であるＳＰＱＲ′を保護する。たとえ元のＳＰＱＲ値２０２の一部が知られたとしても、残りの部分については、暗号化値ＳＰＱＲ′に対して全数探索を行う攻撃を介しては見出すことはできない。さらにＳＡＬＴ０は、公開単方向関数への入力としても用いられ（ここで、「単方向」は通常の暗号の意味で用いられる）、４個の更なるＳＡＬＴ値（ＳＡＬＴ１、ＳＡＬＴ２、ＳＡＬＴ３、及びＳＡＬＴ４）を発生する。４個のＳＡＬＴ値は、後述する方法でＰ値及びＱ値を暗号化するために用いられる。単方向関数は、ＳＡＬＴ０からＳＡＬＴ１〜ＳＡＬＴ４を容易に計算するが、これらの導出されたＳＡＬＴ値のいずれからもＳＡＬＴ０は演算上容易に発生できないようにする。
【００６８】
ＨＡＳＨ（Ｔ１）は、公開単方向ハッシュ関数を用いて回復情報Ｔ１に対して計算されたハッシュ値である。ＨＡＳＨ（Ｔ１）は、Ｔ１内の情報に対する「逆署名」の形態を与える。逆署名は、情報を１つの秘密へ強固に結合させる。何人も逆署名を計算することができるが、暗号化ブロックの中の全ての秘密を知っている（そしてそれにより公開キーを用いて暗号化ブロックを再生できる）か又は公開キーを知っている（そしてそれによりそれらの秘密を直接回復できる）ユーザのみが、逆署名を検証することができる。逆署名に関する更なる詳細は、Ｄ．  Ｂ．  Ｊｏｈｎｓｏｎ及びＳ．  Ｍ．  Ｍａｔｙａｓによる「Ｅｎｈａｎｃｅｄ  Ｏｐｔｉｍａｌ  Ａｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ：  Ｒｅｖｅｒｓｅ  Ｓｉｇｎａｔｕｒｅｓ  ａｎｄ  ＡＮＳＩ  Ｘ９．４４」（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  １９９６  ＲＳＡ  Ｄａｔａ  Ｓｅｃｕｒｉｔｙ  Ｃｏｎｆｅｒｅｎｃｅ，  Ｓａｎ  Ｆｒａｎｃｉｓｃｏ，  ＣＡ，  １９９６）を参照されたい。
【００６９】
ＳＰＱＲ、ＳＡＬＴ０、及びＨＡＳＨ（Ｔ１）の値は、ブロックの形にされ（図１１参照）、処理され、そしてボブの公開キーを用いて暗号化される。好適には、これは上記文献に記載の拡張最適非対称暗号手順（ｅｎｈａｎｃｅｄ  ｏｐｔｉｍａｌ  ａｓｙｍｍｅｔｒｉｃ  ｅｎｃｒｙｐｔｉｏｎ  ｐｒｏｃｅｄｕｒｅ）を用いて行われるが、他の手順も同様に用いることができる。
【００７０】
次にステップ５０６においてアリスは、ステップ５０２で発生されたＳＰＱＲ値２０２を用いて、Ｘ国及びＹ国について適切なＰｘ値２２０、Ｑｘ値２２４、Ｐｙ値２２８、及びＱｙ値２３０（図４及び図５参照）を導出する。そして、Ｘ国及びＹ国のそれぞれについて権限あるキー回復エージェントの公開キーを用いてこれらの値を暗号化し、暗号化されたＰ値及びＱ値であるＰｘ′値、Ｑｘ′値、Ｐｙ′値、及びＱｙ′値を発生する。
【００７１】
暗号化されたＰ値及びＱ値は、秘密のＳＰＱＲ値２０２の、キー回復エージェントに対して「使用可能とされた」部分である。すなわち、これらは、権限ある裁判所命令若しくは他の公的機構によりキー回復エージェントから得ることができる。暗号化されたＰ値及びＱ値は、次のように定義される。
Ｐｘ′＝ｅＰＵｘ１（ＨＡＳＨ（Ｔ１）；Ｐｘ；ＳＡＬＴ１）
Ｑｘ′＝ｅＰＵｘ２（ＨＡＳＨ（Ｔ１）；Ｑｘ；ＳＡＬＴ２）
Ｐｙ′＝ｅＰＵｙ１（ＨＡＳＨ（Ｔ１）；Ｐｙ；ＳＡＬＴ３）
Ｑｙ′＝ｅＰＵｙ２（ＨＡＳＨ（Ｔ１）；Ｑｙ；ＳＡＬＴ４）
ここで、ＰＵｘ１はＸ国についてのキー回復エージェント１の公開キー、ＰＵｘ２はＸ国についてのキー回復エージェント２の公開キー、ＰＵｙ１はＹ国についてのキー回復エージェント１の公開キー、そしてＰＵｙ２はＹ国についてのキー回復エージェント２の公開キーである。
【００７２】
Ｐｘ及びＱｘは、Ｘ国における権限あるキー回復エージェントに対して「使用可能とされた」Ｐ値２２０及びＱ値２２４（図４参照）である。
Ｐｙ及びＱｙは、Ｙ国における権限あるキー回復エージェントに対して「使用可能とされた」Ｐ値２２８及びＱ値２３０（図５参照）である。
ＳＡＬＴ１、ＳＡＬＴ２、ＳＡＬＴ３、及びＳＡＬＴ４は、ステップ５０４において発生された１６０ビットの秘密の導出値である。
ＨＡＳＨ（Ｔ１）は、ステップ５０４において発生された１２８ビット又は１６０ビットの秘密でないハッシュ値である。
Ｔ１は、ステップ５０４における秘密でない回復情報である。
【００７３】
ＳＡＬＴ１〜ＳＡＬＴ４は、暗号化されたＰ値及びＱ値を保護する。仮にＰ値又はＱ値の一部が知られたとしても、残りの部分は、暗号化されたＰ値又は暗号化されたＱ値に対して全数探索を行う攻撃を介しては見出すことができない。例えば、Ｐｘ及びＱｘが、それぞれＰｙ及びＱｙの正式のサブセットである状況を考える。仮にＰｘ及びＱｘが権限ある裁判所命令を介してキー回復エージェントから取得されたとしても、Ｒを回復するタスクは、先ず（Ｒの部分を回復するために）Ｐｙ及びＱｙを探りその後Ｒの残りの部分を探ることにより、それほど簡単にはならない。等しい値の２つのブロックが異なる公開キーを用いて暗号化される状況を避けるべく、ＳＡＬＴ１〜ＳＡＬＴ４の値が異なるように特に設定されている。
【００７４】
暗号化ＳＰＱＲ値に存在するＨＡＳＨ（Ｔ１）もまた、暗号化されたＰ値及びＱ値に含まれる。これにより、暗号化されたＰ値又はＱ値に対する回復情報Ｔ１の強固な結合が得られる。従って、キー回復エージェントは、暗号化されたＰ値又はＱ値が提示された裁判所命令に記載された条件を満足するか否かを判断するための手段を与えられる。
【００７５】
Ｐ値又はＱ値、ＳＡＬＴ値、及びＨＡＳＨ（Ｔ１）は、ブロックの形とされ（図１２参照）、処理され、そしてキー回復エージェントの公開キーを用いて暗号化される。好適には、これは、上述のＤ．  Ｂ．  Ｊｏｈｎｓｏｎらによる文献に記載の拡張最適非対称暗号化手順を用いて行われるが、他の手順を用いることもできる。
【００７６】
暗号化ステップ５０４及び５０６に続いてアリスは、ステップ５０８において、暗号化ＳＰＱＲ′値（３０４）、暗号化Ｐ値及びＱ値（３０６）、及び回復情報Ｔ１（３０８）を含むセッション・コンテキスト・ブロック３０２を発生する（図６参照）。
【００７７】
ステップ５１０においてアリスは、彼女の個人的署名を用いてセッション・コンテキスト３０２にデジタル的に署名し、署名３１０を発生する（図７参照）。署名３１０は伝送される分量を互いに結合させ、そして署名３１０によりボブは、受信された暗号化ＳＰＱＲ３０４が、承認を求めた送信者アリスから発せられたことを認める。ステップ５１２において署名３１０がセッション・コンテキスト３０２へ付加され、セッション・ヘッダ３１２を構成する（図７参照）。（別の例として、署名を避けたい場合には署名を省略してもよい。）
【００７８】
最後に、ステップ５１８において、セッション・ヘッダ３１２及び暗号化メッセージ１（３１４）を含むパケット３１６がボブへ送信される。
【００７９】
図１３では、パケット３１６（図８参照）をアリスから受信したボブのシステムが、先ずステップ６０２において、アリスの公開署名キーを用いてセッション・コンテキスト３０２に対して署名３１０の有効性を検証する。
【００８０】
その後ステップ６０４において、ボブは、彼の専用復号キーを用いて暗号化されたＳＰＱＲ値３０４（図６参照）を復号化し、元のＳＰＱＲ値２０２（図３参照）を取得する。
【００８１】
その後ステップ６０６において、ボブは、受信された暗号化Ｐ値及びＱ値３０８を有効と認める。これは、復号化されたＳＰＱＲ値２０２からＰｘ、Ｑｘ、Ｐｙ、及びＱｙの値を再構成し、各国（Ｘ及びＹ）の権限あるキー回復エージェントの公開キーを用いてこれらの値を暗号化し、そしてこれらの生成された値がアリスから受信された暗号化Ｐ値及びＱ値と等しいことを比較することにより行われる。
【００８２】
その後ステップ６０８において、ボブは、以前にアリスにより用いられた手順を用いて復号化されたＳＰＱＲ値２０２からキー１１８（図１）を再生する。これは、ステップ６０６においてアリスから正しい暗号化Ｐ値及びＱ値を受信したことを判断した後にのみ行われる。ステップ６１０において、ボブのシステムに対して要求しているアプリケーション・プログラムにキー１１８が与えられることにより、そのプログラムがアリスからの暗号化メッセージ１（３１４）を復号化することができる。
【００８３】
回復情報Ｔ１が設けられることにより、（１）ボブは、各キー回復エージェントにおける暗号化ＳＰＱＲ値３０４並びに暗号化Ｐ値及びＱ値３０６を有効と認めることができ、（２）キー回復エージェントは、それぞれ自身の暗号化Ｐ値及びＱ値を有効と認めることができる。
【００８４】
図９は、回復情報Ｔ１の構成を示す図である。送信者ＩＤ４０２により受信者は、セッション・コンテキスト３０２に関して送信者により発生された署名３１０を有効と認めるために必要な認証された公開キーを取得することができる。
【００８５】
受信者ＩＤ４０６により受信者は、メッセージ３１４が実際に彼若しくは彼女宛てのものであることを判断することができる。
【００８６】
発信国の国別ＩＤ４０４及び宛先国の国別ＩＤ４０８により、受信者は、同等の暗号化Ｐ値及びＱ値を再生してそれらが受信された暗号化Ｐ値及びＱ値３０６と等しいことを比較することによりそのセッション・コンテキスト３０２の内容を有効と認めることができる。
【００８７】
送信者及び受信者のキー回復エージェントＩＤ４１０及び４１２により、受信者は、真正のキー回復エージェントが本発明の手順に従って用いられたことを認めることができる。さらに、これらのＩＤ４１０及び４１２により、取得される各キー回復エージェントの公開キーの認証ができる。またさらに、キー回復エージェントＩＤ４１０及び４１２によって法執行機関は、いずれのキー回復エージェントがユーザの暗号化Ｐ値及びＱ値３０６を復号化できるかを知ることができる。各ユーザについてデフォールトのキー回復エージェントＩＤ４１０及び４１２を、Ｘ．５０９バージョン３認証（Ｘ．５０９  ｖｅｒｓｉｏｎ  ３  ｃｅｒｔｉｆｉｃａｔｅ）の付加部分として伝送することができる。
【００８８】
（任意の）固有セッションＩＤ４１４により、送信者及び受信者がそのセッションを識別することができる。
【００８９】
暗号期間４１６は、キー使用の開始及び終了の日付及び時間により指定される。Ｐ値及びＱ値は、裁判所命令の期間がキーの暗号期間の一部と重ならない限り渡されない。キー回復システムは、比較的短い暗号期間（例えば、１日未満）を設定し得る。この期間は国の方針決定による場合もある。このことからセッション・コンテキスト３０２は、必然的に動的にセットアップされ、送信者と受信者との間で伝送されなければならない。
【００９０】
作成日／時間４１８は、セッション・コンテキスト３０２が作成された日付及び時間（ＵＴＣコード化）を表す。受信者は、整合性検査の一部としてその日付及び時間を検査する。Ｐ値及びＱ値へアクセスするためには、その日付及び時間が裁判所命令の期間内に含まれていなければならない。
【００９１】
暗号アルゴリズムＩＤ４２０により、本発明の手順をパラメータ化することができる。すなわち、Ｐ値、Ｑ値、及びＲ値のサイズを、データ暗号化に用いられる暗号アルゴリズムに依存させることができる。
【００９２】
各ユーザについての公開キー認証は、Ｘ．５０９バージョン３認証標準（Ｘ．５０９ｖｅｒｓｉｏｎ  ３  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｎｄａｒｄ）に従うと想定する。バージョン３の拡張により、ユーザＩＤ、国別ＩＤ、第１のキー回復エージェントＩＤ及び第２のキー回復エージェントＩＤ等、ＰＱＲプロトコルについての所与の必要な情報を保持できることが望ましい。さらに、送信者及び受信者の公開キー認証が、ＰＱＲシステムに対して使用可能とされなければならない。従って、キー配送を実行する目的でユーザの公開キーが使用可能とされるとき、キー回復を行うために必要な情報もまた使用可能となり、有効と認められる。認証は、この情報を伝送するに自然な場所と考えられる。ユーザのキー回復情報をユーザの公開キー認証に一体化することにより、ユーザがＰＱＲシステムを誤って使用する場合が少なくなる。誤った使用とは、例えば、好都合なキー回復オプションを用いて異なる国別ＩＤを要求すること等である。
【００９３】
対称キー暗号システム（Ｋｅｒｂｅｒｏｓ等）を用いてキー配送が実行されるシステムにおいては、キー配送センター（ＫＤＣ）により同じ情報を記憶しかつ与えられることができる。さらにＫＤＣは、暗号化Ｐ値及びＱ値を準備することができる。暗号化Ｐ値及びＱ値に対して整合性検査を実行するためには、Ｋｅｒｂｅｒｏｓの特殊なバージョンが必要とされる。
【００９４】
本発明のシステムにより必要とされる情報は、図１４に示す大域通信テーブル７００と称されるテーブルに記憶される。大域通信テーブル７００は、特定のアルゴリズム及び異なる国々に所在するユーザについてのキー並びにＰ、Ｑ、及びＲのサイズをシステムが計算できるように情報を格納する。さらに大域通信テーブル７００は、各国で権限を認められたキー回復エージェントの公開キーも格納できる。テーブル中の数字は、本発明の許容するフレキシビリティを実証するためだけの例示である。変形については、事実上制限がない。特に、各国は多数のキー回復エージェントを有することができる。
【００９５】
各国間通信においては、本発明のシステムは、ボブの公開キー認証又は相当するシステム・コンフィギュレーション情報からボブの国別ＩＤを決定することができる。アリスの発信国の国別ＩＤ及びボブの宛先国の国別ＩＤを用いて、システムは、アリス及びボブが使用できる最大のキー長さを計算する。この値は、２つのキーの値のうち小さい方である。例えば、ＤＥＳにおけるＸ国についてのキー値が６４ビット、Ｙ国についてのキー値が１２８ビットの場合、６４ビットが選択される。
【００９６】
国別ＩＤ＝ＸのアリスについてのＰｘ、Ｑｘ及びＲｘの長さ、並びに、国別ＩＤ＝ＹのボブについてのＰｙ、Ｑｙ及びＲｙの長さが計算される。この場合、ＰＱＲシステムでは、発信国及び宛先国により必要とされるビット数のみの回復が可能である。従って、Ｐ、Ｑ及びＲのサイズは、国によって変化する可能性がある。しかしながら、（Ｐｘ  ＸＯＲ  Ｑｘ）‖Ｒｘのサイズ及び値は、常に、（Ｐｙ  ＸＯＲ  Ｑｙ）‖Ｒｙのサイズ及び値と等しくなるので、アリス及びボブにより確実に同じキー値が計算される。
【００９７】
本発明は、関連する国々の輸出入規定に従って、本発明を組み込んだシステムと本発明を省いたシステムとの間の相互動作性を実現する。非ＰＱＲシステムは、双方の国にキー回復の必要性がない場合以外は、送信者として動作することができずかつＰＱＲシステムと通信することができない。これは、受信するＰＱＲシステムが、セッション・コンテキストを有効と認めるために必要なセッション・コンテキスト内の暗号化Ｐ値及びＱ値を調べようとするからである。ＰＱＲシステムは、送信者にとって受信者についてのデフォールトのキー回復情報セットを決定する手段がない限り、送信者として動作できずかつ非ＰＱＲシステムと通信することができない。仮に送信者が受信者についての国別ＩＤを決定することができ、そしてＰＱＲスキームが各国についての２つのデフォールトのキー回復エージェントのＩＤを与えたとすれば、ＰＱＲシステムは、送信者として動作でき、そして受信者として動作する非ＰＱＲシステムと通信できるであろう。しかしながら、それでもなお受信者は、セッション・コンテキスト内の受信したＰＱＲ値を用いて同じキー導出アルゴリズムを使用する必要があるであろう。
【００９８】
暗号化ＳＰＱＲ及び暗号化Ｐｘ、Ｑｙ、Ｐｙ、及びＱｙの値に用いられるランダム態様のＳＡＬＴ１〜ＳＡＬＴ４は、これらが正しいとボブが検証できるような方法で発生されなければならない。ボブは、キー回復エージェントに属する専用キーを知らないので、これを行う唯一の方法は、キー回復エージェントの公開キーを用いて平文値を暗号化し、それらが受信された値と等しいか否かを比較することである。
【００９９】
このことは、暗号化されたＰｘ、Ｑｘ、Ｐｙ、及びＱｙの値の中のＳＡＬＴ値が、暗号化ＳＰＱＲ値の中のＳＡＬＴ値から導出可能でなければならないことを意味する。これを行う方法の１つは、ＳＡＬＴ０に対してカウント・フィールドを付加し、その結果を単方向ハッシュ関数によりハッシュ処理することにより、暗号化Ｐｘ、Ｑｘ、Ｐｙ、及びＱｙの値のそれぞれについて疑似ランダムＳＡＬＴ値（ＳＡＬＴ１、ＳＡＬＴ２、ＳＡＬＴ３、及びＳＡＬＴ４）を生成することである。カウントは、セッション・コンテキスト内の暗号化Ｐ値又はＱ値の順序を表す数値を含む。この方法を行うことにより、暗号化Ｐｘ、Ｑｘ、Ｐｙ、及びＱｙの値の中の導出される全てのＳＡＬＴ値が独立に現れる。不正なキー回復エージェントは、導出された１つのＳＡＬＴ値を用いて別の暗号化Ｐ値又はＱ値のセキュリティを弱めることができない。権限ある要求者にＰ値又はＱ値を供給することに加えて、キー回復エージェントは、使用済みの導出されたＳＡＬＴ値もまた供給することができる。これにより権限ある要求者は、キー回復公開キーを用いて、キー回復エージェントにより正しい復号化が行われたことを検証することができる。
【０１００】
権限ある要求者は、セッション・コンテキストへアクセスする。これを行う手段は、ＰＱＲフレームワークにおいて特定されない。権限ある要求者及びキー回復エージェントの双方が、セッション・コンテキストに対するデジタル署名を検証することにより、そのセッション・コンテキストがＰＱＲフレームワークに従っているというある程度の信頼性を得ることができる。ここで、この検証は、いつでも誰でも、そして所望すれば何度でも行うことができる。なぜなら、秘密でない値のみが署名プロセスへ入力されるからである。
【０１０１】
権限ある要求者及びキー回復エージェントの双方は、ユーザＩＤ及び日付／時間値が有効であること、すなわち、キー回復要求を処理するための許可の際に指定されたことを検証することができる。他の公開情報もまた、適切であるとして有効性を認められる。
【０１０２】
本発明に基づいて暗号化された情報に対して合法的にアクセスするために、法執行機関は、先ず、指定された期間に指定された目標に対して盗聴を行うための許可証すなわち裁判所命令を取得する。次に、法執行機関は、暗号化データを収集するために通信を傍受しなければならない。次に、法執行機関は、裁判所命令と共に暗号化Ｐ値及びＱ値をキー回復エージェントへ持ち込む。キー回復エージェントは、個人的にＰ値及びＱ値を復号化し、裁判所命令に対してＩＤ及び日付を検査する。裁判所命令の全ての要件に適合していたならば、エージェントは、復号化されたＰ値及びＱ値を法執行機関に渡す。その後、法執行機関は、Ｐ値とＱ値とを互いにＸＯＲ処理し、全キーを導出するためにＲ値に関して全数探索を行い、そして導出されたキーを用いてその情報を復号化する。Ｒ値に関する全数探索の必要性は、広範囲のキー回復を行うためにキー回復エージェントが法執行機関と共謀しているかもしれないという潜在的問題に対処するためである。この全数探索の必要性は、そのような広範囲の乱用をコストが高すぎて実行できないものとするために設定されている。
【０１０３】
本発明を評価する場合、幾つかの種類の攻撃が考えられる。その１つは、不正なキー回復エージェントによるものである。仮にキー回復エージェントの一人が不正を行いそのＰ値を明かしたとしても、問題にならない。なぜなら、Ｑ値はまだその攻撃者に知られていないからである。Ｑ値又はＲ値を知らないので、攻撃者はなお、１６８ビットの中間値（Ｐ  ＸＯＲ  ＱとＲとの連結）を破ることが必要である。この解決方法は、キー全体をキー回復エージェントにより回復させる方法よりも、ユーザにとって好ましいはずである。キー回復エージェントたちが共謀していない限り、いかなる不正も不可能である。
【０１０４】
不正なキー回復エージェントは、別の暗号化Ｐ値又はＱ値を解析しようとしても、彼の暗号化Ｐ値又はＱ値に関係するＳＡＬＴ値を用いることはできない。各ＳＡＬＴ値はＰＱＲのＳＡＬＴ値を単方向関数に通すことにより導出されるので、各ＳＡＬＴ値が独立に現れるからである。
【０１０５】
別の種類の攻撃は、不正なユーザによるものである。本発明は、双方のユーザが不正である場合、彼らが彼ら自身の暗号化方法を用いることができるか又はいずれのソフトウェア・システム検査も迂回できることを基本的に仮定している。従って、本発明は、双方のユーザが不正である場合の攻撃を防ごうとするものではない。これは、根本的な簡易化仮定である。
【０１０６】
送信者が不正であってそのキー回復値を送信しない場合、受信者がそれらの有効性を認めることができなくなる。不正な伝送を検知することにより、解読プロセスは起動されなくなる。
【０１０７】
受信者が不正であってそのキー回復値を検証しない場合でも、送信者はそれらを伝送し終えており、必要に応じてキー回復エージェントがそれらのキー回復値へアクセスできる。
【０１０８】
非常に長い暗号期間が認められる場合、一対のユーザは安全なチャネル（例えば、直接会うこと）を通してセッション・コンテキストを送ることができ、このセッション・コンテキストを長時間用いることができる。この場合、セッション・コンテキストへのアクセスにおける問題が生じるかもしれない。１つの解決策は、限定された暗号期間を指定することにより動的セッション・コンテキストを用いるように求めることである。
【０１０９】
公開キーの認証ができるクライアント装置における認証管理のための公開キー・インフラストラクチャが存在することが想定されている。さらに、各通信パーティは、その配置される国を決定できると想定されている。これは、移動性のあるユーザにとって重要である。
【０１１０】
本発明は、個人においては、権限なきエンティティによるキー全数探索攻撃に対して非常に耐性のあるデータ・プライバシーを提供する。権限ある回復においてさえ、残りの作業ファクタは容易なものではない。従って、法執行機関は、（キー回復を介して）選択された個人を監視することができるが、多くの人を監視することはあまり実際的ではない。同時に、本発明は、犯罪行為を監視するという法執行機関の必要性に対処する。なぜなら、疑わしい犯罪者を対象とすることができ、回復された彼又は彼女の暗号化メッセージにより情報を判断できるからである。
【０１１１】
セッション・レベルにおけるキー回復を設けることには、幾つかの利点がある。第１は、それがコンパートメント化される点である。権限あるキー回復の期間にほぼ一致することが望ましい、キーの有効期間がある。第２は、それが適切である点である。疑わしい悪意の送信者からのメッセージを受け取るために受信者の専用復号キーを開放することは、不適切である。誰でも高位の官僚へメッセージを送ることができる。このことは、これらの官僚が彼らのキーを開放してしまったことを意味しない。
【図面の簡単な説明】
【図１】Ｐ、Ｑ及びＲの値から暗号キーを発生する本発明による基本手順を示す概略的構成図である。
【図２】本発明により実施された基本的通信システムの概略的構成図である。
【図３】Ｒ値の長さを国毎に変更可能とした図１の手順を修整した概略的構成図である。
【図４】図３に示したＳＰＱＲ値の左半分及び右半分の１つの可能な分割を示す概略的構成図である。
【図５】図３に示したＳＰＱＲ値の左半分及び右半分の別の可能な分割を示す概略的構成図である。
【図６】目的の受信者へ伝送されるセッション・コンテキストの概略的構成図である。
【図７】目的の受信者へ伝送されるセッション・ヘッダの概略的構成図である。
【図８】目的の受信者へ伝送されるメッセージ・パケットの概略的構成図である。
【図９】セッション・コンテキスト・ブロックにより目的の受信者へ伝送される回復情報の概略的構成図である。
【図１０】目的の受信者へ伝送されるメッセージ・パケットを作成するために、送信者により実行されるステップの流れ図である。
【図１１】暗号化前のＳＰＱＲブロックの形式を示す図である。
【図１２】暗号化前のＰブロック及びＱブロックの形式を示す図である。
【図１３】送信者から受信されたメッセージ・パケットを処理するために、目的の受信者により実行されるステップの流れ図である。
【図１４】通信パーティにより用いられる国特有のデータを含む大域通信テーブルを示す図である。
【図１５】図３に示した手順の発生を示す概略的構成図である。
【符号の説明】
１００  暗号化手順
１０２  ＰＱＲ値
１０４  Ｐ値
１０６  Ｑ値
１０８  Ｒ値
１１０  モジュロ２加法
１１２  結果値
１１４  中間値
１１６  単方向ハッシュ関数
１１８  暗号キー
【図１】
0003560439.tif 000002
【図２】
0003560439.tif 000003
【図３】
0003560439.tif 000004
【図４】
0003560439.tif 000005
【図５】
0003560439.tif 000006
【図６】
0003560439.tif 000007
【図７】
0003560439.tif 000008
【図８】
0003560439.tif 000009
【図９】
0003560439.tif 000010
【図１０】
0003560439.tif 000011
【図１１】
0003560439.tif 000012
【図１２】
0003560439.tif 000013
【図１３】
0003560439.tif 000014
【図１４】
0003560439.tif 000015
【図１５】
0003560439.tif 000016