Widevine *DRM and Keybox



DRM

In this document

  1. Overview

    1. Android DRM Framework
    2. Widevine DRM Plugin
  2. Integrating Widevine into Your Product
    1. Widevine DRM security levels
    2. Security level details

This document introduces Widevine DRM security levels and certification requirements. It explains how to integrate and distribute Widevine DRM for your product. Android provides the Widevine DRM solution with a royalty-free license and we
recommend that you use it for your protected playback solution.

Overview



Availability of rich digital content is important to users on mobile devices. To make their content widely available,Android developers and digital content publishers need a consistent DRM implementation supported across the Androidecosystem. In order to
make that digital content available on Android devices and to ensure that there is at leastone consistent DRM available across all devices, Google provides Widevine DRM for free on compatible Android devices.On Android 3.0 and higher platforms, the Widevine
DRM plugin is integrated with the Android DRM framework and useshardware-backed protection to secure movie content and user credentials.

The content protection provided by the Widevine DRM plugin depends on the security and content protection capabilities of the underlying hardware platform. The hardware capabilities of the device include hardware secure boot to establish a chain of trust
of security and protection of cryptographic keys. Content protection capabilities of the device include protection of decrypted frames in the device and content output protection via a trusted output protection mechanism. Not all hardware platforms support
all the above security and content protection features. Security is never implemented in a single place in the stack, but instead relies on the integration of hardware, software, and services. The combination of hardware security functions, a trusted boot
mechanism, and an isolated secure OS for handling security functions is critical to provide a secure device.

Android DRM Framework

Android 3.0 and higher platforms provide an extensible DRM framework that lets applications manage protected content using a choice of DRM mechanisms. For application developers, the framework offers an abstract, unified API that simplifies the management
of protected content. The API hides the complexity of DRM operations and allows a consistent operation mode for both protected and unprotected content across a variety of DRM schemes. For device manufacturers, content owners, and Internet digital media providers
the DRM framework plugin API provides a means of adding support for a DRM scheme of choice into the Android system, for secure enforcement of content protection.

Note: We recommend that you integrate the Widevine solution as it is already implemented and ready for you to use.

Widevine DRM Plugin

Built on top of the Android DRM framework, the Widevine DRM plugin offers DRM and advanced copy protection features on Android devices. Widevine DRM is available in binary form under a royalty free license from Widevine. The Widevine DRM plugin provides
the capability to license, securely distribute, and protect playback of multimedia content. Protected content is secured using an encryption scheme based on the open AES (Advanced Encryption Standard). An application can decrypt the content only if it obtains
a license from the Widevine DRM licensing server for the current user. Widevine DRM functions on Android in the same way as it does on other platforms. Figure 1 shows how the WideVine Crypto Plugin fits into the Android stack:

Figure 1. Widevine Crypto Plugin

Integrating Widevine into Your Product



The following sections go over the different security levels that Widevine supports and the requirements that your product must meet tosupport Widevine. After reading the information, you need to determine the security level for your target hardware, integration,
and Widevine keybox provisioning requirements.

To integrate and distribute Widevine DRM on Android devices, contact your Android technical account manager to begin Widevine DRM integration.We recommend you engage early in your device development process with the Widevine team to provide the highest level
of content protection on the device. Certify devices using the Widevine test player and submit results to your Android technical account manager for approval.

Widevine DRM security levels

Security is never implemented in a single place in the stack, but instead relies on the integration of hardware, software, and services. The combination of hardware security functions, a trusted boot mechanism, and an isolated secure OS for handling security
functions is critical to provide a secure device.

At the system level, Android offers the core security features of the Linux kernel, extended and customized for mobile devices. In the application framework, Android provides an extensible DRM framework and system architecture for checking and enforcing
digital rights. The Widevine DRM plugin integrates with the hardware platform to leverage the available security capabilities. The level of security offered is determined by a combination of the security capabilities of the hardware platform and the integration
with Android and the Widevine DRM plugin. Widevine DRM security supports the three levels of security shown in the table below.

Security Level Secure Bootloader Widevine Key Provisioning Security Hardware or ARM Trust Zone Widevine Keybox and Video Key Processing Hardware Video Path
Level 1 Yes Factory provisioned Widevine Keys Yes Keys never exposed in clear to host CPU Hardware protected video path
Level 2 Yes Factory provisioned Widevine Keys Yes Keys never exposed in clear to host CPU Hardware protected video path
Level 3 Yes* Field provisioned Widevine Keys No Clear keys exposed to host CPU Clear video streams delivered to video decoder

*Device implementations may use a trusted bootloader, where in the bootloader is authenticated via an OEM key stored on a system partition.

Security level details

Level 1

In this implementation Widevine DRM keys and decrypted content are never exposed to the host CPU. Only security hardware or a protected security co-processor uses clear key values and the media content is decrypted by the secure hardware. This level of security
requires factory provisioning of the Widevine key-box or requires the Widevine key-box to be protected by a device key installed at the time of manufacturing. The following describes some key points to this security level:

  • Device manufacturers must provide a secure bootloader. The chain of trust from the bootloader must extend through any software or firmware components involved in the security implementation, such as the ARM TrustZone protected application and any components
    involved in the enforcement of the secure video path.
  • The Widevine key-box must be encrypted with a device-unique secret key that is not visible to software or probing methods outside of the TrustZone.
  • The Widevine key-box must be installed in the factory or delivered to the device using an approved secure delivery mechanism.
  • Device manufacturers must provide an implementation of the Widevine Level 1 OEMCrypto API that performs all key processing and decryption in a trusted environment.

Level 2

In this security level, the Widevine keys are never exposed to the host CPU. Only security hardware or a protected security co-processor uses clear key values. An AES crypto block performs the high throughput AES decryption of the media stream. The resulting
clear media buffers are returned to the CPU for delivery to the video decoder. This level of security requires factory provisioning of the Widevine key-box or requires the Widevine key box to be protected by a key-box installed at the time of manufacturing.
The following list describes some key requirements of this security level:

  • Device manufacturers must provide a secure bootloader. The chain of trust from the bootloader must extend through any software or firmware components involved in the security implementation, such as the TrustZone protected application.
  • The Widevine key-box must be encrypted with a device-unique secret key that is not visible to software or probing methods outside of the TrustZone.
  • The Widevine key-box must be installed in the factory or delivered to the device using an approved secure delivery mechanism.
  • Device manufacturers must provide an implementation of the Widevine Level 2 OEMCrypto API that performs all key processing and decryption in a trusted environment.
  • Device manufacturers must provide a bootloader that loads signed system images only. For devices that allow users to load a custom operating system or gain root privileges on the device by unlocking the bootloader, device manufacturers must support the
    following:

    • Device manufacturers must provide a bootloader that allows a Widevine key-box to be written only when the bootloader is in a locked state.
    • The Widevine key-box must be stored in a region of memory that is erased or is inaccessible when the device bootloader is in an unlocked state.

Level 3

This security level relies on the secure bootloader to verify the system image. An AES crypto block performs the AES decryption of the media stream and the resulting clear media buffers are returned to the CPU for delivery to the video decoder.

Device manufacturers must provide a bootloader that loads signed system images only. For devices that allow users to load a custom operating system or gain root privileges on the device by unlocking the bootloader, device manufacturers must support the following:

  • Device manufacturers must provide a bootloader that allows a Widevine key-box to be written only when the bootloader is in a locked state.
  • The Widevine key-box must be stored in a region of memory that is erased or is inaccessible when the device bootloader is in an unlocked state.

Widevine DRM Provision:

  • Factory Provision

    • 单个设备需要唯一硬件识别号码
    • 单个设备需要生成唯一的keybox并写入设备
    • keybox provision在设备制造期间生成并写入
    • 设备制造商需要提供软件支持,以存取相关设备信息
    • Google提供API定义,设备制造商实现该接口
  • Field Provision
    • keybox provision通过OTA方式写入设备

Widevine *DRM and Keybox

时间: 2024-09-29 02:25:40

Widevine *DRM and Keybox的相关文章

keybox 搭建

keybox是基于web的ssh终端管理软件,在生产和测试环境中,服务器一般放在内网中,想要通过外网远程连接就需要先连接有外网的代理服务器,然后再ssh内网的机器,有了keybox就免去其中的麻烦. 一.安装 1.安装java环境,官方建议使用1.8以上的Java JDK $ yum localinstall -y jdk-8u45-linux-x64.rpm # jdk路径 $ ls /usr/java/jdk1.8.0_45/  bin  COPYRIGHT  db  include  ja

【原创】Linux环境的图形系统和AMD显卡驱动编程(2)——Framebuffer、DRM、EXA和Mesa简介

1. Framebuffer Framebuffer驱动提供基本的显示,framebuffer驱动操作的硬件就是一个显示控制器和帧缓存(一片位于系统主存或者显卡显存).Framebuffer驱动向应用程序提供/dev/fbx的设备接口,应用程序通过读写这个设备节点实现对显示控制器和帧缓存. 下面这个程序显示了应用程序操作操作framebuffer节点的过程.运行这个程序,将在屏幕上方显示一个正方形(这里省略了错误检查代码). 1 #include <stdio.h> 2 #include &l

kindle 电子书去除DRM

DRM,Digital Rights Management,数字版权管理. amazon购买的图书会下发到你的kindle设备,电子书格式通常为.azw3,里面包含了DRM,只能在你的设备上使用.所以设备连USB把文件取出来给别人是没用的. epubee这个软件可用来去除DRM,方便你自由分发. 以Windows Desk环境为例,见下图:

SERVICE和DRM实战

第一部分:service实战 --oracle 11gR2中创建service的方法:db console和srvctl两种方法. --db console创建service方法-略 --srvctl创建service方法 [[email protected] admin]$ srvctl add service -d dbking -s dbkt02 -r dbking1,dbking2[[email protected] admin]$ srvctl start service -d dbk

[ 6.299069] [drm] nouveau 0000:01:00.0: 0x94F6: Init table command not found: 0xA9

问题背景: 安装Debian 7.8 到台式机上.安装过程结束后无法开机,屏幕上显示内容: [  6.299069] [drm] nouveau 0000:01:00.0: 0x94F6: Init table command not found: 0xA9 [  6.301620] [drm] nouveau 0000:01:00.0: Register 0x00680500 not found in PLL limits table [  6.302773] [drm] nouveau 00

【原创】Linux环境下的图形系统和AMD R600显卡编程(8)——AMD显卡DRM驱动初始化过程

前面几个blog对DRM驱动.显卡的显存管理机制.中断机制都进行了一些描述,现在阅读AMD drm驱动的初始化过程应该会轻松许多. 下面是一AMD的开发人员编写的文章(先暂时放在这里,后续有时间再添加自己的看法). Understanding GPUs from the ground up I get asked a lot about learning how to program GPUs.  Bringing up evergreen kms support seems like a go

DRM简介

一.DRM 简介 In computing, the Direct Rendering Manager (DRM), a subsystem of the Linux kernel, interfaces with the GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU, and to perform opera

RAC禁用DRM特性

查看"_gc"开头的隐藏参数值: set linesize 333 col name for a35 col description for a66 col value for a30 SELECT i.ksppinm name, i.ksppdesc description, CV.ksppstvl VALUE FROM sys.x$ksppi i, sys.x$ksppcv CV WHERE i.inst_id = USERENV ('Instance') AND CV.inst_

DRM Study

1.DRM是什么? DRM,英文全称Digital Rights Management, 可以翻译为:数字版权管理.指的是出版者用来控制被保护对象的使用权的一些技术,这些技术保护的有数字化内容(例如:软件.音乐.电影)以及硬件,处理数 字化产品的某个实例的使用限制. 本术语容易和版权保护混淆.版权保护指的应用在电子设备上的数字化媒体内容上的技术,DRM保护技术使用以后可以控制和限制这些数字化媒体内容的使用权. 数字版权管理(Digital Rights Management,DRM)是随着电子音