TWI662838B - 用以保護並安全地傳遞媒體內容之方法,裝置,及系統 - Google Patents
用以保護並安全地傳遞媒體內容之方法,裝置,及系統 Download PDFInfo
- Publication number
- TWI662838B TWI662838B TW101147203A TW101147203A TWI662838B TW I662838 B TWI662838 B TW I662838B TW 101147203 A TW101147203 A TW 101147203A TW 101147203 A TW101147203 A TW 101147203A TW I662838 B TWI662838 B TW I662838B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory area
- hardware
- protected memory
- firmware
- chip system
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 30
- 230000002093 peripheral effect Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims 5
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3234—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/603—Digital right managament [DRM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
用以保護並安全地傳遞媒體內容之方法、裝置、及系統包括組態晶片系統(SOC)之記憶體控制器以建立受保護記憶體區域,使用該SOC之安全引擎來鑑別硬體週邊的韌體,並儲存該經鑑別韌體於該受保護記憶體區域中。該安全引擎可藉由鑑別用來加密該韌體之週邊密碼鍵來鑑別該韌體。僅經鑑別硬體週邊可存取該受保護記憶體區域。
Description
本發明係有關用以保護並安全地傳遞媒體內容之方法,裝置,及系統。
內容使用者存取媒體內容的方式正從傳統的伺機存取改變成按需(on-demand)存取。按需媒體內容,還有一些標準的媒體內容,時常藉由串流內容至多媒體平台而遞送,多媒體平台例如機上盒、智慧型手機、電腦桌、膝上型電腦、或類似者。如果多媒體內容為付費內容,在傳送到多媒體平台期間常以某種方式保護多媒體內容。例如,各種數位版權管理(DRAM)及條件式存取(CA)技術可用來提供自媒體來源至多媒體平台的多媒體內容之保護。這樣的技術一般涉及內容媒體之加密。
晶片系統(SOC)為除了處理核心外另合併電子系統的各種構件於單一晶粒上之積體電路。例如,SOC可包括在單一晶片上之處理器核心、記憶體控制器、視頻構件、音頻構件、及/或通訊構件。由於其相對小的尺寸,SOC用於許多多媒體平台中。
雖然本公開之概念可輕易有各種修改及替代形式,其特定示範實施例已在圖中舉例顯示並將詳細在此說明。然
而,應了解到未意欲限制本公開的概念於所揭露之特定形式,但相反地,意在涵蓋與本公開及所附之申請專利範圍一致之所有修改、等效者、及替代。
在下列說明中,提出比如邏輯實作、運算碼、指定運算元之機構、來源分割/共享/複製實作、系統構件之類型及相互關係、及邏輯分割/整合選擇之各種特定細節,以提供本公開之更詳盡的理解。然而,熟悉此技藝人士可認知到公開之實施例可在無這種特定細節下加以實行。在其他例子中,並未詳細顯示控制結構、閘級電路、及完整軟體指令序列以不混淆本發明。此技藝中具有通常知識者,有鑑於所含之說明,將得以實施適當的功能而無需過度實驗。
說明書中對於「一實施例(one embodiment或an embodiment)」、「一範例實施例」等等之參照指示所述的實施例可包括特定特徵、結構、或特性,但每一個實施例並非一定都包括該特徵、結構、或特性。此外,這樣的詞語並非皆參照相同的實施例。另外,當連同一實施例敘述特定特徵、結構、或特性時,連同其他實施例(無論明確說明與否)實現這種特徵、結構、或特性應在熟悉此技藝人士的知識內。
可在硬體、韌體、軟體、或上述之任何組合中實現本發明之實施例。在電腦系統中實現的本發明之實施例可包括在構件間之一或更多個匯流排為基之互連或鏈結及/或構件間之一或更多個點對點互連。也可將本發明之實施例
實現為由暫態或非暫態機器可讀取媒體進行或儲存之指令,該機器可讀取媒體可由一或更多個處理器讀取並執行。機器可讀取媒體可體現為任何裝置、機制、或實體結構,以儲存或傳送具有機器(如計算裝置)可讀取形式之資訊。例如,機器可讀取媒體可體現為唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光學儲存媒體、快閃記憶體裝置、迷你或微型SD卡、記憶棒、電性信號、及其他者。
在圖中,為了方便說明可能顯示比如代表裝置、模組、指令區塊及資料元件的那些之示意元件的特定配置或排列。然而,熟悉此技藝人士應可了解到圖中的示意元件之特定排序或配置並非意圖暗示需要處理之特定順序或序列,或程序之分離。此外,圖中之示意元件的包括並非意圖暗示在所有實施例中都需要這種元件或由這種元件代表的特徵可能不包括在一些實施例中或在一些實施例中與其他元件結合。
一般而言,可使用任何適當形式的機器可讀取指令,比如軟體或韌體應用、程式、函數、模組、常式、程序(process)、步驟(procedure)、插件、小程序(applet)、小工具(widget)、碼段及/或其他者,來實現用來代表指令區塊之示意元件,並可使用任何適當的編程語言、程式庫、應用編程介面(API)、及/或其他軟體開發工具,來實現每一個這樣的指令。例如,可使用Java、C++、及/或其他程式語言來實現一些實施例。類似地,可使用
任何適當的電子配置或結構,比如暫存器、資料貯存、表、記錄、陣列、索引、散列、映圖、樹、列表、圖、檔案(任何檔案類型)、檔案夾、目錄、資料庫、及/或其他者,來實現用來代表資料或資訊之示意元件。
此外,在圖中,在比如實或虛線或箭頭之連接元件用來繪示兩或更多個其他的示意元件之間的連結、關係、或關聯之處,任何這種連接元件之缺少並非意圖暗示無連結、關係、或關聯可存在。換言之,元件之間的一些連結、關係、或關聯可能未顯示在圖中以不混淆本公開。另外,為了方便繪示,單一連接元件可用來代表元件間之多個連結、關係、或關聯。例如,在一連接元件代表信號、資料、或指令的通訊之處,熟悉此技藝人士應可了解到,有需要時,這種元件可代表一或更多個信號路徑(如匯流排)來實現該通訊。
茲參照第1圖,在一實施例中,多媒體平台100組態成傳遞媒體內容至平台100之使用者。多媒體平台100可體現成組態成傳遞媒體內容的任何類型之裝置。例如,多媒體平台100可體現為機上盒、智慧型手機、平板電腦、膝上型電腦、行動上網裝置(MID)、桌上型電腦、或能夠傳遞媒體內容之其他裝置。多媒體平台100可組態成傳遞任何類型的媒體內容至使用者,包括,例如,電影、圖案、影像、歌曲、音頻、及/或視頻記錄、及/或任何其他類型之音頻、視頻、及/或音頻和視頻內容。
多媒體平台100包括晶片系統(SOC)102及平台記
憶體104。將於後更詳細討論,SOC 102組態成當媒體內容在SOC 102及記憶體104內的同時保護並安全地傳遞媒體內容。要這樣做,SOC 102的安全引擎110在記憶體104中建立受保護記憶體112,由記憶體104之記憶體控制器114硬體實施該記憶體。記憶體控制器114確保僅SOC 102之經授權的硬體週邊可存取受保護記憶體112。SOC 102之安全引擎110藉由在載入韌體到受保護記憶體112中之前鑑別每一個週邊的韌體來授權每一個硬體週邊。經解密的媒體內容也儲存於受保護記憶體112中並僅可由經授權的硬體週邊存取。依此方式,在SOC 102中建立受信賴的資料路徑,其中僅可由SOC 102之經鑑別構件存取經解密的媒體內容。
SOC 102可體現成任何類型的晶片系統,其可包括各種構件及結構。在第1圖之例示實施例中,SOC 102包括如上所述之安全引擎110及記憶體控制器114、處理器核心116、及複數個硬體週邊120,其經由鏈結118互相通訊式耦合。鏈結118可體現成任何類型的互連,比如匯流排、點對點、或能夠促進SOC 102之各種構件間的通訊之其他互連。硬體週邊120可包括取決於SOC 102的預定功能之任何類型的硬體週邊構件。例如,在例示實施例中,硬體週邊120包括解多工器122、視頻預解析器124、視頻解碼器126、顯示處理引擎(DPE)128、音頻數位信號處理器(DSP)130、視頻圖形132、及音頻/視頻I/O 134。硬體週邊120之每一者包括一關聯的韌體
140及一密碼鍵142。將於後更詳細討論,由安全引擎110使用安全引擎110的安全鍵150事先簽署每一個硬體週邊120的密碼鍵142。
安全引擎110可體現為與處理器核心116分離之安全共處理器或處理電路。安全引擎110包括安全引擎韌體152及安全記憶體154,其僅可由安全引擎110存取。在例示實施例中,安全記憶體154形成安全引擎110之實體部分,但在其他實施例中可形成記憶體104之一部分(亦即,受保護記憶體112之一部分)。安全引擎110儲存安全鍵150,及如下所討論之其他密碼鍵,於安全記憶體154中。安全鍵150可在SOC 102的製造期間提供或可由SOC 102在操作期間產生。例如,在一些實施例中,安全鍵150係基於安全引擎110內的已熔斷的保險絲(blown fuses)。額外或替代地,安全引擎110可包括鍵產生模組,比如受信賴平台模組(TPM),來產生安全鍵150。於使用期間,安全引擎110可使用任何數量的安全鍵150,其可為彼此相同或不同。
如上所討論,記憶體104包括受保護記憶體112及未受保護記憶體160。各種資料可於多媒體平台100的操作期間以經解密或加密的形式儲存於未受保護記憶體160中。例如,如下更詳細討論,經加密應用鍵162可連同用於傳遞給使用者之任何經加密的媒體內容儲存於記憶體104的未受保護記憶體160中。
在一些實施例中,多媒體平台100可包括除了SOC
102和記憶體104外的額外構件及結構。例如,在例示實施例中,多媒體平台100包括比如硬碟或固態驅動機之長期資料貯存170、通訊輸出172、顯示器174、及比如揚聲器之音頻裝置176,各與SOC 102通訊或否則互動。
茲參照第2圖,如上所討論,記憶體104的受保護記憶體112係由記憶體控制器114實施。要這樣做,記憶體控制器114組態成建立硬體實施之受保護記憶體區域200,其相關並界定SOC 102之受保護記憶體112。硬體實施之受保護記憶體區域可包括任何數量的受保護記憶體區域或子區域。例如,在第2圖之例示實施例中,硬體實施之受保護記憶體區域包括其中儲存經鑑別之韌體的韌體受保護記憶體區域202、其中儲存經解密的視頻之訊框緩衝器受保護記憶體區域204、其中儲存經解密音頻的音頻受保護記憶體區域206、壓縮視頻受保護記憶體區域208、安全引擎至輸送流解多工(TSD)受保護記憶體區域210、及/或一或更多個受保護記憶體區域212。當然,在其他實施例中,取決於,例如,SOC 102之預定的功能,硬體實施之受保護記憶體區域200可包括更少或更多數量的受保護記憶體區域。
受保護記憶體區域202、204、206、208、210、212的每一者取決於個別用途可包括類似或不同的安全屬性。記憶體控制器114將這種屬性確保到相應的暫存器中,使得屬性後續無法被變更。另外,記憶體控制器114可確保受保護記憶體區域202、204、206、208、210、212為適
當組態(如相應的記憶體位址沒有重疊)且,在一些實施例中,可對受保護記憶體112履行其他安全及錯誤檢查。
於使用期間,記憶體控制器114為受保護記憶體112提供硬體實施的保護。例如,硬體週邊120可與記憶體控制器114的記憶體介面220通訊來從記憶體102擷取資料。記憶體控制器114判定硬體週邊120是否正從受保護記憶體112(如從受保護記憶體區域200之一)請求資料。若是,僅若請求的硬體週邊120已由安全引擎110事先鑑別過(此將於下討論),記憶體控制器114才允許對受保護記憶體112之相應的硬體實施之受保護記憶體區域200之存取(箭頭230)。若否,記憶體控制器114拒絕請求的存取。或者,硬體週邊120可請求對未受保護記憶體160之存取(箭頭232),其被記憶體控制器114所允許。
如上討論過,硬體實施之受保護記憶體區域200之建立及硬體週邊120之鑑別組態SOC 102內之受信賴資料路徑,其中媒體內容在其整個傳遞過程中受到保護。例如,於第3圖中顯示受信賴資料路徑300之一例示實施例。在第3圖的圖中,顯示受信賴資料路徑300為填滿箭頭,而未填滿箭頭指示未受保護資料路徑。另外,以雙括號顯示SOC 102之每一個經鑑別的硬體構件以指示該構件已由安全引擎110先鑑別過。
如第3圖中所示,主機軟體302可在多媒體平台100上執行。主機軟體302可請求經加密媒體內容304之傳遞
(如播放)。經加密媒體內容304可例如儲存在未受保護的記憶體104中。回應於傳遞請求,安全引擎110從記憶體160擷取經加密媒體內容304。安全引擎110使用經加密應用鍵162將媒體內容解密成A/V流306。如此,如後更詳細討論,安全引擎110確保應用鍵162在解密狀態中時(例如,安全引擎110將經解密應用鍵儲存於安全記憶體154中)永遠不會未受到保護。類似地,安全引擎110藉由將經解密的媒體流儲存在受保護記憶體區域200中來確保經解密的媒體內容之保護,該受保護記憶體區域僅可由經鑑別的硬體週邊120存取。
由解多工器122存取A/V流306,該解多工器從A/V流306分離出音頻及視頻。另外,解多工器122可提供媒體內容之區段資料320至主機軟體。區段資料320之傳送如第3圖之未填滿箭頭所示係未受保護。由音頻DSP 130存取A/V流306之音頻308,該音頻DSP產生經處理之音頻310給A/V輸出134。另外,由音頻預解析器124存取A/V流306之壓縮視頻312。音頻預解析器124可產生元資料322,其以未受保護傳送中提供至主機軟體302。由視頻解碼器136存取經預解析之壓縮視頻314,該視頻解碼器產生視頻畫素316。由DPE 128存取視頻畫素316以產生視頻畫素318,其後續由視頻圖形132存取來在A/V輸出134產生無壓縮的視頻流。依此方式,於SOC 102中在整個受信賴資料路徑300中履行媒體內容之解密及解壓縮,使得在整個媒體內容的傳遞過程中保護對媒體
內容之存取。
茲參照第4圖,在使用時,SOC 102可執行方法400來建立受保護記憶體區域200。方法400以區塊402開始,其中可載入多媒體平台100之操作系統。於啟動程序期間,於區塊404中載入安全引擎110的驅動器。在區塊406中,SOC 102判定SOC 102是否組態成使用受信賴資料路徑來傳遞媒體內容。若否,則方法400離開並且多媒體平台100如正常般啟動。然而,如果SOC 102組態成受信賴資料路徑傳遞,方法400進至區塊408,其中安全引擎驅動器獲得有關於硬體實施之受保護記憶體區域200的資訊。這種資訊可包括,例如,每一個受保護記憶體區域200的位址範圍、每一個受保護記憶體區域200之區域類型、及與每一個受保護記憶體區域200關聯之任何額外的屬性。可從安全的資料表或之類獲得這類資訊。在區塊410中,安全引擎驅動器發送受保護記憶體區域資訊至安全引擎韌體152以進行驗證。安全引擎韌體152在區塊414中驗證受保護記憶體區域資訊。安全引擎韌體152可對受保護記憶體區域履行任何類型的驗證,包括例如確保受保護記憶體區域200之個別受保護記憶體範圍的位址範圍未彼此重疊;類型及屬性正確相應;及諸如此類。
在區塊416中,SOC 102判定受保護記憶體區域200之組態是否被安全引擎110判定為有效。如果受保護記憶體區域200之組態並非有效,則方法400進至區塊418,其中產生安全引擎驅動器錯誤。作為對此之回應,SOC
102可履行一或更多個安全動作,包括例如重新啟動、重新組態記憶體控制器114、及/或其他校正動作。然而,如果受保護記憶體區域200之組態被判定為有效,則方法400進至區塊420,其中安全引擎韌體152將尚未經過鑑別的所有硬體週邊120保持於重設模式中。
在記憶體控制器114已針對受保護記憶體區域200組態後,SOC 102之安全引擎110可鑑別SOC 102的硬體週邊120。要這樣做,SOC 102可執行用於鑑別硬體週邊120之方法500。方法500以區塊502開始,其中安全引擎110判定是否已接收到載入硬體週邊120的韌體140之請求。若是,安全引擎驅動器在區塊504中擷取請求硬體週邊120之密碼鍵142及關聯的經加密韌體140。安全引擎驅動器產生包括週邊密碼鍵142、經加密的週邊韌體140、及關聯之韌體受保護記憶體區域202的記憶體位址之韌體載入包。
安全引擎驅動器在區塊508中發送韌體載入包到安全引擎韌體152。回應此,安全引擎韌體152在區塊510中鑑別週邊密碼鍵142。要這樣做,安全引擎韌體152可使用安全引擎110之安全鍵150來驗證之前已由安全引擎110簽署過週邊密碼鍵142。
在區塊512中,SOC 102判定安全引擎110是否成功鑑別週邊密碼鍵142。若否,則方法500進至區塊514,其中產生週邊驅動器載入錯誤,並將硬體週邊保持在重設模式中。另外,SOC 102可採取對這種載入錯誤之額外的
安全回應。
如果由安全引擎110鑑別週邊密碼鍵142,方法500進至區塊516,其中安全引擎韌體152使用現已鑑別的週邊密碼鍵142來鑑別週邊韌體140。例如,在其中韌體140係經加密的實施例中,安全引擎110解密韌體140。另外或或者,安全引擎110可使用週邊密碼鍵142基於例如韌體140之散列函數或之類來確保韌體140已事先被簽署過。
在區塊518中,SOC 102判定安全引擎110成功鑑別週邊韌體140。若否,方法500進至區塊514,其中產生週邊驅動器載入錯誤,並將硬體週邊保持在重設模式中。然而,如果週邊韌體140經鑑別,則方法500進至區塊520,其中安全引擎韌體152載入經鑑別(且經解密)的硬體週邊韌體140到關聯的韌體受保護記憶體區域202中並從重設模式釋放硬體週邊120。依此方式,僅由SOC 102載入並執行硬體週邊的經鑑別韌體。另外,僅經鑑別的硬體週邊能存取受保護記憶體區域200及包含在其中之經解密的媒體內容。
茲參照第6圖,在已鑑別過硬體週邊120後,SOC 102可傳遞內容至多媒體平台100的使用者。要這樣做,SOC 102可執行用於在受信賴資料路徑中傳遞內容媒體之方法600。方法600以區塊602開始,其中由SOC載入任何數位版權管理(DRM)韌體。DRM韌體可支援待於多媒體平台100上傳遞之媒體內容的解密操作。於DRM韌
體的載入期間,用於解密媒體內容之應用加密鍵162係儲存於記憶體104中。在該例示實施例中,應用加密鍵162係以經加密形式儲存於記憶體104的未受保護記憶體160中。另外,待傳遞至使用者之經加密媒體內容可儲存在未受保護記憶體160中。
在區塊606中,SOC 102判定使用者是否已請求媒體內容之傳遞。若是,方法600進至區塊608,其中安全引擎110從記憶體104之未受保護記憶體160擷取經加密應用鍵162。在區塊610中,安全引擎110解密應用鍵162,並在區塊612中將經解密的應用鍵儲存在安全引擎110的安全記憶體154中。之後,在區塊614中,安全引擎110使用經解密的應用鍵162來解密經加密的媒體內容,其可儲存在未受保護記憶體160中。經解密的媒體內容係儲存在串流訊框緩衝器受保護記憶體區域204中。
在區塊618中,經鑑別之硬體週邊120存取受保護記憶體區域200中之經解密媒體內容,並由各個經鑑別之硬體週邊120處理媒體內容並傳遞至SOC 102的A/V輸出134以供播放給多媒體平台100的使用者。如此,應可認知到經解密的應用鍵162及經解密的媒體內容從未被置於未受保護狀態中。
應可認知到上述系統以安全且受保護的方式傳遞媒體內容。例如,經解密的媒體內容及經解密的應用鍵162每當在解密狀態中時係儲存在受保護且安全的記憶體位置中。另外,僅經鑑別的硬體週邊120能存取受保護記憶體
區域200,其中在處理供傳遞之內容期間儲存有經解密的媒體內容。依此方式,媒體內容在傳遞程序期間保全於SOC 102本身內。
雖已於圖及前面的說明中詳細繪示並說明本公開,這種繪示及說明應視為示範而非限制性,可理解到僅顯示並說明例示的實施例,且希望保護與本公開及所述之申請專利範圍一致之所有改變及修改。
100‧‧‧多媒體平台
102‧‧‧晶片系統(SOC)
104‧‧‧平台記憶體
110‧‧‧安全引擎
112‧‧‧受保護記憶體
114‧‧‧記憶體控制器
116‧‧‧處理器核心
118‧‧‧鏈結
120‧‧‧硬體週邊
122‧‧‧解多工器
124‧‧‧視頻預解析器
126‧‧‧視頻解碼器
128‧‧‧顯示處理引擎
130‧‧‧音頻數位信號處理器
132‧‧‧視頻圖形
134‧‧‧音頻/視頻I/O
136‧‧‧視頻解碼器
140‧‧‧韌體
142‧‧‧密碼鍵
150‧‧‧安全鍵
152‧‧‧安全引擎韌體
154‧‧‧安全記憶體
160‧‧‧未受保護記憶體
162‧‧‧經加密應用鍵
170‧‧‧長期資料貯存
172‧‧‧通訊輸出
174‧‧‧顯示器
176‧‧‧音頻裝置
200‧‧‧受保護記憶體區域
202‧‧‧韌體受保護記憶體區域
204‧‧‧訊框緩衝器受保護記憶體區域
206‧‧‧音頻受保護記憶體區域
208‧‧‧壓縮視頻受保護記憶體區域
210‧‧‧安全引擎至輸送流解多工受保護記憶體區域
212‧‧‧其他受保護記憶體區域
220‧‧‧記憶體介面
300‧‧‧受信賴資料路徑
302‧‧‧主機軟體
304‧‧‧經加密媒體內容
306‧‧‧A/V流
308‧‧‧音頻
310‧‧‧經處理的音頻
312‧‧‧壓縮視頻
314‧‧‧經預解析之壓縮視頻
316‧‧‧視頻畫素
318‧‧‧視頻畫素
320‧‧‧區段資料
322‧‧‧元資料
舉例但非以限制的方式在圖中繪示在此所述之發明。為了圖解之簡單及清楚,圖中所示之元件並非一定按照比例繪製。例如,為求清楚,可能相較於其他元件放大某些元件的尺寸。此外,適當時,在圖中重複參考標籤來指示相應或相似之元件。
第1圖為包括晶片系統(SOC)之多媒體平台的至少一個實施例之簡化區塊圖;第2圖為第1圖之多媒體平台的記憶體控制器和記憶體之至少一個實施例的簡化區塊圖;第3圖為第1圖之SOC的受保護媒體內容流之至少一個實施例的簡化區塊圖;第4圖為用於在SOC中建立受保護記憶體區域的方法之至少一個實施例的簡化流程圖;第5圖為用於鑑別SOC之硬體週邊的方法之至少一個實施例的簡化流程圖;及
第6圖為用於從SOC傳遞內容媒體的方法之至少一個實施例的簡化流程圖。
Claims (25)
- 一種晶片系統設備,包含:具有至少一個受保護區域之記憶體,以儲存至少經解密之媒體內容於其中;及與該記憶體分離之晶片系統,其中該晶片系統包含:位於該晶片系統之半導體晶粒上並耦合到該記憶體之記憶體控制器,以實施該受保護記憶體區域之保護,使得僅許可該晶片系統之經鑑別週邊裝置存取該受保護區域;及位於該半導體晶粒上並耦合到該記憶體控制器之安全引擎,以(i)鑑別其位於該晶片系統之該半導體晶粒上的硬體週邊的韌體;(ii)回應於被該安全引擎鑑別之該韌體而儲存該硬體週邊之該韌體於該受保護記憶體區域中;及(iii)回應於被該安全引擎鑑別之該韌體而從重設狀態釋放該硬體周邊來允許該硬體週邊存取該受保護記憶體區域。
- 如申請專利範圍第1項所述之晶片系統設備,其中該安全引擎進一步允許自該受保護記憶體區域執行該韌體以啟動該硬體週邊。
- 如申請專利範圍第1項所述之晶片系統設備,其中該韌體包含該硬體週邊之經加密韌體;且其中該安全引擎:使用該安全引擎之安全密碼鍵來獲得該硬體週邊之週邊密碼鍵並鑑別該週邊密碼鍵;回應於以該安全密碼鍵鑑別該週邊密碼鍵而使用該週邊密碼鍵來鑑別該經加密韌體;及以該週邊密碼鍵來解密該經加密韌體。
- 如申請專利範圍第1項所述之晶片系統設備,其中該安全引擎回應於接收傳遞媒體內容之請求而自記憶體擷取經加密應用鍵。
- 如申請專利範圍第4項所述之晶片系統設備,其中該安全引擎以該安全引擎之安全密碼鍵解密該經加密應用鍵並儲存該經解密應用鍵於該受保護記憶體區域中。
- 如申請專利範圍第5項所述之晶片系統設備,其中該安全引擎存取經加密媒體內容並使用該經解密應用鍵來解密該媒體內容。
- 如申請專利範圍第6項所述之晶片系統設備,其中該安全引擎儲存該經解密媒體內容於該受保護記憶體區域中。
- 如申請專利範圍第7項所述之晶片系統設備,其中該經鑑別硬體週邊存取該受保護記憶體區域以擷取該經解密媒體內容。
- 如申請專利範圍第7項所述之晶片系統設備,進一步包含複數經鑑別硬體週邊以傳遞該經解密媒體到該晶片系統之輸出,使得無未經鑑別硬體週邊存取該經解密媒體內容。
- 一種機器可讀取儲存媒體,包含複數指令儲存於其上,該些複數指令回應於藉由計算裝置之執行而造成該計算裝置:組態晶片系統之記憶體控制器以在與該晶片系統分離之記憶體中建立受保護記憶體區域,該受保護記憶體區域僅可被經鑑別硬體週邊存取;以該晶片系統之安全引擎來鑑別該晶片系統之硬體週邊的韌體,其中該記憶體控制器、該硬體周邊、及該安全引擎之各者係位於該晶片系統之半導體晶粒上;回應於由該安全引擎鑑別該韌體而儲存該韌體於該受保護記憶體區域中;及自該受保護記憶體區域執行該韌體以自重設狀態釋放該硬體周邊來允許該硬體週邊存取該受保護記憶體區域。
- 如申請專利範圍第10項所述之機器可讀取儲存媒體,其中組態該記憶體控制器包含獲得受保護記憶體區域資訊並使用該經識別資訊來組態該記憶體控制器。
- 如申請專利範圍第11項所述之機器可讀取儲存媒體,其中獲得受保護記憶體區域資訊包含獲得該受保護記憶體區域之位址範圍。
- 如申請專利範圍第11項所述之機器可讀取儲存媒體,其中獲得受保護記憶體區域資訊包含獲得該受保護記憶體區域之位址範圍、該受保護記憶體區域之類型、及該受保護記憶體區域的至少一個屬性。
- 如申請專利範圍第11項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置使用該晶片系統之該安全引擎來驗證該受保護記憶體區域資訊。
- 如申請專利範圍第10項所述之機器可讀取儲存媒體,其中鑑別該硬體週邊的該韌體包含:獲得該硬體週邊之週邊密碼鍵及該硬體週邊之經加密韌體,使用該安全引擎之安全密碼鍵來鑑別該週邊密碼鍵,回應於使用該安全密碼鍵鑑別該週邊密碼鍵而使用該週邊密碼鍵來鑑別該經加密韌體,及其中鑑別該經加密韌體包含使用該週邊密碼鍵來解密該經加密韌體。
- 如申請專利範圍第10項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置回應於接收傳遞媒體內容之請求而使用該安全引擎來自記憶體擷取經加密應用鍵。
- 如申請專利範圍第16項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置以該安全引擎之安全密碼鍵解密該經加密應用鍵並儲存該經解密應用鍵於該受保護記憶體區域中。
- 如申請專利範圍第17項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置存取經加密媒體內容並使用該經解密應用鍵來解密該媒體內容。
- 如申請專利範圍第18項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置儲存該經解密媒體內容於該受保護記憶體區域中。
- 如申請專利範圍第19項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置以經鑑別硬體週邊存取該受保護記憶體區域來擷取經解密媒體內容。
- 如申請專利範圍第19項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置傳遞該經解密媒體到該晶片系統之輸出,使得無未經鑑別硬體週邊存取該經解密媒體內容。
- 一種機器可讀取儲存媒體,包含複數指令儲存於其上,該些複數指令回應於藉由計算裝置之執行而造成該計算裝置:組態晶片系統之記憶體控制器以在與該晶片系統分離之記憶體中建立受保護記憶體區域;以該晶片系統之安全引擎接收硬體週邊之週邊密碼鍵及該硬體週邊之經加密韌體,其中該記憶體控制器、該硬體周邊、及該安全引擎之各者係位於該晶片系統之半導體晶粒上;使用該安全引擎之安全密碼鍵來鑑別該週邊密碼鍵;回應於該週邊密碼鍵經鑑別而使用該週邊密碼鍵來鑑別該經加密韌體;儲存該經解密韌體於該受保護記憶體區域中;及自該受保護記憶體區域執行該經解密韌體以自重設狀態釋放該硬體週邊來允許該硬體週邊存取該受保護記憶體區域。
- 如申請專利範圍第22項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置:回應於接收傳遞媒體內容之請求而使用該安全引擎來自記憶體擷取經加密應用鍵;以該安全引擎之該安全密碼鍵解密該經加密應用鍵並儲存該經解密應用鍵於該受保護記憶體區域中;及存取經加密媒體內容並以該經解密應用鍵來解密該媒體內容。
- 如申請專利範圍第23項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置以經鑑別硬體週邊存取該受保護記憶體區域來擷取經解密媒體內容。
- 如申請專利範圍第23項所述之機器可讀取儲存媒體,其中該些複數指令進一步造成該計算裝置傳遞該經解密媒體到該晶片系統之輸出,使得無未經鑑別硬體週邊存取該經解密媒體內容。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/065072 WO2013089726A1 (en) | 2011-12-15 | 2011-12-15 | Method, device, and system for protecting and securely delivering media content |
??PCT/US11/65072 | 2011-12-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201340692A TW201340692A (zh) | 2013-10-01 |
TWI662838B true TWI662838B (zh) | 2019-06-11 |
Family
ID=48613010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101147203A TWI662838B (zh) | 2011-12-15 | 2012-12-13 | 用以保護並安全地傳遞媒體內容之方法,裝置,及系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20130275769A1 (zh) |
EP (1) | EP2791849A4 (zh) |
CN (1) | CN104246784B (zh) |
TW (1) | TWI662838B (zh) |
WO (1) | WO2013089726A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2792100B1 (en) | 2011-12-15 | 2020-07-29 | Intel Corporation | Method and device for secure communications over a network using a hardware security engine |
EP2791856A4 (en) | 2011-12-15 | 2015-08-19 | Intel Corp | METHOD, DEVICE AND SYSTEM FOR SECURELY SHARING MULTIMEDIA CONTENT FROM SOURCE DEVICE |
US8856515B2 (en) | 2012-11-08 | 2014-10-07 | Intel Corporation | Implementation of robust and secure content protection in a system-on-a-chip apparatus |
KR20150070890A (ko) * | 2013-12-17 | 2015-06-25 | 삼성전자주식회사 | 파일 처리 방법 및 이를 지원하는 전자 장치 |
US10726162B2 (en) * | 2014-12-19 | 2020-07-28 | Intel Corporation | Security plugin for a system-on-a-chip platform |
US9852301B2 (en) * | 2014-12-24 | 2017-12-26 | Intel Corporation | Creating secure channels between a protected execution environment and fixed-function endpoints |
US10346071B2 (en) | 2016-12-29 | 2019-07-09 | Western Digital Technologies, Inc. | Validating firmware for data storage devices |
US20180196956A1 (en) * | 2017-01-10 | 2018-07-12 | Renesas Electronics America Inc. | Security architecture and method |
US10839080B2 (en) * | 2017-09-01 | 2020-11-17 | Microsoft Technology Licensing, Llc | Hardware-enforced firmware security |
US10666430B2 (en) * | 2017-09-29 | 2020-05-26 | Intel Corporation | System and techniques for encrypting chip-to-chip communication links |
GB201810533D0 (en) | 2018-06-27 | 2018-08-15 | Nordic Semiconductor Asa | Hardware protection of files in an intergrated-circuit device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948065B2 (en) * | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7350083B2 (en) * | 2000-12-29 | 2008-03-25 | Intel Corporation | Integrated circuit chip having firmware and hardware security primitive device(s) |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401208B2 (en) * | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
US20020112161A1 (en) * | 2001-02-13 | 2002-08-15 | Thomas Fred C. | Method and system for software authentication in a computer system |
US7243347B2 (en) * | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US7444668B2 (en) * | 2003-05-29 | 2008-10-28 | Freescale Semiconductor, Inc. | Method and apparatus for determining access permission |
US20050114687A1 (en) * | 2003-11-21 | 2005-05-26 | Zimmer Vincent J. | Methods and apparatus to provide protection for firmware resources |
US7600132B1 (en) * | 2003-12-19 | 2009-10-06 | Adaptec, Inc. | System and method for authentication of embedded RAID on a motherboard |
TWI240531B (en) * | 2003-12-24 | 2005-09-21 | Inst Information Industry | Multitasking system level system for Hw/Sw co-verification |
US7802085B2 (en) * | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
JP4420201B2 (ja) * | 2004-02-27 | 2010-02-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ハードウェアトークンを用いた認証方法、ハードウェアトークン、コンピュータ装置、およびプログラム |
US7747862B2 (en) * | 2004-06-28 | 2010-06-29 | Intel Corporation | Method and apparatus to authenticate base and subscriber stations and secure sessions for broadband wireless networks |
US7503504B2 (en) * | 2005-12-15 | 2009-03-17 | Intel Corporation | Transaction card supporting multiple transaction types |
US8719526B2 (en) * | 2006-01-05 | 2014-05-06 | Broadcom Corporation | System and method for partitioning multiple logical memory regions with access control by a central control agent |
US8429418B2 (en) * | 2006-02-15 | 2013-04-23 | Intel Corporation | Technique for providing secure firmware |
US9177176B2 (en) * | 2006-02-27 | 2015-11-03 | Broadcom Corporation | Method and system for secure system-on-a-chip architecture for multimedia data processing |
US8014530B2 (en) * | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
KR100809295B1 (ko) * | 2006-04-06 | 2008-03-04 | 삼성전자주식회사 | 소프트웨어 설치를 위한 장치 및 방법 |
US8560863B2 (en) * | 2006-06-27 | 2013-10-15 | Intel Corporation | Systems and techniques for datapath security in a system-on-a-chip device |
US20080022395A1 (en) * | 2006-07-07 | 2008-01-24 | Michael Holtzman | System for Controlling Information Supplied From Memory Device |
US20080244267A1 (en) * | 2007-03-30 | 2008-10-02 | Intel Corporation | Local and remote access control of a resource |
US9053323B2 (en) * | 2007-04-13 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Trusted component update system and method |
US20090319804A1 (en) * | 2007-07-05 | 2009-12-24 | Broadcom Corporation | Scalable and Extensible Architecture for Asymmetrical Cryptographic Acceleration |
US20110154023A1 (en) * | 2009-12-21 | 2011-06-23 | Smith Ned M | Protected device management |
US9177152B2 (en) * | 2010-03-26 | 2015-11-03 | Maxlinear, Inc. | Firmware authentication and deciphering for secure TV receiver |
-
2011
- 2011-12-15 US US13/976,042 patent/US20130275769A1/en not_active Abandoned
- 2011-12-15 CN CN201180076311.0A patent/CN104246784B/zh not_active Expired - Fee Related
- 2011-12-15 EP EP11877254.0A patent/EP2791849A4/en not_active Withdrawn
- 2011-12-15 WO PCT/US2011/065072 patent/WO2013089726A1/en active Application Filing
-
2012
- 2012-12-13 TW TW101147203A patent/TWI662838B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6948065B2 (en) * | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US7350083B2 (en) * | 2000-12-29 | 2008-03-25 | Intel Corporation | Integrated circuit chip having firmware and hardware security primitive device(s) |
Also Published As
Publication number | Publication date |
---|---|
TW201340692A (zh) | 2013-10-01 |
CN104246784A (zh) | 2014-12-24 |
US20130275769A1 (en) | 2013-10-17 |
EP2791849A4 (en) | 2015-08-19 |
WO2013089726A1 (en) | 2013-06-20 |
CN104246784B (zh) | 2017-11-17 |
EP2791849A1 (en) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI662838B (zh) | 用以保護並安全地傳遞媒體內容之方法,裝置,及系統 | |
TWI715619B (zh) | 用於硬體強制單向密碼學的處理器、方法及系統 | |
JP6289029B2 (ja) | 保安コンテンツを処理するシステムオンチップ及びそれを含むモバイル装置 | |
EP3326105B1 (en) | Technologies for secure programming of a cryptographic engine for secure i/o | |
US8572410B1 (en) | Virtualized protected storage | |
US9792439B2 (en) | Method and system for securely updating firmware in a computing device | |
US9767317B1 (en) | System to provide cryptographic functions to a markup language application | |
CN106104542B (zh) | 对于数据即服务(DaaS)的内容保护 | |
EP2630607B1 (en) | Method and apparatus including architecture for protecting sensitive code and data | |
EP3047375B1 (en) | Virtual machine manager facilitated selective code integrity enforcement | |
US10318765B2 (en) | Protecting critical data structures in an embedded hypervisor system | |
US9660986B2 (en) | Secure access method and secure access device for an application program | |
US20140317394A1 (en) | Provisioning of operating systems to user terminals | |
US9495562B2 (en) | Removable storage device data protection | |
US8412903B2 (en) | Method and system for managing secure code loading in PC-slave devices | |
JP2016527608A (ja) | プロセス認証とリソースパーミッション | |
US20170357817A1 (en) | File system metadata protection | |
TW201411405A (zh) | 保護多安全cpu之計算系統及其方法 | |
JP7406013B2 (ja) | 構成設定の安全な署名 | |
US20170286665A1 (en) | Devices and methods for facilitating software signing by more than one signing authority | |
EP3221814B1 (en) | Transparent execution of secret content | |
US20190042706A1 (en) | Display of protected content using trusted execution environment | |
CN111400726B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
US10771249B2 (en) | Apparatus and method for providing secure execution environment for mobile cloud | |
US10938857B2 (en) | Management of a distributed universally secure execution environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |