FairPlay ایک مالکانہ DRM ٹیکنالجی ہے جو Apple نے iOS، tvOS اور macOS ایکوسسٹم میں ویڈیو کنٹینٹ کے تحفظ کے لیے تیار کیا ہے۔ یہ سیسٹم Secure Enclave اور ہارڈویئر انکرپشن کا استعمال کرتا ہے، جو اسٹریمنگ سروسز کو 4K HDR کوالٹی میں کنٹینٹ فراہم کرنے کے قابل بناتا ہے۔ Apple Developer دستاویز (2025) کے مطابق، FairPlay Streaming A8 چپ اور اس سے جدید تمام Apple آلات پر معاون ہے۔
اہم نکات
FairPlay Apple کی بنائی گئی ایک DRM ٹیکنالجی ہے جو آڈیو اور ویڈیو کنٹینٹ کو غیر مجاز استعمال سے بچانے کے لیے iOS، tvOS، iPadOS اور macOS آپریٹنگ سیسٹم میں مضمون ہے۔ ابتدائی طور پر iTunes اور iPod کے لیے تیار کی گئی، یہ FairPlay Streaming پروٹیکل کے ذریعے اسٹریمنگ کنٹینٹ تحفظ کے مکمل نظام میں تبدیل ہو چکی ہے۔
دیگر DRM حلوں کے برعکس، FairPlay Apple آلات کے ہارڈویئر آرکیٹیکچر میں مکمل طور پر ضم ہے۔ ڈکرپشن کنجیاں Secure Enclave میں محفوظ ہیں — ایک محفوظ کوپروسیسر جو مرکزی OS سے علیحدہ ہے، جو جیلبریک کے باوجود بھی کنجیوں کو نکالنا تقریبنا ناممکن بناتا ہے۔
FairPlay کی تاریخ 2003 میں iTunes Store سے شروع ہوئی، جہاں مالکانہ M4P فارمیٹ میں AAC فائل انکرپشن لاگو کیا جاتا تھا۔ 2009 میں، Apple نے FairPlay Streaming متعارف کرایا — HLS پر مبنی اسٹریمنگ ویڈیو تحفظ کا ایک پروٹیکل، جو بعد میں Apple TV اور iOS ایپس کے لیے لازمی ہو گیا۔
iOS 10 اور tvOS 10 سے شروع کرکے، Apple نے AVFoundation فریم ورک کے ذریعے تیسرے فریق کے ڈیولپرز کے لیے FairPlay Streaming کو کھول دیا۔ آج، Netflix، Amazon Prime Video اور Disney+ Dolby Vision کے ساتھ 4K HDR ریزولیوشن تک Apple آلات پر کنٹینٹ کے تحفظ کے لیے FairPlay استعمال کرتے ہیں۔
FairPlay کا کام تین مراحل پر مبنی ہے: کنٹینٹ پیکیجنگ، CDN کے ذریعے تقسیم اور آلې پر ڈکرپشن۔ پیکیجنگ کے مرحلے پر، ویڈیو AES-128 یا AES-256 کا استعمال کرکے انکرپٹ کیا جاتا ہے، اور انکرپشن کنجیاں Key Envelope میکانزم کے ذریعے ایک مخصوص آلې سے منسلک ہوتی ہیں۔
کنٹینٹ کی درخواست کرنے پر، پلیئر AVContentKeySession کے ذریعے ایک FairPlay سیشن شروع کرتا ہے، جو کنٹینٹ فراہم کننے والے کے لائسنس سرور کو درخواست بھیجتا ہے۔ سرور رسائی کے حقوق کی تصدیق کرتا ہے اور آلې سرٹیفیکیٹ کی عوام کنجی سے انکرپٹ کردہ ڈکرپشن کنجی واپس کرتا ہے۔
کلائنٹ AVContentKeySession کی ایک مثال بناتا ہے اور اس میں کنٹینٹ ٹرےک شامل کرتا ہے۔ سیسٹم ایک SPC (Server Playback Context) درخواست بناتا ہے جیس میں آلې کی شناخت اور Apple کے دستخت کردہ اپلیکیشن سرٹیفیکیٹ شامل ہوتا ہے۔ یہ درخواست HTTPS پر لائسنس سرور کو بھیجی جاتی ہے۔
لائسنس سرور SPC کی تصدیق کرتا ہے، اپنے ڈیٹابیس سے کنٹینٹ کنجی نکالتا ہے اور آلې کی عوام کنجی سے انکرپٹ کرکے CKC (Content Key Context) بناتا ہے۔ CKC کلائنٹ کو واپس کی جاتی ہے، جہاں AVContentKeySession Secure Enclave کی ناجائز کنجی کا استعمال کرکے اسے ڈکرپٹ کرتا ہے۔
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 آرکیٹیکچر میں کئی آپس میں منسلک اجزاء شامل ہیں: اپلیکیشن سرٹیفیکیٹ، Key Envelope، Secure Enclave اور کنٹینٹ ڈکرپشن میوڈیول۔ ہر جز سرور سے صارف کی سکرین تک تحفظ کی زنجیر میں اپنا کردار ادا کرتا ہے۔
| جز | کارخوانی | کہاں چلتا ہے |
|---|---|---|
| اپلیکیشن سرٹیفیکیٹ | لائسنس سرور کے سامنے اپلیکیشن کی شناخت | ایپ بنڈل میں محفوظ |
| SPC | Server Playback Context — لائسنس درخواست | AVContentKeySession سے بنایا گیا |
| CKC | Content Key Context — کنجی کے ساتھ جواب | Secure Enclave سے پروسیس کیا گیا |
| Secure Enclave | ہارڈویئر کنجی ذخیرہ اور ڈکرپشن | SoC پر ہارڈویئر کوپروسیسر |
| Key Envelope | لائسنس میٹا ڈیٹا کے ساتھ کنجی کا کنٹینر | لائسنس سرور سے بنایا گیا |
FairPlay کے ساتھ کام کرنے کے لیے، ڈیولپر کو Apple Developer پروگرام کے ذریعے Apple سے ایک FPS سرٹیفیکیٹ حاصل کرنا ہوتا ہے۔ سرٹیفیکیٹ میں ایک غیر متناظر جوڑے کی عوام کنجی شامل ہی، جس کا ناجائز حصہ Secure Enclave CKC کو ڈکرپٹ کرنے کے لیے استعمال کرتا ہے۔
اپلیکیشن سرٹیفیکیٹ پروجیکٹ بنڈل میں شامل کیا جاتا ہے اور Xcode کے ذریعے بیلڈ کے وقت خودکار طور پر دستخت کیا جاتا ہے۔ پہلی بار محفوظ کنٹینٹ چلانے پر، سیسٹم سرٹیفیکیٹ کی والیڈیٹی کی تصدیق کرتا ہے اور لائسنس کی درخواست کرتا ہے۔
Secure Enclave Apple A-سیریز اور M-سیریز چپس پر ایک مخصوص کوپروسیسر ہے، جو علیحدہ L4 OS پر چلتا ہے۔ یہ ناجائز کنجیوں کی تیاری اور ذخیرہ، CKC کو ڈکرپٹ کرنے اور کنٹینٹ کنجی کو ویڈیو ڈکرپشن میوڈیول میں منتقل کرنے کا ذمہ دار ہے۔
تمام کریپٹوگرافک کارروائیاں صرف Secure Enclave کے اندر ہی کی جاتی ہیں، اور کنجیاں کبھی محفوظ علاقے سے باہر نہیں نکلتیں۔ Secure Enclave اور مرکزی پروسیسر کے درمیان ڈیٹا بس پر سائیڈ چینل حملے ہارڈویئر سالمیتی نگرانی سے مسدود کیئے جاتے ہیں۔
FairPlay انضمام iOS اور tvOS ایپس میں AVFoundation کے ذریعے کیا جاتا ہے اور اس کے لیے AVContentKeySessionDelegate اور AVAssetResourceLoaderDelegate پروٹیکل کو نفذ کرنا ضروری ہے۔ ڈیولپر کو چار اہم واقعات کو سنبالنا ہوتا ہے: SPC موصول کرنا، سرور کو بھیجنا، CKC موصول کرنا اور پلیئر کو دینا۔
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 یا فلم ID) تیار کرنا ضروری ہے۔ سرٹیفیکیٹ کنٹینٹ کرایے کی میاد کے لیے والیڈ ہونا چاہیے، ورنہ لائسنسنگ ناکام ہو جائے گی۔
کنٹینٹ شناختی SPC تشکیل کے مرحلے پر لائسنسنگ سیسٹم کو بھیجی جاتی ہے۔ لائسنس سرور اس شناختی کا استعمال مناسب کنجی اور پلے بیک پولیسیاں چینرے کے لیے کرتا ہے، جیس میں وقت اور آلې کی پابندیاں شامل ہیں۔
لائسنسنگ کے دوران غلطیاں واقع ہو سکتی ہیں: سرٹیفیکیٹ میاد بار ہونا، غیر معتبر کنٹینٹ شناختی، صارف کے رسائی کے حقوق کی کمی۔ FairPlay غلطیاں contentKeySession:didFailWithError ڈیلیگیٹ کے ذریعے واپس کی جاتی ہیں اور مناسب UI کے ساتھ حل کی جانی چاہئے۔
معمولی غلطی کوڈز میں رکن نا ہونے پر FP_NO_ENTITLEMENT اور نیٹ ورک کے مسائل کے لیے FP_REQUEST_TIMEOUT شامل ہیں۔ عارضی نیٹ ورک ناکامیوں کے لیے اکسپونیشیل بیک آف کے ساتھ دوبارہ کوشش کا لاجک نفاذ کرنے کی سفارش کی جاتی ہے۔
FairPlay Streaming HLS-مبنی اسٹریمنگ ویڈیو تحفظ کا ایک پروٹیکل ہے جو سیگمنٹ انکرپشن اور محدود میاد کی کنجی کے میکانزم کا استعمال کرتا ہے۔ کنٹینٹ فراہم کننے والا اپنا لائسنس سرور لگاتا ہے، جو صارف تصدیق سیسٹم کے ساتھ ضم ہوتا ہے۔
لائسنس سرور کلائنٹ سے ایک SPC درخواست وصول کرتا ہے، آلې اور کنٹینٹ کے شناختنامے نکالتا ہے، بیک اینڈ میں صارف کے حقوق کی تصدیق کرتا ہے اور CKC جواب تیار کرتا ہے۔ کنٹینٹ کنجی FPS سرٹیفیکیٹ سے آلې کی عوام کنجی سے انکرپٹ کی جاتی ہے۔
ایک FairPlay لائسنس میں وقتی پابندیاں (48 گھنٹے کا کرایہ)، آلې کی حد (از حد 5 مجازشدہ آلات) اور پلے بیک کے معیار کی پابندیاں (بنیادی منصوبہ کے لیے 1080p تک محدود) ہو سکتی ہیں۔ پولیسیاں سرور کی جانب سے متعین کی جاتی ہیں اور Key Envelope میں پیک کی جاتی ہیں۔
ایک اہم نکتہ یہ ہے کہ FairPlay پولیسیاں Secure Enclave کی سطح پر نافذ کی جاتی ہیں اور آپریٹنگ سیسٹم کی سطح پر سافٹ ویئر کے طریقے سے بائیپاس نہیں کی جا سکتیں۔ جیلبریک کے باوجود بھی، ہارڈویئر تحفظ کنجی نکالنے یا لائسنس پیرامیٹرز میں ترمیم کو روکتا ہے۔
| پیرامیٹر | FairPlay | Widevine | PlayReady |
|---|---|---|---|
| ایکوسسٹم | Apple (iOS, tvOS, macOS) | Google (Android, Chrome) | Microsoft (Windows, Xbox) |
| انتہائی معیار | 4K HDR Dolby Vision | 4K UHD | 4K UHD |
| ہارڈویئر تحفظ | Secure Enclave | TEE | TPM + TEE |
| ڈیولپر کے لیے ضرورتیاں | Apple FPS سرٹیفیکیٹ | ضروری نہیں | Microsoft لائسنس |
FairPlay Streaming کی معاونت آپریٹنگ سیسٹم کے ورشن اور آلې کی قسم پر منحصر ہے۔ iOS 10 اور tvOS 10 سے، AVContentKeySession API تمام ایپس کے لیے دستیاب ہے، لیکن Secure Enclave کے ذریعے ہارڈویئر اکسیلریشن صرف 4K HDR کوالٹی کے کنٹینٹ کے لیے ضروری ہے۔ A8–A10 چپ والے آلات پر، انتہائی ریزولیوشن 1080p ہے۔
iOS 14 میں، Apple نے ایک ساتھ متعدد FairPlay سیشنز کی معاونت شامل کی، ایک ایپ کو ایک ساتھ متعدد محفوظ سٹریمز چلانے کی اجازت دی۔ iOS 15 نے طویل مشاہدہ کے لیے پس منظر کنجی تجدید کی معاونت کے ساتھ پروٹیکل میں توسیع کی۔
کراس پلیٹ فارم اسٹریمنگ سروسز کے لیے، FairPlay Widevine اور PlayReady کے ساتھ ملٹی-DRM آرکیٹیکچر کے حصہ کے طور پر استعمال ہوتا ہے۔ لائسنس اگریگیٹرز، جیسے Axinom اور EZDRM، ایک متحد API فراہم کرتے ہیں جو درخواستوں کو FairPlay کے لیے SPC فارمیٹ اور Widevine کے لیے MediaDrm فارمیٹ میں تبدیل کرتا ہے، تمام پلیٹ فارمز پر انضمام کو سادہ بناتا ہے۔
اکثر پوچے جانے والے سوالات
FairPlay Apple کی ایک DRM ٹیکنالجی ہے جو ویڈیو کنٹینٹ کے تحفظ کے لیے iOS، tvOS اور macOS میں ضم ہے۔ یہ Apple آلات پر ڈکرپشن کنجیوں کی محفوظ منتقلی کے لیے Secure Enclave اور FairPlay Streaming پروٹیکل کے ذریعے ہارڈویئر انکرپشن کا استعمال کرتا ہے۔
FPS سرٹیفیکیٹ حاصل کرنے کے لیے، آپ کو Apple Developer پروگرام میں رجسٹر کرنا ہوگا، Certificates, Identifiers & Profiles سیکشن میں ایک سرٹیفیکیٹ بنانا ہوگا اور اسے DER فارمیٹ میں ڈاؤن لوڈ کرنا ہوگا۔ سرٹیفیکیٹ Xcode پروجیکٹ بنڈل میں شامل کیا جاتا ہے اور بیلڈ کے وقت دستخت کیا جاتا ہے۔
نہیں، FairPlay Android پر دستیاب نہیں ہے، کیونکہ یہ Apple کی مالکانہ ٹیکنالجی ہے جو A-سیریز اور M-سیریز چپس پر Secure Enclave ہارڈویئر آرکیٹیکچر سے منسلک ہے۔ Android آلات Google کا Widevine DRM استعمال کرتے ہیں۔
FairPlay Apple DRM ٹیکنالجی کا عام نام ہے، جبکہ FairPlay Streaming (FPS) HLS سٹریمز کی حفاظت کا ایک مخصوص پروٹیکل ہے۔ FPS AVContentKeySession کے ذریعے ویڈیو سیگمنٹس کو انکرپٹ کرنے اور لائسنسز کا انتظام کرنے کے لیے FairPlay میکانزم کا استعمال کرتا ہے۔
FairPlay لائسنس دیکھنے کے وقت، انتہائی ویڈیو کوالٹی (720p، 1080p، 4K)، آلات کی تعداد اور کنجی کی میاد پر پابندیاں متعین کر سکتا ہے۔ تمام پولیسیاں Secure Enclave میں ہارڈویئر کی سطح پر نافذ کی جاتی ہیں اور انہیں بائیپاس نہیں کیا جا سکتا۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں