在本發(fā)明專利技術(shù)的示例中,可執(zhí)行程序試圖訪問數(shù)據(jù)文件。對基于可執(zhí)行程序身份的訪問控制列表進(jìn)行訪問,以確定該可執(zhí)行程序是否應(yīng)被允許訪問數(shù)據(jù)文件。
【技術(shù)實現(xiàn)步驟摘要】
【國外來華專利技術(shù)】基于可執(zhí)行程序身份的文件訪問
技術(shù)介紹
在計算領(lǐng)域,希望限制對數(shù)據(jù)文件的訪問。本領(lǐng)域已知的一種方法是基于用戶的文件訪問控制。執(zhí)行程序以與特定用戶或特定用戶組相關(guān)聯(lián)的訪問權(quán)限運行,并且數(shù)據(jù)文件可以被配置為,使得僅以授權(quán)用戶或授權(quán)用戶組的證書運行的可執(zhí)行程序可以訪問該數(shù)據(jù)文件。例如,如果一可執(zhí)行程序以用戶A的證書運行,并且數(shù)據(jù)文件被配置為僅允許以用戶B的證書運行的可執(zhí)行程序進(jìn)行訪問,則將不允許該可執(zhí)行程序訪問該數(shù)據(jù)文件。類似地,基于用戶的文件訪問控制適用于用戶類別。例如,用戶A、B和C可能是普通用戶類別的一部分,而數(shù)據(jù)文件可能被配置為僅允許作為管理類別一部分的用戶進(jìn)行訪問。本領(lǐng)域已知的另一種方法是僅允許可執(zhí)行程序在利用證書驗證可執(zhí)行程序的完整性的情況下運行。以證書授權(quán)中心發(fā)布的證書對可執(zhí)行程序進(jìn)行簽名,并且在允許可執(zhí)行程序運行之前,對照證書來驗證可執(zhí)行程序的簽名。附圖說明 附示了本專利技術(shù)的實施例、實施方式和配置,而不是專利技術(shù)本身。圖I是圖示本專利技術(shù)示例的計算環(huán)境的簡化框圖。圖2是本專利技術(shù)的示例可部署于其中的計算機系統(tǒng)的框圖。圖3是示出根據(jù)本專利技術(shù)示例的文件系統(tǒng)模塊的框圖。圖4示出根據(jù)本專利技術(shù)示例的可執(zhí)行程序。圖5示出根據(jù)本專利技術(shù)示例的數(shù)據(jù)文件和與數(shù)據(jù)文件相關(guān)聯(lián)的策略元數(shù)據(jù)。圖6是圖示根據(jù)本專利技術(shù)示例的由簽名工具采取的動作的流程圖。圖7是圖示根據(jù)本專利技術(shù)示例的由訪問策略工具采取的動作的流程圖。圖8是圖示根據(jù)本專利技術(shù)示例的由文件系統(tǒng)模塊和策略執(zhí)行管理器采取的動作的流程圖。具體實施例方式在上面的描述中,闡述了大量細(xì)節(jié),以便提供對本專利技術(shù)的理解。不過,本領(lǐng)域技術(shù)人員應(yīng)理解在沒有這些細(xì)節(jié)的情況下也可將本專利技術(shù)付諸于實踐。雖然參考有限數(shù)量的示例、實施方式和實施例公開了本專利技術(shù),但本領(lǐng)域技術(shù)人員應(yīng)意識到由此產(chǎn)生的大量修改和變化。當(dāng)修改和變化落入本專利技術(shù)的真正精神和范圍內(nèi)時,所附的權(quán)利要求旨在包含這種修改和變化。本專利技術(shù)的示例提供基于可執(zhí)行程序身份的文件訪問控制,以確定是否允許特定的可執(zhí)行程序訪問特定的數(shù)據(jù)文件。本質(zhì)上,“白名單”與定義哪些可執(zhí)行程序被允許訪問數(shù)據(jù)文件的每個數(shù)據(jù)文件相關(guān)聯(lián)。如上面在
技術(shù)介紹
部分中所論述的,提供基于用戶身份的文件訪問控制,使得僅使用正確的用戶證書操作的可執(zhí)行程序可以訪問數(shù)據(jù)文件,這在本領(lǐng)域是已知的。利用數(shù)字證書來確定是否允許特定的可執(zhí)行程序運行,這也是已知的。然而,這些機制不允許數(shù)據(jù)文件訪問基于可執(zhí)行程序的身份而被限制。設(shè)想一個經(jīng)營基于網(wǎng)絡(luò)的店面的在線零售商。通常,利用一套可執(zhí)行程序來經(jīng)營店面,包括用于顯示待售產(chǎn)品、輸入并顯示客戶評論、接收訂單、啟動信用卡交易、計算各種運輸選擇的運輸成本等的可執(zhí)行程序。這些可執(zhí)行程序可以由若干賣方提供。此外,假設(shè)在線零售商維護(hù)包括客戶的用戶ID、運輸?shù)刂?、電子郵件地址、電話號碼以及信用卡卡號的客戶數(shù)據(jù)庫。如果這一套可執(zhí)行程序中的所有可執(zhí)行程序以相同的用戶證書運行,則每個可執(zhí)行程序均可訪問客戶數(shù)據(jù)庫。因而,如果惡意代碼被引入到任意可執(zhí)行程序中,則惡意代碼可以訪問客戶數(shù)據(jù)庫,并且包含在客戶數(shù)據(jù)庫中的信息可以包括在內(nèi)。利用本專利技術(shù)的示例,可以將對客戶數(shù)據(jù)庫的訪問限制于處理訂單和啟動信用卡交易的可執(zhí)行程序。這些可執(zhí)行程序可由本質(zhì)上比執(zhí)行其它功能(例如維護(hù)客戶評論)的可執(zhí)行程序更值得信賴的賣方提供。因此,本專利技術(shù)的示例加強了在線賣方和賣方的客戶的安全性。圖I是圖示本專利技術(shù)示例的計算環(huán)境10的簡化框圖。計算環(huán)境10包括可執(zhí)行程序12、簽名工具14以及訪問策略工具16 (全部均在用戶空間中操作)。計算環(huán)境10還包括文件系統(tǒng)模塊18和策略執(zhí)行管理器20 (兩者均在內(nèi)核空間中操作)以及持久性介質(zhì)22。持久性介質(zhì)22存儲數(shù)據(jù)文件24、基于可執(zhí)行程序身份的訪問控制列表26以及證書庫28。證書存儲在證書庫28中。證書用于證實完整性,并且典型的證書包括以下項目 序列號用于唯一地標(biāo)識證書。對象被標(biāo)識的人或?qū)嶓w。簽名算法該算法用于創(chuàng)建簽名。發(fā)行者驗證信息并發(fā)布證書的實體。生效自證實第一次生效的起始日期。有效至截止日期。密鑰使用公共密鑰的用途。公共密鑰用于驗證來自指定對象的簽名的公共密鑰。拇指紋算法該算法用于對證書進(jìn)行哈希操作。拇指紋用于確保證書尚未被篡改的哈希本身。注意,證書包括公共密鑰。對應(yīng)的私有密鑰與每個證書相關(guān)聯(lián),并且是保密的。對目標(biāo)(例如可執(zhí)行程序)進(jìn)行簽名的過程包括利用函數(shù)(例如256位SHA2哈希函數(shù))對目標(biāo)執(zhí)行函數(shù)。采用私有密鑰對函數(shù)的結(jié)果進(jìn)行加密以形成簽名,并且將簽名存儲在試圖驗證目標(biāo)完整性的一方以后可以檢索簽名的地方。通常,簽名與目標(biāo)一起存儲。驗證目標(biāo)的過程包括訪問證書以獲得與證書一起存儲的公共密鑰,并且執(zhí)行與對目標(biāo)執(zhí)行的函數(shù)相同的函數(shù)。采用公共密鑰對簽名進(jìn)行解密,并且將簽名與函數(shù)的結(jié)果相比較。匹配驗證了目標(biāo)的完整性,而失配則表明目標(biāo)(或簽名、或證書)已被改變,因此無法驗證目標(biāo)的完整性。在企業(yè)計算環(huán)境中,用戶通常被定義為充當(dāng)信息技術(shù)(IT)安全人員。安全人員定義與IT安全有關(guān)的各種策略。安全人員使用簽名工具14利用私有密鑰對可執(zhí)行程序進(jìn)行數(shù)字簽名,并且與私有密鑰相關(guān)聯(lián)的證書被存儲在證書庫28中。安全人員還使用訪問策略工具16來定義允許哪些可執(zhí)行程序訪問各種數(shù)據(jù)文件。所存儲的策略也受到證書的保護(hù)。參考圖1,簽名工具14用于對可執(zhí)行程序12進(jìn)行數(shù)字簽名,并且訪問策略工具16用于將可執(zhí)行程序12記錄在基于可執(zhí)行程序身份的訪問控制列表26中,從而允許可執(zhí)行程序12訪問數(shù)據(jù)文件24。當(dāng)可執(zhí)行程序12在運行并試圖打開到數(shù)據(jù)文件24的I/O流時,可執(zhí)行程序12將I/o請求傳遞至文件系統(tǒng)模塊18。接著,文件系統(tǒng)模塊18將對可執(zhí)行程序12的引用和對數(shù)據(jù)文件24的引用傳遞至策略執(zhí)行管理器20。策略執(zhí)行管理器20訪問基于可執(zhí)行程序身份的訪問控制列表26,并且針對數(shù)據(jù)文件24檢索基于可執(zhí)行程序身份的文件訪問策略。從而,策略執(zhí)行管理器20確定是否應(yīng)同意訪問,并且驗證可執(zhí)行程序12和基于可執(zhí)行程序身份的訪問控制列表26的完整性。如果允許訪問,并且驗證了可執(zhí)行程序12和基于可執(zhí)行程序身份的訪問控制列表26的完整性,則策略執(zhí)行管理器20用信號通知文件系統(tǒng)模塊18為I/O請求提供服務(wù)并且打開I/O流。否則,策略執(zhí)行管理器20用信號通知文件系統(tǒng)模塊18拒絕I/O請求。在更詳細(xì)論述本專利技術(shù)之前,首先設(shè)想本專利技術(shù)的示例可部署于其中的典型計算機系 統(tǒng)。圖2是計算機系統(tǒng)30的框圖。計算機系統(tǒng)30包括總線32。一個或多個CPU 34、核心邏輯36、網(wǎng)絡(luò)接口控制器40、存儲控制器42以及持久性存儲器44聯(lián)接到總線32。雖然總線32概括性地顯示為單條總線,但本領(lǐng)域技術(shù)人員會認(rèn)識到通常利用若干條總線和光纖來連接圖2所示的組件。CPU 34可代表單個CPU、單個集成電路(IC)封裝中的多個CPU、分立IC封裝中的多個CPU核、或者這些元素的任意結(jié)合。核心邏輯36代表聯(lián)接CPU 34、系統(tǒng)內(nèi)存38、網(wǎng)絡(luò)接口控制器40、存儲控制器42以及持久性存儲器44的核心邏輯。在某些架構(gòu)中,核心邏輯36包括北橋和南橋。不過,在本領(lǐng)域中還已知其它架構(gòu)。例如,在某些架構(gòu)中,內(nèi)存控制器提供在CPU中。為了描述本專利技術(shù)的示例,核心邏輯36還包括存在于典型計算機系統(tǒng)中的其它組件本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點】
【技術(shù)特征摘要】
【國外來華專利技術(shù)】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:赫曼塔·米塔爾,尚卡爾·拉曼,
申請(專利權(quán))人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè),
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。