WO2023110653A1 - Adjunct processor (ap) domain zeroize - Google Patents
Adjunct processor (ap) domain zeroize Download PDFInfo
- Publication number
- WO2023110653A1 WO2023110653A1 PCT/EP2022/085094 EP2022085094W WO2023110653A1 WO 2023110653 A1 WO2023110653 A1 WO 2023110653A1 EP 2022085094 W EP2022085094 W EP 2022085094W WO 2023110653 A1 WO2023110653 A1 WO 2023110653A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- domain
- request message
- command request
- common command
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2143—Clearing memory, e.g. to prevent the data from being stolen
Definitions
- the present invention relates to computer systems, and more specifically to zeroizing an adjunct processor domain.
- a machine’s hypervisor manages its guest (VMs) and their resources. .
- VMs guest
- a guest’s secret security keys are loaded and stored in one or more AP cryptographic adapter domains.
- the machine’s hypervisor manages its guests and their resources.
- a guest’s secret keys must be removed from the AP cryptographic adapter domain to ensure that a future guest being configured with the AP cryptographic adapter does not have access to the previous guest’s secret keys.
- the machine hypervisor does not have a means to delete its guest’s secret keys from the AP cryptographic adapterdomain.
- a method is provided.
- a machine hypervisor builds and enqueues a zeroize adjunct processor (AP) domain (ZAPD) common command request message to a target AP domain queue.
- Machine firmware validates the enqueued common command request message on the target AP domain queue.
- the machine firmware converts the ZAPD command request to the mode-specific form of the domain zeroize request.
- a command request message is executed at an AP crypto adapter of the target AP domain. Executing includes zeroizing a storage area of the AP crypto adapter.
- the execution results are returned to the machine firmware.
- the machine firmware converts the crypto card mode's ZAPD command reply message into the common ZAPD command reply message.
- the final execution results including the converted common ZAPD command reply message are returned to the machine hypervisor.
- Embodiments are further directed to computer systems and computer program products having substantially the same features as the above-described computer- implemented method. BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
- FIG. l is a functional block diagram of an illustrative system, according to an embodiment of the present invention.
- FIG. 2 illustrates a view of the machine hypervisor building and enqueuing a zeroize command request to the target AP queue, according to an embodiment of the present invention
- FIG. 3 illustrates a view of the machined firmware validating an enqueued zeroize command request message, according to an embodiment of the present invention
- FIG. 4 illustrates a view of machine firmware either converting an enqueued zeroize command request message or executing the ZAPD command, generating the ZAPD command reply message and storing the common ZAPD reply message into the target AP queue, according to an embodiment of the present invention
- FIG. 5 illustrates a view of executing the zeroize command by the CEX adapter, the processing of the reply by the machine, and returning the execution results to the machine hypervisor, according to an embodiment of the present invention
- FIG. 6 illustrates an exemplary computing device 500 applicable for executing the algorithm of FIGs. 2-5.
- Embodiments of the present invention may be implemented on computer hardware and software that support virtual machines (VM) that are configured with AP crypto adapters.
- VM virtual machines
- z/VM® and z/ Architecture® are used to facilitate understanding of the elements of the present invention.
- z/VM® and z/ Architecture® are registered trademarks of IBM in the United States).
- hypervisors do not typically perform direct cryptographic operations. Instead, hypervisors administer the assignment of cryptographic resources to virtual machines.
- the ZAPD command as embodied in the present invention provides a great convenience for hypervisors in performing this administration task.
- a domain zeroize (DZ) connectivity programming request block (CPRB) request message can be built by the program (e.g., hypervisor, operating system) and issued directly using a regular form of the NQAP instruction without resorting ZAPD. Because DZ is a destructive administrative command the issuer of DZ must have authority to use this request. That authority is granted when the issuer starts a signed session with the AP crypto adapter. Effectively the issuer logs on to the card and issues DZ to the domains it is permitted to zeroize.
- DZ domain zeroize
- CPRB connectivity programming request block
- ZAPD is a configuration mode-independent abstraction of DZ as illustrated using the example of the IBM z/ Architecture®.
- ZAPD provides a simplification to the interface to DZ by not requiring the hypervisor to start a signed session with the AP crypto adapter. Instead the central processor complex (CPC) firmware ensures that ZAPD only operates on domains assigned to the hypervisor's VM to which the hypervisor usage and control authority is granted.
- the i390 firmware acts as the proxy issuer of DZ for the hypervisor. It has authority which allows it to operate on any domain assigned to any LPAR. Because of this i390 must ensure that it does not perpetrate a security violation in allowing the hypervisor access to its ability to issue DZ to any domain.
- Each of the hypervisors has available to it all of the functions and facilities (also referred to herein collectively as “resources”) of the computer on which it is executing.
- the hypervisor exposes a set of the resources to the VMs and provides a mechanism for ensuring that operations and modifications of the VMs occur in a controlled and predictable manner.
- the resources include software instructions, machine code instructions, microcode and millicode instructions, and/or physical hardware capabilities, including one or more Cryptographic Express PCIe (CEX) adapters.
- CEX Cryptographic Express PCIe
- a CEX adaptor is assigned a unique number, which is its adjunct processor number (APn 0-255). Within each APn there may be assigned up to 256 logically independent processing facilities known as domains. The APn and domain number pair uniquely identifies a CEX crypto resource with which to process work. Each such pair is served by a work queue which may comprise up to 32 elements, with each element containing at most one request message or its corresponding response message. The number of APn and elements are exemplary, and may vary to include more or fewer, depending on the architectural implementation. Each such queue is known as an AP queue (APQ) and is uniquely identified by the APn and Domain number of the resource it serves. The concatenated AP and domain numbers may be referred to as the APQN, serve to identify the associated queue.
- APQ AP queue
- APQN Three z/ Architecture AP instructions use the APQN to address a specific processing cryptographic resource. Of the three instructions:
- NQAP Enqueue Adjunct Processor
- NQAP places a request message segment on an addressed APQN. Status information is returned in the APQSW to indicate the success of the request.
- the NQAP instruction completes, and the message request is processed asynchronously.
- a work request may be delivered as a number of segments, each requiring separate NQAP instructions. Where multiple segments are needed, the instruction returns the APQ index or entry number (APEX) on successfully receiving the first segment. Subsequent segments require that the associated APEX be specified with the request.
- APEX APQ index or entry number
- DQAP Dequeue Adjunct Processor
- DQAP removes the next ready reply message, in segments, from the addressed APQN. Status information is returned in the APQSW of the last segment of the current reply to indicate the success of the reply. Once a reply has been successfully removed, the associated queue element of the APQ becomes free to be used for a subsequent request. Replies may be returned in multiple segments, each requiring a separate DQAP to receive each segment. The first DQAP returns the APEX, which each subsequent DQAP specifies to retrieve the remaining message segments.
- PQAP Process Queue Adjunct Processor
- TAPQ Test AP Queue
- TAPQ Test AP Queue
- the TAPQ also returns whether the associated queue is full or empty and whether the queue is configured for adapter interruptions. This information may be returned in one of the general purpose register operands used.
- the CEX adapter may be configured in one of three mutually exclusive modes (accelerator, XCP and CCA), which have no commonality from a programming perspective. Additionally, each mode has a different message structure.
- each mode has a different message structure.
- a user e.g., a program, operating system
- the hypervisor builds and dequeues three distinct reply structures, one for each configured mode, impacting performance through redundant processing.
- Commands to the AP crypto adapter can require two different levels of authority. Functional commands, such as program APIs and cryptography requests require usage authority. Configuration of the cryptographic environment requires control authority. This group of commands includes configuring domain master keys, and zeroizing an AP cryptographic adapter domain.
- the zeroizing operation removes a VM’s secret keys to ensure that a future VM being configured with the same AP cryptographic adapter does not have access to the previous VM’s restricted data that remains on the adapter.
- Residual data occurs when the VM having the AP crypto adapter in its configuration is deactivated or removed. Exposure of residual data also occurs when an AP crypto adapter that was a dedicated resource to one VM is redeployed from that VM to a shared pool where it is accessible to several VMs.
- An administrator having the appropriate security authorization accesses the cluster’s hardware management console (HMC) to define and modify VMs, assign servers to domains, and assign hardware, particularly cryptographic adapters, to host servers and VMs.
- HMC hardware management console
- the administrator also performs the zeroizing operation from the HMC.
- an administrator with access to the HMC can perform all operations on all partitions and all hardware, which is an overly liberal level of access.
- embodiments of the present invention introduce an intermediate level of access whereby a VM is given restricted administrative access only to its resources from the host server, and a common request/reply message format is provided.
- a non-crypto adapter command here called zeroize AP domain (ZAPD)
- ZAPD zeroize AP domain
- An enterprise may make the policy decision whether or not to install ZAPD, based on how sensitive the enterprise considers the data. If the data is considered sensitive/secret, the enterprise can install ZAPD and define the circumstances under which the command can be used.
- a facility bit (AC indicator) is added to the AP architecture that software can query to discover whether ZAPD is supported for the AP crypto adapters.
- the software creates a ZAPD request message using a common request message format.
- the hypervisor Upon receiving the message, the hypervisor builds a ZAPD request message and sets an indicator that this is an administrative command that requires control authority.
- the hypervisor sets the APQN of the target domain.
- the machine firmware intercepts the hypervisor's request message and converts it into the format corresponding to the configured mode of the AP crypto adapter command request message.
- the AP crypto adapter validates and executes the command request message and returns the execution results.
- An AP crypto adapter error code is stored in the reply connectivity programming request block (CPRB) of the AP crypto adapter's command reply message if the command execution is unsuccessful.
- the machine firmware generates a command reply message that the machine hypervisor understands based on the crypto card's command reply message.
- the machine firmware If a crypto card error code is stored in the reply CPRB, then the machine firmware returns machine failure AP command reply code into the AP reply code field as well as the actual crypto card error code returned by the crypto card in a new error return code (ERC) field to the machine hypervisor.
- ERC error return code
- the common request/reply message format addresses the issue of a separate message format for each configuration mode.
- the hypervisor is not involved with the message content, which is complex and is processed by several components of the server and the AP crypto adapter.
- a hypervisor’s interest is limited to administration of resources and VMs.
- a broader role can cause the hypervisor to become involved in intercepting, examining, and possibly reissuing any message the hypervisor evaluated as being authorized. This can introduce a security exposure, in addition to impacting performance, since the hypervisor is now acting as more than an intermediary.
- the described embodiments provide that the authorized user, such as the system the administrator, can zeroize in secret, according to the installation’s policy.
- FIG. l is a functional block diagram of an illustrative virtualized environment (system) 100, according to an embodiment of the invention.
- the system 100 includes one or more computer system/servers (server) 12, one of which is shown.
- the server 12 may include any computer capable of including a hypervisor 10, which enables virtualizing the server 12 hardware to support one or more optional virtual guests, such as VM1 19.
- server 12 may be described in the context of computer system-executable instructions, such as program modules, routines, objects, data structures, and logic, etc. that perform particular tasks or implement particular abstract data types.
- the server 12 can be part of a distributed cloud computing environment, and may enable creation of multiple VMs, when a hypervisor 10 is installed on the server 12.
- the server 12 may include, but is not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16.
- Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
- the server 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer system/server 12, and it includes both volatile and non-volatile media, removable and non-removable media.
- the memory 28 can include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and/or cache memory 32.
- the memory 28 may include a hardware system area, which is indirectly accessible and not visible to programs executing on the processor 16.
- indirectly accessible is used to mean that the hardware system area and the adjunct processor queue(s) stored in the hardware system area are only accessible by specific limited instructions and not otherwise accessible (e.g., cannot load into it, programs are unaware of addresses, etc.).
- Located within the memory 28 are one or more adjunct processor queues. These queues are not directly visible from user programs and are instead considered a part of the processor 16, memory 28, and adjunct processor(s) (crypto adapter 21).
- a processor 16 has access to the queues in memory 28 by, for instance, issuing instructions to place requests on the queue, and/or to remove replies from the queue.
- the adjunct processor has direct access to the queues via a transport layer and takes requests off the queue, processes the requests, and places replies to the requests on the queue. Therefore, the message flow may comprise the program issuing AP instructions to a queue that is actually in the hardware system area, potentially 256 queues having 32 elements each.
- the transport layer firmware validates a request to the extent possibly within the constraints of performing real I/O to the bus connected to the crypto adapter 21 and sends the request to the firmware on the crypto adapter 21.
- the server 12 may further include other removable/non-removable, volatile/non- volatile computer system storage media.
- storage system 34 can include a nonremovable, non-volatile magnetic media, e.g., a "hard drive” and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD- ROM or other optical media.
- a nonremovable, non-volatile magnetic media e.g., a "hard drive”
- an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD- ROM or other optical media.
- Each device in the storage system 34 can be connected to bus 18 by one or more data media interfaces, such as I/O interface 22.
- Each program 40 represents one of a plurality of programs that are stored in the storage system 34 and are loaded into the memory 28 for execution.
- a program 40 includes an instance of an operating system, an application, a system utility, or similar.
- Each program 40 includes one or more modules 42.
- the hypervisor 10 can cause the profiles of the various VMs to load into hypervisor 10 memory, where they populate the configuration parameters and resources of the VMs. It should be noted that even when the server 12 includes the hypervisor 10, a VM is not required. In that case, the physical resources of the server 12 are not virtualized.
- the server 12 may also communicate with one or more external devices 14 such as a keyboard, a pointing device; and/or any devices (e.g., network card, modem, etc.) that enable the server 12 to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces 22.
- external devices 14 such as a keyboard, a pointing device; and/or any devices (e.g., network card, modem, etc.) that enable the server 12 to communicate with one or more other computing devices.
- I/O Input/Output
- FIG. 2 illustrates the hypervisor process of issuing a ZAPD command.
- the hypervisor builds a common request message and includes an indicator that this is an administrative command.
- the hypervisor sets the AP index and the APQ index of the domain to be zeroized in the command request message, and enqueues the command request message.
- Each AP is referenced by a unique index; each AP is partitioned into cryptographic processing environments called domains, each of those being referred to by a domain index; each domain of each AP is served by a queue and uniquely identified by the pair (AP index, Domain index) - often referred to as and AP Queue number or APQN. Domain index is often referred to as the APQ index. Therefore, the ZAPD operates on only one domain of one AP.
- the hypervisor issues a PQAP QCI function to the target APQN to query whether the ZAPD facility is installed.
- the hypervisor receives the command reply message containing the query response. If at 210, ZAPD is not installed, processing ends.
- the hypervisor checks whether the usage and control domains are enabled for the target domain.
- the usage domains and control domains are each organized as bitmaps, one entry corresponding to a target domain.
- the AP queue index value is used to access the bitmaps to locate the bit settings for the target domain’s usage domain and control domain.
- the hypervisor builds the common command request message specifying the ZAPD command.
- the hypervisor also sets an administrative command (AC) indicator in a register, e.g., GR0, to indicate this is an administrative command and requires special handling.
- the AC indicator is a convenience for the processor firmware. Normally, requests which in the first stage are interpreted by millicode are subject to usage or control validation but not both. The AC indicator removes the need for millicode to parse the command request structure for an underlying command that needs both usage and control validation.
- the hypervisor also sets the APQI of the target domain in the command request message (230).
- the APQI corresponds to a given domain number within the AP crypto adapter.
- the hypervisor enqueues the common command request message to the AP queue of the target domain using the NQAP instruction.
- the common command request message is delivered to an internal queue in the computer’s hardware system area (HSA).
- HSA hardware system area
- a separate piece of computer firmware processes that queue.
- the request is sent to firmware on the AP crypto adapter, which routes the request to the AP crypto adapter’s crypto chip, or one of the crypto chip’s agents. Failure indicators, reply codes, and reason codes may be returned as replies to the message initiation.
- FIG. 3 illustrates the CPC firmware handling of a ZAPD command from the hypervisor, a view of validating an enqueued zeroize command request message.
- the hypervisor checks what command is being requested.
- a common request message is generated and enqueued to the target AP queue.
- the reply message is processed depending on the results of the command execution.
- the hypervisor determines a processing path depending on the nature of the requested command. For non-ZAPD commands (305), millicode stores the common request message into the AP queue of the target domain (320).
- the hypervisor tests for the presence of an inconsistent command code attribute error from i390 firmware. The error being present in the command reply message header indicates that either this is not ZAPD but the AC indicator is set, or that this is ZAPD but the AC indicator is not set. In that case, i390 firmware generates the common ZAPD reply message at 325.
- the i390 firmware stores a reply code, for example “32”, in the header of the common command reply message (330), and stores the common command reply message into the target AP queue (335).
- the hypervisor by checking the usage and control domain bitmaps, determines that the hypervisor has the required access for the AP target domain (310). If the hypervisor has the required accesses, then processing joins the path of storing the common command request message and generating the common reply message. At 310, if the hypervisor does not have the required accesses, then at 340 millicode rejects the ZAPD with a response code, for example “30”, which is stored in an architected location, such as GR1, and processing ends. If no error is returned at 315, processing proceeds to FIG. 4.
- FIG. 4 illustrates a view of validating an enqueued zeroize command request message, according to an embodiment of the present invention.
- the hypervisor checks what command is being requested. For non-ZAPD commands, a common request message is executed, and the common request reply message is generated and returned to the caller.
- the request reply is generated and returned to the caller.
- the i390 firmware simulates the execution of the command as a non-operation because secret keys are not architected for accelerator mode (415).
- i390 firmware simulates the execution and the execution results that the AP crypto adapter would have performed. This allows the flexibility for a future implementation in the accelerator mode, as well.
- the i390 firmware then generates the common request reply message with a reply code, such as “00”.
- the i390 firmware stores the common reply message into the target AP queue.
- the i390 code converts the common ZAPD command request message into the mode-specific form of the DZ request message that the AP crypto adapter understands. That is: the i390 code creates and populates a CPRB and a verb request block (VRB) with the DZ verb and parameters.
- VRB verb request block
- Part of the AP crypto adapter i390 firmware runs on the processor, and a portion of the i390 firmware executes on the AP crypto adapter.
- the i390 firmware parses the message payload and issues the correct form of the command, and detail validation occurs. This includes verifying the payload contents for presence and correctness of required values, and that the contents are consistent with the command request and with the AP crypto adapter’s configuration mode.
- the ZAPD command is independent of the specific mode of configuration. Each mode has a different agent program, including different command formats. Therefore, the i390 translation from the AP crypto adapter format to an abstracted response independent of mode satisfies a requirement to be both generic, and provide future compatibility should formats change.
- FIG. 5 illustrates a view of executing the zeroize command and returning the execution results to the machine hypervisor.
- the portion of the crypto card firmware that executes on the AP crypto adapter validates and executes the command request message, and generates the command reply message corresponding to the configured mode of the AP crypto adapter (505).
- the result of a successful execution is the writing of null values, or similar pattern, to the available storage area on the AP crypto adapter.
- the error code is stored in the connectivity programming request block (CPRB) of the AP crypto adapter's command reply message if the command execution is unsuccessful.
- the i390 firmware converts the command reply message corresponding to the configured mode of the APAP crypto adapter into the common command reply message (535).
- xlO error code
- the soft error is detected, and the i390 firmware stores the soft error code in the header of the common command reply message (545).
- the i390 firmware then stores the AP crypto adapter error code into the error return code field of the command reply message data area (550). Processing then continues at 520.
- the i390 firmware stores the command reply message in the AP crypto adapter’s firmware’s internal storage (520).
- the hypervisor dequeues the reply message from the target AP queue.
- the i390 firmware stores the command reply message in the AP crypto adapter’s firmware’s internal storage (520), and the hypervisor dequeues the common ZAPD command reply message from the target AP queue (525).
- FIG. 6 illustrates an exemplary computing device 600 applicable for executing the algorithm of FIGs. 2-5.
- Computing device 500 may include respective sets of internal components 800 and external components 900 that together may provide an environment for a software application.
- Each of the sets of internal components 800 includes one or more processors 820; one or more computer-readable RAMs 822; one or more computer-readable ROMs 824 on one or more buses 826; one or more operating systems 828 executing the algorithm of FIGs. 2-5; and one or more computer-readable tangible storage devices 830.
- the one or more operating systems 828 are stored on one or more of the respective computer-readable tangible storage devices 830 for execution by one or more of the respective processors 820 via one or more of the respective RAMs 822 (which typically include cache memory).
- each of the computer- readable tangible storage devices 830 is a magnetic disk storage device of an internal hard drive.
- each of the computer-readable tangible storage devices 830 is a semiconductor storage device such as ROM 824, EPROM, flash memory or any other computer-readable tangible storage device that can store a computer program and digital information.
- Each set of internal components 800 also includes a R/W drive or interface 832 to read from and write to one or more computer-readable tangible storage device(s) 936 such as a CD-ROM, DVD, SSD, USB memory stick, and magnetic disk.
- a R/W drive or interface 832 to read from and write to one or more computer-readable tangible storage device(s) 936 such as a CD-ROM, DVD, SSD, USB memory stick, and magnetic disk.
- Each set of internal components 800 may also include network adapters (or switch port cards) or interfaces 836 such as a TCP/IP adapter cards, wireless WI-FI interface cards, or 3G or 4G wireless interface cards or other wired or wireless communication links.
- the operating system 828 that is associated with computing device 600 can be downloaded to computing device 600 from an external computer (e.g., server) via a network (for example, the Internet, a local area network, or other wide area network) and respective network adapters or interfaces 836. From the network adapters (or switch port adapters) or interfaces 836 and operating system 828 associated with computing device 600 are loaded into the respective hard drive 830 and network adapter 836.
- External components 900 can also include a touch screen 920 and pointing devices 930.
- the device drivers 840, R/W drive or interface 832 and network adapter or interface 836 comprise hardware and software (stored in storage device 830 and/or ROM 824).
- Various embodiments of the invention may be implemented in a data processing system suitable for storing and/or executing program code that includes at least one processor coupled directly or indirectly to memory elements through a system bus.
- the memory elements include, for instance, local memory employed during actual execution of the program code, bulk storage, and cache memory which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
- I/O devices can be coupled to the system either directly or through intervening I/O controllers.
- Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the available types of network adapters.
- the present invention may be a system, a method, and/or a computer program product.
- the computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
- the computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device.
- the computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- a non- exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing.
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- SRAM static random access memory
- CD-ROM compact disc read-only memory
- DVD digital versatile disk
- memory stick a floppy disk
- mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon
- a computer readable storage medium is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
- Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network.
- the network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers.
- a network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
- Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
- the computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
- These computer readable program instructions may be provided to a processor of a programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the Figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE112022006108.1T DE112022006108T5 (en) | 2021-12-16 | 2022-12-09 | DELETING AN ADJUNCT PROCESSOR DOMAIN (AP DOMAIN) |
| GB2409168.8A GB2628502A (en) | 2021-12-16 | 2022-12-09 | Adjunct processor (AP) domain zeroize |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/644,598 | 2021-12-16 | ||
| US17/644,598 US12399732B2 (en) | 2021-12-16 | 2021-12-16 | Adjunct processor (AP) domain zeroize |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023110653A1 true WO2023110653A1 (en) | 2023-06-22 |
Family
ID=84689062
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2022/085094 Ceased WO2023110653A1 (en) | 2021-12-16 | 2022-12-09 | Adjunct processor (ap) domain zeroize |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US12399732B2 (en) |
| DE (1) | DE112022006108T5 (en) |
| GB (1) | GB2628502A (en) |
| TW (1) | TWI822292B (en) |
| WO (1) | WO2023110653A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2624862A (en) * | 2022-11-29 | 2024-06-05 | Ibm | Extending secure guest metadata to bind the secure guest to an HSM |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110055560A1 (en) * | 2009-08-31 | 2011-03-03 | International Business Machines Corporation | Conversion of cryptographic key protection |
| US20160127336A1 (en) * | 2013-11-12 | 2016-05-05 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information using signaling |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69634913T2 (en) | 1995-04-28 | 2006-01-05 | Matsushita Electric Industrial Co., Ltd., Kadoma | INTERFACE DEVICE |
| US6108425A (en) | 1997-06-30 | 2000-08-22 | International Business Machines Corporation | Method and apparatus for controlling the configuration of a cryptographic processor |
| US7657667B2 (en) * | 2004-03-25 | 2010-02-02 | International Business Machines Corporation | Method to provide cache management commands for a DMA controller |
| JP5526673B2 (en) | 2009-09-16 | 2014-06-18 | ソニー株式会社 | Solid-state imaging device and electronic device |
| US9160539B1 (en) | 2011-09-30 | 2015-10-13 | Emc Corporation | Methods and apparatus for secure, stealthy and reliable transmission of alert messages from a security alerting system |
| US9405708B1 (en) | 2015-02-04 | 2016-08-02 | Amazon Technologies, Inc. | Preventing attacks that rely on same-page merging by virtualization environment guests |
| US10685126B2 (en) | 2018-01-22 | 2020-06-16 | International Business Machines Corporation | Operating a secure storage device with a non-volatile memory |
-
2021
- 2021-12-16 US US17/644,598 patent/US12399732B2/en active Active
-
2022
- 2022-09-01 TW TW111133128A patent/TWI822292B/en active
- 2022-12-09 WO PCT/EP2022/085094 patent/WO2023110653A1/en not_active Ceased
- 2022-12-09 DE DE112022006108.1T patent/DE112022006108T5/en active Pending
- 2022-12-09 GB GB2409168.8A patent/GB2628502A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110055560A1 (en) * | 2009-08-31 | 2011-03-03 | International Business Machines Corporation | Conversion of cryptographic key protection |
| US20160127336A1 (en) * | 2013-11-12 | 2016-05-05 | Amazon Technologies, Inc. | Preventing persistent storage of cryptographic information using signaling |
Also Published As
| Publication number | Publication date |
|---|---|
| DE112022006108T5 (en) | 2025-01-09 |
| GB2628502A (en) | 2024-09-25 |
| GB202409168D0 (en) | 2024-08-07 |
| TWI822292B (en) | 2023-11-11 |
| US12399732B2 (en) | 2025-08-26 |
| US20230195490A1 (en) | 2023-06-22 |
| TW202327311A (en) | 2023-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20180032249A1 (en) | Hardware to make remote storage access appear as local in a virtualized environment | |
| US20150058848A1 (en) | Encapsulation of an application for virtualization | |
| CN109564524A (en) | Secure Boot for Virtualization Manager | |
| KR102726548B1 (en) | Reservation of one or more security modules for secure guests | |
| JP7461694B2 (en) | Program interruption for importing/exporting pages | |
| US8996774B2 (en) | Performing emulated message signaled interrupt handling | |
| CN109564523A (en) | Variability of performance is reduced using opportunistic management program | |
| US9384086B1 (en) | I/O operation-level error checking | |
| KR20190087557A (en) | Pending External Interruption Test Command | |
| US12008413B2 (en) | Vector processing employing buffer summary groups | |
| US12399732B2 (en) | Adjunct processor (AP) domain zeroize | |
| TWI813283B (en) | Computer program product, computer system and computer-implementing method for intersystem processing employing buffer summary groups | |
| US9354967B1 (en) | I/O operation-level error-handling | |
| US11645154B2 (en) | Enhanced recovery from externally initiated adjunct processor queue reset | |
| CN113760767B (en) | Debugging method and device of operating system, electronic equipment and computer readable storage medium | |
| US12210634B2 (en) | Featureless machine enhancement discovery and verification | |
| CN113574513A (en) | Detecting changes to storage keys for protecting memory | |
| JP7786850B2 (en) | Command type filtering based on per-command filtering indicators | |
| US11593208B1 (en) | Managing machine failure | |
| US10223284B2 (en) | Flexible I/O DMA address allocation in virtualized systems | |
| US10133647B2 (en) | Operating a computer system in an operating system test mode in which an interrupt is generated in response to a memory page being available in physical memory but not pinned in virtual memory | |
| US11875200B2 (en) | Adjunct processor extended message limit facility | |
| US12026555B2 (en) | Adjunct processor command-type filtering | |
| EP4396676B1 (en) | Inaccessible prefix pages during virtual machine execution |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22834597 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 202409168 Country of ref document: GB Kind code of ref document: A Free format text: PCT FILING DATE = 20221209 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2409168.8 Country of ref document: GB |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112022006108 Country of ref document: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: 2409168.8 Country of ref document: GB |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22834597 Country of ref document: EP Kind code of ref document: A1 |