專利名稱:用于驗(yàn)證硬件裝置并為發(fā)布數(shù)據(jù)提供安全通道的方法
用于驗(yàn)證硬件裝置并為發(fā)布數(shù)據(jù)提供安全通道的方法
背景技術(shù):
可以使用軟件應(yīng)用程序?qū)碜灾T如DVD、 CD-ROM、閃速存儲(chǔ)器等介 質(zhì)源的音頻和視頻內(nèi)容以及直接下載到計(jì)算機(jī)的硬盤驅(qū)動(dòng)器上的數(shù)據(jù)進(jìn)行 發(fā)布。軟件應(yīng)用程序通常是由獨(dú)立的軟件供應(yīng)商提供的,例如,總部位于 臺(tái)灣的臺(tái)北的Cyberlinl^和總部位于加拿大的渥太華的Coref。
獨(dú)立的軟件供應(yīng)商通常簽署內(nèi)容許可證,因而負(fù)責(zé)確保以安全的方式 發(fā)布音頻和視頻內(nèi)容。為了履行內(nèi)容許可證中的條款,所述軟件應(yīng)用程序 必須合理地保護(hù)數(shù)據(jù)在軟件應(yīng)用程序與內(nèi)容發(fā)布裝置之間的流動(dòng),例如, 所述內(nèi)容發(fā)布裝置可以是向計(jì)算機(jī)顯示器和揚(yáng)聲器提供輸出的視頻和音頻 處理裝置。
對(duì)于媒體內(nèi)容的播放而言,軟件應(yīng)用程序通常執(zhí)行至少一部分?jǐn)?shù)據(jù)處 理。之后,軟件應(yīng)用程序?qū)⒁蕾囉谥T如視頻處理裝置(例如,顯卡)之類 的硬件裝置來執(zhí)行所有余下的處理以及發(fā)布經(jīng)過處理的數(shù)據(jù)。由于軟件應(yīng) 用程序必須對(duì)發(fā)送到視頻處理裝置的數(shù)據(jù)進(jìn)行保護(hù),因此軟件應(yīng)用程序必 須驗(yàn)證所述視頻處理裝置,而且必須建立發(fā)送數(shù)據(jù)的安全通道。
目前存在幾種有效的用于驗(yàn)證視頻處理裝置和建立安全通道的機(jī)制。 在一種機(jī)制中,所述軟件應(yīng)用程序和所述視頻處理裝置可以共享密鑰。這 種機(jī)制的評(píng)價(jià)不高,這是因?yàn)樗鲕浖?yīng)用程序中針對(duì)密鑰的折衷方案影 響了所有其他供應(yīng)商應(yīng)用。另一種機(jī)制包括使用公鑰-私鑰基礎(chǔ)設(shè)施,但是 這包括高昂的硬件成本,原因在于它包括RSA型取冪(exponentiation)。
圖1是根據(jù)本發(fā)明實(shí)施方式的用于向軟件供應(yīng)商提供加密的應(yīng)用密鑰 (application key )的方法;
圖2A以圖示的方式示出了向軟件供應(yīng)商提供加密的應(yīng)用密鑰;
圖2B以圖示的方式示出了使用分組密碼加密和加密密鑰對(duì)應(yīng)用密鑰的加密;
圖3是根據(jù)本發(fā)明實(shí)施方式的用于驗(yàn)證硬件裝置和建立安全通道的運(yùn) 行方法;
圖4A以圖示的方式示出了運(yùn)行的驗(yàn)證過程和安全通道的建立;
圖4B以圖示的方式示出了使用分組密碼解密和加密密鑰對(duì)所述加密
的應(yīng)用密鑰的解密;以及
圖4C以圖示的方式示出了使用分組密碼解密和應(yīng)用密鑰對(duì)加密的隨
機(jī)會(huì)話密鑰的解密。
具體實(shí)施例方式
本文描述了用于保護(hù)源裝置與接收裝置(sink device),例如軟件應(yīng)用 程序與硬件裝置之間的數(shù)據(jù)流的系統(tǒng)和方法。源裝置通常是數(shù)據(jù)的制造者 或創(chuàng)建者,而接收裝置則是數(shù)據(jù)的消費(fèi)者。在下述描述中,將利用本領(lǐng)域 技術(shù)人員通常用于向其他領(lǐng)域技術(shù)人員表達(dá)其工作實(shí)質(zhì)的術(shù)語來描述所述 示例性實(shí)施方式的各個(gè)方面。但是,對(duì)本領(lǐng)域技術(shù)人員顯而易見的是,本 發(fā)明可以只利用所描述方面中的一些來實(shí)施。出于介紹的目的,闡述了具 體的數(shù)字、材料和構(gòu)造,以便提供對(duì)所述示例性實(shí)施方式的透徹理解。但 是,對(duì)本領(lǐng)域技術(shù)人員顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下 實(shí)施本發(fā)明。在其它示例中,省略或簡(jiǎn)化了公知的特征,以便不會(huì)使所述 示例性實(shí)施方式變得難以理解。
將按照對(duì)理解本發(fā)明最有幫助的方式將各項(xiàng)操作作為多個(gè)分立的操作 依次予以描述,但是不應(yīng)將這種描述順序解釋為暗示這些操作一定是順序 相關(guān)的。具體而言,不需要一定按照所給出的順序來執(zhí)行這些操作。
本發(fā)明的實(shí)施方式為源裝置驗(yàn)證接收裝置并建立與該接收裝置的安全 數(shù)據(jù)通道提供了多種魯棒的方法。所述源裝置和接收裝置可以是硬件裝置 或軟件應(yīng)用程序。例如,本發(fā)明的一些實(shí)施方式可以為第一硬件裝置(即 源裝置)驗(yàn)證第二硬件裝置(即,接收裝置)并建立與該第二硬件裝置的 安全通道提供多種方法。本發(fā)明的備選實(shí)施方式可以為軟件應(yīng)用程序(即 源裝置)驗(yàn)證硬件裝置(即接收裝置)并建立與該硬件裝置的安全通道提 供多種方法。在其它實(shí)施方式中,所述源裝置可以是硬件裝置,而所述接
8收裝置則為軟件應(yīng)用程序,或者所述源裝置和所述接收裝置均為軟件應(yīng)用 程序。
本發(fā)明的方法確保了以安全、受保護(hù)的方式將數(shù)據(jù)從源裝置傳輸?shù)浇?收裝置。本發(fā)明的實(shí)施方式通過在新穎性機(jī)制中采用三種不同的密鑰實(shí)現(xiàn) 了這一目的。在初始提供階段期間,生成這些密鑰中的兩個(gè)密鑰,g卩,永 久性地存在于接收裝置內(nèi)的加密密鑰和提供給源裝置的應(yīng)用密鑰。部分使 用這兩個(gè)密鑰來驗(yàn)證接收裝置。第三個(gè)密鑰,即隨機(jī)會(huì)話密鑰是由源裝置 生成的運(yùn)行密鑰,用于在源裝置與接收裝置之間建立安全通道。
為了更加清晰地說明如何在真實(shí)的世界情境中使用本發(fā)明的方法,下 列描述集中在使用本發(fā)明的方法來驗(yàn)證硬件裝置以及在軟件應(yīng)用程序與硬 件裝置之間建立安全通道。所述軟件應(yīng)用程序起源裝置的作用,而硬件應(yīng) 用起接收裝置的作用。盡管這是下述描述的中心,但是應(yīng)當(dāng)指出本發(fā)明不 限于軟件源裝置,也不限于硬件接收裝置。
在本文描述的本發(fā)明的實(shí)施方式中,所述硬件裝置包括視頻處理裝置, 所述軟件應(yīng)用程序用于向所述視頻處理裝置提供音頻和視頻數(shù)據(jù)。本發(fā)明 的方法確保了以安全、保護(hù)的方式發(fā)布音頻/視頻數(shù)據(jù)。對(duì)于下文所述的實(shí) 施方式而言,所述加密密鑰永久性地存在于所述視頻處理裝置內(nèi),所述應(yīng) 用密鑰被提供給生成軟件應(yīng)用程序的軟件供應(yīng)商,所述隨機(jī)會(huì)話密鑰由所 述軟件應(yīng)用程序生成。
圖1是根據(jù)本發(fā)明的實(shí)施方式的用于向軟件供應(yīng)商提供加密的應(yīng)用密
鑰的方法100。圖2以圖示的方式示出了根據(jù)本發(fā)明的實(shí)施方式向軟件供應(yīng) 商提供加密的應(yīng)用密鑰。
根據(jù)本發(fā)明的實(shí)施方式,將加密密鑰永久性地嵌入在諸如視頻處理裝 置之類的硬件裝置內(nèi)(圖1的過程102)。在一些實(shí)施方式中,所述視頻處 理裝置可以包括一個(gè)或一組嵌入在計(jì)算機(jī)主板上的集成電路裝置。在其它 實(shí)施方式中,所述視頻處理裝置可以包括顯卡,該顯卡與計(jì)算機(jī)主板分離 但電耦合到計(jì)算機(jī)主板。在各種實(shí)施方式中,可以通過加速圖形端口 (AGP)、外圍部件接口 (PCI)插槽、PCI Express插槽或其它類似的擴(kuò)展 端口將所述顯卡耦合到所述計(jì)算機(jī)主板。本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識(shí)到,所 述視頻處理裝置是能夠處理音頻/視頻數(shù)據(jù)的裝置。在備選的實(shí)施方式中,所述硬件裝置可以是除了視頻處理裝置以外的裝置。
所述加密密鑰(SEK)可以是128位密鑰。在備選的實(shí)施方式中,所述 SEK可以具有更大的位數(shù),例如,192位或256位,或者具有更小的位數(shù), 例如,32位或64位。本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識(shí)到,所述位數(shù)可以基于所期 望的安全級(jí)別而變化。在本發(fā)明的一些實(shí)施方式中,所述SEK可以是與高 級(jí)加密標(biāo)準(zhǔn)(AES)兼容的128位、192位或256位密鑰。也可以使用其它 加密方法。
在本發(fā)明的實(shí)施方式中,可以通過專用熔絲(fUse)將SEK永久性地 嵌入在所述視頻處理裝置內(nèi)。例如,可以通過包括所述專用熔絲的寫入路 徑將所述SEK寫入到所述視頻處理裝置的存儲(chǔ)器陣列內(nèi)。之后,可以有意 燒斷這一專用熔絲,從而避免所述SEK受到外部源的訪問或竄改。對(duì)所述 SEK的唯一保留通道在所述視頻處理裝置的內(nèi)部,并且外部源無法觸及這 一內(nèi)部通道。在備選的實(shí)施方式中,可以將所述SEK硬布線到寄存器傳輸 級(jí)(RTL)內(nèi)。
圖2A以圖示的方式示出了包括嵌入SEK202的視頻處理裝置200。將 所述SEK 202永久性地嵌入在所述視頻處理裝置200內(nèi),并且外部源無法 對(duì)其進(jìn)行訪問或竄改。如上所述,所述SEK202可以是與AES或其它密碼 加密過程一起使用的128、 192或256位密鑰。
返回至圖1,將唯一的應(yīng)用密鑰(AppKey)分配給軟件供應(yīng)商(104)。
為生產(chǎn)供本發(fā)明的視頻處理裝置使用的軟件應(yīng)用程序的每一軟件供應(yīng)商分 配唯一的AppKey。沒有任何兩個(gè)軟件供應(yīng)商會(huì)共用同一 AppKey。在一些 情況下,可以為軟件供應(yīng)商分配兩個(gè)或更多個(gè)AppKey。例如,如果第一 AppKey被泄密,那么可以分配第二 AppKey。在一些實(shí)施方式中,軟件供 應(yīng)商選擇AppKey。在備選應(yīng)用中,由所述視頻處理裝置的制造商生成所述 AppKey。在其它實(shí)施方式中,由獨(dú)立的第三方選擇所述AppKey。
在本發(fā)明的一些實(shí)施方式中,所述AppKey可以是128位密鑰。在備選 實(shí)施方式中,所述AppKey可以具有更大的位數(shù),例如,192位或256位, 或者具有更小的位數(shù),例如,32位或64位。如下文所述,除了被分配給軟 件供應(yīng)商之外,所述AppKey以后還將起到加密密鑰的作用。同樣地,所述 AppKey可以是與AES或備選密碼加密過程兼容的128位、192位或256位密鑰。
接下來,使用SEK對(duì)所述唯一的AppKey加密,以生成加密的AppKey (106),在本文中將加密的AppKey稱為(AppKey)sEK。在一些實(shí)施方式中, 可以使用分組密碼加密。在本發(fā)明的其它實(shí)施方式中,可以使用諸如AES 等標(biāo)準(zhǔn)化加密術(shù)。AES是已經(jīng)被采納作為加密標(biāo)準(zhǔn)的特定分組密碼。對(duì)本 領(lǐng)域技術(shù)人員公知的是,可以將這種分組密碼與所述SEK結(jié)合使用來對(duì)所 述AppKey加密。例如,如圖2B所示,使用SEK對(duì)所述AppKey進(jìn)行分組 密碼加密,從而輸出加密的(AppKey嚴(yán)K。在備選的實(shí)施方式中,可以使用 AES以外的密碼。
在一些實(shí)施方式中,所述加密可以在所述視頻處理裝置本身上進(jìn)行。 例如,可以通過所述視頻處理裝置發(fā)送所述唯一的AppKey,在所述視頻處 理裝置中,利用SEK使所述唯一的AppKey被加密。在其它實(shí)施方式中, 可以使用未必特指視頻處理裝置的裝置來對(duì)所述唯一 AppKey加密。例如, 可以使用加密工具來接受所述唯一的AppKey,并按照與視頻處理裝置相同 的方式使用AES和SEK對(duì)其加密。唯一的要求是所述加密工具中使用的 SEK與賣給消費(fèi)者的大量視頻處理裝置中永久性地嵌入的SEK相匹配。這 使得每一消費(fèi)者購買的視頻處理裝置能夠使用AES分組密碼和SEK對(duì)所述 (AppKey)SEK解密。在本發(fā)明的實(shí)施方式中,所述加密工具可以包括運(yùn)行加 密軟件的計(jì)算機(jī)。
之后,將加密的AppKey,艮卩(AppKey嚴(yán)K提供給軟件供應(yīng)商(108)。 所述軟件供應(yīng)商只能訪問所述AppKey和所述(AppKey)皿。所述軟件供應(yīng) 商無法訪問所述SEK。此外,由于可以使用諸如AES等加密法,因此即使 所述軟件供應(yīng)商能夠?qū)ppKey和(AppKey,EK 二者進(jìn)行訪問,它也無法解 密所述SEK。
來看圖2A,該圖示出了在加密的應(yīng)用密鑰(AppKey)sEK的最初提供 過程中,軟件供應(yīng)商204與視頻處理裝置200進(jìn)行交互。如上所述,可以 使用加密工具來替代所述視頻處理裝置。軟件供應(yīng)商204為所述視頻處理 裝置(或加密工具)200提供AppKey206。此外,盡管圖2示出了 AppKey 206是由軟件供應(yīng)商204提供的,但是在備選實(shí)施方式中,AppKey 206也 可以是由視頻處理裝置200的制造商或獨(dú)立的第三方提供的。所述視頻處
ii理裝置(或加密工具)200使用SEK202對(duì)AppKey206加密。可以使用諸 如AES等加密法進(jìn)行加密。之后,所述視頻處理裝置(或加密工具)200 輸出加密的AppKey,將該加密的AppKey表示為(AppKey)狐208,并且將 這一(AppKey)sEK 208提供給軟件供應(yīng)商204 。
因此,圖1和圖2描述了本發(fā)明的生成加密的AppKey并將其提供給軟 件供應(yīng)商的初始提供階段。根據(jù)本發(fā)明的實(shí)施方式,如圖2A所示,可以在 安全的場(chǎng)所對(duì)AppKey進(jìn)行加密以生成(AppKey嚴(yán)K。例如,可以在制造所 述視頻處理裝置的制造設(shè)施處實(shí)施所述提供階段。在備選實(shí)施方式中,可 以將所述加密工具提供給所述軟件供應(yīng)商,之后所述軟件供應(yīng)商在安全的 場(chǎng)所對(duì)所述加密工具進(jìn)行維護(hù),以及使用所述工具生成加密的AppKey。出 于安全的目的而規(guī)定不應(yīng)在一般的用戶平臺(tái)上實(shí)施這一加密過程不存在任 何必要性。
圖3是根據(jù)本發(fā)明實(shí)施方式的用于驗(yàn)證諸如視頻處理裝置等硬件裝置 (即接收裝置)并且在軟件應(yīng)用程序(即,源裝置)與所述視頻處理裝置 之間建立安全通道的運(yùn)行方法300。圖4A以圖示的方式示出了根據(jù)本發(fā)明 實(shí)施方式的運(yùn)行的驗(yàn)證過程和安全通道的建立。如上所述,使用所述安全 通道來將音頻/視頻數(shù)據(jù)以受保護(hù)的方式從軟件應(yīng)用程序傳送到所述視頻處 理裝置。在本發(fā)明的實(shí)施方式中,所述軟件應(yīng)用程序和所述硬件裝置可以 存在于同一計(jì)算機(jī)系統(tǒng)內(nèi)或者存在于不同的計(jì)算機(jī)系統(tǒng)內(nèi)。例如,所述軟 件應(yīng)用程序可以存在于第一計(jì)算機(jī)系統(tǒng)的硬盤上和/或第一計(jì)算機(jī)系統(tǒng)的計(jì) 算機(jī)存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器或閃速存儲(chǔ)器)內(nèi),同時(shí)可以將所述 視頻處理裝置集成或耦合至所述第一計(jì)算機(jī)系統(tǒng)的主板上或者第二計(jì)算機(jī) 系統(tǒng)的主板上。在一些實(shí)施方式中,所述計(jì)算機(jī)系統(tǒng)之一或二者均可以容 納于消費(fèi)者電子裝置內(nèi),例如,DVD播放器、便攜式媒體播放器或音頻/ 視頻接收機(jī)。如果使用了兩個(gè)獨(dú)立的計(jì)算機(jī)系統(tǒng),那么可以通過有線或無 線裝置使所述兩個(gè)計(jì)算機(jī)系統(tǒng)通信耦合。
從圖3開始,軟件供應(yīng)商提供了用于與所述視頻處理裝置一起使用的 軟件應(yīng)用程序(圖3的過程302)。將所述軟件應(yīng)用程序設(shè)計(jì)為對(duì)音頻/視頻 數(shù)據(jù)至少進(jìn)行部分處理。根據(jù)本發(fā)明的實(shí)施方式,將對(duì)軟件供應(yīng)商而言是 唯一的AppKey嵌入在所述軟件應(yīng)用程序中。此外,還將加密的(AppKeyfEK嵌入在所述軟件應(yīng)用程序中,其中,所述(AppKey)SEK包括由視頻處理裝置 或加密工具使用SEK加密后的AppKey。上文已經(jīng)描述了針對(duì)具體軟件供 應(yīng)商生成(AppKey嚴(yán)K的過程。
一般而言,所述軟件應(yīng)用程序使用本領(lǐng)域已知的標(biāo)準(zhǔn)抗竄改軟件方法 來保護(hù)所述AppKey和(AppKey嚴(yán)K。常規(guī)軟件應(yīng)用程序通常使用這樣的方 法在處理過程中保護(hù)許可證密鑰和音頻/視頻數(shù)據(jù)。應(yīng)當(dāng)注意,如果AppKey 禾口(AppKey)SEK被泄密,那么由于使用了諸如AES等加密法,因此仍然無法 確定SEK的值。
圖4A示出了軟件應(yīng)用程序400和視頻處理裝置200。如上所述,將SEK 202永久性地嵌入在視頻處理裝置200內(nèi)。將對(duì)軟件供應(yīng)商而言是唯一的 AppKey 206以及加密的(AppKey嚴(yán)K 208包含在軟件應(yīng)用程序400中,其中 所述(AppKey嚴(yán)K 208由使用SEK 202加密之后的AppKey 206構(gòu)成。軟件 應(yīng)用程序400還包括必須被安全地發(fā)送到視頻處理裝置200的音頻/視頻數(shù) 據(jù)(A/V) 402。
在運(yùn)行時(shí),指派所述軟件應(yīng)用程序和視頻處理裝置來處理和發(fā)布音頻/ 視頻數(shù)據(jù)。在發(fā)送音頻/視頻數(shù)據(jù)之前或與之同時(shí),軟件應(yīng)用程序?qū)?(AppKey)sEK發(fā)送到視頻處理裝置(304)。由于(AppKey嚴(yán)K是加密的,因此
它能夠以幾乎不可能被破譯的受到高度保護(hù)的方式在軟件應(yīng)用程序與視頻 處理裝置之間傳輸。
所述軟件應(yīng)用程序還生成了隨機(jī)會(huì)話密鑰(RSK) (306)。所述RSK 通常是由軟件應(yīng)用程序隨機(jī)生成的唯一密鑰,并且它不必與任何軟件供應(yīng) 商綁定到一起。所述軟件應(yīng)用程序可以使用標(biāo)準(zhǔn)的隨機(jī)數(shù)生成庫來生成所 述會(huì)話密鑰。
之后,所述軟件應(yīng)用程序使用AppKey對(duì)所述RSK加密(308)。這生 成了加密的(1^。一~。如上所述,AppKey可以是與標(biāo)準(zhǔn)加密方法兼容的 128、 192或256位密鑰。在一種實(shí)施方式中,可以使用與用于借助SEK對(duì) AppKey加密的技術(shù)類似的技術(shù)來執(zhí)行所述加密。例如,可以使用諸如AES 等分組密碼加密。對(duì)所述RSK進(jìn)行使用AppKey的分組密碼加密,從而輸 出加密的(RSK)APPKey。在其它實(shí)施方式中,可以使用借助AppKey對(duì)RSK 加密的備選方法。
13接下來,所述軟件應(yīng)用程序?qū)⒓用艿?RSK)APPKey發(fā)送至所述視頻處理
裝置(310)??梢源蠹s在發(fā)送所述加密的(AppKey)SEK的同時(shí)將所述加密的 (RSK)AppKey發(fā)送至所述視頻處理裝置,或者可以在稍后發(fā)送所述加密的
(RSK)APpKey。通常,所述軟件應(yīng)用程序?qū)⒋蠹s同時(shí)發(fā)送加密的(RSK)APPKey
和所述加密的(AppKey)SEK 二者。與(AppKey)SEK的情況 一 樣,由于 (RSK)AppKey是加密的,因此它能夠以幾乎不可能被破譯的受到高度保護(hù)的
方式在軟件應(yīng)用程序與視頻處理裝置之間傳輸。
在從軟件應(yīng)用程序接收到加密的(AppKey)sEK之后,所述視頻處理裝置 使用永久性地嵌入在所述視頻處理裝置之內(nèi)的SEK對(duì)所述(AppKey)sEK解 密(312)。現(xiàn)在所述視頻處理裝置已經(jīng)提取出所述AppKey。圖4B示出了 如何使用SEK對(duì)(AppKey)sEK進(jìn)行分組密碼解密,以輸出解密的AppKey。 可以使用AES作為解密標(biāo)準(zhǔn)。因此,所述視頻處理裝置以受保護(hù)的方式接 收到了 AppKey。
接下來,在從所述軟件應(yīng)用程序接收到了所述加密的(RSK)APPKey之后,
所述視頻處理裝置使用前面解密的AppKey對(duì)(RSK)APPKey進(jìn)行解密(314)。 現(xiàn)在所述視頻處理裝置已經(jīng)提取出RSK。圖4C示出了如何使用AppKey對(duì) 所述加密的(RSK)APPKey進(jìn)行分組密碼解密,以輸出解密的RSK。而且,可 以使用AES作為解密標(biāo)準(zhǔn)。因此,所述視頻處理裝置以受保護(hù)的方式接收 到了 RSK。在過程流中的這一點(diǎn)上,所述軟件應(yīng)用程序和所述視頻處理裝 置具有通用的共享RSK。
現(xiàn)在,所述軟件應(yīng)用程序可以使用所述RSK將加密的音頻/視頻數(shù)據(jù)以 受保護(hù)的方式發(fā)送至所述視頻處理裝置。首先,所述軟件應(yīng)用程序使用所 述RSK對(duì)所述音頻/視頻數(shù)據(jù)加密(316)。本文將加密的音頻/視頻數(shù)據(jù)稱 為(A/V嚴(yán)K。在一種實(shí)施方式中,可以使用與用于借助SEK對(duì)AppKey加 密以及借助AppKey對(duì)RSK加密的技術(shù)類似的技術(shù)執(zhí)行所述加密。在另一 種實(shí)施方式中,可以將電子密碼本(ECB)模式用于密鑰加密,同時(shí)可以 將計(jì)數(shù)器(CTR)模式用于音頻/視頻數(shù)據(jù)加密。應(yīng)當(dāng)注意,對(duì)于音頻/視頻 數(shù)據(jù)加密而言,可以使用本領(lǐng)域可用的任何加密模式,包括但不限于諸如 密碼塊鏈接(CBC)、傳播密碼塊鏈接(PCBC)、密碼反饋(CFB)和輸出 反饋(OFB)之類的分組密碼加密技術(shù)的可用變型中的任何一種。之后,
14所述軟件應(yīng)用程序?qū)⒓用艿?A/VfSK發(fā)送至所述視頻處理裝置(318)。隨著 所述音頻/視頻數(shù)據(jù)在所述軟件應(yīng)用程序與所述視頻處理裝置之間傳輸,所 述加密將避免(A/VfSK被偵聽和破譯。
所述視頻處理裝置接收到加密的(A/VfSK,并使用先前解密的RSK對(duì) 其解密(320)。在一種實(shí)施方式中,可以使用與用于對(duì)(AppKey)sEK和 (RSK)APPKey解密的技術(shù)類似的技術(shù)來執(zhí)行所述解密。這里,可以基于怎樣 才適合對(duì)所述音頻/視頻數(shù)據(jù)使用的加密方法這一原則來選擇所實(shí)施的解密 方法。
現(xiàn)在,所述視頻處理裝置己經(jīng)提取出可被處理和發(fā)布的未加密的音頻/ 視頻數(shù)據(jù)(322)。例如,所述視頻處理裝置可以對(duì)所述數(shù)據(jù)進(jìn)行處理,并 將視頻顯示在顯示裝置上,同時(shí)通過揚(yáng)聲器發(fā)布音頻。
加密的使用保護(hù)了數(shù)據(jù)的發(fā)送。由于所述視頻處理裝置不能在未事先 擁有SEK的情況下對(duì)AppKey或RSK解密,因此這里暗中對(duì)硬件進(jìn)行了驗(yàn) 證。沒有SEK的硬件不能對(duì)任何數(shù)據(jù)解密,因此也不能處理和發(fā)布音頻/ 視頻數(shù)據(jù)。
圖4A示出了在軟件應(yīng)用程序400與視頻處理裝置200之間的加密數(shù)據(jù) 流。如圖所示,所述軟件應(yīng)用程序?qū)?AppKey)sEK 208發(fā)送到所述視頻處理 裝置200。所述軟件應(yīng)用程序400還生成隨機(jī)會(huì)話密鑰RSK 404,使用 AppKey 206對(duì)RSK 404加密以生成(RSK)細(xì)Key 406,并且將(RSK)細(xì)Key 406 發(fā)送到所述視頻處理裝置200。最后,所述軟件應(yīng)用程序400使用RSK404 對(duì)A/V 402加密,以生成加密的音頻/視頻數(shù)據(jù)(A/V嚴(yán)K 408,并且將(A/V嚴(yán)K 408發(fā)送到所述視頻處理裝置200。如圖4A所示,對(duì)從所述軟件應(yīng)用程序 400流動(dòng)到所述視頻處理裝置200的所有數(shù)據(jù)進(jìn)行了加密。
本發(fā)明的總體過程流具有魯棒性,這是因?yàn)橹挥泻蠸EK的硬件裝置 才能解開AppKey,進(jìn)而解開最終的會(huì)話密鑰RSK。用戶平臺(tái)上的攻擊程序
只能發(fā)現(xiàn)在所述軟件應(yīng)用程序與所述硬件裝置之間流動(dòng)的加密的 (AppKey嚴(yán)k、加密的(RSK)app^和加密的(A/V嚴(yán)k。所述加密避免了所述數(shù) 據(jù)受到偵聽和破譯。如果所述硬件裝置含有密鑰SEK,那么只能完成對(duì)從 所述軟件應(yīng)用程序到所述硬件裝置的AppKey和RSK的解密。
只有所述硬件裝置的制造商才知道所述密鑰SEK。如上所述,所述軟
15件供應(yīng)商只接收(AppKey嚴(yán)K,所述(AppKey嚴(yán)K是不能被軟件供應(yīng)商解密的 加密數(shù)據(jù)串,這是因?yàn)檐浖?yīng)商沒有接觸SEK的通道。每一軟件供應(yīng)商 可以具有自己獨(dú)立的AppKey。因此,供應(yīng)商的AppKey的泄密只能暴露供 應(yīng)商A,而不會(huì)影響供應(yīng)商B。
如上所述,盡管本說明書描述了媒體內(nèi)容的保護(hù),但是本發(fā)明的方法 不限于音頻和視頻數(shù)據(jù)的傳輸。例如,可以使用本發(fā)明的方法來保護(hù)其它 形式的數(shù)據(jù)在其它類型的軟件與硬件裝置之間的傳輸,包括但不限于金融 交易和一般網(wǎng)絡(luò)業(yè)務(wù)。
可以通過硬件、固件和軟件之一或其組合實(shí)現(xiàn)本發(fā)明。所述硬件可以 是包括處理器的計(jì)算機(jī)系統(tǒng),處理器指的是對(duì)來自寄存器和/或存儲(chǔ)器的電 子數(shù)據(jù)進(jìn)行處理以便將所述電子數(shù)據(jù)轉(zhuǎn)換成可存儲(chǔ)在寄存器和/或存儲(chǔ)器內(nèi) 的其它電子數(shù)據(jù)的任何裝置或裝置的一部分。處理平臺(tái)可以包括一個(gè)或多 個(gè)處理器。
還可以將本發(fā)明實(shí)現(xiàn)為存儲(chǔ)在機(jī)器可讀介質(zhì)上的指令,可以由處理平 臺(tái)讀取并執(zhí)行所述指令,以執(zhí)行本文描述的操作。機(jī)器可讀介質(zhì)可以包括 任何用于存儲(chǔ)、發(fā)送或接收機(jī)器(例如,計(jì)算機(jī))可讀形式的信息的機(jī)構(gòu)。 例如,機(jī)器可讀介質(zhì)可以包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM); 磁盤存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃速存儲(chǔ)裝置;電、光、聲或其它形式的傳 播信號(hào)(例如,載波、紅外信號(hào)、數(shù)字信號(hào)、發(fā)射和/或接收這些信號(hào)的接 口等),等等。傳播信號(hào)包括通過Internet以及通過無線通信裝置發(fā)送的信 號(hào)。"無線"一詞及其派生詞可以用來描述利用調(diào)制的電磁輻射通過非固態(tài) 介質(zhì)進(jìn)行數(shù)據(jù)通信的電路、裝置、系統(tǒng)、方法、技術(shù)、通信通道等。
本發(fā)明示例性實(shí)施方式的上述說明(包括摘要中的內(nèi)容)并非旨在窮 舉或?qū)⒈景l(fā)明限定為所公開的精確形式。盡管出于舉例說明的目的在本文 描述了本發(fā)明的具體實(shí)施方式
和例子,但是本領(lǐng)域技術(shù)人員應(yīng)該認(rèn)識(shí)到, 在本發(fā)明的范圍內(nèi)各種等價(jià)修改都是可能的。
根據(jù)上面的詳細(xì)描述,可以對(duì)本發(fā)明做出這些修改。不應(yīng)將下列權(quán)利 要求中使用的術(shù)語理解為將本發(fā)明局限于說明書和權(quán)利要求中所公開的具 體實(shí)施方式。相反,本發(fā)明的范圍將完全由下列權(quán)利要求確定,應(yīng)當(dāng)根據(jù) 公認(rèn)的權(quán)利要求解釋原則對(duì)其進(jìn)行理解。
權(quán)利要求
1、一種用于接收裝置對(duì)從源裝置接收的數(shù)據(jù)進(jìn)行處理的方法,包括從所述源裝置接收加密的應(yīng)用密鑰;從所述源裝置接收加密的隨機(jī)會(huì)話密鑰;從所述源裝置接收加密的數(shù)據(jù);使用所述接收裝置所持有的加密密鑰來對(duì)所述加密的應(yīng)用密鑰進(jìn)行解密,由此提取出應(yīng)用密鑰;使用所述應(yīng)用密鑰來對(duì)所述加密的隨機(jī)會(huì)話密鑰進(jìn)行解密,由此提取出隨機(jī)會(huì)話密鑰;使用所述隨機(jī)會(huì)話密鑰來對(duì)所述加密的數(shù)據(jù)進(jìn)行解密,由此提取出不加密的數(shù)據(jù);以及對(duì)所述不加密的數(shù)據(jù)進(jìn)行處理。
2、 根據(jù)權(quán)利要求1所述的方法,其中,所述源裝置包括軟件應(yīng)用程序, 所述接收裝置包括硬件裝置。
3、 根據(jù)權(quán)利要求2所述的方法,其中,所述加密密鑰被永久性地嵌入 在所述硬件裝置內(nèi)。
4、 根據(jù)權(quán)利要求1所述的方法,其中,所述加密的應(yīng)用密鑰是使用 AES和所述加密密鑰加密的。
5、 根據(jù)權(quán)利要求1所述的方法,其中,所述加密的隨機(jī)會(huì)話密鑰是使 用AES和所述應(yīng)用密鑰加密的。
6、 根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)是使用CTR模式加 密的。
7、 根據(jù)權(quán)利要求2所述的方法,其中,所述數(shù)據(jù)包括音頻/視頻數(shù)據(jù)。
8、 根據(jù)權(quán)利要求1所述的方法,其中,所述源裝置包括硬件裝置。
9、 根據(jù)權(quán)利要求1所述的方法,其中,所述接收裝置包括軟件應(yīng)用程序。
10、 一種用于源裝置將數(shù)據(jù)發(fā)送到接收裝置的方法,包括將加密的應(yīng)用密鑰發(fā)送到所述接收裝置,其中,所述加密的應(yīng)用密鑰包括利用所述接收裝置所持有的加密密鑰加密的應(yīng)用密鑰; 生成隨機(jī)會(huì)話密鑰;利用所述應(yīng)用密鑰對(duì)所述隨機(jī)會(huì)話密鑰進(jìn)行加密; 將所述加密的隨機(jī)會(huì)話密鑰發(fā)送到所述接收裝置; 利用所述隨機(jī)會(huì)話密鑰對(duì)所述數(shù)據(jù)進(jìn)行加密;以及 將所述加密的數(shù)據(jù)發(fā)送到所述接收裝置。
11、 根據(jù)權(quán)利要求10所述的方法,其中,所述源裝置包括軟件應(yīng)用程 序,所述接收裝置包括硬件裝置。
12、 根據(jù)權(quán)利要求10所述的方法,其中,在將所述數(shù)據(jù)發(fā)送到所述接 收裝置之前,在安全的場(chǎng)所利用加密密鑰對(duì)所述應(yīng)用密鑰進(jìn)行加密。
13、 根據(jù)權(quán)利要求10所述的方法,其中,使用AES來執(zhí)行利用所述應(yīng) 用密鑰對(duì)所述隨機(jī)會(huì)話密鑰的加密。
14、 根據(jù)權(quán)利要求10所述的方法,其中,使用AES來執(zhí)行利用所述隨 機(jī)會(huì)話密鑰對(duì)媒體內(nèi)容的加密。
15、 根據(jù)權(quán)利要求10所述的方法,其中,使用CTR模式來執(zhí)行對(duì)所 述數(shù)據(jù)的加密。
16、 根據(jù)權(quán)利要求10所述的方法,其中,所述源裝置包括硬件裝置。
17、 根據(jù)權(quán)利要求10所述的方法,其中,所述接收裝置包括軟件應(yīng)用 程序。
18、 一種使用軟件應(yīng)用程序通過硬件裝置處理數(shù)據(jù)的方法,包括 將加密的應(yīng)用密鑰從所述軟件應(yīng)用程序發(fā)送到所述硬件裝置,其中,所述加密的應(yīng)用密鑰包括使用分組密碼加密和所述硬件裝置所持有的加密 密鑰所加密的應(yīng)用密鑰;使用所述硬件裝置來利用分組密碼解密和所述硬件裝置所持有的加密 密鑰對(duì)所述加密的應(yīng)用密鑰進(jìn)行解密,由此提取出所述應(yīng)用密鑰;使用所述軟件應(yīng)用程序來生成隨機(jī)會(huì)話密鑰;使用所述軟件應(yīng)用程序來利用分組密碼加密和所述應(yīng)用密鑰對(duì)所述隨 機(jī)會(huì)話密鑰進(jìn)行加密;將所述加密的隨機(jī)會(huì)話密鑰從所述軟件應(yīng)用程序發(fā)送到所述硬件裝置;使用所述硬件裝置來利用分組密碼解密和所述應(yīng)用密鑰對(duì)所述加密的 隨機(jī)會(huì)話密鑰進(jìn)行解密,由此提取出所述隨機(jī)會(huì)話密鑰;使用所述軟件應(yīng)用程序來利用所述隨機(jī)會(huì)話密鑰對(duì)所述數(shù)據(jù)進(jìn)行加密;將所述加密的數(shù)據(jù)從所述軟件應(yīng)用程序發(fā)送到所述硬件裝置; 使用所述硬件裝置來利用所述隨機(jī)會(huì)話密鑰對(duì)所述加密的數(shù)據(jù)進(jìn)行解密,由此提取出所述數(shù)據(jù);以及對(duì)所述數(shù)據(jù)進(jìn)行處理。
19、 根據(jù)權(quán)利要求18所述的方法,其中,所述分組密碼加密和解密是 以AES為基礎(chǔ)的。
20、 根據(jù)權(quán)利要求18所述的方法,其中,所述硬件裝置包括視頻處理 裝置。
21、 根據(jù)權(quán)利要求18所述的方法,其中,所述軟件應(yīng)用程序和所述硬 件裝置二者均存在于同一計(jì)算機(jī)系統(tǒng)內(nèi)。
22、 根據(jù)權(quán)利要求18所述的方法,其中,所述軟件應(yīng)用程序和所述硬 件裝置二者存在于不同的計(jì)算機(jī)系統(tǒng)內(nèi)。
23、 根據(jù)權(quán)利要求18所述的方法,其中,所述加密的應(yīng)用密鑰是在使 用所述軟件應(yīng)用程序通過硬件裝置發(fā)布所述媒體內(nèi)容之前而在安全的場(chǎng)所 使用所述分組密碼加密和所述加密密鑰加密的。
24、 一種計(jì)算機(jī)系統(tǒng),包括 處理平臺(tái);存在于機(jī)器可讀介質(zhì)上的軟件應(yīng)用程序;以及 存在于所述計(jì)算機(jī)系統(tǒng)內(nèi)的視頻處理裝置;其中,所述軟件應(yīng)用程序包括計(jì)算機(jī)可執(zhí)行指令,在所述處理平臺(tái)執(zhí) 行所述計(jì)算機(jī)可執(zhí)行指令時(shí),所述計(jì)算機(jī)可執(zhí)行指令使所述處理平臺(tái)執(zhí)行 以下操作,包括將加密的應(yīng)用密鑰發(fā)送到所述視頻處理裝置,其中,所述加密的應(yīng)用 密鑰包括使用分組密碼加密和所述視頻處理裝置所持有的加密密鑰所加密 的應(yīng)用密鑰;生成隨機(jī)會(huì)話密鑰;使用分組密碼加密和所述應(yīng)用密鑰來對(duì)所述隨機(jī)會(huì)話密鑰進(jìn)行加密; 將所述加密的隨機(jī)會(huì)話密鑰發(fā)送到所述視頻處理裝置; 利用所述隨機(jī)會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行加密;以及 將所述加密的數(shù)據(jù)發(fā)送到所述視頻處理裝置; 并且其中,將所述視頻處理裝置配置為使用分組密碼解密和所述視頻處理裝置所持有的加密密鑰來對(duì)所述加 密的應(yīng)用密鑰進(jìn)行解密,由此提取出所述應(yīng)用密鑰;使用分組密碼解密和所述應(yīng)用密鑰來對(duì)所述加密的隨機(jī)會(huì)話密鑰進(jìn)行解密,由此提取出所述隨機(jī)會(huì)話密鑰;使用所述隨機(jī)會(huì)話密鑰來對(duì)所述加密的數(shù)據(jù)進(jìn)行解密,由此提取出所 述數(shù)據(jù);以及對(duì)所述數(shù)據(jù)進(jìn)行處理。
25、根據(jù)權(quán)利要求24所述的計(jì)算機(jī)系統(tǒng),其中,所述數(shù)據(jù)包括音頻/ 視頻數(shù)據(jù),所述視頻處理裝置通過在顯示裝置上以及經(jīng)由揚(yáng)聲器發(fā)布所述 音頻/視頻數(shù)據(jù)來處理所述數(shù)據(jù)。
全文摘要
一種使用軟件應(yīng)用程序來通過硬件裝置發(fā)布音頻/視頻數(shù)據(jù)的方法,包括在硬件端接收來自所述軟件的加密的應(yīng)用密鑰、加密的隨機(jī)會(huì)話密鑰和加密的音頻/視頻數(shù)據(jù)。之后,所述硬件使用加密密鑰對(duì)所述加密的應(yīng)用密鑰進(jìn)行解密,使用所述應(yīng)用密鑰對(duì)所述加密的隨機(jī)會(huì)話密鑰進(jìn)行解密,并使用所述隨機(jī)會(huì)話密鑰對(duì)所述加密的音頻/視頻數(shù)據(jù)進(jìn)行解密。之后,所述硬件可以通過顯示器和揚(yáng)聲器發(fā)布不加密的音頻/視頻數(shù)據(jù)。所述加密密鑰在較早的時(shí)間點(diǎn)以安全的方式嵌入在所述硬件裝置內(nèi)。
文檔編號(hào)H04L29/06GK101471943SQ20081017807
公開日2009年7月1日 申請(qǐng)日期2008年12月19日 優(yōu)先權(quán)日2007年12月20日
發(fā)明者A·斯里尼瓦斯, B·韋姆布, G·L·格勞恩克, S·薩達(dá)斯萬 申請(qǐng)人:英特爾公司