`Chou et al.
`
`US005892906A
`[ii] Patent Number:
`[45] Date of Patent:
`
`5,892,906
`Apr. 6, 1999
`
`[54] APPARATUS AND METHOD FOR
`PREVENTING THEFT OF COMPUTER
`DEVICES
`
`[76] Inventors: Wayne W. Chou, 25 Hanley Pl.,
`Ridgefield, Conn. 06877; Laszlo Elteto,
`86 Snow Crystal La., Stamford, Conn.
`06905; Joseph M. Kulinets, 40
`Meredith La., Stamford, Conn. 06903;
`Joseph LaRussa, 43 Lowell St.,
`Hicksville, N.Y. 11801
`
`[21] Appl. No.: 684,659
`Jul. 19, 1996
`[22] Filed:
`Int. Cl.6 .................................................... G06F 7/00
`[51]
`[52] U.S. Cl....................................... 395/188.01; 395/652
`[58] Field of Search ............................. 395/186, 188.01,
`395/187.01, 183.12, 652; 380/3, 4, 23,
`25
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`1/1987 Chorley et al........................... 178/22.08
`4,634,807
`7/1988 Allen et al..................................... 380/25
`4,757,533
`9/1989 Kobus, Jr. .................................. 395/186
`4,864,494
`9/1989 Karp ................................................ 380/4
`4,866,769
`6/1990 Cummins ....................................... 380/2
`4,937,861
`4/1991 Cummins ....................................... 380/4
`5,007,082
`3/1992 Camion et al................................. 380/23
`5,097,504
`9/1992 Geffrotin ...................................... 380/23
`5,146,499
`5/1993 Arnold et al.................................... 380/4
`5,214,695
`6/1993 Hardy et al...................................... 380/4
`5,222,135
`6/1994 Smyth et al..................................... 380/4
`5,325,430
`5,363,446 11/1994 Ruppertuz et al.............................. 380/4
`5,369,707 11/1994 Follendore, III ............................ 380/25
`5,377,269 12/1994 Heptig et al................................... 380/25
`3/1995 Goodman et al............................. 380/25
`5,402,492
`4/1995 Bealkowski et al........................ 395/700
`5,410,699
`5/1995 Jablon et al........................... 395/183.14
`5,421,006
`7/1995 Blackledge, Jr. et al.................. 395/700
`5,432,939
`9/1995 Clark .............................................. 380/4
`5,448,045
`
`5,483,596
`5,483,649
`5,497,421
`5,535,409
`5,586,301
`5,615,263
`5,707,777
`
`1/1996 Rosenow et al.............................. 380/25
`1/1996 Kuznetsov et al.......................... 395/186
`3/1996 Kaufman et al.............................. 380/23
`7/1996 Larvoire et al........................ 395/188.01
`12/1996 Fisherman et al.......................... 395/186
`3/1997 Takahashi ...................................... 380/4
`1/1998 Sloan et al............................. 395/188.01
`
`Primary Examiner—-Joseph E. Palys
`Attorney, Agent, or Firm—Pollock, Vande Sande &
`Amernick
`ABSTRACT
`[57]
`Apparatus and method for discouraging computer theft. The
`apparatus and method requires that a password or other
`unique information be supplied to the computer before the
`computer BIOS routines can be completely executed. A
`BIOS memory storing the BIOS routines includes a security
`routine which will determine whether or not the required
`password entered by the user, or a known quantity read from
`an externally connected memory device is present. The
`security function stored within the BIOS memory also
`includes an administration function which permits the com
`puter to be either placed in a locked state, thereby requiring
`password or the known quantity read from an externally
`connected memory device to be present each time the
`computer is booted up. The administration function also
`permits an unlock state which permits the computer boot up
`process to complete without entering any password or
`externally supplied quantity. The external memory location
`is consulted during each boot up sequence, to determine
`whether the computer has been placed in the locked or in the
`unlocked state. If the security depends upon the supply of
`the known quantity from an externally connected memory
`device, the computer will be inoperable to anyone not in
`possession of the external memory device. In the event that
`the external memory location bearing the locked or unlocked
`code is removed, the security function assumes the computer
`to be in the locked state, thus frustrating avoidance of the
`locked state by tampering with the external memory.
`
`16 Claims, 5 Drawing Sheets
`
`Roku EX1005
`U.S. Patent No. 6,411,941
`
`
`
`U.S. Patent
`
`Apr. 6, 1999
`
`Sheet 1 of 5
`
`5,892,906
`
`FIG.2
`
`FIG. 3
`
`FIG. 4
`
`BIOS
`MEMORY
`
`31·-- DRIVES CONFIGURATION
`PORTS
`32-- CONFIGURATION
`
`30
`
`LOCK/UNLOCK
`CMOS RAM
`
`
`
`U.S. Patent
`U.S. Patent
`
`Apr. 6, 1999
`Apr. 6, 1999
`
`Sheet 2 of 5
`Sheet 2 of 5
`
`5,892,906
`5,892,906
`
`ATTACH
`KEY TO
`SERIAL PORT
`
`REBOOT
`
`EXECUTE
`POST
`
`40
`
`“I
`
`49
`
`37
`
`CHECK INTERNAL|43
`MEMORY 17
`CONNECT
`
`
`KEY
`
`MEMORY CONNECT?
`
`>ase
`
`Cn YES
`
`No
`
`EXECUTE
`BOOT CODE
`
`53
`
`
`
`
`YES
`
`46
`
`EXECUTE
`SECURITY
`FUNCTION
`
`READ KEY|47
`DATA
`EXECUTE
`PERIPERHAL|94
`ROUTINES
`
`48
`
`49
`
`50
`
`DECRYPT
`M
`
`READ
`COMPUTER ID
`
`CALCULATE
`SN * COMPUTER ID
`
`
`
`54
`
`NO
`
`52
`
`STOP
`
`COMPLETE
`
`BOOTUP
`
`ENTER SETUP
`MODE
`
`9
`
`SELECT
`LOCKED STATE
`
`61
`
`
`
`
`
`SELECT
`UNLOCKED STATE
`
`
`wee cope |
`
`
`
`
`
`WRITE CODE
`TO MEMORY 17
`
`TO MEMORY 17
`
`FIG. 5
`FIG, 5
`
`
`
`U.S. Patent Apr. 6,1999 sheet 3 of 5
`
`5,892,906
`
`26(a)
`27(a)-
`28(a)-
`28(b) --.
`33(a)—'
`29(a) --.
`
`POST
`BOOT CODE
`PERIPERHAL
`SECURITY CHECK
`ADMINISTRATION
`PASSWORD 1
`PASSWORD 2
`COMPUTER ID
`PUBLIC KEY
`BIOS
`MEMORY
`
`FIG. 8
`
`
`
`U.S. Patent
`U.S. Patent
`
`Apr. 6, 1999
`Apr. 6, 1999
`
`Sheet 4 of 5
`Sheet 4 of 5
`
`5,892,906
`5,892,906
`
`
`
`SELECT SECURE
`PROCESSOR DSS
`
`
`GENERATE PUBLIC/
`PRIVATE KEY PAIR
`
`
`
`
`
`DEVELOP SECURE
`BIOS
`
`LOAD BIOS CODE AND
`PUBLIC KEY INTO BIOS MEM.
`
`INSTALL FLASH BIOS
`
`
`
`
`
`97
` ATTACH DIGITAL
`
`READ COMPUTER 1D
`
`96
`
`ENCRYPT
`
`COMPUTER ID
`
`SIGNATURE
`
`
`STORE COMPUTER
`ID INTO BIOS MEM.
`
`
`FIG. 9
`FIG. 9
`
`
`
`Sheet 5 of 5
`Sheet 5 of 5
`
`5,892,906
`5,892,906
`
`U.S. Patent
`U.S. Patent
`
`Apr. 6, 1999
`Apr. 6, 1999
`
`BOOTUP
`
`EXECUTE
`POST
`
`102
`
`
`
`YES
`
`CHECK MEMORY 17a
`
`115
`
`ENTER
`,
`SECURITY
`EXECUTE
`FUNCTION|~118
`BIOS ROUTINE
`127
`
`NO
`END
`ENTER
`197
`[BOOTUP]
`127
`
`PASSWORD[X_119
`
`<Cocredp
`
`
`
`
`
`
`
`sie||S are
`
`ADMINISTRATION
`FUNCTION
`
`106
`
`PASSWORD
`OK
`
`NO
`
`112
`
`LOCK
`
`UNLOCK
`
`13
`
`WRITE
`TO
`MEMORY 17(a)}
`
`122
`
`123
`
`WRITE
`TO
`|MEMORY 17(a)
`
`NEW
`
`FIG. 10
`FIG.
`IO
`
`
`
`
`
`
`”
`STOP
`
`™
`125
`
`DISPLAY
`
`PASSWORD”
`
`
`
`1
`APPARATUS AND METHOD FOR
`PREVENTING THEFT OF COMPUTER
`DEVICES
`
`The present invention relates to the personal computer
`art. Specifically, an apparatus and method are provided
`which discourages the theft of personal computer systems by
`rendering them inoperable to an unauthorized user.
`The popularity of personal computing devices such as
`notebook computers has resulted in an alarming increase in
`theft of these devices. Although it is common to provide
`password protection for computers, it is possible to avoid the
`password protection by making some modified hardware
`changes to the stolen computer. In prior art password pro
`tection schemes, a password is stored in a CMOS RAM on
`the mother board of the personal computer. If power is
`removed from the computer including any backup battery
`power supply, the CMOS RAM will eventually be reset, and
`the protection of a stored password in the CMOS RAM is
`lost.
`Password protection may also be provided by a system
`which stores the required password on the computer hard
`disk. At boot up time, the password is retrieved from the
`hard disk and compared with a manually entered password.
`Password protection passwords stored on the computer hard
`disk may be defeated however, if the disk is completely
`reformatted by a thief or his customer.
`The automobile industry has had to confront the theft of
`automobile radios with specific anti-theft circuits built into
`the automobile radio. Theft protection circuitry incorporated
`in the automobile radio renders the automobile radio useless
`when it is removed from the vehicle. These measures have
`discouraged the traffic in stolen car radios, as the units are
`inoperable after the theft, and any attempts to have them
`repaired would likely reveal the theft.
`The implementation of anti-theft measures in a personal
`computer such as a notebook computer must be effective
`against the most technically sophisticated of thieves, but not
`be so elaborate as to interfere with its normal use. The need
`for theft security measures must be measured against the
`inconvenience to the authorized user who may need to
`power up the computer device on a frequent basis at times
`when protection against theft is not needed. In these
`circumstances, it is useful to have an anti-theft measure
`which may be deactivated at the option of the user once the
`user clearly establishes himself as authorized to deactivate
`the anti-theft circuitry. Other problems which may result in
`the use of these protection schemes include the inconve
`nience which results from the loss of a password by a user.
`In these instances it may be necessary to resort to the
`manufacture of the device to determine what password
`should be used or to install a new password, representing an
`obvious drawback for owners of these systems.
`Many computer manufacturers have implemented pass
`word protection in the computer BIOS (Basic Input/Output
`System) which is integral to the operation of a personal
`computer. The password protection in the BIOS halts the
`system boot up unless the user enters a password which is
`also stored in the foregoing CMOS RAM. As noted, if the
`power is removed from the CMOS RAM, the password is
`cleared and the system will boot up without requiring the
`user to enter the required password.
`Recent changes in the computer BIOS memory storage
`devices permit writing data to the BIOS memory, offering
`the opportunity to provide password protection within the
`same memory which stores the BIOS routines. Thus, any
`attempt to delete the protection will result in the BIOS
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,892,906
`
`2
`routine being disabled, disabling the boot up process.
`EEPROM flash devices may be programmed with BIOS
`routines which permit the user to enter data without requir
`ing the computer to be returned to the manufacture. The
`present invention makes use of these new BIOS memory
`devices for effecting security measures which discourage
`theft.
`
`SUMMARY OF THE INVENTION
`The present invention provides for an apparatus and
`method for discouraging theft. The invention requires that a
`user enter a unique word or number related to the particular
`computer each time the computer is powered up. The
`computer BIOS memory for storing the BIOS routines also
`stores a security routine. As a minimum, the security routine
`requires verification of a password entered by the user, or a
`verification of a quantity read from an externally connected
`memory device. The security function stored in the BIOS
`memory also includes an administration function which may
`be invoked by the user following the normal boot up
`sequence initiated by the BIOS once the password or vali
`dation quantity is verified. The administration function may
`be invoked by the user to place the computer in the locked
`state which requires verification each time the computer
`executes the BIOS routines, or in the unlocked state in which
`the protection is bypassed each time the BIOS routines are
`executed. The locked or unlocked state is programmed by
`writing a code representing each state to an internal memory.
`During execution of the BIOS routines, the internal memory
`location containing the code is read, and the security func
`tion is invoked, or not, depending on the value of the read
`code.
`In accordance with one embodiment of the invention,
`when the computer is in the locked state, the external
`memory must be operatively connected to the computer each
`time the computer is booted up. If the user removes the
`external memory, or inadvertently forgets to attach it to the
`computer, the security function will halt complete execution
`of the BIOS routines.
`In another embodiment of the invention, the locked state
`requires the user to manually enter the password through the
`keyboard in response to a prompt during execution of the
`BIOS routine. The security function compares a unique, user
`defined password stored in the BIOS memory to the user
`supplied password. If the two passwords agree, the computer
`completes execution of the BIOS routine.
`In either embodiment, the computer may be unlocked by
`accessing the administrative function once the computer has
`completed execution of the BIOS routines. In the unlocked
`state neither the external memory is necessary nor is the user
`required to enter a password each time the system is booted
`up.
`
`DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates the basic components of a personal
`computing system.
`FIG. 2 illustrates in accordance with a preferred embodi
`ment of the invention a security key for preventing operation
`of the personal computer when it is disconnected from the
`computer.
`illustrates the organization of a memory 15 holding
`FIG. 3
`the BIOS routines as well as a security function for the
`computer.
`FIG. 4 illustrates the organization of a CMOS RAM 17
`which participates in the security function.
`
`
`
`5,892,906
`
`5
`
`3
`illustrates the execution of the security routines by
`FIG. 5
`the preferred embodiment requiring the physical key to be
`connected to the computer.
`FIG. 6 illustrates the steps for creating BIOS routines
`which incorporates the security function.
`FIG. 7 illustrates the security routine within a BIOS
`memory in accordance with another embodiment of the
`invention.
`FIG. 8 illustrates the organization of the CMOS RAM
`17(a) in accordance with the second embodiment of the
`invention.
`FIG. 9 is a flow chart which illustrates the creation of a
`BIOS memory having the security function of the second
`embodiment of the invention.
`FIG. 10 illustrates the process executed by the security
`function according to the second embodiment.
`
`4
`The security routines 25 within the BIOS memory require
`a user to follow a specific procedure which identify the user
`as an authorized user. If the user is not verified as authorized,
`the BIOS routines will not be completely executed, render
`ing the computer inoperative.
`The EEPROM of FIG. 3 which serves as the BIOS
`memory 15 includes a first unique, one of a kind, computer
`ID 28 established by the computer manufacturers, and a
`public decryption key 29. As will be evident during the
`description of the installation stage, the security key of FIG.
`2 stores a unique serial number in ROM 19 as well as an
`encrypted value of the product of the key serial number and
`the computer’s ED. During execution of the security
`function, the contents of key ROM 19 are read. The
`encrypted quantity is decrypted, and compared with a prod
`uct formed from the serial number read from ROM 19 and
`the stored computer I.D. 28 stored in the BIOS memory 15.
`If these quantities match, the BIOS routine continues execu
`tion.
`Two keys may be provided, and in the event one key is
`mislaid, the other key permits access to the administrative
`function which can unlock the computer permitting opera
`tion of the computer. The stored public key 29 is provided
`at the time the BIOS EEPROM is configured, which permit
`decoding of encrypted values stored within the keys. Either
`of these keys may be used to gain access to the administra
`tion function should one key be lost or unavailable.
`FIG. 4 illustrates the CMOS RAM 17 which is common
`to the personal computer architecture. The CMOS RAM 17
`includes Drive Configuration Routines 31 and POST Con
`figuration Routines 32. CMOS RAM 17 has a memory
`location 30 which when empty, represents a locked state for
`the computer. If the computer is in the unlocked mode, the
`memory location 30 is written with a non zero unlocking
`code. Once the computer has been set via the administration
`mode of the security function 25, to be in the locked state,
`the contents of memory location 30 will be set to 00.
`Consequently, if the CMOS RAM 17 is removed by a thief,
`or otherwise erased, the computer remains in the locked
`state, inhibiting completion of the BIOS routine execution.
`During the execution of the normal BIOS routines within
`the BIOS memory 15 of FIG. 3, the contents of memory
`location 30 are checked and if the contents of memory
`location 30 of the CMOS RAM 17 indicate a locked
`condition, the POST routine 23 will stop execution before
`the BOOT routine 22 can be executed, and enter the security
`routine 25. Once in the security 25 routine, the security
`routine attempts to read the contents of the security key
`ROM 19 connected to the serial port 16. If security key 19
`is connected to serial port 16, the unique key serial number
`and encrypted product M are read. The security function
`forms a product of the read serial number and the computer
`I.D. 28 stored in BIOS EEPROM 15. The security function
`25 decrypts the second encrypted value M read from secu
`rity key 19, and compares it with the computed product. If
`a match is produced by the comparison, the computer goes
`on to execute the BOOT codes 22 and peripheral routines 21.
`The administration function of the security routine 25
`permits the user to place the machine either in an unlocked
`state or a locked state. In the unlocked state, the BIOS POST
`routine 23 skips the security function and executes the
`BOOT code 22 and peripheral routines 21. If the computer
`is in the locked mode as previously described, the BIOS
`routine execution is halted during execution unless the
`appropriate security key ROM 19 is connected to the serial
`port 16.
`
`10
`
`15
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`Referring now to FIG. 1, a general organization of a
`personal computer 10 is shown which includes a security
`function stored as a programming routine within the BIOS
`EEPROM 15. As will be evident with respect to the descrip
`tion of this embodiment, the BIOS routines which provide
`for the basic input/output system cannot be completely
`executed unless the security function is successfully
`executed.
`As will be understood by those familiar with the archi
`tecture of a personal computer, a CPU 14, a CMOS RAM
`17, and the BIOS memory is supported on a mother board
`which permits upgrades to be made to the system. A serial
`port 16 permits the computer 10 to communicate with
`externally connected devices. A monitor 11 and keyboard 13
`provide a user interface with the personal computer 10.
`In accordance with the preferred embodiment of the
`present invention, a memory device such as a detachable
`read only memory (ROM), 19 shown in FIG. 2 having nine
`pin connector 20 may be detachably connected to the serial
`port 16. The detachable ROM 19 of FIG. 2 serves as a key
`which contains information necessary to permit the BIOS
`routine stored within BIOS memory 15 to complete execu
`tion. The BIOS routines perform various functions, such as
`power-on self tests (POST), peripheral routines, boot codes,
`etc., for initially loading the computer operating system
`software from a hard disk memory, or from floppy disk
`associated with the computer 10. The key has a small form
`factor permitting it to be carried separately by the user on a
`key chain. Thus, if the computer 10 is stolen, the key is not
`stolen with it.
`FIG. 3 illustrates the organization of the BIOS memory 15
`which may be a flash EEPROM containing the various
`executable BIOS routines as well as routines for implement
`ing a security function. Inclusion of routines for executing a
`security function 25 with the BIOS routines is particularly
`useful in preventing a thief from bypassing security mea
`sures which might have been implemented on the hard drive,
`or in an application program, or which previously made use
`of the CMOS RAM 17. Unless the BIOS routine has
`completely executed, the computer operating system can
`never be accessed rendering the computer inoperative.
`The contents of the BIOS memory 15 are illustrated in
`FIG. 3, including the POST (power-on self test) routine 23,
`the boot code 22 for loading the computer operating system
`in RAM, and routine 21 for configuring peripheral devices
`connected to computer 10.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`5
`The advantage of the foregoing system is readily appar
`ent. If the user is concerned about theft, he configures the
`machined to be in the locked mode, thereby inhibiting
`operation unless his personal security key including ROM
`19 is connected to the serial port 16. While the computer 10
`is unattended, the user may remove the security key. If the
`device of computer 10 is stolen while in the locked mode, a
`subsequent user will not be able to activate the computer 10
`of FIG. 1 without the unique security key. A security key is
`only useful for accessing one computer 10, and the acqui
`sition of another security key with another serial number or
`encrypted value will not enable the thief to operate the
`computer 10.
`Since the CMOS RAM memory location 30 was config
`ured so that a zero entry within the CMOS RAM location 30
`constitutes the locked mode, replacing the CMOS RAM or
`disabling power to it will only place it in the locked mode,
`and execution of the BIOS routine is therefore effectively
`inhibited rendering computer 10 of nearly worthless value to
`a thief, discouraging future thefts.
`FIG. 5 illustrates the step-by-step process for executing
`the security function 25 as well as locking and unlocking the
`computer in accordance with the preferred embodiment. In
`step 40 the user attaches the key containing the ROM 19 to
`the serial port 16 of the computer. The computer is rebooted
`in step 41 through a software reboot command.
`Any subsequent operation of the computer requiring the
`computer to be rebooted can only occur after the user
`attaches the key having ROM 19 to serial port 16 as shown
`in step 40 unless the user enters the unlocked state. After
`completing the POST routine 42, the BIOS routine examines
`the contents of CMOS RAM 17 in step 43, and enters the
`security routine 25 if the computer 10 was not previously set
`in the unlocked state as is determined in decision block 44.
`The computer will be in the lock state if it has not
`previously been specifically set in the unlocked state. If the
`external ROM 19 is not connected as determined in decision
`45, a message is posted to the user “CONNECT KEY”. The
`security routines are executed in step 46, by first reading the
`contents of the ROM of the key 19 attached to serial port 16.
`The ROM contains two values, an unencrypted serial num
`ber unique to the key, and an encrypted value M which
`represents the product of the serial number of the key and the
`computer I.D. number. A decryption subroutine is entered in
`step 48, which using the public key 29 stored within the
`BIOS memory 15, decrypts the value of the product M. The
`security routines then reads, in step 49, the computer I.D.
`from location 28 of the BIOS memory 15. A product is
`calculated in step 50, between the read serial number from
`the attached key 19, and the computer I.D. 28 obtained from
`the BIOS memory 15.
`The two products are compared in decision block 51 and
`if a match occurs, then the user has been verified as
`possessing the connect key and is authorized to use the
`computer. The remaining boot code is executed in steps 53
`and the peripheral routines are executed in step 54. This
`represents the completion of the BIOS routine execution,
`permitting the user to operate the computer in the normal
`way. In the event the comparison is not obtained in decision
`block 51, the boot up process is stopped in step 52 inhibiting
`any further use of the computer.
`In those circumstances where the user believes theft to be
`of minimal risk, and wishes to unlock the computer so that
`the security key is unnecessary, the user may enter the
`administration mode. First, the user enters a setup mode in
`step 55, which includes a menu selection ADMINISTRA
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,892,906
`
`6
`TION MODE. The user enters the administration mode in
`step 56 and is given submenu choices for either entering the
`locked state, had the computer been previously unlocked, or
`entering the unlocked state had the computer been previ
`ously locked. The locked state is entered in step 58 which
`writes in step 59 the command code 00 to location 30 of the
`CMOS RAM 17. The value 00 is a default value, and in the
`event the CMOS RAM 17 is replaced or has power removed
`therefrom, the computer remains in the locked state. Thus,
`the thief cannot frustrate the security function by tampering
`with the CMOS RAM 17.
`The unlocked state may be entered through the adminis
`tration mode by selecting in step 59 the unlocked feature. In
`this mode of operation, a non-zero unlock code is written in
`step 60 to memory location 30 of the CMOS RAM 17. In
`this event, each time the computer attempts a boot up
`sequence, memory location 30 will be checked in step 43
`and if it contains the unlock code, decision block 44 will
`direct execution to execute the boot code in step 53, skipping
`the security function.
`The process of creating the security function as part of the
`contents of the BIOS memory is illustrated in FIG. 6. The
`process begins with a selection of a private/public key
`combination in step 65. The private/public keys will be used
`to encrypt a quantity which represents the product of a serial
`number for the key as well as the computer I.D. for the
`particular computer for which the key operates. The BIOS
`memory is prepared by storing within it, the routines illus
`trated in FIG. 3 including the POST Routine, security
`function routines, boot codes, and the peripheral routines.
`Further, the BIOS memory is loaded with the computer I.D.
`number for which it is to be installed, as well as the public
`key derived in step 65.
`Once the routines are loaded for effecting the functions of
`FIG. 4, the BIOS memory is installed in the mother board of
`the computer 10 in step 67.
`A key is selected in step 68 for programming with the
`information which is related specifically to the computer 10.
`The key includes the ROM 19 which is written in step 69
`with a serial number unique to that key, if the serial number
`was not included at the time of the ROM manufacture, as
`well as an encrypted value M which is equal to the product
`of the computer’s I.D. and the serial number assigned to the
`key.
`A central log is maintained in step 70 of each key serial
`number and the respective computer I.D. which has been
`part of the encrypted value stored within the key.
`In this way, in the event the user looses his key, he can
`obtain another one from the manufacturer by reporting his
`computer I.D. to the manufacturer. The manufacturer using
`the master list can identify the serial number of the key and
`create, using the private key, a new key for shipment to the
`user.
`The encryption process is done in a tamper proof facility.
`In this way, the manufacturer maintains absolute control
`over who may obtain the information which would be useful
`in creating counterfeit keys which could be used to defeat
`the security function in a stolen computer.
`The system also provides additional security in that only
`the manufacturer knows the private key so that even with
`knowledge of the serial number of the key and computer
`I.D., it is not possible to create a counterfeit key. Further,
`different manufacturers can use different private/public key
`pairs, making it possible for the same BIOS code to be used
`in each computer. Each manufacturer would not be able to
`generate encrypted values M for another manufacturer’s
`computer as the encryption public/private key pair is private.
`
`
`
`7
`Computer manufacturers may include a warning on each
`of the computers, that the computer is equipped with a
`anti-theft protection, discouraging theft of a computer which
`could not be operated by its subsequent owner.
`A variation of the foregoing technique would permit each
`computer user to create his own keys. In this instance, each
`computer would be sold with a private/public key pair. The
`public key would be installed in the BIOS as described, the
`private key given to the customer along with a utility file
`which permits the generation of additional keys. In this case,
`each customer has his own unique private/public key pair
`and may configure as many keys as needed to enable as
`many authorized users to operate the system.
`A variation of the foregoing embodiment may be imple
`ment when it is undesirable to provide a separate hardware
`key for blocking the computer, and instead, relies upon a
`user entered password for protection. FIG. 7 illustrates the
`configuration of the BIOS EEPROM 15(a) in a system
`which relies on a user entered password instead of an
`externally connected key to enable complete execution of
`the BIOS routines. First and second passwords are entered
`in place of a key serial number by the user during an initial
`installation to locations 28(a) and 28(b) which may be
`written. Two other memory locations within the BIOS
`EEPROM 15(a) include a serial number or ED. number
`33(a) for the computer 10 as well as a public key 29(a)
`which is used to decrypt passwords entered by a user. As in
`the previous embodiment, CMOS RAM 17(a) of FIG. 8
`contains the usual drive configuration data 31(a) and port
`configuration data 32(a). Further a location 30(a) is reserved
`in the CMOS RAM 17(a) to indicate whether the computer
`is in a locked state, requiring entry of one of the passwords,
`or whether the computer is in an unlocked state in which
`case the BIOS routine bypasses the security function and
`boots up the computer in the normal way.
`The CMOS RAM 17(a) is configured so that in a default
`state i.e., when the CMOS RAM 17(a) is cleared by remov
`ing the battery, or replacing it, the computer is in the locked
`state. Only when an UNLOCKED code is written to the
`CMOS RAM location 30(a) will the BIOS routine complete
`execution without requiring a password. As in the previous
`embodiment there is an administration mode, to permit the
`user to switch between a locked and unlocked state.
`Additionally, the administrative mode permits the user to
`change passwords, as well as effecting an emergency opera
`tion when the password is lost or forgotten.
`FIG. 9 illustrates the process for storing a password as
`well as exercising the locking option for locking or unlock
`ing the computer. The computer in the locked state requires
`the user to enter his password each time a boot up sequence
`is started. The security function is implemented in the BIOS
`routines, such that if a password has been previously entered
`in memory, and the user has placed the computer in the
`locked state, a prompt will come up during the execution of
`the BIOS routines requesting the user to enter his password.
`If the password is correctly entered, and the BIOS security
`function verifies that the entered password is equal to the
`stored password, execution of the BIOS routines continues
`and the computer is rendered in an operative condition.
`A security administration mode associated with the secu
`rity function permits the user to register two valid
`passwords, and then to place the computer in either a locked
`state or unlocked state. In placing the computer in the
`unlocked state, the user must return to the security admin
`istration mode and select either the locked or unlocked state.
`Once one password has been registered and stored within the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`5,892,906
`
`8
`BIOS EEPROM 15(a), the user cannot return to the security
`administration mode unless he enters the appropriate pass
`word. The computer therefore cannot be unlocked without
`entering the password.
`Along with the first and second user entered passwords
`stored in the BIOS EEPROM 15A, an encrypted computer
`serial number is provided by the manufacturer of the com
`puter. The computer serial number will act as an emergency
`password, which in the event of the lost of the first and
`second passwords, permits the user to enter the administra
`tive function. The actual computer serial number is not
`disclosed to the user, instead a public key encrypted value of
`the computer serial number is supplied to the user. The
`public key with the BIOS EEPROM 15(a) decrypts the
`encrypted value provided to the user, permitting its com
`parison with the actual serial number stored in a memory
`location of the BIOS EEPROM 15(a).
`FIG. 9 illustrates the process for preparing the security
`