Skip to main content

PlayReady Hardware DRM



As the industry moves beyond HD, introducing full 1080p, UHD, 4K and higher resolutions, as well as early window content, Microsoft evolved its hardware based DRM to address content owners' requirements, and released a new version of the PlayReady product suite as well as a new governance model to address these challenges.

On the device side, the PlayReady Porting Kit 3.0 and above is designed to optimize the integration of PlayReady into any kind of Trusted Execution Environment (TEE) to satisfy hardware security requirements. As part of the new PlayReady governance model, we have updated the PlayReady Compliance and Robustness Rules, in which we introduced a new PlayReady Security Level 3000 (SL3000), and new requirements to the PlayReady TEE implementations to meet the hardware security requirements for PlayReady Enhanced Content Protection (ECP). This new PlayReady SL3000 is designed to meet the security standards for a wide range of content producers, including premium Hollywood content.

Some test content is available for PlayReady Intermediate or Final Product Licensee to validate playback scenarios. For example:

PlayReady Hardware DRM for Windows 10

Windows 10 introduced Harware-based DRM that enables secure playback of high value content (full 1080p, UHD, 4K and higher, early window content, etc...) on multiple device platforms. Key material (including private keys, content keys, and any other key material used to derive or unlock said keys), and decrypted compressed and uncompressed video samples are protected by leveraging hardware security. See the MSDN documentation for more details on PlayReady Hardware DRM for Windows 10.

Encrypted Media Extensions

Encrypted Media Extensions (EME) extends the video and audio elements to enable DRM protected content without using plug-ins. Both prefixed and the new unprefixed APIs are supported in Microsoft Edge. For more information about the updated implementation of EME in Microsoft Edge, as well as the legacy implementation in IE11, see the Encrypted Media Extensions updates article.

PlayReady hardware DRM can also be leveraged in HTML5 MSE/EME web apps. To use PlayReady Hardware DRM, your JavaScript web app should query requestMediaKeySystemAccess new unprefixed EME method, or use isTypeSupported legacy prefixed EME method, both with a key system identifier of com.microsoft.playready.recommendation.hardware to query for PlayReady hardware DRM support from the browser.

See this section and this other one in the MSDN documentation for more details on content supported in hardware DRM. Occasionally, some content may not supported in hardware DRM. For example, in order to determine whether HEVC content is supported, the JavaScript web app should use one of the previous EME methods with a MIME type of "video/mp4;codecs="hvc1"".

See the below demos of new unprefixed EME and prefixed EME methods on how to query the device for various PlayReady configurations, including hardware DRM support:


Demo unprefixed EME

     requestMediaKeySystemAccess(Key System, [{initDataTypes: ['keyids', 'cenc'], audioCapabilities: [{ contentType: Audio Capabilities }], videoCapabilities: [{ contentType: Video Capabilities }] }]);

Key System Audio Capabilities Video Capabilities Robustness Result