Abstract:
A system for providing a user with authorization to perform one or more functions using or otherwise involving a computational component is provided. The system includes an authentication file system  100  operable to (a) receive a request from a user for a second set of authentication information permitting a second set of operations to be performed on a computational component, wherein the computational component is operable to be installed by the user on the computational system, wherein the computational component contains a first set of authentication information permitting a first set of operations to be performed on the computational component; and wherein the first and second sets of operations are different; (b) generate an authentication file containing the second set of authentication information; and (c) transmit the authentication file to the computational system.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS  
       [0001]    This application claims the benefits under 35 U.S.C. § 119 of U.S. Provisional Patent Application Serial No. 60/436,874, of the same title, filed Dec. 26, 2002, to Walker et al., which is incorporated herein by this reference. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention is directed specifically to authentication systems and specifically to authentication systems for telecommunication systems.  
         BACKGROUND OF THE INVENTION  
         [0003]    When software is installed in a system (particularly a telecommunication system), it is often necessary to establish service logins within the system for maintenance personnel. These service logins must be very secure to prevent the existence of the login not only from presenting a security risk for the customer but also from being compromised by the customer who can then change the software and right-to-use restrictions for the software. As used herein, a “login” refers to a sequence of symbols or a combination of symbol sequences, such as a user ID or login name and a password and/or a key, that must be correctly inputted into a computational component for a user to be authorized to perform one or more functions using or otherwise involving the computational component. As will be appreciated, a “password” is a unique character or sequence of characters known to a computational component and to a user who must specify the character or character sequence to be authorized to perform one or more functions using or otherwise involving the computational component and a “key” is a sequence of symbols used with a cryptographic algorithm for encrypting or decrypting data. Examples of keys include key-encrypting keys, key-exchange keys, master keys, private keys, and public keys.  
           [0004]    In designing a method for initializing the service logins on the system, it is desirable to meet a number of criteria. First for maximum security, each service login should have a unique access key. Second the service login access keys should be established in the system software not only when it is shipped with the system but also at the time of system installation. Default passwords, once compromised, provide little, if any, meaningful security. The software that is shipped with the system should be capable of being distributed electronically and of being copied so that a single copy can be used to install multiple systems. Third, the service logins should be capable of being initialized by a non-trusted person who does not have login privileges without compromising the login access keys. For example, many telecommunication systems are installed by technicians and business partners that are not allowed to have knowledge of the access keys. Fourth, once the logins are initialized the access key information must be known to the manufacturer or system maintenance provider. This is needed to permit service personnel to login using the access keys in the future for system maintenance. Fifth, the service logins should be able to be initialized without requiring a network or data connection from the manufacturer&#39;s or system maintenance provider&#39;s system directly to the customer&#39;s system as such direct communication is not always possible. Sixth, any system to initialize services logins should be available globally as most manufacturer&#39;s sell systems internationally. Seventh, a mechanism should be provided to ensure that the service logins are initialized on the customer&#39;s system before installation can be completed. Systems cannot be serviced without the service logins being initialized. Eighth, the access keys should be able to be updated or changed after initialization in the event that an access key is compromised. Finally, a mechanism should be provided to ensure that the login access keys for a given system can only be installed on the intended system. If the access key is installed on the wrong system, it would not be possible to access that system since its access keys would be different than those listed in the manufacturer&#39;s/maintenance provider&#39;s database.  
         SUMMARY OF THE INVENTION  
         [0005]    These and other needs are addressed by the various embodiments and configurations of the present invention. The present invention is directed to an architecture and process for providing authentication information (typically in encrypted form) remotely to a computational system. As used herein, “authentication” refers to verification of the identity of a user or the user&#39;s eligibility to access an object, and “authentication information” refers to information, such as passwords, names, and keys, used by a computational component or system to perform verification of the user&#39;s identity or eligibility to access the object.  
           [0006]    In one embodiment of the present invention, a process for providing a user with authorization to perform one or more functions, using or otherwise involving the computational component, is provided. The process includes the steps of:  
           [0007]    (a) Providing a computational component (e.g., contact switching, routing or handling hardware and/software) for installation by a user (e.g., a trusted or non-trusted party) on a computational system (e.g., a telecommunication switch or server). The computational component has a first set of authentication information (e.g., a login name and/or default password) permitting a first set of operations to be performed on the computational component.  
           [0008]    (b) Receiving a request from the user for a second set of authentication information (e.g., a login name and a password and/or key) permitting a second set of operations to be performed on the computational component. The first and second sets of operations are different.  
           [0009]    (c) Generating an authentication file containing the second set of authentication information.  
           [0010]    (d) Transmitting the authentication file to the computational system.  
           [0011]    In one configuration, the first set of authentication information includes a default password, and the first set of operations includes the operation of requesting delivery of the authentication file. The default password provides limited or no ability of the user to access or alter information or objects stored or otherwise contained in the computational component.  
           [0012]    In one configuration, the computational system is associated with a unique identifier, and the authentication file includes the unique identifier. The unique identifier, for example, can be a serial number or other type of identifier of the computational component being installed or already in the computational system, such as a processor. In this manner, the authentication file is linked one-to-one with the computational system and cannot be used on a different computational system.  
           [0013]    In yet another embodiment, a process for installing a computational component on the computational system is provided. The process includes the steps of:  
           [0014]    (a) Providing a computational component for installation by a user on a computational system, the computational component having a first set of authentication information permitting a first set of operations to be performed on the computational component;  
           [0015]    (b) Receiving the first set of authentication information from the user before, during, or after installation of the computational component on the computational system.  
           [0016]    (c) Verifying the first set of authentication information.  
           [0017]    (d) When the first set of authentication information is successfully verified, receiving a request from the user for a second set of authentication information permitting a second set of operations to be performed on the computational component.  
           [0018]    (e) Receiving an authentication file containing the second set of authentication information.  
           [0019]    (f) Loading the authentication file onto the computational system.  
           [0020]    In one configuration, the loading step includes the step of validating and decrypting the authentication file. The validating step typically includes at least one of the following operations (a) determining whether or not a serial number contained in the authentication file matches a serial number associated with the computational system, (b) determining whether or not a right to use the computational component has expired, (c) determining whether or not a version contained in the authentication file matches a version of the computational component, (d) verifying data integrity of the authentication file, and (e) determining whether or not the authentication file length and format are correct.  
           [0021]    In yet another embodiment, an authentication file for use in controlling access to a computational system is provided. The data structures in the file include:  
           [0022]    (a) a set of login names;  
           [0023]    (b) for each login name in the set of login names, a password and/or key; and  
           [0024]    (c) a unique identifier associated with the computational system.  
           [0025]    The file can also include one or more of the following: a platform type associated with the computational system, a software release associated with software operating on the computational system, and a right-to-use expiration date associated with the software.  
           [0026]    In an exemplary configuration, the steps are performed in response to a technician logging onto a central website to request an authentication file for the computational component. The website is used for license creation and delivery for computational components and already has a database record for the computational system that was generated to obtain a right-to-use license. The technician identifies the appropriate database record for the system and requests delivery of the authentication file. Password(s), key(s), and/or other authentication information is then collected and assembled into the authentication file. The file is encrypted and delivered to the technician via e-mail and download to the technician&#39;s computer. The key generation and creation of authentication files is done automatically without presenting any key information to the technician. Because the file is encrypted when delivered and the security rules governing the default password severely limit the use privileges of the user, the (access) keys within the file are not compromised when the file is delivered to the technician. The technician can therefore be a trusted or non-trusted party. As used herein, a “non-trusted party” refers to a party who is not provided with access to and/or the ability to alter a defined set of information or objects. A “trusted party”, on the other hand, is a party who is provided with access to and/or the ability to alter the defined set of information or objects. Examples of a non-trusted party are a purchaser of the computational component and maintenance personnel who are not employees of the manufacturer of the computational component. The computational component can thus be installed and login initialization performed by any person without regard to his or her trustworthiness. Because the login access keys are contained in a data file, the keys can be transferred to the system software without direct communication between the manufacturer and the system software. The data file can be transported to the system via magnetic media, optical media, e-mail, or other means not requiring a real-time connection.  
           [0027]    The invention can provide a number of advantages compared to conventional systems. For example, each service login can have a unique access key, thereby providing maximum security. Second, the service login access keys can be established in the system software not only when the software is shipped with the system but also at the time of system installation. The default password, even if compromised, has extremely limited use privileges, thereby maintaining meaningful levels of security. The software that is shipped with the system is capable of being distributed electronically and of being copied so that a single copy can be used to install multiple systems. Third, the service logins can be initialized by a non-trusted person who does not have login privileges without compromising the login access keys. For example, telecommunication systems can be readily installed by technicians and business partners, without providing them with access keys. Fourth, once the logins are initialized the access key information can be readily available to the manufacturer or system maintenance provider. This permits service personnel to login using the access keys in the future for system maintenance. Fifth, the service logins can be initialized without requiring a network or data connection from the manufacturer&#39;s or system maintenance provider&#39;s system directly to the customer&#39;s system. Sixth, the system to initialize service logins can be available globally to accommodate international sales. Seventh, the service logins can be initialized on the customer&#39;s system before installation can be completed. Systems can thereby be immediately serviced. Eighth, the access keys can be updated or changed after initialization in the event that an access key is compromised. Ninth, due to the use of a unique identifier in the authentication file, login access keys for a given system can only be installed on the intended system.  
           [0028]    These and other advantages will be apparent from the disclosure of the invention(s) contained herein.  
           [0029]    The above-described embodiments and configurations are neither complete nor exhaustive. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0030]    [0030]FIG. 1 is a block diagram of an authentication file system according to a first embodiment of the present invention;  
         [0031]    [0031]FIG. 2 is a flowchart showing an operation of the remote feature activator according to an implementation of the first embodiment;  
         [0032]    [0032]FIG. 3 is a flowchart showing an operation of the authentication file generator according to an implementation of the first embodiment;  
         [0033]    [0033]FIG. 4 is a flowchart showing an operation of the password retrieval agent according to an implementation of the first embodiment;  
         [0034]    [0034]FIG. 5 is a flowchart showing an operation of the key manager according to an implementation of the first embodiment;  
         [0035]    [0035]FIG. 6 is a flowchart showing an operation of the key manager according to an implementation of the first embodiment;  
         [0036]    [0036]FIG. 7 is a flowchart showing another implementation of the remote feature activator according to the first embodiment;  
         [0037]    [0037]FIGS. 8A and 8B are flowcharts showing another implementation of the authentication file generator according to the first embodiment;  
         [0038]    [0038]FIG. 9 is a flowchart showing another implementation of the password creator according to the first embodiment;  
         [0039]    [0039]FIG. 10 is a flowchart showing another implementation of the encryptor according to the first embodiment;  
         [0040]    [0040]FIG. 11 depicts the data structures in the platform login table;  
         [0041]    [0041]FIG. 12 depicts the data structures in the authentication file; and  
         [0042]    [0042]FIG. 13 is a flowchart of an implementation of the local access controller.  
     
    
     DETAILED DESCRIPTION  
     Overview of the Authentication File System  
       [0043]    Referring to FIG. 1, the authentication file system  100  comprises a remote feature activation or RFA system  104  to create, encrypt and deliver authentication files, a password change system scheduler  108  that periodically requests the RFA system  104  to provide authentication files containing new passwords according to predetermined authentication information aging policies, password storage  112  for storing and retrieving passwords and related information (e.g., a unique platform identifier or PID, a unique system identifier or SID, a unique module identifier or MID, a functional location, and platform type associated with each stored password), a password retrieval agent  116  for adding, updating, modifying, and validating of entries in the password storage  112  based on predetermined rules or policies and retrieving stored passwords, a first business application programming interface or BAPI  120  to process messages between the RFA system  104  and password retrieval agent  116 , key storage  124  for storing keys and associated key information (e.g., PID, SID, MID, and platform type associated with each stored access key), a key manager  128  for creating keys, for adding, updating, modifying, and validating of entries in the key storage  124  based on predetermined rules or policies, and for retrieving stored keys, and a second BAPI  132  to process messages between the RFA system  104  and key manager  128 .  
         [0044]    The RFA system  104  comprises a remote feature activator  136  to supervise the operation of the remote feature activation system  104  and completion of the transaction records to update an authentication file history log  140  (discussed below), an authentication file generator  144  to generate authentication files, a password creator (discussed below)  148  to create a random password in response to a password creation request from the authentication file generator  144 , a platform login table  152  containing a listing of the logins for each platform type based on the software release, an authentication file history log  140  containing a record of all authentication file activity (e.g., the SID associated with a switch/server, MID associated with the switch server, PID associated with the switch/server, software release, request or transaction number, request or transaction type, source of the request, date and time of transaction, success/failure of the request, and any error messages), and the authentication file encryptor  156  that converts the generic/plain text authentication file into an encrypted authentication file that is ready for delivery to the target system.  
         [0045]    The data structures in the platform login table  152  are shown in FIG. 11. As can be seen from FIG. 11, for each platform type  1100  and release  1104  (typically of the software loaded onto the switch/server), a serial swap-out indicator  1108  (that indicates whether or not a new authentication file is required when the license file serial number is changed in the remote feature activation system record), the location  1112  in password storage  112  of the corresponding record (containing password(s)), a listing  1116  of logins or login names (an identifier associated with the user), whether a password is required (yes/no)  1120 , any default passwords  1124  used before installation of an authentication file, the password length  1128  (for new password creation and existing password verification), availability of key protection (yes/no)  1132 , and the key setting (on/off)  1136 . The platform login table  152  is used by the authentication file generator  144  to determine what logins to put in the authentication file. The table also defines which logins require keys and which logins require passwords. The logins required for a switch/server are based on the platform (or switch/server) type or model and the software release.  
         [0046]    Referring to FIG. 12, the authentication file  1200  typically includes the platform type  1204 , serial number 1208 associated with the switch/server (typically the serial number of an associated processor in the switch/server), software release  1212 , right-to-use expiration date  1216  (for the loaded software), platform ID  1220 , a listing  1224  of login names and associated passwords, and a listing  1228  of login names and associated keys. The file typically contains password definitions for the logins requiring passwords and key definitions for the logins requiring keys.  
         [0047]    A telecommunication switch/server  160 , such as the DEFINITY™, 58700™, 58300™, and 58100™ switches/servers sold by Avaya, Inc., is in communication with the authentication file system  100  via PSTN  164 . The switch/server  160  comprises memory  168  and a processor  172 . The switch/server comprises an authentication file  176  delivered by the system  100  and a local access controller  180  for generating authentication file delivery requests and installing received encrypted authentication files on the switch/server. A terminal  184 , such as a PC, is connected to the switch/server to permit users to interface with the switch/server. The terminal preferably includes a graphical user interface for the user.  
         [0048]    The authentication file system  100  delivers authentication files to target or requesting switches/servers, that typically run on an open operating system. These authentication files contain the non-default passwords and keys for services logins to these switches/servers. Authentication file delivery generates the encrypted authentication file for delivery to the system over a geographically distributed processing network. The authentication file generator  144  interfaces with the password retrieval agent  116  for password storage and retrieval and with the key manager  128  for key generation, storage, and retrieval. The password change system scheduler  108  interfaces with the remote feature activator  136  to request authentication files periodically with new passwords and existing keys. This is done by submitting a password change request to the authentication file system  100 . The activator  136  issues an authentication file request for each switch/server identified in the password change request.  
         [0049]    Secure and unsecure users with basic (low level) logins can request authentication file delivery remotely from the authentication file system  100 . The file can be delivered by any medium, such as via a switch contact (via direct dial-in to the switch/server), email or Web download. The authentication files can include new or existing passwords or keys. When system records are created for switches/servers requiring authentication files and when upgrade modules are added to a switch/server requiring password files and reflected in existing system records for the switch/server, the remote feature activator  136  sends a record creation request to the password retrieval agent  116  and key manager  128  as discussed below with reference to FIGS.  2 - 6 . The records in password storage  112  and key storage  124  are needed to store the passwords and keys for the switch/server. When there is an existing record for a switch/server, the remote feature activator  136  sends an authentication file request where an authentication file comprising a new or existing password or new or existing key is required. This process is discussed below with reference to FIGS.  7 - 10  and  13 . A license file or authentication file cannot be delivered for a switch/server unless a record creation request has been successfully completed for that switch/server.  
         [0050]    When a computational component, such as hardware or software, is installed on the switch/server administrative personnel must have the ability to log onto the system as an authentication file has not yet been delivered. Typically, the hardware or software is installed with a default password. The default password permits the user to issue a request for an authentication file to be installed on the switch/server. The default password has extremely limited use privileges, which are typically limited to the right to request installation of an authentication file and certain software/hardware installation commands. In one configuration, the user cannot logon to the software being installed using the default password or otherwise access or alter the information or objects in the software. In the event that the authentication file, after installation, is erased or otherwise unusable, the default password is retained in memory to permit the user to re-install the authentication file.  
       Record Creation  
       [0051]    Referring to FIG. 2, the process to create a record will now be discussed. The remote feature activator  136  in step  200  initially receives a record creation request. The request can be sent by maintenance personnel at the time of sale or installation of the switch/server or at the time of sale or installation of upgrades to the switch/server. In step  204 , the record creation request is forwarded to the authentication file generator  144 . The record creation request includes the system ID or SID, module ID or MID, request number, request type (module add or application add), platform type, software release, applications (for “module add” this is a listing of the applications for a given module and for “application add” this is a listing of all the applications that were added to the module), software version for each application in the record creation request, platform ID or PID, serial number associated with the switch/server, and the like).  
         [0052]    Referring now to FIG. 3, the record creation request in step  300  is received by the authentication file generator  144 . The authentication file generator  144  in step  304  forwards the record creation request to the key manager  128  and password retrieval agent  116 . The record creation request to the password retrieval agent and key manager includes the SID, MID, and PID.  
         [0053]    Referring to FIG. 4, the password retrieval agent  116  in step  400  receives the record creation request from the generator  144  and in step  404  processes the request. The agent  116  sets up a record for the switch/server, by either creating a new record or modifying an existing record and assign a platform PID if needed, to the switch/server. In step  408 , the agent  116  returns a record creation response authentication file generator  144 . The response includes the SID, MID, PID, an indicator regarding whether or not the record was successfully created, and any error messages.  
         [0054]    Referring now to FIG. 5, the key manager  128  in step  500  receives the record creation request from the generator  144 . In decision diamond  504 , the manager  128  determines whether or not the platform PID included within the request is already in an existing record in key storage  124 . If the PID in the request is not already in a record, the manager  128 , in step  508 , creates new keys for each login and a new record. Key storage  124  stores up to multiple versions of the confirmed keys for each switch/server and the last delivered keys if they have not yet been confirmed. This storage allows login to the switch/server when the last delivered authentication file was not successfully installed. If the PID in the request is already in a record, the record creation request fails.  
         [0055]    In step  512 , the manager  128  generates and sends a record creation response (containing the platform PID) to the authentication file generator  144 . The response includes an indicator of the success or failure of the request.  
         [0056]    Referring again to FIG. 3, the authentication file generator  144 , when record creation responses from both the password retrieval agent  116  and key manager  128  are received, determines in step  308  whether the response is a pass or fail.  
         [0057]    When the response from the key manager indicates a failure due to there being an existing record in key storage, the generator  144 , in step  312 , generates and sends a record update request to the key manager  128 . The update request includes the SID, MID, and PID associated with the switch/server. Referring to FIG. 6, the manager  128  in step  600  receives the record update request and in step  604  updates the existing record in key storage  124  containing the platform PID. In step  608 , the manager  128  generates and sends a record update response to the authentication file generator  144 . The response contains the SID, MID, an indicator of the success or failure of the record update request, and any error messages. As will be appreciated, failure is deemed to exist when a record having the platform PID in the update request cannot be located in key storage  124 . In step  316  of FIG. 3, the generator  144  receives the response.  
         [0058]    After step  316  or when the record creation response from the password retrieval agent  116  includes a failure indicator or when the record creation response from the agent  116  or manager  128  includes a success indicator, the generator  144  performs step  320 . In step  320 , the generator  320  generates and sends an overall record creation response to the remote feature activator  136 . The response includes the SID, MID, PID, request number, the success or failure of the record creation operation in password storage  112  and key storage  124 , and any error messages.  
         [0059]    Returning again to FIG. 2, the remote feature activator  136  in step  208  receives the overall record creation response, logs the response into the authentication file history log  140  and generates and sends a response to the requester. If the response includes an error message indicating that a record creation request failed or if the activator  136  gets no response from the generator  144  to a record creation request, the response to the requestor shall be an error message, and no requests for a license file or authentication file delivery shall be allowed. Such requests will only be allowed if a record creation request is successfully acted upon.  
       Authentication File Delivery  
       [0060]    Referring to FIG. 7, authentication file delivery will now be discussed.  
         [0061]    In step  700 , an authentication file delivery request is received by the remote feature activator  136  from the user of the terminal  184  or a user connected directly to the authentication file system  100 .  
         [0062]    In step  704 , an authentication file request is generated by the remote feature activator  136  and in step  708  sent to the authentication file generator  144 . The authentication file request is either for new or existing passwords and/or new or existing keys. The authentication file request typically includes the SID associated with the switch/server, the MID associated with the switch/server, a request number, a platform type, an application description, a software version, the PID associated with the switch/server, a serial number associated with the switch/server, an expiration date of a right-to-use, a password type (new or existing), and a key type (new or existing).  
         [0063]    Referring to FIG. 8A, the authentication file generator  144  receives in step  800  the authentication file request from the activator  136 . The generator  144  determines whether there is a pending authentication file request for the specified switch/server (SID or PID) (i.e., an authentication file has been delivered to the activator  136  but the activator  136  has not yet responded with a delete information request). If there is a pending request for the switch/server, the passwords and keys delivered in the authentication file shall be the same passwords as delivered in the pending request. If there is not a pending request for the switch/server, the generator  144 , in step  804 , determines the type of authentication file request received from the activator  136 .  
         [0064]    When the request is for new passwords, the generator  144  proceeds to step  808  and generates and sends a password creation request to the password creator  148  (one request per login). Referring to FIG. 9, the creator  148  receives the password creation request in step  900  and creates the requested random password(s) according to predefined rules in step  904  (one password/login). The password length of the new passwords is specified in the platform login table. In step  908 , the creator  148  generates and sends the newly created password(s) back to the generator  144  in a password creation response.  
         [0065]    Returning to FIG. 8A, the generator  144  in step  812  receives the password creation response. The generator  144  does not allow the passwords for different logins to be the same. If this occurs, the generator  144  requests another new password. The generator  144  then proceeds to step  816  (discussed below).  
         [0066]    When the request is for existing password(s), the generator  144  proceeds to step  820  and generates and sends a password retrieval request to the password retrieval agent  116 . The password retrieval request includes the SID, MID, and login names for which passwords are needed. The password retrieval agent  116  retrieves the password(s) and sends a password retrieval response (including the SID, MID, a success/failure indicator and, if located, the password(s) for each login name) back to the generator  144 . The password retrieval response is received by the generator  144  in step  824 .  
         [0067]    In decision diamond  828 , the generator  144  determines whether there is an existing valid password(s) for a login that requires a password (e.g., there is a password, the password is of the length specified in the platform login table, the password is the default as specified in the platform login table  152 ). If there is no existing valid password, the generator proceeds  144  to step  808  discussed above. If there is an existing valid passwork, the generator proceeds to step  816 .  
         [0068]    In step  816 , the generator  144  determines whether the authentication file request is for new or existing keys. When the request is for new keys, the generator proceeds to decision diamond  832  and, when the request is for existing keys, proceeds to decision diamond  836 .  
         [0069]    In decision diamond  832 , the generator  144  determines whether there are any unconfirmed keys. As used herein, an “unconfirmed key” refers to a key that has been generated but has not been successfully delivered while a “confirmed key” refers to a key that has been generated and successfully delivered. This is done by sending a key confirmation status request (containing the SID and MID) to the key manager  128 . In response, the key manager returns a message including the SID, MID, and an indicator if there any unconfirmed keys for the switch/server are present. When there are unconfirmed keys and an authentication file with existing keys is to be generated, the generator returns an error message to the remote feature activator  136  in step  840  indicating that existing keys were previously provided. The generator then proceeds to step  850  (discussed below). When there are no unconfirmed keys and an authentication file with existing keys is to be generated, the generator in step  844  issues a new key request to the key manager  128  for each login specified in the platform login table. The new key request includes the SID, MID, and login for which the key is needed. In step  848 , the requested new keys are received by the generator  144 .  
         [0070]    In decision diamond  836 , the generator  144  determines whether there are any unconfirmed keys. This is done by sending a key confirmation request to the key manager. When there are unconfirmed keys, the generator  144  in step  850  queries the key manager for the unconfirmed key. When there are no unconfirmed keys, the generator  144  in step  852  queries the key manager  128  for the confirmed keys. The key request includes the SID, MID, key type (current key or unconfirmed key), and the login for which the key is needed. The unconfirmed or unconfirmed keys, as the case may be, are received by the generator  144  in step  848  and later used in the authentication file.  
         [0071]    Referring to FIG. 8B, the generator  144  assembles the authentication file in plain text form in step  854  and provides the plain text file to the encryptor  156  in step  856 . Referring now to FIG. 9, the encryptor  156  receives the encryption request, containing the plain text file, in step  1000 , encrypts the file in step  1004 , and returns an encryption response containing the encrypted authentication file to the generator  144  in step  1008 .  
         [0072]    In step  858 , the generator  144  receives the encryption response from the encryptor  156  and, in step  860 , generates and sends an authentication file response to the remote feature activator  136 . The response includes the SID, MID, request number, the success or failure of the authentication file request, encrypted authentication file information (e.g., file name and location), new or existing password(s), new or existing keys, and any error messages.  
         [0073]    Referring again to FIG. 7, the remote feature activator  136  receives the authentication file response from the generator in step  712 . In step  716 , the encrypted authentication file is delivered via PSTN  164  to the switch/server and/or via network  186  to the terminal  184  for installation on the switch/server. In step  720 , the activity is logged into the authentication file history log  140  (e.g., including request type, source of the request, date and time, success/failure of the request, and any error messages). In step  724 , a delivery status message is generated and sent to the generator  144  including the SID, MID, request number, and the success or failure of the delivery to the switch/server or terminal. A successful delivery is not necessarily the same event as a successful installation on the switch/server. An authentication file can be successfully delivered but never installed on the switch/server.  
         [0074]    Referring again to FIG. 8B, the generator  144  in step  862  receives the delivery status message. In decision diamond  864 , the generator  144  determines if the delivery status message indicates a delivery success or failure. If the delivery was successful, the generator  144  in step  866  generates and sends a key confirmation message to the key manager  128 . The key confirmation message contains the delivered newly created keys and the PID of the switch/server. Only newly created (or otherwise unconfirmed) keys require confirmation to the key manager. The key manager confirms the keys for the switch/server and sends a key confirmation response back to the generator  144  indicating that the keys were successfully confirmed. The key confirmation response is received by the generator  144  in step  868 .  
         [0075]    In decision diamond  870 , the generator  144  next determines whether new password(s) were provided to the switch/server. When new password(s) were provided to the switch/server, the generator  144  in step  874  generates and sends a password store request to the password retrieval agent  116 . The password store request includes the SID, MID, PID, and the new password(s). The agent  116  updates the record corresponding to the switch/server in password store  112 , and generates and sends a password store response to the generator  144 . The response includes the SID, MID, an indicator of the successful completion of or failure to complete the password store request, and any error messages. The response is received by the generator  144  in step  876 . When no new password(s) were provided to the switch/server (decision diamond  870 ), when the delivery status message indicates a failure (decision diamond  864 ), or after completion of step  876 , the generator  144  generates and sends a delivery status response message to the remote feature activator  136 . The message includes the SID, MID, request number, the success/failure of the key confirmation, the message ID of the password storage request, and any error messages. Once any new passwords have been successfully stored in password storage  112 , the activator  136  sends a delete information request (which includes the SID, MID, and request number) to the generator  144 , indicating that the temporary record created by the generator  144  with the encrypted authentication file can be deleted. In response to the delete information request from the activator  136 , the generator  144  deletes the record associated with the authentication file delivery (e.g., the record containing the plain text authentication file) and returns a response message to the activator  136  indicating the success/failure of the record deletion. The response message includes the SID, MID, request number, and the success/failure of the record deletion.  
       Installation of the Delivered Authentication File  
       [0076]    [0076]FIG. 12 depicts the operation of the local access controller  180  when a decrypted authentication file is received by the telecommunication switch/server  160 . In step  1300 , the load authentication file command is invoked, such as by a user of terminal  184 . In step  1304 , the controller  180  decrypts the new authentication file (after receipt of the file from the authentication file system  100 ).  
         [0077]    In decision diamond  1308 , the local access controller  180  performs a series of checks to determine if the authentication file is valid. The local access controller  180  confirms that the serial number 1208 contained in the authentication file  1200  (FIG. 12) matches the serial number of the active processor in the switch/server  160 , that the right-to-use has not expired, that the version or release contained in the authentication file matches the software version ore release loaded onto the switch/server  160 , data integrity using a checksum or other suitable approach, and that the authentication file length and format are correct.  
         [0078]    If one or more of the preceding queries is not confirmed, the local access controller proceeds to step  1312  and displays a suitable error message to the user and terminates operation.  
         [0079]    If each of the queries is confirmed, the new authentication file is stored in translation in step  1316 . The new authentication file overwrites the authentication file already in memory.  
         [0080]    Once the file is installed, the logins are initialized and the access keys within the file are used by the controller  180  to authenticate users attempting to login using a service login. To ensure that the file is installed and service logins are activated, the controller  180  will not provide full functionality until a valid authentication file is installed. The authentication file delivery and loading steps in the installation process cannot be skipped or forgotten because additional installation steps cannot be completed unless the authentication file is in place.  
         [0081]    If it is necessary or desired to change the access keys after initial installation of the telecommunication switch/server, a new authentication file with new access keys can be requested from the authentication file system  100  website, delivered to the technician, and installed on the switch/server  160 . A date/time stamp is used in each authentication file to ensure that, when a new authentication file is installed in place of an existing authentication file on a switch/server, the new file is in fact newer than the existing file. This prevents accidental installation of an older file, which would result in the access keys of record in the key storage  124  differing from the access keys on the switch/server.  
         [0082]    When it is necessary to log into the authentication file system using a service login, the key manager accesses key storage to locate and retrieve the unique key for the switch/server from which the login request is received. The key is used to successfully provide the correct response to the access challenge generated by the authentication file system  100  based on the same access key in the authentication file installed on the switch/server  160 .  
         [0083]    A number of variations and modifications of the invention can be used. It would be possible to provide for some features of the invention without providing others.  
         [0084]    For example in one alternative embodiment, the various modules referenced herein are implemented as software, hardware (e.g., a logic circuit), or a combination thereof.  
         [0085]    In another alternative embodiment, the division of the various functions performed by the various modules in the authentication file system are different.  
         [0086]    In another alternative embodiment, the authentication file can include fields for any number of unique identifiers for the same or differing types of hardware components. For example, for validation of the authentication file to be successful the local access controller could require that there be matches for serial numbers not only of a control processor but also of an application specific integrated circuit or another type of hardware component.  
         [0087]    The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g. for improving performance, achieving ease and\or reducing cost of implementation.  
         [0088]    The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention.  
         [0089]    Moreover though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g. as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.