我已经介绍了使用加密设置加密部分磁盘空间,但写入速度非常慢。我发现有一个模块可以直接利用硬件进行加密操作,使用模块cryptodev。
我已经安装了加密设备,并且正在运行
openssl speed -evp aes-128-cbc -engine cryptodev 我测试了写作速度
time dd bs=5000k count=1 if=/dev/zero of=/home/... conv=fsync 在包含密码开发模块之前和之后,使用此控件,我看不到任何改进。对于使用此引擎的密码设置,还有其他需要定义的东西吗?谢谢
编辑
$ cryptsetup luksDump DISK --debug
# cryptsetup 1.7.0 processing "cryptsetup luksDump DISK --debug"
# Running command luksDump.
# Locking memory.
# Installing SIGINT/SIGTERM handler.
# Unblocking interruption on signal.
# Allocating crypt device DISK context.
# Trying to open and read device DISK with direct-io.
# Initialising device-mapper backend library.
# Trying to load LUKS1 crypt type from device DISK.
# Crypto backend (OpenSSL 1.0.2h 3 May 2016) initialized in cryptsetup library version 1.7.0.
# Detected kernel Linux 4.1.15-xuelk-2.0.1-dirty armv7l.
# Reading LUKS header of size 1024 from device DISK
# Key length 32, device size 204800 sectors, header size 2050 sectors.
LUKS header information for DISK
Version: 1
Cipher name: aes
Cipher mode: cbc-essiv:sha256
Hash spec: sha256
Payload offset: 4096
MK bits: 256
MK digest: 00 a6 fb a5 64 1d 08 47 9d ea 76 d3 34 f2 19 cf 66 b7 e7 94
MK salt: 8c 14 4e 3a 97 d6 d7 18 ca 46 f9 f0 47 d5 44 3f
46 0c c5 4e d7 35 1d 46 ca 2b fc af 13 14 d1 98
MK iterations: 13500
UUID: a808c328-0c0e-43a7-9057-b6b9a49afeb9
Key Slot 0: ENABLED
Iterations: 108472
Salt: 76 be 3e a1 5f 37 9b bc 1b 84 69 9e 36 db 5f ba
43 93 96 34 57 02 59 df 2c 19 f4 df 1a 09 53 7a
Key material offset: 8
AF stripes: 4000发布于 2017-12-13 09:40:00
cryptsetup命令基本上只是配置dm-crypt内核模块。这意味着磁盘的加密/解密发生在内核内部。内核根本不使用openssl。
您可以使用以下方法可靠地测试当前硬盘加密性能:
cryptsetup benchmark密码设置默认值为aes-xts,256b.,当使用cryptsetup luksCreate (cf )创建加密设备时。cryptsetup luksDump输出)。
一些来自中等规模硬件的实验结果:
CPU cryptsetup benchmark
AMD Phenom 9750 2.4 GHz aes-xts 256b 146.7 MiB/s 148.5 MiB/s
Intel Atom C3758 2.2 GHz aes-xts 256b 874.0 MiB/s 875.4 MiB/s
Intel i5-4250U 1.3 GHz aes-xts 256b 1703.3 MiB/s 1723.1 MiB/s
Intel i7-6600U 2.6 GHz aes-xts 256b 2978.0 MiB/s 3117.5 MiB/sLinux内核包含几个硬件驱动程序,这些驱动程序可以加速加密操作。通常,它们被加载,默认情况下由内核的密码子系统使用。
例如,新的英特尔CPU附带了AES-NI指令集,大大加快了AES的速度--您可以检查CPU是否像这样支持它们:
tr ' ' '\n' < /proc/cpuinfo | grep aes有些系统甚至带有密码协处理器(cf )。例如英特尔快速助理- QAT)。它们可以加快速度,但也可以减慢速度--因此,在基准测试时,如果内核配置了这样的特殊硬件,并且加载了必要的模块/固件,那么检查引导日志是有意义的。如果存在这样的硬件,那么使用启用协处理器的和禁用的(例如,通过黑名单列出相关的*qat*模块)检查性能是有意义的。
https://unix.stackexchange.com/questions/405772
复制相似问题