WO2018207424A1 - メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置 - Google Patents

メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置 Download PDF

Info

Publication number
WO2018207424A1
WO2018207424A1 PCT/JP2018/006072 JP2018006072W WO2018207424A1 WO 2018207424 A1 WO2018207424 A1 WO 2018207424A1 JP 2018006072 W JP2018006072 W JP 2018006072W WO 2018207424 A1 WO2018207424 A1 WO 2018207424A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
signature
message
unit
processing
Prior art date
Application number
PCT/JP2018/006072
Other languages
English (en)
French (fr)
Inventor
佐藤 恒夫
拓海 森
卓磨 角谷
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2019516897A priority Critical patent/JPWO2018207424A1/ja
Publication of WO2018207424A1 publication Critical patent/WO2018207424A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present invention relates to a technique for distributing a message including data.
  • Patent Document 1 discloses “an electronic document exchange support method with an electronic signature and an information processing apparatus”.
  • an electronic document creation apparatus creates an electronic document
  • the electronic document support apparatus normalizes the electronic document, calculates a digest value
  • the document creation device generates a signature based on the digest value.
  • a new electronic document created by re-editing the created electronic document is an electronic document that is separate from the editing original electronic document.
  • a new electronic document signature is generated.
  • the editing source electronic document and the new electronic document cannot be associated with each other.
  • a safe delivery path must be provided in order to safely deliver the key from the certificate authority to the electronic document creation apparatus.
  • the object of the present invention is to enable delivery of processed data while guaranteeing the relationship between the data before processing and the data after processing.
  • the message processing device of the present invention A reception unit for receiving delivery messages; An extraction unit for extracting target data to be processed from the delivery message; A processing unit that generates processing data by processing the target data; A signature unit that generates a signature for the set data including the target data and the processed data; A message generation unit configured to generate a processing message including the set data and a signature for the set data;
  • processed data can be distributed while guaranteeing the relationship between data before processing (target data) and data after processing (processed data).
  • FIG. 1 is a configuration diagram of a message distribution system 100 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a message generation device 110 according to Embodiment 1.
  • FIG. 1 is a configuration diagram of a message processing device 120 according to Embodiment 1.
  • FIG. 3 is a configuration diagram of a message using device 130 according to the first embodiment.
  • FIG. 3 is a schematic diagram of a message delivery method in the first embodiment.
  • 4 is a flowchart of a message generation method in the first embodiment.
  • 5 is a flowchart of a message processing method in the first embodiment.
  • 5 is a flowchart of a message utilization method in the first embodiment.
  • FIG. 10 is a schematic diagram of a message delivery method in the second embodiment.
  • FIG. 10 is a schematic diagram of a message delivery method according to Embodiment 3.
  • FIG. 6 is a configuration diagram of a message generation device 110 in a fourth embodiment.
  • FIG. FIG. 10 is a schematic diagram of a message delivery method in a fourth embodiment.
  • FIG. 10 is a schematic diagram of a message delivery method in a fourth embodiment.
  • generation apparatus 110 in embodiment.
  • the hardware block diagram of the message processing apparatus 120 in embodiment.
  • Embodiment 1 FIG. The message distribution system 100 will be described with reference to FIGS.
  • the message distribution system 100 is a system for distributing messages.
  • the message distribution system 100 includes a message generating device 110, one or more message processing devices 120-n, and a message using device 130.
  • a message processing device 120 When the message processing device 120-n is not specified, each is referred to as a message processing device 120.
  • the message generation device 110 is a computer that generates a message including original data.
  • the one or more message processing devices 120-n are computers that generate messages including processed data obtained by processing original data.
  • the message using device 130 is a computer that uses the processed data.
  • the message generation device 110 includes hardware such as a processor 911, a memory 912, an auxiliary storage device 913, and an input / output interface 914. These hardwares are connected to each other via signal lines.
  • the processor 911 is an IC (Integrated Circuit) that performs arithmetic processing, and controls other hardware.
  • the processor 911 is a CPU (Central Processing Unit).
  • the memory 912 is a volatile storage device.
  • the memory 912 is also called a main storage device or a main memory.
  • the memory 912 is a RAM (Random Access Memory).
  • Data stored in the memory 912 is stored in the auxiliary storage device 913 as necessary.
  • the auxiliary storage device 913 is a nonvolatile storage device.
  • the auxiliary storage device 913 is a ROM (Read Only Memory), an HDD (Hard Disk Drive), or a flash memory. Data stored in the auxiliary storage device 913 is loaded into the memory 912 as necessary.
  • the input / output interface 914 is a port to which an input device and an output device are connected.
  • the input / output interface 914 is a USB terminal
  • the input device is a keyboard, a mouse, and a receiver
  • the output device is a display and a transmitter.
  • USB is an abbreviation for Universal Serial Bus.
  • a receiver and a transmitter are collectively referred to as a communication device.
  • the message generation device 110 includes software elements such as a data generation unit 111, a calculation unit 112, a signature unit 113, and a message generation unit 114.
  • a software element is an element realized by software.
  • the auxiliary storage device 913 stores a message generation program for causing the computer to function as the data generation unit 111, the calculation unit 112, the signature unit 113, and the message generation unit 114.
  • the message generation program is loaded into the memory 912 and executed by the processor 911.
  • the auxiliary storage device 913 stores an OS (Operating System). At least a part of the OS is loaded into the memory 912 and executed by the processor 911. That is, the processor 911 executes the message generation program while executing the OS.
  • Data obtained by executing the message generation program is stored in a storage device such as the memory 912, the auxiliary storage device 913, a register in the processor 911, or a cache memory in the processor 911.
  • the memory 912 functions as a storage unit 119M that stores data. However, another storage device may function as the storage unit 119M instead of the memory 912 or together with the memory 912.
  • the input / output interface 914 functions as a reception unit 119R that receives input. Further, the input / output interface 914 functions as a distribution unit 119S that distributes messages.
  • the message generation device 110 may include a plurality of processors that replace the processor 911.
  • the plurality of processors share the role of the processor 911.
  • the message generation program can be stored in a computer-readable manner in a non-volatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium is a tangible medium that is not temporary.
  • the message processing device 120 includes hardware such as a processor 921, a memory 922, an auxiliary storage device 923, and an input / output interface 924. These hardwares are connected to each other via signal lines.
  • the processor 921 is an IC that performs arithmetic processing, and controls other hardware.
  • the processor 921 is a CPU.
  • the memory 922 is a volatile storage device.
  • the memory 922 is also called a main storage device or a main memory.
  • the memory 922 is a RAM.
  • Data stored in the memory 922 is stored in the auxiliary storage device 923 as necessary.
  • the auxiliary storage device 923 is a nonvolatile storage device.
  • the auxiliary storage device 923 is a ROM, an HDD, or a flash memory. Data stored in the auxiliary storage device 923 is loaded into the memory 922 as necessary.
  • the input / output interface 924 is a port to which an input device and an output device are connected.
  • the input / output interface 924 is a USB terminal
  • the input device is a keyboard, a mouse, and a receiver
  • the output device is a display and a transmitter.
  • the message processing device 120 includes software elements such as an extraction unit 121, a calculation unit 122, a verification unit 123, a processing unit 124, a signature unit 125, and a message generation unit 126.
  • the auxiliary storage device 923 stores a message processing program for causing the computer to function as the extraction unit 121, the calculation unit 122, the verification unit 123, the processing unit 124, the signature unit 125, and the message generation unit 126.
  • the message processing program is loaded into the memory 922 and executed by the processor 921.
  • the auxiliary storage device 923 stores an OS. At least a part of the OS is loaded into the memory 922 and executed by the processor 921. That is, the processor 921 executes the message processing program while executing the OS.
  • Data obtained by executing the message processing program is stored in a storage device such as the memory 922, the auxiliary storage device 923, a register in the processor 921, or a cache memory in the processor 921.
  • the memory 922 functions as a storage unit 129M that stores data. However, another storage device may function as the storage unit 129M instead of the memory 922 or together with the memory 922.
  • the input / output interface 924 functions as a reception unit 129R that receives input. Further, the input / output interface 924 functions as a distribution unit 129S that distributes messages.
  • the message processing device 120 may include a plurality of processors that replace the processor 921.
  • the plurality of processors share the role of the processor 921.
  • the message processing program can be stored in a computer-readable manner on a nonvolatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a nonvolatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium is a tangible medium that is not temporary.
  • the message using device 130 includes hardware such as a processor 931, a memory 932, an auxiliary storage device 933, and an input / output interface 934. These hardwares are connected to each other via signal lines.
  • the processor 931 is an IC that performs arithmetic processing, and controls other hardware.
  • the processor 921 is a CPU.
  • the memory 932 is a volatile storage device.
  • the memory 932 is also called a main storage device or a main memory.
  • the memory 932 is a RAM.
  • Data stored in the memory 932 is saved in the auxiliary storage device 933 as necessary.
  • the auxiliary storage device 933 is a non-volatile storage device.
  • the auxiliary storage device 933 is a ROM, HDD, or flash memory. Data stored in the auxiliary storage device 933 is loaded into the memory 932 as necessary.
  • the input / output interface 934 is a port to which an input device and an output device are connected.
  • the input / output interface 934 is a USB terminal
  • the input device is a keyboard, a mouse, and a receiver
  • the output device is a display and a transmitter.
  • the message generation device 110 includes software elements such as an extraction unit 131, a calculation unit 132, a verification unit 133, and a use unit 134.
  • the auxiliary storage device 933 stores a message use program for causing the computer to function as the extraction unit 131, the calculation unit 132, the verification unit 133, and the use unit 134.
  • the message utilization program is loaded into the memory 932 and executed by the processor 931.
  • the auxiliary storage device 933 stores an OS. At least a part of the OS is loaded into the memory 932 and executed by the processor 931. That is, the processor 931 executes the message user program while executing the OS.
  • Data obtained by executing the message utilization program is stored in a storage device such as the memory 932, the auxiliary storage device 933, a register in the processor 931, or a cache memory in the processor 931.
  • the memory 932 functions as a storage unit 139M that stores data. However, another storage device may function as the storage unit 139M instead of the memory 932 or together with the memory 932.
  • the input / output interface 934 functions as a reception unit 139R that receives input.
  • the message using device 130 may include a plurality of processors that replace the processor 931.
  • the plurality of processors share the role of the processor 931.
  • the message utilization program can be stored in a computer-readable manner in a non-volatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium such as a magnetic disk, an optical disk, or a flash memory.
  • a non-volatile storage medium is a tangible medium that is not temporary.
  • the operation of the message delivery system 100 corresponds to a message delivery method.
  • the operation of the message generation device 110 corresponds to a message generation method.
  • the procedure of the message generation method corresponds to the procedure of the message generation program.
  • the operation of the message processing device 120 corresponds to a message processing method.
  • the procedure of the message processing method corresponds to the procedure of the message processing program.
  • the operation of the message using device 130 corresponds to a message using method.
  • the procedure of the message use method corresponds to the procedure of the message use program.
  • the device 0 is a message generation device 110.
  • the device n is a message processing device 120-n. In the embodiment, n is an integer from 1 to 3.
  • the device U is a message using device 130.
  • Data 0 is data generated by the device 0.
  • the data n is data generated by the device n and is generated by processing the data (n ⁇ 1).
  • Signature 0 is a signature for data 0.
  • the signature XY is a signature for the set data XY.
  • the set data XY is data including data X and data Y. Specifically, the set data XY is data composed of data X and data Y.
  • X means n-1 and Y means n.
  • Secret key 0 is a secret key for device 0.
  • Certificate 0 is a certificate for device 0 and includes public key 0 corresponding to private key 0.
  • the secret key n is a secret key for the device n.
  • the certificate n is a certificate for the device n and includes a public key n for the private key n.
  • the certificate authority operates as follows.
  • the certificate authority generates a private key 0 and a certificate 0, distributes the private key 0 to the device 0, and distributes the certificate 0 to the device 1.
  • the storage unit 119M of the device 0 stores the secret key 0, and the storage unit 129M of the device 1 stores the certificate 0.
  • the certificate authority generates a private key 1 and a certificate 1, distributes the private key 1 to the device 1, and distributes the certificate 1 to the device 2.
  • the storage unit 129M of the device 1 stores the secret key 1, and the storage unit 129M of the device 2 stores the certificate 1.
  • the certificate authority generates a private key 2 and a certificate 2, distributes the private key 2 to the device 2, and distributes the certificate 2 to the device 3.
  • the storage unit 129M of the device 2 stores the secret key 2, and the storage unit 129M of the device 3 stores the certificate 2.
  • the certificate authority generates a private key 3 and a certificate 3, distributes the private key 3 to the device 3, and distributes the certificate 3 to the device U.
  • the storage unit 129M of the device 3 stores the secret key 3, and the storage unit 139M of the device U stores the certificate 3.
  • Each private key and each certificate shall be distributed by a secure route.
  • the certificate authority distributes the certificate for the certificate authority to each device.
  • the certificate for the certificate authority includes a public key for the certificate authority. In each apparatus, the certificate for the certificate authority is used for verification of the certificates 0 to 3.
  • the device 0 operates as follows. The operation of the device 0 will be described with reference to FIG.
  • the data generation unit 111 generates data 0 (initial data). Specifically, data 0 is generated as follows. First, the accepting unit 119R accepts electronic information that is the source of data 0. And the data generation part 111 produces
  • FIG. User 0 is a user who uses message generation device 110.
  • step S112 the signature unit 113 generates a signature 0.
  • signature 0 is generated as follows. First, the calculation unit 112 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. A specific example of the digest function is a hash function called SHA-256. Then, the signature unit 113 generates the signature 0 by encrypting the digest value of the data 0 using the secret key 0.
  • the digest function is a hash function called SHA-256.
  • step S113 the message generation unit 114 generates a message 0 (delivery message) using the data 0 and the signature 0.
  • Message 0 is a message including data 0 and signature 0.
  • step S114 the distribution unit 119S distributes the message 0.
  • Message 0 is delivered to device 1.
  • step S121 accepting unit 129R accepts message 0 (delivery message).
  • step S122 the verification unit 123 verifies the signature 0. Specifically, signature 0 is verified as follows. First, the extraction unit 121 extracts data 0 (distributed data) and signature 0 from the message 0. Next, the calculation unit 122 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 0 by decrypting the signature 0 using the public key 0. Then, the verification unit 123 compares the digest value of data 0 with the decrypted value of signature 0. When the digest value of data 0 matches the decrypted value of signature 0, verification of signature 0 is successful. If verification of signature 0 is successful, the authenticity and integrity of data 0 is ensured. If verification of signature 0 is successful, the process proceeds to step S123. If the verification of signature 0 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 1 (processing data). Specifically, data 1 is generated as follows. First, the extraction unit 121 extracts data 0 (target data) from the message 0. Then, the processing unit 124 generates the data 1 by processing the data 0 according to the operation of the user 1. User 1 is a user of device 1.
  • step S124 the signature unit 125 generates a signature 01.
  • the signature 01 is generated as follows. First, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 (data 0 and data 1) as input. Then, the signature unit 125 generates the signature 01 by encrypting the digest value of the set data 01 using the secret key 1.
  • the signature 01 makes it possible to verify the authenticity and integrity of the tuple data 01. In other words, the signature 01 makes it possible to verify the authenticity and completeness of the set of data 0 and data 1.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 1 (processing message) using the set data 01 and the signature 01.
  • Message 1 is a message including set data 01 and signature 01.
  • step S126 the distribution unit 129S distributes the message 1.
  • Message 1 is delivered to device 2.
  • step S121 accepting unit 129R accepts message 1 (delivery message).
  • step S122 the verification unit 123 verifies the signature 01. Specifically, the signature 01 is verified as follows. First, the extraction unit 121 extracts the set data 01 (distribution data) and the signature 01 from the message 1. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 01 by decrypting the signature 01 using the public key 1. Then, the verification unit 123 compares the digest value of the set data 01 with the decrypted value of the signature 01. If the digest value of the set data 01 matches the decrypted value of the signature 01, the signature 01 is successfully verified.
  • step S123 If the verification of the signature 01 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 2 (processing data). Specifically, data 2 is generated as follows. First, the extraction unit 121 extracts data 1 (target data) from the message 1. And the process part 124 produces
  • FIG. User 2 is a user of device 2.
  • step S124 the signature unit 125 generates the signature 12.
  • the signature 12 is generated as follows. First, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 (data 1 and data 2) as input. Then, the signature unit 125 generates the signature 12 by encrypting the digest value of the set data 12 using the secret key 2. The signature 12 makes it possible to verify the authenticity and integrity of the tuple data 12.
  • step S ⁇ b> 125 the message generation unit 126 generates message 2 (processing message) using the set data 12 and the signature 12.
  • message 2 is a message including set data 12 and signature 12.
  • step S126 the distribution unit 129S distributes the message 2.
  • Message 2 is delivered to device 3.
  • step S121 accepting unit 129R accepts message 2 (delivery message).
  • step S122 the verification unit 123 verifies the signature 12. Specifically, the signature 12 is verified as follows. First, the extraction unit 121 extracts the set data 12 (distribution data) and the signature 12 from the message 2. Next, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 12 by decrypting the signature 12 using the public key 2. Then, the verification unit 123 compares the digest value of the set data 12 with the decrypted value of the signature 12. If the digest value of the set data 12 matches the decrypted value of the signature 12, the verification of the signature 12 is successful.
  • step S123 When the verification of the signature 12 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 3 (processing data). Specifically, the data 3 is generated as follows. First, the extraction unit 121 extracts data 2 (target data) from the message 2. Then, the processing unit 124 generates the data 3 by processing the data 2 according to the operation of the user 3. User 3 is a user of device 3.
  • step S ⁇ b> 124 the signature unit 125 generates a signature 23.
  • the signature 23 is generated as follows. First, the calculation unit 122 calculates the digest value of the set data 23 by executing the digest function with the set data 23 (data 2 and data 3) as input. Then, the signature unit 125 generates the signature 23 by encrypting the digest value of the set data 23 using the secret key 3. The signature 23 makes it possible to verify the authenticity and integrity of the set data 23. That is, the signature 23 makes it possible to verify the authenticity and completeness of the set of data 2 and data 3.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 3 (processing message) using the set data 23 and the signature 23.
  • Message 3 is a message including set data 23 and signature 23.
  • step S126 the distribution unit 129S distributes the message 3.
  • Message 3 is delivered to device U.
  • step S131 accepting unit 129R accepts message 3 (delivery message).
  • step S132 the verification unit 123 verifies the signature 23. Specifically, the signature 23 is verified as follows. First, the extraction unit 131 extracts the set data 23 (distribution data) and the signature 23 from the message 3. Next, the calculation unit 132 calculates the digest value of the set data 23 by executing the digest function with the set data 23 as an input. Next, the verification unit 133 calculates the decrypted value of the signature 23 by decrypting the signature 23 using the public key 3. Then, the verification unit 133 compares the digest value of the set data 23 with the decrypted value of the signature 23. If the digest value of the set data 23 matches the decrypted value of the signature 23, the signature 23 has been successfully verified.
  • step S133 the process proceeds to step S133.
  • the subsequent processing is not performed.
  • step S ⁇ b> 133 the use unit 134 uses the data 3. Specifically, data 3 is used as follows. First, the extraction unit 131 extracts data 3 (target data) from the message 3. Then, the utilization unit 134 performs data processing using the data 3.
  • the message delivery system 100 can be applied to a system for delivering a dynamic map.
  • the dynamic map includes static information, quasi-static information, quasi-dynamic information, dynamic information, and the like.
  • the static information is information such as road surface information, lane information, and three-dimensional structure information.
  • the quasi-static information is information such as traffic regulation information, road construction information, and wide area weather information.
  • the quasi-dynamic information is information such as accident information, traffic jam information, and narrow area weather information.
  • the dynamic information is information such as surrounding vehicles, pedestrian information, and signal information.
  • the automatic driving dynamic map is mounted on an automatic driving vehicle or a car navigation device.
  • the dynamic map for automatic driving is configured by adding application data dedicated to a map company and application data dedicated to an automobile company to base map information (static information).
  • the base map information is information generated based on measurement data obtained by the mobile measurement device.
  • the map management device manages the base map information and provides the base map information to the map company device.
  • the map company device is a device managed by the map company.
  • the map company device generates map company data by modifying part or all of the base map information acquired from the map management device, and provides the map company data to the car company device.
  • the map company data is application data dedicated to the map company.
  • the automobile company device is a device managed by the automobile company.
  • the automobile company apparatus generates automobile company data by modifying part or all of the map company data acquired from the map company apparatus, and provides the automobile company data to the autonomous driving vehicle.
  • the automobile company data is application data dedicated to the automobile company.
  • the autonomous driving vehicle performs automatic driving based on the automobile company data acquired from the automobile company device.
  • the message delivery system 100 is applied to a system for delivering a dynamic map as follows.
  • the message delivery system 100 includes a message generation device 110 (device 0), two message processing devices 120 (device 1 and device 2), and a message utilization device 130 (device U).
  • the device 0 is a map management device.
  • Data 0 is base map information.
  • the device 1 is a map company device.
  • Data 1 is map company data.
  • Device 2 is an automobile company device.
  • Data 2 is automobile company data.
  • Device U is an autonomous driving vehicle.
  • the map management device generates base map information, generates a signature 0 for the base map information, generates a message 0 including the base map information and the signature 0, and distributes the message 0 to the map company device.
  • the map company device receives message 0 and verifies signature 0. If the verification of the signature 0 fails, the map company device detects falsification of the base map information. If the verification of the signature 0 is successful, the map company device generates the map company data by processing the base map information, generates the signature 01 for the set data 01 including the base map information and the map company data, and sets the set Message 1 including data 01 and signature 01 is generated, and message 1 is distributed to the automobile company device.
  • the car company device receives the message 1 and verifies the signature 01.
  • the automobile company device detects falsification of the group data 01.
  • the automobile company device When the verification of the signature 01 is successful, the automobile company device generates the automobile company data by processing the map company data, generates the signature 12 for the set data 12 including the map company data and the automobile company data, The message 2 including the data 12 and the signature 12 is generated, and the message 2 is distributed to the autonomous driving vehicle.
  • the autonomous vehicle receives message 2 and verifies signature 12. If verification of the signature 12 fails, the autonomous driving vehicle detects falsification of the set data 12. If the verification of the signature 12 is successful, the autonomous driving vehicle performs autonomous driving using the automobile company data.
  • a signature is set for a set of pre-processing data (target data) and post-processing data (processing data). Therefore, tracing back from the signature 23 in the order of the signature 12, signature 01, and signature 0, it can be confirmed under the reliability of the certificate authority that the original data of the data 3 is the data 0. Further, there is an effect that the integrity of data 0, data 1, data 2 and data 3 can be confirmed by signature 0, signature 01, signature 12 and signature 23.
  • Embodiment 2 With respect to the form in which the digest value of the target data is included in the set data instead of the target data, differences from the first embodiment will be mainly described based on FIG.
  • the device 0 is a message generation device 110.
  • the device n is a message processing device 120-n.
  • the device U is a message using device 130.
  • Data 0 is data generated by the device 0.
  • the data n is data generated by the device n and is generated by processing the data (n ⁇ 1).
  • the digest value 0 is a digest value of data 0.
  • the digest value n is a digest value of the data n.
  • Signature 0 is a signature for data 0.
  • the signature XY is a signature for the set data XY.
  • the set data XY is data including a digest value X and data Y. Specifically, the set data XY is data composed of a digest value X and data Y.
  • Secret key 0 is a secret key for device 0.
  • Certificate 0 is a certificate for device 0 and includes public key 0 corresponding to private key 0.
  • the secret key n is a secret key for the device n.
  • the certificate n is a certificate for the device n and includes a public key n for the private key n.
  • the certificate authority operates as follows.
  • the certificate authority generates a private key 0 and a certificate 0, distributes the private key 0 to the device 0, and distributes the certificate 0 to the device 1.
  • the storage unit 119M of the device 0 stores the secret key 0, and the storage unit 129M of the device 1 stores the certificate 0.
  • the certificate authority generates a private key 1 and a certificate 1, distributes the private key 1 to the device 1, and distributes the certificate 1 to the device 2.
  • the storage unit 129M of the device 1 stores the secret key 1, and the storage unit 129M of the device 2 stores the certificate 1.
  • the certificate authority generates a private key 2 and a certificate 2, distributes the private key 2 to the device 2, and distributes the certificate 2 to the device 3.
  • the storage unit 129M of the device 2 stores the secret key 2, and the storage unit 129M of the device 3 stores the certificate 2.
  • the certificate authority generates a private key 3 and a certificate 3, distributes the private key 3 to the device 3, and distributes the certificate 3 to the device U.
  • the storage unit 129M of the device 3 stores the secret key 3, and the storage unit 139M of the device U stores the certificate 3.
  • Each private key and each certificate shall be distributed by a secure route.
  • the certificate authority distributes the certificate for the certificate authority to each device.
  • the certificate for the certificate authority includes a public key for the certificate authority. In each apparatus, the certificate for the certificate authority is used for verification of the certificates 0 to 3.
  • step S111 the data generation unit 111 generates data 0 (initial data). Specifically, data 0 is generated as follows. First, the accepting unit 119R accepts electronic information that is the source of data 0. And the data generation part 111 produces
  • step S112 the signature unit 113 generates a signature 0.
  • signature 0 is generated as follows. First, the calculation unit 112 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Then, the signature unit 113 generates the signature 0 by encrypting the digest value of the data 0 using the secret key 0.
  • step S113 the message generation unit 114 generates a message 0 (delivery message) using the data 0 and the signature 0.
  • Message 0 is a message including data 0 and signature 0.
  • step S114 the distribution unit 119S distributes the message 0.
  • Message 0 is delivered to device 1.
  • step S121 accepting unit 129R accepts message 0 (delivery message).
  • step S122 the verification unit 123 verifies the signature 0. Specifically, signature 0 is verified as follows. First, the extraction unit 121 extracts data 0 (distributed data) and signature 0 from the message 0. Next, the calculation unit 122 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 0 by decrypting the signature 0 using the public key 0. Then, the verification unit 123 compares the digest value of data 0 with the decrypted value of signature 0. When the digest value of data 0 matches the decrypted value of signature 0, verification of signature 0 is successful. If verification of signature 0 is successful, the authenticity and integrity of data 0 is ensured. If verification of signature 0 is successful, the process proceeds to step S123. If the verification of signature 0 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 1 (processing data). Specifically, data 1 is generated as follows. First, the extraction unit 121 extracts data 0 (target data) from the message 0. Then, the processing unit 124 generates the data 1 by processing the data 0 according to the operation of the user 1.
  • the signature unit 125 generates a signature 01.
  • the signature 01 is generated as follows. First, the calculation unit 122 calculates a digest value 0 by executing a digest function with data 0 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 (digest value 0 and data 1) as input. Then, the signature unit 125 generates the signature 01 by encrypting the digest value of the set data 01 using the secret key 1.
  • the signature 01 makes it possible to verify the authenticity and integrity of the tuple data 01. In other words, the signature 01 makes it possible to verify the authenticity and completeness of the set of data 0 and data 1.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 1 (processing message) using the set data 01 and the signature 01.
  • Message 1 is a message including set data 01 and signature 01.
  • step S126 the distribution unit 129S distributes the message 1.
  • Message 1 is delivered to device 2.
  • step S121 accepting unit 129R accepts message 1 (delivery message).
  • step S122 the verification unit 123 verifies the signature 01. Specifically, the signature 01 is verified as follows. First, the extraction unit 121 extracts the set data 01 (distribution data) and the signature 01 from the message 1. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 01 by decrypting the signature 01 using the public key 1. Then, the verification unit 123 compares the digest value of the set data 01 with the decrypted value of the signature 01. If the digest value of the set data 01 matches the decrypted value of the signature 01, the signature 01 is successfully verified.
  • step S123 If the verification of the signature 01 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 2 (processing data). Specifically, data 2 is generated as follows. First, the extraction unit 121 extracts data 1 (target data) from the message 1. And the process part 124 produces
  • the signature unit 125 generates the signature 12.
  • the signature 12 is generated as follows. First, the calculation unit 122 calculates a digest value 1 by executing a digest function with data 1 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 (digest value 1 and data 2) as input. Then, the signature unit 125 generates the signature 12 by encrypting the digest value of the set data 12 using the secret key 2.
  • the signature 12 makes it possible to verify the authenticity and integrity of the tuple data 12. That is, the signature 12 makes it possible to verify the authenticity and integrity of the data 1 and data 2 pair.
  • step S ⁇ b> 125 the message generation unit 126 generates message 2 (processing message) using the set data 12 and the signature 12.
  • message 2 is a message including set data 12 and signature 12.
  • step S126 the distribution unit 129S distributes the message 2.
  • Message 2 is delivered to device 3.
  • step S121 accepting unit 129R accepts message 2 (delivery message).
  • step S122 the verification unit 123 verifies the signature 12. Specifically, the signature 12 is verified as follows. First, the extraction unit 121 extracts the set data 12 (distribution data) and the signature 12 from the message 2. Next, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 12 by decrypting the signature 12 using the public key 2. Then, the verification unit 123 compares the digest value of the set data 12 with the decrypted value of the signature 12. If the digest value of the set data 12 matches the decrypted value of the signature 12, the verification of the signature 12 is successful.
  • step S123 When the verification of the signature 12 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 3 (processing data). Specifically, the data 3 is generated as follows. First, the extraction unit 121 extracts data 2 (target data) from the message 2. Then, the processing unit 124 generates the data 3 by processing the data 2 according to the operation of the user 3.
  • step S ⁇ b> 124 the signature unit 125 generates a signature 23.
  • the signature 23 is generated as follows. First, the calculation unit 122 calculates a digest value 2 by executing a digest function with data 2 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 23 by executing the digest function with the set data 23 (digest value 2 and data 3) as input. Then, the signature unit 125 generates the signature 23 by encrypting the digest value of the set data 23 using the secret key 3.
  • the signature 23 makes it possible to verify the authenticity and integrity of the set data 23. That is, the signature 23 makes it possible to verify the authenticity and integrity of the data 2 and data 3 pair.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 3 (processing message) using the set data 23 and the signature 23.
  • Message 3 is a message including set data 23 and signature 23.
  • step S126 the distribution unit 129S distributes the message 3.
  • Message 3 is delivered to device U.
  • step S131 accepting unit 129R accepts message 3 (delivery message).
  • step S132 the verification unit 123 verifies the signature 23. Specifically, the signature 23 is verified as follows. First, the extraction unit 131 extracts the set data 23 (distribution data) and the signature 23 from the message 3. Next, the calculation unit 132 calculates the digest value of the set data 23 by executing the digest function with the set data 23 as an input. Next, the verification unit 133 calculates the decrypted value of the signature 23 by decrypting the signature 23 using the public key 3. Then, the verification unit 133 compares the digest value of the set data 23 with the decrypted value of the signature 23. If the digest value of the set data 23 matches the decrypted value of the signature 23, the signature 23 has been successfully verified.
  • step S133 the process proceeds to step S133.
  • the subsequent processing is not performed.
  • step S ⁇ b> 133 the use unit 134 uses the data 3. Specifically, data 3 is used as follows. First, the extraction unit 131 extracts data 3 (target data) from the message 3. Then, the utilization unit 134 performs data processing using the data 3.
  • the message delivery system 100 can be applied to a system for delivering a dynamic map.
  • the message delivery system 100 is applied to a system for delivering a dynamic map as follows.
  • the message delivery system 100 includes a message generation device 110 (device 0), two message processing devices 120 (device 1 and device 2), and a message utilization device 130 (device U).
  • the device 0 is a map management device.
  • Data 0 is base map information.
  • the device 1 is a map company device.
  • Data 1 is map company data.
  • Device 2 is an automobile company device.
  • Data 2 is automobile company data.
  • Device U is an autonomous driving vehicle.
  • the map management device generates base map information, generates a signature 0 for the base map information, generates a message 0 including the base map information and the signature 0, and distributes the message 0 to the map company device.
  • the map company device receives message 0 and verifies signature 0. If the verification of the signature 0 fails, the map company device detects falsification of the base map information. When the verification of the signature 0 is successful, the map company device generates the map company data by processing the base map information, and calculates the digest value 0 of the base map information. Then, the map company device generates a signature 01 for the set data 01 including the digest value 0 and the map company data, generates a message 1 including the set data 01 and the signature 01, and sends the message 1 to the car company device.
  • the car company device receives the message 1 and verifies the signature 01.
  • the automobile company device detects falsification of the group data 01.
  • the car company device generates car company data by processing the map company data, and calculates a digest value 1 of the map company data.
  • the automobile company device generates a signature 12 for the set data 12 including the digest value 1 and the automobile company data, generates a message 2 including the set data 12 and the signature 12, and sends the message 2 to the autonomous driving vehicle.
  • the autonomous vehicle receives message 2 and verifies signature 12. If verification of the signature 12 fails, the autonomous driving vehicle detects falsification of the set data 12. If the verification of the signature 12 is successful, the autonomous driving vehicle performs autonomous driving using the automobile company data.
  • a signature is set for a set of a digest value of data before processing (target data) and data after processing (processing data). Therefore, tracing back from the signature 23 in the order of the signature 12, signature 01, and signature 0, it can be confirmed under the reliability of the certificate authority that the original data of the data 3 is the data 0. Further, the integrity of data 0, data 1, data 2 and data 3 can be confirmed by signature 0, signature 01, signature 12 and signature 23 via digest value 0, digest value 1 and digest value 2. . The integrity of the data 3 can be confirmed by the signature 23.
  • Embodiment 3 With respect to the form in which the digest value of the distribution data is included in the set data instead of the target data, differences from the first embodiment will be mainly described based on FIG.
  • the device 0 is a message generation device 110.
  • the device n is a message processing device 120-n.
  • the device U is a message using device 130.
  • Data 0 is data generated by the device 0.
  • the data n is data generated by the device n and is generated by processing the data (n ⁇ 1).
  • Signature 0 is a signature for data 0.
  • the digest value 0 is a digest value of data 0.
  • the signature XY is a signature for the set data XY.
  • the digest value XY is a digest value of the set data XY.
  • the set data XY is data including a digest value X and data Y. Specifically, the set data XY is data composed of a digest value X and data Y.
  • Secret key 0 is a secret key for device 0.
  • Certificate 0 is a certificate for device 0 and includes public key 0 corresponding to private key 0.
  • the secret key n is a secret key for the device n.
  • the certificate n is a certificate for the device n and includes a public key n for the private key n.
  • the certificate authority operates as follows.
  • the certificate authority generates a private key 0 and a certificate 0, distributes the private key 0 to the device 0, and distributes the certificate 0 to the device 1.
  • the storage unit 119M of the device 0 stores the secret key 0, and the storage unit 129M of the device 1 stores the certificate 0.
  • the certificate authority generates a private key 1 and a certificate 1, distributes the private key 1 to the device 1, and distributes the certificate 1 to the device 2.
  • the storage unit 129M of the device 1 stores the secret key 1, and the storage unit 129M of the device 2 stores the certificate 1.
  • the certificate authority generates a private key 2 and a certificate 2, distributes the private key 2 to the device 2, and distributes the certificate 2 to the device 3.
  • the storage unit 129M of the device 2 stores the secret key 2, and the storage unit 129M of the device 3 stores the certificate 2.
  • the certificate authority generates a private key 3 and a certificate 3, distributes the private key 3 to the device 3, and distributes the certificate 3 to the device U.
  • the storage unit 129M of the device 3 stores the secret key 3, and the storage unit 139M of the device U stores the certificate 3.
  • Each private key and each certificate shall be distributed by a secure route.
  • the certificate authority distributes the certificate for the certificate authority to each device.
  • the certificate for the certificate authority includes a public key for the certificate authority. In each apparatus, the certificate for the certificate authority is used for verification of the certificates 0 to 3.
  • step S111 the data generation unit 111 generates data 0 (initial data). Specifically, data 0 is generated as follows. First, the accepting unit 119R accepts electronic information that is the source of data 0. And the data generation part 111 produces
  • step S112 the signature unit 113 generates a signature 0.
  • signature 0 is generated as follows. First, the calculation unit 112 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Then, the signature unit 113 generates the signature 0 by encrypting the digest value of the data 0 using the secret key 0.
  • step S113 the message generation unit 114 generates a message 0 (delivery message) using the data 0 and the signature 0.
  • Message 0 is a message including data 0 and signature 0.
  • step S114 the distribution unit 119S distributes the message 0.
  • Message 0 is delivered to device 1.
  • step S121 accepting unit 129R accepts message 0 (delivery message).
  • step S122 the verification unit 123 verifies the signature 0. Specifically, signature 0 is verified as follows. First, the extraction unit 121 extracts data 0 (distributed data) and signature 0 from the message 0. Next, the calculation unit 122 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 0 by decrypting the signature 0 using the public key 0. Then, the verification unit 123 compares the digest value of data 0 with the decrypted value of signature 0. When the digest value of data 0 matches the decrypted value of signature 0, verification of signature 0 is successful. If verification of signature 0 is successful, the authenticity and integrity of data 0 is ensured. If verification of signature 0 is successful, the process proceeds to step S123. If the verification of signature 0 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 1 (processing data). Specifically, data 1 is generated as follows. First, the extraction unit 121 extracts data 0 (target data) from the message 0. Then, the processing unit 124 generates the data 1 by processing the data 0 according to the operation of the user 1.
  • the signature unit 125 generates a signature 01.
  • the signature 01 is generated as follows. First, the calculation unit 122 calculates a digest value 0 by executing a digest function with data 0 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 (digest value 0 and data 1) as input. Then, the signature unit 125 generates the signature 01 by encrypting the digest value of the set data 01 using the secret key 1.
  • the signature 01 makes it possible to verify the authenticity and integrity of the tuple data 01. In other words, the signature 01 makes it possible to verify the authenticity and completeness of the set of data 0 and data 1.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 1 (processing message) using the set data 01 and the signature 01.
  • Message 1 is a message including set data 01 and signature 01.
  • step S126 the distribution unit 129S distributes the message 1.
  • Message 1 is delivered to device 2.
  • step S121 accepting unit 129R accepts message 1 (delivery message).
  • step S122 the verification unit 123 verifies the signature 01. Specifically, the signature 01 is verified as follows. First, the extraction unit 121 extracts the set data 01 (distribution data) and the signature 01 from the message 1. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 01 by decrypting the signature 01 using the public key 1. Then, the verification unit 123 compares the digest value of the set data 01 with the decrypted value of the signature 01. If the digest value of the set data 01 matches the decrypted value of the signature 01, the signature 01 is successfully verified.
  • step S123 If the verification of the signature 01 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 2 (processing data). Specifically, data 2 is generated as follows. First, the extraction unit 121 extracts data 1 (target data) from the message 1. And the process part 124 produces
  • the signature unit 125 generates the signature 12. Specifically, the signature 12 is generated as follows. First, the calculation unit 122 calculates the digest value 01 by executing the digest function with the set data 01 (distribution data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 012 by executing the digest function with the set data 012 (digest value 01 and data 2) as input. Then, the signature unit 125 generates a signature 012 by encrypting the digest value of the set data 012 using the secret key 2. The signature 012 makes it possible to verify the authenticity and integrity of the tuple data 012. That is, the signature 012 makes it possible to verify the authenticity and integrity of the data set from data 0 to data 2.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 2 (processing message) using the set data 012 and the signature 012.
  • Message 2 is a message including set data 012 and signature 012.
  • step S126 the distribution unit 129S distributes the message 2.
  • Message 2 is delivered to device 3.
  • step S121 accepting unit 129R accepts message 2 (delivery message).
  • step S122 the verification unit 123 verifies the signature 012. Specifically, the signature 012 is verified as follows. First, the extraction unit 121 extracts the set data 012 (delivery data) and the signature 12 from the message 2. Next, the calculation unit 122 calculates the digest value of the set data 012 by executing the digest function with the set data 012 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 012 by decrypting the signature 012 using the public key 2. Then, the verification unit 123 compares the digest value of the set data 012 with the decrypted value of the signature 012. If the digest value of the set data 012 matches the decrypted value of the signature 012, the signature 012 has been successfully verified.
  • the process proceeds to step S123. If the verification of the signature 012 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 3 (processing data). Specifically, the data 3 is generated as follows. First, the extraction unit 121 extracts data 2 (target data) from the message 2. Then, the processing unit 124 generates the data 3 by processing the data 2 according to the operation of the user 3.
  • the signature unit 125 generates a signature 0123.
  • the signature 0123 is generated as follows. First, the calculation unit 122 calculates a digest value 012 by executing a digest function with the set data 012 (distribution data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 0123 by executing the digest function with the set data 0123 (digest value 012 and data 3) as input. Then, the signature unit 125 generates a signature 0123 by encrypting the digest value of the set data 0123 using the secret key 3.
  • the signature 0123 makes it possible to verify the authenticity and integrity of the tuple data 0123. In other words, the signature 0123 makes it possible to verify the authenticity and integrity of the data set from data 0 to data 3.
  • step S125 the message generation unit 126 generates message 3 (processing message) using the set data 0123 and the signature 0123.
  • message 3 is a message including set data 0123 and signature 0123.
  • step S126 the distribution unit 129S distributes the message 3.
  • Message 3 is delivered to device U.
  • step S131 accepting unit 129R accepts message 3 (delivery message).
  • step S132 the verification unit 123 verifies the signature 0123. Specifically, the signature 0123 is verified as follows. First, the extraction unit 131 extracts the set data 0123 (delivery data) and the signature 0123 from the message 3. Next, the calculation unit 132 calculates the digest value of the set data 0123 by executing the digest function with the set data 0123 as an input. Next, the verification unit 133 calculates the decryption value of the signature 0123 by decrypting the signature 0123 using the public key 3. Then, the verification unit 133 compares the digest value of the set data 0123 with the decrypted value of the signature 0123. When the digest value of the set data 0123 matches the decrypted value of the signature 0123, the verification of the signature 0123 is successful.
  • step S133 When the verification of the signature 0123 is successful, the authenticity and completeness of the set data 0123 are ensured. That is, the authenticity and completeness of the data set from data 0 to data 3 is ensured. If verification of the signature 0123 is successful, the process proceeds to step S133. When the verification of the signature 0123 fails, the subsequent processing is not performed.
  • step S ⁇ b> 133 the use unit 134 uses the data 3. Specifically, data 3 is used as follows. First, the extraction unit 131 extracts data 3 (target data) from the message 3. Then, the utilization unit 134 performs data processing using the data 3.
  • the message delivery system 100 can be applied to a system for delivering a dynamic map.
  • the message delivery system 100 is applied to a system for delivering a dynamic map as follows.
  • the message delivery system 100 includes a message generation device 110 (device 0), two message processing devices 120 (device 1 and device 2), and a message utilization device 130 (device U).
  • the device 0 is a map management device.
  • Data 0 is base map information.
  • the device 1 is a map company device.
  • Data 1 is map company data.
  • Device 2 is an automobile company device.
  • Data 2 is automobile company data.
  • Device U is an autonomous driving vehicle.
  • the map management device generates base map information, generates a signature 0 for the base map information, generates a message 0 including the base map information and the signature 0, and distributes the message 0 to the map company device.
  • the map company device receives message 0 and verifies signature 0. If the verification of the signature 0 fails, the map company device detects falsification of the base map information. When the verification of the signature 0 is successful, the map company device generates the map company data by processing the base map information, and calculates the digest value 0 of the base map information. Then, the map company device generates a signature 01 for the set data 01 including the digest value 0 and the map company data, generates a message 1 including the set data 01 and the signature 01, and sends the message 1 to the car company device.
  • the car company device receives the message 1 and verifies the signature 01.
  • the automobile company device detects falsification of the group data 01.
  • the car company device processes the car company data to generate car company data, and calculates the digest value 01 of the set data 01.
  • the automobile company device generates a signature 012 for the set data 012 including the digest value 01 and the automobile company data, generates a message 2 including the set data 012 and the signature 012, and sends the message 2 to the autonomous driving vehicle.
  • the autonomous vehicle receives message 2 and verifies signature 012.
  • the autonomous driving vehicle detects falsification of the set data 012. If the verification of the signature 012 is successful, the autonomous driving vehicle performs autonomous driving using the automobile company data.
  • a signature is signed for a set of a digest value of distribution data and processed data (target data). Therefore, the digest value along the route in which the data is processed is included in the message, and it can be confirmed under the reliability of the certificate authority that the original data of data 3 is data 0.
  • the data before processing of data 3 is data 2
  • the data before processing of data 2 is data 1
  • the data before processing of data 1 is processed by the signature 0123. It can be confirmed that the data is 0.
  • it can be confirmed from the signature 012 that the data before processing of data 2 is data 1 and the data before processing of data 1 is data 0 by going back the data path.
  • the integrity of data 0, data 1, data 2 and data 3 is confirmed by signature 0, signature 01, signature 012 and signature 0123 via digest value 0, digest value 01, digest value 012 and digest value 0123. can do.
  • the integrity of data 3 can be confirmed by signature 0123.
  • Embodiment 4 With respect to the form in which each message processing device 120 generates a pair of a secret key and a public key, differences from Embodiments 1 to 3 will be mainly described with reference to FIGS. 11 to 14.
  • the message generation device 110 further includes an authentication unit 115 as a software element.
  • the message generation program further causes the computer to function as the authentication unit 115.
  • the message processing device 120 further includes a key generation unit 127 as a software element.
  • the message processing program further causes the computer to function as the key generation unit 127.
  • the configuration of the message using device 130 is the same as that of the first embodiment.
  • the device 0 is a message generation device 110.
  • the device n is a message processing device 120-n.
  • the device U is a message using device 130.
  • CA stands for Certification Authority. That is, the main CA is a main certificate authority and the sub CA is a sub certificate authority.
  • the sub CAn is a sub certificate authority in the device n.
  • the primary certificate authority is a certificate authority that authenticates the secondary certificate authority.
  • the sub certificate authority is a certificate authority that receives authentication from the main certificate authority.
  • the device 0 functions as a main CA.
  • the authentication unit 115 of the device 0 functions as a main CA.
  • the device n functions as a sub CAn.
  • the key generation unit 127 of the device n functions as a sub CAn.
  • Data 0 is data generated by the device 0.
  • the data n is data generated by the device n and is generated by processing the data (n ⁇ 1).
  • the digest value 0 is a digest value of data 0.
  • the digest value n is a digest value of the data n.
  • Signature 0 is a signature for data 0.
  • the signature XY is a signature for the set data XY.
  • the set data XY is data including a digest value X and data Y. Specifically, the set data XY is data composed of a digest value X and data Y.
  • Secret key 0 is a secret key for device 0.
  • Certificate 0 is a certificate for device 0 and includes public key 0 corresponding to private key 0.
  • the secret key n is a secret key for the device n.
  • the certificate n is a certificate for the device n and includes a public key n for the private key n.
  • the main CA and the sub CAn operate as follows.
  • the main CA generates a private key 0 and a certificate 0 and distributes the certificate 0 to each of the devices n and U.
  • the storage unit 119M of the device 0 stores the secret key 0,
  • the storage unit 129M of the device n stores the certificate 0,
  • the storage unit 139M of the device U stores the certificate 0.
  • Private key 0 is stored securely, and certificate 0 is distributed over a secure path.
  • the sub CAn generates a private key n and a certificate n and sends the certificate n to the main CA.
  • the main CA receives the certificate n, generates a signature for the public key n, and sends the signed certificate n to the sub CAn.
  • the sub CAn receives the signed certificate n.
  • the signature of the main CA with respect to the public key n is embedded.
  • the storage unit 129M of the device n stores a secret key n and a public key n with a signature.
  • the sub CA 1 distributes the signed certificate 1 to the device 2.
  • the storage unit 129M of the device 2 stores the certificate 1 with a signature.
  • the sub CA 2 distributes the signed certificate 2 to the device 3.
  • the storage unit 129M of the device 3 stores the certificate 2 with a signature.
  • the sub CA 3 distributes the signed certificate 3 to the device U.
  • the storage unit 139M of the device U stores the signed certificate 3.
  • the private key n and the signed public key n are securely stored.
  • Each device verifies the signed certificate n using the public key 0 included in the certificate 0.
  • step S111 the data generation unit 111 generates data 0 (initial data). Specifically, data 0 is generated as follows. First, the accepting unit 119R accepts electronic information that is the source of data 0. And the data generation part 111 produces
  • step S112 the signature unit 113 generates a signature 0.
  • signature 0 is generated as follows. First, the calculation unit 112 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Then, the signature unit 113 generates the signature 0 by encrypting the digest value of the data 0 using the secret key 0.
  • step S113 the message generation unit 114 generates a message 0 (delivery message) using the data 0 and the signature 0.
  • Message 0 is a message including data 0 and signature 0.
  • step S114 the distribution unit 119S distributes the message 0.
  • Message 0 is delivered to device 1.
  • step S121 accepting unit 129R accepts message 0 (delivery message).
  • step S122 the verification unit 123 verifies the signature 0. Specifically, signature 0 is verified as follows. First, the extraction unit 121 extracts data 0 (distributed data) and signature 0 from the message 0. Next, the calculation unit 122 calculates the digest value of the data 0 by executing the digest function with the data 0 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 0 by decrypting the signature 0 using the public key 0. Then, the verification unit 123 compares the digest value of data 0 with the decrypted value of signature 0. When the digest value of data 0 matches the decrypted value of signature 0, verification of signature 0 is successful. If verification of signature 0 is successful, the authenticity and integrity of data 0 is ensured. If verification of signature 0 is successful, the process proceeds to step S123. If the verification of signature 0 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 1 (processing data). Specifically, data 1 is generated as follows. First, the extraction unit 121 extracts data 0 (target data) from the message 0. Then, the processing unit 124 generates the data 1 by processing the data 0 according to the operation of the user 1.
  • the signature unit 125 generates a signature 01.
  • the signature 01 is generated as follows. First, the calculation unit 122 calculates a digest value 0 by executing a digest function with data 0 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 (digest value 0 and data 1) as input. Then, the signature unit 125 generates the signature 01 by encrypting the digest value of the set data 01 using the secret key 1.
  • the signature 01 makes it possible to verify the authenticity and integrity of the tuple data 01. In other words, the signature 01 makes it possible to verify the authenticity and completeness of the set of data 0 and data 1.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 1 (processing message) using the set data 01 and the signature 01.
  • Message 1 is a message including set data 01 and signature 01.
  • step S126 the distribution unit 129S distributes the message 1.
  • Message 1 is delivered to device 2.
  • step S121 accepting unit 129R accepts message 1 (delivery message).
  • step S122 the verification unit 123 verifies the signature 01. Specifically, the signature 01 is verified as follows. First, the extraction unit 121 extracts the set data 01 (distribution data) and the signature 01 from the message 1. Next, the calculation unit 122 calculates the digest value of the set data 01 by executing the digest function with the set data 01 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 01 by decrypting the signature 01 using the public key 1. Then, the verification unit 123 compares the digest value of the set data 01 with the decrypted value of the signature 01. If the digest value of the set data 01 matches the decrypted value of the signature 01, the signature 01 is successfully verified.
  • step S123 If the verification of the signature 01 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 2 (processing data). Specifically, data 2 is generated as follows. First, the extraction unit 121 extracts data 1 (target data) from the message 1. And the process part 124 produces
  • the signature unit 125 generates the signature 12.
  • the signature 12 is generated as follows. First, the calculation unit 122 calculates a digest value 1 by executing a digest function with data 1 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 (digest value 1 and data 2) as input. Then, the signature unit 125 generates the signature 12 by encrypting the digest value of the set data 12 using the secret key 2.
  • the signature 12 makes it possible to verify the authenticity and integrity of the tuple data 12. That is, the signature 12 makes it possible to verify the authenticity and integrity of the data 1 and data 2 pair.
  • step S ⁇ b> 125 the message generation unit 126 generates message 2 (processing message) using the set data 12 and the signature 12.
  • message 2 is a message including set data 12 and signature 12.
  • step S126 the distribution unit 129S distributes the message 2.
  • Message 2 is delivered to device 3.
  • step S121 accepting unit 129R accepts message 2 (delivery message).
  • step S122 the verification unit 123 verifies the signature 12. Specifically, the signature 12 is verified as follows. First, the extraction unit 121 extracts the set data 12 (distribution data) and the signature 12 from the message 2. Next, the calculation unit 122 calculates the digest value of the set data 12 by executing the digest function with the set data 12 as an input. Next, the verification unit 123 calculates the decrypted value of the signature 12 by decrypting the signature 12 using the public key 2. Then, the verification unit 123 compares the digest value of the set data 12 with the decrypted value of the signature 12. If the digest value of the set data 12 matches the decrypted value of the signature 12, the verification of the signature 12 is successful.
  • step S123 When the verification of the signature 12 fails, the subsequent processing is not performed.
  • step S123 the processing unit 124 generates data 3 (processing data). Specifically, the data 3 is generated as follows. First, the extraction unit 121 extracts data 2 (target data) from the message 2. Then, the processing unit 124 generates the data 3 by processing the data 2 according to the operation of the user 3.
  • step S ⁇ b> 124 the signature unit 125 generates a signature 23.
  • the signature 23 is generated as follows. First, the calculation unit 122 calculates a digest value 2 by executing a digest function with data 2 (target data) as an input. Next, the calculation unit 122 calculates the digest value of the set data 23 by executing the digest function with the set data 23 (digest value 2 and data 3) as input. Then, the signature unit 125 generates the signature 23 by encrypting the digest value of the set data 23 using the secret key 3.
  • the signature 23 makes it possible to verify the authenticity and integrity of the set data 23. That is, the signature 23 makes it possible to verify the authenticity and integrity of the data 2 and data 3 pair.
  • step S ⁇ b> 125 the message generation unit 126 generates a message 3 (processing message) using the set data 23 and the signature 23.
  • Message 3 is a message including set data 23 and signature 23.
  • step S126 the distribution unit 129S distributes the message 3.
  • Message 3 is delivered to device U.
  • step S131 accepting unit 129R accepts message 3 (delivery message).
  • step S132 the verification unit 123 verifies the signature 23. Specifically, the signature 23 is verified as follows. First, the extraction unit 131 extracts the set data 23 (distribution data) and the signature 23 from the message 3. Next, the calculation unit 132 calculates the digest value of the set data 23 by executing the digest function with the set data 23 as an input. Next, the verification unit 133 calculates the decrypted value of the signature 23 by decrypting the signature 23 using the public key 3. Then, the verification unit 133 compares the digest value of the set data 23 with the decrypted value of the signature 23. If the digest value of the set data 23 matches the decrypted value of the signature 23, the signature 23 has been successfully verified.
  • step S133 the process proceeds to step S133.
  • the subsequent processing is not performed.
  • step S ⁇ b> 133 the use unit 134 uses the data 3. Specifically, data 3 is used as follows. First, the extraction unit 131 extracts data 3 (target data) from the message 3. Then, the utilization unit 134 performs data processing using the data 3.
  • the fourth embodiment may include a form in which the digest value of the distribution data is included in the set data instead of the target data (see FIG. 14).
  • the message delivery system 100 can be applied to a system for delivering a dynamic map.
  • the message delivery system 100 is applied to a system for delivering a dynamic map as follows.
  • the message delivery system 100 includes a message generation device 110 (device 0), two message processing devices 120 (device 1 and device 2), and a message utilization device 130 (device U).
  • the device 0 is a map management device.
  • Data 0 is base map information.
  • the device 1 is a map company device.
  • Data 1 is map company data.
  • Device 2 is an automobile company device.
  • Data 2 is automobile company data.
  • Device U is an autonomous driving vehicle.
  • a sub CA is provided under the authentication of the main CA. Therefore, it is possible to construct a system avoiding the risks associated with the distribution of the secret key. In addition, the load on the main CA accompanying the distribution of the key pair can be reduced.
  • the sub CA can freely generate a key pair. Therefore, the organization to which each device belongs can perform detailed operations according to its own service category. For example, each organization can generate a key pair for each distribution destination when there are multiple distribution destinations of the generated data, or generate a key pair for each data when there are multiple types of generated data. Data management according to the service category and management for integrity check can be performed.
  • Message distribution may be either communication distribution or manual distribution. That is, the message may be communicated between the devices via the network, or may be input / output to each device manually.
  • the message processing device 120 may be composed of a plurality of computers.
  • the message processing device 120 in the fourth embodiment may be composed of a first computer and a second computer.
  • the first computer implements an extraction unit 121, a calculation unit 122, a verification unit 123, a processing unit 124, a signature unit 125, and a message generation unit 126.
  • the second computer implements a key generation unit 127.
  • the message generation device 110 includes a processing circuit 991.
  • the processing circuit 991 is hardware that implements the data generation unit 111, the calculation unit 112, the signature unit 113, the message generation unit 114, the authentication unit 115, and the storage unit 119M.
  • the processing circuit 991 may be dedicated hardware or a processor 911 that executes a program stored in the memory 912.
  • the processing circuit 991 is dedicated hardware, the processing circuit 991 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • ASIC is an abbreviation for Application Specific Integrated Circuit
  • FPGA is an abbreviation for Field Programmable Gate Array.
  • the message generation device 110 may include a plurality of processing circuits that replace the processing circuit 991. The plurality of processing circuits share the role of the processing circuit 991.
  • processing circuit 991 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 991 can be realized by hardware, software, firmware, or a combination thereof.
  • the message processing device 120 includes a processing circuit 992.
  • the processing circuit 992 is hardware that implements the extraction unit 121, the calculation unit 122, the verification unit 123, the processing unit 124, the signature unit 125, the message generation unit 126, the key generation unit 127, and the storage unit 129M.
  • the processing circuit 992 may be dedicated hardware or a processor 921 that executes a program stored in the memory 922.
  • the processing circuit 992 is dedicated hardware, the processing circuit 992 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • the message processing device 120 may include a plurality of processing circuits replacing the processing circuit 992. The plurality of processing circuits share the role of the processing circuit 992.
  • processing circuit 992 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 992 can be realized by hardware, software, firmware, or a combination thereof.
  • the message using device 130 includes a processing circuit 993.
  • the processing circuit 993 is hardware that implements the extraction unit 131, the calculation unit 132, the verification unit 133, the use unit 134, and the storage unit 139M.
  • the processing circuit 993 may be dedicated hardware or a processor 921 that executes a program stored in the memory 932.
  • the processing circuit 993 is dedicated hardware, the processing circuit 993 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • the message utilization device 130 may include a plurality of processing circuits that replace the processing circuit 993. The plurality of processing circuits share the role of the processing circuit 993.
  • processing circuit 993 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 993 can be realized by hardware, software, firmware, or a combination thereof.
  • the embodiment is an example of a preferred embodiment and is not intended to limit the technical scope of the present invention.
  • the embodiment may be implemented partially or in combination with other embodiments.
  • the procedure described using the flowchart and the like may be changed as appropriate.
  • 100 message distribution system 110 message generation device, 111 data generation unit, 112 calculation unit, 113 signature unit, 114 message generation unit, 115 authentication unit, 119M storage unit, 119R reception unit, 119S distribution unit, 120 message processing device, 121 Extraction unit, 122 calculation unit, 123 verification unit, 124 processing unit, 125 signature unit, 126 message generation unit, 127 key generation unit, 129M storage unit, 129R reception unit, 129S delivery unit, 130 message using device, 131 extraction unit, 132 calculation unit, 133 verification unit, 134 use unit, 139M storage unit, 139R reception unit, 911 processor, 912 memory, 913 auxiliary storage device, 914 input / output interface, 921 processor, 922 memo , 923 an auxiliary storage device, 924 output interface, 931 a processor, 932 a memory, 933 an auxiliary storage device, 934 output interface, 991,992,993 processing circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

受付部(129R)は、配信メッセージを受け付ける。抽出部(121)は、配信メッセージから加工の対象となる対象データを抽出する。加工部(124)は、対象データを加工することによって加工データを生成する。署名部(125)は、対象データと加工データとを含んだ組データに対する署名を生成する。メッセージ生成部(126)は、組データと組データに対する署名とを含んだ加工メッセージを生成する。配信部(129S)は、加工メッセージを配信する。

Description

メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置
 本発明は、データが含まれるメッセージを配信するための技術に関するものである。
 特許文献1は「電子署名付き電子文書交換支援方法及び情報処理装置」を開示している。
 特許文献1における「電子署名付き電子文書交換支援方法及び情報処理装置」では、電子文書作成装置が電子文書を作成し、電子文書支援装置が電子文書を正規化した後にダイジェスト値を算出し、電子文書作成装置がダイジェスト値を元に署名を生成する。
 これによって、電子文書作成装置毎に異なる実装方法による正規化処理のズレに起因する差異が解消される。
特開2006-157399号公報
 特許文献1における「電子署名付き電子文書交換支援方法及び情報処理装置」では、作成された電子文書を再編集して作成される新たな電子文書が編集元の電子文書とは別個の電子文書として扱われるため、新たな電子文書の署名が生成される。
 そして、編集元の電子文書と新たな電子文書とを互いに紐つけることができない。
 また、電子文書作成装置が認証局から離れた地域に存在する場合、認証局から電子文書作成装置へ鍵を安全に配送するために、安全な配送経路を設けなければならない。
 本発明は、加工前のデータと加工後のデータとの関係を保証しながら加工後のデータを配信できるようにすることを目的とする。
 本発明のメッセージ加工装置は、
 配信メッセージを受け付ける受付部と、
 前記配信メッセージから加工の対象となる対象データを抽出する抽出部と、
 前記対象データを加工することによって加工データを生成する加工部と、
 前記対象データと前記加工データとを含んだ組データに対する署名を生成する署名部と、
 前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部とを備える。
 本発明によれば、加工前のデータ(対象データ)と加工後のデータ(加工データ)との関係を保証しながら加工後のデータを配信することができる。
実施の形態1におけるメッセージ配信システム100の構成図。 実施の形態1におけるメッセージ生成装置110の構成図。 実施の形態1におけるメッセージ加工装置120の構成図。 実施の形態1におけるメッセージ利用装置130の構成図。 実施の形態1におけるメッセージ配信方法の概要図。 実施の形態1におけるメッセージ生成方法のフローチャート。 実施の形態1におけるメッセージ加工方法のフローチャート。 実施の形態1におけるメッセージ利用方法のフローチャート。 実施の形態2におけるメッセージ配信方法の概要図。 実施の形態3におけるメッセージ配信方法の概要図。 実施の形態4におけるメッセージ生成装置110の構成図。 実施の形態4におけるメッセージ加工装置120の構成図。 実施の形態4におけるメッセージ配信方法の概要図。 実施の形態4におけるメッセージ配信方法の概要図。 実施の形態におけるメッセージ生成装置110のハードウェア構成図。 実施の形態におけるメッセージ加工装置120のハードウェア構成図。 実施の形態におけるメッセージ利用装置130のハードウェア構成図。
 実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
 実施の形態1.
 メッセージ配信システム100について、図1から図8に基づいて説明する。
***構成の説明***
 図1に基づいて、メッセージ配信システム100の構成を説明する。
 メッセージ配信システム100は、メッセージを配信するためのシステムである。
 メッセージ配信システム100は、メッセージ生成装置110と1つ以上のメッセージ加工装置120-nとメッセージ利用装置130とを備える。
 メッセージ加工装置120-nを特定しない場合、それぞれをメッセージ加工装置120と称する。
 メッセージ生成装置110は、元データを含んだメッセージを生成するコンピュータである。
 1つ以上のメッセージ加工装置120-nは、元データを加工して得られる加工後のデータを含んだメッセージを生成するコンピュータである。
 メッセージ利用装置130は、加工後のデータを利用するコンピュータである。
 図2に基づいて、メッセージ生成装置110の構成を説明する。
 メッセージ生成装置110は、プロセッサ911とメモリ912と補助記憶装置913と入出力インタフェース914といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ911は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ911は、CPU(Central Processing Unit)である。
 メモリ912は揮発性の記憶装置である。メモリ912は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ912はRAM(Random Access Memory)である。メモリ912に記憶されたデータは必要に応じて補助記憶装置913に保存される。
 補助記憶装置913は不揮発性の記憶装置である。例えば、補助記憶装置913は、ROM(Read Only Memory)、HDD(Hard Disk Drive)またはフラッシュメモリである。補助記憶装置913に記憶されたデータは必要に応じてメモリ912にロードされる。
 入出力インタフェース914は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース914はUSB端子であり、入力装置はキーボード、マウスおよびレシーバであり、出力装置はディスプレイおよびトランスミッタである。USBはUniversal Serial Busの略称である。レシーバとトランスミッタとを総称して通信装置という。
 メッセージ生成装置110は、データ生成部111と算出部112と署名部113とメッセージ生成部114といったソフトウェア要素を備える。ソフトウェア要素はソフトウェアで実現される要素である。
 補助記憶装置913には、データ生成部111と算出部112と署名部113とメッセージ生成部114としてコンピュータを機能させるためのメッセージ生成プログラムが記憶されている。メッセージ生成プログラムは、メモリ912にロードされて、プロセッサ911によって実行される。
 さらに、補助記憶装置913にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ912にロードされて、プロセッサ911によって実行される。
 つまり、プロセッサ911は、OSを実行しながら、メッセージ生成プログラムを実行する。
 メッセージ生成プログラムを実行して得られるデータは、メモリ912、補助記憶装置913、プロセッサ911内のレジスタまたはプロセッサ911内のキャッシュメモリといった記憶装置に記憶される。
 メモリ912はデータを記憶する記憶部119Mとして機能する。但し、他の記憶装置が、メモリ912の代わりに、又は、メモリ912と共に、記憶部119Mとして機能してもよい。
 入出力インタフェース914は、入力を受け付ける受付部119Rとして機能する。さらに、入出力インタフェース914は、メッセージを配信する配信部119Sとして機能する。
 メッセージ生成装置110は、プロセッサ911を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ911の役割を分担する。
 メッセージ生成プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
 図3に基づいて、メッセージ加工装置120の構成を説明する。
 メッセージ加工装置120は、プロセッサ921とメモリ922と補助記憶装置923と入出力インタフェース924といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ921は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ921は、CPUである。
 メモリ922は揮発性の記憶装置である。メモリ922は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ922はRAMである。メモリ922に記憶されたデータは必要に応じて補助記憶装置923に保存される。
 補助記憶装置923は不揮発性の記憶装置である。例えば、補助記憶装置923は、ROM、HDDまたはフラッシュメモリである。補助記憶装置923に記憶されたデータは必要に応じてメモリ922にロードされる。
 入出力インタフェース924は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース924はUSB端子であり、入力装置はキーボード、マウスおよびレシーバであり、出力装置はディスプレイおよびトランスミッタである。
 メッセージ加工装置120は、抽出部121と算出部122と検証部123と加工部124と署名部125とメッセージ生成部126といったソフトウェア要素を備える。
 補助記憶装置923には、抽出部121と算出部122と検証部123と加工部124と署名部125とメッセージ生成部126としてコンピュータを機能させるためのメッセージ加工プログラムが記憶されている。メッセージ加工プログラムは、メモリ922にロードされて、プロセッサ921によって実行される。
 さらに、補助記憶装置923にはOSが記憶されている。OSの少なくとも一部は、メモリ922にロードされて、プロセッサ921によって実行される。
 つまり、プロセッサ921は、OSを実行しながら、メッセージ加工プログラムを実行する。
 メッセージ加工プログラムを実行して得られるデータは、メモリ922、補助記憶装置923、プロセッサ921内のレジスタまたはプロセッサ921内のキャッシュメモリといった記憶装置に記憶される。
 メモリ922はデータを記憶する記憶部129Mとして機能する。但し、他の記憶装置が、メモリ922の代わりに、又は、メモリ922と共に、記憶部129Mとして機能してもよい。
 入出力インタフェース924は、入力を受け付ける受付部129Rとして機能する。さらに、入出力インタフェース924は、メッセージを配信する配信部129Sとして機能する。
 メッセージ加工装置120は、プロセッサ921を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ921の役割を分担する。
 メッセージ加工プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
 図4に基づいて、メッセージ利用装置130の構成を説明する。
 メッセージ利用装置130は、プロセッサ931とメモリ932と補助記憶装置933と入出力インタフェース934といったハードウェアを備える。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ931は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ921は、CPUである。
 メモリ932は揮発性の記憶装置である。メモリ932は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ932はRAMである。メモリ932に記憶されたデータは必要に応じて補助記憶装置933に保存される。
 補助記憶装置933は不揮発性の記憶装置である。例えば、補助記憶装置933は、ROM、HDDまたはフラッシュメモリである。補助記憶装置933に記憶されたデータは必要に応じてメモリ932にロードされる。
 入出力インタフェース934は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース934はUSB端子であり、入力装置はキーボード、マウスおよびレシーバであり、出力装置はディスプレイおよびトランスミッタである。
 メッセージ生成装置110は、抽出部131と算出部132と検証部133と利用部134といったソフトウェア要素を備える。
 補助記憶装置933には、抽出部131と算出部132と検証部133と利用部134としてコンピュータを機能させるためのメッセージ利用プログラムが記憶されている。メッセージ利用プログラムは、メモリ932にロードされて、プロセッサ931によって実行される。
 さらに、補助記憶装置933にはOSが記憶されている。OSの少なくとも一部は、メモリ932にロードされて、プロセッサ931によって実行される。
 つまり、プロセッサ931は、OSを実行しながら、メッセージ利用工プログラムを実行する。
 メッセージ利用プログラムを実行して得られるデータは、メモリ932、補助記憶装置933、プロセッサ931内のレジスタまたはプロセッサ931内のキャッシュメモリといった記憶装置に記憶される。
 メモリ932はデータを記憶する記憶部139Mとして機能する。但し、他の記憶装置が、メモリ932の代わりに、又は、メモリ932と共に、記憶部139Mとして機能してもよい。
 入出力インタフェース934は、入力を受け付ける受付部139Rとして機能する。
 メッセージ利用装置130は、プロセッサ931を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ931の役割を分担する。
 メッセージ利用プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
***動作の説明***
 メッセージ配信システム100の動作はメッセージ配信方法に相当する。
 メッセージ生成装置110の動作はメッセージ生成方法に相当する。メッセージ生成方法の手順はメッセージ生成プログラムの手順に相当する。
 メッセージ加工装置120の動作はメッセージ加工方法に相当する。また、メッセージ加工方法の手順はメッセージ加工プログラムの手順に相当する。
 メッセージ利用装置130の動作はメッセージ利用方法に相当する。また、メッセージ利用方法の手順はメッセージ利用プログラムの手順に相当する。
 図5に基づいて、メッセージ配信方法を説明する。
 装置0は、メッセージ生成装置110である。
 装置nは、メッセージ加工装置120-nである。実施の形態において、nは1から3までの整数である。
 装置Uは、メッセージ利用装置130である。
 データ0は、装置0によって生成されるデータである。
 データnは、装置nによって生成されるデータであり、データ(n-1)を加工することによって生成される。
 署名0は、データ0に対する署名である。
 署名XYは、組データXYに対する署名である。
 組データXYは、データXとデータYとを含んだデータである。具体的には、組データXYは、データXとデータYとから成るデータである。
 実施の形態において、Xはn-1を意味し、Yはnを意味する。
 秘密鍵0は、装置0用の秘密鍵である。
 証明書0は、装置0用の証明書であり、秘密鍵0に対応する公開鍵0を含んでいる。
 秘密鍵nは、装置n用の秘密鍵である。
 証明書nは、装置n用の証明書であり、秘密鍵nに対する公開鍵nを含んでいる。
 まず、認証局が以下のように動作する。
 認証局は、秘密鍵0と証明書0とを生成し、秘密鍵0を装置0に配布し、証明書0を装置1に配布する。装置0の記憶部119Mは秘密鍵0を記憶し、装置1の記憶部129Mは証明書0を記憶する。
 認証局は、秘密鍵1と証明書1とを生成し、秘密鍵1を装置1に配布し、証明書1を装置2に配布する。装置1の記憶部129Mは秘密鍵1を記憶し、装置2の記憶部129Mは証明書1を記憶する。
 認証局は、秘密鍵2と証明書2とを生成し、秘密鍵2を装置2に配布し、証明書2を装置3に配布する。装置2の記憶部129Mは秘密鍵2を記憶し、装置3の記憶部129Mは証明書2を記憶する。
 認証局は、秘密鍵3と証明書3とを生成し、秘密鍵3を装置3に配布し、証明書3を装置Uに配布する。装置3の記憶部129Mは秘密鍵3を記憶し、装置Uの記憶部139Mは証明書3を記憶する。
 各秘密鍵および各証明書は、安全な経路で配布されるものとする。
 また、認証局は、認証局用の証明書を各装置に配布する。認証局用の証明書は、認証局用の公開鍵を含んでいる。各装置において、認証局用の証明書は、証明書0~3の検証に使用される。
 次に、装置0が以下のように動作する。装置0の動作を図6に基づいて説明する。
 ステップS111において、データ生成部111はデータ0(初期データ)を生成する。
 具体的には、データ0は以下のように生成される。
 まず、受付部119Rが、データ0の元となる電子情報を受け付ける。
 そして、データ生成部111が、受け付けられた電子情報をユーザ0の操作に従って加工することによって、データ0を生成する。ユーザ0は、メッセージ生成装置110を使用するユーザである。
 ステップS112において、署名部113は署名0を生成する。
 具体的には、署名0は以下のように生成される。
 まず、算出部112が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。ダイジェスト関数の具体例は、SHA-256と呼ばれるハッシュ関数である。
 そして、署名部113が、秘密鍵0を用いてデータ0のダイジェスト値を暗号化することによって、署名0を生成する。
 ステップS113において、メッセージ生成部114は、データ0と署名0とを用いて、メッセージ0(配信メッセージ)を生成する。
 メッセージ0は、データ0と署名0とを含んだメッセージである。
 ステップS114において、配信部119Sはメッセージ0を配信する。メッセージ0は装置1に配信される。
 次に、装置1が以下のように動作する。装置1の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ0(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名0を検証する。
 具体的には、署名0は以下のように検証される。
 まず、抽出部121が、メッセージ0からデータ0(配信データ)と署名0とを抽出する。
 次に、算出部122が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 次に、検証部123が、公開鍵0を用いて署名0を復号することによって、署名0の復号値を算出する。
 そして、検証部123が、データ0のダイジェスト値を署名0の復号値と比較する。
 データ0のダイジェスト値が署名0の復号値と一致した場合、署名0の検証は成功である。署名0の検証が成功した場合、データ0の真正性および完全性が担保される。
 署名0の検証が成功した場合、処理はステップS123に進む。
 署名0の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ1(加工データ)を生成する。
 具体的には、データ1は以下のように生成される。
 まず、抽出部121が、メッセージ0からデータ0(対象データ)を抽出する。
 そして、加工部124が、ユーザ1の操作に従ってデータ0を加工することによって、データ1を生成する。ユーザ1は装置1のユーザである。
 ステップS124において、署名部125は署名01を生成する。
 具体的には、署名01は以下のように生成される。
 まず、算出部122が、組データ01(データ0およびデータ1)を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵1を用いて組データ01のダイジェスト値を暗号化することによって、署名01を生成する。
 署名01は、組データ01の真正性および完全性を検証することを可能にする。つまり、署名01は、データ0とデータ1との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ01と署名01とを用いて、メッセージ1(加工メッセージ)を生成する。
 メッセージ1は、組データ01と署名01とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ1を配信する。メッセージ1は装置2に配信される。
 次に、装置2が以下のように動作する。装置2の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ1(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名01を検証する。
 具体的には、署名01は以下のように検証される。
 まず、抽出部121が、メッセージ1から組データ01(配信データ)と署名01とを抽出する。
 次に、算出部122が、組データ01を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 次に、検証部123が、公開鍵1を用いて署名01を復号することによって、署名01の復号値を算出する。
 そして、検証部123が、組データ01のダイジェスト値を署名01の復号値と比較する。
 組データ01のダイジェスト値が署名01の復号値と一致した場合、署名01の検証は成功である。署名01の検証が成功した場合、組データ01の真正性および完全性が担保される。つまり、データ0とデータ1との組の真正性および完全性が担保される。
 署名01の検証が成功した場合、処理はステップS123に進む。
 署名01の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ2(加工データ)を生成する。
 具体的には、データ2は以下のように生成される。
 まず、抽出部121が、メッセージ1からデータ1(対象データ)を抽出する。
 そして、加工部124が、ユーザ2の操作に従ってデータ1を加工することによって、データ2を生成する。ユーザ2は装置2のユーザである。
 ステップS124において、署名部125は署名12を生成する。
 具体的には、署名12は以下のように生成される。
 まず、算出部122が、組データ12(データ1およびデータ2)を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵2を用いて組データ12のダイジェスト値を暗号化することによって、署名12を生成する。
 署名12は、組データ12の真正性および完全性を検証することを可能にする。
 ステップS125において、メッセージ生成部126は、組データ12と署名12とを用いて、メッセージ2(加工メッセージ)を生成する。
 メッセージ2は、組データ12と署名12とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ2を配信する。メッセージ2は装置3に配信される。
 次に、装置3が以下のように動作する。装置3の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ2(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名12を検証する。
 具体的には、署名12は以下のように検証される。
 まず、抽出部121が、メッセージ2から組データ12(配信データ)と署名12とを抽出する。
 次に、算出部122が、組データ12を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 次に、検証部123が、公開鍵2を用いて署名12を復号することによって、署名12の復号値を算出する。
 そして、検証部123が、組データ12のダイジェスト値を署名12の復号値と比較する。
 組データ12のダイジェスト値が署名12の復号値と一致した場合、署名12の検証は成功である。署名12の検証が成功した場合、組データ12の真正性および完全性が担保される。つまり、データ1とデータ2との組の真正性および完全性が担保される。
 署名12の検証が成功した場合、処理はステップS123に進む。
 署名12の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ3(加工データ)を生成する。
 具体的には、データ3は以下のように生成される。
 まず、抽出部121が、メッセージ2からデータ2(対象データ)を抽出する。
 そして、加工部124が、ユーザ3の操作に従ってデータ2を加工することによって、データ3を生成する。ユーザ3は装置3のユーザである。
 ステップS124において、署名部125は署名23を生成する。
 具体的には、署名23は以下のように生成される。
 まず、算出部122が、組データ23(データ2およびデータ3)を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵3を用いて組データ23のダイジェスト値を暗号化することによって、署名23を生成する。
 署名23は、組データ23の真正性および完全性を検証することを可能にする。つまり、署名23は、データ2とデータ3との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ23と署名23とを用いて、メッセージ3(加工メッセージ)を生成する。
 メッセージ3は、組データ23と署名23とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ3を配信する。メッセージ3は装置Uに配信される。
 次に、装置Uが以下のように動作する。装置Uの動作を図8に基づいて説明する。
 ステップS131において、受付部129Rはメッセージ3(配信メッセージ)を受け付ける。
 ステップS132において、検証部123は署名23を検証する。
 具体的には、署名23は以下のように検証される。
 まず、抽出部131が、メッセージ3から組データ23(配信データ)と署名23とを抽出する。
 次に、算出部132が、組データ23を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 次に、検証部133が、署名23を公開鍵3を用いて復号することによって、署名23の復号値を算出する。
 そして、検証部133が、組データ23のダイジェスト値を署名23の復号値と比較する。
 組データ23のダイジェスト値が署名23の復号値と一致した場合、署名23の検証は成功である。署名23の検証が成功した場合、組データ23の真正性および完全性が担保される。つまり、データ2とデータ3との組の真正性および完全性が担保される。
 署名23の検証が成功した場合、処理はステップS133に進む。
 署名23の検証が失敗した場合、以降の処理は行われない。
 ステップS133において、利用部134はデータ3を利用する。
 具体的には、データ3は以下のように利用される。
 まず、抽出部131が、メッセージ3からデータ3(対象データ)を抽出する。
 そして、利用部134が、データ3を用いてデータ処理を行う。
***実施の形態1の実施例***
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに適用することが可能である。
 衛星測位技術の普及に伴って、3次元位置情報を用いた自動運転が検討されており、地図情報の高度化技術(ダイナミックマップ)のための研究開発が行われている。
 ダイナミックマップは、静的情報、准静的情報、准動的情報および動的情報などを含む。ダイナミックマップにおいて、各階層の情報は紐付けされている。
 静的情報は、路面情報、車線情報および3次元構造物情報などの情報である。
 准静的情報は、交通規制情報、道路工事情報および広域気象情報などの情報である。
 准動的情報は、事故情報、渋滞情報および狭域気象情報などの情報である。
 動的情報は、周辺車両、歩行者情報および信号情報などの情報である。
 自動運転用ダイナミックマップは、自動運転車両またはカーナビゲーション装置に搭載される。
 例えば、自動運転用ダイナミックマップは、基盤地図情報(静的情報)に、地図会社専用のアプリケーションデータと、自動車会社専用のアプリケーションデータとが付加されて構成される。
 基盤地図情報は、移動計測装置によって得られた計測データに基づいて生成される情報である。地図管理装置が、基盤地図情報を管理し、基盤地図情報を地図会社装置に提供する。地図会社装置は、地図会社で管理される装置である。
 地図会社装置は、地図管理装置から取得した基盤地図情報の一部または全てを改変して地図会社データを生成し、地図会社データを自動車会社装置に提供する。地図会社データは、地図会社専用のアプリケーションデータである。自動車会社装置は、自動車会社で管理される装置である。
 自動車会社装置は、地図会社装置から取得した地図会社データの一部または全てを改変して自動車会社データを生成し、自動車会社データを自動運転車両に提供する。自動車会社データは、自動車会社専用のアプリケーションデータである。
 自動運転車両は、自動車会社装置から取得した自動車会社データに基づいて、自動運転を行う。
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに以下のように適用される。
 メッセージ配信システム100は、メッセージ生成装置110(装置0)と2つのメッセージ加工装置120(装置1および装置2)とメッセージ利用装置130(装置U)とを備える。
 装置0は、地図管理装置である。データ0は、基盤地図情報である。
 装置1は、地図会社装置である。データ1は、地図会社データである。
 装置2は、自動車会社装置である。データ2は、自動車会社データである。
 装置Uは、自動運転車両である。
 地図管理装置は、基盤地図情報を生成し、基盤地図情報に対する署名0を生成し、基盤地図情報と署名0とを含んだメッセージ0を生成し、メッセージ0を地図会社装置へ配信する。
 地図会社装置は、メッセージ0を受け取り、署名0を検証する。署名0の検証が失敗した場合、地図会社装置は、基盤地図情報の改ざんを検知する。署名0の検証が成功した場合、地図会社装置は、基盤地図情報を加工して地図会社データを生成し、基盤地図情報と地図会社データとを含んだ組データ01に対する署名01を生成し、組データ01と署名01とを含んだメッセージ1を生成し、メッセージ1を自動車会社装置へ配信する。
 自動車会社装置は、メッセージ1を受け取り、署名01を検証する。署名01の検証が失敗した場合、自動車会社装置は、組データ01の改ざんを検知する。署名01の検証が成功した場合、自動車会社装置は、地図会社データを加工して自動車会社データを生成し、地図会社データと自動車会社データとを含んだ組データ12に対する署名12を生成し、組データ12と署名12とを含んだメッセージ2を生成し、メッセージ2を自動運転車両へ配信する。
 自動運転車両は、メッセージ2を受け取り、署名12を検証する。署名12の検証が失敗した場合、自動運転車両は、組データ12の改ざんを検知する。署名12の検証が成功した場合、自動運転車両は、自動車会社データを用いて自動運転を行う。
***実施の形態1の効果***
 実施の形態1では、加工前のデータ(対象データ)と加工後のデータ(加工データ)との組に対して署名される。
 そのため、署名23から遡って署名12、署名01、署名0の順に辿り、データ3の元データがデータ0であることを認証局の信頼性の下で確認することができる。
 さらに、データ0、データ1、データ2およびデータ3の完全性を、署名0、署名01、署名12および署名23により確認することができる効果がある。
 実施の形態2.
 対象データの代わりに対象データのダイジェスト値を組データに含める形態について、主に実施の形態1と異なる点を図9に基づいて説明する。
***構成の説明***
 メッセージ配信システム100、メッセージ生成装置110、メッセージ加工装置120およびメッセージ利用装置130の構成は、実施の形態1と同じである。
***動作の説明***
 図9に基づいて、メッセージ配信方法を説明する。
 装置0は、メッセージ生成装置110である。
 装置nは、メッセージ加工装置120-nである。
 装置Uは、メッセージ利用装置130である。
 データ0は、装置0によって生成されるデータである。
 データnは、装置nによって生成されるデータであり、データ(n-1)を加工することによって生成される。
 ダイジェスト値0は、データ0のダイジェスト値である。
 ダイジェスト値nは、データnのダイジェスト値である。
 署名0は、データ0に対する署名である。
 署名XYは、組データXYに対する署名である。
 組データXYは、ダイジェスト値XとデータYとを含んだデータである。具体的には、組データXYは、ダイジェスト値XとデータYとから成るデータである。
 秘密鍵0は、装置0用の秘密鍵である。
 証明書0は、装置0用の証明書であり、秘密鍵0に対応する公開鍵0を含んでいる。
 秘密鍵nは、装置n用の秘密鍵である。
 証明書nは、装置n用の証明書であり、秘密鍵nに対する公開鍵nを含んでいる。
 まず、認証局が以下のように動作する。
 認証局は、秘密鍵0と証明書0とを生成し、秘密鍵0を装置0に配布し、証明書0を装置1に配布する。装置0の記憶部119Mは秘密鍵0を記憶し、装置1の記憶部129Mは証明書0を記憶する。
 認証局は、秘密鍵1と証明書1とを生成し、秘密鍵1を装置1に配布し、証明書1を装置2に配布する。装置1の記憶部129Mは秘密鍵1を記憶し、装置2の記憶部129Mは証明書1を記憶する。
 認証局は、秘密鍵2と証明書2とを生成し、秘密鍵2を装置2に配布し、証明書2を装置3に配布する。装置2の記憶部129Mは秘密鍵2を記憶し、装置3の記憶部129Mは証明書2を記憶する。
 認証局は、秘密鍵3と証明書3とを生成し、秘密鍵3を装置3に配布し、証明書3を装置Uに配布する。装置3の記憶部129Mは秘密鍵3を記憶し、装置Uの記憶部139Mは証明書3を記憶する。
 各秘密鍵および各証明書は、安全な経路で配布されるものとする。
 また、認証局は、認証局用の証明書を各装置に配布する。認証局用の証明書は、認証局用の公開鍵を含んでいる。各装置において、認証局用の証明書は、証明書0~3の検証に使用される。
 次に、装置0が以下のように動作する。装置0の動作を図6に基づいて説明する。
 ステップS111において、データ生成部111はデータ0(初期データ)を生成する。
 具体的には、データ0は以下のように生成される。
 まず、受付部119Rが、データ0の元となる電子情報を受け付ける。
 そして、データ生成部111が、受け付けられた電子情報をユーザ0の操作に従って加工することによって、データ0を生成する。
 ステップS112において、署名部113は署名0を生成する。
 具体的には、署名0は以下のように生成される。
 まず、算出部112が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 そして、署名部113が、秘密鍵0を用いてデータ0のダイジェスト値を暗号化することによって、署名0を生成する。
 ステップS113において、メッセージ生成部114は、データ0と署名0とを用いて、メッセージ0(配信メッセージ)を生成する。
 メッセージ0は、データ0と署名0とを含んだメッセージである。
 ステップS114において、配信部119Sはメッセージ0を配信する。メッセージ0は装置1に配信される。
 次に、装置1が以下のように動作する。装置1の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ0(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名0を検証する。
 具体的には、署名0は以下のように検証される。
 まず、抽出部121が、メッセージ0からデータ0(配信データ)と署名0とを抽出する。
 次に、算出部122が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 次に、検証部123が、公開鍵0を用いて署名0を復号することによって、署名0の復号値を算出する。
 そして、検証部123が、データ0のダイジェスト値を署名0の復号値と比較する。
 データ0のダイジェスト値が署名0の復号値と一致した場合、署名0の検証は成功である。署名0の検証が成功した場合、データ0の真正性および完全性が担保される。
 署名0の検証が成功した場合、処理はステップS123に進む。
 署名0の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ1(加工データ)を生成する。
 具体的には、データ1は以下のように生成される。
 まず、抽出部121が、メッセージ0からデータ0(対象データ)を抽出する。
 そして、加工部124が、ユーザ1の操作に従ってデータ0を加工することによって、データ1を生成する。
 ステップS124において、署名部125は署名01を生成する。
 具体的には、署名01は以下のように生成される。
 まず、算出部122が、データ0(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値0を算出する。
 次に、算出部122が、組データ01(ダイジェスト値0およびデータ1)を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵1を用いて組データ01のダイジェスト値を暗号化することによって、署名01を生成する。
 署名01は、組データ01の真正性および完全性を検証することを可能にする。つまり、署名01は、データ0とデータ1との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ01と署名01とを用いて、メッセージ1(加工メッセージ)を生成する。
 メッセージ1は、組データ01と署名01とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ1を配信する。メッセージ1は装置2に配信される。
 次に、装置2が以下のように動作する。装置2の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ1(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名01を検証する。
 具体的には、署名01は以下のように検証される。
 まず、抽出部121が、メッセージ1から組データ01(配信データ)と署名01とを抽出する。
 次に、算出部122が、組データ01を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 次に、検証部123が、公開鍵1を用いて署名01を復号することによって、署名01の復号値を算出する。
 そして、検証部123が、組データ01のダイジェスト値を署名01の復号値と比較する。
 組データ01のダイジェスト値が署名01の復号値と一致した場合、署名01の検証は成功である。署名01の検証が成功した場合、組データ01の真正性および完全性が担保される。つまり、データ0とデータ1との組の真正性および完全性が担保される。
 署名01の検証が成功した場合、処理はステップS123に進む。
 署名01の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ2(加工データ)を生成する。
 具体的には、データ2は以下のように生成される。
 まず、抽出部121が、メッセージ1からデータ1(対象データ)を抽出する。
 そして、加工部124が、ユーザ2の操作に従ってデータ1を加工することによって、データ2を生成する。
 ステップS124において、署名部125は署名12を生成する。
 具体的には、署名12は以下のように生成される。
 まず、算出部122が、データ1(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値1を算出する。
 次に、算出部122が、組データ12(ダイジェスト値1およびデータ2)を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵2を用いて組データ12のダイジェスト値を暗号化することによって、署名12を生成する。
 署名12は、組データ12の真正性および完全性を検証することを可能にする。つまり、署名12は、データ1とデータ2との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ12と署名12とを用いて、メッセージ2(加工メッセージ)を生成する。
 メッセージ2は、組データ12と署名12とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ2を配信する。メッセージ2は装置3に配信される。
 次に、装置3が以下のように動作する。装置3の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ2(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名12を検証する。
 具体的には、署名12は以下のように検証される。
 まず、抽出部121が、メッセージ2から組データ12(配信データ)と署名12とを抽出する。
 次に、算出部122が、組データ12を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 次に、検証部123が、公開鍵2を用いて署名12を復号することによって、署名12の復号値を算出する。
 そして、検証部123が、組データ12のダイジェスト値を署名12の復号値と比較する。
 組データ12のダイジェスト値が署名12の復号値と一致した場合、署名12の検証は成功である。署名12の検証が成功した場合、組データ12の真正性および完全性が担保される。つまり、データ1とデータ2との組の真正性および完全性が担保される。
 署名12の検証が成功した場合、処理はステップS123に進む。
 署名12の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ3(加工データ)を生成する。
 具体的には、データ3は以下のように生成される。
 まず、抽出部121が、メッセージ2からデータ2(対象データ)を抽出する。
 そして、加工部124が、ユーザ3の操作に従ってデータ2を加工することによって、データ3を生成する。
 ステップS124において、署名部125は署名23を生成する。
 具体的には、署名23は以下のように生成される。
 まず、算出部122が、データ2(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値2を算出する。
 次に、算出部122が、組データ23(ダイジェスト値2およびデータ3)を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵3を用いて組データ23のダイジェスト値を暗号化することによって、署名23を生成する。
 署名23は、組データ23の真正性および完全性を検証することを可能にする。つまり、署名23は、データ2とデータ3との組の真正性および完全性を検証することを可能にする。
 ステップS125において、メッセージ生成部126は、組データ23と署名23とを用いて、メッセージ3(加工メッセージ)を生成する。
 メッセージ3は、組データ23と署名23とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ3を配信する。メッセージ3は装置Uに配信される。
 次に、装置Uが以下のように動作する。装置Uの動作を図8に基づいて説明する。
 ステップS131において、受付部129Rはメッセージ3(配信メッセージ)を受け付ける。
 ステップS132において、検証部123は署名23を検証する。
 具体的には、署名23は以下のように検証される。
 まず、抽出部131が、メッセージ3から組データ23(配信データ)と署名23とを抽出する。
 次に、算出部132が、組データ23を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 次に、検証部133が、署名23を公開鍵3を用いて復号することによって、署名23の復号値を算出する。
 そして、検証部133が、組データ23のダイジェスト値を署名23の復号値と比較する。
 組データ23のダイジェスト値が署名23の復号値と一致した場合、署名23の検証は成功である。署名23の検証が成功した場合、組データ23の真正性および完全性が担保される。つまり、データ2とデータ3との組の真正性および完全性が担保される。
 署名23の検証が成功した場合、処理はステップS133に進む。
 署名23の検証が失敗した場合、以降の処理は行われない。
 ステップS133において、利用部134はデータ3を利用する。
 具体的には、データ3は以下のように利用される。
 まず、抽出部131が、メッセージ3からデータ3(対象データ)を抽出する。
 そして、利用部134が、データ3を用いてデータ処理を行う。
***実施の形態2の実施例***
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに適用することが可能である。
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに以下のように適用される。
 メッセージ配信システム100は、メッセージ生成装置110(装置0)と2つのメッセージ加工装置120(装置1および装置2)とメッセージ利用装置130(装置U)とを備える。
 装置0は、地図管理装置である。データ0は、基盤地図情報である。
 装置1は、地図会社装置である。データ1は、地図会社データである。
 装置2は、自動車会社装置である。データ2は、自動車会社データである。
 装置Uは、自動運転車両である。
 地図管理装置は、基盤地図情報を生成し、基盤地図情報に対する署名0を生成し、基盤地図情報と署名0とを含んだメッセージ0を生成し、メッセージ0を地図会社装置へ配信する。
 地図会社装置は、メッセージ0を受け取り、署名0を検証する。署名0の検証が失敗した場合、地図会社装置は、基盤地図情報の改ざんを検知する。署名0の検証が成功した場合、地図会社装置は、基盤地図情報を加工して地図会社データを生成し、基盤地図情報のダイジェスト値0を算出する。そして、地図会社装置は、ダイジェスト値0と地図会社データとを含んだ組データ01に対する署名01を生成し、組データ01と署名01とを含んだメッセージ1を生成し、メッセージ1を自動車会社装置へ配信する。
 自動車会社装置は、メッセージ1を受け取り、署名01を検証する。署名01の検証が失敗した場合、自動車会社装置は、組データ01の改ざんを検知する。署名01の検証が成功した場合、自動車会社装置は、地図会社データを加工して自動車会社データを生成し、地図会社データのダイジェスト値1を算出する。そして、自動車会社装置は、ダイジェスト値1と自動車会社データとを含んだ組データ12に対する署名12を生成し、組データ12と署名12とを含んだメッセージ2を生成し、メッセージ2を自動運転車両へ配信する。
 自動運転車両は、メッセージ2を受け取り、署名12を検証する。署名12の検証が失敗した場合、自動運転車両は、組データ12の改ざんを検知する。署名12の検証が成功した場合、自動運転車両は、自動車会社データを用いて自動運転を行う。
***実施の形態2の効果***
 実施の形態2では、加工前のデータ(対象データ)のダイジェスト値と加工後のデータ(加工データ)との組に対して署名される。
 そのため、署名23から遡って署名12、署名01、署名0の順に辿り、データ3の元データがデータ0であることを認証局の信頼性の下で確認することができる。
 さらに、データ0、データ1、データ2およびデータ3の完全性を、ダイジェスト値0、ダイジェスト値1およびダイジェスト値2を介して、署名0、署名01、署名12および署名23により確認することができる。データ3の完全性は署名23により確認できる。
 さらに、ダイジェスト値を使ってメッセージが構築されるので、配信経路の通信量を抑える効果がある。
 実施の形態3.
 対象データの代わりに配信データのダイジェスト値を組データに含める形態について、主に実施の形態1と異なる点を図10に基づいて説明する。
***構成の説明***
 メッセージ配信システム100、メッセージ生成装置110、メッセージ加工装置120およびメッセージ利用装置130の構成は、実施の形態1と同じである。
***動作の説明***
 図10に基づいて、メッセージ配信方法を説明する。
 装置0は、メッセージ生成装置110である。
 装置nは、メッセージ加工装置120-nである。
 装置Uは、メッセージ利用装置130である。
 データ0は、装置0によって生成されるデータである。
 データnは、装置nによって生成されるデータであり、データ(n-1)を加工することによって生成される。
 署名0は、データ0に対する署名である。
 ダイジェスト値0は、データ0のダイジェスト値である。
 署名XYは、組データXYに対する署名である。
 ダイジェスト値XYは、組データXYのダイジェスト値である。
 組データXYは、ダイジェスト値XとデータYとを含んだデータである。具体的には、組データXYは、ダイジェスト値XとデータYとから成るデータである。
 秘密鍵0は、装置0用の秘密鍵である。
 証明書0は、装置0用の証明書であり、秘密鍵0に対応する公開鍵0を含んでいる。
 秘密鍵nは、装置n用の秘密鍵である。
 証明書nは、装置n用の証明書であり、秘密鍵nに対する公開鍵nを含んでいる。
 まず、認証局が以下のように動作する。
 認証局は、秘密鍵0と証明書0とを生成し、秘密鍵0を装置0に配布し、証明書0を装置1に配布する。装置0の記憶部119Mは秘密鍵0を記憶し、装置1の記憶部129Mは証明書0を記憶する。
 認証局は、秘密鍵1と証明書1とを生成し、秘密鍵1を装置1に配布し、証明書1を装置2に配布する。装置1の記憶部129Mは秘密鍵1を記憶し、装置2の記憶部129Mは証明書1を記憶する。
 認証局は、秘密鍵2と証明書2とを生成し、秘密鍵2を装置2に配布し、証明書2を装置3に配布する。装置2の記憶部129Mは秘密鍵2を記憶し、装置3の記憶部129Mは証明書2を記憶する。
 認証局は、秘密鍵3と証明書3とを生成し、秘密鍵3を装置3に配布し、証明書3を装置Uに配布する。装置3の記憶部129Mは秘密鍵3を記憶し、装置Uの記憶部139Mは証明書3を記憶する。
 各秘密鍵および各証明書は、安全な経路で配布されるものとする。
 また、認証局は、認証局用の証明書を各装置に配布する。認証局用の証明書は、認証局用の公開鍵を含んでいる。各装置において、認証局用の証明書は、証明書0~3の検証に使用される。
 次に、装置0が以下のように動作する。装置0の動作を図6に基づいて説明する。
 ステップS111において、データ生成部111はデータ0(初期データ)を生成する。
 具体的には、データ0は以下のように生成される。
 まず、受付部119Rが、データ0の元となる電子情報を受け付ける。
 そして、データ生成部111が、受け付けられた電子情報をユーザ0の操作に従って加工することによって、データ0を生成する。
 ステップS112において、署名部113は署名0を生成する。
 具体的には、署名0は以下のように生成される。
 まず、算出部112が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 そして、署名部113が、秘密鍵0を用いてデータ0のダイジェスト値を暗号化することによって、署名0を生成する。
 ステップS113において、メッセージ生成部114は、データ0と署名0とを用いて、メッセージ0(配信メッセージ)を生成する。
 メッセージ0は、データ0と署名0とを含んだメッセージである。
 ステップS114において、配信部119Sはメッセージ0を配信する。メッセージ0は装置1に配信される。
 次に、装置1が以下のように動作する。装置1の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ0(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名0を検証する。
 具体的には、署名0は以下のように検証される。
 まず、抽出部121が、メッセージ0からデータ0(配信データ)と署名0とを抽出する。
 次に、算出部122が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 次に、検証部123が、公開鍵0を用いて署名0を復号することによって、署名0の復号値を算出する。
 そして、検証部123が、データ0のダイジェスト値を署名0の復号値と比較する。
 データ0のダイジェスト値が署名0の復号値と一致した場合、署名0の検証は成功である。署名0の検証が成功した場合、データ0の真正性および完全性が担保される。
 署名0の検証が成功した場合、処理はステップS123に進む。
 署名0の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ1(加工データ)を生成する。
 具体的には、データ1は以下のように生成される。
 まず、抽出部121が、メッセージ0からデータ0(対象データ)を抽出する。
 そして、加工部124が、ユーザ1の操作に従ってデータ0を加工することによって、データ1を生成する。
 ステップS124において、署名部125は署名01を生成する。
 具体的には、署名01は以下のように生成される。
 まず、算出部122が、データ0(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値0を算出する。
 次に、算出部122が、組データ01(ダイジェスト値0およびデータ1)を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵1を用いて組データ01のダイジェスト値を暗号化することによって、署名01を生成する。
 署名01は、組データ01の真正性および完全性を検証することを可能にする。つまり、署名01は、データ0とデータ1との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ01と署名01とを用いて、メッセージ1(加工メッセージ)を生成する。
 メッセージ1は、組データ01と署名01とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ1を配信する。メッセージ1は装置2に配信される。
 次に、装置2が以下のように動作する。装置2の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ1(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名01を検証する。
 具体的には、署名01は以下のように検証される。
 まず、抽出部121が、メッセージ1から組データ01(配信データ)と署名01とを抽出する。
 次に、算出部122が、組データ01を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 次に、検証部123が、公開鍵1を用いて署名01を復号することによって、署名01の復号値を算出する。
 そして、検証部123が、組データ01のダイジェスト値を署名01の復号値と比較する。
 組データ01のダイジェスト値が署名01の復号値と一致した場合、署名01の検証は成功である。署名01の検証が成功した場合、組データ01の真正性および完全性が担保される。つまり、データ0とデータ1との組の真正性および完全性が担保される。
 署名01の検証が成功した場合、処理はステップS123に進む。
 署名01の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ2(加工データ)を生成する。
 具体的には、データ2は以下のように生成される。
 まず、抽出部121が、メッセージ1からデータ1(対象データ)を抽出する。
 そして、加工部124が、ユーザ2の操作に従ってデータ1を加工することによって、データ2を生成する。
 ステップS124において、署名部125は署名12を生成する。
 具体的には、署名12は以下のように生成される。
 まず、算出部122が、組データ01(配信データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値01を算出する。
 次に、算出部122が、組データ012(ダイジェスト値01およびデータ2)を入力としてダイジェスト関数を実行することによって、組データ012のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵2を用いて組データ012のダイジェスト値を暗号化することによって、署名012を生成する。
 署名012は、組データ012の真正性および完全性を検証することを可能にする。つまり、署名012は、データ0からデータ2までのデータの組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ012と署名012とを用いて、メッセージ2(加工メッセージ)を生成する。
 メッセージ2は、組データ012と署名012とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ2を配信する。メッセージ2は装置3に配信される。
 次に、装置3が以下のように動作する。装置3の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ2(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名012を検証する。
 具体的には、署名012は以下のように検証される。
 まず、抽出部121が、メッセージ2から組データ012(配信データ)と署名12とを抽出する。
 次に、算出部122が、組データ012を入力としてダイジェスト関数を実行することによって、組データ012のダイジェスト値を算出する。
 次に、検証部123が、公開鍵2を用いて署名012を復号することによって、署名012の復号値を算出する。
 そして、検証部123が、組データ012のダイジェスト値を署名012の復号値と比較する。
 組データ012のダイジェスト値が署名012の復号値と一致した場合、署名012の検証は成功である。署名012の検証が成功した場合、組データ012の真正性および完全性が担保される。つまり、データ0からデータ2までのデータの組の真正性および完全性が担保される。
 署名012の検証が成功した場合、処理はステップS123に進む。
 署名012の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ3(加工データ)を生成する。
 具体的には、データ3は以下のように生成される。
 まず、抽出部121が、メッセージ2からデータ2(対象データ)を抽出する。
 そして、加工部124が、ユーザ3の操作に従ってデータ2を加工することによって、データ3を生成する。
 ステップS124において、署名部125は署名0123を生成する。
 具体的には、署名0123は以下のように生成される。
 まず、算出部122が、組データ012(配信データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値012を算出する。
 次に、算出部122が、組データ0123(ダイジェスト値012およびデータ3)を入力としてダイジェスト関数を実行することによって、組データ0123のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵3を用いて組データ0123のダイジェスト値を暗号化することによって、署名0123を生成する。
 署名0123は、組データ0123の真正性および完全性を検証することを可能にする。つまり、署名0123は、データ0からデータ3までのデータの組の真正性および完全性を検証することを可能にする。
 ステップS125において、メッセージ生成部126は、組データ0123と署名0123とを用いて、メッセージ3(加工メッセージ)を生成する。
 メッセージ3は、組データ0123と署名0123とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ3を配信する。メッセージ3は装置Uに配信される。
 次に、装置Uが以下のように動作する。装置Uの動作を図8に基づいて説明する。
 ステップS131において、受付部129Rはメッセージ3(配信メッセージ)を受け付ける。
 ステップS132において、検証部123は署名0123を検証する。
 具体的には、署名0123は以下のように検証される。
 まず、抽出部131が、メッセージ3から組データ0123(配信データ)と署名0123とを抽出する。
 次に、算出部132が、組データ0123を入力としてダイジェスト関数を実行することによって、組データ0123のダイジェスト値を算出する。
 次に、検証部133が、署名0123を公開鍵3を用いて復号することによって、署名0123の復号値を算出する。
 そして、検証部133が、組データ0123のダイジェスト値を署名0123の復号値と比較する。
 組データ0123のダイジェスト値が署名0123の復号値と一致した場合、署名0123の検証は成功である。署名0123の検証が成功した場合、組データ0123の真正性および完全性が担保される。つまり、データ0からデータ3までのデータの組の真正性および完全性が担保される。
 署名0123の検証が成功した場合、処理はステップS133に進む。
 署名0123の検証が失敗した場合、以降の処理は行われない。
 ステップS133において、利用部134はデータ3を利用する。
 具体的には、データ3は以下のように利用される。
 まず、抽出部131が、メッセージ3からデータ3(対象データ)を抽出する。
 そして、利用部134が、データ3を用いてデータ処理を行う。
***実施の形態3の実施例***
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに適用することが可能である。
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに以下のように適用される。
 メッセージ配信システム100は、メッセージ生成装置110(装置0)と2つのメッセージ加工装置120(装置1および装置2)とメッセージ利用装置130(装置U)とを備える。
 装置0は、地図管理装置である。データ0は、基盤地図情報である。
 装置1は、地図会社装置である。データ1は、地図会社データである。
 装置2は、自動車会社装置である。データ2は、自動車会社データである。
 装置Uは、自動運転車両である。
 地図管理装置は、基盤地図情報を生成し、基盤地図情報に対する署名0を生成し、基盤地図情報と署名0とを含んだメッセージ0を生成し、メッセージ0を地図会社装置へ配信する。
 地図会社装置は、メッセージ0を受け取り、署名0を検証する。署名0の検証が失敗した場合、地図会社装置は、基盤地図情報の改ざんを検知する。署名0の検証が成功した場合、地図会社装置は、基盤地図情報を加工して地図会社データを生成し、基盤地図情報のダイジェスト値0を算出する。そして、地図会社装置は、ダイジェスト値0と地図会社データとを含んだ組データ01に対する署名01を生成し、組データ01と署名01とを含んだメッセージ1を生成し、メッセージ1を自動車会社装置へ配信する。
 自動車会社装置は、メッセージ1を受け取り、署名01を検証する。署名01の検証が失敗した場合、自動車会社装置は、組データ01の改ざんを検知する。署名01の検証が成功した場合、自動車会社装置は、地図会社データを加工して自動車会社データを生成し、組データ01のダイジェスト値01を算出する。そして、自動車会社装置は、ダイジェスト値01と自動車会社データとを含んだ組データ012に対する署名012を生成し、組データ012と署名012とを含んだメッセージ2を生成し、メッセージ2を自動運転車両へ配信する。
 自動運転車両は、メッセージ2を受け取り、署名012を検証する。署名012の検証が失敗した場合、自動運転車両は、組データ012の改ざんを検知する。署名012の検証が成功した場合、自動運転車両は、自動車会社データを用いて自動運転を行う。
***実施の形態3の効果***
 実施の形態3では、配信データのダイジェスト値と加工後のデータ(対象データ)との組に対して署名される。
 そのため、データが加工された経路に沿ったダイジェスト値がメッセージに含まれ、データ3の元データがデータ0であることを認証局の信頼性の下で確認することができる。
 具体的には、署名0123により、データの経路を遡って、データ3の加工前のデータがデータ2であり、データ2の加工前のデータがデータ1であり、データ1の加工前のデータがデータ0であることを確認できる。また、署名012により、データの経路を遡って、データ2の加工前のデータがデータ1であり、データ1の加工前のデータがデータ0であることを確認できる。
 さらに、データ0、データ1、データ2およびデータ3の完全性を、ダイジェスト値0、ダイジェスト値01、ダイジェスト値012およびダイジェスト値0123を介して、署名0、署名01、署名012、署名0123により確認することができる。データ3の完全性は署名0123により確認できる。
 さらに、ダイジェスト値を使ってメッセージが構築されるので、配信経路の通信量を抑える効果がある。
 実施の形態4.
 それぞれのメッセージ加工装置120が秘密鍵と公開鍵との組を生成する形態について、主に実施の形態1から実施の形態3と異なる点を図11から図14に基づいて説明する。
***構成の説明***
 図11に基づいて、メッセージ生成装置110の構成を説明する。
 メッセージ生成装置110は、さらに、認証部115をソフトウェア要素として備える。
 メッセージ生成プログラムは、さらに、認証部115としてコンピュータを機能させる。
 図12に基づいて、メッセージ加工装置120の構成を説明する。
 メッセージ加工装置120は、さらに、鍵生成部127をソフトウェア要素として備える。
 メッセージ加工プログラムは、さらに、鍵生成部127としてコンピュータを機能させる。
 メッセージ利用装置130の構成は、実施の形態1と同じである。
***動作の説明***
 図13に基づいて、メッセージ配信システム100の動作を説明する。
 装置0は、メッセージ生成装置110である。
 装置nは、メッセージ加工装置120-nである。
 装置Uは、メッセージ利用装置130である。
 CAは認証局(Certification Authority)を意味する。つまり、メインCAは主認証局であり、サブCAは副認証局である。また、サブCAnは、装置nにおける副認証局である。主認証局は、副認証局を認証する認証局である。副認証局は、主認証局から認証を受ける認証局である。
 装置0は、メインCAとして機能する。具体的には、装置0の認証部115がメインCAとして機能する。
 装置nは、サブCAnとして機能する。具体的には、装置nの鍵生成部127がサブCAnとして機能する。
 データ0は、装置0によって生成されるデータである。
 データnは、装置nによって生成されるデータであり、データ(n-1)を加工することによって生成される。
 ダイジェスト値0は、データ0のダイジェスト値である。
 ダイジェスト値nは、データnのダイジェスト値である。
 署名0は、データ0に対する署名である。
 署名XYは、組データXYに対する署名である。
 組データXYは、ダイジェスト値XとデータYとを含んだデータである。具体的には、組データXYは、ダイジェスト値XとデータYとから成るデータである。
 秘密鍵0は、装置0用の秘密鍵である。
 証明書0は、装置0用の証明書であり、秘密鍵0に対応する公開鍵0を含んでいる。
 秘密鍵nは、装置n用の秘密鍵である。
 証明書nは、装置n用の証明書であり、秘密鍵nに対する公開鍵nを含んでいる。
 まず、メインCAおよびサブCAnが以下のように動作する。
 メインCAは、秘密鍵0と証明書0とを生成し、装置nと装置Uとのそれぞれに証明書0を配布する。装置0の記憶部119Mは秘密鍵0を記憶し、装置nの記憶部129Mは証明書0を記憶し、装置Uの記憶部139Mは証明書0を記憶する。秘密鍵0は安全に保管され、証明書0は安全な経路で配布される。
 サブCAnは、秘密鍵nと証明書nとを生成し、証明書nをメインCAに送付する。メインCAは、証明書nを受け取り、公開鍵nに対する署名を生成し、署名付きの証明書nをサブCAnに送付する。そして、サブCAnは、署名付きの証明書nを受け取る。署名付きの証明書nには、公開鍵nに対するメインCAの署名が埋め込まれている。装置nの記憶部129Mは、秘密鍵nと署名付きの公開鍵nとを記憶する。
 サブCA1は、署名付きの証明書1を装置2に配布する。装置2の記憶部129Mは署名付きの証明書1を記憶する。
 サブCA2は、署名付きの証明書2を装置3に配布する。装置3の記憶部129Mは署名付きの証明書2を記憶する。
 サブCA3は、署名付きの証明書3を装置Uに配布する。装置Uの記憶部139Mは署名付きの証明書3を記憶する。
 各装置において、秘密鍵nおよび署名付きの公開鍵nは安全に保管される。
 各装置は、証明書0に含まれる公開鍵0を用いて、署名付きの証明書nを検証する。
 次に、装置0が以下のように動作する。装置0の動作を図6に基づいて説明する。
 ステップS111において、データ生成部111はデータ0(初期データ)を生成する。
 具体的には、データ0は以下のように生成される。
 まず、受付部119Rが、データ0の元となる電子情報を受け付ける。
 そして、データ生成部111が、受け付けられた電子情報をユーザ0の操作に従って加工することによって、データ0を生成する。
 ステップS112において、署名部113は署名0を生成する。
 具体的には、署名0は以下のように生成される。
 まず、算出部112が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 そして、署名部113が、秘密鍵0を用いてデータ0のダイジェスト値を暗号化することによって、署名0を生成する。
 ステップS113において、メッセージ生成部114は、データ0と署名0とを用いて、メッセージ0(配信メッセージ)を生成する。
 メッセージ0は、データ0と署名0とを含んだメッセージである。
 ステップS114において、配信部119Sはメッセージ0を配信する。メッセージ0は装置1に配信される。
 次に、装置1が以下のように動作する。装置1の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ0(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名0を検証する。
 具体的には、署名0は以下のように検証される。
 まず、抽出部121が、メッセージ0からデータ0(配信データ)と署名0とを抽出する。
 次に、算出部122が、データ0を入力としてダイジェスト関数を実行することによって、データ0のダイジェスト値を算出する。
 次に、検証部123が、公開鍵0を用いて署名0を復号することによって、署名0の復号値を算出する。
 そして、検証部123が、データ0のダイジェスト値を署名0の復号値と比較する。
 データ0のダイジェスト値が署名0の復号値と一致した場合、署名0の検証は成功である。署名0の検証が成功した場合、データ0の真正性および完全性が担保される。
 署名0の検証が成功した場合、処理はステップS123に進む。
 署名0の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ1(加工データ)を生成する。
 具体的には、データ1は以下のように生成される。
 まず、抽出部121が、メッセージ0からデータ0(対象データ)を抽出する。
 そして、加工部124が、ユーザ1の操作に従ってデータ0を加工することによって、データ1を生成する。
 ステップS124において、署名部125は署名01を生成する。
 具体的には、署名01は以下のように生成される。
 まず、算出部122が、データ0(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値0を算出する。
 次に、算出部122が、組データ01(ダイジェスト値0およびデータ1)を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵1を用いて組データ01のダイジェスト値を暗号化することによって、署名01を生成する。
 署名01は、組データ01の真正性および完全性を検証することを可能にする。つまり、署名01は、データ0とデータ1との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ01と署名01とを用いて、メッセージ1(加工メッセージ)を生成する。
 メッセージ1は、組データ01と署名01とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ1を配信する。メッセージ1は装置2に配信される。
 次に、装置2が以下のように動作する。装置2の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ1(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名01を検証する。
 具体的には、署名01は以下のように検証される。
 まず、抽出部121が、メッセージ1から組データ01(配信データ)と署名01とを抽出する。
 次に、算出部122が、組データ01を入力としてダイジェスト関数を実行することによって、組データ01のダイジェスト値を算出する。
 次に、検証部123が、公開鍵1を用いて署名01を復号することによって、署名01の復号値を算出する。
 そして、検証部123が、組データ01のダイジェスト値を署名01の復号値と比較する。
 組データ01のダイジェスト値が署名01の復号値と一致した場合、署名01の検証は成功である。署名01の検証が成功した場合、組データ01の真正性および完全性が担保される。つまり、データ0とデータ1との組の真正性および完全性が担保される。
 署名01の検証が成功した場合、処理はステップS123に進む。
 署名01の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ2(加工データ)を生成する。
 具体的には、データ2は以下のように生成される。
 まず、抽出部121が、メッセージ1からデータ1(対象データ)を抽出する。
 そして、加工部124が、ユーザ2の操作に従ってデータ1を加工することによって、データ2を生成する。
 ステップS124において、署名部125は署名12を生成する。
 具体的には、署名12は以下のように生成される。
 まず、算出部122が、データ1(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値1を算出する。
 次に、算出部122が、組データ12(ダイジェスト値1およびデータ2)を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵2を用いて組データ12のダイジェスト値を暗号化することによって、署名12を生成する。
 署名12は、組データ12の真正性および完全性を検証することを可能にする。つまり、署名12は、データ1とデータ2との組の真正性および完全性を検証することを可能とする。
 ステップS125において、メッセージ生成部126は、組データ12と署名12とを用いて、メッセージ2(加工メッセージ)を生成する。
 メッセージ2は、組データ12と署名12とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ2を配信する。メッセージ2は装置3に配信される。
 次に、装置3が以下のように動作する。装置3の動作を図7に基づいて説明する。
 ステップS121において、受付部129Rはメッセージ2(配信メッセージ)を受け付ける。
 ステップS122において、検証部123は署名12を検証する。
 具体的には、署名12は以下のように検証される。
 まず、抽出部121が、メッセージ2から組データ12(配信データ)と署名12とを抽出する。
 次に、算出部122が、組データ12を入力としてダイジェスト関数を実行することによって、組データ12のダイジェスト値を算出する。
 次に、検証部123が、公開鍵2を用いて署名12を復号することによって、署名12の復号値を算出する。
 そして、検証部123が、組データ12のダイジェスト値を署名12の復号値と比較する。
 組データ12のダイジェスト値が署名12の復号値と一致した場合、署名12の検証は成功である。署名12の検証が成功した場合、組データ12の真正性および完全性が担保される。つまり、データ1とデータ2との組の真正性および完全性が担保される。
 署名12の検証が成功した場合、処理はステップS123に進む。
 署名12の検証が失敗した場合、以降の処理は行われない。
 ステップS123において、加工部124はデータ3(加工データ)を生成する。
 具体的には、データ3は以下のように生成される。
 まず、抽出部121が、メッセージ2からデータ2(対象データ)を抽出する。
 そして、加工部124が、ユーザ3の操作に従ってデータ2を加工することによって、データ3を生成する。
 ステップS124において、署名部125は署名23を生成する。
 具体的には、署名23は以下のように生成される。
 まず、算出部122が、データ2(対象データ)を入力としてダイジェスト関数を実行することによって、ダイジェスト値2を算出する。
 次に、算出部122が、組データ23(ダイジェスト値2およびデータ3)を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 そして、署名部125が、秘密鍵3を用いて組データ23のダイジェスト値を暗号化することによって、署名23を生成する。
 署名23は、組データ23の真正性および完全性を検証することを可能にする。つまり、署名23は、データ2とデータ3との組の真正性および完全性を検証することを可能にする。
 ステップS125において、メッセージ生成部126は、組データ23と署名23とを用いて、メッセージ3(加工メッセージ)を生成する。
 メッセージ3は、組データ23と署名23とを含んだメッセージである。
 ステップS126において、配信部129Sはメッセージ3を配信する。メッセージ3は装置Uに配信される。
 次に、装置Uが以下のように動作する。装置Uの動作を図8に基づいて説明する。
 ステップS131において、受付部129Rはメッセージ3(配信メッセージ)を受け付ける。
 ステップS132において、検証部123は署名23を検証する。
 具体的には、署名23は以下のように検証される。
 まず、抽出部131が、メッセージ3から組データ23(配信データ)と署名23とを抽出する。
 次に、算出部132が、組データ23を入力としてダイジェスト関数を実行することによって、組データ23のダイジェスト値を算出する。
 次に、検証部133が、署名23を公開鍵3を用いて復号することによって、署名23の復号値を算出する。
 そして、検証部133が、組データ23のダイジェスト値を署名23の復号値と比較する。
 組データ23のダイジェスト値が署名23の復号値と一致した場合、署名23の検証は成功である。署名23の検証が成功した場合、組データ23の真正性および完全性が担保される。つまり、データ2とデータ3との組の真正性および完全性が担保される。
 署名23の検証が成功した場合、処理はステップS133に進む。
 署名23の検証が失敗した場合、以降の処理は行われない。
 ステップS133において、利用部134はデータ3を利用する。
 具体的には、データ3は以下のように利用される。
 まず、抽出部131が、メッセージ3からデータ3(対象データ)を抽出する。
 そして、利用部134が、データ3を用いてデータ処理を行う。
***実施の形態4の補足***
 図13において、実施の形態2と同じく、対象データの代わりに対象データのダイジェスト値を組データに含める形態を説明した。
 但し、実施の形態4は、実施の形態3と同じく、対象データの代わりに配信データのダイジェスト値を組データに含める形態であってもよい(図14参照)。
***実施の形態4の実施例***
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに適用することが可能である。
 メッセージ配信システム100は、ダイナミックマップを配信するためのシステムに以下のように適用される。
 メッセージ配信システム100は、メッセージ生成装置110(装置0)と2つのメッセージ加工装置120(装置1および装置2)とメッセージ利用装置130(装置U)とを備える。
 装置0は、地図管理装置である。データ0は、基盤地図情報である。
 装置1は、地図会社装置である。データ1は、地図会社データである。
 装置2は、自動車会社装置である。データ2は、自動車会社データである。
 装置Uは、自動運転車両である。
***実施の形態4の効果***
 実施の形態4では、メインCAの認証の下でサブCAが設けられる。
 そのため、秘密鍵の配付に伴うリスクを避けてシステムを構築することができる。また、鍵ペアの配布に伴うメインCAの負荷を低減できる。
 サブCAは自由に鍵ペアを生成することができる。
 そのため、各装置が属する機関は、自らのサービス区分に沿ったきめ細やかな運用を行うことができる。例えば、各機関は、生成したデータの配布先が複数ある場合に配布先ごとに鍵ペアを生成したり、生成したデータの種類が複数ある場合にデータごとに鍵ペアを生成することで、自らのサービス区分に応じたデータの管理や完全性確認のための管理をすることができる。
***実施の形態の補足***
 メッセージの配信は、通信による配信と人手による配信とのいずれであってもよい。
 つまり、メッセージは、ネットワークを介して装置間で通信されてもよいし、人手によって各装置に対して入出力されてもよい。
 メッセージ加工装置120は、複数のコンピュータで構成されてもよい。
 例えば、実施の形態4におけるメッセージ加工装置120が、第1コンピュータと第2コンピュータとで構成されてもよい。第1コンピュータは、抽出部121と算出部122と検証部123と加工部124と署名部125とメッセージ生成部126とを実現する。第2コンピュータは鍵生成部127を実現する。
 図15に基づいて、メッセージ生成装置110のハードウェア構成を説明する。
 メッセージ生成装置110は処理回路991を備える。
 処理回路991は、データ生成部111と算出部112と署名部113とメッセージ生成部114と認証部115と記憶部119Mとを実現するハードウェアである。
 処理回路991は、専用のハードウェアであってもよいし、メモリ912に格納されるプログラムを実行するプロセッサ911であってもよい。
 処理回路991が専用のハードウェアである場合、処理回路991は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
 メッセージ生成装置110は、処理回路991を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路991の役割を分担する。
 処理回路991において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路991はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 図16に基づいて、メッセージ加工装置120のハードウェア構成を説明する。
 メッセージ加工装置120は処理回路992を備える。
 処理回路992は、抽出部121と算出部122と検証部123と加工部124と署名部125とメッセージ生成部126と鍵生成部127と記憶部129Mとを実現するハードウェアである。
 処理回路992は、専用のハードウェアであってもよいし、メモリ922に格納されるプログラムを実行するプロセッサ921であってもよい。
 処理回路992が専用のハードウェアである場合、処理回路992は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 メッセージ加工装置120は、処理回路992を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路992の役割を分担する。
 処理回路992において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路992はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 図17に基づいて、メッセージ利用装置130のハードウェア構成を説明する。
 メッセージ利用装置130は処理回路993を備える。
 処理回路993は、抽出部131と算出部132と検証部133と利用部134と記憶部139Mとを実現するハードウェアである。
 処理回路993は、専用のハードウェアであってもよいし、メモリ932に格納されるプログラムを実行するプロセッサ921であってもよい。
 処理回路993が専用のハードウェアである場合、処理回路993は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 メッセージ利用装置130は、処理回路993を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路993の役割を分担する。
 処理回路993において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路993はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
 100 メッセージ配信システム、110 メッセージ生成装置、111 データ生成部、112 算出部、113 署名部、114 メッセージ生成部、115 認証部、119M 記憶部、119R 受付部、119S 配信部、120 メッセージ加工装置、121 抽出部、122 算出部、123 検証部、124 加工部、125 署名部、126 メッセージ生成部、127 鍵生成部、129M 記憶部、129R 受付部、129S 配信部、130 メッセージ利用装置、131 抽出部、132 算出部、133 検証部、134 利用部、139M 記憶部、139R 受付部、911 プロセッサ、912 メモリ、913 補助記憶装置、914 入出力インタフェース、921 プロセッサ、922 メモリ、923 補助記憶装置、924 入出力インタフェース、931 プロセッサ、932 メモリ、933 補助記憶装置、934 入出力インタフェース、991,992,993 処理回路。

Claims (17)

  1.  配信メッセージを受け付ける受付部と、
     前記配信メッセージから加工の対象となる対象データを抽出する抽出部と、
     前記対象データを加工することによって加工データを生成する加工部と、
     前記対象データと前記加工データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備えるメッセージ加工装置。
  2.  配信メッセージを受け付ける受付部と、
     前記配信メッセージから加工の対象となる対象データを抽出する抽出部と、
     前記対象データを加工することによって加工データを生成する加工部と、
     前記対象データのダイジェスト値を算出する算出部と、
     前記対象データのダイジェスト値と前記加工データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備えるメッセージ加工装置。
  3.  配信メッセージを受け付ける受付部と、
     前記配信メッセージから加工の対象となる対象データを抽出する抽出部と、
     前記対象データを加工することによって加工データを生成する加工部と、
     前記配信メッセージに含まれるデータであって前記対象データを含んだデータである配信データのダイジェスト値を算出する算出部と、
     前記配信データのダイジェスト値と前記加工データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備えるメッセージ加工装置。
  4.  前記配信メッセージは、前記対象データを含んだ配信データと前記配信データに対する署名とを含み、
     前記メッセージ加工装置は、前記配信データに対する署名を検証する検証部を備え、
     前記加工部は、前記配信データに対する署名の検証が成功した場合に前記加工データを生成する
    請求項1から請求項3のいずれか1項に記載のメッセージ加工装置。
  5.  前記加工メッセージを配信する配信部を備える
    請求項1から請求項4のいずれか1項に記載のメッセージ加工装置。
  6.  前記メッセージ加工装置は、前記加工メッセージの配信先に配布される公開鍵と前記公開鍵に対応する秘密鍵とを生成する鍵生成部を備え、
     前記署名部は、生成された秘密鍵を用いて前記組データに対する署名を生成する
    請求項1から請求項5のいずれか1項に記載のメッセージ加工装置。
  7.  複数のコンピュータで構成されたことを特徴とする請求項1から請求項6のいずれか1項に記載のメッセージ加工装置。
  8.  地図会社装置に配信されるメッセージであって基盤地図情報が含まれるメッセージである配信メッセージを生成するメッセージ生成部を備え、
     前記地図会社装置が、前記基盤地図情報を加工することによって地図会社データを生成し、前記基盤地図情報と前記地図会社データとを含んだ組データに対する署名を生成し、前記組データと前記組データに対する署名とを含んだ加工メッセージを生成する
    ことを特徴とする地図管理装置。
  9.  地図会社装置に配信されるメッセージであって基盤地図情報が含まれるメッセージである配信メッセージを生成するメッセージ生成部を備え、
     前記地図会社装置が、前記基盤地図情報を加工することによって地図会社データを生成し、前記基盤地図情報のダイジェスト値を算出し、前記基盤地図情報のダイジェスト値と前記地図会社データとを含んだ組データに対する署名を生成し、前記組データと前記組データに対する署名とを含んだ加工メッセージを生成する
    ことを特徴とする地図管理装置。
  10.  前記加工メッセージの配信先に配布される公開鍵と前記公開鍵に対応する秘密鍵とを生成する鍵生成部を備える
    請求項8または請求項9に記載の地図管理装置。
  11.  基盤地図情報が含まれる配信メッセージを受け付ける受付部と、
     前記配信メッセージから前記基盤地図情報を抽出する抽出部と、
     前記基盤地図情報を加工することによって地図会社データを生成する加工部と、
     前記基盤地図情報と前記地図会社データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備える地図会社装置。
  12.  基盤地図情報が含まれる配信メッセージを受け付ける受付部と、
     前記配信メッセージから前記基盤地図情報を抽出する抽出部と、
     前記基盤地図情報を加工することによって地図会社データを生成する加工部と、
     前記基盤地図情報のダイジェスト値を算出する算出部と、
     前記基盤地図情報のダイジェスト値と前記地図会社データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備える地図会社装置。
  13.  前記地図会社装置は、前記加工メッセージの配信先に配布される公開鍵と前記公開鍵に対応する秘密鍵とを生成する鍵生成部を備え、
     前記署名部は、生成された秘密鍵を用いて前記組データに対する署名を生成する
    請求項11または請求項12に記載の地図会社装置。
  14.  基盤地図情報を加工して生成された地図会社データが含まれる配信メッセージを受け付ける受付部と、
     前記配信メッセージから前記地図会社データを抽出する抽出部と、
     前記地図会社データを加工することによって自動車会社データを生成する加工部と、
     前記地図会社データと前記自動車会社データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備える自動車会社装置。
  15.  基盤地図情報を加工して生成された地図会社データが含まれる配信メッセージを受け付ける受付部と、
     前記配信メッセージから前記地図会社データを抽出する抽出部と、
     前記地図会社データを加工することによって自動車会社データを生成する加工部と、
     前記地図会社データのダイジェスト値を算出する算出部と、
     前記地図会社データのダイジェスト値と前記自動車会社データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備える自動車会社装置。
  16.  基盤地図情報のダイジェスト値と前記基盤地図情報を加工して生成された地図会社データとを含んだ配信データが含まれる配信メッセージを受け付ける受付部と、
     前記配信メッセージから前記地図会社データを抽出する抽出部と、
     前記地図会社データを加工することによって自動車会社データを生成する加工部と、
     前記配信データのダイジェスト値を算出する算出部と、
     前記配信データのダイジェスト値と前記自動車会社データとを含んだ組データに対する署名を生成する署名部と、
     前記組データと前記組データに対する署名とを含んだ加工メッセージを生成するメッセージ生成部と
    を備える自動車会社装置。
  17.  前記自動車会社装置は、前記加工メッセージの配信先に配布される公開鍵と前記公開鍵に対応する秘密鍵とを生成する鍵生成部を備え、
     前記署名部は、生成された秘密鍵を用いて前記組データに対する署名を生成する
    請求項14から請求項16のいずれか1項に記載の自動車会社装置。
PCT/JP2018/006072 2017-05-11 2018-02-20 メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置 WO2018207424A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019516897A JPWO2018207424A1 (ja) 2017-05-11 2018-02-20 メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017095072 2017-05-11
JP2017-095072 2017-05-11

Publications (1)

Publication Number Publication Date
WO2018207424A1 true WO2018207424A1 (ja) 2018-11-15

Family

ID=64104543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/006072 WO2018207424A1 (ja) 2017-05-11 2018-02-20 メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置

Country Status (2)

Country Link
JP (1) JPWO2018207424A1 (ja)
WO (1) WO2018207424A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020170685A1 (ja) * 2019-02-22 2020-08-27 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2021170718A3 (en) * 2020-02-25 2021-12-09 Tomtom Global Content B.V. Digital map data with enhanced functional safety

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224896A (ja) * 1992-12-03 1994-08-12 Hitachi Ltd 電子化文書処理システムおよびディジタル署名の生成方法
JP2003216601A (ja) * 2002-01-23 2003-07-31 Dainippon Printing Co Ltd 電子文書処理装置及びコンピュータプログラム
JP2004151758A (ja) * 2002-10-28 2004-05-27 Dainippon Printing Co Ltd 利用者端末及びプログラム並びに電子フォームプログラム
JP2005210277A (ja) * 2004-01-21 2005-08-04 Ntt Docomo Inc 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
JP2008175648A (ja) * 2007-01-17 2008-07-31 Aisin Aw Co Ltd ナビゲーション装置、ナビゲーション方法、情報配信システム及び情報配信方法
JP2011071771A (ja) * 2009-09-25 2011-04-07 Fujitsu Ltd コンテンツ処理装置、コンテンツの部分完全性保証のためのプログラム
JP2011078121A (ja) * 2010-11-24 2011-04-14 Fujitsu Ltd 電子画像データ検証プログラム、電子画像データ検証方法及び電子画像データ検証装置
JP2015220515A (ja) * 2014-05-15 2015-12-07 三菱電機株式会社 位置情報検証装置、中継装置、移動体装置、位置情報検証プログラム、中継プログラムおよび移動体プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06224896A (ja) * 1992-12-03 1994-08-12 Hitachi Ltd 電子化文書処理システムおよびディジタル署名の生成方法
JP2003216601A (ja) * 2002-01-23 2003-07-31 Dainippon Printing Co Ltd 電子文書処理装置及びコンピュータプログラム
JP2004151758A (ja) * 2002-10-28 2004-05-27 Dainippon Printing Co Ltd 利用者端末及びプログラム並びに電子フォームプログラム
JP2005210277A (ja) * 2004-01-21 2005-08-04 Ntt Docomo Inc 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
JP2008175648A (ja) * 2007-01-17 2008-07-31 Aisin Aw Co Ltd ナビゲーション装置、ナビゲーション方法、情報配信システム及び情報配信方法
JP2011071771A (ja) * 2009-09-25 2011-04-07 Fujitsu Ltd コンテンツ処理装置、コンテンツの部分完全性保証のためのプログラム
JP2011078121A (ja) * 2010-11-24 2011-04-14 Fujitsu Ltd 電子画像データ検証プログラム、電子画像データ検証方法及び電子画像データ検証装置
JP2015220515A (ja) * 2014-05-15 2015-12-07 三菱電機株式会社 位置情報検証装置、中継装置、移動体装置、位置情報検証プログラム、中継プログラムおよび移動体プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020170685A1 (ja) * 2019-02-22 2020-08-27 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11943339B2 (en) 2019-02-22 2024-03-26 Sony Group Corporation Information processing apparatus, information processing method, and program
JP7476876B2 (ja) 2019-02-22 2024-05-01 ソニーグループ株式会社 情報処理装置、情報処理方法、及びプログラム
WO2021170718A3 (en) * 2020-02-25 2021-12-09 Tomtom Global Content B.V. Digital map data with enhanced functional safety

Also Published As

Publication number Publication date
JPWO2018207424A1 (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
CN110692228B (zh) 基于区块链中智能合约保护交易活动敏感数据的方法和设备
ES2872101T3 (es) Gestión de claves distribuidas para entornos de ejecución confiables
CN111542820B (zh) 用于可信计算的方法和装置
US9749139B2 (en) Digital certificate issuer-correlated digital signature verification
EP3334085B1 (en) Management device, management system, key generation device, key generation system, key management system, vehicle, management method, key generation method, and computer program
US10931459B2 (en) Onboard computer system, vehicle, management method, and computer program
CN105701372A (zh) 一种区块链身份构建及验证方法
CN110785783A (zh) 对用于区块链***的签名验证进行测试的方法和设备
US10326743B2 (en) Secured data transmission using identity-based cryptography
KR20200105743A (ko) 차량용 업데이트 시스템 및 제어 방법
CN110731073B (zh) 在区块链***中的节点之间建立通信的方法和设备
WO2018207424A1 (ja) メッセージ加工装置、地図管理装置、地図会社装置および自動車会社装置
CN111386673A (zh) 用于基于区块链***的加密密钥管理的方法和设备
CN111314172A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
CN116433425A (zh) 一种基于联盟链的立案方法及相关设备
US20230179412A1 (en) Private key creation using location data
CN116232593A (zh) 多密码模组敏感数据分类分级与保护方法、设备及***
CN107409044B (zh) 针对具有可替换部件的机器的数字标识和授权
CN113326535B (zh) 一种信息验证方法及装置
CN113079511A (zh) 车辆之间信息共享的方法、设备、车辆和存储介质
CN115801281A (zh) 授权方法、电子设备、计算机可读存储介质
KR102025808B1 (ko) 차량용 제어 유닛의 업데이트 방법 및 차량
JP7343035B2 (ja) データ配信装置及び方法、データ要求装置及び方法、データ配信システム、並びに、プログラム
JP2019036903A (ja) 送信装置、受信装置、地図編集装置及び車両制御装置
KR20170139709A (ko) 클라우드 환경에서 그룹 서명자용 래티스 기반 선형 준동형 서명 방법 및 장치

Legal Events

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

Ref document number: 18798490

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019516897

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18798490

Country of ref document: EP

Kind code of ref document: A1