JP2018125659A - 通信システム、通信方法、プログラム、および非一時的記録媒体 - Google Patents

通信システム、通信方法、プログラム、および非一時的記録媒体 Download PDF

Info

Publication number
JP2018125659A
JP2018125659A JP2017015459A JP2017015459A JP2018125659A JP 2018125659 A JP2018125659 A JP 2018125659A JP 2017015459 A JP2017015459 A JP 2017015459A JP 2017015459 A JP2017015459 A JP 2017015459A JP 2018125659 A JP2018125659 A JP 2018125659A
Authority
JP
Japan
Prior art keywords
authentication
nodes
risk level
message
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017015459A
Other languages
English (en)
Inventor
勉 五関
Tsutomu Goseki
勉 五関
勇義 苑田
Isayoshi Sonoda
勇義 苑田
大朋 塚原
Hirotomo Tsukahara
大朋 塚原
成郎 吉澤
Shigeo Yoshizawa
成郎 吉澤
圭紀 片桐
Yoshinori Katagiri
圭紀 片桐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017015459A priority Critical patent/JP2018125659A/ja
Publication of JP2018125659A publication Critical patent/JP2018125659A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】不正アクセスおよび認証ロジックの解析が困難であり、拡張性に優れ、状況の変化に応じて適度な難読化を行う、改善された通信システム、通信方法、プログラム、および非一時的記録媒体を提供する。【解決手段】本開示の一態様に係る通信システムは、ネットワークに接続された複数のノードを備える通信システムであって、複数のノードの各ノードは、複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが複数のノードの間で同一となるように、認証ロジックを複数の認証ロジックの間で切り替える認証ロジック切替制御部と、認証ロジックを用いてメッセージの正当性を認証するメッセージ認証部と、を備える構成を採る。【選択図】図3

Description

本開示は、通信システム、通信方法、プログラム、および非一時的記録媒体に関する。
近年、車両の電装化に伴い、CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay、Most(Media oriented systems transport)等の車載LANを用いる通信の重要性が、ますます高まっている。これに伴い、車載LANに接続されたモジュールを介した外部からの不正アクセス等に対する防御機能のニーズが高まっており、防御機能を備える車載LANの通信要件が数多く提案されている(特許文献1、特許文献2)。
特開2013−098719号公報 特開2016−158204号公報
しかしながら、特許文献1に記載のロジックは、単純であり、パラメータが固定されたメッセージに絞られることによって、認証ロジックが解析され易く、不正アクセスを招来し易い問題がある。また、特許文献1および特許文献2においては、車載LANであるCANに接続されたECU(Electronic Control Unit)のCAN ID毎に、各ECUがカウンタを備える必要があり、管理が複雑になり、システムの拡張性が低くなる問題がある。また、カウンタが多くなるのに伴い、通信エラーなどにより発生する同期ずれが多くなり、不正なメッセージの認証成功確率が高くなるという問題がある。
さらに、特許文献1および特許文献2においては、難読化のレベルが常に一定であるため、必要以上の難読化または不十分な難読化となる場合が発生してしまう問題がある。
本開示の目的は、不正アクセスおよび認証ロジックの解析が困難であり、拡張性に優れ、状況の変化に応じて適度な難読化を行う、改善された通信システム、通信方法、プログラム、および非一時的記録媒体を提供することである。
本開示の一態様に係る通信システムは、ネットワークに接続された複数のノードを備える通信システムであって、前記複数のノードの各ノードは、前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替える認証ロジック切替制御部と、前記認証ロジックを用いて前記メッセージの正当性を認証するメッセージ認証部と、を備える構成を採る。
本開示の一態様に係る通信方法は、ネットワークに接続された複数のノードを備える通信システムにおける通信方法であって、前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、を備える構成を採る。
本開示の一態様に係るプログラムは、ネットワークに接続された複数のノードを備える通信システムにおいて、前記複数のノードがそれぞれ備えるコンピュータに、前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、を実行させる、構成を採る。
本開示の一態様に係る非一時的記録媒体は、コンピュータ読み取り可能なプログラムを記録した非一時的記録媒体であって、ネットワークに接続された複数のノードを備える通信システムにおいて、前記複数のノードがそれぞれ備えるコンピュータに、前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、を実行させる、プログラムを記録する構成を採る。
本開示によれば、不正アクセスおよび認証ロジックの解析が困難であり、拡張性に優れ、状況の変化に応じて適度な難読化を行う、改善された通信システム、通信方法、プログラム、および非一時的記録媒体を提供することができる。
本開示に係る通信システムの説明図である。 本開示に係るマスタノードの構成図である。 本開示に係るスレーブノードの構成図である。 本開示に係るセキュリティリスクに対するマスタノードの動作フローを示すフローチャートである。 セキュリティリスクのリスクレベルと認証ロジックとの間の関係の説明図である。 本開示に係る車両状態の変化に対するマスタノードの動作フローを示すフローチャートである。 車両状態のリスクレベルと認証ロジックとの間の関係の説明図である。 コンピュータのハードウェア構成の一例を示す図である。
以下、本開示の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
図1は、本開示に係る通信システム1000の説明図である。図2は、本開示に係るマスタノード100Aの構成図である。図3は、本開示に係るスレーブノード100Bの構成図である。図1から図3において、同一の符号が付された構成要素は、同一の構成要素を表す。
通信システム1000は、複数のノード100(100−1,100−2,…,100−n)と、ネットワーク200とを備える。複数のノード100は、それぞれが備える送受信器110(110−1,110−2,…,110−n)を介して、ネットワーク200に接続される。
通信システム1000は、車両に設けられるLAN(車載LAN)である。車載LANは、例えば、CAN、LIN、FlexRay、Mostである。ノード100は、例えば、ECUである。一例において、ネットワーク200は、例えば、図1に示されるように、CANバスやLINバス等のバス型ネットワークである。他の一例において、ネットワーク200は、FlexRayネットワーク等のスター型ネットワーク、Mostネットワーク等のリング型ネットワークである。
一例において、複数のノード100は、その全てが、車速等の車両状態や、通信システム1000におけるセキュリティ侵害等のセキュリティリスクを監視するマスタノード100Aである。この場合、複数のノード100は、マルチマスタ構成をとる。この場合、マスタノード100Aは、他のノード100に動作を切り替える指示をする必要はない。
他の一例において、複数のノード100のいずれかが、マスタノード100Aであり、マスタノード100A以外のノードは、マスタノード100Aの指示に応じて動作を切り替えるスレーブノード100Bである。
さらに他の一例において、2つ以上のノード100からの指示に対する動作に関する整合性が担保されている限りにおいて、複数のノード100の2つ以上のノード100がマスタノード100Aであり、マスタノード100A以外のノード100がスレーブノード100Bである。この場合、2つ以上のマスタノード100Aの間で、役割分担する構成もとりうる。例えば、車速等の車両状態を監視するマスタノード100Aと、セキュリティリスクを監視するマスタノード100Aとを、2つのマスタノード100Aとしてもよい。
まず、マスタノード100Aおよびスレーブノード100Bがノード100として共通して備える構成要素を説明する。
ノード100は、それぞれ、送受信器110と、メッセージ制御部120と、算出ロジック記憶装置130と、認証キー記憶装置140と、認証ロジック切替制御部150と、を備える。一例において、ノード100は、それぞれ、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える。CPUは、例えばROMから処理内容に応じたプログラムを読み出してRAMに展開し、展開したプログラムと協働して、メッセージ制御部120および認証ロジック切替制御部150の動作を集中制御する。
送受信器110は、受信器111および送信器112を備える。
メッセージ制御部120は、送信データ入力部121、メッセージ生成部122、メッセージ検証部123、受信データ出力部124、およびMAC値生成部125として機能する。
送信データ入力部121は、ノード100が他のノードに送信すべきデータ(送信データ)を、ノード100が備える他の構成要素(図示せず)から入力する。
MAC値生成部125は、認証キーとメッセージ認証符号値の算出ロジック(以下、単に算出ロジックと記載する)とを用いて、送信データに対してメッセージ認証符号値を算出する。
認証キーは、複数のノード100の間で共有されかつ秘匿され、第三者が知らない、所定のビット長を有する値である。一例において、認証キーは、暗号鍵である。
メッセージ認証符号値は、後述するように、メッセージ検証部123が受信データの正当性を検証するために用いる挿入用メッセージ認証符号値を生成するのに用いられる値である。
算出ロジックは、同一の認証キーおよび同一の内容をもつ複数のデータに対して、同一のメッセージ認証符号値を算出するロジックである。さらに、算出されたメッセージ認証符号値からは、元の送信データを復元することはできない。即ち、算出ロジックは、不可逆性を備える。一例において、算出ロジックは、SHA−256等のハッシュ関数を用いて計算するHMACアルゴリズムである。また、一例において、算出ロジックは、ブロック暗号に基づくメッセージ認証符号アルゴリズムであるCMACアルゴリズムである。
一例において、算出ロジックは、ノード100の識別番号(ID)や、送信データのCRC(Cyclic Redundancy Check)値等のパラメータにも依存する。この場合、算出ロジックは、同一の認証キーおよびパラメータと同一の内容をもつ複数のデータとに対して、同一のメッセージ認証符号値を算出するロジックである。
MAC値生成部125は、算出したメッセージ認証符号値から、挿入用メッセージ認証符号値を生成する。一例において、MAC値生成部125は、メッセージ認証符号値の一部を、挿入用メッセージ認証符号値とする。例えば、MAC値生成部125は、メッセージ認証符号値の特定のオフセット位置にあるウィンドウに含まれるビット列を切り出すことにより、挿入用メッセージ認証符号値を生成する。例えば、オフセット位置は、通信システム1000全体のパラメータとして共有される所定の位置であってもよい。
メッセージ生成部122は、送信データをデータフィールドに含むメッセージ(メインメッセージ)を生成する。さらに、メッセージ生成部122は、送信データに対して、MAC値生成部125が生成した挿入用メッセージ認証符号値をデータフィールドに含むメッセージ(MACメッセージ)を生成する。一例において、メインメッセージおよびMACメッセージは、一体化されたメッセージである。
一例において、メッセージ生成部122は、メインメッセージおよびMACメッセージを、公開鍵暗号方式を用いて、暗号化する。
送信器112は、メッセージ生成部122が生成したメッセージを、ネットワーク200に送出する。
受信器111は、ネットワーク200から、自分宛のメッセージ(メインメッセージおよびMACメッセージ)を取得する。
メインメッセージおよびMACメッセージが公開鍵暗号方式を用いて暗号化されている場合、メッセージ検証部123は、公開鍵に対応する秘密鍵を用いてメインメッセージおよびMACメッセージを復号する。
メッセージ検証部123は、受信器111が受信したメインメッセージから、メッセージのデータフィールドに含まれるデータ(受信データ)を抽出する。さらに、メッセージ検証部123は、受信器111が受信したMACメッセージから、メッセージのデータフィールドに含まれるメッセージ認証符号値を抽出する。
MAC値生成部125は、送信データに対してメッセージ認証符号値を算出するのに用いられる認証キー、算出ロジック、およびパラメータと同じものを用いて、受信データに対してメッセージ認証符号値を算出し、算出したメッセージ認証符号値から挿入用メッセージ認証符号値を生成する。
メッセージ検証部123は、受信されたMACメッセージから抽出された挿入用メッセージ認証符号値が、受信データに対して生成された挿入用メッセージ認証符号値に一致するか否かを判定することにより、受信データの正当性を検証する。ここで、データの正当性とは、データが本来の送信元以外のエンティティによって作成または改ざんされたものでないことを意味する。例えば、算出ロジックおよびパラメータが既知であっても、認証キーを知らない限り、挿入用メッセージ認証符号値を生成することができない。また、受信データおよび挿入用メッセージ認証符号値から、メッセージ認証符号値の算出に用いられた認証キーを推定することも、不可能或いは極めて困難である。これらの性質を利用して、メッセージ検証部123は、受信データの正当性を検証することができる。
受信データ出力部124は、正当性が検証された受信データを、ノード100が備える他の構成要素(図示せず)に出力する。
算出ロジック記憶装置130は、複数の算出ロジックを記憶する。複数のノード100の全ての算出ロジック記憶装置130が、同一の複数の算出ロジックを記憶することによって、複数のノード100は、複数の算出ロジックを共有する。例えば、算出ロジック記憶装置130は、フラッシュメモリ等の不揮発性の記憶媒体を備え、記憶媒体に複数の算出ロジックを、プログラムとして記憶する。
一例において、複数の算出ロジックは、複雑度(計算コスト)および安全度が異なる。例えば、複数の算出ロジックには、ハッシュ関数MD5、SHA−1、SHA−256、SHA−384、SHA−512を用いるものが含まれる。
一例において、算出ロジック記憶装置130は、それぞれが1つの算出ロジックに関連付けられた複数の算出ロジック識別子を、さらに記憶する。例えば、算出ロジック記憶装置130は、算出ロジックと算出ロジック識別子とをテーブルの形式で記憶する。この場合、複数のノード100の全ての算出ロジック記憶装置130が、同一のテーブルを記憶する。また、一例において、算出ロジック記憶装置130は、各算出ロジックについて、算出ロジックの複雑度を、算出ロジック識別子に関連付けて記憶する。
認証キー記憶装置140は、複数の認証キーを記憶する。複数のノード100の全ての認証キー記憶装置140が、同一の複数の認証キーを記憶することによって、複数のノード100は、複数の認証キーを共有する。一例において、認証キーは、複数のノード100の間で共有されかつ秘匿される暗号鍵である。例えば、認証キー記憶装置140は、フラッシュメモリ等の不揮発性の記憶媒体を備え、記憶媒体に複数の認証キーを記憶する。
一例において、認証キー記憶装置140は、それぞれが1つの認証キーに関連付けられた複数の認証キー識別子を、さらに記憶する。例えば、認証キー記憶装置140は、認証キーと認証キー識別子とをテーブルの形式で記憶する。この場合、複数のノード100の全ての認証キー記憶装置140が、同一のテーブルを記憶する。
認証ロジック切替制御部150は、MAC値生成部125が用いる認証ロジックを、複数の認証ロジックの間で切り替える制御を行う。ここで、認証ロジックとは、算出ロジックおよび算出ロジックのパラメータとして用いられる認証キーとの組み合わせを指す。MAC値生成部125は、認証ロジック切替制御部150が切り替えた後の認証ロジックに含まれる算出ロジックおよび認証キーを用いて、送信データおよび受信データに対してメッセージ認証符号値を算出する。
認証ロジック切替制御部150は、算出ロジック切替部151および認証キー切替部152として機能する。算出ロジック切替部151は、MAC値生成部125が用いる算出ロジックを切り替える。認証キー切替部152は、MAC値生成部125が用いる算出ロジックのパラメータとして用いられる認証キーを切り替える。
認証ロジック切替制御部150による切り替えの制御は、MAC値生成部125が用いる認証ロジックが、複数のノード100の間で同一となるように行われる。例えば、マスタノード100Aの算出ロジック切替部151による算出ロジックの切り替えに同期して、スレーブノード100Bの算出ロジック切替部151が、同一の算出ロジックに切り替える。また、例えば、スレーブノード100Bの認証キー切替部152による認証キーの切り替えに同期して、スレーブノード100Bの認証キー切替部152が、同一の認証キーに切り替える。
一例において、スレーブノード100Bが備える算出ロジック切替部151は、ネットワーク200または専用の通信路(図示せず)を介して、マスタノード100Aが備える算出ロジック切替部151から、算出ロジックの切り替えを指示する情報を受信する。算出ロジックの切り替えを指示する情報は、例えば、切り替え先の算出ロジック(の算出ロジック識別子)と、切り替えタイミングを示す情報とを含む。次いで、スレーブノード100Bが備える算出ロジック切替部151は、受信された算出ロジック識別子に関連付けられた算出ロジックを、算出ロジック記憶装置130から取得して、切り替えタイミングを示す情報に示されたタイミングで、取得した算出ロジックに切り替える。
一例において、スレーブノード100Bが備える認証キー切替部152は、ネットワーク200または専用の通信路(図示せず)を介して、マスタノード100Aが備える認証キー切替部152から、認証キーの切り替え指示する情報を受信する。認証キーの切り替えを指示する情報は、例えば、切り替え先の認証キー(の認証キー識別子)と、切り替えタイミングを示す情報とを含む。次いで、スレーブノード100Bが備える認証キー切替部152は、受信された認証キー識別子に関連付けられた認証キーを、認証キー記憶部140から取得し、切り替えタイミングを示す情報に示されたタイミングで、取得した認証キーに切り替える。
スレーブノード100Bが備える認証ロジック切替制御部150は、算出ロジックの切り替えを指示する情報と、認証キーの切り替え指示する情報とを、まとめて、認証ロジックの切り替えを指示する情報としてマスタノード100Aから受信してもよい。
次に、スレーブノード100Bが備えないマスタノード100Aに固有の構成要素を説明する。
マスタノード100Aは、さらに、認証ロジック決定制御部160を備える。マスタノード100AのCPUは、例えばROMから処理内容に応じたプログラムを読み出してRAMに展開し、展開したプログラムと協働して、認証ロジック決定制御部160の動作を集中制御する。認証ロジック決定制御部160は、走行経路決定部161、車両状態検出部162、セキュリティリスク検出部163、リスクレベル決定部164、および認証キー更新指示部165として機能する。
走行経路決定部161は、車両の走行経路を決定する。一例において、車両がGPS(図示せず)等から車両の位置情報を取得することが可能であって、かつカーナビゲーションシステム(図示せず)等から地図情報を取得することが可能である場合、走行経路決定部161は、取得した車両の位置情報および地図情報に基づいて、車両の走行経路を決定する。他の一例において、走行経路決定部161は、自動運転システム(図示せず)が決定した走行経路を取得し、流用する。この場合、走行経路決定部161は、自動運転システムの一部であってもよい。
車両状態検出部162は、車両状態を検出する。ここで、車両状態とは、車両状態検出部162が取得した情報に基づいて判断することができる車両に関する状態をさす。一例において、車両状態検出部162は、車両から取得可能である車両の制御情報に基づいて、車両状態を検出する。この場合、車両状態は、例えば、車速、ハンドルの蛇角、ギアの状態、ブレーキの状態である。
一例において、車両状態検出部162は、車載センサ(図示せず)から取得した情報に基づいて、車両状態を検出する。車載センサは、例えば、車内カメラ、車外カメラ、ソナーである。この場合、車両状態は、例えば、車両の進行方向の障害物の有無、カーブの有無である。
セキュリティリスク検出部163は、通信システム1000におけるセキュリティリスクを検出する。ここで、セキュリティリスクとは、ノード100のセキュリティを害する可能性のあるリスクのことである。セキュリティリスクは、例えば、ノード100の乗っ取りやなりすまし等のセキュリティ侵害、正当性が認証されたメッセージ数の全メッセージ数に対する割合の低下である。セキュリティ侵害の検出については、任意の公知の方法を適用することができる。
リスクレベル決定部164は、車両が置かれた状況の危険度を示すリスクレベルを決定する。一例において、リスクレベル決定部164は、車両状態検出部162から取得した車両状態に応じて、リスクレベルを決定する。
一般に、車速が上がるほどサイバー攻撃による車両としての影響度が高くなる。そこで、一例において、リスクレベル決定部164は、車両状態に含まれる車速が大きいほど、より高いリスクレベルを決定する。こうすると、車速に応じてメッセージ認証のレベルを強化することができる。
一例において、リスクレベル決定部164は、セキュリティリスク検出部163が検出したセキュリティリスクに対して、リスクレベルを決定する。例えば、セキュリティリスク検出部163がセキュリティ侵害を検出した場合、リスクレベル決定部164は、セキュリティ侵害が検出されなかった場合に決定するリスクレベルよりも高いリスクレベルを決定する。また、例えば、リスクレベル決定部164は、正当性が認証されたメッセージ数の全メッセージ数に対する割合が低いほど、高いリスクレベルを決定する。
一例において、リスクレベル決定部164は、車両状態検出部162が検出した車両状態によって走行経路決定部161が決定した走行経路を車両が維持することが可能であるか否かを判定する。次いで、維持することが可能でないと判定した場合、リスクレベル決定部164は、維持することが可能であると判定した場合に決定するリスクレベルよりも高いリスクレベルを決定する。
一例において、車両状態検出部162が検出した車両状態が車両の直進または蛇行を含む。例えば、走行経路決定部161が決定した走行経路が直線経路である場合、蛇行に応じて決定されるリスクレベルは、直進に応じて決定されるリスクレベルより高い。また、例えば、走行経路決定部161が決定した走行経路が曲線経路である場合、直進に応じて決定されるリスクレベルは、蛇行に応じて決定されるリスクレベルより高い。これらの場合、車両が本来の走行経路を逸脱している可能性が高い。一般的に、車両が本来の走行経路を逸脱する理由としては、様々な理由が考えられるが、例えば、車両の制御に関わるノード100が乗っ取られた結果、車両が本来の走行経路を逸脱するように制御を受けている場合も考えられる。このような場合であっても、リスクレベル決定部164がより高いリスクレベルを決定することによって、セキュリティリスク検出部163が検出に失敗した巧妙な乗っ取りについても、間接的に対処することができる。
一例において、車両状態検出部162が車両の進行方向の障害物の有無を検出することができる場合、リスクレベル決定部164は、走行経路決定部161が決定した走行経路上にある障害物に応じて、リスクレベルを決定する。例えば、障害物がある場合に決定されるリスクレベルは、障害物がない場合に決定されるリスクレベルよりも高い。
リスクレベル決定部164は、複雑度および安全度の異なる複数の認証ロジックの中から、決定したリスクレベルに応じた認証ロジックへの切り替えを、認証ロジック切替制御部150に指示する。認証ロジック切替制御部150は、リスクレベル決定部164からの指示に応じて、MAC値生成部125が用いる認証ロジックを切り替える。
認証キー更新指示部165は、認証キーを更新すべきタイミングにおいて、認証キーの更新を、認証キー切替部152に指示する。一例において、認証キー更新指示部165は、定期的に、認証キーの更新を、認証キー切替部152に指示する。
一例において、リスクレベル決定部164は、決定したリスクレベルに応じて、認証キーの更新頻度を認証キー更新指示部165に指示する。認証キー更新指示部165は、指示された更新頻度に応じて、認証キーの更新を、認証キー切替部152に指示する。
なお、全てのノード100がマスタノード100Aである場合、全てのマスタノード100Aの構成要素が、構成要素毎に同じ入力を有する、同じ認証ロジック決定制御部160を備えることによっても、算出ロジックの切り替えおよび認証キーの切り替えを同期させることができる。
図4は、本開示に係るセキュリティリスクに対するマスタノード100Aの動作フローを示すフローチャートである。この処理は、例えば車両のエンジンが起動されることに伴い、マスタノード100AのCPUがROMに格納されているプログラムを読み出して定期的に実行することにより実現される。
ステップS11において、マスタノード100Aは、セキュリティリスクを検出したか否かを判定する(セキュリティリスク検出部163としての処理)。一例において、セキュリティリスク検出部163は、ノード100の乗っ取りまたはなりすましを検出した場合、セキュリティリスクを検出したと判定する。また、一例において、正当性が認証された受信メッセージの全ての受信メッセージに対する割合が所定の第1の割合よりも低下した場合、セキュリティリスク検出部163は、セキュリティリスクを検出したと判定する。セキュリティリスクを検出したと判定した場合(ステップS11:Yes)、ステップS12に進む。一方、セキュリティリスクを検出しなかったと判定した場合(ステップS11:No)、ステップS11に戻る。
ステップS12において、マスタノード100Aは、検出されたセキュリティリスクに対するリスクレベルを決定する(リスクレベル決定部164としての処理)。
一例において、正当性が認証された受信メッセージ数の全受信メッセージ数に対する割合が所定の第2の割合よりも大きい場合、リスクレベル決定部164は、第1のリスクレベルを決定する。一方、所定の第2の割合よりも小さい場合、リスクレベル決定部164は、第1のリスクレベルよりも高い第2のリスクレベルを決定する。ここで、所定の第2の割合は、所定の第1の割合よりも大きい割合である。
一例において、リスクレベル決定部164は、ノード100の乗っ取りまたはなりすましを検出した場合、第2のリスクレベルを決定する。
ステップS13において、マスタノード100Aは、決定したリスクレベルが高いか否かを判定する(リスクレベル決定部164としての処理)。一例において、リスクレベル決定部164は、決定したリスクレベルが第1のリスクレベルである場合、リスクレベルが高くないと判定し、決定したリスクレベルが第2のリスクレベルである場合、リスクレベルが高いと判定する。
リスクレベルが高いと判定された場合(S13:Yes)、ステップS14に進む。ステップS14において、マスタノード100Aは、複雑度および安全度の異なる複数の算出ロジックの中から、複雑度が高いが安全度も高い算出ロジックへの切り替えを指示する(リスクレベル決定部164としての処理)。これにより、決定されるリスクレベルが高いセキュリティリスクが検出された場合に、メッセージ認証の安全度がより担保される。なお、既に複雑度が高い算出ロジックが用いられている場合は、算出ロジックを切り替えなくてもよいし、複雑度が高い別の算出ロジックに切り替えてもよい。
算出ロジックの切り替えの指示に応じて、マスタノード100Aは、算出ロジックを切り替える(算出ロジック切替部151としての処理)。
一方、リスクレベルが高くないと判定された場合(S13:No)、ステップS14をスキップしてステップS15に進む。これにより、決定されるリスクレベルが高いセキュリティリスクが既に検出されており、複雑度が高い算出ロジックが用いられている場合は、そのまま、複雑度が高い算出ロジックが用いられる。また、決定されるリスクレベルが高いセキュリティリスクが未だ検出されていない通常の場合は、複雑度が低い算出ロジックを用いることにより、ノード100の計算処理の負荷を低減することができる。
ステップS15において、マスタノード100Aは、認証キー切替部152に対して、認証キーの切り替えを指示する(リスクレベル決定部164としての処理)。指示に応じて、マスタノード100Aは、認証キーを切り替える(認証キー切替部152としての処理)。
次いで、ステップS16において、マスタノード100Aは、スレーブノード100Bに認証ロジックの切り替えを指示する(算出ロジック切替部151および認証キー切替部152としての処理)。これにより、全てのノード100において、同一の認証キーおよび算出ロジックに切り替えられる。なお、全てのノード100がマスタノード100Aであるマルチマスタ構成の場合、ステップS16はスキップすることができる。
図5は、セキュリティリスクのリスクレベルと認証ロジックとの間の関係の説明図である。図5に示される関係は、図4に示されるフローチャートにおいて用いられる。
図5に示されるように、決定されたリスクレベルが低いと判断された場合、算出ロジックの複雑度の低い認証ロジック1に切り替えられる。決定されたリスクレベルが高いと判断された場合、算出ロジックの複雑度の高い認証ロジック2に切り替えられる。
このように、検出されたセキュリティリスクに対して決定されたリスクレベルの高さに応じて、複数の認証ロジックを使い分けることができるので、決定されるリスクレベルの低い通常の場合、複雑度の低い算出ロジックを用いることができる。
図6は、本開示に係る車両状態の変化に対するマスタノード100Aの動作フローを示すフローチャートである。この処理は、例えば車両のエンジンが起動されることに伴い、マスタノード100AのCPUがROMに格納されているプログラムを読み出して定期的に実行することにより実現される。
ステップS21において、マスタノード100Aは、車両状態の変化を検出したか否かを判定する(車両状態検出部162としての処理)。一例において、車両状態検出部162は、車速の変化を検出した場合、車両状態の変化を検出したと判定する。車両状態の変化を検出したと判定した場合(ステップS21:Yes)、ステップS22に進む。一方、車両状態の変化を検出しなかった判定した場合(ステップS21:No)、ステップS21に戻る。
ステップS22において、マスタノード100Aは、変化後の車両状態に対するリスクレベルを決定する(リスクレベル決定部164としての処理)。一例において、車速が小さい(例えば、時速60km/h未満である)場合、リスクレベル決定部164は、第3のリスクレベルを決定する。また、車速が中くらい(例えば、時速60km/h以上100km/h未満)である場合、リスクレベル決定部164は、第3のリスクレベルより高い第4のリスクレベルを決定する。また、車速が大きい(例えば、100km/h以上である)場合、リスクレベル決定部164は、第4のリスクレベルより高い第5のリスクレベルを決定する。
ステップS23において、マスタノード100Aは、決定したリスクレベルの高さを判定する(リスクレベル決定部164としての処理)。
リスクレベルが低いと判定した場合(例えば、決定したリスクレベルが第3のリスクレベルである場合)、ステップS24−1に進む。リスクレベルが中くらいであると判定した場合(例えば、決定したリスクレベルが第4のリスクレベルである場合)、ステップS24−2に進む。リスクレベルが高いと判定した場合(例えば、決定したリスクレベルが第5のリスクレベルである場合)、ステップS24−3に進む。
ステップS24−1に進んだ場合、マスタノード100Aは、複雑度および安全度の異なる複数の算出ロジックの中から、安全度も低いが複雑度も低い算出ロジックへの切り替えを指示する(リスクレベル決定部164としての処理)。なお、既に複雑度が低い算出ロジックが用いられている場合は、算出ロジックを切り替えなくてもよいし、複雑度が低い別の算出ロジックに切り替えてもよい。
ステップS24−2に進んだ場合、マスタノード100Aは、複雑度および安全度の異なる複数の算出ロジックの中から、複雑度が中くらいであり安全度も中くらいである算出ロジックへの切り替えを指示する(リスクレベル決定部164としての処理)。なお、既に複雑度が中くらいである算出ロジックが用いられている場合は、算出ロジックを切り替えなくてもよいし、複雑度が中くらいである別の算出ロジックに切り替えてもよい。
ステップS24−3に進んだ場合、マスタノード100Aは、複雑度および安全度の異なる複数の算出ロジックの中から、複雑度が高いが安全度も高い算出ロジックへの切り替えを指示する(リスクレベル決定部164としての処理)。なお、既に複雑度が高い算出ロジックが用いられている場合は、算出ロジックを切り替えなくてもよいし、複雑度が高い別の算出ロジックに切り替えてもよい。
算出ロジックの切り替えの指示に応じて、マスタノード100Aは、算出ロジックを切り替える(算出ロジック切替部151としての処理)。
ステップS25において、マスタノード100Aは、認証キー切替部152に対して、認証キーの切り替えを指示する(リスクレベル決定部164としての処理)。指示に応じて、マスタノード100Aは、認証キーを切り替える(認証キー切替部152としての処理)。
次いで、ステップS26において、マスタノード100Aは、スレーブノード100Bに認証ロジックの切り替えを指示する(算出ロジック切替部151および認証キー切替部152としての処理)。これにより、全てのノード100において、同一の認証キーおよび算出ロジックに切り替えられる。なお、全てのノード100がマスタノード100Aであるマルチマスタ構成の場合、ステップS26はスキップすることができる。
図7は、車両状態のリスクレベルと認証ロジックとの間の関係の説明図である。図7に示される関係は、図6に示されるフローチャートにおいて用いられる。
図7に示されるように、車両状態に対して決定されたリスクレベルが低いと判定された場合、算出ロジックの複雑度の低い認証ロジック1に切り替えられる。車両状態に対して決定されたリスクレベルが中くらいであると判定された場合、算出ロジックの複雑度の中くらいである認証ロジック2に切り替えられる。車両状態に対して決定されたリスクレベルが高いと判定された場合、算出ロジックの複雑度の高い認証ロジック3に切り替えられる。
このように、検出された車両状態に対して決定されたリスクレベルの高さに応じて、複数の認証ロジックを使い分けることができる。決定されたリスクレベルの低い通常の車両状態の場合、複雑度の低い算出ロジックを用いることができる。
このように、第1の実施の形態に係る通信システム1000は、ネットワーク200に接続された複数のノード100を備える車両の通信システム1000であって、複数のノード100の各ノード100−iは、複数のノード100の他ノード100−jから受信したメッセージの正当性を認証するのに用いられる認証ロジックが複数のノード100の間で同一となるように、認証ロジックを複数の認証ロジックの間で切り替える認証ロジック切替制御部150と、認証ロジックを用いてメッセージの正当性を認証するメッセージ認証部123と、を備える構成を採る。
本開示によれば、認証ロジックが複数の認証ロジックの間で切り替えられることにより、不正アクセスおよび認証ロジックの解析が困難である通信システムを提供することができる。また、車載LANの既存の通信規格にそのまま適用することができるので、拡張性に優れた通信システムを提供することができる。また、決定されたリスクレベルに応じて適度な複雑度を備える認証ロジックに切り替えることができるので、状況の変化に応じて適度な難読化を行うことができる。
本開示によれば、車両状態(安全上のリスクが高い走行状態か否か)、サイバー攻撃状況、不正アクセス回数、不正アクセス時のコマンドが及ぼす影響の大きさ等に応じて、動的に認証ロジックを切り替えることができ、適切なセキュリティレベルに切り替えることができるので、セキュリティリスクへ柔軟に対応することができる。
また、本開示によれば、通信システム1000に接続されたノード100毎のカウンタを各ノードが備える必要がないので、管理が容易であり、拡張性も高い。
このように、本開示は、通信データのプロージビリティを検証するための1つの方法を提供する。本開示によれば、一定の秘匿性を維持するように通信メッセージ上にメッセージ認証用データを組み込むことができる。また、本開示によれば、セキュリティリスク、車両状態等に応じて認証処理を段階的に変化させる柔軟性を持ったセキュリティ対策を提供することができる。
図8は、コンピュータのハードウェア構成の一例を示す図である。上述した各実施の形態および各変形例における各部の機能は、コンピュータ2100が実行するプログラムにより実現される。
図8に示すように、コンピュータ2100は、入力ボタン、タッチパッドなどの入力装置2101、ディスプレイ、スピーカなどの出力装置2102、CPU(Central Processing Unit)2103、ROM(Read Only Memory)2104、RAM(Random Access Memory)2105を備える。また、コンピュータ2100は、ハードディスク装置、SSD(Solid State Drive)などの記憶装置2106、DVD−ROM(Digital Versatile Disk Read Only Memory)、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置2107、ネットワークを介して通信を行う送受信装置2108を備える。上述した各部は、バス2109により接続される。
そして、読取装置2107は、上記各部の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置2106に記憶させる。あるいは、送受信装置2108が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各部の機能を実現するためのプログラムを記憶装置2106に記憶させる。
そして、CPU2103が、記憶装置2106に記憶されたプログラムをRAM2105にコピーし、そのプログラムに含まれる命令をRAM2105から順次読み出して実行することにより、上記各部の機能が実現される。また、プログラムを実行する際、RAM2105または記憶装置2106には、各実施の形態で述べた各種処理で得られた情報が記憶され、適宜利用される。
(その他の実施の形態)
第1の実施の形態においては、走行経路決定部161、車両状態検出部162、およびセキュリティリスク検出部163は、いずれもマスタノード100Aに含まれる。これに代えて、走行経路決定部161、車両状態検出部162、およびセキュリティリスク検出部163の少なくとも1つがノード100と別体に設けられる実施の形態も考えられる。さらに、走行経路決定部161が決定する走行経路、車両状態検出部162が検出する車両状態、およびセキュリティリスク検出部163が検出するセキュリティリスクを、それらを示す情報の形式で、ノード100が外部の構成要素から取得する実施の形態も考えられる。例えば、車両が自動運転車両である場合、ノード100は、自動運転を司る自動運転システムから、走行経路を取得してもよい。
上記の実施の形態においては、リスクレベル決定部164が、車両の走行経路、車両状態、およびセキュリティリスクに基づいて、リスクレベルを決定している。車両の走行経路、車両状態、およびセキュリティリスクについて、監視対象とすべき範囲も動的に切り替える実施の形態も考えられる。例えば、車速が所定の速度よりも低い場合、車両の走行経路を監視対象から外す、或いは検出すべき障害物までの距離を短くしてもよい。こうすると、マスタノード100Aの計算処理の負荷をさらに低減することができる。
上記の実施の形態においては、2段階または3段階のリスクレベルを決定する場合について説明している。これに加えて、4段階以上のリスクレベルを決定する実施の形態も考えられる。また、算出ロジックの複雑度も、4段階以上あってもよい。
上記の実施の形態においては、認証ロジックを切り替える場合、認証キーを必ず切り替えている。これに代えて、認証ロジックを切り替える場合に、認証ロジックに含まれる算出ロジックのみを切り替えて、認証キーを切り替えない実施の形態も考えられる。
本開示に係る通信システムは、車載LANに適用されるのに好適である。
100,100−1,100−2,…,100−n ノード
100A マスタノード
100B スレーブノード
110,110−1,110−2,…,110−n 送受信器
111 受信器
112 送信器
120 メッセージ制御部
121 送信データ入力部
122 メッセージ生成部
123 メッセージ検証部
124 受信データ出力部
125 MAC値生成部
130 算出ロジック記憶装置
140 認証キー記憶装置
150 認証ロジック切替制御部
151 算出ロジック切替部
152 認証キー切替部
160 認証ロジック決定制御部
161 走行経路決定部
162 車両状態検出部
163 セキュリティリスク検出部
164 リスクレベル決定部
165 認証キー更新指示部
200 ネットワーク

Claims (17)

  1. ネットワークに接続された複数のノードを備える通信システムであって、前記複数のノードの各ノードは、
    前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替える認証ロジック切替制御部と、
    前記認証ロジックを用いて前記メッセージの正当性を認証するメッセージ認証部と、
    を備える、通信システム。
  2. 前記複数のノードの少なくとも1つのノードが、車両が置かれた状況の危険度を示すリスクレベルを決定するリスクレベル決定部を備え、
    前記複数のノードの前記認証ロジック切替制御部は、前記リスクレベルに応じて前記認証ロジックを切り替える、請求項1に記載の通信システム。
  3. 前記複数のノードの前記認証ロジック切替制御部は、より高い前記リスクレベルに対して、より複雑度の高い前記認証ロジックに切り替える、請求項2に記載の通信システム。
  4. 前記複数のノードの少なくとも1つのノードが、前記通信システムにおけるセキュリティリスクを検出するセキュリティリスク検出部を備え、
    前記リスクレベル決定部は、検出された前記セキュリティリスクに対して前記リスクレベルを決定する、請求項2または3に記載の通信システム。
  5. 前記セキュリティリスクは、乗っ取りまたはなりすましである、請求項4に記載の通信システム。
  6. 前記車両に関する状態である車両状態を検出する車両状態検出部を備え、
    前記リスクレベル決定部は、前記車両状態に応じて前記リスクレベルを決定する、請求項2から5のいずれかに記載の通信システム。
  7. 前記車両状態は、車速を含み、
    前記リスクレベル決定部は、前記車速が大きいほどより高い前記リスクレベルを決定する、請求項6に記載の通信システム。
  8. 前記車両の走行経路を決定する走行経路決定部を備え、
    前記リスクレベル決定部は、前記車両が前記車両状態によって前記走行経路を維持することが可能であるか否かを判定することにより、前記リスクレベルを決定する、請求項6または7に記載の通信システム。
  9. 前記車両状態は、前記車両の直進または蛇行を含み、
    前記走行経路が直線経路である場合、前記蛇行に応じて決定される前記リスクレベルは、前記直進に応じて決定される前記リスクレベルより高い、請求項8に記載の通信システム。
  10. 前記車両状態は、前記車両の直進または蛇行を含み、
    前記走行経路が曲線経路である場合、前記直進に応じて決定される前記リスクレベルは、前記蛇行に応じて決定される前記リスクレベルより高い、請求項8に記載の通信システム。
  11. 前記車両状態検出部は、前記車両の進行方向の障害物を検出するセンサを備え、
    前記リスクレベル決定部は、前記走行経路上にある前記障害物に応じて、前記リスクレベルを決定する、請求項8から10のいずれかに記載の通信システム。
  12. 前記認証ロジックは、認証キーと、前記認証キーを用いて前記メッセージに対するメッセージ認証符号値を算出するために用いる算出ロジックと、を含み、
    前記メッセージ認証部は、前記認証キーおよび前記算出ロジックを用いて前記メッセージに対して算出された前記メッセージ認証符号値の少なくとも一部が前記メッセージに含まれるメッセージ認証符号値の少なくとも一部と一致するか否かを判定することにより、前記メッセージの正当性を認証する、請求項1から11のいずれかに記載の通信システム。
  13. 前記複数のノードの少なくとも1つのノードが、認証キーの更新を指示する認証キー更新指示部を備え、
    前記少なくとも1つのノードの前記認証ロジック切替制御部は、前記指示に応じて前記認証キーを切り替える、請求項12に記載の通信システム。
  14. 前記認証ロジック切替制御部は、前記認証ロジックの切り替えを指示する情報の前記他ノードからの受信に応じて、前記認証ロジックを切り替える、請求項1から13のいずれかに記載の通信システム。
  15. ネットワークに接続された複数のノードを備える通信システムにおける通信方法であって、
    前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、
    前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、
    を備える、通信方法。
  16. ネットワークに接続された複数のノードを備える通信システムにおいて、前記複数のノードがそれぞれ備えるコンピュータに、
    前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、
    前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、
    を実行させる、プログラム。
  17. コンピュータ読み取り可能なプログラムを記録した非一時的記録媒体であって、
    ネットワークに接続された複数のノードを備える通信システムにおいて、前記複数のノードがそれぞれ備えるコンピュータに、
    前記複数のノードの他ノードから受信したメッセージの正当性を認証するのに用いられる認証ロジックが前記複数のノードの間で同一となるように、前記認証ロジックを複数の認証ロジックの間で切り替えるステップと、
    前記認証ロジックを用いて前記メッセージの正当性を認証するステップと、
    を実行させる、プログラムを記録した非一時的記録媒体。
JP2017015459A 2017-01-31 2017-01-31 通信システム、通信方法、プログラム、および非一時的記録媒体 Pending JP2018125659A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017015459A JP2018125659A (ja) 2017-01-31 2017-01-31 通信システム、通信方法、プログラム、および非一時的記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017015459A JP2018125659A (ja) 2017-01-31 2017-01-31 通信システム、通信方法、プログラム、および非一時的記録媒体

Publications (1)

Publication Number Publication Date
JP2018125659A true JP2018125659A (ja) 2018-08-09

Family

ID=63109727

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017015459A Pending JP2018125659A (ja) 2017-01-31 2017-01-31 通信システム、通信方法、プログラム、および非一時的記録媒体

Country Status (1)

Country Link
JP (1) JP2018125659A (ja)

Similar Documents

Publication Publication Date Title
US20220123946A1 (en) Systems and methods for enabling trusted communications between controllers
US10279775B2 (en) Unauthorized access event notification for vehicle electronic control units
JP5949572B2 (ja) 車両不正状態検出方法、車載システムにおける制御方法、およびシステム
JP2010011400A (ja) 共通鍵方式の暗号通信システム
CN107086981B (zh) 受控安全代码认证
WO2014196181A1 (ja) データ認証装置、及びデータ認証方法
JP2017174111A (ja) 車載ゲートウェイ装置、蓄積制御方法およびプログラム
JP6523143B2 (ja) データ配布装置、通信システム、移動体およびデータ配布方法
US10461938B2 (en) Method for manipulation protection
JP5772692B2 (ja) 車載制御装置の認証システム及び車載制御装置の認証方法
JP2013138304A (ja) セキュリティシステム及び鍵データの運用方法
JP2022528360A (ja) 自律走行車両を遠隔制御するための暗号的に安全なメカニズム
WO2015186829A1 (ja) 送信ノード、受信ノード、通信ネットワークシステム、メッセージ作成方法およびコンピュータプログラム
CN112865959B (zh) 分布式节点设备的共识方法、节点设备及分布式网络
JP2016134671A (ja) データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
US20230083716A1 (en) Devices, methods, and computer program for releasing transportation vehicle components, and vehicle-to-vehicle communication module
JP6233041B2 (ja) 無線通信装置および無線通信方法
WO2021022802A1 (zh) 安全启动方法、控制器和控制***
JP2016134834A (ja) 車載ゲートウェイ装置及び車載ネットワークシステム
Giri et al. An integrated safe and secure approach for authentication and secret key establishment in automotive Cyber-Physical systems
US20220377068A1 (en) Vehicle control device, vehicle, vehicle control method, and non-transitory recording medium
KR102236282B1 (ko) 차량용 통신 데이터 인증 방법 및 시스템
KR102462736B1 (ko) 센서의 측정값들에 서명하기 위한 방법, 장치 및 명령어들을 포함하는 컴퓨터 판독 가능 저장 매체
US10263976B2 (en) Method for excluding a participant from a group having authorized communication
EP3692698A1 (en) System and method for validation of authenticity of communication at in-vehicle networks