(57)【特許請求の範囲】
【請求項１】
具体的には２つの端末装置（Ａ、Ｂ）における通信を保護するための暗号鍵の生成及び配布方法であって、
ａ）欠陥のある第１の通信ケーブル（Ｑ）、具体的には量子通信ケーブルを介して、両前記端末装置（Ａ、Ｂ）における相関値を生成するための信号を分配し、前記相関値は、両前記端末装置に鍵（ｋＡ、ｋＢ）として存在し、
ｂ）第１の端末装置（Ａ）に存在する第１の鍵（ｋＡ）に基づいて、チェックサム（ｓＡ）を形成して、前記チェックサム（ｓＡ）を、前記第１の通信ケーブル（Ｑ）とは異なる第２の通信ケーブル（Ｌ）を介して、第２の端末装置（Ｂ）に送信し、
ｃ）前記第２の端末装置（Ｂ）に存在する第２の鍵（ｋＢ）に基づいて、第２のチェックサム（ｓＢ）を形成して、両前記チェックサム（ｓＡ、ｓＢ）、又は、両前記チェックサム（ｓＡ、ｓＢ）の差分（ｓｅｒｒ）、又は、これから導かれる情報を、前記第２の通信ケーブル（Ｌ）を介して、両前記端末装置（Ａ、Ｂ）とは異なり両前記端末装置（Ａ、Ｂ）から空間的に分離されたサーバ（Ｃ）に送信し、
ｄ）前記サーバ（Ｃ）は、両前記チェックサム（ｓＡ、ｓＢ）、又は、両前記チェックサム（ｓＡ、ｓＢ）の差分（ｓｅｒｒ）、又は、これから導かれる情報に基づき、補正値（ｋｅｒｒ）を求め、前記補正値（ｋｅｒｒ）は、前記鍵（ｋＡ、ｋＢ）の一方又は両方に使用されることにより、これらの鍵（ｋＡ、ｋＢ）を一致させるものであり、
ｅ）前記補正値（ｋｅｒｒ）を、前記端末装置（Ａ、Ｂ）の一方又は両方に前記第２の通信ケーブル（Ｌ）を介して送信して、前記鍵（ｋＡ、ｋＢ）の一方又は両方に対して使用する、方法。
【請求項２】
両前記端末装置（Ａ、Ｂ）における相関値を生成するための信号は、
前記第１の端末装置（Ａ）からランダム信号が生成されて、具体的には量子通信により、前記第２の端末装置（Ｂ）に送信されるように、又は、
前記第２の端末装置（Ｂ）からランダム信号が生成されて、具体的には量子通信により、前記第１の端末装置（Ａ）に送信されるように、又は、
外部の信号源から、絡み合った量子状態が生成されて、量子通信により両前記端末装置（Ａ、Ｂ）に送信されるように、分配されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記相関値（ｋＡ、ｋＢ）を形成するために、送信された信号（Ｓ）の一部を選択し、前記送信された信号（Ｓ）の残りの成分を廃棄することを特徴とする、請求項１又は２に記載の方法。
【請求項４】
１つの鍵（ｋＡ、ｋＢ）が、所定の長さの二値ベクトルとして示されており、
二進値を含む公知のチェック行列（Ｐ）であって、行の値が前記鍵（ｋＡ、ｋＢ）の長さに相当し、列の値が前記チェックサム（ｓＡ、ｓＢ）の長さに相当するチェック行列（Ｐ）を、入力として規定し、
前記チェックサム（ｓＡ、ｓＢ）は、行列ベクトル積の形成によって形成され、ビットの加算としてＸＯＲ演算が使用され、ビットの乗算としてＡＮＤ演算が使用されることを特徴とする、請求項１乃至３のいずれか１に記載の方法。
【請求項５】
１つの鍵（ｋＡ、ｋＢ）が、要素がガロア体から成る所定の長さのベクトルとして示されており、
ガロア体要素を含む公知のチェック行列（Ｐ）であって、行の値が前記鍵（ｋＡ、ｋＢ）の長さに相当し、列の値が前記チェックサム（ｓＡ、ｓＢ）の長さに相当するチェック行列（Ｐ）を、入力として規定し、
前記チェックサム（ｓＡ、ｓＢ）は、行列ベクトル積の形成によって形成され、加算及び乗算として、前記ガロア体要素に対する関連する演算が使用されることを特徴とする、請求項１乃至４のいずれか１に記載の方法。
【請求項６】
前記鍵（ｋＡ、ｋＢ）の長さを、予め定められた手法で、少なくとも前記チェックサム（ｓＡ、ｓＢ）のビット数に相当するビット数だけ低減させることを特徴とする、請求項１乃至５のいずれか１に記載の方法。
【請求項７】
両前記端末装置（Ａ、Ｂ）の間で、いずれも、対称暗号化方法によって前記端末装置（Ａ、Ｂ）に記憶された鍵（ｋＡ、ｋＢ）を使用して保護されたメッセージが交換される、請求項１乃至６のいずれか１に記載の方法。
【請求項８】
両前記端末装置（Ａ、Ｂ）の間で、いずれも１つのハッシュ値が添付されたメッセージが交換され、前記ハッシュ値は、所定の手法で、前記鍵から、及び、前記メッセージにおいて送信される情報から生成されるものであり、
受信を行う各前記端末装置（Ａ、Ｂ）は、受信時に、送信されたハッシュ値が、所定の手法で、前記鍵から、及び、前記メッセージにおいて送信される情報から生成されたものであるかどうかを判定し、そうである場合、前記メッセージの信頼性が確認される、請求項１乃至７のいずれか１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対称暗号化方法の範囲において暗号鍵として使用するための、２つの端末装置用の１つの鍵を生成及び配布するためのエラー補正方法に関する。
【背景技術】
【０００２】
従来技術からは、２つの端末装置間において、１つの暗号鍵を量子通信によって生成することが知られている。この鍵が量子通信ケーブル又は他の著しく欠陥のあるケーブルを介して伝送されると、これら両方の端末装置において、互いに異なる鍵が含まれることになる。従来技術からは、これら２つの鍵が同一になるよう、かつ、両端末装置間の通信時に対称暗号化方法の範囲において利用可能になるように、２つの鍵のうちの一方又は両方を補正することも知られている。この補正を行うために、典型的には、両方の端末装置のうちの一方において、１つの鍵及び１つの公知のチェック行列に基づいて、チェックサムが形成され、これが他方の端末装置に送信される。ここで、第２の端末装置の鍵を、チェックサムが、上記チェック行列と第１の鍵との積として求められるチェックサムに相当するように補正する方法が知られている。このような方法は、例えば、Todd K. Moonの「Error Correction Coding. Mathematical Methods and Algorithms」（Wiley-Interscience, Hoboken NJ, 2005, ISBN 0-471-64800-0）より公知である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
この手法の根本的欠点は、鍵の補正の演算に極めて手間がかかり、かつ、最初に鍵を伝送した後、鍵を補正する端末装置のリソース負荷が高くなることである。
【０００４】
また、従来技術から公知の、データを外部で演算するための手法、例えば、鍵の補正に必要なアルゴリズムをデータ処理センターにおいて実施するための手法は、必然的に秘密である鍵を端末装置から出力して、必ずしも信頼性を有していないデータ処理センターに送信しなければならないという根本的問題を有している。
【０００５】
本発明の課題は、より高い計算能力を有すると共に満たすべき信頼性に関する要件がより少ないコンピュータにおいて実施可能な、鍵補正方法を実現することにある。
【課題を解決するための手段】
【０００６】
本発明は、これらの課題を、請求項１に記載の特徴により解決する。
【０００７】
本発明によれば、
ａ）欠陥のある第１の通信ケーブル、具体的には量子通信ケーブルを介して、２つの端末装置における相関値を生成するための信号を分配し、前記相関値は、両前記端末装置に鍵として存在し、
ｂ）第１の端末装置に存在する第１の鍵に基づいて、チェックサムを形成して、前記チェックサムを、前記第１の通信ケーブルとは異なる第２の通信ケーブルを介して、第２の端末装置に送信し、
ｃ）前記第２の端末装置に存在する第２の鍵に基づいて、第２のチェックサムを形成して、両前記チェックサム、又は、両前記チェックサムの差分、又は、これから導かれる情報を、前記第２の通信ケーブルを介して、両前記端末装置とは異なり両前記端末装置から空間的に分離されたサーバに送信し、
ｄ）前記サーバは、両前記チェックサム、又は、両前記チェックサムの差分、又は、これから導かれる情報に基づき、補正値を求め、前記補正値は、前記鍵の一方又は両方に使用されることにより、これらの鍵を一致させるものであり、
ｅ）前記補正値を、前記端末装置の一方又は両方に前記第２の通信ケーブルを介して送信して、前記鍵の一方又は両方に対して使用する。
【０００８】
本発明に係るアプローチの根本的利点は、補正値の形成に使用されるサーバが、任意の別の人物に開放されていることが可能であり、サーバのための実質的な安全検査が必要ない点にある。
このため、サーバと端末装置との間の通信に利用される通信ケーブルは、傍受耐性を有している必要はない。
【０００９】
特に容易に両方の端末装置に鍵を配布する初期ステップにおいて、両前記端末装置における相関値を生成するための信号は、
前記第１の端末装置からランダム信号が生成されて、具体的には量子通信により、前記第２の端末装置に送信されるように、又は、
前記第２の端末装置からランダム信号が生成されて、具体的には量子通信により、前記第１の端末装置に送信されるように、又は、
外部の信号源から、絡み合った量子状態が生成されて、量子通信により両前記端末装置に送信されるように、分配される。
【００１０】
安全性をさらに改善することは、相関値を形成するために、送信された信号の一部を選択し、前記送信された信号の残りの成分を廃棄することにより実現される。
【００１１】
線形アプローチにより容易な鍵の補正を可能にする、特に効率的なアプローチでは、
１つの鍵が、所定の長さの二値ベクトルとして示されており、
二進値を含む公知のチェック行列であって、行の値が前記鍵の長さに相当し、列の値が前記チェックサムの長さに相当するチェック行列を、入力として規定し、
前記チェックサムは、行列ベクトル積の形成によって形成され、ビットの加算としてＸＯＲ演算が使用され、ビットの乗算としてＡＮＤ演算が使用されるようになっている。
【００１２】
また、このために以下の構成が可能である。すなわち、
１つの鍵が、要素がガロア体から成る所定の長さのベクトルとして示されており、
ガロア体要素を含む公知のチェック行列であって、行の値が前記鍵の長さに相当し、列の値が前記チェックサムの長さに相当するチェック行列を、入力として規定し、
前記チェックサムは、行列ベクトル積の形成によって形成され、加算及び乗算として、前記ガロア体要素に対する関連する演算が使用される。
【００１３】
伝送信頼性を上昇させるために、具体的には、鍵又は鍵の等価物の交換の範囲において、アタッカーが鍵についての十分な情報を傍受により取得することを排除するために、前記鍵の長さを、予め定められた手法で、少なくとも前記チェックサムのビット数に相当するビット数の分だけ低減させてもよい。
【００１４】
鍵の交換後は、傍受耐性のデータ伝送が可能であり、ここで、両方の端末装置の間で、いずれも、対称暗号化方法によって前記端末装置に記憶された鍵を使用して保護されたメッセージが交換される。
【００１５】
鍵の交換後は、送信されたメッセージの信頼性を判定することが可能であり、ここで、両前記端末装置の間で、いずれも１つのハッシュ値が添付されたメッセージが交換され、前記ハッシュ値は、所定の手法で、前記鍵から、及び、前記メッセージにおいて送信される情報から生成されるものであり、
受信を行う各前記端末装置は、受信時に、送信されたハッシュ値が、所定の手法で、前記鍵から、及び、前記メッセージにおいて送信される情報から生成されたものであるかどうかを判定し、そうである場合、メッセージの信頼性が確認される。
【図面の簡単な説明】
【００１６】
【図１】２つの通信参加者の端末装置Ａ、Ｂが示されている。
【発明を実施するための形態】
【００１７】
本発明の好ましい実施形態を、図面を参照しながらより詳細に説明する。
図１には、２つの通信参加者の端末装置Ａ、Ｂが示されている。これらの端末装置は、潜在的に不安定な第２の通信ケーブルＬと、第１の通信ケーブルＱ、具体的には量子通信ケーブルとを介して互いに接続されている。本発明の本実施形態では、端末装置Ａは、第１の通信ケーブルＱを介して信号を端末装置Ｂに送信可能な送信装置を有している。端末装置Ｂは、第１の通信ケーブルＱを介して端末装置Ａから出力された信号を受信可能な受信装置を有している。
【００１８】
第１の通信ケーブルＱを介して送信される信号として、典型的には、極めて少数の光子だけによって表される量子信号が使用される。量子通信の範囲では、次の理由により、アタッカーを検出可能である。すなわち、個々の信号を第１の通信ケーブルＱを介して読み出す際に、妨害がケーブルに作用し、そのため当該信号は受信用の端末装置Ｂに全く到達しないか、又は、単に妨害と共に到達するからである。しかしながら、アタッカーも完全な信号をコピーすることができない他の信号を、通信ケーブルＱを介して送信することも可能である。
【００１９】
信号として、好ましくは第１の端末装置Ａから、ランダムなデータ信号が、第１の通信ケーブルＱを介して送信される。これらのデータ信号はまた、鍵ｋＡとして保存される。第２の端末装置Ｂは、この第１の通信ケーブルＱを介して受信されたデータ信号を、鍵ｋＢとして保存する。
【００２０】
また、鍵を配布する際に、信号を生成する端末装置Ａが、信号を生成する個々の光子の極性を常に交互に反転させて送信するように構成されていることが可能である。この場合、端末装置Ｂも、その受信機を様々な極性に設定可能であり、ここで、送信された光子の極性は、第２の端末装置Ｂにおける受信装置の極性に一致していない。信号送信後に初めて、比較ステップにおいて、両端末装置Ａ、Ｂは、第１の端末装置Ａから送信された光子の極性が第２の端末装置Ｂの受信装置の極性と一致する信号成分を互いに調整する。端末装置Ａから送信された信号成分の極性が第２の端末装置Ｂの受信装置の極性に一致しない残りの信号成分は、廃棄される。両端末装置Ａ、Ｂにおいて、２つの極性方向が設けられている場合、鍵の形成を提供可能な信号の情報内容は半分に低減される。
【００２１】
比較を行うために、鍵の伝送後に、両端末装置は、それぞれが利用している極性方向を交換して、これによって、各装置において存在する信号成分又は鍵について、どのビットが、互いに調整された送信装置及び受信装置によって送信されたかを確認可能である。各鍵の残りのビットは廃棄される。使用される各極性は、信号が第１の端末装置Ａから第１の通信ケーブルＱを介して第２の端末装置Ｂに送信された後に初めて交換される。ここで、特に有効な利点は、送信及び受信のそれぞれで使用される極性方向を交換することにより、アタッカーには、交換された鍵についての如何なる情報も提供されない点である。
【００２２】
この初期ステップである鍵比較ステップの後、両端末装置Ａ、Ｂのそれぞれにおいて、鍵ｋＡ、ｋＢが存在する。ケーブルの伝送特性が完璧でないこと、及び、生じ得るアタッカーの影響により、鍵ｋＡ、ｋＢは同一ではない。
【００２３】
次に、第１のステップにおいて、両端末装置のうちの一方だけ、ここでは第１の端末装置Ａが、当該端末装置に存在する鍵ｋＡに基づき、チェックサムｓＡを生成する。このチェックサムの形成は、様々な方法で行うことが可能である。ここで、本実施形態では、特に単純な数値処理を導く形態を選択する。この際、鍵ｋＡを、多数の単独ビットを含むビットベクトルと見なす。さらに、両端末装置Ａ、Ｂの間で、所定のサイズの公知のチェック行列Ｐが取り決められる。当該チェック行列Ｐは、任意のアタッカーにも公知であり得る。
【００２４】
チェックサム形成の範囲で使用されるチェック行列Ｐは、鍵ｋＡの行ベクトルにおける要素の数と一致する数の行を有している。チェック行列Ｐは、チェックサムｓＡの列ベクトルにおける所望の入力値の数と一致する数の列を有している。チェック行列の具体的かつ好ましい形成方法は、David J.C. MacKayによる「Information Theory, Inference, and Learning Algorithms」（47章においてLDPCコードについての考察）に詳細に示されている。
【００２５】
チェックサムベクトルｓＡの形成のために、チェック行列Ｐと、ここでは行ベクトルとして示される鍵ベクトルｋＡとの間の行列ベクトル積が行われ、これによって行チェックサムベクトルｓＡが得られる。本実施形態では、説明を単純にするために、二値ベクトルを、鍵ｋＡ、二進数で埋められたチェック行列Ｐ、及び、二進数で埋められたチェックサムｓＡとしての列ベクトルに、使用する。行列ベクトル積の範囲において、個々の二進数の乗算が必要な場合、ＡＮＤ演算を使用する。行列ベクトル積の範囲において、加算が必要な場合、加算される各値にＸＯＲ演算を行う。このような、乗算及び加算として演算ＡＮＤ及びＸＯＲを有する値０及び値１による構造は、体を形成し、数学においてはガロア体ＧＦ２とも呼ばれる。
【００２６】
ここで使用したガロア体ＧＦ２の代わりに、チェックサム又はチェック行列の他の線形構造、具体的には鍵の要素とは別のガロア体を使用してもよい。これらの構造は、ＧＦ２のように、体の特性を有し、具体的には、加算及び乗算の可能性も提供する。
【００２７】
この行列ベクトル積の結果として、チェックサムｓＡが得られ、当該チェックサムｓＡは、こちら側では、以下において行ベクトルとして扱われる。
【００２８】
第１の端末装置Ａは、このようにして得られた第１のチェックサムｓＡを、さらなる通信ケーブルＬを介して、第２の端末装置Ｂに送信する。そして、第２の端末装置Ｂ側は、当該装置に存在する鍵ｋＢに基づき、第１の端末装置Ａと同じように、チェックサムｓＢを形成する。その後、第２の端末装置Ｂは、両方のチェックサムｓＡ及びｓＢ間の差分として、差分ｓｅｒｒを形成する。
Ｓｅｒｒ＝ＳＡ−ＳＢ＝（ｋＡ−ｋＢ）×Ｐ＝ｋｅｒｒ×Ｐ
【００２９】
両チェックサム間の直接差分を形成する代わりに、チェックサム及び両方の鍵に線形に依存する他の関数であって、両方の鍵が一致すると、所定の値、特に零ベクトルをもたらす関数を使用してもよい。
【００３０】
上記した数式から、両チェックサムｓＡ、ｓＢの差分ｓｅｒｒは、具体的には、使用されるガロア体の、その両方の演算に関する直線性により、チェック行列Ｐとベクトルの補正値ｋｅｒｒとの積としても表わされ得ることが分かる。ここで、第２の端末装置Ｂが、この両チェックサムｓＡ、ｓＢの差分ｓｅｒｒを、両端末装置Ａ、Ｂとは異なりこれらから空間的に分離されたサーバＣに潜在的に不安定な通信ケーブルＬを介して送信すると、当該サーバは、両チェックサムｓＡ、ｓＢの差分ｓｅｒｒの知識だけに基づき、補正ベクトルｋｅｒｒを算出する。補正ベクトルｋｅｒｒは、これら両鍵ｋＡ、ｋＢのうちの一方に加算されると、それぞれ別の鍵を生成する。
【００３１】
あるいは、両チェックサムｓＡ、ｓＢが、互いに無関係に、第２の通信ケーブルＬを介してサーバＣに送信され、このサーバＣがチェックサムｓＡ、ｓＢの差分を形成することも可能である。両チェックサムｓＡ、ｓＢの差分の形成は、数値的に、極めて少ないリソースで実現可能であり、その結果、この演算が端末装置Ａ、Ｂのうちの一方によって行われるか、又は、サーバＣによって行われるかは問題ではない。サーバＣの根本的な機能は、両チェックサムｓＡ、ｓＢの差分値ｓｅｒｒから、補正ベクトルｋｅｒｒを形成することである。このために、以下の式が当てはまる。
Ｓｅｒｒ＝ｋｅｒｒ×Ｐ
【００３２】
簡潔に云うと、次のような補正ベクトルｋｅｒｒを求める。すなわち、互いの間で取り決められたチェック行列Ｐに適用されると、両チェックベクトルｓＡ、ｓＢ間の差分ｓｅｒｒに相当するチェックサムを生成する補正ベクトルｋｅｒｒを求める。このような補正方法は、例えば、Robert G. Gallager (1963)の「Low Density Parity Check Codes (PDF). Monograph, M.I.T. Press.」（2013年8月7日に検索）に示されている。このような方法は、特に、極めて短いチェックサムを使用する場合に、極めて演算に手間がかかり得る。
【００３３】
これを行った後、補正値ｋｅｒｒは、設定に応じて、端末装置Ａ、Ｂの一方又は両方に送信される。この例の場合、第２の端末装置Ｂの鍵ｋＢは、補正ベクトルｋｅｒｒを加算することにより、第１の端末装置Ａの鍵ｋＡに相当するように調整される。あるいは、補正値ｋｅｒｒを、単に第１の端末装置Ａの鍵ｋＡに加算して、第２の端末装置Ｂの鍵に相当する値を有する鍵ｋＡ’を、第１の端末装置Ａにおいて得てもよいことは明らかであろう。信号の生成時には、通常、ランダム信号が常に選択されるので、第１の通信ケーブルＱを介して送信された値を正確に再構成する必要はない。
【００３４】
端末装置Ａ、Ｂにおける鍵ｋＡ、ｋＢを一致させた後、次の任意のステップにおいて、潜在的なアタッカーが、傍受時に得た送信されたチェックサム及び情報により、使用される鍵ｋＡ、ｋＢの個々の特性を認識することができるかもしれない点を考慮する。ここで、個々の鍵ｋＡ、ｋＢのビット数が、場合によっては公知の、いずれにしても端末装置Ａ、Ｂの間で予め定められた手法で、少なくともチェックサムｓＡ、ｓＢのビット数に相当するビット数だけ低減されると、潜在的なアタッカーは、伝送されたチェックサムｓＡ、ｓＢから、鍵ｋＡ、ｋＢについて情報をほとんど得ることができない。
【００３５】
鍵を含む信号を生成する方法について、複数の様々な実施変形例が存在する。これらの信号は、好ましくは量子信号であり得るが、欠陥のある第１の通信ケーブルＱを介して伝送される、具体的にはアタッカーが最適にコピーできない別の信号であってもよい。
【００３６】
典型的には、同様に、第２の端末装置Ｂが、通信ケーブルＱを介して第１の端末装置Ａに信号を送信してもよく、当該信号は、第１の端末装置Ａによって受信される。ここでもまた、両端末装置Ａ、Ｂで得られる鍵ｋＡ、ｋＢは、互いに異なる。
【００３７】
その他にも、量子信号である信号を、第３の位置から、この場合量子通信ケーブルとして構成された第１の通信ケーブルＱを介して両端末装置Ａ、Ｂに送信してもよい。この場合、典型的には、互いに絡み合った光子が、第１の通信ケーブルＱを介して送信され、その結果、両端末装置Ａ、Ｂにおいて、それぞれ、互いに対応する信号が確認される。
【００３８】
また、本発明の範囲において、両端末装置Ａ、Ｂはそれぞれ、別々のチェックサムを形成してもよく、これらは、潜在的に不安定な第２の通信ケーブルＬを介して、サーバＣに送信される。この変形例では、いずれの場合も、サーバ自体がチェックサムの差分を算出する。
【００３９】
さらに、両端末装置Ａ、Ｂ間で、メッセージが交換されてもよく、当該メッセージは、いずれも、対称暗号化方法によって端末装置Ａ、Ｂにおいて記憶され一致された鍵ｋＡ、ｋＢを使用して保護されている。
【００４０】
具体的には、メッセージの信頼性を、鍵に添付されたハッシュ値を形成することによって改善することも可能である。ここで、両端末装置Ａ、Ｂ間で、いずれも１つのハッシュ値が添付されたメッセージが交換される。前記ハッシュ値は、所定の手法で鍵から、及び、メッセージにおいて伝送される情報から生成される。その後、メッセージは、第２の通信ケーブルＬを介して伝送される。受信を行う各端末装置Ａ、Ｂは、メッセージを受信すると、送信されたハッシュ値が、この同じ所定の手法で鍵から、及び、メッセージにおいて送信される情報から生成されたものであるかどうかを判定する。そうである場合、メッセージの信頼性が確認され、メッセージは、正当なものであると見なされる。
【図１】
0006975251.tif 000002