可信安全TEE分析4IntelSGX设计和编程-创新互联

1、SGX SDK
SGX SDK给开发者提供了一个精简版的C标准函数库。因为enclave里面是一个和Windows操作系统隔离的运行环境,这个环境并不能直接访问电脑的显卡和硬盘文件系统,所以SDK提供的C标准函数库并不包含我们常用的printf()或者fread(),fopen()之类的I/O函数。
2、实现OpenSGX应用
实现一个OpenSGX程序类似于正常的C程序。由于对SGX程序的操作系统支持,OpenSGX支持系统调用接口和用户级的API,用户只需用他们建立并执行OpenSGX二进制文件。唯一的区别在于,使用enclave_main()而不是主main(),使用sgx_exit(null)代替return。在OpenSGX程序中,在编译OpenSGX程序时,有可能使用现有的libc库函数或通过将存档文件加密的库函数如polarssl。由于OpenSGX提供它自己的定制链接脚本和加载器,所以通过修改,它们用到其他库中的enclave二进制文件。
编写代码之前,我们需要定义可信和不可信的函数,我们首先建立一个文件夹,在文件夹中为了编译方便(仿照上一节的makefile写我们自己的makefie)也仿照sdk给的例子中的文件夹布局建立新的文件夹文件夹的布局如下:

成都创新互联专注于企业营销型网站建设、网站重做改版、东宝网站定制设计、自适应品牌网站建设、H5响应式网站商城建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为东宝等各大城市提供网站开发制作服务。

1.App:
外部程序,在enclave外部运行的代码
外部应用程序源码
2.Enclave:
Enclave.config.xml:enclave 配置文件,配置enclave的堆栈大小,链接数
Enclave_private.pem:用来给动态链接库签名的私钥
Enclave.lds:encalve link script

Enclave.edl:
用来声明enclave内部的trusted函数和app中的untrusted函数
如果app中要调用enclave中的函数,那么该函数必须在edl的trusted 中声明;
如果enclave中要调用app中的函数,那么该函数必须在edl的untrusted中声明;

其他:enclave 内部程序源码

3.Include:
外部应用程序和enclave程序共享的头文件,大多是公用的数据类型的定义
4.Makefile
构建项目

关注:
可信安全TEE分析4 Intel SGX 设计和编程

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:可信安全TEE分析4IntelSGX设计和编程-创新互联
网站路径:http://azwzsj.com/article/ccccsj.html