|Publication number||US7870376 B2|
|Application number||US 11/086,184|
|Publication date||Jan 11, 2011|
|Priority date||Mar 23, 2004|
|Also published as||CN1673923A, CN100345080C, US20050257050|
|Publication number||086184, 11086184, US 7870376 B2, US 7870376B2, US-B2-7870376, US7870376 B2, US7870376B2|
|Inventors||Konrad Gierens, Erich Hindermeyer, Thomas Gerhard Moegerle, Thomas Speidel|
|Original Assignee||International Business Machines Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (24), Non-Patent Citations (4), Referenced by (11), Classifications (18), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The present invention relates generally to computer systems, and more particularly to preventing access by an unauthorized person to a computer, such as in the case of theft of the computer.
When many different people share a computer system, access to the computer system or to parts of the computer system has to be controlled. Access control is currently known so that only authorized users can make use of the computer system and its associated user application(s). Access control prevents usage of the computer system by non-authorized persons. In this way, access control protects a computer system or parts of a computer system from misuse.
The most common access control techniques are based on a password driven access to the computer system. There exist different levels of password access or password protection of computer systems. Typically, a password access is either user related or device oriented. The user related access makes use of a user identifier (“userID”) that is unequivocally associated to each authorized user of the computer system. Before making use of the computer system, each user has to pass an authentication or login procedure thereby confirming his or her identity. Typically, the user has to enter a valid combination of user identifier and password. Only when the user has successfully passed the login procedure, access to the computer system is granted. Typically, such user related authentication procedures are purely software implemented and are commonly used by the most common multi-user operating systems such as e.g. UNIX™ (licensed by X/Open Company Limited), LINUX™ (of Linus Torvalds), or Windows™ (of Microsoft Corporation) operating system.
Device oriented authentication procedures protect hardware or hardware components of the computer system from unauthorized modification. For example, BIOS-password protection or hard disc drive (HDD) password protection are common techniques to prevent unauthorized persons from modifying the hardware configuration of a computer system.
Even though there are advanced encryption mechanisms for storing user identifications and associated passwords on the computer system, a misuse by unauthorized users is still possible. Any unauthorized person that takes possession of a valid combination of user identification and corresponding password gets access to the computer system.
Access protection of mobile computer systems is important when the computer system is stolen. It is important to protect the data from the thief. Also, a stolen computer system becomes worthless to a thief, when the thief has no access to user identification and password or has no means to circumvent the inherent access controlling mechanism. Within the framework of personal computer systems, an unauthorized user can in principal seize control of the computer system, i.e. circumvent the protection mechanism by simply installing another operating system or different time interval setting program on a stolen computer system.
The above described access protection techniques as they are known from the prior art are not appropriate in an industrial environment where many users share one mobile computer system. For example, in the field of portable diagnosis computer systems for automotive engines and other industrial applications, password driven access to the diagnosis system is inconvenient because the diagnosis system is shared by many different users. It would be burdensome for each user to have to authenticate himself or herself multiple times each day.
Accordingly, an object of the present invention is to control access to a computer system to deter theft and other unauthorized use, without requiring conventional password protection.
The present invention resides in a system, method and program product for controlling access to a computer system. The computer system operates in a fully operational mode in which an operating system in the computer system is operating and the computer system executes one or more user applications installed in the computer system. In response to a predefined time interval lapsing, the computer system automatically switches from the fully operational mode to a limited operational mode in which the one or more user applications are terminated, the operating system is shut down, and a BIOS within the computer system solicits entry of a password by a user. If the user fails to enter a valid password, operation of the operating system and execution of the one or more user applications are prevented.
The present invention also resides in a system, method and program product for controlling access to a computer system. A user attempts to activate the computer system. In response, a BIOS within the computer system boots up, determines that the computer system is currently set for a limited operational mode, prevents boot up of an operating system of the computer system, and solicits a password from a user. If the user fails to enter a valid password, the BIOS continues to prevent boot up of the operating system. If the user enters a valid password, the operating system boots up and executes one or more user applications within the computer system.
The following are features which can be included in the present invention:
The invention provides a method of access protection of a computer system having a locked and an unlocked mode. Being in locked mode, the functionality of the computer system is limited to a password dialogue interrupting a boot process of the computer system. An interrupted boot process of the computer system only proceeds in response of a user entering the correct password in the password dialogue. Entering of an incorrect password in the password dialogue for a predefined number of times deactivates the computer system. The computer system switches from unlocked mode into the locked mode when a predefined time interval has elapsed. When the computer system is deactivated it becomes useless for an unauthorized person or a thief. When deactivated, a time delay is enforced after which the password dialogue of the locked mode appears again. Generally, the password for reactivating the computer system or for switching the computer system from the locked mode into the unlocked mode is not known to any user. Such a password is only needed in exceptional situations, such as when a theft or unauthorized handling of a computer system. While in ordinary use the period of the time interval keeps the computer system in the unlocked mode, i.e. no password is required for the usage of the computer system.
In locked mode, the boot process of the computer system is interrupted by the password dialogue prior to a booting of an operating system of the computer system. Consequently, the password dialogue of the locked mode is independent of the operating system in use. Preferably, the password dialogue is implemented in a booting process of the computer system's BIOS. In this way, an unauthorized person such as a thief is not able to circumvent the password dialogue by installing a different operating system or other software product trying to disable the access control.
The time interval controlling the switching into the locked mode is defined by an update process of a user application(s) or by an authenticated user. By performing the update process of the user application(s), the time interval is extended to extend the time frame for which the computer system is running in the unlocked mode. Alternatively, the time interval can be manually defined by an authenticated user.
The time interval defined by the update process of the user application(s) elapses after the date from where a subsequent update of the user application(s) becomes available. Assuming that whenever a user application(s) update becomes available, the update is also installed on the computer system, the time interval is extended such that the subsequent user application(s) update is available before the redefined time interval elapses. Subsequently installing all available and provided user application(s) updates prevents the computer system from switching into locked mode. When in ordinary use, i.e. regularly installing user application(s) updates, the user does not even realize that there exists an access protection of the computer system. Only in the exceptional situation, when for example the computer system is subject to theft or when an available user application(s) update is not installed on the computer system, the time interval elapses and the computer system switches into the locked mode.
The time interval is given by a specific time and date or by a maximum allowable operation time of the user application(s). Consequently, the time interval either serves as an expiry date of the user application(s) and the entire computer system or as a time meter defining the time interval for which the user application(s) and/or the computer system operate in unlocked mode. The password of the password dialogue is generated on the basis of a hardware identifier of the computer system. The hardware identifier, e.g. a serial number of the computer system, is stored in a nonvolatile memory of the computer system and is displayed in the password dialogue. The hardware identifier uniquely identifies each computer system. By storing the hardware identifier in a nonvolatile memory that cannot be manipulated by an operating system of the computer system, it becomes almost impossible for a thief to erase or manipulate the hardware identifier. Making use of this hardware identifier, it is easy to determine whether a portable computer system has been stolen or has been subject to unauthorized usage. Reactivating or unlocking the computer system comprises the steps of transmitting the hardware identifier and required user information to a central database system, checking an authentication of the user by the central database system on the basis of the hardware identifier and the user information, receiving a correct password from the central database system when the authentication of the user has been asserted by the central database system and finally entering the received password in the password dialogue in order to reactivate or unlock the computer system. When a computer system is purchased by a user from a supplier, the user has to register in the central database system by providing particular user specific information together with the hardware identifier of the purchased computer system. By means of this registering procedure, the user becomes legitimated to receive updates of the user application(s) as well as to receive the correct password for his particular computer system. The central database system will not deliver the password or time interval setting program update to a user that is not registered. As a consequence an unauthorized person contacting the central database system thereby transmitting the hardware identifier of the computer system on the one hand would not receive the correct password and on the other hand would provide the central database system with a hardware identifier of a stolen computer system.
The present invention will now be described in detail with reference to the figures.
Hidden from the user, the computer system 300 uses the specified time interval as follows. When the computer system 300 is booted, the BIOS checks whether the time interval has elapsed. If the time interval has elapsed, the BIOS switches the computer system into the locked mode and initiates a corresponding password dialogue to solicit a password from the user. If the user enters a valid password, the BIOS will unlock the computer. During the unlocked mode, the computer system 300 operates in a normal manner to execute is applications. Before the expiration of the time interval, a legitimate user or administrator can advance the time interval, either by direct update of the time interval in time meter 316, entry of a software update which advances the time interval or request to a central database system 406 (
The hardware identifier, the mode identifier and the time meter specifying the time interval are needed for an initialization and execution of the password dialogue. Consequently, they are accessible prior to booting of the operating system 306. Furthermore, these parameters are stored in a nonvolatile memory to ensure that the parameters are not erased when the computer system is detached from a power supply. Moreover, the parameters are generally not modified by reinstalling the time interval setting program 308 or operating system. The time interval or the time meter can only be modified by installing a an update to time interval setting program 308, or by an authenticated user that passes a conventional authentication procedure and manually updates the time interval.
When a user purchases the computer system 300 from a supplier together with a service or maintenance agreement, the user will be supplied with updates to the time interval setting program within regular time intervals. By installing the updates appropriately, the software updates will advance the time interval and consequently, the computer system 300 will not switch to the locked mode. For practical reason, the computer system may inform the user to install an available update before the computer system switches into locked mode. In another case, when a user purchases the computer system and the time interval setting program without a service or maintenance agreement, the user will be supplied with a password allowing the user to manually modify the time interval. In either case the theft protection or access protection of the computer system becomes active after the predefined time interval has elapsed.
When the computer system 400 has become subject to theft or when a required update 402 has not been installed on the computer system 400, the computer system switches into the locked mode. In locked mode, the computer system 400 only displays its hardware identifier to the user. An authorized user will know and can enter (the hardware identifier and) required information about his or her own identity to the central database system to obtain access. Based on the provided hardware identifier the central database system 406 can determine if the computer system 400 has been reported as stolen. Moreover, the central database system 406 is able to authenticate the user 404 as the legitimate user of the computer system 400. Only when the legitimate user has been identified by the central database system, the password required to unlock or to reactivate the computer system 400 is returned to the user 404. Presumably, the password is generated on the basis of the hardware identifier and some specific encryption algorithm being executed by the central database system and by the BIOS of the computer system 400.
A new update 402, when installed, may also incorporate an update of this encryption algorithm in the BIOS of the computer system 400. Such an update has two advantages. First, each password is specific to only one computer system 400 and cannot be universally applied to different computer systems. Second, a password obtained from the central database system 406 unlocks or reactivates a computer system 400 only once. Consequently, it cannot be applied repeatedly when the computer system locks again after the predefined time interval elapses for a second time.
Alternatively, the interaction between the computer system 400 and the central database system 406 can also be realized by making use of network 408. In this case the computer system 400 automatically establishes a network connection to the central database system 406 and transmits its hardware identifier autonomously to the central database system 406. The central database system 406 will solicit additional information, via network 408) about the user 404 to determine whether the user 404 is the legitimate user of the computer system 400. This transmission can either be performed by the user directly transmitting the required information to the central database system 406 or by entering the required information into an expanded password dialogue of the computer system 400. The computer system 400 then transmits this additional information via the established network connection to the central database system 406.
As explained above, BIOS 310 controls the time interval for access to computer system 300. User application(s) 309 proceed in their ordinary operating mode, i.e. the running mode (step 106), and the BIOS reads the time meter 316 to determine if the time interval has lapsed (step 108). The time interval specifies either a distinct expiration time and date at which the computer system 300 switches from the unlocked into locked mode or a time period during which the entire computer system 300 can be used in the unlocked mode. If the time interval has lapsed (decision 110, yes branch), then the BIOS 310 shuts down operating system 306 (in an orderly manner) which shuts down user application(s) 309, updates the mode identifier to “locked” (step 114). Thus, BIOS 310 switches the computer system 300 into the locked mode. Refer again to decision 110, no branch, where the time interval has not lapsed. In such a case, the BIOS checks whether the time interval has lapsed or nearly lapsed, and a procedure should be performed to extend the time interval. Examples for such time interval extension procedures are installing an update 42 to extend the time interval or manually modifying the time interval by an authenticated user. If no such procedure is needed at this time (decision 112, no branch), then BIOS 310 returns to step 106 to continue in its ordinary operation mode. However, if a procedure needs to be performed within the time interval to extend the time interval (decision 112, yes branch), then the BIOS initiates this procedure (step 116). When for example in decision 112, the BIOS detects that an update 42 needs to be installed, then the BIOS modifies the time meter in step 116 such that the computer system operates in unlocked mode at least until a successive update becomes available. Performing a time interval related action in step 116 involves either resetting of the time meter or redefining the time interval specifying the point of time after which the computer system switches to the locked mode. After execution of step 116, the BIOS returns to the step 106 where the user application(s) continue to operate in their ordinary mode.
Steps 108 through 116 are performed while the user application(s) 309 are running. Preferably, these steps are performed on a regular basis at predefined time intervals, such as every five or ten minutes. As noted above, in the illustrated embodiment, the BIOS performs steps 108 through 116 so that access protection according to the present invention is independent of the operating system and software configuration of computer system 300.
Refer again to decision 206, no branch, where the system has not been deactivated, the BIOS 310 proceeds to step 210 to display the hardware identifier without applying any kind of time delay.
In the illustrated embodiment, the functionality of the computer system 300 is limited in step 210 in the locked mode to the display of the hardware identifier as part of a password dialogue. The hardware identifier is needed to unequivocally identify the computer system. A legitimate user of the computer system may use the hardware identifier to receive the password for the password dialogue from a central database system 406 (shown in
Refer again to decision 214, no branch where a user enters an incorrect password, and the BIOS detects the incorrect password. In such a case, the BIOS checks whether an incorrect password has already been entered a predefined number of times (decision 218). The number of times that an incorrect password can be entered without deactivating the system can either be specified by an authenticated user or by the time interval setting program. If the incorrect password has already been entered the predefined number of times, this may indicate an unauthorized user such as a “hacker”, and in response, the BIOS deactivates system 300 (step 220). Next, the BIOS returns to step 208 to apply the time delay, and then to step 210 to permit reactivation of system 300, assuming the user enters the proper password. Refer again to decision 218, no branch, where an incorrect password has not yet been entered for a predefined number of times. In this case, it is premature to assume an unauthorized user, so the BIOS returns to step 212 without deactivating the system, to permit the user to re-enter the password.
The computer system does not switch into the unlocked mode by simply rebooting. Whenever the computer system runs into the locked or deactivated mode it remains in this particular mode unless the correct password is entered in the password dialogue. Being once in locked or deactivated mode, booting of the computer system is disabled. As a consequence an unauthorized user or thief has no possibility to manipulate the hardware or software configuration of the computer system. Consequently, not only the user application(s) but the entire computer system becomes useless for such an unauthorized user.
When in ordinary operation mode, i.e. unlocked, activated mode, the computer system 300 including user application(s) 309 operates as a conventional computer system (except for the BIOS performing periodic checks to determine if the time interval has lapsed). During run time in this ordinary operation mode, a user can interact with the user application(s) 309 via the input/output module 302 to attain the normal function of user application(s) 309. Operating system 306 controls execution of input/output module 302 and the user application(s) 309.
Based on the foregoing, a computer system, method and program product for controlling access to a computer system have been disclosed. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. Therefore, the present invention has been disclosed by way of illustration and not limitation, and reference should be made to the following claims to determine the scope of the present invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5911042||Feb 28, 1997||Jun 8, 1999||Kabushiki Kaisha Toshiba||Computer system having expansion unit|
|US5931948||Sep 11, 1997||Aug 3, 1999||Kabushiki Kaisha Toshiba||Portable computer system having password control means for holding one or more passwords such that the passwords are unreadable by direct access from a main processor|
|US6038667 *||Oct 14, 1998||Mar 14, 2000||Helbig, Sr.; Walter A.||Method and apparatus enhancing computer system security|
|US6370649 *||Mar 2, 1998||Apr 9, 2002||Compaq Computer Corporation||Computer access via a single-use password|
|US6374145 *||Dec 14, 1998||Apr 16, 2002||Mark Lignoul||Proximity sensor for screen saver and password delay|
|US6446213 *||Aug 31, 1998||Sep 3, 2002||Kabushiki Kaisha Toshiba||Software-based sleep control of operating system directed power management system with minimum advanced configuration power interface (ACPI)-implementing hardware|
|US6647498||May 18, 1999||Nov 11, 2003||Samsung Electronics Co., Ltd.||Method and apparatus for preventing personal computer from being illegally used|
|US6751088 *||Apr 26, 2002||Jun 15, 2004||Kabushiki Kaisha Toshiba||Method for selecting software in electronic device|
|US6832311 *||Aug 31, 2001||Dec 14, 2004||Kabushiki Kaisha Toshiba||Information processing system and resume processing method used in the system|
|US6904535 *||Mar 20, 2001||Jun 7, 2005||Fujitsu Limited||Information processing device selecting normal and exclusive operational modes according to wake up instructions from a communication interface section or an input/output device|
|US7188239 *||Nov 18, 2003||Mar 6, 2007||Fujitsu Limited||Apparatus with a standby mode, program and control method for an apparatus with a standby mode|
|US7206951 *||Nov 12, 2003||Apr 17, 2007||Kabushiki Kaisha Toshiba||Information-processing apparatus and method of controlling power saving|
|US7249249 *||Jun 10, 2002||Jul 24, 2007||Lenovo||Dynamic hardfile size allocation to secure data|
|CN1372191A||Mar 29, 2002||Oct 2, 2002||风之谷科技有限公司||Computer lock system with time management and control device|
|EP0752638A2||Jul 1, 1996||Jan 8, 1997||International Business Machines Corporation||Resume operations in an information processing system|
|EP1035472A2||Mar 8, 2000||Sep 13, 2000||Texas Instruments Incorporated||Loading configuration data|
|GB2347248A||Title not available|
|JP2000259272A||Title not available|
|JP2003140766A||Title not available|
|JP2004259000A||Title not available|
|JPH086659A||Title not available|
|JPH1185335A||Title not available|
|JPH09237229A||Title not available|
|WO2003046701A2||Nov 21, 2002||Jun 5, 2003||Intel Corporation (A Delaware Corporation)||Method and apparatus for unlocking a computer system hard drive|
|1||IBM: IBM ThinkPad 600 Online Book Internet Article, Jan. 1, 1999, XP002396028. ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/600supug.pdf.|
|2||IBM: IBM ThinkPad 600 User's Reference Internet Article, Jan. 1, 1999, XP002396027. ftp://ftp.software.ibm.com/pc/pccbbs/mobiles/600userrf.pdf.|
|3||Soyo: "SY-67E+ Motherboard Manual," Internet Article, Mar. 5, 1999. http://www.soyogroup.com/dl/manuals/686/m6zep10.pdf.|
|4||UK Technical Support: "How to Bypass BIOS 1, 8, 15 Passwords", Internet Article, Oct. 2, 2002. http://uktsupport.co.uk/reference/biosp.htm.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8103882||Jan 24, 2012||Sandisk Il Ltd.||Apparatus and method for securing data on a portable storage device|
|US8234500||Jul 31, 2012||Sandisk Il Ltd.||Apparatus and method for securing data on a portable storage device|
|US8694800||Oct 19, 2010||Apr 8, 2014||Sandisk Il Ltd.||Apparatus and method for securing data on a portable storage device|
|US8695087 *||Apr 4, 2008||Apr 8, 2014||Sandisk Il Ltd.||Access control for a memory device|
|US8732305 *||Jun 8, 2009||May 20, 2014||Canon Denshi Kabushiki Kaisha||Management server, client terminal, terminal management system, terminal management method, program, and recording medium|
|US8893263||Mar 14, 2011||Nov 18, 2014||Sandisk Il Ltd.||Apparatus and method for securing data on a portable storage device|
|US20090055655 *||Oct 24, 2008||Feb 26, 2009||Aran Ziv||Apparatus and Method For Securing Data on a Portable Storage Device|
|US20090240796 *||Jun 8, 2009||Sep 24, 2009||Canon Denshi Kabushiki Kaisha||Management server, client terminal, terminal management system, terminal management method, program, and recording medium|
|US20090254762 *||Apr 4, 2008||Oct 8, 2009||Arik Priel||Access control for a memory device|
|US20110035603 *||Feb 10, 2011||Aran Ziv||Apparatus and Method for Securing Data on a Portable Storage Device|
|US20110167489 *||Jul 7, 2011||Aran Ziv||Apparatus and Method for Securing Data on a Portable Storage Device|
|U.S. Classification||713/2, 713/165, 726/2, 713/183|
|International Classification||G06F1/00, G06F12/14, H04L9/00, G06F21/00, G06F9/00, G06F21/24, G06F21/22|
|Cooperative Classification||G06F21/74, G06F21/31, G06F2221/2151, G06F21/88|
|European Classification||G06F21/74, G06F21/88, G06F21/31|
|Jun 27, 2005||AS||Assignment|
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GIERENS, KONRAD;HINDERMEYER, ERICH;MOEGERLE, THOMAS GERHARD;AND OTHERS;REEL/FRAME:016416/0027;SIGNING DATES FROM 20050311 TO 20050322
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GIERENS, KONRAD;HINDERMEYER, ERICH;MOEGERLE, THOMAS GERHARD;AND OTHERS;SIGNING DATES FROM 20050311 TO 20050322;REEL/FRAME:016416/0027
|Dec 30, 2011||AS||Assignment|
Owner name: GOOGLE INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:027463/0594
Effective date: 20111228
|Jul 11, 2014||FPAY||Fee payment|
Year of fee payment: 4