IP Library › Granted Patent US 11,558,204
Granted Patent B2
US 11,558,204 · App. 16/994,752 · Granted Jan 17, 2023

Attesting control over network devices

Inventors: Mauro Marzorati (Lutz, FL); Rosa M. Bolger (Austin, TX); Herbert Daniel Pearthree (Cary, NC); Gregory Porpora (Fairfield, CT)
Assignee: International Business Machines Corporation
H04L9/3268H04L63/0428H04L63/0823H04L63/166
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 11,558,204
App. No.
16/994,752
Granted
Jan 17, 2023
Kind
B2
Abstract

In an approach to attesting control over network devices, responsive to receiving a first signal from a client, wherein the first signal initiates a network connection between the client and a server, a first certificate is sent to the client that contains a common name that is an internet protocol (IP) address. A second certificate is sent to the client that contains a common name that is a uniform resource locator (URL) of the server. Responsive to receiving a second signal from the client that the first certificate and the second certificate are trusted, the client is connected with the server.

Claims (95)

1. A computer-implemented method for secure communications, the computer-implemented method comprising:

responsive to receiving a first signal from a client, wherein the first signal initiates a network connection between the client and a server, sending, by one or more computer processors, a first certificate to the client, wherein the first certificate contains a first common name that is an internet protocol (IP) address;

sending, by the one or more computer processors, a second certificate to the client, wherein the second certificate contains a second common name that is a uniform resource locator (URL) of the server; and

responsive to receiving a second signal from the client that the first certificate and the second certificate are trusted, connecting, by the one or more computer processors, the client with the server.

2. The computer-implemented method of claim 1 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises:

receiving, by the one or more computer processors, a transmission control protocol (TCP) synchronize packet (TCP SYN) and a first transport layer security (TLS) client hello message from the client on a TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the TCP SYN and the first TLS client hello message on the TLS daemon, sending, by the one or more computer processors, a first TLS server hello message and a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

3. The computer-implemented method of claim 2 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises:

receiving, by the one or more computer processors, a second TLS client hello message from the client on the TLS daemon, wherein the second TLS client hello message contains a second server name identification that is the URL;

sending, by the one or more computer processors, the second TLS client hello message from the TLS daemon to a Hypertext Transfer Protocol daemon (HTTPd) at the URL;

receiving, by the one or more computer processors, a second TLS server hello message and the second certificate from the HTTPd on the TLS daemon, wherein the second TLS server hello message contains a second common name that is the URL; and

responsive to receiving the second TLS server hello message from the HTTPd on the TLS daemon, sending, by the one or more computer processors, the second TLS server hello message and the second certificate to the client.

4. The computer-implemented method of claim 1 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises:

receiving, by the one or more computer processors, a TCP SYN message from the client on a first TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

sending, by the one or more computer processors, a TCP acknowledge (TCP ACK) message from the first TLS daemon to the client, wherein the TCP ACK message contains a port number for a second TLS daemon;

receiving, by the one or more computer processors, a first TLS client hello message on the second TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the first TLS client hello message on the second TLS daemon, sending, by the one or more computer processors, a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

5. The computer-implemented method of claim 1 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, sending a first certificate to the client, comprises:

receiving, by the one or more computer processors, a TCP SYN message from the client on a TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

sending, by the one or more computer processors, a TCP acknowledge (TCP ACK) message from the TLS daemon to the client;

receiving, by the one or more computer processors, a TLS client hello message on the TLS daemon, wherein the TLS client hello message contains a client random value;

sending, by the one or more computer processors, a TLS server hello message, wherein the TLS server hello message contains a first common name that is the URL;

encrypting, by the one or more computer processors, the client random value with a first private key, wherein the first private key is based on the IP address; and

sending, by the one or more computer processors, a first encrypted client random and a first certificate to the client, wherein the first certificate contains a second common name that is the IP address.

6. The computer-implemented method of claim 5 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises:

encrypting, by the one or more computer processors, the client random value with a second private key, wherein the second private key is based on the URL;

sending, by the one or more computer processors, a second encrypted client random and a second certificate to the client, wherein the second certificate contains the first common name that is the URL; and

sending, by the one or more computer processors, a TLS server hello done message to the client.

7. The computer-implemented method of claim 1 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, sending a first certificate to the client, comprises:

receiving, by the one or more computer processors, a TCP SYN message from the client on a TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

sending, by the one or more computer processors, a TCP acknowledge (TCP ACK) message from the TLS daemon to the client;

receiving, by the one or more computer processors, a TLS client hello message on the TLS daemon, wherein the TLS client hello message contains a first common name that is the URL;

sending, by the one or more computer processors, a TLS server hello message, wherein the TLS server hello message contains the first common name that is the URL; and

sending, by the one or more computer processors, a first certificate to the client, wherein the first certificate contains a second common name that is the IP address.

8. The computer-implemented method of claim 7 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises:

sending, by the one or more computer processors, a second certificate to the client, wherein the second certificate contains the first common name that is the URL; and

sending, by the one or more computer processors, a TLS server hello done message to the client.

9. A computer program product for secure communication, the computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions including instructions to:

responsive to receiving a first signal from a client, wherein the first signal initiates a network connection between the client and a server, sending a first certificate to the client, wherein the first certificate contains a first common name that is an internet protocol (IP) address;

send a second certificate to the client, wherein the second certificate contains a second common name that is a uniform resource locator (URL) of the server; and

responsive to receiving a second signal from the client that the first certificate and the second certificate are trusted, connecting the client with the server.

10. The computer program product of claim 9 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a transmission control protocol (TCP) synchronize packet (TCP SYN) and a first transport layer security (TLS) client hello message from the client on a TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the TCP SYN and the first TLS client hello message on the TLS daemon, send a first TLS server hello message and a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

11. The computer program product of claim 10 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a second TLS client hello message from the client on the TLS daemon, wherein the second TLS client hello message contains a second server name identification that is the URL;

send the second TLS client hello message from the TLS daemon to a Hypertext Transfer Protocol daemon (HTTPd) at the URL;

receive a second TLS server hello message and the second certificate from the HTTPd on the TLS daemon, wherein the second TLS server hello message contains a second common name that is the URL; and

responsive to receiving the second TLS server hello message from the HTTPd on the TLS daemon, send the second TLS server hello message and the second certificate to the client.

12. The computer program product of claim 9 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a TCP SYN message from the client on a first TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

send a TCP acknowledge (TCP ACK) message from the first TLS daemon to the client, wherein the TCP ACK message contains a port number for a second TLS daemon;

receive a first TLS client hello message on the second TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the first TLS client hello message on the second TLS daemon, send a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

13. The computer program product of claim 9 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, sending a first certificate to the client, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a TCP SYN message from the client on a TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

send a TCP acknowledge (TCP ACK) message from the TLS daemon to the client;

receive a TLS client hello message on the TLS daemon, wherein the TLS client hello message contains a client random value;

send a TLS server hello message, wherein the TLS server hello message contains a first common name that is the URL;

encrypt the client random value with a first private key, wherein the first private key is based on the IP address; and

send a first encrypted client random and a first certificate to the client, wherein the first certificate contains a second common name that is the IP address.

14. The computer program product of claim 13 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

encrypt the client random value with a second private key, wherein the second private key is based on the URL;

send a second encrypted client random and a second certificate to the client, wherein the second certificate contains the first common name that is the URL; and

send a TLS server hello done message to the client.

15. The computer program product of claim 9 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, sending a first certificate to the client, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a TCP SYN message from the client on a TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

send a TCP acknowledge (TCP ACK) message from the TLS daemon to the client;

receive a TLS client hello message on the TLS daemon, wherein the TLS client hello message contains a first common name that is the URL;

send a TLS server hello message, wherein the TLS server hello message contains the first common name that is the URL; and

send a first certificate to the client, wherein the first certificate contains a second common name that is the IP address.

16. The computer program product of claim 15 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

send a second certificate to the client, wherein the second certificate contains the first common name that is the URL; and

send a TLS server hello done message to the client.

17. A computer system for secure communication, the computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the stored program instructions including instructions to:

responsive to receiving a first signal from a client, wherein the first signal initiates a network connection between the client and a server, sending a first certificate to the client, wherein the first certificate contains a first common name that is an internet protocol (IP) address;

send a second certificate to the client, wherein the second certificate contains a second common name that is a uniform resource locator (URL) of the server; and

responsive to receiving a second signal from the client that the first certificate and the second certificate are trusted, connecting the client with the server.

18. The computer system of claim 17 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a transmission control protocol (TCP) synchronize packet (TCP SYN) and a first transport layer security (TLS) client hello message from the client on a TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the TCP SYN and the first TLS client hello message on the TLS daemon, send a first TLS server hello message and a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

19. The computer system of claim 18 , wherein sending the second certificate to the client, wherein the second certificate contains the second common name that is the URL of the server, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a second TLS client hello message from the client on the TLS daemon, wherein the second TLS client hello message contains a second server name identification that is the URL;

send the second TLS client hello message from the TLS daemon to a Hypertext Transfer Protocol daemon (HTTPd) at the URL;

receive a second TLS server hello message and the second certificate from the HTTPd on the TLS daemon, wherein the second TLS server hello message contains a second common name that is the URL; and

responsive to receiving the second TLS server hello message from the HTTPd on the TLS daemon, send the second TLS server hello message and the second certificate to the client.

20. The computer system of claim 17 , wherein responsive to receiving the first signal from the client, wherein the first signal initiates the network connection between the client and the server, sending the first certificate to the client, wherein the first certificate contains the first common name that is the IP address, comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive a TCP SYN message from the client on a first TLS daemon, wherein the TCP SYN message contains a first server name identification that is an IP address;

send a TCP acknowledge (TCP ACK) message from the first TLS daemon to the client, wherein the TCP ACK message contains a port number for a second TLS daemon;

receive a first TLS client hello message on the second TLS daemon, wherein the first TLS client hello message contains a first server name identification that is the IP address; and

responsive to receiving the first TLS client hello message on the second TLS daemon, send a first certificate to the client, wherein the first certificate contains a first common name that is the IP address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2020
From: MARZORATI, MAURO; BOLGER, ROSA M.; PEARTHREE, HERBERT DANIEL; PORPORA, GREGORY
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053508/0255 →
Continuity (1)
Related Publication 20220052859A1 · Feb 17, 2022