项目简介
本项目实现了基于Intel SGX(Software Guard Extensions)的远程证明验证系统。借助该系统,应用程序可在受Intel SGX保护的环境中生成报告,再通过Intel的远程证明服务(IAS)进行验证,以此保证应用程序运行于安全可信的环境。
项目的主要特性和功能
- 能创建并初始化受Intel SGX保护的Enclave环境,保障代码和数据的安全执行。
- 在Enclave内部生成公私钥对,利用SGX密封存储私钥,确保密钥安全。
- 生成包含Enclave身份和附加信息的报告,并进行本地验证保证其完整性。
- 通过引用Enclave生成引用结构体,并发送给远程验证者验证。
- 借助Intel Attestation Service(IAS)验证引用结构体,确认Enclave运行在可信硬件环境。
- 解析IAS返回的验证结果,提取并验证Enclave的公钥及其他附加信息。
安装使用步骤
环境准备
- 确保系统支持Intel SGX,安装Intel SGX SDK和相应依赖库。
- 获取Intel Attestation Service(IAS)的API密钥。
编译项目
- 使用Intel SGX SDK编译Enclave代码,生成签名的Enclave文件(
.signed.so
)。 - 编译应用程序代码,确保能与Enclave交互。
运行Enclave
- 启动应用程序,初始化Enclave并生成公私钥对。
- 生成含Enclave公钥的报告,进行本地验证确保完整性。
生成引用结构体
通过引用Enclave生成引用结构体,并发送给Intel IAS验证。
远程证明
- 将生成的引用结构体发送给Intel IAS,获取远程证明结果。
- 解析IAS返回的验证结果,确认Enclave运行在可信硬件环境。
验证结果处理
解析验证结果,提取Enclave公钥和其他附加信息,保证远程证明流程完整。
注意事项
- 本项目依赖Intel SGX硬件和Intel Attestation Service(IAS),需确保系统支持并申请相应API密钥。
- 调试时建议启用日志功能,借助项目中的日志输出理解远程证明步骤。
下载地址
点击下载 【提取码: 4003】