TW201023047A - Method and apparatus for the secure processing of confidential content within a virtual machine of a processor - Google Patents

Method and apparatus for the secure processing of confidential content within a virtual machine of a processor Download PDF

Info

Publication number
TW201023047A
TW201023047A TW098134473A TW98134473A TW201023047A TW 201023047 A TW201023047 A TW 201023047A TW 098134473 A TW098134473 A TW 098134473A TW 98134473 A TW98134473 A TW 98134473A TW 201023047 A TW201023047 A TW 201023047A
Authority
TW
Taiwan
Prior art keywords
processor
party
program
content
virtual machine
Prior art date
Application number
TW098134473A
Other languages
English (en)
Other versions
TWI423136B (zh
Inventor
David Wyatt
hai-xia Shi
Jeffrey Scott Tuckey
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of TW201023047A publication Critical patent/TW201023047A/zh
Application granted granted Critical
Publication of TWI423136B publication Critical patent/TWI423136B/zh

Links

Classifications

    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

201023047 六、發明說明: 【發明所屬之技術領域】 本發明有關加值型(premium)音訊/視訊内容的處理,尤其有關 在執行内容播放器應用程式的處理器背景(context)外的内容處理 (content processing) ° 【先前技術】 在傳統的計算環境中,通常由離散的處理器實行内容處理。 φ 例如,可提供此類硬體處理器以解碼高解析度内容。迄今,一直 很難在單一的晶片上整合所有必要的内容處理。並且,完整的建 置一般需要建置者成為第三方内容的授權採用者(licensed adopter),以獲得使用處理授權内容之演算法的權利及獲得擷取加 密内容的授權金鑰。此類授權一般包括遵循(c〇mpliance)_及穩健性 規則(robustness rules) ’以在建置上的瑕砒導致洩露機密資訊或内 谷時’確保授權者秘密的機密性、責任義務及法律救濟。因此, -般有賴於第二方被授權者的軟體應用程式在以比較通用的格式 f重新加密的視訊内容轉遞至圖形處理器或視覺效果處理器之 ❹前’至少部分利用中央處理單元等來處理内容。 ^惜的是’對於中央處理單元的依賴出現了一些限制。例 及在處敎演算法勢必涉 來處理魄涉及在可能狀安全性弱點的 〇 ,T t .^«.JCta.per
細tance)技術’在針對虛擬化設 V P 法保證例如超管理器的強健防竄改執行^ 4 201023047 ,虛擬機器的執行背景^再者,中央處理單元由於其—般性的電 腦架構,對於某些類型的處理(如,加密等)比較沒有效率。額外的 竄改,制及重新加密程序導致過度耗用CPU,因而浪費電力又導 j容重放_的電池壽命減少。因此需要解決這些及/或其他盘 先别技術有關的問題。 、八 【發明内容】 器系ΐ示=在處·上建置之處軸絲錄㈣安全虛擬機 ❹器系統、方法、及電腦程式產品。提供至少一個處理器。另外, 2至少—個在處理器上建置的安全虛擬機器,以解譯處理及輸 ^方内谷的第二方之程式。虛擬機器系統提取允許產品上可 =硬體同行相同程式的建置變化的根本(underiying)處理 擬機11環射約束可程式化操作的範圍、 魏的麵、及在處理器巾雜式執行,以減 ==容並確保第二方秘密的機密性及由第咖 ® 【實施方式】 容之項具體實施例’顯示執行·處理器產生解密内 合之金餘之程式的方法励。如圖所示 = m—旦產生程式,即保全在 實施例巾,可勤加絲保全財。 何本?明的上下ϋ ’程式是指能夠利用處理器所執行的任 全二"一中,程式可包括能夠產生解密内容之 金餘的料,其中心是指㈣被加密触何資料,容亦可包 5 201023047 括專屬資訊(proprietary information) 〇 在此例t,可在處理器接收内容及產生解密内容之金鑰的程 式。見操作106。另外,利用處理器執行解密内容的程式。見操作 108。 ’、 在本說_上下文巾’處㈣是減_理資料赌顯示的 任=處理器。例如’在各種具體實施例中,處理器可包括圖形處 ❹理$及視訊處理H中的至少—個。在—項具體實施财,處理器 P括至少-健置讀㈣上處_紅供輸㈣安全虛 圖1B根據-項具體實施例,顯示在處理器152上 内容以供輸出的安全虛擬機器!,如圖所示 器152。另外,提供至少一個建置慮 、主〃個處理 安全虛擬齡15〇。 、處理心處_紅供輸出的 鲁 在操作中,處理器152接收程式 體實施例中,虛擬機器15G能夠執 ^輸人°在一項具 容可在由械請。例如,内 密内容。 ㈣加在。在此例中’處理包括解 處理另外包括重新加密内容。 152輸出内容之前。重新加密也可發生 器 在-項具财_+’細吩虛咖⑼可在處理 6 201023047 在一項具 =2上建置。在此财,可限制在多個虛擬機^ i52之 貝訊。例如,可對虛擬機器152處理的資訊加以限 - 體實施例中,此資訊可包括金鑰。 擇性視Γ者需要而建置或不建置上述構造的各種選 t ^構及特徵,提出更多的解說性資訊。請特觀意以下資 下特徵 =方式被視為具有限 —m可視需要在排除或包含所述其他特徵的情沉下併入任何以 ❹ ㈣項具體實細,顯示產生、保全、及執行利用處 產生解密内容之金錄之程式的系統200。作為一實施例, =〇〇可在圖认及1B的背景及細節下建置。然而,系統獅當 ,也可在任何所要環境中建置。亦請注意,上述定義在本說明均 適用。 在操作中,從媒體2〇2接收内容。在此例甲,内容被加密。 例如彻金錄加後内容。如圖所示,内容由被授權播放器廠商 或其他獨立軟體廠商(ISV) 204所接收。再者,播放器isv 2〇4可 接收程式206,以在處理器(如,圖形處理器等)25〇上執行以處理 内容。作為一實施例,播放器ISV 2〇4可從記憶體2烈因執行應用 程式而取得程式206。 在取件知式後,播放器204可將程式206發送給圖形處理器 250。在一項具體實施例中’在將程式2〇6發送給處理器25〇之前, 可由播放器ISV 204加密程式206。 7 201023047 例如’程式206可先由播放器ISV 204產生後,再以加密保全。 在一項具體實施例中’程式206可為處理器250從中接收内容的 應用程式(如’内容播放器等)所使用。在此例中,程式2〇6可由應 用程式保全。根據内容’可由應用程式從記憶體228擷取程式2〇6。 在一項具體實施例中,程式206在為應用程式擷取之前已經 加,。例如,程式206在為應用程式擷取之前可利用公開金鑰來 加密。在此例中,公開金鑰可由處理器25〇的製造商提供。 魯 作為另一實施例,程式206可在由應用程式擷取之後被加密。 j此例中,程式206可在執行時間中在由應用程式擷取之後被加 雀另外’程式206可利用短暫金餘(ephemerai key)來加密。例如, 短暫金錄可利用只儲存在處理器250上的資訊來產生。在一項具 體實施例巾’程式206可侧至少-做換於應雜式及處 250之間的憑證來加密。 一旦由處理器250接收後,利用解譯器2〇8從内容導出標題 ❹金錄210。在此例中,可將解譯器208視為能夠執行由處理器^ 接收之程式2〇6之安全虛擬機n(VM)的一部分,以導出標題金餘 210。因此,程式206可包括允許虛擬機器執行以下動作的資訊: 處理内容;導出標題金餘21〇 ;操縱内容(如將内容分成音 blL及視sfl串流等);及重新加密内容。 在-項具體實施例巾,由虛擬機H處理_容在處理之前已 經加密。在此例中,處理包括解密内容。處理另外 1 — 内容。例如,重新加密可發生在從處理器250輪出内前1 8 201023047 如上文所論述,程式可從應用程式接收。在此例中,可保全 處理器250及應用程式間的通訊通道。例如,可利用至少一個憑 證’保全處理器250及應用程式間的通訊通道。 在一項具體實施例中,安全虛擬機器可包括能夠用以分割内 容為音訊串流及視訊串流的解多工器212。此外,程式206可包括 資訊以允許與虛擬機器相關聯的重新加密視訊模組220及重新加 密音訊模組214在内容輸出(如,顯示等)之前重新加密内容。請注 意,視訊申流及音訊串流的重新加密是選擇性的。 使用系統200,内容及用以產生加密金輪以解密内容的程式 2〇6可由處理器250接收,及可執行程式2〇6以解密内容。另外, 金鑰亦可利用處理器250來解密。 内六體實施例中,金錄可包括至少—個與内容相關聯的 聯的應聰式錢。處,25G接著處理内容及 ❹=標題金錄210。在此例中,標題金餘2 ::可防止對與播放器™相關聯的中央 解瑀内容發祕視轉碼模% 222以 解碼、在訊框緩衝區224中儲存為像素、然後=、、且您以 音訊内容可經由PCIE匯流排發送至解’如器226。 ISV 204相關聯),及最後發送至音訊堆疊加以=出與播放器 9 201023047 以此方式,可建置包括以下項目的系統:圖形處理單元 (GPU);能夠在GPU上的安全内建虛擬機器上執行的安全微碼(即 韌體);及在播放器ISV的CPU上執行的圖形驅動程式軟體,其 共同地允許軟體播放器廠商對媒體安全地卸載處理(如,A^cs處 理等)。將金餘操縱處理步驟(如,諸如在AACS中使用的這些步驟 等)、内容串流解密及剖析、及内容串流修改程序移至Gpu上的安 全内建處理器,及以多個内容類型適用的方式提取(abstracting)這 些步驟,可對與播放器ISV相關聯的元件金鑰及序列金鑰、媒體、 φ 及標題金鑰提供保護。此外,可用壓縮、未解碼及未加密的形式 提供加值型視訊内容。 另外,可解除播放器ISV解密及重新加密初級視訊串流的工 作,该工作佔去與處理音訊/視訊(AV)内容(如,受AACS保護的 AV串流資料等)相關聯之cpu使用及功率消耗的大部分。此外, 可利用系統200建置及支援多種内容類型、加密、及金錄授 型。 ' ® '因此,可避免未受保護的内容及金鑰在CPU中及匯流排上流 動。。例如,安全程序在GPU上執行的背景可為硬體所保全,虛擬 機器使用的記憶體可被保全,及程式可使用 的晶片私密金錄/公開金錄來簽署。 驗。且 圖3根據一項具體實施例,顯示使用解譯器解譯所接收程式 =内容的方法300。作為一實施例,本方法3〇〇可在圖i至2之功 ,及架構的背景中建置。例如,在-項具體實施例中,方法300 β在圖2之解澤器208的細節背景中實行。然而,方法當然 201023047 也可在任何所要環境中實行。同樣地,上述定義在本說明期間均 適用。 如圖所示,接收位元組碼映像。見操作302 ^在一項具體實施 例中,位元組碼映像可由GPU從播放器ISV接收。在此例中,位 元組碼映像可包括與由播放器ISV發送之程式相關聯的程式碼。 一旦接收位元組碼映像後’隨即檢查位元組碼映像的簽章。 H 士操作304。在此例中,檢查可包括驗證與可信來源相關聯的簽 章。然後解密位元組碼映像。見操作306。一旦解密位元組碼後, 即可解譯位元組碼。見操作308。 圖4根據一項具體實施例,顯示包括解譯所接收程式及内容 之處理器402及安全虛擬機器404的系統4〇〇。作為一實施例,系 統400可在圖i至3之功能及架構的背景中建置。然而,系統4〇〇 當然也可在任何所要環境中建置。此外,上述定義在本說明均適 用。
如圖所示,系統400包括: GPU 402,其包括一或多個安全内 建處理器406 ;及安全虛擬機器404,其由内建處理器4〇6主控。 安全虛擬機器404可包括已簽署的安全微碼解譯器,其支援^夠 施行密碼基元(primitive)以及視訊枝操縱及修補中的基元的位元 組碼指令。利用解譯器,虛擬機器侧可用作解譯器來解譯播放 器ISV所提供的程式。 安全虛擬機器404另外包括硬體密碼引擎,諸如AES、或 11 201023047 SHA-1基元等。另外,安全虛擬機器4〇4可包括機密記憶體的安 全沙箱(secure sandbox) ’引擎不可存取安全沙箱,但安全沙箱能夠 從虛擬機器404外部(如,從CPU或GPU轉譯器等)存取。 此外,提供在虛擬機器404中執行的安全位元組碼。在此例 中,女全位元組碼係與由ISV提供給GPU 402之程式相關聯的位 元組碼。例如,位元組碼可由獲得授權的播放器ISV產生以實行 授權内容機制的核心工作。因此,位元組碼用以實行在虛擬機器 φ 404中之内容及金鑰的處理,内容及金鑰由GPU402接收。 安全虛擬機器404亦可存取由被認可的機構簽署的晶片私密 金鑰與公開金鑰及憑證,其允許簽署的ISV程式碼可在安全虛擬 機器404中執行。再者’這些金鑰可允許播放器聊安全地加密 ISV秘密及確保秘密僅在可信的虛擬機器4〇4中使用後才成為可 見。這些金餘另外允許播放器ISV認、可有能力的GPU作為施行内 容解碼之執行的可信端點。 & 八安全虛擬機器404亦允許安全虛擬機器404對於加密金餘部 ^的能力,因此在執行由支援不_容串流的另—個安全虛擬機 益4〇4背景取代後,該安全虛擬機器可退出記憶體頁面⑦哪㈣。 此可消除安全虛擬機器404的内容,致使其後不會留下任何 秘密。例如,可在處理後刪除由虛擬機器4〇4處理的資訊。 安全虛擬機H 404另外包括在CPU上執行的圖形驅動程式 卜,軟體)’其共同地允許軟體内容播放器廠商能夠協商將安全位 元組碼載入虛擬機器404。另外,安全虛擬機器4〇4可包括進行以 12 201023047 =動作所需的編譯n紅具:支援移植標題解密的 ISV被授權 、譯程式(如’用Assembly或C等語言編寫)、及發出解譯器 所支援的位元組碼。 圖5根據-項具體實施例,顯示湘安全虛擬齡娜標題 ㈣的方法5〇0。作為一實施例’本方法500可在圖1至4之功能 $構的背景中建置。然、而,方法500當然、也可在任何所要環境 貫订。同樣地’上述定義在本說明均適用。 《ίΛ在操作中播放器1SV程式碼或程式可描述解密機密金餘群 二’ m碼可配合其他内容金鑰及原則使用以形成解密 内標題麵。在此例中,ISV程式可包括解細吏用識 沖t订時間變數(如’即時間接變數、本機變數、串流及緩衝器 GPU及1sv認為值得信任的 :旦擷取標題錢,即可_安全虛擬齡解密内容串流。 的方法=用安全虛擬機器解密内容串流 構的皆旦實 00可在圖1至5之功能及架 〜、厅、置。然而,方法600當然也可在任何所要環境中實 仃。上述定義在本說明均適用。 茺衣見中實 取期式碼Γ描述使用標題金躺程序,其可在標題金_ 山獨儲存’轉密從猶、網路或其他舰複製㈣流内容。 别出可保留在虛擬機器中以進行後續處理。 201023047 密内容ϊΐ密峰枝後’即可_安全虛擬機11修補及重新加 =:。圖7根據一項具體實施例,顯示利用 = 密内容串流的方法700。作為一實施例,本方法700 也之功能及架構的背景中建置。然、而,方法7⑻當舞 適用在任何所要環境t實行。同樣地,上述絲在本說明期^ 内,ISV程式可封裝(encapsulate)根據轉換描述符修補 β 命令,容串流可被分割及重新加密以將音訊傳 Q播放益ISV進行額外處理或傳回晶片外的音訊解碼器。 作為一實施例,内容串流可被分成視訊埠以在後續晶片上的 現訊解瑪11巾制。在關巾,可以未加密的形式保留内容,其 中内容被機密地保存在只有視訊解碼器才能存取的特殊權限記憶 體區域中。 _在一項具體實施例中,播放器ISV提供的程式可包括離散的 印令,讓解譯器能夠如同一個離散的運算加以完成。例如,在各 種具體實施例中,這些命令可包括表1所示常見運算的密碼基元。 表1 運算 功能 RND(seed) 虛擬隨機數 (Pseudo-Random Number) AES(*src, *dst, size, key, init, ECB模式的AES密文 14 201023047 ECB) SHAl(*src, *dst, size, init) Sha-1 Hash POW(X, Y) ΧΛΥ DMH(X, size) 產生尺寸結果的Davies Meyer Hash X0R(*src, *dst, *pat, size) 對Src緩衝器與Pat緩衝 器進行互斥或(XOR),放 在Dst中 在一項具體實施例中,這些基元可包括針對在GPU之内建控 制器上執行而隶佳化的預編碼常式(pre_c〇ded routines)。在另一且 體實施例中,基元可以是提取硬體引擎(直接加速易受效能影響之 運算)之執行的介面包裝函式。 作為另一實施例,基元可包括在安全虛擬機器中的内務處理 運算。表2根據一項具體實施例,顯示一些内務處理運算。 表2 _____ 運算 功能 Copy(*src, *dst, size) ~——-- 複製記憶體緩衝器(從 VM的内部/外部複製) 至VM中的Dst緩衝器 Alloc(size, *dst) 配置VM中用於Dst緩 衝器的記憶體 "-—--- 15 201023047
Free(*dst) 釋放VM中用於加緩 —— 在一項具體實施例中,Diffie-Helman金鑰交換可由虛擬機器 建置。根據一項具體實施例’以解譯的程式碼編寫的逐少 Diffie-Helman金餘交換如表3所示。 表3 N = RND(seed) Y = POW(G, N) K = DMH( POW(X, N)) C=AES(&K, &c, 16, 0) 在另一具體實施例中,程式可表達使用中間累加器逐個位元 組地實行反覆操作的-組複雜運算,以形成總程序子常式。在此 ❹彳盾環發生時,較佳可將子常式飾編譯成更有效的形式,其使用 以處理器微瑪形成的固有運算,在執行時不需要重新解譯。一旦 旦告後’即可將子常式實行為巨集等級的離散步驟。 —根據-項具體實施例’編寫為虛擬機奸常从㈣加密演 算法運算的範例如表4所示。 表4 RC4(*S,*D,size^Kjength) { 16 201023047
i = j = ο DO { J = *(MOD(K , length) J=ADD(J,*(ADD(S, I))) J = MOD(J, 256) SWAP(*(ADD(S,I)), *(ADD(S,J))) I=ADD(I, 1) } WHILE(LESSTHAN(1,256)) L = size WHILE(L) { I = ADD(I, 1) I = MOD(I, 256) J = ADD(J, *( ADD(S,I))) J = MOD(J, 256) SWAP(*(ADD(S, I)), *(ADD(S, J))) K - *(ADD(S, 1)) + *(ADD(S, 1)) K = MOD(K, 256) *D = XOR(S, K) L=SUB(L,1) 17 201023047 /主思,利用具有視覺效果程序的安全虛擬機器提供操縱金鑰 處理及串流靖的安全執行魏,其巾視訊解·硬體已經存在 (如在GPU巾等)’藉此避免未受保護的内容及金錄在CPU中及 在匯流排上_。❹卜,使將全虛擬機器提供第三方被授權者 在GPU上^授權内容建立安全相容解碼器的能力,而不需要肌^ 將產生解费内谷之金錄的程式發送給虛擬機器而變成被授權元 件0 ,8根據-項具體實施例,顯示建立產生解軸容之金餘之 作為一實施例’本方法800可在圖1至7之功能 心―二+建置。然而方法_當然也可在任何所要環境 中實仃。上述定義在本說明均適用。 處理提供解譯性語言規範。見操作8〇2。在此例中,由 ❹ 有解譯性語言規範的播放器ISV。例如,語 i實5包括解譯器之安全虛擬機器的規範。在一項具 的程式設計語i。範可包括絲產生程式喊生解密内容之金鑰 接著編寫程式 由播放哭TW v S職作8〇4。例如,基於解譯性語言規範,可 ::===一梅譯 包括=二處=:。此位元組瑪可 18 201023047 實施例t ϋ二輪入加密簽章程序。見操作810。在一項具體 簽早程柯岐自處理11製造雜供的程序。在 :二,程序之後’提供可内建的加密映像。接著可將此加 ^的#』阶播放器的程式,致使播放11可將程式提供給 GPU的處擬機器以在執行時間操作期間處理。 以^9根據—項具體實_,齡保全產生解密内容之金錄之 ί:ίϊΓ:。作為一實施例,系統900可在圖1至8之功能及 二'、建置。然而,系統9⑻當然也可在任何所要環境中 建置。此外,上述定義在本說明均適用。 在操作中可利用系統9〇〇建置保全產生解密内容之金餘之 程式的方法’如圖1G中所示的方法1_。如圖1G所示,應用程 產生對用於簽署的金餘PA及pA。此外,GPU產生-對用於 簽署的金鑰PG及pG,及用於加密的金鑰PS。 、GPU接著可使用Gpu的簽署秘密金输簽署應用程式的簽署 公開金鑰,產生可發送給應用程式的憑證(如,CERTG等)。應用 程式接著加密虛擬機器程式。程式可被簽署及編譯。 ’ 在執行時間’應用程式可建立短暫金鑰秘密(如,KSK等)。 GPU亦可導出短暫金鑰秘密(如,K,SK等)。接著將加密的程式 及金输從應用程式傳遞至GPU。解譯器接著解密及驗證應用程式 的憑證’然後執行虛擬機器程式。 利用此技術,可由GPU提供者產生一對用於簽署的私密金鑰 19 201023047 及公開金錄。可將私密金瑜放在内部簽署词服器中。公開金餘可 在API規範中發布並内建至安全解譯驗碼。接著可將硬體秘密 或其導出值时晶片秘密金錄’織導㈣於加密_應公開金 錄0 應用程式提供者可私下建立其自己的—對私密金錄及公開金 錄以用於簽署。應用程式提供者可經由電子郵件或郎將公開金餘 f送給GPU提供者。GPU提供者可使用應用程式提供者的簽署秘 ❹雄、金餘簽署應用程式提供者的簽署公開金输。所產生的簽章是由 7提供者對朗程式提供者之簽署公·轉㈣憑證。可將 憑證發回給應用程式提供者。 ^程式提供者可私下編寫部分解譯錄式及高度機密授權 了如播放器/元件錄)並將其編譯成二進位。應用程式 可在卿提供者的;公驗釘,私下加密二進位程 Ϊ答ί、^式提供者可在細程式提供者的簽署秘密金鑰下,私 卜簽署加费的二進位程式。 建於程式連同簽章及應職式提供者㈣證靜態地内 Ξίίΐί 播放器可執行檔。在執行時間,應用程式 上隨機數產生器(RNG)在GPu中建立短暫的工 重贿,然後使用此秘密糾將已經靜態地加密的程式 新加松為執行時間加密酬載(payload)。 在、酬載、簽章、 鑰驗證應用程式 在執行時間’ GPU上的解譯器可載入雙重加 及憑證。解譯器可使用GPU提供者的簽署公開金 20 201023047 ”證。解譯器可使用應用程式提供者的簽署公 也已加②触式。解譯^在協細間可使用在咖中建立 工作階段麵㈣解錄行時間 離 的程式(仍屬於加密形式)。 #㈣彌取靜態加密 由於可賴概產生科岭立短暫功階段金
„將,密安全地保留在㈣中,即使是知道Gpu提供 ▲之晶片秘密及其他簽署麵的人,也無法解密酬載。如果ISV s忍可簽章及執行1sv程式石馬的解譯器,則可假設ISV信任 解譯器及女王虛擬機器環境,致使ISV相信其不會汽露機密資 ,° =卜’如果要在虛擬機H中執行的程式瑪係ISV編寫並在執 行之⑴簽署/驗也’則ISV可建立其確保沒有任何内容或機密秘密 響漏出(甚至對GPU提供者漏出)的環境。 為了,一步減輕酬載加密程序中所使用的秘密被暴露的風 險’可由第二方或第三方’諸如ISV被授權者產品被授權者或 系統廠商直接將額外被授權者秘密熔入(免se)Gpu。為進一步確 保秘绝、甚至於對GPU提供者保持未知,程式設計程序允許在Gpu 已離開GPU提供者的製造及存貨程序之後的任何時間設定秘密。 GPU廠商提供存取權限以允許例如在系統廠商設備處,在組裝期 間將GPU置於主機板上之後,單獨將秘密程式設計至Gpu中。 21 201023047 例如’在-項具體實施例中,秘密可包含在一次性(〇ne_time)晶片 熔絲中,該等溶絲在GPU封裝的特定接腳上,按照匹配被授權者 秘岔數值位元的位元型樣,透過施加較高電壓而燒斷。在一項具 體實施例中,在無法被GPU讀出的唯寫暫存器中,藉由應用該等 騎而使秘密保持機密且該秘密只能被Gpu的密文及其他内部密 碼程序用作金鑰或與其他金錄結合。在一項具體實施例中,被授 權者秘密被用作AES密文的金輪值,其在設計上不允許恢復金輪 值,即使外部可見純文字輸入及密文文字輸出也是如此。 另外,熔絲秘密的程式設計可限於一次性設定,以保護免於 $續改變或攻擊,其巾熔絲秘密被重新程式設計成已知以茂露秘 畨。在一項具體實施例中,使秘密僅被程式設計為由Gpu使用的 熔絲在程式設計被授權者秘密結尾處被燒斷,且一旦燒斷後,該 熔絲不允許後續對被授權者秘密熔絲進行程式設計。 Λ ,被授權者秘密可間接與其他(不可讀取的)Gpu秘密結合,以 軸建立及齡_時所使用的加密及解密錄。如果可單獨地 程式設計被獅者秘密,及GPU提供料知道有此娜密,且如 果秘密僅在執行時間由在安全虛擬機器中的Gpu硬體間接社人, 則可針對詳細_難“秘密的人,進__步增鮮二方^程 式、演算法及金鑰。 因此,根據一項具體實施例,可提供一種裝置,1中該裝置 包括至少-個處理器、屬於第-方之至少—安全虛擬機器, f於處理ϋ上,以處理第二方之程式、及至少—個處理第三方内 谷以供輪出的程式。在此例中’第—方可包括任何提供安全虛擬 22 201023047 機器及/或處理器的實體或個體,第二方可包括任何授權軟體的實 體或個體(如’獨立軟體廠商被授權者等),及第三方可包括任何授 權内容的實體或個體。在各種具體實施例中,第一方、第二方^ 第二方可以是相同或不同團體並可包括任何個體或實體。 使用此裝置,可錢理之制除祕賴練式資訊、被處 理的資訊、及由至少-個虛擬機器中之每—者建立的短暫變數。 在一項具體實施例中,複數個安全虛擬機器可在個別背景中建置 ❿於處f器上。在此例中,可限制在複數個安全虛擬機器間所進行 之共旱資訊。 例如’可關短暫資訊的麵及由該複數個安全虛擬機器處 =資訊儲存。資訊亦可包括解魏護内容時所使㈣金錄及中 間进碼值。 ❹ 在另-具體實施例中’可提供至少一個虛擬機器以執行用戶 =,Γ的f式(如第二方的程式等)來處理保護的内容。在此例 雜二端提供的程式可由第二方加密,以在處理第三方内容時, 提供的程式所使用之演算法細節、秘密、及金錄的 端接_=端式可糾由第二錢署以允許驗證用戶 肩於二二的Α整性,及可包括允許驗證用戶端提供的程式之 原始碼之確實性的憑證。 理之·^ 1^、體實&例中’第二方内容在由至少—個虛擬機器處 卢擬由第三方另外加密。在此财,在允許在至少一個 业疑機討執行之前,可藉由驗證所包括的躲及憑證,解密及 23 201023047 鑑認用戶端提供的程式、機密演算法、及秘密。 作為另一實施例,處理用戶端提供的程式可包括解密第三方 内容。處理可另外包括重新加密第三方内容之一或多個部分中的 至少一個或在第三方内容中的串流。一方面,重新加密可發生在 第三方内容從至少一個虛擬機器退出之前。另一方面,重新加密 可發生在第三方内容從處理器輸出之後。 φ 在一項具體實施例中,用戶端提供的程式可從應用程式接 收,及用戶端提供的程式可在處理器及應用程式之間建立安全通 訊通道。在此例中,可利用處理器中導出的密碼值及至少一個憑 證,保全在處理器及應用程式間的通訊通道。 在另一具體實施例中,至少一個虛擬機器可用作應用程式提 供之保護内容處理程式的解譯器。此外,處理器可包括至少一個 安全處理器且可經組態以提供處理内容給圖形處理器、視訊處理 器、或音訊處理器中的至少一者。 ❹ 在又另一具體實施例中,處理器可包括從封裝展開之内容金 鑰及在程式執行期間導出之中間密碼值的安全機密儲存區。在任 何情況丄在處理器之至少一個虛擬機器中由第二方之程式處理第 二方内容並不需要處理n具有授權秘密,也不需要先前已經建置 的授權演算法。注意,至少—個虛擬機器的設計及在至少一個虛 擬機器中由第二方之程式對第三方内容的處理可由第二方關於授 權遵循及穩健性規則方面加以檢視,藉此允許決定第三方内容之 適合性。 24 201023047 此外,藉由使用此裝置,第三方内容及用以產生解密第三方 内容之機密金鑰的第二方之程式可於處理器接收(如,由第—方製 造的處理器等)’及第二方之程式可利用解密第三方内容的處理器 來執行。在此例中’解密第三方内容將需要使用提供給第二方的 機密演算法及金鑰資訊。作為一實施例,用以解密第三方内容的 機岔金錄及演异法可由第二方重新加密。機密金鑰亦可利用處理 器來解密。 ❹ 在一項具體實施例中,可將自第二方之程式產生的機密執行 時間值、中間加密值、及機密金鑰儲存在機密唯寫處理器暫存器 中,及/或儲存在經組態僅由處理器操作間接解除參考(dereferenc°e) 及經組態為不可讀的索引緩衝器中。在此例中,可在第二方之程 式終止之後消除唯寫處理器暫存器及索引緩衝器,藉此確保後續 虛擬機工作階段無法存取殘存的秘密。 作為-實施例’機密金鑰可包括至少一個與第三方内容相關 聯的内容金錄及至少-個與第二方應用程式相關聯的應用程式金 罾餘,經由該躺程式可在處理器接收第三方内容及第二方之程 式。在-項具體實施例巾’第二方細程式可包括内容播放器。 此外’處理器可處理第三方的至少一個内容金餘及第二方的 至少-個顧程式金鑰喊生至少—個標題金錄。在此例中,可 利用標題金鑰解密第三方内容。 —在-項具體實施例巾’第二方之程式可由從中接收第三方内 容及第二方之程式的第二方應用程式使用。在此例中,第二方之 25 201023047 程式可用於解密第三方内容並可由第二方應贿式基於第三方内 容來擷取。 在一些例子中,第二方之程式及内容金鑰在由第二方應用程 式棟取之前已經加密。在這些例子巾,第二方之程式及内容金输 在由第二方應用程式擷取之前可利用公開金鑰來加密。作為一實 施例,加密第二方之程式的一或多個金鑰及内容金鑰可由處理器 製造商(如,第-方等)提供。作為另一實施例,第二方之程式在與 ❹ 第二方制程式相關的分布二進位巾在封裝巾組合之前加密。 在一項具體實施例中,第二方應用程式可進一步重新加密包 ,第二f之程式及機密金鑰的封裝後’再將此封裝傳遞給處理 器。注意,在一項具體實施例中,可藉由將機密演算法及機密金 鑰包含在處理器之虛擬機器中執行之前不會解密的加密程式封裝 中,防止對中央處理單元暴露機密演算法及機密金瑜。在此例中, 藉由使用在第二方應用程式及解密第二方之程式的處理器之間的 公開金鑰交換所建立的短暫值加密封裝’進一步防止機密演算法 參及機密金鑰秘密的可能暴露。 ' 此外,透過使用放在處理器中且藉由加密第二方之程式在不 暴露給處理器廠商的情況下使用的第二方授權秘密或第三方被授 .權者秘密,可防止機密演算法及機密金鑰的暴露。在此例中,^ 過使用一次性程式設計機制(如,電腦程式碼等),可保護第二方授 權秘绝、及第二方被授權者秘松的程式設計在程式設計至處理器後 免於改變。 26 201023047 在又另-具體實施财,藉由制此裝置,可由第二方 加密及處理第三方内容的封裝,其中封裝包括㈣處 =ί:另式可使用加密保全以確保與程式相關聯i秘 ^的機祕。再者,可簽署程式以確絲式原始碼的確實性 有,可驗證程式原始碼的憑證及保全程式的實體。 < 處理器可包括卿處㈣、視贿理^、及/或音喊理。 此外,處理器可包括能夠安全解密第二方應用程式提供之 程式、機密演算法、内容金錄、及專屬秘密的安全處理器背景。 1第在:,:中第三方内容對於第三方如此珍貴致使必須保 ^二方内谷免於攔截及複製。在各種具體實施射,封襄可包 及處理第三方内容所需的程式、機密演算法、内容金錄、 及專屬秘密。此外’作為—實施例,封裝可藉由加密來保全。 在-項具體實施例巾’可由處理器從中接收第三方内容 :方内容被授權者播放n應祕式提供程式、機密演算法、 输及=屬秘密。在此例中,包括程式、機密演算法、内 秘密的封裝可由第二方應用程式提供者保全並内建於 =項具體實施例中’應用程式可包括至少一個播放器及封 〔或 >、-個其他封裝,以便處理及輸出使 内理第三方内容的封裝。另外,封裝、程式、機密演算法、 谷至鑰、及專屬秘密可在由應用程式擷取之前加密。 27 201023047 —在此例中,封裝、程式、機密演算法、内容金餘及專屬秘 /密可,内建於朗程式巾之前,· _或多個公鼠私密金餘進 =加雄及簽署。可在第二方應用程式廠商及處理器廠商之間交換 公開金餘及憑證。料__實施例,可利㈣建於處理器中的被授 權者秘密來加密程式。 一在-項具體實施例巾,在由應用程賴取之後在執行時間 ^雄封裝。在此财,彻藉由使用虛擬隨機數產生器產生的短 ❹暫金鑰及只儲存在處理器中的秘密來加密程式。另外,利用藉由 =用虛擬隨機數產生n產生驗暫金敎只儲存在朗程式中的 資訊來加密程式。 ❹ 作為另-實_ ’喊可應祕式及處理酿商間交換 的至J-個憑證的至少—個金絲加密。在—項具體實施例中, 程式可__程式及處理關交換的至少—個憑證的至少一個 金瑜來簽署。在此例中’可將被授權者秘密内建在處理器中,而 2處理魏商所知,其中處理器廠商無法推測及/或從處理器中 邊出被授權者秘密。在-些例子中,被授權者秘密僅被寫入一次 式設狀後無法改變紅其他方式修改,以確保攻擊者無 法導出秘密或藉由改變儲存在處理器的秘密而洩露秘密。 圖11 ®解可建置各魏前具__之各餘構及/或功能 5乾性祕議。如圖卿,提供包括至少—魅處理器腦 的糸統1100,該處理器連接至通訊匯流排1102。系統議亦包 括主記憶體11G4。控綱輯(軟體)及資料係儲存於主記憶體贈 中’該記憶體採用隨機存取記憶體(RAM)的形式。 一 28 201023047 系統1100亦包括圖形處理器1106及顯示器1108(即電腦監視 器)。在-項具體實施例巾’ _處㈣聰可包括複數個著色器 模組、光柵化模組等。上述模組中的每一個甚至可位在單一半導 體平台上以形成圖形處理單元(GPU)。 電路=明二單導半導體式積體 u 〜用°°早一+導體平台」亦可指連接性增加
=日日片模組’其利用傳統的中央處理單元(CPU)及匯流排建置模 上操r進行實質改良。當然,各種模組亦可根據使用者 的*要1開設置或設在轉體平台的各種組合中。 系統刪亦可包括:欠要齡器〗⑽。次 ❹/或次、,電腦控制邏輯演算法可儲存在主記憶體11〇4及 實Γ °此1_財錄糾,可齡統測 貝订谷種功旎。記憶體1104、 為麵可讀媒體的可能範例。 及/或任何其他儲存器 下背景中建;體種先前圖式的架構及/或功能可在以 理器__彡處^服=處理請6、_實現主處 (未顯示)、晶片組(即-的叶;^力;_=至少一部分的積體電路 銷售的積體带歷、 作為施行相關功能之單元運作及 積體电路寺)、及/或任何其他相關事務的積體電路。 29 201023047 還有,各種先前圖式的架構及/或功能可在以下背景中建置: -般電動統、電路㈣統、專麟娛樂的遊戲機系統、特定應 用系統、及/或任何其他理想系統。例如,系統11〇〇可採取以下形 式桌上i電腦、膝上型電腦、及/或任何其他類型 。 系統贈可採取各種其他元件的形式,其包括但不=^數 位助理(PDA)元件、行動電話元件、電視等。 再者,雖然未顯示,但系統11〇〇為了通訊目的,可耦合至網 ❸ 路(如,電信網路、區域網路(LAN)、無線網路、廣域網路(WAN), 諸如網際網路、對等網路、有線電視網路等)。 儘管上文已經說明各種具體實施例,但應明白,這些具體實 施例僅以舉_雜_方式呈現。因此,上述示紐^實施 例的任何一項不應限制較佳具體實施例的廣度及範疇,而只能按 照以下申請專利範圍及其同等物加以定義。 【圖式簡單說明】 參圖1Α根據一項具體實施例’顯示執行利用處理器產生解密内 容之金鑰之程式的方法。 圖1Β根據一項具體實施例,顯示在處理器上建置之處理内容 以供輸出的安全虛擬機器。 圖2根據一項具體實施例,顯示產生、保全、及執行利用處 理器產生解密内容之金鑰之程式的系統。 圖3根據一項具體實施例,顯示使用解譯器解譯所接收程式 及内容的方法。 圖4根據一項具體實施例,顯示包括解譯所接收程式及内容 30 201023047 之處理器及安全虛_機器的系統。 圖5根據一項具體實施例,顯示利用安全虛擬機器擷取標題 金鑰的方法。 圖6根據一項具體實施例’顯示利用安全虛擬機器解密内容 串流的方法。 圖7根據一項具體實施例’顯示利用安全虛擬機器修補及重 新加密内容串流的方法。 圖8根據—爾體實細,顯*建立產生職内容之金鑰之 ^ 程式的方法。 圖9根據—項具體實施例’顯示保全產生解密内容之金鑰之 程式的系統。 圖10根據一項具體實施例,顯示建立及保全產生解密内容之 金鑰之程式的方法。 圖11圖解可建置各種先前具體實施例之各齡構及/或功能 的示範性系統。 【主要元件符號說明】 150、404 安全虛擬機器 152、406、1101 處理器 200、400、900、1100 系統 202 媒體 204 授權播放器廠商或其他獨立軟體廠商(ISV) 206 程式 208 解譯器 210 標題金錄· 212 解多工器 201023047 214 重新加密音訊模組 216 解密模組 218 音訊堆疊 220 重新加密視訊模組 222 視訊解碼模組 224 訊框緩衝區 226 > 1108 顯示器 228 、 1104 記憶體 250、1106 圖形處理器 402 GPU 1110 次要儲存器 參 32

Claims (1)

  1. 201023047 七、申請專利範圍: 1. 一種裝置,包含: 至少一處理器; 屬於一第一方之至少一安全虛擬機器,係建置於該處理器 上’以處理一第二方之程式;及 至少一體現於一電腦可讀媒體上的程式,以處理一第三方内 容以供輸出。 ❹2.如申4專她圍第i項所述之裝置,其巾殘存的機絲式資 訊、被處理的資訊、及由該至少—虛擬機器之每—者建立的短 (ephemeral)變數在處理之後刪除。 3.如申請專利範圍第!項所述之裝置,其中複數個安全 在個別背景(context)中建置於該處理器上。 虛擬機申項所奴裝置’其_在該複數個安全 5.如申請專利賴第4項所述之裝置,其 資訊的麵、蝴複數個安全虛咖所處理之㈣) =專用及==裝置’其中該資訊包括解密保護 虛擬機 7.如申4專利補第丨項所述之裝置,1 器以便執行—用戶端提供的程式以處理保護内容卜 33 201023047 8山如申請專利範圍第7項所述之裝置,其中該用戶端提供的程式 由該第二方加密,以在處理該第三方内容時,確保戶端提供 的程式使用之法細節、秘密、及金蘭機密I ’、 9. 如申請專利範圍第8項所述之裝置,其中該用戶端提供的程式 另外由該帛二枝署以允許驗輯帛戶端提供的程式的完整性, 及包括允許驗證該用戶端提供的程式之原始碼之確實性 (authenticity)的憑證(cer^fjcate) 〇 10. 如申請專概圍第7項所述之裝置,其巾該第三方内容在由該 至少一虛擬機器處理之前,已經由該第三方另外加密。 μ 11. 如申請專利範圍» 10綱述之裝置,其中在允許在該至少一 虛擬機器中執行之前’藉由驗證所包括的簽章及憑證,解密及梦 認該用戶端提供的程式、機密演算法、及秘密。 观 ❿ 12.如申請專利範圍第1〇項所述之裝置,其中處理該用戶端提供 的程式包括解密該第三方内容。 八 13.如申請專利顧第12項所述之裝置,其中處理該用戶端提供 的程式另外包括重新加密該第三方内容之一或多個部分或在該第 二方内容中之串流(streams)的至少其中之一。 14·如申請專利範圍第13項所述之裝置,其中該重新加密發生在 該第三方内容從該至少一虛擬機器退出之前。 34 201023047 15·如申請專利範圍第13項所述之裝置,其中該重新加密發生在 該第三方内容從該處理器輸出之後。 16.如申請專利範圍第7項所述之裝置,其中該用戶端提供的程式 係接收自一應用程式,及該用戶端提供的程式建立一在該處理^ 及該應用程式之間的安全通訊通道。 17·如申請專利範圍第16項所述之裝置,其中利用該處理器中導 出的密碼值、及至少一憑證以保全在該處理器及該應用程式之 的該通訊通道。 S 18. 如申請專利範圍第丨項所述之裝置,其中該至少—虛擬機器用 作一應用程式所提供之一保護内容處理程式的一解譯器。β 19. 如申請專利細第i項所述之裝置,其+該處判包括至少一 安全處理器及經組態以提供處理内容給—_處理器、 理器、或一音訊處理器中的至少其中之一。 ° 利棚第1賴述H其找處理純括用於從 :=;r容麵及在程式執行期_之中間密碼值的安 21.如申請專利範圍第丨項所述之農置,其中由 該處理器^該至少—虛擬機器中對於該第三方内容的該心“ 要該處理器具有授權秘密,也不需要乂 、/处 舄 而要先則已經建置的授權演算法。 35 201023047 ❿
    22.如申請專利範圍第1項所述之裝置,其中該至少一虛擬機器的 設計及由該第二方之程式在該至少一虛擬機器中對於該第三方内 谷的該處理由該第二方關於授權遵循(license compliance)及穩健 性規則(robustness rules)加以檢視,藉此允許決定該第三方内容之 適合性(suitability) 〇 36
TW098134473A 2008-12-09 2009-10-12 在處理器之虛擬機器中安全地處理機密內容的方法與裝置 TWI423136B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/331,295 US8868925B2 (en) 2008-12-09 2008-12-09 Method and apparatus for the secure processing of confidential content within a virtual machine of a processor

Publications (2)

Publication Number Publication Date
TW201023047A true TW201023047A (en) 2010-06-16
TWI423136B TWI423136B (zh) 2014-01-11

Family

ID=42232519

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098134473A TWI423136B (zh) 2008-12-09 2009-10-12 在處理器之虛擬機器中安全地處理機密內容的方法與裝置

Country Status (5)

Country Link
US (1) US8868925B2 (zh)
JP (1) JP5532291B2 (zh)
KR (1) KR101091465B1 (zh)
CN (1) CN101751529B (zh)
TW (1) TWI423136B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI453624B (zh) * 2010-11-09 2014-09-21 Inst Information Industry 資訊安全防護主機
US8850222B2 (en) 2010-06-22 2014-09-30 Novatek Microelectronics Corp. Electronic apparatus, display driving apparatus, and digital content display method thereof

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266448B2 (en) * 2008-12-09 2012-09-11 Nvidia Corporation Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
US8135964B2 (en) * 2008-12-09 2012-03-13 Nvidia Corporation Apparatus, system, method, and computer program product for executing a program utilizing a processor to generate keys for decrypting content
US9124535B2 (en) 2009-07-17 2015-09-01 Honeywell International Inc. System for using attributes to deploy demand response resources
US9137050B2 (en) * 2009-07-17 2015-09-15 Honeywell International Inc. Demand response system incorporating a graphical processing unit
US9818073B2 (en) 2009-07-17 2017-11-14 Honeywell International Inc. Demand response management system
US8402280B1 (en) 2009-10-15 2013-03-19 Nvidia Corporation System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing
JP2012084071A (ja) 2010-10-14 2012-04-26 Toshiba Corp デジタルコンテンツの保護方法、復号方法、再生装置、記憶媒体、暗号装置
WO2012057942A1 (en) * 2010-10-27 2012-05-03 High Cloud Security, Inc. System and method for secure storage of virtual machines
US8705729B2 (en) 2010-12-17 2014-04-22 Intel Corporation Audio content protection
WO2012082411A2 (en) * 2010-12-17 2012-06-21 Intel Corporation Audio content protection
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US9153001B2 (en) 2011-01-28 2015-10-06 Honeywell International Inc. Approach for managing distribution of automated demand response events in a multi-site enterprise
US8661527B2 (en) 2011-08-31 2014-02-25 Kabushiki Kaisha Toshiba Authenticator, authenticatee and authentication method
JP5275432B2 (ja) 2011-11-11 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN103988467B (zh) * 2011-11-16 2019-04-23 V-Key公司 确保软件加密技术安全的加密系统和方法
JP5100884B1 (ja) 2011-12-02 2012-12-19 株式会社東芝 メモリ装置
JP5112555B1 (ja) 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP5204291B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、装置、システム
JP5204290B1 (ja) 2011-12-02 2013-06-05 株式会社東芝 ホスト装置、システム、及び装置
JP5275482B2 (ja) 2012-01-16 2013-08-28 株式会社東芝 ストレージメディア、ホスト装置、メモリ装置、及びシステム
CN102722678B (zh) * 2012-05-31 2016-06-15 北京朋创天地科技有限公司 一种虚拟桌面可执行程序保护机制
US9646153B2 (en) * 2012-08-08 2017-05-09 Intel Corporation Securing content from malicious instructions
US8656482B1 (en) * 2012-08-20 2014-02-18 Bitdefender IPR Management Ltd. Secure communication using a trusted virtual machine
US20140081704A1 (en) 2012-09-15 2014-03-20 Honeywell International Inc. Decision support system based on energy markets
US9389850B2 (en) 2012-11-29 2016-07-12 Honeywell International Inc. System and approach to manage versioning of field devices in a multi-site enterprise
US9201811B2 (en) 2013-02-14 2015-12-01 Kabushiki Kaisha Toshiba Device and authentication method therefor
US8984294B2 (en) 2013-02-15 2015-03-17 Kabushiki Kaisha Toshiba System of authenticating an individual memory device via reading data including prohibited data and readable data
US9052740B2 (en) * 2013-03-12 2015-06-09 Qualcomm Incorporated Adaptive data path for computer-vision applications
US9989937B2 (en) 2013-07-11 2018-06-05 Honeywell International Inc. Predicting responses of resources to demand response signals and having comfortable demand responses
US9691076B2 (en) 2013-07-11 2017-06-27 Honeywell International Inc. Demand response system having a participation predictor
US10346931B2 (en) 2013-07-11 2019-07-09 Honeywell International Inc. Arrangement for communicating demand response resource incentives
DE102014204417A1 (de) * 2014-03-11 2015-09-17 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Detektieren einer Manipulation an einem Programmcode
US9665078B2 (en) 2014-03-25 2017-05-30 Honeywell International Inc. System for propagating messages for purposes of demand response
US20150278512A1 (en) * 2014-03-28 2015-10-01 Intel Corporation Virtualization based intra-block workload isolation
WO2016010665A1 (en) * 2014-07-15 2016-01-21 Sikka Neil Apparatus for and method of preventing unsecured data access
CN105760719B (zh) * 2014-12-19 2019-11-15 深圳市中兴微电子技术有限公司 一种密文数据解密方法及系统
US10205710B2 (en) * 2015-01-08 2019-02-12 Intertrust Technologies Corporation Cryptographic systems and methods
FR3038404B1 (fr) * 2015-07-02 2019-04-26 Viaccess Procede et systeme d'execution securisee de machines virtuelles par un ensemble de dispositifs programmables interconnectes
US10616184B2 (en) * 2016-06-30 2020-04-07 Intel Corporation Wireless display streaming of protected content
US10338951B2 (en) 2017-03-01 2019-07-02 Red Hat, Inc. Virtual machine exit support by a virtual machine function
US10541556B2 (en) 2017-04-27 2020-01-21 Honeywell International Inc. System and approach to integrate and manage diverse demand response specifications for multi-site enterprises
US10685106B2 (en) * 2018-03-10 2020-06-16 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a stateless secure partition
US11068607B2 (en) * 2018-03-10 2021-07-20 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a secure partition with persistent data
US10999304B2 (en) 2018-04-11 2021-05-04 Palo Alto Networks (Israel Analytics) Ltd. Bind shell attack detection
US11443072B2 (en) * 2018-06-29 2022-09-13 Microsoft Technology Licensing, Llc Peripheral device with resource isolation
US11126757B2 (en) 2018-10-19 2021-09-21 Microsoft Technology Licensing, Llc Peripheral device
US11184378B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Scanner probe detection
US11184376B2 (en) * 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Port scan detection using destination profiles
US11184377B2 (en) 2019-01-30 2021-11-23 Palo Alto Networks (Israel Analytics) Ltd. Malicious port scan detection using source profiles
KR20210016764A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 시스템 온 칩
US20220309182A1 (en) * 2019-08-16 2022-09-29 Fiduciaedge Technologies Co., Ltd. System and method for performing trusted computing with remote attestation and information isolation on heterogeneous processors over open interconnect
US11841961B2 (en) 2020-07-02 2023-12-12 International Business Machines Corporation Management of computing secrets
US11799865B2 (en) * 2020-12-18 2023-10-24 Microsoft Technology Licensing, Llc Multi-chamber hosted computing environment for collaborative development between untrusted partners
US11308226B1 (en) * 2021-02-22 2022-04-19 CipherMode Labs, Inc. Secure collaborative processing of private inputs
US20220318096A1 (en) * 2021-03-30 2022-10-06 Acronis International Gmbh System and method for distributed-agent restoration of virtual machines
EP4145762B1 (en) 2021-09-06 2023-10-25 Axis AB Method and system for enabling secure processing of data using a processing application
US11799880B2 (en) 2022-01-10 2023-10-24 Palo Alto Networks (Israel Analytics) Ltd. Network adaptive alert prioritization system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359350B (zh) * 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US5825879A (en) * 1996-09-30 1998-10-20 Intel Corporation System and method for copy-protecting distributed video content
US7200842B1 (en) * 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices
GB9922665D0 (en) * 1999-09-25 1999-11-24 Hewlett Packard Co A method of enforcing trusted functionality in a full function platform
US6598032B1 (en) * 2000-03-10 2003-07-22 International Business Machines Corporation Systems and method for hiding from a computer system entry of a personal identification number (pin) to a smart card
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US20020073025A1 (en) * 2000-12-08 2002-06-13 Tanner Robert G. Virtual experience of a mobile device
WO2002101494A2 (en) * 2001-06-07 2002-12-19 Contentguard Holdings, Inc. Protected content distribution system
CA2422358C (en) * 2001-07-13 2012-09-25 Motoki Kato Video information recording apparatus and reproducing apparatus
US7272858B2 (en) * 2002-04-16 2007-09-18 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
JP4675031B2 (ja) 2002-04-23 2011-04-20 パナソニック株式会社 サーバ装置及びプログラム管理システム
US20030217258A1 (en) * 2002-05-16 2003-11-20 International Business Machines Corporation Apparatus and method of using ephemeral asymmetric keys to exchange security data between hardware security modules
US20030229794A1 (en) * 2002-06-07 2003-12-11 Sutton James A. System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container
US7174021B2 (en) * 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations
US7440574B2 (en) * 2003-06-11 2008-10-21 Hewlett-Packard Development Company, L.P. Content encryption using programmable hardware
US8838950B2 (en) * 2003-06-23 2014-09-16 International Business Machines Corporation Security architecture for system on chip
EP1644802B1 (en) 2003-06-27 2016-11-23 Disney Enterprises, Inc. Dual virtual machine and trusted platform module architecture for next generation media players
JP2007535718A (ja) * 2003-07-07 2007-12-06 クリプターグラフィー リサーチ インコーポレイテッド 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ
US7389273B2 (en) * 2003-09-25 2008-06-17 Scott Andrew Irwin System and method for federated rights management
US7539307B2 (en) * 2003-11-26 2009-05-26 International Business Machines Corporation System, method, and service for delivering enhanced multimedia content on physical media
JP4629416B2 (ja) 2003-11-28 2011-02-09 パナソニック株式会社 データ処理装置
US7552419B2 (en) * 2004-03-18 2009-06-23 Intel Corporation Sharing trusted hardware across multiple operational environments
US7401230B2 (en) * 2004-03-31 2008-07-15 Intel Corporation Secure virtual machine monitor to tear down a secure execution environment
KR20060081336A (ko) 2005-01-07 2006-07-12 엘지전자 주식회사 기록매체에서의 디지털 인증방법
US7587595B2 (en) * 2005-05-13 2009-09-08 Intel Corporation Method and apparatus for providing software-based security coprocessors
JPWO2007116835A1 (ja) * 2006-04-03 2009-08-20 パナソニック株式会社 通信システム間の共存を可能にする通信装置
WO2007130386A2 (en) * 2006-05-01 2007-11-15 Mediatek Inc. Method and apparatus for secure context switching in a system including a processor and cached virtual memory
JP4765812B2 (ja) 2006-07-28 2011-09-07 日本電気株式会社 情報処理システム、クライアント装置、プログラム、及びファイルアクセス制御方法
JP5118700B2 (ja) * 2006-08-08 2013-01-16 サンディスク テクノロジィース インコーポレイテッド 仮想マシンのアクティブ化を伴う携帯可能な大容量記憶装置
US7860246B2 (en) * 2006-11-01 2010-12-28 International Business Machines Corporation System and method for protecting data in a secure system
US20080262968A1 (en) * 2007-03-26 2008-10-23 Infosys Technologies Ltd. Software licensing control via mobile devices
US8446250B2 (en) * 2007-06-14 2013-05-21 Intrinsic Id B.V. Method and device for providing digital security
US8639949B2 (en) * 2007-07-20 2014-01-28 Nxp B.V. Device with a secure virtual machine
US8135964B2 (en) * 2008-12-09 2012-03-13 Nvidia Corporation Apparatus, system, method, and computer program product for executing a program utilizing a processor to generate keys for decrypting content
US8266448B2 (en) * 2008-12-09 2012-09-11 Nvidia Corporation Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
US8402280B1 (en) * 2009-10-15 2013-03-19 Nvidia Corporation System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850222B2 (en) 2010-06-22 2014-09-30 Novatek Microelectronics Corp. Electronic apparatus, display driving apparatus, and digital content display method thereof
TWI453624B (zh) * 2010-11-09 2014-09-21 Inst Information Industry 資訊安全防護主機

Also Published As

Publication number Publication date
JP2010140470A (ja) 2010-06-24
CN101751529B (zh) 2014-01-08
JP5532291B2 (ja) 2014-06-25
US20100146501A1 (en) 2010-06-10
TWI423136B (zh) 2014-01-11
CN101751529A (zh) 2010-06-23
KR20100066404A (ko) 2010-06-17
KR101091465B1 (ko) 2011-12-07
US8868925B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
TW201023047A (en) Method and apparatus for the secure processing of confidential content within a virtual machine of a processor
US8266448B2 (en) Apparatus, system, method, and computer program product for generating and securing a program capable of being executed utilizing a processor to decrypt content
US8135964B2 (en) Apparatus, system, method, and computer program product for executing a program utilizing a processor to generate keys for decrypting content
US10582256B2 (en) Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US7376976B2 (en) Transcryption of digital content between content protection systems
US9369280B2 (en) Secure processing systems and methods
US9990473B2 (en) Method and apparatus for policy-based content sharing in a peer to peer manner using a hardware based root of trust
CN107743133A (zh) 移动终端及其基于可信安全环境的访问控制方法和系统
CN105468940B (zh) 软件保护方法及装置
US8245307B1 (en) Providing secure access to a secret
CN107370595A (zh) 一种基于细粒度的密文访问控制方法
CN110380854A (zh) 针对多个系统的根密钥生成、隔离方法及根密钥模块
CN103703718B (zh) 用于模糊处理密码协议的初始值的系统和方法
US20210266301A1 (en) Secure application processing systems and methods
CN105760719B (zh) 一种密文数据解密方法及系统
CN114629633A (zh) 密钥块增强封装
AG CryptoServer 2000 Security Policy
AG CryptoServer CS Security Policy

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees