説明

諸外国に輸出される製品についての暗号化使用の鍵強度を検出不能な形で低下させる方法

【課題】暗号アルゴリズムの変更に加えてまたはその代わりに、特に輸出される製品についての鍵強度をより低い暗号強度に変更すること。
【解決手段】一実施形態では、通信デバイスは、(i)暗号鍵を求める要求を受信し、(ii)制限識別子から前記暗号鍵の強度が制限されているかどうかを判定し、(iii)前記暗号鍵が制限されている場合には、第2の鍵強度を有する第2の暗号鍵を使用させ、(iv)前記暗号鍵が制限されていない場合には、第1の鍵強度を有する第1の暗号鍵を使用させるように動作可能な鍵強度制御エージェント308を含む。前記第1および第2の鍵強度は、異なる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は一般に、暗号化に関し、特に暗号強度を弱めることに関する。
【背景技術】
【0002】
インターネットの使用が益々高まり、安全性がインターネット・ユーザの主な懸念となってきている。安全性をもたらすために、仮想私設ネットワーク(VPN)が開発された。VPNは、送信元と宛先だけがトラフィック・パケットを復号できるようにそれ自体のペイロード・トラフィックを暗号化した、公衆IPネットワークを介する2つのサイト間のIP接続である。VPNは、ペイロードだけでなく、技術的なセッション攻撃プロファイル(session attack profile)において顧客サイトを危険に曝すのに使用され得るプロトコル・スタックの情報項目も暗号化する。
【0003】
多数のVPNプロトコルが、開発されている。ポイント・ツー・ポイント・トンネリング・プロトコル(PPTP)は、リモートのダイヤル・アップ接続およびLAN間接続を対象とする暗号化および認証を行い、制御セッションを使用して送信側から受信側への安全なトンネルを確立し維持し、データ・セッションを使用してデータ伝送を行う。レイヤ2転送プロトコル(L2F)は、インターネット・サービス・プロバイダ(ISP)のダイヤル・アップ・サーバとネットワークとの間のトンネリングを行う。ユーザが、ISPのサーバへのダイヤル・アップ型ポイント・ツー・ポイント・プロトコル(PPP)接続を確立し、次いでISPが、ネットワークを介してPPPフレームを送るためにそれをL2Fフレームにラッピングする。レイヤ2トンネリング・プロトコルは、ネットワークを介してPPPセッションをトンネリングするための方法を定義する。このプロトコルは、PPTPとL2Fの両方を組み合わせる。IPセキュリティすなわちIPSecは、認証ヘッダ(AH)と、カプセル化セキュリティ・ペイロード(ESP)と、インターネット鍵交換(IKE)とを含むプロトコル・スイートである。IPSecは、レイヤ3で動作する場合は、AHを介してアドレス認証を行い、ESPを介してデータ暗号化を行い、IKEを使用して送信側と受信側のノード間での自動的な鍵交換を行う。他のVPNプロトコルとしては、セキュア実時間プロトコル(SRTP)、トランスポートLANサービス(TLS)、およびセキュア・ソケット・レイヤすなわちSSLプロトコルが挙げられる。
【0004】
図1および2を参照して例示的なIPSecセッションについて論じる。第1および第2の通信デバイス100および104は、IPハードフォン、ソフトフォン、パーソナル・コンピュータ(PC)、ラップトップ、携帯情報端末(PDA)などであり、これらは信頼性のないまたは安全でないネットワーク108(インターネットなど)を介して接続される。これらの通信デバイスは、安全化されたセッションを確立しようと努め、鍵交換を実施しなければならない。以下で理解されるように、鍵200が乱数生成器204によって作成される。鍵200は、第1および第2の通信デバイスのそれぞれが平文208および暗号文212をそれぞれ暗号化し復号し認証するのに使用される。対称暗号化では、暗号化および復号は、セッション・ノードのそれぞれにおいて同じ暗号アルゴリズム216に同一の鍵200を入力することによって実施される。
【0005】
鍵を交換するために、IKEプロトコルは、鍵生成にDiffie−Hellman暗号アルゴリズムを使用し、3つの異なる鍵交換方法を、すなわちメイン・モード(main mode)と、アグレッシブ・モード(aggressive mode)と、クイック・モード(quick mode)とを提供する。メイン・モードでは、ノード間で6つのメッセージ(3回の往復交換)が送信される。最初の2つのメッセージは、特定のセキュリティ・ポリシーを確立し、その次の2つのメッセージは、鍵情報を含んでおり、最後の2つのメッセージは、認証情報を提供する。アグレッシブ・モードは、メイン・モードと同様であり、同じ結果を達成する。異なる点は、3回ではなく2回の交換しか存在しない(送信側と受信側の間で4つのメッセージが送信される)ことである。クイック・モードは、メイン・モードまたはアグレッシブ・モードを介して通信ノード間で全ての必要な情報が交換された後に、新しい鍵を生成するために使用される。
【0006】
米国など多くの国は、国家安全保障上の理由で暗号技術および製品に関する厳格な輸出制御を敷いている。米国では、商用暗号化製品に関する輸出制御は、輸出管理規則すなわちEARによって権限が与えられた米国商務省内の産業安全保障局、および情報技術管理規則すなわちITARによって権限が与えられた国務省内の国防貿易管理局(DTC)によって管理されている。歴史的には、厳格な統制は、あるレベルよりも高い強度の暗号化製品を対象とする輸出ライセンスの付与に関して敷かれてきた。他の諸国も同様の規則を有している。
【0007】
暗号を用いて使用可能にされる製品(cryptographically enabled product)を国際的に販売する企業が抱えている目下の難題は、暗号化製品の強度を効果的に制御することである。米国内で販売されるかかる製品については、暗号強度の制御は、他の諸国、特にイラン、キューバ、北朝鮮など輸出が厳格に制御されるある諸国で販売されるかかる製品よりも遥かに緩いものとなっている。
【0008】
暗号強度を制御する1つの手法は、製品の仕向先に基づいて暗号アルゴリズムを変更することである。このことは、ライセンス・ファイルを使用して行われる。例えば、ライセンス・ファイル・ユーティリティは、強度の異なる第1または第2の暗号アルゴリズムをデバイスがサポートしているか否かを制御する。弱い方の暗号アルゴリズムの例としては、データ暗号化標準(DES)−56が挙げられ、強い方の暗号アルゴリズムの例としては、トリプルDESすなわち3DES、および高度暗号化標準すなわちAESが挙げられる。以下で理解されるように、DESは、トリプルDESよりも遥かに弱いものである。強い方の暗号アルゴリズムをデバイスがサポートすべきでないときは、ライセンス・ファイル内のフラグが、セットまたはアンセットされる。ライセンス・チェックおよび/またはセッション・ネゴシエーション中に、ライセンス・ユーティリティは、強い方の暗号アルゴリズムをデバイスがサポートすべきでない旨をフラグが示している場合には、強い方の暗号アルゴリズムを非アクティブ化し、弱い方の暗号アルゴリズムをアクティブ化し、強い方の暗号アルゴリズムをデバイスがサポートすべき旨をフラグが示している場合には、強い方の暗号アルゴリズムをアクティブ化し、弱い方の暗号アルゴリズムを非アクティブ化することになる。
【0009】
ウェブ・ブラウザおよびサーバのベンダ(例えば、Netscape(商標)社、Microsoft(商標)社など)によって実装されている別の手法では、アプリケーションは、ウェブ・サーバ、ウェブ・ブラウザ、およびウェブ・ブラウザの証明書が、強い暗号スイートおよび鍵サイズを使用することを可能にするバージョンおよびタイプであり、そうした強度を有するものでない限り、長い鍵長の強い鍵および関連する暗号スイート(暗号アルゴリズム)とネゴシエートすることが許可されない。その代わりに、短い鍵長の弱い鍵および関連する暗号スイートが使用される。
【特許文献1】米国特許出願第10/811412号
【発明の開示】
【発明が解決しようとする課題】
【0010】
これらの手法の問題としては、巧妙なユーザにとって弱い方の暗号アルゴリズムのアクティブ化が透過的であることが挙げられる。こうした知識に基づいて、巧妙なユーザなら、ライセンス・ファイルを改変して、強い方の暗号アルゴリズムをアクティブ化しようと試みることができる。こうした透過性は、ユーザが証明書を自由に閲覧でき、暗号化が制限されるようなソフトウェア・バージョンであるかどうかを判定できる場合は、特に問題である。
【0011】
別の問題は、製品が輸出されることになるのかそれとも製造国内に留まることになるのかに応じて、ソフトウェアのベンダが2つのソフトウェア・パッケージを管理する必要があることである。したがって、ベンダは、より高い暗号強度を有するパッケージが製造国外に出ないことを保証しなければならない。
【課題を解決するための手段】
【0012】
これらおよびその他の必要が、本発明の様々な実施形態および構成によって対処される。本発明は一般に、暗号アルゴリズムの変更に加えてまたはその代わりに、特に輸出される製品についての鍵強度をより低い暗号強度に変更することを対象とする。
【0013】
第1の実施形態では、本発明は、暗号鍵を提供するための方法であって、
(a)暗号鍵を求める要求を受信する工程と、
(b)制限識別子(restriction identifier)から前記暗号鍵の強度が制限されているかどうかを判定する工程と、
(c)前記暗号鍵が制限されている場合には、第2の鍵強度を有する第2の暗号鍵を使用する工程と、
(d)前記暗号鍵が制限されていない場合には、第1の鍵強度を有する第1の暗号鍵を使用する工程と
を含む方法を対象とする。前記第1の鍵強度は、前記第2の鍵強度よりも高い。
【0014】
第2の鍵は、第1の鍵から導出されることが好ましい。典型的には、第1の鍵は、乱数生成器によって生成される。第2の鍵は、第1の鍵とはハンディが付けられた(handicapped)すなわち抵抗力が弱められた(compromised)バージョンである。第1の鍵の内のいくつかのビットは第2の鍵の内の対応するビットと同じであるが、その他のビットは異なる。異なるビットは通常、鍵毎に一定であるように維持され、かつ/またはマスクを使用して生成される。
【0015】
第2の鍵のハンディ付けは、生成される鍵の全部または一部のビットに関するランダム性の程度を減少させることによって行われてもよい。言い換えれば、乱数生成器のランダム性の程度は、所与の鍵についての可能なバリエーション数が理論上の可能なバリエーション数未満となるように制御されまたはハンディが付けられる。したがって、16ビット鍵についての可能なバリエーションは、216未満であり、好ましくは可能なバリエーション数の50%未満である。
【0016】
いずれにせよ、弱められた鍵の使用は本来的に、使用される個々の暗号スイートに関わらず暗号スイートの暗号強度を弱める。したがって、輸出に対する懸念が大幅に解消される。エンド・ユーザは、保護されたライセンス・ファイル内の制限識別子を突き止めても、特定のセッションを対象とする鍵が強いものなのかそれとも弱いものか分からない。ライセンス・ファイル内に制限識別子を埋め込むことにより、ベンダが複数のバージョンのソフトウェアおよび/または様々なタイプの証明書を管理する必要を取り除くこともできる。
【0017】
第1および第2の鍵が同じ鍵サイズ(例えば、鍵長)を有することが、さらに好ましい。第1の鍵の一部だけを第2の鍵で使用することも、第2の鍵を、第1の鍵の長さを短くしたすなわち短縮したバージョンとすることも可能であるが、簡略化のために、第1および第2の鍵は、それぞれの有効鍵強度は異なることもあるが、同じビット数を有するものとする。
【0018】
一構成では、制限識別子は、通信デバイス内のいずれかの場所に配置されるソフトウェア・フラグである。このフラグによって、暗号化セッションの間に生成される鍵(第1の鍵)が、セッション鍵(第2の鍵)が相対的に弱くなる(例えば、40ビット)ようにマスキングされる。無論、ソフトウェア・フラグがセット(またはアンセット)されない限り、固定鍵も使用することができる。この構成は、様々なレベルの強度(例えば、56ビット、80ビット、90ビットなど)ならびに鍵のマスキングに関する様々な方法が提供され得るように、ライセンス・ファイルがフラグを制御することが可能になるように拡張することができる。
【0019】
従来技術とは異なり、第1および第2の鍵について同じ暗号スイートすなわち暗号アルゴリズムが使用されることが好ましい。トリプルDESなど比較的強い暗号スイートでさえも、第2の鍵を使用することによって大幅に弱めることができる。
【0020】
本発明は、第2の鍵を使用して暗号化されたデータに政府機関がアクセスすることを可能にしながらも、関連製品輸出規則に準拠する簡単かつ効果的な方法を提供することができる。鍵を「クラッキング」し使用されている暗号スイートを知ることにより、政府機関は、データを電子メッセージの形に容易に復号することができる。
これらおよびその他の利点は、本明細書に含まれる1つ(または複数)の本発明の開示を読めば明らかとなるであろう。
【0021】
本明細書で使用されるように、「少なくとも1つの(at least one)」「1つまたは複数の(one or more)」ならびに「および/または(and/or)」という表現は、演算では論理積と論理和の両方を指す開放型の表現である。例えば、「A、B、およびCの内の少なくとも1つ」、「A、B、またはCの内の少なくとも1つ」、「A、B、およびCの内の1つまたは複数」、「A、B、またはCの内の1つまたは複数」、ならびに「A、B、および/またはC」という表現はそれぞれ、Aが単独であり、Bが単独であり、Cが単独であること、また、AとBの組合せ、AとCの組合せ、BとCの組合せ、あるいはA、B、およびCの組合せを意味する。
【0022】
上述の諸実施形態および構成は、完全なものでも排他的なものでもない。以下で理解されるように、上記に詳しく示されまたは以下に詳細に説明される諸特徴の内の1つまたは複数をそれぞれ単独であるいは組み合わせて利用する、本発明の他の実施形態も可能である。
【発明を実施するための最良の形態】
【0023】
本発明の第1の実施形態を、図3〜4を参照して説明する。本発明による通信デバイス300は、メモリ304とプロセッサ310とを含む。通信デバイスは、それだけに限らないが、パーソナル・コンピュータ(PC)、ラップトップ、携帯情報端末(PDA)、IPハードフォン、IPソフトフォン、無線電話、セルラー電話、インスタント・メッセージング・ソフトウェア、およびネットワーキング機器を含めたいくつかのパケット交換デバイスの内のいずれかであってよい。メモリ304は、揮発性、不揮発性、あるいはそれらの組合せであってもよい。任意のメモリ構成が利用され得るが、好ましい構成は、ハード・ディスク・ドライブである。プロセッサ308は、マイクロプロセッサ、マイクロコントローラ、またはデジタル信号プロセッサであることが好ましい。
【0024】
メモリ304内には、鍵強度制御エージェント308と、ライセンス・ファイル312と、鍵修正器316と、乱数生成器320とが含まれている。鍵強度制御エージェント308は、ライセンス・ファイル312内のデータ構造(イネーブルされた機能、ディスエーブルされた機能、ライセンスの存続期間、ライセンスが有効であるハードウェア識別子など、ライセンスの許諾および制限を含む)に応答して、鍵修正器316を呼び出して、第2の有効鍵強度を有する第2の鍵404を提供する。データ構造に応答して鍵修正器316が呼び出されない場合は、乱数生成器320から、第1の有効鍵強度を有する第1の鍵400が出力される。第2の有効鍵強度は、第1の有効鍵強度の約50%未満であり、より好ましくは約50%以下である。好ましい一構成では、第1および第2の鍵の実際の長さは同じであるが、それぞれの有効鍵長は異なる。
【0025】
以下で理解されるように、「鍵強度」は、いくつかの可能な鍵の組合せを指す。鍵強度は通常、鍵長の関数である。例えば、鍵強度は、16ビット鍵では216であり、32ビット鍵では232であり、64ビット鍵では264であり、128ビット鍵では2128である。弱い方の鍵強度を使用することにより、第1の鍵を使用する暗号化の有効暗号強度が、第2の鍵を使用する暗号化の有効暗号強度よりも低くなる。第1の鍵は、例えば輸出制限のない製品で使用され、第2の鍵は、輸出制限のある製品で使用される。
【0026】
通常、第1の鍵と第2の鍵のどちらについても同じ暗号アルゴリズムが使用される。対称鍵を使用するものであれ非対称鍵を使用するものであれ、任意の暗号アルゴリズムを使用することができる。適当な暗号アルゴリズムの例としては、AES、連邦情報プロトコル標準197、DES、3DES、RC4、Rivest−Shamir−Adelman(RSA)、Diffie−Hellman、デジタル信号アルゴリズムすなわちDSA、Lucifer、Madryga、NewDES、FEAL、REDOC、LOKI、Khufu−Khafre、RC2、IDEA、MMB、CA−1.1、Skipjack、GOST、CAST、Blowfish、SAFER、3−Way、Crab、SXAL8/MBAL、RC5、knapsackアルゴリズム、Pohlig−Hellman、Rabin、ElGamal、McEliece、楕円曲線暗号系、LUC、有限オートマトン公開鍵暗号系、DSAの変形形態、離散対数署名スキーム(discrete logarithm signature scheme)、Ong−Schnorr−Shamir、ESIGN、およびセルラー・オートマタなどが挙げられる。非対称鍵の適用形態では、公開鍵が秘密鍵から導出されるので、第1および第2の鍵は通常、当事者の公開鍵ではなく秘密鍵を指す。
【0027】
鍵強度制御エージェント308は、周期的なライセンス・チェック中、2つのノードが暗号プロトコルおよび鍵を含む安全化されたセッション・パラメータを確立しているときに、セッション・ネゴシエーション要求に応答してライセンス・ファイル312をチェックする。
【0028】
データ構造は典型的には、政府または他のエンティティからの使用制限レベルを識別する、あるタイプの使用制限識別子である。制限識別子は、使用上の制限に関する1つのレベルだけを識別することも、複数のレベルを識別することもできる。各使用レベルの制限は、互いに異なる対応する第2の鍵強度を有する、すなわち、最も高いまたは最も厳格な制限レベルが、最も低いまたは最も緩い制限レベルよりも低い鍵強度を有することになる。
【0029】
一構成では、ライセンス・ファイル312内のデータ構造は、フラグなど任意のインジケータとすることができる。例えば、このインジケータは、輸出制御が適用される場合には値を1にセットすることができ、輸出制御が適用されない場合には値を0にセットすることができ、逆もまた同様である。
【0030】
別の構成では、データ構造は、製品が輸出される国を識別する国コードである。各国は、一意の識別コードを有する。この構成は、輸出国に応じた鍵強度のレベルまたは階層の使用を可能にする。この構成はさらに、関連輸出法規の変更を反映するための販売後の鍵強度の修正も可能にする。例えば、かかる修正は、ある国が最も厳格な輸出制御を受ける国のリストから除外されまたは追加される場合に必要となる可能性がある。
【0031】
別の構成では、データ構造は、第1の鍵をどのように修正して第2の鍵を作成するかを指示する疑似コードまたはマシン・コードを含む。複数のデータ構造が、第1の鍵を操作または修正する複数の異なる技法に対応し、したがって、各技法は、それ以外の技法によって作成された第2の鍵強度とは異なる対応する第2の鍵強度を作成することになる。
【0032】
一構成では、全地球測位システムすなわちGPSモジュール(図示せず)が、鍵強度制御エージェント308に地理的位置情報(またはGPS信号またはGPS座標)を供給する。GPS座標をGPS座標テーブルにマッピングして、デバイス300が位置している国および/またはデバイス300が現在使用制限のある地理的領域内に位置しているかどうかを判定することができる。デバイスが、制限された国または地理的領域に移動されたときは、GPS位置信号が、鍵強度制御エージェント308に、データ構造は変更させずに有効鍵強度を自動的に変更させる。GPSモジュールは、デバイス内に配置されても、外部のドングル・デバイス内またはデバイスにプラグ接続される他のデバイス内に配置されてもよい。後者の構成では、デバイスは、モジュールがプラグ接続されない限り動作可能でない。この構成は、制限された国への非合法的なデバイスの販売後輸送を防止する。適当なGPS位置決めアーキテクチャは、参照により本明細書に組み込まれる、Walkerの「GPS Hardware Key for Software Licensing」と題する2004年3月25日に出願された米国特許出願第10/811412号に開示されている。
【0033】
鍵修正器316は、好ましい一構成では、乱数生成器から出力された第1の鍵を変更して第2の鍵を形成する。乱数生成器320は、ランダム・ソースまたは暗号的に安全な疑似ランダム・ビット生成器であることが好ましい。例示的な生成器としては、線形合同生成器(linear congruential generator)、フィードバック・シフト・レジスタ(例えば、線形および非線形FSR、フィードバック・キャリー・シフト・レジスタなど)、A5アルゴリズム、Hughes XPD/KPDアルゴリズム、Nanoteqアルゴリズム、Rambutanアルゴリズム、加算生成器(additive generators)、Giffordストリーム暗号、アルゴリズムM、PDZIPアルゴリズム、RC4アルゴリズム、SEALアルゴリズム、WAKEアルゴリズム、RANDテーブル、およびランダム雑音発生器が挙げられる。
【0034】
修正は、いくつかの異なる手法で実施することができる。
1つの手法では、第1の鍵内の特定の文字だけを第2の鍵で使用することができ、残りの文字は、集合的に同じ値にセットし、あるいは個別に所定の値または定数値にセットすることができる。例えば、ランダムにまたは疑似ランダム的に選択される168ビット鍵では、最初と最後の56ビットが、ランダムにまたは疑似ランダム的に選択される中間の56ビットと同一となるように変更される。この例では、第1の鍵の有効鍵強度は2168であり、第2の鍵の有効鍵強度は2112である。別の例では、ランダムにまたは疑似ランダム的に選択される64ビット鍵の最後の20ビットだけが、ランダムにまたは疑似ランダム的に選択される。第2の鍵の有効鍵強度は、220である。別の例では、ランダムにまたは疑似ランダム的に選択される168ビット鍵の最初の100ビットが、1やゼロなど同じ値にセットされる。第2の鍵の有効鍵強度は、268である。
【0035】
別の手法では、第2の鍵内の値を選択されたシーケンスまたはパターンに変更するために、第1の鍵にマスクが適用される。マスキングは、いくつかの手法で行うことができる。nビット鍵を使用する第1のマスキング技法が、図5に示されている。第1の鍵400は、ビットX、X、X、X、...Xを含む。論理(ブール)演算が使用され、この演算によって全てのビットが制御され、ゼロとのAND演算に掛けられることになる。例えば、Xと、ブール論理内の対応位置400とがどちらも「1」である場合は、第2の鍵内の対応するビット位置404は、「1」である。Xと、ブール論理内の対応位置400のいずれかまたは両方が(図示のように)「0」である場合は、第2の鍵内の対応するビット位置404は、「0」である。図5から分かるように、第2の鍵内の対応するビット位置404は、常に「0」となるはずである。この演算は、第1および第2のビット位置XおよびXには適用されるが、その他のビット位置X、X3、...Xには適用されない。したがって、有効な第2の鍵強度は、2n−2である。別のマスキング技法が、図6に示されている。図6から分かるように、第1の鍵400内のある種のビット、すなわちXおよびXは、選択されたパターンで第2の鍵404内のビット位置と置き換えられている。したがって、Xは、第2の鍵内の1番目、3番目、および4番目のビット位置と置き換えられ、Xは、第2の鍵内の2番目、および5番目のビット位置と置き換えられている。第2の鍵強度は、2n−3である。別のマスキング技法が、図7に示されている。図7から分かるように、Xと、Xと、Xと、Xとの値が、AND演算に掛けられる。したがって、第1の鍵対のビット(XおよびX)の内のいずれかの要素(member)または両方の要素がゼロであり、第2の鍵対のビット(XおよびX)の内のいずれかの要素または両方の要素がゼロである場合には、該当する対の各要素の値は、「0」であり、第1の鍵対のビット(XおよびX)の両方の要素が1であり、第2の鍵対のビット(XおよびX)の両方の要素が1である場合には、該当する対の各要素の値は、「1」である。この演算は、それぞれの鍵対についての4種類の可能な組合せ(すなわち、(0,0)、(0,1)、(1,0)、および(1,1))を2種類だけの可能な組合せに、すなわち(0,0)および(1,1)に効果的に変換している。以下で理解されるように、当業者には他のマスキング処理が想定されてもよい。
【0036】
図8は、鍵強度制御エージェント308の動作上の一実施形態を示している。
工程800で、エージェント308が、デバイス300の別のコンポーネントから鍵要求を受け取る。
【0037】
決定菱形ブロック804で、エージェント308は、第1の鍵の鍵修正が必要とされるかを判定する。この判定は、ライセンス・ファイル312内のデータ構造を検討することによって行われる。鍵修正が必要とされない場合には、エージェント308は何もせず、第1の鍵をそのまま要求元のコンポーネントに供給する。鍵修正が必要とされる場合には、エージェント308は、鍵修正器316を呼び出す。
【0038】
工程808で、鍵修正器316は、第1の鍵を修正して第2の鍵を作成する。
工程812で、エージェント308は、第1の鍵ではなく第2の鍵を要求元のコンポーネントに出力する。
【0039】
本発明のいくつかの変形形態および修正形態が、使用されてもよい。本発明のいくつかの特徴は、それ以外の特徴を備えずに提供することも可能なはずである。
例えば、一代替実施形態では、乱数生成器自体は、制限が適用される場合に出力の僅かな変更を生じるように修正される。例えば、この乱数生成器は、鍵内のビットのサブセットだけについて乱数または疑似乱数を選択することができる。言い換えれば、この乱数生成器は、あらゆるビットの変更される可能性が等しくならないように構成される。いくつかのビットは、他のビットよりも変動する可能性が高い。別の例では、出力自体が意図的にランダムにされず、または部分的にのみランダムにされる。言い換えれば、ビットが変動する可能性は、ランダムな偶然性(chance)の程度よりも低い。
【0040】
別の代替実施形態では、エージェント308および/または修正器316は、ソフトウェア、ハードウェア(例えば、特定用途向け集積回路すなわちASICなどの論理回路)、またはそれらの組合せとして体現される。
【0041】
様々な実施形態において、本発明は、様々な実施形態、サブコンビネーション、およびそれらのサブセットを含めて、実質的に図示され本明細書に記載される通りのコンポーネント、方法、処理、システム、および/または装置を含む。本開示を理解すれば、本発明をどのように作成し使用するかを当業者なら理解することであろう。様々な実施形態において、本発明は、例えば性能を向上させ、実装の容易さを実現し、かつ/または実装のコストを低減するために、以前のデバイスまたは処理で使用されていた可能性のあるアイテムが所在しない場合を含めて、図示されていないアイテムおよび/または本明細書もしくはその様々な実施形態に記載されていないアイテムが所在しない場合の、デバイスおよび処理を提供することを含む。
【0042】
本発明に関する上記の論述は、例示および説明のために提示されてきた。上記は、本明細書に開示の1つまたは複数の形態に本発明を限定するものではない。本開示を合理化する上で、例えば上記の詳細な説明では、本発明の様々な特徴が、1つまたは複数の実施形態において一緒にグループ化されている。開示のこの方法は、添付の特許請求の範囲に記載の発明が各請求項で特に列挙される特徴よりも多くの特徴を必要とする意図を反映するものと解釈されるべきではない。そうではなく、添付の特許請求の範囲が反映するように、本発明の諸態様は、上記に開示される単一の実施形態に関する全ての特徴の範囲内に収まるものである。したがって、各請求項が本発明に関する別々の好ましい実施形態として独立している添付の特許請求の範囲は、本明細書におけるこの詳細な説明に組み込まれる。
【0043】
さらに、本発明の記載は、1つまたは複数の実施形態ならびにある種の変形形態および修正形態の説明を含んできたが、例えば、本開示を理解すれば当業者の技能および知識内のものとなり得る他の変形形態および修正形態も、本発明の範囲内にある。添付の特許請求の範囲に記載される発明と代替的で相互に交換可能なおよび/または等価な構造、機能、範囲、または工程を含めた許容される程度の諸代替実施形態を含む権利を取得することが意図されており、かかる代替的で相互に交換可能なおよび/または等価な構造、機能、範囲、または工程は、本明細書に記載されるものであれ記載されていないものであれ、いかなる特許可能な主題も公共の用に供するものではない。
【図面の簡単な説明】
【0044】
【図1】従来技術によるVPN通信のブロック図である。
【図2】従来技術による暗号化/復号処理のブロック図である。
【図3】本発明の一実施形態による通信デバイスのブロック図である。
【図4】本発明の一実施形態による鍵修正アーキテクチャのブロック図である。
【図5】本発明の一実施形態によるマスクの図である。
【図6】本発明の一実施形態によるマスクの図である。
【図7】本発明の一実施形態によるマスクの図である。
【図8】本発明の一実施形態による流れ図である。

【特許請求の範囲】
【請求項1】
暗号鍵を提供するための方法であって、
(a)暗号鍵を求める要求を受信する工程と、
(b)制限識別子から前記暗号鍵の強度が制限されているかどうかを判定する工程と、
(c)前記暗号鍵が制限されている場合には、第2の鍵強度を有する第2の暗号鍵を使用する工程と、
(d)前記暗号鍵が制限されていない場合には、前記第2の鍵強度よりも強度の高い第1の鍵強度を有する第1の暗号鍵を使用する工程と
を含む方法。
【請求項2】
前記制限識別子は、ライセンス・ファイル内にあり、輸出国を識別し、前記第2の鍵は、前記第1の鍵から導出される、請求項1に記載の方法。
【請求項3】
前記制限識別子は、地理的位置信号であり、前記判定する工程は、
(b1)関連する通信デバイスの空間的位置を示し地理的位置座標を供給する前記地理的位置信号を受信する工程と、
(b2)暗号鍵の強度が制限されているか否かを判定するために前記座標をマッピングする工程と
を含む、請求項1に記載の方法。
【請求項4】
前記第1および第2の鍵は、同じ鍵長を有し、前記第1および第2の鍵内の少なくともいくつかのビットは、同じであり、前記暗号鍵は、制限されており、前記工程(c)は、
(c1)前記第1の鍵を生成する工程と、
(c2)前記第2の鍵を作成するように前記第1の鍵を修正する工程とを含み、
(e)前記第1および第2の鍵と共に同じ暗号スイートが使用される場合に、前記暗号鍵が制限されている場合は前記第2の鍵を使用して、前記暗号鍵が制限されていない場合は前記第1の鍵を使用して、メッセージを暗号化する工程と、復号する工程との内の少なくとも1つの工程をさらに含み、前記修正する工程(c2)は、前記第1の鍵の少なくともいくつかのビットを所定のパターンに定められる通りに変更する、請求項1に記載の方法。
【請求項5】
請求項1に記載の各工程を実施するように実行可能な命令を備えるコンピュータ可読媒体。
【請求項6】
通信デバイスであって、
(i)暗号鍵を求める要求を受信し、(ii)制限識別子から前記暗号鍵の強度が制限されているかどうかを判定し、(iii)前記暗号鍵が制限されている場合には、第2の鍵強度を有する第2の暗号鍵を使用させ、(iv)前記暗号鍵が制限されていない場合には、前記第2の鍵強度よりも強度の高い第1の鍵強度を有する第1の暗号鍵を使用させる鍵強度制御手段
を備える通信デバイス。
【請求項7】
前記制限識別子は、ライセンス・ファイル内にあり、輸出国を示す、請求項6に記載のデバイス。
【請求項8】
前記制限識別子は、地理的位置信号であり、前記鍵強度制御手段は、関連する通信デバイスの空間的位置を示し地理的位置座標を供給する前記地理的位置信号を受信し、暗号鍵の強度が制限されているか否かを判定するために前記地理的位置座標をマッピングする、請求項6に記載のデバイス。
【請求項9】
前記暗号鍵は、制限されており、前記第2の鍵は、前記第1の鍵から導出される、請求項6に記載のデバイス。
【請求項10】
前記第1および第2の鍵は、同じ鍵長を有し、前記第1および第2の鍵内の少なくともいくつかのビットは、同じであり、前記第1および第2の鍵と共に同じ暗号スイートが使用される場合に、前記暗号鍵が制限されている場合は前記第2の鍵を使用して、前記暗号鍵が制限されていない場合は前記第1の鍵を使用して、メッセージを暗号化することと、復号することとの内の少なくとも1つを行う暗号スイートをさらに備える、請求項9に記載のデバイス。
【請求項11】
前記第1の鍵は、第1および第2のビット・セットを有し、前記第2の鍵は、第3および第4のビット・セットを有し、前記第1および第3のビット・セットは、同じであるが、前記第2および第4のビット・セットは、異なる、請求項9に記載のデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate