WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and system for certificate based alias detection    

Get related patents on CD
United States Patent5534855   
Link to this pagehttp://www.wikipatents.com/5534855.html
Inventor(s)Shockley; William R. (Salinas, CA); Gajnak; George E. (Harvard, MA)
AbstractA distributed computer system employs certificate based alias detection to ensure a policy of separation of duties. Biometric information is collected during computer user account creation that is converted to canonical form and digitized. This digitized canonical form, along with account data and authentication data, is included in the user's account information. Authorization to execute any task is validated at the time a request is made by comparison of the digitized canonical forms of biometric data of the user completing the request with those of the user initiating the request.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 5534855
Method and system for certificate based alias detection - US Patent 5534855 Drawing
Method and system for certificate based alias detection
Inventor     Shockley; William R. (Salinas, CA); Gajnak; George E. (Harvard, MA)
Owner/Assignee     Digital Equipment Corporation (Maynard, MA)
Patent assignment
All assignments
Company News
Publication Date     July 9, 1996
Application Number     08/358,040
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     December 15, 1994
US Classification     340/5.52 340/5.53 379/188 379/195 713/182 713/186
Int'l Classification     H04Q 001/00
Examiner     Zimmerman; Brian
Assistant Examiner    
Attorney/Law Firm     Kozik; Kenneth F.
Address
Parent Case     This application is a continuation of application Ser. No. 07/916,818, filed Jul. 20, 1992 now abandoned.
Priority Data    
USPTO Field of Search     340/825.31 340/825.34 340/825.3 380/4 380/25 379/188 379/194 379/195
Patent Tags     certificate based alias detection
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5173939
Abadi
707/9
Dec,1992

[0 after 0 votes]
5056141
Dyke
340/5.27
Oct,1991

[0 after 0 votes]
4839640
Ozer

Jun,1989

[0 after 0 votes]
4780821
Crossley
718/100
Oct,1988

[0 after 0 votes]
4669487
Frieling
600/587
Jun,1987

[0 after 0 votes]
4310720
Check, Jr.

Jan,1982

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of operating a distributed computer system having alias detection, comprising the steps of:

A) storing, in a user account store of said computer system, identification information associated with each of a plurality of user accounts, said identification information for each said user account uniquely characterizing a computer user associated with said account;

B) storing a list of selected ones of said user accounts in an authorization store;

C) after steps (A) and (B), initiating execution of a computer system resources access program in response to a request on behalf of a first of said user accounts; and

D) after step (C), processing said request from said first user account for authorizing access to a computer system resource by performing the steps of

i) comparing said identification information stored in said user account store in association with said first user account and identification information associated with each of said user accounts of said list of selected user accounts, and

ii) executing said computer system access program if said compared identification information do not match, thereby indicating that said first user account is not an alias of any of said selected user accounts.

2. A method in accordance with claim 1, wherein said identification information for each said user account includes authenticating information, digitized biometric information, and user account information.

3. A method in accordance with claim 2, further comprising the step of:

an account registrar verifying said digitized biometric information prior to a representation of said digitized biometric information being stored in a said user account store.

4. A method in accordance with claim 2, further including the step of creating said user accounts, and said accounts creation step includes said account registrar verifying step.

5. A method in accordance with claim 2, further comprising the step of:

an account registrar digitally signing said digitized biometric information and said authenticating information and said user account information prior to said digitally signed information being stored in said user account store.

6. A method in accordance with claim 1, wherein said step of initiating execution of a computer systems access program comprises the steps of:

E) comparing a validation credential linking said access program to user certificates of said selected user accounts in said authorization store to determine whether said user account is authorized to execute said access program; and

F) allowing said user account to execute said access program if authorized to do so.

7. A method in accordance with claim 1, wherein said executing step includes the step of permitting access to said computer resource if said compared identification information do not match.

8. A method in accordance with claim 1, wherein said processing step further comprises the step of:

denying said request if said compared identification information match, thereby indicating that said first user account is an alias of at least one of said selected user accounts.

9. A method in accordance with claim 1, wherein said processing step further comprises the step of:

denying said request on the occurrence of any of the following events: i) said user account is the same as one of said selected user accounts, ii) said user account has no associated identification information in said user account store, and iii) said user account's identification information in said user account store is the same as one of said selected user account's identification information.

10. A method of operating a distributed computer system having alias detection, comprising the steps of:

A) storing, in respective user accounts a user account store of said computer system identification information associated with each of a plurality of user accounts, said identification information for each said user account uniquely characterizing a computer user associated with said account;

B) in response to a first request from a first user account, initiating execution of a stage of a selected transaction program having a plurality of stages; and

C) processing a second request from a second user account for authorization of execution of a subsequent stage of said selected transaction program by performing the steps of

i) comparing said identification information stored in said user account store for said first user account and said identification information stored in said user account store for said second user account, and

ii) denying authorization to said second user account if said compared identification information do match, thereby indicating that said second user account is an alias of said first user account.

11. A method in accordance with claim 10, wherein said identification information for each user account contains a digitally-signed account certificate.

12. A method in accordance with claim 11, wherein said digitally-signed account certificate includes authenticating information, digitized biometric information, and user account information.

13. A method in accordance with claim 12, further including the step of:

an account registrar verifying said digitized biometric information prior to said digitized biometric information being stored in said user account store.

14. A method in accordance with claim 12, further comprising the step of:

an account registrar digitally signing said digitized biometric information, said authenticating information and said user account information prior to said digitized biometric information, said authenticating information and said user account information being stored in said user account.

15. A method in accordance with claim 10, wherein said step of initiating a stage of a transaction program comprises the steps of:

D) comparing a validation credential linking said transaction program to user certificates of accounts authorized to execute selected transactions of said transaction program, with a list of authorized user accounts to determine whether said first user account is authorized to execute said first stage of said selected transaction program; and

E) allowing said first user account to initiate execution of said first stage only if authorized to do so.

16. A method according to claim 10, wherein during said processing step, said request is allowed to execute said subsequent stage of said selected transaction program if said second user account is not an alias of said first user account.

17. A method in accordance with claim 10, wherein said processing step further comprises the step of:

if said first user account is the same as said second user account, or if said second user account contains has no associated identification information in said user account store, or if said second user account's identification information is the same as said first user account's identification information, denying authorization to said second request.

18. A distributed computer system having alias detection, comprising:

A) a registry store of respective user accounts, said accounts containing identification information uniquely characterizing each of a plurality of computer users;

B) a stored application transaction program having at least two stages requiring separate initiation requests for execution of said stages;

C) means, responsive to a first user account transaction initiation request, for executing one stage of said application program;

D) means, responsive to an approval of a second user account transaction initiation request, for executing a subsequent stage of said application program; and

E) means for comparing identification information of said first and second user accounts in said store and providing said approval if said compared identification information do not match, thereby indicating that said second user account is not an alias of said first user account.

19. A system in accordance with claim 18, further comprising an account registrar for digitally signing an account certificate included in said identification information for each said user account.

20. A system accordance with claim 19, wherein said digitally signed account certificate includes authenticating information and digitized biometric information and account information.

21. A system in accordance with claim 20, wherein said account registrar verifies said digitized biometric information prior to said digitized biometric information being stored in said user account.

22. A system accordance with claim 21, wherein said account registrar digitally signs said digitized biometric information, said authenticating information and said user account information prior to said information being stored in said user account.

23. A system accordance with claim 18, wherein said means responsive to said first request comprises:

F) means for extracting a delegation certificate from a digitally signed delegation certificate that associates said first request with a logan delegation certificate of said first user account;

G) means for verifying said delegation certificate against a list of names of accounts to determine whether said delegation certificate was generated on behalf of one of said accounts appearing on said list and is therefore authorized to execute said first stage of said selected transaction program; and

H) means for allowing said first user account to initiate execution of said first stage only if authorized to do so.

24. A system in accordance with claim 18, wherein said means for comparing comprises: means for terminating said second request in the event said first user account is the same as said second user account, said second user account contains no identification information, or said second user account's identification information is the same as said first use account's identification information.

25. A distributed computer system for implementing alias detection, comprising:

A) a store for a plurality of user accounts, said accounts containing digitally-signed account certificates including authentication information, digitized biometric information, and user account information uniquely characterizing, for each said user account, one of a plurality of computer users;

B) a stored application transaction program having at least two stages requiring separate initiation requests for execution of said stages;

C) means, responsive to a first user account transaction initiation request, for executing a first stage of said at least one application program; and

D) means, responsive to a second user account transaction initiation request to execute a subsequent stage of said at least one application program, for comparing said authentication information and said digitized biometric information contained in said user certificate of said first and second user accounts in said store; and

E) means for allowing execution of said subsequent stage of said at least one application program only if said compared authentication information and digitized biometric information do not match, and thus only if said second user account is not an alias of said first user account.

26. A system in accordance with claim 25, wherein said digitized biometric information together with said authenticating information and said user account information is digitally-signed by an account registrar.

27. A system in accordance with claim 25, wherein said means for comparing comprises:

means for denying said second request if said first user account is the same as said second user account, or if said second user account contains no digitized biometric information, or if said second user account's identification information is the same as said first user account's identification information.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

This invention relates to computer systems, and more particularly to a system for detecting computer user account aliases.

As it is known in the art, effective computer operating system security measures help prevent unauthorized access to and theft of proprietary software, software plans, and computer time. These measures can also protect equipment, software, and computer files from damage caused by tampering. The source of a security breach on a computer system can usually be traced to one of three categories: user irresponsibility, user probing, or user penetration.

User irresponsibility usually refers to situations where an authorized user purposely or accidently causes some noticeable damage. An example would be a computer user who is authorized to access certain computer files, makes an authorized copy of a key file to improperly transfer. This type of breach can be characterized as a breach of trust. There is little that a computer operating system can do to protect sites from this source of security failure, since the initial access to the file was completely authorized, and the breach occurred by the improper transfer of the fruits of the authorized access.

User probing refers to situations where a computer user obtains unauthorized access by exploiting insufficiently protected parts of the computer system. Probing typically reflects an exploration of top-level facilities to which a computer user has legitimate access to browse through the computer system.

User penetration refers to an attempt to bypass existing security controls by finding relatively obscure flaws in their implementation.

To guard against user probing and user penetration, computer systems typically include processes to authenticate the identity of a user. Authentication of a user identity in a computer system is the verification of a user's identity so that security policies can properly be applied to requests from that user. Authentication typically involves the examination of an individual's credentials, such as biometric information, encryptographic information, and so forth.

In medium- to large-scale distributed computer systems, it is often the case that a given computer user may well have access to the computer network via several different computer user accounts, each individually legitimate. For example, a computer user might have access to the computer across the network via an employee's computer system in the work place, and via a personal computer with a modem at home. Where separation of duties or similar policies are to be enforced by a computer network server, techniques should exist for the computer network server to determine whether or not two different computer requests are from distinct or different individuals. Where one individual can access two or more user accounts those accounts are known as alias accounts of that one individual.

An alias, therefore, is defined as an alternate identity for any individual who is held accountable for his/her actions. Where the possibility of alias computer user accounts exists, the straightforward comparison of authentication data, e.g., passwords, public keys, etc., is insufficient to prevent unwanted aliasing of a user, simply because there are typically no controls in effect to prevent one user from obtaining distinct user accounts containing potentially distinct authentication information.

One type of computer security required in many business and commercial applications has come to be called a policy for the separation of duties. This policy requires that, for critical business procedures, certain steps of that business procedure must be performed by different individuals. The purpose of this policy is to distribute responsibility for a transaction among several different people so that no one person, acting alone, can cause the action in question to occur. The presumption is that distinct or different individuals having different responsibilities will act as checks on each other.

An example of a policy for the separation of duties which may be encountered in every day life would be a personal safety deposit box. A bank usually requires a bank employee and the safety deposit owner to use two distinct keys and both to sign a log book in order for the safety deposit box owner to gain access to the safety deposit box. Requiring two keys is referred to as access control. Requiring both individuals to sign a log is referred to as audit control. The bank policy is that the owner and bank employee must be two distinct or different individuals. Another example would be when a business employee hands in an expense form and would like to be issued a company check for those expenses. Corporate policy would require that the expense check may not be signed and authorized by the same person. These two examples illustrate that the principle of separation of duties is widely required for manual systems.

Several approaches have been advanced in the past for enforcing separation of duties policies. The most common approach for enforcement of separation of duties in automated computer systems has been for a security administrator to define distinct groups or roles and to manually ensure that the assignment of the individuals to critical groups or roles does not overlap. One problem with this approach is that it does not prevent a threat from a given individual who may have access to a computer system from two distinct accounts.

Known approaches to the authentication and identification of users by user account have generally presupposed that user account aliasing is prevented by the use of operational or procedural rules. Approaches for enforcing a separation of duties policy have assumed that aliasing does not occur, and that authenticatible user account identities are therefore sufficient to identify individuals as well. The problem with this approach is that the premise that alias accounts do not exist particularly in large computer systems is generally incorrect.

Moreover, preventing account aliasing becomes more and more impracticable as networks grow larger and larger. Even if identifying information unique to an individual, such as biometric information, is obtained when a new account is created, in order to associate that new user account with any other user account that may exist for that individual on the network, an exhaustive search over every user account already in the system would have to be performed. Such a search is costly even for relatively small computer networks, and is effectively impossible for large computer networks.

One further type of user authentication uses biometric reader information which is fed to the computer system during login. Biometric information is provided from a biometric reader at each login point or station. A biometric reader can typically detect unique information or characteristics of an individual such as eye scans, thumbprints, DNA sampling, and so forth. While the use of biometric information for purposes of user authentication is often performed, it is generally expensive because biometric readers are needed at every login point. In addition, if biometric information is ever disclosed, there is no way to undo the damage. For these reasons, continued use of encryptographic information such as passwords and/or smart cards have usually been indicated as a better alternative for authentication than biometrics.

SUMMARY OF THE INVENTION

A method of performing alias detection on a computer system, includes the steps of storing in respective user accounts identification information uniquely characterizing each of a plurality of computer users, initiating execution of a computer system resource upon a first request from a first user account, processing a second request for execution using a second user account, comparing said identification information stored in said second user account used during said second request with said identification information in said first user account, and determining whether said first user account and said second user account used in said second request are aliases. With such an arrangement, an alias detection technique that is performed at the time of execution of a computer resource using a second request for user account information is provided. Such a technique can be used for example to control access to restricted computer resources, monitor and control the existence of alias accounts on the computer system, and implement a separation of duties policy on resources of the computer system.

In accordance with a further aspect of the present invention, a method of operating a distributed computer system includes the steps of storing in respective user accounts identification information uniquely characterizing each of a plurality of computer users, storing a list of selected user accounts in an authorization store, initiating execution of a computer system resources access program upon request from a user account, and processing the request from the user account to authorize access to a plurality of computer system resources by comparing the identification information stored in the user account and in the list of authorized user accounts, and determining whether the user account is an alias of any of the list of authorized user accounts. With such an arrangement, alias detection is determined at the time that a user attempts to gain access to a computer system resource.

In accordance with a further aspect of the present invention, a method of operating a distributed computer system includes the steps of storing in respective user accounts identification information uniquely characterizing each of a plurality of computer users, and initiating execution of a stage of a selected transaction program having a plurality of stages upon request from a first user account. The method further comprises the steps of processing a request from a second user account to authorize execution of a subsequent stage of the selected transaction program by comparing the identification information stored in the first user account and in the second user account, and determining whether the second user account is an alias of the first user account. With such an arrangement, alias detection is determined at the time that a subsequent user attempts to complete the selected transaction. By not assuming that login authentication also uniquely identifies a user, who may, in fact, have alias accounts, this arrangement provides for detection of aliases at the point of policy application without ever requiring an exhaustive search throughout the network for potentially aliased accounts. The present invention does not assume that user account aliasing is prevented. Rather, it assumes that alias accounts may be freely created, and uses data that uniquely identifies the owner of each account to detect the existence of unwanted aliasing at the point in time just before execution of a protected activity is to commence.

In accordance with a further aspect of the present invention, a system of operating a distributed computer system to implement alias detection is provided, including storing in respective user accounts, digitally-signed account certificates including identification information uniquely characterizing each of a plurality of computer users, initiating execution of one stage of a selected transaction program having a plurality of stages from a store of application programs on the computer system upon request from a first user account, processing a request from a second user account to authorize execution of a subsequent stage of the selected transaction program by comparing the identification information included in account certificates stored in the first user account and in the second user account, determining whether the second user account is an alias of the first user account, and allowing the processing request to execute the subsequent stage of the selected transaction program if the second user account is not an alias of the first user account. With such an arrangement a computer security system which uses a combination of biometric and cryptographic techniques is provided. Specifically it provides a system for supporting a separation of duties policy that is not dependent on a single authority for registering accounts, or rigorous account administration to segregate accounts into different non-overlapping groups or roles (i.e., static enforcement of separation of duties), or preventing multiple accounts for an individual. Such a system embodying the invention can support dynamic enforcement of separation of duties by allowing an individual to assume multiple roles if need be, and ensure that within the context of a given business function, the individual has not assumed conflicting roles. It achieves this by the use of digitized biometric data or other uniquely identifying data to determine if different accounts are used by a single individual, i.e., are aliases of each other.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as other features and advantages thereof, will be best understood by reference to the detailed description of specific embodiments which follows, when read in conjunction with the accompanying drawings, wherein:

FIG. 1 is a diagram in block form of a distributed computer system which may be used to implement certificate-based alias detection according to one embodiment of the invention;

FIG. 2 is a diagram in block form of how an account certificate incorporating certificate-alias detection data is created;

FIG. 3 is a diagram in block form of how certificate-based alias detection is utilized in the present invention; and

FIG. 4 is a diagram in block form of an example system incorporating certificate-based alias detection.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring now to FIG. 1, a computer system 10 is depicted with access available to individual users 10a-10c. Each individual user 10a-10c has a workstation 12a-12c connected to a local area network 14. The workstations 12a-12c provide each individual user 10a-10c access to a set of applications to perform his/her duties. The applications reside on an application server system 16 connected to the local area network 14.

The application server system 16 is a computer system which contains a set of application programs (hereinafter "applications") that can also be accessed by other computer users (not shown) via the local area network 14. Each individual user 10a-10c is identified by one or more accounts maintained in a name service program 19 on a name server system 18.

The name server system 18 is a computer system containing name service software 19 and accessed by any computer user via the local area network 14. The name service software 19 allows the names of network applications, systems, and other network-accessible objects to be independent of their physical location in the local area network 14. For example, a unique name will be stored in the name service program 19 on the name server system 18 to allow individual users 10a-10c to execute a unique application on an application server system 16.

In the name server system 18, each individual user 10a-10c will have a personal account, and one or more "special" accounts; each account, whether personal or special, has a respective account identification to enable each individual user 10a-10c to log on to the computer system 10 to use a particular application identified in the name server system 18. Each "special account" corresponds to a specific job function, e.g., organizational role. An individual user logged in under such a specialized account is able to perform those applications particular to the corresponding job function.

Referring now to FIG. 2, an applicant 100 supplies biometric information 105 to a registrar 110 as part of the processing of an account. All accounts in the computer system 10 are administered by the account registrar 110, an entity having its own identity, with responsibility for account administration for some enterprise. During the production or modification of an account, the registrar 110 captures an applicant's biometric information 105. The system uses a public key encryption technology for authentication to provide authentication data. The authentication data will be associated with the account for use in login authentication and will be the public key of a public key/private key pair.

The registrar 110 causes a new public/private key pair to be generated. The private key is issued to the user (typically in the form of stored information in some device 115 such as a passcard) while the public key for the account is stored along with other account information in a so-called "certificate" for that account. The biometric data 105 supplied by the applicant 100 is preferably integrity locked into the certificate along with the authentication data (e.g. user's public key) and other security-critical information which may be needed by the system (e.g., such as the user's authorized role).

The integrity-locked digitized canonical biometric data is hereinafter referred to as "certificate-based alias detection data (CBAD)." The registrar integrity locks the certificate by appending a digital signature to it. A digital signature in its simplest form is simply an encrypted copy of the certificate that is encrypted using the registrar's assigned private key (which is known only to the registrar 110 and the registrar's work station). The digital signature is used with the data to be "integrity-locked" by using the signature to provide an encryptographic checksum or other appropriate code. Appending the digital signature provides "integrity-locked" or digitally signed account/authentication/certificate-based alias detection data 120 where it is stored in the name service program 19. The above mentioned public key cryptographic type techniques are used to ensure that tampering of account/authentication/certificate-based alias detection data is detectable.

At a later time, any entity may verify that the account certificate 130 was, indeed, signed by the registrar 110 by decrypting the digital signature using the registrar's 110 public key (which is known throughout the system) and comparing the results with an associated plaintext certificate of the decrypted digital signature. The plaintext certificate is a decrypted version of the digital signature. If they are identical, the entity using the account certificate is confident that neither the plaintext nor encrypted versions of the account certificate were modified after they were created or modified by the registrar 110, and that the account certificate data did originate from the registrar's workstation.

When an individual user logs on to a workstation, the individual user provides information (such as the user's name) that is used by the local operating system to locate and fetch an account certificate from the name service program 19 as the first step in authenticating, or confirming the identity, of the individual user. The local operating system then validates the account certificate's digital signature using the registrar's public key. If the account certificate is valid, the public key assigned to that account by the registrar 110 is known.

The individual user trying to log in then presents a digitally signed "login delegation certificate" to the workstation. A login delegation certificate is what the user sends to the local operating system to be authenticated. (Typically, this would be done by a smartcard issued to the individual user by the registrar 110, containing the individual user's personal private key.) The operating system validates the login delegation certificate by decrypting it using the public key it obtained from the account certificate. If the validation is successful, the operating system knows that the public key obtained from the account certificate matches the private key in the possession of the individual user trying to log on, and is justified in assigning to that individual user any rights or privileges associated with the account. At no time during the authentication process is the CBAD data in the account certificate used. Since CBAD data does not determine the success or failure of a login authentication, there is no compromise to the integrity of the login authentication system if CBAD data is public.

In order to invoke a remote application (e.g., from the application server system 16) to be executed on behalf of, or at the request of, a properly authenticated local user, the workstation operating system generates a so-called remote delegation certificate for the request by appending to the request the individual user's login delegation certificate and digitally signing it using the workstation's private key. A remote delegation certificate is what the local computer operating system sends to the applications server system 15 to obtain services on behalf of the individual user. The application server system 16 can then verify that the remote delegation certificate came from the workstation (by applying the workstations public key to the signature), and, if this is successful, can reauthenticate the identity of the individual user by verifying the user's signature on the included remote delegation certificate using the user's assigned public key. Provided that both of these tests are successful, the application server system 16 knows that the included request emanated from the workstation claimed, acting on behalf of the user account claimed, and/or can use this information to determine whether or not the request should be honored. Since CBAD-data is not used to determine the validity of a remote delegation certificate, there is no compromise to the remote request authentication system if CBAD data is public.

Each user also has an associated account certificate 130. A user certificate 130 is a data structure, generated by the operating system, that includes user information 120 and CBAD data, if it exists , which are bound together. The binding of these data can be provided by using a cryptographic checksum. The checksum ensures that any corruption of the user information 120 is detectable by the system. The encryption uses the registrar's 110 private key or encryption code, thus generating a digital signature that uniquely identifies the source of the account information as the registrar 110. The account certificate 130 is then posted by the operating system to the name service system 135. Thus, execution of selected tasks can be restricted to selected users or groups of users.

During user logon the computer system 10 collects user certificate information 130, as mentioned above to produce a validation credential for the particular user. Such validation credentials are used by the computer system 10 to identify each user and to determine whether the identified user has the necessary privileges to execute a particular application. At this juncture the computer system 10 is using the account certificate information 130 to produce a validation credential if the particular user has been authorized to execute the particular identified transaction. Thus, to produce validation credentials, to determine which users may access certain computer applications, individual account/authentication/certificate-based alias detection data is collected by the registrar 110. Such information includes both the conventional user information such as the user's name, mentioned above, authentication data assigned to, or obtained from, the user, and digitized canonical biometric data (BioM), here referred to as Certificate-Based Alias Detection Data (CBAD), as mentioned above. The system may include accounts which include CBAD data and accounts which do not include CBAD data. The effect of the presence or absence of CBAD data will be described below.

Although an alias detection system to be described below is here discussed in the context of a single computer system, it should be understood that this alias detection can be implemented on a multi-computer system joined together via large computer networks, such as wide area networks. This allows computer users located throughout the large computer network to execute a common application.

As illustrated in FIG. 2, the CBAD data is captured as part of the account operation and stored for later use when a separation of duties policy needs to be enforced (as will be fully described below). Here, it is used for determining user distinctness and detecting alias accounts. This use permits the enforcement of a separation of duties policy that is resistant to attacks by unscrupulous users who assume multiple everyday identities. It also allows for enforcement of separation of duties policy even with systems using lax administration that do not minimize the number of accounts granted to an individual user. It also facilitates creating separate accounts for individuals for specialized purposes. Such approaches resist privilege accumulation, since users log in only with specific sets of privileges, rather than with the accumulated total of all possible privileges which they are permitted to exercise.

Referring now to FIG. 3, the steps involved in certificate-based alias detection which is invoked when a particular unit of processing executes on behalf of more than one user are shown. Certificate based alias detection is provided in the operating platform (e.g., operating system, transaction monitor) of the computer system 10 in FIG. 1.

The computer system 10 produces a validation credential for the associated user from the account certificate. As previously mentioned, a validation credential is an integrity-sealed (i.e., digitally signed) packet that logically bound together the identity of an authenticated user, a request made on behalf of that user, and the CBAD data, if any, for the user. An authenticated user is a user having predetermined authorization to execute the particular application. The predetermined authorization is granted to the user by a system manager or registrar who has the necessary privileges to do so. Binding of the integrity-sealed packet is provided by the operating system appending the user information with the application transaction. Prior to executing the unit of processing, however, the security policy for that unit of processing is examined. If necessary to protect security, certificate based alias detection is triggered by an appropriate statement in the security policy (38 in FIG. 4) for the specific application transaction which the user chooses to execute.

The general manner in which user data and alias detection data may be used in a data processing system in the context of the present invention will now be explained. It will be assumed that the transaction to be described, by way of example, requires an application initiation request and an application approval entry to be inputted into the system by different permitted users.

As shown in FIG. 3, the transaction is initiated at step 158 when an individual user who has logged on to the system, and submits a data processing application initiation request. A review or an approval entry then is submitted at step 158 before further processing of the transaction can proceed.

At step 160 the digital signature on the delegation certificate for the user initiation request and the digital signature on the delegation certificate for