BIOS固件版本:5602B007T03
参考文档:https://openanolis.cn/sig/Hygon-Arch/doc/1076446632387394260
系统:统信1070e服务器操作系统
BIOS配置:先打开PSF Control保存重启,然后再打开SMEEContro和 TPCM Control 保存重启
yum install git
修改系统内核启动参数
grubby --update-kernel=ALL --args="kvm-amd.sev=1 kvm-amd.sev_es=1 mem_encrypt=on"
检查下
grubby --info $(grubby --default-kernel)
重启服务器
reboot
查看参数是否声修
cat /proc/cmdline
下载代码仓库并安装
cd /opt
git clone --depth 1 https://gitee.com/anolis/hygon-devkit.git
mv hygon-devkit hygon
cd /opt/hygon/common/install/
sudo ./install_hag.sh
sudo cp /opt/hygon/bin/hag /usr/bin
导入通用安全证书
sudo yum install -y ca-certificates
在线导入安全证书
cd /opt/hygon/bin/
sudo ./hag general hgsc_import
确认证书导入成功
cd /opt/hygon/bin
安装csv软件
sudo /opt/hygon/csv/install_csv_sw.sh
测试内存加密功能
测试程序的执行分为3步
1.分配内存并将内存中的数据初始化为 0xab,通过 clflush 指令将数据从缓存写入内存,默认情况下页表中的 C bit=1,因此内存中的数据是被加密后的数据。
2.调用系统函数set_memory_decrypted将内存的 C bit 设置为0然后读出,发现不是0xab而是加密的数据。
3.调用系统函数set_memory_encrypted将内存的C bit设置为1然后读出,发现数据被恢复成 0xab。
运行测试程序
cd /opt/hygon/csv/sme_test
make
sudo insmod sme_test.ko
dmesg
SMEE功能验证
/opt/hygon/bin/hag general check