安全共享來自源裝置的媒體內(nèi)容的方法、裝置和系統(tǒng)的制作方法
【專利摘要】用于與宿裝置共享媒體內(nèi)容的方法、裝置和系統(tǒng)包含:執(zhí)行與宿裝置的密碼密鑰交換,并在源裝置的片上系統(tǒng)(SOC)的安全性引擎中生成授權(quán)密鑰。該方法還包含:作為授權(quán)密鑰的函數(shù)生成交換密鑰,并作為交換密鑰的函數(shù)生成分組密鑰。此類密鑰生成發(fā)生在SOC的安全性引擎中,并且密鑰存儲在安全性引擎的安全存儲器中。
【專利說明】安全共享來自源裝置的媒體內(nèi)容的方法、裝置和系統(tǒng)
【背景技術(shù)】
[0001] 隨著能夠與數(shù)字媒體內(nèi)容交互作用的消費(fèi)者裝置變得無處不在,此類內(nèi)容的生 成、共享和消費(fèi)不斷增長。在消費(fèi)者裝置之間(特別是在家庭環(huán)境中)共享數(shù)字媒體內(nèi)容 的愿望的增大,與數(shù)字媒體內(nèi)容的增大的公開一致。為了確保兩個媒體裝置可恰當(dāng)?shù)毓蚕?數(shù)字媒體內(nèi)容,同時還確保此類內(nèi)容的數(shù)字版權(quán)依然被保護(hù),各種授權(quán)機(jī)構(gòu)已經(jīng)開發(fā)了數(shù) 字媒體內(nèi)容遞送協(xié)議。一個此類組織是數(shù)字生活網(wǎng)絡(luò)聯(lián)盟(DLNA),其已經(jīng)建立了用于在媒 體裝置之間共享媒體內(nèi)容的各種互操作性協(xié)議和標(biāo)準(zhǔn)。例如,數(shù)字傳送內(nèi)容保護(hù)(DTCP)協(xié) 議是定義用于在媒體裝置之間安全共享媒體內(nèi)容的安全性指南和依從性要求的安全性協(xié) 議。通過因特網(wǎng)協(xié)議的數(shù)字傳送內(nèi)容保護(hù)(DTCP-IP)是針對通過網(wǎng)絡(luò)在媒體裝置之間共享 媒體內(nèi)容的DTCP協(xié)議的子集協(xié)議。
[0002] -些媒體裝置利用片上系統(tǒng)(S0C)設(shè)計,因?yàn)樗鼈兊呐_面比較小。S0C裝置是在單 個裸晶上除了處理核之外還合并電子系統(tǒng)的各種組件的集成電路。例如,S0C在單個芯片 上可包含處理器核、存儲器控制器、視頻組件、音頻組件和/或通信組件。
【專利附圖】
【附圖說明】
[0003] 本文描述的本發(fā)明作為示例而非作為限制在附圖中例證了。為了例證的簡潔和清 晰,在附圖中例證的元素不一定按比例繪制。例如,為了清晰起見,一些元素的尺寸可能相 對于其它元素放大了。進(jìn)一步說,在認(rèn)為適當(dāng)?shù)那闆r下,附圖標(biāo)記在各圖之間已經(jīng)被重復(fù)以 指示對應(yīng)的或類似的元素。
[0004] 圖1是用于從具有片上系統(tǒng)(S0C)的媒體源裝置向媒體宿裝置共享媒體內(nèi)容的系 統(tǒng)的至少一個實(shí)施例的簡化框圖; 圖2是用于預(yù)置媒體源裝置的S0C的安全性引擎的方法的至少一個實(shí)施例的簡化流程 圖; 圖3是用于鑒定圖1媒體宿裝置的方法的至少一個實(shí)施例的簡化流程圖;以及 圖4是用于與圖1媒體宿裝置安全共享媒體內(nèi)容的方法的至少一個實(shí)施例的簡化流程 圖。
【具體實(shí)施方式】
[0005] 雖然本公開的概念易受到各種修改和備選形式影響,但其特定示范實(shí)施例已經(jīng)在 附圖中作為示例示出了,并且將在本文中詳細(xì)描述。然而,應(yīng)該理解,沒有意圖將本公開的 概念局限于所公開的具體形式,而是相反,本發(fā)明應(yīng)覆蓋與本公開和所附權(quán)利要求書一致 的所有修改、等效和備選。
[0006] 在如下描述中,闡述了眾多特定細(xì)節(jié),諸如邏輯實(shí)現(xiàn)、操作碼、規(guī)定操作數(shù)的構(gòu)件、 資源劃分/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系以及邏輯劃分/集成選擇,以便提 供本公開的更透徹理解。然而,本領(lǐng)域技術(shù)人員將認(rèn)識到,沒有此類特定細(xì)節(jié)也可實(shí)行本公 開的實(shí)施例。在其它實(shí)例中,控制結(jié)構(gòu)、門級電路以及全軟件指令序列未詳細(xì)示出,以免使 本發(fā)明模糊不清。本領(lǐng)域普通技術(shù)人員用所包含的說明書將能夠?qū)崿F(xiàn)適當(dāng)功能性,無需過 多實(shí)驗(yàn)。
[0007] 在說明書中提到" 一個實(shí)施例"、"實(shí)施例"、"示例實(shí)施例"等指示所描述的實(shí)施例 可包含具體特征、結(jié)構(gòu)或特性,但每一個實(shí)施例可能不一定都包含該具體特征、結(jié)構(gòu)或特 性。而且,此類短語不一定是指同一實(shí)施例。進(jìn)一步說,當(dāng)具體特征、結(jié)構(gòu)或特性結(jié)合一實(shí)施 例進(jìn)行描述時,認(rèn)為它在本領(lǐng)域技術(shù)人員的知識范圍內(nèi),以結(jié)合其它實(shí)施例實(shí)現(xiàn)此類特征、 結(jié)構(gòu)或特性,不管是否明確描述了。
[0008] 本發(fā)明的實(shí)施例可用硬件、固件、軟件或它們的任何組合來實(shí)現(xiàn)。在計算機(jī)系統(tǒng)中 實(shí)現(xiàn)的本發(fā)明實(shí)施例可包含組件之間的一個或多個基于總線的互連和/或組件之間的一 個或多個點(diǎn)對點(diǎn)互連。本發(fā)明的實(shí)施例也可實(shí)現(xiàn)為由機(jī)器可讀介質(zhì)攜帶或存儲在機(jī)器可讀 介質(zhì)上的指令,其可由一個或多個處理器讀取和執(zhí)行。機(jī)器可讀介質(zhì)可實(shí)施為用于存儲或 傳送由機(jī)器(例如計算裝置)可讀形式的信息的任何裝置、機(jī)構(gòu)或物理結(jié)構(gòu)。例如,機(jī)器可 讀介質(zhì)可被實(shí)施為只讀存儲器(ROM);隨機(jī)存取存儲器(RAM);磁盤存儲介質(zhì);光存儲介質(zhì); 閃存裝置;迷你或微SD卡、存儲條、電信號及其它。
[0009] 在附圖中,為了便于描述,可示出示意性元素的特定布置或排序,諸如表示裝置、 模塊、指令塊和數(shù)據(jù)元素的那些元素。然而,本領(lǐng)域技術(shù)人員應(yīng)該理解,附圖中的示意性元 素的特定排序或布置不打算暗示需要處理的具體次序或序列或過程的分開。進(jìn)一步說,在 附圖中包含示意性元素不打算暗示在所有實(shí)施例中都需要此類元素,或者在一些實(shí)施例中 由此類元素表示的特征可能不包含在其它元素中或者與其它元素組合。
[0010] 一般而言,用于表示指令塊的示意性元素可使用任何適合形式的機(jī)器可讀指令實(shí) 現(xiàn),諸如軟件或固件應(yīng)用、程序、功能、模塊、例程、過程、工序、插件、小應(yīng)用程序、控件、代碼 段和/或其它,并且每個此類指令可使用任何適合的編程語言、庫、應(yīng)用編程接口(API)和/ 或其它軟件開發(fā)工具實(shí)現(xiàn)。例如,一些實(shí)施例可使用Java、C++或其它編程語言實(shí)現(xiàn)。類似 地,用于表示數(shù)據(jù)或信息的示意性元素可使用任何適合的電子布置或結(jié)構(gòu)(諸如寄存器、 數(shù)據(jù)存儲、表、記錄、陣列、索引、散列、映射、樹、列表、圖、文件(任何文件類型)、文件夾、目 錄、數(shù)據(jù)庫和/或其它)實(shí)現(xiàn)。
[0011] 進(jìn)一步說,在附圖中,其中連接元素(諸如實(shí)線或虛線或箭頭)用于例證兩個或更 多其它示意性元素之間或中間的連接、關(guān)系或關(guān)聯(lián),任何此類連接元素的缺乏都不打算暗 示不能存在連接、關(guān)系或關(guān)聯(lián)。換句話說,元素之間的某些連接、關(guān)系或關(guān)聯(lián)未示出,以免使 本公開模糊不清。此外,為了便于例證,單個連接元素可用于表示元素之間的多個連接、關(guān) 系或關(guān)聯(lián)。例如,其中連接元素表示信號、數(shù)據(jù)或指令的通信,本領(lǐng)域技術(shù)人員應(yīng)該理解,此 類元素可表示一個或多個信號路徑(例如總線)(如有需要)以實(shí)現(xiàn)通信。
[0012] 現(xiàn)在參考圖1,用于共享數(shù)字媒體內(nèi)容的系統(tǒng)100包含媒體源裝置102、媒體宿裝 置104和網(wǎng)絡(luò)106。在操作中,媒體源裝置102可使用安全性協(xié)議通過網(wǎng)絡(luò)106與媒體宿 裝置104共享數(shù)字媒體內(nèi)容。在說明性實(shí)施例中,使用數(shù)字傳送內(nèi)容保護(hù)(DTCP)安全性協(xié) 議,諸如通過因特網(wǎng)協(xié)議的數(shù)字傳送內(nèi)容保護(hù)(DTCP-IP)。然而,在其它實(shí)施例中可使用其 它安全性協(xié)議。
[0013] 媒體源裝置102最初鑒定媒體宿裝置104。如果媒體宿裝置104被成功鑒定,則媒 體源裝置102和宿裝置104執(zhí)行密鑰交換以生成共享的秘密密鑰。媒體源裝置102基于共 享密鑰生成分組加密密鑰,并使用分組加密密鑰加密媒體內(nèi)容。媒體宿裝置104可使用共 享交換密鑰解密媒體內(nèi)容。為了確保媒體內(nèi)容的安全性和保護(hù),由媒體源裝置102生成的 密鑰和其它密碼函數(shù)在媒體源裝置102的片上系統(tǒng)(SOC) 112的安全性引擎110內(nèi)這么做。 媒體源裝置102在安全性引擎110的安全存儲器114內(nèi)秘密地保持密鑰。用此方式,可與 媒體宿裝置104共享數(shù)字媒體內(nèi)容,同時確保用于便于此類安全共享的數(shù)字媒體內(nèi)容和加 密密鑰的安全性。
[0014] 媒體源裝置102可實(shí)施為能夠向媒體宿裝置104遞送數(shù)字媒體內(nèi)容的任何類型裝 置。例如,媒體源裝置102可實(shí)施為機(jī)頂盒、數(shù)字電視、智能電話、平板計算機(jī)、膝上型計算 機(jī)、移動因特網(wǎng)裝置(MID)、臺式計算機(jī)或能夠遞送媒體內(nèi)容的其它裝置。媒體源裝置102 可配置成向媒體宿裝置104遞送任何類型的數(shù)字媒體內(nèi)容,例如包含電影、圖片、圖像、歌 曲、音頻和/或視頻記錄和/或任何其它類型的音頻、視頻和/或音頻和視頻內(nèi)容。
[0015] 如上面所討論的,媒體源裝置102包含S0C 112,其可實(shí)施為具有各種組件和結(jié)構(gòu) 的任何類型的片上裝置。在圖1的說明性實(shí)施例中,S0C 112包含安全性引擎110、存儲器 控制器116、處理器核118以及總線、多個硬件外設(shè)130,它們以通信方式彼此耦合到鏈路 120。鏈路120可實(shí)施為任何類型的互連,諸如總線、點(diǎn)對點(diǎn)或能夠便于S0C 122各種組件 之間通信的其它互連。根據(jù)S0C 112的預(yù)計功能性,硬件外設(shè)130可包含任何類型的硬件 外設(shè)組件。例如,在說明性實(shí)施例中,硬件外設(shè)130包含分用器132以分開音頻和視頻內(nèi)容 流、視頻處理組件134以處理視頻內(nèi)容以及音頻處理組件136以處理音頻內(nèi)容。當(dāng)然,應(yīng)該 認(rèn)識到,S0C 112的硬件外設(shè)130在圖1的說明性實(shí)施例中已經(jīng)被簡化了,并且S0C 112可 包含附加的、不同的和/或更詳細(xì)的硬件外設(shè)130,為了本公開的清晰起見,這些在圖1中未 例證。
[0016] 安全性引擎110可實(shí)施為與處理器核118分開的安全性協(xié)處理器或處理電路。安 全性引擎110包含安全性密鑰150和安全存儲器114,安全存儲器僅由安全性引擎110可 存取。安全性引擎110將安全性密鑰150以及下面所討論的其它密碼密鑰存儲在安全存儲 器114中。在說明性實(shí)施例中,安全性密鑰150在S0C 112制造期間預(yù)置,但在其它實(shí)施例 中可由S0C 112在操作期間生成。例如,在一些實(shí)施例中,安全性密鑰150基于安全性引擎 110自身內(nèi)的熔絲。附加地或備選地,安全性引擎110可包含密鑰生成模塊(諸如可信平臺 模塊(TPM))以生成安全性密鑰150。在使用期間,安全性引擎110可使用任何數(shù)量的安全 性密鑰150,它們可以彼此一樣或不同。
[0017] 在一些實(shí)施例中,根據(jù)媒體源裝置102的類型和預(yù)計使用,媒體源裝置102可包含 不同于S0C 112的附加組件和結(jié)構(gòu)。例如,在圖1的說明性實(shí)施例中,媒體源裝置102包含 系統(tǒng)存儲器160、數(shù)據(jù)存儲裝置162、通信輸出164以及一個或多個輸入/輸出裝置166。系 統(tǒng)存儲器160可實(shí)施為任何類型的主存儲器或數(shù)據(jù)存儲位置,例如包含動態(tài)隨機(jī)存取存儲 器裝置(DRAM)、同步動態(tài)隨機(jī)存取存儲器裝置(SDRAM)、雙數(shù)據(jù)速率同步動態(tài)隨機(jī)存取存 儲器裝置(DDR SDRAM)、掩膜只讀存儲器(ROM)裝置、可擦除可編程ROM (EPROM)、電可擦除 可編程ROM(EEPR0M)裝置、閃速存儲器裝置和/或其它易失性和/或非易失性存儲器裝置。
[0018] 數(shù)據(jù)存儲裝置162可實(shí)施為配置用于數(shù)據(jù)的短期存儲或長期存儲的任何類型的 裝置,諸如例如存儲器裝置和電路、存儲卡、硬盤驅(qū)動器、固態(tài)驅(qū)動器或其它數(shù)據(jù)存儲裝置。 在圖1的說明性實(shí)施例中,加密的媒體內(nèi)容170可存儲在數(shù)據(jù)存儲裝置162中,其隨后可與 媒體宿裝置104分享,如下面所討論的。
[0019] 通信輸出164可實(shí)施為簡化的輸出或各種電路和/或裝置,例如以便于與媒體宿 裝置104通信。例如,通信輸出164(和/或S0C 112內(nèi)的通信電路)可以是任何適合的通 信協(xié)議,諸如以太網(wǎng)(即IEEE 802. 3標(biāo)準(zhǔn))或Wi-Fi? ( S卩IEEE 802. 11標(biāo)準(zhǔn))和/或其它 通信協(xié)議或標(biāo)準(zhǔn)。
[0020] 輸入/輸出裝置166可實(shí)施為任何類型的I/O裝置以便與媒體源裝置102對接。 例如,I/O裝置166可包含輸出裝置(諸如用于在媒體源裝置102上顯示媒體的顯示器和 用于播放音頻內(nèi)容的揚(yáng)聲器)和/或輸入裝置(諸如遠(yuǎn)程控制接收器、鍵盤、鼠標(biāo)等等)。
[0021] 媒體宿裝置104可實(shí)施為能夠與媒體源裝置102通信并從媒體源裝置102接收媒 體內(nèi)容的任何類型媒體裝置。例如,媒體宿裝置104可實(shí)施為數(shù)字電視、智能電話、平板計 算機(jī)、膝上型計算機(jī)、移動因特網(wǎng)裝置(MID)、臺式計算機(jī)或能夠從媒體源裝置102接收媒 體內(nèi)容的其它電子裝置。
[0022] 說明性媒體宿裝置104包含處理器180、存儲器182、通信電路184以及一個或多 個輸出裝置186,它們可類似于在其它媒體裝置中發(fā)現(xiàn)的此類組件。例如,處理器180可實(shí) 施為能夠執(zhí)行軟件/固件(諸如微處理器、數(shù)字信號處理器、微控制器等)的任何類型處理 器,并且可包含一個或多個處理核。存儲器182可實(shí)施為任何類型存儲器或數(shù)據(jù)存儲位置, 例如包含動態(tài)隨機(jī)存取存儲器裝置(DRAM)、同步動態(tài)隨機(jī)存取存儲器裝置(SDRAM)、雙數(shù) 據(jù)速率同步動態(tài)隨機(jī)存取存儲器裝置(DDR SDRAM)、掩膜只讀存儲器(ROM)裝置、可擦除可 編程ROM (EPROM)、電可擦除可編程ROM (EEPR0M)裝置、閃速存儲器裝置和/或其它易失性和 /或非易失性存儲器裝置。通信電路: 通信電路184可實(shí)施為任何類型電路和/或裝置,例如以便于與媒體源裝置102通信。 例如,通信電路184可支持諸如以太網(wǎng)(即IEEE 802. 3標(biāo)準(zhǔn))或Wi-Fi?( S卩IEEE 802. 11 標(biāo)準(zhǔn))和/或其它通信協(xié)議或標(biāo)準(zhǔn)的通信協(xié)議。輸出裝置186可實(shí)施為用于播放、再現(xiàn)或 否則向用戶遞送媒體內(nèi)容的任何類型輸出裝置。例如,輸出裝置186可包含用于在媒體宿 裝置104上顯示媒體的顯示器和用于播放音頻內(nèi)容的揚(yáng)聲器。
[0023] 網(wǎng)絡(luò)106可實(shí)施為任何數(shù)量的各種有線和/或無線網(wǎng)絡(luò)。在說明性實(shí)施例中,網(wǎng) 絡(luò)106是局域網(wǎng)(LAN),諸如家庭網(wǎng)絡(luò),但在其它實(shí)施例中可實(shí)施為其它網(wǎng)絡(luò)或否則包含其 它網(wǎng)絡(luò)。例如,在一些實(shí)施例中,網(wǎng)絡(luò)106可實(shí)施為自組網(wǎng)或點(diǎn)對點(diǎn)網(wǎng)或廣域網(wǎng)(WAN)。如 下面更詳細(xì)討論的,媒體源裝置102配置成通過網(wǎng)絡(luò)106與媒體宿裝置104共享媒體內(nèi)容。
[0024] 現(xiàn)在參考圖2,在使用中,媒體源裝置102的S0C 112的安全性引擎110可被預(yù)置 有密鑰材料以便便于向各種宿裝置遞送媒體內(nèi)容。為了這么做,媒體源裝置102可執(zhí)行用 于預(yù)置安全性引擎110的方法200。方法200開始于塊202,其中安全性引擎110接收源裝 置證書、私用裝置密鑰和公用認(rèn)證密鑰。源裝置證書、私用裝置密鑰和公用認(rèn)證密鑰通常 由認(rèn)證授權(quán)機(jī)構(gòu)生成,其充當(dāng)具體裝置鑒定的第三方驗(yàn)證者。源裝置證書包含由認(rèn)證授權(quán) 機(jī)構(gòu)指配給媒體源裝置102的唯一裝置標(biāo)識符或號碼,以向其它媒體裝置驗(yàn)證媒體源裝置 102。唯一裝置標(biāo)識符也可用于經(jīng)由分布系統(tǒng)可更新性消息(SRM)撤銷列表撤銷媒體源裝 置102的授權(quán)。私用裝置密鑰可由媒體源裝置102用于簽署分組,以便向其它媒體裝置鑒 定媒體源裝置102,如下面更詳細(xì)討論的。相反,公用認(rèn)證密鑰可由媒體宿裝置104用于驗(yàn) 證在鑒定期間從媒體源裝置102接收的分組。
[0025] 在塊204,安全性引擎110將源裝置證書和公用認(rèn)證密鑰存儲在安全存儲器114 中。在一些實(shí)施例中,安全性引擎110可使用存儲在安全性引擎110中的安全性密鑰150 加密源裝置證書和/或公用認(rèn)證密鑰。在一些實(shí)施例中,安全性引擎110可將加密的源裝 置證書和/或加密的公用認(rèn)證密鑰存儲在安全性引擎114中、存儲器160中或數(shù)據(jù)存儲裝 置162中。
[0026] 在塊206,安全性引擎110使用存儲在安全性引擎110中的安全性密鑰150加密私 用裝置密鑰。在一些實(shí)施例中,在塊208,安全性引擎110還可保證加密的私用裝置密鑰的 安全。為了這么做,例如,安全性引擎可對加密的私用裝置密鑰執(zhí)行密碼塊鏈接消息鑒定代 碼(CBC-MAC)。備選地,安全性引擎110可使用某種其它密碼學(xué)方法論來保證加密的私用裝 置密鑰的安全。無論如何,在塊210,安全性引擎110將安全的加密的私用裝置密鑰存儲在 安全存儲器114中。用此方式,媒體源裝置102的S0C 112的安全性引擎110被預(yù)置有初 始密鑰材料,以便于以安全方式向宿裝置遞送媒體。
[0027] 現(xiàn)在參考圖3,媒體源裝置102可使用數(shù)字傳送內(nèi)容保護(hù)(DTCP)協(xié)議與宿裝置 104共享媒體內(nèi)容,如上面所討論的。在與媒體宿裝置104實(shí)際共享媒體內(nèi)容之前,媒體源 裝置102配置成鑒定媒體宿裝置104,并與媒體宿裝置104協(xié)商密碼密鑰,以便于向那兒遞 送媒體內(nèi)容。為了這么做,媒體源裝置102可執(zhí)行用于鑒定媒體宿裝置104的方法300。方 法300開始于塊302,其中媒體源裝置102確定是否已經(jīng)從媒體宿裝置104接收到對于授 權(quán)的請求。如果是,則在塊304,媒體源裝置102接收宿裝置證書和宿公用密碼密鑰。類似 于媒體源裝置102的源裝置證書,宿裝置證書由認(rèn)證授權(quán)機(jī)構(gòu)發(fā)出以驗(yàn)證媒體宿裝置104。 宿裝置證書包含由認(rèn)證授權(quán)機(jī)構(gòu)指配的唯一裝置標(biāo)識符,其從其它媒體裝置中唯一標(biāo)識媒 體宿裝置104。宿公用密鑰可由安全性引擎110在隨后通信中用于驗(yàn)證所接收的消息由媒 體宿裝置104始發(fā)。
[0028] 在塊306,媒體源裝置102使用公用認(rèn)證密鑰驗(yàn)證宿裝置證書。在以加密形式存儲 公用認(rèn)證密鑰的實(shí)施例中,媒體源裝置102的S0C 112的安全性引擎110檢索加密的公用 認(rèn)證密鑰,并使用安全性密鑰150解密該密鑰。公用認(rèn)證密鑰用于驗(yàn)證宿裝置證書由授權(quán) 的媒體裝置恰當(dāng)簽署。像這樣,在塊308,媒體源裝置102使用公用認(rèn)證密鑰確定是否恰當(dāng) 地認(rèn)證了媒體宿裝置104。如果否,則方法300進(jìn)行到塊310,其中媒體源裝置102拒絕來 自媒體宿裝置104的授權(quán)請求。
[0029] 然而,如果在塊308驗(yàn)證了宿裝置證書,則媒體源裝置102進(jìn)一步驗(yàn)證媒體宿裝置 104的認(rèn)證尚未撤銷。為了這么做,媒體源裝置102可利用SRM列表,其包含它們的認(rèn)證之 前已經(jīng)被撤銷的裝置的標(biāo)識符。在一些實(shí)施例中,媒體源裝置102的SRM列表可存儲在S0C 112的安全存儲器114中。備選地,SRM列表可以加密或未加密形式存儲在存儲器160或數(shù) 據(jù)存儲裝置162中。當(dāng)新裝置被添加到媒體裝置的局部網(wǎng)時,在每個裝置上更新SRM列表。 像這樣,在塊312,媒體源裝置102相對當(dāng)前SRM列表比較媒體宿裝置104的唯一裝置標(biāo)識 符,其與宿裝置認(rèn)證一起接收。如果在塊314確定媒體宿裝置104的認(rèn)證已經(jīng)被撤銷,則方 法300進(jìn)行到塊310,其中媒體源裝置102拒絕來自媒體宿裝置104的授權(quán)請求。
[0030] 然而,如果媒體宿裝置的認(rèn)證未被撤銷,則方法300進(jìn)行到塊316,其中S0C 112的 安全性引擎110將宿公用密鑰存儲在安全性引擎110的安全存儲器114中。在塊318, S0C 112的安全性引擎110從安全存儲器114中檢索源裝置證書和私用源密鑰。附加地,在塊 318,媒體源裝置102可檢索源公用密鑰和源證書,并向媒體宿裝置104發(fā)送密鑰和證書。 源公用密鑰可由媒體宿裝置104在隨后通信中用于驗(yàn)證所接收的消息由媒體源裝置102始 發(fā)。
[0031] 如果在塊320未驗(yàn)證媒體源裝置,則方法300進(jìn)行到塊310,其中媒體源裝置102 拒絕來自媒體宿裝置104的授權(quán)請求。備選地,在一些實(shí)施例中,媒體源裝置102可嘗試向 媒體宿裝置104重新發(fā)送源證書和源公用密鑰。
[0032] 然而,如果在塊320驗(yàn)證了源證書,則方法300前進(jìn)到塊322 (見圖3B),其中媒體 源裝置102和媒體宿裝置104執(zhí)行密鑰交換。密鑰交換用于在媒體源裝置102和媒體宿裝 置104中建立共享秘密密鑰,無需提前給裝置102U04預(yù)置對應(yīng)密鑰。媒體源裝置102可 使用任何適當(dāng)?shù)拿荑€交換算法來實(shí)現(xiàn)共享秘密的建立。
[0033] 在說明性實(shí)施例中,在塊322,媒體源裝置102使用橢圓曲線 Diffie-Hellman(E⑶H)密鑰交換。為了這么做,在塊324,媒體源裝置102預(yù)置媒體宿裝 置104進(jìn)行Diffie-Hellman密鑰交換。例如,媒體源裝置102可選擇在生成共享秘密時 要使用的橢圓曲線E和基點(diǎn)G。在塊324,與橢圓曲線和基點(diǎn)選擇關(guān)聯(lián)的域參數(shù)被發(fā)送到 媒體宿裝置104。當(dāng)然,在其它實(shí)施例中,可使用其它Diffie-Hellman密鑰交換,諸如例如 Rivest-Shamir-Adleman (RSA) Diffie-Hellman 密鑰交換。在此類實(shí)施例中,在塊 324,媒體 源裝置102生成域參數(shù)(例如選擇質(zhì)數(shù)和本原根),并向媒體宿裝置104傳送域參數(shù)。
[0034] 媒體源裝置102的S0C 112的安全性引擎110可簽署塊324的傳送以及其它隨后 傳送,其中在塊318,對應(yīng)于公用源密鑰的私用源密鑰被提供給媒體宿裝置104。在一些實(shí) 施例中,私用源密鑰可以是安全性密鑰150或存儲在安全性引擎110的安全存儲器114中 的其它密鑰。
[0035] 在塊326, S0C 112的安全性引擎110基于在塊324生成或否則確定的域參數(shù)生成 源Diffie-Hellman公用和私用密鑰。在塊326,媒體源裝置102向媒體宿裝置104發(fā)送公 用Diffie-Hellman密鑰。再者,此類傳送可由安全性引擎使用私用源密鑰(例如安全性密 鑰150)簽署。
[0036] 在塊328,媒體源裝置102從媒體宿裝置104接收宿D(zhuǎn)iffie-Hellman公用密鑰,其 以上面對于媒體源裝置102所描述的類似方式計算。媒體源裝置102將宿D(zhuǎn)iffie-Hellman 公用密鑰存儲在安全性引擎110的安全存儲器114中。附加地,在塊328,媒體源裝置102 使用存儲在安全存儲器114中的宿公用密鑰驗(yàn)證宿D(zhuǎn)iffie-Hellman公用密鑰消息以及從媒 體宿裝置104接收的其它隨后消息的簽署。如果媒體源裝置102確定該消息或其它消息未 恰當(dāng)簽署,則方法300進(jìn)行到塊310,其中媒體源裝置102拒絕來自媒體宿裝置104的授權(quán) 請求。
[0037] 在塊332, S0C112的安全引擎110使用源Diffie-Hellman私用密鑰和宿 Diffie-Hellman公用密鑰生成鑒定密鑰KAUTH。安全性引擎110可將鑒定密鑰KAUTH存儲在安 全存儲器114中。在說明性實(shí)施例中,例如,安全引擎110使用源Diffie-Hellman私用密鑰 和宿D(zhuǎn)iffie-Hellman公用密鑰生成鑒定密鑰K AUTH來執(zhí)行橢圓曲線標(biāo)量乘法。當(dāng)然,在其它 實(shí)施例中,在塊332,可執(zhí)行其它密碼計算以生成鑒定密鑰KAUTH。然而,任何此類計算都發(fā)生 在安全性引擎110中以保持鑒定過程的安全性。
[0038] 在塊334,安全性引擎110生成交換密鑰Kx。在說明性實(shí)施例中,交換密鑰K x被實(shí) 施為隨機(jī)臨時數(shù)(nonce),但在其它實(shí)施例中可使用其它方法論或計算生成。臨時數(shù)是打算 在密碼函數(shù)中僅用一次的隨機(jī)數(shù)或偽隨機(jī)數(shù),例如以阻撓重播攻擊。
[0039] 在塊336中,S0C 112的安全性引擎110使用認(rèn)證密鑰KAUTH加擾交換密鑰KX。安 全性引擎110可使用任何適合的密碼計算或加擾算法/方法論來加擾交換密鑰KX。隨后, 在塊338,媒體源裝置102向媒體宿裝置104發(fā)送加擾的交換密鑰。再者,如上面所討論的, 此類消息可由S0C 112的安全性引擎110使用私用裝置密鑰(例如安全性密鑰150)簽署。 媒體宿裝置104可使用共享鑒定密鑰KAUTH生成交換密鑰K x。用這種方式,使用媒體源裝置 102的S0C 112的安全性引擎110在媒體源裝置102與媒體宿裝置104之間建立共享秘密 密鑰。
[0040] 在媒體源裝置102和媒體宿裝置104經(jīng)由方法300已經(jīng)建立了共享秘密密鑰之 后,媒體源裝置102可使用共享的秘密密鑰與媒體宿裝置104共享媒體內(nèi)容。為了這么做, 媒體源裝置102可執(zhí)行用于與媒體宿裝置104共享媒體內(nèi)容的方法400。方法400開始于 塊402,其中媒體源裝置102獲得要與媒體宿裝置104共享的媒體內(nèi)容。此類媒體內(nèi)容可作 為加密的媒體內(nèi)容170存儲在媒體源裝置102中,或者可由媒體源裝置102從外部源接收 (例如流播或傳送到媒體源裝置102,諸如數(shù)字有線電視)。
[0041] 在塊404中,媒體源裝置102的安全性引擎110生成隨機(jī)臨時數(shù),其用于對抗重播 攻擊。在塊406中,安全性引擎110使用交換密鑰Κ χ、在塊404中生成的隨機(jī)臨時數(shù)和加密 模式指示符(ΕΜΙ)生成分組加密密鑰Κ。,加密模式指示符用于媒體內(nèi)容的拷貝控制。在說 明性實(shí)施例中,安全性引擎110利用高級加密標(biāo)準(zhǔn)--密碼塊鏈接(AES-CBC)算法生成分 組加密密鑰Κ χ。然而,在其它實(shí)施例中可使用其它加密算法。應(yīng)該認(rèn)識到,在安全性引擎中 為發(fā)送到媒體宿裝置104的媒體內(nèi)容的每個分組生成新分組加密密鑰K c。
[0042] 在塊408中,安全性引擎110使用分組加密密鑰K。加密要發(fā)送到媒體宿裝置104 的媒體內(nèi)容或其一部分。當(dāng)然,如果媒體內(nèi)容以加密格式(其將使用加密密鑰而不是分組 加密密鑰K。加密)存儲在媒體源裝置102上,則媒體源裝置102在用分組加密密鑰K。重新 加密媒體內(nèi)容之前解密媒體內(nèi)容。
[0043] 在塊410,媒體源裝置102將加密的媒體內(nèi)容、在塊404生成的隨機(jī)臨時數(shù)和EMI 封裝在受保護(hù)內(nèi)容分組(PCP)分組中。當(dāng)然,在其它實(shí)施例中可使用其它封裝方法論。隨 后,在塊412,媒體源裝置102向媒體宿裝置104發(fā)送封裝的分組。應(yīng)該認(rèn)識到,媒體源裝置 102可將多個分組發(fā)送到媒體宿裝置104以實(shí)現(xiàn)媒體內(nèi)容到媒體宿裝置104的安全遞送。 媒體宿裝置104可使用交換密鑰K x解密媒體內(nèi)容,如上面所討論的。
[0044] 雖然本公開已經(jīng)在附圖和前述描述中進(jìn)行了詳細(xì)例證和描述,但此類例證和描述 要被視為在性質(zhì)上是示范性的而非約束性的,要理解到,僅已經(jīng)示出和描述了說明性實(shí)施 例,并且期望保護(hù)與本公開和闡述的權(quán)利要求書一致的所有改變和修改。
【權(quán)利要求】
1. 一種片上系統(tǒng)設(shè)備,包括: 片上系統(tǒng),包括安全性引擎,所述安全性引擎具有僅由所述安全性引擎可存取的安全 存儲器,所述安全性引擎: 執(zhí)行與宿裝置的密碼密鑰交換; 作為所述密碼密鑰交換的函數(shù)生成授權(quán)密鑰;以及 使用所述授權(quán)密鑰生成交換密鑰; 將所述授權(quán)密鑰和所述交換密鑰存儲在所述安全存儲器中;以及 使用數(shù)字傳送內(nèi)容保護(hù)安全性協(xié)議,作為所述交換密鑰的函數(shù)加密媒體內(nèi)容以與所述 宿裝置共享所述加密的媒體內(nèi)容。
2. 如權(quán)利要求1所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎執(zhí)行與所述宿裝置的 Diffie-Hel lman密碼密鑰交換以生成所述授權(quán)密鑰。
3. 如權(quán)利要求2所述的片上系統(tǒng)設(shè)備,其中所述Diffie-Hellman密碼密鑰交換是橢圓 曲線Diffie-Hel lman密碼密鑰交換。
4. 如權(quán)利要求3所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎生成源Diffie-Hellman公 用密鑰和源Diffie-Hellman私用密鑰。
5. 如權(quán)利要求3所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎從所述宿裝置接收宿 Diffie-Hellman 公用密鑰。
6. 如權(quán)利要求5所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎作為所述源 Diffie-Hellman私用密鑰和所述宿D(zhuǎn)iffie-Hellman公用密鑰的函數(shù)執(zhí)行橢圓曲線標(biāo)量乘 法。
7. 如權(quán)利要求1所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎生成第一交換密鑰,并使 用所述第一交換密鑰和所述授權(quán)密鑰生成加擾的交換密鑰。
8. 如權(quán)利要求1所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎獲得媒體內(nèi)容以與所述 宿裝置共享,作為所述交換密鑰的函數(shù)生成分組加密密鑰,并使用所述分組加密密鑰加密 所述內(nèi)容媒體。
9. 如權(quán)利要求8所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎在所述安全性引擎中生 成隨機(jī)數(shù),并作為所述交換密鑰和所述隨機(jī)數(shù)的函數(shù)生成所述分組加密密鑰。
10. 如權(quán)利要求9所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎封裝所述加密的內(nèi)容媒 體、所述隨機(jī)數(shù)和加密模式指示符。
11. 如權(quán)利要求1所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎從所述宿裝置接收證 書,從所述安全存儲器檢索公用認(rèn)證密鑰,并使用所述公用認(rèn)證密鑰驗(yàn)證從所述宿裝置接 收的證書。
12. 如權(quán)利要求11所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎從所述宿裝置接收宿 公用密鑰并將所述宿公用密鑰存儲在所述安全存儲器中,所述宿公用密鑰鑒定從所述宿裝 置接收的通信。
13. 如權(quán)利要求1所述的片上系統(tǒng)設(shè)備,其中所述安全性引擎生成安全性密鑰并將所 述安全性密鑰存儲在所述安全性引擎的所述安全存儲器中。
14. 一種方法,包括: 在源裝置上執(zhí)行與宿裝置的密碼密鑰交換; 在所述源裝置的片上系統(tǒng)的安全性引擎中作為所述密碼密鑰交換的函數(shù)生成授權(quán)密 鑰; 將所述授權(quán)密鑰存儲在所述片上系統(tǒng)的所述安全性引擎的安全存儲器中; 在所述片上系統(tǒng)的所述安全性引擎中使用所述授權(quán)密鑰生成交換密鑰; 將所述交換密鑰存儲在所述片上系統(tǒng)的所述安全性引擎的所述安全存儲器中,所述交 換密鑰加密媒體內(nèi)容以便與所述宿裝置共享。
15. 如權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述源裝置上從所述宿裝置接收授權(quán)請求以與所述宿裝置共享媒體內(nèi)容;以及 通過執(zhí)行如權(quán)利要求1所述的方法,使用數(shù)字傳送內(nèi)容保護(hù)安全性協(xié)議與所述宿裝置 共享所述媒體內(nèi)容。
16. 如權(quán)利要求1所述的方法,其中執(zhí)行密碼密鑰交換包括執(zhí)行與所述宿裝置的 Diffie-Hellman密碼密鑰交換。
17. 如權(quán)利要求16所述的方法,其中執(zhí)行所述Diffie-He 1 lman密碼密鑰交換包括執(zhí)行 橢圓曲線Diffie-Hellman密碼密鑰交換。
18. 如權(quán)利要求17所述的方法,其中執(zhí)行所述橢圓曲線Diffie-Hellman密碼密鑰 交換包括:在所述片上系統(tǒng)的所述安全性引擎中生成源Diffie-Hellman公用密鑰和源 Diffie-Hellman 私用密鑰。
19. 如權(quán)利要求17所述的方法,其中執(zhí)行所述Diffie-Hellman密碼密鑰交換包括從所 述宿裝置接收宿D(zhuǎn)iffie-Hellman公用密鑰。
20. 如權(quán)利要求19所述的方法,其中生成所述授權(quán)密鑰包括:在所述片上系統(tǒng)的所述 安全性引擎中作為所述源Diffie-Hellman私用密鑰和所述宿D(zhuǎn)iffie-Hellman公用密鑰的函 數(shù)執(zhí)行橢圓曲線標(biāo)量乘法。
21. 如權(quán)利要求14所述的方法,其中在所述安全性引擎中生成所述交換密鑰包括: 在所述安全性引擎中生成第一交換密鑰;以及 在所述片上系統(tǒng)的所述安全性引擎中使用所述第一交換密鑰和所述授權(quán)密鑰生成加 擾的交換密鑰。
22. 如權(quán)利要求21所述的方法,其中生成交換密鑰包括:在所述片上系統(tǒng)的所述安全 性引擎中生成隨機(jī)數(shù)。
23. 如權(quán)利要求14所述的方法,進(jìn)一步包括: 獲得內(nèi)容媒體以與所述宿裝置共享; 在所述片上系統(tǒng)的所述安全性引擎中作為所述交換密鑰的函數(shù)生成分組加密密鑰;以 及 使用所述分組加密密鑰加密所述內(nèi)容媒體。
24. 如權(quán)利要求23所述的方法,其中生成分組加密密鑰包括: 在所述安全性引擎中生成隨機(jī)數(shù);以及 作為所述交換密鑰和所述隨機(jī)數(shù)的函數(shù)生成分組加密密鑰。
25. 如權(quán)利要求24所述的方法,進(jìn)一步包括: 在所述片上系統(tǒng)的所述安全性引擎中封裝所述加密的內(nèi)容媒體、所述隨機(jī)數(shù)和加密模 式指示符;以及 向所述宿裝置傳送所述封裝的分組。
26. 如權(quán)利要求14所述的方法,進(jìn)一步包括: 從所述宿裝置接收證書; 從所述片上系統(tǒng)的所述安全性引擎的安全存儲器中檢索公用認(rèn)證密鑰;以及 使用所述公用認(rèn)證密鑰驗(yàn)證從所述宿裝置接收的所述證書。
27. 如權(quán)利要求26所述的方法,進(jìn)一步包括: 從所述宿裝置接收宿公用密鑰;以及 將所述宿公用密鑰存儲在所述片上系統(tǒng)的所述安全性引擎的所述安全存儲器中,所述 宿公用密鑰鑒定從所述宿裝置接收的通信。
28. 如權(quán)利要求14所述的方法,進(jìn)一步包括: 用所述片上系統(tǒng)的所述安全性引擎接收公用認(rèn)證密鑰;以及 將所述公用認(rèn)證密鑰存儲在所述安全性引擎的安全存儲器中,所述公用認(rèn)證密鑰驗(yàn)證 從所述宿裝置接收的證書。
29. 如權(quán)利要求14所述的方法,進(jìn)一步包括: 在所述片上系統(tǒng)的所述安全性引擎中生成安全性密鑰;以及 將所述安全性密鑰存儲在所述安全性引擎的所述安全存儲器中。
30. 如權(quán)利要求29所述的方法,進(jìn)一步包括: 用所述片上系統(tǒng)的所述安全性引擎接收源私用裝置密鑰; 使用所述安全性密鑰加密所述源私用裝置密鑰;以及 將所述加密的源私用裝置密鑰存儲在所述片上系統(tǒng)的所述安全性引擎的所述安全存 儲器中。
31. 如權(quán)利要求30所述的方法,進(jìn)一步包括: 在所述片上系統(tǒng)的所述安全性引擎中使用所述源私用裝置密鑰生成源證書。
32. -種源裝置,包括: 具有安全性引擎的片上系統(tǒng),所述片上系統(tǒng)包含多個指令,所述指令當(dāng)被執(zhí)行時導(dǎo)致 所述片上系統(tǒng)執(zhí)行如權(quán)利要求14-30中任一項所述的方法。
33. -個或多個機(jī)器可讀介質(zhì),包括其上存儲的多個指令,所述指令響應(yīng)于被源裝置 執(zhí)行導(dǎo)致所述源裝置執(zhí)行如權(quán)利要求14-30中任一項所述的方法。
34. -種方法,包括: 使用數(shù)字傳送內(nèi)容保護(hù)協(xié)議與宿裝置共享媒體內(nèi)容,通過: 在源裝置的片上系統(tǒng)的安全性引擎中生成源Diffie-Hellman私用密鑰; 從宿裝置接收宿D(zhuǎn)iffie-Hellman公用密鑰; 在所述片上系統(tǒng)的所述安全性引擎中作為所述源Diffie-Hellman私用密鑰和所述宿 Diffie-Hellman公用密鑰的函數(shù)生成授權(quán)密鑰; 在所述片上系統(tǒng)的所述安全性引擎中生成交換密鑰; 在所述片上系統(tǒng)的所述安全性引擎中使用所述交換密鑰和所述授權(quán)密鑰生成加擾的 交換密鑰; 在所述片上系統(tǒng)的所述安全性引擎中生成隨機(jī)數(shù); 在所述片上系統(tǒng)的所述安全性引擎中作為所述交換密鑰和所述隨機(jī)數(shù)的函數(shù)生成分 組加密密鑰;以及 使用所述分組加密密鑰加密內(nèi)容媒體。
35. 如權(quán)利要求34所述的方法,其中生成所述授權(quán)密鑰包括:在所述片上系統(tǒng)的所述 安全性引擎中作為所述源Diffie-Hellman私用密鑰和所述宿D(zhuǎn)iffie-Hellman公用密鑰的函 數(shù)執(zhí)行橢圓曲線標(biāo)量乘法。
36. 如權(quán)利要求34所述的方法,其中生成交換密鑰包括:在所述片上系統(tǒng)的所述安全 性引擎中生成隨機(jī)數(shù)。
37. 如權(quán)利要求34所述的方法,進(jìn)一步包括: 在所述片上系統(tǒng)的所述安全性引擎中封裝所述加密的內(nèi)容媒體、所述隨機(jī)數(shù)和加密模 式指示符;以及 向所述宿裝置傳送所述封裝的分組。
38. -種源裝置,包括: 具有安全性引擎的片上系統(tǒng),所述片上系統(tǒng)包含多個指令,所述指令當(dāng)被執(zhí)行時導(dǎo)致 所述片上系統(tǒng)執(zhí)行如權(quán)利要求34-37中任一項所述的方法。
39. -個或多個機(jī)器可讀介質(zhì),包括其上存儲的多個指令,所述指令響應(yīng)于被源裝置 執(zhí)行導(dǎo)致所述源裝置執(zhí)行如權(quán)利要求34-27中任一項所述的方法。
【文檔編號】G06F21/72GK104094267SQ201180076380
【公開日】2014年10月8日 申請日期:2011年12月15日 優(yōu)先權(quán)日:2011年12月15日
【發(fā)明者】H.霍斯拉維, S.阿拉瓦爾, A.文卡塔拉馬南 申請人:英特爾公司