IP Library Granted Patent US 12,314,371
Granted Patent B2
US 12,314,371 · App. 17/383,881 · Granted May 27, 2025

Systems and methods for peripheral device security

Inventors: Austin Patrick Bolen (Austin, TX); Chandrashekar Nelogal (Round Rock, TX)
Assignee: EMC IP HOLDING COMPANY LLC
G06F21/44G06F13/4208G06F21/85
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,314,371
App. No.
17/383,881
Granted
May 27, 2025
Kind
B2
Abstract

A method for authenticating a peripheral device, that includes detecting, by a baseboard management controller (BMC), a presence of the peripheral device, receiving authentication credentials from the peripheral device, making a determination, based on the authentication credentials, that the peripheral device is authentic, and sending, in response to the determination, a command to open a peripheral communication channel with the peripheral device.

Claims (73)

1. A method for authenticating a peripheral device, comprising:

generating, by the peripheral device, a vendor defined message (VDM) that advertises that the peripheral device is connected to a node, wherein the peripheral device comprises a peripheral component interconnect express (PCIe) device;

sending, by a PCIe switch of the node using software executing on a processor of the node, the VDM to a baseboard management controller (BMC) of the node;

receiving, by the BMC, the VDM specifying identifying information associated with the peripheral device and an allowed VDM channel for communication;

in response to receiving the VDM, generating, by the BMC, a request for authentication credentials and for identifying information of the peripheral device and placing the peripheral device in quarantine wherein, when in quarantine, the peripheral device can only communicate with the BMC over the allowed VDM channel;

sending the request to the peripheral device by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the peripheral device, the request;

in response to receiving the request, generating a message by the peripheral device, wherein the message comprises the authentication credentials and the identifying information;

sending the message to the BMC by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the BMC, the message;

obtaining, by the BMC and using at least a portion of the identifying information, a public key associated with the peripheral device;

making a determination, based on the authentication credentials and the public key, that the peripheral device is authentic; and

removing, in response to the determination, the peripheral device from the quarantine, wherein removing the peripheral device from the quarantine comprises:

sending:

a command to open a first peripheral communication channel with the peripheral device, and

a certificate to the peripheral device generated by the BMC acting as a certificate authority so that the peripheral device may use the certificate for future authentications,

wherein the command to open the first peripheral communication channel is sent to the PCIe switch via the processor,

wherein prior to making the determination that the peripheral device is authentic, a plurality of peripheral communication channels are blocked, wherein the plurality of peripheral communication channels comprises the first peripheral communication channel.

2. A non-transitory computer readable medium comprising instructions which, when executed by a computer processor, enables the computer processor to perform a method for authenticating a peripheral device, comprising:

generating, by the peripheral device, a vendor defined message (VDM) that advertises that the peripheral device is connected to a node, wherein the peripheral device comprises a peripheral component interconnect express (PCIe) device;

sending, by a PCIe switch of the node using software executing on a processor of the node, the VDM to a baseboard management controller (BMC) of the node;

receiving, by the BMC, the VDM specifying identifying information associated with the peripheral device and an allowed VDM channel for communication;

in response to receiving the VDM, generating, by the BMC, a request for authentication credentials and for identifying information of the peripheral device and placing the peripheral device in quarantine wherein, when in quarantine, the peripheral device can only communicate with the BMC over the allowed VDM channel;

sending the request to the peripheral device by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the peripheral device, the request;

in response to receiving the request, generating a message by the peripheral device, wherein the message comprises the authentication credentials and the identifying information;

sending the message to the BMC by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the BMC, the message;

obtaining, by the BMC, and using at least a portion of the identifying information, a public key associated with the peripheral device;

making a determination, based on the authentication credentials and the public key, that the peripheral device is authentic; and

removing, in response to the determination, the peripheral device from the quarantine, wherein removing the peripheral device from the quarantine comprises:

sending:

a command to open a first peripheral communication channel with the peripheral device, and

a certificate to the peripheral device generated by the BMC acting as a certificate authority so that the peripheral device may use the certificate for future authentications,

wherein the command to open the first peripheral communication channel is sent to the PCIe switch via the processor,

wherein prior to making the determination that the peripheral device is authentic, a plurality of peripheral communication channels are blocked, wherein the plurality of peripheral communication channels comprises the first peripheral communication channel.

3. A node, comprising:

a processor;

a peripheral device;

a peripheral switch; and

a baseboard management controller (BMC), wherein the BMC is configured to perform a method for authenticating the peripheral device, comprising:

generating, by the peripheral device, a vendor defined message (VDM) that advertises that the peripheral device is connected to a node, wherein the peripheral device comprises a peripheral component interconnect express (PCIe) device;

sending, by a PCIe switch of the node using software executing on a processor of the node, the VDM to a baseboard management controller (BMC) of the node;

receiving, by the BMC, the VDM specifying identifying information associated with the peripheral device and an allowed VDM channel for communication;

in response to receiving the VDM, generating, by the BMC, a request for authentication credentials and for identifying information of the peripheral device and placing the peripheral device in quarantine wherein, when in quarantine, the peripheral device can only communicate with the BMC over the allowed VDM channel;

sending the request to the peripheral device by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the peripheral device, the request;

in response to receiving the request, generating a message by the peripheral device, wherein the message comprises the authentication credentials and the identifying information;

sending the message to the BMC by the PCIe switch of the node using the software executing on the processor of the node through the allowed VDM channel;

receiving, by the BMC, the message;

obtaining and using at least a portion of the identifying information, a public key associated with the peripheral device;

making a determination, based on the authentication credentials and the public key, that the peripheral device is authentic; and

removing, in response to the determination, the peripheral device from the quarantine, wherein removing the peripheral device from the quarantine comprises:

sending:

a command to open a first peripheral communication channel with the peripheral device, and

a certificate to the peripheral device generated by the BMC acting as a certificate authority so that the peripheral device may use the certificate for future authentications,

wherein the command to open the first peripheral communication channel is sent to the PCIe switch via the processor,

wherein prior to making the determination that the peripheral device is authentic, a plurality of peripheral communication channels are blocked, wherein the plurality of peripheral communication channels comprises the first peripheral communication channel.

4. The method of claim 1 , wherein the identifying information specifies a manufacturer of the peripheral device, and a model number of the peripheral device.

5. The method of claim 1 , further comprising:

in response to receiving the command, the PCIe switch sends an interrupt to an operating system (OS) on the node,

wherein the BMC is located on the node, wherein the OS is not aware of the peripheral device prior to receiving the interrupt,

wherein after receiving the interrupt, the OS is able to communicate with the peripheral device.

6. The non-transitory computer readable medium of claim 2 , wherein the identifying information specifies a manufacturer of the peripheral device, and a model number of the peripheral device.

7. The non-transitory computer readable medium of claim 2 , further comprising:

in response to receiving the command, the PCIe switch sends an interrupt to an operating system (OS) on the node,

wherein the BMC is located on the node, wherein the OS is not aware of the peripheral device prior to receiving the interrupt,

wherein after receiving the interrupt, the OS is able to communicate with the peripheral device.

8. The node of claim 3 , wherein the identifying information specifies a manufacturer of the peripheral device, and a model number of the peripheral device.

9. The node of claim 3 , further comprising:

in response to receiving the command, the PCIe switch sends an interrupt to an operating system (OS) on the node,

wherein the BMC is located on the node, wherein the OS is not aware of the peripheral device prior to receiving the interrupt,

wherein after receiving the interrupt, the OS is able to communicate with the peripheral device.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2021
From: BOLEN, AUSTIN PATRICK; NELOGAL, CHANDRASHEKAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056967/0211 →
Continuity (1)
Related Publication 20230025979A1 · Jan 26, 2023
References Cited (22)
US 7877788B1 · Topp · 2011 [cited by examiner]
US 9576270B1 · Afshar · 2017 [cited by applicant]
US 10242176B1 · Sathyanarayana · 2019 [cited by examiner]
US 10832361B2 · Mowatt et al. · 2020 [cited by applicant]
US 10848972B2 · Veramendi · 2020 [cited by applicant]
US 11403384B2 · Dreger · 2022 [cited by applicant]
US 12099850B2 · Jreij · 2024 [cited by applicant]
US 20090172770A1 · Sandage et al. · 2009 [cited by applicant]
US 20140351654A1 · Zhang · 2014 [cited by examiner]
US 20170094133A1 · Hamsici · 2017 [cited by applicant]
US 20180285967A1 · Gilbey et al. · 2018 [cited by applicant]
US 20180349314A1 · Angus et al. · 2018 [cited by applicant]
US 20190281449A1 · Luo · 2019 [cited by examiner]
US 20190352933A1 · Tartal · 2019 [cited by applicant]
US 20220020082A1 · Kataoka et al. · 2022 [cited by applicant]
US 20220027522A1 · Kasheshian · 2022 [cited by examiner]
US 20220124118A1 · Bangalore Sathyanarayana · 2022 [cited by examiner]
US 20220219564A1 · Aoto et al. · 2022 [cited by applicant]
US 20220256306A1 · Perraud · 2022 [cited by applicant]
US 20230237185A1 · Kumar et al. · 2023 [cited by applicant]
US 20240111544A1 · Jreij · 2024 [cited by applicant]
Austin Bolen et al. (Mar. 19, 2019). “PCle Hot-Plug and Error Handling for NVMe” [PowerPoint slides]. 2019 NVMe™ Annual Members Meeting and Developer Day, NVM Express (25 pages). [cited by applicant]