RELATED CASE

This application is related to U.S. patent application Ser. No. 17/334,550, entitled “Shared Secret Implementation of Proxied Cryptographic Keys,” filed on May 28, 2021, the entire contents of which are hereby incorporated by reference as if fully set forth herein.

TECHNICAL FIELD

The present disclosure relates generally to cryptographic keys and, more specifically, to enhancing the security of a system that makes use of a remote server that proxies cryptographic keys.

BACKGROUND

Cryptography is the practice and study of techniques for secure communication in the presence of third parties called adversaries. More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. Various aspects in information security, such as data confidentiality, data integrity, authentication, and non-repudiation are central to modern cryptography. Cryptographic keys, which are applied to messages, are central to securing those messages.

However, current approaches for maintaining cryptographic keys are deficient. Such approaches involve storing cryptographic keys on client devices. In enterprises with many client devices, managing such storage is difficult and security is poor. For example, a hacker that gains access to one of the client devices has access to all the cryptographic keys stored on that client device and, as a result, is able to authenticate itself to a resource server, thus impersonating the client device. Therefore, the hacker can access resources that are made available through the resource server and that are accessible to the client device as a result of its cryptographic keys. Also, if the same compromised cryptographic keys are stored on all client devices, then compromising only a single client device is sufficient for the hacker to potentially obtain access to all privileged resources that require those cryptographic keys.

Another approach for maintaining cryptographic keys is to store them remotely from client devices in a secure cryptographic device. Thus, in order to leverage a cryptographic key, the client device must be configured to communicate with the cryptographic device. However, some enterprises require the provisioning of multiple cryptographic devices. Therefore, configuring each client device in an enterprise to communicate with each cryptographic device or only with certain cryptographic device quickly becomes a significant management burden and very error prone.

Another approach for maintaining cryptographic keys is a variation on the last approach, except that a central proxy server manages access to the cryptographic device(s). Thus, a client device sends a request for a cryptographic operation to the proxy server and the proxy server communicates with a cryptographic device so that the cryptographic operation is performed. This simplifies the configuration of client devices in the enterprise. However, by offloading the management of cryptographic keys and operations from client devices to a central proxy server, the central proxy server has access to (and can persistently store) a significant amount of key-related information, such as key names or identifiers of cryptographic keys stored in a cryptographic device, passwords or personal identification numbers (PINs) of those cryptographic keys, and wrapped versions of those keys.

Some cryptographic keys are associated with a password, an example of which is a PIN. If so, then a cryptographic device requires the PIN before performing a cryptographic operation using the associated cryptographic key. Thus, the proxy server would provide a key name and a PIN to a cryptographic device, which determines whether the received PIN matches a PIN that the cryptographic device stores in association with the key name.

A “wrapped key” is a cryptographic key that is encrypted and can only be decrypted by a cryptographic device that stores a key to decrypt the cryptographic key, typically in a manner such that the “unwrapped key” is not exportable from the cryptographic device. A cryptographic device, such as an HSM, may provide wrapped keys to client devices and/or a proxy server if the cryptographic device does not have enough room to store all the cryptographic keys required by an enterprise.

PINs and wrapped keys are examples of “secret key information.” As a result of having access to secret key information, the proxy server becomes a target of hackers who desire access to that secret key information.

The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.

