# Patent

## Title
System and method for generating and managing administrator passwords

## Abstract

A password management system and method for securing networked client terminals and mobile devices is provided. More specifically, the present invention provides a system and method for encrypting randomly generated administrator-level passwords and providing a means for decrypting the randomly generated passwords for single-use unrestricted access to a designated terminal or mobile device. When unrestricted access to the terminal or mobile device is required, the encrypted administrator-level password is decrypted using a shared symmetric key, which is generated during encryption of the administrator password, to reveal the administrator-level password for the terminal or mobile device. The administrator-level password is a single-use password, wherein upon use of the administrator-level password a new administrator-level password may be automatically generated for the corresponding terminal or mobile device.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 61/023,347, filed Jan. 24, 2008, which is incorporated by reference herein in its entirety.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to computer security. More specifically, the present invention is directed at a system and method for generating and managing an administrator-level password unique to a workstation residing on a defined network.
2. Description of the Prior Art
Computer security is a significant issue for network administrators. With the vast amount of sensitive data residing on and accessible through computer networks, the likelihood and consequences of a security breach is a constant concern. These concerns have commonly been addressed by network administrators through the implementation of various end-user restrictions and strict guidelines directed at minimizing potential threats. While these measures can be used as an effective measure for securing access to a network, an often unintended result is reduced access for authorized users.
Given that the need to provide an effective level of network security is often at odds with the need to provide adequate access to support a network, administrators are constantly faced with the burden of discerning to what extent one interest must override the other. The management of administrator-level passwords, which typically provide unrestricted access to workstations, is a prime example of this problem.
An administrator-level password is often provided to various technical support professionals to provide immediate access to a workstation in need of support. In providing such access, many organizations typically utilize a limited number of administrator-level passwords that can be shared among authorized professionals. These shared administrator-level passwords are frequently referred to as common administrator passwords and permit the holder to obtain unrestricted access to a workstation without having knowledge of a user-defined password associated with the workstation.
Although the foregoing measure provides a certain level of security, while relieving the burden of having to manage and secure a repository of unique administrator-level passwords for each workstation on a network, the very existence of common administrator passwords present a serious security risk since any individual with knowledge of at least one of these passwords may obtain unrestricted access to any number of workstations on the network.
In view of the foregoing inherent security concerns related with conventional methods, it is desirable to provide an improved means for securing individual workstations on a defined network. Accordingly, a system and method for generating and managing an administrator-level password unique to each workstation residing on a defined network is provided by the present invention.
SUMMARY OF THE INVENTION
Preferred embodiments of the present invention are deployed in two phases. In the first phase, a unique administrator-level password is randomly generated for a computer terminal or mobile device and encrypted to create a breakglass string, the breakglass string being visibly accessible to a user of the workstation or mobile device or, alternatively, retrievable from a corresponding server database. In the second phase, the breakglass string is decrypted by an authorized user to reveal the uniquely generated administrator-level password associated with the workstation or mobile device.
The breakglass string may be a string of characters in the form of cipher text representing the encrypted administrator-level password randomly generated for and unique to a particular terminal or mobile device. When the cipher text is decrypted and the administrator-level password for accessing the corresponding terminal or mobile device is revealed, the breakglass string is deemed obsolete and a new unique administrator-level password is automatically generated and encrypted for the terminal or mobile device being accessed. Therefore, once revealed, the administrator-level password can not be used again for regaining access to the same terminal or mobile device, thereby providing a secure single-use administrator-level password.
In the first phase of the present invention, a string of random characters representing an administrator-level password, or any other applicable password, is automatically generated for a target terminal. A Random Password Management (RPM) agent, which may be an application residing locally on the target terminal or made accessible via a remote server, may be configured to generate the random string of characters representing the administrator-level password and a symmetric secret key for encrypting the same. The symmetric secret key may be generated by retrieving public and private keys associated with the target terminal deploying the RPM agent, an RPM server public key, and a unique identifier associated with the target terminal.
Once generated, the symmetric secret key is applied to the randomly generated administrator-level password in a symmetric encryption scheme, thereby yielding a breakglass string of characters. In a preferred embodiment of the present invention the breakglass string is stored in the registry and displayed on the target terminal. For example, the breakglass string may be embedded in the wallpaper of a desktop environment displayed on the monitor of the target terminal. Alternatively, the breakglass string may also be stored in a server database to allow authorized users to obtain access to the target terminal.
When access to the target terminal is required by an authorized user, the second phase of the present invention is deployed. The breakglass string, along with a unique identifier for the target terminal, is retrieved through a Random Password Recovery System (RPRS), which may be deployed from a remote terminal and coupled to an RPM database server, to decrypt the breakglass string and reveal the administrator-level password for accessing the target terminal. Thereafter, the RPM agent may be configured to automatically generate a new unique administrator-level password for encryption in connection with the target terminal.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects and advantages of the present invention will become apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
FIG. 1 illustrates a block diagram of an exemplary communication system for implementing the random password management scheme described in accordance with preferred embodiments of the present invention.
FIG. 2 is a process flowchart for illustrating steps employed in generating a breakglass string in accordance with an embodiment of the present invention.
FIG. 3 is a process flowchart for illustrating steps employed in decrypting a breakglass string in accordance with an embodiment of the present invention.
FIG. 4 illustrates exemplary display screens employing random password management consoles in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
An exemplary system 100 for implementing the password management processes of the present invention is illustrated in FIG. 1. In accordance with a preferred embodiment of the present invention, system 100 may be comprised of a data network 102, one or more client terminals 104 configured with a random password management (RPM) agent 105, one or more mobile devices 110 configured with RPM agent 105, one or more database servers 112, 114 and one or more controller terminals 106 configured with a random password recovery system (RPRS) application 107. Client terminals 104, mobile devices 110, database servers 112, 114 and controller terminal 106 are coupled to data network 102 via a communication means 108. Communication means 108 may be achieved through the use of any well-known wired and wireless networking and data management protocols.
RPM database server 112 may be configured for maintaining a secure record of breakglass strings and their corresponding computer IDs. Database server 112 can further be configured to perform periodic data collection from a plurality of workstations in a given network. Given that database server 112 may store breakglass strings corresponding to a plurality of workstations in any given network, controller terminal 106 may be configured for querying database server 112. As illustrated in FIG. 1, database server 112 may be queried via communication means 108.
In FIG. 2, a process flow 200 is provided to illustrate the steps employed in generating a breakglass string. In accordance with a preferred embodiment of the present invention, the breakglass string is a cipher text representative of an encrypted administrator-level password, which may be visibly accessible to a user on a display coupled to client terminal 104 or mobile device 110 or, alternatively, retrievable from RPM database server 112. Process flow 200 may be initiated, for example, when a user logs into terminal 104. Alternatively, process flow 200 may be deployed in accordance with predefined time intervals measured from the instance a user logs onto terminal 104 or, alternatively, from the instance a new administrator-level password is created. Various triggers for initiating process flow 200 may be envisioned and are well within the scope of the present invention.
Upon initiating process flow 200, a unique administrator-level password is randomly generated, at step 202, for a terminal 104 or mobile device 110. The term “administrator-level password” is intended to include, but is not limited to, a string of characters required for gaining unrestricted access to terminal 104 or mobile device 110. The administrator-level password may be an alpha-numeric string generated, for example, by a randomizer application residing on terminal 104, mobile device 110 or a remote server 112 coupled to the same. The randomizer application for generating the administrator-level password may operate as a stand-alone application, but is preferably integrated as part of RPM agent 105. The randomizer may be configured to generate, at steps 206 and 208, 256 bit elliptic curve key pairs for RPM agent keys and RPM server keys for use in generating a shared symmetric key, at step 212, to encrypt the administrator-level password represented by a breakglass string, at step 214.
When a unique administrator-level password is generated, its use is preferred to be the only means for gaining unrestricted access to the corresponding client terminal 104 or mobile device 110. For example, a helpdesk technician needing to troubleshoot client terminal 104 or mobile device 110 would require knowledge of the unique administrator-level password generated by, and associated with, that particular terminal or mobile device in order to obtain unrestricted access for purposes of troubleshooting. Having generated the administrator-level password for client terminal 104 or mobile device 110, process flow 200 may then transition to the creation of a breakglass string, thereby encrypting the newly created administrator-level password.
The present invention makes use of a symmetric key, generated at step 212, using an RPM agent private key and an RPM server public key associated with RPM agent 105, which are generated and retrieved, respectively, at steps 206 and 208. For example, an Elliptic Curve Diffie-Hellman (ECDH) algorithm may be used in conjunction with the RPM agent private key and RPM server public key of the present invention to generate the symmetric key. Upon generating the symmetric key, its use in combination with an RPM agent public key, also generated at step 206, and the administrator-level password, randomly generated at step 202, results in the generation of the corresponding breakglass string, at step 214.
To encrypt the randomly generated administrator-level password, the Advanced Encryption Standard (AES) and a Base64 encryption may be employed for example. The 256 bit RPM server and private keys generated may be loaded and used in conjunction with the ECDH algorithm to generate the 256 bit shared symmetric key. Thereafter, the AES256 key and the AES initial vector may be generated with the hostname of client terminal 104. The randomly generated administrator-level password may then be encrypted to a 16 byte cipher-text and appended with the 256 bit (32 bytes) elliptic curve RPM agent public key, through use of the x-coordinate of point W in the RPM agent public key. The appended administrator password and RPM agent public key are then subjected to Base64 encoding, whereby the output is the breakglass string. The utilized RPM keys are then deleted and a new pair is generated in the next encryption round.
The breakglass string, generated at step 214, may then be stored, at step 218, in a registry associated with client terminal 104 or mobile device 110 and RPM database server 112 and displayed, at step 216, on client terminal 104 or mobile device 110. The breakglass string is a single-use string for revealing the administrator-level password associated with a particular client terminal 104 or mobile device 110. A user requiring unrestricted access to the particular terminal 104 or mobile device 110 must possess the breakglass string to obtain the administrator-level password. Despite the fact that the breakglass string may be displayed on client terminal 104 or mobile device 110, the breakglass string can not be decrypted to reveal the administrator-level password without knowledge of the unique computer ID associated with client terminal 104 or mobile device 110, and retrieval of a corresponding RPM server private key and the RPM agent public key.
RPM agent 105 deployed on client terminal 104 or mobile device 110 may be configured to remain idle until an authorized user is in need of unrestricted access. Absent unrestricted access of client terminal 104 or mobile device 110, the administrator-level password and corresponding breakglass string may remain unchanged. In accordance with the preferred embodiment of the present invention, client terminal 104 or mobile device 110 are assigned a new administrator-level password immediately upon use of the previously designated administrator-level password or upon expiration of a predetermined time period, whichever occurs first.
In FIG. 3, a process flow 300 is provided to illustrate the steps employed in deciphering the breakglass string and retrieving the unique administrator-level password needed to gain unrestricted access to client terminal 104 or mobile device 110. RPRS application 107 may be initiated, at step 302, to begin the process of deciphering the breakglass string. RPRS application 107 may be a stand-alone application provided locally on controller terminal 106, as illustrated in FIG. 1. Alternatively, RPRS application 107 may be deployed from a remote location, such as RPM database server 112.
Upon initiating RPRS application 107, at step 302, a computer ID and breakglass string corresponding to client terminal 104 or mobile device 110 is retrieved, at step 304. Thereafter, at steps 308 and 310, the RPM agent public key is derived from the breakglass string and the RPM server private key is retrieved, respectively. The RPM agent public key and RPM server private key are then used, at step 312, to derive the symmetric key needed to decrypt the breakglass string, at step 314. The decrypted administrator-level password is displayed, at step 316, and the corresponding password decryption request is saved, at step 318, in an audit log, which may be maintained, for example, in audit trail database 114.
An audit trail may be kept, at step 318, to log all activity associated with a breakglass string for a particular client terminal 104 or mobile device 110. The implementation of an audit trail further increases security measures provided by the present invention. The audit trail may be configured, for example, to track specific actions taken via RPRS application 107, a corresponding time log of those actions, the location or corresponding computer ID from which a request originated, other applicable information or any suitable combination thereof.
In decrypting the breakglass string the process may begin, for example, with loading the previously described 256 bit elliptic curve RPM server key and performing Base64 decoding on the breakglass string, thereby generating a 16 byte cipher-text and a 32 byte RPM agent public key. The y coordinate of point W in the RPM agent public key may then be calculated to enable reconstruction of the RPM agent public key. With the RPM agent public key and RPM server private key, an ECDH algorithm may then be used to regenerate the shared symmetric key. Having regenerated the symmetric key, AES265 decryption may then be performed on the cipher text representing the administrator password, thereby revealing the unique administrator-level password associated with the client terminal 104 or mobile device 110 for which unrestricted access is required.
It is important to note that upon use of the administrator-level password to gain unrestricted access to client terminal 104 or mobile device 110, RPM agent 105 may be configured to generate a new administrator-level password, rendering the administrator-level password used to gain unrestricted access and the corresponding breakglass string obsolete for future unrestricted access. Therefore, upon use of the administrator-level password corresponding to client terminal 104 or mobile device 110, process flow 200 may be reinitiated to create a new administrator-level password. In an alternative embodiment, a new administrator-level password may be created upon detection that the corresponding breakglass string has been deciphered by RPRS application 107 to reveal the present administrator-level password, irrespective of whether or not the administrator-password was ever used. Such an embodiment may be deployed immediately after deciphering of the breakglass string or after a predetermined lapse of time from the time the breakglass string is deciphered.
Exemplary displays of a client RPM agent window 402 and an RPRS application console 404 for, respectively, client terminal 104 or mobile device 110 and controller terminal 106 are illustrated in FIG. 4. When a terminal 104 or a mobile device 110 is accessed by a user, RPM agent 105 may be configured to automatically create a new administrator-level password. Upon encryption of the newly created administrator-level password, as previously described in connection with process flow 200, a breakglass string is stored and displayed, as illustrated in application window 402 provided on a user screen 401.
When unrestricted access to terminal 104 or mobile device 110 is required, the breakglass string displayed in window 402 provided on user screen 401 is retrieved by an authorized user with access to console 404 provided on a user screen 403 of controller terminal 106. In an alternate embodiment, the breakglass string may be retrieved from RPM database server 112 maintaining an inventory of breakglass strings. Once the breakglass string is retrieved, RPRS application 107 may then be used to decrypt the breakglass string, as previously described in connection with process flow 300, and reveal the unique administrator-level password 406, as displayed on console 404. Having obtained the unique administrator-level password, unrestricted access to client terminal 104 or mobile device 110 can now be gained. As previously described, RPM agent 105 may then automatically generate a new administrator-level password for client terminal 104 or mobile device 110.
Thus, a system and method for actively managing and generating unique administrator-level passwords is provided. One skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented herein for purposes of illustration and not of limitation, and the present invention is limited only be the claims that follow.

## Claims

1. A computer-implemented method for securing access to a networked user computer, said method comprising:
generating a random string of characters representative of a first administrator-level password, wherein said first administrator-level password is unique to said networked user computer;
encrypting said first administrator-level password using a symmetric key, wherein said encrypted first administrator-level password generates a first breakglass string;
storing said first breakglass string in association with said networked user computer for which said encrypted first administrator-level password was created; and
upon decryption of said first breakglass string, generating a second administrator-level password for encryption into a second breakglass string of characters.

2. The computer-implemented method of claim 1, wherein said networked user computer is a hardware workstation terminal or mobile device.

3. The computer-implemented method of claim 1, wherein encrypting said first administrator-level password using said symmetric key further comprises:
identifying said networked user computer for which said first administrator-level password was created;
generating a public key and a private key associated with said networked user computer;
retrieving a server public key associated with said networked user computer; and
generating said symmetric key using said private key and said retrieved server public key.

4. A computer-implemented method for obtaining access to a secured network user computer, said method comprising:
retrieving an encrypted first administrator-level password, wherein said encrypted administrator-level password is represented by a first breakglass string unique to said secured network user computer;
decrypting said first breakglass string using a symmetric key; and
revealing said first administrator-level password for obtaining unrestricted access to said secured network user computer, wherein upon decryption of said first administrator-level password, a second administrator-level password for encryption into a second breakglass string is generated.

5. The computer-implemented method of claim 4, wherein retrieving said encrypted administrator-level password further comprises the steps of:
accessing a secure network database, said secure network database configured to store an encrypted administrator-level password for a plurality of secured network user computers; and
querying said secure network database for said encrypted first administrator-level password corresponding to said unique system identifier for said secured network user computer to which unrestricted access is desired.

6. The computer-implemented method of claim 4, wherein decrypting said first breakglass string using said symmetric key further comprises the steps of:
retrieving a unique system identifier for said secured network user computer;
deriving a public key, wherein said public key is derived from said first breakglass string;
retrieving a server private key associated with said networked user computer; and
generating said symmetric key using said derived public key and said retrieved server private key.

7. The computer-implemented method of claim 4, wherein upon use of said first administrator-level password for obtaining unrestricted access to said secured network user computer, said first administrator-level password is rendered obsolete for future use.

8. The computer-implemented method of claim 4, wherein activities corresponding to said encrypted first administrator-level password are logged to maintain an audit trail.

9. A computer-implemented method for securing access to a networked workstation, said method comprising the steps of:
providing at least one client terminal employing a random password management agent, said random password management agent being configured to generate a random string of characters representative of a first administrator-level password, and further being configured to encrypt said first administrator-level password using a shared symmetric key to generate a first breakglass string of characters;
providing at least one database server configured to store said first breakglass string of characters in association with a client terminal for which the first administrator-level password was encrypted; and
providing at least one controller terminal employing a random password recovery system application, said random password recovery system application retrieving said first breakglass string of characters and deriving said symmetric key to decrypt said first breakglass string of characters and reveal said first administrator-level password;
wherein upon decryption of said first administrator-level password, said random password management agent employed by said client terminal is configured to generate a second administrator-level password for encryption into a second breakglass string of characters and render said first administrator-level password obsolete.