JP2018081349A - Falsification detection system, verification ecu, ecu to be verified, program - Google Patents
Falsification detection system, verification ecu, ecu to be verified, program Download PDFInfo
- Publication number
- JP2018081349A JP2018081349A JP2016221320A JP2016221320A JP2018081349A JP 2018081349 A JP2018081349 A JP 2018081349A JP 2016221320 A JP2016221320 A JP 2016221320A JP 2016221320 A JP2016221320 A JP 2016221320A JP 2018081349 A JP2018081349 A JP 2018081349A
- Authority
- JP
- Japan
- Prior art keywords
- verification
- ecu
- random number
- verified
- value
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、自動車などの各機能を制御するECUのソフトウェアの改竄を同車内の他のECUが検知するための改竄検知システム、検証ECU、被検証ECU、プログラムに関する。 The present invention relates to a falsification detection system, a verification ECU, an ECU to be verified, and a program for other ECUs in the vehicle to detect falsification of software of an ECU that controls each function of an automobile or the like.
現代の自動車は、エンジン挙動や舵角操作といった自動車本来の機能からナビゲーションや外部通信といった情報システムまで、各機能をElectric Control Unit(ECU)という多数のマイコンを用いて電子制御している。ECU同士が通信することで、より高度な制御を実現する車載ネットワークシステムが構築される。車1台のECU搭載個数、ならびにソフトウェアのコード総量は増大し続けており、ECUのソフトウェアにバグや脆弱性が残されたまま出荷される危険性がある。 Modern automobiles electronically control each function from the original functions such as engine behavior and steering angle operation to information systems such as navigation and external communication using a number of microcomputers called Electric Control Units (ECUs). An in-vehicle network system that realizes higher-level control is constructed by communication between ECUs. The number of ECUs installed in one vehicle and the total code amount of software continue to increase, and there is a risk of shipment with bugs and vulnerabilities remaining in the ECU software.
また、地図データの更新や自動運転などの高度なサービスを実現するために、コネクテッドカーと呼ばれるシステムが実現されつつある。コネクテッドカーでは、通信キャリア網のデータ通信や近距離無線通信などを用いて自動車内外のネットワークが連携する。従来から車載ネットワークにはアフターマーケットにおけるECUの交換や自動車メーカにとって想定外の機器の追加といった不正動作に繋がりうる脅威が指摘されている。これに加え、上述のコネクテッドカーの実現によりソフトウェアのバグや脆弱性を突いた遠隔による不正な制御命令の実行やソフトウェア改竄の脅威が指摘されている。 In addition, a system called a connected car is being realized in order to realize advanced services such as update of map data and automatic driving. In a connected car, a network inside and outside the automobile cooperates using data communication of a communication carrier network, short-range wireless communication, or the like. Conventionally, threats that can lead to unauthorized operations such as replacement of ECUs in the aftermarket and addition of devices that are unexpected for automobile manufacturers have been pointed out in the in-vehicle network. In addition to this, it has been pointed out that threats of remote execution of illegal control commands and software tampering that have exploited software bugs and vulnerabilities due to the above-mentioned connected car implementation.
コネクテッドカーの安全性と利便性を高めるために、ECUのソフトウェアのバグや脆弱性の修正あるいは改良を円滑に行う無線配信によるECUのソフトウェアアップデート機能(リモートリプログラミング)が検討されている。リモートリプログラミングが実現すれば、ソフトウェアの大規模なリコールが発生したとしても、自動車に1台ずつ専用機器を結線してソフトウェアを書き換える手間が不要となる。しかしリモートリプログラミング機能自体もまた攻撃者に悪用される危険性がある。このため、車内のECU全体による車載ネットワークの構成の完全性を保証する技術(構成証明)の確立が要請されている。車載ネットワーク構成に対する脅威として、ECUのソフトウェアの改竄、物理的な接触を伴う交換、除外、追加が挙げられる。これらの攻撃に対して、構成証明の証跡を車外のしかるべき機関から容易に確認することができれば、コネクテッドカーに対するサイバー攻撃の早期発見や故障検知が可能となる。 In order to improve the safety and convenience of connected cars, ECU software update function (remote reprogramming) by wireless distribution that smoothly corrects or improves bugs and vulnerabilities in ECU software is being studied. If remote reprogramming is realized, even if a large-scale software recall occurs, there is no need to rewrite the software by connecting dedicated devices one by one to the car. However, the remote reprogramming function itself can also be exploited by attackers. For this reason, establishment of a technique (configuration certification) that guarantees the completeness of the configuration of the in-vehicle network by the entire ECU in the vehicle is required. Threats to the in-vehicle network configuration include falsification of ECU software, replacement with physical contact, exclusion, and addition. If a trail of configuration proof can be easily confirmed from an appropriate organization outside the vehicle against these attacks, it is possible to detect a cyber attack on a connected car early and detect a failure.
構成証明の中でもECUのソフトウェアが改竄された状態、つまり車内システムの改竄を検知する技術が検討されている(例えば、非特許技術1)。非特許文献1には、耐タンパ性を有する機器を内蔵する検証ECUと、耐タンパ性を有しない被検証ECUとの二者間における認証および鍵共有方式が開示されている。なお、耐タンパ性を有するとは、物理装置の内部構造や記憶データが第三者から解析されないように、あるいは非破壊には解析されないように物理的対策が施された状態を指す。
Among the configuration certifications, a technique for detecting a state in which the ECU software has been falsified, that is, falsification of the in-vehicle system has been studied (for example, Non-Patent Technology 1). Non-Patent
非特許文献1において、検証ECUはレスポンスの期待値を算出するために被検証ECUのソフトウェアデータを記憶している。そして被検証ECUは自身の主記憶部に記憶されたソフトウェアデータをチェックサム関数Indisputable Code Execution(ICE)と暗号学的ハッシュ関数に入力してレスポンスを生成する。関数ICEは主記憶部のソフトウェアデータだけでなくCPUのプログラムカウンタやステータスレジスタの値を参照することで、ソフトウェアのデータ改竄だけでなく、データが主記憶部の別のアドレス位置に書き換えられていないかまで検証できる。
In
具体的には、関数ICEは計算結果だけでなく関数ICEにかかる計算時間・応答時間も改竄検知に利用する。関数ICEにかかる計算時間・応答時間は、マルウェアなどにより不正な動作が行われていないかどうかをチェックするために用いられる。 Specifically, the function ICE uses not only the calculation result but also the calculation time and response time for the function ICE for falsification detection. The calculation time / response time required for the function ICE is used to check whether an illegal operation is performed by malware or the like.
認証を偽証しようとするマルウェアが被検証ECUに書き込まれたと仮定する。この場合、主記憶部の元データであるソフトウェアデータが全て被検証ECU内に残されていれば、マルウェアは関数ICEの正しい計算結果を算出できる。マルウェアは、自身が計算した正しい計算結果を検証ECUに返信することにより、改竄検知を掻い潜ろうとする。 It is assumed that malware intended to authenticate authentication has been written in the verified ECU. In this case, if all the software data that is the original data of the main storage unit is left in the ECU to be verified, the malware can calculate the correct calculation result of the function ICE. The malware tries to dive into falsification detection by returning the correct calculation result calculated by itself to the verification ECU.
しかし、ICEの実行コードをCPUのアーキテクチャに合わせて最適化し最小のCPUサイクル数で実現すれば、マルウェアが関数ICEを計算し、プログラムカウンタとステータスレジスタの値を偽装するために余計なCPUサイクルを要する。この計算時間差を検証ECUが検出できればマルウェアによる偽証を検知できる。そのためICEの最小サイクル数実装と通信路の遅延を考慮した応答時間制限を適切に設計する必要がある。 However, if the execution code of ICE is optimized according to the CPU architecture and realized with the minimum number of CPU cycles, the malware calculates the function ICE and takes extra CPU cycles to disguise the values of the program counter and status register. Cost. If the verification ECU can detect this difference in calculation time, it is possible to detect a counterfeit due to malware. Therefore, it is necessary to appropriately design a response time limit considering the implementation of the minimum number of cycles of ICE and the delay of the communication path.
図1に従来技術の問題点の一つを示す。同図に示すように、従来技術では、主記憶部内の正規のソフトウェアが格納されている領域だけを検証範囲とする。このため主記憶部の空き領域に不正コードが記憶されていた場合(同図の網掛け部)、従来技術では検出できないか、検証に必要なコストが多大になる可能性がある。形式的に検証範囲を主記憶部内全体としても、従来技術では不正コードを検出できない可能性がある。例えば同図に示すように不正コードが空き領域に記憶されており、空き領域が「00」、「11」、「ff」といった固定値、あるいは簡単な規則性が存在する質の悪い擬似乱数で単調にパディングされていた場合、不正コードは、自身が存在しなかった場合の空き領域の状態を再現し、主記憶部全体の正規の状態を再現したうえで、再現された主記憶部全体を用いて必要なレスポンスを生成することで、検証結果を偽証できる場合がある。 FIG. 1 shows one of the problems of the prior art. As shown in the figure, in the prior art, only the area in the main storage unit where the regular software is stored is set as the verification range. For this reason, when an illegal code is stored in an empty area of the main storage unit (shaded portion in the figure), it may not be detected by the conventional technology, or the cost required for verification may become large. Even if the verification range is formally set to the entire main storage unit, there is a possibility that the malicious code cannot be detected by the conventional technology. For example, as shown in the figure, an illegal code is stored in a free area, and the free area is a fixed value such as “00”, “11”, “ff”, or a bad pseudo-random number with simple regularity. If it is monotonically padded, the illegal code reproduces the state of the free area when it does not exist, reproduces the normal state of the entire main memory, and then reproduces the entire main memory that has been reproduced. In some cases, the verification result can be falsely verified by generating a necessary response.
そこで本発明では、不正コードに対する安全性を向上した改竄検知システムを提供することを目的とする。 Therefore, an object of the present invention is to provide a falsification detection system with improved safety against illegal codes.
本発明の改竄検知システムは、検証サーバと、検証ECUと、被検証ECUを含む。 The tampering detection system of the present invention includes a verification server, a verification ECU, and a verified ECU.
検証サーバは、被検証ECUの主記憶部内の記憶内容を全て記憶した記憶部と、乱数を生成し、生成した乱数に基づいて記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する計算部と、検証ECUに、乱数と期待値を送信する車外WAN通信部を含む。 The verification server generates a random number and a storage unit that stores all the stored contents in the main storage unit of the ECU to be verified, and divides the area in which the stored contents are stored based on the generated random number into a plurality of areas, A calculation unit that generates an expected value from a result of a predetermined calculation on the area of the vehicle, and an out-of-vehicle WAN communication unit that transmits a random number and the expected value to the verification ECU.
検証ECUは、検証サーバが生成した乱数と期待値を受信する車外WAN通信部と、検証サーバが生成した乱数を被検証ECUに送信し、被検証ECUからレスポンスを受信し、期待値とレスポンスを比較して検証する検証部を含む。 The verification ECU transmits the random number and the expected value generated by the verification server to the outside-vehicle WAN communication unit, the random number generated by the verification server to the verified ECU, receives the response from the verified ECU, and receives the expected value and the response. A verification unit for comparing and verifying is included.
被検証ECUは、その空き領域を全て乱数でパディングした主記憶部と、検証サーバが生成した乱数を検証ECUから受信し、検証ECUにレスポンスを送信する車載LAN通信部と、検証サーバが生成した乱数に基づいて、主記憶部を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から、レスポンスを生成するレスポンス生成部を含む。 The ECU to be verified includes a main storage unit that pads all the empty areas with random numbers, an in-vehicle LAN communication unit that receives a random number generated by the verification server from the verification ECU, and transmits a response to the verification ECU, and a verification server generates A main memory section is divided into a plurality of areas based on the random numbers, and a response generation section that generates a response from the result of a predetermined calculation for each area is included.
本発明の改竄検知システムによれば、不正コードに対する安全性が向上する。 According to the falsification detection system of the present invention, safety against illegal codes is improved.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
<実施例と従来技術の比較>
図2を参照して、実施例における検証範囲と主記憶部の状態を従来技術(図1)と比較する。同図に示すように、以下の実施例では、被検証ECU13(23)の主記憶部133(233)全体を検証範囲とすることで空き領域への不正コードの書き込みを検知する。具体的には製造工程などにおいて予め主記憶部133(233)の空き領域を全て乱数でパディングしておき、ソフトウェアと乱数を合わせた主記憶部133(233)の記憶領域全体を検証範囲とする。パディングされる乱数は、不正コードによって再現することが困難な程度に出現確率が一様で、無規則性(独立性)および無周期性が十分に確保された疑似乱数とすれば好適である。別の表現では、所定の出現確率の条件と所定の独立性の条件と所定の周期性の条件を充たす疑似乱数をパディングされる乱数として用いれば好適である。また、パディングされる乱数として自然現象から作られた自然乱数を用いればさらに好適である。
<Comparison of Example and Conventional Technology>
With reference to FIG. 2, the verification range and the state of the main memory in the embodiment are compared with those of the prior art (FIG. 1). As shown in the figure, in the following embodiment, writing of an illegal code in a free area is detected by setting the entire main storage unit 133 (233) of the ECU 13 (23) to be verified as a verification range. Specifically, in the manufacturing process or the like, all empty areas of the main storage unit 133 (233) are padded with random numbers in advance, and the entire storage area of the main storage unit 133 (233) including the software and random numbers is set as the verification range. . The random number to be padded is preferably a pseudo-random number that has a uniform appearance probability to the extent that it is difficult to reproduce it with an illegal code, and is sufficiently ensured with irregularity (independence) and aperiodicity. In another expression, it is preferable to use a pseudo-random number satisfying a predetermined appearance probability condition, a predetermined independence condition, and a predetermined periodicity condition as a padded random number. It is more preferable to use a natural random number generated from a natural phenomenon as the padded random number.
本発明では、CPUに依存せず統一された方式で実装可能とするために、検証に乱数生成器とハッシュ関数を用いた。なお、検証領域を主記憶部全体に拡張したことで、検証のチャレンジに対するハッシュ値計算(レスポンス生成)に被検証ECU13(23)の処理時間の大部分が割かれることになる。計算時間を抑えるためにハッシュ関数に入力するデータ量は可能な限り少なくしたい。そのため、事前計算攻撃(レスポンスをチャレンジが生成される前に事前に多数蓄えて保管しておき、チャレンジAに対応するレスポンスAを返す攻撃)・リプレイ攻撃(以前行われた改竄検知のレスポンスを蓄えておき、同じチャレンジAを受信したとき、蓄えておいた対応するレスポンスAを送信する攻撃)への耐性を有しながら、ハッシュ関数に入力するデータ値は主記憶部内のデータだけになるように、レスポンス生成を工夫した。 In the present invention, a random number generator and a hash function are used for verification in order to enable implementation in a unified manner without depending on the CPU. Note that, by extending the verification area to the entire main storage unit, most of the processing time of the ECU 13 (23) to be verified is devoted to hash value calculation (response generation) for the verification challenge. We want to reduce the amount of data input to the hash function as much as possible in order to reduce the calculation time. Therefore, pre-computation attacks (attack that stores a large number of responses before the challenge is generated and stores them in advance and returns response A corresponding to challenge A) and replay attacks (stores responses for tampering detection performed previously) In addition, when the same challenge A is received, the data value input to the hash function is only the data in the main storage unit while having resistance to an attack that transmits the corresponding response A stored) The response generation was devised.
<実施例において想定する攻撃者>
次に、以下の実施例において想定する攻撃者について述べる。攻撃者として以下の目的と能力を仮定する。攻撃者は被検証ECU13(23)のソフトウェアを書き換えて悪意ある任意コードを実行したい。このためその前段階として検証ECU12(22)による改竄検知を逃れる、あるいはチャレンジに対する正しいレスポンスを偽造して検証を誤らせる事を目的とする。攻撃者は以下の能力を有し、いずれも従来技術と同等の能力であるものとする。
1)被検証ECU13(23)の物理的特徴(CPUのクロック周期やメモリ容量など)を知っている。
2)被検証ECU13(23)内に記憶されたソフトウェアのデータ(命令やデータ、秘密鍵など)を知っている。
3)任意台数の被検証ECU13(23)のソフトウェアを自由に改竄できる。
4)車載ネットワークに正規のECU以外の機器(PCやECU)を物理的に追加することはできない。
5)正規ECUの不揮発性メモリを正規のメモリより大容量のメモリに交換することはできない。
<Attack assumed in the embodiment>
Next, an attacker assumed in the following embodiment will be described. Assume the following objectives and abilities as an attacker. An attacker would like to execute malicious arbitrary code by rewriting the software of the ECU 13 (23) to be verified. For this reason, the purpose of this is to avoid the detection of tampering by the verification ECU 12 (22), or to forge a correct response to the challenge and cause the verification to be wrong. The attacker has the following abilities, all of which are equivalent to the conventional technology.
1) Know the physical characteristics of the ECU 13 (23) to be verified (CPU clock period, memory capacity, etc.).
2) Know software data (commands, data, secret key, etc.) stored in the ECU 13 (23) to be verified.
3) The software of an arbitrary number of verified ECUs 13 (23) can be freely altered.
4) Devices (PCs and ECUs) other than the regular ECU cannot be physically added to the in-vehicle network.
5) The non-volatile memory of the regular ECU cannot be replaced with a memory having a larger capacity than the regular memory.
以下、図3を参照して実施例1の改竄検知システム1の構成を説明する。図3に示すように、本実施例の改竄検知システム1は、検証サーバ11と、検証ECU12と、複数の被検証ECU13−1、13−2、…を含む構成である。被検証ECU13については、同図において二個のみ(被検証ECU13−1、被検証ECU13−2)図示したが、特にその数量に制限はなく、その数量は自動車の仕様に応じて変動する。なお、以下の説明において被検証ECU13と表して枝番号を表示しない場合、該当の説明は本実施例の全ての被検証ECUに共通した説明であるものとする。
The configuration of the
検証サーバ11と検証ECU12は、例えば車外WANによって通信可能とされている。検証サーバ11と検証ECU12間は、第三者からの盗聴や改竄を受けない安全な通信路において無線あるいは有線接続される。安全な通信路の確保には従来技術を用いればよい。例えば無線通信であればWPA2やTLC(RFC5246)などを適切に組み合わせればよい。そのため、検証サーバ11側の検証ECU12との通信部、および検証ECU12側の検証サーバ11との通信部は安全な通信路を確立するための通信方式が実装されている必要がある。
The
本実施例では、検証ECU12と被検証ECU13は何れも自動車の車両内に設置されているものとし、検証ECU12と被検証ECU13は、例えば車載LANによって通信可能とされている。車載LANについては、同図において、現代の車内システムでECU間の通信に用いられる車内ネットワークプロトコルCAN(Controller Area Network)を模した、バス型接続の配線として示した。なお、本実施例の検証ECU12と被検証ECU13との通信方法はCANによって構成されるバス型接続の車内システムに限定されない。ただし、検証ECU12と被検証ECU13との通信が直接行えることが望ましい。言い換えれば、本実施例の車載LANでは、検証ECU12による検証メッセージが、別の被検証ECU13を経由しなければ目的の被検証ECU13に到達できないようなネットワークトポロジを採用しないことが好ましい。現代の車内システムでは複数のCANによってサブネットワークが構築されている場合がある。このため検証ECU12の機能は、全てのCANサブネットワークに接続するゲートウェイECUが担うことが望ましい。
In this embodiment, the
以下、図4を参照して本実施例の検証サーバ11の構成を説明する。同図に示すように、本実施例の検証サーバ11は、記憶部111と、計算部112と、車外WAN通信部113を含む。記憶部111は、被検証ECU主記憶部1111と、乱数/期待値記憶部1112と、検証結果記憶部1113を含む。計算部112は、乱数生成部1121と、期待値生成部1122と、検証結果確認部1123を含む。なお前提として、検証サーバ11内の各機能はセキュアであることが保証されているものとする。
被検証ECU主記憶部1111:検証サーバ11は被検証ECU13の主記憶部133の記憶内容(後述するソフトウェアおよび乱数のデータ)を全て記憶した領域である被検証ECU主記憶部1111を有する。当然のことではあるが、被検証ECU主記憶部1111には第三者によって改竄されていない、正規のソフトウェアと乱数が記憶されている。
乱数/期待値記憶部1112:後述の乱数と期待値を記憶する機能を有する。
検証結果記憶部1113:後述の検証結果を記憶する機能を有する。
乱数生成部1121:乱数(検証のチャレンジとして用いる)を生成する機能を有する。
期待値生成部1122:生成した乱数と被検証ECU主記憶部1111に基づいて、被検証ECU13の完全性を検証するために用いる期待値を生成する機能を有する。具体的には、期待値生成部1122は、生成した乱数に基づいて記憶部111内の記憶内容が記憶されている領域(被検証ECU主記憶部1111)を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する。期待値生成部1122の動作の詳細については後述する。
検証結果確認部1123:検証結果を確認し結果の如何に従い何らかの対策を講じる判断を行う機能を有する。
車外WAN通信部113:検証ECU12に上述の乱数と期待値を送信する機能、および検証ECU12から検証結果を受信する機能を有する。前述のとおり、車外WAN通信部113には検証ECU12と安全な通信を確立する従来技術が実装されている。
Hereinafter, the configuration of the
Verifyed ECU main storage unit 1111: The
Random number / expected value storage unit 1112: has a function of storing a random number and an expected value, which will be described later.
Verification result storage unit 1113: has a function of storing a verification result described later.
Random
Expected value generation unit 1122: has a function of generating an expected value used for verifying the integrity of the verified
Verification result confirmation unit 1123: has a function of confirming the verification result and determining whether to take some countermeasures according to the result.
Outside-vehicle WAN communication unit 113: has a function of transmitting the above random number and expected value to the
以下、図5を参照して本実施例の検証ECU12の構成を説明する。同図に示すように、本実施例の検証ECU12は、車外WAN通信部121と、ハードウェアセキュリティモジュール122と、検証部123を含む。ハードウェアセキュリティモジュール122は、乱数/期待値記憶部1221と、検証結果記憶部1222を含む。検証部123は、レスポンス検証部1231と、車載LAN通信部1232を含む。
車外WAN通信部121:検証サーバ11から乱数(チャレンジ)と期待値を受信する機能、および検証サーバ11に検証結果を送信する機能を有する。前述のとおり、車外WAN通信部121は検証サーバ11と安全な通信を確立する従来技術が実装されている。
乱数/期待値記憶部1221:検証サーバ11から受信した乱数と期待値を記憶する機能を有する。
検証結果記憶部1222:レスポンスの検証結果を記憶する機能を有する。
レスポンス検証部1231:検証サーバ11から受信した期待値と、被検証ECU13から受信したレスポンスとが一致するかどうかを検証する機能を有する。
車載LAN通信部1232:被検証ECU13に乱数(チャレンジ)を送信する機能、および被検証ECU13からレスポンスを受信する機能を有する。
Hereinafter, the configuration of the
Outside-vehicle WAN communication unit 121: has a function of receiving a random number (challenge) and an expected value from the
Random number / expected value storage unit 1221: It has a function of storing a random number and an expected value received from the
Verification result storage unit 1222: has a function of storing a response verification result.
Response verification unit 1231: has a function of verifying whether the expected value received from the
In-vehicle LAN communication unit 1232: has a function of transmitting a random number (challenge) to the
乱数、期待値および検証結果の改竄を困難にするために、検証ECU12の乱数/期待値記憶部1221および検証結果記憶部1222はHardware Security Module(HSM)、あるいはHSM相当の耐タンパ性を有する機器によって実現される事が望ましい。また、検証ECU12が改竄された場合は検証サーバ11に対して不当な検証結果を送信できるようにするため、HSMを用いたセキュアブートなどの手法により検証ECU12自身の完全性を検証することが望ましい。
In order to make it difficult to tamper the random number, the expected value, and the verification result, the random number / expected
以下、図6を参照して本実施例の被検証ECU13の構成を説明する。同図に示すように、本実施例の被検証ECU13は、車載LAN通信部131と、レスポンス生成部132と、主記憶部133を含む。
車載LAN通信部131:検証ECU12から乱数(チャレンジ)を受信する機能および検証ECU12にレスポンスを送信する機能を有する。
レスポンス生成部132:受信した乱数(チャレンジ)および主記憶部133のデータを用いて、レスポンスを生成する機能を有する。具体的には、レスポンス生成部132は、検証サーバ11が生成した乱数に基づいて、主記憶部133を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から、レスポンスを生成する。レスポンス生成部132の動作の詳細については後述する。
主記憶部133:自身のソフトウェア(命令、データ)と乱数とを記憶する機能を有する。主記憶部133はEEPROMやフラッシュメモリなどで実現できる。上述した通り、主記憶部133の空き領域は全て質の良い乱数で予めパディングされているものとする。
Hereinafter, the configuration of the
In-vehicle LAN communication unit 131: has a function of receiving a random number (challenge) from the
Response generation unit 132: has a function of generating a response using the received random number (challenge) and data in the
Main storage unit 133: has a function of storing its own software (commands, data) and random numbers. The
以下、図7を参照して本実施例の検証サーバ11と検証ECU12の動作を説明する。まず、検証サーバ11の乱数生成部1121は、事前に任意のタイミングで乱数(チャレンジ)を生成する(S1121)。乱数生成動作の詳細については、図9、図10を参照して後述する。
Hereinafter, the operations of the
同様に、検証サーバ11の期待値生成部1122は、事前に任意のタイミングで乱数に対応する期待値を生成する(S1122)。期待値生成動作の詳細については、図11、図12を参照して後述する。
Similarly, the expected
次に、検証サーバ11の車外WAN通信部113は、検証対象である自動車の検証ECU12に対して検証を実施するためのセッション開始要求を送信する(S113A)。検証ECU12の車外WAN通信部121は、検証サーバ11からセッション開始要求を受信する(S121A)。
Next, the external
次に、検証サーバ11の車外WAN通信部113と、検証ECU12の車外WAN通信部121は、任意の従来技術によりハンドシェイクを実行し、安全な通信路を確立する(S113B,S121B)。
Next, the out-of-vehicle
安全な通信路を確立後、検証サーバ11の車外WAN通信部113は、乱数(チャレンジ)および期待値を検証ECU12に送信する(S113C)。検証ECU12の車外WAN通信部121は、乱数(チャレンジ)および期待値を検証サーバ11から受信する(S121C)。
After establishing a safe communication path, the external
検証ECU12の車外WAN通信部121は、乱数(チャレンジ)および期待値を記憶した後、検証サーバ11に受信確認通知を送信する(S121D)。検証サーバ11の車外WAN通信部113は、検証ECU12から受信確認通知を受信する(S113D)。
The outside
検証ECU12の検証部123は、被検証ECU13とのセッションを開始する(S123)。ステップS123の詳細については、図8を参照して後述する。セッション開始と同時に、検証ECU12の車外WAN通信部121は、検証サーバ11に対して検証開始通知を送信する(S121E)。検証サーバ11の車外WAN通信部113は、検証ECU12から検証開始通知を受信する(S113E)。
The
なお、検証ECU12は任意のタイミングでステップS123の検証を開始してよいが、走行時の安全性を考慮し、停止時あるいはイグニッションON時、すなわち自動車の走行前にステップS123の検証が実行されれば好適である。
The
検証ECU12の車外WAN通信部121は、ステップS123の検証の結果を通知する検証結果通知を検証サーバ11に送信する(S121F)。検証サーバ11の車外WAN通信部113は、検証ECU12から検証結果通知を受信する(S113F)。
The outside-vehicle
検証サーバ11の検証結果確認部1123は、検証ECU12から受信した検証結果を検証結果記憶部1113に記憶すると共に、なんらかの対処を実行すべきかどうか判断する(S1123)。不正状態のECUが検出された場合、例えば自動車のオーナに対して通知を発信する、検証ECU12を介して自動車の走行を安全に停止させる指示を発信するなど、様々な対処が考えられる。検証結果確認部1123は、検証サーバ11と検証ECU12間の接続が良好であったにも関わらず、検証開始時刻から検証結果通知時刻までにかかった時間が想定を遥かに上回る場合は、何らかの不正な行為が行われたと見做してもよい。この場合、検証結果確認部1123は、検証結果に問題がなかった場合であっても、不正状態と判断してもよい。被検証ECU12の完全性を確認した後、検証サーバ11の車外WAN通信部113は、検証ECU12に対してセッション終了通知を送信する(S113G)。検証ECU12の車外WAN通信部121は、検証サーバ11からセッション終了通知を受信する(S121G)。
The verification
以下、図8を参照して本実施例の検証ECU12と被検証ECU13の動作を説明する。まず、検証ECU12の車載LAN通信部1232は、被検証ECU13に対して検証開始要求を送信する(S1232A)。被検証ECU13の車載LAN通信部131は、検証ECU12から検証開始要求を受信する(S131A)。
Hereinafter, the operations of the
次に、検証ECU12の車載LAN通信部1232は、被検証ECU13に対して乱数(チャレンジ)を送信する(S1232B)。被検証ECU13の車載LAN通信部131は、検証ECU12から乱数(チャレンジ)を受信する(S131B)。
Next, the in-vehicle
被検証ECU13のレスポンス生成部132は、受信した乱数(チャレンジ)と自身の主記憶部133を用いて検証ECU12に対するレスポンスを生成する(S132)。レスポンス生成動作の詳細については、図13、図14を参照して後述する。
The
次に、被検証ECU13の車載LAN通信部131は、生成したレスポンスを検証ECU12に送信する(S131C)。検証ECU12の車載LAN通信部1232は、被検証ECU13からレスポンスを受信する(S1232C)。
Next, the in-vehicle
検証ECU12のレスポンス検証部1231は、被検証ECU13から受信したレスポンスが期待値と一致しているか検証する。レスポンスと期待値が一致していれば検証対象の被検証ECU13を正常状態として検証結果を記憶し、一致しなければ不正状態として検証結果を記憶する(S1231)。なお、レスポンス検証部1231は、乱数(チャレンジ)送信時刻からレスポンス受信時刻までにかかった時間が所定の閾値を上回る場合は、何らかの不正な行為が行われたと見做して、検証結果に問題がなかったとしても不正状態と判断してもよい(S1231)。
The
ステップS1231の検証終了後、検証ECU12の車載LAN通信部1232は、被検証ECU13にセッション終了通知を送信する(1232D)。被検証ECU13の車載LAN通信部131は、検証ECU12からセッション終了通知を受信する(S131D)。
After completing the verification in step S1231, the in-vehicle
以下、図9を参照して本実施例の検証サーバ11が備える乱数生成部1121の構成を説明する。同図に示すように、本実施例の乱数生成部1121は、第1乱数生成部11211と、第2乱数生成部11212と、乱数連結部11213を含む。
Hereinafter, the configuration of the random
以下、図10を参照して上述の乱数生成部1121の動作を説明する。第1乱数生成部11211は、第1乱数を生成する(S11211)。第2乱数生成部11212は、第2乱数を生成する(S11212)。乱数連結部11213は、第1乱数と第2乱数を連結して第3乱数を生成する(S11213)。第3乱数は検証サーバ11において期待値を生成するために用いられ、被検証ECU13においてレスポンスを生成するために用いられる。乱数生成部1121の動作の詳細については、図15を参照して後述する。
Hereinafter, the operation of the random
以下、図11を参照して本実施例の検証サーバ11が備える期待値生成部1122の構成を説明する。同図に示すように、本実施例の期待値生成部1122は、乱数調整部11221と、第1生成値計算部11222と、第2生成値計算部11223と、第1部分生成値取得部11224と、第2部分生成値取得部11225と、部分生成値連結部11226を含む。
Hereinafter, the configuration of the expected
まず乱数調整部11221は、第1乱数、第2乱数のいずれか、または両方が記憶部111内に再現されている主記憶部(すなわち、被検証ECU主記憶部1111)の最後のアドレス番号より大きい場合、該当する乱数のmodを計算し、計算結果を新たな第1乱数、第2乱数とする(S11221A)。ステップS11221Aを実行することにより、二つの乱数が何れも記憶部111内に再現された主記憶部の最後のアドレス番号よりも小さな値となる。
First, the random
次に乱数調整部11221は、第1乱数と第2乱数の大小関係に応じて、乱数の定義を交換する(S11221B)。具体的には、第1乱数よりも第2乱数の方が大きな値である場合には定義の交換を実行せず、第1乱数よりも第2乱数の方が小さな値である場合には定義の交換を実行し、ステップS11221B終了後に第1乱数が第2乱数よりも小さな値となるように調整する。
Next, the random
次に、第1生成値計算部11222は、記憶部111の被検証ECU主記憶部1111の記憶内容のうち、第1乱数に対応するアドレス番号から第2乱数に対応するアドレス番号までの記憶内容のハッシュ値を検証側第1生成値として計算する(S11222)。
Next, the first generated
次に、第2生成値計算部11223は、記憶部111の被検証ECU主記憶部1111の記憶内容のうち、検証側第1生成値の計算に用いなかった記憶内容のハッシュ値を検証側第2生成値として計算する(S11223)。
Next, the second generated
次に、第1部分生成値取得部11224は、検証側第1生成値のうち所定のビット(例えば32ビット)を抜き出して、検証側第1部分生成値を取得する(S11224)。
Next, the first partial generation
次に、第2部分生成値取得部11225は、検証側第2生成値のうち所定のビット(例えば32ビット)を抜き出して、検証側第2部分生成値を取得する(S11225)。
Next, the second partial generation
次に、部分生成値連結部11226は、検証側第1部分生成値と検証側第2部分生成値を連結して、期待値を生成する(S11226)。
Next, the partial generation
レスポンスは期待値と同様の手順で生成される。従って、被検証ECU13のレスポンス生成部132は、上述した期待値生成部1122と同様の構成を有し、同様の動作を実行する。以下、図13を参照して、本実施例の被検証ECU13が備えるレスポンス生成部132の構成を説明する。
The response is generated in the same procedure as the expected value. Accordingly, the
同図に示すように、本実施例のレスポンス生成部132は、乱数調整部1321と、第1生成値計算部1322と、第2生成値計算部1323と、第1部分生成値取得部1324と、第2部分生成値取得部1325と、部分生成値連結部1326を含む。
As shown in the figure, the
以下、図14を参照してレスポンス生成部132の動作を説明する。まず、乱数調整部1321は、ステップS11221A、S11221Bと同様に、第1乱数、第2乱数の調整を実行する(S1321A、S1321B)。
Hereinafter, the operation of the
次に、第1生成値計算部1322は、主記憶部133の記憶内容のうち、第1乱数に対応するアドレス番号から第2乱数に対応するアドレス番号までの記憶内容のハッシュ値を被検証側第1生成値として計算する(S1322)。
Next, the first generated
次に、第2生成値計算部1323は、主記憶部133の記憶内容のうち、被検証側第1生成値の計算に用いなかった記憶内容のハッシュ値を被検証側第2生成値として計算する(S1323)。
Next, the second generated
次に、第1部分生成値取得部1324は、被検証側第1生成値のうち所定のビット(例えば32ビット)を抜き出して、被検証側第1部分生成値を取得する(S1324)。
Next, the first partial generation
次に、第2部分生成値取得部1325は、被検証側第2生成値のうち所定のビット(例えば32ビット)を抜き出して、被検証側第2部分生成値を取得する(S1325)。
Next, the second partial generation
次に、部分生成値連結部1326は、被検証側第1部分生成値と被検証側第2部分生成値を連結して、レスポンスを生成する(S1326)。
Next, the partial generation
以下、上述の動作を図15、図16、図17のコード例の記載に合わせて再度説明する。CANは1メッセージのペイロード長が最大64ビットであるから、上述の一連の動作をCANにおいて適用すれば図15のコード例とすることができる。図16、図17は、ハッシュ値を計算するためのRandomly Dimidiated Hash(RDH)関数のコード例であって、上述のステップS11221(S1321)、S11222(S1322)、S11223(S1323)に対応するコードである。RDH関数は従来から汎用的に用いられている関数ではなく、本実施例の改竄検知システム1の動作を実現するために作られた関数である。
Hereinafter, the above-described operation will be described again in accordance with the description of the code examples in FIGS. 15, 16, and 17. Since the payload length of one message is 64 bits at maximum, the code example shown in FIG. 15 can be obtained by applying the above-described series of operations to the CAN. FIGS. 16 and 17 are code examples of a Randomly Dimidiated Hash (RDH) function for calculating a hash value, and are codes corresponding to steps S11221 (S1321), S11222 (S1322), and S11223 (S1323) described above. is there. The RDH function is not a function that has been conventionally used for general purposes, but is a function created to realize the operation of the
図15の1行目において、S(検証サーバ11)は、32ビットの第1乱数r0、同じく32ビットの第2乱数r1を生成する(上述のステップS11211、S11212)。 In the first line of FIG. 15, S (verification server 11) generates a 32-bit first random number r 0 and a 32-bit second random number r 1 (steps S11211 and S11212 described above).
同図の2行目において、S(検証サーバ11)は、第1乱数r0と第2乱数r1を連結して第3乱数rを生成する(上述のステップS11213)。 In the second line of the figure, S (validation server 11) is connected to the first random number r 0 the second random number r 1 to produce a third random number r (the aforementioned step S11213).
同図の3行目において、S(検証サーバ11)は、第3乱数rと、被検証ECU主記憶部1111の記憶内容memorypを用いてRDH関数を演算し、検証側第1生成値exp0と、検証側第2生成値exp1を計算する(上述のステップS11221、S11222、S11223)。
In the third line of the figure, S (verification server 11) computes the RDH function using the third random number r and the stored content memory p of the ECU
同図の4行目において、S(検証サーバ11)は、検証側第1生成値exp0と、検証側第2生成値exp1のうち32ビットを抜き出して、検証側第1部分生成値exp’0と、検証側第2部分生成値exp’1を取得する(上述のステップS11224、S11225)。 In the fourth line of the figure, S (verification server 11) extracts 32 bits from the verification-side first generation value exp 0 and the verification-side second generation value exp 1 to verify the verification-side first partial generation value exp. ' 0 and the verification-side second partial generation value exp' 1 are acquired (steps S11224 and S11225 described above).
同図の5行目において、S(検証サーバ11)は、検証側第1部分生成値exp’0と検証側第2部分生成値exp’1を連結して、期待値Expected Valueを生成する(上述のステップS11226)。 In the fifth line of FIG. 5, S (verification server 11) concatenates the verification-side first partial generation value exp ′ 0 and the verification-side second partial generation value exp ′ 1 to generate an expected value Expected Value ( Step S11226 described above.
同図の6行目において、S(検証サーバ11)は、V(検証ECU12)に対し、第3乱数rと期待値Expected Valueを送信する(上述のステップS113C)。 In the sixth line of the figure, S (verification server 11) transmits a third random number r and an expected value Expected Value to V (verification ECU 12) (step S113C described above).
同図の7行目において、V(検証ECU12)は、P(被検証ECU13)に対し、第3乱数rを送信する(上述のステップS1232B)。 In the seventh line of FIG. 8, V (verification ECU 12) transmits the third random number r to P (verified ECU 13) (step S1232B described above).
同図の8行目において、V(検証ECU12)は、T1に第3乱数rの送信時刻current timeを記録する。この動作は、例えば車載LAN通信部1232が実行することとしてもよい。この場合、8行目の動作は、上述のステップS1232Bの一部として実行される。
In
同図の9行目において、P(被検証ECU13)は、第3乱数rと、主記憶部133の記憶内容memorypを用いてRDH関数を演算し、被検証側第1生成値res0と、被検証側第2生成値res1を計算する(上述のステップS1321、S1322、S1323)。
In the ninth line of the figure, P (verified ECU 13) calculates the RDH function using the third random number r and the stored content memory p of the
同図の10行目において、P(被検証ECU13)は、被検証側第1生成値res0と、被検証側第2生成値res1のうち32ビットを抜き出して、被検証側第1部分生成値res’0と、被検証側第2部分生成値res’1を取得する(上述のステップS1324、S1325)。 In the 10th line of the figure, the P (verified ECU 13) extracts 32 bits from the first verified value res 0 to be verified and the second generated value res 1 to be verified and extracts the first part to be verified. The generation value res ′ 0 and the second partial generation value res ′ 1 to be verified are acquired (steps S1324 and S1325 described above).
同図の11行目において、P(被検証ECU13)は、被検証側第1部分生成値res’0と被検証側第2部分生成値res’1を連結して、レスポンスResを生成する(上述のステップS1326)。 In the eleventh line of the figure, P (verified ECU 13) generates a response Res by connecting the verified first partial generated value res ′ 0 and the verified second partial generated value res ′ 1 ( Step S1326 described above.
同図の12行目において、P(被検証ECU13)は、V(検証ECU12)に対し、レスポンスResを送信する(上述のステップS131C)。 In the twelfth line of the figure, P (verified ECU 13) transmits a response Res to V (verification ECU 12) (step S131C described above).
同図の13行目において、V(検証ECU12)は、T2にレスポンスResの受信時刻current timeを記録する。この動作は、例えば車載LAN通信部1232が実行することとしてもよい。この場合、13行目の動作は、上述のステップS1232Cの一部として実行される。
In
同図の14行目において、V(検証ECU12)は、T2とT1の差分が閾値allowed time以下であるか否かを検証する。
In
同図の15行目において、14行目の検証の結果が正しくない場合、V(検証ECU12)は、処理を中断する。 In the 15th line in the figure, when the result of the verification in the 14th line is incorrect, V (verification ECU 12) interrupts the process.
同図の16行目において、V(検証ECU12)は、レスポンスResと期待値Expected Valueとが等しいか否かを検証する。 In the 16th line of the figure, V (verification ECU 12) verifies whether the response Res is equal to the expected value Expected Value.
同図の17行目において、V(検証ECU12)は、同図の16行目の検証結果を記憶する。 In the 17th line of the figure, V (verification ECU 12) stores the verification result of the 16th line of the figure.
14行目〜17行目までの動作は、例えばレスポンス検証部1231が実行することとしてもよい。この場合、14行目〜17行目の動作は、上述のステップS1231の一部として実行される。
The operations from the 14th line to the 17th line may be executed by the
図16は、期待値生成部1122が実行するRDH関数のコード例である。同図の1行目においてRDH関数への入力が定義される。RDH関数の入力として、第3乱数r、被検証ECU13の主記憶部133の記憶内容memoryが定義される。
FIG. 16 is a code example of the RDH function executed by the expected
同図の2行目において、RDH関数からの出力が定義される。RDH関数の出力として、使用されるハッシュ関数のレングスlen(Hash(・))を有する検証側第1生成値exp0と、検証側第2生成値exp1が定義される。 In the second line of the figure, the output from the RDH function is defined. As the output of the RDH function, a verification-side first generation value exp 0 and a verification-side second generation value exp 1 having a hash function length len (Hash (•)) to be used are defined.
同図の3〜4行目において、同図のコード例で使用される文字の意味が定義される。addrstartは、主記憶部の最初のアドレス番号という意味で用いられる。addrendは、主記憶部の最後のアドレス番号という意味で用いられる。mem[a,b]は、主記憶部のアドレス番号aからアドレス番号bまでの記憶内容という意味で用いられる。 In the third to fourth lines in the figure, the meanings of characters used in the code example in the figure are defined. addr start is used to mean the first address number of the main storage unit. addr end is used to mean the last address number of the main storage unit. mem [a, b] is used to mean the stored contents from address number a to address number b in the main memory.
同図の5行目において、S(検証サーバ11)は、第1乱数r0、第2乱数r1のいずれか、または両方が記憶部111内に再現されている主記憶部(すなわち、被検証ECU主記憶部1111)の最後のアドレス番号addrendより大きい場合、該当する乱数のmodを計算し(r0,r1 mod addrend)、計算結果を新たな第1乱数r0、第2乱数r1とする(上述のステップS11221A)。 In the fifth line of FIG. 5, S (verification server 11) determines that the main storage unit (that is, the target random number r 0 , the second random number r 1 , or both are reproduced in the storage unit 111). If it is larger than the last address number addr end of the verification ECU main memory unit 1111), the mod of the corresponding random number is calculated (r 0 , r 1 mod addr end ), and the calculation result is set as a new first random number r 0 , second The random number is r 1 (step S11221A described above).
同図の6行目において、S(検証サーバ11)は、第1乱数r0よりも第2乱数r1の方が小さな値である場合には定義の交換を実行する(上述のステップS11221B)。 In the sixth line of the figure, S (verification server 11) executes definition exchange when the second random number r 1 is smaller than the first random number r 0 (step S11221B described above). .
同図の7行目において、S(検証サーバ11)は、第1乱数r0に対応するアドレス番号から第2乱数r1に対応するアドレス番号までの記憶内容mem[r0,r1]のハッシュ値を検証側第1生成値exp0として計算する(上述のステップS11222)。 In the seventh line of FIG. 8, S (verification server 11) obtains the hash value of the stored content mem [r0, r1] from the address number corresponding to the first random number r 0 to the address number corresponding to the second random number r 1. Is calculated as the verification-side first generated value exp 0 (step S11222 described above).
同図の7行目において、S(検証サーバ11)は、検証側第1生成値exp0の計算に用いなかった記憶内容、すなわち In the seventh line of the figure, S (verification server 11) stores the storage contents that are not used in the calculation of the verification-side first generated value exp 0 , that is,
のハッシュ値を検証側第2生成値exp1として計算する(上述のステップS11223)。 Is calculated as the verification-side second generated value exp 1 (step S11223 described above).
図17は、レスポンス生成部132が実行するRDH関数のコード例であって、図16と同様である。具体的には、図17では、RDH関数の実行主体が、P(被検証ECU13)となっており、図16において検証側第1生成値exp0、検証側第2生成値exp1となっていた部分は、図17において被検証側第1生成値res0、被検証側第2生成値res1にそれぞれ置き換えられている。
FIG. 17 shows a code example of the RDH function executed by the
上述したように、RDH関数は主記憶部全体を乱数に従ってランダムなアドレス位置で2分割し、それぞれの領域のハッシュ値を計算する関数である。ハッシュ関数に対する入力長を短くし、計算時間を短くするために、乱数をハッシュ関数への入力とはせず、主記憶部のアドレスの指定に用いた。 As described above, the RDH function is a function that divides the entire main storage unit into two at random address positions according to random numbers and calculates the hash value of each area. In order to shorten the input length for the hash function and shorten the calculation time, the random number was not used as an input to the hash function, but was used for specifying the address of the main memory.
<効果>
上述したように、本実施例の改竄検知システム1は、主記憶部全体に対する改竄を検知できる。また、本実施例の改竄検知システム1によれば、レスポンスを偽造する手段として事前計算・リプレイ攻撃を利用することが事実上困難となっている。具体的には、本実施例においてはチャレンジが乱数であるため、事前計算は計算時間の観点から困難である。また、計算結果の格納はECUの主記憶部の容量の観点から困難である。
<Effect>
As described above, the
また、非特許文献1で用いられた関数ICEは、加算を用いて値を更新する際、最上位ビットの桁上がりを考慮していないという脆弱性が存在した。本実施例の改竄検知システム1は、この脆弱性を克服している。
Further, the function ICE used in
また、非特許文献1で用いられた関数ICEは、適用可能なプラットフォームが限定されるという弱点があった。本実施例の改竄検知システム1は、検証に用いるアルゴリズムをCPUのアーキテクチャに依存しない関数のみを用いて実現したため、上記の弱点を克服している。
Further, the function ICE used in
また、非特許文献1で用いられた関数ICEは、CPUのアーキテクチャに合わせて最適化し、最小のCPUサイクル数で実現する必要があるところ、自動車に搭載される数十から百数十のECUのCPU全てに対して上記を実現すれば、設計コストが膨大になるという弱点があった。本実施例の改竄検知システム1は、この弱点を克服している。
Further, the function ICE used in
以下、図18を参照して、検証サーバの機能を検証ECU内に取り込んだ、実施例2の改竄検知システム2について説明する。本実施例は、検証サーバとの頻繁な接続確立が困難な環境下において改竄を検知したい場合などに有効な構成例である。
Hereinafter, with reference to FIG. 18, the
本実施例の改竄検知システム2は、検証サーバ21と、検証ECU22と、複数の被検証ECU23−1、23−2、…を含む構成である。被検証ECU23については、実施例1と同様、特にその数量に制限はなく、その数量は自動車の仕様に応じて変動する。なお、以下の説明において被検証ECU23と表して枝番号を表示しない場合、該当の説明は本実施例の全ての被検証ECUに共通した説明であるものとする。
The
以下、図19を参照して本実施例の検証ECU22、被検証ECU23の構成を説明する。同図に示すように、本実施例の検証ECU22は、記憶部211と、計算部212と、通信部213と、ハードウェアセキュリティモジュール222と、検証部223を含む。本実施例の被検証ECU23は、通信部231と、レスポンス生成部232と、主記憶部233を含む。
Hereinafter, the configuration of the
以下、図20、21を参照して本実施例の検証ECU22、被検証ECU23の動作を説明する。記憶部211は、予め、被検証ECUの主記憶部の記憶内容を全て記憶している(S211)。ステップS211は、便宜上図20内に示されているものの、実際には後述の動作よりもかなり過去に実行される動作である。主記憶部233は、予めその空き領域を全て乱数でパディングしている(S233)。ステップS233も、便宜上図20内に示されているものの、実際には後述の動作よりもかなり過去(例えば製造工程)に実行される動作である。
Hereinafter, the operations of the
通信部213は、乱数を送信する(S213A、図21の3行目)。通信部231は、乱数を受信する(S231A、図21の3行目)。
The
レスポンス生成部232は、受信した乱数に基づいて主記憶部233を複数の領域に分割し、それぞれの領域に対する所定の演算結果からレスポンスを生成する(S232、図21の5〜7行目)。通信部231は、レスポンスを送信する(S231B、図21の8行目)。通信部213は、レスポンスを受信する(S213B、図21の8行目)。
The
計算部212は、送信した乱数に基づいて、記憶部211の記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する(S212、図21の12行目)。検証部223は、期待値とレスポンスを比較して検証する(S223、図21の12〜13行目)。
Based on the transmitted random number, the
検証ECU22を第1検証サーバ、検証サーバ21を第2検証サーバと呼ぶこととすると、本実施例において、第1検証サーバの各機能、特に被検証ECU23の主記憶部233は、不正に書き換えられないように何らかの保護対策を実施することが望ましい。例えば、第1検証サーバと第2検証サーバの記憶部および計算部の機能が一致しているか否かを定期的に検証することで、保護対策を実現してもよい。
If the
本実施例の改竄検知システム2によれば、検証サーバとの頻繁な接続確立が困難な環境下においても、実施例1と同様の効果を奏する。
According to the
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary note>
The apparatus of the present invention includes, for example, a single hardware entity as an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, and a communication device (for example, a communication cable) capable of communicating outside the hardware entity. Can be connected to a communication unit, a CPU (Central Processing Unit, may include a cache memory or a register), a RAM or ROM that is a memory, an external storage device that is a hard disk, and an input unit, an output unit, or a communication unit thereof , A CPU, a RAM, a ROM, and a bus connected so that data can be exchanged between the external storage devices. If necessary, the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device). Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。 In the hardware entity, each program stored in an external storage device (or ROM or the like) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU realizes a predetermined function (respective component requirements expressed as the above-described unit, unit, etc.).
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 As described above, when the processing functions in the hardware entity (the apparatus of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
Claims (8)
前記検証サーバは、
前記被検証ECUの主記憶部内の記憶内容を全て記憶した記憶部と、
乱数を生成し、生成した前記乱数に基づいて前記記憶部内の前記記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する計算部と、
前記検証ECUに、前記乱数と前記期待値を送信する車外WAN通信部を含み、
前記検証ECUは、
前記検証サーバが生成した前記乱数と前記期待値を受信する車外WAN通信部と、
前記検証サーバが生成した前記乱数を前記被検証ECUに送信し、前記被検証ECUからレスポンスを受信し、前記期待値と前記レスポンスを比較して検証する検証部を含み、
前記被検証ECUは、
前記検証サーバが生成した前記乱数を前記検証ECUから受信し、前記検証ECUに前記レスポンスを送信する車載LAN通信部と、
その空き領域を全て乱数でパディングした主記憶部と、
前記検証サーバが生成した前記乱数に基づいて、前記主記憶部を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から、前記レスポンスを生成するレスポンス生成部を含む
改竄検知システム。 A tamper detection system including a verification server, a verification ECU, and a verification ECU,
The verification server
A storage unit that stores all the stored contents in the main storage unit of the ECU to be verified;
A calculation unit that generates a random number, divides an area in which the storage content in the storage unit is stored based on the generated random number into a plurality of areas, and generates an expected value from a result of a predetermined calculation for each area When,
The verification ECU includes an external WAN communication unit that transmits the random number and the expected value,
The verification ECU
An external WAN communication unit that receives the random number and the expected value generated by the verification server;
A verification unit that transmits the random number generated by the verification server to the ECU to be verified, receives a response from the ECU to be verified, and compares the expected value with the response;
The ECU to be verified is
An in-vehicle LAN communication unit that receives the random number generated by the verification server from the verification ECU and transmits the response to the verification ECU;
A main memory unit that padded all the empty areas with random numbers;
An alteration detection system including a response generation unit that divides the main storage unit into a plurality of areas based on the random numbers generated by the verification server and generates the response from a result of a predetermined calculation for each area.
前記計算部は、
第1乱数と第2乱数を生成する乱数生成部と、
前記記憶部の前記記憶内容のうち、前記第1乱数に対応するアドレス番号から前記第2乱数に対応するアドレス番号までの前記記憶内容のハッシュ値を検証側第1生成値として計算し、前記検証側第1生成値の計算に用いなかった前記記憶内容のハッシュ値を検証側第2生成値として計算し、前記検証側第1生成値と前記検証側第2生成値のそれぞれの所定ビットを抜き出して、検証側第1部分生成値と検証側第2部分生成値を取得し、前記検証側第1部分生成値と前記検証側第2部分生成値を連結して期待値を生成する期待値生成部を含み、
前記レスポンス生成部は、
前記主記憶部の前記記憶内容のうち、前記第1乱数に対応するアドレス番号から前記第2乱数に対応するアドレス番号までの前記記憶内容のハッシュ値を被検証側第1生成値として計算し、前記被検証側第1生成値の計算に用いなかった前記記憶内容のハッシュ値を被検証側第2生成値として計算し、前記被検証側第1生成値と前記被検証側第2生成値のそれぞれの所定ビットを抜き出して、被検証側第1部分生成値と被検証側第2部分生成値を取得し、前記被検証側第1部分生成値と前記被検証側第2部分生成値を連結してレスポンスを生成する
改竄検知システム。 The falsification detection system according to claim 1,
The calculator is
A random number generator for generating a first random number and a second random number;
Among the stored contents of the storage unit, a hash value of the stored contents from an address number corresponding to the first random number to an address number corresponding to the second random number is calculated as a verification-side first generated value, and the verification The hash value of the stored content that was not used in the calculation of the first generation value on the side is calculated as the second generation value on the verification side, and predetermined bits of each of the first generation value on the verification side and the second generation value on the verification side are extracted Then, the verification side first partial generation value and the verification side second partial generation value are acquired, and the verification side first partial generation value and the verification side second partial generation value are connected to generate an expected value. Part
The response generator is
Of the stored contents of the main storage unit, the hash value of the stored contents from the address number corresponding to the first random number to the address number corresponding to the second random number is calculated as a first generation value to be verified, The hash value of the stored content that was not used for the calculation of the verification target first generation value is calculated as the verification target second generation value, and the verification target first generation value and the verification target second generation value are calculated. Each predetermined bit is extracted to obtain the first partial generated value to be verified and the second partial generated value to be verified, and the first partial generated value to be verified and the second partial generated value to be verified are connected. Tamper detection system that generates responses.
前記検証ECUは、
前記被検証ECUの主記憶部内の記憶内容を全て記憶した記憶部と、
乱数を送信し、レスポンスを受信する通信部と、
送信した前記乱数に基づいて前記記憶部内の前記記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する計算部と、
前記期待値と前記レスポンスを比較して検証する検証部を含み、
前記被検証ECUは、
前記検証ECUが送信した乱数を受信し、前記レスポンスを送信する通信部と、
その空き領域を全て乱数でパディングした主記憶部と、
受信した前記乱数に基づいて、前記主記憶部を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から前記レスポンスを生成するレスポンス生成部を含む
改竄検知システム。 A falsification detection system including a verification ECU and a verified ECU,
The verification ECU
A storage unit that stores all the stored contents in the main storage unit of the ECU to be verified;
A communication unit that sends random numbers and receives responses;
A calculation unit that divides an area in which the stored content in the storage unit is stored based on the transmitted random number into a plurality of areas, and generates an expected value from a result of a predetermined calculation for each area;
A verification unit that compares and compares the expected value and the response;
The ECU to be verified is
A communication unit that receives the random number transmitted by the verification ECU and transmits the response;
A main memory unit that padded all the empty areas with random numbers;
An alteration detection system including a response generation unit that divides the main storage unit into a plurality of regions based on the received random number and generates the response from a result of a predetermined calculation for each region.
前記検証ECUが送信する前記乱数は、第1乱数と第2乱数とを連結した第3乱数であるものとし、
前記計算部は、
前記記憶部の前記記憶内容のうち、前記第1乱数に対応するアドレス番号から前記第2乱数に対応するアドレス番号までの前記記憶内容のハッシュ値を検証側第1生成値として計算し、前記検証側第1生成値の計算に用いなかった前記記憶内容のハッシュ値を検証側第2生成値として計算し、前記検証側第1生成値と前記検証側第2生成値のそれぞれの所定ビットを抜き出して、検証側第1部分生成値と検証側第2部分生成値を取得し、前記検証側第1部分生成値と前記検証側第2部分生成値を連結して期待値を生成し、
前記レスポンス生成部は、
前記主記憶部の前記記憶内容のうち、前記第1乱数に対応するアドレス番号から前記第2乱数に対応するアドレス番号までの前記記憶内容のハッシュ値を被検証側第1生成値として計算し、前記被検証側第1生成値の計算に用いなかった前記記憶内容のハッシュ値を被検証側第2生成値として計算し、前記被検証側第1生成値と前記被検証側第2生成値のそれぞれの所定ビットを抜き出して、被検証側第1部分生成値と被検証側第2部分生成値を取得し、前記被検証側第1部分生成値と前記被検証側第2部分生成値を連結してレスポンスを生成する
改竄検知システム。 The falsification detection system according to claim 3,
The random number transmitted by the verification ECU is a third random number obtained by concatenating the first random number and the second random number,
The calculator is
Among the stored contents of the storage unit, a hash value of the stored contents from an address number corresponding to the first random number to an address number corresponding to the second random number is calculated as a verification-side first generated value, and the verification The hash value of the stored content that was not used in the calculation of the first generation value on the side is calculated as the second generation value on the verification side, and predetermined bits of each of the first generation value on the verification side and the second generation value on the verification side are extracted Obtaining a verification-side first partial generation value and a verification-side second partial generation value, concatenating the verification-side first partial generation value and the verification-side second partial generation value, and generating an expected value,
The response generator is
Of the stored contents of the main storage unit, the hash value of the stored contents from the address number corresponding to the first random number to the address number corresponding to the second random number is calculated as a first generation value to be verified, The hash value of the stored content that was not used for the calculation of the verification target first generation value is calculated as the verification target second generation value, and the verification target first generation value and the verification target second generation value are calculated. Each predetermined bit is extracted to obtain the first partial generated value to be verified and the second partial generated value to be verified, and the first partial generated value to be verified and the second partial generated value to be verified are connected. Tamper detection system that generates responses.
その空き領域を全て乱数でパディングした前記被検証ECUの主記憶部全体の期待値を生成する計算部と、
前記期待値と前記被検証ECUから取得したレスポンスを比較して、前記主記憶部全体を検証する検証部を含み、
前記乱数は所定の出現確率の条件と所定の独立性の条件と所定の周期性の条件を充たす乱数である
検証ECU。 A verification ECU for verifying the ECU to be verified,
A calculation unit that generates an expected value of the entire main storage unit of the ECU to be verified, in which all the empty areas are padded with random numbers;
Comparing the expected value and the response acquired from the ECU to be verified, including a verification unit that verifies the entire main storage unit,
The verification ECU, wherein the random number is a random number that satisfies a predetermined condition for appearance probability, a predetermined independence condition, and a predetermined periodicity condition.
前記主記憶部内の記憶内容を全て記憶した記憶部と、
前記被検証ECUに乱数を送信し、前記被検証ECUから前記レスポンスを受信する通信部を含み、
前記計算部は、
送信した前記乱数に基づいて前記記憶部内の前記記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から前記期待値を生成する
検証ECU。 A verification ECU according to claim 5,
A storage unit storing all the storage contents in the main storage unit;
A communication unit that transmits a random number to the ECU to be verified and receives the response from the ECU to be verified;
The calculator is
A verification ECU that divides an area in which the stored content in the storage unit is stored based on the transmitted random number into a plurality of areas and generates the expected value from a result of a predetermined calculation for each area.
被検証ECU。 An ECU to be verified, which is a padding of all the empty areas in the main storage unit with random numbers, and the random numbers satisfy a predetermined condition of appearance probability, a predetermined independence condition, and a predetermined periodicity condition.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016221320A JP6712538B2 (en) | 2016-11-14 | 2016-11-14 | Tamper detection system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016221320A JP6712538B2 (en) | 2016-11-14 | 2016-11-14 | Tamper detection system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018081349A true JP2018081349A (en) | 2018-05-24 |
JP6712538B2 JP6712538B2 (en) | 2020-06-24 |
Family
ID=62198169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016221320A Active JP6712538B2 (en) | 2016-11-14 | 2016-11-14 | Tamper detection system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6712538B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020145279A1 (en) | 2019-01-10 | 2020-07-16 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | On-vehicle information processing device, user terminal, information processing method, and program |
WO2020153122A1 (en) | 2019-01-21 | 2020-07-30 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Vehicle security monitoring device, method, and program |
JP2020129332A (en) * | 2019-02-12 | 2020-08-27 | 日立オートモティブシステムズ株式会社 | Electronic control system for automobile |
WO2021044529A1 (en) * | 2019-09-03 | 2021-03-11 | 日本電信電話株式会社 | Verification device, verification system, verification method, and verification program |
GB2592924A (en) | 2020-03-10 | 2021-09-15 | Daimler Ag | Method for detecting a fraud device in a communication network of a vehicle |
CN113613250A (en) * | 2021-07-22 | 2021-11-05 | 上汽通用五菱汽车股份有限公司 | Bluetooth vehicle control method, system and computer readable storage medium |
WO2023148951A1 (en) * | 2022-02-07 | 2023-08-10 | 日本電気株式会社 | Information communication system, information communication method, and recording medium |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11285582A (en) * | 1998-04-03 | 1999-10-19 | Pa Net Gijutsu Kenkyusho:Kk | Game machine monitoring system |
JP2005085188A (en) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | Program protection method, program protection program, and program protection device |
WO2008056700A1 (en) * | 2006-11-09 | 2008-05-15 | Panasonic Corporation | Falsification detecting system, falsification detecting method, falsification detecting program, recording medium, integrated circuit, authentication information generating device and falsification detecting device |
JP2010251877A (en) * | 2009-04-13 | 2010-11-04 | Hitachi Kokusai Electric Inc | Signature device |
JP2014151720A (en) * | 2013-02-06 | 2014-08-25 | Toyota Motor Corp | Tampering detection system and electronic control unit |
WO2015041161A1 (en) * | 2013-09-20 | 2015-03-26 | 国立大学法人名古屋大学 | Rewrite detection system, rewrite detection device, and information processing device |
JP2016167113A (en) * | 2015-03-09 | 2016-09-15 | 富士重工業株式会社 | On-vehicle control unit |
-
2016
- 2016-11-14 JP JP2016221320A patent/JP6712538B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11285582A (en) * | 1998-04-03 | 1999-10-19 | Pa Net Gijutsu Kenkyusho:Kk | Game machine monitoring system |
JP2005085188A (en) * | 2003-09-11 | 2005-03-31 | Fujitsu Ltd | Program protection method, program protection program, and program protection device |
WO2008056700A1 (en) * | 2006-11-09 | 2008-05-15 | Panasonic Corporation | Falsification detecting system, falsification detecting method, falsification detecting program, recording medium, integrated circuit, authentication information generating device and falsification detecting device |
JP2010251877A (en) * | 2009-04-13 | 2010-11-04 | Hitachi Kokusai Electric Inc | Signature device |
JP2014151720A (en) * | 2013-02-06 | 2014-08-25 | Toyota Motor Corp | Tampering detection system and electronic control unit |
WO2015041161A1 (en) * | 2013-09-20 | 2015-03-26 | 国立大学法人名古屋大学 | Rewrite detection system, rewrite detection device, and information processing device |
JP2016167113A (en) * | 2015-03-09 | 2016-09-15 | 富士重工業株式会社 | On-vehicle control unit |
Non-Patent Citations (1)
Title |
---|
伊豆 哲也: "墨塗り署名方式の比較", 第68回(平成18年)全国大会講演論文集(1) アーキテクチャ ソフトウェア科学・工学, JPN6020009476, 7 March 2006 (2006-03-07), pages 1 - 181, ISSN: 0004231702 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7229783B2 (en) | 2019-01-10 | 2023-02-28 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | In-vehicle information processing device, vehicle information communication system, information processing method and program |
JP2020112994A (en) * | 2019-01-10 | 2020-07-27 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | On-vehicle information processing device, user terminal, information processing method, and program |
CN113272794A (en) * | 2019-01-10 | 2021-08-17 | Ntt通信公司 | In-vehicle information processing device, user terminal, information processing method, and program |
WO2020145279A1 (en) | 2019-01-10 | 2020-07-16 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | On-vehicle information processing device, user terminal, information processing method, and program |
WO2020153122A1 (en) | 2019-01-21 | 2020-07-30 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Vehicle security monitoring device, method, and program |
JP2020129332A (en) * | 2019-02-12 | 2020-08-27 | 日立オートモティブシステムズ株式会社 | Electronic control system for automobile |
WO2021044529A1 (en) * | 2019-09-03 | 2021-03-11 | 日本電信電話株式会社 | Verification device, verification system, verification method, and verification program |
JPWO2021044529A1 (en) * | 2019-09-03 | 2021-03-11 | ||
AU2019464433B2 (en) * | 2019-09-03 | 2023-04-20 | Nippon Telegraph And Telephone Corporation | Verification device, verification system, verification method, and verification program |
JP7327490B2 (en) | 2019-09-03 | 2023-08-16 | 日本電信電話株式会社 | Verification device, verification system, verification method and verification program |
GB2592924A (en) | 2020-03-10 | 2021-09-15 | Daimler Ag | Method for detecting a fraud device in a communication network of a vehicle |
CN113613250A (en) * | 2021-07-22 | 2021-11-05 | 上汽通用五菱汽车股份有限公司 | Bluetooth vehicle control method, system and computer readable storage medium |
WO2023148951A1 (en) * | 2022-02-07 | 2023-08-10 | 日本電気株式会社 | Information communication system, information communication method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP6712538B2 (en) | 2020-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6712538B2 (en) | Tamper detection system | |
JP6773617B2 (en) | Update controller, software update system and update control method | |
JP5310761B2 (en) | Vehicle network system | |
CN109314639B (en) | Management system, key generation device, vehicle-mounted computer, management method, and recording medium | |
KR100917601B1 (en) | Method and attestation system for preventing attestation relay attack | |
TW201732669A (en) | Controlled secure code authentication | |
JP6190443B2 (en) | In-vehicle computer system, vehicle, management method, and computer program | |
KR102639075B1 (en) | Diagnostics device for vehicle and method of managing certificate thereof | |
US11791984B2 (en) | Local ledger block chain for secure updates | |
US11128474B2 (en) | Secure device communication | |
US11212109B2 (en) | Data provision system, data security device, data provision method, and computer program | |
TW201735578A (en) | Controlled secure code authentication | |
CN110795126A (en) | Firmware safety upgrading system | |
US11397814B2 (en) | Local ledger block chain for secure electronic control unit updates | |
JP5861597B2 (en) | Authentication system and authentication method | |
JP6387908B2 (en) | Authentication system | |
Mansor et al. | Don't brick your car: firmware confidentiality and rollback for vehicles | |
JP5718373B2 (en) | Method for inspecting a memory block of a non-volatile memory | |
Petri et al. | Evaluation of lightweight TPMs for automotive software updates over the air | |
CN113138775A (en) | Firmware protection method and system for vehicle-mounted diagnosis system | |
CN111381846A (en) | Data verification method for electronic controller safe refreshing | |
US20230205887A1 (en) | Secure automotive system | |
Shipman et al. | A Zero Trust Architecture for Automotive Networks | |
Mousa et al. | A lightweight-X-authentication protocol over automotive gateway | |
Nasser et al. | Safety-driven cyber security engineering approach applied to OTA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190903 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200317 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200511 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200526 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200601 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6712538 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |