説明

暗号化/復号化キーを生成する方法

本発明は、暗号化/復号化キーを生成する方法に関し、とりわけ対称暗号化、すなわち、同一のキーが暗号化および復号化の双方に使用される場合に用いられるワンタイム暗号化/復号化キーを生成する方法に関する。キー生成を開始するために、第1ノード(A)は、中央サーバ(2)に対して第2ノード(B)との通信を設定するための要求を送信する。中央サーバ(2)は双方のノード(A,B)にキー生成ファイルを送信する。各ノードは異なる中間データセット、すなわち第1および第2データセットを生成する。第1ノード(A)によって生成された第1データセットは第2ノード(B)に送信され、第2ノード(B)はこのデータセットに基づいて第3データセットを生成し、第3データセットは第1ノードに送信される。ノード(A)における第1暗号キーの生成は、第3中間データセットと第1中間データセットとの間におけるビット単位の比較に基づき、第2暗号キーの生成は第1中間データセットと第2中間データセットとの間におけるビット単位の比較に基づく。前記第1暗号キーおよび第2暗号キーは同一である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化/復号化キーを生成する方法に関し、とりわけ対称暗号化、すなわち、暗号化および復号化の双方に同一のキーが使用される場合に用いられるワンタイム暗号化/復号化キーを生成する方法に関する。本発明はさらに、コンピュータ上で実行されると前記方法を実施するコード手段を含むコンピュータプログラム、および該製品がコンピュータ上で実行されると前記方法を実施する、コンピュータ可読媒体上に格納されたプログラムコード手段を含むコンピュータプログラム製品に関する。
【背景技術】
【0002】
暗号法において、キーは、暗号アルゴリズムの関数の出力を決定する情報である。キーなしでは、アルゴリズムは結果を生じないであろう。暗号化において、キーは、平文の暗号文への特定の変換を規定し、あるいは復号の間にその逆を規定する。キーはまた、デジタル署名スキームおよびメッセージ確認コードのような他の暗号アルゴリズムにも用いられる。
【0003】
セキュリティーシステムを設計する際には、暗号アルゴリズムの詳細が攻撃者に既に利用可能であると仮定することが賢明であるとしばしば言われている。この原理はケルクホフスの原理として知られており、したがって、キーの機密性のみがセキュリティを提供する。この原理は、広く使用されているアルゴリズムの詳細を秘密にすることは困難であるという実際に基づいている。キーは暗号化アルゴリズムと比べて小さな情報であることが多いので、多くの場合、キーは保護することがより容易である。しかしながら、キーを秘密にすることが困難であることもあり、攻撃者が何らかの方法でキーを得た場合には、彼または彼女は暗号化されたデータから元のメッセージを回復させ得る。
【0004】
暗号化および復号の双方に同一のキーを用いる暗号化アルゴリズムは、上述したように、対称キーアルゴリズムとして知られている。また、1つは暗号化するため、1つは復号するためである一対のキーを用いる非対称キーアルゴリズムも存在する。これらの非対称キーアルゴリズムは、秘密キーを1箇所のみにおいて保持した状態で、1つのキーが公開されることを可能にする。それらの非対称キーアルゴリズムは、たとえ対応する公開キーが知られても、秘密キーを見つけ出すことは非常に困難となるように設計されている。公開キー技術の使用者は、それらの秘密キーを秘密にした状態で、彼らの公開キーを公開することができ、誰でも彼らに暗号化されたメッセージを送信できるようにする。
【0005】
キーが対称暗号化アルゴリズムと協働して「安全」であるためには、通常は80ビットが最小であると見なされており、一般に128ビットのキーが用いられ、非常に強力であるとみなされている。公開キー暗号法に用いられるキーはいくつかの数学的構造を有する。例えば、RSAシステムに用いられる公開キーは2つの素数の積である。したがって、公開キー方式は同等なセキュリティのレベルの対称方式よりも長いキーの長さを必要とする。3072ビットは、128ビットの対称暗号と同等なセキュリティを有することを目標とする、ファクタリングおよび整数離散対数に基づいたシステムに対する提案されているキーの長さである。
【0006】
上述したように、それらが対称アルゴリズムに基づいたキーおよび非対称アルゴリズムに基づいたキーの双方に対して十分に長い場合には、高度の安全性を有したキーを生成することが可能である。しかしながら、キー配布に問題がある。例えば、2人の当事者が対称暗号法を用いて互いと通信したいと望む場合、それらの当事者は、最初にどのキーを用いるかを決定し、その後、そのキーを一方の当事者から他方の当事者に安全に配布しなけ
ればならない。更に、そのキーは双方の当事者によって秘密にされたままでなければならない。侵入者がキーを見つけ出し得る危険性はキーが使用されている時間につれて増大する。従って、キーは、通常は限られた時間、例えば6か月または12か月、の間にのみ有効である。その時間の後には、新たなキーを配布しなければならない。
【0007】
また、非対称暗号法の暗号化のためのキーの配布も、2人の当事者が互いと通信したいと望む場合に、キー配布に関する問題に遭遇する。情報を両方向に送信するために、それらの当事者は公開キーを互いと交換する必要がある。またこの場合、前記キーは、通常、それらのキーが有効である限られた時間を有する。様々な当事者と通信する当事者にとって、有効な公開キーの配布の管理は厄介であり得る。典型的な例は、あなたが別の当事者にある秘密情報を至急送信する必要があるときにキーの有効性が終了していたり、公開キーをまだ交換していなかったりすることである。
【0008】
別の種類の暗号法は、量子力学を用いて安全な通信を保証する量子暗号法である。前記暗号法は、2人の当事者が当事者によってのみ知られる共用ランダムビット列を生成することを可能する。前記共用ランダムビット列はメッセージを暗号化および復号するキーとして用いられ得る。量子暗号法の重要かつ特有な特性は、2人の通信中の使用者がキーの知識を得ようとする任意の第三者の存在を検知することができることである。これは量子力学の基本的な側面の結果である、すなわち、量子系を測定するプロセスはその系に影響を与える。キーをなんとかして盗聴しようとする第三者は量子系を測定しなければならないので、検知可能な異常が存在するであろう。したがって、特定の数学関数の計算上の難しさに依存し、盗聴の指摘またはキーのセキュリティの保証を提供することができない従来の公開キー暗号法とは対照的に、量子暗号法のセキュリティは量子力学の基礎に依存している。
【0009】
量子暗号法は、任意のメッセージデータを送信するためではなく、キーを生成し配布するためにのみ用いられる。その後、このキーは任意の選択された暗号化アルゴリズムと共に用いられて、メッセージを暗号化および復号することができ、次いで、そのメッセージは標準的な通信チャネルを介して送信され得る。
【0010】
量子暗号法によるキー生成は、キーを生成し配布するために非常に安全な方法を提供するとしても、それには大きな難点もある。量子キーが配布され得る距離は、量子力学の特性により、約100キロメーターに限られている。
【0011】
上述の問題を考慮すると、暗号キーを生成し配布する簡単な方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0012】
本発明によって解決される課題は、互いと通信したいと望むノードに配布される必要がない、つまりキーがノード自身によって生成される、暗号キーを生成することである。
【課題を解決するための手段】
【0013】
この課題は、第1態様によれば、第1ノードと第2ノードとの間の安全な通信に使用可能である暗号化/復号化キーを生成する方法によって解決される。前記方法は、
第1ノードAから中央サーバに対して第2ノードとの通信を設定するための要求を送信する工程と、
第1ノードからの要求に応答して、中央サーバから、第1ノードに第1キー生成ファイルを送信し、第2ノードに第2キー生成ファイルを送信する工程と、
第1ノードにおいて第1キー生成ファイルを処理し、第2ノードにおいて第2キー生成ファイルを処理する工程と、
第1ノードにおいて第1中間データセットを生成し、第2ノードにおいて第2中間データセットを生成する工程と、
第1中間データセットを第1ノードから第2ノードに送信する工程と、
第1中間データセットのビットを第2中間データセットの対応するビットと比較する工程と、
比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することによって、第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいた新たな第3中間データセットを形成する工程と、
第3中間データセットを第2ノードから第1ノードへ送信する工程と、
第3中間データセットのビットを第1中間データセットの対応するビットと比較する工程と、
第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号化キーを生成する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセットのビットを無視することによって、第2暗号化キーを生成する工程とを有し、前記第1暗号化キーおよび第2暗号化キーは同一である。
【0014】
本発明の第2態様によれば、前記課題は、第1ノードと第2ノードとの間の安全な通信に使用可能である、第1ノードにおいて暗号化/復号化キーを生成する方法によって解決される。第2態様による方法は、
中央サーバに対して第2ノードとの安全な通信を設定するための要求を送信する工程と、
前記要求に応答して、中央サーバから第1キー生成ファイルを受信する工程と、
第1キー生成ファイルを処理する工程と、
第1中間データセットを生成する工程と、
第1中間データセットを第2ノードに送信する工程と、
第2ノードから第3中間データセットを受信する工程と、
第3中間データセットのビットを第1中間データセットの対応するビットと比較する工程と、
第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号化キーを生成する工程とを有する。
【0015】
本発明の第3態様によれば、前記課題は、第1ノードと第2ノードとの間の安全な通信に使用可能である、第2ノードにおいて暗号化/復号化キーを生成する方法によって解決される。第3態様によれば、前記方法は、
第1ノードと第2ノードとの間の安全な通信を開始するための第1ノードからの要求に応答して、中央サーバから第2キー生成ファイルを受信する工程と、
第2キー生成ファイルを処理する工程と、
第2中間データセットを生成する工程と、
第1ノードから第1中間データセットを受信する工程と、
第1中間データセットのビットを第2中間データセットの対応するビットと比較する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することによって、新たな第3中間データセットを形成する工程と、
第3中間データセットを第1ノードに送信する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセットのビットを無視することによって、第2暗号化キーを生成する工程とを有する。
【0016】
本発明の好ましい実施形態によれば、第1キー生成ファイルおよび第2キー生成ファイルを送信する工程はまた、各キー生成ファイルに添付されたメタデータをそれぞれ送信することを含む。
【0017】
さらに本発明の別の好ましい実施形態において、前記メタデータは、第1暗号化キーおよび第2暗号化キーの双方の生成に用いられる定数を含む。前記メタデータはまた、暗号化キーの長さについての情報も含み得る。
【0018】
別の実施形態において、前記キーの長さは、所定間隔内においてランダムに生成され得る。
本発明の第4態様によれば、該プログラムがコンピュータ上で実行されるときに前記方法の工程を実施するためのコード手段を含むコンピュータプログラムが提供される。
【0019】
本発明の第5態様によれば、該製品がコンピュータ上で実行されるときに前記方法の工程を実施するための、コンピュータ可読媒体上に格納されたプログラムコード手段を含むコンピュータプログラム製品が提供される。
【0020】
本発明の大きな利点は、互いと通信したいと望むノードにおいてキーが生成され、したがって、キー配布の必要がないことである。
本発明は添付の図面に関して下記に記載される。
【図面の簡単な説明】
【0021】
【図1】本発明による暗号キーを生成する方法を示すフローチャート。
【図2】中央サーバから通信したいノードへ送信されるキー生成ファイルの例を示す図。
【図3】第1および第2中間データセットの生成のために用いられる定数の例を示す図。
【図4】第1ノードAにおける第1中間データセットおよび第2ノードBにおける第2中間データセットの例を示す図。
【図5】第1中間データセットと第2中間データセットとの間のマッチング工程および第2ノードBのための暗号キーの生成の例を示す図。
【図6】第1ノードAのための暗号キーの生成の例を示す図。
【発明を実施するための形態】
【0022】
今度は本発明の様々な実施形態の助けにより本発明について詳細に説明する。前記実施形態は、本発明を理解するための例および説明のためのものであり、限定するものではないと見なされるべきである。
【0023】
図1は、本発明に従って暗号キーを生成する方法を示す。方法全体は、安全な暗号化/復号化キーを用いることにより、互いとの安全な通信を設定したいと望む2つのノードAおよびノードBによって行われる。更に、前記方法は中央サーバ2の支援によって実行さ
れる。図1において、第1ノードAは左手側に示され、第2ノードBは右手側に示されている。すなわち、第1ノードAによって実施される工程は、破線の左手側に示されており、第2ノードBによって実施される工程は、破線の右手側に示されている。実際には、第1ノードAはコンピュータであり得、その使用者は該使用者の銀行にあるコンピュータ、すなわち第2ノードB、との安全な通信を開始することを望み得る。当業者にとって明らかなように、第1ノードAおよび第2ノードBの双方は互いと通信することを望むいかなる通信装置であってもよい。
【0024】
中央サーバ2は、ある種のセキュリティ証明書の助けにより、安全な方法でデータを送受信することができる任意の通信装置であり得る。ノードが本発明によるキー生成方法を用いることができるためには、ノードは中央サーバ2と通信することを許可される必要がある。したがって、中央サーバ2は、キーの生成方法を用いることを許可されたすべての使用者を記録する(keeps track)。上述したように、中央サーバ2とノードとの間または
その逆の通信は、ある種のセキュリティ証明書を用いることにより安全である。好ましくは、X509証明書またはその他同種のものが安全な通信に用いられる。
【0025】
ここで本発明による暗号化/復号化キーを生成する方法を例として説明する。該方法は、あるノード、この例では第1ノードAが、中央サーバ2に対して第2ノードBとの通信を設定するための要求を送信することから開始する。中央サーバ2は、第1ノードAが第2ノードBとの通信を設定することを許可されているか、並びに第2ノードBが中央サーバ2および第1ノードAと通信することを許可されているかを第1に確認する。双方のノードが互いとの通信を開始することを許可されている場合には、中央サーバ2は、第1ノードAからの要求に応答して、第1ノードAに第1キー生成ファイルを送信し、第2ノードBに第2キー生成ファイルを送信する。
【0026】
図2は、中央サーバから第1ノードAおよび第2ノードBに送信されるキー生成ファイルの例を示している。前記ファイルは、第1ノードAおよび第2ノードBによって実行されると、暗号化/復号化キーを生成するプロセスファイルを含む。下記で説明するが、第1ノードAにおけるプロセスと第2ノードBにおけるプロセスとは異なるので、第1ノードAに送信されるプロセスファイルは、第2ノードBに送信されるプロセスファイルとは異なる。図2から明らかなように、キー生成ファイルはまたメタデータM1、M2・・・Mnも含んでいる。該メタデータは、暗号化/復号化キーの生成のために用いられる情報を含んでもよく、同一のメタデータが第1ノードAおよび第2ノードBの双方に送信される。前記メタデータの例は、キーを生成するために用いられる定数である。図3は、キー生成の間に用いられる第1中間データセットおよび第2中間データセットの生成のために使用されるそのような定数の例を示す。前記メタデータはまた、双方のキー生成ファイルが同一の起源を有するかを比較するために用いられる時間タグを含んでもよい。
【0027】
更に、前記メタデータはまた、用いられるキーの長さ、またはキーを生成するために用いられるべきキーのビットについての情報を含んでいてもよい。当業者にとって明らかなように、さらにキー生成プロセスのセキュリティを増大するために用いられ得る多くの他のメタデータが存在し得る。
【0028】
前記キー生成ファイルが第1ノードAおよび第2ノードBによって受信されると、各ノードは前記ファイルの処理を開始する。最初に、図3に示すような定数の値を用いることにより、第1ノードAは第1中間データセットを生成し、第2ノードBは第2中間データセットを生成する。この場合、前記定数は、それぞれ文字に関連付けられた4バイナリビットを含んでいる。定数の長さは任意で変化してもよく、前記ビットは文字、図、ギリシャ文字(greek symbols)などに関連付けられていてもよい。
【0029】
第1ノードAの第1中間データセットおよび第2ノードBの第2中間データセットの例を図4に示す。中間データセットは、この場合には文字A〜Dの乱数列(random sequence)を生成するために、ブルム・ブルム・シューブ(Blum Blum Shub)、フォーチュナ(Fortuna)、またはメルセンヌ ツイスター(Mersenne twister)のような擬似乱数アルゴリズムを用いたある種の既知の擬似乱数生成器を用いることにより生成される。文字の乱数列は、図4の第1中間データセットおよび第2中間データセットのヘッダー内に示されている。したがって、中間データセットを生成するために、文字の列は、最初は疑似ランダムに決定され、その後、図3の定数に従って文字に関連付けられた正しい値が割り当てられる。この割り当てが中間データセットに対して例えばゼロのみまたは1のみを生成するといった結果になった場合には、この結果は除去され得、新たな乱数列が生成される。
【0030】
第1中間データセットおよび第2中間データセットの双方が疑似ランダムに生成されるので、それらの中間データセットは同一にはならない。この例における中間データセットの長さは、例において本発明を容易に示すためにわずか8ビットである。しかしながら、実際には、中間データセットの長さは、典型的には64〜2048ビットである。ビット長は上述したようなメタデータの一部であってもよいし、ノードから新たな要求がなされる毎に中央サーバ2によってランダムに設定されてもよい。
【0031】
第1中間データセットおよび第2中間データセットの生成の後、第1ノードは、第1中間データセットを第2ノードBに、保護なしで、すなわち公に、送信する。
第2ノードBは第1中間データセットおよび第2中間データセットを互いと比較する。比較の結果は図5に示した表中においてマッチ1と呼ばれる。値Aおよび値Bは、第1中間データセットおよび第2中間データセットにそれぞれ対応する。前記比較はビット単位の比較であり、第1データセットビットおよび第2データセットビットに対する値がそれぞれ等しい場合には結果は真(T)であり、それらが等しくない場合には偽(F)である。比較の結果マッチ1は、比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することにより、新たな第3中間データセット値1を生成する。この場合、比較したビットが等しい場合には1が用いられ、前記ビットが等しくない場合には0が用いられる。しかしながら、それは本発明から逸脱することなく反対にすることもできる。
【0032】
次いで第3中間データセットは、第2ノードBから第1ノードAへ公に送信される。次に第1ノードAは、第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号キーを生成する。図6に示したこの場合、第1値は1に対応し、第2値は0に対応する。図6から明らかなように、キーの生成の間に4ビットが無視されたので、キーは、元の8ビットの代わりに、4ビットからなる。
【0033】
上述したように、第1中間データセットおよび第3中間データセットの双方は、公に送信される。たとえそれらのデータセットが傍受されたとしても、第3データセットにおける1の値は、実際に値1を意味するのではなく、単に第1データセットと第2データセットとが同一の値を有していることを意味しているに過ぎないため、第三者がこのデータを用いてキーを生成する方法は存在しない。したがって、第3データセットにおける1は、実際には1または0のいずれかであり得る。
【0034】
ノードBでは、第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセット
のビットを無視することによって、第2暗号キーが生成される(図5参照)。見て分かるように、前記第1暗号キーおよび第2暗号キーは同一のキーである。その後、前記キーは、第1ノードAと第2ノードBとの間で送信される情報の暗号化/復号に用いられ得る。本発明による方法によって生成されたキーと共に、いかなる既知の暗号化方法を用いてもよい。したがって、本発明は、暗号化/復号がどのようになされるかに関するものではなく、暗号キーの生成に関するものである。生成されたキーは、第1ノードと第2ノードとの間の通信セッションが活動状態である限り有効であるであろう。更に、キーが第1ノードAおよび第2ノードBによって生成されたときには、中央サーバによる受信したキー生成ファイルは各ノードにおいて削除されるであろう。
【0035】
現在、本発明の方法全体について詳細に説明してきた。しかしながら、本発明は、第1ノードAにおいて暗号化/復号化キーを生成する方法にも関する。この方法は上述した方法全体の部分集合であり、従って、簡潔に説明する。第1モードによって実行される方法は、第中央サーバ2に対して2ノードBとの安全な通信を設定するための要求を送信することから開始する。その後、第1ノードは、中央サーバ2から第1キー生成ファイルを受信して、そのファイルの処理を開始する。これは、上述したように、第2ノードBに送信される第1中間データセットを生成する。
【0036】
その後、第1ノードAは、第2ノードBから第3中間データセットを受信し、第3中間データセットのビットを第1中間データセットの対応するビットと比較する。第1ノードAは、第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号化キーを生成する。
【0037】
また、第2ノードBも方法全体の部分集合を実行する。その部分集合について簡潔に説明する。第2ノードBにおいて暗号化/復号化キーを生成する方法は、第2ノードBが中央サーバ2から第2キー生成ファイルを受信し、該ファイルの処理を開始することから開始する。これは第2の中間データセットを生成する。その後、第2ノードBは第1ノードAから第1中間データセットを受信し、第1中間データセットのビットを第2中間データセットの対応するビットと比較する。その後、第2ノードBは、第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することによって、新たな第3中間データセットを生成する。その後、第3中間データセットは第1ノードAに送信される。
【0038】
次に第2ノードBは、第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセットのビットを無視することによって、第2暗号化キーを生成する。
【0039】
したがって、上述した方法により、暗号キーをそれらが用いられる場所、つまりノードにおいて、容易かつ安全な方法で、生成することが可能である。もはやキーを配布する必要性が存在しないので、これは非常に有用である。前記キーはワンタイム型のものであり、1つの通信セッションに対して、そのセッションが活動している限りにのみ有効であるであろう。更に、前記キーは2つの離れたノードにおいて2つの独立した処理において生成される。
【0040】
上記の方法は非常に安全であると考えられるとしても、キー生成ファイルに添付される
メタデータを使用することにより、安全性がさらに改善され得る。例えば、前記メタデータは、キー生成プロセスの結果のすべての第3または第2ビットのみがキーとして用いられるべきであることを提示してもよい。メタデータの同様の使用はまた、キーの生成プロセスの間に第1ノードAおよび第2ノードBが互いと通信する場合に、すべての第3または第2ビットのみが読み取られるべきであると提示することもできる。
【0041】
本発明について好ましい実施形態に関連して説明してきたとしても、本発明がその実施形態に限定されるものではないことが理解されるべきである。多くの他の実施形態および変形例が同様に本発明の範囲内にあり、それは添付の特許請求の範囲によって最良に定義される。

【特許請求の範囲】
【請求項1】
暗号化/復号化キーを生成する方法であって、該方法は第1ノード(A)と第2ノード(B)との間における安全な通信のために使用可能であり、該方法は、
第1ノード(A)から中央サーバ(2)に対して第2ノード(B)との通信を設定するための要求を送信する工程と、
第1ノード(A)からの要求に応答して、中央サーバ(2)から、第1ノード(A)に第1キー生成ファイルを送信し、第2ノード(B)に第2キー生成ファイルを送信する工程と、
第1ノード(A)において第1キー生成ファイルの処理を開始し、第2ノード(B)において第2キー生成ファイルの処理を開始する工程と、
第1ノード(A)において第1中間データセットを生成し、第2ノード(B)において第2中間データセットを生成する工程と、
第1ノード(A)から第2ノード(B)に第1中間データセットを送信する工程と、
第1中間データセットのビットを第2中間データセットの対応するビットと比較する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することによって、新たな第3中間データセットを形成する工程と、
第3中間データセットを第2ノード(B)から第1ノード(A)へ送信する工程と、
第3中間データセットのビットを第1中間データセットの対応するビットと比較する工程と、
第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号キーを生成する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセットのビットを無視することによって、第2暗号キーを生成する工程とを有し、前記第1暗号キーおよび第2暗号キーは同一である、方法。
【請求項2】
第1ノード(A)に第1キー生成ファイルを送信し、第2ノード(B)に第2キー生成ファイルを送信する工程は、各キー生成ファイルに添付されたメタデータをそれぞれ送信することも含む、請求項1に記載の方法。
【請求項3】
前記メタデータは第1暗号キーおよび第2暗号キーの双方の生成に用いられる定数を含む、請求項2に記載の方法。
【請求項4】
前記メタデータは暗号キーの長さについての情報を含む、請求項2または3に記載の方法。
【請求項5】
前記暗号キーの長さを所定間隔内においてランダムに生成する工程をさらに含む、請求項4に記載の方法。
【請求項6】
第1ノード(A)において暗号化/復号化キーを生成する方法であって、該方法は第1ノード(A)と第2ノード(B)との間における安全な通信に使用可能であり、該方法は、
中央サーバ(2)に対して第2ノード(B)との安全な通信を設定するための要求を送
信する工程と、
前記要求に応答して、中央サーバ(2)から第1キー生成ファイルを受信する工程と、
第1キー生成ファイルを処理する工程と、
第1中間データセットを生成する工程と、
第1中間データセットを第2ノード(B)に送信する工程と、
第2ノード(B)から第3中間データセットを受信する工程と、
第3中間データセットのビットを第1中間データセットの対応するビットと比較する工程と、
第3中間データセットと第1中間データセットとの間のビット単位の比較に基づいて、第3中間データセットの対応するビットが第1値に設定されている場合には第1データセットのビットの値を維持し、第3中間データセットの対応するビットが第2値に設定されている場合には第1中間データセットのビットを無視することによって、第1暗号キーを生成する工程とを有する、方法。
【請求項7】
前記第1キー生成ファイルを受信する工程は、前記ファイルに添付されたメタデータを受信することも含む、請求項6に記載の方法。
【請求項8】
前記メタデータは第1暗号キーの生成に用いられる定数を含む、請求項7に記載の方法。
【請求項9】
前記メタデータは暗号キーの長さについての情報を含む、請求項7または8に記載の方法。
【請求項10】
第2ノード(B)において暗号化/復号化キーを生成する方法であって、該方法は第1ノード(A)と第2ノード(B)との間における安全な通信に使用可能であり、該方法は、
第1ノード(A)からの第1ノード(A)と第2ノード(B)との間の安全な通信を開始するための要求に応答して、中央サーバ(2)から第2キー生成ファイルを受信する工程と、
第2キー生成ファイルを処理する工程と、
第2中間データセットを生成する工程と、
第1ノード(A)から第1中間データセットを受信する工程と、
第1中間データセットのビットを第2中間データセットの対応するビットと比較する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、比較したビットが等しい場合には第1値を設定し、比較したビットが等しくない場合には第2値を設定することによって、新たな第3中間データセットを形成する工程と、
第3中間データセットを第1ノード(A)に送信する工程と、
第1中間データセットと第2中間データセットとの間のビット単位の比較に基づいて、第1中間データセットの対応するビットが等しい場合には第2データセットのビットの値を維持し、比較したビットが等しくない場合には、第2中間データセットのビットを無視することによって、第2暗号キーを生成する工程とを有する、方法。
【請求項11】
前記第2キー生成ファイルを受信する工程は、前記ファイルに添付されたメタデータを受信することも含む、請求項10に記載の方法。
【請求項12】
前記メタデータは第2暗号キーの生成に用いられる定数を含む、請求項11に記載の方法。
【請求項13】
前記メタデータは暗号キーの長さについての情報を含む、請求項11または12に記載
の方法。
【請求項14】
該プログラムがコンピュータ上で実行されるときに請求項1乃至13のいずれか1項に記載の工程を実施するためのコード手段を含むコンピュータプログラム。
【請求項15】
該製品がコンピュータ上で実行されるときに請求項1乃至13のいずれか1高に記載の方法を実施するための、コンピュータ可読媒体上に格納されたプログラムコード手段を含むコンピュータプログラム製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−532486(P2012−532486A)
【公表日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2012−517459(P2012−517459)
【出願日】平成22年7月5日(2010.7.5)
【国際出願番号】PCT/SE2010/050780
【国際公開番号】WO2011/002412
【国際公開日】平成23年1月6日(2011.1.6)
【出願人】(511132328)ケリセック アーベー (1)
【氏名又は名称原語表記】KELISEC AB
【Fターム(参考)】