Claims
- 1. A method of generating an encryption key, comprising the steps of:
obtaining a first source of entropy for seeding an encryption key generation process, the first source of entropy being provided to a device performing a key generation process via a network from another device that communicates via the network with the device performing the key generation process, wherein the first source of entropy is accumulated in and is specific to the other device providing the first source of entropy; obtaining a second source of entropy for seeding the encryption key generation process, the second source of entropy being accumulated within the device performing the key generation process, wherein the second source of entropy is specific to the device performing the key generation process; generating the encryption key utilizing both the first and second sources of entropy to seed the generating process; and storing the generated key in a key storage medium of the device generating the key.
- 2. A method according to claim 1, wherein the device performing the key generation process is embedded within a printer.
- 3. A method according to claim 1, wherein the second source of entropy is information accumulated within an embedded device of a printer, and the first source of entropy is information accumulated in a host computer.
- 4. A method according to claim 1, wherein the key generated in the generating step is a public/private keypair of a printer.
- 5. A method according to claim 1, wherein the first source of entropy is provided via the network to the device performing the key generation process in conjunction with a request from the other device to receive the key from the device performing the key generation process.
- 6. A method according to claim 1, wherein the device generating the key is newly installed on the network, and wherein the key generation process is delayed until a predetermined amount of entropy information is accumulated and stored in the device performing the key generation process as the first source of entropy.
- 7. A method according to claim 1, wherein device performing the key generation process is connected externally to a printer.
- 8. A method of generating an encryption key in an embedded device that provides encryption functionality to a printer, comprising the steps of:
the embedded device receiving a request for the encryption key from a host computer via a network, wherein the request includes a first source of entropy information accumulated in the host computer; in response to receiving the request, the embedded device determining whether the requested encryption key is present in the embedded device; in a case where it is determined that the requested encryption key is not present, the embedded device generating an encryption key utilizing the first source of entropy of the host computer and a second source of entropy accumulated within the embedded device to seed a key generating process; and storing the generated encryption key in a key storage medium of the embedded device.
- 9. A method according to claim 8, further comprising the steps of:
performing an integrity check on the generated encryption key to generate an integrity check result value; and storing the integrity check result value in the embedded device.
- 10. A method according to claim 8, wherein the generated key is a public/private keypair of the printer.
- 11. A method according to claim 8, wherein the request is issued by a printer driver in the host computer.
- 12. A method according to claim 8 further comprising the step of transmitting the generated key to the host computer as a response to the request.
- 13. A method according to claim 8, wherein the embedded device is internal to the printer.
- 14. A method according to claim 8, wherein the embedded device is an external device connected to the printer to add encryption functionality to a printer not having encryption functionality.
- 15. A printer having an embedded device that generates an encryption key, comprising:
a receiver that receives a request for the encryption key from a host computer via a network, wherein the request includes entropy information accumulated in the host computer; a key storage medium for storing an encryption key; an entropy accumulation and storage device that accumulates and stores entropy information of the printer; a processor for determining, in response to receiving the request, whether the requested encryption key is stored in the key storage medium; and an encryption key generator that, in a case where it is determined that the requested encryption key is not stored in the key storage medium, generates an encryption key utilizing the source of entropy of the host computer and the accumulated entropy of the printer stored in the entropy storage device to seed a key generating process, wherein the key generated by the encryption key generator is stored in the key storage medium.
- 16. The printer according to claim 15, wherein the generated key is a private/public keypair of the printer.
- 17. The printer according to claim 15 wherein the encryption key generator further performs an integrity check on the generated encryption key and stores a resultant integrity check value, in the key storage medium.
- 18. The printer according to claim 15 further comprising a transmitter that transmits the generated encryption key to the host computer via the network as a response to the request.
- 19. A network device that provides encryption functionality to a printer associated with the network device, comprising:
a receiver that receives a request for an encryption key from a host computer via a network, wherein the request includes entropy information accumulated in the host computer; a key storage medium for storing an encryption key; an entropy accumulation and storage device that accumulates and stores entropy information of the network device; a processor for determining, in response to receiving the request, whether the requested encryption key is stored in the key storage medium; and an encryption key generator that in a case where it is determined that the requested encryption key is not stored in the key storage medium, generates an encryption key utilizing the source of entropy of the host computer and the entropy of the network device accumulated and stored in the entropy storage device to seed a key generating process, wherein the key generated by the encryption key generator is stored in the key storage medium.
- 20. The network device according to claim 19, wherein the network device is embedded in a printer.
- 21. The network device according to claim 19, wherein the device is connected externally to a printer.
- 22. The network device according to claim 19, wherein the generated key is a private/public keypair of the printer associated with the network device.
- 23. The network device according to claim 19 wherein the encryption key generator further performs an integrity check on the generated encryption key and stores a resultant integrity check value in the key storage medium.
- 24. The network device according to claim 19 further comprising a transmitter that transmits the generated encryption key to the host computer via the network as a response to the request.
- 25. Computer-executable process steps for generating an encryption key, comprising the steps of:
obtaining a first source of entropy for seeding an encryption key generation process, the first source of entropy being provided to a device performing a key generation process via a network from another device that communicates via the network with the device performing the key generation process, wherein the first source of entropy is accumulated in and is specific to the other device providing the first source of entropy; obtaining a second source of entropy for seeding the encryption key generation process, the second source of entropy being accumulated within the device performing the key generation process, wherein the second source of entropy is specific to the device performing the key generation process; generating the encryption key utilizing both the first and second sources of entropy to seed the generating process; and storing the generated key in a key storage medium of the device generating the key.
- 26. Computer-executable process steps according to claim 25, wherein the device performing the key generation process is embedded within a printer.
- 27. Computer-executable process steps according to claim 25, wherein the second source of entropy is information accumulated within an embedded device of a printer, and the first source of entropy is information accumulated in a host computer.
- 28. Computer-executable process steps according to claim 25, wherein the key generated in the generating step is a public/private keypair of a printer.
- 29. Computer-executable process steps according to claim 25, wherein the first source of entropy is provided via the network to the device performing the key generation process in conjunction with a request from the other device to receive the key from the device perfoming the key generation process.
- 30. Computer-executable process steps according to claim 25, wherein the device generating the key is newly installed on the network, and wherein the key generation process is delayed until a predetermined amount of entropy information is accumulated and stored in the device performing the key generation process.
- 31. Computer-executable process steps according to claim 25, wherein the device performing the key generation process is connected externally to a printer.
- 32. Computer-executable process steps for generating an encryption key in an embedded device that provides encryption functionality to a printer, comprising the steps of:
the embedded device receiving a request for the encryption key from a host computer via a network, wherein the request includes a first source of entropy information accumulated in the host computer; in response to receiving the request, the embedded device determining whether the requested encryption key is present in the embedded device; in a case where it is determined that the requested encryption key is not present, the embedded device generating an encryption key utilizing the first source of entropy of the host computer, and a second source of entropy accumulated within the embedded device to seed a key generating process; and storing the generated encryption key in a key storage medium of the embedded device.
- 33. Computer-executable process steps according to claim 32, further comprising the steps of:
performing an integrity check on the generated encryption key to generate an integrity check result value; and storing the integrity check result value in the embedded device.
- 34. Computer-executable process steps according to claim 32, wherein the generated key is a public/private keypair of the printer.
- 35. Computer-executable process steps according to claim 32, wherein the request is issued by a print driver in the host computer.
- 36. Computer-executable process steps according to claim 32 further comprising the step of transmitting the generated key to the host computer as a response to the request.
- 37. Computer-executable process steps according to claim 32, wherein the embedded device is internal to the printer.
- 38. Computer-executable process steps according to claim 32, wherein the embedded device is an external device connected to the printer to add encryption functionality to a printer not having encryption functionality.
- 39. A computer-readable medium on which are stored computer-executable process steps for generating an encryption key, the computer-executable process steps comprising the steps of:
obtaining a first source of entropy for seeding an encryption key generation process, the first source of entropy being provided to a device performing a key generation process via a network from another device that communicates via the network with the device performing the key generation process, wherein the first source of entropy is accumulated in and is specific to the other device providing the first source of entropy; obtaining a second source of entropy for seeding the encryption key generation process, the second source of entropy being accumulated within the device performing the key generation process, wherein the second source of entropy is specific to the device performing the key generation process; generating the encryption key utilizing both the first and second sources of entropy to seed the generating process; and storing the generated key in a key storage mechanism of the device generating the key.
- 40. A computer-readable medium according to claim 39, wherein the device performing the key generation process is embedded within a printer.
- 41. A computer-readable medium according to claim 39, wherein the second source of entropy is information accumulated within an embedded device of a printer, and the first source of entropy is information accumulated in a host computer.
- 42. A computer-readable medium according to claim 39, wherein the key generated in the generating step is a public/private keypair of a printer.
- 43. A computer-readable medium according to claim 39, wherein the first source of entropy is provided via the network to the device performing the key generation process in conjunction with a request from the other device to receive the key from the device performing the key generation process.
- 44. A computer-readable medium according to claim 39, wherein the device generating the key is newly installed on the network, and wherein the key generation process is delayed until a predetermined amount of entropy information is accumulated and stored in the device performing the key generation process.
- 45. A computer-readable medium according to claim 39, wherein the device performing the key generation process is connected externally to a printer.
- 46. A computer-readable medium on which are stored computer-executable process steps for generating an encryption key in an embedded device that provides encryption functionality to a printer, the computer-executable process steps comprising the steps of:
the embedded device receiving a request for the encryption key from a host computer via a network, wherein the request includes a first source of entropy information accumulated in the host computer; in response to receiving the request, the embedded device determining whether the requested encryption key is present in the embedded device; in a case where it is determined that the requested encryption key is not present, the embedded device generating an encryption key utilizing the first source of entropy of the host computer and a second source of entropy accumulated and stored within the embedded device to seed a key generating process; and storing the generated encryption key in a key storage medium of the embedded device.
- 47. A computer-readable medium according to claim 46, further comprising the steps of:
performing an integrity check on the generated encryption key to generate an integrity check result value; and storing the integrity check result value in the embedded device.
- 48. A computer-readable medium according to claim 46, wherein the generated key is a public/private keypair of the printer.
- 49. A computer-readable medium according to claim 46, wherein the request is issued by a print driver in the host computer.
- 50. A computer-readable medium according to claim 46 further comprising the step of transmitting the generated key to the host computer as a response to the request.
- 51. A computer-readable medium according to claim 46, wherein the embedded device is internal to the printer.
- 52. A computer-readable medium according to claim 46, wherein the embedded device is an external device connected to the printer to add encryption functionality to a printer not having encryption functionality.
Parent Case Info
[0001] Incorporation By Reference
[0002] U.S. patent application Ser. No. 10/010,974, filed on Dec. 5, 2001, entitled “Secure Printing With Authenticated Printer Key” is hereby incorporated by reference as if set forth in full herein.