墙裂推荐!云上机密计算,阿里云上体验了一下海光内存加密和远程认证

本文主要是介绍墙裂推荐!云上机密计算,阿里云上体验了一下海光内存加密和远程认证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄

🌹简历模板、学习资料、面试题库、技术互助

🌹文末获取联系方式 📝

在这里插入图片描述


机密计算目录

  • 前言
  • 1、构建CSV机密计算环境
  • 2、检查CSV使能状态
    • 2.1、检查CSV使能状态
    • 2.2、检查CSV相关驱动安装情况
  • 3、跑测试程序
  • 4、远程认证功能
    • 4.1、下载阿里云提供的远程证明样例工具
    • 4.2、为本机生成远程证明报告
    • 4.3、验证远程证明报告
    • 4.4、生成指定UserData的远程证明报告
  • 总结

前言

机密计算是最近几年非常热门的技术,采用加密、隔离等技术保护CPU使用中的数据,配合传输加密和存储加密技术,能够实现数据全流程安全保护。一言以蔽之,都是为了安全可靠。
在这里插入图片描述
目前,主流的CPU厂商都推出了自家的机密计算技术,国产的海光CPU在机密计算支持上做的是比较好的,阿里云上已经支持。今天花十分钟在阿里云上体验了一下CSV内存加密和远程认证,确实是不错,以后云上的数据安全算是有保证了,下面简单说一下体验过程。

1、构建CSV机密计算环境

首先在阿里云的官网手册上找到“[构建CSV机密计算环境]”,按照手册上的步骤创建CSV实例。
在这里插入图片描述

这里只是体验一下,选择“按量付费”比较划算。
在这里插入图片描述
选择实例时,处理器选择“Hygon”,规格选择“ecs.g7h.2xlarge”。
在这里插入图片描述
镜像选择“Alibaba Cloud Linux”,并且要勾选“机密虚拟机”。
在这里插入图片描述
其他选项用默认值,就可以创建一台CSV机密虚拟机实例了。
接下来用创建的实例体验一下CSV内存加密和远程认证功能。

2、检查CSV使能状态

我们在使用CSV加密计算环境前,先检查对应实例的CSV使能状态,以确保对应实例处于安全保护中。

2.1、检查CSV使能状态

通过访问CSV_STATUS(0xC0010131)来检查CSV功能是否开启,该MSR为只读且访问行为无法被Hypervisor拦截,可以在命令行下直接执行。

sudo yum install msr-tools

在这里插入图片描述
在这里插入图片描述

继续执行rdmsr 0xC0010131 ,可以看到有一个CPU支持内存加密。

sudo rdmsr 0xC0010131 --bitfield 1:0

在这里插入图片描述

2.2、检查CSV相关驱动安装情况

sudo modprobe csv-guest
ls -l /dev/csv-guest

下图表示已经安装CSV相关驱动。
在这里插入图片描述

3、跑测试程序

内存加密功能,CSV虚拟机在读写内存时,CPU会自动对内存数据进行加解密,数据加密之后才写入到内存中。

参考龙蜥社区上的测试手册,跑一下测试程序。
在这里插入图片描述

可以看到原始数据和加密之后的数据。
在这里插入图片描述

4、远程认证功能

接下来再测试一下远程认证功能,CSV虚拟机可以生成远程认证报告,报告用每颗芯片独有的芯片密钥签名,用对应的芯片证书对认证报告验签,就可以认证CSV虚拟机的身份。参考阿里云上的测试手册,跑一下测试程序。
在这里插入图片描述

4.1、下载阿里云提供的远程证明样例工具

下载样例工具,可提前检查Python环境。

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

在这里插入图片描述
给py程序授予读写权限

chmod +x ./csv-attestation.py

在这里插入图片描述

4.2、为本机生成远程证明报告

sudo ./csv-attestation.py generate -r ./

返回如下结果,代表远程证明报告已被下载下来。
在这里插入图片描述

4.3、验证远程证明报告

sudo ./csv-attestation.py verify -r ./report

执行的样例结果如下,POLICY中的NODEBUG表示当前CSV实例处于非调试状态,NOKS表示虚拟机的加密密钥为当前实例独享,即处于安全的受保护模式。
在这里插入图片描述

4.4、生成指定UserData的远程证明报告

生成远程证明报告时,你可以通过指定UserData,从而生成期望的远程证明报告。

sudo ./csv-attestation.py generate -r ./ -u your-data-like-pubkey-digest

在这里插入图片描述

总结

最后给CSV虚拟机的数据保护功能种个草,安全性、稳定性都不错,起码再也不用担心云上的数据被偷或者被改了。墙裂推荐给业内小伙伴!

这篇关于墙裂推荐!云上机密计算,阿里云上体验了一下海光内存加密和远程认证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094608

相关文章

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Python实现精确小数计算的完全指南

《Python实现精确小数计算的完全指南》在金融计算、科学实验和工程领域,浮点数精度问题一直是开发者面临的重大挑战,本文将深入解析Python精确小数计算技术体系,感兴趣的小伙伴可以了解一下... 目录引言:小数精度问题的核心挑战一、浮点数精度问题分析1.1 浮点数精度陷阱1.2 浮点数误差来源二、基础解决

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J