US6895507B1ExpiredUtility

Method and system for determining and maintaining trust in digital data files with certifiable time

Assignee: TIME CERTAIN LLCPriority: Jul 2, 1999Filed: Jul 3, 2000Granted: May 17, 2005
Est. expiryJul 2, 2019(expired)· nominal 20-yr term from priority
H04L 2209/56H04L 2209/80H04L 9/3263H04L 2209/34H04L 2209/60H04L 9/3297
94
PatentIndex Score
226
Cited by
42
References
16
Claims

Abstract

A system and methods for proving dates of digital data files, which are accessed, created, modified, received, or transmitted by a computer includes a trusted time source in a tamperproof environment, a first subsystem for saving the file at a moment in time, a second subsystem for retrieving from the trusted time source a date and a time corresponding to the moment in time, a third subsystem for appending the date and the time retrieved from the trusted time source to the saved file, a fourth subsystem for signing the saved file with the date and the time retrieved from the trusted time source appended thereto, a fifth subsystem for hashing the signed file to produce a digest, a sixth subsystem for signing the digest with a key to produce a certificate, a seventh subsystem for appending the certificate to the saved file, and an eighth subsystem for saving the file with the certificate appended thereto. The trusted time source is a real time clock, which is not resettable, is independent of any system clock of the computer, and is installed locally relative to the computer.

Claims

exact text as granted — not AI-modified
1. A system for maintaining trust in content of a digital data file, comprising:
 a trusted time source to provide a certifiable time for an unalterable time stamp, wherein said certifiable time confirms at least one of said digital data file's access, creation, modification, receipt, or transmission;  
 a computing means having installed therein a system clock and an operating systems means for operating said computing means;  
 an application means running on said operating system means, wherein said application means provides an application programming interface (API) between said trusted time source and said application means, and wherein said application programming interface is adapted to select said trusted time source or said system clock in one or more instances, wherein each of said one or more instances corresponds to a request for a determination of a moment in time;  
 means for receiving said request to save said digital data file from a user;  
 means for determining said selection of said trusted time source to provide said determination of said moment in time;  
 first means for saving said digital data file at said moment in time;  
 means for retrieving from said trusted time source a date and a time corresponding to said moment in time, wherein said moment in time is substantially a current time of said trusted time source corresponding to receipt of said request;  
 first means for appending said date and said time retrieved from said trusted time source to said digital data file;  
 first means for signing said digital data file with said date and said time retrieved from said trusted time source appended thereto;  
 means for hashing said digital data file to produce a digest;  
 second means for signing said digest with a key to produce a certificate;  
 second means for appending said certificate to said digital data file;  
 second means for saving said digital data file with said certificate appended thereto; and  
 means for verifying trust in the content of said digital data file with said certificate appended thereto.  
 
   
   
     2. The system of  claim 1 , wherein said API prevents said system clock from being accessed when said instance is to be determined by said trusted time source. 
   
   
     3. The system of  claim 1 , wherein said one or more instances includes at least one of an operating system call which is unrelated to said application means, an operating system call which is related to said application means, or an application call which is unrelated to said operating system means. 
   
   
     4. The system of  claim 1 , wherein said verification means includes a third means for signing said digital data file with said date and said time retrieved from said trusted time source appended thereto with an identifier. 
   
   
     5. The system of  claim 4 , wherein said identifier corresponds to said computing means used by said user is elected from the group consisting of a platform identifier, a server node identifier, and a network identifier. 
   
   
     6. The system of  claim 4 , wherein said identifier is selected from the group consisting of an identifier corresponding to said user, an identifier corresponding to a system used by said user, and an identifier corresponding to an enterprise within which said user uses said computing means. 
   
   
     7. The system of  claim 4 , wherein said user identifier is selected from the group consisting of a plurality of characters identifying said user, first data representing an iris scan of said user, second data representing a retina scan of said user, third data representing a finger scan of said user, fourth data representing said user's hand geometry, fifth data representing said user's voice, sixth data representing said user's signature, and combinations of said plurality of characters, first, second, third, fourth, fifth, and sixth data. 
   
   
     8. The system of  claim 1 , wherein said trusted time source includes a tamper-evident means. 
   
   
     9. A method for maintaining trust in content of a digital data file with a computing means having installed therein a system clock, an operating systems means for operating the computing means, and an application means running on said operating system means, comprising:
 providing, with a trusted time source, a certifiable time for an unalterable time stamp, wherein said certifiable time confirms at least one of said digital data file's access, creation, modification, receipt, or transmission;  
 providing an application programming interface (API) between said trusted time source and said application means, and wherein said application programming interface is adapted to select said trusted time source or said system clock in one or more instances, wherein each of said one or more instances corresponds to a request for a determination of a moment in time;  
 receiving said request to save said digital data file from a user;  
 determining said selection of said trusted time source to provide said determination of said moment in time;  
 saving said digital data file at said moment in time;  
 retrieving from said trusted time source a date and a time corresponding to said moment in time, wherein said moment in time is substantially a current time of said trusted time source corresponding to receipt of said request;  
 appending said date and said time retrieved from said trusted time source to said digital data file;  
 signing said digital data file with said date and said time retrieved from said trusted time source appended thereto;  
 hashing said digital data file to produce a digest;  
 signing said digest with a key to produce a certificate;  
 appending said certificate to said digital data file;  
 saving said digital data file with said certificate appended thereto; and  
 verifying trust in the content of said digital data file with said certificate appended thereto.  
 
   
   
     10. The method of  claim 9 , wherein said API prevents said system clock from being accessed when said instance is to be determined by said trusted time source. 
   
   
     11. The method of  claim 9 , wherein said one or more instances includes at least one of an operating system call which is unrelated to said application means, an operating system call which is related to said application means, or an application call which is unrelated to said operating system means. 
   
   
     12. The method of  claim 9 , wherein said verification means includes a third means for signing said digital data file with said date and said time retrieved from said trusted time source appended thereto with an identifier. 
   
   
     13. The method of  claim 12 , wherein said identifier corresponds to said computing means used by said user is elected from the group consisting of a platform identifier, a server node identifier, and a network identifier. 
   
   
     14. The method of  claim 12 , wherein said identifier is selected from the group consisting of an identifier corresponding to said user, an identifier corresponding to a system used by said user, and an identifier corresponding to an enterprise within which said user uses the computing means. 
   
   
     15. The method of  claim 12 , wherein said user identifier is selected from the group consisting of a plurality of characters identifying said user, first data representing an iris scan of said user, second data representing a retina scan of said user, third data representing a finger scan of said user, fourth data representing said user's hand geometry, fifth data representing said users voice, sixth data representing said user's signature, and combinations of said plurality of characters, first, second, third, fourth, fifth, and sixth data. 
   
   
     16. The method of  claim 9 , wherein said trusted time source includes a tamper-evident means.

Join the waitlist — get patent alerts

Track US6895507B1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.