TWI526869B - 用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體 - Google Patents

用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體 Download PDF

Info

Publication number
TWI526869B
TWI526869B TW101144701A TW101144701A TWI526869B TW I526869 B TWI526869 B TW I526869B TW 101144701 A TW101144701 A TW 101144701A TW 101144701 A TW101144701 A TW 101144701A TW I526869 B TWI526869 B TW I526869B
Authority
TW
Taiwan
Prior art keywords
storage
secure
license
service
agent
Prior art date
Application number
TW101144701A
Other languages
English (en)
Other versions
TW201346621A (zh
Inventor
尼可拉斯 崔安塔菲洛
泰瑞 布拉得菲
帕瑞圖 沙森那
保羅 泰迪凱倫
大衛 諾維克
Original Assignee
英特爾股份限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾股份限公司 filed Critical 英特爾股份限公司
Publication of TW201346621A publication Critical patent/TW201346621A/zh
Application granted granted Critical
Publication of TWI526869B publication Critical patent/TWI526869B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Description

用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體 發明領域
發明領域通常是關於一種儲存裝置,且特別是關於一種安全儲存器的結構及用途。
發明背景
今日,主機端應用程式(例如防毒軟體)使用一作業系統應用程式介面(API)從儲存器讀取資料(例如惡意軟體定義資料)以檢測惡意軟體。此外,其他儲存特定命令可被使用以讀取、寫入及管理被儲存的資料。例如,供應商特定命令、SMART命令傳送(SCT)、負邏輯區塊位址(LBA)等能被用以處理被儲存的資料。然而這些方法能被惡意軟體輕易破壞以將錯誤資訊提供給呼叫者。另外,並無法組配該等方法以提供應用程式特定防護。再者,被儲存的資料可被惡意軟體輕易攻擊,或被數位權利管理(DRM)保護的儲存內容可能被複製或更改。此外,耦接至一電腦的儲存器可提供在該領域中無法被輕易啟動的額外服務。
依據本發明之一實施例,係特地提出一種致能耦接至一客戶端之一儲存系統之一加值儲存服務之方法,其包含以下步驟:建立用於該客戶端之一安全信賴根;建立該客戶端之一應用程式及該客戶端之一儲存系統之間的一安全通道;安全地下載用於該加值儲存服務之一許可至該儲存系統;及透過該安全通道從該儲存系統安全地提供該許可至一應用程式。
102、1100、1400、1500、2100、2200、2300‧‧‧系統
104、1106‧‧‧作業系統
106‧‧‧儲存系統
108‧‧‧SOC
110、2140、2232、2234‧‧‧記憶體
112‧‧‧儲存區域
114、1422、1510‧‧‧安全儲存器
116‧‧‧正常儲存器
118‧‧‧可信賴的韌體
120‧‧‧儲存韌體
122‧‧‧驅動程式堆疊
124‧‧‧檔案系統
126‧‧‧私用軟體開發者套件
128‧‧‧顯示器
130‧‧‧獨立軟體應用程式
132‧‧‧防惡意軟體套件
134‧‧‧可信賴的操作
142‧‧‧硬體開關
144、1610A‧‧‧應用程式
146‧‧‧可信賴的應用程式介面
148‧‧‧後端伺服器
150A、150B、210、256‧‧‧通道
202‧‧‧被授權的代理器
204、254‧‧‧安全儲存系統
206、304‧‧‧動作LBA
208、354‧‧‧結果LBA
252、302、352、1420、1508‧‧‧代理器
306A‧‧‧授權訊息欄位
306B、356B‧‧‧命令碼
306C‧‧‧命令順序號碼
306D、356D‧‧‧操作子
306E‧‧‧封包完整性
308、358‧‧‧動作
356A‧‧‧授權訊息
356C‧‧‧命令順序
356E‧‧‧資料
400、500、600、800、900、1000、1200、1300、1700‧‧‧方法
402~410、502~516、602~618、802~812、902~908、1002~1020、1202~1206、1302~1324、1408~1418、1702~1718‧‧‧步驟
700、1606‧‧‧電腦
702‧‧‧可鎖定儲存器
1102‧‧‧系統提供者/ISV
1104‧‧‧平台代理器
1108‧‧‧作業系統可見儲存器
1110‧‧‧作業系統不可見安全儲存器
1112‧‧‧GPU/顯示器
1114A、1114B‧‧‧安全路徑
1116、2292、2296‧‧‧介面
1118‧‧‧儲存器
1402、1502、1608‧‧‧用戶端
1404、1504‧‧‧ISV/伺服器
1406‧‧‧供應伺服器
1506‧‧‧供應伺服器
1602‧‧‧應用程式許可請求
1604‧‧‧應用程式許可回應
1610B‧‧‧ISV用戶端
1610C‧‧‧ISV代理伺服器
1610D‧‧‧主機嵌入控制器介面
1612‧‧‧OS
1614‧‧‧管理引擎
1616A‧‧‧小型應用程式
1616B‧‧‧JVM核心
1616C‧‧‧JVM ISV外掛程式
1616D‧‧‧ISV核心
1800‧‧‧處理器管線
1802‧‧‧提取級
1804‧‧‧長度解碼級
1806‧‧‧解碼級
1808‧‧‧配置級
1810‧‧‧重名級
1812‧‧‧排程級
1814‧‧‧暫存器讀取/記憶體讀取級
1816‧‧‧執行級
1818‧‧‧寫回/記憶體寫入級
1822‧‧‧例外處置級
1824‧‧‧確定級
1830‧‧‧前端單元
1832‧‧‧分支預測單元
1834‧‧‧指令快取單元
1836‧‧‧翻譯旁看緩衝器
1838‧‧‧指令提取單元
1840‧‧‧解碼單元
1850‧‧‧執行引擎單元
1852‧‧‧重取名/配置器單元
1854‧‧‧收回單元
1856‧‧‧排程器單元
1858‧‧‧實體暫存器檔案單元
1860‧‧‧執行叢集
1862‧‧‧執行單元
1864‧‧‧記憶體存取單元
1870‧‧‧記憶體單元
1872‧‧‧資料TLB單元
1874‧‧‧資料快取單元
1876‧‧‧L2快取單元
1890‧‧‧處理器核心
1900‧‧‧指令解碼器
1902‧‧‧環狀網路
1904‧‧‧L2快取
1906‧‧‧L1快取
1906A‧‧‧L1資料快取
1908‧‧‧純量單元
1910‧‧‧向量單元
1912‧‧‧純量暫存器
1914‧‧‧向量暫存器
1920‧‧‧拌和單元
1922A、1922B‧‧‧數值轉換單元
1924‧‧‧複製單元
1926‧‧‧遮罩暫存器
1928‧‧‧16寬ALU
2000、2110、2115、2215‧‧‧處理器
2002A-N‧‧‧核心
2004A-N‧‧‧快取單元
2006‧‧‧共用快取單元
2008‧‧‧特殊目的邏輯元件
2010‧‧‧系統代理器
2012‧‧‧以環狀為基礎之互連單元
2014‧‧‧記憶體控制器單元
2016‧‧‧匯流排控制器單元
2120‧‧‧控制器集線器
2145‧‧‧共處理器
2150‧‧‧IOH
2160‧‧‧輸入/輸出裝置
2190‧‧‧GMCH
2195‧‧‧連結
2214‧‧‧I/O裝置
2216‧‧‧第一匯流排
2218‧‧‧匯流排橋接器
2220‧‧‧第二匯流排
2222‧‧‧鍵盤及/或滑鼠
2224‧‧‧音訊I/O
2227‧‧‧通訊裝置
2228‧‧‧儲存單元
2230‧‧‧指令/碼及資料
2238‧‧‧共處理器
2239‧‧‧高效能介面
2250‧‧‧點對點互連
2252、2254、2276、2278、2286、2288‧‧‧P-P介面
2270、2280‧‧‧處理器
2272、2282‧‧‧IMC(CL)
2290‧‧‧晶片組
2294、2298‧‧‧點對點介面電路
2314‧‧‧I/O裝置
2315‧‧‧傳統I/O裝置
2400‧‧‧SoC
2402‧‧‧互連單元
2410‧‧‧應用處理器
2420‧‧‧共處理器
2430‧‧‧靜態隨機存取記憶體單元
2432‧‧‧直接記憶體存取單元
2440‧‧‧顯示單元
2502‧‧‧高階語言
2504‧‧‧x86編譯器
2506‧‧‧x86二元碼
2508‧‧‧替代的指令集編譯器
2510‧‧‧替代的指令集二元碼
2512‧‧‧指令轉換器
2514‧‧‧不具有至少一個x86指令集核心的處理器
2516‧‧‧具有至少一個x86指令集核心的處理器
本發明是藉由範例來說明且並未限制於附圖中的圖式,其中類似的參照指示類似的元件且其中:圖1說明包括安全儲存器的一系統。
圖2A-B說明使用一通道將資訊傳送至一安全儲存系統的一代理器。
圖3A-B說明使用信箱傳遞資訊至一安全儲存系統之一代理器之範例。
圖4說明使用信箱與一代理器間傳遞資訊之一方法之一實施例。
圖5說明用於處理信箱通訊命令之一方法之一實施例。
圖6說明用於使用安全串列先進技術附件(SATA)來處理被傳送的通道訊息之一方法之一實施例。
圖7說明包括可鎖定的儲存器之一系統之一範例。
圖8說明用於選擇性地鎖定儲存在可鎖定的儲存器中之作業系統資產之一方法之一實施例。
圖9說明用於升級儲存在鎖定儲存器中的具有作業系統資料之一作業系統之一方法之一實施例。
圖10說明用於鎖定使用者儲存器之一方法之一實施例。
圖11說明用以保護數位權利管理內容之一系統之一範例。
圖12說明用於安全儲存數位權利管理內容之一方法之一實施例。
圖13說明用於請求、儲存及提供數位權利管理內容之一方法之一實施例。
圖14說明包括提出請求且被准予一信賴根之一客戶端之一系統1400之一範例。
圖15說明包括提出請求且被准予啟動加值儲存特性之一客戶端之一系統之一範例。
圖16說明透過一管理引擎對於一加值儲存服務特性請求一許可之一應用程式之一範例。
圖17說明用於對一加值儲存特性請求一許可之一方法之一實施例。
圖18A是根據本發明實施例來說明一範例循序管線及一範例暫存器重取名、非循序發出/執行管線之一方塊圖。
圖18B是根據本發明實施例來說明包括於一處理器中的一循序架構核心之一範例實施例及一範例暫存器重取名、非循序發出/執行架構核心之一方塊圖。
圖19A及19B是說明根據本發明實施例之一範例循序 核心架構之方塊圖。
圖20是說明根據本發明實施例之可具有超過一個的核心之一處理器之一方塊圖。
圖21是根據本發明之一實施例之一系統之一方塊圖。
圖22是根據本發明之一實施例之一第二系統之一方塊圖。
圖23是根據本發明之一實施例之一第三系統之一方塊圖。
圖24是根據本發明之一實施例之一SoC之一方塊圖。
圖25是根據本發明實施例之對比一軟體指令轉換器之使用以將一來源指令集中之二元指令轉換成一目標指令集中之二元指令之一方塊圖。
較佳實施例之詳細說明
在以下說明中,各種特定細節被提出。然而,可了解的是,本發明的實施例可在沒有這些特定細節的情況下被實現。在其他例子中,已知電路、結構及技術未被詳細顯示以不模糊化對於本說明的理解。
說明書中參照“一實施例”、“一範例實施例”等指示該所述的實施例可包括一特定特徵、結構或特性,但每一實施例可以不一定要包括該特定特徵、結構或特性。然而,此等用語不一定指相同實施例。此外,當一特定特徵、結構或特性關聯於一實施例被說明時,需提出的是,無論是否明確說明,將此特徵、結構或特性關聯於其他實施例 而作用,皆為熟悉該技藝者之知識。
儲存通道
如上所述,惡意軟體能攻擊被儲存的資料且能破壞對一儲存系統的作業系統呼叫。以下所述為在一應用程式及一安全儲存系統之間建立一安全通道的一系統,該安全儲存系統藉由將傳送至該安全儲存系統的資料加密且將資料在不被一作業系統存取的情況下儲存而隱藏該資料儲存器。圖1說明包括安全儲存器114的一系統102的一範例。在圖1中,電腦系統102包括儲存系統106、作業系統104、儲存系統106、獨立軟體應用程式130、顯示器128及硬體開關142。在一實施例中,該電腦102耦接至後端伺服器148,其中該等後端伺服器148用以授權儲存特徵或下載付費內容(例如被一數位權利管理方案所管理的內容)。在一實施例中,該作業系統104用以控制用於該電腦102之一或多個過程及/或應用程式的執行。一作業系統102的範例為該技藝中已知者(微軟視窗、蘋果麥金塔OS X等)。在一實施例中,該作業系統104包括一私用軟體開發者套件(SDK)126、檔案系統124、驅動程式堆疊122及應用程式144。在一實施例中,該檔案系統124是該技術中已知的一檔案系統,其被用以管理儲存至儲存器106中的檔案。例如且在一實施例中,一檔案系統124是使用驅動程式堆疊122來組織儲存器106中的資料的一種方式。在一實施例中,該驅動程式堆疊122是用以與儲存器106一起作業的一組驅動程式。該驅動程式堆疊122可包括為驅動程式形式的多個軟體層,扮演不同功 能性角色且用作一應用程式/過程及一或多個儲存裝置之間的一整體介面。
應用程式144是執行於該作業系統104中的一應用程式。一應用程式的一範例可以是電子郵件客戶端、文書處理器、影像管理、媒體管理、防毒、作業系統功能等,或該技藝中已知的任何類型應用程式。如該技藝中已知者,每個應用程式可使用該檔案系統124及驅動程式堆疊122與該儲存系統106互動。
在一實施例中,該儲存器106包括儲存韌體120、系統單晶片(SOC)108、記憶體110及儲存區域112。在一實施例中,該儲存器可以是該技藝中已知的任何類型儲存器(固態硬碟(SSD)、硬碟(HD)、快閃碟(FD)等)。在一實施例中,該系統單晶片108是包括一處理器及用以支援該儲存器106之其他電路的一晶片。一SOC 108的一範例被進一步說明於以下圖21中。在一實施例中,記憶體110是用以暫時儲存資料之記憶體。該儲存韌體120是用以操作與管理該儲存器106的不同功能之韌體。
在一實施例中,該儲存器包括一可信賴的應用程式介面(API)146及一可信賴的韌體118。在一實施例中,該可信賴的API 146被執行於該作業系統或ISV應用程式130所使用,以存取儲存區域112之該安全儲存器114。在一實施例中,該安全儲存器114無法透過該檔案系統124及驅動程式堆疊122對於該作業系統是可見的。反之,該安全儲存器114是藉由使用該可信賴的API 146被存取。可信賴的韌 體118是用以管理該安全儲存器114之韌體。在一實施例中,該可信賴的API 146被本地或遠端實體所使用,以建立該實體及該安全儲存器之間的一通道。一通道用以安全地傳送一實體及該安全儲存器之間的資訊。例如一實施例,該ISV應用程式透過可信賴的API 146及可信賴的系統韌體118建立至安全儲存器114的一通道150B。
在一實施例中,該安全儲存器114用以儲存重要資料(如防毒定義檔、數位權利管理內容、金融資料、作業系統元件等),致能儲存特徵,或在該作業系統以外安全地下載資料,或任何其他類型的安全儲存器。在一實施例中,該安全儲存器114儲存對於該作業系統是不可見的資料。例如且在一實施例中,該安全儲存器114是處於透過該檔案系統124及驅動程式堆疊122存取該儲存器106的該作業系統及/或應用程式可用的該最大可定址儲存器以外的儲存位址。儘管在一實施例中,該安全儲存器114與該正常儲存器116是實體分離,但在一替代實施例中,該安全儲存器114是該正常儲存器116之一分割區。在一實施例中,該儲存區域112包括安全儲存器114及正常儲存器116。
在一實施例中,該正常儲存器116是被該作業系統104存取的儲存器,且具有被定義在此正常儲存器116的頂端之該檔案系統124。在一實施例中,該作業系統104透過該驅動程式堆疊122存取該正常儲存器116中的檔案及/或其他資料。例如且在一實施例中,應用程式144(或作業系統的其他應用程式)能透過檔案系統124及驅動程式堆疊 122存取該正常儲存器116中的檔案。
如上所述,除了透過該可信賴的API 146以外,該安全儲存器114中的資料對於一應用程式來說是不可見的。在一實施例中,該ISV應用程式130使用該通道150B存取該安全儲存器114(透過該防惡意軟體套件132、私用SDK 126、可信賴的API 146及可信賴的系統韌體118)。例如且在一實施例中,該ISV應用程式130是一代理器,其能使用該防惡意軟體套件132及可信賴的操作134來安全下載由數位權利管理所管理的一付費內容。在一實施例中,該等可信賴的操作134是與安全儲存器114間的可信賴的操作,例如一可信賴的讀取及/或可信賴的寫入。在一實施例中,一可信賴的讀取/寫入指請求該操作之該實體的身分使已知的且是可信賴的。在另一實施例中,應用程式130是被授權以使用如以下所述的一通道與該安全儲存器114間安全傳遞資料之一代理器。
如上所述,儲存於該安全儲存器114中的資料對於該作業系統104或執行於該作業系統104內的一應用程式來說是不可見的。因此,無論是該作業系統104,或是該應用程式144,都不能檢視、更改或刪除儲存於安全儲存器114中的資料。在一實施例中,此方案用以保護資料,以免被潛在的惡意軟體改變、替換或刪除儲存於安全儲存器114中的資料。
例如且在一實施例中,如該作業系統104之主開機紀錄之資料或其他重要作業系統104元件可被儲存在該 安全儲存器114中且被鎖定,使得一潛在惡意軟體工作無法讀取、更改或刪除這些重要作業系統元件。在另一實施例中,重要的使用者資料,例如防毒定義資料、金融資料等,可被儲存在該安全儲存器114中,因此避免惡意過程(如惡意軟體、病毒等)存取、更改或刪除這些重要使用者資料。在一實施例中,該使用者資料並非為該作業系統的部分之資料。
如上所述,一通道可藉由私用SDK 126、可信賴的API 146及可信賴的系統韌體118形成於一應用程式(如ISV應用程式130)及該安全儲存器114之間。如稍後將說明的,此通道可以兩種方式形成:(1)透過一信箱方案,其中邏輯區塊位址被設置用於該應用程式及該儲存系統之間的通訊,或(2)該通道可基於被該儲存系統所支援的一可信賴的傳送及接收而形成。儘管在一實施例中,一通道150A形成在該安全儲存器114及執行於包括該安全儲存器114的相同電腦之一應用程式之間,但在另一實施例中,一通道150B可形成在該儲存器系統與透過一網路耦接至該電腦102之一後端伺服器148之間。在此實施例中,可信賴的系統韌體118(透過可信賴的API 146)建立其自己的用於與後端伺服器148間傳遞資訊的網路連接。例如且在一實施例中,可信賴的系統韌體118可用以建立一通道,藉此該(等)後端伺服器可下載DRM內容至儲存器106之該安全儲存器114。這會在以下的圖7-10被進一步說明。
如上所述,圖2A及2B說明使用一通道將資訊傳 送至一安全儲存系統的一代理器之範例。在圖2A中,一被授權的代理器(其正執行該作業系統)202使用一基於信箱的通道安全地與該安全儲存系統204進行通訊。在一實施例中,該安全儲存系統204是如前述圖1中的方塊114之一安全儲存器。在一實施例中,該代理器202被授權以與安全儲存器204進行通訊。在一實施例中,該通道是基於一信箱方案,其中該安全儲存系統204之被請求的動作被寫入至該安全儲存系統204之一專屬區域,動作邏輯區塊位址(LBA)206。該等被請求的動作之結果使用該結果LBA 208來進行通訊,其為安全儲存系統204之一專屬區域。在一實施例中,這些邏輯區塊位址是在該最大可定址儲存器以外。在一最大儲存位址以下之一儲存位址可被如圖1所述之一作業系統104之作業系統看見。因為該等LBA 206及208都是在一作業系統可存取的該最大位址空間以上,故這些LBA(及儲存於該等LBA處之資料)對於該作業系統來說是不可見的。
在一實施例中,該代理器202可藉由使用該通道210存取這些LBA的資料或寫入這些LBA的資料。如以下將進一步說明的,該動作LBA 206用以將動作請求傳送至該儲存系統204。在一實施例中,這些動作請求可包括寫入、讀取及/或通道組配命令或該技藝中已知用於存取或管理在一儲存系統中的資料之其他命令。這些命令的結果被儲存於該結果LBA 208中。
例如且在一實施例中,該代理器202想要將資料 寫入至該安全儲存系統204。在此實施例中,該代理器202將一寫入命令寫入至該動作LBA 206,且該代理器想要儲存的資料被寫入至該結果LBA 208中。該安全儲存系統204處理被儲存在該動作LBA 206中的命令,且藉由將正被寫入至結果LBA 208的資料改向,將資料儲存至該動作LBA 206指示的位置。在另一實施例中,該代理器202想要從安全儲存系統204讀取資料。在此實施例中,該代理器202將該讀取命令寫入至動作LBA 206。該安全儲存系統204處理該讀取命令,且將需被讀取的資料改向,就彷彿是來自於該結果LBA 208。該代理器202從結果LBA 208讀取資料以完成該讀取命令。在一實施例中,該基於信箱的通道210可被建立於許多不同儲存協定上(如可信賴的傳送/接收、超載寫入/讀取、一般儲存管理介面(CSMI)等)。使用一信箱通道與該安全儲存系統進行通訊的該代理器會在以下圖3A-6被進一步說明。
如上所述,該等安全儲存系統能基於與該代理器間的一可信賴的傳送訊息系統來使用一通道。在圖2B中,在一OS 252中被授權的一代理器使用基於一可信賴的傳送設施之一通道256來與一安全儲存系統254進行安全通訊。在一實施例中,該通道256可基於安全SATA之該可信賴的傳送設施。在此實施例中,在該安全儲存系統254中的該代理器會與該安全儲存系統254協商一對話金鑰,其可被使用於來回發送訊息。在一實施例中,該經協商的對話金鑰被使用以加密/解密儲存於使用該通道256發送的每一訊息中 的資料。使用一可信賴的傳送類型通道256與該安全儲存系統254進行通訊的一代理器252在以下以圖7進一步說明。
圖3A及3B說明使用信箱將資訊傳遞至一安全儲存系統之代理器之範例。在圖3A中,在該OS 302中被授權的一代理器將一命令寫入至動作LBA 304以起始與該安全儲存器間的一動作308。在一實施例中,被寫入至動作LBA的該動作308包含許多欄位:授權訊息欄位306A、命令碼306B、命令順序號碼306C、操作子306D及封包完整性306E。在一實施例中,該授權訊息欄位306A包括用以識別及授權由該代理器302所請求的動作之資料。例如且在一實施例中,該授權訊息欄位306A包括特定用於該代理器302及該安全儲存器之間的一私鑰。
在一實施例中,該命令碼306B是指示何種類型的命令正被寫入至該動作LBA 304的一代碼。例如且在一實施例中,該命令碼可以是寫入、讀取、組配及/或用以指示另一類型的動作之某種其他命令碼之一代碼,其會被使用於一代理器及一儲存系統之間用於存取或管理儲存於該儲存系統中的資料。在一實施例中,該命令順序號碼306C是可用以識別一特定命令訊息的一號碼。在一實施例中,該等操作子306D是發信號給該韌體以採取某種相關聯於一給定命令類型的特定動作之旗標或位元。在一實施例中,該封包完整性306E是用以確保寫入至動作308A的資料之完整性之資料。例如且在一實施例中,封包完整性306E中的資料可以是一核對和或某種其他形式的資料,其確保資料 被正確地寫入至動作LBA 304。
在圖3B中,在該OS 352中被授權的該代理器從結果LBA 354讀取資料以從寫入至一動作LBA的一動作取回該等結果358。在一實施例中,該結果LBA 354具有欄位:授權訊息356A、命令356B、命令順序356C、操作子356D及資料356E。在一實施例中,鑑別訊息356A、命令碼356B、命令順序356C、及操作子356D執行與以上圖3A中所述者相同的功能。此外,在一實施例中,資料356E用以傳遞產生自原來被寫入至該動作LBA之該動作的資料。在另一實施例中,來自該等結果的資料被不同地取回(例如,直接經由該安全通道等)。例如且在一實施例中,資料356E包括從一讀取取回的資料。在其他實施例中,資料356E可包括其他資料,諸如一轉回碼、錯誤碼或其他類型的資料,其會因為寫入至該動作LBA的命令而被傳遞。
圖4說明使用信箱與一代理器間傳遞資訊之一方法之一實施例。在一實施例中,方法400被一安全儲存系統執行(例如,如以上圖1中所說明的安全儲存器114)以處理寫入至一動作LBA的命令。在圖4中,方法400開始於方塊402的設置該動作及結果LBA。在一實施例中,方法400組配該動作及結果LBA用於與被授權以與該安全儲存器間進行通訊之一代理器之間的通訊。例如且在一實施例中,該方法400組配在一作業系統能存取的最大位址之該最大讀取以外的一動作LBA及結果LBA。藉由使該動作及結果LBA對於該系統來說是不可見的,想要透過該動作及結果LBA傳 遞資訊的一代理器需要經過一替代的通訊通道,例如使用該等動作及結果LBA的一通道。在一實施例中,方法400使用一對不同的動作及結果LBA用於想要與該安全儲存器進行通訊的一不同代理器。在另一實施例中,方法400設置能用於超過一個代理器之一動作及結果LBA。
在方塊404處,方法400監測該動作LBA以判定是否一動作已被寫入至該動作LBA以啟始與該安全儲存系統間的一動作。在一實施例中,一代理器寫入一動作(到例如如以上圖3A中的該動作LBA 304以進行一讀取、寫入或與該安全儲存系統間的其他類型動作。在一實施例中,方法400藉由掃描及分析用於特定位元型態的進入的命令而監測該動作LBA。在方塊406處,方法400判定是否資料被寫入至該動作LBA。若資料已被寫入至該動作LBA,則在方塊408處,方法400取回被寫入至該動作LBA的該命令。在一實施例中,被寫入至該動作LBA的該資料具有如以上圖3A所說明的欄位306A-E之一資料結構。方法400在方塊410處處理該被取回的命令。處理被寫入至該動作LBA之該被取回的命令會在以下圖5中進一步說明。執行繼續至以上方塊404。若在方塊406處沒有資料已被寫入至該動作LBA,則執行繼續至以上方塊404。
圖5說明用於處理信箱通訊命令之一方法之一實施例。在一實施例中,方法5000執行以上方法400之方塊410。在圖5中,方法500開始於方塊502之解碼該命令。在一實施例中,方法500藉由從該命令取回該授權訊息而解碼 該命令。在一實施例中,方法500藉由分析該授權訊息而判定該命令是否被授權。在一實施例中,若授權失敗,則該訊息被忽略,且若發現授權是可用的,則對該訊息進行動作。例如且在一實施例中,方法500從命令取回該授權訊息且將該訊息驗證為從該被授權代理器接收之一可用訊息。在一實施例中,與安全儲存系統進行通訊之每一代理器具有一組唯一的鑑別憑證,其用以識別該代理器及加密/解密一命令及結果的內容。此外,方法500使用該鑑別訊息來解密該密令中的資料。若該命令被授權,則方法500將該命令分段為以上圖3A中所說明的個別欄位。
在方塊504處,方法500判定該命令是否是一寫入命令。在一實施例中,方法500藉由檢視該命令碼欄位(例如,以上圖3A中所說明的命令碼欄位306C)中的資料來判定命令的類型。若該命令是一寫入命令,則在方塊510處,方法500將需被寫入至該結果LBA的資料導向至該命令所指示的該儲存位置。例如且在一實施例中,該代理器想要將資料寫入至該安全儲存系統之磁區2000。在此範例中,該代理器將一命令寫入至資料需被儲存在磁區2000之該動作LBA。此外,方法500將該命令解碼為一寫入命令以判定被寫入至該結果LBA之資料需被寫入到磁區2000。方法500檢測至該結果LBA的此寫入且將正被寫入至該結果LBA的此資料改向至該安全儲存系統之磁區2000。
若該命令不是一寫入命令,則在方塊506處,方法500判定是否該命令是讀取命令。在一實施例中,方法500 藉由詢問該命令之命令碼來判定該命令是否是一讀取命令。若是,則方法500在方塊512將該讀取從該結果LBA改向至該儲存位置。例如且在一實施例中,若該讀取命令是從該安全儲存系統之磁區1000讀取資料,則方法500解碼該命令以判定該讀取是來自於磁區1000以及需被讀取的資料量。方法500將該結果LBA之該進入的讀取改向以從磁區1000讀取正確的資料量至該結果LBA。在此範例中,啟始該讀取命令的該代理器從該結果LBA讀取該資料且方法500將來自於該所需磁區的此讀取改向。
若該命令不是一讀取命令,則在方塊508處,方法500判定是否該命令是一組配命令。若該命令是一組配命令,則方法500根據該命令中的資料組配該通道。若該命令不是一組配通道命令,則在方塊516處,方法500採取替代動作。在一實施例中,該方法500可忽略該命令、將指示該命令無法被理解之一錯誤碼儲存在該結果LBA中,或採取該技藝中已知的另一動作。
如上所述,有兩種不同方式可讓該代理器及一安全儲存系統能使用一通道來傳遞該代理器及該安全儲存系統之間的資訊。如上所述,一種方式是基於信箱方案,其使用一動作及結果LBA來安全傳遞該代理器及該安全儲存系統之間的資訊。此種方案可被該技術中已知的許多不同儲存通訊協定使用(SATA、ATA、e-SATA、通用串列匯流排(USB)、霹靂(Thunderbolt)、PCI等)。另一種方式是使用該儲存通訊協定之可信賴的傳送及接收設施(“可信賴的傳 送設施”)來設置一代理器及該安全儲存器間的一通道。在一實施例中,該代理器及該安全儲存系統使用該安全SATA協定之該可信賴的傳送設施來協商該代理器及該安全儲存系統之間的一對話金鑰。
圖6說明用於使用安全串列先進技術附件(SATA)來處理被傳送的通道訊息之一方法之一實施例。在一實施例中,方法600被該安全儲存系統執行(例如,以上圖1之安全儲存器114)與一代理器間安全傳遞資訊。在圖6中,方法600開始於方塊602的使用該安全SATA可信來的傳送設施來設置與代理器間的一通道。在一實施例中,該代理器會協商方法600所屬之一對話金鑰,其對於該代理器及方法600而言是唯一的,使得資料可被該代理器安全傳遞且方法600正使用對話金鑰。在一實施例中,該對話金鑰用以對於方法600識別該代理器且使用該通道來加密/解密被傳遞的資料。儘管在一實施例中,方法600使用該安全SATA之該可信賴的傳送設施,但在替代實施例中,提供一可賴的傳送設施之另一儲存協定可被使用以設置該代理器及該安全儲存系統間的一通道。
在方塊604處,方法600從該代理器接收一訊息。在一實施例中,該訊息包括將該訊息識別為源自該代理器之該鑑別資料,且包括如該對話金鑰之鑑別憑證,其可被使用以解密該訊息中的資料。例如且在一實施例中,該訊息可包括如被協商的交談之該鑑別資料以及藉由使用該金鑰被加密的該資料。此外,在方塊604處,方法600解密被 包含在該訊息內著該資料,如此一來方法600可進一步處理該被接收的訊息。
在方塊606處,方法600判定是否該被接收的訊息是一寫入訊息。若是,則方法600在方塊612處處理該寫入訊息。在一實施例中,方法600藉由判定何種資料需被寫入及該資料需被寫入至何處來處理該寫入訊息且使用該位置寫入該資料及需從該訊息被寫入的資料。例如且在一實施例中,若該寫入訊息指示該100位元組的資料需被寫入至該安全儲存系統的磁區2000,則方法600從該訊息酬載取回該100位元組的資料且將該100位元組的資料儲存至該安全儲存系統的磁區2000。此外且在一實施例中,方法600將指示該寫入之結果(例如,成功、失敗等)之一訊息透過該通道傳送回該代理器。
若該被接收的訊息不是一寫入訊息,則在方塊608處,方法600判定是否該被接收的訊息是一讀取訊息。若該被接收的訊息是讀取訊息,則在方塊614處,方法600處理該讀取訊息。在一實施例中,方法600取回該讀取之該位置及需從該位置被讀取的資料輛。例如且在一實施例中,方法接收一讀取訊息,其指示200位元組之資料應從該安全儲存系統之磁區1000被讀取。在此實施例中,方法600會從磁區1000讀取200位元組之資料。此外,該方法600將具有從磁區1000讀取之該200位元組之資料之一訊息傳回該代理器。在此實施例中,方法600使用該被協商的對話金鑰加密該資料且將此被加密之資料儲存在該訊息中傳回該 代理器。此外,方法600使用該被形成的訊息將該資料傳回該代理器。
若在方塊604處被接收的訊息不是一讀取訊息,則在該方塊610處,方法600判定是否該被接收的訊息是一組配通道訊息。若該被接收的訊息是一組配通道訊息,則在方塊616處,方法600根據該訊息中的組態參數來組配該通道。在一實施例中,在根據該被接收的組態通道訊息組配該通道後,方法600將指示在該訊息中的該命令之成功或失敗之一返回訊息傳回該代理器。若該被接收的訊息不是一組配通道訊息,則在方塊618處,方法600採取替代動作(例如,丟棄該被接收的訊息、傳回指示該被接收的訊息無法被理解之一訊息等)
可鎖定的儲存器
圖7-10說明用於在該儲存裝置層級鎖定儲存器之一系統及方法,如此一來該被儲存的資料無法被可在該作業系統中執行之一過程(例如,惡意軟體、病毒等)更改。例如,若一使用者想要開啟一檔案或存取資料但其等卻無法被該使用者所信賴(例如,電子郵件附件、來自未知網站之可執行檔等),則一使用者如何能確保該檔案或資料不會感染或破壞現存的儲存檔案?使用者或許無法信賴許多應用程式或可執行檔,因為惡意軟體容易存在於被下載資料中。當在一不安全環境中作業時,例如開啟不可信賴的檔案時,使用者可能有他們想要保護的個人資料。
當處於不安全區域時,某些使用者可能會關掉一 電腦的無線網路卡以避免被附近的惡意駭客攻擊。類似地,對於一系統上的惡意軟體,一使用者或許想要能夠開啟不可信賴的檔案但同時使個人、敏感性資料是不可存取或被鎖定。因此一“資料安全模式”是有用的,例如使你的膝上型電腦上的一外部開關鎖定一系統上的關鍵資產之能力(作業系統檔案、可組配的資料,如信用卡資訊、密碼及其他敏感性私用資訊)或在開機期間鎖定一作業系統之關鍵元件。
圖7說明包括可鎖定的儲存器之一系統之一範例。在圖7中,電腦700類似於圖1中的電腦102,除了該電腦700包括能被鎖定以防止資料被儲存在被鎖定的區域之可鎖定的儲存器702以外。在一實施例中,該可鎖定的儲存器是該正常儲存器116之部分。在另一實施例中,該可鎖定的儲存器是該安全儲存器114之部分。在一實施例中,該該可鎖定的儲存器用以儲存重要的作業系統元件(主開機紀錄、驅動程式、其他作業系統檔案等)。在另一實施例中,一使用者可能將資料儲存在一可鎖定的儲存器中,例如一防毒資料定義、金融紀錄、個人項目(照片等)及/或其他重要資料。
例如且在一實施例中,可有兩種類型之儲存器,一安全儲存器及修改鎖定儲存器。在一實施例中,該安全儲存器本身包括兩種模式:固定、總是在安全儲存器上,其對一般使用者是不可存取的且透過儲存器存取的一般方法(對儲存器的作業系統呼叫)被隱藏;以及在一硬碟機之正 常可定址範圍內存在可組配安全儲存器。在該硬碟機之正常可定址範圍內之該可組配安全儲存器會是特定LBA範圍,其等已被該使用者針對需保護的該硬碟之部分加以組配。在一實施例中,任一類型安全儲存器不允許對該類型之儲存器的正常寫入及讀取,而允許對該安全儲存器的經鑑別的讀取或寫入。
做為另一範例及在另一實施例中,對於修改鎖定儲存器,任何人能讀取在該區域中的資料,但只有一經鑑別的實體(對該硬碟機而言、用於該區域)能修改(例如,寫入)該區域內的資料。在此實施例中,該可鎖定的儲存區將是安全儲存器或修改鎖定儲存器之可組配的範圍,因為無論如何該固定安全儲存器對一般使用者是不可存取的。在又一實施例中且除了該鎖定儲存器以外,一實體開關(例如,以上圖1中的硬體開關142)可被使用以形成一“永遠開啟”安全儲存器,其在該開關開啟時甚至對經鑑別的使用者是不可存取的。在一實施例中,對所有使用者鎖定安全儲存器實際上是一有用特徵,因為許多惡意軟體可能攻擊可能可存取該安全儲存器之其他潛在(正常)可信賴的應用程式。
在一實施例中,兩種鎖定該可鎖定的儲存器之方式是可能的。在一實施例中,該使用者能藉由使用不被該作業系統控制的一開關來啟始鎖定。在此實施例中,此動作建立將透過可信賴的API 146及可信賴的韌體118來進行通訊之一系統中斷以鎖定該可鎖定的儲存器702。如上所述,此能被用以鎖定重要使用者檔案,如防毒資料檔案、 金融檔案及個人檔案。該使用者鎖定機制在以下圖10被進一步說明。在另一實施例中,該可鎖定的儲存器中之資料能被該作業系統鎖定。在一實施例中,該作業系統在開機期間選擇性地鎖定可鎖定的儲存器之不同部分。此實施例能在該電腦開機期間被用以鎖定重要作業系統資料(包括主開機紀錄及其他重要作業系統元件)。
圖8說明用於選擇性地鎖定儲存在可鎖定的儲存器中之作業系統資產之一方法之一實施例。在圖8中,方法800開始於啟始電腦開機順序。在一實施例中,該電腦開機順序是一連串的動作,其等使一電腦由關機狀態進入一完全操作狀態。在方塊804處,方法800存取電腦之該主開機紀錄且開始該開機(Boot Strapping)過程。在一實施例中,該主開機紀錄(MBR)包含用於使該作業系統開機之資訊。在一實施例中,該MBR是一個512位元組的單一磁區。
在方塊804處,方法800傳送一信號至該安全儲存器系統以鎖定該主開機紀錄。在一實施例中,方法800鎖定儲存該主開機紀錄之該可鎖定的儲存器之該磁區。藉由鎖定儲存該主開機紀錄之該等特定磁區,這些磁區(及該主開機紀錄本身)無法藉由執行於該作業系統中的如惡意軟體之過程被更改。在另一實施例中,該開機順序是基於一使用者可擴充韌體介面(UEFI)。在此實施例中,UEFI是使一系統開機的另一種方式。UEFI類似於基於MBR之開機,但更複雜。在UEFI中,為了開機,存在一開機管理員,其將該系統開機。例如,UEFI開機使用一全球唯一識別(GUID) 分割表(GPT),其類似於一MBR,但為不同格式且不是一個單一磁區(如用於MBR之LBA 0),而是一GPT佔用該硬碟機之開頭的34或35個磁區以及結尾的34或35個磁區。在此實施例中,方法800會在方塊802處鎖定儲存該GPT之該等相關磁區。
當該等作業系統元件不再需要被寫入時,方法800在方塊808處繼續該開機過程,且選擇性地鎖定儲存該等作業系統元件之磁區。在一實施例中,有多個可被儲存在可鎖定的儲存器中之重要作業系統元件,且這些作業系統元件中的每一個可被儲存在該可鎖定的儲存器中之相同或不同磁區中。該等重要作業系統元件可包括該整個作業系統或該作業系統之一子集合。當這些作業系統元件被使用且不再需在被寫入時,方法800鎖定與該等作業系統元件相關聯的該等磁區。在一實施例中,方法800藉由傳送該可鎖定的儲存器的某些磁區需被鎖定之一信號至該儲存器系統而鎖定這些磁區。在一實施例中,該方法800透過如參考以上圖1-6所述的一通道來傳送該等信號。
在方塊810處,方法800判定該作業系統被完全開機且重要作業系統元件已被鎖定以防止進一步更改。在一實施例中,該等重要作業系統元件中的一些或所有被進一步鎖定以防止讀取。在此實施例中,對該安全儲存器鎖定讀取存取可被用以鎖定讀取存取該硬碟機儲存在該硬碟機上的某些類型金鑰(例如,被載入至記憶體中的金鑰(且想必也在記憶體中被保護)及該作業系統決不想要讓此金鑰可 從該硬碟機被讀取的)。
在一實施例中,該可鎖定的儲存器在該儲存器層級被鎖定,使得要覆蓋這些磁區之不可改變的狀態之任何作業系統命令被忽略。在一實施例中,一寫入鎖定會在該儲存裝置之韌體(例如,以上圖1中的儲存韌體120及/或可信賴的系統韌體118)內維護被保護區域之一表格且不允許寫入至那些磁區的任何未經授權之嘗試。在另一實施例中,一寫入鎖定會藉由在該儲存裝置之韌體內維護被保護區域之一表格而被實施且不允許寫入至那些磁區的任何未經授權之嘗試。
在方塊812處,要感染或更改這些被鎖定的作業系統檔案嘗試會失敗,因為該裝置韌體防止修改防止對這些作業系統檔案之任何更改。在一實施例中,若該硬碟機之一特定區域被鎖定,則當進行此一嘗試時,該儲存器韌體能監測用於寫入至該/該等“鎖定”LBA之嘗試之進入的寫入命令且返回一寫入錯誤。在另一實施例中,該儲存器韌體將在該寫入嘗試中的資料改向至一特別隔離區用於進一步分析。在這些實施例中,典型地會更改或取代在該等鎖定磁區上的這些鎖定作業系統檔案之該等一般作業系統命令將失敗,因為該裝置韌體防止修改覆蓋了該作業系統或其他應用程式能看見的該等儲存器存取命令。
如上所述,該作業系統的某些元件將被鎖定,如此一來它們不能再被一般作業系統命令更改。儘管在許多例子中,這是有利的情況,因為這不允許病毒等感染這些 作業系統檔案。但問題是會有這些作業系統檔案需被更改的時候。在一實施例中,一作業系統升級將可能需要更改被鎖定在一可鎖定的儲存器內之該等作業系統檔案。
圖9說明用於更新儲存在鎖定儲存器中的具有作業系統資料之一作業系統之一方法900之一實施例。在一實施例中,一作業系統更新將可能需要更改被鎖定在一可鎖定的儲存器內之該等作業系統檔案。在圖9中,方法900是用以藉由使用已對於該儲存系統被鑑別之一應用程式介面(API)(例如,如以上圖1所述的透過可信賴的API 146之該安全儲存器114)來更新一作業系統之方法。透過經由該API的通訊,對該儲存器的鎖定依然不變,且方法900使用一安全通道來存取該鎖定儲存器中的資料。這允許方法900對該等鎖定區域進行寫入,其中該等寫入被該API之一經鑑別使用者進行簽章,如此一來該韌體能認證該等改變是來自於該等鎖定區域之該擁有者,而非如惡意軟體之任何其他者。
方法900開始於接收該命令以升級包括儲存該等作業系統元件之一些或全部之被鎖定檔案之該作業系統。在一實施例中,升級該作業系統之該命令是來自於一使用者啟始的請求或一自動服務提供者請求以如該技藝已知者升級該作業系統。在方塊904處,方法900建立與該儲存系統間的一安全通道。在一實施例中,該安全通道是該安全儲存系統及一代理器(如執行方法900之一代理器)之間的一安全通道,其使用該信箱方案或該使用SATA可信賴的傳送及接收之經協商通道,如以上圖1-6所述。在方塊906處, 方法900使用一安全通道來升級該作業系統。在一實施例中,方法使用該安全通道來更新在該可鎖定的儲存器內之需被升級之該等作業系統元件。在這些作業系統元件被更新後,方法900繼續如該技藝中已知者升級作業系統之其他部分。在方塊908處,方法900以該經升級的作業系統重新啟動該裝置。
如上所述,有兩種一電腦能鎖定儲存在該可鎖定的儲存器中之資料的方式。在一實施例中,該作業系統在一開機順序期間鎖定在該可鎖定的儲存器中之資料。在另一實施例中,該使用者啟始該可鎖定的儲存器之鎖定以鎖定該使用者資料中的一些或全部。在一實施例中,其中一種鎖定資料之方式能被使用。在另一實施例中,兩種鎖定該可鎖定的儲存器中之資料之方式之可用的。圖10說明用於鎖定使用者儲存器之一方法1000之一實施例。在圖10中,方法1000開始於接收需被儲存在該可鎖定的儲存器中之資料。在一實施例中,需被儲存在該可鎖定的儲存器中之資料是重要的使用者資料,如防毒定義資料、個人資料、金融紀錄等。在方塊1004處,方法1000接收一使用者鎖定組態。在一實施例中,此鎖定組態指定何種資料需被儲存在該可鎖定的儲存器中。僅管在一實施例中,該組態是鎖定可鎖定的儲存器中之所有資料,但在另一實施例中,該組態能指定該可鎖定的儲存器之某些檔案及/或實體磁區需被鎖定。在一實施例中,該鎖定組態被該使用者所定義。在一替代實施例中,該電腦裝置之一製造商能使用此機制 來定義在一使用者鎖定請求期間哪些資料被包括在該可鎖定的儲存器中。
在方塊1006處,方法1000接收一使用者鎖定已被啟動的一指示。在一實施例中,一使用者可藉由啟動用於該鎖定的一專屬開關、一組鍵盤複合鍵(如ALT+F5等)、若使用一觸控使用者介面時之一觸控順序,或如該技藝中已知者指示指示一命令至一電腦之任何其他方式來啟動可鎖定的儲存器之鎖定。在方塊1008處,方法1000觸發該電腦系統上的軟體正收聽的系統中斷。在一實施例中,藉由觸發中斷,執行一鎖定的方法1000是在該作業系統控制之外。若惡意軟體、病毒等可能存在該電腦系統上,則這是有用的,如此一來該惡意軟體無法打垮該使用者啟始鎖定。
在方塊1010處,方法1000傳送一訊息至該儲存系統以執行該使用者鎖定。在一實施例中,方法1000使用在該作業系統中執行方法1000之一代理器以及該安全儲存系統間的一通道以執行該使用者鎖定。在一實施例中,方法1000如以上圖1-6中所述者使用該通道。在方塊1012處,方法1000指示該使用者鎖定已完成。在一實施例中,方法1000在該電腦系統之顯示器上顯示指示該使用者鎖定模式被啟始之一圖像或其他圖形影像。
在方塊1014處,方法1000在該使用者鎖定環境中執行一應用程式。在一實施例中,該使用者可以啟始鎖定,使得該使用者想要在可能包括惡意軟體、病毒或其他具潛在破壞性軟體之一環境中執行一檔案或取回一檔案。藉由 在該使用者鎖定環境期間執行應用程式,儲存於該鎖定儲存器內之資料避免被更改,因為該硬碟機機制防止一作業系統過程(如一惡意軟體、病毒等)更改或刪除被鎖定在該可鎖定的儲存器內之資料。
在方塊1016處,方法1000接收使用者解鎖的一指示。在一實施例中,一使用者想要解鎖可鎖定的儲存器。在方塊1018處,方法1000傳送一訊息至該儲存系統以執行該使用者解鎖。在一實施例中,方法1000使用執行該方法1000之該代理器與該安全儲存系統之間的該通道來執行該使用者解鎖。在方塊1020處,方法1000指示一使用者鎖定已移除。在一實施例中,方法1000移除顯示在該使用者之顯示器上的用於指示該使用者鎖定在運作中之該圖像或影像。
付費內容之安全下載及處理
線上媒體及串流是一發展中的領域且這提高了使安全平台提供付費服務以強化終端使用者體驗並對於內容提供者開啟新的內容分配管道之需求以協助其等提高其等之全部可用市場(TAM)。目前,個人電腦(PC)並未被認為是足夠強健的以允許內容提供者(如NetflixTM、電影及/或電視工作室)許可下載及/或串流化付費與最新內容至一運算裝置(如電腦、機上盒、行動裝置等及/或能接收及/或呈現內容之任何其他類型的裝置。內容提供者憂心因盜版及違反DRM造成的智慧財產權損失。由於這些問題,故內容提供者無法獲得主要使用PC平台作為娛樂中心之相當大量的 顧客段。
此外,內容提供者及ISV也想要確定他們的資料從來源點到消費點是安全的,特別是涉及提供線上與串流內容之消費之數個選項的娛樂裝置段。
以下所述是藉由強化儲存平台之能力允許內容提供者及ISV在PC及替代平台上安全儲存及串流化其等內容之一系統(例如,最新電影、遊戲、音訊、書籍等之付費內容提供者)。該系統也藉由使用一儲存平台的安全儲存器及通道能力提供安全執行以提供一可信賴的運算環境。此外,該資料路徑透過一安全通道從來源點到消費點是安全的,藉此最小化記憶體或平台中暴露的資料之被窺探及DRM違反之風險。
圖11說明用以保護數位權利管理內容之一系統之一範例。在圖11中,系統包括系統提供者/ISV 1102、平台代理器1104、儲存器1118及圖形處理單元(GPU)/顯示器1112。在一實施例中,該系統提供者/ISV 1102是提供被數位權利管理(DRM)保護之內容之一實體。DRM保護內容之範例可以是視訊、音訊、影像、書籍、遊戲、軟體等及/或必須被該系統提供者/ISV 1102限制使用之任何類型之內容。在一實施例中,該系統提供者/ISV 1102包括用來下載該DRM保護內容至該平台代理器1104之一伺服器。
在一實施例中,該平台代理器1104包括一作業系統1106,其中該平台代理器是如以上圖1中所說明的一電腦及/或裝置。在一實施例中,該平台代理器1104建立與該系 統提供者/ISV 1102間的一可信賴根,如此一來該系統提供者/ISV 1102能安全下載該DRM保護內容至該等平台代理器1104。此外,該平台代理器耦接至儲存器1118。在一實施例中,該儲存器包括作業系統可見儲存器1108,其中該作業系統可見儲存器1108包括相關的硬體及韌體。例如且在一實施例中,作業系統可見儲存器1108是如圖1所說明的該正常儲存器116。此外,儲存器1118包括作業系統不可見安全儲存器1110,其在一實施例中,是用以安全儲存該DRM保護內容。例如且在一實施例中,作業系統不可見儲存器1110是安全儲存器114。
在一實施例中,該平台代理器1104使用安全路徑1114A來儲存該DRM保護內容至該作業系統不可見安全儲存器1110。在一實施例中,該安全路徑1114A是該平台代理器1104及該作業系統不可見安全儲存器1110間的一通道。該通道之一範例被說明以上圖1-6。該平台代理器進一步透過一安全路徑1114B耦接至該GPU/顯示器1112。在一實施例中,該安全路徑1114B是該平台代理器1104及GPU/顯示器1112間的一通道。
圖12說明用於安全儲存及處理數位權利管理內容之一方法之一實施例。在一實施例中,一平台代理器1104執行方法1200以安全儲存及處理該DRM內容。在圖12中,方法1200開始於方法1202的建立與一系統提供者/ISV間之一安全信賴根,例如如以上圖11中所說明之系統提供者/ISV 1104。在一實施例中,該系統提供者/ISV使用一第三 方提供服務將該平台代理器鑑別為一可信賴的代理器。例如且在一實施例中,該系統提供者/ISV使用如一第三方提供服務之第三方所發出的一金鑰或憑證將該平台代理器歸類為一可信賴的代理器。藉由將該平台代理器歸類為該可信賴的代理器,方法1200建立與該系統提供者/ISV間的一安全可信賴根且進一步建立一安全路徑以下載能被用來儲存在該安全儲存中之該DRM保護內容。
在方塊1204處,方法1200建立與該安全儲存器間之一安全通道。在一實施例中,該安全儲存器是該作業系統不可見儲存器1110。在一實施例中,方法如以上圖1-6中所述建立與該儲存器間之一安全通道。在此實施例中,該儲存器與該平台代理器間的該安全通道允許平台安全下載DRM保護內容至該安全儲存器。此外,方法1200建立該作業系統不可見儲存器與該GPU/顯示器間的一通道。在一實施例中,該第二通道是藉由使用一金鑰交換機制對作業系統不可見儲存器及該GPU/顯示器而建立。
藉由使用該等兩個通道,方法1200安全執行DRM保護內容之下載及處理。在一實施例中,方法1200從該系統/ISV安全下載DRM保護內容至該作業系統不可見儲存器。方法1200進一步解密及再加密DRM保護內容,如此一來該GPU/顯示器能處理該此內容。該DRM內容之下載及處理的安全執行進一步被說明於以下圖13中。
圖13說明用於請求、儲存及提供數位權利管理內容之一方法之一實施例。在圖13中,方法1300開始於方塊 1302的提供該ISV金鑰至該安全儲存器中。在一實施例中,方法1300藉由從一憑證提供服務之一遠端伺服器接收一客戶端憑證提供該該ISV金鑰。提供該公鑰進一步被說明於以下圖14中。在方塊1304處,方法1300接收針對付費內容的一請求。在一實施例中,付費內容是藉由使用一數位權利管理方案被管理的內容。例如且在一實施例中,該付費內容可以是一視訊、音訊、影像、書籍、文件、遊戲、軟體等或能藉由數位權利管理被保護之任何其他類型之媒體。例如且在一實施例中,方法1300能被用以將該付費內容連結至一單一裝置,例如存取此付費內容之裝置。
方法1300在方塊1306處允許發現該DRM儲存保護。在一實施例中,該DRM儲存保護是如上述圖1中的該安全儲存系統。該DRM儲存保護允許一內容提供者安全儲存、串流化及/或處理該付費內容,而不用擔心該內容在未被允許的情況下被複製、觀看及/或取用。在方塊1308處,方法1300判定是否該DRM儲存保護被支援。若該DRM儲存保護未被支援,則在方塊1320處,該付費內容不被允許儲存在正執行方法1300之該裝置上。若在方法1308處該DRM儲存保護被支援,則在方塊1310處,方法1300使用該公鑰來鑑別。在一實施例中,該公鑰是允許該付費內容從該付費內容提供者或ISV(例如,如以上圖12所述之服務提供者/ISV 1202)被下載之一金鑰。在一實施例中,該金鑰在以上方塊1302處被提供。在方塊1312處,方法1300與該付費內容服務提供者/ISV協商一內容特定金鑰。在一實施例中, 協商該內容特定金鑰產生對該被請求的付費內容而言是特定之一金鑰。
在方塊1314處,方法1300儲存該內容特定金鑰於該安全儲存器中。在一實施例中,方法1300使用至該安全儲存系統之一通道來儲存該特定內容金鑰。在方塊1316,方法1300接收對應至該付費內容之該請求之一經加密內容。如上所述,該經加密內容可以是視訊、音訊、影像、書籍、遊戲、軟體等,或任何其他類型之DRM保護內容。此外,該被取回內容被加密及能藉由使用在方塊1312處取回的該特定內容金鑰被加密。在方塊1318處,方塊1300儲存被經加密內容及相關的內容元資料在該安全儲存器中。在一實施例中,方法1300使用正執行方法1300之該代理器與該安全儲存器之間的該通道來安全儲存該經加密內容及相關的內容元資料。在一實施例中,該元資料是描述該該經加密內容之資料(例如,標題、藝人、類型、大小、編碼等,及/或該技藝中已知的與付費內容相關聯之其他參數)。
在方塊1320處,方法1300從該代理器接收對於經加密內容之一請求。在一實施例中,該代理器為一軟體實體,其為用以保護內容提供者與安全儲存系統間之交易之一方。在一實施例中,該代理器被盡一步說明於上述圖12中。在方塊1322處,方法1300藉由使用一路徑保護公鑰,按照對該顯示器/音訊所建立的該信賴根協定,解密該經加密內容及再加密此內容。藉由以該信賴根協定再加密該內容,該被下載付費內容可藉由使用對於該顯示器/音訊之路 徑保護公鑰被觀看。在方塊1324處,方法1300使用該路徑保護金鑰來解密該經再加密內容。
如上所述,為了一客戶端能接收付費內容,該客戶端將需要一信賴根。圖14說明包括提出請求且被准予一信賴根之一客戶端之一系統1400之一範例。在圖14中,客戶端1402是能請求來自於ISV/伺服器1404之該付費內容之一客戶端,其中該ISV/伺服器1404從一提供伺服器1406請求用於該客戶端1402之一提供金鑰。該系統1400用以藉由代理器1420對該付費內容安全下載及顯示、執行等。
在圖14中,該客戶端從該ISV/伺服器1404請求該付費內容(1408)。在一實施例中,該客戶端1402包括安全儲存器1422。回應於接收用於付費內容之該客戶端請求,該ISV/伺服器1404在該客戶端1402上的安全儲存器中安裝該代理器1420並與該代理器1420進行通訊以判定該客戶端1402之能力(1410)。此外,該ISV/伺服器1404利用一私鑰對此訊息簽章。
該安全儲存器中之該代理器1402將一帶有硬碟機能力之一訊息傳送回該ISV/伺服器1404(1412)。做為回應,該ISV/伺服器1404在1414處判定是否該儲存器是DRM保護儲存器。若該儲存器是DRM保護儲存器,該ISV/伺服器1404藉由對該訊息簽章且將該被簽章訊息傳送回該提供伺服器1406而請求該提供金鑰。在一實施例中,提供伺服器1406提供該提供金鑰。此外,該提供伺服器1406藉由使用該提供伺服器1406之該私鑰對該提供金鑰簽章。該提供 伺服器1406可以是一第三方提供伺服器或可以是屬於該ISV之一方。該提供伺服器1406將該等提供金鑰傳送至該ISV/伺服器1404。
回應於接收該等提供金鑰,該ISV/伺服器1404在1418處以該提供金鑰提供該ISV公鑰。在一實施例中,該ISV公鑰對該客戶端而言是唯一的。在一實施例中,該ISV公鑰對用於該客戶端之該ISV/伺服器1404而言是唯一的。在一實施例中,該ISV/伺服器1406鑑別該客戶端1402並使用該安全儲存器1422之該代理器1420來儲存該公鑰。在一實施例中,該ISV公鑰儲存於該客戶端1402之該安全儲存器1422中。在此順序的最後,該ISV/伺服器1404已將公鑰提供提供至該客戶端1402之安全儲存器1422中,且如方法1300所示的其餘步驟可被執行以下載及處理該付費內容。
加值儲存服務之啟動及塑造
硬碟機公司正致力於塑造被置入於其等之硬體中之特性及能力。在其等努力於最小化及控制其等不同型號之數目時,儲存器公司可能結束販賣硬體於一最低正常分母價格,於是負面地影響該等儲存器公司之盈利能力。這是因為儲存器公司在不產生第二收入來源之該領域中無法安全地啟動及/或註銷裝置之加值儲存服務。在一實施例中,註銷將實體資源(例如,儲存裝置)的管理權從一服務提供者轉移至另一個。例如且在一實施例中,供應商A註銷將廢止用於一給定裝置之管理服務,而供應商B將啟動用於同一裝置之新服務。潛在的加值儲存服務可包括啟用額外的 儲存器、防盜技術、安全儲存器、儲存裝置加密等。
圖15說明包括提出請求且被准予啟動加值儲存特性之一客戶端1502之一系統1500之一範例。在圖15中,該系統1500包括對ISV/伺服器1504請求加值服務特性之啟動(及/或註銷)。回應於接收該客戶端1502請求,該ISV/伺服器1504傳送一請求至該提供伺服器1504以判定是否該客戶端1502對於該請求被授權。在一實施例中,可能的加值儲存服務可包括啟用用於該客戶端之額外服務、允許儲存於該客戶端1502上之DRM付費內容、防盜技術、安全儲存器等。在一實施例中,該提供伺服器1506判定是否該客戶端1502被授權於啟動該被請求之加值儲存特性。若是,該提供伺服器1506傳送該授權至該ISV/伺服器1504。該ISV/伺服器1504在該客戶端1502上安裝一代理器1508,其用以對於用於可能的加值儲存服務之一許可產生一請求。藉由對該客戶端提供該公鑰及代理器,一安全信賴根對於該客戶端被建立。
一旦該安全信賴根被建立,執行於該客戶端1502上之一應用程式可使用該代理器1508來請求用於一加值儲存服務之一許可。在此實施例中,回應於接收來自該應用程式的對於加值儲存服務之一請求,該代理器1508傳送一請求至該ISV/伺服器1504。在一實施例中,該ISV/伺服器1504將此請求發送至該提供伺服器1506。該提供伺服器1506授權該許可請求並將此授權傳回該ISV/伺服器1504。該ISV/伺服器1504從該提供伺服器1506接收該授權並發出 對於該被請求的加值儲存特性之一許可至該客戶端1502。該代理器1508與該客戶間如何運作進一步被說明於以下圖16中。
圖16說明透過一管理引擎1614對於一加值儲存服務特性請求一許可之一應用程式之一範例。在圖16中,電腦1606包括客戶端1608、OS 1612及管理引擎1614。在一實施例中,該管理引擎1614是如以上圖15中所說明的該代理器。在一實施例中,該等客戶端1608請求包括對於一加值儲存服務提出一許可請求之一應用程式1610A。在此實施例中,客戶端1608包括用於許可之該應用程式1610A、該ISV客戶端1610B、該ISV代理伺服器1610C及主機嵌入控制器介面(HEC)1610D。該客戶端1608的這些元件用以產生該應用程式許可請求1602至該管理引擎1614。在一實施例中,OS 1612是該技藝中已知之作業系統且被進一步說明於以上圖1中。
在一實施例中,管理引擎1614包括小型應用程式(application applet)1616A、JVM核心1616B、JVM ISV外掛程式1616C及ISV核心1616D。在一實施例中,該客戶端1606透過該ISV核心1616D、ISV外掛程式1616C及JVM核心1616B產生對於一加值儲存服務許可之一請求至該小型應用程式1616A。在一實施例中,該客戶端1610使用該等元件1610A-D與該管理引擎1614進行通訊並對該ISV/伺服器產生一許可請求。在一實施例中,該小型應用程式1616A是用以控制至該ISV/伺服器的該許可請求過程。在一實施例 中,JVM核心1616B是該技藝中已知的一爪哇虛擬機器核心,且用以執行該該小型應用程式1616A。在一實施例中,該JVM ISP外掛程式1616C是執行於該等管理引擎1614中之一外掛程式,且用以在該ISP核心1616B及該JVM核心1616D間傳遞資料。
在一實施例中,該ISV核心1616D是直接與諸如如以上圖15中所述之遠端ISV/伺服器1506之遠端ISV/伺服器進行通訊。在一實施例中,該ISV核心1616D包括允許該ISV核心1616D透過該網際網路或一些其他網路協定直接進行通訊之一TCP/IP網路堆疊,以請求及接收對於許可1610A之該應用程式正在請求之該等許可。在一實施例中,該管理引擎1614是該電腦1606之該安全儲存器之一部分。在此實施例中,該管理引擎1614是在OS 1612以外執行之一過程,且用以傳遞及下載對於該儲存特性之該許可。請求該許可進一步被說明於以下圖17中。
圖17說明用於對於一加值儲存特性請求一許可之一方法之一實施例。在圖17中,方法1700開始於提供該ISV公鑰至該客戶端之該安全儲存器。在一實施例中,提供該ISV公鑰至該安全儲存器中進一步被說明於以上圖14中。在方塊1704處,方法1700從一應用程式接收對於加值儲存特性許可之一請求。在一實施例中,該加值儲存服務可以是視訊、音訊、影像、書籍、遊戲、軟體等。在方塊1706處,方法1700判定是否支援用於致能儲存服務之系統。例如且在一實施例中,若方法1700判定一客戶端具有 一安全儲存器以儲存該等被請求之許可,則該客戶端具有用於致能儲存服務之一系統。
若不支援用於致能儲存特性之系統,則在方塊1718處,方法1700判定儲存特性不被致能。且不採取進一步動作。若支援用於致能儲存特性之系統,則在方塊1708處,方法1700使用該公鑰來鑑別。在一實施例中,方法1700使用在以上1702處儲存於該安全儲存器中之該公鑰來鑑別。在方塊1710處,方法1700接收對於一加值儲存服務之一請求並轉送至該儲存授權伺服器。在一實施例中,該儲存授權伺服器是如以上圖15中所述之該ISV/伺服器1504。在此實施例中,該安全儲存器致能對於加值儲存特性許可之請求並處置該等請求。
在一方塊1712中,方法1700從該儲存授權伺服器接收一許可。方法1700在方塊1714處將該被請求之許可儲存於該安全儲存器中。在一實施例中,方法1700使用如以上圖1-6所述之一通道將該許可儲存於該安全儲存器中。在方塊1716處,方法1700提供一許可至該請求應用程式。在一實施例中,方法1700如以上圖16中所述提供該許可。
範例核心架構、處理器及電腦架構
處理器核心可針對不同目的及以不同處理器以不同方式實施。例如,此等核心之實施可包括:1)準備用於一般目的運算之一個一般目的循序核心;2)準備用於一般目的運算之一高效能一般目的非循序核心;3)主要準備用於圖形及/或科學(通量)運算之一特殊目的核心。不同處 理器之實施可包括:1)包括準備用於一般目的運算之一或多個一般目的循序核心及/或準備用於一般目的運算之一或多個一般目的非循序核心之一CPU;及2)包括主要準備用於圖形及/或科學(通量)之一或多個特殊目的核心之共處理器。此等不同處理器引導至不同電腦系統架構,其等可包括:1)來自該CPU之一獨立晶片上之共處理器;2)在一CPU之相同封裝內之一獨立晶粒上之共處理器;3)在一CPU之相同晶粒上之共處理器(在此情形下,此一共處理器有時被視為特殊目的邏輯元件,諸如整合圖形及/或科學(通量)邏輯元件,或特殊目的核心);及4)可在相同晶粒上包括該所述CPU(有時被視為該(等)應用程式核心或該(等)應用程式處理器)、該上述共處理器及額外功能之一晶片上之一系統。以下說明範例核心架構,然後說明範例處理器及電腦架構。
範例核心架構 循序及非循序核心方塊圖
圖18A是根據本發明實施例來說明一範例循序管線及一範例暫存器重取名、非循序發出/執行管線之一方塊圖。圖18B是根據本發明實施例來說明包括於一處理器中的一循序架構核心之一範例實施例及一範例暫存器重取名、非循序發出/執行架構核心之一方塊圖。圖18A-B中的實線方框說明該循序管線及循序核心,而該等選擇性的額外虛線方框說明該暫存器重取名、非循序發出/執行架構管線及核心。給定該循序層面是該非循序層面之一子集合,該非循序層面將被說明。
在圖18A中,一處理器管線1800包括一提取級、一長度解碼級1804、一解碼級1806、一配置級1808、一重取名級1810、一排程(也已知為一調度或發出)級1812、一暫存器讀取/記憶體讀取級1814、一執行級1816、一寫回/記憶體寫入級1818、一例外處置級1822及一確定級1824。
圖18B顯示處理器核心1890,其包括一前端單元1830,其耦接至一執行引擎單元1850,且二者都耦接至一記憶體單元1870。該核心1890可以是一精簡指令集運算(RISC)核心、一複雜指令集運算(CISC)核心、一極長指令字元(VLIW)核心,或一複合或替代核心類型。做為再一選項,該核心1890可以是一特殊目的核心,例如,一網路或通訊核心、壓縮引擎、共處理器核心、一般目的運算圖形處理單元(GPGPU)核心、圖形核心等。
該前端單元1830包括一分支預測單元1832,其偶接至一指令快取單元1834,其偶接至一翻譯旁看緩衝器(TLB)1836,其耦接至一指令提取單元1838,其耦接至一解碼單元1840。該解碼單元1840(或解碼器)可解碼指令,並產生為一輸入一或多個微操作、微碼進入點、微指令、其他指令或其他控制信號,其等被解碼自,或反射,或被導出自,該等原始指令。該解碼單元1840可使用各種不同機制來實施。合適機制之範例包括,但不限於,查找表、硬體實施、可規劃邏輯陣列(PLA)、微碼唯讀記憶體(ROM)等。在一實施例中,該核心1890包括一微碼ROM或儲存用於某些微指令之微碼之其他媒體(例如,在解碼單元1840中或在 該前端單元1830內)。該解碼單元1840耦接至該執行引擎單元1850中的一重取名/配置器單元1852。
該執行引擎單元1850包括該重取名/配置器單元1852,其耦接至一收回單元1854及一組一或多個排程器單元1856。該(等)排程器單元1856代表任何數目之不同排程器,包括保留站、中央指令窗等。該(等)排程器單元1856耦接至該(等)實體暫存器檔案單元1858。每一實體暫存器檔案單元1858代表一或多個實體暫存器檔案,其等中的不同者儲存一或多個不同資料類型,諸如純量整數、純量浮點數、緊縮整數、緊縮浮點數、向量整數、向量浮點數、狀態(為需執行的下一個指令之位址之一指令指標)等。在一實施例中,該(等)實體暫存器檔案單元1858包含一向量暫存器單元、一寫入遮罩暫存器單元及一純量暫存器單元。這些暫存器單元可提供結構性向量暫存器、向量遮罩暫存器及一般目的暫存器。該(等)實體暫存器檔案單元1858與該收回單元1854重疊以說明暫存器重取名及非循序執行可被實施之各種方式(例如,使用一(多個)紀錄器緩衝器、及一(多個)收回暫存器檔案;使用一(多個)未來檔案、一(多個)歷史緩衝器及一(多個)暫存器檔案;使用暫存器圖及一暫存器池等)。該收回單元1854及該(等)實體暫存器檔案單元1858耦接至該(等)執行叢集1860。該(等)執行叢集1860包括一組一或多個執行單元1862及一組一或多個記憶體存取單元1864。該等執行單元1862可執行各種操作(例如,移位、加法、減法、乘法)及針對各種類型資料(例如,純量浮點數、 緊縮整數、緊縮浮點數、向量整數、向量浮點數)。儘管一些實施例可包括專用於特定功能或功能組之一數目之執行單元,但其他實施例可包括只有一執行單元或都執行所有功能之多個執行單元。該(等)排程器單元1856、實體暫存器單元1858及執行叢集1860顯示為可能是多個的,因為某些實施例建立個別管線用於某些類型之資料/操作(例如,一純量整數管線、一純量浮點數/緊縮整數/緊縮浮點數/向量整數/向量浮點數管線,及/或一記憶體存取管線,其等每一個具有其自己的排程器單元、實體暫存器檔案單元,及/或執行叢集-且在一個別記憶體存取管線的情況下,某些實施例被實施,其中只有此管線之該執行叢集具有該(等)記憶體存取單元1864)。也應被了解的是,當使用個別管線時,這些管線的一或多個可以是非循序發出/執行及其餘的循序。
該組記憶體存取單元1864耦接至該記憶體單元1870,其包括一資料TLB單元1872,其耦接至一資料快取單元1874,其耦接至一層級2(L2)快取單元1876。在一範例實施例中,該等記憶體存取單元1864可包括一載入單元、一儲存位址單元及一儲存資料單元,其等每一個耦接至該記憶體單元1870中之該資料TLB單元1872。該指令快取單元1834進一步耦接至該記憶體單元1870中之一層級(L2)快取單元1876。該L2快取單元1876耦接至一或多個其他層級之快取且最終至一主記憶體。
透過範例說明,該範例暫存器重取名、非循序發出/執行核心架構可如以下所示實施該管線1800:1)該指令 提取1838執行該等提取及長度解碼級1802及1804;2)該解碼單元1840執行該解碼級1806;3)該重取名/配置器單元1852執行該配置級1808及重取名級1810;4)該(等)排程器單元1856執行該排程級1812;5)該(等)實體暫存器檔案單元1858及該記憶體單元1870執行該暫存器讀取/記憶體讀取級1814;該執行叢集1860執行該執行級1816;6)該記憶體單元1870及該(等)實體暫存器檔案單元1858執行該寫回/記憶體寫入級1818;7)各個單元可涉入該例外處置級1822中;及8)該收回單元1854及該(等)實體暫存器檔案單元1858執行該確定級1824。
該核心1890可支援一或多個指令集(例如,具有已隨較新版本被添加之一些擴充之該x86指令集);美國加州MIPS Technologies of Sunnyvale之MIPS指令集;美國加州ARM Holdings of Sunnyvale之ARM指令集(具有選擇性的額外擴充,例如NEON),包括此處所述的該(等)指令集。在一實施例中,該核心1890包括支援一緊縮資料指令集擴充之邏輯元件(例如,AVX1、AVX2),藉此允許被許多多媒體應用程式使用之該等操作可藉由使用緊縮資料被執行。
應該了解的是,該核心可支援多執行緒(執行二或多組平行之操作或執行緒),及可以不同方式來如此進行,包括時間片多執行緒、同時多執行緒(其中一單一實體核心對於實體核心正同時執行的每一執行緒提供一邏輯核心),或其等之一組合(例如,時間片提取及解碼及同時多執行緒,如後來的英特爾®超執行緒(Hyperthreading)技術)。
儘管暫存器重取名是以非循序執行之脈絡來說明,但應了解的是,暫存器重取名可被用於一循序架構。儘管該處理器之該被說明之實施例也包括個別指令及資料快取單元1834/1874及一共享L2快取單元1876,替代實施例可具有用於指令及資料二者之一單一內部快取,諸如一層級1(L1)內部快取,或多個層級之內部快取。在一些實施例中,該系統可包括一內部快取及位於該核心及/或該處理器外部之一外部快取之一組合。替代地,所有這些快取可位在該核心及/或該處理器之外部。
特定範例循序核心架構
圖19A-B說明一較特別的範例循序架構之一方塊圖,該核心會是一晶片中之許多邏輯方塊(包括相同類型及/或不同類型之其他核心)中的一個。取決於應用,該等邏輯方塊透過一高帶寬互連網路(如一環狀網路)與一些固定功能邏輯元件、記憶體I/O介面,及其他必要I/O邏輯元件進行通訊。
圖19A是根據本發明實施例之一單一處理器核心之一方塊圖,其連接至該晶粒上互連網路1902且其具有該層級2(L2)快取1904之本地子集。在一實施例中,一指令解碼器1900支援具有一緊縮資料指令集擴充之該x86指令集。一L1快取1906允許至該等純量及向量單元中的低潛時快取記憶體存取。儘管在一實施例中(為了簡化設計),一純量單元1908及一向量單元1910使用個別的暫存器集(分別是純量暫存器1912及向量暫存器1914),且在其等間傳遞之 資料被寫入至記憶體且接著從一層級1(L1)快取1906被讀回,但本發明之替代實施例可使用一不同方式(例如使用一單一暫存器集或包括允許資料在該等兩個暫存器檔案間傳遞而不被寫入及讀回之一通訊路徑)。
該L2快取1904之本地子集為一全域L2快取之一部分,該全域L2快取被分為個別本地子集,每一處理器核心一個。每一處理器核心具有至其自己的L2快取1904之本地子集之一直接存取路徑。被一處理器核心所讀取的資料儲存於其L2快取子集1904,且能被在平行於其他處理器核心存取其等自己的本地L2快取子集之情況下,被快速存取。被一處理器核心寫入之資料儲存於其自己的L2快取子集1904中,且若需要時,會從其他子集清除。該環狀環路確保共享資料之一致性。該環狀環路是雙向的,以允許如處理器核心、L2快取及其他邏輯方塊之代理器與該晶片中之彼此進行通訊。每一環狀資料路徑在每個方向上是1012位元寬。
圖19B是根據本發明實施例的圖19A中之該處理器核心之一部分之一放大視圖。圖19B包括該L1快取1904之一L1資料快取1906A部分,以及該向量單元1910及該向量暫存器1914之更多細節。特定地,該向量單元1910是一16寬向量處理單元(VPU)(參閱該16寬ALU 1928),其執行一或多個整數、單精度浮點數及雙精度浮點數指令。該VPU支援利用拌和單元1920的拌和該等暫存器輸入、利用數值轉換單元1922A-B的數值轉換,及利用複製單元1924的對該 記憶體輸入的複製。寫入遮罩暫存器1926允許預測產生的向量寫入。
具有整合記憶體控制器及圖形之處理器
圖20是說明根據本發明實施例之可具有超過一個的核心、可具有一整合記憶體控制器及可具有整合圖形之一處理器2000之一方塊圖。圖20中之該等實線方框說明一處理器2000,其具有一單一核心2002A、一系統代理器2010、一組一或多個匯流排控制器單元2016,而該等選擇性的額外虛線方框說明一替代處理器2000,其具有多個核心2002A-N、在該系統代理器單元2010中之一組一或多個整合記憶體控制器單元2014及特殊目的邏輯元件2008。
因此,該處理器2000之不同實施可括:1)具有為被整合的圖形及/或科學(通量)邏輯元件之特殊目的邏輯元件2008之一CPU(其可包括一或多個核心),且該等核心2002A-N是一或多個一般目的核心(例如,一般目的循序核心、一般目的非循序核心、該二者之一組合);2)一共處理器,其具有該等核心2002A-N,其等為準備用於圖形及/或科學(通量)之許多特殊目的核心;及3)一共處理器,其具有該等核心2002A-N,其等是許多一般目的循序核心。因此,該處理器2000可以是一個一般目的處理器、共處理器或特殊目的處理器,例如一網路或通訊處理器、壓縮引擎、圖形處理器、GPGPU(一般目的運算圖形處理單元)、一高通量多整合核心(MIC)共處理器(包括30個或更多個核心)、嵌入式處理器等。該處理器可實施於一或多個晶片上。該處 理器2000可以是一或多個基材之一部分及或可實施於一或多個基材上,係使用一些製程技術,如BiCMOS、CMOS或NMOS。
該記憶體階層包括該等核心中之一或多個層級之快取、一組一或多個共享快取單元2006,及耦接至該組整合記憶體控制器單元2014之外部記憶體(未繪示)。該組共享快取單元2006可包括一或多個中間層級快取,如層級2(L2)、層級3(L3)、層級4(L4)或其他層級之快取、一最後層級快取(LLC)及/或其等之組合。儘管在一實施例中,一以環狀為基礎之互連單元2012互連該整合圖形邏輯元件2008、該組共享快取單元2006及該系統代理器單元2010/整合記憶體控制器單元2014,但替代實施例可使用任何已知技術用於互連此等單元。在一實施例中,一致性在一或多個快取單元2006及核心2002-A-N之間被維持。
在一些實施例中,一或多個核心2002-A-N能進行多執行緒。該系統代理器2010包括協調及操作核心2002-A-N之該等元件。該系統代理器單元2010可包括例如一電力控制單元(PCU)及一顯示單元。該PCU可以是或包括需用於調節該等核心2002A-N及該整合圖形邏輯元件2008之電力狀態之邏輯元件及組件。該顯示單元是用於驅動一或多個外部連接顯示器。
就架構指令集而言,該等核心2002A-N可以是同質或異質;亦即,該等核心2002A-N中的二或多個可以能夠執行相同指令集,而其他則只能夠執行該指令集之一子集 或一不同指令集。
範例電腦架構
圖21-24是範例電腦架構之方塊圖。用於膝上型電腦、桌上型電腦、手持PC、個人數位助理器、工程工作站、伺服器、網路裝置、網路集線器、交換器、嵌入式處理器、數位信號處理器(DSP)、圖形裝置、遊戲機裝置、機上盒、微控制器、手機、可攜式媒體播放器、手持裝置及各種其他電子裝置之該等技藝中已知的其他系統設計及組態也是適用的。一般來說,能包括如此處所揭示的一處理器及/或其他執行邏輯元件之許多各種系統或電子裝置一般來說是適用的。
現在參閱圖21,其顯示根據本發明之一實施例之一系統2100之一方塊圖。該系統2100可包括一或多個處理器2110、2115,其等耦接至一控制器集線器2120。在一實施例中,該控制器集線器2120包括一圖形記憶體控制器集線器(GMCH)2190及一輸入/輸出集線器(IOH)2150(其等可以在個別晶片上);該GMCH 2190包括記憶體及圖形控制器,其等耦接至記憶體2140及一共處理器2145;該IOH2150將輸入/輸出(I/O)裝置2160耦接至該GMCH 2190。替代地,該等記憶體及圖形控制器中之一個或全部被整合至該處理器中(如此處所述),該記憶體2140及該共處理器2145直接耦接至具有該IOH 2150之一單一晶片中的該處理器2110及該控制器集線器2120。
額外處理器2115之可選擇特性在圖21中以虛線 來表示。每一處理器2110、2115可包括此處所述之一或多個處理核心,且可以是該處理器2000之某一版本。
該記憶體2140可以是,例如,動態隨機存取記憶體(DRAM)、相變化記憶體(PCM)或該二者之一組合。針對至少一實施例,該控制器集線器2120透過一多點匯流排與該(等)處理器2110、2115進行通訊,例如一前端匯流排(FSB)、點對點快速路徑互連(QPI)或類似連接2195。
在一實施例中,該共處理器2145是一特殊目的處理器,例如一高通量MIC處理器、一網路或通訊處理器、壓縮引擎、GPGPU、嵌入式處理器等。在一實施例中,控制器集線器2120可包括一整合圖形加速器。
就包括架構、微架構、熱、電力消耗特性等之一範圍的指標之優點而論,在該等實體資源2110、2115間可以有許多不同。
在一實施例中,該處理器2110執行控制一般類型之資料處理操作之指令。內嵌於該等指令內者可以是共處理器指令。該處理器2110將這些共處理器指令辨識為應被該附屬的共處理器2145執行之一種類型。因此,該處理器2110在一共處理器匯流排或其他互連上發出這些共處理器指令(或表示共處理器指令之控制信號)至共處理器2145。處理器2145接受並執行該等被接收之共處理器指令。
現在參閱圖22,其顯示根據本發明之一實施例的一第一較特定範例系統2200之一方塊圖。如圖22中所示,多處理器系統2200是一點對點互連系統,且包括藉由一點 對點互連2250耦接之一第一處理器2270及一第二處理器2280。處理器2270及2280中之每一個可以是該處理器2000之某一版本。在本發明之一實施例中,處理器2270及2280分別是處理器2110及2115,而共處理器2238是共處理器2145。在另一實施例中,處理器2270及2280分別是處理器2110及共處理器2145。
處理器2270及2280被顯示為分別包括整合記憶體控制器(IMC)單元2272及2282。處理器2270也包括其匯流排控制器單元點對點(P-P)介面2276及2278;類似地,第二處理器2280包括P-P介面2286及2288。處理器2270、2280可透過一點對點(P-P)介面2250,使用介面電路2278、2288來交換資訊。如圖22所示,IMC 2272及2282將該等處理器耦接至各自的記憶體,也就是一記憶體2232及一記憶體2234,其等可以是本地地附屬至該等處理器之主記憶體之部分。
處理器2270、2280可透過個別的P-P介面2252、2254,使用點對點介面電路2276、2294、2286、2298與一晶片組2290交換資訊。晶片組2290可選擇性地透過一高效能介面2239與該共處理器2238交換資訊。在一實施例中,該共處理器2238是一特別目的處理器,例如一高通量MIC處理器、一網路或通訊處理器、壓縮引擎、圖形處理器、GPGPU、嵌入式處理器等。
一共用快取(未顯示)可被包括於任一處理器中,或是在兩個處理器之外部,但透過P-P互連與該等處理 器連接,使得任一或兩個處理器的本地快取資訊可被儲存於該共用快許中,若一處理器處於一低電力模式的話。
晶片組2290可透過一介面2296耦接至一第一匯流排2216。在一實施例中,第一匯流排2216可以是一周邊元件互連(PCI)匯流排,或如一PCI快速匯流排或另一第三代I/O互連匯流排之一匯流排,即使本發明之範圍並不限於此。
如圖22所示,各種I/O裝置2214可耦接至第一匯流排2216,伴隨一匯流排橋接器2218,其將第一匯流排2216耦接至一第二匯流排2220。在一實施例中,一或多個額外處理器2215,例如共處理器、高通量MIC處理器、GPGPU之加速器(如圖形加速器或數位信號處理(DSP)單元、場可規劃閘極陣列或任何其他處理器,耦接至第一匯流排2216。在一實施例中,第二匯流排2220可以是一低接腳數目(LPC)匯流排。各種裝置可耦接至一第二匯流排2220,包括例如一鍵盤及/或滑鼠2222、通訊裝置2227及一儲存單元2228,其諸如一磁碟機或在一實施例中可包括指令/程式碼及資料2230之其他大型儲存裝置。此外,一音訊I/O 2224可耦接至該第二匯流排2220。需注意到其他架構是可能的。例如,替代圖22之該點對點架構,一系統可實施一多點匯流排或其他這樣的架構。
現在參閱圖23,其顯示根據本發明之一實施例的一第二較特定範例系統2300之一方塊圖。圖22及23中一樣的元件具有一樣的元件符號,且圖22的某些方面已從圖23被省略了,以免模糊化圖23的其他方面。
圖23說明該等處理器2270、2280可分別包括整合記憶體及I/O控制邏輯元件(“CL”)2272及2282。因此,該CL2272、2282包括整合記憶體控制器單元且括I/O控制邏輯元件。圖23說明不只是該等記憶體2232、2234耦接至該CL 2272、2282,且I/O裝置2314也偶接至該等控制邏輯元件2272、2282。傳統I/O裝置2315耦接至該晶片組2290。
現在參閱圖24,其顯示根據本發明之一實施例的一SoC 2400之一方塊圖。圖22中類似的元件具有一樣的元件符號。而且,虛線方框是在更進階的SoC上之選擇性特徵。在圖24中,一(多個)互連單元2402耦接至:包括一組一或多個核心2002A-N及共用快取單元2006之一應用處理器2410;一系統代理器單元2010;一(多個)匯流排控制器單元2016;一(多個)整合記憶體控制器單元2014;可包括整合圖形邏輯元件、一影像處理器、一音訊處理器及一視訊處理器之一組一或多個共處理器2420;一靜態隨機存取記憶體(SRAM)單元2430;一直接記憶體存取(DMA)單元2432;及用於耦接至一或多個外部顯示器之一顯示單元2440。在一實施例中,該(等)共處理器2420包括一特殊目的處理器,例如一網路或通訊處理器、壓縮引擎、GPGPU、一高通量MIC處理器、嵌入式處理器等。
此處所揭露之該等機制之實施例可以硬體、軟體、韌體或此等實施方式之一組合來實施。本發明之實施例可實施為執行於可規劃系統上之電腦程式或程式碼,該等可規劃系統包含至少一處理器、一儲存系統(包括依電性 及非依電性記憶體及/或元件)、至少一輸入裝置及至少一輸出裝置。
如圖22中所說明之碼2230之程式碼可被應用至輸入指令以執行此處所述之功能且產生輸出資訊。該輸出資訊可以已知方式被應用至一或多個輸出裝置。用於此應用之目的,一處理系統包括具有諸如一數位信號處理器(DSP)、一微處理器、一特定應用積體電路(ASIC)或一微處理器之一處理器之系統。
該程式碼可以一高階程序或目的導向程式語言來與一處理系統通訊。該程式碼也可以組合或機器語言來實施,若需要的話。事實上,所處所述之機制之範圍並不限於任何特定程式語言。在任何情況下,該語言可以是一編譯或解譯語言。
至少一個實施例的一個或多個層面可藉由儲存在一機器可讀取媒體上的描述該處理器中的各種邏輯元件的描述指令來實施,當其等被一機器讀取時,使得該機器製造邏輯元件以實現此處所述的技術。此等描述,已知為“IP核心”,可被儲存在一有形的、機器可讀取媒體中且被提供給各種顧客或製造設施以載入至實際做出邏輯元件或處理器的生產機器。
這些機器可讀取儲存媒體可包括,而不限於,由一機器或裝置製造或形成的物品的非暫時性、有形的安排,包括儲存媒體,諸如硬碟、包括軟碟片、光學碟片、光碟唯讀記憶體(CD-ROM)、可複寫光碟片(CD-RW)、及磁 光碟之任何其他類型之碟片、諸如唯讀記憶體(ROM)、如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)之隨機存取記憶體(RAM)、可抹除式可規劃唯讀記憶體(EPROM)、快閃記憶體、電抹除式可規劃唯讀記憶體(EEPROM)、相變化記憶體(PCM)之半導體裝置、磁性或光學卡,或適合用於儲存電子指令的任何其他類型媒體。
因此,本發明實施例也可包括非暫時性、有形的機器可讀取媒體,其包含指令或包含設計資料,如硬體描述語言(HDL),其定義此處所述之結構、電路、設備、處理器,及/或系統特徵。此等實施例也可被視為程式產品。
仿真(包括二元翻譯、程式碼變體等)
在一些情況下,一指令轉換器可被用來將來自一來源指令集之一指令轉換為一目標指令集。例如,該指令轉換器可翻譯(例如,使用靜態二元翻譯、包括動態編譯之動態二元翻譯)、變體、仿真,或轉換一指令為需被該核心處理的一個或多個其他指令。該指令轉換器可用軟體、硬體、韌體,或其等之一組合來實施。該指令轉換器可以在處理器上、在處理器外、或部分在處理器上且部分在處理器外。
圖25是根據本發明實施例之對比一軟體指令轉換器之使用以將一來源指令集中之二元指令轉換成一目標指令集中之二元指令之一方塊圖。在該所示的實施例中,該指令轉換器是一軟體指令轉換器,然而可替代地,該指令轉換器可以軟體、韌體、硬體,或其等各種組合來實施。 圖25顯示一高階語言2502的程式可使用一x86編譯器2504編譯以產生可被具有至少一個x86指令集核心之一處理器2516本機執行之x86二元碼2506。具有至少一個x86指令集核心的處理器2516代表可藉由相容執行或處理(1)該英特爾x86指令集核心的指令集的一實質的部分或(2)應用程式或以在具有至少一個x86指令集核心的一英特爾處理器上執行為目標的目的碼版本,以實質實現與具有至少一個x86指令集核心的英特爾處理器相同功能的處理器,以達到與具有至少一個x86指令集核心的一英特爾處理器相同的結果。該x86編譯器2504代表可被操作以產生x86二元碼2506(例如,目的碼)的一編譯器,其x86二元碼2506能在有或沒有額外鏈結處理的情況下,在具有至少一個x86指令集核心的處理器2516上被執行。類似地,圖25顯示高階語言2502的程式可使用一替代的指令集編譯器2508被編譯以產生可被不具有至少一個x86指令集核心的處理器2514(例如,具有執行美國加州的Sunnyvale之MIPS Technologies的MIPS指令集及/或執行美國加州的Sunnyvale之ARM Holdings的ARM指令集的核心的一處理器)本機執行的替代的指令集二元碼2510。該指令轉換器2512被用來轉換該x86二元碼2506成為可被不具有一x86指令集核心的處理器25141本機執行的程式碼。此經轉換的程式碼不可能與替代的指令集二元碼2510相同,因為具有此種能力的指令轉換器很難製造;然而,該經轉換的程式碼會完成一般操作且是由來自替代的指令集的指令構成。因此,該指令轉換器 2512表示透過仿真、模擬或任何其他程序使不具有一x86指令集處理器或核心的一處理器或其他電子裝置能執行x86二元碼2506的軟體、韌體、硬體,或其等之一組合。
替代實施例
儘管實施例已以這些實施例之功能被執行於該儲存系統內被說明(例如,可信賴API、可鎖定儲存器、下載及管理付費內容、啟動加值儲存服務等),本發明之替代實施例的這些功能可在該裝置之一不同部分內被執行。例如且在一實施例中,這些被說明的功能可以不同硬體(晶片組、該裝置之一安全核心、安全處理器、一耦接的裝置(USB棒等)等及/或某一其他硬體方塊)及/或軟體被執行。而且,儘管圖式中的流程圖顯示此發明的某些實施例執行的一特定操作順序,應了解的是,這樣的順序是示範性的(例如,替代實施例可以一不同順序執行該等操作、結合某些操作、重疊某些操作等)。
如上所述,為了說明的目的,許多特定細節已被提出以提供對此發明實施例的徹底了解。然而顯然對於一個熟於此技藝者來說,一個或更多的實施例可以在沒有此等特定細節中的一些之情況下而實施。所描述的特定實施例並不是提供來限制此發明而是用來說明此發明的實施例。本發明的範圍並非由以上所提供的特定範例來決定,而僅由以下申請專利範圍來決定。
102‧‧‧系統
104‧‧‧作業系統
106‧‧‧儲存系統
108‧‧‧SOC
110‧‧‧記憶體
112‧‧‧儲存區域
114‧‧‧安全儲存器
116‧‧‧正常儲存器
118‧‧‧可信賴的韌體
120‧‧‧儲存韌體
122‧‧‧驅動程式堆疊
124‧‧‧檔案系統
126‧‧‧私用軟體開發者套件
128‧‧‧顯示器
130‧‧‧獨立軟體應用程式
132‧‧‧防惡意軟體套件
134‧‧‧可信賴的操作
142‧‧‧硬體開關
144‧‧‧應用程式
146‧‧‧可信賴的應用程式介面
148‧‧‧後端伺服器
150A‧‧‧通道
150B‧‧‧通道

Claims (21)

  1. 一種用以致能耦接至一客戶端之一儲存系統之一加值儲存服務的方法,其包含以下步驟:建立用於該客戶端的一安全信賴根,其中該安全信賴根建立一安全路徑,用以從該加值儲存服務的一提供者下載一用於該加值儲存服務的許可;建立該客戶端之一應用程式及該客戶端之該儲存系統之間的一安全通道;安全地從該提供者下載用於該加值儲存服務之該許可至該儲存系統;及經由該安全通道從該儲存系統安全地提供該許可至該應用程式。
  2. 如申請專利範圍第1項之方法,其中該儲存系統包括用以儲存該許可之安全儲存器。
  3. 如申請專利範圍第2項之方法,其中該安全儲存器對該客戶端之一作業系統而言是不可存取的。
  4. 如申請專利範圍第2項之方法,其中儲存在該安全儲存器中的該許可經由一私用介面是可存取的。
  5. 如申請專利範圍第1項之方法,其中該安全信賴根的建立包含以下步驟:提供一公鑰至該儲存系統中。
  6. 如申請專利範圍第1項之方法,其中安全下載該許可包含以下步驟:以管理該許可之一服務來鑑別。
  7. 如申請專利範圍第1項之方法,其中安全下載該許可包含以下步驟:接收該許可;及將該許可儲存在該儲存系統中。
  8. 如申請專利範圍第1項之方法,其中該通道使用一動作及結果信箱。
  9. 一種用以致能耦接至一裝置的一儲存系統之一加值儲存服務的裝置,其包含該儲存系統,其包括,一代理器,用以建立用於該裝置之一安全信賴根,其中該安全信賴根建立一安全路徑,用以從該加值儲存服務的一服務提供者下載一用於該加值儲存服務的許可;一安全儲存器,用以建立與該服務提供者之安全通道,以從該服務提供者安全地下載用於該加值儲存服務之一許可,及透過該安全通道從該儲存系統安全地提供該許可至一應用程式。
  10. 如申請專利範圍第9項之裝置,其中該安全儲存器對該裝置的一作業系統而言是不可存取的。
  11. 如申請專利範圍第9項之裝置,其中儲存在該安全儲存器中的該許可經由一私用介面是可存取。
  12. 如申請專利範圍第9項之裝置,其中該代理器被進一步組配,以利用服務提供者來鑑別。
  13. 如申請專利範圍第12項之裝置,其中用於安全 下載該許可之該代理器被組配以接收該許可,並將該許可儲存於該儲存系統中。
  14. 如申請專利範圍第9項之裝置,其中該安全通道使用一動作及結果信箱。
  15. 一種用以致能耦接至一裝置的一儲存系統之一加值儲存服務的系統,其包含:一服務提供者,其管理及儲存用於該加值儲存服務之一許可;及該儲存系統,包括,一代理器,其建立與該服務提供者之用於該裝置的一安全信賴根,其中該安全信賴根建立一安全路徑,用以從該加值儲存服務的一提供者下載一用於該加值儲存服務的許可,及一安全儲存器,其建立與該服務提供者之一安全通道、從該服務提供者安全下載用於該加值儲存服務之該許可,及透過該安全通道從該儲存系統安全地提供該許可至一應用程式。
  16. 如申請專利範圍第15項之系統,其中該安全儲存器對該裝置之一作業系統而言是不可存取的。
  17. 如申請專利範圍第15項之系統,其中儲存於該安全儲存器中之該許可經由一私用介面是可存取的。
  18. 如申請專利範圍第15項之系統,其中該服務提供者提供用於該代理器之一公鑰。
  19. 如申請專利範圍第15項之系統,其中該代理器 進一步以服務提供者鑑別。
  20. 如申請專利範圍第15項之系統,其中該安全通道使用一動作及結果信箱。
  21. 一種非暫時性機器可讀媒體,其具有致使一或多個處理單元執行一方法之可執行指令,該方法致能耦接至一客戶端之一儲存系統之一加值儲存服務,該方法包含以下步驟:建立用於該客戶端之一安全信賴根,其中該安全信賴根建立一安全路徑,用以從該加值儲存服務的一提供者下載一用於該加值儲存服務的許可;建立該客戶端之一應用程式及該客戶端之該儲存系統之間的一安全通道;安全地下載用於該加值儲存服務之一許可至該儲存系統;及透過該安全通道從該儲存系統安全地提供該許可至該應用程式。
TW101144701A 2011-12-22 2012-11-29 用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體 TWI526869B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067032 WO2013095573A1 (en) 2011-12-22 2011-12-22 Activation and monetization of features built into storage subsystems using a trusted connect service back end infrastructure

Publications (2)

Publication Number Publication Date
TW201346621A TW201346621A (zh) 2013-11-16
TWI526869B true TWI526869B (zh) 2016-03-21

Family

ID=48669214

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101144701A TWI526869B (zh) 2011-12-22 2012-11-29 用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體

Country Status (4)

Country Link
US (1) US9270657B2 (zh)
EP (1) EP2795505A4 (zh)
TW (1) TWI526869B (zh)
WO (1) WO2013095573A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014150478A1 (en) * 2013-03-15 2014-09-25 Insyde Software Corp. System and method for managing and diagnosing a computing device equipped with unified extensible firmware interface (uefi)-compliant firmware
US9769007B1 (en) * 2013-09-24 2017-09-19 EMC IP Holding Company LLC Passive data protection system migration
US9722794B2 (en) * 2014-02-10 2017-08-01 Ims Health Incorporated System and method for remote access, remote digital signature
TW201619866A (zh) 2014-11-20 2016-06-01 萬國商業機器公司 客製化資訊設備的方法
US10230529B2 (en) * 2015-07-31 2019-03-12 Microsft Technology Licensing, LLC Techniques to secure computation data in a computing environment
US11880436B2 (en) * 2018-03-23 2024-01-23 Nanolock Security Inc. Remote access control for digital hardware
SG10202009754QA (en) * 2020-10-01 2020-11-27 Flexxon Pte Ltd Module and method for detecting malicious activities in a storage device

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473692A (en) * 1994-09-07 1995-12-05 Intel Corporation Roving software license for a hardware agent
US5826012A (en) 1995-04-21 1998-10-20 Lettvin; Jonathan D. Boot-time anti-virus and maintenance facility
US6357008B1 (en) 1997-09-23 2002-03-12 Symantec Corporation Dynamic heuristic method for detecting computer viruses using decryption exploration and evaluation phases
US6021510A (en) 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US6735700B1 (en) 2000-01-11 2004-05-11 Network Associates Technology, Inc. Fast virus scanning using session stamping
US7353209B1 (en) 2000-01-14 2008-04-01 Microsoft Corporation Releasing decrypted digital content to an authenticated path
US7069594B1 (en) 2001-06-15 2006-06-27 Mcafee, Inc. File system level integrity verification and validation
US6873988B2 (en) * 2001-07-06 2005-03-29 Check Point Software Technologies, Inc. System and methods providing anti-virus cooperative enforcement
US20060174352A1 (en) 2001-07-25 2006-08-03 Seagate Technology Llc Method and apparatus for providing versatile services on storage devices
US6886064B2 (en) 2002-03-28 2005-04-26 International Business Machines Corporation Computer system serialization control method involving unlocking global lock of one partition, after completion of machine check analysis regardless of state of other partition locks
AU2003252901A1 (en) 2002-04-18 2003-12-11 Walker Digital, Llc Method and Apparatus for Authenticating Data Relating to Usage of a Gaming Device
US6920587B2 (en) 2002-04-25 2005-07-19 International Business Machines Corporation Handling multiple operating system capabilities in a logical partition data processing system
US8027843B2 (en) 2002-11-07 2011-09-27 International Business Machines Corporation On-demand supplemental diagnostic and service resource planning for mobile systems
US7395420B2 (en) 2003-02-12 2008-07-01 Intel Corporation Using protected/hidden region of a magnetic media under firmware control
AU2003901454A0 (en) 2003-03-28 2003-04-10 Secure Systems Limited Security system and method for computer operating systems
US7430652B2 (en) 2003-03-28 2008-09-30 Tarari, Inc. Devices for performing multiple independent hardware acceleration operations and methods for performing same
US20040255145A1 (en) * 2003-05-06 2004-12-16 Jerry Chow Memory protection systems and methods for writable memory
US7549055B2 (en) 2003-05-19 2009-06-16 Intel Corporation Pre-boot firmware based virus scanner
US7346922B2 (en) 2003-07-25 2008-03-18 Netclarity, Inc. Proactive network security system to protect against hackers
EP2881872A3 (en) * 2003-12-22 2015-07-15 IDPA Holdings, Inc. Storage service
JP2005182683A (ja) 2003-12-24 2005-07-07 Hitachi Ltd データ転送方法及びシステム並びにプログラム
US7206899B2 (en) 2003-12-29 2007-04-17 Intel Corporation Method, system, and program for managing data transfer and construction
US7711605B1 (en) * 2004-01-06 2010-05-04 Santeufemia Michael N Adult digital content management, playback and delivery
US7636441B2 (en) * 2004-01-12 2009-12-22 Intel Corporation Method for secure key exchange
US7640594B2 (en) * 2004-01-21 2009-12-29 Sap Ag Secure storage in a file system
US7840763B2 (en) 2004-03-12 2010-11-23 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
US8051483B2 (en) 2004-03-12 2011-11-01 Fortinet, Inc. Systems and methods for updating content detection devices and systems
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US7680834B1 (en) 2004-06-08 2010-03-16 Bakbone Software, Inc. Method and system for no downtime resychronization for real-time, continuous data protection
US7681241B2 (en) 2004-06-18 2010-03-16 Red Hat, Inc. Apparatus and method for managing digital rights with arbitration
US7461259B2 (en) 2004-06-30 2008-12-02 Nokia Corporation Method and apparatus to provide secure mobile file system
KR20070030931A (ko) 2004-07-20 2007-03-16 인터내셔널 비지네스 머신즈 코포레이션 안티-바이러스 속도 향상을 위한 안전 저장 추적 방법
US7613875B2 (en) 2004-12-29 2009-11-03 Intel Corporation Apparatus and method for incremental package deployment
CN101091163B (zh) 2004-12-31 2011-06-08 英特尔公司 系统固件的可管理扩展方法、装置和系统
US7721115B2 (en) 2005-02-16 2010-05-18 Cypress Semiconductor Corporation USB secure storage apparatus and method
US20060184717A1 (en) 2005-02-17 2006-08-17 Intel Corporation Integrated circuit capable of flash memory storage management
US7581250B2 (en) 2005-02-17 2009-08-25 Lenovo (Singapore) Pte Ltd System, computer program product and method of selecting sectors of a hard disk on which to perform a virus scan
US20110016214A1 (en) * 2009-07-15 2011-01-20 Cluster Resources, Inc. System and method of brokering cloud computing resources
US8127147B2 (en) * 2005-05-10 2012-02-28 Seagate Technology Llc Method and apparatus for securing data storage while insuring control by logical roles
US20060265756A1 (en) 2005-05-11 2006-11-23 Microsoft Corporation Disk protection using enhanced write filter
US7540027B2 (en) 2005-06-23 2009-05-26 International Business Machines Corporation Method/system to speed up antivirus scans using a journal file system
US7739724B2 (en) 2005-06-30 2010-06-15 Intel Corporation Techniques for authenticated posture reporting and associated enforcement of network access
US7788521B1 (en) 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
US8121146B2 (en) 2005-09-21 2012-02-21 Intel Corporation Method, apparatus and system for maintaining mobility resistant IP tunnels using a mobile router
US20070092082A1 (en) 2005-10-21 2007-04-26 Rush Frederick A Digital rights management security mechanism for use in a wireless communication apparatus
US20070180210A1 (en) 2006-01-31 2007-08-02 Seagate Technology Llc Storage device for providing flexible protected access for security applications
US7975030B2 (en) 2006-05-09 2011-07-05 Cisco Technology, Inc. Remote configuration of devices using a secure connection
US7953668B2 (en) * 2006-06-05 2011-05-31 General Instrument Corporation Method and apparatus for reserving digital rights
US8122507B1 (en) 2006-06-28 2012-02-21 Emc Corporation Efficient scanning of objects
US20080046997A1 (en) 2006-08-21 2008-02-21 Guardtec Industries, Llc Data safe box enforced by a storage device controller on a per-region basis for improved computer security
US20110047618A1 (en) 2006-10-18 2011-02-24 University Of Virginia Patent Foundation Method, System, and Computer Program Product for Malware Detection, Analysis, and Response
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US20080162353A1 (en) 2006-12-27 2008-07-03 Spansion Llc Personal digital rights management agent-server
US20080267411A1 (en) 2007-04-27 2008-10-30 General Instrument Corporation Method and Apparatus for Enhancing Security of a Device
US8307443B2 (en) 2007-09-28 2012-11-06 Microsoft Corporation Securing anti-virus software with virtualization
US8761402B2 (en) 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
US8782772B2 (en) * 2007-09-28 2014-07-15 Microsoft Corporation Multi-session secure tunnel
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
WO2009061320A2 (en) 2007-11-08 2009-05-14 Comodo Ca, Inc. Method and system for protecting a computer against malicious software
US20090150631A1 (en) 2007-12-06 2009-06-11 Clifton Labs, Inc. Self-protecting storage device
US8438618B2 (en) * 2007-12-21 2013-05-07 Intel Corporation Provisioning active management technology (AMT) in computer systems
US7882341B2 (en) * 2007-12-31 2011-02-01 Intel Corporation System and method to enable parallelization of early platform initialization
EP2249254A3 (en) 2008-01-02 2011-02-23 SanDisk IL Ltd. Storage device having direct user access
US8793796B2 (en) 2008-01-09 2014-07-29 Microsoft Corporation Booting a device from a trusted environment responsive to device hibernation
WO2009094372A1 (en) 2008-01-22 2009-07-30 Authentium, Inc. System and method for protecting data accessed through a network connection
US8650399B2 (en) * 2008-02-29 2014-02-11 Spansion Llc Memory device and chip set processor pairing
US8621598B2 (en) 2008-03-12 2013-12-31 Intuit Inc. Method and apparatus for securely invoking a rest API
US8621601B2 (en) * 2008-05-21 2013-12-31 Sandisk Technologies Inc. Systems for authentication for access to software development kit for a peripheral device
US20100011350A1 (en) 2008-07-14 2010-01-14 Zayas Fernando A Method And System For Managing An Initial Boot Image In An Information Storage Device
US20100083381A1 (en) 2008-09-30 2010-04-01 Khosravi Hormuzd M Hardware-based anti-virus scan service
JP4762292B2 (ja) 2008-10-29 2011-08-31 東芝ストレージデバイス株式会社 ストレージ装置、ストレージシステム及びアンロック処理方法
US8528075B2 (en) 2008-11-30 2013-09-03 Red Hat Israel, Ltd. Accelerating the execution of anti-virus programs in a virtual machine environment
US20100154061A1 (en) 2008-12-16 2010-06-17 International Business Machines Corporation System and method for identifying malicious activities through non-logged-in host usage
US20100154062A1 (en) 2008-12-16 2010-06-17 Elad Baram Virus Scanning Executed Within a Storage Device to Reduce Demand on Host Resources
TW201025004A (en) 2008-12-26 2010-07-01 Inventec Corp Data protection method
US7657941B1 (en) * 2008-12-26 2010-02-02 Kaspersky Lab, Zao Hardware-based anti-virus system
US8726007B2 (en) 2009-03-31 2014-05-13 Novell, Inc. Techniques for packet processing with removal of IP layer routing dependencies
EP2897341B1 (en) 2009-04-20 2016-11-09 Interdigital Patent Holdings, Inc. System of multiple domains and domain ownership
US8484720B2 (en) 2009-05-22 2013-07-09 Sandisk Il Ltd. Service binding method and system
US8635705B2 (en) * 2009-09-25 2014-01-21 Intel Corporation Computer system and method with anti-malware
US9087188B2 (en) 2009-10-30 2015-07-21 Intel Corporation Providing authenticated anti-virus agents a direct access to scan memory
US20110154023A1 (en) 2009-12-21 2011-06-23 Smith Ned M Protected device management
KR101161493B1 (ko) 2010-01-18 2012-06-29 (주)쉬프트웍스 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR20110093468A (ko) 2010-02-12 2011-08-18 삼성전자주식회사 사용자 단말 장치, 서버 및 그 제어 방법
WO2011142996A2 (en) * 2010-05-09 2011-11-17 Madhav Chinta Methods and systems for forcing an application to store data in a secure storage location
US8856534B2 (en) 2010-05-21 2014-10-07 Intel Corporation Method and apparatus for secure scan of data storage device from remote server
KR101740679B1 (ko) * 2010-08-03 2017-05-26 삼성전자주식회사 양방향 통신 기법을 갖는 저장 장치 그리고 그것을 포함한 시스템
JP5533440B2 (ja) * 2010-08-25 2014-06-25 富士通株式会社 配置決定プログラム、方法及び装置
US9536089B2 (en) 2010-09-02 2017-01-03 Mcafee, Inc. Atomic detection and repair of kernel memory
US8219724B1 (en) 2010-09-29 2012-07-10 Emc Corporation Flexibly managing I/O operations based on application awareness
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US8504531B2 (en) 2010-11-27 2013-08-06 Netapp, Inc. System and method for application aware de-duplication of data blocks on a virtualized storage array
US8769228B2 (en) * 2010-12-17 2014-07-01 Intel Corporation Storage drive based antimalware methods and apparatuses
WO2013048492A1 (en) 2011-09-30 2013-04-04 Intel Corporation Mechanism for providing a secure environment for acceleration of software applications at computing devices
EP2795521A4 (en) 2011-12-22 2015-08-26 Intel Corp SYSTEMS AND METHODS OF PROVIDING MALWARE SOFTWARE PROTECTION AND MALWARE SEARCHING IN STORAGE DEVICES
WO2013095566A1 (en) 2011-12-22 2013-06-27 Intel Corporation Systems and methods for providing dynamic file system awareness on storage devices
US9183390B2 (en) 2011-12-22 2015-11-10 Intel Corporation Systems and methods for providing anti-malware protection on storage devices
WO2013095574A1 (en) 2011-12-22 2013-06-27 Intel Corporation Method and apparatus to using storage devices to implement digital rights management protection
WO2013095571A1 (en) 2011-12-22 2013-06-27 Intel Corporation Method and apparatus to tunnel messages to storage devices by overloading read/write commands
US9135446B2 (en) * 2012-09-28 2015-09-15 Intel Corporation Systems and methods to provide secure storage
US8832813B1 (en) * 2012-12-19 2014-09-09 Emc Corporation Voice authentication via trusted device

Also Published As

Publication number Publication date
US20130291070A1 (en) 2013-10-31
US9270657B2 (en) 2016-02-23
TW201346621A (zh) 2013-11-16
EP2795505A4 (en) 2015-09-02
EP2795505A1 (en) 2014-10-29
WO2013095573A1 (en) 2013-06-27

Similar Documents

Publication Publication Date Title
TWI514186B (zh) 用以設定保護平台免受惡意軟體之政策的使用者可控制平台層級觸發技術
US9916454B2 (en) User controllable platform-level trigger to set policy for protecting platform from malware
US11664994B2 (en) Secure unlock systems for locked devices
US9185079B2 (en) Method and apparatus to tunnel messages to storage devices by overloading read/write commands
TWI526869B (zh) 用以致能耦接至客戶端之儲存系統之加值儲存服務的方法、裝置、系統及非暫時性機器可讀媒體
TWI715619B (zh) 用於硬體強制單向密碼學的處理器、方法及系統
TWI514187B (zh) 提供儲存裝置上防有毒軟體保護之系統與方法
TWI564743B (zh) 使用儲存裝置以實施數位版權管理保護之方法及設備
US20120117348A1 (en) Techniques for security management provisioning at a data storage device
TW201729137A (zh) 用以容許保護容器記憶體與輸入/輸出裝置間之安全通訊的處理器、方法、系統、及指令
EP2706478B1 (en) Protecting secure software in a multi-security-CPU system
US8412903B2 (en) Method and system for managing secure code loading in PC-slave devices
JP2008541279A (ja) ソフトウェア・ベースのセキュリティ・コプロセッサを提供する方法および装置
US10091213B2 (en) Systems and methods to provide secure storage
KR101348245B1 (ko) 보안 영역을 제공하는 장치 및 그 방법
KR101236991B1 (ko) 하드디스크 암호화를 위한 장치 및 방법
US8661234B2 (en) Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
Kun et al. A solution to make trusted execution environment more trustworthy
Ruan et al. Intel’s Embedded Solutions: from Management to Security