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

Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security

Assignee: Xerox Corp
•
Filing: 1993-06-04
•
Granted: 1997-07-15
•
Expires: 2013-06-04
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method in which access control programs (ACPs) permit controlled delegation of access rights from clients to untrusted intermediaries. ACPs are programs that encode arbitrary specifications of delegated access rights. In the method, a client creates an ACP and associates it with a request to a server, the request being made through one or more intermediaries. When processing a request received from an intermediary, the server executes the access control program to determine whether or not to grant the request.

Inventors

  • 👤 Marvin M. Theimer
  • 👤 David A. Nichols
  • 👤 Douglas B. Terry

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 18:06
CPC Classifications
H; H04; H04L; H04L63/00; H04L63/08; H04L63/0807; G; G06; G06F; G06F21/00; G06F21/60; G06F21/62; G06F21/6218; G06F9/00; G06F9/06; G06F9/46; G06F9/468; H04L63/10; H04L63/20; H04L9/00; H04L9/40; G06F2221/00; G06F2221/21; G06F2221/2141; G06F2221/2149

Claims Analysis

Total Claims: 43
Claim 1
Independent Claim 227 words
In a computing system comprising a server, a client, and at least one intermediary, a method of processing an ultimate request to the server, the ultimate request being delivered to the server as the final request in a chain comprising at least two linked requests, the client and all the intermediaries each being associated with one linked request of the chain, the intermediary that delivers the ultimate request to the server being the final intermediary in the chain and being designated as the requestor, the method comprising the steps of: using the requestor to present to the server the ultimate request in conjunction with at least one executable access control program comprising at least one sequence of computer program instructions, the access control program being executable by a processor to express a specification of a set of access rights; using the server to execute each access control program thus presented, each access control program being executed in a manner such that said access control program is prevented from compromising server security; and if and only if the execution of each access control program thus presented is successful, using the server to execute the ultimate request in a manner consistent with the set of access rights, any access rights not in the set of access rights not being delegated to any intermediary nor being granted by the server.
Claim 2
Dependent Claim 227 words
In a computing system comprising a server, a client, and at least one intermediary, a method of processing an ultimate request to the server, the ultimate request being delivered to the server as the final request in a chain comprising at least two linked requests, the client and all the intermediaries each being associated with one linked request of the chain, the intermediary that delivers the ultimate request to the server being the final intermediary in the chain and being designated as the requestor, the method comprising the steps of: using the requestor to present to the server the ultimate request in conjunction with at least one executable access control program comprising at least one sequence of computer program instructions, the access control program being executable by a processor to express a specification of a set of access rights; using the server to execute each access control program thus presented, each access control program being executed in a manner such that said access control program is prevented from compromising server security; and if and only if the execution of each access control program thus presented is successful, using the server to execute the ultimate request in a manner consistent with the set of access rights, any access rights not in the set of access rights not being delegated to any intermediary nor being granted by the server.
Claim 3
Dependent Claim 245 words
In a system comprising a client, a server, and one or more intermediaries that the client does not trust, a plurality of communications channels that connect the client, the server, and the intermediaries, one or more computing nodes, and a communications network, a method for performing a request issued by an intermediary to the server on behalf of the client, the method comprising the steps of: using the client to create a client request; using the client to create an executable access control program, the access control program comprising at least one sequence of computer program instructions, the access control program being executable by a processor to express a specification of an arbitrary set of access rights to be delegated from the client to a first intermediary untrusted by the client, any access rights not in the set not being delegated to the first intermediary; using the client to associate the access control program with the client request; in response to the client request, using the first intermediary and zero or more additional intermediaries untrusted by the client to issue intermediary requests, all these intermediary requests being accompanied by the access control program; receiving a final intermediary request in the server; and using the server to execute the access control program in order to determine whether or not to grant the final intermediary request, the access control program being executed in a manner such that the access control program is prevented from compromising server security.
Claim 4
Dependent Claim 245 words
In a system comprising a client, a server, and one or more intermediaries that the client does not trust, a plurality of communications channels that connect the client, the server, and the intermediaries, one or more computing nodes, and a communications network, a method for performing a request issued by an intermediary to the server on behalf of the client, the method comprising the steps of: using the client to create a client request; using the client to create an executable access control program, the access control program comprising at least one sequence of computer program instructions, the access control program being executable by a processor to express a specification of an arbitrary set of access rights to be delegated from the client to a first intermediary untrusted by the client, any access rights not in the set not being delegated to the first intermediary; using the client to associate the access control program with the client request; in response to the client request, using the first intermediary and zero or more additional intermediaries untrusted by the client to issue intermediary requests, all these intermediary requests being accompanied by the access control program; receiving a final intermediary request in the server; and using the server to execute the access control program in order to determine whether or not to grant the final intermediary request, the access control program being executed in a manner such that the access control program is prevented from compromising server security.
Claim 5
Dependent Claim 347 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program comprising at least one sequence of computer program instructions executable by a processor, the access control program being executable to express a specification of a set of access rights to be delegated from the client to the first intermediary, any access rights not in the set not being delegated to the first intermediary; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of: using the server to execute the access control program, the access control program being executed in a manner such that the access control program is prevented from compromising server security; and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 6
Dependent Claim 347 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program comprising at least one sequence of computer program instructions executable by a processor, the access control program being executable to express a specification of a set of access rights to be delegated from the client to the first intermediary, any access rights not in the set not being delegated to the first intermediary; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of: using the server to execute the access control program, the access control program being executed in a manner such that the access control program is prevented from compromising server security; and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 7
Dependent Claim 71 words
The method of claim 1 wherein the number of intermediaries is exactly one, wherein the first intermediary request and the service request are one and the same, wherein the communications channel used by the first intermediary to issue the first intermediary request connects the first intermediary directly with the server, such that when the first intermediary issues the first intermediate request, the first intermediate request is transmitted directly to the server.
Claim 8
Dependent Claim 43 words
The method of claim 3 wherein the access control program is a procedure that takes as parameters a caller, an operation being performed, and any arguments required for this operation, and that returns an indication of whether or not the operation is allowed.
Claim 9
Dependent Claim 75 words
The method of claim 3 additionally comprising the step of using the client to digitally sign the access control program with a digital signature associated with the client, and wherein the step of using the server to make a determination whether the client approves the service request further comprises an additional test of using the server to verify that the access control program bears a digital signature that is authentic and that is the client's.
Claim 10
Dependent Claim 20 words
The method of claim 3 wherein the step of creating an access control program is performed independently of the server.
Claim 11
Dependent Claim 28 words
The method of claim 3 wherein the step of creating an access control program is performed at run time contemporaneously with the step of creating the client request.
Claim 12
Dependent Claim 399 words
The method of claim 1 wherein the number of intermediaries is strictly greater than one, wherein the intermediaries are ordered in an order from first to last, and: a) wherein the step of using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued further comprises the additional steps of: for each intermediary except the last: using the intermediary to choose a next intermediary; using the intermediary to create an additional intermediary request; using the intermediary to create an additional executable access control program comprising at least one additional sequence of computer program instructions executable by a processor, the additional access control program being executable to express a specification of a set of access rights to be delegated from the intermediary to the next intermediary, any access rights not in said set not being delegated to the next intermediary; using the intermediary to associate the additional access control program with the additional intermediary request; and using the intermediary and a communications channel from the intermediary to the next intermediary to transmit the access control program, the intermediary request and its associated additional access control program, and all additional access control programs already created by other intermediaries, from the intermediary to the next intermediary; b) wherein the step of using the server to receive a service request and the access control program further comprises the steps of: using the last intermediary to generate the service request; and using the last intermediary to issue the service request to the server and to transmit the access control program and all additional access control programs created by other intermediaries to the server; and c) wherein the step of using the server to make a determination whether the client approves the service request further comprises using the server to make additional determinations whether all intermediaries except the last approve the service request by performing additional tests, one additional test for each intermediary except the last, each additional test comprising the steps of: using the server to execute the additional access control program associated with the intermediary, said additional access control program being executed in a manner such that said additional access control program is prevented from compromising server security; and using the server to check a value returned by the additional access control program thus executed.
Claim 13
Dependent Claim 90 words
The method of claim 9 additionally comprising the step, executed for each intermediary except the last, of using the intermediary to digitally sign the additional access control program with a digital signature associated with the intermediary, and wherein each additional test performed during the step of using the server to make additional determinations whether all intermediaries except the last approve the service request further comprises the step of using the server to verify that the additional access control programs bear digital signatures that are authentic and that are the intermediaries'.
Claim 14
Dependent Claim 53 words
The method of claim 9 further comprising the step, performed for each intermediary except the last, of using the intermediary to designate an additional revocation object associated with a right to be delegated that is among the rights of the set of access rights of the specification of the additional access control program.
Claim 15
Dependent Claim 19 words
The method of claim 3 wherein the access control program is a computer program written in a programming language.
Claim 16
Dependent Claim 37 words
The method of claim 12 wherein the programming language is a Turing-complete language and wherein the access control program provides a functionality not providable by an access control program written in a language that is not Turing-complete.
Claim 17
Dependent Claim 23 words
The method of claim 13 wherein the programming language is an interpreted language and wherein the access control program is an interpreted program.
Claim 18
Dependent Claim 43 words
The method of claim 12 in which the programming language is an extension language and the server provides a core set of access control concepts, and wherein the access control program extends the core set of access control concepts provided by the server.
Claim 19
Dependent Claim 57 words
The method of claim 12 wherein the programming language includes control constructs and the server has state information that the server makes available to the access control program, and wherein the access control program includes multiple possible paths of execution and thereby provides a conditional access right that is conditioned on the state information thus made available.
Claim 20
Dependent Claim 31 words
The method of claim 3 further comprising the step, performed by a programmer, of using a template to specify portions of the access control program to be created by the client.
Claim 21
Dependent Claim 29 words
The method of claim 3 wherein the server is chosen from the group a file server, a database server, a print server, an input/output server, or a compute server.
Claim 22
Dependent Claim 49 words
The method of claim 3 wherein the client is a user command process associated with a user, the first intermediary is an untrusted program, and the server is an operating system in the context of which the user command process executes and the untrusted program is to be executed.
Claim 23
Dependent Claim 49 words
The method of claim 3 wherein the at least one sequence of computer program instructions is a sequence of computer program instructions executable by a processor after conversion into a machine-executable form, and further comprising the step of converting the sequence of computer program instructions into the machine-executable form.
Claim 24
Dependent Claim 21 words
The method of claim 20 wherein the converting step comprises interpreting the sequence of computer program instructions with a safe interpreter.
Claim 25
Dependent Claim 41 words
The method of claim 20 wherein the at least one sequence of computer program instructions is a sequence of computer program instructions written in an interpreted programming language, and wherein the converting step comprises interpreting the sequence of computer program instructions.
Claim 26
Dependent Claim 27 words
The method of claim 3 wherein the at least one sequence of computer program instructions is a sequence of computer program instructions directly executable by a processor.
Claim 27
Dependent Claim 57 words
The method of claim 3 wherein the step of using the server to execute the access control program in a manner such that the access control program is prevented from compromising server security comprises accessing server resources with the access control program only in a manner in which the client would be authorized to access the server.
Claim 28
Dependent Claim 58 words
The method of claim 3 wherein the step of using the server to execute the access control program in a manner such that the access control program is prevented from compromising server security comprises invoking with the access control program only server system operation having no undesired side effects, regardless of whether the server grants or denies access.
Claim 29
Dependent Claim 384 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to digitally sign the access control program with a digital signature associated with the client; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed, performing an additional test comprising the step of using the server to verify that the access control program bears a digital signature that is authentic and that is the client's, and performing two further additional tests of using the server to verify the identity of the first intermediary, and using the server to verify that the client has the rights that it purports to delegate via the access control program; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 30
Dependent Claim 384 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to digitally sign the access control program with a digital signature associated with the client; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed, performing an additional test comprising the step of using the server to verify that the access control program bears a digital signature that is authentic and that is the client's, and performing two further additional tests of using the server to verify the identity of the first intermediary, and using the server to verify that the client has the rights that it purports to delegate via the access control program; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 31
Dependent Claim 373 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, and additionally comprising an authentication server, an additional communications channel between the authentication server and the client, and computing hardware to execute the authentication server and the additional communications channel, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to associate the access control program with the client request; using the client to request an authentication ticket; using the additional communications channel to transmit the request for the authentication ticket to the authentication server; using the authentication server to issue an authentication ticket; using the additional communications channel to transmit the authentication ticket to the client; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 32
Dependent Claim 373 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, and additionally comprising an authentication server, an additional communications channel between the authentication server and the client, and computing hardware to execute the authentication server and the additional communications channel, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to associate the access control program with the client request; using the client to request an authentication ticket; using the additional communications channel to transmit the request for the authentication ticket to the authentication server; using the authentication server to issue an authentication ticket; using the additional communications channel to transmit the authentication ticket to the client; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 33
Dependent Claim 14 words
The method of claim 27 wherein the additional communications channel is a secure channel.
Claim 34
Dependent Claim 62 words
The method of claim 27 wherein the step of using the server to make a determination whether the client approves the first intermediary request further comprises an additional test of using the server in conjunction with the authentication server and a channel between the server and the authentication server to verify that the access control program is authentic and is the client's.
Claim 35
Dependent Claim 19 words
The method of claim 29 wherein the channel between the server and the authentication server is a secure channel.
Claim 36
Dependent Claim 389 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed; if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request; using the client to designate a revocation object at the server associated with a right to be delegated that is encoded in the specification of the access control program; if and only if the server executes the service request, using the server to test for the existence of the revocation object thus designated; and if and only if the server finds that the revocation object exists, using the server to grant the delegated right associated with the revocation object, and otherwise using the server to deny the delegated right associated with the revocation object.
Claim 37
Dependent Claim 389 words
In a system comprising a client, a server, a number of intermediaries, the number being greater than or equal to one, a plurality of communications channels that connect the client, the server, and the intermediaries, and computing hardware to execute the client, server, and intermediaries and to support the communication channels, a method for performing a client request issued by the client to a first intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the first intermediary; using the client to associate the access control program with the client request; using the client and a communications channel from the client to the first intermediary to transmit the client request and its associated access control program from the client to the first intermediary; using the first intermediary to generate a first intermediary request; using the first intermediary and a communications channel to issue the first intermediary request and to transmit the access control program along with the first intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of using the server to execute the access control program, and using the server to check a value returned by the access control program thus executed; if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request; using the client to designate a revocation object at the server associated with a right to be delegated that is encoded in the specification of the access control program; if and only if the server executes the service request, using the server to test for the existence of the revocation object thus designated; and if and only if the server finds that the revocation object exists, using the server to grant the delegated right associated with the revocation object, and otherwise using the server to deny the delegated right associated with the revocation object.
Claim 38
Dependent Claim 36 words
The method of claim 31 further comprising the step of using the client to revoke the right associated with the revocation object by eliminating the revocation object prior to the server's execution of the service request.
Claim 39
Dependent Claim 23 words
The method of claim 31 wherein the server is a file server and the revocation object is a file stored by the server.
Claim 40
Dependent Claim 16 words
The method of claim 31 wherein the client designates the revocation object independently of the server.
Claim 41
Dependent Claim 24 words
The method of claim 31 wherein the client designates the revocation object at run time contemporaneously with the step of creating the client request.
Claim 42
Dependent Claim 399 words
In a distributed file system comprising a plurality of nodes, each node comprising a processor and memory, a plurality of processes including at least one client, at least one file server, and at least one intermediary, each process executing on its own unique node, and a plurality of communications channels that connect the processes to one another, a method for performing a client request issued by the client to the intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the intermediary; using the client to digitally sign the access control program; using the client to associate the access control program thus digitally signed with the client request; using the client and a communications channel from the client to the intermediary to transmit the client request and its associated access control program from the client to the intermediary; using the intermediary to generate an intermediary request; using the intermediary and a communications channel to issue the intermediary request and to transmit the access control program along with the intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the access control program is valid by performing a test that comprises the steps of: using the server to verify that the access control program bears a digital signature that is authentic and that is the client's; using the server to verify the identity of the first intermediary; and using the server to verify that the client has the rights that it purports to delegate via the access control program; if and only if the server thus determines that the access control program is valid, using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of: using the server to execute the access control program; and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.
Claim 43
Dependent Claim 399 words
In a distributed file system comprising a plurality of nodes, each node comprising a processor and memory, a plurality of processes including at least one client, at least one file server, and at least one intermediary, each process executing on its own unique node, and a plurality of communications channels that connect the processes to one another, a method for performing a client request issued by the client to the intermediary, the method comprising the steps of: using the client to create the client request; using the client to create an executable access control program, the access control program encoding a specification of a set of access rights to be delegated from the client to the intermediary; using the client to digitally sign the access control program; using the client to associate the access control program thus digitally signed with the client request; using the client and a communications channel from the client to the intermediary to transmit the client request and its associated access control program from the client to the intermediary; using the intermediary to generate an intermediary request; using the intermediary and a communications channel to issue the intermediary request and to transmit the access control program along with the intermediary request thus issued; using the server to receive a service request and the access control program; using the server to make a determination whether the access control program is valid by performing a test that comprises the steps of: using the server to verify that the access control program bears a digital signature that is authentic and that is the client's; using the server to verify the identity of the first intermediary; and using the server to verify that the client has the rights that it purports to delegate via the access control program; if and only if the server thus determines that the access control program is valid, using the server to make a determination whether the client approves the service request by performing a test that comprises the steps of: using the server to execute the access control program; and using the server to check a value returned by the access control program thus executed; and if and only if the determination thus made by the server is that the client approves the service request, using the server to execute the service request, and otherwise using the server to deny the service request.

References Cited (Backward Citations)

US5210795A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-07-14 2001-01-13 2001-07-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-07-14 2005-01-13 2005-07-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-07-14 2009-01-13 2009-07-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag