Systems and methods for providing secure server key operations
First Claim
1. A method for providing secure server key operations in a system comprising a front-end server that is accessible via a global communications network and a back-end server that is coupled to the front-end server via a local communications network, the method comprising:
- generating, on the front-end server, a certificate signing public-private key pair for use in connection with signing a certificate, wherein the certificate signing public-private key pair includes a certificate signing public key and a certificate signing private key;
generating a content protection public-private key pair for use in connection with encrypting or decrypting a piece of digital content, wherein the content protection public-private key pair includes a content protection public key and a content protection private key;
storing the certificate signing private key on the front-end server;
storing the content protection private key on the back-end server so as to avoid such content protection private key from being directly accessible via the global communications network; and
providing to a client application, a certificate chain that includes the certificate signing public key and the content protection public key.
1 Assignment
0 Petitions
Accused Products
Abstract
A key management interface that allows for different key protection schemes to be plugged into a digital rights management system is disclosed. The interface exposes the functionality of signing data, decrypting data encrypted using a public key, and re-encrypting data encrypted using the public key exported by the interface to a different authenticated principal (i.e., a different public key). Thus, a secure interface can be provided such that the data does not enter or leave the interface in the clear. Such an interface exports private key operations of signing and decryption, and provides security and authentication for the digital asset server in licensing and publishing. During publishing, a client can encrypt asset keys such that only a specified entity can decrypt it, using a plug-in, for example, that implements the aforementioned interface. During licensing, the license issuing entity can use the interface to decrypt keys for assets and to sign licenses and rights labels such that the asset is protected and consumable by a host digital rights management platform. The interface thus provides an abstraction for key operations.
29 Citations
19 Claims
-
1. A method for providing secure server key operations in a system comprising a front-end server that is accessible via a global communications network and a back-end server that is coupled to the front-end server via a local communications network, the method comprising:
-
generating, on the front-end server, a certificate signing public-private key pair for use in connection with signing a certificate, wherein the certificate signing public-private key pair includes a certificate signing public key and a certificate signing private key; generating a content protection public-private key pair for use in connection with encrypting or decrypting a piece of digital content, wherein the content protection public-private key pair includes a content protection public key and a content protection private key; storing the certificate signing private key on the front-end server; storing the content protection private key on the back-end server so as to avoid such content protection private key from being directly accessible via the global communications network; and providing to a client application, a certificate chain that includes the certificate signing public key and the content protection public key. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for providing secure server key operations in a system comprising a front-end server that is accessible via a global communications network and a back-end server that is coupled to the front-end server via a local communications network, the method comprising:
-
generating a content protection public-private key pair for use in connection with encrypting or decrypting a content symmetric key used to protect a piece of digital content, wherein the content protection public-private key pair includes a content protection public key and a content protection private key; storing the content protection private key on the back-end server so as to avoid such content protection private key from being directly accessible via the global communications network; generating, on the front-end server, a certificate signing public-private key pair, wherein the certificate signing public-private key pair includes a certificate signing public key and a certificate signing private key; storing the certificate signing private key on the front-end server; and publishing the content protection public key via a root licensor certificate that is signed using the certificate signing private key. - View Dependent Claims (9, 10, 11)
-
-
12. A method for providing secure server key operations in a digital rights management system, the method comprising:
-
generating a root public-private key pair that includes a root private key and a root public key for use in connection with signing a certificate, wherein the certificate signing public-private key pair includes a certificate signing public key and a certificate signing private key; issuing a root licensor certificate that contains the root public key; periodically generating a current rolling public-private key pair that includes a current rolling public key and a current rolling private key for use in connection with encrypting or decrypting a content symmetric key used to protect a piece of digital content, wherein the content protection public-private key pair includes a content protection public key and a content protection private key; receiving a request from a client application to perform a digital rights management operation; and performing the digital rights management operation using the current rolling public-private key pair, each current rolling public-private key being generated and stored on a back-end server coupled via a local communications network to a front-end server that is accessible via a global communications network, the root private key being stored on the front-end server, each current rolling private key being stored at the back-end server so as to avoid such current rolling private key from being directly accessible via the global communications network. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
Specification