WO2014119380A1 - アクセス制限装置、車載通信システム及び通信制限方法 - Google Patents

アクセス制限装置、車載通信システム及び通信制限方法 Download PDF

Info

Publication number
WO2014119380A1
WO2014119380A1 PCT/JP2014/050734 JP2014050734W WO2014119380A1 WO 2014119380 A1 WO2014119380 A1 WO 2014119380A1 JP 2014050734 W JP2014050734 W JP 2014050734W WO 2014119380 A1 WO2014119380 A1 WO 2014119380A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
information
vehicle
access
communication unit
Prior art date
Application number
PCT/JP2014/050734
Other languages
English (en)
French (fr)
Inventor
哲矢 野田
啓史 堀端
岡田 宏
直樹 足立
Original Assignee
株式会社オートネットワーク技術研究所
住友電装株式会社
住友電気工業株式会社
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 株式会社オートネットワーク技術研究所, 住友電装株式会社, 住友電気工業株式会社 filed Critical 株式会社オートネットワーク技術研究所
Priority to DE112014000623.8T priority Critical patent/DE112014000623T5/de
Priority to CN201480006785.1A priority patent/CN104955680B/zh
Priority to US14/764,019 priority patent/US10027672B2/en
Publication of WO2014119380A1 publication Critical patent/WO2014119380A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • H04W12/082Access security using revocation of authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Definitions

  • the present invention relates to an apparatus such as an in-vehicle gateway capable of adding and updating a program, etc., an access restriction apparatus for preventing the program from making unauthorized access to a network in the vehicle, and an in-vehicle apparatus using this apparatus
  • the present invention also relates to an in-vehicle communication system and a communication restriction method capable of restricting communication of an external device.
  • the program to be executed is also highly functional, and it may be necessary to update such as upgrading the program.
  • the functions required for each user may be different, and it is considered that convenience can be improved by enabling selection or customization of functions according to user preferences. Additions or changes may be necessary.
  • OSGi Open Services Gateway initiative
  • Patent Document 1 proposes a system for using mobile devices networked in a vehicle using OSGi technology.
  • the mobile device client program of the in-vehicle device communicates with the mobile device, and the dynamic application program is transferred from the mobile device to the in-vehicle device.
  • an application that uses components such as a vehicle display or a speaker can be executed.
  • the in-vehicle electronic device is configured to be able to add and update programs, a program created by a malicious third party may be added and executed. As a result, for example, there is a risk that information transmitted and received on the in-vehicle network may be leaked to the outside by an unauthorized program.
  • the present invention has been made in view of such circumstances, and an object of the present invention is to prevent information leakage to the outside due to unauthorized access to an in-vehicle network by an unauthorized program. It is to provide an access restriction device, an in-vehicle communication system and a communication restriction method.
  • An access restriction device is mounted on a vehicle and includes a first communication unit that communicates with an in-vehicle device via an in-vehicle network disposed in the vehicle, and a second communication unit that communicates with an external device.
  • a program storage unit for storing a program for performing processing related to information transmitted / received in the first communication unit and / or processing related to information transmitted / received in the second communication unit, and a program stored in the program storage unit
  • a processing unit that executes processing by executing a plurality of programs, and a program addition / updating unit that adds or updates a program to be executed by the processing unit through communication with an external device by the second communication unit;
  • a first determination unit that determines, for each program, a level of access authority for information received by one communication unit; and an access permission for permitting access to information received by the first communication unit.
  • a second determination unit that determines the level of the authority for each information received by the first communication unit, and the first communication unit receives the processing performed by the processing unit executing a program.
  • the access request for the information is made, the information according to the level of access authority of the program determined by the first determination unit and the level of access authority related to the information determined by the second determination unit
  • Access restriction means for restricting access to.
  • the access restriction unit makes a request for information transmission from the first communication unit to the in-vehicle network in a process performed by the processing unit executing a program.
  • the first communication unit to the in-vehicle device according to the level of access authority of the program determined by the first determination unit and the level of access authority related to the information determined by the second determination unit.
  • the transmission of information is limited.
  • the access restriction device includes a position information acquisition unit that acquires position information of the vehicle, and a position of the vehicle related to the position information acquired by the position information acquisition unit is within a predetermined position or a predetermined position range.
  • a position determination unit that determines whether the program is added or not, and a program addition / update restriction unit that restricts addition or update of the program by the program addition / update unit according to a determination result of the position determination unit. To do.
  • the program addition / update restriction means adds or updates the program by the program addition / update means according to the access authority level of the program and the determination result of the position determination means. It is characterized by restricting.
  • the access restriction device includes vehicle information acquisition means for acquiring information relating to the vehicle, and the program addition update restriction means is configured to add the program based on the information acquired by the vehicle information acquisition means.
  • the addition or update of the program by the update means is restricted.
  • the access restriction device further includes a stop determination unit that determines whether or not the vehicle is in a stopped state based on the information acquired by the vehicle information acquisition unit, and the program additional update restriction unit includes: The addition or update of the program by the program addition / update means is restricted when the stop determination means determines that it is not in a stopped state.
  • the information acquired by the vehicle information acquisition means is vehicle speed information of the vehicle and / or information indicating an operation state of a motor of the vehicle.
  • the access restriction apparatus further includes an access authority level information storage unit that stores access authority level information in which a program distribution source and an access authority level are associated with each other, and the first determination unit includes an access authority level.
  • the access authority level of the program is determined based on the access authority level information stored in the information storage unit.
  • the amount of information transmitted from the first communication unit to the in-vehicle network exceeds a predetermined amount in processing performed by the processing unit executing a program.
  • the information processing apparatus is characterized by comprising a blocking means for blocking transmission of information.
  • the access restriction device is characterized in that the predetermined amount is an amount determined according to a level of access authority of the program.
  • the access restriction device includes a log information generation unit that generates log information related to the access when the access restriction unit restricts access to the information, and log information generated by the log information generation unit. And a log information storage unit for storing.
  • the in-vehicle communication system is mounted on a vehicle, and a first communication unit that communicates with an in-vehicle device via an in-vehicle network disposed in the vehicle, and a second communication unit that communicates with an external device.
  • a program storage unit for storing a program for performing processing related to information transmitted / received in the first communication unit and / or processing related to information transmitted / received in the second communication unit, or one stored in the program storage unit
  • a processing unit that executes processes by executing a plurality of programs, a program addition / updating unit that adds or updates a program to be executed by the processing unit through communication with an external device by the second communication unit, the first communication unit 1st determination means for determining the level of access authority for the information received by each program, and the access right for permitting access to the information received by the first communication unit
  • the second determination means for determining the level of each of the information received by the first communication unit, and the first communication unit received by the processing performed by the processing unit executing the program
  • the access authority level of the program is determined according to the access authority level of the program determined by the first determination means and the access authority level of the information determined by the second determination means.
  • An access restriction device having access restriction means for restricting access; and one or a plurality of in-vehicle devices connected to the access restriction device via an in-vehicle network, wherein the in-vehicle device is connected to the external device via the access restriction device. It is characterized in that it communicates with.
  • the communication restriction method includes a first communication unit that is mounted on a vehicle and communicates with an in-vehicle device via an in-vehicle network arranged in the vehicle, and a second communication unit that communicates with an external device.
  • a program storage unit for storing a program for performing processing related to information transmitted / received in the first communication unit and / or processing related to information transmitted / received in the second communication unit, or one stored in the program storage unit
  • An access restriction comprising a processing unit for executing processing by executing a plurality of programs, and a program addition / updating unit for adding or updating a program to be executed by the processing unit through communication with an external device by the second communication unit
  • an access restriction device including a first communication unit that communicates with an in-vehicle device via an in-vehicle network and a second communication unit that communicates with an external device wirelessly and / or via a wire is interposed. Communication between the in-vehicle device and the external device.
  • the access restriction device is configured to be able to add or update a program to be executed by the processing unit, and the program is acquired from an external device by communication of the second communication unit.
  • the access restriction device determines the level of access authority for information for each program and determines the level required for access for each information.
  • the access restriction device When an access request for in-vehicle network information is made in the processing performed by the execution of the program, the access restriction device, if the access authority level of this program has reached the required level of information related to the access request, Access to this information received by the first receiver is permitted. On the other hand, if the access authority level of the program does not reach the required level of information, the access restriction device prohibits access to this information.
  • the access restriction device By performing such access restriction, it is possible to provide a highly reliable program by providing a lot of information related to the vehicle to a highly reliable program. In addition, it is possible to limit information to be given to a program with low reliability, and to prevent leakage of highly important information to the outside.
  • the access restriction device performs the same restriction when information is transmitted from the first communication unit to the in-vehicle device via the in-vehicle network in the process performed by executing the program. That is, the access restriction device permits transmission of this information when the level of access authority of the program has reached the required level of information to be transmitted, and the level of access authority of the program has reached the required level of information to be transmitted. If not, transmission of this information is prohibited. By restricting such information transmission, unauthorized information transmission to the in-vehicle network by an unauthorized program can be prevented.
  • the access restriction device acquires vehicle position information using GPS (Global Positioning System) or the like, and determines whether or not the vehicle position is within a predetermined position or a predetermined position range. For example, the access restriction device determines whether or not the position of the vehicle is within the range of several tens of meters from the location of the dealer of the vehicle or the location.
  • the access restriction device permits addition or update of a program when the vehicle position is within a predetermined position or a predetermined position range, and prohibits addition or update of a program when the vehicle position is not within the predetermined position or the predetermined position range. To do. By restricting the addition or update of the program according to the position of the vehicle as described above, it is possible to prevent an unauthorized program from being added or updated by a malicious third party.
  • vehicle information is acquired to determine the vehicle status, and addition or update of the program is restricted.
  • vehicle speed information of the vehicle or operation state information of the prime mover is acquired, and it is determined whether or not the vehicle is in a stopped state based on these information.
  • addition or update of the program is restricted. Thereby, it is possible to prevent the program from being added or updated while the vehicle is running.
  • the restriction device when the access restriction device restricts addition or update of a program according to the position of the vehicle, the restriction may be performed in consideration of the access authority level of the program. For example, a program with a high access authority level is restricted to be added or updated according to the vehicle position, and a program with a low access authority level is not restricted to be added or updated according to the vehicle position. Can do.
  • the access restriction device stores access authority level information in which the program distribution source and the access authority level are associated with each other. For example, when a new program is added, the access restriction device can determine the access authority level of this program with reference to the access authority level information.
  • the distribution source of the program can be determined based on, for example, an electronic signature attached to the program, and can be determined based on, for example, address information of a communication destination when the program is added.
  • the access restriction device blocks information transmission. Thereby, it is possible to prevent the in-vehicle network from being in a busy state by an unauthorized program transmitting a large amount of information to the in-vehicle network.
  • the access restriction device when the access restriction device blocks transmission according to the amount of information, it may be blocked in consideration of the access authority level of the program. For example, a program with a high access authority level may be permitted to transmit a large amount of information, and a program with a low access authority level may be configured to suppress the amount of information permitted to be transmitted.
  • the access restriction device when the access restriction device restricts access, log information indicating that fact is generated and stored. Thereby, it is possible to investigate whether or not there is an unauthorized program at the time of vehicle repair or inspection, for example.
  • the access restriction device restricts access to the information by the program according to whether or not the access authority level of the program has reached the required level of the information related to the access request. It is possible to restrict access to programs with low characteristics and prevent leakage of important information to the outside.
  • FIG. 12 is a flowchart illustrating a procedure of a program addition or update restriction process performed by the security controller according to the second embodiment.
  • FIG. 1 is a schematic diagram showing a configuration of an in-vehicle communication system according to the present embodiment.
  • reference numeral 1 indicated by a one-dot chain line is a vehicle.
  • the vehicle 1 has a plurality of communication groups of a plurality of ECUs 50 that are bus-connected to a common communication line, and the gateway 30 relays communication between the communication groups. For this reason, a plurality of communication lines are connected to the gateway 30.
  • the gateway 30 is connected to the security controller 10, transmits information from the security controller 10 to the ECU 50, and gives information received from the ECU 50 to the security controller 10.
  • the security controller 10 has a function of relaying communication between the terminal device 3 or various server devices 5 possessed by the user and the in-vehicle network of the vehicle 1 including the gateway 30, the ECU 50, and the like. Connected to the gateway 30.
  • the terminal device 3 is a device such as a mobile phone, a smart phone, a tablet terminal, or a notebook PC (Personal Computer) possessed by the user, and performs wired or wireless communication with the security controller 10.
  • the server device 5 is installed at a suitable location outside the vehicle 1 and communicates directly with the security controller 10 of the vehicle 1 and / or indirectly via the terminal device 3.
  • FIG. 2 is a block diagram showing the configuration of the security controller 10.
  • the security controller 10 includes a central processing unit (CPU) 11, a random access memory (RAM) 12, a position information acquisition unit 13, a wired communication unit 14, a wireless communication unit 15, an in-vehicle communication unit 16, a storage unit 17, and the like. Has been.
  • the CPU 11 is an arithmetic processing unit that performs various processes by reading one or more programs stored in the program storage unit 17a of the storage unit 17 into the RAM 12 and executing them. In the illustrated example, the CPU 11 executes three programs A to C. The CPU 11 can execute a plurality of programs in parallel by switching and executing the plurality of programs by, for example, time division.
  • the RAM 12 is composed of a memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores programs executed by the CPU 11, data necessary for execution, and the like.
  • the position information acquisition unit 13 acquires the position information of the vehicle 1 and gives it to the CPU 11.
  • the position information acquisition unit 13 is connected to an antenna that receives a GPS (Global Positioning System) signal, and can calculate the position (latitude, longitude, etc.) of the vehicle 1 based on the received signal.
  • the position information acquisition unit 13 may calculate the position of the vehicle 1 using information obtained from a sensor such as a speed sensor, an acceleration sensor, or a gyro sensor, map information, and the like.
  • the car navigation device When the car navigation device is mounted on the vehicle 1, the car navigation device may perform the process of calculating the position of the vehicle 1, and the security controller 10 may acquire and use the calculation result.
  • the wired communication unit 14 has a connector for connecting a communication cable or the like, and performs communication with the terminal device 3 through the connected communication cable.
  • the wired communication unit 14 performs communication according to standards such as USB (Universal Serial Bus) or RS232C.
  • the wired communication unit 14 transmits the information given from the CPU 11 to the terminal device 3 and gives the information received from the terminal device 3 to the CPU 11.
  • the wireless communication unit 15 performs wireless communication with the terminal device 3 existing in the vehicle 1 or within a range where the wireless signal reaches from the vehicle 1 using a radio signal such as radio waves or light.
  • the wireless communication unit 15 performs wireless communication according to a standard such as a wireless LAN (Local Area Network) or Bluetooth (registered trademark). Further, the wireless communication unit 15 may be configured to communicate with the server device 5 or the like set in a remote place from the vehicle 1 using a public mobile phone network or the like.
  • the wireless communication unit 15 transmits information given from the CPU 11 to an external device such as the terminal device 3 or the server device 5 and gives information received from the external device to the CPU 11.
  • the in-vehicle communication unit 16 is connected to a gateway 30 mounted on the vehicle 1 via a communication cable.
  • the in-vehicle communication unit 16 performs communication with the gateway 30 in accordance with a standard such as CAN (Controller Area Network) or LIN (Local Interconnect Network).
  • the in-vehicle communication unit 16 transmits the information given from the CPU 11 to the gateway 30 and gives the information received from the gateway 30 to the CPU 11.
  • the storage unit 17 is configured using a nonvolatile memory element such as a flash memory or EEPROM (ElectricallyrErasable Programmable Read Only Memory), or a magnetic storage device such as a hard disk.
  • the storage unit 17 includes a program storage unit 17a that stores programs executed by the CPU 11, data necessary for execution, and the like.
  • the storage unit 17 stores additional update permission position information 17b, an access authority level table 17c, an access permission level table 17d, log information 17e, and the like.
  • the security controller 10 is configured such that a program executed by the CPU 11 can be added, updated, or deleted.
  • a program executed by the CPU 11 can be added, updated, or deleted.
  • the terminal device 3 acquires speed information of the vehicle 1 and the like. It is possible to calculate the vehicle position with high accuracy. Therefore, the user can add (so-called install) a program that acquires the speed information of the vehicle 1 and transmits it to the terminal device 3 in conjunction with the car navigation program of the terminal device 3 in the security controller 10.
  • the security controller 10 can be configured to add, update, and delete programs by adopting OSGi technology.
  • OSGi is a system that manages the dynamic addition and execution of a program called a bundle, and the OSGi framework, which is the execution platform of the bundle, operates on the CPU 11. Since OSGi is an existing technology, detailed description thereof is omitted.
  • the security controller 10 may adopt a technique other than OSGi to add, update, and delete programs.
  • the CPU 11 of the security controller 10 receives an additional instruction based on the user's operation when an instruction to add a program is given from the terminal device 3, or from an operation unit (not shown) provided near the driver's seat of the vehicle 1. When is given, the process of adding a program is performed. As the program to be added, for example, the security controller 10 may acquire what is stored in the terminal device 3, or may be acquired from the server device 5, for example. The CPU 11 of the security controller 10 stores the program acquired from the terminal device 3 or the server device 5 in the program storage unit 17 a of the storage unit 17. Thereafter, the CPU 11 can read out the added program from the storage unit 17 and execute it as necessary, and perform processing related to this program.
  • the CPU 11 of the security controller 10 performs a program update process on the program already stored in the storage unit 17 for the purpose of, for example, function expansion or defect correction.
  • the program update processing may be performed, for example, when an update instruction is given from the operation unit of the vehicle 1 or the terminal device 3 or the like.
  • the communication with the server device 5 or the like is periodically performed to update the program.
  • the CPU 11 may determine whether it is necessary or not and perform it voluntarily.
  • the CPU 11 of the security controller 10 updates partly or all of the program stored in the program storage unit 17a of the storage unit 17 from the terminal device 3 or the server device 5 (update program or data). Etc.) to update the program.
  • the CPU 11 of the security controller 10 performs a process of deleting the program stored in the program storage unit 17a of the storage unit 17. For example, when an instruction to delete a program is given from the operation unit of the vehicle 1 or the terminal device 3 or the like, the CPU 11 deletes the corresponding program from the program storage unit 17a.
  • the security controller 10 is configured such that the user can add and update programs as necessary, and therefore a program created by a malicious third party is stored in the security controller 10. There is a possibility that the CPU 11 is added and executed. Therefore, the security controller 10 according to the present embodiment has a function of restricting access to information transmitted and received in the in-vehicle network in order to prevent unauthorized access to the inside of the vehicle 1 by an unauthorized program.
  • the access restriction function by the security controller 10 will be described.
  • the security controller 10 determines the level of access authority for information transmitted / received through the in-vehicle network for each program executed by the CPU 11. This determination may be performed, for example, when a program is received from an external device and stored in the program storage unit 17a. For example, the determination may be performed each time the program is executed. For example, each time an access request for information is issued from the program. It may be performed at other timings.
  • the CPU 11 of the security controller 10 determines the access authority level of each program based on information included in the access authority level table 17 c stored in the storage unit 17.
  • FIG. 3 is a schematic diagram showing a configuration example of the access authority level table 17c.
  • the access authority level table 17c stores information relating to the program distribution source and the access authority level in association with each other.
  • the company names such as “a” company, “b” company, etc. are described as the program distribution sources in the access authority level table 17c.
  • this is an example, and is information that can identify the program distribution source. Any information may be used.
  • the CPU 11 adds or updates a program, the CPU 11 determines the distribution source of the program based on information such as an electronic signature attached to the program or an IP (Internet Protocol) address of the server device 5 that has acquired the program.
  • IP Internet Protocol
  • three levels of levels 1 to 3 are set as access authority levels in the access authority level table 17c.
  • the access authority level may be two or four or more.
  • the access authority level indicates that the larger the numerical value, the higher the access authority. That is, the program of access authority level 3 can access more information than the program of access authority level 1 or 2.
  • company a is the manufacturer of the vehicle 1 and has the highest access authority level 3.
  • access authority level 2 is set for company b and company c
  • access authority level 1 is set for company y and company z.
  • the access authority level is expressed by a numerical value. However, this is an example, and any information may be used as long as the information can identify the priority order.
  • the CPU 11 of the security controller 10 searches for the corresponding distribution source from the access authority level table 17c based on the distribution source of the program determined from the electronic signature or the like at the time of addition or update.
  • the CPU 11 reads the corresponding access authority level, and stores the access authority level in the storage unit 17 in association with the program to be added or updated. If the program distribution source does not exist in the access authority level table 17c, the CPU 11 sets the program to be added or updated to a lower access authority level (for example, level 0) or adds such a program. Or renewal is not allowed.
  • the security controller 10 determines the access authority level permitting access as the access permission level for each information transmitted / received in the in-vehicle network of the vehicle 1 (that is, each information transmitted / received by the in-vehicle communication unit 16). .
  • the CPU 11 of the security controller 10 determines the access permission level for each piece of information transmitted and received based on the access permission level table 17 d stored in the storage unit 17.
  • FIG. 4 is a schematic diagram showing a configuration example of the access permission level table 17d.
  • the type of information transmitted and received and the access permission level are stored in association with each other.
  • engine control information, user information, position information, vehicle speed information, and the like are described as examples of information types in the access permission level table 17d.
  • These information types can be determined based on, for example, an ID (IDentifier) number assigned to a frame to be transmitted / received and a storage order of information in the frame when the in-vehicle network conforms to the CAN standard.
  • ID IDentifier
  • the access permission level in the access permission level table 17d three stages of levels 1 to 3 are set. However, this is an example, and the access permission level may be two or four or more.
  • the access permission level indicates that the larger the value, the higher the access authority level necessary for accessing information. That is, the information of the access permission level 3 can be accessed by a program having an access authority level 3 or higher.
  • Access permission level 1 information can be accessed by programs with access authority level 1 or higher.
  • the engine control information and the user information are set to the access permission level 3
  • the position information is set to the access permission level 2
  • the vehicle speed information is set to the access permission level 1.
  • the access permission level is expressed by a numerical value. However, this is an example, and any information may be used as long as the information can identify the priority order.
  • the CPU 11 of the security controller 10 determines the access authority level of the program and the access permission level of the information related to the access request when an access request to the information on the in-vehicle network is made by executing the program.
  • the access authority level of the program is equal to or higher than the information access permission level
  • the CPU 11 permits access of information by the program. That is, the CPU 11 acquires information related to the access request from the reception information of the in-vehicle communication unit 16 and uses it for processing of this program.
  • the access authority level of the program is less than the information access permission level, the CPU 11 does not permit the information access by this program. Processing when access is not permitted is left to each program.
  • the CPU 11 of the security controller 10 determines the access authority level of the program and the access permission level of the information to be transmitted.
  • the CPU 11 permits information transmission by this program and transmits information from the in-vehicle communication unit 16 to the in-vehicle network.
  • the CPU 11 does not permit information transmission by this program.
  • the security controller 10 performs processing such as addition and update of a program as described above.
  • the addition and update of the program is restricted according to the access authority level and the position of the vehicle 1.
  • the CPU 11 of the security controller 10 restricts the addition or update of the access authority level 3 program according to the position of the vehicle 1, and the addition or update of the access authority level 1 or 2 program determines the position of the vehicle 1. Do not limit according to
  • the security controller 10 stores information on the position of the vehicle 1 that is permitted to perform processing such as addition and update of programs in the storage unit 17 as additional update permission position information 17b.
  • additional update permission position information 17b for example, position information of related facilities (dealers, maintenance shops, etc.) of the manufacturer of the vehicle 1 is registered at a plurality of locations. For example, information such as latitude and longitude can be adopted as the position information.
  • the CPU 11 of the security controller 10 determines whether the position of the vehicle 1 related to the position information acquired by the position information acquisition unit 13 is registered in the additional update permission position information 17b. If this position is true, the program addition or update process is permitted and this process is performed. The CPU 11 adds a program not only when the position of the vehicle 1 completely matches the registered position but also when the vehicle 1 is located within a predetermined range such as several hundred meters from the registered position. Alternatively, update processing may be permitted. When the position of the vehicle 1 does not correspond to the registered position, the CPU 11 does not allow the program addition or update process and does not perform this process.
  • the security controller 10 limits information transmission to the in-vehicle network by this program according to the amount of information transmitted to the in-vehicle network as the program is executed. For this reason, the CPU 11 of the security controller 10 monitors the information transmission amount regarding each program per unit time. When the information transmission amount of any program exceeds a predetermined amount, the CPU 11 blocks information transmission by this program. At this time, the CPU 11 may temporarily or completely block not only information transmission related to programs whose information transmission amount exceeds a predetermined amount but also information transmission related to all programs.
  • the predetermined amount used for determining whether or not the information transmission is interrupted by the CPU 11 may not be the same value for all programs, but may be a different value for each program. For example, for a program with a high access authority level, a predetermined amount is set to a large value and a large amount of information can be transmitted. For a program with a low access authority level, a predetermined amount is set to a small value to limit the amount of information that can be transmitted. Can do.
  • the security controller 10 performs a restriction when a restriction process such as an access restriction on the above-described information, an information transmission restriction, an additional program update restriction, or a transmission interruption by an information transmission amount is performed.
  • Log information 17e relating to the processing is generated and stored in the storage unit 17.
  • the log information 17e can include, for example, information such as a program that has caused the restriction process, the date and time when the restriction process was performed, and the contents of the restriction process.
  • the log information 17e can be read only when, for example, a dedicated terminal device 3 is connected to the wired communication unit 14 in a dealer of the vehicle 1 or a maintenance factory.
  • FIG. 5 is a flowchart illustrating a procedure of a program addition or update restriction process performed by the security controller 10.
  • the terminal device 3 is connected to the wired communication unit 14 of the security controller 10 via a communication cable, and the authentication process is completed and communication between the security controller 10 and the terminal device 3 is established.
  • the security controller 10 receives an instruction to add or update a program from the terminal device 3, communicates with the server device 5 via the terminal device 3, and acquires a program to be added or updated from the server device 5. .
  • the CPU 11 of the security controller 10 determines whether or not a request for adding or updating a program has been received from the terminal device 3 (step S1). If the request has not been received (S1: NO), the request is accepted. Wait until.
  • the CPU 11 performs an authentication process with the server device 5 by communication via the terminal device 3 connected to the wired communication unit 14 (step S1). S2). For example, the CPU 11 performs authentication processing with the server device 5 using authentication information such as a user ID and a password stored in the storage unit 17.
  • the CPU 11 determines whether or not the authentication process is successful (step S3). If the authentication process fails (S3: NO), the CPU 11 ends the process and does not perform the program addition or update process.
  • the CPU 11 acquires the program to be processed from the server device 5 via the terminal device 3 (step S4) and temporarily stores it in the RAM 12, for example.
  • the CPU 11 confirms the distribution source of the program based on the electronic signature attached to the acquired program (step S5), and the access authority level of the program based on the access authority level table 17c stored in the storage unit 17 Is determined (step S6).
  • the CPU 11 determines whether or not the access authority level of the program is level 3 (step S7).
  • the CPU 11 acquires position information by the position information acquisition unit 13 (step S8), and determines whether or not the position of the vehicle 1 is a predetermined position. (Step S9).
  • the CPU 11 does not add or update the program, generates the log information 17e and stores it in the storage unit 17 (step S10), and ends the process.
  • the CPU 11 adds or updates the program. (Step S11), log information 17e is generated and stored in the storage unit 17 (Step S12), and the process is terminated. At this time, the CPU 11 stores the program temporarily stored in the RAM 12 or the like in the program storage unit 17a of the storage unit 17 and performs processing such as registration of information necessary for executing the program, thereby adding a program or Update.
  • FIG. 6 is a flowchart showing a procedure of access restriction processing performed by the security controller 10.
  • the CPU 11 of the security controller 10 determines whether or not an access request for information on the in-vehicle network has been made by executing the program stored in the program storage unit 17a (step S21). If no access request is made (S21: NO), the CPU 11 waits until an access request is made.
  • the CPU 11 determines the access authority level of the program that made the access request (step S22).
  • the CPU 11 may read the previous determination result in step S22. Further, the CPU 11 determines the access permission level of the information that is the target of the access request based on the access permission level table 17d stored in the storage unit 17 (step S23).
  • the CPU 11 determines whether or not the access authority level of the program determined in step S22 is equal to or higher than the access permission level of the information determined in step S23 (step S24).
  • the access authority level is equal to or higher than the access permission level (S24: YES)
  • the CPU 11 permits access to information by the program (step S25), generates log information 17e and stores it in the storage unit 17 (step S25).
  • S26 The information received by the in-vehicle communication unit 16 is given to the program that issued the access request to perform processing.
  • the access authority level is lower than the access permission level (S24: NO)
  • the CPU 11 prohibits access of information by the program (step S27), generates log information 17e, and stores it in the storage unit 17 (step S28). ), The process is terminated.
  • FIG. 7 is a flowchart showing the procedure of the transmission restriction process based on the information transmission amount performed by the security controller 10.
  • the CPU 11 of the security controller 10 calculates the information transmission amount per unit time from the in-vehicle communication unit 16 to the in-vehicle network for each program being executed (step S31).
  • the CPU 11 determines whether or not the calculated information transmission amount exceeds a predetermined amount determined for each access authority level of the program (step S32). When the information transmission amount does not exceed the predetermined amount (S32: NO), The process is terminated without limiting transmission.
  • the CPU 11 blocks information transmission to the in-vehicle network by this program (step S33) and does not perform subsequent information transmission. Further, the CPU 11 generates log information 17e relating to blocking of information transmission and stores it in the storage unit 17 (step S34), and ends the process. Note that the CPU 11 periodically repeats the process shown in FIG. 7 for each program for a plurality of programs to be executed in parallel.
  • FIG. 8 is a flowchart showing the procedure of the transmission restriction process based on the access authority level performed by the security controller 10.
  • the CPU 11 of the security controller 10 determines whether or not an information transmission request to the in-vehicle network has been made by executing the program stored in the program storage unit 17a (step S41). When the information transmission request is not made (S41: NO), the CPU 11 stands by until the information transmission request is made. When an information transmission request is made (S41: YES), the CPU 11 further determines whether or not information transmission to this program is being blocked by the transmission restriction process shown in FIG. 7 (step S42). When the information transmission is being blocked (S42: YES), the CPU 11 ends the process.
  • the CPU 11 determines the access authority level of the program that made the information transmission request (step S43). The CPU 11 determines the access permission level of the information requested to be transmitted based on the access permission level table 17d stored in the storage unit 17 (step S44). Next, the CPU 11 determines whether or not the access authority level of the program determined in step S43 is equal to or higher than the access permission level of the information determined in step S44 (step S45). When the access authority level is equal to or higher than the access permission level (S45: YES), the CPU 11 permits information transmission by the program (step S46), and the in-vehicle communication unit 16 transmits information to the in-vehicle network. If the access authority level is lower than the access permission level (S45: NO), the CPU 11 prohibits information transmission by the program (step S47), generates log information 17e, and stores it in the storage unit 17 (step S48). The process is terminated.
  • the processing shown in FIGS. 5 to 8 is realized by the CPU 11 executing a basic program (for example, OS (Operating System) or OSGi framework) different from the program to be added or updated. .
  • the CPU 11 executes the basic program and the program to be added or updated in parallel.
  • one of the programs to be added or updated may be configured to perform the processing shown in FIGS.
  • the communication system is configured to perform communication between the ECU 50 and the like mounted on the vehicle 1 and the terminal device 3 or the server device 5 via the security controller 10.
  • the security controller 10 can execute one or a plurality of programs involving information transmission / reception processing, and can add or update these programs.
  • the security controller 10 performs a process of restricting access to information in the in-vehicle network that accompanies the execution of the program based on the access authority level of each program and the access permission level of each information. By performing such access restriction, a highly reliable program can be provided with a lot of information related to the vehicle 1 to provide an advanced service. In addition, it is possible to limit information to be given to a program with low reliability and prevent leakage of highly important information to the outside.
  • the security controller 10 also performs a process of restricting information transmission based on the access authority level of each program and the access permission level of each information when transmitting information to the in-vehicle network as the program is executed. Thereby, it is possible to prevent unauthorized information transmission to the in-vehicle network by an unauthorized program.
  • the security controller 10 acquires position information related to the vehicle 1 by the position information acquisition unit 13, and adds or updates a program depending on whether or not the position of the vehicle 1 is within a predetermined position or a predetermined position range. Make restrictions. Thereby, it is possible to prevent an unauthorized program from being added or updated by a malicious third party. Further, the security controller 10 restricts addition or update according to the position of the vehicle 1 for a program having a high access authority level. As a result, it is possible to prevent a program having a high access authority level from being added or updated illegally, and a program having a low access authority level can be added or updated regardless of the position of the vehicle 1. Can be improved.
  • the security controller 10 monitors the amount of information transmitted to the in-vehicle network accompanying the execution of the program, and interrupts information transmission when the amount of information transmitted exceeds a predetermined amount.
  • the security controller 10 permits a program with a high access authority level to transmit a large amount of information, and a program with a low access authority level keeps the amount of information permitted to be transmitted low. This prevents an unauthorized program from transmitting a large amount of information to the in-vehicle network.
  • the security controller 10 generates log information 17e and stores it in the storage unit 17 when access is restricted. Thereby, for example, when the vehicle 1 is repaired or inspected, it is possible to investigate whether or not there is an unauthorized program.
  • the gateway 30 is connected to the security controller 10 and a plurality of ECUs 50 are connected to the gateway 30.
  • the configuration of the in-vehicle network is an example, and the present invention is not limited to this.
  • the security controller 10 may be configured to have a gateway function, and a plurality of ECUs 50 may be connected to the security controller 10.
  • any ECU 50 may be configured to have the function of the security controller 10.
  • a plurality of security controllers 10 may be mounted on the vehicle 1.
  • the security controller 10 is configured to include both the wired communication unit 14 and the wireless communication unit 15, but is not limited thereto, and may be configured to include one of the wired communication unit 14 or the wireless communication unit 15. .
  • the security controller 10 communicates with the external device by power line communication via the power supply cable. It is good also as a structure.
  • the security controller 10 may be configured to be able to mount a recording medium such as a memory card or an optical disk, and may be configured to acquire a program to be added or updated from the recording medium.
  • FIG. 9 is a block diagram illustrating a configuration of the security controller 210 according to the second embodiment.
  • the security controller 210 according to the second embodiment includes a vehicle information acquisition unit 218.
  • the vehicle information acquisition unit 218 acquires information from the vehicle speed sensor 261 and the engine control unit 262 mounted on the vehicle 1 and supplies the information to the CPU 11.
  • the vehicle speed sensor 261 detects the traveling speed of the vehicle 1 and outputs the detection result to the vehicle information acquisition unit 218.
  • the engine control unit 262 is a device that controls the operation of the engine of the vehicle 1, and outputs information indicating whether the engine is operating or stopped to the vehicle information acquisition unit 218.
  • the CPU 11 given the information from the vehicle information acquisition part 218 determines whether the vehicle 1 is a driving
  • the CPU 11 can determine whether the vehicle 1 is in a running state or a stopped state, for example, depending on whether the vehicle speed detected by the vehicle speed sensor 261 exceeds a threshold value. Further, the CPU 11 may determine whether the vehicle 1 is in a running state or a stopped state based on, for example, information from the engine control unit 262 depending on whether the engine is operating or stopped. it can. In the present embodiment, the CPU 11 determines that the vehicle 1 is in a stopped state when the vehicle speed is equal to or lower than the threshold value and the engine is stopped. Further, the CPU 11 determines that the vehicle 1 is in a traveling state when the vehicle speed exceeds the threshold value or the engine is operating.
  • the security controller 10 according to the first embodiment described above performs restrictions according to the access authority level and the position of the vehicle 1 when performing processing such as addition and update of a program.
  • the security controller 210 according to the second embodiment further performs a restriction according to the state of the vehicle 1 in addition to the same restriction.
  • the CPU 11 of the security controller 210 according to the second embodiment performs, for example, restriction according to the position of the vehicle 1 and restriction according to the state of the vehicle 1 with respect to addition or update of the program of the access authority level 3.
  • the CPU 11 of the security controller 210 When the CPU 11 of the security controller 210 receives a program addition or update request, the position of the vehicle 1 related to the position information acquired by the position information acquisition unit 13 is registered in the additional update permission position information 17b. It is determined whether or not this position is met. When the position of the vehicle 1 does not correspond to the registered position, the CPU 11 does not allow the program addition or update process and does not perform this process.
  • the CPU 11 of the security controller 210 determines whether or not the vehicle 1 is in a stopped state based on the information acquired by the vehicle information acquisition unit 218. When the vehicle 1 is in a stopped state, the CPU 11 permits a program addition or update process and performs this process. When the vehicle 1 is not in a stopped state, that is, in a running state, the CPU 11 does not allow the program addition or update process and does not perform this process.
  • FIG. 10 is a flowchart showing a procedure of a program addition or update restriction process performed by the security controller 210 according to the second embodiment.
  • processes corresponding to steps S1 to S6 in the flowchart shown in FIG. 5 are simplified as the predetermined process in step S51.
  • the security controller 210 according to the second embodiment performs the same processing as the security controller 10 according to the first embodiment for steps S1 to S6 in FIG.
  • the CPU 11 of the security controller 210 When the CPU 11 of the security controller 210 according to the second embodiment receives a request to add or update a program from the terminal device 3, the authentication process, the process of acquiring the program from the server apparatus 5, and the distribution source of the acquired program The process of confirming the above and determining the access authority level is performed as a predetermined process (step S51).
  • the CPU 11 determines whether or not the access authority level of the program to be added or updated is level 3 (step S52).
  • the CPU 11 acquires position information by the position information acquisition unit 13 (step S53), and determines whether or not the position of the vehicle 1 is a predetermined position. (Step S54).
  • the CPU 11 does not add or update the program, generates the log information 17e and stores it in the storage unit 17 (step S57), and ends the process.
  • the CPU 11 acquires vehicle information from the vehicle speed sensor 261 and the engine control unit 262 by the vehicle information acquisition unit 218 (step S55). Based on the acquired vehicle information, the CPU 11 determines whether or not the vehicle 1 is in a stopped state (step S56). If the vehicle 1 is not in a stopped state (S56: NO), the CPU 11 does not add or update the program, generates the log information 17e and stores it in the storage unit 17 (step S57), and ends the process.
  • the CPU 11 adds or updates the program (Step S58), log information 17e is generated and stored in the storage unit 17 (Step S59), and the process is terminated.
  • the security controller 210 restricts the addition or update of a program depending on whether or not the vehicle 1 is in a stopped state. As a result, it is possible to prevent the addition or update of a program that affects the traveling while the vehicle 1 is traveling.
  • the security controller 210 is configured to acquire the vehicle speed detected by the vehicle speed sensor 261 and the operating state of the engine as information relating to the vehicle 1, but the present invention is not limited to this.
  • the security controller 210 may be configured to acquire only one of the vehicle speed and the engine operating state.
  • the security controller 210 may acquire information other than the vehicle speed or the engine operating state.
  • the security controller 210 may be configured to acquire information such as the state of an IG (ignition) switch related to engine startup, the position of a shift lever, or the operation state of a brake.
  • IG ignition
  • the security controller 210 is configured to determine whether or not the vehicle 1 is in a stopped state based on the acquired vehicle information and restrict the addition or update of the program, but is not limited thereto.
  • the security controller 210 may be configured to limit addition or update of a program according to conditions other than whether or not the vehicle 1 is in a stopped state.
  • the security controller 210 can be configured to limit the addition or update of a program depending on whether or not the IG switch is in an off state.
  • the security controller 210 can be configured to restrict addition or update of a program depending on whether or not a person exists in the vehicle 1.
  • the vehicle information acquisition unit 218 of the security controller 210 is configured to directly acquire information from the vehicle speed sensor 261 and the engine control unit 262, but is not limited thereto.
  • the vehicle information acquisition unit 218 may be configured to acquire information from the vehicle speed sensor 261 and the engine control unit 262 by communication via an in-vehicle network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

 不正なプログラムによる車内ネットワークへの不正なアクセスにより外部への情報漏洩などが発生することを防止することができるアクセス制限装置、車載通信システム及び通信制限方法を提供する。 車輌の車内ネットワークと端末装置3などの外部装置との間の通信を、セキュリティコントローラ10を介して行う。セキュリティコントローラ10は、情報の送受信処理を伴うプログラムを追加又は更新することができる。セキュリティコントローラ10は、プログラムの実行に伴って発生する車内ネットワークの情報へのアクセスを、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて制限する処理を行う。またセキュリティコントローラ10は、プログラムの実行に伴って車内ネットワークへ情報を送信する場合、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて送信を制限する。

Description

アクセス制限装置、車載通信システム及び通信制限方法
 本発明は、プログラムの追加及び更新等が可能な車載のゲートウェイなどの装置において、プログラムが車輌内のネットワークへ不正なアクセスを行うことを防止するアクセス制限装置、並びに、この装置を用いて車載機器及び外部装置の通信を制限することができる車載通信システム及び通信制限方法に関する。
 車輌に搭載される電子機器の高機能化が押し進められている。近年の車輌には、走行制御に係る電子機器のみでなく、例えば車内のユーザの快適性向上又は娯楽等を目的とした種々の電子機器が搭載される。また近年では、携帯電話機、スマートフォン又はタブレット型端末等のユーザが所持する可搬型の情報処理端末の進歩が目覚ましく、これら情報処理端末と車輌内の電子機器とが連携して処理を行い、更に高度なサービスをユーザに提供するシステムが実用化され始めている。
 このように高機能化された車載の電子機器においては、実行されるプログラムも高機能化され、プログラムをバージョンアップするなどの更新が必要となる場合がある。またユーザ毎に必要とする機能が異なる場合などがあり、ユーザの好みに応じて機能の選択又はカスタマイズ等を可能とすることで利便性が向上すると考えられるが、このような際にはプログラムの追加又は変更等が必要となる場合がある。このため近年の車載の電子機器において、プログラムの追加又は更新等を行うことを可能とする技術が検討及び開発されており、例えばOSGi(Open Services Gateway initiative)と呼ばれる技術を採用したものがある。
 特許文献1においては、OSGiの技術を用い、車輌においてネットワーク化された携帯機器を使用するためのシステムが提案されている。このシステムでは、車載機器の携帯機器クライアントプログラムが携帯機器との通信を行い、携帯機器から車載機器への動的なアプリケーションプログラムの転送を行う。車載機器上又は携帯機器上では、車輌のディスプレイ又はスピーカ等の構成要素を使用するアプリケーションの実行が可能である。
特表2012-500516号公報
 しかしながら、車載の電子機器をプログラムの追加及び更新等が可能な構成とした場合、悪意の第三者が作成したプログラムが追加されて実行される虞がある。これにより、例えば車内ネットワークにて送受信される情報が、不正なプログラムによって外部へ漏洩するなどの虞がある。
 本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、不正なプログラムによる車内ネットワークへの不正なアクセスにより外部への情報漏洩などが発生することを防止することができるアクセス制限装置、車載通信システム及び通信制限方法を提供することにある。
 本発明に係るアクセス制限装置は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部と、外部装置との通信を行う第2通信部と、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部と、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部と、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段と、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段と、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段と、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段とを備えることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記アクセス制限手段が、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第1通信部から車載機器への情報送信を制限するようにしてあることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記車輌の位置情報を取得する位置情報取得手段と、該位置情報取得手段が取得した位置情報に係る前記車輌の位置が、所定位置又は所定位置範囲内で有るか否かを判定する位置判定手段と、該位置判定手段の判定結果に応じて、前記プログラム追加更新手段によるプログラムの追加又は更新を制限するプログラム追加更新制限手段とを備えることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記プログラム追加更新制限手段が、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記車輌に係る情報を取得する車輌情報取得手段を備え、前記プログラム追加更新制限手段は、前記車輌情報取得手段が取得した情報に基づいて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得した情報に基づいて、前記車輌が停止状態であるか否かを判定する停車判定手段を備え、前記プログラム追加更新制限手段は、前記停車判定手段が停止状態でないと判定した場合に、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記車輌情報取得手段が取得する情報は、前記車輌の車速情報、及び/又は、前記車輌の原動機の動作状態を示す情報であることを特徴とする。
 また、本発明に係るアクセス制限装置は、プログラムの配信元及びアクセス権限のレベルを対応付けたアクセス権限レベル情報を記憶するアクセス権限レベル情報記憶部を備え、前記第1判定手段は、アクセス権限レベル情報記憶部が記憶したアクセス権限レベル情報を基に、プログラムのアクセス権限のレベルを判定するようにしてあることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記所定量が、プログラムのアクセス権限のレベルに応じて定められる量であることを特徴とする。
 また、本発明に係るアクセス制限装置は、前記アクセス制限手段が情報に対するアクセスを制限した場合に、該アクセスに係るログ情報を生成するログ情報生成手段と、該ログ情報生成手段が生成したログ情報を記憶するログ情報記憶部とを備えることを特徴とする。
 また、本発明に係る車載通信システムは、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器とを備え、前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあることを特徴とする。
 また、本発明に係る通信制限方法は、車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定ステップと、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定ステップと、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップとを含むことを特徴とする。
 本発明においては、車内ネットワークを介して車載機器との通信を行う第1通信部と、無線及び/又は有線にて外部装置との通信を行う第2通信部とを備えるアクセス制限装置を介在させて、車載機器と外部装置との通信を行う。アクセス制限装置は、処理部にて実行するプログラムの追加又は更新が可能な構成とし、プログラムは第2通信部の通信によって外部装置から取得する。
 アクセス制限装置は、情報に対するアクセス権限のレベルをプログラム毎に判定すると共に、情報毎にアクセスに必要なレベルを判定する。プログラムの実行により行われた処理にて車内ネットワークの情報に対するアクセス要求がなされた場合、アクセス制限装置は、このプログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達していれば、第1受信部にて受信したこの情報に対するアクセスを許可する。これに対してプログラムのアクセス権限のレベルが、情報の必要レベルに達していない場合、アクセス制限装置は、この情報に対するアクセスを禁止する。
 このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌に係る多くの情報を与えて高度なサービスを提供させることを可能とする。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止することができる。
 また、本発明においては、プログラムの実行により行われた処理にて第1通信部から車内ネットワークを介して車載機器へ情報を送信する場合にも、アクセス制限装置は同様の制限を行う。即ち、アクセス制限装置は、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達している場合にこの情報の送信を許可し、プログラムのアクセス権限のレベルが送信する情報の必要レベルに達していない場合にはこの情報の送信を禁止する。このような情報送信の制限を行うことによって、不正なプログラムによる車内ネットワークへの不正な情報送信を防止することができる。
 また、本発明においては、GPS(Global Positioning System)などを利用した車輌の位置情報をアクセス制限装置が取得し、車輌の位置が所定位置又は所定位置範囲内であるか否かを判定する。例えばアクセス制限装置は、車輌の位置が、この車輌のディーラの所在位置又はこの所在位置から数十mなどの範囲内であるか否かを判定する。アクセス制限装置は、車輌の位置が所定位置又は所定位置範囲内である場合にプログラムの追加又は更新を許可し、車輌の位置が所定位置又は所定位置範囲内でない場合にプログラムの追加又は更新を禁止する。
 このような車輌の位置に応じたプログラムの追加又は更新の制限を行うことによって、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。
 また、車輌の制御に関するプログラムの追加又は更新が行われた場合には、車輌の走行に影響を及ぼす可能性がある。そこで本発明においては、車輌情報を取得して車輌の状況を判断し、プログラムの追加又は更新を制限する。例えば車輌の車速情報又は原動機の動作状態情報等を取得し、これらの情報に基づいて車輌が停止状態であるか否かを判定する。車輌が停止状態でない、即ち走行状態であると判定した場合に、プログラムの追加又は更新を制限する。これにより、車輌の走行中などにプログラムの追加又は更新が行われることを防止できる。
 また、アクセス制限装置が車輌の位置に応じたプログラムの追加又は更新の制限を行う場合、プログラムのアクセス権限のレベルを考慮して制限を行ってもよい。例えば、アクセス権限のレベルが高いプログラムについては車輌位置に応じた追加又は更新の制限を行い、アクセス権限のレベルが低いプログラムについては車輌位置に応じた追加又は更新の制限を行わない構成とすることができる。
 また、本発明においては、アクセス制限装置がプログラムの配信元とアクセス権限のレベルとを対応付けたアクセス権限レベル情報を記憶している。アクセス制限装置は、例えば新たなプログラムが追加された場合などにアクセス権限レベル情報を参照して、このプログラムのアクセス権限のレベルを判定することができる。プログラムの配信元は、例えばプログラムに付された電子署名を基に判断することができ、また例えばプログラムを追加した際の通信先のアドレス情報などを基に判断することができる。
 また、本発明においては、プログラムの実行によって車内ネットワークへ送信された情報量が所定量を超える場合、アクセス制限装置が情報送信を遮断する。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することによって、車内ネットワークがビジー状態となることを防止できる。
 また、アクセス制限装置が情報量に応じて送信の遮断を行う場合、プログラムのアクセス権限のレベルを考慮して遮断を行ってもよい。例えばアクセス権限のレベルが高いプログラムについては多くの情報を送信することを許可し、アクセス権限のレベルが低いプログラムについては送信を許可する情報量を低く抑える構成とすることができる。
 また、本発明においては、アクセス制限装置がアクセス制限を行った場合に、その旨を示すログ情報を生成して記憶しておく。これにより例えば車輌の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
 本発明による場合は、プログラムのアクセス権限のレベルが、アクセス要求に係る情報の必要レベルに達しているか否かに応じて、アクセス制限装置がこのプログラムによる情報へのアクセスを制限することにより、信頼性の低いプログラムのアクセス制限を行うことができ、外部へ重要な情報が漏えいすることを防止できる。
本実施の形態に係る車載通信システムの構成を示す模式図である。 セキュリティコントローラの構成を示すブロック図である。 アクセス権限レベルテーブルの一構成例を示す模式図である。 アクセス許可レベルテーブルの一構成例を示す模式図である。 セキュリティコントローラが行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。 セキュリティコントローラが行うアクセス制限処理の手順を示すフローチャートである。 セキュリティコントローラが行う情報送信量に基づく送信制限処理の手順を示すフローチャートである。 セキュリティコントローラが行うアクセス権限レベルに基づく送信制限処理の手順を示すフローチャートである。 実施の形態2に係るセキュリティコントローラの構成を示すブロック図である。 実施の形態2に係るセキュリティコントローラが行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。
(実施の形態1)
 以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。図1は、本実施の形態に係る車載通信システムの構成を示す模式図である。図において一点鎖線で示す1は車輌であり、車輌1にはセキュリティコントローラ10、ゲートウェイ30及び複数のECU(Electronic Control Unit)50等が搭載されている。車輌1には、共通の通信線にバス接続された複数のECU50による通信グループが複数存在し、通信グループ間の通信をゲートウェイ30が中継している。このためゲートウェイ30には、複数の通信線が接続されている。またゲートウェイ30は、セキュリティコントローラ10が接続されており、セキュリティコントローラ10からの情報をECU50へ送信すると共に、ECU50から受信した情報をセキュリティコントローラ10へ与える。
 セキュリティコントローラ10は、ユーザが所持する端末装置3又は種々のサーバ装置5等と、ゲートウェイ30及びECU50等を含んで構成された車輌1の車内ネットワークとの間の通信を中継する機能を有し、ゲートウェイ30に接続されている。端末装置3は、例えばユーザが所持する携帯電話機、スマートフォン、タブレット型端末又はノートPC(Personal Computer)等の装置であり、セキュリティコントローラ10との間で有線又は無線による通信を行う。サーバ装置5は、車輌1外の適所に設置され、車輌1のセキュリティコントローラ10と直接的に、及び/又は、端末装置3を介して間接的に通信を行う。
 図2は、セキュリティコントローラ10の構成を示すブロック図である。セキュリティコントローラ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、位置情報取得部13、有線通信部14、無線通信部15、車内通信部16及び記憶部17等を備えて構成されている。
 CPU11は、記憶部17のプログラム記憶部17aに記憶された一又は複数のプログラムをRAM12に読み出して実行することにより、種々の処理を行う演算処理装置である。図示の例では、CPU11が3つのプログラムA~Cを実行している。CPU11は、例えば時分割などで複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行することができる。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
 位置情報取得部13は、車輌1の位置情報を取得してCPU11へ与える。位置情報取得部13は、例えばGPS(Global Positioning System)の信号を受信するアンテナなどが接続され、受信信号に基づいて車輌1の位置(緯度及び経度等)を算出する構成とすることができる。更に、位置情報取得部13は、速度センサ、加速度センサ又はジャイロセンサ等のセンサから得られる情報、並びに、地図情報等を利用して車輌1の位置を算出してもよい。なお車輌1にカーナビゲーション装置が搭載されている場合、車輌1の位置を算出する処理はカーナビゲーション装置が行い、算出結果をセキュリティコントローラ10が取得して利用する構成であってもよい。
 有線通信部14は、通信ケーブルなどを接続するためのコネクタを有し、接続された通信ケーブルを介して端末装置3との通信を行う。有線通信部14は、例えばUSB(Universal Serial Bus)又はRS232C等の規格に応じて通信を行う。有線通信部14は、CPU11から与えられた情報を端末装置3へ送信すると共に、端末装置3から受信した情報をCPU11へ与える。
 無線通信部15は、電波又は光等の無線信号を利用して、車輌1内又は車輌1から無線信号が到達する範囲内に存在する端末装置3との間で無線通信を行う。無線通信部15は、例えば無線LAN(Local Area Network)又はBluetooth(登録商標)等の規格に応じて無線通信を行う。また無線通信部15は、公衆の携帯電話網などを利用して、車輌1から遠隔地にセットされたサーバ装置5などとの通信を行う構成としてもよい。無線通信部15は、CPU11から与えられた情報を端末装置3又はサーバ装置5等の外部装置へ送信すると共に、外部装置から受信した情報をCPU11へ与える。
 車内通信部16は、車輌1に搭載されたゲートウェイ30に通信ケーブルを介して接続されている。車内通信部16は、例えばCAN(Controller Area Network)又はLIN(Local Interconnect Network)等の規格に応じて、ゲートウェイ30との通信を行う。車内通信部16は、CPU11から与えられた情報をゲートウェイ30へ送信すると共に、ゲートウェイ30から受信した情報をCPU11へ与える。
 記憶部17は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部17は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶するプログラム記憶部17aを有する。また記憶部17は、追加更新許可位置情報17b、アクセス権限レベルテーブル17c、アクセス許可レベルテーブル17d及びログ情報17e等を記憶する。
 本実施の形態に係るセキュリティコントローラ10は、CPU11にて実行するプログラムを追加、更新及び削除等することが可能な構成である。例えば、ユーザがGPS受信機の搭載された端末装置3にてカーナビゲーションプログラムを動作させ、端末装置3をカーナビゲーション装置として利用する場合、車輌1の速度情報などを端末装置3が取得することによって精度のよい車輌位置の算出を行うことが可能となる。そこでユーザは、端末装置3のカーナビゲーションプログラムと連動し、車輌1の速度情報などを取得して端末装置3へ送信するプログラムを、セキュリティコントローラ10に追加(いわゆるインストール)することができる。
 例えばセキュリティコントローラ10は、OSGiの技術を採用することで、プログラムの追加、更新及び削除等を行うことができる構成とすることができる。OSGiは、バンドルと呼ばれるプログラムの動的な追加及び実行等を管理するシステムであり、バンドルの実行基盤であるOSGiフレームワークがCPU11にて動作する。なおOSGiは既存の技術であるため、詳細な説明は省略する。またセキュリティコントローラ10は、OSGi以外の技術を採用してプログラムの追加、更新及び削除等を行ってもよい。
 セキュリティコントローラ10のCPU11は、端末装置3からプログラムの追加指示が与えられた場合、又は、車輌1の運転席近傍に設けられた操作部(図示は省略する)などからユーザの操作に基づく追加指示が与えられた場合に、プログラムを追加する処理を行う。追加するプログラムは、例えば端末装置3が記憶しているものをセキュリティコントローラ10が取得してもよく、また例えばサーバ装置5などから取得してもよい。セキュリティコントローラ10のCPU11は、端末装置3又はサーバ装置5等から取得したプログラムを記憶部17のプログラム記憶部17aに記憶する。以後、CPU11は、必要に応じて追加したプログラムを記憶部17から読み出して実行し、このプログラムに係る処理を行うことができる。
 またセキュリティコントローラ10のCPU11は、既に記憶部17に記憶されたプログラムについて、例えば機能拡張又は不具合修正等を目的として、プログラムの更新処理を行う。プログラムの更新処理は、例えば車輌1の操作部又は端末装置3等から更新指示が与えられた場合に行ってもよく、また例えばサーバ装置5などとの通信を定期的に行い、プログラムの更新の要否をCPU11が判定して自発的に行ってもよい。セキュリティコントローラ10のCPU11は、記憶部17のプログラム記憶部17aに記憶されているプログラムの一部又は全部を、端末装置3又はサーバ装置5等から取得した更新用の情報(更新用のプログラム又はデータ等)にて書き換えることにより、プログラムを更新する。
 またセキュリティコントローラ10のCPU11は、記憶部17のプログラム記憶部17aに記憶されたプログラムを削除する処理を行う。例えばCPU11は、車輌1の操作部又は端末装置3等からプログラムの削除指示が与えられた場合に、該当するプログラムをプログラム記憶部17aから削除する。
 このように本実施の形態に係るセキュリティコントローラ10は、ユーザが必要に応じてプログラムの追加及び更新等を行うことができる構成であるため、悪意の第三者が作成したプログラムがセキュリティコントローラ10に追加されてCPU11に実行される虞がある。そこで本実施の形態に係るセキュリティコントローラ10は、不正なプログラムによって車輌1内への不正なアクセスが発生することを防止すべく、車内ネットワークにて送受信される情報に対するアクセス制限を行う機能を有する。以下に、セキュリティコントローラ10によるアクセス制限機能について説明する。
 セキュリティコントローラ10は、CPU11にて実行する各プログラムについて、車内ネットワークにて送受信される情報に対するアクセス権限のレベルを判定する。この判定は、例えば外部装置からプログラムを受信してプログラム記憶部17aに記憶する際に行ってもよく、例えばプログラムを実行する都度行ってもよく、また例えばプログラムから情報に対するアクセス要求が発せられる都度行ってもよく、その他のタイミングで行ってもよい。セキュリティコントローラ10のCPU11は、記憶部17に記憶されたアクセス権限レベルテーブル17cに含まれる情報に基づいて各プログラムのアクセス権限レベルを判定する。
 図3は、アクセス権限レベルテーブル17cの一構成例を示す模式図である。アクセス権限レベルテーブル17cには、プログラムの配信元に関する情報と、アクセス権限レベルとが対応付けて記憶されている。図示の例では、アクセス権限レベルテーブル17cのプログラム配信元として、a社、b社…のように社名が記載されているが、これは一例であって、プログラムの配信元を識別し得る情報であればどのような情報であってもよい。CPU11は、プログラムを追加又は更新する際に、プログラムに付された電子署名又はプログラムを取得したサーバ装置5のIP(Internet Protocol)アドレス等の情報に基づいてプログラムの配信元を判断する。
 またアクセス権限レベルテーブル17cのアクセス権限レベルとして、レベル1~3の3段階が設定されている。ただしこれは一例であり、アクセス権限レベルは2段階又は4段階以上であってもよい。アクセス権限レベルは、その数値が大きいほど、高いアクセス権限を有していることを示している。即ち、アクセス権限レベル3のプログラムは、アクセス権限レベル1又は2のプログラムより、より多くの情報にアクセスすることができる。図示の例では、a社は車輌1の製造元の会社であり、最も高いアクセス権限レベル3が設定されている。またb社及びc社はアクセス権限レベル2が設定され、y社及びz社はアクセス権限レベル1に設定されている。なお、図示の例では、アクセス権限レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
 セキュリティコントローラ10のCPU11は、追加又は更新の際に電子署名などから判断したプログラムの配信元に基づき、アクセス権限レベルテーブル17cから該当する配信元を検索する。アクセス権限レベルテーブル17cに該当する配信元が記憶されている場合、CPU11は、対応するアクセス権限レベルを読み出し、追加又は更新するプログラムに対応付けてアクセス権限レベルを記憶部17に記憶する。なおプログラムの配信元がアクセス権限レベルテーブル17c中に存在しない場合、CPU11は、追加又は更新するプログラムを更に低いアクセス権限レベル(例えばレベル0など)に設定するか、又は、このようなプログラムの追加又は更新を許可しない。
 また、セキュリティコントローラ10は、車輌1の車内ネットワークにて送受信される各情報(即ち、車内通信部16にて送受信する各情報)について、アクセスを許可するアクセス権限レベルを、アクセス許可レベルとして判定する。セキュリティコントローラ10のCPU11は、記憶部17に記憶されたアクセス許可レベルテーブル17dに基づいて、送受信される各情報についてのアクセス許可レベルを判定する。
 図4は、アクセス許可レベルテーブル17dの一構成例を示す模式図である。アクセス許可レベルテーブル17dには、送受信される情報の種別と、アクセス許可レベルとが対応付けて記憶されている。図示の例では、アクセス許可レベルテーブル17dの情報種別として、エンジン制御情報、ユーザ情報、位置情報及び車速情報等が一例として記載されている。これらの情報種別は、例えば車内ネットワークがCANの規格に従うものである場合、送受信されるフレームに付されたID(IDentifier)番号及びフレーム内における情報の格納順序等に基づいて判断することができる。
 またアクセス許可レベルテーブル17dのアクセス許可レベルとして、レベル1~3の3段階が設定されている。ただしこれは一例であり、アクセス許可レベルは2段階又は4段階以上であってもよい。アクセス許可レベルは、その数値が大きいほど、情報に対するアクセスに必要なアクセス権限レベルが高いことを示している。即ち、アクセス許可レベル3の情報は、アクセス権限レベル3以上のプログラムがアクセス可能である。またアクセス許可レベル1の情報は、アクセス権限レベル1以上のプログラムがアクセス可能である。図示の例では、エンジン制御情報及びユーザ情報がアクセス許可レベル3に設定され、位置情報がアクセス許可レベル2に設定され、車速情報がアクセス許可レベル1に設定されている。なお、図示の例では、アクセス許可レベルを数値で表現しているが、これは一例であって、優先順位を識別し得る情報であればどのような情報であってもよい。
 セキュリティコントローラ10のCPU11は、プログラムの実行により車内ネットワークの情報に対するアクセス要求がなされた場合、このプログラムのアクセス権限レベルと、アクセス要求に係る情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、CPU11は、このプログラムによる情報のアクセスを許可する。即ちCPU11は、アクセス要求に係る情報を、車内通信部16の受信情報から取得して、このプログラムの処理に用いる。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、CPU11は、このプログラムによる情報のアクセスを許可しない。アクセスが許可されなかった場合の処理は、各プログラムに任される。
 同様にセキュリティコントローラ10のCPU11は、プログラムの実行により車内ネットワークへの情報送信要求がなされた場合、このプログラムのアクセス権限レベルと、送信しようとする情報のアクセス許可レベルとを判定する。プログラムのアクセス権限レベルが情報のアクセス許可レベル以上である場合、CPU11は、このプログラムによる情報送信を許可し、車内通信部16から車内ネットワークへの情報送信を行う。これに対して、プログラムのアクセス権限レベルが情報のアクセス許可レベルに満たない場合、CPU11は、このプログラムによる情報送信を許可しない。
 また、本実施の形態に係るセキュリティコントローラ10は、上述のようにプログラムの追加及び更新等の処理を行うが、この際にアクセス権限レベル及び車輌1の位置に応じてプログラムの追加及び更新を制限する。セキュリティコントローラ10のCPU11は、例えばアクセス権限レベル3のプログラムの追加又は更新について、車輌1の位置に応じた制限を行い、アクセス権限レベル1又は2のプログラムの追加又は更新については、車輌1の位置に応じた制限を行わない。
 セキュリティコントローラ10は、プログラムの追加及び更新等の処理を行うことを許可する車輌1の位置に関する情報を、追加更新許可位置情報17bとして記憶部17に記憶している。追加更新許可位置情報17bは、例えば車輌1の製造会社の関連施設(ディーラ又は整備工場等)の位置情報が複数箇所について登録されている。位置情報は、例えば緯度及び経度等の情報を採用することができる。
 プログラムの追加又は更新の要求が与えられた場合、セキュリティコントローラ10のCPU11は、位置情報取得部13にて取得した位置情報に係る車輌1の位置が、追加更新許可位置情報17bに登録された何れかの位置に該当する場合、プログラムの追加又は更新の処理を許可し、この処理を行う。なおCPU11は、車輌1の位置が登録された位置に完全に一致する場合のみでなく、登録された位置から数百mなどの所定範囲内に車輌1が位置している場合に、プログラムの追加又は更新の処理を許可してもよい。車輌1の位置が登録された位置に該当しない場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
 また、本実施の形態に係るセキュリティコントローラ10は、プログラムの実行に伴って車内ネットワークへ送信された情報量に応じて、このプログラムによる車内ネットワークへの情報送信を制限する。このためセキュリティコントローラ10のCPU11は、単位時間毎の各プログラムに関する情報送信量を監視している。CPU11は、何れかのプログラムの情報送信量が所定量を超えた場合、このプログラムによる情報送信を遮断する。なおこのときに、CPU11は、情報送信量が所定量を超えたプログラムに関する情報送信のみでなく、全てのプログラムに関する情報送信を一時的に又は完全に遮断してもよい。
 またCPU11が情報送信を遮断するか否かの判定に用いる所定量は、全てのプログラムについて同じ値を用いるのではなく、プログラム毎に異なる値を用いてもよい。例えばアクセス権限レベルが高いプログラムについては所定量を大きな値とし、多くの情報送信を行うことを許可し、アクセス権限レベルが低いプログラムについては所定量を小さな値とし、送信できる情報量を制限することができる。
 また、本実施の形態に係るセキュリティコントローラ10は、上述の情報に対するアクセス制限、情報の送信制限、プログラムの追加更新の制限、又は、情報送信量による送信遮断等の制限処理を行った場合、制限処理に係るログ情報17eを生成して記憶部17に記憶する。ログ情報17eには、例えば制限処理の要因となったプログラム、制限処理を行った日時、及び、制限処理の内容等の情報を含むことができる。ログ情報17eの読み出しは、例えば車輌1のディーラ又は整備工場等において専用の端末装置3が有線通信部14に接続された場合などに限定して許可する構成とすることができる。
 次に、本実施の形態に係るセキュリティコントローラ10が行う処理の詳細を、フローチャートを用いて説明する。図5は、セキュリティコントローラ10が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。ただし、図5に示す処理は、セキュリティコントローラ10の有線通信部14に通信ケーブルを介して端末装置3が接続され、認証処理などが完了してセキュリティコントローラ10と端末装置3との通信が確立されていることを前提としている。またセキュリティコントローラ10は、端末装置3からプログラムの追加又は更新の指示を受け付け、端末装置3を介してサーバ装置5との通信を行い、サーバ装置5から追加又は更新するプログラムを取得するものとする。
 セキュリティコントローラ10のCPU11は、まず、端末装置3からプログラムの追加又は更新の要求を受け付けたか否かを判定し(ステップS1)、要求を受け付けていない場合には(S1:NO)、要求を受け付けるまで待機する。プログラムの追加又は更新の指示を受け付けた場合(S1:YES)、CPU11は、有線通信部14に接続された端末装置3を介した通信により、サーバ装置5との間で認証処理を行う(ステップS2)。例えばCPU11は、記憶部17に記憶されたユーザID及びパスワード等の認証情報を用いて、サーバ装置5との認証処理を行う。CPU11は、認証処理に成功したか否かを判定し(ステップS3)、認証処理に失敗した場合には(S3:NO)、処理を終了し、プログラムの追加又は更新の処理を行わない。
 認証処理に成功した場合(S3:YES)、CPU11は、サーバ装置5から端末装置3を介して処理対象のプログラムを取得し(ステップS4)、例えばRAM12などに一時的に記憶する。CPU11は、取得したプログラムに付された電子署名などに基づいて、このプログラムの配信元を確認し(ステップS5)、記憶部17に記憶されたアクセス権限レベルテーブル17cに基づいてプログラムのアクセス権限レベルを判定する(ステップS6)。
 次いでCPU11は、プログラムのアクセス権限レベルがレベル3であるか否かを判定する(ステップS7)。アクセス権限レベルがレベル3である場合(S7:YES)、CPU11は、位置情報取得部13にて位置情報を取得し(ステップS8)、車輌1の位置が所定位置であるか否かを判定する(ステップS9)。車輌1の位置が所定位置でない場合(S9:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS10)、処理を終了する。
 またCPU11は、プログラムのアクセス権限レベルがレベル3ではなくレベル2以下である場合(S7:NO)、又は、車輌1の位置が所定位置である場合(S9:YES)、プログラムの追加又は更新を行い(ステップS11)、ログ情報17eを生成して記憶部17に記憶し(ステップS12)、処理を終了する。このときCPU11は、RAM12などに一時的に記憶したプログラムを記憶部17のプログラム記憶部17aに記憶すると共に、このプログラムの実行に必要な情報の登録などの処理を行うことで、プログラムの追加又は更新を行う。
 図6は、セキュリティコントローラ10が行うアクセス制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、まず、プログラム記憶部17aに記憶されたプログラムの実行によって車内ネットワークの情報に対するアクセス要求がなされたか否かを判定する(ステップS21)。アクセス要求がなされていない場合(S21:NO)、CPU11は、アクセス要求がなされるまで待機する。
 情報に対するアクセス要求がなされた場合(S21:YES)、CPU11は、アクセス要求を行ったプログラムのアクセス権限レベルを判定する(ステップS22)。なお、図5に示したフローチャートのステップS6にて判定したアクセス権限レベルを記憶部17に記憶している場合、CPU11は、ステップS22にて以前の判定結果を読み出してもよい。またCPU11は、アクセス要求の対象となる情報のアクセス許可レベルを、記憶部17に記憶されたアクセス許可レベルテーブル17dを基に判定する(ステップS23)。
 次いでCPU11は、ステップS22にて判定したプログラムのアクセス権限レベルが、ステップS23にて判定した情報のアクセス許可レベル以上であるか否かを判定する(ステップS24)。アクセス権限レベルがアクセス許可レベル以上である場合(S24:YES)、CPU11は、プログラムによる情報のアクセスを許可し(ステップS25)、ログ情報17eを生成して記憶部17に記憶したうえで(ステップS26)、車内通信部16にて受信した情報を、アクセス要求を発したプログラムに与えて処理を行う。またアクセス権限レベルがアクセス許可レベル未満である場合(S24:NO)、CPU11は、プログラムによる情報のアクセスを禁止し(ステップS27)、ログ情報17eを生成して記憶部17に記憶し(ステップS28)、処理を終了する。
 図7は、セキュリティコントローラ10が行う情報送信量に基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、実行しているプログラム毎に、車内通信部16から車内ネットワークへの単位時間における情報送信量を算出する(ステップS31)。CPU11は、算出した情報送信量がプログラムのアクセス権限レベルごとに定められた所定量を超えるか否かを判定し(ステップS32)、情報送信量が所定量を超えない場合(S32:NO)、送信制限を行わずに処理を終了する。
 またプログラムの情報送信量が所定量を超える場合(S32:YES)、CPU11は、このプログラムによる車内ネットワークへの情報送信を遮断し(ステップS33)、以後の情報送信を行わない。またCPU11は、情報送信の遮断に関するログ情報17eを生成して記憶部17に記憶し(ステップS34)、処理を終了する。なおCPU11は、並列的に実行する複数のプログラムについて、プログラム毎に図7に示す処理を周期的に繰り返して行っている。
 図8は、セキュリティコントローラ10が行うアクセス権限レベルに基づく送信制限処理の手順を示すフローチャートである。セキュリティコントローラ10のCPU11は、まず、プログラム記憶部17aに記憶されたプログラムの実行によって車内ネットワークへの情報送信要求がなされたか否かを判定する(ステップS41)。情報送信要求がなされていない場合(S41:NO)、CPU11は、情報送信要求がなされるまで待機する。情報送信要求がなされた場合(S41:YES)、CPU11は、図7に示した送信制限処理によって、このプログラムに対する情報送信が遮断中であるか否かを更に判定する(ステップS42)。情報送信が遮断中である場合(S42:YES)、CPU11は、処理を終了する。
 情報送信が遮断中でない場合(S42:NO)、CPU11は、情報送信要求を行ったプログラムのアクセス権限レベルを判定する(ステップS43)。またCPU11は、送信を要求された情報のアクセス許可レベルを、記憶部17に記憶されたアクセス許可レベルテーブル17dを基に判定する(ステップS44)。次いでCPU11は、ステップS43にて判定したプログラムのアクセス権限レベルが、ステップS44にて判定した情報のアクセス許可レベル以上であるか否かを判定する(ステップS45)。アクセス権限レベルがアクセス許可レベル以上である場合(S45:YES)、CPU11は、プログラムによる情報送信を許可し(ステップS46)、車内通信部16にて車内ネットワークへの情報送信を行う。またアクセス権限レベルがアクセス許可レベル未満である場合(S45:NO)、CPU11は、プログラムによる情報送信を禁止し(ステップS47)、ログ情報17eを生成して記憶部17に記憶し(ステップS48)、処理を終了する。
 なお、図5~図8に示した処理は、追加又は更新等がなされるプログラムとは別の基本プログラム(例えばOS(Operating System)又はOSGiフレームワーク等)をCPU11が実行することにより実現される。CPU11は、基本プログラムと追加又は更新等がなされるプログラムとを並列的に実行する。ただし、追加又は更新等がなされるプログラムの1つが、図5~図8に示した処理を行う構成であってもよい。
 以上の構成の本実施の形態に係る通信システムは、車輌1に搭載されたECU50などと、端末装置3又はサーバ装置5等との間の通信を、セキュリティコントローラ10を介して行う構成である。セキュリティコントローラ10は、情報の送受信処理を伴う一又は複数のプログラムを実行すると共に、これらプログラムを追加又は更新等することができる。セキュリティコントローラ10は、プログラムの実行に伴って発生する車内ネットワークの情報へのアクセスを、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて制限する処理を行う。このようなアクセス制限を行うことによって、信頼性の高いプログラムには車輌1に係る多くの情報を与えて高度なサービスを提供させることができる。また信頼性の低いプログラムに対しては与える情報を制限し、重要度が高い情報が外部へ漏洩することを防止できる。
 またセキュリティコントローラ10は、プログラムの実行に伴って車内ネットワークへ情報を送信する場合にも同様に、各プログラムのアクセス権限レベル及び各情報のアクセス許可レベルに基づいて情報送信を制限する処理を行う。これにより、不正なプログラムによって車内ネットワークへ不正な情報送信が行われることを防止できる。
 またセキュリティコントローラ10は、位置情報取得部13にて車輌1に係る位置情報を取得し、車輌1の位置が所定位置又は所定位置範囲内であるか否かに応じて、プログラムの追加又は更新の制限を行う。これにより、悪意の第三者によって不正なプログラムの追加又は更新等が行われることを防止できる。またセキュリティコントローラ10は、アクセス権限レベルが高いプログラムについて、車輌1の位置に応じた追加又は更新の制限を行う。これにより、アクセス権限レベルが高いプログラムが不正に追加又は更新等されることを防止できると共に、アクセス権限レベルが低いプログラムは車輌1の位置に関係なく追加又は更新等を可能とし、ユーザの利便性を向上できる。
 またセキュリティコントローラ10は、プログラムの実行に伴う車内ネットワークへの情報送信量を監視し、情報送信量が所定量を超える場合に情報送信を遮断する。またセキュリティコントローラ10は、アクセス権限レベルが高いプログラムは多くの情報を送信することを許可し、アクセス権限レベルが低いプログラムは送信を許可する情報量を低く抑える。これにより不正なプログラムが大量の情報を車内ネットワークへ送信することを防止できる。
 またセキュリティコントローラ10は、アクセス制限を行った際にログ情報17eを生成して記憶部17に記憶する。これにより例えば車輌1の修理又は点検等の際に、不正なプログラムが存在するか否か等を調査することができる。
 なお本実施の形態においては、セキュリティコントローラ10にゲートウェイ30が接続され、ゲートウェイ30に複数のECU50が接続される構成としたが、この車内ネットワークの構成は一例であって、これに限るものではない。例えばセキュリティコントローラ10がゲートウェイの機能を兼ね備える構成とし、セキュリティコントローラ10に複数のECU50を接続する構成としてもよい。また何れかのECU50がセキュリティコントローラ10の機能を兼ね備える構成としてもよい。また車輌1に複数のセキュリティコントローラ10を搭載してもよい。
 またセキュリティコントローラ10は、有線通信部14及び無線通信部15の両方を備える構成としたが、これに限るものではなく、有線通信部14又は無線通信部15の一方を備える構成であってもよい。またセキュリティコントローラ10は、例えば車輌1が電気自動車であり、外部の給電装置から給電ケーブルを介した電力供給が可能な構成の場合、給電ケーブルを介した電力線通信などにより外部装置との通信を行う構成としてもよい。またセキュリティコントローラ10は、メモリカード又は光ディスク等の記録媒体を装着可能な構成とし、記録媒体から追加又は更新するプログラムを取得する構成としてもよい。
(実施の形態2)
 図9は、実施の形態2に係るセキュリティコントローラ210の構成を示すブロック図である。実施の形態2に係るセキュリティコントローラ210は、車輌情報取得部218を備えている。車輌情報取得部218は、車輌1に搭載された車速センサ261及びエンジン制御部262から情報を取得してCPU11へ与える。車速センサ261は、車輌1の走行速度を検知し、検知結果を車輌情報取得部218へ出力する。エンジン制御部262は、車輌1のエンジンの動作を制御する装置であり、エンジンが動作中であるか又は停止中であるかを示す情報を車輌情報取得部218へ出力する。
 車輌情報取得部218からの情報を与えられたCPU11は、これらの情報に基づいて、車輌1が走行状態又は停止状態のいずれであるかを判定する。CPU11は、例えば車速センサ261が検知した車速が閾値を超えるか否かに応じて、車輌1が走行状態又は停止状態のいずれであるかを判定することができる。またCPU11は、例えばエンジン制御部262からの情報に基づいて、エンジンが動作中又は停止中のいずれであるかに応じて、車輌1が走行状態又は停止状態のいずれであるかを判定することができる。本実施の形態において、CPU11は、車速が閾値以下であり、且つ、エンジンが停止中である場合に、車輌1が停止状態であると判定する。またCPU11は、車速が閾値を超えるか、又は、エンジンが動作中である場合に、車輌1が走行状態であると判定する。
 上述の実施の形態1に係るセキュリティコントローラ10は、プログラムの追加及び更新等の処理を行う際に、アクセス権限レベル及び車輌1の位置に応じた制限を行った。実施の形態2に係るセキュリティコントローラ210は、同様の制限に加えて、車輌1の状態に応じた制限を更に行う。実施の形態2に係るセキュリティコントローラ210のCPU11は、例えばアクセス権限レベルのレベル3のプログラムの追加又は更新について、車輌1の位置に応じた制限と、車輌1の状態に応じた制限とを行う。
 セキュリティコントローラ210のCPU11は、プログラムの追加又は更新の要求が与えられた場合、位置情報取得部13にて取得した位置情報に係る車輌1の位置が、追加更新許可位置情報17bに登録された何れかの位置に該当するか否かを判定する。車輌1の位置が登録された位置に該当しない場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
 またセキュリティコントローラ210のCPU11は、プログラムの追加又は更新の要求が与えられた場合、車輌情報取得部218が取得した情報に基づいて、車輌1が停止状態であるか否かを判定する。車輌1が停止状態である場合、CPU11は、プログラムの追加又は更新の処理を許可し、この処理を行う。車輌1が停止状態でない、即ち走行状態である場合、CPU11は、プログラムの追加又は更新の処理を許可せず、この処理を行わない。
 図10は、実施の形態2に係るセキュリティコントローラ210が行うプログラムの追加又は更新の制限処理の手順を示すフローチャートである。なお本フローチャートにおいては、図5に示したフローチャートのステップS1~S6に相当する処理を、ステップS51の所定処理として簡略化して記載してある。実施の形態2に係るセキュリティコントローラ210は、図5のステップS1~S6について、実施の形態1に係るセキュリティコントローラ10と同様の処理を行っている。
 実施の形態2に係るセキュリティコントローラ210のCPU11は、端末装置3からプログラムの追加又は更新の要求を受け付けた場合、認証処理、サーバ装置5からプログラムを取得する処理、及び、取得したプログラムの配信元を確認してアクセス権限レベルを判定する処理等を、所定処理として行う(ステップS51)。
 その後、CPU11は、追加又は更新するプログラムのアクセス権限レベルがレベル3であるか否かを判定する(ステップS52)。アクセス権限レベルがレベル3である場合(S52:YES)、CPU11は、位置情報取得部13にて位置情報を取得し(ステップS53)、車輌1の位置が所定位置であるか否かを判定する(ステップS54)。車輌1の位置が所定位置でない場合(S54:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS57)、処理を終了する。
 車輌1の位置が所定位置である場合(S54:YES)、CPU11は、車輌情報取得部218にて車速センサ261及びエンジン制御部262からの車輌情報を取得する(ステップS55)。CPU11は、取得した車輌情報に基づいて、車輌1が停止状態であるか否かを判定する(ステップS56)。車輌1が停止状態でない場合(S56:NO)、CPU11は、プログラムの追加又は更新を行わず、ログ情報17eを生成して記憶部17に記憶し(ステップS57)、処理を終了する。
 またCPU11は、プログラムのアクセス権限レベルがレベル3ではなくレベル2以下である場合(S52:NO)、又は、車輌1が停止状態である場合(S56:YES)、プログラムの追加又は更新を行い(ステップS58)、ログ情報17eを生成して記憶部17に記憶し(ステップS59)、処理を終了する。
 以上の構成の実施の形態2に係るセキュリティコントローラ210は、車輌1が停止状態であるか否かに応じて、プログラムの追加又は更新を制限する。これにより、車輌1の走行中において、走行に影響を及ぼすようなプログラムの追加又は更新が行われることを防止できる。
 なお本実施の形態においては、セキュリティコントローラ210は車輌1に関する情報として、車速センサ261が検知する車速、及び、エンジンの動作状態を取得する構成としたが、これに限るものではない。セキュリティコントローラ210は、車速又はエンジンの動作状態のいずれか一方のみを取得する構成としてもよい。またセキュリティコントローラ210は、車速又はエンジンの動作状態以外の情報を取得する構成としてもよい。セキュリティコントローラ210は、例えばエンジンの始動に係るIG(イグニッション)スイッチの状態、シフトレバーの位置、又は、ブレーキの操作状態等の情報を取得する構成としてもよい。
 またセキュリティコントローラ210は、取得した車輌情報に基づき、車輌1が停止状態であるか否かを判定してプログラムの追加又は更新を制限する構成としたが、これに限るものではない。セキュリティコントローラ210は、車輌1が停止状態であるか否か以外の条件に応じてプログラムの追加又は更新を制限する構成としてもよい。例えばセキュリティコントローラ210は、IGスイッチがオフ状態であるか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。また例えばセキュリティコントローラ210は、車輌1内に人が存在するか否かに応じてプログラムの追加又は更新を制限する構成とすることができる。
 またセキュリティコントローラ210の車輌情報取得部218は、車速センサ261及びエンジン制御部262から直接的に情報を取得する構成としたが、これに限るものではない。例えば車輌情報取得部218は、車内ネットワークを介した通信により車速センサ261及びエンジン制御部262から情報を取得する構成であってもよい。
 また実施の形態2に係る車載通信システムのその他の構成は、実施の形態1に係る車載通信システムの構成と同様であるため、同様の箇所には同じ符号を付して詳細な説明を省略する。
 1 車輌
 3 端末装置(外部装置)
 5 サーバ装置(外部装置)
 10 セキュリティコントローラ(アクセス制限装置)
 11 CPU(処理部、プログラム追加更新手段、第1判定手段、第2判定手段、アクセス制限手段、位置情報取得手段、位置判定手段、プログラム追加更新制限手段、遮断手段、ログ情報生成手段、停車判定手段)
 12 RAM
 13 位置情報取得部(位置情報取得手段)
 14 有線通信部(第2通信部)
 15 無線通信部(第2通信部)
 16 車内通信部(第1通信部)
 17 記憶部(アクセス権限レベル情報記憶部、ログ情報記憶部)
 17a プログラム記憶部
 17b 追加更新許可位置情報
 17c アクセス権限レベルテーブル(アクセス権限レベル情報)
 17d アクセス許可レベルテーブル
 17e ログ情報
 30 ゲートウェイ(車載機器)
 50 ECU(車載機器)
 210 セキュリティコントローラ(アクセス制限装置)
 218 車輌情報取得部(車輌情報取得手段)
 261 車速センサ
 262 エンジン制御部

Claims (13)

  1.  車輌に搭載され、
     該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部と、
     外部装置との通信を行う第2通信部と、
     前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部と、
     該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部と、
     前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段と、
     前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段と、
     前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段と、
     前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段と
     を備えることを特徴とするアクセス制限装置。
  2.  前記アクセス制限手段は、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへの情報送信要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記第1通信部から車載機器への情報送信を制限するようにしてあること
     を特徴とする請求項1に記載のアクセス制限装置。
  3.  前記車輌の位置情報を取得する位置情報取得手段と、
     該位置情報取得手段が取得した位置情報に係る前記車輌の位置が、所定位置又は所定位置範囲内で有るか否かを判定する位置判定手段と、
     該位置判定手段の判定結果に応じて、前記プログラム追加更新手段によるプログラムの追加又は更新を制限するプログラム追加更新制限手段と
     を備えること
     を特徴とする請求項1又は請求項2に記載のアクセス制限装置。
  4.  前記プログラム追加更新制限手段は、プログラムのアクセス権限レベル、及び、前記位置判定手段の判定結果に応じて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
     を特徴とする請求項3に記載のアクセス制限装置。
  5.  前記車輌に係る情報を取得する車輌情報取得手段を備え、
     前記プログラム追加更新制限手段は、前記車輌情報取得手段が取得した情報に基づいて、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
     を特徴とする請求項3又は請求項4に記載のアクセス制限装置。
  6.  前記車輌情報取得手段が取得した情報に基づいて、前記車輌が停止状態であるか否かを判定する停車判定手段を備え、
     前記プログラム追加更新制限手段は、前記停車判定手段が停止状態でないと判定した場合に、前記プログラム追加更新手段による前記プログラムの追加又は更新を制限するようにしてあること
     を特徴とする請求項5に記載のアクセス制限装置。
  7.  前記車輌情報取得手段が取得する情報は、前記車輌の車速情報、及び/又は、前記車輌の原動機の動作状態を示す情報であること
     を特徴とする請求項5又は請求項6に記載のアクセス制限装置。
  8.  プログラムの配信元及びアクセス権限のレベルを対応付けたアクセス権限レベル情報を記憶するアクセス権限レベル情報記憶部を備え、
     前記第1判定手段は、アクセス権限レベル情報記憶部が記憶したアクセス権限レベル情報を基に、プログラムのアクセス権限のレベルを判定するようにしてあること
     を特徴とする請求項1乃至請求項7のいずれか1つに記載のアクセス制限装置。
  9.  前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部から前記車内ネットワークへ送信された情報の量が所定量を超える場合に、情報の送信を遮断する遮断手段を備えること
     を特徴とする請求項1乃至請求項8のいずれか1つに記載のアクセス制限装置。
  10.  前記所定量は、プログラムのアクセス権限のレベルに応じて定められる量であること
     を特徴とする請求項9に記載のアクセス制限装置。
  11.  前記アクセス制限手段が情報に対するアクセスを制限した場合に、該アクセスに係るログ情報を生成するログ情報生成手段と、
     該ログ情報生成手段が生成したログ情報を記憶するログ情報記憶部と
     を備えること
     を特徴とする請求項1乃至請求項10のいずれか1つに記載のアクセス制限装置。
  12.  車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段、前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定手段、前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定手段、並びに、前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定手段が判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定手段が判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限手段を有するアクセス制限装置と、
     該アクセス制限装置に車内ネットワークを介して接続された一又は複数の車載機器と
     を備え、
     前記車載機器が前記アクセス制限装置を介して外部装置との通信を行うようにしてあること
     を特徴とする車載通信システム。
  13.  車輌に搭載され、該車輌に配された車内ネットワークを介して車載機器との通信を行う第1通信部、外部装置との通信を行う第2通信部、前記第1通信部にて送受信する情報に係る処理及び/又は前記第2通信部にて送受信する情報に係る処理を行うプログラムを記憶するプログラム記憶部、該プログラム記憶部に記憶された一又は複数のプログラムを実行して処理を行う処理部、及び、前記第2通信部による外部装置との通信により、前記処理部にて実行するプログラムの追加又は更新を行うプログラム追加更新手段を備えるアクセス制限装置を用いて、前記車載機器及び前記外部装置の通信を制限する通信制限方法であって、
     前記第1通信部にて受信した情報に対するアクセス権限のレベルを、プログラム毎に判定する第1判定ステップと、
     前記第1通信部にて受信した情報に対するアクセスを許可するアクセス権限のレベルを、前記第1通信部にて受信した情報毎に判定する第2判定ステップと、
     前記処理部がプログラムを実行することにより行われた処理にて、前記第1通信部が受信した情報に対するアクセス要求がなされた場合、前記第1判定ステップにて判定した前記プログラムのアクセス権限のレベル、及び、前記第2判定ステップにて判定した前記情報に係るアクセス権限のレベルに応じて、前記情報に対するアクセスを制限するアクセス制限ステップと
     を含むことを特徴とする通信制限方法。
PCT/JP2014/050734 2013-01-31 2014-01-17 アクセス制限装置、車載通信システム及び通信制限方法 WO2014119380A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112014000623.8T DE112014000623T5 (de) 2013-01-31 2014-01-17 Zugriffbeschränkungseinrichtung, Bord-Kommunikationssystem und Verfahren zur Kommunikationsbeschränkung
CN201480006785.1A CN104955680B (zh) 2013-01-31 2014-01-17 访问限制装置、车载通信系统及通信限制方法
US14/764,019 US10027672B2 (en) 2013-01-31 2014-01-17 Access restriction device, on-board communication system and method for communication restriction

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013-017486 2013-01-31
JP2013017486 2013-01-31
JP2013-055403 2013-03-18
JP2013055403A JP5900390B2 (ja) 2013-01-31 2013-03-18 アクセス制限装置、車載通信システム及び通信制限方法

Publications (1)

Publication Number Publication Date
WO2014119380A1 true WO2014119380A1 (ja) 2014-08-07

Family

ID=51262094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/050734 WO2014119380A1 (ja) 2013-01-31 2014-01-17 アクセス制限装置、車載通信システム及び通信制限方法

Country Status (5)

Country Link
US (1) US10027672B2 (ja)
JP (1) JP5900390B2 (ja)
CN (1) CN104955680B (ja)
DE (1) DE112014000623T5 (ja)
WO (1) WO2014119380A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704102A (zh) * 2014-11-26 2016-06-22 广州汽车集团股份有限公司 车辆网络访问控制方法及装置
JP6009622B1 (ja) * 2015-06-12 2016-10-19 三菱電機株式会社 更新マネジャおよびこれを用いた車載ソフトウェア更新システム
EP3248844A4 (en) * 2015-01-20 2018-02-14 Panasonic Intellectual Property Corporation of America Irregularity detection rule update method, irregularity detection electronic control unit, and on-board network system
CN108025684A (zh) * 2015-09-29 2018-05-11 日立汽车系统株式会社 车载控制装置以及车载控制装置的信息更新系统
CN110214308A (zh) * 2017-02-01 2019-09-06 住友电气工业株式会社 控制装置、程序更新方法和计算机程序
EP3813333A1 (en) * 2015-01-20 2021-04-28 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3358800B1 (en) 2014-01-06 2021-10-20 Argus Cyber Security Ltd Bus watchman
CN107004091B (zh) * 2014-09-26 2021-07-13 英特尔公司 安全地交换车辆传感器信息
JP6835935B2 (ja) * 2014-11-12 2021-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 更新管理方法、更新管理装置及び制御プログラム
EP3412514B1 (en) 2014-11-12 2019-12-04 Panasonic Intellectual Property Corporation of America Update management method, update management device, and control program
KR101612828B1 (ko) 2014-11-26 2016-04-15 현대자동차주식회사 Avn 단말기 및 그 차량 정보 제공 방법 및 차량 정보 제공 시스템 및 차량 정보 제공 방법 및 기록매체
US9648023B2 (en) * 2015-01-05 2017-05-09 Movimento Group Vehicle module update, protection and diagnostics
WO2016117212A1 (ja) * 2015-01-23 2016-07-28 コベルコ建機株式会社 制御手段及びこれを備えた車載プログラムの書き換え装置並びに車載プログラムの書き換え方法
WO2016143031A1 (ja) * 2015-03-09 2016-09-15 富士通株式会社 プログラム取得方法、情報処理端末、及びプログラム
US9830603B2 (en) * 2015-03-20 2017-11-28 Microsoft Technology Licensing, Llc Digital identity and authorization for machines with replaceable parts
JP6298021B2 (ja) 2015-07-30 2018-03-20 トヨタ自動車株式会社 攻撃検知システムおよび攻撃検知方法
KR101667673B1 (ko) * 2015-08-12 2016-10-20 (주)그린비 테크놀로지 터치 팟 기기 연동 구조의 운행 기록 전송 장치 및 운행 기록의 관리 방법
JP6650242B2 (ja) * 2015-10-16 2020-02-19 日立オートモティブシステムズ株式会社 自動運転システム、自動運転制御方法、データecuおよび自動運転ecu
US10516768B2 (en) * 2015-11-11 2019-12-24 Snap-On Incorporated Methods and systems for switching vehicle data transmission modes based on detecting a trigger and a request for a vehicle data message
CN105591858B (zh) * 2015-12-02 2019-03-29 广州汽车集团股份有限公司 一种车用网关控制方法以及控制装置
JP6561811B2 (ja) * 2015-12-09 2019-08-21 株式会社オートネットワーク技術研究所 車載通信装置、車載通信システム及び車両特定処理禁止方法
BR112018069688A2 (pt) 2016-05-02 2019-01-29 Sew Eurodrive Gmbh & Co processo para integração de um outro participante do barramento em um sistema de barramento e sistema de barramento
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc Route planning for an autonomous vehicle
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
KR20180006127A (ko) * 2016-07-08 2018-01-17 현대자동차주식회사 차량, 이를 포함하는 차량 시스템, 및 차량 시스템의 제어방법
CN106143364B (zh) * 2016-07-22 2019-06-11 北京航空航天大学 一种电动汽车分布式控制器信息安全方法及系统
JP6665728B2 (ja) * 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10331129B2 (en) 2016-10-20 2019-06-25 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc Identifying a stopping place for an autonomous vehicle
JP6270965B1 (ja) * 2016-11-16 2018-01-31 三菱電機株式会社 プログラムの更新制御システムおよびプログラムの更新制御方法
JP7007697B2 (ja) * 2017-01-16 2022-01-25 株式会社ユピテル 装置およびプログラム
JP6737189B2 (ja) * 2017-01-18 2020-08-05 トヨタ自動車株式会社 不正判定システム及び不正判定方法
KR102081690B1 (ko) * 2017-09-14 2020-02-26 한국자동차연구원 차량 네트워크 공격 신호 차단 장치 및 방법
JP7201329B2 (ja) * 2018-03-12 2023-01-10 トヨタ自動車株式会社 車両用制御装置
JP7010087B2 (ja) * 2018-03-16 2022-01-26 トヨタ自動車株式会社 プログラム更新管理装置、プログラム更新管理方法、およびプログラム
DE102019202681A1 (de) * 2018-03-29 2019-10-02 Robert Bosch Gmbh Steuergerät
JP7069975B2 (ja) * 2018-03-30 2022-05-18 トヨタ自動車株式会社 制御装置、制御装置用のプログラム、及び制御方法
CN108749820B (zh) * 2018-05-31 2020-10-27 北京智行者科技有限公司 信息交互方法及系统
JP7225596B2 (ja) * 2018-07-30 2023-02-21 トヨタ自動車株式会社 プログラム更新システム、プログラム更新サーバーおよび車両
KR20200057515A (ko) * 2018-11-16 2020-05-26 현대자동차주식회사 차량의 보안 전략 제공 장치 및 방법
JP7250554B2 (ja) * 2019-02-14 2023-04-03 株式会社デンソーテン 電子制御装置及びリプログラミング方法
DE102019001192B3 (de) 2019-02-19 2020-06-10 Daimler Ag Steuerungsvorrichtung und Verfahren zur Übernahme der Kontrolle
JP7127585B2 (ja) * 2019-03-12 2022-08-30 オムロン株式会社 セーフティシステムおよびメンテナンス方法
JP2020167607A (ja) * 2019-03-29 2020-10-08 マツダ株式会社 自動車用演算システム及び受信データの処理方法
CN110798533A (zh) * 2019-11-08 2020-02-14 深圳市元征科技股份有限公司 一种文件的下载方法、装置及设备
JP7440294B2 (ja) * 2020-02-28 2024-02-28 株式会社東海理化電機製作所 車両制御システム及び車両制御方法
JP7417860B2 (ja) * 2020-03-31 2024-01-19 マツダ株式会社 車両用情報通信装置及び車両情報の通信方法
CN115158194A (zh) * 2022-07-01 2022-10-11 锦图计算技术(深圳)有限公司 基于Linux系统的智能汽车安全网关系统及其通信方法
CN115714697B (zh) * 2022-11-08 2024-05-14 中国重汽集团济南动力有限公司 一种整车can网络架构、can网络的管理方法、汽车

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10250417A (ja) * 1997-03-07 1998-09-22 Robert Bosch Gmbh 車両の制御方法および装置
JPH11115651A (ja) * 1997-10-17 1999-04-27 Toyota Motor Corp 車載機器制御システムおよび車載機器制御装置
JP2008239021A (ja) * 2007-03-28 2008-10-09 Denso Corp 車両制御装置及びそのデータ書換システム
JP2010125925A (ja) * 2008-11-26 2010-06-10 Toyota Motor Corp ソフトウェア管理装置
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
JP2012178035A (ja) * 2011-02-25 2012-09-13 Toyota Motor Corp 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
WO2012132401A1 (ja) * 2011-03-29 2012-10-04 パナソニック株式会社 車両制御装置
JP2012212272A (ja) * 2011-03-31 2012-11-01 Keihin Corp 車両用電子制御装置
JP2012240493A (ja) * 2011-05-17 2012-12-10 Denso Corp 車載通信装置、及び車両用通信システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443358B2 (en) * 1995-06-07 2016-09-13 Automotive Vehicular Sciences LLC Vehicle software upgrade techniques
US6574734B1 (en) * 1998-12-28 2003-06-03 International Business Machines Corporation Method and apparatus for securing access to automotive devices and software services
US7366589B2 (en) * 2004-05-13 2008-04-29 General Motors Corporation Method and system for remote reflash
US8060347B2 (en) * 2008-07-29 2011-11-15 Mentor Graphics Corporation Complexity management for vehicle electrical/electronic architecture design
WO2010019568A1 (en) 2008-08-11 2010-02-18 Telcordia Technologies, Inc. System and method for using networked mobile devices in vehicles
US9311271B2 (en) * 2010-12-15 2016-04-12 Andrew William Wright Method and system for logging vehicle behavior

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10250417A (ja) * 1997-03-07 1998-09-22 Robert Bosch Gmbh 車両の制御方法および装置
JPH11115651A (ja) * 1997-10-17 1999-04-27 Toyota Motor Corp 車載機器制御システムおよび車載機器制御装置
JP2008239021A (ja) * 2007-03-28 2008-10-09 Denso Corp 車両制御装置及びそのデータ書換システム
JP2010125925A (ja) * 2008-11-26 2010-06-10 Toyota Motor Corp ソフトウェア管理装置
JP2012091755A (ja) * 2010-10-29 2012-05-17 Honda Motor Co Ltd 車両用プログラム書換えシステム
JP2012178035A (ja) * 2011-02-25 2012-09-13 Toyota Motor Corp 車両制御装置のデータ書き換え支援システム及びデータ書き換え支援方法
WO2012132401A1 (ja) * 2011-03-29 2012-10-04 パナソニック株式会社 車両制御装置
JP2012212272A (ja) * 2011-03-31 2012-11-01 Keihin Corp 車両用電子制御装置
JP2012240493A (ja) * 2011-05-17 2012-12-10 Denso Corp 車載通信装置、及び車両用通信システム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105704102A (zh) * 2014-11-26 2016-06-22 广州汽车集团股份有限公司 车辆网络访问控制方法及装置
EP3248844A4 (en) * 2015-01-20 2018-02-14 Panasonic Intellectual Property Corporation of America Irregularity detection rule update method, irregularity detection electronic control unit, and on-board network system
EP3413536A1 (en) * 2015-01-20 2018-12-12 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network
EP3606004A1 (en) * 2015-01-20 2020-02-05 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network
EP3813333A1 (en) * 2015-01-20 2021-04-28 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network
EP4064614A1 (en) * 2015-01-20 2022-09-28 Panasonic Intellectual Property Corporation of America Irregularity detection rule update for an on-board network
JP6009622B1 (ja) * 2015-06-12 2016-10-19 三菱電機株式会社 更新マネジャおよびこれを用いた車載ソフトウェア更新システム
JP2017001567A (ja) * 2015-06-12 2017-01-05 三菱電機株式会社 更新マネジャおよびこれを用いた車載ソフトウェア更新システム
CN108025684A (zh) * 2015-09-29 2018-05-11 日立汽车系统株式会社 车载控制装置以及车载控制装置的信息更新系统
CN108025684B (zh) * 2015-09-29 2021-03-02 日立汽车系统株式会社 车载控制装置以及车载控制装置的信息更新系统
CN110214308A (zh) * 2017-02-01 2019-09-06 住友电气工业株式会社 控制装置、程序更新方法和计算机程序
CN110214308B (zh) * 2017-02-01 2023-01-06 住友电气工业株式会社 控制装置、程序更新方法和计算机程序

Also Published As

Publication number Publication date
JP5900390B2 (ja) 2016-04-06
US10027672B2 (en) 2018-07-17
US20150358329A1 (en) 2015-12-10
CN104955680B (zh) 2017-03-08
DE112014000623T5 (de) 2015-11-05
JP2014168219A (ja) 2014-09-11
CN104955680A (zh) 2015-09-30

Similar Documents

Publication Publication Date Title
JP5900390B2 (ja) アクセス制限装置、車載通信システム及び通信制限方法
US9635151B2 (en) In-vehicle communication system and in-vehicle relay apparatus
JP5949732B2 (ja) プログラム更新システム及びプログラム更新方法
US11807176B2 (en) On-board communication device, on-board communication system, and specific processing prohibition method for a vehicle
KR101602556B1 (ko) 차재 중계 장치 및 통신 시스템
US11366885B2 (en) Vehicle security system and vehicle security method
US20190228383A1 (en) System and method of servicing a vehicle
US10678954B2 (en) Cybersecurity vulnerability prioritization and remediation
US20200128375A1 (en) Updating vehicle electronics based on mobile device compatibility
US10419984B2 (en) Wireless device connection management
US9691193B2 (en) Method for securely authorizing vehicle owners to an in-vehicle telematics feature absent in-car screen
KR101588778B1 (ko) 차량단말기와 휴대용단말기의 연동시스템 및 방법
US10595182B1 (en) Managing short-range wireless communications (SRWC) at a vehicle
CN104350502A (zh) 认证装置、认证程序
JP2009302681A (ja) 通信中継システム、通信中継方法、ゲートウェイ装置および通信装置
JP6575697B2 (ja) 車両用情報処理システム及び車両用情報処理プログラム、並びに携帯通信端末
JP2020046743A (ja) 通信装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14745515

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14764019

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112014000623

Country of ref document: DE

Ref document number: 1120140006238

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14745515

Country of ref document: EP

Kind code of ref document: A1