Integrated circuit device for use in the protection of multiple resources in an electronic assembly

Abstract: An integrated circuit device (chip) 10 has lock circuitry (11) that controls operational enablement of a functional block (12) of the chip. To unlock the lock circuitry, a "chip-key" must be supplied to the chip. The chip (10) is also provided with chip-key output circuit (40) for outputting a chip key associated with one or more other chips; the chip-key output circuit may be part of the functional block (12) controlled by the lock circuitry (11) of the same chip. The chip can be used in a variety of forms and arrangments to provide both integrity and security in an electronic assembly. For example, the chip (10) can be used to output a chip key for unlocking other chips but only after the correct chip key has been supplied to the first-mentioned chip.

Description: Field of the Invention The present invention relates to integrated circuit devices for use in the protection of multiple resources in an electronic assembly. Background of the Invention Various techniques are known for ensuring that only authorised persons can gain operational access to a computer. For example, a computer may offer password protection whereby upon power on of the computer or following activation of password protection (for example, when a user temporarily goes away from the computer), a predetermined password must be entered before the operational capabalities of the computer are restored. Such a system may operate, for example, by deactivating the keyboard controller until the correct password is input. It is also known to adjust the computer resources available to a user according to the user's authorisation level; this is generally achieved by having the user identify himself/herself to the computer with this identify being authenticated by subsequent input of a user-specific password. In fact, both the foregoing arrangements provide only very limited protection for the computer resources in the situation where a person intending to gain unauthorised access (herein referred to as an intruder) has physical access to the inside of the computer. For example, in the case of password protection inhibiting the keyboard controller, it is really only the keyboard that is disabled and an intruder with internal physical access to the computer can readily bypass the keyboard and use the other computer resources. The same is true where access to certain resources is password protected as such protection is software implemented by the computer's main processor and an intruder with internal physical access can, for example, readily access a supposedly protected hard disc drive. One approach to dealing with this problem has been to reduce the possibility of an intruder gaining internal physical access to the computer. For example, it is common to provide physical locks on computer cases. More sophisticated approaches are also known, though generally in the context of protecting highly sensitive data; thus, it is known to provide tamper-proof enclosures for encryption/decryption modules storing encryption/decryption keys, any attempt to open the module resulting in destruction of the keys. This latter approach to providing a defense against internal physical tampering, whilst effective, is generally very expensive and is not suitable for general application. It is an object of the present invention to provide a general approach to protecting multiple resources in electronic equipment that may be physically accessible to unauthorised users, but which does not require the use of a special tamper-proof enclosure. Summary of the Invention In general terms, the present invention as defined in claim 1 envisages controlling the use of the functionality provided by a plurality of integrated circuit devices (for example, associated with different resources) by requiring each of the devices to be provided with a corresponding password ("chip key") and arranging for this to be done by having a first one of the devices, once itself enabled by its chip key, initiate the passing of the appropriate chip keys to the other devices. This general approach is employed in ELECTRONICS WEEK, vol 58, no 7, February 1985, NEW YORK, US pages 68- 72 J S KONTUR et al which addresses the problem of ensuring secure access from a remote system to a host. The solution proposed to this problem is to provide a pair of special EPROMs (referred to as "keyed-access EPROMS" or "Keprom devices"), one in the remote system and one in the host Each device stores the key of the other device and has the means to compare an encrypted version of the stored key with an encrypted key received from the other device. With an arrangement according to the invention, as defined in claim 1, an intruder having internal physical access to an item of equipment cannot access the resources incorporating the controlled devices whilst an authorised user need only input a single password to unlock the functionality of all resources he/she is authorised to use. The principle of having one device enable another can also be used to ensure that only certain specific devices or device types are used together. Thus if a device receiving a chip key from another is not the intended mate to the device outputting the chip key, then it can be arranged that the chip key concerned is ineffective to enable the receiving device. In such an application, it is not, in fact, necessary for the device output the chip key to await for its own functionality to be enabled before it outputs the chip key to the next device. For applications where it is only required to ensure that a set of devices are operated together, the chip-key output means can be independent of the lock circuitry, being arranged, for example, to output the chip key associated with another device upon recipt of an external trigger (such as a system reset or similar signal). However, for most applications, the chip-key output means will be in the functional block controlled by the lock circuitry. In fact, in one embodiment of the invention, the device is provided with a plurality of functional blocks each inhibited from operation by the lock circuitry until the provision to the lock circuitry, from externally of the device, of at least one predetermined chip key associated with the functional block concerned; in this case, the chip-key output means may by itself constitute one of the functional blocks. Furthermore, two chip-key output means may be provided, each in a respective functional block controlled by the lock circuitry. In this manner, the device can be arranged to output a different chip key according to the chip key it receives itself. Preferably, the lock circuitry is arranged to receive chip keys in encrypted form over a secure link. Indeed, in the preferred embodiment, the lock circuitry comprises: storage means for storing at least one reference value, secure communication means for receiving an input from externally of the device and for subjecting that input to a decryption process to produce a first intermediate value, the nature of said decryption process being such that said first intermediate value corresponds to the clear form of a said chip key when said input is that key in encrypted form, means for receiving said first intermediate value and for performing a one-way function on it to produce a second intermediate value, comparison means for detecting a match between said second intermediate value and a said at least one reference value, and for producing a corresponding enable signal when at least one said match has been detected, and inhibit means for inhibiting operation of the or each said functional block until the corresponding said enable signal is produced. Such an arrangment is highly secure because the chip keys are not stored in clear in the device and therefore cannot be discovered by examination of the device. The chip-key output means is preferably also arranged such that the chip key output thereby is output in encrypted form. At the electronic assembly level, the present invention envisages an electronic assembly including a plurality of integrated circuit devices at least a first one of which embodies the invention, and at least one second one of which is connected to receive the chip key output by the chip-key output means of said first one of said devices, each second device comprising a functional block for providing that device with a required functionality, and lock circuitry for inhibiting operation of the functional block until the provision to the lock circuitry of the chip key from said first device. In one preferred arrangement, the chip-key output means of the first device must be unlocked by the lock circuitry of the same device before it can output its chip key, and the electronic assembly comprises a plurality of second ones of said devices each connected to receive the chip key output by the chip-key output means of the first devices. This embodiment provides a one-to-many enablement arrangement. In another preferred embodiment, both the first device and a said second device are in accordance with the invention and have chip-key output means that require unlocking, the second device being unlocked by receipt of the chip key output by the chip-key output mean of the first device. In addition, a third one of the devices is connected to receive the chip key output by the chip-key output means of the second device following unlocking of that chip-key output means, the third device comprising a functional block for providing that device with a required functionality, and lock circuitry for inhibiting operation of the functional block until the provision to the lock circuitry of the chip key from the second device. This embodiment provides a chain-form enablement arrangement. In a further preferred emobiment, the first device comprises two chip-key output means separately controlled by the lock circuitry, a respective second device being connected to receive at least the said chip key output by an associated one of the said chip-key output means of the first device following unlocking of that chip-key output means. For applications where it is only required to ensure that a predetermined set of devices is present, an electronic assembly may comprise a plurality of integrated circuit devices each having chip-key output means independent of the lock circuitry and operative to output a chip key different from the chip keys output by the other devices. The lock circuitry of each device is then preferably arranged to inhibit the functional block of the same device until the lock circuitry has received a said chip key from the chip-key output means of at least some (advantageously all) of the other devices. In this way, the presence of all devices can be required before the functional block of any device is rendered operational. Brief Description of the Drawings Integrated circuit devices embodying the invention and electronic assemblies incorporating such devices in accordance with the invention, will now be described, by way of non-limiting example, with reference to the accompanying diagrammatic drawings, in which: Figure 1 is a block diagram of an integrated circuit device showing the lock circuitry for controlling enablement of a functional block of the device; Figure 2 is a diagram illustrating various arrangements for enabling different functional blocks provided in the same integrated circuit device; Figure 3(a) is a diagram of a first embodiment of an integrated circuit device of the invention provided with lock circuitry; Figure 3(b) is a diagram of a second embodiment of an integrated circuit device of the invention provided with lock circuitry; Figure 3(c) is a diagram of a third embodiment of an integrated circuit device of the invention provided with lock circuitry; Figure 3(d) is a diagram of a fourth embodiment of an integrated circuit device of the invention provided with lock circuitry; Figure 4(a) is a diagram of a first electronic assembly with an arrangement of integrated circuit devices of the Figure 3(a) form that serves to inhibit operation of functional blocks of all devices if any device is missing; Figure 4(b) is a diagram of a second electronic assembly with a one-to-many arrangement of integrated circuit devices with the "one" device being of the Figure 3(b) form; Figure 4(c) is a diagram of a third electronic assembly with a chain arrangement of integrated circuit devices with the device at the head of the chain being of the Figure 3(b) form; and Figure 4(d) is a diagram of a fourth electronic assembly in which an integrated circuit device of the Figure 3(d) form controls two futher integrated circuit devices. Best Mode of Carrying Out the Invention Before describing an embodiment of an integrated circuit device provided with chip-key output means in accordance with the invention, an integrated circuit device will be described, with reference to Figures 1 and 2, that has a functional block controlled by lock circuitry. The integrated circuit device of Figures 1 and 2 forms the subject mater of our co-pending European Application filed the same date and entitled "Integrated Circuit Device with Function Usage Control" The integrated circuit device 10 (hereinafter "chip") shown in diagrammatic form in Figure 1 comprises lock circuitry 11 controlling operational enablement of a functional block 12 (Figure 1 is not intended to accurately represent the relative chip areas occupied by the circuitry 11 and functional block 12). Functional block 12 may, for example, be a data compression engine for compressing / decompressing externally supplied data, or part of a disk-drive controller. The functional block 12 is connected to external data, address and control lines 13, 14, 15 through external chip contacts ( not explicitly shown). The block 12 operates in standard manner with the exception that for its operation it needs to be supplied with a signal on line 16 coming from the lock circuitry 11. In the present example, the required signal on line 16 is an external clock signal delivered over control line 17 to a gating circuit 18 of the lock circuitry 11. When the gating circuit is fed with an enable signal on line 19, the external clock signal is passed to the block 12 enabling its operation; in the absence of an enable signal on line 19, the block 12 is internally non-operational. To unlock the lock circuitry 11 to enable block 12, a predetermined password (chip-key) must be supplied to the lock circuitry 11 from externally of the chip 10. Two particular measures are taken to ensure the confidentiality of this chip-key. First, the chip-key is passed to the chip 10 in encrypted form, the encrypted chip-key being decrypted in the lock circuitry 11. To this end, the lock circuitry comprises a secure communication block 20 that communicates with the outside world over serial input and output lines 21, 22. The block 20 implements, for example, the well-known Diffie-Hellman Key Exchange algorithm (see, for example, "Network and Internetwork Security", p.342, William Stallings, Prentice Hall International, 1995); by operating this public key algorithm with one-time cryptographic keys, a chip-key can be passed to the chip 20 in a confidential manner that is proof against a replay attack. When the secure communications block 20 is fed with an encrypted chip-key, it decrypts the chip-key and temporarily outputs the chip-key as first intermediate value IV1. The second measure taken to ensure the confidentiality of the chip-key, is that a copy of the chip-key is not stored as such in chip 10 for comparison against the input chip-key. Instead, a signature of the correct chip-key for the chip concerned is stored in register 25 of the lock circuitry, this signature being a value formed by subjecting the clear form of the chip-key to a one-way function. This one-way function is, for example, a one-way hash function such as effected the Secure Hash Algorithm SHA (see page 276 of the aforesaid reference "Network and Internetwork Security"). Were an intruder able gain access to register 25 in a manner permitting its contents to be read, this would not compromise the chip-key as it would not be computationally feasible to determine the latter from its signature held in register 25. In order to ascertain whether an input chip-key is the correct one to unlock the particular chip 10 concerned, the lock circuitry further comprises a one-way function block 26 that subjects the chip-key output as IV1 from block 20 to the one-way function (in this case, the SHA) used to form the chip-key signature held in register 25. The resultant intermediate value IV2 output by block 26 is then compared in comparison block 27 with the signature stored in register 25; if a match is found, the comparison block 27 outputs an enable signal on line 19 to cause operational enablement of the functional block 12. The comparison block latches the enable signal in the sense that once this signal is generated, it remains present notwithstanding removal of the correct IV2 value, until the chip is de-energised (or some other condition is achieved). The chip-key signature stored in register 25 may be set in permanently at the time of manufacture or, as in the present example, written in subsequently (the register in this case being for example, Flash or EEPROM memory). To control this latter process, the chip 10 is provided with a write control circuit 28 interposed between the data lines 14 and the register 25. In order to write to the register 25, the required chip-key signature value is placed on the data lines 14 and a write-enable signal is passed on line 29 to the write control circuit 28. Additionally, the write control circuit 28 is arranged only to enable writing to the register 25 either if its contents are all zeroes (indicating that no chip-key signature has yet been written in) or if the lock circuitry is currently in its unlocked state (as indicated, for example, by the presence of a signal on line 30 from the comparison block 27). Once the required chip-key signature has been written to the register 25, further writing to the register could be prevented by providing a fusible link in the write control circuitry 28, the link being blown upon application of an appropriate external signal on line 31. Typically, the chip key in clear form may have a length of 1K bits. Although in Figure 1 the chip 10 is shown with only one functional block 12 controlled by the lock circuitry 11, a number of such blocks may be provided typically each with different functionality. Such an arrangement is shown in Figure 2 for five functional blocks 12A to 12E. In this case a respective gating circuit 18 is associated with each functional block and the register 25 is replaced by a register block 35 storing signatures for a plurality of different chip-keys associated with particular ones of the functional blocks. In Figure 2, these signatures are designated H(K1) to H(K6), corresponding to the hash of chip-keys K1 to K6 respectively. When presented with an intermediate value IV2, the comparison block 27 now searches for a match amongst the signatures H(K1) to H(K6) stored in register block 35 and upon finding a match takes appropriate action in respect of the associated functional block. In the Figure 2 example, for functional blocks 12A, 12B, 12C a single respective signature H(K1), H(K2), H(K3) is stored in register block 35 and upon signal IV2 taking on a corresponding value, the comparison block 27 outputs an enable signal to the appropriate functional block. The functionality of the blocks 12A, 12B and 12C can thus be selectively enabled according to the input chip-key and this permits different functionality to be made available to different users. The enablement of block 12D is more involved than for blocks 12A,B,C. In this case, not only must signal IV2 take on the correct value corresponding to the stored signature H(K4) for block 12D, but block 12C must also have first been enabled. This is achieved by having the gating circuit 18 associated with the block 12D only enable the latter upon receipt of enable signals both from the comparison block 27 and from the block 12C, the latter only supplying such a signal when itself enabled. This general arrangement permits a hierarchical access scheme to be implemented by which each level has a corresponding chip-key and users can only enable functional blocks up to a level in the hierarchy for which they have the correct chip-keys. Enablement of functional block 12E requires the input of two encrypted chip-keys K5, K6 (possibly in direct succession), the register block 35 storing the corresponding signatures H(K5), H(K6) of both chip-keys. In this case, the comparison block 27 when identifying a match for a first one of the chip-keys, must remember this fact and await detection of a match for the second one of the chip-keys before outputting an enable signal to the gating circuit 18 associated with functional block 12E. It will be appreciated that the different approaches described above for enabling blocks 12A-C, block 12D, and block 12E can be used in any desired combination as required. It will also be appreciated that the chip 10 can be provided with one or more functional blocks that are not controlled by the lock circuitry 11, such blocks being unconditionally available for use. Figure 3 illustrates four forms of integrated ciruit device 10 embodying the invention, each including lock circuitry, such as the previously described lock circuitry 11, and a functional block 12 controlled by the lock circuitry. For clarity, in Figure 3 (and also in Figure 4) only the input connection to the lock circuitry 11 of each chip 10 has been shown, this connection being represented by a single line (generally, it will be two lines as shown in Figure 1 as two-way communication is required for the secure communication process operated by the Figure 1 lock circuitry). Again, for clarity, each chip is shown as having only one main functional block 12 controlled by the lock circuitry 11 (though as will be explained below, a second block 40 may in certain cases also be controlled by the lock circuitry). Each embodiment of the invention shown in Figure 3 includes a chip-key output ciruit 40 which when enabled is operative to output a chip key associated with another chip. This output may be in encrypted form using a secure communications arrangement (such as employed in the Figure 1 lock circuitry) or may use a lower level of security, depending on application. Figure 3(a) shows a first form of chip 10 embodying the invention in which the chip-key output circuit 40 is independent of the lock circuitry 11, being enabled immediately upon energisation of the device and triggered to output its chip key by an external signal such as a reset signal. Figure 3(b) shows a second form of chip 10 embodying the invention in which the chip-key output circuit 40 forms part (or possibly all) of the functional block 12 controlled by the lock circuitry 12. In this embodiment, upon the functional block 12 becoming enabled, the chip-key output circuit 40 outputs its chip key. Figure 3(c) shows a third form of chip 10 embodying the invention in which the chip-key output circuit 40 forms a functional block controlled by the lock circuitry 12 separately from the main functional block of the chip; in this case, the block 12 and circuit 40 may become enabled by the receipt of different chip keys by the lock circuitry. Upon the chip-key output circuit 40 becoming enabled, it outputs its chip key. Figure 3(d) shows a fourth form of chip 10 embodying the invention in which two chip-key output circuits 40 are provided, each controlled as a functional block by the lock circuitry 12 such as to become enabled by the receipt of different chip keys by the lock circuitry. Upon either chip-key output circuit 40 becoming enabled, it outputs its chip key (the chip keys output by each circuit 40 will genreally be different). It will be appreciated that variants of the Figure 3 chip forms are possible; for example, in Figure 3(d) chip, more than two chip-key output circuits could be provided and each may form part of a block 12 possessing additional functionality. Figure 4 shows four possible arrangments of the Figure 3 chips in an electronic assembly, these arrangments being merely illustrative of the wide range of possible arrangements. In the Figure 4(a) arrangement, three chips 10 of the Figure 3(a) form each have their lock circuitry arranged to receive the chip keys output by the circuits of the other two chips. The lock circuitry 11 of each chip is such that it requires the chip keys from the other chips before it enables the associated functional block 12. With such an arrangment, the absence of any one chip prevents the functional blocks of the other chips from being enabled. The chip keys can be chosen to be specific to particular chips or particular chip types. In the Figure 4(b) arrangement, a chip of the Figure 3(b) form is used to enable two further chips. These further chips need not themselves be provided with a chip-key output circuit (though, of course, such functionality could be present). This arrangement provides a one-to-many enablement arrangement. In the Figure 4(c) arrangement, a first chip of the Figure 3(b) form is arranged to output a chip key to enable the functional block of a second chip also of the Figure 3(b) form; this latter chip is in turn arranged to output a chip key for enabling the functional block of another chip. This arrangement provides a chain of enablement that can be extended as required. The Figure 3(c) form of chip could be used in place of the Figure 3(b) form of chip in both the Figure 4(b) and Figure 4(c) arrangements. In the Figure 4(d) arrangement, a chip of the Figure 3(d) form is used to independently enable two further chips in dependence on the receipt of the appropriate chip key by the lock circuitry of the Figure 3(d) chip. It will be appreciated that in the foregoing Figure 4 arrangments, where different chip keys are to be passed to different chips, this can be done over the same communication lines since passing a chip key to a chip for which it is not intended simply means that the chip will fail to respond. Of course, appropriate measures would be needed for sharing a common coomunication link. In all of the Figure 4 arrangements, the master or head chip (the leftmost chip) may be supplied with a chip key over a communications link or from a local input device such as a smart card reader. It will be appreciated that various modifications may be made to the described embodiments of the present invention. For example, the lock circuitry may differ from that described with respect to Figure 1 depending on the level of security required; in some applications, for example, it may be acceptable simply to store the password in clear in the chip and even to omit the secure communications means. In fact for the arrangements shown in Figures 4(b) to 4(d), a preferred option is to provide the head chip (the leftmost chip) with lock circuitry of the Figure 1 form whilst using less secure arrangements for the other chips. For the Figure 4(a) arrangement, lock circuitry of a lower level of security than offered by the Figure lock circuitry will generally be appropriate. The chip-key output means 40 has its security level matched to that of the lock circuitry with which it interfaces.

Claims: An electronic assembly, including a plurality of integrated circuit devices, a first one of said devices comprising: a first functional block for providing the first device with a required functionality, first lock circuitry for inhibiting operation of said first functional block until the provision to said first lock circuitry of at least one first chip key, and chip-key output means for outputting a second chip key associated with another device; and a second one of said devices being connected to receive the said second chip key said second one of said devices comprising: a second functional block for providing that second device with a required functionality, and second lock circuitry for inhibiting operation of said second functional block until the provision to said second lock circuitry of the correct second chip key from said first one of said devices, the chip keys are predetermined, characterized in that said first chip key provided to the first device is provided from externally of said electronic assembly, and in that once said first functional block of said first device has been unlocked, said first device initiates the passing of said second chip key to the second device. An electronic assembly according to claim 1, wherein for said first one of said devices, said chip-key output means (40) is independent of said lock circuitry (11). An electronic assembly according to claim 1, wherein for said first one of said devices, said functional block controlled by the lock circuitry (11) comprises said chip-key output means (40). An electronic assembly according to claim 3, wherein said first one of said devices comprising at least two said functional blocks (12) each comprising a respective said chip-key output means (40) for outputting respective chip keys when the functional block (12) ceases to be inhibited by said lock circuitry (11), there being at least two said second ones of said devices to which are passed respective ones of said chip keys output by the said first one of said devices. An electronic assembly according to claim 2 or claim 3, including a plurality of said second ones of said devices each connected to receive the chip key output by said first one of the devices. An electronic assembly according to claim 3, wherein the said functional block (12) of said second one of the devices includes chip-key output means (40) for outputting a respective chip key when the functional block ceases to be inhibited by said lock circuitry, a third one of said devices being connected to receive the said chip key output by the said chip-key output means of said second one of said devices, and said third one of said devices comprising: a functional block (12) for providing that device with a required functionality, and lock circuitry (11) for inhibiting operation of said functional block of the same device until the provision to the lock circuitry of said chip key from said second one of said devices. An electronic assembly according to any preceding claim, wherein the lock circuitry of said first device comprises: storage means (25; 35) for storing at least one reference value; secure communication means (20) for receiving an input from externally of the device and for subjecting that input to a decryption process, the nature of said decryption process being such that its result corresponds to the clear form of a said chip key when said input is that key in encrypted form; means (26) for receiving the result of the decryption process and for performing a one-way hash function on it; comparison means (27) for detecting a match between the result of the one-way hash function and a said at least one reference value, and for producing an enable signal (19) when at least one said match has been detected, and inhibit means (18) for inhibiting operation of said functional block until said enable signal is produced. A electronic assembly according to any preceding claim, wherein the said chip-key output means (40) of said first device is such that the said chip key output thereby is output in encrypted form, the lock circuitry of the second device including means for decrypting the chip key on receipt.

Inventors: VICARD DOMINIQUE, VICARD, DOMINIQUE
Applicants: HEWLETT PACKARD CO, HEWLETT-PACKARD COMPANY
Application year: 1995
Main classification: G06F12
IPC codes: G06F21, H04L9, G06F12, G09C1