(57)【要約】【課題】ノイズによるデータ通信の中断時間を短縮することのできる通信装置を提供する。【解決手段】受信機器であるノードＢは、送信機器であるノードＡ，Ｃとの間の認証・鍵交換処理にて取得した交換鍵Ｋｘを記憶する交換鍵記憶部２３と、その交換鍵Ｋｘの保存先と、アイソクロナスチャネル番号と、ノードＩＤとを対応付けてメモリ３１のデータベースに記憶する制御ＣＰＵ３０とを備える。制御ＣＰＵ３０は、バスリセットによってノードＡ，ＣのノードＩＤが変化したときに、チャネル番号を基準にしてデータベース内のノードＩＤを更新する。また、制御ＣＰＵ３０は、受信中のチャネル番号に対応する交換鍵Ｋｘの保存先を指定する選択信号を出力側セレクタＳ２に出力し、上記チャネル番号に対応するノードＩＤを転送先としてコンテンツ・キー・リクエストを行う。【選択図】図１
2010147768.tif 000002
【特許請求の範囲】
【請求項１】
送信元との間の認証に基づいて生成される第１の鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶する記憶部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得する取得部と、
前記第１の情報と対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成する演算部と、
を備えることを特徴とする通信装置。
【請求項２】
送信元との間の認証に基づいて生成される第１の鍵を記憶する記憶部と、
前記第１の鍵の保存先と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けてデータベースに記憶する制御部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得する取得部と、
前記第１の情報に対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成する演算部と、
を備えることを特徴とする通信装置。
【請求項３】
前記第１の情報は、前記送信元のアイソクロナスチャネル番号であり、
受信中のアイソクロナスチャネル番号に対応する第１の鍵を前記記憶部から選択する選択部を備えることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記記憶部は、前記第１の鍵と対応付けて前記送信元のアイソクロナスチャネル番号を記憶し、
受信中のアイソクロナスチャネル番号を選択信号として入力し、該アイソクロナスチャネル番号に対応する第１の鍵を前記記憶部から選択する選択部を備えることを特徴とする請求項２に記載の通信装置。
【請求項５】
前記第１の鍵が記憶される記憶領域の初期値が乱数であることを特徴とする請求項１〜４のいずれか１つに記載の通信装置。
【請求項６】
前記認証を、電源投入時に、バスに接続される全ての送信機器に対して行うことを特徴とする請求項１〜５のいずれか１つに記載の通信装置。
【請求項７】
前記第１の鍵は、交換鍵であることを特徴とする請求項１〜６のいずれか１つに記載の通信装置。
【請求項８】
当該通信装置はＩＤＢ−１３９４規格に準拠したＩＤＢ−１３９４機器であり、
バスに接続されるＩＤＢ−１３９４機器の接続台数及び接続状態を記憶する機器登録データベースを備えることを特徴とする請求項１〜７のいずれか１つに記載の通信装置。
【請求項９】
送信元との間の認証に基づいて生成される第１の鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶部に記憶するステップと、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得するステップと、
前記第１の情報と対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成するステップと、
を備えることを特徴とするデータの通信方法。
【請求項１０】
送信元との間の認証に基づいて共有される認証鍵を記憶する第１記憶部を備える第１通信装置と、
送信先との間の認証に基づいて共有される認証鍵を記憶する第２記憶部を備える第２通信装置と、を備え、
前記第１通信装置は、
前記認証鍵の保存先と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けてデータベースに記憶する制御部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記データベースに記憶した前記第１の情報に対応する識別情報を有する送信元に対して接続要求を行う要求部と、を備える
ことを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
通信装置、データの通信方法及びネットワークシステムに関するものである。
【背景技術】
【０００２】
デジタルテレビジョンやＤＶＤ（Digital Versatile Disc）プレーヤーなどに装備されているデジタルインターフェースとして、著作権管理やデータの暗号化通信ができるIEEE1394 High Performance Serial Bus（ＩＥＥＥ１３９４）がある。
【０００３】
暗号化通信に適用する暗号化方式では、まず送信機器と受信機器との間で認証を行う。この認証方式としては、公開鍵暗号方式を利用した完全認証（Full Authentication）と、秘密鍵方式を利用した制限認証（Restricted Authentication）との２種類の方式が定められている。なお、制限認証では、No More CopyとCopy one generationという２種類のデータ（コンテンツ）までしか扱えないのに対し、完全認証では、上記２種類のデータに加えてCopy Neverのデータまで扱うことができる。そして、いずれの認証方式であっても認証が成功すると、図１４に示すように、送信機器１００と受信機器２００とで同一の認証鍵Ｋａｕｔｈを共有する。つぎに、送信機器１００は、データの種類（No More Copy,Copy one generation,Copy Never）毎に交換鍵Ｋｘを作成する。次いで、送信機器１００は、上記認証鍵Ｋａｕｔｈを用いて交換鍵Ｋｘを暗号化して暗号化交換鍵Ｋｓｘを作成し、この暗号化交換鍵Ｋｓｘを受信機器２００に送信する。受信機器２００は、暗号化交換鍵Ｋｓｘを受け取ると、上記共有した認証鍵Ｋａｕｔｈを用いて暗号化交換鍵Ｋｓｘを復号化することにより元の交換鍵Ｋｘを得る。このようにして、認証に成功した受信機器２００は、送信機器１００との間で同一の交換鍵Ｋｘを共有する。
【０００４】
送信機器１００は、さらにもう１つの公開鍵Nonce for content channel（Ｎｃ）を用意する。送信機器１００では、交換鍵Ｋｘ及び公開鍵Ｎｃの２つの鍵を利用して演算が行われてコンテンツ鍵Ｋｃが作成される。送信機器１００は、このコンテンツ鍵Ｋｃ（暗号化鍵）を用いて送信したいデータを暗号化して受信機器２００に転送する。受信機器２００は、公開鍵Ｎｃと上記共有した交換鍵Ｋｘの２つの鍵を利用してコンテンツ鍵Ｋｃを作成し、そのコンテンツ鍵Ｋｃを用いて送信機器１００からの暗号化データを復号化する。
【０００５】
このような暗号化方式によって、認証に成功した受信機器のみで暗号化データの内容を確認することができる。すなわち、認証手続きを行っていない受信機器では、コンテンツ鍵Ｋｃ（交換鍵Ｋｘ）の値が分からないため、転送されている暗号化データをたとえ取り込むことができたとしても、この暗号化データを復号化することができない。従って、不正なコピーを抑止することができる。
【０００６】
なお、上記従来技術に関連する先行技術として、非特許文献１が開示されている。
【非特許文献１】高田信司著「高速デジタルインターフェース  ＩＥＥＥ１３９４  ＡＶ機器への応用」日刊工業新聞社出版、２０００年１月、ｐ．１３３−１４９
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、データを転送する際には、完全認証及び制限認証のいずれかの認証方式によって送信機器と受信機器との間で認証を行う必要がある。但し、これら完全認証や制限認証は複雑な演算処理を必要とするため、処理に時間がかかる。とくに、完全認証方式では、楕円曲線暗号技術を利用した電子署名アルゴリズム（Digital Signature Algorithm：ＤＳＡ）とＤＨ鍵交換アルゴリズム（Diffie-Hellman Key exchange Algorithm）とが採用されており、非常に複雑な演算処理が必要である。このため、認証処理に多大な時間を要する。
【０００８】
ところが、ＩＥＥＥ１３９４バスに例えばノイズが乗るとバスの初期化が発生するが、そのバスの初期化後に再度の認証処理が必要であった。これにより、その認証処理及びその後の鍵交換が終わるまでは受信機器側で暗号化データを復号化できないため、データの通信が長時間にわたって中断されるという問題があった。
【課題を解決するための手段】
【０００９】
送信元との間の認証に基づいて生成される第１の鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶する記憶部と、前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得する取得部と、前記第１の情報と対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成する演算部と、を備える通信装置により達成される。
【発明の効果】
【００１０】
開示の通信装置によれば、データ通信の中断時間を短縮することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
（第１実施形態）
以下、本発明を具体化した第１実施形態を図１〜図７に従って説明する。
図２は、ＩＥＥＥ１３９４規格に準拠したシステム構成（トポロジ）を示す。ノードＡにはＩＥＥＥ１３９４バスケーブル（バスケーブル）１ａを介してノードＢが接続され、ノードＢにはバスケーブル１ｂを介してノードＣが接続され、ノードＣにはバスケーブル１ｃを介してノードＤが接続されている。なお、ノードＡ〜Ｄは、例えばＤＶＤプレーヤー、デジタルテレビジョン、デジタルセットトップボックス等の接続ポイントの総称である。ここでは、ノードＡ，Ｃは、ＤＶＤプレーヤーやデジタルセットトップボックス等の送信機器であり、ノードＢ，Ｄはデジタルテレビジョン等の受信機器である。
【００１２】
これらノードＡ〜Ｄは、コピープロテクション機能内蔵のＩＥＥＥ１３９４プロトコルコントローラ（ＩＰＣ）を備える。ここでは、受信機器であるノードＢの内部構成について詳しく説明する。なお、ノードＤもノードＢと同様の構成を備える。
【００１３】
ノードＢは、図１に示すように、ポート１０ａ，１０ｂと、ＩＰＣ２０と、制御ＣＰＵ３０と、メモリ３１と、デコーダ４０とを備える。
ポート１０ａはバスケーブル１ａを介してノードＡと接続され、ポート１０ｂはバスケーブル１ｂを介してノードＣと接続されている。これらポート１０ａ，１０ｂは、他ノードから受信する電気信号を装置内部で扱う電気信号に変換してＩＰＣ２０のＩＥＥＥ１３９４コントローラ部（コントローラ部）２１に出力する。また、ポート１０ａ，１０ｂは、コントローラ部２１からの電気信号をＩＥＥＥ１３９４規格の電気信号に変換して他ノードに送信する。
【００１４】
ＩＰＣ２０は、コントローラ部２１と、認証・鍵交換部２２と、交換鍵記憶部２３と、公開鍵保持部２４と、演算回路２５と、コンテンツ鍵保持部２６と、復号回路２７とを備える。なお、認証・鍵交換部２２、交換鍵記憶部２３、公開鍵保持部２４、演算回路２５、コンテンツ鍵保持部２６及び復号回路２７が、コピープロテクション機能を実現する。また、ＩＰＣ２０は、１チップの半導体集積回路装置（ＬＳＩ）にて形成されている。なお、上記ポート１０ａ，１０ｂや制御ＣＰＵ３０やメモリ３１とＩＰＣ２０とを、１チップのＬＳＩにて形成するようにしてもよい。
【００１５】
コントローラ部２１は、ＩＥＥＥ１３９４規格に準拠しており、物理層やリンク層などを含む。物理層では、トポロジ全体の初期化と再構築のためのバスのコンフィグレーションなどが行われる。なお、このバスのコンフィグレーションでは、トポロジ中の全ノードのバスに関する情報の初期化と、ルートノードの決定と、各ノードのノードＩＤの決定と、ノードＩＤを通知するためのセルフＩＤパケットの送信とが行われる。また、リンク層では、データＣＲＣやヘッダＣＲＣの生成、ＣＲＣチェックやパケットの送受信制御が行われる。
【００１６】
このコントローラ部２１は、公開鍵Ｎｃを含むパケットを送信機器から受信すると、そのパケットを制御ＣＰＵ３０に出力する。また、コントローラ部２１は、コンテンツ鍵Ｋｃで暗号化された暗号化データを含むパケットを送信機器から受信すると、そのパケットを復号回路２７に出力する。
【００１７】
認証・鍵交換部２２は、先の図１４で説明した認証処理及び鍵交換処理を実行する。認証・鍵交換部２２は、上記鍵交換処理によって取得される、全ての送信機器に対応する交換鍵Ｋｘを、制御ＣＰＵ３０によって指定される交換鍵記憶部２３の所定領域に入力側セレクタＳ１を通じて格納する。また、認証・鍵交換部２２は、制御ＣＰＵ３０から入力される公開鍵Ｎｃを公開鍵保持部２４に格納する。
【００１８】
交換鍵記憶部２３（の出力側セレクタＳ２）は、通信対象の送信機器に対応する交換鍵Ｋｘを選択するための制御ＣＰＵ３０からの選択信号に応じて、指定された交換鍵Ｋｘを演算回路２５に出力する。なお、この交換鍵記憶部２３は、初期値を乱数にしている。その理由を以下に説明する。
【００１９】
通常、交換鍵記憶部２３のような記憶領域の初期値は、ＬＳＩの初期値になる。このＬＳＩの初期値は、製造条件により、オール０やオール１になる可能性が高い。このように、交換鍵Ｋｘの記憶される領域がオール０やオール１などの値となると、その値が交換鍵Ｋｘとして悪用される可能性がある。詳述すると、認証手続きの行われていない受信機器において、送信機器から送信された暗号化データが受信されたとしても、通常はコンテンツ鍵Ｋｃの値が分からないため、暗号化データを正常に復号化することができない。但し、このとき認証手続きの行われていない受信機器であっても、公開鍵Ｎｃの値は公開されているため、その値を取得することができる。このため、受信機器では、交換鍵Ｋｘの値のみが分からない。換言すると、受信機器は、交換鍵Ｋｘの値さえ推測できれば、認証手続きを行うことなく暗号化データを復号化できてしまう。
【００２０】
ここで、受信機器において、正しくない交換鍵Ｋｘを使用すると、当然、暗号化データを正常に復号化することはできない。しかし、その異常に復号化されたデータにはある規則性が存在する。このとき、オール０やオール１などの値を交換鍵Ｋｘとして使用していると、異常に復号化されたデータは毎回同じ規則性を有することになる。そして、この規則性から正しい交換鍵Ｋｘが推測される可能性が高くなる。このように、オール０やオール１などの値が交換鍵Ｋｘとして悪用されると、認証手続きの行われていない不正な受信機器において、コピーガードが破られる可能性が高くなる。
【００２１】
これに対し、交換鍵記憶部２３の初期値を乱数にすることにより、異常に復号化されるデータも毎回ランダムな値になるため、交換鍵Ｋｘの正しい値が推測されることを効果的に抑制することができる。これにより、クラッキングに対する安全性を向上させることができる。
【００２２】
公開鍵保持部２４は、保持している公開鍵Ｎｃを演算回路２５に出力する。演算回路２５は、入力した交換鍵Ｋｘと公開鍵Ｎｃとを用いて演算してコンテンツ鍵Ｋｃを作成し、そのコンテンツ鍵Ｋｃをコンテンツ鍵保持部２６に記憶する。コンテンツ鍵Ｋｃは、保持しているコンテンツ鍵Ｋｃを復号回路２７に出力する。
【００２３】
復号回路２７は、コントローラ部２１から入力される暗号化データを、コンテンツ鍵保持部２６からのコンテンツ鍵Ｋｃを用いて復号化する。なお、この復号回路２７は、例えばＭ６暗号化アルゴリズムに基づいて、暗号化データを復号化する。そして、復号回路２７は、復号化した復号化パケット（例えばＭＰＥＧパケットなど）をデコーダ４０に出力する。デコーダ４０は、復号回路２７からの復号化パケットから画像データなどを取得する。そして、例えばデコーダ４０からテレビモニタなどに出力することにより、テレビモニタで動画像が得られる。
【００２４】
制御ＣＰＵ３０は、ＩＰＣ２０及びデコーダ４０を統括的に制御する。この制御ＣＰＵ３０は、送信機器に対してコンテンツ・キー・リクエストを行い、そのコンテンツ・キー・リクエストにより取得した公開鍵Ｎｃを認証・鍵交換部２２に出力する。制御ＣＰＵ３０は、認証・鍵交換部２２による鍵交換処理にて取得された交換鍵Ｋｘの保存先を指定する信号を認証・鍵交換部２２に出力する。このとき、制御ＣＰＵ３０は、その交換鍵Ｋｘの保存先と、認証相手の送信機器のノードＩＤ（識別情報）と、その送信機器のアイソクロナスチャネル番号（チャネル番号）ＣＨとを対応付けてメモリ３１のデータベースＤＢ（図４参照）に記憶する（図４参照）。また、制御ＣＰＵ３０は、現在受信中のチャネル番号ＣＨに基づいて、そのチャネル番号ＣＨの送信機器に対応する交換鍵Ｋｘを選択する信号を交換鍵記憶部２３の出力側セレクタＳ２に出力する。すなわち、本実施形態では、制御ＣＰＵ３０が直接交換鍵Ｋｘの値を読めないようにしている。また、制御ＣＰＵ３０は、バスリセット前後で送信機器のノードＩＤが変化したときに、上記データベースＤＢ内のノードＩＤを変化後のノードＩＤに更新する。このように、本実施形態の制御ＣＰＵ３０は、取得部、選択部、制御部及び更新部として機能する。
【００２５】
次に、このように構成されたネットワークシステム（とくに、ノードＢ）の動作を説明することにより、各構成の機能についてさらに詳述する。
まず、ノードＡ〜Ｄの電源投入時における認証・鍵交換方法を図３に従って説明する。
【００２６】
今、図２に示すノードＡ〜Ｄの電源が投入されると、各ノードＡ〜Ｄのコントローラ部２１によってバスのコンフィグレーションが行われる。すなわち、まずバス初期化フェーズにおいて、バスリセットが発生される（ステップＳ１）。これにより、すべてのノードにおけるトポロジに関する情報が消去される。このバス初期化の終了後に、ツリー識別フェーズにおいて図２に示すツリー状のトポロジが形成され、ルートやアイソクロナスリソースマネージャとなるノードが決定される（ステップＳ２）。続いて、自己識別フェーズにおいて各ノードＡ〜ＤのノードＩＤが決定され、そのノードＩＤなどを含むセルフＩＤパケットが各ノードＡ〜Ｄからブロードキャスト送信される（ステップＳ３）。なお、ここでは、図２に示すように、ノードＡ，Ｂ，Ｃ，Ｄの順番でノードＩＤが「０」、「１」、「２」、「３」と付されるものとする。上記セルフＩＤパケットを受信することによって、トポロジ内のノード数や各ノードのノードＩＤを取得することができ、トポロジ内のノード数がメモリ３１に記憶される（ステップＳ４）。
【００２７】
バスのコンフィグレーションが終了すると、ＩＥＣ６１８８３規格で規定されるＡＶ／Ｃプロトコルに従って、各ノードＡ〜Ｄは、自ノード以外のノードのコンフィグレーションＲＯＭやプラグコントロールレジスタ（ｏＰＣＲなど）を読み出す（ステップＳ５）。なお、コンフィグレーションＲＯＭには、メーカ識別用のコンパニーＩＤ、チップを識別するためのチップＩＤ、モジュールのメーカを識別するためのベンダＩＤやシリアルナンバーなどのノード固有の情報が格納されている。このため、これらの情報を読み出すことにより、各ノードＡ〜Ｄは、現在バスに接続されているノードがどのような装置であるかを認識することができる。なお、これら読み出した情報はメモリ３１などに記憶される。
【００２８】
ここで、ＩＥＥＥ１３９４のデータ転送には、任意のタイミングでのデータ送受信が許容されるエイシンクロナス（Ａｓｙｎｃ）転送モードと、一定の時間間隔で音声や映像信号等のリアルタイム性が必要なデータを送ることのできるアイソクロナス（Ｉｓｏ）転送モードがある。Ａｓｙｎｃ転送モードでは、送信元と送信先のノードＩＤが必要であるのに対し、Ｉｓｏ転送モードでは、アイソクロナスチャネル番号（チャネル番号）が必要になる。このため、Ｉｓｏ転送モードでデータを転送するためには、各送信機器はチャネル番号と帯域幅を確保する必要がある。このチャネル番号と帯域幅は、バスに接続されている全てのノードの資源（リソース）であり、これらリソースを管理するのがアイソクロナスリソースマネージャである。このアイソクロナスリソースマネージャは、チャネル番号の使用情報と帯域幅の残量が格納されるレジスタを公開することにより、上記リソースを管理している。
【００２９】
そして、ステップＳ６において、ＡＶ／Ｃプロトコルに従って、送信機器（ここでは、ノードＡ，Ｃ）における送信用のチャネル番号と出力プラグ（ｏＰＣＲ）とが確保される。なお、チャネル番号は、アイソクロナスリソースマネージャの公開するレジスタを書き換えることにより確保される。ここでは、ノードＡはチャネル番号ＣＨ１を確保し、ノードＣはチャネル番号ＣＨ５を確保したものとする。続いて、受信機器（ここでは、ノードＢ，Ｄ）は、上記確保されたチャネル番号を使用して送信されるデータを受信するために、受信用のチャネル番号に関する入力プラグ（ｉＰＣＲ）を設定する（ステップＳ７）。
【００３０】
次に、各受信機器（ノードＢ，Ｄ）は、アイソクロナスリソースマネージャのレジスタに登録された、全ての送信機器との間で認証処理及び鍵交換処理を実施する（ステップＳ８）。例えばノードＢの認証・鍵交換部２２は、まずノードＡとの間で認証処理及び鍵交換処理を行う。ノードＡ，Ｂ間で認証が成功し鍵交換処理が正常に完了すると、ノードＢでは交換鍵Ｋｘが取得される。このとき、ノードＢの制御ＣＰＵ３０は、取得した交換鍵Ｋｘを交換鍵記憶部２３の所定領域に保存させるために、その保存先を指定する信号を認証・鍵交換部２２に出力する。認証・鍵交換部２２は、制御ＣＰＵ３０からの保存先の指定を受けて、取得した交換鍵Ｋｘを交換鍵記憶部２３の指定領域に格納する（ステップＳ９）。さらに、このとき制御ＣＰＵ３０は、図４に示すように、その交換鍵Ｋｘの保存先（アドレスや識別番号など）ＡＤＤ１と、ノードＡのチャネル番号ＣＨ１と、ノードＡのノードＩＤ「０」とを対応付けてメモリ３１のデータベースＤＢに記憶する（ステップＳ１０）。なお、このときノードＡ，Ｂの双方が完全認証に対応している場合には、最大で３種類のデータ（No More Copy,Copy one generation,Copy Never）に対応する交換鍵Ｋｘが取得される。また、ノードＡ，Ｂの少なくとも一方が完全認証に対応していない場合には、最大で２種類のデータ（No More Copy,Copy one generation）に対応する交換鍵Ｋｘが取得される。ここでは、説明の簡便化のため、各送信機器について、１種類の交換鍵Ｋｘが取得されるものとする。
【００３１】
続いて、ノードＢは、もう一つの送信機器であるノードＣとの間で認証処理及び鍵交換処理を行って（ステップＳ８）、取得した交換鍵Ｋｘを交換鍵記憶部２３に格納する（ステップＳ９）。そして、ノードＢの制御ＣＰＵ３０は、その交換鍵Ｋｘの保存先ＡＤＤ２と、ノードＣのチャネル番号ＣＨ５と、ノードＣのノードＩＤ「２」とを対応付けてメモリ３１のデータベースＤＢに記憶する。なお、ノードＤも同様に、全ての送信機器（ノードＡ，Ｃ）と認証処理及び鍵交換処理を実施し、交換鍵Ｋｘを取得して交換鍵記憶部２３に格納し、その交換鍵Ｋｘの保存先とチャネル番号ＣＨとノードＩＤとを対応付けてデータベースＤＢに記憶する。
【００３２】
以上のように、ノードＡ〜Ｄの電源投入時に、全ての受信機器が全ての送信機器との間で認証・鍵交換処理を行って、全ての送信機器の交換鍵Ｋｘを予め保持しておくことで、通信相手を切り替えるたびに認証・鍵交換処理を行う必要がなくなる。これにより、通信の切り替えを迅速に行うことができる。
【００３３】
次に、データ受信時のノードＢの動作を図５に従って説明する。
今、ノードＢがノードＡから送信されるデータを受信したい場合に、ノードＢにおいて、自動あるいは人為的な操作によってノードＡのチャネル番号ＣＨ１が選択される（ステップＳ２１）。すると、ノードＢの制御ＣＰＵ３０は、ノードＡに対してコンテンツ・キー・リクエストを行う（ステップＳ２２）。なお、このコンテンツ・キー・リクエストは、Ａｓｙｎｃ転送モードにて行われるため、転送元及び転送先のノードＩＤが必要となる。ここでは、上記ステップＳ１０にてメモリ３１にチャネル番号ＣＨとノードＩＤとが対応付けて記憶されているため、選択されたチャネル番号ＣＨ１に対応するノードＩＤ「２」を転送先のノードＩＤとしてコンテンツ・キー・リクエストが行われる。これにより、ノードＡに対してコンテンツ・キー・リクエストが正確に行われる。
【００３４】
このコンテンツ・キー・リクエストによって、ノードＢは、送信対象のノードＡが使用している公開鍵Ｎｃを受信する（ステップＳ２３）。すると、ノードＢの制御ＣＰＵ３０は、受信した公開鍵Ｎｃを認証・鍵交換部２２を介して公開鍵保持部２４に格納（設定）する。なお、規格上、公開鍵保持部２４には、受信した公開鍵Ｎｃと併せて、その公開鍵Ｎｃを１回更新した後の公開鍵についても格納されるようになっている。
【００３５】
次に、ノードＢの制御ＣＰＵ３０は、メモリ３１のデータベースＤＢに基づいて、上記選択されたチャネル番号ＣＨ１に対応する交換鍵Ｋｘの保存先ＡＤＤ１を指定する信号を交換鍵記憶部２３の出力側セレクタＳ２に出力する。これにより、交換鍵記憶部２３の指定領域ＡＤＤ１に保持された所望の交換鍵Ｋｘが選択されて演算回路２５に出力される（ステップＳ２４）。この演算回路２５は、公開鍵保持部２４からの公開鍵Ｎｃと交換鍵記憶部２３からの交換鍵Ｋｘとを用いて演算してコンテンツ鍵Ｋｃを作成し、そのコンテンツ鍵Ｋｃをコンテンツ鍵保持部２６に格納（設定）する（ステップＳ２５）。これにより、通信対象のノードＡの暗号化に使用されるコンテンツ鍵Ｋｃと同一のコンテンツ鍵ＫｃをノードＢ内に設定することができる。その後、ノードＢは、ノードＡから送信されるデータ（暗号化データ）の受信を開始する（ステップＳ２６）。具体的には、ノードＢの復号回路２７は、コントローラ部２１を介して受信した暗号化データを、コンテンツ鍵保持部２６からのコンテンツ鍵Ｋｃを用いて復号化し、その復号化データをデコーダ４０に出力する。
【００３６】
なお、所定時間（３０秒〜２分）毎に公開鍵Ｎｃが自動的に更新されるため（具体的には、１インクリメントされるため）、制御ＣＰＵ３０はその更新を検出して更新後の公開鍵Ｎｃを公開鍵保持部２４に設定する。
【００３７】
次に、ノードＢにおいて通信対象（送信機器）の切り替えが行われた場合の処理を図６に従って説明する。
今、ノードＢがノードＡからデータを受信しているときに、ノードＢにおいて自動あるいは人為的な操作によってチャネル番号がＣＨ１からＣＨ５に切り替えられる（ステップＳ３１）。すなわち、ノードＢは、ノードＣから送信されるデータを受信するように切り替わる。すると、ステップＳ３２〜Ｓ３６において、上記ステップＳ２２〜Ｓ２６と同様の処理が行われ、ノードＣから送信される暗号化データの受信が開始される。すなわち、制御ＣＰＵ３０は、メモリ３１のデータベースＤＢに基づいて、チャネル番号ＣＨ５に対応するノードＩＤ「２」を転送先としてコンテンツ・キー・リクエストを実施し（ステップＳ３２）、ノードＣから公開鍵Ｎｃを受信する（ステップＳ３３）。次に、制御ＣＰＵ３０は、チャネル番号ＣＨ５に対応する交換鍵Ｋｘの保存先ＡＤＤ２を指定し、その指定領域ＡＤＤ２に保持された交換鍵Ｋｘを選択する（ステップＳ３４）。これにより、通信対象のノードＣの暗号化に使用されるコンテンツ鍵Ｋｃと同一のコンテンツ鍵ＫｃをノードＢ内に設定することができる。このように、通信対象の切り替えが行われた場合に、先のステップＳ８，Ｓ９で予め取得しておいた交換鍵Ｋｘを選択して使用することにより、認証処理及び鍵交換処理を行うことなく、所望の交換鍵Ｋｘの設定をすることができる。このため、通信の切り替え時間を大幅に短縮することができる。
【００３８】
次に、トポロジの変化やノイズの発生などによりバスリセットが発生した場合のノードＢの認証・鍵交換処理の方法を図７に従って説明する。
今、ノードＢ，Ｃ間でデータ転送が行われているときに、ノードＡ〜Ｄ（図２参照）にバスリセットが発生すると（ステップＳ４１）、ステップＳ４２〜Ｓ４５において、図３のステップＳ２〜Ｓ５と同様の処理が行われる。
【００３９】
このとき、上記バスリセットがバスにノイズが乗ったことによるものであり、トポロジに変化がない場合であっても、各ノードのノードＩＤはバスリセット前のノードＩＤから変わる可能性がある。一方、チャネル番号については、規格上、バスリセットから所定時間（例えば１秒）以内にバスのコンフィグレーションが終了した場合には、バスリセット前に確保していたチャネル番号をそのまま使用するように定められている。ここで、バスケーブルにノイズが乗ってバスリセットが発生した場合には、バスリセットから約０．６〜０．７秒でバスのコンフィグレーションが終了する。このため、ノイズによってバスリセットが発生した場合には、そのバスリセット前後でチャネル番号が変化しない。本実施形態では、このようにバスリセット前後でチャネル番号が変化しないことを利用して、メモリ３１のデータベースＤＢに記憶されたノードＩＤを更新することにより、ノイズによってバスリセットが発生した場合における認証処理を省略するようにしている。
【００４０】
具体的には、ステップＳ４６において、各受信機器（ノードＢ，Ｄ）の制御ＣＰＵ３０は、上記ステップＳ４３〜Ｓ４５で取得した情報（セルフＩＤパケット、コンフィグレーションＲＯＭなど）に基づいて、バスに接続されているノード数及び接続状態がバスリセット前と同じか否かを判定する。このとき、バスに接続されているノード数及び接続状態のいずれかが変化している場合には（ステップＳ４６においてＮＯ）、バスリセット前とトポロジが変化しているため、ノードＡ，Ｃのチャネル番号も変化する可能性がある。このようにチャネル番号が変わると、上述したようにノードＩＤもバスリセット前と変わるため、先のステップＳ８，Ｓ９の認証・鍵交換処理において取得した交換鍵Ｋｘがどの送信機器（チャネル番号又はノードＩＤ）に対応するものであるかが不明となる。従って、このような場合には、図３のステップＳ６〜Ｓ１０の処理を再度実行し、新たに取得した交換鍵Ｋｘとチャネル番号ＣＨとノードＩＤとを対応付けたデータベースを作成し直す。
【００４１】
一方、ステップＳ４６において、バスに接続されているノード数及び接続状態がバスリセット前と同じである場合には（ステップＳ４６においてＹＥＳ）、制御ＣＰＵ３０（判定部）は、バスリセット前後でトポロジに変化がないと判断する。換言すると、制御ＣＰＵ３０は、先のステップＳ４１のバスリセットがノイズによるものと判断し、ノードＡ，Ｃのチャネル番号に変化がないと判断してステップＳ４７に移る。続いて、ステップＳ４７において、制御ＣＰＵ３０は、送信機器であるノードＡ，ＣのノードＩＤがバスリセット前と変化したか否かを判定する。すなわち、制御ＣＰＵ３０は、メモリ３１のデータベースＤＢにおけるチャネル番号ＣＨとノードＩＤとの対応関係と、現在のノードＡ，Ｃにおけるチャネル番号ＣＨとノードＩＤとの対応関係とを比較して変化があるか否かを判定する。具体的には、チャネル番号ＣＨがバスリセット前後で変化していないため、チャネル番号ＣＨに対応するノードＩＤがバスリセット前後で変化したか否かを判定する。
【００４２】
そして、制御ＣＰＵ３０は、送信機器のノードＩＤがバスリセット前から変化したことを検出すると（ステップＳ４７においてＮＯ）、メモリ３１のデータベース内のノードＩＤを現在のノードＩＤに更新する（ステップＳ４８）。このように更新されたノードＩＤを転送先のノードＩＤとして用いることにより、コンテンツ・キー・リクエストやＡＶ／Ｃコマンドを所望（通信対象）の送信機器（ここでは、ノードＣ）に対して行うことができる。このため、ノードＢは、送信対象のノードＣにて使用される公開鍵Ｎｃを正確に受信することができる。なお、このとき、ノードＢの制御ＣＰＵ３０によって、現在（バスリセット前から）受信中のチャネル番号ＣＨ５に対応する交換鍵Ｋｘの保存先ＡＤＤ２が指定され、その指定領域に保持された交換鍵Ｋｘが選択されている（図５のステップＳ２４参照）。これにより、通信対象のノードＣと同一のコンテンツ鍵ＫｃがノードＢ内に設定される（図５のステップＳ２５参照）。
【００４３】
このため、ノードＢは、ノードＩＤ（データベースＤＢ）の更新が終了すると、ノードＣから送信されるデータ（暗号化データ）の受信が再開される（ステップＳ４９）。なお、ステップＳ４７において、各送信機器のノードＩＤがバスリセット前後で変化していない場合には、ステップＳ４８の処理を行うことなくデータの受信が再開される。
【００４４】
これにより、ノイズによってバスリセットが発生したとしても、認証処理及び鍵交換処理を行うことなく、データの受信を再開することができる。従って、ノイズによってバスリセットが発生した場合におけるデータ受信の中断時間を大幅に短縮することができる。
【００４５】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）交換鍵Ｋｘの保存先と、チャネル番号ＣＨと、ノードＩＤとを対応付けてデータベースＤＢに記憶するようにした。ここで、チャネル番号ＣＨは、ノイズによってバスリセットが発生した場合には、そのバスリセットの前後で変化しない。このため、データ受信中にノイズによってバスリセットが発生したとしても、コンフィグレーションＲＯＭの読み出し（ステップＳ４５）さえ終了すれば、チャネル番号を基準にしてノードＩＤがバスリセット前後でどのように変化したかが分かる。すなわち、バスに接続されたノード数及び接続状態を認識してトポロジに変化がないことさえ確認できれば、チャネル番号を基準にしてノードＩＤがバスリセット前後でどのように変化したかが分かる。
【００４６】
そして、このノードＩＤの変化情報に基づいてデータベースＤＢ内のノードＩＤを更新し、その更新後のノードＩＤを用いてコンテンツ・キー・リクエストを行うことにより、現在受信中のチャネル番号の送信機器から正確に公開鍵Ｎｃを取得することができる。さらに、現在受信中のチャネル番号ＣＨに対応する交換鍵Ｋｘを選択して使用することにより、通信対象の送信機器と同一のコンテンツ鍵Ｋｃを受信機器内に設定することができる。以上のことから、本実施形態の受信機器によれば、データ通信中にノイズによってバスリセットが発生したとしても、認証処理及び鍵交換処理を再度行うことなく、データの受信を再開することができる。従って、ノイズによってバスリセットが発生した場合におけるデータ受信の中断時間を大幅に短縮することができる。
【００４７】
（２）ノードＡ〜Ｄの電源投入時に、全ての受信機器が全ての送信機器との間で認証・鍵交換処理を行って、全ての送信機器の交換鍵Ｋｘを予め保持するようにした。これにより、通信相手を切り替えるたびに認証・鍵交換処理を行う必要がなくなるため、通信の切り替えを迅速に行うことができる。
【００４８】
（３）交換鍵記憶部２３の初期値を乱数にした。これにより、その初期値が交換鍵Ｋｘとして悪用されたとしても、交換鍵Ｋｘの正しい値が推測されることが効果的に抑制される。従って、クラッキングに対する安全性を向上させることができる。
【００４９】
（４）交換鍵記憶部２３に保持された交換鍵Ｋｘを制御ＣＰＵ３０から直接読めないようにした。これにより、クラッキングに対する安全性を向上させることができる。
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
【００５０】
・上記実施形態では、制御ＣＰＵ３０がチャネル番号ＣＨに基づいてどの交換鍵Ｋｘを使用するか選択する。これに限らず、例えば受信中のチャネル番号ＣＨに基づいて、交換鍵記憶部２３に保持している交換鍵Ｋｘの中から使用する交換鍵Ｋｘを自動的に選択するようにしてもよい。すなわち、図８に示すように、交換鍵記憶部２３に、交換鍵Ｋｘと併せてその交換鍵Ｋｘに対応するチャネル番号ＣＨを記憶する。さらに、受信中のチャネル番号ＣＨを選択信号として出力側セレクタＳ２に入力し、出力側セレクタＳ２がその受信中のチャネル番号ＣＨに対応する交換鍵Ｋｘを選択するようにしてもよい。これにより、受信機器（ノードＢ）において受信するチャネル番号ＣＨを選択するだけで、出力側セレクタＳ２によって自動的にそのチャネル番号ＣＨに対応する交換鍵Ｋｘを選択することができる。従って、受信するチャネル番号ＣＨが切り替わっても、自動的に交換鍵Ｋｘの選択を追随させることができる。
【００５１】
・上記実施形態におけるコンテンツ鍵保持部２６を省略してもよい。この場合、演算回路２５にて演算され作成されたコンテンツ鍵Ｋｃを直接復号回路２７に出力する。
・上記実施形態では、交換鍵記憶部２３の初期値を乱数にしたが、例えば交換鍵記憶部２３の初期値をオール０やオール１にしてもよい。
【００５２】
・上記実施形態における交換鍵記憶部２３の記憶領域に特に制限はない。すなわち、交換鍵記憶部２３の記憶領域は、システム全体の仕様により決定すればよい。例えばＩＥＥＥ１３９４規格では、１つのバスに流すことのできるチャネル番号の最大値が６４である。このため、上記実施形態のように６４つの交換鍵Ｋｘを格納できる場合には、１台の送信機器が１種類のデータを流すシステムを考えると、６４台分の送信機器に対応する交換鍵Ｋｘを交換鍵記憶部２３に格納することができる。これに対し、例えばバスに接続される送信機器が少ないことが予め決まっている場合などには、交換鍵記憶部２３の記憶領域を減らすようにしてもよい。
【００５３】
・上記実施形態では、受信機器（ノードＢ，Ｄ）に、鍵交換処理にて取得した全ての送信機器（ノードＡ，Ｃ）の交換鍵Ｋｘを保持するようにした。この交換鍵Ｋｘに限らず、コンテンツ鍵Ｋｃ（暗号化鍵）の生成に必要な鍵（第１の鍵）であれば特に制限されない。例えば交換鍵Ｋｘの代わりに認証鍵Ｋａｕｔｈと暗号化交換鍵Ｋｓｘを保持するようにしてもよい。なお、この場合、制御ＣＰＵ３０は、認証鍵Ｋａｕｔｈ及び暗号化交換鍵Ｋｓｘの少なくとも一方の保存先と、チャネル番号ＣＨと、ノードＩＤとを対応付けてデータベースＤＢに記憶する。あるいは、交換鍵Ｋｘと併せて認証鍵Ｋａｕｔｈを保持するようにしてもよい。
【００５４】
・上記実施形態では、交換鍵Ｋｘと、チャネル番号ＣＨと、ノードＩＤ（識別情報）とを対応付けてデータベースＤＢに記憶するようにした。これに限らず、チャネル番号に代えて例えばノード固有ＩＤを、交換鍵ＫｘとノードＩＤと対応付けてデータベースＤＢに記憶するようにしてもよい。すなわち、交換鍵ＫｘとノードＩＤと対応付けて記憶される値は、バスの初期化に伴って変化しない値であって送信元（ここでは、ノードＡ，Ｃ）に対応する情報（第１の情報）であれば特に制限されない。換言すると、交換鍵ＫｘとノードＩＤと対応付けて記憶される値は、バスリセット前後で変化しない値であって送信機器を特定可能な固定値であれば特に制限されない。
【００５５】
・上記実施形態では、１つの交換鍵Ｋｘと、１つのチャネル番号ＣＨと、１つのノードＩＤとを対応付けてデータベースＤＢに記憶するようにした。ところで、送信機器の機能によっては、２つのチャネル番号ＣＨを使ってデータを送信する場合があるが、その場合には、２つのチャネル番号ＣＨで同一の交換鍵Ｋｘを用いて送信される。このため、このような場合には、制御ＣＰＵ３０は、１つの交換鍵Ｋｘに対して、２つのチャネル番号ＣＨと、１つのノードＩＤとを対応付けてデータベースＤＢに記憶するようにしてもよい。
【００５６】
・上記実施形態では、送信機器へのコンテンツ・キー・リクエストを制御ＣＰＵ３０が行うようにした。これに限らず、ＩＰＣ２０（例えば認証・鍵交換部２２）がコンテンツ・キー・リクエストを行うようにしてもよい。また、制御ＣＰＵ３０をＩＰＣ２０に含めて１チップのＬＳＩにて形成するようにしてもよい。
【００５７】
・上記実施形態では、ＡＶ／Ｃプロトコルに従って、アイソクロナスリソースマネージャによりリソース管理を厳密に行うようにした。これに限らず、例えばバス上にサイクルマスタが存在し、送信機器（ノードＡ，Ｃ）のチャネル番号ＣＨが固定される場合には厳密にリソース管理を行う必要はない。すなわち、送信機器のチャネル番号ＣＨが固定される場合には図３のステップＳ６，Ｓ７が省略される。なお、この場合には、バスリセットが発生したとしても、トポロジの変化の有無に関わらず送信機器のチャネル番号ＣＨは変化しない。
【００５８】
このため、ノードの追加などによりバスリセット前後でトポロジが変化したとしても、元々トポロジ内に存在したノードについては、バスリセット前後で変化しないチャネル番号を基準にして、ノードＩＤがどのように変化したかが分かる。従って、データベースＤＢ内のノードＩＤを更新することにより、バスリセット前に認証・鍵交換処理が完了している機器間では、バスリセット後に認証・鍵交換処理を再度行うことなく、データの受信を開始することができる。すなわち、バスリセット後には、新たに追加されたノードとの間のみで認証・鍵交換処理を行えば足りる。
【００５９】
なお、ノードの物理的な切断などによってバスリセット前後でトポロジ内のノード数が減った場合にも、上記同様にノードＩＤを更新することができる。また、メモリ３１に記憶しているバスリセット前のノード情報とバスリセット後のノード情報に基づき、どのノードが物理的に切断されたかが分かるため、その切断されたノード情報をデータベースＤＢなどから削除する。これにより、バスリセット後に認証・鍵交換処理を再度行うことなく、データの受信を開始することができる。
【００６０】
・上記実施形態では、ノードＡ〜Ｄの電源投入時に、全ての受信機器が全ての送信機器との間で認証・鍵交換処理を行って、全ての送信機器の交換鍵Ｋｘを予め保持しておくようにした。これに限らず、受信機器は、電源投入時ではなく、例えば通信の切り替えなどによって所定の送信機器とはじめに認証・鍵交換処理を行ったときに、その所定の送信機器の交換鍵Ｋｘを保持するようにしてもよい。これにより、それ以降に通信対象として上記所定の送信機器を選択したときに、再度の認証・鍵交換処理を行うことなく、データの受信を開始することができる。このため、通信の切り替え時間を短縮することができる。
【００６１】
・図９に示されるように、認証処理において受信機器（ここでは、ノードＢ）及び送信機器（ここでは、ノードＡ）に共有された認証鍵Ｋａｕｔｈを受信機器と送信機器の双方で保持するようにしてもよい。これにより、一旦認証の完了した機器間で再度の認証処理を行うことなく、ＲＴＴ測定処理を実行することができる。この点について以下に詳述する。
【００６２】
まず、ＲＴＴ測定処理について簡単に説明する。近年、コンテンツ保護のために、暗号化通信では送信機器と受信機器との接続範囲の制限を求めている。すなわち、送信機器と受信機器とのパケット往復時間（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ：ＲＴＴ）を測定し、そのＲＴＴが制限時間以下である場合にのみ、送信機器は受信機器にデータを送信できる。ここで、ＲＴＴとは、送信機器からＲＴＴコマンドが受信機器に対して送信されてから、受信機器が当該コマンドに対する応答パケットを送信機器に対して送信し、その応答パケットを送信機器が受信するまでの時間のことである。なお、上記ＲＴＴコマンド及び応答パケットは、認証処理時に送信機器及び受信機器間で共有される認証鍵Ｋａｕｔｈを用いて生成される。このため、送信機器と受信機器の双方に認証鍵ＫａｕｔｈがなければＲＴＴ測定処理を実行することができない。従って、認証・鍵交換処理によって交換された交換鍵Ｋｘを受信機器で保持したとしても、その認証・鍵交換処理後に再度ＲＴＴ測定処理を実行する必要が生じた場合には、認証鍵Ｋａｕｔｈを取得するために再度認証処理を行う必要がある。
【００６３】
そこで、図９に示すように、受信機器と送信機器の双方で認証鍵Ｋａｕｔｈを保持することにより、認証・鍵交換処理後に再度ＲＴＴ測定処理を実行する場合に、認証処理を省略するようにしてもよい。すなわち、受信機器であるノードＢのコピープロテクション（ＤＴＣＰ）部２８は、送信機器であるノードＡとの間で認証が成功し、ノードＡとの間で共有した認証鍵Ｋａｕｔｈを認証鍵記憶部２９に格納する。なお、このＤＴＣＰ部２８は、認証処理、ＲＴＴ測定処理、鍵交換処理及びコンテンツ鍵Ｋｃの作成を実行する。また、制御ＣＰＵ３０は、その認証鍵Ｋａｕｔｈの保存先と、ノードＡのチャネル番号ＣＨと、ノードＡのノードＩＤとを対応付けてメモリ３１のデータベースＤＢに記憶する。
【００６４】
一方、送信機器であるノードＡは、ノードＢと同様に、ポート５０ａ，５０ｂと、ＩＥＥＥ１３９４プロトコルコントローラ（ＩＰＣ）６０と、制御ＣＰＵ７０と、エンコーダ８０とを備える。ＩＰＣ６０は、ＩＥＥＥ１３９４コントローラ部６１と、ＤＶＤプレーヤーなどであるエンコーダ８０からのデータ（例えばＭＰＥＧデータ）を暗号化する暗号回路６７と、ＤＴＣＰ部６８と、認証鍵記憶部６９とを備える。ＤＴＣＰ部６８は、ノードＢとの間で共有した認証鍵Ｋａｕｔｈを認証鍵記憶部６９に格納する。なお、このＤＴＣＰ部６８は、認証処理、ＲＴＴ測定処理、鍵交換処理及びコンテンツ鍵Ｋｃの作成を実行する。
【００６５】
このように構成されたノードＡ，Ｂ間で行われるＲＴＴ測定処理について図１０に従って説明する。
今、ノードＡ，Ｂ間では一度認証・鍵交換処理及びＲＴＴ測定処理が完了され、その認証処理時に共有された認証鍵ＫａｕｔｈがノードＡ，Ｂの認証鍵記憶部２９，６９に保持されている。このとき、例えばバスリセットの発生後にノードＡ，Ｂ間でＲＴＴ測定処理を実行する要求があると、受信機器であるノードＢの制御ＣＰＵ３０は、チャネル番号を基準にしてデータベースＤＢのノードＩＤを更新する（図７のステップＳ５０）。続いて、制御ＣＰＵ３０（要求部）は、更新後のノードＩＤに基づいて、測定対象であるノードＡに対して接続要求を通知する（ステップＳ６１）。ノードＡの制御ＣＰＵ７０（読み出し部）は、その接続要求に応じてその接続要求の送信元であるノードＢに対応する認証鍵Ｋａｕｔｈを認証鍵記憶部６９から読み出す（ステップＳ６２）。なお、ノードＢでは、上記接続要求に伴って、ノードＡに対応する認証鍵Ｋａｕｔｈが認証鍵記憶部２９から読み出される。
【００６６】
続いて、ステップＳ６３において、ノードＡ，ＢのＤＴＣＰ部２８，６８によって、上記読み出した認証鍵Ｋａｕｔｈを用いてＲＴＴ測定処理が実施される。具体的には、ノードＡのＤＴＣＰ部６８は、上記読み出した認証鍵Ｋａｕｔｈを用いてＲＴＴコマンドを生成してノードＢに送信する。ノードＢのＤＴＣＰ部２８は、ノードＡからのＲＴＴコマンドを受信すると、認証鍵記憶部２９から読み出した認証鍵Ｋａｕｔｈを用いてＲＴＴコマンドに対する応答パケットを生成する。そして、ノードＢのＤＴＣＰ部２８は、生成した応答パケットをノードＡに送信する。ノードＡは、この応答パケットを受信すると、ＲＴＴコマンドを送信してから応答パケットを受信するまでの時間（ＲＴＴ）が制限時間内であるかを判定し、ＲＴＴが制限時間内であればステップＳ６４に移る。
【００６７】
ステップＳ６４において、ノードＡ，Ｂ間で上記認証鍵Ｋａｕｔｈを用いて鍵交換処理が実施されノードＡ，Ｂ間で交換鍵Ｋｘが共有され、さらにコンテンツ鍵Ｋｃが共有される。これにより、ノードＢにおいて、ノードＡから送信されるデータの受信が開始される（ステップＳ６５）。
【００６８】
なお、はじめの認証・鍵交換処理において、ノードＢ（受信機器）で認証鍵Ｋａｕｔｈと併せて交換鍵Ｋｘを保持しておくことにより、上記ステップＳ６４を省略することができる。
【００６９】
・上記実施形態では、安全性を高めるために、制御ＣＰＵ３０から直接交換鍵記憶部２３（又は、図９の受信機器側の認証鍵記憶部２９）に保持された交換鍵Ｋｘ（認証鍵Ｋａｕｔｈ）の値を読めないようにした。これに限らず、例えば制御ＣＰＵ３０から交換鍵記憶部２３（認証鍵記憶部２９）に保持された交換鍵Ｋｘ（認証鍵Ｋａｕｔｈ）の値を直接読めるようにしてもよい。この場合、制御ＣＰＵ３０は、交換鍵記憶部２３（認証鍵記憶部２９）に、交換鍵Ｋｘ（認証鍵Ｋａｕｔｈ）と、チャネル番号ＣＨと、ノードＩＤとを対応付けて記憶してもよい。このとき、メモリ３１のデータベースＤＢを省略することでメモリ容量を低減することができる。
【００７０】
（第２実施形態）
以下、本発明を具体化した第２実施形態について説明する。
上述したようなノイズによるバスリセットが発生しても、認証処理を再度行うことなく、データの受信を再開できるという効果は、ノイズに対する耐性が要求される車載用途の機器に適用した場合により顕著なものとなる。ここでは、ＩＥＥＥ１３９４規格を車載用途で使用する場合（ＩＤＢ−１３９４規格）に利便性が向上する追加機能や認証・鍵交換処理のタイミングについて図１１〜図１３に従って説明する。
【００７１】
図１１は、ＩＥＥＥ１３９４の車載規格であるＩＤＢ−１３９４規格に準拠したシステム構成を示す。ナビゲーション装置９０はＩＤＢ−１３９４バスケーブル２ａを介して後席ディスプレイ９１と接続され、後席ディスプレイ９１はＩＤＢ−１３９４バスケーブル２ｂを介して後席ディスプレイ９２に接続されている。ナビゲーション装置９０は送信機器及び受信機器として機能し、後席ディスプレイ９１，９２は受信機器として機能する。これらナビゲーション装置及び後席ディスプレイ９１，９２は、ＩＤＢ−１３９４機器（ノード）であり、上記実施形態のノードＢ，Ｄと同様の構成を備える。また、ナビゲーション装置９０は、制御の中心となる制御ノードであり、バスに接続された機器の情報を登録（記憶）するデータベース９０ａを備えている。
【００７２】
また、ナビゲーション装置９０は、鍵制御用ＥＣＵ９３と接続されている。この鍵制御用ＥＣＵ９３は、アンテナと接続され、無線機能を持ち自動車の施錠・解錠を行う鍵が所定範囲内に近づくと、その鍵の接近を検知する。鍵制御用ＥＣＵ９３は、鍵の接近を検知すると、認証処理を開始させるための認証開始信号をナビゲーション装置９０に出力する。
【００７３】
なお、これらナビゲーション装置９０、後席ディスプレイ９１，９２及び鍵制御用ＥＣＵ９３は全て自動車に搭載されている。
このようなネットワークシステムにおける初期設定の機器登録方法について図１２に従って説明する。
【００７４】
上記ナビゲーション装置９０などのＩＤＢ−１３９４機器は、通常は車両メーカの工場で取り付けたり、ディーラー（販売店）などで取り付けたりするだけである。このため、自動車に取り付けられたＩＤＢ−１３９４機器の台数は、自動車が車両オーナーに引き渡された後では、故障が起きて減る以外は、通常は変動することがない。すなわち、自動車の製造完了時や自動車が車両オーナーに引き渡された時などで、バスに接続される機器の接続台数が明確になる。この接続台数を記憶し、それ以降はその接続台数を基準に認証等を行うようにすることで、受信機器は最大の送信機器の台数を毎回認識する必要がなくなる。さらに、上記接続台数と接続状態を記憶しておくことにより、ＩＤＢ−１３９４機器に何らかの異常（ＩＤＢ−１３９４機器の故障やバスケーブルの断線等）が発生したときに、その異常を検知することができる。
【００７５】
そこで、図１２に示すように、自動車の製造完了後（ステップＳ７１）、アクセサリーオンやエンジンの起動等によって全てのＩＤＢ−１３９４機器９０，９１，９２が起動したときに（ステップＳ７２）、ユーザが制御ノードであるナビゲーション装置９０を操作して認識処理を指示する（ステップＳ７３）。例えば、ナビゲーション装置９０のシステム管理表示などに、「接続機器を認識する」といったアイコンやボタンを持たせ、ユーザがそのアイコンなどを操作したときに認識処理が指示される。
【００７６】
上記認識処理が指示されると、ナビゲーション装置９０は、バスに接続されている全ての他のＩＤＢ−１３９４機器（後席ディスプレイ９１，９２）のセルフＩＤパケットを読み出すことにより接続台数を認識する。さらに、ナビゲーション装置９０は、全ての他のＩＤＢ−１３９４機器９１，９２のコンフィグレーションＲＯＭを読み出すことにより各機器の接続状態を認識する。そして、ナビゲーション装置９０（の制御ＣＰＵ３０）は、認識した接続台数及び接続状態をデータベース９０ａに記憶する（ステップＳ７４）。
【００７７】
なお、このデータベース９０ａへの登録は、ディーラー等に自動車が運搬されるタイミングで行ってもよく、ディーラーでの設定終了時に行ってもよい。あるいは、車両オーナーがはじめてエンジンを起動したときに行ってもよく、車両オーナー自身がＩＤＢ−１３９４機器を新たに追加した後に行ってもよい。
【００７８】
次に、ナビゲーション装置９０における異常検知方法を図１３に従って説明する。
今、鍵制御用ＥＣＵ９３が待機状態であるときに（ステップＳ８１）、車両オーナーが無線機能を持った鍵を持って所定範囲内に近づくと、鍵制御用ＥＣＵ９３がその鍵の接近を検知する（ステップＳ８２）。すると、鍵制御用ＥＣＵ９３は、認証開始信号をＩＤＢ−１３９４機器（ここでは、ナビゲーション装置９０）に出力する（ステップＳ８３）。この認証開始信号に応答して、ナビゲーション装置９０を起点にして全てのＩＤＢ−１３９４機器（ナビゲーション装置９０及び後席ディスプレイ９１，９２）が起動される（ステップＳ８４）。
【００７９】
すると、ナビゲーション装置９０及び後席ディスプレイ９１，９２のＩＥＥＥ１３９４コントローラ部２１（図１参照）によってバスリセットが発生される（ステップＳ８５）。続いて、ツリー状のトポロジが形成されノードＩＤが決定されると、各ＩＤＢ−１３９４機器９０，９１，９２からセルフＩＤパケットがブロードキャスト送信される（ステップＳ８６）。これにより、バスに接続されたＩＤＢ−１３９４機器の接続台数を認識することができる。次に、ナビゲーション装置９０及び後席ディスプレイ９１，９２は、他の機器のコンフィグレーションＲＯＭやプラグコントロールレジスタを読み出す（ステップＳ８７）。これにより、バスに接続されたＩＤＢ−１３９４機器の接続状態を認識することができる。
【００８０】
次いで、ステップＳ８８において、ナビゲーション装置９０の制御ＣＰＵ３０（図１参照）は、ステップＳ８６，Ｓ８７にて取得した接続台数と接続状態が上記データベース９０ａに記憶した接続台数と接続状態と一致しているか否かを判定する。このとき、データベース９０ａに記憶した接続台数及び接続状態と一致しない場合には（ステップＳ８８においてＮＯ）、ナビゲーション装置９０の制御ＣＰＵ３０（異常検知部）は、バスに接続されたＩＤＢ−１３９４機器に異常が発生したことを検知する（ステップＳ８９）。すなわち、ナビゲーション装置９０は、接続台数及び接続状態がデータベース９０ａの内容と一致しない場合（例えば接続台数が減っている場合）には、バスに接続されたＩＤＢ−１３９４機器の故障やバスケーブルの断線などの異常が発生したと判断する。なお、このように異常が検知された場合には、例えばナビゲーション装置９０の画面に「ディーラーに相談するように」等の指示を表示することにより、ユーザにその異常の発生を通知する。このように、自動車の製造完了時などにデータベース９０ａに機器の登録を行うことにより、ＩＤＢ−１３９４機器の異常を検知することができるようになる。
【００８１】
一方、ステップＳ８８において、接続台数及び接続状態がデータベース９０ａの内容と一致している場合には（ステップＳ８８においてＹＥＳ）、図３のステップＳ６〜Ｓ１０の処理を実行する。すなわち、ＩＤＢ−１３９４機器に異常がない場合には、自動車の施錠・解錠を行う鍵が自動車に近づいたときに、全ての受信機器によって全ての送信機器との間で認証・鍵交換処理が行われ、全ての送信機器の交換鍵Ｋｘが予め保持される。これにより、認証・鍵交換処理の開始からユーザがデータの受信開始を指示するまでに時間の余裕ができるため、受信開始の指示があってから迅速にデータの受信を開始することができる。すなわち、データの受信開始が遅いということをユーザに意識させることなく、データの受信を開始することができる。
【００８２】
なお、データ通信中にノイズによってバスリセットが発生した場合には、図７で説明したステップＳ４１〜Ｓ４９と同様の処理が実行される。
以上詳述したように、本実施形態によれば、以下の効果を奏する。
【００８３】
（１）自動車の製造完了時に、バスに接続されるＩＤＢ−１３９４機器の接続台数及び接続状態をデータベース９０ａに記憶するようにした。これにより、それ以降はデータベース９０ａに記憶した接続台数を基準に認証等を行うようにすることで、受信機器は最大の送信機器の台数を毎回認識する必要がなくなる。また、ＩＤＢ−１３９４機器を起動する度に、その時の接続台数及び接続状態とデータベース９０ａの内容を比較することにより、ＩＤＢ−１３９４機器に異常が発生したことを検知することができる。
【００８４】
（２）自動車の施錠・解錠を行う鍵が近づいたときに、全ての受信機器が全ての送信機器との間で認証・鍵交換処理を行って、全ての送信機器の交換鍵Ｋｘを予め保持するようにした。これにより、データの受信開始が遅いということをユーザに意識させることなく、データの受信を開始することができる。
【００８５】
なお、上記実施形態は、これを適宜変更した以下の態様にて実施することもできる。
・上記第２実施形態では、認証・鍵交換処理のタイミングを、自動車の施錠・解錠を行う鍵が自動車に近づいたときにした。これに限らず、認証・鍵交換処理を行っても、その認証・鍵交換処理を行っている時間がユーザに比較的ストレスにならないタイミングで、認証・鍵交換処理を行うようにしてもよい。例えばアクセサリーオンのタイミング、エンジン起動のタイミング、自動車のドアの鍵を解錠したタイミングや自動車のドアを物理的に開けたタイミングで、ＩＤＢ−１３９４機器を起動して認証・鍵交換処理を行うようにしてもよい。
【００８６】
・上記第２実施形態では、無線機能を持つ鍵に対応する鍵制御用ＥＣＵ９３に具体化したが、無線機能を持たない鍵のみに対応する鍵制御用ＥＣＵに具体化してもよい。なお、この場合、自動車の鍵穴に鍵を指してドアの鍵を解錠したタイミングで、ＩＤＢ−１３９４機器を起動して認証・鍵交換処理を行うようにしてもよい。
【００８７】
・上記実施形態では、ナビゲーション装置９０がデータベース９０ａを備えるようにしたが、これに限らず、例えば後席ディスプレイ９１，９２がデータベース９０ａを備えるようにしてもよい。
【００８８】
以上の様々な実施の形態をまとめると、以下のようになる。
（付記１）
送信元との間の認証に基づいて生成される第１の鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶する記憶部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得する取得部と、
前記第１の情報と対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成する演算部と、
を備えることを特徴とする通信装置。
（付記２）
送信元との間の認証に基づいて生成される第１の鍵を記憶する記憶部と、
前記第１の鍵の保存先と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けてデータベースに記憶する制御部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得する取得部と、
前記第１の情報に対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成する演算部と、
を備えることを特徴とする通信装置。
（付記３）
前記第１の情報は、前記送信元のアイソクロナスチャネル番号であり、
受信中のアイソクロナスチャネル番号に対応する第１の鍵を前記記憶部から選択する選択部を備えることを特徴とする付記１又は２に記載の通信装置。
（付記４）
前記記憶部は、前記第１の鍵と対応付けて前記送信元のアイソクロナスチャネル番号を記憶し、
受信中のアイソクロナスチャネル番号を選択信号として入力し、該アイソクロナスチャネル番号に対応する第１の鍵を前記記憶部から選択する選択部を備えることを特徴とする請求項２に記載の通信装置。
（付記５）
前記第１の情報は、前記送信元のアイソクロナスチャネル番号であり、
前記制御部にて生成される、受信中のアイソクロナスチャネル番号に対応する第１の鍵の保存先を指定する選択信号に基づいて、受信中のアイソクロナスチャネル番号に対応する第１の鍵を前記記憶部から選択する選択部を備えることを特徴とする付記２に記載の通信装置。
（付記６）
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記第１の情報を基準にして前記記憶部又は前記データベースに記憶した前記識別情報を更新する更新部を備えることを特徴とする付記１〜５のいずれか１つに記載の通信装置。
（付記７）
前記接続状態の初期化前後でトポロジが変化したか否かを判定する判定部と、を備え、
前記更新部は、前記バスリセット前後でトポロジが変化していないときに、前記識別情報の更新を行うことを特徴とする付記６に記載の通信装置。
（付記８）
前記判定部は、バスに接続される機器の台数及び接続状態がバスリセット前後で変化したか否かを判定することにより、トポロジが変化したか否かを判定することを特徴とする付記７に記載の通信装置。
（付記９）
前記記憶部は、バスに接続される全ての送信機器に対応する第１の鍵を記憶することを特徴とする付記１〜８のいずれか１つに記載の通信装置。
（付記１０）
前記第１の鍵が記憶される記憶領域の初期値が乱数であることを特徴とする付記１〜９のいずれか１つに記載の通信装置。
（付記１１）
前記認証を、電源投入時に、バスに接続される全ての送信機器に対して行うことを特徴とする付記１〜１０のいずれか１つに記載の通信装置。
（付記１２）
前記第１の鍵は、交換鍵であることを特徴とする付記１〜１１のいずれか１つに記載の通信装置。
（付記１３）
当該通信装置はＩＤＢ−１３９４規格に準拠したＩＤＢ−１３９４機器であり、
バスに接続されるＩＤＢ−１３９４機器の接続台数及び接続状態を記憶する機器登録データベースを備えることを特徴とする付記１〜１２のいずれか１つに記載の通信装置。
（付記１４）
電源投入時に、そのときのバスに接続されるＩＤＢ−１３９４機器の接続台数及び接続状態が前記機器登録データベースに記憶された内容と一致しているか否かを判定する異常検知部を備えることを特徴とする付記１３に記載の通信装置。
（付記１５）
前記認証を、無線機能を持ち自動車の施錠・開錠を行う鍵が所定範囲内に近づいたとき、又はアクセサリーオンしたとき、又はエンジンを起動したとき、又は自動車のドアを開錠したとき、又は自動車のドアを物理的に開けたときに、バスに接続される全ての送信機器に対して行うことを特徴とする付記１３又は１４に記載の通信装置。
（付記１６）
送信元との間の認証に基づいて生成される第１の鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶部に記憶するステップと、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元から公開鍵を取得するステップと、
前記第１の情報と対応する第１の鍵と前記公開鍵とに基づいて、前記送信元から送信されるデータの暗号化／復号化に用いる暗号化鍵を生成するステップと、
を備えることを特徴とするデータの通信方法。
（付記１７）
送信元との間の認証に基づいて共有される認証鍵と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けて記憶する第１記憶部を備える第１通信装置と、
送信先との間の認証に基づいて共有される認証鍵を記憶する第２記憶部を備える第２通信装置と、を備え、
前記第１通信装置は、前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記記憶部に記憶した前記第１の情報に対応する識別情報を有する送信元に対して接続要求を行う要求部を備えることを特徴とするネットワークシステム。
（付記１８）
送信元との間の認証に基づいて共有される認証鍵を記憶する第１記憶部を備える第１通信装置と、
送信先との間の認証に基づいて共有される認証鍵を記憶する第２記憶部を備える第２通信装置と、を備え、
前記第１通信装置は、
前記認証鍵の保存先と、前記送信元の識別情報と、接続状態の初期化に伴って変化しない値であって前記送信元に対応する第１の情報とを対応付けてデータベースに記憶する制御部と、
前記接続状態の初期化によって前記送信元の識別情報が変化した場合に、前記データベースに記憶した前記第１の情報に対応する識別情報を有する送信元に対して接続要求を行う要求部と、を備えることを特徴とするネットワークシステム。
（付記１９）
前記第２通信装置は、
前記送信先からの前記接続要求に応じて、その接続要求元に対応する認証鍵を前記第２記憶部から読み出す読み出し部と、
前記読み出された認証鍵を用いてＲＴＴコマンドを生成するＲＴＴ処理部と、
前記第１通信装置は、
前記送信元からの前記ＲＴＴコマンドを受信したときに、前記第１記憶部に記憶された前記送信元に対応する認証鍵を用いて応答パケットを生成するＲＴＴ処理部と、を備えることを特徴とする付記１７又は１８に記載のネットワークシステム。
（付記２０）
複数の暗号化鍵を記憶する記憶手段であって、
前記複数の暗号化鍵が記憶される記憶領域の初期値を乱数としたことを特徴とする記憶手段。
【図面の簡単な説明】
【００８９】
【図１】受信機器を示すブロック図。
【図２】ネットワークシステムを示すブロック図。
【図３】認証・鍵交換処理を説明するためのフローチャート。
【図４】データベースを説明するための説明図。
【図５】データの受信処理を説明するためのフローチャート。
【図６】チャネル番号の切替処理を説明するためのフローチャート。
【図７】データの受信の再開処理を説明するためのフローチャート。
【図８】変形例における受信機器を示すブロック図。
【図９】変形例における送信機器と受信機器を示すブロック図。
【図１０】ＲＴＴ測定処理を説明するためのフローチャート。
【図１１】第２実施形態のネットワークシステムを示すブロック図。
【図１２】初期設定処理を説明するためのフローチャート。
【図１３】異常検知方法を説明するためのフローチャート。
【図１４】認証・鍵交換処理を説明するための説明図。
【符号の説明】
【００９０】
Ａ，Ｃ  送信機器（第２通信装置）
Ｂ，Ｄ  受信機器（第１通信装置）
２２  認証鍵交換部
２３  交換鍵記憶部（記憶部）
２５  演算回路（演算部）
２８，６８  ＤＴＣＰ部（ＲＴＴ処理部）
２９  認証鍵記憶部（第１記憶部）
３０  制御ＣＰＵ
６９  認証鍵記憶部（第２記憶部）
７０  制御ＣＰＵ
９０  ナビゲーション装置（ＩＤＢ−１３９４機器）
９１，９２  後席ディスプレイ（ＩＤＢ−１３９４機器）
９０ａ  データベース（機器登録データベース）
ＤＢ  データベース
Ｓ２  出力側セレクタ（選択部）
Ｋｘ  交換鍵（第１の鍵）
Ｋａｕｔｈ  認証鍵
Ｋｓｘ  暗号化交換鍵
Ｎｃ  公開鍵
Ｋｃ  コンテンツ鍵（暗号化鍵）
【図１】
2010147768.tif 000003
【図２】
2010147768.tif 000004
【図３】
2010147768.tif 000005
【図４】
2010147768.tif 000006
【図５】
2010147768.tif 000007
【図６】
2010147768.tif 000008
【図７】
2010147768.tif 000009
【図８】
2010147768.tif 000010
【図９】
2010147768.tif 000011
【図１０】
2010147768.tif 000012
【図１１】
2010147768.tif 000013
【図１２】
2010147768.tif 000014
【図１３】
2010147768.tif 000015
【図１４】
2010147768.tif 000016