PlayReady: nó là gì, DRM từ Microsoft và các phiên bản

Tác giả: IT Sectr Đã đăng: 2026-05-24 Thời gian đọc: 8 phút

PlayReady là công nghệ DRM do Microsoft phát triển để bảo vệ nội dung trên Windows, Xbox và các nền tảng khác hỗ trợ môi trường chạy phổ quát UWP. Hệ thống sử dụng mô hình bảo mật ba cấp SL (Security Level) từ SL150 đến SL3000, trong đó cấp cao nhất yêu cầu mã hóa phần cứng qua TPM. Theo tài liệu Microsoft Docs (2025), PlayReady 4.0 hỗ trợ mã hóa 4K HDR và phân tích nâng cao về sử dụng nội dung.

Những điểm chính

  • PlayReady là giải pháp DRM của Microsoft với mô hình bảo mật ba cấp SL150, SL2000, SL3000.
  • Phiên bản 4.0 hỗ trợ 4K HDR, mã hóa phần cứng qua TPM và đo xa nâng cao.
  • Cấp phép PlayReady hoạt động thông qua các chính sách: thời gian, chất lượng, số lượng thiết bị, bảo vệ đầu ra.
  • Đa nền tảng cho phép sử dụng PlayReady trên Windows, Xbox, Android, iOS và Smart TV.
  • PlayReady NMCR (Non-Media Content Receiver) bảo vệ dữ liệu phi phương tiện, bao gồm tài liệu và trò chơi.

PlayReady là gì?

PlayReady là công nghệ quản lý quyền kỹ thuật số (DRM) do Microsoft phát triển vào năm 2007 để bảo vệ nội dung truyền thông và các tài sản kỹ thuật số khác. Nó đã thay thế WMDRM (Windows Media DRM) và trở thành tiêu chuẩn bảo vệ cho Windows Media Center, Xbox Video và Microsoft Silverlight.

Ưu điểm chính của PlayReady là hệ thống cấp phép thống nhất cho nhiều loại nội dung khác nhau: video, âm thanh, sách điện tử, trò chơi và tài liệu. Công nghệ này hỗ trợ các mô hình phân phối đăng ký (Subscription), thuê (Rental) và mua (Purchase), khiến nó trở nên hấp dẫn cho các dịch vụ truyền thông và nền tảng giáo dục.

Kiến trúc PlayReady

Kiến trúc PlayReady bao gồm ba thành phần chính: trình chạy khách PlayReady Device Porting Kit, máy chủ cấp phép PlayReady License Server và trình đóng gói nội dung. Trình chạy PlayReady được nhúng vào ứng dụng hoặc trình phát và xử lý việc giải mã nội dung trên thiết bị.

Máy chủ cấp phép tạo ra khóa cấp phép dựa trên các chính sách do nhà cung cấp nội dung đặt ra. Trình đóng gói nội dung mã hóa tập tin phương tiện bằng tiêu chuẩn Common Encryption (CENC) và nhúng siêu dữ liệu để liên kết với một giấy phép cụ thể.

PlayReady DRM hoạt động như thế nào?

Quá trình bảo vệ PlayReady bắt đầu ở giai đoạn đóng gói, khi nội dung phương tiện được mã hóa bằng khóa đối xứng, sau đó được bảo vệ bởi khóa công khai của máy chủ cấp phép. Nội dung đã đóng gói được đặt trên CDN và có sẵn để tải xuống hoặc phát trực tuyến.

Khi người dùng yêu cầu nội dung được bảo vệ, trình phát sẽ khởi tạo yêu cầu cấp phép đến máy chủ cấp phép. Máy chủ kiểm tra thông tin xác thực của người dùng, quyền truy cập của họ (đăng ký, thuê, mua) và cấp giấy phép chứa khóa giải mã.

Giao thức trao đổi giấy phép

PlayReady sử dụng giao thức trao đổi dựa trên SOAP hoặc JSON, trong đó yêu cầu cấp phép bao gồm ID nội dung (Content ID), mã nhận dạng thiết bị và chữ ký ứng dụng. Máy chủ trả về giấy phép ở định dạng XML, được mã hóa bằng khóa công khai của thiết bị.

Giấy phép chứa khóa mã hóa nội dung (CEK), được bọc trong khóa thiết bị (Device Key), và một tập hợp các chính sách. Các chính sách có thể giới hạn thời gian phát, chất lượng video, số lượng thiết bị và loại đầu ra (HDMI, composite).

Khởi tạo phiên PlayReady

csharp
var mediaProtectionManager = new MediaProtectionManager();
var properties = new PropertySet();
properties["Windows.Media.Protection.MediaProtectionSystemId"] =
    "9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e";

mediaProtectionManager.SetProtectionScheme(
    MediaProtectionSystemType.PlayReady,
    properties
);

var mediaSource = MediaSource.CreateFromUri(
    new Uri(contentUrl)
);
mediaPlayer.Play(mediaSource);

Các phiên bản PlayReady: 3.0 và 4.0

PlayReady 3.0, phát hành năm 2014, đã giới thiệu hỗ trợ mã hóa phần cứng qua TPM 2.0 và mức bảo mật SL3000 cho nội dung 4K. Phiên bản này đã thêm khả năng liên kết giấy phép với một thiết bị cụ thể thông qua cơ chế Device Binding, ngăn chặn việc chuyển giấy phép giữa các thiết bị.

PlayReady 4.0, được công bố vào năm 2020, đã mở rộng chức năng với ba cải tiến chính: hỗ trợ đo xa nâng cao về sử dụng nội dung, phân tích cải thiện cho nhà cung cấp nội dung và tối ưu hóa mức tiêu thụ điện năng trên thiết bị di động.

So sánh các phiên bản PlayReady

Phiên bảnNămTính năng chínhSL tối đa
PlayReady 2.02011Mã hóa phần mềm, lên đến 1080pSL2000
PlayReady 3.02014Mã hóa phần cứng, 4K, Device BindingSL3000
PlayReady 4.02020Đo xa, hiệu quả năng lượng, HDRSL3000

Các mức bảo mật PlayReady

Các mức bảo mật PlayReady xác định cách thức thực hiện các thao tác mật mã và độ phân giải nội dung tối đa. SL150 là triển khai hoàn toàn bằng phần mềm, SL2000 yêu cầu hỗ trợ phần cứng một phần, SL3000 là mã hóa phần cứng hoàn toàn với TPM.

Thiết bị có SL3000 có thể phát nội dung 4K HDR và các khóa giải mã không bao giờ rời khỏi khu vực TPM được bảo vệ. SL2000 bị giới hạn ở 1080p, SL150 bị giới hạn ở 720p và chỉ phù hợp với trình duyệt máy tính để bàn không có bảo vệ phần cứng.

Cấp phép và chính sách PlayReady

Hệ thống cấp phép PlayReady là một trong những hệ thống linh hoạt nhất trong các giải pháp DRM. Nó hỗ trợ nhiều mô hình phân phối khác nhau: thuê với thời hạn hết hạn, mua với quyền truy cập vĩnh viễn, đăng ký với cập nhật khóa định kỳ và xem trước với thời lượng giới hạn.

Mỗi giấy phép chứa một tập hợp các chính sách mà máy chủ cấp phép áp dụng cho khóa nội dung. Các chính sách có thể bao gồm: độ phân giải video tối đa, loại đầu ra được bảo vệ (HDCP bắt buộc cho 4K), số lần kích hoạt, giới hạn thời gian (tuyệt đối và tương đối).

Các loại chính sách PlayReady

  • Time-based — giới hạn thời gian: ngày hết hạn tuyệt đối hoặc khoảng thời gian tương đối kể từ lần phát đầu tiên.
  • Output protection — giới hạn loại đầu ra video: HDCP bắt buộc cho đầu ra kỹ thuật số, cấm đầu ra tương tự.
  • Resolution constraint — độ phân giải tối đa: 720p, 1080p, 4K tùy theo mức bảo mật của thiết bị.
  • Device count — số lượng thiết bị tối đa mà một giấy phép có thể được kích hoạt.

Ví dụ xử lý giấy phép

csharp
public async Task AcquireLicenseAsync(MediaProtectionManager manager)
{
    var serviceRequest = new PlayReadyLicenseAcquisitionServiceRequest
    {
        ContentHeader = new PlayReadyContentHeader(
            contentKeyId,
            contentUrl,
            licenseServerUrl,
            null
        ),
        DomainServiceId = domainId
    };

    var result = await serviceRequest.BeginServiceRequest();
    if (result == PlayReadyLicenseAcquisitionResult.Success)
    {
        HandleLicenseAcquired(serviceRequest.GetLicenses());
    }
}

Tích hợp PlayReady trên các nền tảng khác nhau

PlayReady được hỗ trợ trên nhiều nền tảng, bao gồm Windows (UWP, Win32), Xbox, Android (qua PlayReady Porting Kit), iOS (có giới hạn) và Smart TV (Samsung Tizen, LG webOS). Mỗi nền tảng có trình chạy và triển khai API riêng.

Trên Windows, việc tích hợp được thực hiện thông qua MediaProtectionManager và API PlayReady trong không gian tên Windows.Media.Protection.PlayReady. Trên Android, PlayReady Porting Kit được sử dụng, được nhúng vào ứng dụng qua NDK và cung cấp các lớp bọc Java để làm việc với DRM.

Tích hợp trên Windows (UWP)

Trong môi trường UWP, ứng dụng tạo một thể hiện của MediaProtectionManager, đăng ký PlayReady là hệ thống bảo vệ và cấu hình các trình xử lý sự kiện cấp phép. Trình phát MediaPlayerElement tự động xử lý các luồng được bảo vệ nếu MediaProtectionManager được cấu hình đúng cách.

Máy chủ cấp phép PlayReady có thể được triển khai trên cả cơ sở hạ tầng Azure và máy chủ riêng. Microsoft cung cấp các giải pháp PlayReady License Server có sẵn trong Azure Media Services, đơn giản hóa việc tích hợp cho các dự án đám mây.

Tích hợp trên Android

Trên Android, PlayReady được tích hợp thông qua thư viện NDK libplayready.so, cung cấp API C++ được bọc trong các lớp Java. ExoPlayer hỗ trợ PlayReady giống như Widevine thông qua API MediaDrm tiêu chuẩn với UUID PlayReady.

UUID PlayReady cho MediaDrm là — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. Khi khởi tạo ExoPlayer với PlayReady, cấu hình tương tự như Widevine: URL máy chủ cấp phép, tiêu đề xác thực và loại DRM được chỉ định.

Để PlayReady hoạt động chính xác trên Android, cần có trình chạy PlayReady được cài đặt, thường được cài đặt sẵn trên các thiết bị Samsung, LG và các thương hiệu khác sử dụng PlayReady Porting Kit. Trên các thiết bị không có trình chạy được cài đặt sẵn, ứng dụng phải bao gồm thư viện libplayready.so trong APK.

Tích hợp trên Smart TV

PlayReady là DRM thống trị trên các nền tảng Smart TV, bao gồm Samsung Tizen và LG webOS. Trên các nền tảng này, trình chạy tích hợp sẵn PlayReady cung cấp bảo vệ phần cứng ở cấp độ chipset TV, cho phép phát nội dung 4K HDR mà không cần cấu hình thêm.

Việc tích hợp trên Smart TV được thực hiện thông qua PlayReady Device Porting Kit cho một SoC cụ thể (MediaTek, Realtek, Amlogic). Các nhà sản xuất TV cài đặt sẵn trình chạy PlayReady ở giai đoạn phần mềm cơ sở và các ứng dụng khởi chạy nó thông qua API EME tiêu chuẩn trong trình phát web hoặc ứng dụng gốc.

Đối với các nhà cung cấp nội dung, điều quan trọng cần lưu ý là không phải tất cả Smart TV đều hỗ trợ mức SL3000 cao nhất — các mô hình cũ hơn có thể bị giới hạn ở SL2000 và chất lượng 1080p. Khả năng tương thích HDCP cũng bắt buộc đối với đầu ra nội dung 4K qua HDMI.

Bảo mật và đo xa trong PlayReady 4.0

PlayReady 4.0 đã giới thiệu tính năng đo xa nâng cao cho phép các nhà cung cấp nội dung nhận được thông tin chi tiết về việc sử dụng nội dung: thời gian xem, các nỗ lực truy cập trái phép, loại thiết bị, phiên bản trình chạy. Dữ liệu đo xa được thu thập qua kênh bảo mật và được ký số để ngăn chặn giả mạo.

Cơ chế thu hồi (revocation) trong PlayReady 4.0 cho phép các nhà cung cấp nội dung chặn các thiết bị bị xâm phạm hoặc phiên bản trình chạy trong thời gian thực. Danh sách thu hồi được phân phối qua máy chủ cấp phép và tự động cập nhật sau mỗi yêu cầu cấp phép, đảm bảo phản ứng nhanh chóng với các lỗ hổng bảo mật.

Câu hỏi thường gặp

PlayReady DRM là gì?

PlayReady là giải pháp DRM của Microsoft để bảo vệ nội dung kỹ thuật số. Công nghệ này hỗ trợ mã hóa phần cứng và phần mềm, các chính sách cấp phép linh hoạt và hoạt động trên Windows, Xbox, Android và Smart TV.

Những phiên bản PlayReady nào tồn tại?

Các phiên bản chính của PlayReady: 3.0 (2014) với mã hóa phần cứng và hỗ trợ 4K, 4.0 (2020) với đo xa và hiệu quả năng lượng. Các phiên bản mới hơn tương thích ngược với nội dung được đóng gói cho các phiên bản trước.

Sự khác biệt giữa SL150, SL2000 và SL3000 là gì?

SL150 — mã hóa phần mềm (720p), SL2000 — một phần phần cứng (1080p), SL3000 — mã hóa phần cứng hoàn toàn qua TPM (4K HDR). Mức bảo mật xác định chất lượng tối đa và phương pháp lưu trữ khóa.

Có thể sử dụng PlayReady trên iOS không?

Có, PlayReady được hỗ trợ trên iOS, nhưng có giới hạn — thông qua PlayReady Porting Kit cho iOS. Tuy nhiên, trên thiết bị Apple, FairPlay vẫn là DRM ưu tiên vì nó được tích hợp hoàn toàn vào kiến trúc phần cứng Secure Enclave.

PlayReady khác gì so với Widevine?

PlayReady của Microsoft hỗ trợ Windows và Xbox, sử dụng TPM để mã hóa phần cứng và cung cấp đo xa nâng cao. Widevine của Google hướng đến Android và Chrome, sử dụng TEE và không yêu cầu giấy phép trả phí cho nhà phát triển.

Tổng kết

  • PlayReady — DRM của Microsoft hỗ trợ Windows, Xbox, Android, iOS và Smart TV qua Porting Kit.
  • Ba mức bảo mật SL150, SL2000, SL3000 xác định chất lượng tối đa và loại mã hóa.
  • Phiên bản 4.0 đã thêm đo xa, phân tích nâng cao và hỗ trợ HDR cho nhà cung cấp nội dung.
  • Chính sách cấp phép bao gồm giới hạn thời gian, bảo vệ đầu ra, giới hạn chất lượng và số lượng thiết bị.
  • Tích hợp trên Windows qua MediaProtectionManager UWP, trên Android qua NDK và ExoPlayer.
  • PlayReady Server SDK có sẵn trong Azure Media Services và để triển khai cục bộ.
  • NMCR mở rộng PlayReady để bảo vệ dữ liệu phi phương tiện: tài liệu, trò chơi và ứng dụng.

Chúng tôi sẽ phát triển ứng dụng di động chìa khóa trao tay

IT Sectr tạo các ứng dụng iOS và Android cho các công ty khởi nghiệp và doanh nghiệp từ năm 2017. Chúng tôi sẽ tư vấn và đề xuất giải pháp tốt nhất cho bạn.

Thảo luận dự án

Đọc thêm