(57)【要約】【課題】通信を暗号化することによってセキュリティ性を向上することができる暗号化装置、暗号通信システム及び暗号化送信方法を提供する。【解決手段】通信装置１０は、送信すべきデータを暗号化処理部２１が暗号化し、暗号化したデータを分割処理部２２が複数に分割して、分割した各分割後暗号データをそれぞれ個別にメッセージとして送信する。また通信装置１０は、メッセージを受信した他の通信装置１０がデータを復元するために必要な復元用情報を復元用情報生成処理部２３が作成し、分割した各データに対して復元用情報を付したメッセージをメッセージ生成処理部２４が生成する。メッセージを受信した通信装置１０は、メッセージに含まれる復元用情報に基づいて、複数のメッセージに含まれる分割後暗号データを結合処理部２６が結合し、結合した暗号データを復号処理部２７が復号することによって元のデータへ復元する。【選択図】図１
2017102349.tif 000002
【特許請求の範囲】
【請求項１】
他の装置へ送信すべきデータを暗号化する暗号化部と、
前記暗号化部が暗号化したデータを複数に分割する分割部と、
前記分割部が分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成する生成部と、
前記生成部が生成したメッセージを送信する送信部と
を備えることを特徴とする暗号化装置。
【請求項２】
前記メッセージは、ＣＡＮ（Controller Area Network）規格の拡張フォーマット形式であり、
前記生成部は、アービトレーションフィールドの拡張ＩＤ領域に前記復元用情報を格納したメッセージを生成すること
を特徴とする請求項１に記載の暗号化装置。
【請求項３】
前記復元用情報には、分割前のデータを識別するための識別情報と、分割されたデータを結合するための順序情報とを含むこと
を特徴とする請求項１又は請求項２に記載の暗号化装置。
【請求項４】
前記復元用情報には、元のデータのデータ長を示す情報を含むこと
を特徴とする請求項１乃至請求項３のいずれか１つに記載の暗号化装置。
【請求項５】
前記復元用情報には、データが暗号化されたものであるか否かを示す情報を含むこと
を特徴とする請求項１乃至請求項４のいずれか１つに記載の暗号化装置。
【請求項６】
暗号鍵を記憶した記憶部を備え、
前記暗号化部は、前記記憶部に記憶された暗号鍵を用いて、共通鍵暗号アルゴリズムにてデータを暗号化すること
を特徴とする請求項１乃至請求項５のいずれか１つに記載の暗号化装置。
【請求項７】
前記暗号化部は、所定のデータサイズ毎に暗号化を行うブロック暗号アルゴリズムにてデータを暗号化すること
を特徴とする請求項１乃至請求項６のいずれか１つに記載の暗号化装置。
【請求項８】
他の装置からのメッセージを受信する受信部と、
前記受信部が受信したメッセージに含まれるデータが暗号化されている場合に、該データを復号する復号部と、
前記復号部が復号したデータを含むメッセージを生成する第２生成部と、
前記第２の生成部が生成したメッセージを送信する第２送信部と
を備え、
前記受信部が受信したメッセージに含まれるデータが暗号化されていない場合に、該データを前記暗号化部が暗号化すること
を特徴とする請求項１乃至請求項７のいずれか１つに記載の暗号化装置。
【請求項９】
複数のネットワークに接続され、
前記送信部又は前記第２送信部は、一のネットワークを介して前記受信部がメッセージを受信した場合に、前記一のネットワーク以外のネットワークを介してメッセージを送信すること
を特徴とする請求項８に記載の暗号化装置。
【請求項１０】
他の装置へ送信すべきデータを暗号化する暗号化部、前記暗号化部が暗号化したデータを複数に分割する分割部、前記分割部が分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成する生成部、及び、前記生成部が生成したメッセージを送信する送信部を有する暗号化装置と、
前記暗号化装置が送信したメッセージを受信する受信部、該受信部が受信した複数のメッセージに含まれる複数のデータを前記復元用情報に基づいて結合する結合部、及び、該結合部が結合したデータを復号する復号部を有する通信装置と
を備えることを特徴とする暗号通信システム。
【請求項１１】
暗号化装置がデータを暗号化して他の装置へ送信する暗号化送信方法であって、
他の装置へ送信すべきデータを暗号化し、
暗号化したデータを複数に分割し、
分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成し、
生成したメッセージを送信すること
を特徴とする暗号化送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化して他の装置へ送信する暗号化装置、暗号通信システム及び暗号化送信方法に関する。
【背景技術】
【０００２】
従来、車両には複数のＥＣＵ（Electronic Control Unit）が搭載され、これらがＣＡＮ（Controller Area Network）などのネットワークを介して接続されている。これら複数のＥＣＵは、ネットワークを介して情報を交換しながら各個の処理を進めている。近年では、セキュリティの観点から、車両内で送受信される情報に対して暗号化を行うことが望まれている。
【０００３】
例えば特許文献１においては、全ての通信装置が鍵を共有する暗号化通信方式が記載されている。この暗号化通信方式では、全ての通信装置が同一の暗号ブロックを有し、ＣＡＮバス内を流れる暗号化されたパケットを検知した場合に、暗号ブロックが同期して鍵を変更する。また全ての通信装置は、送信するパケットを平文として保持し、送信するパケットのうち最も先に送信されるパケットのみを現在の鍵で暗号化する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２３１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車両内の通信に広く用いられているＣＡＮの規格では、１つのフレームのデータフィールドに格納できるデータは８バイトである。一方、共通鍵暗号化方式として広く採用されているＡＥＳ（Advanced Encryption Standard）では、１６バイトのブロック毎に暗号化が行われる。ＣＡＮの１フレームに格納された８バイトのデータをＡＥＳで暗号化した場合、暗号化されたデータは１６バイトとなる。このため従来のＣＡＮの規格では、暗号化された１６バイトのデータを１フレームに格納して送信することができなかった。例えば８バイトのブロック毎に暗号化を行うＤＥＳ（Data Encryption Standard）を採用することも考えられるが、ＤＥＳでは十分な安全性が得られないという問題がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、通信を暗号化して行うことによってセキュリティ性を向上することができる暗号化装置、暗号通信システム及び暗号化送信方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る暗号化装置は、他の装置へ送信すべきデータを暗号化する暗号化部と、前記暗号化部が暗号化したデータを複数に分割する分割部と、前記分割部が分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成する生成部と、前記生成部が生成したメッセージを送信する送信部とを備えることを特徴とする。
【０００８】
また、本発明に係る暗号化装置は、前記メッセージが、ＣＡＮ（Controller Area Network）規格の拡張フォーマット形式であり、前記生成部は、アービトレーションフィールドの拡張ＩＤ領域に前記復元用情報を格納したメッセージを生成することを特徴とする。
【０００９】
また、本発明に係る暗号化装置は、前記復元用情報には、分割前のデータを識別するための識別情報と、分割されたデータを結合するための順序情報とを含むことを特徴とする。
【００１０】
また、本発明に係る暗号化装置は、前記復元用情報には、元のデータのデータ長を示す情報を含むことを特徴とする。
【００１１】
また、本発明に係る暗号化装置は、前記復元用情報には、データが暗号化されたものであるか否かを示す情報を含むことを特徴とする。
【００１２】
また、本発明に係る暗号化装置は、暗号鍵を記憶した記憶部を備え、前記暗号化部は、前記記憶部に記憶された暗号鍵を用いて、共通鍵暗号アルゴリズムにてデータを暗号化することを特徴とする。
【００１３】
また、本発明に係る暗号化装置は、前記暗号化部が、所定のデータサイズ毎に暗号化を行うブロック暗号アルゴリズムにてデータを暗号化することを特徴とする。
【００１４】
また、本発明に係る暗号化装置は、他の装置からのメッセージを受信する受信部と、前記受信部が受信したメッセージに含まれるデータが暗号化されている場合に、該データを復号する復号部と、前記復号部が復号したデータを含むメッセージを生成する第２生成部と、前記第２の生成部が生成したメッセージを送信する第２送信部とを備え、前記受信部が受信したメッセージに含まれるデータが暗号化されていない場合に、該データを前記暗号化部が暗号化することを特徴とする。
【００１５】
また、本発明に係る暗号化装置は、複数のネットワークに接続され、前記送信部又は前記第２送信部は、一のネットワークを介して前記受信部がメッセージを受信した場合に、前記一のネットワーク以外のネットワークを介してメッセージを送信することを特徴とする。
【００１６】
また、本発明に係る暗号通信システムは、他の装置へ送信すべきデータを暗号化する暗号化部、前記暗号化部が暗号化したデータを複数に分割する分割部、前記分割部が分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成する生成部、及び、前記生成部が生成したメッセージを送信する送信部を有する暗号化装置と、前記暗号化装置が送信したメッセージを受信する受信部、該受信部が受信した複数のメッセージに含まれる複数のデータを前記復元用情報に基づいて結合する結合部、及び、該結合部が結合したデータを復号する復号部を有する通信装置とを備えることを特徴とする。
【００１７】
また、本発明に係る暗号化送信方法は、暗号化装置がデータを暗号化して他の装置へ送信する暗号化送信方法であって、他の装置へ送信すべきデータを暗号化し、暗号化したデータを複数に分割し、分割した各データに、前記他の装置が元のデータを復元するために必要な復元用情報を付したメッセージを生成し、生成したメッセージを送信することを特徴とする。
【００１８】
本発明において暗号化装置は、他の装置へ送信すべきデータを暗号化し、暗号化したデータを複数に分割して、分割した各データをそれぞれ個別にメッセージとして送信する。これにより暗号化装置は、例えば暗号化によってデータ長が１つのメッセージに収まらないサイズとなる場合であっても、データを分割して複数回に分けてメッセージ送信を行うことができる。暗号化装置からのメッセージを受信した他の装置は、複数のメッセージから分割された複数のデータを取得し、取得した複数のデータを結合することによって元のデータに復元する。
暗号化装置は、メッセージを受信した他の装置がデータを復元するために必要な復元用情報を、分割した各データに対して付したものをメッセージとして送信する。これにより、メッセージを受信した他の装置は、メッセージに含まれる復元用情報に基づいて、分割された複数のデータを結合して元のデータを復元することができる。
【００１９】
また本発明においては、暗号化装置及び他の装置はＣＡＮ規格に従った通信を行う構成であり、送受信するメッセージはＣＡＮ規格の拡張フォーマット形式とする。暗号化装置は、ＣＡＮ規格の拡張フォーマット形式のメッセージに含まれるアービトレーションフィールドの拡張ＩＤ領域に、復元用情報を格納する。これにより、メッセージのデータフィールドに復元用情報を格納する必要がないため、データフィールドの限られた容量（８バイト）を有効活用してデータを送信することができる。
【００２０】
また本発明においてメッセージに付される復元用情報には、分割前のデータを識別するための識別情報、及び、分割されたデータを結合するための順序情報を含む。識別情報は分割前のデータに対して一意的に付される情報であり、一のデータから分割された複数のデータには共通の識別情報が与えられる。また順序情報は分割された各データが何番目のデータに相当するかを示す情報であり、例えば一のデータを２分割した場合には２つのデータに対して１又は２の順序情報が付される。これらの情報を復元用情報としてメッセージに付すことにより、メッセージの送信順序がスケジューリング処理などにより逆転した場合、又は、複数のメッセージの間に無関係なメッセージ送信が行われた場合等であっても、メッセージを受信した他の装置が元のデータを正確に復元することができる。
【００２１】
また本発明においてメッセージに付される復元用情報には、元のデータのデータ長を示す情報を含む。ブロック暗号アルゴリズムによるデータの暗号化では、所定長のデータに対して暗号化処理を行う必要があるため、元のデータが所定長に満たない場合には、足りないデータ長の分だけ所定値（例えば”０”）のビットを付加することが行われる。このようなデータを復元した受信側の他の装置は、復元したデータに含まれる所定値のビットが、元のデータに含まれるものであるのか、暗号化のために付加されたものであるかを判別することができない。そこで、元のデータ長を示す情報を復元用情報に含めることにより、受信側の他の装置は、復元したデータの有効部分を判断することができ、元のデータを正確に復元することができる。
【００２２】
また本発明においてメッセージに付される復元用情報には、データが暗号化されたものであるか否かを示す情報を含む。これにより、データを暗号化したメッセージと、暗号化していないメッセージとを混在させて送受信することが可能となる。メッセージを受信した他の装置は、この情報に基づいてデータを復号するか否かを判断することができる。
【００２３】
また本発明において暗号化装置は、共通鍵暗号アルゴリズムにてデータを暗号化する。公開鍵暗号アルゴリズムにてデータを暗号化する場合と比較して、暗号化及び復号の処理時間を短縮することが可能である。
【００２４】
また本発明においては、所定のデータサイズ毎に暗号化を行うブロック暗号アルゴリズムにてデータを暗号化する。ブロック暗号アルゴリズムは、ストリーム暗号アルゴリズムと比較して広く普及しており、セキュリティ強度に関する研究も多く行われているため、必要なセキュリティ強度を確保することが容易である。
【００２５】
また本発明において暗号化装置は、他の装置からメッセージを受信し、受信したメッセージに含まれるデータが暗号化されている場合にこのデータを復号し、復号したデータを含むメッセージを生成して送信する。また暗号化装置は、受信したメッセージに含まれるデータが暗号化されていない場合にこのデータを暗号化し、暗号化したデータを含むメッセージを生成して送信する。このように、暗号化装置は、受信したメッセージに含まれるデータが暗号化されているか否かに応じて、データの暗号化又は復号のいずれかの処理を行い、処理結果をメッセージとして送信することができる。
【００２６】
また本発明において暗号化装置は、複数のネットワークに接続される。暗号化装置は、一のネットワークを介してメッセージを受信した場合、受信したメッセージに含まれるデータを暗号化又は復号したデータを含むメッセージを生成し、一のネットワーク以外のネットワークを介してメッセージを送信する。この構成は、例えば暗号化されたデータを送受信するネットワークと、暗号化されないデータを送受信するネットワークとの間でメッセージを中継するゲートウェイなどの装置に好適である。
【発明の効果】
【００２７】
本発明による場合は、データを暗号化して分割し、各データに復元用情報を付したメッセージを生成して送信する構成とすることにより、メッセージに含めることができるデータ長に関わりなく、セキュリティ性の高い暗号化を行うことができるため、通信のセキュリティ性を向上することができる。
【図面の簡単な説明】
【００２８】
【図１】実施の形態１に係る暗号通信システムの構成を示すブロック図である。
【図２】本実施の形態に係る通信装置が送受信するメッセージのフォーマットを示す模式図である。
【図３】復元用情報の詳細を説明するための表である。
【図４】通信装置によるメッセージ送信処理の手順を説明するための模式図である。
【図５】通信装置によるメッセージ受信処理の手順を説明するための模式図である。
【図６】通信装置によるメッセージ送信処理の手順を示すフローチャートである。
【図７】通信装置によるメッセージ受信処理の手順を示すフローチャートである。
【図８】実施の形態２に係る暗号通信システムの構成を示すブロック図である。
【図９】実施の形態２に係るゲートウェイが行う中継処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２９】
＜実施の形態１＞
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図１は、実施の形態１に係る暗号通信システムの構成を示すブロック図である。実施の形態１に係る暗号通信システムは、車両１に搭載された複数の通信装置１０が共通の通信線２を介して接続された構成である。通信装置１０は、例えばＥＣＵ（Electronic Control Unit）又はカーナビゲーション装置等の車載装置であり、通信線２を介した通信により他の通信装置１０との情報交換を行って各自の処理を行う。なお本実施の形態においては、通信装置１０はＣＡＮ規格に従った通信を行うものとする。
【００３０】
通信装置１０は、処理部１１、記憶部１２及び通信部１３等を備えて構成されている。なお、図１においては１つの通信装置１０のみ詳細な構成を図示してあるが、他の通信装置１０についても同様の構成である。通信装置１０の処理部１１は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成され、記憶部１２などに記憶されたプログラムを実行することにより種々の処理を行う。本実施の形態において処理部１１は、例えば通信に係る暗号化処理及び復号処理等を行う。
【００３１】
記憶部１２は、例えばフラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。記憶部１２は、処理部１１が実行するプログラム及び処理に必要なデータ等を記憶している。本実施の形態において記憶部１２は、通信により送受信するデータの暗号化及び復号に用いられる暗号鍵１２ａを記憶している。本実施の形態においては、通信線２を介して接続された複数の通信装置１０は、共通鍵暗号アルゴリズムを用いてデータを暗号化し、暗号化したデータを含むメッセージの送受信を行う。共通鍵暗号アルゴリズムを用いるため、各通信装置１０は、記憶部１２に共通の暗号鍵１２ａを予め記憶している。
【００３２】
通信部１３は、通信線２に接続され、通信線２を介して他の通信装置１０との間でメッセージの送受信を行う。本実施の形態において通信部１３は、ＣＡＮ規格に従った通信を行う。通信部１３は、処理部１１から２値情報として与えらえられる送信用のメッセージを、２値の電気信号に変換して通信線２へ出力することにより、メッセージの送信を行う。通信部１３は、通信線２の電位をサンプリングすることによってメッセージを受信し、受信したメッセージを処理部１１へ与える。
【００３３】
また本実施の形態に係る通信装置１０の処理部１１は、記憶部１２に記憶されたプログラムを実行することにより、暗号化処理部２１、分割処理部２２、復元用情報生成処理部２３、メッセージ生成処理部２４、復元用情報判定処理部２５、結合処理部２６及び復号処理部２７等がソフトウェア的な機能ブロックとして実現される。暗号化処理部２１は、他の通信装置１０へ送信すべきデータを、記憶部１２に記憶された暗号鍵１２ａを用いて、共通鍵暗号アルゴリズムにて暗号化する処理を行う。本実施の形態において暗号化処理部２１は、ＡＥＳのアルゴリズムにて暗号化を行う。ＡＥＳは、共通鍵を用いてデータを暗号化するアルゴリズムであり、且つ、所定のブロック長（１６バイト）のデータに対する暗号化を行うアルゴリズムである。なお以下においては、暗号化処理部２１により暗号化されたデータを暗号データと呼び、暗号化されていないデータを平文データと呼ぶ。
【００３４】
分割処理部２２は、暗号化処理部２１が暗号化した暗号データを、複数のデータに分割する処理を行う。本実施の形態においては、暗号化処理部２１が暗号化した暗号データは１６バイトのデータサイズであるため、分割処理部２２は暗号データを前半部分及び後半部分に２分割し、２つの８バイトのデータ（分割後暗号データと呼ぶ）を生成する。復元用情報生成処理部２３は、分割処理部２２にて分割された２つの分割後暗号データに対して、これら２つの分割後暗号データを元の暗号データ又は平文データへ復元するために必要な一又は複数の情報をまとめた復元用情報を生成する処理を行う。
【００３５】
メッセージ生成処理部２４は、分割処理部２２が分割した分割後暗号データと、復元用情報生成処理部２３が生成した復元用情報とを含む送信用のメッセージを生成する処理を行う。本実施の形態において通信装置１０が送受信するメッセージは、ＣＡＮ規格の拡張フォーマット形式である。メッセージ生成処理部２４は、分割後暗号データをデータフィールドに、復元用情報をアービトレーションフィールドの拡張ＩＤ領域に格納したメッセージを生成する。メッセージ生成処理部２４が生成したメッセージは通信部１３へ与えられ、通信部１３により他の通信装置１０へ送信される。
【００３６】
復元用情報判定処理部２５は、通信部１３が受信したメッセージに含まれる復元用情報を抽出し、抽出した復元用情報に基づいて復元のためのデータが揃ったか否か等を判定する。結合処理部２６は、複数のメッセージに分けて送信された分割後暗号データを全て受信し終えた場合に、複数の分割後暗号データを結合して分割前の暗号データに復元する処理を行う。復号処理部２７は、記憶部１２に記憶された暗号鍵１２ａを用いた復号処理を行うことにより、結合処理部２６により結合された暗号データを復号し、元の平文データに変換する処理を行う。
【００３７】
図２は、本実施の形態に係る通信装置１０が送受信するメッセージのフォーマットを示す模式図である。本実施の形態に係る通信装置１０が送受信するメッセージ（データフレーム）は、ＣＡＮ規格の拡張フォーマット形式であり、アービトレーションフィールド、コントロールフィールド、データフィールド及びＣＲＣ（Cyclic Redundancy Check）フィールド等の複数のフィールドを含んで構成されている。アービトレーションフィールドは、１１ビットのベースＩＤと、１８ビットの拡張ＩＤとを有している。ベースＩＤは、送信元の通信装置１０及び送信するデータの種別等に応じて定められるＩＤを格納する。拡張ＩＤは、上述のように復元用情報生成処理部２３が生成した復元用情報を格納する。
【００３８】
コントロールフィールドは、所定の値が設定される予約ビットと、データ長を示す情報を格納する領域とを有している。予約ビットには、拡張フォーマット形式であることを示す値が設定される。データフィールドは、転送すべきデータを格納する領域であり、本実施の形態においては分割処理部２２が分割した８バイトの分割後暗号データが格納される。ＣＲＣフィールドは、メッセージに誤りが含まれるか否かを判定するための情報を格納する領域である。
【００３９】
メッセージの拡張ＩＤ領域に格納される復元用情報は、暗号データか否かの情報と、分割前データ識別情報と、データ構成順序情報と、平文データ長情報とを含んでいる。図３は、復元用情報の詳細を説明するための表である。復元用情報に含まれる暗号データか否かの情報は、１ビットの情報である。暗号データか否かの情報は、その値が”０”であれば暗号データであることを示し、”１”であれば平文データであることを示す。分割前データ識別情報は、８ビットの情報である。
【００４０】
分割前データ識別情報は、分割前の暗号データに対して一意的に割り当てられる値であり、分割後暗号データがいずれの分割前の暗号データから生成されたものであるかを判別するための情報である。例えば”０１ｈ”の識別情報が与えられた分割前の暗号データから、２つの分割後暗号データが生成された場合、これら２つの分割後暗号データの復元用情報には、分割前データ識別情報として”０１ｈ”の値が格納される。
【００４１】
データ構成順序情報は、複数の分割後暗号データを結合する際に必要となるデータの構成順序を示す情報がである。本実施の形態においては、１６バイトの暗号データを８バイトの分割後暗号データに２分割するため、データ構成順序情報は１ビットの情報である。即ち、分割処理部２２は１６バイトの暗号データを前半部分の８バイトと後半部分の８バイトとに２分割する処理を行う。分割された前半部分に対してはデータ構成順序情報の値は”０”が設定され、後半部分に対しては”１”が設定される。なお暗号データを３つ以上に分割する構成である場合には、データ構成順序情報のビット数を適宜に増加させればよい。
【００４２】
平文データ長情報は、８ビットの情報である。平文データ長情報は、暗号化される前の平文データのビット長を表す情報であり、０〜１２７の数値情報である。
【００４３】
通信装置１０の復元用情報生成処理部２３は、分割処理部２２が分割した分割後暗号データに対して、これらの情報を含む復元用情報をそれぞれ生成する。なお、共通の暗号データから分割された２つの分割後暗号データは、復元用情報の暗号データか否かの情報、分割前データ識別情報及び平文データ長情報は同じ値であるが、データ構成順序情報は異なる値となる。
【００４４】
図４は、通信装置１０によるメッセージ送信処理の手順を説明するための模式図である。通信装置１０の処理部１１は、例えばセンサなどにて検知した値などのデータを他の通信装置１０へ送信する。ここで処理部１１が他の通信装置１０へ送信すべきデータは８バイトであるものとする。処理部１１の暗号化処理部２１は、他の通信装置１０へ送信すべき８バイトの平文データに対して、６４ビット（８バイト）の全ビットの値が０のデータ（以下、００値という）を付加する。暗号化処理部２１は、００値の負荷により１６バイトとなった平文データに対して、記憶部１２に記憶された暗号鍵１２ａを用いたＡＥＳの暗号アルゴリズムによる暗号化処理を行うことで、平文データを１６バイトの暗号データに変換する。
【００４５】
分割処理部２２は、１６バイトの暗号データを、前半部分の８バイトの分割後暗号データ０と、後半部分の８バイトの分割後暗号データ１とに２分割する。またこのときに復元用情報生成処理部２３は、分割後暗号データ０のための復元用情報と、分割後暗号データ１のための復元用情報との２つを生成する。メッセージ生成処理部２４は、分割後暗号データ０をデータフィールドに格納し、且つ、分割後暗号データ０のための復元用情報を拡張ＩＤに格納したメッセージを生成する。またメッセージ生成処理部２４は、分割後暗号データ１をデータフィールドに格納し、且つ、分割後暗号データ１のための復元用情報を拡張ＩＤに格納したメッセージを生成する。これにより１つの８バイトの平文データから２つのメッセージが生成され、２つのメッセージは通信部１３にて順に送信される。
【００４６】
図５は、通信装置１０によるメッセージ受信処理の手順を説明するための模式図である。通信部１３にて他の通信装置１０が送信したメッセージを受信した場合、処理部１１の復元用情報判定処理部２５は、受信したメッセージの拡張ＩＤ領域に格納された復元用情報を取得する。復元用情報判定処理部２５は、取得した復元用情報、並びに、これ以前に受信したメッセージから取得していた復元用情報に基づいて、復元に必要なメッセージを全て受信したか否かを判定する。復元用情報判定処理部２５は、復元用情報の分割前データ識別情報が一致し、且つ、データ構成順序情報が異なる復元用情報を有する２つのメッセージを受信したか否かを判定することにより、復元に必要なメッセージを全て受信したか否かを判定することができる。復元に必要なメッセージが揃っていないと復元用情報判定処理部２５が判定した場合、処理部１１は、受信したメッセージに含まれる復元用情報及び分割後暗号データを、例えば一時的に受信バッファなどに記憶しておく。
【００４７】
復元に必要な２つのメッセージを受信したと復元用情報判定処理部２５が判定した場合、処理部１１の結合処理部２６は、２つのメッセージから分割後暗号データをそれぞれ取得する。結合処理部２６は、各分割後暗号データに対応する復元用情報のデータ構成順序情報を参照して、２つの分割後暗号データの順序を決定し、この順序となるように２つの分割後暗号データを結合する。処理部１１の復号処理部２７は、結合処理部２６が結合した暗号データに対して、記憶部１２に記憶された暗号鍵１２ａを用いた復号処理を行い、１６バイトの復号されたデータを得る。また復号処理部２７は、復元用情報の平文データ長情報を参照して、復元された１６バイトのデータから不要な００値を切り捨てることにより、元の８バイトの平文データとする。
【００４８】
図６は、通信装置１０によるメッセージ送信処理の手順を示すフローチャートである。通信装置１０の処理部１１の暗号化処理部２１は、他の通信装置１０へ送信すべき８バイトの平文データに対して、８バイトの００値を付加する（ステップＳ１）。暗号化処理部２１は、００値の負荷により１６バイトとなった平文データに対して、記憶部１２に記憶された暗号鍵１２ａを用いたＡＥＳの暗号化処理を行い（ステップＳ２）、１６バイトの暗号データを得る。分割処理部２２は、１６バイトの暗号データを８バイトの前半部分及び８バイトの後半部分に２分割する（ステップＳ３）。
【００４９】
また復元用情報生成処理部２３は、暗号データか否かの情報、分割前データ識別情報、データ構成順序情報、及び、平文データ長情報を含む復元用情報を、分割された２つの分割後暗号データに対してそれぞれ生成する（ステップＳ４）。メッセージ生成処理部２４は、ステップＳ３にて分割された分割後暗号データをデータフィールドに格納し、ステップＳ４にて生成された復元用情報を拡張ＩＤ領域に格納したメッセージを２つ生成する（ステップＳ５）。処理部１１は、生成された２つのメッセージを通信部１３へ順に与えることにより、２つのメッセージを順に送信し（ステップＳ６）、処理を終了する。
【００５０】
図７は、通信装置１０によるメッセージ受信処理の手順を示すフローチャートである。なお図示のメッセージ受信処理では、受信したメッセージを一時的に記憶しておく受信バッファを通信装置１０が有しているものとする。受信バッファは、例えばＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のメモリ素子を用いて構成することができる。この受信バッファにはメッセージを１つだけ記憶しておくことができ、新たなメッセージを記憶した場合には以前のメッセージが上書きされる。
【００５１】
通信装置１０の処理部１１は、通信部１３にて他の通信装置１０が送信したメッセージを受信する（ステップＳ１１）。処理部１１の復元用情報判定処理部２５は、受信したメッセージの拡張ＩＤ領域に格納された復元用情報を取得する（ステップＳ１２）。復元用情報判定処理部２５は、取得した復元用情報に含まれる暗号データか否かの情報を参照して、受信したメッセージに含まれるデータが暗号化されたデータであるか否かを判定する（ステップＳ１３）。暗号化されたデータでない場合（Ｓ１３：ＮＯ）、処理部１１は、復号を行う必要はないため、受信したメッセージに含まれるデータを受信データとして処理を終了する。
【００５２】
受信したメッセージに含まれるデータが暗号化されたデータである場合（Ｓ１３：ＹＥＳ）、復元用情報判定処理部２５は、ステップＳ１２にて取得した復元用情報と、受信バッファに記憶されたメッセージに含まれる復元用情報との比較を行う（ステップＳ１４）。復元用情報判定処理部２５は、両復元用情報に含まれる分割前データ識別情報及び平文データ長情報が一致するか否かを判定する（ステップＳ１５）。両復元用情報に含まれる分割前データ識別情報及び平文データ長情報が一致しない場合（Ｓ１５：ＮＯ）、復元用情報判定処理部２５は、両メッセージに含まれる分割後暗号データが無関係であると判断し、ステップＳ１１にて受信したメッセージを記憶して受信バッファを上書きし（ステップＳ１７）、ステップＳ１１へ処理を戻す。
【００５３】
両復元用情報に含まれる分割前データ識別情報及び平文データ長情報が一致する場合（Ｓ１５：ＹＥＳ）、復元用情報判定処理部２５は、両復元用情報に含まれるデータ構成順序情報が一致するか否かを判定する（ステップＳ１６）。両復元用情報に含まれるデータ構成順序情報が一致する場合（Ｓ１６：ＹＥＳ）、復元用情報判定処理部２６は、両メッセージが同一内容であると判断し、ステップＳ１１にて受信したメッセージを記憶して受信バッファを上書きし（ステップＳ１７）、ステップＳ１１へ処理を戻す。
【００５４】
両復元用情報に含まれるデータ構成順序情報が一致しない場合（Ｓ１６：ＮＯ）、結合処理部２６は、受信バッファに記憶されているメッセージに含まれる分割後暗号データと、ステップＳ１１にて受信したメッセージに含まれる分割後暗号データとを、各メッセージの復元用情報に含まれるデータ構成順序情報に基づいて結合する処理を行う（ステップＳ１８）。次いで復号処理部２７は、記憶部１２に記憶された暗号鍵１２ａを用いて、結合された暗号データを復号する（ステップＳ１９）。復号処理部２７は、メッセージの復元用情報に含まれる平文データ長情報に基づいて、復号したデータから不要な００値を切り捨てる処理を行い（ステップＳ２０）、００値を切り捨てたデータを元の平文データとして、メッセージ受信処理を終了する。
【００５５】
以上の構成の本実施の形態に係る通信装置１０は、他の通信装置１０へ送信すべきデータを暗号化処理部２１が暗号化し、暗号化したデータを分割処理部２２が複数に分割して、分割した各分割後暗号データをそれぞれ個別にメッセージとして送信する。これにより通信装置１０は、例えば暗号化によってデータ長が１つのメッセージに収まらないサイズとなる場合であっても、暗号データを分割して複数回に分けてメッセージ送信を行うことができる。これらのメッセージを受信した他の通信装置１０は、複数のメッセージから分割後暗号データを取得し、取得した複数の分割後暗号データを結合処理部２６が結合することによって元のデータへの復元を行う。
【００５６】
通信装置１０は、メッセージを受信した他の通信装置１０がデータを復元するために必要な復元用情報を復元用情報生成処理部２３が作成し、分割した各データに対して復元用情報を付したメッセージをメッセージ生成処理部２４が生成して送信する。これにより、メッセージを受信した他の通信装置１０は、メッセージに含まれる復元用情報に基づいて、分割された複数のデータを結合して元のデータを復元することができる。
【００５７】
また本実施の形態に係る暗号通信システムは、複数の通信装置１０がＣＡＮ規格に従った通信を行う構成であり、送受信するメッセージはＣＡＮ規格の拡張フォーマット形式である。通信装置１０は、ＣＡＮ規格の拡張フォーマット形式のメッセージに含まれるアービトレーションフィールドの拡張ＩＤ領域に、復元用情報を格納する。これにより、メッセージのデータフィールドに復元用情報を格納する必要がないため、データフィールドの限られた容量を有効活用しでデータを送信することができる。
【００５８】
また本実施の形態においてメッセージに付される復元用情報には、分割前のデータを識別するための分割前データ識別情報、及び、分割されたデータを結合するためのデータ構成順序情報を含む。分割前データ識別情報は、分割前のデータに対して一意的に付される情報であり、一のデータから分割された複数のデータには共通の識別情報が与えられる。データ構成順序情報は、分割された各データが何番目のデータに相当するかを示す情報であり、例えば一のデータを２分割した場合には２つのデータに対して１番目又は２番目を示す情報が付される。これらの情報を復元用情報としてメッセージに付すことにより、メッセージの送信順序がスケジューリング処理などにより逆転した場合、又は、複数のメッセージの間に無関係なメッセージ送信が行われた場合等であっても、メッセージを受信した通信装置１０が元のデータを正確に復元することができる。
【００５９】
また本実施の形態においてメッセージに付される復元用情報には、元のデータのデータ長を示す平文データ長情報を含む。本実施の形態に係る通信装置１０は、ブロック暗号アルゴリズムによるデータの暗号化を暗号化処理部２１が行うが、このアルゴリズムでは所定長のデータに対して暗号化処理を行う必要があるため、元のデータが所定長に満たない場合には、足りないデータ長の分だけ所定値のビットを付加する必要がある。このようなデータを復元した受信側の通信装置１０は、復元したデータに含まれる所定値のビットが、元のデータに含まれるものであるのか、暗号化のために付加されたものであるかを判別することができない。そこで、元のデータ長を示す平文データ長情報を復元用情報に含めることにより、受信側の通信装置１０は、復元したデータの有効部分を判断することができ、元のデータを正確に復元することができる。
【００６０】
また本実施の形態においてメッセージに付される復元用情報には、暗号データか否かの情報を含む。これにより暗号通信システムでは、データを暗号化したメッセージと、暗号化していないメッセージとを混在させて送受信することが可能となる。メッセージを受信した通信装置１０は、受信したメッセージに付された復元用情報に含まれる暗号データか否かの情報に基づいて、データを復号するか否かを判断することができる。
【００６１】
また本実施の形態に係る通信装置１０の暗号化処理部２１は、記憶部１２に記憶された暗号鍵１２ａを用いて、共通鍵暗号アルゴリズムにてデータを暗号化する。公開鍵暗号アルゴリズムにてデータを暗号化する場合と比較して、暗号化及び復号の処理時間を短縮することが可能である。
【００６２】
また本実施の形態に係る通信装置１０の暗号化処理部２１は、所定のデータサイズ毎に暗号化を行うブロック暗号アルゴリズムにてデータを暗号化する。ブロック暗号アルゴリズムは、ストリーム暗号アルゴリズムと比較して広く普及しており、セキュリティ強度に関する研究も多く行われているため、必要なセキュリティ強度を確保することが容易である。
【００６３】
なお本実施の形態においては、メッセージに付す復元用情報に、暗号データか否かの情報、分割前データ識別情報、データ構成順序情報及び平文データ長情報の４つの情報を含む構成としたが、これに限るものではない。復元用情報には、上記の４つの情報以外の情報を含んでもよく、上記の４つの情報のいずれか又は全てを含まなくてもよい。また本実施の形態において示した復元用情報に含まれる各情報のビット数は、一例であって、これに限るものではない。
【００６４】
また通信装置１０の暗号化処理部２１は、ＡＥＳのアルゴリズムにてデータを暗号化する構成としたが、これに限るものではなく、ＡＥＳ以外の種々のアルゴリズムを採用してよい。暗号化処理部２１は、公開鍵暗号アルゴリズムにてデータを暗号化する構成としてもよく、ストリーム暗号アルゴリズムにてデータを暗号化する構成としてもよい。また通信装置１０の分割処理部２２は、暗号データを２分割する構成としたが、これに限るものではなく、３分割以上の分割を行う構成であってもよい。
【００６５】
また通信装置１０は通信線２を介してＣＡＮ規格に従った通信を行う構成としたが、これに限るものではない。通信装置１０は、ＣＡＮ規格以外の通信規格に従って通信を行う構成であってよく、有線又は無線のいずれの通信を行う構成であってもよい。また本実施の形態においては、車両１に搭載された暗号通信システムを例に説明を行ったが、暗号通信システムは車載以外のものであってよい。
【００６６】
＜実施の形態２＞
図８は、実施の形態２に係る暗号通信システムの構成を示すブロック図である。実施の形態２に係る暗号通信システムは、車両１に搭載された複数の通信装置１０が車両１内に配された２本の通信線２ａ，２ｂのいずれかに接続され、両通信線２ａ，２ｂがゲートウェイ２１０に接続された構成である。各通信装置１０は、自身が接続された通信線２ａ，２ｂを介して直接的に他の通信装置１０との通信を行うことができる。ゲートウェイ２１０は、通信線２ａ，２ｂ間の通信を中継する処理、即ち通信線２ａ，２ｂの一方にて受信したメッセージを他方へ送信する処理を行う。これにより各通信装置１０は、自身が接続されていない通信線２ａ，２ｂに接続された他の通信装置１０との通信を、ゲートウェイ２１０を介して行うことができる。
【００６７】
ゲートウェイ２１０は、図１に示した通信装置１０と同様の構成であるが、通信線２ａ，２ｂがそれぞれ接続される第１通信部２１３ａ及び第２通信部２１３ｂを備えている。第１通信部２１３ａ及び第２通信部２１３ｂは、自身が接続された通信線２ａ，２ｂを介して通信装置１０との間でＣＡＮ規格に従った通信を行う。第１通信部２１３ａ及び第２通信部２１３ｂは、処理部１１から２値情報として与えらえられる送信用のメッセージを、２値の電気信号に変換して通信線２ａ，２ｂへ出力することにより、メッセージの送信を行う。第１通信部２１３ａ及び第２通信部２１３ｂは、通信線２ａ，２ｂの電位をサンプリングすることによってメッセージを受信し、受信したメッセージを処理部１１へ与える。
【００６８】
またゲートウェイ２１０の処理部１１には、通信線２ａ，２ｂ間の通信を中継する処理を行う中継処理部２８がソフトウェア的な機能ブロックとして設けられている。中継処理部２８は、第１通信部２１３ａ及び第２通信部２１３ｂの一方にて受信したメッセージを他方から送信する処理を行うことにより、メッセージを中継する。また実施の形態２に係るゲートウェイ２１０の中継処理部２８は、受信したメッセージが暗号化されている場合にはこれを復号して送信すると共に、受信したメッセージが暗号化されていない場合にはこれを暗号化して送信する。
【００６９】
図９は、実施の形態２に係るゲートウェイ２１０が行う中継処理の手順を示すフローチャートである。実施の形態２に係るゲートウェイ２１０の処理部１１は、第１通信部２１３ａ又は第２通信部２１３ｂにて通信装置１０が送信したメッセージを受信する（ステップＳ３１）。処理部１１の復元用情報判定処理部２５は、受信したメッセージの拡張ＩＤ領域に格納された復元用情報を取得する（ステップＳ３２）。復元用情報判定処理部２５は、取得した復元用情報に含まれる暗号データか否かの情報を参照して、受信したメッセージに含まれるデータが暗号化されたデータであるか否かを判定する（ステップＳ３３）。
【００７０】
受信したメッセージに含まれるデータが暗号化されたデータでない場合（Ｓ３３：ＮＯ）、処理部１１の暗号化処理部２１は、受信したメッセージのデータフィールドに格納されていた８バイトの平文データに対して、８バイトの００値を付加する（ステップＳ３４）。暗号化処理部２１は、００値の付加により１６バイトとなった平文データに対して、記憶部１２に記憶された暗号鍵１２ａを用いたＡＥＳの暗号化処理を行い（ステップＳ３５）、１６バイトの暗号データを得る。分割処理部２２は、１６バイトの暗号データを８バイトの前半部分及び８バイトの後半部分に２分割する（ステップＳ３６）。
【００７１】
また復元用情報生成処理部２３は、暗号データか否かの情報、分割前データ識別情報、データ構成順序情報、及び、平文データ長情報を含む復元用情報を、分割された２つの分割後暗号データに対してそれぞれ生成する（ステップＳ３７）。メッセージ生成処理部２４は、ステップＳ３６にて分割された分割後暗号データをデータフィールドに格納し、ステップＳ３７にて生成された復元用情報を拡張ＩＤ領域に格納したメッセージを２つ生成する（ステップＳ３８）。処理部１１は、生成された２つのメッセージを、第１通信部２１３ａ及び第２通信部２１３ｂのうちステップＳ３１にてメッセージを受信した通信部とは別の通信部へ順に与えることにより、２つのメッセージを別の通信線２ａ，２ｂへ順に送信し（ステップＳ３９）、処理を終了する。
【００７２】
受信したメッセージに含まれるデータが暗号化されたデータである場合（Ｓ３３：ＹＥＳ）、処理部１１は、受信バッファに記憶されている一又は複数のメッセージについて、これらのメッセージに含まれる復元用情報を調べる（ステップＳ４０）。処理部１１は、ステップＳ３１にて受信したメッセージに含まれる分割後暗号データと結合すべき分割後暗号データを有するメッセージが受信バッファに記憶されているか否かを判定することにより、復元に必要なデータが揃ったか否かを判定する（ステップＳ４１）。復元に必要なデータが揃っていない場合（Ｓ４１：ＮＯ）、処理部１１は、受信したメッセージを受信バッファに記憶して、ステップＳ３１へ処理を戻し、次のメッセージの受信を行う。
【００７３】
復元に必要なデータが揃った場合（Ｓ４１：ＹＥＳ）、処理部１１の結合処理部２６は、受信バッファに記憶されているメッセージに含まれる分割後暗号データと、ステップＳ３１にて受信したメッセージに含まれる分割後暗号データとを、各メッセージの復元用情報に含まれるデータ構成順序情報に基づいて結合する処理を行う（ステップＳ４２）。次いで復号処理部２７は、記憶部１２に記憶された暗号鍵１２ａを用いて、結合された暗号データを復号する（ステップＳ４３）。復号処理部２７は、メッセージの復元用情報に含まれる平文データ長情報に基づいて、復号したデータから不要な００値を切り捨てる処理を行い（ステップＳ４４）、００値を切り捨てたデータを元の平文データとする。
【００７４】
メッセージ生成処理部２４は、ステップＳ４４にて００値を切り捨てた平文データをデータフィールドに格納し、暗号化されていないことを示す復元用情報を拡張ＩＤ領域に格納したメッセージを、第１通信部２１３ａ及び第２通信部２１３ｂのうちステップＳ３１にてメッセージを受信した通信部とは別の通信部へ与えることにより、このメッセージを別の通信線２ａ，２ｂへ送信し（ステップＳ４６）、処理を終了する。
【００７５】
以上の構成の実施の形態２に係るゲートウェイ２１０は、第１通信部２１３ａ又は第２通信部２１３ｂにて通信装置１０が送信したメッセージを受信し、受信したメッセージに含まれるデータが暗号化されている場合にはこのデータを復号し、復号したデータを含むメッセージを生成して送信する。受信したメッセージに含まれるデータが暗号化されていない場合、ゲートウェイ２１０は、このデータを暗号化し、暗号化したデータを含むメッセージを生成して送信する。このように実施の形態２に係るゲートウェイ２１０は、受信したメッセージに含まれるデータが暗号化されているか否かに応じて、データの暗号化又は復号のいずれかの処理を行い、処理結果をメッセージとして送信することができる。
【００７６】
またゲートウェイ２１０は、複数の通信線２ａ，２ｂが接続され、通信線２ａ，２ｂ間の通信を中継する。ゲートウェイ２１０は、一の通信線２ａ，２ｂを介してメッセージを受信した場合、受信したメッセージに含まれるデータを暗号化又は復号したデータを含むメッセージを作成し、一の通信線２ａ，２ｂ以外の通信線２ａ，２ｂへメッセージを送信する。この構成は、例えば暗号化されたデータを送受信するネットワークと、暗号化されないデータを送受信するネットワークとの間でゲートウェイ２１０がメッセージを中継する場合などに好適である。
【００７７】
なお実施の形態２に係るゲートウェイ２１０は、２つの通信線２ａ，２ｂが接続される構成としたが、これに限るものではなく、３つ以上の通信線が接続される構成であってもよい。このような構成の場合、例えば通信線毎にデータを暗号化すべきか否かを定めておき、メッセージの中継先に応じてデータの暗号化又は復号を行うか否かを決定する構成としてよい。
【００７８】
また、実施の形態２に係る暗号通信システムのその他の構成は、実施の形態１に係る暗号通信システムと同様であるため、同様の箇所には同じ符号を付し、詳細な説明を省略する。
【符号の説明】
【００７９】
１  車両
２，２ａ，２ｂ  通信線
１０  通信装置（暗号化装置、通信装置）
１１  処理部
１２  記憶部
１２ａ  暗号鍵
１３  通信部（送信部、受信部、第２送信部）
２１  暗号化処理部（暗号化部）
２２  分割処理部（分割部）
２３  復元用情報生成処理部
２４  メッセージ生成処理部（生成部、第２生成部）
２５  復元用情報判定処理部
２６  結合処理部（結合部）
２７  復号処理部（復号部）
２８  中継処理部
２１０  ゲートウェイ（暗号化装置、通信装置）
２１３ａ  第１通信部（送信部、受信部、第２送信部）
２１３ｂ  第２通信部（送信部、受信部、第２送信部）
【図１】
2017102349.tif 000003
【図２】
2017102349.tif 000004
【図３】
2017102349.tif 000005
【図４】
2017102349.tif 000006
【図５】
2017102349.tif 000007
【図６】
2017102349.tif 000008
【図７】
2017102349.tif 000009
【図８】
2017102349.tif 000010
【図９】
2017102349.tif 000011