IP Library Granted Patent US 6,941,284
Granted Patent B2
US 6,941,284 · App. 09/726,744 · Granted Sep 6, 2005

Method for dynamically using cryptographic keys in a postage meter

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,941,284
App. No.
09/726,744
Granted
Sep 6, 2005
Kind
B2
Abstract

A postage meter includes a vault that accounts for postage dispensed by the postage meter; and a printhead module having a printhead for printing the postage dispensed; a smart card chip having a ROM having software code stored therein; an EEPROM having an encrypted key and executable code stored therein, a CPU; a RAM; and a flash memory having an encrypted pointer data file stored therein. During power-up of the postage meter the encrypted pointer data file is read from the flash memory into the RAM by the CPU, the CPU uses the executable code to decrypt the encrypted pointer data file to obtain from the software code components parts of a decryption key and to assemble in the ram the decryption key from the component parts, the CPU uses the assembled decryption key and the executable code to decrypt the encrypted cryptographic key, and the CPU stores the decrypted cryptographic key in a secure area of the EEPROM, erases the decryption key and the encrypted pointer data file from the RAM, erases the encrypted cryptographic key and executable code from the EEPROM, and erases the pointer data file from the flash memory.

Claims (40)

1. A method for dynamically creating in an electronic chip, after its manufacture, a cryptographic key having a plurality of component parts, the method comprising the steps of:

storing software code in a memory device of the electronic chip;

creating a data file having a plurality of pointers, each of the plurality of pointers corresponding to one of the plurality of component parts by identifying a location in the memory device where a portion of the software code is the same as the corresponding one of the component parts;

providing the data file to the electronic chip;

using the plurality of pointers within the electronic chip to obtain the plurality of component parts from the stored software code; and

assembling the cryptographic key in the electronic chip using the plurality of component parts obtained from the stored software code;

wherein the memory device is a ROM;

wherein the electronic chip is a smart card chip including the ROM, an EEPROM having an encrypted key, a decryption algorithm, and executable code stored therein, a CPU, and a RAM;

the electronic chip is part of a postage meter that also includes a vault that accounts for postage dispensed by the postage meter and a print-head that includes the electronic chip and a print-head for printing the postage dispensed, the print-head further includes a flash memory in which the data file is stored in encrypted form; and

further comprising the steps of during power-up of the postage meter the encrypted data file is read from flash memory into the RAM by the CPU;

the CPU uses the executable code to decrypt the encrypted data file to obtain the plurality of pointers, the CPU uses the plurality of pointers to obtain from the software code component parts of the cryptographic key and to assemble in RAM the cryptographic key from the component parts;

the CPU uses the assembled cryptographic key and the decryption algorithm to decrypt the encrypted key;

the CPU stores the decrypted encrypted key in a secure area of the EEPROM, erases the assembled cryptographic key, and the encrypted data file from the RAM, erases the encrypted key, the decryption algorithm, and executable code from EEPROM, and erases the encrypted data file from the flash memory.

2. The method of claim 1 , wherein the software code that is stored is an operating system code.

3. The method of claim 1 , wherein the cryptographic key is in hexadecimal form and the software code is stored in the memory device in hexadecimal form.

4. The method of claim 1 , wherein the cryptographic key is maintained as a secret decryption key.

5. The method of claim 1 , wherein the electronic chip is a smart card chip.

6. The method of claim 5 , wherein the plurality of pointers are obtained by scanning the stored software code in the memory device to identity locations in the memory device where the portions of the software code correspond to the plurality of component parts.

7. The method of claim 6 , wherein the scanning of the stored software code starts at a random location in the memory device.

8. The method of claim 7 , further comprising cryptographically securing the data file that is provided to the electronic chip.

9. The method of claim 1 , further comprising storing the software code in a ROM memory device of the electronic chip.

10. A method for securely decrypting in an electronic chip, after its manufacture, an encrypted cryptographic key using a decryption key having a plurality of component parts, the method comprising the steps of:

storing software codes in a memory device of the electronic chip;

creating a data file having a plurality of pointers, each of the plurality of pointers corresponding to one of the plurality of component parts by identifying a location in the memory device where a portion of the software code is the same as the corresponding one of the component parts;

providing the data file to the electronic chip;

using the plurality of pointers in the electronic chip to obtain the plurality of component parts from the stored software code;

assembling the decryption key in the electronic chip using the plurality of component parts obtained from the stored software code;

using the decryption key to decrypt the encrypted cryptographic key;

erasing the pointer data file, the encrypted cryptographic key, and the decryption key from the electronic chip; and

storing the decrypted cryptographic key in a secure region of the electronic chip.

11. A method as recited in claim 10 , further comprising assembling the decryption key in a volatile memory.

12. A method as recited in claim 11 , further comprising storing the software code in a ROM, storing the encrypted cryptographic key and the decrypted cryptographic key in an EEPROM.

13. A method as recited in claim 12 , further comprising storing executable code in the EEPROM for performing the assembling of the decryption key and the decrypting of the encrypted cryptographic key, and erasing the executable code from the EEPROM subsequent to the decrypting of the encrypted cryptographic key.

14. The method of claim 12 , wherein the stored software code is an operating system code.

15. The method of claim 12 , wherein the decryption key and the stored software code are both in hexadecimal form.

16. The method of claim 12 , wherein the cryptographic key is a secret key.

17. The method of claim 12 , wherein the electronic chip is a smart card chip.

18. The method of claim 12 , wherein the plurality of pointers are obtained by scanning the stored software code in the memory device to identify locations in the memory device where portions of the software code correspond to the plurality of component parts.

19. The method of claim 18 , wherein the scanning of the stored software code starts at a random location in the memory device.

20. The method of claim 19 , further comprising cryptographically securing the data file that is provided to the electronic chip.

Assignments (2)
RELEASE OF PATENT SECURITY AGREEMENT Recorded Feb 19, 2025
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: PITNEY BOWES, INC.
Reel/Frame 070256/0396 →
SECURITY INTEREST Recorded Nov 1, 2019
From: PITNEY BOWES INC.; NEWGISTICS, INC.; BORDERFREE, INC.; TACIT KNOWLEDGE, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 050905/0640 →