throbber
United States Patent [19J
`Angelo
`
`[54] SECURE METHOD FOR ENABLING/
`DISABLING POWER TO A COMPUTER
`SYSTEM FOLLOWING TWO-PIECE USER
`VERIFICATION
`
`[75]
`
`Inventor: Michael F. Angelo, Houston, Tex.
`
`[73] Assignee: Compaq Computer Corporation,
`Houston, Tex.
`
`[ *] Notice:
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`[21] Appl. No.: 08/766,720
`
`[22] Filed:
`
`Dec. 13, 1996
`
`[51]
`[52]
`
`[58]
`
`[56]
`
`Int. Cl.6
`................................. H04L 9/00; H04L 9/08
`U.S. Cl. ................................... 380/25; 380/4; 380/21;
`380/23; 380/49; 380/50; 340/825.31; 340/825.34;
`235/380; 395/186; 395/187.01; 395/188.01
`Field of Search .................................... 380/23, 25, 4,
`380/24, 49, 50, 21, 9; 395/186, 187.01,
`188.01; 340/825.31, 825.34; 235/379, 380
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,405,829
`4,799,258
`4,890,323
`4,969,188
`5,276,737
`5,315,658
`5,375,243
`5,377,269
`5,432,851
`5,485,519
`5,511,122
`5,537,540
`5,590,199
`5,666,415
`
`9 /1983 Rivest et al. .
`1/1989 Davies .
`12/1989 Beker et al. .
`11/1990 Schobi .. ... ... ... .... ... ... ... ... ... .... ... . 380/23
`1/1994 Micali .
`5/1994 Micali .
`12/1994 Parzych et al. .
`12/1994 Heptig et al. .. ... ... ... ... .... ... ... ... .. 380/25
`7 /1995 Scheidt et al. . ... ... ... ... .... ... ... ... .. 380/25
`1/1996 Weiss ........................................ 380/23
`4/1996 Atkinson .
`7 /1996 Miller et al. .
`12/1996 Krawjewski et al. .
`9/1997 Kaufman ................................... 380/23
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005960084A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,960,084
`*Sep.28,1999
`
`OTHER PUBLICATIONS
`
`Applied Cryptography, Second Edition, pp. 1-74, 1996.
`Electronic Design, Products Newsletter, p. 167, Nov. 1996.
`Dallas Semiconductor, 64Kbit Touch Memory, DS1996,
`1995.
`Dallas Semiconductor, Touch Memory Starter Kit,
`DS9092K, 1995.
`Dallas Semiconductor, Touch COM Port Adapter, DS9097/
`DS9097E, 1995.
`Dallas Semiconductor, Touch Multikey, DS1991, 1995.
`
`Primary Examiner-Bernarr E. Gregory
`Attorney, Agent, or Firm-Akin, Gump, Strauss, Hauer &
`Feld
`
`[57]
`
`ABSTRACT
`
`A method for enabling power to all or portions of a computer
`system based upon the results of a two-piece user verifica(cid:173)
`tion process that is completed as part of a secure power-up
`procedure. At some point during the secure power-up
`procedure, the computer user provides an external token or
`smart card that is coupled to the computer through special(cid:173)
`ized hardware. The token or smart card is used to store an
`encryption algorithm furnished with an encryption key that
`is unique or of limited production. The computer user is then
`required to enter a plain text user password. Once entered,
`the user password is encrypted using the encryption algo(cid:173)
`rithm contained in the external token to create a system
`password. The system password is compared to a value
`stored in secure memory. If the two values match, the
`power-on sequence is completed and power to the computer
`system and/or secured computer resources is enabled. If the
`two values do not match, power to the entire computer
`system and/or secured computer resources is disabled. The
`two-piece nature of the authorization process requires the
`presence of both the user password and the external token in
`order to generate the system password.
`
`18 Claims, 4 Drawing Sheets
`
`.------..1165
`
`114
`
`VIDEO
`CONTROLLER
`
`HOST AOOR
`PA116 .. 3J
`
`64·BIT HOST DATA
`PD(0 .. 631
`116
`
`102 106
`.----~......... HOST ADDR
`
`Voc1 Voc2
`
`~~~i
`
`IDE
`ISA BUS
`
`159
`
`TOKEN
`
`IPR2017-00430
`UNIFIED EX1014
`
`

`
`s~
`--~
`- - - - - -
`- - -
`:
`104
`CACHE CTRL
`
`,-100
`---------L-----------
`..1==:;i
`CPU/MEMORY
`I 114
`64-BIT MEMORY DATA
`HB
`MD(0 .. 63)
`118
`
`DRAM's
`
`I
`
`DATA
`BUFFERS
`
`J
`
`RAS#, CAS#
`
`120
`
`:
`
`:
`I
`~
`I
`1
`1
`
`HOST ADDR
`PA(16 .. 3)
`64-BIT HOST DATA
`PD(0 .. 63)
`)
`116
`*
`102
`MICRO·
`PROCESSOR
`
`MEM ADDA, MEMWEI
`1
`
`106
`CACHE &
`HOST ADDR
`PA(31..31
`MEMORY
`108
`t4--....i.---e~ CONTROLLER
`I
`1
`I
`110
`HOST CTRL/STATUS
`- - - - - - - - - - - - - - - - ____________ J
`130
`IDE
`PCI BUS
`
`I
`
`j../165
`
`VIDEO MEMORY
`
`17~
`
`MONITOR
`
`VIDEO
`CONTROLLER
`
`·---:.r--- I
`
`BUS GRANT
`DEASSERT
`LOGIC
`
`NETWORK
`INTERFACE
`CONTROLLER
`
`128
`
`122
`124
`
`WRITE
`PROTECT
`LOGIC
`
`.......____. 124
`
`I PARALLEL PORT t-132
`CONN
`Xl
`t
`
`X-BUS
`
`__ _.,
`
`PCI·
`ISA
`BRIDGE
`
`ISA BUS
`
`I~
`ISA BUS (ISA ADDR/DATA/CTRLI
`
`POWER Lr 180
`SUPPLY
`
`I
`
`ISA CONN
`
`PCI BUS (PCI AID & CTRLI J
`
`PCI CONN
`
`142
`
`P
`
`ISA CONN
`
`PCI CONN
`
`134
`
`134
`
`FIG. 1
`
`FLOPPY CONTROLLER
`RTC/CMOS
`UARTS
`KEYBOARD CONTROLLER
`
`KYBD MOUSE
`CONN
`CONN
`
`160
`
`138
`136
`0 ===0=
`180 158
`I
`
`159
`
`164
`
`154
`
`f 8M-
`
`ADAPTER
`
`184
`
`TOKEN
`
`-- rl
`?'1
`186 188
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`'Jl
`~ '?
`N
`~CIO
`'"""'
`\C
`\C
`\C
`
`'Jl =(cid:173)~
`~ .....
`'"""' 0 .....,
`
`.i;;..
`
`Ul
`....
`\C
`
`0--, =
`.... = 00
`
`~
`
`

`
`U.S. Patent
`
`Sep.28,1999
`
`Sheet 2 of 4
`
`5,960,084
`
`200
`
`202
`
`POWER ON
`
`BEGIN EXECUTION
`OF BIOS
`
`POST
`
`204
`
`206
`
`BEGIN SECURE
`POWER-UP
`PROCEDURE
`
`N
`
`DISPLAY MESSAGE
`REQUESTING TOKEN
`
`210
`
`212
`
`214
`
`PROMPT USER FOR
`POWER-ON PASSWORD
`
`ENCRYPT PASSWORD
`USING ENCRYPTION
`ALGORITHM IN TOKEN
`
`FIG. 2A
`
`

`
`U.S. Patent
`
`Sep.28,1999
`
`Sheet 3 of 4
`
`5,960,084
`
`_____ ,,.-218
`>N---3..c DISABLE POWER
`SUPPLY
`
`N
`
`224
`
`CLEAR ATTEMPT
`COUNTER
`
`PROMPT USER FOR
`PERIPHERAL PASSWORD
`
`INCREMENT
`COUNTER
`
`ENCRYPT PERIPHERAL
`PASSWORD USING
`ENCRYPTION ALGORITHM
`IN TOKEN
`
`DOWNLOAD ENCRYPTED
`PASSWORD TO PERIPHERAL
`
`FIG. 28
`
`238
`SEND ERROR
`MESSAGE
`
`240
`
`CONTINUE SECURE
`POWER-UP PROCEDURE
`
`

`
`p
`
`PCIBUS
`
`~
`
`130
`
`PCl-ISA
`BRIDGE
`
`;111
`I
`:-INT-ERRUPT -
`1 CONTROLLER{
`1 POWER SUPPLY
`CONTROL
`I
`
`ISA BUS
`
`I
`
`SHUTDOWN1
`
`SHUTDOWN2
`
`POWER
`SUPPLY
`
`POWERGOOD
`
`FIG. 3
`
`TO SECURED
`PERIPHERAL DEVICES,
`BAY DOORS, ETC.
`
`TO CORE
`COMPONENTS
`
`Vac1I
`
`•
`
`Vac2
`
`180
`
`---'- 190
`I
`"',
`__ .J
`
`192
`
`d •
`\JJ.
`•
`~
`~ ......
`~ = ......
`
`'Jl
`~ '?
`N
`~CIO
`""""
`\C
`\C
`\C
`
`'Jl =-~
`~ .....
`
`.i;;..
`0 .....,
`.i;;..
`
`Ul
`....
`\C
`
`0--, =
`.... = 00
`
`~
`
`

`
`5,960,084
`
`1
`SECURE METHOD FOR ENABLING/
`DISABLING POWER TO A COMPUTER
`SYSTEM FOLLOWING TWO-PIECE USER
`VERIFICATION
`
`BACKGROUND OF THE INVENTION
`
`2
`It is generally very difficult to calculate the decryption key
`from an encryption key. In typical operation, the "public
`key" used for encryption is made public via a readily
`accessible directory, while the corresponding "private key"
`5 used for decryption is known only to the recipient of the
`ciphertext. In an exemplary public key transaction, a sender
`retrieves the recipient's public key and uses it to encrypt the
`message prior to sending it. The recipient then decrypts the
`message with the corresponding private key. It is also
`possible to encrypt a message using a private key and
`10 decrypt it using a public key. This is sometimes used in
`digital signatures to authenticate the source of a message.
`One problem with public key algorithms is speed. Public
`key algorithms are typically on the order of 1,000 times
`slower than symmetric algorithms. This is one reason that
`secure communications are often implemented using a
`hybrid cryptosystem. In such a system, one party encrypts a
`random "session key" with the other party's public key. The
`receiving party recovers the session key by decrypting it
`with his/her private key. All further communications are
`encrypted using the same session key (which effectively is
`a secret key) and a symmetric algorithm.
`The number of cryptographic algorithms is constantly
`growing. The two most popular are DES (Data Encryption
`25 Standard) and RSA (named after its inventors-Rivest,
`Shamir, and Adleman). DES is a symmetric algorithm with
`a fixed key length of 56 bits. RSA is a public key algorithm
`that can be used for both encryption and digital signatures.
`DSA(Digital Signature Algorithm) is another popular public
`30 key algorithm that is only used for digital signatures. With
`any of these algorithms, the relative difficulty of breaking an
`encrypted message by guessing a key with a brute force
`attack is proportional to the length of the key. For example,
`if the key is 40 bits long, the total number of possible keys
`35 (240
`) is about 110 billion. Given the computational power of
`modern computers, this value is often considered inad(cid:173)
`equate. By comparison, a key length of 56 bits provides
`65,636 times as many possible values as the 40 bit key.
`While much attention has been given to protecting com-
`40 munications and data as they are transmitted via internal
`networks (intranets) and external networks (such as the
`Internet), few security improvements have focused on the
`hardware itself. One known method of offering limited
`access to hardware and the data it contains is by the use of
`45 passwords. A password is typically stored in battery-backed
`CMOS RAM memory. Before the user is allowed access to
`the computer or secured computer resources, the user is
`required to enter a password. Once a password is entered, the
`computer's power-on routines compares the password to the
`50 password in CMOS memory and, if they match, the user is
`allowed access.
`A main disadvantage of this system is that certain forms
`of attack can bypass the CMOS memory because in many
`cases it is not read protected. To address this concern, the
`password can be encoded. Most encoding schemes can be
`reverse engineered by a sophisticated computer virus or
`malicious code, however, potentially leading to a costly
`security breach. Further, the CMOS memory could simply
`be disconnected from its battery, causing the loss of the
`password and any other contents.
`Physical keys or tokens, such as those used to unlock a
`door, have also been used to permit access to a computer
`system. Like the password approach, this type of security is
`"one-piece" in nature, and is compromised if the key or
`65 token is stolen. Anyone possessing the key can gain access
`to the computer's data and is accorded the same level of
`access as the authorized user.
`
`20
`
`15
`
`1. Field of the Invention
`The invention relates to security in a computer system,
`and more particularly to enabling power to all or portions of
`a computer system based upon the results of a two-piece user
`verification process.
`2. Description of the Related Art
`Large amounts of money are invested by companies and
`individuals to purchase computer hardware and software,
`and even more money is spent developing the information
`contained in data files such as text documents and spread(cid:173)
`sheets. Protecting these investments can be critical to the
`success and reputation of a business. Public accounts of the
`exploits of computer "hackers"-as malicious code(cid:173)
`breakers or eavesdroppers are sometimes called-have
`therefore focused and magnified corporate desires for more
`secure communications and better methods to protect data.
`The scope of the problem is undoubtedly even more serious
`than reported, given the reluctance of many businesses to
`report security breaches. As a result, security conscious
`users are requesting that security and integrity features be
`incorporated into their computers to restrict access to data
`contained on hard drives, as well as information contained
`in other critical system components.
`One known approach to security involves encryption or
`cryptography. Cryptography is typically used to protect both
`data and communications. Generally, the original message
`or data item is referred to as "plain text", while "encryption"
`denotes the process of disguising or altering a message in
`such a way that its substance is not readily discernable. An
`encrypted message is called "ciphertext". Ciphertext is
`returned to plain text by an inverse operation referred to as
`"decryption". Encryption is typically accomplished through
`the use of a cryptographic algorithm, which is essentially a
`mathematical function. There are many types of crypto(cid:173)
`graphic algorithms, providing varying levels of security.
`The most common cryptographic algorithms are key(cid:173)
`based, where special knowledge of variable information
`called a "key" is required to decrypt ciphertext. There are
`two prevalent types of key-based algorithms: "symmetric"
`(also called secret key or single key algorithms) and "public
`key" (also called asymmetric algorithms). The security in
`these algorithms is centered around the keys-not the details
`of the algorithm itself. This makes it possible to publish the
`algorithm for public scrutiny and then mass produce it for
`incorporation into security products.
`In most symmetric algorithms, the encryption key and the
`decryption key are the same. This single key encryption 55
`arrangement is not flaw-free. The sender and recipient of a
`message must somehow exchange information regarding the
`secret key. Each side must trust the other not to disclose the
`key. Further, the sender must generally communicate the key
`via another media (similar to a bank sending the personal 60
`identification number for an ATM card through the mail).
`This arrangement is not practical when, for example, the
`parties interact electronically for the first time over a net(cid:173)
`work. The number of keys also increases rapidly as the
`number of users increases.
`With public key algorithms, by comparison, the key used
`for encryption is different from the key used for decryption.
`
`

`
`10
`
`3
`Providing sufficient security can be particularly difficult in
`the case of portable computers. Unlike their desktop
`counterparts, portable computers are easily stolen. Once
`stolen, the security afforded by physical keys or passwords
`used to protect data stored on hard drives or other mass 5
`storage devices is readily bypassed. For example, it is a
`simple procedure to physically remove the hard drive unit or
`other system component from the stolen computer-which
`is password protected-and install it in a second, unsecured
`computer system. Further, automated brute force attacks
`against the passwords of a stolen computer can nullify
`protection. Currently, there exists no satisfactory method of
`protecting vulnerable or stolen computer equipment and the
`data it might contain from unauthorized access.
`SUMMARY OF THE INVENTION
`Briefly, a system according to the invention utilizes a
`secure two-piece password verification process to enable
`power to a computer system or secured computer resources.
`In the disclosed embodiment, the password verification
`process is carried out during a secure power-up procedure. 20
`At some point during the secure power-up procedure, the
`computer system checks for the presence of an external
`token or smart card that is coupled to the computer through
`specialized hardware. The token or smart card is used to
`store an encryption algorithm furnished with an encryption 25
`key that is unique or of limited production.
`Following detection of the external token, the computer
`user is required to enter a plain text user password. Once
`entered, the user password is encrypted using the encryption
`algorithm contained in the external token, thereby creating 30
`a system password. The system password is compared to a
`value stored in secure memory. If the two values match, the
`power-on sequence is completed and power to the computer
`system and/or secured computer resources is enabled. If the
`two values do not match, power to the entire computer 35
`system and/or secured computer resources is disabled.
`In the disclosed embodiment of the invention, a bifurcated
`power supply is utilized to provide separate supply voltages.
`A first one of the supply voltages is used to power core
`computer components needed to complete the power-on 40
`sequence. This first supply voltage is enabled when the
`computer is turned on. If a valid system password is not
`provided, the first supply voltage is disabled. The resulting
`delay associated with re-booting the computer system dis(cid:173)
`courages brute force attacks against the user password in 45
`situations where the external token has been misappropri(cid:173)
`ated.
`A second supply voltage is used to power peripheral
`computer resources, including bay door/case locks and mass
`data storage devices. The computer system is configured to
`enable the second supply voltage only after a valid system
`password is detected. By requiring entry of a valid system
`password before enabling power to peripheral devices and
`bay door/case locks, the possessor of a stolen computer is
`forced to physically damage the computer casing before
`gaining access to secured resources. The value of stolen
`computer equipment is thereby reduced and computer theft
`is discouraged.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`A better understanding of the present invention can be
`obtained when the following detailed description of the
`preferred embodiment is considered in conjunction with the
`following drawings, in which:
`FIG. 1 is a schematic block diagram of a computer system
`incorporating secure power-on capabilities in accordance
`with the present invention;
`
`60
`
`5,960,084
`
`4
`FIGS. 2A and 2B are flowchart diagrams illustrating a
`secure power-on sequence incorporating two-piece user
`authentication according to the present invention; and
`FIG. 3 is a schematic diagram of an exemplary power
`supply according to the present invention.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`The following patents and applications are hereby incor(cid:173)
`porated by reference:
`Commonly-assigned U.S. Pat. No. 5,537,540, entitled
`"TRANSPARENT, SECURE COMPUTER VIRUS
`DETECTION METHOD AND APPARATUS", referred to
`15 as the "SAFESTART patent";
`Commonly-assigned U.S. patent application Ser. No.
`08/398,343, entitled, "SECURITY CONTROL FOR A PER(cid:173)
`SONAL COMPUTER," filed on Mar. 3, 1995, now aban(cid:173)
`doned;
`Commonly-assigned U.S. Pat. No. 5,375,243, entitled
`"HARD DISK PASSWORD SECURITY SYSTEM";
`Commonly-assigned U.S. patent application Ser. No.
`08/632,892, entitled "SECURE POWER SUPPLY," filed on
`Apr. 16, 1996, now U.S. Pat. No. 5,751,950; and
`Commonly-assigned U.S. patent application Ser. No.
`08/657,982, entitled "METHOD AND APPARATUS FOR
`PROVIDING SECURE AND PRIVATE KEYBOARD
`COMMUNICATIONS IN COMPUTER SYSTEMS", filed
`on May 29, 1996 now U.S. Pat. No. 5,748,888.
`Referring first to FIG. 1, a computer system S according
`to the present invention is shown. In the preferred
`embodiment, the system S incorporates two primary buses:
`a Peripheral Component Interconnect (PCI) bus P which
`includes an address/data portion and a control signal portion;
`and an Industry Standard Architecture (ISA) bus I which
`includes an address portion, a data portion, and a control
`signal portion. The PCI and ISA buses P and I form the
`architectural backbone of the computer system S.
`A CPU/memory subsystem 100 is connected to the PCI
`bus P. The processor 102 is preferably the Pentium® pro(cid:173)
`cessor from Intel Corporation, but could be an 80486 or any
`number of similar or next-generation processors. The pro(cid:173)
`cessor 102 drives data, address, and control portions 116,
`106, and 108 of a host bus HB. A level 2 (L2) or external
`cache memory 104 is connected to the host bus HB to
`provide additional caching capabilities that improve the
`overall performance of the computer system S. The L2 cache
`104 may be permanently installed or may be removable if
`50 desired. A cache and memory controller 110 and a PCI-ISA
`bridge chip 130 are connected to the control and address
`portions 108 and 106 of the host bus HB. The cache and
`memory controller chip 110 is configured to control a series
`of data buffers 112. The data buffers 112 are preferably the
`55 82433LX from Intel, and are coupled to and drive the host
`data bus 116 and a MD or memory data bus 118 that is
`connected to a memory array 114. A memory address and
`memory control signal bus is provided from the cache and
`memory controller 110.
`The data buffers 112, cache and memory controller 110,
`and PCI-ISA bridge 130 are all connected to the PCI bus P.
`The PCI-ISA bridge 130 is used to convert signals between
`the PCI bus P and the ISA bus I. The PCI-ISA bridge 130
`includes: the necessary address and data buffers, arbitration
`65 and bus master control logic for the PCI bus P, ISA arbitra(cid:173)
`tion circuitry, an ISA bus controller as conventionally used
`in ISA systems, an IDE (intelligent drive electronics)
`
`

`
`5,960,084
`
`5
`
`40
`
`5
`interface, and a DMA controller. A hard disk drive 140 is
`connected to the IDE interface of the PCI-ISA bridge 130.
`Tape drives, CD-ROM devices or other peripheral storage
`devices (not shown) can be similarly connected.
`In the disclosed embodiment, the PCI-ISAbridge 130 also
`includes miscellaneous system logic. This miscellaneous
`system logic contains counters and activity timers as con(cid:173)
`ventionally present in personal computer systems, an inter(cid:173)
`rupt controller 111 (FIG. 3) for both the PCI and ISA buses
`P and I, and power management logic. Additionally, the 10
`miscellaneous system logic may include circuitry for a
`security management system used for password verification
`and to allow access to protected resources as described more
`fully below.
`The PCI-ISA bridge 130 also includes circuitry to gener- 15
`ate a "soft" SMI (System Management Interrupt), as well as
`SMI and keyboard controller interface circuitry. The mis(cid:173)
`cellaneous system logic is connected to the flash ROM 154
`through write protection logic 164. As discussed below,
`separate enable/interrupt signals are also communicated 20
`from the PCI-ISA bridge 130 to the power supply 180 and
`the hard drive 140. Preferably, the PCI-ISA bridge 130 is a
`single integrated circuit, but other combinations are pos(cid:173)
`sible.
`A series of ISA slots 134 are connected to the ISA bus I 25
`to receive ISA adapter cards. A series of PCI slots 142 are
`similarly provided on the PCI bus P to receive PCI adapter
`cards.
`A video controller 165 is also connected to the PCI bus P.
`Video memory 166 is used to store graphics data and is
`connected to the video graphics controller 165 and a digital/
`analog converter (RAMDAC) 168. The video graphics con(cid:173)
`troller 165 controls the operation of the video memory 166,
`allowing data to be written and retrieved as required. A 35
`monitor connector 169 is connected to the RAMDAC 168
`for connecting a monitor 170.
`A network interface controller (NIC) 122 is also con(cid:173)
`nected to the PCI bus P. Preferably, the controller 122 is a
`single integrated circuit that includes the capabilities nec(cid:173)
`essary to act as a PCI bus master and slave, as well as
`circuitry required to act as an Ethernet interface. Attachment
`Unit Interface (AUi) and 10 base-T connectors 124 are
`provided in the system S, and are connected to the NIC 122
`via filter and transformer circuitry 126. This circuitry forms 45
`a network or Ethernet connection for connecting the com(cid:173)
`puter system S to a local area network (LAN).
`A combination 1/0 chip 136 is connected to the ISA bus
`I. The combination 1/0 chip 136 preferably includes a real
`time clock, two UARTS, a floppy disk controller for con(cid:173)
`trolling a floppy disk drive 138, and various address decode
`logic and security logic to control access to an internal or
`external CMOS/NVRAM memory (not shown) and stored
`password values. Further details of contemplated uses of the
`NVRAM memory are provided below. Additionally, a con- 55
`trol line is provided to the read and write protection logic
`164 to further control access to the flash ROM 154. Serial
`port connectors 146 and parallel port connector 132 are also
`connected to the combination 1/0 chip 136.
`An 8042, or keyboard controller, is also included in the
`combination 1/0 chip 136. The keyboard controller is of
`conventional design and is connected in turn to a keyboard
`connector 158 and a mouse or pointing device connector
`160. A keyboard 159 is connected to the computer system S
`through the keyboard connector 158.
`A buffer 144 is connected to the ISA bus I to provide an
`additional X-bus X for various additional components of the
`
`6
`computer system S. A flash ROM 154 receives its control,
`address and data signals from the X-bus X. Preferably, the
`flash ROM 154 contains the BIOS information for the
`computer system and can be reprogrammed to allow for
`revisions of the BIOS.
`In the computer system S of FIG. 1, all electronic devices
`discussed above, including the processor 102, are powered
`by a regulated power supply 180. In the preferred
`embodiment, the regulated power supply has a power supply
`supervisory circuit that provides shutdown capability via
`power supply control signals SHUTDOWN! and SHUT-
`DOWN2 (FIG. 3). The power supply 180 receives an AC
`voltage supply via an AC plug 192 (FIG. 3).
`In the disclosed embodiment, the computer system S
`contains circuitry for communicating with a removable
`cryptographic token 188. The precise physical nature of the
`token 188 is not considered critical to the invention. The
`token can take many forms, such as a Touch Memory™
`device supplied by Dallas Semiconductor, Inc., a smart card,
`or an encryption card. Preferably, the token 188 is easily
`decoupled from the computer system S and easily transport-
`able by the token bearer. The token 188 contains at least one
`of a variety of encryption algorithms (such as DES,
`Blowfish, elliptic curve-based algorithms, etc.). Although
`the base algorithm can be the same in each token 188, it is
`preferable that the encryption key be different in each token
`188. Ideally, the token 188 is capable of communicating
`digitally with the computer system S during momentary
`contact with or proximity to the computer system S. The
`30 token 188 of the disclosed embodiment is capable of storing
`the encryption algorithm in a non-volatile manner and can
`be permanently write-protected to discourage tampering.
`In the disclosed embodiment of the invention, the cir(cid:173)
`cuitry used for establishing a communication link between
`the token 188 and the computer system S consists of a probe
`186 connected to a COM or serial port adapter 184. The port
`adapter 184 is connected to the RS232 connector 146. In
`operation, the token 188 is detachably received by the probe
`186. The probe 186 includes circuitry for reading and
`writing memory in the token 188, and can be fully powered
`through the RS232connector146. In addition, the probe 186
`includes presence detector circuitry for ascertaining the
`presence of a token 188.
`An additional feature of the computer system S is a
`System Management Mode (SMM), which is generally
`known to those skilled in the art. It is also noted that FIG.
`1 presents an exemplary embodiment of the computer sys(cid:173)
`tem S and it is understood that numerous other effective
`50 embodiments could readily be developed as known to those
`skilled in the art.
`Referring now to FIGS. 2A and 2B, an exemplary power-
`on sequence incorporating two-piece user verification
`according to the invention is shown. The sequence builds
`upon a secure power-up procedure, such as that described in
`the SAFESTART patent. Briefly, this invention reduces the
`administrative requirements of earlier techniques. A
`reserved non-DOS hard disk partition is used to pre-boot the
`computer system and provide a secure environment from
`60 which to verify files. Upon power-up or reset, the computer
`performs the power-on self test (POS1), during which it
`checks a SAFESTART track by comparing its hash value to
`a value stored in NVRAM. If the integrity of the SAF(cid:173)
`ESTART track is verified, the first "SAFESTART" routine is
`65 loaded into memory and executed.
`The SAFESTART routine first checks the master boot
`record and boot sectors of the hard disk. This verification
`
`

`
`5,960,084
`
`10
`
`7
`captures a large majority of viruses and is performed before
`any code residing in those areas is executed, thus preventing
`the spread of any discovered viruses. Further checks are
`performed on SAFESTART files before each is executed.
`Eventually, system files and any additional designated user
`files are verified. Since the computer system was booted
`from an atypical partition, the drives are remapped to
`account for the shift in logical disk drive addressing. When
`the verification process is completed, SAFESTART files are
`cleaned up, a latch is set to prevent unauthorized modifica-
`tion of the initial hash values, and control is returned to the
`BIOS to boot the user operating system. Thus, a computer
`system implemented according to the SAFESTART patent
`insures that designated software and passwords are trust(cid:173)
`worthy following a power-up cycle.
`As shown in FIG. 2A, when power to the computer 15
`system S is initially applied or the system undergoes a cold
`restart, the POWER-ON sequence 200 is commenced. In the
`first step 202 of the POWER-ON sequence 200 the computer
`system S begins executing from BIOS ROM. The BIOS is
`preferably stored in flash ROM 154 and contains low level 20
`programming for booting the operating system, and an
`interrupt handler for accessing the hard drive 140. Control
`then proceeds to step 204 where the computer system S
`performs a power-on self test (POST) to determine if all
`system hardware is operating properly.
`Following additional power-up steps (optional), control
`next proceeds to step 206 for commencement of a secure
`power-up procedure such as that described in the SAF(cid:173)
`ESTART patent. In the preferred embodiment, operating
`sequences for the secure power-up procedure are configured 30
`as an option ROM and located in the option ROM address
`space in a conventional manner. Preferably, the operating
`sequences are provided as the last option ROM in order to
`allow any other option ROM's to be installed at the outset.
`The system BIOS executes this portion of the secure power- 35
`on sequence as a part of its scan for option RO Ms, which are
`executed when encountered in POST. This arrangement
`requires address decoding for the power-on sequence, but
`also simplifies distribution into a family of computer sys(cid:173)
`tems. Alternatively, the power-on sequence could be imple- 40
`mented as a direct call from the BIOS, rather than an option
`ROM call.
`Control next proceeds to step 208 to determine if a token
`188 containing an encryption algorithm is present. If the
`aforementioned presence detection circuitry determines that
`a token is not present, control loops to step 210 to display a
`message requesting that the user provide a token 188. When
`a token 188 is present as determined in step 208, control
`passes to step 212 where the user is prompted to enter a plain
`text power-on password. As an alternative to a memorized
`value, the plain text password could be generated with the
`aid of biometrics. For example, a scanned fingerprint could
`be converted into a plain text password value.
`Control next proceeds to step 214 and the plain text
`password entered by the user is encrypted using the encryp(cid:173)
`tion algorithm provided by the external token 188. The
`encrypted plain text password effectively becomes the sys(cid:173)
`tem password, and is referred to as such through throughout
`this specification. The encryption algorithm that is utilized
`can take many forms, including DES, RSA, DSA, RC2,
`RC4, Blowfish, IDEA, 3-WAY, and MDC among others.
`Ideally, the algorithm in each token 188 is enabled by an
`encryption key that is unique or of limited production, such
`that it is impractical or impossible to circumvent the veri(cid:173)
`fication process by using a substitute token.
`It is contemplated that the actual encryption process could
`be carried out by the token 188 itself. In this embodiment of
`
`8
`the invention, the plain text password is transmitted to the
`token 188 through the RS232 connector 146 or alternate
`connection port. The token 188 then performs the encryption
`procedure using its stored encryption algorithm and associ-
`5 ated encryption key. Following the encryption process, the
`encrypted password is returned to the computer system S via
`the RS232 connector 146.
`In an alternate embodiment of the invention, the encryp(cid:173)
`tion algorithm is downloaded into secure computer memory.
`After the user password has been entered, the encryption
`process is then performed by the computer system S. In

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket