(57)【特許請求の範囲】
【請求項１】
ネットワークにおける３以上の装置間の通信パケットのメッセージ認証コードの生成方法であって、
前記３以上の装置は、０番目からＮ番目までの番号にそれぞれ対応した複数の第１の共通鍵からなる第１の共通鍵セットを有する第１の共通鍵テーブルを記憶し、これら３以上の装置が記憶する第１の共通鍵テーブルの第１の共通鍵セットは同一であり、前記３以上の装置のうちの送信ノードと受信ノードにおける前記第１の共通鍵テーブルの第１の参照番号は、同一の番号に初期設定されており、
当該メッセージ認証コード生成方法は、前記送信ノードによって実行され、
当該送信ノードの前記第１の共通鍵テーブルにおける前記第１の参照番号に対応した第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、
前記抽出した第１の共通鍵を用いて、通信パケットのデータに関連する関連データを暗号化することでメッセージ認証コードを生成して、前記送信ノードから前記受信ノードに伝送する通信パケットに含める工程と、
この通信パケットの送信後、前記第１の参照番号をインクリメントし、前記第１の参照番号がインクリメントされてＮを超える場合には、０を前記第１の参照番号に設定する工程であって、当該第１の参照番号は、前記受信ノードにおける第１の共通鍵テーブルにおける第１の参照番号と連動している、工程とを備え、
前記送信ノードおよび前記受信ノードは、それぞれ同一の値からなる第１の秘密値を有し、
当該メッセージ認証コード生成方法は、さらに、
通信パケットに含められる暗号値を生成する工程であって、
前記第１の秘密値および前記乱数から前記第１の共通鍵テーブルにおける第２の参照番号を取得する工程、
当該送信ノードの前記第１の共通鍵テーブルにおける前記第２の参照番号に対応した第２の共通鍵を前記第１の共通鍵テーブルから抽出する工程、および
前記抽出した第２の共通鍵を用いて前記暗号値を生成する工程を有する、暗号値生成工程とを備え、
この生成した暗号値および前記乱数が通信パケットに含められる、メッセージ認証コード生成方法。
【請求項２】
請求項１に記載のメッセージ認証コード生成方法において、前記ネットワークは、自動ドアの制御のための自動ドアシステムネットワークである、メッセージ認証コード生成方法。
【請求項３】
請求項１または２に記載のメッセージ認証コード生成方法において、さらに、
前記送信ノードから前記受信ノードに伝送する通信パケットのデータからチェックサムを算出する工程を備え、
前記関連データが、この算出したチェックサムである、メッセージ認証コード生成方法。
【請求項４】
請求項１から３のいずれか一項に記載のメッセージ認証コード生成方法において、
前記ネットワークがＣＡＮである、メッセージ認証コード生成方法。
【請求項５】
請求項１から４のいずれか一項に記載のメッセージ認証コード生成方法において、
前記第１の共通鍵を用いて前記関連データを暗号化することが、所定の第１の全単射関数によって行われる、メッセージ認証コード生成方法。
【請求項６】
請求項２または請求項２に従属する請求項３から５のいずれか一項に記載のメッセージ認証コード生成方法において、
前記受信ノードが、前記自動ドアのコントローラからなり、前記送信ノードから前記受信ノードに伝送される通信パケットには、前記自動ドアの開放指示に関する情報が含まれる、メッセージ認証コード生成方法。
【請求項７】
請求項１から６のいずれか一項に記載のメッセージ認証コード生成方法において、
前記メッセージ認証コードが３バイト以下である、メッセージ認証コード生成方法。
【請求項８】
請求項１に記載のメッセージ認証コード生成方法であって、
前記送信ノードおよび前記受信ノードは、それぞれ同一の値からなる第２の秘密値を有し、
前記抽出した第２の共通鍵を用いて前記暗号値を生成する工程は、前記第２の秘密値を前記抽出した第２の共通鍵を用いて暗号化することで行う、メッセージ認証コード生成方法。
【請求項９】
請求項８に記載のメッセージ認証コード生成方法であって、
前記第２の共通鍵を用いて前記第２の秘密値を暗号化することが、所定の第２の全単射関数によって行われる、メッセージ認証コード生成方法。
【請求項１０】
請求項３または請求項３に従属する請求項４から９のいずれか一項に記載のメッセージ認証コード生成方法によって生成されたメッセージ認証コードを前記受信ノードで認証する方法であって、
受信した通信パケットのデータからチェックサムを算出する工程と、
前記受信ノードにおける前記第１の共通鍵テーブルの参照番号に対応した第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、
前記送信ノードから前記通信パケットを受信すると、この受信した通信パケットに含まれる前記メッセージ認証コードを、前記抽出した前記第１の共通鍵を用いて復号化することで復元データを取得する工程と、
前記算出したチェックサムと、前記復元データに含まれるチェックサムとを比較して同一か否かを判定し、同一ならば受信した通信パケットを認証する工程とを備えた、メッセージ認証方法。
【請求項１１】
請求項１０に記載のメッセージ認証方法において、前記受信した通信パケットを認証する工程が、
（i）前記受信した通信パケットの認証に失敗した場合には、前記第１の共通鍵テーブルの参照番号に１を加算した参照番号に対応した次の第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、
（ii）前記受信した通信パケットに含まれる前記メッセージ認証コードを、前記次の第１の共通鍵を用いて復号化することで別の復元データを取得する工程と、
（iii）前記算出したチェックサムと、前記別の復元データに含まれるチェックサムとを比較して同一か否かを判定し、同一ならば受信した通信パケットを認証する工程とを有し、
前記（i）〜(iii)を受信した通信パケットを認証するまで所定回数繰り返す、メッセージ認証方法。
【請求項１２】
請求項１からから９のいずれか一項に記載のメッセージ認証コード生成方法を用いて、メッセージ認証コードを生成するメッセージ認証コード生成装置。
【請求項１３】
請求項１０または１１に記載のメッセージ認証方法を用いて、メッセージを認証するメッセージ認証装置。
【請求項１４】
請求項１２に記載のメッセージ認証コード生成装置および請求項１３に記載のメッセージ認証装置を備えたネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動ドアシステムネットワークのようなネットワークにおける通信パケットのメッセージ認証コードの生成方法およびメッセージ認証方法、ならびにメッセージ認証コード生成装置およびメッセージ認証装置に関する。
【背景技術】
【０００２】
自動ドアの開閉制御は、自動ドア制御装置によって行われる。この自動ドア制御装置には、人体を検出する人体検出装置や通行者を認証する電子錠装置などから検出結果や認証結果が入力される。自動ドア制御装置は、これら入力された結果に基づいて自動ドアの開閉を制御する。
【０００３】
自動ドア制御装置と、人体検出装置や電子錠装置などの他の装置との間の情報の伝送手段として、例えばＣＡＮ（Controller Area Network）通信が提案されている（特許文献１の段落〔００３３〕）。ＣＡＮ通信を用いると、１つのＣＡＮバスに複数の装置を接続できるため、多数の装置が自動ドアシステムに設けられてもシステムが複雑化しない。したがって、多機能化が進む自動ドアシステムでは、複数の装置間の情報の伝送にＣＡＮ通信を採用するのが好適である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１６８９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ＣＡＮプロトコルにはセキュリティ機能が規定されていないにも関わらず、自動ドアシステムにＣＡＮ通信を採用した場合のメッセージ認証が提案されていない。その一方、自動ドアシステムは据え付けられているにも関わらず定期検査以外は人間による現場監視がないため、自動ドアシステムネットワークの通信パケットは盗聴されやすく、データ改ざんやなりすましなどを被りやすい。特に、悪意のある者が許可を得ずに自動ドアを開放させようとして、なりすましを行う可能性もある。
【０００６】
このため、自動ドアシステムでは、通信パケットのデータ改ざんやなりすましなどを被り難くするメッセージ認証コードが要求される。また、このようなメッセージ認証コードは、自動ドアシステムネットワーク以外においても要求されている。
【０００７】
そこで、本発明は、ＣＡＮのような通信プロトコルを採用したネットワークにおいて、通信パケットのデータ改ざんやなりすましなどを被り難くするメッセージ認証コードの生成方法および認証方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するために、本発明の一構成にかかるメッセージ認証コード生成方法は、ネットワークにおける複数の装置間の通信パケットのメッセージ認証コードの生成方法であって、前記複数の装置のうちの送信ノードと受信ノードは、０番目からＮ番目までの番号にそれぞれ対応した複数の第１の共通鍵からなる第１の共通鍵セットを有する第１の共通鍵テーブルを記憶し、これら送信ノードおよび受信ノードが記憶する第１の共通鍵テーブルの第１の共通鍵セットは同一であり、前記複数の装置のうちの送信ノードと受信ノードにおける前記第１の共通鍵テーブルの参照番号は、同一の番号に初期設定されており、当該メッセージ認証コード生成方法は、前記送信ノードによって実行され、当該送信ノードの前記第１の共通鍵テーブルにおける前記参照番号に対応した第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、前記抽出した第１の共通鍵を用いて、通信パケットのデータに関連する関連データを暗号化することでメッセージ認証コードを生成して、前記送信ノードから前記受信ノードに伝送する通信パケットに含める工程と、この通信パケットの送信後、前記参照番号をインクリメントし、前記参照番号がインクリメントされてＮを超える場合には、０を前記参照番号に設定する工程であって、当該参照番号は、受信ノードにおける第１の共通鍵テーブルにおける参照番号と連動している、工程とを備える。
【０００９】
この構成によれば、ネットワークにおける複数の装置が記憶する第１の共通鍵テーブルが、０番目からＮ番目までの参照番号にそれぞれ対応した第１の共通鍵を有し、通信パケットが送信されると参照番号をインクリメントするため、メッセージ認証コードを生成する際に用いる共通鍵が通信パケットの送信ごとに変化する。このため、連続した通信パケットが盗聴されたとしても、共通鍵が突き止められる可能性は低い。したがって、データ改ざんやなりすましを被り難い。
【００１０】
好ましくは、前記第１の共通鍵セットは規則性を有さない。つまり、０番目からＮ番目までの番号にそれぞれ対応した複数の第１の共通鍵が、規則性を有さずに並んで第１の共通鍵セットを構成する。すなわち、第１の共通鍵セットの一部の共通鍵に基づいて他の共通鍵が推定されることはない。
【００１１】
好ましい実施形態によれば、前記ネットワークは、自動ドアの制御のための自動ドアシステムネットワークである。
【００１２】
好ましい実施形態によれば、さらに、前記送信ノードから前記受信ノードに伝送する通信パケットのデータからチェックサムを算出する工程を備え、前記関連データが、この算出したチェックサムである。これによれば、チェックサムを暗号化してメッセージ認証コードを生成するため、データフィールドの全てのデータを暗号化するのに比べて、メッセージ認証コードの生成における計算負荷が小さい。
【００１３】
好ましい実施形態によれば、前記第１の共通鍵テーブルは、前記複数の装置の全てにおいて記憶され、これら第１の共通鍵テーブルの第１の共通鍵セットは同一である。これによれば、ネットワークにおける複数の装置の全てが第１の共通鍵テーブルを記憶し、第１の共通鍵セットが同一であるため、各装置は複数の共通鍵テーブルを記憶する必要がない。これより、メモリ消費を小さくできる。
【００１４】
好ましい実施形態によれば、前記ネットワークがＣＡＮである。これによれば、ＣＡＮはＣＡＮバスに複数の装置を接続できるため、特に多機能化が進む自動ドアシステムに適している。
【００１５】
好ましい実施形態によれば、前記第１の共通鍵を用いて前記関連データを暗号化することが、所定の第１の全単射関数によって行われる。これによれば、全単射関数によって暗号化が行われるため、ハッシュ関数のような関数とは異なり、演算負荷が小さい。そのため、たとえ計算能力が低いプロセッサによって暗号化されても問題がない。したがって、通信にリアルタイム性が要求される自動ドアシステムに特に適している。
【００１６】
好ましい実施形態によれば、前記受信ノードが、前記自動ドアのコントローラからなり、前記送信ノードから前記受信ノードに伝送される通信パケットには、前記自動ドアの開放指示に関する情報が含まれる。自動ドアの開放指示は、悪意のある者が許可を得ずに自動ドアを開放させる可能性があるため、なりすましの対象となり易い。これに対して、当該メッセージ認証コード生成方法により、なりすましを防止できる。
【００１７】
好ましい実施形態によれば、前記メッセージ認証コードが３バイト以下である。これによれば、メッセージ認証コードが３バイト以下と小さいサイズであるため、データフィールドのサイズが小さい通信パケットであってもデータ用にある程度のバイトを確保できる。例えば、データフィールドが８バイトの場合、メッセージ認証コードが３バイト以下であれば、ネットワークに必要な情報のために５バイト以下確保される。
【００１８】
好ましい実施形態によれば、前記送信ノードおよび前記受信ノードは、それぞれ同一の値からなる第１の秘密値を有し、当該メッセージ認証コード生成方法は、さらに、乱数を発生させ、前記第１の秘密値および前記乱数を用いて暗号値を生成する工程を備え、この生成した暗号値および前記乱数が通信パケットに含められる。これによれば、第１の秘密値および乱数を用いて暗号値を生成するため、第１の秘密値を保持するノードのみが暗号値を復号化できる。したがって、ネットワークに複数の装置が接続されていても、第１の秘密値を有する一部の装置のみで有効なデータ伝送が実現される。また、乱数によって連続するパケットの暗号値が不規則となるため、悪意のある者によるなりすましを被り難い。
【００１９】
好ましい実施形態によれば、前記送信ノードおよび受信ノードは、さらに、０番目からＭ番目までの番号にそれぞれ対応した複数の第２の共通鍵からなる第２の共通鍵セットを有する第２の共通鍵テーブルを記憶し、これら送信ノードおよび受信ノードが記憶する第２の共通鍵テーブルの第２の共通鍵セットは同一であり、前記送信ノードおよび前記受信ノードは、それぞれ同一の値からなる第２の秘密値を有し、前記暗号値を生成する工程は、前記第１の秘密値および前記乱数から前記第２の共通鍵テーブルにおける参照番号を取得する工程と、当該送信ノードの前記第２の共通鍵テーブルにおける前記参照番号に対応した第２の共通鍵を前記第２の共通鍵テーブルから抽出する工程と、前記抽出した第２の共通鍵を用いて前記第２の秘密値を暗号化することで前記暗号値を生成する工程とを含む。これによれば、第１および第２の秘密値ならびに乱数を認識できるノードでなければ暗号値を復号化できない。
【００２０】
好ましい実施形態によれば、前記第２の共通鍵テーブルは、前記複数の装置の全てによって記憶され、これら第２の共通鍵テーブルの第２の共通鍵セットは同一である。これによれば、ネットワークにおける複数の装置の全てが第２の共通鍵テーブルを記憶し、第２の共通鍵セットが同一であるため、各装置は複数の共通鍵テーブルを記憶する必要がなく、メモリ消費を小さくできる。その一方、自動ドアシステムは異なるベンダによって提供される複数の装置から構成される場合が多く、あるベンダの装置からの通信パケット内の情報は、受信ノード以外の他のベンダの装置でも利用されるべきではない。これに対して、本実施形態では、送受信ノードを含む一部の装置のみで秘密値を保持するため、受信ノード以外の他のベンダの装置では、データの復号化ができずデータを利用できない。これより、一部の装置の間でのみ、自動ドアの開放指示のような特定のデータが有効となる。
【００２１】
好ましい実施形態によれば、前記第２の共通鍵を用いて前記第２の秘密値を暗号化することが、所定の第２の全単射関数によって行われる。これによれば、全単射関数によって暗号化が行われるため、ハッシュ関数のような関数とは異なり、演算負荷が小さい。
【００２２】
本発明の一構成にかかるメッセージ認証方法は、前記メッセージ認証コード生成方法によって生成されたメッセージ認証コードを前記受信ノードで認証する方法であって、受信した通信パケットのデータからチェックサムを算出する工程と、前記受信ノードにおける前記第１の共通鍵テーブルの参照番号に対応した第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、前記送信ノードから前記通信パケットを受信すると、この受信した通信パケットに含まれる前記メッセージ認証コードを、前記抽出した前記第１の共通鍵を用いて復号化することで復元データを取得する工程と、前記算出したチェックサムと、前記復元データに含まれるチェックサムとを比較して同一か否かを判定し、同一ならば受信した通信パケットを認証する工程とを備える。これによれば、受信した通信パケットのデータのチェックサムと、復元データに含まれるチェックサムとを比較するため、容易に通信パケットを認証できる。
【００２３】
好ましい実施形態によれば、前記受信した通信パケットを認証する工程が、（i）前記受信した通信パケットの認証に失敗した場合には、前記第１の共通鍵テーブルの参照番号に１を加算した参照番号に対応した次の第１の共通鍵を前記第１の共通鍵テーブルから抽出する工程と、（ii）前記受信した通信パケットに含まれる前記メッセージ認証コードを、前記次の第１の共通鍵を用いて復号化することで別の復元データを取得する工程と、（iii）前記算出したチェックサムと、前記別の復元データに含まれるチェックサムとを比較して同一か否かを判定し、同一ならば受信した通信パケットを認証する工程とを有し、前記（i）〜(iii)を受信した通信パケットを認証するまで所定回数繰り返す。何らかの原因で受信ノードが通信パケットを受信できず、第１の共通鍵テーブルについて受信ノードの参照番号が送信ノードの参照番号からずれて遅れる場合がある。これに対して、本実施形態では、メッセージ認証に失敗しても、受信ノードの参照番号を進めてメッセージ認証を行うため、何らかの原因で受信ノードが通信パケットを受信できない場合にもメッセージ認証が可能である。
【００２４】
本発明の一構成にかかるメッセージ認証コード生成装置は、前記メッセージ認証コード生成方法を用いて、メッセージ認証コードを生成する。
【００２５】
本発明の一構成にかかるメッセージ認証装置は、前記メッセージ認証方法を用いて、メッセージを認証する。
【００２６】
本発明の一構成にかかるネットワークは、前記メッセージ認証コード生成装置を少なくとも１つと、前記メッセージ認証装置を少なくとも１つとを備える。
【発明の効果】
【００２７】
本発明のメッセージ認証コード生成方法によれば、ＣＡＮのような通信プロトコルを採用したネットワークにおいて、通信パケットのデータ改ざんやなりすましなどを被り難くするメッセージ認証コードを生成する。これより、悪意のある者が許可を得ずに自動ドアを開放させるのを防止できる。
【図面の簡単な説明】
【００２８】
【図１】本発明の第１および第２の実施形態にかかる自動ドアシステムネットワークを示す概略ブロック図である。
【図２】図１の自動ドアシステムネットワークが適用される自動ドアおよびその周辺を示す正面図ある。
【図３】本発明の第１の実施形態にかかる自動ドアシステムネットワークの通信パケットのフォーマットを示す図である。
【図４】本発明の第１の実施形態にかかるメッセージ認証コード生成方法を示すフローチャートである。
【図５】本発明の第１の実施形態にかかるメッセージ認証方法を示すフローチャートである。
【図６】本発明の第２の実施形態にかかる自動ドアシステムネットワークの各装置の概略ブロック図であって、（ａ）は人体検出装置および電子錠装置、（ｂ）は自動ドア制御装置に関する図である。
【図７】本発明の第２の実施形態にかかる自動ドアシステムネットワークの通信パケットのフォーマットを示す図である。
【図８】本発明の第２の実施形態にかかるメッセージ認証コード生成方法およびメッセージ認証方法の概要を示す説明図である。
【図９】本発明の第２の実施形態にかかるメッセージ認証コード生成方法を示すフローチャートである。
【図１０】本発明の第２の実施形態にかかるメッセージ認証方法を示すフローチャートである。
【発明を実施するための形態】
【００２９】
以下、本発明の各実施形態を図面に基づいて説明する。
図１に、本発明の第１の実施形態にかかるネットワーク１を示す。このネットワーク１は、自動ドアを制御するための自動ドアシステムネットワークからなる。自動ドアシステムネットワーク１は、自動ドア制御装置２、人体検出装置３および電子錠装置４を含む。これら各装置は、ＣＡＮ（Controller Area Network）バス５を介して互いに通信可能に接続されている。すなわち、これら各装置２〜４にはＣＡＮプロトコルが実装されている。本実施形態では装置２〜４のみを示しているが、自動ドアシステムネットワーク１には、この他にも様々な装置が接続可能である。
【００３０】
図２に、自動ドアシステムネットワーク１の各装置が設けられた自動ドア６を示す。なお、この図においてＣＡＮバスは図示していない。自動ドア６は、その上端部が無目６１によって支持されている。無目６１内にはドアエンジン（図示せず）を制御する自動ドア制御装置２が設けられている。
【００３１】
無目６１の外面６１ａには、人体検出装置３が取り付けられている。人体検出装置３は、自動ドア６の開閉制御のために物体を検知して認識する。ここで、人体検出装置３は、赤外線センサなどから構成されるセンサ部（図示せず）と、プロセッサおよびメモリから構成される制御部（図示せず）とを含み、ＣＡＮバスに接続されて後述する処理を実行するのは制御部であるが、本明細書においては簡単化のために人体検出装置３がＣＡＮバスに接続されるものとして扱う。
【００３２】
自動ドア６には、また、電子錠装置４が取り付けられている。電子錠装置４は、自動ドア６の開放制御のために通行者が保持するカードなどを認識する。ここで、電子錠装置４は、例えば通行者が保持するカードに埋め込まれたＲＦＩＤを認識する認識部（図示せず）と、プロセッサおよびメモリから構成される制御部（図示せず）とを含み、ＣＡＮバスに接続されて後述する処理を実行するのは制御部であるが、本明細書においては簡単化のために電子錠装置４がＣＡＮバスに接続されるものとして扱う。
【００３３】
図１に戻って、各装置２〜４は、ＣＡＮバス５を介してＣＡＮのデータフレーム（通信パケット）を送受信して情報の交信を行う。図３に示すように、データフレーム２０は、ＣＡＮのプロトコルで規定されたフィールド２１（ＩＤフィールドなど）と、８バイトからなるデータフィールド２２を含む。このデータフィールド２２は、自動ドアシステムネットワーク１に必要な情報（例えば、自動ドアの開放指示）の伝送に用いられる。本実施形態では、データフィールド２２は、０バイト目〜７バイト目の範囲の８バイトのサイズを有する。前記必要な情報は０バイト目〜６バイト目の範囲に格納され、７バイト目のＭＡＣ格納部２３にＭＡＣ（メッセージ認証コード）が格納される。
【００３４】
図１に戻って、メッセージ認証は、全てのデータフレームに対して実行される必要はなく、重要性が高く、盗聴時に解析が不可能であるべきデータフレームに対して実行されればよい。本実施形態では、人体検出装置３および電子錠装置４から自動ドア制装置２への前記開放指示を含むデータフレームのみがメッセージ認証の対象とされる。これは、開放指示のデータについてなりすましを被ると、悪意のある者が許可を得ずに自動ドアを開放する可能性があるからである。その一方、閉鎖指示を含むデータフレームや自動ドア制御装置２から他の装置へ送出するデータフレームについてはメッセージ認証の対象とされなくてもよい。
【００３５】
そのため、人体検出装置３および電子錠装置４はメッセージ認証コード生成部１１を有するのに対して、自動ドア制御装置２はメッセージ認証部１２を有する。ただし、各装置２〜４が、メッセージ認証コード生成部１１とメッセージ認証部１２の両方を有してもよい。なお、本実施形態における「メッセージ認証」とは、ＣＡＮのデータフレームを認証することを指す。
【００３６】
メッセージ認証コード生成部１１は、送信しようとするデータフレームのデータフィールドに含めるＭＡＣを生成する。メッセージ認証部１２は、受信したデータフレームのデータフィールド中のＭＡＣに基づいて、受信したデータフレームを認証する。つまりそのデータフレームが改ざんされていないことを確認する。これらメッセージ認証コード生成部１１およびメッセージ認証部１２は、各装置２〜４のプロセッサで実行されるソフトウェアによって実現される。
【００３７】
各装置２〜４は、また、第１の共通鍵テーブル１３を有する。第１の共通鍵テーブル１３は、０番目からＮ番目までの参照番号１３ａにそれぞれ対応した、１バイトからなる第１の共通鍵１３ｂを有する。この第１の共通鍵１３ｂのセットは規則性を有さない。したがって、第１の共通鍵のセットはＮ個のランダムな１バイト値からなる。参照番号１３ａは、例えば２５６個の連続番号からなり、Ｎ＝２５５である。全ての装置２〜４が記憶する第１の共通鍵テーブル１３は、同一の第１の共通鍵１３ｂのセットを含む。第１の共通鍵テーブル１３は、各装置２〜４の不揮発性メモリに構成される。
【００３８】
各装置２〜４は、また、それぞれ、第１の共通鍵テーブル１３を参照するための参照番号を格納する第１参照番号保持部３１を備える。この第１参照番号保持部は、後述するようにメッセージ認証コード生成部１１またはメッセージ認証部１２によって用いられる。なお、第１参照番号保持部３１は、変数を格納するものであって装置２〜４の揮発性メモリに構成される。
【００３９】
次に、本実施形態にかかるメッセージ認証コード生成方法およびメッセージ認証方法について、それぞれ図４および５を参照して説明する。
【００４０】
図４のフローチャートに、ＭＡＣ生成処理（メッセージ認証コード生成処理）を示す。この処理では、自動ドアの開放指示を自動ドア制御装置２に対して行う人体検出装置３によってＭＡＣが生成される場合を想定する。すなわち、人体検出装置３がデータフレームの送信ノードで自動ドア制御装置２がデータフレームの受信ノードである場合を想定する。
【００４１】
まず、人体検出装置３のメッセージ認証コード生成部１１が、第１の共通鍵テーブル１３を参照するための参照番号の初期値（初期参照番号）を取得する（ステップＳ１）。この初期参照番号は、例えばＣＡＮ通信を用いて予め配布されている。メッセージ認証コード生成部１１は、取得した初期参照番号を参照番号保持部３１に保持する。この初期参照番号は通信相手である自動ドア制御装置２にも同様に配布されて保持される。なお、初期参照番号はいかなる方法によって配布されてもよい。
【００４２】
初期参照番号は、通信相手ごとに存在して保持される。人体検出装置３は、自動ドア制御装置２のみと通信を行うため、保持する参照番号は１つのみである。一方、自動ドア制御装置２は、人体検出装置３だけでなく電子錠装置４のような他の装置とも通信を行うため、通信相手の数だけ参照番号を保持する。これに対して、第１の共通鍵テーブル１３は自動ドアシステムネットワーク１の全ての装置が同一のものを記憶するため、自動ドア制御装置２は通信相手の数だけ共通鍵テーブル１３を記憶する必要がなく、１つの共通鍵テーブル１３を全ての通信相手に対して用いることができ、メモリ消費を小さく抑えることができる。
【００４３】
自動ドア制御装置２宛てに送信すべきデータフレームが存在する場合には（ステップＳ２のＹｅｓ）、人体検出装置３は以下の処理を行う。まず、メッセージ認証コード生成部１１が、データフィールド２２（図３）において、必要な情報が格納されている第０バイト〜第６の範囲の値に対して１バイトからなるチェックサムを算出する（ステップＳ３）。
【００４４】
次に、メッセージ認証コード生成部１１は、第１の共通鍵テーブル１３を参照して、参照番号保持部３１に保持された参照番号１３ａに対応した第１の共通鍵１３ｂを抽出する（ステップＳ４）。そして、この第１の共通鍵１３ｂを用いて、前記ステップＳ２で求めたチェックサムを暗号化してＭＡＣを生成する（ステップＳ５）。具体的には、所定の第１の全単射関数で、第１の共通鍵１３ｂを用いてチェックサムを別の１バイトの値に変換する。このように、全単射関数で値を変換するため、ハッシュ関数のような複雑な関数を用いる場合とは異なり、プロセッサに計算負荷がほとんどかからず処理時間も短い。したがって、人体検出装置２のプロセッサの性能がたとえ低くても、自動ドアシステムに要求されるリアルタイム性（人体を検出すると直ちに自動ドア６を開放するというリアルタイム性）を満足できる。
【００４５】
メッセージ認証コード生成部１１は、暗号化したチェックサム、つまり生成したＭＡＣを、データフィールド２２のＭＡＣ格納部２３に格納する。そして、このデータフィールド２２を含むデータフレーム２０が、人体検出装置３からＣＡＮバス５を介して自動ドア制御装置２に送信される（ステップＳ６）。
【００４６】
人体検出装置３のメッセージ認証コード生成部１１は、その後、第１の共通鍵テーブル１３を参照するための参照番号を更新する（ステップＳ７）。具体的には、参照番号を格納する第１参照番号保持部３１の参照番号をインクリメントする。これにより、連続して送信されるデータフレームのＭＡＣ生成に用いられる第１の共通鍵を変化させることができる。特に、第１の共通鍵テーブル１３の第１の共通鍵１３ｂのセットは規則性を有さないため、連続して送信されるデータフレームのＭＡＣが予測不可能に変化する。そのため、自動ドアの開放指示のようなデータは、データフレームのデータフィールドがある程度の数のデータフレームについて盗聴されると解析されてなりすまされる可能性があるが、本実施形態では不規則な共通鍵を用いることより、第三者には共通鍵の予測もＭＡＣの予測も困難である。したがって、なりすましを防止できる。
【００４７】
第１参照番号保持部３１の参照番号をインクリメントした際に、インクリメントされた参照番号がＮを超えた場合には、メッセージ認証コード生成部１１は、参照番号に０を設定する。このようにして、Ｎ個の第１の共通鍵１３ｂが循環して使用される。なお、Ｎが大きいほど第１の共通鍵の予測が困難であるためセキュリティ上望ましい。その一方、大きすぎるとメモリ消費が大きくなって実用的ではない。これより、Ｎは、６４〜１０２４の範囲、好ましくは１２８〜５１２の範囲、さらに好ましくは２５６である。
【００４８】
参照番号を更新した後は、ステップＳ２に戻り、自動ドア制御装置２宛てに送信すべきデータフレームが存在するか否かを判定する。
【００４９】
図５のフローチャートに、メッセージ認証処理を示す。この処理は、受信ノードである自動ドア制御装置２のメッセージ認証部１２によって実行される。メッセージ認証は、ＣＡＮのデータフレームを受信した際の処理であり、例えば、上述したように人体検出装置３からのデータフレームを受信した際の処理である。
【００５０】
メッセージ認証部１２も、メッセージ認証コード生成部１１と同様に、第１の共通鍵テーブル１３を参照するための参照番号の初期値（初期参照番号）を取得し、取得した初期参照番号を参照番号保持部３１に保持する（ステップＴ１）。
【００５１】
データフレームを自動ドア制御装置２が受信すると（ステップＴ２のＹｅｓ）、メッセージ認証部１２は、第１の共通鍵テーブル１３を参照して、参照番号保持部３１に保持された参照番号１３ａに対応した第１の共通鍵１３ｂを抽出する（ステップＴ３）。そして、この第１の共通鍵１３ｂを用いて、受信したデータフレームのデータフィールド２２のＭＡＣ格納部２３に格納されているＭＡＣを復号化してチェックサムを取得する（ステップＴ４）。具体的には、ＭＡＣ生成時に用いた所定の第１の全単射関数の逆関数で、第１の共通鍵１３ｂを用いてＭＡＣを別の１バイトの値に変換する。
【００５２】
メッセージ認証部１２は、また、受信したデータフレームのデータフィールド２２において、必要な情報が格納されている第０バイト〜第６バイトの範囲の値から、１バイトからなるチェックサムを計算する（ステップＴ５）。
【００５３】
ＭＡＣを復号化して求めたチェックサムと、受信データから計算したチェックサムとは、共通鍵が送信ノード（人体検出装置３）と受信ノード（自動ドア制御装置２）で等しく、データフィールド２２の値が改ざんなどされていなければ、同一である。そのため、メッセージ認証部１２は、データフィールド２２から求めたチェックサム（ステップＴ５で取得したチェックサム）と、ＭＡＣを復号化して求めたチェックサム（ステップＴ４で取得したチェックサム）とを比較して（ステップＴ６）、受信したデータフレームを認証する。すなわち、これらチェックサムが等しければ（ステップＴ６のＹｅｓ）、データ改ざんなどがなされていないと判断され、データフィールドのデータに応じた処理を実行する（ステップＳ７）。この処理は、データフィールドのデータが例えば開放指示であれば、自動ドア制御装置２の制御部（図示せず）がドアエンジン（図示せず）を制御して自動ドア６（図２）を開放させる。
【００５４】
メッセージ認証部１２は、第１の共通鍵テーブル１３を参照するための参照番号を更新する（ステップＴ８）。この更新方法は、送信ノードである人体検出装置３による更新方法つまり、ステップＳ６（図４）と同一の処理である。このため、送信ノードの第１参照番号保持部３１と受信ノードの第１参照番号保持部３１にそれぞれ格納されている参照番号は連動する。
【００５５】
受信したデータフレームを認証できなかった場合、つまり、ＭＡＣを復号化して取得したチェックサム（ステップＴ４で取得したチェックサム）と、データフィールド２２を計算して求めたチェックサム（ステップＴ５で取得したチェックサム）とが等しくなければ（ステップＴ６のＮｏ）、不一致回数を確認する（ステップＴ９）。不一致回数とは、これらチェックサムが連続して等しくないと判定された回数であり、カウントした不一致回数が所定の最大不一致回数（ＭＡＸ）を超えた場合には（ステップＴ９のＹｅｓ）、メッセージ認証部１２はエラー処理を実行する（ステップＴ１０）。カウントした不一致回数が所定の最大不一致回数以下の場合には（ステップＴ９のＮｏ）、第１参照番号保持部３１の参照番号を更新する（ステップＴ１１）。この更新方法は、送信ノードである人体検出装置３による更新方法（図５のステップＳ６）と同一である。このように参照番号を更新するのは、送信ノードが送信したデータフレームを受信ノードで受信することができずに、第１の共通鍵テーブル１３の参照番号がずれて受信ノードの参照番号が遅れている場合があるからである。受信ノードの参照番号を更新してから、ステップＴ３に戻る。
【００５６】
この第１の実施形態にかかる自動ドアシステムネットワークによれば、ＭＡＣの生成に用いられる共通鍵が変化するため、複数のデータフレームが盗聴されても、共通鍵の予測は困難である。したがって、なりすましやデータ改ざんを防止できる。特に、第１の共通鍵テーブル１３を有さない装置、つまり自動ドアシステムネットワークに接続されるべきではない装置によるなりすましやデータ改ざんを防止できる。
【００５７】
次に、本発明の第２の実施形態にかかるネットワークについて説明する。
この第１の実施形態２において第１の実施形態と同一の構成については、同一の符号を付して説明を省略する。
【００５８】
図１に示すように、本実施形態にかかるネットワーク１Ａも自動ドアネットワークであり、第１の実施形態にかかる自動ドアシステムネットワーク１と同様に構成される。本実施形態でも、人体検出装置３および電子錠装置４から自動ドア制御装置２へのデータフレームが、メッセージ認証の対象とされ、自動ドア制御装置２から他の装置へ送出するデータフレームについてはメッセージ認証の対象とされないものとする。したがって、本実施形態でも、人体検出装置３および電子錠装置４は、図６（ａ）に示すようにメッセージ認証コード生成部１１Ａを有し、自動ドア制御装置２は図６（ｂ）に示すようにメッセージ認証部１２Ａを有する。
【００５９】
各装置２〜４は、第１の共通鍵テーブル１３に加えて、第２の共通鍵テーブル１４を備える。この第２の共通鍵テーブル１４は、０番目からＭ番目の範囲の参照番号１４ａにそれぞれ対応した、１バイトからなる第１の共通鍵１４ｂを有する。この第２の共通鍵１４ｂのセットも規則性を有さず、第２の共通鍵のセットはＭ個のランダムな１バイト値からなる。参照番号１４ａも、例えば２５６個の連続番号からなり、Ｍ＝２５５である。ただし、第２の共通鍵のセットは、第１の共通鍵のセットと全く無関係である。全ての装置２〜４が記憶する第２の共通鍵テーブル１４は、同一の第１の共通鍵１４ｂのセットを含む。第２の共通鍵テーブル１４は、各装置２〜４の不揮発性メモリに構成される。
【００６０】
本実施形態においては、図７に示すように、ＣＡＮのデータフレーム２０のデータフィールド２２Ａにおいて、データフレーム中のデータフィールド２２Ａが自動ドアシステムネットワーク１に必要な情報（例えば、自動ドアの開放指示）は、０バイト目〜４バイト目の範囲に格納され、５バイト目〜７バイト目のＭＡＣ格納部２３ＡにＭＡＣが格納される。このＭＡＣ格納部２３Ａは、５バイト目の乱数格納部２３ａ、６バイト目の暗号値格納部２３ｂ、および７バイト目のチェックサム格納部２３ｃを有する。これらの詳細については後述する。
【００６１】
図６（ａ）および（ｂ）に戻って、メッセージ認証コード生成部１１Ａおよびメッセージ認証部１２Ａは、また、それぞれ、第１および第２の秘密値をそれぞれ記憶する第１および第２の秘密値記憶部３５，３６を有し、これらは不揮発性メモリに構成される。これら秘密値は、ＣＡＮバス５に接続された複数の装置２〜４のうち、データフレームの宛先ではない装置に対しては秘匿される。例えば、人体検出装置３は、自動ドア制御装置２に自動ドアの開放指示の情報を伝送するため、人体検出装置３と自動ドア制御装置２との間で第１および第２の秘密値を共有する。一方、電子錠装置４が人体検出装置３とは異なるベンダによって提供される場合、これら第１および第２の秘密値は電子錠装置４に対しては秘匿される。
【００６２】
電子錠装置４が秘密値を認識できなければ、後述するように自動ドアの開放指示のデータを生成できない。したがって、自動ドアシステムネットワーク１に複数のベンダによってそれぞれ提供される複数の装置が接続されても、あるベンダの装置からのデータフレームを別のベンダの装置では復号化できない。そのため、この自動ドアの開放指示のデータは、人体検出装置３と自動ドア制御装置２との間では有効でも、電子錠装置４には有効ではない。
【００６３】
メッセージ認証コード生成部１１Ａは、乱数発生部４１および暗号値生成部４２を有する。乱数発生部４１によって発生する乱数は、好ましくは、演算処理によって発生する疑似乱数ではなく、装置における何らかのノイズを測定して取得したものである。乱数発生部４１によって発生される乱数は、１バイトのサイズを有する。乱数をＭＡＣの生成に用いるため、連続したデータフレームにおいてＭＡＣがランダムになり、データフレームは解析し難くなる。このように生成した乱数は、後述するように、２つの用途に用いられる。暗号値生成部４２は、第１および第２の秘密値記憶部３５，３６にそれぞれ記憶された第１および第２の秘密値ならびに第２の共通鍵テーブル１４を用いて暗号値を生成する。これより、暗号値は、ネットワーク１に接続された装置２〜４のうち、同一の秘密値を記憶する装置によってのみ復号化が可能である。
【００６４】
図８に、本実施形態にかかるメッセージ認証コード生成方法およびメッセージ認証方法の概要を示す。同図において、破線よりも紙面上側部分がメッセージ認証コード生成方法を示し、破線よりも紙面下側部分がメッセージ認証方法を示す。フローチャートを参照して後で詳述するように、データフレームのデータフィールド２２のＭＡＣ２３Ａは、第１および第２の共通鍵テーブル１３，１４それぞれから抽出される第１および第２の共通鍵を用いて暗号化を行って生成される。そして、受信されたデータタレームのＭＡＣ２３Ａは、第１および第２の共通鍵テーブル１３，１４それぞれから抽出される第１および第２の共通鍵を用いて復号化されて、他の値と比較される。
【００６５】
本実施形態において、人体検出装置３から自動ドア制御装置２にデータフレームを送出する処理を図９のフローチャートに示す。本実施形態についても、人体検出装置３から自動ドア制御装置２に、自動ドアの開放指示の情報を伝送する場合を想定する。
【００６６】
まず、人体検出装置３のメッセージ認証コード生成部１１Ａは、第１および第２の秘密値を取得してそれぞれ第１および第２の秘密値記憶部３５，３６に記憶する（ステップＳ２１）。これら秘密値は通信相手である自動ドア制御装置２も同様に取得して記憶する。
【００６７】
第１のおよび第２の秘密値は、通信相手ごとに存在して保持される。なお、人体検出装置３は、自動ドア制御装置２のみと通信を行うため、これら秘密値はそれぞれ１つ記憶するだけである。しかし、自動ドア制御装置２は、人体検出装置３だけではなく電子錠装置４のような他の装置とも通信を行うため、通信相手の数だけ秘密値のペアを記憶する。
【００６８】
第１の共通鍵テーブル１３を参照するための初期参照番号を取得する（ステップＳ１）。メッセージ認証コード生成部１１Ａは、また、自動ドア制御装置２宛てに送信すべきデータフレームが存在する場合には（ステップＳ２のＹｅｓ）、人体検出装置３は以下の処理を行う。
【００６９】
まず、メッセージ認証コード生成部１１Ａの乱数発生部４１により１バイトからなる乱数を発生させ、図７のデータフィールド２２の乱数格納部２３ａに格納する（Ｓ２２）。
【００７０】
次に、メッセージ認証コード生成部１１Ａは、第１の秘密値記憶部３５に保持された第１の秘密値と、発生させた乱数とを用いて、第２の共通鍵テーブル１４を参照するための第２の参照番号を取得する（ステップＳ２３）。この取得の方法は、いかなる方法であってもよい。例えば、第１の秘密値記憶部３５に記憶された第１の秘密値と、発生させた乱数とを加算して、下位８ビットを参照番号としてもよい。
【００７１】
メッセージ認証コード生成部１１Ａは、第２の共通鍵テーブル１４（図９）を参照して、取得した参照番号１４ａに対応した第２の共通鍵１４ｂを抽出する（ステップＳ２４）。そして、この第２の共通鍵１４ｂを用いて、第２の秘密値記憶部３６に記憶された第２の秘密値を暗号化して暗号値を生成する（ステップＳ２５）。具体的には、所定の第２の全単射関数で、第２の共通鍵１４ｂを用いて第２の秘密値を別の１バイトの値に変換する。このように、全単射関数で値を変換するため、ハッシュ関数のような複雑な関数を用いる場合とは異なり、プロセッサに計算負荷がほとんどかからず処理時間も短い。メッセージ認証コード生成部１１Ａは、生成した暗号値を、データフィールド２２の暗号値格納部２３ｂに格納する
【００７２】
メッセージ認証コード生成部１１Ａは、この後、チェックサムを算出し（ステップＳ３）、第１の共通鍵テーブル１３から第１の共通鍵１３ｂを抽出する（ステップＳ４）。これらの処理の詳細については、第１の実施形態に関連して述べたとおりである。
【００７３】
メッセージ認証コード生成部１１Ａは、抽出した第１の共通鍵１３ｂを用いて、ＭＡＣを生成する（ステップＳ５Ａ）。このＭＡＣ生成の対象として暗号化されるのは、ステップＳ２２で生成した乱数、ステップＳ２５で生成した暗号値、およびステップＳ２で算出したチェックサムである。具体的には、所定の第１の全単射関数で、第１の共通鍵１３ｂを用いて、乱数、暗号値およびチェックサムのそれぞれを別の１バイトの値に変換する。メッセージ認証コード生成部１１Ａは、これら変換された値を、それぞれ、乱数格納部２３ａ、暗号値格納部２３ｂおよびチェックサム格納部２３ｃに格納する。
【００７４】
このように作成されたデータフレームが、自動ドア制御装置２に送信される（ステップＳ６）。そして、メッセージ認証コード生成部１１Ａは、第１の実施形態と同様に、第１の共通鍵テーブル１３を参照するための参照番号を更新する（ステップＳ７）。この参照番号を更新した後は、ステップＳ２に戻り、自動ドア制御装置２宛てに送信すべきデータフレームが存在するか否かを判定する。
【００７５】
図１０のフローチャートに、メッセージ認証処理を示す。この処理は、受信ノードである自動ドア制御装置２のメッセージ認証部１２Ａによって実行される。
【００７６】
自動ドア制御装置２のメッセージ認証部１２Ａは、第１および第２の秘密値を取得してそれぞれ第１および第２の秘密値記憶部３５，３６に記憶する（ステップＴ２１）。
【００７７】
メッセージ認証部１２Ａは、第１の共通鍵テーブル１３を参照するための初期参照番号を取得して参照番号保持部３１に保持する（ステップＴ１）。データフレームを自動ドア制御装置２が受信すると（ステップＴ２）、メッセージ認証部１２Ａは、第１の共通鍵テーブル１３を参照して、参照番号保持部３１に保持された参照番号１３ａに対応した第１の共通鍵１３ｂを抽出する（ステップＴ３）。そして、この第１の共通鍵１３ｂを用いて、ＭＡＣ格納部２３の乱数格納部２３ａ、暗号値格納部２３ｂおよびチェックサム格納部２２ｃに格納されているＭＡＣを復号化して、乱数、暗号値およびチェックサムを取得する（ステップＴ４Ａ）。具体的には、ＭＡＣ生成時に用いた所定の第１の全単射関数の逆関数で、第１の共通鍵１３ｂを用いて、乱数、暗号値およびチェックサムの各ＭＡＣをそれぞれ別の１バイトの値に変換する。
【００７８】
メッセージ認証部１２Ａは、また、データフィールド２２において、必要な情報が格納されている第０バイト〜第４バイトの範囲の値、ならびに第１の共通鍵１３ｂを用いて復号化した乱数および暗号値から、１バイトからなるチェックサムを計算する（ステップＴ５Ａ）。
【００７９】
メッセージ認証部１２Ａは、データフィールド２２から取得したチェックサム（ステップＴ４Ａで取得したチェックサム）と、ＭＡＣを復号化して求めたチェックサム（ステップＴ５Ａで取得したチェックサム）とを比較する（ステップＴ６Ａ）。
【００８０】
受信したデータフレームを認証できなかった場合、つまり、ＭＡＣを復号化して取得したチェックサム（ステップＴ４Ａで取得したチェックサム）と、データフィールド２２を計算して求めたチェックサム（ステップＴ５Ａで取得したチェックサム）とが等しくなければ（ステップＴ６のＮｏ）、メッセージ認証部１２Ａは、第１の実施形態と同様の処理（ステップＴ９〜Ｔ１１）を行う。
【００８１】
チェックサムが等しければ（ステップＴ６ＡのＹｅｓ）、第１の秘密値記憶部３５に保持された第１の秘密値と、ＭＡＣを復号化して取得した乱数（ステップＴ４Ａで取得した乱数）とを用いて、第２の共通鍵テーブル１４を参照するための第２の参照番号を取得する（ステップＴ２２）。この取得方法は、メッセージ認証コード生成部１１ＡによるステップＳ２３の処理で採用する方法と同一である。
【００８２】
メッセージ認証部１２Ａは、第２の共通鍵テーブル１４を参照して、取得した参照番号１４ａに対応した第２の共通鍵１４ｂを抽出する（ステップＴ２３）。そして、この第２の共通鍵１４ｂを用いて、ＭＡＣを復号化して取得した暗号値（ステップＴ４Ａで取得した暗号値）を復号化して、第２の秘密値を算出する（ステップＴ２４）。具体的には、暗号値生成時に用いた所定の第２の全単射関数の逆関数で、第２の共通鍵１４ｂを用いて暗号値を別の１バイトの値（第２の秘密値）に変換する。
【００８３】
メッセージ認証部１２Ａは、第２の秘密値記憶部３６に記憶された第２の秘密値と、暗号値を復号化して求めた第２の秘密値（ステップ２４で取得した第２の秘密値）とを比較する（ステップＴ２５）。
【００８４】
これら第２の秘密値が等しくなければ（ステップＴ２５のＮｏ）、メッセージ認証部１２Ａはエラー処理を実行する（ステップＴ２６）。なお、エラー処理は、メッセージ認証に失敗した場合のエラー処理、つまり前記ステップＴ１０と同一であっても異なっていてもよい。
【００８５】
第２の秘密値を比較することで、データ改ざんやなりすましを発見することができる。換言すると、第２の秘密値が合致するには、受信ノードと同一の第１および第２の共通鍵テーブルならびに第１および第２の秘密値を有する送信ノードによってＭＡＣが生成されて改ざんがされていないことが条件となる。このため、ＣＡＮバス５に接続された複数の装置が同一の共通鍵セットを有する第１および第２の共通鍵テーブルを有したとしても、第１および第２の秘密値を有する送受信ノードのみで有効なデータ通信が実現できる。
【００８６】
第２の秘密値記憶部３６に記憶された第２の秘密値と、暗号値を復号化して求めた第２の秘密値（ステップ２４で取得した第２の秘密値）とが等しければ（ステップＴ２５のＹｅｓ）、データフィールドのデータに応じた処理を実行する（ステップＳ７）。また、メッセージ認証部１２Ａは、第１の共通鍵テーブル１３を参照するための参照番号を更新する（ステップＴ８）。この更新方法は、送信ノードである人体検出装置３による更新方法つまり、ステップＳ７（図９）と同一である。このため、送信ノードの第１参照番号保持部３１と受信ノードの第１参照番号保持部３１にそれぞれ格納されている参照番号は連動する。
【００８７】
この第２の実施形態にかかる自動ドアシステムネットワークによれば、第１の実施形態にかかる自動ドアシステムネットワークと同様に、ＭＡＣの生成に用いられる共通鍵が変化するため、第１の共通鍵テーブル１３を有さない装置によるなりすましやデータ改ざんを防止できる。また、万が一第１および第２の共通鍵テーブル１３，１４を有する装置がなりすましやデータ改ざんを行おうとしても、ＭＡＣの暗号化や復号化が不可能である。
【００８８】
前記第２の実施形態において、第１の共通鍵テーブルと第２の共通鍵テーブルとは、１つのテーブルで兼用されてもよい。これによって、消費メモリを節約できる。その一方、このテーブルの参照番号については第１の参照番号と第２の参照番号が無関係に用いられるため、兼用されることによる不都合はほとんどない。
【００８９】
前記各実施形態において、通信プロトコルとしてＣＡＮを例として説明したが、これに限定されるわけではない。すなわち、他の通信プロトコルのデータについて認証を行うものであってもよい。ただし、前記各実施形態にかかる自動ドアシステムネットワークでは、前記第１の実施形態ではＭＡＣは１バイトからなり、前記第２の実施形態ではＭＡＣは３バイトからなるように、ＭＡＣのサイズを小さくできるため、データフィールドのサイズに制限がある通信プロトコルに特に適している。
【００９０】
前記各実施形態において、自動ドアは、いかなる形式のドアであってもよい。例えば、スライド式のドアやスイング式のドアであってもよい。
【００９１】
また、ネットワークは、自動ドアシステムネットワークに限定されず、いかなるシステムにおける通信ネットワークであってもよい。
【００９２】
本発明は、以上の実施形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で、種々の追加、変更または削除が可能である。
【符号の説明】
【００９３】
１          自動ドアシステムネットワーク
２〜４      装置
６          自動ドア
１３        第１の共通鍵テーブル
２０        通信パケット
【要約】
【課題】ネットワークにおいて、通信パケットのデータ改ざんやなりすましなどを被り難くするメッセージ認証コードの生成方法を提供する。
【解決手段】ネットワーク１の送信ノード３が、送信ノード３の第１の共通鍵テーブル１３における参照番号に対応した第１の共通鍵を第１の共通鍵テーブル１３から抽出し、抽出した第１の共通鍵を用いて、通信パケットのデータに関連する関連データを暗号化することでメッセージ認証コードを生成し、送信ノード３から受信ノード２に伝送する通信パケットに含め、この通信パケットの送信後、参照番号をインクリメントし、参照番号がインクリメントされてＮを超える場合には、０を前記参照番号に設定する。参照番号は、受信ノード２における第１の共通鍵テーブル１３における参照番号と連動している。
【選択図】図１【図１】
0005802892.tif 000002
【図２】
0005802892.tif 000003
【図３】
0005802892.tif 000004
【図４】
0005802892.tif 000005
【図５】
0005802892.tif 000006
【図６】
0005802892.tif 000007
【図７】
0005802892.tif 000008
【図８】
0005802892.tif 000009
【図９】
0005802892.tif 000010
【図１０】
0005802892.tif 000011