Fairplay DRM

Guide On Apple's Fairplay DRM

4 min read

Fairplay DRM is an Apple-developed DRM system that protects digital content & limits access to authorized users. This blog will help you discover Fairplay DRM & how it works, the key features, & the benefits. Also, you will learn about Fairplay DRM's Compatibility with Browsers, Devices, etc.

Yashwitha Salian
Yashwitha Salian

30 October 2022

Guide On Apple's Fairplay DRM

What is Fairplay DRM?

FairPlay Streaming is a Digital Rights Management solution released by Apple. The purpose of this DRM is to promote secure delivery of digital media in the form of streaming. For that, it uses the HLS (HTTP Live Streaming) protocol. The streaming DRM is by default supported by iOS, tvOS, and macOS.

In essence, Apple’s FairPlay DRM provides guidance as well as underlying technology to content providers for the following purposes:

  • To encrypt the content
  • To safely store the keys and associated key IDs.
  • To exchange the encryption keys securely with the player by utilizing player-side technology in order to decrypt videos, request DRM keys, decode, and finally securely display the content.

How does Fairplay Streaming work?

Apple FairPlay DRM makes use of the following components:

Key server and Key Security Module (KSM)

Key server is responsible for properly managing the keys that are used for encrypting as well as decrypting the DRM content. The content service providers are capable of implementing a Key Security Module (KSM) for the FPS on their key server. This can be done by making use of the default KSM sample provided by Apple. The Key Security Module is adept at validating the key request data that has been sent by the client. Further, it safely passes the request content key across.

Client application

The client applications, FPS, run on Apple OS’ like iOS, macOS, and tvOS. The FPS application requests a key from the key server. Once the key has been received, the client application also successfully processes the response. Various content providers can also use Apple’s code in order to develop their own FPS application. They can also use FPS SDKs provided by various DRM solution providers.

FPS content

In order for FPS to be applied to the HLS content, each of the HLS segments is required to be encrypted using the SAMPLE-AES method. On the other hand, the encryption method used for FPS is AES-128 CBCS. By using Shaka Packager and other packages or solutions that support Fairplay Streaming packaging, you can easily add the KEY tag to the playlist of encrypted HLS content with the related information.

For the uninitiated, CBC, short for Cipher-Block Chaining, is a method of encryption that uses the results of the previous block as the Initial Vector for the next block. This method encrypts only a few sub samples in the CBCS as opposed to encrypting the entire chunk of data.

FPS key request process

The FPS key request and response from the client app goes as follows:

  • First the client application notifies the OS’ AVFoundation framework. This is done to trigger playing the FPS content.
  • The AVFoundation downloads the HLS playlist from the content server and verifies the KEY tag.
  • The AVFoundation requests the content’s key from the client application (Delegate).
  • Delegate requests SPC - server playback context - data from AVFoundation.
  • Delegate sends the generated FPS SPC data to the key server.
  • Key server interprets the SPC data using the KSM module. Then, it retrieves the required key in order to support content playback from key DB.
  • Key server further sends the content key to the client application in the form of Content Key Context data.
  • The AVFoundation Delegate in the client application enters CKS data into AVFoundation.
  • AVFoundation finally decrypts the data and plays the content safely using the keys stored in the CKC data.

The content key transfer and playback is similar to the process discussed above in both MacOS as well as Safari. In the process discussed above, the Content Decryption Module and Encrypted Media Extension standards built into the Safari browser are utilized instead of the implementation in the client application.

Key features of Fairplay DRM

Here are some of the key features of Apple’s FairPlay DRM:

Hardware DRM support

MacOS, iOS, tvOS, and all client environments that perfectly support the FPS DRM are quite secure at the hardware level - so the safety is unmatched. Another DRM - like the Widevine DRM - can also be applied to the devices by using the Chrome browser for macOS. However, that is not advised because it doesn’t suit the premium content security since the hardware DRM is unavailable. FPS DRM is a necessity for content that can’t do without a high level of security - such as the early-window movies from Hollywood studios.  

Offline Playback

Download, and as a result, offline playback of FPS content are supported by Apple, starting iOS 10. The relevant APIs provided by the operating system are used to handle the downloading as well as managing of the HLS content with offline licenses completely securely.

Apple Airplay support

FPS DRM by default supports Apple’s wireless content delivery protocol - Airplay. The content can be played on Apple devices and OSs using Airplay, without any additional video encoding or decryption. Such content has the same level of security as the content would while being played on original devices such as iPhone.

Benefits of Fairplay DRM

Some of the salient benefits of Apple’s Fairplay DRM include:

  • Native to iOS, Apple TV, macOS, and watchOS.
  • Efficient in power consumption.
  • Complete integration with Apple AirPlay
  • Enterprise-level protection of your audio and video.
  • Use of sophisticated, established key systems already widely adopted across the industry.
  • Licensed with no cost via Apple Developer Program.

Fairplay DRM Compatibility with Browsers, Devices, and Video Content Formats

Here are two tables to give you a comprehensive overview of Fairplay DRM capabilities across browsers and devices:

Support across different HTML5 browsers

HTML5 browsers FairPlay Streaming
Chrome
WINDOWS, MACOS, ANDROID, CHROME OS, LINUX
✖️
Chrome
IOS/IPADOS 13.1+
Firefox
WINDOWS, MACOS, LINUX
✖️
Firefox
IOS 13.1+
Microsoft Edge
WINDOWS, MACOS, ANDROID
✖️
Microsoft Edge
WINDOWS
✖️
Microsoft Edge
IOS/IPADOS 13.1+
Safari
MACOS, IOS 11.2+, IPADOS
Opera
WINDOWS, MACOS
✖️
Opera
IOS/IPADOS 13.1+
Internet Explorer 11
WINDOWS 8.1+
✖️

Support across different mobile phones and tablets

Mobile phones & tablets FairPlay Streaming
Android (6+) ✖️
Android (4.4 – 5.1) ✖️
Android (3.1 – 4.3) ✖️
iOS/iPadOS
Huawei (EMUI & HarmonyOS) ✖️
Windows Phone ✖️

Conclusion

With that, we come to the end of our comprehensive guide on Apple’s Fairplay DRM. We hope you have received the required clarity in terms of what the different components and features of FairPlay DRM are. As time goes on, we will see more sophistication and updates in this (and other) DRMs, but only when you know how things work will you be able to decide whether or not it is relevant for your use case!

Subscribe to Latest Post

Don't miss out on latest article and more related posts.


Related Readings

Understanding Digital Video - Formats, Codecs, Containers

Understanding Digital Video - Formats, Codecs, Containers

This article will mainly discuss these three terms - Video formats, Video containers, and Video codecs. And how these terms are inter-connected.
Nitin Meena
Nitin Meena

29 Aug 2022 - 7 min read

LCP - What is Largest Contentful Paint?

LCP - What is Largest Contentful Paint?

Largest Contentful Paint is crucial in measuring page load performance. This blog aims to educate readers about LCP and related improvement measures.
Divyesh Patel
Divyesh Patel

9 Oct 2021 - 3 min read

How Page Speed and Image Optimization Affects Website SEO

How Page Speed and Image Optimization Affects Website SEO

Page speed and image optimization directly affect website SEO. Learn how Page Speed Affects SEO Rank and why images affect page speed. Discover the best practices to improve website page speed and how to optimize images for SEO.
Nitin Meena
Nitin Meena

8 Oct 2021 - 4 min read

Ready to get started?

Sign up and start optimizing your videos and images by up to 68% with Gumlet. No credit card is required. No credit card is required. You can also reach out to get a custom pricing estimate or to schedule a demo

Optimizing videos is hard, but
our pricing is not

Simple per-minute pricing with no hidden fees.
Pricing details

Effortlessly integrate Gumlet into your existing stack

Upload with API and set webhooks for output in minutes.
Integration guide