Apparatus and method for distributed ledger database verification, physical device and method for the same

EP4689954A1Pending Publication Date: 2026-02-11SONY GROUP CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024710787
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-24
Filing Date
2024-03-15
Publication Date
2026-02-11

AI Technical Summary

Technical Problem

In distributed ledger databases, verifying the integrity of data is challenging due to the difficulty in recognizing and quantifying data tampering in IoT devices and their digital twins, especially under digital threats, where existing solutions like blockchains may not provide sufficient data verification.

Method used

An apparatus and method for distributed ledger database verification that utilizes processing circuitry to receive and verify distributed ledger records from a distributed ledger database, involving a Trusted Execution Environment (TEE) to execute a digital twin of the IoT device based on a fingerprint, comparing output data from the physical device and the digital twin to determine record trustworthiness.

Benefits of technology

This approach effectively verifies the integrity of distributed ledger records by ensuring that output data from the physical device matches the digital twin's output, thereby establishing trustworthiness and enhancing data integrity in the presence of potential tampering.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024057024_03102024_PF_FP_ABST
    Figure EP2024057024_03102024_PF_FP_ABST
Patent Text Reader

Abstract

An apparatus for distributed ledger database verification is provided. The apparatus includes processing circuitry configured to receive a stored distributed ledger record of a physical device from the distributed ledger database. The distributed ledger record comprises at least a timestamp and a first fingerprint indicating a firmware that the physical device is running. The processing circuitry is further configured to request data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device. The data related to the distributed ledger record comprise at least input data input to the physical device and first output data output by the physical device based on the input data. In addition, the processing circuitry is configured to control a trusted execution environment to execute a digital twin of the physical device based on the first fingerprint. The processing circuitry is configured to transmit the input data to the digital twin and to receive second output data output by the digital twin based on the input data. Additionally, the processing circuitry is configured to check whether the first output data match the second output data. If the first output data match the second output data, the processing circuitry is configured to determine that the distributed ledger record is trustworthy.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] APPARATUS AND METHOD FOR DISTRIBUTED LEDGER DATABASE VERIFICATION, PHYSICAL DEVICE AND METHOD FOR THE SAME

[0002] Field

[0003] The present disclosure relates to verification of data in distributed ledger databases. In particular, examples of the present disclosure relate to an apparatus and a method for distributed ledger database verification, a physical device and a method for the physical device.

[0004] Background

[0005] Data integrity is a major concern in view of the ever-presence of digital threats and even digital warfare. The rising popularity of Internet-of-Things (loT) devices makes data integrity an even more crucial topic. Also digital twins, i.e., digital representations of physical products or systems, have become popular. A digital twin of an loT device may be used to verify the output of the loT device. However, when a successful attack is executed to either the loT device or the digital twin, it is hard to recognize the attack and find out how much of the data has been tampered with. Blockchains may help by logging historical verification records.

[0006] However, there may be a demand for improved data verification.

[0007] Summary

[0008] This demand is met by an apparatus and a method for distributed ledger database verification, a physical device, a method for the physical device, a non-transitory machine-readable medium and a program in accordance with the independent claims. Advantageous embodiments are defined by the dependent claims.

[0009] According to a first aspect, the present disclosure provides an apparatus for distributed ledger database verification. The apparatus comprises processing circuitry configured to receive a stored distributed ledger record of a physical device from a distributed ledger database. The distributed ledger record comprises at least a timestamp and a first fingerprint indicating a firmware that the physical device is running. The processing circuitry is further con- figured to request data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device. The data related to the distributed ledger record comprise at least input data input to the physical device and first output data output by the physical device based on the input data. In addition, the processing circuitry is configured to control a Trusted Execution Environment (TEE) to execute a digital twin of the physical device based on the first fingerprint. The processing circuitry is configured to transmit the input data to the digital twin and to receive second output data output by the digital twin based on the input data. Additionally, the processing circuitry is configured to check whether the first output data match the second output data. If the first output data match the second output data, the processing circuitry is configured to determine that the distributed ledger record is trustworthy.

[0010] According to a second aspect, the present disclosure provides a method for distributed ledger database verification. The method comprises receiving a stored distributed ledger record of a physical device from a distributed ledger database. The distributed ledger record comprises at least a timestamp and a first fingerprint indicating a firmware that the physical device is running. Further, the method comprises requesting data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device. The data related to the distributed ledger record comprise at least input data input to the physical device and first output data output by the physical device based on the input data. In addition, the method comprises controlling a TEE to execute a digital twin of the physical device based on the first fingerprint. The method comprises transmitting the input data to the digital twin and receiving second output data output by the digital twin based on the input data. Additionally, the method comprises checking whether the first output data match the second output data. If the first output data match the second output data, the method comprises determining that the distributed ledger record is trustworthy.

[0011] According to a third aspect, the present disclosure provides a physical device. The physical devices comprises processing circuitry configured to generate output data based on input data. The processing circuitry is further configured to cause a distributed ledger database to generate a distributed ledger record. The distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp. The signature is signed with a private key of the physical device. In addition, the processing circuitry is configured to store data related to the distributed ledger record in a data storage. The data related to the distributed ledger record comprise the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data. The signature is signed with the private key of the physical device. Further, the processing circuitry is configured to publish a public key of the physical device.

[0012] According to a fourth aspect, the present disclosure provides a method for a physical device. The method comprises generating output data based on input data. Additionally, the method comprises causing a distributed ledger database to generate a distributed ledger record. The distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp. The signature is signed with a private key of the physical device. Further, the method comprises storing data related to the distributed ledger record in a data storage. The data related to the distributed ledger record comprise the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data. The signature is signed with the private key of the physical device. The method comprises in addition publishing a public key of the physical device.

[0013] According to a fifth aspect, the present disclosure provides a non-transitory machine- readable medium having stored thereon a program having a program code for performing the method according to the second or the fourth aspect, when the program is executed on a processor or a programmable hardware.

[0014] According to a sixth aspect, the present disclosure provides a program having a program code for performing the method according to the second or the fourth aspect, when the program is executed on a processor or a programmable hardware.

[0015] Brief description of the Figures

[0016] Some examples of apparatuses and / or methods will be described in the following by way of example only, and with reference to the accompanying figures, in which Fig. 1 schematically illustrates an exemplary distributed ledger database verification;

[0017] Fig. 2 illustrates an exemplary data flow for distributed ledger database verification;

[0018] Fig. 3 illustrates a flowchart of an example of a method for distributed ledger database verification; and

[0019] Fig. 4 illustrates a flowchart of an example of a method for a physical device.

[0020] Detailed Description

[0021] Some examples are now described in more detail with reference to the enclosed figures. However, other possible examples are not limited to the features of these embodiments described in detail. Other examples may include modifications of the features as well as equivalents and alternatives to the features. Furthermore, the terminology used herein to describe certain examples should not be restrictive of further possible examples.

[0022] Throughout the description of the figures same or similar reference numerals refer to same or similar elements and / or features, which may be identical or implemented in a modified form while providing the same or a similar function. The thickness of lines, layers and / or areas in the figures may also be exaggerated for clarification.

[0023] When two elements A and B are combined using an “or”, this is to be understood as disclosing all possible combinations, i.e. only A, only B as well as A and B, unless expressly defined otherwise in the individual case. As an alternative wording for the same combinations, "at least one of A and B" or "A and / or B" may be used. This applies equivalently to combinations of more than two elements.

[0024] If a singular form, such as “a”, “an” and “the” is used and the use of only a single element is not defined as mandatory either explicitly or implicitly, further examples may also use several elements to implement the same function. If a function is described below as implemented using multiple elements, further examples may implement the same function using a single element or a single processing entity. It is further understood that the terms "include", "including", "comprise" and / or "comprising", when used, describe the presence of the speci- fied features, integers, steps, operations, processes, elements, components and / or a group thereof, but do not exclude the presence or addition of one or more other features, integers, steps, operations, processes, elements, components and / or a group thereof.

[0025] Fig. 1 schematically illustrates distributed ledger database verification according to the present disclosure.

[0026] An apparatus 100 for distributed ledger database verification is provided. The apparatus 100 comprises at least processing circuitry 110. For example, the processing circuitry 110 may be a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which or all of which may be shared, a digital signal processor (DSP) hardware, an application specific integrated circuit (ASIC), a neuromorphic processor or a field programmable gate array (FPGA). The processing circuitry 110 may optionally be coupled to, e.g., memory such as read only memory (ROM) for storing software, random access memory (RAM) and / or non-volatile memory. For example, the apparatus 100 may comprise memory configured to store instructions, which when executed by the processing circuitry 110, cause the processing circuitry 110 to perform the steps and methods described herein. Optionally, the apparatus 100 may comprise further circuitry such as interface circuitry coupled to the processing circuitry 110 and configured to receive input data for the processing circuitry 110 and / or output output data of the processing circuitry 110.

[0027] As indicated in Fig. 1, the apparatus 100 and, hence, the processing circuitry 110 is coupled to a distributed ledger database 130, which is external to the apparatus 100. The distributed ledger database 130 is a type of database that maintains a continuously growing list of records (also referred to as “block”) which are linked and secured using cryptography. Unlike traditional databases that are centralized and controlled by a single entity, the distributed ledger database 130 is decentralized and maintained by a network of computers, each of which has a copy of the database. This network of computers collaborates to validate and add new records to the ledger, creating a secure and transparent record of all transactions and changes to the database. The distributed ledger database 130 may be understood as an immutable database. Examples of distributed ledger databases include blockchain technology and other types of decentralized databases. In other words, the distributed ledger database 130 may be a blockchain database in some examples of the present disclosure. The processing circuitry 110 is configured to receive from the distributed ledger database 130 a distributed ledger record 131 of (for) a physical device 120. The distributed ledger record 131 is stored in the distributed ledger database 130.

[0028] The physical device 120 is a device running a firmware to process data, i.e., to generate output data 123 based on input data 122 input to the physical device 120. The output data 123 are generated based on the input data 122 according to one or more rules defined in the firmware. The physical device 120 comprises processing circuitry 121 for the data processing similar to the processing circuitry 110 described above. The physical device 120 may comprise further circuitry such as interface circuitry coupled to the processing circuitry 121 and configured to receive input data for the processing circuitry 121 and / or output output data of the processing circuitry 121. Furthermore, the physical device 120 may comprise further elements such as one or more sensors or one or more human-machine interfaces (user interfaces). According to examples of the present disclosure, the physical device 120 may, e.g., be an loT device. An loT device is a physical device that is connected to the internet and is capable of collecting and exchanging data with other devices or systems without human intervention. For example, the physical device 120 may be a computer, a mobile phone, a wearable, a smart home device, an industrial sensor, a vehicle, etc. The physical device 120 may communicate wired or wirelessly using a variety of protocols such as Wireless Local Area Network (WLAN) according to standard IEEE 802.11 of the Institute of Electrical and Electronics Engineers (IEEE), Bluetooth according to standard IEEE 802.15.1 of the IEEE or cellular networks according to one of the 3rd Generation Partnership Project (3GPP)-standards.

[0029] The processing circuitry 121 of the physical device 120 may, e.g., receive input data 122 such as sensor data of one or more sensors internal or external to the physical device 120 and process the input data 122 according to one or more rules defined in the firmware of the physical device 120 to generate output data 123 of the physical device 120. Processing the input data 122 may, e.g., comprise analyzing the input data 122 to determine a state or a condition of an object, a human being or an animal. For example, if the physical device 120 is a wearable device, the input data 122 may be physiological data indicative of (representing, encoded with) one or more physiological properties of a user of the wearable device such as measured eye-tracking data, measured gaze-tracking data, a walking pattern, a heart (pulse) rate, a heart rate variability of the user, a respiration rate, a blood pressure and an electrodermal activity of the user. The processing circuitry 121 may analyze the physiological data and determine a state or a condition of the user such as a stress level of the user, a sleep quality of the user, a motion state of the user (e.g., running, sitting, walking), etc. However, the present disclosure is not limited thereto. In other examples, the input data 122 may, e.g., be sensor data indicative of one or more environmental properties such as a temperate, an atmospheric pressure, a wind temperature, a humidity, an air pollution, etc., which are processed as defined in the firmware of the physical device 120. In still other examples, the input data 122 may, e.g., indicative of one or more user inputs at a humanmachine interface internal or external to the physical device 120 and the processing circuitry 121 may determine, based on the one or more user inputs, one or more commands for another object or device as output data 123. As is evident from the above description, the type of the input data 122 as well as the type of output data 123 may be manifold and is, hence, not of relevance for the distributed ledger database verification according to the present disclosure.

[0030] The processing circuitry 121 of the physical device 120 is configured to cause the distributed ledger database 130 to generate the distributed ledger record 131 for the input data 122 and the resulting output data 123. For example, the processing circuitry 121 may transmit one or more commands (messages, instructions) 124 to the distributed ledger database 130 requesting generation (creation) of the distributed ledger record 131. The one or more commands 124 may comprise various metadata for the input data 122 and the resulting output data 123 that are to be stored in the distributed ledger record 131. For example, the metadata comprises at least a timestamp and a first fingerprint indicating (identifying) the firmware that the physical device 120 is running.

[0031] Accordingly, the distributed ledger record 131 comprises at least the timestamp and the first fingerprint indicating the firmware that the physical device 120 is running. The timestamp denotes the date and time at which the input data 122, the resulting output data 123 and / or the generation of the output data 123 based on the input data 122 occurred (took place). For example, the timestamp may comprise a date and time value. The date and time value may be expressed in a standardized format such as ISO 8601 and may optionally include further information such as information about the time zone or an offset from a predefined time zone such as Coordinated Universal Time (UTC). The first fingerprint is a unique identifier of the firmware that the physical device 120 is running. The first fingerprint is generated by mapping a set of data or characteristics of the firmware that the physical device 120 is running to a bit string (e.g., of a predefined length). For example, the first fingerprint may be a hash value obtained by inputting the set of data or characteristics of the firmware that the physical device 120 is running to a hash function. The first fingerprint allows to identify the exact version of the firmware that the physical device 120 is running. Optionally, the distributed ledger record 131 may comprise further information as will be described in the following.

[0032] Furthermore, the processing circuitry 121 of the physical device 120 is configured to store data 125 related to the distributed ledger record 131 in a data storage 140. The data storage 140 is external to (separate from) the physical device 120, the apparatus 100 and the distributed ledger database 130. The data storage 140 is a physical or virtual location where data can be stored, accessed and retrieved. The data storage 140 may be implemented in various forms such as a hard drive, a solid-state drive, a cloud storage or a Network- Attached Storage (NAS) device. In other words, the data storage 140 may range from a rather small personal storage device to rather large enterprise-level systems. In particular, the data storage 140 may be configured to enable storage, access and retrieval of data from remote. The data 125 related to the distributed ledger record 131 may comprise various data elements. The data 125 related to the distributed ledger record 131 comprises at least the input data 122, the resulting output data 123, the timestamp and a signature for the combination of the various data elements the data 125 comprises. In particular, the data 125 related to the distributed ledger record 131 may comprise a signature for the combination of the timestamp, the input data 122 and the output data 123. The signature is signed with a private key of the physical device 120. Signing the data 125 related to the distributed ledger record 131 with the private key of the physical device 120 allows to identify the data 125 as data of the physical device 120 via a public key 126 of the physical device 120. The processing circuitry 121 of the physical device 120 is configured to publish the public key 126 of the physical device 120 such that, e.g., the apparatus 100 has access to the public key 126 of the physical device 120. In other words, the processing circuitry 110 may be configured to receive the public key 126 of the physical device 120 from the physical device 120.

[0033] As described above, the processing circuitry 110 receives the stored distributed ledger record 131 from the distributed ledger database 130 and the public key 126 of the physical device 120. The processing circuitry 110 is configured to request the data 125 related to the distributed ledger record 131 from the data storage 140 based on the timestamp and the public key 126 of the physical device 120. For example, the processing circuitry 110 may transmit one or more commands (messages, instructions) to the data storage 140 including the timestamp and the public key 126 to request the data 125 related to the distributed ledger record 131. The timestamp included in the distributed ledger record 131 and the public key 126 allow to identify the data 125 related to the distributed ledger record 131. Accordingly, data storage 140 is able to identify the data 125 related to the distributed ledger record 131 as data requested by the processing circuitry 110 and transmit the data 125 related to the distributed ledger record 131 to the apparatus 100, i.e., the processing circuitry 110. Accordingly, the processing circuitry 110 receives data 125 related to the distributed ledger record 131 from the data storage 140.

[0034] The processing circuitry 110 is further configured to control a TEE 150 to execute a digital twin 160 of the physical device 120 based on the first fingerprint included in the distributed ledger record 131. For example, the processing circuitry 110 may transmit one or more commands (messages, instructions) to the TEE 150 including the first fingerprint or information about the firmware that the physical device is running 120, which is derived by the processing circuitry 110 from the first fingerprint, to cause execution of the digital twin 160 by the TEE 150.

[0035] The TEE 150 is a secure and isolated environment within a computer system that is designed to provide a high level of security for sensitive data and applications. In other words, the TEE as an isolated execution environment providing security features such as isolated execution, integrity of applications / functions / routines / code executing within the TEE 150, along with confidentiality of their assets. The TEE 150 may, e.g., be a separate, dedicated hardware component or a secure partition of a processor that is isolated from an operating system and other applications running on the device. The TEE 150 may be external to the apparatus 100 as illustrated in Fig. 1. For example, the TEE 150 be part of a computing system (such as a server or a computing cloud) communicatively coupled to the apparatus 100 and, hence, the processing circuitry 110. However, the present disclosure is not limited thereto. In other examples, the apparatus 100 may comprise the TEE 150. For example, the TEE 150 may, e.g., be hardware component separate from the processing circuitry 110 or be a secure partition of the processing circuitry 110. The digital twin 160 is a virtual replica or simulation of the physical device 120. In other words, the digital twin 160 is a software representation of the physical device 120, and in particular a software representation of the physical device 120’ s data processing behavior. As the TEE 150 is controlled to execute the digital twin 160 based on the first fingerprint, the TEE 150 executes the digital twin 160 to execute the firmware identified by the first fingerprint. In case the distributed ledger record 131 is not tampered, the TEE 150 is hence controlled to execute the digital twin 160 such that the behavior of the firmware that the physical device is running 120 is replicated / simulated. In other words, the processing circuitry 110 is configured to control the TEE to execute the digital twin with the firmware indicated (identified) by the first fingerprint. In case the distributed ledger record 131 is not tampered, the processing circuitry 110 is hence configured to control the TEE to execute same firmware as the physical device based 120 on the first fingerprint. As a consequence, the digital twin 160 should be an accurate and dynamic model of the physical device 120.

[0036] The processing circuitry 110 is further configured to transmit the input data 122 included in the received data 125 to the digital twin 160. As the digital twin 160 is running in the secure and isolated environment of the TEE 150, the processing circuitry 110 may be configured to transmit the input data 122 to the TEE 150 and control (request) the TEE 150 to input (forward) the input data 122 to the digital twin 160. The digital twin 160 processes the input data 122 according to the one or more rules defined in the firmware that is replicated / simulated by the digital twin 160 and generates according output data 161. The second output data 161 output by the digital twin 160 based on the input data 122 is transmitted back to the apparatus 100 by the digital twin 160 (e.g., by instructing the TEE 150 to forward the output data 161 to the apparatus 100 and, hence, the processing circuitry 110). Accordingly, the processing circuitry 110 is configured to receive the output data 161 output by the digital twin 160 based on the input data 120.

[0037] The processing circuitry 110 is configured to check (determine) whether output data 123 output by the physical device 120 match the output data 161 output by the digital twin 160. The digital twin 160 is assumed to run the same firmware as the physical device 120 since the execution of the digital twin 160 is based on the first fingerprint included in the distributed ledger record 131. Since the same input data 122 is input to the digital twin 160 and the physical device 120, the output data 123 output by the physical device 120 should match the output data 161 output by the digital twin 160 if none of the distributed ledger record 131, the physical device 120 or the data 125 related to the distributed ledger record 131 is tampered. Accordingly, if the output data 123 match the output data 161, the processing circuitry 110 is configured to determine that the distributed ledger record 131 is trustworthy. If the output data 123 do not match the output data 161, it is an indicator that either the distributed ledger record 131, the physical device 120 or the data 125 related to the distributed ledger record 131 is tampered. Accordingly, if the output data 123 do not match the output data 161, the processing circuitry 110 is configured to determine that the distributed ledger record 131 is not trustworthy.

[0038] The apparatus 100 allows to link the distributed ledger record 131, i.e., the data one the distributed ledger database 130, with the output data 161, i.e., the data coming from the digital twin 160. Accordingly, the apparatus 100 is able to verify the integrity of the data 125 related to the distributed ledger record 131 by means of the digital twin 160 and backed by the assertions given in the distributed ledger record 131. In other words, the apparatus 100 allows to verify the correctness of the distributed ledger record 131 and the data 125 related to the distributed ledger record 131.

[0039] The processing circuitry 110 may be further configured to forward the output data 161 output by the digital twin 160 to a smart contract running on the distributed ledger database 130 to verify the processing of the input data 122 by the digital twin 160. The smart contracts is a (e.g., self-executing) program that is stored on the distributed ledger database 130 and performs the verification of the metadata provided by the physical device 120 to the distributed ledger database 130 during the generation (creation) of the distributed ledger record 131. Forwarding the output data 161 to the smart contract for verification may allow to further increase security. For example, an entity retrieving the distributed ledger record 131 does not need to verify anything because it can trust the smart contract that already performed the verification during the acceptance of the data from the physical device 120.

[0040] If it is determined that the distributed ledger record 131 is trustworthy, the processing circuitry 110 may further mark it as trusted. For example, the processing circuitry 110 may be configured to append a signature of the apparatus 100 to the distributed ledger record 131 and commit the signed distributed ledger record to the distributed ledger database 130. In other words, a new distributed ledger record is committed to the distributed ledger database 130 by the processing circuitry 110, which compared to the distributed ledger record 131 additionally comprises the appended signature of the apparatus 100. By committing the signed distributed ledger record to the distributed ledger database 130, the apparatus 100 committed immutable evidence that it has approved and verified the correctness of the output data 123 for the given input data 122 because it matches the output data 161 of the digital twin 160.

[0041] For checking whether output data 123 match the output data 161, the processing circuitry 110 may use various techniques. For example, the processing circuitry 110 may be configured to (directly) compare the output data 123 output by the physical device 120 and the output data 161 output by the digital twin 160. By (directly) comparing both output data, the processing circuitry 110 may directly check whether there are discrepancies between the two datasets. If the output data 123 output by the physical device 120 are identical to the output data 161 output by the digital twin 160, the processing circuitry 110 may determine that the output data 123 and the output data 161 match. In the other hand, if the output data 123 output by the physical device 120 are not identical to the output data 161 output by the digital twin 160, the processing circuitry 110 may determine that the output data 123 and the output data 161 do not match.

[0042] As the output data 123 and the output data 161 may be large datasets, directly comparing both may consume a lot of processing power and / or processing time. A fingerprint comparison may be less costly. As described above, the distributed ledger record 131 may comprise more data elements than those descried above. For example, the distributed ledger record 131 may comprises a second fingerprint indicating (identifying) the input data 122 and the output data 123 output by the physical device 120. The second fingerprint is a unique identifier of the input data 122 and the output data 123. The second fingerprint is generated by mapping the input data 122 and the output data 123 to a bit string (e.g., of a predefined length). For example, the second fingerprint may be a hash value obtained by inputting the input data 122 and the output data 123 to a hash function. The second fingerprint may be generated by the processing circuitry 121 and be committed to the distributed ledger database 130 as part of the one or more commands 124. The processing circuitry 110 may generate a third fingerprint for the input data 122 and the output data 161 generated by the digital twin 160 for comparison. In other words, the processing circuitry 110 may be configured to determine a third fingerprint indicating (identifying) the input data 122 and the output data 161 generated by the digital twin 160 based on the input data 122 and the output data 161. For example, the processing circuitry 110 may input the input data 122 and the output data 161 to hash function to obtain a hash value as the third fingerprint. Further, the processing circuitry 110 may be configured to compare the second fingerprint and the third fingerprint. If the second fingerprint matches (is identical to) the third fingerprint, the processing circuitry 110 may determine that the output data 123 and the output data 161 match. In the other hand, if the second fingerprint does not match (is not identical to) the third fingerprint, the processing circuitry 110 may determine that the output data 123 and the output data 161 do not match.

[0043] In some examples, the second fingerprint indicating the input data 122 and the output data 123 is not be stored in the distributed ledger record 131. In order to enable the above described fingerprint comparison, the processing circuitry 110 may be configured to determine the second fingerprint indicating (identifying) the input data 122 and the output data 123 output by the physical device 120 based on the input data 122 and the output data 123. The input data 122 as well as the output data 123 are anyway available at the apparatus 100 as they are previously received from the data storage 140 as part of the data 125 related to the distributed ledger record 131.

[0044] It is described above that the data 125 related to the distributed ledger record 131 may comprise a signature signed with the private key of the physical device 120. Also the distributed ledger record 131 may comprise a signature for the combination of the various data elements the distributed ledger record 131 comprises. The signature of the distributed ledger record 131 may be signed with the private key of the physical device 120. In particular, the distributed ledger record 131 may comprise a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, which is signed with the private key of the physical device 120. The signed signature may allow to identify the distributed ledger record 131 in the distributed ledger database 130 via the public key of the physical device 120.

[0045] The above explanations focused on the integrity of a single distributed ledger record. It is to be noted that the distributed ledger database 130 may comprise a plurality of distributed ledger records for output data of the physical device 120 generated at different time instants. Any mechanism or technique may be used to provide the processing circuitry 110 with the distributed ledger records such that the trustworthiness of the respective distributed ledger record may be verified by the processing circuitry 110. According to some examples of the present disclosure, the apparatus 100 may continuously or sporadically check the distributed ledger database 130 for new distributed ledger records of the physical device 120. For example, the processing circuitry 110 may be configured to repeatedly poll the distributed ledger database 130 for new distributed ledger records of (for) the physical device 120 based on the public key of the physical device. The processing circuitry 110 may, e.g., be configured to receive the stored distributed ledger record 131 of the physical device 120 in response to a poll. However, as described above, the present disclosure is not limited thereto.

[0046] It is to be noted that the distributed ledger database 130 may further comprise distributed ledger records of other physical devices. Analogously to what is described above, the processing circuitry 110 may be provided with the public keys of the other physical devices to verify the distributed ledger records of the other physical devices.

[0047] The apparatus 100 may be used or be part of various third-party services or agents related to the distributed ledger database 130. For example, an oracle may use or comprise the apparatus 100. The oracle is a third-party service or agent that that connects a smart contract on distributed ledger database 130 with the outside world. The oracle may provide external information to the smart contract, and vice versa. As the oracle is a source of truth, the distributed ledger database verification provided by the apparatus 100 may be an additional trust service provided by the oracle.

[0048] Fig- 2 illustrates an exemplary data flow 200 for distributed ledger database verification in which an oracle 210 performs the processing described above. In the example of Fig. 2, the physical device is an loT device 220.

[0049] When the loT device 220 gets deployed, the loT device 220 generates a private / public key pair. The loT device 200 connects to a predefined endpoint of the oracle 210 and shares its public key.

[0050] When a new output is generated by the loT device 220, the loT device 220 transmits (e.g., uploads) a new blob (i.e., a data structure) to the data storage 240. The blob comprises the input data input to the loT device 220, the output data output by the loT device 220 based on the input data, a timestamp and a signature for the combination of the timestamp, the input data and the output data generated by the loT device 220. The signature is signed with the private key of the loT device 220.

[0051] Furthermore, the loT device 220 generates a signed metadata record which is stored in a distributed ledger database 230 as a distributed ledger record. The metadata record and, hence, the distributed ledger record comprises a first fingerprint identifying the firmware that the loT device 220 is running (e.g., a hash value of the firmware), a second fingerprint indicating the input data input to the loT device 220 and the output data output by the loT device 220 based on the input data, the timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp. The signature is again signed with the private key of the loT device 220.

[0052] The oracle 210 continuously checks the distributed ledger database 230 for new data from the loT device 220 (e.g., by polling the distributed ledger database 230). If a new distributed ledger record of the loT device 220 is available in the distributed ledger database 230, the loT device 220 gets the new distributed ledger record and fetches the actual data, i.e., the blob, from the data storage 240 based on the timestamp included in the distributed ledger record and the published public key of the loT device 220.

[0053] To verify the data of the loT device 220, the oracle 210 uses the first fingerprint included in the distributed ledger record to cause execution of a digital twin 260 of the loT device 220 on a TEE 250 with the firmware indicated by the first fingerprint. Then, the loT device 220 provides the input data referenced in the distributed ledger record to the digital twin 260. When the output data from the digital twin 260 match the output data from the loT device 220 as referenced on the distributed ledger database 230, the oracle 210 considers the record as trusted and will provide it to its customers.

[0054] Analogously to what is described above, the oracle may append its own signature to the distributed ledger record and commit the signed distributed ledger record to the distributed ledger database 230 in order to mark it as trusted. A client of the oracle does not need to verify anything because it can trust the smart contract on the distributed ledger database 230 that already performed the verification during acceptance of the data from the loT device 220.

[0055] In the data flow 200, the oracle 210 links the data on the distributed ledger database 230 with the data coming from the digital twin 260 that runs on the TEE 250. Accordingly, the oracle 210 is able provide data verified by a trusted digital twin and backed by assertions on the distributed ledger database 230. The data flow 200 according to the present disclosure enables verification of loT data by the oracle 210 in a way that can be publicly verified by its distributed ledger customers. Accordingly, the oracle 210 is able to offer real world data that can be verified.

[0056] For further highlighting the distributed ledger database verification described above, Fig. 3 illustrates a flowchart of a method 300 for verifying a distributed ledger database. The method 300 comprises receiving 302 a stored distributed ledger record of a physical device from the distributed ledger database. The distributed ledger record comprises at least a timestamp and a first fingerprint indicating a firmware that the physical device is running. Further, the method 300 comprises requesting 304 data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device. The data related to the distributed ledger record comprise at least input data input to the physical device and first output data output by the physical device based on the input data. In addition, the method 300 comprises controlling 306 a TEE to execute a digital twin of the physical device based on the first fingerprint. The method 300 comprises transmitting 308 the input data to the digital twin and receiving 310 second output data output by the digital twin based on the input data. Additionally, the method 300 comprises checking 312 whether the first output data match the second output data. If the first output data match the second output data, the method 300 comprises determining 314 that the distributed ledger record is trustworthy.

[0057] Analogously to what is described above, the method 300 allows to link the distributed ledger record with the second output data from the digital twin. Accordingly, the method 300 allows to verify the integrity of the data related to the distributed ledger record by means of the digital twin and backed by the assertions given in the distributed ledger record. More details and aspects of the method 300 are explained in connection with the proposed technique or one or more examples described above (e.g., Fig. 1 and Fig. 2). The method 300 may comprise one or more additional optional features corresponding to one or more aspects of the proposed technique or one or more examples described above. For example, if the first output data do not match the second output data, the method 300 may comprise determining 316 that the distributed ledger record is not trustworthy.

[0058] The processing of a physical device (e.g., an loT device) according to the present disclosure is further highlighted in Fig. 4 illustrating a flowchart of a method 400 for a physical device. The method 400 comprises generating 402 output data based on input data. Additionally, the method 400 comprises causing 404 a distributed ledger to generate a distributed ledger record. The distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp. The signature is signed with a private key of the physical device. Further, the method 400 comprises storing 406 data related to the distributed ledger record in a data storage. The data related to the distributed ledger record comprise the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data. The signature is signed with the private key of the physical device. The method 400 comprises in addition publishing 408 a public key of the physical device.

[0059] As described above in more details, the method 400 enables an external device to verify the integrity of the distributed ledger record and the data related to the distributed ledger record.

[0060] More details and aspects of the method 400 are explained in connection with the proposed technique or one or more examples described above (e.g., Fig. 1 and Fig. 2). The method 400 may comprise one or more additional optional features corresponding to one or more aspects of the proposed technique or one or more examples described above.

[0061] The following examples pertain to further embodiments:

[0062] (1) An apparatus for distributed ledger database verification, the apparatus comprising processing circuitry configured to: receive a stored distributed ledger record of a physical device from the distributed ledger database, the distributed ledger record comprising at least a timestamp and a first fingerprint indicating a firmware that the physical device is running; request data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device, the data related to the distributed ledger record comprising at least input data input to the physical device and first output data output by the physical device based on the input data; control a Trusted Execution Environment, TEE, to execute a digital twin of the physical device based on the first fingerprint; transmit the input data to the digital twin; receive second output data output by the digital twin based on the input data; check whether the first output data match the second output data; and if the first output data match the second output data, determine that the distributed ledger record is trustworthy.

[0063] (2) The apparatus of (1), wherein, if the first output data do not match the second output data, the processing circuitry is configured to determine that the distributed ledger record is not trustworthy.

[0064] (3) The apparatus of (1) or (2), wherein the processing circuitry is configured to forward second output data to a smart contract running on the distributed ledger database to prove the processing of the input data by the digital twin.

[0065] (4) The apparatus of any one of (1) to (3), wherein, if it is determined that the distributed ledger record is trustworthy, the processing circuitry is further configured to: append a signature of the apparatus to the distributed ledger record; and commit the signed distributed ledger record to the distributed ledger database.

[0066] (5) The apparatus of any one of (1) to (4), wherein the processing circuitry is configured to: repeatedly poll the distributed ledger database for new distributed ledger records of the physical device based on the public key of the physical device; and receive the stored distributed ledger record of the physical device in response to a poll. (6) The apparatus of any one of (1) to (5), wherein, for checking whether the first output data match the second output data, the processing circuitry is configured to compare the first output data and the second output data.

[0067] (7) The apparatus of any one of (1) to (5), wherein the distributed ledger record further comprises a second fingerprint indicating the input data and the first output data, and wherein, for checking whether the first output data match the second output data, the processing circuitry is configured to: determine a third fingerprint indicating the input data and the second output data based on the input data and the second output data; and compare the second fingerprint and the third fingerprint.

[0068] (8) The apparatus of any one of (1) to (7), wherein the processing circuitry is configured to control the TEE to execute the digital twin with the firmware indicated by the first fingerprint.

[0069] (9) The apparatus of any one of (1) to (8), wherein the data related to the distributed ledger record further comprise a signature for the combination of the timestamp, the input data and the first output data, and wherein the signature is signed with a private key of the physical device.

[0070] (10) The apparatus of any one of (1) to (9), wherein the distributed ledger record further comprises a second fingerprint indicating the input data and the first output data, and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device.

[0071] (11) The apparatus of any one of (1) to (10), wherein the processing circuitry is further configured to receive the public key of the physical device from the physical device.

[0072] (12) The apparatus of any one of (1) to (11), wherein the apparatus comprises the TEE.

[0073] (13) The apparatus of any one of (1) to (11), wherein the TEE is external to the apparatus.

[0074] (14) A method for distributed ledger database verification, the method comprising: receiving a stored distributed ledger record of a physical device from the distributed ledger database, the distributed ledger record comprising at least a timestamp and a first fingerprint indicating a firmware that the physical device is running; requesting data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device, the data related to the distributed ledger record comprising at least input data input to the physical device and first output data output by the physical device based on the input data; controlling a Trusted Execution Environment, TEE, to execute a digital twin of the physical device based on the first fingerprint; transmitting the input data to the digital twin; receiving second output data output by the digital twin based on the input data; checking whether the first output data match the second output data; and if the first output data match the second output data, determining that the distributed ledger record is trustworthy.

[0075] (15) A physical device comprising processing circuitry configured to: generate output data based on input data; cause a distributed ledger to generate a distributed ledger record, wherein the distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device; store data related to the distributed ledger record in a data storage, the data related to the distributed ledger record comprising the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data, and wherein the signature is signed with the private key of the physical device; and publish a public key of the physical device.

[0076] (16) A method for a physical device, the method comprising: generating output data based on input data; causing a distributed ledger to generate a distributed ledger record, wherein the distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device; storing data related to the distributed ledger record in a data storage, the data related to the distributed ledger record comprising the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data, and wherein the signature is signed with the private key of the physical device; and publishing a public key of the physical device.

[0077] (17) A non-transitory machine-readable medium having stored thereon a program having a program code for performing the method according to (14) or (16), when the program is executed on a processor or a programmable hardware.

[0078] (18) A program having a program code for performing the method according to (14) or (16), when the program is executed on a processor or a programmable hardware.

[0079] The aspects and features described in relation to a particular one of the previous examples may also be combined with one or more of the further examples to replace an identical or similar feature of that further example or to additionally introduce the features into the further example.

[0080] Examples may further be or relate to a (computer) program including a program code to execute one or more of the above methods when the program is executed on a computer, processor or other programmable hardware component. Thus, steps, operations or processes of different ones of the methods described above may also be executed by programmed computers, processors or other programmable hardware components. Examples may also cover program storage devices, such as digital data storage media, which are machine-, processor- or computer-readable and encode and / or contain machine-executable, processorexecutable or computer-executable programs and instructions. Program storage devices may include or be digital storage devices, magnetic storage media such as magnetic disks and magnetic tapes, hard disk drives, or optically readable digital data storage media, for example. Other examples may also include computers, processors, control units, (field) programmable logic arrays ((F)PLAs), (field) programmable gate arrays ((F)PGAs), graphics processor units (GPU), ASICs, integrated circuits (ICs) or system-on-a-chip (SoCs) systems programmed to execute the steps of the methods described above. It is further understood that the disclosure of several steps, processes, operations or functions disclosed in the description or claims shall not be construed to imply that these operations are necessarily dependent on the order described, unless explicitly stated in the individual case or necessary for technical reasons. Therefore, the previous description does not limit the execution of several steps or functions to a certain order. Furthermore, in further examples, a single step, function, process or operation may include and / or be broken up into several sub-steps, -functions, -processes or -operations.

[0081] If some aspects have been described in relation to a device or system, these aspects should also be understood as a description of the corresponding method. For example, a block, device or functional aspect of the device or system may correspond to a feature, such as a method step, of the corresponding method. Accordingly, aspects described in relation to a method shall also be understood as a description of a corresponding block, a corresponding element, a property or a functional feature of a corresponding device or a corresponding system.

[0082] The following claims are hereby incorporated in the detailed description, wherein each claim may stand on its own as a separate example. It should also be noted that although in the claims a dependent claim refers to a particular combination with one or more other claims, other examples may also include a combination of the dependent claim with the subject matter of any other dependent or independent claim. Such combinations are hereby explicitly proposed, unless it is stated in the individual case that a particular combination is not intended. Furthermore, features of a claim should also be included for any other independent claim, even if that claim is not directly defined as dependent on that other independent claim.

Claims

ClaimsWhat is claimed is:

1. An apparatus for distributed ledger database verification, the apparatus comprising processing circuitry configured to: receive a stored distributed ledger record of a physical device from the distributed ledger database, the distributed ledger record comprising at least a timestamp and a first fingerprint indicating a firmware that the physical device is running; request data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device, the data related to the distributed ledger record comprising at least input data input to the physical device and first output data output by the physical device based on the input data; control a Trusted Execution Environment, TEE, to execute a digital twin of the physical device based on the first fingerprint; transmit the input data to the digital twin; receive second output data output by the digital twin based on the input data; check whether the first output data match the second output data; and if the first output data match the second output data, determine that the distributed ledger record is trustworthy.

2. The apparatus of claim 1, wherein, if the first output data do not match the second output data, the processing circuitry is configured to determine that the distributed ledger record is not trustworthy.

3. The apparatus of claim 1, wherein the processing circuitry is configured to forward second output data to a smart contract running on the distributed ledger database to verify the processing of the input data by the digital twin.

4. The apparatus of claim 1, wherein, if it is determined that the distributed ledger record is trustworthy, the processing circuitry is further configured to:append a signature of the apparatus to the distributed ledger record; and commit the signed distributed ledger record to the distributed ledger database.

5. The apparatus of claim 1, wherein the processing circuitry is configured to: repeatedly poll the distributed ledger database for new distributed ledger records of the physical device based on the public key of the physical device; and receive the stored distributed ledger record of the physical device in response to a poll.

6. The apparatus of claim 1, wherein, for checking whether the first output data match the second output data, the processing circuitry is configured to compare the first output data and the second output data.

7. The apparatus of claim 1, wherein the distributed ledger record further comprises a second fingerprint indicating the input data and the first output data, and wherein, for checking whether the first output data match the second output data, the processing circuitry is configured to: determine a third fingerprint indicating the input data and the second output data based on the input data and the second output data; and compare the second fingerprint and the third fingerprint.

8. The apparatus of claim 1, wherein the processing circuitry is configured to control the TEE to execute the digital twin with the firmware indicated by the first fingerprint.

9. The apparatus of claim 1, wherein the data related to the distributed ledger record further comprise a signature for the combination of the timestamp, the input data and the first output data, and wherein the signature is signed with a private key of the physical device.

10. The apparatus of claim 1, wherein the distributed ledger record further comprises a second fingerprint indicating the input data and the first output data, and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device.

11. The apparatus of claim 1, wherein the processing circuitry is further configured to receive the public key of the physical device from the physical device.

12. The apparatus of claim 1, wherein the apparatus comprises the TEE.

13. The apparatus of claim 1, wherein the TEE is external to the apparatus.

14. A method for distributed ledger database verification, the method comprising: receiving a stored distributed ledger record of a physical device from the distributed ledger database, the distributed ledger record comprising at least a timestamp and a first fingerprint indicating a firmware that the physical device is running; requesting data related to the distributed ledger record from a data storage based on the timestamp and a public key of the physical device, the data related to the distributed ledger record comprising at least input data input to the physical device and first output data output by the physical device based on the input data; controlling a Trusted Execution Environment, TEE, to execute a digital twin of the physical device based on the first fingerprint; transmitting the input data to the digital twin; receiving second output data output by the digital twin based on the input data; checking whether the first output data match the second output data; and if the first output data match the second output data, determining that the distributed ledger record is trustworthy.

15. A physical device comprising processing circuitry configured to: generate output data based on input data; cause a distributed ledger database to generate a distributed ledger record, wherein the distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device;store data related to the distributed ledger record in a data storage, the data related to the distributed ledger record comprising the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data, and wherein the signature is signed with the private key of the physical device; and publish a public key of the physical device.

16. A method for a physical device, the method comprising: generating output data based on input data; causing a distributed ledger database to generate a distributed ledger record, wherein the distributed ledger record comprises a first fingerprint indicating a firmware that the physical device is running, a second fingerprint indicating the input data and the output data, a timestamp and a signature for the combination of the first fingerprint, the second fingerprint and the timestamp, and wherein the signature is signed with a private key of the physical device; storing data related to the distributed ledger record in a data storage, the data related to the distributed ledger record comprising the input data, the output data, the timestamp and a signature for the combination of the timestamp, the input data and the output data, and wherein the signature is signed with the private key of the physical device; and publishing a public key of the physical device.

17. A non-transitory machine-readable medium having stored thereon a program having a program code for performing the method according to claim 14, when the program is executed on a processor or a programmable hardware.

18. A program having a program code for performing the method according to claim 14, when the program is executed on a processor or a programmable hardware.