Identity-based hierarchical sessions
The identity-based hierarchical session management system on HSMs ensures secure and compliant session management by using an encrypted communication channel and challenge-response protocol, preventing unauthorized access and enhancing session security and accountability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- INTERNATIONAL BUSINESS MACHINE CORPORATION
- Filing Date
- 2024-05-08
- Publication Date
- 2026-06-23
AI Technical Summary
Current methods for establishing identity-based hierarchical sessions on hardware security modules (HSMs) to bind secure keys to guest systems fail to provide effective association with specific sessions, leading to potential exploitation and security breaches.
An identity-based hierarchical session management system is established using an end-to-end encrypted communication channel between a guest system and an HSM, ensuring that no child session has a higher security level than its parent session, with a challenge-response protocol for session ownership verification and secure key binding.
This system maintains compliance levels throughout the session hierarchy, prevents unauthorized session exploitation, and allows for secure, scalable, and accountable session management, even in environments with strict storage limitations.
Smart Images

Figure 2026520240000001_ABST
Abstract
Description
Background Art
[0001] The present invention generally relates to a secure session management method, and more specifically, to establishing an identity-based hierarchical session on a hardware security module ( "HSM") for binding a secure key to a guest system. The present invention further relates to a session management system and a computer program product for establishing an identity-based hierarchical session on a hardware security module for binding a secure key to a guest system.
[0002] Data security, including physical and virtual communication lines, remains one of the top priorities for the management of information technology ( "IT") companies. This is because data security is not only important under existing laws and regulations such as GDPR, the EU General Data Protection Regulation, but also because companies may lose credibility if they cannot always securely protect customer data. As a result, sales and profits may be lost if customer data records are leaked. The provision of data protection and secure computing platforms can involve not only software but also hardware modules. However, off-the-shelf CPU chips used in microcontrollers, personal computers, mobile phones, and home automation devices are often not used in applications related to the provision of data protection and secure computing platforms. However, in a reliable enterprise-class computing environment such as those used in the financial and insurance industries and government agencies, it is essential to be able to demonstrate that data leakage is prevented with a very high probability from a technical perspective. Therefore, in order to increase the success rate regarding data security, some high-tech components and sophisticated software processes may need to be added to prevent data leakage.
Summary of the Invention
[0003] According to one embodiment of the present invention, a method, computer system, and computer program product may be provided for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system. The present invention may comprise the steps of establishing a communication channel between a guest system and an HSM, wherein the communication channel is identity-based, end-to-end, and encrypted, thereby establishing a session; transferring login information of the guest system to the HSM via the communication channel; and maintaining a predefined security level throughout the entire session hierarchy. Thus, no child session can have a higher security level than its parent session. The present invention may further comprise the step of executing a challenge-response protocol based on session ownership verification with the guest so that a secured key generated by the HSM is bound to the relevant session.
[0004] According to another aspect of the present invention, a session management system can be provided for establishing identity-based hierarchical sessions on a hardware security module to bind a secure key to a guest system. The system comprises one or more processors and memory operably coupled to one or more processors, the memory transferring login information of the guest system to the HSM via a communication channel when executed by one or more processors, and establishing a communication channel between the guest system and the HSM to maintain a predefined security level across the entire session hierarchy, where the communication channel is identity-based, end-to-end, and encrypted, and thereby stores a portion of program code that enables the establishment of the session. Thus, no child session can have a higher security level than its associated session.
[0005] Furthermore, the present invention may include a step of executing a challenge-response protocol based on session ownership verification with a guest system so that a secure key generated by the HSM is bound to the relevant session. [Brief explanation of the drawing]
[0006] It should be noted that embodiments of the present invention are described with reference to different subject matter. In particular, some embodiments are described with reference to method-type claims, and other embodiments are described with reference to apparatus-type claims. However, those skilled in the art will understand from the above and below descriptions that, unless otherwise specified, any combination of features belonging to one type of subject matter, as well as any combination of features relating to different subject matter, in particular, any combination of features of method-type claims and features of apparatus-type claims, are also disclosed herein.
[0007] The embodiments defined above, and further embodiments of the present invention, will become clear from the embodiments described below, and will be explained with reference to embodiments that do not limit the present invention.
[0008] Preferred embodiments of the present invention will be described, by reference only to the following drawings:
[0009] [Figure 1] This figure shows a flowchart block diagram of one embodiment of a computer implementation method of the present invention for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system, according to at least one embodiment.
[0010] [Figure 2] This figure shows a block diagram of a flowchart embodiment for establishing a secure communication channel, according to at least one embodiment.
[0011] [Figure 3]This figure shows a block diagram of one embodiment of the interaction between a client, a communication channel, and hierarchical session / identity assignment, according to at least one embodiment.
[0012] [Figure 4] This figure shows a block diagram of one embodiment of an inventive component of a session management system for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system, according to at least one embodiment.
[0013] [Figure 5] This figure shows an exemplary networked computer environment according to at least one embodiment. [Modes for carrying out the invention]
[0014] Detailed embodiments of the claimed structure and method are disclosed herein; however, it should be understood that the disclosed embodiments are merely illustrative of the claimed structure and method, which may be embodied in various forms. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments described herein. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the embodiments presented.
[0015] Currently, various methods exist for establishing identity-based hierarchical sessions on hardware security modules to bind secure keys to guest systems. For example, one current method discloses modifying encryption keys in high-frequency transaction environments to mitigate service interruptions or transaction losses related to key maintenance. Furthermore, a server device may employ a working key encrypted with a first master key to decrypt messages sent by client devices, with each message encrypted with eight first ciphertexts generated based on the working key encrypted with the first master key. Additionally, another current method discloses a database system for implementing a key management system with a database storing encryption keys or other secrets. A set of hardware security modules ("HSMs") can identify a first key encryption key and a second key encryption key stored in the set of HSMs. Furthermore, the set of HSMs can retrieve a set of encryption keys encrypted with the first key encryption key from the database and use the first key encryption key to decrypt each encrypted key in the set of encryption keys.
[0016] While HSMs have been in use for quite some time, synchronizing the association of guest systems and other software components that use HSM services with specific sessions remains a challenging task. One drawback of current methods is that they may not provide association with specific sessions. Therefore, there is a need to overcome the shortcomings of current methods by improving the use of HSMs in conjunction with the relevant guest systems.
[0017] The proposed computer implementation method for establishing an identity-based hierarchical session on a hardware security module for binding secure keys to a guest system may offer several advantages, technical benefits, contributions, and / or improvements.
[0018] Embodiments of the present invention may improve upon the above-mentioned shortcomings / needs by establishing an identity-based hierarchical session for binding secure keys to a secure guest system. Login information may be transferred via an identity-based end-to-end encrypted communication channel. Compliance levels may be maintained throughout the session hierarchy. No child session can have a higher compliance level than its parent session. The ability to deallocate the initial connection, i.e., the common location tunnel, data, and state, i.e., the status, after the challenge is returned to the initiator session may enable the proposed method and system to operate even in backends with strict limitations on internal persistent storage, such as more traditional architectures in computing systems.
[0019] Generally, embodiments of the present invention can ensure that the HSM cannot be exploited by guest systems other than the initiating system. A session in which a guest system creates and uses security keys created by the HSM can be interrupted or exploited by any other session.
[0020] Doing so may bring the following benefits by maintaining a compliance-conscious session hierarchy: (i) the implemented module may use this session hierarchy information to check that the parent session is a valid and active session; (ii) the proposed module may verify that the security compliance level of the parent session is higher than or equal to the compliance level of the new child session; and (iii) if any of the checks fail, the creation of a new session will be refused so that no session can be started if the security criteria are not met.
[0021] Furthermore, the challenge-response-based concept may enable further advantages: (i) based on login information of any potential additional contextual information provided by the initiator session, the proposed module can generate a challenge session token and an expected response session token; (ii) the challenge session token is encrypted using a previously derived cryptographic token and sent back to the initiator via a secure communication channel; (iii) only the original initiator session can decrypt the challenge session token and obtain the expected response session token; and (iv) the initiator session presents the response session token in each request to a module requiring proof of ownership authentication.
[0022] Furthermore, there may be additional advantages to deallocating the initial data and state: (i) after the creation of the response session token and the encrypted challenge session token may be sent to the initiator session, the proposed module deallocates all initial connection data and state, i.e., the status, to conserve resources; and (ii) only the subject key identifier ("SKI") of the initiator's public key and the response session token are retained for later verification.
[0023] Therefore, sessions cannot be started or terminated without adhering to advanced, predefined security standards. This also means that sessions and tokens cannot be mixed and exploited by any dangerous actions. System and session communication between the guest system and the associated HSM can be sealed, or "tunneled," meaning an end-to-end trust relationship through mutual identification of participants. Furthermore, this goal can be achieved with a relatively lean protocol that incurs minimal overhead compared to standard session management between the guest system and the HSM.
[0024] Additionally, it may be advantageous to use the concept of a hierarchical tree structure of session parent-child relationships to log out an entire branch of the session tree in a single action. Further, a supervisor session may be able to log out all supervisor sessions simultaneously. This can increase the security and accountability of the selected concept when compared to conventional solutions. The hierarchical grouping inherent in the proposed system may also provide scalability as a well-defined hierarchy of sessions may be able to compactly represent an entire sub-hierarchy. Performing an action on a session may imply an action on the sessions below it, or an implicit action that the session performs in relation to the sessions above it.
[0025] In the following, additional embodiments of the present invention applicable to the method as well as to the system and computer program product will be described.
[0026] According to at least one embodiment of the present invention, the method may further include transmitting a challenge of a challenge-response protocol from the HSM to the guest system via a communication channel. This may lead to a response to the challenge received from the guest system in order to identify itself as a properly connected guest system.
[0027] According to at least one embodiment of the present invention, the establishment of the communication channel may be based on a public key / secret key pair of the HSM and a transmitted code that can also be regarded as a shared secret that activates the derived symmetric encryption / decryption key. Similar mechanisms based on public and secret key pairs may be used by other secure transmission protocols.
[0028] According to at least one embodiment of the present invention, the derivation of the symmetric encryption / decryption key may be based on the Diffie-Hellman algorithm. The Diffie-Hellman algorithm requires little overhead with a certain level of security. Additionally, other algorithms for deriving a symmetric encryption / decryption key based on a shared secret may be used.
[0029] According to at least one embodiment of the present invention, the method may further comprise the step of using a communication channel to configure a new session that will become a child session of an existing session, such that the child session is cryptographically dependent on the parent session. This may require the presence of a parent session. In this approach, the requirement that no child session can have a higher security level than its parent session can be managed without requiring any additional overhead operation.
[0030] According to at least one embodiment of the present invention, a guest system may run against a hypervisor. Such a virtual operation approach can represent a typical use case for large-scale computer systems, where many guest systems may share common hardware resources. This can also enable close interaction between trusted firmwares that the hypervisor may operate on, so that secure communication can be established from the guest system to trusted firmware and further to the HSM via the hypervisor.
[0031] According to at least one embodiment of the present invention, the functionality of firmware or reliable firmware of a computer system may facilitate communication between a guest system and an HSM. Such a setup may be advantageous for the highest level of computation and communication security.
[0032] According to at least one embodiment of the present invention, the method may further comprise the step of deallocating the communication channel and the associated state and / or session of the guest system. This may enable the termination of the coupling between the HSM and the associated guest system, which is necessary when the guest system is a virtual guest system. When a virtual guest system is terminated, the associated coupling to the HSM must be deactivated or deallocated.
[0033] According to at least one embodiment of the present invention, the method may further comprise the steps of deallocating the associated states of the session and guest system, and / or deallocating all child sessions associated with the parent session when the parent session is deallocated.
[0034] According to at least one embodiment of the present invention, the method may further comprise the steps of marking a session as a supervisor session and / or providing a separate interface for deallocating all session bindings to the HSM and its child sessions that have been marked as supervisor sessions. Such an embodiment can greatly simplify the management of guest system sessions.
[0035] According to at least one embodiment of the present invention, the method may further include a step of refusing a request to open a child session when it determines that the child session has a lower security level than the parent session to which it pertains. This enables and supports the hierarchical organization of sessions as described above, i.e., the method may include a step of determining that the child session may have a higher security level than its parent session during the establishment of a communication channel.
[0036] According to at least one embodiment of the present invention, session ownership verification may comprise the steps of generating a session token and an expected response token, decrypting the received and encrypted session token, and deriving the received expected response token. Thus, the protocol can succeed only if the expected response token and the derived received expected response token are identical. Such a protocol can guarantee one of the highest possible security levels.
[0037] Furthermore, embodiments of the present invention may take the form of relating to a related computer program product accessible from a computer-available or computer-readable medium that provides program code for use by or connected to a computer or any instruction execution system. For the purposes of this description, the computer-available or computer-readable medium may be any device that may include means for storing, communicating, propagating, or carrying programs used by or connected to an instruction execution system, apparatus, or device.
[0038] In the context of this explanation, the following technical conventions, terms, and / or expressions may be used:
[0039] The term “Hardware Security Module” (“HSM”) can refer to a physical computing device that protects and manages digital keys and performs encryption and decryption of digital signatures, strong authentication, and other cryptographic functions. These modules are traditionally provided as plug-in cards or external devices that are directly installed into a computer or network server. They may also contain one or more secure cryptographic processor chips. HSMs are typically used to manage, control, and protect security keys or master keys used by other components of a computer or network system. Although securely stored in the HSM, security protocols require such master keys to also be updated from time to time, i.e., undergo a master key roll-out process.
[0040] The term "guest system" can refer to a physical or virtual computer resource under the control of an operating system or hypervisor. A guest system may also be referred to simply as a "guest," or it may operate as a secure guest system. One typical implementation of this could be a virtual machine running an application. However, it could also be a system process or a physical control unit (ideally network-mounted).
[0041] The phrase "combine secure keys with guest systems" may indicate that secure keys can be used by and in conjunction with dedicated guest systems.
[0042] The term "communication channel" may refer to a sequence of physical and logical components within a computer system that are enabled to be managed under predefined conditions and security protocols.
[0043] The term "identity-based" can indicate that access to computer resources may be tied to a specific identifier. Other components that do not possess information about that specific identifier may not be able to access the resource. Additionally, an alarm can be triggered if unauthorized access is attempted.
[0044] The term "end-to-end" may indicate that communication between two components, A and B, is not intercepted or exploited by a third component. For example, if communication between A and B can be encrypted, there may be no decryption option between A and B along the communication path.
[0045] The term "encrypted" can indicate the concept that the encrypted plaintext is inaccessible unless it can be decrypted using a decryption key with known asymmetric and symmetric encryption / decryption concepts. This highlights that asymmetric encryption / decryption relies on a public and private key combination, whereas symmetric encryption / decryption uses identical keys.
[0046] The term "session" can refer to the interaction between two components of a computer system, for example, a guest system and an HSM. A session can have a start and an end point; that is, it exists for a manageable period of time. During a session, the two different components can collaborate to manipulate or exchange data.
[0047] The term "login information" here may refer to at least a Personal Identification Number ("PIN"). Additionally, optional login or authentication information may be a nonce, i.e., a one-time secret code, and / or contextual information.
[0048] The term "predefined security level" may indicate, for example, that a communication can comply with a certain level of security standards.
[0049] The term "session hierarchy" can indicate that there is an original or initial session, with additional sessions organized as leaves beneath the initial session. This means that a child session of a parent session can also act as the parent session of subsequent child sessions.
[0050] The term "challenge-response protocol" can refer to a concept in which a response can be compared to an expected response, i.e., a concept in which two components A and B can perform communication operation exchanges. Component A sends a challenge to component B, and component B generates an expected response, which is then transmitted to component A and compared to the expected response, making it clear that the two components are intended to cooperate.
[0051] The term "session ownership" can refer to the concept of a guest system proving its ownership of a session by presenting an expected response token, which only the guest system could derive from a challenge token obtained through an end-to-end encrypted channel.
[0052] The term "Diffie-Hellman algorithm" can refer to a known mathematical method for securely exchanging cryptographic keys over a public channel by relying on a generated secret code derived from combinations of components of a public-private-key pair. Given that first and second components A and B communicate with each other, and each component has its own private / public-key pair, the secret code can be generated by combinations of pubK-A and privK-B, and PrivK-A and pubK-B. Thus, both sides can generate secret codes independently of each other.
[0053] The terms "hypervisor" and "virtual machine monitor" can refer to a more flexible layer between the physical hardware and operating system of a computer system. The concept of virtualization using a hypervisor allows multiple virtual machines to run on a single physical machine via the hypervisor. Different virtual machines do not affect each other, except for execution bottlenecks. The hypervisor can collaborate with the computer system to implement secure computing concepts.
[0054] The term "computer system firmware" can refer to software code that is deeply integrated into the computer system hardware and can be executed by a process or any other computer code execution controller. Typically, end-user programs cannot directly access the firmware. Access may be restricted to the operating system and / or hypervisor.
[0055] The term "session token" can refer to a secret code used on both sides of a session, meaning that both component A and component B may be aware of the session token. Computational components outside the session may not have access to the session token. Therefore, private and secure data exchange between component A and component B can be enabled.
[0056] The term "expected response token" may refer to the predicted shared secret of the Diffie-Hellman algorithm.
[0057] The term "supervisor session" may refer to a session that is not tied to any user-related activity but can be initiated and controlled by a middle-tier process, such as firmware or a system process, such as a hypervisor. The middle tier can also prevent a user from opening a supervisor session on their own.
[0058] A detailed explanation of the figures is given below. All instructions in the figures are schematic. First, a block diagram of one embodiment of the computer implementation method of the present invention for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system is given. In addition, embodiments of the session management system for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system are further described.
[0059] Beginning with Figure 1, a block diagram of a preferred embodiment of computer implementation method 100 for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system is shown in at least one embodiment. The guest system may also be multiple guest systems and / or secure guest systems. In 102, the method includes the step of establishing a communication channel between the guest system and the HSM. Such a communication channel is identity-based, has end-to-end features, and enables encrypted data transfer during use. Thus, the session is activated.
[0060] In 104, method 100 includes the step of transferring guest system login / authentication information, in particular at least a PIN, optionally a nonce (temporary value), and context data to the HSM via a communication channel. It should be noted that only the PIN requires a secure communication channel. The remaining login information may be communicated through other channels.
[0061] In 106, method 100 includes a step of maintaining a predefined security level across the entire session hierarchy. As a result, no child session has a higher security level than its parent session. Thus, child sessions have a security level lower than or at most the same as their respective parent sessions. The applied security level may indicate that the applied security protocol should conform to a predefined security standard.
[0062] In 108, method 100 includes a step of executing a challenge-response protocol based on session ownership verification with the guest system so that the secured key generated by the HSM is bound to the relevant guest system session. Thus, the HSM sends a challenge message, and the guest system sends the necessary response along with the token, thereby enabling the use of the session for purposes such as key generation.
[0063] Referring to Figure 2, a block diagram of one embodiment 200 for establishing a secure communication channel is shown. In 202, the guest system obtains the publicly available key of the HSM's public / private key pair.
[0064] In step 204, the guest system uses its own private key and the public key received by the HSM to define a code, i.e., a shared secret, and derives a symmetric key, i.e., an encryption / decryption key that uses the same key for both decryption and encryption.
[0065] In 206, the guest system encrypts login information / authentication information, in particular the login PIN, using a symmetric key and transmits it to the HSM. Additionally, parameters such as a nonce (i.e., a random value) and / or context parameter values may also be transmitted using the same route or other communication channels.
[0066] In step 208, the guest system sends its public key, and optionally, a nonce and context parameter values, to the HSM.
[0067] In step 210, the HSM applies the Diffie-Hellman algorithm to derive the same code / shared secret. The code / shared secret is used to derive a symmetric key. The symmetric key is used to decrypt the PIN. If it matches the stored key, the secure communication channel is established in a secure manner.
[0068] Referring here to Figure 3, a block diagram of a more implementable embodiment 300 as a physical component of the present invention is depicted according to at least one embodiment. The login initiator or initiation session component 306 provides PIN / login information to the HSM via the communication channel 302 over a common location channel. Through the key exchange described between the initiation session component 306 and the HSM, a secure communication channel is activated, i.e., a protected connection can be initiated. The established and protected communication channel is based on encrypted message transmission using key material coupled to identity.
[0069] As a prerequisite, the public key 308A of the initiator session component 306 and the public key 308B of the HSM may be available within the underlying system.
[0070] Therefore, the secure communication channel 302 may be established in accordance with the operation described in the context of Figure 2. Accordingly, based on the key exchange 310 for retrieving / decrypting initiator / connection-specific data, the session ID may be derived as a combination 312 of initiator plus parent data plus context data.
[0071] This allows, for example, the specified parent 314 of the session 304 hierarchy and its data to be used to add another leaf 316 to the hierarchy tree for a new session. Based on this, a challenge from the HSM may trigger a response 318 flowing through the secure communication channel 302, where the response can be reconstructed into a complete response 320 to the HSM challenge. This is only possible by the initiator / importer having access to the available data. Based on this complete response 320, a session ownership verification check is possible to confirm the new session 316 in the session / identity assignment hierarchy.
[0072] Referring here to Figure 4, a block diagram of one embodiment of a session management system for establishing an identity-based hierarchical session on a hardware security module to bind a secure key to a guest system is shown according to at least one embodiment. The system 400 includes at least one or more processors 402 and memory 404 operably coupled to one or more processors 402. Thus, the memory 404 can store a portion of program code that, when executed by one or more processors 402, enables one or more processors 402 to establish a communication channel between the guest system and the HSM, the communication channel being identity-based, end-to-end, encrypted, and thereby enabling the establishment of a session. This operation may be performed by a communication channel establishment module 406.
[0073] Furthermore, one or more processors 402 can, in particular by the transfer unit 408, transfer guest system login information to the HSM via a communication channel, and in particular by the maintenance module 410, enable the maintenance of a predefined security level across the entire session hierarchy, so that no child session has a higher security level than its parent session.
[0074] Furthermore, one or more processors, particularly by the protocol enforcement unit, can execute a challenge-response protocol so that, based on session ownership verification with the guest system, the secured key generated by the HSM is bound to the relevant session, especially the relevant guest system session.
[0075] It should also be noted that all functional units, modules, and functional blocks, in particular one or more processors 402, memory 404, communication channel establishment module, transfer unit, maintenance module, and protocol implementation unit 412, may be coupled to each other in a selected 1:1 manner for communication of signals or messages. Alternatively, functional units, modules, and functional blocks may be coupled to a system internal bus system 414 for selective signal or message exchange.
[0076] Various aspects of this disclosure are illustrated by narrative texts, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in embodiments of computer program products ("CPPs"). With respect to any flowchart, depending on the technology involved, operations may be performed in a different order than those shown in a given flowchart. For example, again depending on the technology involved, two operations shown in consecutive flowcharts may be performed in reverse order, as a single integrated stage, simultaneously, or in a manner that at least partially overlaps in time.
[0077] Embodiments of a computer program product ("CPP Embodiment" or "CPP") are terms used in this disclosure to describe any set of one or more storage media ("mediums") that are collectively included in a set of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A storage device is any tangible device that can hold and store instructions used by a computer processor. Without limitation, computer-readable storage media may be electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, mechanical storage media, or any preferred combination thereof. Some known types of storage devices, including these media, include diskettes, hard disks, random access memory ("RAM"), read-only memory ("ROM"), erasable programmable read-only memory ("EPROM" or "flash memory"), static random access memory ("SRAM"), compact disk read-only memory ("CD-ROM"), digital purpose discs ("DVD"), memory sticks, floppy disks, mechanically encoded devices (such as pits / lands formed on the main surface of a punch card or disk), or any preferred combination thereof. Computer-readable storage media, as used in this disclosure, shall not be construed as storage in the form of temporary signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, light pulses passing through optical fiber cables, electrical signals transmitted through wires, and / or other transmission media. As those skilled in the art will understand, data is typically moved at several intermittent points during the normal operation of the storage device, such as during access, defragmentation, or garbage collection; however, data is not temporary while it is stored, and therefore the storage device is not temporary.
[0078] Next, referring to Figure 5, a computing environment 500 is shown, which includes an example of an environment for executing at least a portion of the computer code involved in performing the method of the present invention, such as a computer implementation method for establishing an identity-based hierarchical session on a hardware security module for binding a secure key to a guest system 550.
[0079] In addition to block 550, the computing environment 500 includes, for example, a computer 501, a wide area network ("WAN") 502, an end-user device ("EUD") 503, a remote server 504, a public cloud 505, and a private cloud 506. In this embodiment, computer 501 includes a processor set 510 (including processing circuits 520 and a cache 521), a communication fabric 511, volatile memory 512, persistent storage 513 (including an operating system 522 and block 550 as identified above), a peripheral device set 514 (including a user interface ("UI"), a device set 523, storage 524, an Internet of Things ("IoT") sensor set 525), and a network module 515. The remote server 504 includes a remote database 530. The public cloud 505 includes a gateway 540, a cloud orchestration module 541, a host physical machine set 542, a virtual machine set 543, and a container set 544.
[0080] Computer 501 may take the form of a desktop computer, laptop computer, tablet computer, smartphone, smartwatch or other wearable computer, mainframe computer, quantum computer, or any other form of computer or mobile device that is currently known or may be developed in the future, capable of running programs, accessing networks, or querying databases such as the remote database 530. As is well understood in the field of computer technology, and depending on the technology, the execution of a computer implementation may be distributed among multiple computers and / or multiple locations. On the other hand, in this description of the computing environment 500, in order to make the explanation as concise as possible, the detailed discussion focuses on a single computer, specifically computer 501. Computer 501 may be located in the cloud, although it is not shown in the cloud in Figure 5. On the other hand, computer 501 is not required to be located in the cloud, except to any extent that may be definitively shown.
[0081] The processor set 510 includes one or more computer processors of any type currently known or to be developed in the future. The processing circuitry 520 may be distributed across multiple packages, for example, multiple interconnected integrated circuit chips. The processing circuitry 520 may implement multiple processor threads and / or multiple processor cores. The cache 521 is memory located within the processor chip package and is typically used for data or code that should be available for high-speed access by threads or cores running on the processor set 510. The cache memory is typically organized into multiple levels depending on its relative proximity to the processing circuitry. Alternatively, some or all of the cache for the processor set may be located "off-chip". In some computing environments, the processor set 510 may operate using qubits and be designed to perform quantum computing.
[0082] Computer-readable program instructions are typically loaded into computer 501 such that the processor set 510 of computer 501 executes a series of operational steps, thereby influencing the computer implementation method. Instructions thus executed instantiate the methods specified in the flowcharts and / or descriptive descriptions of the computer implementation methods contained herein (collectively referred to as the “Method of the Invention”). These computer-readable program instructions are stored in various types of computer-readable storage media, such as the cache 521 and other storage media discussed below. The program instructions and associated data are accessed by the processor set 510 to control and direct the execution of the Method of the Invention. In the computing environment 500, at least some of the instructions for executing the Method of the Invention may be stored in block 550 within persistent storage 513.
[0083] The communication fabric 511 is a signal conduction path that enables various components of the computer 501 to communicate with one another. Typically, this fabric is made up of switches and conductive paths, such as buses, bridges, and physical input / output ports. Other types of signal communication paths, such as optical fiber communication paths and / or wireless communication paths, may be used.
[0084] The volatile memory 512 is any type of volatile memory that is currently known or may be developed in the future. Examples include dynamic type random access memory ("RAM") or static type RAM. Typically, volatile memory is characterized by random access, but this is not required unless explicitly stated. In computer 501, the volatile memory 512 is located in a single package and resides inside computer 501, but alternatively or additionally, the volatile memory may be distributed across multiple packages and / or located externally to computer 501.
[0085] The persistent storage 513 is any form of non-volatile storage for a computer, currently known or to be developed in the future. The non-volatility of this storage means that the stored data is maintained regardless of whether power is supplied to the computer 501 and / or directly to the persistent storage 513. The persistent storage 513 may be read-only memory ("ROM"), but typically, at least a portion of the persistent storage allows for writing, deleting, and rewriting of data. Some well-known forms of persistent storage include magnetic disks and solid-state storage devices. The operating system 522 may take several forms, such as various known proprietary operating systems or open-source portable operating system interface type operating systems that utilize a kernel. The code contained in block 550 typically includes at least some of the computer code involved in performing the method of the present invention.
[0086] The peripheral device set 514 includes a set of peripheral devices for the computer 501. Data communication connections between the peripheral devices and other components of the computer 501 can be implemented in various ways, including Bluetooth connections, near-field communication ("NFC") connections, cable connections (such as Universal Serial Bus ("USB") type cables), insertable connections (e.g., Secure Digital ("SD") cards), connections via local area communication networks, and even connections via wide area networks such as the Internet. In various embodiments, the UI device set 523 may include components such as a display screen, speaker, microphone, wearable devices (such as goggles and smartwatches), keyboard, mouse, printer, touchpad, game controller, and haptic devices. Storage 524 is external storage such as an external hard drive, or insertable storage such as an SD card. Storage 524 may be persistent and / or volatile. In some embodiments, storage 524 may take the form of a quantum computing memory device for storing data in the form of qubits. In embodiments where computer 501 is required to have large-capacity storage (for example, when computer 501 locally stores and manages a large database), this storage may be provided by peripheral storage devices designed to store very large amounts of data, such as a Storage Area Network ("SAN") shared by multiple geographically distributed computers. The IoT sensor set 525 consists of sensors that can be used in an Internet of Things application. For example, one sensor may be a thermometer and the other may be a motion detector.
[0087] The network module 515 is a collection of computer software, hardware, and firmware that enables computer 501 to communicate with other computers via the WAN 502. The network module 515 may include hardware such as a modem or Wi-Fi signal transceiver, software for packetizing and / or depacketizing data for communication network transmission, and / or web browser software for transmitting data over the internet. In some embodiments, the network control and network forwarding functions of the network module 515 are performed on the same physical hardware device. In other embodiments (e.g., embodiments utilizing software-defined networking ("SDN")), the control and forwarding functions of the network module 515 are performed on physically separate devices, such that the control function manages multiple different network hardware devices. Computer-readable program instructions for performing the methods of the present invention can typically be downloaded to computer 501 from an external computer or external storage device via a network adapter card or network interface included in the network module 515.
[0088] WAN502 is any wide area network (e.g., the Internet) that can transmit computer data over non-local distances using any currently known or future-developed technology for transmitting computer data. In some embodiments, the WAN may be replaced and / or complemented by a local area network ("LAN") designed to transmit data between devices located in a local area, such as a Wi-Fi network. The WAN and / or LAN may typically include computer hardware such as copper transmission cables, optical fiber transmission, wireless transmission, routers, firewalls, switches, gateway computers or edge servers, or a combination thereof.
[0089] The End User Device ("EUD") 503 is any computer system used and controlled by an end user (e.g., a corporate customer operating computer 501) and can take any of the forms described above in relation to computer 501. EUD 503 typically receives useful and valuable data from the operation of computer 501. For example, in a hypothetical case where computer 501 is designed to provide recommendations to an end user, these recommendations would typically be transmitted from computer 501's network module 515 to EUD 503 via WAN 502. Thus, EUD 503 can display or otherwise present recommendations to the end user. In some embodiments, EUD 503 may be a client device such as a thin client, heavy client, mainframe computer, desktop computer, and similar.
[0090] The remote server 504 is any computer system that provides at least some data and / or functionality to computer 501. The remote server 504 may be controlled and used by the same entity that operates computer 501. The remote server 504 represents a machine that collects and stores useful and beneficial data for use by other computers, such as computer 501. For example, in a hypothetical case where computer 501 is designed and programmed to provide recommendations based on historical data, this historical data may be provided to computer 501 from the remote database 530 of the remote server 504.
[0091] The public cloud 505 is any computer system available for use by multiple entities, providing on-demand availability of computer system resources and / or other computing capabilities, particularly data storage (cloud storage) and computing capabilities, without requiring direct and active management by the user. Cloud computing typically leverages resource sharing to achieve coherence and economies of scale. Direct and active management of the computing resources of the public cloud 505 is performed by the computer hardware and / or software of the cloud orchestration module 541. The computing resources provided by the public cloud 505 are typically implemented by virtual computing environments running on various computers that make up the host physical machine set 542, which is a universe of physical computers located within and / or available to the public cloud 505. The virtual computing environment ("VCE") typically takes the form of virtual machines in the virtual machine set 543 and / or containers in the container set 544. These VCEs can be stored as images and transferred either as images or after instantiation of the VCEs, among and between hosts on various physical machines. The cloud orchestration module 541 manages the transfer and storage of images, deploys new instantiations of VCEs, and manages the active instantiation of VCE deployments. The gateway 540 is a collection of computer software, hardware, and firmware that enables the public cloud 505 to communicate over the WAN 502.
[0092] Here, some further explanation of virtualized computing environments ("VCEs") is provided. A VCE can be stored as an "image." A new active instance of a VCE can be instantiated from an image. Two well-known types of VCEs are virtual machines and containers. A container is a VCE that uses operating system-level virtualization. This refers to an operating system feature in which the kernel allows for the existence of multiple isolated user-space instances called containers. These isolated user-space instances typically behave as actual computers in terms of the programs running within them. Computer programs running on a normal operating system can utilize all of that computer's resources, including connected devices, files and folders, network shares, CPU power, and quantifiable hardware capabilities. However, programs running inside a container can only use the contents of the container and the devices allocated to the container; this feature is known as containerization.
[0093] The private cloud 506 is similar to the public cloud 505, except that the computing resources are available for use by a single enterprise only. While the private cloud 506 is shown as being in communication with the WAN 502, in other embodiments, the private cloud may be completely isolated from the internet and accessible only via a local / private network. A hybrid cloud is a combination of multiple clouds of different types (e.g., private, community, or public cloud types), often implemented by different vendors. Each of the multiple clouds remains a separate, discrete entity, but the larger hybrid cloud architecture is bound together by standardized or proprietary technologies that enable orchestration, management, and / or data / application portability between the multiple configuration clouds. In this embodiment, both the public cloud 505 and the private cloud 506 are part of a larger hybrid cloud.
[0094] Furthermore, it should be noted that the session management system 550 for establishing identity-based hierarchical sessions on a hardware security module for linking secure keys to the guest system can be an operational subsystem of computer 501 and can be installed on the bus system inside the computer.
[0095] The terminology used herein is for the sole purpose of describing specific embodiments and is not intended to limit the invention. Where used herein, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context explicitly indicates otherwise. It should be further understood that the terms "comprise" or "comprising," when used herein, specify the presence of a particular feature, integer, stage, operation, element, or component, or combination thereof, but do not exclude the presence or addition of one or more other features, integers, stages, operations, elements, components, or groups or combinations thereof.
[0096] In addition to the functional elements in the following claims, all corresponding structures, materials, actions and equivalents of all means or steps are intended to include any structures, materials or actions for performing a function in combination with other claimed elements, as specifically claimed. Although the description of the present invention is expressed for illustrative and explanatory purposes, it is not intended to be exhaustive or to be limited to the present invention in the disclosed form. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the present invention. The embodiments are selected and described to best illustrate the principles and practical applications of the present invention, and so that those skilled in the art can understand the present invention in various embodiments with various modifications suitable for a particular intended use.
Claims
1. A computer implementation method for establishing an identity-based hierarchical session on a hardware security module (HSM) in order to bind a secure key to a guest system, wherein the method is: The step of establishing a communication channel between the guest system and the HSM, wherein the communication channel is identity-based, end-to-end, and encrypted, thereby establishing a session; The step of transferring the login information of the guest system to the HSM via the communication channel; A stage in which a predefined security level is maintained throughout the entire session hierarchy, where each child session does not have a higher security level than its parent session; and A step in which a challenge-response protocol is executed based on session ownership verification with the guest, so that the secure key generated by the HSM is associated with the relevant session. A computer implementation method comprising the following:
2. The step of sending the challenge of the challenge response protocol from the HSM to the guest system via the communication channel. The method according to claim 1, further comprising:
3. The method according to claim 1 or 2, wherein the step of establishing the communication channel is based on the public / private key pair of the HSM and transmitted code that enables the derivation of symmetric encryption / decryption keys.
4. The method according to claim 3, wherein the deriving of the aforementioned symmetric encryption / decryption key is based on the Diffie-Hellman algorithm.
5. The step of configuring a new session to be a child session of an existing session, using the aforementioned communication channel, such that the child session is cryptographically dependent on the parent session. The method according to any one of claims 1 to 4, further comprising:
6. The method according to any one of claims 1 to 5, wherein the guest system runs on a hypervisor.
7. The method according to any one of claims 1 to 6, wherein the function of the firmware of the computer system facilitates communication between the guest system and the HSM.
8. A step of dealing-out the communication channel and the associated state of the guest system and / or associated session. The method according to any one of claims 1 to 7, further comprising:
9. A step of deallocating the associated states of the session and the guest system; and / or, when the parent session is deallocated, a step of deallocating one or more child sessions associated with the parent session. The method according to any one of claims 1 to 8, further comprising:
10. The stage of marking a session as a supervised session; and / or A separate interface for deallocating one or more sessions and their child sessions that have been marked as supervisor sessions. The method according to any one of claims 1 to 9, further comprising:
11. When it is determined that the security level of the child session is lower than that of the parent session, the request to open the child session is rejected. The method according to any one of claims 1 to 10, further comprising:
12. A session management system for establishing identity-based hierarchical sessions on a hardware security module (HSM) to bind secure keys to a guest system, wherein the session management system is: The system comprises one or more processors and memory operably coupled to the one or more processors, wherein the memory, when executed by the one or more processors, Establish a communication channel between the guest system and the HSM, wherein the communication channel is identity-based, end-to-end, and encrypted, thereby establishing a session; Transferring the login information of the guest system to the HSM via the communication channel; Maintain a predefined security level across the entire session hierarchy, where each child session does not have a higher security level than its parent session; and The challenge-response protocol is executed based on verification of session ownership with the guest, so that the secure key generated by the HSM is bound to the relevant session. Store the program code portion that enables the action to be performed. Session management system.
13. The aforementioned one or more processors further, Sending a challenge of the challenge response protocol from the HSM to the guest system via the communication channel. The session management system according to claim 12, which is enabled to perform the following:
14. The session management system according to claim 12 or 13, wherein the step of establishing the communication channel is based on transmitted code that enables the derivation of the public / private key pair of the HSM and the symmetric encryption / decryption key.
15. The session management system according to claim 14, wherein the derivation of the symmetric encryption / decryption key is based on the Diffie-Hellman algorithm.
16. The session management system according to any one of claims 12 to 15, wherein the one or more processors are further enabled to use the communication channel to configure a new session to be the child session of an existing session such that the child session is cryptographically dependent on the parent session.
17. The hypervisor that the aforementioned guest system runs on A session management system according to any one of claims 12 to 16, further comprising:
18. The session management system according to any one of claims 12 to 17, wherein the function of the firmware of the computer system facilitates communication between the guest system and the HSM.
19. The session management system according to any one of claims 12 to 18, wherein the one or more processors are further enabled to deallocate the communication channel and the guest system-related state and / or associated session.
20. A computer program product for establishing an identity-based hierarchical session on a hardware security module (HSM) to bind a secure key to a guest system, wherein the program instructions are executable by one or more computing systems or controllers, and the one or more computing systems A procedure for establishing a communication channel between the guest system and the HSM, wherein the communication channel is identity-based, end-to-end, and encrypted, thereby establishing a session; A procedure for transferring the login information of the guest system to the HSM via the communication channel; Procedures for maintaining predefined security levels across the entire session hierarchy, where each child session does not have a higher security level than its parent session; and A procedure to execute a challenge-response protocol based on session ownership verification with the guest, so that the secure key generated by the HSM is bound to the relevant session. A computer program product that executes a command.