[Bug 17682] Clear Key: Document how keys and key IDs are associated

https://www.w3.org/Bugs/Public/show_bug.cgi?id=17682

--- Comment #5 from johnsim@microsoft.com ---
TWO PROBLEMS
1.Inconsistency - In the EME Examples section, the Clear Key examples are
inconsistent with the desire that DRM CDMs and the Clear Key CDM function
equivalently. These examples show addKey() being passed a Key, not a structured
object (e.g. License) as is passed to the DRM CDMs. 

2. Multiple Keys per request - There is a desire that multiple keys can be
returned to the Clear Key CDM with a single keymessage - a collection of (Key
ID, Key) pairs. That scenario is not presently handled.

PROPOSED SOLUTION
What is needed is a standard Clear Key container that at a minimum would permit
multiple (Key ID, Key) pairs to be passed to the Clear Key CDM.

The container would be defined using [RFC6030], the “Portable Symmetric Key
Container (PSKC)” specification. [RFC6030] defines a container for transporting
symmetric keys and key-related metadata.

The EME specification would only references [RFC6030] as the basis of the Clear
Key Container. The precise container used would be media format specific, but
all would be based on [RFC6030]. EME would include an example for ISOBMFF and
WebM - perhaps identical - but permit the use of different Clear Key
containers. 

EME Changes
There would be a single KeyContainer entity which includes one or more
KeyPackage entities. The KeyPackage entities would contain only a Key ID and a
Key. The algorithm setting for the Key Package would be media format specific. 

1. Change to EME section 6.1, Clear Key, last paragraph
________________________________________
The key parameter of addKey() should be a Key Container with one or more Key
Packages, as defined in [RFC6030]. 

The precise Key Container used may be media format specific. The default Clear
Key container is shown below, where:
- “Id” uniquely identifies the clear key container being used
- “Key Id” is a Key Identifier
- “Algorithm” is the unique identifier for the PSKC algorithm profile to be
used by the CDM for this media content
- “PlainValue” is the symmetric key, encoded according to section 4.2 of
[RFC6030]

--------------
   <?xml version="1.0" encoding="UTF-8"?>
   <KeyContainer Version="1.0"
       Id="clearKeyExample1"
       xmlns="urn:ietf:params:xml:ns:keyprov:pskc">
       <KeyPackage>
           <Key Id="KeyId1"
               Algorithm={container specific value}>
               <Data>                            
                   <Secret>
                       <PlainValue>K34VFiiu0qar9xWICc9PPA==
                       </PlainValue>
                   </Secret>
               </Data>
           </Key>
       </KeyPackage>
   </KeyContainer>
--------------

2. Change to Examples, Example 8.1, to pass Clear Key Container instead of Key
to addKey().

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 16 October 2012 20:59:59 UTC