专栏
天翼云开发者社区

基于dm-crypts的块设备加密方法介绍

2023-12-14 13:59:25 14阅读

dm-crypts简介:

Device Mapper 不同于 AUFS、ext4、NFS 等,因为它并不是一个文件系统(File System),而是 Linux 内核映射块设备的一种技术框架。提供的一种从逻辑设备(虚拟设备)到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。

dm-crypt即是Device Mapper层的嵌入式设施,用于对存储器块进行透明的区块加密。一个叫做LUKS(Linux Unified Key Setup)的实用程序可用于设置dm-crypt驱动器的加密。此外,LUKS还支持不同的加密算法,如AES-XTS、AES-CBC和Twofish-CBC等等,可以根据用户的需求进行选择。

  1. 创建(格式化) LUKS 加密盘

# cryptsetup  -c aes-ecb luksFormat /dev/rbd0

 

WARNING!

========

This will overwrite data on /dev/rbd0 irrevocably.

 

Are you sure? (Type uppercase yes): YES

Enter passphrase for /dev/rbd0:Cstore@@1234

Verify passphrase:Cstore@@1234

 

 

 

参数名称

含义

推荐值

备注

--cipher

加密方式

aes-xts-plain64

AES 加密算法搭配 XTS 模式

 

--key-size

密钥长度

512

因为 XTS 模式需要两对密钥,每个的长度是256

 

--hash

散列算法

sha512

N/A

 

--iter-time

迭代时间

最好大于10000

单位是毫秒。该值越大,暴力破解越难;但是你在打开加密盘时也要等待更久

 

  1. 打开加密盘

cryptsetup open --type luks /dev/rbd0 rbd_img0(该命令等同与cryptsetup luksOpen 物理设备或逻辑设备 映射名)

# cryptsetup open --type luks /dev/rbd0 rbd_img0(该命令等同与cryptsetup luksOpen 物理设备或逻辑设备 映射名)

 

成功后看到/dev/rbd0映射到/dev/mapper/rbd_img0

[root@test-env-gz03-ceph-11e50e17e170 vdbench]# ls -alt /dev/mapper/ rbd_img0

lrwxrwxrwx 1 root root 7 Nov 26 09:28 /dev/mapper/rbd_img0 -> ../dm-0

 

  1. 对打开的加密盘进行xfs格式化,mount

# mkfs.xfs  -f /dev/mapper/rbd_img0

meta-data=/dev/mapper/rbd_img0  isize=512    agcount=16, agsize=1638400 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=26213376, imaxpct=25

         =                       sunit=1024   swidth=1024 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=12800, version=2

         =                       sectsz=512   sunit=8 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

# mount -o sync /dev/mapper/ rbd_img0  /mnt/rbd0

 

  1. 查看加密盘的状态

# cryptsetup status rbd_img0

/dev/mapper/ rbd_img0 is active.

  type:    LUKS1

  cipher:  aes-xts-plain64

  keysize: 512 bits

  key location: dm-crypt

  device:  /dev/rbd0

  sector size:  512

  offset:  8192 sectors

  size:    209707008 sectors

  mode:    read/write

 

  1. 关闭加密盘

# cryptsetup close rbd_img0

# ls -alt /dev/mapper/ rbd_img0

ls: cannot access /dev/mapper/ rbd_img0: No such file or directory

 

  1. 在另一台机器上打开并直接mount:

# rbd map rbd/rbd0

/dev/rbd0

#  cryptsetup open --type luks /dev/rbd0 rbd_img0

Enter passphrase for /dev/rbd0:Cstore@@1234

# mount -o sync /dev/mapper/rbd_img0  /mnt/test

 

 

  • 0
  • 0
  • 0
0 评论
0/1000
评论(0) 发表评论
杨****隽

杨****隽

2 篇文章 0 粉丝
关注

基于dm-crypts的块设备加密方法介绍

2023-12-14 13:59:25 14阅读

dm-crypts简介:

Device Mapper 不同于 AUFS、ext4、NFS 等,因为它并不是一个文件系统(File System),而是 Linux 内核映射块设备的一种技术框架。提供的一种从逻辑设备(虚拟设备)到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。

dm-crypt即是Device Mapper层的嵌入式设施,用于对存储器块进行透明的区块加密。一个叫做LUKS(Linux Unified Key Setup)的实用程序可用于设置dm-crypt驱动器的加密。此外,LUKS还支持不同的加密算法,如AES-XTS、AES-CBC和Twofish-CBC等等,可以根据用户的需求进行选择。

  1. 创建(格式化) LUKS 加密盘

# cryptsetup  -c aes-ecb luksFormat /dev/rbd0

 

WARNING!

========

This will overwrite data on /dev/rbd0 irrevocably.

 

Are you sure? (Type uppercase yes): YES

Enter passphrase for /dev/rbd0:Cstore@@1234

Verify passphrase:Cstore@@1234

 

 

 

参数名称

含义

推荐值

备注

--cipher

加密方式

aes-xts-plain64

AES 加密算法搭配 XTS 模式

 

--key-size

密钥长度

512

因为 XTS 模式需要两对密钥,每个的长度是256

 

--hash

散列算法

sha512

N/A

 

--iter-time

迭代时间

最好大于10000

单位是毫秒。该值越大,暴力破解越难;但是你在打开加密盘时也要等待更久

 

  1. 打开加密盘

cryptsetup open --type luks /dev/rbd0 rbd_img0(该命令等同与cryptsetup luksOpen 物理设备或逻辑设备 映射名)

# cryptsetup open --type luks /dev/rbd0 rbd_img0(该命令等同与cryptsetup luksOpen 物理设备或逻辑设备 映射名)

 

成功后看到/dev/rbd0映射到/dev/mapper/rbd_img0

[root@test-env-gz03-ceph-11e50e17e170 vdbench]# ls -alt /dev/mapper/ rbd_img0

lrwxrwxrwx 1 root root 7 Nov 26 09:28 /dev/mapper/rbd_img0 -> ../dm-0

 

  1. 对打开的加密盘进行xfs格式化,mount

# mkfs.xfs  -f /dev/mapper/rbd_img0

meta-data=/dev/mapper/rbd_img0  isize=512    agcount=16, agsize=1638400 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=26213376, imaxpct=25

         =                       sunit=1024   swidth=1024 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=12800, version=2

         =                       sectsz=512   sunit=8 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

# mount -o sync /dev/mapper/ rbd_img0  /mnt/rbd0

 

  1. 查看加密盘的状态

# cryptsetup status rbd_img0

/dev/mapper/ rbd_img0 is active.

  type:    LUKS1

  cipher:  aes-xts-plain64

  keysize: 512 bits

  key location: dm-crypt

  device:  /dev/rbd0

  sector size:  512

  offset:  8192 sectors

  size:    209707008 sectors

  mode:    read/write

 

  1. 关闭加密盘

# cryptsetup close rbd_img0

# ls -alt /dev/mapper/ rbd_img0

ls: cannot access /dev/mapper/ rbd_img0: No such file or directory

 

  1. 在另一台机器上打开并直接mount:

# rbd map rbd/rbd0

/dev/rbd0

#  cryptsetup open --type luks /dev/rbd0 rbd_img0

Enter passphrase for /dev/rbd0:Cstore@@1234

# mount -o sync /dev/mapper/rbd_img0  /mnt/test

 

 

文章来自专栏

yangjun的专栏

2 篇文章 1 订阅
0 评论
0/1000
评论(0) 发表评论
  • 0
    点赞
  • 0
    收藏
  • 0
    评论