Examples of using DRM engine in English and their translations into Korean
{-}
-
Colloquial
-
Ecclesiastic
-
Ecclesiastic
-
Programming
-
Computer
Request the DRM engine to provide the keys needed to decrypt protected content; and/or.
Verify digital signatures and deal with other general-purpose cryptographic functions that the DRM engine needs performed;
Otherwise, the DRM engine indicates to the host application that the request is denied(508).
When the host application 2900 requests the use of content keys for a set of content IDs, the DRM engine 2908 determines which Control object to use.
For example, the DRM engine could be integrated wholly or partially with the host application.
If Alice attempts to play a piece of content she previously obtained during her free trial period, the DRM engine on her PC will perform the same analysis and grant her request.
The DRM engine and/or the virtual machine will also typically initialize the virtual machine's runtime environment(block 1002).
Typically, the control VM runs within the DRM engine 2908, which implements its host environment.
In one embodiment, the DRM engine is generic, and works with any suitable encryption, digital signature, revocation, and/or other security scheme that is used by the host application and/or environment.
In a preferred embodiment, controller 814 is signed, and DRM engine verifies its signature(or asks host services to verify it).
In some embodiments, a DRM engine executing on a first system may not have access to a local state database, and may be operable to access a remote state database, e.g., using web and/or host services.
Virtual machine 1104 begins execution of the control program at the entry point specified by DRM engine 1100(e.g., at the location of the Control. Actions. Play. perform routine).
If this routine exists, the DRM engine calls it once after it no longer needs to call any other routine for the control.
This link 2410 is sent to Alice's PC, along with an agent program that is operable to initialize an appropriate entry in the state database of the PC's DRM engine indicating the date on which the link was issued.
In practice, a given profile of use of the DRM engine can specify how the fields are represented(e.g., using an XML schema).
However, for ease of explanation and for purposes of illustration, it will be assumed in the following discussion that the implementation of the virtual machine's host environment canbe logically separated into two parts: a host application, and a DRM engine.
In other embodiments, the DRM engine itself performs the actual signature evaluation, relying on the host simply to indicate the appropriate signature algorithm to use.
For example, if system A 700 needs information from system B 702, system A 700 prepares an agent 705, which, in one embodiment, is a control program(e.g.,a sequence of instructions that can be executed by a DRM engine) that is sent from system A 700 to system B 702.
In one embodiment, the DRM engine 1306 does not interact directly with the crypto services block 1314, but instead interacts indirectly via the host 1302(using host services interface 1308), which forward its requests.
In other embodiments, templates and/or high-level rightsexpression languages could be used to provide the initial expression of rights, rules, and/or conditions, and a compiler could be used to convert the high-level expression into byte code for execution by an embodiment of the DRM engine described herein.
Before granting Alice's request to play the content, the DRM engine first determines whether the links are valid by executing any control programs that the links contain.
As yet another example of the potential diversity of host environments, device 300 d might not include a web services interface, but may instead rely on communication with device 300 a, andweb services interface 305 a to the extent host application 304 d and/or DRM engine 303 d require the use of any web services.
In one embodiment, DRM engine 303 a performs DRM functions and relies on host application 304 a for services such as encryption, decryption, file management, and/or other functions can be more effectively provided by the host.
The host environment can be implemented in any suitable manner; however, for ease of explanation and for purposes of illustration, it will be assumed in the following discussion that the implementation of the virtual machine's host environment canbe logically separated into two parts: a host application, and a DRM engine.
Any suitable digital signature mechanism can be used,and in one embodiment the DRM engine does not define how the link objects are signed and does not evaluate any associated certificates, instead, it relies on the host system to verify any such signatures and/or certificates.
Thus, for example, if the DRM engine needs to determine if a particular link has been properly signed, it might simply call the host application(and/or a host or system cryptographic service) to verify the signature in accordance with the particular signature scheme chosen by the system designer, the-details of which the DRM engine itself may be unaware.
In one embodiment, the media rendering engine 1312 receives some information from DRM engine 1306(such as content decryption keys), but in one embodiment the DRM engine 1306 does not interact with media rendering engine 1312 directly, but rather through the host application 1302.
The DRM engine thus possess link objects 2405, 2400 connecting PC node 2406 to subscription node 2404; however, before granting Alice's request to play the content, the DRM engine first determines whether the links are valid by executing any control programs that the links contain.
If the integrity verification succeeds, the DRM engine executes the control code contained in control object 816(block 910), and returns the result(block 912) to the host application, which uses it to grant or deny the user's request to access the content.
Some of the information needed by the DRM engine 1306 might be available in-band with the multimedia content, and can be acquired and managed through the content services 1310, but some of this information may need to be obtained via means of other services such as a personalization service or a membership service(not shown).