IP Library Granted Patent US 10,523,659
Granted Patent B2
US 10,523,659 · App. 16/219,275 · Granted Dec 31, 2019

Server authentication using multiple authentication chains

Inventors: Dimitrios Pendarakis (Westport, CT); Enriquillo Valdez (Brooklyn, NY)
Assignee: International Business Machines Corporation
H04L63/0823
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 10,523,659
App. No.
16/219,275
Granted
Dec 31, 2019
Kind
B2
Abstract

A client seeking to establish a cryptographically-secure channel to a server has an associated public key acceptance policy. The policy specifies a required number of certificates that must be associated with the server's public key, as well as one or more conditions associated with those certificates, that must be met before the client “accepts” the server's public key. The one or more conditions typically comprise a trust function that must be satisfied before a threshold level of trust of the client is met. A representative public key acceptance policy would be that certificate chains for the public key are valid and non-overlapping with different root CAs, and that some configurable number of those chains be present. The technique may be implemented within the context of an existing client-server SSL/TLS handshake.

Claims (29)

1. A method to authenticate a server to a client, the server having an associated public key, comprising:

associating “n” distinct certificates to the server's public key, each of the “n” distinct certificates being issued by a distinct certificate authority (CA), wherein each of the distinct certificates has a certification chain with a different root certificate authority;

responsive to the client initiating a request for a secure channel to the server during a cryptographic handshake, providing the client the “n” distinct certificates; and

responsive to receipt from the client of an indication that the public key satisfies a client public key acceptance policy, completing the cryptographic handshake to establish the secure channel between the client and the server;

the client public key acceptance policy having been satisfied as a result of a determination at the client that certificate chains specified by at least some of the “n” distinct certificates satisfy an associated trust function, thereby improving security of the cryptographic handshake.

2. The method as described in claim 1 wherein the certificate chains for the “n” distinct certificates are valid and non-overlapping with respect to their intermediate and root CAs.

3. The method as described in claim 1 wherein a client threshold level of trust is designated by the trust function computed over the certificate chains.

4. The method as described in claim 1 further including requesting the “n” distinct certificates from the distinct certificate authorities.

5. The method as described in claim 1 wherein “n” is greater than 2.

6. An apparatus associated with a server having a public key, comprising:

a processor;

computer memory holding computer program instructions executed by the processor to authenticate the server to a client, the computer program instructions configured to:

associate “n” distinct certificates to the server's public key, each of the “n” distinct certificates being issued by a distinct certificate authority (CA), wherein each of the distinct certificates has a certification chain with a different root certificate authority;

responsive to the client initiating a request for a secure channel to the server during a cryptographic handshake, provide the client the “n” distinct certificates; and

responsive to receipt from the client of an indication that the public key satisfies a client public key acceptance policy, completing the cryptographic handshake to establish the secure channel between the client and the server;

the client public key acceptance policy specifying a required number of valid, non-overlapping certificate chains that must be present to satisfy a client threshold level of trust to thereby improve security of the cryptographic handshake.

7. The apparatus as described in claim 6 wherein the certificate chains for the “n” distinct certificates are valid and non-overlapping with respect to their intermediate and root CAs.

8. The apparatus as described in claim 6 wherein a client threshold level of trust is designated by the trust function computed over the certificate chains.

9. The apparatus as described in claim 6 further including requesting the “n” distinct certificates from the distinct certificate authorities.

10. The apparatus as described in claim 6 wherein “n” is greater than 2.

11. A computer program product in a non-transitory computer readable medium for use in a data processing system associated with a server, the server having a public key, the computer program product holding computer program instructions which, when executed by the data processing system, are configured to:

associate “n” distinct certificates to the server's public key, each of the “n” distinct certificates being issued by a distinct certificate authority (CA), wherein each of the distinct certificates has a certification chain with a different root certificate authority;

responsive to the client initiating a request for a secure channel to the server, provide the client the “n” distinct certificates; and

responsive to receipt from the client of an indication that the public key satisfies a client public key acceptance policy, completing the cryptographic handshake to establish the secure channel between the client and the server;

the client public key acceptance policy specifying a required number of valid, non-overlapping certificate chains that must be present to satisfy a client threshold level of trust to thereby improve security of the cryptographic handshake.

12. The computer program product as described in claim 11 wherein the certificate chains for the “n” distinct certificates are valid and non-overlapping with respect to their intermediate and root CAs.

13. The computer program product as described in claim 11 wherein a client threshold level of trust is designated by a trust function computed over the certificate chains.

14. The computer program product as described in claim 11 wherein the computer program instructions are further configured to request the “n” distinct certificates from the distinct certificate authorities.

15. The computer program product as described in claim 11 wherein “n” is greater than 2.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2018
From: PENDARAKIS, DIMITRIOS; VALDEZ, ENRIQUILLO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047769/0924 →
Continuity (2)
Continuation 15087486 · Mar 31, 2016
Related Publication 20190132310A1 · May 2, 2019