WO2019224912A1 - 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム - Google Patents
車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム Download PDFInfo
- Publication number
- WO2019224912A1 WO2019224912A1 PCT/JP2018/019671 JP2018019671W WO2019224912A1 WO 2019224912 A1 WO2019224912 A1 WO 2019224912A1 JP 2018019671 W JP2018019671 W JP 2018019671W WO 2019224912 A1 WO2019224912 A1 WO 2019224912A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- vehicle
- user
- function
- unit
- decryption
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims description 121
- 230000006870 function Effects 0.000 claims abstract description 229
- 238000003860 storage Methods 0.000 claims abstract description 24
- 230000008569 process Effects 0.000 claims description 76
- 238000007726 management method Methods 0.000 description 99
- 238000012545 processing Methods 0.000 description 47
- 230000008859 change Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012423 maintenance Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R25/00—Fittings or systems for preventing or indicating unauthorised use or theft of vehicles
- B60R25/20—Means to switch the anti-theft system on or off
- B60R25/24—Means to switch the anti-theft system on or off using electronic identifiers containing a code not memorised by the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
Definitions
- the present invention relates to a vehicle communication device, a vehicle access control system, a management device, a vehicle access control method, and a vehicle access control program.
- the present invention relates to a vehicle communication device, a vehicle access control system, a management device, a vehicle access control method, and a vehicle access control program that perform access control on a vehicle-mounted function of the vehicle-mounted system.
- Patent Document 1 discloses a technique for referring to an access list when vehicle data is requested from a portable terminal, and determining permission or non-permission of data output based on the result.
- An object of the present invention is to efficiently prevent the use of in-vehicle functions by unauthorized users and improve the safety and convenience of the in-vehicle system.
- a vehicle communication device is a vehicle communication device that provides a vehicle-mounted function mounted on a vehicle.
- Auxiliary storage device that stores the encrypted data in which the in-vehicle function information used for executing the in-vehicle function is encrypted, and in which the decryption condition is embedded;
- a control unit that receives an access request including a user secret key embedded with access right information representing an attribute of the user, which is an access request that requests use of the in-vehicle function from a user who uses the in-vehicle function; Using the user secret key included in the access request, a decryption unit that obtains the in-vehicle function information as a decryption result from the encrypted data when the access right information matches the decryption conditions; And a memory for storing the in-vehicle function information obtained by the decoding unit.
- the decryption unit uses the user secret key in which the access right information that is the user's attribute information is embedded, and when the access right information matches the decryption condition, In-vehicle function information is obtained as a decoding result. Therefore, it is possible to efficiently prevent use of the in-vehicle function by an unauthorized user and improve safety and convenience.
- FIG. 1 is a configuration diagram of a vehicle access control system according to Embodiment 1.
- FIG. 1 is a configuration diagram of a vehicle communication device according to Embodiment 1.
- FIG. 1 is a configuration diagram of a vehicle according to a first embodiment.
- 1 is a configuration diagram of a management device according to Embodiment 1.
- FIG. 1 is a configuration diagram of an IC card according to Embodiment 1.
- FIG. 3 is a detailed example of a master key database according to the first embodiment. 3 is a detailed example of a user management database according to the first embodiment. 3 is a detailed example of a decryption condition database according to the first embodiment.
- FIG. 3 is a flowchart of vehicle access control processing according to the first embodiment.
- FIG. 3 is a flowchart of encryption key generation processing according to the first embodiment.
- FIG. 3 is a flowchart of encryption processing according to the first embodiment.
- FIG. 3 is a flowchart of access control processing according to the first embodiment.
- FIG. 3 is a flowchart of access control pre-processing according to the first embodiment.
- FIG. 3 is a flowchart of access control post-processing according to the first embodiment.
- FIG. 3 is a flowchart of log output processing according to the first embodiment.
- FIG. 3 is a flowchart of data decoding processing according to the first embodiment.
- FIG. 3 is a flowchart of user management processing according to the first embodiment.
- FIG. 4 is a flowchart of new user registration processing according to the first embodiment.
- FIG. 4 is a flowchart of decoding condition change processing according to the first embodiment.
- FIG. 3 is a flowchart of existing user information change processing according to the first embodiment.
- FIG. 9 is a flowchart of access control preprocessing according to a modification of the first embodiment.
- FIG. 4 is a configuration diagram of a management device according to a second embodiment.
- Embodiment 1 FIG. *** Explanation of configuration *** The configuration of the vehicle access control system 10 according to the present embodiment will be described with reference to FIG.
- the vehicle access control system 10 includes one management device 300, one or more vendor servers 800, one or more vehicles 200, and an IC card 600 for each user 500.
- the IC card 600 is an example of a device 700 for identifying the user 500.
- IC is an abbreviation for Integrated Circuit.
- the vehicle access control system 10 may have other configurations, and the number of each configuration may be one or more.
- the vehicle 200, the management device 300, and the vendor server 800 communicate via the network 400.
- a specific example of the network 400 is the Internet.
- the vehicle 200 is equipped with at least two or more electronic control devices that communicate with each other.
- the electronic control device is called an ECU.
- the electronic control device is referred to as an ECU.
- the vehicle 200 includes an in-vehicle network that conforms to a communication protocol such as CAN (Controller area network) or FlexRay.
- a plurality of ECUs mounted on the vehicle 200 communicate with each other via this in-vehicle network.
- the vehicle 200 includes a vehicle communication device 100.
- the vehicle communication device 100 communicates with each electronic control device of the plurality of electronic control devices.
- the vehicle 200 is also referred to as a vehicle system.
- the vehicle communication device 100 is specifically a gateway device for the vehicle 200.
- the vehicle communication device 100 is also referred to as an in-vehicle device or an in-vehicle system.
- the vendor server 800 is a server device managed by the vendor. There is a vendor for each vehicle body, on-vehicle component, or car service.
- the in-vehicle component is a component such as an internal ECU or an in-vehicle device constituting the vehicle body. Therefore, there are a plurality of vendor servers 800.
- the vendor server 800 provides update software.
- the updated software is the latest software for adding functions, changing functions, or correcting defects.
- the update program and update data are downloaded and the current program is updated or changed, so that the program in the vehicle becomes the latest state.
- the IC card 600 stores user authentication information such as a user ID (IDentifier) generated by the management apparatus 300 and a user secret key.
- the IC card 600 may be another device 700 having a function equivalent to that of the IC card 600.
- the IC card 600 may be replaced with a mobile terminal 730 such as a smartphone or a tablet, or a USB (Universal Serial Bus) type token 750.
- a mobile terminal 730 such as a smartphone or a tablet
- USB Universal Serial Bus
- the vehicle communication device 100 is a device that provides an in-vehicle function mounted on a vehicle.
- the vehicle communication apparatus 100 performs a decryption process with an access right using a user secret key generated based on the user's attribute.
- the user is a person who uses the in-vehicle function and is a user who wants to use the in-vehicle function.
- the vehicle communication device 100 decrypts the encrypted data 106 into the in-vehicle function information 105 for a user who wants to be a legitimate user, and makes the in-vehicle function usable.
- the in-vehicle function information 105 is information used for executing the in-vehicle function.
- the in-vehicle function information 105 includes an in-vehicle function program and data for enabling the in-vehicle function.
- the vehicle communication device 100 is a computer.
- the vehicle communication device 100 includes a processor 140 and other hardware such as a memory 150, an auxiliary storage device 160, a communication unit 170, a display unit 180, and an input device 190.
- the processor 140 is connected to other hardware via a signal line, and controls these other hardware.
- the processor 140 is an IC that performs arithmetic processing. Specific examples of the processor 140 are a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
- a CPU Central Processing Unit
- DSP Digital Signal Processor
- GPU Graphics Processing Unit
- the memory 150 is a storage device that temporarily stores data.
- a specific example of the memory 150 is SRAM (Static Random Access Memory) or DRAM (Dynamic Random Access Memory).
- the auxiliary storage device 160 is a storage device that stores data.
- a specific example of the auxiliary storage device 160 is an HDD.
- the auxiliary storage device 160 may be a portable storage medium such as an SD (registered trademark) memory card, CF, NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, or DVD.
- HDD is an abbreviation for Hard Disk Drive.
- SD (registered trademark) is an abbreviation for Secure Digital.
- CF is an abbreviation for CompactFlash (registered trademark).
- DVD is an abbreviation for Digital Versatile Disk.
- the in-vehicle function information 105 decrypted by the decrypting unit 102 is temporarily stored in the memory 150.
- the auxiliary storage device 160 stores encrypted data 106, master public key 107, decryption condition data 108, and log data 109.
- the communication unit 170 is a device that performs communication, and includes a receiver and a transmitter. Specifically, the communication unit 170 is a communication chip or a NIC (Network Interface Card).
- the display unit 180 is a display device that displays an image. Specifically, the display unit 180 is a liquid crystal display or a touch panel. The display unit 180 is also called a monitor.
- the input device 190 and the display unit 180 function as a reception unit that receives an input to the vehicle communication device 100.
- the vehicle communication device 100 includes an encryption unit 101, a decryption unit 102, a switching unit 103, and a control unit 104 as functional elements.
- the encryption unit 101 is also called an encryption unit with access right.
- the decryption unit 102 is also called a decryption unit with access right.
- the functions of the encryption unit 101, the decryption unit 102, the switching unit 103, and the control unit 104 are realized by software.
- the auxiliary storage device 160 stores a vehicle access control program that realizes the functions of the encryption unit 101, the decryption unit 102, the switching unit 103, and the control unit 104.
- the vehicle access control program is loaded into the memory 150 and executed by the processor 140.
- the auxiliary storage device 160 stores an OS (Operating System). At least a part of the OS is loaded into the memory 150 and executed by the processor 140. That is, the processor 140 executes the vehicle access control program while executing the OS.
- OS Operating System
- Data, information, signal values and variable values used, processed or output by the vehicle access control program are stored in the memory 150, the auxiliary storage device 160, or a register or cache memory in the processor 140.
- the vehicle communication apparatus 100 may include a plurality of processors 140, and the plurality of processors 140 may execute the vehicle access control program in cooperation with each other.
- the encryption unit 101 and the decryption unit 102 may be executed using a processor dedicated to cryptographic operations.
- the memory 150 stores data used, generated, input / output or transmitted / received in the vehicle communication device 100. However, data used, generated, input / output or transmitted / received in the vehicle communication device 100 may be stored using a storage device other than the memory 150.
- the “unit” of each unit of the encryption unit 101, the decryption unit 102, the switching unit 103, and the control unit 104 may be read as “processing”, “procedure”, or “process”. Further, “processing” of encryption processing, decryption processing, switching processing, and control processing may be read as “program”, “program product”, or “computer-readable storage medium storing a program”.
- the vehicle access control program causes the computer to execute each process, each procedure, or each process in which “part” of each part is replaced with “process”, “procedure”, or “process”.
- the vehicle access control method is a method performed by the vehicle communication device 100 executing a vehicle access control program.
- the vehicle access control program may be provided by being stored in a computer-readable recording medium.
- the vehicle access control program may be provided as a program product.
- the configuration of vehicle 200 according to the present embodiment will be described using FIG.
- the vehicle 200 is equipped with at least two or more ECUs 202 that communicate with each other.
- At least two or more ECUs 202 are connected to each other via an in-vehicle network 201 compliant with a communication protocol such as CAN or FlexRay.
- the configuration of the management apparatus 300 will be described with reference to FIG.
- the management device 300 is a computer including hardware such as a processor 310, a memory 330, a communication unit 350, and a key writing unit 370.
- the hardware configuration of the processor 310, the memory 330, and the communication unit 350 is the same as that of the processor 140, the memory 150, and the communication unit 170 of the vehicle communication device 100.
- the vehicle communication device 100 is a computer for embedded devices
- the management device 300 is a computer that functions as a server. Therefore, the management device 300 is a computer having a much higher calculation capability than the vehicle communication device 100.
- the processor 310 includes an encryption key generation unit 301, an encryption processing unit 302, and a management unit 303.
- the encryption key generation unit 301 generates a plurality of keys necessary for encryption processing with access right.
- the encryption key generation unit 301 is also referred to as an encryption key generation unit with access right.
- the encryption key generation unit 301 includes a master key generation unit 312 and a user secret key generation unit 313.
- the master key generation unit 312 performs master key generation.
- the user secret key generation unit 313 generates a user secret key.
- the encryption processing unit 302 includes an encryption unit 315 and a decryption unit 316.
- the encryption unit 315 performs encryption with an access right.
- the decryption unit 316 performs a decryption process with an access right.
- the cryptographic processing unit 302 is also referred to as a cryptographic processing unit with access right.
- the management unit 303 performs user management processing.
- the memory 330 stores a master key database 331, a user management database 332, and a decryption condition database 333.
- Communication unit 350 communicates with vendor server 800 and vehicle communication device 100 via network 400.
- the key writing unit 370 writes information such as the user secret key generated by the user secret key generation unit 313 to the IC card 600.
- the configuration of the IC card 600 according to the present embodiment will be described with reference to FIG.
- the IC card 600 includes a processor 610, a memory 620, and a communication unit 630.
- a communication unit 630 communicates data used in the IC card 600.
- the hardware configurations of the processor 610, the memory 620, and the communication unit 630 are the same as those of the processor 140, the memory 150, and the communication unit 170 of the vehicle communication device 100.
- the processor 610 includes a decoding unit 601.
- the decryption unit 601 is also referred to as an access right decryption unit.
- the memory 620 stores data used by the IC card 600. Specifically, the memory 620 stores a user ID 603, access right information 604, and a user secret key 605.
- the communication unit 630 communicates data used in the IC card 600. Specifically, the communication unit 630 receives the user ID 603, the access right information 604, and the user secret key 605 from the management apparatus 300 when the IC card 600 is issued or updated. Further, the communication unit 630 performs transmission / reception necessary for vehicle access control with the vehicle communication device 100.
- FIG. 6 is an example showing details of the master key database 331 according to the present embodiment.
- the master key database 331 includes a plurality of master key sets 390.
- the master key set 390 is a set of a master public key 391, a master secret key 392, and a master key ID 393.
- FIG. 7 is an example showing details of the user management database 332 according to the present embodiment.
- the user management database 332 includes user management data 395 such as a row number, a user ID, registration date / time, access right information, a master key ID, a key ID, and a user secret key associated with the key ID.
- the user management data 395 also includes the ID, registration date and key data information of the user access right information and the user secret key. That is, the user management database 332 is also used for registering and managing user secret keys.
- the access right information is information representing the user's authority. Specifically, the access right information is the owner of the car, not the owner but a family, a dealer employee, a dealer contractor, a supplier, or A, B In addition to the above, it is possible to set a plurality of attribute information related to the user such as A and B. That is, a plurality of access right information, that is, attribute information can be set.
- FIG. 8 is an example showing details of the decoding condition database 333 according to the present embodiment.
- the decryption condition database 333 includes decryption condition data 394 representing decryption conditions for decrypting encrypted data.
- the decryption condition database 333 includes a plurality of decryption condition data 394.
- a decoding condition ID, header information, and at least one attribute information are set in the decoding condition data 394.
- the decryption condition database 333 includes information such as a user ID, registration date / time, attribute information, key ID, and user secret key.
- a vehicle access control method by the vehicle access control system 10 will be described.
- the operation of the vehicle access control system 10 corresponds to a vehicle access control method.
- the procedure of the vehicle access control method corresponds to the procedure of processing by the vehicle access control program.
- the procedure of the vehicle access control process according to the present embodiment will be described using FIG.
- the vehicle access control process includes an encryption key generation process, an encryption process, an access control process, a log output process, and a user management process.
- step S100 the encryption key generation unit 301 of the management apparatus 300 generates encryption keys such as a master public key, a master secret key, and a user secret key. Then, the management device 300 sets, stores, and distributes an encryption key. The management device 300 writes the generated encryption key in the IC card or the database of the management device 300 as a process for issuing the user ID.
- Step S100 is a process that is performed before the system is operated and is performed when a new user is registered. Specifically, step S100 is performed when the vehicle 200 and the vehicle communication device 100 are manufactured, when an IC card is provided to the user, or when an in-vehicle function is updated.
- the encryption unit 315 of the management apparatus 300 encrypts the in-vehicle function information used for executing the in-vehicle function that is a function of the vehicle as encrypted data.
- the encryption unit 315 encrypts the encrypted data by embedding a decryption condition.
- the encryption unit 315 performs encryption of the vehicle function program and data used for the vehicle function.
- the management device 300 stores the encrypted in-vehicle function program and data in the management device 300 or the vehicle 200. Examples of in-vehicle functions include a debugging function or a car sharing function.
- Encrypted data is downloaded to the vehicle 200 in advance for the in-vehicle function program and data used for the in-vehicle function such as the debug function.
- the encrypted data is downloaded from the vendor server 800 or the management apparatus 300 to the vehicle 200 when the in-vehicle function is used.
- Step S200 is performed when the vehicle 200 and the vehicle communication device 100 are manufactured or when the in-vehicle function is updated.
- Step S300 the vehicle communication device 100 accepts an access request from the user and performs a decryption process with an access right.
- Step S300 is performed at the time of use by the owner or other users after the vehicle 200 is sold as a product in the market.
- Step S400 the vehicle communication device 100 receives an access request from the user, executes step S300, and then performs an encryption process with an access right.
- Step S400 is processing that is performed when the vehicle 200 is used as a product by the dealer and the supplier in charge of processing such as maintenance and repair, or failure analysis after the vehicle 200 is sold as a product.
- the authority to execute the log output process is not given.
- step S500 the management unit 303 of the management apparatus 300 performs a process necessary when a new user is added or revoked.
- the management unit 303 controls to execute the processing from step S100 when the card is reissued.
- the encryption method with access right will be described.
- the user secret key 605 used in the encryption method with access right is generated in association with an attribute that satisfies a decryption condition that is a condition that enables decryption.
- the encryption method with access right is an encryption method that encrypts data so that it can be decrypted using the user secret key 605.
- the decryption condition is a condition related to the attribute of the decryptable person.
- the decryptable person is a person who is permitted to decrypt the encrypted data, that is, a person who belongs to the decryptable group.
- a logical expression using an attribute value representing an attribute of a decryptable person can be specified as a decryption condition.
- logical expressions such as “attribute value a AND attribute value b” and “attribute value a OR attribute value b” can be specified as the decoding condition.
- step S101 the master key generation unit 312 generates a key pair of the master public key 391 and the master secret key 392. Then, the master key generation unit 312 assigns a master key ID 393 to the key pair. A set of a key pair of the master public key 391 and the master secret key 392 and the master key ID 393 is referred to as a master key set 390.
- step S102 the master key generating unit 312 registers the master key set 390 in the master key database 331, and updates the master key database 331.
- step S ⁇ b> 103 the user secret key generation unit 313 acquires access right information for each user from the user management database 332.
- the user secret key generation unit 313 uses the master secret key 392 to generate a user secret key based on access right information for each user. Specifically, the user secret key generation unit 313 generates a user secret key in which user access right information is embedded for each user.
- step S ⁇ b> 104 the user secret key generation unit 313 registers the user secret key in the user management database 332 and updates the user management database 332.
- step S105 the user secret key is distributed to the user by writing the user secret key to the IC card by the key writing unit 370. Specifically, the key writing unit 370 writes the user ID, access right information, and user secret key to the IC card 600 as the user ID 603, access right information 604, and user secret key 605.
- step S ⁇ b> 201 the management unit 303 of the management apparatus 300 acquires the in-vehicle function information from the vendor server 800 via the network 400 or using the media by the communication unit 350. Then, the encryption processing unit 302 acquires the in-vehicle function information from the management unit 303.
- the in-vehicle function information includes an in-vehicle function program and data for enabling the in-vehicle function.
- step S ⁇ b> 202 the encryption unit 315 acquires the master public key 391 and the decryption condition database 333 from the memory 330.
- the encryption unit 315 encrypts the in-vehicle function information using the master public key 391 and the decryption condition database 333.
- the encryption unit 315 generates the encrypted in-vehicle function information as the encrypted data 106.
- the encryption unit 315 acquires, from the decryption condition database 333, decryption condition data 394 that is embedded when the in-vehicle function information is encrypted.
- the encryption unit 315 uses the master public key 391, the encryption unit 315 generates in-vehicle function information encrypted by embedding the decryption condition data 394 as the encrypted data 106.
- the management unit 303 distributes the encrypted data 106 to the vehicle communication device 100. Specifically, the management unit 303 writes the encrypted data 106 to the vehicle communication device 100 via the network 400 by the communication unit 350.
- the communication unit 350 transmits the encrypted data 106 to the vehicle communication device 100.
- step S200 The encryption processing in step S200 is performed at the time of manufacturing the vehicle and the vehicle communication device, updating the in-vehicle function program, or providing the service in the vehicle product life cycle. After performing the encryption process of step S200 at the time of manufacture, when the vehicle-mounted function program mounted in the vehicle is updated, the encryption process of step S200 is performed again. Alternatively, when re-encryption is required such as reissuing the IC card, the encryption process in step S200 is performed again. Note that step S203 is not necessarily performed immediately after step S202. There is also a form in which the encrypted data 106 is stored in the management device 300 or the vendor server 800 and downloaded to the vehicle communication device 100 as necessary.
- step S310 the vehicle communication device 100 executes an access control pre-process.
- the vehicle communication device 100 receives an access request for the in-vehicle function from the user.
- the vehicle communication apparatus 100 performs a decoding process with an access right.
- the auxiliary storage device 160 of the vehicle communication device stores encrypted data 106 obtained by encrypting the in-vehicle function information used for executing the in-vehicle function. Decryption conditions are embedded in the encrypted data 106.
- the control unit 104 receives an access request for requesting use of the in-vehicle function from a user who uses the in-vehicle function.
- the access request includes a user secret key in which access right information representing the user attribute is embedded.
- the control unit 104 receives an access request by being connected to the device 700 in which the user secret key is stored, that is, the IC card 600 by the user.
- the decryption unit 102 uses the user secret key included in the access request to obtain the in-vehicle function information 105 as the decryption result from the encrypted data 106 when the access right information matches the decryption conditions.
- the in-vehicle function information 105 obtained by the decoding unit 102 is stored in the memory 150 provided in the vehicle communication device 100.
- the switching unit 103 uses the in-vehicle function information 105 obtained by the decoding unit 102 to enable the in-vehicle function.
- step S311 the IC card 600 is connected to the vehicle communication device 100 by the user.
- a user who directly operates the vehicle 200 connects the IC card 600 owned by the user to the vehicle communication device 100.
- the user who directly operates the vehicle 200 is specifically a person who belongs to a dealer, a supplier, or an organization equivalent thereto when performing an operation related to maintenance or maintenance.
- the connection method may be contact or non-contact, but the communication path and the communication protocol are protected on security.
- step S312 the input device 190 or the display unit 180 accepts designation of an in-vehicle function to be used from the user.
- step S312 is skipped.
- the control unit 104 of the vehicle communication device 100 obtains the user secret key 605 from the IC card 600 by safe delivery via a communication path that is protected by security.
- the decryption unit 102 of the vehicle communication device 100 decrypts the encrypted data 106 corresponding to the designated in-vehicle function using the user secret key 605.
- the control unit 104 determines whether or not the encrypted data 106 has been decrypted.
- the decryption unit 102 obtains the in-vehicle function information 105 as the decryption result when the user access right information embedded in the user secret key 605 matches the decryption conditions embedded in the encrypted data 106. .
- the control unit 104 determines that the decoding can be performed when the in-vehicle function information 105 is obtained by the decoding unit 102. On the other hand, when the in-vehicle function information 105 cannot be obtained by the decryption unit 102, the control unit 104 determines that decryption has failed. If it can be decoded, the process proceeds to step S325.
- the in-vehicle function information 105 obtained by the decryption unit 102 is stored in the memory 150. If the decryption fails, the process ends.
- the switching unit 103 uses the in-vehicle function information 105 obtained by the decoding unit 102 to enable the in-vehicle function.
- the switching unit 103 incorporates the in-vehicle function into the program so that the in-vehicle function can be executed.
- step S330 to step S350 the control unit 104 determines that the use of the in-vehicle function by the user is finished.
- the control unit 104 deletes the in-vehicle function information 105 from the memory 150 and disables the use of the in-vehicle function by the user.
- the control part 104 will determine whether it is the availability period of a vehicle-mounted function. If the control unit 104 determines that the in-vehicle function is not available, the control unit 104 deletes the in-vehicle function information 105 from the memory 150 and disables the use of the in-vehicle function by the user.
- step S330 the control unit 104 determines whether or not the in-vehicle function is available, and if it is available, the process proceeds to step S331. If the control unit 104 determines that the in-vehicle function is not available, the process ends. In step S331, the in-vehicle function is used by the user. If it is confirmed in step S340 that the user's use is completed, the process proceeds to step S360. If the user is in use, the process proceeds to step S350. In step S350, the control unit 104 determines whether or not the current date and time is outside the available period. If the current date and time is outside the available period, the process proceeds to step S360.
- the usable period is a period determined in advance for each on-vehicle function. Specifically, the available period is a predetermined time from the start of use or a period of a preset date and time. By providing the usable period, it is possible to prevent the in-vehicle function from being enabled for an unnecessarily long period.
- the vehicle communication device 100 executes post-access right control processing.
- step S361 the control unit 104 deletes the in-vehicle function incorporated in the program so that the in-vehicle function cannot be executed.
- Step S310 is the same as step S310 described in FIG.
- the log output function which is one of the in-vehicle functions is enabled for the user who directly operates the vehicle 200.
- the user who directly operates the vehicle 200 is a person who belongs to a dealer, a supplier, or a similar organization when performing an operation related to maintenance or maintenance.
- the authority to execute the log output process is not given.
- step S420 the encryption unit 101 of the vehicle communication device 100 acquires the master public key 107 and the decryption condition data 108, encrypts the log data 109, and generates the encrypted data 106.
- step S430 the output device of the vehicle communication device 100 writes the log encrypted data 106 in a storage medium such as a USB stick. Thereby, the user can acquire the encrypted data 106 of the encrypted log. In addition, the user can take out the storage medium storing the encrypted data 106 of the log out of the vehicle.
- Step S360 is the same as step S360 described in FIG.
- the control unit 104 deletes the in-vehicle function incorporated in the program, that is, the log output function, so that the log output function cannot be executed. Note that step S360 may be performed before step S430 as long as it is after step S420.
- step S440 data decryption processing is performed on the encrypted data 106 in the log.
- step S440 The procedure of the data decoding process in step S440 according to the present embodiment will be described using FIG.
- a dedicated PC Personal Computer
- the IC card 600 is connected to the dedicated PC by the user.
- the decryption unit 601 obtains the user secret key 605 and decrypts the encrypted data 106 into the log data 109. If the decryption is successful, the log data 109 is output to the dedicated PC in step S444. As a result, the user can refer to the log data. If it cannot be decrypted normally, the process ends.
- the decoding process is the same as that in step S315 except that the place where the function is performed is different. Since the dedicated PC is a computer having a higher calculation capability than the vehicle communication device 100 or the IC card 600, it can be processed without any problem. Note that the decryption process may be executed by a smartphone or a tablet having a higher calculation capability than the IC card.
- step S501 the management unit 303 determines whether to add a new user. If a new user is added for registration, the process proceeds to step S510.
- step S502 the management unit 303 determines whether to invalidate or validate an existing user. That is, the management unit 303 determines whether or not to change the decryption condition of the existing user. When changing the decryption condition of the existing user, the process proceeds to step S520. As a result, the right to use the function can be revoked only for a specific attribute or person that has been permitted to use.
- step S503 the management unit 303 determines whether to change the access right information of the existing user. If the access right information of the existing user is to be changed, the process proceeds to step S530.
- step S ⁇ b> 511 the management unit 303 generates user management data 395 for the new user in the user management database 332.
- step S103 the user secret key generation unit 313 uses the master secret key 392 to generate a user secret key based on the access right information of the new user.
- step S104 the user secret key generation unit 313 registers and updates the user secret key in the user management data 395 of the new user.
- step S105 the key writing unit 370 writes the user ID, access right information, and user secret key to the IC card 600 as the user ID 603, access right information 604, and user secret key 605. Steps S103 to S105 are the same as those in FIG.
- step S515 the IC card 600 is distributed to the new user.
- the management apparatus 300 when adding a new user to the existing vehicle access control system 10, it is necessary to register the management apparatus 300 in the user management database 332 and issue a new IC card 600. However, no changes to the data of the vehicle 200 and the vehicle communication device 100 are required.
- step S521 the management unit 303 changes the decryption condition data 394 and updates the decryption condition database 333 in order to change the decryption conditions for the encryption target.
- step S201 the management unit 303 acquires in-vehicle function information from the vendor server 800 in order to perform re-encryption in response to the decryption condition change.
- the association between the in-vehicle function information and the decoding condition is managed by the management device 300.
- step S ⁇ b> 202 the encryption processing unit 302 encrypts the in-vehicle function information using the master public key 391 and the changed decryption condition data 394 and generates it as encrypted data 106. Decryption conditions represented by the decryption condition data 394 are embedded in the encrypted data 106.
- step S ⁇ b> 203 the management unit 303 writes the encrypted data 106 into the vehicle communication device 100 through the communication unit 350. Steps S201 to S203 are the same as those in FIG.
- step S523 the management unit 303 determines whether or not the decoding condition data 108 of the vehicle 200 needs to be changed along with the update in step S521. If the decryption condition data 108 of the vehicle 200 needs to be changed, the management unit 303 writes the decryption condition data 394 as the decryption condition data 108 into the vehicle communication device 100 in step S524.
- step S531 the management unit 303 changes the access right information of the user management data 395.
- step S532 the user secret key generation unit 313 generates the user secret key 605 using the master secret key 392 and the changed access right information.
- step S ⁇ b> 104 the user secret key generation unit 313 registers the user secret key in the user management data 395 and updates the user management database 332.
- Step S104 is the same as that in FIG.
- the key writing unit 370 writes the access right information 604 and the user secret key 605 to the IC card 600, and updates the IC card 600.
- step S535 the updated IC card 600 is distributed to existing users.
- FIG. 21 is a diagram showing a procedure of access control processing in step S310a according to the modification of the present embodiment.
- the in-vehicle function information decoding process is performed by the decoding unit 102 of the vehicle communication device 100.
- the decryption unit 601 of the IC card 600 may perform the decryption process of the in-vehicle function information.
- the access control process in FIG. 21 includes steps S314, S316, and S320a instead of steps S313, S315, and S320 in FIG. Further, step S321 is provided between step S320a and step S325.
- step S314 the IC card 600 acquires the encrypted data 106 corresponding to the specified in-vehicle function from the vehicle communication device 100.
- step S316 the decryption unit 601 of the IC card 600 decrypts the encrypted data 106.
- step S320a it is determined whether or not the IC card 600 can be decrypted. If decryption is possible, the process proceeds to step S321. If the decryption fails, the process ends.
- step S ⁇ b> 321 the vehicle communication apparatus 100 acquires the decrypted in-vehicle function information 105 from the IC card 600.
- Other processes are the same as those in FIG.
- Data communication between the vehicle communication device 100 and the IC card 600 is performed by safe delivery via a communication path in which security is protected.
- the user secret key 605 exists in the IC card 600. If the calculation capability is sufficient, the decryption process may be performed by either the IC card 600 or the vehicle communication device 100. Further, if a decryption delegation method for delegating the decryption process to another device is used, the decryption process may be performed using the calculation resources of both the IC card 600 and the vehicle communication device 100.
- the functions of the constituent elements of the vehicle communication apparatus 100 and the management apparatus 300 are realized by software.
- the constituent elements of the apparatuses of the vehicle communication apparatus 100 and the management apparatus 300 are used. These functions may be realized by hardware. That is, each device of the vehicle communication device 100 and the management device 300 may include an electronic circuit instead of the processor.
- each apparatus of the vehicle communication apparatus 100 and the management apparatus 300 is only called each apparatus.
- the electronic circuit is a dedicated electronic circuit that realizes the functions of the components of each device. Specifically, the electronic circuit is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA, an ASIC, or an FPGA.
- GA is an abbreviation for Gate Array.
- ASIC is an abbreviation for Application Specific Integrated Circuit.
- FPGA is an abbreviation for Field-Programmable Gate Array.
- the functions of the constituent elements of each device may be realized by a single electronic circuit, or may be realized by being distributed to a plurality of electronic circuits. As another modification, some functions of the components of each device may be realized by an electronic circuit, and the remaining functions may be realized by software.
- Each of the processor and the electronic circuit is also called a processing circuit. That is, the function of each component of each device is realized by the processing circuitry.
- this mechanism cannot be said to be vehicle access control considering security.
- a database that lists all users is required.
- Each of the two methods has the following problems. (1) When a vehicle has a database, it is necessary to update all the vehicles to change the information in the database according to the addition or revocation of the user. Even if the database size is not taken into account and the update can be performed together with the software update, the operation is difficult.
- the user management database is managed by the management device. Therefore, according to the vehicle access control system 10 according to the present embodiment, the problems (1) and (2) described above can be solved. Moreover, according to the vehicle access control system 10 according to the present embodiment, the unauthorized use of the in-vehicle function by an unauthorized person can be suppressed. That is, only the permitted person can use the permitted in-vehicle function. Therefore, according to the vehicle access control system 10 according to the present embodiment, the safety and convenience of the in-vehicle system can be improved.
- the encrypted data is stored in the vehicle communication device, but the in-vehicle function information is not stored in the vehicle communication device. Therefore, the in-vehicle function information is protected from an external attacker or a malicious third party. In addition, use of the in-vehicle function by an unauthorized person can be suppressed.
- An unauthorized person is a person with an unauthorized attribute, including an attacker or a malicious third party. That is, it is a person other than the permitted attribute. Therefore, according to the vehicle access control system 10 according to the present embodiment, safety can be reliably improved in the vehicle communication device.
- the vehicle access control system 10 when the user uses the debugging function, the in-vehicle function program stored in the encrypted state is decrypted only when the user private key of the person corresponds to the decryptable person attribute.
- the user can use the intended debug function only when the user private key possessed by the user corresponds to the decryptable person attribute. Therefore, a user with an attribute that does not match the decryption condition, and a third party or attacker who does not have the correct user secret key cannot use the debug function, and thus can prevent an attack that exploits the debug function.
- the target debug function is usually encrypted. Therefore, according to the vehicle access control system 10 according to the present embodiment, it is possible to make analysis by a third party reverse engineering extremely difficult. Further, in the vehicle access control system 10 according to the present embodiment, the access right encryption function of the vehicle communication device is used to encrypt the log so that only authorized persons can view the contents of the log. An access right can be attached to data output from the vehicle to the outside of the vehicle.
- the debug function is an example as an in-vehicle function for which the authority of permitting or not permitting use of the function according to the user is an example, and is applicable not only to the debug function.
- the in-vehicle function that is a target to restrict access may be any function as long as the vehicle communication device has the function. Therefore, in-use functions or services in which a plurality of users share a vehicle, it is possible to provide an in-vehicle function corresponding to the user. Specific examples of usage forms that users share include services such as car rental and car sharing.
- “Functional cryptography” can incorporate a conditional statement that controls attribute information or access authority into a ciphertext and a key for decrypting the ciphertext. This eliminates the need for a database that is required when identifying or authenticating user attributes. Therefore, in vehicle access control system 10 according to the present embodiment, it is possible to reduce maintenance costs associated with database update.
- a method for identifying a user in addition to an IC card, a technology such as a smartphone, a PC tablet, or a USB token that can be connected to an in-vehicle system can be used. Therefore, in the vehicle access control system 10 according to the present embodiment, a method for identifying a user from a plurality of options can be selected according to the requirements for the in-vehicle system.
- This embodiment can be applied to systems such as air conditioners, copiers or multifunction machines, entrance / exit management, factories, power plants, railways, and satellites in addition to cars.
- the debugging function and the maintenance function are mounted in the same manner as the in-vehicle system, and the use of the functions should be limited to a specific person, as in the in-vehicle system. The same applies to applications that are not limited to debug functions.
- Embodiment 2 FIG. In the present embodiment, differences from the first embodiment will be mainly described.
- symbol is attached
- an in-vehicle function program existing in the memory of the vehicle communication device 100 in advance is targeted for access control.
- the in-vehicle function program is an example of in-vehicle function information as described above.
- This in-vehicle function program is also appropriately updated by the OTA as necessary.
- the in-vehicle function program that should be encrypted exists in the memory of the vehicle communication device 100 in an encrypted state before being used by the user.
- the in-vehicle function program is basically fixed, and the update program is downloaded from the management apparatus 300 via the network when the in-vehicle function program is updated.
- the management apparatus 300 performs key and user management such as key generation or user ID and key distribution. Other than the management of keys and users, the management apparatus 300 is not directly involved in the execution of access control processing for user access requests.
- the management apparatus 300 in addition to the operation realized in the first embodiment, provides a service in response to a user request. That is, in the present embodiment, in addition to the operation realized in the first embodiment, the management apparatus 300 provides a service on demand. Therefore, the encrypted in-vehicle function program is not only stored in the vehicle communication device 100 in advance, but may be downloaded to the vehicle 200 via the network only when the user tries to use it.
- FIG. 22 is a diagram illustrating a configuration of the management apparatus 300a according to the present embodiment.
- the management device 300 a in FIG. 22 includes an auxiliary storage device 340 that stores the in-vehicle function information encrypted by the encryption unit 315 as the encrypted data 106.
- control unit 104 of vehicle communication device 100 downloads encrypted data 106 from management device 300 when an access request is received.
- the differences from the first embodiment are as follows.
- the encrypted in-vehicle function program with access right is stored in the management device 300, the vendor server 800, or the vendor server device that provides the service.
- the in-vehicle function program encrypted by the management device 300 as needed is downloaded from the management device 300 to the vehicle 200 and stored in the vehicle communication device 100.
- a plaintext in-vehicle function program that is not encrypted with access right is in the vendor server 800, and the encryption processing with access right is performed on the plaintext in-vehicle function program by the management apparatus 300.
- the encrypted data with access right is downloaded from the management device 300 to the vehicle 200 and stored in the vehicle communication device 100.
- the subsequent processing is the same as in the first embodiment.
- the configuration of the vehicle access control system 10 according to the present embodiment is the same as that of the first embodiment. However, in the present embodiment, the encrypted data is downloaded from the management device 300 to the vehicle 200 on demand. For this reason, in the configuration of the vehicle access control system 10, a cloud server that provides various services based on a cloud-type cooperative service in which a vehicle 200 and a server such as the management device 300 cooperate with each other is added. This cloud server is the same as the vendor server 800.
- the vehicle access control system 10 it is possible to provide a service linked to a server such as the management apparatus 300, and to add value.
- a server such as the management apparatus 300
- functions and services according to the user can be provided even if the vehicles are changed.
- a user selects a different car (hardware)
- provided data, functions, and services software
- the provided software can be changed according to the user.
- the user can always use a certain service, a remarkable and new effect can be obtained that the user can always use the service like a private car.
- Examples of data that differ for each user include personal data such as music data, navigation information, and an address book.
- the vehicle access control system 10 according to the present embodiment can be used by downloading them from the cloud.
- personal data may be completely individual data or data that can be shared.
- encryption with access right the amount of encrypted data can be reduced and the time required for the encryption process can be shortened. This is because the encrypted data may be shared rather than being generated by the number of users. Moreover, the effect of leakage prevention and privacy protection is acquired.
- the data, function, or service provided can be changed according to the charge. Therefore, it is possible to realize an operation that makes it possible to use the driving assist function or the comfort system function if an optional fee is paid.
- the driving assistance function include a function such as automatic parking or automatic driving.
- a specific example of the comfort system function is a function such as a massage function chair.
- ranking such as premium, regular, and economy can be applied to attribute information according to the charge, and can be applied to various combinations of decoding conditions. In this way, vehicle access control for the in-vehicle function can be realized.
- the cost of the entire system including management and maintenance can be reduced. Further, since the vehicle communication device 100 can be made common, the cost of manufacturing the vehicle can be reduced.
- each part of each device of the vehicle access control system has been described as an independent functional block.
- the configuration of each device of the vehicle access control system may not be the configuration as in the above-described embodiment.
- the functional blocks of the devices of the vehicle access control system may have any configuration as long as the functions described in the above-described embodiments can be realized.
- FIG. Alternatively, one part of these embodiments may be implemented.
- these embodiments may be implemented in any combination as a whole or in part. That is, in Embodiments 1 and 2, any combination of the embodiments, a modification of any component in each embodiment, or omission of any component in each embodiment is possible.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
車両通信装置(100)は、車両に搭載された車載機能を提供する。補助記憶装置(160)は、車載機能の実行に用いられる車載機能情報を暗号化した暗号化データ(106)を記憶する。暗号化データ(106)には、復号条件が埋め込まれている。制御部(104)は、ユーザから、車載機能の使用を要求するアクセス要求を受け付ける。アクセス要求は、ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含む。復号部(102)は、アクセス要求に含まれるユーザ秘密鍵を用いて、アクセス権情報が復号条件に合致する場合に暗号化データ(106)から復号結果として車載機能情報(105)を得る。メモリ(150)は、復号部(102)により得られた車載機能情報(105)を記憶する。
Description
本発明は、車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラムに関する。特に、車載システムの車載機能に対するアクセス制御を行う車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラムに関する。
従来、カーナビゲーションシステムまたは自動運転システムといった様々な車載システムが存在する。これらの車載システムでは、第三者が、車載機能を悪用して、車両に攻撃する手法が知られている。よって、許可されていない人物による不正な車載機能の利用を抑制することが求められている。
特許文献1では、携帯端末から車両データを要求したときにアクセスリストを参照し、その結果によりデータの出力の許可あるいは不許可を決定する技術が開示されている。
特許文献1では、携帯端末から車両データを要求したときにアクセスリストを参照し、その結果によりデータの出力の許可あるいは不許可を決定する技術が開示されている。
特許文献1の技術では、アクセスリストを利用しているので、アクセスリストを書き換えるといった不正な攻撃が行われた場合に、車両に対する攻撃を防ぐことができない。
本発明は、不正なユーザによる車載機能の利用を効率的に防止し、車載システムの安全性および利便性を向上させることを目的とする。
本発明に係る車両通信装置は、車両に搭載された車載機能を提供する車両通信装置において、
前記車載機能の実行に用いられる車載機能情報を暗号化した暗号化データであって、復号条件が埋め込まれた暗号化データを記憶する補助記憶装置と、
前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付ける制御部と、
前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る復号部と、
前記復号部により得られた前記車載機能情報を記憶するメモリとを備えた。
前記車載機能の実行に用いられる車載機能情報を暗号化した暗号化データであって、復号条件が埋め込まれた暗号化データを記憶する補助記憶装置と、
前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付ける制御部と、
前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る復号部と、
前記復号部により得られた前記車載機能情報を記憶するメモリとを備えた。
本発明に係る車両通信装置によれば、復号部が、ユーザの属性情報であるアクセス権情報が埋め込まれたユーザ秘密鍵を用いて、アクセス権情報が復号条件に合致する場合に暗号化データから復号結果として車載機能情報を得る。よって、不正なユーザによる車載機能の利用を効率的に防止し、安全性および利便性を向上させることができる。
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
実施の形態1.
***構成の説明***
図1を用いて、本実施の形態に係る車両アクセス制御システム10の構成について説明する。
車両アクセス制御システム10は、1つの管理装置300と、1つ以上のベンダサーバ800と、1つ以上の車両200と、ユーザ500ごとのICカード600とを備える。ICカード600は、ユーザ500を識別するためのデバイス700の例である。ICはIntegrated Circuitの略である。ただし、車両アクセス制御システム10は、その他の構成を備えても構わないし、各構成の数は1つまたは複数であっても構わない。
車両200と管理装置300とベンダサーバ800とはネットワーク400を介して通信を行う。ネットワーク400の具体例は、インターネットである。
***構成の説明***
図1を用いて、本実施の形態に係る車両アクセス制御システム10の構成について説明する。
車両アクセス制御システム10は、1つの管理装置300と、1つ以上のベンダサーバ800と、1つ以上の車両200と、ユーザ500ごとのICカード600とを備える。ICカード600は、ユーザ500を識別するためのデバイス700の例である。ICはIntegrated Circuitの略である。ただし、車両アクセス制御システム10は、その他の構成を備えても構わないし、各構成の数は1つまたは複数であっても構わない。
車両200と管理装置300とベンダサーバ800とはネットワーク400を介して通信を行う。ネットワーク400の具体例は、インターネットである。
車両200は、互いに通信する少なくとも2つ以上の電子制御装置を搭載する。電子制御装置はECUと呼ばれる。以下において、電子制御装置をECUと呼ぶ。車両200は、CAN(Controller area network)、あるいは、FlexRayといった通信プロトコルに準拠した車載ネットワークを備える。車両200に搭載された複数のECUは、この車載ネットワークを介して互いに通信する。また、車両200は、車両通信装置100を備える。車両通信装置100は、複数の電子制御装置の各電子制御装置と通信する。車両200は、車両システムともいう。また、車両通信装置100は、具体的には、車両200のゲートウェイ装置である。車両通信装置100は、車載装置あるいは車載システムともいう。
ベンダサーバ800は、ベンダにより管理されるサーバ装置である。ベンダは、車体、車載コンポーネント、あるいは、車向けサービスごとに存在する。車載コンポーネントは、車体を構成する内部のECUあるいは車載装置といったコンポーネントである。よって、ベンダサーバ800は複数存在する。ベンダサーバ800は、更新ソフトウェアを提供する。更新ソフトウェアは、機能の追加、機能の変更、あるいは、不具合の修正のための最新のソフトウェアである。車両200では、更新ソフトウェアおよび更新データをダウンロードして現状のプログラムを更新あるいは変更することで、車両内のプログラムが最新の状態になる。
ICカード600は、管理装置300によって生成されたユーザID(IDentifier)およびユーザ秘密鍵といった利用者認証情報を記憶する。ただし、ICカード600は、ICカード600と同等の機能を備えるその他のデバイス700でもよい。具体的には、ICカード600は、スマートフォンあるいはタブレットといった携帯端末730、または、USB(Universal Serial Bus)型トークン750で置換えられてもよい。以下では、デバイス700の例としてICカード600を用いて説明する。
図2を用いて、本実施の形態に係る車両通信装置100の構成について説明する。
車両通信装置100は、車両に搭載された車載機能を提供する装置である。車両通信装置100は、ユーザの属性に基づいて生成されたユーザ秘密鍵を用いたアクセス権付き復号処理を行う。ユーザは、車載機能を使用する者であり、車載機能の使用希望者である。
車両通信装置100は、正規のユーザである使用希望者に対して、暗号化データ106を車載機能情報105に復号し、車載機能を使用可能な状態にする。車載機能情報105は、車載機能の実行に用いられる情報である。ここで、車載機能情報105には、車載機能を使用可能にする車載機能プログラムおよびデータが含まれる。
車両通信装置100は、車両に搭載された車載機能を提供する装置である。車両通信装置100は、ユーザの属性に基づいて生成されたユーザ秘密鍵を用いたアクセス権付き復号処理を行う。ユーザは、車載機能を使用する者であり、車載機能の使用希望者である。
車両通信装置100は、正規のユーザである使用希望者に対して、暗号化データ106を車載機能情報105に復号し、車載機能を使用可能な状態にする。車載機能情報105は、車載機能の実行に用いられる情報である。ここで、車載機能情報105には、車載機能を使用可能にする車載機能プログラムおよびデータが含まれる。
車両通信装置100は、コンピュータである。車両通信装置100は、プロセッサ140を備えるとともに、メモリ150、補助記憶装置160、通信部170、表示部180、および入力装置190といった他のハードウェアを備える。プロセッサ140は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ140は、演算処理を行うICである。プロセッサ140の具体例は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ150は、データを一時的に記憶する記憶装置である。メモリ150の具体例は、SRAM(Static Random Access Memory)、あるいはDRAM(Dynamic Random Access Memory)である。
補助記憶装置160は、データを保管する記憶装置である。補助記憶装置160の具体例は、HDDである。また、補助記憶装置160は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
メモリ150には、復号部102により復号された車載機能情報105が一時的に記憶される。
補助記憶装置160には、暗号化データ106、マスタ公開鍵107、復号条件データ108、およびログデータ109が記憶される。
補助記憶装置160は、データを保管する記憶装置である。補助記憶装置160の具体例は、HDDである。また、補助記憶装置160は、SD(登録商標)メモリカード、CF、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVDといった可搬記憶媒体であってもよい。なお、HDDは、Hard Disk Driveの略語である。SD(登録商標)は、Secure Digitalの略語である。CFは、CompactFlash(登録商標)の略語である。DVDは、Digital Versatile Diskの略語である。
メモリ150には、復号部102により復号された車載機能情報105が一時的に記憶される。
補助記憶装置160には、暗号化データ106、マスタ公開鍵107、復号条件データ108、およびログデータ109が記憶される。
通信部170は、通信を行う装置であり、レシーバとトランスミッタとを備える。具体的には、通信部170は通信チップまたはNIC(Network Interface Card)である。
表示部180は、画像を表示する表示装置である。具体的には、表示部180は液晶ディスプレイあるいはタッチパネルである。表示部180はモニタともいう。入力装置190および表示部180は、車両通信装置100への入力を受け付ける受付部として機能する。
表示部180は、画像を表示する表示装置である。具体的には、表示部180は液晶ディスプレイあるいはタッチパネルである。表示部180はモニタともいう。入力装置190および表示部180は、車両通信装置100への入力を受け付ける受付部として機能する。
車両通信装置100は、機能要素として、暗号化部101と復号部102と切替部103と制御部104を備える。暗号化部101は、アクセス権付き暗号化部ともいう。復号部102は、アクセス権付き復号部ともいう。暗号化部101と復号部102と切替部103と制御部104の機能はソフトウェアで実現される。
補助記憶装置160には、暗号化部101と復号部102と切替部103と制御部104の機能を実現する車両アクセス制御プログラムが記憶されている。車両アクセス制御プログラムは、メモリ150にロードされて、プロセッサ140によって実行される。
さらに、補助記憶装置160にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ150にロードされて、プロセッサ140によって実行される。
つまり、プロセッサ140は、OSを実行しながら、車両アクセス制御プログラムを実行する。
補助記憶装置160には、暗号化部101と復号部102と切替部103と制御部104の機能を実現する車両アクセス制御プログラムが記憶されている。車両アクセス制御プログラムは、メモリ150にロードされて、プロセッサ140によって実行される。
さらに、補助記憶装置160にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ150にロードされて、プロセッサ140によって実行される。
つまり、プロセッサ140は、OSを実行しながら、車両アクセス制御プログラムを実行する。
車両アクセス制御プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ150、補助記憶装置160、または、プロセッサ140内のレジスタあるいはキャッシュメモリに記憶される。
なお、車両通信装置100が複数のプロセッサ140を備えて、複数のプロセッサ140が車両アクセス制御プログラムを連携して実行してもよい。また、暗号化部101および復号部102は、暗号演算専用プロセッサを用いて実行してもよい。
メモリ150は、車両通信装置100で使用、生成、入出力または送受信されるデータが記憶される。ただし、メモリ150以外の記憶機器を用いて、車両通信装置100で使用、生成、入出力または送受信されるデータを記憶してもよい。
なお、車両通信装置100が複数のプロセッサ140を備えて、複数のプロセッサ140が車両アクセス制御プログラムを連携して実行してもよい。また、暗号化部101および復号部102は、暗号演算専用プロセッサを用いて実行してもよい。
メモリ150は、車両通信装置100で使用、生成、入出力または送受信されるデータが記憶される。ただし、メモリ150以外の記憶機器を用いて、車両通信装置100で使用、生成、入出力または送受信されるデータを記憶してもよい。
暗号化部101と復号部102と切替部103と制御部104の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また暗号化処理と復号処理と切替処理と制御処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記憶媒体」に読み替えてもよい。
車両アクセス制御プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、車両アクセス制御方法は、車両通信装置100が車両アクセス制御プログラムを実行することにより行われる方法である。
車両アクセス制御プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、車両アクセス制御プログラムは、プログラムプロダクトとして提供されてもよい。
車両アクセス制御プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、車両アクセス制御方法は、車両通信装置100が車両アクセス制御プログラムを実行することにより行われる方法である。
車両アクセス制御プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、車両アクセス制御プログラムは、プログラムプロダクトとして提供されてもよい。
図3を用いて、本実施の形態に係る車両200の構成について説明する。
車両200には、互いに通信する少なくとも2つ以上のECU202が搭載されている。少なくとも2つ以上のECU202は、CANあるいはFlexRayといった通信プロトコルに準拠した車載ネットワーク201を介して、互いに接続される。
車両200には、互いに通信する少なくとも2つ以上のECU202が搭載されている。少なくとも2つ以上のECU202は、CANあるいはFlexRayといった通信プロトコルに準拠した車載ネットワーク201を介して、互いに接続される。
図4を用いて、本実施の形態に係る管理装置300の構成について説明する。
管理装置300は、プロセッサ310、メモリ330、通信部350、および鍵書込み部370といったハードウェアを備えるコンピュータである。プロセッサ310、メモリ330、および通信部350のハードウェア構成は、車両通信装置100のプロセッサ140、メモリ150、および通信部170と同様である。ただし、車両通信装置100は組み込み機器向けのコンピュータであるのに対し、管理装置300はサーバとしての機能を果たすコンピュータである。よって、管理装置300は車両通信装置100よりはるかに計算能力の高いコンピュータである。
管理装置300は、プロセッサ310、メモリ330、通信部350、および鍵書込み部370といったハードウェアを備えるコンピュータである。プロセッサ310、メモリ330、および通信部350のハードウェア構成は、車両通信装置100のプロセッサ140、メモリ150、および通信部170と同様である。ただし、車両通信装置100は組み込み機器向けのコンピュータであるのに対し、管理装置300はサーバとしての機能を果たすコンピュータである。よって、管理装置300は車両通信装置100よりはるかに計算能力の高いコンピュータである。
プロセッサ310は、暗号鍵生成部301と暗号処理部302と管理部303を備える。暗号鍵生成部301は、アクセス権付き暗号処理に必要な複数の鍵を生成する。暗号鍵生成部301は、アクセス権付き暗号鍵生成部ともいう。暗号鍵生成部301は、マスタ鍵生成部312とユーザ秘密鍵生成部313を備える。マスタ鍵生成部312は、マスタ鍵生成を行う。ユーザ秘密鍵生成部313は、ユーザ秘密鍵生成を行う。
暗号処理部302は、暗号化部315と復号部316を備える。暗号化部315は、アクセス権付き暗号化を行う。復号部316は、アクセス権付き復号処理を行う。暗号処理部302は、アクセス権付き暗号処理部ともいう。
管理部303は、ユーザ管理処理を行う。
暗号処理部302は、暗号化部315と復号部316を備える。暗号化部315は、アクセス権付き暗号化を行う。復号部316は、アクセス権付き復号処理を行う。暗号処理部302は、アクセス権付き暗号処理部ともいう。
管理部303は、ユーザ管理処理を行う。
メモリ330には、マスタ鍵データベース331とユーザ管理データベース332と復号条件データベース333が記憶される。
通信部350は、ネットワーク400を介してベンダサーバ800および車両通信装置100と通信する。
鍵書込み部370は、ユーザ秘密鍵生成部313が生成したユーザ秘密鍵といった情報をICカード600に書き込む。
通信部350は、ネットワーク400を介してベンダサーバ800および車両通信装置100と通信する。
鍵書込み部370は、ユーザ秘密鍵生成部313が生成したユーザ秘密鍵といった情報をICカード600に書き込む。
図5を用いて、本実施の形態に係るICカード600の構成について説明する。
ICカード600は、プロセッサ610と、メモリ620と、通信部630とを備える。通信部630はICカード600で使用するデータを通信する。プロセッサ610、メモリ620、および通信部630のハードウェア構成は、車両通信装置100のプロセッサ140、メモリ150、および通信部170と同様である。
プロセッサ610は、復号部601を備える。復号部601は、アクセス権付き復号部ともいう。
メモリ620は、ICカード600で使用するデータを記憶する。具体的には、メモリ620はユーザID603、アクセス権情報604、およびユーザ秘密鍵605を記憶する。
通信部630は、ICカード600で使用するデータを通信する。具体的には、通信部630は、ICカード600の発行時あるいは更新の際に、管理装置300からユーザID603とアクセス権情報604とユーザ秘密鍵605を受信する。また、通信部630は、車両通信装置100との間で車両アクセス制御に必要な送受信を行う。
ICカード600は、プロセッサ610と、メモリ620と、通信部630とを備える。通信部630はICカード600で使用するデータを通信する。プロセッサ610、メモリ620、および通信部630のハードウェア構成は、車両通信装置100のプロセッサ140、メモリ150、および通信部170と同様である。
プロセッサ610は、復号部601を備える。復号部601は、アクセス権付き復号部ともいう。
メモリ620は、ICカード600で使用するデータを記憶する。具体的には、メモリ620はユーザID603、アクセス権情報604、およびユーザ秘密鍵605を記憶する。
通信部630は、ICカード600で使用するデータを通信する。具体的には、通信部630は、ICカード600の発行時あるいは更新の際に、管理装置300からユーザID603とアクセス権情報604とユーザ秘密鍵605を受信する。また、通信部630は、車両通信装置100との間で車両アクセス制御に必要な送受信を行う。
図6は、本実施の形態に係るマスタ鍵データベース331の詳細を示した例である。
マスタ鍵データベース331には、複数のマスタ鍵セット390が含まれる。マスタ鍵セット390は、マスタ公開鍵391とマスタ秘密鍵392とマスタ鍵ID393のセットである。
図7は、本実施の形態に係るユーザ管理データベース332の詳細を示した例である。
ユーザ管理データベース332には、行番号、ユーザID、登録日時、アクセス権情報、マスタ鍵ID、鍵ID、および鍵IDに紐付けられたユーザ秘密鍵といったユーザ管理データ395が含まれる。発行したユーザIDに対する鍵ID、ユーザ秘密鍵を生成するために用いられたマスタ鍵に紐付けるマスタ鍵ID、鍵データを管理装置上で登録、更新あるいは失効といったライフサイクルを一元管理するために用いられる。また、ユーザ管理データ395は、ユーザのアクセス権情報およびユーザ秘密鍵についても、そのID、登録日時および鍵データの情報を含んでいる。すなわち、ユーザ管理データベース332は、ユーザ秘密鍵の登録と管理を行うためにも用いられる。
マスタ鍵データベース331には、複数のマスタ鍵セット390が含まれる。マスタ鍵セット390は、マスタ公開鍵391とマスタ秘密鍵392とマスタ鍵ID393のセットである。
図7は、本実施の形態に係るユーザ管理データベース332の詳細を示した例である。
ユーザ管理データベース332には、行番号、ユーザID、登録日時、アクセス権情報、マスタ鍵ID、鍵ID、および鍵IDに紐付けられたユーザ秘密鍵といったユーザ管理データ395が含まれる。発行したユーザIDに対する鍵ID、ユーザ秘密鍵を生成するために用いられたマスタ鍵に紐付けるマスタ鍵ID、鍵データを管理装置上で登録、更新あるいは失効といったライフサイクルを一元管理するために用いられる。また、ユーザ管理データ395は、ユーザのアクセス権情報およびユーザ秘密鍵についても、そのID、登録日時および鍵データの情報を含んでいる。すなわち、ユーザ管理データベース332は、ユーザ秘密鍵の登録と管理を行うためにも用いられる。
アクセス権情報は、ユーザの権限を表す情報である。具体的には、アクセス権情報は、車の所有者である、所有者ではないが家族である、ディーラーの社員である、ディーラーの契約社員である、サプライヤである、あるいは、Aである、Bであるの他にも、A且つBであるというように、ユーザに係る複数の属性情報を設定することができる。すなわち、アクセス権情報、すなわち属性情報は複数設定することが可能である。
図8は、本実施の形態に係る復号条件データベース333の詳細を示した例である。
復号条件データベース333は、暗号化されたデータを復号する復号条件を表す復号条件データ394を含む。復号条件データベース333は、複数の復号条件データ394を含む。復号条件データ394には、復号条件IDと、ヘッダ情報と、少なくとも1つの属性情報とが設定されている。復号条件データベース333には、ユーザID、登録日時、属性情報、鍵ID、ユーザ秘密鍵といった情報を含んでいる。
復号条件データベース333は、暗号化されたデータを復号する復号条件を表す復号条件データ394を含む。復号条件データベース333は、複数の復号条件データ394を含む。復号条件データ394には、復号条件IDと、ヘッダ情報と、少なくとも1つの属性情報とが設定されている。復号条件データベース333には、ユーザID、登録日時、属性情報、鍵ID、ユーザ秘密鍵といった情報を含んでいる。
***動作の説明***
車両アクセス制御システム10による車両アクセス制御方法について説明する。車両アクセス制御システム10の動作は車両アクセス制御方法に相当する。また、車両アクセス制御方法の手順は車両アクセス制御プログラムによる処理の手順に相当する。
車両アクセス制御システム10による車両アクセス制御方法について説明する。車両アクセス制御システム10の動作は車両アクセス制御方法に相当する。また、車両アクセス制御方法の手順は車両アクセス制御プログラムによる処理の手順に相当する。
<車両アクセス制御処理>
図9を用いて、本実施の形態に係る車両アクセス制御処理の手順について説明する。
車両アクセス制御処理は、暗号鍵生成処理と、暗号化処理と、アクセス制御処理と、ログ出力処理と、ユーザ管理処理とを有する。
図9を用いて、本実施の形態に係る車両アクセス制御処理の手順について説明する。
車両アクセス制御処理は、暗号鍵生成処理と、暗号化処理と、アクセス制御処理と、ログ出力処理と、ユーザ管理処理とを有する。
ステップS100の暗号鍵生成処理において、管理装置300の暗号鍵生成部301は、マスタ公開鍵、マスタ秘密鍵、およびユーザ秘密鍵といった暗号鍵の生成を行う。そして、管理装置300は、暗号鍵の設定、格納、および配布を行う。管理装置300は、ユーザIDを発行する処理として、生成した暗号鍵をICカードあるいは管理装置300のデータベースに書き込む。ステップS100は、システムの運用稼動前であり、ユーザの新規登録時に実施される処理である。具体的には、ステップS100は、車両200および車両通信装置100の製造時、ユーザへのICカード提供時、あるいは、車載機能の更新時に実施される。
ステップS200の暗号化処理において、管理装置300の暗号化部315は、車両の機能である車載機能の実行に用いられる車載機能情報を暗号化データとして暗号化する。暗号化部315は、暗号化データに復号条件を埋め込んで暗号化する。具体的には、暗号化部315は、車載機能に用いられる車載機能プログラムおよびデータの暗号化を実行する。管理装置300は、暗号化した車載機能プログラムおよびデータを、管理装置300あるいは車両200に記憶する。
車載機能の例として、デバッグ機能あるいはカーシェアリング機能がある。デバッグ機能といった車載機能に用いられる車載機能プログラムおよびデータについては、暗号化データが予め車両200にダウンロードされる。一方、カーシェアリング機能といった車載機能に用いられる車載機能プログラムおよびデータについては、車載機能の使用時に、暗号化データがベンダサーバ800あるいは管理装置300から車両200にダウンロードされる。
ステップS200は、車両200および車両通信装置100の製造時、あるいは車載機能の更新時に実施される。
車載機能の例として、デバッグ機能あるいはカーシェアリング機能がある。デバッグ機能といった車載機能に用いられる車載機能プログラムおよびデータについては、暗号化データが予め車両200にダウンロードされる。一方、カーシェアリング機能といった車載機能に用いられる車載機能プログラムおよびデータについては、車載機能の使用時に、暗号化データがベンダサーバ800あるいは管理装置300から車両200にダウンロードされる。
ステップS200は、車両200および車両通信装置100の製造時、あるいは車載機能の更新時に実施される。
ステップS300のアクセス制御処理において、車両通信装置100は、ユーザからのアクセス要求を受け付け、アクセス権付き復号処理を行う。ステップS300は、車両200が製品として市場で販売された後、所有者あるいはその他のユーザによる使用時に実施される。
ステップS400のログ出力処理において、車両通信装置100は、ユーザからのアクセス要求を受け付け、ステップS300を実行したのち、アクセス権付き暗号化処理を行う。ステップS400は、車両200が製品として市場で販売された後、保守および修理、あるいは不具合解析といった処理を担当するディーラーおよびサプライヤによる使用時に実施される処理である。なお、所有者を含む一般ユーザは、通常、ログ出力処理を実施する必要がないため、実施する権限が与えられない。
ステップS500のユーザ管理処理において、管理装置300の管理部303は、ユーザの新規追加あるいは失効の際に必要な処理を行う。また、管理部303は、カードを再発行する際にはステップS100からの処理を実施するように制御する。
ここで、アクセス権付き暗号方式について説明する。
アクセス権付き暗号方式で用いるユーザ秘密鍵605は、復号を可能とする条件である復号条件を満たす属性に関連付けて生成される。アクセス権付き暗号方式は、ユーザ秘密鍵605を用いて復号することができるように、データを暗号化する暗号方式である。ここで、復号条件とは、復号可能者が有する属性に関する条件である。復号可能者は、暗号化されたデータを復号することが許可された者、すなわち復号可能グループに属する者である。
アクセス権付き暗号方式の一例として「関数型暗号」と呼ばれる暗号方式がある。関数型暗号では、復号可能者の属性を表す属性値を用いた論理式を復号条件として指定することができる。具体的には、「属性値a AND 属性値b」「属性値a OR 属性値b」といった論理式を復号条件として指定することができる。以下、復号条件を示すデータをアクセス権情報604という。
アクセス権付き暗号方式で用いるユーザ秘密鍵605は、復号を可能とする条件である復号条件を満たす属性に関連付けて生成される。アクセス権付き暗号方式は、ユーザ秘密鍵605を用いて復号することができるように、データを暗号化する暗号方式である。ここで、復号条件とは、復号可能者が有する属性に関する条件である。復号可能者は、暗号化されたデータを復号することが許可された者、すなわち復号可能グループに属する者である。
アクセス権付き暗号方式の一例として「関数型暗号」と呼ばれる暗号方式がある。関数型暗号では、復号可能者の属性を表す属性値を用いた論理式を復号条件として指定することができる。具体的には、「属性値a AND 属性値b」「属性値a OR 属性値b」といった論理式を復号条件として指定することができる。以下、復号条件を示すデータをアクセス権情報604という。
<<暗号鍵生成処理>>
図10を用いて、本実施の形態に係るステップS100の暗号鍵生成処理の手順について説明する。
ステップS101において、マスタ鍵生成部312は、マスタ公開鍵391とマスタ秘密鍵392の鍵ペアを生成する。そして、マスタ鍵生成部312は、その鍵ペアに対してマスタ鍵ID393を付与する。マスタ公開鍵391とマスタ秘密鍵392の鍵ペアと、マスタ鍵ID393とのセットをマスタ鍵セット390という。
ステップS102において、マスタ鍵生成部312は、マスタ鍵セット390をマスタ鍵データベース331に登録し、マスタ鍵データベース331を更新する。
ステップS103において、ユーザ秘密鍵生成部313は、ユーザ管理データベース332から、ユーザ毎のアクセス権情報を取得する。ユーザ秘密鍵生成部313は、マスタ秘密鍵392を用いて、ユーザ毎のアクセス権情報に基づいたユーザ秘密鍵を生成する。具体的には、ユーザ秘密鍵生成部313は、ユーザのアクセス権情報を埋め込んだユーザ秘密鍵をユーザ毎に生成する。
ステップS104において、ユーザ秘密鍵生成部313は、ユーザ管理データベース332にユーザ秘密鍵を登録し、ユーザ管理データベース332を更新する。
ステップS105において、鍵書込み部370により、ユーザ秘密鍵がICカードに書き込まれることで、ユーザ秘密鍵がユーザに配布される。具体的には、鍵書込み部370は、ユーザIDとアクセス権情報とユーザ秘密鍵を、ユーザID603とアクセス権情報604とユーザ秘密鍵605としてICカード600に書き込む。
図10を用いて、本実施の形態に係るステップS100の暗号鍵生成処理の手順について説明する。
ステップS101において、マスタ鍵生成部312は、マスタ公開鍵391とマスタ秘密鍵392の鍵ペアを生成する。そして、マスタ鍵生成部312は、その鍵ペアに対してマスタ鍵ID393を付与する。マスタ公開鍵391とマスタ秘密鍵392の鍵ペアと、マスタ鍵ID393とのセットをマスタ鍵セット390という。
ステップS102において、マスタ鍵生成部312は、マスタ鍵セット390をマスタ鍵データベース331に登録し、マスタ鍵データベース331を更新する。
ステップS103において、ユーザ秘密鍵生成部313は、ユーザ管理データベース332から、ユーザ毎のアクセス権情報を取得する。ユーザ秘密鍵生成部313は、マスタ秘密鍵392を用いて、ユーザ毎のアクセス権情報に基づいたユーザ秘密鍵を生成する。具体的には、ユーザ秘密鍵生成部313は、ユーザのアクセス権情報を埋め込んだユーザ秘密鍵をユーザ毎に生成する。
ステップS104において、ユーザ秘密鍵生成部313は、ユーザ管理データベース332にユーザ秘密鍵を登録し、ユーザ管理データベース332を更新する。
ステップS105において、鍵書込み部370により、ユーザ秘密鍵がICカードに書き込まれることで、ユーザ秘密鍵がユーザに配布される。具体的には、鍵書込み部370は、ユーザIDとアクセス権情報とユーザ秘密鍵を、ユーザID603とアクセス権情報604とユーザ秘密鍵605としてICカード600に書き込む。
<<暗号化処理>>
図11を用いて、本実施の形態に係るステップS200の暗号化処理の手順について説明する。
ステップS201において、管理装置300の管理部303は、通信部350により、ネットワーク400を経由、あるいはメディアを用いて、ベンダサーバ800から車載機能情報を取得する。そして、暗号処理部302は、管理部303から車載機能情報を取得する。車載機能情報には、車載機能を使用可能にする車載機能プログラムおよびデータを含む。
ステップS202において、暗号化部315は、メモリ330からマスタ公開鍵391と復号条件データベース333を取得する。暗号化部315は、マスタ公開鍵391と復号条件データベース333を用いて車載機能情報を暗号化する。暗号化部315は、暗号化した車載機能情報を暗号化データ106として生成する。具体的には、暗号化部315は、復号条件データベース333から、車載機能情報を暗号化する際に埋め込む復号条件データ394を取得する。そして、暗号化部315は、マスタ公開鍵391を用いて、復号条件データ394を埋め込んで暗号化した車載機能情報を暗号化データ106として生成する。
ステップS203において、管理部303は、暗号化データ106を車両通信装置100に配布する。具体的には、管理部303は、通信部350によりネットワーク400を介して、暗号化データ106を車両通信装置100に書き込む。通信部350は、車両通信装置100に暗号化データ106を送信する。
図11を用いて、本実施の形態に係るステップS200の暗号化処理の手順について説明する。
ステップS201において、管理装置300の管理部303は、通信部350により、ネットワーク400を経由、あるいはメディアを用いて、ベンダサーバ800から車載機能情報を取得する。そして、暗号処理部302は、管理部303から車載機能情報を取得する。車載機能情報には、車載機能を使用可能にする車載機能プログラムおよびデータを含む。
ステップS202において、暗号化部315は、メモリ330からマスタ公開鍵391と復号条件データベース333を取得する。暗号化部315は、マスタ公開鍵391と復号条件データベース333を用いて車載機能情報を暗号化する。暗号化部315は、暗号化した車載機能情報を暗号化データ106として生成する。具体的には、暗号化部315は、復号条件データベース333から、車載機能情報を暗号化する際に埋め込む復号条件データ394を取得する。そして、暗号化部315は、マスタ公開鍵391を用いて、復号条件データ394を埋め込んで暗号化した車載機能情報を暗号化データ106として生成する。
ステップS203において、管理部303は、暗号化データ106を車両通信装置100に配布する。具体的には、管理部303は、通信部350によりネットワーク400を介して、暗号化データ106を車両通信装置100に書き込む。通信部350は、車両通信装置100に暗号化データ106を送信する。
ステップS200の暗号化処理は、車両の製品ライフサイクルにおいて、車両および車両通信装置の製造時、車載機能プログラムの更新時、あるいはサービス提供時といった時点に実施される。
ステップS200の暗号化処理を製造時に実施した後、車に搭載されている車載機能プログラムが更新される場合、ステップS200の暗号化処理が改めて実施される。あるいは、ICカードを再度発行するといった再暗号化が必要な場合は、ステップS200の暗号化処理が改めて実施される。なお、ステップS203が、ステップS202のすぐ後に実施されるとは限らない。暗号化データ106が管理装置300あるいはベンダサーバ800に保管され、必要に応じて車両通信装置100にダウンロードされる形態もある。
ステップS200の暗号化処理を製造時に実施した後、車に搭載されている車載機能プログラムが更新される場合、ステップS200の暗号化処理が改めて実施される。あるいは、ICカードを再度発行するといった再暗号化が必要な場合は、ステップS200の暗号化処理が改めて実施される。なお、ステップS203が、ステップS202のすぐ後に実施されるとは限らない。暗号化データ106が管理装置300あるいはベンダサーバ800に保管され、必要に応じて車両通信装置100にダウンロードされる形態もある。
<<アクセス制御処理>>
図12を用いて、本実施の形態に係るステップS300のアクセス制御処理の手順について説明する。
ステップS310において、車両通信装置100は、アクセス制御前処理を実行する。車両通信装置100は、ユーザから車載機能に対するアクセス要求を受け付ける。そして、車両通信装置100は、アクセス権付き復号処理を実行する。
まず、アクセス制御前処理の概要について説明する。
車両通信装置の補助記憶装置160には、車載機能の実行に用いられる車載機能情報を暗号化した暗号化データ106が記憶されている。暗号化データ106には、復号条件が埋め込まれている。
制御部104は、車載機能を使用するユーザから、車載機能の使用を要求するアクセス要求を受け付ける。アクセス要求には、ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵が含まれる。制御部104は、ユーザにより、ユーザ秘密鍵が記憶されたデバイス700、すなわちICカード600に接続されることにより、アクセス要求を受け付ける。
復号部102は、アクセス要求に含まれるユーザ秘密鍵を用いて、アクセス権情報が復号条件に合致する場合に暗号化データ106から復号結果として車載機能情報105を得る。
そして、車両通信装置100に設けられたメモリ150に、復号部102により得られた車載機能情報105を記憶する。
切替部103は、復号部102により得られた車載機能情報105を用いて、車載機能を実行可能にする。
図12を用いて、本実施の形態に係るステップS300のアクセス制御処理の手順について説明する。
ステップS310において、車両通信装置100は、アクセス制御前処理を実行する。車両通信装置100は、ユーザから車載機能に対するアクセス要求を受け付ける。そして、車両通信装置100は、アクセス権付き復号処理を実行する。
まず、アクセス制御前処理の概要について説明する。
車両通信装置の補助記憶装置160には、車載機能の実行に用いられる車載機能情報を暗号化した暗号化データ106が記憶されている。暗号化データ106には、復号条件が埋め込まれている。
制御部104は、車載機能を使用するユーザから、車載機能の使用を要求するアクセス要求を受け付ける。アクセス要求には、ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵が含まれる。制御部104は、ユーザにより、ユーザ秘密鍵が記憶されたデバイス700、すなわちICカード600に接続されることにより、アクセス要求を受け付ける。
復号部102は、アクセス要求に含まれるユーザ秘密鍵を用いて、アクセス権情報が復号条件に合致する場合に暗号化データ106から復号結果として車載機能情報105を得る。
そして、車両通信装置100に設けられたメモリ150に、復号部102により得られた車載機能情報105を記憶する。
切替部103は、復号部102により得られた車載機能情報105を用いて、車載機能を実行可能にする。
図13を用いて、実施の形態に係るアクセス制御前処理の手順について説明する。
ステップS311において、車両通信装置100には、ユーザによりICカード600が接続される。車両200を直接操作するユーザが、そのユーザが所有するICカード600を車両通信装置100に接続する。ここで、車両200を直接操作するユーザとは、具体的には、保守あるいは整備に関係する操作を実施する場合には、ディーラーあるいはサプライヤもしくはそれに準ずる組織に所属する者である。接続方法は、接触あるいは非接触を問わないが、通信路および通信プロトコルはセキュリティ上の保護がなされている。
ステップS312において、入力装置190あるいは表示部180は、ユーザから、使用対象の車載機能の指定を受け付ける。あるいは予め使用対象の車載機能が固定で決まっており指定する必要がない場合には、ステップS312はスキップする。
ステップS313において、車両通信装置100の制御部104は、ICカード600から、セキュリティ上の保護がなされた通信路を介した安全な受け渡しによりユーザ秘密鍵605を取得する。
ステップS315において、車両通信装置100の復号部102は、ユーザ秘密鍵605を用いて、指定の車載機能に相当する暗号化データ106の復号を行う。
ステップS320において、制御部104は、暗号化データ106を復号できたか否かを判定する。具体的には、復号部102は、ユーザ秘密鍵605に埋め込まれたユーザのアクセス権情報が、暗号化データ106に埋め込まれた復号条件に合致した場合に、復号結果として車載機能情報105を得る。制御部104は、復号部102により車載機能情報105が得られた場合に復号できたと判定する。一方、制御部104は、復号部102により車載機能情報105が得られない場合に復号できなかったと判定する。復号できた場合は、ステップS325に進む。復号できた場合には、復号部102により得られた車載機能情報105はメモリ150に記憶される。復号できなかった場合、処理を終了する。
ステップS325において、切替部103は、復号部102により得られた車載機能情報105を用いて、車載機能を実行可能にする。切替部103は、車載機能をプログラムに組込み、車載機能を実行可能な状態にする。
ステップS311において、車両通信装置100には、ユーザによりICカード600が接続される。車両200を直接操作するユーザが、そのユーザが所有するICカード600を車両通信装置100に接続する。ここで、車両200を直接操作するユーザとは、具体的には、保守あるいは整備に関係する操作を実施する場合には、ディーラーあるいはサプライヤもしくはそれに準ずる組織に所属する者である。接続方法は、接触あるいは非接触を問わないが、通信路および通信プロトコルはセキュリティ上の保護がなされている。
ステップS312において、入力装置190あるいは表示部180は、ユーザから、使用対象の車載機能の指定を受け付ける。あるいは予め使用対象の車載機能が固定で決まっており指定する必要がない場合には、ステップS312はスキップする。
ステップS313において、車両通信装置100の制御部104は、ICカード600から、セキュリティ上の保護がなされた通信路を介した安全な受け渡しによりユーザ秘密鍵605を取得する。
ステップS315において、車両通信装置100の復号部102は、ユーザ秘密鍵605を用いて、指定の車載機能に相当する暗号化データ106の復号を行う。
ステップS320において、制御部104は、暗号化データ106を復号できたか否かを判定する。具体的には、復号部102は、ユーザ秘密鍵605に埋め込まれたユーザのアクセス権情報が、暗号化データ106に埋め込まれた復号条件に合致した場合に、復号結果として車載機能情報105を得る。制御部104は、復号部102により車載機能情報105が得られた場合に復号できたと判定する。一方、制御部104は、復号部102により車載機能情報105が得られない場合に復号できなかったと判定する。復号できた場合は、ステップS325に進む。復号できた場合には、復号部102により得られた車載機能情報105はメモリ150に記憶される。復号できなかった場合、処理を終了する。
ステップS325において、切替部103は、復号部102により得られた車載機能情報105を用いて、車載機能を実行可能にする。切替部103は、車載機能をプログラムに組込み、車載機能を実行可能な状態にする。
次に、図12に戻り、説明を続ける。
ここで、ステップS330からステップS350の処理の概要について説明する。
制御部104は、ユーザによる車載機能の使用が終了したと判定すると、車載機能情報105をメモリ150から消去し、ユーザによる車載機能の使用を不可とする。また、制御部104は、ユーザにより車載機能が使用中であると判定すると、車載機能の利用可能期間であるか否かを判定する。そして、制御部104は、車載機能の利用可能期間外であると判定すると、車載機能情報105をメモリ150から消去し、ユーザによる車載機能の使用を不可とする。
ここで、ステップS330からステップS350の処理の概要について説明する。
制御部104は、ユーザによる車載機能の使用が終了したと判定すると、車載機能情報105をメモリ150から消去し、ユーザによる車載機能の使用を不可とする。また、制御部104は、ユーザにより車載機能が使用中であると判定すると、車載機能の利用可能期間であるか否かを判定する。そして、制御部104は、車載機能の利用可能期間外であると判定すると、車載機能情報105をメモリ150から消去し、ユーザによる車載機能の使用を不可とする。
ステップS330において、制御部104は、車載機能が利用可能か否かを判定し、利用可能であれば、ステップS331に進む。制御部104により車載機能が利用可能でないと判定されると、処理を終了する。
ステップS331において、車載機能がユーザにより利用される。
ステップS340において、ユーザの利用が終了したことが確認されると、ステップS360に進む。ユーザが利用中であれば、ステップS350に進む。
ステップS350において、制御部104は、現在日時が利用可能期間外か否かを判定し、現在日時が利用可能期間外であれば、ステップS360に進む。現在日時が利用可能期間外でなければ、ステップS340に戻り、再度、車載機能の利用が終了したか否かを判定する。利用可能期間は、車載機能ごとに予め決められた期間である。具体的には、利用可能期間は、利用開始を基点とした所定時間、あるいは、予め設定された日時の期間である。利用可能期間を設けることで、車載機能が不必要に長い期間に渡って有効化されることが抑制される。
ステップS360において、車両通信装置100は、アクセス権制御後処理を実行する。
ステップS331において、車載機能がユーザにより利用される。
ステップS340において、ユーザの利用が終了したことが確認されると、ステップS360に進む。ユーザが利用中であれば、ステップS350に進む。
ステップS350において、制御部104は、現在日時が利用可能期間外か否かを判定し、現在日時が利用可能期間外であれば、ステップS360に進む。現在日時が利用可能期間外でなければ、ステップS340に戻り、再度、車載機能の利用が終了したか否かを判定する。利用可能期間は、車載機能ごとに予め決められた期間である。具体的には、利用可能期間は、利用開始を基点とした所定時間、あるいは、予め設定された日時の期間である。利用可能期間を設けることで、車載機能が不必要に長い期間に渡って有効化されることが抑制される。
ステップS360において、車両通信装置100は、アクセス権制御後処理を実行する。
図14を用いて、実施の形態に係るアクセス制御後処理の手順について説明する。
ステップS361において、制御部104は、プログラムに組み込んだ車載機能を消去し、車載機能が実行不可能な状態にする。
ステップS361において、制御部104は、プログラムに組み込んだ車載機能を消去し、車載機能が実行不可能な状態にする。
<<ログ出力処理>>
図15を用いて、本実施の形態に係るステップS400のログ出力処理の手順について説明する。
ステップS310は、図12で説明したステップS310と同様である。ステップS310により、車両200を直接操作するユーザに対して、車載機能の一つであるログ出力機能が有効になる。車両200を直接操作するユーザとは、上述したように、保守あるいは整備に関係する操作を実施する場合には、ディーラーあるいはサプライヤもしくはそれに準ずる組織に所属する者である。なお、所有者を含む一般ユーザは、通常、ログ出力処理を実施する必要がないため、実施する権限が与えられない。
図15を用いて、本実施の形態に係るステップS400のログ出力処理の手順について説明する。
ステップS310は、図12で説明したステップS310と同様である。ステップS310により、車両200を直接操作するユーザに対して、車載機能の一つであるログ出力機能が有効になる。車両200を直接操作するユーザとは、上述したように、保守あるいは整備に関係する操作を実施する場合には、ディーラーあるいはサプライヤもしくはそれに準ずる組織に所属する者である。なお、所有者を含む一般ユーザは、通常、ログ出力処理を実施する必要がないため、実施する権限が与えられない。
ステップS420において、車両通信装置100の暗号化部101は、マスタ公開鍵107と復号条件データ108を取得し、ログデータ109を暗号化し暗号化データ106を生成する。
ステップS430において、車両通信装置100の出力機器は、ログの暗号化データ106をUSBスティックといった記憶メディアに書き込む。これにより、ユーザは暗号化されたログの暗号化データ106を取得することができる。また、ユーザは、ログの暗号化データ106が格納された記憶メディアを車両外に取り出すことができる。
ステップS430において、車両通信装置100の出力機器は、ログの暗号化データ106をUSBスティックといった記憶メディアに書き込む。これにより、ユーザは暗号化されたログの暗号化データ106を取得することができる。また、ユーザは、ログの暗号化データ106が格納された記憶メディアを車両外に取り出すことができる。
ステップS360は、図12で説明したステップS360と同様である。ステップS360において、制御部104は、プログラムに組み込んだ車載機能、すなわちログ出力機能を消去し、ログ出力機能が実行不可能な状態にする。なお、ステップS360はステップS420の後であれば、ステップS430より前に実施されてもよい。
次に、ステップS440において、ログの暗号化データ106に対してデータ復号処理が実行される。
次に、ステップS440において、ログの暗号化データ106に対してデータ復号処理が実行される。
図16を用いて、本実施の形態に係るステップS440のデータ復号処理の手順について説明する。ここでは、ログビューアーといった開発用環境を備えた専用PC(Personal Computer)が、データ復号処理を実行するものとする。
ステップS441において、ユーザによりICカード600が専用PCに接続される。
ステップS442において、復号部601が、ユーザ秘密鍵605を取得し、暗号化データ106をログデータ109に復号する。正常に復号できた場合、ステップS444において、専用PCにログデータ109を出力する。これにより、ユーザはログデータを参照することができる。正常に復号できない場合、処理を終了する。復号する処理は、機能の実施場所が異なるだけでステップS315と同様である。専用PCは車両通信装置100あるいはICカード600より計算能力の高いコンピュータのため、問題なく処理することが可能である。なお、復号処理は、ICカードより計算能力の高いスマートフォンあるいはタブレットで実行されてもよい。
ステップS441において、ユーザによりICカード600が専用PCに接続される。
ステップS442において、復号部601が、ユーザ秘密鍵605を取得し、暗号化データ106をログデータ109に復号する。正常に復号できた場合、ステップS444において、専用PCにログデータ109を出力する。これにより、ユーザはログデータを参照することができる。正常に復号できない場合、処理を終了する。復号する処理は、機能の実施場所が異なるだけでステップS315と同様である。専用PCは車両通信装置100あるいはICカード600より計算能力の高いコンピュータのため、問題なく処理することが可能である。なお、復号処理は、ICカードより計算能力の高いスマートフォンあるいはタブレットで実行されてもよい。
<<ユーザ管理処理>>
図17を用いて、本実施の形態に係るステップS500のユーザ管理処理の手順について説明する。
ステップS501において、管理部303は、新規ユーザの追加を行うか否かを判定する。新規にユーザを追加して登録を行う場合には、ステップS510に進む。
ステップS502において、管理部303は、既存ユーザの無効化あるいは有効化を行うか否かを判定する。すなわち、管理部303は、既存ユーザの復号条件を変更するか否かを判定する。既存ユーザの復号条件を変更する場合には、ステップS520に進む。これにより、これまで使用を許可されていた特定の属性あるいは人物だけに対して、機能使用の権限を失効させることができる。
ステップS503において、管理部303は、既存ユーザのアクセス権情報を変更するか否かを判定する。既存ユーザのアクセス権情報を変更する場合には、ステップS530に進む。
図17を用いて、本実施の形態に係るステップS500のユーザ管理処理の手順について説明する。
ステップS501において、管理部303は、新規ユーザの追加を行うか否かを判定する。新規にユーザを追加して登録を行う場合には、ステップS510に進む。
ステップS502において、管理部303は、既存ユーザの無効化あるいは有効化を行うか否かを判定する。すなわち、管理部303は、既存ユーザの復号条件を変更するか否かを判定する。既存ユーザの復号条件を変更する場合には、ステップS520に進む。これにより、これまで使用を許可されていた特定の属性あるいは人物だけに対して、機能使用の権限を失効させることができる。
ステップS503において、管理部303は、既存ユーザのアクセス権情報を変更するか否かを判定する。既存ユーザのアクセス権情報を変更する場合には、ステップS530に進む。
図18を用いて、本実施の形態に係るステップS510の新規ユーザ登録処理の手順について説明する。
ステップS511において、管理部303は、ユーザ管理データベース332に、新規ユーザのユーザ管理データ395を生成する。
そして、ステップS103において、ユーザ秘密鍵生成部313は、マスタ秘密鍵392を用いて、新規ユーザのアクセス権情報に基づいたユーザ秘密鍵を生成する。ステップS104において、ユーザ秘密鍵生成部313は、新規ユーザのユーザ管理データ395にユーザ秘密鍵を登録して更新する。ステップS105において、鍵書込み部370は、ユーザIDとアクセス権情報とユーザ秘密鍵を、ユーザID603とアクセス権情報604とユーザ秘密鍵605としてICカード600に書き込む。ステップS103からステップS105は、図10と同様である。
ステップS515において、ICカード600が新規ユーザに配布される。なお、既存の車両アクセス制御システム10に新規ユーザを追加する場合、管理装置300のユーザ管理データベース332への登録と新しいICカード600の発行が必要である。しかし、車両200および車両通信装置100のデータに対する変更は一切必要としない。
ステップS511において、管理部303は、ユーザ管理データベース332に、新規ユーザのユーザ管理データ395を生成する。
そして、ステップS103において、ユーザ秘密鍵生成部313は、マスタ秘密鍵392を用いて、新規ユーザのアクセス権情報に基づいたユーザ秘密鍵を生成する。ステップS104において、ユーザ秘密鍵生成部313は、新規ユーザのユーザ管理データ395にユーザ秘密鍵を登録して更新する。ステップS105において、鍵書込み部370は、ユーザIDとアクセス権情報とユーザ秘密鍵を、ユーザID603とアクセス権情報604とユーザ秘密鍵605としてICカード600に書き込む。ステップS103からステップS105は、図10と同様である。
ステップS515において、ICカード600が新規ユーザに配布される。なお、既存の車両アクセス制御システム10に新規ユーザを追加する場合、管理装置300のユーザ管理データベース332への登録と新しいICカード600の発行が必要である。しかし、車両200および車両通信装置100のデータに対する変更は一切必要としない。
図19を用いて、本実施の形態に係るステップS520の復号条件変更処理の手順について説明する。
ステップS521において、管理部303は、暗号対象に対する復号条件を変えるために、復号条件データ394を変更し、復号条件データベース333を更新する。
ステップS201において、管理部303は、復号条件変更に応じて再暗号化を行うために、ベンダサーバ800から車載機能情報を取得する。車載機能情報と復号条件との対応付けは、管理装置300により管理される。ステップS202において、暗号処理部302が、マスタ公開鍵391と変更後の復号条件データ394とを用いて、車載機能情報を暗号化し、暗号化データ106として生成する。暗号化データ106には、復号条件データ394により表された復号条件が埋め込まれる。ステップS203において、管理部303は、通信部350により、暗号化データ106を車両通信装置100に書き込む。ステップS201からステップS203は、図11と同様である。
ステップS523において、管理部303は、ステップS521の更新にともない車両200の復号条件データ108にも変更が必要か否かを判定する。車両200の復号条件データ108にも変更が必要な場合には、ステップS524において、管理部303は、復号条件データ394を復号条件データ108として車両通信装置100に書込む。
ステップS521において、管理部303は、暗号対象に対する復号条件を変えるために、復号条件データ394を変更し、復号条件データベース333を更新する。
ステップS201において、管理部303は、復号条件変更に応じて再暗号化を行うために、ベンダサーバ800から車載機能情報を取得する。車載機能情報と復号条件との対応付けは、管理装置300により管理される。ステップS202において、暗号処理部302が、マスタ公開鍵391と変更後の復号条件データ394とを用いて、車載機能情報を暗号化し、暗号化データ106として生成する。暗号化データ106には、復号条件データ394により表された復号条件が埋め込まれる。ステップS203において、管理部303は、通信部350により、暗号化データ106を車両通信装置100に書き込む。ステップS201からステップS203は、図11と同様である。
ステップS523において、管理部303は、ステップS521の更新にともない車両200の復号条件データ108にも変更が必要か否かを判定する。車両200の復号条件データ108にも変更が必要な場合には、ステップS524において、管理部303は、復号条件データ394を復号条件データ108として車両通信装置100に書込む。
図20を用いて、本実施の形態に係るステップS530の既存ユーザ情報変更処理の手順について説明する。
ステップS531において、管理部303は、ユーザ管理データ395のアクセス権情報を変更する。
ステップS532において、ユーザ秘密鍵生成部313は、マスタ秘密鍵392と変更したアクセス権情報を用いて、ユーザ秘密鍵605を生成する。
ステップS104において、ユーザ秘密鍵生成部313は、ユーザ管理データ395にユーザ秘密鍵を登録し、ユーザ管理データベース332を更新する。ステップS104は、図10と同様である。
ステップS534において、鍵書込み部370は、ICカード600にアクセス権情報604とユーザ秘密鍵605を書き込み、ICカード600を更新する。
ステップS535において、更新後のICカード600が既存ユーザに配布される。
ステップS531において、管理部303は、ユーザ管理データ395のアクセス権情報を変更する。
ステップS532において、ユーザ秘密鍵生成部313は、マスタ秘密鍵392と変更したアクセス権情報を用いて、ユーザ秘密鍵605を生成する。
ステップS104において、ユーザ秘密鍵生成部313は、ユーザ管理データ395にユーザ秘密鍵を登録し、ユーザ管理データベース332を更新する。ステップS104は、図10と同様である。
ステップS534において、鍵書込み部370は、ICカード600にアクセス権情報604とユーザ秘密鍵605を書き込み、ICカード600を更新する。
ステップS535において、更新後のICカード600が既存ユーザに配布される。
***他の構成***
<変形例1>
図21は、本実施の形態の変形例に係るステップS310aのアクセス制御処理の手順を示す図である。
本実施の形態では、ステップS310のアクセス制御前処理において、車載機能情報の復号処理を車両通信装置100の復号部102で実施している。変形例として、ICカード600の復号部601が、車載機能情報の復号処理を実行してもよい。
図21のアクセス制御処理では、図13のステップS313とステップS315とステップS320に替わり、ステップS314とステップS316とステップS320aを有する。また、ステップS320aとステップS325の間に、ステップS321を有する。
ステップS314において、ICカード600が、車両通信装置100から指定の車載機能に相当する暗号化データ106を取得する。
ステップS316において、ICカード600の復号部601は、暗号化データ106を復号する。
ステップS320aにおいて、ICカード600が復号できたか否かを判定し、復号できた場合は、ステップS321に進む。復号できなかった場合、処理を終了する。
ステップS321において、車両通信装置100が、ICカード600から復号後の車載機能情報105を取得する。その他の処理は、図13と同様である。
<変形例1>
図21は、本実施の形態の変形例に係るステップS310aのアクセス制御処理の手順を示す図である。
本実施の形態では、ステップS310のアクセス制御前処理において、車載機能情報の復号処理を車両通信装置100の復号部102で実施している。変形例として、ICカード600の復号部601が、車載機能情報の復号処理を実行してもよい。
図21のアクセス制御処理では、図13のステップS313とステップS315とステップS320に替わり、ステップS314とステップS316とステップS320aを有する。また、ステップS320aとステップS325の間に、ステップS321を有する。
ステップS314において、ICカード600が、車両通信装置100から指定の車載機能に相当する暗号化データ106を取得する。
ステップS316において、ICカード600の復号部601は、暗号化データ106を復号する。
ステップS320aにおいて、ICカード600が復号できたか否かを判定し、復号できた場合は、ステップS321に進む。復号できなかった場合、処理を終了する。
ステップS321において、車両通信装置100が、ICカード600から復号後の車載機能情報105を取得する。その他の処理は、図13と同様である。
車両通信装置100とICカード600間のデータ通信は、セキュリティ上の保護がなされた通信路を介し安全な受け渡しにより行われる。ユーザ秘密鍵605はICカード600内に存在する。計算能力が充分であれば、復号処理はICカード600あるいは、車両通信装置100のどちらで実施してもよい。また、復号処理を他の装置に委譲する復号委譲方式を用いれば、ICカード600と車両通信装置100との両者の計算リソースを使って復号処理を実施してもよい。
<変形例2>
本実施の形態では、車両通信装置100と管理装置300との各装置の構成要素の機能がソフトウェアで実現されるが、変形例として、車両通信装置100と管理装置300との各装置の構成要素の機能がハードウェアで実現されてもよい。すなわち、車両通信装置100と管理装置300との各装置は、プロセッサの替わりに電子回路を備えていてもよい。以下では、車両通信装置100と管理装置300との各装置を単に各装置という。
電子回路は、各装置の構成要素の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
各装置の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、各装置の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
本実施の形態では、車両通信装置100と管理装置300との各装置の構成要素の機能がソフトウェアで実現されるが、変形例として、車両通信装置100と管理装置300との各装置の構成要素の機能がハードウェアで実現されてもよい。すなわち、車両通信装置100と管理装置300との各装置は、プロセッサの替わりに電子回路を備えていてもよい。以下では、車両通信装置100と管理装置300との各装置を単に各装置という。
電子回路は、各装置の構成要素の機能を実現する専用の電子回路である。
電子回路は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、または、FPGAである。GAは、Gate Arrayの略語である。ASICは、Application Specific Integrated Circuitの略語である。FPGAは、Field-Programmable Gate Arrayの略語である。
各装置の構成要素の機能は、1つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、各装置の構成要素の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、各装置の構成要素の機能は、プロセッシングサーキットリにより実現される。
***本実施の形態の効果の説明***
車載システムにおいて、第三者が車載装置に搭載された車載機能を悪用して車両に攻撃する手法が知られている。車載機能のうちのデバッグ機能は、プログラムの実行およびメモリへのアクセスを可能にする。このため、デバッグ機能は、攻撃者にとって効率的なアタック経路であり、リスクの高い攻撃となり得る。そこで、許可されていない人物による不正な車載機能の利用を抑制することが求められている。具体例として、特別な入力操作により特殊モードへ遷移した後に、ユーザには開示していない限定機能へのアクセスが可能になるといった仕組みがある。この仕組みは、操作を知れば誰でも使用することが可能になる。よって、この仕組みは、セキュリティを考慮した車両アクセス制御とはいえない。
ここで、通常の技術を用いてユーザに応じた車載機能への車両アクセス制御を実現しようとすると、まずユーザを識別して認証する必要がある。このため、全ユーザをリスト化したデータベースが必要になる。そのデータベースは、車両内に持つ方法と、あるいはクラウド上のサーバであるクラウドサーバに持つ方法の2通りが考えられる。2通りの方法のそれぞれには、以下のような問題がある。
(1)車両にデータベースを持たせると、ユーザの追加あるいは失効に応じてデータベースの情報を変更するという更新を、全車両に対して行う必要がある。データベースのサイズは考慮しない、および、更新はソフトウェア更新と併せて実施可能、とした場合でも、運用が困難である。
(2)クラウドサーバにデータベースを持たせると、データベースの更新といった運用は(1)に比べて容易になる。しかし、利用の都度、クラウドサーバとの通信が必要となる。よって、TAT(Turn Around Time)が長くなる。また、常にネットワーク環境があるとは限らず、ネットワーク環境がなければ利用できないため利便性が悪い。
車載システムにおいて、第三者が車載装置に搭載された車載機能を悪用して車両に攻撃する手法が知られている。車載機能のうちのデバッグ機能は、プログラムの実行およびメモリへのアクセスを可能にする。このため、デバッグ機能は、攻撃者にとって効率的なアタック経路であり、リスクの高い攻撃となり得る。そこで、許可されていない人物による不正な車載機能の利用を抑制することが求められている。具体例として、特別な入力操作により特殊モードへ遷移した後に、ユーザには開示していない限定機能へのアクセスが可能になるといった仕組みがある。この仕組みは、操作を知れば誰でも使用することが可能になる。よって、この仕組みは、セキュリティを考慮した車両アクセス制御とはいえない。
ここで、通常の技術を用いてユーザに応じた車載機能への車両アクセス制御を実現しようとすると、まずユーザを識別して認証する必要がある。このため、全ユーザをリスト化したデータベースが必要になる。そのデータベースは、車両内に持つ方法と、あるいはクラウド上のサーバであるクラウドサーバに持つ方法の2通りが考えられる。2通りの方法のそれぞれには、以下のような問題がある。
(1)車両にデータベースを持たせると、ユーザの追加あるいは失効に応じてデータベースの情報を変更するという更新を、全車両に対して行う必要がある。データベースのサイズは考慮しない、および、更新はソフトウェア更新と併せて実施可能、とした場合でも、運用が困難である。
(2)クラウドサーバにデータベースを持たせると、データベースの更新といった運用は(1)に比べて容易になる。しかし、利用の都度、クラウドサーバとの通信が必要となる。よって、TAT(Turn Around Time)が長くなる。また、常にネットワーク環境があるとは限らず、ネットワーク環境がなければ利用できないため利便性が悪い。
本実施の形態に係る車両アクセス制御システム10によれば、ユーザ管理データベースは管理装置が管理する。よって、本実施の形態に係る車両アクセス制御システム10によれば、上述の(1),(2)のような問題を解決したできる。また、本実施の形態に係る車両アクセス制御システム10によれば、許可されていない人物による不正な車載機能の利用を抑制することができる。すなわち、許可された人物にのみ、許可された車載機能の利用をさせることができる。よって、本実施の形態に係る車両アクセス制御システム10によれば、車載システムの安全性および利便性を向上させることができる。
本実施の形態に係る車両アクセス制御システム10によれば、暗号化データは車両通信装置に格納されるが、車載機能情報は車両通信装置に格納されない。そのため、車載機能情報は外部からの攻撃者あるいは悪意のある第三者から保護される。また、権限をもたない人物による車載機能の利用を抑制することができる。権限をもたない者とは、許可されない属性の者であり、攻撃者あるいは悪意のある第三者を含む者である。すなわち、許可された属性以外の者である。よって、本実施の形態に係る車両アクセス制御システム10によれば、車両通信装置において安全性を確実に向上させることができる。
さらに、本実施の形態に係る車両アクセス制御システム10による効果について説明する。
車両通信装置において、ユーザがデバッグ機能を使うとき、その人物が持つユーザ秘密鍵が復号可能者の属性に相当する場合に限り、暗号化された状態で格納されている車載機能のプログラムが復号される。すなわち、ユーザが持つユーザ秘密鍵が復号可能者の属性に相当する場合に限り、ユーザは目的のデバッグ機能を使用できる。そのため、復号条件に合致しない属性のユーザ、および、正しいユーザ秘密鍵を持たない第三者あるいは攻撃者は、デバッグ機能を使うことができないため、デバッグ機能を悪用した攻撃を防ぐことができる。
車両通信装置において、ユーザがデバッグ機能を使うとき、その人物が持つユーザ秘密鍵が復号可能者の属性に相当する場合に限り、暗号化された状態で格納されている車載機能のプログラムが復号される。すなわち、ユーザが持つユーザ秘密鍵が復号可能者の属性に相当する場合に限り、ユーザは目的のデバッグ機能を使用できる。そのため、復号条件に合致しない属性のユーザ、および、正しいユーザ秘密鍵を持たない第三者あるいは攻撃者は、デバッグ機能を使うことができないため、デバッグ機能を悪用した攻撃を防ぐことができる。
対象のデバッグ機能は通常は暗号化されている。よって、本実施の形態に係る車両アクセス制御システム10によれば、第三者のリバースエンジニアリングによる解析を極めて困難にすることができる。
また、本実施の形態に係る車両アクセス制御システム10では、車両通信装置のアクセス権暗号化機能を利用することで、許可された人物のみがログの内容を閲覧できるようにログを暗号化する。車両から車外へ出力するデータに対してアクセス権を付けることができる。
また、本実施の形態に係る車両アクセス制御システム10では、車両通信装置のアクセス権暗号化機能を利用することで、許可された人物のみがログの内容を閲覧できるようにログを暗号化する。車両から車外へ出力するデータに対してアクセス権を付けることができる。
なお、ユーザに応じて機能利用を許可する、あるいは、許可しない、という権限を分けるようにしたい車載機能として、デバッグ機能は一例であって、デバッグ機能だけに限らず適用が可能である。アクセスを制限する対象となる車載機能は、車両通信装置が有する機能であれば何でもよい。それゆえ、車両を複数のユーザがシェアするような利用形態あるいはサービスにおいて、ユーザに応じた車載機能を提供することができる。ユーザがシェアするような利用形態には、具体例として、カーレンタル、あるいはカーシェアリングといったサービスがある。
「関数型暗号」では、暗号文とその暗号文を復号する鍵とに属性情報あるいはアクセス権限を制御する条件文を組み込むことができる。このため、ユーザの属性の判別あるいは認証を実施する際に必要であったデータベースが不要である。よって、本実施の形態に係る車両アクセス制御システム10では、データベースの更新に伴うメンテナンスコストを削減することができる。
ユーザを識別する方式として、ICカードの他にも車載システムに接続可能なスマートフォン、PCタブレット、あるいはUSB型トークンといった技術を用いることができる。よって、本実施の形態に係る車両アクセス制御システム10では、車載システムへの要件に応じて複数の選択肢からユーザを識別する方式を選択することができる。
本実施の形態は、車以外に、空調、複写機あるいは複合機、入退場管理、工場、発電プラント、鉄道、および衛星といったシステムに適用できる。これらのシステムにおいても、デバッグ機能および保守機能が車載システムと同様に搭載されており、その使用が許されるのは特定の人物に限られるべきであることは車載システムと同様である。また、デバッグ機能に限らずに適用が可能であることも同様である。
実施の形態2.
本実施の形態では、主に、実施の形態1と異なる点について説明する。なお、実施の形態1と同様の構成には同一の符号を付し、その説明を省略する場合がある。
本実施の形態では、主に、実施の形態1と異なる点について説明する。なお、実施の形態1と同様の構成には同一の符号を付し、その説明を省略する場合がある。
近年、OTA(Over The Air)によりソフトウェアを更新して、不具合を修正したり機能追加したりする技術が実施されている。この技術は、自動車においても標準的になりつつある。よって、自動車には、OTAによりソフトウェアを更新するソフトウェア更新機能が搭載されている場合が多い。
実施の形態1では、予め車両通信装置100のメモリ内に存在する車載機能プログラムをアクセス制御の対象にしている。車載機能プログラムは上述したように車載機能情報の例である。この車載機能プログラムも、上記OTAにより必要に応じて適宜ソフトウェア更新が実施される。この場合、暗号化されておくべき車載機能プログラムは、ユーザが使用する以前に暗号化された状態で車両通信装置100のメモリ内に存在している。したがって、車載機能プログラムは基本的に固定であって、車載機能プログラムの更新のときに、管理装置300からネットワーク経由で更新プログラムがダウンロードされる。管理装置300は、鍵生成、あるいは、ユーザIDおよび鍵の配布といった鍵およびユーザの管理を実施する。鍵およびユーザの管理以外には、ユーザのアクセス要求に対するアクセス制御処理の実施に管理装置300が直接関与することはない。
実施の形態1では、予め車両通信装置100のメモリ内に存在する車載機能プログラムをアクセス制御の対象にしている。車載機能プログラムは上述したように車載機能情報の例である。この車載機能プログラムも、上記OTAにより必要に応じて適宜ソフトウェア更新が実施される。この場合、暗号化されておくべき車載機能プログラムは、ユーザが使用する以前に暗号化された状態で車両通信装置100のメモリ内に存在している。したがって、車載機能プログラムは基本的に固定であって、車載機能プログラムの更新のときに、管理装置300からネットワーク経由で更新プログラムがダウンロードされる。管理装置300は、鍵生成、あるいは、ユーザIDおよび鍵の配布といった鍵およびユーザの管理を実施する。鍵およびユーザの管理以外には、ユーザのアクセス要求に対するアクセス制御処理の実施に管理装置300が直接関与することはない。
本実施の形態では、実施の形態1で実現する動作に加えて、管理装置300がユーザの要求に応じてサービスを提供する。すなわち、本実施の形態では、実施の形態1で実現する動作に加えて、管理装置300がオンデマンドでサービスを提供する。そのため、暗号化された車載機能プログラムは、車両通信装置100に予め記憶されているだけでなく、ユーザが使用しようするときになってはじめて、ネットワークを介して車両200にダウンロードされる場合もある。
図22は、本実施の形態に係る管理装置300aの構成を示す図である。
図22の管理装置300aでは、図4の管理装置300の構成に加え、暗号化部315で暗号化された車載機能情報を、暗号化データ106として記憶する補助記憶装置340を備える。
本実施の形態では、車両通信装置100の制御部104は、アクセス要求を受け付けると、管理装置300から暗号化データ106をダウンロードする。
図22の管理装置300aでは、図4の管理装置300の構成に加え、暗号化部315で暗号化された車載機能情報を、暗号化データ106として記憶する補助記憶装置340を備える。
本実施の形態では、車両通信装置100の制御部104は、アクセス要求を受け付けると、管理装置300から暗号化データ106をダウンロードする。
実施の形態1と異なる点は、以下の点である。
アクセス権付き暗号化された車載機能プログラムは、管理装置300、ベンダサーバ800、あるいはサービスを提供するベンダサーバ装置に記憶されている。必要に応じて管理装置300で暗号化された車載機能プログラムが管理装置300から車両200にダウンロードされ、車両通信装置100に記憶される。もしくは、アクセス権付き暗号化がされていない平文の車載機能プログラムがベンダサーバ800にあり、管理装置300で平文の車載機能プログラムに対してアクセス権付き暗号化処理が実施される。その後、アクセス権付き暗号化データが管理装置300から車両200にダウンロードされ、車両通信装置100に記憶される。アクセス権付き暗号化データが車両通信装置100に記憶された後、それ以降の処理は、実施の形態1と同様である。
アクセス権付き暗号化された車載機能プログラムは、管理装置300、ベンダサーバ800、あるいはサービスを提供するベンダサーバ装置に記憶されている。必要に応じて管理装置300で暗号化された車載機能プログラムが管理装置300から車両200にダウンロードされ、車両通信装置100に記憶される。もしくは、アクセス権付き暗号化がされていない平文の車載機能プログラムがベンダサーバ800にあり、管理装置300で平文の車載機能プログラムに対してアクセス権付き暗号化処理が実施される。その後、アクセス権付き暗号化データが管理装置300から車両200にダウンロードされ、車両通信装置100に記憶される。アクセス権付き暗号化データが車両通信装置100に記憶された後、それ以降の処理は、実施の形態1と同様である。
本実施の形態に係る車両アクセス制御システム10の構成は、実施の形態1と同様である。ただし、本実施の形態では、オンデマンドで管理装置300から車両200へ暗号化データをダウンロードする。このため、車両アクセス制御システム10の構成には、車両200と管理装置300といったサーバとが連携したクラウド型連携サービスに基づく各種サービスを提供するクラウドサーバが加わる。このクラウドサーバは、ベンダサーバ800と同様である。
***本実施の形態の効果の説明***
本実施の形態に係る車両アクセス制御システム10によれば、管理装置300といったサーバと連携したサービスを提供することができ、更に付加価値をつけることができる。具体例としては、複数の車を複数のユーザで使用するカーシェアリングの場合において、車を変えても使用者に応じた機能およびサービスを提供することができる。それにより、ユーザは異なる車(ハードウェア)を選んでも、提供されるデータ、機能、およびサービス(ソフトウェア)をユーザに応じて変えることができる。つまり、ユーザが異なるハードウェアを選んでも、提供されるソフトウェアをユーザに応じて変えることができる。それにより、ユーザはいつも一定のサービスを使用できるので、常に自家用車のような感覚で使うことができるという顕著かつ新たな効果が得られる。
本実施の形態に係る車両アクセス制御システム10によれば、管理装置300といったサーバと連携したサービスを提供することができ、更に付加価値をつけることができる。具体例としては、複数の車を複数のユーザで使用するカーシェアリングの場合において、車を変えても使用者に応じた機能およびサービスを提供することができる。それにより、ユーザは異なる車(ハードウェア)を選んでも、提供されるデータ、機能、およびサービス(ソフトウェア)をユーザに応じて変えることができる。つまり、ユーザが異なるハードウェアを選んでも、提供されるソフトウェアをユーザに応じて変えることができる。それにより、ユーザはいつも一定のサービスを使用できるので、常に自家用車のような感覚で使うことができるという顕著かつ新たな効果が得られる。
ユーザ毎に異なるデータの例として、音楽データ、ナビ情報、およびアドレス帳といった個人のデータがある。本実施の形態に係る車両アクセス制御システム10によれば、それらをクラウドからダウンロードしてくることで利用可能になる。そういった個人のデータには、完全に個々のデータ、あるいは、共有可能なデータがある。これらのデータに対するアクセス制御についても、アクセス権付き暗号化を用いることで、暗号化データ量を削減し暗号化処理に要する時間を短縮できる。これは、暗号化データをユーザ数だけ生成するのではなく共用できる場合があるからである。また、漏洩防止とプライバシ保護の効果が得られる。
また、カーシェアリングあるいはカーレンタルのサービスでは、料金に応じて提供するデータ、機能、あるいはサービスを変えることができる。よって、オプション料金を払えば運転補助機能、あるいは快適系機能の利用が可能になるような操作を実現することができる。運転補助機能の具体例には、自動パーキング、あるいは自動運転といった機能がある。快適系機能の具体例には、マッサージ機能椅子といった機能がある。ここでも、アクセス権付き暗号化データは1つ生成すればよく、ユーザの持つ鍵に応じて、復号処理が制御される。よって、属性情報の定義において、料金に応じて、プレミアム、レギュラー、およびエコノミーといったランク付けを属性情報に付与することで様々な組み合わせの復号条件に適用できる。このように、車載機能に対する車両アクセス制御を実現することが可能になる。
以上のように、サービス内容に応じた車両をそれぞれ別に用意する必要がないため管理およびメンテナンスを含めシステム全体のコストを削減することができる。また車両通信装置100は共通化が図れるため車両製造のコストを下げることができる。
以上のように、サービス内容に応じた車両をそれぞれ別に用意する必要がないため管理およびメンテナンスを含めシステム全体のコストを削減することができる。また車両通信装置100は共通化が図れるため車両製造のコストを下げることができる。
以上の実施の形態1および2では、車両アクセス制御システムの各装置の各部を独立した機能ブロックとして説明した。しかし、車両アクセス制御システムの各装置の構成は、上述した実施の形態のような構成でなくてもよい。車両アクセス制御システムの各装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。
また、実施の形態1および2のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これら実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1および2では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
また、実施の形態1および2のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、1つの部分を実施しても構わない。その他、これら実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態1および2では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
10 車両アクセス制御システム、100 車両通信装置、101 暗号化部、102 復号部、103 切替部、104 制御部、105 車載機能情報、106 暗号化データ、107 マスタ公開鍵、108 復号条件データ、109 ログデータ、140,310,610 プロセッサ、150,330,620 メモリ、160 補助記憶装置、170,350,630 通信部、180 表示部、190 入力装置、200 車両、201 車載ネットワーク、202 ECU、300 管理装置、301 暗号鍵生成部、302 暗号処理部、303 管理部、312 マスタ鍵生成部、313 ユーザ秘密鍵生成部、315 暗号化部、316 復号部、331 マスタ鍵データベース、332 ユーザ管理データベース、333 復号条件データベース、370 鍵書込み部、390 マスタ鍵セット、391 マスタ公開鍵、392 マスタ秘密鍵、393 マスタ鍵ID、394 復号条件データ、395 ユーザ管理データ、400 ネットワーク、500 ユーザ、600 ICカード、601 復号部、603 ユーザID、604 アクセス権情報、605 ユーザ秘密鍵、700 デバイス、730 携帯端末、750 USB型トークン、800 ベンダサーバ。
Claims (12)
- 車両に搭載された車載機能を提供する車両通信装置において、
前記車載機能の実行に用いられる車載機能情報を暗号化した暗号化データであって、復号条件が埋め込まれた暗号化データを記憶する補助記憶装置と、
前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付ける制御部と、
前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る復号部と、
前記復号部により得られた前記車載機能情報を記憶するメモリと
を備えた車両通信装置。 - 前記制御部は、
前記ユーザによる前記車載機能の使用が終了したと判定すると、前記車載機能情報を前記メモリから消去し、前記ユーザによる前記車載機能の使用を不可とする請求項1に記載の車両通信装置。 - 前記制御部は、
前記ユーザにより前記車載機能が使用中であると判定すると、前記車載機能の利用可能期間であるか否かを判定し、前記車載機能の利用可能期間外であると判定すると、前記車載機能情報を前記メモリから消去し、前記ユーザによる前記車載機能の使用を不可とする請求項2に記載の車両通信装置。 - 前記制御部は、
前記ユーザにより前記ユーザ秘密鍵が記憶されたデバイスに接続されることにより、前記アクセス要求を受け付ける請求項1から3のいずれか1項に記載の車両通信装置。 - 前記車両通信装置は、
前記復号部により得られた前記車載機能情報を用いて、前記車載機能を実行可能にする切替部を備えた請求項1から4のいずれか1項に記載の車両通信装置。 - 車両の機能である車載機能の実行に用いられる車載機能情報を暗号化データとして暗号化する暗号化部であって、前記暗号化データに復号条件を埋め込んで暗号化する暗号化部と、
前記暗号化データを記憶する補助記憶装置と、
前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付ける制御部と、
前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る復号部と、
前記復号部により得られた前記車載機能情報を用いて、前記車載機能を実行可能にする切替部と
を備えた車両アクセス制御システム。 - 前記車両アクセス制御システムは、
前記車両に搭載された車両通信装置と、前記車両通信装置とネットワークを介して通信する管理装置とを有し、
前記暗号化部は、前記管理装置に備えられ、
前記補助記憶装置と前記制御部と前記復号部と前記切替部は、前記車両通信装置に備えられた請求項6に記載の車両アクセス制御システム。 - 前記車両アクセス制御システムは、
前記車両に搭載された車両通信装置と、前記車両通信装置とネットワークを介して通信する管理装置とを有し、
前記暗号化部と前記補助記憶装置は、前記管理装置に備えられ、
前記制御部と前記復号部と前記切替部は、前記車両通信装置に備えられた請求項6に記載の車両アクセス制御システム。 - 前記制御部は、
前記アクセス要求を受け付けると、前記管理装置から前記暗号化データをダウンロードする請求項8に記載の車両アクセス制御システム。 - 車両に搭載された車載機能を提供する車両通信装置であって、前記車載機能を使用するユーザから前記車載機能の使用を要求するアクセス要求を受け付ける車両通信装置と通信する管理装置において、
暗号化されたデータを復号する復号条件を含む復号条件データベースと、
前記車載機能の実行に用いられる車載機能情報を暗号化データとして暗号化する暗号化部であって、前記暗号化データに前記復号条件を埋め込んで暗号化する暗号化部と、
前記車両通信装置に前記暗号化データを送信する通信部と
を備え、
前記車両通信装置は、
前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付け、前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る管理装置。 - 暗号化部が、車両の機能である車載機能の実行に用いられる車載機能情報を、復号条件を埋め込んで暗号化データとして暗号化し、
制御部が、前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付け、
復号部が、前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得て、
切替部が、前記復号部により得られた前記車載機能情報を用いて、前記車載機能を実行可能にする車両アクセス制御方法。 - 車両の機能である車載機能の実行に用いられる車載機能情報を暗号化データとして暗号化する暗号化処理であって、前記暗号化データに復号条件を埋め込んで暗号化する暗号化処理と、
前記車載機能を使用するユーザから、前記車載機能の使用を要求するアクセス要求であって、前記ユーザの属性を表すアクセス権情報が埋め込まれたユーザ秘密鍵を含むアクセス要求を受け付ける制御処理と、
前記アクセス要求に含まれる前記ユーザ秘密鍵を用いて、前記アクセス権情報が前記復号条件に合致する場合に前記暗号化データから復号結果として前記車載機能情報を得る復号処理と、
前記復号処理により得られた前記車載機能情報を用いて、前記車載機能を実行可能にする切替処理と
をコンピュータに実行させる車両アクセス制御プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019513083A JPWO2019224912A1 (ja) | 2018-05-22 | 2018-05-22 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
PCT/JP2018/019671 WO2019224912A1 (ja) | 2018-05-22 | 2018-05-22 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2018/019671 WO2019224912A1 (ja) | 2018-05-22 | 2018-05-22 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019224912A1 true WO2019224912A1 (ja) | 2019-11-28 |
Family
ID=68616840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/019671 WO2019224912A1 (ja) | 2018-05-22 | 2018-05-22 | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2019224912A1 (ja) |
WO (1) | WO2019224912A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115494A (zh) * | 2020-09-22 | 2020-12-22 | 安徽大学 | 一种适用于自动驾驶车辆内部的数据访问控制方法 |
JP2021100153A (ja) * | 2019-12-20 | 2021-07-01 | 三菱電機株式会社 | 車載記録装置および情報記録方法 |
WO2023131965A1 (en) * | 2022-01-07 | 2023-07-13 | Tvs Motor Company Limited | A system and a method to access and process a user cum vehicle information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009263869A (ja) * | 2008-04-22 | 2009-11-12 | N-Crypt Inc | 電子鍵システム |
JP2010154203A (ja) * | 2008-12-25 | 2010-07-08 | Toyota Motor Corp | 情報通信システム |
WO2012011575A1 (ja) * | 2010-07-23 | 2012-01-26 | 日本電信電話株式会社 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
JP2013192090A (ja) * | 2012-03-14 | 2013-09-26 | Denso Corp | 通信システム、中継装置、車外装置及び通信方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6236909B1 (en) * | 1998-12-28 | 2001-05-22 | International Business Machines Corporation | Method for representing automotive device functionality and software services to applications using JavaBeans |
JP4239703B2 (ja) * | 2003-06-19 | 2009-03-18 | 株式会社デンソー | 車両用通信システム、及び、車載装置 |
JP2011164861A (ja) * | 2010-02-08 | 2011-08-25 | Honda Motor Co Ltd | 情報処理システム |
JP5712712B2 (ja) * | 2011-03-18 | 2015-05-07 | 株式会社デンソー | 車載機能制御装置 |
US20140094987A1 (en) * | 2012-09-28 | 2014-04-03 | Intel Corporation | Tiered level of access to a set of vehicles |
CN109804597B (zh) * | 2016-10-13 | 2022-02-25 | 日立安斯泰莫株式会社 | 车载网关、密钥管理装置 |
-
2018
- 2018-05-22 JP JP2019513083A patent/JPWO2019224912A1/ja active Pending
- 2018-05-22 WO PCT/JP2018/019671 patent/WO2019224912A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009263869A (ja) * | 2008-04-22 | 2009-11-12 | N-Crypt Inc | 電子鍵システム |
JP2010154203A (ja) * | 2008-12-25 | 2010-07-08 | Toyota Motor Corp | 情報通信システム |
WO2012011575A1 (ja) * | 2010-07-23 | 2012-01-26 | 日本電信電話株式会社 | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 |
JP2013192090A (ja) * | 2012-03-14 | 2013-09-26 | Denso Corp | 通信システム、中継装置、車外装置及び通信方法 |
Non-Patent Citations (1)
Title |
---|
AMBROSIN, M.: "Updaticator: Updating Billions of Devices by an Efficient", SCALABLE AND SECURE SOFTWARE UPDATE DISTRIBUTION OVER UNTRUSTED CACHE- ENABLE NETWORKS, 15 September 2014 (2014-09-15), XP047523706, Retrieved from the Internet <URL:https://www.schunter.org/blog/2014/09/15/publication-scaleable-updates-via-ndn-networks> [retrieved on 20180817] * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021100153A (ja) * | 2019-12-20 | 2021-07-01 | 三菱電機株式会社 | 車載記録装置および情報記録方法 |
CN112115494A (zh) * | 2020-09-22 | 2020-12-22 | 安徽大学 | 一种适用于自动驾驶车辆内部的数据访问控制方法 |
CN112115494B (zh) * | 2020-09-22 | 2023-04-25 | 安徽大学 | 一种适用于自动驾驶车辆内部的数据访问控制方法 |
WO2023131965A1 (en) * | 2022-01-07 | 2023-07-13 | Tvs Motor Company Limited | A system and a method to access and process a user cum vehicle information |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019224912A1 (ja) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9548859B2 (en) | Ticket-based implementation of content leasing | |
US8126150B2 (en) | Storage medium processing method, storage medium processing device, and program | |
JP4902207B2 (ja) | ファイルの暗号化と復号化のための複数のキーを管理するシステムと方法 | |
CN101571900B (zh) | 一种软件版权保护方法、设备和系统 | |
US8214630B2 (en) | Method and apparatus for controlling enablement of JTAG interface | |
US8261073B2 (en) | Digital rights management method and apparatus | |
US8181266B2 (en) | Method for moving a rights object between devices and a method and device for using a content object based on the moving method and device | |
EP1636664B1 (en) | Proof of execution using random function | |
US20080005033A1 (en) | Secure device licensing | |
EP1744251A1 (en) | Log in system and method | |
JP2005228346A (ja) | コンテンツとエンティティとを関連付ける方法 | |
JP2009517785A (ja) | 信頼できる時刻を利用したデジタル著作権管理 | |
US20060155651A1 (en) | Device and method for digital rights management | |
WO2006031030A1 (en) | Method and apparatus for searching for rights objects stored in portable storage device using object identifier | |
JP5025640B2 (ja) | Drm基盤のコンテンツ提供及び処理方法並びにその装置 | |
WO2019224912A1 (ja) | 車両通信装置、車両アクセス制御システム、管理装置、車両アクセス制御方法、および車両アクセス制御プログラム | |
US8438112B2 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
JP2009033721A (ja) | グループ従属端末、グループ管理端末、サーバ、鍵更新システム及びその鍵更新方法 | |
JP6937887B2 (ja) | 車載機能アクセス制御システム、車載装置および車載機能アクセス制御方法 | |
JP4826449B2 (ja) | 情報処理システム、電子許可情報発行装置、権利発行装置 | |
JP2009212625A (ja) | 会員認証システム及び携帯端末装置 | |
JP4782752B2 (ja) | デジタル著作権管理方法および装置 | |
JPWO2008132968A1 (ja) | データ保管方法、クライアント装置、記憶装置及びプログラム | |
JP5997604B2 (ja) | ソフトウェア不正使用防止機能を備えた情報処理装置、ソフトウェア不正使用防止方法及びプログラム | |
JP2014016659A (ja) | 電子認証システム、端末、サーバ、および電子認証プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2019513083 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18919986 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18919986 Country of ref document: EP Kind code of ref document: A1 |