Abstract:
This invention provides a simple and secure PIN unblock mechanism for use with a security token. A set of one or more passphrases ire stored on a remote sever during personalization. Likewise, the answers to the passphrases are hashed and stored inside the security token for fixture comparison. A local client program provides the user input and display dialogs and ensures a secure communications channel is provided before passphrases are retrieved from the remote server. Retrieval of passphrases and an administrative unblock secret from the remote server are accomplished using a unique identifier associated with the security token, typically the token&#39;s serial number. A PIN unblock applet provides the administrative mechanisms to unblock the security token upon receipt of an administrative unblock shared secret. The remote server releases the administrative unblock shared secret only after a non-forgeable confirmatory message is received from the security token that the user has been properly authenticated. The administrative unblock shared secret is encrypted with the token&#39;s public key during transport to maximize security.

Description:
FIELD OF INVENTION  
         [0001]    The present invention relates generally to a data processing system and method and more specifically to a data processing system and method for unblocking a security token by an authenticated user.  
         BACKGROUND  
         [0002]    A security token is used to store an entity, for example a user&#39;s digital identity. The digital identity has many uses, such as building access, signing of emails, access to computer systems and obtaining monetary trust. The inherent security mechanism that protects a user&#39;s digital identity from being used fraudulently is a combination of security token characteristics and a Personal Identification Number (PIN) known only to the user. The PIN is usually a four digit number which is used to authenticate the user to the security token. Successful authentication of the user to the security token allows the user access to the resources and data contained in or available using the security token.  
           [0003]    The use of a four digit number has an inherent weakness in today&#39;s E-commerce environment. A four digit number has only ten thousand possible combinations. As such, access to a lost or stolen security token could easily be accomplished by entry of random PIN combinations until the correct PIN is determined. To address this inherent weakness, a security mechanism is generally incorporated into the security token which counts the number of sequential incorrect PIN entries and blocks the security token from further access after a predetermined number of sequential incorrect PIN entries has occurred. This is the situation in which the security mechanism is designed to protect against.  
           [0004]    The security mechanism, while simple to implement and reasonably effective may inadvertently block out an authorized user due to common keyboarding problems such as a stuck key, incorrectly replaced key cover or difficulty in determining when a keyboard entry has occurred. Another increasingly common problem, a user will have memorized several PINs for various service providers which lends itself to entry of incorrect PINs. Once blocked, the only way that a user can revive access to his or her security token is to have the security mechanism reset by an appropriate support organization.  
           [0005]    This becomes problematic in large organizations as the time and effort to reset the security mechanism usually involves physical presentation of the security token by the user to the support organization. The physical presentation requirement allows the support organization to visually identify the authorized user and maintains close control over post issuance security token management. As is apparent, this process negatively impacts the productivity of both the user and the support organization and increases overall administrative costs to the organization.  
           [0006]    Alternatives to physical presentation of the security token include the use of a telephone support call center. An example of which is disclosed in U.S. Pat. No. 6,360,092 to Carrarra. The &#39;092 patent requires a user to telephone a maintenance center to telemetrically reset the security mechanisms in the token. This method alleviates the physical presentation requirement but does not significantly reduce the productivity loss to the user and the support organization  
           [0007]    Thus, it would be highly advantageous to provide a mechanism which allows an authenticated user to unblock their own security token, while ensuring that the user initiated unblocking procedure is securely performed to prevent fraudulent unblocking or otherwise compromising the resources or data contained in or available using the security token.  
         SUMMARY  
         [0008]    This invention addresses the limitations described above and provides a secure mechanism to allow an authenticated user to securely unblock his or her security token. This invention provides the advantages Of utilizing normally existing cryptographic and administrative mechanisms to unblock a security token without having to physically identify the end user or require the assistance of a third party and end-to-end security is maintained throughout the PIN reset process using the existing cryptographic and administrative mechanisms.  
           [0009]    The PIN unblock mechanism utilizes responses to one or more passphrases which must be correctly answered before an administrator level PIN reset mechanism is performed. The initial answers to the passphrases are entered during the security token&#39;s personalization stage, hashed using a one-way message digest function and stored inside the security token in a maimer not directly accessible via external processes.  
           [0010]    To practice this invention, a token PIN unblock applet is installed in the security token and associated with the token&#39;s security executive. The token PIN unblock applet is the only token based applet that a user can successfully initiate after the security token has been locked due to sequential incorrect PIN entries.  
           [0011]    The unblock applet includes the ability to compare the hashed passphrases results to the existing hashed passphrases answers, securely signal the remote server that the passphrases have been correctly answered, securely access cryptographic functions, receive and utilize administrator PIN unblock secrets and perform replacement of the locked user PIN with a new and unblocked user PIN after the security token is unblocked by the remote server. The token PIN unblock applet is written in such a way that it will never return either a cryptographic key or any decrypted data.  
           [0012]    A client PIN unblock application is installed in the user&#39;s desktop computer system, preferably as a downloadable browser application, which allows the user to initiate the PIN unblock applet installed in the security token. If the desktop computer system lacks the required client PIN unblock application, the user will need to download the application from a secure website. The client PIN unblock application provides the user interface dialogs, securely stores user inputs, causes a secure communications session to be generated between the desktop computer system, requests retrieval of the set of passphrases from a remote server mid securely passes the hashed results to the passphrases and the administrator PIN unblock secrets to the token unblock applet.  
           [0013]    The remote server housing the passphrases includes a server PIN unblock service which retrieves the proper passphrases associated with the security token, provides the unblocking secret to the token PIN unblock applet following receipt of the signal from the token that the passphrases have been correctly answered and generates an audit trail of the PIN unblock transactions. The stored passphrases and unblock secrets are retrieved from the remote server using a unique identifier associated with the security token.  
           [0014]    All communications between the client and the server are performed using a secure messaging protocol preferably IPsec, Mutual authentication is preferred and utilizes PKI credentials provided by a digital certificate contained in the security token and a separate digital certificated received from the server. The use of mutual authentication provides the additional advantage of preventing denial of service attacks (DoS.)  
           [0015]    All unblock secrets sent from the server PIN unblock service are encrypted with the token&#39;s public key obtained from the digital certificate received during mutual authentication.  
           [0016]    The term “security token” as defined herein refers to hardware based security devices such as smart cards, integrated circuit cards, subscriber identification modules (SIM), wireless identification modules (WIM), identification tokens, secure application modules (SAM), hardware security modules (HSM), secure multi-media card (SMMC) and like devices. 
       
    
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0017]    The features and advantages of the invention will become apparent from the following detailed description when considered in conjunction with the accompanying drawings. Where possible, the same reference numerals and characters are used to denote like features, elements, components or portions of the invention. It is intended that changes and mollifications can be made to the described embodiment without departing from the true scope and spirit of the subject invention as defined in the claims.  
         [0018]    [0018]FIG. 1 is a general block diagram illustrating the major components and general arrangement of the invention.  
         [0019]    [0019]FIG. 1A is a detailed block diagram illustrating the arrangement of the PIN unblock applet included in a security token.  
         [0020]    [0020]FIG. 1B is a detailed block diagram illustrating the arrangement of the client unblock application included in the local client and its interrelationship with the remote unblocked service included in the remote server.  
         [0021]    [0021]FIG. 2 is a detailed block diagram illustrating the initiation of a security token PIN unblock process at the local client where an initial set of parameters is passed from the local client to the remote server.  
         [0022]    [0022]FIG. 3 is a detailed block diagram illustrating the initiation of a security token PIN unblock process inside the security token where the initial set of parameters is generated by the security token and passed to the client unblock application.  
         [0023]    [0023]FIG. 4 is a detailed block diagram illustrating the continuation of the PIN unblock process between the remote server and the local client where a passphrases is retrieved by the remote server using one of the parameters passed by the client unblock application.  
         [0024]    [0024]FIG. 5 is a detailed block diagram illustrating the continuation of the PIN unblock process between the local client and the security token where a hash of answers is received from the client unblock application.  
         [0025]    [0025]FIG. 6 is a detailed block diagram illustrating the continuation of the PIN unblock process where an initial challenge is padded, encrypted using a private key forming a cryptogram and passed to the client unblock application.  
         [0026]    [0026]FIG. 7 is a detailed block diagram illustrating the continuation of the PIN unblock process between the local client and the remote server where the cryptogram containing a padded challenge is returned to the remote server and verified.  
         [0027]    [0027]FIG. 8 is a detailed block diagram illustrating the continuation of the PIN unblock process between the remote server and the local client where a cryptogram containing a PIN unblock secret is returned to the local client and passed to the security token.  
         [0028]    [0028]FIG. 9 is a detailed block diagram illustrating the continuation of the PIN unblock process between the security token and the local client where the cryptogram containing the PIN unblock secret is decrypted and used to unblock the security token. An affirmative response is passed from the security token to the local client for routing to the remote server.  
         [0029]    [0029]FIG. 10 is a detailed block diagram illustrating the continuation of the PIN unblock process between the local client and the remote server where the affirmative response is sent to the remote server signaling successful completion of the PIN unblock process.  
         [0030]    [0030]FIG. 11 is a detailed flow chart illustrating the major steps used in the invention to record and store a set of passphrases.  
         [0031]    [0031]FIG. 12 is a detailed flow chart illustrating the major steps used in the invention to unblock a user s security token. 
     
    
     DETAILED DESCRIPTION  
       [0032]    This invention provides a simple and secure PIN unblock mechanism for use with a security token. A set of one or more passphrases which must be answered correctly before an administrative PIN unblock secret is passed to the security token. The initial answers to the passphrases are entered during the security token&#39;s personalization stage, hashed using a one-way message digest function and stored inside the security token in a manner not directly accessible via external processes.  
         [0033]    Referring to FIG. 1, a security token  5  is shown functionally connected to a local client  10 . The security token includes an a token PIN unblock applet  25  which performs the actual PIN unblock functions based on parameters passed form client PIN unblock application  30  operatively installed in the local client,  
         [0034]    The local client  10  operatively connected  50 A to a telecommunications network  20  using a secure messaging protocol In the preferred embodiment of the invention, IPsec is employed. Other secure messaging protocols such as secure socket layer (SSL) encryption, secure shell encryption (SSH) or transport layer security (TLS) may be implemented as well. The client PIN unblock application  30  provides user interface dialogs and passes messages between the token PIN unblock applet  25  and a server PIN unblock service installed on a remote server  15 .  
         [0035]    The client PIN unblock application  30  is preferably a downloadable browser application or applet, which allows the user to initiate the PIN unblock applet  25  installed in the security token  5 . If the client  10  lacks the required client PIN unblock application  30 , the user may download the application form a secure website. The universal resource locator (URL) is usually printed on the back of the security token  5  or is otherwise known to the end user.  
         [0036]    The remote server  15  is shown operatively connected  50 B to the network  20  and in processing communications with the local client  10  using the secure messaging protocol. The remote server  15  includes the server PIN unblock service  35 . The server PIN unblock service  35  retrieves the applicable passphrases and an administrative unblock secret using parameters supplied or generated by the token PIN unblock applet  25 .  
         [0037]    In FIG. 1A the token PIN unblock applet  25  is shown associated with the token&#39;s security executive  75 . The security executive  75  provides symmetric and asymmetric cryptographic services, random number generation, authentication challenge generation and comparator functions when requested by the PIN unblock applet  25 .  
         [0038]    The security executive  75  includes the ability to pass  150  a unique identifier ID  105  to external resources. The unique identifier  105  may be art internally masked token serial number or another obfuscated identifier unique to the security token.  
         [0039]    The token PIN unblock applet  25  communicates  155  with the client unblock application  30  and is the only token based applet that a user can successfully initiate after the security token has been blocked due to sequential incorrect PIN entries. A one-way message digest Hash o    110  of the original answers to the set of passphrases is stored inside the security token and associated with the PIN unblock applet  25 . The PIN unblock applet  25  includes the ability to compare the reference one-way message digest Hash o    110  passphrases against a later hashed passphrase result passed to the applet by the client unblock application  30 . The one-way message digest preferably uses SHA-1, however, other common message digest functions such as MD-5 may be used as well so long as consistency is maintained between the digest function used to create the reference hash and the subsequent response hash.  
         [0040]    An administrative shared secret Secret t    115  is used to unblock an existing PIN block applet  120 . The counterpart shared secret is securely stored on the remote sever and is only passed to the PIN unblock applet  25  after a user has correctly entered the proper passphrases and the resulting hash verified against the reference hash Hash o    110 . The token PIN unblock applet  25  provides an encrypted message which is passed to the remote PIN unblock service which signaling successful user authentication. The successful verification of the encrypted message by the remote PIN unblock service causes the administrative counterpart shared secret to be securely sent to the PIN unblock applet  25 . This mechanism is discussed in more detail in the discussion that follows herein.  
         [0041]    The administrative shared secret may be a symmetric cryptographic key or an administrative PIN. The PIN block applet  120  monitors the number of sequential incorrect PIN entries and prevents access to end user applets  130  and cryptographic keys  145  when the user&#39;s PIN PIN b    125  has become been blocked. The token PIN unblock applet  25  includes the functionality to replace  160  the blocked PIN PIN b    125  following successful unblocking of the PIN block applet  120 . A security mechanism is incorporated into the token PIN unblock applet  25 , which after a predefined number of sequential and unsuccessful attempts to unblock the user&#39;s PIN results, in the security token becoming unrecoverable by the end user.  
         [0042]    The token PIN unblock applet  25  may access  165  the user&#39;s public and private cryptographic keys Kpri  135 , Kpub  140  and with the exception of the user&#39;s digital certificate cert t    142  containing the user&#39;s public key Kpub  140 , is prohibited by the security executive  75  from exporting any cryptographic keys or PIN data. Operations involving the token&#39;s private key Kpri  135  PIN are tightly controlled to limit its use to only those operations necessary to support the token PIN unblock applet  25 . The public key infrastructure (PKI) keys in the preferred embodiment of the invention are intended to utilize 1,024 bit RSA keys but may include pretty good privacy (PGP), Diffie-Helman (DIA) or elliptical curve cryptography (ECC).  
         [0043]    Referring to FIG. 1B, the client PIN unblock application  30  is installed in the user&#39;s desktop and provides the user display and input dialogs for entry of a replacement PIN PIN n    179  and displays the set of passphrases  195  retrieved from the remote server by the remote unblock service  35 . If the client  10  lacks the required client PIN unblock application  30 , a copy CUA (Common User Access) downloadlable  176  may retrieved from the remote server as previously described.  
         [0044]    Referring to FIG. 2, once the client unblock application  30  is initiated, the user is prompted to enter a replacement PIN PIN n    179  which is securely passed  155  to the token unblock applet  25 . Concurrently, an authentication challenge Challenge t    182  is generated by the token&#39;s security executive  75  and passed  150  along with the token&#39;s unique identifier  198  and digital certificate cert. t    210  via the client unblock application  30  to  20  the remote unblock service  35 . The remote unblock service temporarily stores the initial challenge Challenge t    182  and the token&#39;s digital certificate cert t    210  for future use. In alternate embodiment of the invention, mutual authentications are performed between the client unblock application  30  and the remote unblock service  35  by sending  200  a server based challenge Challenge s    215  and digital certificate Cert. s    220  to the client unblock application  30 . Both digital certificates certificate cert. t    210  and Cert. s    220  conform to X.509 standards.  
         [0045]    Referring to FIG. 3, the incoming  155  replacement PIN PIN n    179  passed by the client unblock application  30  is shown being temporarily stored by the token unblock applet  25 . The challenge Challenge t    182  is generated by the security executive  75  and passed along with the user&#39;s digital certificate cert t    142  and unique identifier  105  to the client unblock applet  30  as described above.  
         [0046]    In FIG. 4, a secure communications session is established  50 A,  50 B between the client unblock application  30  and the remote unblock service  35  based on the latter authentication. The remote unblock service  35  retrieves the stored set of passphrases  195  using the token&#39;s unique identifier id  198  as a lookup reference. The passphrases  195  and counterpart administrative secret Secret s    185  were originally stored in a record  188  associated with the token&#39;s unique identifier id  198  at the time the security token was personalized.  
         [0047]    In an alternative embodiment of the invention, the contents of the record  188  is separately encrypted with the user&#39;s public key. The remote unblock service generates an audit trail  192  of the PIN unblock transactions. The retrieved passphrases  195  are securely passed  20  to the client unblock application  173  where the user is prompted to enter responses  400  to the passphrases  195 . The user responses  400  are then hashed Hash n    173  by the client unblock application  30  and securely passed  155  to the token unblock applet  25   
         [0048]    Referring to FIG. 5, the incoming hashed user responses Hash n    173  passed  155  from the client unblock application  30  are received by the token unblock applet  25  and compared to the reference hash Hash o    110 . If the incoming hash Hash n    173  does not match the reference hash Hash o    110 , the user is alerted that the PIN unblock process has failed by the client unblock application  30  (not shown.) The aforementioned security mechanism incorporated into the token PIN unblock applet  25  prevents excessive multiple attempts at unblocking the security token. No other messages are provided which prevents a sophisticated hacker from attempting to determine where in the process the failure has occurred.  
         [0049]    In FIG. 6, a successful match between the user response Hash n    173  and the reference hash Hash o    110  results in a cryptogram  605  to be generated. The cryptogram is comprised of the original challenge Challenge t    182  and padding  600  which is encrypted by the token PIN unblock applet  25  using the private key Kpti  135 . The cryptogram is then passed  155  to the client unblock application  30 . The random padding  600  is generated by the security executive  75  preferably in accordance with public key cryptographic system (PKCS) # 1  specifications. Padding is employed in the preferred embodiment of the invention to prevent surreptitious capture after receipt fly the client, which is particularly advantageous when using an uncontrolled client. The cryptogram will be used by the remote PIN unblock service as a signal that the user has been successfully authenticated.  
         [0050]    In FIG. 7, the cryptogram  605  is received  155  by the client unblock application and passed  20  using the secure messaging protocol  50 A,  50 B to the remote unblock service  35 . The remote unblock service  35  decrypts the cryptogram using the public key Kpub  140  counterpart contained in the previously received digital certificate cert t    210 .  
         [0051]    The remote unblock service  35  then compares the decrypted result to the original challenge Challenge t    182  while ignoring the extraneous padding. If the decrypted challenge does not match the original challenge Challenge t    182 , the unblock process ends. As before, no other messages are provided. As before, the relate unblock service generates an audit trail  192  of the PIN unblock transactions.  
         [0052]    In FIG. 8, if the decrypted challenge does match the original challenge Challenge t    182 , the remote unblock service  35  retrieves the counterpart administrative secret Secret s    185  using the token&#39;s unique identifier as a lookup reference. The retrieved administrative secret Secret s    185  is then encrypted using the public key Kpub  140 . The resulting cryptogram  805  is then passed  20  using the secure messaging protocol  50 A,  50 B to the client unblock application  30 . The client unblock application  30  securely and transparently passes  155  the cryptogram  805  to the token unblock applet  25 .  
         [0053]    Referring to FIG. 9, cryptogram  805  is received  155  by the token unblock applet  25  and decrypted using the private key Kpri  135 . The resulting administrative secret Secret s    185  is used in combination with the token shared secret Secret t    115  to unblock the PIN block applet  120 . The replacement PIN n  179 A is then operatively installed as the active user PIN n  179 B. After the unblocking process has successfully completed, a completion message  905  is generated by the token unblock applet  25  which is passed  155  to the client unblock application  30 .  
         [0054]    [0054]FIG. 10, the completion message  905  is then passed  20  using the secure messaging protocol  50 A,  50 B to the remote unblock service  35  where the audit trail  192  of the PIN unblock transactions is recorded.  
         [0055]    In FIG. 11, the initial process for generating and storing the passphrases is shown. The process is initiated  1100  by the user being prompted for a PIN  1105 . The user is then prompted for entry of one or more passphrases  1110 . The passphrases are then stored on a server  1145  indexed by a unique identifier associated with the security token. In an alternative embodiment of the invention, the initial passphrases are encrypted  1120  with the user&#39;s public key  1115  then stored and indexed as before  1145 . The user is then prompted to enter the answers to the passphrase  1125 . The answers are hashed  1135  using a one-way hash  1130  and stored inside the user&#39;s security token  1140 . The process ends  1150  after storage of the hashed passphrase answers.  
         [0056]    Lastly, referring to FIG. 12, the authenticated PIN unblock process is shown. The process is initiated  1200  by requesting the PIN unlock service on a appropriately equipped local client  1205 . The local client performs an authentication and establishes a secure path between the local client and a remote server  1215  and transfers necessary parameters to retrieve the stored passphrases  1220 . The user is then prompted to enter a new PIN  1230  while the remote server retrieves and passes the user&#39;s passphrase to the local client  1240 . The passphrases are displayed and the user prompted to enter the appropriate answers  1255 . In an alternate embodiment of the invention, the passphrases are decrypted  1250  using the user&#39;s private key  1235 .  
         [0057]    The user&#39;s answers are then hashed  1260  using a one-way hash algorithm  1245  and compared with the stored hashed answered  1265 . If the hashed user answers match the stored hashed answers  1270 , a confirmatory message is securely sent to the server  1275 . The server retrieves and passes an encrypted unblock secret to the security token  1280 . The encrypted unblock secret is decrypted  1285  using the private key  1235  and used to unblock the security token  1290  and the new PIN activated  1210 .  
         [0058]    Another confirmatory message is securely sent to the server  1295  for audit trail purposes and the process ends  1310 . If the hashed user answers do not match the stored hashed answers  1270  and less than n attempts have occurred  1300 , the user is prompted to again enter the proper passphrase as before and the process repeated. If greater than n ties has occurred, the token is disabled  1305  and processing ends  1310 .  
         [0059]    The foregoing described embodiments of the invention are provided is 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. No specific limitation is intended to a particular security token operating environment. 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.