(57)【要約】  ネットワークにおいて秘密又は鍵を生成するための方法が提案される。ネットワークは、少なくとも、第１の加入者装置及び第２の加入者装置を、少なくとも第１の加入者装置と第２の加入者装置との間の共通の伝送チャネルと共に有している。第１の加入者装置は、少なくとも、第１の値及び第２の値を伝送チャネルに出力することができ、第１の加入者装置は、第１の加入者装置数値列を、第２の加入者装置は、第２の加入者装置数値列を、伝送チャネルにおいて相互に十分に同期して伝送し、第１の加入者装置は、第１の加入者装置数値列に関する情報に基づいて、及び、第１の加入者装置数値列と第２の加入者装置数値列との重畳の結果として生じた、伝送チャネルにおける重畳数値列に基づいて、第２の加入者装置は、第２の加入者装置数値列に関する情報に基づいて、及び、第１の加入者装置数値列と第２の加入者装置数値列との重畳の結果として生じた、伝送チャネルにおける重畳数値列に基づいて、それぞれ、共通の秘密又は共通の鍵を生成する。特定の間隔で又は検出された重畳数値列に依存して、少なくとも、第１の加入者装置が、第１の加入者装置数値列以外に、少なくとも１つの補充値を伝送チャネルに出力するか、又は、第２の加入者装置が、第２の加入者装置数値列以外に、少なくとも１つの補充値を伝送チャネルに出力し、それによって、伝送チャネルにおいてエッジ切替ないし値切替を行う。
2018516019.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク（２０）において秘密又は鍵を生成するための方法であって、
前記ネットワーク（３０）は、少なくとも、第１の加入者装置（２１）及び第２の加入者装置（２２）を、少なくとも当該第１の加入者装置（２１）と当該第２の加入者装置（２２）との間の共通の伝送チャネル（３０）と共に有しており、
前記第１の加入者装置（２１）は、少なくとも、第１の値（１）及び第２の値（０）を前記伝送チャネル（３０）に出力することができ、前記第２の加入者装置（２２）は、少なくとも、前記第１の値（１）及び前記第２の値（０）を前記伝送チャネル（３０）に出力することができ、
前記第１の加入者装置（２１）は、第１の加入者装置数値列を、前記第２の加入者装置（２２）は、第２の加入者装置数値列を、前記伝送チャネル（３０）において相互に十分に同期して伝送し、
前記第１の加入者装置（２１）は、前記第１の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として生じた、前記伝送チャネル（３０）における重畳数値列に基づいて、前記第２の加入者装置（２２）は、前記第２の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として生じた、前記伝送チャネル（３０）における重畳数値列に基づいて、それぞれ、共通の秘密又は共通の鍵を生成する、方法において、
特定の間隔で又は検出された重畳数値列に依存して、少なくとも、前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力するか、又は、前記第２の加入者装置（２２）が、前記第２の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力し、それによって、前記伝送チャネル（３０）においてエッジ切替ないし値切替を行うことを特徴とする、方法。
【請求項２】
前記第１の加入者装置（２１）及び前記第２の加入者装置（２２）のうちの一方の加入者装置だけが、前記補充値を前記伝送チャネル（３０）に出力し、
前記第１の加入者装置（２１）及び前記第２の加入者装置（２２）の他方の加入者装置が、前記補充値を検出する、請求項１に記載の方法。
【請求項３】
前記他方の加入者装置が、前記検出された補充値に基づいて同期情報を求める、請求項２に記載の方法。
【請求項４】
前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの第１の補充値を前記伝送チャネルに出力し、前記第２の加入者装置（２２）が、これに十分に同期して、前記第２の加入者装置数値列以外に、少なくとも１つの第２の補充値を前記伝送チャネルに出力し、その結果、前記少なくとも１つの第１の補充値と前記少なくとも１つの第２の補充値との重畳によって、前記伝送チャネルにおいてエッジ切替ないし値切替を行う、請求項１に記載の方法。
【請求項５】
少なくとも、前記第１の加入者装置（２１）又は前記第２の加入者装置（２２）が、同一の値を所定の個数だけ含んでいる重畳数値列を検出した場合には、少なくとも、前記第１の加入者装置（２１）又は前記第２の加入者装置（２２）が、前記補充値を前記伝送チャネル（３３）に出力する、請求項１から４までのいずれか１項に記載の方法。
【請求項６】
同一の値を所定の個数だけ含んでいる重畳数値列を検出すると即座に、前記補充値を直接的に次の値として前記伝送チャネル（３０）に出力する、請求項５に記載の方法。
【請求項７】
同一の値を所定の個数だけ含んでいる重畳数値列を検出した後に、前記補充値を、数値の所定の個数分だけ遅延させて前記伝送チャネル（３０）に出力する、請求項５に記載の方法。
【請求項８】
前記補充値は、前記検出された同一の値を反転したものである、請求項５から７までのいずれか１項に記載の方法。
【請求項９】
前記補充値を、固定の所定の間隔で、特に前記チャネルに出力された前記加入者装置数値列の数値の所定の個数後に、前記伝送チャネル（３０）に出力する、請求項７に記載の方法。
【請求項１０】
少なくとも２つの補充値を前記伝送チャネル（３０）に出力する、請求項１から９までのいずれか１項に記載の方法。
【請求項１１】
前記２つの補充値は、値切替を含む、請求項１０に記載の方法。
【請求項１２】
前記第１の加入者装置（２１）も前記第２の加入者装置（２２）も、前記伝送チャネル（３０）を介して前記第１の値（０）を伝送する場合には、前記伝送チャネル（３０）に前記第１の値（０）に対応する状態が生じ、前記第１の加入者装置（２１）若しくは前記第２の加入者装置（２２）、又は、第１の加入者装置（２１）及び前記第２の加入者装置（２２）の両方が、前記伝送チャネル（３０）を介して前記第２の値を伝送する場合には、前記伝送チャネル（３０）に前記第２の値（１）に対応する状態が生じる、請求項１から１１までのいずれか１項に記載の方法。
【請求項１３】
前記第１の加入者装置数値列を、前記第１の加入者装置（２１）において、前記第２の加入者装置数値列を、前記第２の加入者装置（２２）において、局所的に、特に乱数発生器又は擬似乱数発生器を用いて生成する、請求項１から１２までのいずれか１項に記載の方法。
【請求項１４】
前記少なくとも１つの第１の補充値及び前記少なくとも１つの第２の補充値を、前記共通の秘密又は前記共通の鍵の生成に使用しない、請求項１から１３までのいずれか１項に記載の方法。
【請求項１５】
ネットワーク（２０）の第１の加入者装置（２１）において秘密又は鍵を生成するための方法であって、
前記第１の加入者装置（２１）は、伝送チャネル（３０）を介して、前記ネットワーク（２０）の少なくとも１つの第２の加入者装置（２２）から情報を受信し、前記第２の加入者装置（２２）に情報を伝送するように構成されており、
前記第１の加入者装置（２１）は、少なくとも、第１の値及び第２の値を前記伝送チャネル（３０）に出力し、当該第１の値及び当該第２の値を前記伝送チャネル（３０）において検出できるように構成されており、
前記第１の加入者装置（２１）は、第１の加入者装置数値列を、前記第２の加入者装置（２２）による前記伝送チャネル（３０）における第２の加入者装置数値列の伝送に十分に同期して伝送し、
前記第１の加入者装置（２１）は、前記第１の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として前記伝送チャネル（３０）において生じた重畳数値列に基づいて、秘密又は鍵を生成する、方法において、
特定の間隔で又は検出された重畳数値列に依存して、前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力し、それによって、前記伝送チャネルにおいてエッジ切替ないし値切替を行うことを特徴とする、方法。
【請求項１６】
前記ネットワーク（２０）は、ＣＡＮバスシステム、ＴＴＣＡＮバスシステム、ＣＡＮ−ＦＤバスシステム、ＬＩＮバスシステム、又は、Ｉ２Ｃバスシステムであり、
前記第１の値（１）は、リセッシブバスレベルであり、
前記第２の値（０）は、ドミナントバスレベルである、請求項１から１５までのいずれか１項に記載の方法。
【請求項１７】
前記ネットワーク（２０）において、データ伝送のためのオンオフ変調／振幅偏移変調が予定されている、請求項１から１５までのいずれか１項に記載の方法。
【請求項１８】
少なくとも、第１の加入者装置（２１）と、第２の加入者装置（２２）と、当該第１の加入者装置（２１）が当該第２の加入者装置（２２）と通信することができる伝送チャネル（３０）と、を含んでいるネットワーク（２０）において、
当該ネットワーク（２０）は、請求項１から１７までのいずれか１項に記載の方法のすべてのステップを実施する手段を含んでいることを特徴とする、ネットワーク（２０）。
【請求項１９】
ネットワーク（２０）における加入者装置（２１）として、請求項１５に記載の方法のすべてのステップを実施するように構成されている装置。
【請求項２０】
請求項１から１７までのいずれか１項に記載の方法のうちの１つのすべてのステップを実施するために構成されているコンピュータプログラム。
【請求項２１】
請求項２０に記載のコンピュータプログラムが記憶されている機械読み出し可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおいて秘密ないし秘密暗号鍵を生成するための方法に関し、特にネットワークの２つの加入者装置に対して共通秘密鍵を生成するための方法に関する。ポイント・ツー・ポイント接続も、一般的に、ネットワークに含まれるので、本明細書ではこの概念も同様に議論の対象とする。ネットワークでは、２つの加入者装置が、共通して利用される伝送媒体を介して通信を行う。その場合、論理ビット列（ないしより一般的には：数値列）が、相応の伝送方法によって、信号ないし信号列として物理的に伝送される。基礎を成す通信システムは、例えばＣＡＮバスであってよい。この通信システムでは、ドミナントビット及びリセッシブビットないし相応のドミナント信号及びリセッシブ信号の伝送が予定されており、この場合、ネットワークの加入者装置のドミナント信号ないしドミナントビットは、リセッシブ信号ないしリセッシブビットに対して優勢である。リセッシブ信号に対応する状態は、伝送媒体において、関与するすべての加入者装置がリセッシブ信号の伝送を予定しているか、又は、同時に送信を行うすべての加入者装置がリセッシブな信号レベルを伝送する場合にのみ生じる。
【背景技術】
【０００２】
従来技術
種々の装置間の安全な通信は、ネットワーク化が益々進んでいる世界において一層重要になっており、また多くの適用分野において、アクセプタンスにとっての本質的な前提を表しており、したがって、対応する用途の経済上の成果を表している。このことは、用途に応じて、種々の保護目的を含んでおり、例えば伝送すべきデータの機密の保持、関与するノードの相互的な認証又はデータの完全性の保証を含んでいる。
【０００３】
この保護目的を達成するために、通常の場合、適切な暗号方式が使用される。それらの暗号方式を、一般的に２つの異なるカテゴリに分類することができる：一方は、送信器及び受信器が同一の共通鍵を有している対称方式であり、他方は、送信器が伝送すべきデータを受信器の公開鍵（即ち潜在的な攻撃者にも場合によっては知られる鍵）を用いて暗号化するが、しかしながら、復号化は、理想的には受信器しか知らない、所属の秘密鍵でしか行えない非対称方式である。
【０００４】
特に非対称方式は、通常の場合、計算複雑性が非常に高いという欠点を有している。したがって、それらの非対称方式は、リソースが限定されているノード、例えばセンサ、アクチュエータ等には制限的にしか適していない。そのようなリソースが限定されているノードは、通常の場合、比較的低い計算能力及び容量の少ないメモリしか有しておらず、例えばバッテリ運転又は環境発電（エナジーハーベスティング）の使用に基づいてエネルギ効率良く動作すべきものである。さらにデータ伝送のために制限的な帯域幅しか提供されないことが多く、このことが、２，０４８ビット以上の長さを有する非対称鍵の交換の関心を低くしている。
【０００５】
これに対して対称方式においては、受信器も送信器も同一の鍵を有していることが保証されていなければならない。この場合、付随する鍵管理は、一般的に非常に要求の多いタスクを表している。移動無線の分野では、鍵が例えばＳＩＭカードを用いて携帯電話に導入され、またその場合、所属のネットワークは、ＳＩＭカードの一義的な識別子に、相応の鍵を対応付けることができる。これに対して無線ＬＡＮの場合には、通常の場合、使用すべき鍵の手動の入力（通常はパスワードの入力）がネットワークの装置において行われる。もっともそのような鍵管理は、例えばセンサネットワーク又はその他のマシン・ツー・マシン通信システムにおいて、例えばやはりＣＡＮベースの車両ネットワークにおいて、非常に多数のノードが存在する場合には、即座に非常に煩雑かつ非現実的になる。さらに、使用すべき鍵を何度も変更することは、そもそも不可能であるか、又は、非常に大きな手間を伴うことでしか実現されない。
【０００６】
現行の暗号方式を用いる、例えば自動車ネットワークにおける、不正操作に対するセンサデータの保護方法及びトランザクション認証の保証は、例えば独国特許出願公開第１０２００９００２３９６号明細書（ＤＥ１０２００９００２３９６Ａ１）及び独国特許出願公開第１０２００９０４５１３３号明細書（ＤＥ１０２００９０４５１３３Ａ１）において公開されている。
【０００７】
また数年来、「物理層セキュリティ」というキーワードのもとで、新手のアプローチが研究及び開発されており、それらのアプローチによって、対称方式のための鍵を、内在しているノード間の伝送チャネルの物理的な特性を基礎として、自動的に生成することができる。その際、それらの伝送チャネルの相互性及び内在的なランダム性が利用される。もっとも、特に有線式又は光学式のシステムでは、このアプローチは、制限的にしか適していないことが多い。何故ならば、相応のチャネルは通常の場合、非常に時限的な変動性しか有しておらず、攻撃者は例えばモデル形成によって、比較的容易に、送信器と受信器との間のチャネルパラメータを推測することができる。接続されているユニットのチャネル特性を基礎とする、分散型システム内の保護された通信のためのこのような方法は、例えば、事前公開されていない特許明細書である独国特許出願公開第１０２０１４２０８９７５号明細書（ＤＥ１０２０１４２０８９７５Ａ１）及び独特特許出願公開第１０２０１４２０９０４２号明細書（ＤＥ１０２０１４２０９０４２Ａ１）に記載されている。
【０００８】
コントローラ・エリア・ネットワーク（ＣＡＮ：Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＣＡＮ−ＦＤにおけるビットスタッフィングのための方法は、例えば独国特許出願公開第１０２０１１０８０４７６号明細書（ＤＥ１０２０１１０８０４７６Ａ１）において見て取れる。
【０００９】
事前公開されていない独国特許出願公開第１０２０１５２０７２２０号明細書（ＤＥ１０２０１５２０７２２０Ａ１）には、２つの通信加入者装置間の公開されたディスカッションによって、共通の秘密ないし秘密対称鍵を生成するための方法が公開されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】独国特許出願公開第１０２００９００２３９６号明細書
【特許文献２】独国特許出願公開第１０２００９０４５１３３号明細書
【特許文献３】独国特許出願公開第１０２０１４２０８９７５号明細書
【特許文献４】独特特許出願公開第１０２０１４２０９０４２号明細書
【特許文献５】独国特許出願公開第１０２０１１０８０４７６号明細書
【特許文献６】独国特許出願公開第１０２０１５２０７２２０号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
発明の開示
独立請求項に記載の、秘密ないし暗号鍵を生成するための方法は、手動による干渉を一切必要とせず、したがって、２つのノード間の安全な通信関係ないし通信コネクションの自動化された確立を実現する。さらに本方法は、特に、必要とされるハードウェア設計に関して、例えば所要メモリリソース及び計算能力に関して複雑性が非常に低く、それに伴い所要エネルギも低く、かつ、所要時間も短い。さらに本方法は、非常に高い鍵生成率を提供すると同時に、非常に低い誤り率も提供する。
【課題を解決するための手段】
【００１２】
この場合、本方法は、ネットワーク内の加入者装置が通信チャネルを介して相互に通信を行うことを前提とする。その際、加入者装置は、特に論理的な数値列（バイナリのロジックの場合にはビット列）を、物理的な信号を用いて伝送チャネルにおいて伝送する。信号によって、伝送チャネルにおいて、即ち物理的なレベルにおいて、場合によっては重畳が行われる場合であっても、以下の本明細書においては、優先的に論理的なレベルを考察する。したがって、伝送される論理的な数値列及びそれらの数値列の論理的な重畳が考察される。
【００１３】
したがって、ネットワークの加入者装置は、第１の信号（例えば論理ビット「１」に対応付けられている）及び第２の信号（例えば論理ビット「０」に対応付けられている）を通信チャネルに供給することができ、結果として生じた信号を通信チャネルにおいて検出することができる。ここで２つの加入者装置が（十分）同時にそれぞれ信号列を伝送する場合、加入者装置はそれらの信号列から生じた重畳を通信チャネルにおいて検出することができる。２つの（独立した）信号の（十分に）同時の伝送の結果として生じた、通信チャネルにおける実際の信号を、ここでもまた（１つ又は複数の）特定の論理的な（１つ又は複数の）値に対応付けることができる。
【００１４】
この際、信号列の個々の信号の重畳が伝送媒体において行われ、特に、第１の加入者装置のｎ番目の論理値ないし論理ビットに応じた信号が、第２の加入者装置のｎ番目の論理値ないし論理ビットに応じた信号と少なくとも部分的に重畳する場合には、伝送が十分に同期されていなければならない。この重畳はその都度、加入者装置が重畳を検出できるか、又は、相応の重畳値を求めることができるには十分な長さであることが望ましい。
【００１５】
この場合、重畳を調停メカニズム又は物理的な信号重畳によって特定することができる。調停メカニズムとは、例えば、一方のノードがリセッシブレベルを生じさせようとしているが、しかしながら、バスにおいてはドミナントレベルを検出し、したがって、伝送を見送る場合を指している。この場合、２つの信号の物理的な重畳は行われず、伝送チャネルにおいてはドミナント信号だけが見て取れる。
【００１６】
重畳の結果として生じた数値列及び固有の数値列から、加入者装置は、部外者である攻撃者に対して秘密である鍵を生成することができる。その根拠は、例えば共通して利用される伝送媒体に供給される実際のすべての信号を盗聴する可能性がある、部外者である攻撃者が、数値列の重畳だけは見られるが、しかしながら、加入者装置の個々の数値列に関する情報は取得できないということにある。これによって、加入者装置は、攻撃者に対して秘密の鍵を生成するために利用することができる情報をより多く有している。
【００１７】
上述の方法が特定のシステムにおいて、例えばＣＡＮにおいて、付加的な措置を講じることなく使用される場合には、同じビットないし同じ信号レベルの比較的長いシーケンスが共通して利用される伝送媒体（例えばＣＡＮバス）に現れることになる可能性がある。これによってやはり、ビットスタッフィングエラー及び／又は同期損失がもたらされる可能性があり、このことは場合によっては、別のノードに対して、特別なエラーメッセージ（「エラー・フレーム」）を送信し、プロセスを中断することを指示する。これを回避するために、しかしながら、それにもかかわらず、今日既に使用されているトランシーバ及びコントローラと十分に互換性があるようにするために、鍵生成のための上述の方法を、ビットスタッフィングエラー及び／又は同期損失が阻止され、したがって、この鍵確立方法の、既に今日使用されている標準的なコンポーネントとの互換性を高めるように拡張することが提案される。
【００１８】
このために、鍵生成に関与する加入者装置が、自身の加入者装置数値列以外に、即ちこの加入者装置数値列に付加的に、少なくとも１つの補充値を共通の伝送チャネルに出力し、その結果、エッジ切替ないし値切替（例えば、バイナリシステムでは０から１又は１から０へのビット切替）を生じさせることが提案される。これを、加入者装置のうちの一方によってのみ行うことができる。しかしながら、１つの好適な構成においては、２つの加入者装置によって、補充値が十分に同期して伝送チャネルに出力され、その結果、補充値の重畳信号からエッジ切替ないし値切替が生じる。
【００１９】
この際、補充値は、所定の間隔で（即ち特に、数値列の個々の数値の所定の個数後に）、又は、検出された重畳数値列に依存して伝送チャネルに出力される。
【００２０】
１つの好適な構成においては、所定の個数の同じ値を有する伝送数値列を加入者装置がそれぞれ検出した場合には、加入者装置は補充値を伝送チャネルに出力する。この場合、補充値は、特に、検出された同じ値を反転したものである。スタッフビットないし補充値は、一般的に通信プロトコルのオーバーヘッドを高め、したがって、鍵確立の効率を低下させるので、有利には、そのような補充値は、数値の繰り返しが実際に所定数を上回った場合にのみ行われる。このことが、本発明では重畳列に基づいて検出される。
【００２１】
これに関して、加入者装置がそのような状態にある場合には、補充値を、重畳数値列において同じ値を複数回検出した直後に、伝送チャネルに出力することができる。このヴァリエーションにおいては、検出すべき個数を、同じ値の許容最大数と同数にセットすることができるので、補充値は実際には、必要となった場合にのみ挿入される。そうでない場合には、補充値を、数値の繰り返しの回数を検出するために、所定の間隔で挿入することもでき、この場合、その回数は相応に、最大数よりも低くなるように選択されるべきである。これによって、確かに、より高いオーバーヘッドが生じるが、もっとも本方法は、（特に加入者装置のためのハードウェア要求に関して）要求が低く、より信頼性の高いものになると考えられる。
【００２２】
加入者装置によって常に固定の予め定められた間隔で複数の補充値が挿入され、特に伝送チャネルにおいて所定の個数の値が検出された後に複数の補充値が挿入されるが、それらの補充値が同一の値である必要はない代替的な実施の形態は、より簡単に実施することができ、したがって、既存の通信システム及び加入者装置のハードウェアと特に互換性がある。この場合には、特に、既に値切替ないしエッジ切替を含んでいる２つの補充値が挿入される（例えば、２つの加入者装置によってビット列０１が挿入されるか、又は、２つの加入者装置によってビット列１０が挿入される）。
【００２３】
特に有利には、本方法を、１つの加入者装置だけがドミナント値を伝送チャネルに供給する場合には優勢となるドミナント値（物理的：ドミナント信号）と、２つの加入者装置ないしすべての加入者装置がリセッシブ値を伝送する場合にのみ伝送チャネルに生じるリセッシブ値（物理的：リセッシブ信号）と、が存在するネットワークにおいて使用することができる。これによって明確に設定される重畳規則に基づいて、そのようなネットワークの加入者装置は、結果として生じた重畳列から、非常に簡単に、鍵生成のための情報を導出することができる。選択的に、加入者装置のうちの少なくとも一方からのリセッシブ値の伝送を、数値列のその個所では何も伝送されないか、又は、少なくとも２つの考えられる値のうちの１つとして伝送されないことに置き換えることもできる。
【００２４】
加入者装置によって十分に同時に伝送チャネルに出力される加入者装置数値列は、予め各加入者装置自体において、乱数発生器又は擬似乱数発生器を用いて生成される。結果として生じた重畳列は、伝送チャネルにおいて、潜在的な攻撃者に入手される可能性があるので、攻撃者が加入者装置の個々の数値列を推測することが可能な限り困難であれば、即ち個々の数値列が加入者装置において局所的に、また、ランダムに又は少なくとも擬似ランダムに生成されるのであれば、後続の通信の安全性にとって特に有利である。
【００２５】
上述の方法は、ＣＡＮバスシステム、ＴＴＣＡＮバスシステム又はＣＡＮ−ＦＤバスシステムにおいて、特に良好に使用することができる。この場合、リセッシブバスレベルが、ドミナントバスレベルによって排除される。したがって、加入者装置の値ないし信号レベルの重畳は、加入者装置が重畳された値ないし信号及び加入者装置から伝送される値ないし信号から情報を導出するために利用することができる所定の規則に従う。ＬＩＮ及びＩ２Ｃのような別の通信システムについても、本方法は良好に適している。
【００２６】
しかしながら、代替的に、本方法は、例えばオンオフ変調／振幅偏移変調を用いるネットワークにおいても使用することができる。ここでもまた、加入者装置には信号として「伝送する」及び「伝送しない」が選択に供され、２つの加入者装置のうちの一方又は両方が伝送を行う場合には、伝送信号が信号「伝送する」に対応することによって、また、２つの加入者装置のいずれも伝送を行わない場合に、伝送信号が信号「伝送しない」に対応することによって、重畳が規定される。
【００２７】
本方法を、ネットワーク内の２つの加入者装置について説明したが、既にネットワークの１つの加入者装置によって、固有の信号列と、その信号列の、第２の加入者装置の信号列との重畳と、から秘密鍵が導出されることも考えられる。このために、ネットワーク、又は、ネットワークの加入者装置は、それらが相応の方法のステップを実行する計算リソース及びメモリリソースを有しているように構成されている。そのような加入者装置の記憶媒体においては、又は、ネットワークの分散メモリリソースにおいては、加入者装置又はネットワークにおいて実行されると、相応の方法のすべてのステップを実行するように構成されているコンピュータプログラムも格納することができる。
【００２８】
以下では、添付の図面を参照しながら、複数の実施例に基づいて、本発明を詳細に説明する。
【図面の簡単な説明】
【００２９】
【図１】基礎を成す例示的な通信システムの構造を概略的に示す。
【図２】基礎を成す通信システムの一例としての線形のバスを概略的に示す。
【図３】ネットワークの２つの加入者装置の例示的な信号列、及び、加入者装置間の伝送チャネルにおける、結果として生じた重畳数値列を示す。
【図４】ネットワークの２つの加入者装置間での鍵生成のための例示的な方法の経過を概略的に示す。
【発明を実施するための形態】
【００３０】
実施例の詳細な説明
本発明は、共通して利用される媒体（ネットワークの伝送チャネル）を介して相互に通信を行う、通信システムの２つのノード（ネットワークの加入者装置）間の共通の秘密ないし（秘密）対称暗号鍵を生成するための方法に関する。この際、暗号鍵の生成ないしネゴシエーションは、２つの加入者装置間の公開されたデータ交換を基礎としており、しかしながら、それにもかかわらず、攻撃者として盗聴する可能性がある第三者にとって、生成された鍵を推測することは不可能であるか、又は、極めて困難である。したがって、本発明によって、ネットワークの２つの異なる加入者装置間で、完全に自動的に、確実に対応する対称暗号鍵を確立することができ、それに基づいて、特定のセキュリティ機能を、例えばデータ暗号化を実現することができる。さらに詳細に説明するように、このために先ず、鍵生成に使用することができる共通の秘密が確立される。しかしながら、基本的には、そのような共通の秘密を、暗号鍵とは異なる目的のために、より狭義の意味において例えばワンタイムパッドとして利用することもできる。
【００３１】
本発明は、有線式又は無線式、及び、光学式の多数のネットワークないし通信システムに適しており、特に種々の加入者装置が線形のバスを介して相互に通信を行い、またこのバスへのメディアアクセスがビット毎のバス調停によって行われるネットワークないし通信システムにも適している。この原理は、例えば、広く普及しているＣＡＮバスの基礎を表している。それに応じて、本発明の考えられる使用分野には、特にＣＡＮベースの車両ネットワーク及びオートメーション技術におけるＣＡＮベースのネットワークも含まれる。
【００３２】
本発明は、ネットワークにおいて、又は、特にネットワークの２つのノード間で、自動的に対称暗号鍵を生成することができるアプローチを説明する。この生成は、相応のトランスポート層の特性を利用して行われる。しかしながら、これに関して、「物理層セキュリティ」の現行のアプローチにおける評価とは異なり、伝送チャネルの物理的なパラメータ、例えば伝送電力等は評価されない。むしろ、そのために、関与するノード間での公開されたデータ交換が行われているが、このデータ交換は、通信システム及び／又は使用される変調方法の特性によって、盗聴する可能性がある攻撃者に、そのデータ交換からネゴシエートされた鍵を推測させないか、又は、十分に推測させない。
【００３３】
以下では、図１に抽象的に示されているような配置構成を考察する。この配置構成において、種々の加入者装置２、３及び４は、いわゆる共有伝送媒体（「ｓｈａｒｅｄ  ｍｅｄｉｕｍ」）１０を介して相互に通信を行うことができる。本発明の１つの有利な実現形態においては、この共有伝送媒体は、図２に例示的に示されているような（有線式又は光学式の）線形のバス３０に対応する。図２におけるネットワーク２０は、まさにそのような共有伝送媒体（例えば有線式の伝送チャネル）としての線形のバス３０と、加入者装置ないしノード２１、２２及び２３と、（オプションとしての）バス端子３１及び３２と、から構成されている。
【００３４】
以下では、種々のノード２１、２２及び２３間で行われる通信に関して、その通信がドミナント値及びリセッシブ値の区別によって特徴付けられていることを前提とする。この例では、考えられる値として、ビット「０」及びビット「１」を想定する。この場合、ドミナントビット（例えば論理ビット「０」）は、同時に伝送されるリセッシブビット（例えば論理ビット「１」）を、いわば排除ないし上書きすることができる。
【００３５】
そのような伝送方法の一例は、いわゆるオンオフ変調（オンオフ変調／振幅偏移変調）であり、この伝送方法では、２つの伝送状態だけが区別される。つまり、一方の伝送状態（値「オン」ないし「０」）では、信号が例えば簡単な搬送信号の形態で伝送され、他方の伝送状態（値「オフ」ないし「１」）では、信号が伝送されない。この場合、状態「オン」はドミナントであり、それに対し状態「オフ」は、リセッシブである。
【００３６】
ドミナントビット及びリセッシブビットのこの区別をサポートする相応の通信システムに関する別の例は、例えばＣＡＮバスにおいて使用されているようなビット毎のバス調停を基礎とする（有線式又は光学式の）システムである。このシステムにおける基本的な着想の本質もまた、例えば２つのノードが同時に信号を伝送しようとしており、かつ、一方のノードが「１」を伝送し、それに対して他方のノードが「０」を送信する場合には「０」が勝者となる（即ちドミナントビットが勝者となる）ということ、つまりバスにおいて測定することができる信号レベルが論理的に「０」に相当するということである。特にＣＡＮでは、このメカニズムが起こり得る衝突を解消するために利用される。このメカニズムにおいては、各ノードが自身のＣＡＮ識別子を伝送する際にビット毎に、バスにおける信号レベルを同時に監視することによって、より優先順位の高いメッセージ（即ちより早期のドミナント信号レベルを有しているメッセージ）が優先的に伝送される。ノード自体はリセッシブビットを伝送しているが、しかしながら、バスにおいてドミナントビットが検出された場合には、対応するノードは、（より早期のドミナントビットを有している）より優先順位の高いメッセージのために、自身の伝送の試みを中断する。
【００３７】
ドミナントビット及びリセッシブビットの区別によって、共有伝送媒体を、種々の入力ビット（＝同時に伝送されるすべてのビット）を論理的なＡＮＤ関数によって相互に結合する、一種のバイナリ演算子と解することができる。
【００３８】
図３には、加入者装置１（Ｔ１）が、伝送チャネルを介して時点ｔ０から時点ｔ５までの間に送信を行うために、ビット列０、１、１、０、１をどのように準備するかが示されている。加入者装置２（Ｔ２）は、伝送チャネルを介して時点ｔ０から時点ｔ５までの間に送信を行うために、ビット列０、１、０、１、１を準備する。通信システムの上述の特性によって、また、この例ではビットレベル「０」がドミナントビットであることを前提として、バス（Ｂ）においては、ビット列０、１、０、０、１が見て取れることになる。時点ｔ１とｔ２との間、及び、時点ｔ４とｔ５との間においてのみ、加入者装置１（Ｔ１）も加入者装置２（Ｔ２）も、リセッシブビット「１」を予定しているので、その時点間においてのみ、論理的なＡＮＤ結合が行われた結果、バス（Ｂ）において「１」のビットレベルが生じる。
【００３９】
通信システムの伝送方法のこの特性を利用して、２つの加入者装置のビット列の重畳をそれらの加入者装置が伝送媒体において検出し、この情報から、自身が送信したビット列に関する情報と合わせて、共通の（対称的な）秘密鍵を生成することによって、相応のネットワークの２つの加入者装置間で鍵生成を行うことができる。
【００４０】
特に好適な一実現例を、以下では図４に基づいて説明する。
【００４１】
対称的な鍵ペアを生成するためのプロセスは、ステップ４１において、この例では関与する２つのノード（加入者装置１及び加入者装置２）のうちの一方によって開始される。これを、例えば、特別なメッセージないし特別なメッセージヘッダの送信によって行うことができる。
【００４２】
加入者装置１も加入者装置２も、ステップ４２において、先ず局所的に（即ち内部的に相互に独立して）ビットシーケンスを生成する。特に、このビット列は、本方法の結果としての所望の共通鍵の長さよりも少なくとも２倍、特に少なくとも３倍の長さである。ビット列は、特に、ランダムビット列として、又は、擬似ランダムビット列として、例えば適切な乱数発生器又は擬似乱数発生器を用いて、その都度生成される。
【００４３】
２０ビットの長さの局所的なビット列の例：
・生成された加入者装置１のビットシーケンス：
ＳT1＝０１００１１０１１１００１０１１００１０
・生成された加入者装置２のビットシーケンス：
ＳT2＝１００１０００１１０１１０１００１０１１
ステップ４３においては、加入者装置１及び加入者装置２が、相互に（十分に）同期して、その都度生成した自身のビットシーケンスを、共有伝送媒体を介して（上記において既に説明したような、ドミナントビット及びリセッシブビットを用いる伝送方法を使用して）伝送する。その際、相応の伝送を同期するための種々の可能性が考えられる。つまり例えば、加入者装置１又は加入者装置２が先ず、適切な同期メッセージをそれぞれの他方のノードに送信し、そのメッセージの完全な伝送に続く所定の期間後に、本来のビットシーケンスの伝送を開始することが考えられる。しかしながら、同様に、２つのノードのうちの一方によって、適切なメッセージヘッダ（例えば、調停フィールド及び制御フィールドから成るＣＡＮヘッダ）のみが伝送され、所属のペイロードフェーズの間に、２つのノードが同時に、生成した自身のビットシーケンスを（十分に）同期して伝送することも考えられる。例えば、相応のメッセージの（最大限の）大きさが必要になる場合には、本方法の１つのヴァリエーションにおいて、ステップ４２において生成された加入者装置のビットシーケンスを、ステップ４３において、複数のメッセージに分割して伝送することができる。このヴァリエーションにおいても、他方の加入者装置の、相応数の相応の大きさのメッセージに分割されたビットシーケンスの伝送は、ここでもまた（十分に）同期して行われる。
【００４４】
共有伝送媒体においては、２つのビットシーケンスが重畳され、この際、ドミナントビット及びリセッシブビットの区別を用いる、事前に要求されたシステムの特性に基づいて、加入者装置１及び加入者装置２の個々のビットが重畳され、前述の例では事実上のＡＮＤ結合が行われる。これによって、伝送チャネルにおいては相応の重畳が生じ、この重畳されたビットを、例えば盗聴する第３の加入者装置が検出する可能性がある。
【００４５】
上述の局所的なビット列の重畳ビット列の例：
・伝送チャネルにおける実際のビットシーケンス：
Ｓeff＝ＳT1  ＡＮＤ  ＳT2＝０００００００１１０００００００００１０
加入者装置１も加入者装置２も、ステップ４３において自身のビットシーケンスを伝送している間に、並行して行われるステップ４４において、実際の（重畳された）ビットシーケンスＳeffを共有伝送媒体において検出する。ＣＡＮバスの例では、このことは、慣例のシステムにおいても、調停フェーズの間に一般的にいずれにせよ行われている。
【００４６】
このことは、「オンオフ変調」を用いる（無線式、有線式又は光学式の）システムに対しても相応に実現される。ここでは特に、実際の実現性にとって、（上記において既に説明したように）そのようなシステムにおいて状態「オン」がドミナントであり、状態「オフ」がリセッシブであることは有益である。したがって、ノードは、測定を行わなくても、ノード自体がドミナントビットを送信している限り、「共有媒体」における実際の状態がドミナントであることを知っている。これに対して、ノードがリセッシブビットを送信した場合には、ノードは、共有伝送媒体における状態を知ることは、差し当たり容易ではないが、もっともこの場合には、ノードは適切な測定によって、共有伝送媒体における状態がどのようであるかを特定することができる。この場合、ノード自体は送信を行わないので、したがって、いわゆる自己干渉を伴う問題も存在しない。そのような自己干渉は特に、無線式のシステムにおいては、ノード自体が送信を行う場合、煩雑なエコー補償が必要になる。
【００４７】
後続のステップ４５においては、加入者装置１も加入者装置２も、ここでもまた（十分に）同期して自身の開始ビットシーケンスＳT1及びＳT2を伝送するが、もっともここでは反転したビットシーケンスを伝送する。相応の伝送の同期を、上記において説明したように、やはり全く同じやり方で実現することができる。共有通信媒体においては、２つのシーケンスがやはり相互にＡＮＤ結合される。加入者装置１及び加入者装置２は、ここでもまた、共有伝送媒体における実際の重畳されたビットシーケンスＳeffを求める。
【００４８】
上記のビット列の例：
・反転された加入者装置１のビットシーケンス：
ＳT1’＝１０１１００１０００１１０１００１１０１
・反転された加入者装置２のビットシーケンス：
ＳT2’＝０１１０１１１００１００１０１１０１００
・チャネルにおける実際の重畳されたビットシーケンス：
Ｓeff’＝ＳT1’  ＡＮＤ  ＳT2’＝００１０００１００００００００００１００
ここでもまた加入者装置１及び加入者装置２は、反転された自身のビットシーケンスの伝送中に、共有伝送媒体における、実際の重畳されたビットシーケンスを求める。したがって、この時点において、２つのノード（加入者装置１及び加入者装置２）、また場合によっては存在する、共有伝送媒体において通信を盗聴する攻撃者（例えば加入者装置３）は、実際の重畳されたビットシーケンスＳeff及びＳeff’を知っている。しかしながら、攻撃者ないし第３の加入者装置とは異なり、加入者装置１は、自身が最初に生成した局所的なビットシーケンスＳT1も知っており、また加入者装置２は、自身が最初に生成した局所的なビットシーケンスＳT2も知っている。しかしながら、反対に、加入者装置１は、加入者装置２が最初に生成した局所的なビットシーケンスを知らず、また加入者装置２は、加入者装置１が最初に生成した局所的なビットシーケンスを知らない。重畳ビット列の検出は、ここでもまた、ステップ４６における伝送中に行われる。
【００４９】
この実施例のヴァリエーションの代わりに、加入者装置１及び加入者装置２は、自身の反転された局所的なビット列を、自身の本来の局所的なビット列と共に直接的に送信することができるか、又は、自身の本来の局所的なビット列の送信直後に送信することができる。即ち、ステップ４５及びステップ４６が、ステップ４３及びステップ４４と共に行われる。この場合、本来のビット列及び反転されたビット列を１つのメッセージにおいて伝送することができるが、しかしながら、部分ビット列として別個のメッセージにおいて伝送することもできる。
【００５０】
ステップ４７においては、加入者装置１及び加入者装置２が、それぞれ局所的に（即ち内部的に）、実際の重畳されたビット列（Ｓeff及びＳeff’）を、特に論理的なＯＲ関数を用いて結合する。
【００５１】
上記のビット列の例：
Ｓges＝Ｓeff  ＯＲ  Ｓeff’＝００１０００１１１００００００００１１０
ＯＲ結合の結果生じるビット列（Ｓges）における個々のビットは、ここで、ＳT1及びＳT2の相応のビットが同一であるか、又は、異なるかを表している。Ｓges内のｎ番目のビットが例えば「０」である場合、このことは、ＳT1内のｎ番目のビットが、ＳT2内の対応するビットの反転されたビットであることを意味している。同様に、Ｓges内のｎ番目のビットが「１」である場合には、ＳAlice内の対応するビット及びＳBob内の対応するビットは同一である。
【００５２】
それに続くステップ４８においては、加入者装置１及び加入者装置２が、ＯＲ結合から得られたビットシーケンスＳgesに基づいて、それら加入者装置１及び加入者装置２の本来の初期ビットシーケンスＳT1及びＳT2から、２つのシーケンスにおいて同一であるすべてのビットを消去する。したがって、これによって相応に短縮されたビットシーケンスが得られる。
【００５３】
上記のビット列の例：  
・短縮された加入者装置１のビットシーケンス：
ＳT1,V＝０１０１１１００１０１１００
・短縮された加入者装置２のビットシーケンス：
ＳT2,V＝１０１０００１１０１００１１
結果として生じた、短縮されたビットシーケンスＳT1,V及びＳT2,Vは、ここではまさに相互に反転されている。したがって、２つの加入者装置のうちの一方は、自身の短縮されたビットシーケンスの反転によって、他方の加入者装置において既に存在しているビットシーケンスと全く同一の短縮されたビットシーケンスを求めることができる。
【００５４】
そのような共通して存在する、短縮されたビットシーケンスが、ステップ４９において、加入者装置１及び加入者装置２のそれぞれによって、局所的に適切なやり方で処理され、所望の長さＮの本来所望される鍵が生成される。ここでもまた、どのようにその処理を行うことができるかについて、多数の可能性が存在する。１つの可能性は、共通して存在する、短縮されたビットシーケンスからのＮビットの選択であるが、この場合には、どのＮビットが取られるべきを明確に規定しなければならず、例えば、単純にシーケンスの最初のＮビットが常に選択されることによって、選択が行われる。同様に、共通して存在する、短縮されたビットシーケンスに関する、長さＮのハッシュ値を提供するハッシュ関数の算出も考えられる。極めて一般的に、共通して存在する、短縮されたビットシーケンスに適用すると、長さＮビットのビットシーケンスを返す、あらゆる任意の線形関数及び非線形関数を用いて処理を行うことができる。共通して存在する、短縮されたビットシーケンスから鍵を生成するメカニズムは、特に、２つの加入者装置１及び加入者装置２において同一であり、したがって、同じやり方で実施される。
【００５５】
鍵生成に続いて、必要に応じて、加入者装置１及び加入者装置２によって生成された鍵が実際に同一であるかをさらに検証することができる。このために、例えば、生成された鍵に関するチェックサムを算出し、そのチェックサムを加入者装置１と加入者装置２との間で交換することが考えられる。２つのチェックサムが同一でない場合には、何らかの失敗があったことが明らかになる。この場合、鍵生成のための上述の方法が繰り返されることになる。
【００５６】
鍵生成のための方法の上述の１つの好適なヴァリエーションにおいては、複数回の実行において、加入者装置１及び加入者装置２のもとにそれぞれ存在する、結果として生じた短縮された多数のビットシーケンスを生成することもでき、それらのビットシーケンスから本来の鍵が導出される前に、それらのビットシーケンスが単一の大きいシーケンスに組み合わされる。このことを、必要に応じて、適応的に行うこともできる。上述のプロシージャを１回行った後に、例えば共通の短縮されたビットシーケンスの長さが、例えば、所望の鍵長さＮよりも短い場合には、新たな実行によって、例えばさらなるビットを本来の鍵導出の前に生成することができる。
【００５７】
生成された対称的な鍵ペアを、最終的に、加入者装置１及び加入者装置２によって、確立された（対称的な）暗号方式と組み合わせて、例えばデータ暗号化のための数字と組み合わせて使用することができる。
【００５８】
特に論理的なＯＲ関数を用いた、２つの重畳部分数値列の結合の目的は、通信を監視する受動的な攻撃者も、その監視に基づいて容易に求めることができるビットの消去を行えるようにするということである。これについての代替案では、それらのビットを維持するが、しかしながら、そのために、先ず所望のビットよりも遙かに多くのビットを生成し（つまり例えば、１２８ビットの秘密又は鍵が所望される場合には、先ず３００ビットを生成し）、それらのビットを最終的に、例えばハッシュ関数等を用いて、所望の長さに短縮することも考えられる。
【００５９】
考えられる攻撃者（例えば加入者装置３）が、加入者装置１と加入者装置２との間の公開されたデータ伝送を盗聴する可能性があり、したがって、上述したように、実際の重畳されたビット列（Ｓeff及びＳeff’）を知ることができる可能性がある。もっとも、これによっても攻撃者は、局所的に生成された加入者装置１のビットシーケンス及び局所的に生成された加入者装置２のビットシーケンスにおいて、どのビットが同一であり、どのビットが同一でないかしか分からない。さらに攻撃者が、同一のビットにおいて、そのビットが「１」であるのか「０」であるのかを確認できる可能性もある。しかしながら、結果として生じた、短縮されたビット列（したがって、鍵生成の基礎）を完全に知るために、攻撃者は、同一でないビットに関する情報を得ることができない。攻撃者が考えられる攻撃を行うことをさらに困難にするために、１つの好適なヴァリエーションにおいては、局所的に生成された加入者装置１の本来のビット列及び局所的に生成された加入者装置２の本来のビット列における同一のビット値が付加的に消去される。これによって、加入者装置３は、鍵生成にもはや使用されない情報しか入手できない。加入者装置３は、確かに、相応に短縮されたビット列が、加入者装置１の局所的なビット列と加入者装置２の局所的なビット列との間で異なるビットから明らかになることを知っている。しかしながら、加入者装置１及び加入者装置２がそれぞれどのビットを送信したかは知らない。
【００６０】
加入者装置１及び加入者装置２は、重畳された総ビット列に関する情報に加えて、さらにそれらの加入者装置１及び加入者装置２から送信された、局所的に生成されたビット列に関する情報も有している。公開されたデータ伝送しか追跡できない加入者装置３に対する情報の優位性から、加入者装置１及び加入者装置２において生成された鍵は、データ伝送が公開されているにもかかわらず、基礎として秘密のままであるという事実に至る。
【００６１】
鍵生成のための上述の方法によって、加入者装置１及び加入者装置２が同時に伝送を行った際に、同一のビット又は信号レベルの比較的長いシーケンスが実際に伝送チャネルにおいて現れる場合がある。このことは、２つの加入者装置が先ず相互に独立してランダムなビットシーケンスを生成するが、しかしながら、チャネルにおいては、その都度、それらのビットシーケンスの１つの重畳しか実際に現れないことに原因がある。これは例えば、ドミナントビット０及びリセッシブビット１を想定して、ＡＮＤ結合によって組み合わされたビットシーケンスの場合であると考えられる。２つの加入者装置は、それぞれ他方の加入者装置のランダムに生成されたビットシーケンスを知らないので、差し当たり、実際のビットシーケンスが、連続する同一のビットを含んでいるほぼ任意の長さのサブシーケンスを有していることが常に起こり得る。このことはやはり、標準的なハードウェア及び標準的なソフトウェアが使用されている特定の通信システムにおいて問題になる可能性がある。この問題を以下では、ＣＡＮを例にして模範的に詳細に説明する。
【００６２】
ＣＡＮプロトコルでは、同値のビットがＮ＝５回連続した場合に、相補的な値を有するいわゆる「スタッフビット」を、本来伝送すべきビットシーケンスに挿入されなければならないことが規定されている。スタッフビットは、受信器において自動的に再び除去される。即ち、それらの「スタッフビット」は、情報ビットではなく、以下の背後関係を有している：
１）同値のビットがＮ＝５回以上連続しているビット列は、制御の目的で（例えば「エンド・オブ・フレーム」指示又は「エラー・フレーム」として）使用され、したがって、そのようなシーケンスが本来の情報部分において現れることが保証されなければならない。
２）ＣＡＮは、ＣＡＮメッセージを伝送するために、非ゼロ復帰（ＮＲＺ：Ｎｏｎ−Ｒｅｔｕｒｎ−ｔｏ−Ｚｅｒｏ）コーディングを使用する。但し、これは、異なるノードにおいて完全には同期されていないクロックに起因する同期損失を助長し、したがって、ハードウェアに対する要求（例えば局部発振器に対する要求）を低く維持できるようにするために、ＣＡＮメッセージの伝送中ないし受信中に、時間的な事後同期を実施しなければならない。「スタッフビット」の挿入によって、遅くとも、同値のビットがＮ＝５回連続した後に、エッジ切替が行われ、このエッジの切替をそのような事後同期のために使用することができる。
【００６３】
ＣＡＮにおける「ビットスタッフ規則」違反があった場合、この違反を発見したすべての加入者装置は、即座に「エラー・フラグ」（＝ドミナントビットが６回以上連続する）を伝送し、それによって、プロセスを中断することを試みる。このことはやはり、上記において簡単に概略を述べた方法を用いる、対称暗号鍵の確立の成功を妨げる。
【００６４】
したがって、以下では、上述の方法の拡張形態を紹介する。それらの拡張形態によって、ビットスタッフィングエラーを回避することができ、その結果、例えばＣＡＮの場合に、そのようなエラーに起因する「エラー・フラグ」がその他のノードから送信されることはなくなる。またそれと同時に、通信システムの加入者装置による規則的で時間的な事後同期が実現され、したがって、同期エラーの確率を低減できることを保証することができる。通信システムの種類及びタイプに応じて、両方の態様が重要になるか、又は、それらのうちの一方のみが重要になると考えられる。
【００６５】
適切な「スタッフビット」の挿入によって、連続するＮ個以上のビットが同一の値を有することが回避されるべきである。もっとも、このことは個々の加入者装置に関する伝送規則によって、その他の加入者装置に依存せずに行うことはできない。何故ならば、上述の方法においては、重畳数値列の相応のエッジ切替ないし値切替が重要になるからである。このために、種々の可能性が提案される。
【００６６】
第１の好適な構成においては、第１の加入者装置及び第２の加入者装置が、鍵生成のための上述の方法において、ステップ４３におけるランダムなビットシーケンスの同期伝送中に、いずれにせよ、それに並行して行われるステップ４４において、実際の信号レベル（ないし実際のビットシーケンス）を共通して利用される伝送媒体において常に検出することが利用される。ここでノードが、伝送媒体における実際のビット値がＮ回連続して同一であることを確認すると、２つのノードは次のビットとして、Ｎ回連続して現れた実際のビットを反転したスタッフビットを送信する。したがって、従来のビットスタッフィングとの決定的な相異は、スタッフビットを挿入しなければならないかの判定が、根本的に固有のメッセージないしビット列に依存するのではなく、共通して利用される伝送媒体における実際のビット列にのみ依存するということである。同一のことが、送信されるべきスタッフビットの値についても当てはまる。
【００６７】
例：
加入者装置１のランダムな初期（局所的に生成された）ビット列：
０１１０１０１１０１１０１０１
加入者装置２のランダムな初期（局所的に生成された）ビット列：
０１０１００００１１１１０１１
スタッフビットを含まない個々のシーケンスを論理的なＡＮＤ結合した際の伝送媒体における実際のビットシーケンス：
０１０００００００１１０００１
したがって、（例えばＣＡＮの場合のように）Ｎ＝５では、伝送媒体における実際のビット値「０」が７回連続して現れているので、スタッフィングエラーが存在することになる。
【００６８】
これに対して、第１の実施例による、上記において提案したアプローチを用いれば、以下のビットシーケンスが実際に伝送媒体において現れることになる：
０１０００００１００１１０００１
この場合、消去されるビットは、加入者装置１及び加入者装置２が共通の伝送媒体においてビット「０」を５回検出した後に、加入者装置１によっても加入者装置２によっても挿入及び送信された、付加的に挿入されたスタッフビットである。したがって、実際に送信されるＡｌｉｃｅ及びＢｏｂのビットシーケンスは、この例では以下のようになる：
実際に送信される加入者装置１のビット列：
０１１０１０１１１０１１０１０１
実際に送信される加入者装置２のビット列：
０１０１０００１０１１１１０１１
即ち、上述のランダムに局所的に生成された、加入者装置１及び加入者装置２の初期ビット列と比較すると、相応のスタッフビット（ここでは：１）が８番目の位置に挿入されている。
【００６９】
第２の好適な構成においては、多くの通信システムでは、ビットの検出も後続のビットの伝送の準備も、実現形態によってはある程度の時間を要し、したがって、十分高速な反応が状況によっては不可能なことから、同一のビットがＮ回連続するシーケンスを伝送媒体において検出した直後に（上記において述べたように）スタッフビットを挿入することが、加入者装置にとって場合によっては（例えば、廉価で単純なハードウェアの使用に起因して）困難になることが考慮される。そのようなケースでは、第１の実施例のアプローチを以下のように適合させることができる。即ち、連続するＮ−Ｍ（１≦Ｍ≦Ｎ−２）個の同一の実際のビットを、共通して利用される伝送媒体において既に検出した後に、スタッフビットの挿入が準備されるが、しかしながら、このスタッフビットは、連続する（少なくとも）Ｎ−Ｍ個の同一のビットのシーケンスの最初のビットの検出からカウントし始めてＮ個のビットが伝送された後に初めて実際に送信されるように、第１の実施例のアプローチを適合させることができる。
【００７０】
１つの特にロバストなヴァリエーションにおいては、この準備されたスタッフビット自体が、Ｎ−Ｍ個の同一のビット後かつスタッフビットの伝送前に、（実際の）ビット切替が共通の伝送媒体において行われたときに送信されるので、したがって、スタッフィングエラーは本来的に存在しない（何故ならばこの場合には、スタッフビットがなくとも、Ｎ個以上の同一のビットはもはや伝送媒体に現れないからである）。これによって、（スタッフィングエラーが生じない）有効なビットシーケンスも得られるが、もっともこの場合には、（ここでは本来的に必要ない）スタッフビットに起因して、より大きいオーバーヘッドを伴う。
【００７１】
例（Ｎ＝５、Ｍ＝２）：
先ず、最初に生成された加入者装置１及び加入者装置２のビットシーケンスが、第１の実施の形態のヴァリエーションについての例におけるビットシーケンスと同じであることを前提とする。即ち：
加入者装置１のランダムな初期（局所的に生成された）ビット列：
０１１０１０１１０１１０１０１
加入者装置２のランダムな初期（局所的に生成された）ビット列：
０１０１００００１１１１０１１
スタッフビットを含まない個々のシーケンスを論理的なＡＮＤ結合した際の伝送媒体における実際のビットシーケンス：
０１０００００００１１０００１
しかしながら、伝送時に、ＡｌｉｃｅもＢｏｂも、５個のビットを伝送した後、連続するＮ−Ｍ＝３個の同一のビットが共通して利用される伝送媒体において形成されていることを検出し、続いて８番目の位置における（値「１」を有する）スタッフビットの挿入が準備される。
【００７２】
したがって、Ａｌｉｃｅ及びＢｏｂから実際に伝送されるビットシーケンスは（上記と同様に）以下のようになる：
実際に送信される加入者装置１のビット列：
０１１０１０１１１０１１０１０１
実際に送信される加入者装置２のビット列：
０１０１０００１０１１１１０１１
これによって、実際に伝送媒体に現れるビット列は以下のようになる：
０１０００００１００１１０００１
消去されるビットは、この場合においてもやはり、加入者装置１及び加入者装置２が共通の伝送媒体において、５個のビットに続いて、ビット「０」を３回検出した後に、加入者装置１によっても加入者装置２によっても挿入及び送信された、付加的に挿入されたスタッフビットである。したがって、ここでもまた、ビットスタッフィングエラーはもはや発生せず（但し、Ｎ＝５）、上述の例における結果と全く同じ結果が得られることになる。もっとも加入者装置１も加入者装置２も、スタッフビットの挿入ないし伝送を準備するためにより多くの時間を要することになる。
【００７３】
第３の好適な実施例による、スタッフィングエラー及び／又は同期損失を回避するための方法は、本来の情報ビットに依存しない、即ち加入者装置のビット列に依存せずかつ検出された重畳ビット列に依存しない、ビット切替ないしエッジ切替の周期的な強制である。この周期的な強制を、加入者装置１も加入者装置２も、Ｋ個（但し、Ｋ＜Ｎ）の情報ビット（＝本来的にランダムに生成されたビット）の伝送後に常に２つのスタッフビットを挿入し、それら２つのスタッフビットによって重畳時にビット切替ないしエッジ切替が行われるように構成することができる。ＣＡＮのような特定の通信システムにおいては、このために、２つのスタッフビットが既にビット切替を含むことができ、例えばビット列「０１」又は「１０」を含むことができるので、重畳の結果、同様にビット列「０１」又は「１０」が得られる。これら２つの考えられるケースのいずれのビット列が挿入されるかは、加入者装置１も加入者装置２も常に同一のビット列を挿入することが保証されている限り、この例において重要なことではない。
【００７４】
この実施の形態のヴァリエーションは、比較的高いオーバーヘッドを生じさせるが、もっとも非常にロバストでコストを掛けずに実現することができ、また、既存の標準的なコンポーネントを用いても特に良好に実施することができる。
【００７５】
例（Ｎ＝５、Ｋ＝４）：
先ず、最初に生成された加入者装置１及び加入者装置２のビットシーケンスが、第１及び第２の実施の形態のヴァリエーションについての例におけるビットシーケンスと同じであることを前提とする。即ち：
加入者装置１のランダムな初期（局所的に生成された）ビット列：
０１１０１０１１０１１０１０１
加入者装置２のランダムな初期（局所的に生成された）ビット列：
０１０１００００１１１１０１１
スタッフビットを含まない個々のシーケンスを論理的なＡＮＤ結合した際の伝送媒体における実際のビットシーケンス：
０１０００００００１１０００１
もっともここでは、Ｋ＝４個のビット後に、加入者装置１によっても加入者装置２によっても、情報ビットに依存せずに、ビット列「０１」が常に挿入される。したがって、実際に伝送されることになる加入者装置１及び加入者装置２のビットシーケンスは以下のようになる：
実際に伝送されることになる加入者装置１のビット列：
０１１００１１０１１０１０１１００１１０１
実際に伝送されることになる加入者装置２のビット列：
０１０１０１０００００１１１１１０１０１１
したがって、共通の伝送媒体においては以下の実際のビット列が生じる：
０１０００１０００００１０１１００１００１
したがって、この場合においても、スタッフィングエラーは発生しない（但し、Ｎ＝５）。
【００７６】
上述のアプローチのいずれが使用されるかに関係なく、スタッフビット自体は、特に、受信器側において破棄される。それらのスタッフビットは特に、対称暗号鍵の生成のための基礎として一緒に使用されず、それによって、鍵生成時に非ランダムな構造が考慮されることによる鍵の脆弱化が阻止される。
【００７７】
本方法の上述の実施の形態を、代替的な構成では、補充値（スタッフビット）が２つの加入者装置から共通の伝送媒体に出力されるのではなく、２つの加入者装置のうちの一方だけから補充値が生成及び出力されるように変更することができる。この方法は、加入者装置がこの数値列を介して相互に事後同期することができるという利点を有している。この代替形態に関して、特に、加入者装置のうちの一方が、補充値の伝送について特定される。その加入者装置は、例えば、鍵生成を開始する加入者装置であってもよいし、（例えばコンフィギュレーションによって）事前に特定された加入者装置であってもよい。他方の加入者装置は、補充値を検出し、その補充値に基づいて、例えば同期情報を取得することができる。特に、少なくとも１つの補充値に基づいて、その加入者装置のクロックの、別の加入者装置のクロックに対して起こり得る時間的なずれを検出することができ、また求められたこのずれに基づいて、その加入者装置のクロックの事後同期を行うことができる。
【００７８】
紹介した上記の方法は、ビットトランスポート層の特性を利用して２つのノード間で対称暗号鍵を生成するためのアプローチを表している。このアプローチは、有線式の通信システム及び光学式の通信システムが「オンオフ変調」ないしビット毎のバス調停をサポートする限りは（例えばＣＡＮ、ＴＴＣＡＮ、ＣＡＮ−ＦＤ、ＬＩＮ、Ｉ２Ｃ）、それらの通信システムに特に適している。しかしながら、無線式の（無線ベースの）通信システムにおいても、特に、送信器と受信器との間の距離が非常に短い通信システムにおいても、また場合によっては直接的な見通し内伝播においても、このアプローチを使用することができる。
【００７９】
基本的に、ドミナントビット及びリセッシブビットの区別を（上記において説明したように）実現するあらゆる通信システムが使用に適している。したがって、本明細書で説明した方法を、無線式、有線式及び光学式の多数の通信システムに使用することができる。上述のアプローチは、マシン・ツー・マシン通信にとって、即ち一般的には非常に制限的なリソースしか有しておらず、また場合によっては、活動領域における手動でのコンフィギュレーションを、是認できる手間では実現できない種々のセンサ、アクチュエータ等の間でのデータの伝送にとって特に興味深いものである。
【００８０】
別の使用可能性は、例えばホームオートメーション及びビルオートメーション、遠隔医療、カー・ツー・エックス（Ｃａｒ−ｔｏ−Ｘ）システム又は工業オートメーション技術に存在している。また、無線インタフェースを備えた将来の小型センサにおける使用、ＣＡＮバスのすべての適用分野、即ち特に車両ネットワーク化又はオートメーション技術における使用も特に興味深いものである。
【図１】
2018516019.tif 000003
【図２】
2018516019.tif 000004
【図３】
2018516019.tif 000005
【図４】
2018516019.tif 000006
【手続補正書】
【提出日】平成30年1月9日(2018.1.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワーク（２０）において秘密又は鍵を生成するための方法であって、
前記ネットワーク（２０）は、少なくとも、第１の加入者装置（２１）及び第２の加入者装置（２２）を、少なくとも当該第１の加入者装置（２１）と当該第２の加入者装置（２２）との間の共通の伝送チャネル（３０）と共に有しており、
前記第１の加入者装置（２１）は、少なくとも、第１の値（１）及び第２の値（０）を前記伝送チャネル（３０）に出力することができ、前記第２の加入者装置（２２）は、少なくとも、前記第１の値（１）及び前記第２の値（０）を前記伝送チャネル（３０）に出力することができ、
前記第１の加入者装置（２１）は、第１の加入者装置数値列を、前記第２の加入者装置（２２）は、第２の加入者装置数値列を、前記伝送チャネル（３０）において相互に同期して伝送し、
前記第１の加入者装置（２１）は、前記第１の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として生じた、前記伝送チャネル（３０）における重畳数値列に基づいて、前記第２の加入者装置（２２）は、前記第２の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として生じた、前記伝送チャネル（３０）における重畳数値列に基づいて、それぞれ、共通の秘密又は共通の鍵を生成する、方法において、
特定の間隔で又は検出された重畳数値列に依存して、少なくとも、前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力するか、又は、前記第２の加入者装置（２２）が、前記第２の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力し、それによって、前記伝送チャネル（３０）においてエッジ切替ないし値切替を行うことを特徴とする、方法。
【請求項２】
前記第１の加入者装置（２１）及び前記第２の加入者装置（２２）のうちの一方の加入者装置だけが、前記補充値を前記伝送チャネル（３０）に出力し、
前記第１の加入者装置（２１）及び前記第２の加入者装置（２２）の他方の加入者装置が、前記補充値を検出する、請求項１に記載の方法。
【請求項３】
前記他方の加入者装置が、前記検出された補充値に基づいて同期情報を求める、請求項２に記載の方法。
【請求項４】
前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの第１の補充値を前記伝送チャネルに出力し、前記第２の加入者装置（２２）が、これに同期して、前記第２の加入者装置数値列以外に、少なくとも１つの第２の補充値を前記伝送チャネルに出力し、その結果、前記少なくとも１つの第１の補充値と前記少なくとも１つの第２の補充値との重畳によって、前記伝送チャネルにおいてエッジ切替ないし値切替を行う、請求項１に記載の方法。
【請求項５】
少なくとも、前記第１の加入者装置（２１）又は前記第２の加入者装置（２２）が、同一の値を所定の個数だけ含んでいる重畳数値列を検出した場合には、少なくとも、前記第１の加入者装置（２１）又は前記第２の加入者装置（２２）が、前記補充値を前記伝送チャネル（３０）に出力する、請求項１から４までのいずれか１項に記載の方法。
【請求項６】
同一の値を所定の個数だけ含んでいる重畳数値列を検出すると即座に、前記補充値を直接的に次の値として前記伝送チャネル（３０）に出力する、請求項５に記載の方法。
【請求項７】
同一の値を所定の個数だけ含んでいる重畳数値列を検出した後に、前記補充値を、数値の所定の個数分だけ遅延させて前記伝送チャネル（３０）に出力する、請求項５に記載の方法。
【請求項８】
前記補充値は、前記検出された同一の値を反転したものである、請求項５から７までのいずれか１項に記載の方法。
【請求項９】
前記補充値を、固定の所定の間隔で、前記伝送チャネル（３０）に出力する、請求項７に記載の方法。
【請求項１０】
前記固定の所定の間隔は、前記チャネルに出力された前記加入者装置数値列の数値の所定の個数に相当する、請求項９に記載の方法。
【請求項１１】
少なくとも２つの補充値を前記伝送チャネル（３０）に出力する、請求項１から１０までのいずれか１項に記載の方法。
【請求項１２】
前記２つの補充値は、値切替を含む、請求項１１に記載の方法。
【請求項１３】
前記第１の加入者装置（２１）も前記第２の加入者装置（２２）も、前記伝送チャネル（３０）を介して前記第１の値（１）を伝送する場合には、前記伝送チャネル（３０）に前記第１の値（１）に対応する状態が生じ、前記第１の加入者装置（２１）若しくは前記第２の加入者装置（２２）、又は、第１の加入者装置（２１）及び前記第２の加入者装置（２２）の両方が、前記伝送チャネル（３０）を介して前記第２の値（０）を伝送する場合には、前記伝送チャネル（３０）に前記第２の値（０）に対応する状態が生じる、請求項１から１２までのいずれか１項に記載の方法。
【請求項１４】
前記第１の加入者装置数値列を、前記第１の加入者装置（２１）において、前記第２の加入者装置数値列を、前記第２の加入者装置（２２）において、局所的に生成する、請求項１から１３までのいずれか１項に記載の方法。
【請求項１５】
前記第１の加入者装置数値列を、前記第１の加入者装置（２１）において、前記第２の加入者装置数値列を、前記第２の加入者装置（２２）において、乱数発生器又は擬似乱数発生器を用いて生成する、請求項１４に記載の方法。
【請求項１６】
前記少なくとも１つの第１の補充値及び前記少なくとも１つの第２の補充値を、前記共通の秘密又は前記共通の鍵の生成に使用しない、請求項１から１５までのいずれか１項に記載の方法。
【請求項１７】
ネットワーク（２０）の第１の加入者装置（２１）において秘密又は鍵を生成するための方法であって、
前記第１の加入者装置（２１）は、伝送チャネル（３０）を介して、前記ネットワーク（２０）の少なくとも１つの第２の加入者装置（２２）から情報を受信し、前記第２の加入者装置（２２）に情報を伝送するように構成されており、
前記第１の加入者装置（２１）は、少なくとも、第１の値（１）及び第２の値（０）を前記伝送チャネル（３０）に出力し、当該第１の値（１）及び当該第２の値（０）を前記伝送チャネル（３０）において検出できるように構成されており、
前記第１の加入者装置（２１）は、第１の加入者装置数値列を、前記第２の加入者装置（２２）による前記伝送チャネル（３０）における第２の加入者装置数値列の伝送に同期して伝送し、
前記第１の加入者装置（２１）は、前記第１の加入者装置数値列に関する情報に基づいて、及び、前記第１の加入者装置数値列と前記第２の加入者装置数値列との重畳の結果として前記伝送チャネル（３０）において生じた重畳数値列に基づいて、秘密又は鍵を生成する、方法において、
特定の間隔で又は検出された重畳数値列に依存して、前記第１の加入者装置（２１）が、前記第１の加入者装置数値列以外に、少なくとも１つの補充値を前記伝送チャネル（３０）に出力し、それによって、前記伝送チャネルにおいてエッジ切替ないし値切替を行うことを特徴とする、方法。
【請求項１８】
前記ネットワーク（２０）は、ＣＡＮバスシステム、ＴＴＣＡＮバスシステム、ＣＡＮ−ＦＤバスシステム、ＬＩＮバスシステム、又は、Ｉ２Ｃバスシステムであり、
前記第１の値（１）は、リセッシブバスレベルであり、
前記第２の値（０）は、ドミナントバスレベルである、請求項１から１７までのいずれか１項に記載の方法。
【請求項１９】
前記ネットワーク（２０）において、データ伝送のためのオンオフ変調／振幅偏移変調が予定されている、請求項１から１８までのいずれか１項に記載の方法。
【請求項２０】
請求項１から１９までのいずれか１項に記載の方法のすべてのステップを実施するために構成されているコンピュータプログラム。
【請求項２１】
少なくとも、第１の加入者装置（２１）と、第２の加入者装置（２２）と、当該第１の加入者装置（２１）が当該第２の加入者装置（２２）と通信することができる伝送チャネル（３０）と、を含んでいるネットワーク（２０）において、
当該ネットワーク（２０）は、請求項２０に記載のコンピュータプログラムを実行する手段を含んでいることを特徴とする、ネットワーク（２０）。
【請求項２２】
ネットワーク（２０）における加入者装置（２１）として、請求項２０に記載のコンピュータプログラムを実行するように構成されている装置。
【請求項２３】
請求項２０に記載のコンピュータプログラムが記憶されている機械読み出し可能な記憶媒体。
【国際調査報告】
2018516019.tif 000007
2018516019.tif 000008
2018516019.tif 000009
2018516019.tif 000010
2018516019.tif 000011
2018516019.tif 000012