Abstract:
This invention provides a system, method and computer program product to allow a user to access administrative security features associated with the use of a security token. The administrative security features provide the user the ability to unlock a locked security token, diagnose a security token, activate and deactivate a security token, request a replacement security token or temporary password or report the loss of a security token. The invention comprises a client application which integrates into the standard user login dialog associated with an operating system. A portion of the user dialog is linked to a remote server to access the administrative services.

Description:
RELATED APPLICATIONS 
     This application is a continuation of U.S. application Ser. No. 10/304,958 filed Nov. 27, 2002, now U.S. Pat. No. 8,065,717, which is hereby incorporated by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to a data processing system, method and computer program product and more specifically to a system, method and computer program product for gaining access to administrative security services without having authenticated access to an operating environment. 
     BACKGROUND 
     Security token and credential management systems track, monitor and control the state of authentication tokens and credentials assigned to users. Frequently, the security tokens managed by such systems become locked, lost, stolen, damaged, deactivated, or temporarily misplaced by the user. Many of these issues prevent the user from logging into an operating system. In other situations, it is useful for the user to obtain diagnostic information related to a security token prior to logging in. The user may also require temporary access to the operating system via some other means because his or her security token is not available or is non-operational. 
     In the relevant art, when a user is unable to gain access to the operating system due to unavailability of his or her security token, the options available to correct the situation usually involves a call to a support desk, logging into a restricted guest account or some combination of the two. Present solutions do not offer the user the capability to access the services of a security token management system while logged out or locked out of the operation system. 
     The support desk option is problematic in that the user may not be able to contact the support staff during non-working hours (e.g., nights and weekends) or during traditionally heavy demand periods (e.g., Monday mornings, following a system interruption, migration to another operating system or software application, etc.) 
     In certain circumstances, the user may be prevented from accessing an operating system or reporting a lost or stolen security token for an extended period of time (e.g., Christmas Holidays) which not only impacts worker productivity but may lead to future security compromises. Maintaining a full time support staff can be prohibitively expensive for smaller organizations. 
     Guest accounts provide only limited access to system resources and require that guest accounts be established and maintained on all computers where a potential user may need access to resources which increases the risk of introducing security vulnerabilities. 
     Thus, an automated mechanism which allows a user to restore access privileges without the intervention of a support organization is highly desirable. 
     SUMMARY 
     This invention addresses the above cited limitations and provides a system, method and computer program product for user controlled security token administration. 
     The invention comprises a local client and a remote server in processing communications over a network, each including all functional components of a computer system such as associated hardware, peripherals, storage devices, operating system and applications software. The network includes local area networks, wide area networks and wireless networks. 
     The local client further includes an application which provides access to a user controlled security token administration application installed on the remote server and also serves as a communications interface with a locally connected security token. The client application is integrated into the operating system&#39;s login access application and user dialog interfaces for example, msgina.dll associated with Microsoft® Windows NT and successor products or a pluggable authentication module (PAM) associated with UNIX® based operating systems. The local client includes normal desktop and laptop computers and thin clients such as personal data assistants (PDA), security token equipped cellular telephones and related wireless devices. 
     The remote server is a designated authentication server having a unique universal resource locator (URL) number, the applications software and stored verification data to implement the invention. An example configuration is described in a product description sheet, “ActivCard® Identity Management System,” by the assignee of the invention. The product description sheet is herein incorporated by reference. 
     The integrated login dialog interface provides one-stop access to either the operating system or the user controlled security token administration application. In one embodiment of the invention, a portion of the user login dialog interface is actually remotely displayed by the server using HTML, XML or equivalent protocols but appears to the user as a local application. Accessing the user controlled security token administration application does not require the normal user login procedures but does require the user to correctly supply at least one credential known or otherwise available to the user such as a biometric scan entry, password, PIN, passphrase or responses to a question and answer session. The credential is used for identifying the user and establishing the user&#39;s access privileges to services and resources. 
     To ensure that the user is actually communicating with the proper remote server, a host authentication session is performed using public key cryptography methods such as traditional challenge/response or digital certificate exchange. Once the server is authenticated to the local client, the user may be prompted to supply his or her credentials. Once the user has been authenticated to the remote server, based on comparisons to previously stored credentials, the user may initiate one or more functions including diagnostics of the security token, reactivating or deactivating the security token, requesting a replacement security token, requesting and enabling a temporary password or automatically granting access to previously unavailable services and resources. 
     The administrative application installed on the remote server processes the user request and performs the functions by sending the appropriate command strings and security codes to the security token via the client application to service the request. In situations where a temporary password is requested, the newly enabled password is visually displayed for a limited period of time. 
     In an alternate embodiment of the invention, the remote server may be replaced by an internal security token application which is invokeable by the user. In this embodiment of the invention the user performs essentially the same authentication process as described for the remote server embodiment but communicates locally with the security token directly via the local client application. Authentication of the security token to the user is performed by visual confirmation or by recognition of the authentication dialogs occurring between the user and the security token. 
     The communications between the local client and remote server is performed using a secure messaging protocol such as IPsec, SSL, SSH, TLS, WAP or equivalent. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
       FIG.  1 —is a generalized block diagram illustrating the invention. 
       FIG.  1 A—is a generalized block diagram illustrating a mutual authentication session between a client and a remote server. 
       FIG.  1 B—is a generalized block diagram illustrating an alternate embodiment of the invention. 
       FIG.  2 —is a detailed block diagram illustrating a user interface dialog. 
       FIG.  2 A—is a detailed block diagram illustrating the selection of an option available from the user interface dialog. 
       FIG.  3 —is a detailed block diagram illustrating processing of a request by the remote server. 
       FIG.  4 —is a flowchart illustrating the major steps for implementing the invention. 
     
    
    
     DETAILED DESCRIPTION 
     This invention provides a system, method and computer program product for user controlled security token administration without having to establish an active session. 
     Referring to  FIG. 1 , the invention comprises a local client  10  and a remote server  100  in processing communications over a network  110 , both the local client  10  and remote server  100  include user input devices such as keyboards  30 ,  130 , and mice  20 ,  120 , displays  40 ,  140 , operating systems, applications software  15 ,  115  and memory storage devices  35 ,  135 . The displays  40 ,  140  may include touch sensitive screens as another user input devices. The local client  10  further includes a biometric scanner  25  as an alternative to memorized credentials (e.g., PINs, passwords, passphrases, question and answer sessions) and a security token  5 . 
     The security token  5  includes security resources and information such as cryptographic keys and algorithms for accessing system resources and services following authentication of the user. A user authentication mechanism included in the security token is provided with a changeable security state to prevent fraudulent use of the token. For example, a common anti-fraud counter installed in security tokens limits the number of incorrect PIN entries to a predetermined number. If the predetermined number is exceeded, the security token is placed in a locked security state which requires receipt of specific unlock information in order to reset the anti-fraud counter and regain use of the security token. 
     The applications software  15  installed on the local client  10  provides access to a user controlled security token administration application  115  installed on the remote server  100  and also serves as a communications interface with the locally connected security token  5 . The client application  15  is integrated into the operating system&#39;s login access application and user dialog interfaces such as msgina.dll associated with the WINLOGON.EXE program included in Microsoft® Windows NT and successor products or a pluggable authentication module (PAM) associated with UNIX® based operating systems. 
     Communications over the network  110  between the local client and remote server is performed using a secure messaging protocol such as IPsec, SSL, SSH, TLS, WAP or equivalent. 
     The administrative application  115  installed on the remote server allows a local user to access administrative services related to user access without having to establish an active session with the local operating environment or receive assistance from a support organization. The administrative application includes the ability to authenticate the user based on a supplied biometric sample, password, passphrase, PIN, question and answer session or any combination thereof. 
       FIG. 1A  depicts a mutual authentication cycle between the local client  10  and the remote server  100 . A user located at the local client  10  selects a function from a dialog box displayed on the display  40 . The selection causes the remote server to first authenticate to the client using public key infrastructure method. A digital certificate  165  is used as an example in  FIG. 1A . Once the remote server  100  has been successfully authenticated, the user either supplies a biometric sample  145 , or memorized credential  150  depicted as a password PW  160 . Equivalent memorized credentials include passphrases, PINS, interactive question and answer sessions using the display  40 , or any combination thereof. The results of which are sent to the remote server  100  for authentication. The received credential is authenticated by comparing  155  the received credential to those retrieved from storage  135 . 
       FIG. 1B  depicts an alternate embodiment of the invention where access to administrative services are performed locally using the client application  15  and a token application  175  installed inside the security token  5 . As before, the user located at the local client  10  selects a function from the dialog box displayed on the display  40 . The selection causes the token application  175  to authenticate the user. The user either supplies a biometric sample  145 , or memorized credential  150  depicted as a password PW  160 A. 
     The biometric sample  145  or credential PW  160 A is sent  180  to the security token  5  for processing by the token application  175 . If the user is authenticated, access to the security token resources and services is provided by changing a security state within the security token. 
       FIG. 2  depicts an example user interface display provides normal authenticated access to system resources and services  200  or allows selection of administrative services  205  if the user is unable to gain normal access. The upper portion of the user dialog  200  is generated by the local operating system. The lower portion of the user interface display  205  in the preferred embodiment of the invention is a remote web page which is displayed locally. The web page may be constructed using hypertext markup language (HTML), extensible markup language (XML) or variations thereof. In an alternate embodiment of the invention, the lower portion of the user interface display  205  is generated locally and accesses the remote server application once a selection is made. 
     Examples of available options include unlocking a locked security token  210 , diagnosing a security token which may be malfunctioning  215 , activating a security token  220 , deactivating a security token, requesting a replacement security token  235 , requesting a temporary password  240 , requesting a temporary security token  245  and reporting the loss of a security token  250 . All of the options may be considered as security states in which the user desires a change. One skilled in the art will appreciate that other options to suit a particular security or administrative requirement may be provided as well. 
     Referring to  FIG. 2A , an example session is shown where a user  260  selects the unlock security token option  210 . A password  255  is then provided to authenticate the user to the remote server. 
     Referring to  FIG. 3 , the request  305  to unlock the security token is sent to the remote server  115  using the secure messaging protocol  315  for example, IPsec, SSL, SSH, TLS, WAP or equivalent. The request is processed by the remote server application  115  which retrieves  320  the proper function  310  from storage  135 . The function  310  is sent to the local client application  15  for routing  325  into the security token  5  for final processing. 
     Lastly,  FIG. 4  depicts the major steps in implementing the invention. The process is initiated  400  by a user reviewing available administrative security functions displayed  405  on a display associated with a local client. The user is then prompted to enter a credential  410 . The user&#39;s request and credential are then sent to the authenticating computer system for processing  415 . The authenticating computer system attempts to authenticate the entity  420 . The authenticating computer system may be a locally connected security token or a remote server. If the user is not authenticated  430 , processing ends  450 . If the entity is authenticated  430 , the requested service is performed  440  on a locally connected security token and processing ends  450 . 
     The foregoing described embodiments of the invention are provided as illustrations and descriptions. They are not intended to limit the invention to precise form described. In particular, it is contemplated that functional implementation of the invention described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks. Other variations and embodiments are possible in light of above teachings, and it is not intended that this Detailed Description limit the scope of invention, but rather by the Claims following herein.