FairPlay — bu nima, Apple'dan DRM va ishlash prinsiplari

Muallif: IT Sectr Nashr etilgan: 2026-05-24 O'qish vaqti: 8 daq

FairPlay — Apple tomonidan iOS, tvOS va macOS ekotizimida video kontentni himoya qilish uchun ishlab chiqilgan xususiy DRM texnologiyasidir. Tizim Secure Enclave va apparat shifrlashdan foydalanib kalitlarni xavfsiz saqlash imkonini beradi, bu esa striming xizmatlariga 4K HDR sifatida kontent taqdim etishga imkon yaratadi. Apple Developer (2025) hujjatlariga ko'ra, FairPlay Streaming A8 chipi va undan yangi bo'lgan barcha Apple qurilmalarida qo'llab-quvvatlanadi.

Asosiy ma'lumotlar

  • FairPlay — iOS, tvOS va macOS ilovalarida videoni himoya qilish uchun Apple DRM yechimi.
  • Secure Enclave chip darajasida kalitlarning apparat saqlanishini ta'minlaydi.
  • FairPlay Streaming (FPS) — HLS oqimlarini real vaqtda himoya qilish protokoli.
  • SCM (Server Certificate Module) — litsenziya serverining haqiqiyligini tekshirish moduli.
  • Integratsiya Apple Developer dasturida ro'yxatdan o'tish va FPS sertifikatini olishni talab qiladi.

FairPlay nima?

FairPlay — Apple tomonidan yaratilgan va iOS, tvOS, iPadOS va macOS operatsion tizimlariga audio va video kontentni ruxsatsiz foydalanishdan himoya qilish uchun o'rnatilgan DRM texnologiyasidir. Dastlab iTunes va iPod uchun ishlab chiqilgan bo'lib, FairPlay Streaming protokoli orqali striming kontentni himoya qilishning to'liq tizimiga aylangan.

Boshqa DRM yechimlaridan farqli o'laroq, FairPlay Apple qurilmalarining apparat arxitekturasiga to'liq integratsiyalangan. Shifrni ochish kalitlari Secure Enclave da — asosiy operatsion tizimdan ajratilgan himoyalangan koprotsessorda saqlanadi, bu esa hatto jailbreak holatida ham kalitlarni chiqarib olishni amalda imkonsiz qiladi.

FairPlay ning evolyutsiyasi

FairPlay tarixi 2003 yilda iTunes Store do'koni bilan boshlangan, bu yerda M4P xususiy formatidan foydalanib AAC fayllarini shifrlash qo'llanilgan. 2009 yilda Apple HLS asosidagi striming videoni himoya qilish protokoli FairPlay Streaming ni taqdim etdi, keyinchalik bu Apple TV va iOS ilovalari uchun majburiy bo'ldi.

iOS 10 va tvOS 10 dan boshlab, Apple FairPlay Streaming ni uchinchi tomon ishlab chiqaruvchilari uchun AVFoundation freymvorki orqali ochdi. Bugungi kunda Netflix, Amazon Prime Video va Disney+ Apple qurilmalarida Dolby Vision bilan 4K HDR ruxsatigacha kontentni himoya qilish uchun FairPlay dan foydalanadi.

FairPlay DRM qanday ishlaydi?

FairPlay ning ishlashi uch bosqichli jarayonga asoslanadi: kontentni paketlash, CDN orqali tarqatish va qurilmada shifrni ochish. Paketlash bosqichida video AES-128 yoki AES-256 yordamida shifrlanadi va shifrlash kalitlari Key Envelope mexanizmi orqali ma'lum bir qurilma bilan bog'lanadi.

Kontent so'ralganda, pleyer AVContentKeySession orqali FairPlay seansini boshlaydi, bu kontent provayderining litsenziya serveriga so'rov yuboradi. Server kirish huquqlarini tekshiradi va qurilma sertifikatining ochiq kaliti bilan shifrlangan shifrni ochish kalitini qaytaradi.

Litsenziya olish jarayoni

Mijoz AVContentKeySession nusxasini yaratadi va unga kontent trekini qo'shadi. Tizim qurilma identifikatori va Apple tomonidan tasdiqlangan ilova sertifikatini o'z ichiga olgan SPC (Server Playback Context) so'rovini shakllantiradi. Bu so'rov HTTPS orqali litsenziya serveriga yuboriladi.

Litsenziya serveri SPC ni tekshiradi, o'z ma'lumotlar bazasidan kontent kalitini chiqaradi va uni qurilmaning ochiq kaliti bilan shifrlab, CKC (Content Key Context) ni shakllantiradi. CKC mijozga qaytariladi, bu yerda AVContentKeySession uni Secure Enclave ning maxfiy kalitidan foydalanib shifrdan chiqaradi.

FairPlay Streaming ishlash sxemasi

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 ning asosiy komponentlari

FairPlay arxitekturasi bir nechta o'zaro bog'liq komponentlarni o'z ichiga oladi: ilova sertifikati, Key Envelope, Secure Enclave va kontent shifrni ochish moduli. Har bir komponent serverdan foydalanuvchi ekranigacha bo'lgan himoya zanjirida o'z rolini o'ynaydi.

KomponentFunksiyaQaerda bajariladi
Ilova sertifikatiIlovani litsenziya serveri oldida identifikatsiyalashIlova bundle da saqlanadi
SPCServer Playback Context — litsenziya so'roviAVContentKeySession tomonidan shakllantiriladi
CKCContent Key Context — kalit bilan javobSecure Enclave tomonidan qayta ishlanadi
Secure EnclaveKalitlarning apparat saqlanishi va shifrdan chiqarilishiSoC apparat koprotsessori
Key EnvelopeLitsenziya metama'lumotlari bilan kalit konteyneriLitsenziya serveri tomonidan shakllantiriladi

FairPlay ilova sertifikati

FairPlay bilan ishlash uchun ishlab chiqaruvchi Apple Developer dasturi orqali Apple dan FPS sertifikatini olishi kerak. Sertifikat assimetrik juftlikning ochiq kalitini o'z ichiga oladi, uning maxfiy qismi Secure Enclave tomonidan CKC ni shifrdan chiqarish uchun ishlatiladi.

Ilova sertifikati loyihaning bundle iga qo'shiladi va Xcode orqali kompilyatsiya vaqtida avtomatik imzolanadi. Himoyalangan kontent birinchi marta ijro etilganda, tizim sertifikatning haqiqiyligini tekshiradi va litsenziya so'raydi.

Secure Enclave va apparat himoyasi

Secure Enclave — Apple A-seriyasi va M-seriyasi chiplarida izolyatsiyalangan L4 operatsion tizimida ishlaydigan maxsus koprotsessordir. U maxfiy kalitlarni yaratish va saqlash, CKC ni shifrdan chiqarish va kontent kalitini video shifrni ochish moduliga uzatish uchun javobgardir.

Barcha kriptografik operatsiyalar faqat Secure Enclave ichida bajariladi va kalitlar hech qachon himoyalangan hududni tark etmaydi. Yon kanal hujumlari Secure Enclave va asosiy protsessor o'rtasidagi ma'lumotlar magistraliga apparat yaxlitligi monitoringi bilan bloklanadi.

FairPlay ni iOS va tvOS ga integratsiyasi

FairPlay integratsiyasi iOS va tvOS ilovalarida AVFoundation orqali amalga oshiriladi va AVContentKeySessionDelegate va AVAssetResourceLoaderDelegate protokollarining tatbiq etilishini talab qiladi. Ishlab chiqaruvchi to'rtta asosiy hodisani boshqarishi kerak: SPC ni olish, serverga yuborish, CKC ni olish va pleyerga uzatish.

AVContentKeySession delegatini tatbiq etish

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

Sertifikat va kontent identifikatorini tayyorlash

Ijro etishni boshlashdan oldin, bundle dan ilova sertifikatini yuklash va kontent identifikatorini (odatda oqim URL i yoki film identifikatori) tayyorlash kerak. Sertifikat kamida kontent ijarasi muddati uchun amal qilishi kerak, aks holda litsenziyalash xato bilan tugaydi.

Kontent identifikatori SPC ni shakllantirish bosqichida litsenziyalash tizimiga uzatiladi. Litsenziya serveri ushbu identifikatordan tegishli kalit va ijro etish siyosatlarini, jumladan vaqt va qurilma cheklovlarini topish uchun foydalanadi.

Litsenziyalash xatolarini boshqarish

Litsenziyalash jarayonida xatolar yuz berishi mumkin: sertifikatning muddati tugashi, noto'g'ri kontent identifikatori, foydalanuvchining kirish huquqlarining yo'qligi. FairPlay xatolari contentKeySession:didFailWithError delegati orqali qaytariladi va foydalanuvchiga tegishli interfeysni ko'rsatish bilan boshqarilishi kerak.

Oddiy xato kodlariga obuna bo'lmaganda FP_NO_ENTITLEMENT va tarmoq muammolarida FP_REQUEST_TIMEOUT kiradi. Vaqtinchalik tarmoq nosozliklari uchun eksponensial kechikish bilan qayta urinish mantiqini tatbiq etish tavsiya etiladi.

FairPlay Streaming va litsenziyalash

FairPlay Streaming — HLS asosidagi striming videoni himoya qilish protokoli bo'lib, segmentlarni shifrlash va cheklangan muddatli kalitlar mexanizmidan foydalanadi. Kontent provayderi foydalanuvchi autentifikatsiya tizimi bilan integratsiyalashgan o'z litsenziya serverini o'rnatadi.

Litsenziya serveri mijozdan SPC so'rovini oladi, undan qurilma va kontent identifikatorini chiqaradi, backend da foydalanuvchi huquqlarini tekshiradi va CKC javobini shakllantiradi. Kontent kaliti FPS sertifikatidan qurilmaning ochiq kaliti bilan shifrlanadi.

FairPlay litsenziyalash siyosatlari

FairPlay litsenziyasi vaqt cheklovlari (48 soatga ijara), qurilmalar soni (maksimal 5 tasdiqlangan) va ijro etish sifati (asosiy tarif uchun 1080p cheklovi) ni o'z ichiga olishi mumkin. Siyosatlar server tomonida belgilanadi va Key Envelope da paketlanadi.

Shuni ta'kidlash kerakki, FairPlay siyosatlari Secure Enclave darajasida qo'llaniladi va ularni operatsion tizim darajasida dasturiy usullar bilan chetlab o'tish mumkin emas. Hatto jailbreak holatida ham apparat himoyasi kalitni chiqarib olish yoki litsenziya parametrlarini o'zgartirishning oldini oladi.

FairPlay ni boshqa DRM lar bilan solishtirish

ParametrFairPlayWidevinePlayReady
EkotizimApple (iOS, tvOS, macOS)Google (Android, Chrome)Microsoft (Windows, Xbox)
Maksimal sifat4K HDR Dolby Vision4K UHD4K UHD
Apparat himoyasiSecure EnclaveTEETPM + TEE
Ishlab chiqaruvchi talablariApple FPS sertifikatiTalab qilinmaydiMicrosoft litsenziyasi

FairPlay ning turli iOS versiyalarida ishlash xususiyatlari

FairPlay Streaming qo'llab-quvvatlashi operatsion tizim versiyasiga va qurilma turiga bog'liq. iOS 10 va tvOS 10 dan boshlab, AVContentKeySession API barcha ilovalar uchun mavjud, ammo Secure Enclave orqali apparat tezlashtirish faqat 4K HDR sifatidagi kontent uchun talab qilinadi. A8–A10 chipli qurilmalarda faqat maksimal 1080p ruxsati mavjud.

iOS 14 da Apple bir nechta FairPlay seanslarini qo'llab-quvvatladi, bu ilovaga bir vaqtning o'zida bir nechta himoyalangan oqimlarni ijro etish imkonini beradi — masalan, rasm ichida rasm turli litsenziyalar bilan. iOS 15 uzoq muddatli tomosha qilish uchun fon kalit yangilashni qo'llab-quvvatlash bilan protokolni kengaytirdi.

Multi-DRM arxitekturasida FairPlay

Cross-platform striming xizmatlari uchun FairPlay Widevine va PlayReady bilan birgalikda multi-DRM arxitekturasining bir qismi sifatida ishlatiladi. Axinom va EZDRM kabi litsenziya agregatorlari yagona API taqdim etadi, bu so'rovlarni FairPlay uchun SPC formatiga va Widevine uchun MediaDrm formatiga tarjima qilib, barcha platformalarda integratsiyani soddalashtiradi.

Ko'p beriladigan savollar

iOS da FairPlay DRM nima?

FairPlay — bu Apple qurilmalarida video kontentni himoya qilish uchun iOS, tvOS va macOS ga o'rnatilgan Apple DRM texnologiyasidir. U Secure Enclave orqali apparat shifrlashi va FairPlay Streaming protokolidan foydalanib Apple qurilmalarida shifrni ochish kalitlarini xavfsiz uzatishni ta'minlaydi.

FairPlay Streaming sertifikatini qanday olish mumkin?

FPS sertifikatini olish uchun Apple Developer dasturida ro'yxatdan o'tish, Certificates, Identifiers & Profiles bo'limida sertifikat yaratish va uni DER formatida yuklab olish kerak. Sertifikat Xcode loyihasining bundle iga qo'shiladi va kompilyatsiya vaqtida imzolanadi.

FairPlay Android da ishlatilishi mumkinmi?

Yo'q, FairPlay Android da mavjud emas, chunki bu A-seriyasi va M-seriyasi chiplarida Secure Enclave apparat arxitekturasiga bog'liq bo'lgan Apple ning xususiy texnologiyasidir. Android qurilmalari uchun Google ning Widevine DRM i ishlatiladi.

FairPlay va FairPlay Streaming o'rtasidagi farq nima?

FairPlay Apple DRM texnologiyasining umumiy nomi, FairPlay Streaming (FPS) esa HLS oqimlarini himoya qilish uchun maxsus protokoldir. FPS video segmentlarini shifrlash va AVContentKeySession orqali litsenziyalarni boshqarish uchun FairPlay mexanizmlaridan foydalanadi.

FairPlay litsenziyasi qanday cheklovlarni o'rnatadi?

FairPlay litsenziyasi tomosha vaqti, maksimal video sifati (720p, 1080p, 4K), qurilmalar soni va kalitning amal qilish muddati uchun cheklovlar o'rnatishi mumkin. Barcha siyosatlar Secure Enclave da apparat darajasida bajariladi va chetlab o'tib bo'lmaydi.

Xulosa

  • FairPlay — Secure Enclave orqali apparat himoyasi va HLS uchun FairPlay Streaming protokoli bilan Apple ning xususiy DRM i.
  • SPC va CKC — protokolning asosiy xabarlari: mijozdan litsenziya so'rovi va serverdan kalit bilan javob.
  • FPS sertifikati ishlab chiqaruvchilar uchun majburiy va Apple Developer dasturi orqali olinadi.
  • Integratsiya AVFoundation da AVContentKeySession va AVAssetResourceLoaderDelegate orqali amalga oshiriladi.
  • Secure Enclave kalitlarning apparat darajasida izolyatsiyalangan saqlanishi va qayta ishlanishini ta'minlaydi.
  • Cheklovlar vaqt doirasi, sifat va qurilmalar sonini o'z ichiga oladi.
  • Multi-DRM yondashuvi cross-platform striming ilovalari uchun FairPlay, Widevine va PlayReady bilan zarur.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing