本文介绍如何在基于海光安全加密虚拟化CSV(China Secure Virtualization)技术的ECS实例(下文简称为CSV实例)中构建CSV加密计算环境,并演示如何运行实例代码以验证CSV功能。
前提条件
已创建并登录CSV实例。
说明
目前仅g7h实例规格族支持CSV功能。更多信息,请参见海光通用型实例规格族g7h。
背景信息
海光安全加密虚拟化CSV是一项基于国产海光CPU硬件的云服务器ECS保护技术,CSV实例的运行时状态如内存数据均受到CPU硬件的加密保护,云厂商和外部攻击者均无法监控或定向篡改CSV实例的内部运行状态(如运行的进程、计算中的敏感数据等)。关于海光CSV技术的更多信息,请参见Hygon Arch。
海光CSV可以为您的实例和应用提供默认的安全保护,即您可以将现有应用直接迁移至CSV实例上并获得CSV带来的安全保护,而无需重新开发现有的应用程序。
检查CSV使能状态
在使用CSV加密计算环境前,建议您先检查对应实例的CSV使能状态,以确保对应实例处于安全保护中。
-
检查CSV使能状态。
通过MSR检查CSV使能状态
通过访问CSV_STATUS(0xC0010131)来检查CSV功能是否开启,该MSR为只读且访问行为无法被Hypervisor拦截,您可以通过以下命令进行检查。
sudo yum install msr-tools sudo rdmsr 0xC0010131 --bitfield 1:0
下图表示CSV已经被正确使能。
通过内核日志检查CSV使用状态
对于使能了CSV的实例,内核检测到后会打印出对应日志,您可以通过以下命令进行检查。
dmesg | grep SEV
下图表示CSV已经被正确使能。
检查CSV相关驱动安装情况。
sudo modprobe csv-guest ls -l /dev/csv-guest
下图表示已经安装CSV相关驱动。
构建CSV加密计算环境并验证CSV功能
说明
正常情况下,运行于非CSV环境下的程序可直接迁移至CSV实例中,而无需额外开发,您可以像使用普通实例一样使用CSV实例。阿里云建议您充分利用下文所述的加密虚拟机相关功能,以充分使用CSV所提供的额外安全能力,并更好地保护实例的安全。
CSV Attestation Report是由海光Platform Security Processor(PSP)硬件直接生成的代表了CSV实例身份的数据结构,其包含了CSV实例的策略(POLICY)、用户自定义数据(UserData)、虚拟机摘要(DIGEST)等关键信息,并以密码学方法保护其完整性。阿里云为您提供了样例工具来快速生成和验证CSV Attestation Report。
-
下载阿里云提供的远程证明样例工具。
wget https://enclave-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/csv/requirements.txt wget https://enclave-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/csv/csv-attestation.py sudo pip3 install -r requirements.txt chmod +x ./csv-attestation.py
返回结果如下图所示,表示远程证明样例工具已安装。
为本机生成远程证明报告。
sudo ./csv-attestation.py generate -r ./
返回结果如下图所示,表示远程证明报告被持久化存储到了本地目录下的report文件中。
验证远程证明报告。
sudo ./csv-attestation.py verify -r ./report
执行的样例结果如下,POLICY中的NODEBUG表示当前CSV实例处于非调试状态,NOKS表示虚拟机的加密密钥为当前实例独享,即处于安全的受保护模式。
-
生成指定UserData的远程证明报告。
生成远程证明报告时,您可以通过指定UserData,从而生成您期望的远程证明报告。
sudo ./csv-attestation.py generate -r ./ -u your-data-like-pubkey-digest
关于阿里云ecs服务器的内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/9288.html