Computer implemented method for automatically certifying documents with integrity and authenticity guarantees and computer programs thereof

11121879 · 2021-09-14

Assignee

Inventors

Cpc classification

International classification

Abstract

A computer implemented method for automatically certifying documents with integrity and authenticity guarantees and computer programs thereof. The method comprising: receiving, by a second computer (20), a document (D.sub.o) to be certified, identifying it with metadata and computing a first cryptographic function (h.sub.o); sending, by the second computer (20), the first cryptographic function (h.sub.o) to a third computer (30) hold within a distributed ledger; receiving, by the second computer (20), a message digest (h.sub.ro) corresponding to an identifier of having stored the first cryptographic function (h.sub.o) in the third computer (30); computing, by the second computer (20), a key (K), said computed key (K) being decoded into a watermark, which is applied to the document (D.sub.o) providing a modified document (D.sub.w); sending, by the second computer (20), the modified document (D.sub.w) to the first computer system (10); computing, by the second computer (20), a second cryptographic function (h.sub.w), and sending it and the modified document (D.sub.w) to the third computer (30); the second computer (20) receiving a message digest (h.sub.rw) corresponding to an identifier of having stored the (h.sub.w) and (D.sub.w).

Claims

1. A computer implemented method comprising: receiving, by a second computer system, from a first computer system, a document to be certified, the document being identified in the second computer system with metadata that at least includes an identifier of the first computer system and a timestamp; computing, by the second computer system, a first cryptographic function of the received document; transmitting, by the second computer system, the computed first cryptographic function to a third computer system to hold within a distributed ledger; storing, by the third computer system, the first cryptographic function in at least one memory of the third computer system; receiving, by the second computer system, a first message digest corresponding to an identifier of having stored the first cryptographic function in the third computer system; computing, by the second computer system, a key using the received first message digest and the metadata of the document, the computed key being decoded into a watermark which is applied to the document to provide a modified document; transmitting, by the second computer system, the modified document to the first computer system; computing, by the second computer system, a second cryptographic function of the modified document, and transmitting, by the second computer system, the computed second cryptographic function and the modified document to the third computer system; storing, by the third computer system, the second cryptographic function and the modified document; receiving, by the second computer system, a second message digest corresponding to an identifier of having stored the second cryptographic function in the third computer system, and storing the second message digest locally in the second computer system; and transmitting, by the first computer system, the modified document to a user upon the user having been validly authenticated, wherein the method further comprises, performing, by the second computer system: receiving digital document from the user, and performing: (i) extracting the watermark from the received digital document, (ii) decoding, from the watermark, the key, (iii) recovering the second cryptographic function from the third computer system by providing, to the third computer system, the second message digest, (iv) extracting the metadata of the digital document from the key, (v) computing a third cryptographic function of the digital document, (vi) comparing the third cryptographic function with the second cryptographic function that was recovered from the third computer system, (vii) informing the user of a result of the comparing, and (viii) transmitting the metadata to the user; and after the user has been validly authenticated, receiving a digitized or digitalized document from the user, and performing: (i) extracting the watermark from the received digitized or digitalized document, (ii) decoding, from the watermark, the key, (iii) extracting the metadata of the digitized or digitalized document, including the identifier of the first computer system and the timestamp from the key, and the first message digest from the key, (iv) using the first message digest to recover the first cryptographic function from the third computer system to check existence and registration of the digitized or digitalized document, and (v) transmitting a response about the existence and registration of the digitized or digitalized document in the third computer system and the extracted metadata to the user, the digitized document being a document previously printed and converted into a digital form, and the digitalized document being a digital document previously converted into a different digital format.

2. The method of claim 1, further comprising: replicating the watermark in different points of the modified document.

3. The method of claim 2, wherein the watermark is configured to be indistinguishable to a human eye.

4. The method of claim 1, wherein the document to be certified, received by the second computer system from the first computer system, is the digital document.

5. The method of claim 1, wherein the recovering of the second cryptographic function and the extraction of the metadata are performed at a same time.

6. The method of claim 1, wherein the extraction of the metadata and the extraction of the first message digest are performed at a same time.

7. A non-transitory computer readable storage medium comprising code instructions that, when executed in at least one processor of a computer system, cause the at least one processor to implement the method of claim 1.

8. A computer implemented method comprising: receiving, by a second computer system from a first computer system, an original document to be certified, and performing the followings: calculating, by the second computer system, a cryptographic function of the received original document; transmitting, by the second computer system, the calculated cryptographic function of the original document to a third computer system; storing, by the third computer system, the cryptographic function in at least one memory of a distributed ledger such that the calculated cryptographic function of the original document is unalterable in the distributed ledger; receiving, by the second computer system from the third computer system, a first message digest corresponding to a first identifier identifying the cryptographic function of the original document stored in the distributed ledger, and performing: (i) creating, by the second computer system, a key by combining the received first message digest, an identifier of the first computer system, and a timestamp, wherein metadata of the original document includes the identifier of the first computer system and the timestamp, (ii) creating, by the second computer system, a watermark by using the key, (iii) creating, by the second computer system, a modified document by applying the created watermark to the original document, (iv) transmitting, by the second computer system, the modified document to the first computer system, (v) calculating, by the second computer system, a cryptographic function of the modified document, (vi) transmitting, by the second computer system, the calculated cryptographic function of the modified document and the modified document to the third computer system, and (vii) holding, by the third computer system, the cryptographic function of the modified document and the modified document within the distributed ledger by storing the cryptographic function of the modified document and the modified document in the distributed ledger such that the cryptographic function of the modified document and the modified document are unalterable in the distributed ledger; and receiving, by the second computer system from the third computer system, a second message digest corresponding to a second identifier identifying the cryptographic function of the modified document and the modified document stored in the distributed ledger, and storing the second message digest locally in the second computer system; receiving, by the second computer system, a new document that is a digital document to be authenticated from a user terminal, and performing: (i) extracting a first watermark from the received digital document, (ii) decoding, from the first extracted watermark, a key, (iii) transmitting, to the third computer system, the locally stored second message digest corresponding to the decoded key and receiving the cryptographic function of the modified document, from the third computer system, (iv) calculating a cryptographic function of the digital document, (v) comparing the cryptographic function of the digital document with the cryptographic function that has been received from the third computer system, and (vi) transmitting, to the user terminal, information of a result of the comparing; and receiving, by the second computer system, a new document that is a digitized or a digitalized document to be authenticated from the user terminal, and performing: (i) extracting a second watermark from the received digitized or digitalized document, (ii) decoding, from metadata of the second extracted watermark, a key, (iii) extracting metadata of the received digitalized or digitalized document to be authenticated, and the first message digest from the key, (iv) transmitting, to the third computer system, the first message digest corresponding to the decoded key to recover the cryptographic function of the original document from the third computer system to check existence and registration of the received digitized or digitalized document, (v) receiving a digitized or digitalized document stored in the distributed ledger in response to transmitting the first message digest, and performing the following: extracting a third watermark from the digitized or digitalized document from the distributed ledger, decoding, from the third extracted watermark, the key, using the second message digest to recover the modified document from the third computer system, extracting, by the second computer system, the metadata including the identifier of the first computer system and the timestamp from the key, and transmitting, by the second computer system to the user terminal, the extracted metadata and the recovered modified document; wherein the digitized document is a document previously printed and converted into a digital form, and the digitalized document is a digital document previously converted into a different digital form.

9. The method of claim 8, wherein the distributed ledger is a blockchain structure.

10. The method of claim 8, wherein the cryptographic functions are each different hash functions.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The previous and other advantages and features will be more fully understood from the following detailed description of embodiments, with reference to the attached drawings, which must be considered in an illustrative and non-limiting manner, in which:

(2) FIG. 1 is a sequence diagram of document registration by an issuer or first computer system.

(3) FIG. 2 is a sequence diagram of integrity and authenticity check by a user for a digital document.

(4) FIG. 3 is a sequence diagram of the authenticity check by a user for a digitalized document.

(5) FIG. 4 is a sequence diagram of integrity and authenticity check by a user for a digitalized document.

DETAILED DESCRIPTION OF THE INVENTION

(6) Present invention allows to guarantee the integrity and authenticity of a document in an automatic and real time fashion, while also guaranteeing the proof of existence in time of the checked document, the non-repudiation from the document issuer, the confidentiality of the document, a universal access to the solution, in space and time, the solution neutrality with respect to the issuer and user, and the robustness of the solution to document damages.

(7) When a document is emitted by an authorized issuer (or first computer system as termed in the claims) 10, i.e., an entity (private or public) authorized to issue documents and store them using the proposed method, (FIG. 1), before it is delivered to the final user 1; the issuer 10 registers the document in the target system. As a first step for the document registration, the issuer 10 sends the digital document to the target system (or second computer system as termed in the claims 20. Only authorized issuers can send documents to the target system 20. Their authorization is guaranteed by a proper authentication system. The limitation of the issuer 10 prevents the emission of false documents on behalf of other issuers, while the everlasting and unalterable nature of a distributed ledger system such as a DLT 30 guarantees the proof of existence of the document and the non-repudiation of the same on the issuer 10 side.

(8) Once an original document D.sub.0 is received by the target system 20, a first cryptographic function such as a hash function of the document h.sub.0 is computed and stored in the DLT 30. Each time the first cryptographic function is stored in a DLT 30, a first digest is returned (record hash—h.sub.R0). The returned first digest is combined with the identifier of the issuer 10, the timestamp and eventual other metadata to create a key K, which is decoded into a watermark to be applied to the original document, as well as for future checks on the document authenticity. The document obtained after the application of the watermark D.sub.W (i.e., the modified document) is returned to the issuer 10 to be delivered to the final user 1. Furthermore, a second cryptographic function, such as a hash function of the modified document D.sub.W is computed and stored in the DLT 30 for future integrity check; together with the modified document D.sub.W itself.

(9) According to the proposed method, the watermark applied to the document consists of a special watermark representing a code (key K) and replicated in different points of the document itself, allowing hence checking for the authenticity of the document or even for the authenticity of a portion of the document, if it has been damaged. The watermark, furthermore, cannot be appreciated by a human inspection, guaranteeing hence security against external observers, as well as robustness to human errors.

(10) Any final user 1 may, according to a first embodiment, verify anytime the authenticity and integrity of a digital document in their possession—given that the original document has been registered using the described solution—by sending it to the described target system 20 (FIG. 2). When a digital document D.sub.X is received by the target system 20, the latter extracts the watermark from the received document D.sub.X and decodes from it the key K. Then the digest of the second cryptographic function is used to retrieve from the DLT 30 the second cryptographic function h.sub.W of the document deposited by the issuer 10. Preferably, at the same time, the document metadata is extracted from the key K. A third cryptographic function such as a hash function of the received document h.sub.X is computed by the target system 20 and contrasted against the stored second cryptographic function h.sub.W. If the contrast is positive (i.e. if they are equal), a positive answer of authenticity and integrity of the document is returned to the final user 1, otherwise a negative answer is returned. Furthermore, metadata about the document and the issuer 10 is returned to the final user 1.

(11) In a similar way, any final user may, according to a second embodiment, verify anytime the authenticity of a paper or digitalized document (photo, scan, format conversion)—given that the original document has been registered using the described target system 20—by sending the digitalized document to the latter (FIG. 3). When a digitalized document D.sub.y is received by the target system 20, the latter extracts the watermark from it and decodes from it the key K. Then the document metadata is extracted from the key, including the issuer identifier, the registration timestamp and eventual other metadata included at the moment of the registration of the original document D.sub.0. Preferably, at the same time, the first digest h.sub.R0 is extracted from the key K. Besides, the firs digest h.sub.R0 is used to recover the first cryptographic function h.sub.o from the third computer system 30 in order to check the document existence and registration. The obtained metadata is then returned to the final user 1 for authenticity check of the issuer 10 identity, issuing timestamp and eventual other included check items. This second check on the user side avoids the possibility of reusing a valid original digest h.sub.R0 on fake documents.

(12) Any final user may also, according to a third embodiment, obtain the modified document and verify anytime the authenticity and integrity of a paper or digitalized document (photo, scan, format conversion) (FIG. 4)—given that the original document has been registered using the described solution—by authenticating to the target system 20. The user 1 authentication may be based on a personal identification string (password), a security token, a mobile phone holding (including eventual restrictions to the user authentication on the basis of the mobile phone geographical location), or on a combination of more than one of the listed authentication factors. Once the authentication has been confirmed by the target service 20, the final user 1 sends the digitalized document D.sub.y to the target system 20. Then the target system 20 extracts the watermark key K from it and translates it into the key K. Then the second message digest h.sub.rw is used to retrieve from the DLT 30 the registered modified document D.sub.W, furthermore, the available metadata is extracted from the key K including the issuer identifier, the registration timestamp and eventual other metadata included at the moment of the registration of the original document D.sub.0. Finally, the obtained metadata is returned to the final user 1 for authenticity check, and the watermarked document D.sub.W is returned to the final user 1 for integrity check of the digitalized document.

(13) The described service is implemented in an organization independent of both the issuer 10 and the final user 1, guaranteeing neutrality in their respect and constituting a trusted third party, accessible by any issuer (being it private or public) and by any user.

(14) While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. For example, other aspects may be implemented in hardware or software or in a combination of hardware and software.

(15) Additionally, the software programs included as part of the invention may be embodied in a computer program product that includes a computer useable medium. For example, such a computer usable medium can include a readable memory device, such as a hard drive device, a flash memory device, a CD-ROM, a DVD/ROM, or a computer diskette, having computer readable program code segments stored thereon. The computer readable medium can also include a communications link, either optical, wired, or wireless, having program code segments carried thereon as digital or analog signals.

(16) The scope of the present invention is determined by the claims that follow.