欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)處理設(shè)備中的軟件庫的安全保護(hù)的制作方法

文檔序號(hào):9510163閱讀:359來源:國知局
數(shù)據(jù)處理設(shè)備中的軟件庫的安全保護(hù)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理的領(lǐng)域。更具體地,本發(fā)明涉及數(shù)據(jù)處理設(shè)備中的軟件庫的 安全保護(hù)。
【背景技術(shù)】
[0002] 數(shù)據(jù)處理設(shè)備可具有安全域及較不安全域。當(dāng)在安全域中操作時(shí),可訪問當(dāng)在較 不安全域中操作時(shí)不可訪問的數(shù)據(jù)。這提供了保護(hù)潛在敏感數(shù)據(jù)及代碼免遭未經(jīng)授權(quán)的人 或程序訪問的方式。
[0003] 然而,越來越需要保護(hù)多個(gè)軟件應(yīng)用以避免相互訪問。隨著應(yīng)用數(shù)目的增加,維護(hù) 安全性變得更加復(fù)雜。本發(fā)明技術(shù)設(shè)法解決此問題。

【發(fā)明內(nèi)容】

[0004] 從一方面看,本發(fā)明提供了一種數(shù)據(jù)處理設(shè)備,該數(shù)據(jù)處理設(shè)備包括:
[0005] 處理電路,用于響應(yīng)于指令執(zhí)行數(shù)據(jù)處理,該處理電路具有多個(gè)操作域,這些域包 括安全域和較不安全域,其中當(dāng)在安全域中操作時(shí)對(duì)指令可訪問的至少一些數(shù)據(jù)當(dāng)在較不 安全域中操作時(shí)不可訪問;
[0006] 安全保護(hù)硬件,被配置為響應(yīng)于較不安全域與安全域之間的處理電路調(diào)用執(zhí)行第 一安全保護(hù)操作;以及
[0007] 數(shù)據(jù)存儲(chǔ)裝置,被配置為存儲(chǔ)多個(gè)軟件庫和庫管理軟件,以由處理電路執(zhí)行;其 中:
[0008] 庫管理軟件被配置為控制處理電路將多個(gè)軟件庫中的至少一個(gè)設(shè)置為處理電路 可執(zhí)行的活動(dòng)軟件庫,并且將至少一個(gè)其他軟件庫設(shè)置為處理電路不可執(zhí)行的不活動(dòng)軟件 庫;以及
[0009] 響應(yīng)于處理電路調(diào)用目標(biāo)不活動(dòng)軟件庫,庫管理軟件被配置為執(zhí)行活動(dòng)庫切換來 控制處理電路將目標(biāo)不活動(dòng)軟件庫設(shè)置為活動(dòng)軟件庫并且將先前活動(dòng)軟件庫設(shè)置為不活 動(dòng)軟件庫。
[0010] 在處理設(shè)備中提供多個(gè)不同軟件庫是可取的。庫可以由可能相互不信任的不同軟 件供貨商來提供,因此可希望強(qiáng)制執(zhí)行庫之間的安全性。選項(xiàng)將針對(duì)待在軟件(例如,使用 操作系統(tǒng))中處置的軟件庫之間的所有安全檢查。然而,此途徑趨向于緩慢,因?yàn)槊慨?dāng)存在 對(duì)受保護(hù)庫的函數(shù)調(diào)用時(shí),必須中斷處理處理電路以調(diào)用操作系統(tǒng)安全行為。另一方面,全 硬件實(shí)現(xiàn)的解決方案可將各個(gè)軟件庫實(shí)施為獨(dú)立安全域并且使用專用硬件強(qiáng)制執(zhí)行庫之 間的安全。然而,相同裝置上存在的軟件庫數(shù)目可能很大,因此在電路面積及功率消耗方 面,用于將各個(gè)庫作為獨(dú)立域來維護(hù)的專用硬件資源量能夠是高昂的。
[0011] 為解決這些問題,本技術(shù)提供一種使用專用安全保護(hù)硬件和庫管理軟件的混合途 徑。安全保護(hù)硬件控制較不安全域與安全域之間的調(diào)用。當(dāng)在各域之間調(diào)用時(shí),安全保護(hù) 硬件可執(zhí)行第一安全保護(hù)操作,該第一安全保護(hù)操作可包括用于確保較不安全代碼在無權(quán) 限情況下不可訪問安全數(shù)據(jù)或安全代碼的各種措施。另一方面,使用由處理電路本身所執(zhí) 行的庫管理軟件控制域內(nèi)不同軟件庫之間的切換。庫管理軟件選擇軟件庫中的至少一者作 為活動(dòng)庫并且選擇至少一個(gè)其他軟件庫作為不活動(dòng)軟件庫。處理電路不可執(zhí)行被指定為不 活動(dòng)的軟件庫,且與該庫相關(guān)聯(lián)的安全關(guān)鍵資源對(duì)活動(dòng)庫不可訪問。若處理電路試圖調(diào)用 不活動(dòng)軟件庫,則庫管理軟件控制處理電路切換哪個(gè)庫為活動(dòng)的,以使得所需庫變?yōu)榛顒?dòng) 的并且先前活動(dòng)的庫變?yōu)椴换顒?dòng)的。因此,庫管理軟件有效地虛擬化不同軟件庫之間的安 全保護(hù)協(xié)議,以使得系統(tǒng)表現(xiàn)出好像處理電路具有許多保護(hù)域,各個(gè)保護(hù)域?qū)?yīng)于不同受 保護(hù)庫,而從硬件角度看,幾乎不存在具有一個(gè)每次都被選為活動(dòng)庫的軟件庫的域。
[0012] 此途徑比全軟件實(shí)施途徑更快速,因?yàn)閷S冒踩Wo(hù)硬件允許對(duì)另一域中的活動(dòng) 軟件庫直接進(jìn)行函數(shù)調(diào)用而無需調(diào)用處理電路上的軟件。對(duì)相同活動(dòng)庫的重復(fù)調(diào)用不調(diào)用 庫管理軟件,且可在對(duì)由處理電路正執(zhí)行的處理幾乎沒有中斷的情況下以硬件形式快速控 制與較不安全域與安全域之間的調(diào)用相關(guān)聯(lián)的任何安全預(yù)防措施。僅當(dāng)需要不活動(dòng)庫時(shí)才 會(huì)遇到使用庫管理軟件的庫之間切換的執(zhí)行開銷。實(shí)際上,這與對(duì)已處于活動(dòng)庫的調(diào)用相 比不經(jīng)常發(fā)生,且因此總體性能接近于通過全硬件實(shí)現(xiàn)途徑獲得的性能,但具有較少硬件 開銷。
[0013] 各個(gè)軟件庫可包括與該庫關(guān)聯(lián)的指令和數(shù)據(jù)兩者。例如,庫可表示特定應(yīng)用,比如 銀行或虛擬支付應(yīng)用。
[0014] 當(dāng)處理電路調(diào)用不活動(dòng)軟件庫時(shí),庫管理軟件可控制該處理電路以執(zhí)行第二安全 保護(hù)操作。若此第二安全保護(hù)操作不成功,則可觸發(fā)錯(cuò)誤,而若成功,則可執(zhí)行活動(dòng)庫切換 以使得目標(biāo)庫變?yōu)榛顒?dòng)。因此,若存在跨域調(diào)用,除以硬件形式執(zhí)行第一安全保護(hù)操作外, 可通過庫管理軟件提供額外安全保護(hù)層。即便不存在由安全保護(hù)硬件所監(jiān)測(cè)的跨域調(diào)用, 仍可執(zhí)行第二安全保護(hù)操作。例如,軟件庫可僅允許另一軟件庫分支至庫代碼的某些點(diǎn),且 若另一軟件庫試圖分支至庫中的位置,而該位置不在有效入口點(diǎn)處,則可通過庫管理軟件 觸發(fā)錯(cuò)誤。并且,僅可信任某些庫能分支至給定庫,若庫管理軟件檢測(cè)到非信任庫調(diào)用該 庫,則觸發(fā)錯(cuò)誤。
[0015] 為了維持安全性,可希望庫管理軟件選擇一個(gè)庫作為活動(dòng)庫并且選擇其他庫作為 不活動(dòng)庫,使得一個(gè)時(shí)刻只有一個(gè)庫為活動(dòng)的且為了進(jìn)行庫的彼此交互需要安全受控的庫 切換。
[0016] 另一方面,維持多個(gè)活動(dòng)庫并且其他庫為不活動(dòng)的可能是優(yōu)選的。例如,可僅需要 保護(hù)一些庫免遭侵入并且其他庫可不需要被保護(hù)。在此情況中,可使得一些庫永久活動(dòng)。并 且,可存在受信任彼此交互的一組庫,且因此當(dāng)這些庫中的一者為活動(dòng)時(shí),還使得其他庫活 動(dòng)。并且,可存在庫的不同子集合,且在庫的各個(gè)子集合內(nèi),可選擇一活動(dòng)庫,而子集合中的 其他庫為不活動(dòng)。并且,由于安全保護(hù)硬件可強(qiáng)制執(zhí)行安全域與較不安全域之間的安全,可 能指定在安全域中指定一個(gè)活動(dòng)庫并且在較不安全域中指定一個(gè)活動(dòng)庫,由于硬件所提供 的保護(hù),在沒有權(quán)限情況下這些活動(dòng)庫仍不可相互訪問。因此,存在多種可希望將多個(gè)庫同 時(shí)設(shè)置為活動(dòng)的原因。一般而言,庫管理軟件可確保防止不活動(dòng)庫被活動(dòng)庫不適當(dāng)?shù)卦L問。
[0017] 盡管本發(fā)明技術(shù)可用于較不安全域中,但是該技術(shù)對(duì)于將通常被用于可能處理敏 感信息的軟件庫的安全域最為有用。因此,在一示例中,受管理的軟件庫可為安全域中的安 全軟件庫,而庫管理軟件不管理較不安全域中的任何庫??商娲?,可提供獨(dú)立安全庫管理 器和較不安全庫管理器用于分別處置安全域及較不安全域中的庫之間的切換。
[0018] 存儲(chǔ)器保護(hù)單元(MPU)可用于控制哪些程序庫是活動(dòng)的或者不活動(dòng)的。MPU可用 于指定數(shù)據(jù)存儲(chǔ)裝置的區(qū)域?yàn)榭稍L問的或者不可訪問的,對(duì)不可訪問區(qū)域的訪問觸發(fā)故障 狀況。因此,由庫管理軟件進(jìn)行的活動(dòng)庫切換可包括更新MPU中的訪問權(quán)限以指示不同區(qū) 域?yàn)榭稍L問的或者不可訪問的。若訪問不活動(dòng)庫,則將對(duì)應(yīng)存儲(chǔ)器區(qū)域在MPU中指示為不 可訪問,且因此MPU可生成故障,該故障可觸發(fā)庫管理軟件執(zhí)行活動(dòng)庫切換。
[0019] 活動(dòng)庫切換還可包括更新棧指針存儲(chǔ)位置中的棧指針以與新活動(dòng)庫相對(duì)應(yīng)??稍?數(shù)據(jù)存儲(chǔ)裝置中為軟件庫中的至少一些提供棧。當(dāng)活動(dòng)時(shí),庫可使用棧存儲(chǔ)臨時(shí)數(shù)據(jù)。并 非所有庫皆需要在數(shù)據(jù)存儲(chǔ)裝置中分配有棧,因?yàn)殡S著庫自不活動(dòng)狀態(tài)切換至活動(dòng)狀態(tài), 可動(dòng)態(tài)分配棧。各個(gè)分配棧具有對(duì)應(yīng)棧指針,該棧指針標(biāo)識(shí)棧在存儲(chǔ)器中的位置。棧指針 所指示的精確位置可各有不同。例如,棧指針可指示放置于棧上的最后數(shù)據(jù)值的位置,或放 置于棧上的下一數(shù)據(jù)值應(yīng)被寫入的位置。通過當(dāng)自一個(gè)庫切換至另一庫時(shí)更新MPU及棧指 針,新活動(dòng)庫不可訪問與先前活動(dòng)庫關(guān)聯(lián)的棧,該棧可為敏感數(shù)據(jù)。若允許多個(gè)庫同時(shí)為活 動(dòng),則可提供多個(gè)棧指針寄存器。例如,可存在安全棧指針存儲(chǔ)位置及較不安全棧指針存儲(chǔ) 位置,這些位置分別存儲(chǔ)當(dāng)前活動(dòng)安全庫及較不安全庫的棧指針。
[0020] 安全保護(hù)硬件可具有安全保護(hù)單元,該安全保護(hù)單元存儲(chǔ)安全數(shù)據(jù),這些安全數(shù) 據(jù)界定分別與安全域和較不安全域相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)裝置的安全區(qū)域和較不安全區(qū)域。可 基于當(dāng)前正被處理的指令是處于數(shù)據(jù)存儲(chǔ)裝置的安全區(qū)域中還是較不安全區(qū)域中來選擇 處理電路的操作的當(dāng)前域。通常,位于安全區(qū)域中的代碼將在安全域中執(zhí)行,而位于較不安 全區(qū)域中的代碼將在較不安全域中執(zhí)行,但可能存在一些異常。當(dāng)分支指令試圖從與安全 域和較不安全域中的一者相關(guān)聯(lián)的位置分支至與另一域相關(guān)聯(lián)的位置時(shí),可通過安全保護(hù) 硬件執(zhí)行第一安全保護(hù)操作。
[0021] 第一安全保護(hù)操作可包括用于防止對(duì)安全信息的不適當(dāng)訪問的若干不同措施。僅 當(dāng)從安全域調(diào)用至較不安全域時(shí)可能需要一些措施,反之亦然。
[0022] 例如,第一安全保護(hù)操作可包括檢查待在程序流的受保護(hù)變化后執(zhí)行的第一指令 是否為針對(duì)程序流的該變化的所允許的目標(biāo)指令。當(dāng)程序流的受保護(hù)變化為至待在安全域 中執(zhí)行的指令的分支時(shí),這能夠是特別有用的。允許分支跳至安全函數(shù)的中間能夠是危險(xiǎn) 的,因?yàn)檫@可允許繞過諸如安全函數(shù)中較早提供的密碼檢查之類的安全預(yù)防措施。為了防 止此情況,可將預(yù)定指令(例如,特殊防護(hù)指令)指定為針對(duì)程序流的變化經(jīng)允許的目標(biāo)指 令,且經(jīng)允許的指令可包括于安全代碼中以標(biāo)記經(jīng)允許的函數(shù)入口點(diǎn)。在程序流的受保護(hù) 變化(例如,至安全區(qū)域中的指令的分支)后,安全保護(hù)硬件可檢查待在調(diào)用后執(zhí)行的第一 指令是否為經(jīng)允許的目標(biāo)指令。若否,則可觸發(fā)安全故障。
[0023] 并且,第一安全保護(hù)操作可包括在受保護(hù)函數(shù)調(diào)用后保護(hù)函數(shù)返回地址。例如,若 從安全域中的代碼及較不安全域中的目標(biāo)代碼調(diào)用函數(shù),則將不希望允許較不安全域中的 代碼訪問函數(shù)的返回地址。若較不安全函數(shù)能夠修改返回地址,則其將能夠影響安全代碼 的程序流,這將導(dǎo)致通過跳入安全函數(shù)的中間而繞過安全保護(hù)。為了防止此情況,硬件可采 取步驟來對(duì)在函數(shù)調(diào)用后執(zhí)行的指令隱藏返回地址的函數(shù)。例如,可將返回地址存儲(chǔ)至與 調(diào)用了函數(shù)的安全代碼相關(guān)聯(lián)的棧,該棧不可通過較不安全域中的代碼訪問。
[0024] 第一安全保護(hù)操作還可包括在程序流的變化后檢查處理已被切換到的域是否為 針對(duì)程序流的該變化所指定的經(jīng)允許的域。存在某些安全攻擊,在這些攻擊中較不安全代 碼可引發(fā)安全域中的分支指令(原本預(yù)期該分支指令分支至較不安全域而不是分支至安 全域中的位置),允許較不安全代碼做出安全域中的程序流的不受控改變。為防止此情況, 可針對(duì)程序流的某些變化指定至少一個(gè)經(jīng)允許的域,且在程序流的變化后,硬件可檢查目 的域是否匹配經(jīng)允許的域。第一安全保護(hù)操作還可包括除上文所描述的那些之外的安全檢 查與操作。
[0025] 安全保護(hù)硬件提供用于確保在較不安全域與安全域之間調(diào)用時(shí)的安全性的措施。 然而,當(dāng)在相同域內(nèi)的不同軟件庫之間調(diào)用時(shí)也可能需要這些措施。這能夠以不同方式來 實(shí)現(xiàn)。在一示例中,當(dāng)在相同域中的庫之間調(diào)用時(shí),處理電路可在切換回初始域之前臨時(shí)切 換至另一域。域的臨時(shí)切換使得庫調(diào)用看起來像安全域與較不安全域之間的調(diào)用,盡管兩 個(gè)庫實(shí)際
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
陇南市| 和平县| 保定市| 南昌市| 佳木斯市| 襄樊市| 延庆县| 育儿| 曲周县| 黔西| 陇川县| 墨竹工卡县| 阿城市| 张家港市| 佛学| 宜君县| 乌海市| 清丰县| 鹤岗市| 甘南县| 长沙县| 汝南县| 沧源| 永济市| 龙口市| 桐乡市| 葫芦岛市| 万载县| 高密市| 柯坪县| 广丰县| 和硕县| 汝州市| 赞皇县| 南安市| 郓城县| 鹿邑县| 瑞金市| 武功县| 东阿县| 巨野县|