IP Library Granted Patent US 9,112,907
Granted Patent B2
US 9,112,907 · App. 13/906,464 · Granted Aug 18, 2015

System and method for managing TLS connections among separate applications within a network of computing systems

Inventors: Caspar G.J. Krieger (West Perth, AU); Bill J. Soper (West Perth, AU); Kenichi Yoshimura (West Perth, AU)
Assignee: International Business Machines Corporation
H04L63/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 9,112,907
App. No.
13/906,464
Granted
Aug 18, 2015
Kind
B2
Abstract

An approach for reutilizing transport layer security (TLS) connections among separate application is provided. In one aspect, a computing system establishes a a transmission control program/Internet protocol (TCP/IP) connection between a first application of a first endpoint and a second application on a second endpoint. The computing system further performs a TLS handshake over the established TCP/IP connection. The computing system also transmits a request from a third application of the second endpoint to transfer a TLS context from the second application on the second endpoint. In response to the second application on the second endpoint accepting the transfer request, the second application utilizing via the one or more computer processors, a predetermined method of providing a TLS context to the third application, wherein the third application of the second endpoint and the first application of the first endpoint communicate securely.

Claims (23)

1. A computer system for reutilizing transport layer security (TLS) connections among separate application within a computer system, the computer system comprising:

one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices and program instructions which are stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the program instructions comprising:

program instructions to establish a transmission control program/Internet protocol (TCP/IP) connection between a first application of a first endpoint and a second application of a second endpoint, wherein the secured communication is based on transmission of public keys during the TLS handshake and, wherein the transmitted public keys comprise shared encrypted communication that is transmitted between the first application and the second application;

program instructions to perform a TLS handshake over the established TCP/IP connection, wherein the first application of the first endpoint and the second application of the second endpoint communicate securely, wherein the secured communication is based on transmission of public keys during the TLS handshake and, wherein the transmitted public keys comprise shared encrypted communication that is transmitted between the first application and the second application;

program instructions to transmit a request from a third application of the second endpoint to transfer a TLS context from the second application of the second endpoint, the request of the third application occurs via a previously agreed shared network connection of the TLS handshake; and

program instructions to utilize a predetermined method of providing a TLS context to the third application, wherein the third application of the second endpoint and the first application of the first endpoint communicate securely, in response to the second application of the second endpoint accepting the transfer request, wherein the third application of the second endpoint resumes the TLS handshake between the first application on the first endpoint and the second application on the second endpoint, the resumed handshake avoids system performance redundancy of performing another TLS handshake between the first application on the first endpoint and the second application on the second endpoint.

2. The computer system according to claim 1 , wherein a TLS connection provides communication security for internet protocol suites including TCP/IP, wherein the TCP/IP is a secure connection that is established between the first application and the second application, and wherein TCP/IP provides connectivity that specifies how information should be formatted, addressed, transmitted, routed or received between the first end point and the second endpoint.

3. The computer system according to claim 1 , wherein once the TLS handshake is completed, communications are transmitted over a TLS connection of the TCP/IP of the first endpoint and the second endpoint, causing the communications to be encrypted before and decrypted after the communications are transmitted over the TCP/IP connection of the first endpoint and the second endpoint.

4. The computer system according to claim 1 , wherein the TLS handshake includes the first endpoint and the second endpoint communicating public keys to communicate and agree upon a shared network connection, and then using the shared network connection to encrypt communication of the first endpoint and the second endpoint.

5. The computer system according to claim 1 , wherein the request to from a third application of the second endpoint to transfer a TLS context to the second application on the second endpoint indicates an intent of the third application to transfer ownership of the TLS context to the third application on the second endpoint.

6. The computer system according to claim 5 , wherein the second application on the second endpoint may accept or deny the request from the third application of the second endpoint.

7. The computer system according to claim 5 , wherein communication from the third application of the second endpoint and the second application on the second endpoint occurs through a previously agreed method of communication to provide the TLS context to the third application of the second endpoint.

8. A computer program product for reutilizing transport layer security (TLS) connections among separate application within a computer system, the computer system comprising:

one or more computer-readable tangible storage devices and program instructions stored on at least one of the one or more storage devices, the program instructions comprising:

program instructions to establish a transmission control program/Internet protocol (TCP/IP) connection between a first application of a first endpoint and a second application of a second endpoint, wherein the secured communication is based on transmission of public keys during the TLS handshake and, wherein the transmitted public keys comprise shared encrypted communication that is transmitted between the first application and the second application;

program instructions to perform a TLS handshake over the established TCP/IP connection, wherein the first application of the first endpoint and the second application of the second endpoint communicate securely, wherein the secured communication is based on transmission of public keys during the TLS handshake and, wherein the transmitted public keys comprise shared encrypted communication that is transmitted between the first application and the second application;

program instructions to transmit a request from a third application of the second endpoint to transfer a TLS context from the second application of the second endpoint, the request of the third application occurs via a previously agreed shared network connection of the TLS handshake; and

program instructions to utilize a predetermined method of providing a TLS context to the third application, wherein the third application of the second endpoint and the first application of the first endpoint communicate securely, in response to the second application of the second endpoint accepting the transfer request, wherein the third application of the second endpoint resumes the TLS handshake between the first application on the first endpoint and the second application on the second endpoint, the resumed handshake avoids system performance redundancy of performing another TLS handshake between the first application on the first endpoint and the second application on the second endpoint.

9. The computer program product according to claim 8 , wherein once the TLS handshake is completed, communications are transmitted over a TLS connection of the TCP/IP of the first endpoint and the second endpoint, causing the communications to be encrypted before and decrypted after the communications are transmitted over the TCP/IP connection of the first endpoint and the second endpoint.

10. The computer program product according to claim 8 , wherein the TLS handshake includes the first endpoint and the second endpoint communicating public keys to communicate and agree upon a shared network connection, and then using the shared network connection to encrypt communication of the first endpoint and the second endpoint.

11. The computer program product according to claim 8 , wherein the request to from a third application of the second endpoint to transfer a TLS context to the second application on the second endpoint indicates an intent of the third application to transfer ownership of the TLS context to the third application on the second endpoint.

12. The computer program product according to claim 11 , wherein the second application on the second endpoint may accept or deny the request from the third application of the second endpoint.

13. The computer program product according to claim 11 , wherein communication from the third application of the second endpoint and the second application on the second endpoint occurs through a previously agreed method of communication to provide TLS context to the third application of the second endpoint.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2013
From: KRIEGER, CASPAR C.J.; SOPER, BILLY JOE; YOSHIMURA, KENICHI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030520/0287 →
Continuity (1)
Related Publication 20140359700A1 · Dec 4, 2014