Claims
- 1. A method for secure communication of a message from a sender to a recipient, the method comprising the steps of:
creating an envelope containing a message key by encrypting said message key based on a verifier that is based on a secret of the recipient; providing said message key to the sender; at the sender, encrypting the message based on said message key; sending the message from the sender to the recipient; providing said envelope to the recipient; and at the recipient: opening the envelope based on said secret of the recipient; retrieving said message key from the envelope; and decrypting the message based on said message key.
- 2. A method for a sender to encrypt a message intended for a recipient, the method comprising the steps of:
(a) providing a message key; (b) creating an envelope containing said message key by encrypting said message key based on a verifier that is based on a secret of the recipient; and (c) encrypting the message based on said message key, thereby permitting the message to be sent securely with said envelope from the sender to the recipient, and the recipient to be provided said envelope so that said secret can be used to open said envelope to retrieve said message key and decrypt the message.
- 3. The method of claim 2, wherein said step (a) includes generating said message key at the sender itself.
- 4. The method of claim 2, wherein said step (a) includes:
obtaining said message key at a key server; and the sender receiving said message key from said key server.
- 5. The method of claim 4, wherein said key server stores a copy of said message key.
- 6. The method of claim 5, wherein said step (a) includes instructing said key server whether and under what conditions said message key may be released to parties other than the sender itself.
- 7. The method of claim 5, wherein said step (a) includes:
the sender providing a recipient list to said key server; and said key server storing a copy of said recipient list.
- 8. The method of claim 4, wherein said step (a) includes authenticating the sender as a condition of said key server providing said message key.
- 9. The method of claim 8, wherein said step (a) includes the sender submitting a sender assertion to the key server, wherein said sender assertion originates from an authentication server.
- 10. The method of claim 2, wherein said step (b) includes:
deriving said envelope key based on a key agreement protocol; and encrypting said message key using a symmetric encryption algorithm.
- 11. The method of claim 10, wherein:
said key agreement protocol is the Diffie-Hellman key agreement; and said encryption algorithm is the AES encryption algorithm.
- 12. The method of claim 2, wherein said step (b) includes encrypting said envelope key directly with said verifier, thereby permitting decrypting said envelope directly with said secret.
- 13. The method of claim 12, wherein said step (b) includes encrypting said message key based on a public key encryption algorithm.
- 14. The method of claim 13, wherein said public key encryption algorithm is the El-Gamal encryption algorithm.
- 15. The method of claim 2, wherein said step (b) includes generating said envelope at the sender itself.
- 16. The method of claim 2, wherein said step (b) includes: generating said envelope at a key server; and
the sender receiving said envelope from said key server.
- 17. The method of claim 16, wherein:
the recipient is one of a plurality of recipients of the message; and said step (b) includes the sender instructing said key server which of said plurality of recipients said key server is to create said envelopes for, thereby implementing a policy that at least some of said plurality of recipients must go on-line to get said message key while others may read the message off-line.
- 18. The method of claim 16, wherein said step (b) includes said sender providing either said verifier or said secret to said key server, thereby permitting said key server to create said verifier.
- 19. The method of claim 18, wherein said step (b) includes said sender creating and providing said verifier to said key server.
- 20. The method of claim 16, wherein said step (b) includes said key server asking an authentication server for either said verifier or said secret, thereby permitting said key server to create said verifier.
- 21. The method of claim 20, wherein said authentication server employs a member of the set consisting of already having said verifier, having said secret and creating said verifier, having data equivalent to said secret and creating said verifier, and having a hash of said secret and creating said verifier.
- 22. The method of claim 2, wherein said secret is a password.
- 23. The method of claim 2, wherein said secret is based on at least one public or private attribute of the recipient other than a password.
- 24. The method of claim 2, wherein the verifier is a recipient verifier and the sender includes a sender verifier with the message, thereby permitting the recipient to easily reply to the message in a secure manner.
- 25. The method of claim 24, wherein said sender verifier is included in said envelope.
- 26. A method for a recipient to decrypt a message secured with a message key, the method comprising the steps of:
(a) receiving an envelope that is based on a secret of the recipient, wherein said secret corresponds with a verifier used to create the envelope; (b) opening said envelope to retrieve said message key; and (c) decrypting the message based on said message key.
- 27. The method of claim 26, wherein said envelope is created after the recipient has received the message.
- 28. The method of claim 27, wherein said secret is a new said secret, established after the recipient has received the message.
- 29. The method of claim 26, wherein said step (a) includes providing said envelope to the recipient with the message.
- 30. The method of claim 26, wherein said step (a) includes providing said envelope to the recipient from a key server.
- 31. The method of claim 30, wherein said step (a) includes authenticating the recipient as a condition of said key server providing said envelope.
- 32. The method of claim 31, wherein:
said key server has a recipient list; and said step (a) includes confirming the recipient is in said recipient list as a condition of said key server providing said envelope.
- 33. The method of claim 31, wherein said authenticating includes providing said key server with a credential of the recipient that was issued by an authentication server.
- 34. The method of claim 33, wherein:
said authentication server stores said verifier, thereby providing a repository for said verifier; and said key server obtains said verifier from said authentication server.
- 35. The method of claim 33, wherein:
said authentication server creates said verifier; and said key server obtains said verifier from said authentication server.
- 36. The method of claim 35, wherein:
said authentication server creates said verifier based on a transaction with the recipient other than the request to create an assertion.
- 37. The method of claim 26, wherein said secret is a password.
- 38. The method of claim 26, wherein said secret is based on at least one public or private attribute of the recipient other than a password.
- 39. The method of claim 26, wherein:
said envelope key has been derived based on a key agreement protocol; and said decrypting uses a symmetric decryption algorithm.
- 40. The method of claim 39, wherein:
said key agreement protocol is the Diffie-Heilman key agreement; and said decryption algorithm is the AES decryption algorithm.
- 41. The method of claim 26, wherein said envelope key has been encrypted directly with said verifier, and said step (b) includes decrypting said envelope directly with said secret.
- 42. The method of claim 41, wherein said step (b) includes decrypting said envelope based on a public key decryption algorithm, thereby retrieving said message key.
- 43. The method of claim 42, wherein said public key decryption algorithm is the El-Gamal decryption algorithm.
- 44. A system for a sender to encrypt a message intended for a recipient, comprising:
a first computerized system able to create an envelope containing a message key by encrypting said message key based on a verifier that is based on a secret of the recipient; said first computerized system further able to provide at least said envelope to a second computerized system, wherein second computerized system is employed by the sender; and said second computerized system able to encrypt the message based on said message key, thereby permitting the message to be sent securely from the sender to the recipient and the recipient to be provided said envelope so that said secret can be used to open said envelope to retrieve said message key and decrypt the message.
- 45. The system of claim 44, wherein said first computerized system and said second computerized system are the same.
- 46. The system of claim 44, wherein:
said first computerized system is a key server; and said second computerized system receives said message key from said key server.
- 47. The system of claim 46, wherein said key server has a database in which it stores a copy of said message key.
- 48. The system of claim 47, wherein:
said second computerized system provides a recipient list to said key server; and said key server also stores a copy of said recipient list in said database.
- 49. The system of claim 46, further comprising an authentication server, and wherein said second computerized system authenticates the sender to said key server based on an assertion issued by said authentication server, as a condition for said key server providing said message key to said second computerized system.
- 50. The system of claim 46, further comprising an authentication server, and wherein said key server asks said authentication server for either said verifier or said secret, thereby permitting said key server to create said verifier.
- 51. A system for a recipient to decrypt a message secured with a message key, comprising:
a computerized system able to receive an envelope, wherein said envelope is based on a secret of the recipient and said secret corresponds with a verifier used to create the envelope; said computerized system further able to open said envelope to retrieve said message key; and said computerized system further able to decrypt the message based on said message key.
- 52. The system of claim 51, wherein said computerized system receives said envelope from the sender of the message.
- 53. The system of claim 51, wherein said computerized system receives said envelope from a key server.
- 54. The system of claim 53, wherein said computerized system authenticates the recipient as a condition for said key server providing said envelope.
- 55. The system of claim 54, wherein said computerized system provides said key server with an assertion for the recipient issued by an authentication server.
- 56. The system of claim 55, wherein:
said authentication server creates said verifier; and said key server obtains said verifier from said authentication server.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/449,068, filed Feb. 20, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60449068 |
Feb 2003 |
US |