前一阶段看了一些关于数据安全,系统安全,以及社会工程学的书籍,突然觉得数据加密是一项十分重要的工作,由其是公司的敏感数据、商业机密,或者个人的重要文件都应该随时进行加密;就算是平时的备份数据也要进行合理的加密,以保证数据安全。VeraCrypt是目前一款比较流行,而且安全性和效能都比较好的软件,最重要是的开源、免费,并不断进行更新。
此前我一直在使用Veracrypt的Windows版本,效果不错。Mac、Linux也有图形化的版本,因为使用比较简单,这里就不进行介绍了。这里主要是介绍Veracrypt的Linux console也就是命令行版本的命令的使用,这也是我们平时在运维中的主要操作环境。
这篇文档是介绍如何使用Veracrypt命令的第一部分,这里介绍安装及加密单个磁盘。后面会分几个部分逐渐深入介绍Veracrypt中相关的概念、Veracrypt命令的用法及自动化处理磁盘的加密和解密等等。
一、准备实验环境
1、在VirtualBox中安装好CentOS 6.8并升级到最新版本后,关机;
2、在该虚拟机中添加一块新的磁盘,建议大小为8GB因为在使用VeraCrypt加密的时候,虽然你在新建虚拟磁盘时设置了“动态分配”虚拟磁盘大小,但虚拟磁盘所占用的空间大小和你设置的大小会一样大。
如图:
二、安装VeraCrypt
(一)、下载安装包并解压
VeraCrypt最新版本为1.19,单击此处进入项目主页
在下载页面找到Linux安装包,如图:
使用wget
命令下载安装包:
cd /usr/local/src
wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2
解压文件:
tar -jxvf veracrypt-1.19-setup.tar.bz2
解压后有四个文件:
(二)、安装
因为我安装的CentOS是64位的,并且没有安装GUI,所以安装veracrypt-1.19-setup-console-x64
./veracrypt-1.19-setup-console-x64
1、选择安装模式
安装程序弹出提示:问你是安装veracrypt(选项1)还是将安装包解压到/tmp
目录下,这里选择“1”,并回车:
VeraCrypt 1.19 Setup
____________________
Installation options:
1) Install veracrypt_1.19_console_amd64.tar.gz
2) Extract package file veracrypt_1.19_console_amd64.tar.gz and place it to /tmp
To select, enter 1 or 2:
2、查看并接受用户许可
接下来弹出提示,让你输入回车查看用户许可:
Before you can use, extract, or install VeraCrypt, you must accept the
terms of the VeraCrypt License.
Press Enter to display the license terms...
单击回车后就可以看到用户许可的全文,如果不想看完,可以按q
退出; 这时程序会问你是否接受许可,输入yes
.
Do you accept and agree to be bound by the license terms? (yes/no): yes
Uninstalling VeraCrypt:
-----------------------
To uninstall VeraCrypt, please run 'veracrypt-uninstall.sh'.
Installing package...
usr/
usr/share/
usr/share/veracrypt/
usr/share/veracrypt/doc/
usr/share/veracrypt/doc/License.txt
usr/share/veracrypt/doc/VeraCrypt User Guide.pdf
usr/share/pixmaps/
usr/share/pixmaps/veracrypt.xpm
usr/share/applications/
usr/share/applications/veracrypt.desktop
usr/bin/
usr/bin/veracrypt
usr/bin/veracrypt-uninstall.sh
Press Enter to exit...
此时,输入回车就完成安装。
3、验证安装
输入如下命令:
[root@localhost src]# veracrypt --version
VeraCrypt 1.19
如果此时程序出现如下错误提示
[root@localhost src]# veracrypt -version
veracrypt: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory
则需要安装fuse-libs
yum install -y fuse-libs
三、创建整个加密硬盘
现在使用fdisk -l
命令就可以看到我们之前添加的那块8GB的虚拟硬盘:
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
目前还没有进行分区操作。
其实我们也没有必要对待加密的整个磁盘进行分区操作,除非我们只是想加磁盘的一部分进行加密操作的话,那么可以先对磁盘进行分区,然后使用veracrypt针对某一分区进行加密。
(一)创建加密硬盘
创建加密硬盘使用veracrypt -t -c
-t
的意思是使用文件向导创建加密盘,-c
的意思是create
创建加密盘
1、启动加密盘创建向导
[root@localhost src]# veracrypt -t -c
Volume type:
1) Normal
2) Hidden
Select [1]: 1
[root@localhost src]# veracrypt -t -c
Volume type:
1) Normal
2) Hidden
Select [1]: 1
这里面是创建普通加密盘,还是隐藏加密盘。这里选择第1项,创建普通加密盘
2、输入待加密磁盘的路径
向导会提示你输入加密的磁盘路径,由于我们这里是加密整块硬盘,然后只输入设备名,不用输入分区名:
Enter volume path: /dev/sdb
3、选择加密算法
接下来,向导会提示你选择加密算法和哈希算法,这里我们选择AES
SHA-512
:
Encryption Algorithm:
1) AES
2) Serpent
3) Twofish
4) Camellia
5) Kuznyechik
6) AES(Twofish)
7) AES(Twofish(Serpent))
8) Serpent(AES)
9) Serpent(Twofish(AES))
10) Twofish(Serpent)
Select [1]: 1
Hash algorithm:
1) SHA-512
2) Whirlpool
3) SHA-256
4) Streebog
Select [1]: 1
4、选择加密后的文件系统格式
由于我们将加密磁盘用于Linux系统的,因此选择Linux Ext4
Filesystem:
1) None
2) FAT
3) Linux Ext2
4) Linux Ext3
5) Linux Ext4
6) NTFS
7) exFAT
Select [2]: 5
5、输入密码
Enter password:
WARNING: Short passwords are easy to crack using brute force techniques!
We recommend choosing a password consisting of 20 or more characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: yes
Re-enter password:
Enter password:
WARNING: Short passwords are easy to crack using brute force techniques!
We recommend choosing a password consisting of 20 or more characters. Are you sure you want to use a short password? (y=Yes/n=No) [No]: yes
Re-enter password:
由于我这里用于演示的密码太短,系统提示我当前密码很容易被暴力破解,建议使用20个字符以上的密码,是否还要使用当前密码。这里输入yes
接着系统会让你再次输入一次密码:Re-enter password:
6、输入PIM
接下来系统会让你输入PIM。
Enter PIM:
这个PIM是什么?我上网查了一下,就是Personal Iterations Multiplier”的缩写。通俗地说就是:你可以自定义“加密盘的头部密钥生成时的迭代次数”。这个“迭代次数”越大,计算头部密钥的时间就越长,因此挂载加密盘的过程就越慢;表面上看,这是一个缺点。但其好处在于:如果某个攻击者想要采用暴力破解的方式对“头部”进行穷举解密,每次一次尝试也同样需要花很长时间(同样要迭代 N 次)。所以,当 N 足够大,暴力破解就变得不可行。
如果你设置的密码过于简短,那么 VeraCrypt 会强制让你输入一个比较大的 PIM 数值(大于 485, 但是要小于2147468)。
如果你创建加密盘的时候,指定了 PIM 数值,那么在挂载的时候,需要输入【相同的】PIM 数值。 如果输入的数值与创建时指定的 PIM 数值不一致,则挂载失败。
这里我们直接回车就可以.
7、输入keyfile
接下来,指定keyfile
Enter keyfile path [none]:
这里我们先不指定,所以直接回车。
8、输入320个随机字符
在键盘上随意输入字符,如果不知道输入的数量够不够,可以回车,向导就会提示你还剩多少个字符没有输入了:
Please type at least 320 randomly chosen characters and then press Enter:
Characters remaining: 277
Characters remaining: 172
Characters remaining: 88
Characters remaining: 31
当输入的随机字符数量符合要求后,向导就开始创建加密盘了:
Done: 9.946% Speed: 89 MB/s Left: 81 s
全部完成后会有如下提示
Done: 100.000% Speed: 88 MB/s Left: 0 s
The VeraCrypt volume has been successfully created.
(二)挂载加密磁盘
1、挂载加密磁盘
挂载由veracrypt加密的磁盘和挂载普通磁盘的命令不一样,不能使用mount
。
在未挂载前使用fdisk -l
命令查看的话,磁盘还是没有分区和格式化的状态:
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x330ad122
在这种状态下是没有办法使用mount
命令的。
正确的方法是使用命令 veracrypt /dev/sdb /mnt
:
[root@localhost src]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]:
这时系统会提示是输入加密磁盘时预留的密码,后三项可以直接回车略过。
2、查看磁盘挂载情况
这里再使用fdisk -l
命令查看的话,在原来的磁盘/dev/sda
、/dev/sdb
的基础上会多出一个/dev/mapper/veracrypt1
磁盘,这就是挂载上来加密磁盘:
Disk /dev/mapper/veracrypt1: 8589 MB, 8589672448 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
使用 df -h
命令查看可以看到/dev/mapper/veracrypt1
已经挂载到/mnt
目录上了。
[root@localhost src]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 47G 1001M 43G 3% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 976M 80M 845M 9% /boot
/dev/mapper/veracrypt1
7.8G 18M 7.4G 1% /mnt
3、尝试访问和写入文件
[root@localhost src]# cd /mnt
[root@localhost mnt]# ll
总用量 16
drwx------. 2 root root 16384 2月 6 21:35 lost+found
[root@localhost mnt]# touch 1.txt
[root@localhost mnt]# ll
总用量 16
-rw-r--r--. 1 root root 0 2月 6 21:48 1.txt
drwx------. 2 root root 16384 2月 6 21:35 lost+found
[root@localhost mnt]# echo "text" >2.txt
[root@localhost mnt]# ll
总用量 20
-rw-r--r--. 1 root root 0 2月 6 21:48 1.txt
-rw-r--r--. 1 root root 5 2月 6 21:49 2.txt
drwx------. 2 root root 16384 2月 6 21:35 lost+found
[root@localhost src]# cd /mnt
[root@localhost mnt]# ll
总用量 16
drwx------. 2 root root 16384 2月 6 21:35 lost+found
[root@localhost mnt]# touch 1.txt
[root@localhost mnt]# ll
总用量 16
-rw-r--r--. 1 root root 0 2月 6 21:48 1.txt
drwx------. 2 root root 16384 2月 6 21:35 lost+found
[root@localhost mnt]# echo "text" >2.txt
[root@localhost mnt]# ll
总用量 20
-rw-r--r--. 1 root root 0 2月 6 21:48 1.txt
-rw-r--r--. 1 root root 5 2月 6 21:49 2.txt
drwx------. 2 root root 16384 2月 6 21:35 lost+found
没有问题,挂载成功。
(三)卸载加密硬磁盘
既然挂载加密磁盘有专用的命令,那么卸载加密磁盘也一定有专用的命令:
veracrypt -d /mnt
如果要卸载系统中挂载的全部veracrypt加密磁盘,则使用:
veracrypt -d
不指定挂载目录即可。
再次查看系统中已经挂载的磁盘:
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 47G 1001M 43G 3% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 976M 80M 845M 9% /boot
veracrypt加密磁盘已经被卸载掉了。
一、加密卷类型介绍
在使用向导创建加密磁盘的第一步就是让我们选择加密卷的类型。使用向导创建VeraCrypt加密磁盘请查看上一页
[root@localhost src]# veracrypt -t -c
Volume type:
1) Normal
2) Hidden
Select [1]: 1
(一)加密卷类型
这里有二种类型的加密卷:
1、标准VeraCrypt加密卷(Normal):
这里创建的就是常规的加密卷
2、隐藏的VeraCrypt加密卷(Hidden):
可能在某些情况,有些人会迫使我们告诉他加密卷的密码,并且很多情况下我们是无法拒绝这种要求的(如,存在暴力因素)。在这种情况下,使用这种隐藏的加密卷可以解决这些问题,而无须泄漏隐藏加密卷的密码。
(二)隐藏加密卷类型
创建隐藏的加密卷也存在二种情况:
1、常规模式
向导将会首先帮助你创建一个普通的VeraCrypt加密卷,随后会继续在这个普通的加密卷里创建一个隐藏的加密卷。这种方式通常在GUI界面下才会使用,适合于对VeraCrypt使用不太熟练的用户;
2、直接模式
这种模式在GUI界面和命令行模式下都可以使用。使用此模式的时候,VeraCrypt会在已有的VeraCrypt加密卷内创建一个隐藏的VeraCrypt加密卷。这里假设我们已经创建好了适合于创建隐藏VeraCrypt加密卷的VeraCrypt外层加密卷。
二、创建隐藏加密卷
下面我们就通过实操来建立一个VeraCrypt隐藏加密卷:
在这里我先做好了一个VeraCrypt加密卷做为外层加密卷,加密卷大小为2GB
; 我要在里面新建一个大小为500MB
的隐藏卷。
1、启动创建加密卷向导,并选择 2
,既Hidden
[root@CenOS6A ~]# veracrypt -c -t
Volume type:
1) Normal
2) Hidden
Select [1]: 2
[root@CenOS6A ~]# veracrypt -c -t
Volume type:
1) Normal
2) Hidden
Select [1]: 2
回车后,向导会弹出如下提示:
IMPORTANT: Inexperienced users should use the graphical user interface to create a hidden volume. When using the text interface, the procedure described in the command line help must be followed to create a hidden volume.
提示你如果是没有经验的用户请使用GUI界面来创建隐藏加密卷。
2、选择外层加密卷并指定大小
Enter volume path: /dev/sdb
Enter hidden volume size (sizeK/size[M]/sizeG): 500M
3、其余步骤
Enter volume path: /dev/sdb
Enter hidden volume size (sizeK/size[M]/sizeG): 500M
剩下的步骤和创建标准加密卷是一样的了。查阅具体步骤,请看上一页
需要注意的是在此处输入并确认的密码是指定用于隐藏加密卷的密码,这个密码与外层加密卷的密码不同;Veracrypt是使用密码来区分挂载的是常规加密卷还是隐藏加密卷的。在创建隐藏卷的时候,并不需要输入外层加密卷的密码。
4、向导在隐藏加密卷创建完成后,会给出如下提示:
The hidden VeraCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if the precautions and requirements listed in the section "Security Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide are followed, it should be impossible to prove that the hidden volume exists, even when the outer volume is mounted.
WARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (FOR INFORMATION ON HOW TO DO SO, REFER TO THE SECTION "PROTECTION OF HIDDEN VOLUMES AGAINST DAMAGE" IN THE VERACRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!
The hidden VeraCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if the precautions and requirements listed in the section "Security Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide are followed, it should be impossible to prove that the hidden volume exists, even when the outer volume is mounted.
WARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (FOR INFORMATION ON HOW TO DO SO, REFER TO THE SECTION "PROTECTION OF HIDDEN VOLUMES AGAINST DAMAGE" IN THE VERACRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!
大致意思为:
隐藏卷已经创建成功,如果你按照用户手册去操作的话,即使外层加密卷被挂载,其他人也无法得知隐藏卷的存在;如果你在加载外层加密卷的时候没有选择保护隐藏加密卷,则有可能覆盖或者破坏隐藏加密卷。
三、挂载加密卷
(一)、挂载外层加密卷
1、挂载外层加密卷:
[root@CenOS6A ~]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]: yes
1、挂载外层加密卷:
[root@CenOS6A ~]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]: yes
[root@CenOS6A ~]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]: yes
这里需要输入Yes
。因为在加载外层加密卷后,在写入数据的时候,如果这里采用的默认的 No
,那么有可以造成隐藏卷的损坏。所以如果你需要入向层加密卷写入数据的话,一定要选择 Yes
2、输入隐藏加密卷的密码
Enter password for hidden volume:
Enter PIM for hidden volume:
Enter keyfile for hidden volume [none]:
Enter password for hidden volume:
Enter PIM for hidden volume:
Enter keyfile for hidden volume [none]:
挂载成功后出现如下提示:
The hidden volume is now protected against damage until the outer volume is dismounted.
WARNING: If any data is attempted to be saved to the hidden volume area, VeraCrypt will start write-protecting the entire volume (both the outer and the hidden part) until it is dismounted. This may cause filesystem corruption on the outer volume, which (if repeated) might adversely affect plausible deniability of the hidden volume. Therefore, you should make every effort to avoid writing to the hidden volume area. Any data being saved to the hidden volume area will not be saved and will be lost. Windows may report this as a write error ("Delayed Write Failed" or "The parameter is incorrect").
意思为:
在外层加密卷卸载前隐藏加密卷将牌保护之中
警告:如果有数据试图保存到隐藏加密卷区域,VeraCrypt将会对整个加密卷(外层加密卷和隐藏加密卷)进行保护直到卸载。这会导致外层加密卷文件系统出错,如若重复出现也会影响隐藏加密卷的隐蔽性。因此,您应该尽量避免写入任何数据到隐藏加密卷区域。任何保存到隐藏加密卷区域的数据将不被保存并且会丢失!Windows可能会报告为写入错误(”延迟写入失败“或者是“参数不正确”)。
3、查看磁盘挂载情况:
[root@CenOS6A ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.1G 17G 7% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 477M 76M 376M 17% /boot
/dev/loop0 2.0G 3.0M 1.9G 1% /mnt
[root@CenOS6A ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.1G 17G 7% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 477M 76M 376M 17% /boot
/dev/loop0 2.0G 3.0M 1.9G 1% /mnt
显示的外层加密磁盘空间大小为2GB
,OK 没有问题!
(二)、挂载隐藏加密卷
1、挂载隐藏加密卷:
先卸载之前挂载的外层加密卷:
veracrypt -d /mnt
[root@CenOS6A ~]# veracrypt /dev/sdb /mnt
Enter password for /dev/sdb:
Enter PIM for /dev/sdb:
Enter keyfile [none]:
Protect hidden volume (if any)? (y=Yes/n=No) [No]:
因为挂载的是隐藏加密卷,所以这里不再需要保护隐藏加密卷,直接回车就可以了。
2、查看磁盘挂载情况:
[root@CenOS6A ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.1G 17G 7% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 477M 76M 376M 17% /boot
/dev/mapper/veracrypt1
477M 2.3M 449M 1% /mnt
[root@CenOS6A ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 19G 1.1G 17G 7% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 477M 76M 376M 17% /boot
/dev/mapper/veracrypt1
477M 2.3M 449M 1% /mnt
显示的隐藏加密卷空间大小为500MB
,OK没有问题!
一、创建常规加密磁盘
我们使用单纯的命令行来实现在第一部分使用向导所完成的任务。
1、命令如下:
veracrypt -c --non-interactive --volume-type normal -v /dev/sdb --encryption aes --hash sha512 --filesystem Ext4 -p 123456 --random-source /root/anaconda-ks.cfg
2、参数详解:
参数 | 说明 |
---|---|
--non-interactive |
执行命令行时不需要用户交互 |
-c |
生成加密磁盘 |
--volume-type |
这里指定加密磁盘的类型,是常规加密(normal ) |
还是隐藏加密(hidden ),这里指定是的normal |
|
-v |
指定待加密的设备,这里使用/dev/sdb |
--encryptihion |
指定加密算法,这里使用aes |
--hash |
哈希算法,这里使用sha512 |
--filesystem |
加密后使用的文件系统格式,这里使用Ext4 |
-p |
这里指定加密磁盘的密码 |
--random-source |
指定一个文件做为随机字符来源, |
可随意指定一个字符数大于320的文件 |
3、执行效果
[root@CenOS6A ~]# veracrypt -c --non-interactive --volume-type normal -v /dev/sdb --encryption aes --hash sha512 --filesystem Ext4 -p 123456 --random-source /root/anaconda-ks.cfg
Done: 100.000% Speed: 81 MB/s Left: 0 s
The VeraCrypt volume has been successfully created.
二、创建隐藏加密磁盘
我们使用单纯的命令行来实现在第二部分使用向导所完成的任务。
1、命令如下:
veracrypt -c --non-interactive --volume-type hidden -v /dev/sdb --encryption aes --hash sha512 --filesystem Ext4 -p 147258 --random-source /root/anaconda-ks.cfg \
--size 500M
2、参数详解:
这条命令大部分参数与创建常规加密磁盘一样,下面介绍二个不同的地方:
参数 | 说明 |
---|---|
--volume-type |
加密磁盘类型这里指定的是hidden |
-p |
这里指定的密码是隐藏磁盘的密码, |
需要和外层磁盘的密码不同 | |
--size |
指定隐藏盘的大小(K|M|G),这里指定为500M |
3、执行效果
[root@CenOS6A ~]# veracrypt -c --non-interactive \
--volume-type hidden \
-v /dev/sdb --encryption aes \
--hash sha512 \
--filesystem Ext4 \
-p 147258 --random-source \
/root/anaconda-ks.cfg --size 500M
IMPORTANT: Inexperienced users should use the graphical user interface to create a hidden volume. When using the text interface, the procedure described in the command line help must be followed to create a hidden volume.
Enter PIM:
Enter keyfile path [none]:
Done: 100.000% Speed: 100 MB/s Left: 0 s
The hidden VeraCrypt volume has been successfully created and is ready for use. If all the instructions have been followed and if the precautions and requirements listed in the section "Security Requirements and Precautions Pertaining to Hidden Volumes" in the VeraCrypt User's Guide are followed, it should be impossible to prove that the hidden volume exists, even when the outer volume is mounted.
WARNING: IF YOU DO NOT PROTECT THE HIDDEN VOLUME (FOR INFORMATION ON HOW TO DO SO, REFER TO THE SECTION "PROTECTION OF HIDDEN VOLUMES AGAINST DAMAGE" IN THE VERACRYPT USER'S GUIDE), DO NOT WRITE TO THE OUTER VOLUME. OTHERWISE, YOU MAY OVERWRITE AND DAMAGE THE HIDDEN VOLUME!
一、使用PIM和keyfile
(一)、生成keyfile
执行如下命令:
veracrypt --create-keyfile /root/veracrypt_keyfile \
--random-source /root/anaconda-ks.cfg \
--non-interactive
该命令在/root目录下生成名为veracrypt_keyfile的keyfile.
(二)使用PIM和keyfile生成常规加密磁盘
执行如下命令:
veracrypt -c --volume-type normal -v /dev/sdb --encryption aes --hash sha512 --filesystem Ext4 -p 123456 --random-source /root/anaconda-ks.cfg \
--pim 514 -k /root/veracrypt_keyfile --non-interactive
参数详解: --PIM
用于指定迭代数(大于 485, 但是要小于2147468) -k
指定keyfile文件
其余参数和之前介绍的是一样的。
注:生成隐藏加密磁盘的命令和生成常规加密磁盘大致一样,只是指定--volume-type
为 hidden
(三)、使用PIM和keyfile挂载常规/隐藏加密磁盘
执行如下命令:
veracrypt --pim 514 -k /root/veracrypt_keyfile -p 123456 --protect-hidden no --non-interactive /dev/sdb /mnt
二、挂载带有隐藏分区的常加密磁盘
执行如下命令:
veracrypt -p 123456 --protect-hidden yes --protection-password 147258 --non-interactive /dev/sdb /mnt
参数详解: --protect-hidden
保护隐藏分区不受破坏,设置为yes
--protection-password
输入隐藏分区的密码
三、挂载隐藏加密磁盘
执行如下命令:
挂载隐藏加密磁盘
veracrypt -p 147258 \
--protect-hidden no \
--non-interactive /dev/sdb /mnt
四、变更加密磁盘的密码、哈希算法、keyfile以及PIM(包括常规加密和隐藏加密)
以变更密码为例,执行如下命令:
veracrypt -C /dev/sdb --new-password abc123 -p 123456 --non-interactive
--new-password
用于设置新的密码
与此类型的参数有: --new-hash
指定新的哈希算法 --new-keyfiles
指定新的keyfile --new-pim
指定新的PIM
注:VeraCrypt区分常规卷和隐藏卷依赖的是不用的密码,因此指定不用的密码,就可以变更常规卷或者隐藏卷了。
五、创建文件型加密卷
有时候,我们并不需要加密整块磁盘或者一个磁盘分区,这时我们可以在指定一个文件路径生成一个文件型的加密磁盘。这并不是一个真正的磁盘,你可以把它看作一个加密的虚拟磁盘,在你需要的时候可以随时挂载到指定目录上。
执行如下命令:
[root@CenOS6A ~]# veracrypt -t -c
Volume type:
1) Normal
2) Hidden
Select [1]: 1
Enter volume path: /tmp/veracrypt
Enter volume size (sizeK/size[M]/sizeG): 1G
这里指定是不是一个磁盘或者分区,而是直接指定了/tmp/veracrypt
这个文件,并指定这个卷的大小为1G
。
剩下部分部分的操作与加密磁盘就没有什么区别了。
在文件型加密磁盘上,同样可以新建隐藏的加密卷,它和真正的磁盘并没有什么区别。
六、在CD/DVD上创建加密卷
如果要在CD/DVD上创建加密卷,应先创建文件型加密卷,然后再将加密后的文件型加密卷记录至CD/DVD上保存。
七、使用keyfiles并以只读方式挂载加密卷
命令如下:
veracrypt -m ro -k keyfile1,keyfile2 /dev/sdb
参数-m
指定加密卷挂载选项,可选项为: headerback
使用备份的头文件挂载加密卷 nokernelcrypto
不使用内核加密服务 readonly|ro
只读挂载 system
使用系统加密挂载加密卷 timestamp|ts
卸载加密卷时,不恢复主机文件修改的时间截
八、列出已经挂载的加密卷
命令为: veracrypt -l
但是存在二种情况
1、正常挂载的加密卷,如果没有使用保护隐藏卷功能,无论是加载常规卷,还是隐藏卷,将显示如下信息:
[root@CenOS6A ~]# veracrypt -l
1: /dev/sdb /dev/mapper/veracrypt1 /mnt
加密设备显示为/dev/mapper/veracrypt
2、挂载含有隐藏加密卷的外层加密卷时,如果使用了保护隐藏卷功能,那么将显示如下信息:
[root@CenOS6A ~]# veracrypt -l
1: /dev/sdb /dev/loop0 /mnt
加密设备显示为/dev/loop0
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149668.htm