La specifica Interoperable DRM Platform 2.1 e Chillout Filippo Chiariglione (CEDEO.net) 1° incontro dmin.it Torino, 2007/06/25 2007/06/25 IDP-2.1 e Chillout 1 Il Digital Media Project • Il DMP è un’associazione senza scopo di lucro fondata a Ginevra a dicembre 2003 con l’obiettivo – ...to promote continuing successful development, deployment and use of Digital Media that respect the rights of creators and rights holders to exploit their works, the wish of end users to fully enjoy the benefits of Digital Media and the interests of various value-chain players to provide products and services… • Raggiunge i suoi obiettivi attraverso standard per – Data formats – Protocols • Gli standard DMP sono – Interoperable DRM Platform (IDP), disponibile come v. 2.1 e, a luglio, v. 3.0 – Reference Implementation (Chillout) in Open Source 2007/06/25 IDP-2.1 e Chillout 2 Represent Content Represent Identifier Represent Metadata DCI Rappresentazione del Contenuto Represent Resource Represent Identifier Represent Metadata Represent DRM Information Represent DRM Tool Un esempio di categorie di informazione la cui rappresentazione è specificata in IDP-2.1 Represent DRM Tool Body Represent Device Information Represent License Represent Key Body Represent Domain Resource Represent Key Represent Key Body 2007/06/25 IDP-2.1 e Chillout 3 Rappresentazione dell’informazione/1 • • • • • • • • • • • • Content Metadata DCI Signature DCI Hash Identifier Resource DRM Information DRM Tool DRM Tool Body Rights Data License Key 2007/06/25 IDP-2.1 e Chillout 4 Rappresentazione dell’informazione/2 • • • • • • • • • • • DRM Messages Authentication Messages Device Information Domain Domain Protocol Use Data Access Protocol Device Identifier Protocol Identify Content Protocol Binary XML Event Report 2007/06/25 IDP-2.1 e Chillout 5 Protocolli e Package • Protocols – – – – – to to to to to Identify Entities Authenticate Entities Manage Domain Manage DRM Tools Access • Package Content – As File (DMP Content Format – DCF) – As Stream (DMP Content Stream – DCS) 2007/06/25 IDP-2.1 e Chillout 6 Dispositivi in una Catena del Valore License Provider Device 5 2 Content Identific. Device 11 6 1 8 Content Creation Device 3 DRM Tool Provider Device 2007/06/25 Domain 13 Mgmt Device 4 Content Provider Device 7 10 End-User Device (SAV) End-User Device (SAV) 9 12 Non-DMP device Device Identific. Device IDP-2.1 e Chillout Domain Identific. Device 14 PAV eXternal Device 15 End-User Device (PAV) 7 Flessibilità di modelli di business Service Provider Device Content Return Channel Content Identific. Device Content Provider Device License Identification Identific. Device License Provider Device DRM License Tool Identification Identific. Device DRM Tool Provider Device 2007/06/25 Content Return Channel EndUser Device License Return Channel DRM Tool Return Channel IDP-2.1 e Chillout 8 Le funzionalità di un Dominio U S e r Domain Management Device End-User Device Network U S e r End-User Device End-User Device User 2007/06/25 License Provider Device IDP-2.1 e Chillout U S e r 9 Le specifiche DMP AKA “Approved Documents” • Disponibili online alla seguente URL: http://www.dmpf.org/project/ga14/idp-21.html • 0981: Approved Document No. 1 – Technical Reference: ValueChain Functions and Requirements, Version 2.1 • 0982: Approved Document No. 2 – Technical Reference: Architecture, Version 2.1 • 0983: Approved Document No. 3 – Technical Specification: Interoperable DRM Platform, Version 2.1 • 0984: Approved Document No. 4 – Technical Specification: Use Cases and Value Chains, Version 2.1 • 0985: Approved Document No. 5 – Technical Specification: Certification and Registration Authorities, Version 2.1 • 0986: Approved Document No. 6 – Technical Reference: Terminology, Version 2.1 2007/06/25 IDP-2.1 e Chillout 10 Chillout® il software di riferimento del DMP • Un insieme di librerie Java • Organizzate come – Core library: realizza le specifiche IDP – Auxiliary library: incapsula alcune funzionalità – Applications: un insieme di applicazioni (Dispositivi, …) Applications Core library Auxiliary library Java platform 2007/06/25 IDP-2.1 e Chillout 11 The Chillout SVN repository The software can be checked out using an SVN client and compiled using Maven2. 2007/06/25 IDP-2.1 e Chillout 12 La Core Library • La Core Library di Chillout è costituita dalle seguenti classi: – Represent – Package – Protocol 2007/06/25 IDP-2.1 e Chillout 13 The Represent Classes • The Chillout Core library provides a set of classes to easily generate any XML structure defined in IDP, and conversely to extract any information contained within. • This is achieved by employing an Open Source software tool called Java Architecture for XML Binding (JAXB): – Offline: to generate the classes to handle XML – At runtime: to • Un-marshal XML structures to Java objects (the instances of the classes generated from the schemas). • Marshal Java objects into XML structures. • Verify if the incoming xml document is valid or not according to the schemas 2007/06/25 IDP-2.1 e Chillout 14 The Package classes • The Core library provides a set of functions to – Bundle media resources with the DCI and other information in a file named DCF – Extract this information from a DCF • The DMP Content Format is based on the MPEG-21 File Format • The Package classes allow any Java application to access the information contained in a DCF or to create a DCF based on data in input 2007/06/25 IDP-2.1 e Chillout 15 The Protocols classes • Devices in a media Value Chain require a standard protocol to communicate • The description of the various protocols is done in WSDL • The Core library provides a set of functionalities to generate and parse the XML messages exchanged between devices while performing a Protocol • The Open Source Axis tool is used to send and receive such messages over the SOAP protocol 2007/06/25 IDP-2.1 e Chillout 16 What is the Auxiliary Library • It comprises of those classes encapsulating the functionalities of a number of modules required for devices to operate according to the IDP specification. • Commercial applications may well decide to implement those key DRM components in a proprietary way, even in hardware. • Chillout at this stage only provides a reference implementation of them. 2007/06/25 IDP-2.1 e Chillout 17 Auxiliary Library Components • The Security Manager: – A module incorporating all those functionalities such as securely storing digital certificates and licences, performing operations involving Digital Signatures, etc... • The DRM Processor: – A SAV module in charge of instantiating and managing the DRM Tools protecting a media resource • DRM Tools: – Modules performing DRM functions such as decryption, key management, etc. • License Authorisation: – A module that has the following: • Input: An REL License file and a Query file • Output: – Authorization result: (YES, NO (and why), MAYBE (and why)) 2007/06/25 IDP-2.1 e Chillout 18 Applications overview • Chillout provides a set of Devices that are easy to configure and run • This helps promoting adoption of Chillout and the DMP specification by enabling those users – Not experienced in the DRM field – Not enough skilled in programming – working for small companies to experiment with a technology that so far could only be used by those experts in the field • The Applications category contains source and executable Java code built on top of the Core classes, and integrated with Auxiliary classes 2007/06/25 IDP-2.1 e Chillout 19 L’architettura Chillout • Tutti i Dispositivi sono dotati della Core library (Open Source o proprietaria, ma certificata, se richiesto dalla Catena del Valore) • I Dispositivi possono essere dotati di Auxiliary Library per facilitare lo sviluppo di applicazioni – Ma non è richiesta per l’interoperabilità • Ogni Applicazione è costituita da codice che è tipicamente specifico del Dispositivo e può benissimo essere proprietario • Chillout è attualmente in Java (su Win, Mac, Linux) – La proposta non impone l’uso di questo ambiente per ottenere interoperabilità – La comunicazione tra dispositivi è attuata mediante protocolli descritti in WSDL ed è del tutto agnostica all’ambiente 2007/06/25 IDP-2.1 e Chillout 20 Dispositivi già realizzati • • • • • • • • Device Identification Device (DID) Content Creation Device (CCD) Content Identification Device (CID) License Provider Device (LPD) Content Provider Device (CPD) DRM Tool Provider Device (TPD) Content Consumption Device (SAV) Domain Management Device (DMD) 2007/06/25 IDP-2.1 e Chillout 21 CCD (1): Welcome 2007/06/25 IDP-2.1 e Chillout 22 CCD (2): Control Panel 2007/06/25 IDP-2.1 e Chillout 23 CCD (3): Add Resource 2007/06/25 IDP-2.1 e Chillout 24 CCD (4) New Content Item 2007/06/25 IDP-2.1 e Chillout 25 CCD (5) Resource DRM Settings 2007/06/25 IDP-2.1 e Chillout 26 CCD (6): DRM Tool Settings 2007/06/25 IDP-2.1 e Chillout 27 CCD (7): Publish the DCI 2007/06/25 IDP-2.1 e Chillout 28 CPD (1): Upload Content 2007/06/25 IDP-2.1 e Chillout 29 CPD (2): Browse for Content !!! CPD online in CNR: http://150.145.55.118:8080/chillout_cpd-0.0.5 !!! 2007/06/25 IDP-2.1 e Chillout 30 SAV (1): View the DCI 2007/06/25 IDP-2.1 e Chillout 31 SAV (2): Play a Resource 2007/06/25 IDP-2.1 e Chillout 32 SAV (2): Play a Governed Resource 2007/06/25 IDP-2.1 e Chillout 33 SAV (2): Subscribe to a Domain 2007/06/25 IDP-2.1 e Chillout 34 Device online in CNR • LPD (Access License): – http://150.145.55.118:8080/chillout_lpd0.0.5/services/LPDProcessor • DMD (Create Domain & Join Domain): – http://150.145.55.118:8080/chillout_dmd0.0.5/services/DMDCreateDomainProcessor – http://150.145.55.118:8080/chillout_dmd0.0.5/services/DMDAddDeviceProcessor 2007/06/25 IDP-2.1 e Chillout 35 Un esempio di catena del valore License Provider Device Content Creation Device Domain Management Device Content Provider Device End User Device IPMP Tool Provider Device 2007/06/25 IDP-2.1 e Chillout 36 Grazie per l’attenzione! [email protected] 2007/06/25 IDP-2.1 e Chillout 37