FairPlay — ما هو، نظام DRM من Apple ومبادئ العمل

المؤلف: IT Sectr نُشر: 2026-05-24 وقت القراءة: 8 دق

FairPlay هي تقنية DRM ملكية طورتها Apple لحماية محتوى الفيديو في بيئة iOS، tvOS و macOS. يستخدم النظام Secure Enclave والتشفير عبر المعالج لتخزين المفاتيح بأمان، مما يسمح لخدمات البث بتقديم المحتوى بجودة 4K HDR. وفقًا لوثائق Apple Developer (2025)، فإن FairPlay Streaming مدعومة على جميع أجهزة Apple بمعالج A8 وأحدث.

النقاط الرئيسية

  • FairPlay — حل DRM من Apple لحماية الفيديو في تطبيقات iOS، tvOS و macOS.
  • Secure Enclave يوفر تخزينًا عبر المعالج لمفاتيح فك التشفير على مستوى الرقاقة.
  • FairPlay Streaming (FPS) — بروتوكول لحماية تيارات HLS في الوقت الحقيقي.
  • SCM (Server Certificate Module) — وحدة التحقق من صحة خادم التراخيص.
  • الدمج يتطلب التسجيل في برنامج Apple Developer والحصول على شهادة FPS.

ما هو FairPlay؟

FairPlay هي تقنية DRM أنشأتها Apple وأدرجتها في أنظمة التشغيل iOS، tvOS، iPadOS و macOS لحماية محتوى الصوت والفيديو من الاستخدام غير المصرح به. طورت في الأصل لـ iTunes و iPod، وتطورت إلى نظام كامل لحماية محتوى البث من خلال بروتوكول FairPlay Streaming.

على عكس حلول DRM الأخرى، FairPlay مدمجة بالكامل في البنية المعدنية لأجهزة Apple. تتم تخزين مفاتيح فك التشفير في Secure Enclave — معالج مساعد محمي معزول عن نظام التشغيل الرئيسي، مما يجعل استخراج المفاتيح مستحيلًا تقريبًا حتى مع وجود جيلبريك.

تطور FairPlay

بدأت قصة FairPlay عام 2003 مع متجر iTunes Store، حيث تم استخدام تشفير ملفات AAC بتنسيق M4P الملكي. في عام 2009، قدمت Apple FairPlay Streaming — بروتوكول حماية فيديو البث المباشر القائم على HLS، الذي أصبح لاحقًا إجباريًا لأجهزة Apple TV وتطبيقات iOS.

ابتداءً من iOS 10 و tvOS 10، فتحت Apple إمكانية FairPlay Streaming للمطورين الخارجيين عبر إطار AVFoundation. اليوم، تستخدم Netflix، Amazon Prime Video و Disney+ FairPlay لحماية المحتوى على أجهزة Apple بدقة تصوير 4K HDR مع Dolby Vision.

كيف يعمل FairPlay DRM؟

عمل FairPlay يستند إلى عملية من ثلاث مراحل: تغليف المحتوى، التوزيع عبر CDN وفك التشفير على الجهاز. في مرحلة التغليف، يتم تشفير الفيديو باستخدام AES-128 أو AES-256، وترتبط مفاتيح التشفير بجهاز محدد عبر آلية Key Envelope.

عند طلب المحتوى، يبدأ مشغل الوسائط جلسة FairPlay من خلال AVContentKeySession، الذي يرسل طلبًا إلى خادم التراخيص لموزِّع المحتوى. يتحقق الخادم من حقوق الوصول ويعيد مفتاح فك التشفير مشفرًا بالمفتاح العام لشهادة الجهاز.

عملية الحصول على الترخيص

يقوم العميل بإنشاء مثال من AVContentKeySession وإضافة مسار المحتوى إليه. يقوم النظام بتكوين طلب SPC (Server Playback Context)، الذي يحتوي على معرِّف الجهاز وشهادة التطبيق الموقعة من Apple. يتم إرسال هذا الطلب إلى خادم التراخيص عبر HTTPS.

يتحقق خادم التراخيص من صحة SPC، يستخرج مفتاح المحتوى من قاعدة بياناته ويشفره بالمفتاح العام للجهاز، مشكِّلًا CKC (Content Key Context). تعاد CKC إلى العميل، حيث يقوم AVContentKeySession بفك تشفيرها باستخدام المفتاح الخاص لـ Secure Enclave.

مخطط عمل FairPlay Streaming

swift
let contentKeySession = AVContentKeySession(keySystem: .fairPlayStreaming)
contentKeySession.setDelegate(self, queue: .main)

let asset = AVURLAsset(url: streamURL)
asset.resourceLoader.setDelegate(self, queue: .main)
contentKeySession.addContentKeyRecipient(asset)

let playerItem = AVPlayerItem(asset: asset)
let player = AVPlayer(playerItem: playerItem)

المكونات الرئيسية لـ FairPlay

بنية FairPlay تضم عدة مكونات مترابطة: شهادة التطبيق، Key Envelope، Secure Enclave ووحدة فك تشفير المحتوى. يؤدي كل مكون دوره في سلسلة الحماية من الخادم إلى شاشة المستخدم.

المكونالوظيفةأين يتم التنفيذ
شهادة التطبيقتحديد هوية التطبيق لخادم التراخيصتخزن في حزمة التطبيق
SPCServer Playback Context — طلب الترخيصيتم تكوينه بواسطة AVContentKeySession
CKCContent Key Context — استجابة بالمفتاحيتم معالجته بواسطة Secure Enclave
Secure Enclaveتخزين وفك تشفير المفاتيح عبر المعالجمعالج مساعد مادي على SoC
Key Envelopeحاوية المفتاح ببيانات الترخيص الوصفيةيتم تكوينه بواسطة خادم التراخيص

شهادة تطبيق FairPlay

للعمل مع FairPlay، يجب على المطور الحصول على شهادة FPS من Apple عبر برنامج Apple Developer. تشمل الشهادة المفتاح العام لزوج غير متماثل، يستخدم Secure Enclave الجزء الخاص منه لفك تشفير CKC.

تضاف شهادة التطبيق إلى حزمة المشروع وتوقع تلقائيًا عند البناء من خلال Xcode. عند أول تشغيل لمحتوى محمي، يتحقق النظام من صلاحية الشهادة ويطلب ترخيصًا.

Secure Enclave والحماية عبر المعالج

Secure Enclave هو معالج مساعد مخصص على رقاقات Apple من سلسلة A و M، يعمل على نظام تشغيل L4 معزول. هو مسؤول عن توليد وتخزين المفاتيح الخاصة، فك تشفير CKC ونقل مفتاح المحتوى إلى وحدة فك تشفير الفيديو.

تتم جميع العمليات التشفيرية حصريًا داخل Secure Enclave، ولا تغادر المفاتيح المنطقة المحمية أبدًا. هجومات القنوات الجانبية على ناقل البيانات بين Secure Enclave والمعالج الرئيسي تتم حجبها عبر مراقبة سلامة المعالج.

دمج FairPlay في iOS و tvOS

دمج FairPlay في تطبيقات iOS و tvOS يتم من خلال AVFoundation ويتطلب تنفيذ بروتوكولات AVContentKeySessionDelegate و AVAssetResourceLoaderDelegate. يجب على المطور معالجة أربعة أحداث رئيسية: استلام SPC، إرساله إلى الخادم، استلام CKC ونقله إلى مشغل الوسائط.

تنفيذ مفوض AVContentKeySession

swift
func contentKeySession(
    _ session: AVContentKeySession,
    didProvide keyRequest: AVContentKeyRequest
) {
    guard let identifier = keyRequest.identifier
    else { return }

    let spc: Data = keyRequest.makeStreamingContentKeyRequestData(
        appCertificate: certificate,
        contentIdentifier: identifier,
        options: nil
    )

    licenseService.requestCKC(spc) { ckc in
        keyRequest.processContentKeyResponse(
            AVContentKeyResponse(fairPlayStreamingKeyResponseData: ckc)
        )
    }
}

تحضير الشهادة ومعرِّف المحتوى

قبل بدء التشغيل، يجب تحميل شهادة التطبيق من الحزمة وتحضير معرِّف المحتوى (عادةً URL التدفق أو معرِّف الفيلم). يجب أن تكون الشهادة صالحة لمدة استئجار المحتوى على الأقل، وإلا ستفشل عملية الترخيص.

يتم تمرير معرِّف المحتوى إلى نظام التراخيص في مرحلة تكوين SPC. يستخدم خادم التراخيص هذا المعرِّف للبحث عن المفتاح المناسب وسياسات التشغيل، بما في ذلك قيود الوقت والأجهزة.

معالجة أخطاء الترخيص

قد تحدث أخطاء أثناء عملية الترخيص: انتهاء صلاحية الشهادة، معرِّف محتوى غير صالح، عدم وجود حقوق وصول للمستخدم. أخطاء FairPlay تعاد من خلال المفوض contentKeySession:didFailWithError ويجب معالجتها مع عرض واجهة مستخدم مناسبة.

تشمل أكواد الأخطاء النموذجية FP_NO_ENTITLEMENT عند عدم وجود اشتراك و FP_REQUEST_TIMEOUT لمشاكل الشبكة. يوصى بتنفيذ منطق إعادة المحاولة مع تأخير أسي للأخطاء الشبكية المؤقتة.

FairPlay Streaming والترخيص

FairPlay Streaming هو بروتوكول حماية فيديو البث المباشر القائم على HLS والذي يستخدم تشفير المقاطع وآلية المفاتيح محدودة الصلاحية. يقوم موزِّع المحتوى بنشر خادم تراخيص خاص به، يتكامل مع نظام مصادقة المستخدمين.

يتلقى خادم التراخيص طلب SPC من العميل، يستخرج معرِّفات الجهاز والمحتوى، يتحقق من حقوق المستخدم في البكند ويشكِّل استجابة CKC. يتم تشفير مفتاح المحتوى بالمفتاح العام للجهاز من شهادة FPS.

سياسات ترخيص FairPlay

قد تحتوي ترخيصة FairPlay على قيود زمنية (إيجار لمدة 48 ساعة)، حد أقصى للأجهزة (5 أجهزة مصرح بها) وقيود جودة التشغيل (مقتصرة على 1080p للخطة الأساسية). تتم ضبط السياسات على جانب الخادم وتغلف في Key Envelope.

من المهم ملاحظة أن سياسات FairPlay تتم تطبيقها على مستوى Secure Enclave، ولا يمكن تجاوزها بأساليب برمجية على مستوى نظام التشغيل. حتى مع وجود جيلبريك، فإن الحماية عبر المعالج تمنع استخراج المفتاح أو تغيير معلمات الترخيص.

مقارنة FairPlay مع أنظمة DRM الأخرى

المعلمFairPlayWidevinePlayReady
البيئةApple (iOS، tvOS، macOS)Google (Android، Chrome)Microsoft (Windows، Xbox)
أقصى جودة4K HDR Dolby Vision4K UHD4K UHD
الحماية عبر المعالجSecure EnclaveTEETPM + TEE
متطلبات المطورشهادة FPS من Appleغير مطلوبةترخيص من Microsoft

خصائص عمل FairPlay على إصدارات iOS المختلفة

يعتمد دعم FairPlay Streaming على إصدار نظام التشغيل ونوع الجهاز. منذ iOS 10 و tvOS 10، واجهة برمجة AVContentKeySession متاحة لجميع التطبيقات، ولكن التسارع عبر المعالج من خلال Secure Enclave مطلوب فقط للمحتوى بجودة 4K HDR. على الأجهزة بمعالجات A8–A10، أقصى دقة متاحة هي 1080p.

في iOS 14، أضافت Apple دعم جلسات FairPlay متعددة، مما يسمح لتطبيق واحد بتشغيل عدة تدفقات محمية في نفس الوقت — على سبيل المثال، صورة داخل صورة بتراخيص مختلفة. وسع iOS 15 البروتوكول بدعم تجديد المفاتيح في الخلفية للمشاهدة المطولة.

FairPlay في بنية متعددة DRM

بالنسبة لخدمات البث عبر المنصات، يتم استخدام FairPlay كجزء من بنية متعددة DRM مع Widevine و PlayReady. مجمعات التراخيص، مثل Axinom و EZDRM، توفر واجهة برمجة موحدة تقوم بترجمة الطلبات إلى تنسيق SPC لـ FairPlay وتنسيق MediaDrm لـ Widevine، مما يبسط الدمج على جميع المنصات.

الأسئلة الشائعة

ما هو FairPlay DRM في iOS؟

FairPlay هي تقنية DRM من Apple مدمجة في iOS، tvOS و macOS لحماية محتوى الفيديو. تستخدم التشفير عبر المعالج من خلال Secure Enclave وبروتوكول FairPlay Streaming لنقل آمن لمفاتيح فك التشفير على أجهزة Apple.

كيف الحصول على شهادة FairPlay Streaming؟

للحصول على شهادة FPS، يجب التسجيل في برنامج Apple Developer، إنشاء شهادة في قسم Certificates، Identifiers & Profiles وتنزيلها بتنسيق DER. تضاف الشهادة إلى حزمة مشروع Xcode وتوقع عند البناء.

هل يمكن استخدام FairPlay على Android؟

لا، FairPlay غير متاحة على Android، حيث أنها تقنية ملكية من Apple مرتبطة ببنية Secure Enclave على رقاقات السلسلة A و M. تستخدم أجهزة Android Widevine DRM من Google.

ما الفرق بين FairPlay و FairPlay Streaming؟

FairPlay هو الاسم العام لتقنية DRM من Apple، بينما FairPlay Streaming (FPS) هو بروتوكول محدد لحماية تدفقات HLS. يستخدم FPS آليات FairPlay لتشفير مقاطع الفيديو وإدارة التراخيص عبر AVContentKeySession.

ما القيود التي تفرضها ترخيصة FairPlay؟

يمكن لترخيصة FairPlay تحديد قيود على وقت المشاهدة، أقصى جودة فيديو (720p، 1080p، 4K)، عدد الأجهزة وفترة صلاحية المفتاح. تتم تنفيذ جميع السياسات عبر المعالج في Secure Enclave ولا يمكن تجاوزها.

الملخص

  • FairPlay — DRM ملكي من Apple مع حماية عبر المعالج من خلال Secure Enclave وبروتوكول FairPlay Streaming لـ HLS.
  • SPC و CKC — رسائل البروتوكول الرئيسية: طلب ترخيص من العميل واستجابة بالمفتاح من الخادم.
  • شهادة FPS إجبارية للمطورين وتحصل عبر برنامج Apple Developer.
  • الدمج يتم عبر AVContentKeySession و AVAssetResourceLoaderDelegate في AVFoundation.
  • Secure Enclave يوفر تخزينًا ومعالجة معزولين للمفاتيح على مستوى المعالج.
  • قيود الترخيص تشمل الأطر الزمنية، الجودة وعدد الأجهزة.
  • نهج متعدد DRM مع FairPlay، Widevine و PlayReady ضروري لتطبيقات البث عبر المنصات.

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا