JP2018081349A - Falsification detection system, verification ecu, ecu to be verified, program - Google Patents

Falsification detection system, verification ecu, ecu to be verified, program Download PDF

Info

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
Application number
JP2016221320A
Other languages
Japanese (ja)
Other versions
JP6712538B2 (en
Inventor
卓麻 小山
Takuma Koyama
卓麻 小山
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016221320A priority Critical patent/JP6712538B2/en
Publication of JP2018081349A publication Critical patent/JP2018081349A/en
Application granted granted Critical
Publication of JP6712538B2 publication Critical patent/JP6712538B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a falsification detection system with improved security against illegal codes.SOLUTION: A verification server comprises a storage unit that stores all contents stored in a main storage unit of an ECU to be verified, a calculation unit for generating a random number and an expected value, and an out-of-vehicle WAN communication unit for transmitting the random number and the expected value to a verification ECU. The verification ECU comprises the out-of-vehicle WAN communication unit, and a verification unit for transmitting the random number to the ECU to be verified to receive a response from the ECU to be verified to compare the expected value with the response for verification. The ECU to be verified comprises an on-vehicle LAN communication unit for receiving the random number from the verification ECU and transmits a response to the verification ECU, a main storage unit in which all the free areas are padded with random numbers, and a response generation unit for generating a response.SELECTED DRAWING: Figure 3

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 Document 1 discloses an authentication and key sharing method between a verification ECU that incorporates a tamper-resistant device and a verification ECU that does not have tamper-resistance. Note that having tamper resistance refers to a state in which physical measures are taken so that the internal structure and stored data of a physical device are not analyzed by a third party, or are not analyzed nondestructively.

非特許文献1において、検証ECUはレスポンスの期待値を算出するために被検証ECUのソフトウェアデータを記憶している。そして被検証ECUは自身の主記憶部に記憶されたソフトウェアデータをチェックサム関数Indisputable Code Execution(ICE)と暗号学的ハッシュ関数に入力してレスポンスを生成する。関数ICEは主記憶部のソフトウェアデータだけでなくCPUのプログラムカウンタやステータスレジスタの値を参照することで、ソフトウェアのデータ改竄だけでなく、データが主記憶部の別のアドレス位置に書き換えられていないかまで検証できる。   In Non-Patent Document 1, the verification ECU stores software data of the ECU to be verified in order to calculate the expected value of the response. Then, the verified ECU inputs the software data stored in its own main storage unit to the checksum function Indisputable Code Execution (ICE) and the cryptographic hash function, and generates a response. The function ICE refers not only to the software data in the main memory unit but also to the values of the CPU program counter and status register, so that the data is not rewritten to another address position in the main memory unit as well as the software data tampering. Can be verified.

具体的には、関数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.

Debojyoti Bhattacharya, Sriram Subramanian Neelakantan, Jamshid Shokrollahi, Hans Loehr: “Bootstrapping trust in automotive networks with different types of ECUs”, 14th escar Europe - The world's leading Automotive Cyber Security conference, November 16-17, 2014Debojyoti Bhattacharya, Sriram Subramanian Neelakantan, Jamshid Shokrollahi, Hans Loehr: “Bootstrapping trust in automotive networks with different types of ECUs”, 14th escar Europe-The world's leading Automotive Cyber Security conference, November 16-17, 2014

図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.

従来技術における問題点の一つを例示する図。The figure which illustrates one of the problems in a prior art. 本発明における検証範囲と主記憶部の状態を説明する図。The figure explaining the verification range in this invention, and the state of a main memory part. 実施例1の改竄検知システムの構成を示すブロック図。1 is a block diagram illustrating a configuration of a falsification detection system according to a first embodiment. 実施例1の検証サーバの構成を示すブロック図。FIG. 3 is a block diagram illustrating a configuration of a verification server according to the first embodiment. 実施例1の検証ECUの構成を示すブロック図。FIG. 2 is a block diagram illustrating a configuration of a verification ECU according to the first embodiment. 実施例1の被検証ECUの構成を示すブロック図。FIG. 2 is a block diagram illustrating a configuration of an ECU to be verified according to the first embodiment. 実施例1の検証サーバと検証ECUの動作を示すシーケンス図。The sequence diagram which shows operation | movement of the verification server and verification ECU of Example 1. FIG. 実施例1の検証ECUと被検証ECUの動作を示すシーケンス図。FIG. 3 is a sequence diagram illustrating operations of a verification ECU and a verification target ECU according to the first embodiment. 実施例1の検証サーバの乱数生成部の構成を示すブロック図。FIG. 3 is a block diagram illustrating a configuration of a random number generation unit of the verification server according to the first embodiment. 実施例1の検証サーバの乱数生成部の動作を示すフローチャート。6 is a flowchart illustrating an operation of a random number generation unit of the verification server according to the first embodiment. 実施例1の検証サーバの期待値生成部の構成を示すブロック図。FIG. 3 is a block diagram illustrating a configuration of an expected value generation unit of the verification server according to the first embodiment. 実施例1の検証サーバの期待値生成部の動作を示すフローチャート。6 is a flowchart illustrating an operation of an expected value generation unit of the verification server according to the first embodiment. 実施例1の被検証ECUのレスポンス生成部の構成を示すブロック図。FIG. 3 is a block diagram illustrating a configuration of a response generation unit of the ECU to be verified according to the first embodiment. 実施例1の被検証ECUのレスポンス生成部の動作を示すフローチャート。6 is a flowchart illustrating an operation of a response generation unit of the ECU to be verified according to the first embodiment. 実施例1の改竄検知システムが実行する処理のコード例。7 is a code example of processing executed by the falsification detection system according to the first embodiment. 実施例1の期待値生成部が実行するRDH関数のコード例。7 is a code example of an RDH function executed by an expected value generation unit according to the first embodiment. 実施例1のレスポンス生成部が実行するRDH関数のコード例。7 is a code example of an RDH function executed by the response generation unit according to the first embodiment. 実施例2の改竄検知システムの構成を示すブロック図。The block diagram which shows the structure of the tampering detection system of Example 2. FIG. 実施例2の検証ECUと被検証ECUの構成を示すブロック図。The block diagram which shows the structure of verification ECU of Example 2, and to-be-verified ECU. 実施例2の検証ECUと被検証ECUの動作を示すシーケンス図。FIG. 6 is a sequence diagram illustrating operations of a verification ECU and a verification target ECU according to a second embodiment. 実施例2の改竄検知システムが実行する処理のコード例。10 is a code example of processing executed by the falsification detection system according to the second embodiment.

以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。   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 falsification detection system 1 according to the first embodiment will be described below with reference to FIG. As shown in FIG. 3, the falsification detection system 1 according to the present embodiment includes a verification server 11, a verification ECU 12, and a plurality of verification target ECUs 13-1, 13-2,. Only two ECUs 13 to be verified are shown in the figure (the ECU 13-1 to be verified and the ECU 13-2 to be verified). However, the number is not particularly limited, and the number varies depending on the specification of the automobile. In the following description, when the branch number is not displayed as the verified ECU 13, the corresponding description is assumed to be common to all the verified ECUs of the present embodiment.

検証サーバ11と検証ECU12は、例えば車外WANによって通信可能とされている。検証サーバ11と検証ECU12間は、第三者からの盗聴や改竄を受けない安全な通信路において無線あるいは有線接続される。安全な通信路の確保には従来技術を用いればよい。例えば無線通信であればWPA2やTLC(RFC5246)などを適切に組み合わせればよい。そのため、検証サーバ11側の検証ECU12との通信部、および検証ECU12側の検証サーバ11との通信部は安全な通信路を確立するための通信方式が実装されている必要がある。   The verification server 11 and the verification ECU 12 can communicate with each other by, for example, an external WAN. The verification server 11 and the verification ECU 12 are wirelessly or wiredly connected via a secure communication path that is not subject to wiretapping or tampering by a third party. Conventional technology may be used to secure a safe communication path. For example, in the case of wireless communication, WPA2 and TLC (RFC5246) may be combined appropriately. For this reason, a communication method for establishing a safe communication path needs to be implemented in the communication unit with the verification ECU 12 on the verification server 11 side and the communication unit with the verification server 11 on the verification ECU 12 side.

本実施例では、検証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 verification ECU 12 and the verified ECU 13 are both installed in the vehicle of the automobile, and the verification ECU 12 and the verified ECU 13 can communicate with each other via, for example, an in-vehicle LAN. The in-vehicle LAN is shown as bus-type connection wiring simulating an in-vehicle network protocol CAN (Controller Area Network) used for communication between ECUs in a modern in-vehicle system. The communication method between the verification ECU 12 and the ECU to be verified 13 of the present embodiment is not limited to a bus-type in-vehicle system configured by CAN. However, it is desirable that communication between the verification ECU 12 and the ECU 13 to be verified can be performed directly. In other words, in the in-vehicle LAN according to the present embodiment, it is preferable not to adopt a network topology in which a verification message from the verification ECU 12 cannot reach the target ECU 13 without passing through another ECU 13 to be verified. In a modern in-vehicle system, a sub-network may be constructed by a plurality of CANs. For this reason, it is desirable that the function of the verification ECU 12 is performed by the gateway ECU connected to all the CAN sub-networks.

以下、図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 verification server 11 of this embodiment will be described with reference to FIG. As shown in the figure, the verification server 11 of this embodiment includes a storage unit 111, a calculation unit 112, and an out-of-vehicle WAN communication unit 113. The storage unit 111 includes a verified ECU main storage unit 1111, a random number / expected value storage unit 1112, and a verification result storage unit 1113. The calculation unit 112 includes a random number generation unit 1121, an expected value generation unit 1122, and a verification result confirmation unit 1123. As a premise, it is assumed that each function in the verification server 11 is guaranteed to be secure.
Verifyed ECU main storage unit 1111: The verification server 11 has a verified ECU main storage unit 1111 that is an area that stores all the storage contents (software and random number data described later) of the main storage unit 133 of the verified ECU 13. Naturally, the to-be-verified ECU main storage unit 1111 stores legitimate software and random numbers that have not been tampered with by a third party.
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 number generation unit 1121 has a function of generating a random number (used as a verification challenge).
Expected value generation unit 1122: has a function of generating an expected value used for verifying the integrity of the verified ECU 13 based on the generated random number and the verified ECU main storage unit 1111. Specifically, the expected value generation unit 1122 divides an area (stored ECU main storage unit 1111) in which the storage content in the storage unit 111 is stored based on the generated random number into a plurality of areas, An expected value is generated from the result of a predetermined operation on the area. Details of the operation of the expected value generation unit 1122 will be described later.
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 verification ECU 12, and a function of receiving a verification result from the verification ECU 12. As described above, the conventional technique for establishing safe communication with the verification ECU 12 is implemented in the outside-vehicle WAN communication unit 113.

以下、図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 verification ECU 12 of this embodiment will be described with reference to FIG. As shown in the figure, the verification ECU 12 of this embodiment includes an out-of-vehicle WAN communication unit 121, a hardware security module 122, and a verification unit 123. The hardware security module 122 includes a random number / expected value storage unit 1221 and a verification result storage unit 1222. The verification unit 123 includes a response verification unit 1231 and an in-vehicle LAN communication unit 1232.
Outside-vehicle WAN communication unit 121: has a function of receiving a random number (challenge) and an expected value from the verification server 11, and a function of transmitting a verification result to the verification server 11. As described above, the conventional technique for establishing safe communication with the verification server 11 is implemented in the external WAN communication unit 121.
Random number / expected value storage unit 1221: It has a function of storing a random number and an expected value received from the verification server 11.
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 verification server 11 matches the response received from the ECU 13 to be verified.
In-vehicle LAN communication unit 1232: has a function of transmitting a random number (challenge) to the ECU 13 to be verified and a function of receiving a response from the ECU 13 to be verified.

乱数、期待値および検証結果の改竄を困難にするために、検証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 value storage unit 1221 and the verification result storage unit 1222 of the verification ECU 12 are hardware security modules (HSM) or devices having tamper resistance equivalent to HSM. It is desirable to be realized by. In addition, when the verification ECU 12 is falsified, it is desirable to verify the integrity of the verification ECU 12 itself by a technique such as secure boot using HSM so that an invalid verification result can be transmitted to the verification server 11. .

以下、図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 ECU 13 to be verified according to this embodiment will be described with reference to FIG. As shown in the figure, the verified ECU 13 of this embodiment includes an in-vehicle LAN communication unit 131, a response generation unit 132, and a main storage unit 133.
In-vehicle LAN communication unit 131: has a function of receiving a random number (challenge) from the verification ECU 12 and a function of transmitting a response to the verification ECU 12.
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. Specifically, the response generation unit 132 divides the main storage unit 133 into a plurality of areas based on the random numbers generated by the verification server 11, and generates a response from the result of a predetermined calculation for each area. Details of the operation of the response generation unit 132 will be described later.
Main storage unit 133: has a function of storing its own software (commands, data) and random numbers. The main storage unit 133 can be realized by an EEPROM or a flash memory. As described above, it is assumed that all free areas of the main storage unit 133 are previously padded with high-quality random numbers.

以下、図7を参照して本実施例の検証サーバ11と検証ECU12の動作を説明する。まず、検証サーバ11の乱数生成部1121は、事前に任意のタイミングで乱数(チャレンジ)を生成する(S1121)。乱数生成動作の詳細については、図9、図10を参照して後述する。   Hereinafter, the operations of the verification server 11 and the verification ECU 12 of this embodiment will be described with reference to FIG. First, the random number generation unit 1121 of the verification server 11 generates a random number (challenge) at an arbitrary timing in advance (S1121). Details of the random number generation operation will be described later with reference to FIGS.

同様に、検証サーバ11の期待値生成部1122は、事前に任意のタイミングで乱数に対応する期待値を生成する(S1122)。期待値生成動作の詳細については、図11、図12を参照して後述する。   Similarly, the expected value generation unit 1122 of the verification server 11 generates an expected value corresponding to the random number at an arbitrary timing in advance (S1122). Details of the expected value generation operation will be described later with reference to FIGS. 11 and 12.

次に、検証サーバ11の車外WAN通信部113は、検証対象である自動車の検証ECU12に対して検証を実施するためのセッション開始要求を送信する(S113A)。検証ECU12の車外WAN通信部121は、検証サーバ11からセッション開始要求を受信する(S121A)。   Next, the external WAN communication unit 113 of the verification server 11 transmits a session start request for performing verification to the verification ECU 12 of the vehicle to be verified (S113A). The outside-vehicle WAN communication unit 121 of the verification ECU 12 receives a session start request from the verification server 11 (S121A).

次に、検証サーバ11の車外WAN通信部113と、検証ECU12の車外WAN通信部121は、任意の従来技術によりハンドシェイクを実行し、安全な通信路を確立する(S113B,S121B)。   Next, the out-of-vehicle WAN communication unit 113 of the verification server 11 and the out-of-vehicle WAN communication unit 121 of the verification ECU 12 execute a handshake according to any conventional technique to establish a safe communication path (S113B, S121B).

安全な通信路を確立後、検証サーバ11の車外WAN通信部113は、乱数(チャレンジ)および期待値を検証ECU12に送信する(S113C)。検証ECU12の車外WAN通信部121は、乱数(チャレンジ)および期待値を検証サーバ11から受信する(S121C)。   After establishing a safe communication path, the external WAN communication unit 113 of the verification server 11 transmits a random number (challenge) and an expected value to the verification ECU 12 (S113C). The outside-vehicle WAN communication unit 121 of the verification ECU 12 receives a random number (challenge) and an expected value from the verification server 11 (S121C).

検証ECU12の車外WAN通信部121は、乱数(チャレンジ)および期待値を記憶した後、検証サーバ11に受信確認通知を送信する(S121D)。検証サーバ11の車外WAN通信部113は、検証ECU12から受信確認通知を受信する(S113D)。   The outside WAN communication unit 121 of the verification ECU 12 stores a random number (challenge) and an expected value, and then transmits a reception confirmation notification to the verification server 11 (S121D). The outside-vehicle WAN communication unit 113 of the verification server 11 receives the reception confirmation notification from the verification ECU 12 (S113D).

検証ECU12の検証部123は、被検証ECU13とのセッションを開始する(S123)。ステップS123の詳細については、図8を参照して後述する。セッション開始と同時に、検証ECU12の車外WAN通信部121は、検証サーバ11に対して検証開始通知を送信する(S121E)。検証サーバ11の車外WAN通信部113は、検証ECU12から検証開始通知を受信する(S113E)。   The verification unit 123 of the verification ECU 12 starts a session with the verified ECU 13 (S123). Details of step S123 will be described later with reference to FIG. Simultaneously with the start of the session, the outside-vehicle WAN communication unit 121 of the verification ECU 12 transmits a verification start notification to the verification server 11 (S121E). The outside-vehicle WAN communication unit 113 of the verification server 11 receives the verification start notification from the verification ECU 12 (S113E).

なお、検証ECU12は任意のタイミングでステップS123の検証を開始してよいが、走行時の安全性を考慮し、停止時あるいはイグニッションON時、すなわち自動車の走行前にステップS123の検証が実行されれば好適である。   The verification ECU 12 may start the verification in step S123 at an arbitrary timing. However, in consideration of safety during traveling, the verification in step S123 is performed when the vehicle is stopped or when the ignition is turned on, that is, before the vehicle travels. Is preferable.

検証ECU12の車外WAN通信部121は、ステップS123の検証の結果を通知する検証結果通知を検証サーバ11に送信する(S121F)。検証サーバ11の車外WAN通信部113は、検証ECU12から検証結果通知を受信する(S113F)。   The outside-vehicle WAN communication unit 121 of the verification ECU 12 transmits a verification result notification that notifies the verification result of step S123 to the verification server 11 (S121F). The off-vehicle WAN communication unit 113 of the verification server 11 receives the verification result notification from the verification ECU 12 (S113F).

検証サーバ11の検証結果確認部1123は、検証ECU12から受信した検証結果を検証結果記憶部1113に記憶すると共に、なんらかの対処を実行すべきかどうか判断する(S1123)。不正状態のECUが検出された場合、例えば自動車のオーナに対して通知を発信する、検証ECU12を介して自動車の走行を安全に停止させる指示を発信するなど、様々な対処が考えられる。検証結果確認部1123は、検証サーバ11と検証ECU12間の接続が良好であったにも関わらず、検証開始時刻から検証結果通知時刻までにかかった時間が想定を遥かに上回る場合は、何らかの不正な行為が行われたと見做してもよい。この場合、検証結果確認部1123は、検証結果に問題がなかった場合であっても、不正状態と判断してもよい。被検証ECU12の完全性を確認した後、検証サーバ11の車外WAN通信部113は、検証ECU12に対してセッション終了通知を送信する(S113G)。検証ECU12の車外WAN通信部121は、検証サーバ11からセッション終了通知を受信する(S121G)。   The verification result confirmation unit 1123 of the verification server 11 stores the verification result received from the verification ECU 12 in the verification result storage unit 1113 and determines whether or not any countermeasure should be executed (S1123). When an unauthorized ECU is detected, various countermeasures are conceivable, such as sending a notification to the owner of the vehicle, or sending an instruction to safely stop the driving of the vehicle via the verification ECU 12. If the time taken from the verification start time to the verification result notification time is much longer than expected even though the connection between the verification server 11 and the verification ECU 12 is good, the verification result confirmation unit 1123 It may be assumed that a certain act has been performed. In this case, the verification result confirmation unit 1123 may determine that the verification result is invalid even if there is no problem in the verification result. After confirming the integrity of the ECU 12 to be verified, the WAN communication unit 113 outside the verification server 11 transmits a session end notification to the verification ECU 12 (S113G). The outside-vehicle WAN communication unit 121 of the verification ECU 12 receives a session end notification from the verification server 11 (S121G).

以下、図8を参照して本実施例の検証ECU12と被検証ECU13の動作を説明する。まず、検証ECU12の車載LAN通信部1232は、被検証ECU13に対して検証開始要求を送信する(S1232A)。被検証ECU13の車載LAN通信部131は、検証ECU12から検証開始要求を受信する(S131A)。   Hereinafter, the operations of the verification ECU 12 and the ECU 13 to be verified will be described with reference to FIG. First, the in-vehicle LAN communication unit 1232 of the verification ECU 12 transmits a verification start request to the ECU 13 to be verified (S1232A). The in-vehicle LAN communication unit 131 of the ECU 13 to be verified receives the verification start request from the verification ECU 12 (S131A).

次に、検証ECU12の車載LAN通信部1232は、被検証ECU13に対して乱数(チャレンジ)を送信する(S1232B)。被検証ECU13の車載LAN通信部131は、検証ECU12から乱数(チャレンジ)を受信する(S131B)。   Next, the in-vehicle LAN communication unit 1232 of the verification ECU 12 transmits a random number (challenge) to the verified ECU 13 (S1232B). The in-vehicle LAN communication unit 131 of the ECU 13 to be verified receives a random number (challenge) from the verification ECU 12 (S131B).

被検証ECU13のレスポンス生成部132は、受信した乱数(チャレンジ)と自身の主記憶部133を用いて検証ECU12に対するレスポンスを生成する(S132)。レスポンス生成動作の詳細については、図13、図14を参照して後述する。   The response generation unit 132 of the ECU 13 to be verified generates a response to the verification ECU 12 using the received random number (challenge) and its own main storage unit 133 (S132). Details of the response generation operation will be described later with reference to FIGS.

次に、被検証ECU13の車載LAN通信部131は、生成したレスポンスを検証ECU12に送信する(S131C)。検証ECU12の車載LAN通信部1232は、被検証ECU13からレスポンスを受信する(S1232C)。   Next, the in-vehicle LAN communication unit 131 of the ECU 13 to be verified transmits the generated response to the verification ECU 12 (S131C). The in-vehicle LAN communication unit 1232 of the verification ECU 12 receives a response from the verified ECU 13 (S1232C).

検証ECU12のレスポンス検証部1231は、被検証ECU13から受信したレスポンスが期待値と一致しているか検証する。レスポンスと期待値が一致していれば検証対象の被検証ECU13を正常状態として検証結果を記憶し、一致しなければ不正状態として検証結果を記憶する(S1231)。なお、レスポンス検証部1231は、乱数(チャレンジ)送信時刻からレスポンス受信時刻までにかかった時間が所定の閾値を上回る場合は、何らかの不正な行為が行われたと見做して、検証結果に問題がなかったとしても不正状態と判断してもよい(S1231)。   The response verification unit 1231 of the verification ECU 12 verifies whether the response received from the verified ECU 13 matches the expected value. If the response and the expected value match, the verification target ECU 13 to be verified is stored as a normal state, and if not, the verification result is stored as an illegal state (S1231). If the time from the random number (challenge) transmission time to the response reception time exceeds a predetermined threshold, the response verification unit 1231 assumes that an illegal action has been performed and there is a problem with the verification result. Even if it does not exist, it may be determined to be an unauthorized state (S1231).

ステップS1231の検証終了後、検証ECU12の車載LAN通信部1232は、被検証ECU13にセッション終了通知を送信する(1232D)。被検証ECU13の車載LAN通信部131は、検証ECU12からセッション終了通知を受信する(S131D)。   After completing the verification in step S1231, the in-vehicle LAN communication unit 1232 of the verification ECU 12 transmits a session end notification to the verified ECU 13 (1232D). The in-vehicle LAN communication unit 131 of the ECU 13 to be verified receives a session end notification from the verification ECU 12 (S131D).

以下、図9を参照して本実施例の検証サーバ11が備える乱数生成部1121の構成を説明する。同図に示すように、本実施例の乱数生成部1121は、第1乱数生成部11211と、第2乱数生成部11212と、乱数連結部11213を含む。   Hereinafter, the configuration of the random number generation unit 1121 provided in the verification server 11 of this embodiment will be described with reference to FIG. As shown in the figure, the random number generation unit 1121 of the present embodiment includes a first random number generation unit 11211, a second random number generation unit 11212, and a random number concatenation unit 11213.

以下、図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 number generation unit 1121 described above will be described with reference to FIG. The first random number generator 11211 generates a first random number (S11211). The second random number generator 11212 generates a second random number (S11212). The random number concatenation unit 11213 concatenates the first random number and the second random number to generate a third random number (S11213). The third random number is used to generate an expected value in the verification server 11 and is used to generate a response in the verified ECU 13. Details of the operation of the random number generation unit 1121 will be described later with reference to FIG.

以下、図11を参照して本実施例の検証サーバ11が備える期待値生成部1122の構成を説明する。同図に示すように、本実施例の期待値生成部1122は、乱数調整部11221と、第1生成値計算部11222と、第2生成値計算部11223と、第1部分生成値取得部11224と、第2部分生成値取得部11225と、部分生成値連結部11226を含む。   Hereinafter, the configuration of the expected value generation unit 1122 provided in the verification server 11 of this embodiment will be described with reference to FIG. As shown in the figure, the expected value generation unit 1122 of this embodiment includes a random number adjustment unit 11221, a first generation value calculation unit 11222, a second generation value calculation unit 11223, and a first partial generation value acquisition unit 11224. And a second partial generation value acquisition unit 11225 and a partial generation value connection unit 11226.

まず乱数調整部11221は、第1乱数、第2乱数のいずれか、または両方が記憶部111内に再現されている主記憶部(すなわち、被検証ECU主記憶部1111)の最後のアドレス番号より大きい場合、該当する乱数のmodを計算し、計算結果を新たな第1乱数、第2乱数とする(S11221A)。ステップS11221Aを実行することにより、二つの乱数が何れも記憶部111内に再現された主記憶部の最後のアドレス番号よりも小さな値となる。   First, the random number adjustment unit 11221 starts from the last address number of the main storage unit (that is, the ECU main storage unit 1111 to be verified) in which either the first random number, the second random number, or both are reproduced in the storage unit 111. If it is larger, the mod of the corresponding random number is calculated, and the calculation result is set as a new first random number and second random number (S11221A). By executing step S11221A, both of the two random numbers become smaller than the last address number of the main storage unit reproduced in the storage unit 111.

次に乱数調整部11221は、第1乱数と第2乱数の大小関係に応じて、乱数の定義を交換する(S11221B)。具体的には、第1乱数よりも第2乱数の方が大きな値である場合には定義の交換を実行せず、第1乱数よりも第2乱数の方が小さな値である場合には定義の交換を実行し、ステップS11221B終了後に第1乱数が第2乱数よりも小さな値となるように調整する。   Next, the random number adjustment unit 11221 exchanges the definition of the random number according to the magnitude relationship between the first random number and the second random number (S11221B). Specifically, the definition exchange is not performed when the second random number is larger than the first random number, and is defined when the second random number is smaller than the first random number. And after the step S11221B is finished, the first random number is adjusted to be smaller than the second random number.

次に、第1生成値計算部11222は、記憶部111の被検証ECU主記憶部1111の記憶内容のうち、第1乱数に対応するアドレス番号から第2乱数に対応するアドレス番号までの記憶内容のハッシュ値を検証側第1生成値として計算する(S11222)。   Next, the first generated value calculation unit 11222 stores stored contents from the address number corresponding to the first random number to the address number corresponding to the second random number among the stored contents of the verified ECU main storage unit 1111 of the storage unit 111. Is calculated as the verification-side first generated value (S11222).

次に、第2生成値計算部11223は、記憶部111の被検証ECU主記憶部1111の記憶内容のうち、検証側第1生成値の計算に用いなかった記憶内容のハッシュ値を検証側第2生成値として計算する(S11223)。   Next, the second generated value calculation unit 11223 stores the hash value of the stored content that was not used for the calculation of the verification-side first generated value among the stored contents of the verified ECU main storage unit 1111 of the storage unit 111. 2 is calculated as a generated value (S11223).

次に、第1部分生成値取得部11224は、検証側第1生成値のうち所定のビット(例えば32ビット)を抜き出して、検証側第1部分生成値を取得する(S11224)。   Next, the first partial generation value acquisition unit 11224 extracts a predetermined bit (for example, 32 bits) from the verification-side first generation value, and acquires the verification-side first partial generation value (S11224).

次に、第2部分生成値取得部11225は、検証側第2生成値のうち所定のビット(例えば32ビット)を抜き出して、検証側第2部分生成値を取得する(S11225)。   Next, the second partial generation value acquisition unit 11225 extracts a predetermined bit (for example, 32 bits) from the verification-side second generation value, and acquires the verification-side second partial generation value (S11225).

次に、部分生成値連結部11226は、検証側第1部分生成値と検証側第2部分生成値を連結して、期待値を生成する(S11226)。   Next, the partial generation value connecting unit 11226 connects the verification side first partial generation value and the verification side second partial generation value to generate an expected value (S11226).

レスポンスは期待値と同様の手順で生成される。従って、被検証ECU13のレスポンス生成部132は、上述した期待値生成部1122と同様の構成を有し、同様の動作を実行する。以下、図13を参照して、本実施例の被検証ECU13が備えるレスポンス生成部132の構成を説明する。   The response is generated in the same procedure as the expected value. Accordingly, the response generation unit 132 of the ECU 13 to be verified has the same configuration as the above-described expected value generation unit 1122 and performs the same operation. Hereinafter, with reference to FIG. 13, the structure of the response generation part 132 with which the to-be-verified ECU13 of a present Example is provided is demonstrated.

同図に示すように、本実施例のレスポンス生成部132は、乱数調整部1321と、第1生成値計算部1322と、第2生成値計算部1323と、第1部分生成値取得部1324と、第2部分生成値取得部1325と、部分生成値連結部1326を含む。   As shown in the figure, the response generation unit 132 of this embodiment includes a random number adjustment unit 1321, a first generation value calculation unit 1322, a second generation value calculation unit 1323, and a first partial generation value acquisition unit 1324. The second partial generation value acquisition unit 1325 and the partial generation value connection unit 1326 are included.

以下、図14を参照してレスポンス生成部132の動作を説明する。まず、乱数調整部1321は、ステップS11221A、S11221Bと同様に、第1乱数、第2乱数の調整を実行する(S1321A、S1321B)。   Hereinafter, the operation of the response generation unit 132 will be described with reference to FIG. First, the random number adjustment unit 1321 performs the adjustment of the first random number and the second random number in the same manner as Steps S11221A and S11221B (S1321A and S1321B).

次に、第1生成値計算部1322は、主記憶部133の記憶内容のうち、第1乱数に対応するアドレス番号から第2乱数に対応するアドレス番号までの記憶内容のハッシュ値を被検証側第1生成値として計算する(S1322)。   Next, the first generated value calculation unit 1322 stores the hash value of the stored content from the address number corresponding to the first random number to the address number corresponding to the second random number among the stored contents of the main storage unit 133. The first generated value is calculated (S1322).

次に、第2生成値計算部1323は、主記憶部133の記憶内容のうち、被検証側第1生成値の計算に用いなかった記憶内容のハッシュ値を被検証側第2生成値として計算する(S1323)。   Next, the second generated value calculation unit 1323 calculates the hash value of the storage content that has not been used for the calculation of the verification target first generation value among the storage contents of the main storage unit 133 as the verification target second generation value. (S1323).

次に、第1部分生成値取得部1324は、被検証側第1生成値のうち所定のビット(例えば32ビット)を抜き出して、被検証側第1部分生成値を取得する(S1324)。   Next, the first partial generation value acquisition unit 1324 extracts a predetermined bit (for example, 32 bits) from the verification target first generation value, and acquires the verification target first partial generation value (S1324).

次に、第2部分生成値取得部1325は、被検証側第2生成値のうち所定のビット(例えば32ビット)を抜き出して、被検証側第2部分生成値を取得する(S1325)。   Next, the second partial generation value acquiring unit 1325 extracts a predetermined bit (for example, 32 bits) from the second verification value to be verified and acquires the second partial generation value to be verified (S1325).

次に、部分生成値連結部1326は、被検証側第1部分生成値と被検証側第2部分生成値を連結して、レスポンスを生成する(S1326)。   Next, the partial generation value connecting unit 1326 connects the verified first partial generation value and the verified second partial generation value to generate a response (S1326).

以下、上述の動作を図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 falsification detection system 1 of the present embodiment.

図15の1行目において、S(検証サーバ11)は、32ビットの第1乱数r、同じく32ビットの第2乱数rを生成する(上述のステップ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乱数rと第2乱数rを連結して第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の記憶内容memoryを用いてRDH関数を演算し、検証側第1生成値expと、検証側第2生成値expを計算する(上述のステップ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 main storage unit 1111 to be verified, and the verification side first generated value exp 0 and the verification side second generation value exp 1 are calculated (steps S11221, S11222, and S11223 described above).

同図の4行目において、S(検証サーバ11)は、検証側第1生成値expと、検証側第2生成値expのうち32ビットを抜き出して、検証側第1部分生成値exp’と、検証側第2部分生成値exp’を取得する(上述のステップ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’と検証側第2部分生成値exp’を連結して、期待値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)は、Tに第3乱数rの送信時刻current timeを記録する。この動作は、例えば車載LAN通信部1232が実行することとしてもよい。この場合、8行目の動作は、上述のステップS1232Bの一部として実行される。 In line 8 of FIG., V (verification ECU 12) records the transmission time current time of the third random number r to T 1. This operation may be executed by the in-vehicle LAN communication unit 1232, for example. In this case, the operation on the eighth line is executed as part of step S1232B described above.

同図の9行目において、P(被検証ECU13)は、第3乱数rと、主記憶部133の記憶内容memoryを用いてRDH関数を演算し、被検証側第1生成値resと、被検証側第2生成値resを計算する(上述のステップ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 main memory 133, and the verified first generated value res 0 The second generation value res 1 to be verified is calculated (steps S1321, S1322, and S1323 described above).

同図の10行目において、P(被検証ECU13)は、被検証側第1生成値resと、被検証側第2生成値resのうち32ビットを抜き出して、被検証側第1部分生成値res’と、被検証側第2部分生成値res’を取得する(上述のステップ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’と被検証側第2部分生成値res’を連結して、レスポンス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)は、TにレスポンスResの受信時刻current timeを記録する。この動作は、例えば車載LAN通信部1232が実行することとしてもよい。この場合、13行目の動作は、上述のステップS1232Cの一部として実行される。 In line 13 in FIG, V (verification ECU 12) records the reception time current time response Res to T 2. This operation may be executed by the in-vehicle LAN communication unit 1232, for example. In this case, the operation on the thirteenth row is executed as part of step S1232C described above.

同図の14行目において、V(検証ECU12)は、TとTの差分が閾値allowed time以下であるか否かを検証する。 In line 14 in FIG, V (verification ECU 12), the difference of T 2 and T 1 is verifying whether is equal to or less than the threshold allowed A time.

同図の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 response verification unit 1231, for example. In this case, the operations on the 14th to 17th lines are executed as a part of the above-described step S1231.

図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 value generation unit 1122. The input to the RDH function is defined in the first line of FIG. As input of the RDH function, a third random number r and a memory content memory in the main memory 133 of the ECU 13 to be verified are defined.

同図の2行目において、RDH関数からの出力が定義される。RDH関数の出力として、使用されるハッシュ関数のレングスlen(Hash(・))を有する検証側第1生成値expと、検証側第2生成値expが定義される。 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乱数r、第2乱数rのいずれか、または両方が記憶部111内に再現されている主記憶部(すなわち、被検証ECU主記憶部1111)の最後のアドレス番号addrendより大きい場合、該当する乱数のmodを計算し(r,r mod addrend)、計算結果を新たな第1乱数r、第2乱数rとする(上述のステップ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乱数rよりも第2乱数rの方が小さな値である場合には定義の交換を実行する(上述のステップ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乱数rに対応するアドレス番号から第2乱数rに対応するアドレス番号までの記憶内容mem[r0,r1]のハッシュ値を検証側第1生成値expとして計算する(上述のステップ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生成値expの計算に用いなかった記憶内容、すなわち 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,

Figure 2018081349
Figure 2018081349

のハッシュ値を検証側第2生成値expとして計算する(上述のステップ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生成値exp、検証側第2生成値expとなっていた部分は、図17において被検証側第1生成値res、被検証側第2生成値resにそれぞれ置き換えられている。 FIG. 17 shows a code example of the RDH function executed by the response generation unit 132, which is the same as FIG. Specifically, in FIG. 17, the execution subject of the RDH function is P (verified ECU 13), and in FIG. 16, the verification-side first generated value exp 0 and the verification-side second generated value exp 1 are set. 17 are replaced by the first verified value res 0 to be verified and the second generated value res 1 to be verified in FIG.

上述したように、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 falsification detection system 1 according to the present embodiment can detect falsification of the entire main storage unit. Moreover, according to the falsification detection system 1 of the present embodiment, it is practically difficult to use a pre-calculation / replay attack as a means for forging a response. Specifically, in the present embodiment, since the challenge is a random number, pre-calculation is difficult from the viewpoint of calculation time. In addition, it is difficult to store the calculation result from the viewpoint of the capacity of the main storage unit of the ECU.

また、非特許文献1で用いられた関数ICEは、加算を用いて値を更新する際、最上位ビットの桁上がりを考慮していないという脆弱性が存在した。本実施例の改竄検知システム1は、この脆弱性を克服している。   Further, the function ICE used in Non-Patent Document 1 has a vulnerability that it does not consider the carry of the most significant bit when updating the value using addition. The falsification detection system 1 of the present embodiment overcomes this vulnerability.

また、非特許文献1で用いられた関数ICEは、適用可能なプラットフォームが限定されるという弱点があった。本実施例の改竄検知システム1は、検証に用いるアルゴリズムをCPUのアーキテクチャに依存しない関数のみを用いて実現したため、上記の弱点を克服している。   Further, the function ICE used in Non-Patent Document 1 has a weak point that applicable platforms are limited. The falsification detection system 1 of the present embodiment overcomes the above-mentioned weaknesses because the algorithm used for verification is realized using only functions that do not depend on the CPU architecture.

また、非特許文献1で用いられた関数ICEは、CPUのアーキテクチャに合わせて最適化し、最小のCPUサイクル数で実現する必要があるところ、自動車に搭載される数十から百数十のECUのCPU全てに対して上記を実現すれば、設計コストが膨大になるという弱点があった。本実施例の改竄検知システム1は、この弱点を克服している。   Further, the function ICE used in Non-Patent Document 1 needs to be optimized in accordance with the CPU architecture and realized with the minimum number of CPU cycles. If the above is realized for all the CPUs, there is a weak point that the design cost becomes enormous. The falsification detection system 1 of the present embodiment overcomes this weak point.

以下、図18を参照して、検証サーバの機能を検証ECU内に取り込んだ、実施例2の改竄検知システム2について説明する。本実施例は、検証サーバとの頻繁な接続確立が困難な環境下において改竄を検知したい場合などに有効な構成例である。   Hereinafter, with reference to FIG. 18, the falsification detection system 2 of Example 2 which incorporated the function of the verification server in the verification ECU will be described. This embodiment is an effective configuration example when it is desired to detect falsification in an environment where frequent connection establishment with a verification server is difficult.

本実施例の改竄検知システム2は、検証サーバ21と、検証ECU22と、複数の被検証ECU23−1、23−2、…を含む構成である。被検証ECU23については、実施例1と同様、特にその数量に制限はなく、その数量は自動車の仕様に応じて変動する。なお、以下の説明において被検証ECU23と表して枝番号を表示しない場合、該当の説明は本実施例の全ての被検証ECUに共通した説明であるものとする。   The tampering detection system 2 according to the present embodiment includes a verification server 21, a verification ECU 22, and a plurality of ECUs 23-1, 23-2,. The number of ECUs 23 to be verified is not particularly limited as in the first embodiment, and the number varies depending on the specifications of the automobile. In the following description, when the branch number is not displayed as the verified ECU 23, the corresponding description is assumed to be common to all the verified ECUs of the present embodiment.

以下、図19を参照して本実施例の検証ECU22、被検証ECU23の構成を説明する。同図に示すように、本実施例の検証ECU22は、記憶部211と、計算部212と、通信部213と、ハードウェアセキュリティモジュール222と、検証部223を含む。本実施例の被検証ECU23は、通信部231と、レスポンス生成部232と、主記憶部233を含む。   Hereinafter, the configuration of the verification ECU 22 and the verification ECU 23 of this embodiment will be described with reference to FIG. As shown in the figure, the verification ECU 22 of this embodiment includes a storage unit 211, a calculation unit 212, a communication unit 213, a hardware security module 222, and a verification unit 223. The ECU to be verified 23 according to the present embodiment includes a communication unit 231, a response generation unit 232, and a main storage unit 233.

以下、図20、21を参照して本実施例の検証ECU22、被検証ECU23の動作を説明する。記憶部211は、予め、被検証ECUの主記憶部の記憶内容を全て記憶している(S211)。ステップS211は、便宜上図20内に示されているものの、実際には後述の動作よりもかなり過去に実行される動作である。主記憶部233は、予めその空き領域を全て乱数でパディングしている(S233)。ステップS233も、便宜上図20内に示されているものの、実際には後述の動作よりもかなり過去(例えば製造工程)に実行される動作である。   Hereinafter, the operations of the verification ECU 22 and the ECU to be verified 23 of this embodiment will be described with reference to FIGS. The storage unit 211 stores in advance all the storage contents of the main storage unit of the ECU to be verified (S211). Although step S211 is shown in FIG. 20 for the sake of convenience, it is actually an operation performed in the past rather than the operation described later. The main storage unit 233 previously pads all the empty areas with random numbers (S233). Although step S233 is also shown in FIG. 20 for the sake of convenience, the operation is actually performed in the past (for example, a manufacturing process) rather than the operation described later.

通信部213は、乱数を送信する(S213A、図21の3行目)。通信部231は、乱数を受信する(S231A、図21の3行目)。   The communication unit 213 transmits a random number (S213A, the third line in FIG. 21). The communication unit 231 receives a random number (S231A, the third line in FIG. 21).

レスポンス生成部232は、受信した乱数に基づいて主記憶部233を複数の領域に分割し、それぞれの領域に対する所定の演算結果からレスポンスを生成する(S232、図21の5〜7行目)。通信部231は、レスポンスを送信する(S231B、図21の8行目)。通信部213は、レスポンスを受信する(S213B、図21の8行目)。   The response generation unit 232 divides the main storage unit 233 into a plurality of areas based on the received random numbers, and generates a response from a predetermined calculation result for each area (S232, lines 5 to 7 in FIG. 21). The communication unit 231 transmits a response (S231B, the eighth line in FIG. 21). The communication unit 213 receives the response (S213B, the eighth line in FIG. 21).

計算部212は、送信した乱数に基づいて、記憶部211の記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する(S212、図21の12行目)。検証部223は、期待値とレスポンスを比較して検証する(S223、図21の12〜13行目)。   Based on the transmitted random number, the calculation unit 212 divides the area in which the storage content of the storage unit 211 is stored into a plurality of areas, and generates an expected value from the result of a predetermined calculation for each area (S212, 12th line in FIG. 21). The verification unit 223 compares the expected value with the response for verification (S223, lines 12 to 13 in FIG. 21).

検証ECU22を第1検証サーバ、検証サーバ21を第2検証サーバと呼ぶこととすると、本実施例において、第1検証サーバの各機能、特に被検証ECU23の主記憶部233は、不正に書き換えられないように何らかの保護対策を実施することが望ましい。例えば、第1検証サーバと第2検証サーバの記憶部および計算部の機能が一致しているか否かを定期的に検証することで、保護対策を実現してもよい。   If the verification ECU 22 is called a first verification server and the verification server 21 is called a second verification server, in this embodiment, each function of the first verification server, in particular, the main storage unit 233 of the ECU 23 to be verified is rewritten illegally. It is desirable to implement some kind of protection measures so that there is no such thing. For example, the protection measure may be realized by periodically verifying whether the functions of the storage unit and the calculation unit of the first verification server and the second verification server match.

本実施例の改竄検知システム2によれば、検証サーバとの頻繁な接続確立が困難な環境下においても、実施例1と同様の効果を奏する。   According to the falsification detection system 2 of the present embodiment, the same effects as those of the first embodiment can be obtained even in an environment in which frequent connection establishment with the verification server is difficult.

<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、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を含む改竄検知システムであって、
前記検証サーバは、
前記被検証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に記載の改竄検知システムであって、
前記計算部は、
第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の主記憶部内の記憶内容を全て記憶した記憶部と、
乱数を送信し、レスポンスを受信する通信部と、
送信した前記乱数に基づいて前記記憶部内の前記記憶内容が記憶されている領域を複数の領域に分割し、それぞれの領域に対する所定の演算の結果から期待値を生成する計算部と、
前記期待値と前記レスポンスを比較して検証する検証部を含み、
前記被検証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.
請求項3に記載の改竄検知システムであって、
前記検証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の主記憶部全体の期待値を生成する計算部と、
前記期待値と前記被検証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.
請求項5に記載の検証ECUであって、
前記主記憶部内の記憶内容を全て記憶した記憶部と、
前記被検証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.
コンピュータを、請求項5または6に記載の検証ECUとして機能させるプログラム。   The program which makes a computer function as verification ECU of Claim 5 or 6.
JP2016221320A 2016-11-14 2016-11-14 Tamper detection system Active JP6712538B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
伊豆 哲也: "墨塗り署名方式の比較", 第68回(平成18年)全国大会講演論文集(1) アーキテクチャ ソフトウェア科学・工学, JPN6020009476, 7 March 2006 (2006-03-07), pages 1 - 181, ISSN: 0004231702 *

Cited By (13)

* Cited by examiner, † Cited by third party
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