← Back to Patent Explorer
US6643774B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Authentication method to enable servers using public key authentication to obtain user-delegated tickets

Assignee: International Business Machines Corp
•
Filing: 1999-04-08
•
Granted: 2003-11-04
•
Expires: 2019-04-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, system, and computer-readable code for delegating authority in a public key authentication environment from a client to a server machine or process, in order that the server machine or process can then securely access resources and securely perform tasks on behalf of the client. The authority is delegated by obtaining tickets (or other equivalent representation of user credentials) from a private key system, such as the Kerberos system, where the tickets identify a user's access rights or privileges. The present invention provides several alternative techniques with which this delegation model can be implemented. In these techniques, the client does not directly access the private key system.

Inventors

  • 👤 John Ryan McGarvey

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 09:12
CPC Classifications
H; H04; H04L; H04L63/00; H04L63/06; H04L63/062; H04L63/08; H04L63/0823

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 113 words
In a computing environment having a connection to a network, computer readable code readable by a computer system in said environment, for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS), comprising: subprocess for obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; a subprocess for delegating said obtained authorization to said server; a subprocess in said server for performing said requested task using said delegated authorization; and a subprocess in said server for returning a result of said performing to said client.
Claim 2
Dependent Claim 113 words
In a computing environment having a connection to a network, computer readable code readable by a computer system in said environment, for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS), comprising: subprocess for obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; a subprocess for delegating said obtained authorization to said server; a subprocess in said server for performing said requested task using said delegated authorization; and a subprocess in said server for returning a result of said performing to said client.
Claim 3
Dependent Claim 188 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 1 , further comprising a subprocess in said client for authenticating said server, and wherein: said subprocess for obtaining further comprises: a subprocess in said PRKS for authenticating an identification of said client; and a subprocess in said PRKS for comparing said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said subprocess for delegating further comprises: a subprocess for sending a session credential from said PRKS to said server when said subprocess for comparing successfully locates said identification of said client; a subprocess in said server, responsive to receiving a request from said client, for sending said session credential and a request for said delegated authorization to said PRKS; a subprocess in said PRKS, responsive to receiving said session credential and said request for delegated authorization, for checking stored policies; and a subprocess in said PRKS for sending said requested delegated authorization to said server when said subprocess for checking has a successful outcome.
Claim 4
Dependent Claim 37 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 2 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 5
Dependent Claim 198 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 1 , further comprising a subprocess in said client for authenticating said PRKS, and wherein: said subprocess for obtaining further comprises: a subprocess in said PRKS for authenticating an identification of said client; and a subprocess in said PRKS for comparing said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said subprocess for delegating further comprises: a subprocess for sending a session credential and, if message encryption is to be used, a session key from said PRKS to said server when said subprocess for comparing successfully locates said identification of said client; a subprocess in said server, responsive to a request from said client, for sending said session credential and a request for said delegated authorization to said PRKS; a subprocess in said PRKS, responsive to receiving said session credential and said request for delegated authorization, for checking stored policies; and a subprocess in said PRKS for sending said requested delegated authorization to said server when said subprocess for checking has a successful outcome.
Claim 6
Dependent Claim 37 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 4 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 7
Dependent Claim 243 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 1 , further comprising: a subprocess for authenticating said server at said client; and a subprocess for authenticating said client at said server; and wherein: said subprocess for obtaining is invoked in response to receiving a request from said client, and further comprises: a subprocess in said server for determining one more authorization privileges that are required to perform said requested task; and a subprocess for requesting said authorization privileges from said client; and said subprocess for delegating is invoked in response to receiving said request for authorization privileges, and further comprises: a subprocess in said client for verifying said requested authorization privileges; a subprocess in said client for sending a client certificate and a signed request for said requested authorization privileges to said server; a subprocess in said server for forwarding said client certificate and said signed request to said PRKS; a subprocess in said PRKS for comparing an identification of said client from said client certificate to a stored mapping between a plurality of client identifications and client access privileges; a subprocess in said PRKS for checking stored delegation privileges to determine whether said client authorizes said server to receive said requested authorization privileges; and a subprocess for sending said requested authorization privileges from said PRKS to said server when said subprocess for checking has a successful outcome.
Claim 8
Dependent Claim 38 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 6 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 9
Dependent Claim 122 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 1 , further comprising a subprocess in said client for authenticating said PRKS and a subprocess in said PRKS for authenticating said client, and wherein: said subprocess for obtaining is invoked in response to a request from said client, and further comprises: a subprocess in said server for forwarding said request to said PRKS; and a subprocess in said PRKS for determining one or more authorization privileges which are required for performing said request; and said subprocess for delegating further comprises a subprocess for sending a session key and said determined authorization privileges from said PRKS to said server.
Claim 10
Dependent Claim 38 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 8 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 11
Dependent Claim 36 words
Computer readable code for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 1 , wherein said PRKS is a system known as “the Kerberos system”.
Claim 12
Independent Claim 101 words
A system for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS) in a computing environment having a connection to a network, comprising: means for obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; means for delegating said obtained authorization to said server; means in said server for performing said requested task using said delegated authorization; and means in said server for returning a result of said performing to said client.
Claim 13
Independent Claim 101 words
A system for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS) in a computing environment having a connection to a network, comprising: means for obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; means for delegating said obtained authorization to said server; means in said server for performing said requested task using said delegated authorization; and means in said server for returning a result of said performing to said client.
Claim 14
Dependent Claim 180 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 11 , further comprising means in said client for authenticating said server, and wherein: said means for obtaining further comprises: means in said PRKS for authenticating an identification of said client; and means in said PRKS for comparing said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said means for delegating further comprises: means for sending a session credential from said PRKS to said server when said means for comparing successfully locates said identification of said client; means in said server, responsive to receiving a request from said client, for sending said session credential and a request for said delegated authorization to said PRKS; means in said PRKS, responsive to receiving said session credential and said request for delegated authorization, for checking stored policies; and means in said PRKS for sending said requested delegated authorization to said server when said means for checking has a successful outcome.
Claim 15
Dependent Claim 36 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 12 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 16
Dependent Claim 190 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 11 , further comprising means in said client for authenticating said PRKS, and wherein: said means for obtaining further comprises: means in said PRKS for authenticating an identification of said client; and means in said PRKS for comparing said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said means for delegating further comprises: means for sending a session credential and, if message encryption is to be used, a session key from said PRKS to said server when said means for comparing successfully locates said identification of said client; means in said server, responsive to a request from said client, for sending said session credential and a request for said delegated authorization to said PRKS; means in said PRKS, responsive to receiving said session credential and said request for delegated authorization, for checking stored policies; and means in said PRKS for sending said requested delegated authorization to said server when said means for checking has a successful outcome.
Claim 17
Dependent Claim 36 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 14 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 18
Dependent Claim 231 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 11 , further comprising: means for authenticating said server at said client; means for authenticating said client at said server; and wherein: said means for obtaining is invoked in response to receiving a request from said client, and further comprises: means in said server for determining one more authorization privileges that are required to perform said requested task; and means for requesting said authorization privileges from said client; and said means for delegating is invoked in response to receiving said request for authorization privileges, and further comprises: means in said client for verifying said requested authorization privileges; means in said client for sending a client certificate and a signed request for said requested authorization privileges to said server; means in said server for forwarding said client certificate and said signed request to said PRKS; means in said PRKS for comparing an identification of said client from said client certificate to a stored mapping between a plurality of client identifications and client access privileges; means in said PRKS for checking stored delegation privileges to determine whether said client authorizes said server to receive said requested authorization privileges; and means for sending said requested authorization privileges from said PRKS to said server when said means for checking has a successful outcome.
Claim 19
Dependent Claim 37 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 16 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 20
Dependent Claim 116 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 11 , further comprising means in said client for authenticating said PRKS and means in said PRKS for authenticating said client, and wherein: said means for obtaining is invoked in response to a request from said client, and further comprises: means in said server for forwarding said request to said PRKS; and means in said PRKS for determining one or more authorization privileges which are required for performing said request; and said means for delegating further comprises means for sending a session key and said determined authorization privileges from said PRKS to said server.
Claim 21
Dependent Claim 37 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 18 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 22
Dependent Claim 35 words
The system for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 11 , wherein said PRKS is a system known as “the Kerberos system”.
Claim 23
Independent Claim 96 words
A method for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS) in a computing environment having a connection to a network, comprising the steps of: obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; delegating said obtained authorization to said server; performing, by said server, said requested task using said delegated authorization; and returning a result of said performing from said server to said client.
Claim 24
Independent Claim 96 words
A method for enabling a server to perform tasks on behalf of a client in a public key environment using authorization obtained from a private key system (PRKS) in a computing environment having a connection to a network, comprising the steps of: obtaining said authorization by said server for said client from said PRKS using public key authentication, without said client directly accessing said PRKS; delegating said obtained authorization to said server; performing, by said server, said requested task using said delegated authorization; and returning a result of said performing from said server to said client.
Claim 25
Dependent Claim 171 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 21 , further comprising the step of authenticating, in said client, said server, and wherein: said obtaining step further comprises the steps of: authenticating, in said PRKS, an identification of said client; and comparing, in said PRKS, said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said delegating step further comprises the steps of: sending a session credential from said PRKS to said server when said comparing step successfully locates said identification of said client; sending, responsive to receiving a request from said client, said session credential and a request for said delegated authorization from said server to said PRKS; checking stored policies in said PRKS, responsive to receiving said session credential and said request for delegated authorization; and sending said requested delegated authorization from said PRKS to said server when said checking step has a successful outcome.
Claim 26
Dependent Claim 36 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 22 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 27
Dependent Claim 181 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 21 , further comprising the step of authenticating said PRKS in said client, and wherein: said obtaining step further comprises the steps of: authenticating an identification of said client in said PRKS; and comparing, in said PRKS, said identification of said client to a stored mapping between a plurality of client identifications and client access privileges; and said delegating step further comprises the steps of: sending a session credential and, if message encryption is to be used, a session key from said PRKS to said server when said comparing step successfully locates said identification of said client; sending, responsive to a request from said client, said session credential and a request for said delegated authorization from said server to said PRKS; checking stored policies in said PRKS, responsive to receiving said session credential and said request for delegated authorization; and sending said requested delegated authorization from said PRKS to said server when said checking step has a successful outcome.
Claim 28
Dependent Claim 36 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 24 , wherein said delegated authorization is represented by one or more authorization tickets.
Claim 29
Dependent Claim 218 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 21 , further comprising the steps of: authenticating said server at said client; and authenticating said client at said server; and wherein: said obtaining step is invoked in response to receiving a request from said client, and further comprises the steps of: determining, in said server, one more authorization privileges that are required to perform said requested task; and requesting said authorization privileges from said client; and said delegating step is invoked in response to receiving said request for authorization privileges, and further comprises the steps of: verifying, in said client, said requested authorization privileges; sending a client certificate and a signed request for said requested authorization privileges from said client to said server; forwarding said client certificate and said signed request from said server to said PRKS; comparing, in said PRKS, an identification of said client from said client certificate to a stored mapping between a plurality of client identifications and client access privileges; checking, in said PRKS, stored delegation privileges to determine whether said client authorizes said server to receive said requested authorization privileges; and sending said requested authorization privileges from said PRKS to said server when said checking step has a successful outcome.
Claim 30
Dependent Claim 37 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 26 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 31
Dependent Claim 116 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 21 , further comprising the step of authenticating said PRKS in said client and the step of authenticating said client in said PRKS, and wherein: said obtaining step is invoked in response to a request from said client, and further comprises the steps of: forwarding said request from said server to said PRKS; and determining, in said PRKS, one or more authorization privileges which are required for performing said request; and said delegating step further comprises the step of sending a session key and said determined authorization privileges from said PRKS to said server.
Claim 32
Dependent Claim 37 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 28 , wherein said requested authorization privileges are represented by one or more authorization tickets.
Claim 33
Dependent Claim 35 words
The method for enabling a server to perform tasks on behalf of a client in a public key environment according to claim 21 , wherein said PRKS is a system known as “the Kerberos system”.

References Cited (Backward Citations)

US5544322A Cited
US5757920A Cited
US5815574A Cited
US5809144A Cited
US6148404A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2006-11-03 2007-05-05 2007-11-04 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2010-11-03 2011-05-05 2011-11-04 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2014-11-03 2015-05-05 2015-11-04 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag