1、SGX SDK
SGX SDK給開發(fā)者提供了一個精簡版的C標(biāo)準(zhǔn)函數(shù)庫?因?yàn)閑nclave里面是一個和Windows操作系統(tǒng)隔離的運(yùn)行環(huán)境,這個環(huán)境并不能直接訪問電腦的顯卡和硬盤文件系統(tǒng),所以SDK提供的C標(biāo)準(zhǔn)函數(shù)庫并不包含我們常用的printf()或者fread(),fopen()之類的I/O函數(shù)?
2、實(shí)現(xiàn)OpenSGX應(yīng)用
實(shí)現(xiàn)一個OpenSGX程序類似于正常的C程序。由于對SGX程序的操作系統(tǒng)支持,OpenSGX支持系統(tǒng)調(diào)用接口和用戶級的API,用戶只需用他們建立并執(zhí)行OpenSGX二進(jìn)制文件。唯一的區(qū)別在于,使用enclave_main()而不是主main(),使用sgx_exit(null)代替return。在OpenSGX程序中,在編譯OpenSGX程序時,有可能使用現(xiàn)有的libc庫函數(shù)或通過將存檔文件加密的庫函數(shù)如polarssl。由于OpenSGX提供它自己的定制鏈接腳本和加載器,所以通過修改,它們用到其他庫中的enclave二進(jìn)制文件。
編寫代碼之前,我們需要定義可信和不可信的函數(shù),我們首先建立一個文件夾,在文件夾中為了編譯方便(仿照上一節(jié)的makefile寫我們自己的makefie)也仿照sdk給的例子中的文件夾布局建立新的文件夾文件夾的布局如下:
專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,成都網(wǎng)站制作、成都做網(wǎng)站負(fù)責(zé)任的成都網(wǎng)站制作公司!
1.App:
外部程序,在enclave外部運(yùn)行的代碼
外部應(yīng)用程序源碼
2.Enclave:
Enclave.config.xml:enclave 配置文件,配置enclave的堆棧大小,鏈接數(shù)
Enclave_private.pem:用來給動態(tài)鏈接庫簽名的私鑰
Enclave.lds:encalve link script
Enclave.edl:
用來聲明enclave內(nèi)部的trusted函數(shù)和app中的untrusted函數(shù)
如果app中要調(diào)用enclave中的函數(shù),那么該函數(shù)必須在edl的trusted 中聲明;
如果enclave中要調(diào)用app中的函數(shù),那么該函數(shù)必須在edl的untrusted中聲明;
其他:enclave 內(nèi)部程序源碼
3.Include:
外部應(yīng)用程序和enclave程序共享的頭文件,大多是公用的數(shù)據(jù)類型的定義
4.Makefile
構(gòu)建項(xiàng)目
分享標(biāo)題:可信安全TEE分析4IntelSGX設(shè)計和編程
標(biāo)題來源:http://jinyejixie.com/article48/ipigep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、品牌網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣、網(wǎng)站設(shè)計、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)