throbber
United States Patent r191
`Jones et al.
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll lllll lllll lllll llllll Ill lllll llll
`US005623637 A
`5,623,637
`[11 1 Patent Number:
`[45] Date of Patent:
`Apr. 22, 1997
`
`[54) ENCRYPTED DATA STORAGE CARD
`INCLUDING SMARTCARD INTEGRATED
`CIRCUIT FOR STORING AN ACCESS
`PASSWORD AND ENCRYPTION KEYS
`
`[75]
`
`Inventors: Michael F. Jones, Nashua, N.H.;
`Arthur Zachai, Swampscott, Mass.
`
`(73] Assignee: Telequip Corporation, Hollis, N.H.
`
`(21] Appl. No.: 651,205
`
`[22) Filed:
`
`May 17, 1996
`
`Related U.S. Application Data
`
`[63) Continuation of Ser. No. 161,854, Dec. 6, 1993, abandoned.
`Int. Cl.6
`...................... ................................ G06F 12/14
`(51)
`[52] U.S. Cl . .......................... 395/491; 3951430; 3951442;
`395/833; 395/188.01; 380/23; 380125
`[58] Field of Search .................................... 380/23, 25, 4;
`395/188.01, 430, 442, 490, 491
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,204,663
`5,293,424
`5,307,411
`5,341,428
`5,347,580
`5,379,344
`5,428,685
`5,448,045
`
`411993 Lee ..................................... 340/825.34
`311994 Holtey et al ............................. 380123
`4/1994 Anvret el al .............................. 380/25
`811994 Schatz ....................................... 380123
`9/1994 Molva et al . ............................. 380/25
`111995 Larsson et al . ........................... 380/23
`6/1995 Kadooka et al .......................... 380125
`911995 Clark ......................................... 380125
`OTHER PUBLICATIONS
`
`"Applied Cryptography" Bruce Schneier, John Wiley &
`Sons, Inc., 1994, pp. 219- 243.
`Primary Examiner- Reba I. Elmore
`A ttorney. Agent, or Finn-Banner & Witcoff, Ltd.
`
`(57)
`
`ABSTRACT
`
`A detachable PCMCIA memory card incorporating a smart(cid:173)
`card integrated circuit for storing a password value and logic
`circuitry for preventing access to information stored on the
`memory card unless the user of the host computer to which
`the memory card is connected can supply a password
`matching the stored password. The smartcard integrated
`circuit may also be used to store public and private key
`values used to encrypt and decrypt data stored on the card or
`elsewhere on the host computer or exchanged with a remote
`computer.
`
`5,068,894 11/1991 Hoppe ....................................... 380/23
`5,124,117
`6/1992 Tatebayashi et al ...................... 380/21
`
`3 Claims, 2 Drawing Sheets
`
`110
`
`Remote
`Co~uter
`
`\.. 120
`
`100
`~
`"' .,,
`!!:!
`'O
`;j!
`161
`
`Ill
`
`~
`::J a.
`E
`0
`Cl
`n;
`
`"' 0 !5 a..
`
`'§
`:c
`
`190
`
`Attribute
`Memory
`
`Common
`Memory
`Array
`
`150
`
`!
`1
`i
`! 179
`i
`
`173
`
`Data Bus
`Buffers
`
`185
`
`255
`···-·-···-·-.. ~:···;
`i ............. ·-···-·-··- ·
`·, .. _ .. ___ 290
`smart card 1.c.
`·-----·--·-·
`: EEPROM !
`·-----------· \
`.. ----------·
`: PROCESSORI
`'-~-----------·
`
`J60
`... __ _
`
`- 257
`
`IPR2017-00430
`UNIFIED EX1003
`
`

`
`1~~r-=··-=····=·-·=·-.. =-··=-··=-··=-··-=··-=~-=··-=··----~~~~~~~~~
`~
`;
`163
`~ ··:.+-.... : _. Address Bus L-<
`16~
`i
`Buffers
`195~
`~
`~197~
`~
`t-:___,j~.....;...! _)~--1 o )
`!
`161
`.... Address
`i.--1 2?1 198!--· - - - 1
`Decoder
`!
`220 ___ -1- ,_ L7 U !
`!
`Attribute
`Memory
`Card Lock
`....
`210
`:
`-
`l
`-
`! i
`175
`.. ~,...J--"l'--=.i --"'"'-'-- ----·L-...1
`j
`Logic
`-
`r
`173
`1
`r-,.-i----
`I
`! r----'--
`~~8
`!
`177
`i
`_ Com
`~ •:M-..,i ...J D~~=r~s Ha--'wlleetyptH Gate~
`\__ Enayl _ 219
`!
`l 179)
`- Mem:n
`! ~--_J ~==~_L.:..:.::J_
`i
`....
`Array
`!--.....,..---1
`~ UART
`1
`i
`Clock 1r---__.•~
`i
`!
`i~·-rt!.: .. : .. : ... : .. : ... : .. =·-=··-=··=-·=·-=··-=··t. .. :-.:·-=··-= .. t.~2~s~s ___ :~i~1~as~;')J.__~--4LJ
`
`110
`
`Remote
`Computer
`
`$
`~ c..
`E
`0
`(.)
`(ij
`c:
`
`~ -~ ::::c
`
`"'
`
`171
`1sr
`
`Fig. 1
`
`260
`
`I
`"-··- -
`
`·-··-.. -··-··-··.,··-·'
`·,··-·-·-· 290
`rS~m~. a-rt-C-ar..1.d-IC-
`r·EEPRoM-1 . LJso
`-.i PROCESSOR:
`- 257
`--=------------·
`
`'-••••••-•••J '\
`r••••••••••••• \
`
`I
`
`••-• • •••••••••••••••••
`
`·-·
`
`290
`
`j\ 230
`
`(
`
`150
`
`19
`
`..
`
`

`
`U.S. Patent
`
`Apr. 22, 1997
`
`Sheet 2 of 2
`
`5,623,637
`
`,-------------------------------------~
`~------
`~ ........ .,__ __ ....;..r-_..;;345..;.;..._...i Gate 14-p..;:: ~!
`'
`I
`
`Host
`Computer
`
`313
`
`Card Lock
`Logic Circuit
`
`307
`
`I
`I
`I
`
`340:
`
`I
`I
`I
`I
`I
`I
`:
`I
`
`Q)
`O>
`....
`CO
`.9
`(/)
`jg
`co
`0
`
`----------- --------- --------~------
`
`~----·
`
`Secure
`Memory
`Card
`
`110
`
`100
`
`Fig. 2
`
`Remote
`Computer
`
`450
`
`Host
`Computer
`
`410
`'--
`
`Secure Card
`Lock Logic
`
`r - 415
`
`400
`
`Card
`Data
`Sta age
`
`Fig. 3
`
`

`
`5,623,637
`
`1
`ENCRYPTED DATA STORAGE CARD
`INCLUDING SMARTCARD INTEGRATED
`CIRCUIT FOR STORING AN ACCESS
`PASSWORD AND ENCRYPTION KEYS
`
`This application is a continuation of application Ser. No.
`08/161,854 filed Dec. 6, 1993, abandoned.
`
`FIELD OF THE INVENTION
`
`This invention relates generally to methods and apparatus
`for storing, processing and communicating private data.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`2
`It is a further object of the present invention to provide a
`secure data storage device which may, at the option of the
`user, selectively limit access to all or part of the stored data
`using one or more passwords.
`It is a related object of the invention to securely store
`access passwords, encryption or decryption keys, or digital
`signatures, in a tamper-proof substorage unit interconnected
`with a data access mechanism which are integral parts of a
`detachable computer memory card.
`In a principle aspect, the present invention takes the form
`of a removable memory card, preferably implemented in
`conformity with the PCMCIA (Personal Memory Card
`Industry Association) interface standard, which provides the
`host computer to which it is connected with additional
`15 high-speed storage, the memory card consisting of a data
`storage unit, storage-access locking circuitry, and a tamper(cid:173)
`proof key information substorage unit. In accordance with
`the invention, the locking circuitry is adapted to prevent
`access to the data stored on the memory card unless the
`would-be user first presents identifying information which is
`20 validated by the locking circuitry with reference to one or
`more key values stored in the key information substorage
`unit.
`The removable memory card contemplated by the present
`invention allows data stored on the card to be made imme-
`25 diately available to the connected host computer upon
`proper presentation of a password known only to an autho(cid:173)
`rized user. Once the password has been validated, the stored
`data may then be made available to the host processor in
`decrypted form.
`In accordance with the invention, the key information
`substorage unit advantageously takes the form of a "smart(cid:173)
`card" integrated circuit capable of storing secret key values
`which may be used to provide password-protected access to
`the data stored on the memory card, or optionally to provide
`secure storage for the encryption or decryption keys, or
`digital signatures, needed to allow the host computer to
`access and/or operate a secure information storage or tele(cid:173)
`communications system. In accordance with the invention,
`access to data, passwords, digital signatures, or other key
`values stored on the memory card is limited to those who (1)
`have physical possession of the memory card and (2)
`knowledge of the memory card access password stored in
`the card's secure substorage unit.
`The smartcard integrated circuit advantageously stores
`such passwords, public key and secret key values, and/or
`digital signatures in an Electrically Erasable Programmable
`Read Only Memory (EEPROM), and further includes its
`own microprocessor containing a stored program to allow
`reading and writing of the EEPROM through a serial I/O
`interface. The stored program within the smartcard IC
`allows an access password to be programmed into the
`EEPROM from an external source via the serial interface,
`but thereafter prevents that password value from being
`accessed. For enhanced security, the smartcard integrated
`55 circuit includes means for monitoring voltages and frequen(cid:173)
`cies to detect abnormal conditions which may indicate an
`attempt to tamper with the key storage unit to gain unau(cid:173)
`thorized access to the stored secret key information.
`These and other objects, features and advantages of the
`60 present invention will become more apparent by considering
`the following detailed description of a preferred embodi(cid:173)
`ment of the invention, during which frequent reference will
`be made to the attached drawings.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Computers are widely used to store and process informa(cid:173)
`tion which is considered private. For most businesses, the
`confidentiality of computer data is maintained using the
`practice followed for conventional business data: restricting
`access to office space where sensitive records are kept,
`whether those records take the form of documents kept in
`file cabinets or machine-readable data stored in an computer.
`As the capabilities and usefulness of laptop and notebook
`computers have increased, functions formerly performed
`within the security of the office have moved to the field.
`Sales personnel and executives often travel with computers
`loaded with confidential data on pricing, customers, and
`strategic planning. Although available encryption and
`decryption programs can be used to protect such data when
`it is not in use, these programs are often inconvenient to use 30
`or provide poor security as a result of inadequate key
`management.
`Encryption methods typically rely on "secret ·keys"
`known only to authorized users of the protected data. In the
`widely used Data Encryption Standard ("DES") developed 35
`and promulgated by the National Bureau of Standards, data
`is encyphered in 64-bit blocks using a single 56-bit key, as
`described in National Bureau of Standards' Federal Infor(cid:173)
`mation Processing Standards Publication 46, "Data Encryp(cid:173)
`tion Standard," National Bureau of Standards (1977). 40
`Encryption techniques using two keys, one for encypting the
`data and a different key for decryption, are called "public
`key" systems because the encryption key can be made public
`so that anyone can use the public key to encrypt sensitive
`data, but only a recipient with the secret key can decrypt it. 45
`One widely used and highly effective public key algorithm
`known as the "RSA" system, named after the inventors
`Rivest, Shamer and Adelman, is described in Rivest et al.
`U.S. Pat. No. 4,405,829.
`The security of both single-key and public-key encryption
`systems depends on user's ability to keep the key or keys
`secret. Although both the DES and RSA encryption algo(cid:173)
`rithms themselves can be depended upon to provide
`adequate security, neither system can safeguard data if the
`keys can be learned. The management of the keys them(cid:173)
`selves accordingly presents the most difficult component of
`good data security system.
`
`50
`
`SUMMARY OF THE INVENTION
`
`It is an object of the invention to securely store private
`information in a compact, easily transportable storage
`device which may be detached from the computer with
`which it is used.
`It is still another object of the invention to protect such 65
`electronically stored data against unauthorized access when
`the detachable storage device is lost or stolen.
`
`FIG. 1 of the drawings is a block diagram of a secure
`memory card which embodies the principles of the inven-
`
`

`
`5,623,637
`
`3
`tion, the memory card being shown interconnected with a
`host computer which is in tum connected to other computers
`by telecommunications links.
`FIG. 2 is a data flow diagram depicting a preferred
`mechanism for providing password protection for informa-
`tion stored within a memory card of type shown in FIG. 1.
`FIG. 3 is a data flow diagram illustrating the use of a
`secure data card as show in FIG. 1 to protect the privacy of
`information being sent between a host computer and a
`remote computer.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`HARDWARE
`As illustrated in FIG. 1 of the drawings, the preferred
`embodiment of the invention takes the form of a personal
`computer memory card indicated generally at 100. The
`memory card 100 is interconnected with a host computer
`110 by means of a hardware and software interface which
`conforms to the Personal Computer Memory Card Interna(cid:173)
`tional Association (PCMCIA) standard which has been
`widely accepted for use in laptop and notebook computers.
`PCMCIA cards are commonly used to provide additional
`high-speed memory capacity to the connected host com(cid:173)
`puter, or to implement fax and data modems, network access
`devices, and hard-disk mass storage devices. Type 1 PCM(cid:173)
`CIA cards have a form factor typically used to provide
`additional memory for data and application programs, while
`the thicker Type 2 cards are used to add telecommunications
`features and Type 3 cards are used for high-capacity hard
`disk drives that store up to 100 megabytes of data.
`The removable character of PCM CIA storage devices can
`provide better data security than storage built into the
`computer itself, because the card may be detached from the
`computer and placed in a secure area when not in use.
`However, the cards themselves remain subject to possible
`theft or misuse. The embodiment of the invention shown in
`FIG. 1 provides significant additional security for data and
`programs stored in a detachable memory card by incorpo(cid:173)
`rating an access-locking mechanism for preventing access to
`the stored data by those who are unable to present an
`authorizing password.
`The secure memory card 100 contemplated the invention
`is adapted to be connected via its PCMCIA interface to the
`host computer 110 which may in tum be connected to other
`computers by modem, or by a network, as illustrated by the
`connection of remote computer 120 via the telecommuni(cid:173)
`cations link 130 seen in FIG. 1.
`The secure memory card 100 stores data in a common
`memory array 150, preferably implemented with non-vola(cid:173)
`tile flash memory integrated circuits, enabling the common
`memory array to store 10 megabytes of data in an area small
`enough to be included on a credit-card sized Type I PCM(cid:173)
`CIA card. The data is stored in random access locations
`specified by address values supplied via the PCMCIA's
`standard 26-bit address bus terminals 161. The address
`terminals 161 provide address signals to an input address
`bus buffer circuit 163 which drives an internal address bus
`165. Data transfers between the common memory array 150
`and the host computer 110 are accomplished via the inter(cid:173)
`face data terminals 171, a data bus buffer 173, an internal
`data bus 175, a internal encryption/decryption unit 177, a
`gate 178 and an internal data bus 179. Control signals are
`exchanged between the common memory array 150 and the
`host computer via the PCMCIA interface control terminals
`181 and an internal control bus 185.
`
`5
`
`4
`The address terminals 161, data terminals 171 and control
`terminals 181 seen in FIG. 1 are a simplified representation
`of the 68 pin PCMCIA standard interface which includes
`provision for 26 parallel address conductors (AO-A25), 16
`parallel data conductors (DO-DIS) and a remaining set of
`power and control conductors including power and ground
`connections and a collection of memory control signal
`connections (enable, select, wait, write, detect, etc.). The
`PCMCIA standard achieves interchangeability of cards of
`10 different functions by establishing standards for the physical
`card (dimensions and mechanical tolerances for the card and
`connectors), the card interface (pinout and signal defini(cid:173)
`tions), and card software (which specifies the organization of
`data on the card and the record formats and protocols by
`15 which configuration information and data is exchanged with
`the host computer). Complete information which defines the
`PCMCIA standard is published by and available from the
`Personal Computer Memory Card International Association,
`1030G East Duane Avenue, Sunnyvale, Calif. 94086. The
`20 present embodiment of invention conforms to the PC Card
`Standard Specification, Release 2.01, published in Novem(cid:173)
`ber, 1992.
`To implement the PCM CIA interface standard, the secure
`memory card includes a non-volatile attribute memory 190
`25 which stores information enabling the host computer to
`automatically identify the particular PCMCIA card as soon
`as the card and host are connected, and to automatically
`establish the appropriate hardware/software interface using
`suitable driver software which executes on the host com-
`30 puter 110.
`The attribute memory 190 shares the internal address bus
`165, data bus 175 and control bus 185 with the common
`memory array 150. An address decoder 195 monitors the
`address bus 165 and provides selection signals to the
`35 attribute memory 190 via a attribute memory enable line 197
`when addresses within the address space of attribute
`memory 190 appear on address bus 165 concurrently with
`the activation of the Attribute Memory Select signal terminal
`-REG (not separately shown in FIG. 1) in the PCMCIA
`40 connector interface.
`Similarly, the address decoder 195 selects the common
`memory array 150 whenever the address on address bus 165
`is within the address space of array 150 by energizing an
`common memory enable line 210 which supplies an enable
`45 signal to the gate 178 in the data pathway to the common
`memory array 150.
`Gate 178 prevents the common memory array 150 from
`exchanging data with the host 150 via data bus 179 unless
`an authorization signal is supplied to the gate 178 via a
`50 control line 219 from a card lock logic circuit 220. The card
`lock logic circuit 220 is connected to address decoder 195
`via the lock enable line 221, permitting card logic 220 to
`identify addresses which designate memory locations in the
`common memory array 150 to which access may be denied
`55 under appropriate circumstances. The card lock logic circuit
`220 is connected to the internal data bus 175 which provides
`a pathway for downloading memory access control com(cid:173)
`mands from the host computer 110.
`A smartcard input/output enable line 198 transmits an
`60 enable signal from the address decoder 195 to a Universal
`Asynchronous Receiver Transmitter (UART) 230 when
`information is to be transferred between the host computer
`110 and a smartcard integrated circuit 250. The UART 230
`is connected to the internal data bus 175 and operates to
`translate data received in bit-parallel form from databus 175
`into bit serial form for transfer to the smartcard integrated
`circuit "I.C." via its serial port 255.
`
`65
`
`

`
`5,623,637
`
`5
`The smartcard LC. includes its own processor 260 and
`non-volatile EEPROM memory circuits 257 which operate
`as a secret key information substorage system. The proces(cid:173)
`sor 260 within the smartcard LC. 250 is programmed to store
`secret key codes within the EEPROM 257, but to thereafter 5
`prohibit the stored secret keys from being accessed by any
`external interrogation. The smartcard LC. may be imple(cid:173)
`mented with a number of available devices, including the
`ST16F48 CMSO MCU-based Safeguarded Smartcard IC,
`with 8k EEPROM, available for SGS-Thomson Microelec- 10
`tronics, a member of the SGS-Thomson STl 6XYZ family of
`devices, as specified in the SGS-Thomson Data Book (April,
`1993). The ST16F48 includes an 8-bit processor, 288 bytes
`of RAM scratchpad storage, an 8k byte EEPROM data
`memory which forms the secure substorage unit, and a 16k 15
`byte program storage read-only memory for storing process(cid:173)
`ing routines, including routines for processing and validat(cid:173)
`ing key values supplied to and read from the smarteard LC.
`via the UART 230.
`Data transfers and operations, both within the memory
`card 100 and between the card 100 and the host computer
`110, are controlled by the card lock logic circuit 220. When
`the lock circuit enable line 221 is activated in response to the
`detection of an access control command address value by
`address decoder 195, the card Jock logic circuit 220 responds
`to commands and data supplied to the internal data bus 175
`from the host computer 110 via the data conductors 171 and
`the data bus buffers 173. The card Jock logic circuit 220, the
`UART 230 and the smartcard I.C. 260 operate under the
`control of a common timing signal provided by an on-card
`clock generator circuit seen at 290 in FIG. 1.
`The address space provided by the common memory
`array 150 is preferably partitioned into independently
`accessed regions. Each partition is specified in a Card
`Information Structure or "CIS" (to be described) which is 35
`stored in the attribute memory 190, and preferably corre(cid:173)
`sponds to the memory space provided by one or more
`integrated circuits making up the array 150 such that a
`particular partition may be selected by the address decoder
`195 which activates particular chip enable Jines with the 40
`common memory enable output 210.
`The access password itself is stored in the EEPROM 257
`within the smartcard LC. 250, the password storage opera(cid:173)
`tion being accomplished within the memory card 100 when(cid:173)
`ever a card lock logic activation address is supplied via 45
`address terminals 161 and the address buffer 163 to the
`address decoder 195 which in tum activates the card logic
`enable line 221. A password loading command applied via
`the data interface terminals 171 from the host computer is
`recognized by card lock logic 220 which channels the 50
`subsequent data sequence (the password itself) via the
`UART 230 and the serial port 255 of the smartcard I.C. 250
`for storage at a predetermined location in the EEPROM 257.
`Once a password has been stored for a particular partition,
`the card Jock logic circuit 220 has exclusive control over 55
`access to that partition. Any attempt to access that partition
`(as detected by the address decoder 195) will be rejected,
`notifying the device driver software that a valid password
`must be provided. The driver software then prompts the user
`with a request for a valid password which, when entered, is 60
`sent via the data buffer 173 for validation. The card lock
`logic 220 routes the offered password to the smartcard LC.
`with a request that it be compared with the password stored
`in the EEPROM 257. If the passwords match, the smartcard
`LC. so notifies the card Jock logic 220 which in tum notifies
`the device driver software executing in the host that the
`partition has been successfully unlocked. Thereafter, when
`
`6
`addresses within the unlocked partition are detected by the
`address decoder 195, the card lock logic will activate the
`gate 178 to permit data transfers between that partition and
`the data terminals 171.
`To provide additional security, the data transferred over
`the 16-bit data bus between the data bus buffer 173 and the
`gate 178 is processed by the encryption-decryption unit 177
`which preferrably emplements a symmetrical key algorithm,
`such as DES, based on a key value which stored in and
`fetched from the EEPROM 275 in the smartcard LC. 250.
`The unit 250 encrypts data from the data bus buffer 173 prior
`to storing the data in the common memory array 150, and
`decrypts the data back into its original form when it is
`retrieved from the common memory array 150. This addi(cid:173)
`tional encryption mechanism protects data stored in the
`common memory array even if that data is successfully read
`from the flash memory chips making up the array 150. As
`discussed in more detail later, the secure key storage mecha(cid:173)
`nism provided by the memory card may also be used to
`20 protect sensitive data being manipulated by mechanisms
`external to the memory card 100.
`All of the operative circuitry making up the memory card
`100, with the exception of the attribute memory 190, the
`common memory array 150, and the smartcard I.C. 250, is
`25 preferrably implemented by means of a single, monolithic
`application specific integrated circuit (ASIC) as indicated
`within the dashed line rectangle 290 in FIG. 1. By integrat(cid:173)
`ing this circuitry in a monolithic integrated circuit, security
`against invasive attempts to ascertain built-in unlock codes
`(to be discussed) or to bypass or disable security functions,
`is substantially improved.
`SOFTWARE
`As previously noted, the attribute memory 190 stores
`information which specifies the nature of the memory card
`100 and the format used for the information stored on the
`card. The attribute memory 190 holds a Card Information
`Structure ("CIS") which is organized in a "Metaformat"
`defined in Section 5 of the PCMCIA PC (Personal Com(cid:173)
`puter) Card Standard, Release 2.01, for handling numerous
`different data recording formats. The CIS is organized as
`hierarchy oflayers and takes the form of a chain (linked-list)
`of data blocks called "tuples" which begin at address 0 of the
`attribute memory 190.
`The PCMCIA standard also establishes standards for the
`operation of host processor operating system software which
`can be used to simplify the design of specific device drivers
`which provide access to the memory card. The standard
`"Socket Services" and "Card Services" card interface soft(cid:173)
`ware, when implemented on a given host computer, provides
`a Card Services interface with "Client Device Drivers,"
`significantly simplifying the design of device drivers by
`providing much of the functionality required for communi(cid:173)
`caton with socketed PCMCIA cards. For host computers
`which are not provided with standard PCMCIA Card Ser(cid:173)
`vices and Socket Services functions, the device driver
`directly interrogates the CIS structures in the attribute
`memory using standard link-list processing techniques, and
`provide direct software support for the bulk memory func(cid:173)
`tions which would otherwise be supported by the PCMCIA
`Card Services interface.
`Whether utilizing available Card Services routines or
`directly addressing and manipulating the memory card hard(cid:173)
`ware interface, the device drive itself may be specified in the
`DOS CONFIG.SYS file and loaded when the host processor
`is initialized, or may take the form of an independently
`loadable TSR program. The discussion which follows
`describes the operation of a Client Device Driver adapted to
`
`30
`
`65
`
`

`
`5,623,637
`
`20
`
`35
`
`7
`operate in conjunction with PCMCIA standard Card Service
`functions and notification mechanisms.
`The programming interface to the PCM CIA Card Services
`software is defined in Section 3 of the PCMCIA Standard
`(Release 2.01) which specifies a variety of services which 5
`are available to Client Device Drivers, as well as callback
`mechanisms for notifying Client Device Drivers of status
`changes. In addition to conventional memory operations
`provided by Bulk Memory Service functions, the Card
`Services software also provides Client Utility functions 10
`which allow client device drivers to access and manipulate
`the CIS stored in the memory card's attribute memory 190.
`Card management routines, either forming a part of the
`Client Device Driver or part of a special purpose application
`program for configuring the memory card according to the 15
`users needs, are executed on the host computer. These card
`management routines in tum utilize the functions provided
`by the PCMCIA Card Services software to implement the
`following two special operations which not required for
`conventional PCMCIA memory cards:
`PARTITION LOCK.
`This operation accepts two parameters from the user: (1)
`a password value, typically taking the form of ASCIIZ
`(null-terminated string) of keyboarded characters entered by
`a user in response to a prompt, and (2) a partition identifier
`which specifies a portion of the address space provided by
`the common memory array 150. At the same time, the fact
`that a given partition has been locked, together with an
`identification of the EEPROM memory location of the
`password (but not its value) are recorded in the CIS entry for
`that partition.
`The memory card 100 is intitialized as a standard memory
`card before being first delivered to the end user, and provides
`one or more freely accessible storage partitions prior to
`receiving the first PARTITION LOCK command.
`PARTITION UNLOCK.
`The storage of a password associated with a particular
`password has the effect of locking that password against
`subsequent attempts to use the data or programs stored
`within that partition without first supplying a valid pass(cid:173)
`word.
`Whenever a PCMCIA card is newly inserted into the
`socket of a running host computer, the Client Device Driver
`is notified by the Card Services software (via its CARD_
`INSERTION callback function), so that it can process the 45
`card's CIS entries to identify each partition that may be
`password-protected. Similarly, when the host computer is
`first powered up and the Client Device Driver is initialized,
`the Client Device Driver calls Card Services functions to
`process the cards CIS entries to identify each partition that 50
`may be locked.
`The device driver software then attempts to access each
`identified partition. If the partition is locked (as determined
`by the mechanism discussed above), the card lock logic 220
`notifies the device driver of the locked condition, allowing 55
`the device driver to request a valid password from the user,
`either at the time the host computer is being initialized with
`an already socketed memory card, or at the time a memory
`card is first inserted into an already running host computer.
`Other Operations.
`To support encryption and decryption systems, systems
`employing digital signatures, and secure telecommunica(cid:173)
`tions access protocols, examples of which will be discussed
`below, the card lock logic unit 220 and UART 230 also
`provide the capability for storing additional passwords, key 65
`values, access codes and the like in the secure substorage
`system provided by the smartcard LC. 250, or alternatively
`
`8
`(but less securely) in the common memory array 150 or in
`the attribute memory 190.
`PASSWORD AND KEY MANAGEMENT
`A preferred mechanism for validating the user's password
`needed to unlock a particular memory partition is illustrated
`in FIG. 2 of the drawings. First, as previously described, the
`user who desires to protect information stored on the card
`supplies a secret password which is written into the smart(cid:173)
`card LC. memory as indicated at 301. When an attempt is
`made to access data protected by the secret password 301,
`the ASIC 290 implementing the card lock logic unit 220
`generates a random number 303 which is supplied to the host
`computer 110 as indicated at 307. The host computer 110
`then prompts the user to enter a password at 309. The offered
`password 309 is combined with the random number 303 at
`311 and the result is returned at 313 to the ASIC 290. The
`returned value is then combined at 317 with a fixed unlock
`code 319 (built into the ASIC 290) to produce a final value
`which is applied to a first input 321 of a comparator 320.
`At the same time, the random number 303 which was sent
`to the host is also sent to the smartcard LC. 250 whose
`processor 260 is programmed to combine the random num(cid:173)
`ber 303 at 325 with the previously stored secret password
`301 to form a result value at 327. The result value 327 is
`25 combined at 328 with a copy 330 of the unlock code 319,
`and the resulting final value is applied to the second input
`322 of the comparator 320. If the final value at input 321
`which is created by the password offered by the user matches
`the final value at input 322 created by the password stored
`30 within the smartcard LC. 250, the partition associated with
`the stored password will be unlocked by sending an activa(cid:173)
`tion signal 335 to a data ftow gate 340 connected in the path
`of a data bus 345 connecting the host computer 350 and the
`memory card's common memory array 360.
`It is important to observe that the data stored in a
`protected partition within the memory card 100 is available
`only to those who possess both the card and the password.
`Neither possession of the card without knowledge of the
`password, nor knowledge of the password without physical
`40 possession of the card, will be sufficient to obtain access to
`the data.
`The combined requirement that the bearer of the card also
`know the passw

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