IP Library Granted Patent US 9,825,764
Granted Patent B2
US 9,825,764 · App. 14/190,267 · Granted Nov 21, 2017

Enhanced security for media decryption

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,825,764
App. No.
14/190,267
Granted
Nov 21, 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 (43)

1. A method for secure media decryption 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 two or more related function calls, from the application to the module located outside of the emulated environment, for secure media decryption, in which the two or more related function calls comprise at least one of:

a function call to verify an encryption cipher used to encrypt data;

a function call to verify a hash associated with the encryption of the data; a function call to obtain the encrypted data,

a tag value associated with the encryption of the data, and an initialization vector; and

a function call to decrypt the data using a decryption cipher;

combining the two or more related function calls into a single function call from the emulated environment; and

reading the encrypted data from media prior to identifying two or more related function calls;

receiving an error, at the application, if the tag value associated with the encryption of the data indicates an authentication failure;

executing the single combined function call to the 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 , further comprising identifying a type of decryption to be used to decrypt the data, wherein identifying the type of decryption indicates whether a different initialization vector was generated for each input data when encrypted.

3. The method of claim 1 , in which the encryption cipher used to encrypt data is identified to verify that it is an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

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

5. The method of claim 1 , in which the decryption cipher comprises an AES-GCM decryption cipher.

6. A computer program product for secure media decryption 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 two or more related function calls, from the application to the module located outside of the emulated environment, for secure media decryption, in which the two or more related function calls comprise at least one of:

a function call to verify an encryption cipher used to encrypt data; a function call to verify a hash associated with the encryption of the data;

a function call to obtain the encrypted data, a tag value associated with the encryption of the data, and an initialization vector; and

a function call to a decrypt the data using a decryption cipher; code to combine the two or more related function calls into a single function call from the emulated environment; and

code to read the encrypted data from media prior to identifying two or more related function calls;

code to receive an error, at the application, if the tag value associated with the encryption of the data indicates an authentication failure;

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

7. The computer program product of claim 6 , in which the medium further comprises code to identify a type of decryption to be used to decrypt the data, wherein identifying the type of decryption indicates whether a different initialization vector was generated for each input data when encrypted.

8. The computer program product of claim 6 , in which the encryption cipher used to encrypt data is identified to verify that it is an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

9. The computer program product of claim 6 , in which the module comprises a cryptographic module.

10. The computer program product of claim 6 , in which the decryption cipher comprises an AES-GCM decryption cipher.

11. An apparatus for secure media decryption 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 two or more related function calls, from the application to the module located outside of the emulated environment, for secure media decryption, in which the two or more related function calls comprise at least one of:

a function call to verify an encryption cipher used to encrypt data; a function call to verify a hash associated with the encryption of the data;

a function call to obtain the encrypted data, a tag value associated with the encryption of the data, and an initialization vector; and

a function call to a decrypt the data using a decryption cipher; to combine the two or more related function calls into a single function call from the emulated environment; and

to read the encrypted data from media prior to identifying two or more related function calls;

to receive an error, at the application, if the tag value associated with the encryption of the data indicates an authentication failure;

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

12. The apparatus of claim 11 , in which the processor is further configured to identify a type of decryption to be used to decrypt the data, wherein identifying the type of decryption indicates whether a different initialization vector was generated for each input data when encrypted.

13. The apparatus of claim 11 , in which the encryption cipher used to encrypt data is identified to verify that it is an advanced encryption standard in Galois Counter Mode (AES-GCM) encryption cipher.

14. The apparatus of claim 11 , in which the module comprises a cryptographic module.

15. The apparatus of claim 11 , in which the decryption cipher comprises an AES-GCM decryption cipher.

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/0919 →