<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>17202</bug_id>
          
          <creation_ts>2012-05-25 23:28:21 +0000</creation_ts>
          <short_desc>Explicitly document how keys are to be shared</short_desc>
          <delta_ts>2014-03-25 21:52:49 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>HTML WG</product>
          <component>Encrypted Media Extensions</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>16615</dependson>
    
    <dependson>22909</dependson>
    
    <dependson>22910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Dorwin">ddorwin</reporter>
          <assigned_to name="David Dorwin">ddorwin</assigned_to>
          <cc>hsivonen</cc>
    
    <cc>mike</cc>
    
    <cc>petr</cc>
    
    <cc>public-html-media</cc>
    
    <cc>public-html-wg-issue-tracking</cc>
    
    <cc>steele</cc>
    
    <cc>watsonm</cc>
          
          <qa_contact name="HTML WG Bugzilla archive list">public-html-bugzilla</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>68174</commentid>
    <comment_count>0</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2012-05-25 23:28:21 +0000</bug_when>
    <thetext>While the algorithms probably cover this, it would be helpful to explicitly state how keys may be shared. We want to prevent different behavior that could lead to pages that make assumptions that are not true for all implementations.

The current intent is that keys/licenses are shared for all streams (i.e. audio and video) in a single media element but are NOT shared between media elements (whether in a given page or different pages). CDMs should ensure that keys don&apos;t leak between elements.

Bug 16615 proposes a specific scenario where sharing might be allowed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>68741</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Watson">watsonm</who>
    <bug_when>2012-06-05 19:57:58 +0000</bug_when>
    <thetext>(In reply to comment #0)
&gt; While the algorithms probably cover this, it would be helpful to explicitly
&gt; state how keys may be shared. We want to prevent different behavior that could
&gt; lead to pages that make assumptions that are not true for all implementations.
&gt; 
&gt; The current intent is that keys/licenses are shared for all streams (i.e. audio
&gt; and video) in a single media element but are NOT shared between media elements
&gt; (whether in a given page or different pages). CDMs should ensure that keys
&gt; don&apos;t leak between elements.
&gt; 
&gt; Bug 16615 proposes a specific scenario where sharing might be allowed.

There are certainly scenarios where keys/licenses should be shared across elements slaved to a MediaController (as in 16615). For example two video elements showing different video tracks from the same src (main video and sign language, for example).

I&apos;m not sure if the use of MediaController is the right test to enable/disable sharing, though. Is it possible that two elements with the same src that are not slaved to the same MediaController might share keys/licenses ?

It&apos;s common for all the resources associated with some presentation to share the same keys, since this avoids the need for multiple or compound key/license requests. I&apos;m not sure we should rule this out for presentations where the component resources are not synced with a MediaController, although I can&apos;t think of any good examples of such presentations.

What&apos;s the disadvantage if we allow keys/licenses to be shared by all elements on the page ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>72937</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Bateman [MSFT]">adrianba</who>
    <bug_when>2012-08-28 21:23:24 +0000</bug_when>
    <thetext>Resolved to later (see also bug 16615).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91679</commentid>
    <comment_count>3</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2013-08-06 06:37:09 +0000</bug_when>
    <thetext>Reopening to make sure the spec is explicit about ways keys may and may NOT be shared.

As mentioned in the original description, the intent was that keys are not shared between HTMLMediaElements - now MediaKeys. I believe the spec has progressed in this direction.  Some possible ways for an application to explicitly share keys within a frame are covered by their own bugs: MediaController (bug 16615) and sharing MediaKeys among HTMLMediaElements (bug 19009)

However, there have been discussions of retrieving saved keys or reusing keys across tabs or browsing sessions. This may mostly apply to stored keys (see bug 21869), but it could also apply to in-memory keys. Domain keys and other key hierarchies are some of the examples given.

Such sharing opens up the possibility of leaking information, especially across origins. There are also issues of potentially sharing between normal and Incognito/Private Browsing sessions, across profiles, and even across different OS user accounts. Addressing these issues in the spec and/or implementations would add a lot of complexity, and I think it would be best to avoid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91681</commentid>
    <comment_count>4</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2013-08-06 07:11:07 +0000</bug_when>
    <thetext>See also the discussion about origin in bug 20965.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95443</commentid>
    <comment_count>5</comment_count>
    <who name="Joe Steele">steele</who>
    <bug_when>2013-10-28 17:04:54 +0000</bug_when>
    <thetext>(In reply to David Dorwin from comment #4)
&gt; See also the discussion about origin in bug 20965.

I sent an email with a proposal for this. Please take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96284</commentid>
    <comment_count>6</comment_count>
    <who name="Joe Steele">steele</who>
    <bug_when>2013-11-14 02:54:35 +0000</bug_when>
    <thetext>(In reply to Joe Steele from comment #5)
&gt; (In reply to David Dorwin from comment #4)
&gt; &gt; See also the discussion about origin in bug 20965.
&gt; 
&gt; I sent an email with a proposal for this. Please take a look.

I think this is resolved with this thread:
http://lists.w3.org/Archives/Public/public-html-media/2013Nov/0022.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96291</commentid>
    <comment_count>7</comment_count>
    <who name="Adrian Bateman [MSFT]">adrianba</who>
    <bug_when>2013-11-14 04:53:12 +0000</bug_when>
    <thetext>Discussed in TPAC 2013 F2F - David will make the orthogonal changes in comment 3 and resolve the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102899</commentid>
    <comment_count>8</comment_count>
    <who name="David Dorwin">ddorwin</who>
    <bug_when>2014-03-25 21:52:49 +0000</bug_when>
    <thetext>https://dvcs.w3.org/hg/html-media/rev/151f30f76656 addresses comment 3.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>