[發(fā)明專(zhuān)利]一種編譯運(yùn)行方法、裝置和用于編譯運(yùn)行的裝置有效
| 申請(qǐng)?zhí)枺?/td> | 202010834099.0 | 申請(qǐng)日: | 2020-08-18 |
| 公開(kāi)(公告)號(hào): | CN112148296B | 公開(kāi)(公告)日: | 2022-03-15 |
| 發(fā)明(設(shè)計(jì))人: | 張登輝 | 申請(qǐng)(專(zhuān)利權(quán))人: | 華控清交信息科技(北京)有限公司 |
| 主分類(lèi)號(hào): | G06F8/41 | 分類(lèi)號(hào): | G06F8/41 |
| 代理公司: | 北京潤(rùn)澤恒知識(shí)產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100084 北京市*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 編譯 運(yùn)行 方法 裝置 用于 | ||
本發(fā)明實(shí)施例提供一種編譯運(yùn)行方法、裝置和用于編譯運(yùn)行的裝置。其中的方法包括:對(duì)可信計(jì)算源代碼進(jìn)行編譯,得到編譯后的可執(zhí)行程序,所述可執(zhí)行程序中包括可信計(jì)算環(huán)境下的第一動(dòng)態(tài)鏈接文件和非可信計(jì)算環(huán)境下的第二動(dòng)態(tài)鏈接文件;運(yùn)行所述可執(zhí)行程序,在運(yùn)行過(guò)程中識(shí)別當(dāng)前運(yùn)行環(huán)境,若所述當(dāng)前運(yùn)行環(huán)境為可信計(jì)算環(huán)境,則載入所述第一動(dòng)態(tài)鏈接文件,若所述當(dāng)前運(yùn)行環(huán)境為非可信計(jì)算環(huán)境,則載入所述第二動(dòng)態(tài)鏈接文件。本發(fā)明實(shí)施例可以通過(guò)一次開(kāi)發(fā)和編譯,使得SGX應(yīng)用程序可運(yùn)行在SGX環(huán)境或者非SGX環(huán)境中,提高SGX應(yīng)用程序的可執(zhí)行性以及減少程序開(kāi)發(fā)成本。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種編譯運(yùn)行方法、裝置和用于編譯運(yùn)行的裝置。
背景技術(shù)
SGX(Intel Software Guard Extensions,指令集擴(kuò)展)是英特爾指令集架構(gòu)的一個(gè)擴(kuò)展,通過(guò)在計(jì)算平臺(tái)上提供一個(gè)Enclave(安全區(qū)),即內(nèi)存中一個(gè)加密的可信執(zhí)行區(qū)域,可以保障關(guān)鍵代碼和數(shù)據(jù)的機(jī)密性和完整性。
然而,SGX應(yīng)用程序只能運(yùn)行在具有SGX軟硬件環(huán)境的機(jī)器上,無(wú)法運(yùn)行在普通環(huán)境的機(jī)器上。但是,當(dāng)前大多數(shù)的機(jī)器上并沒(méi)有配置SGX軟硬件環(huán)境,導(dǎo)致SGX應(yīng)用程序的運(yùn)行環(huán)境具有較大的局限性,可執(zhí)行性較低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種編譯運(yùn)行方法、裝置和用于編譯運(yùn)行的裝置,可以通過(guò)一次開(kāi)發(fā)和編譯,使得SGX應(yīng)用程序可運(yùn)行在SGX環(huán)境或者非SGX環(huán)境中,提高SGX應(yīng)用程序的可執(zhí)行性以及減少程序開(kāi)發(fā)成本。
為了解決上述問(wèn)題,本發(fā)明實(shí)施例公開(kāi)了一種編譯運(yùn)行方法,所述方法包括:
對(duì)可信計(jì)算源代碼進(jìn)行編譯,得到編譯后的可執(zhí)行程序,所述可執(zhí)行程序中包括可信計(jì)算環(huán)境下的第一動(dòng)態(tài)鏈接文件和非可信計(jì)算環(huán)境下的第二動(dòng)態(tài)鏈接文件;
運(yùn)行所述可執(zhí)行程序,在運(yùn)行過(guò)程中識(shí)別當(dāng)前運(yùn)行環(huán)境,若所述當(dāng)前運(yùn)行環(huán)境為可信計(jì)算環(huán)境,則載入所述第一動(dòng)態(tài)鏈接文件,若所述當(dāng)前運(yùn)行環(huán)境為非可信計(jì)算環(huán)境,則載入所述第二動(dòng)態(tài)鏈接文件。
另一方面,本發(fā)明實(shí)施例公開(kāi)了一種編譯運(yùn)行裝置,所述裝置包括:
編譯模塊,用于對(duì)可信計(jì)算源代碼進(jìn)行編譯,得到編譯后的可執(zhí)行程序,所述可執(zhí)行程序中包括可信計(jì)算環(huán)境下的第一動(dòng)態(tài)鏈接文件和非可信計(jì)算環(huán)境下的第二動(dòng)態(tài)鏈接文件;
執(zhí)行模塊,用于運(yùn)行所述可執(zhí)行程序,在運(yùn)行過(guò)程中識(shí)別當(dāng)前運(yùn)行環(huán)境,若所述當(dāng)前運(yùn)行環(huán)境為可信計(jì)算環(huán)境,則載入所述第一動(dòng)態(tài)鏈接文件,若所述當(dāng)前運(yùn)行環(huán)境為非可信計(jì)算環(huán)境,則載入所述第二動(dòng)態(tài)鏈接文件。
再一方面,本發(fā)明實(shí)施例公開(kāi)了一種用于編譯運(yùn)行的裝置,包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:
對(duì)可信計(jì)算源代碼進(jìn)行編譯,得到編譯后的可執(zhí)行程序,所述可執(zhí)行程序中包括可信計(jì)算環(huán)境下的第一動(dòng)態(tài)鏈接文件和非可信計(jì)算環(huán)境下的第二動(dòng)態(tài)鏈接文件;
運(yùn)行所述可執(zhí)行程序,在運(yùn)行過(guò)程中識(shí)別當(dāng)前運(yùn)行環(huán)境,若所述當(dāng)前運(yùn)行環(huán)境為可信計(jì)算環(huán)境,則載入所述第一動(dòng)態(tài)鏈接文件,若所述當(dāng)前運(yùn)行環(huán)境為非可信計(jì)算環(huán)境,則載入所述第二動(dòng)態(tài)鏈接文件。
又一方面,本發(fā)明實(shí)施例公開(kāi)了一種機(jī)器可讀介質(zhì),其上存儲(chǔ)有指令,當(dāng)由一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得裝置執(zhí)行如前述一個(gè)或多個(gè)所述的編譯運(yùn)行方法。
本發(fā)明實(shí)施例包括以下優(yōu)點(diǎn):
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于華控清交信息科技(北京)有限公司,未經(jīng)華控清交信息科技(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010834099.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種軟件開(kāi)發(fā)中的自動(dòng)化編譯方法及系統(tǒng)
- 一種動(dòng)態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲(chǔ)介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲(chǔ)介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行支援裝置、運(yùn)行支援系統(tǒng)以及運(yùn)行支援程序
- 列車(chē)運(yùn)行處理方法、運(yùn)行處理裝置和運(yùn)行調(diào)度系統(tǒng)
- 運(yùn)行監(jiān)測(cè)系統(tǒng)及運(yùn)行監(jiān)測(cè)方法
- 運(yùn)行控制裝置及運(yùn)行控制方法
- 運(yùn)行曲線制作裝置、運(yùn)行輔助裝置以及運(yùn)行控制裝置
- 運(yùn)行支持裝置、車(chē)輛、運(yùn)行管理裝置和運(yùn)行支持方法
- 運(yùn)行計(jì)劃方法、運(yùn)行控制裝置和運(yùn)行計(jì)劃系統(tǒng)
- 運(yùn)行控制裝置、運(yùn)行管理系統(tǒng)、運(yùn)行控制方法以及車(chē)輛
- 自動(dòng)建模運(yùn)行系統(tǒng)及運(yùn)行方法
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





