WO2021075475A1 - デバイス管理システム - Google Patents
デバイス管理システム Download PDFInfo
- Publication number
- WO2021075475A1 WO2021075475A1 PCT/JP2020/038838 JP2020038838W WO2021075475A1 WO 2021075475 A1 WO2021075475 A1 WO 2021075475A1 JP 2020038838 W JP2020038838 W JP 2020038838W WO 2021075475 A1 WO2021075475 A1 WO 2021075475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- managed
- management system
- manufacturing
- update
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10P—GENERIC PROCESSES OR APPARATUS FOR THE MANUFACTURE OR TREATMENT OF DEVICES COVERED BY CLASS H10
- H10P95/00—Generic processes or apparatus for manufacture or treatments not covered by the other groups of this subclass
Definitions
- the present invention relates to a device management system.
- Patent Document 1 describes that the management of semiconductor devices can be easily realized by providing minute identification information on a semiconductor chip or the like. In the technical field of using various devices connected via communication, it is desired to be able to accurately determine whether or not the device is reliable.
- the information related to the manufacturing process of the device provided with the storage area for holding the identification information and the manufacturing time information including the identification information and the information related to the activation process of the device and the identification information can be obtained.
- a first information processing device that stores at least one piece of information, including start-up information and update-time information that is information related to a device update process and includes identification information, in a storage unit, and manufacturing stored in the storage unit. Of at least one piece of time information, startup information, and update time information, at least one piece of information including identification information read from the managed storage area is read, and the read information is used to trust the managed device.
- a device management system including a second information processing device for determining the sex is provided.
- FIG. 1 is a diagram showing a device management system according to an embodiment.
- the symbols Da, Db, and Dc are devices to be managed, respectively.
- the device management system 1 stores information (appropriately referred to as trust information) used for evaluating the reliability of the device to be managed in the storage unit DL1.
- the trust information includes at least one of manufacturing information, startup information, and update information of the managed device.
- the device management system 1 includes a storage unit DL1, a network 3 connected to the storage unit DL1, and an information processing device (described later) that stores trust information in the storage unit DL1 via the network 3.
- the managed device has identification information for each device, and the manufacturing information, the startup information, and the update information are associated with the device identification information, respectively.
- the identification information will be described as an ID as appropriate.
- the manufacturing information corresponding to the first device to be managed includes the ID of the first device and can be distinguished from the manufacturing information corresponding to the second device different from the first device.
- the startup information corresponding to the first device to be managed includes the ID of the first device and can be distinguished from the startup information corresponding to the second device different from the first device.
- the update information corresponding to the first device to be managed includes the ID of the first device and can be distinguished from the update information corresponding to the second device different from the first device.
- the storage unit DL1 is, for example, a distributed ledger, but may be a storage unit (for example, centralized storage) in a form other than the distributed ledger. In the following description, the storage unit DL1 is appropriately referred to as a distributed ledger DL1.
- reference numeral TD is a terminal constituting a distributed ledger.
- the terminal TD is, for example, a computer.
- the terminal TD includes, for example, a processing unit (processor) such as a CPU, a volatile memory such as RAM, a non-volatile storage device such as an HDD or SSD, and a communication unit conforming to a predetermined communication standard such as LAN.
- the terminal TD is connected to the network 3.
- the device management system 1 reads the trust information from the storage unit (for example, the distributed ledger DL1).
- the device management system 1 evaluates the reliability of the managed device by using the read trust information.
- the process of evaluating the reliability of a device is called an audit.
- a device evaluated as reliable by an audit is referred to as a "trusted device” or a “trusted device” as appropriate.
- the device management system 1 provides a secure system, for example, by limiting the use of devices that have been assessed as unreliable by an audit.
- reference numeral FA is a factory that manufactures device Da.
- the device Da is, for example, a computer including a plurality of parts.
- the device Da is, for example, a device that operates independently.
- the device Da may be a component that constitutes a device that operates independently.
- the device Da may be an unfinished device in the process of being manufactured.
- the device Da may be a finished product and a device to be inspected.
- the factory FA includes a control device FA1 and a processing device FA2.
- the processing device FA2 is a device that performs processing on the device Da.
- the processing device FA2 includes, for example, a robot that mounts a component on a device Da in the manufacturing process.
- the processing device FA2 may include an inspection device that inspects the device Da after completion.
- the factory FA may include a plurality of processing devices. In FIG. 1, one processing device FA2 is typically illustrated.
- the control device FA1 controls each part of the factory FA.
- the control device FA1 controls the processing device FA2 and causes the processing device FA2 to execute a predetermined process for the device Da.
- the control device FA1 is an example of an information processing device that stores manufacturing information in the distributed ledger DL1.
- the control device FA1 specifies the ID of the device Da to be processed by the processing device FA2.
- the device Da has a non-rewritable storage area, which stores the ID of the device Da.
- the ID of the device Da may be written in the storage area by the processing device FA2.
- the control device FA1 generates manufacturing time information of the device Da after the processing by the processing device FA2 is completed for the device Da.
- the manufacturing information is, for example, information generated before the device is shipped and is not updated after the device is shipped. Information indicating the state of the device after shipment is included in, for example, start-up information or update-time information.
- the manufacturing information of the device Da includes, for example, the ID of the device Da and the information of the device related to the manufacturing of the device Da.
- Devices related to the manufacture of the device Da include, for example, a component of the device Da, a processing device FA2 that has processed the device Da, and a control device FA1 that has processed the device Da.
- the device information related to the manufacture of the device Da includes, for example, the ID of the component of the device Da, the ID of the processing device FA2, and the ID of the control device FA1.
- the control device FA1 is communicably connected to the terminal TD constituting the distributed ledger DL1 via the network 3.
- the control device FA1 transmits the manufacturing information of the device Da.
- the terminal TD constituting the distributed ledger DL1 stores the manufacturing information transmitted by the control device FA1.
- the first information processing device includes the manufacturing device used for manufacturing the device or the device communicably connected to the manufacturing device, and stores the manufacturing time information generated before the device is shipped. You may memorize it in.
- FIG. 2 is a diagram showing an example of a process of storing trust information at the time of manufacturing.
- the control device FA1 of the factory FA allocates the identification information to the device Da.
- the processing device FA2 is controlled by the control device FA1 and writes the identification information allocated in step S11 to the storage area of the device Da.
- the control device FA1 acquires the identification information of the component to be mounted on the device Da.
- step S14 the processing device FA2 is controlled by the control device FA1 and mounts the components on the device Da.
- step S15 the control device FA1 generates manufacturing time information of the device Da.
- the control device FA1 includes the device Da identification information assigned in step S11, the component identification information acquired in step S13, and the devices related to the manufacture of the device Da (eg, control device FA1, processing device FA2).
- the identification information and the manufacturing information are generated as a set.
- step S16 the control device FA1 stores the manufacturing time information, which is the manufacturing time trust information, in the storage unit DL1.
- the control device FA1 is, for example, when information related to the manufacture of the device is generated (eg, when a component is mounted), this information (eg, the ID of the mounted component, the process of mounting the component).
- the ID of the device and the ID of the manufacturing line on which the parts are mounted) are associated with the ID of this device to generate manufacturing information.
- the control device FA1 detects the generation of information related to the manufacture of the device, the control device FA1 generates the manufacturing time information.
- the control device FA1 executes a process of making changes (eg, mounting parts, writing data) to a device in a manufacturing process including inspection, information related to the manufacturing of the device is generated. Detect (eg, judge).
- the control device FA1 causes a processing device to execute a process of manufacturing or inspecting a device according to a predetermined procedure, and generates manufacturing information by using the execution of this process as a trigger.
- the device Db is a device controlled by the host device MD.
- the device Db is, for example, an edge device in an IoT system.
- the device Db includes, for example, at least one of a sensor, an actuator, and a processor.
- the device Db is communicably connected to the host device MD via the network 3.
- the host device MD transmits a command to the device Db via the network 3.
- the device Db executes the operation specified in the command transmitted from the host device MD.
- the device Db may be a device that operates continuously or a device that operates intermittently.
- the device Db operates intermittently.
- the device Db has a first mode that performs a predetermined operation and a second mode that saves more power than the second mode.
- the device Db waits in the second mode and transitions to the first mode by a predetermined trigger.
- the transition from the second mode to the first mode corresponds to, for example, booting the device.
- the transition from the first mode to the second mode corresponds to, for example, shutting down the device.
- the device Db is an example of an information processing device that stores startup information in the distributed ledger DL1.
- the device Db includes a non-rewritable storage area and a processing unit. This storage area stores a program that causes the processing unit to execute a predetermined process.
- the processing unit of the device Db scans the device configuration of the device Db at the time of starting the device Db according to the program stored in the storage area.
- the device configuration includes one or both of a hardware configuration and a software configuration. For example, the device Db compares the current scan result with the previous scan result, and if the current scan result is different from the previous scan result, the device Db generates start-up information.
- the processing unit of the device Db executes a process of generating startup information according to a program stored in a non-rewritable storage area.
- the startup information includes, for example, the ID of the added or deleted part when the hardware configuration is changed.
- the startup information includes, for example, information (eg, hash value) that identifies the file used for the change when the software configuration is changed.
- Device Db transmits the generated startup information via the network.
- the processing unit of the device Db transmits the startup information according to the program stored in the non-rewritable storage area.
- the terminal TD constituting the distributed ledger DL1 stores the startup information transmitted by the device Db.
- the device Db may transmit the startup information to the terminal TD, or may transmit the startup information to the host device MD.
- the host device MD may receive the startup information transmitted by the device Db and store the startup information in the terminal TD.
- the first information processing apparatus may include the device to be managed, generate startup information when the own device is activated, and store the generated startup information in the storage unit. Note that the device Db does not have to generate startup information.
- the host device MD may cause the device Db to scan the device configuration and generate startup information of the device Db based on the scan result.
- the host device MD has a non-rewritable storage area, and generates start-up information according to a program stored in this storage area.
- the host device MD stores the startup information in an external storage unit (for example, a storage unit in the terminal of the node of the distributed ledger) according to the program stored in the non-rewritable storage area.
- the host device MD is an example of an information processing device that stores update information in the distributed ledger DL1.
- the host device MD updates a program (for example, firmware) stored in the device Db to be controlled.
- the host device MD transmits a file containing the update program that causes the device Db to execute the program update.
- the device Db executes the update process according to the received update program.
- the device Db notifies the host device MD of the completion of the update process.
- the host device MD receives the notification of the completion of the update process and generates the update time information.
- the update information includes, for example, the ID of the device Db and information (eg, hash value) that identifies the file used for the update.
- the host device MD has a non-rewritable storage area, and generates update information according to a program stored in this storage area.
- the host device MD may generate update information before the update process is executed on the device Db or in parallel with the update process.
- the host device MD may generate update information including the information for identifying the file including the update program and the ID of the device Db at the stage when the schedule for causing the device Db to execute the update process is registered.
- the host device MD transmits the generated update information via the network 3.
- the terminal TD constituting the distributed ledger DL1 stores the update information transmitted by the host device MD.
- the host device MD stores the update information in an external storage unit (for example, a storage unit in the terminal of the node of the distributed ledger) according to the program stored in the non-rewritable storage area.
- the first information processing device includes a higher-level device that controls the device to be managed, and based on the information acquired from the device to be managed, one or both of the startup information and the update information can be obtained. It may be stored in the storage unit.
- the update information may be generated by the device Db.
- the processing unit of the device Db may generate update information according to a program stored in a non-rewritable storage area.
- the processing unit of the device Db may generate update information before executing the update process.
- the device Db may generate update information including the file identification information and the device Db ID after receiving the file including the update program and before starting the update process.
- the source of the update program may be a higher-level device MD or a device different from the higher-level device MD.
- the device Db may store the generated update information in the terminal TD.
- the processing unit of the device Db may store the update information in the terminal TD according to the program stored in the non-rewritable storage area.
- the processing unit of the device Db may store the update information in the terminal TD before starting the update process.
- the first information processing device may include the device to be managed, generate update information when updating its own device, and store the generated update information in the storage unit.
- the device Db may transmit the generated update information to the host device MD, and the host device MD may store the received update information in the terminal TD.
- the processing unit of the device Db may transmit the update information according to the program stored in the non-rewritable storage area.
- the processing unit of the device Db may transmit the update time information before starting the update process.
- Each of the above programs may be stored in a rewritable storage area.
- the device ID may be stored in a rewritable storage area.
- the device may include a device body including a processing unit and a storage area externally attached to the device body. This storage area may be, for example, a part of a circuit (eg, RF tag, NFC tag) that receives an electromagnetic wave from the outside, generates electricity by electromagnetic dielectric, and outputs (eg, transmits) an electric signal by the electric power.
- a circuit eg, RF tag, NFC tag
- an RF tag may be bonded to the outside of the device body, and the RF tag may transmit an electric signal including the ID of the device.
- the force for joining the RF tag and the device body may be stronger than the force for breaking the circuit.
- the force destroys the circuit, makes the device ID unusable, and prevents the device ID from being misused. ..
- the device provided with the RF tag is a component.
- the device on which this component is mounted may be provided with an RF reader, for example, and may detect at least a part of the hardware configuration of its own device by acquiring an ID transmitted from the component by the RF reader.
- the power source that supplies power when the device operates may supply power to the RF reader.
- the device including the RF reader may transmit the ID acquired from the component to an external device (eg, higher-level device MD).
- FIG. 3 is a diagram showing a process of storing trust information at the time of startup or update.
- the processing unit of the device Db scans the device configuration of the device Db.
- the processing unit of the device Db determines whether or not there is a change in the configuration. For example, when the current scan result is different from the previous scan result, the processing unit of the device Db determines that the configuration has been changed (step S22; Yes).
- step S22 When it is determined that the configuration has been changed (step S22; Yes), the processing unit of the device Db generates trust information in step S23.
- the processing unit of the device Db When the process of step S21 is executed at the time of starting the device Db, the processing unit of the device Db generates the start-up information as trust information in step S23.
- the processing unit of the device Db When the process of step S21 is executed at the time of updating the device Db, the processing unit of the device Db generates the update information as trust information in step S23.
- the processing unit of the device Db is used, for example, to change the ID of the device Db, the ID when there is a hardware element (eg, a part) added or deleted by the change, and the software configuration when the software configuration is changed.
- Trust information is generated by combining the information that identifies the created file with the information that identifies the file.
- the processing unit of the device Db stores the trust information generated in step S23 in the storage unit DL1 in step S24. At least a part of the processes from steps S21 to S24 may be executed by a device different from the device Db (eg, higher-level device MD).
- the device management system 1 includes an audit device CD and a storage unit DL2.
- the audit device CD is an example of an information processing device that stores trust information in a storage unit.
- the audit device CD executes an audit using the trust information stored in the distributed ledger DL1 and generates trust information indicating the audit result.
- trust information indicating the audit result is referred to as trust information at the time of audit as appropriate.
- the trust information at the time of audit is, for example, information (eg, white list) in which information indicating whether or not the managed device is reliable is associated with the device ID (eg, white list).
- the audit device CD stores the generated trust information in a storage unit DL2 different from the distributed ledger DL1.
- the storage unit DL2 is, for example, a distributed ledger, but may be a storage unit (for example, centralized storage) having a form other than the distributed ledger.
- the storage unit DL2 is appropriately referred to as a distributed ledger DL2.
- the storage destination of the trust information at the time of audit may be the same as the storage destination of at least a part of the manufacturing information, the startup information, and the updating information.
- FIG. 4 is a diagram showing a process of storing trust information at the time of audit. For each part of the device management system 1, refer to FIG. 1 as appropriate.
- the auditing device CD identifies the ID of the audited device.
- the device to be audited is the device Da manufactured in the factory FA.
- the audit device CD identifies the ID of the device Da, for example, by acquiring the ID read from the storage area of the device Da to be audited from the device Da.
- the audit device CD may specify the ID of the device Da by another method.
- the auditing device CD may specify the ID of the device Da by designating the ID of the device Da from the device connected to the device Da.
- step S32 the audit device CD acquires the trust information of the device to be audited.
- the auditing apparatus CD acquires the trust information of the device Da by searching the trust information including the ID specified in step S31 in the trust information stored in the distributed ledger DL1.
- the audit device CD acquires the manufacturing time information of the device Da as the trust information of the device Da.
- the audit device CD identifies the identification information of the device (appropriately referred to as the related device) related to the device Da to be audited.
- the manufacturing information includes the ID of the control device FA1 of the factory FA, the ID of the processing device FA2, and the parts of the device Da as the IDs of the devices related to the device Da.
- the ID of the device is included.
- the audit device CD identifies the ID of the related device by referring to the manufacturing information.
- step S33 the audit device CD acquires the trust information of the related device in step S34.
- the related devices are parts of the control device FA1, the processing device FA2, and the device Da of the factory FA, and the audit device CD has been audited for these devices.
- step S34 the audit device CD acquires the trust information at the time of auditing of the control device FA1 from the distributed ledger DL2 by using the ID of the control device FA1 specified in step S33.
- step S35 the audit device CD selects one of the devices whose ID is specified in step S33 (eg, control device FA1) as the related device, and determines whether or not this device is reliable.
- the audit device CD refers to the trust information at the time of auditing of the control device FA1 acquired in step S34, and determines whether or not the control device FA1 is reliable.
- the audit device CD includes information that the control device FA1 is a reliable device in the trust information at the time of audit, or information that the control device FA1 is an unreliable device in the trust information at the time of audit. If not, the device is determined to be reliable (step S35; Yes).
- step S35 when the trust information about the related device does not exist, when the trust information at the time of audit contains information that the control device FA1 is an unreliable device, or when the trust information at the time of audit contains the information that the control device FA1 is used. If the information indicating that the device is reliable is not included, the device is determined to be unreliable (step S35; No).
- step S35 determines whether or not there is another related device in step S36. If the process of step S35 is not executed for at least one of the devices whose ID is specified in step S33, the audit device CD determines that there are other related devices (step S36; Yes). When the audit device CD determines that there is another related device (step S36; Yes), the audit device CD returns to step S34, selects the next device (eg, processing device FA2) whose ID is specified in step S33, and selects this device. Determines if is reliable.
- step S37 the device Da to be audited is used as trust information at the time of audit.
- the audit device CD generates trust information at the time of audit by combining the ID of the device Da to be audited and the information (eg, flag) indicating that the device Da is reliable.
- the audit device CD stores the generated trust information at the time of audit in the distributed ledger DL2.
- the audit device CD determines that the related device is unreliable for at least one of the related devices (step S35; No).
- the audit device CD performs a series of processes without storing information that the device Da to be audited is reliable. finish.
- the audit device CD determines that the related device is unreliable for at least one of the related devices (step S35; No)
- the audit device CD generates information (eg, blacklist) that the device Da to be audited is unreliable. Then, this information may be stored in a storage unit (eg, distributed ledger DL2).
- the audit device CD identifies the ID of the device Db to be audited.
- the audit device CD may read the ID from the storage area of the device Db, or may acquire the ID of the device Db from the host device MD that controls the device Db.
- the audit device CD acquires update time information as trust information of the device Db to be audited.
- the audit device CD identifies the identification information of the related device related to the device Db to be audited.
- the update information includes the ID of the host device MD related to the update of the device Db as the ID of the related device.
- the device Db to be audited is one of the related devices.
- the audit device CD acquires the trust information of the related device.
- the audit device CD selects the device Db as one of the related devices, and the device Db is before the current update for the device Db, and is after the previous update for the device Db. Get the trust information of.
- the device Db has been updated last time, and then the audit device CD has been audited for the device Db.
- the audit device S34 uses the ID of the device Db specified in step S31 to search the trust information of the device Db at the time of the previous audit from the distributed ledger DL2, and acquires the trust information of the device Db at the time of the previous audit. ..
- step S35 the audit device CD uses the trust information of the device Db at the time of the previous audit to determine whether or not the related device (eg, the device Db before this update) is reliable.
- the auditing apparatus CD determines whether or not there is another related device in step S36.
- the auditing device CD determines that the related device exists (step S36; Yes).
- the audit device CD determines that there is another related device (step S36; Yes)
- the audit device CD returns to step S34 and acquires the trust information of the host device MD as the next related device.
- step S35 the audit device CD determines whether or not the related device (eg, higher-level device MD) is reliable.
- the audit device CD determines that all the related devices are reliable and the file used for updating the device Db to be audited is reliable.
- the audit device CD determines that the updated device Db is reliable.
- the audit device CD stores the updated device Db in a storage unit (eg, distributed ledger DL2) as trust information at the time of this audit, indicating that the device Db to be audited is reliable.
- a storage unit eg, distributed ledger DL2
- the audit device CD if the trust information at the time of the previous audit does not exist for at least one of the device to be audited and the related device, the device that does not have the trust information at the time of the previous audit is used as the second device. Set to the device to be audited. Then, the audit device CD determines whether or not the related devices can be trusted based on the existing information of the manufacturing time information, the startup information, and the updating time information for each of the related devices of the second audit target device. To judge. Then, when the audit device CD determines that all the related devices are reliable, the audit device CD determines that the second audit target device is reliable. The audit device CD supplements the trust information at the time of audit by repeating such processing, and executes an audit on the device to be audited first.
- the device Dc is a device scheduled to be incorporated in a system including the host device MD (eg, an IoT system).
- the host device MD for example, executes a process of incorporating the device Dc into the system after confirming the reliability of the device Dc.
- FIG. 5 is a diagram showing a process of incorporating a device into the system. For each part of the device management system 1, refer to FIG. 1 as appropriate.
- step S41 the host device MD identifies the ID of the device Dc to be incorporated into the system. For example, the host device MD identifies the ID of the device Dc by reading the ID from the storage area of the device Dc.
- step S42 the host device MD acquires the trust information of the device Dc to be incorporated.
- the host device MD uses the ID specified in step S41 to search the trust information at the time of auditing the device Dc in the distributed ledger DL2.
- the host device MD acquires the trust information at the time of auditing the device Dc from the distributed ledger DL2.
- the host device MD uses the ID specified in step S41 to manufacture the device Dc, start-up information, and update the device Dc. Among the information, the trust information stored in the distributed ledger DL1 is searched. When the trust information of the device Dc is stored in the distributed ledger DL1, the host device MD acquires the trust information of the device Dc from the distributed ledger DL1.
- step S43 the host device MD uses the trust information acquired in step S42 to determine whether or not the device Dc to be embedded is reliable. For example, when the host device MD acquires the trust information at the time of audit in step S42, it determines whether or not the device Dc is reliable based on the trust information at the time of audit. The host device MD can trust the device Dc when the trust information at the time of audit contains information that the device Dc can be trusted, or when the trust information at the time of audit does not include the information that the device Dc cannot be trusted. (Step S43; Yes).
- the host device MD acquires existing information among the manufacturing information, the startup information, and the updating information as trust information in step S42, the device Dc is subjected to the same processing as the auditing device CD described with reference to FIG. Perform an audit. If the trust information at the time of auditing the device Dc does not exist, the host device MD requests the audit device CD to perform an audit on the device Dc, and uses the audit result to execute the process of step S43. You may.
- the host device MD determines that the device Dc to be incorporated is reliable (step S43; Yes)
- the host device MD executes a process of incorporating the device Dc into the system in step S44.
- the host device MD determines that the device Dc to be incorporated is unreliable (step S43; No)
- the host device MD ends a series of processes without executing the process of incorporating the device Dc into the system.
- the device management system includes a management device (eg, a higher-level device) that manages a system including a plurality of devices, and the management device determines whether or not the device to be managed is reliable. Based on the result of the determination by the information processing apparatus of the above, it may be determined whether or not to incorporate the device to be managed into the system.
- the device management system 1 of the present embodiment stores, for example, information indicating the reliability of the second device related to the first device in the storage unit. Therefore, the device management system 1 can evaluate the reliability of the first device based on the reliability of the second device. For example, when the device management system 1 determines that all the related devices related to the change of the first device are reliable, the device management system 1 also determines that the first device is also reliable. In this case, the device management system 1 can evaluate the reliability of a plurality of devices in a chained manner. The device management system 1 contributes to easily constructing a secure system, for example, by increasing the number of devices whose reliability has been evaluated.
- the device management system 1 includes one or both of a first information processing device that stores trust information and a second information processing device that reads trust information and determines the reliability of the device.
- the device management system 1 may not include the first information processing device or the second information processing device.
- the device management system 1 includes a first information processing device that stores trust information, and a second information processing device that reads trust information and determines the reliability of the device is an external device of the device management system 1.
- it may be a device that uses the information provided by the device management system 1.
- the device management system 1 includes a second information processing device that reads trust information and determines the reliability of the device, and the first information processing device that stores the trust information is an external device of the device management system 1. It may be a device that provides information to the device management system 1.
- the device management system 1 does not have to include a device different from any of the first information processing device and the second information processing device.
- the device management system 1 may not include one or both of the storage unit DL1 and the storage unit DL2.
- One or both of the storage unit DL1 and the storage unit DL2 may be an external device of the device management system 1 and may be a device that provides information to the device management system 1.
- the device management system 1 does not have to include the audit device CD.
- the device management system 1 does not have to generate trust information at the time of auditing, and in this case, the storage unit DL2 may not be provided.
- the device management system 1 determines whether or not the device is reliable by using the trust information existing among the manufacturing information, the startup information, and the updating information even when the audit device CD is not included. be able to.
- the device management system 1 determines that the device is unreliable when the predetermined information among the manufacturing information, the startup information, and the update information is insufficient, and determines that the device is reliable in other cases. May be good.
- the manufacturing information includes information on the parts of the device to be managed.
- the second information processing device When the second information processing device confirms the reliability (eg, evaluation, judgment) of the managed device using the manufacturing information, for example, the second information processing device acquires the manufacturing information about the managed device from the storage unit. , It is determined whether or not each part is reliable by using the information of the parts included in the manufacturing information. For example, the second information processing apparatus determines that the component is reliable when the ID of the component satisfies a predetermined condition.
- the predetermined condition includes, for example, that the ID of the component to be managed is included in the database in which the ID of the reliable component is registered.
- the database may be, for example, a database in which an inspection organization that inspects whether or not a device meets a predetermined standard registers an ID of a device that meets the standard.
- the second information processing device determines that the device to be managed is reliable, for example, when all the IDs of the parts included in the manufacturing information satisfy a predetermined condition.
- the second information processing apparatus may determine that the device to be managed is unreliable when at least one of the IDs of the parts included in the manufacturing information does not satisfy a predetermined condition.
- the second information processing apparatus externally determines whether or not the parts corresponding to the IDs that do not meet the predetermined conditions are reliable. You may contact us.
- the second processing device may accept input from the owner or user of the managed device for a component corresponding to an ID that does not satisfy a predetermined condition, indicating whether or not the component is reliable. ..
- the second information processing device determines that the managed device can be trusted when the owner or user of the managed device receives an input indicating that the component corresponding to the ID that does not satisfy the predetermined condition is reliable. You may judge.
- the host device MD may determine whether or not the device Db is reliable based on one or both of the startup information and the update information. For example, the host device MD causes the device Db to execute a process of updating the software of the device Db, and the device Db generates one or both of the startup information and the update information. The host device MD compares the hash value assumed from the software provided to the device Db when the device Db updates the software with the hash value included in the startup information or the update information generated by the device Db. The host device MD may determine that the device Db is unreliable when the hash value included in the startup information or the update information generated by the device Db is different from the assumed value. The host device MD may limit the function of the device Db that is determined to be unreliable.
- the host device MD may execute at least one of processes such as not using the information output by the device Db, stopping at least a part of the functions of the device Db, and blocking the device Db from the network.
- the control unit eg, higher-level device
- the update information includes information that identifies an update program file used for device update processing and a hash value of this file.
- the information that identifies the legitimate update file and the information associated with the hash value of this file may be registered in the database in advance.
- a legitimate update is, for example, a program provided by a provider certified by a public authority.
- the second information processing device is included in the update information for the managed device, and the information associated with the information that identifies the update program file used for the update process and the hash value of this file is the above database. If it is registered in, it may be determined that the update process executed on the managed device is a regular process. In the second information processing device, if it is determined that the managed device before the update process is reliable and the update process is determined to be a regular process, the managed device after the update process is reliable. May be determined.
- the first information processing apparatus includes, for example, a computer system.
- the first information processing apparatus includes a storage unit and a processing unit, reads a program stored in the storage unit, and the processing unit executes various processes according to the program.
- the second information processing device includes, for example, a computer system.
- the second information processing apparatus includes a storage unit and a processing unit, reads a program stored in the storage unit, and the processing unit executes various processes according to the program.
- FIG. 6 is a diagram showing a device management system according to the embodiment.
- the device management system 1 includes a plurality of information processing devices 2 and a network 3. Each of the plurality of information processing devices 2 is connected to the information processing devices 2 other than the own device among the plurality of information processing devices 2 via the network 3.
- the network 3 is, for example, a P2P (peer-to-peer) type network.
- the network 3 may be a wired network or a wireless network.
- the network 3 is, for example, an internet network.
- the device management system 1 uses a distributed ledger technology (Distributed Ledger Technology). Each of the plurality of information processing devices 2 constitutes a node in the distributed ledger technology.
- the device management system 1 of the present embodiment uses the IOTA Tangle as the distributed ledger, but other distributed ledger may be used.
- a distributed ledger a blockchain of Ethereum (Ethereum (registered trademark)) may be used.
- FIG. 7 is a diagram showing a device managed by the device management system.
- the device management system 1 manages the IoT device 5.
- the IoT device 5 is connected to the information processing device 2 by the network 4.
- the information processing device 2 controls the operation of the IoT device 5.
- the network 4 may be a wired network or a wireless network.
- the network 4 is, for example, an internet network.
- the IoT device 5 may be any sensor that detects natural phenomena such as temperature, humidity, pressure, light amount, and volume, and known fluctuation amounts such as the moving speed of the direction and position of an object and its acceleration. Further, the IoT device 5 may be a camera capable of photographing the surroundings.
- the IoT device 5 may be any product such as a home electric appliance such as an air conditioner, an automobile, or a robot.
- the device management system 1 of the present embodiment assumes that the device to be managed is an IoT device, but may manage a device that is not connected to the network.
- the IoT device 5 may be a device that constitutes a node in the distributed ledger technology.
- FIG. 8 is a diagram showing an information processing device.
- the information processing device 2 may be a device generally called a personal computer, a workstation, a mainframe, or a device called a supercomputer. Further, the information processing device 2 may be a device called a smartphone or a tablet. Further, the information processing device 2 may be various devices having a function peculiar to the device such as a sensor function and a camera function in addition to the function of the computer.
- the configuration of the terminal device 11 as an example of the information processing device 2 will be described.
- the terminal device 11 includes a processing unit 12 that performs various processes, an input / output unit 13 that performs input / output to and from the operator, a storage unit 14 that stores programs and various data operated by the processing unit 12, a network 3, and a network 3. It is configured to include a communication unit 15 that performs communication via the network 4.
- the terminal device 11 may be a device managed by the device management system 1 of the present embodiment. All devices that can be connected to the Internet are IoT devices managed by the device management system 1 of the present embodiment.
- the processing unit 12 is an arithmetic unit called a CPU or MPU.
- the processing unit 12 executes the program stored in the storage unit 14.
- the input / output unit 13 is an input / output device such as a keyboard, a mouse, and a display.
- the storage unit 14 may be any known storage device such as a RAM, a ROM, a hard disk, a magnetic storage device, and an optical storage device.
- Each of the plurality of information processing devices 2 may have the same configuration, or each device may have a configuration different from that of the other devices.
- FIG. 9 is a diagram showing a device managed by the device management system.
- the device 16 includes a processing unit 17 that performs various processes, a device function execution unit 18 that executes a function peculiar to the device, a storage unit 19 that stores programs and various data operated by the processing unit 17, and a network 4. It is configured to include a communication unit 20 that performs communication via the above.
- the processing unit 17 is an arithmetic unit called a CPU or MPU.
- the processing unit 17 executes the program stored in the storage unit 19.
- the storage unit 14 may be any known storage device such as a RAM, a ROM, a hard disk, a magnetic storage device, and an optical storage device.
- Each of the plurality of information processing devices 2 may have the same configuration, or each device may have a configuration different from that of the other devices.
- the device function execution unit 18 is configured to execute a function peculiar to the device.
- the device function execution unit 18 includes a detection element that detects an object, a control unit that controls the detection element, and the like.
- the device function execution unit 18 includes an image sensor that images the surroundings, an image processing unit that performs image processing on the image captured by the image sensor, and an image sensor and an image processing unit. It has a control unit to control.
- the device function execution unit 18 includes a drive unit that drives each configuration related to the refrigeration cycle, a detection unit that detects temperature and humidity, a control unit that controls the drive unit and the detection unit, and the like. Has.
- the device function execution unit 18 is a drive unit that drives each configuration related to the running of the automobile, a detection unit that detects a situation related to safety outside the vehicle, a situation related to comfort inside the vehicle, and the like. It also has a control unit that controls a drive unit and a detection unit.
- the device function execution unit 18 includes a drive unit that drives the robot, a detection unit that detects the surrounding conditions of the robot, and a control unit that controls the drive unit and the detection unit.
- the robot may manufacture an IoT device to be managed by the device management system 1 of the present embodiment. By doing so, a more reliable IoT device can be manufactured.
- FIG. 10 is a diagram showing a distributed ledger which is an example of a storage unit.
- the device management system 1 of the present embodiment has, as nodes, a full node having tangles, which is an example of a distributed ledger, and a light wallet having no tangles.
- a full node synchronizes its own tangle with the tangles of other full nodes.
- a light wallet is also called a light node.
- the light wallet is called a light node. Since the light node does not have tangles by itself, there is no need to manage the tangles, so the operational burden is small, but when operating with information obtained from the full node, there is a slight delay in processing due to communication time. There is a risk.
- a charge may be made for the exchange of information between or within each device. Although the amount charged is small when a small amount of information is exchanged, it is possible to build a system suitable for micropayment by paying the amount charged with IOTA, which is a virtual currency.
- the information processing device 2, the IoT device 5, the terminal device 11, and the device 16 may be full nodes or light nodes.
- FIG. 11 is a diagram showing a tangle which is an example of a distributed ledger.
- the tangle uses a DAG (Directed Acyclic Graph).
- recording information in the distributed ledger means recording a transaction (TX) in the tangle.
- Proof of work (PoW) is performed when recording a new transaction.
- FIG. 12 is a diagram showing a device management system that stores device manufacturing information.
- the device manufacturing distributed ledger 101 is a distributed ledger that records manufacturing information, which is information related to the manufacturing process of a device managed by the device management system 1 (hereinafter, referred to as “managed device”).
- the device manufacturing distributed ledger 101 is a tangle possessed by the full nodes constituting the device management system 1.
- the terminal device 11 records the manufacturing time information 16a in the device manufacturing time distributed ledger 101.
- the terminal device 11 is a device arranged in the equipment for manufacturing the device (eg, the factory FA in FIG. 1, the production line), or a device communicably connected to the device arranged in the equipment for manufacturing the device.
- the terminal device 11 corresponds to, for example, the control device FA1 in FIG.
- the terminal device 11 has a non-rewritable storage area (eg, TrustZone®). This storage area stores a program that causes the processing unit of the terminal device 11 to execute a process of generating manufacturing information.
- the processing unit of the terminal device 11 detects that the component is incorporated into the device in the manufacturing process according to the above program, and uses the ID of the component and the information of the manufacturing line into which the component is incorporated as the ID of the device to be manufactured.
- the information on the production line includes, for example, information (for example, ID) of a processing device (for example, the processing device FA2 of FIG. 1) that executes processing.
- the program stored in the storage area of the terminal device 11 causes the processing unit of the terminal device 11 to execute the process of recording the generated manufacturing information in the distributed ledger.
- the manufacturing time information 16a is a transaction in the distributed ledger 101 for device manufacturing.
- the manufacturing information 16a is information when manufacturing the managed device.
- the manufacturing time information 16a is generated each time the parts constituting the managed device are selected and assembled in the manufacturing process of the managed device. For example, in the manufacturing process of a managed device, when the circuit board A, which is a component constituting the managed device, is selected and the electronic component B (CPU, memory, etc.) is mounted on the circuit board A, the managed device is used. On the other hand, the manufacturing time information 16a for the circuit board A is generated, and the manufacturing time information 16a for the electronic component B is generated.
- the manufacturing time information 16a can specify a device ID that can identify the managed device, a component ID that can identify the parts constituting the managed device, and a manufacturing line that incorporates the component indicated by the component ID into the managed device.
- the production line ID and the production time information indicating the time when the component indicated by the component ID is incorporated into the managed device are included. Further, the manufacturing time information 16a is information in which the part ID, the manufacturing line ID, and the manufacturing time information are associated with the device ID.
- the manufacturing line ID may include a worker person in charge ID or a manufacturing device (robot) ID in order to identify a worker or a manufacturing device.
- FIG. 13 is a diagram showing a process of storing device manufacturing information.
- FIG. 13 shows a process executed by the terminal device 11.
- the processing unit 12 of the terminal device 11 detects whether or not there is newly generated manufacturing time information 16a (step S801).
- the manufacturing information 16a may be input to the terminal device 11 by a person in charge of manufacturing operating the input / output unit 13 of the terminal device 11.
- the robot may input the manufacturing information 16a to the terminal device 11 via the communication unit 15 of the terminal device 11.
- the processing unit 12 records the manufacturing time information 16a in the device manufacturing distributed ledger 101 (step S802), and ends the process. .. If there is no newly generated manufacturing information 16a in step S801, the processing unit 12 ends the processing as it is.
- the terminal device 11 recorded in the distributed ledger 101 for device manufacturing may be either the information processing device 2, the IoT device 5, or the device 16, or may be the managed device itself.
- the device manufacturing process is divided into a plurality of processes such as component mounting, assembly, and inspection.
- the manufacturing information 16a may be recorded for each process, or may be recorded at least once in the final assembly / inspection process.
- FIG. 14 is a diagram showing a device management system that stores device startup information.
- the device change history distributed ledger 102 is a distributed ledger for recording startup information 16b, which is information related to the startup process of the managed device.
- the device change history distributed ledger 102 is a tangle possessed by the full nodes constituting the device management system 1.
- the device change history distributed ledger 102 may be the same distributed ledger as the device manufacturing distributed ledger 101.
- the terminal device 11 records the startup information 16b in the device change history distributed ledger 102.
- the terminal device 11 is, for example, a device to be managed (eg, device Db in FIG. 1) or a device to control the device to be managed (eg, higher-level device MD in FIG. 1).
- the startup information 16b is a transaction in the distributed ledger 102 for device change history.
- the startup information 16b is information when the managed device is activated.
- the controlled device manufactured in the manufacturing process carries out the activation process at the time of activation. In this activation process, the managed device is initialized and activated.
- the managed device has a ROM that stores the program, a CPU that executes the program stored in the ROM, and a secure element.
- the secure element may be a TPM (Trusted Platform Module) having tamper resistance, a SIM (Subscriber Identity Module), a SAM (Secure Application Module), or any other known configuration.
- the secure element does not necessarily have to have tamper resistance as long as it has a function that can store the verification key of the digital signature. For example, it uses a mechanism called TrustZone that exists in the CPU separately from the normal memory. You may.
- the activation information 16b is generated.
- the secure element stores a program that causes the processing unit 12 of the terminal device 11 to execute a process of generating startup information.
- the processing unit 12 generates a hash value and a startup log of a file in which the source code that defines the processing at the time of startup is described at the timing of starting the device.
- the processing unit 12 generates startup information including at least a part of the generated hash value and startup log, and a device ID.
- a program for executing a process of recording the start-up information in the distributed ledger is stored in the processing unit 12 of the terminal device 11.
- the processing unit 12 records the generated startup information in the distributed ledger according to this program.
- the startup information 16b includes a device ID that can identify the managed device, verification time information indicating the time when the management device startup process was performed, and a hash of a program or data file used in the management device startup process. Includes values and digital signatures by managed devices. Further, the startup information 16b is information in which the verification time information, the hash value, and the digital signature are associated with the device ID.
- FIG. 15 is a diagram showing a process of storing device startup information.
- FIG. 15 shows a process executed by the terminal device 11.
- the processing unit 12 of the terminal device 11 detects whether or not there is newly generated start-up information 16b (step S1001).
- the managed device may input the startup information 16b into the terminal device 11 via the communication unit 15 of the terminal device 11.
- the managed device itself may record the startup information 16b in the device change history distributed ledger 102.
- step S1001 If there is newly generated startup information 16b in step S1001, the processing unit 12 records the current startup information 16b in the device change history distributed ledger 102 (step S1002), and ends the process. .. If there is no newly generated start-up information 16b in step S1001, the processing unit 12 ends the processing as it is.
- the terminal device 11 recorded in the device change history distributed ledger 102 may be either the information processing device 2, the IoT device 5, or the device 16, or may be the managed device itself.
- FIG. 16 is a diagram showing a device management system that stores device update information.
- the device change history distributed ledger 102 is a distributed ledger that records the update information 16c, which is information related to the update process of the managed device, in addition to the startup information 16b.
- the device change history distributed ledger 102 is a tangle possessed by the full nodes constituting the device management system 1.
- the terminal device 11 records the update information 16c in the device change history distributed ledger 102.
- the terminal device 11 is, for example, a device to be managed (eg, device Db in FIG. 1) or a device to control the device to be managed (eg, higher-level device MD in FIG. 1).
- the update information 16c is a transaction in the distributed ledger 102 for device change history.
- the update information 16c is information when updating the managed device.
- the managed device activated in the activation process executes an update process for updating the program during operation.
- a managed device is a program that receives a firmware patch, a program that adds a new function in a function specific to the managed device, a program that fixes a bug, and various data via the Internet, and is a management target. Update the program that runs on the device.
- the managed device has a firmware (FW) to be executed by the managed device, a program to be executed by the managed device, and a data file (File) to be used for execution.
- Firmware is also a type of program.
- the update information 16c is generated.
- the process of updating the managed device may include updating the firmware and the config file of the managed device by, for example, the terminal device 11.
- the terminal device 11 records the update information 16c regarding the update in the device change history distributed ledger 102.
- the secure element stores a program that causes the processing unit 12 of the terminal device 11 to execute a process of generating update information.
- the processing unit 12 At the timing of updating the device, the processing unit 12 generates a hash value of a file in which the source code that defines the processing at the time of updating is described and an update log.
- the processing unit 12 generates startup information including at least a part of the generated hash value and update log, and a device ID.
- a program for causing the processing unit 12 of the terminal device 11 to execute a process of recording the update information in the distributed ledger is stored.
- the processing unit 12 records the generated update information in the distributed ledger according to this program.
- the update information 16c includes a device ID that can identify the managed device, verification time information indicating the time when the update process of the managed device is performed, and a hash of a file of a program or data used in the update process of the managed device. Includes values and digital signatures by managed devices. Further, the update information 16c is information in which the verification time information, the hash value, and the digital signature are associated with the device ID.
- FIG. 17 is a diagram showing a process of storing device startup information.
- FIG. 17 shows a process executed by the terminal device 11.
- the processing unit 12 of the terminal device 11 detects whether or not there is newly generated update information 16c (step S1201).
- the managed device may input the update information 16c to the terminal device 11 via the communication unit 15 of the terminal device 11.
- the managed device itself may record the update information 16c in the device change history distributed ledger 102.
- the processing unit 12 records the current update information 16c in the device change history distributed ledger 102 (step S1202), and ends the process. .. If there is no newly generated update information 16c in step S1201, the processing unit 12 ends the processing as it is.
- the terminal device 11 recorded in the device change history distributed ledger 102 may be either the information processing device 2, the IoT device 5, or the device 16, or may be the managed device itself.
- the terminal device 11 is not only when there is new update information 16c (when it is updated), but also when it is updated, which indicates the current state of the managed device at predetermined time intervals even if it is not updated.
- the information 16c may be recorded in the distributed ledger 102 for device change history.
- the update information 16c indicating the status of the current managed device includes a device ID that can identify the managed device, verification time information indicating the current time, and a file of programs and data currently being executed on the managed device. Includes the hash value of and the digital signature of the managed device. Further, the update information 16c is information in which the verification time information, the hash value, and the digital signature are associated with the device ID.
- FIG. 18 is a diagram showing a process of storing device update information at predetermined time intervals.
- FIG. 18 shows a process executed by the terminal device 11.
- the processing unit 12 of the terminal device 11 confirms whether a predetermined time has elapsed from the recording of the previous update information 16c (step S1301).
- the predetermined time determined in step S1301 may be determined according to the frequency at which the managed device may be tampered with. Further, the predetermined time may be a fixed time or may be varied.
- the managed device may input the update information 16c to the terminal device 11 via the communication unit 15 of the terminal device 11.
- the managed device itself may record the update information 16c in the device change history distributed ledger 102.
- step S1301 when the predetermined time has elapsed, the processing unit 12 records the current startup information 16b in the device change history distributed ledger 102 (step S1302), and ends the process. If the predetermined time does not elapse in step S1301, the processing unit 12 ends the processing as it is.
- the terminal device 11 recorded in the device change history distributed ledger 102 may be either the information processing device 2, the IoT device 5, or the device 16, or may be the managed device itself. According to the process shown in FIG. 18, even though the managed device has been updated, it is possible to respond to tampering that pretends to be in an unupdated state, and the current status of the managed device is correct. It is reflected in the distributed ledger 102 for device change history.
- FIG. 19 is a diagram showing a device management system that refers to a plurality of trust information.
- the terminal device 11 has manufacturing information 16a recorded in the device manufacturing distributed ledger 101, startup information 16b recorded in the device change history distributed ledger 102, and device change history. Refer to the update information 16c recorded in the distributed ledger 102.
- FIG. 20 is a diagram showing a process of referencing a plurality of trust information.
- FIG. 20 shows a process executed by the terminal device 11.
- the terminal device 11 determines whether or not a process for confirming the reliability of the managed device has occurred (step S1501).
- the process of confirming the reliability of a managed device includes, for example, a process of confirming the state of the managed device when there is some suspicious movement in the operation of the managed device.
- the process of confirming the reliability of a managed device includes, for example, a process of confirming the reliability of the managed device when using data from a certain managed device.
- the process of confirming the reliability of the managed device includes, for example, a process of confirming the reliability of the managed device when driving and controlling a certain managed device.
- the process of confirming the reliability of a managed device includes, for example, a process of confirming the status of a managed device when an audit of the managed device becomes necessary.
- step S1502 the terminal device 11 determines which device is the managed device for which the reliability is confirmed this time. get.
- the device ID may be acquired by being input from the input / output unit 13, received from the outside via the communication unit 15, or read from the storage unit 14. You may get it by.
- step S1502 the terminal device 11 reads the manufacturing time information 16a about the acquired device ID from the device manufacturing distributed ledger 101, and reads the acquired device ID startup information 16b from the device change history distributed type.
- the update information 16c about the device ID read from the ledger 102 is read from the distributed ledger 102 for device change history.
- the terminal device 11 determines the manufacturing information 16a, the startup information 16b, and the update information 16c read in step S1501 and confirms the current reliability of the managed device (step S1503).
- step S1504 the process is terminated after performing control based on the current reliability of the managed device, which is the determination result of step S1503. For example, if the manufacturing information 16a read from the distributed ledger 101 for device manufacturing contains information about parts other than the originally planned parts, it is possible to perform control without using the managed device. it can. Further, for example, when the update information 16c read from the device change history distributed ledger 102 includes information about a non-genuine update, control can be performed without using the managed device. ..
- the terminal device 11 that executes the process of FIG. 20 may be either the information processing device 2, the IoT device 5, or the device 16, or may be the managed device itself.
- FIG. 21 is a diagram showing an example in which the device management system according to the embodiment is applied.
- This embodiment is an example in which the device management system according to the embodiment is applied to a person tracking system that follows in the footsteps of a person.
- the person tracking system 1600 has surveillance cameras 1606, 1607 and 1608 that are managed devices. Information at the time of manufacture, start-up, and update of the surveillance cameras 1606, 1607, and 1608 is recorded in the distributed ledger 1602 at any time. The reliability of surveillance cameras 1606, 1607 and 1608 is guaranteed by the distributed ledger 1602.
- the distributed ledger 1602 refers to the distributed ledger 1601 in which the evidence on which the reliable device is sufficient is recorded.
- the face image of the person 1605 is recorded in the distributed ledger 1604.
- the surveillance cameras 1606, 1607 and 1608 match the face image recorded in the distributed ledger 1604 with the face image of the person photographed by the person 1605, so that the person 1605 can set the installation positions of the surveillance cameras 1606, 1607 and 1608. Acquire the action history of passing.
- This action history is recorded in the distributed ledger 1603.
- the distributed ledger 1602 is referred to, and the reliability of the shooting results of the surveillance cameras 1606, 1607 and 1608 is guaranteed.
- the distributed ledger 1603 can be referred to, the behavior pattern and purchasing tendency of the person 1605 can be analyzed, and the product can be used for product purchasing and product development.
- FIG. 22 is a diagram showing an example in which the device management system according to the embodiment is applied.
- This embodiment is an example in which the device management system according to the embodiment is applied to a dangerous vehicle discrimination system for discriminating a dangerous driving vehicle.
- the dangerous vehicle discrimination system 1700 has surveillance cameras 1705 and 1706 which are managed devices.
- the surveillance cameras 1705 and 1706 are mounted on the vehicle 1704.
- the surveillance camera 1705 photographs the front of the vehicle 1704 and captures the driving situation of the preceding vehicle 1707.
- the surveillance camera 1706 photographs the rear of the vehicle 1704 and captures the driving situation of the following vehicle 1708.
- Information at the time of manufacture, start-up, and update of the surveillance cameras 1705 and 1706 is recorded in the distributed ledger 1702 at any time.
- the reliability of surveillance cameras 1705 and 1706 is guaranteed by the distributed ledger 1702.
- the distributed ledger 1702 refers to the distributed ledger 1701 in which the evidence on which the reliable device is sufficient is recorded.
- the driving status and vehicle number of the preceding vehicle and the following vehicle taken by the surveillance cameras 1705 and 1706 are recorded in the distributed ledger 1703.
- the surveillance cameras 1705 and 1706 can acquire the vehicle number of the vehicle that has performed dangerous driving in the past by referring to the contents recorded in the distributed ledger 1703 in the past.
- the surveillance cameras 1705 and 1706 match the vehicle numbers of the preceding vehicle and the following vehicle currently being photographed with the vehicle numbers of the vehicles that have been dangerously driven in the past obtained from the distributed ledger 1703, thereby collating the preceding vehicle and the following vehicle. It is possible to notify the smartphone 1710 of the driver who drives the vehicle 1704 about the risk of the vehicle driving dangerously, or notify the navigation system 1709 mounted on the vehicle 1704.
- One form of the device management system is a distributed ledger (distributed ledger 101 for device manufacturing, distributed ledger 102 for device change history), manufacturing information which is information related to the device manufacturing process, and activation of the device.
- Bookkeeping means (S802, S1002, S1202, S1302) for recording at least one of the start-up information which is the information related to the process and the update information which is the information related to the update process of the device in the distributed ledger.
- an information reading means S1502 for reading the information recorded in the distributed ledger.
- This provides a device management system capable of improving the reliability of the device. Further, by recording the information about the device in the distributed ledger, it is possible to prevent the information from being tampered with. In addition, by recording in a public distributed ledger, it is possible to provide a system in which anyone can refer to information about the device, and anyone can confirm the reliability of the device.
- the distributed ledger is a tangle (see FIG. 6). As a result, it is possible to record in the distributed ledger in real time. In addition, unlike other decentralized ledgers that require a fee for bookkeeping, the decentralized ledger can be booked free of charge. In addition, it is possible to provide a scalable system. In addition, it is possible to provide a system having a high affinity with micropayments using the virtual currency IOTA.
- the manufacturing information incorporates a device ID that can identify the device, a component ID that can identify a component constituting the device, and a component indicated by the component ID into the device.
- the startup information includes a device ID that can identify the device, verification time information indicating the time when the device activation process is performed, and a file used for the device activation process.
- This is information in which each information is associated with the device ID, including the hash value of the device and the digital signature by the device.
- the update time information includes a device ID that can identify the device, verification time information indicating the time when the device update process is performed, and a file used for the device update process.
- This is information in which each information is associated with the device ID, including the hash value of the device and the digital signature by the device.
- the digital signature is a digital signature obtained by encrypting the hash value of the file with a private key. This also makes it possible to make it more difficult for the information about the device recorded in the distributed ledger to be tampered with.
- the device is an IoT device.
- IoT device As a result, it is possible to improve the reliability of IoT devices that may be attacked by malware or the like by being connected to the Internet. Further, according to this form, even if the program that controls the IoT device is rewritten by malware, for example, the rewritten program is recorded in the distributed ledger, so that the current state of the IoT device can be known. , The operator can obtain a judgment material when deciding whether or not to utilize the IoT device.
- One form of the device management method is a device management method for managing a device using a computer, which is manufacturing information which is information related to a device manufacturing process and startup information which is information related to the device starting process.
- This provides a device management method that can improve the reliability of the device. Further, by recording the information about the device in the distributed ledger, it is possible to prevent the information from being tampered with. In addition, by posting in a public distributed ledger, it is possible to provide a method in which anyone can refer to information about the device, and anyone can confirm the reliability of the device.
- the information processing apparatus has manufacturing information which is information related to the manufacturing process of the device, startup information which is information related to the starting process of the device, and information related to the updating process of the device. It has a bookkeeping means for recording at least one of the update information in the distributed ledger.
- the information processing device records the information about the device in the distributed ledger, so that the information about the device is less likely to be tampered with, and highly reliable information can be provided.
- the IoT device is composed of manufacturing time information which is information related to the device manufacturing process, startup information which is information related to the device starting process, and information related to the device updating process. It has a bookkeeping means for recording at least one piece of information at the time of update in a distributed ledger. As a result, the IoT device records the information about the device in the distributed ledger, so that the information about the device is less likely to be tampered with, and highly reliable information can be provided.
- One form of the program is out of manufacturing information which is information related to the manufacturing process of the device, startup information which is information related to the activation process of the device, and update information which is information related to the updating process of the device.
- the computer functions as a bookkeeping means for recording at least one piece of information in a distributed ledger. This provides a program that can improve the reliability of the device. Further, by recording the information about the device in the distributed ledger, it is possible to prevent the information from being tampered with. In addition, by recording in a public distributed ledger, it is possible to provide a program in which anyone can refer to information about the device, and anyone can confirm the reliability of the device.
- the distributed ledger is a tangle. As a result, it is possible to record in the distributed ledger in real time. In addition, unlike other decentralized ledgers that require a fee for bookkeeping, the decentralized ledger can be booked free of charge. In addition, it is possible to provide a scalable program. In addition, it is possible to provide a program having a high affinity with micropayments using the virtual currency IOTA.
- the manufacturing information includes a device ID that can identify the device, a component ID that can identify a component constituting the device, and a manufacturing that incorporates the component indicated by the component ID into the device. It is information including a manufacturing line ID capable of specifying a line and manufacturing time information indicating a time when the component indicated by the component ID is incorporated into the device, and each information is associated with the device ID. This makes it possible to provide a program with increased reliability during the manufacture of the device.
- the startup information includes a device ID that can identify the device, verification time information indicating the time when the device activation process was performed, and a hash of a file used in the device activation process. It is information in which each information is associated with the device ID, including a value and a digital signature by the device. As a result, it is possible to provide a program with improved reliability at the time of starting the device.
- the update information includes a device ID that can identify the device, verification time information indicating the time when the device update process was performed, and a hash of a file used in the device update process. It is information in which each information is associated with the device ID, including a value and a digital signature by the device. As a result, it is possible to provide a program with improved reliability when updating the device.
- the bookkeeping means records the manufacturing information in the distributed ledger when the device is manufactured by the manufacturing process. This makes it possible to provide a program with increased reliability during the manufacture of the device.
- the bookkeeping means records the startup information in the distributed ledger when the device is activated by the activation step.
- the bookkeeping means records the update time information in the distributed ledger when the device is updated by the update process.
- the bookkeeping means records the update information in the distributed ledger at predetermined time intervals.
- the status of the device can be confirmed at predetermined time intervals, and a program with enhanced device reliability can be provided.
Landscapes
- Debugging And Monitoring (AREA)
Abstract
デバイス管理システムは、識別情報を保持する記憶域が設けられるデバイスの製造工程に係る情報であって識別情報を含む製造時情報と、デバイスの起動工程に係る情報であって識別情報を含む起動時情報と、デバイスの更新工程に係る情報であって識別情報を含む更新時情報との少なくとも1つの情報を記憶部に記憶させる第1の情報処理装置と、記憶部に記憶された製造時情報と起動時情報と更新時情報との少なくとも1つの情報のうち、管理対象の記憶域から読み出される識別情報を含む少なくとも1つの情報を読み出し、読み出した情報を用いて管理対象のデバイスの信頼性を判定する第2の情報処理装置と、を備える。
Description
本発明は、デバイス管理システムに関する。
下記の特許文献1には、半導体チップ等に微小な識別情報を設けることによって、半導体デバイスの管理を容易に実現することが記載されている。通信を介して接続される各種デバイスを利用する技術分野において、デバイスが信頼できるか否かを精度よく判別できることが望まれる。
本発明の態様に従えば、識別情報を保持する記憶域が設けられるデバイスの製造工程に係る情報であって識別情報を含む製造時情報と、デバイスの起動工程に係る情報であって識別情報を含む起動時情報と、デバイスの更新工程に係る情報であって識別情報を含む更新時情報との少なくとも1つの情報を記憶部に記憶させる第1の情報処理装置と、記憶部に記憶された製造時情報と起動時情報と更新時情報との少なくとも1つの情報のうち、管理対象の記憶域から読み出される識別情報を含む少なくとも1つの情報を読み出し、読み出した情報を用いて管理対象のデバイスの信頼性を判定する第2の情報処理装置と、を備えるデバイス管理システムが提供される。
図1は、実施形態に係るデバイス管理システムを示す図である。図1において、符号Da、Db、及びDcは、それぞれ、管理対象のデバイスである。デバイス管理システム1は、管理対象のデバイスの信頼性を評価することに利用される情報(適宜、トラスト情報という)を、記憶部DL1に記憶する。トラスト情報は、管理対象のデバイスの製造時情報、起動時情報、及び更新時情報の少なくとも1つを含む。デバイス管理システム1は、記憶部DL1、記憶部DL1と接続されるネットワーク3、ネットワーク3を介してトラスト情報を記憶部DL1に記憶させる情報処理装置(後述する)とを備える。
管理対象のデバイスはデバイスごとに識別情報を有し、製造時情報、起動時情報、及び更新時情報は、それぞれ、デバイスの識別情報と関連付けられている。以下の説明において適宜、識別情報をIDと記載する。管理対象の第1のデバイスに対応する製造時情報は、第1のデバイスのIDを含み、第1のデバイスと異なる第2のデバイスに対応する製造時情報と区別できる。管理対象の第1のデバイスに対応する起動時情報は、第1のデバイスのIDを含み、第1のデバイスと異なる第2のデバイスに対応する起動時情報と区別できる。管理対象の第1のデバイスに対応する更新時情報は、第1のデバイスのIDを含み、第1のデバイスと異なる第2のデバイスに対応する更新時情報と区別できる。
記憶部DL1は、例えば分散型台帳であるが、分散型台帳以外の形態の記憶部(例えば、集中型ストレージ)でもよい。以下の説明において適宜、記憶部DL1を分散型台帳DL1という。図1において、符号TDは、分散型台帳を構成する端末である。端末TDは、例えばコンピュータである。端末TDは、例えば、CPUなどの処理部(プロセッサ)、RAMなどの揮発性メモリ、HDDあるいはSSDなどの不揮発性記憶装置、及びLAN等の所定の通信規格に準拠した通信部を備える。端末TDは、ネットワーク3と接続される。
デバイス管理システム1は、トラスト情報を記憶部(例えば、分散型台帳DL1)から読み出す。デバイス管理システム1は、読み出したトラスト情報を用いて、管理対象のデバイスの信頼性を評価する。以下の説明において適宜、デバイスの信頼性を評価する処理を監査という。以下の説明において適宜、信頼できると監査によって評価されたデバイスを「信頼できるデバイス」あるいは「トラステッドデバイス」という。デバイス管理システム1は、例えば、信頼できないと監査によって評価されたデバイスの利用を制限することによって、セキュアなシステムを提供する。
図1において、符号FAは、デバイスDaを製造する工場である。デバイスDaは、例えば複数の部品を含むコンピュータなどである。デバイスDaは、例えば、単独で動作するデバイスである。デバイスDaは、単独で動作するデバイスを構成する部品でもよい。デバイスDaは、製造途中の未完成のデバイスでもよい。デバイスDaは、完成品であって検査が予定されるデバイスでもよい。
工場FAは、制御装置FA1と、処理装置FA2とを備える。処理装置FA2は、デバイスDaに処理を施すデバイスである。処理装置FA2は、例えば、製造過程のデバイスDaに部品を実装するロボットを含む。処理装置FA2は、完成後のデバイスDaを検査する検査装置を含んでもよい。工場FAは、複数の処理装置を備えてもよい。図1には、1つの処理装置FA2が代表的に図示されている。
制御装置FA1は、工場FAの各部を制御する。制御装置FA1は、処理装置FA2を制御し、デバイスDaに対する所定の処理を処理装置FA2に実行させる。制御装置FA1は、製造時情報を分散型台帳DL1に記憶させる情報処理装置の一例である。制御装置FA1は、処理装置FA2による処理対象のデバイスDaのIDを特定する。例えば、デバイスDaは、書き換え不能な記憶域を有し、この記憶域は、デバイスDaのIDを記憶する。デバイスDaのIDは、処理装置FA2によって、記憶域に書き込まれてもよい。
制御装置FA1は、デバイスDaに対して処理装置FA2による処理が完了した後、デバイスDaの製造時情報を生成する。製造時情報は、例えば、デバイスの出荷前に生成される情報であり、デバイスの出荷後に更新されない情報である。出荷後のデバイスの状態を示す情報は、例えば、起動時情報または更新時情報に含まれる。デバイスDaの製造時情報は、例えば、デバイスDaのIDと、デバイスDaの製造に関係するデバイスの情報とを含む。デバイスDaの製造に関係するデバイスは、例えば、デバイスDaの部品、デバイスDaに処理を施した処理装置FA2、及びデバイスDaに対する処理を実行させた制御装置FA1を含む。デバイスDaの製造に関係するデバイスの情報は、例えば、デバイスDaの部品のID、処理装置FA2のID、及び制御装置FA1のIDを含む。制御装置FA1は、ネットワーク3を介して、分散型台帳DL1を構成する端末TDと通信可能に接続される。制御装置FA1は、デバイスDaの製造時情報を送信する。分散型台帳DL1を構成する端末TDは、制御装置FA1が送信した製造時情報を記憶する。このように、第1の情報処理装置は、デバイスの製造に使用される製造装置、又は製造装置と通信可能に接続される装置を含み、デバイスの出荷前に生成される製造時情報を記憶部に記憶させてもよい。
ここで、図1のデバイス管理システム1の構成に基づき、製造時のトラスト情報である製造時情報を記憶する処理について説明する。図2は、製造時のトラスト情報を記憶する処理の例を示す図である。デバイス管理システム1の各部については、適宜、図1を参照する。ステップS11において、工場FAの制御装置FA1は、デバイスDaに識別情報を割り付ける。ステップS12において、処理装置FA2は、制御装置FA1に制御され、ステップS11において割り付けた識別情報をデバイスDaの記憶域に書き込む。ステップS13において、制御装置FA1は、デバイスDaに実装する部品の識別情報を取得する。ステップS14において、処理装置FA2は、制御装置FA1に制御され、デバイスDaに部品を実装する。ステップS15において、制御装置FA1は、デバイスDaの製造時情報を生成する。例えば、制御装置FA1は、ステップS11で割り付けたデバイスDaの識別情報と、ステップS13で取得した部品の識別情報と、デバイスDaの製造に関係するデバイス(例、制御装置FA1、処理装置FA2)の識別情報と、を一組にして製造時情報を生成する。ステップS16において、制御装置FA1は、製造時のトラスト情報である製造時情報を、記憶部DL1に記憶させる。このように、制御装置FA1は、例えば、デバイスの製造に関係する情報が発生した場合(例、部品が実装された場合)、この情報(例、実装された部品のID、部品を実装した処理装置のID、部品を実装した製造ラインのID)を、このデバイスのIDと関連付けて製造時情報を生成する。制御装置FA1は、例えば、デバイスの製造に関係する情報の発生を検知した場合、製造時情報を生成する。例えば、制御装置FA1は、検査を含む製造過程において、デバイスに対して変更(例、部品の実装、データの書き込み)を加える処理が実行された場合、デバイスの製造に関係する情報が発生したと検知(例、判定)する。制御装置FA1は、例えば、デバイスを製造または検査する処理を、予め定められた手順で処理装置に実行させ、この処理を実行させたことをトリガーとして、製造時情報を生成する。
図1の説明に戻り、デバイスDbは、上位装置MDによって制御されるデバイスである。デバイスDbは、例えばIoTシステムにおけるエッジデバイスである。デバイスDbは、例えば、センサ、アクチュエータ、及びプロセッサの少なくとも1つを含む。デバイスDbは、ネットワーク3を介して、上位装置MDと通信可能に接続される。上位装置MDは、ネットワーク3を介してデバイスDbへ指令を送信する。デバイスDbは、上位装置MDから送信された指令に規定された動作を実行する。デバイスDbは、連続的に動作するデバイスでもよいし、断続的に動作するデバイスでもよい。
ここでは、デバイスDbが断続的に動作するものとして説明する。デバイスDbは、所定の動作を行う第1モードと、第2モードよりも省電力な第2モードとを有する。デバイスDbは、第2モードで待機し、所定のトリガーによって第1モードに遷移する。第2モードから第1モードへの遷移は、例えばデバイスの起動に相当する。第1モードから第2モードへの遷移は、例えばデバイスのシャットダウンに相当する。
デバイスDbは、起動時情報を分散型台帳DL1に記憶させる情報処理装置の一例である。例えば、デバイスDbは、書き換え不能な記憶域と、処理部とを備える。この記憶域は、処理部に所定の処理を実行させるプログラムを記憶する。デバイスDbの処理部は、記憶域に記憶されたプログラムに従って、デバイスDbの起動時にデバイスDbのデバイス構成をスキャンする。デバイス構成は、ハードウェア構成とソフトウェア構成との一方または双方を含む。デバイスDbは、例えば、今回のスキャン結果を前回のスキャン結果と比較し、今回のスキャン結果が前回のスキャン結果と異なる場合、起動時情報を生成する。例えば、デバイスDbの処理部は、書き換え不能な記憶域に記憶されたプログラムに従って、起動時情報を生成する処理を実行する。起動時情報は、例えば、ハードウェア構成に変更があった場合、追加または削除された部品のIDを含む。起動時情報は、例えば、ソフトウェア構成に変更があった場合、変更に使われたファイルを特定する情報(例、ハッシュ値)を含む。
デバイスDbは、生成した起動時情報を、ネットワークを介して送信する。例えば、デバイスDbの処理部は、書き換え不能な記憶域に記憶されたプログラムに従って、起動時情報を送信する。分散型台帳DL1を構成する端末TDは、デバイスDbが送信した起動時情報を記憶する。デバイスDbは、起動時情報を端末TDへ送信してもよいし、起動時情報を上位装置MDへ送信してもよい。上位装置MDは、デバイスDbが送信した起動時情報を受信し、この起動時情報を端末TDに記憶させてもよい。このように、第1の情報処理装置は、管理対象のデバイスを含み、自装置を起動する際に起動時情報を生成し、生成した起動時情報を記憶部に記憶させてもよい。なお、デバイスDbは、起動時情報を生成しなくてもよい。例えば、上位装置MDは、デバイスDbにデバイス構成のスキャンを実行させ、スキャン結果に基づいてデバイスDbの起動時情報を生成してもよい。例えば、上位装置MDは、書き換え不能な記憶域を備え、この記憶域に記憶されたプログラムに従って、起動時情報を生成する。例えば、上位装置MDは、書き換え不能な記憶域に記憶されたプログラムに従って、起動時情報を外部の記憶部(例、分散型台帳のノードの端末における記憶部)に記憶させる。
上位装置MDは、更新時情報を分散型台帳DL1に記憶させる情報処理装置の一例である。例えば、上位装置MDは、制御対象であるデバイスDbが記憶するプログラム(例えば、ファームウェア)を更新する。例えば、上位装置MDは、デバイスDbにプログラムの更新を実行させる更新プログラムを含むファイルを送信する。デバイスDbは、受信した更新プログラムに従って、更新処理を実行する。デバイスDbは、更新処理が完了した後に、上位装置MDに対して更新処理の完了を通知する。上位装置MDは、更新処理の完了の通知を受けて、更新時情報を生成する。更新時情報は、例えば、デバイスDbのIDと、更新に使われたファイルと特定する情報(例、ハッシュ値)を含む。例えば、上位装置MDは、書き換え不能な記憶域を備え、この記憶域に記憶されたプログラムに従って、更新時情報を生成する。なお、上位装置MDは、デバイスDbにおいて更新処理が実行される前に、又は更新処理と並行して、更新時情報を生成してもよい。例えば、上位装置MDは、デバイスDbに更新処理を実行させるスケジュールが登録された段階で、更新プログラムを含むファイルを特定する情報とデバイスDbのIDとを含む更新時情報を生成してもよい。上位装置MDは、生成した更新時情報を、ネットワーク3を介して送信する。分散型台帳DL1を構成する端末TDは、上位装置MDが送信した更新時情報を記憶する。例えば、上位装置MDは、書き換え不能な記憶域に記憶されたプログラムに従って、更新時情報を外部の記憶部(例、分散型台帳のノードの端末における記憶部)に記憶させる。このように、第1の情報処理装置は、管理対象のデバイスを制御する上位装置を含み、管理対象のデバイスから取得される情報に基づいて、起動時情報と更新時情報との一方又は双方を記憶部に記憶させてもよい。
なお、更新時情報は、デバイスDbによって生成されてもよい。例えば、デバイスDbの処理部は、書き換え不能な記憶域に記憶されたプログラムに従って、更新時情報を生成してもよい。デバイスDbの処理部は、更新処理を実行する前に、更新時情報を生成してもよい。例えば、デバイスDbは、更新プログラムを含むファイルを受信した後、更新処理の開始前に、このファイル特定する情報とデバイスDbのIDとを含む更新時情報を生成してもよい。更新プログラムの送信元は、上位装置MDでもよいし、上位装置MDと異なる装置でもよい。デバイスDbは、更新時情報を生成した場合、生成した更新時情報を端末TDに記憶させてもよい。例えば、デバイスDbの処理部は、書き換え不能な記憶域に記憶されたプログラムに従って、更新時情報を端末TDに記憶させてもよい。デバイスDbの処理部は、例えば、更新処理を開始する前に、更新時情報を端末TDに記憶させてもよい。このように、第1の情報処理装置は、管理対象のデバイスを含み、自装置を更新する際に更新時情報を生成し、生成した更新時情報を記憶部に記憶させてもよい。また、デバイスDbは、生成した更新時情報を上位装置MDへ送信し、上位装置MDは、受信した更新時情報を端末TDに記憶させてもよい。例えば、デバイスDbの処理部は、書き換え不能な記憶域に記憶されたプログラムに従って、更新時情報を送信してもよい。デバイスDbの処理部は、例えば、更新処理を開始する前に、更新時情報を送信してもよい。上述の各プログラムは、書き換え可能な記憶域に記憶されてもよい。デバイスのIDは、書き換え可能な記憶域に記憶されてもよい。デバイスは、処理部を含むデバイス本体と、デバイス本体に外付けされる記憶域とを備えてもよい。この記憶域は、例えば、外部から電磁波を受けて電磁誘電により発電し、その電力によって電気信号を出力(例、送信)する回路(例、RFタグ、NFCタグ)の一部でもよい。例えば、デバイス本体の外部にRFタグが接合され、このRFタグは、デバイスのIDを含む電気信号を送信してもよい。RFタグとデバイス本体とを接合する力は、上記回路が破壊する力よりも強くてもよい。例えば、悪意があるユーザが、デバイス本体からRFタグを外そうとした場合、その力によって上記回路が破壊されてデバイスのIDが利用不能になり、デバイスのIDが悪用されることが回避される。ここで、RFタグが設けられたデバイスが部品であるとする。この部品が実装されたデバイスは、例えば、RFリーダを備え、部品から送信されるIDをRFリーダにより取得することで、自装置のハードウェア構成の少なくとも一部を検出してもよい。このデバイスが動作する際に電力を供給する電源は、上記RFリーダに電力を供給してもよい。上記RFリーダを含むデバイスは、外部装置(例、上位装置MD)に対して、部品から取得したIDを送信してもよい。
ここで、図1のデバイス管理システム1の構成に基づき、起動時のトラスト情報である起動時情報、又は更新時のトラスト情報である更新時情報を記憶する処理の例について説明する。図3は、起動時または更新時のトラスト情報を記憶する処理を示す図である。デバイス管理システム1の各部については、適宜、図1を参照する。ステップS21において、デバイスDbの処理部は、デバイスDbのデバイス構成をスキャンする。ステップS22において、デバイスDbの処理部は、構成の変更があるか否かを判定する。デバイスDbの処理部は、例えば、今回のスキャン結果が前回のスキャン結果と異なる場合、構成の変更があると判定する(ステップS22;Yes)。デバイスDbの処理部は、構成の変更があると判定した場合(ステップS22;Yes)、ステップS23においてトラスト情報を生成する。ステップS21の処理がデバイスDbの起動時に実行された場合、デバイスDbの処理部は、ステップS23において、トラスト情報として起動時情報を生成する。ステップS21の処理がデバイスDbの更新時に実行された場合、デバイスDbの処理部は、ステップS23において、トラスト情報として更新時情報を生成する。デバイスDbの処理部は、例えば、デバイスDbのIDと、変更により追加または削除されたハードウェア要素(例、部品)がある場合にそのIDと、ソフトフェア構成が変更された場合に変更に使用されたファイルを特定する情報と、を一組にして、トラスト情報を生成する。デバイスDbの処理部は、ステップS23で生成したトラスト情報を、ステップS24において記憶部DL1に記憶させる。なお、ステップS21からステップS24の処理の少なくとも一部は、デバイスDbと異なるデバイス(例、上位装置MD)によって実行されてもよい。
図1の説明に戻り、本実施形態において、デバイス管理システム1は、監査装置CDと、記憶部DL2とを備える。監査装置CDは、トラスト情報を記憶部に記憶させる情報処理装置の一例である。監査装置CDは、分散型台帳DL1に記憶されたトラスト情報を用いて監査を実行し、監査結果を示すトラスト情報を生成する。以下の説明において適宜、監査結果を示すトラスト情報を監査時のトラスト情報という。監査時のトラスト情報は、例えば、管理対象のデバイスが信頼できるか否かを示す情報(例、フラグ)と、デバイスのIDとを関連付けた情報(例、ホワイトリスト)である。監査装置CDは、生成したトラスト情報を、分散型台帳DL1と異なる記憶部DL2に記憶させる。記憶部DL2は、例えば分散型台帳であるが、分散型台帳以外の形態の記憶部(例えば、集中型ストレージ)でもよい。以下の説明において適宜、記憶部DL2を分散型台帳DL2という。なお、監査時のトラスト情報の記憶先は、製造時情報、起動時情報、及び更新時情報の少なくとも一部の記憶先と同じでもよい。
ここで、図1のデバイス管理システム1の構成に基づき、監査時のトラスト情報を記憶する処理について説明する。図4は、監査時のトラスト情報を記憶する処理を示す図である。デバイス管理システム1の各部については、適宜、図1を参照する。
ステップS31において、監査装置CDは、監査対象のデイバスのIDを特定する。ここでは、監査対象のデバイスは、工場FAで製造されたデバイスDaであるとする。監査装置CDは、例えば、監査対象のデバイスDaの記憶域から読み取られたIDをデバイスDaから取得することによって、デバイスDaのIDを特定する。監査装置CDは、その他の手法で、デバイスDaのIDを特定してもよい。例えば、監査装置CDは、デバイスDaと接続されたデバイスからデバイスDaのIDを指定されることによって、デバイスDaのIDを特定してもよい。
ステップS32において、監査装置CDは、監査対象のデバイスのトラスト情報を取得する。例えば、監査装置CDは、ステップS31で特定したIDを含むトラスト情報を、分散型台帳DL1に記憶されたトラスト情報において検索することで、デバイスDaのトラスト情報を取得する。監査装置CDは、デバイスDaのトラスト情報として、デバイスDaの製造時情報を取得する。
ステップS33において、監査装置CDは、監査対象のデバイスDaに関係するデバイス(適宜、関係デバイスという)の識別情報を特定する。例えば、ステップS32においてデバイスDaの製造時情報が取得された場合、製造時情報にはデバイスDaに関係デバイスのIDとして、工場FAの制御装置FA1のID、処理装置FA2のID、デバイスDaの部品であるデバイスのIDが含まれる。監査装置CDは、製造時情報を参照することによって、関係デバイスのIDを特定する。
ステップS33において、監査装置CDは、ステップS34において、関係デバイスのトラスト情報を取得する。ここでは、関係デバイスは、工場FAの制御装置FA1、処理装置FA2、デバイスDaの部品であるものとし、監査装置CDは、これらデバイスについて監査済であるものとする。ステップS34において、監査装置CDは、ステップS33で特定した制御装置FA1のIDを用いて、分散型台帳DL2から制御装置FA1の監査時のトラスト情報を取得する。
ステップS35において、監査装置CDは、関係デバイスとして、ステップS33においてIDを特定したデバイスの1つ(例、制御装置FA1)を選択し、このデバイスが信頼できるか否かを判定する。例えば、監査装置CDは、ステップS34で取得した制御装置FA1の監査時のトラスト情報を参照して、制御装置FA1が信頼できるか否かを判定する。監査装置CDは、監査時のトラスト情報において制御装置FA1が信頼できるデバイスである旨の情報が含まれる場合、又は監査時のトラスト情報において制御装置FA1が信頼できないデバイスである旨の情報が含まれない場合、このデバイスは信頼できると判定する(ステップS35;Yes)。監査装置CDは、関係デバイスについてのトラスト情報が存在しない場合、監査時のトラスト情報において制御装置FA1が信頼できないデバイスである旨の情報が含まれる場合、又は監査時のトラスト情報において制御装置FA1が信頼できるデバイスである旨の情報が含まれない場合、このデバイスは信頼できないと判定する(ステップS35;No)。
監査装置CDは、関係デバイス(例、制御装置FA1)が信頼できると判定した場合(ステップS35;Yes)、ステップS36において、関係デバイスが他にあるか否かを判定する。監査装置CDは、ステップS33においてIDを特定したデバイスの少なくとも1つについて、ステップS35の処理を実行していない場合、関係デバイスが他にあると判定する(ステップS36;Yes)。監査装置CDは、関係デバイスが他にあると判定した場合(ステップS36;Yes)、ステップS34に戻り、ステップS33においてIDを特定した次のデバイス(例、処理装置FA2)を選択し、このデバイスが信頼できるか否かを判定する。
監査装置CDは、関係デバイスのそれぞれについて信頼できると判定し、かつ関係デバイスが他にないと判定した場合(ステップS36;No)、ステップS37において、監査時のトラスト情報として監査対象のデバイスDaが信頼できることを記憶させる。例えば、監査装置CDは、監査対象のデバイスDaのIDと、デバイスDaが信頼できることを示す情報(例、フラグ)とを一組にすることで、監査時のトラスト情報を生成する。監査装置CDは、生成した監査時のトラスト情報を、分散型台帳DL2に記憶させる。
監査装置CDは、関係デバイスの少なくとも1つについて、関係デバイスが信頼できないと判定した場合(ステップS35;No)、監査対象のデバイスDaが信頼できる旨の情報を記憶させることなく、一連の処理を終了する。なお、監査装置CDは、関係デバイスの少なくとも1つについて、関係デバイスが信頼できないと判定した場合(ステップS35;No)、監査対象のデバイスDaが信頼できない旨の情報(例、ブラックリスト)を生成し、この情報を記憶部(例、分散型台帳DL2)に記憶させてもよい。
次に、監査対象のデバイスについて、起動時情報または更新時情報が存在する場合の監査について説明する。ここでは、監査対象のデバイスがデバイスDbであり、上位装置MDによってデバイスDbが更新されて更新時情報が存在するものとする。ステップS31において、監査装置CDは、監査対象のデバイスDbのIDを特定する。監査装置CDは、デバイスDbの記憶域からIDを読み取ってもよいし、デバイスDbを制御する上位装置MDからデバイスDbのIDを取得してもよい。ステップS32において、監査装置CDは、監査対象のデバイスDbのトラスト情報として、更新時情報を取得する。ステップS33において、監査装置CDは、監査対象のデバイスDbに関係する関係デバイスの識別情報を特定する。更新時情報には、関係デバイスのIDとして、デバイスDbの更新に関係する上位装置MDのIDが含まれる。また、監査対象のデバイスDbは、関係デバイスの一つである。
ステップS34において、監査装置CDは、関係デバイスのトラスト情報を取得する。例えば、監査装置CDは、関係デバイスの1つとしてデバイスDbを選択し、デバイスDbに対して今回の更新前であって、デバイスDbに対して前回の更新がなされた場合にそれ以降のデバイスDbのトラスト情報を取得する。ここでは、デバイスDbに対して前回の更新がなされており、その後に監査装置CDがデバイスDbに対して監査済であるとする。監査装置S34は、ステップS31で特定したデバイスDbのIDを用いて、分散型台帳DL2からデバイスDbの前回の監査時のトラスト情報を検索し、デバイスDbの前回の監査時のトラスト情報を取得する。
ステップS35において、監査装置CDは、デバイスDbの前回の監査時のトラスト情報を用いて、関係デバイス(例、今回の更新前のデバイスDb)が信頼できるか否かを判定する。監査装置CDは、今回の更新前のデバイスDbが信頼できると判定した場合(ステップS35;Yes)、ステップS36において関係デバイスが他にあるか否かを判定する。ここでは、関係デバイスとしてデバイスDbの他に上位装置MDが存在するため、監査装置CDは、関係デバイスが他にあると判定する(ステップS36;Yes)。監査装置CDは、関係デバイスが他にあると判定した場合(ステップS36;Yes)、ステップS34に戻り、次の関係デバイスとして上位装置MDのトラスト情報を取得する。監査装置CDは、ステップS35において、関係デバイス(例、上位装置MD)が信頼できるか否かを判定する。監査装置CDは、関係デバイスの全てが信頼できると判定し、かつ監査対象のデバイスDbの更新に使われたファイルが信頼できると判定した場合、更新後のデバイスDbが信頼できると判定する。そして、監査装置CDは、更新後のデバイスDbについて、今回の監査時のトラスト情報として監査対象のデバイスDbが信頼できることを示す情報を記憶部(例、分散型台帳DL2)に記憶させる。
なお、監査装置CDは、第1の監査対象のデバイスと、関係デバイスとの少なくとも1つについて前回の監査時のトラスト情報が存在しない場合、前回の監査時のトラスト情報が存在しないデバイスを第2の監査対象のデバイスに設定する。そして、監査装置CDは、第2の監査対象のデバイスの関係デバイスの各々について、製造時情報と起動時情報と更新時情報とのうち存在する情報に基づいて、関係デバイスが信頼できるか否かを判定する。そして、監査装置CDは、関係デバイスの全てが信頼できると判定した場合、第2の監査対象のデバイスが信頼できる判定する。監査装置CDは、このような処理を繰り返すことによって監査時のトラスト情報を補完し、第1の監査対象のデバイスに対する監査を実行する。
図1の説明に戻り、デバイスDcは、上位装置MDを含むシステム(例、IoTシステム)に組み込みが予定されたデバイスである。上位装置MDは、例えば、デバイスDcの信頼性を確認した上で、デバイスDcをシステムに組み込む処理を実行する。ここで、図1のデバイス管理システム1の構成に基づき、システムにデバイスを組み込む処理について説明する。図5は、システムにデバイスを組み込む処理を示す図である。デバイス管理システム1の各部については、適宜、図1を参照する。
ステップS41において、上位装置MDは、システムに組込対象のデバイスDcのIDを特定する。例えば、上位装置MDは、デバイスDcの記憶域からIDを読み取ることによって、デバイスDcのIDを特定する。ステップS42において、上位装置MDは、組込対象のデバイスDcのトラスト情報を取得する。上位装置MDは、ステップS41で特定したIDを用いて、分散型台帳DL2においてデバイスDcの監査時のトラスト情報を検索する。デバイスDcの監査時のトラスト情報が分散型台帳DL2に記憶されている場合、上位装置MDは、デバイスDcの監査時のトラスト情報を分散型台帳DL2から取得する。また、デバイスDcの監査時のトラスト情報が分散型台帳DL2に記憶されていない場合、上位装置MDは、ステップS41で特定したIDを用いて、デバイスDcの製造時情報と起動時情報と更新時情報とのうち分散型台帳DL1に記憶されているトラスト情報を検索する。デバイスDcのトラスト情報が分散型台帳DL1に記憶されている場合、上位装置MDは、デバイスDcのトラスト情報を分散型台帳DL1から取得する。
上位装置MDは、ステップS43において、ステップS42で取得したトラスト情報を用いて、組込対象のデバイスDcが信頼できるか否かを判定する。例えば、上位装置MDは、ステップS42において監査時のトラスト情報を取得した場合、監査時のトラスト情報に基づいてデバイスDcが信頼できるか否かを判定する。上位装置MDは、監査時のトラスト情報にデバイスDcが信頼できる旨の情報が含まれる場合、または監査時のトラスト情報にデバイスDcが信頼できない旨の情報が含まれない場合、デバイスDcが信頼できると判定する(ステップS43;Yes)。上位装置MDは、ステップS42においてトラスト情報として製造時情報、起動時情報、及び更新時情報のうち存在する情報を取得した場合、図4で説明した監査装置CDと同様の処理によって、デバイスDcついて監査を実行する。なお、デバイスDcの監査時のトラスト情報が存在しない場合、上位装置MDは、監査装置CDに対してデバイスDcについての監査の実行を要求し、その監査結果を用いて、ステップS43の処理を実行してもよい。
上位装置MDは、組込対象のデバイスDcが信頼できると判定した場合(ステップS43;Yes)、ステップS44において、デイバスDcをシステムに組み込む処理を実行する。上位装置MDは、組込対象のデバイスDcが信頼できないと判定した場合(ステップS43;No)、デイバスDcをシステムに組み込む処理を実行せずに、一連の処理を終了する。このように、実施形態に係るデバイス管理システムは、複数のデバイスを含むシステムを管理する管理装置(例、上位装置)を備え、管理装置は、管理対象のデバイスが信頼できるか否かを第2の情報処理装置が判定した結果に基づいて、管理対象のデバイスをシステムに組み込むか否かを判定してもよい。
本実施形態のデバイス管理システム1は、例えば、第1のデバイスに関係する第2のデバイスの信頼性を示す情報を記憶部に記憶する。したがって、デバイス管理システム1は、第2のデバイスの信頼性に基づいて、第1のデバイスの信頼性を評価できる。例えば、デバイス管理システム1は、第1のデバイスの変更に関係する全ての関係デバイスが信頼できると判定した場合、第1のデバイスも信頼できると判定する。この場合、デバイス管理システム1は、複数のデバイスの信頼性を連鎖的に評価することができる。デバイス管理システム1は、信頼性が評価されたデバイスの数が増えることにより、例えばセキュアなシステムを容易に構築することに寄与する。
本実施形態に係るデバイス管理システム1は、トラスト情報を記憶させる第1の情報処理装置と、トラスト情報を読み出してデバイスの信頼性を判定する第2の情報処理装置との一方または双方を含む。デバイス管理システム1は、上記第1の情報処理装置または上記第2の情報処理装置を含まなくてもよい。例えば、デバイス管理システム1は、トラスト情報を記憶させる第1の情報処理装置を含み、トラスト情報を読み出してデバイスの信頼性を判定する第2の情報処理装置は、デバイス管理システム1の外部の装置であって、デバイス管理システム1が提供する情報を利用する装置であってもよい。また、デバイス管理システム1は、トラスト情報を読み出してデバイスの信頼性を判定する第2の情報処理装置を含み、トラスト情報を記憶させる第1の情報処理装置は、デバイス管理システム1の外部の装置であって、デバイス管理システム1へ情報を提供する装置であってもよい。
また、デバイス管理システム1は、上記第1の情報処理装置と、上記第2の情報処理装置とのいずれとも異なる装置を含まなくてもよい。例えば、デバイス管理システム1は、記憶部DL1と記憶部DL2との一方または双方を備えなくてもよい。記憶部DL1と記憶部DL2との一方または双方は、デバイス管理システム1の外部の装置であって、デバイス管理システム1へ情報を提供する装置であってもよい。
また、デバイス管理システム1は、監査装置CDを含まなくてもよい。例えば、デバイス管理システム1は、監査時のトラスト情報を生成しなくてもよく、この場合、記憶部DL2が設けられなくてもよい。デバイス管理システム1は、監査装置CDを含まない場合であっても、製造時情報と起動時情報と更新時情報とのうち存在するトラスト情報を用いて、デバイスが信頼できるか否かを判定することができる。例えば、デバイス管理システム1は、製造時情報と起動時情報と更新時情報とのうち所定の情報が不足する場合、デバイスが信頼できないと判定し、その他の場合にデバイスが信頼できると判定してもよい。ここで、製造時情報は、管理対象のデバイスの部品の情報を含むとする。第2の情報処理装置は、製造時情報を用いて管理対象のデバイスの信頼性を確認(例、評価、判定)する場合、例えば、管理対象のデバイスについての製造時情報を記憶部から取得し、製造時情報に含まれる部品の情報を用いて、各部品が信頼できるか否かを判定する。例えば、第2の情報処理装置は、部品のIDが所定の条件を満たす場合、この部品が信頼できると判定する。所定の条件は、例えば、信頼できる部品のIDを登録したデータベースに、管理対象の部品のIDが含まれることを含む。上記データベースは、例えば、デバイスが所定の規格を満たすか否かを検査する検査機関が、規格を満たすデバイスのIDを登録するデータベース等でもよい。第2の情報処理装置は、例えば、製造時情報に含まれる部品のIDの全てが所定の条件を満たす場合、管理対象のデバイスが信頼できると判定する。第2の情報処理装置は、製造時情報に含まれる部品のIDのうち少なくとも1つが所定の条件を満たさない場合、管理対象のデバイスが信頼できないと判定してもよい。第2の情報処理装置は、製造時情報に含まれる部品のIDのうち少なくとも1つが所定の条件を満たさない場合、所定の条件を満たさないIDに対応する部品について、信頼できるか否かを外部に問い合わせてもよい。例えば、第2の処理装置は、所定の条件を満たさないIDに対応する部品について、管理対象のデバイスの所有者または利用者から、この部品が信頼できるか否かを示す入力を受け付けてもよい。第2の情報処理装置は、所定の条件を満たさないIDに対応する部品について、信頼できることを示す入力が管理対象のデバイスの所有者または利用者からあった場合、管理対象のデバイスを信頼できると判定してもよい。
また、上位装置MDは、起動時情報と更新時情報との一方または双方に基づいて、デバイスDbが信頼できるか否かを判定してもよい。例えば、上位装置MDは、デバイスDbのソフトウェアを更新する処理をデバイスDbに実行させ、デバイスDbは、起動時情報と更新時情報との一方または双方を生成するものとする。上位装置MDは、デバイスDbがソフトウェアを更新する際にデバイスDbに提供するソフトウェアから想定されるハッシュ値と、デバイスDbが生成した起動時情報あるいは更新時情報に含まれるハッシュ値とを比較する。上位装置MDは、デバイスDbが生成した起動時情報あるいは更新時情報に含まれるハッシュ値が想定値と異なる場合、デバイスDbが信頼できないと判定してもよい。上位装置MDは、信頼できないと判定したデバイスDbの機能を制限してもよい。例えば、上位装置MDは、デバイスDbが出力する情報を利用しない、デバイスDbの少なくとも一部の機能を停止させる、デバイスDbをネットワークから遮断する等の処理の少なくとも1つを実行してもよい。このように、実施形態に係るデバイス管理システムは、第2の情報処理装置が管理対象のデバイスの信頼性を判定した結果を用いて、管理対象のデバイスを制御する制御部(例、上位装置)を備えてもよい。ここで、更新時情報は、デバイスの更新処理に使われる更新プログラムのファイルを特定する情報と、このファイルのハッシュ値とを含むとする。正規の更新プログラムのファイルを特定する情報と、このファイルのハッシュ値とが関連付けられた情報は、データベースに予め登録されてもよい。正規の更新プログラムは、例えば、公的機関によって認証された提供者から提供されるプログラムである。第2の情報処理装置は、管理対象のデバイスについての更新時情報に含まれ、更新処理に使われる更新プログラムのファイルを特定する情報と、このファイルのハッシュ値とを関連付けられた情報が上記データベースに登録されている場合、管理対象のデバイスで実行された更新処理が正規の処理であると判定してもよい。第2の情報処理装置は、更新処理前の管理対象のデバイスが信頼できると判定され、かつこの更新処理が正規の処理であると判定された場合、更新処理後の管理対象のデバイスが信頼できると判定してもよい。
上述の実施形態において、上記第1の情報処理装置は、例えばコンピュータシステムを含む。第1の情報処理装置は、記憶部と処理部とを備え、記憶部に記憶されているプログラムを読み出し、このプログラムに従って処理部が各種の処理を実行する。また、上記第2の情報処理装置は、例えばコンピュータシステムを含む。第2の情報処理装置は、記憶部と処理部とを備え、記憶部に記憶されているプログラムを読み出し、このプログラムに従って処理部が各種の処理を実行する。
図6は、実施形態に係るデバイス管理システムを示す図である。デバイス管理システム1は、複数の情報処理装置2と、ネットワーク3とを備える。複数の情報処理装置2は、それぞれ、複数の情報処理装置2のうち自装置以外の情報処理装置2と、ネットワーク3を介して接続される。ネットワーク3は、例えばP2P(ピア・ツー・ピア)型ネットワークである。ネットワーク3は、有線のネットワークであってもよいし、無線のネットワークであってもよい。ネットワーク3は、例えばインターネット網である。デバイス管理システム1は、分散型台帳技術(Distributed Ledger Technology)を利用する。複数の情報処理装置2のそれぞれは、分散型台帳技術におけるノードを構成する。本実施形態のデバイス管理システム1は、IOTA(アイオータ)のTangle(タングル)を分散型台帳として用いるが、他の分散型台帳を用いてもよい。例えば、分散型台帳として、Ethereum(イーサリアム(登録商標))のブロックチェーンを用いてもよい。
図7は、デバイス管理システムが管理するデバイスを示す図である。デバイス管理システム1はIoTデバイス5の管理を行う。IoTデバイス5は、ネットワーク4によって情報処理装置2と接続される。情報処理装置2は、IoTデバイス5の動作制御を行う。ネットワーク4は、有線のネットワークであってもよいし、無線のネットワークであってもよい。ネットワーク4は、例えばインターネット網である。IoTデバイス5は、温度、湿度、圧力、光量、音量などの自然現象や、物体の向きや位置の移動速度及びその加速度などの、既知の変動量を検出する如何なるセンサーであってもよい。また、IoTデバイス5は、周囲を撮影可能なカメラであってもよい。また、IoTデバイス5は、エアコンなどの家電製品、自動車、ロボットなど如何なる製品であってもよい。本実施形態のデバイス管理システム1は、管理するデバイスがIoTデバイスであるとするが、ネットワークで接続されないデバイスを管理するものであってもよい。IoTデバイス5は、分散型台帳技術におけるノードを構成するデバイスであってもよい。
図8は、情報処理装置を示す図である。情報処理装置2は、一般にパソコンと呼ばれる装置であってもよく、ワークステーション、メインフレーム、或いはスーパーコンピュータと呼ばれる装置であってもよい。また、情報処理装置2は、スマートフォンやタブレットと呼ばれる装置であってもよい。また、情報処理装置2は、コンピュータの機能のほかに、センサー機能やカメラ機能といったそのデバイス特有の機能を有する各種デバイスであってもよい。ここでは、情報処理装置2の一例としての端末装置11の構成について説明する。端末装置11は、各種の処理を行う処理部12と、操作者に対する入出力を行う入出力部13と、処理部12で動作するプログラムや各種のデータを記憶する記憶部14と、ネットワーク3及びネットワーク4を介した通信を行う通信部15と、を有して構成される。なお、端末装置11は、本実施形態のデバイス管理システム1で管理されるデバイスであってもよい。インターネットに接続可能なすべての装置は、本実施形態のデバイス管理システム1による管理対象のIoTデバイスである。
処理部12は、CPUやMPUと呼ばれる演算装置である。処理部12は、記憶部14に記憶されたプログラムを実行する。入出力部13は、キーボード、マウス、ディスプレイといった入出力装置である。記憶部14は、RAMやROM、ハードディスク、さらに磁気的記憶装置、光学的記憶装置など、既知のいかなる記憶装置であってもよい。複数の情報処理装置2のそれぞれは、すべて同じ構成であってもよいし、装置ごとに、他の装置と異なる構成を有するものであってもよい。
図9は、デバイス管理システムが管理するデバイスを示す図である。デバイス16は、各種の処理を行う処理部17と、そのデバイス特有の機能を実行するデバイス機能実行部18と、処理部17で動作するプログラムや各種のデータを記憶する記憶部19と、ネットワーク4を介した通信を行う通信部20と、を有して構成される。処理部17は、CPUやMPUと呼ばれる演算装置である。処理部17は、記憶部19に記憶されたプログラムを実行する。記憶部14は、RAMやROM、ハードディスク、さらに磁気的記憶装置、光学的記憶装置など、既知のいかなる記憶装置であってもよい。複数の情報処理装置2のそれぞれは、すべて同じ構成であってもよいし、装置ごとに、他の装置と異なる構成を有するものであってもよい。
デバイス機能実行部18は、そのデバイス特有の機能を実行する構成である。デバイス16がセンサーである場合には、デバイス機能実行部18は、対象の検知を行う検知素子、及び検知素子を制御する制御部などを有する。デバイス16がカメラである場合には、デバイス機能実行部18は、周囲を撮像する撮像素子、撮像素子で得た撮像画像に対して画像処理を施す画像処理部、及び撮像素子や画像処理部を制御する制御部などを有する。デバイス16がエアコンである場合には、デバイス機能実行部18は、冷凍サイクルに係る各構成を駆動する駆動部、温度や湿度を検知する検知部、及び駆動部や検知部を制御する制御部などを有する。デバイス16が自動車である場合には、デバイス機能実行部18は、自動車の走行に係る各構成を駆動する駆動部、車外の安全性に関する状況や車内の快適性に関する状況などを検知する検知部、及び駆動部や検知部を制御する制御部などを有する。デバイス16がロボットである場合には、デバイス機能実行部18は、ロボットを駆動する駆動部、ロボットの周囲状況を検知する検知部、及び駆動部や検知部を制御する制御部などを有する。デバイス16がロボットである場合は、このロボットによって、本実施形態のデバイス管理システム1による管理対象のIoTデバイスを製造してもよい。このようにすることによって、より信頼性の高いIoTデバイスを製造することができる。
図10は、記憶部の一例である分散型台帳を示す図である。本実施形態のデバイス管理システム1では、ノードとして、分散型台帳の一例であるタングルを有するフルノードと、タングルを有しないライトウォレットと、を有する。フルノードは自身が有するタングルと、他のフルノードが有するタングルとを同期させる。ライトウォレットは、ライトノードとも呼ばれる。ここでは、ライトウォレットをライトノードと呼ぶ。ライトノードは、自身でタングルを有しない分、タングルの管理などが不要なので動作上の負担が小さくて済むが、フルノードから情報を得て動作する場合にはわずかながら通信時間による処理の遅延が生じるおそれがある。フルノードでは、自身でタングルを管理する負担があるが、自身が有するタングルを用いることで通信の必要がなく、他の装置に依存せず動作可能である。なお、デバイス管理システム1においては、各装置間又は各装置内で生じる情報の授受に対して課金するようにしてもよい。わずかな情報の授受では課金額もわずかであるが、仮想通貨であるIOTAで課金額の支払いをすることで、マイクロペイメントに適したシステムを構築することができる。情報処理装置2、IoTデバイス5、端末装置11、デバイス16は、フルノードであってもよいし、ライトノードであってもよい。
図11は、分散型台帳の一例であるタングルを示す図である。タングルは、DAG(有向非巡回グラフ)を用いている。図11に示したデバイス管理システム1において、分散型台帳に情報を記帳するということは、タングルにトランザクション(TX)を記録することになる。新たなトランザクションを記録する際には、プルーフオブワーク(PoW)が実行される。IOTAのタングルを分散型台帳として用いることで、分散型台帳への記帳速度を速くすることができる。
図12は、デバイスの製造時情報を記憶するデバイス管理システムを示す図である。デバイス製造時用分散型台帳101は、デバイス管理システム1が管理するデバイス(以下、「管理対象デバイス」という)の製造工程に係る情報である製造時情報を記帳する分散型台帳である。デバイス製造時用分散型台帳101は、デバイス管理システム1を構成するフルノードが有するタングルである。端末装置11は、製造時情報16aをデバイス製造時用分散型台帳101に記帳する。
端末装置11は、デバイスを製造する設備(例、図1の工場FA、製造ライン)に配置される装置、またはデバイスを製造する設備に配置される装置と通信可能に接続される装置である。端末装置11は、例えば、図1の制御装置FA1に相当する。端末装置11は、書き換え不能な記憶域(例えば、TrustZone(登録商標))を有する。この記憶域は、製造時情報を生成する処理を端末装置11の処理部に実行させるプログラムを記憶する。端末装置11の処理部は、上記プログラムに従って、製造過程のデバイスに部品が組み込まれたことを検出し、この部品のIDと、部品を組み込む製造ラインの情報とを、製造対象のデバイスのIDと関連付けることで、製造時情報を生成する。製造ラインの情報は、例えば、処理を実行する処理装置(例えば、図1の処理装置FA2)の情報(例えば、ID)を含む。端末装置11の記憶域に記憶されたプログラムは、生成した製造時情報を分散型台帳に記帳する処理を、端末装置11の処理部に実行させる。
製造時情報16aは、デバイス製造時用分散型台帳101におけるトランザクションである。製造時情報16aは、管理対象デバイスを製造する際の情報である。製造時情報16aは、管理対象デバイスの製造工程において、管理対象デバイスを構成する部品が選択され、組付けられる都度、発生する。例えば、管理対象デバイスの製造工程において、管理対象デバイスを構成する部品である回路基板Aが選択され、回路基板Aに電子部品B(CPU、メモリ等)が実装された場合、その管理対象デバイスに対し、回路基板Aについての製造時情報16aが発生するとともに、電子部品Bについての製造時情報16aが発生する。
製造時情報16aは、管理対象デバイスを特定可能なデバイスIDと、管理対象デバイスを構成する部品を特定可能な部品IDと、部品IDが示す部品を管理対象デバイスに組み入れた製造ラインを特定可能な製造ラインIDと、部品IDが示す部品を管理対象デバイスに組み入れた時刻を示す製造時刻情報とを含む。また、製造時情報16aは、部品ID、製造ラインID及び製造時刻情報を、デバイスIDに紐付けた情報である。製造ラインIDは、作業者または製造装置を特定するため、作業者担当者IDまたは製造装置(ロボット)IDを含んでもよい。
図13は、デバイスの製造時情報を記憶する処理を示す図である。図13は、端末装置11が実行する処理を示す。まず、端末装置11の処理部12は、新たに発生した製造時情報16aがあるか否かを検出する(ステップS801)。製造時情報16aは、製造担当者が端末装置11の入出力部13を操作して端末装置11に入力してもよい。また、ロボットが管理対象デバイスを製造する場合には、そのロボットが端末装置11の通信部15を介して端末装置11に製造時情報16aを入力してもよい。
ステップS801において、新たに発生した製造時情報16aがある場合には、処理部12は、デバイス製造時用分散型台帳101に今回の製造時情報16aを記帳し(ステップS802)、処理を終了する。ステップS801において、新たに発生した製造時情報16aがない場合には、処理部12は、そのまま処理を終了する。なお、デバイス製造時用分散型台帳101に記帳する端末装置11は、情報処理装置2、IoTデバイス5又はデバイス16のいずれかであってもよいし、管理対象デバイス自身であってもよい。一般に、デバイス製造工程は、部品の実装、組み立て、検査など複数の工程に分かれる。製造時情報16aは、工程ごとに記録してもよいし、最終の組み立て・検査工程で少なくとも一回記録してもよい。
図14は、デバイスの起動時情報を記憶するデバイス管理システムを示す図である。デバイス変更履歴用分散型台帳102は、管理対象デバイスの起動工程に係る情報である起動時情報16bを記帳する分散型台帳である。デバイス変更履歴用分散型台帳102は、デバイス管理システム1を構成するフルノードが有するタングルである。デバイス変更履歴用分散型台帳102は、デバイス製造時用分散型台帳101と同じ分散型台帳であってもよい。端末装置11は、起動時情報16bをデバイス変更履歴用分散型台帳102に記帳する。端末装置11は、例えば、管理対象のデバイス(例、図1のデバイスDb)、又は管理対象のデバイスを制御するデバイス(例、図1の上位装置MD)である。
起動時情報16bは、デバイス変更履歴用分散型台帳102におけるトランザクションである。起動時情報16bは、管理対象デバイスを起動する際の情報である。製造工程において製造された管理対象デバイスは、起動時に起動工程を実施する。この起動工程では、管理対象デバイスを初期化して起動する。本実施形態では、管理対象デバイスは、プログラムを記憶したROM、ROMに記憶したプログラムを実行するCPUおよびセキュアエレメントを有する。セキュアエレメントは耐タンパー性を有するTPM(Trusted Platform Module)、SIM(Subscriber Identity Module)、SAM(Secure Application Module)であってもよいし、既知の他の如何なる構成を設けてもよい。セキュアエレメントは、デジタル署名の検証鍵を保存できる機能を有していれば、必ずしも耐タンパー性を備えている必要は無く、例えばCPU内に通常のメモリとは別に存在するTrustZoneと呼ばれる仕組みを使ってもよい。管理対象デバイスの起動工程が実施されると、起動時情報16bが発生する。
例えば、上記セキュアエレメントには、端末装置11の処理部12に、起動時情報を生成する処理を実行させるプログラムが格納されている。処理部12は、デバイスを起動するタイミングで、起動時の処理を定義するソースコードが記述されたファイルのハッシュ値および起動ログを生成する。処理部12は、生成したハッシュ値および起動ログの少なくとも一部と、デバイスのIDとを含む起動時情報を生成する。また、上記セキュアエレメントには、端末装置11の処理部12に、起動時情報を分散型台帳に記帳する処理を実行させるプログラムが格納されている。処理部12は、このプログラムに従って、生成した起動時情報を分散型台帳へ記帳する。
起動時情報16bは、管理対象デバイスを特定可能なデバイスIDと、管理対象デバイスの起動工程を実施した時刻を示す検証時刻情報と、管理対象デバイスの起動工程に用いたプログラムやデータのファイルのハッシュ値と、管理対象デバイスによるデジタル署名と、を含む。また、起動時情報16bは、検証時刻情報、ハッシュ値及びデジタル署名を、デバイスIDに紐付けた情報である。
図15は、デバイスの起動時情報を記憶する処理を示す図である。図15は、端末装置11が実行する処理を示す。まず、端末装置11の処理部12は、新たに発生した起動時情報16bがあるか否かを検出する(ステップS1001)。管理対象デバイスは、端末装置11の通信部15を介して、起動時情報16bを端末装置11に入力してもよい。なお、管理対象デバイス自身が、起動時情報16bをデバイス変更履歴用分散型台帳102に記帳してもよい。
ステップS1001において、新たに発生した起動時情報16bがある場合には、処理部12は、デバイス変更履歴用分散型台帳102に今回の起動時情報16bを記帳し(ステップS1002)、処理を終了する。ステップS1001において、新たに発生した起動時情報16bがない場合には、処理部12は、そのまま処理を終了する。なお、デバイス変更履歴用分散型台帳102に記帳する端末装置11は、情報処理装置2、IoTデバイス5又はデバイス16のいずれかであってもよいし、管理対象デバイス自身であってもよい。
図16は、デバイスの更新時情報を記憶するデバイス管理システムを示す図である。デバイス変更履歴用分散型台帳102は、起動時情報16bに加えて、管理対象デバイスの更新工程に係る情報である更新時情報16cを記帳する分散型台帳である。デバイス変更履歴用分散型台帳102は、デバイス管理システム1を構成するフルノードが有するタングルである。端末装置11は、更新時情報16cをデバイス変更履歴用分散型台帳102に記帳する。端末装置11は、例えば、管理対象のデバイス(例、図1のデバイスDb)、又は管理対象のデバイスを制御するデバイス(例、図1の上位装置MD)である。
更新時情報16cは、デバイス変更履歴用分散型台帳102におけるトランザクションである。更新時情報16cは、管理対象デバイスを更新する際の情報である。起動工程において起動された管理対象デバイスは、動作中に、プログラムの更新を行う更新工程を実施する。例えば、管理対象デバイスは、ファームウェアのパッチ、管理対象デバイス特有の機能において新機能を追加するプログラム、バグを修正するプログラム、及び各種データ等をインターネット経由で受信し、受信したプログラム等で、管理対象デバイスで実行するプログラムを更新する。本実施形態では、管理対象デバイスは、管理対象デバイスで実行するファームウェア(FW)、及び管理対象デバイスで実行するプログラムや実行に際して利用するデータのファイル(File)を有する。なお、ファームウェアもプログラムの一種である。管理対象デバイスの更新工程が実施されると、更新時情報16cが発生する。管理対象デバイスの更新工程は、例えば端末装置11により管理対象デバイスのファームウェアやコンフィグファイルのアップデートを含んでもよい。この場合、端末装置11は、アップデートに関する更新時情報16cをデバイス変更履歴用分散型台帳102に記帳する。
例えば、上記セキュアエレメントには、端末装置11の処理部12に、更新時情報を生成する処理を実行させるプログラムが格納されている。処理部12は、デバイスを更新するタイミングで、更新時の処理を定義するソースコードが記述されたファイルのハッシュ値および更新ログを生成する。処理部12は、生成したハッシュ値および更新ログの少なくとも一部と、デバイスのIDとを含む起動時情報を生成する。また、上記セキュアエレメントには、端末装置11の処理部12に、更新時情報を分散型台帳に記帳する処理を実行させるプログラムが格納されている。処理部12は、このプログラムに従って、生成した更新時情報を分散型台帳へ記帳する。
更新時情報16cは、管理対象デバイスを特定可能なデバイスIDと、管理対象デバイスの更新工程を実施した時刻を示す検証時刻情報と、管理対象デバイスの更新工程に用いたプログラムやデータのファイルのハッシュ値と、管理対象デバイスによるデジタル署名と、を含む。また、更新時情報16cは、検証時刻情報、ハッシュ値及びデジタル署名を、デバイスIDに紐付けた情報である。
図17は、デバイスの起動時情報を記憶する処理を示す図である。図17は、端末装置11が実行する処理を示す。まず、端末装置11の処理部12は、新たに発生した更新時情報16cがあるか否かを検出する(ステップS1201)。管理対象デバイスは、端末装置11の通信部15を介して、更新時情報16cを端末装置11に入力してもよい。なお、管理対象デバイス自身が、更新時情報16cをデバイス変更履歴用分散型台帳102に記帳してもよい。
ステップS1201において、新たに発生した更新時情報16cがある場合には、処理部12は、デバイス変更履歴用分散型台帳102に今回の更新時情報16cを記帳し(ステップS1202)、処理を終了する。ステップS1201において、新たに発生した更新時情報16cがない場合には、処理部12は、そのまま処理を終了する。なお、デバイス変更履歴用分散型台帳102に記帳する端末装置11は、情報処理装置2、IoTデバイス5又はデバイス16のいずれかであってもよいし、管理対象デバイス自身であってもよい。
なお、端末装置11は、新たな更新時情報16cがある場合(更新がされたとき)だけではなく、更新がされていなくても所定時間ごとに、現在の管理対象デバイスの状態を示す更新時情報16cをデバイス変更履歴用分散型台帳102に記帳するようにしてもよい。現在の管理対象デバイスの状態を示す更新時情報16cは、管理対象デバイスを特定可能なデバイスIDと、現在の時刻を示す検証時刻情報と、管理対象デバイスで現在実行されているプログラムやデータのファイルのハッシュ値と、管理対象デバイスによるデジタル署名と、を含む。また、更新時情報16cは、検証時刻情報、ハッシュ値及びデジタル署名を、デバイスIDに紐付けた情報である。
図18は、デバイスの更新時情報を所定時間ごとに記憶する処理を示す図である。図18は、端末装置11が実行する処理を示す。まず、端末装置11の処理部12は、前回の更新時情報16cの記帳から所定時間経過したかを確認する(ステップS1301)。なお、ステップS1301で判定する所定時間は、管理対象デバイスが改竄されるおそれがある頻度に応じて定めるようにしてもよい。また、所定時間は一定の時間にしてもよいし、変動させてもよい。管理対象デバイスは、端末装置11の通信部15を介して、更新時情報16cを端末装置11に入力してもよい。なお、管理対象デバイス自身が、更新時情報16cをデバイス変更履歴用分散型台帳102に記帳してもよい。
ステップS1301において、所定時間経過した場合には、処理部12は、デバイス変更履歴用分散型台帳102に今回の起動時情報16bを記帳し(ステップS1302)、処理を終了する。ステップS1301において、所定時間経過しない場合には、処理部12は、そのまま処理を終了する。なお、デバイス変更履歴用分散型台帳102に記帳する端末装置11は、情報処理装置2、IoTデバイス5又はデバイス16のいずれかであってもよいし、管理対象デバイス自身であってもよい。図18に示した処理によれば、管理対象デバイスが更新されているにもかかわらず、更新されていない状態を装う改竄に対しても対応することができ、管理対象デバイスの現在の状況が正しくデバイス変更履歴用分散型台帳102に反映される。
図19は、複数のトラスト情報を参照するデバイス管理システムを示す図である。デバイス管理システム1において、例えば端末装置11は、デバイス製造時用分散型台帳101に記帳された製造時情報16a、デバイス変更履歴用分散型台帳102に記帳された起動時情報16b、及びデバイス変更履歴用分散型台帳102に記帳された更新時情報16cを参照する。
図20は、複数のトラスト情報を参照する処理を示す図である。図20は、端末装置11が実行する処理を示す。まず、端末装置11は、管理対象デバイスの信頼性を確認する処理が発生したかを判定する(ステップS1501)。管理対象デバイスの信頼性を確認する処理とは、例えば、ある管理対象デバイスの動作に何らかの不審な動きがあったときに、その管理対象デバイスの状態を確認する処理を含む。管理対象デバイスの信頼性を確認する処理とは、例えば、ある管理対象デバイスからのデータを利用する際に、その管理対象デバイスの信頼性を確認する処理を含む。管理対象デバイスの信頼性を確認する処理とは、例えば、ある管理対象デバイスを駆動制御する際に、その管理対象デバイスの信頼性を確認する処理を含む。管理対象デバイスの信頼性を確認する処理とは、例えば、ある管理対象デバイスの監査などが必要になったときに、その管理対象デバイスの状態を確認する処理を含む。
ステップS1501において、管理対象デバイスの信頼性を確認する処理が発生していない場合には、端末装置11は、そのまま処理を終了する。ステップS1501において、管理対象デバイスの信頼性を確認する処理が発生した場合には、ステップS1502において、端末装置11は、今回信頼性を確認する管理対象デバイスがどのデバイスなのかを特定するデバイスIDを取得する。このデバイスIDの取得は、入出力部13から入力されることで取得してもよいし、通信部15を介して外部から受信することで取得してもよいし、記憶部14から読み出してくることで取得してもよい。さらに、ステップS1502において、端末装置11は、取得したデバイスIDについての製造時情報16aをデバイス製造時用分散型台帳101から読み出し、取得したデバイスIDについての起動時情報16bをデバイス変更履歴用分散型台帳102から読み出し、取得したデバイスIDについての更新時情報16cをデバイス変更履歴用分散型台帳102から読み出す。
続いて、端末装置11は、ステップS1501で読み出した製造時情報16a、起動時情報16b及び更新時情報16cを判定し、管理対象デバイスの現在の信頼性を確認する(ステップS1503)。ステップS1504では、ステップS1503の判定結果である、管理対象デバイスの現在の信頼性に基づいた制御を行った後、処理を終了する。例えば、デバイス製造時用分散型台帳101から読み出した製造時情報16aに、当初予定した部品以外の部品についての情報が含まれていた場合には、その管理対象デバイスを利用しない制御を行うことができる。また、例えば、デバイス変更履歴用分散型台帳102から読み出した更新時情報16cに、非正規のアップデートについての情報が含まれていた場合には、その管理対象デバイスを利用しない制御を行うことができる。また、例えば、製造時情報16a、起動時情報16b及び更新時情報16cに何ら不審な点が無ければ、その管理対象デバイスが信頼できるデバイスであるとして利用する制御を行うことができる。なお、図20の処理を実行する端末装置11は、情報処理装置2、IoTデバイス5又はデバイス16のいずれかであってもよいし、管理対象デバイス自身であってもよい。このように本実施形態によれば、管理対象デバイスに対してトレーサビリティな環境を提供することができる。また、本実施形態によれば、第三者に対して、管理対象デバイスが正当なデバイスであることを主張する根拠を提供することができる。
図21は、実施形態に係るデバイス管理システムを適用した実施例を示す図である。本実施例は、実施形態に係るデバイス管理システムを、人物の足跡を追う人物追跡システムに適用した例である。人物追跡システム1600は、管理対象デバイスである監視カメラ1606、1607及び1608を有する。監視カメラ1606、1607及び1608の製造時、起動時及び更新時の情報は、随時分散型台帳1602に記帳される。監視カメラ1606、1607及び1608の信頼性は分散型台帳1602によって保証される。分散型台帳1602は、信頼できるデバイス足る根拠となるエビデンスが記帳された分散型台帳1601を参照する。
人物1605の顔画像は分散型台帳1604に記帳されている。監視カメラ1606、1607及び1608は、分散型台帳1604に記帳された顔画像と、自身が撮影した人物の顔画像とを突合することで、人物1605が監視カメラ1606、1607及び1608の設置位置を通過したという行動履歴を取得する。この行動履歴は分散型台帳1603に記帳される。この行動履歴の記帳の際には、分散型台帳1602が参照され、監視カメラ1606、1607及び1608の撮影結果の信頼性が保証される。店舗1609では、分散型台帳1603を参照し、人物1605の行動パターンや購入傾向などを分析し、商品仕入れや商品開発に利用することができる。
図22は、実施形態に係るデバイス管理システムを適用した実施例を示す図である。本実施例は、実施形態に係るデバイス管理システムを、危険運転車を判別する危険車判別システムに適用した例である。危険車判別システム1700は、管理対象デバイスである監視カメラ1705及び1706を有する。監視カメラ1705及び1706は、車両1704に搭載される。監視カメラ1705は車両1704の前方を撮影し、先行車1707の運転状況を撮影する。監視カメラ1706は車両1704の後方を撮影し、後続車1708の運転状況を撮影する。監視カメラ1705及び1706の製造時、起動時及び更新時の情報は、随時分散型台帳1702に記帳される。監視カメラ1705及び1706の信頼性は分散型台帳1702によって保証される。分散型台帳1702は、信頼できるデバイス足る根拠となるエビデンスが記帳された分散型台帳1701を参照する。
監視カメラ1705及び1706で撮影された、先行車や後続車の運転状況や車両ナンバーは分散型台帳1703に記帳される。また、監視カメラ1705及び1706は、分散型台帳1703に過去に記帳された内容を参照することで、過去に危険運転をした車両の車両ナンバーを取得することができる。監視カメラ1705及び1706は、現在撮影している先行車や後続車の車両ナンバーと、分散型台帳1703から取得した過去に危険運転をした車両の車両ナンバーとを突合することで、先行車や後続車が危険運転をするおそれについて、車両1704を運転する運転者のスマートフォン1710に通知したり、車両1704に搭載されたナビゲーションシステム1709に通知したりすることができる。
デバイス管理システムの1つの形態は、分散型台帳(デバイス製造時用分散型台帳101、デバイス変更履歴用分散型台帳102)と、デバイスの製造工程に係る情報である製造時情報、前記デバイスの起動工程に係る情報である起動時情報、及び前記デバイスの更新工程に係る情報である更新時情報のうちの少なくとも一つの情報を前記分散型台帳に記帳する記帳手段(S802、S1002、S1202、S1302)と、前記分散型台帳に記帳された情報を読み出す情報読出手段(S1502)と、を有する。これにより、デバイスの信頼性を向上可能なデバイス管理システムを提供する。また、デバイスに関する情報を分散型台帳に記帳することにより、情報が改竄されにくくすることができる。また、パブリックな分散型台帳に記帳するようにすれば、デバイスに関する情報を誰でもが参照可能なシステムを提供することができ、デバイスの信頼性を誰でもが確認することができる。
デバイス管理システムの1つの形態において、前記分散型台帳がタングル(図6参照)である。これにより、分散型台帳への記帳をリアルタイムで行うことができる。また、記帳の際に手数料が必要となる他の分散型台帳と異なり、分散型台帳への記帳を無料で行うことができる。また、スケーラビリティのあるシステムを提供することができる。また、仮想通貨IOTAを利用したマイクロペイメントとの親和性が高いシステムを提供することができる。
デバイス管理システムの1つの形態において、前記製造時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスを構成する部品を特定可能な部品IDと、前記部品IDが示す部品を前記デバイスに組み入れた製造ラインを特定可能な製造ラインIDと、前記部品IDが示す部品を前記デバイスに組み入れた時刻を示す製造時刻情報と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの製造時についての信頼性を高めたシステムを提供することができる。
デバイス管理システムの1つの形態において、前記起動時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスの起動工程を実施した時刻を示す検証時刻情報と、前記デバイスの起動工程に用いたファイルのハッシュ値と、前記デバイスによるデジタル署名と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの起動時についての信頼性を高めたシステムを提供することができる。
デバイス管理システムの1つの形態において、前記更新時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスの更新工程を実施した時刻を示す検証時刻情報と、前記デバイスの更新工程に用いたファイルのハッシュ値と、前記デバイスによるデジタル署名と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの更新時についての信頼性を高めたシステムを提供することができる。
デバイス管理システムの1つの形態において、前記デジタル署名は、前記ファイルのハッシュ値を秘密鍵で暗号化して得られたデジタル署名である。これにより、また、分散型台帳に記帳したデバイスに関する情報を、より改竄されにくくすることができる。
デバイス管理システムの1つの形態において、前記デバイスは、IoTデバイスである。これにより、インターネット接続されることでマルウェア等の攻撃を受ける可能性があるIoTデバイスに対し、その信頼性を高めることができる。また、この形態によれば、例えばマルウェアによって、IoTデバイスを制御するプログラムが書き換えられたとしても、その書き換えられたことが分散型台帳に記帳されるので、そのIoTデバイスの現況について知ることができ、操作者は、そのIoTデバイスを活用するか否かを判断する際の判断材料を得ることができる。
デバイス管理方法の1つの形態は、コンピュータを用いてデバイスの管理を行うデバイス管理方法であって、デバイスの製造工程に係る情報である製造時情報、前記デバイスの起動工程に係る情報である起動時情報、及び前記デバイスの更新工程に係る情報である更新時情報のうちの少なくとも一つの情報を分散型台帳に記帳する記帳工程と、前記分散型台帳に記帳された情報を読み出す情報読出工程と、を有する。これにより、デバイスの信頼性を向上可能なデバイス管理方法を提供する。また、デバイスに関する情報を分散型台帳に記帳することにより、情報が改竄されにくくすることができる。また、パブリックな分散型台帳に記帳するようにすれば、デバイスに関する情報を誰でもが参照可能な方法を提供することができ、デバイスの信頼性を誰でもが確認することができる。
デバイス管理方法の1つの形態において、情報処理装置は、デバイスの製造工程に係る情報である製造時情報、前記デバイスの起動工程に係る情報である起動時情報、及び前記デバイスの更新工程に係る情報である更新時情報のうちの少なくとも一つの情報を分散型台帳に記帳する記帳手段を有する。これにより、情報処理装置がデバイスに関する情報を分散型台帳に記帳することで、デバイスに関する情報を改竄されにくくすることができ、信頼性の高い情報を提供することができる。
デバイス管理方法の1つの形態において、IoTデバイスは、デバイスの製造工程に係る情報である製造時情報、前記デバイスの起動工程に係る情報である起動時情報、及び前記デバイスの更新工程に係る情報である更新時情報のうちの少なくとも一つの情報を分散型台帳に記帳する記帳手段を有する。これにより、IoTデバイスがデバイスに関する情報を分散型台帳に記帳することで、デバイスに関する情報を改竄されにくくすることができ、信頼性の高い情報を提供することができる。
プログラムの1つの形態は、デバイスの製造工程に係る情報である製造時情報、前記デバイスの起動工程に係る情報である起動時情報、及び前記デバイスの更新工程に係る情報である更新時情報のうちの少なくとも一つの情報を分散型台帳に記帳する記帳手段として、コンピュータを機能させる。これにより、デバイスの信頼性を向上可能なプログラムを提供する。また、デバイスに関する情報を分散型台帳に記帳することにより、情報が改竄されにくくすることができる。また、パブリックな分散型台帳に記帳するようにすれば、デバイスに関する情報を誰でもが参照可能なプログラムを提供することができ、デバイスの信頼性を誰でもが確認することができる。
プログラムの1つの形態において、前記分散型台帳がタングルである。これにより、分散型台帳への記帳をリアルタイムで行うことができる。また、記帳の際に手数料が必要となる他の分散型台帳と異なり、分散型台帳への記帳を無料で行うことができる。また、スケーラビリティのあるプログラムを提供することができる。また、仮想通貨IOTAを利用したマイクロペイメントとの親和性が高いプログラムを提供することができる。
プログラムの1つの形態において、前記製造時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスを構成する部品を特定可能な部品IDと、前記部品IDが示す部品を前記デバイスに組み入れた製造ラインを特定可能な製造ラインIDと、前記部品IDが示す部品を前記デバイスに組み入れた時刻を示す製造時刻情報と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの製造時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記起動時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスの起動工程を実施した時刻を示す検証時刻情報と、前記デバイスの起動工程に用いたファイルのハッシュ値と、前記デバイスによるデジタル署名と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの起動時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記更新時情報は、前記デバイスを特定可能なデバイスIDと、前記デバイスの更新工程を実施した時刻を示す検証時刻情報と、前記デバイスの更新工程に用いたファイルのハッシュ値と、前記デバイスによるデジタル署名と、を含み、各情報を前記デバイスIDに紐付けた情報である。これにより、デバイスの更新時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記記帳手段は、前記製造工程によって前記デバイスが製造された場合に、前記製造時情報を前記分散型台帳に記帳する。これにより、デバイスの製造時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記記帳手段は、前記起動工程によって前記デバイスが起動された場合に、前記起動時情報を前記分散型台帳に記帳する。これにより、デバイスの起動時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記記帳手段は、前記更新工程によって前記デバイスが更新された場合に、前記更新時情報を前記分散型台帳に記帳する。これにより、デバイスの更新時についての信頼性を高めたプログラムを提供することができる。
プログラムの1つの形態において、前記記帳手段は、所定時間ごとに、前記更新時情報を前記分散型台帳に記帳する。これにより、所定時間ごとのデバイスの状況を確認することができ、デバイスの信頼性を高めたプログラムを提供することができる。
なお、本発明の技術範囲は、上述の実施形態などで説明した態様に限定されない。上述の実施形態などで説明した要件の1つ以上は、省略されることがある。また、上述の実施形態などで説明した要件は、適宜組み合わせることができる。この出願は、2019年10月15日に出願された日本国特願2019-189021を基礎とする優先権主張による出願であり、基礎出願の開示の全てを援用して本文の記載の一部とする。また、法令で許容される限りにおいて、上述の実施形態などで引用した全ての文献の開示を援用して本文の記載の一部とする。
1 デバイス管理システム
2 情報処理装置
3 ネットワーク
4 ネットワーク
5 IoTデバイス
11 端末装置
12 処理部
13 入出力部
14 記憶部
15 通信部
16 デバイス
17 処理部
18 デバイス機能実行部
19 記憶部
20 通信部
101 デバイス製造時用分散型台帳
102 デバイス変更履歴用分散型台帳
16a 製造時情報
16b 起動時情報
16c 更新時情報
2 情報処理装置
3 ネットワーク
4 ネットワーク
5 IoTデバイス
11 端末装置
12 処理部
13 入出力部
14 記憶部
15 通信部
16 デバイス
17 処理部
18 デバイス機能実行部
19 記憶部
20 通信部
101 デバイス製造時用分散型台帳
102 デバイス変更履歴用分散型台帳
16a 製造時情報
16b 起動時情報
16c 更新時情報
Claims (15)
- 識別情報を保持する記憶域が設けられるデバイスの製造工程に係る情報であって前記識別情報を含む製造時情報と、前記デバイスの起動工程に係る情報であって前記識別情報を含む起動時情報と、前記デバイスの更新工程に係る情報であって前記識別情報を含む更新時情報との少なくとも1つの情報を記憶部に記憶させる第1の情報処理装置と、
前記記憶部に記憶された前記製造時情報と前記起動時情報と前記更新時情報との少なくとも1つの情報のうち、管理対象の前記記憶域から読み出される前記識別情報を含む少なくとも1つの情報を読み出し、読み出した情報を用いて前記管理対象のデバイスの信頼性を判定する第2の情報処理装置と、を備えるデバイス管理システム。 - 前記第2の情報処理装置が前記管理対象のデバイスの信頼性を判定した結果を用いて、前記管理対象のデバイスを制御する制御部を備える、
請求項1に記載のデバイス管理システム。 - 前記制御部は、前記管理対象のデバイスが信頼できないと前記第2の情報処理装置が判定した場合、前記管理対象のデバイスの少なくとも一部の機能を停止させる、
請求項2に記載のデバイス管理システム。 - 前記制御部は、前記管理対象のデバイスが信頼できないと前記第2の情報処理装置が判定した場合、前記管理対象のデバイスをネットワークから遮断する、
請求項2または請求項3に記載のデバイス管理システム。 - 前記管理対象のデバイスが信頼できるか否かを前記第2の情報処理装置が判定した結果と、前記管理対象のデバイスの識別情報とを関連付けたトラスト情報を記憶する第2の記憶部を備え、
前記制御部は、前記第2の記憶部に記憶された前記トラスト情報を用いて、前記管理対象のデバイスを制御する、
請求項2から請求項4のいずれか一項に記載のデバイス管理システム。 - 複数のデバイスを含むシステムを管理する管理装置を備え、
前記管理装置は、前記管理対象のデバイスが信頼できるか否かを前記第2の情報処理装置が判定した結果に基づいて、前記管理対象のデバイスを前記システムに組み込むか否かを判定する、
請求項1から請求項5のいずれか一項に記載のデバイス管理システム。 - 前記第1の情報処理装置は、前記デバイスの製造に使用される製造装置、又は前記製造装置と通信可能に接続される装置を含み、前記デバイスの出荷前に生成される前記製造時情報を前記記憶部に記憶させる、
請求項1から請求項6のいずれか一項に記載のデバイス管理システム。 - 前記第1の情報処理装置は、前記管理対象のデバイスを制御する上位装置を含み、前記管理対象のデバイスから取得される情報に基づいて、前記起動時情報と前記更新時情報との一方又は双方を前記記憶部に記憶させる、
請求項1から請求項6のいずれか一項に記載のデバイス管理システム。 - 前記第1の情報処理装置は、前記管理対象のデバイスを含み、自装置を起動する際に前記起動時情報を生成し、生成した前記起動時情報を前記記憶部に記憶させる、
請求項1から請求項6のいずれか一項に記載のデバイス管理システム。 - 前記第1の情報処理装置は、前記管理対象のデバイスを含み、自装置を更新する際に前記更新時情報を生成し、生成した前記更新時情報を前記記憶部に記憶させる、
請求項1から請求項6、請求項9のいずれか一項に記載のデバイス管理システム。 - 前記記憶域は、前記デバイスの処理部を含むデバイス本体に内蔵される、
請求項1から請求項10のいずれか一項に記載のデバイス管理システム。 - 前記記憶域は書き換え不能な記憶域である、
請求項11に記載のデバイス管理システム。 - 前記記憶域は、前記デバイスの処理部を含むデバイス本体に外付けされたRFタグを含む、
請求項1から請求項10のいずれか一項に記載のデバイス管理システム。 - 前記RFタグと前記デバイス本体とを接合する力は、前記回路が壊れる力よりも強い、
請求項13に記載のデバイス管理システム。 - 前記記憶部は、分散型台帳を含む、
請求項1から請求項14のいずれか一項に記載のデバイス管理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021552418A JPWO2021075475A1 (ja) | 2019-10-15 | 2020-10-14 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019189021 | 2019-10-15 | ||
| JP2019-189021 | 2019-10-15 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021075475A1 true WO2021075475A1 (ja) | 2021-04-22 |
Family
ID=75538119
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2020/038838 Ceased WO2021075475A1 (ja) | 2019-10-15 | 2020-10-14 | デバイス管理システム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JPWO2021075475A1 (ja) |
| WO (1) | WO2021075475A1 (ja) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011108225A (ja) * | 2009-11-20 | 2011-06-02 | Intel Corp | 商品パッケージのマイクロエレクトロニクスシステムの無線周波数再構成 |
| JP2012532466A (ja) * | 2009-07-10 | 2012-12-13 | サーティコム コーポレーション | デバイスのシリアライゼーションを実行するためのシステムおよび方法 |
-
2020
- 2020-10-14 WO PCT/JP2020/038838 patent/WO2021075475A1/ja not_active Ceased
- 2020-10-14 JP JP2021552418A patent/JPWO2021075475A1/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012532466A (ja) * | 2009-07-10 | 2012-12-13 | サーティコム コーポレーション | デバイスのシリアライゼーションを実行するためのシステムおよび方法 |
| JP2011108225A (ja) * | 2009-11-20 | 2011-06-02 | Intel Corp | 商品パッケージのマイクロエレクトロニクスシステムの無線周波数再構成 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2021075475A1 (ja) | 2021-04-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220138333A1 (en) | System and method for enabling and verifying the trustworthiness of a hardware system | |
| JP6936396B2 (ja) | ブロックチェーンベースのトランザクション処理方法および装置 | |
| JP6656446B1 (ja) | デバイス管理システム、デバイス管理方法、情報処理装置、及びプログラム | |
| EP4005148B1 (en) | Techniques for incentivized intrusion detection system | |
| US8316421B2 (en) | System and method for device authentication with built-in tolerance | |
| JP5360192B2 (ja) | 個人認証システムおよび個人認証方法 | |
| US20140123255A1 (en) | System and method for device authentication with built-in tolerance | |
| US10250616B2 (en) | Server and user terminal | |
| CN109313690A (zh) | 自包含的加密引导策略验证 | |
| WO2019199465A1 (en) | TRUSTED PLATFORM MODULE-BASED PREPAID ACCESS TOKEN FOR COMMERCIAL IoT ONLINE SERVICES | |
| CN103124973A (zh) | 证明引导过程期间交互式组件的使用 | |
| CN111461722A (zh) | 一种智能合约的部署方法、装置及设备 | |
| KR102702681B1 (ko) | 전자 장치 및 전자 장치에서의 인증 방법 | |
| CN113794569A (zh) | 基于区块链的物资盘点数据提供方法、装置及系统 | |
| US12468797B2 (en) | Trusted cloud device lifecycle management | |
| US12530283B2 (en) | Verification of the reliability of software and devices against assertions and guarantees | |
| CN114175031A (zh) | 信息处理设备、信息处理方法和程序 | |
| WO2019226042A1 (en) | Method for processing a secure financial transaction using a commercial off-the-shelf or an internet of things device | |
| CN111931160A (zh) | 权限验证方法、装置、终端和存储介质 | |
| WO2021075475A1 (ja) | デバイス管理システム | |
| US9633229B2 (en) | Semiconductor device module, license setting method and medium having license setting program recorded therein | |
| KR20260017467A (ko) | 불변 디지털 증언을 제공하는 시스템, 방법, 및 컴퓨터 프로그램 제품 | |
| US12323419B2 (en) | Information processing apparatus, method, and computer readable medium | |
| CN115129275A (zh) | 一种数字文件打印方法、装置、电子设备及存储介质 | |
| KR20230020240A (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: 20877323 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2021552418 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: 20877323 Country of ref document: EP Kind code of ref document: A1 |