System and method for key escrow encryption
First Claim
1. A method for key escrow cryptography for use in a system comprising a sender and a receiver, in which only public escrow keys are stored in said sender and said receiver, a session key being available to said sender and said receiver, comprising the steps of:
- (1) encrypting in said sender a message using said session key to form an encrypted message;
(2) generating in said sender a verification string by combining an unique program identifier, a public portion of a program unique key, and a signature representing said unique program identifier and the public portion of said program unique key signed by a private portion of a key escrow programming facility key, and encrypting in said sender said verification string using said session key to generate an encrypted verification string;
(3) encrypting in said sender said session key using the public portion of said program unique key to generate a first encrypted session key;
(4) generating in said sender a first law enforcement access field by encrypting a combination of said first encrypted session key and said unique program identifier with a copy of a public portion of a family key stored in said sender;
(5) transmitting said encrypted message, said encrypted verification string, and said first law enforcement access field from said sender to said receiver, said receiver having stored therein a public portion of said key escrow programming facility key and the public portion of said program unique key;
(6) decrypting in said receiver said encrypted verification string using said session key to recover said verification string, and extracting in said receiver unique program identifier, the public portion of said program unique key, and said signature from said verification string;
(7) verifying in said receiver that said signature corresponds to said extracted unique program identifier and the public portion of said program unique key;
(8) if said signature is verified to correspond to said extracted unique program identifier and the public portion of said program unique key, then encrypting in said receiver said session key using said extracted public portion of said program unique key to generate a second encrypted session key;
(9) generating in said receiver a second law enforcement access field by encrypting a combination of said second encrypted session key and said extracted unique program identifier with a copy of the public portion of said family key stored in said receiver;
(10) comparing in said receiver said first law enforcement access field to said second law enforcement access field; and
(11) if said first law enforcement access field is equal to said second law enforcement access field, then decrypting in said receiver said encrypted message using said session key.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for key escrow cryptography for use in a system comprising a sender and a receiver. Only public escrow keys are stored in the sender and the receiver. The sender encrypts a message using a secret session key (KS), and generates a leaf verification string (LVS) by combining an unique program identifier (UIP), a public portion of a program unique key (KUpub), and a signature. The sender encrypts the KS using the KUpub to generate a first encrypted session key (EKS), and generates a first law enforcement access field (LEAF) by encrypting a combination of the first EKS and the UIP with a copy of a public portion of a family key (KFpub) stored in the sender. The encrypted message, the LVS, and the first LEAF are transmitted from the sender to the receiver. The receiver stores therein a public portion of the KEPF key (KEPFpub). The receiver extracts the UIP, KUpub, and the signature from the LVS, and then encrypts the KS using the extracted KUpub to generate a second encrypted session key (EKS). The receiver generates a second LEAF by encrypting a combination of the second EKS and the extracted UIP with a copy of the KFpub stored in the receiver. The receiver then compares the first LEAF to the second LEAF. If the first LEAF is equal to the second LEAF, then the receiver decrypts the encrypted message using the KS.
-
Citations
45 Claims
-
1. A method for key escrow cryptography for use in a system comprising a sender and a receiver, in which only public escrow keys are stored in said sender and said receiver, a session key being available to said sender and said receiver, comprising the steps of:
-
(1) encrypting in said sender a message using said session key to form an encrypted message; (2) generating in said sender a verification string by combining an unique program identifier, a public portion of a program unique key, and a signature representing said unique program identifier and the public portion of said program unique key signed by a private portion of a key escrow programming facility key, and encrypting in said sender said verification string using said session key to generate an encrypted verification string; (3) encrypting in said sender said session key using the public portion of said program unique key to generate a first encrypted session key; (4) generating in said sender a first law enforcement access field by encrypting a combination of said first encrypted session key and said unique program identifier with a copy of a public portion of a family key stored in said sender; (5) transmitting said encrypted message, said encrypted verification string, and said first law enforcement access field from said sender to said receiver, said receiver having stored therein a public portion of said key escrow programming facility key and the public portion of said program unique key; (6) decrypting in said receiver said encrypted verification string using said session key to recover said verification string, and extracting in said receiver unique program identifier, the public portion of said program unique key, and said signature from said verification string; (7) verifying in said receiver that said signature corresponds to said extracted unique program identifier and the public portion of said program unique key; (8) if said signature is verified to correspond to said extracted unique program identifier and the public portion of said program unique key, then encrypting in said receiver said session key using said extracted public portion of said program unique key to generate a second encrypted session key; (9) generating in said receiver a second law enforcement access field by encrypting a combination of said second encrypted session key and said extracted unique program identifier with a copy of the public portion of said family key stored in said receiver; (10) comparing in said receiver said first law enforcement access field to said second law enforcement access field; and (11) if said first law enforcement access field is equal to said second law enforcement access field, then decrypting in said receiver said encrypted message using said session key.
-
-
2. A method for key escrow cryptography for use in a system comprising a sender and a receiver, in which only public keys are stored in said sender and said receiver, a session key being available to said sender and said receiver, comprising the steps of:
-
(1) encrypting in said sender a message using said session key to form an encrypted message; (2) encrypting in said sender said session key using a public portion of a first key to generate an encrypted session key; (3) generating in said sender a first law enforcement access field by encrypting said encrypted session key with a public portion of a second key; (4) transmitting said encrypted message and said first law enforcement access field from said sender to said receiver; (5) constructing, in said receiver, a second law enforcement access field using said session key and public information available to said receiver; (6) comparing in said receiver said first law enforcement access field to said second law enforcement access field, wherein if said first law enforcement access field is equal to said second law enforcement access field, said first law enforcement access field is authentic; and (7) if said first law enforcement access field is authentic, then decrypting in said receiver said encrypted message using said session key. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for key escrow cryptography, comprising the steps of:
-
(1) encrypting in a sender a message using a session key to form an encrypted message; (2) splitting in said sender said session key to form a first session key part and a second session key part; (3) generating in said sender a law enforcement access field by concatenating at least a first encrypted session key, obtained by encrypting said first session key part with a public portion of a key associated with a first escrow agent, with a second encrypted session key, obtained by encrypting said second session key part with a public portion of a key associated with a second escrow agent; (4) generating in said sender an encrypted verification string by encrypting a verification string that includes a concatenation of at least said first session key part and said second session key part with said session key; (5) transmitting said encrypted message, said law enforcement access field, and said encrypted verification string from said sender to a receiver; (6) decrypting in said receiver said encrypted verification string using said session key to recover said verification string, and extracting at least said first session key part and said second session key part from said verification string; (7) generating a second law enforcement access field by concatenating at least a first trial encrypted session key, obtained by encrypting said extracted first session key part with a copy of said public portion of said key associated with said first escrow agent, with a second trial encrypted session key, obtained by encrypting said extracted second session key part with a copy of said public portion of said key associated with said second escrow agent; (8) comparing said first law enforcement access field with said second law enforcement access field, wherein if said first law enforcement access field is equal to said second law enforcement access field, said first law enforcement access field is authentic; and (9) if said first law enforcement access field is authentic, then decrypting in said receiver said encrypted message using said session key. - View Dependent Claims (11, 12)
-
-
13. A cryptographic communications method, comprising the steps of:
-
(1) receiving, by a receiver, a first access field from a sender, wherein said first access field includes an encryption of at least a part of a first encryption key using a public portion of a second encryption key; (2) constructing, by said receiver, a second access field using at least said part of said first encryption key and said public portion of said second encryption key; (3) comparing, by said receiver, said first access field to said second access field, wherein if said first access field is equal to said second access field, said first access field is authentic; and (4) decrypting, by said receiver, an encrypted message using said first encryption key if said first access field is authentic. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A computer program product, comprising:
-
a computer usable medium having computer readable program code means embodied in said medium for implementing a cryptographic communications method, said computer readable program code means comprising; computer readable program code means for causing a computer to effect a reception of a first access field from a sender, wherein said first access field includes an encryption of at least a part of a first encryption key using a public portion of a second encryption key; computer readable program code means for causing a computer to effect a construction of a second access field using at least said part of said first encryption key and said public portion of said second encryption key; computer readable program code means for causing a computer to effect a comparison said first access field to said second access field, wherein if said first access field is equal to said second access field, said first access field is authentic; and computer readable program code means for causing a computer to effect a decryption an encrypted message using said first encryption key if said first access field is authentic.
-
-
41. A cryptographic communications method, comprising the steps of:
-
(1) encrypting, by a sender, a message with a first encryption key; (2) generating, by said sender, a first access field, wherein said first access field includes an encryption of at least a part of said first encryption key using a public portion of a second encryption key; and (3) transmitting, by said sender, said encrypted message and said first access field to a receiver, wherein said receiver constructs a second access field using at least said part of said first encryption key and said public portion of said second encryption key, compares said first access field to said second access field, wherein if said first access field is equal to said second access field, said first access field is authentic, and decrypts said encrypted message using said first encryption key if said first access field is authentic. - View Dependent Claims (42, 43, 44)
-
-
45. A computer program product, comprising:
-
a computer usable medium having computer readable program code means embodied in said medium for implementing a cryptographic communications method, said computer readable program code means comprising; computer readable program code means for causing a computer to effect an encryption of a message with a first encryption key; computer readable program code means for causing a computer to effect a generation of a first access field, wherein said first access field includes an encryption of at least a part of said first encryption key using a public portion of a second encryption key; and computer readable program code means for causing a computer to effect a transmission of said encrypted message and said first access field to a receiver, wherein said receiver constructs a second access field using at least said part of said first encryption key and said public portion of said second encryption key, compares said first access field to said second access field, wherein if said first access field is equal to said second access field, said first access field is authentic, and decrypts said encrypted message using said first encryption key if said first access field is authentic.
-
Specification