Fwd: RE: [tvapi] Status of CAS/DRM requirements for TV Control APIs

Forwarding. I think this was intended for the TV Control API CG.


-------- Forwarded Message --------
Subject:  RE: [tvapi] Status of CAS/DRM requirements for TV Control APIs
Resent-Date:  Tue, 07 Jul 2015 10:11:09 +0000
Resent-From:  public-web-and-tv@w3.org
Date:  Tue, 7 Jul 2015 10:10:35 +0000
From:  Paul Higgs <paul.higgs@ericsson.com>
To:  김성혜 <shkim@etri.re.kr>, public-web-and-tv@w3.org
<public-web-and-tv@w3.org>
CC:  구한승 <koohs@etri.re.kr>



Hi



Thanks for making this analysis of the CA/DRM APIs that are currently
specified.



The original OIPF DAE specification was based on CEA-2014-A which did
not include any DRM related APIs. Those that you list as defined in
CEA-2014-B were originally contributed to the DAE v1.0 [5] specification
and then cross-contributed to CEA by the same author.



The correct document link for OIPF DAE v2.3 is [2a]





[2b] OIPF DAE v2.3 -
http://www.oipf.tv/docs/OIPF-T1-R2_Specification-Volume-5-Declarative-Application-Environment-v2_3-2014-01-24.pdf

[5] OIPF DAE v1.0 -
http://www.oipf.tv/docs/oipf-archive/OIPF-T1-R1-Specification-Volume-5-Declarative-Application-Environment-V1_0-2009-01-06.pdf





Paul



*From:*김성혜[mailto:shkim@etri.re.kr]
*Sent:* Monday, July 06, 2015 8:28 PM
*To:* public-web-and-tv@w3.org
*Cc:* 구한승
*Subject:* [tvapi] Status of CAS/DRM requirements for TV Control APIs





Hello everyone,


Before defining TV Control APIs for CAS/DRM requirements, we need to
look at the various APIs that are supported by other documents (e.g.
ANSI/CEA-2014-B, OIPF DAE).

My greatest concern is that how to retrieve the needed information to
support our CAS/DRM requirements.

So, through the analysis of other documents, we can be sure that the
newly defined APIs are supportable by the current broadcasting
services(STB?).



Look at ANSI/CEA-2014-B[1] (page: 140~):

ANSI/CEA-2014-B has defined DRM JavaScript APIs in the XHTML environment.

It uses embedded Object “application/drmagent”to deliver DRM license
data to DRM agent.

The drmagent object definds following method/property.

–    sendDRMMessage(String msgType, String msg, String DRMSystemID)
–    onDRMMessageResult(String msgID, String resultMsg, Integer resultCode)
–    onDRMRightsError(Number errorState, String contentID, String
DRMSystemID, String rightsIssuerURL)
The DRMSystemID provides DRM capability information, which are stored in
the device (such as STB).
When downloading DRM protected contents, Content Access Descriptor is
defined.
Content Access Descriptor includes DRM control information such as DRM
System ID, DRM Content ID, Right Issuer URL, etc.
If the parental rating control are made through DRM, it is possible to
use onParentalRatingXX.XX() functions to get DRM system ID.



Look at OIPF DAE[2] (page 121~):

OIPF DAE defines similar APIs with ANSI/CEA-2014-B, but it defines
detailes of the arguments and Content Access Descriptor.

It also defines following properties in the application/oipfDrmAgent.

–    onDRMSystemStatusChange( String DRMSystemID )
–    onDRMSystemMessage(String msg, String DRMSystemID)
–    DRMSystemStatus( String DRMSystemID )
–    canPlayContent( String DRMPrivateData, String DRMSystemID )
–    canRecordContent( String DRMPrivateData, String DRMSystemID )



Look at HbbTV 2.0[3]:

HbbTV 2.0 use the same DRM JavaScript API with OIPF DAE.

It access the DRM protected content through the <video> tag and acquire
specific error information through oipfDrmAgent Object.



Look at W3C EME[4]:

It is an extension to the HTMLMediaElement, which adds MediaKeys
mediaKey, EvenHandler onencrypted, and Promise setMediaKeys().

In order to access the key systems, it adds navigator interface. It can
acquire media key system through key system identifier and configuration
to access the protected contents.

It delivers License to CDM through media key session.



I am very skeptical about using (expanding) EME for our requirements. In
our requirements, webapps do not need to perform encryption/decryption,
no keys needed. Our requirements needs to get/set information on CAS/DRM
status.

>From now, it seems OIPF DAE and ASNI/CEA 2014-B have defined APIs that
are closer to our CAS/DRM requirements.

We can get DRM system ID through onParentalRatingXX.XX() functions.

Some of the functions we can use are onDRMSystemStatusChange( String
DRMSystemID ), DRMSystemStatus( String DRMSystemID ),
onDRMRightsError(Number errorState, String contentID, String
DRMSystemID, String rightsIssuerURL), etc.



Anyway, I need to talk to the CAS/DRM experts about my thoughts.

Please comments or sugguestions.



Thank you.



Regards,

Sung Hei Kim



Reference:

[1] ANSI/CEA-2014-B, "Web-based Protocol and Framework for Remote User
Interface on UPnP Networks and the Internet(Web4CE)"
[2] OpenIPTV Forum, "Release 1 Specification, Volume 5 - Declarative
Application Environment",
http://www.oipf.tv/docs/OIPF-T1-R2-Specification-Volume-4a-Examples-of-IPTV-Protocol-Sequences-v2_3-2014-01-24.pdf
[3] HbbTV 2.0 Specification,
https://www.hbbtv.org/pages/about_hbbtv/HbbTV_specification_2_0.pdf
[4] W3C Encrypted Media Extensions, http://www.w3.org/TR/encrypted-media/

Received on Tuesday, 7 July 2015 11:01:49 UTC