數(shù)字媒體播放器 OEM 廠商在考慮是否支持 DRM 這一爭議性問題之前,要首先了解高效實施 DRM 技術所面臨的障礙。高效 DRM 實施技術不僅限于優(yōu)化的加密庫,要是采用錯誤的實施方法,就會導致商業(yè)決策失誤,甚至實施失敗。本文將深入探討如何減小 DRM 對數(shù)字媒體播放器的影響,以幫助那些希望采用 DRM 技術的 OEM 廠商避免對技術產生恐慌和不確定性情緒,減少對 DRM 實施可行性的不確定因素,從而使他們能專心致力于 DRM 的高效實施問題。本文探討的方案能解決 DRM 實施所面臨的最常見障礙,適用于任何標準或架構。
通常說來,解決 DRM 時延與性能問題的關鍵在于盡可能減少 DRM 處理任務對關鍵路徑的影響。DRM 處理任務的計劃安排通常是實現(xiàn)上述目的的關鍵,我們可以采用預取 (prefetching) 或預處理數(shù)據(jù)、后臺處理等方案,也可以在用戶做思考決定、時延影響不大時進行處理。工程師應側重于解決以下三個問題,一是啟動期間,二是播放,三是內容傳輸,這三個階段均會對性能、易用性以及電池使用壽命造成影響。
啟動時間
DRM 會影響啟動時間,這一點相當重要,起初我們可能還難以直觀地察覺到。說到底,DRM 是一種驗證使用權限的技術方法,因此就算人們會問,它怎么會影響設備啟動時間呢,也不足為奇。要了解這一點,我們就要考慮在任何 DRM 規(guī)范中都非常重要的一部分要求,那就是穩(wěn)健性與符合性認證規(guī)則 (R&CR)。
R&CR 是定義著 OEM 廠商如何避免 DRM 軟、硬件被欺騙或修改的指南。請注意,盡管這些指南根據(jù)具體 DRM 標準的不同可能采用不同的名稱,但它們的基本目的都是一樣的,即穩(wěn)健的設備必須能夠識別企圖改變應用代碼的行為,避免 DRM 機制被破解或失效。在對受保護的內容進行解鎖或允許存取之前,設備必須先確認 DRM 機制已經(jīng)就緒,沒有被篡改,而且能正常工作。此外,設備必須避免調試工具的使用,因為這些工具會讓黑客有機會破解或更改許可證。
R&CR 要求根據(jù)特定的系統(tǒng)資產或組件的不同要求采用不同層次的保護機制。舉例來說,在基于證書的 DRM 方案中,確認播放器能夠播放內容服務器內容的證書就是一種高級資產,要求最高級別的保護,因為證書受損就會導致設備上的所有內容失去保護。如果特定設備的證書由具體 OEM 廠商的證書生成,那么這種證書受損就會導致該 OEM 廠商基于該證書推出的所有設備保護失效。與此相對的是,破譯某首歌曲的密鑰就不是一種特別重要的資產,因為這種密鑰僅保護一項內容。上述資產,不管是證書、密鑰還是基于其它一些保護機制或秘密機制,都應得到正確的保護??傮w說來,內容受損的風險越大,對穩(wěn)健性等級的要求就越高,并且對用戶使用體驗的潛在影響也就越大。
損壞的代碼不見得一定是因為惡意攻擊而損壞的,但這是對 DRM 構成最危險的威脅之一;如果應用本身就能被修改,那么密鑰與內容都可能受損。因此,在執(zhí)行任何應用代碼之前,設備必須確認應用來源的可信賴性。此外,這種驗證必須在每次設備加電時進行,這樣才能確保硬件沒有被篡改。這里要面臨的挑戰(zhàn)是,確認應用的代碼本身也容易受到破壞,因此它也要在執(zhí)行前進行確認(見圖 1)。
圖 1. 在加電執(zhí)行任何應用代碼之前,設備必須驗證并確認應用來自可信賴的來源。所面臨的挑戰(zhàn)是,如果驗證并確認應用的代碼本身也容易受到破壞,那么其也要在被執(zhí)行前進行驗證并確認。但是,如果不能修改 ROM 啟動加載程序 (ROM Boot Loader),那么它就不會受到破壞,因此加電時毋需確認就可以得到信任。
表 1. 安全啟動加載程序技術確認設備首次加電啟動時軟、硬件都處于已知的可信賴狀態(tài)。為了盡可能降低時延,代碼分幾個階段進行驗證并載入。如果檢測到某個階段遭到破壞,設備會啟動災難恢復模式并進行設備再配置,如果沒有問題,設備就會載入首個代碼影像,即 ROM 啟動加載程序,這是由硅芯片廠商提供的,不能修改,因此能確保驗證有效。將使用散列方法進行后續(xù)代碼驗證,有時還會采用唯一芯片 ID 進行驗證,之后進行解密。我們將啟動進程分解為幾個階段,這使設備能加速與用戶進行互動,縮短了用戶所覺察到的啟動時延時間。