检测PHA挖矿服务器或者PC是否支持IntelSGX的原理和规则
英特尔® Software Guard 扩展平台支持包括三个方面
BIOS是否支持
CPU是否支持
是否安装了PSW,平台软件包。
不支持的情况分为以下三种
CPU 不支持英特尔 SGX
BIOS 不支持英特尔 SGX
BIOS 和 CPU 支持英特尔 SGX,但 BIOS 明确禁用英特尔 SGX
支持sgx cpu型号列表
Intel® Core i7-6700K SR2L0
Intel® Core i5-6400T SR2L1
Intel® Core i7-6700 SR2L2
Intel® Core i7-6700T SR2L3
Intel® Core i5-6600K SR2L4
Intel® Core i5-6600 SR2L5
Intel® Core i5-6500 SR2L6
Intel® Core i5-6400 SR2L7
Intel® Core i5-6500T SR2L8
Intel® Core i5-6600T SR2L9
Intel® Xeon® E3-1280 v5 SR2LC
Intel® Xeon® E3-1240 v5 SR2LD
Intel® Xeon® E3-1230 v5 SR2LE
Intel® Xeon® E3-1270 v5 SR2LF
Intel® Xeon® E3-1220 v5 SR2LG
Intel® Xeon® E3-1260L v5 SR2LH
Intel® Xeon® E3-1225 v5 SR2LJ
Intel® Xeon® E3-1275 v5 SR2LK
Intel® Xeon® E3-1245 v5 SR2LL
Intel® Xeon® E3-1235L v5 SR2LM
Intel® Xeon® E3-1240L v5 SR2LN
开启Intel SGX的方式
重启电脑,进入BIOS设置后,在高级选项的CPU设置里。寻找SGX相关选项:
共有三种 BIOS 设置。
Enabled(启用) 英特尔 SGX 已启用,可用于各应用程序。
Software Controlled(软件控制)英特尔 SGX 可通过软件应用启用,只有这样才能投入使用(称为“软件选择”)。 通过软件选择启用英特尔 SGX 要求系统重启。
Disabled(禁用)英特尔 SGX 已明确禁用,无法通过软件应用启用。 该设置只能在 BIOS 设置屏幕中更改。
第一和第三种很容易理解。下面主要解释Software Controlled的意义(我的电脑就是这种方式)
Software Controlled
如果英特尔 SGX 设置为 Software Controlled,英特尔 SGX 最初处于禁用状态,需通过软件应用在 SDK 中进行以下几次调用,才能将其设为启用状态:
sgx_enable_device()
sgx_cap_enable_device()
为什么会有software controller?
因为SGX启动后悔保留很大一块RAM空间,用于EPC安全页面缓存。系统选择采用软件激活的方式启动SGX,而不是一直激活的状态,避免SGX对于系统资源的消耗影响了其他程序和进程。
如何查询自己的CPU是否支持Intel SGX
CPU支持查询
CPU信息,intel cpu第六代开始支持sgx
在Intel官网找到对应型号,里面会标注是否支持
https://ark.intel.com/content/www/us/en/ark/products/88185/intel-core-i5-6400-processor-6m-cache-up-to-3-30-ghz.htm
说明我的cpu是支持SGX的,但需要安装Intel ME软件配合使用。
BIOS支持查询
在进入bios寻找CPU相关选项,找到后Enable
我的是华硕ASUS主板,本来是没有这个选项。我在Tool里面联网升级后,出现了SGX的支持。说明主板的支持也分为硬件和软件两个方面。
如何检查环境已经配置好了呢?
intel sgx sdk中有专门的方法来检查硬件环境,这里我不在展开。
这里找到了几款机遇sdk编译好的exe工具,点击可以直接运行,查看结果。
如果环境不支持就会报错,根据错误提示调整环境后,显示上面结果。如果环境没准备好,跑程序会出现很多其他问题
Phala 相关必读:
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。