Intel® SGX Data Center Attestation Primitives (DCAP) for Linux* OS: 这个软件提供了在数据中央环境中举行SGXIntel应用程序验证的软件模块。DCAP为应用程序提供了举行数据中央内的验证和信任建立所需的功能。它包罗用于生成、验证和传输证实数据的API和工具,确保SGX enclaves的真实性和完整性,并资助应用程序与远程系统举行安全交互。
linux-sgx-driver项目是Linux Intel SGX软件栈的另一个外部驱动程序,用于支持没有Flexible Launch Control (FLC)的平台上的增强隐私识别(EPID)基于证实,直到驱动程序上游过程完成为止。
这个驱动程序可以用于支持早期的 SGX-capable 的CPU,这些CPU没有Flexible Launch Control (FLC)功能。然而,请注意该驱动程序的ABI与上游的SGX内核补丁不同。因此,将利用该驱动程序的软件迁移到将来支持SGX的内核大概必要额外的工作量。
对于那些不支持FLC的平台,linux-sgx-driver项目提供了所需的驱动程序功能,以支持EPID基于证实的功能。EPID是一种隐私保护的证实方案,允许远程方验证SGX enclave的完整性,同时不泄漏被验证平台的身份。
这个驱动程序允许在不支持FLC的平台上举行SGX enclave的EPID证实。它提供了必要的组件和功能,使这些平台上的应用程序能够与远程系统或服务建立安全信任,并举行受保护的通信。
与SGXDataCenterAttestationPrimitives项目类似,linux-sgx-driver项目也是一个临时解决方案,直到驱动程序被归并到官方Linux内核中。这些驱动程序为利用Intel SGX技术的应用程序提供了在非FLC平台上举行EPID证实的本领。
2.3.2 Intel SGX Support in the Linux Kernel(linux内核支持SGX)
自从 Linux 内核版本 5.11 发布以来,主线 Linux 内核已经内置了 Intel SGX 支持。内核内置的 Intel SGX 驱动程序必要平台支持并配置为灵活启动控制(flexible launch control - FLC)。因此推荐尽大概利用带有 Intel SGX 支持的主线linux内核。
对于特别用例,另有两个其他的内核空间选项可供选择:
sudo cp external/toolset/{current_distr}/* /usr/local/bin
注意:即使您之前将之前的操作工具复制到/usr/local/bin,上述操作也是必须的。它确保在以后的构建中利用更新的操作工具。将{current_distr}替换为当前的操作系统(如: ubuntu22.04)。再用下面这个语句检查是不是添加成功:
which ar as ld objcopy objdump ranlib
cd ${sgx-sdk-install-path}/SampleCode/LocalAttestation
make
cd bin
./app
执行结果:
三.启动或克制 aesmd 服务
英特尔® SGX PSW 安装程序会在您的计算机中安装 aesmd 服务,该服务在特别的 Linux 帐户中运行aesmd。
克制服务:$ sudo service aesmd stop
启动服务:$ sudo service aesmd start
重新启动服务:$ sudo service aesmd restart
查看状态:$ sudo service aesmd status