(57)【要約】【課題】  セキュリティ性が高く、かつ、ネットワークに負荷をかけることがない、通信装置及び通信システムを提供すること。【解決手段】  本発明にかかる通信システムは、通信装置１００ａ及び１００ｂを備える通信システムであって、通信装置１００ａは、冗長ビットの数に基づいて暗号化キーを生成するスタッフビットカウンタ部２２４と、通信データを暗号化する暗号化部２２１と、通信データを送信するフレーム送信部２１１と、を備え、通信装置１００ｂは、冗長ビットの数に基づいて複合化キーを生成するスタッフビットカウンタ部２２４と、通信データを受信するフレーム受信部２１４と、通信データを複合化する複合化部２２２と、を備えるものである。【選択図】  図２
2005278007.tif 000002
【特許請求の範囲】
【請求項１】
データにより数が異なる冗長ビットを含む通信データを送受信する、第１及び第２の通信装置を備える通信システムであって、
前記第１の通信装置は、
通信データに含まれる冗長ビットの数に基づいて暗号化キーを生成する暗号化キー生成部と、
前記暗号化キー生成部により生成された暗号化キーに基づいて通信データを暗号化する暗号化部と、
前記暗号化部により暗号化された通信データを通信プロトコルに従い前記第２の通信装置へ送信する送信部と、を備え、
前記第２の通信装置は、
通信データに含まれる冗長ビットの数に基づいて複合化キーを生成する複合化キー生成部と、
前記通信プロトコルに従い前記第１の通信装置により送信された通信データを受信する受信部と、
前記複合化キー生成部により生成された複合化キーに基づいて前記受信部により受信された通信データを複合化する複合化部と、を備える、
通信システム。
【請求項２】
前記暗号化キー生成部は、暗号化する通信データの冗長ビットの数に基づいて暗号化キーを生成し、
前記暗号化部は、前記暗号化キー生成部により生成された暗号化キーに基づいて前記通信データの一部を暗号化し、
前記複合化キー生成部は、複合化する通信データの冗長ビットの数に基づいて複合化キーを生成し、
前記複合化部は、前記複合化キー生成部により生成された複合化キーに基づいて前記通信データの一部を複合化する
請求項１に記載の通信システム。
【請求項３】
前記通信データは、データと前記データの識別子を含み、
前記暗号化キー生成部は、暗号化する通信データに含まれるデータの識別子の冗長ビットの数に基づいて暗号化キーを生成し、
前記複合化キー生成部は、複合化する通信データに含まれるデータの識別子の冗長ビットの数に基づいて複合化キーを生成する、
請求項２に記載の通信システム。
【請求項４】
前記第１の通信装置は、前記暗号化キーを記憶する暗号化キー記憶部をさらに備え、
前記第２の通信装置は、前記複合化キーを記憶する複合化キー記憶部をさらに備え、
前記暗号化キー生成部は、前記暗号化部が暗号化する通信データよりも前に送信又は受信した通信データの冗長ビットの数に基づいて暗号化キーを生成し、当該暗号化キーを前記暗号化キー記憶部に格納し、
前記暗号化部は、前記暗号化キー記憶部に格納された暗号化キーに基づいて、前記通信データの一部を暗号化し、
前記複合化キー生成部は、前記複合化部が複合化する通信データよりも前に送信又は受信した通信データの冗長ビットの数に基づいて複合化キーを生成し、当該複合化キーを前記複合化キー記憶部に格納し、
前記複合化部は、前記複合化キー記憶部に格納された複合化キーに基づいて、前記通信データの一部を複合化する、
請求項１に記載の通信システム。
【請求項５】
前記通信データは、データと前記データの識別子を含み、
前記暗号化部は、通信データに含まれるデータを暗号化し、
前記複合化部は、通信データに含まれるデータを複合化する、
請求項１乃至４のいずれかに記載の通信システム。
【請求項６】
前記通信データに含まれる冗長ビットは、通信の同期をとるためのスタッフビットである、
請求項１乃至５のいずれかに記載の通信システム。
【請求項７】
前記第１及び第２以外のその他の通信装置をさらに備え、
前記その他の通信装置は、
前記第２の通信装置と同時に、前記第１の通信装置により送信された通信データを受信する、
請求項１乃至６のいずれかに記載の通信システム。
【請求項８】
前記通信プロトコルは、ＣＡＮである、
請求項１乃至７のいずれかに記載の通信システム。
【請求項９】
スタッフビットを含む通信データを相手側通信装置へ送信する通信装置であって、
通信データに含まれるスタッフビットの数に基づいて暗号化キーを生成する暗号化キー生成部と、
前記暗号化キー生成部により生成された暗号化キーに基づいて通信データの一部を暗号化する暗号化部と、
前記暗号化部により暗号化された通信データを通信プロトコルに従い相手側通信装置へ送信する送信部と、
を備える、通信装置。
【請求項１０】
スタッフビットを含む通信データを相手側通信装置から受信する通信装置であって、
通信データに含まれるスタッフビットの数に基づいて複合化キーを生成する複合化キー生成部と、
通信プロトコルに従い相手側通信装置により送信された通信データを受信する受信部と、
前記複合化キー生成部により生成された複合化キーに基づいて前記受信部により受信された通信データの一部を複合化する複合化部と、
を備える、通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム及び通信装置に関し、特に、冗長ビットを含む通信データを送受信する通信システム及び通信装置に関する。
【背景技術】
【０００２】
近年の情報通信技術の発達により、様々な場所において、通信ネットワークが利用されている。特に、ＬＡＮ等のように通信範囲が限定された、閉じられたネットワークよりも、インターネット等のように通信範囲が限定されない、開かれたネットワークが普及している。これに伴い、ネットワークに接続された情報の盗聴や、改ざん、成りすまし等、ネットワークのセキュリティ性が問題となっている。そこで、ネットワークのセキュリティ性を向上させる技術として暗号技術の研究が盛んに行われている。
【０００３】
一方、自動車等の車両ＬＡＮの一つにＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が知られている。ＣＡＮは、多くの自動車内部の制御用通信方式として利用されており、車両以外にも、ＦＡや、船舶、医療機器等にも利用されている。例えば、エンジン制御装置や、トランスミッション制御装置、ＡＢＳ、ダッシュボードのメータ類、ライト、パワーウィンドウ等が、ＣＡＮにより接続されている。このため、ＣＡＮには、エンジン等の機器の性能に関する情報等、秘密にしたい情報が流れている。
【０００４】
ＣＡＮは車両内に限られた、閉じられたネットワークであるため、盗聴等されること少ないが、ユーザが、ＥＣＵ（Electric Control Unit）のメンテナンス用の端子からＣＡＮに接続し、盗聴等が可能である。また、ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）の発達に伴い、ＣＡＮと外部のネットワークを接続し、開かれたネットワークになることもありうる。この場合には、外部から車両内のＣＡＮに接続し、盗聴等が可能となる。
【０００５】
このように、車両内に設けられたＣＡＮであっても、情報が漏洩する危険性がある。このため、通信するデータを暗号化する暗号化通信を行い、セキュリティ性の向上を図っている。データを暗号化する方法として、ＣＡＮのプロトコルよりも上位のプロトコルで暗号化する方法が知られているが、この方法では、処理が複雑であり、ＥＣＵのような装置には適していない。
【０００６】
ＣＡＮのプロトコルのレベル、すなわち、ＯＳＩ基本参照モデルにおけるレイヤ１やレイヤ２のレベルで、データを暗号化する方法として、以下の方法が知られている。
【０００７】
図７は、従来の暗号化通信を行う通信装置のブロック図である。この通信装置７は、ＣＡＮバス９と接続されており、ＣＡＮバス９を介して他の通信装置と暗号化されたデータを送受信することができる。
【０００８】
通信装置７は、図に示されるように、通信装置７の各種制御を行うＣＰＵ８００と、ＣＡＮプロトコルに従った通信を可能とする通信制御部７００を備えている。ＣＰＵ８００は、通信制御部７００によって、他の通信装置へデータを送信したり、他の通信装置からデータを受信したりできる。
【０００９】
また、通信制御部７００は、図に示されるように、プロトコル制御部７１０、暗号制御部７２０、送受信データ記憶部７３０を備え、暗号制御部７２０は、暗号化部７２１、複合化部７２２、暗号化キー記憶部７２３を備えている。
【００１０】
暗号化キー記憶部７２３には、通信データを暗号化／複合化するための暗号化キーが、ＣＰＵ８００等から、あらかじめ格納されており、この暗号化キーを用いて、暗号化部７２１がデータを暗号化したり、複合化部７２２がデータを複合化したりする。
【００１１】
例えば、データを送信する場合、ＣＰＵ８００は、送信データを生成し、送受信データ記憶部７３０に送信データを格納する。次いで、暗号化部７２１は、暗号化キー記憶部７２３に格納されている暗号化キーを用いて、当該送信データを暗号化し、プロトコル制御部７１０へ出力する。次いで、プロトコル制御部７１０は、ＣＡＮプロトコルに従って、当該暗号化されたデータを含むデータフレームを生成し、当該データフレームをＣＡＮバス９へ送信する。
【００１２】
また、データを受信する場合、プロトコル制御部７１０は、ＣＡＮプロトコルに従って、ＣＡＮバス９からデータフレームを受信し、当該データフレームを解析して、暗号化されたデータを取得し、複合化部７２２へ出力する。次いで、複合化部７２２は、暗号化キー記憶部７２３に格納されている暗号化キーを用いて、当該暗号化されたデータを複合化し、送受信データ記憶部７３０へ格納する。次いで、ＣＰＵ８００は、当該受信データを送受信データ記憶部７３０から読み出し、受信データに応じた処理を行う。
【００１３】
こうして、ＣＡＮのプロトコルのレベルで暗号化通信が可能となる。しかしながら、このような方法では、常に固定された暗号化キーを使用するため、暗号化の方法が画一的となり、暗号化されたデータが容易に解読されてしまうという問題がある。
【００１４】
また、暗号化キーを専用の通信フレームにより送受信し、定期的に暗号化キーを更新する方法も知られている。この場合には、データの解読は困難となるが、ＣＡＮのネットワークに負荷がかかるという問題がある。
【００１５】
尚、従来の暗号化されたデータを通信する方法として特許文献１、２及び３が知られている。
【特許文献１】特開平１０−２００５２３号公報
【特許文献２】特開平６−３１１１５７号公報
【特許文献３】特開平５−７２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１６】
このように、従来の通信装置及び通信システムでは、常に固定された暗号化キーを使用した場合には、容易に解読されてしまうためセキュリティ性が低いという問題点があり、暗号化キーを定期的に更新した場合には、ネットワークに負荷がかかるという問題点があった。
【００１７】
本発明は、このような問題点を解決するためになされたもので、セキュリティ性が高く、かつ、ネットワークに負荷をかけることがない、通信装置及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明にかかる通信システムは、データにより数が異なる冗長ビットを含む通信データを送受信する、第１及び第２の通信装置を備える通信システムであって、前記第１の通信装置は、通信データに含まれる冗長ビットの数に基づいて暗号化キーを生成する暗号化キー生成部と、前記暗号化キー生成部により生成された暗号化キーに基づいて通信データを暗号化する暗号化部と、前記暗号化部により暗号化された通信データを通信プロトコルに従い前記第２の通信装置へ送信する送信部と、を備え、前記第２の通信装置は、通信データに含まれる冗長ビットの数に基づいて複合化キーを生成する複合化キー生成部と、前記通信プロトコルに従い前記第１の通信装置により送信された通信データを受信する受信部と、前記複合化キー生成部により生成された複合化キーに基づいて前記受信部により受信された通信データを複合化する複合化部と、を備えるものである。これにより、ネットワークに負荷をかけずに、セキュリティ性を向上することができる。
【００１９】
上述の通信システムにおいて、前記暗号化キー生成部は、暗号化する通信データの冗長ビットの数に基づいて暗号化キーを生成し、前記暗号化部は、前記暗号化キー生成部により生成された暗号化キーに基づいて前記通信データの一部を暗号化し、前記複合化キー生成部は、複合化する通信データの冗長ビットの数に基づいて複合化キーを生成し、前記複合化部は、前記複合化キー生成部により生成された複合化キーに基づいて前記通信データの一部を複合化してもよい。これにより、効率よく、セキュリティ性を向上することができる。
【００２０】
上述の通信システムにおいて、前記通信データは、データと前記データの識別子を含み、前記暗号化キー生成部は、暗号化する通信データに含まれるデータの識別子の冗長ビットの数に基づいて暗号化キーを生成し、前記複合化キー生成部は、複合化する通信データに含まれるデータの識別子の冗長ビットの数に基づいて複合化キーを生成してもよい。これにより、さらに効率よく、セキュリティ性を向上することができる。
【００２１】
上述の通信システムにおいて、前記第１の通信装置は、前記暗号化キーを記憶する暗号化キー記憶部をさらに備え、前記第２の通信装置は、前記複合化キーを記憶する複合化キー記憶部をさらに備え、前記暗号化キー生成部は、前記暗号化部が暗号化する通信データよりも前に送信又は受信した通信データの冗長ビットの数に基づいて暗号化キーを生成し、当該暗号化キーを前記暗号化キー記憶部に格納し、前記暗号化部は、前記暗号化キー記憶部に格納された暗号化キーに基づいて、前記通信データの一部を暗号化し、前記複合化キー生成部は、前記複合化部が複合化する通信データよりも前に送信又は受信した通信データの冗長ビットの数に基づいて複合化キーを生成し、当該複合化キーを前記複合化キー記憶部に格納し、前記複合化部は、前記複合化キー記憶部に格納された複合化キーに基づいて、前記通信データの一部を複合化してもよい。これにより、よりセキュリティ性を向上することができる。
【００２２】
上述の通信システムにおいて、前記通信データは、データと前記データの識別子を含み、前記暗号化部は、通信データに含まれるデータを暗号化し、前記複合化部は、通信データに含まれるデータを複合化してもよい。これにより、通信プロトコルに違反することなく、セキュリティ性を向上することができる。
【００２３】
上述の通信システムにおいて、前記通信データに含まれる冗長ビットは、通信の同期をとるためのスタッフビットであってもよい。これにより、効果的にセキュリティ性を向上することができる。
【００２４】
上述の通信システムにおいて、前記第１及び第２以外のその他の通信装置をさらに備え、前記その他の通信装置は、前記第２の通信装置と同時に、前記第１の通信装置により送信された通信データを受信してもよい。これにより、効率よくセキュリティ性を向上することができる。
【００２５】
上述の通信システムにおいて、前記通信プロトコルは、ＣＡＮであってもよい。これにより、ＣＡＮにおけるセキュリティ性を向上することができる。
【００２６】
本発明にかかる通信装置は、スタッフビットを含む通信データを相手側通信装置へ送信する通信装置であって、通信データに含まれるスタッフビットの数に基づいて暗号化キーを生成する暗号化キー生成部と、前記暗号化キー生成部により生成された暗号化キーに基づいて通信データの一部を暗号化する暗号化部と、前記暗号化部により暗号化された通信データを通信プロトコルに従い相手側通信装置へ送信する送信部と、を備えるものである。これにより、ネットワークに負荷をかけずに、セキュリティ性を向上することができる。
【００２７】
本発明にかかる通信装置は、スタッフビットを含む通信データを相手側通信装置から受信する通信装置であって、通信データに含まれるスタッフビットの数に基づいて複合化キーを生成する複合化キー生成部と、通信プロトコルに従い相手側通信装置により送信された通信データを受信する受信部と、前記複合化キー生成部により生成された複合化キーに基づいて前記受信部により受信された通信データの一部を複合化する複合化部と、を備えるものである。これにより、ネットワークに負荷をかけずに、セキュリティ性を向上することができる。
【発明の効果】
【００２８】
本発明によれば、セキュリティ性が高く、かつ、ネットワークに負荷をかけることがない、通信装置及び通信システムを提供することができる。
【発明を実施するための最良の形態】
【００２９】
発明の実施の形態１．
まず、図１を用いて、本発明の実施の形態１にかかる通信システムの構成について説明する。この通信システム１は、暗号化通信を行う通信システムであり、通信装置１００ａ〜ｄを備えている。各通信装置１００（通信装置１００ａ〜ｄの１つを通信装置１００と記す）の間は、ＣＡＮバス４００を介して通信可能に接続されている。尚、この例では、通信装置１００は、通信装置１００ａ〜ｄの４つであるが、これに限らず、任意の数の通信装置１００を設けてもよい。
【００３０】
通信システム１は、例えば、自動車等の車内に設けられたＬＡＮであり、通信プロトコルとしてＣＡＮが用いられる。ＣＡＮバス４００は、ＣＡＮプロトコルに従った通信を行うためのバスであり、ＣＡＮバス４００により、バス型のネットワークが構築されている。ネットワークの形態は、同じフレームを全ての通信装置１００が同時に受信可能な形態であることが好ましく、バス型のネットワークに限らない。例えば、リング型や、スター型等のネットワークでもよい。
【００３１】
尚、この例では、１つのＣＡＮバス４００を介して各通信装置１００が接続されているが、複数のＣＡＮバス４００を介して各通信装置１００を接続してもよい。複数のＣＡＮバス４００を設ける場合、ＣＡＮバス４００毎に異なる用途や通信速度で利用することができる。例えば、一方のＣＡＮバス４００を暗号化通信用とし、他方のＣＡＮバス４００を暗号化しない通常の通信用とすることも可能である。
【００３２】
通信装置１００は、例えば、ＥＣＵであり、エンジンや、トランスミッション、ＡＢＳ、ダッシュボードのメータ類、パワーウィンドウ等の制御装置である。通信装置１００は、１つの装置であってもよいし、複数の装置から構成されていてもよい。通信装置１００は、図に示されるように、通信制御部２００とＣＰＵ３００を備えている。
【００３３】
ＣＰＵ３００は、通信装置１００の各種制御処理を行う処理装置である。通信装置１００には、図示しない各種センサー等の検出に基づいた処理や、他の通信装置１００から受信したデータに基づいた処理を行う。例えば、各種センサーが検出したデータから送信データを生成し、通信制御部２００を介して他の通信装置１００へ通知する。また、通信制御部２００を介して他の通信装置１００のデータを受信し、メータ等に出力する。
【００３４】
通信制御部２００は、ＣＡＮコントローラーであり、ＣＡＮバス４００を介した他の通信装置１００との通信の制御を行う制御装置である。また、通信制御部２００は、ＣＡＮプロトコルに従った通信制御の他に、通信データの暗号化／複合化を行う。例えば、ＣＰＵ３００の送信データを暗号化し、ＣＡＮプロトコルに従って、暗号化したデータを含むデータフレームをＣＡＮバス４００へ送信する。また、ＣＡＮプロトコルに従って、ＣＡＮバス４００から、暗号化されたデータを含むデータフレームを受信し、暗号化されたデータを複合化して、ＣＰＵ３００へ出力する。
【００３５】
本実施形態では、暗号化／複合化するために同じキー（暗号化キー）を用いる、共通鍵暗号方式を採用している。暗号化キーは、後述するように、ＣＡＮバス４００に流れるフレームにより決定される。ＣＡＮでは、ＣＡＮバス４００に流れるフレームを、全ての通信装置１００が受信する。例えば、通信装置１００ａが送信したフレームは、通信装置１００ｂ〜ｄが、同時に受信する。このため、全ての通信装置１００が、同時に、同じ暗号化キーを取得することができる。
【００３６】
次に、図２のブロック図を用いて、本発明の実施の形態１にかかる通信装置で用いられる通信制御部の構成について説明する。通信制御部２００は、図に示されるように、プロトコル制御部２１０、暗号制御部２２０、送受信データ記憶部２３０を備えている。また、プロトコル制御部２１０は、フレーム送信部２１１、スタッフビット挿入部２１２、フレーム生成部２１３、フレーム受信部２１４、スタッフビット削除部２１５、フレーム解析部２１６を備えている。さらに、暗号制御部２２０は、暗号化部２２１、複合化部２２２、暗号化キー記憶部２２３、スタッフビットカウンタ部２２４を備えている。例えば、これらのブロックは、複数の回路から構成された回路ブロックであるが、回路構成等は限定されない。
【００３７】
送受信データ記憶部２３０は、例えば、ＲＡＭ等の記憶素子であり、送受信するデータを記憶するための記憶装置である。送受信データ記憶部２３０には、後述するデータフレームに含まれるＩＤやデータ等が格納される。格納されるデータは、ＣＰＵ３００により生成された送信データや、複合化部２２２により複合化された受信データである。
【００３８】
スタッフビットカウンタ部２２４は、後述するスタッフビットの数をカウントするカウンタである。スタッフビットカウンタ部２２４は、スタッフビット挿入部２１２により挿入されたスタッフビットや、スタッフビット削除部２１５により削除されたスタッフビットの数をカウントし、暗号化キー記憶部２２３に出力する。
【００３９】
暗号化キー記憶部２２３は、レジスタ等であり、スタッフビットカウンタ部２２４のカウント数に基づいて暗号化キーとして記憶する。スタッフビットのカウント数をそのまま暗号化キーとしてもよいし、カウント数を任意の方法で変換した数値を暗号化キーとしてもよい。例えば、変換テーブル等を用いてもよいし、所定のアルゴリズムにより変換してもよい。また、暗号化キー記憶部２２３には、複数の暗号化キーを格納することができる。現在の送信あるいは受信したフレームのスタッフビットのみならず、以前に送信あるいは受信したフレームのスタッフビット数に基づいた暗号化キーを格納する。例えば、１つ前に送信あるいは受信したフレームのスタッフビット数を暗号化キーとしたり、複数のフレームのスタッフビット数を組み合わせて暗号化キーとすることができる。
【００４０】
暗号化部２２１は、暗号化ブロックであり、送受信データ記憶部２３０に格納された送信データを、暗号化キー記憶部２２３に格納された暗号化キーを用いて暗号化し、フレーム生成部２１３へ出力する。暗号化部２２１は、データフレームに含まれるＩＤフィールドは暗号化せず、データフィールドのみ暗号化する。データフィールドのみ暗号化することにより、ＣＡＮのプロトコルに違反せず、ネットワークに悪影響を与えることがない。尚、データフレームに含まれるデータフィールドの全ての領域に限らず、一部の領域のみ暗号化してもよい。
【００４１】
複合化部２２２は、複合化ブロックであり、フレーム解析部２１６により解析されたデータフレームについて、暗号化キー記憶部２２３に格納された暗号化キーを用いて複合化する。暗号化部２２１と同様に、データフレームに含まれるデータフィールドのみ複合化する。尚、暗号化部２２１や複合化部２２２における、暗号化／複合化のアルゴリズムは、共通鍵暗号方式であれば、任意のアルゴリズムでよい。例えば、ＤＥＳ（Data Encryption Standard）等でもよい。
【００４２】
フレーム生成部２１３は、スタッフビット挿入部２１２とともに、ＣＡＮプロトコルのレイヤ２の制御を行うブロックである。フレーム生成部２１３は、ＣＡＮプロトコルに従って、暗号化部２２１により暗号化された送信データを含むデータフレームを生成し、スタッフビット挿入部２１２へ出力する。例えば、後述するＳＯＦフィールド、ＩＤフィールド、データフィールド、ＣＲＣフィールド、ＥＯＦフィールド等の組み立てやＣＲＣ演算等を行う。また、フレーム生成部２１３は、データフレーム以外のフレーム、例えば、リモートフレームやエラーフレーム等の生成も行う。
【００４３】
スタッフビット挿入部２１２は、上記のように、フレーム生成部２１３とともに、ＣＡＮプロトコルのレイヤ２の制御を行うブロックである。スタッフビット挿入部２１２は、フレーム生成部２１３により生成されたデータフレーム等のフレームに、ＣＡＮプロトコルに従って、スタッフビットを挿入し、フレーム送信部２１１へ出力する。
【００４４】
フレーム送信部２１１は、ＣＡＮプロトコルのレイヤ１の制御を行うブロックである。フレーム送信部２１１は、スタッフビット挿入部２１２によりスタッフビットが挿入されたデータフレーム等のフレームを、ＣＡＮプロトコルに従って、電気信号に変換し、所定のタイミングで、ＣＡＮバス４００に出力する。
【００４５】
フレーム受信部２１４は、フレーム送信部２１１と同様に、ＣＡＮプロトコルのレイヤ１の制御を行うブロックである。フレーム受信部２１４は、ＣＡＮプロトコルに従って、ＣＡＮバス４００から、入力される電気信号に同期を合わせ、データフレーム等のフレームをスタッフビット削除部２１５等で処理可能な信号に変換し、スタッフビット削除部２１５へ出力する。
【００４６】
スタッフビット削除部２１５は、スタッフビット挿入部２１２等と同様に、フレーム解析部２１６とともに、ＣＡＮプロトコルのレイヤ２の制御を行うブロックである。スタッフビット削除部２１５は、フレーム受信部２１４により受信されたデータフレーム等のフレームから、ＣＡＮプロトコルに従って、スタッフビットを削除する。
【００４７】
フレーム解析部２１６は、上記のように、スタッフビット削除部２１５ともに、ＣＡＮプロトコルのレイヤ２の制御を行うブロックである。フレーム解析部２１６は、スタッフビット削除部２１５によりスタッフビットが削除されたデータフレームについて、ＣＡＮプロトコルに従って解析し、解析結果を複合化部２２２へ出力する。例えば、ＳＯＦフィールド、ＩＤフィールド、データフィールド、ＣＲＣフィールド、ＥＯＦフィールド等に分離したり、ＣＲＣのチェックを行う。
【００４８】
次に、図３を用いて、ＣＡＮバス４００で送受信されるフレームについて説明する。このフレームは、通信装置１００のデータの送受信に用いられるデータフレームである。本実施形態では、通信装置１００間で通信されるデータのみ暗号化するため、データフレーム以外のフレームの説明は省略する。
【００４９】
図３（ａ）に示されるように、データフレームには、ＳＯＦ（Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ）フィールド、ＩＤフィールド、データフィールド、ＣＲＣフィールド、ＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｒａｍｅ）フィールドが含まれている。この他、データ長を示すコントロールフィールドや受信確認のためのＡＣＫフィールド等が含まれる（不図示）。ＳＯＦフィールドはデータフレームの開始を表すフィールド、ＩＤフィールドはデータのＩＤ（識別子）を表すフィールド、データフィールドはデータの中身を含むフィールド、ＣＲＣはフレームの伝送誤りをチェックするためのフィールド、ＥＯＦはデータフレームの終了を表すフィールドである。このように、ＣＡＮのフレームには、通信装置のアドレスのような情報を含まないため、全ての通信装置で同時に同じフレームを受信することが可能である。
【００５０】
また、ＩＤフィールドのＩＤは、データの識別の他に、フレームの優先順位を表している。ＩＤの値が小さい方が優先順位が高く、ＣＡＮバス４００に同時に複数のフレームが送信された場合、ＩＤの優先順位が高いフレームが送信可能なフレームとされる。
【００５１】
ＣＡＮバス４００に伝送する信号の方式は、ＮＲＺ（Ｎｏｎ  Ｒｅｔｕｒｎ  ｔｏ  Ｚｅｒｏ）方式であり、図３（ｂ）に示されるように、データの「１」に対応するレセシブレベルと、データの「０」に対応するドミナントレベルの信号がビット単位に入出力される。例えば、ＳＯＦは１ビットの「０」であり、ＥＯＦは７ビットの「１」である。フレームが送受信されないアイドル状態では、ＣＡＮバス４００のレベルは、常に「１」であり、ＳＯＦの「０」により同期がとられ、全ての通信装置がフレームの開始を検出する。
【００５２】
また、データフレーム等のフレームには、バーストエラーを防止するために、スタッフビットが挿入される。スタッフビットは、ＳＯＦフィールドからＣＲＣフィールドの間に、同一レベルが５ビット以上連続した場合、１ビットの反転データが挿入される。例えば、図３（ｃ）の例では、送信データに「１」が６ビット連続しているため、５ビットの「１」の次に「０」のスタッフビットが挿入される。
【００５３】
次に、図４のシーケンスを用いて、本発明の実施の形態１にかかる通信装置で行われる通信方法について説明する。図４（ａ）は、通信装置１００がＣＡＮバス４００へデータフレームを送信する場合、図４（ｂ）は、通信装置１００がＣＡＮバス４００からデータフレームを受信する場合のシーケンスである。
【００５４】
通信装置１００がデータフレームを送信する場合、図４（ａ）に示されるように、まず、ＣＰＵ３００は、相手側の通信装置１００へ送信する送信データを生成する（Ｓ４０１）。すなわち、ＣＰＵ３００は、ＩＤフィールドとデータフィールドを含む送信データを生成し、当該送信データを送受信データ記憶部２３０に格納する。そして、暗号化部２２１は、当該送信データを送受信データ記憶部２３０から読み出す。例えば、送受信データ記憶部２３０に、送信要求フラグが格納されており、ＣＰＵ３００がこの送信要求フラグをオンしたときに、暗号化部２２１が送信データを読み出してもよい。
【００５５】
次いで、暗号制御部２２０は、暗号化キーを取得する（Ｓ４０２）。すなわち、暗号制御部２２０の暗号化部２２１は、Ｓ４０１で生成された送信データを暗号化するために、暗号化キー記憶部２２３に格納されている暗号化キーを読み出す。上述のように、暗号化キー記憶部２２３に複数の暗号化キーが記憶されている場合、最新の暗号化キー、つまり、前回、送信あるいは受信したデータフレームのスタッフビットに基づく暗号化キーを読み出してもよいし、他の暗号化キーを読み出してもよい。
【００５６】
次いで、暗号制御部２２０は、暗号化キーを用いてデータを暗号化する（Ｓ４０３）。すなわち、暗号制御部２２０の暗号化部２２１は、Ｓ４０２で読み出した暗号化キーを用いて、Ｓ４０１で生成された送信データを暗号化する。上述のように、送信データに含まれるデータフィールドのみ暗号化し、その他のフィールドは、暗号化しない。尚、このとき、暗号化によりデータフィールドのデータ長が変更された場合、コントロールフィールドのデータ長を更新してもよい。その後、暗号化されたデータを含む送信データをプロトコル制御部２１０のフレーム生成部２１３へ出力する。
【００５７】
次いで、プロトコル制御部２１０は、暗号化されたデータを含むデータフレームを生成する（Ｓ４０４）。すなわち、プロトコル制御部２１０のフレーム生成部２１３は、ＣＡＮプロトコルに従って、Ｓ４０３で暗号化されたデータフィールドや、ＩＤフィールドを含むデータフレームを生成し、スタッフビット挿入部２１２へ出力する。
【００５８】
次いで、プロトコル制御部２１０は、データフレームにスタッフビットを挿入する（Ｓ４０５）。すなわち、プロトコル制御部２１０のスタッフビット挿入部２１２は、Ｓ４０４で生成したデータフレームに、ＣＡＮプロトコルに従って、スタッフビットを挿入する。スタッフビット挿入部２１２は、ＳＯＦフィールドからＣＲＣフィールド間で同一レベルが５ビット連続した場合、次の６ビット目に反転したビットを挿入する。スタッフビットの挿入の際、暗号制御部２２０のスタッフビットカウンタ部２２４に、スタッフビットの挿入を示す挿入信号を出力する。スタッフビット挿入部２１２は、スタッフビットを挿入するフレームがデータフレームの場合のみ、スタッフビットカウンタ部２２４へ挿入信号を出力してもよいし、他のフレームの場合にも、挿入信号を出力してもよい。また、スタッフビット挿入部２１２は、スタッフビットを挿入したデータフレームをフレーム送信部２１１へ出力する。
【００５９】
次いで、暗号制御部２２０は、挿入されたスタッフビットをカウントする（Ｓ４０６）。すなわち、暗号制御部２２０のスタッフビットカウンタ部２２４は、スタッフビット挿入部２１２からの挿入信号に基づいて、スタッフビット数をカウントする。このとき、カウントする範囲を明確にするため、スタッフビット挿入の開始や終了を示す信号を、スタッフビット挿入部２１２から出力することが好ましい。
【００６０】
次いで、暗号制御部２２０は、カウントしたスタッフビット数を暗号化キーとして格納する（Ｓ４０７）すなわち、暗号制御部２２０のスタッフビットカウンタ部２２４は、Ｓ４０６でカウントしたスタッフビット数に基づいて、上述のように、暗号化キーを生成し暗号化キー記憶部２２３に格納する。このとき、暗号化キー記憶部２２３に複数の暗号化キーが格納されている場合、最新の暗号化キーとして格納する。
【００６１】
Ｓ４０５の後、プロトコル制御部２１０は、データフレームをＣＡＮバス４００に送信する（Ｓ４０８）。すなわち、プロトコル制御部２１０のフレーム送信部２１１は、Ｓ４０５でスタッフビットを挿入したデータフレームを、ＣＡＮプロトコルに従い、電気信号に変換し、ＣＡＮバス４００へ出力する。このようにして、ＣＰＵ３００で生成されたデータを、暗号化し、暗号化されたデータを含むデータフレームをＣＡＮバス４００へ送信することができる。
【００６２】
通信装置１００がデータフレームを受信する場合、図４（ｂ）に示されるように、まず、プロトコル制御部２１０は、ＣＡＮバス４００からデータフレームを受信する（Ｓ４０９）。すなわち、プロトコル制御部２１０のフレーム受信部２１４は、ＣＡＮプロトコルに従って、同期を合わせ、ＣＡＮバス４００からデータフレームを受信して、スタッフビット削除部２１５へ出力する。
【００６３】
次いで、プロトコル制御部２１０は、受信したデータフレームからスタッフビットを削除する（Ｓ４１０）。すなわち、プロトコル制御部２１０のスタッフビット削除部２１５は、Ｓ４０９で受信したデータフレームから、ＣＡＮプロトコルに従って、スタッフビットを削除する。スタッフビット削除部２１５は、ＳＯＦフィールドからＣＲＣフィールド間で同一レベルが５ビット連続した場合、次の６ビット目を削除する。スタッフビットの削除の際、暗号制御部２２０のスタッフビットカウンタ部２２４に、スタッフビットの削除を示す削除信号を出力する。同一レベルを６ビット連続して検出した場合には、スタッフエラーを検出し、エラー処理が行われる。スタッフビット削除部２１５は、スタッフビットを削除したデータフレームをフレーム解析部２１６へ出力する。
【００６４】
次いで、暗号制御部２２０は、削除されたスタッフビットをカウントする（Ｓ４１１）。すなわち、暗号制御部２２０のスタッフビットカウンタ部２２４は、スタッフビット挿入部２１２からの削除信号に基づいて、スタッフビット数をカウントする。このとき、Ｓ４０６と同様に、スタッフビット削除の開始信号や終了信号を、スタッフビット挿入部２１２から出力することが好ましい。
【００６５】
次いで、暗号制御部２２０は、カウントしたスタッフビット数を暗号化キーとして格納する（Ｓ４１２）。すなわち、暗号制御部２２０のスタッフビットカウンタ部２２４は、Ｓ４０７と同様に、Ｓ４１１でカウントしたスタッフビット数に基づいて、暗号化キーを生成し暗号化キー記憶部２２３に格納する。
【００６６】
Ｓ４１０の後、プロトコル制御部２１０は、データフレームの解析を行う（Ｓ４１３）。すなわち、プロトコル制御部２１０のフレーム解析部２１６は、Ｓ４１０でスタッフビットを削除したデータフレームについて、ＣＡＮプロトコルに従いフレーム解析し、フィールド分離等したデータフレームを複合化部２２２へ出力する。尚、受信したデータフレームが正常なフレームの場合、ＣＡＮプロトコルに従って、ＡＣＫフィールドを更新したフレームをＣＡＮバス４００へ送信してもよい。
【００６７】
次いで、暗号制御部２２０は、暗号化キーを取得する（Ｓ４１４）。すなわち、暗号制御部２２０の複合化部２２２は、受信したデータフレームを複合化するために、Ｓ４０２と同様に、暗号化キー記憶部２２３に格納されている暗号化キーを読み出す。
【００６８】
次いで、暗号制御部２２０は、暗号化キーを用いてデータを複合化する（Ｓ４１５）。すなわち、暗号制御部２２０の複合化部２２２は、Ｓ４１４で読み出した暗号化キーを用いて、Ｓ４１３で解析されたデータフレームに含まれるデータフィールドのデータを複合化する。上述のように、データフレームに含まれるデータフィールドのみ複合化し、その他のフィールドは、複合化しない。尚、Ｓ４０２と同様に、データフィールドのデータ長に応じて、コントロールフィールドを更新してもよい。その後、ＩＤフィールド、複合化されたデータ等を含む受信データを送受信データ記憶部２３０へ格納する。
【００６９】
次いで、ＣＰＵ３００は、複合化されたデータを取得する（Ｓ４１６）。すなわち、ＣＰＵ３００は、Ｓ４１４で複合化された受信データを、送受信データ記憶部２３０から読み出す。例えば、送受信データ記憶部２３０に、受信通知フラグが格納されており、複合化部２２２がこの受信通知フラグをオンしたときに、ＣＰＵ３００が受信データを読み出してもよい。その後、ＣＰＵ３００は、受信データに応じた処理を行う。このようにして、ＣＡＮバス４００から、暗号化されたデータを含むデータフレームを受信、複合化し、ＣＰＵ３００において通常の受信データとして処理することができる。
【００７０】
以上のような構成によって、フレームの送信ごとに暗号化キーが更新されるため、暗号化の解読が困難なものとなり、セキュリティ性を向上することができる。また、通常のフレームに含まれるスタッフビットに基づいて暗号化キーを生成するため、暗号化キーを送信するための専用のフレームを必要とせず、ネットワークに負荷をかけずに、セキュリティ性の高い暗号化通信が可能である。さらに、ＣＡＮのような、全ての通信装置が同じメッセージを同時に受信するマルチキャスト通信に適用することにより、効率よく、暗号化キーを更新することができる。以前に送信あるいは受信した複数のフレームのスタッフビットを前回に送受信したフレームに限らず、複数の中から選択したり、組み合わせたりすることができ、よりセキュリティ性を向上することができる。
【００７１】
発明の実施の形態２．
次に、図５のブロック図を用いて、本発明の実施の形態２にかかる通信装置で用いられる通信制御部の構成について説明する。尚、本実施形態にかかる通信システムの構成は、図１と同様であり、説明を省略する。また、図５に示された符号のうち、図２と同じ符号を付した構成は、図２に示す構成と同じか又は類似の構成を示しており、説明を省略する。
【００７２】
この通信制御部２００は、図２の構成における暗号化キー記憶部２２３に代わってスタッフビット仮生成部２２５を備えている。スタッフビット仮生成部２２５は、暗号化部２２１から入力されたデータについて擬似的にスタッフビットを挿入し、挿入されたスタッフビットごとにスタッフビットカウンタ部２２４へ出力する。
【００７３】
本実施形態における暗号化部２２１は、送受信データ記憶部２３０に格納された送信データに含まれる、ＩＤフィールドをスタッフビット仮生成部２２５に出力し、スタッフビットカウンタ部２２４からのスタッフビット数に基づいて、データフィールドを暗号化する。また、複合化部２２２は、フレーム解析部２１６により解析されたデータフレームのデータを、スタッフビットカウンタ部２２４からのスタッフビット数に基づいて複合化する。
【００７４】
このように、本実施形態の通信制御部２００は、以前に送受信したフレームのスタッフビットに基づいた暗号化キーではなく、現在、送信する、あるいは受信したフレームのスタッフビットに基づいた暗号化キーを用いることを特徴とする。
【００７５】
次に、図６のシーケンスを用いて、本発明の実施の形態２にかかる通信装置で行われる通信方法について説明する。図６（ａ）は、通信装置１００がＣＡＮバス４００へデータフレームを送信する場合、図６（ｂ）は、通信装置１００がＣＡＮバス４００からデータフレームを受信する場合のシーケンスである。尚、図６における処理の一部と、図４における処理の一部は、同じか又は類似の処理であり、適宜、説明を省略する。例えば、Ｓ６０１とＳ４０１、Ｓ６０４とＳ４０３、Ｓ６０５とＳ４０４、Ｓ６０６とＳ４０５、Ｓ６０７とＳ４０８、Ｓ６０８とＳ４０９、Ｓ６０９とＳ４１０、Ｓ６１０とＳ４１１、Ｓ６１１とＳ４１３、Ｓ６１２とＳ４１５、Ｓ６１３とＳ４１６は、同じか又は類似の処理である。
【００７６】
通信装置１００がデータフレームを送信する場合、図６（ａ）に示されるように、まず、ＣＰＵ３００は、相手側の通信装置１００へ送信する送信データを生成する（Ｓ６０１）。そして、暗号制御部２２０の暗号化部２２１は、当該送信データを送受信データ記憶部２３０から読み出し、送信データに含まれるＩＤフィールドをスタッフビット仮生成部２２５へ出力する。
【００７７】
次いで、暗号制御部２２０は、スタッフビットを仮生成する（Ｓ６０２）。すなわち、暗号制御部２２０のスタッフビット仮生成部２２５は、暗号化部２２１から入力されたＩＤフィールドについて、ＣＡＮプロトコルに従って、スタッフビットを擬似的に挿入する。また、スタッフビットの挿入の際、スタッフビットカウンタ部２２４に、スタッフビットの挿入を示す挿入信号を出力する。
【００７８】
次いで、暗号制御部２２０は、仮に挿入されたスタッフビットをカウントする（Ｓ６０３）。そして、カウントしたスタッフビット数を暗号化部２２１へ出力する。次いで、暗号制御部２２０は、スタッフビット数を用いてデータを暗号化する（Ｓ６０４）。暗号制御部２２０の暗号化部２２１は、Ｓ６０３でカウントされたスタッフビット数を暗号化キーに用いて、Ｓ６０１で生成されたデータフィールドのデータを暗号化する。実施の形態１と同様に、スタッフビット数をそのまま暗号化キーとしてもよいし、スタッフビット数を変換等して、暗号化キーを生成してもよい。
【００７９】
次いで、プロトコル制御部２１０は、暗号化されたデータを含むデータフレームを生成する（Ｓ６０５）。次いで、プロトコル制御部２１０は、データフレームにスタッフビットを挿入する（Ｓ６０６）。このとき、スタッフビットカウンタ部２２４へは何も出力しない。次いで、プロトコル制御部２１０は、データフレームをＣＡＮバス４００に送信する（Ｓ６０７）。このようにして、送信するデータフレームから暗号化キーを生成し、暗号化されたデータを含むデータフレームをＣＡＮバス４００へ送信することができる。
【００８０】
通信装置１００がデータフレームを受信する場合、図６（ｂ）に示されるように、まず、プロトコル制御部２１０は、ＣＡＮバス４００からデータフレームを受信する（Ｓ６０８）。次いで、プロトコル制御部２１０は、受信したデータフレームからスタッフビットを削除する（Ｓ６０９）。このとき、スタッフビット削除部２１５は、ＩＤフィールドのみについて、スタッフビットを削除する際に、スタッフビットカウンタ部２２４へ削除信号を出力する。
【００８１】
次いで、暗号制御部２２０は、削除されたスタッフビットをカウントする（Ｓ６１０）。このとき、スタッフビットカウンタ部２２４は、ＩＤフィールドのみの削除信号に基づいて、スタッフビット数をカウントし、カウントした数を複合化部２２２へ出力する。Ｓ４０９の後、プロトコル制御部２１０は、データフレームの解析を行う（Ｓ６１１）。
【００８２】
次いで、暗号制御部２２０は、スタッフビット数を用いてデータを複合化する（Ｓ６１２）。すなわち、暗号制御部２２０の複合化部２２２は、Ｓ６１０でカウントしたスタッフビット数に基づいて、Ｓ６０４と同様に暗号化キーを生成し、当該暗号化キーを用いて、Ｓ６１１で解析されたデータフィールドのデータを複合化する。
【００８３】
次いで、ＣＰＵ３００は、複合化されたデータを取得し（Ｓ６１３）、その後、ＣＰＵ３００は、受信データに応じた処理を行う。このようにして、暗号化されたデータを含むデータフレームを受信し、受信したデータフレームから暗号化キーを生成し、複合化して、通常の受信データとして処理することができる。
【００８４】
以上のような構成により、実施の形態１と同様に、フレームの送信ごとに暗号化キーが更新されるため、セキュリティ性の高い暗号化通信が可能である。本実施形態では、現在、送受信するフレームに基づいて、暗号化キーを生成し、暗号化／複合化を行うため、効率よくセキュリティ性を向上できる。特に、１番最初に送信するデータフレームについても暗号化通信が可能となる。１つのフレームのみで、処理が完結するため、全ての通信装置が同時に同じフレームを受信せず、任意の時間にフレームを受信するようなネットワークにも適用することができる。また、暗号化キーを記憶する必要がないため、構成を簡略化し、部品点数を削減できる。例えば、スタッフビット仮生成部を、スタッフビット挿入部と併用すれば、より効果が高い。
【００８５】
その他の発明の実施の形態．
上述の例では、全てのデータフレームについて、暗号化キーを生成し、データフィールドを暗号化する方法について説明したが、これに限らず、特定のＩＤのデータフレームのみ暗号化キーの生成や、暗号化／複合化してもよい。そうすると、暗号化しないデータフレームについては、本発明を適用していない通信装置とも通信可能となり、より汎用的に本発明を利用することができる。
【００８６】
上述の例では、データフレームに含まれるスタッフビットの数に基づいて暗号化キーを生成する方法につてい説明したが、データフレームに含まれるその他のフィールド、例えば、ＣＲＣ等に基づいて、暗号化キーを生成してもよい。さらに、スタッフビットの数と組み合わせて暗号化キーを生成してもよい。
【００８７】
上述の例では、通信プロトコルにＣＡＮを用いて通信を行ったが、ＣＡＮに限らず、非同期通信方式においてスタッフビットにより同期をとるプロトコルであってもよい。さらに、スタッフビットやＣＲＣのような冗長ビットを含む、その他のプロトコルを用いてもよい。例えば、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）等でもよい。
【図面の簡単な説明】
【００８８】
【図１】本発明にかかる通信システムの構成図である。
【図２】本発明にかかる通信装置の構成を示すブロック図である。
【図３】本発明にかかる通信フレームを説明するための図である。
【図４】本発明にかかる通信方法を示すシーケンスである。
【図５】本発明にかかる通信装置の構成を示すブロック図である。
【図６】本発明にかかる通信方法を示すシーケンスである。
【図７】従来の通信装置の構成を示すブロック図である。
【符号の説明】
【００８９】
１  通信システム
１００  通信装置
２００  通信制御装置
２１０  プロトコル制御部
２１１  フレーム送信部
２１２  スタッフビット挿入部
２１３  フレーム生成部
２１４  フレーム受信部
２１５  スタッフビット削除部
２１６  フレーム解析部
２２０  暗号制御部
２２１  暗号化部
２２２  複合化部
２２３  暗号化キー記憶部
２２４  スタッフビットカウンタ部
２２６  スタッフビット仮生成部
２３０  送受信データ記憶部
３００  ＣＰＵ
【図１】
2005278007.tif 000003
【図２】
2005278007.tif 000004
【図３】
2005278007.tif 000005
【図４】
2005278007.tif 000006
【図５】
2005278007.tif 000007
【図６】
2005278007.tif 000008
【図７】
2005278007.tif 000009