Multi-factor data certification
Patent Information
- Application Number
- EP2023707947
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-01
- Filing Date
- 2023-03-01
- Publication Date
- 2025-01-08
AI Technical Summary
Existing data certification systems rely solely on actor authentication, which is unreliable and requires strong administration and technical knowledge, limiting their practical application and dependability.
A module for processing certifying instances of digital data, including a user identifier, storage address, and an ordered list of elements with certificates, timestamps, and electronic signatures, implemented on a non-repudiable register like a blockchain, ensuring multi-factor data certification and integrity verification.
Enhances the reliability and practicality of data certification by providing a robust, multi-factor approach that verifies the integrity of files across multiple certifying systems, increasing confidence in data provenance and security.
Smart Images

Figure 1.1
Abstract
Description
Multi-factor data certification
[0001] The invention lies in the field of computer science, encryption and systems guaranteeing non-repudiation, for example blockchains. State of the prior art
[0002] The cybersecurity world is focused on hunting down bad actors.
[0003] Existing data certification systems rely solely on the authentication of actors. At best, existing systems such as PGP and S / MIME allow for encryption and signing. They are rarely used in practice and require extensive administration and technical knowledge from all the actors who use them.
[0004] A disadvantage of this data certification system is that it is based on a single source of information. The robustness of the system depends exclusively on the training of all stakeholders.
[0005] One aim of the invention is in particular to remedy all or part of the aforementioned drawbacks.
[0006] According to a first aspect of the invention, a module is proposed for processing certifying instances of digital data generated by certifying systems, the module comprising a user identifier, in which each of the certifying instances is associated with a storage address, a user terminal, and an ordered list of elements stored on a non-repudiable register, each of the elements comprising: an attestation generated by one of the certifying systems, the attestation comprising a type of attestation, a digest of a document, a timestamp by the certifying system of the instant of generation of said attestation, an electronic signature of said attestation by the certifying system, a timestamp by the processing module of the instant of addition of the element in the ordered list, optionally a pointer to the electronic document (for example a memory address in a storage device on a network),in clear or encrypted by an asymmetric key held by the creator of the certifying body.,
[0007] According to a second aspect of the invention, a system is proposed comprising at least one client, at least one certifying system, and an instance processing module according to the first aspect of the invention, or one or more of its improvements.
[0008] According to another aspect of the invention, there is provided a method implemented in a system according to the second aspect of the invention, or one or more of its improvements.
[0009] The method may comprise a step of verifying the integrity of a file by a user terminal, said file being received from another user terminal.
[0010] The file integrity verification step then comprises the following steps, implemented at the user terminal: calculating a digest of the received file, receiving from the other user terminal a storage address of a certifying instance, generating a request to receive a certifying instance from said storage address and sending it to the module, receiving from the module the certifying instance associated with said storage address, browsing the list of elements of the received certifying instance to determine the presence or absence of a digest of an attestation that is the same as the calculated digest.
[0011] If the presence of the calculated condensate is verified, the step of verifying the integrity of the file may include one or more steps of verifying the other attestations of the ordered list of elements of said certifying body. Description of figures
[0012] Other advantages and particularities of the invention will appear on reading the detailed description of implementations and embodiments which are in no way limiting, with regard to the appended drawings in which:illustrates an exemplary embodiment of a system according to the invention,illustrates a case of use of a system according to the invention,illustrates the different stages of certification by a system according to the invention,illustrates a sequence diagram of exchanges within the system according to the invention.Description of embodiments
[0013] The embodiments described below being in no way limiting, it will be possible in particular to consider variants of the invention comprising only a selection of the characteristics described, subsequently isolated from the other characteristics described, if this selection of characteristics is sufficient to confer a technical advantage or to differentiate the invention compared to the state of the prior art. This selection comprises at least one characteristic, preferably functional without structural details, or with only a part of the structural details if this part only is sufficient to confer a technical advantage or to differentiate the invention compared to the state of the prior art.
[0014] In the figures, an element appearing in several figures retains the same reference. Definitions
[0015] Digest: A digest is the result of a hash function that creates a fingerprint of documents, data, etc. A digest is used to validate the integrity of data.
[0016] Digital certification: a process using encryption and asymmetric cryptography to ensure the provenance of digital data.
[0017] is a diagram of an embodiment of a system according to the invention.
[0018] The system according to the invention comprises: a module 1 for processing certifying instances 100 of digital data generated by certifying systems 300, said module comprising a user identifier 200, and more precisely a public key.
[0019] Each of the certifying instances is associated with a storage address of said instance, a user terminal that owns said instance, and an ordered list of elements stored on a non-repudiable ledger.
[0020] Each of the elements of the ordered list of elements contains: a certificate generated by one of the certifying systems, a certificate comprising a type of certificate, a digest of a document, a timestamp by the certifying system of the instant of generation of said certificate, an electronic signature of said certificate by the certifying system, a timestamp by the processing module of the instant of addition of the element in the ordered list, possibly a pointer to the document.
[0021] A certifying instance can be implemented as a smart contract on a non-repudiable, preferably distributed, preferably permissionless, ledger such as a blockchain, or any other implementation that guarantees non-repudiation of transactions on the ledger.
[0022] A certifying instance is initialized by a step of registering an actor, identifiable by asymmetric keys, and creating an encryption key for the data stored in the certifying instance.
[0023] Module 1 implements a function for adding an attestation to a certifying instance.
[0024] Module 1 implements a function for transferring a certifying instance to another user terminal.
[0025] Module 1 implements a function for verifying all the certificates of a certifying body upon receipt of a condensate and the certifying body.
[0026] Module 1 can be configured to accept a request to share the certificates making up a registry of a certifying instance with authorization from the actor owning the MFC.
[0027] If a third-party certification system adds a certificate to a list, the owner of the list can accept or reject the certificate and becomes the owner if accepted. The certificates
[0028] An attestation is generated by any certifying system that has data related to the type of attestation requested by a user terminal or other digital system.
[0029] An attestation can also be called an assertion, that is, a proposition stated as true, without it necessarily being true. The word affirmation can also be used in place of the word attestation.
[0030] A certificate includes a digest obtained from a file in the certifying system that validates the type of certificate. A certificate type corresponds to a type of assertion from the user terminal. This may include: a file (for example, a photograph or an audio file), a location, a signature, an audit (for example, a human verification of the systems that generated the digest or an automated audit), proximity, witness presence, residence, purchase, proof of ownership, delegation.
[0031] Delegation allows signing "on behalf" of a person or company. This type of certification is important for changing the key of a certification system, while maintaining a record that the signature was recognized at a date prior to the key change. The certification is electronically signed and time-stamped by the certification system, a signature that can identify the company or the person responsible for the signature.
[0032] The certifying instance can be configured to encrypt the attestation in its storage using a user terminal's public encryption key and thus make it accessible only to the user terminal associated with the certifying instance, i.e. its owner. The public key of the owner actor will then be used by default to encrypt the attestation.
[0033] It is possible for a certifying system to certify the absence of data related to a user terminal. In this case the digest will have the value "verified absence", for example coded by the value -1, or "absence" coded by the value "-2". "Verified absence" corresponds to a case where there is data that proves that the statement to be certified is false. For example, for the location of a mobile phone, the value "absence" means that the system has no data related to the user terminal.
[0034] A previous certificate can be invalidated by adding a new certificate with the "error" hash. The invalidated transaction will be pointed to by its identifier in the registry.
[0035] Example of implementation of a system according to the invention
[0036] Illustrates an example of an embodiment of a method implemented in a system according to the invention.
[0037] A user uses their mobile phone to generate a file, which includes a photograph, located by their mobile phone's GPS, and metadata.
[0038] The user sends a request to create an instance to module 1, sending it a digest of the generated file and an electronic signature of the digest, which is illustrated by steps 1 and 2 of the.
[0039] Module 1 creates a certified MFC instance associated with the user terminal.
[0040] A first element is added to the MFC certifying instance registry. The first element includes: a user-generated certificate, the certificate including a file-type certificate type, the hash of the generated file, a timestamp by the certifying system of the time of generation of said certificate, an electronic signature of said certificate, a timestamp by module 1 of the time of addition of the element in the ordered list.
[0041] Subsequently, the user sends a certification system a request for attestation for this file. To do this, the user terminal sends to the certification system a required type of attestation, as well as an identifier of the user terminal from the certification service of this company. The identifier of the user terminal is advantageously a public key of a public, private key pair.
[0042] In the example shown, the certifying system is intended to certify the user terminal's access to the company's Wi-Fi system, which is illustrated by step 3 of the.
[0043] Upon receipt of the request, the certifying system collects data from an information system to generate a file relating to the type of certification required and the user terminal identifier.
[0044] The certifying system then calculates a digest and generates a certificate containing a timestamp by the certifying system of the moment the certificate was created. The certificate is sent, along with its electronic signature, to the user terminal.
[0045] Upon receipt of the certificate and electronic signature by the user terminal, the latter sends its elements, as well as the address of the certifying body to module 1.
[0046] Module 1 is then configured to add the certificate and its electronic signature as a new element to the instance's ordered list of elements.
[0047] The user can then send a new attestation request for this file to another certifying system.
[0048] In the example shown in step 4, the method involves adding a proximity verification certificate (or link) to an employee's phone.
[0049] In the example shown in step 5, the method further includes adding a certificate (or link) of verification of the photo by an employee.
[0050] Illustrates an example sequence of a method implemented in a system according to the invention. The references herein are specifically linked to the.
[0051] A user 1 uses 1 a mobile application configured to communicate with the system according to the invention. Said mobile application creates on the one hand a photograph and on the other hand addresses 3 a request for creation of instance to the module by sending it a digest of the generated file and an electronic signature of the digest, which is illustrated by steps 1 and 2 of the.
[0052] The module creates 4 an MFC certifying instance associated with the user terminal, including a registry.
[0053] The module returns 5 an address of the certifying instance to the mobile application.
[0054] The mobile application receives 6 an aggregate of the photo.
[0055] The mobile application sends 7 a request to add certificates to the module by sending it the address of the certifying body, a digest of the generated file and an electronic signature of the digest
[0056] A first element is added 8 to the register of the MFC certifying instance. The first element includes: an attestation generated by the application, the attestation comprising a file type attestation type, the digest of the generated file, a timestamp by the certifying system of the instant of generation of said attestation, an electronic signature of said attestation, a timestamp by module 1 of the instant of addition of the element in the ordered list,
[0057] As a result, the mobile application requires the addition of GPS location to the module.
[0058] A second element is added 10 to the register of the certifying authority. Subsequently, the user sends 11 to a certifying system a request for attestation for this file. To do this, the user terminal sends to the certifying system, a type of attestation required, as well as an identifier of the user terminal with the certifying service of this company.
[0059] In the example shown, the certification system is intended to certify the user terminal's access to the company's Wi-Fi system.
[0060] Upon receipt of the request, the certifying system collects data from an information system to generate a file relating to the type of certification required and the user terminal identifier.
[0061] The certifying system then calculates a condensate 12 and generates a certificate including a timestamp by the certifying system of the time of creation of the certificate. In the example illustrated, the certificate is sent 13, along with its electronic signature, to module 1.
[0062] Module 1 is then configured to add 14 the attestation and its electronic signature as a new element to the ordered list of elements of the instance. Checking the integrity of a file
[0063] The method according to the invention may include a step of verifying the integrity of a file by a user terminal, the file being received from another user terminal.
[0064] To this end, the user terminal implements the following steps:calculate a digest of the received file,receive from the other user terminal a storage address of a certifying instance,generate a request for receiving a certifying instance from said storage address and send it to the module (1),receive from the module (1) the certifying instance associated with said storage address,browse the ordered list of elements of the received certifying instance to determine the presence or absence of a digest of an attestation which is the same as the calculated digest
[0065] If the presence of the calculated condensate is verified, the step of verifying the integrity of the file may include one or more steps of verifying the other attestations of the ordered list of elements of said certifying body.
[0066] To this end, the user terminal can send, for example iteratively, a verification request to each of the certifying systems, including the attestation.
[0067] Upon receipt of said verification request, the certifying system can verify the integrity of the attestation by recalculating the hash linked to the file used to generate the attestation, and comparing it with the hash contained in the received attestation. If the two hash values are equal, the certifying system sends a positive response to the user terminal, otherwise it sends a negative response.
[0068] The user terminal can thus ensure the integrity of the received file with several certification systems, thus increasing its confidence in the integrity of the received file.
[0069] The module is for example implemented in the form of a processing or calculation unit configured to implement the various functionalities described.
[0070] Also provided is a computer program product that includes instructions which, when executed by a computing unit of a computer, implement the various functionalities of the module.
[0071] In other words, the module can be implemented through a set of means configured in software (specific computer program product) and / or hardware (FPGA, PLD, ASIC, etc.) to control the implementation of the different functions.
[0072] Of course, the invention is not limited to the examples just described and many adjustments can be made to these examples without departing from the scope of the invention. In addition, the various features, forms, variants and embodiments of the invention can be combined with each other in various combinations to the extent that they are not incompatible or mutually exclusive.
Claims
Module (1) for processing certifying instances (100) of digital data generated by certifying systems (300), said module comprising a public key of a user terminal (200), in which each of the certifying instances is associated with a storage address, a user terminal, and an ordered list of elements stored on a non-repudiable register, each of the elements comprising: an attestation generated by one of the certifying systems, the attestation comprising an attestation type, a document digest, a timestamp by the certifying system of the moment of generation of said attestation, an electronic signature of said attestation by the certifying system, a timestamp by the processing module of the moment of addition of the element in the ordered list, optionally a pointer to the document. Data certification system comprising at least one user terminal (200), at least one certification system, and an instance processing module according to the preceding claim. A data certification method implemented in a data certification system according to claim 2, comprising a step of verifying the integrity of a file by a user terminal, said file being received from another user terminal, said step comprising the following steps, implemented at the user terminal level: calculating a hash of the received file, receiving from the other user terminal a storage address of a certificate instance, generating a request to receive a certificate instance from said storage address and sending it to module (1), receiving from module (1) the certificate instance associated with said storage address, scanning the ordered list of elements of the received certificate instance to determine the presence or absence of a hash of an attestation that is the same as the calculated hash.