Secure transmission system
DCFirst Claim
1. A method for transferring a message securely from a sender to a recipient over a network, the method comprising:
- at each transfer creating a message;
retrieving a current public key of the recipient from an external public key server just prior to sending the message;
signing the message using a private key of the sender;
encrypting the signed message using a public key encryption algorithm and the current public key of the recipient producing an encrypted signed message;
generating a message addressed to the recipient;
attaching the encrypted signed message as an attachment to the generated message; and
transmitting the generated message to the recipient.
5 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
A method and apparatus for transferring a message securely from a sender to a recipient over a network and includes at each transfer: creating a message; retrieving the public key of the recipient from an external key server just prior to sending the message; signing the message using the private key of the sender; encrypting the signed message using a public key encryption algorithm and the public key of the recipient producing an encrypted signed message; generating an E-mail message addressed to the recipient; attaching the encrypted signed message as an attachment to the E-mail message; and, transmitting the E-mail message to the recipient.
-
Citations
96 Claims
-
1. A method for transferring a message securely from a sender to a recipient over a network, the method comprising:
-
at each transfer creating a message;
retrieving a current public key of the recipient from an external public key server just prior to sending the message;
signing the message using a private key of the sender;
encrypting the signed message using a public key encryption algorithm and the current public key of the recipient producing an encrypted signed message;
generating a message addressed to the recipient;
attaching the encrypted signed message as an attachment to the generated message; and
transmitting the generated message to the recipient. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
prompting the sender for a signature phrase;
decrypting the private key of the sender using the signature phrase;
applying a hash function to a sender'"'"'s public key to produce a hash; and
verifying a status of the sender'"'"'s public key including submitting the hash to the external key server to enable a look-up of a status of a public key of the sender.
-
-
8. The method of claim 7, further including:
-
designating a signature phrase by each user, either sender or recipient;
encrypting a private key of the user using the signature phrase; and
storing the encrypted private key locally at a user'"'"'s computer.
-
-
9. The method of claim 1, wherein the step of retrieving the public key of the recipient includes generating a request for a current public key of the recipient, the request including an identifier for the recipient.
-
10. The method of claim 9, wherein the identifier is an E-mail address for the recipient.
-
11. The method of claim 9, wherein the identifier is a hash of an E-mail address for the recipient.
-
12. The method of claim 1, wherein the step of encrypting includes:
-
generating a random number;
encrypting the message using the random number as a session key in a symmetric key encryption algorithm; and
encrypting the session key using a public key encryption algorithm and the public key of the recipient.
-
-
13. The method of claim 1, wherein the step of signing a message includes decrypting a private key of the sender and applying a digital signature algorithm to the message using the sender'"'"'s private key.
-
14. The method of claim 13, wherein the step of decrypting the private key includes prompting the user for a signature phrase, applying a hash function to the signature phrase and decrypting the private key using a symmetric key encryption algorithm where the hash is used as the symmetric key.
-
15. The method of claim 1, wherein the step of attaching the signed message includes:
-
designating a recipient'"'"'s E-mail address and a sender'"'"'s E-mail address;
designating one or more of a public title and public message body for the message; and
attaching the encrypted signed message as an attachment to the message addressed to the recipient.
-
-
16. The method of claim 1, wherein the step of transmitting includes:
transmitting the encrypted signed message to a forwarding proxy using a non-SMTP protocol where the forwarding proxy is operable to recover the encrypted signed message and forward the generated message to the recipient.
-
17. The method of claim 16, wherein the non-SMTP protocol is HTTP protocol.
-
18. The method of claim 17, wherein the method includes:
-
creating an HTTP post including the message; and
transmitting the HTTP post.
-
-
19. The method of claim 1, wherein the forwarding proxy forwards the message by SMTP.
-
20. The method of claim 1 further including attaching a random number to the message prior to transferring and where a forwarding proxy is operable to verify that the random number is valid based on a predefined criterion, and only transmitting the message to the recipient if the random number is valid.
-
21. The method of claim 20, wherein the predefined criterion is the passage of a predefined amount of time.
-
22. The method of claim 20, further including:
-
attaching a return receipt request to the message; and
acknowledging the receipt of a return receipt including displaying the receipt to the sender.
-
-
23. The method of claim 22 further including:
conditioning the opening of the message by the recipient upon the return of the return receipt.
-
24. The method of claim 1, wherein:
-
the step of generating an E-mail message includes creating a MIME mail message addressed to the recipient;
the step of attaching the signed message includes attaching the signed message to the MIME mail message as a MIME attachment; and
the step of transmitting includes sending the MIME mail message to the recipient.
-
-
25. The method of claim 1, wherein:
generating a message includes generating an E-mail message.
-
26. The method of claim 1, wherein:
attaching the encrypted signed message includes attaching the encrypted signed message as an attachment to the E-mail message.
-
27. The method of claim 1, wherein:
transmitting the message includes transmitting the E-mail message to the recipient.
-
28. A method for transferring messages securely from a sender to a recipient over a network comprising:
-
substantially contemporaneous with each secure transmission from the sender to the recipient, retrieving a public key of the recipient from an external key server to ensure an active public key for the recipient is used in encrypting the message;
encrypting each message using the externally retrieved public key; and
transferring the message from the sender to the recipient. - View Dependent Claims (29, 30, 31)
-
-
32. A method for verifying the authenticity of a message received by a recipient process, the message generated by a sender process and transferred using secure means over a network, the method comprising:
-
decrypting a signed encrypted message exposing a message signed by a sender with the sender'"'"'s signature;
verifying the sender'"'"'s signature;
requesting a status for a sender'"'"'s public key at the time the message was sent from an external key server; and
displaying the status of the sender'"'"'s public key at the time the message was sent-and the decrypted message. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
exposing a time stamp certificate signed by an external key server and associated with the signed encrypted message; and
verifying a signature of the external key server that was used to sign the time stamp certificate.
-
-
37. The method of claim 36, wherein the step of displaying includes displaying the time stamp certificate.
-
38. The method of claim 36, wherein a public key encryption algorithm is selected so that encrypting processes are substantially faster than decrypting processes.
-
39. The method of claim 38, wherein the public key encryption algorithm is a Rabin algorithm.
-
40. The method of claim 32, wherein the step of displaying includes displaying two indicators and enabling an appropriate one of the two based on the status of the sender'"'"'s public key, either valid or invalid.
-
41. The method of claim 32, wherein the step of displaying includes displaying three or more indicators and enabling an appropriate one of the three based on the status of the sender'"'"'s public key, either valid, invalid or valid when signed but now invalid.
-
42. The method of claim 32, wherein the step of decrypting a signed message includes:
-
recovering a private key of the recipient;
applying a public key encryption algorithm to an encrypted session key included with the encrypted signed message to recover a session key; and
applying a symmetric key encryption algorithm to the encrypted signed message using the session key to recover the message.
-
-
43. The method of claim 42, wherein the step of recovering the private key includes prompting the user for a signature phrase, applying a hash function to the signature phrase and decrypting the private key using a symmetric key encryption algorithm where the hash is used as a session key.
-
44. The method of claim 43, wherein the step of applying a hash function includes applying the hash function to the signature phrase a large number of times.
-
45. The method of claim 44, wherein the step of applying a hash function includes applying the hash function to the signature phrase approximately 5000 times.
-
46. The method of claim 43, wherein the step of applying a hash function includes applying multiple hash functions to the signature phrase.
-
47. The method of claim 43, where the step of applying a hash function includes applying a hash function a large number of times.
-
48. The method of claim 47, wherein the step of applying a hash function a large number of times includes applying a hash function approximately 5000 times.
-
49. The method of claim 32, wherein messages are signed using a signature algorithm that is selected so that verifying a signature is substantially faster than signing a message.
-
50. The method of claim 49, wherein the signature algorithm is a Rabin algorithm.
-
51. The method of claim 32, wherein the step of verifying a signature includes:
-
applying a hash function to a signed message resulting in a first hash; and
comparing the first hash with an associated second hash received from a signing party.
-
-
52. The method of claim 51 where the signing party is the sender, the signed message is the signed encrypted message and the second hash is recovered when decrypting the signed encrypted message.
-
53. The method of claim 51, wherein the signing party is the external key server, the signed message includes a time stamp certificate and the second hash is recovered when decrypting the signed encrypted message.
-
54. The method of claim 51, wherein the signing party is the external key server, the signed message includes status information and the second hash is generated by the external key server and provided along with the status information.
-
55. The method of claim 51, wherein the signing party is the external key server, the signed message includes recipient'"'"'s public key and the second hash is recovered when decrypting the signed encrypted message.
-
56. The method of claim 32, wherein requesting the status of the sender'"'"'s public key includes sending a request to the external key server including an identifier designating the sender'"'"'s public key, the external key server operable to maintain a status for each public key stored therein and enabled to return the status for a particular public key of the sender when the identifier is received.
-
57. A method for transferring a message securely from a sender process to a recipient process over a network comprising:
-
creating a message including retrieving a public key of a recipient and a verifiable transmission time stamp, the transmission time stamp generated and signed by an external key server independent of the sender process;
signing the message;
encrypting the signed message using a public key encryption algorithm and a public key of the recipient;
attaching the encrypted message to an E-mail message; and
receiving the E-mail message including;
decrypting the signed encrypted message;
verifying a sender'"'"'s signature mathematically;
requesting a status for the sender'"'"'s public key at a time sent from an external key server including receiving signed status information;
verifying the external server'"'"'s signature that signed the status information; and
displaying the status of the sender'"'"'s public key, a time stamp and the decrypted message.
-
-
58. A method for securely transferring a message from a sender to a recipient over a network comprising:
-
creating a message;
retrieving a public key of the recipient from an external key server;
encrypting the message using a public key encryption algorithm and the public key of the recipient producing an encrypted message; and
transmitting the encrypted message to a forwarding proxy using a non-SMTP protocol where the forwarding proxy is operable to recover the encrypted message and forward an E-mail message including the encrypted message to the recipient. - View Dependent Claims (59, 60, 61)
creating an HTTP post including the message; - and
transmitting the HTTP post.
-
-
61. The method of claim 58, wherein the forwarding proxy forwards the E-mail message by SMTP.
-
62. An apparatus for creating and viewing secure messages transferred over a network between one or more senders and recipients, the apparatus comprising:
-
a composer viewer operable to compose a message, retrieve a public key and public key status for a recipient of the message, verify an active status of a sender'"'"'s public key, encrypt the message and view secure messages received from other senders;
a communication process for transferring composed messages out from the sender and for receiving composed messages from other senders. - View Dependent Claims (63, 64)
-
-
65. An apparatus for transferring a message securely from a sender to a recipient over a network, the apparatus comprising:
-
a composer operable to create a message and retrieve a public key of the recipient from an external key server just prior to sending the message;
a signature engine operable to sign the message using a private key of the sender;
an encryption engine operable to encrypt the signed message using a public key encryption algorithm and the public key of the recipient producing an encrypted signed message;
a wrapping application operable to generate an E-mail message addressed to the recipient, attach the encrypted signed message as an attachment to the E-mail message and transmit the E-mail message to the recipient.
-
-
66. An apparatus for verifying the authenticity of a message received by a recipient process, the message generated by a sender process and transferred using secure means over a network, the apparatus comprising:
-
a decryption engine for decrypting a signed encrypted message exposing a message signed by the sender;
a verification engine operable to verify the sender'"'"'s signature, request a status for a sender'"'"'s public key at a time a message was sent from an external key server, receive status information from the external key server and verify a signature of the external key server used to sign the status information; and
a display engine operable to display the status of the sender'"'"'s public key and decrypted message.
-
-
67. An apparatus for securely transferring a message from a sender to a recipient over a network comprising:
-
a composer operable to create a message and retrieve a public key of the recipient from an external key server;
an encryption engine for encrypting the message using a public key encryption algorithm and the public key of the recipient producing an encrypted message;
a transmission system separable from the composer and operable to transmit the encrypted message to a forwarding proxy using a non-SMTP protocol where the forwarding proxy is operable to recover the encrypted message and forward an E-mail message including the encrypted message to the recipient.
-
-
68. A method for posting a public key for a user at a central key server, the public key retrievable by a sender and used by a public key encryption process executed at the sender'"'"'s computer to securely transfer a message from a sender to a recipient over a network, the method of posting comprising:
-
generating a set of public and private keys;
associating a unique E-mail address for the user with the set of public and private keys;
encrypting the private key and storing the encrypted private key locally on the user'"'"'s computer; and
posting the public key including storing the public key at the central key server in a key list indexed by a hash of the unique E-mail address. - View Dependent Claims (69, 70)
designating a signature phrase, the signature phrase used by the user'"'"'s computer to encrypt the private key.
-
-
71. A method for authenticating a message sent from a sender to a recipient over a network, the method comprising:
-
generating a time stamp request including a representation of the message;
sending to a time stamping authority the time stamp request;
constructing a time stamp certificate comprising three or more elements selected from a group including a representation of the message to be sent, a representation of the sender'"'"'s identity, a representation of the sender'"'"'s public key, a representation of the recipient'"'"'s identity, a representation of a recipient'"'"'s public key and a current time;
passing the time stamp certificate to the time stamp request generator; and
attaching the passed time stamp certificate to the message and sending the message to the recipient. - View Dependent Claims (72, 73, 74, 75, 76, 77, 78, 79)
the representation of the message includes a hash of the message.
-
-
80. The method for authenticating a sender, a recipient and a message when transferring the message from the sender to the recipient over a network, the method comprising:
-
generating, remotely from the sender, a time stamp certificate that includes a representation of the message, a time stamp, a representation of the recipient'"'"'s public key, a representation of the sender'"'"'s public keys and recipient'"'"'s and sender'"'"'s public key status;
attaching the time stamp certificate to the message; and
sending the message and the time stamp certificate to the recipient. - View Dependent Claims (81, 82, 84, 85)
-
-
86. A method for authenticating a sender, a recipient and a message when transferring the message from the sender to the recipient over a network, the method comprising:
-
generating, remotely from the sender, a time stamp certificate that includes a representation of the message, a time stamp, a representation of the recipient'"'"'s public key and a representation of the sender'"'"'s public keys;
attaching the time stamp certificate to the message; and
sending the message and the time stamp certificate to the recipient. - View Dependent Claims (83)
-
-
87. An apparatus to certify a message, comprising:
- a certificate for a message comprising;
three or more elements selected from a group including of a representation of a message, a representation of a sender'"'"'s identity, a representation of a sender'"'"'s public key, a representation of a recipient'"'"'s identity, a representation of a time and a representation of a recipient'"'"'s public key;
and an engine configured to use the certificate to certify the message. - View Dependent Claims (88, 89, 90, 91, 92, 93, 94, 95, 96)
the representation of the message includes a hash of the message.
- a certificate for a message comprising;
-
89. The apparatus of claim 87, wherein:
the representation of the sender'"'"'s identity includes a hash of the sender'"'"'s identity.
-
90. The apparatus of claim 87, wherein:
the representation of the sender'"'"'s public key includes a hash of the public key.
-
91. The apparatus of claim 87, wherein:
the representation of the sender'"'"'s public key includes the sender'"'"'s public key status.
-
92. The apparatus of claim 87, wherein:
the representation of the recipient'"'"'s identity includes a hash of the recipient'"'"'s identity.
-
93. The apparatus of claim 87, wherein:
a representation of the recipient'"'"'s public key includes a hash of the recipient'"'"'s public key.
-
94. The apparatus of claim 87, wherein:
a representation of the recipient'"'"'s public key includes the recipient'"'"'s key status.
-
95. The apparatus of claim 87, wherein:
the certificate includes the representation of the sender'"'"'s identity and the representation of the sender'"'"'s public key.
-
96. The apparatus of claim 87, wherein:
the certificate includes the representation of the message and the representation of the recipient'"'"'s identity.
Specification