Content deleted Content added
Dmichaels999 (talk | contribs) |
m Removed erroneous space and general fixes (task 1) |
||
Line 2:
==Public-key vs. transient-key cryptography==
Both [[Public key|public-key]] and transient-key systems can be used to generate [[digital signature]]s that assert that a given piece of data has not changed since it was signed. But the similarities end there. In a traditional public key system, the public/private keypair is typically assigned to an individual, server, or [[organization]]. Data signed by a private key asserts that the signature came from the indicated source. Keypairs persist for years at a time, so the private component must be carefully guarded against disclosure; in a public-key system, anyone with access to a private key can counterfeit that person's digital signature.
In transient-key systems, however, the keypair is assigned to a brief interval of time, not to a particular person or entity. Data signed by a specific private key becomes associated with a specific time and date. A keypair is active only for a few minutes, after which the private key is permanently destroyed. Therefore, unlike public-key systems, transient-key systems do not depend upon the long-term security of the private keys.
Line 20:
[[Image:Cross-Certification.png|thumbnail|320px|A private key is cross-certified using two other transient-key servers.]]
Through independently operating servers, '''cross-certification''' can provide third-party proof of the validity of a time interval chain and irrefutable evidence of consensus on the current time. Transient-key cryptographic systems display high [[Byzantine fault tolerance]]. A web of interconnected cross-certifying servers in a distributed environment creates a widely witnessed chain of trust that is as strong as its strongest link. By contrast, entire [[Hierarchy|hierarchies]] of traditional public key systems can be compromised if a single private key is exposed.
An individual transient key interval chain can be cross-certified with other transient key chains and server instances. Through cross-certification, Server A signs Server B's interval chain, the signed data of which is the interval definition. In effect, the private keys from Server B are used to sign the public keys of Server A. In the diagram, a server instance is cross-certified with two other server instances (blue and orange). Cross-certification requires that the timestamp for the interval agree with the timestamp of the cross-certifying server within acceptable tolerances, which are user-defined and typically a few hundred milliseconds in duration.
Line 28:
==Verification==
During an interval, the transient private key is used to sign data concatenated with trusted timestamps and authenticity certificates. To [[File verification|verify]] the data at a later time, a receiver accesses the [[Persistence (computer science)|persistent]] public key for the appropriate time interval. The public key applied to the digital signature can be passed through published cryptographic routines to unpack the [[Cryptographic hash function|hash]] of the original data, which is then compared against a fresh hash of the stored data to verify data integrity. If the signature successfully decrypts using a particular interval's published public key, the receiver can be assured that the signature originated during that time period. If the decrypted and fresh hashes match, the receiver can be assured that the data has not been tampered with since the transient private key created the timestamp and signed the data.
Transient-key cryptography was invented in 1997 by Dr. Michael D. Doyle of [http://www.eolas.com Eolas Technologies Inc.], while working on the [[Visible Embryo Project]]
*[http://www.proofspace.com ProofSpace, Inc] has published a more detailed [http://fios.com/proofmarksystemtech.pdf technical overview document] of transient key cryptography.
|