FairPlay হল Apple দ্বারা বিকাশিত একটি মালিকানা DRM প্রযুক্তি যা 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 বা চলচ্চিত্রের আইডি) প্রস্তুত করতে হবে। কন্টেন্ট ভাড়ার সময়কালের জন্য সার্টিফিকেটটি বৈধ হতে হবে, অন্যথা লাইসেন্সিং ব্যর্থ হবে।
কন্টেন্ট শনাক্তকারী 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 পর্যায়ে প্রয়োগ করা হয় এবং OS পর্যায়ে সাফটওয়্যার পদ্ধতিতে বাইপাস করা যায় না। জেলব্রেকের সাথেও, হার্ডওয়্যার সুরক্ষা কী নির্গমন বা লাইসেন্স প্যারামিটার পরিবর্তন প্রতিরোধ করে।
| প্যারামিটার | 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 অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন