Abstract:
A digital rights management system and method. The inventive system includes a client for publishing and/or viewing protected content; a DRM server for providing licenses for viewing the protected content; and an inventive license proxy server coupled between the client and the server. The license proxy server includes a digital rights management lockbox and plural digital rights management client certificates. The license proxy server is disposed on an operationally independent platform relative to the client or the DRM server and thereby extends a DRM vendor&#39;s rights management capabilities to other platforms.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to computing and communications systems. More specifically, the present invention relates to systems and methods for providing for secure communications between computing platforms via a communications network. 
         [0003]    2. Description of the Related Art 
         [0004]    For many modern enterprises, information that is produced and consumed exists in digital form (e.g., electronic mail messages, word processing documents, spreadsheets, and databases). This digital content or data is often a valuable asset that requires protection and security. Indeed, most current and valuable enterprise information is captured in digital documents. Computers have become essential tools for processing and managing this ever-growing stockpile of information. However, enterprises are particularly challenged to protect this growing amount of valuable digital data against deliberate disclosure or accidental mishandling. For this purpose, Digital Rights Management (DRM) techniques have been employed. 
         [0005]    As discussed in “Digital Rights Management”, DRM is any of several technologies used by publishers to control access to digital data (such as software, music, movies) and hardware. (See Wikipedia, Digital Rights Management, http://en.wikipedia.ore/wiki/Digital Rights Management (as of Jul. 18, 2006, 02:37 GMT)). In more technical terms, DRM handles the description, layering, analysis, valuation, trading, monitoring and enforcement of usage restrictions that accompany a specific instance of a digital work. 
         [0006]    Conventionally, DRM is implemented with a number of components distributed between a Rights Management Server and a vendor-specific client platform supported by the DRM vendor. Rights-managed documents and email messages are referred to throughout this document as ‘Protected Content’. When Protected Content is published, the publisher specifies which individuals can access the Protected Content as well as what kind of access rights are granted to those individuals. Individuals to whom access rights are granted are referred to herein as ‘Principals’. Access rights determine, for example, whether the Principal can only view the information, or whether the Principal can also perform other operations such as printing, editing, or saving the information. 
         [0007]    A ‘Secure Publisher’ is a software module that is primarily responsible for protecting content. ‘Secure Viewer’ refers to the software module that is responsible for presenting the protected content to a Principal, while enforcing access rights that potentially limit what the Principal can do with the content. The Secure Publisher protects the content by encrypting it, and then sealing the decryption key along with the Principals and their access rights, in a ‘Publishing License’. The Secure Viewer uses the Publishing License to decrypt the content and enforce access rights. The secure viewing mechanism is key, because DRM is about enforcing access rights, without surrendering control of the information to the recipient of a document or email. 
         [0008]    The Secure Publisher initializes the DRM lockbox that verifies that the publisher is signed by a trusted DRM authority and that the signature is valid. This ensures to the DRM lockbox that the publisher has not been tampered with. The DRM lockbox creates an empty publishing license. The DRM lockbox randomly generates a symmetric key used for Advanced Encryption Standard (AES) encryption. The DRM lockbox encrypts the symmetric key with the server&#39;s public key using the Rivest, Shamir, Adelman (RSA) public key algorithm. 
         [0009]    The DRM lockbox returns the publishing license to the Secure Publisher along with an End User License (EUL). The Secure Publisher binds the EUL to the user&#39;s Rights-management Account Certificate (RAC), using the DRM Lockbox, resulting in an encryption handle. The Secure Publisher provides the encryption handle to the DRM Lockbox along with the unencrypted content. The DRM Lockbox encrypts the content using AES encryption and the symmetric key. The Secure Publisher then publishes the encrypted content along with the publishing license. 
         [0010]    A Secure Viewer then initializes the DRM lockbox which verifies that the viewer is signed by a trusted DRM authority and that the signature is valid, thereby ensuring to the DRM lockbox that the viewer has not been tampered with. A secure viewer obtains an End User License for protected content by sending the content&#39;s Publishing License to a DRM server, along with the user&#39;s RSA public key. 
         [0011]    The DRM server authenticates the user and uses the server&#39;s RSA private key to unseal the symmetric AES key in the Publishing License. The DRM server uses the AES symmetric key to unseal the encrypted principals and rights information in the publishing license. If rights have been granted to the requesting user, then the DRM server creates an End User License by encrypting the AES symmetric key using the user&#39;s RSA public key. The Secure Viewer binds the EUL to the user&#39;s RAC, using the DRM Lockbox, resulting in a decryption handle. The Secure Viewer provides the decryption handle to the DRM Lockbox along with the encrypted content. The DRM Lockbox decrypts the content using AES encryption and the  16 -byte symmetric key. The DRM Lockbox returns the decrypted content to the Secure Viewer. The Secure Viewer enforces access rights as specified in the End User License. 
         [0012]    Although effective, the above-described technology lacks platform independence. DRM servers tend to be platform independent web services, but will generally only interoperate with their own proprietary rights management client components, which are tied to the hardware and operating system platform that the DRM vendor chooses to support. 
         [0013]    Hence, a need remains in the art for a system or method for providing DRM for client hardware and operating system platforms beyond those supported by a DRM vendor. 
       SUMMARY OF THE INVENTION 
       [0014]    The need in the art is addressed by the digital rights management system and method of the present invention. The inventive system includes a client for publishing and/or viewing protected content; a server for providing licenses for viewing the protected content; and an inventive license proxy server coupled between the client and the server. 
         [0015]    In the illustrative embodiment, the server is a DRM server and the license proxy server includes a digital rights management lockbox and plural digital rights management client certificates. The license proxy server is disposed on an operationally independent platform relative to the client and thereby extends a DRM vendor&#39;s rights management capabilities to other platforms. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]      FIG. 1  is a simplified block diagram showing a digital rights management scheme implemented in accordance with conventional teachings. 
           [0017]      FIG. 2  is a flow diagram which illustrates secure publishing in accordance with the conventional digital rights management scheme of  FIG. 1 . 
           [0018]      FIG. 3  is a flow diagram which illustrates secure viewing in accordance with the conventional digital rights management scheme of  FIGS. 1 and 2 . 
           [0019]      FIG. 4  is a simplified block diagram showing a digital rights management scheme implemented with a License Proxy Server in accordance with the digital rights management scheme of the present invention. 
           [0020]      FIG. 5  is a flow diagram which illustrates secure publishing in accordance with the digital rights management scheme of the present invention. 
           [0021]      FIG. 6  is a flow diagram which illustrates secure viewing in accordance with the digital rights management scheme of the present invention. 
       
    
    
     DESCRIPTION OF THE INVENTION 
       [0022]    Illustrative embodiments and exemplary applications will now be described with reference to the accompanying drawings to disclose the advantageous teachings of the present invention. 
         [0023]    While the present invention is described herein with reference to illustrative embodiments for particular applications, it should be understood that the invention is not limited thereto. Those having ordinary skill in the art and access to the teachings provided herein will recognize additional modifications, applications, and embodiments within the scope thereof and additional fields in which the present invention would be of significant utility. 
         [0024]      FIG. 1  is a simplified block diagram showing a digital rights management scheme implemented in accordance with conventional teachings. As shown in  FIG. 1 , the conventional digital rights management system  10 ′ consisted of a number of components distributed between a Rights Management Server  12 ′ and a vendor-specific client platform  14 ′ supported by a DRM vendor. 
         [0025]    As used herein:
       ‘Protected Content’ refers to rights-managed documents and email messages;   ‘Principals’ refers to individuals to whom access rights are granted in or to Protected Content;   ‘Access Rights’ control for example whether the Principal can only view the information, or whether the Principal can also perform other operations such as printing, editing, or saving the information;   ‘Secure Publisher’ refers to a software module that is primarily responsible for protecting content;   ‘Secure Viewer’ refers to a software module that is responsible for presenting the protected content to a Principal, while enforcing access rights that potentially limit what the Principal can do with the content;   ‘Publishing License’ refers to a file that contains a decryption key, Principals and the access rights thereof; and   ‘DRM’ Lockbox refers to the scheme commonly used in existing DRM solutions that prevents an authorized user from gaining access to the decryption keys or the decrypted content outside of the Secure Viewer or Secure Publisher.       
 
         [0033]    In accordance with conventional teachings, when Protected Content  16 ′ is published, the publisher specifies which individuals can access the Protected Content as well as the access rights that are granted to those individuals. A Secure Publisher  18 ′ protects the content by encrypting it and then sealing the decryption key along with the Principals and their access rights, in a Publishing License  20 ′. A Secure Viewer  22 ′ uses the Publishing License to decrypt the content and enforce access rights. The secure viewing mechanism is of critical importance, because the purpose of Digital Rights Management is to enforce access rights at all times, without even momentarily surrendering control of the information to the recipient of a document or email. 
         [0034]    The steps involved in publishing and viewing Protected Content will now be considered. 
         [0035]      FIG. 2  is a flow diagram which illustrates secure publishing in accordance with the conventional digital rights management scheme of  FIG. 1 . As illustrated in  FIG. 2 , at step  32 ′, a Secure Publisher  18 ′ ( FIG. 1 ) initializes a DRM lockbox  24 ′ ( FIG. 1 ) which verifies that the publisher is signed by a trusted DRM authority and that the signature is valid. This ensures to the DRM lockbox  24 ′ that the publisher  18 ′ ( FIG. 1 ) has not been tampered with. At step  34 ′, the DRM lockbox creates an empty publishing license. Next, at step  36 ′, the DRM lockbox randomly generates a 16 byte symmetric key used for Advanced Encryption Standard (AES) encryption. At step  38 ′, the DRM lockbox encrypts the 16 byte (128 bits) symmetric key with the server&#39;s public key using the RSA public key algorithm. The length of the server&#39;s public key is typically 1024 bits. 
         [0036]    At step  40 ′ the encrypted symmetric key is added to the publishing license and at step  42 ′ the principals and access rights are encrypted. Next, at step  44 ′, the principals and access rights are added to the publishing license. At step  46 ′, an end user license is created by encrypting the symmetric key with the publishing user&#39;s public key. 
         [0037]    Then, at step  50 ′, the DRM lockbox returns the publishing license to the Secure Publisher along with an End User License (EUL). The Secure Publisher binds the EUL to the user&#39;s RAC, using the DRM Lockbox, resulting in an encryption handle. At step  52 ′, the Secure Publisher provides the encryption handle to the DRM Lockbox along with the unencrypted content. The DRM Lockbox encrypts the content using AES encryption and the 16 byte symmetric key. Finally, at step  54 ′, the Secure Publisher publishes the encrypted content along with the publishing license. Noted. Comments are included above under “Brief Description of Drawings”. 
         [0038]      FIG. 3  is a flow diagram which illustrates secure viewing in accordance with the conventional digital rights management scheme of  FIGS. 1 and 2 . At step  64 ′, the Secure Viewer  22 ′ ( FIG. 1 ) initializes the DRM lockbox  18 ′ ( FIG. 1 ) which verifies that the viewer is signed by a trusted DRM authority and that the signature is valid, thereby ensuring to the DRM lockbox that the viewer has not been tampered with. As shown in  FIG. 3 , the secure viewer obtains an End User License for protected content by first sending the content&#39;s Publishing License to a DRM server, along with the user&#39;s RSA 1024-bit public key at step  66 ′. At steps  70 ′ and  72 ′, the DRM server authenticates the user and uses the server&#39;s 1024-bit RSA private key to unseal the symmetric AES key in the Publishing License. Then, at step  74 ′, the DRM server uses the AES symmetric key to unseal the encrypted principals and rights information in the publishing license. If, at step  76 ′, the system determines that rights have been granted to the requesting user, then, at step  78 ′, the DRM server returns an End User License by encrypting the AES symmetric key using the user&#39;s RSA 1024-bit public key. At step  80 ′, the viewer receives the End User License from the DRM server and at step  82 ′, the Secure Viewer binds the EUL to the user&#39;s Rights-management Account Certificate (RAC), using the DRM Lockbox, resulting in a decryption handle. The Secure Viewer provides the decryption handle to the DRM Lockbox along with the encrypted content. The DRM Lockbox decrypts the content using AES decryption and the  16 -byte symmetric key. The DRM Lockbox returns the decrypted content to the Secure Viewer. The Secure Viewer enforces access rights as specified in the End User License allowing the user to display the decrypted content. 
         [0039]    Unfortunately, the conventional scheme described above lacks platform independence. That is, although DRM servers tend to be platform independent web services, they apparently currently only interoperate with their own proprietary rights management client components, which are tied to the hardware and operating system platform that the DRM vendor chooses to support. 
         [0040]    Hence, there is a need in the art for a system or method for expanding high performance Digital Rights Management offerings such as GigaTrust to client hardware and operating system platforms beyond the ones supported by a single DRM vendor. In accordance with the present invention, a License Proxy Server is implemented, along with additional rights management client components, that extend a DRM vendor&#39;s rights management capabilities to other platforms. The inventive license proxy server, referred to herein as the ‘GigaTrust License Proxy Server’, is discussed more fully below. 
         [0041]      FIG. 4  is a simplified block diagram showing a digital rights management scheme implemented with a License Proxy Server in accordance with the present teachings. The GigaTrust License Proxy Server  100  supports a platform-independent client  14 , first by hosting the DRM vendor&#39;s platform specific components (i.e., a DRM lockbox  24  and client certificates  26 ) on the License Proxy Server  100  and then by implementing and exposing a platform-independent web service interface to the License Proxy Server. The GigaTrust License Proxy solution also includes client-side Secure Publisher and Secure Viewer components  18  and  22  respectively, that may be platform-dependent or platform-independent, and that communicate with the GigaTrust License Proxy Server  100  via a platform-independent web service. The term “web service” is used loosely here, and can refer to any of a number of inter-computer communication mechanisms that would allow information to flow between computer systems. 
         [0042]      FIG. 5  is a flow diagram which illustrates secure publishing in accordance with the digital rights management scheme of the present invention. At step  204 , a Secure Publisher running on any client platform sends the unprotected content, along with a list of Principals and the access rights to be granted to those Principals, to the License Proxy Server. Next, at step  208 , the License Proxy Server authenticates the user, and determines whether it has the necessary DRM certificates for the user as required by the DRM Server. If necessary, at step  210 , the License Proxy Server authenticates to the DRM Server and obtains DRM certificates on behalf of the end user, that is, on behalf of the user running the Secure Publisher on the client. At step  212 , the License Proxy Server protects the content in a manner similar to that described above with respect to  FIG. 2 , with the License Proxy Server acting as the Vendor-Specific Client as far as the DRM Server is concerned. 
         [0043]    At step  214 , the License Proxy Server sends the Protected Content along with the Publishing License to the Secure Publisher. The request from the Secure Publisher to the License Proxy Server may be synchronous or asynchronous, and so the Protected Content and Publishing License may be returned to the Secure Publisher in response to the original request, or it may be forwarded to the Secure Publisher later after the original request has terminated. 
         [0044]    Finally, at step  216 , the Secure Publisher receives the Protected Content and the Publishing License from the License Proxy Server. 
         [0045]      FIG. 6  is a flow diagram which illustrates secure viewing in accordance with the digital rights management scheme of the present invention. The Secure Viewer consists of a variety of mechanisms, with a common characteristic that they set a high bar for securing content against malicious threats, comparable to the standard of security that exists conventionally for DRM solutions that utilize a DRM lockbox on the client. As shown in  FIG. 6 , at step  304 , a Secure Viewer running on any client platform sends the Protected Content, along with its Publishing License, to the License Proxy Server. At step  308 , the License Proxy Server authenticates the user, and determines whether it has the necessary DRM certificates for the user as required by the DRM Server. If necessary, at step  310 , the License Proxy Server authenticates to the DRM Server and obtains DRM certificates on behalf of the end user, in other words, on behalf of the user running the Secure Viewer on the client. At step  312 , the License Proxy Server decrypts the content in a manner similar to that described under Prior Art Viewing Algorithm, with the License Proxy Server acting as the Vendor-Specific Client as far as the DRM Server is concerned. At steps  314  and  316 , the License Proxy Server re-encrypts the content along with a list of access rights, and sends the re-encrypted content and access rights to the Secure Viewer. At steps  318 ,  320  and  322 , the Secure Viewer receives the encrypted content and access rights, decrypts the content and access rights, displays the decrypted content and enforces access rights in accordance with the publishing license. 
         [0046]    Those skilled in the art will appreciate that the processes depicted in the flow diagrams shown and described herein may be implemented in software, using C++, Java, C#, or other suitable language, stored on a machine readable physical storage medium and adapted for execution by a processor or general purpose digital computer. 
         [0047]    Thus, the present invention has been described herein with reference to a particular embodiment for a particular application. Those having ordinary skill in the art and access to the present teachings will recognize additional modifications, applications and embodiments within the scope thereof. For example, 
         [0048]    It is therefore intended by the appended claims to cover any and all such applications, modifications and embodiments within the scope of the present invention. 
         [0049]    Accordingly,