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


Thanks for the correction.
I have use the reference OIPF DAE v2.3.



2015. 7. 7., 오후 7:10, Paul Higgs <paul.higgs@ericsson.com<mailto:paul.higgs@ericsson.com>> 작성:

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<mailto: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:10:50 UTC