METHOD AND SYSTEM FOR CONTROLLING INTERCONNECTED DEVICES OPERATING IN AN UNRELIABLE ENVIRONMENT
Patent Information
- Application Number
- BR112025021835
- Authority / Receiving Office
- BR · BR
- Patent Type
- Applications
- Publication Date
- 2026-09-08
Smart Images

Figure 00000116_0000 
Figure 00000117_0000
Description
1 / 84 METHOD AND SYSTEM FOR CONTROLLING INTERCONNECTED DEVICES OPERATING IN AN UNRELIABLE ENVIRONMENT TECHNICAL FIELD
[0001] The present invention relates to the field of controlling operations performed by a plurality of devices operating in an unreliable environment and equipped with communication units capable of securely exchanging data with each other through wired or wireless communication links. BACKGROUND OF THE INVENTION
[0002] Interconnected devices via wired or wireless networks that cooperate to perform various tasks, for example, industrial robots that perform operations within a factory according to industrial manufacturing processes or within a warehouse to store and move goods according to transportation or delivery processes, but also mobile devices such as cell phones, laptops or tablets, or Internet of Things (IoT) devices are widely used today. Another example refers to a swarm of drones belonging to different owners operating in an unreliable, possibly hostile environment, and must exchange data to perform certain tasks. All these devices must exchange data with each other and possibly with servers. These devices are usually equipped with a processing unit and a communication unit to exchange and process data received through a communication network.For example, interconnected robots are usually supervised by a server (having processing and communication means as well). Petition 870250092118, dated 08 / 10 / 2025, page 11 / 128 2 / 84 as storage media, such as a database) to receive instructions to perform tasks and to control the execution of tasks.
[0003] In this context of interconnected devices, many hardware and software solutions have been developed to provide secure data transmission across different networks. The security of data exchanges across a network against intrusions (from untrusted parties) has been enhanced through the use of data encryption. For example, Rich Operating System Execution Environment (REE) has been developed (e.g., like Android™). However, this is not always sufficient to prevent (physical) intrusions and maintain data integrity. Thus, physical protection of processing units, or at least parts thereof, has been developed to increase security. For example, the Trusted Execution Environment (TEE) standard, which uses hardware and software to protect data, has been developed by the industry (e.g., ARM Holdings' ARM TrustZone technology, see also ref.[1] and [2]).A trusted execution environment (TEE) is a secure area of a processor: as an isolated execution environment, it ensures that the code and data loaded within it are protected with respect to the integrity and confidentiality of sensitive data.
[0004] TEE uses secure hardware enclaves. A secure enclave is a protected region of memory that acts as a TEE for processing sensitive data on a processing device. The secure enclave appears as an opaque box to the rest of the device and to other processes running on the device: it cannot be seen. Petition 870250092118, dated 08 / 10 / 2025, page 12 / 128 3 / 84 No data or code inside the enclave is exposed outside. For example, when parsing an application query from a client driver, the processing device determines if the query contains any operations on encrypted data that require the use of the secure enclave. For queries where the secure enclave needs to be accessed: (i) the client driver sends the necessary column encryption keys for the operations to the secure enclave (via a secure channel), (ii) then the client driver sends the query for execution with the encrypted query parameters. During query processing, the data or column encryption keys are not exposed in plaintext outside the secure enclave (the processing device delegates cryptographic operations and calculations on encrypted columns to the secure enclave).The secure enclave (within the processing device) can access sensitive data stored in the encrypted database column and the corresponding column's encryption keys in plain text. Before sending a query involving enclave calculations to the processing device, the client driver within the application must verify that the secure enclave is a genuine enclave based on a given technology (e.g., VBS Virtualization-Based Security) and that the code executed within the enclave has been signed for execution within the enclave.
[0005] In addition, specific communication / verification protocols have been developed to improve the security of data transfers (see [3]) on networks. Petition 870250092118, dated 08 / 10 / 2025, page 13 / 128 4 / 84 of communication. For example, there are verification protocols such as Zero-Knowledge Proof ZKP (see [4]) to validate offline the digital signature (proof of signature) of a digital artifact (see, for example, [5], [6]).
[0006] There are also ZKP protocols for signing a digital artifact with a new key without knowing the key value, i.e., without learning how to respond positively to a signature proof, for example, through blind (see [6], [7]), efficient (see [8], [9],
[10] ) or delegated (see
[11] ) signatures.
[0007] It is also possible to protect essential data and / or encryption keys that protect that data using a hardware security module (HSM), i.e., a specialized and highly reliable physical device adapted to perform all major cryptographic operations, including encryption, decryption, authentication, key management, key exchange and much more. In general, HSMs have a robust operating system (OS) and restricted and strictly controlled network access, protected by a firewall, in addition to being tamper-proof and unbreakable devices (see, for example,
[12] ).
[0008] However, there is still a need to improve the security and robustness in controlling the execution of operations performed by interconnected devices with respect to possible intrusions that alter the execution of operations and / or the integrity of the data, especially if the devices are not owned (or under the total control) of the same entity or person, especially if the devices operate in an environment Petition 870250092118, dated 08 / 10 / 2025, page 14 / 128 5 / 84 dangerous and hostile (with possible intrusions into data exchanges), so that only the confidential data strictly necessary for the secure execution of operations can be transferred, that the unauthorized (re)use of transmitted data is avoided, and that the traceability of data exchanges is also avoided. SUMMARY OF THE INVENTION
[0009] According to one aspect, the invention relates to a method for controlling a plurality of devices through a reference device and causing the devices to cooperate to perform a task, each device belonging to a corresponding owner, each device being equipped with a processing unit with a memory and a communication unit, and adapted to perform the operations necessary to perform the task, the memory of each device storing a corresponding set of private cryptographic keys of the device owner, a decentralized identifier (DID) of its owner associated with a set of public cryptographic keys respectively corresponding to the private keys, a programmed method of authenticating the other devices and the reference device adapted to be executed in the processing unit of the device,the public cryptographic key sets of the other devices, a set of verifiable data, each verifiable data comprising corresponding operating parameter data values and associated internal rules necessary to perform the task, and verifiable credentials of the device owner, the communication units of the devices, Petition 870250092118, dated 08 / 10 / 2025, p. 15 / 128 6 / 84 being adapted to communicate securely with each other via a wired or wireless communication network, the reference device is equipped with a processing module, a memory module and a communication module and is adapted to communicate securely with each communication unit of the device via the wired or wireless communication network, the reference device and the devices being adapted to transfer data using a cryptographic protocol, the memory module of the reference device storing the corresponding set of cryptographic private keys of a reference owner of the reference device, and the corresponding decentralized identifier (DID) data associated with a set of public cryptographic keys respectively corresponding to the private keys of the reference device and the set of public cryptographic keys of each device in said plurality of devices,the reference device and each device being adapted to digitally sign a transfer receipt with their corresponding stored private keys, and the memory of each device additionally storing the set of public cryptographic keys of the reference device, the method being characterized by the fact that: Each data transfer between any two devices, and between the reference device and any other device, is encrypted with a private key according to the encryption protocol, and any recipient of a message transferred according to said encryption protocol authenticates the sender of the received message. Petition 870250092118, dated 08 / 10 / 2025, page 16 / 128 7 / 84 decrypting the message with a public key corresponding to the private key of the sender's owner used to encrypt said message and, if the message includes a signed transfer receipt, the recipient additionally verifies that each signature on the signed transfer receipt is valid; Each signed transfer receipt sent or received by a device is stored in its memory, and each signed transfer receipt sent or received by the reference device is stored in its memory module. - each time a first device sends to a second device, through its communication unit, possibly via the reference device, an encrypted message that includes a signed transfer receipt and indicates an operation involving the use of certain operation parameter data values to be executed by the second device as part of the task, the signed transfer receipt includes the respective DIDs of the first device, the second device, and the reference device along with the supplied operation parameter data values; and - The second device, after receiving this message through its communication unit, decrypts the message, executes the operation using the operation parameter data values included in the transfer receipt signed in the received message, and its processing unit removes from its set of verifiable data stored in its memory the selected verifiable data whose operation parameter values correspond to the data values of the Petition 870250092118, dated 08 / 10 / 2025, page 17 / 128 8 / 84 operating parameter data used to perform the operation and separately stores in its memory the selected verifiable data, generates proof of said removal and separate storage of the selected verifiable data and includes the generated proof in the signed transfer receipt, and the second device additionally signs, through its processing unit, the signed transfer receipt in the received decrypted message and sends, through its communication unit to the reference device, an encrypted message that includes the additionally signed transfer receipt, together with the selected verifiable data; and - After the reference device's communication module receives the encrypted message from the second device, including the additionally signed transfer receipt along with the selected verifiable data, the reference device verifies whether the proof received in the additionally signed transfer receipt is valid and whether the received selected verifiable data conforms to the associated internal rules; and - In the event of successful authentication of the respective sender and receiver for any message transfer between the first device and the second device related to said operation, and between either of the first and second devices and the reference device related to said operation, and successful verification of the data content of any transferred message, the reference device additionally signs and stores the signed transfer receipt in its memory module. Petition 870250092118, dated 08 / 10 / 2025, page 18 / 128 9 / 84 by the first device and the second device, containing said proof generated by the second device, and sends an encrypted message containing said transfer receipt signed additionally to the first device and the second device, thus indicating to said two devices that the operation was executed; and - After the communication unit of the second device receives the said transfer receipt, additionally signed by the reference device, the second device deletes the selected verifiable data from its memory.
[0010] For each operation required to perform the (programmed) task, the corresponding specific operation parameter data values are sent to a device responsible for executing said operation. The device that receives these specific operation parameter data values then searches for verifiable data within the set of verifiable data stored in its memory and selects verifiable data whose operation parameter data values match those received specific operation parameter data values. Then, the device executes the operation corresponding to the selected verifiable data (i.e., using the specific operation parameter data values) and, due to the execution of the operation, the device removes the selected verifiable data from the device's set of verifiable data stored in its memory and stores separately (from the set) in its memory those selected verifiable data.Thus, the device stored (separately) the selected verifiable data in one. Petition 870250092118, dated 08 / 10 / 2025, page 19 / 128 10 / 84 occupied section of its memory (that is, the selected verifiable data is no longer stored as an element of the set), in contrast to a normal section of memory corresponding to that verifiable data stored as an element of the device's verifiable data set. Each instruction sent by one device to another device (possibly via the reference device) to perform an operation is part of a message containing a transfer receipt signed by the device, and this transfer receipt is stored in the device's memory and, upon its reception, in the memory of said other device. The reference device also stores in its memory module any signed transfer receipt received and any transfer receipt signed by the reference device.The systematic storage of any sent or received transfer receipt (including any proof of modification of verifiable data storage by a device) allows for strict control over the execution of the various operations involved in performing the task assigned to the devices and allows verification that each device has correctly updated its verifiable data set when moving from one operation to the next. Each device, and the reference device, can sign a transfer receipt by calculating a hash value of the transfer receipt's data content with a programmed signature hash function and encrypting the calculated hash value with one of its private keys. According to the conventional signature verification scheme, the integrity of the data in a signed transfer receipt... Petition 870250092118, dated 08 / 10 / 2025, page 20 / 128 The integrity of a signed transfer receipt (11 / 84) received from a sender and decrypted by a recipient of that transfer receipt, signed with the sender's public key (corresponding to the private key used for signing), is verified by the recipient using the sender's decrypted signature. This involves extracting the hash value from the decrypted signature and comparing that hash value with a hash value calculated from the decrypted transfer receipt data. If these two hash values match, the signature is valid, and the integrity of the transfer receipt data is guaranteed. Furthermore, a recipient of a signed encrypted transfer receipt can additionally verify, during the decryption stage, whether the public key used for decryption actually belongs to the sender's owner, as identified by their DID included in the signed decrypted transfer receipt.
[0011] The owner of a device, or the owner of the reference device, may be any entity (e.g., control unit, operator, etc.) that participates in or organizes the operations of that device to collaborate with other devices in performing a given task. An owner may program certain applications on their device and / or interact with the device through a specific communication link or interface: these aspects are well known to those skilled in the art and are not the subject of the invention. A device may be a robot or a mobile device, such as, for example, a cell phone (e.g., programmed to interact with a device to perform operations), a laptop or a tablet, or an IoT device. Another example of a plurality of Petition 870250092118, dated 08 / 10 / 2025, page 21 / 128 12 / 84 interconnected devices are a swarm of drones cooperating to perform a task such as delivering materials or closely monitoring (e.g., via optical sensors, cameras, etc.) a designated zone. In this case, a drone's verifiable data might correspond, for example, to flight instructions for setting drone flight parameters (corresponding to specific values of operating parameter data), while internal rules might, for example, correspond to authorized values or ranges of values for flight parameters. Verifiable data is considered to conform to its own internal rules if its corresponding operating parameter data values (used to perform an operation) do not violate those internal rules.A device can update internal rules for verifiable data (e.g., according to programmed instructions) to restrict the use of corresponding operating parameter data values for specific operations to be performed by the device or by another device that needs to use, or receives from the device, said operating parameter data values. A specific example of drones competing to perform a task is in the field of precision agriculture. In precision agriculture, drones can be used to survey crops, collect data on plant health, and spray pesticides or fertilizers. Multiple drone operators can be hired to inspect and treat a single farm, with each operator responsible for a different area or task. In this scenario, drone operators are competing. Petition 870250092118, dated 08 / 10 / 2025, page 22 / 128 13 / 84 among themselves to provide the best service to the farmer, while also trying to maximize their own profits. They need to cooperate with each other to ensure they are not interfering with each other's work, but they also have incentives to cheat, such as flying their drones outside the designated area to collect more data or spraying more pesticides than necessary to complete the task faster. To address these problems, a regulatory authority can establish rules to be followed by operators, such as designated flight routes or limits on the amount of pesticide that can be sprayed. Operators can also share data with each other to improve the overall quality of the research, but they must be cautious to protect their own interests and the privacy of the data.
[0012] According to one embodiment of the invention above, a clock in the processing unit of each device is synchronized with a clock in the processing module of the reference device RD, and each device and the reference device RD are adapted to include timestamp data in a transfer receipt and to check for timeouts in the timestamp data in a received transfer receipt, whereby an operation that is part of the task is performed according to the following steps: (A) A first device D1 sends a message to a second device D2 through its communication unit, encrypted by its processing unit using one of its private keys stored in its memory, the message including data indicating an operation. Petition 870250092118, dated 08 / 10 / 2025, page 23 / 128 14 / 84 OP to be executed by the second device D2 and the corresponding transfer receipt signed by the first device containing data values of operating parameters to be used to execute the OP operation and the data from the first date and time stamp; (B) After the second device D2 receives the encrypted message from the first device D1, the processing unit of the second device authenticates the first device as the sender of the received message, decrypting the message using a public cryptographic key corresponding to the private key of the owner of the first device used to encrypt the message, or using a shared symmetric key negotiated with the sender's private key, and verifying that the signature on the received signed transfer receipt is valid, and the processing unit of the second device verifies that there is no timeout of the data in the first timestamp on the received signed transfer receipt;(B1) if authentication of the first device D1 fails, or the signature on the signed transfer receipt is invalid or there is a timeout, the second device D2 sends a corresponding error notification to the reference device via its communication unit, the data transfer with the first device D1 is canceled and the reference device RD forwards the received error notification to the first device D1; and (B2) if authentication of the first device D1 is successful, and the signature on the signed transfer receipt is valid, and there is no timeout, the unit of; Petition 870250092118, dated 08 / 10 / 2025, p. 24 / 128 15 / 84 The processing unit of the second device D2 selects the verifiable data D2SVD whose operating parameter data values correspond to the operating parameter data values received in the verifiable data set D2SVD stored in its memory. The processing unit of the second device D2 updates the internal rules of the selected verifiable data. The second device D2 executes the operation using the selected verifiable data D2SVD, and its processing unit removes the selected verifiable data D2SVD from its stored verifiable data set and stores separately in its memory this selected verifiable data D2SVD with the associated updated internal rules. It generates a proof PR1 of said removal and separate storage of the selected verifiable data D2SVD, and incorporates the selected verifiable data D2SVD into the message.Includes the generated proof PR1 and the data from the second timestamp in the signed transfer receipt, additionally signs the transfer receipt and includes this additionally signed transfer receipt in the message, encrypts the message with one of its private keys and sends the encrypted message to the reference device RD; (C) After the communication module of the reference device RD receives the message from the second device D2, the processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies that the signatures on the transfer receipt are valid, and that there is no timeout of the data in the first and second records. Petition 870250092118, dated 08 / 10 / 2025, page 25 / 128 16 / 84 date and time, if the PR1 proof is valid and if the selected verifiable data from the second D2SVD device received conforms to the corresponding associated internal rules; and (C1) if a signature is not valid or there is a timeout or the PR1 proof is not valid or the selected verifiable data from the second D2SVD device received does not conform to the corresponding internal rules, the reference device RD sends the first device D1 and the second device D2 a corresponding error notification via its communication module and the data transfer between the first device D1 and the second device D2 is canceled;and (C2) if the signatures are valid, there is no time limit, the PR1 proof is valid and the selected verifiable data from the second D2SVD device received conforms to the corresponding internal rules, the processing module of the reference device RD includes the selected verifiable data from the second D2SVD device in the message, additionally signs the signed transfer receipt and attaches this additionally signed transfer receipt to the message, encrypts the message with a private key stored in the memory module, sends the encrypted message to the first D1 device, and the processing module of the reference device RD encrypts the additionally signed transfer receipt with a private key stored in the memory module and sends the additionally encrypted signed transfer receipt to the second D2 device; Petition 870250092118, dated 08 / 10 / 2025, page 26 / 128 17 / 84 (D) after the communication unit of the first device D1 receives the message from the reference device RD, the processing unit of the first device D1 decrypts the message with the public key corresponding to the private key used by the reference device RD to encrypt the message and extracts the selected verifiable data from the second device from the message; and (D1) the first device D1 modifies its set of verifiable data from the first device (D1VD) stored in its memory, generating and storing a new set of verifiable data from the first device D1VD', including the selected verifiable data from the second device extracted D2SVD; (E) after the communication unit of the second D2 device receives the error notification sent by the reference device RD in accordance with step (C1), the processing unit of the second D2 device transfers the selected verifiable data from the second D2SVD device stored separately in its memory to its D2VD verifiable data set; (F) after the communication unit of the second D2 device receives the decryption and validation of the signatures of the encrypted signed transfer receipt sent by the reference device RD in accordance with step (C2), the processing unit of the second D2 device deletes the selected verifiable data from the second D2SVD device stored separately in its memory.
[0013] In the case above, the date and time registration data Petition 870250092118, dated 08 / 10 / 2025, page 27 / 128 The 18 / 84 timestamps included in a transfer receipt are not simply a snapshot of the current time. Instead, it's a time constraint that, if violated, should trigger a timeout. Each device can express specific time constraints, and therefore the most stringent constraint will ultimately govern the timeouts. This timestamp data allows for increased security in the execution of operations by devices and the detection (and reporting) of malfunctions.
[0014] The message sent by the first device in step (A) is encrypted to protect the message content and / or to authenticate itself to the second device. It is possible, for example, that the second device challenges the first device, or that the first device uses key-combined authenticated cryptography to perform said authentication. Alternatively, in step (B), after the second device receives the message, the processing unit of the second device can authenticate the sender's message owner using a shared symmetric key negotiated with the sender's private key and then perform the step of verifying the validity of the signature on the received transfer receipt and whether there is a timeout on the first timestamp data of the transfer receipt.According to the invention, strong authentication of a sender of an encrypted message, including a signed transfer receipt, is based on a first phase of decrypting the message with a public key corresponding to the sender's private key used to encrypt the message, and a second phase of verification. Petition 870250092118, dated 08 / 10 / 2025, p. 28 / 128 19 / 84 that the signature on the signed (decrypted) transfer receipt matches the signature corresponding to that private key. The so-called verification of the validity of the signature on the transfer receipt also serves to guarantee the integrity of the data content of the signed transfer receipt (if the signature is valid).
[0015] According to another embodiment of the invention, wherein a clock of the processing unit of each device is synchronized with a clock of the processing module of the reference device RD, and each device and the reference device RD are adapted to include timestamp data in a transfer receipt and to check for timeout of the timestamp data in a received transfer receipt, and wherein an operation that is part of the task is performed according to the following steps: (A') a first device D1 sends to the reference device RD through its communication unit a message, encrypted by its processing unit using one of its private keys stored in its memory, the message including data indicating an OP operation to be executed by the second device D2 and the corresponding transfer receipt signed by the first device containing data values of operation parameters to be used to execute the OP operation and the data of the first date and time record; After the encrypted message from the first device D1 is received by the communication module of the reference device RD, the processing module of the reference device RD authenticates the first device. Petition 870250092118, dated 08 / 10 / 2025, page 29 / 128 20 / 84 device as being the sender of the received message decrypting the message using a public cryptographic key corresponding to the private key of the owner of the first device D1 used to encrypt the message, and the processing module of the reference device RD verifies if the signature on the received signed transfer receipt is valid and if there is no timeout of the data of the first timestamp record on the signed transfer receipt and (A1') if the authentication of the first device D1 fails, or the signature of the transfer receipt is not valid or there is a timeout, the reference device RD sends the first device D1 an error message through its communication module and the data transfer between the first device D1 and the second device D2 is canceled;and (A2') if the authentication of the first device is successful, and the signature on the transfer receipt is valid and there is no timeout for the data of the first timestamp, the processing module of the reference device RD includes a timestamp of the reference device RDTS in the signed transfer receipt, attaches this signed transfer receipt to the message and encrypts the message including the signed transfer receipt with one of its private keys stored in the memory module and sends the encrypted message to the second device D2 through its communication module; (B') after the second device D2 receives the encrypted message from the reference device RD, a Petition 870250092118, dated 08 / 10 / 2025, page 30 / 128 21 / 84 The processing unit of the second device D2 authenticates the reference device RD as the sender of the received message, decrypting the message using a public cryptographic key corresponding to the private key of the owner of the reference device RD used to encrypt the message, verifies that the signature of the first device D1 on the received signed transfer receipt is valid and that there is no timeout of the data from the first timestamp and timestamp data from the reference device of the signed transfer receipt in the message;and (B1') if authentication of the reference device RD fails, or the signature on the signed transfer receipt is invalid or there is a timeout, the second device D2 sends a corresponding error notification to the reference device RD through its communication unit, the reference device RD forwards the received error notification to the first device D1 and the data transfer with the first device D1 is canceled;and (B2') if the authentication of the reference device RD is successful and the signature on the signed transfer receipt is valid and there is no timeout, the processing unit of the second device D2 selects the verifiable data D2SVD whose operating parameter data values match the operating parameter data values received in the verifiable data set D2VD stored in its memory, the processing unit of the second device D2 updates the internal rules associated with the selected verifiable data, the second device D2 executes the operation accordingly; Petition 870250092118, dated 08 / 10 / 2025, p. 31 / 128 22 / 84 selected verifiable data D2SVD and its processing unit removes the selected verifiable data D2SVD from the set of its verifiable data D2SVD stored in its memory and separately stores said selected verifiable data D2SVD in its memory with the associated updated internal rules, generates a proof PR1 of said removal and separate storage corresponding to said execution of the OP operation, incorporates the selected verifiable data D2SVD into the message, includes the generated proof PR1 and the data from the second timestamp in the signed transfer receipt, additionally signs the signed transfer receipt and attaches the additionally signed transfer receipt to the message, encrypts the message with one of its private keys and sends the encrypted message to the reference device RD; (C') after the communication module of the reference device RD receives the message from the second device D2, the processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies that the signatures on the signed transfer receipt are valid and that there is no timeout of the data from the first timestamp, the data from the timestamp of the reference device and the data from the second timestamp on the signed transfer receipt, that proof PR1 on the signed transfer receipt is valid and that the selected verifiable data from the second device D2SVD received conforms to the corresponding associated internal rules; and Petition 870250092118, dated 08 / 10 / 2025, p. 32 / 128 23 / 84 (C1') if a signature is invalid or there is a timeout or the PR1 proof is invalid or the selected verifiable data from the second D2SVD device received does not conform to the associated internal rules, the reference device RD sends a corresponding error notification to the first D1 device and the second D2 device via its communication module and the data transfer between the first D1 device and the second D2 device is canceled; and (C2') if the signatures are valid, there is no timeout, the PR1 proof is valid and the selected verifiable data from the second D2SVD device received conforms to the associated internal rules, the processing module of the reference device RD encrypts the message with a private key stored in the memory module and sends the encrypted message, including the signed transfer receipt, to the first D1 device; (D') after the communication unit of the first device D1 receives the message and the signed transfer receipt from the reference device RD, the processing unit of the first device D1 decrypts the message with the public key corresponding to the private key used by the reference device RD to encrypt the message, verifies that the signatures on the signed transfer receipt are valid and that there is no timeout of the data from the first timestamp, the data from the timestamp of the reference device and the data from the second timestamp, extracts the verifiable data from the second device D2SVD from the decrypted message; and Petition 870250092118, dated 08 / 10 / 2025, p. 33 / 128 24 / 84 (D1') if a signature on the signed transfer receipt is invalid or there is a timeout, the first device D1 sends a corresponding error notification to the reference device RD via its communication unit, the reference device RD forwards the received error notification to the second device D2 and the data transfer with the first device D1 is canceled;and (D2') if the signatures on the signed transfer receipt are valid and there is no timeout, the processing unit of the first device D1 modifies its verifiable data set from the first device (D1VD) stored in its memory to generate and store a new verifiable data set from the first device D1VD', including the selected verifiable data from the second device extracted D2SVD in the verifiable data set of the first device (D1VD), generates a proof PR2 of this inclusion, removes the selected verifiable data from the second device D2SVD from the message, incorporates the inclusion proof PR2 generated in the signed transfer receipt, encrypts the message with a private key stored in the memory of the first device D1 and forwards the encrypted message, including the signed transfer receipt, to the reference device RD;and (D3') after the communication module of the reference device RD receives the message with the signed transfer receipt sent by the first device D1 according to substep (D2'), the processing module of the reference device RD decrypts the message with; Petition 870250092118, dated 08 / 10 / 2025, page 34 / 128 25 / 84 the public key corresponding to the private key used by the first device D1 to encrypt the message, verifies if the signatures on the signed transfer receipt are valid, if there is no timeout of the data in the first timestamp, the data in the timestamp of the reference device and the data in the second timestamp, and if the proof of inclusion PR2 in the signed transfer receipt is valid and (D4') if a signature is not valid or there is a timeout or the proof of inclusion PR2 is not valid, the reference device RD sends the first device D1 and the second device D2 a corresponding error notification through its communication module and the data transfer between the first device D1 and the second device D2 is canceled and (D5') if the signatures are valid, there is no timeout and the proof of inclusion PR2 is valid,The processing module of the reference device RD encrypts the message with a private key from the set of private keys stored in the memory module and forwards the message to the second device D2 through the communication module; (E') after the communication unit of the second D2 device receives the error notification sent by the reference device RD according to step (C1'), the processing unit of the second D2 device transfers the selected verifiable data from the second D2SVD device stored separately in its memory to its verifiable data set; (F') after the communication unit of the second device D2 received the message with the receipt of Petition 870250092118, dated 08 / 10 / 2025, page 35 / 128 26 / 84 signed transfer forwarded by the reference device RD according to step (D5'), the processing unit of the second device D2 decrypts the message with a stored public key corresponding to the private key used by the reference device RD to encrypt the message, verifies that the signatures on the transfer receipt are valid and that there is no timeout of the data from the first timestamp, the data from the reference device timestamp and the data from the second timestamp, and that the proof of inclusion PR2 is valid;and (F1') if a signature is invalid or there is a timeout or the received inclusion proof PR2 is invalid, the second device D2 sends a corresponding error notification to the reference device RD via its communication unit, the data transfer to said first device D1 is canceled and the reference device RD forwards said error notification to the first device D1; and (F2') if the signatures are valid, there is no timeout and the received inclusion proof PR2 is valid, the second device D2 deletes the selected verifiable data from the second device D2SVD stored separately in its memory, additionally generates a PR3 proof of this deletion, incorporates the generated PR3 deletion proof into the signed transfer receipt, encrypts the message containing the signed transfer receipt with one of its private keys and forwards the encrypted message to the reference device RD;and (G') after reception by the communication module of; Petition 870250092118, dated 08 / 10 / 2025, page 36 / 128 27 / 84 reference device RD of the message with the signed transfer receipt forwarded by the second device D2 according to step (F2'), the processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies if the signatures on the transfer receipt are valid, if there is no timeout of the data of the first timestamp, of the timestamp data of the reference device and of the data of the second timestamp, and if the PR3 deletion proof received in the signed transfer receipt is valid;(G1') if a signature on the signed transfer receipt is invalid, or there is a timeout, or the received PR3 deletion proof is invalid, the reference device RD sends a corresponding error notification to the second device D2 and the first device D1 via its communication module, and the data transfer between the first device D1 and the second device D2 is canceled; and (G2') if the signatures on the signed transfer receipt are valid, there is no timeout for the data in the first timestamp, the data in the reference device timestamp, and the data in the second timestamp, and the received PR3 deletion proof is valid, the processing module of the reference device RD additionally signs the signed transfer receipt, encrypts the additionally signed transfer receipt with one of the private keys stored in the memory module, and forwards it; Petition 870250092118, dated 08 / 10 / 2025, page 37 / 128 28 / 84 from the communication module to the first device D1 and to the second device D2 the additionally encrypted signed transfer receipt.
[0016] According to a variant of the invention, respectively in step (C) or (C') of the above methods, if the internal rules of the selected verifiable data of the second received device D2SVD specify the use of verifiable credentials of the owner of the first device D1 or the second device D2, respectively, the reference device RD further verifies the conformity of the verifiable credentials of the owner of the first device D1 or the second device D2 with said internal rules, respectively, by communicating with said first or second devices through a credential sharing protocol. Examples of known credential sharing protocols: Indy Anoncreds (ZKP) (see, for example,
[17] ), W3C CHAPI (non-ZKP) (see, for example,
[18] ), DIF credential manifest (ZKP or non-ZKP) (Credential Manifest is a specification being developed within the Decentralized Identity Foundation (DIF) and intended to be ratified as a DIF-recommended data format).
[0017] One possible representation of verifiable data in a device's memory could use a Merkle tree to clearly detect and prove a change from normal section storage to busy section storage, as mentioned above. A Merkle tree has the advantage of being virtually Petition 870250092118, dated 08 / 10 / 2025, page 38 / 128 29 / 84 unforgivable due to the various levels of hashing to create its nodes (from leaf nodes to the root node). Thus, in the above method, where each verifiable data set of a device is associated with the respective leaf nodes of a Merkle tree corresponding to said device, each leaf node corresponding to a hash value obtained by hashing the associated verifiable data with a corresponding hash function, the Merkle tree comprising intermediate nodes up to a root node of the tree corresponding to a root value of the tree calculated according to a Merkle tree hashing scheme, the Merkle tree being stored in the device's memory; The device's processing unit is adapted to perform a modification of the verifiable dataset stored in its memory, corresponding to the removal of certain verifiable datasets from the dataset. This involves selecting nodes from the stored Merkle tree corresponding to each verifiable dataset to be removed from the dataset, replacing each removed verifiable dataset with the corresponding placeholder data, and hashing each placeholder data piece using the hash function to obtain the corresponding placeholder leaf node value. A new Merkle tree is then formed from the stored Merkle tree, replacing the selected leaf nodes with the corresponding placeholder leaf nodes to obtain the first set of leaf nodes in the new Merkle tree, and attaching a second, distinct set of leaf nodes to said first set.corresponding to the selected leaf nodes of the Merkle tree, such as leaf nodes, Petition 870250092118, dated 08 / 10 / 2025, page 39 / 128 30 / 84 stored separately, and calculating new intermediate nodes of the new Merkle tree up to a new root node of the new Merkle tree that has said first and second parts of the leaf nodes using the hash function according to the hashing scheme, and storing the new Merkle tree in the device's memory; - The device's processing unit is adapted to generate proof that the modification of the verifiable data set stored in its memory corresponds to the execution of an operation performed by the device using the operation parameter data values of the provided verifiable data, sending to the reference device the new value of the root node of the new Merkle tree, along with the root verification data comprising, respectively, the values of the new placeholder nodes and the values of the new intermediate nodes of the new Merkle tree that were modified with respect to the Merkle tree and that are necessary to retrieve the new root value with the hash function according to the hashing scheme; and - The processing module of the reference device is adapted to verify whether a new root node value of a new Merkle tree received from the device, along with the corresponding root verification data, as proof of the device's operation performance, matches a test root node value calculated from the received root verification data, thus verifying that the device performed the operation; - in the case of deletion of verifiable data corresponding to the separate leaf nodes stored in the new Petition 870250092118, dated 08 / 10 / 2025, page 40 / 128 31 / 84 Merkle tree, a resulting updated Merkle tree is obtained by calculating the respective values of its updated intermediate leaf nodes up to its updated root node with the hash function according to the hashing scheme only of the first part of the leaf nodes of the new Merkle tree, the updated root node value of the updated Merkle tree together with the corresponding updated root verification data, constituting proof of said deletion of verifiable data; - In the case of including specific verifiable data in a set of verifiable data stored as an initial Merkle tree in a device's memory, the corresponding values of additional leaf nodes are calculated using the hash function of each specific included verifiable data, and a corresponding final Merkle tree is calculated from the values of the leaf nodes of the initial Merkle tree and the values of the additional leaf nodes according to the hashing scheme, the resulting root node value of said final Merkle tree, together with the resulting root verification data, constituting proof of said inclusion of the specific verifiable data; and The processing units of the devices and the processing module of the reference device are adapted to calculate the node values of a Merkle tree using a programmed hash function and a hash scheme, and to calculate a root value from the root verification data.
[0018] In the above method, according to the invention, in step (B2) or in step (B2'), respectively, the unit of Petition 870250092118, dated 08 / 10 / 2025, page 41 / 128 32 / 84 processing of the second device can: - generate a new symmetric encryption key K and encrypt a specific control field of each selected verifiable data D2SVD with said generated key K; - encrypt the generated key K so that it can be decrypted with a public cryptographic key from the first device D1; and - additionally incorporate the encrypted key K into the message along with each specific encrypted control field.
[0019] Furthermore, in step (C2) or step (C2'), respectively, after the reference device RD receives the message that includes the selected verifiable data from the second device D2SVD and the signed transfer receipt, the processing unit of the first device can decrypt the encrypted key K with a corresponding private key of the first device stored in its memory to obtain the encryption key K, and decrypt each encrypted control field of the selected verifiable data from the second device D2SVD in the message received with the key K, thus allowing the first device D1 to access the control field data of the second device D2 without this data being revealed to the reference device RD.
[0020] In the above method, according to the invention, in step (B) or step (B'), respectively, after decrypting the received message and before verifying whether the signature on the received transfer receipt is valid, if there is no timeout, the second device D2 can perform an additional level of authentication of the first. Petition 870250092118, dated 08 / 10 / 2025, p. 42 / 128 33 / 84 device D1 or the reference device RD, respectively, performing a challenge-response communication step with the first device D1 or the reference device RD, respectively, and only after the second device D2 receives a correct response from the first device D1 or the reference device RD to a challenge sent to it by the second device D2, the processing unit of the second device D2 can then verify if the signature on the received transfer receipt is valid, if there is no timeout of the data from the first message timestamp, and, if the response to the challenge is incorrect, the data transfer with the first device D1 is canceled.
[0021] According to a further variant of the above method, Each device owner's DID may include a corresponding unique identifier (UID) for that device owner, provided by an identity server (IS) in response to a single sign-on configuration between the device owner and the identity server. Each device can be adapted to communicate via the communication network with a Custody Server (CS), and each device owner can perform a one-time registration configuration with the Custody Server by sending it, through said device, a request containing its unique identifier and a cryptographic commitment to a device link secret. Upon receiving the request, the Custody Server can create a corresponding Entropy Test Vector (ETV) as a... Petition 870250092118, dated 08 / 10 / 2025, page 43 / 128 34 / 84 block of bytes generated by a random number generator, a corresponding pair of asymmetric cryptographic keys (OKpub, OKpriv), determine a corresponding shielded profile (SP), obtained by first encrypting the received unique identifier (UID) with the OKprive private key, then encrypting the entropy test vector and the encrypted unique identifier with the OKprive private key, store the obtained triplet (OKpub, SP, UID), and deliver to the device an anonymous verifiable credential CES containing the triplet (OKpub, SP, UID) and the cryptographic commitment to the device's link secret, the Custody Server can be adapted to communicate with the Identity Server through the communication network and request that the Identity Server confirm that a unique identifier (UID) received by the Custody Server from a device is in fact owned by the owner of said device, Each device can be adapted to communicate via the communication network with a Governance Server (GS), and each device owner can perform single sign-on configuration with the Governance Server. This involves first establishing a session with the Governance Server through their device, during which the device uses an ephemeral DID and the Governance Server is authenticated. The Governance Server can then challenge the device to produce proof of registration of its owner with the Custodian Server (ES). In response, the device can generate proof based on the anonymous verifiable credential (CES) provided by the Custodian Server and send the proof to the Governance Server. Petition 870250092118, dated 08 / 10 / 2025, page 44 / 128 35 / 84 after receiving the proof, the governance server may deliver to the device a plurality of Single Use Identity Tokens and the corresponding verifiable CGS credential, each Single Use Identity Token (SUIT) delivered being a string of characters that can be used to look up the device's OKpub public key, the delivered verifiable CGS credential containing a field for each Single Use Identity Token (SUIT) delivered and the cryptographic commitment to the device's link secret, - In the case of a device A from the plurality of devices communicating with a device B from the plurality of devices using a never-before-seen DID, • device B can then challenge device A to prove that the owner of device A is registered with the Governance Server, revealing one of the SUITs (Single-Use Identity Tokens) delivered to device A by the Governance Server in the corresponding verifiable CGS credential, • in response, device A can produce a Zero-Knowledge Proof based on the verifiable CGS credential that reveals one of the corresponding SUITs, and • device B can register the SUITs in the signed transfer receipt generated by device A.
[0022] Another aspect of the invention relates to a system for controlling a plurality of devices through a reference device to make the devices cooperate to perform a task, each device Petition 870250092118, dated 08 / 10 / 2025, p. 45 / 128 36 / 84 belonging to a corresponding owner, each device being equipped with a processing unit with a memory and a communication unit, and adapted to perform the operations necessary to accomplish the task, the memory of each device storing a corresponding set of private cryptographic keys of the device owner, a decentralized identifier (DID) of its owner associated with a set of public cryptographic keys respectively corresponding to the private keys, a programmed method of authentication of the other devices and the reference device adapted to be executed in the processing unit of the device, the sets of public cryptographic keys of the other devices, a set of verifiable data, with corresponding operating parameter data values and associated internal rules necessary to accomplish the task, and verifiable credentials of the device owner,The communication units of the devices are adapted to communicate securely with each other via a wired or wireless communication network; the reference device is equipped with a processing module, a memory module, and a communication module, and is adapted to communicate securely with each communication unit of the device via the wireless or wired communication network; the reference device and the devices are adapted to transfer data using cryptographic protocols; the memory module of the reference device stores a corresponding set of cryptographic private keys of a reference owner. Petition 870250092118, dated 08 / 10 / 2025, page 46 / 128 37 / 84 reference device and corresponding decentralized identifier (DID) data and a set of public cryptographic keys, respectively corresponding to the private keys of the reference device and the set of public cryptographic keys of each device in said plurality of devices, the reference device and each device being adapted to digitally sign a transfer receipt with their corresponding private keys, and the memory of each device additionally stores the set of public cryptographic keys of the reference device, a clock of the processing unit of each device is synchronized with a clock of the processing module of the reference device RD,and each device and the reference device RD are adapted to include date and time stamp data in a transfer receipt and to verify the timeout of the date and time stamp data in a received transfer receipt, the system being characterized in that the devices and the reference device are adapted to perform the steps of the method according to the invention.
[0023] In particular, if the above system is adapted to implement the steps of the additional variant of the invention method mentioned above, this system may further comprise: - an IS Identity Server adapted to communicate with devices over the communication network and deliver to a device, in response to a single registration configuration from the device owner with the Identity Server, a unique identifier. Petition 870250092118, dated 08 / 10 / 2025, page 47 / 128 38 / 84 corresponding UID of said owner to be associated with the decentralized identifier data DID of the device owner, - a Custody Server (ES) adapted to communicate with devices over the communication network and perform a unique registration of a device's owner, after receiving a request from that device containing the unique identifier UID of its owner and a cryptographic commitment to a link secret of said device, by: • creating a corresponding entropy test vector (ETV) as a chunk of bytes generated by a random number generator, a corresponding pair of asymmetric cryptographic keys (OKpub, OKpriv), determining a corresponding shielded profile (SP) obtained by first encrypting the received unique identifier (UID) with the OKpriv private key and then encrypting the entropy test vector and the encrypted unique identifier with the OKpriv private key, storing the obtained triplet (OKpub, SP, UID) and delivering to the device an anonymous verifiable credential (CES) containing the triplet (OKpub, SP, UID).Based on the UID and the cryptographic commitment to the device's link secrecy, the Custodian Server is adapted to communicate with the Identity Server over the communication network and request that the Identity Server confirm that a unique identifier (UID) received by the Custodian Server from a device is indeed owned by the owner of said device. - a GS Governance Server adapted to communicate with devices via the communication network. Petition 870250092118, dated 08 / 10 / 2025, page 48 / 128 39 / 84 and perform a single registration configuration of a device owner, after the device establishes a session with the Governance Server, during which the device uses an ephemeral DID and the Governance Server is authenticated, the Governance Server challenges the device to produce a proof of registration of its owner on the Custodian Server (CS) and, in response, the device generates a proof based on the anonymous verifiable credential CES delivered by the Custodian Server and sends the proof to the Governance Server, and, after receiving the proof, the governance server delivers to the device a plurality of Single Use Identity Tokens and the corresponding verifiable credential CGS, each Single Use Identity Token (SUIT) delivered being a string of characters that can be used to look up the device's public key OKpub,The verifiable credential delivered by CGS contains a field for each delivered Unique Use Identity Token (SUIT) and the cryptographic commitment to the device link secret, and, - where, in the case of a device A from a plurality of devices communicating with a device B from a plurality of devices using a never-before-seen DID, • device B then challenges device A to prove that the owner of device A is registered on the GS governance server, revealing one of the SUITs (Single Use Identity Tokens) delivered to device A by the Governance Server in the corresponding verifiable CGS credential, and • in response, device A produces a Zero-Knowledge Proof Petition 870250092118, dated 08 / 10 / 2025, p. 49 / 128 40 / 84 based on the verifiable CGS credential that reveals one of the corresponding SUIT Single Use Identity Tokens, and • device B records the SUIT Single Use Identity Tokens revealed in the signed transfer receipt generated by device A.
[0024] The present invention will be described more fully hereafter in this document with reference to the accompanying drawings, in which similar numerals represent similar elements throughout the different figures, and in which the prominent aspects and features of the invention, in no way limiting, are illustrated. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 schematically illustrates how the interconnected devices perform the operations necessary to accomplish an assigned task according to an embodiment of the invention. Figure 2 schematically illustrates another embodiment of the invention, with improved security regarding intrusion into operations performed by cooperating devices. DETAILED DESCRIPTION
[0025] According to one embodiment of the invention, a plurality of drones (devices) D1, D2, ..., DN, respectively, belonging to owners OW1, OW2, ..., are cooperating to perform a complex task: for example, delivering specific equipment to different locations in a specified area while detecting suspicious movements and / or conducting video surveillance in said area. Each drone Di (i = 1, ..., N) is equipped with a processing unit coupled to a memory and a communication unit, and has a motor coupled to the rotor blades to Petition 870250092118, dated 08 / 10 / 2025, p. 50 / 128 41 / 84 propel the drone and make it operate above the area. Each drone is also equipped with a power source (battery) to power its processing unit and motor. A drone may also be equipped with sensor(s) (e.g., light sensor, thermal sensor, barometric or radar altimeter, etc., adapted to the task) and a camera (with image processing capabilities), which are controlled through its processing unit. The memory of each Di drone (i = 1,..., N) stores a set of verifiable data, each verifiable data in the set comprising corresponding operating parameter data values and associated internal rules that must be used by the Di drone to execute a corresponding (programmed) operation that is part of a task to be performed by the drones. The memory of each Di drone (i = 1,..., N) belonging to a corresponding OWi owner (i = 1,..., N), N) also stores a corresponding set of unique private cryptographic keys belonging to the so-called OWi owner, a corresponding unique decentralized identifier (DID, see, for example, ref.
[13] ) of the OWi owner, associated with a set of public cryptographic keys respectively corresponding to the stored private keys, and verifiable credentials (see, for example, ref.
[14] ) of the OWi owner. Each drone's memory additionally stores the respective sets of public keys of the other drones. The cooperation of a plurality of drones to perform the complex task requires that the drones be able to exchange data and perform different operations using the exchanged data during the performance of said task. However, as the environment in which drones are evolving. Petition 870250092118, dated 08 / 10 / 2025, p. 51 / 128 42 / 84 is unreliable (or even hostile), especially regarding potential intrusions during data exchange (to divert or corrupt data or to sabotage task execution). It is imperative to protect data exchanges and correctly identify the parties exchanging data, minimizing the amount and criticality of the data exchanged to prevent the diversion / corruption of critical data by an intruder. It is particularly important that only devices (including the reference device) belonging to authorized owners can cooperate to perform the task. During task execution, drones can be piloted by their owners (via wireless communication network) or can use pre-programmed flight instructions (stored in their memories and managed by their processing units).
[0026] According to the invention, each Di drone (i = 1,..., N) stores in its memory a set of verifiable data, each element of the set and, in particular, the data values of the element's operating parameter, can be used to enable the drone to perform some operation necessary to accomplish the task. The memory of each Di drone also stores, associated with each stored verifiable data, the corresponding internal rules with which this verifiable data must conform during the execution of said operation. During the performance of any operation necessary to accomplish the task, based on the data exchanged with other drone(s), the internal rules associated with each verifiable data of a set of verifiable data can be modified and used to prove the correct execution of the operation. Thus, the units of Petition 870250092118, dated 08 / 10 / 2025, p. 52 / 128 43 / 84 The communication between the drones is adapted to securely communicate with each other via a wireless communication network, and the memory of each drone Di (i = 1,..., N) additionally stores a programmed authentication method for the other drone(s) adapted to run on its processing unit. Control of the plurality of drones is performed using a reference drone RD (reference device). The reference drone RD is owned by a reference owner RW and is equipped with a processing module coupled to a memory module and a communication module, as well as having a motor coupled to the rotor blades to propel the reference drone and make it operate above the area (along with the other drones). The reference drone RD is also equipped with a power module (battery) to power the processing module and the motor.The reference drone can also be equipped with various task-adapted sensors and a camera (with image processing capabilities), which are controlled via its processing module. The reference drone's memory module RD stores a corresponding set of unique private cryptographic keys belonging to the reference owner RW, associated with a corresponding unique decentralized identifier (RW-DID) of the reference owner RW, a set of public cryptographic keys corresponding respectively to the stored private keys of the reference owner and verifiable credentials of the reference owner RW. The memory module also stores the respective sets of public keys for each drone Di (i = 1,..., N). Preferably, the memory module stores the DIDs of each. Petition 870250092118, dated 08 / 10 / 2025, p. 53 / 128 44 / 84 drones store public keys instead of just the 44 / 84 drone. More preferably, the memory of any drone also stores the respective sets of public keys of the other drone and the reference drone. The DIDs are then used to resolve the public keys at the right time. The advantage is that DIDs allow key rotation without invalidating the knowledge stored in peer drones.
[0027] The reference drone RD is also adapted to communicate securely (through its communication module) with each drone communication unit via a wireless communication network (here, the RD uses the same communication link used for communications between drones). The reference drone RD and the communication units of the Di drones (i = 1,..., N) are adapted to transfer data using cryptographic protocols. The reference drone RD and each Di drone are further adapted to digitally sign, with their corresponding private keys, a transfer receipt for data exchange. The memory of each Di drone (i = 1,...,N) also stores the set of public keys corresponding to the private keys belonging to the reference owner RW of the reference drone RD.Furthermore, the processing unit of each drone is equipped with a clock, the processing module of the reference drone is also equipped with a clock, and the clock of each drone's processing unit is synchronized with the clock of the reference drone's processing module. Each drone and the reference drone are adapted to include timestamp data in a transfer receipt and to check for timestamp of the timestamp data. Petition 870250092118, dated 08 / 10 / 2025, p. 54 / 128 45 / 84 and time on a received transfer receipt.
[0028] Fig. 1 schematically illustrates a typical secure data exchange between two specific drones, for example, D1 and D2, respectively owned by owner OW1 and OW2, controlled by reference drone RD, to perform the operations necessary to accomplish the task according to the above modality. Typically, in the case of a drone D1 communicating with a drone D2 to perform an OP operation: drone D1 creates an M1 message to drone D2, the M1 message including a transfer receipt containing data specifying the OP operation to be performed by D2, the data indicating specific operating parameter data values that should be used by D2 to perform the operation, along with the first TS1 timestamp data. The transfer receipt also includes the respective DIDs of drone D1, drone D2, and reference drone RD (along with the operating parameter data values provided for the OP operation).Then, the processing unit of D1 signs a transfer receipt TR1 for the transfer of message M1 and thus produces a corresponding signed transfer receipt STR1 and stores STR1 in its memory, attaches the signed transfer receipt STR1 to message M1 and encrypts message M1 (including STR1) with a private key selected from the set of private keys stored in its memory (belonging to its owner OW1). Drone D1 then initiates (S) the exchange by sending to drone D2 (through its communication unit via the wireless communication network), in step S1, the encrypted message M1, including the signed transfer receipt STR1. Petition 870250092118, dated 08 / 10 / 2025, page 55 / 128 46 / 84 shown in Fig. 1 with the symbolic representation [M1+STR1]. Cryptography is used to protect the content of message M1, but it will also serve to authenticate D1 to D2 (as the sender of the message).
[0029] After the D2 communication unit receives the encrypted message, including the signed transfer receipt [M1+STR1] from D1, the D2 processing unit performs step S2, that is: - authenticates the sender of the received message as being the drone D1 belonging to the (authorized) owner OW1 (in short, D2 authenticates D1) by decrypting the received message with the public cryptographic key of (the owner OW1 of) D1 that corresponds to the private key (of the owner OW1 of D1) used by D1 to encrypt M1 (this public key is part of the set of public keys of D1 that are stored in the memory of D2). Alternatively, the processing unit of D2 can use a shared symmetric key negotiated with the private key of D1. - verifies if the signature on the received (and decrypted) signed transfer receipt STR1 is valid according to the conventional signature verification scheme, that is, it verifies the integrity of the data in the signed transfer receipt using the decrypted signature (decrypted with the D1 public key mentioned above), extracting the hash value of the transfer receipt data contained in the decrypted signature and comparing this extracted hash value with a hash value calculated from the decrypted transfer receipt data: if these two hash values match, the signature is valid and the integrity of the Petition 870250092118, dated 08 / 10 / 2025, page 56 / 128 47 / 84 data from the transfer receipt is guaranteed. D2 also verifies that there is no timeout from the first TS1 timestamp data of the received (and decrypted) signed transfer receipt STR1; and then, - If D1's authentication fails, that is, if decryption is not possible with a public key (stored in D2's memory) corresponding to a private key used by D1 to encrypt the message, or if the signature on the received signed transfer receipt STR1 is invalid (that is, it cannot be assigned to the OW1 owner of the authenticated D1 device at the decryption stage), or if there is a timeout of the first timestamp data TS1 extracted from the decrypted signed transfer receipts STR1, then D2 performs step S3 of sending the corresponding error notification E1 to the reference drone RD via its communication unit and cancels the data transfer with D1. Upon receiving the E1 error notification from D2, the reference drone RD performs step S4 of forwarding the received E1 error notification to D1 via its communication module, and - If authentication of (the OW1 owner of) D1 by D2 is successful, and the signature on the signed transfer receipt STR1 is valid, and there is no timeout for the timestamp data TS1, then D2 stores the signed transfer receipt STR1 in its memory and executes step S5, that is, - the D2 processing unit selects, from the set of verifiable D2VD data stored in D2's memory, the verifiable D2SVD data whose corresponding operating parameter data values match the Petition 870250092118, dated 08 / 10 / 2025, p. 57 / 128 48 / 84 specific operation parameter data values specified in the received signed transfer receipt STR1 (these parameter data values must be used by D2 to execute the OP operation) and (possibly) updates the internal rules associated with the selected verifiable D2SVD data. This (possible) update of the internal rules by D2 allows adapting some of the rules regarding the OP operation itself to be executed. - D2 performs the OP operation using the selected verifiable data D2SVD and the corresponding operation parameter data values. Accordingly, the processing unit of D2 modifies the set of verifiable data D2VD stored in its memory (including the corresponding internal rules), removing from the stored set of verifiable data the selected verifiable data D2SVD used to perform the OP operation and storing separately in D2's memory the aforementioned selected verifiable data D2SVD: thus, D2SVD is no longer stored as an element of the original set of verifiable data (i.e., before the execution of the OP operation) and is now stored separately in an occupied section of memory. - The D2 drone processing unit generates a PR1 proof that the OP operation was performed. The PR1 proof, in fact, demonstrates a storage in a new occupied section of memory of (the separately stored) D2SVD, as well as a storage of the modified verifiable data set D2VD', in relation to the previous storage in a normal section of memory of the original previous verifiable data set D2VD. This PR1 proof shows that the verifiable data whose parameter data values... Petition 870250092118, dated 08 / 10 / 2025, page 58 / 128 49 / 84 corresponding operations were used to execute the OP operation. These were removed from the verifiable dataset, and therefore, this verifiable data will not potentially be reused for another operation (according to the scheduled operations required to perform the task). The D2 processing unit includes the PR1 proof in the signed (decrypted) transfer receipt STR1, along with the data from the second timestamp TS2, and further signs the resulting signed transfer receipt, thus producing a signed transfer receipt STR2. Then, the D2 processing unit stores STR2 in D2 memory and incorporates the selected verifiable data D2SVD into the M1 message, along with the signed transfer receipt STR2, thus producing an M2 message. The D2 processing unit encrypts the M2 message with one of its private keys; then, - D2 performs step S6 of forwarding the encrypted message M2, including the signed transfer receipt STR2, to the reference drone RD via its communication unit, as symbolically represented in Fig. 1 by [M2+STR2].
[0030] After the communication module of the reference drone RD receives the encrypted message with the signed transfer receipt [M2+STR2] from D2, the processing module of the reference drone RD performs step S7, that is: - the RD reference drone processing module authenticates the OW2 owner of D2 (in short, authenticates D2) as being the sender of the received message [M2+STR2], Petition 870250092118, dated 08 / 10 / 2025, p. 59 / 128 50 / 84 decrypting the received message with D2's public cryptographic key which corresponds to the private key used by D2 to encrypt M2 (this public key is part of the set of public keys of the drones that are stored in RD's memory module); - checks if the signatures on the signed (decrypted) transfer receipt STR2 (i.e., the signatures of D1 and D2) are valid (i.e., checks the integrity of the data in the transfer receipt STR2, as explained above in relation to step S2) and if there is no timeout of the most stringent time constraint on the data of the first timestamp record TS1 and the data of the second timestamp record TS2 in STR2; - checks if the PR1 proof is valid (i.e., corresponds to a separate storage from D2SVD) and if the verifiable data received from D2SVD conforms to the associated (updated) internal rules; and then, - If a signature is invalid in STR2, or there is a timeout for the decrypted message M2, or the first proof PR1 is invalid, or the verifiable data D2SVD does not conform to the associated internal rules, the reference drone RD sends a corresponding error notification E2 to drone D1, in step S8, and to drone D2, in step S9, via its communication module, and the data transfer between D1 and D2 is canceled and - If the signatures in STR2 are valid, there is no time limit, the PR1 proof is valid, and the verifiable D2SVD data complies with the associated internal rules, the RD reference drone processing module performs step S10 of registering the data in the memory module. Petition 870250092118, dated 08 / 10 / 2025, p. 60 / 128 51 / 84 signed transfer receipt STR2 (including proof PR1) with data indicating that the first proof PR1 is valid and the verifiable data D2SVD conforms to the associated internal rules, additionally signs transfer receipt STR2 to produce signed transfer receipt STR3, stores signed transfer receipt STR3 in the memory module, attaches signed transfer receipt STR3 to the (decrypted) message M2, thus producing a message M3, encrypts message M3 with one of its private keys stored in the memory module, and the reference drone RD performs step S11 of forwarding the encrypted message M3, including signed transfer receipt STR3, to drone D1 via its communication module, as represented in Fig. 1 by [M3+STR3].The reference drone RD additionally performs step S12 of encrypting the signed transfer receipt STR3 (with one of its private keys stored in the memory module) and forwarding the encrypted signed transfer receipt STR3, shown as [STR3] in Fig. 1, to drone D2 via its communication module, thus indicating to D2 that the verifiable data D2SVD (stored separately in D2's memory) should be deleted.
[0031] After the communication unit of drone D1 receives the encrypted message with the signed transfer receipt [M3+STR3] from the reference drone RD, the processing unit of drone D1 performs step S13, that is, The D1 processing unit decrypts the encrypted message M3 using the corresponding public key of the reference drone RD (stored in D1's memory). Petition 870250092118, dated 08 / 10 / 2025, page 61 / 128 52 / 84 refers to the private key used by RD to encrypt message M3 and stores the signed (decrypted) transfer receipt STR3 in D1's memory; and - Drone D1 includes in its verifiable dataset D1VD (stored in D1's memory) the verifiable data D2SVD received in the (decrypted) message M3, thus generating its new verifiable dataset D1VD'. At this stage, drone D1 has modified its verifiable dataset after drone D2 has in fact performed the required OP operation in the first M1 message sent by D1, as verified by the reference drone RD. Preferably, drone D1 additionally generates proof of the inclusion of the verifiable data D2SVD in its verifiable dataset and stores the generated proof in its memory.
[0032] After the communication unit of drone D2 receives the error notification E2 from the reference drone RD in step S9, the processing unit of drone D2 performs the RES step of restoring the separately stored verifiable data D2SVD into its verifiable data set (and then deletes the separately stored D2SVD data), thus recovering its original verifiable data set D2VD. In this way, only the original verifiable data set D2VD remains in D2's memory (the data transfer between D1 and D2 failed and therefore the OP operation was not executed).
[0033] After the D2 drone's communication unit receives the encrypted signed transfer receipt STR3, sent by the reference drone's communication module according to step S12, the D2 drone's processing unit: Petition 870250092118, dated 08 / 10 / 2025, page 62 / 128 53 / 84 - decrypts the signed and encrypted transfer receipt STR3 with the public key of the reference drone RD (stored in D2's memory) corresponding to the private key used by RD to encrypt the signed transfer receipt STR3, thus authenticating the reference drone RD as the sender of the signed transfer receipt STR3, and stores the signed transfer receipt STR3 in D2's memory; and - The D2 drone's processing unit performs the DEL step of deleting the selected verifiable data D2SVD stored separately in D2's memory (the occupied section of memory is deleted), thus updating the state of D2's memory, which then only has the (modified) set of verifiable data D2VD' stored in its memory, and indicating that the data transfer between D1 and D2 was successful and that the OP operation was executed accordingly. Furthermore, the D2 drone generates proof of this deletion of the stored D2SVD section and stores the generated proof in its memory. If D2 does not execute the DEL step above to delete the separately stored verifiable D2SVD data in its memory, the reference drone RD will immediately detect this anomaly when D2 has to perform an additional operation (e.g., through communication with another drone), because the initial storage in a normal section of D2's verifiable dataset, indicating 'D2VD' plus the separately stored D2SVD (i.e., the original D2SVD, before data exchange with D1) will contradict D2's storage state according to the previously signed STR2 transfer receipt containing the proof. Petition 870250092118, dated 08 / 10 / 2025, page 63 / 128 54 / 84 PR1 indicates that the new normal section should only correspond to the stored verifiable data set D2VD' (i.e., the final approved storage state according to the proof generated by D2 and stored in its memory). Thanks to the delivery (and storage) of the signed transfer receipt with the proof by D2 (for each operation), the reference drone can immediately detect any inconsistency between successive proofs delivered by D2 (or any other drone). Therefore, the new normal storage section in D2's memory of the verifiable data set for the subsequent operation should contain the verifiable data D2VD' and not the verifiable data D2VD. As a result, the reference drone will cancel any further data transfer between D2 and the other drone. Consequently, the erroneous storage state of D2's verifiable data will not propagate errors through transfers with other drones.
[0034] In a preferred variant of the invention, the processing units of the respective drones Di (i = 1,..., N) and the processing module of the reference drone RD are adapted to calculate, with a programmed hash function H (for example, a function of the SHA Secure Hash Algorithm class, for example, a SHA-256 hash function), a hash value of the data. In this variant, a drone is capable of providing solid proof of the execution of an operation and clearly representing a corresponding change in the stored verifiable data. According to this variant, for each verifiable data VDi(k) (k = 1,..., p) of a drone Di (i = 1,...,N), that is, for each corresponding operation parameter data value and associated internal rules, there is Petition 870250092118, dated 08 / 10 / 2025, p. 64 / 128 55 / 84 a leaf node associated Ai(1,k) (k = 1,., p) of a Merkle tree, the Merkle tree being stored in the drone's memory (see ref.
[15] or
[16] ). The value of each leaf node Ai(1,k) of the drone Di's Merkle tree is obtained by hashing the verifiable data VDi(k) associated with the leaf node using the hash function H: Ai(1,k) = H(VDi(k)) (k = 1,., p). The drone Di's Merkle tree also comprises intermediate nodes arranged in successive intermediate levels up to a root node Ri of the tree (the base level corresponds to the level of the leaf nodes).Each intermediate node value is obtained by hashing the node values of the previous level according to the conventional hash scheme of a Merkle tree: for example, the node Ai(2,1) of level 2 (that is, next to the leaf node level of the tree) is obtained as Ai(2,1) = H(Ai(1,1)+Ai(1,2)) = H(H(VDi(1))+H(VDi(2))) (here the + symbol indicates a concatenation of data), the next node Ai(2,2) of level 2 is obtained as Ai(2,2) = H(Ai(1,3)+Ai(1,4)) = H(H(VDi(3))+ H(VDi(4))), etc. The value of the root node Ri (that is, the root value of the tree) is obtained as the hash value of the concatenation of the two node values of the penultimate level of the tree. Due to the cascade of concatenations and hashing involved in a tree, it is virtually impossible to recalculate a correct value for the root node if any bit of digital data has been altered in a node (especially a leaf node). The Merkle tree, as a representation of the verifiable dataset DiVD of the drone Di (DiVD = { VDi(k); k = 1,..., p}), is stored in the drone's memory. According to the conventional Merkle tree verification scheme, a verification path that includes only one leaf node value and some node values. Petition 870250092118, dated 08 / 10 / 2025, page 65 / 128 56 / 84 intermediate (from the second level to the penultimate level of the tree) is sufficient to retrieve the root value using the hash function (according to the hash scheme). Thus, the root node value Ri can finally be retrieved from any given leaf node value by hashing a concatenation of that leaf node value with only the intermediate node values that constitute the corresponding verification path. The specific intermediate nodes of the verification path that should be used to retrieve the root value can be identified based on the Merkle tree hash scheme. Consequently, the volume of data in the verification path required to retrieve the root node value is clearly much smaller than the volume of data required to calculate the reference root node value based only on the leaf node values (i.e., calculating all the non-leaf node values of the intermediate levels of the tree).
[0035] The Merkle tree, as a representation of a drone's verifiable dataset, is stored in the drone's memory. The drone's processing unit is adapted to perform a modification of the verifiable dataset stored in its memory, as a representation of a drone executing an operation using certain verifiable data (corresponding to a removal of verifiable data from the verifiable dataset) by: - Select a leaf node from the stored Merkle tree associated with the provided verifiable data (i.e., the selected verifiable data) to be removed from the stored set of verifiable data. Petition 870250092118, dated 08 / 10 / 2025, p. 66 / 128 57 / 84 - remove the selected leaf node from the Merkle tree, - Replace the verifiable data corresponding to the removed leaf node with a corresponding piece of placeholder data. - perform a hash using the hash function on the placeholder data portion to obtain the corresponding value of the placeholder leaf node; and - To form a new Merkle tree (representing a new storage of the removed verifiable data in an occupied section of memory) from the stored Merkle tree, replacing the selected leaf node with the corresponding placeholder leaf node to obtain a first part of the leaf nodes of the new Merkle tree, and then joining to this first part a second distinct part of leaf nodes, respectively corresponding to the selected leaf node of the Merkle tree, and calculating new intermediate nodes up to a new root node of the new Merkle tree with said first and second parts of leaf nodes using the hash function according to the hash scheme. The new Merkle tree obtained is then stored in the device memory and represents, by its two-part structure of its leaf nodes, the separate removal and storage (through the second part of the leaf nodes) of the provided verifiable data from the stored set of verifiable data of the drone.The second part of the leaf nodes, together with the intermediate nodes calculated from these leaf nodes, in fact represents the occupied section of the new Merkle tree. The first part of the leaf nodes, together with the intermediate nodes calculated from these leaf nodes, in fact represents the new section of the... Petition 870250092118, dated 08 / 10 / 2025, page 67 / 128 58 / 84 normal section of the new Merkle tree.
[0036] A processing unit of a drone can then generate proof that the execution of the OP operation was performed by said drone, sending to the reference drone the new value of the root node of the new Merkle tree (resulting from the removal and separate storage of selected verifiable data from the drone's verifiable dataset), together with the root verification data, which comprises the values of the new placeholder nodes and the values of the new intermediate nodes of the new Merkle tree that have been modified relative to the Merkle tree and which are needed to retrieve (i.e., recalculate) the new root value with the hash function according to the hashing scheme.The reference device processing module can then verify whether the new value of the root node of the new Merkle tree received from the device, along with the corresponding root verification data (as proof of the device performing an operation), actually corresponds to a test root node value calculated solely from the received root verification data, thus performing an additional and strong verification test that the device performed the operation.
[0037] In the case of including specific verifiable data in a set of verifiable data stored as an initial Merkle tree in a drone's memory (for example in the aforementioned step (S13)), a corresponding additional leaf node is added to the initial Merkle tree, whose corresponding value is calculated with the hash function of the included specific verifiable data, and a corresponding final Merkle tree is calculated from it. Petition 870250092118, dated 08 / 10 / 2025, p. 68 / 128 59 / 84 of the values of the leaf nodes of the initial Merkle tree and the value of the additional leaf node according to the hashing scheme, the resulting root node value of said final Merkle tree, together with the resulting root verification data, constituting proof (e.g., proof PR2) of said inclusion of the specific verifiable data in the drone's verifiable dataset. The resulting root verification data comprises the value of the additional leaf node and the values of the intermediate nodes of the final Merkle tree that have been modified relative to the initial Merkle tree and that are necessary to recover the root value of the final Merkle tree with the hash function according to the hashing scheme.In this case, the processing module of the reference drone RD (or the processing unit of any drone) can verify whether the value of the final Merkle tree root node received from the drone, along with the corresponding root verification data (as proof of performance of an operation by the drone), actually corresponds to a test root node value calculated only from the received root verification data, thus performing an additional and strong verification test that the drone included the specific verifiable data in its verifiable dataset.
[0038] In the case of deletion of verifiable data corresponding to a separate stored leaf node from the new Merkle tree mentioned above, a resulting updated Merkle tree (which no longer contains the aforementioned separate stored leaf node) is obtained by calculating the respective values of its intermediate leaf nodes. Petition 870250092118, dated 08 / 10 / 2025, page 69 / 128 60 / 84 updated up to the updated root node with the hash function (according to the hashing scheme) only from the first part of the leaf nodes of the new Merkle tree, the updated root node value of the updated Merkle tree, together with the corresponding updated root verification data, constituting proof of said deletion of verifiable data. For any leaf node value, the updated root verification data additionally includes the values of the intermediate nodes of the updated Merkle tree that have been modified with respect to the new Merkle tree and that are necessary to recover the root value of the updated Merkle tree with the hash function according to the hashing scheme.In this case, the reference drone's processing module can verify whether the root node value received from the updated Merkle tree, along with the corresponding root verification data (as proof of deletion of verifiable data), actually matches a test root node value calculated solely from the received root verification data, thus performing an additional and strong verification test that the drone deleted the stored separate verifiable data.
[0039] According to a preferred embodiment of the invention, schematically illustrated in Fig. 2, still using the example mentioned above with interconnected drones, the devices (resp. drones) do not communicate directly, but only through the reference device (or reference drone), and the devices and the reference device systematically perform the verification of the data exchanged between them and the authentication of the (owners of the) Petition 870250092118, dated 08 / 10 / 2025, pp. 70 / 128 61 / 84 devices are exchanging data. This method has the advantage of providing greater security for data exchanges and greater reliability in the execution of operations by the devices, as well as better prevention of data diversion / corruption by an intruder.
[0040] Fig. 2 schematically illustrates an example of secure data exchange between two specific drones, for example, D1 and D2, respectively owned by owner OW1 and OW2, controlled by the reference drone RD, to perform the operations necessary to accomplish the task, according to the preferred mode. Here too, the processing unit of drone D1 creates a message M1' for drone D2, the message M1' containing data specifying an operation OP to be performed by D2, using data values of specified operation parameters contained in a corresponding transfer receipt TR1' together with the first timestamp data TS1'.The processing unit of drone D1 then signs a transfer receipt TR1' (for the transfer of message M1') to produce a signed transfer receipt STR1', stores the signed transfer receipt STR1' in D1's memory, includes the signed transfer receipt STR1' in message M1', and encrypts message M1' with a private key selected from the set of private keys stored in D1's memory. Drone D1 then initiates (S') the exchange by sending to the reference drone RD (through its communication unit), in step S1', the encrypted message M1' with the corresponding signed transfer receipt STR1', also shown in Fig. 2 with the symbolic representation [M1'+STR1']. Petition 870250092118, dated 08 / 10 / 2025, page 71 / 128 62 / 84
[0041] After the communication module of the reference drone RD receives the encrypted message with the transfer receipt [M1'+STR1'] from D1, the processing module of the reference drone RD executes step S2', that is, it authenticates the owner OW1 of D1 (in short, authenticates D1) as being the sender of the received message, decrypting the encrypted message M1' using a public cryptographic key of D1 (stored in the memory module of RD) corresponding to the private key of the owner OW1 of the first drone D1 used by the processing unit of D1 to encrypt the message M1'.The RD reference drone processing module also verifies that the signature on the received transfer receipt STR1' is valid (i.e., matches that of drone D1, verifying the integrity of the STR1' receipt data using the decrypted signature of D1), the RD processing module further verifies that there is no timeout on the first timestamp data TS1' of the signed (decrypted) transfer receipt STR1', and... - If authentication of the D1 owner fails (i.e., decryption with any OW1 public key fails), or the signature on the transfer receipt STR1' is invalid, or there is a timeout of TS1', the reference drone RD sends an E1' error message to D1 at step S3' via its communication module, and the data transfer between D1 and D2 is canceled and - if the authentication of the OW1 owner of D1 is successful (that is, decryption is possible with a public key, stored in the RD's memory module, corresponding to the OW1 private key used by D1 for the Petition 870250092118, dated 08 / 10 / 2025, p. 72 / 128 63 / 84 encryption of message M1'), and the signature on the transfer receipt STR1' is valid (i.e., it matches that of D1), and there is no timeout for the first timestamp TS1', in step S4' the processing module of the reference drone RD stores the signed transfer receipt STR1' in the memory module, includes a timestamp of the reference drone RDTS' in the signed transfer receipt STR1' (decrypted) to produce a signed transfer receipt STR2', stores STR2' in the memory module, appends the signed transfer receipt STR2' to the (decrypted) message M1' to produce a message M2', encrypts the message M2' with a private key stored in the memory module to produce an encrypted message M2' and, in step S5', sends the encrypted message M2', including the signed transfer receipt STR2', to D2 via its communication module, as represented by [M2'+STR2'] in Fig. 2.
[0042] After the D2 communication unit receives the encrypted message with the signed transfer receipt [M2'+STR2'] from the reference drone RD, the D2 processing unit performs step S6', that is: - authenticates the reference drone RD as the sender of the received message [M2'+STR2'], decrypting this received message with a public cryptographic key of RD (stored in D2's memory) that corresponds to the private key of the reference drone's owner RW used by RD to encrypt M2' (this public key is part of the set of public keys of RW that are stored in D2's memory) and then - checks if D1's signature is on the receipt of Petition 870250092118, dated 08 / 10 / 2025, p. 73 / 128 64 / 84 signed transfer (decrypted) STR2' is valid (showing that D1 is the original sender of message M2'), and - if there is no timeout between the data of the first timestamp TS1' and the data of the reference drone timestamp RDTS' of the signed transfer receipt STR2' received (and decrypted) in message M2'; and then, - If authentication of (the RW owner of) RD fails as the sender of message M2' (i.e., decryption is not possible with any public key matching the RW private key used by RD to encrypt M1' and produce M2'), or D1's signature on the received signed transfer receipt STR2' is invalid, or there is a timeout of the first timestamp data TS1' or the timestamp data of the reference drone RDTS' extracted from the decrypted signed transfer receipt STR2', then D2 performs step S7' of sending the reference drone RD a corresponding error notification E2' via its communication unit and canceling the data transfer with D1.After receiving the E2' error notification from D2, the reference drone RD performs step S8' of forwarding the received E2' error notification to drone D1 via its communication module (thus informing D1 that the data transfer with D2 has been cancelled), and. - if the authentication of the RW owner of the reference drone RD by D2 is successful (i.e., in short, the authentication of the RD sender of the M2' message by D2), and the signature on the signed transfer receipt STR2' is Petition 870250092118, dated 08 / 10 / 2025, p. 74 / 128 65 / 84 valid, and there is no timeout for the timestamp data TS1' and the reference drone timestamp data RDTS', then D2 stores the signed transfer receipt STR2' in its memory and executes step S9', that is, - The D2 processing unit selects, from its stored set of verifiable data D2VD, the verifiable data D2SVD' whose operating parameter data values match the specified operating parameter data values received in the signed (decrypted) transfer receipt STR2' of the M2' message and (possibly) updates the internal rules associated with the selected verifiable data D2SVD', and then the D2 drone executes the OP operation using this selected verifiable data D2SVD'.
[0043] After the OP operation is executed by D2, the processing unit of D2 removes the selected verifiable data D2SVD' from its verifiable dataset D2VD and separately stores this selected verifiable data D2SVD' (including the associated updated internal rules) in its memory. This separate storage of the selected verifiable data D2SVD' corresponds to a storage of said D2SVD' in an occupied section of memory. The processing unit of D2 then generates a proof PR1 of this removal and separate storage of the selected verifiable data (due to the execution of the OP operation by D2 based on D2SVD'). Preferably, the proof PR1 is based on a stored representation of the Merkle tree of the verifiable dataset of D2, as explained above, with the proof PR1 being the new value of the root node of the new Petition 870250092118, dated 08 / 10 / 2025, page 75 / 128 66 / 84 Merkle tree (resulting from the removal and separate storage of selected verifiable data D2SVD' from the Merkle tree representation of the D2 drone's verifiable dataset D2VD), together with the root verification data comprising the values of the new placeholder nodes and the values of the new intermediate nodes of the new Merkle tree that have been modified relative to those of the Merkle tree and that are necessary to retrieve the new root value with the hash function according to the Merkle tree hashing scheme. Then, the processing unit of the D2 drone: - includes the generated proof PR1 and the second timestamp data TS2' (i.e., timestamp data from D2) in the signed (decrypted) transfer receipt STR2', further signs this signed transfer receipt to produce a signed transfer receipt STR3', and stores STR3' in D2's memory, - incorporates the selected verifiable data D2SVD' (including possibly updated associated internal rules) into the M2' message along with the signed transfer receipt STR3' to produce an M3' message, and - encrypts the message M3' with one of the private keys stored in D2's memory. Then, drone D2 executes step S10' of sending the encrypted message M3' (including the signed transfer receipt STR3') to the reference drone RD via its communication unit. This is shown in Fig. 2 as [M3'+STR3']. Petition 870250092118, dated 08 / 10 / 2025, page 76 / 128 67 / 84
[0044] After the communication module of the reference drone RD receives the encrypted message with the signed transfer receipt [M3+STR3] from D2, the processing module of the reference drone RD performs step S11, that is: - authenticates (the OW2 owner of) D2 as being the sender of the received message [M3'+STR3'], successfully decrypting the received message M3' with a public cryptographic key of D2 that corresponds to the private key used by the processing unit of D2 to encrypt M3' (this public key is part of the set of public keys of the drones that are stored in the memory module of RD); - checks if the signatures on the signed transfer receipt STR3' are valid (i.e., if the D1 and D2 signatures are valid) and if there is no timeout on the first timestamp data TS1', the reference drone timestamp data RDTS', and the second timestamp data TS2' indicated on the signed (decrypted) transfer receipt STR3'; - checks if the PR1 proof is valid and if the received drone D2 (decrypted) and the selected verifiable data D2SVD' comply with the corresponding (possibly updated) internal rules; and then, - If a signature is not valid in STR3', or there is a time limit in TS1' or RDTS' or TS2', or the first proof PR1 is not valid, or the selected verifiable data received D2SVD' does not comply with the associated internal rules, the reference drone RD sends to the drone Petition 870250092118, dated 08 / 10 / 2025, p. 77 / 128 68 / 84 D1, in stage S12, and to drone D2, in stage S13, a corresponding error notification E3 is sent through its communication module, and the data transfer between D1 and D2 is canceled and - if the signatures on the signed (decrypted) transfer receipt STR3' are all valid, there is no timeout (of TS1' and RDTS' and TS2'), the first proof PR1 is valid and the selected verifiable data received D2SVD' conforms to the associated internal rules, the processing module of the reference drone RD performs step S14' of registering in its memory module the signed transfer receipt STR3' (including proof PR1) with data indicating that proof PR1 is valid and that the selected verifiable data received D2SVD' conforms to the associated internal rules, encrypting the (decrypted) message M3' with a private key stored in the memory module to produce an encrypted message M4', and the reference drone performs step S15' of forwarding the encrypted message M4' (including the signed transfer receipt STR3') to drone D1 through its communication module,as represented in Fig. 2 by [M4'+STR3'].,
[0045] After the communication unit of drone D1 receives the encrypted message with the signed transfer receipt [M4+STR3] from the reference drone RD, the processing unit of drone D1 performs step S16, that is, - D1's processing unit decrypts the encrypted message M4' using a public key from the drone. Petition 870250092118, dated 08 / 10 / 2025, page 78 / 128 69 / 84 reference RD (stored in D1's memory) corresponding to the RW private key used by the reference drone RD to encrypt the (decrypted) message M3' (and thus producing the encrypted message M4'), thereby authenticating the reference drone RD as the sender of message M4'; - checks if the signatures (of D1 and D2) on the transfer receipt STR3' are valid and if there is no timeout for the timestamp data TS1', RDTS' and TS2' on the signed (decrypted) transfer receipt STR3' of the (decrypted) message M4'; and - If a signature in STR3' is invalid or times out (TS1' or RDTS' or TS2'), drone D1, in step S17', sends a corresponding error notification E4' to the reference drone RD via its communication unit, the data transfer with drone D2 is canceled, and in step S18', the reference drone RD forwards said error notification E4' to drone D2 (indicating to D2 that the data transfer with D1 was canceled); and - If the signatures on the signed transfer receipt STR3' are all valid and there is no timeout (from TS1', RDTS', and TS2'), the processing unit of drone D1, at step S19', stores the signed transfer receipt STR3' in D1's memory, modifies its verifiable dataset D1VD stored in its memory to generate and store a new verifiable dataset D1VD', including the selected verifiable data received D2SVD' from drone D2 (the change in the verifiable dataset D1VD is a result of the validated execution of the Petition 870250092118, dated 08 / 10 / 2025, p. 79 / 128 70 / 84 operation OP by D2).
[0046] The processing unit of D1 then generates a PR2 proof of the inclusion of D2SVD' in its stored set of verifiable data. If the stored set of verifiable data D1VD is represented by an initial Merkle tree (as explained above) stored in the memory of D1, the new set of verifiable data of D1 (after the inclusion of D2SVD') is represented by a final Merkle tree having an additional leaf node calculated with the hash function of the Merkle tree from the selected verifiable data included D2SVD'. The final Merkle tree is calculated from the values of the leaf nodes of the initial Merkle tree and the value of the additional leaf node according to the Merkle tree hashing scheme, the resulting root node value of said final Merkle tree, together with the resulting root verification data, constituting proof PR2 of said inclusion of the selected verifiable data D2SVD' in the verifiable dataset D1.
[0047] The D1 processing unit then incorporates the inclusion proof generated PR2 into the signed (decrypted) transfer receipt STR3' to produce a signed transfer receipt STR4' and stores STR4' in D1's memory, removes the selected verifiable data D2SVD' from the (decrypted) message M4' and appends the signed transfer receipt STR4' to that message, thus producing a message M5'. The D1 processing unit encrypts the message M5' with a private key stored in D1's memory. Drone D1 sends the encrypted message M5' (including the receipt) to the reference drone RD, via its communication unit at step S20'. Petition 870250092118, dated 08 / 10 / 2025, pages 80 / 128 71 / 84 signed transfer STR4'), as shown in Fig. 2 with [M5'+STR4'], thus indicating to the reference drone RD that drone D1 included the received D2SVD' in its verifiable dataset.
[0048] After the communication module of the reference drone RD receives the encrypted message with the signed transfer receipt [M5'+STR4'], the processing module of the reference drone RD executes step S21', of - authenticate (owner OW1 of) D1 as the sender of the received message [M5'+STR4'], decrypting the received encrypted message M5' with a public cryptographic key of D1 that matches the private key used by D1 to encrypt message M5' (this public key is part of the set of public keys of the drones that are stored in the RD memory module), - verify that the signatures on the signed transfer receipt 'STR4' are valid, - verify that there is no timeout in the received date and time stamp data TS1', RDTS' and TS2' (in the signed decrypted transfer receipt STR4' of the decrypted message M5'); and - verify if the received PR2 inclusion proof (in STR4') is valid; and then, - If a signature is invalid at STR4', or there is a timeout for the date and time registration data TS1' or RDTS' or TS2' in the signed (decrypted) transfer receipt STR4', or the proof of inclusion PR2 is invalid, the reference drone RD sends a notification to drone D1, at step S22', and to drone D2, at step S23'. Petition 870250092118, dated 08 / 10 / 2025, p. 81 / 128 72 / 84 error corresponding to E5' through its communication module, and the data transfer between D1 and D2 is canceled; and - if the signatures in STR4' are valid, there is no time limit for TS1' and RDTS' and TS2', and the inclusion proof PR2 is valid, the processing module of the reference drone RD executes step S24' of registering in its memory module the signed transfer receipt STR4' (including the inclusion proof PR2) with data indicating that the inclusion proof PR2 is valid, encrypting the (decrypted) message M5' with a private key stored in the memory module to produce an encrypted message M6', and performs step S25' of sending the encrypted message M6' (including the signed transfer receipt STR4') to drone D2 through its communication module, as represented in Fig. 2 by [M6'+STR4'].
[0049] After the communication unit of drone D2 receives the encrypted message with the signed transfer receipt [M6'+STR4'] sent by the reference drone RD according to step S25', the processing unit of D2 executes step S26' of: decrypting the M6' message with a public key (stored in D2's memory) corresponding to the private key used by the reference drone RD to encrypt the M6' message, verifying that the signatures on the transfer receipt STR4' (in the decrypted M6' message) are valid and that there is no timeout of TS1', RDTS' and TS2' (in the signed and decrypted transfer receipt STR4' of the decrypted M6' message), and that the received proof of inclusion PR2 is valid (in STR4') and, - if a signature in STR2' is not valid, or there is Petition 870250092118, dated 08 / 10 / 2025, page 82 / 128 73 / 84 time limit of TS1' or RDTS' or TS2', or the received inclusion proof PR2 is not valid, drone D2 sends to the reference drone RD, at step S27', a corresponding error notification E6' through its communication unit, the data transfer with D1 is canceled and the reference drone RD forwards said error notification E6' to drone D1 at step S28'. - if the signatures in STR2' are valid and there is no time limit (from TS1', RDTS' and TS2'), and the received proof PR2 is valid, the D2 drone stores the signed transfer receipt STR4' (including proof PR2) in its memory and executes step S29', that is, - The D2 processing unit deletes the selected verifiable data D2SVD' stored separately in its memory (only the new set of verifiable data D2VD' remains in D2's memory), generates a proof PR3 of this deletion, incorporates the generated proof PR3 into the signed (decrypted) transfer receipt STR4', thus producing a signed transfer receipt STR5', stores the signed transfer receipt STR5' in D2's memory, attaches the signed transfer receipt STR5' to the message M6' to produce a message M7', encrypts the message M7' with a private key stored in D2's memory to produce an encrypted message M7', and sends, through its communication unit, at step S30', to the reference drone RD the encrypted message M7' (including the signed transfer receipt STR5'), shown as [M7'+STR5'] in Fig. 2.
[0050] In case the stored set of verifiable data from the D2 drone, with the selected verifiable data separated Petition 870250092118, dated 08 / 10 / 2025, p. 83 / 128 74 / 84 stored D2SVD', represented as a new Merkle tree (as explained above), the deletion of the separately selected verifiable data stored D2SVD' (in the occupied section), corresponding to the separately stored leaf node of the new Merkle tree, creates a resulting updated Merkle tree, obtained by calculating the respective values of its updated intermediate leaf nodes up to its updated root node (calculated with the hash function according to the Merkle tree hash scheme) only from the first part of the leaf nodes of the new Merkle tree. The updated value of the root node of the updated Merkle tree, together with the corresponding updated root verification data, constitutes proof of said deletion of the selected verifiable data D2SVD'.
[0051] After the communication module of the reference drone RD receives the encrypted message with the signed transfer receipt [M7'+STR5'] sent by D2 according to step S30', the processing module of the reference drone RD performs step S31', that is, - decrypts the message M7' with a public key corresponding to the private key used by D2 to produce the encrypted message M7'; - checks if the signatures on the signed transfer receipt STR5' are valid, if there is no timeout in the timestamp data TS1', RDTS' and TS2' (on the decrypted signed transfer receipt STR5' of the decrypted message M7') and if the deletion proof PR3 (in STR5') is valid, and - in case a signature is required on the transfer receipt Petition 870250092118, dated 08 / 10 / 2025, page 84 / 128 If the signed STR2' (75 / 84) is not valid, or there is a timeout between TS1' and RDTS' and TS2', or the PR3 deletion proof is not valid, the reference drone RD sends a corresponding error notification E7' to D2, at step S32', and to D1, at step S33', via its communication module, and the data transfer between D1 and D2 is canceled; and - if the signatures on the signed transfer receipt STR5' are valid and there is no timeout for the date and time registration data TS1', RDTS', and TS2', and the deletion proof PR3 is valid, the processing module of the reference drone RD executes step S34' of: - record in its memory module the signed transfer receipt STR5' (including proof PR3) with data indicating that the D2 drone executed the deletion of the separately stored verifiable data D2SVD' from its memory, - additionally sign the signed transfer receipt STR5' to produce a signed transfer receipt STR6' and store the signed transfer receipt STR6' in the memory module, - Encrypt the signed transfer receipt STR6' with a private key stored in the memory module; and the reference drone RD forwards the signed and encrypted transfer receipt STR6' to D1, at step S35', and to D2, at step S36', via its communication module (symbolically represented in Fig. 2 by [STR6']). The signed transfer receipt STR6' is a triply signed receipt: it is signed by D1, D2, and RD. In this mode, only a triply signed transfer receipt can guarantee that the OP operation was successful. Petition 870250092118, dated 08 / 10 / 2025, page 85 / 128 76 / 84 executed successfully.
[0052] Thus, the OP operation, the transfer of the selected verifiable data corresponding to D2SVD' to D1 and its inclusion in the verifiable dataset of D1, and the resulting deletion of the selected verifiable data D2SVD' from the memory of D2 were executed and fully verified by the reference drone RD, while the data exchanges between the drones were minimized, protected through data encryption, transfer receipt signing and timestamp recording, and are strictly related to the execution of the OP operation necessary to perform the assigned task. Furthermore, no critical data related to the verifiable credentials of the drone owners was exchanged (and therefore possibly diverted and used to hack the owner), and the data exchanges between the drones were performed in an offline mode (i.e., without involving communications with an entity, for example, a server, external to the plurality of drones).At this stage, the reference drone RD knows that the new final storage state of D2's verifiable dataset must correspond to D2VD' and that the old storage state corresponding to D2VD must be deleted from D2's memory. If D2 does not perform the deletion of the selected verifiable data D2SVD' stored separately in its memory in step S29', the reference drone RD immediately detects this anomaly from the received proof PR3. The initial storage state of D2's verifiable dataset (i.e., D2VD) contradicts D2's storage state, according to proof PR3 contained in the signed transfer receipt STR5' delivered by D2 and stored in the module. Petition 870250092118, dated 08 / 10 / 2025, p. 86 / 128 77 / 84 reference drone memory, indicating that the new initial storage state must, in fact, correspond to the verifiable dataset D2VD', that is, the new initial storage state of the verifiable dataset for the subsequent operation must be D2VD' and not D2VD. As a result, the reference drone will cancel any further data transfer between D2 and the other drones. Consequently, the erroneous storage state of D2's verifiable dataset will not propagate errors through transfers with other drones and will not corrupt the correct performance of the task.
[0053] After the communication unit of drone D2 receives the error message E3' from the reference drone RD in step S13', or the error message E4' from RD in step S18', or the error message E5' from RD in step S23', the processing unit of drone D2 executes the RES' step of moving back the separately stored selected verifiable data D2SVD' to its verifiable data set (i.e., restoring the initial D2VD set) and deleting the separately stored selected verifiable data D2SVD' from its memory (i.e., from the occupied memory section), so only the initial verifiable data set D2VD remains in D2's memory (i.e., as in the normal initial memory section). In these cases, the data transfer between D1 and D2 failed, and therefore the OP operation was not executed.
[0054] In a variant of the above modalities, further illustrated with the example of interconnected drones cooperating to perform a given task, the level of safety is even more enhanced by allowing the drones (and the drone) Petition 870250092118, dated 08 / 10 / 2025, p. 87 / 128 78 / 84 (reference) additionally verify that drone owners are properly registered with authorized entities. In this variant, each drone can additionally communicate (through the communication network) with an Identity Server (IS) that can provide unique identifiers to registered owners' drones, a Custody Server (ES) that can provide verifiable credentials to registered owners' drones, and a Governance Server (GS) that can provide One-Time Identity Tokens to registered owners' drones. The possibility of any drone (including the reference drone) challenging another drone to prove that the owner of that other drone is registered with the GS (and IS and ES) considerably increases the security of the execution of operations, preventing any hostile intrusion into the data exchanges necessary to guarantee this execution.
[0055] Therefore, according to this variant: - Each drone owner's DID is associated with a corresponding unique identifier (UID) for that owner, which was delivered by the IS Identity Server in response to a drone owner's single registration configuration with the IS Identity Server; - Each drone (including the reference drone) is adapted to communicate during a configuration phase via the communication network with the ES Custody Server, and each drone owner can perform a one-time registration configuration with the ES Custody Server by sending it, via said drone, a request containing its unique UID identifier and a cryptographic commitment to a drone link secret; Petition 870250092118, dated 08 / 10 / 2025, page 88 / 128 79 / 84 - Upon receiving the request, the ES Custody Server creates a corresponding Entropy Test Vector (ETV) as a byte block generated by a random number generator, a corresponding pair of asymmetric cryptographic keys (OKpub, OKpriv), determines a corresponding shielded profile (SP), obtained first by encrypting the received unique identifier UID with the OKpriv private key and then by encrypting the entropy test vector and the encrypted unique identifier UID with the OKpriv private key, stores the obtained triplet (OKpub, SP, UID) and delivers to the requesting drone an anonymous verifiable credential CES containing the triplet (OKpub, SP, UID) and the cryptographic commitment to the drone's link secret. The two layers of encryption of the unique identifier UID allow for partial or intermediate decryption.Partial decryption allows the ES escrow server to reveal some of the data for internal analysis without exposing the rest of the encrypted data at the same time. This makes it more difficult to spy on the escrow server.
[0056] The Custody Server ES is adapted to communicate with the Identity Server IS via the communication network and request that the Identity Server IS confirm that a unique UID identifier received by the Custody Server from a drone is indeed owned by the owner of said drone. Each drone (including the reference drone) is adapted to communicate via the communication network with the Governance Server GS, and each drone owner can perform a one-time registration setup with the Governance Server GS, first establishing, through their drone, a session with the Server. Petition 870250092118, dated 08 / 10 / 2025, pp. 89 / 128 80 / 84 During GS Governance, the drone uses an ephemeral DID and the GS Governance Server is authenticated. The GS Governance Server then challenges the drone to produce a proof of registration of its owner with the ES Custody Server. In response, the drone generates a proof based on the verifiable anonymous credential (CES) delivered by the ES Custody Server and sends the proof to the GS Governance Server. Upon receiving the proof from the challenged drone, the GS Governance Server delivers to the drone a plurality of Single Use Identity Tokens (SUIT) and the corresponding verifiable credential (CGS): each delivered SUIT Single Use Identity Token is a chain that can be used to look up the drone's OKpub public key; the delivered verifiable credential (CGS) contains a field for each delivered SUIT Single Use Identity Token and the cryptographic commitment to the drone's link secret.
[0057] If a Di drone from the plurality of Di drones (i = 1,..., N) communicates with another Dj drone (j Ψ i) from said plurality of drones using a DID never seen before: - Drone DJ then challenges drone Di to prove that drone Di's OWi owner is registered on the GS Governance Server by revealing one of the SUITs (Single Use Identity Tokens) delivered to drone Di by the GS Governance Server in the corresponding verifiable CGSi credential. - In response, drone Di produces a zero-knowledge proof (ZKP) based on the verifiable credential CGSi that reveals one of the corresponding SUIT Unique Use Identity Tokens, say SUITi, and drone Dj records the revealed SUITi Unique Use Identity Tokens in the signed STR transfer receipt. Petition 870250092118, dated 08 / 10 / 2025, pp. 90 / 128 81 / 84 generated by the Di drone. Thus, with the above records of drone owners (including the reference drone owner) on the IS Identity Server, the GS Custody Server, and the GS Governance Server, and with the possibility of any drone (including the reference drone) challenging another drone to verify that the owner of that other drone is correctly registered, any intrusion by a false owner into the process of executing operations by the drones is prevented (without revealing critical owner data), and the task assigned to the drones can be performed with maximum security.
[0058] According to the control system above, based on the Identity Server IS, the Custody Server ES, and the Governance Server GS, the risk of data breach relating to a contested drone owner D during the above data exchanges is minimized: - IS is not familiar with SUITs, the CES credential, the verifiable CGS credential, the ephemeral DID of drone D, nor the exchanges between D and other drones; - ES is unfamiliar with SUITs, CES, CGS, the ephemeral DID of the D drone, nor the exchanges between D and other drones; and - GS does not know the UID of drone D (GS only knows the SUITs and the OKpub of D).
[0059] In addition, it is possible to have an audit server (AUD) responsible for overseeing data exchanges between drones and the compliance of their internal rules with certain stored data operation (SPO) rules. In this case, each drone (including the reference drone) must store a history of its (encrypted) data exchanges with the Petition 870250092118, dated 08 / 10 / 2025, pp. 91 / 128 82 / 84 other drones during task execution that can be audited by the Audit Server (AUD).
[0060] The invention can be used in many other contexts besides the (non-limiting) examples of drones, IoTs, etc. mentioned above. For example, a first device could be a smartphone owned by a person with a digital wallet, a second device could be another smartphone owned by another person with a corresponding digital wallet, and the verifiable data could represent the digital money in the wallets (the values of the operation parameter data represent the face values of the banknotes). The invention can then secure money transfer operations between wallets via smartphones. Furthermore, it is possible to have a plurality of reference devices to control the execution of operations by the devices.
[0061] The information disclosed above should be considered illustrative and not limiting, and serves to provide a better understanding of the invention defined by the independent claims. REFERENCES [1] M. Sabt, M. Achemlal, A. Bouabdallah: “Trusted Execution Environment: What It Is, and What It Is Not”, 14th IEEE International Conference on Trust, Security and Privacy in Computing and Communications, August 2015, Helsinki, Finland. [2] https: / / en.wikipedia.org / wiki / Trusted_execution_environment (edited on November 15, 2020, at 13:04 (UTC)). [3] from Crypto Wiki: Petition 870250092118, dated 08 / 10 / 2025, p. 92 / 128 83 / 84 cryptowiki.net / index.php?title=Protocols_for_secure_communication_channels (December 27, 2014, at 9:54 PM). [4] S. Goldwasser, M. Bellare: Lecture Notes on Cryptography, July 2008: http: / / www.cs.tufts.edu / comp / 165 / papers / Goldwasser-Bellarenotes-cryptography.pdf [5] https: / / en.wikipedia.org / wiki / Digital_signature (edited on December 14, 2020, at 00:29 (UTC)). [6] https: / / en.wikipedia.org / wiki / Blind_signature (edited on January 4, 2020, at 18:21 (UTC)). [7] D. Chaum, EUROCRYPT '90: Proceedings of the workshop on the theory and application of cryptographic techniques on Advances in cryptology, February 1991, pages 458-464. [8] Wikipedia. Signatures with efficient protocols, https: / / en.wikipedia.org / wiki / Signatures_with_efficient_protocols (edited on December 14, 2020, at 02:13 (UTC)). [9] Goldwasser S., Ostrovsky R. (1993) Invariant Signatures and Non-Interactive Zero-Knowledge Proofs are Equivalent. In: Brickell EF (eds) Advances in Cryptology - CRYPTO' 92. CRYPTO 1992. Lecture Notes in Computer Science, vol. 740. Springer, Berlin, Heidelberg. https: / / doi.org / 10.1007 / 3-540-48071-4_16.
[10] Camenisch J., Lysyanskaya A. (2003) A Signature Scheme with Efficient Protocols. In: Cimato S., Persiano G., Galdi C. (eds) Security in Communication Networks. SCN 2002. Lecture notes in Computer Science, vol. 2576. Springer, Berlin, Heidelberg. https: / / doi.org / 10.1007 / 3-540-364137_20.
[11] Knox, DA and Adams, C. Digital credentials with Petition 870250092118, dated 08 / 10 / 2025, p. 93 / 128 84 / 84 privacy preservation delegation, First published: July 15, 2011, https: / / doi.org / 10.1002 / sec.213, (see https: / / onlinelibrary.wiley.com / doi / full / 10.1002 / sec.213).
[12] https: / / en.wikipedia.org / wiki / Hardware_security_module (edited November 20, 2022, at 20:18 (UTC).)
[13] https: / / en.wikipedia.org / wiki / Decentralized_identifier (edited on November 6, 2022, at 19:48 (UTC)); or https: / / www.w3.org / TR / did-core / (July 19, 2022)
[14] https: / / en.wikipedia.org / wiki / Verifiable_credentials (edited on October 9, 2022, at 2:20 p.m. (UTC)); or https: / / www.w3.org / TR / vc-data-model / (March 3, 2022)
[15] https: / / en.wikipedia.org / wiki / Merkle_tree (edited on November 24, 2022, at 08:58 (UTC))
[16] US document 4,309,569 (published on January 5, 1982)
[17] https: / / github.com / hyperledger-archives / indy- anoncreds
[18] https: / / github.com / w3c-ccg / chapi-interop-test-suite Petition 870250092118, dated 08 / 10 / 2025, pp. 94 / 128
Claims
1 / 31 CLAIMS 1. A method for controlling a plurality of devices through a reference device and making the devices cooperate to perform a task, each device being owned by a corresponding owner, each device being equipped with a processing unit with a memory and a communication unit, and adapted to perform the operations necessary to perform the task, the memory of each device storing a corresponding set of private cryptographic keys of the device owner, a decentralized identifier (DID) of its owner associated with a set of public cryptographic keys respectively corresponding to the private keys, a programmed method of authenticating the other devices and the reference device adapted to be executed in the processing unit of the device, the sets of public cryptographic keys of the other devices,a set of verifiable data, each verifiable data comprising corresponding operating parameter data values and associated internal rules necessary to perform the task, and verifiable credentials of the device owner, the communication units of the devices being adapted to communicate securely with each other via a wired or wireless communication network, the reference device being equipped with a processing module, a memory module and a communication module and is adapted to communicate securely with each device communication unit via a wired or wireless communication network, the reference device and the devices being adapted to transfer data using an encryption protocol,the memory module of the reference device storing the corresponding set of private cryptographic keys of a reference owner of the reference device, and the corresponding decentralized identifier (DID) data associated with a set of public cryptographic keys respectively corresponding to the private keys of the reference device and the set of public cryptographic keys of each device in said plurality of devices, the reference device and each device being adapted to digitally sign a transfer receipt with their corresponding stored private keys, and the memory of each device additionally storing the set of public cryptographic keys of the reference device,the method being characterized by: - each data transfer between any two devices and between the reference device and any device being encrypted with a private key in accordance with the encryption protocol, and any recipient of a message transferred in accordance with said encryption protocol authenticating a sender of the received message by decrypting the message with a public key corresponding to the private key of the sender's owner used to encrypt said message and, if the message includes a signed transfer receipt, the recipient additionally verifies whether each signature on the signed transfer receipt is valid; Petition 870250092118, dated 08 / 10 / 2025, p. 96 / 128 3 / 31 - each signed transfer receipt sent or received by a device being stored in its memory,and each signed transfer receipt sent or received by the reference device is stored in its memory module; - each time a first device sends to a second device, through its communication unit, possibly via the reference device, an encrypted message that includes a signed transfer receipt and indicates an operation involving the use of certain operation parameter data values to be executed by the second device as part of the task, the signed transfer receipt includes the respective DIDs of the first device, the second device, and the reference device along with the provided operation parameter data values; and - the second device, upon receiving this message by its communication unit, decrypts the message,execute the operation using the operation parameter data values included in the signed transfer receipt in the received message, and its processing unit removes from its set of verifiable data stored in its memory the selected verifiable data whose operation parameter values correspond to the operation parameter data values used to execute the operation and separately stores said selected verifiable data in its memory, generates proof of said removal and separate storage of the selected verifiable data and includes the generated proof in the signed transfer receipt, and the second device additionally signs, through Petition 870250092118, dated 08 / 10 / 2025, page 97 / 128 4 / 31 its processing unit, the signed transfer receipt in the received decrypted message and sends, through its communication unit to the reference device,an encrypted message that includes the aforementioned additionally signed transfer receipt, along with the aforementioned selected verifiable data; and - after the reference device's communication module receives the encrypted message from the second device including the aforementioned additionally signed transfer receipt, along with the aforementioned selected verifiable data, the reference device verifies whether the proof received in the additionally signed transfer receipt is valid and whether the data of the received selected verifiable data conforms to the associated internal rules; and - in the event of successful authentication of the respective receiver and sender for any message transfer between the first device and the second device relating to the aforementioned operation, and between either of the first and second devices and the reference device relating to the aforementioned operation,and upon successful verification of the data content of any transferred message, the reference device shall additionally sign and store in its memory module the transfer receipt signed by the first device and the second device, containing said proof generated by the second device, and send an encrypted message containing said additionally signed transfer receipt to the first device and the second device, thus indicating to said two devices that the operation was executed; and Petition 870250092118, dated 08 / 10 / 2025, p. 98 / 128 5 / 31 - after the communication unit of the second device receives said additionally signed transfer receipt from the reference device, the second device shall delete the selected verifiable data from its memory.
2. A method according to claim 1, characterized in that a clock of the processing unit of each device is synchronized with a clock of the processing module of the reference device RD, and each device and the reference device RD are adapted to include timestamp data in a transfer receipt and to check for timeout of the timestamp data in a received transfer receipt, and wherein an operation that is part of the task is performed according to the following steps: (A) a first device D1 sends to a second device D2 through its communication unit a message, encrypted by its processing unit using one of its private keys stored in its memory,the message including data indicating an OP operation to be executed by the second device D2 and the corresponding transfer receipt signed by the first device containing data values of operation parameters to be used to execute the OP operation and the data of the first timestamp; (B) after the second device D2 receives the encrypted message from the first device D1, the processing unit of the second device authenticates the first device as the sender of the received message, Petition 870250092118, 08 / 10 / 2025, p. 99 / 128 6 / 31 by decrypting the message using a public cryptographic key corresponding to the private key of the owner of the first device used to encrypt the message, or using a shared symmetric key negotiated with the private key of the sender of the message, and verifying that the signature on the received signed transfer receipt is valid,and the processing unit of the second device verifies that there is no timeout on the data of the first timestamp in the signed transfer receipt received; and (B1) if the authentication of the first device D1 fails, or the signature on the signed transfer receipt is invalid or there is a timeout, the second device D2 sends the reference device a corresponding error notification through its communication unit, the data transfer with the first device D1 is canceled and the reference device RD forwards the received error notification to the first device D1; and (B2) if the authentication of the first device D1 is successful, and the signature on the signed transfer receipt is valid, and there is no timeout,The processing unit of the second D2 device selects the verifiable data D2SVD whose operating parameter data values correspond to the operating parameter data values received in the verifiable data set D2VD stored in its memory. The processing unit of the second D2 device (Petition 870250092118, 08 / 10 / 2025, p. 100 / 128 7 / 31) updates the internal rules of the selected verifiable data. The second D2 device executes the operation using the selected verifiable data D2SVD, and its processing unit removes the selected verifiable data D2SVD from its stored verifiable data set D2SVD and stores separately in its memory said selected verifiable data D2SVD with the associated updated internal rules. It generates a PR1 proof of said removal and separate storage of the selected verifiable data D2SVD, and incorporates the selected verifiable data D2SVD into the message.(A) includes the generated proof PR1 and the data from the second timestamp in the signed transfer receipt of the message, additionally signs the transfer receipt and includes this additionally signed transfer receipt in the message, encrypts the message with one of its private keys and sends the encrypted message to the reference device RD; (B) after the communication module of the reference device RD receives the message from the second device D2, the processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies that the signatures on the transfer receipt are valid and that there is no timeout of the data from the first and second timestamps, that proof PR1 is valid and that the selected verifiable data from the second device D2 is correct. Petition 870250092118, dated 08 / 10 / 2025,pg. 101 / 128 8 / 31 received are in accordance with the corresponding associated internal rules; and (C1) if a signature is invalid or there is a timeout or the PR1 proof is invalid or the selected verifiable data from the second D2SVD device received is in accordance with the corresponding internal rules, the reference device RD sends a corresponding error notification to the first D1 device and the second D2 device via its communication module and the data transfer between the first D1 device and the second D2 device is cancelled; and (C2) if the signatures are valid, there is no timeout, the PR1 proof is valid and the selected verifiable data from the second D2SVD device received is in accordance with the corresponding internal rules, the processing module of the reference device RD includes the selected verifiable data from the second D2SVD device in the message,additionally signs the signed transfer receipt and attaches this additionally signed transfer receipt to the message, encrypts the message with a private key stored in the memory module, sends the encrypted message to the first device D1, and the processing module of the reference device RD encrypts the additionally signed transfer receipt with a private key stored in the memory module and sends the additionally encrypted signed transfer receipt to the second device D2; (D) after the communication unit of the first device D1 receives the message from the reference device RD,The processing unit of the first device D1 decrypts the message with the public key corresponding to the private key used by the reference device RD to encrypt the message and extracts the selected verifiable data from the second device from the message; and (D1) the first device D1 modifies its set of verifiable data from the first device (D1VD) stored in its memory, generating and storing a new set of verifiable data from the first device D1VD', including the selected verifiable data from the second device extracted D2SVD; (E) after the communication unit of the second device D2 receives the error notification sent by the reference device RD according to step (C1), the processing unit of the second device D2 transfers the selected verifiable data from the second device D2SVD stored separately in its memory to its set of verifiable data D2VD; (F) after receiving,by the communication unit of the second D2 device, from the decryption and validation of the signatures of the encrypted signed transfer receipt sent by the reference device RD according to step (C2), the processing unit of the second D2 device deletes the selected verifiable data from the second D2SVD device stored separately in its memory. Petition 870250092118, dated 10 / 08 / 2025, pp. 103 / 128 10 / 31, 3. Method according to claim 1, characterized in that a clock of the processing unit of each device is synchronized with a clock of the processing module of the reference device RD, and each device and the reference device RD are adapted to include timestamp data in a transfer receipt and to check for timeout of the timestamp data in a received transfer receipt, and wherein an operation that is part of the task is performed according to the following steps: (A') a first device D1 sends to the reference device RD through its communication unit a message, encrypted by its processing unit using one of its private keys stored in its memory,The message includes data indicating an OP operation to be executed by the second device D2 and the corresponding transfer receipt signed by the first device containing data values of operation parameters to be used to execute the OP operation and the data of the first timestamp; after the communication module of the reference device RD receives the encrypted message from the first device D1, the processing module of the reference device RD authenticates the first device as the sender of the received message by decrypting the message using a public cryptographic key corresponding to the private key of the owner of the first device D1 used to encrypt the message, and the processing module of the reference device RD Petition 870250092118, dated 08 / 10 / 2025,pg. 104 / 128 11 / 31 verifies if the signature on the received signed transfer receipt is valid and if there is no timeout for the data in the first date and time stamp on the signed transfer receipt; and (A1') if the authentication of the first device D1 fails, or the signature on the transfer receipt is not valid or there is a timeout, the reference device RD sends an error message to the first device D1 through its communication module and the data transfer between the first device D1 and the second device D2 is canceled; and (A2') if the authentication of the first device is successful, and the signature on the transfer receipt is valid and there is no timeout for the data in the first date and time stamp, the processing module of the reference device RD includes a date and time stamp from the reference device RDTS in the signed transfer receipt,(B') attach this signed transfer receipt to the message and encrypt the message including the signed transfer receipt with one of its private keys stored in the memory module and send the encrypted message to the second device D2 through its communication module; (B') after the second device D2 receives the encrypted message from the reference device RD, the processing unit of the second device D2 authenticates the reference device RD as the sender of the received message, decrypting the message using a public cryptographic key corresponding to the private key of the owner of the reference device RD used to encrypt the message,(B1') checks if the signature of the first device D1 on the received signed transfer receipt is valid and if there is no timeout of the data from the first timestamp and timestamp data of the reference device of the signed transfer receipt in the message; and (B1') if the authentication of the reference device RD fails, or the signature on the signed transfer receipt is not valid or there is a timeout, the second device D2 sends the reference device RD a corresponding error notification through its communication unit, the reference device RD forwards the received error notification to the first device D1 and the data transfer with the first device D1 is canceled; and (B2') if the authentication of the reference device RD is successful and the signature on the signed transfer receipt is valid and there is no timeout,The processing unit of the second device D2 selects the verifiable data D2SVD whose operating parameter data values correspond to the operating parameter data values received in the verifiable data set D2VD stored in its memory; the processing unit of the second device D2 updates the internal rules associated with the selected verifiable data; the second device D2 executes the operation according to the selected verifiable data D2SVD and its processing unit removes the selected verifiable data D2SVD from its set of verifiable data stored in its memory and separately stores said selected verifiable data D2SVD in its memory with the associated updated internal rules; it generates a proof PR1 of said removal and separate storage corresponding to said execution of the OP operation.(C) incorporates the selected verifiable data D2SVD into the message, includes the generated proof PR1 and the data from the second timestamp in the signed transfer receipt, additionally signs the signed transfer receipt and attaches the additionally signed transfer receipt to the message, encrypts the message with one of its private keys and sends the encrypted message to the reference device RD; (C') after the communication module of the reference device RD receives the message from the second device D2, the processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies that the signatures on the signed transfer receipt are valid and that there is no timeout of the data from the first timestamp,from the date and time stamp data of the reference device and the data from the second Petition 870250092118 record, dated 08 / 10 / 2025, page 107 / 128 14 / 31 date and time on the signed transfer receipt, if proof PR1 on the signed transfer receipt is valid and if the selected verifiable data from the second D2SVD device received conforms to the corresponding associated internal rules; and (C1') if a signature is invalid or there is a timeout or proof PR1 is invalid or the selected verifiable data from the second D2SVD device received does not conform to the associated internal rules, the reference device RD sends the first device D1 and the second device D2 a corresponding error notification through its communication module and the data transfer between the first device D1 and the second device D2 is cancelled; and (C2') if the signatures are valid, there is no timeout,(D') if proof PR1 is valid and the selected verifiable data received from the second D2SVD device conforms to the associated internal rules, the processing module of the reference device RD encrypts the message with a private key stored in the memory module and sends the encrypted message, including the signed transfer receipt, to the first device D1; (D') after the communication unit of the first device D1 receives the message and the signed transfer receipt from the reference device RD, the processing unit of the first device D1 decrypts the message with the public key corresponding to the private key used by the reference device RD to encrypt the message, verifies that the signatures on the signed transfer receipt are valid and that there is no timeout of the data in the first timestamp record,From the date and time stamp data of the reference device and the data of the second date and time stamp, it extracts the verifiable data of the second device D2SVD from the decrypted message; and (D1') if a signature on the signed transfer receipt is invalid or there is a timeout, the first device D1 sends the reference device RD a corresponding error notification through its communication unit, the reference device RD forwards the received error notification to the second device D2 and the data transfer with the first device D1 is canceled; and (D2') if the signatures on the signed transfer receipt are valid and there is no timeout, the processing unit of the first device D1 modifies its verifiable data set of the first device (D1VD) stored in its memory to generate and store a new verifiable data set of the first device D1VD',including the selected verifiable data from the second device extracted D2SVD into the verifiable data set of the first device (D1VD), generates a PR2 proof of this inclusion, removes the selected verifiable data from the second device D2SVD from the message, incorporates the generated PR2 inclusion proof into the signed transfer receipt, encrypts the message with a private key stored in the memory of the first device D1 and forwards the encrypted message, including the signed transfer receipt, to the reference device RD; and (D3') after the communication module of the reference device RD receives the message with the signed transfer receipt sent by the first device D1 according to step (D2'),The processing module of the reference device RD decrypts the message with the public key corresponding to the private key used by the first device D1 to encrypt the message, verifies if the signatures on the signed transfer receipt are valid, if there is no timeout of the data in the first timestamp, the data in the timestamp of the reference device and the data in the second timestamp, if the proof of inclusion PR2 in the signed transfer receipt is valid; and (D4') if a signature is not valid or there is a timeout or the proof of inclusion PR2 is not valid, the reference device RD sends a corresponding error notification to the first device D1 and the second device D2 through its communication module and the data transfer between the first device D1 and the second device D2 is canceled; and (D5') if the signatures are valid,If there is no time limit and the PR2 inclusion proof is valid, the processing module of the reference device RD encrypts the message with a private key from the set of private keys stored in the memory module and forwards the message to the second device D2 through the communication module; (E') after the communication unit of the second device D2 receives the error notification sent by the reference device RD according to step (C1'), the processing unit of the second device D2 transfers the selected verifiable data from the second device D2SVD stored separately in its memory to its set of verifiable data; (F') after the communication unit of the second device D2 receives the message with the signed transfer receipt forwarded by the reference device RD according to step (D5'),The processing unit of the second device D2 decrypts the message with a stored public key corresponding to the private key used by the reference device RD to encrypt the message, verifies that the signatures on the transfer receipt are valid and that there is no timeout of the data from the first timestamp, the data from the timestamp of the reference device and the data from the second timestamp, and that the proof of inclusion PR2 is valid; and (F1') if a signature is not valid or there is a timeout or the received proof of inclusion PR2 is not valid, the second device D2 sends the reference device RD a corresponding error notification through its communication unit, the data transfer to said first device D1 is cancelled and the device Petition 870250092118, dated 08 / 10 / 2025,p. 111 / 128 18 / 31 of reference RD forwards said error notification to the first device D1; and (F2') if the signatures are valid, there is no time limit and the received inclusion proof PR2 is valid, the second device D2 deletes the selected verifiable data from the second device D2SVD stored separately in its memory, additionally generates a PR3 proof of this deletion, incorporates the generated PR3 deletion proof into the signed transfer receipt, encrypts the message containing the signed transfer receipt with one of its private keys and forwards the encrypted message to the reference device RD; and (G') after the communication module of the reference device RD receives the message with the signed transfer receipt forwarded by the second device D2 according to step (F2'),The processing module of the reference device RD decrypts the message with a public key corresponding to the private key used by the second device D2 to encrypt the message, verifies that the signatures on the transfer receipt are valid, that there is no timeout of the data in the first timestamp, the data in the timestamp of the reference device and the data in the second timestamp, and that the deletion proof PR3 received in the signed transfer receipt is valid; and (G1') if a signature on the signed transfer receipt is not valid, or there is a timeout, or the received deletion proof PR3 is not valid, the reference device RD sends to the second Petition 870250092118, dated 08 / 10 / 2025, p. 112 / 128 19 / 31 device D2 and to the first device D1 a corresponding error notification through its communication module,and the data transfer between the first device D1 and the second device D2 is canceled; and (G2') if the signatures on the signed transfer receipt are valid, there is no timeout for the data in the first timestamp, the data in the timestamp of the reference device, and the data in the second timestamp, and the received PR3 deletion proof is valid, the processing module of the reference device RD additionally signs the signed transfer receipt, encrypts the additionally signed transfer receipt with one of the private keys stored in the memory module, and forwards the additionally encrypted signed transfer receipt through the communication module to the first device D1 and the second device D2.
4. Method, according to claim 2 or 3, characterized in that, respectively, in step (C) or (C'), if the internal rules of the selected verifiable data from the second received D2SVD device specify the use of verifiable credentials of the owner of the first D1 device or the second D2 device, respectively, the reference device RD additionally verifies a conformity of the verifiable credentials of the owner of the first D1 device or the second D2 device with said internal rules, respectively, by communicating with said first or second devices through a credential sharing protocol.
5. A method, according to any one of claims 1 to 4, characterized in that each verifiable data point in the verifiable data set of a device is associated with the respective leaf nodes of a Merkle tree corresponding to said device, each leaf node corresponding to a hash value obtained by hashing the associated verifiable data points corresponding to a hash function, the Merkle tree comprising intermediate nodes up to a root node of the tree corresponding to a root value of the tree calculated according to a Merkle tree hashing scheme, the Merkle tree being stored in the device's memory; the processing unit of the device is adapted to perform a modification of the verifiable data set stored in its memory, corresponding to a removal of certain verifiable data points from the set,selecting nodes from the stored Merkle tree corresponding to each verifiable data point to be removed from the stored set of verifiable data points, replacing each removed verifiable data point with the corresponding piece of placeholder data and hashing each piece of placeholder data with the hash function to obtain the corresponding placeholder leaf node value, forming a new Merkle tree from the stored Merkle tree, replacing the selected leaf nodes with the corresponding placeholder leaf nodes, respectively, Petition 870250092118, dated 10 / 08 / 2025, pp. 114 / 128 21 / 31 to obtain a first part of the leaf nodes of the new Merkle tree and appending to said first part a second distinct part of leaf nodes, respectively, corresponding to the selected leaf nodes of the Merkle tree, as separate stored leaf nodes,and calculating new intermediate nodes of the new Merkle tree up to a new root node of the new Merkle tree that has said first and second parts of the leaf nodes using the hash function according to the hashing scheme, and storing the new Merkle tree in the device's memory; the device's processing unit is adapted to generate proof that the modification of the verifiable data set stored in its memory corresponds to the execution of an operation performed by the device using the operation parameter data values of the provided verifiable data, sending to the reference device the new value of the root node of the new Merkle tree, together with the root verification data comprising, respectively,the values of the new placeholder nodes and the values of the new intermediate nodes of the new Merkle tree that have been modified with respect to the Merkle tree and that are necessary to retrieve the new root value with the hash function according to the hashing scheme; and the processing module of the reference device is adapted to verify whether a new root node value of a new Merkle tree received from the device, together with the corresponding root verification data, as proof of the operation's performance by the device, corresponds to a test root node value calculated from the received root verification data, thus performing a verification that the device executed the operation; in the case of deletion of the verifiable data corresponding to the stored separate leaf nodes of the new Merkle tree,An updated Merkle tree is obtained by calculating the respective values of its intermediate leaf nodes updated to its updated root node using the hash function according to the hashing scheme of only the first part of the leaf nodes of the new Merkle tree. The updated value of the root node of the updated Merkle tree, along with the corresponding updated root verification data, constitutes proof of said deletion of verifiable data. In the case of including specific verifiable data in a set of verifiable data stored as an initial Merkle tree in a device's memory, the corresponding values of additional leaf nodes are calculated using the hash function of each specific included verifiable data, and a corresponding final Merkle tree is calculated from the values of the leaf nodes of the initial Merkle tree and the values of the additional leaf nodes according to the hashing scheme.the value of the resulting root node of said final Merkle tree, together with the resulting root verification data, constituting proof of said inclusion of specific verifiable data; and the processing units of the devices and the processing module of the reference device are adapted to calculate the node values of a Merkle tree with a programmed hash function and a hashing scheme, and to calculate a root value from the root verification data.
6. Method, according to any one of claims 2 to 5, characterized in that in step (B2) or in step (B2'), respectively, the processing unit of the second device D2: generates a new symmetric encryption key K and encrypts a specific control field of each selected verifiable data D2SVD with said generated key K; encrypts the generated key K so that it can be decrypted with a public cryptographic key of the first device D1; and additionally incorporates into the message the encrypted key K together with each specific encrypted control field.
7. Method, according to claim 6, characterized in that in step (C2) or step (C2'), respectively, after the reference device RD receives the message that includes the selected verifiable data from the second device D2SVD and the signed transfer receipt, the processing unit of the first device decrypts the encrypted key K with a corresponding private key of the first device stored in its memory to obtain the encryption key K, and decrypts each encrypted control field of the selected verifiable data from the second device D2SVD in the message received with the key K, thus allowing the first device D1 to access the control field data of the second device D2 without this data being revealed to the reference device RD.
8. Method, according to any of the claims Petition 870250092118, dated 10 / 08 / 2025, pp. 117 / 128 24 / 31 2 to 5, characterized in that in step (B) or step (B'), respectively, after decrypting the received message and before verifying whether the signature on the received signed transfer receipt is valid, if there is no timeout, the second device D2 performs an additional level of authentication of the first device D1 or the reference device RD, respectively, executing a challenge-response communication step with the first device D1 or the reference device RD, respectively, and only after the second device D2 receives a correct response from the first device D1 or the reference device RD, respectively, to a challenge sent to it by the second device D2, the processing unit of the second device D2 then verifies whether the signature on the received signed transfer receipt is valid,If there is no time limit for the data in the first date and time stamp on the signed transfer receipt, and if the answer to the challenge is incorrect, the data transfer with the first device D1 is canceled.
9. A method, according to any one of claims 1 to 8, characterized in that each DID of a device owner includes a corresponding unique identifier (UID) of the owner of said device provided by an Identity Server (IS) in response to a single registration configuration of the device owner with the Identity Server, each device is adapted to communicate through the communication network with a Custodian Server (ES), and each device owner can perform the single registration configuration with the Custodian Server by sending it, through said device, a request containing its unique identifier and a cryptographic commitment with a device link secret, after receiving the request,The Custody Server creates a corresponding entropy test vector (ETV) as a chunk of bytes generated by a random number generator, a corresponding pair of asymmetric cryptographic keys (OKpub, OKpriv), determines a corresponding shielded profile (SP) obtained by first encrypting the received unique identifier (UID) with the OKpriv private key and then encrypting the entropy test vector and the encrypted unique identifier with the OKpriv private key, stores the obtained triplet (OKpub, SP, UID), and delivers to the device an anonymous verifiable CES credential containing the triplet (OKpub, SP, UID) and the cryptographic commitment to the device's link secret.The Custody Server is adapted to communicate with the Identity Server via the communication network and request that the Identity Server confirm that a unique identifier (UID) received by the Custody Server from a device is indeed owned by the owner of said device. Each device is adapted to communicate via the communication network with a Governance Server (GS), and each device owner can perform single sign-on with the Governance Server by first establishing, through their device, a session with the Governance Server during which the device uses an ephemeral DID and the Governance Server is authenticated. The Governance Server then challenges the device to produce proof of registration of its owner on the Custody Server (ES), and in response,The device generates a proof based on the anonymous verifiable credential (CES) delivered by the Custodian Server and sends the proof to the Governance Server. Upon receiving the proof, the Governance Server delivers to the device a plurality of Single Use Identity Tokens (SUITs) and the corresponding verifiable credential (CGS). Each delivered SUIT is a string that can be used to look up the device's OKpub public key. The delivered verifiable credential (CGS) contains a field for each delivered SUIT and the cryptographic commitment to the device's link secret. In the case of a device A from the plurality of devices communicating with a device B from the plurality of devices using a never-before-seen DID, device B then challenges device A to prove that the owner of device A is registered with the Governance Server.revealing one of the SUITs (Single-Use Identity Tokens) delivered to device A by the Governance Server in the corresponding verifiable CGS credential, in response, device A produces a Zero-Knowledge Proof based on the verifiable CGS credential that reveals one of the corresponding SUITs, and device B registers the revealed SUITs in the signed transfer receipt generated by device A.
10. System for controlling a plurality of devices through a reference device to make the devices cooperate to perform a task, each device being owned by a corresponding owner, each device being equipped with a processing unit with a memory and a communication unit, and adapted to perform the operations necessary to perform the task, the memory of each device storing a corresponding set of private cryptographic keys of the device owner, a decentralized identifier (DID) of its owner associated with a set of public cryptographic keys respectively corresponding to the private keys, a programmed method of authentication of the other devices and the reference device adapted to be executed in the processing unit of the device,the public cryptographic key sets of the other devices, a verifiable data set with corresponding operating parameter data values and associated internal rules necessary to perform the task, and verifiable credentials of the device owner, the communication units of the devices being adapted to communicate securely with each other via a wired or wireless communication network, the reference device being equipped with a processing module, a memory module and a communication module and being adapted to communicate securely with each communication unit of the device via the wireless or wired communication network, the reference device and the devices being adapted to transfer data using cryptographic protocols, the memory module of the device of Petition 870250092118, dated 08 / 10 / 2025,p. 121 / 128 28 / 31 reference storing a corresponding set of private cryptographic keys of a reference owner of the reference device and corresponding decentralized identifier (DID) data and a set of public cryptographic keys, corresponding respectively to the private keys of the reference device and the set of public cryptographic keys of each device in said plurality of devices, the reference device and each device being adapted to digitally sign a transfer receipt with their corresponding private keys, and the memory of each device additionally stores the set of public cryptographic keys of the reference device, a clock of the processing unit of each device is synchronized with a clock of the processing module of the reference device RD,and each device and the reference device RD are adapted to include timestamp data in a transfer receipt and to verify the timeout of timestamp data in a received transfer receipt, the system being characterized in that the devices and the reference device are adapted to perform the steps of the method as defined in any one of claims 1 to 9.
11. System, according to claim 10, characterized by further comprising an Identity Server (IS) adapted to communicate with devices via the communication network and delivering to a device, in response to a unique registration configuration of the device owner with the Identity Server 870250092118, dated 08 / 10 / 2025, page 122 / 128 29 / 31, a unique identifier corresponding to the UID of said owner to be associated with the decentralized identifier data (DID) of the device owner, a Custody Server (ES) adapted to communicate with devices via the communication network and perform a unique registration of the owner of a device, after receiving from that device a request containing the unique identifier UID of its owner and a cryptographic commitment to a link secret of said device,By creating a corresponding entropy test vector (ETV) as a chunk of bytes generated by a random number generator, a corresponding pair of asymmetric cryptographic keys (OKpub, OKpriv), determining a corresponding shielded profile (SP) obtained by first encrypting the received unique identifier (UID) with the OKpriv private key and then encrypting the entropy test vector and the encrypted unique identifier with the OKpriv private key, storing the obtained triplet (OKpub, SP, UID) and delivering to the device an anonymous verifiable credential CES containing the triplet (OKpub, SP, UID) and the cryptographic commitment to the device's link secret,The Custody Server, being adapted to communicate with the Identity Server through the communication network and requesting that the Identity Server confirm that a unique identifier (UID) received by the Custody Server from a device is in fact owned by the owner of said device, a Governance Server (GS) adapted to communicate with the devices through the communication network and perform Petition 870250092118, dated 08 / 10 / 2025, pp. 123 / 128 30 / 31 a single registration configuration of the owner of a device, after the establishment by said device of a session with the Governance Server, during which the device uses an ephemeral DID and the Governance Server is authenticated, the Governance Server then challenging the device to produce proof of registration of its owner on the Custody Server (ES) and, in response,The device generates a proof based on the anonymous verifiable credential (CES) delivered by the Custodian Server and sends the proof to the Governance Server. Upon receiving the proof, the Governance Server delivers to the device a plurality of Single Use Identity Tokens (SUITs) and the corresponding verifiable credential (CGS). Each delivered SUIT is a string that can be used to look up the device's OKpub public key. The delivered verifiable credential (CGS) contains a field for each delivered SUIT and a cryptographic commitment to the device's link secret. In the event that a device A from the plurality of devices communicates with a device B from the plurality of devices using a previously unseen DID, device B then challenges device A to prove that the owner of device A is registered with the Governance Server (GS).revealing one of the SUITs (Single-Use Identity Tokens) delivered to device A by the Governance Server in the corresponding verifiable CGS credential, and in response, device A produces a Zero-Knowledge Proof based on the verifiable CGS credential Petition 870250092118, dated 10 / 08 / 2025, pp. 124 / 128 31 / 31 that reveals one of the corresponding SUITs, and device B records the SUITs revealed in the signed transfer receipt generated by device A. Petition 870250092118, dated 10 / 08 / 2025, pp. 125 / 128,