FairPlay — Apple tərəfindən iOS, tvOS və macOS ekosistemində video məzmununu qorumaq üçün hazırlanmış mülkiyyət DRM texnologiyasıdır. Sistem Secure Enclave və aparat şifrələməsindən istifadə edərək açarları təhlükəsiz saxlamağa imkan verir ki, bu da streaming xidmətlərinə 4K HDR keyfiyyətində məzmun təqdim etməyə imkan tanıyır. Apple Developer (2025) sənədlərinə əsasən, FairPlay Streaming A8 çipi və daha yeni olan bütün Apple cihazlarında dəstəklənir.
Əsas məqamlar
FairPlay — Apple tərəfindən yaradılmış və iOS, tvOS, iPadOS və macOS əməliyyat sistemlərinə inteqrasiya edilmiş, audio və video məzmununu icazəsiz istifadədən qorumaq üçün DRM texnologiyasıdır. İlkin olaraq iTunes və iPod üçün hazırlanmış, FairPlay Streaming protokolu vasitəsilə tam hüquqlu streaming məzmun mühafizəsi sisteminə çevrilmişdir.
Digər DRM həllərindən fərqli olaraq, FairPlay Apple cihazlarının aparat arxitekturasına tam inteqrasiya olunmuşdur. Şifrə açma açarları Secure Enclave-də — əsas əməliyyat sistemindən təcrid olunmuş qorunan koprosessorda saxlanılır ki, bu da hətta jailbreak vəziyyətində belə açarların çıxarılmasını praktiki olaraq qeyri-mümkün edir.
FairPlay-in tarixi 2003-cü ildə iTunes Store mağazası ilə başlamış, burada mülkiyyət M4P formatından istifadə edərək AAC fayllarının şifrələnməsi tətbiq edilmişdir. 2009-cu ildə Apple HLS əsasında streaming video mühafizə protokolu olan FairPlay Streaming-i təqdim etdi və sonradan bu, Apple TV və iOS tətbiqləri üçün məcburi oldu.
iOS 10 və tvOS 10-dan başlayaraq, Apple FairPlay Streaming-i üçüncü tərəf tərtibatçılarına AVFoundation freymvorku vasitəsilə açdı. Hal-hazırda Netflix, Amazon Prime Video və Disney+ Apple cihazlarında Dolby Vision ilə 4K HDR təsvir ölçüsünə qədər məzmunu qorumaq üçün FairPlay-dən istifadə edir.
FairPlay-in işləməsi üç mərhələli prosesə əsaslanır: məzmunun paketlənməsi, CDN vasitəsilə yayılması və cihazda şifrənin açılması. Paketləmə mərhələsində video AES-128 və ya AES-256 istifadə edərək şifrələnir və şifrələmə açarları Key Envelope mexanizmi vasitəsilə müəyyən bir cihazla əlaqələndirilir.
Məzmun tələbi zamanı pleyer AVContentKeySession vasitəsilə FairPlay seansını işə salır, bu da məzmun təchizatçısının lisenziya serverinə sorğu göndərir. Server giriş hüquqlarını yoxlayır və cihaz sertifikatının açıq açarı ilə şifrələnmiş şifrə açma açarını qaytarır.
Müştəri AVContentKeySession nümunəsi yaradır və ona məzmun treki əlavə edir. Sistem cihaz identifikatoru və Apple tərəfindən təsdiqlənmiş tətbiq sertifikatını ehtiva edən SPC (Server Playback Context) sorğusu formalaşdırır. Bu sorğu HTTPS vasitəsilə lisenziya serverinə göndərilir.
Lisenziya serveri SPC-ni yoxlayır, öz verilənlər bazasından məzmun açarını çıxarır və onu cihazın açıq açarı ilə şifrələyərək CKC (Content Key Context) yaradır. CKC müştəriyə qaytarılır, burada AVContentKeySession onu Secure Enclave-in gizli açarından istifadə edərək şifrədən çıxarır.
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 arxitekturası bir neçə bir-biri ilə əlaqəli komponenti əhatə edir: tətbiq sertifikatı, Key Envelope, Secure Enclave və məzmun şifrə açma modulu. Hər bir komponent serverdən istifadəçi ekranına qədər qorunma zəncirində öz rolunu oynayır.
| Komponent | Funksiya | Harada icra olunur |
|---|---|---|
| Tətbiq sertifikatı | Tətbiqin lisenziya serveri qarşısında identifikasiyası | Tətbiq bundle-də saxlanılır |
| SPC | Server Playback Context — lisenziya sorğusu | AVContentKeySession tərəfindən formalaşdırılır |
| CKC | Content Key Context — açarla cavab | Secure Enclave tərəfindən işlənir |
| Secure Enclave | Açarların aparat saxlanması və şifrədən çıxarılması | SoC-nin aparat koprosessoru |
| Key Envelope | Lisenziya metadatası ilə açar konteyneri | Lisenziya serveri tərəfindən formalaşdırılır |
FairPlay ilə işləmək üçün tərtibatçı Apple Developer proqramı vasitəsilə Apple-dan FPS sertifikatı almalıdır. Sertifikat asimmetrik cütün açıq açarını ehtiva edir, onun gizli hissəsi Secure Enclave tərəfindən CKC-nin şifrədən çıxarılması üçün istifadə olunur.
Tətbiq sertifikatı layihənin bundle-nə əlavə edilir və Xcode vasitəsilə kompilyasiya zamanı avtomatik imzalanır. Qorunan məzmunun ilk dəfə oxudulması zamanı sistem sertifikatın etibarlılığını yoxlayır və lisenziya tələb edir.
Secure Enclave — Apple A-seriyası və M-seriyası çiplərində izolyasiya olunmuş L4 əməliyyat sistemində işləyən xüsusi koprosessordur. O, gizli açarların yaradılması və saxlanması, CKC-nin şifrədən çıxarılması və məzmun açarının video şifrə açma moduluna ötürülməsi üçün cavabdehdir.
Bütün kriptoqrafik əməliyyatlar yalnız Secure Enclave daxilində yerinə yetirilir və açarlar heç vaxt qorunan sahəni tərk etmir. Yan kanal hücumları Secure Enclave ilə əsas prosessor arasındakı verilənlər magistralına aparat bütövlük monitorinqi ilə bloklanır.
FairPlay-in inteqrasiyası iOS və tvOS tətbiqlərində AVFoundation vasitəsilə həyata keçirilir və AVContentKeySessionDelegate və AVAssetResourceLoaderDelegate protokollarının tətbiqini tələb edir. Tərtibatçı dörd əsas hadisəni idarə etməlidir: SPC-nin alınması, serverə göndərilməsi, CKC-nin alınması və pleyerə ötürülməsi.
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)
)
}
}
Oxutma başlamazdan əvvəl bundle-dən tətbiq sertifikatını yükləmək və məzmun identifikatorunu (ən çox axın URL-i və ya film identifikatoru) hazırlamaq lazımdır. Sertifikat ən azı məzmun icarə müddəti üçün etibarlı olmalıdır, əks halda lisenziyalaşdırma xəta ilə nəticələnəcək.
Məzmun identifikatoru SPC-nin formalaşdırılması mərhələsində lisenziyalaşdırma sisteminə ötürülür. Lisenziya serveri bu identifikatordan müvafiq açarı və oxutma siyasətlərini, o cümlədən vaxt və cihaz məhdudiyyətlərini tapmaq üçün istifadə edir.
Lisenziyalaşdırma prosesində xətalar baş verə bilər: sertifikatın müddətinin bitməsi, yanlış məzmun identifikatoru, istifadəçinin giriş hüquqlarının olmaması. FairPlay xətaları contentKeySession:didFailWithError delegatı vasitəsilə qaytarılır və istifadəçiyə müvafiq interfeys göstərilməklə işlənməlidir.
Tipik xəta kodlarına abunə olmadıqda FP_NO_ENTITLEMENT və şəbəkə problemlərində FP_REQUEST_TIMEOUT daxildir. Müvəqqəti şəbəkə nasazlıqları üçün eksponensial gecikmə ilə təkrar cəhd məntiqinin tətbiqi tövsiyə olunur.
FairPlay Streaming — HLS əsasında streaming video mühafizə protokoludur, seqment şifrələməsi və məhdud müddətli açarlar mexanizmindən istifadə edir. Məzmun təchizatçısı istifadəçi autentifikasiya sistemi ilə inteqrasiya olunan öz lisenziya serverini qurur.
Lisenziya serveri müştəridən SPC sorğusunu alır, ondan cihaz və məzmun identifikatorunu çıxarır, backend-də istifadəçi hüquqlarını yoxlayır və CKC cavabını formalaşdırır. Məzmun açarı FPS sertifikatından cihazın açıq açarı ilə şifrələnir.
FairPlay lisenziyası vaxt məhdudiyyətləri (48 saat icarə), cihaz sayı (maksimum 5 səlahiyyətli) və oxutma keyfiyyəti (baza tarifi üçün 1080p məhdudiyyəti) ehtiva edə bilər. Siyasətlər server tərəfində təyin edilir və Key Envelope-də paketlənir.
Qeyd etmək vacibdir ki, FairPlay siyasətləri Secure Enclave səviyyəsində tətbiq olunur və onları əməliyyat sistemi səviyyəsində proqram metodları ilə keçmək mümkün deyil. Hətta jailbreak zamanı aparat mühafizəsi açarın çıxarılmasının və ya lisenziya parametrlərinin dəyişdirilməsinin qarşısını alır.
| Parametr | FairPlay | Widevine | PlayReady |
|---|---|---|---|
| Ekosistem | Apple (iOS, tvOS, macOS) | Google (Android, Chrome) | Microsoft (Windows, Xbox) |
| Maksimal keyfiyyət | 4K HDR Dolby Vision | 4K UHD | 4K UHD |
| Aparat mühafizəsi | Secure Enclave | TEE | TPM + TEE |
| Tərtibatçı tələbləri | Apple FPS sertifikatı | Tələb olunmur | Microsoft lisenziyası |
FairPlay Streaming dəstəyi əməliyyat sistemi versiyasından və cihaz növündən asılıdır. iOS 10 və tvOS 10-dan başlayaraq, AVContentKeySession API bütün tətbiqlər üçün əlçatandır, lakin Secure Enclave vasitəsilə aparat sürətləndirilməsi yalnız 4K HDR keyfiyyətində məzmun üçün tələb olunur. A8–A10 çipli cihazlarda yalnız maksimum 1080p təsvir ölçüsü mövcuddur.
iOS 14-də Apple çoxsaylı FairPlay seanslarını dəstəklədi ki, bu da tətbiqə eyni anda bir neçə qorunan axını oxutmağa imkan verir — məsələn, şəkil içində şəkil müxtəlif lisenziyalarla. iOS 15 uzun müddətli izləmə üçün fon açar yeniləmə dəstəyi ilə protokolu genişləndirdi.
Çarpaz platformalı streaming xidmətləri üçün FairPlay Widevine və PlayReady ilə birlikdə multi-DRM arxitekturasının bir hissəsi kimi istifadə olunur. Axinom və EZDRM kimi lisenziya aqreqatorları vahid API təqdim edir ki, bu da sorğuları FairPlay üçün SPC formatına və Widevine üçün MediaDrm formatına tərcümə edərək bütün platformalarda inteqrasiyanı asanlaşdırır.
Tez-tez verilən suallar
FairPlay — Apple cihazlarında video məzmununu qorumaq üçün iOS, tvOS və macOS-a daxil edilmiş Apple DRM texnologiyasıdır. O, Secure Enclave vasitəsilə aparat şifrələməsi və FairPlay Streaming protokolundan istifadə edərək Apple cihazlarında şifrə açma açarlarının təhlükəsiz ötürülməsini təmin edir.
FPS sertifikatı almaq üçün Apple Developer proqramında qeydiyyatdan keçmək, Certificates, Identifiers & Profiles bölməsində sertifikat yaratmaq və onu DER formatında endirmək lazımdır. Sertifikat Xcode layihəsinin bundle-nə əlavə edilir və kompilyasiya zamanı imzalanır.
Xeyr, FairPlay Android-də mövcud deyil, çünki bu, A-seriyası və M-seriyası çiplərində Secure Enclave aparat arxitekturasına bağlı olan Apple-ın mülkiyyət texnologiyasıdır. Android cihazları üçün Google-dan Widevine DRM istifadə olunur.
FairPlay Apple DRM texnologiyasının ümumi adıdır, FairPlay Streaming (FPS) isə HLS axınlarını qorumaq üçün xüsusi protokoldur. FPS video seqmentlərinin şifrələnməsi və AVContentKeySession vasitəsilə lisenziyaların idarə edilməsi üçün FairPlay mexanizmlərindən istifadə edir.
FairPlay lisenziyası izləmə vaxtı, maksimum video keyfiyyəti (720p, 1080p, 4K), cihaz sayı və açarın qüvvədə olma müddəti üçün məhdudiyyətlər təyin edə bilər. Bütün siyasətlər Secure Enclave-də aparat səviyyəsində icra olunur və keçilə bilməz.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun