国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      白盒實施方案內(nèi)中間值的寬編碼的制作方法

      文檔序號:12729824閱讀:366來源:國知局
      白盒實施方案內(nèi)中間值的寬編碼的制作方法與工藝

      本文所公開的各種示例性實施例大體上涉及密碼函數(shù)的白盒實施方案內(nèi)中間值的寬編碼。



      背景技術(shù):

      因特網(wǎng)向用戶提供對數(shù)字內(nèi)容的適宜和廣泛的訪問。因為因特網(wǎng)是強大的分布式通道,許多用戶裝置力求直接訪問因特網(wǎng)。用戶裝置可包括個人計算機、膝上型計算機、機頂盒、支持因特網(wǎng)的媒體播放器、移動電話、智能電話、平板計算機、移動無線熱點,或能夠訪問因特網(wǎng)的任何其它裝置。使用因特網(wǎng)作為用于有版權(quán)內(nèi)容的分布媒體對保護內(nèi)容提供商的利益產(chǎn)生有力的挑戰(zhàn)。用戶裝置越來越多地使用加載有合適的軟件的處理器來呈現(xiàn)(重放)數(shù)字內(nèi)容,例如音頻和/或視頻。重放軟件的控制是一種強制執(zhí)行內(nèi)容所有者的利益(包括可供使用的內(nèi)容所依據(jù)的條款)的方式。先前許多用戶裝置是封閉系統(tǒng)。當今越來越多的平臺是部分開放的。可假設(shè)一些用戶具有對于提供對內(nèi)容的訪問的硬件和軟件的完全控制及訪問權(quán),并具有大量時間和資源來攻擊和繞過任何內(nèi)容保護機構(gòu)。其結(jié)果是,內(nèi)容提供商必須跨越對于其中并非所有用戶或用戶裝置可信任的團體敵對的網(wǎng)絡(luò)將內(nèi)容遞送到合法用戶。

      可調(diào)用安全軟件應(yīng)用來實行各種函數(shù),例如用于保護和驗證數(shù)字內(nèi)容的密碼函數(shù)。為了對抗攻擊,這些算法必須被模糊(隱藏)以便防止算法的逆向工程和修改或禁止獲得特定用戶的安全信息。因此,安全軟件應(yīng)用的功能可通過由實施該安全軟件的處理器的指令集定義的各種函數(shù)來執(zhí)行。例如,模糊這些函數(shù)的一種方式是通過使用查找表。

      內(nèi)容提供商必須跨越對于其中并非所有用戶或裝置可信任的團體敵對的網(wǎng)絡(luò)將內(nèi)容遞送到合法用戶。這就引起了白盒密碼術(shù)的發(fā)展。在白盒密碼術(shù)情形中,假設(shè)用戶具有對于提供對內(nèi)容的訪問的硬件和軟件的完全控制以及攻擊和繞過任何內(nèi)容保護機構(gòu)的不受限制的時間量和資源。強制執(zhí)行可供使用的內(nèi)容所依據(jù)的條款的安全軟件代碼應(yīng)防止被篡改。數(shù)字權(quán)限管理為安全軟件應(yīng)用的共同應(yīng)用。用于分布到用戶裝置的受保護內(nèi)容的數(shù)字權(quán)限管理中的一般方法是使用(例如)DES(數(shù)據(jù)加密標準)、AES(高級加密標準)或使用其它已知加密方案對數(shù)字內(nèi)容進行加密,并使用解密密鑰恢復(fù)數(shù)字內(nèi)容。這些解密密鑰必須被保護以防止對受保護材料的未授權(quán)的訪問。

      在數(shù)字權(quán)限管理的情形中,攻擊者具有對強制執(zhí)行受保護內(nèi)容的管理和訪問的軟件的完全控制。因此,攻擊者可修改軟件以及試圖獲得用于對受保護內(nèi)容進行加密的密碼密鑰。此類密鑰可通過分析軟件來發(fā)現(xiàn)。

      關(guān)于密鑰分布,媒體播放器必須從許可證數(shù)據(jù)庫中檢索解密密鑰以便重放媒體。媒體播放器隨后必須將此解密密鑰存儲在存儲器中某處以用于已加密內(nèi)容的解密。這樣就讓攻擊者有兩種選擇來攻擊密鑰。首先,攻擊者可逆向編寫許可證數(shù)據(jù)庫訪問函數(shù),從而允許攻擊者從所有許可證數(shù)據(jù)庫中檢索資產(chǎn)密鑰。在此情況下,攻擊者不需要理解密碼函數(shù)的內(nèi)部工作。其次,攻擊者可以觀察內(nèi)容解密期間對存儲器的訪問,攻擊者可因此檢索解密密鑰。在這兩種情況下,密鑰都被視為被破解。

      數(shù)字權(quán)限管理(DRM)和其它安全軟件的廣泛使用引起對安全的防篡改軟件的需要,該軟件力圖使軟件竄改變得復(fù)雜。存在各種用于提高軟件應(yīng)用的防篡改性能的技術(shù)。這些技術(shù)中的大多數(shù)是基于通過在軟件應(yīng)用的控制和數(shù)據(jù)路徑中添加隨機性和復(fù)雜度遮罩而隱藏對應(yīng)用的嵌入式了解。這背后的概念是僅僅通過代碼檢測來提取信息變得更加困難。因而更難找到(例如)處理對安全應(yīng)用的訪問和許可控制的代碼,并因此更難改變代碼。

      如本文所使用,白盒密碼術(shù)包括一種安全軟件應(yīng)用,其在攻擊者具有對運行白盒密碼術(shù)軟件的系統(tǒng)的完全控制的環(huán)境中執(zhí)行密碼函數(shù)。因此,攻擊者可修改輸入和輸出、追蹤軟件操作、取樣和監(jiān)視軟件在任何時間使用的存儲器,甚至可修改軟件。因此,需要通過防止揭露安全功能性中使用的機密信息的方式執(zhí)行安全功能。白盒密碼術(shù)功能可以各種方式實施。此類方法包括:模糊軟件代碼;使用模糊機密信息使用的復(fù)雜的數(shù)學(xué)函數(shù);使用查找表;使用有限狀態(tài)機;或任何其它執(zhí)行密碼函數(shù)但是隱藏那些安全功能所需的機密信息的方法。白盒實施方案還可包括一些組件,所述組件包括防調(diào)試和防篡改屬性。

      相對于硬件實施方案,優(yōu)選加密算法的軟件實施方案存在若干原因。如此(例如)可能是因為軟件解決方案在密鑰泄露的情況下可再生、因為其具有較低成本,或因為應(yīng)用開發(fā)者對其中實施白箱系統(tǒng)的硬件沒有影響。



      技術(shù)實現(xiàn)要素:

      各種示例性實施例的簡要概述在下文呈現(xiàn)。在以下概述中可以做出一些簡化和省略,其意在突出并介紹各種示例性實施例的一些方面,但不限制本發(fā)明的范疇。足以允許本領(lǐng)域的普通技術(shù)人員產(chǎn)生并使用本發(fā)明概念的示例性實施例的詳細描述將在后續(xù)部分呈現(xiàn)。

      各種實施例涉及用于通過密碼系統(tǒng)中帶密鑰的密碼運算將輸入消息映射到輸出消息,所述帶密鑰的密碼運算包括多個替代層和狀態(tài)數(shù)據(jù),包括:在帶密鑰的密碼運算的第一替代層中將輸入消息映射到第一狀態(tài)數(shù)據(jù),其中所述第一替代層包括實施所述第一替代層的N個基本塊,并且其中將具有第一大小的非線性編碼放置在所述第一替代層的N個基本塊的輸入和輸出上,其中N是整數(shù);在帶密鑰的密碼運算的多個中間替代層中將第一狀態(tài)數(shù)據(jù)映射到第二狀態(tài)數(shù)據(jù),其中所述中間替代層包括實施所述中間替代層的M個塊,并且其中將具有第二大小的多個非線性編碼放置在所述中間替代層的M個基本塊的輸入和輸出上,其中M是整數(shù);以及在帶密鑰的密碼運算的最終替代層中將第二狀態(tài)數(shù)據(jù)映射到輸出消息,其中所述最終替代層包括實施所述最終替代層的K個基本塊,并且其中將具有第三大小的非線性編碼放置在所述最終替代層的K個基本塊的輸入和輸出上,其中K是整數(shù),其中第一大小和第三大小大于第二大小,其中N>M,并且其中K>M。

      描述了各種實施例,其中第一大小和第三大小大于或等于第二大小的兩倍。

      描述了各種實施例,其中密碼運算為高級加密標準(AES)。

      描述了各種實施例,其中密碼運算為數(shù)據(jù)加密標準(DES)。

      描述了各種實施例,其中第一大小為8位,第二大小為4位,并且第三大小為8位。

      描述了各種實施例,其中:在中間替代層中實施異或函數(shù)的基本塊對4位輸入進行運算以產(chǎn)生4位輸出,并且在第一和最后替代層中實施異或函數(shù)的基本塊對8位輸入進行運算以產(chǎn)生8位輸出。

      描述了各種實施例,其中:在中間替代層中實施異或函數(shù)的基本塊對具有第二大小的輸入進行運算以產(chǎn)生具有第二大小的輸出;在第一替代層中實施異或函數(shù)的基本塊對具有第一大小的輸入進行運算以產(chǎn)生具有第一大小的輸出;以及在最后替代層中實施異或函數(shù)的基本塊對具有第三大小的輸入進行運算以產(chǎn)生具有第三大小的輸出。

      描述了各種實施例,其中還將線性編碼放置在中間替代層中的M個基本塊的輸入和輸出上。

      其它各種實施例涉及非暫時性機器可讀存儲媒體,其經(jīng)指令編碼以實施通過密碼系統(tǒng)中的帶密鑰的密碼運算將輸入消息映射到輸出消息,所述帶密鑰的密碼運算包括多個替代層和狀態(tài)數(shù)據(jù),包括:用于在帶密鑰的密碼運算的第一替代層中將輸入消息映射到第一狀態(tài)數(shù)據(jù)的指令,其中所述第一替代層包括實施所述第一替代層的N個基本塊,并且其中將具有第一大小的非線性編碼放置在所述第一替代層的N個基本塊的輸入和輸出上,其中N是整數(shù);用于在帶密鑰的密碼運算的多個中間替代層中將第一狀態(tài)數(shù)據(jù)映射到第二狀態(tài)數(shù)據(jù)的指令,其中所述中間替代層包括實施所述中間替代層的M個塊,并且其中將具有第二大小的多個非線性編碼放置在所述中間替代層的M個基本塊的輸入和輸出上,其中M是整數(shù);以及用于在帶密鑰的密碼運算的最終替代層中將第二狀態(tài)數(shù)據(jù)映射到輸出消息的指令,其中所述最終替代層包括實施所述最終替代層的K個基本塊,并且其中將具有第三大小的非線性編碼放置在所述最終替代層的K個基本塊的輸入和輸出上,其中K是整數(shù),其中第一大小和第三大小大于第二大小,其中N>M,并且其中K>M。

      描述了各種實施例,其中第一大小和第三大小大于或等于第二大小的兩倍。

      描述了各種實施例,其中密碼運算為高級加密標準(AES)。

      描述了各種實施例,其中密碼運算為數(shù)據(jù)加密標準(DES)。

      描述了各種實施例,其中第一大小為8位,第二大小為4位,并且第三大小為8位。

      描述了各種實施例,其中:在中間替代層中實施異或函數(shù)的基本塊對4位輸入進行運算以產(chǎn)生4位輸出,并且在第一和最后替代層中實施異或函數(shù)的基本塊對8位輸入進行運算以產(chǎn)生8位輸出。

      描述了各種實施例,其中:在中間替代層中實施異或函數(shù)的基本塊對具有第二大小的輸入進行運算以產(chǎn)生具有第二大小的輸出;在第一替代層中實施異或函數(shù)的基本塊對具有第一大小的輸入進行運算以產(chǎn)生具有第一大小的輸出;以及在最后替代層中實施異或函數(shù)的基本塊對具有第三大小的輸入進行運算以產(chǎn)生具有第三大小的輸出。

      描述了各種實施例,其中還將線性編碼放置在中間替代層中的M個基本塊的輸入和輸出上。

      附圖說明

      為了更好地理解各種示例性實施例,參看附圖,其中:

      圖1示出AES的輪回的主要步驟;

      圖2示出具有對輪回的輸入的固定編碼的白盒AES實施方案;

      圖3示出借助于查找表的網(wǎng)絡(luò)的一個輸出半字節(jié)的計算;

      圖4示出通過對輸入和輸出進行編碼來模糊的圖3的網(wǎng)絡(luò)表格的部分;

      圖5示出后面跟著Q盒的輸出的兩個4位非線性編碼的8位線性編碼的應(yīng)用;以及

      圖6示出用于為用戶裝置提供安全內(nèi)容以及處理該安全內(nèi)容的軟件應(yīng)用的系統(tǒng)。

      為了便于理解,相同的附圖標號已用于指代具有大體上相同或類似結(jié)構(gòu)和/或大體上相同或類似功能的元件。

      具體實施方式

      描述和附圖示出了本發(fā)明的原理。因此將了解,本領(lǐng)域的技術(shù)人員將能夠設(shè)計各種布置,盡管本文中未明確地描述或示出所述布置,但所述布置體現(xiàn)本發(fā)明的原理且包括在其范疇內(nèi)。此外,本文中所述的所有例子主要明確地意在用于教學(xué)目的以輔助讀者理解本發(fā)明的原理以及由本發(fā)明人所提供的概念,從而深化本領(lǐng)域,且所有例子應(yīng)解釋為不限于此類特定所述例子及條件。另外,除非另外指明(例如,“或另外”或“或在替代方案中”),否則如本文所使用的術(shù)語“或”指代非排他性的“或”(即,“和/或”)。并且,本文所描述的各種實施例不一定相互排斥,因為一些實施例可以與一個或多個其它實施例組合以形成新的實施例。

      相對于硬件實施方案,優(yōu)選加密算法的軟件實施方案存在若干原因。如此(例如)可能是因為軟件解決方案在密鑰泄露的情況下可再生、因為其具有較低成本,或因為應(yīng)用開發(fā)者對其中實施白箱系統(tǒng)的硬件沒有影響。雖然下面的實施例的描述涉及在處理器上運行的軟件實施方案,但應(yīng)指出這些實施例也可部分或完全地在硬件中實施。所描述的查找表和有限狀態(tài)機可在硬件中實施以執(zhí)行所描述的各種功能。

      下面的論文提出了針對高級加密標準(AES)和數(shù)據(jù)加密標準(DES)的白盒實施方案的基于表格的方法:由Stanley Chow、Philip Eisen、Harold Johnson和Paul C.Van Oorschot在2002年8月15到16日在加拿大紐芬蘭島圣約翰SAC2002第9屆“選定區(qū)域的密碼術(shù)”國際研討會中提出的“白盒加密術(shù)和AES實施方案(White-Box Crytography and an AES Implementation)”,該論文在下文中被稱為“Chow 1”;以及由Stanley Chow、Phil Eisen、Harold Johnson和Paul C.Van Oorschot在2002年11月18日在美國華盛頓特區(qū)數(shù)字權(quán)限管理:DRM 2002ACM CCS-9研討會中提出的“用于DRM應(yīng)用的白盒DES實施方案(A White-Box DES Implementation for DRM Applications)”,該論文在下文中被稱為“Chow2”。Chow 1和Chow 2公開了使用基于表格的方法,通過隨機雙映射對其表格進行編碼并通過將密碼邊界推送到包含應(yīng)用中而延伸該密碼邊界的組合來隱藏密碼密鑰的方法。

      如所提到,對于許多密碼運算來說,期望具有白盒實施方案。本發(fā)明可應(yīng)用(例如)于對稱和不對稱密碼運算。并且,本發(fā)明可應(yīng)用于塊密碼、流密碼、消息認證方案、簽名方案等。應(yīng)注意,本發(fā)明還可應(yīng)用于散列函數(shù)。如果散列函數(shù)被用作處理機密信息(例如,機密密鑰、機密數(shù)據(jù)等)的構(gòu)建塊,則后者尤其有用。例如,本發(fā)明可應(yīng)用于在帶密鑰的散列信息認證碼(HMAC或KHMAC)中使用的散列函數(shù)。熟知的塊密碼包括:高級加密標準(AES)、安全并快速加密例程(SAFER及其變體SAFER+和SAFER++)、Blowfish加密法、數(shù)據(jù)加密標準(DES)等。熟知的流密碼為RC4。此外,任何塊密碼可用作使用適當?shù)倪\算模式(例如,密碼反饋(CFB)、計數(shù)器模式(CTR)等)的流密碼。

      輸入消息可表示(例如)已加密內(nèi)容數(shù)據(jù),例如包含音頻和/或視頻數(shù)據(jù)的多媒體數(shù)據(jù)。已加密內(nèi)容數(shù)據(jù)還可包括已加密軟件,例如,表示某一計算機應(yīng)用(例如,計算機游戲或辦公室應(yīng)用等)的已加密計算機代碼。輸入消息也可表示用于另一密碼運算的密鑰。后者可被用于(例如)密鑰交換協(xié)議中,其中,根據(jù)本發(fā)明的白盒實施方案對表示新密鑰的數(shù)據(jù)進行加密和/或解密。輸入數(shù)據(jù)還可為純數(shù)據(jù),例如,純用戶數(shù)據(jù)。后者在消息認證方案中尤其有利。根據(jù)本發(fā)明的白盒實施方案可具有該實施方案僅可用于加密、僅可用于解密而非同時用于這兩者的屬性。例如,如果實施方案使用不是雙映射的查找表,例如輸入位比輸出位更多的查找表,那么可以實現(xiàn)此屬性。因此,如果用戶僅具有白盒解密器,那么該用戶可驗證MAC代碼,而不是創(chuàng)建新的MAC。這強化了此類消息認證方案的抗抵賴屬性。

      白盒實施方案可使用多個基本塊來實施。多個基本塊為互連的,在這個意義上,一些塊基于先前塊中的一個或多個塊的輸出而構(gòu)建。基本塊可(例如)作為計算機芯片在硬件中實施?;緣K可使用開關(guān)板、狀態(tài)機或用于在計算機硬件中實施功能的任何其它合適的構(gòu)造?;緣K也可實施在運行于通用計算機芯片(例如,微處理器)上的軟件中。例如,基本塊可使用多個計算機指令,包括算術(shù)指令,它們一起實施基本塊的功能性。可在軟硬件中使用的基本塊的廣泛使用的實施方案為查找表。例如,Chow 1和Chow 2采用此方法來實施AES和DES塊密碼。查找表實施方案包括列出可能的輸入值、輸出值的列表。在查找表中的輸入值可為明確的。在此情況下,通過在輸入值的清單中搜索特定輸入,查找表實施方案可將特定輸入映射到特定輸出。在發(fā)現(xiàn)特定輸入時,那么也發(fā)現(xiàn)特定輸出。例如,特定輸出可與特定輸入在一起存儲。優(yōu)選地,輸入值未明確存儲,而僅是隱含地存儲。例如,如果可能的輸入為(例如)數(shù)值或位串的連續(xù)范圍,那么查找表可被限制存儲輸出值的列表。例如,特定輸入數(shù)值可被映射到存儲在由該數(shù)值所指示的位置的特定輸出。另外,有限狀態(tài)機或代碼模糊處理可用于實施白盒實施方案。

      例如,通過計算其可能輸入的函數(shù)的輸出值并在列表中存儲該輸出,可產(chǎn)生用于該函數(shù)的查找表。如果函數(shù)取決于多個輸入,那么可計算并存儲用于該多個輸入的所有可能組合的輸出。查找表特別適合于實施非線性函數(shù),其以不規(guī)律的方式將輸入映射到輸出。通過向白盒實施方案查找表的一個或多個應(yīng)用固定的模糊輸入編碼和固定輸出編碼,該白盒實施方案可以另外被模糊,如下面所解釋。接著,徹底預(yù)評估應(yīng)用固定模糊輸入編碼和輸出編碼的結(jié)果。通過使用此技術(shù),查找表將被具有相同尺寸的模糊查找表代替,其采用相同數(shù)量的輸入位并產(chǎn)生相同數(shù)量的輸出位。用于此類模糊處理中的輸入編碼和輸出編碼在最終的白盒實施方案中不是顯式的。

      基本塊的網(wǎng)絡(luò)被布置成在向它們呈現(xiàn)輸入消息時計算輸出消息。通常,通過數(shù)個基本輸入塊對輸入消息進行運算。數(shù)個其它基本塊可采用來自基本輸入塊中的一個或多個和/或輸入的輸入。又其它的基本塊可以采用輸入消息、基本輸入塊的輸出和另外基本塊的輸出的任何組合的輸入。最后,基本出口塊的某個集合,即至少一個基本出口塊,作為輸出產(chǎn)生全部或部分輸出消息。以此方式顯現(xiàn)基本塊的網(wǎng)絡(luò),其共同計算從輸入消息到輸出消息的映射。

      所使用的密鑰可為密碼密鑰,且可含有足夠的熵來承受預(yù)見的強行攻擊。應(yīng)注意,在白盒實施方案中,密鑰通常不是明確存在于該實施方案中。這樣會有通過檢測該實施方案發(fā)現(xiàn)密鑰的風(fēng)險。通常,該密鑰僅隱含地存在。在密碼系統(tǒng)中隱藏密鑰的各種方式是已知的。通常,至少使用部分評估的方法,其中需要密鑰輸入的基本塊到目前為止被評估為其并不取決于輸入消息。例如,其中輸入值、不取決于輸入消息的掩蔽值(例如,來自替代盒(S盒)的值),以及密鑰值需要進行異或運算的基本運算可以通過對該密鑰值和該掩蔽值一起預(yù)先進行異或運算來進行部分評估。以此方式,運算仍然取決于密鑰值,盡管該密鑰值不是明確存在于該實施方案中。實際上,僅有在密鑰值和掩蔽值之間的異或存在于實施方案中。應(yīng)注意,隱藏密鑰的更復(fù)雜的方式和/或另外的方式與本發(fā)明的實施例兼容。

      引起關(guān)注的一類對白盒實施方案的攻擊是通過密碼硬件團體應(yīng)用的硬件差分功率分析(DPA)攻擊的軟件對應(yīng)部分。從20世紀90年代末開始,眾所周知的是,在執(zhí)行密碼原語時獲得的功率軌跡的統(tǒng)計分析可與所使用的機密密鑰材料相關(guān),并因此揭露了關(guān)于該機密密鑰材料的信息。通常,在這種攻擊中,假設(shè)一個人訪問具有已知密碼算法的硬件實施方案。I(pi,k)表示具有輸入pi的算法的目標中間狀態(tài),且其中僅使用機密密鑰的小部分,由k表示。假設(shè)在狀態(tài)I(pi,k)下裝置的功率消耗是數(shù)據(jù)依賴分量和某一隨機噪聲的總和,即,其中在狀態(tài)s期間,函數(shù)返回裝置的功率消耗,并且δ表示某一泄露噪聲。常見的假設(shè)是,噪聲是隨機的且獨立于中間狀態(tài),并且正態(tài)分布有零均值。因為對手可以訪問硬件實施方案,所以該對手可獲得三元組(ti,pi,ci)。此處pi是對手任意選擇的一個明文輸入,ci是硬件實施方案使用固定的未知密鑰計算出的密文輸出,且值ti示出在整個硬件實施方案的時間內(nèi)計算輸出密文ci的功率消耗。泄露只是這整個功率軌跡ti的小部分。

      攻擊者的目標是在k的全部可能的假設(shè)下,通過比較裝置的真實功率測量值ti與功率消耗的估計值來恢復(fù)密鑰k的部分。差分功率分析(DPA)攻擊背后的概念是根據(jù)某一屬性將測量跡線劃分成兩個不同的集合。舉例來說,這個屬性可為中間狀態(tài)I(pi,k)的最低位的值。假設(shè)——并且這個假設(shè)實際上通過對未受保護的硬件進行測量而被確認——針對這兩個集合的功率消耗的分布不同,即,它們具有不同的均值和標準差。

      為了獲得關(guān)于機密密鑰k的部分的信息,針對每一跡線和輸入pi,可列舉全部可能的k的值(在攻擊密鑰字節(jié)時,值通常為28=256)、針對此密鑰猜測計算中間值gi=I(pi,k),以及根據(jù)在gi處測量的這個屬性將跡線ti劃分成兩個集合。如果密鑰猜測k是正確的,那么子集平均值的差值將聚合成分布的均值的差值。然而,如果密鑰猜測是錯誤的,那么集合中的數(shù)據(jù)可被視為測量值的隨機取樣和均值的差值應(yīng)該聚合成零。如果可獲得足夠的跡線,那么這允許觀測到正確的密鑰猜測。此外,所需要的跡線的數(shù)目取決于測量噪聲和分布均值(并且因此是平臺特有的)。

      雖然訪問輸出密文有助于驗證經(jīng)恢復(fù)密鑰,但它不是絕對需要的。相反地,通過在最后輪回中瞄準中間值,一個人可攻擊其中僅可訪問輸出密文的實施方案。相同的攻擊可應(yīng)用到解密運算。

      為了評定可執(zhí)行實施密碼原語的二進制的安全性,可在對應(yīng)的架構(gòu)的CPU上執(zhí)行二進制,并觀測其安裝差分功率分析攻擊的功率消耗,所述二進制在白盒攻擊模型中被設(shè)計成是安全的。然而,在白盒模型中,這可表現(xiàn)得好得多,因為模型意味著攻擊者可觀測到所有事物,而沒有任何測量噪聲。實際上,此類水平的觀測可通過裝備二進制來實現(xiàn)。從高水平來看,差分計算分析背后的概念是獲得軟件軌跡,例如,在執(zhí)行白盒實施方案期間記錄存儲地址的軌跡。這些跡線用作到DPA攻擊的輸入。

      本文中所描述的實施例示出了用于限制白盒實施方案中沖突的方法,因為這些實施例可被差分攻擊利用。假設(shè)函數(shù)g返回算法的中間值,所述中間值可使用輸入(由xi表示)的部分信息和機密密鑰(由ki表示)的部分信息計算出。假設(shè)v=g(xi,ki)表示算法的這個中間值。AES的典型例子是g瞄準僅使用單個輸入和密鑰字節(jié)的S盒計算。假設(shè)v的大小小于xi:這意味著沖突發(fā)生。換句話說,多個值xi映射到同一v?,F(xiàn)在,可應(yīng)用差分攻擊,其中均值差值作為v的任何位上的區(qū)別符號。假設(shè)f(v,j)返回v的第j位。在下文中,假設(shè)對手具有固定的j值。接著,每一個都與xi的值相關(guān)聯(lián)的跡線被分成分別對應(yīng)于f(v,j)=0和f(v,j)=1的兩個集合V0和V1。假設(shè)p為跡線中的位置,在所述跡線中,白盒實施方案計算或使用值v,并假設(shè)這個值通過固定編碼h進行編碼?,F(xiàn)在,首先猜想密鑰已被正確地猜測出。接著,這兩個集合V0和V1不相交;應(yīng)注意,集合V0和V1是基于未編碼的值。這意味著在位置p處處理的已編碼的值(對應(yīng)于V0和V1中的這些跡線)也不相交。

      接著,猜想密鑰未被正確地猜測出。這意味著V0和V1產(chǎn)生可能的xi值的任意分割(對于正確的密鑰猜測,并不基于中間值v在給定位置是具有1還是具有0)。由于所發(fā)生的沖突,這意味著在位置p處處理的已編碼的值的集合很有可能對于V0和V1兩者來說是一樣的,即全部可能的值h(v)很可能是一樣的。這種不同行為的結(jié)果是,相比于針對不正確密鑰猜測的,針對正確密鑰猜測的在位置p處的用于V0和V1的跡線的平均值將極有可能更為不同。

      其中發(fā)生上述問題的例子是在Chow的白盒AES實施方案中。那里,S盒的輸出通過線性映射并接著通過非線性半字節(jié)編碼進行編碼??紤]一個輸出半字節(jié),并且出于簡單解釋的目的,不考慮線性映射。對于S盒,24輸入與相同4位半字節(jié)v沖突。因此,可應(yīng)用上述攻擊。如果還考慮線性映射,那么情形稍微更加復(fù)雜,因為隨后存在S盒-輸出位的混合物的已編碼的半字節(jié)。在那種情況下,針對線性映射的不同選擇,攻擊者可多次應(yīng)用攻擊(以便更加精確:通過此映射的單個列的不同選擇來滿足環(huán)路)。

      如上文所描述,如果攻擊者可分離由固定編碼進行編碼的中間值v,那么攻擊者可應(yīng)用差分攻擊,所述中間值具有作為得到其的輸入(輸出)的部分的較小的熵。本文中所描述的實施例的特征包括以下兩個方面。

      首先,假設(shè)w為位串,并且由h(w)表示w的已編碼版本,h(w)是白盒實施方案的中間結(jié)果。此外,假設(shè)w=u;r(即,u與r級聯(lián),其中u限定如下,并且r是具有任意長度的任意位串)。值u完全通過以下各者確定:(1)單個第一輪回的S盒輸入和相關(guān)聯(lián)的密鑰字,或(2)單個最后輪回的S盒輸出和相關(guān)聯(lián)的密鑰字。更確切地說,在情形(1)中,在情形(2)中,(其中,yi是最后輪回的輸出)。那么,實施例的第一方面如下:已編碼值h(w)的位長度是至少情形(1)中的S盒輸入的位長度和至少情形(2)中的S盒輸出的位長度。

      應(yīng)注意,在中間結(jié)果u不僅取決于xi(yi),還取決于輸入(輸出)的其它部分的情況下,攻擊仍然有效,如果這些量值(contribution)滿足以下屬性:輸入(輸出)的這些部分保持恒定,那么它們在u中的比重(contribution)由常量δ經(jīng)由來給出。因此,在對本發(fā)明的第一方面的上述描述中,應(yīng)該包括u中其它S盒輸入(輸出)的這種可能的附加的依賴性。

      這個方法的缺點是白盒實施方案的大小大大增加,因為S盒輸出不再被拆分成半字節(jié)。因此,實施例的第二方面如下。寬編碼僅僅應(yīng)用于需要它們的輪回,即,第一個和最后一個輪回。在下文的實施例中,寬編碼是對基本塊的完整輸出(例如,S盒的1字節(jié)輸出)進行編碼的編碼。在密碼函數(shù)的許多白盒實施方案中,各種基本塊的實施方案可被拆分成半字節(jié)的運算(即,4位運算),以允許較小的圖表。在其它輪回中,實施例的部分不滿足實施例的第一方面的屬性(出于性能原因)。應(yīng)注意,這個實施例與AES尤其相關(guān),但可使用其它密碼函數(shù)的白盒實施方案來實施。

      下面的白盒實施例使用AES(高級加密標準)塊密碼來描述,因為AES已成為塊密碼的廣泛使用的標準。AES為具有128位或16字節(jié)的塊大小的塊密碼。明文被劃分為具有16字節(jié)的塊,所述明文形成加密算法的初始狀態(tài),加密算法的最終狀態(tài)為密碼文本。在加密算法中的任何給定點,這些16字節(jié)為該加密算法的狀態(tài)。為了從概念上解釋AES,狀態(tài)的字節(jié)被組織為4x4字節(jié)的矩陣。AES包括輪回的次數(shù),其取決于密鑰大小。每次輪回包括在狀態(tài)矩陣的字節(jié)、行或列上操作的類似處理步驟,在這些處理步驟中,每次輪回使用不同的輪回密鑰。應(yīng)注意,在使用AES作為例子的論述中,AES以特定方式限定輪回。在下面的實施例中,輪回為步驟的任何分組,其包括至少一個非線性映射函數(shù),例如在AES中的S盒。因此,如下所述的輪回包括一個非線性映射函數(shù)和密碼函數(shù)的其它步驟的任何組合。另外,輪回的邊界可開始于非線性映射函數(shù)(例如,S盒)或開始于可與非線性映射函數(shù)(例如,密鑰加法)合并的任何其它運算。

      圖1示出AES的輪回的一些主要處理步驟。處理步驟包括:

      AddRoundKey 110-狀態(tài)的每個字節(jié)利用輪回密鑰的字節(jié)進行異或運算;

      SubBytes 120-使用查找表的字節(jié)到字節(jié)排列;

      ShiftRows140-狀態(tài)的每行被旋轉(zhuǎn)固定字節(jié)數(shù);以及

      MixColumns 150-使用GF(28)中的模乘來處理每一列。

      步驟SubBytes 120、ShiftRows 130和MixColumns 150與所使用的特定密鑰無關(guān)。密鑰被應(yīng)用在步驟AddRoundKey 110中。除步驟ShiftRows 140以外,可以對4x4狀態(tài)矩陣的每一列執(zhí)行處理步驟而無需了解其它列。因此,在每一列由四個8位值構(gòu)成時,它們可以被看作是32位運算。虛線150指示該過程被重復(fù)直到已執(zhí)行所需次數(shù)的輪回。

      這些步驟中的每一個或步驟的組合可由查找表或由查找表的網(wǎng)絡(luò)表示。如果AddRoundKey 110步驟通過利用輪回密鑰進行異或運算來實施,那么在白盒攻擊情形下,密鑰是攻擊者可見的。AddRoundKey 110步驟也可嵌入在查找表中,這使得找出密鑰不太容易。實際上,通過查找表的網(wǎng)絡(luò),有可能替換AES的完整輪回。例如,SubBytes 120、ShiftRows130和MixColumns 150步驟可使用表查找來實施。下文詳細論述AES的可能白盒實施方案以在下文中描述本發(fā)明的實施例,但是此實施方案的另外詳細描述可見于Chow 1。而且,可使用查找表實施方案的其它變體,它們在本發(fā)明的范疇內(nèi)。

      基于表格的白盒實施方案和有限狀態(tài)機實施方案兩者均具有在實施方案中的所有中間值被編碼的特性(相比于標準實施方案)。使用有限狀態(tài)機的白盒實施方案的例子在名稱為“數(shù)據(jù)處理方法(Data Processing Method)”的美國專利公布2007/0014394以及由Wulf Harder和Atis Straujums在2008年3月11日的名稱為“同步MCFACTTM安全數(shù)據(jù)處理技術(shù)(Synchrosoft MCFACTTM Secure Data Processing Technology)”的再信任第六季會議的演示中公開,上述各者以引用的方式并入本文中以用于所有目的,如同在本文中完全闡述。圖2示出在輪回的輸入,即在S盒的輸入上具有固定編碼的白盒AES實施方案。如圖所示,16個輸入字節(jié)中的每一個由fi編碼,以及輸出字節(jié)中的每一個由gi編碼。

      為了描述本發(fā)明的實施例,將描述基于表格的白盒AES實施方案的基本描述。用于實施基于表格的白盒AES的方法的更詳細描述參看Chow 1。Chow 1示出了使用具有指定大小的表格來突破特定函數(shù)的具體實施方案。很好理解,可對表格進行各種其它劃分,從而產(chǎn)生查找表的不同函數(shù)和不同大小。另外,雖然下文所述的本發(fā)明的實施例使用基于表格的AES的白盒實施方案,但是根據(jù)所述實施例,可實施其它密碼和密碼函數(shù)。而且,可使用不是基于表格的實施方案的其它類型的白盒實施方案,例如,有限狀態(tài)實施方案。

      基于表格的白盒AES描述被拆分成兩個步驟。在第一步驟中,AES的輪回被描述為查找表的網(wǎng)絡(luò)。在第二步驟中,所述表格通過對它們的輸入和輸出進行編碼而被模糊。

      步驟1:將AES實施為查找表的網(wǎng)絡(luò)。

      AES對16字節(jié)的數(shù)據(jù)塊進行運算。這些數(shù)據(jù)塊通常被描述為4x4字節(jié)矩陣,其被稱為包括字節(jié)X1,1、x1,2、X1,3、……、x4,4的狀態(tài)。如上文關(guān)于圖1所描述的AES輪回包括以下運算:AddRoundKey 110、SubBytes 120、ShiftRows 130和MixColumns 140。前兩個運算AddRoundKey和SubBytes可以被合并到單個T盒運算中。也就是說,我們可以將輸入字節(jié)xi,j的字節(jié)到字節(jié)函數(shù)Ti,j限定為其中ki,j是基于AES密鑰的16字節(jié)輪回密鑰的單個字節(jié)。假設(shè)yi,j為Ti,j的輸出。ShiftRows運算僅為輸出字節(jié)yi,j的下標重新編號。為了易于陳述,此運算在本說明書中省略,但是其可并入到實施Ti,j的查找表中或可實施為狀態(tài)矩陣的單獨操控。在MixColumns步驟中,該輪回的輸出字節(jié)zi,j根據(jù)4個輸出字節(jié)y1,j、y2,j、y3,j和y4,j經(jīng)由針對一些常量MCl,r的GF(28)中的代數(shù)表達式來計算。

      現(xiàn)在使用i,j,l=1,2,...,16限定每個字節(jié)到字節(jié)函數(shù)Qi,j,l(xi,j)=MCl,i·Ti,j(xi,j)的查找表。接著通過對這些查找表的結(jié)果進行異或運算,可計算任何輸出字節(jié)zl,j,即應(yīng)注意,Q盒的下標i、j、l可以被解釋為“輪回的輸入字節(jié)i、j在該輪回的輸出字節(jié)l、j中的比重”。

      異或運算可替換地被實施以對作為查找表的兩個半字節(jié)(即,4位值)中的每一個進行運算以減小異或表格的大小。因此,Q盒可被實施以產(chǎn)生輸出半字節(jié),從而減小該表格的大小。因此,AES輪回的每個輸出字節(jié)zl,j的計算已被描述為查找表的網(wǎng)絡(luò)。計算字節(jié)z2,3的單個輸出半字節(jié)的查找表的網(wǎng)絡(luò)在圖3中示出。

      圖3示出借助于查找表的網(wǎng)絡(luò)的一個輸出字節(jié)的計算。在輸入狀態(tài)310中的一組輸入字節(jié)x1,3、x2,3、x3,3和x4,3被輸入到Q盒320、322、324、326中。查找表320、322的輸出u1、u2被饋送到異或330,以及查找表324和異或330的輸出u3、u5被饋送到異或332。表格326和異或332的輸出u4、u6被饋送到異或334。異或334的輸出是輸出狀態(tài)340的輸出z2,3的第一半字節(jié)。Q盒還可被拆分成對兩個半字節(jié)而不是整個字節(jié)進行運算的兩個Q盒。這可通過使用額外Q盒以及相似的異或網(wǎng)絡(luò)來完成。

      另外,通過從輸入狀態(tài)接收字節(jié)列并將它們轉(zhuǎn)換成輸出狀態(tài)的對應(yīng)列的輸出,可實施額外的表格集合,以將該輸入狀態(tài)310完全轉(zhuǎn)換成該輸出狀態(tài)340。

      步驟2:模糊表格和中間值

      在圖3中所描繪的實施方案中,密鑰可易于從Q盒提取。僅對該輸出應(yīng)用逆MixColumns乘積和逆S盒,以揭露純AddRoundKey運算。為了防止這點,所有查找表的輸入和輸出利用任意雙映射函數(shù)進行編碼。這在Chow 1中描述。這意味著查找表與對該輸出進行編碼的編碼函數(shù)和與對該輸入進行解碼的解碼函數(shù)合并。選擇編碼以使得一個表格的輸出編碼匹配在下一個表格中假設(shè)的輸入編碼。用于第一輪回的圖3的實施方案的一部分在圖4中示出。在此例子中,到輪回的輸入未進行編碼,以便與AES兼容,但是對該輪回的輸出進行編碼。輸出編碼在下一輪回中進行處理。也就是說,不同于第一輪回,第二輪回(以及后續(xù)輪回)假設(shè)其輸入被編碼??商鎿Q的是,第一輪回可接收已編碼的輸入。接著,此輸入編碼必須被應(yīng)用在包含白盒實施方案的軟件程序中的其它地方。類似地,最后輪回可根據(jù)輸出是否與AES兼容而包括或不包括輸出編碼。應(yīng)注意,在所獲得的白盒實施方案中,查找表和中間值兩者被模糊。

      圖4示出通過對輸入和輸出進行編碼來模糊的圖3的網(wǎng)絡(luò)表格的部分。查找表420、422、424、426對應(yīng)于圖3的查找表320、322、324、326。查找表420、422、424、426的輸入分別由函數(shù)E9、E10、E11、E12編碼。查找表420、422、424、426的輸出分別由函數(shù)f1、f2、f3、f4編碼。異或430對應(yīng)于異或330。異或430的輸入使用f1-1和f2-1對輸入進行解碼。接著,異或430的輸出由函數(shù)f5編碼。異或432、434以類似方式具有如圖所示的輸入解碼和輸出編碼。輸出z2,3使用f7進行編碼。這個模糊可應(yīng)用在字節(jié)或半字節(jié)與Q盒配合使用的任一情形中。

      與所呈現(xiàn)的白盒實施方案相關(guān)的問題是異或表格相當大:兩個8位值異或運算成8位值。因此,Chow等人提出將編碼拆分成8位線性部分和兩個4位非線性部分。結(jié)果,異或可通過4位異或運算來實施。圖5示出后面跟著Q盒的輸出的兩個4位非線性編碼的8位線性編碼的應(yīng)用。例如,Q盒420和422包括后面跟著4位非線性編碼542、544、552、554的8位線性編碼540、542。隨后,Q盒420和422的輸出被輸入到異或560、562,其將編碼逆向。

      然而,這種解決方案的問題是它容易受到DCA攻擊的影響?,F(xiàn)在描述其中僅應(yīng)用有可能的圖5的策略的實施例。這意味著如果針對某一函數(shù)g和值δ,所述值δ在除了以外的某一其它輸入是固定的情況下是固定的,那么8位值u由8位非線性編碼進行編碼。否則的話,編碼被拆分成后面跟著多個較小非線性編碼的線性編碼。針對所描述的白盒AES,這意味著如圖4所描述的那樣實施第一和最后輪回(因此,全部異或表格是16到8位異或表格),并且如圖5所描述的那樣實施其它輪回(因此,全部異或表格是8到4位異或表格)。

      圖4和5的各個元件,例如,Q盒和異或,是可用于形成密碼運算的白盒實施方案的基本塊。Q盒和異或可形成實施替代運算(例如,AES S盒)的替代層。應(yīng)注意,上述實施例意圖保護密碼函數(shù)的前兩個替代層和最后兩個替代層之間的攻擊。

      根據(jù)本發(fā)明的實施例的方法可在計算機系統(tǒng)上實施為計算機實施的方法。用于根據(jù)本發(fā)明的方法的可執(zhí)行代碼可存儲在計算機程序媒體上。計算機程序媒體的例子包括存儲器裝置、光學(xué)儲存裝置、集成電路、服務(wù)器、在線軟件等。因此,白盒系統(tǒng)可包括實施白盒計算機程序的計算機。此類系統(tǒng)還可包括其它硬件元件,所述硬件元件包括存儲裝置、用于利用外部系統(tǒng)以及在白盒系統(tǒng)的元件之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)接口。

      在本發(fā)明的實施例中,計算機程序可包括適于當計算機程序在計算機上運行時執(zhí)行根據(jù)本發(fā)明的方法的所有步驟的計算機程序代碼。優(yōu)選地,計算機程序?qū)嵤┰诜菚簳r性計算機可讀媒體上。

      另外,因為白盒密碼術(shù)往往冗長難以被人書寫,所以是非常復(fù)雜和/或模糊的。因此,具有以自動化的方式形成根據(jù)本發(fā)明的實施例的密碼系統(tǒng)的方法是有利的。

      形成根據(jù)本發(fā)明的密碼系統(tǒng)的方法可在計算機上或在專用硬件中或兩者的組合中實施為計算機實施的方法。用于根據(jù)本發(fā)明的方法的可執(zhí)行代碼可存儲在計算機程序媒體上。在此類方法中,計算機程序可包括適于當計算機程序在計算機上運行時執(zhí)行所述方法的所有步驟的計算機程序代碼。計算機程序被實施在非暫時性計算機可讀媒體上。

      本文所述的密碼系統(tǒng)可在用戶裝置(例如,移動電話、平板計算機、計算機、機頂盒、智能電視等)上實施。內(nèi)容提供商,(例如,電視網(wǎng)絡(luò)、視頻流服務(wù)、金融機構(gòu)、音樂流業(yè)務(wù)等)可向用戶裝置提供軟件以從該內(nèi)容提供商接收已加密內(nèi)容。軟件可具有如上所述被嵌入其中的加密密鑰,并且還可包括如上所述的綁定串。接著內(nèi)容提供商可向用戶裝置發(fā)送加密內(nèi)容,該用戶裝置接著可使用所供應(yīng)的軟件進行解密并使用該內(nèi)容。

      圖6示出用于為用戶裝置提供安全內(nèi)容以及處理該安全內(nèi)容的軟件應(yīng)用的系統(tǒng)。該系統(tǒng)包括內(nèi)容服務(wù)器600、應(yīng)用服務(wù)器680、用戶裝置650、652以及數(shù)據(jù)網(wǎng)絡(luò)640。用戶裝置650、652可經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)640請求訪問由內(nèi)容服務(wù)器600提供的安全內(nèi)容。數(shù)據(jù)網(wǎng)絡(luò)可為用戶裝置650、652和內(nèi)容服務(wù)器600以及應(yīng)用服務(wù)器680之間提供連接的任何數(shù)據(jù)網(wǎng)絡(luò)。用戶裝置650、652可為多個裝置中的一個,例如機頂盒、媒體等浮電纜、數(shù)字視頻記錄器、平板計算機、移動電話、膝上型計算機、便攜式媒體裝置、智能手表、臺式計算機、媒體服務(wù)器等、

      用戶的請求訪問可首先需要下載可用于處理由內(nèi)容服務(wù)器600提供的安全內(nèi)容的軟件應(yīng)用。所述軟件應(yīng)用可從應(yīng)用服務(wù)器680下載。軟件應(yīng)用可使用上文描述的技術(shù)進行模糊處理以及如上文描述進行操作。一旦用戶裝置650、652安裝軟件應(yīng)用,用戶裝置隨后就可從內(nèi)容服務(wù)器600下載安全內(nèi)容并且使用所下載的軟件應(yīng)用來訪問該安全內(nèi)容。例如,所下載的軟件應(yīng)用程序可執(zhí)行對從內(nèi)容服務(wù)器接收的已加密內(nèi)容的解密。在其它實施例中,軟件應(yīng)用可執(zhí)行其它安全運算,例如加密、數(shù)字簽名產(chǎn)生和驗證等。

      內(nèi)容服務(wù)器600可控制對提供給用戶裝置650、652的安全內(nèi)容的訪問。因此,在內(nèi)容服務(wù)器600接收安全內(nèi)容的請求時,內(nèi)容服務(wù)器600可向所請求的用戶裝置傳輸該安全內(nèi)容。同樣,應(yīng)用服務(wù)器620可控制對提供給用戶裝置650、652的軟件應(yīng)用的訪問。因此,在內(nèi)容服務(wù)器620接收軟件應(yīng)用的請求時,應(yīng)用服務(wù)器620可向所請求的用戶裝置傳輸該軟件應(yīng)用。在將軟件應(yīng)用或安全內(nèi)容提供給用戶裝置之前,請求軟件應(yīng)用或安全內(nèi)容的用戶裝置還可通過相應(yīng)的服務(wù)器來認證。

      內(nèi)容服務(wù)器600可包含經(jīng)由一個或多個系統(tǒng)總線680互連的處理器602、存儲器604、用戶接口606、網(wǎng)絡(luò)接口610和內(nèi)容存儲裝置612。將理解,圖6在一些方面中構(gòu)成抽象圖,且裝置600的組件的實際組織可比所示出的更加復(fù)雜。

      處理器602可為能夠執(zhí)行存儲在存儲器604或存儲裝置612中的指令的任何硬件裝置。因此,該處理器可包含微處理器、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)或其它類似裝置。

      存儲器604可包括各種存儲器,例如,L1、L2或L3高速緩沖存儲器或系統(tǒng)存儲器。因而,存儲器602可包括靜態(tài)隨機存取存儲器(SRAM)、動態(tài)RAM(DRAM)、快閃存儲器、只讀存儲器(ROM),或其它類似存儲器裝置。

      用戶接口606可包括用于實現(xiàn)與用戶(例如,管理員)通信的一個或多個裝置。例如,用戶接口606可包括用于接收用戶命令的顯示器、鼠標和鍵盤。

      網(wǎng)絡(luò)接口610可包括用于實現(xiàn)與其它硬件裝置的通信的一個或多個裝置。例如,網(wǎng)絡(luò)接口610可包括網(wǎng)絡(luò)接口卡(NIC),其被配置成根據(jù)以太網(wǎng)協(xié)議通信。另外,網(wǎng)絡(luò)接口610可實施TCP/IP堆棧以根據(jù)TCP/IP協(xié)議通信。用于網(wǎng)絡(luò)接口610的各種替代的或另外的硬件或配置將是顯而易見的。

      內(nèi)容存儲裝置612可包括一個或多個機器可讀內(nèi)容存儲媒體,例如只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲媒體、光學(xué)存儲媒體、快閃存儲器裝置或類似存儲媒體。在各種實施例中,內(nèi)容存儲裝置612可存儲將提供給用戶的內(nèi)容。

      應(yīng)用服務(wù)器620包括與內(nèi)容服務(wù)器600的元件相同的元件,并且對內(nèi)容服務(wù)器600中的相同元件的描述適用于應(yīng)用服務(wù)器620。而且,內(nèi)容存儲裝置612被應(yīng)用存儲裝置632代替。另外,應(yīng)注意,內(nèi)容服務(wù)器和應(yīng)用服務(wù)器可在單個服務(wù)器上實施。并且,此類服務(wù)器可以在分布式計算機系統(tǒng)上實施以及在云計算機系統(tǒng)上實施。

      在處理器上運行以實施本發(fā)明的實施例的特定軟件的任何組合構(gòu)成特定專門機器。

      如本文所使用,術(shù)語“非暫時性機器可讀存儲媒體”應(yīng)理解為不包括暫時傳播信號,但包括所有形式的易失性和非易失性存儲器。此外,如本文所使用,術(shù)語“處理器”應(yīng)理解為涵蓋多種裝置,例如微處理器、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)和其它類似處理裝置。當軟件在處理器上實施時,所述組合變?yōu)閱蝹€特定機器。

      本領(lǐng)域的技術(shù)人員應(yīng)了解,本文中的任何框圖表示體現(xiàn)本發(fā)明的原理的說明性電路的概念視圖。

      盡管已經(jīng)具體參考各種示例性實施例的特定示例性方面來詳細地描述各種示例性實施例,但應(yīng)理解,本發(fā)明能夠容許其它實施例且其細節(jié)能夠容許在各種顯而易見的方面的修改。如對本領(lǐng)域的技術(shù)人員顯而易見的,可以實現(xiàn)變化和修改,同時保持在本發(fā)明的精神和范疇內(nèi)。因此,前述公開內(nèi)容、描述和圖式僅出于說明性目的且不以任何方式限制本發(fā)明,本發(fā)明僅由權(quán)利要求書限定。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1