Management of secret data items used for server authentication
09998288 · 2018-06-12
Assignee
Inventors
- Michael Baentsch (Rueschlikon, CH)
- Harold D. Dykeman (Rueschlikon, CH)
- Michael C. Osborne (Rueschlikon, CH)
- Tamas Visegrady (Rueschlikon, CH)
Cpc classification
H04L2209/76
ELECTRICITY
H04L63/0428
ELECTRICITY
G06F21/445
PHYSICS
H04L63/0853
ELECTRICITY
H04L9/0897
ELECTRICITY
International classification
H04L9/32
ELECTRICITY
Abstract
A security device (6) is provided for facilitating management of secret data items such as cryptographic keys which are used by a remote server (2) to authenticate operations of the server (2). The device (6) has a user interface (13), control logic (16) and a computer interface (11) for connecting the device (6) to a local user computer (5) for communication with the remote server (2) via a data communications network (3). The control logic is adapted to establish via the user computer (5) a mutually-authenticated connection for encrypted end-to-end communications between the device (6) and server (2). In a backup operation, the secret data items are received from the server (2) via this connection. The control logic interacts with the user via the user interface (13) to obtain user authorization to backup secret data items and, in response, stores the secret data items in memory (10). To restore secret data items to the server, the control logic interacts with the user via the user interface (13) to obtain user authorization to restore secret data items and, in response, sends the secret data items to the server (2) via said connection.
Claims
1. A security device for facilitating management of secret data items used by a remote server to authenticate operations of the server, the device comprising: a computer interface connecting the security device to a local user computer for communication with the remote server via a data communications network, a display and keypad, fixed storage with a file system and a proxy application stored therein, a slot receiving a smart card and providing a memory device interface interfacing with the smart card when the smart card is inserted into the slot of the security device, a user interface presented in the display, and control logic adapted: to respond to the connecting of the security device to the local computer by prompting in the user interface for an insertion of the smart card into the slot and the entering of a PIN through the keypad, receiving the PIN from the keypad and, on condition that the PIN received through the keypad is determined by the control logic to be correct by matching the PIN to data on the smart card, triggering a protocol rendering the security device visible on the local user computer as a mass storage device with the file system, starting the proxy application stored in the file system, the proxy application establishing between the security device and the remote server, via the local user computer, of a mutually-authenticated connection for encrypted end-to-end communications between the security device and the remote server; to receive said secret data items from the remote server via said connection; to interact with the user via said user interface to obtain user authorization to backup secret data items and, in response, to store the secret data items in a memory of the memory device; and to interact with the user via said user interface to obtain user authorization to restore secret data items from the memory of the memory device to the remote server and, in response, to send the secret data items to the remote server via said connection.
2. A device as claimed in claim 1, wherein the device is non-programmable by extraneous program code.
3. A device as claimed in claim 1, wherein the control logic is further adapted to interact with the user via said user interface to obtain user authorization to process a secret data item in accordance with a predetermined management operation and, in response, to process the secret data item in accordance with said operation.
4. A device as claimed in claim 1, wherein the control logic is adapted, during connection of the device to said user computer, to communicate with client software running on said user computer such that user input to the user computer for management of the secret data items can be conveyed to the server via the security device and information sent by the server for management of the secret data items can be conveyed via the security device to the user computer for output to the user.
5. A device as claimed in claim 4 wherein said client software comprises a web browser application and the proxy application for conveying communications between the browser application and the server via the security device, and wherein the security device is adapted such that the proxy application can be loaded from the security device to the user computer when the security device is connected to the user computer.
6. A computer program stored in a non-transitory computer readable storage medium, the computer program comprising program code for causing a processor of a security device to perform a method for facilitating management of secret data items which are used by a remote server to authenticate operations of the server, the security device having fixed storage accessible by a file system, a proxy application stored in the fixed storage, a keyboard, a display, and a user interface provided in the display, a memory device interface for interfacing with a memory device inserted into a slot of the security device, and a computer interface for connecting the device to a local user computer for communication with the remote server via a data communications network, the method comprising: responding to a connection of the security device to the local user computer by prompting in the display for an insertion of memory device into the slot and for a PIN input by the keyboard, receiving a PIN through the keyboard and, on condition that the PIN is determined to match corresponding data on the memory device, rendering the file system visible to the local user computer and starting the proxy application, the proxy application: establishing between the security device and the remote server, via the user computer, a mutually-authenticated connection for encrypted end-to-end communications between the security device and the remote server; receiving said secret data items from the remote server via said connection; interacting with the user via said user interface to obtain user authorization to backup secret data items and, in response, storing the secret data items in a memory of the memory device; and interacting with the user via said user interface to obtain user authorization to restore secret data items from the memory of the memory device to the remote server and, in response, sending the secret data items to the remote server via said connection.
7. An apparatus for facilitating management of secret data items used by a remote server to authenticate operations of the server, the apparatus comprising a local user computer for communication with the remote server via a data communications network, and a security device for connection to the user computer, the security device comprising: fixed storage with a file system and a proxy application stored therein, a keyboard and a display, a computer interface for connecting the security device to the local user computer for communication with the remote server via the data communications network, a memory device interface for interfacing with a memory device inserted into a slot of the security device, a user interface displayed in the display, and control logic adapted: to respond to a connection of the security device to the local user computer by prompting in the display for an insertion of the memory device into the slot and the inputting of a PIN by the keyboard, and on condition that the PIN matches data on the memory device, rendering the file system visible to the local user computer and starting the proxy application, the proxy application performing operations: to establish between the security device and the remote server, via the local user computer, a mutually-authenticated connection for encrypted end-to-end communications between the security device and the remote server; to receive said secret data items from the remote server via said connection; to interact with the user via said user interface to obtain user authorization to backup secret data items and, in response, to store the secret data items in a memory of the memory device; and to interact with the user via said user interface to obtain user authorization to restore secret data items from the memory of the memory device to the remote server and, in response, to send the secret data items to the remote server via said connection.
8. The apparatus as claimed in claim 7 wherein, in operation of the apparatus, the user computer runs client software enabling user input to the user computer for management of the secret data items to be conveyed to the server via the security device and information sent by the server for management of the secret data items to be conveyed via the security device to the user computer for output to the user, and wherein the control logic of the security device is adapted to communicate with said client software during connection of the device to the user computer.
9. The apparatus as claimed in claim 8 wherein said client software comprises a web browser application and the proxy application for conveying communications between the browser application and the server via the security device.
10. A system comprising: a remote server storing secret data items for authenticating operations of the server; and an apparatus for facilitating management of secret data items used by the remote server to authenticate operations of the remote server, the apparatus comprising a user computer for communication with the remote server via a data communications network, and a security device for connection to the user computer, the security device comprising: fixed storage with a file system and storing a proxy application thereon, a display and a keyboard, a computer interface for connecting the security device to the local user computer for communication with the remote server via the data communications network, a memory device interface for interfacing with a memory device inserted into a slot of the security device, a user interface displayed in the display, and control logic adapted: to respond to a connection of the security device to the local user computer by prompting in the display for an insertion of the memory device into the slot and the inputting of a PIN by the keyboard, and on condition that the PIN matches data on the memory device, rendering the file system visible to the local user computer and starting the proxy application, the proxy application performing operations: to establish between the security device and the remote server, via the local user computer, a mutually-authenticated connection for encrypted end-to-end communications between the security device and the remote server; to receive said secret data items from the remote server via said connection; to interact with the user via said user interface to obtain user authorization to backup secret data items and, in response, to store the secret data items in a memory of the memory device; and to interact with the user via said user interface to obtain user authorization to restore secret data items from the memory of the memory device to the remote server and, in response, to send the secret data items to the remote server via said connection.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Preferred embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF THE INVENTION
(8)
(9) Each key has associated metadata, in particular a unique key name or other id for convenient identification of individual keys. In addition, key metadata typically includes a checksum calculated over the bytes of key itself. Server 2 also hosts a key management application for management of the server keys by a system administrator as described further below.
(10) To facilitate management of the server keys from a location remote from server 2, the system 1 includes apparatus, indicated generally at 4, comprising a user computer 5 and a security device 6. User computer 5 here is a general-purpose PC, having a resident web browser application 7 allowing connection to remote server 2 via the Internet 3. The security device 6 can be connected to PC 5 as described below. Once connected, a proxy application 8 can be loaded from the security device 6 to PC 5. Proxy application 8 resides logically between browser 7 and Internet 3 and conveys communications to and from security device 6 as described in more detail below. The security device 6 is also connectable to a memory device 9 containing memory 10 for backup storage of server keys as described below.
(11)
(12) In operation, a system administrator can perform management operations for keys held by server 2 by interacting with the server via the browser 7 of any convenient local user computer 5. Web pages downloaded from server 2 are displayed in the browser window, allowing the user to interact in the usual manner with the key management application on server 2.
(13) However, the security device 6 allows the administrator to perform key management in a secure manner. In particular, when the administrator wishes to perform a key management operation, he first connects the security device 6 to PC 5 via USB interface 11. The control logic 16 of the device then performs a setup procedure the main steps of which are indicated in the flow diagram of
(14) Connection of the device 6 to PC 5 is represented by step 20 in
(15)
(16) Communications from the server to browser 7 can be forwarded by security device 6, via proxy 8, to the browser after removal of any security sensitive information, in particular key-bytes, as discussed below. Similarly, all communications from browser 7 to server 2 are relayed by proxy 8 to security device 6. Security device 6 can then add security-sensitive information to the flow as discussed below and forward packets on to server 2 via the secure connection. The user can interface with both user PC 5 and security device 6 during the management process as indicated in the figure.
(17) It will be seen from
(18) The first management operation to be described is the creation of backup copies of server keys so that these can be restored to the server if necessary. The administrator can select the backup function of the server management application by interacting with the application's user interface via browser 7 of PC 5. When so prompted, server 2 displays the key id's of its current keys (and if desired additional key metadata such as key checksums) via browser 7. (This operation can be restricted by the administrator's access privilege as established during the session authentication). The administrator can then select a key id and instruct the backup operation. In response, server 2 sends the key and associated metadata, and this is received by security device 6 via the secure connection. The control logic 16 identifies the key-export in the HTTP response from server 2 and initiates the key-backup operation. The main steps of this operation are indicated in the flow chart of
(19) Initiation of the backup operation on receipt of the exported key is represented by step 30 in
(20) The administrator can progress through the available server keys, creating backup copies of those required via the process described above. The backup keys are thus stored in secure memory 10 on smart card 9. This card can then be removed from device 6 and kept by the administrator for convenient access when subsequently required. In particular, if the administrator subsequently needs to restore a key to server 2, e.g. following device failure or system overhaul, then the following procedure can be performed.
(21) After setting up the security device and accessing the server 2 via a user PC 5 as already described, the administrator instigates display of the key ids for keys stored on smart card 9. This may be done by input of a predetermined command via device keypad 15, the control logic responding by accessing memory 10 and retrieving the key ids. Key ids (and associated metadata such as checksums if desired) may be displayed directly on device display 15 allowing scrolling by the user. Alternatively, or in addition, stored key ids may be sent by control logic 16 to browser 7 for display to the user on PC 5. The administrator can select the id of a key to be restored by the appropriate interface, and instruct the key-restore operation by interacting with the server management application via browser 7. The resulting HTTP request from browser 7 contains a payload which is annotated to indicate the key-restore request and includes a placeholder in place of the actual key-bytes which are not known to the browser. The request may include the key id and checksum of the selected key if available to the browser. The HTTP stream is received and parsed by control logic 16 of security device 6 which identifies the key-restore request. The main steps of the ensuing key-restore operation are indicated in the flow diagram of
(22) Receipt of the key-restore request by control logic 16 is represented by step 40 of
(23) The administrator can restore multiple server keys by repeating the process described above. The smart card 9 can then be removed from device 6 and kept as before.
(24) The security device can of course be employed in a similar manner to facilitate additional key management operations, such as deletion, replacement or renaming (changing the key id) of keys. For such operations, control logic 16 can interact with the user via user interface 13 to obtain user authorization to process a key in the required manner, only performing the requested operation in response to appropriate authorization. Again, user interaction via browser 7 can be exploited to facilitate these operations, e.g. by providing browsing options for these functions, while actual key-bytes need never be exposed to PC5 or network 3. Operations are always authorised by user confirmation using display 14 and keypad 15.
(25) It will be seen that the system described allows secure management of remote server keys, including secure key backup and restoration operations. These operations can be conducted over an insecure network 3 and via any convenient, potentially untrustworthy, user computer 5. The operation of security device 6 ensures that all key-bytes passing through network 3 and PC 5 are encrypted and that malware infecting PC 5 cannot take control of secure operations. The system can nevertheless be implemented in a simple manner, requiring only conventional browser operation on user computer 5 and relatively simple functionality in security device 6. Existing server management applications can be easily adapted for more convenient operation in the above system by only minor modification, e.g. changing a few web pages. The functionality of control logic 16 in the embodiment described also allows the security of smart card 9 to be exploited without requiring smart-card infrastructure changes. Overall, therefore, the integration effort required for system implementation is minimal.
(26) While an exemplary embodiment has been described above, many changes and modifications can be envisaged. Some examples are set forth below.
(27) While backup memory 10 is provided on smart card 9 which also carries the security data (connection key, user PIN, etc.) in this example, in other embodiments the backup memory 10 and/or security data may be contained in the security device itself. The security data, for example, could be contained in a secure chip which is embedded in the device and physically-protected against tampering, using self-destructing data containers or intrusion detection sensors for example.
(28) For simplicity of explanation, operation of the above embodiment has been described for a single server 2, the URL and credential for this server (the server certificate) being stored on smart card 9 in this case. In general, however, the security device may be used for managing one or more servers, and the server access data may be stored in a smart card (or other memory device) or in the security device itself. For example, the URL and server certificate(s) could be programmed in the security device 6 when it is manufactured. In the case of key management for multiple servers, multiple<URL, credential>pairs, each with an identifying name, could be pre-stored in the device, and the startup process could allow the user to select the desired server name from a list. Alternatively, for example, a starting URL pointing to a page with a list of servers that can be managed by an administrator could be stored in the security device (or memory device). This would allow the user to select a particular server on the browser. The advantage of this approach is that the user would have a very natural way of selecting the server, i.e. via the browser and a list of server links to click on. Since the PC 5 cannot be trusted, the user's choice of server would have to be authorized via user interface 13 of the security device (e.g. by displaying a message Connect to server XXXX. OK?). The credential corresponding to the selected server would still have to be available to the security device. The credentials here could be pre-stored in the security device or memory device. Alternatively, it would be possible to store a single credential on the security (or memory) device for an Intermediate Server where the individual server certificates are stored. In this case, when a server is selected, the security device would first securely connect to the Intermediate Server, and then obtain the credential for the required server. This would be a particularly scalable and flexible approach for management of multiple servers. Suitable modifications to the setup procedure of
(29) While backup and restore operations are performed key by key, each requiring user authorization, in the above example, the functionality can be easily adapted to allow operations to be performed on groups of keys, or even all available keys, if desired. Of course, while operation has been described with particular reference to private server keys, the system can of course be applied to other secret data items, including symmetric cryptographic keys, passwords, or other similar security tokens used for server authentication.
(30) Although server 2 is shown as a single entity above, in general the functionality of server 2 could be distributed over a plurality of physical machines of a server system. User computer 5 might also be implemented by a variety of other computing devices, such as PDAs (personal digital assistants), mobile phones, etc., which are capable of data communications with server 2 via network 3. Further, while an especially convenient web-based implementation has been described, client software other than the conventional browser and proxy applications described might be envisaged for use on user computers 5 in different applications and for use over networks other than the Internet.
(31) The security device itself could take a variety of forms, and the device's computer interface and memory device interface (where provided) could be implemented in general by any convenient form of wired or wireless connection. The user interface could also be implemented in a variety of ways, and might provide acoustic prompts to users and/or present visual information via a variety of display mechanisms, e.g. utilizing a laser projection display.
(32) It will be appreciated that many other changes and modifications can be made to the exemplary embodiments described without departing from the scope of the invention.