IP Library Granted Patent US 9,819,493
Granted Patent B2
US 9,819,493 · App. 14/190,227 · Granted Nov 14, 2017

Enhanced security for media encryption

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 9,819,493
App. No.
14/190,227
Granted
Nov 14, 2017
Kind
B2
Abstract

Systems and methods for enhanced security of media are provided. Media security may be enhanced by improving the setup of encryption and/or decryption, by improving the performance of encryption and/or decryption, or by improving both. The calls related to enhanced security of media from an application in an emulated environment to a security module in the operating system hosting the emulated environment may be combined to reduce the overhead of accessing a security module. An application handling secure shell (SSH) communications may execute multiple calls to a cryptographic module in the host operating system. Because many calls to the cryptographic module during SSH communications follow patterns, two or more related calls may be combined into a single combined call to the cryptographic module. For example, a call to generate a server-to-client key and a call to generate a client-to-server key may be combined into a single call.

Claims (55)

1. A method for secure media encryption in one function call, comprising:

providing an Interface for an application executing in an emulated environment of a host operating system, in which the application accesses a security module in the host operating system through function calls to the interface;

identifying a type of encryption to be used to compute the encryption of data, wherein identifying the type of encryption indicates whether a different initialization vector should be generated for each input data to be encrypted;

identifying two or more related function calls, from the application to the security module located outside of the emulated environment, for secure media encryption, in which the two or more related function calls comprise at least one of:

a function call to randomly generate an initialization vector; a function call to compute an encryption of data; a function call to format a binary large object (BLOB); and

a function call to write the BLOB to the secure media; combining the two or more related function calls into a single function call; and

executing the single combined function call from the emulated environment to the security module of the host operating system located outside of the emulated environment to perform the two or more related function calls.

2. The method of claim 1 , in which the encryption of data is computed using an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

3. The method of claim 1 , in which the BLOB comprises information associated with at least one of:

a media encryption version;

a BLOB version;

an input parameter that identifies an initialization vector generation algorithm;

a tag value;

an initialization vector;

a length of the encrypted data;

the encrypted data; and

a hash of at least one of the above information.

4. The method of claim 1 , in which the module comprises a cryptographic module.

5. A computer program product for secure media encryption in one function call, comprising:

a non-transitory computer-readable medium comprising:

code to provide an interface for an application executing in an emulated environment of a host operating system, in which the application accesses a security module in the host operating system through function calls to the interface;

code to identify a type of encryption to be used to compute the encryption of data, wherein identifying the type of encryption indicates whether a different initialization vector should be generated for each input data to be encrypted;

code to identify two or more related function calls, from the application to the security module located outside of the emulated environment, for secure media encryption, in which the two or more related function calls comprise at least one of:

a function call to randomly generate an initialization vector;

a function call to compute an encryption of data; a function call to format a binary large object (BLOB); and a function call to write the BLOB to the secure media; code to combine the two or more related function calls into a single function call; and

code to execute the single combined function call from the emulated environment to the security module of the host operating system to perform the two or more related function calls located outside of the emulated environment.

6. The computer program product of claim 5 , in which the encryption of data is computed using an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

7. The computer program product of claim 5 , in which the BLOB comprises information associated with at least one of:

a media encryption version;

a BLOB version;

an input parameter that identifies an initialization vector generation algorithm;

a tag value;

an initialization vector;

a length of the encrypted data;

the encrypted data; and

a hash of at least one of the above information.

8. The computer program product of claim 5 , in which the module comprises a cryptographic module.

9. An apparatus for secure media encryption in one function call, comprising:

a processor; and

a memory coupled to the processor, in which the processor is configured: to provide an interface for an application executing in an emulated environment of a host operating system, in which the application accesses a security module in the host operating system through function calls to the interface;

to identify a type of encryption to be used to compute the encryption of data, wherein identifying the type of encryption indicates whether a different initialization vector should be generated for each input data to be encrypted;

to identify two or more related function calls, from the application to the security module located outside of the emulated environment, for secure media encryption, in which the two or more related function calls comprise at least one of:

a function call to randomly generate an initialization vector; a function call to compute an encryption of data; a function call to format a binary large object (BLOB); and a function call to write the BLOB to the secure media; to combine the two or more related function calls into a single function call; and

to execute the single combined function call from the emulated environment to the security module of the host operating system to perform the two or more related function calls located outside of the emulated environment.

10. The apparatus of claim 9 , in which the encryption of data is computed using an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

11. The apparatus of claim 9 , in which the BLOB comprises information associated with at least one of:

a media encryption version;

a BLOB version;

an input parameter that identifies an initialization vector generation algorithm;

a tag value;

an initialization vector;

a length of the encrypted data;

the encrypted data; and

a hash of at least one of the above information.

12. The apparatus of claim 9 , in which the module comprises a cryptographic module.

Assignments (7)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
SECURITY INTEREST Recorded Jan 31, 2020
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 051682/0072 →
SECURITY INTEREST Recorded Sep 13, 2018
From: UNISYS CORPORATION
To: WELLS FARGO BANK NA
Reel/Frame 046861/0272 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2014
From: CLAYTON, KEVIN; WILKES, PETER; ONISHI, YUKO; CAMPBELL, RAYMOND
To: UNISYS CORPORATION
Reel/Frame 032641/0870 →