(57)【要約】【課題】暗号アルゴリズムの変更に加えてまたはその代わりに、特に輸出される製品についての鍵強度をより低い暗号強度に変更すること。【解決手段】一実施形態では、通信デバイスは、（ｉ）暗号鍵を求める要求を受信し、（ｉｉ）制限識別子から前記暗号鍵の強度が制限されているかどうかを判定し、（ｉｉｉ）前記暗号鍵が制限されている場合には、第２の鍵強度を有する第２の暗号鍵を使用させ、（ｉｖ）前記暗号鍵が制限されていない場合には、第１の鍵強度を有する第１の暗号鍵を使用させるように動作可能な鍵強度制御エージェント３０８を含む。前記第１および第２の鍵強度は、異なる。【選択図】図３
2007082229.tif 000002
【特許請求の範囲】
【請求項１】
暗号鍵を提供するための方法であって、
（ａ）暗号鍵を求める要求を受信する工程と、
（ｂ）制限識別子から前記暗号鍵の強度が制限されているかどうかを判定する工程と、
（ｃ）前記暗号鍵が制限されている場合には、第２の鍵強度を有する第２の暗号鍵を使用する工程と、
（ｄ）前記暗号鍵が制限されていない場合には、前記第２の鍵強度よりも強度の高い第１の鍵強度を有する第１の暗号鍵を使用する工程と
を含む方法。
【請求項２】
前記制限識別子は、ライセンス・ファイル内にあり、輸出国を識別し、前記第２の鍵は、前記第１の鍵から導出される、請求項１に記載の方法。
【請求項３】
前記制限識別子は、地理的位置信号であり、前記判定する工程は、
（ｂ１）関連する通信デバイスの空間的位置を示し地理的位置座標を供給する前記地理的位置信号を受信する工程と、
（ｂ２）暗号鍵の強度が制限されているか否かを判定するために前記座標をマッピングする工程と
を含む、請求項１に記載の方法。
【請求項４】
前記第１および第２の鍵は、同じ鍵長を有し、前記第１および第２の鍵内の少なくともいくつかのビットは、同じであり、前記暗号鍵は、制限されており、前記工程（ｃ）は、
（ｃ１）前記第１の鍵を生成する工程と、
（ｃ２）前記第２の鍵を作成するように前記第１の鍵を修正する工程とを含み、
（ｅ）前記第１および第２の鍵と共に同じ暗号スイートが使用される場合に、前記暗号鍵が制限されている場合は前記第２の鍵を使用して、前記暗号鍵が制限されていない場合は前記第１の鍵を使用して、メッセージを暗号化する工程と、復号する工程との内の少なくとも１つの工程をさらに含み、前記修正する工程（ｃ２）は、前記第１の鍵の少なくともいくつかのビットを所定のパターンに定められる通りに変更する、請求項１に記載の方法。
【請求項５】
請求項１に記載の各工程を実施するように実行可能な命令を備えるコンピュータ可読媒体。
【請求項６】
通信デバイスであって、
（ｉ）暗号鍵を求める要求を受信し、（ｉｉ）制限識別子から前記暗号鍵の強度が制限されているかどうかを判定し、（ｉｉｉ）前記暗号鍵が制限されている場合には、第２の鍵強度を有する第２の暗号鍵を使用させ、（ｉｖ）前記暗号鍵が制限されていない場合には、前記第２の鍵強度よりも強度の高い第１の鍵強度を有する第１の暗号鍵を使用させる鍵強度制御手段
を備える通信デバイス。
【請求項７】
前記制限識別子は、ライセンス・ファイル内にあり、輸出国を示す、請求項６に記載のデバイス。
【請求項８】
前記制限識別子は、地理的位置信号であり、前記鍵強度制御手段は、関連する通信デバイスの空間的位置を示し地理的位置座標を供給する前記地理的位置信号を受信し、暗号鍵の強度が制限されているか否かを判定するために前記地理的位置座標をマッピングする、請求項６に記載のデバイス。
【請求項９】
前記暗号鍵は、制限されており、前記第２の鍵は、前記第１の鍵から導出される、請求項６に記載のデバイス。
【請求項１０】
前記第１および第２の鍵は、同じ鍵長を有し、前記第１および第２の鍵内の少なくともいくつかのビットは、同じであり、前記第１および第２の鍵と共に同じ暗号スイートが使用される場合に、前記暗号鍵が制限されている場合は前記第２の鍵を使用して、前記暗号鍵が制限されていない場合は前記第１の鍵を使用して、メッセージを暗号化することと、復号することとの内の少なくとも１つを行う暗号スイートをさらに備える、請求項９に記載のデバイス。
【請求項１１】
前記第１の鍵は、第１および第２のビット・セットを有し、前記第２の鍵は、第３および第４のビット・セットを有し、前記第１および第３のビット・セットは、同じであるが、前記第２および第４のビット・セットは、異なる、請求項９に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、暗号化に関し、特に暗号強度を弱めることに関する。
【背景技術】
【０００２】
インターネットの使用が益々高まり、安全性がインターネット・ユーザの主な懸念となってきている。安全性をもたらすために、仮想私設ネットワーク（ＶＰＮ）が開発された。ＶＰＮは、送信元と宛先だけがトラフィック・パケットを復号できるようにそれ自体のペイロード・トラフィックを暗号化した、公衆ＩＰネットワークを介する２つのサイト間のＩＰ接続である。ＶＰＮは、ペイロードだけでなく、技術的なセッション攻撃プロファイル（ｓｅｓｓｉｏｎ  ａｔｔａｃｋ  ｐｒｏｆｉｌｅ）において顧客サイトを危険に曝すのに使用され得るプロトコル・スタックの情報項目も暗号化する。
【０００３】
多数のＶＰＮプロトコルが、開発されている。ポイント・ツー・ポイント・トンネリング・プロトコル（ＰＰＴＰ）は、リモートのダイヤル・アップ接続およびＬＡＮ間接続を対象とする暗号化および認証を行い、制御セッションを使用して送信側から受信側への安全なトンネルを確立し維持し、データ・セッションを使用してデータ伝送を行う。レイヤ２転送プロトコル（Ｌ２Ｆ）は、インターネット・サービス・プロバイダ（ＩＳＰ）のダイヤル・アップ・サーバとネットワークとの間のトンネリングを行う。ユーザが、ＩＳＰのサーバへのダイヤル・アップ型ポイント・ツー・ポイント・プロトコル（ＰＰＰ）接続を確立し、次いでＩＳＰが、ネットワークを介してＰＰＰフレームを送るためにそれをＬ２Ｆフレームにラッピングする。レイヤ２トンネリング・プロトコルは、ネットワークを介してＰＰＰセッションをトンネリングするための方法を定義する。このプロトコルは、ＰＰＴＰとＬ２Ｆの両方を組み合わせる。ＩＰセキュリティすなわちＩＰＳｅｃは、認証ヘッダ（ＡＨ）と、カプセル化セキュリティ・ペイロード（ＥＳＰ）と、インターネット鍵交換（ＩＫＥ）とを含むプロトコル・スイートである。ＩＰＳｅｃは、レイヤ３で動作する場合は、ＡＨを介してアドレス認証を行い、ＥＳＰを介してデータ暗号化を行い、ＩＫＥを使用して送信側と受信側のノード間での自動的な鍵交換を行う。他のＶＰＮプロトコルとしては、セキュア実時間プロトコル（ＳＲＴＰ）、トランスポートＬＡＮサービス（ＴＬＳ）、およびセキュア・ソケット・レイヤすなわちＳＳＬプロトコルが挙げられる。
【０００４】
図１および２を参照して例示的なＩＰＳｅｃセッションについて論じる。第１および第２の通信デバイス１００および１０４は、ＩＰハードフォン、ソフトフォン、パーソナル・コンピュータ（ＰＣ）、ラップトップ、携帯情報端末（ＰＤＡ）などであり、これらは信頼性のないまたは安全でないネットワーク１０８（インターネットなど）を介して接続される。これらの通信デバイスは、安全化されたセッションを確立しようと努め、鍵交換を実施しなければならない。以下で理解されるように、鍵２００が乱数生成器２０４によって作成される。鍵２００は、第１および第２の通信デバイスのそれぞれが平文２０８および暗号文２１２をそれぞれ暗号化し復号し認証するのに使用される。対称暗号化では、暗号化および復号は、セッション・ノードのそれぞれにおいて同じ暗号アルゴリズム２１６に同一の鍵２００を入力することによって実施される。
【０００５】
鍵を交換するために、ＩＫＥプロトコルは、鍵生成にＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ暗号アルゴリズムを使用し、３つの異なる鍵交換方法を、すなわちメイン・モード（ｍａｉｎ  ｍｏｄｅ）と、アグレッシブ・モード（ａｇｇｒｅｓｓｉｖｅ  ｍｏｄｅ）と、クイック・モード（ｑｕｉｃｋ  ｍｏｄｅ）とを提供する。メイン・モードでは、ノード間で６つのメッセージ（３回の往復交換）が送信される。最初の２つのメッセージは、特定のセキュリティ・ポリシーを確立し、その次の２つのメッセージは、鍵情報を含んでおり、最後の２つのメッセージは、認証情報を提供する。アグレッシブ・モードは、メイン・モードと同様であり、同じ結果を達成する。異なる点は、３回ではなく２回の交換しか存在しない（送信側と受信側の間で４つのメッセージが送信される）ことである。クイック・モードは、メイン・モードまたはアグレッシブ・モードを介して通信ノード間で全ての必要な情報が交換された後に、新しい鍵を生成するために使用される。
【０００６】
米国など多くの国は、国家安全保障上の理由で暗号技術および製品に関する厳格な輸出制御を敷いている。米国では、商用暗号化製品に関する輸出制御は、輸出管理規則すなわちＥＡＲによって権限が与えられた米国商務省内の産業安全保障局、および情報技術管理規則すなわちＩＴＡＲによって権限が与えられた国務省内の国防貿易管理局（ＤＴＣ）によって管理されている。歴史的には、厳格な統制は、あるレベルよりも高い強度の暗号化製品を対象とする輸出ライセンスの付与に関して敷かれてきた。他の諸国も同様の規則を有している。
【０００７】
暗号を用いて使用可能にされる製品（ｃｒｙｐｔｏｇｒａｐｈｉｃａｌｌｙ  ｅｎａｂｌｅｄ  ｐｒｏｄｕｃｔ）を国際的に販売する企業が抱えている目下の難題は、暗号化製品の強度を効果的に制御することである。米国内で販売されるかかる製品については、暗号強度の制御は、他の諸国、特にイラン、キューバ、北朝鮮など輸出が厳格に制御されるある諸国で販売されるかかる製品よりも遥かに緩いものとなっている。
【０００８】
暗号強度を制御する１つの手法は、製品の仕向先に基づいて暗号アルゴリズムを変更することである。このことは、ライセンス・ファイルを使用して行われる。例えば、ライセンス・ファイル・ユーティリティは、強度の異なる第１または第２の暗号アルゴリズムをデバイスがサポートしているか否かを制御する。弱い方の暗号アルゴリズムの例としては、データ暗号化標準（ＤＥＳ）−５６が挙げられ、強い方の暗号アルゴリズムの例としては、トリプルＤＥＳすなわち３ＤＥＳ、および高度暗号化標準すなわちＡＥＳが挙げられる。以下で理解されるように、ＤＥＳは、トリプルＤＥＳよりも遥かに弱いものである。強い方の暗号アルゴリズムをデバイスがサポートすべきでないときは、ライセンス・ファイル内のフラグが、セットまたはアンセットされる。ライセンス・チェックおよび／またはセッション・ネゴシエーション中に、ライセンス・ユーティリティは、強い方の暗号アルゴリズムをデバイスがサポートすべきでない旨をフラグが示している場合には、強い方の暗号アルゴリズムを非アクティブ化し、弱い方の暗号アルゴリズムをアクティブ化し、強い方の暗号アルゴリズムをデバイスがサポートすべき旨をフラグが示している場合には、強い方の暗号アルゴリズムをアクティブ化し、弱い方の暗号アルゴリズムを非アクティブ化することになる。
【０００９】
ウェブ・ブラウザおよびサーバのベンダ（例えば、Ｎｅｔｓｃａｐｅ（商標）社、Ｍｉｃｒｏｓｏｆｔ（商標）社など）によって実装されている別の手法では、アプリケーションは、ウェブ・サーバ、ウェブ・ブラウザ、およびウェブ・ブラウザの証明書が、強い暗号スイートおよび鍵サイズを使用することを可能にするバージョンおよびタイプであり、そうした強度を有するものでない限り、長い鍵長の強い鍵および関連する暗号スイート（暗号アルゴリズム）とネゴシエートすることが許可されない。その代わりに、短い鍵長の弱い鍵および関連する暗号スイートが使用される。
【特許文献１】米国特許出願第１０／８１１４１２号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
これらの手法の問題としては、巧妙なユーザにとって弱い方の暗号アルゴリズムのアクティブ化が透過的であることが挙げられる。こうした知識に基づいて、巧妙なユーザなら、ライセンス・ファイルを改変して、強い方の暗号アルゴリズムをアクティブ化しようと試みることができる。こうした透過性は、ユーザが証明書を自由に閲覧でき、暗号化が制限されるようなソフトウェア・バージョンであるかどうかを判定できる場合は、特に問題である。
【００１１】
別の問題は、製品が輸出されることになるのかそれとも製造国内に留まることになるのかに応じて、ソフトウェアのベンダが２つのソフトウェア・パッケージを管理する必要があることである。したがって、ベンダは、より高い暗号強度を有するパッケージが製造国外に出ないことを保証しなければならない。
【課題を解決するための手段】
【００１２】
これらおよびその他の必要が、本発明の様々な実施形態および構成によって対処される。本発明は一般に、暗号アルゴリズムの変更に加えてまたはその代わりに、特に輸出される製品についての鍵強度をより低い暗号強度に変更することを対象とする。
【００１３】
第１の実施形態では、本発明は、暗号鍵を提供するための方法であって、
（ａ）暗号鍵を求める要求を受信する工程と、
（ｂ）制限識別子（ｒｅｓｔｒｉｃｔｉｏｎ  ｉｄｅｎｔｉｆｉｅｒ）から前記暗号鍵の強度が制限されているかどうかを判定する工程と、
（ｃ）前記暗号鍵が制限されている場合には、第２の鍵強度を有する第２の暗号鍵を使用する工程と、
（ｄ）前記暗号鍵が制限されていない場合には、第１の鍵強度を有する第１の暗号鍵を使用する工程と
を含む方法を対象とする。前記第１の鍵強度は、前記第２の鍵強度よりも高い。
【００１４】
第２の鍵は、第１の鍵から導出されることが好ましい。典型的には、第１の鍵は、乱数生成器によって生成される。第２の鍵は、第１の鍵とはハンディが付けられた（ｈａｎｄｉｃａｐｐｅｄ）すなわち抵抗力が弱められた（ｃｏｍｐｒｏｍｉｓｅｄ）バージョンである。第１の鍵の内のいくつかのビットは第２の鍵の内の対応するビットと同じであるが、その他のビットは異なる。異なるビットは通常、鍵毎に一定であるように維持され、かつ／またはマスクを使用して生成される。
【００１５】
第２の鍵のハンディ付けは、生成される鍵の全部または一部のビットに関するランダム性の程度を減少させることによって行われてもよい。言い換えれば、乱数生成器のランダム性の程度は、所与の鍵についての可能なバリエーション数が理論上の可能なバリエーション数未満となるように制御されまたはハンディが付けられる。したがって、１６ビット鍵についての可能なバリエーションは、２１６未満であり、好ましくは可能なバリエーション数の５０％未満である。
【００１６】
いずれにせよ、弱められた鍵の使用は本来的に、使用される個々の暗号スイートに関わらず暗号スイートの暗号強度を弱める。したがって、輸出に対する懸念が大幅に解消される。エンド・ユーザは、保護されたライセンス・ファイル内の制限識別子を突き止めても、特定のセッションを対象とする鍵が強いものなのかそれとも弱いものか分からない。ライセンス・ファイル内に制限識別子を埋め込むことにより、ベンダが複数のバージョンのソフトウェアおよび／または様々なタイプの証明書を管理する必要を取り除くこともできる。
【００１７】
第１および第２の鍵が同じ鍵サイズ（例えば、鍵長）を有することが、さらに好ましい。第１の鍵の一部だけを第２の鍵で使用することも、第２の鍵を、第１の鍵の長さを短くしたすなわち短縮したバージョンとすることも可能であるが、簡略化のために、第１および第２の鍵は、それぞれの有効鍵強度は異なることもあるが、同じビット数を有するものとする。
【００１８】
一構成では、制限識別子は、通信デバイス内のいずれかの場所に配置されるソフトウェア・フラグである。このフラグによって、暗号化セッションの間に生成される鍵（第１の鍵）が、セッション鍵（第２の鍵）が相対的に弱くなる（例えば、４０ビット）ようにマスキングされる。無論、ソフトウェア・フラグがセット（またはアンセット）されない限り、固定鍵も使用することができる。この構成は、様々なレベルの強度（例えば、５６ビット、８０ビット、９０ビットなど）ならびに鍵のマスキングに関する様々な方法が提供され得るように、ライセンス・ファイルがフラグを制御することが可能になるように拡張することができる。
【００１９】
従来技術とは異なり、第１および第２の鍵について同じ暗号スイートすなわち暗号アルゴリズムが使用されることが好ましい。トリプルＤＥＳなど比較的強い暗号スイートでさえも、第２の鍵を使用することによって大幅に弱めることができる。
【００２０】
本発明は、第２の鍵を使用して暗号化されたデータに政府機関がアクセスすることを可能にしながらも、関連製品輸出規則に準拠する簡単かつ効果的な方法を提供することができる。鍵を「クラッキング」し使用されている暗号スイートを知ることにより、政府機関は、データを電子メッセージの形に容易に復号することができる。
これらおよびその他の利点は、本明細書に含まれる１つ（または複数）の本発明の開示を読めば明らかとなるであろう。
【００２１】
本明細書で使用されるように、「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」ならびに「および／または（ａｎｄ／ｏｒ）」という表現は、演算では論理積と論理和の両方を指す開放型の表現である。例えば、「Ａ、Ｂ、およびＣの内の少なくとも１つ」、「Ａ、Ｂ、またはＣの内の少なくとも１つ」、「Ａ、Ｂ、およびＣの内の１つまたは複数」、「Ａ、Ｂ、またはＣの内の１つまたは複数」、ならびに「Ａ、Ｂ、および／またはＣ」という表現はそれぞれ、Ａが単独であり、Ｂが単独であり、Ｃが単独であること、また、ＡとＢの組合せ、ＡとＣの組合せ、ＢとＣの組合せ、あるいはＡ、Ｂ、およびＣの組合せを意味する。
【００２２】
上述の諸実施形態および構成は、完全なものでも排他的なものでもない。以下で理解されるように、上記に詳しく示されまたは以下に詳細に説明される諸特徴の内の１つまたは複数をそれぞれ単独であるいは組み合わせて利用する、本発明の他の実施形態も可能である。
【発明を実施するための最良の形態】
【００２３】
本発明の第１の実施形態を、図３〜４を参照して説明する。本発明による通信デバイス３００は、メモリ３０４とプロセッサ３１０とを含む。通信デバイスは、それだけに限らないが、パーソナル・コンピュータ（ＰＣ）、ラップトップ、携帯情報端末（ＰＤＡ）、ＩＰハードフォン、ＩＰソフトフォン、無線電話、セルラー電話、インスタント・メッセージング・ソフトウェア、およびネットワーキング機器を含めたいくつかのパケット交換デバイスの内のいずれかであってよい。メモリ３０４は、揮発性、不揮発性、あるいはそれらの組合せであってもよい。任意のメモリ構成が利用され得るが、好ましい構成は、ハード・ディスク・ドライブである。プロセッサ３０８は、マイクロプロセッサ、マイクロコントローラ、またはデジタル信号プロセッサであることが好ましい。
【００２４】
メモリ３０４内には、鍵強度制御エージェント３０８と、ライセンス・ファイル３１２と、鍵修正器３１６と、乱数生成器３２０とが含まれている。鍵強度制御エージェント３０８は、ライセンス・ファイル３１２内のデータ構造（イネーブルされた機能、ディスエーブルされた機能、ライセンスの存続期間、ライセンスが有効であるハードウェア識別子など、ライセンスの許諾および制限を含む）に応答して、鍵修正器３１６を呼び出して、第２の有効鍵強度を有する第２の鍵４０４を提供する。データ構造に応答して鍵修正器３１６が呼び出されない場合は、乱数生成器３２０から、第１の有効鍵強度を有する第１の鍵４００が出力される。第２の有効鍵強度は、第１の有効鍵強度の約５０％未満であり、より好ましくは約５０％以下である。好ましい一構成では、第１および第２の鍵の実際の長さは同じであるが、それぞれの有効鍵長は異なる。
【００２５】
以下で理解されるように、「鍵強度」は、いくつかの可能な鍵の組合せを指す。鍵強度は通常、鍵長の関数である。例えば、鍵強度は、１６ビット鍵では２１６であり、３２ビット鍵では２３２であり、６４ビット鍵では２６４であり、１２８ビット鍵では２１２８である。弱い方の鍵強度を使用することにより、第１の鍵を使用する暗号化の有効暗号強度が、第２の鍵を使用する暗号化の有効暗号強度よりも低くなる。第１の鍵は、例えば輸出制限のない製品で使用され、第２の鍵は、輸出制限のある製品で使用される。
【００２６】
通常、第１の鍵と第２の鍵のどちらについても同じ暗号アルゴリズムが使用される。対称鍵を使用するものであれ非対称鍵を使用するものであれ、任意の暗号アルゴリズムを使用することができる。適当な暗号アルゴリズムの例としては、ＡＥＳ、連邦情報プロトコル標準１９７、ＤＥＳ、３ＤＥＳ、ＲＣ４、Ｒｉｖｅｓｔ−Ｓｈａｍｉｒ−Ａｄｅｌｍａｎ（ＲＳＡ）、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ、デジタル信号アルゴリズムすなわちＤＳＡ、Ｌｕｃｉｆｅｒ、Ｍａｄｒｙｇａ、ＮｅｗＤＥＳ、ＦＥＡＬ、ＲＥＤＯＣ、ＬＯＫＩ、Ｋｈｕｆｕ−Ｋｈａｆｒｅ、ＲＣ２、ＩＤＥＡ、ＭＭＢ、ＣＡ−１．１、Ｓｋｉｐｊａｃｋ、ＧＯＳＴ、ＣＡＳＴ、Ｂｌｏｗｆｉｓｈ、ＳＡＦＥＲ、３−Ｗａｙ、Ｃｒａｂ、ＳＸＡＬ８／ＭＢＡＬ、ＲＣ５、ｋｎａｐｓａｃｋアルゴリズム、Ｐｏｈｌｉｇ−Ｈｅｌｌｍａｎ、Ｒａｂｉｎ、ＥｌＧａｍａｌ、ＭｃＥｌｉｅｃｅ、楕円曲線暗号系、ＬＵＣ、有限オートマトン公開鍵暗号系、ＤＳＡの変形形態、離散対数署名スキーム（ｄｉｓｃｒｅｔｅ  ｌｏｇａｒｉｔｈｍ  ｓｉｇｎａｔｕｒｅ  ｓｃｈｅｍｅ）、Ｏｎｇ−Ｓｃｈｎｏｒｒ−Ｓｈａｍｉｒ、ＥＳＩＧＮ、およびセルラー・オートマタなどが挙げられる。非対称鍵の適用形態では、公開鍵が秘密鍵から導出されるので、第１および第２の鍵は通常、当事者の公開鍵ではなく秘密鍵を指す。
【００２７】
鍵強度制御エージェント３０８は、周期的なライセンス・チェック中、２つのノードが暗号プロトコルおよび鍵を含む安全化されたセッション・パラメータを確立しているときに、セッション・ネゴシエーション要求に応答してライセンス・ファイル３１２をチェックする。
【００２８】
データ構造は典型的には、政府または他のエンティティからの使用制限レベルを識別する、あるタイプの使用制限識別子である。制限識別子は、使用上の制限に関する１つのレベルだけを識別することも、複数のレベルを識別することもできる。各使用レベルの制限は、互いに異なる対応する第２の鍵強度を有する、すなわち、最も高いまたは最も厳格な制限レベルが、最も低いまたは最も緩い制限レベルよりも低い鍵強度を有することになる。
【００２９】
一構成では、ライセンス・ファイル３１２内のデータ構造は、フラグなど任意のインジケータとすることができる。例えば、このインジケータは、輸出制御が適用される場合には値を１にセットすることができ、輸出制御が適用されない場合には値を０にセットすることができ、逆もまた同様である。
【００３０】
別の構成では、データ構造は、製品が輸出される国を識別する国コードである。各国は、一意の識別コードを有する。この構成は、輸出国に応じた鍵強度のレベルまたは階層の使用を可能にする。この構成はさらに、関連輸出法規の変更を反映するための販売後の鍵強度の修正も可能にする。例えば、かかる修正は、ある国が最も厳格な輸出制御を受ける国のリストから除外されまたは追加される場合に必要となる可能性がある。
【００３１】
別の構成では、データ構造は、第１の鍵をどのように修正して第２の鍵を作成するかを指示する疑似コードまたはマシン・コードを含む。複数のデータ構造が、第１の鍵を操作または修正する複数の異なる技法に対応し、したがって、各技法は、それ以外の技法によって作成された第２の鍵強度とは異なる対応する第２の鍵強度を作成することになる。
【００３２】
一構成では、全地球測位システムすなわちＧＰＳモジュール（図示せず）が、鍵強度制御エージェント３０８に地理的位置情報（またはＧＰＳ信号またはＧＰＳ座標）を供給する。ＧＰＳ座標をＧＰＳ座標テーブルにマッピングして、デバイス３００が位置している国および／またはデバイス３００が現在使用制限のある地理的領域内に位置しているかどうかを判定することができる。デバイスが、制限された国または地理的領域に移動されたときは、ＧＰＳ位置信号が、鍵強度制御エージェント３０８に、データ構造は変更させずに有効鍵強度を自動的に変更させる。ＧＰＳモジュールは、デバイス内に配置されても、外部のドングル・デバイス内またはデバイスにプラグ接続される他のデバイス内に配置されてもよい。後者の構成では、デバイスは、モジュールがプラグ接続されない限り動作可能でない。この構成は、制限された国への非合法的なデバイスの販売後輸送を防止する。適当なＧＰＳ位置決めアーキテクチャは、参照により本明細書に組み込まれる、Ｗａｌｋｅｒの「ＧＰＳ  Ｈａｒｄｗａｒｅ  Ｋｅｙ  ｆｏｒ  Ｓｏｆｔｗａｒｅ  Ｌｉｃｅｎｓｉｎｇ」と題する２００４年３月２５日に出願された米国特許出願第１０／８１１４１２号に開示されている。
【００３３】
鍵修正器３１６は、好ましい一構成では、乱数生成器から出力された第１の鍵を変更して第２の鍵を形成する。乱数生成器３２０は、ランダム・ソースまたは暗号的に安全な疑似ランダム・ビット生成器であることが好ましい。例示的な生成器としては、線形合同生成器（ｌｉｎｅａｒ  ｃｏｎｇｒｕｅｎｔｉａｌ  ｇｅｎｅｒａｔｏｒ）、フィードバック・シフト・レジスタ（例えば、線形および非線形ＦＳＲ、フィードバック・キャリー・シフト・レジスタなど）、Ａ５アルゴリズム、Ｈｕｇｈｅｓ  ＸＰＤ／ＫＰＤアルゴリズム、Ｎａｎｏｔｅｑアルゴリズム、Ｒａｍｂｕｔａｎアルゴリズム、加算生成器（ａｄｄｉｔｉｖｅ  ｇｅｎｅｒａｔｏｒｓ）、Ｇｉｆｆｏｒｄストリーム暗号、アルゴリズムＭ、ＰＤＺＩＰアルゴリズム、ＲＣ４アルゴリズム、ＳＥＡＬアルゴリズム、ＷＡＫＥアルゴリズム、ＲＡＮＤテーブル、およびランダム雑音発生器が挙げられる。
【００３４】
修正は、いくつかの異なる手法で実施することができる。
１つの手法では、第１の鍵内の特定の文字だけを第２の鍵で使用することができ、残りの文字は、集合的に同じ値にセットし、あるいは個別に所定の値または定数値にセットすることができる。例えば、ランダムにまたは疑似ランダム的に選択される１６８ビット鍵では、最初と最後の５６ビットが、ランダムにまたは疑似ランダム的に選択される中間の５６ビットと同一となるように変更される。この例では、第１の鍵の有効鍵強度は２１６８であり、第２の鍵の有効鍵強度は２１１２である。別の例では、ランダムにまたは疑似ランダム的に選択される６４ビット鍵の最後の２０ビットだけが、ランダムにまたは疑似ランダム的に選択される。第２の鍵の有効鍵強度は、２２０である。別の例では、ランダムにまたは疑似ランダム的に選択される１６８ビット鍵の最初の１００ビットが、１やゼロなど同じ値にセットされる。第２の鍵の有効鍵強度は、２６８である。
【００３５】
別の手法では、第２の鍵内の値を選択されたシーケンスまたはパターンに変更するために、第１の鍵にマスクが適用される。マスキングは、いくつかの手法で行うことができる。ｎビット鍵を使用する第１のマスキング技法が、図５に示されている。第１の鍵４００は、ビットＸ０、Ｘ１、Ｘ２、Ｘ３、．．．Ｘｎを含む。論理（ブール）演算が使用され、この演算によって全てのビットが制御され、ゼロとのＡＮＤ演算に掛けられることになる。例えば、Ｘ０と、ブール論理内の対応位置４００とがどちらも「１」である場合は、第２の鍵内の対応するビット位置４０４は、「１」である。Ｘ０と、ブール論理内の対応位置４００のいずれかまたは両方が（図示のように）「０」である場合は、第２の鍵内の対応するビット位置４０４は、「０」である。図５から分かるように、第２の鍵内の対応するビット位置４０４は、常に「０」となるはずである。この演算は、第１および第２のビット位置Ｘ０およびＸ１には適用されるが、その他のビット位置Ｘ２、Ｘ３、．．．Ｘｎには適用されない。したがって、有効な第２の鍵強度は、２ｎ−２である。別のマスキング技法が、図６に示されている。図６から分かるように、第１の鍵４００内のある種のビット、すなわちＸ０およびＸ１は、選択されたパターンで第２の鍵４０４内のビット位置と置き換えられている。したがって、Ｘ０は、第２の鍵内の１番目、３番目、および４番目のビット位置と置き換えられ、Ｘ１は、第２の鍵内の２番目、および５番目のビット位置と置き換えられている。第２の鍵強度は、２ｎ−３である。別のマスキング技法が、図７に示されている。図７から分かるように、Ｘ０と、Ｘ１と、Ｘ２と、Ｘ３との値が、ＡＮＤ演算に掛けられる。したがって、第１の鍵対のビット（Ｘ０およびＸ１）の内のいずれかの要素（ｍｅｍｂｅｒ）または両方の要素がゼロであり、第２の鍵対のビット（Ｘ２およびＸ３）の内のいずれかの要素または両方の要素がゼロである場合には、該当する対の各要素の値は、「０」であり、第１の鍵対のビット（Ｘ０およびＸ１）の両方の要素が１であり、第２の鍵対のビット（Ｘ２およびＸ３）の両方の要素が１である場合には、該当する対の各要素の値は、「１」である。この演算は、それぞれの鍵対についての４種類の可能な組合せ（すなわち、（０，０）、（０，１）、（１，０）、および（１，１））を２種類だけの可能な組合せに、すなわち（０，０）および（１，１）に効果的に変換している。以下で理解されるように、当業者には他のマスキング処理が想定されてもよい。
【００３６】
図８は、鍵強度制御エージェント３０８の動作上の一実施形態を示している。
工程８００で、エージェント３０８が、デバイス３００の別のコンポーネントから鍵要求を受け取る。
【００３７】
決定菱形ブロック８０４で、エージェント３０８は、第１の鍵の鍵修正が必要とされるかを判定する。この判定は、ライセンス・ファイル３１２内のデータ構造を検討することによって行われる。鍵修正が必要とされない場合には、エージェント３０８は何もせず、第１の鍵をそのまま要求元のコンポーネントに供給する。鍵修正が必要とされる場合には、エージェント３０８は、鍵修正器３１６を呼び出す。
【００３８】
工程８０８で、鍵修正器３１６は、第１の鍵を修正して第２の鍵を作成する。
工程８１２で、エージェント３０８は、第１の鍵ではなく第２の鍵を要求元のコンポーネントに出力する。
【００３９】
本発明のいくつかの変形形態および修正形態が、使用されてもよい。本発明のいくつかの特徴は、それ以外の特徴を備えずに提供することも可能なはずである。
例えば、一代替実施形態では、乱数生成器自体は、制限が適用される場合に出力の僅かな変更を生じるように修正される。例えば、この乱数生成器は、鍵内のビットのサブセットだけについて乱数または疑似乱数を選択することができる。言い換えれば、この乱数生成器は、あらゆるビットの変更される可能性が等しくならないように構成される。いくつかのビットは、他のビットよりも変動する可能性が高い。別の例では、出力自体が意図的にランダムにされず、または部分的にのみランダムにされる。言い換えれば、ビットが変動する可能性は、ランダムな偶然性（ｃｈａｎｃｅ）の程度よりも低い。
【００４０】
別の代替実施形態では、エージェント３０８および／または修正器３１６は、ソフトウェア、ハードウェア（例えば、特定用途向け集積回路すなわちＡＳＩＣなどの論理回路）、またはそれらの組合せとして体現される。
【００４１】
様々な実施形態において、本発明は、様々な実施形態、サブコンビネーション、およびそれらのサブセットを含めて、実質的に図示され本明細書に記載される通りのコンポーネント、方法、処理、システム、および／または装置を含む。本開示を理解すれば、本発明をどのように作成し使用するかを当業者なら理解することであろう。様々な実施形態において、本発明は、例えば性能を向上させ、実装の容易さを実現し、かつ／または実装のコストを低減するために、以前のデバイスまたは処理で使用されていた可能性のあるアイテムが所在しない場合を含めて、図示されていないアイテムおよび／または本明細書もしくはその様々な実施形態に記載されていないアイテムが所在しない場合の、デバイスおよび処理を提供することを含む。
【００４２】
本発明に関する上記の論述は、例示および説明のために提示されてきた。上記は、本明細書に開示の１つまたは複数の形態に本発明を限定するものではない。本開示を合理化する上で、例えば上記の詳細な説明では、本発明の様々な特徴が、１つまたは複数の実施形態において一緒にグループ化されている。開示のこの方法は、添付の特許請求の範囲に記載の発明が各請求項で特に列挙される特徴よりも多くの特徴を必要とする意図を反映するものと解釈されるべきではない。そうではなく、添付の特許請求の範囲が反映するように、本発明の諸態様は、上記に開示される単一の実施形態に関する全ての特徴の範囲内に収まるものである。したがって、各請求項が本発明に関する別々の好ましい実施形態として独立している添付の特許請求の範囲は、本明細書におけるこの詳細な説明に組み込まれる。
【００４３】
さらに、本発明の記載は、１つまたは複数の実施形態ならびにある種の変形形態および修正形態の説明を含んできたが、例えば、本開示を理解すれば当業者の技能および知識内のものとなり得る他の変形形態および修正形態も、本発明の範囲内にある。添付の特許請求の範囲に記載される発明と代替的で相互に交換可能なおよび／または等価な構造、機能、範囲、または工程を含めた許容される程度の諸代替実施形態を含む権利を取得することが意図されており、かかる代替的で相互に交換可能なおよび／または等価な構造、機能、範囲、または工程は、本明細書に記載されるものであれ記載されていないものであれ、いかなる特許可能な主題も公共の用に供するものではない。
【図面の簡単な説明】
【００４４】
【図１】従来技術によるＶＰＮ通信のブロック図である。
【図２】従来技術による暗号化／復号処理のブロック図である。
【図３】本発明の一実施形態による通信デバイスのブロック図である。
【図４】本発明の一実施形態による鍵修正アーキテクチャのブロック図である。
【図５】本発明の一実施形態によるマスクの図である。
【図６】本発明の一実施形態によるマスクの図である。
【図７】本発明の一実施形態によるマスクの図である。
【図８】本発明の一実施形態による流れ図である。
【図１】
2007082229.tif 000003
【図２】
2007082229.tif 000004
【図３】
2007082229.tif 000005
【図４】
2007082229.tif 000006
【図５】
2007082229.tif 000007
【図６】
2007082229.tif 000008
【図７】
2007082229.tif 000009
【図８】
2007082229.tif 000010