# US 12,602,464 B2 · Peripheral device sandbox

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

- Number: US 12,602,464 B2
- Document ID: US12602464B2
- Status: Granted
- Kind: B2
- Application number: 18/772,926
- Filed: 2024-07-15
- Published: 2025-01-16
- Granted: 2026-04-14
- Earliest claimed: 2023-07-14
- Assignees: DataLocker Inc.
- Applicants: DataLocker Inc.
- Inventors: Nicolas Picard; Anders Kjellander
- Web page: https://patentgrep.com/patent/US12602464B2

## CPC

- G06F 21/44: Program or device authentication
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for authorizing a peripheral device to be operably connected to a host device. The method includes receiving an indication that the peripheral device has been physically connected with the host device. An additional step includes generating a sandbox environment within the host device. An additional step includes obtaining enumeration data from the peripheral device and obtaining a device signature identifying the peripheral device. An additional step including comparing the device signature with authorization data to determine if the peripheral device is authorized to operably connect with the host device. A further step includes, if authorized, allowing the peripheral device to operably connect with the host device, or if not authorized, denying the peripheral device to operably connect with the host device.

## Claims

### Claim 1

A computer-implemented method for authorizing a peripheral device to be operably connected to a host device, said method comprising the following steps:
receiving an indication that the peripheral device has been physically connected with the host device;
generating a sandbox environment within the host device, wherein the peripheral device is configured to communicate with the host device only through the sandbox environment, such that the peripheral device is not provided access to other components of the host device or to a network with which the host device is associated;
obtaining enumeration data from the peripheral device;
analyzing, via the sandbox environment, the peripheral device's enumeration data to obtain a device signature identifying the peripheral device,
wherein the enumeration data comprises data sizes of messages sent from the peripheral device and timing of the messages sent from the peripheral device, and
wherein the device signature comprises a comparison of data sizes of messages sent from the peripheral device and timing of the messages sent from the peripheral device;
comparing, via the sandbox environment, the device signature with authorization data to determine if the peripheral device is authorized to operably connect with the host device and/or the host device's associated network; and
if authorized, allowing the peripheral device to operably connect with the host device and/or the host device's associated network, or if not authorized, denying the peripheral device to operably connect with the host device and/or the host device's associated network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the peripheral device comprises a universal serial bus (USB) device, and wherein the USB device is physically connected to the host device via a USB port of the host device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the sandbox environment comprises one or more of the following: a virtual machine, a virtual file system, and a containerization of an operating system of the host device.

### Claim 4 (depends on 1)

The method of claim 1, wherein the enumeration data further comprises one or more of the following: a vendor ID (VID) of the peripheral device, a product ID (PID) of the peripheral device, and a serial number ID (SID) of the peripheral device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the enumeration data further comprises a full device descriptor message of the peripheral device.

### Claim 6 (depends on 1)

The method of claim 1, wherein the authorization data with which the device signature is compared includes a listing of authorized and unauthorized signatures.

### Claim 7 (depends on 6)

The method of claim 6, wherein the listing of authorized and unauthorized signatures is stored on a database of the host device.

### Claim 8 (depends on 1)

The method of claim 1, wherein the step of comparing the device signature with authorization data includes analyzing the device signature with a machine learning algorithm.

### Claim 9 (depends on 8)

The method of claim 8, wherein the machine learning algorithm is updated continuously upon each authorization or denial to operably connected peripheral devices with the host device.

### Claim 10 (depends on 1)

The method of claim 1, further including the step of scanning, by the sandbox environment of the host device, data files or commands passed from the peripheral device to the host device, and filtering, by the sandbox environment, any malicious data files or commands passed from the peripheral device to the host device.

### Claim 11 (depends on 1)

The method of claim 1, further including the step of scanning, by the sandbox environment of the host device, data files stored on the peripheral device.

### Claim 12

A non-transitory computer readable medium with a computer program stored thereon for authorizing a peripheral device to be operably connected to a host device, wherein when one or more processors of the host device execute the computer program the processors are configured to:
receive an indication that the peripheral device has been physically connected with the host device;
generate a sandbox environment within the host device, wherein the peripheral device is configured to communicate with the host device only through the sandbox environment, such that the peripheral device is not provided access to other components of the host device or to a network to which the host device is associated;
obtain enumeration data from the peripheral device;
analyze, via the sandbox environment, the peripheral device's enumeration data to obtain a device signature identifying the peripheral device,
wherein the enumeration data comprises data sizes of messages sent from the peripheral device and timing of the messages sent from the peripheral device, and
wherein the device signature comprises a comparison of data sizes of messages sent from the peripheral device and timing of the messages sent from the peripheral device;
compare, via the sandbox environment, the device signature with authorization data to determine if the peripheral device is authorized to operably connect with the host device and/or the host device's associated network; and
if authorized, allow the peripheral device to operably connect with the host device and/or the host device's associated network, or if not authorized, deny the peripheral device to operably connect with the host device and/or the host device's associated network.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the peripheral device comprises a universal serial bus (USB) device, and wherein the USB device is configured to be physically connected to the host device via a USB port of the host device.

### Claim 14 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the sandbox environment comprises one or more of the following: a virtual machine, a virtual file system, and a containerization of an operating system of the host device.

### Claim 15 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the enumeration data further comprises one or more of the following: a vendor ID (VID) of the peripheral device, a product ID (PID) of the peripheral device, a serial number ID (SID) of the peripheral device, data sizes of messages sent from the peripheral device, timing of messages sent from the peripheral device, and a full device descriptor message of the peripheral device.

### Claim 16 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the authorization data with which the device signature is compared includes a listing of authorized and unauthorized signatures.

### Claim 17 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the step of comparing the device signature with authorization data includes analyzing the device signature with a machine learning algorithm.

### Claim 18 (depends on 12)

The non-transitory computer readable medium of claim 12, wherein the processor is further configured to scan, by the sandbox environment of the host device, data files or commands passed from the peripheral device to the host device, and filtering, by the sandbox environment, any malicious data files or commands passed from the peripheral device to the host device.
