TRANSFERRING SECRET INFORMATION
Field of the Invention
This invention relates to transferring secret information. It relates particularly but not exclusively to a method of injecting secret information such as encryption keys into terminals, particularly terminals which are configured for use with smart cards.
Background to the Invention Public key infrastructure (PKI) enables users of non-secure communications networks to participate in secure and private exchanges of data. PKI facilitates this through the use of public and private cryptographic key pairs which are distributed by a trusted authority. A private key is distributed to the requesting party only, while the corresponding public key is made available for use by anyone with access to the communications network. A requesting party then uses the private key to decrypt data which has been sent by a sending party who has encrypted the data using the corresponding public key. The requesting party can also use the private key to authenticate its identity to a message recipient by using the private key to encrypt a digital certificate. The recipient can then authenticate the origin of the message by decrypting the encrypted digital certificate using the public key.
Although PKI provides one of the safest methods of facilitating secure communication, the security of the system is dependent on the secure distribution of private keys. If a private key is intercepted or discovered by someone other than the intended recipient, messages which were intended for the recipient can be decrypted easily. Accordingly, the private key should never be shared with another party or sent in a non-secure manner over a communications network such as the Internet.
PKI is also used in conjunction with smart card technology, to provide portable security to smart card holders. This enables smart card users to verify the identity of partners with which the smart card is used to communicate. The use of PKI in combination with smart cards has many applications, particularly in the fields of finance and economics, health, education, wireless communications and in governments.
In order for smart cards to be used in a secure PKI, it is necessary for the terminals which are used in conjunction with the smart cards to be configured appropriately, with the necessary codes installed to enable authentication and communication between the terminal and the card. Further, cryptographic keys must be installed on the terminal which are peculiar to the application or organisation to which the communication relates.
Existing methods for injecting these specific cryptographic keys into terminals usually require the terminals to be physically located in a secure environment. For terminals which are intended for use in financial transactions, the terminal will usually be taken to a secure room or vault in a bank where one or more cryptographic keys are injected into the terminals by the bank or the bank's trusted representative. This is inconvenient, time consuming and expensive and results in a delay in the deployment of the terminals in retail and other environments once they have been manufactured. In another method, cryptographic keys are injected into the terminals over a computer network using RSA cryptography. However, some systems do not support this cryptographic standard. Accordingly, there is a need for different manufacturing and key injection techniques for terminals which are deployed for use with various systems. Other methods of injecting keys into terminals involve the use of a
Security Access Module (SAM). A SAM usually takes the form of a chip such as that which is found on a chip card and which has a cryptographic key loaded onto it. The SAM, with the key stored on it, is then installed the terminal itself. However, the SAM can be removed relatively easily, after which time a party may tamper with the terminal without first having to authenticate itself. Further, SAMs require replacement after approximately 100,000 read/write operations. While regularly changing the SAMs in service has the effect of slightly increasing security, their continual replacement also results in an expense which is difficult to justify in consideration of the questionable security they provide.
Summary of the Invention
According to a first aspect of the present invention, there is provided a method of storing secret information on a secret information injection device including the following steps: (a) generating a transport key;
(b) encrypting the secret information using the transport key;
(c) receiving at a data storage and processing device the transport key and the encrypted secret information;
(d) using the data storage and processing device to generate an encryption key pair consisting of a secret key and a public key;
(e) transferring the encrypted secret information from the data storage and processing device to the secret information injection device;
(f) encrypting the transport key using the secret key; and
(g) transferring the encrypted transport key to the secret information injection device.
The secret information may be injected into any kind of device which is capable of storing and using such information, particularly when the information is of a confidential nature and must be copied or inserted into the device without the possibility of the secret information being known by an unauthorised party. Accordingly, the secret information may be any kind of information which is of a confidential nature, such as encryption keys or codes.
The secret information may be generated by any suitable device. In an embodiment where the secret information is an encryption key, it is preferred that the encryption key is randomly generated and at least 128 bits in length so that significant processing power is required before a third party is able to intercept and decrypt data which has been encrypted using the encryption key. It is also preferred that the encryption key is generated by a hardware security module (HSM).
The transport key may be any key which is capable of encrypting data, and which, in a preferred embodiment, is also able to decrypt data which has been encrypted using the transport key. For a more secure method, it is preferred that the key transport key is at least 128 bits in length.
The data storage and processing device may be any device capable of storing data including the transport key and the encrypted secret information. In
one embodiment, the data storage and processing device is a personal computer (PC). Alternatively, a card with a microprocessor on it, commonly known as a chip card or a smart card, may be used. In such an embodiment, the smart card should have both RSA cryptographic and RSA key pair generating functionality. In such an instance the private key generated will in effect never leave the smart card and hence achieve an even higher level of security.
In an embodiment where the data storage and processing device is a chip card, a processor having HSM-equivalent capability may be resident on the chip to generate the encryption key pair. Alternatively, any other processor which is capable of producing such an encryption key pair may be used. It is preferred that in the embodiment where the data storage and processing device is a chip card, the transport key is encrypted by the processor which is resident on the chip card using the secret key. The chip card can then be used to transfer the encrypted transport key to the secret information injection device.
In an embodiment where the data storage and processing device is a chip card, it is preferred that the chip card transfers the encrypted transport key and the encrypted information onto the secret information injection device, or that the data storage and processing device contains instructions for the production of the secret information injection device which has those encryption keys stored upon it.
In a preferred embodiment, the secret information injection device is also a chip card, or a card or other portable device with a microprocessor and storage capability built into it. This enables the secret information injection device to be transported to a terminal where the secret information can be injected, and wherein the terminal itself contains keys which are necessary to extract the secret information from the injection device.
In a second aspect of the present invention, there is provided a method of injecting secret information into a security module of a terminal, the method including:
(a) generating an external public encryption key pair associated with the terminal, the pair comprising an external public key and an external secret key;
(b) generating an internal public encryption key pair associated with the terminal, the pair comprising an internal public key and an internal secret key;
(c) generating an injection device public encryption key pair associated with a secret information injection device, the pair comprising an injection device public key and an injection device secret key;
(d) storing on the secret information injection device the following: (i) the external public key;
(ii) a transport key which has been encrypted using the injection device secret key;
(iii) the secret information which has been encrypted using the transport key; (e) encrypting the internal public key within the terminal using the external secret key;
(f) bringing the secret information injection device into communication with the terminal, and transmitting the encrypted internal public key to the secret information injection device; (g) within the secret information injection device, applying the external public key to the encrypted internal public key to decrypt the internal public key; (h) within the secret information injection device using the decrypted internal public key to further encrypt the transport key (which has already been encrypted using the injection device secret key), and transmitting the result to the terminal;
(i) within the terminal, deciphering the transport key using firstly the internal secret key and secondly the injection device public key; (j) transmitting from the secret information injection device to the terminal the secret information (which has been encrypted using the transport key); and (k) within the terminal deciphering the secret information using the transport key.
The external public encryption key pair consisting of external public key and external secret key may be generated by any processor which is capable of generating encryption key pairs, particularly pairs with keys which are more than 128 bits in length. Preferably, encryption key pairs of at least 512 bits are generated. It is preferred that the external public and secret key pair are generated by the manufacturer of the terminal and that the terminal manufacturer is responsible for providing the custodian of the data storage and
processing device with the external public key. Similarly, it is preferred that the terminal manufacturer provides the terminal with external secret key.
In a preferred embodiment, transport key is a combination of three key portions which are usually maintained by three separate parties. This has the effect of increasing the secure nature of the injection method. It is preferred that the injection device key pair is generated by a processor which includes a hardware security module or other suitable device capable of generating RSA encryption key pairs which are longer than 128 bits and preferably 480 bits long. It is preferred that the terminal encrypts internal public key using the external secret key which is preferably provided by the terminal manufacturer who has provided the corresponding external public key to the custodian of the data storage and processing device. The terminal may then provide the data storage and processing device with the encrypted internal public key. In such an embodiment, the terminal is then equipped to determine the transport key since the terminal is in possession of the external secret key and the internal secret key. Accordingly, the terminal is equipped to decrypt the secret information using the transport key.
In a preferred embodiment, the secret information is an encryption key. However, the secret information may also be a plurality of keys, identifiable by a key index which is sent preferably as part of the secret information. Such a method may also be used to alter or add to keys which have previously been injected into a terminal using an existing method, or to inject new encryption keys.
Brief Description of the Drawings
The invention will herein after be described in greater detail by reference to the attached drawings. It is to be understood that the particularity of the drawings does not supersede the generality of the preceding description of the invention. Figure 1 is a flow diagram illustrating creation of an injection card according to an embodiment of the invention.
Figure 2 is a flow diagram illustrating injection of secret information into a terminal according to an embodiment of the invention.
Detailed Description
Referring firstly to Figure 1 , components of an embodiment of the invention are shown. Each of these components makes contributions to the production of a device which is equipped to inject secret information, such as an encryption key, into a terminal. In the example shown in Figure 1 , the data storage and processing device and the secret information injection device are chip cards shown as keycard 5 and injection card 6 respectively. Using a chip card is advantageous, as it is small and portable and can be easily destroyed should a breach of security occur. In the example illustrated in Figure 1 , terminal vendor 1 generates public encryption pair PKMAN and SKMAN- Terminal vendor 1 then distributes public key PKMAN to the party which generates the secret information, in this case, bank 2. Such distribution preferably occurs via secure email, although other distribution methods such as facsimile or courier may also be used. Bank 2 is then able to distribute PKMAN to any party which requires it, as illustrated in Figure 1. At bank 2, hardware security module (HSM) 3 generates secret information, KSι which may be used as a cryptographic key once it is injected into a terminal, such as terminal 7 which is shown in Figure 2.
Key custodians 4a, 4b and 4c each hold a portion of the key transport key, KTK. When the injection device is manufactured, custodians 4a, 4b and 4c provide the respective portions of key transport key, KTK, and the complete key transport key, KTK, is reconstructed and provided to hardware security module 3 and keycard 5. Hardware security module 3 then encrypts secret information Ksi using the key transport key, KTK, resulting in KTK(KSι). KTK(KSι) is then stored on keycard 5. In this embodiment, keycard 5 is a chip card which is capable of generating cryptographic keys of more than 128 bits in length. Further, keycard 5 is preferably produced in a secure environment administered by bank 2.
Keycard 5 generates a public key encryption pair consisting of public key PKKC and secret key SKKc- Keycard 5 is also provided with a copy of the public key supplied by terminal manufacturer 1 , PKMAN- Keycard 5 has an application stored upon it which contains instructions for the production of injection card 6.
In the example of Figure 1 , injection card 6 is also a chip card which has PKMAN copied onto it, along with encrypted secret information denoted by
KTK(Ksι). Accordingly, it is also preferred that injection card 6 is a chip card or device with 128 bit key generation and processing capabilities. In the production process, injection card 6, is produced with an encrypted version of the key transport key, KTK, which has been encrypted using the secret key of keycard 5, SKKC, resulting in SKKC(KTK).
In the example illustrated in Figure 1 , keycard 5 is unique and used to produce a limited number of injection cards 6, which are subsequently distributed to terminal vendors 1. This enables terminal vendors 1 (or terminal manufacturers) to securely inject the secret information, Ksi, into the terminals before they are deployed in retail and other sites. Keycard 5 can then be destroyed once a sufficient quantity of injection cards 6 have been produced resulting in the destruction of secret key SK«c- Accordingly, upon destruction of keycard 5, no further injection cards can be produced. As an alternative, a personal computer or other device with sufficient processing capacity could be used to perform the function of keycard 5.
Referring now to Figure 2, injection card 6 is distributed to parties who are responsible for the injection of the secret information Ksi into security module 8 of terminal 7. In most cases, these parties will be terminal vendors 1 (or terminal manufacturers). During the key injection process, bank 2 provides terminal vendor 1 with public key PK«c generated by keycard 6 and encrypted using PKMAN- Distribution of encrypted PKKC nnay occur by email, facsimile, courier or any other secure method of delivery.
Terminal 7 has an associated smartcard reader (not shown) which can read from and write to injection card 6. The smart card reader is the only communication channel between injection card 6 and terminal 7.
When injection card 6 is read by terminal 7, authentication takes place to ensure the security of terminal 7, associated card reader and terminal security module 8. Here, terminal security module 8 generates an encryption key pair consisting of public key PKTCU and secret key SKTcu- Terminal security module 8 provides terminal 7 with PKTCU and terminal 7 encrypts PKTCU with the secret key of terminal vendor 1 , SKMAN, resulting in SKMAN(PKTCU)- SKMAN(PKTCU) is then forwarded to terminal security module 8, authenticating the identity of terminal 7.
After completion of the authentication process, terminal 7 and terminal security module 8 communicate with injection card 6 as a single entity. Terminal 7 provides injection card 6 with the encrypted public key of terminal security module 8, denoted as SKMAN(PKTCU)- Since injection card 6 is in possession of PKMAN, it is able to determine PKTCU, which it subsequently uses to encrypt previously encrypted key transport key denoted by SKκc(KTK). This results in a double-encrypted key transport key which is denoted by PKTcu(SKKc(KTK)). PKτcu(SKκc (KTK)) is then received by terminal 7, and terminal 7 deciphers KTK using SKTCU and PKKC where PKKC has been provided to terminal vendor 1 and copied to terminal 7 during terminal production.
Terminal 7 then receives encrypted secret information denoted by KTK(Ksι) and decrypts it using the derived KTK. The secret information is then stored in secure memory of terminal security module 8 where it is available for use in future transactions. Once injected, the encryption keys may be used to enable downloading of new applications to smart cards or other microprocessor devices. Once injected, the secret information, when in the form of an encryption key, may also be used to enable smart card custodians to synchronise their smart card with their own Personal identification Number (PIN). This is useful when, say, a customer has an existing card with a magnetic stripe and is issued a replacement card with a magnetic stripe and a chip. It is an annoyance for the customer to remember two separate PINs; one for use with the card's magnetic stripe and one for use with the card's chip. In such a scenario, the injected key can be used to securely copy the pin verification value (PVV) which has been stored on the magnetic stripe onto the smart card resulting in synchronisation of the PINs for the chip and the magnetic stripe. It is to be understood that various authentication procedures should be conducted prior to the PVV being synchronised to authenticate the smart card holder as that of the magnetic stripe card holder so that malicious PIN synchronisations do not occur. Synchronisation of the PINs obviates the need for a user of a magnetic stripe card which is equipped with a chip to remember two separate PINS when conducting transactions using the card.
It is to be understood that various alterations, additions and/or modifications may be made to the parts previously described without departing from the ambit of the present invention.