This application is based on and hereby claims priority to International Application No. PCT/EP2010/069782 filed on Dec. 15, 2010 and German Application Nos. 10 2009 060 688.2 filed on Dec. 29, 2009 and 10 2010 006 432.7 filed on Feb. 1, 2010, the contents of which are hereby incorporated by reference.
The invention relates to a method and to a system for making EDRM (Enterprise Digital Rights Management)-protected data objects available to a user.
Enterprise Digital Rights Management (EDRM) provides access protection to data objects independently of their storage location. An EDRM-protected data object can be opened and then processed by an authorized user in accordance with his access rights that apply thereto. This occurs independently of the location at which the data object is stored or the manner in which it has been transferred. An unauthorized third party or outsider, who does not have access rights to access the data object, therefore cannot do anything with a copy by way of example of the data object, which he receives by email by way of example, or which he discovers on a USB stick that has been found. In other words, a third party cannot access the EDRM-protected data object.
To use such Enterprise Digital Rights Management (EDRM) the respective applications or application programs must be specially adapted for this purpose, however, i.e. the application programs must be expanded by an EDRM functionality. Therefore only application programs which have been specially adapted for this purpose can be used to utilize EDRM.
In an EDRM system an issuer of a data object, in particular a document, encrypts the data object before he releases it and also assigns access rights to the data object to specific users or user groups. This encrypted data object, including the associated access rights, is then transferred to an EDRM server. The issuer of the data object or document generates what is known as an issuance license (IL) which contains the access rights of users and user groups. The issuance license IL can indicate by way of example which users or which user groups are allowed to read, print or store the data object. In addition the issuance license IL contains a symmetrical cryptographic key which has been used by the issuer of the respective data object DO to encrypt the data object. Since the symmetrical cryptographic key DK, which is used to encrypt the data object, represents secret information, the issuance license IL generated by the producer or issuer of the data object is encrypted using a public key Kpub of the EDRM server and the issuer of the data object DO signs the issuance license IL. The document key DK for encrypting the data object DO can be randomly or pseudo randomly generated. The authorizations of the various users and user groups for the various types of access results from an access control list ACL which can be administratively determined. The access control list ACL indicates which users possess which access authorizations to the respective data object DO. Once the issuance license IL has been transferred from the data object issuer to the EDRM server the signature is verified by the EDRM server and then the issuance license IL transferred in encrypted form is decrypted by the EDRM server. The EDRM server stores the transferred information, i.e. the document key DK and the access control list ACL in particular. The issuance license IL can be changed by the data object issuer, by way of example if a person leaves a project or the data object DO is replaced by a newer version.
To use an EDRM-protected data object DO a user can access the EDRM server via an EDRM client to, by way of example, process the EDRM-protected data object. The EDRM client communicates with the EDRM server to obtain the symmetrical document key DK and to determine the access rights of the present data object in the form of what is known as an end user license EUL. This end user license EUL is only created by the EDRM server following authentication of the user against the EDRM server and is transferred to the corresponding EDRM client. The EDRM client passes the determined access rights to the EDRM-capable application program which is responsible for maintenance of the access rights. Decryption of the data object DO using the data object key DK occurs by way of the EDRM client, as does a potentially subsequently necessary renewed encryption of the data object. The EDRM client can keep the data object key DK secret even from a user with administration rights by way of example by code obfuscation or the like. The data object key can also be kept in the EDRM client in secured memory areas or even with the aid of a hardware security module (for example TPM—Trusted Platform Module).
However, conventional EDRM systems do not support access to data objects DO by users who work by way of example in different companies with different EDRM systems. Integration or collaboration of such users or applications, by way of example in the course of a joint venture by different companies, is not possible with conventional EDRM systems.
It is therefore one possible object to create a method and a system for making an EDRM-protected data object available which allows decentralized access to EDRM-protected data objects by users of different instances.
The inventors propose a method for making at least one EDRM (Enterprise Digital Rights Management)-protected data object DO available to a user, wherein access rights DP to the EDRM-protected data object DO are formed depending on partial access rights Pi to at least one or more data object(s) which are contained in the EDRM-protected data object DO.
In an embodiment of the proposed method the access rights DP to the EDRM-protected data object DO are calculated by a client computer of the user by an access right derivation function PDF (Policy Derivation Function) depending on the access rights Pi.
In one possible embodiment of the proposed method the access right derivation function PDF is formed by a logic function.
In one possible embodiment of the proposed method the logic access right derivation function PDF forms an intersection of the partial access rights Pi.
In a further embodiment of the proposed method the logic access right derivation function PDF forms a union of the partial access rights Pi.
In a further embodiment of the proposed method the local access right derivation function PDF forms a difference of the partial access rights Pi.
In one possible embodiment of the proposed method the access right derivation function PDF is formed by a majority decision of the partial access rights read out by different EDRM servers.
In one embodiment of the proposed method a data object key DK of the EDRM-protected data object DO is calculated by the client computer of the user depending on partial keys Ki.
In one embodiment of the proposed method a data object DO generated by the client computer is encrypted using the calculated data object key DK.
In one embodiment of the proposed method the data object key DK is calculated by a key derivation function KDF.
In one embodiment of the proposed method the key derivation function KDF is a logic function.
In a further possible embodiment of the proposed method the key derivation function KDF is a concatenation function.
In a further possible embodiment of the proposed method the key derivation function KDF is a hash function.
In a further possible embodiment of the proposed method the key derivation function KDF has a combination of various functions, in particular a concatenation function, a hash function and a logic function.
In one embodiment of the proposed method the partial access rights Pi are made available for access to the data objects contained in the EDRM-protected data object and the partial key K is made available for calculating the data object key from different EDRM servers.
In one embodiment of the proposed method the partial access rights Pi and the partial keys Ki are transferred from the EDRM servers to the client computer of the user following authentication of the user against the respective EDRM server at the user's request by giving the document identification D-ID of the data object DO.
In one embodiment of the proposed method an associated right object RO is generated which gives access rights Pi of users or user groups to the generated data object DO for a data object DO generated by the client computer of the user.
In one embodiment of the proposed method the right object RO associated with the data object DO is encrypted using a public key Kpub of an EDRM server and together with the data content DI, encrypted by the calculated data object key DK, of the data object DO, and the document identification D-ID of the data object is transferred in signed form to the respective EDRM server.
In one embodiment of the proposed method the EDRM server decrypts the right object RO transferred in encrypted form using a private key Kpriv of the EDRM server and stores the decrypted right object RO following verification of the received signature.
In one embodiment of the proposed method the EDRM server decrypts the data content of the data object DO transferred in encrypted form using the data object key DK of the data object and stores the decrypted data content following verification of the received signature.
In one embodiment of the proposed method the EDRM server stores the decrypted data content of the data object or the still encrypted data content of the data object in itself.
In an alternative embodiment of the proposed method the EDRM server stores the decrypted data content of the data object in a file server.
In one embodiment of the proposed method the data object DO is formed by a document.
In an alternative embodiment of the proposed method the data object DO is formed by a software component.
The inventors also propose a system for making EDRM-protected data objects available to users, wherein access rights DP to an EDRM-protected data object DO are formed depending on partial access rights Pi to at least one of more data object(s) which are contained in the respective EDRM-protected data object DO.
In one embodiment of the proposed system the access rights DP to the EDRM-protected data object DO are calculated by a client computer of the user by an access right derivation function PDF depending on the partial access rights Pi which are made available by different EDRM servers.
In one embodiment of the proposed system a data object key DK of the EDRM-protected data object is calculated by the client computer of the user by a key derivation function KDF depending on partial keys Ki which are read out by different EDRM servers.
In one possible embodiment of the proposed system the client computer is connected to the EDRM servers by a data network.
These and other objects and advantages of the present invention will become more apparent and more readily appreciated from the following description of the preferred embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout.
As may be seen from
The access right derivation function PDF can be a logic function. In one possible embodiment the logic access right derivation function PDF is formed by an intersection of the partial access rights Pi, i.e. by a logic AND operation of the partial access rights Pi. This means that access authorization is granted by a plurality of partial policies:
DP=P
1
∩P
2
∩ . . . P
n
In a further embodiment the logic access right derivation function PDF is formed by a union of the partial access rights Pi i.e. the partial access rights Pi are linked together by a logic OR operation. In this case access authorization must be granted by one of the partial policies:
DP=P
1
∪P
2
∪ . . . P
n
In a further embodiment of the proposed system the logic access right derivation function PDF is formed by a difference of the partial access rights Pi. This means that access authorization is granted by a first partial policy P1 but not by a second partial policy P2:
DP=P
1
/P
2
In a further possible embodiment the access right derivation function PDF is formed by a majority decision of the partial access rights Pi read out by different EDRM servers 5. If, by way of example, there are two EDRM servers 5A, 5B, in this exemplary embodiment more than 50%, i.e. both EDRM servers 5A, 5B, must grant the access rights. If there are three EDRM servers, at least two of the three EDRM servers must grant the access rights. EDRM servers 5, which owing to a temporary failure have not implemented all right updates, but in the meantime are issuing end user licenses (EUL) again, can consequently be overruled. The failure of one EDRM server 5 can also be ignored by the EDRM client computer 3 in this case (in contrast to a pure AND operation of the partial access rights).
In one possible embodiment the client computer 3 has various access right derivation functions PDF from which the user 4 can choose or which the user 4 can select. In one embodiment of the proposed system 1 a data object key DK of the EDRM-protected data object DO is calculated by the client computer 3 of the user 4 by a key derivation function KDF depending on partial keys Ki which are read out from different EDRM servers 5A, 5B. A data object DO generated by the client computer 3 is encrypted using the calculated data object key DK.
This data object key DK is calculated by the key derivation function KDF. In one possible embodiment the key derivation function KDF is a logic operation. The logic function can by way of example be an exclusive OR operation. In a further embodiment the key derivation function KDF is a concatenation function in which various keys Ki are appended one after the other. In a further embodiment the used k key derivation function KDF is a hash function, in particular an MD5, an SHA-1 or an SHA256 hash function. The key derivation function KDF can also be formed by a combination of various functions of different types, by way of example a hash function and a logic operation of keys, by way of example SHA256 (K1 XOR K2).
The following generally applies for determining the access rights DP to the EDRM-protected data object DO depending on partial access rights Pi in the case of a plurality of EDRM servers 5:
DP=PDF(P1,P2, . . . Pn)
The following generally applies for calculating the data object key DK using a key derivation function KDF comprising a plurality of partial keys Ki which can be read out by different EDRM servers 5:
DK=KDF(K1,K2, . . . Kn).
The partial access rights Pi to access the data objects contained in the EDRM-protected data object DO, and the partial keys Ki for calculating the data object key DK are read out by different EDRM servers 5.
In one possible embodiment of the proposed system 1 the partial access rights Pi and the partial keys Ki are transferred from the EDRM servers 5 to the client computer 3 of the user following authentication of the user against the respective EDRM servers 5 at the user's request by giving the document identification D-ID of the data object. An associated right object RO can be generated for a data object DO generated by the client computer 3 of the user 4 in the process, the right object giving access rights Pi of users or user groups to the generated data object. The right object RO associated with the data object DO and encrypted using a public key Kpub of an EDRM server 5 can preferably be transferred in signed form to the respective EDRM server 5 together with the data content DI of the data object DO, encrypted by the calculated data object key DK, and the document identification D-ID of the data object. Following verification of the received signature the EDRM server 5 decrypts the right object RO transferred in encrypted form using a private key Kpriv and stores the encrypted right object RO. Following verification of the received signature the EDRM server 5 also decrypts the data content of the data object DO transferred in encrypted form using the data object key DK of the respective data object and stores the decrypted data content. The EDRM server 5, by way of example the EDRM server 5A or 5B in
With the proposed system 1, as is shown in
It is also ensured with the proposed system 1 that certain restrictions, which are specified on a different EDRM server, cannot be evaded as a result of configuration errors on one EDRM server 5.
As
In step S2 shown in
Partial items of information are stored on the EDRM server 5A, i.e. a partial policy or access rights Pi and partial keys Ki.
In a further step S15 the access rights DP to the data object DO are formed depending on the partial access rights P1, P2, received in step S10 and in step S14, to the data object DA and DB, which are contained in the EDRM-protected data object DO. These access rights DP to the data object DO are preferably calculated by a client computer 3 of the user 4, which in the given example is the document generator for the data object DO, by an access right derivation function PDF depending on the partial access rights P1, P2. This access right derivation function PDF is by way of example a logic function which forms an intersection of the partial access rights P1, P2 or a union of the partial access rights P1 and P2 or a difference of the partial access rights P1 and P2. The access right derivation function PDF can also be formed by a majority decision of the time access rights P1 and P2 read out by the different EDRM servers 5A, 5B.
In a step S16 a data object key DK of the EDRM-protected data object DO is calculated depending on the two partial keys K1, K2 transferred in steps S10 and S14. The data object generated by the data object generator in step S6 is then encrypted in step S17 using the data object key DK calculated in step S16. The data object key DK is calculated in step S16 preferably by a stored key derivation function KDF. This key derivation function KDF can be a logic function, a concatenation function, a hash function or a combination of various functions of this kind.
The EDRM-protected data object is then stored in step S18, by way of example in a memory area of the client computer 3 of the respective user.
As may be seen from
In one possible embodiment the access right derivation function PDF and the key derivation function KDF are stored in publically accessible form on a server of the network 2 and can be downloaded as required.
In a further step S29 a data object key DK is calculated for the EDRM-protected data object DO by a key derivation function KDF. The EDRM-protected data object is then decrypted in step S30 using the calculated data object key DK. The data object DO is then made available to the user in step S31 in accordance with the access rights DP determined for this EDRM-protected data object.
As may be seen from
The proposed method can be implemented by an application program with program commands to carry out the method. In one possible embodiment this application program is stored on a data carrier which can be read out by a read-out unit of a client computer 3. In an alternative embodiment the client computer 3 downloads the application program, stored in a server, via the network 2. The access right derivation function PDF and the key derivation function KDF can be stored on a server so as to be publically accessible and can be downloaded by the client computer 3.
The access right derivation function PDF and the key derivation function KDF can be implemented in the application program.
In an alternative embodiment of the proposed system the access right derivation function PDF and the key derivation function KDF are secret or not publically accessible and are made available to the users by way of example only after corresponding authentication. In one possible embodiment of the proposed system 1 the access right derivation function PDF and the key derivation function KDF are implemented in terms of hardware or wiring in a calculating unit of the client computer 3, or may be provided so as to be hard-wired. In one possible embodiment a user 4 cannot read out the access right derivation function PDF and the key derivation function KDF implemented on his client computer 3. In one possible embodiment the access right derivation function PDF made available and the key derivation function KDF made available in system 1 can be changed in certain intervals, i.e. the functions are replaced by a different function by certain intervals.
The invention has been described in detail with particular reference to preferred embodiments thereof and examples, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention covered by the claims which may include the phrase “at least one of A, B and C” as an alternative expression that means one or more of A, B and C may be used, contrary to the holding in Superguide v. DIRECTV, 69 USPQ2d 1865 (Fed. Cir. 2004).
Number | Date | Country | Kind |
---|---|---|---|
10 2009 060 688.2 | Dec 2009 | DE | national |
10 2010 006 432.7 | Feb 2010 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP10/69782 | 12/15/2010 | WO | 00 | 6/29/2012 |