一、检查处理器是否支持SGX
在shell中输入以下命令查看CPU型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
在Product Specifications中找到对应的处理器参数信息,如果支持SGX,可以在Security & Reliability
中看到如下信息
二、以“软件启用”程序启用SGX
克隆sgx-software-enable
git clone https://github.com/intel/sgx-software-enable.git
编译
make
运行不带任何选项的sgx_enable
将尝试在系统上执行软件启用过程,必须以 root 身份运行
sudo ./sgx_enable
软件启用过程成功完成后,需要重新启动系统才能使用 Intel SGX,如果失败则尝试在BIOS中启动
三、在BIOS中启用SGX
前置条件
在进入BIOS之前,必须确保每个CPU Socket配置了 8 个或 12 个或 16 个相同的DIMM,注意
- 不支持持久内存配置(NVDIMM-N,Intel Optane持久内存);
- 请遵循平台所有者手册中的内存配置规则;
对于单处理器,需要按照以下规则配置:
- A1,A2,A3,A4,A5,A6,A7,A8(8个DIMM)
- A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12(12个DIMM)
- A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16(16个DIMM)
对于双处理器,需要按照以下规则配置:
- A1,A2,A3,A4,A5,A6,A7,A8 B1,B2,B3,B4,B5,B6,B7,B8(8个DIMM)
- A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12 B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12(12个DIMM)
- A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16 B1,B2,B3,B4,B5,B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16(16个DIMM)
也就是说对于双处理器,每个处理器的插槽都要达到上述的配置。
BIOS操作
BIOS SETUP
–>Memory Setting
,确保Memory Operating Mode
值为Optimizer Mode
,Node Interleaving
值为Disabled
. (两者都是默认值)- 如果您需要更改这两个选项,请在尝试启用Intel SGX之前重新启动服务器以使其生效
-
BIOS SETUP
–>System Security
,确保Memory Encryption
值为enabled
-
Memory Encryption
选项默认为Disabled
,Intel SGX
为灰色不可用状态
-
一旦启用
Memory Encryption
,您就可以打开Intel SGX
-
打开
Intel SGX
选项。
-