專利名稱:向應用程序集發(fā)放受保護內容的許可證的制作方法
向應用程序集發(fā)放受保護內容的許可證背景1.背景和相關技術計算機系統(tǒng)和相關技術影響社會的許多方面。的確,計算機系統(tǒng)處理信息的能力 已轉變了人們生活和工作的方式。計算機系統(tǒng)現在通常執(zhí)行在計算機系統(tǒng)出現以前手動執(zhí) 行的許多任務(例如,文字處理、日程安排和賬目管理等)。最近,計算機系統(tǒng)已彼此耦合并 耦合到其它電子設備以形成計算機系統(tǒng)和其它電子設備可以在其上傳輸電子內容的有線 和無線計算機網絡。因此,許多計算任務的執(zhí)行被分布在多個不同的計算機系統(tǒng)和/或多 個不同的計算組件上。不過,雖然電子內容可由多個計算機系統(tǒng)訪問,但電子內容的創(chuàng)建者可能期望限 制對電子數據的訪問。在某些環(huán)境中,可以使用一種或多種訪問機制,諸如例如口令保護、 設置文件屬性(例如只讀等)、防火墻等,來限制對電子內容的訪問。這些機制基本上為被 授權的任一個人提供相同的電子內容訪問級別。然而,如果用戶能夠訪問文件,則通常不存 在對能夠利用文件的內容做什么的限制。例如,如果用戶能夠讀取文件,則該用戶可以將文 件內容復制到其他用戶能夠訪問該文件的另一位置,用戶可以打印該文件并將一硬拷貝遺 留在某處等,這通常沒有限制。因此,在某些環(huán)境中,電子內容的創(chuàng)建者可能期望對他們的電子內容的更可配 置和/或更細粒度的訪問控制。在這些其他環(huán)境中,內容創(chuàng)建者可以使用數字權限管理 (“DRM”)來控制對他們的電子內容的訪問。DRM通常包括由內容創(chuàng)建者用來限制對電子內 容(或其實例)的使用的訪問控制技術。這樣,已經開發(fā)了各種不同類型的DRM來保護不 同類型的電子內容,諸如例如,圖片、電影、視頻、音樂、程序、多媒體、游戲、文檔等。一種類別的DRM,即企業(yè)權限管理(“ERM”)經常被用于控制對諸如例如電子郵件 消息、文字處理文檔和網頁等文檔的訪問。權限管理服務(“RMS”)是一種ERM解決方案。 RMS可以被用于加密文檔,并且通過基于服務器的策略來防止文檔被除指定的人或組、在特 定環(huán)境中、在特定條件下或在特定時間段之外解密。對于各個文檔,可以允許或禁止基于文 檔的操作,例如打印、復制、編輯、轉發(fā)和刪除。RMS管理員可以部署將這些權限一起分組到 可以一起應用于內容的預定義策略中的RMS模板。因此,RMS保護的內容可以由啟用RMS的應用程序來創(chuàng)建。RMS保護的內容被加密 并可包含嵌入的使用策略,該使用策略定義每一個用戶或組對于內容具有的權限。一種RMS 系統(tǒng)通過將權限分配給可信實體來工作,這些可信實體是單個用戶或用戶組。權限在每一 個實體的基礎上分配。RMS定義并識別若干默認權限(諸如讀取、復制、打印、保存、轉發(fā)和 編輯的許可)并可擴展為識別附加權限(每一個應用程序將必須顯式地實現)。一般而言,為了保護內容,內容作者指定要應用于內容的發(fā)布許可證(“PL”)。發(fā) 布許可證包含用于保護內容的所有相關訪問控制和使用限制信息。內容作者然后將內容和 PL提交給啟用RMS的應用程序,該應用程序對內容應用訪問控制和使用限制信息。當用戶 請求訪問內容時,評估訪問控制和使用限制信息以確定該用戶的訪問權限。最初,用戶可以向RMS服務器提交認證信息以證明其身份。隨后,RMS服務器可檢查訪問控制和使用限制信息以確定用戶在該內容中的權限。RMS服務器然后可返回反映用 戶在內容中的被準許的訪問權的使用許可證(“UL”)。然而,用戶機器處的安全性由RMS組件來維護,該RMS組件不信任其他進程并且僅 最低限度地信任操作系統(tǒng)所提供的執(zhí)行環(huán)境(包括共享dll、系統(tǒng)上的其他軟件、用戶模式 調試程序等)。此外,RMS組件嘗試保護RMS進程免遭攻擊,諸如進程調試程序、內核模式調 試程序、其他應用程序、代碼注入攻擊、導入訪問表的重新路由等。RMS組件使用反調試、模 糊和其他DRM技術來完成該任務。RMS組件嘗試提供用于評估策略的“安全”地點以及用于 存儲根秘密的“安全”地點,這允許高速緩存數據以能夠離線訪問受保護數據。另外,它包 括嘗試確認作出調用的應用程序、其調用棧等的模塊認證。使用這種類型的RMS組件的應 用程序需要特殊的RMS清單和簽名。然而,盡管極大地模糊化,但RMS組件在其核心處包含用于與RMS服務器通信以及 用于存儲根秘密的公鑰/私鑰對。數據訪問由與數據本身保存在一起的PL來保護。PL包含保護該數據的所有相關 訪問控制和使用限制信息。PL與公鑰密碼一起綁定到特定RMS服務器并且由客戶機器的客 戶機許可證證書(“CLC”)進行簽名,客戶機許可證證書是由公司RMS服務器發(fā)放給客戶機 器的。到該RMS服務器的URL被不受限地包含在PL中,以使得RMS知曉應用程序可以找到 特定RMS服務器以請求訪問受保護信息。為了使客戶機應用程序能夠讀取數據,RMS組件必須首先獲取標識特定用戶的權 限管理賬戶證書(“RAC”)。RAC包含公共和專用部分兩者。在RMS服務器向給定應用程 序發(fā)放RAC之前,該服務器首先確認本地安全環(huán)境有效。該檢查通常通過要求RMS組件用 嵌入的私鑰進行簽名來執(zhí)行。僅當周圍環(huán)境有效時該代碼路徑才嚴重依賴模糊和其他“黑 盒”技術和功能。對功能本身以及從RMS組件的RSA保險箱中直接提取嵌入的私鑰兩者的 違背將允許已受損的環(huán)境欺騙服務器無論如何發(fā)放RAC。RAC通過本地RMS安全措施以及 用戶的登錄憑證來保護。其次,客戶機應用程序必須獲取UL??蛻魴C將其標識以RAC的形式連同對應于它 希望消費的內容的PL—起發(fā)送到RMS服務器。作為響應,RMS服務器檢查該PL以確保該 RAC所表示的特定身份被授權讀取內容。如果被授權,則RMS服務器然后創(chuàng)建對RAC加密的 UL。該UL可以高速緩存在本地機器上以便于后續(xù)離線數據訪問。不幸的是,RMS組件對操作系統(tǒng)的最少信任迫使每一個客戶機應用程序開發(fā)其自 己的用于存儲PL和受保護內容的方法。PL可具有可變長度,從而使客戶機應用程序存儲 PL的能力復雜化。通常,客戶機應用程序使用其自己的數據格式來存儲PL。例如,客戶機 應用程序可以用文件格式來將PL存儲在首部中,在傳輸受保護數據時將PL存儲在附加消 息或分組首部中,等等。簡要概述本發(fā)明涉及用于向應用程序集發(fā)放受保護內容的許可證的方法、系統(tǒng)和計算機程 序產品。在某些實施例中,計算機系統(tǒng)檢測到用戶正試圖通過計算機系統(tǒng)處的應用程序來 訪問受保護內容。內容根據由包括單獨的數字權限管理服務器的數字權限管理(“DRM”) 系統(tǒng)管理的保護策略來保護。保護策略包括標識被允許訪問內容的應用程序的集合的應用 程序集。
在允許應用程序訪問受保護內容之前,計算機系統(tǒng)與DRM服務器交換信息以獲取 對應于用戶的用戶密鑰。用戶密鑰在訪問受保護內容時使用。也在允許應用程序訪問受保 護內容之前,計算機系統(tǒng)確定應用程序在應用程序集中。計算機系統(tǒng)響應于該確定來允許 應用程序使用用戶密鑰來訪問受保護內容。在其他實施例中,計算機系統(tǒng)檢測用戶正試圖通過計算機系統(tǒng)處的應用程序來訪 問受保護內容。受保護內容根據始發(fā)受保護內容的企業(yè)的企業(yè)所有者所指定的保護策略來 保護。保護策略指示被授權訪問內容的用戶、授權用戶被準許對內容執(zhí)行的操作、被準許 訪問內容的計算環(huán)境、以及被準許訪問內容的應用程序的集合。計算機系統(tǒng)將關于用戶的用戶身份信息發(fā)送到內容保護服務器。計算機系統(tǒng)將計 算機系統(tǒng)的計算環(huán)境發(fā)送到內容保護服務器。計算機系統(tǒng)從保護服務器接收用戶密鑰。用 戶密鑰可由用戶用來訪問受保護內容。用戶密鑰響應于認證用戶并且響應于確定計算環(huán)境 適于評估應用程序集成員資格,來從內容保護服務器返回到計算機系統(tǒng)。計算機系統(tǒng)處的操作系統(tǒng)確定應用程序是否被包括在保護策略中的應用程序集 中。操作系統(tǒng)基于該確定來適當地規(guī)定應用程序對受保護內容的訪問。操作系統(tǒng)的規(guī)定可 包括當應用程序被包括在保護策略中的應用程序集中時準許該應用程序訪問受保護內容。 操作系統(tǒng)的規(guī)定還可包括當應用程序未被包括在保護策略中的應用程序集中時阻止該應 用程序訪問受保護內容。提供本發(fā)明內容是為了以精簡的形式介紹將在以下具體實施方式
中進一步描述 的一些概念。本概述并非旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用 于幫助確定所要求保護的主題的范圍。本發(fā)明的其他特征和優(yōu)點將在隨后的描述中闡述,并且部分地將從本說明書中顯 而易見,或可以通過本發(fā)明的實施來獲知。本發(fā)明的特征和優(yōu)點可通過在所附權利要求書 中特別指出的工具和組合來實現和獲得。本發(fā)明的這些和其他特征將通過以下描述和所附 權利要求書變得更加顯而易見,或可通過對下文中所述的本發(fā)明的實踐來領會。附圖簡述為了描述可以獲得本發(fā)明的上文所列舉的及其他優(yōu)點和特征的方式,將通過參考 附圖中所示的本發(fā)明的各具體實施例來呈現上文簡要描述的本發(fā)明的更具體的描述。可以 理解,這些附圖只描繪了本發(fā)明的各典型實施例,并且因此不被認為是對其范圍的限制,將 通過使用附圖并利用附加特征和細節(jié)來描述和解釋本發(fā)明,在附圖中
圖1示出了方便向應用程序集發(fā)放受保護內容的許可證的示例計算機體系結構 的視圖。圖2示出了方便向應用程序集發(fā)放受保護內容的許可證的另一示例計算機體系 的視圖。圖3示出了用于提供對受保護內容的訪問的示例方法的流程圖。圖4示出了用于提供對受保護內容的訪問的示例方法的流程圖。詳細描述本發(fā)明涉及用于向應用程序集發(fā)放受保護內容的許可證的方法、系統(tǒng)和計算機程 序產品。在某些實施例中,計算機系統(tǒng)檢測用戶正試圖通過計算機系統(tǒng)處的應用程序來訪 問受保護內容。內容根據由包括單獨的數字權限管理服務器的數字權限管理(“DRM”)系統(tǒng)管理的保護策略來保護。保護策略包括標識被允許訪問內容的應用程序的集合的應用程序集。在允許應用程序訪問受保護內容之前,計算機系統(tǒng)與DRM服務器交換信息以獲取 對應于用戶的用戶密鑰。用戶密鑰在訪問受保護內容時使用。也在允許應用程序訪問受保 護內容之前,計算機系統(tǒng)確定應用程序在應用程序集中。計算機系統(tǒng)響應于該確定來允許 應用程序使用用戶密鑰來訪問受保護內容。在其他實施例中,計算機系統(tǒng)檢測用戶正試圖通過計算機系統(tǒng)處的應用程序來訪 問受保護內容。受保護內容根據始發(fā)受保護內容的企業(yè)的企業(yè)所有者所指定的保護策略來 保護。保護策略指示被授權訪問內容的用戶、授權用戶被準許對內容執(zhí)行的操作、被準許 訪問內容的計算環(huán)境、以及被準許訪問內容的應用程序的集合。計算機系統(tǒng)將關于用戶的用戶身份信息發(fā)送到內容保護服務器。計算機系統(tǒng)將計 算機系統(tǒng)的計算環(huán)境發(fā)送到內容保護服務器。計算機系統(tǒng)從保護服務器接收用戶密鑰。用 戶密鑰可由用戶用來訪問受保護內容。用戶密鑰響應于認證用戶并且響應于確定計算環(huán)境 適于評估應用程序集成員資格,來從內容保護服務器返回到計算機系統(tǒng)。計算機系統(tǒng)處的操作系統(tǒng)確定應用程序是否被包括在保護策略中的應用程序集 中。操作系統(tǒng)基于該確定來適當地規(guī)定應用程序對受保護內容的訪問。操作系統(tǒng)的規(guī)定可 包括當應用程序被包括在保護策略中的應用程序集中時準許該應用程序訪問受保護內容。 操作系統(tǒng)的規(guī)定還可包括當應用程序未被包括在保護策略中的應用程序集中時阻止該應 用程序訪問受保護內容。本發(fā)明的各實施例可以包括或利用包含計算機硬件的專用或通用計算機,這將在 下文中更詳細地討論。本發(fā)明范圍內的各實施例還包括用于承載或存儲計算機可執(zhí)行指令 和/或數據結構的物理和其他計算機可讀介質。這樣的計算機可讀介質可以是可由通用或 專用計算機系統(tǒng)訪問的任何可用介質。存儲計算機可執(zhí)行指令的計算機可讀介質是物理 存儲介質。承載計算機可執(zhí)行指令的計算機可讀介質是傳輸介質。由此,作為示例而非限 制,本發(fā)明的各實施例可包括至少兩種完全不同的計算機可讀介質物理存儲介質和傳輸 介質。物理存儲介質包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁 存儲設備、或可用于存儲計算機可執(zhí)行指令或數據結構形式的所需程序代碼裝置且可由通 用或專用計算機訪問的任何其他介質。對于本說明書和所附權利要求書,“網絡”被定義為允許在計算機系統(tǒng)和/或模塊 和/或其他電子設備之間傳輸電子數據的一個或多個數據鏈路。當信息通過網絡或另一通 信連接(硬連線、無線、或硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連 接適當地視為傳輸介質。傳輸介質可包括可用于攜帶計算機可執(zhí)行指令或數據結構形式的 所需程序代碼裝置并可由通用或專用計算機訪問的網絡和/或數據鏈路。上面各項的組合 也應該包括在計算機可讀介質的范圍內。此外,應當理解,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數據結構 形式的程序代碼裝置可從傳輸介質自動轉移到物理存儲介質(或者相反)。例如,通過網 絡或數據鏈路接收到的計算機可執(zhí)行指令或數據結構可被緩存在網絡接口模塊(例如, “NIC”)內的RAM中,然后最終被傳送到計算機系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失的物理存儲介質。由此,應當理解,物理存儲介質可被包括在同樣(或甚至主要)利用傳輸介 質的計算機系統(tǒng)組件中。計算機可執(zhí)行指令包括例如使通用計算機、專用計算機或專用處理設備執(zhí)行某一 功能或一組功能的指令和數據。計算機可執(zhí)行指令可以是例如二進制代碼、諸如匯編語言 等中間格式指令、或甚至源代碼。盡管用結構特征和/或方法動作專用的語言描述了本主 題,但可以理解的是,所附權利要求書中定義的主題不必限于上述特征或動作。相反,上述 特征和動作是作為實現權利要求的示例形式而公開的。本領域的技術人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網絡 計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息 處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、網絡PC、小型 計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明也可以在其中通 過網絡鏈接(或者通過硬連線數據鏈路、無線數據鏈路,或者通過硬連線和無線數據鏈路 的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務的分布式系統(tǒng)環(huán)境中實踐。在分布式系 統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備中。圖1示出了方便向應用程序集發(fā)放受保護內容的許可證的示例計算機體系結構 100的視圖。如圖所描繪的,計算機體系結構100包括各種組件和數據,包括計算機系統(tǒng) 101、DRM系統(tǒng)171、DRM服務器105、內容位置104以及保護策略121。所描繪的組件和數據 中的每一個可通過系統(tǒng)總線和/或諸如例如局域網(“LAN”)、廣域網(“WAN”)或甚至因 特網等網絡(或作為網絡的一部分)彼此連接。因此,所描繪的組件中的每一個以及任何 其他連接的組件都可以創(chuàng)建消息相關數據并通過網絡交換消息相關數據(例如,網際協(xié)議 (“IP”)數據報和利用IP數據報的其他更高層協(xié)議,諸如傳輸控制協(xié)議(“TCP”)、超文本 傳輸協(xié)議(“HTTP”)、簡單郵件傳輸協(xié)議(“SMTP”)等)。一般而言,計算機系統(tǒng)101包括有時能夠請求訪問根據保護策略來保護的內容的 一個或多個應用程序。內容可以存儲在遠程網絡驅動器處、在網站處、在數據庫中、在計算 機系統(tǒng)101的存儲器中、在消息服務器處等。DRM系統(tǒng)171包括DRM服務器105。DRM服務 器105可管理用于受保護內容的保護策略并且向客戶機計算機系統(tǒng)提供用于訪問受保護 內容的密鑰、許可證等。圖3示出了用于提供對受保護內容的訪問的示例方法300的流程圖。方法300將 參考圖1所描繪的計算機體系結構100的組件和數據來描述。用戶131可將用戶輸入111輸入到應用程序103以請求訪問內容113。響應于用 戶輸入111,應用程序103可發(fā)送內容請求112以嘗試訪問來自內容位置104的內容113。 從計算機系統(tǒng)101的觀點來看,內容位置104實際上可以是任何內部(例如,系統(tǒng)存儲器 等)、本地(連接的硬盤驅動器等)、或遠程位置(網絡驅動器、網站等)。方法300包括檢測用戶正試圖通過計算機系統(tǒng)處的應用程序來訪問受保護內容 的動作,該內容根據由包括單獨的數字權限管理服務器的數字權限管理系統(tǒng)管理的保護策 略來保護,該保護策略包括應用程序集,該應用程序集標識被允許訪問內容的應用程序的 集合(動作301)。例如,計算機系統(tǒng)101可檢測內容請求112是訪問來自內容位置104的 內容113的嘗試。內容113可以根據由DRM服務器105管理的保護策略121來保護。保護 策略121包括標識被允許訪問內容的應用程序的集合的應用程序集124。
應用程序可通過應用程序ID來標識。應用程序ID可以基于應用程序、應用程序 版本、應用程序補丁歷史、應用程序所有權、應用程序證書等中的一個或多個。由此,應用程 序集IM可包括應用程序ID的列表。在允許應用程序訪問受保護內容之前,方法300包括計算機系統(tǒng)與數字權限管理 服務器交換信息以獲取對應于用戶的用戶密鑰的動作,該用戶密鑰用于訪問受保護內容 (動作302)。例如,計算機系統(tǒng)101和DRM服務器105可執(zhí)行認證交換114,從而導致向計 算機系統(tǒng)101發(fā)放用戶密鑰117(對應于用戶131)。在允許應用程序訪問受保護內容之前,方法300還可包括計算機系統(tǒng)確定應用程 序在應用程序集中的動作(動作303)。例如,計算機系統(tǒng)101可確定應用程序103被包括 在應用程序集1 中。計算機系統(tǒng)101可生成或訪問對應于應用程序103的先前生成的應 用程序ID。應用程序ID可根據應用程序103的應用程序、應用程序版本、應用程序補丁歷 史、應用程序所有權、應用程序證書等中的一個或多個來生成。計算機系統(tǒng)101可將對應于 應用程序103的應用程序ID與被包括在應用程序集124中的應用程序ID進行比較。作為 對所述比較揭示對應于應用程序103的應用程序ID被包括在應用程序集IM中的響應,計 算機系統(tǒng)101確定應用程序103被包括在應用程序集124中。方法300包括計算機系統(tǒng)響應于該確定來允許應用程序使用用戶密鑰來訪問受 保護內容的動作(動作304)。例如,計算機系統(tǒng)101可響應于確定應用程序103被包括在 應用程序集124中來允許應用程序103使用用戶密鑰117來訪問內容113(來自內容位置 104)。在某些實施例中,在確定是允許還是拒絕對受保護內容的訪問時也考慮操作環(huán) 境。圖2示出了方便向應用程序集發(fā)放受保護內容的許可證的示例計算機體系結構200的 視圖。如圖所描繪的,計算機體系結構200包括各種組件和數據,包括計算機系統(tǒng)201、保護 服務器105、內容位置204以及保護策略221。所描繪的組件和數據中的每一個可通過系統(tǒng) 總線和/或諸如例如局域網(“LAN”)、廣域網(“WAN”)或甚至因特網等網絡(或作為網 絡的一部分)彼此連接。因此,所描繪的組件中的每一個以及任何其他連接的組件都可以 創(chuàng)建消息相關數據并通過網絡交換消息相關數據(例如,網際協(xié)議(“IP”)數據報和利用 IP數據報的其他更高層協(xié)議,諸如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡 單郵件傳輸協(xié)議(“SMTP”)等)。一般而言,計算機系統(tǒng)202包括在操作系統(tǒng)202中運行的一個或多個應用程序 203A、20;3B等。該一個或多個應用程序有時能夠請求訪問根據保護策略來保護的內容。內 容可以存儲在遠程網絡驅動器處、在網站處、在數據庫中、在計算機系統(tǒng)201的存儲器中、 在消息服務器處等。保護服務器205可管理用于受保護內容的保護策略并且向客戶機計算 機系統(tǒng)提供用于訪問受保護內容的密鑰、許可證等。圖4示出了用于提供對受保護內容的訪問的示例方法400的流程圖。方法400將 參考圖2所描繪的計算機體系結構200的組件和數據來描述。用戶331可將用戶輸入211輸入到應用程序2(X3B以請求訪問受保護內容213。響 應于用戶輸入211,應用程序2(X3B可發(fā)送內容請求212以嘗試訪問來自內容位置204的受 保護內容213。從計算機系統(tǒng)101的觀點來看,內容位置204實際上可以是任何內部(例 如,系統(tǒng)存儲器等)、本地(連接的硬盤驅動器等)、或遠程位置(網絡驅動器、網站等)。
方法400包括檢測用戶正試圖通過計算機系統(tǒng)處的應用程序來訪問受保護內容 的動作,該受保護內容根據保護策略來保護,該保護策略由始發(fā)受保護內容的企業(yè)的企業(yè) 所有者來指定,該保護策略指示被授權訪問內容的用戶、授權用戶被準許對內容執(zhí)行的操 作、被準許訪問內容的計算環(huán)境、以及被準許訪問內容的應用程序的集合(動作401)。例 如,計算機系統(tǒng)202可檢測到內容請求212是訪問來自內容位置204的受保護內容213的 嘗試。受保護內容213可以根據由保護服務器205管理的保護策略221來保護。保護策略 221可由始發(fā)受保護內容213的企業(yè)所有者來指定。保護策略221包括用戶許可222、授權環(huán)境223和授權應用程序224。用戶許可 222表示受保護內容213的授權用戶以及受保護內容213的授權用戶被準許對受保護內容 213執(zhí)行的操作的集合。類似于應用程序集124,授權應用程序2M可指示(例如,通過應 用程序ID)被授權訪問受保護內容213的應用程序。授權應用程序2M還可表示被信任根 據使用許可222來適當地規(guī)定對受保護內容213的訪問的應用程序。操作環(huán)境可包括一個或多個系統(tǒng)屬性的組合,包括網絡位置(物理或邏輯)、引 導路徑、代碼完整性策略、引導選項(例如,啟用內核模式調試程序、安全模式等)、來自系 統(tǒng)健康代理(“SHA”)的信息、來自系統(tǒng)健康確認器(“SHV”)的信息等。授權環(huán)境223指 示被保護服務器204信任執(zhí)行應用程序集評估的操作環(huán)境。系統(tǒng)屬性的不同組合可產生不 同的授權操作環(huán)境。方法300包括將關于用戶的用戶身份信息發(fā)送到內容保護服務器的動作(動作 402)。例如,計算機系統(tǒng)101可將諸如例如用戶憑證等身份信息215發(fā)送到保護服務器205。 方法400包括將計算機系統(tǒng)的計算環(huán)境發(fā)送到內容保護服務器的動作(動作40;3)。例如, 計算機系統(tǒng)101可將計算環(huán)境216發(fā)送到保護服務器205。計算環(huán)境216可包括計算機系統(tǒng)201的系統(tǒng)屬性的組合。計算機系統(tǒng)201可使用 證明或某種其他安全機制來以保護服務器205信任的方式向保護服務器205發(fā)送計算環(huán) 境。計算環(huán)境216可包括以下各項中的一個或多個計算機系統(tǒng)201的網絡位置(物理或 邏輯)、操作系統(tǒng)202的引導路徑、操作系統(tǒng)202的代碼完整性策略、操作系統(tǒng)202的引導選 項(例如,啟用內核模式調試程序、安全模式等)、來自在計算機系統(tǒng)201處運行的系統(tǒng)健康 代理(“SHA”)的信息、來自在計算機系統(tǒng)201處運行的系統(tǒng)健康確認器(“SHV”)的信息寸。保護服務器205可使用身份信息214來確定用戶231是否是保護內容213的授權 用戶。例如,保護服務器205可使用身份信息214來在用戶許可222中定位用戶231的許可。保護服務器205可使用計算環(huán)境216來確定計算機系統(tǒng)201是否具有用于評估應 用程序集成員資格的適當的計算環(huán)境。用于評估應用程序集成員資格的適當的環(huán)境可指示 保護服務器205愿意信任該計算環(huán)境來適當地評估應用程序集成員資格。例如,保護服務 器205可分析計算環(huán)境216中的系統(tǒng)屬性以確定包括在計算環(huán)境216中的系統(tǒng)屬性的某種 組合是否指示包括在授權環(huán)境223中的計算環(huán)境(并由此可被信任執(zhí)行應用程序集評估)。各個不同的系統(tǒng)屬性或系統(tǒng)屬性的組合可指示授權計算環(huán)境。例如,指示本地網 絡上的計算機系統(tǒng)的網絡地址可能是用于評估應用程序集成員資格的適當的環(huán)境的足夠 證據。另一方面,對于在防火墻之外的計算機系統(tǒng),公知的引導路徑、足夠的代碼完整性策略、以及指定的健康信息可能是指示用于評估應用程序集成員資格的適當環(huán)境的必需證 據。當用戶231是受保護內容213的授權用戶并且計算環(huán)境216是授權計算環(huán)境時, 保護服務器205可將用戶密鑰217返回給計算機系統(tǒng)201。方法400包括從保護服務器接收用戶密鑰的動作,該用戶密鑰可由用戶用來訪問 受保護內容,該用戶密鑰響應于認證用戶并且響應于確定計算環(huán)境適于評估應用程序集成 員資格而從服務器返回至計算機系統(tǒng)(動作404)。例如,計算機系統(tǒng)201可以從保護服務 器205接收用戶密鑰217。用戶密鑰217可由用戶231用來訪問受保護內容213。用戶密 鑰217響應于保護服務器205認證用戶231并且確定計算機系統(tǒng)101的操作環(huán)境適于評估 應用程序20 的應用程序集成員資格而返回至計算機系統(tǒng)201。方法400包括計算機系統(tǒng)處的操作系統(tǒng)確定應用程序是否被包括在保護策略中 的應用程序集中的動作(動作405)。例如,操作系統(tǒng)202可確定應用程序203是否被包括 在授權應用程序224中。操作系統(tǒng)202可將應用程序203的應用程序ID與被包括在授權 應用程序224中的應用程序ID進行比較。如果比較揭示匹配,則操作系統(tǒng)202確定應用程 序20 是授權應用程序。如果比較未揭示匹配,則操作系統(tǒng)202確定應用程序20 不是 授權應用程序。方法400包括操作系統(tǒng)基于該確定來適當地規(guī)定應用程序對受保護內容的訪問 的動作(動作406)。例如,操作系統(tǒng)202可基于應用程序2(Χ3Β是授權應用程序還是非授權 應用程序來適當地規(guī)定應用程序2(Χ3Β對受保護內容213的訪問。由此,對應用程序對受保護內容的訪問的適當規(guī)定可包括操作系統(tǒng)在應用程序被 包括在保護策略中的應用程序集中時準許該應用程序訪問受保護內容的動作(動作407)。 例如,當應用程序2(Χ3Β被包括在授權應用程序224中時,操作系統(tǒng)202可允許應用程序 2(Χ3Β使用用戶密鑰217來訪問受保護內容213。因此,應用程序20!3Β可以針對受保護內容 213強制實施對應于用戶231的用戶許可222。另一方面,對應用程序對受保護內容的訪問的適當規(guī)定還可包括操作系統(tǒng)在應 用程序未被包括在保護策略中的應用程序集中時阻止該應用程序訪問受保護內容的動作 (動作408)。例如,當應用程序20 未被包括在授權應用程序224中時,操作系統(tǒng)202可 阻止應用程序20 訪問受保護內容213。缺少授權可指示應用程序20 不被信任強制實 施對于受保護內容213的用戶許可222。因此,本發(fā)明的各實施例準許本地機器增加對授權對受保護內容的訪問的參與。 例如,適當的計算環(huán)境中的操作系統(tǒng)被準許確定應用程序是否被授權訪問受保護內容。由 此,應用程序免于必須存儲發(fā)布許可證。此外,部分地分發(fā)授權決定,以便減輕保護服務器 上的資源負擔。因此,本發(fā)明的各實施例能夠方便請求訪問受保護內容時的更穩(wěn)健且高效 的授權決定。在不偏離本發(fā)明的精神或必要特征的情況下,本發(fā)明能以其他具體形式來實現。 所描述的實施例在各個方面都只作為說明性的,而不是限制性的。因此,本發(fā)明的范圍由所 附權利要求書而不是由前面的描述指出。在權利要求的等效方案內的含義和范圍內的所有 更改都將包括在它們的范圍內。
權利要求
1.一種計算機系統(tǒng)(101)處的用于提供對受保護內容(113)的訪問的方法,所述方法 包括檢測用戶(131)正試圖通過所述計算機系統(tǒng)(112)處的應用程序(103)來訪問受保護 內容的動作,所述受保護內容根據由包括單獨的數字權限管理服務器(105)的數字權限管 理系統(tǒng)(171)管理的保護策略(121)來保護,所述保護策略(121)包括應用程序集(IM), 所述應用程序集(124)標識被允許訪問所述內容的應用程序的集合;在允許所述應用程序(10 訪問所述受保護內容(11 之前所述計算機系統(tǒng)與數字權限管理服務器(15)交換信息(114)以獲取對應于所述用戶 (131)的用戶密鑰的動作,所述用戶密鑰用于訪問所述受保護內容(113)以及所述計算機系統(tǒng)(101)確定所述應用程序(10 在所述應用程序集(IM)中的動作;以及所述計算機系統(tǒng)(101)響應于所述確定來允許所述應用程序(103)使用所述用戶密鑰 來訪問所述受保護內容(113)。
2.如權利要求1所述的方法,其特征在于,所述檢測用戶正試圖通過所述計算機系統(tǒng) 處的應用程序來訪問受保護內容的動作包括檢測用戶正試圖訪問根據保護策略來保護的 受保護內容的動作,所述保護策略包括所述應用程序集以及適于評估所述應用程序集中的 應用程序集成員資格的一個或多個計算環(huán)境。
3.如權利要求1所述的方法,其特征在于,所述檢測用戶正試圖通過所述計算機系統(tǒng) 處的應用程序來訪問受保護內容的動作包括檢測用戶正試圖訪問根據保護策略來保護的 受保護內容的動作,所述保護策略包括應用程序集,其中所述應用程序集包括被授權訪問 所述受保護內容的應用程序的一個或多個應用程序ID。
4.如權利要求1所述的方法,其特征在于,所述檢測用戶正試圖通過所述計算機系統(tǒng) 處的應用程序來訪問受保護內容的動作包括檢測用戶正試圖訪問受保護內容的動作,所述 受保護內容根據所述受保護內容的企業(yè)所有者的保護策略來保護。
5.如權利要求1所述的方法,其特征在于,所述計算機系統(tǒng)與數字權限管理服務器交 換信息以獲取對應于所述用戶的用戶密鑰的動作包括將關于所述用戶的用戶認證信息發(fā)送到所述DRM服務器的動作;以及將所述計算機系統(tǒng)的操作環(huán)境的屬性發(fā)送到所述DRM服務器的動作。
6.如權利要求5所述的方法,其特征在于,所述計算機系統(tǒng)的操作環(huán)境的屬性指示以 下各項中的一個或多個網絡位置、所述操作系統(tǒng)的引導路徑、所述操作系統(tǒng)的代碼完整性 策略、所述操作系統(tǒng)的引導選項、來自系統(tǒng)健康代理(“SHA”)的信息、以及來自系統(tǒng)健康確 認器(“SHV”)的信息。
7.如權利要求1所述的方法,其特征在于,所述計算機系統(tǒng)確定所述應用程序在所述 應用程序集中的動作包括所述計算機系統(tǒng)處的操作系統(tǒng)確定所述應用程序在所述應用程 序集中的動作。
8.如權利要求1所述的方法,其特征在于,所述計算機系統(tǒng)確定所述應用程序在所述 應用程序集中的動作包括所述計算機系統(tǒng)將所述應用程序的應用程序ID與包括在所述應用程序集中的應用程 序ID進行比較的動作;以及確定所述應用程序的應用程序ID被包括在所述應用程序集中的動作。
9.一種計算機系統(tǒng)O01)處的用于提供對受保護內容013)的訪問的方法,所述方法 包括檢測用戶(231)正試圖通過所述計算機系統(tǒng)O01)處的應用程序Q03B)來訪問受保 護內容013)的動作,所述受保護內容(213)根據保護策略021)來保護,所述保護策略 (221)由始發(fā)所述受保護內容013)的企業(yè)的企業(yè)所有者來指定,所述保護策略(221)指 示被授權訪問所述內容的用戶022)、授權用戶被準許對所述受保護內容執(zhí)行的操作、被 準許訪問所述內容的計算環(huán)境023)、以及被準許訪問所述內容的應用程序的集合OM)將關于所述用戶(231)的用戶身份信息(214)發(fā)送到內容保護服務器(205)的動作;將所述計算機系統(tǒng)O01)的計算環(huán)境(216)發(fā)送到所述內容保護服務器O05)的動作;從所述內容保護服務器(205)接收用戶密鑰017)的動作,所述用戶密鑰(217)可由 所述用戶(231)用來訪問所述受保護內容013),所述用戶密鑰(217)響應于認證所述用戶 (231)并且響應于確定所述計算環(huán)境(216)適于評估應用程序集成員資格而從所述內容保 護服務器(205)返回至所述計算機系統(tǒng)O01);所述計算機系統(tǒng)O01)處的操作系統(tǒng)(202)確定所述應用程序Q03b)是否被包括在 所述保護策略021)中的應用程序集OM)中的動作;以及所述操作系統(tǒng)(202)基于所述確定來適當地規(guī)定所述應用程序O03B)對所述受保護 內容013)的訪問的動作,包括在所述應用程序O03B)被包括在所述保護策略021)中的應用程序集OM)中時準 許所述應用程序O03B)訪問所述受保護內容013)的動作;以及在所述應用程序O03B)未被包括在所述保護策略021)中的應用程序集OM)中時 阻止所述應用程序O03B)訪問所述受保護內容013)的動作。
10.如權利要求9所述的方法,其特征在于,所述檢測用戶正試圖通過所述計算機系統(tǒng) 處的應用程序來訪問根據保護策略來保護的受保護內容的動作包括檢測用戶正試圖通過 所述計算機系統(tǒng)處的應用程序來訪問受保護內容的動作,所述受保護內容根據保護策略來 保護,其中被準許訪問所述內容的計算環(huán)境包括被充分信任來評估應用程序集成員資格的 計算環(huán)境。
11.如權利要求9所述的方法,其特征在于,所述檢測用戶正試圖通過所述計算機系統(tǒng) 處的應用程序來訪問根據保護策略來保護的受保護內容的動作包括檢測用戶正試圖通過 所述計算機系統(tǒng)處的應用程序來訪問受保護內容的動作,所述受保護內容根據保護策略來 保護,其中授權應用程序是被信任來適當地強制實施用戶被準許執(zhí)行的操作的應用程序。
12.如權利要求9所述的方法,其特征在于,所述將關于所述用戶的用戶身份信息發(fā)送 到內容保護服務器的動作包括將用戶憑證發(fā)送到所述保護服務器的動作。
13.如權利要求9所述的方法,其特征在于,所述將所述計算機系統(tǒng)的計算環(huán)境發(fā)送到 所述內容保護服務器包括發(fā)送指示以下各項中的一個或多個的屬性的動作網絡位置、所 述操作系統(tǒng)的引導路徑、所述操作系統(tǒng)的代碼完整性策略、所述操作系統(tǒng)的引導選項、來自 系統(tǒng)健康代理(“SHA”)的信息、以及來自系統(tǒng)健康確認器(“SHV”)的信息。
14.如權利要求1所述的方法,其特征在于,所述操作系統(tǒng)確定所述應用程序是否被包括在所述保護策略中的應用程序集中的動作包括所述操作系統(tǒng)將所述應用程序的應用程 序ID與被包括在所述保護策略中的應用程序ID進行比較的動作。
15.如權利要求1所述的方法,其特征在于,所述操作系統(tǒng)確定所述應用程序是否被包 括在所述保護策略中的應用程序集中的動作包括所述操作系統(tǒng)確定所述應用程序被包括 在所述應用程序集中的動作。
16.如權利要求1所述的方法,其特征在于,所述準許所述應用程序訪問所述受保護內 容的動作包括所述應用程序強制實施授權用戶被準許對所述受保護內容執(zhí)行的操作的動 作。
17.一種計算機系統(tǒng),所述計算機系統(tǒng)包括一個或多個處理器;系統(tǒng)存儲器;以及一個或多個其上存儲有計算機可執(zhí)行指令的計算機可讀介質,所述指令在被所述處理 器中的一個執(zhí)行時使所述計算機系統(tǒng)提供對受保護內容的訪問,包括以下動作檢測用戶正試圖通過所述計算機系統(tǒng)處的應用程序來訪問受保護內容,所述受保護內 容根據DRM保護策略來保護,所述DRM保護策略由始發(fā)所述受保護內容的企業(yè)的企業(yè)所有 者來指定,所述保護策略指示被授權訪問所述內容的用戶、授權用戶被準許對所述受保護 內容執(zhí)行的操作、被準許訪問所述內容的計算環(huán)境、以及被準許訪問所述內容的應用程序 的集合;將關于所述用戶的用戶憑證發(fā)送到DRM服務器;將所述計算機系統(tǒng)的系統(tǒng)屬性發(fā)送到所述DRM服務器以便向所述DRM服務器指示所述 計算機系統(tǒng)的計算環(huán)境;從所述DRM服務器接收用戶密鑰,所述用戶密鑰可由所述用戶用來訪問所述受保護內 容,所述用戶密鑰響應于認證所述用戶并且響應于確定所述系統(tǒng)屬性指示適于評估應用程 序集成員資格的計算環(huán)境而從所述DRM服務器返回至所述計算機系統(tǒng);所述計算機系統(tǒng)處的操作系統(tǒng)確定所述應用程序是否被包括在所述保護策略中的應 用程序集中,包括在所述應用程序集中指示出被信任來強制實施授權用戶被準許對所述受 保護內容執(zhí)行的操作的應用程序;以及所述操作系統(tǒng)基于所述確定來適當地規(guī)定所述應用程序對所述受保護內容的訪問,包括在所述應用程序被包括在所述保護策略中的應用程序集中時準許所述應用程序強制 實施授權用戶被準許對所述受保護內容執(zhí)行的操作;以及在所述應用程序未被包括在所述保護策略中的應用程序集中時阻止所述應用程序訪 問所述受保護內容。
18.如權利要求17所述的系統(tǒng),其特征在于,從集合成員資格中排除的不可信應用程 序被標記為不可由所述操作系統(tǒng)用來強制實施授權用戶被準許對所述受保護內容執(zhí)行的 操作。
19.如權利要求17所述的系統(tǒng),其特征在于,在被所述處理器中的一個執(zhí)行時使所述 計算機系統(tǒng)確定所述應用程序是否被包括在所述保護策略中的應用程序集中的計算機可 執(zhí)行指令包括在被所述處理器中的一個執(zhí)行時使所述計算機系統(tǒng)將所述應用程序的應用程序ID與所述應用程序集中的應用程序ID進行比較的計算機可執(zhí)行指令。
20.如權利要求17所述的系統(tǒng),其特征在于,在被所述處理器中的一個執(zhí)行時使所述 計算機系統(tǒng)將所述計算機系統(tǒng)的系統(tǒng)屬性發(fā)送到所述DRM服務器以便向所述DRM服務器指 示所述計算機系統(tǒng)的計算環(huán)境的計算機可執(zhí)行指令包括在被所述處理器中的一個執(zhí)行時 使所述計算機系統(tǒng)發(fā)送以下各項中的一個或多個的計算機可執(zhí)行指令網絡位置、所述操 作系統(tǒng)的引導路徑、所述操作系統(tǒng)的代碼完整性策略、所述操作系統(tǒng)的引導選項、來自系統(tǒng) 健康代理(“SHA”)的信息、以及來自系統(tǒng)健康確認器(“SHV”)的信息。
全文摘要
本發(fā)明涉及用于向應用程序集發(fā)放受保護內容的許可證的方法、系統(tǒng)和計算機程序產品。本發(fā)明的各實施例準許本地機器增加其對授權對受保護內容的訪問的參與。例如,適當的計算環(huán)境中的操作系統(tǒng)被準許確定應用程序是否被授權訪問受保護內容。由此,應用程序免于必須存儲發(fā)布許可證。此外,部分地分發(fā)授權決定,以便減輕保護服務器上的資源負擔。因此,本發(fā)明的各實施例能夠方便請求訪問受保護內容時的更穩(wěn)健且高效的授權決定。
文檔編號G06F15/16GK102077208SQ200980124802
公開日2011年5月25日 申請日期2009年6月25日 優(yōu)先權日2008年6月27日
發(fā)明者A·海隆, C·W·考夫曼, D·G·布賴斯, J·D·施瓦茨, J·麥克唐威爾, K·D·雷, K·E·卡拉姆菲勒夫, M·C·塞策, P·J·里奇, P·M·卡瑪塔, W·R·蒂普頓 申請人:微軟公司