IP Library › Granted Patent US 11,533,174
Granted Patent B2
US 11,533,174 · App. 16/775,851 · Granted Dec 20, 2022

Binding secure objects of a security module to a secure guest

Inventors: Reinhard Theodor Buendgen (Tuebingen, DE); Richard Victor Kisley (Charlotte, NC); Volker Urban (Boeblingen, DE)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/0877G06F9/45558G06F21/57G06F21/602G06F2009/45595
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 11,533,174
App. No.
16/775,851
Granted
Dec 20, 2022
Kind
B2
Abstract

At least one secure object of a security module is bound to a secure guest. A trusted component determines whether metadata of the secure guest includes a confidential binding attribute for the security module. Based on determining that the metadata includes the confidential binding attribute, the trusted component configures the security module for the secure guest in a select mode. The select mode prevents certain operations from being intercepted by a hypervisor associated with the secure guest. The trusted component intercepts a security module communication and performs a cryptographic operation on one or more secure objects of the security module communication using the confidential binding attribute to provide a cryptographic result. An outcome of the security module communication, which includes the cryptographic result, is provided to a receiver.

Claims (46)

1. A computer program product for facilitating processing within a computing environment, the computer program product comprising:

at least one computer readable storage medium readable by at least one processing circuit and storing instructions for performing a method comprising:

binding at least one secure object of a security module of the computing environment to a secure guest of the computing environment, the secure guest configured to use the security module, and wherein the binding comprises:

determining, by a trusted component of the computing environment, whether metadata of the secure guest includes a confidential binding attribute for the security module, the confidential binding attribute to be used to bind the at least one secure object generated by the security module to the secure guest, the security module being separate from the trusted component and assigned to the secure guest using a hypervisor;

configuring, by the trusted component based on determining that the metadata includes the confidential binding attribute, the security module for the secure guest in a select mode, the select mode preventing certain operations from being intercepted by the hypervisor associated with the secure guest;

intercepting, by the trusted component, a security module communication;

performing a cryptographic operation on one or more secure objects of the security module communication using the confidential binding attribute to provide a cryptographic result; and

providing an outcome of the security module communication to a receiver, the outcome including the cryptographic result.

2. The computer program product of claim 1 , wherein the security module communication is a request from the secure guest to the security module, the cryptographic operation comprises a decryption operation to decrypt at least part of a secure object of the one or more secure objects of the request, and wherein the receiver is the security module.

3. The computer program product of claim 2 , wherein the decryption operation comprises decrypting data within the secure object that includes an encrypted integrity protection, the decrypting using a key obtained from the confidential binding attribute.

4. The computer program product of claim 1 , wherein the security module communication comprises results of a request that are returned by the security module based on processing the request, the cryptographic operation comprises an encryption operation to encrypt at least part of a secure object of the one or more secure objects of the results, and wherein the receiver is the secure guest.

5. The computer program product of claim 4 , wherein the encryption operation comprises encrypting data within the secure object that includes an integrity protection computed using a select key of the security module to invalidate the secure object, the encrypting using a key obtained from the confidential binding attribute.

6. The computer program product of claim 5 , wherein the method further comprises obtaining a request from the secure guest that includes one or more invalidated objects, and wherein the cryptographic operation comprises decrypting data within the one or more invalidated objects to validate the one or more invalidated objects, the decrypting using the key obtained from the confidential binding attribute.

7. The computer program product of claim 1 , wherein the security module comprises a hardware security module.

8. The computer program product of claim 1 , wherein the select mode is a hypervisor pass-through mode.

9. The computer program product of claim 1 , wherein the trusted component prevents the hypervisor from changing a set of security modules configured to the secure guest.

10. The computer program product of claim 1 , wherein the confidential binding attribute comprises a key.

11. The computer program product of claim 1 , wherein the one or more secure objects include at least one or more secure keys.

12. The computer program product of claim 1 , wherein the method further comprises preventing, by the trusted component, configuration of the security module to the secure guest, based on determining that the metadata of the secure guest does not include the confidential binding attribute.

13. The computer program product of claim 1 , wherein the confidential binding attribute comprises material to derive the key.

14. A computer system for facilitating processing within a computing environment, the computer system comprising:

a memory; and

a processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:

binding at least one secure object of a security module of the computing environment to a secure guest of the computing environment, the secure guest configured to use the security module, and wherein the binding comprises:

determining, by a trusted component of the computing environment, whether metadata of the secure guest includes a confidential binding attribute for the security module, the confidential binding attribute to be used to bind the at least one secure object generated by the security module to the secure guest, the security module being separate from the trusted component and assigned to the secure guest using a hypervisor;

configuring, by the trusted component based on determining that the metadata includes the confidential binding attribute, the security module for the secure guest in a select mode, the select mode preventing certain operations from being intercepted by the hypervisor associated with the secure guest;

intercepting, by the trusted component, a security module communication;

performing a cryptographic operation on one or more secure objects of the security module communication using the confidential binding attribute to provide a cryptographic result; and

providing an outcome of the security module communication to a receiver, the outcome including the cryptographic result.

15. The computer system of claim 14 , wherein the security module communication is a request from the secure guest to the security module, the cryptographic operation comprises a decryption operation to decrypt at least part of a secure object of the one or more secure objects of the request, and wherein the receiver is the security module.

16. The computer system of claim 15 , wherein the decryption operation comprises decrypting data within the secure object that includes an encrypted integrity protection, the decrypting using a key obtained from the confidential binding attribute.

17. The computer system of claim 14 , wherein the security module communication comprises results of a request that are returned by the security module based on processing the request, the cryptographic operation comprises an encryption operation to encrypt at least part of a secure object of the one or more secure objects of the results, and wherein the receiver is the secure guest.

18. The computer system of claim 17 , wherein the encryption operation comprises encrypting data within the secure object that includes an integrity protection computed using a select key of the security module to invalidate the secure object, the encrypting using a key obtained from the confidential binding attribute.

19. The computer system of claim 14 , wherein the method further comprises preventing, by the trusted component, configuration of the security module to the secure guest, based on determining that the metadata of the secure guest does not include the confidential binding attribute.

20. A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:

binding at least one secure object of a security module of the computing environment to a secure guest of the computing environment, the secure guest configured to use the security module, and wherein the binding comprises:

determining, by a trusted component of the computing environment, whether metadata of the secure guest includes a confidential binding attribute for the security module, the confidential binding attribute to be used to bind the at least one secure object generated by the security module to the secure guest, the security module being separate from the trusted component and assigned to the secure guest using a hypervisor;

configuring, by the trusted component based on determining that the metadata includes the confidential binding attribute, the security module for the secure guest in a select mode, the select mode preventing certain operations from being intercepted by the hypervisor associated with the secure guest;

intercepting, by the trusted component, a security module communication;

performing a cryptographic operation on one or more secure objects of the security module communication using the confidential binding attribute to provide a cryptographic result; and

providing an outcome of the security module communication to a receiver, the outcome including the cryptographic result.

21. The computer-implemented method of claim 20 , wherein the security module communication is a request from the secure guest to the security module, the cryptographic operation comprises a decryption operation to decrypt at least part of a secure object of the one or more secure objects of the request, and wherein the receiver is the security module.

22. The computer-implemented method of claim 20 , wherein the security module communication comprises results of a request that are returned by the security module based on processing the request, the cryptographic operation comprises an encryption operation to encrypt at least part of a secure object of the one or more secure objects of the results, and wherein the receiver is the secure guest.

23. The computer-implemented method of claim 22 , wherein the encryption operation comprises encrypting data within the secure object that includes an integrity protection computed using a select key of the security module to invalidate the secure object, the encrypting using a key obtained from the confidential binding attribute.

24. The computer-implemented method of claim 20 , wherein the select mode is a hypervisor pass-through mode.

25. The computer-implemented method of claim 20 , wherein the method further comprises preventing, by the trusted component, configuration of the security module to the secure guest, based on determining that the metadata of the secure guest does not include the confidential binding attribute.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: BUENDGEN, REINHARD THEODOR; KISLEY, RICHARD VICTOR; URBAN, VOLKER
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051661/0924 →
Continuity (1)
Related Publication 20210234681A1 · Jul 29, 2021
Cited By (2)
US 12,271,469 US 12,489,642