Chinaunix首页 | 论坛 | 博客
  • 博客访问: 334228
  • 博文数量: 668
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5720
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-07 15:28
个人简介

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

文章分类

全部博文(668)

文章存档

2024年(219)

2023年(247)

2022年(202)

我的朋友

分类: 网络与安全

2023-03-23 15:51:43

本文分享自天翼云开发者社区@《LUKS加密卷应用技术简介》,作者: CD


一、LUKS加密简述

    LUKS(Linux Unified Key Setup)是Linux系统下常用的磁盘加密技术之一(是一种加密规范,而非一种加密算法),具有以下特点:支持多密码对同一个设备的访问;加密密钥不依赖密码;可以改变密码而无需重新加密数据;采用一种数据分割技术来保存加密密钥,保证密钥的安全性。

    LUKS允许用户在一系列对称加密算法(指加密和解密使用相同密钥的加密算法)中进行选择,主要包括:AES算法、Anubis算法、Blowfish算法、Twofish算法、Serpent算法、Cast5算法及Cast6算法。此外还需选择加密模式(如XTS)以及加密模式的初始化向量模式(如Plain64)。{BANNED}最佳常见的组合即当前线上所用的aes-xts-plain64。

    LUKS需区分两个概念,一个是密码,另一个是加密密钥。密码用于LUKS卷的授权访问,而加密密钥用于加密算法实现数据的加解密。在LUKS所定义的术语中,加密密钥被称为主密钥(Master Key),在LUKS加密卷初始化阶段,随机生成一组向量作为主密钥, 长度一般为16或32字节(128或256位)。密码由用户指定,长度不限({BANNED}最佳大支持512位),一个LUKS加密卷可以允许设置8个密码。

    LUKS卷所使用的的加密算法/模式以及主密钥都记录在卷的头部信息中,其中主密钥以加密方式存储,且需通过密码计算得到。

    用户挂载使用时只需正确填写密码即可,系统将根据密码从卷的头部信息中解析得到加密算法/模式以及解密得到主密钥,从而对卷进行对称加/解密访问。

二、LUKS加密应用

    在云计算应用场景中,LUKS加密卷一般在宿主机或者Hypervisor层进行解密,若LUKS加密卷内已创建有文件系统,用户在虚拟机内无需额外操作即可直接挂载使用,进行目录/文件的读写访问。一般情况下,用户并不感知LUKS加密卷密码,密码由云计算管理平台生成并管理。

    若LUKS加密卷未在宿主机或Hypervisor层进行解密(对于Qemu等虚拟化Hypervisor,假如无法正确解密,将直接报错无法启动),用户将无法直接将其挂载使用,挂载将提示以下报错:

# mount /dev/vdb /mnt/luks

mount: unknown filesystem type 'crypto_LUKS'

    在用户自行创建和管理加密卷的场景下(一般非云计算应用场景),若用户知晓LUKS加密卷密码,此时,使用cryptsetup luksOpen命令,交互式输入LUKS卷的授权访问密码,后续即可正常挂载使用。

    对于天翼云电脑,可以选择在创建数据盘时将其设置为加密盘。每个加密盘均设置独立的密码,而密码需要有相应的租户权限才能获取。以上保证即使存储系统受到攻击,用户数据也无法被窃取。

阅读(438) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~