IP Library › Granted Patent US 8,694,473
Granted Patent B2
US 8,694,473 · App. 13/561,062 · Granted Apr 8, 2014

Date-provable registration system for published documents

Inventor: Kelce S Wilson (Murphy, TX)
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,694,473
App. No.
13/561,062
Granted
Apr 8, 2014
Kind
B2
Abstract

A system and method are disclosed for rendering published documents tamper evident. Embodiments render classes of documents tamper evident with cryptographic level security or detect tampering, where such security was previously unavailable, for example, documents printed using common printers without special paper or ink. Embodiments enable proving the date of document content without the need for expensive third party archival, including documents held, since their creation, entirely in secrecy or in untrustworthy environments, such as on easily-altered, publicly-accessible internet sites. Embodiments can extend, by many years, the useful life of currently-trusted integrity verification algorithms, such as hash functions, even when applied to binary executable files. Embodiments can efficiently identify whether multiple document versions are substantially similar, even if they are not identical, thus potentially reducing storage space requirements.

Claims (70)

1. A computer-implemented document integrity verification method comprising:

receiving a digital document in a word processing format into a non-transitory computer readable medium;

generating a baseline data sequence from the digital document, the baseline data sequence having a first printable element and a second printable element following the first printable element of the baseline data sequence;

generating a modified data sequence from the baseline data sequence in accordance with a set of modification rules, the modified data sequence having a first printable element and a second printable element following the first printable element of the modified data sequence,

wherein the first printable element of the modified data sequence is identical to the first printable element of the baseline data sequence,

wherein the second printable element of the modified data sequence is identical to the second element of the baseline data sequence,

wherein at least one unprintable element of the baseline data sequence, between the first and final printable elements of the baseline data sequence, is not in the modified data sequence, so that the modified data sequence is shorter than the baseline data sequence,

and wherein an integrity verification code (IVC) generated for the modified data sequence will differ from an IVC generated for the baseline data sequence;

generating a first original IVC, wherein generating a first original IVC comprises performing a one-way operation on the modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence; and

transmitting the first original IVC across a public computer network to a remote database node.

2. The method of claim 1 further comprising:

generating a second original IVC, wherein generating a second original IVC comprises performing a one-way operation on the modified data sequence, wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence, and wherein generating a second original IVC uses a different algorithm than generating a first original IVC; and

transmitting the second original IVC with the first original IVC across the public computer network to the remote database node.

3. The method of claim 1 further comprising:

publishing the digital document with at least a portion of the first original IVC rendered on a face of the published document.

4. The method of claim 3 wherein publishing the digital document comprises printing the document onto paper.

5. The method of claim 1 further comprising:

determining whether a trigger condition has been satisfied; and

in response to determining that the trigger condition has been satisfied, beginning the generation of the baseline data sequence.

6. The method of claim 5 wherein the trigger condition comprises the document being received by a recipient node, the recipient node selected from the list consisting of a printer and an email inbox.

7. The method of claim 1 further comprising:

transmitting a user identification to the remote database node.

8. The method of claim 1 further comprising:

receiving a security code from the remote database node prior to transmitting the first original IVC, and wherein transmitting the first original IVC is responsive to receiving the security code.

9. A computer program embodied on a non-transitory computer executable medium and configured to be executed by a processor, the program comprising:

code for receiving a digital document in a word processing format into a non-transitory computer readable medium;

code for generating a baseline data sequence from the digital document, the baseline data sequence having a first printable element and a second printable element following the first printable element of the baseline data sequence;

code for generating a modified data sequence from the baseline data sequence in accordance with a set of modification rules, the modified data sequence having a first printable element and a second printable element following the first printable element of the modified data sequence,

wherein the first printable element of the modified data sequence is identical to the first printable element of the baseline data sequence,

wherein the second printable element of the modified data sequence is identical to the second element of the baseline data sequence,

wherein at least one unprintable element of the baseline data sequence, between the first and final printable elements of the baseline data sequence, is not in the modified data sequence, so that the modified data sequence is shorter than the baseline data sequence,

and wherein an integrity verification code (IVC) generated for the modified data sequence will differ from an IVC generated for the baseline data sequence;

code for generating a first original IVC, wherein generating a first original IVC comprises performing a one-way operation on the modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence; and

code for transmitting the first original IVC across a public computer network to a remote database node.

10. The program of claim 9 further comprising:

code for generating a second original IVC, wherein generating a second original IVC comprises performing a one-way operation on the modified data sequence, wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence, and wherein generating a second original IVC uses a different algorithm than generating a first original IVC; and

code for transmitting the second original IVC with the first original IVC across the public computer network to the remote database node.

11. The program of claim 9 further comprising:

code for publishing the digital document with at least a portion of the first original IVC rendered on a face of the published document.

12. The program of claim 11 wherein the code for publishing the digital document comprises code for sending the digital document to a printer.

13. The program of claim 9 further comprising:

code for determining whether a trigger condition has been satisfied; and

code for beginning the generation of the baseline data sequence responsive to determining that the trigger condition has been satisfied.

14. The program of claim 13 wherein the trigger condition comprises the document being received by a recipient node, the recipient node selected from the list consisting of a printer and an email inbox.

15. The program of claim 9 further comprising:

code for transmitting a user identification to the remote database node.

16. The program of claim 9 further comprising:

code for determining whether a security code has been received from the remote database node; and

code for beginning the transmitting of the first original IVC responsive to receiving the security code.

17. A document integrity verification apparatus comprising:

a processor;

a memory comprising a non-transitory computer readable medium; and

a modified integrity verification code generator (modified IVC generator) configured to:

receive a digital document in a word processing format into the medium;

generate a baseline data sequence from the digital document, the baseline data sequence having a first printable element and a second printable element following the first printable element of the baseline data sequence;

generate a modified data sequence from the baseline data sequence in accordance with a set of modification rules, the modified data sequence having a first printable element and a second printable element following the first printable element of the modified data sequence,

wherein the first printable element of the modified data sequence is identical to the first printable element of the baseline data sequence,

wherein the second printable element of the modified data sequence is identical to the second element of the baseline data sequence,

wherein at least one unprintable element of the baseline data sequence, between the first and final printable elements of the baseline data sequence, is not in the modified data sequence, so that the modified data sequence is shorter than the baseline data sequence,

and wherein an integrity verification code (IVC) generated for the modified data sequence will differ from an IVC generated for the baseline data sequence;

generate a first original IVC, wherein generating a first original IVC comprises performing a one-way operation on the modified data sequence, and wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence; and

transmit the first original IVC across a public computer network to a remote database node.

18. The apparatus of claim 17 wherein the modified IVC generator is further configured to:

generate a second original IVC, wherein generating a second original IVC comprises performing a one-way operation on the modified data sequence, wherein the modification rules render tampering of the digital document undetectable for the at least one unprintable element within the baseline data sequence, and wherein generating a second original IVC uses a different algorithm than generating a first original IVC; and

transmit the second original IVC with the first original IVC across the public computer network to the remote database node.

19. The apparatus of claim 17 wherein the modified IVC generator is further configured to:

print the digital document onto paper with at least a portion of the first original IVC rendered on a page of the printed document.

20. The apparatus of claim 17 wherein the modified IVC generator is further configured to:

transmit a user identification to the remote database node; and

receive a security code from the remote database node prior to transmitting the first original IVC, and wherein transmitting the first original IVC is responsive to receiving the security code.

Continuity (4)
Continuation 12954864 · Nov 27, 2010
Continuation 12637748 · Dec 15, 2009
Continuation 12053560 · Mar 22, 2008
Related Publication 20120293840A1 · Nov 22, 2012