使用SM4算法加密LUKS格式磁盘

简介: 本文介绍了在Anolis 8操作系统使用cryptsetup对磁盘进行分区、加密和挂载的过程。采用SM4加密算法。具体步骤包括:初始化加密卷、解锁加密分区、格式化并挂载设备。最后,展示了如何取消挂载并关闭加密卷以确保数据安全。整个过程确保了磁盘数据的安全性和隐私保护。

ECS服务器操作系统版本

uname -a
Linux Anolis8 5.10.134-16.2.an8.x86_64 #1 SMP Mon Mar 4 16:14:16 CST 2024 x86_64 x86_64 x86_64 GNU/Linux

额外挂载一块磁盘,用gdisk做分区,但不要格式化。

image.png

cryptsetup简介

cryptsetup是与dm-crypt交互的命令行工具,用于创建、访问和管理加密设备。它在大多数主流Linux发行版中都是内置的软件包。通过cryptsetup可以方便地设置LUKS(Linux Unified Key Setup)格式的加密分区或卷,从而实现对磁盘数据的安全保护。

下面对刚创建的分区使用SM4加密算法加密。

cryptsetup --cipher sm4-xts-plain64 --key-size=256 --hash sm3 luksFormat /dev/vdb1
#根据提示输入大写的YES,并输入密码。
~~~~~~~~~~~~~~~以下是命令参数详解:~~~~~~~~~~~~~~~~
--cipher sm4-xts-plain64:指定了加密算法为SM4,使用XTS模式,且区块大小为64位。SM4是中国国家密码管理局发布的分组加密算法。
--key-size=256:指定密钥大小为256位。因为XTS模式需要两个独立的密钥,所以这里指的是总共的密钥长度。
--hash sm3:指定了哈希算法为SM3,这是中国国家标准的密码散列函数,用于保护数据完整性。
luksFormat /dev/vdb1:对 /dev/vdb1 分区进行LUKS格式化,将其初始化为一个新的加密卷。
执行此命令后,系统会提示您输入并确认一个用于加密分区的新密码。之后,该磁盘或分区上的所有数据都将被加密,并且在未提供正确密码的情况下不可访问。请确保在此之前备份重要数据,因为一旦格式化完成,原有数据将无法恢复。

image.png

解锁刚刚创建的luks分区

[root@Anolis8 ~]#cryptsetup luksOpen /dev/vdb1 diskluks
[root@Anolis8 ~]# cryptsetup status diskluks  
[root@Anolis8 ~]# lsblk -fp
NAME                     FSTYPE      LABEL UUID                                 MOUNTPOINT
/dev/vda
├─/dev/vda1
├─/dev/vda2              vfat              9B5A-4235                            /boot/efi
└─/dev/vda3              ext4        root  d9dd46c5-8041-4c35-a62d-07cc68ebba5a /
/dev/vdb
└─/dev/vdb1              crypto_LUKS       dabe7f11-68c3-41b9-9589-3e5ecd78eabf
  └─/dev/mapper/diskluks

image.png

接下来可以格式化(如果尚未格式化)并挂载这个解密后的设备。

mkfs.ext4 /dev/mapper/diskluks
mount /dev/mapper/diskluks /mnt/

image.png

之后就可以正常使用已挂载的磁盘。

[root@Anolis8 mnt]# cat xxhh.txt
this is a  text

取消挂载并改名博加密存储卷

umount /mnt
cryptsetup luksClose diskluk
#cryptsetup luksClose diskluks 这条命令用于关闭一个已经打开的 LUKS 加密卷。具体来说,它会卸载与 diskluks 关联的映射设备,使得系统不再能够访问这个加密卷,直到再次使用 cryptsetup luksOpen 命令重新打开。
这条命令执行后,加密卷中的数据仍然存在并且保持加密状态,只是无法直接访问而已。如果需要重新访问该加密卷,则必须提供正确的密码或密钥文件来解锁它。

image.png

此时磁盘为加密状态,无法访问。如想重新访问的话,按照上面的步骤先解锁再挂载。

相关文章
|
2月前
|
算法 测试技术 Go
go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持
`dongle` 是一款轻量级、语义化、开发者友好的 Golang 密码库,100% 单元测试覆盖,获 2024 年 GVP 与 G-Star 双项荣誉。支持 SM4 国密算法,提供标准及流式处理,优化读取位置重置,提升安全性与易用性。文档齐全,开源免费,欢迎 Star!
184 0
|
2月前
|
算法 测试技术 Go
go-dongle v1.1.7 发布,新增 SM4 国密分组对称加密算法支持
`dongle` 是一款轻量级、语义化、开发者友好的 Golang 密码库,100% 单元测试覆盖,获 2024 年 GVP 与 G-Star 双项荣誉。支持 SM4 国密算法,提供标准及流式处理,优化读取位置重置,提升安全性与易用性。文档齐全,开源免费,欢迎 Star!
188 0
|
5月前
|
存储 搜索推荐 算法
加密算法、排序算法、字符串处理及搜索算法详解
本文涵盖四大类核心技术知识。加密算法部分介绍了对称加密(如 AES)、非对称加密(如 RSA)、哈希摘要(如 SHA-2)、签名算法的特点及密码存储方案(加盐、BCrypt 等)。 排序算法部分分类讲解了比较排序(冒泡、选择、插入、归并、快排、堆排序)和非比较排序(计数、桶、基数排序)的时间复杂度、适用场景及实现思路,强调混合排序的工业应用。 字符串处理部分包括字符串反转的双指针法,及项目中用正则进行表单校验、网页爬取、日志处理的实例。 搜索算法部分详解了二分查找的实现(双指针与中间索引计算)和回溯算法的概念(递归 + 剪枝),以 N 皇后问题为例说明回溯应用。内容全面覆盖算法原理与实践
187 0
|
6月前
|
算法 数据安全/隐私保护
基于混沌加密的遥感图像加密算法matlab仿真
本项目实现了一种基于混沌加密的遥感图像加密算法MATLAB仿真(测试版本:MATLAB2022A)。通过Logistic映射与Baker映射生成混沌序列,对遥感图像进行加密和解密处理。程序分析了加解密后图像的直方图、像素相关性、信息熵及解密图像质量等指标。结果显示,加密图像具有良好的随机性和安全性,能有效保护遥感图像中的敏感信息。该算法适用于军事、环境监测等领域,具备加密速度快、密钥空间大、安全性高的特点。
|
10月前
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
12月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
226 10
|
12月前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
235 10