Claims
- 1. A method of creating a secure file comprised of a secure client header and a data block, the method comprising the steps of:
generating the secure client header, comprising the steps of:
forming a client information block comprised of a public information block and a private information block; encrypting at least a portion of the private information block of the client information block; performing an integrity check on the client information block to obtain a client information integrity check result value; and appending the client information integrity check result value to the client information block; and appending the data block to the secure client header to obtain the secure file.
- 2. A method according to claim 1, wherein the data block is encrypted prior to being appended to the secure client header.
- 3. A method according to claim 1, wherein the client information block further comprises a routing information block, and wherein at least a portion of the routing information block is encrypted before the integrity check is performed.
- 4. A method according to claim 1, wherein the public information block comprises at least one of a public key algorithm, a symmetric key algorithm, a signature key algorithm and a hash algorithm.
- 5. A method according to claim 1, wherein the private information block comprises at least one of a symmetric key and a hash key, and the symmetric key and the hash key are encrypted in the private information block encrypting step.
- 6. A method according to claim 3, wherein the routing information block comprises at least one of sender identification information, recipient identification information, a password, and job identification information.
- 7. A method according to claim 6, wherein at least the password and the job identification information are encrypted.
- 8. A method according to claim 2 further comprising the steps of:
dividing the encrypted data block into n encrypted data blocks; performing an integrity check for a first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 9. A method according to claim 1, wherein the secure file is any one of a print file to be transmitted to a printer, a file to be stored in a storage medium, an e-mail transmission, or a facsimile transmission.
- 10. A method according to claim 1 or claim 8, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 11. A file format for a secure file, comprising:
a secure client header comprising:
a client information block comprised of a public information block and a private information block, wherein at least a portion of the private information block is encrypted; and a client information block integrity check value appended to the client information block, the client information block integrity check value being obtained by performing an integrity check on the client information block; and a data block appended to ihe secure client header.
- 12. The file format according to claim 11, wherein the data block is encrypted prior to being appended to the secure client header.
- 13. The file format according to claim 11, wherein the client information block further comprises a routing information block, and wherein at least a portion of the routing information block is encrypted before the integrity check is performed.
- 14. The file format according to claim 11, wherein the public information block comprises at least one of a public key algorithm, a symmetric key algorithm, a signature key algorithm and a hash algorithm.
- 15. The file format according to claim 11, wherein the private information block comprises at least one of a symmetric key and a hash key, and the symmetric key and the hash key are encrypted in the private information block encrypting step.
- 16. The file format according to claim 13, wherein the routing information block comprises at least one of sender identification information, recipient identification information, a password, and job identification information.
- 17. The file format according to claim 16, wherein at least the password and the job identification information are encrypted.
- 18. The file format according to claim 12, wherein the encrypted data block comprises a plurality of encrypted data blocks each appended with its own respective integrity check result value, wherein the plurality of data blocks and their respective integrity check result values are obtained by (a) dividing the encrypted data block into n encrypted data blocks, (b) performing an integrity check on a first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block so as to obtain a first encrypted data block integrity check result value, (c) appending the first encrypted data block integrity check result value to the first encrypted data block, and (d) repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 19. The file format according to claim 11, wherein the secure file is any one of a print file to be transmitted to a printer, a file to be stored in a storage medium, an e-mail transmission, or a facsimile transmission.
- 20. The file format according to claim 11 or claim 18, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 21. Computer-executable process steps for creating a secure file comprised of a secure client header and a data block, the executable process steps comprising the steps of:
generating the secure client header, comprising the steps of:
forming a client information block comprised of a public information block and a private information block; encrypting at least a portion of the private information block of the client information block; performing an integrity check onthe client information block to obtain a client information integrity check result value; and appending the client information integrity check result value to the client information block; and appending the data block to the secure client header to obtain the secure file.
- 22. Computer-executable process steps according to claim 22, wherein the data block is encrypted prior to being appended to the secure client header.
- 23. Computer-executable process steps according to claim 21, wherein the client information block further comprises a routing information block, and wherein at least a portion of the routing information block is encrypted before the integrity check is performed.
- 24. Computer-executable process steps according to claim 21, wherein the public information block comprises at least one of a public key algorithm, a symmetric key algorithm, a signature key algorithm and a hash algorithm.
- 25. Computer-executable process steps according to claim 21, wherein the private information block comprises at least one of a symmetric key and a hash key, and the symmetric key and the hash key are encrypted in the private information block encrypting step.
- 26. Computer-executable process steps according to claim 23, wherein the routing information block comprises at least one of sender identification information, recipient identification information, a password, and job identification information.
- 27. Computer-executable process steps according to claim 26, wherein at least the password and the job identification information are encrypted.
- 28. Computer-executable process steps according to claim 22 further comprising the steps of:
dividing the encrypted data block into n encrypted data blocks; performing an integrity check for a-first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 29. Computer-executable process steps according to claim 21, wherein the secure file is any one of a print file to be transmitted to a printer, a file to be stored in a storage medium, an e-mail transmission, or a facsimile transmission.
- 30. Computer-executable process steps according to claim 21 or claim 28, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 31. A computer-readable medium on which are stored computer-executable process steps for creating a secure file comprised of a secure client header and a data block, the executable process steps comprising the steps of:
generating the secure client header, comprising the steps of:
forming a client information block comprised of a public information block and a private information block; encrypting at least a portion of the private information block of the client information block; performing an integrity check on the client information block to obtain a client information integrity check result value; and appending the client information integrity check result value to the client information block; and appending the data block to the secure client header to obtain the secure file.
- 32. A computer-readable medium according to claim 32, wherein the data block is encrypted prior to being appended to the secure client header.
- 33. A computer-readable medium according to claim 31, wherein the client information block further comprises a routing information block, and wherein at least a portion of the routing information block is encrypted before the integrity check is performed.
- 34. A computer-readable medium according to claim 31, wherein the public information block comprises at least one of a public key algorithm, a symmetric key algorithm, a signature key algorithm and a hash algorithm.
- 35. A computer-readable medium according to claim 31, wherein the private information block comprises at least one of a symmetric key and a hash key, and the symmetric key and the hash key are encrypted in the private information block encrypting step.
- 36. A computer-readable medium according to claim 33, wherein the routing information block comprises at least one of sender identification information, recipient identification information, a password, and job identification information.
- 37. A computer-readable medium according to claim 36, wherein at least the password and the job identification information are encrypted.
- 38. A computer-readable medium according to claim 32 further comprising the steps of:
dividing the encrypted data block into n encrypted data blocks; performing an integrity check for a first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 39. A computer-readable medium according to claim 31, wherein the secure file is any one of a print file to be transmitted to a printer, a file to be stored in a storage medium, an e-mail transmission, or a facsimile transmission.
- 40. A computer-readable medium according to claim 31 or claim 38, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 41. A method of creating a secure file comprised of a client header and a data block, the method comprising the steps of:
generating the client header; performing an integrity check on the client header so as to obtain a client header integrity check result value; appending the client header integrity check result value to the client header; generating the data block; encrypting the generated data block; dividing the encrypted data block into n encrypted data blocks; performing an integrity check on a first one of the n encrypted data blocks and the client header integrity check result value appended to the client header so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 42. A method according to claim 41, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 43. A file format for a secure file, comprising:
a client header; a client header integrity check result value appended to the client header; and an encrypted data block, wherein, the encrypted data block comprises a plurality of encrypted data blocks each appended with its own respective integrity check result value, wherein the plurality of data blocks and their respective integrity check result values are obtained by (a) dividing the encrypted data block into n encrypted data blocks, (b) performing an integrity check on a first one of the n encrypted data blocks and the client information integrity check result value appended to the client information block so as to obtain a first encrypted data block integrity check result value, (c) appending the first encrypted data block integrity check result value to the first encrypted data block, and (d) repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 44. A file format according to claim 43, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 45. Computer-executable process steps for creating a secure file comprised of a client header and a data block, the executable process steps comprising the steps of:
generating the client header; performing an integrity check on the client header so as to obtain a client header integrity check result value; appending the client header integrity check result value to the client header; generating the data block; encrypting the generated data block; dividing the encrypted data block into n encrypted data blocks; performing an integrity check on a first one of the n encrypted data blocks and the client header integrity check result value appended to the client header so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 46. Computer-executable process steps according to claim 45, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
- 47. A computer-readable medium on which are stored computer-executable process steps for creating a secure file comprised of a client header and a data block, the executable process steps comprising the steps of:
generating the client header; performing an integrity check on the client header so as to obtain a client header integrity check result value; appending the client header integrity check result value to the client header; generating the data block; encrypting the generated data block; dividing the encrypted data block into n encrypted data blocks; performing an integrity check on a first one of the n encrypted data blocks and the client header integrity check result value appended to the client header so as to obtain a first encrypted data block integrity check result value; appending the first encrypted data block integrity check result value to the first encrypted data block; and repeatedly performing, for each of the subsequent n encrypted data blocks, an integrity check on the subsequent encrypted data block and an integrity check result value appended to a previous one of the n encrypted data blocks, so as to obtain an integrity check result value for the subsequent encrypted data block, and appending the subsequent integrity check result value to the subsequent encrypted data block.
- 48. A computer-readable medium according to claim 47, wherein the integrity check comprises a Hashing Message Authentication Code (HMAC).
INCORPORATION BY REFERENCE
[0001] 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.