Abstract:
Controlling access to a computerized device includes deriving a hash from two pieces of information, signing the hash to create a signed password and storing the password in the device. In response to an initial access attempt, the user is prompted to enter two input values. A local hash is then derived from the two input values and compared to a hash derived from the stored password. Upon detecting a match between the hashes, the user is granted access to the device, where the match indicates equivalence between the two pieces of information and the two input values. The input values may include information specific or personal to the user and information unique to the device. A public/private key pair may be used to sign and optionally encrypt and decrypt the stored password.

Description:
BACKGROUND  
       [0001]     1. Field of the Present Invention  
         [0002]     The present invention is in the field of data processing systems and other computer devices and, more particularly, controlling access to computerized devices.  
         [0003]     2. History of Related Art  
         [0004]     Passwords and other access control mechanisms are well known in the field of computerized devices. Typically, passwords are created by or in conjunction with the user after the user has gained access to a computerized device. Before the password is set by the user, access to the computerized device is generally unrestricted. Alternatively, a computerized device may be shipped or delivered with a preset password. The provider of the computerized device, whether the provider is the end user&#39;s vendor, employer, or other entity, provides the pre-set password to the end user in an external communication (such as by email, regular mail, fax, voice mail, etc.).  
         [0005]     The current methods and techniques for controlling initial access to a computerized device have significant drawbacks. Foremost, many computerized devices are delivered to their end users without any access control mechanism at all. If such a system is delivered to or otherwise ends up in the hands of an unintended user, there is no access control mechanism to prevent the unintended user from using the device. In cases where a preset password is delivered to the desired end user by means of mail or another technique, the password communication may be intercepted or otherwise compromised and used to access a device. Because the password communication contains all of the information needed to access the device (i.e., it contains the entire password), it is susceptible to compromise. It would be desirable implement an improved mechanism and method to control initial access to a computerized device.  
       SUMMARY OF THE INVENTION  
       [0006]     The identified objective is achieved according to the present invention, in which a provider of a computerized device delivers the device to an end user. The invention leverages three distinct password components that when joined together provide a unique method for accessing the computerized device. The device includes storage that contains a password. The password is generated by the provider based on a first piece of information that is unique to or known by the end user and a second piece of information that is unique to the device itself. In one embodiment, the user-specific information and the device specific information provide inputs to a hashing algorithm that produces a hashed value based on the first and second pieces of information. The hashed value is signed, and optionally encrypted using a private key known by the provider to create the password that is stored on the device. The user specific information is preferably a piece of information known to the user, but generally unknown to others. The device specific information is preferably a machine/type/model (MTM) number, serial number, or other information that is unique to the specific machine. The provider supplies a public key to the intended end user via an external communication, and this key is used to verify the signature and optionally decrypt the hashed value.  
         [0007]     When the end user is in possession of the computer device, the initial boot of the device will cause an initial access user interface to appear. The user is requested to enter the user specific information, the machine specific information, and the public key information provided by the provider. When the user inputs these values, the computerized device hashes the user specific and machine specific values to create a local hash value. The device locates and optionally decrypts stored hash using the provider-provided public key. The stored hash is then compared to the locally generated hash value. In addition, the stored hash&#39;s signature is checked using the provided public key. If a match is detected, the user is given access to the computerized device and normal booting continues. If a mismatch occurs, the user may be given a second or third opportunity to enter the information, but access to the device is otherwise denied until a match is produced. By incorporating information that is unique to the computerized device, unique to the intended user, and information that is controlled by the provider, the present invention provides assurances against both delivery of the wrong system and delivery to the wrong person. In addition, the provider controlled information enables the provider to control access to the device temporally such that, for example, access to the device is not authorized until a specified event occurs. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]     Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:  
         [0009]      FIG. 1  is a block diagram of selected elements of a system and method by which a provider delivers computerized devices to end users according to an embodiment of the present invention;  
         [0010]      FIG. 2  is a block diagram illustrating details of the method and system of  FIG. 1  according to one embodiment of the invention; and  
         [0011]      FIG. 3  is a block diagram illustrating details of the method and system of  FIG. 1  according to a second embodiment of the invention. 
     
    
       [0012]     While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular embodiment disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0013]     Generally speaking, the present invention is concerned with controlling the initial access to a computerized device following delivery of the device to an end user by a provider. The provider is most likely responsible for delivery of computerized devices to multiple end users. Moreover, the provider preferably has a relationship with the end user that permits the provider to obtain or have access to at least some information that is unique or personal to the end user. The provider generates a value that is derived from information that is personal to the intended end user as well as from information that is unique to the intended computerized device. This value is signed and preferably encrypted according to a private key known only to the provider to create an initial access password. The provider then stores the initial access password in a safe place on the computerized device. Such places may include but are not limited to flash, EEPROM, the hard disk, or in a TPM (Trusted Platform Module). When the computerized device is delivered to an end user and the user boots the device for the first time, code embedded in the device&#39;s boot sequencer or operating system will recognize the boot event as an initial access and respond by prompting the user to enter the personal information and the device specific information. The code will then generate a local value from the user inputs. For implementations that include encryption of the stored password, the code also prompts the user for a public key that is supplied to the user by the provider. The code decrypts the stored password using the public key and compares the decrypted stored password to the locally generated value. If a match is detected, the user is permitted to access the device and normal booting continues. If no match is detected, the user may be given additional opportunities to enter the information correctly, but the user will not gain access to the device until a match is found.  
         [0014]     Referring now to the drawings,  FIGS. 1 through 3  are presented to illustrate the context in which some implementations of the invention are suitable and to illustrate selected details of the invention.  FIG. 1  presents selected elements of an environment  100  in which computerized devices are delivered to end users by a provider. In the context of this disclosure, a provider refers to a person, department, company, or other entity that is responsible for getting a computerized device to an end user and is specifically not limited to a manufacturer or distributor of computerized devices. The provider, represented by referenced numeral  102 , has access to a pool  104  of computerized devices  105 . When end users  110  and  120  require or request computerized devices, provider  102  is responsible for insuring that each end user receives the correct computerized device. In the depicted implementation, for example, first end user  110  requires or requests computerized device  106  and second end user  120  requires or requests computerized device  107 . Provider  102  must satisfy the request or requirement by selecting computerized device  106  from resource pool  104 , ensuring the device is properly configured for the required or requested task, and deliver it to the appropriate end user  110 . Provider  102  must repeat this process for each end user that is to receive a computerized device.  
         [0015]     In the most likely implementations of the invention, provider  102  and end users  110  and  120  have a relationship that gives provider  102  access to some information that is personal to the end user. In one example, provider  102  is an employer of end users  110  and  120  or a division of an employer of end users  110  and  120 . In this example, the employer maintains human resources records for each of its employees. These records include information about the end user that is not generally known to the public such as social security number, emergency contact information, employee numbers if applicable, and any of a host of other records that the employer may request the employee to provide when the employee is first hired. The additional information that the employer may request of the employee may include one or more pieces of information specifically used to create initial access passwords for any computerized devices that the employee might receive from the employer or an IT department of the employer. Familiar examples of this type of information are the maiden name of the employee&#39;s mother, the name of a pet of the employee, and so forth.  
         [0016]     In another context, the provider is a commercial seller of computerized devices and the end user is a consumer. The consumer may establish an account with the seller that enables the seller to process orders requested by the consumer. The account information that the seller obtains from the consumer prior to taking any order may include information that is unique to or personal to the consumer such as the mother&#39;s maiden name and pet&#39;s name examples referred to in the preceding paragraphs. The account may be established by any conventional means including, for example, online, via mail or facsimile, and so forth.  
         [0017]     Returning to  FIG. 1 , provider  102  receives orders or requests for computerized devices from end users  110  and  120  or otherwise determines that the end users require or would benefit from computerized devices. In the case of a user request for a computerized device, the request may include one or more requirements, specifications, or limitations on the computerized device requested including perhaps, make and model requirements, CPU requirements, storage requirements, memory requirements, and so forth.  
         [0018]     Provider  102  is responsible for configuring or otherwise obtaining a computerized device  105  from pool  104  that complies with the request. In the case of a provider-initiated determination that an end user needs a computerized device, the provider may determine the appropriate features or details of the device. In either case, however, it is important that the computerized device chosen for the end user is the computerized device that the end user receives. Specifically, it is important to safeguard against simple handling and shipping errors that result in mis-delivery of a particular device as well as malicious events such as theft or the intentional replacement of a hard disk.  FIG. 1  uses unique reference numerals for computerized devices  106  and  107  to convey the concept of delivering the correct computerized device to the correct end user. Thus, as depicted in  FIG. 1 , a first end user  110  is the intended end user for a first computerized device  106  while a second end user  120  is the intended end user for a second computerized device  107 . Computerized devices  106  and  107  may have been selected from resource pool  104  and may have specific configurations according to end user requests or specifications, provider-determined specifications, or a combination of both.  
         [0019]     Referring now to  FIG. 2 , a method  200  of providing computerized devices to end users in a manner that promotes initial access authorization is conceptually depicted. As depicted in  FIG. 2 , a password generator  201  receives information from three sources and generates a stored password  210  using, derived from, or otherwise based on the three sources of information. In the depicted implementation, password generator  201  receives information  202  that is unique to the computerized device, information  204  that is unique to or personal to the intended end user, and information  206  that is controlled by the provider. Device unique information  202  may include a serial number or make, type, and model number information sufficient to identify the device uniquely. Personal information  204  is acquired from the end user by the provider, usually in a communication that occurs outside the context of the delivery of the computerized device. As indicated earlier, for example, personal information  204  might include a value specified by the user as part of an initial interview performed by human resources when the end user is first employed by the provider. Personal information  204  may also be specified during the creation of an account with the provider prior to requesting or purchasing the computerized device. Isolating the specification of the personal information  204  from the transactions or communications that are specific to the delivery of the computerized device provides an additional measure of security and assurance that the intended user will be the only user that can successfully boot the computerized device.  
         [0020]     Password generator  201  uses information  202 ,  204 , and  206  to generate or calculate a stored password  210 . Generation or calculation of stored password  210  from information  202 ,  204 , and  206  includes the use of hashing algorithms, digital signatures, and (optionally) encryption algorithms, or a combination of the above although specifics of the password generation technique are an implementation detail. Generally, the technique used to generate stored password  210  must, at a minimum, provide a high degree of assurance that the stored password is unique and a high degree of assurance that the password itself cannot be used to determine the method by which nor the original information ( 202  and  204 ) from which the password was generated.  
         [0021]     As its name implies, stored password  210  is stored on the computerized device  106  intended for delivery to end user  110 . Stored password  210  is preferably stored in a secure storage location of the device. This secure location could be, for example, encrypted on a hard drive, in a secured area of BIOS, or within a trusted platform module (TPM). A TPM is a hardware component that provides, among other items, secured storage locations. At this writing, the complete specification of the TPM (Version 1.2) is available from the trusted computing group (TCG) web site at trustedcomputinggroup.org.  
         [0022]     After trusted password  210  is stored in computerized device  106 , computerized device  106  is shipped or otherwise delivered to an end user represented in  FIG. 2  by reference numeral  110 . End user  110  is, of course, preferably the intended end user for computerized device  106 , but computerized device  106  includes stored password  210  and supporting code necessary to verify end user  110  as the intended end user.  
         [0023]     After receiving computerized device  210 , end user  110  performs an initial boot sequence when the user powers on the device for the first time. Computerized device  106  may include some form of installed code that facilitates the creation of a desired image on computerized device  106 . An image is the collection of operating system, device driver, and application modules that give the computerized device its functionality. An exemplary image creation product is the ImageUltra Builder (IUB) product from International Business Corporation. In embodiments having an IUB or other similar component, the IUB may include or be modified to include an interface that is presented to the user during an initial boot sequence. In other embodiments, a custom interface is created.  
         [0024]     A user interface  220 , whether it be custom code or an extension of an existing image creation program, is presented to end user  110  during an initial access sequence. An initial access sequence refers to any access attempt that occurs before the stored password in computerized device  106  is verified. User interface  220  prompts the end user  110  to provide selected specified pieces of information. Specifically the interface prompts the user to provide information that is the same as or parallels the information upon which the stored password  210  was derived. Thus, if the creation of stored password  210  involved the use of the maiden name of the end user&#39;s mother, user interface  220  will prompt the user for this information although interface  220  might not refer to the information required explicitly (e.g., user interface  220  might not request “MOTHER&#39;S MAIDEN NAME,” but instead may request the user specific or user personal information more vaguely such as “ENTER PERSONAL INFORMATION”). Similarly, user interface  220  prompts the user for device specific information and for any information received from and controlled by the provider.  
         [0025]     End user  110  must respond to the user interface prompts to gain access to the system. Upon detecting responses to each of the required fields of information, user interface  220  includes code that enables it to derive or compute a password, referred to herein as the locally generated password  230  or simply generated password  230 . Moreover, if the user&#39;s responses to the prompts of user interface  220  are the correct responses, the generated password  230  and the stored password  210  will match.  
         [0026]     A comparator  240 , most likely implemented in the software code of user interface  220 , compares the locally generated password  230  to the stored password  210 , which is securely stored on computerized device  106 . If the comparator determines that the generated password  230  and stored password  210  are the same, access authorization  250  is provided to end user  110 . If, on the other hand, comparator  240  determines that generated password  230  and stored password  210  do not match, access authorization is denied. The end user  110  may be given additional (preferably limited to three or less) opportunities to enter a correct set of responses, but end user  110  will not gain access to computer device  106  (i.e., be able to load and use an operating system and one or more application programs).  
         [0027]     Upon successfully matching generated password  230  to stored password  210 , computerized device  106  continues with a conventional boot sequence in which an operating system image is installed, application programs may be loaded, and the user is ultimately given access to the device (i.e., the user has access to the programs installed on and the storage system of computerized device  106 ). In one embodiment, stored password  210  is intended for use as an initial access password only. Once the end user verifies that the correct computerized device has been delivered to and received by the intended end user (by matching generated password  230  to stored password  210 ), the sequence forcing the user interface  220 , or at least those portions of user interface  220  directed at matching stored password  210  are bypassed. In such embodiments, a single successful completion of the password matching sequence described herein bypasses the code from that point forward thereby making the computerized device available for use by any user absent additional password or security measures.  
         [0028]     Additional details of a possible implementation of the present invention are presented in  FIG. 3 . Specifically,  FIG. 3  depicts an implementation of a method  300  for verifying delivery of a computerized device that includes using specified pieces of information for the personal information, machine specific information, and the provider controlled information described above.  
         [0029]     As depicted in  FIG. 3 , method  300  includes the use of Machine/Type/Model (MTM) information, serial number information, or a combination of the two as the machine specific information  302 . The machine specific information  302  may be stored within computerized device  106  and electronically accessible to a program executing on the device, possibly as part of or as an extension of the vital product data (VPD) currently defined on some computerized devices. VPD is device-specific information stored on a device&#39;s hard disk (or the device itself) that allows the device to be administered at a system or network level. Typical VPD information includes a product model number, a unique serial number, product release level, maintenance level, and other information specific to the device type. Vital product data can also include user-defined information, such as the building and department location of the device. The collection and use of vital product data allows the status of a network or computer system to be understood and service provided more quickly. This embodiment contemplates a mechanism in which the provider can implement an automated or partially automated system for creating stored passwords  310 .  
         [0030]     Alternatively, the machine specific information  302  may consist of or include information that is obtainable by physical inspection of computerized device  106 . A unique serial number, for example, if not contained in VPD or some other electrically accessible location, is obtained visually from the chassis of the device itself. An embodiment of the invention that requires the provider to have possession of the computerized device, although less susceptible to automation, beneficially increases the difficulty required to compromise the system&#39;s security because the provider must have the computerized device in hand to re-create the stored password.  
         [0031]     The depicted embodiment of method  300  also indicates the user personal or user specific information  304  as being comprised of the maiden name of the user&#39;s mother. It will be appreciated, of course, that user personal information  304  may consist of any information that is known to the end user and conveyed to the provider, but is otherwise generally not known by others, except perhaps those whose have a close personal relationship with the user. While user personal information is susceptible to compromise because it may be discovered or inadvertently disclosed, it enjoys the advantage of being user friendly. While more secure user specific information can be imagined, user personal information such as mother&#39;s maiden name has a substantial degree of security as well as a high degree of being memorable to the user.  
         [0032]     As depicted in  FIG. 3 , a hashing algorithm  305  receives the device specific information  302  and the user specific or user personal information  304  as its inputs. Hashing algorithm  305  represents any of a variety of widely known hashing algorithms such as the Secure Hashing Algorithm (SHA) or message digest algorithm (MD5). These particular algorithms receive a variable string of bits as input and create a unique, fixed-length “message digest” derived from the input string. The message digest or other similar output from the selected implementation of hashing algorithm  305  is generically identified in  FIG. 3  as hash value  306 .  
         [0033]     For the depicted implementation, in which hash algorithm  305  receives two inputs, some form of manipulation of the inputs is contemplated. In perhaps the simplest case, the device specific information  302  and the user personal information  304  may be simply concatenated to form a single bit stream that is provided to the hashing algorithm. In other implementations, more complex manipulation of the inputs may be performed as desired.  
         [0034]     In the depicted embodiment, the hash value  306  generated by hash algorithm  305  is then passed through a digital signing method  308 , which, in conjunction with a private key  307  maintained by the provider, produces a digital signature specific to the combination of machine specific information  302  and user personal information  304 . Note that although a single key  307  is used for encrypting and signing, different keys may be used for each. The signature generated by DSA  308  is appended to the original data and optionally encrypted in encryption engine  309  using (in the depicted embodiment) the private key  307  as the encryption key to create the stored password  310 . Thus, stored password  310  is a digitally signed and possibly encrypted representation of the machine specific and user personal information input by the user.  
         [0035]     When the computerized device is delivered to and then initially booted by the end user, the end user is presented with a user interface  320 . User interface  320  prompts the end user to input three pieces of information, namely, the device specific (e.g., MTM/SN) information  302 , the user personal information (e.g., mother&#39;s maiden name) information  304 , and a public key  332  that is sent to the end user by the provider in a communication external to or apart from the stored password information.  
         [0036]     Upon receiving the user inputs, the user interface  320 , using a hashing algorithm  325 , which is functionally equivalent to hashing algorithm  305 , creates the locally generated hash  327 . The generated hash  327  may then be used to verify the stored password  310  using comparator  330 . Specifically, stored password  310  may be optionally decrypted with decryption engine  340  using the public key  332 . The signature of the password  310  is then decrypted by digital signature verification engine  345  using public key  332 . The decrypted signature is then compared by comparator  330  against locally generated hash  327  to determine whether a match has occurred. If a match is detected, access is authorized in block  350 .  
         [0037]     By deriving passwords from information unique to the end user, the device, and the device provider, the present invention provides a high level of security against unauthorized initial access. It will be apparent to those skilled in the art having the benefit of this disclosure that the present invention contemplates a mechanism for authenticating initial access to a computerized device. It is understood that the form of the invention shown and described in the detailed description and the drawings are to be taken merely as presently preferred examples. It is intended that the following claims be interpreted broadly to embrace all the variations of the preferred embodiments disclosed.