The present invention concerns cybersecurity, and in particular, concerns authenticating and confirming the integrity of an instance of a digital work product (also referred to as a “digital artifact”).
There are many instances in which it would be useful to be able to verify the origin and data integrity of a digital artifact. It would be useful to provide a system that establishes a “root of trust.” Existing systems have one or more vulnerabilities. Therefore, it would be useful to provide a system for authenticating and confirming the integrity of an instance of a digital artifact, and which has reduced vulnerabilities.
The challenge of authenticating and confirming the integrity of an instance of a digital artifact is solved by providing a method comprising: (a) receiving a digital artifact; (b) creating a digital fingerprint from the digital artifact; (c) generating or receiving authentication information associated with a creator; (d) transmitting, associated information including either (A)(1) the digital artifact, (2) the digital fingerprint, and (3) the authentication information associated with the creator, or (B)(1) the digital artifact, and (2) the digital fingerprint, both processed by the authentication information associated with the creator, as a first information set, to a digital notary; (e) receiving, by the digital notary, the first information set; (f) determining, by the digital notary, that the first information set originated from the creator using authentication; (g) responsive to a determination that the first information set originated from the creator, determining, by the digital notary, whether or not the digital artifact has integrity using the digital fingerprint; (h) responsive to determining that the digital artifact has integrity, digitally signing, by the digital notary, the digital fingerprint, to generate a bonded fingerprint including a digital signature uniquely associated with the digital notary, wherein the bonded fingerprint includes a time stamp and/or a date stamp; and (i) storing the bonded fingerprint on an immutable decentralized ledger registry.
In some example methods consistent with the present description, the act of creating a digital fingerprint includes hashing the digital artifact.
In some example methods consistent with the present description, the digital artifact includes digital content and at least one of (A) a watermark and (B) meta data.
In some example methods consistent with the present description, the authentication information associated with the creator is a private key, and wherein the private key has an associated public key. In at least some such example methods, the act of determining, by the digital notary, that the first information set originated from the creator using authentication uses the public key and the private key.
In some example methods consistent with the present description, the bonded fingerprint is generated by encrypting the fingerprint with a private key of the digital notary.
In some example methods consistent with the present description, the immutable decentralized ledger registry is a blockchain.
In some example methods consistent with the present description, the bonded fingerprint is stored to the immutable decentralized ledger by the digital notary.
In some example methods consistent with the present description, the act of storing the bonded fingerprint on an immutable decentralized ledger registry includes (1) transmitting the bonded fingerprint from the digital notary to a user device of the creator, and (2) storing the bonded fingerprint from the user device of the creator to the immutable decentralized ledger.
Some example methods consistent with the present description further include: determining, by an auditing service provider, whether or not a copy of the digital artifact has data integrity, by retrieving the bonded fingerprint from the immutable decentralized ledger; authenticating that the digital signature of the bonded fingerprint is uniquely associated with the digital notary; creating a digital fingerprint copy from the copy of the digital artifact; and comparing the digital fingerprint copy created with the bonded fingerprint.
Systems and/or devices for performing some or all of the foregoing parts of the example method are also provided.
Example embodiments consistent with the present description may involve novel methods, apparatus, message formats, and/or data structures for authenticating and checking the integrity of a digital work product (also referred to as a “digital artifact”). The following description is presented to enable one skilled in the art to make and use the invention, and is provided in the context of particular applications and their requirements. Thus, the following description of embodiments consistent with the present description provides illustration and description, but is not intended to be exhaustive or to limit the present invention to the precise form disclosed. Various modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles set forth below may be applied to other embodiments and applications. For example, although a series of acts may be described with reference to a flow diagram, the order of acts may differ in other implementations when the performance of one act is not dependent on the completion of another act. Further, non-dependent acts may be performed in parallel. No element, act or instruction used in the description should be construed as critical or essential to the present invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Thus, the present invention is not intended to be limited to the embodiments shown and the inventors regard their invention as any patentable subject matter described.
An example process described includes three main parties or components. A “creator” is responsible for creating the digital artifact (including any required meta data appropriate for future (potentially legal) use). A “digital notary” acts as a trusted witness and digital signatory to the digital artifact, and as a validator for the creator's identity and authenticity. The digital notary may sign and timestamp the digital artifact (or a fingerprint thereof) to generate a “bonded file. Finally, a “registry” (e.g., lock-chain ledger) stores the unique timestamped digital fingerprint of the bonded file as an irrefutable record of events.
“Authentication” is the process of verifying the identity or other attributes of an entity (e.g., a user, a process, or a device). It may also refer to the process of verifying the source and integrity of data.
“Authenticity” is a property achieved through cryptographic methods of being genuine and being able to be verified and trusted, resulting in confidence in the validity of a transmission, information or a message, or sender of information or a message.
“Data integrity” is the property that data is complete, intact, and trusted and has not been modified or destroyed in an unauthorized or accidental manner. For example, “digital integrity” is the condition that a digital artifact has not been altered in any way since it was “digitally witnessed.”
“Hashing” is a process of applying a mathematical algorithm against a set of data to produce a numeric value (that is, a “hash value”) that represents the data. “Hashing” may mean mapping a bit string of arbitrary length to a fixed length bit string to produce the hash value. Typically, the original bit string cannot be derived (solely) from the hash value.
“Integrity” is the property whereby information, an information system, or a component of a system has not been modified or destroyed in an unauthorized manner. “Integrity” may also mean a state in which information has remained unaltered from the point it was produced by a source, during transmission, storage, and eventual receipt by a destination.
A “key” is the numerical value used to control cryptographic operations, such as decryption, encryption, signature generation, or signature verification. A “private key” is a cryptographic key that must be kept confidential and is used to enable the operation of an asymmetric (public key) cryptographic algorithm. That is, a private key is a secret part of an asymmetric key pair that is uniquely associated with an entity. A “public key” is a cryptographic key that may be widely published and is used to enable the operation of an asymmetric (public key) cryptographic algorithm. That is, a public key is the public part of an asymmetric key pair that is uniquely associated with an entity and that may be made public.
A “key pair” is a public key and its corresponding private key. For example, a “key pair” may be two mathematically related keys having the property that one key can be used to encrypt a message that can only be decrypted using the other key.
“Non-repudiation” is a property achieved through cryptographic methods to protect against an individual or entity falsely denying having performed a particular action related to data. “Non-repudiation” may provide the capability to determine whether a given individual took a particular action such as creating information, sending a message, approving information, and receiving a message.
“Digital Witnessing” is a process whereby the condition (state) of a digital artifact is baselined and made verifiable as unmodified or unmodified (i.e., no longer in the baselined condition).
A “creator” is responsible for creating the digital artifact (including any required meta data appropriate for future (potentially legal) use). A “creator” may also be referred to as a “recorder”, representing a person interested in capturing the state of a digital artifact. Generally, the creator will be an entity interested in capturing the point-in-time state of a digital artifact (e.g., crime scene investigation photographer, news photographer, mobile journalist, etc.). Generally, the creator will depend on the use case.
A “digital notary” acts as a trusted witness and digital signatory to the digital artifact, and as a validator for the creator's identity and authenticity. The digital notary may sign and timestamp the digital artifact (or a fingerprint thereof) to generate a “bonded file.” Therefore, a digital notary may be thought of as a validation and authentication service provider, and will generally be a trusted third party.
A “registry” (e.g., lock-chain ledger) stores the unique timestamped digital fingerprint of the bonded file (which may, but need not, include the original digital artifact) as an irrefutable record of events.
A “registrar” is a third-party component of digital witnessing that ensures chain-of-trust/digital chain-of-custody when a digital artifact is compared against bonded file data
A “Digital Artifact” is any combination of digital data provided in one or more digital files. Examples of digital artifacts include, but are not limited to, documents which could represent text files, image files, drawing files, audio, video, static graphic, music (sound), contracts, books/media, etc. Therefore, a “digital artifact” can be understood to be a digital work product. It is not intended to mean a defect in capturing and/or processing digital data. A “digital artifact” may include meta data, but this is not necessary. Therefore, for example, meta data may be added to an initial digital artifact to generate a new digital artifact.
Digital Fingerprinting—using a combination of one or more encryption technologies to create a claim upon a digital artifact (e.g., ownership, as creator, as witness, etc.)
A “Bonded File” is a file that has a creator's digital fingerprint, and has been witnessed by a digital notary
A “Candidate File” is a digital artifact (which may, though need not, include meta-data) that has been digitally fingerprinted by the creator/recorder
“Meta-Data” are one or more parameters and/or conditions data added to the digital artifact (thereby creating a new or tagged digital artifact) to be used later to enhance the claims against the digital artifact.
A “Digital Chain of Custody” or “Digital Chain of Trust” provides cryptographic proof, or a high level of cryptographic certainty, that a digital artifact is identical to the state it was in when first digitally witnessed.
“DigiWitness™” or “DigiWitnessing™” is an action (implicit due to installed app or explicit by user) taken to insert digital artifact in the described chain of custody.
DigiWitnessed™— A digital artifact that was added to the described chain of custody.
Referring first to example method 250 of
Referring now to example method 200 of
(Block 210) Responsive to a determination that the first information set originated from the creator (Decision 215=YES), the example method 200 determines whether or not the digital artifact has integrity using the digital fingerprint. (Block 220) Responsive to determining that the digital artifact has integrity (Decision 225=YES), the example method 200 digitally signs the digital fingerprint, to generate a bonded fingerprint including a digital signature uniquely associated with the digital notary. (Block 230) Referring to
Referring back to event 255 of
Referring back to block 265 of
Referring back to 320 of
Referring back to block 230 of
Referring back to block 290 of
Referring back to decision 420, if, on the other hand, the example method 400 does not authenticate that the digital signature of the bonded fingerprint is uniquely associated with the digital notary (Decision 420=NO), it may provide a reply (e.g., to the party requesting validation and authentication) that the copy of the digital fingerprint is not authenticated (Block 425) before the example method 400 is left (Return node 455). Referring back to decision 440, if, on the other hand, the digital fingerprint copy created does not match the bonded fingerprint (Decision 440=NO), then the example method 400 may reply (e.g., to a requestor) that data integrity of the digital artifact is not assured (Block 445), before the method is left (Return node 455).
Although not shown, the authentication and data integrity validation steps may be combined. For example, this might be done if the digital fingerprint was generated using the notary's digital signature.
Referring to
The notary device or system validates the received artifact by verifying the creator's identity using the creator's CA Cert which is part of the payload 510 received by the notary device/system. In this example, the notary service has its own multifactor authentication for the creator to log in and validate identity. The third-party trusted notary appends data necessary to assure the signing event (e.g., timestamping, transaction number, etc.) and digitally signs the combined data.
The notary device/system returns the resulting “bonded artifact” or “bonded fingerprint” 520 (See also
The “bonded artifact” or “bonded fingerprint” 520 is then inserted into a consensus based public or private blockchain “registry” device or system as a “record of event.” It may be timestamped as of the insertion time. (See, e.g., 530 in
When the data integrity and authentication (also referred to as “validity”) of the file is in question, an auditing party can leverage the “bonded artifact” or “bonded fingerprint” retrieved from the block-chain ledger to both (1) validate the notary signature, and (2) recalculate the hash of the candidate file for comparison with the bonded fingerprint. These checks can be used to gives confidence (based, at least in part, on the mathematical probabilities implied by the hashing) that should the validation process succeed, the artifact in question may be deemed identical in all respects to the digital artifact (digital fingerprint) stored in the block-chain ledger.
Advantageously, if the notary's public key infrastructure (PKI) become compromised, the blockchain registry acts as the mediator to ensure the state of the bonded file information and notary at the time of registration.
Referring to
Referring next to
Referring next to
Referring next to
Referring now to
Referring next to
Referring now to
In
Referring to
Finally, referring to
Fourteen steps explaining the operations of this system are described in §§ 4.3.1-4.3.14 below.
The creator captures a digital artifact using any available native application on the mobile device. The digital artifact may be an audio, video, image, or any other text or encoded/formatted file in any standard or proprietary digital format. Such a digital artifact is henceforth referred to as the plaintext document or plaintext digital artifact. Such a digital artifact may be captured as evidence for any event desired by the creator. The time elapsed between the actual event occurrence and the notarized digital artifact being stored in the block-chain ledger may be of prime importance during legal proceedings to reasonably rule out tampering and/or deep faking. Typically, this evidence is augmented with context specific metadata. Let's represent this augmented plaintext as m. (Recall, e.g., 250 of
The digital artifact may also represent an idea, original article, or a contract between multiple parties that needs to be timestamped, digitally witnessed, saved immutably and indefinitely (e.g., in perpetuity) for future retrieval.
Next, the digital artifact should be saved securely to the cloud to prevent a single local copy of the evidence from being destroyed, either accidentally or maliciously. For this purpose, the artifact may be encrypted using a private (symmetric) key generated at this time and saved to an external cloud-based third-party key vault.
Two keys k1 and k2 are generated for the dual purposes of encryption and generating a MAC. Encryption ensures confidentiality and MAC ensures integrity under certain assumptions. Let c represent the ciphertext or encrypted message and t represent the tag (MAC). Let r1 and r2 be two pseudo-random numbers generated by the system to generate two symmetric keys. r1 and r2 associated with k1 and k2 will be stored in a separate key vault so as not to easily associated with k1 and k2 to reduce the risk of attacks.
k
1=KeyGen(k,r1)
k
2=KeyGen(k,r2)
c=Enc(m,k1)
t=TagGen(c,k2)
Plaintext m is hashed using SHA512 to generate a reproducible fingerprint h of the original document. (Recall, e.g., 265 of
h=SHA512(m)
Such a reproducible fingerprint will be used extensively in the DigiWit process for integrity checks, notarization, block-chain ledger insertion and future evidence veracity checks.
Creator's Private Key, SKrec (from the private/public pair) is fetched from the key vault. This step assumes that the corresponding public key is registered with one of the trusted certificate authorities (“CAs”) and a CA Cert has been issued to the creator. (Recall, e.g., 265 and 270 of
c′=Enc(h,SKrec)
The record to be uploaded to the Notary via the network as a service (NaaS) API call is assembled by concatenating the plaintext document m, digitally signed fingerprint c′, and creator's CA Cert CArec. This combined payload is encrypted using the Notary's public key PKnotary before it is uploaded to the Notary. (Recall, e.g.,
C-Payloadnotary=Enc(m|c′|CArec,PKnotary)
Upload notary payload created in § 4.3.5 to the intended Notary via a published NaaS API call for notarization. Fully automated digital notary services (NaaS) described here may be a novel functionality and such a service (NaaS) may need to be created. If that's the case, our process claim gains further credibility.
NaaSupload(UserIDrec,Credrec,C-Payloadnotary,SHA512)
Notary's server verifies the creator's (client's) identity and access permissions using the received credentials. (Recall, e.g., 210 and 215 of
Notary decrypts the received payload using its uncompromised private key SKnotary. Individual components of the payload are saved for validation.
M-Payloadnotary=Dec(C-Payloadnotary,PKnotary) i)
Notary regenerates the (hash) fingerprint for the plaintext artifact m using the hashing algorithm provided via the Naas API call. Notary validates the creator's CA Cert and extracts the creator's public key to decode the transmitted fingerprint. Notarization process continues if the regenerated fingerprint matches the received fingerprint. (Recall, e.g., 220 and 225 of
Notary encrypts the validated artifact fingerprint with Notary's private key SKnotary and timestamps the transaction. The combined payload is then encrypted using the creator's public key PKrec. (Recall, e.g., 230 of
h
notary=Enc(h,SKnotary)
C-Payloadrec=Enc(hnotary|timestamp,PKrec)
Digital Witness application receives the notarized payload from the Notary via the call back API call. This payload is decrypted using the creator's private key SKrec.
For added security, DW application decrypts the notarized record using PKnotary and compares the signed fingerprint with its own copy of the artifact fingerprint. Ledger insertion is attempted upon validation of the notarized record. (Not shown in
Insert the received and validated payload from the Notary to the public or private block-chain consensus-based ledger for perpetuity. (Recall, e.g.,
If there is a need to verify the artifact claimed to be an original account of a past event, the latest signed contract or an earlier idea in a dispute, the notarized record may be retrieved from the block-chain ledger with the insertion timestamp. The disputed artifacts may be fingerprinted and compared to the immutable fingerprint saved to the block-chain to determine if the file in question is the same as the file originally witnessed. This function may be executed by an independent auditor before passing judgement. (Recall, e.g., 430, 435, and 440 of
In some embodiments consistent with the present description, the processors 910 may be one or more microprocessors and/or ASICs. The bus 940 may include a system bus. The storage devices 920 may include system memory, such as read only memory (ROM) and/or random-access memory (RAM). The storage devices 920 may also include a hard disk drive for reading from and writing to a hard disk, a magnetic disk drive for reading from or writing to a (e.g., removable) magnetic disk, an optical disk drive for reading from or writing to a removable (magneto-) optical disk such as a compact disk or other (magneto-) optical media, or solid-state non-volatile storage.
Some example embodiments consistent with the present description may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may be non-transitory and may include, but is not limited to, flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards or any other type of machine-readable media suitable for storing electronic instructions. For example, example embodiments consistent with the present description may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of a communication link (e.g., a modem or network connection) and stored on a non-transitory storage medium. The machine-readable medium may also be referred to as a processor-readable medium.
Example embodiments consistent with the present description (or components or modules thereof) might be implemented in hardware, such as one or more field programmable gate arrays (“FPGA”s), one or more integrated circuits such as ASICs, one or more network processors, etc. Alternatively, or in addition, embodiments consistent with the present description (or components or modules thereof) might be implemented as stored program instructions executed by a processor. Such hardware and/or software might be provided a server for example.
The attacks listed below are focused on the cryptographic techniques involved. This is not a fully exhaustive list, but highlights attacks on the integrity of the parties involved. These may be seen as attacks on the “root of trust” formed by the tri-party system of the creator, notary and registry.
Mitigation—non-issue as the artifact has to be produced and finalized before being notarized. If there is concern for modification beyond initial creation (e.g., in the event of a digital photo being captured), immediate or ‘as soon as possible’ delivery to notary ensures with reasonable confidence that an adversary would not have had the time to modify the original captured media. This might be important in a court of law to ensure the ‘Digital Chain of Custody’ this process represents was completed in the smallest possible reasonable period immediately after the artifact was captured.
Mitigation—While it is relatively straight-forward to calculate the fingerprint of the forged document, it would be nearly impossible to forge a digitally signed version using the creator's private key as long as the key is not compromised. Even if the private keys of the creator and notary are compromised, altering the immutable original record in the block-chain ledger would be close to impossible based on block-chain architecture.
Mitigation—Data confidentiality, if necessary, is provided as a separate optional service. It is incumbent on the creator to ensure artifact has a ‘physical’ chain of custody typically implemented via encryption techniques using the creator's private uncompromised key. The block-chain ledger artifact may not be modified even if it is accessed by the adversary.
Mitigation: This is the process of notarizing/copyrighting a new artifact and therefore not a concern. It is incumbent on the notary to multi-factor authenticate & authorize (Notary's IAM) the input from submitter as valid for the particular creator. This avoids an imposter from masquerading as a different authentic creator and subscriber of the notary service. The timestamping applied by the notary and at the registry steps will assure a temporal sequencing of multiple versions when reconciling the original artifact from the modified artifact. It is natural and not necessarily an adversarial attack to alter (improve, enhance, etc.) artifacts at a later date. It makes sense that the newer version would desire the same ‘bonded file’ conditions.
Mitigation: the mathematical difficulty of deriving the private key of the notary based on the digital signature is proven sufficiently unlikely to act as proof that only the Notary can use their asymmetric key pair to sign candidate file information
Mitigation: it is expected that a competent Notary will be able to outsource, or in some reasonable manner, adequately secure and maintain a functioning PKI infrastructure
Mitigation: Although it presents no significant benefit other than to update the strength of the cryptographic processes involved, there is no reason that an artifact could be signed multiple times. The original timestamping and ultimate registration will ensure that the order of events is maintained in perpetuity. Should the original process need to be reproduced to result in stronger cryptographic methods, the creator would be responsible for using the original bonded file as the ‘artifact’, append the appropriate meta data pursuant to ‘updating solely the cryptographic markers’, ask the Notary to sign as before, and register the event with the blockchain registry. The ‘re-encapsulated’ content would become the record that ensures the integrity of the content.
Mitigation: Registry will be checking the validity of a Notary's as a trusted business, but most importantly the Notary's Certificate Revocation List (CRL) to ensure that a bonded file was created, fingerprinted, and notarized using a certificate valid at the time of the registration event. Should a breach be discovered, the Notary will be held responsible to notify the affected creators and work with the creator to re-establish the notarization under a ‘breach event’. The registry will record and keep the ‘order of events’ and re-establish (maintain) the assurance of file integrity.
Mitigation: the registry, as a consortium of parties, is based on a blockchain style ledger, where independent partners are maintaining ‘copies’ of the cryptographically chained record of events. An adversary would have to have control of all the ledger custodian's infrastructure in order to make coordinated updates. This action gets even more difficult when registrars are busy (registering many bonded files)
All attacks, such as those set forth in is this section could be qualified as attacks on the root of trust of the process. Adversary attaches on each member of the process (creator, notary, registry) are now discussed. “Mitigation” is a process designed to recover the responsibility of any of the three parties involved.
Creator: once registration is complete, it will be difficult for the creator to repudiate the file as their creation. The Notary and Registry will be enduring proof that the artifact was presented and recorded. This is the reason for the root of trust, but this may work against an adversary should they be trying to defame a creator or ‘deep fake’ the events the artifact intends to document.
Notary: if a Notary dissolves its business, or is compromised, it is the registry that supports the ‘re-establishment’ of the root of trust. The registry, as a third-party, has recorded (and even potentially stored original bonded file) the events and public keys used at the time of registration. The process is structured to allow the bonded file to be re-notarized as describe in the Notary attacks section
Registry: the multi-party nature of the blockchain ledger supports the integrity of the process that all parties must be subverted at the same time in order to corrupt the ledger. Should an act of collusion happen, the creator and Notary should maintain ‘receipts’ of the registration as method to dispute ledger discrepancies.
Example use cases are provided in the following table. The invention is not intended to be limited to the use cases provided.
Referring next to
As the above sequence indicates, a user can quickly and intuitively register a digital work for purposes of later validation. Since the notary and registrar data are from trustful sources, it can be ensured that the image has integrity.
Our invention is not limited to the specifics of the examples provided. For example, a Digital Artifact can be uploaded from a mobile device or any other device that can connect to Internet. As another example, although SHA512 encryption was described, other types of encryption can be used instead.
This application claims the benefit of U.S. Provisional Application No. 63/302,889 (referred to as “the '889 provisional” and incorporated herein by reference), titled “DIGITAL WITNESS SYSTEMS AND METHODS FOR AUTHENTICATING AND CONFIRMING THE INTEGRITY OF A DIGITAL ARTIFACT,” filed on Jan. 25, 2022, and Abhijit CHITNIS, William DOCKERY, and Nfn JIGYASA as the inventors. The scope of the invention is not limited to any requirements of the specific embodiments in the '889 provisional.
Number | Date | Country | |
---|---|---|---|
63302889 | Jan 2022 | US |