(57)【特許請求の範囲】
【請求項１】
ネットワークで秘密または鍵を生成する方法であって、前記ネットワークは、少なくとも第１のノードおよび第２のノードと、少なくとも前記第１のノードと前記第２のノードの間の共有の伝送チャネルとを有し、前記第１のノードおよび前記第２のノードはそれぞれ、少なくとも第１の値および第２の値を前記伝送チャネルに与えることが可能である、前記方法において、
前記伝送チャネルでの互いの十分に同期した伝送のために、前記第１のノードは、第１の値列を生じさせ、前記第２のノードは、第２の値列を生じさせ、前記第１のノードは、前記第１の値列についての情報に基づいて、および、前記伝送チャネルでの前記第１の値列と前記第２の値列との重畳から得られる重畳値列に基づいて、共有の秘密または共有の鍵を生成し、前記第２のノードは、前記第２の値列についての情報に基づいて、および、前記伝送チャネルでの前記第１の値列と前記第２の値列との前記重畳から得られる前記重畳値列に基づいて、前記共有の秘密または前記共有の鍵を生成することを特徴とする、方法。
【請求項２】
前記第１のノードおよび前記第２のノードが、前記伝送チャネルを介した前記第１の値の伝送を促す場合には、前記伝送チャネルでは、前記第１の値に応じた状態が設定され、前記第１のノードもしくは前記第２のノードが、または、前記第１のノードと前記第２のノードの双方が、前記伝送チャネルを介した前記第２の値の伝送を促す場合には、前記第２の値に応じた状態が設定されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記第１の値列は、前記第１のノードで局所的に生成され、前記第２の値列は、前記第２のノードで局所的に生成されることを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記第１の値列と前記第２の値列とは、乱数発生器または疑似乱数発生器を用いて生成される、請求項３に記載の方法。
【請求項５】
前記第１の値列および前記第２の値列はそれぞれ、第１の部分値列および第２の部分値列を有し、前記第１の値が前記第２の値と交換され前記第２の値が前記第１の値と交換されることで、前記第２の部分値列が前記第１の部分値列から得られることを特徴とする、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記重畳値列は、前記第１の部分値列の重畳から得られる第１の重畳部分値列と、前記第２の部分値列の重畳から得られる第２の重畳部分値列とを有し、前記第１のノードおよび前記第２のノードはそれぞれ、前記第１の重畳部分値列と前記第２の重畳部分値列とを結合することを特徴とする、請求項５に記載の方法。
【請求項７】
前記第１のノードおよび前記第２のノードはそれぞれ、前記第１の重畳部分値列と前記第２の重畳部分値列とを、論理和関数を用いて結合することを特徴とする、請求項６に記載の方法。
【請求項８】
前記第１のノードおよび前記第２のノードはそれぞれ、前記第１の重畳部分値列と前記第２の重畳部分値列との前記結合の結果から、自身の値列のどの箇所で、他方のノードの値列の同じ位置の値と同一の値を有するのかを導出し、前記第１のノードおよび前記第２のノードはそれぞれ、導出された箇所を削除し、これによりそれぞれが、短縮された値列を獲得することを特徴とする、請求項６または７に記載の方法。
【請求項９】
前記第１のノードは、自身の短縮された値列を反転させ、これにより前記第２のノードの前記短縮された値列を獲得し、前記第１のノードは、自身の反転させた短縮された値列から、前記共有の秘密または前記共有の鍵を生成し、前記第２のノードは、自身の短縮された値列から、前記共有の秘密または前記共有の鍵を生成することを特徴とする、請求項８に記載の方法。
【請求項１０】
前記ネットワークは、ＣＡＮバスシステム、ＴＴＣＡＮバスシステム、ＣＡＮ−ＦＤバスシステム、ＬＩＮバスシステム、またはＩ２Ｃバスシステムであり、前記第１の値は、リセッシブなバスレベルであり、前記第２の値は、ドミナントなバスレベルである、請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記ネットワークでは、データ伝送のためにオンオフ振幅偏移変調が設けられることを特徴とする、請求項１〜９のいずれか１項に記載の方法。
【請求項１２】
前記第１のノード、前記第２のノード、または、双方のノードは、伝送パラメータを、自身の値列の伝送の間に変更することを特徴とする、請求項１〜９のいずれか１項に記載の方法。
【請求項１３】
前記伝送パラメータは、自身の信号伝送時間、信号伝送開始時間、信号伝送振幅、または、これらの組み合わせである、請求項１２に記載の方法。
【請求項１４】
ネットワークの第１のノードで鍵または秘密を生成する方法であって、前記第１のノードは、伝送チャネルを介して、前記ネットワークの少なくとも１つの第２のノードから情報を受信し、および前記第２のノードへと情報を伝送するよう構成され、前記第１のノードは、少なくとも第１の値および第２の値を前記伝送チャネルに与えて、当該伝送チャネルで検出できるよう構成される、前記方法において、
前記第１のノードは、第１の値列を、前記伝送チャネルでの前記第２のノードによる第２の値列の伝送と十分に同期した伝送のために生じさせ、前記第１のノードは、前記第１の値列についての情報に基づいて、および、前記伝送チャネルでの前記第１の値列と前記第２の値列との重畳から得られる重畳値列に基づいて、秘密または鍵を生成することを特徴とする、方法。
【請求項１５】
少なくとも第１のノードおよび第２のノードと、伝送チャネルとを備えるネットワークであって、前記第１のノードが前記第２のノードと前記伝送チャネルを介して通信可能な前記ネットワークにおいて、前記ネットワークが備えるノードそれぞれは、請求項１〜１３のいずれか１項に記載の方法を実行するよう構成されることを特徴とする、ネットワーク。
【請求項１６】
ノードとして、ネットワークで請求項１４に記載の方法を実行するよう構成された、装置。
【請求項１７】
コンピュータに請求項１〜１４のいずれか１項に記載の方法を実行させるためのプログラム。
【請求項１８】
コンピュータに請求項１〜１４のいずれか１項に記載の方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークで秘密暗号鍵等の秘密を生成する方法に関し、特に、ネットワークの２つの加入者での共通の秘密鍵の生成に関する。ポイントツーポイント接続も、通常ではネットワークとみなされており、本明細書はこの概念も同様に検討する。ここでは、２つの加入者は、共有の伝送媒体を介して通信する。その際に、論理的なビット列（またはより一般には値列）が、対応する伝送方式によって、信号または信号列として物理的に伝送される。基本となる通信システムは、例えばＣＡＮバスでありうる。ＣＡＮバスでは、ドミナント（ｄｏｍｉｎａｎｔ）ビットまたは対応してドミナントな信号、および、リセッシブ（ｒｅｚｅｓｓｉｖ）ビットまたは対応してリセッシブな信号の伝送が設けられ、その際に、ネットワークの一の加入者のドミナントな信号またはドミナントビットが、リセッシブな信号またはリセッシブビットに対して勝つ。関与する全ての加入者が、伝送のためのリセッシブな信号を設ける場合、または、同時に送信する全ての加入者がレセッシブな信号レベルを伝送する場合には、リセッシブな信号に対応する状態が、伝送媒体で設定される。
【背景技術】
【０００２】
世界がネットワーク化されるにつれて、様々な装置間での安全な通信がますます重要となっており、多くの適用分野において、対応する適用が受容されて経済的な成功を収めるための基本的な前提条件となっている。このことには、適用に応じて様々な防護目標が含まれており、すなわち例えば、伝送されるデータの信頼性の保持、関与するノードの相互認証、または、データ整合性の保全が含まれている。
【０００３】
上記の防護目標を達成するために、通常では、一般に２つのカテゴリーに分けられる適切な暗号方式が使用される。すなわち、一方は、送信者と受信者が同一の暗号鍵を有する対称方式であり、他方は、送信者が受信者の公開鍵を用いて（すなわち、潜在的な攻撃者にも分かる可能性がある）伝送すべきデータを符号化するが、復号は理想的に受信者にしか分からない対応する私有鍵を用いて行われる非対称方式である。
【０００４】
非対称的方式には、特に、通常では計算が非常に複雑であるという短所がある。これにより、非対称方式は、例えばセンサ、アクチュエータ等のリソースが限られたノードであって、計算能力が比較的低くてメモリが小さく、例えばバッテリ駆動によりまたはエナジーハーヴェスティング（Ｅｎｅｒｇｙ  Ｈａｖｅｓｔｉｎｇ）を利用してエネルギー効率良く動作すべき上記ノードに限定されている。さらに、データ伝送のために、限られた帯域幅しか提供されないことが多く、これにより、２０４８ビットまたはそれ以上の長さを有する非対称な鍵の交換はさらに魅力がないものとなる。
【０００５】
これに対して、対称方式では、受信者も送信者も同一の鍵を持っていることが保証されなければならない。その際に、これに伴う鍵の管理は、一般に、非常に要求の大きなタスクとなる。移動体通信サービスの分野では、鍵は、例えばＳＩＭカードを用いて携帯電話に導入され、これに対応するネットワークは、ＳＩＭカードの一意の識別子に、対応する鍵を割り当てることが可能である。これに対して、無線ＬＡＮの場合は、通常では、ネットワークの装置で、利用される鍵の手動での入力が（通常ではパスワードの入力により）行われる。ただし、例えばセンサネットワーク、または、他の機械同士の通信システムにおいて、例えばＣＡＮに基づく車両ネットワークにおいても、ノード数が非常に多い場合には、このような鍵の管理はすぐに非常にコストが掛かり、役に立たなくなる。さらに、利用する鍵の変更が全く可能ではなく、または、非常に大きなコストを掛けなければ可能ではないことが多い。
【０００６】
操作に対してセンサデータを防護する方法、および、例えば車両ネットワークでの、通用している暗号化方式を用いたトランザクション認証の保障が、例えば、独国特許出願公開第１０２００９００２３９６号明細書、および、独国特許出願公開第１０２００９０４５１３３号明細書に開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
さらに少し前から、「物理層セキュリティ」（Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）というスローガンの下に、関与するノード間の伝送チャネルの物理特性に基づいて対称方式の鍵が自動的に生成されるという新しい形態によるアプローチが研究され、開発されている。このアプローチでは、上記伝送チャネルの相反性および固有の偶然性が活用される。ただしこのアプローチは、特に有線システムまたは光システムでの適性が限られていることが多い。なぜなら、対応するチャネルは、通常では時間変動が非常に限られており、攻撃者が、例えばモデル形成によって比較的良好に、送信者と受信者との間のチャネルパラメータを推測できるからである。
【課題を解決するための手段】
【０００８】
独立請求項に係る、暗号鍵等の秘密を生成する方法では、手動での介入を全く必要とせず、これにより、２つのノード間の安全な通信関係または通信接続の自動的な確立を可能とする。さらに、本方法は、特に、例えば必要なメモリソースおよび計算能力等の必要なハードウェア設計に関して複雑性が非常に低く、消費電力が低く、所要時間が短い。さらに、本方法では、鍵生成率が非常に高いと共に、エラー確率が非常に低い。
【０００９】
本方法は、ネットワーク内の加入者が通信チャネルを介して互いに通信することに基づいている。その際に加入者は、物理的な信号を用いて、論理的な値列（二値論理の場合はビット列）を伝送チャネルで伝送する。伝送チャネルで、すなわち物理的レベルで、起こりうる信号の重畳が起きた場合にも、本明細書では以下において、論理的レベルが優先的に考察される。これにより、伝送された論理的な値列と、その論理的な重なり合いとが考察される。
【００１０】
ネットワークの加入者は、（例えば論理的ビット「１」に対応付けられた）第１の信号と、（例えば論理的ビット「０」に対応付けられた）第２の信号とを通信チャネルに与え、通信チャネルで得られた信号を検出することが可能である。２つの加入者がそれぞれ（充分に）同時に信号列を伝送する場合に、これらの加入者は、それから得られた通信チャネルでの重畳を検出することが可能である。通信チャネルでの２つの（独立した）信号の（十分に）同時の伝送から得られた有効な信号が、１つ（または複数の）特定の論理値に割り当てられる。
【００１１】
その際に、上記の伝送は、伝送媒体で信号列の個別信号の重畳が起きる程度にまで、特に、第１の加入者のｎ番目の論理的な値またはビットに対応する信号が、第２の加入者のｎ番目の論理的な値またはビットに対応する信号と少なくとも部分的に重なる程度にまで、同期している必要がある。この重畳は都度、加入者が重畳を検出しまたは対応する重畳値を定められるのに十分な長さであるべきであろう。
【００１２】
その際に、上記の重畳は、調停の仕組みにより、または物理的な信号重畳により決定されうる。調停の仕組みとは、例えば、ノードがリセッシブなレベルを印加したいが、バスではドミナントなレベルが検出され、これにより伝送が中止されるケースを意図している。この場合には、２つの信号の物理的な重畳は起こらず、伝送チャネルではドミナントな信号のみ検知される。
【００１３】
その後で、加入者は、重畳の結果得られた値列と独自の値列とから、外部の攻撃者にとっては秘密の鍵を生成することが可能である。その理由は、例えば共有の伝送媒体に印加された有効な全信号を傍受できる外部の攻撃者は、値列の重畳を検知するが、加入者の個々の値列についての情報は有さないからである。これにより加入者は、攻撃者に対して、秘密を生成するために利用できるより多くの情報を有する。
【００１４】
特に有利に、本方法は、加入者により伝送チャネルに印加された場合に勝つドミナントな値（物理的：ドミナントな信号）と、２つまたは全ての加入者によりリセッシブな値が伝送された場合にのみ伝送チャネルで得られるリセッシブな値（物理的：リセッシブな信号）とが存在するネットワークで利用することが可能である。これにより明確に予め定められた重畳規則に基づいて、このようなネットワークの加入者は、得られた重畳の連なりから、特に簡単に、鍵生成のための情報を導出することが可能である。代替的に、加入者の少なくとも一方によるリセッシブな値の伝送を、値列のこの箇所で何も伝送せず、または、少なくとも２つの可能な値の一方として何も伝送しないことと置き換えることも可能である。
【００１５】
加入者によって十分に同時に伝送チャネルに与えられる加入者値列は、予め各加入者自体で、乱数発生器または疑似乱発生器によって生成される。伝送チャネルで得られる重畳列は潜在的な攻撃者も得られるため、攻撃者が加入者の個々の値列を推測することが可能な限り困難である場合には、すなわち、上記の個々の値列が、加入者で局所的かつ偶発的または少なくとも疑似偶発的に生成される場合には、後の通信の安全性のために特に有利である。
【００１６】
好適な変形例において、加入者は、第１の部分および第２の部分を含む部分値列を伝送し、その際に、第２の部分は、反転された第１の部分に相当する。攻撃者にとっては、この２つの部分は、重畳においては、（少なくとも論理的レベルでは）双方の加入者が異なる値を伝送している箇所で同じに見えるが、加入者にとってはさらに、上記２つの部分から、他方の加入者の部分値列についての追加情報が得られる。この追加情報は、鍵生成のために利用し、これにより鍵生成をより確実に構成することが可能である。その際に、部分値列が直接的に互いに繋がっているかどうかは重要ではない。２つの加入者が伝送を再び互いに（十分に）同時に開始する限り、例えば部分値列の間で、値列の反転されていない部分と反転されている部分とに応じて、切れていることもありうる。すなわち、部分値列は、別々のメッセージでも、１つのメッセージでも伝送されうる（例えば、第１の３２ビット＝オリジナル、第２の３２ビット＝反転）。このような互いに反転させられた値列の伝達からの追加情報を、加入者は、重畳値列の２つの得られた部分の結合によって、特に論理和によって抽出することが可能である。
【００１７】
この好適な変形例では、加入者は、有利な実現において、自身の加入者値列のうち、他方の加入者値列の同じ位置の値と同じ値を有する箇所を削除して、短縮された値列を獲得することが可能である。このために必要な情報を、加入者は、追加情報から、伝達された反転された部分値列によって導出することが可能である。このように削除された箇所は、（少なくとも攻撃者が加入者の伝送スキームを知っている場合）攻撃者が場合によっては重畳列から比較的簡単に導出可能な情報、すなわち、値列から生成された鍵の安全性を下げるであろう情報に相当する。このように短縮された値列を反転させることによって、加入者の一方は、他方の加入者の短縮された値列に相当する値列を獲得することが可能である。この共通の秘密の値列を、加入者は、共通の秘密鍵のベースとして利用することが可能である。
【００１８】
記載する方法は、ＣＡＮバスシステム、ＴＴＣＡＮバスシステム、または、ＣＡＮ−ＦＤバスシステムで特に良好に実施される。このようなシステムでは、ドミナントなバスレベルは、リセッシブなバスレベルに優先される。これにより、加入者の値または信号の重畳は、加入者が重畳された値または信号と自身が伝送した値または信号とからの情報を導出するために利用することが可能な、設定された規則に従う。さらに、ＬＩＮまたはＩ２Ｃ等の他の通信システムも、本方法の利用に良好に適する。
【００１９】
代替的に、本方法は、例えば、オンオフ（Ｏｎ−ＯＦＦ）振幅偏移変調が行われるネットワークでも利用されうる。この場合も同様に、加入者が「伝送」という信号および「非伝送」という信号を自由に選択可能であり、加入者の一方または両方が伝送する場合には重畳信号が「伝送」信号に相当し、両方の加入者が伝送しない場合には重畳信号が「非伝送」信号に相当することで、重畳が設定されている。
【００２０】
２つの加入者が、例えば異なる信号振幅または異なる信号伝送開始時間等の伝送時の特性を示す場合には、攻撃者は、伝送チャネルでの精度の高い測定によって、場合によっては、各加入者の個々の値列についての情報を導出することが可能である。この情報には秘密鍵のベースが存在するため、提示する方法のさらなる別の好適な実現において、攻撃者にとって当該情報の導出がさらに困難になる。そのために、加入者の少なくとも一方が、伝送中に伝送パラメータを変更する。例えば、値列の値から値へと、異なる信号振幅が選択され、または、伝送開始時点もしくは伝送終了時点が、値列の値から値へと変更されうる。それは、例えば偶発的な変更でありうる。これにより攻撃者にとっては、伝送時の特性から個々の攻撃者が情報を導出することが困難になる。
【００２１】
ネットワークにおける２つの加入者のための方法を記載してきたが、ネットワークの１つの加入者によっても、独自の信号列から、および、当該信号列と第２の加入者の信号列との重畳から秘密鍵を導出することが可能である。ネットワーク、および、ネットワークの加入者は、電子的なメモリリソースおよび計算リソースを有することで、対応する方法の工程を実行するよう構成される。このような加入者の記憶媒体には、または、ネットワークの分散されたメモリリソースには、加入者またはネットワークで実行される場合に対応する方法の全工程を実行するよう構成されたコンピュータプログラムが格納されうる。
【００２２】
以下では、添付の図面を参照して、実施例を用いて本発明を詳細に説明する。
【図面の簡単な説明】
【００２３】
【図１】ベースとなる例示的な通信システムの構成を概略的に示す。
【図２】ベースとなる通信システムの例として線形バスを概略的に示す。
【図３】ネットワークの２つの加入者の例示的な信号列、および、加入者間の伝送チャネルで得られる重畳値列を概略的に示す。
【図４】ネットワークの２つの加入者間での鍵生成のための例示的な方法の経過を概略的に示す。
【発明を実施するための形態】
【００２４】
本発明は、共有媒体（ネットワークの伝送チャネル）を介して互いに通信する通信システムの２つのノード（ネットワークの加入者）の間での、（秘密の）対称的な暗号鍵等の秘密を生成する方法に関する。ここでは、秘密、特に暗号鍵の生成または決定は、２つの加入者間での公開のデータ交換に基づいており、その際に、攻撃者として一緒に傍受している可能性がある第３者が、生成された鍵を推測することは可能ではなくまたは非常に困難である。したがって本発明によって、ネットワークの２つの異なる加入者間で、完全に自動化されて、確実に対応する対称暗号鍵を設定することが可能であり、これに基づいて、例えばデータ符号化等の特定の安全機能が実現される。以下に詳細に記載するように、このためにはまず、鍵生成のために利用可能な秘密が設定される。このような共通の秘密は、基本的に、より狭い意味での暗号鍵とは別の目的のためにも利用可能であり、例えば、ワンタイムパッド（Ｏｎｅ−Ｔｉｍｅ−Ｐａｄ）として利用可能である。
【００２５】
本発明は、複数の有線または無線のネットワークまたは通信システム、および、複数の光ネットワークまたは光通信システムにも適しており、特に、様々な加入者が線形バスを介して互いに通信し当該バスへの媒体アクセスがビット単位のバス調停によって行われるネットワークまたは通信システムにも適している。このような原則は、例えば、広く普及しているＣＡＮバスの土台となっている。これに対応して、本発明の可能な利用分野には、特に、ＣＡＮに基づく車両ネットワーク、および、オートメーション技術におけるＣＡＮに基づくネットワークも含まれる。
【００２６】
本発明は、ネットワーク内で、または、特にネットワークの２つのノード間で対称的な暗号鍵を自動的に生成することが可能なアプローチを記述している。その際に、この生成は、対応する伝送層の特性を利用して行われる。このためには、「物理層セキュリティ」という通用しているアプローチとは異なって、伝送強度等の伝送チャネルの物理的パラメータが評価されない。むしろこのためには、関与するノード間の公開のデータ交換が存在し、当該データ交換によって、通信システムおよび／または利用される変調方式の特性により、想定される傍受している攻撃者が、当該特性に基づき決定された鍵を推測することができず、または、十分に推測することができない。
【００２７】
以下では、図１に抽象的に示した構成について検討する。ここでは、様々な加入者１、２、および３が、いわゆる共有の伝送媒体（ｓｈａｒｅｄ  ｍｅｄｉｕｍ）１０を介して互いに通信することが可能である。本発明の有利な構成では、この共有の伝送媒体は、例えば図２に示すような（有線のまたは光による）線形バス３０に相当する。図２のネットワーク２０は、共有の伝送媒体（例えば有線の伝送チャネル）としての上記線形バス３０と、加入者またはノード２１、２２、および２３と、（任意の）バス終端３１および３２と、で構成される。
【００２８】
以下では、様々なノード２１と、２２と、２３との間での通信について、当該通信がドミナントな値とレセッシブな値との区別により特徴付けられると仮定する。本例では、可能な値として、ビット「０」および「１」が想定される。その際に、ドミナントビット（例えば、論理的ビット「０」）は、同時に伝送されるリセッシブビット（例えば、論理的ビット「１」）をまるで押しのけるようなことが可能であり、または、上書きすることが可能である。
【００２９】
このような伝送方法の一例は、厳密に２つの伝送状態が区別されるいわゆるオンオフキーイング（Ｏｎ‐Ｏｆｆ‐Ｋｅｙｉｎｇ）（オンオフ振幅偏移変調、Ｏｎ−Ｏｆｆ−Ｋｅｙｉｎｇ−Ａｍｐｌｉｔｕｄｅｎｕｍｔａｓｔｕｎｇ）である。すなわち、第１のケース（値「オン（Ｏｎ）」または「０」）では、信号が、例えば単一の搬送波信号の形態により伝送され、他方のケース（値「オフ（Ｏｆｆ）」または「１」）では、信号が伝送されない。その際、「オン」状態はドミナントであり、「オフ」状態はリセッシブである。
【００３０】
ドミナントビットとリセッシブビットとの上記区別をサポートする対応する通信システムの他の例は、例えばＣＡＮバスで使用されるような、ビット単位のバス調停に基づく（有線または光）システムである。この場合の基本構想も同様に、例えば、２つのノードが同時に信号を伝送することを望み第１のノードが「１」を伝送しこれに対して第２のノードが「０」を送信する場合には、「０」（すなわち、ドミナントビット）が「勝ち」、すなわち、バス上で測定可能な信号レベルが論理的「０」に相当するということである。ＣＡＮの場合、この仕組みは特に、起こりうる衝突を解消するために利用される。その際に、各ノードが自身のＣＡＮ識別子の伝送の際にビット単位で、同時にバスの信号レベルを監視することで、優先度が高いメッセージ（すなわち、より早期のドミナントな信号レベルを有するメッセージ）が優先的に伝送される。ノード自身はリセッシブビットを伝送するがバスではドミナントビットが検出される場合には、対応するノードは、（より早期のドミナントビットを有する）優先度が高いメッセージのために、自身の伝送の試みを中止する。
【００３１】
ドミナントビットとリセッシブビットとの区別によって、共有の伝送媒体を、様々な入力ビット（＝同時に伝送された全ビット）を論理積関数により互いに結合する一種の二項演算子として捉えることが可能となる。
【００３２】
図３には、例えば、加入者１（Ｔ１）がどのように、時点ｔ０〜ｔ５の間に伝送チャネルを介して送信するためのビット列０、１、１、０、１を揃えるのかが示されている。加入者２（Ｔ２）は、時点ｔ０〜ｔ５の間に伝送チャネルを介して送信するためのビット列０、１、０、１、１を揃える。通信システムの先に記載した特性により、さらに、本例ではビットレベル「０」がドミナントビットであるという想定において、バス（Ｂ）では、ビット列０、１、０、０、１が検知される。時点ｔ１〜時点ｔ２の間、および、時点ｔ４〜時点ｔ５の間では、加入者１（Ｔ１）も加入者Ａ２（Ｔ２）も、リセッシブビット「１」を設けており、したがって、この箇所でのみ、論理積がバス（Ｂ）でのバスレベル「１」となる。
【００３３】
通信システムの伝送方法の上記特性を利用して、対応するネットワークの２つの加入者間での鍵生成は、加入者が、伝送媒体での両加入者のビット列の重畳を検出し、この情報と自身が送信したビット列についての情報とから共有の（対称的な）秘密鍵を生成することで、行われる。
【００３４】
以下では、図４を用いて、例示的な、特に好適な実現を解説する。
【００３５】
対称的な鍵ペアを生成するプロセスは、工程４１において、本例では２つの関与するノード（加入者１および加入者２）によって開始される。このことは、例えば、特別なメッセージまたは特別なメッセージヘッダの送信により行われる。
【００３６】
加入者１も、加入者２も、工程４２において、最初に局所的に（すなわち、内部で、互いに独立して）ビット列を生成する。好適に、このビット列は、本方法の結果として望まれる共有の鍵よりも少なくとも２倍、特に少なくとも３倍長い。ビット列はそれぞれ、好適に偶発的または疑似偶発的なビット列として、例えば適切な乱数生成器または疑似乱数生成器を用いて生成される。
【００３７】
２０ビット長の局所的なビット列の例：
・加入者１の生成されたビット列：
ＳＴ１＝０１００１１０１１１００１０１１００１０
・加入者２の生成されたビット列：
ＳＴ２＝１００１０００１１０１１０１００１０１１
【００３８】
工程４３では、加入者１と加入者２とは、互いに（十分に）同期を取って、自身の各生成されたビット列を、共有の伝送媒体を介して（先に既に解説したように、ドミナントビットおよびリセッシブビットを用いる伝送方法を利用して）伝送する。その際に、対応する伝送を同期させるための様々な可能性が考えられる。例えば、加入者１または加入者２が、最初に、適切な同期信号を各他方のノードへと送信し、特定の時間後に、当該メッセージを完全に伝送した後で、本来のビット列の伝送を開始することが可能であろう。しかしながら、２つのノードの一方によって適切なメッセージヘッダ（例えば、調停フィールドと制御フィールドで構成されるＣＡＮヘッダ）が伝送され、これに対応するペイロード（Ｐａｙｌｏａｄ）段階の間に、２つのノードが同時に自身の生成されたビット列を（十分に）同期させて伝達するということも同様に構想される。本方法の一変形例において、工程４２で生成された一の加入者のビット列を、例えば、対応するメッセージの（最大の）大きさが必要となる場合には、工程４３において複数のメッセージに分けて伝送することが可能である。本変形例でも、他方の加入者の、対応して複数の、対応する大きさのメッセージに分けられたビット列の伝送は、（十分に）同期を取って行われる。
【００３９】
共有の伝送媒体では、２つのビット列が重なり合い、その際に、ドミナントビットとリセッシブビットとが区別されるシステムの予め要求される特性に基づいて、加入者１の個々のビットと加入者２の個々のビットとが重畳し、上記の例では実際には、加入者１の個々のビットと加入者２の個々のビットとが論理積により結合される。これにより、伝送チャネルでは、例えば、傍受している第３の加入者が検出できるであろう対応する重畳が生じる。
【００４０】
上記の局所的なビット列の重畳ビット列の例：
・伝送チャネルで有効なビット列：
Ｓｅｆｆ＝ＳＴ１  ＡＮＤ  ＳＴ２＝０００００００１１０００００００００１０
【００４１】
加入者１も、加入者２も、工程４３の自身のビット列の伝送の間に、並行する工程４４において、共有の伝送媒体での有効な（重ね合された）ビット列Ｓｅｆｆを検出する。ＣＡＮバスの例では、このことは、従来のシステムにおいても、もともと調停段階の間に通常行われる。
【００４２】
「オンオフキーイング」が行われる（無線、有線、または光）システムにとっても、このことは対応して同様に可能である。その際に、このようなシステムでは、特に、（先に既に解説したように）「オン」状態がドミナントであり「オフ」状態がリセッシブであることが実際の実現可能性にとって有益である。したがって、ノードは、ノード自体がドミナントビットを送信した限りにおいて、「共有媒体」での有効な状態がドミナントであることが、測定を行わなくても分かる。これに対して、ノードがリセッシブビットを送信した場合には、最初は、共有伝送媒体での状態が簡単には分からない。ただしこの場合、ノードは、適切な測定によって、状態がどのようであるかを決定することが可能である。この場合ノード自身は何も送信しないため、いわゆる自己干渉の問題もなく、さもなければこの自己干渉により、特に無線システムの場合は、コストが掛かるエコー除去が必要となるであろう。
【００４３】
次の工程４５では、加入者１も、加入者２も、同じように再び（十分に）同期を取って、その初期のビット列ＳＴ１およびＳＴ２を、今回は反転させて伝送する。その際に、対応する伝送の同期化は、先に記載したように、再び厳密に同一のやり方で実現されうる。共有の通信媒体において、双方の列が再び互いに論理積により結合される。加入者１および加入者２は、共有の伝送媒体での有効な重ね合されたビット列Ｓｅｆｆを定める。
【００４４】
上記ビット列の例：
・加入者１の反転されたビット列：
ＳＴ１‘＝１０１１００１０００１１０１００１１０１
・加入者２の反転されたビット列：
ＳＴ２‘＝０１１０１１１００１００１０１１０１００
・チャネルでの有効な重ね合されたビット列：
Ｓｅｆｆ‘＝ＳＴ１‘  ＡＮＤ  ＳＴ２‘＝００１０００１００００００００００１００
【００４５】
加入者１も、加入者２も、自身の反転されたビット列の伝送の間に、再び、共有の伝送媒体での有効な重ね合されたビット列を定める。これによりこの時点に、双方のノード（加入者１および加入者２）にも、共有の伝送媒体での通信を傍受している想定される攻撃者（例えば、加入者３）にも、有効な重ね合されたビット列ＳｅｆｆおよびＳｅｆｆ‘が分かる。しかしながら、攻撃者または第３の加入者と比べて、加入者１はさらに、自身の初期に生成された局所的なビット列ＳＴ１が分かり、加入者２は、自身の初期に生成された局所的なビット列ＳＴ２が分かる。しかしながら、加入者１自身は、加入者２の初期に生成された局所的なビット列が分からず、加入者２は、加入者１の初期に生成された局所的なビット列が分からない。重畳ビット列の検出は、工程４６での伝送の間に行われる。
【００４６】
この例示的な変形例とは代替的に、加入者１および加入者２は、自身の反転された局所的なビット列を、自身の本来の局所的なビット列と直接一緒に、または、自身の本来の局所的なビット列の直後に送信することが可能であり、すなわち、工程４５および４６が、工程４３および４４と一緒に行われる。その際に、本来のビット列および反転されたビット列は、１つのメッセージで伝達されうるが、部分ビット列として別々のメッセージでとしても伝達されうる。
【００４７】
工程４７では、加入者１および加入者２はそれぞれ局所的に（すなわち内部で）、有効な重ね合されたビット列（ＳｅｆｆおよびＳｅｆｆ‘）を、特に論理和関数を用いて結合する。
上記のビット列の例：
・Ｓｇｅｓ＝Ｓｅｆｆ  ＯＲ  Ｓｅｆｆ‘＝００１０００１１１００００００００１１０
【００４８】
論理和から得られるビット列（Ｓｇｅｓ）における個々のビットは、ＳＴ１とＳＴ２の対応するビットが同一であるかまたは異なっているかを示している。Ｓｇｅｓにおけるｎ番目のビットが例えば「０」である場合には、このことは、ＳＴ１におけるｎ番目のビットが、ＳＴ２における対応するビットに対して反転されていることを意味する。同様に、Ｓｇｅｓにおけるｎ番目のビットが「１」である場合には、ＳＡｌｉｃｅおよびＳＢｏｂにおける対応するビットが同一であると言える。
【００４９】
この後で工程４８では、加入者１および加入者２は、論理和から獲得されたビット列Ｓｇｅｓに基づいて、自身の本来の初期のビット列ＳＴ１およびＳＴ２において、双方のビット列で同一である全てのビットを削除する。したがって、これが、対応する短縮されたビット列となる。
【００５０】
上記のビット列の例：
・加入者１の短縮されたビット列：
ＳＴ１、Ｖ＝０１０１１１００１０１１００
・加入者２の短縮されたビット列：
ＳＴ２、Ｖ＝１０１０００１１０１００１１
【００５１】
獲得された、短縮されたビット列ＳＴ１、ＶとＳＴ２、Ｖとは、厳密に互いに反転している。これにより、２つの加入者の一方が、自身の短縮されたビット列を反転させることにより、他方の加入者で既に存在するような短縮されたビット列を、正確に定めることが可能である。
【００５２】
このように共有される、短縮されたビット列が、加入者１および加入者２によって、工程４９においてそれぞれ局所的に適切なやり方で処理され、所望の長さＮの本来の所望されている鍵が生成する。その際にも、この処理が如何に行われるかについて複数の可能性が存在する。一の可能性は、上記共有される短縮されたビット列からのＮ個のビットの選択であり、その際にはどのＮ個のビットが取られるかを明確に定義する必要があるが、例えば、単純に列の最初のＮ個のビットが常に選択されることで、上記Ｎ個のビットの選択が行われる。上記共有される短縮されたビット列のハッシュ関数の計算も同様に可能であり、当該計算により、長さＮのハッシュ値がもたらされる。全く一般的に、共有される短縮されたビット列に適用された際に長さＮビットのビット列を返す各任意の線形関数および非線形関数を用いた処理も行われうる。上記共有される短縮されたビット列に基づく鍵生成の仕組みは、好適に、加入者１および加入者２の双方で同一であり、対応して同じやり方で実行される。
【００５３】
鍵生成に続いて、場合によってはさらに、加入者１および２により生成された鍵が実際に同一であるかを検査することが可能である。このためには、例えば、生成された鍵のチェックサムを計算して、加入者１と加入者２との間で交換することが可能であろう。双方のチェックサムが同一ではない場合には、明らかに何かが失敗している。この場合には、記載した鍵生成方法を繰り返すことが可能であろう。
【００５４】
鍵生成方法の好適な変形例において、様々な実行において、最初に、加入者１および加入者２のそれぞれのところに存在する、最終的に得られる短縮されたビット列の完全な配列が生成され、その後で、結合されて１つの大きな連なりとなり、これから本来の鍵が導出される。このことは、場合によっては適合的に行われうる。上記の手続きが一度実行された後で、例えば、共有される短縮されたビット列の長さが所望の鍵の長さＮよりも例えば短い場合には、新たな実行によって、本来の鍵導出の前にさらなる別のビットを生成することが可能であろう。
【００５５】
最後に、生成された対称的な鍵ペアが、加入者１および加入者２によって、例えばデータ符号化のための暗号等の確立された（対称）暗号方式と組み合わせて使用されうる。
【００５６】
特に論理和関数を用いて、２つの重畳部分値列を結合する目的は、通信を監視しているパッシブな（ｐａｓｓｉｖ）攻撃者も自身の監視に基づき問題無く定めることが可能なビットの削除が行えることである。これに対する代替案は、上記ビットを保持し、そのためには最初に、望まれるより明らかに多いビットを生成し（すなわち、例えば１２８ビットの秘密または鍵が望まれている場合には、最初に３００個のビットを生成し）、このビットを最後に、例えばハッシュ関数等を用いて、所望の長さに縮小することであろう。
想定される攻撃者（例えば加入者３）は、加入者１と加入者２との間の公開のデータ伝送を傍受し、これにより、先に記載したように、有効な重ね合されたビット列（ＳｅｆｆおよびＳｅｆｆ‘）の知識を取得することが可能である。ただし、これにより攻撃者は、加入者１の局所的に生成されたビット列と、加入者２の局所的に生成されたビット列とのどのビットが同一であり、どのビットが同一ではないかということだけが分かる。同一のビットでは、攻撃者はさらに、それが「１」なのかまたは「０」なのかさえ検出することが可能である。しかしながら、最終的に得られる短縮されたビット列（および、鍵生成のための基礎）について完全に知るためには、攻撃者には、同一ではないビットについての情報が欠けている。攻撃者による可能な攻撃をさらに困難なものとするために、好適な変形例においてさらに、加入者１の本来の局所的に生成されたビット列と、加入者２の本来の局所的に生成されたビット列とで同一のビット値も削除される。これにより、加入者３は、鍵生成のためには全く利用されない情報のみ有する。攻撃者は、対応する短縮されたビット列が、加入者１の局所的なビット列と加入者２の局所的なビット列との間で異なるビットに由来することは分かる。しかしながら、加入者１と加入者２がそれぞれどのビットを送信したのかは分からない。
【００５７】
加入者１および加入者２は、重ね合された全ビット列についての情報に加えてさらに、加入者１および加入者２により送信された、局所的に生成されたビット列についての情報を有する。公開のデータ伝送を追うだけの加入者３に対するこの情報の優位性から、加入者１および加入者２で生成された鍵が、公開でのデータ伝送を基礎とするにも関わらず、秘密に保たれるという事実がもたらされる。
【００５８】
攻撃者（例えば加入者３）は、干渉信号の送信によっても、加入者１と加入者２との間での暗号鍵の決定を合目的的に妨げようと試みることが可能である。このような試みは、鍵生成が（何度も）失敗する場合には、加入者１または加入者２によって、例えば検知されうる。このような場合には、加入者１または加入者２は、鍵生成の中止を場合により促し、場合によっては、エラーメッセージを出力することが可能である。
【００５９】
実際の通信システムでは、場合によっては、共有伝送媒体での厳密な測定によって、加入者１の個別ビット列ＳＴ１および加入者２の個別ビット列ＳＴ２を推測するという可能性もある。伝搬時間が異なっていることにより、攻撃者（例えば加入者３）は、（十分に）同期を取って設けられた伝送にも関わらず、例えば時間的に少しリードして、最初にＳＴ１を受信し、その後でＳＴ２を受信し、または、その後でＳＴ１とＳＴ２との重畳／結合を受信することが可能であろう。これにより、攻撃者は、両方の列をさらに推測することが可能であろう。ただしこのためには、共有の伝送媒体の規模および形態に依存して、場合によっては、十分な正確であり、したがって高価なハードウェアが必要となるであろう。例えば、長さが４ｍのＣＡＮセグメントの場合に、最大伝搬時間差は、光速度による波動と仮定して約１３ｎｓである。
【００６０】
このような攻撃をさらに困難なものとするために、鍵生成方法の上記の実施形態の好適な変形例では、対策として、２つの加入者１と加入者２の少なくとも一方、特に双方が、ビット列の自身の個々の信号または個々のビットの伝送時間を軽度に変更することが提案される。伝送時間のこのような変更は、例えば確率論的に行われうる。このようなジッタ（Ｊｉｔｔｅｒ）によって、加入者１と加入者２との間の伝送チャネルでの公開の伝送を傍受できる想定される攻撃者は、各加入者の伝送の様々な開始時点および終了時点を推測することが明らかに困難になる。伝送時間の軽度の変更とは、設けられたサンプリング時間に、対応する重畳が上記鍵生成方法により安定的に形成されることをさらに確実に保証する変更が意図されている。さらに、特定の信号またはビットの伝送時間の変更も可能である。
【００６１】
データ伝送の際の、加入者１と加入者２との間で異なる、加入者ごとに特徴的な信号振幅によっても、攻撃者（加入者３）は、特定の信号の由来を推測し、これにより、加入者１および２のそれぞれ局所的に生成されたビット列についての情報を獲得することが可能である。さらなる別の好適な変形例において、同じ目的のために、（許容される公差の範囲内で）送信振幅を少し変更することが可能である。これにより、攻撃者（加入者３）が、加入者１と加入者２との間で異なる信号振幅を用いて、加入者１または２の一方に信号を対応付けることが困難になる。
【００６２】
提案された方法は、ビット伝送層の特性を利用して２つのノード間で対称的な暗号鍵を生成するためのアプローチを提示している。このアプローチは、「オンオフキーキング」（Ｏｎ−Ｏｆｆ−Ｋｅｙｉｎｇ）またはビット単位のバス調停をサポートする（例えば、ＣＡＮ、ＴＴＣＡＮ、ＣＡＮ−ＦＤ、ＬＩＮ、Ｉ２Ｃ）限りにおいて、特に有線の通信システムまたは光通信システムに適している。しかしながら、好適に送信者と受信者との距離が非常に短く直接的な見通し線接続が可能なワイヤレス（無線式）の通信システムでも、上記のアプローチを利用することが可能である。
【００６３】
基本的に、（先に記載したように）ドミナントビットとリセッシブビットとの区別を可能とする全ての通信システムが、実装のために提供される。したがって、本明細書で記載した方法は、複数の無線通信システム、有線通信システム、および光通信システムで使用されうる。特に上記のアプローチは、機械同士の通信にとって、すなわち、一般に非常に限定されたリソースを有し場合により、妥当なコストでは手動で事前に設定できない様々なセンサ間、アクチュエータ間等でのデータ伝送にとって有益である。
【００６４】
さらなる別の実装可能性は、例えば、ホームオートメーションおよびビルディングオートメーション、遠隔治療、Ｃａｒ−ｔｏ−Ｘシステム、または、工業オートメーション技術にある。特に、無線インタフェースを備えた将来の小型センサ、および、ＣＡＮバスの全ての適用分野、すなわち特に車両ネットワーク化またはオートメーション技術での実装も特に有利である。
【図１】
0006378365.tif 000002
【図２】
0006378365.tif 000003
【図３】
0006378365.tif 000004
【図４】
0006378365.tif 000005