IP Library Granted Patent US 8,756,439
Granted Patent B1
US 8,756,439 · App. 12/871,147 · Granted Jun 17, 2014

Encryption key management for secured access

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 8,756,439
App. No.
12/871,147
Granted
Jun 17, 2014
Kind
B1
Abstract

A non-transient computer usable medium has computer usable instructions embodied thereon, the computer usable instructions configured to cause a computer device to perform the steps of receiving an intermediate program code prior to execution of the intermediate program code; recognizing data storage commands within the intermediate program code; modifying the intermediate program code such that, during execution of the intermediate program code, the data is encrypted before it is stored; recognizing data retrieval commands within the intermediate program code; modifying the intermediate program code such that, during execution of the intermediate program code, the data is decrypted after it is retrieved; and providing the modified intermediate program code for execution.

Claims (32)

1. A non-transient computer usable medium having computer usable instructions embodied thereon, the computer usable instructions configured to cause a computer device to perform the steps of:

receiving an intermediate program code from an unmodified host application prior to execution of the intermediate program code;

recognizing data storage commands within the intermediate program code;

inserting encryption commands into the intermediate program code prior to compilation of the intermediate program code by the operating system such that, during execution of the intermediate program code, the data is encrypted by the intermediate program code and, after encryption, the encrypted data is stored on a data storage device;

recognizing data retrieval commands within the intermediate program code; and

inserting decryption commands into the intermediate program code prior to compilation of the intermediate program code by the operating system such that, during execution of the intermediate program code, the encrypted data retrieved from the data storage device and the retrieved data is decrypted by the intermediate program code before being returned to the host application.

2. The computer usable medium of claim 1 , wherein, upon execution of the modified intermediate program code, the computer device requests an encryption key to encrypt and decrypt the data from an external key storage device.

3. The computer usable medium of claim 2 , wherein the encryption key is received from the external key storage device in an encrypted form using a public key encryption method, wherein the computer device maintains a private key corresponding to the public key encryption method.

4. The computer usable medium of claim 1 , wherein the steps of recognizing and inserting are performed at run-time.

5. The computer usable medium of claim 1 , wherein the steps of recognizing and inserting are performed prior to run-time.

6. The computer usable medium of claim 1 , wherein the steps of receiving the intermediate program code, recognizing data storage commands, inserting encryption commands into the intermediate program code, recognizing data retrieval commands, and inserting decryption commands into the intermediate program code are performed during a current operating session, and wherein the computer usable instructions are further configured to cause the computer device to perform the steps of:

recognizing a first set of data retrieval commands corresponding to data storage commands from a previous operating session;

receiving an encryption key used during the previous operating session to encrypt data corresponding to the data storage commands from the previous operating session; and

decrypting the data corresponding to the data storage commands from the previous operating session during the current operating session using the encryption key used during the previous operating session.

7. A system for encryption key management, comprising:

an encryption key server configured to establish a current secure operating session with an embedded system, the embedded system comprising a processor, an embedded operating system, an internal memory, and an encryption module configured to encrypt data stored on the internal memory and communicated to the processor;

wherein the encryption key server is configured transmit a previous encryption key used by the encryption module to encrypt data on the internal memory during a previous operating session, and

the encryption module is configured to decrypt the data from the previous operating session using the previous encryption key;

wherein the encryption key server is configured to transmit a current encryption key to the encryption module, and

the encryption module is configured to use the current encryption key to encrypt data stored on the internal memory during the current operating session; and

wherein the encryption module comprises a non-transient computer usable medium having computer usable instructions embodied thereon, the computer usable instructions configured to cause a computer device to perform the steps of:

receiving an intermediate program code from a host application prior to execution of the intermediate program code;

recognizing data storage commands within the intermediate program code;

inserting encryption commands into the intermediate program code prior to compilation of the intermediate program code by the operating system such that, during execution of the intermediate program code, the data is encrypted by the intermediate program code and, after encryption, the encrypted data is stored on a data storage device;

recognizing data retrieval commands within the intermediate program code; and

inserting decryption commands into the intermediate program code prior to compilation of the intermediate program code by the operating system such that, during execution of the intermediate program code, the encrypted data is retrieved from the data storage device and the retrieved data is decrypted by the intermediate program code before being returned to the host application.

8. The system of claim 7 , wherein the encryption module is configured to prevent operation of the embedded system unless a secure operating session is established with the encryption key server.

9. The system of claim 7 , wherein the encryption module is configured to delete the data on the internal memory unless the encryption module receives encryption keys from the encryption key server at a predetermined rate.

10. The system of claim 7 , wherein the encryption key server comprises a radio module configured to transmit encryption keys only to embedded systems within a proximity distance.

11. The system of claim 10 , wherein proximity distance is less than 5 meters.

12. The system of claim 10 , wherein proximity distance is less than 10 meters.

13. The system of claim 7 , wherein the step of transmitting the previous encryption key comprises encrypting the previous encryption key using a public encryption key of a public encryption method, wherein a private encryption key of the public encryption method is stored on the embedded system.

Assignments (4)
NOTICE OF SUCCESSOR AGENT AND ASSIGNMENT OF SECURITY INTEREST IN REEL/FRAME 056047/0552 Recorded Nov 7, 2025
From: BANK OF AMERICA, N.A., AS PREDECESSOR AGENT
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR AGENT
Reel/Frame 073506/0548 →
MERGER AND CHANGE OF NAME Recorded Sep 19, 2022
From: PHYSICAL OPTICS CORPORATION; MERCURY MISSION SYSTEMS, LLC
To: MERCURY MISSION SYSTEMS, LLC
Reel/Frame 061462/0861 →
SECURITY AGREEMENT Recorded Mar 5, 2021
From: PHYSICAL OPTICS CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 056047/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2010
From: JANNSON, TOMASZ; FORRESTER, THOMAS; DEGROOD, KEVIN DUANE; NGUYEN, KATHY MAI; KOSTRZEWSKI, ANDREW; LEE, KANG; GANS, ERIC; WALTER, KEVIN CARL
To: PHYSICAL OPTICS CORPORATION
Reel/Frame 025168/0968 →