TS 102 728 - V1.2.1 - Digital Video Broadcasting (DVB ... · Globally Executable MHP (GEM)...

854
ETSI TS 102 728 V1.2.1 (2011-09) Digital Video Broadcasting (DVB); Globally Executable MHP (GEM) Specification 1.3 (including OTT and hybrid broadcast/broadband) Technical Specification

Transcript of TS 102 728 - V1.2.1 - Digital Video Broadcasting (DVB ... · Globally Executable MHP (GEM)...

  • ETSI TS 102 728 V1.2.1 (2011-09)

    Digital Video Broadcasting (DVB); Globally Executable MHP (GEM)

    Specification 1.3 (including OTT and hybrid broadcast/broadband)

    Technical Specification

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)2

    Reference RTS/JTC-DVB-302

    Keywords API, broadcasting, digital, DVB, interaction,

    multimedia, profile, video

    ETSI

    650 Route des Lucioles F-06921 Sophia Antipolis Cedex - FRANCE

    Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16

    Siret N° 348 623 562 00017 - NAF 742 C

    Association à but non lucratif enregistrée à la Sous-Préfecture de Grasse (06) N° 7803/88

    Important notice

    Individual copies of the present document can be downloaded from: http://www.etsi.org

    The present document may be made available in more than one electronic version or in print. In any case of existing or perceived difference in contents between such versions, the reference version is the Portable Document Format (PDF).

    In case of dispute, the reference shall be the printing on ETSI printers of the PDF version kept on a specific network drive within ETSI Secretariat.

    Users of the present document should be aware that the document may be subject to revision or change of status. Information on the current status of this and other ETSI documents is available at

    http://portal.etsi.org/tb/status/status.asp

    If you find errors in the present document, please send your comment to one of the following services: http://portal.etsi.org/chaircor/ETSI_support.asp

    Copyright Notification

    No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media.

    © European Telecommunications Standards Institute 2011.

    © European Broadcasting Union 2011. All rights reserved.

    DECTTM, PLUGTESTSTM, UMTSTM and the ETSI logo are Trade Marks of ETSI registered for the benefit of its Members.

    3GPPTM and LTE™ are Trade Marks of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners.

    GSM® and the GSM logo are Trade Marks registered and owned by the GSM Association.

    http://www.etsi.org/http://portal.etsi.org/tb/status/status.asphttp://portal.etsi.org/chaircor/ETSI_support.asp

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)3

    Contents

    Intellectual Property Rights .............................................................................................................................. 29

    Foreword ........................................................................................................................................................... 29

    Introduction ...................................................................................................................................................... 29

    1 Scope ...................................................................................................................................................... 31

    2 References .............................................................................................................................................. 31 2.1 Normative references ....................................................................................................................................... 32 2.2 Informative references ...................................................................................................................................... 36

    3 Definitions and abbreviations ................................................................................................................. 37 3.1 Definitions ........................................................................................................................................................ 37 3.2 Abbreviations ................................................................................................................................................... 41

    4 General considerations and conventions ................................................................................................ 44 4.1 General considerations ..................................................................................................................................... 44 4.1.1 Purpose ....................................................................................................................................................... 44 4.1.2 Format ......................................................................................................................................................... 45 4.1.3 Inclusion of GEM features .......................................................................................................................... 45 4.1.3.1 Subsetting prohibited ............................................................................................................................ 45 4.1.3.2 Supersetting permitted .......................................................................................................................... 45 4.1.4 Addition of non-GEM interfaces ................................................................................................................ 45 4.1.4.1 DVB-J enumerations ............................................................................................................................. 45 4.1.4.2 Competitive APIs .................................................................................................................................. 45 4.1.4.2.1 Illustration of Complementary Functional equivalents.................................................................... 46 4.1.4.2.2 Illustration of Competitive APIs ...................................................................................................... 46 4.1.5 Application areas ........................................................................................................................................ 46 4.1.5.1 Broadcast target ..................................................................................................................................... 47 4.1.5.2 Packaged Media target .......................................................................................................................... 47 4.1.5.3 IPTV target ............................................................................................................................................ 47 4.1.5.4 OTT target ............................................................................................................................................. 47 4.1.5.5 Typical Hybrid profiles ......................................................................................................................... 47 4.1.6 Profiles ........................................................................................................................................................ 48 4.1.7 Full conformance with the present document ............................................................................................. 48 4.2 Conventions ...................................................................................................................................................... 49 4.2.1 Void ............................................................................................................................................................ 50 4.2.2 Void ............................................................................................................................................................ 50 4.2.3 Void ............................................................................................................................................................ 50 4.2.4 Conventions within the present document .................................................................................................. 50 4.2.4.1 GEM ...................................................................................................................................................... 50 4.2.4.2 Resident navigator ................................................................................................................................. 50 4.2.4.3 DVB service .......................................................................................................................................... 50 4.2.5 References to OCAP ................................................................................................................................... 50

    5 Basic architecture (informative) ............................................................................................................. 51 5.1 Context ............................................................................................................................................................. 51 5.2 Architecture ...................................................................................................................................................... 52 5.2.1 Resources .................................................................................................................................................... 52 5.2.2 System software .......................................................................................................................................... 52 5.2.2.1 Application Manager ............................................................................................................................. 52 5.2.3 Application ................................................................................................................................................. 53 5.3 Interfaces Between a GEM Application and the GEM Terminal ..................................................................... 53 5.4 Plug-ins ............................................................................................................................................................ 55 5.4.1 Security Model ............................................................................................................................................ 56

    6 Transport protocols................................................................................................................................. 56 6.1 Introduction ...................................................................................................................................................... 56 6.2 Broadcast channel protocols ............................................................................................................................. 57

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)4

    6.2.1 MPEG-2 transport stream ........................................................................................................................... 57 6.2.2 MPEG-2 sections ........................................................................................................................................ 57 6.2.3 DSM-CC private data ................................................................................................................................. 58 6.2.4 DSM-CC data carousel ............................................................................................................................... 58 6.2.5 Object carousel ........................................................................................................................................... 58 6.2.5.1 Void....................................................................................................................................................... 58 6.2.5.2 Void....................................................................................................................................................... 58 6.2.5.3 Loss of carousel behaviour .................................................................................................................... 58 6.2.6 Protocol for delivery of IP multicast over the broadcast channel ............................................................... 59 6.2.7 Internet Protocol (IP) .................................................................................................................................. 59 6.2.8 User Datagram Protocol (UDP) .................................................................................................................. 59 6.2.9 Service information..................................................................................................................................... 59 6.2.10 IP signalling ................................................................................................................................................ 59 6.3 Interaction channel protocols ........................................................................................................................... 60 6.3.1 Network Dependent Protocols .................................................................................................................... 60 6.3.2 Internet Protocol (IP) .................................................................................................................................. 60 6.3.3 Transmission Control Protocol (TCP) ........................................................................................................ 60 6.3.4 UNO-RPC ................................................................................................................................................... 60 6.3.5 UNO-CDR .................................................................................................................................................. 61 6.3.6 DSM-CC User to User ................................................................................................................................ 61 6.3.7 Hypertext Transfer Protocol (HTTP) .......................................................................................................... 61 6.3.7.1 HTTP 1.1 ............................................................................................................................................... 61 6.3.7.2 GEM profile of HTTP 1.0 ..................................................................................................................... 61 6.3.7.2.1 HTTP 1.0 persistent connections ..................................................................................................... 61 6.3.7.2.2 The Keep-Alive Header ................................................................................................................... 61 6.3.7.2.3 GEM and proxies ............................................................................................................................. 62 6.3.7.2.4 Version compatibility ...................................................................................................................... 62 6.3.7.3 HTTPS .................................................................................................................................................. 62 6.3.8 User Datagram Protocol (UDP) .................................................................................................................. 62 6.3.9 DNS ............................................................................................................................................................ 62 6.3.10 Additional Transport Protocols ................................................................................................................... 62 6.4 Transport protocols for application loading over the interaction channel ........................................................ 62 6.4.1 File system implemented only by the interaction channel .......................................................................... 62 6.4.1.1 File system logical structure .................................................................................................................. 63 6.4.1.2 File transfer ........................................................................................................................................... 64 6.4.1.3 Class encoding ...................................................................................................................................... 64 6.4.1.4 Directory listing in this file system ....................................................................................................... 65 6.4.2 Hybrid between broadcast stream and interaction channel ......................................................................... 65 6.4.2.1 File transfer ........................................................................................................................................... 65 6.4.2.1.1 Broadcast file delivery ..................................................................................................................... 65 6.4.2.1.2 Interaction channel delivery ............................................................................................................ 65 6.4.2.1.3 HTTPProfileBody............................................................................................................................ 65 6.5 IPTV protocols ................................................................................................................................................. 66 6.5.1 Transport protocols ..................................................................................................................................... 66 6.5.1.1 Service Discovery and Selection ........................................................................................................... 66 6.5.1.2 Broadband Content Guide ..................................................................................................................... 66 6.5.1.3 Real Time Protocol (RTP) .................................................................................................................... 66 6.5.1.4 Real Time Streaming Protocol (RTSP) ................................................................................................. 66 6.5.1.5 Internet Group Management Protocol (IGMP) ..................................................................................... 66 6.5.2 Service information and metadata protocols ............................................................................................... 66 6.5.2.1 IP service discovery .............................................................................................................................. 66 6.5.2.2 Broadband content guide ....................................................................................................................... 66 6.6 OTT Protocols .................................................................................................................................................. 67 6.6.1 Protocols for streaming ............................................................................................................................... 67 6.6.1.1 Adaptive Streaming ............................................................................................................................... 67 6.6.2 Protocols for download ............................................................................................................................... 67

    7 Content formats ...................................................................................................................................... 68 7.1 Static formats .................................................................................................................................................... 68 7.1.1 Bitmap image formats ................................................................................................................................. 68 7.1.1.1 Image encoding restrictions .................................................................................................................. 68 7.1.1.2 JPEG ..................................................................................................................................................... 68

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)5

    7.1.1.3 PNG....................................................................................................................................................... 68 7.1.1.4 GIF ........................................................................................................................................................ 68 7.1.2 MPEG-2 I-Frames ...................................................................................................................................... 68 7.1.3 MPEG-2 Video "drips" ............................................................................................................................... 69 7.1.4 Monomedia format for audio clips ............................................................................................................. 70 7.1.5 Monomedia format for text ......................................................................................................................... 70 7.1.5.1 Built-in character set ............................................................................................................................. 70 7.2 Media streaming formats .................................................................................................................................. 71 7.2.1 Audio .......................................................................................................................................................... 71 7.2.2 Video .......................................................................................................................................................... 71 7.2.3 Subtitles ...................................................................................................................................................... 71 7.2.3.1 DVB Subtitles ....................................................................................................................................... 71 7.2.3.2 Teletext ................................................................................................................................................. 71 7.2.4 Containers ................................................................................................................................................... 72 7.2.5 Streaming Manifest ..................................................................................................................................... 72 7.3 Resident fonts ................................................................................................................................................... 72 7.4 Downloadable fonts .......................................................................................................................................... 72 7.4.1 PFR ............................................................................................................................................................. 73 7.4.2 OpenType ................................................................................................................................................... 74 7.5 Colour representation ....................................................................................................................................... 74 7.5.1 Background (informative) ........................................................................................................................... 74 7.5.2 Specification ............................................................................................................................................... 75 7.5.2.1 The sRGB Reference Viewing Environment ........................................................................................ 75 7.5.2.2 Colourimetric Definitions and Encodings ............................................................................................. 75 7.6 MIME types...................................................................................................................................................... 77 7.6.1 Rationale ..................................................................................................................................................... 77

    8 Void ........................................................................................................................................................ 78

    9 Application model .................................................................................................................................. 78 9.1 Service-bound GEM applications ..................................................................................................................... 78 9.1.1 Basic lifecycle control ................................................................................................................................ 78 9.1.2 Starting applications ................................................................................................................................... 79 9.1.3 Support for execution of multiple simultaneous applications ..................................................................... 79 9.1.4 Stopping applications .................................................................................................................................. 79 9.1.4.1 A new service being selected replacing a previously selected one ....................................................... 79 9.1.4.2 The stopping of an application by another application.......................................................................... 79 9.1.4.3 Changes in the application signalling to request a particular application be stopped ........................... 79 9.1.4.4 Stopping by the GEM terminal due to a shortage of resources ............................................................. 80 9.1.5 Persistence of Applications Across Service Boundaries ............................................................................. 80 9.1.6 Management of autostarting ....................................................................................................................... 80 9.1.7 Tuning without service selection ................................................................................................................ 81 9.1.8 GEM Applications and Service Selection ................................................................................................... 81 9.1.9 Cached applications .................................................................................................................................... 81 9.1.9.1 Version management ............................................................................................................................. 82 9.1.9.2 Proactive caching .................................................................................................................................. 82 9.2 DVB-J Model ................................................................................................................................................... 83 9.2.1 Starting DVB-J Applications ...................................................................................................................... 83 9.2.2 Stopping a DVB-J Application ................................................................................................................... 83 9.2.3 DVB-J Application Lifecycle ..................................................................................................................... 83 9.2.3.1 Introduction ........................................................................................................................................... 83 9.2.3.2 Lifecycle state machine for DVB-J application instances ..................................................................... 84 9.2.4 Xlet API ...................................................................................................................................................... 86 9.2.4.1 Xlet State Change Semantics ................................................................................................................ 86 9.2.4.2 Xlet state change requests ..................................................................................................................... 86 9.2.5 Multiple application environment support .................................................................................................. 87 9.2.5.1 Control of DVB-J applications by other DVB-J applications ............................................................... 87 9.2.5.2 Input Focus management ...................................................................................................................... 87 9.2.5.3 Other resources management ................................................................................................................ 87 9.2.5.4 VM implementation .............................................................................................................................. 88 9.3 Void .................................................................................................................................................................. 88 9.4 Inter-application resource management ............................................................................................................ 88

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)6

    9.4.1 Application instances running in the same service context ......................................................................... 88 9.4.2 Application instances not running in the same service context .................................................................. 89 9.5 Void .................................................................................................................................................................. 89 9.6 Services and applications not related to conventional services ........................................................................ 89 9.6.1 Applications loaded from the interaction channel ...................................................................................... 89 9.6.2 Stored services ............................................................................................................................................ 89 9.6.3 DVB-J Model.............................................................................................................................................. 91 9.6.4 Common behaviour..................................................................................................................................... 91 9.7 Lifecycle of internet access applications .......................................................................................................... 92 9.7.1 General issues ............................................................................................................................................. 92 9.7.2 Starting internet access applications from GEM applications..................................................................... 92 9.7.3 Selecting DVB services from internet access applications ......................................................................... 92 9.8 Plug-ins ............................................................................................................................................................ 93 9.9 Stored and cached applications ........................................................................................................................ 93 9.9.1 Storing files ................................................................................................................................................. 93 9.9.2 Version management .................................................................................................................................. 94 9.9.3 Removing stored applications ..................................................................................................................... 94 9.9.4 Interrupted downloads ................................................................................................................................ 94 9.9.5 Dynamic behaviour ..................................................................................................................................... 94 9.10 Lifecycle interactions between GEM and resident applications ....................................................................... 95 9.11 Providers........................................................................................................................................................... 95 9.11.1 Introduction (informative) .......................................................................................................................... 95 9.11.2 Lifecycle of xlet bound providers ............................................................................................................... 96 9.11.3 Lifecycle of system bound providers .......................................................................................................... 96 9.12 Impact of graphics constraints on the application model ................................................................................. 96 9.12.1 Impact on generic applications ................................................................................................................... 96 9.12.2 Impact on DVB-J applications .................................................................................................................... 97 9.13 Unbound Applications ...................................................................................................................................... 98 9.13.1 Introduction to unbound applications (informative) ................................................................................... 98 9.13.1.1 Scope ..................................................................................................................................................... 98 9.13.1.2 Divergences from OCAP Solution ........................................................................................................ 98 9.13.1.3 Overview ............................................................................................................................................... 99 9.13.2 Service model ............................................................................................................................................. 99 9.13.3 Application lifecycle ................................................................................................................................... 99 9.13.4 Initialization of GEM Environment ............................................................................................................ 99

    10 Application signalling .......................................................................................................................... 100 10.1 Introduction .................................................................................................................................................... 100 10.1.1 Summary of requirements on common signalling .................................................................................... 100 10.1.2 Summary of additional signalling for DVB-J applications ....................................................................... 100 10.2 Program specific information ......................................................................................................................... 100 10.3 Locators within an Application Description ................................................................................................... 100 10.4 Application Description ................................................................................................................................. 101 10.4.1 Application Description transmission and monitoring ............................................................................. 101 10.4.2 Visibility of Application Description and tuning ...................................................................................... 101 10.4.3 Content of the Application Description .................................................................................................... 101 10.4.3.1 DVB-J application control codes ........................................................................................................ 104 10.4.3.2 Application icons descriptor................................................................................................................ 104 10.4.3.3 Graphics constraints descriptor ........................................................................................................... 106 10.4.4 Applications from previously selected services ........................................................................................ 107 10.4.5 AIT File .................................................................................................................................................... 107 10.4.5.1 Syntax ................................................................................................................................................. 107 10.4.5.2 Syntactic restrictions ........................................................................................................................... 107 10.4.5.2.1 Transport protocols ........................................................................................................................ 107 10.4.5.3 Semantics ............................................................................................................................................ 108 10.4.5.4 MIME type .......................................................................................................................................... 108 10.5 DVB-J specific Application Description ........................................................................................................ 108 10.5.1 General ...................................................................................................................................................... 108 10.5.2 Content of DVB-J Application Description .............................................................................................. 109 10.6 Constant Values .............................................................................................................................................. 110 10.7 Plug-in signalling ........................................................................................................................................... 110 10.7.1 Native signalling scenario ......................................................................................................................... 110

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)7

    10.7.2 GEM signalling scenario .......................................................................................................................... 110 10.7.3 Delegated application descriptor ............................................................................................................... 111 10.7.4 Plug-in descriptor ...................................................................................................................................... 111 10.8 Stored Applications ........................................................................................................................................ 112 10.8.1 Use of stored application signalling .......................................................................................................... 112 10.8.1.1 Stored broadcast service related applications ...................................................................................... 112 10.8.1.2 Stored stand-alone applications ........................................................................................................... 112 10.8.2 Application storage descriptor .................................................................................................................. 113 10.8.3 Application Description File ..................................................................................................................... 114 10.8.3.1 Description .......................................................................................................................................... 114 10.8.3.2 Application Description File name and location ................................................................................. 115 10.8.3.3 Syntax ................................................................................................................................................. 115 10.8.3.4 Semantics ............................................................................................................................................ 115 10.9 Signalling for providers .................................................................................................................................. 116 10.10 Signalling for IPTV ........................................................................................................................................ 116 10.10.1 Service bound application signalling ........................................................................................................ 116 10.10.2 XAIT ......................................................................................................................................................... 117

    11 DVB-J platform .................................................................................................................................... 117 11.1 The virtual machine ........................................................................................................................................ 117 11.2 General issues ................................................................................................................................................. 117 11.2.1 Basic Considerations................................................................................................................................. 117 11.2.2 Approach to Subsetting ............................................................................................................................. 118 11.2.3 Class Loading ........................................................................................................................................... 118 11.2.3.1 Fundamental principles ....................................................................................................................... 118 11.2.3.2 Class loading and providers ................................................................................................................ 118 11.2.4 Unloading ................................................................................................................................................. 118 11.2.5 Event listeners ........................................................................................................................................... 118 11.2.6 Event model in DAVIC APIs ................................................................................................................... 119 11.2.7 Event model in DAVIC and DVB APIs ................................................................................................... 119 11.2.8 Tuning as a side-effect .............................................................................................................................. 119 11.2.9 Intra application media resource management .......................................................................................... 119 11.2.10 Application thread priority ........................................................................................................................ 119 11.2.11 Text Encodings ......................................................................................................................................... 119 11.2.11.1 Text encoding in Service Information ................................................................................................. 120 11.3 Fundamental DVB-J APIs .............................................................................................................................. 120 11.3.1 Java platform APIs.................................................................................................................................... 120 11.3.1.1 java.lang package ................................................................................................................................ 120 11.3.1.2 java.void .............................................................................................................................................. 121 11.3.1.3 Void..................................................................................................................................................... 121 11.3.1.4 java.io, javax.microedition.io .............................................................................................................. 121 11.3.1.5 java.net ................................................................................................................................................ 122 11.3.2 GEM platform APIs .................................................................................................................................. 123 11.3.2.1 org.dvb.lang ........................................................................................................................................ 123 11.3.2.2 org.dvb.event ....................................................................................................................................... 123 11.3.2.2.1 Generic description ........................................................................................................................ 123 11.3.2.2.2 Additional semantics for org.dvb.event ......................................................................................... 123 11.3.3 Java TV ..................................................................................................................................................... 123 11.4 Presentation APIs ........................................................................................................................................... 123 11.4.1 Graphical User Interface API.................................................................................................................... 123 11.4.1.1 The Core GUI API .............................................................................................................................. 123 11.4.1.2 TV user interface ................................................................................................................................. 124 11.4.1.3 Extended graphics ............................................................................................................................... 126 11.4.1.4 Television viewing mode .................................................................................................................... 126 11.4.1.5 Font bindings....................................................................................................................................... 128 11.4.1.5.1 PFR0 .............................................................................................................................................. 128 11.4.1.5.2 OpenType ...................................................................................................................................... 129 11.4.2 Streamed Media API ................................................................................................................................. 129 11.4.2.1 Framework of solution ........................................................................................................................ 129 11.4.2.2 Clarifications ....................................................................................................................................... 129 11.4.2.3 Default media player behaviour .......................................................................................................... 130 11.4.2.4 Required controls for video drips ........................................................................................................ 130

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)8

    11.4.2.5 Extensions to the Framework .............................................................................................................. 130 11.4.2.5.1 DVB specified extensions ............................................................................................................. 130 11.4.2.5.2 Extensions in org.davic ................................................................................................................. 131 11.4.2.5.3 Extensions in javax.tv .................................................................................................................... 131 11.4.2.5.4 Required controls for broadcast profiles and packaged media profiles ......................................... 132 11.4.2.5.5 Clarifications ................................................................................................................................. 133 11.4.2.5.6 Component-based JMF players ..................................................................................................... 134 11.4.2.5.7 Streaming Monitoring API ............................................................................................................ 134 11.4.2.5.8 Media Stream Synchronization API .............................................................................................. 135 11.4.2.5.8.1 API behavior in border cases ......................................................................................................... 136 11.4.2.5.8.2 Establishing a Master/Slave Relationship ..................................................................................... 136 11.4.2.5.8.3 Adding a Slave .............................................................................................................................. 136 11.4.2.6.8.4 Removing a Slave .......................................................................................................................... 137 11.4.2.5.8.5 Starting a Master Player ................................................................................................................ 137 11.4.2.5.8.6 Setting the Media Time and Rate of a Master Player .................................................................... 137 11.4.2.5.8.7 Loss of Synchronization ................................................................................................................ 138 11.4.2.5.8.8 Event Handling .............................................................................................................................. 138 11.4.2.6 Restrictions on the Framework for Broadcast ..................................................................................... 138 11.4.2.7 Intersection Between MediaSelectControl and SubtitlingLanguageControl/

    AudioLanguageControl ....................................................................................................................... 139 11.4.2.8 Intersection between Streamed Media API and TV User Interface API ............................................. 140 11.4.2.8.1 Basic Principles ............................................................................................................................. 140 11.4.2.8.2 TV Behaviour Control ................................................................................................................... 140 11.4.2.8.3 Application Behaviour Control ..................................................................................................... 141 11.4.2.8.4 Dynamic Behaviour ....................................................................................................................... 141 11.4.2.8.5 Resource Management Details ...................................................................................................... 141 11.4.2.9 Integration with providers ................................................................................................................... 141 11.4.2.10 Additional and modified semantics for IPTV ..................................................................................... 142 11.4.2.11 Time-setting operations for OTT ........................................................................................................ 142 11.5 Data access APIs ............................................................................................................................................ 142 11.5.1 Broadcast Transport Protocol Access API ................................................................................................ 142 11.5.1.1 Constraints on the java.io.File methods for broadcast carousels ......................................................... 142 11.5.1.2 Methods dealing with write access ...................................................................................................... 143 11.5.1.3 Behaviour following loss of a broadcast carousel ............................................................................... 144 11.5.2 Support for Multicast IP over the Broadcast Channel............................................................................... 144 11.5.3 Support for IP over the Return Channel.................................................................................................... 144 11.5.4 MPEG-2 Section Filter API ...................................................................................................................... 145 11.5.5 Mid-Level Communications API .............................................................................................................. 145 11.5.6 Persistent Storage API .............................................................................................................................. 145 11.5.7 File Storage Device Access ...................................................................................................................... 147 11.5.7.1 Basic Specification .............................................................................................................................. 147 11.5.7.2 DVB specific modifications ................................................................................................................ 147 11.6 Service information and selection APIs ......................................................................................................... 148 11.6.1 Signalling-specific service information API ............................................................................................. 148 11.6.2 Service selection API ................................................................................................................................ 148 11.6.3 Tuning API ............................................................................................................................................... 150 11.6.3.1 Generic description ............................................................................................................................. 150 11.6.3.2 Tuning in IPTV ................................................................................................................................... 151 11.6.3.3 Tuning in OTT .................................................................................................................................... 151 11.6.4 Conditional access API ............................................................................................................................. 151 11.6.5 Protocol independent SI API .................................................................................................................... 151 11.6.5.1 Generic description ............................................................................................................................. 151 11.6.5.2 Transport independent and dependent services ................................................................................... 152 11.6.5.3 Modified Semantics of Existing APIs ................................................................................................. 152 11.6.5.4 Extensions ........................................................................................................................................... 152 11.6.6 Service discovery and selection for IPTV ................................................................................................. 152 11.6.7 Integration between protocol independent SI API and TV-Anytime ........................................................ 153 11.7 Common infrastructure APIs .......................................................................................................................... 153 11.7.1 APIs to support DVB-J application lifecycle ............................................................................................ 153 11.7.1.1 Xlet properties ..................................................................................................................................... 153 11.7.1.2 Actions for DVB-J applications to perform in their destroy method .................................................. 154 11.7.2 Application discovery and launching APIs ............................................................................................... 154

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)9

    11.7.3 Inter-application communication API ....................................................................................................... 156 11.7.4 Basic MPEG concepts .............................................................................................................................. 157 11.7.5 Resource notification ................................................................................................................................ 157 11.7.6 Content referencing................................................................................................................................... 157 11.7.7 Common error reporting ........................................................................................................................... 158 11.7.8 Plug-in APIs.............................................................................................................................................. 158 11.7.9 Provider API ............................................................................................................................................. 159 11.7.9.1 API framework .................................................................................................................................... 159 11.7.9.2 SelectionProvider ................................................................................................................................ 159 11.7.9.3 SI providers ......................................................................................................................................... 160 11.7.9.4 InteractionChannelTransportProvider ................................................................................................. 161 11.7.10 Content referencing for IPTV ................................................................................................................... 161 11.7.11 TV-Anytime content referencing and metadata ........................................................................................ 161 11.7.12 Content referencing for OTT .................................................................................................................... 162 11.8 Security .......................................................................................................................................................... 162 11.8.1 Basic Security ........................................................................................................................................... 162 11.8.2 APIs for return channel security ............................................................................................................... 162 11.8.3 Additional permissions classes ................................................................................................................. 163 11.8.4 General Security Issues ............................................................................................................................. 163 11.8.5 Cryptographic API .................................................................................................................................... 163 11.8.6 DVB Extensions for Cryptography ........................................................................................................... 164 11.8.6.1 Introduction (informative) ................................................................................................................... 164 11.8.6.1.1 The org.dvb.security package ........................................................................................................ 164 11.8.6.1.2 The org.dvb.auth.callback package ............................................................................................... 164 11.8.6.1.3 The org.dvb.net.ssl package .......................................................................................................... 164 11.8.6.1.4 The org.dvb.security.pkcs11 package ............................................................................................ 165 11.8.6.2 Specification........................................................................................................................................ 165 11.9 Other APIs ...................................................................................................................................................... 165 11.9.1 Timer support ............................................................................................................................................ 165 11.9.2 User settings and preferences API ............................................................................................................ 165 11.9.3 Profile and version properties ................................................................................................................... 166 11.9.3.1 Information on options ........................................................................................................................ 166 11.9.4 Non-CA smart card API ........................................................................................................................... 167 11.9.5 XML parsing API ..................................................................................................................................... 167 11.9.5.1 SAX..................................................................................................................................................... 167 11.9.5.2 JDOM .................................................................................................................................................. 168 11.9.6 GEM terminal hardware API .................................................................................................................... 168 11.9.7 Content Download API ............................................................................................................................. 168 11.10 Java permissions ............................................................................................................................................. 168 11.10.1 Permissions for unsigned applications ...................................................................................................... 168 11.10.1.1 java.awt.AWTPermission ................................................................................................................... 168 11.10.1.2 java.net.SocketPermission ................................................................................................................... 168 11.10.1.3 java.util.PropertyPermission ............................................................................................................... 168 11.10.1.4 java.lang.RuntimePermission .............................................................................................................. 168 11.10.1.5 java.io.SerializablePermission ............................................................................................................ 169 11.10.1.6 java.io.FilePermission ......................................................................................................................... 169 11.10.1.7 javax.tv.media.MediaSelectPermission ............................................................................................... 169 11.10.1.8 javax.tv.service.ReadPermission ......................................................................................................... 169 11.10.1.9 javax.tv.service.selection.ServiceContextPermission ......................................................................... 169 11.10.1.10 java.util.Locale.setDefault .................................................................................................................. 169 11.10.1.11 Applications signalled in AIT File ...................................................................................................... 169 11.10.1.12 javax.microedition.xlet.ixc.IxcPermission .......................................................................................... 169 11.10.1.13 MonitorAppPermission and ServiceTypePermission .......................................................................... 169 11.10.2 Additional Permissions for signed applications ........................................................................................ 170 11.10.2.1 java.util.PropertyPermission ............................................................................................................... 170 11.10.2.2 java.io.FilePermission ......................................................................................................................... 170 11.10.2.3 org.dvb.net.ca.CAPermission .............................................................................................................. 170 11.10.2.4 org.dvb.application.AppsControlPermission ...................................................................................... 170 11.10.2.5 org.dvb.net.rc.RCPermission .............................................................................................................. 171 11.10.2.6 org.dvb.net.tuning.TunerPermission ................................................................................................... 171 11.10.2.7 javax.tv.service.selection.SelectPermission ........................................................................................ 171 11.10.2.8 org.dvb.user.UserPreferencePermission .............................................................................................. 171

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)10

    11.10.2.9 java.net.SocketPermission ................................................................................................................... 171 11.10.2.10 org.dvb.media.DripFeedPermission .................................................................................................... 171 11.10.2.11 org.dvb.application.storage.ApplicationStoragePermission ................................................................ 172 11.10.2.12 javax.microedition.apdu.APDUPermission ........................................................................................ 172 11.10.2.13 ServiceContextPermission .................................................................................................................. 172 11.10.2.14 javax.microedition.xlet.ixc.IxcPermission .......................................................................................... 172 11.10.2.15 org.dvb.spi.ProviderPermission .......................................................................................................... 172 11.10.2.16 Permissions for Unbound and Privileged Applications ....................................................................... 172 11.11 Content referencing ........................................................................................................................................ 173 11.11.1 Transport stream ....................................................................................................................................... 173 11.11.2 Network .................................................................................................................................................... 174 11.11.3 Void .......................................................................................................................................................... 174 11.11.4 Service ...................................................................................................................................................... 174 11.11.4.1 MPEG/GEM specific service .............................................................................................................. 174 11.11.4.2 Generic service .................................................................................................................................... 175 11.11.4.3 Stored services .................................................................................................................................... 176 11.11.4.4 Content referencing for IPTV ............................................................................................................. 176 11.11.4.5 Content referencing for OTT services ................................................................................................. 176 11.11.5 Program event ........................................................................................................................................... 176 11.11.6 MPEG elementary stream ......................................................................................................................... 176 11.11.7 File ............................................................................................................................................................ 177 11.11.8 Directory ................................................................................................................................................... 178 11.11.9 Drip feed decoder ..................................................................................................................................... 178 11.11.10 Void .......................................................................................................................................................... 178 11.11.11 Methods working on many locator types .................................................................................................. 178 11.11.12 Support for the HTTP Protocol in DVB-J ................................................................................................ 179 11.11.13 GEM Applications .................................................................................................................................... 179 11.12 Stand-alone Applications ............................................................................................................................... 179 11.12.1 Common behavior .................................................................................................................................... 179 11.12.2 Stored services .......................................................................................................................................... 180 11.12.2.1 Stored application APIs ....................................................................................................................... 180 11.12.2.2 Modified behaviour of GEM 1.0 APIs ................................................................................................ 180 11.12.2.3 Permissions ......................................................................................................................................... 181 11.12.2.3.1 FilePermission ............................................................................................................................... 181 11.12.2.4 Stored application management API ................................................................................................... 181 11.13 Void ................................................................................................................................................................ 181 11.14 Internet Access ............................................................................................................................................... 181 11.14.1 Internet client control APIs ....................................................................................................................... 181 11.14.2 Internet applet support .............................................................................................................................. 182 11.14.2.1 HTML tags .......................................................................................................................................... 182 11.14.2.2 Java Platform....................................................................................................................................... 182 11.14.2.3 Void..................................................................................................................................................... 182 11.14.2.4 Void..................................................................................................................................................... 182 11.14.2.5 Security ............................................................................................................................................... 182 11.15 APIs defined in OCAP ................................................................................................................................... 182 11.15.1 Introduction (informative) ........................................................................................................................ 182 11.15.2 OCAP Annex G - the org.ocap.application package ................................................................................. 184 11.15.3 OCAP Annex P - the org.ocap.service package ........................................................................................ 184 11.15.4 OCAP Annex Q - the org.ocap.system package ....................................................................................... 185 11.15.5 OCAP Annex O - the org.ocap package ................................................................................................... 185 11.15.6 OCAP Annex U - the org.ocap system.event ............................................................................................ 185

    12 Security................................................................................................................................................. 185 12.1 Introduction .................................................................................................................................................... 185 12.1.1 Overview of the security framework for applications ............................................................................... 185 12.1.2 Overview of return channel security ......................................................................................................... 186 12.1.3 Establishing trusted applications ............................................................................................................... 186 12.2 Authentication of applications ........................................................................................................................ 186 12.2.1 Overview of authentication messages ....................................................................................................... 186 12.2.1.1 Hash codes .......................................................................................................................................... 186 12.2.1.2 Signatures ............................................................................................................................................ 187 12.2.1.3 Certificates .......................................................................................................................................... 187

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)11

    12.2.1.4 Authentication of hierarchical file systems ......................................................................................... 188 12.3 Message transport ........................................................................................................................................... 188 12.4 Detail of application authentication messages ................................................................................................ 188 12.4.1 HashFile .................................................................................................................................................... 188 12.4.1.1 Description .......................................................................................................................................... 188 12.4.1.2 HashFile location and naming conventions ......................................................................................... 190 12.4.1.3 Digest value computation rules ........................................................................................................... 190 12.4.1.3.1 Example ......................................................................................................................................... 190 12.4.1.4 Warning concerning grouping of objects under a single digest (informative) .................................... 190 12.4.1.5 Special authentication rules ................................................................................................................. 191 12.4.2 SignatureFile ............................................................................................................................................. 191 12.4.2.1 Description .......................................................................................................................................... 191 12.4.2.2 SignatureFile location and naming conventions.................................................................................. 192 12.4.2.3 Supported algorithms .......................................................................................................................... 192 12.4.2.4 Signature computation rules. ............................................................................................................... 192 12.4.2.5 Authentication rules ............................................................................................................................ 192 12.4.3 CertificateFile ........................................................................................................................................... 193 12.4.3.1 Description .......................................................................................................................................... 193 12.4.3.2 ASN.1 encoding .................................................................................................................................. 193 12.4.3.3 Supported algorithms .......................................................................................................................... 193 12.4.3.4 Name matching ................................................................................................................................... 193 12.4.3.5 CertificateFile location and naming conventions ................................................................................ 193 12.4.3.6 Authentication rules ............................................................................................................................ 194 12.4.4 Integration ................................................................................................................................................. 194 12.5 Profile of X.509 certificates for authentication of applications ...................................................................... 195 12.5.1 signatureAlgorithm ................................................................................................................................... 195 12.5.1.1 MD5 with RSA ................................................................................................................................... 195 12.5.1.2 SHA-1 with RSA ................................................................................................................................ 195 12.5.1.3 parameters ........................................................................................................................................... 195 12.5.2 signatureValue .......................................................................................................................................... 195 12.5.3 version ...................................................................................................................................................... 195 12.5.4 issuer ......................................................................................................................................................... 196 12.5.4.1 minimum requirement ......................................................................................................................... 196 12.5.4.2 certificate authority responsibility ....................................................................................................... 196 12.5.5 validity ...................................................................................................................................................... 196 12.5.6 subject ....................................................................................................................................................... 196 12.5.7 SubjectPublic Key Info ............................................................................................................................. 197 12.5.7.1 rsaEncryption ...................................................................................................................................... 197 12.5.7.2 subjectPublicKey ................................................................................................................................ 197 12.5.8 Unique Identifiers ..................................................................................................................................... 197 12.5.9 Extensions ................................................................................................................................................. 197 12.6 Security policy for applications ...................................................................................................................... 199 12.6.1 General principles ..................................................................................................................................... 199 12.6.2 Permission request file .............................................................................................................................. 200 12.6.2.0 General ................................................................................................................................................ 200 12.6.2.1 File encoding ....................................................................................................................................... 201 12.6.2.1.1 XML .............................................................................................................................................. 201 12.6.2.1.2 MHP/GEM 1.0 .............................................................................................................................. 201 12.6.2.1.3 MHP/GEM 1.1 .............................................................................................................................. 202 12.6.2.1.4 MHP/GEM 1.2 .............................................................................................................................. 204 12.6.2.1.5 Number representation .................................................................................................................. 205 12.6.2.2 File integrity ........................................................................................................................................ 206 12.6.2.3 Example .............................................................................................................................................. 206 12.6.2.4 Permission request file name and location .......................................................................................... 206 12.6.2.5 Permission Request file ....................................................................................................................... 207 12.6.2.5.1 Minimum permissions ................................................................................................................... 207 12.6.2.5.2 Syntax and semantics .................................................................................................................... 207 12.6.2.5.3 Defaults ......................................................................................................................................... 207 12.6.2.6 Credentials .......................................................................................................................................... 207 12.6.2.7 File Access .......................................................................................................................................... 209 12.6.2.7.1 Unsigned applications ................................................................................................................... 209 12.6.2.7.2 Policy for signed applications ........................................................................................................ 209

  • ETSI

    ETSI TS 102 728 V1.2.1 (2011-09)12

    12.6.2.7.3 Permission request syntax ............................................................................................................. 210 12.6.2.8 CA API ................................................................................................................................................ 210 12.6.2.8.0 GEM Introduction ......................................................................................................................... 210 12.6.2.8.1 Unsigned applications ................................................................................................................... 210 12.6.2.8.2 Signed applications ........................................................................................................................ 211 12.6.2.8.3 Conditional Access Permission syntax .......................................................................................... 211 12.6.2.9 Application lifecycle control policy .................................................................................................... 211 12.6.2.9.1 Unsigned applications ................................................................................................................... 211 12.6.2.9.2 Default policy for signed applications ........................................................................................... 211 12.6.2.9.3 Syntax ............................................................................................................................................ 212 12.6.2.10 Return channel access policy .......................................