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

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


🌹作者主页:青花锁 🌹简介: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

相关文章

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

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Mac电脑如何通过 IntelliJ IDEA 远程连接 MySQL

《Mac电脑如何通过IntelliJIDEA远程连接MySQL》本文详解Mac通过IntelliJIDEA远程连接MySQL的步骤,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友跟... 目录MAC电脑通过 IntelliJ IDEA 远程连接 mysql 的详细教程一、前缀条件确认二、打开 ID

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面