Verification method, verification device, and program

The proposed verification method addresses the challenges of real-time content data verification in autonomous driving systems by using a selective approach with hash values and digital signatures, ensuring efficient and secure data validation.

JP7661439B2Active Publication Date: 2025-04-14PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2023178106
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-05-15
Filing Date
2023-10-16
Publication Date
2025-04-14
Estimated Expiration
2038-01-23

AI Technical Summary

Technical Problem

Autonomous driving systems face challenges in verifying content data, such as map data, in real-time due to the risk of cyber attacks and the time-consuming nature of verifying large data sets.

Method used

A verification method that uses a combination of first and second hash values, along with a digital signature, to verify content data. This method selectively uses a portion of the content data based on the vehicle's state information to facilitate high-speed verification while maintaining safety.

Benefits of technology

The method enables efficient and secure verification of content data, allowing for real-time use in autonomous driving systems while detecting potential tampering attempts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007661439000001
    Figure 0007661439000001
  • Figure 0007661439000002
    Figure 0007661439000002
  • Figure 0007661439000003
    Figure 0007661439000003
Patent Text Reader

Abstract

To provide a verification method capable of verifying that downloaded content data the suitability for use in autonomous vehicle driving.SOLUTION: A verification method includes: a step of acquiring content data, multiple first hash values generated from each of the multiple partial data obtained by dividing the content data, and a signature generated using multiple first hash values and a private key (S301); acquiring vehicle status information (S302); determining N, which is an integer greater than or equal to 1, according to the acquired state information (S303); generating a second hash value from each of N pieces of partial data out of the multiple pieces of partial data (S305); verifying the content data by using (a) the first hash value generated from respective pieces of partial data excluding N pieces of partial data out of the multiple pieces of partial data out of the acquired multiple first hash values, (b) the generated second hash value and (c) the acquired signature (S306); and outputting information representing verification results (S308, S309).SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a verification method, a verification device, a generation method, a generation device, and a program. [Background technology]

[0002] In recent years, autonomous driving systems that control autonomous vehicles are known. In autonomous driving systems, advanced map data that is the basis of control, as well as information on automobiles, pedestrians, infrastructure facilities, and the like, are assumed to be acquired through communication with devices outside the vehicle. For example, information is acquired through communication using Vehicle to Everything (V2X), such as vehicle-to-vehicle communication or road-to-vehicle communication, through communication with an information terminal, and through various other communication methods. Then, the autonomous vehicle is controlled in consideration of the acquired information, the vehicle's running state, the vehicle's surrounding conditions, the driver's state, and the like.

[0003] Patent document 1 discloses a configuration for increasing the safety of the vehicle's autonomous driving control by notifying the driver to cancel autonomous driving if the autonomous vehicle control device determines that the conditions for autonomous driving are not met. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2014-106854 A [Non-patent literature]

[0005] [Non-Patent Document 1] “Federal Information Processing Standards Publication 186-4 DIGITAL SIGNATURE STANDARD (DSS)”, July 2013, National Institute of Standards and Technology (NIST) Summary of the Invention [Problem to be solved by the invention]

[0006] When an autonomous driving system obtains data from devices outside the vehicle, there are concerns about cyber attacks, such as unauthorized devices spoofing the vehicle and sending unauthorized data.

[0007] On the other hand, in conventional content data verification, if the downloaded content data, such as map data, is large in volume, it takes a long time to verify all of the content data. Therefore, if it is assumed that the downloaded content data is to be used after being verified, there is a problem that the content data cannot be used for automatic driving of a vehicle in real time.

[0008] Therefore, the present invention provides a content verification method and the like that is more suitable for use in automatic driving of vehicles. [Means for solving the problem]

[0009] A verification method according to one aspect of the present invention is a verification method for verifying content data used in a vehicle, the verification method comprising the steps of: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated using the plurality of first hash values ​​and a private key; acquiring status information indicating a status of the vehicle; determining N, an integer greater than or equal to 1, according to the acquired status information; generating a second hash value from each of the N pieces of partial data among the plurality of partial data; verifying the content data using (a) the first hash values ​​generated from each of the plurality of partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the acquired signature; and outputting information indicating a result of the verification; and if the content data includes map data, when generating the second hash value, the verification method selects the N pieces of partial data from the plurality of partial data according to a position of the vehicle, and generates a second hash value from each of the selected N pieces of partial data.

[0010] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, and a recording medium. Effect of the Invention

[0011] According to the present invention, content can be verified using a content verification method that is more suitable for use in automatic driving of a vehicle. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 is a schematic diagram showing an overall configuration of a content verification system according to an embodiment. [Diagram 2] FIG. 2 is a schematic diagram showing a functional configuration of a vehicle according to an embodiment. [Diagram 3]FIG. 3 is a schematic diagram illustrating a functional configuration of a gateway according to an embodiment. [Figure 4] FIG. 4 is a schematic diagram showing a functional configuration of the server according to the embodiment. [Diagram 5] FIG. 5 is a schematic diagram showing a functional configuration of a traffic light according to an embodiment. [Figure 6] FIG. 6 is a sequence diagram showing a process of downloading content data from a server to a vehicle in the embodiment. [Figure 7] FIG. 7 is a flowchart showing a process of generating content data by the server in the embodiment. [Figure 8] FIG. 8 is an explanatory diagram of a process for generating verifiable content data in the embodiment. [Figure 9] FIG. 9 is a flowchart showing a process of verifying content data by a vehicle in the embodiment. [Figure 10] FIG. 10 is an explanatory diagram of a process for verifying content data in the embodiment. [Figure 11] FIG. 11 is a sequence diagram showing a process of uploading sensor information from a vehicle to a server in the embodiment. [Figure 12] FIG. 12 is a sequence diagram showing a process of uploading sensor information from a traffic light to a server in the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] A verification method according to one aspect of the present invention is a verification method for verifying content data used in a vehicle, the verification method comprising the steps of: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated using the plurality of first hash values ​​and a private key; acquiring status information indicating a status of the vehicle; determining N, an integer greater than or equal to 1, according to the acquired status information; generating a second hash value from each of the N pieces of partial data among the plurality of partial data; verifying the content data using (a) the first hash values ​​generated from each of the plurality of partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the acquired signature; and outputting information indicating a result of the verification; and if the content data includes map data, when generating the second hash value, the verification method selects the N pieces of partial data from the plurality of partial data according to a position of the vehicle, and generates a second hash value from each of the selected N pieces of partial data.

[0014] A verification device according to one aspect of the present invention is a verification device that verifies content data used in a vehicle, the verification device comprising: a processor; and a memory connected to the processor. The processor uses the memory to acquire the content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated using the plurality of first hash values ​​and a private key, acquires status information indicating a status of the vehicle, determines N, an integer greater than or equal to 1, in accordance with the acquired status information, generates a second hash value from each of the N pieces of partial data among the plurality of partial data, verifies the content data using (a) the first hash values ​​generated from each of the partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the signature, and outputs information indicating a result of the verification. If the content data includes map data, when generating the second hash value, the verification device selects the N pieces of partial data from the plurality of partial data in accordance with a position of the vehicle, and generates a second hash value from each of the selected N pieces of partial data.

[0015] A generation method according to one aspect of the present invention is a generation method for generating verifiable content data for use in a vehicle, which includes dividing the content data to generate a plurality of partial data, generating a hash value for each of the plurality of partial data using a predetermined hash function to generate a plurality of hash values, combining the plurality of hash values, generating a signature using a private key, and adding the plurality of partial data, the plurality of hash values, and the signature to the content data to generate the verifiable content data.

[0016] A generating device according to one aspect of the present invention is a generating device that generates verifiable content data for use in a vehicle, and includes a processor and a memory connected to the processor, wherein the processor uses the memory to divide the content data to generate a plurality of partial data, generate a hash value for each of the plurality of partial data using a predetermined hash function to generate a plurality of hash values ​​using the predetermined hash function, combine the plurality of hash values, generate a signature using a private key, and add the plurality of partial data, the plurality of hash values, and the signature to the content data to generate the verifiable content data.

[0017] A verification method according to one aspect of the present invention is a method for verifying content data used in a vehicle, the method comprising: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data into which the content data is divided, and a signature generated using the plurality of first hash values ​​and a private key; if the content data is larger than a predetermined size, acquiring status information indicating a status of the vehicle; determining N, an integer greater than or equal to 1, according to the acquired status information; if the content data is equal to or smaller than the predetermined size, determining N as the total number of the plurality of partial data; generating a second hash value from each of the N pieces of partial data among the plurality of partial data; verifying the content data using (a) first hash values ​​generated from each of the plurality of partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the acquired signature; and outputting information indicating a result of the verification.

[0018] Moreover, a verification method according to one aspect of the present invention is a verification method for verifying content data used in a vehicle, the verification method comprising: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data into which the content data is divided, and a message authentication code generated using the plurality of first hash values ​​and a common secret key; acquiring status information indicating a status of the vehicle; determining N, an integer greater than or equal to 1, according to the acquired status information; generating a second hash value from each of the N pieces of partial data among the plurality of partial data; verifying the content data using (a) first hash values ​​generated from each of the partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the acquired message authentication code; and outputting information indicating a result of the verification.

[0019] Moreover, a verification method according to one aspect of the present invention is a verification method for verifying content data used in a vehicle, which acquires the content data, a plurality of first hash values ​​generated from each of a plurality of partial data into which the content data is divided, and a signature generated using the plurality of first hash values ​​and a private key, acquires status information indicating a status of the vehicle, determines N, an integer greater than or equal to 1, according to the acquired status information, generates a second hash value from each of the N pieces of partial data among the plurality of partial data, verifies the content data using (a) first hash values ​​generated from each of the partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the acquired signature, and outputs information indicating a result of the verification.

[0020] According to the above aspect, when the verification device verifies large amounts of content data including map information, etc., a portion of the content data selected according to the condition of the vehicle is used for verification, thereby enabling high-speed verification while maintaining a practical level of safety, thereby making it possible to build a safe system.

[0021] Furthermore, since an attacker does not have a private key and it is difficult for the attacker to generate a legitimate electronic signature (also simply referred to as a signature), the verification device can verify whether the content data is legitimate or not by using the signature included in the verification data of the content data, i.e., can detect tampering of the content data by an attacker. Since the verification device can verify whether the content data is legitimate in this way, a safe system can be constructed by subsequently discarding unauthorized content data and using only legitimate content data for operations such as automatic driving of a vehicle. In this way, the verification device can verify content using a content verification method that is more suitable for use in automatic driving of a vehicle.

[0022] For example, when generating the second hash value, the N pieces of partial data may be randomly selected from the plurality of partial data, and the second hash value may be generated from each of the selected N pieces of partial data.

[0023] According to the above aspect, when verifying large amounts of content data including map information, etc., the verification device randomly selects and verifies a portion of the content data, thereby enabling high-speed verification while maintaining a practical level of security, and making it possible to build a safe system.

[0024] Here, the verification of the content data in the vehicle is performed by randomly selecting a predetermined number of partial data pieces obtained by dividing the content data into a plurality of pieces. Therefore, if an attacker of the system illegally tampers with the content data, there is a high possibility that the illegal tampering by the attacker is included in the selected divided content data. Therefore, the verification device can more appropriately verify whether the content data is legitimate or not, and therefore a safer system can be constructed.

[0025] In other words, since the verification device changes which of the multiple partial data to use for verification each time, it can more appropriately detect malicious data caused by spoofing, etc. Therefore, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle.

[0026] For example, the status information may indicate whether the vehicle is moving or not, and when generating the second hash value, N may be set to a first value if the vehicle is moving, and N may be set to a second value greater than the first value if the vehicle is not moving, and the second hash value may be generated from each of the N partial data using the determined N.

[0027] According to the above aspect, when the time available for verification is relatively long, the verification device can verify the content data in more detail, whereas when the time available for verification is relatively short, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle depending on the length of the time available for verification.

[0028] For example, the status information may indicate the processing load of an apparatus executing the verification method as the status of the vehicle, and when generating the second hash value, the higher the processing load, the smaller the value of N may be set, and the second hash value may be generated from each of the N partial data using the set N.

[0029] According to the above aspect, when the processing capacity that can be secured for verification is relatively large, the verification device can verify the content data in more detail, whereas when the processing capacity that can be secured for verification is relatively small, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle depending on the processing capacity that can be secured for verification.

[0030] For example, the status information may indicate the amount of communication performed by a device executing the verification method as the status of the vehicle, and when generating the second hash value, the larger the amount of communication, the smaller the value of N may be set, and the second hash value may be generated from each of the N partial data using the set N.

[0031] According to the above aspect, when the processing capacity available for verification obtained from the communication volume information is relatively large, the verification device can verify the content data in more detail, whereas when the processing capacity available for verification is relatively small, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle depending on the amount of processing capacity available for verification.

[0032] For example, when generating the second hash value, N may be determined according to the type or size of the content data, and the second hash value may be generated from each of the N partial data using the determined N.

[0033] According to the above aspect, the verification device can use a predetermined number of partial data suitable for the type or size of the content data for verification. Therefore, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle depending on the type or size of the content data.

[0034] For example, when generating the second hash value, it may be possible to determine which of the multiple partial data to select as the N pieces of partial data based on the type of the content data, and to generate the second hash value from each of the N pieces of partial data selected based on the determination.

[0035] According to the above aspect, when it is known which partial data contains what kind of data according to the type of content data, the verification device can target the part that is more in need of verification for verification. Therefore, by using the part that is more in need of verification for verification, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle.

[0036] For example, the type of content data may include an index indicating an update interval of the content data.

[0037] According to the above aspect, the verification device indicates the type of content using the time interval between updates of the content data, and can verify the content using a content verification method that is more suitable for use in autonomous driving of a vehicle.

[0038] Moreover, a verification device according to one embodiment of the present invention is a verification device that verifies content data used in a vehicle, and includes a processor and a memory connected to the processor. The processor uses the memory to acquire the content data, a plurality of first hash values ​​generated from each of a plurality of partial data into which the content data is divided, and a signature generated using the plurality of first hash values ​​and a private key, acquires status information indicating a status of the vehicle, determines N, an integer greater than or equal to 1, in accordance with the acquired status information, generates a second hash value from each of the N pieces of partial data among the plurality of partial data, verifies the content data using (a) first hash values ​​generated from each of the partial data excluding the N pieces of partial data among the plurality of partial data among the acquired plurality of first hash values, (b) the generated second hash value, and (c) the signature, and outputs information indicating a result of the verification.

[0039] This provides the same effects as the above-mentioned verification device.

[0040] These comprehensive or specific aspects may be realized as a system, an apparatus, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, an apparatus, an integrated circuit, a computer program, or a recording medium.

[0041] Hereinafter, the embodiment will be specifically described with reference to the drawings.

[0042] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component arrangement and connection forms, steps, and order of steps shown in the following embodiments are merely examples and are not intended to limit the present invention. Furthermore, among the components in the following embodiments, components that are not described in an independent claim showing a top concept are described as optional components.

[0043] (Embodiment) 1. System Configuration As an embodiment of the present invention, a technology in which a gateway, which is a verification device installed on an in-vehicle network, verifies content data received via V2X from a device outside the vehicle, more specifically, a server or a traffic light outside the vehicle, will be described with reference to the drawings.

[0044] 1.1 Overall configuration of content verification system 10 Fig. 1 is a schematic diagram showing an overall configuration of a content verification system 10 according to the present embodiment. In Fig. 1, the content verification system 10 includes vehicles 100a and 100b, a server 200, and a traffic light 300. The vehicles 100a and 100b, the server 200, and the traffic light 300 are communicatively connected to each other via a network or a communication link.

[0045] In addition to the traffic lights 300, the content verification system 10 may also be connected via a network or communication link to sensors, cameras, and GPS (Global Positioning System) receivers attached to infrastructure facilities such as lighting, information board signs, bridges, tunnels, and pedestrian crossings.

[0046] 1.2 Configuration of the vehicle 100a Fig. 2 is a schematic diagram showing the overall configuration of a vehicle 100a according to the present embodiment. In Fig. 2, a plurality of electronic control units (ECUs), namely ECU111, ECU121, ECU131, ECU141, ECU151, ECU161, ECU171, ECU181, and ECU191, are connected to a gateway 101 via an in-vehicle network. The in-vehicle network may be a Controller Area Network (hereinafter, CAN), or may be Ethernet (registered trademark), or may be a combination of CAN and Ethernet (registered trademark).

[0047] To the in-vehicle network, for example, ECUs of a drive system related to control of the engine 110, the transmission 120, the motor (not shown), the fuel (not shown), or the battery (not shown) are connected. In this figure, ECU 111 for the engine 110 and ECU 121 for the transmission 120 are connected as ECUs of the drive system to the in-vehicle network.

[0048] Also connected to the in-vehicle network are chassis-related ECUs related to the vehicle's functions of "turning and stopping," such as the brake 130 and the steering wheel 140. In this figure, an ECU 131 for the brake 130 and an ECU 141 for the steering wheel 140 are connected to the in-vehicle network as chassis-related ECUs.

[0049] Also connected to the in-vehicle network are safety and comfort function ECUs such as an automatic brake 150, a lane keeping device 160, a vehicle distance control function (not shown), a collision prevention function, and an airbag. In this figure, an ECU 151 for the automatic brake 150 and an ECU 161 for the lane keeping device 160 are connected to the in-vehicle network as safety and comfort function ECUs.

[0050] Further, communication ECUs related to the vehicle-to-vehicle communication device 170 and the like are connected to the in-vehicle network. In this figure, an ECU 171 for the vehicle-to-vehicle communication device 170 is connected to the in-vehicle network as a communication ECU. The vehicle-to-vehicle communication device 170 acquires content data from other vehicles. The ECU 171 performs operation processing such as automatic driving using the acquired content data.

[0051] Also, infotainment ECUs such as a head unit 180 are connected to the in-vehicle network. In this figure, an ECU 181 for the head unit 180 is connected to the in-vehicle network as an infotainment ECU. Note that there may be no ECU 181 for the head unit 180, and the head unit 180 may be directly connected to the in-vehicle network without going through the ECU 181.

[0052] Also, an ECU 191 for an ITS (Intelligent Transport Systems) device 190, which is an advanced road traffic system, is connected to the in-vehicle network. In this figure, the ECU 191 for the ITS device 190 is connected to the in-vehicle network. The ITS device 190 receives road surface information and map information held by the server 200 from the server 200. Also, the ITS device 190 transmits sensor information, position information by GPS, camera image information, and the like to the server 200. The server 200 can grasp road conditions and the like from the image information transmitted from the ITS device 190.

[0053] In addition, image information from various sensors or cameras (not shown) is also connected to the in-vehicle network.

[0054] The gateway 101 is a relay device that is connected to each of the above ECUs and relays communications between the ECUs. The above ECUs are connected via the gateway 101 and exchange information with each other.

[0055] The server 200 is a server device that holds various types of content data and performs various information processing. The server 200 holds map information, road surface information, traffic regulation information, accident information, pedestrian information, and the like as content data. The map information is information that indicates static features such as roads or buildings. The road surface information is information that indicates the state of the road surface. The traffic regulation information is information that indicates the location and time of traffic regulation due to weather, accidents, and the like. The accident information is information that indicates the location and time of a vehicle accident. The pedestrian information is information that indicates the location and time of a pedestrian. The server 200 is communicably connected to the vehicle 100a via a communication line, and provides each piece of information that it holds to the vehicle 100a, etc.

[0056] Some of the content data held by the server 200 have relatively long update intervals, while other content data have relatively short update intervals. For example, map information and road surface information are updated at intervals of about several months. Meanwhile, accident information and traffic regulation information are updated at intervals of about several hours to several minutes. The server 200 may hold an index indicating the update interval of each content data, linked to each content data. The index indicating the update interval may be the time length of the update interval (such as one month, one hour, one minute, or one second), or may be an index indicating the extent of the update interval in three stages, for example (long, medium, short).

[0057] The traffic light 300 is a traffic light and communicates with the vehicle 100a and the like by radio communication, visible light communication, or the like.

[0058] 1.3 Configuring Gateway 101 Fig. 3 is a configuration diagram of the gateway 101 in this embodiment. In Fig. 3, the gateway 101 is configured to include a content verification unit 1001, a key storage unit 1002, a message processing unit 1003, a vehicle state storage unit 1004, and a communication unit 1005. The gateway 101 includes at least a processor (not shown) and a memory connected to the processor, and the processor executes a predetermined program using the memory to realize the following functions.

[0059] The communication unit 1005 is a communication interface that performs communication processing of messages flowing within the in-vehicle network. When the communication unit 1005 receives a message, it transmits the received message to the message processing unit 1003 or the content verification unit 1001. In addition, the communication unit 1005 transfers the received message of any bus of the in-vehicle network to another bus.

[0060] The content verification unit 1001 verifies content data for automobiles received via an external network such as an ITS or inter-vehicle communication.

[0061] Specifically, the content verification unit 1001 acquires content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated using the plurality of first hash values ​​and a private key. The content verification unit 1001 acquires status information indicating the status of the vehicle 100a. The content verification unit 1001 generates a second hash value from each of a predetermined number of partial data among the plurality of partial data, the predetermined number being determined according to the acquired status information. Here, the predetermined number is an integer equal to or greater than 1. The content verification unit 1001 verifies the acquired content data using the generated second hash value, a first hash value generated from each of the partial data excluding the predetermined number of partial data among the plurality of partial data, and the signature, and outputs information indicating the result of the verification.

[0062] The content data verification process performed by the content verification unit 1001 will be described in detail later.

[0063] The key holding unit 1002 holds a key used by the content verification unit 1001 or the message processing unit 1003. Specifically, the key holding unit 1002 holds a key used by the content verification unit 1001 to verify content received from the server 200 (i.e., the public key of the server 200). If the in-vehicle network includes a CAN, the key holding unit 1002 holds a key (also called a MAC key) used to verify a message authentication code (MAC) used in a CAN message. If the in-vehicle network includes Ethernet (registered trademark), the content verification unit 1001 holds a communication key used for encryption communication of Ethernet (registered trademark), etc.

[0064] The message processor 1003 processes messages. For example, it transfers a message on an arbitrary bus of the in-vehicle network to another bus, and verifies the message. The message processor 1003 verifies the message by using a verification key such as a MAC key stored in the key storage unit 1002.

[0065] Furthermore, the message processing unit 1003 acquires status information indicating the status of the vehicle from the message, and stores it in the vehicle status storage unit 1004. The status information includes, for example, running status information indicating whether the vehicle 100a is running, stopped, or parked. Whether the vehicle 100a is running, etc. can be obtained from information on the transmission 120 or speed information. The status information may also include load information indicating the processing load of the gateway 101, which is the device that executes this process, and may also include communication volume information indicating the communication volume of communication performed by the gateway 101.

[0066] The speed information may be obtained from an ECU that obtains information on the rotation speed of tires (not shown), or may be obtained from an ECU 111 connected to the engine 110, or an ECU 131 connected to the brake 130.

[0067] The vehicle state storage unit 1004 is a storage device that stores the state of the vehicle. The vehicle state storage unit 1004 stores state information acquired by the message processing unit 1003. The state information stored in the vehicle state storage unit 1004 is read out by the content verification unit 1001.

[0068] 1.4 Server 200 Configuration Fig. 4 is a schematic diagram showing the functional configuration of server 200 in this embodiment. In Fig. 4, server 200 includes a content collection unit 201, a content DB 202, a content division unit 203, an encryption processing unit 204, a key holding unit 205, and a communication unit 206. Note that server 200 includes at least a processor (not shown) and a memory connected to the processor, and the processor executes a predetermined program using the memory to realize the following functions.

[0069] The communication unit 206 is a communication interface that communicates with the vehicle 100a or 100b, or the traffic light 300. The communication unit 206 may use TLS (Transport Layer Security) as a communication protocol.

[0070] The content collection unit 201 collects content data acquired from the vehicle 100a or 100b, or the traffic light 300. The content data includes sensor information acquired from the vehicle 100a or 100b or the traffic light 300, position information of the vehicle 100a or 100b acquired by GPS or the like, image information acquired by a camera, and the like, and road conditions such as accidents or congestion are grasped from these content data. The content collection unit 201 may acquire an index indicating an update interval of the content data together with the above content data.

[0071] The content DB 202 is a recording device in which content data is recorded. The content data collected by the content collection unit 201 is recorded in the content DB 202. The content DB 202 also records map data. The content data recorded in the content DB 202 is read out by the content division unit 203.

[0072] The content division unit 203 reads out content data corresponding to the road conditions around the vehicle 100a from the content data recorded in the content DB 202, and divides the content data. When reading out content data corresponding to the road conditions around the vehicle 100a, the content division unit 203 reads out content data corresponding to the surroundings of the position indicated in the position information of the vehicle 100a, which is obtained separately, from the content data recorded in the content DB 202. Then, the content division unit 203 transmits the divided content data to the encryption processing unit 204. Each piece of data into which the content data is divided is also called partial data.

[0073] There are various methods for dividing the content data in the content dividing unit 203. For example, the division size may be such that the size of the divided partial data is a fixed value, or the division size may be changed for each type of content data.

[0074] The key holding unit 205 holds a private key (that is, the private key of the server 200) used to generate verification data for content data.

[0075] The encryption / decryption processing unit 204 generates verification data for the content data, using the private key held in the key holding unit 205. The method of generating the verification data in the encryption / decryption processing unit 204 will be described later.

[0076] The server 200 may be realized by a so-called cloud server, which may be located anywhere physically as long as it is connected to the Internet. The content data provided by the server 200 may be said to be content data generated in the cloud.

[0077] 1.5 Configuration of Traffic Light 300 Fig. 5 is a schematic diagram showing the functional configuration of a traffic light 300 in this embodiment. In Fig. 5, traffic light 300 includes a content collection unit 301, a content DB 302, a content division unit 303, an encryption processing unit 304, a key holding unit 305, a content transmission unit 306, a sensor information collection unit 307, and a communication unit 308. Traffic light 300 includes at least a processor (not shown) and a memory connected to the processor, and the processor executes a predetermined program using the memory to realize the following functions. Traffic light 300 includes the functions of a traffic light in addition to these functions.

[0078] Since content DB 302 has the same configuration as content DB 202, content division unit 303 has the same configuration as content division unit 203, encryption processing unit 304 has the same configuration as encryption processing unit 204, and key holding unit 305 has the same configuration as key holding unit 205, descriptions of these configurations are omitted.

[0079] The content collection unit 301 stores in the content DB 302 sensor information acquired from the vehicle 100a or 100b via V2X.

[0080] The content transmitting unit 306 transmits the content data recorded in the content DB 302 to the server 200 .

[0081] The sensor information collection unit 307 acquires sensor information generated by a sensor (not shown) installed in the traffic light 300 or image information generated by a camera (not shown), and stores the information in the content DB 302.

[0082] The communication unit 308 is a communication interface that performs communication with the server 200 and communication with the vehicle 100a or 100b in V2X.

[0083] 1.6 Communication sequence between the vehicle 100a and the server 200 Next, a description will be given of communication between the vehicle 100a and the server 200, more specifically, the downloading of content data from the server 200 to the vehicle 100a, and the verification process of the content data in the vehicle 100a. In this embodiment, a case will be described as an example in which the vehicle 100a downloads content data such as map data from the server 200 and uses it for a lane keeping function.

[0084] <Communication sequence for downloading content data> Fig. 6 is a sequence diagram showing a process of downloading content data from the server 200 to the vehicle 100a in this embodiment. The sequence shown in Fig. 6 shows a process in which the vehicle 100a downloads the content data from the server 200 and verifies the downloaded content data.

[0085] In step S101, the server 200 generates content data.

[0086] In step S102, the server 200 transmits the content data to the vehicle 100a.

[0087] In step S103, the ITS device 190 of the vehicle 100a downloads the content data transmitted from the server 200, and transmits it to the ECU 191 for the ITS device 190. The ECU 191 for the ITS device 190 transmits the received content data to the gateway 101 for transfer.

[0088] In step S104, the gateway 101 performs verification on the received content data.

[0089] In step S105, if the received content data is determined to be valid in the verification in step S104, the gateway 101 generates a message for the received content data.

[0090] In step S106, the gateway 101 transmits the message generated in step S105 to the ECU 161 for the lane keeping device 160.

[0091] In step S107, the ECU 161 for the lane keeping device 160 executes an operation related to the lane keeping function based on the message received from the gateway 101.

[0092] <Generation of Content Data (Step S101)> 7 is a flowchart showing the process of generating content data by server 200 in this embodiment. The flowchart shown in Fig. 7 shows the details of step S101 in Fig. 6.

[0093] In step S201, the content division unit 203 of the server 200 acquires content data suitable for the vehicle 100a to which the content data is to be transmitted, from the content DB 202. Note that the content data acquired in step S201 is sometimes referred to as the content data body, to be distinguished from "verifiable content data" described later.

[0094] In step S202, the content division unit 203 of the server 200 divides the content data acquired in step S201 to generate a plurality of partial data.

[0095] In step S203, the encryption processing unit 204 of the server 200 generates a plurality of hash values ​​by generating a hash value for each of the plurality of partial data generated by division in step S202. The hash function used to generate the hash values ​​is predetermined by the content verification system 10, and is, for example, SHA-256.

[0096] In step S204, the cryptographic processing unit 204 of the server 200 generates a signature for each of the multiple hash values ​​generated in step S203, using a private key held by the key holding unit 205. For example, the Elliptic Curve Digital Signature Algorithm (ECDSA) described in Non-Patent Document 1 is used to generate the signature.

[0097] In step S205, cryptographic processing unit 204 of server 200 generates verifiable content data including the partial data generated in step S202, the hash value generated in step S203, and the signature generated in step S204. The generation of verifiable content data will be described in detail with reference to FIG.

[0098] 8 is an explanatory diagram of the process of generating verifiable content data in this embodiment. Specifically, the process from steps S202 to S205 will be described.

[0099] As shown in FIG. 8, the encryption / decryption processing unit 204 divides the content data C1 into five partial data C11, C12, C13, C14, and C15 (step S202).

[0100] Next, the encryption processing unit 204 generates a hash value for each of the generated partial data C11, C12, C13, C14, and C15. Specifically, the encryption processing unit 204 generates a hash value H11 for the partial data C11, generates a hash value H12 for the partial data C12, generates a hash value H13 for the partial data C13, generates a hash value H14 for the partial data C14, and generates a hash value H15 for the partial data C15 (step S203). Here, the hash values ​​H11, H12, H13, H14, and H15 are also referred to as first hash values.

[0101] Next, the cryptographic processing unit 204 combines the generated hash values ​​H11, H12, H13, H14, and H15, and generates a signature S1 using the private key of the server 200 held by the key holding unit 205 (step S204).

[0102] Next, the cryptographic processing unit 204 generates verifiable content data C2 by adding the hash values ​​H11, H12, H13, H14, and H15, and the signature S1 to the content data C1 as verification data V (step S205). In other words, the verifiable content data C2 includes the content data C1 and the verification data V.

[0103] <Verification of Content Data (Step S104)> 9 is a flowchart showing the process of verifying content data by the vehicle 100a in this embodiment. The flowchart shown in FIG. 9 shows the details of step S104 in FIG.

[0104] In step S301, content verification unit 1001 of vehicle 100a acquires content data by downloading it from server 200. The acquired content data corresponds to the above-mentioned verifiable content data C2, and specifically includes a content data body, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data body, and a signature generated using the plurality of first hash values ​​and a private key.

[0105] In step S302, the content verification unit 1001 of the vehicle 100a acquires state information indicating the state of the vehicle 100a. The state information of the vehicle 100a can be acquired from the vehicle state storage unit 1004.

[0106] In step S303, the content verification unit 1001 of the vehicle 100a determines a predetermined number according to the state information acquired in step S302.

[0107] In step S304, the content verification unit 1001 of the vehicle 100a selects a predetermined number of partial data from among the partial data included in the downloaded content data. Note that the predetermined number is an integer equal to or greater than 1, and may be represented as N.

[0108] In step S305, the content verification unit 1001 of the vehicle 100a generates a hash value for each of the partial data selected in step S304. The hash function used to generate the hash value is determined in advance by the content verification system .

[0109] In step S306, the content verification unit 1001 of the vehicle 100a extracts hash values ​​for each of the partial data not selected in step S304 from the hash values ​​included in the verification data in the content data received in step S301.

[0110] In step S307, the content verification unit 1001 of the vehicle 100a verifies the content data using the hash values ​​generated for each of the partial data selected in step S304, the hash values ​​extracted in step S306 for each of the partial data not selected in step S304, and the signature included in the verification data of the content data, thereby determining whether the content data is authentic. When verifying the content data, the public key of the server 200 is used. If it is determined that the content data is authentic (Yes in step S307), the process proceeds to step S308, and if not (No in step S307), the process proceeds to step S309.

[0111] In step S308, the content verification unit 1001 of the vehicle 100a outputs information indicating that the content data downloaded in step S301 is legitimate content data.

[0112] In step S309, the content verification unit 1001 of the vehicle 100a outputs information indicating that the content data downloaded in step S301 is not valid, that is, that the content data is illegal. At this time, the content data may be discarded.

[0113] Fig. 10 is an explanatory diagram of the process of verifying content data in this embodiment. Specifically, the process from step S302 to S305 is explained. Fig. 10 explains the process of verifying verifiable content data D1. Note that the verifiable content data D1 corresponds to the verifiable content data C2 generated in Fig. 8.

[0114] 10, verifiable content data D1 includes five partial data D11, D12, D13, D14, and D15, and verification data W. The verification data W includes hash values ​​J11, J12, J13, J14, and J15 calculated by server 200, and signature T1.

[0115] The content verification unit 1001 of the vehicle 100a selects a predetermined number of partial data from the five partial data. Here, the predetermined number is set to two, and two partial data D11 and D13 are selected (step S302).

[0116] Next, a hash value J21 is generated for the selected partial data D11, and a hash value J23 is generated for the selected partial data D13 (step S303). Here, the hash values ​​J21 and J23 are also referred to as second hash values.

[0117] Also, hash values ​​for the unselected partial data D12, D14, and D15 are extracted from the verification data W of the verifiable content data D1 (step S304). Here, a hash value J12 is extracted for the partial data D12, a hash value J14 is extracted for the partial data D14, and a hash value J15 is extracted for the partial data D15.

[0118] Next, the content data D1 is verified using the hash values ​​J21, J12, J23, J14, and J15, and the signature T1 included in the verification data W (step S305).

[0119] When selecting the predetermined number of partial data in step S302, the predetermined number of partial data may be randomly selected from the plurality of partial data. In this case, in step S303, a hash value J23 or the like is generated from each of the predetermined number of selected partial data. In this way, which partial data among the plurality of partial data is used for verification changes each time, so that malicious data due to spoofing or the like can be more appropriately detected.

[0120] When the predetermined number is determined in step S303, the driving state information may be referenced, and if the vehicle 100a is driving, the predetermined number may be set to a first value, and if the vehicle 100a is not driving, the predetermined number may be set to a second value larger than the first value. In other words, the predetermined number may be variable depending on the state information stored in the vehicle state storage unit 1004. For example, if the state information (more specifically, the driving state information) is not "driving", that is, if the state information is "parked" or "stopped", a longer time can be secured for verifying the content data than when the state of the vehicle 100a is "driving", so the predetermined number may be larger than when the state information is "driving". More specifically, if the state information is "parked" or "stopped", the predetermined number may be set to 30% of the total number of partial data, and if the state information is "driving", the predetermined number may be set to 10% of the total number of partial data. In this way, when the time available for verification is relatively long, the content data can be verified in more detail, while when the time available for verification is relatively short, the verification of the content data can be completed in a short time, and the content data can be used.

[0121] When the predetermined number is determined in step S303, load information on the gateway 101, which is the device that executes this process, may be referenced, and the higher the processing load, the smaller the predetermined number may be set. Also, communication volume information on the gateway 101 may be referenced, and the higher the communication volume, the smaller the predetermined number may be set. In this way, when the processing capacity that can be secured for verification is relatively large, the content data can be verified in more detail, while when the processing capacity that can be secured for verification is relatively small, the verification of the content data can be completed in a short time, allowing the content data to be used.

[0122] In addition, when the predetermined number is determined in step S303, the predetermined number may be determined according to the type or size of the content data. In this way, a predetermined number of partial data suitable for the type or size of the content data can be used for verification.

[0123] When the predetermined number is determined in step S303, it may be determined which of the plurality of partial data should be selected as the predetermined number of partial data based on the type of content data. When it is known what content data is included in which partial data according to the type of content data, it is possible to target the part that is more in need of verification.

[0124] The type of content data may include an index indicating the update interval of the content data, so that the type of content can be indicated by specifically using the time interval of the update of the content data.

[0125] <Sequence for uploading sensor information from vehicle 100a to server 200> FIG. 11 is a sequence diagram showing a process of uploading sensor information from vehicle 100a to server 200 in this embodiment.

[0126] In step S401, an ECU having a sensor of the vehicle 100a generates sensor information. For example, the sensor is a camera that captures images using visible light or a millimeter wave radar.

[0127] In step S402, the ECU of the vehicle 100a transmits sensor information to the gateway 101.

[0128] In step S403, the gateway 101 of the vehicle 100a transfers the sensor information to the ECU 191.

[0129] In step S404 , the ECU 191 transmits (uploads) the sensor information acquired from the ITS device 190 to the server 200 .

[0130] In step S405, the server 200 receives the sensor information from the vehicle 100a and records it in the content DB 202.

[0131] <Sequence for uploading sensor information from the traffic light 300 to the server 200> FIG. 12 is a sequence diagram showing a process of uploading sensor information from a traffic signal 300 to a server 200 in this embodiment.

[0132] In step S501, the sensor information collector 307 generates sensor information. The sensor information is, for example, road conditions around the traffic light 300, image information from a camera around the traffic light 300, or the like.

[0133] In step S502 , the sensor information collector 307 transmits the sensor information to the content DB 302 .

[0134] In step S503, the content DB 302 records the sensor information.

[0135] In step S504, the content transmission unit 306 accesses the content DB 302 to acquire the sensor information recorded in the content DB 302, and acquires the sensor information.

[0136] In step S505, the content transmitting unit 306 uploads the sensor information to the server 200.

[0137] In step S506 , the server 200 receives the sensor information from the traffic light 300 and records the sensor information in the content DB 202 .

[0138] 1.7 Effects of the embodiment According to the verification method of this embodiment, when the verification device, i.e., the gateway 101, verifies a large volume of content data including map information and the like, it uses a portion of the content data selected according to the vehicle condition for verification, thereby enabling high-speed verification while maintaining a practical level of safety, and enabling the construction of a safe system.

[0139] Furthermore, since an attacker does not have a private key and it is difficult for the attacker to generate a legitimate signature, the verification device can verify whether the content data is legitimate or not by using the signature included in the verification data of the content data, i.e., can detect tampering of the content data by an attacker. Since the verification device can verify whether the content data is legitimate in this way, a safe system can be constructed by subsequently discarding unauthorized content data and using only legitimate content data for operations such as automatic driving of a vehicle. In this way, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle.

[0140] In addition, when verifying large volumes of content data including map information, etc., the verification device randomly selects and verifies a portion of the content data, enabling high-speed verification while maintaining a practical level of security, thereby making it possible to build a safe system.

[0141] Here, the verification of the content data in the vehicle is performed by randomly selecting a predetermined number of partial data pieces obtained by dividing the content data into a plurality of pieces. Therefore, if an attacker of the system illegally tampers with the content data, there is a high possibility that the illegal tampering by the attacker is included in the selected divided content data. Therefore, the verification device can more appropriately verify whether the content data is legitimate or not, and therefore a safer system can be constructed.

[0142] In other words, since the verification device changes which of the multiple partial data to use for verification each time, it can more appropriately detect malicious data caused by spoofing, etc. Therefore, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle.

[0143] Furthermore, when the time available for verification is relatively long, the verification device can verify the content data in more detail, whereas when the time available for verification is relatively short, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle depending on the length of time available for verification.

[0144] Furthermore, when the processing capacity that can be secured for verification is relatively large, the verification device can verify the content data in more detail, whereas when the processing capacity that can be secured for verification is relatively small, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle depending on the processing capacity that can be secured for verification.

[0145] Furthermore, when the processing capacity available for verification, which is obtained from the communication volume information, is relatively large, the verification device can verify the content data in more detail, whereas when the processing capacity available for verification is relatively small, the verification device can complete the verification of the content data in a short time and use the content data. Thus, the verification device can verify the content using a content verification method that is more suitable for use in autonomous driving of a vehicle, depending on the amount of processing capacity available for verification.

[0146] In addition, the verification device can use a predetermined number of partial data suitable for the type or size of the content data for verification. Therefore, the verification device can verify the content using a content verification method that is more suitable for use in automatic driving of a vehicle depending on the type or size of the content data.

[0147] In addition, when it is known which partial data contains what kind of data according to the type of content data, the verification device can target the part that is more in need of verification for verification. Therefore, by using the part that is more in need of verification for verification, the verification device can verify the content by a content verification method that is more suitable for use in automatic driving of a vehicle.

[0148] In addition, the verification device indicates the type of content using the time interval between updates of the content data, and can verify the content using a content verification method that is more suitable for use in autonomous driving of vehicles.

[0149] 2. Other modifications Although the present invention has been described based on the above embodiment, it is needless to say that the present invention is not limited to the above embodiment. The following cases are also included in the present invention.

[0150] (1) In the above embodiment, the in-vehicle network has been described as being CAN or Ethernet (registered trademark), or a mixture of CAN and Ethernet (registered trademark). However, the in-vehicle network is not limited to this and may be, for example, CAN-FD (CAN with Flexible Data Rate), LIN (Local Interconnect Network), FlexRay (registered trademark), or a combination of these.

[0151] (2) In the above embodiment, the gear information and speed information related to the transmission are obtained from the message transmitted to the in-vehicle network, and the status information indicating the status of the vehicle is obtained, but the present invention is not limited to this. The status information may be estimated from image information from an in-vehicle camera, GPS, millimeter wave radar, laser radar information, or a combination of these. For example, it may be determined from the image information from the in-vehicle camera of the vehicle to determine whether the vehicle is "driving", "parked", or "stopped" based on the situation around the vehicle.

[0152] (3) In the above embodiment, a predetermined number of partial data is selected from the content data and a hash value is generated for each of the selected partial data, but the predetermined number may be changed not only according to the state information but also according to the type and size of the acquired content data. If the size of the content data is relatively small, all of the divided content data can be selected to verify the entire content data.

[0153] (4) In the above embodiment, the divided content data is selected randomly from the content data, but the method of selecting the divided content data may be changed depending on the type of acquired content data. For example, if the content data is map data, divided content data may be selected so as to include map data close to the vehicle's position, or content data of the map data that is divided into a difference from previously acquired divided content data may be selected. Furthermore, if the map data is a dynamic map in which dynamic information is superimposed on static information, divided content data that includes a large amount of dynamic information may be selected. By actively selecting divided content data that is largely different from the previously received content data, the content data can be verified efficiently.

[0154] (5) In the above embodiment, a signature is used as the verification data for the content data, but this is not limited to the above. If the vehicle has a secret key shared with the server and the traffic light, the MAC (Message Authentication Code) of the content data may be used as the verification data. In this case, the MAC may be CMAC or HMAC.

[0155] (6) In the above embodiment, the signature is generated for the hash value of the content data, but this is not limited to the above. The hash values ​​of multiple partial data may be combined, a new hash value may be generated for the combined hash value, and a signature may be generated for this hash value. This shortens the hash value for which the signature is generated, allowing the signature to be generated efficiently.

[0156] (7) Each device in the above embodiments is specifically a computer system consisting of a microprocessor, ROM, RAM, a hard disk unit, a display unit, a keyboard, a mouse, etc. A computer program is recorded in the RAM or the hard disk unit. Each device achieves its function by the microprocessor operating in accordance with the computer program. Here, the computer program is composed of a combination of multiple instruction codes that indicate commands for a computer to achieve a specified function.

[0157] (8) In each of the above embodiments, some or all of the constituent elements may be configured from a single system LSI (Large Scale Integration). The system LSI is a super multi-function LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system including a microprocessor, ROM, RAM, etc. A computer program is recorded in the RAM. The system LSI achieves its functions by the microprocessor operating in accordance with the computer program.

[0158] Furthermore, each of the components constituting each of the above devices may be individually implemented as a single chip, or some or all of them may be included in a single chip.

[0159] In addition, although we refer to it as a system LSI here, it may also be called an IC, LSI, super LSI, or ultra LSI depending on the degree of integration. Also, the method of integration is not limited to LSI, but may be realized by a dedicated circuit or a general-purpose processor. It is also possible to use an FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI.

[0160] Furthermore, if a new integrated circuit technology that can replace LSI appears due to the progress of semiconductor technology or a derivative technology, it is possible to integrate the functional blocks using that technology. The application of biotechnology is also a possibility.

[0161] (9) Some or all of the components constituting each of the above devices may be composed of an IC card or a standalone module that can be attached to each device. The IC card or module is a computer system composed of a microprocessor, ROM, RAM, etc. The IC card or module may include the above-mentioned ultra-multifunction LSI. The IC card or module achieves its functions when the microprocessor operates according to a computer program. This IC card or module may be tamper-resistant.

[0162] (10) The present invention may be embodied as the methods described above. It may also be embodied as a computer program for implementing these methods by a computer, or as a digital signal comprising the computer program.

[0163] The present invention may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray (registered trademark) Disc), a semiconductor memory, etc. Also, the present invention may be the digital signal recorded on these recording media.

[0164] Furthermore, the present invention may involve transmitting a computer program or a digital signal via an electric communication line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.

[0165] The present invention may also be a computer system having a microprocessor and a memory, the memory storing a computer program, and the microprocessor operating in accordance with the computer program.

[0166] In addition, the program or digital signal may be implemented by another independent computer system by recording it on the recording medium and transferring it, or by transferring the program or digital signal via the network, etc.

[0167] (11) The above-described embodiments and modifications may be combined with each other.

[0168] In each of the above embodiments, each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component. Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory. Here, the software for realizing the verification device of each of the above embodiments is a program such as the following.

[0169] In other words, this program causes a computer to execute a verification method for verifying content data used in a vehicle, which acquires the content data, a plurality of first hash values ​​generated from each of a plurality of partial data into which the content data is divided, and a signature generated using the plurality of first hash values ​​and a private key, acquires status information indicating the status of the vehicle, determines N, which is an integer greater than or equal to 1, according to the acquired status information, generates a second hash value from each of the N pieces of partial data among the plurality of partial data, verifies the content data using (a) first hash values ​​generated from each of the partial data excluding the N pieces of partial data among the plurality of partial data among the plurality of partial data, (b) the generated second hash value, and (c) the acquired signature, and outputs information indicating the result of the verification.

[0170] Although the verification device according to one or more aspects has been described based on the embodiment, the present invention is not limited to this embodiment. As long as it does not deviate from the spirit of the present invention, various modifications conceived by a person skilled in the art to this embodiment and forms constructed by combining components in different embodiments may also be included within the scope of one or more aspects. [Industrial Applicability]

[0171] The present invention enables efficient verification while maintaining a practical level of security by randomly selecting and verifying a portion of the content when downloading large volumes of content data such as map information, thereby making it possible to build a secure system. [Explanation of symbols]

[0172] 10 Content Verification System 100a, 100b vehicles 101 Gateway 110 Engine 120 Transmission 130 Brake 140 Steering 150 Automatic Brake 160 Lane Keeping Device 170 Inter-vehicle communication device 180 Head Unit 190 ITS equipment 111, 121, 131, 141, 151, 161, 171, 181, 191 ECU 200 Servers 201, 301 Content Collection Department 202, 302 Content DB 203, 303 Content division section 204, 304 Encryption processing unit 205, 305, 1002 Key holding part 206, 308, 1005 Communications Department 300 Traffic Lights 306 Content Transmission Unit 307 Sensor Information Collection Unit 1001 Content Verification Department 1003 Message processing unit 1004 Vehicle status storage unit C1, C2, D1 Content data C11, C12, C13, C14, C15, D11, D12, D13, D14, D15 Partial Data H11, H12, H13, H14, H15, J11, J12, J13, J14, J15, J21, J23 hash values S1, T1 Signature V, W validation data

Claims

1. A method for verifying content data used in a vehicle, comprising the steps of: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated by using the plurality of first hash values ​​and a private key; acquiring status information indicating a status of the vehicle; determining N, which is an integer equal to or greater than 1, according to the acquired state information, and generating a second hash value from each of the N pieces of partial data among the plurality of partial data; (a) verifying the content data using first hash values ​​generated from each of the plurality of partial data excluding the N pieces of partial data among the plurality of partial data among the plurality of first hash values ​​obtained, (b) the generated second hash value, and (c) the obtained signature; outputting information indicating a result of the verification; When the content data includes map data, when generating the second hash value, the N pieces of partial data are selected from the plurality of partial data according to a position of the vehicle, and a second hash value is generated from each of the selected N pieces of partial data. Verification method.

2. and when the content data includes map data, when generating the second hash value, the N pieces of partial data are selected from the plurality of partial data so as to include map data close to a position of the vehicle. The method of claim 1 .

3. and when the content data includes map data, when generating the second hash value, the N pieces of partial data are selected so as to include a difference with respect to the previously selected N pieces of partial data. The method of claim 1 .

4. When the content data includes map data, and the map data is data in which dynamic information is superimposed on static information, when generating the second hash value, the N pieces of partial data are selected from the plurality of partial data so as to include more of the dynamic information than the static information. The method of claim 1 .

5. the state information indicates whether the vehicle is moving, When generating the second hash value, When the vehicle is moving, the N is set to a first value; When the vehicle is not moving, the N is set to a second value greater than the first value; Using the determined N, the second hash value is generated from each of the N pieces of partial data. The method of claim 1 .

6. the state information indicates a processing load of a device that executes the verification method as a state of the vehicle; When generating the second hash value, The higher the processing load, the smaller the value of N is set, and the second hash value is generated from each of the N pieces of partial data using the set N. The verification method according to any one of claims 1 to 5.

7. the state information indicates, as a state of the vehicle, a communication volume of a communication performed by a device that executes the verification method; When generating the second hash value, The larger the communication volume, the smaller the value of N is set, and the second hash value is generated from each of the N pieces of partial data using the set N. The verification method according to any one of claims 1 to 6.

8. When generating the second hash value, N is determined according to the type or size of the content data, and the second hash value is generated from each of the N pieces of partial data using the determined N. The verification method according to any one of claims 1 to 7.

9. When generating the second hash value, it is determined which of the plurality of partial data should be selected as the N pieces of partial data based on the type of the content data, and the second hash value is generated from each of the N pieces of partial data selected based on the determination. The verification method according to any one of claims 1 to 8.

10. The type of the content data includes an index indicating an update interval of the content data. The verification method according to claim 8 or 9.

11. A verification device for verifying content data used in a vehicle, comprising: A processor and a memory coupled to the processor, The processor uses the memory to: acquiring the content data, a plurality of first hash values ​​generated from each of a plurality of partial data obtained by dividing the content data, and a signature generated by using the plurality of first hash values ​​and a private key; acquiring status information indicating a status of the vehicle; determining N, which is an integer equal to or greater than 1, according to the acquired state information, and generating a second hash value from each of the N pieces of partial data among the plurality of partial data; (a) verifying the content data using first hash values ​​generated from each of the plurality of partial data excluding the N pieces of partial data among the plurality of partial data among the plurality of first hash values ​​obtained, (b) the generated second hash value, and (c) the signature; outputting information indicating a result of the verification; When the content data includes map data, when generating the second hash value, the N pieces of partial data are selected from the plurality of partial data according to a position of the vehicle, and a second hash value is generated from each of the selected N pieces of partial data. Verification device.

12. A program for causing a processor to execute the verification method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Unauthorized content detection system

    JP2007535189A

  • Navigation device, navigation method, information delivery system, and information delivery method

    JP2008175648A

  • Communications system, transmitter, receiver, and transmitter-receiver

    JP2011229076A

  • Signature device, signature method, and signature program

    JP2012199721A

  • Information processor, information processing system, information processing method, and program

    JP2013055511A