(57)【特許請求の範囲】
【請求項１】
保護された通信チャネルを確立する方法であって、
第１の装置が、保護コール通知を第２の装置に送信することと、
該第１の装置と該第２の装置とが、ベース、プライム、及びサブプライムパラメータをアクセスすることと、
該第２の装置が、該ベース、プライム、及びサブプライムパラメータに基づいて第２の公開鍵と第２の秘密鍵とを有する第２の非対称鍵ペアを生成することと、
該第２の装置が、該第２の公開鍵を該第１の装置に送信することと、
該第１の装置が、ネットラベルと、秘密ラベルと、乱数と、該ベース、プライム、及びサブプライムパラメータに基づく第１の公開鍵及び第１の秘密鍵を有する第１の非対称鍵ペアと、該第２の公開鍵に基づく共有鍵とを生成することと、
該第１の装置が、該ネットラベルと秘密ラベルと乱数とを該共有鍵を使用して暗号化することと、
該第１の装置が、該暗号化されたネットラベルと暗号化された秘密ラベルと暗号化された乱数と該第１の公開鍵とを該第２の装置に送信することと、
該第２の装置が、該共有鍵を該第１の公開鍵に基づいて生成することと、
該第２の装置が、該暗号化されたネットラベルと暗号化された秘密ラベルと暗号化された乱数とを該共有鍵を使用して解読することと、
該第１の装置と該第２の装置とが、それぞれの識別番号を互いに通知し、保護された通信チャネルを確立することと
を含む方法。
【請求項２】
請求項１記載の方法であって、前記保護コール通知は第１の保護コール通知であり、前記ネットラベルは第１ネットラベルであり、前記秘密ラベルは第１秘密ラベルであり、前記乱数は第１乱数であり、前記共有鍵は第１の共有鍵であり、前記暗号化されたネットラベルは第１の暗号化された第１ネットラベルであり、前記暗号化された秘密ラベルは第１の暗号化された第１秘密ラベルであり、前記暗号化された乱数は第１の暗号化された第１乱数であり、
前記第１の装置と第２の装置のうち一方が、該第１の装置と第２の装置のうちいずれかを送信装置として指定し、他方を非送信装置として指定することと、
該送信装置が、該第１の装置と第２の装置の間の前記保護された通信チャネルを停止することと、
該送信装置が、第３の装置と保護された通信チャネルを確立することと、
該送信装置が、第２の保護コール通知を該第３の装置に送信することと、
該第３の装置が、前記ベース、プライム、及びサブプライムパラメータをアクセスすることと、
該第３の装置が、該ベース、プライム、及びサブプライムパラメータに基づいて第３の公開鍵と第３の秘密鍵とを有する第３の非対称鍵ペアを生成することと、
該第３の装置が、該第３の公開鍵を該送信装置に送信することと、
該送信装置が、第２秘密ラベルと、第２ネットラベルと、第２乱数と、該ベース、プライム、及びサブプライムパラメータに基づく第４の公開鍵及び第４の秘密鍵を有する第４の非対称鍵ペアと、該第３の公開鍵に基づく第２の共有鍵とを生成することと、
該送信装置が、該第２秘密ラベルと該第１ネットラベルと該第１乱数とを該第２の共有鍵を使用して暗号化し、暗号化された第２秘密ラベルと、第２の暗号化された第１ネットラベルと、第２の暗号化された第１乱数とを提供することと、
該送信装置が、該暗号化された第２秘密ラベルと、該第２の暗号化された第１ネットラベルと、該第２の暗号化された第１乱数と、該第４の公開鍵とを該第３の装置に送信することと、
該第３の装置が、該第２の共有鍵を該第３の公開鍵に基づいて生成することと、
該第３の装置が、該暗号化された第２秘密ラベルと該第２の暗号化された第１ネットラベルと該第２の暗号化された第１乱数とを該第２の共有鍵を使用して解読することと、
該送信装置が、該送信装置と該第３の装置の間の前記保護された通信チャネルを停止することと、
該送信装置が、該第３の装置と該非送信装置とに会議コール通知を送信することと、
該送信装置が、該第２ネットラベルと第２乱数とを該第１又は第２の公開鍵を使用して暗号化し、第１の暗号化された第２ネットラベルと第１の暗号化された第２乱数とを提供することと、
該送信装置が、該第１の暗号化された第２ネットラベルと該第１の暗号化された第２乱数とに対する第１のエラー検出値を生成することと、
該送信装置が、該非送信装置に該第１の暗号化された第２ネットラベルと、該第１の暗号化された第２乱数と、該第１のエラー検出値とを送信することと、
該非送信装置が、該第１の暗号化された第２ネットラベルと該第１の暗号化された第２乱数とに対する第２のエラー検出値を生成することと、
該非送信装置が、該第１と第２のエラー検出値を比較することで、該第１の暗号化された第２ネットラベルと該第１の暗号化された第２乱数との有効性をチェックすることと、
該非送信装置が、該第１の暗号化された第２ネットラベルと該第１の暗号化された第２乱数とを該第１又は第２の秘密鍵を使用して解読することと、
該送信装置が、該第２ネットラベルと該第２乱数とを該第３の公開鍵を使用して暗号化し、第２の暗号化された第２ネットラベルと第２の暗号化された第２乱数とを提供することと、
該送信装置が、該第２の暗号化された第２ネットラベルと該第２の暗号化された第２乱数とに対する第３のエラー検出値を生成することと、
該送信装置が、該第３の装置に該第２の暗号化された第２ネットラベルと、該第２の暗号化された第２乱数と、該第３のエラー検出値とを送信することと、
該第３の装置が、該第２の暗号化された第２ネットラベルと該第２の暗号化された第２乱数とに対する第４のエラー検出値を生成することと、
該第３の装置が、該第３と第４のエラー検出値を比較することで、該第２の暗号化された第２ネットラベルと該第２の暗号化された第２乱数との有効性をチェックすることと、
該第３の装置が、該第２の暗号化された第２ネットラベルと該第２の暗号化された第２乱数とを該第３の秘密鍵を使用して解読することと
を更に含む方法。
【請求項３】
保護された通信チャネルを確立する方法であって、
第１の装置と他の装置達とを含む三つの装置以上の間で通信リンクを確立することと、
該第１の装置が、同報会議コール通知を該他の装置達に送信することと、
該第１の装置と該他の装置達とが、ベース、プライム、及びサブプライムパラメータをアクセスすることと、
該第１の装置が、ネットラベルと、乱数と、該ベース、プライム、及びサブプライムパラメータに基づく第１の公開鍵及び第１の秘密鍵を有する第１の非対称鍵ペアとを生成することと、
該第１の装置が、該第１の公開鍵を該他の装置達のそれぞれに送信することと、
該他の装置達がそれぞれ、プライベートラベルと、該ベース、プライム、及びサブプライムパラメータに基づく他の公開鍵及び他の秘密鍵を有する他の非対称鍵ペアと、該第１の公開鍵に基づく他の共有鍵とを生成することと、
該他の装置達がそれぞれ、該プライベートラベルを該他の共有鍵を使用して暗号化することと、
該他の装置達がそれぞれ、該暗号化されたプライベートラベルと該他の公開鍵とを該第１の装置に送信することと、
該第１の装置が、該他の装置達が送信した該他の公開鍵のそれぞれからそれぞれの共有鍵を計算することと、
該第１の装置が、該各暗号化されたプライベートラベルをそれぞれの該共有鍵を使用して解読することと、
該第１の装置が、該ネットラベル及び乱数を、該各共有鍵を使用して暗号化することと、
該第１の装置が、該各暗号化されたネットラベル及び暗号化された乱数をそれぞれ対応する該他の装置に送信することと、
該他の装置達がそれぞれ、該暗号化されたネットラベル及び暗号化された乱数を該他の共有鍵を使用して解読することと、
該第１の装置と該他の装置達とが、該ネットラベル及び乱数を使用して保護された通信チャネルを確立することと
を含む方法。
【請求項４】
前記第１の装置が、前記各他の装置に対するエラーチェックコードをそれぞれの前記暗号化されたネットラベル及び暗号化された乱数から導出することと、
該第１の装置が、該各エラーチェックコードをそれぞれの該他の装置に送信することと、
該他の装置達がそれぞれ、前記暗号化されたネットラベル及び暗号化された乱数の有効性を、該エラーチェックコードを使用して確認することと
を更に含む請求項３記載の方法。
【発明の詳細な説明】
【０００１】
＜参照による援用＞
本開示は、クローリらの米国特許第５，４１０，５９９号（「音声及びデータ暗号化装置」）及びシェイトらの米国特許第５，３７５，１６９号（「暗号鍵管理方法及び装置」）の記載説明全体を援用する。
【０００２】
＜技術分野＞
本発明は、暗号システムと、送信空間と受信空間との間での暗号化遠距離通信方法とに関する。特に本発明は、平文メッセージ又は埋め込みオブジェクトを暗号化し、暗号文通信媒体を解読するために使用する暗号鍵を作成するシステムと、２者間以上を含む暗号形態での音声及びデータの送信及びこの音声及びデータの選択的受信及び解読とに関する。
【０００３】
＜背景技術＞
現代社会において、グループ間の通信は、多くの異なる通信媒体を利用して、様々な異なる方法により行われている。電子通信は情報転送の効率的な方法として一般的になりつつあり、特に電子メールは媒体の即時性から拡大を続けている。ソフトウェアプログラムレベルでの他の通信媒体では、オブジェクトを、全体的なシステム内で特定のサービスを提供するコンパイルされたコードの特定の断片として定義する。
【０００４】
残念なことに、電子通信によりもたらされる恩恵には、特にプライバシーのエリアにおいて、欠点が伴う。電子通信は、意図的でない受信者により傍受される可能性がある。携帯電話による音声通信等の無線通信と電子メールとは、特にこうした傍受をされやすい。更に、コンピューティングシステム上での情報の保持も、別のプライバシー問題を引き起こす可能性がある。共通のコンピューティング装置に複数のユーザがいる場合、及び異なるカテゴリの情報を通信するユーザのネットワークにおいて複数のアプリケーションに関する情報を分離する場合は、プライバシーが問題となる可能性のあるシナリオの一つである。別の状況においては、プライバシーの考え方は、詮索する目（prying eyes）から情報を守ることを超えて拡大され、ソフトウェアプログラムオブジェクトの完全性が問題となりうる。オブジェクトの操作又はその他の変更は、オブジェクトの作成者が意図しない結果を引き起こす可能性がある。
【０００５】
電子通信のプライバシーの問題は対処されており、この問題の解決策は実施されている。解決策の１形態では、電子通信のプライバシーを提供するために暗号を使用する。暗号には、送信又は格納されるメッセージ又はオブジェクトの暗号化又はエンコードと、その後の受信又は取り込みされるメッセージ又はオブジェクトの解読又はデコードとが関与する。このメッセージ又はオブジェクトは通常、デジタル信号、デジタル化アナログ信号、又はオブジェクトの機能の形態をとる。この通信が送信中に傍受された場合、或いは無許可の存在によりストレージから抽出された場合、暗号化メッセージを解読する手段を所有していない無許可の人間にとって、このメッセージは価値のないものとなる。
【０００６】
暗号を利用したシステムにおいて、通信の暗号化側にはエンコード装置又は暗号化エンジンが組み込まれる。このエンコード装置は、平文（未暗号化）メッセージ（又はオブジェクト）と暗号鍵とを受け取り、平文の通信と鍵とに関して事前に定められた暗号関係に従って、鍵により平文メッセージ（又はオブジェクト）を暗号化する。つまり、メッセージ又はオブジェクトは、テキスト／鍵関係（text/key relation）で説明される事前に定められた方法において、鍵により操作され、暗号文（暗号化）メッセージ又はオブジェクトが作成される。
【０００７】
同様に、通信の解読側には、デコード装置又は解読エンジンが組み込まれる。このデコード装置は暗号文と暗号鍵とを受け取り、暗号文メッセージ（又はオブジェクト）と鍵とに関して事前に定められら解読関係に従って、鍵により暗号文メッセージを解読する。つまり、メッセージ（又はオブジェクト）は、テキスト／鍵関係で説明される事前に定められた方法において、鍵により操作され、オリジナルの平文メッセージに対応する新しい平文メッセージが作成される。
【０００８】
鍵と上記関係とが通信プロセスに応用される方法、及び鍵が管理される方法が、暗号方式を定義する。現在、数多くの従来型の暗号方式が使用されている。例えば、おそらく最も一般的な方式は、公開鍵暗号方式である。このタイプの方式によれば、使用される鍵は実際には、あらゆる人又は大規模な存在の集合が利用可能な公開鍵コンポーネントと、特定の通信に固有な秘密鍵コンポーネントとの組み合わせである。こうした公開鍵方式は、関連する技術文献において広範に説明されており、特にマーティン・Ｅ・ヘルマン、ベイリ・Ｗ・ディフィ、及びラルフ・Ｃ・マークルにより説明されている（例えば、本明細書において全体として「ディフィ−ヘルマン方式」と称する米国特許第４，２００，７７０号及び第４，２１８，５８２号を参照）。
【０００９】
特定の暗号方式が応用に相応しいかどうかを判断する上での重要な考慮事項は、暗号を破るために必要な難易度の度合い、つまり、無許可の人間が暗号メッセージを解読するのに要する作業の量である。暗号方式のセキュリティを向上させる１方法は、有効な鍵が盗難、計算、又は発見されうる確率を最小にすることである。無許可の人間が有効な鍵を取得する難易度が高くなれば、特定の方式の下での通信が、より安全になる。
【００１０】
＜発明の開示＞
従って、本発明の目的は、ソフトウェアコンポーネントを含む可能性のある通信媒体が無許可の存在により危険にさらされることに対する追加セキュリティを提供する鍵を組み立てるためのプロセス及び装置を提供することである。
【００１１】
本発明の更なる目的は、無許可の者により複製不可能な鍵コンポーネントを策定するプロセス及び装置を提供することである。
【００１２】
本発明は、少なくとも以下の更なる目的を有する。
ａ．対称暗号化を通じたアクセス制御により、公開鍵使用の実施を進歩させること。
ｂ．Constructive Key Management（本明細書では「ＣＫＭ」と呼ばれる）を、伝送媒体での使用に適応させること。
ｃ．アナログ電話又はデジタル電話を使用した音声又はデータ、或いは電話からインターネット等のコンピューティングベースへの音声又はデータに関して、プライベートリンク又は会議能力を確立するために、公開鍵及びＣＫＭ鍵の方法を使用すること。
ｄ．データの完全性を確保し、電話間での迅速な暗号接続を促進するために、会議暗号化設定にエラー検出フィールドを追加すること。
ｅ．２台の電話間でセッション鍵を安全に確立する方法を提供すること。
ｆ．音声及び／又はデータモジュールと、暗号化及び制御モジュールと、モデムモジュールとにより構成されるポータブルな音声及びデータ暗号化プラットフォームを使用すること。
ｇ．暗号プロセスに含まれるべき他のプラットフォームユーザ数の視覚的確認を提示し、認証機能として送信者により確認可能な数字によりプラットフォームユーザを特定するために、このプラットフォーム上で例えばＬＥＤ等の表示モジュールを提供すること。
【００１３】
前記その他の目的及び利点は、暗号鍵スプリットコンバイナ（cryptographic key split combiner）により提供される。これには、暗号鍵スプリットを生成する多数の鍵スプリット生成器と、暗号鍵を作成するために暗号鍵スプリットをランダム化する鍵スプリットランダマイザとが含まれる。それぞれの鍵スプリット生成器は、シードデータ（seed data）から鍵スプリットを生成する。シードデータのソースは、データ暗号又はセッション鍵を決定するために鍵スプリットを使用する鍵管理方式に含むことが可能な擬似ランダム又はランダムデータシーケンスであってもよい。鍵スプリットの管理には、シードデータのソースを提供すること、及び鍵スプリットの望ましい組み合わせが生成される状態を確保するための分配プロセスを含めることができる。
【００１４】
本発明の一実施形態において、鍵スプリット生成器には、参照データに基づいてランダム鍵スプリットを生成するランダムスプリット生成器が含まれる。このランダムスプリット生成器は、参照データに基づいてランダムシーケンスを生成すること、或いは参照データに基づいて擬似ランダムシーケンスを生成することが可能である。このランダム鍵スプリットは更に、経時データ（chronological data）に基づいてもよい。このランダム鍵スプリットは、代わりに、参照データ及び更新可能な静的データに基づいてことが可能である。静的データを更新する１方法は、静的データの素数の除数を変更することである。
【００１５】
他の鍵スプリット生成器は、例えば、ラベルデータ及び／又は組織データ及び／又は静的データに基づいてトークン（token）鍵スプリットを生成するトークンスプリット生成器と、以前又は現在のメンテナンスデータ及び／又は静的データに基づいてコンソール鍵スプリットを生成するコンソールスプリット生成器と、ペアワイズ（pair-wise）データを生成する非対称鍵スプリット生成器と、生物測定学的（biometric）データベクトルを含むことが可能な生物測定学的データ、及び生物測定学的コンバイナデータ、及び／又は静的データに基づいて生物測定学的鍵スプリットを生成する生物測定学的スプリット生成器とを含むことができる。このラベルデータは、暗号化された情報又はオブジェクトの意図された（複数の）受領者を指定又は決定するユーザにとって意味のある、受信者のラベルカテゴリ及びサブカテゴリに関連させることができる。このラベルデータは記憶媒体から読み込むことが可能であり、ユーザ認証データを含むことができる。結果として生じる暗号鍵は、例えば、記号のストリーム、少なくとも１つの記号ブロック、又は鍵マトリックスにすることができる。
【００１６】
非対称鍵スプリット生成器は、ランダム鍵スプリット等の１つ以上の鍵スプリット生成器の完全性を確保するために、或いは送信者のデータの完全性を確保するために使用することができる。
【００１７】
鍵スプリット生成器は、コンポーネントオブジェクトを含むソフトウェアプログラムにおいて、認められている方法及びプロパティが存在する場合、それがどれかを決定するために使用することができる。コンポーネントオブジェクトは、コンピュータメモリ内のソフトウェアコードのコンパイルされた断片であり、これはメモリアドレスのアレイを有し、そのオブジェクトの特定の機能又は方法とデータ又はプロパティとが格納されるメモリ内の相対的な場所を示す。コンポーネントオブジェクトに関連するアレイは、どの方法及びプロパティが認められているかを決定し、こうした認められた方法及びプロパティによるメモリアドレスへのアクセスを制御する鍵スプリットを使用することができる。
【００１８】
本発明は更に、暗号又はセッション鍵を形成するプロセスを含み、これにはシードデータから複数の暗号鍵スプリットを生成し、暗号鍵を生成するために暗号鍵スプリットをランダム化することが含まれる。このプロセスは、暗号化又は解読プロセス中に鍵スプリットの選択を促進する、鍵スプリットへの基準ポインタを生成することを含むことができる。データ又はオブジェクトが暗号化された後、こうしたポインタは暗号文に含めることができる。
【００１９】
暗号鍵スプリットは、例えば、参照データに基づくランダム鍵スプリットと、ラベルデータに基づくトークン鍵スプリットと、メンテナンスデータに基づくコンソール鍵スプリットと、生物測定学的データに基づく生物測定学的鍵スプリットとを含むことができる。こうした鍵スプリットは、ランダムシーケンス又は擬似ランダムシーケンスであってもよい。
【００２０】
ランダム鍵スプリットを生成することには、参照データと経時データとに基づいて、或いは参照データと静的データとに基づいて鍵スプリットを生成することを含むことができる。トークン鍵スプリットを生成することには、記憶媒体から読み込み可能で認証データを含むことが可能なラベルデータと組織データとに基づいて、或いはラベルデータと静的データとに基づいて鍵スプリットを生成することを含むことができる。コンソール鍵スプリットを生成することには、以前のメンテナンスデータと現在のメンテナンスデータとに基づいて、或いはメンテナンスデータと静的データとに基づいて鍵スプリットを生成することを含むことができる。生物測定学的鍵スプリットを生成することには、生物測定学的データベクトルと生物測定学的コンバイナデータとに基づいて、或いは生物測定学的データと静的データとに基づいて鍵スプリットを生成することを含むことができる。
【００２１】
任意の鍵スプリットに提供される静的データは更新することができる。静的データの更新には、静的データの素数の除数を変更することを含むことができる。
【００２２】
結果として生じる暗号又はセッション鍵は、記号のストリーム、少なくとも１つの記号ブロック、又は鍵マトリックスとすることができる。
【００２３】
本発明の更なる態様によれば、音声及びデータを暗号形態で伝送するために、電話、携帯電話、又は衛星装置で使用するポータブル音声及びデータ暗号化プラットフォームが提供される。このプラットフォームの一部である制御ロジックは、アナログ及びデータシーケンスを管理する。クローリらを参照されたい。２台以上の電話、２台以上のファックス、又は２台以上のコンピュータの間の情報チャネルは、ＣＫＭ鍵の断片を安全に配布する初期鍵交換により確立される。公開鍵の材料は、情報チャネルの関係者間に共通する、事前計算及び配布済みパラメータのみによりオンザフライで確立することが可能であり、この場合、データ又は鍵を回復する能力は存在せず、セッション公開鍵断片は、セッションの直前に生成及び交換される。乱数又は擬似乱数で構成されるプライベートリンクラベル及び会議ラベルのセットは、セッション鍵に使用される組み合わせラベル及び乱数を発生させるセッション乱数に連結される。組み合わせセッション鍵により、音声又はデータの暗号化又は解読に使用される同一の完全鍵が生じる。いずれかのラベルの選択は、二者間リンク、或いは臨時又は集合的なコールにすることが可能な会議コールに関する、ユーザの選択に依存する。組合せ会議セッション鍵には、セッション鍵に基づいて数学的に計算されるエラー検出フィールドが付加される。
【００２４】
アクセス制御が付いた公開鍵の使用の実施は、対称暗号化を通じて提供され、この場合、公開鍵はディフィ−ヘルマン又は楕円曲線アルゴリズム等の既知のアルゴリズムに基づくことが可能である。Constructive Key Managementは、転送媒体での使用に適応される。ディフィ−ヘルマンは、事前配置の鍵断片、こうした断片からのセッション鍵の構築、及びセッション鍵の一部である可変ランダム関数を追加するために使用される鍵断片を通じて明示されるラベルの使用に注目するものである。このラベル鍵断片は、ソフトウェア（対称）又は暗号化（非対称）による強制読み込み／書き込み要件が存在するかどうかに応じて対称又は非対称にすることができる。ラベルのビット数及び乱数は、選択されたデジタル暗号化アルゴリズム（例えば、Data Encryption Standardが使用可能）により決まる。公開鍵及びＣＫＭ鍵の方法は、アナログ電話又はデジタル電話を使用した音声又はデータ、或いは電話からインターネット等のコンピューティングベースへの音声又はデータに関して、プライベートリンク又は会議能力を確立するために使用される。エラー検出フィールドは、データの完全性を確保し電話間での迅速な暗号接続を促進するために、会議暗号化設定に追加される。２台の電話間でセッション鍵を安全に確立するための方法が提供される。音声及び／又はデータモジュールと、暗号化及び制御モジュールと、モデムモジュールとにより構成されるポータブル音声及びデータ暗号化プラットフォームが使用される（クローリらを参照）。このプラットフォームは、ハンドセットと電話機器との間に接続される装置で構成することができる（この場合、アナログ音声がデジタルに変換され、デジタルブロックデータが暗号化され、結果として生じる暗号データが変換されてアナログに戻り、ＰＯＴＳネットワーク内で交換される）。このプラットフォームでは、ＬＥＤ等の表示モジュールが利用できる。このＬＥＤは、暗号プロセスに含まれる他のプラットフォームユーザ数の視覚的確認を提示するのに使用されうる。このＬＥＤは、認証機能として送信者により確認可能な数字によりプラットフォームユーザを特定することもできる。
【００２５】
本発明は、以下の図面を参照しつつ、以下の詳細な説明により更に完全に理解されよう。
【００２６】
＜発明を実施するための最良の形態＞
図１を参照すると、通信は開始空間２と目的地空間４とを有する。開始空間２は、通信が発生する時間と場所とを定める。目的地空間４は、通信がデコードされる予定の場所と時間とを定める。開始空間２と目的地空間４とは離れた場所にすることができる。或いは、時間的にずらされた同じ場所にすることができる。開始空間２と目的地空間４とに対応する空間と時間とは、特定の通信の性質に応じて決まる。開始空間２と目的地空間４とは、共通通信チャネル６に結合される。この通信チャネル６は、携帯音声電話での通話の場合には空中等、物理的な空間を架橋しうる。或いは、通信チャネル６は、開始空間２と目的地空間４との間で時間が経過する間の通信の一時的なストレージにすることが可能であり、例えば、第一のユーザによりコンピュータのメモリにメッセージが残され、第二のユーザが後の時間に同じコンピュータでこれを読む。通信チャネル６は、２種類の組み合わせにすることも可能であり、例えば、電子メール伝送の場合、電話ケーブルと記憶メモリとになる。通信チャネル６はコンピュータメモリ内のコンポーネントオブジェクトであってもよい。
【００２７】
コンポーネントオブジェクトは、コンピュータメモリ内のソフトウェアコードのコンパイルされた断片であり、これはメモリアドレスのアレイを有し、そのオブジェクトの特定の機能又は方法とデータ又はプロパティとが格納されるメモリ内の相対的な場所を示す。アプリケーションプログラマは、このアレイを含むメモリに対するポインタを取得することでコンポーネントオブジェクトを利用する。これは、コンポーネントオブジェクトのインスタンスを作成することとして、当技術において知られている。プログラマは、このアレイを介して間接的にアドレス指定することでコンポーネントオブジェクトの方法及びプロパティを利用することができる。
【００２８】
開始空間２において、オリジナルの平文メッセージ８が受領され、暗号文メッセージ１６を作成するために、提供された暗号鍵１０を使用して、暗号化テキスト／鍵関係１４に従って暗号化される。暗号文メッセージ１６は、通信チャネル６を介して、目的地空間４で受領される。次に、正しい解読鍵２０を有する許可された存在は、解読鍵２０を目的地空間４に提供することが可能であり、ここでは、オリジナル平文メッセージ８に対応する新しい平文メッセージ２４を作成するために、解読テキスト／鍵関係２２に従って暗号文メッセージ１６に解読鍵２０が適用される。
【００２９】
開始空間２と目的地空間４とは、例えば、複数のコンピュータ、又は同じコンピュータにすることができる。コンピュータの例は、テキスト／鍵関係を格納するためにメモリの形態である特定の量の記憶容量を有することができる。マイクロプロセッサ又は同様のコントローラは、制御構造と、ユーザが提供したオリジナル平文及び鍵を格納するランダムアクセスメモリと共に、それぞれの空間に含めることが可能であり、暗号化／解読エンジンの機能を実行することができる。キーボード、フロッピーディスクドライブ、ＣＤ−ＲＯＭドライブ、又は生物測定学的リーダ等の入力装置２６、２８も、開始ユーザからの鍵及び平文メッセージと目的地ユーザからの鍵とを受け取るために提供することができる。目的地空間４では、モニタ、ディスクドライブ、又はオーディオスピーカ等の出力装置３０を、新しい平文メッセージを目的地ユーザに提供するために提供することができる。テキスト／鍵関係は、コンピュータのハード記憶装置内ではなく、むしろフロッピーディスクその他の恒久又は一時的なポータブルなストレージに格納し、異なるユーザにより、或いは異なる状況において、異なるテキスト／鍵関係を適用することができる。
【００３０】
開始空間で提供される鍵と目的地空間で提供される鍵とは、いくつかの構成要素、すなわちスプリットにより構成され、そのそれぞれを異なるソースより提供することができる。図２に示すように、ランダム鍵スプリット３２は、ランダム又は擬似ランダムに生成することができる。第二のスプリット３４は、トークンに格納することができる。第三のスプリット３６は、コンソールに格納することが可能であり、第四のスプリット３８は、生物測定学的ソースにより提供することができる。鍵スプリットは、完全な暗号鍵を形成するために組み合わせることができる。この鍵は、記号のストリーム、記号ブロックの集合、Ｎ次元の鍵マトリックス、又は特定の暗号方式で使用可能な任意の形態をとることができる。
【００３１】
ランダムスプリット３２は、暗号鍵にランダムな構成要素を提供する。このスプリット３２は、任意のソースにより参照データ４０として提供されるシードに基づいて、ランダム又は擬似ランダムに生成される。例えば、ユーザがシステムへのログオンを試みる際、デジタルの形態で表されるユーザのログオン試行の日付と時間とを鍵スプリット生成のシードとして使用することができる。つまり、シードは、擬似ランダムシーケンス生成器その他のランダマイザに提供し、ランダムスプリットを作成することができる。こうした擬似ランダムシーケンス生成器は、この技術で広く知られている。例えば、単純なハードウェア実装は、シフトレジスタを含むことが可能であり、これは排他的論理和演算されたレジスタの様々な出力と、レジスタの入力にフィードバックされる結果とを有する。或いは、シードは、開始空間で格納される固定鍵シード等の組み込みコンポーネント４２と組み合わせること、又はこれによりランダム化することができる。このランダム化は例えば、テキスト／鍵関係のバリエーションを、生成されたシードと格納された固定鍵シードとに適用することで実行することができる。この結果は、ランダム鍵スプリット３２を作成するために、例えば、暗号化の日付と時間のデジタル表現４４により更にランダム化することができる。
【００３２】
トークンスプリット３４は、同様の方法で生成することができる。この場合、シードは、トークン上に提供され、つまり、ユーザにより所有される媒体上に格納される。例えば、シードは、暗号手続きの一部としてシステムが読み込む必要のあるフロッピーディスク上に格納することができる。トークンは、いくつかの異なるシード、又はラベルデータ４６を格納することが可能であり、そのそれぞれはシステムにより提供される様々な認証、或いはユーザにより指定される様々な認証に対応する。例えば、あるシードは、特定の目的地空間でメッセージを読む特定のユーザを認証する鍵スプリットを生成するために使用することができる。別の鍵シードは、複数のユーザの集合の任意のメンバーが任意の目的地空間でメッセージを読み、ある特定のユーザがメッセージを読み、特定の目的地空間でメッセージを上書きすることを認証する鍵スプリットを生成するために使用することができる。ラベルデータ４６は、通信へのアクセスが有効となる時間幅を指定することもできる。このシードは、開始空間に格納されるシード等の組み込みコンポーネント４８によりランダム化可能であり、その後、ユーザが属する組織に提供される組織データ５０により更にランダム化することができる。
【００３３】
コンソールスプリット３６は、システムコンソール等のユーザ空間で格納される変化値に由来する。デフラグメンテーションテーブルセットから取られたチェックサム等のメンテナンスデータを使用して、こうした変化値を作成できる。例えば、現在のメンテナンスデータ５２を特定の以前のメンテナンスデータによりランダム化することができる。或いは、あらゆる以前のメンテナンスデータ５４を、開始空間で格納される組み込みコンポーネント５６によりランダム化することが可能であり、その結果は、共に排他的論理和演算され、現在のメンテナンスデータ５２によりランダム化される。この変化値のランダム化の結果がコンソールスプリット３６である。
【００３４】
生物測定学的スプリット３８は、ユーザの生物測定学的サンプルにより提供される生物測定学的データベクトル５８から生成される。例えば、ユーザから固有の網膜署名を取得するために、網膜スキャナを使用することができる。この情報は、デジタルの形態で、その後、生物測定学的スプリット３８を生成するために使用される。これは例えば、生物測定学的ベクトル５８に対応するデジタルストリングを、生物測定学的コンバイナデータ６０によりランダム化することで達成され、生物測定学的コンバイナデータ６０は、ユーザのシステム識別番号、或いは生物測定学的リーダにより提供されるユーザの身体データとリンクさせることが可能なその他の何らかの識別データのデジタルハッシュにすることができる。結果として生じたランダム化データは生物測定学的スプリット３８となる。生物測定学的スプリット３８は、生物測定学的データベクトル５８を提供したユーザ以外はいかなる者にも複製することが不可能な情報を提供する。
【００３５】
本明細書で説明する組み込み鍵スプリットコンポーネント４２、４８、５６は、システム内の未制御パラメータに基づいて変更されない点において、静的にすることができる。しかしながら、制御の目的で更新することは可能である。例えば、組み込み鍵スプリットコンポーネント４２、４８、５６は、特定のユーザの参加ステータスを変更するために変化させることができる。この鍵スプリットコンポーネントは、ユーザによるアクセスを拒否するために完全に変化させることができる。或いは、レガシファイルを保存するために、オリジナルの鍵スプリットコンポーネントの単一の素数の除数のみを、変更として鍵スプリットコンポーネントから取り出すことができる。つまり、ユーザは、変更前に作成されたバージョンにアクセスすることはできるが、ファイルの変更は不可能となり、事実上、ユーザには読み込み専用アクセスが与えられる。同様に、鍵スプリットコンポーネントの変更により、更に広範なアクセスをユーザに与えることができる。
【００３６】
本発明に従って使用可能な一の暗号方式によれば、素数と乱数とは、１者以上の通信関係者に関するデータシードソースから生成される。乱数は、パブリックサーバ等の「パブリック」ドメインで使用すること、或いは通信プロセス前に関係者間で交渉することが可能である。二者間の通信を確立するためには、送信者の素数と送信者に関する受信者の乱数とにより、多項式計算又はモジュロ演算が行われる。受信者は、受信者の素数と送信者の乱数とを計算する。相互計算により、ランダム鍵スプリットを暗号化するため、或いは伝送メッセージ又は格納メッセージのハッシュを暗号化するために使用される暗号又はセッション鍵が作成され、これにより非対称スプリット６４が作成される。通信の暗号化側で使用される他の鍵スプリット生成器は、非対称鍵スプリット生成器に完全性を提供する。
【００３７】
鍵スプリット３２、３４、３６、３８が生成された後、これらは共にランダム化されることが可能で、通信のための暗号鍵６２が作成される。完全な暗号鍵を生成するためのそれぞれの組み合わせの実行においては、異なるバリエーションのテキスト／鍵関係を適用することができる。複数の異なるテキスト／鍵関係のバリエーションを使用することで、暗号方式全体のセキュリティが増加する。完全鍵６２の形成においては、本明細書で具体的に説明したもの以外の鍵スプリットを組み合わせることが可能であると考えられる。スプリットの合計数も変化させることが可能であり、こうしたスプリットを使用して鍵マトリックスを構築し、システムの複雑性を増加させることが可能である。完全鍵６２は、特定の暗号方式において使用するのに最適な形態にするべきである。つまり、鍵の異なるフィールドが、通信のプロトコルにおける異なる機能を有することが可能であり、これらは鍵の中で適切に配置されるべきである。
【００３８】
目的地空間では、メッセージへのアクセスを試みるユーザが認証を有するかどうか、つまり有効な鍵を有するかどうかを判断するために、プロセスが逆から行われる。目的地空間でユーザにより供給された鍵は、開始空間でトークンスプリットを作成するために使用されたラベルにより求められる情報を含む必要がある。この情報も、トークンスプリットの形態をとることができる。更に、ユーザに割り当てられた識別データとユーザから生物測定により収集された身体データとのリンクを提供するために、目的地鍵の一部として生物測定学的スプリットを要求することができる。トークンスプリットと生物測定学的スプリットとは、目的地空間で他のスプリットと組み合わせ、完全な目的地鍵を形成することができる。
【００３９】
図３は、本発明に従った鍵の生成及び管理のためのハードウェア実装の例を示している。
【００４０】
コンポーネントオブジェクト制御の場合、コンポーネントオブジェクトの実行可能ファイルにおいてアドレスのアレイを暗号化することができる。コンポーネントオブジェクトを使用するアプリケーションプログラムはその後、特別な「クリエイトインスタント」関数を呼び出して、鍵スプリット又はラベル表現を転送することができる。この「クリエイトインスタント」は、１）転送された鍵スプリットに基づいて、認められている方法及びプロパティが存在する場合、鍵スプリットを使用して、それがどれかを決定し、２）こうした認められた方法及びプロパティに関するメモリアドレスを解読し、３）認められていない方法及びプロパティのアドレスを変更し、これにより非認証の決定に対応するエラーコードを戻す「スタブ」関数を代わりに呼び出す。注意点として、アプリケーションデータは、コンポーネントオブジェクトとのやり取りの際に、暗号化する試みは行われない。
【００４１】
以下の説明は、プライベート音声又はデータリンクを提供するため、或いは会議能力を提供するために、説明された方法を使用することに関係する。
【００４２】
《プロセス》
ディフィ−ヘルマン鍵の取り決めに基づいて公開鍵の確立が使用される。それぞれのプラットフォーム装置には、Ｐ、Ｑ、及びＧとして指定されたディフィ−ヘルマンパラメータのユニバーサル（共通）セットがロードされる。これらのパラメータから、それぞれのプラットフォームにより公開鍵断片のパブリック／プライベートペアが生成される。それぞれのプラットフォームには、ランダム又は擬似乱数生成及び記憶能力が存在する。それぞれのプラットフォームにより、ＣＫＭラベルのペア（ラベル毎のＩＤ番号及び乱数）を生成することができる。
【００４３】
プラットフォームユーザの１人は、１人以上のプラットフォームユーザ間で交換される暗号化を開始及び管理する送信者（Ｓ）として指定される。
【００４４】
《２者間コール》
１．２人のプラットフォームユーザ間で平文テキストコールが開始される。
２．ユーザの１人は自分がＳであることを明言し、暗号化プロセスを起動するために「プライバシー保護」ボタンを押すことができる。受信者ユーザのプラットフォーム、Ｒは、自動的に開始を感知し、以下のようなシーケンスで応答する（計算プロセスについては図１を参照）。
【００４５】
ａ．  ＳがＲに対して、保護された通信を行うことを伝える。Ｓが「保護」ボタンを押す。コード化信号がＲに送られ、ＲのＬＥＤ上に保護された交換が開始されたことが視覚的に表示される。自動プロセスが進行する。
ｂ．  Ｓは、共通のＰ、Ｑ、及びＧパラメータからディフィ−ヘルマン非対称鍵ペアを作成し、ネットラベルを生成し、プライベートラベルを生成し、乱数を生成する。
ｃ．  Ｒは、共通のＰ、Ｑ、及びＧパラメータからディフィ−ヘルマン非対称鍵ペアを生成する。
ｄ．  ＲはＳに対して、非対称鍵ペアの公開部分を送る。
【００４６】
ｅ．  Ｓは、Ｒの非対称鍵ペアの公開部分からディフィ−ヘルマン共有鍵を計算し、その共有鍵により、ネットラベル、プライベートラベル、及び乱数を暗号化する。
ｆ．  ＳはＲに対して、暗号化されたネットラベル、プライベートラベル、及び乱数を送り、更にＳ自身のディフィ−ヘルマン非対称鍵の公開部分を送る。
ｇ．  Ｒは、Ｓのディフィ−ヘルマン非対称鍵ペアの公開鍵部分からディフィ−ヘルマン共有鍵を計算する。
ｈ．  Ｒは、ディフィ−ヘルマン計算共有鍵を使用して、Ｓからのラベル及び乱数を解読する。
ｉ．  それぞれの識別番号が交換され、両方のプラットフォームで受領される。一方又は両方のユーザは、電話を通じて番号を口頭で確認することができる。
ｊ．  通話を中断するにはキャンセルボタン又は同等のものが実行される。
【００４７】
《臨時会議コール》
臨時会議コールに関する暗号化プロセスは、２人のプラットフォームユーザ間で平文テキストコールが開始される点において、２者間コールと似ている。「保護された」交換は、２者間コールにおいて定めたように２人のユーザ間で完了される。
【００４８】
通話の交換中、関係者の一方により、追加ユーザを会話又はデータ交換に参加させることが望ましいと判断される。以下のステップは、新しいユーザ、Ｒ１との暗号交換を確立するために行われる（計算プロセスについては図２を参照）。
【００４９】
ａ．  Ｓは、Ｒとの暗号化チャネルを一時中断するが暗号化同期を維持する「Ｒに関する保留ボタン」を押す。ＳのＬＥＤでは、Ｒが保留されていることが確認される。
ｂ．  Ｓは、Ｒ１とのＰＯＴＳ接続を確立する。
ｃ．  ＳがＲ１に対して、保護された通信を行っていることを伝える。Ｓが「保護」ボタンを押す。保護された交換が開始される旨のコード化信号がＲ１に送られ、Ｒ１のＬＥＤを通じてＬＥＤによる確認が行われる。１者のみが存在しているため、両者間の通信プロトコルは、これが同報の会議コールではないと判断する。
【００５０】
ｄ．  Ｓは、プライベートラベル（Ｓ及びＲ１間）とディフィ−ヘルマン非対称鍵ペアとを生成し、公開部分をＲ１に対して送る。
ｅ．  Ｒ１は、共通のＰ、Ｑ、及びＧパラメータからディフィ−ヘルマン非対称鍵ペアを生成し、Ｓからの公開鍵部分からディフィ−ヘルマン共有鍵を計算する。Ｒ１が鍵ペアの公開部分をＳに送る。
ｆ．  Ｓは、Ｒ１からの公開鍵からディフィ−ヘルマン共有鍵を計算する。
【００５１】
ｇ．  Ｓは、プライベートラベル、Ｒとの間で確立されたネットラベル、及びＲとの間で確立された乱数を暗号化し、これをＲ１に送る。Ｓはプライベートラベルを保持する。
ｈ．  Ｒ１は、Ｓからのデータを解読し、プライベートラベルを保持する。
【００５２】
ｉ．  Ｓは、Ｒとの暗号化チャネルを一時中断するが暗号化同期を維持する「Ｒ１に関する保留ボタン」を押す。ＳのＬＥＤで、Ｒ及びＲ１がプライベート会話として保留されていることが確認される。
ｊ．  Ｓは、「会議ボタン」を押す。会議コールを開始するＲ及びＲ１にコード化信号が送られる。Ｒ及びＲ１のそれぞれのＬＥＤで確認が行われる。Ｓはネットラベルと新しい乱数とを生成する。
ｋ．  最初に、Ｓは、Ｒの公開鍵部分で暗号化され、新しい乱数に連結されたネットラベルを送る。ＣＲＣ等のエラー検出方式が、組み合わせられたネットラベル及び乱数に適用され、結果として生じたエラー検出データはラベル及び乱数の送信に含まれる。Ｒはデータを受領し、データにＣＲＣを行い、データを確認し、公開鍵のプライベート部分によりネットラベル及び乱数を解読する。
【００５３】
ｌ．  ３ユーザすべてがＳからの共通ネットラベル及び共通ランダム鍵を有する。保護された会議コールを始めることができる。
ｍ．  注意：Ｒ又はＲ１とのプライベート会話は、会議コールを保留にし、保護コールを開始することで再開できる。
【００５４】
ｎ．  この通話を中断するにはキャンセルボタン又は同等のプロセスが実行される。
【００５５】
《同報会議コール》
この暗号化プロセスは、すべての会議関係者が一度に利用可能となり、すべての関係者が存在している間に保護された関係が確立される点において、臨時会議コールとは異なる。同報会議コールは、臨時会議コールのプロセスを使用するが、シーケンスには僅かな違いがある（計算プロセスについては図３を参照）。
【００５６】
すべての関係者が接続され、存在が確認された後、関係者の１人により自分がＳであることが明言される。
ａ．  Ｓが「保護」ボタンを押す。保護された交換が開始される旨のコード化信号が、存在している他のすべての関係者に送られる。すべての会議コール関係者のＬＥＤでＬＥＤによる確認が起動される。通信プロトコルは、存在するそれぞれの会議関係者に関して相互に決定された順序で保護プロセスが起動されるように確立される。
【００５７】
ｂ．  それぞれの関係者はＳとの交換を以下のように完了する。
１．  Ｓは、ネットラベルと、乱数と、共通のＰ、Ｑ、及びＧパラメータからのディフィ−ヘルマン非対称鍵ペアとを生成し、公開部分をＲに送る。
２．  Ｒは、プライベートラベル（ＲとＳとの間で使用）と共通のＰ、Ｑ、及びＧパラメータからのディフィ−ヘルマン非対称鍵ペアとを生成する。ＲはＳの公開鍵からディフィ−ヘルマン共有鍵を計算する。Ｒは共有鍵によりプライベートラベルを暗号化する。ＲはＳに対して、自分の非対称鍵ペアの公開鍵部分を送る。Ｒは更に、Ｒ及びＳに関する暗号化プライベートラベルを送る。
【００５８】
３．  Ｓは、Ｒからの公開鍵からディフィ−ヘルマン共有鍵を計算する。Ｓは、この共有鍵によりプライベートラベルを解読する。Ｓはプライベートラベルを保持する。
４．  Ｓは、共有鍵によりネットラベルと乱数とを暗号化し、これをＲに送る。暗号化連結番号に関してＣＲＣが実行され、ＣＲＣ番号が暗号化連結番号と共に送られる。
５．  Ｒは、ネットラベルと乱数を受領し、計算した共有鍵により解読する。Ｒはこれらを保持する。
【００５９】
６．  Ｓは、「Ｒに関する保留ボタン」を押し、Ｒとの暗号化チャネルを一時中断するが暗号化同期を維持する。ＳのＬＥＤではＲが保留されていることが確認される。
７．  Ｒ１及び残りの会議コール関係者は、上のｂ１乃至ｂ６のプロセスを実行する。ＳのＬＥＤでは、どの関係者が基本となる保護交換を成功させたかが反映される。
【００６０】
ｃ．  Ｓは「会議ボタン」を押す。会議コールが開始される旨のコード化信号がすべての関係者に送られる。それぞれの関係者のＬＥＤで確認が行われる。Ｓは、ネットラベルと乱数とを生成する。
ｄ．  Ｓは、Ｒの公開鍵部分により暗号化された連結ネットラベル及び乱数を送る。Ｓは、会議コールのそれぞれの関係者に対して、このプロセスを繰り返す。ＳのＬＥＤでは、どの関係者にネットデータを送ったかが反映される。
ｅ．  会議コールのすべての関係者がＳからの共通ネットラベル及び共通ランダム鍵を有する。暗号アルゴリズムによる鍵材料により保護された会議コールを始めることができる。
【００６１】
ｆ．  注意：任意の関係者及びＳとのプライベート会話は、会議を保留にし、保護された２者間コールを確立することで開始できる。
ｇ．  Ｓは、会議コールを中断するために、キャンセルボタン又は同等のプロセスを押す。
【００６２】
以上、例示的且つ好適な実施形態に基づき本発明を説明してきた。しかしながら、本発明の範囲は、これらの特定の開示実施形態に限定されるものではなく、逆に、本発明は、種々の変形例と類似の構成とを包含するものと考えられる。従って、特許請求の範囲は、こうしたすべての変形例と同様の構成とを含むように最も広義の解釈を与えられるべきである。
【図面の簡単な説明】
【図１】  図１は、暗号を特徴づける通信イベントを示すブロック図である。
【図２】  図２は、鍵スプリットコンバイナを示すブロック図である。
【図３】  図３は、本発明の鍵生成態様のハードウェア実施の例を示す図である。
【図１】
0004615128.tif 000002
【図２】
0004615128.tif 000003
【図３】
0004615128.tif 000004