PlayReady: چیست، DRM از مایکروسافت و نسخه‌ها

نویسنده: IT Sectr منتشر شده: 2026-05-24 زمان مطالعه: 8 دقیقه

PlayReady یک فناوری DRM است که توسط مایکروسافت برای حفاظت از محتوا در Windows، Xbox و سایر پلتفرم‌های پشتیبانی‌کننده از محیط اجرایی جهانی UWP توسعه یافته است. این سیستم از مدل امنیتی سه سطحی SL (Security Level) از SL150 تا SL3000 استفاده می‌کند، که در آن بالاترین سطح نیاز به رمزگذاری سخت‌افزاری از طریق TPM دارد. طبق مستندات Microsoft Docs (2025)، PlayReady 4.0 از رمزگذاری 4K HDR و تحلیل‌های پیشرفته استفاده از محتوا پشتیبانی می‌کند.

نکات اصلی

  • PlayReady — راه‌حل DRM مایکروسافت با مدل امنیتی سه سطحی SL150، SL2000، SL3000.
  • نسخه 4.0 از 4K HDR، رمزگذاری سخت‌افزاری از طریق TPM و تله‌متری پیشرفته پشتیبانی می‌کند.
  • مجوزدهی PlayReady از طریق سیاست‌ها کار می‌کند: زمان، کیفیت، تعداد دستگاه‌ها، خروجی صفحه.
  • چندپلتفرمی امکان استفاده از PlayReady در Windows، Xbox، Android، iOS و Smart TV را فراهم می‌کند.
  • PlayReady NMCR (Non-Media Content Receiver) از داده‌های غیررسانه‌ای از جمله اسناد و بازی‌ها محافظت می‌کند.

PlayReady چیست؟

PlayReady یک فناوری مدیریت حقوق دیجیتال (DRM) است که توسط مایکروسافت در سال 2007 برای حفاظت از محتوای رسانه‌ای و سایر دارایی‌های دیجیتال توسعه یافته است. این فناوری جایگزین WMDRM (Windows Media DRM) شد و به استاندارد حفاظت برای Windows Media Center، Xbox Video و Microsoft Silverlight تبدیل گردید.

مزیت اصلی PlayReady — سیستم مجوزدهی یکپارچه برای انواع مختلف محتوا: ویدئو، صدا، کتاب‌های الکترونیکی، بازی‌ها و اسناد است. این فناوری از مدل‌های توزیع اشتراک (Subscription)، اجاره (Rental) و خرید (Purchase) پشتیبانی می‌کند که آن را برای سرویس‌های رسانه‌ای و پلتفرم‌های آموزشی جذاب می‌سازد.

معماری PlayReady

معماری PlayReady از سه جزء کلیدی تشکیل شده است: محیط اجرایی مشتری PlayReady Device Porting Kit، سرور مجوز PlayReady License Server و ابزار بسته‌بندی محتوا. محیط اجرایی PlayReady در برنامه یا پخش‌کننده تعبیه می‌شود و مسئول رمزگشایی محتوا در دستگاه است.

سرور مجوز کلیدهای مجوز را بر اساس سیاست‌های تعیین شده توسط ارائه‌دهنده محتوا تولید می‌کند. بسته‌بند محتوا فایل‌های رسانه‌ای را با استفاده از استاندارد Common Encryption (CENC) رمزگذاری می‌کند و فراداده‌هایی برای ارتباط با مجوز خاص تعبیه می‌نماید.

PlayReady DRM چگونه کار می‌کند؟

فرآیند حفاظت PlayReady از مرحله بسته‌بندی آغاز می‌شود، هنگامی که محتوای رسانه‌ای با یک کلید متقارن رمزگذاری می‌شود که سپس با کلید عمومی سرور مجوز محافظت می‌گردد. محتوای بسته‌بندی شده در CDN قرار می‌گیرد و برای دانلود یا پخش جریانی در دسترس است.

وقتی کاربر محتوای محافظت‌شده را درخواست می‌کند، پخش‌کننده یک درخواست مجوز به سرور مجوز ارسال می‌کند. سرور اعتبار کاربر، حقوق دسترسی او (اشتراک، اجاره، خرید) را بررسی کرده و مجوزی حاوی کلید رمزگشایی صادر می‌کند.

پروتکل تبادل مجوز

PlayReady از پروتکل تبادل مبتنی بر SOAP یا JSON استفاده می‌کند، که در آن درخواست مجوز شامل شناسه محتوا (Content ID)، شناسه دستگاه و امضای برنامه است. سرور مجوز را در قالب XML، رمزگذاری‌شده با کلید عمومی دستگاه بازمی‌گرداند.

مجوز حاوی کلید محتوا (CEK) پیچیده‌شده در کلید دستگاه (Device Key) و مجموعه‌ای از سیاست‌ها است. سیاست‌ها می‌توانند زمان پخش، کیفیت ویدئو، تعداد دستگاه‌ها و نوع خروجی (HDMI، کامپوزیت) را محدود کنند.

راه‌اندازی جلسه 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);

نسخه‌های PlayReady: 3.0 و 4.0

PlayReady 3.0، منتشر شده در سال 2014، پشتیبانی از رمزگذاری سخت‌افزاری از طریق TPM 2.0 و سطح امنیتی SL3000 برای محتوای 4K را معرفی کرد. این نسخه امکان پیوند مجوز به دستگاه خاص را از طریق مکانیزم Device Binding اضافه کرد که از انتقال مجوزها بین دستگاه‌ها جلوگیری می‌نمود.

PlayReady 4.0، اعلام شده در سال 2020، عملکرد را با سه نوآوری کلیدی گسترش داد: پشتیبانی از تله‌متری پیشرفته استفاده از محتوا، تحلیل‌های بهبودیافته برای ارائه‌دهندگان محتوا و بهینه‌سازی مصرف انرژی در دستگاه‌های موبایل.

مقایسه نسخه‌های PlayReady

نسخهسالقابلیت‌های کلیدیبیشترین SL
PlayReady 2.02011رمزگذاری نرم‌افزاری، تا 1080pSL2000
PlayReady 3.02014رمزگذاری سخت‌افزاری، 4K، Device BindingSL3000
PlayReady 4.02020تله‌متری، بهره‌وری انرژی، HDRSL3000

سطح‌های امنیتی PlayReady

سطح‌های امنیتی PlayReady نحوه انجام عملیات رمزنگاری و حداکثر وضوح محتوا را تعیین می‌کنند. SL150 یک پیاده‌سازی کاملاً نرم‌افزاری است، SL2000 نیاز به پشتیبانی سخت‌افزاری جزئی دارد، SL3000 رمزگذاری سخت‌افزاری کامل با TPM است.

دستگاه‌های با SL3000 می‌توانند محتوا را در 4K HDR پخش کنند، و کلیدهای رمزگشایی هرگز منطقه حفاظت‌شده TPM را ترک نمی‌کنند. SL2000 به 1080p محدود است، SL150 به 720p محدود است و فقط برای مرورگرهای رومیزی بدون حفاظت سخت‌افزاری مناسب است.

مجوزدهی و سیاست‌های PlayReady

سیستم مجوزدهی PlayReady یکی از انعطاف‌پذیرترین سیستم‌ها در میان راه‌حل‌های DRM است. این سیستم از مدل‌های مختلف توزیع پشتیبانی می‌کند: اجاره با انقضای زمانی، فروش با دسترسی نامحدود، اشتراک با به‌روزرسانی منظم کلیدها و پیش‌نمایش با مدت محدود.

هر مجوز حاوی مجموعه‌ای از سیاست‌ها است که سرور مجوز به کلید محتوا اعمال می‌کند. سیاست‌ها می‌توانند شامل: حداکثر وضوح ویدئو، نوع خروجی محافظت‌شده (HDCP برای 4K اجباری است)، تعداد فعال‌سازی‌ها، محدودیت‌های زمانی (مطلق و نسبی) باشند.

انواع سیاست‌های PlayReady

  • Time-based — محدودیت زمانی: تاریخ انقضای مطلق یا دوره نسبی از اولین پخش.
  • Output protection — محدودیت نوع خروجی ویدئو: HDCP اجباری برای خروجی‌های دیجیتال، ممنوعیت خروجی آنالوگ.
  • Resolution constraint — حداکثر وضوح: 720p، 1080p، 4K بسته به سطح امنیتی دستگاه.
  • Device count — حداکثر تعداد دستگاه‌هایی که یک مجوز می‌تواند روی آنها فعال شود.

مثال پردازش مجوز

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());
    }
}

یکپارچه‌سازی PlayReady در پلتفرم‌های مختلف

PlayReady پشتیبانی می‌شود در طیف گسترده‌ای از پلتفرم‌ها، از جمله Windows (UWP، Win32)، Xbox، Android (از طریق PlayReady Porting Kit)، iOS (محدود) و Smart TV (Samsung Tizen، LG webOS). برای هر پلتفرم پیاده‌سازی خاص خود از محیط اجرایی و API وجود دارد.

در Windows یکپارچه‌سازی از طریق MediaProtectionManager و PlayReady API در فضای نام Windows.Media.Protection.PlayReady انجام می‌شود. در Android از PlayReady Porting Kit استفاده می‌شود که از طریق NDK در برنامه تعبیه می‌شود و لفافه‌های Java برای کار با DRM ارائه می‌دهد.

یکپارچه‌سازی در Windows (UWP)

در محیط UWP، برنامه یک نمونه MediaProtectionManager ایجاد می‌کند، PlayReady را به عنوان سیستم حفاظت ثبت می‌کند و کنترل‌کننده‌های رویداد مجوزدهی را پیکربندی می‌نماید. پخش‌کننده MediaPlayerElement به طور خودکار جریان‌های محافظت‌شده را پردازش می‌کند اگر MediaProtectionManager به درستی پیکربندی شده باشد.

سرور مجوز PlayReady می‌تواند هم در زیرساخت Azure و هم در سرورهای اختصاصی مستقر شود. مایکروسافت راه‌حل‌های آماده PlayReady License Server را در ترکیب Azure Media Services ارائه می‌دهد که یکپارچه‌سازی را برای پروژه‌های ابری ساده‌تر می‌کند.

یکپارچه‌سازی در Android

در Android، PlayReady از طریق کتابخانه NDK libplayready.so یکپارچه می‌شود که API در C++ ارائه می‌دهد، در کلاس‌های Java پیچیده شده است. ExoPlayer از PlayReady مانند Widevine، از طریق MediaDrm API استاندارد با UUID PlayReady پشتیبانی می‌کند.

UUID PlayReady برای MediaDrm — 9a22f0a1-9e6c-4f2d-bc8e-4d8d5a2c3f1e. در راه‌اندازی ExoPlayer با PlayReady، پیکربندی مشابه Widevine است: URL سرور مجوز، هدرهای احراز هویت و نوع DRM مشخص می‌شود.

برای کار صحیح PlayReady در Android، وجود محیط اجرایی PlayReady نصب‌شده ضروری است که معمولاً در دستگاه‌های Samsung، LG و سایر برندهای استفاده‌کننده از PlayReady Porting Kit از پیش نصب شده است. در دستگاه‌های بدون محیط اجرایی از پیش نصب‌شده، برنامه باید کتابخانه libplayready.so را در APK شامل کند.

یکپارچه‌سازی در Smart TV

PlayReady DRM غالب در پلتفرم‌های Smart TV از جمله Samsung Tizen و LG webOS است. در این پلتفرم‌ها محیط اجرایی داخلی PlayReady حفاظت سخت‌افزاری را در سطح چیپست تلویزیون فراهم می‌کند که امکان پخش محتوا در 4K HDR بدون تنظیمات اضافی را می‌دهد.

یکپارچه‌سازی در Smart TV از طریق PlayReady Device Porting Kit برای SoC خاص (MediaTek، Realtek، Amlogic) انجام می‌شود. تولیدکنندگان تلویزیون محیط اجرایی PlayReady را در مرحله سیستم‌عامل از پیش نصب می‌کنند و برنامه‌ها آن را از طریق EME API استاندارد در پخش‌کننده وب یا برنامه بومی راه‌اندازی می‌کنند.

برای ارائه‌دهندگان محتوا مهم است که در نظر بگیرند همه Smart TVها از بالاترین سطح SL3000 پشتیبانی نمی‌کنند — مدل‌های قدیمی‌تر ممکن است به SL2000 و کیفیت 1080p محدود شوند. سازگاری با HDCP نیز برای خروجی محتوا در 4K از طریق HDMI الزامی است.

امنیت و تله‌متری در PlayReady 4.0

PlayReady 4.0 تله‌متری پیشرفته‌ای را معرفی کرد که به ارائه‌دهندگان محتوا امکان می‌دهد اطلاعات دقیقی درباره استفاده از محتوا به دست آورند: زمان تماشا، تلاش‌های دسترسی غیرمجاز، نوع دستگاه، نسخه محیط اجرایی. داده‌های تله‌متری از طریق کانال محافظت‌شده جمع‌آوری می‌شوند و با امضای دیجیتال برای جلوگیری از جعل امضا می‌شوند.

مکانیسم ابطال (revocation) در PlayReady 4.0 به ارائه‌دهندگان محتوا امکان می‌دهد دستگاه‌ها یا نسخه‌های محیط اجرایی به خطر افتاده را در زمان واقعی مسدود کنند. فهرست ابطال از طریق سرور مجوز توزیع می‌شود و با هر درخواست مجوز به طور خودکار به‌روز می‌شود که واکنش سریع به آسیب‌پذیری‌ها را تضمین می‌کند.

سوالات متداول

PlayReady DRM چیست؟

PlayReady — راه‌حل DRM مایکروسافت برای حفاظت از محتوای دیجیتال. این فناوری از رمزگذاری سخت‌افزاری و نرم‌افزاری، سیاست‌های مجوزدهی انعطاف‌پذیر پشتیبانی می‌کند و در Windows، Xbox، Android و Smart TV کار می‌کند.

چه نسخه‌هایی از PlayReady وجود دارد؟

نسخه‌های اصلی PlayReady: 3.0 (2014) با رمزگذاری سخت‌افزاری و پشتیبانی از 4K، 4.0 (2020) با تله‌متری و بهره‌وری انرژی. نسخه‌های جدیدتر با محتوای بسته‌بندی‌شده برای نسخه‌های قبلی سازگار هستند.

تفاوت بین SL150، SL2000 و SL3000 چیست؟

SL150 — رمزگذاری نرم‌افزاری (720p)، SL2000 — نیمه سخت‌افزاری (1080p)، SL3000 — رمزگذاری سخت‌افزاری کامل از طریق TPM (4K HDR). سطح امنیتی حداکثر کیفیت و روش ذخیره‌سازی کلیدها را تعیین می‌کند.

آیا می‌توان از PlayReady در iOS استفاده کرد؟

بله، PlayReady در iOS پشتیبانی می‌شود، اما محدود — از طریق PlayReady Porting Kit برای iOS. با این حال، در دستگاه‌های Apple، DRM ترجیحی FairPlay باقی می‌ماند زیرا به طور کامل در معماری سخت‌افزاری Secure Enclave یکپارچه شده است.

PlayReady چه تفاوتی با Widevine دارد؟

PlayReady از مایکروسافت از Windows و Xbox پشتیبانی می‌کند، از TPM برای رمزگذاری سخت‌افزاری استفاده می‌کند و تله‌متری پیشرفته ارائه می‌دهد. Widevine از Google برای Android و Chrome طراحی شده است، از TEE استفاده می‌کند و برای توسعه‌دهندگان نیاز به مجوز پولی ندارد.

خلاصه

  • PlayReady — DRM از مایکروسافت با پشتیبانی از Windows، Xbox، Android، iOS و Smart TV از طریق Porting Kit.
  • سه سطح امنیتی SL150، SL2000، SL3000 حداکثر کیفیت و نوع رمزگذاری را تعیین می‌کنند.
  • نسخه 4.0 تله‌متری، تحلیل پیشرفته و پشتیبانی از HDR را برای ارائه‌دهندگان محتوا اضافه کرد.
  • سیاست‌های مجوزدهی شامل محدودیت‌های زمانی، حفاظت از خروجی، محدودیت کیفیت و تعداد دستگاه‌ها هستند.
  • یکپارچه‌سازی در Windows از طریق MediaProtectionManager UWP، در Android از طریق NDK و ExoPlayer انجام می‌شود.
  • PlayReady Server SDK در Azure Media Services و برای استقرار محلی در دسترس است.
  • NMCR کاربرد PlayReady را برای حفاظت از داده‌های غیررسانه‌ای گسترش می‌دهد: اسناد، بازی‌ها و برنامه‌ها.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید