RE: ACTION-5: key release

"when the MediaKeySession.close() method is called, the session 
enters a "key release pending" state and a keymessage event is fired 
on the MediaKeySession, containing the key release object"

Currently, close() method causes all keys and licenses to be cleared. But
some DRM systems allow keys to be locally stored and reused. For example ,
the CP may issue an RO with a permission of watching 3 times.

I wonder if such scenario can be supported with current specification.

Regards,
Haojun Zhou

-----Original Message-----
From: Mark Watson [mailto:watsonm@netflix.com] 
Sent: Friday, September 07, 2012 12:08 AM
To: Sunyang (Eric)
Cc: <public-html-media@w3.org>
Subject: Re: ACTION-5: key release


On Sep 6, 2012, at 1:59 AM, Sunyang (Eric) wrote:

> Thanks for the solution.
> But why we need retrieve a "released" MediaKeySession£¬ then fire event on
it?

The idea is to provide secure proof of key release. That is, server
visibility of the complete key lifecycle as asserted by the CDM.

The key release message is an assertion from the CDM that it no longer has a
copy of the key. It needs to be delivered reliably to the application
server, so the CDM should store it until it received a key release ack from
the application server. This includes storing it one shutdown/startup
cycles. When the app starts up it needs to get any stored, unacknowledged
key release messages from the CDM to deliver to the application server.

”­Mark

> 
> 
> Yang
> Huawei
> 
>> -----Original Message-----
>> From: Mark Watson [mailto:watsonm@netflix.com]
>> Sent: Tuesday, September 04, 2012 10:22 PM
>> To: <public-html-media@w3.org>
>> Subject: ACTION-5: key release
>> 
>> http://www.w3.org/html/wg/media/track/actions/5
>> 
>> All,
>> 
>> The status of this action is that I have provided a proposal as a comment
to
>> the bug [1]. For ease of reference I've copied the proposal here, but
please
>> make comments in the bug, or on the call today.
>> 
>> ”­Mark
>> 
>> If key release is supported, then
>> (i) when the MediaKeySession.close() method is called, the session enters
a
>> "key release pending" state and a keymessage event is fired on the
>> MediaKeySession, containing the key release object
>> (ii) when the application receives the key release acknowledgement from
the
>> server the session is updated with this message using the addKey() method
>> (or
>> update(), if we rename it as per bug 18531 [2]). The MediaKeySession
enters
>> a
>> "key release complete" state
>> (iii) a new method is added to MediaKeys: MediaKeySession?
>> retrieveClosedSession() which will retrieve a MediaKeySession object in
the
>> key
>> release pending state. Subsequent calls to this method will retrieve
further
>> sessions in the 'key release pending state' until none are left (we could
>> consider returning a list of MediaKeySession objects). A keymessage event
is
>> fired on each MediaKeySession retrieved with this method containing the
key
>> release object.
>> 
>> [1] https://www.w3.org/Bugs/Public/show_bug.cgi?id=17199
>> [2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=18531

Received on Friday, 7 September 2012 04:17:55 UTC