# US 8,751,820 B2 · Interfaces for combining calls in an emulated environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,820 B2
- Document ID: US8751820B2
- Status: Granted
- Kind: B2
- Application number: 13/324,144
- Filed: 2011-12-13
- Published: 2013-06-13
- Granted: 2014-06-10
- Earliest claimed: 2011-12-13
- Assignees: Unisys Corporation
- Applicants: Kevin F. Clayton; Yuko Onishi; Raymond Campbell
- Inventors: Kevin F. Clayton; Yuko Onishi; Raymond Campbell
- Web page: https://patentgrep.com/patent/US8751820B2

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Calls from an application in an emulated environment to a module in the operating system hosting the emulated environment may be combined to reduce the overhead of accessing the module. An application handling secure shell (SSH) communications may execute multiple calls to a cryptographic module in the host operating system. Because many calls to the cryptographic module during SSH communications follow patterns, two or more related calls may be combined into a single combined call to the cryptographic module. For example, a call to generate a server-to-client key and a call to generate a client-to-server key may be combined into a single call.

## Claims

### Claim 1

A method for providing secure communications to an application in an emulated environment, comprising:
receiving a first call comprising a request for producing a server-to-client encryption key, the first call being received from the application to a security module located outside the emulated environment, for processing data during a secure shell session;
receiving a second call comprising a request for producing a client-to-server encryption key, the second call being received from the application to the security module located outside the emulated environment, for processing data during the secure shell session;
combining the first call and the second call in a combined call; and
executing the combined call to the security module located outside the emulated environment.

### Claim 2 (depends on 1)

The method of claim 1, in which the emulated environment is executing in a host operating system and the module is located in the host operating system.

### Claim 3 (depends on 2)

The method of claim 2, in which the security module is a cryptographic module.

### Claim 4 (depends on 1)

The method of claim 1, further comprising delaying execution of the first call before receiving the second call.

### Claim 5 (depends on 4)

The method of claim 4, further comprising identifying the first call in a look-up table before delaying execution of the first call.

### Claim 6

An apparatus, comprising:
a host operating system executing on at least one CPU of the apparatus, the host operating system including at least one security module;
an emulated environment executing in the host operating system;
an application executing in the emulated environment for performing secure shell communications; and
an interface between the emulated environment and the security module, in which the interface translates calls from the application in the emulated environment to calls to the security module in the host operating system, and in which the interface combines a first call to generate an encryption key and a second call to generate an encryption key from the application into a single combined call to the security module during the secure shell communications.

### Claim 7 (depends on 6)

The apparatus of claim 6, in which the security module comprises a cryptographic module.

### Claim 8 (depends on 7)

The apparatus of claim 7, in which the cryptographic module comprises a certificate store.

### Claim 9 (depends on 6)

The apparatus of claim 6, in which the emulated environment is a proprietary environment incompatible with the host operating system.

### Claim 10 (depends on 6)

The apparatus of claim 6, further comprising a second interface, in which the second interface combines more than one calls from the application into a single combined call to the security module, and in which the second interface combines a third call and a fourth call, distinct from the first call and the second call, into a single combined call to the security module.

### Claim 11 (depends on 6)

The apparatus of claim 6, in which the interface is configured:
to receive a first call from the application in the emulated environment;
to delay execution of the first call;
to receive a second call from the application in the emulated environment;
to combine the first call and the second call into a single combined call; and
to execute the single combined call to the module.

### Claim 12 (depends on 11)

The apparatus of claim 11, in which the interface is further configured to identify the first call in a look-up table before delaying execution of the first call.

### Claim 13

A computer program product for providing secure communications to an application in an emulated environment, comprising:
a non-transitory computer-readable medium comprising:
code to process secure shell communications;
code to receive a first call to a security module located outside an emulated environment during the secure shell communications, the first call comprising a request to generate an encryption key;
code to receive a second call to the security module located outside the emulated environment during the secure shell communications, the second call comprising a request to generate an encryption key;
code to combine the first call and the second call in a combined call; and
code to execute the combined call to the security module located outside the emulated environment.

### Claim 14 (depends on 13)

The computer program product of claim 13, in which the emulated environment is executing in a host operating system and the module is located in the host operating system.

### Claim 15 (depends on 14)

The computer program product of claim 14, in which the security module is a cryptograhic module.

### Claim 16 (depends on 15)

The computer program product of claim 15, in which the security module is a cryptographic module.

### Claim 17 (depends on 13)

The computer program product of claim 13, in which the medium further comprises code to delay execute of the first call before receiving the second call.

### Claim 18 (depends on 13)

The computer program product of claim 13, in which the medium further comprises code to search a table to identify a related call to the first call before receiving the second call.
