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

ใบรับรองแอปถูกเพิ่มในบันเดิลโครงการและลงนามโดยอัตโนมัติเมื่อ build ผ่าน Xcode เมื่อเล่นเนื้อหาที่ป้องกันครั้งแรก ระบบจะตรวจสอบความถูกต้องของใบรับรองและขอรับลิขสิทธิ์

Secure Enclave และการป้องกันฮาร์ดแวร์

Secure Enclave — โปรเซสเซอร์ร่วมเฉพาะบนชิป Apple A-series และ M-series ที่ทำงานบนระบบปฏิบัติการ L4 ที่แยกออกมา มันรับผิดชอบในการสร้างและจัดเก็บคีย์ส่วนตัว ถอดรหัส CKC และส่งคีย์เนื้อหาไปยังโมดูลถอดรหัสวิดีโอ

การดำเนินการเข้ารหัสทั้งหมดจะดำเนินการภายใน Secure Enclave เท่านั้น และคีย์จะไม่ออกจากพื้นที่ป้องกัน การโจมตีช่องทางด้านข้าง บนบัสข้อมูลระหว่าง Secure Enclave และโปรเซสเซอร์หลักถูกป้องกันโดยการตรวจสอบความสมบูรณ์ของฮาร์ดแวร์

การผสาน FairPlay ใน iOS และ tvOS

การผสาน FairPlay ในแอป iOS และ tvOS ทำผ่าน AVFoundation และต้องใช้โปรโตคอล AVContentKeySessionDelegate และ AVAssetResourceLoaderDelegate นักพัฒนาต้องจัดการเหตุการณ์สำคัญสี่อย่าง: การรับ SPC การส่งไปยังเซิร์ฟเวอร์ การรับ CKC และการส่งไปยังเครื่องเล่น

การใช้งาน AVContentKeySession Delegate

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 จะถูกส่งกลับผ่าน delegate contentKeySession:didFailWithError และควรจัดการพร้อมแสดง UI ที่เหมาะสมแก่ผู้ใช้

รหัสข้อผิดพลาดทั่วไปรวมถึง FP_NO_ENTITLEMENT เมื่อไม่มีสมาชิกภาพและ FP_REQUEST_TIMEOUT เมื่อมีปัญหาเครือข่าย แนะนำให้ใช้ตรรกะลองซ้ำด้วยการหน่วงเวลาแบบเอกซ์โปเนนเชียลสำหรับข้อผิดพลาดเครือข่ายชั่วคราว

FairPlay Streaming และการให้ลิขสิทธิ์

FairPlay Streaming — โปรโตคอลป้องกันวิดีโอสตรีมมิ่งบนพื้นฐาน HLS ที่ใช้การเข้ารหัสเซกเมนต์และกลไกคีย์ที่มีอายุจำกัด ผู้ให้บริการเนื้อหาติดตั้งเซิร์ฟเวอร์ลิขสิทธิ์ของตนเองซึ่งผสานรวมกับระบบยืนยันตัวตนผู้ใช้

เซิร์ฟเวอร์ลิขสิทธิ์รับ คำขอ SPC จากไคลเอนต์ ดึงตัวระบุอุปกรณ์และเนื้อหาออกมา ตรวจสอบสิทธิ์ผู้ใช้ในแบ็กเอนด์ และสร้างการตอบกลับ CKC คีย์เนื้อหาถูกเข้ารหัสด้วยคีย์สาธารณะของอุปกรณ์จากใบรับรอง FPS

นโยบายการให้ลิขสิทธิ์ FairPlay

ลิขสิทธิ์ FairPlay สามารถมี ข้อจำกัดด้านเวลา (เช่า 48 ชั่วโมง), จำนวนอุปกรณ์ (สูงสุด 5 เครื่องที่ได้รับอนุญาต) และคุณภาพการเล่น (จำกัดที่ 1080p สำหรับแพ็กเกจพื้นฐาน) นโยบายถูกกำหนดที่ฝั่งเซิร์ฟเวอร์และบรรจุใน Key Envelope

สำคัญที่ต้องทราบว่า นโยบาย FairPlay ถูกบังคับใช้ในระดับ Secure Enclave และไม่สามารถเลี่ยงได้ด้วยวิธีการทางซอฟต์แวร์ในระดับ OS แม้จะมีการเจลเบรก การป้องกันฮาร์ดแวร์ก็ป้องกันการดึงคีย์หรือการเปลี่ยนแปลงพารามิเตอร์ลิขสิทธิ์

การเปรียบเทียบ 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 API AVContentKeySession พร้อมใช้งานสำหรับทุกแอป แต่การเร่งด้วยฮาร์ดแวร์ผ่าน Secure Enclave จำเป็นสำหรับเนื้อหาใน คุณภาพ 4K HDR เท่านั้น บนอุปกรณ์ที่มีชิป A8–A10 รองรับเฉพาะความละเอียดสูงสุด 1080p

ใน iOS 14 Apple เพิ่มการรองรับหลายเซสชัน FairPlay ซึ่งช่วยให้แอปเล่นสตรีมที่ป้องกันหลายรายการพร้อมกัน — เช่น ภาพซ้อนภาพ พร้อมลิขสิทธิ์ที่แตกต่างกัน iOS 15 ขยายโปรโตคอลด้วยการรองรับการอัปเดตคีย์ในพื้นหลังสำหรับการรับชมเป็นเวลานาน

FairPlay ในสถาปัตยกรรม Multi-DRM

สำหรับบริการสตรีมมิ่งข้ามแพลตฟอร์ม FairPlay ถูกใช้เป็นส่วนหนึ่งของสถาปัตยกรรม Multi-DRM ร่วมกับ Widevine และ PlayReady ตัวรวบรวมลิขสิทธิ์ เช่น Axinom และ EZDRM ให้ API เดียวที่แปลงคำขอเป็นรูปแบบ 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 และลงนามเมื่อ build

สามารถใช้ FairPlay บน Android ได้หรือไม่?

ไม่ FairPlay ไม่พร้อมใช้งาน บน Android เนื่องจากเป็นเทคโนโลยีกรรมสิทธิ์ของ Apple ที่ผูกติดกับสถาปัตยกรรมฮาร์ดแวร์ Secure Enclave บนชิป A-series และ M-series สำหรับอุปกรณ์ 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 จัดเก็บและประมวลผลคีย์อย่างแยกส่วนในระดับฮาร์ดแวร์
  • ข้อจำกัด ของลิขสิทธิ์รวมถึงกรอบเวลา คุณภาพ และจำนวนอุปกรณ์
  • แนวทาง Multi-DRM ด้วย FairPlay, Widevine และ PlayReady จำเป็นสำหรับแอปสตรีมมิ่งข้ามแพลตฟอร์ม

เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร

IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ

ปรึกษาโครงการ

อ่านเพิ่มเติม