[encrypted-media] Allow for long-lived key encryption keys (aka "master" keys) to increase performance

steelejoe has just created a new issue for 
https://github.com/w3c/encrypted-media:

== Allow for long-lived key encryption keys (aka "master" keys) to 
increase performance ==
One of the use cases discussed in [issue 
41](https://github.com/w3c/encrypted-media/issues/41) was the 
inclusion of title keys in the media Initialization Data that are 
encrypted using some "master key" that the CDM previously acquired. 
The primary benefit of a system that provides title keys this way is 
to improve performance by reducing the number of key requests. However
 to realize this performance benefit, the CDM must be allowed to store
 keys in a location not dependent on a particular session. This is 
required because otherwise a request for a "master key" would be 
required for every session and you are just replacing one type of key 
request with another. Assuming that issue 41 is resolved, the usage of
 this feature can be invisible to the application. 

Here are the main changes this would introduce:
* Master keys are stored independent of a session. All other storage 
restrictions would apply.
* Multiple sessions can access the same master key(s) simultaneously.
* The usability of a master key is not exposed directly to the 
application.

Here are some of the spec changes I envision (there are more I am 
sure):

* A definition of master key needs to be added. It is different from 
the current [Keys 
definition](https://w3c.github.io/encrypted-media/#definitions) which 
is specifically about title keys. 
* The [remove 
algorithm](https://w3c.github.io/encrypted-media/#remove) *might* need
 to be modified to reflect that master keys are excluded from this 
processing. Or we could decide that such keys are not "associated with
 the session" by definition. 
* The [Session Close 
algorithm](https://w3c.github.io/encrypted-media/#session-close) might
 need to be modified to reflect that master keys are excluded from 
this processing. Or we could decide that such keys are not "associated
 with the session" by definition. 
* The [Session 
Storage](https://w3c.github.io/encrypted-media/#session-storage) 
section would need to be modified to reflect that multiple session may
 have simultaneous access to the same "master keys". 

We could add support to the [Common 
PSSH](https://w3c.github.io/encrypted-media/cenc-format.html#common-system)
 for this feature, but I will leave that for another bug. 










See https://github.com/w3c/encrypted-media/issues/53

Received on Tuesday, 28 April 2015 17:15:22 UTC