# US 2021/0243180 A1 · One-time password for secure share mapping

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

- Number: US 2021/0243180 A1
- Document ID: US20210243180A1
- Status: Published application
- Kind: A1
- Application number: 16/782,875
- Filed: 2020-02-05
- Published: 2021-08-05
- Earliest claimed: 2020-02-05
- Assignees: Unisys Corporation
- Applicants: Unisys Corporation
- Inventors: ANDREW WARD BEALE; ANTHONY P. MATYOK; CLARK C. KOGEN; DAVID STRONG
- Web page: https://patentgrep.com/patent/US20210243180A1

## CPC

- H04L 9/3228: {One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key}
- H04L 63/0838: {using one-time-passwords}
- G06F 9/4552: {Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 21/31: User authentication
- G06F 21/46: by designing passwords or checking the strength of passwords
- H04L 9/3236: {using cryptographic hash functions}
- H04L 47/82: {Miscellaneous aspects}
- H04L 63/102: {Entity profiles}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for mapping a sharable resource using a one-time password are disclosed. An identifier included in a set of provided credentials uniquely associates the one-time password with an executable within a computing environment that hosts the sharable resource. When credentials are received in association with a mapping request, it is determined whether a supplied username corresponds to a user authorized to access the sharable resource and whether a representation of a supplied password received in association with the mapping request matches a representation of the one-time password. Validating the mapping request provides access to the sharable resource.

## Claims

### Claim 1

A method of mapping a sharable resource located in a first computing environment for access by a second computing environment, the method comprising:
connecting the second computing environment to an input/output communication process;
creating a one-time password and an identifier that uniquely associates the one-time password with executable code within the first computing environment that hosts the sharable resource;
after creating the one-time password, communicating resource sharing information to the second computing environment via the input/output communication process, the resource sharing information including the one-time password and a username, and having the identifier embedded therein;
receiving data indicative of credentials provided in association with a mapping request received from the second computing environment, the credentials including a supplied username and a supplied password; and
upon determining that the supplied username corresponds to a user authorized to access the sharable resource and determining that a representation of the supplied password received in association with the mapping request matches a representation of the one-time password uniquely associated with the executable code, validating the mapping request to provide access to the sharable resource in the first computing environment to the second computing environment.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, upon validating the mapping request to provide access to the sharable resource, invalidating the one-time password.

### Claim 3 (depends on 1)

The method of claim 1, wherein the first computing environment comprises a hosted computing environment executing within a host computing environment having a different instruction set architecture as compared to the hosted computing environment, the hosted computing environment being executable within the host computing environment using a translation application executable within the host computing environment.

### Claim 4 (depends on 3)

The method of claim 3, wherein the second computing environment comprises a containerized computing environment instantiated from the first computing environment.

### Claim 5 (depends on 4)

The method of claim 4, wherein the second computing environment has a different instruction set architecture as compared to the hosted computing environment.

### Claim 6 (depends on 1)

The method of claim 1, further comprising initiating credential validation of the second computing environment from a service called by executable code within the first computing environment, the executable code managing the sharable resource.

### Claim 7 (depends on 6)

The method of claim 6, wherein creating the process occurs upon completion of credential validation.

### Claim 8 (depends on 1)

The method of claim 1, wherein connecting the second computing environment to the input/output communication process is performed in response to creating a process within the second computing environment.

### Claim 9 (depends on 1)

The method of claim 1, wherein the resource sharing information further includes a fully qualified domain name and a drive letter.

### Claim 10 (depends on 1)

The method of claim 1, wherein determining that the supplied password matches the one-time password comprises comparing a hash of the supplied password to a hash of the one-time password.

### Claim 11 (depends on 1)

The method of claim 1, wherein the mapping request comprises a request to map a server message block (SMB) share.

### Claim 12 (depends on 1)

The method of claim 1, further comprising, prior to determining that the supplied password matches the one-time password, determining that the supplied password does not match a password associated with a user having the supplied username in a user data file managed within the first computing environment.

### Claim 13

A system comprising:
a host computing environment comprising:
a processor;
a memory communicatively connected to the processor and storing instructions including a hosting executable, a hosted execution environment including a sharable resource, and an external execution interface, the instructions configured to:
instantiate, from the hosted execution environment, a containerized execution environment separate from the hosted execution environment, the containerized execution environment including containerized executable code;
based on a request to map the sharable resource for access by the containerized execution environment, create a one-time password and an identifier that uniquely associates the one-time password with executable code within the hosted execution environment that hosts the sharable resource;
after creating the one-time password, communicate resource sharing information to the containerized execution environment, the resource sharing information including the one-time password and a username, and having the identifier embedded therein;
receive data indicative of credentials provided in association with a mapping request received from the containerized execution environment, the credentials including a supplied username and a supplied password; and
upon determining that the supplied username corresponds to a user authorized to access the sharable resource and determining that a representation of the supplied password received in association with the mapping request matches a representation of the one-time password uniquely associated with the executable code, validate the mapping request to provide access to the sharable resource in the hosted computing environment to the containerized execution environment.

### Claim 14 (depends on 13)

The system of claim 13, wherein:
the hosted execution environment executes code according to a first instruction set architecture by translation of the code to a second instruction set architecture performed by the hosting executable, and
the containerized executable code comprises code executable according to a second instruction set architecture different from the first instruction set architecture.

### Claim 15 (depends on 13)

The system of claim 13, wherein the sharable resource comprises a sharable drive accessible via a mapping established using a server message block (SMB) protocol.

### Claim 16 (depends on 13)

The system of claim 13, wherein communicating the resource sharing information to the containerized execution environment comprises communicating the resource sharing information from a support library within the hosted execution environment to the external execution interface and communicating the resource sharing information from the external execution interface to the containerized execution environment via a standard input/output communication process to which the containerized execution environment is connected.

### Claim 17 (depends on 16)

The system of claim 16, wherein a representation of the one-time password and the index are retained within the support library at least until a successful mapping request is received from the containerized execution environment.

### Claim 18 (depends on 13)

The system of claim 13, wherein the one-time password is a different password as compared to a first password associated with the user in a user data file maintained within the hosted execution environment.

### Claim 19 (depends on 17)

The system of claim 17, wherein the identifier comprises an index, and wherein the instructions are further configured to use the index received within the supplied username to perform a lookup of the representation of the one-time password maintained within the support library, wherein the representation of the one-time password comprises a hash of the one-time password.

### Claim 20

A system comprising:
a host computing environment;
a hosted computing environment including a sharable resource, the hosted computing environment being executable via a hosting executable on the host computing environment;
a containerized execution environment external from the hosted computing environment and executable using a different instruction set architecture than the hosted computing environment;
an automatic mapping script executable within the containerized execution environment;
a support library accessible within the hosted computing environment and configured to:
generate a one-time password and an index value; and
transmit the one-time password and index value to the containerized execution environment via an external service executable;
wherein the support library cooperates with a sharing protocol implemented within the hosted computing environment to provide access to the sharable resource to the containerized execution environment in response to execution of the automatic mapping script.
