zhousir1991

让开源路人皆知~!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

基于物理层的磁盘加密技术(实用篇)

Posted on 2011-08-06 11:32  zhousir1991  阅读(1199)  评论(0编辑  收藏  举报
    这是一种非常实用的技术:即使你的硬盘丢了,捡到的人顶多格盘,摔盘,无法看到数据,哪怕时真空状态的数据

恢复也不起作用所以,单独写成一篇,来供大家参考,有兴趣的朋友可以参考着来做,适用于,经常出差,携带机密文件的商务人士,

更适用于像冠希哥这样的人士,你懂的~~看完可能会问,如果我是 windows 用户怎么办,那我推荐的是,可以先用

Linux的系统盘,放到光驱来将系统加载到内存,调用完以下的命令后,你的分区得到加密后,弹出光盘就可以啦~~

(不过不太懂Linux同学,还是建议大家慎用,数据无价,谨慎操作

基于物理层的磁盘加密技术:

首先新建一个分区做实验,这里由于时基于物理曾,所以不需要格式化为某一个具体的文件系统。
[root@desktop26 ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help): n                //这里输入n表示新建一个分区
Command action
   e   extended
   p   primary partition (1-4)
p                                      //我这里输入p,表示新建一个主分区,你也可以新建一个逻辑分区
Selected partition 4
First cylinder (3648-9729, default 3648): 
Using default value 3648
Last cylinder, +cylinders or +size{K,M,G} (3648-9729, default 9729): +1G       //这里输入+1G表示建立1G空间的分区
Command (m for help): w                                                        //这里输入w表示保存修改分区表
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks. 

----------出现以上这些字符表示分区已经成功,如果你不嫌麻烦可以重启计算机,实现分区表的同步,但为了避免重启,可以用一下命令----------

 

同步分区表的有效方法,官方推荐重启,但是这里说的是,避免重启的方法:
增加一个分区时用一下命令同步:
[root@desktop26 ~]# partx -a /dev/sda
删除一个分区时用一下命令同步:
[root@desktop26 ~]# partx -d --nr 5 /dev/sda    //这里的5表示sda5
再查看一下内核映射,没有,说明成功
[root@desktop26 ~]# delpart                  //待研究
再查看一下内核映射,出现,说明成功
[root@desktop26 ~]# cat /proc/partitions          //内核中的映射
major minor  #blocks  name
   8        0   78150744 sda
   8        1     102400 sda1
   8        2   28672000 sda2
   8        3     524288 sda3
 253        0    8388608 dm-0
 253        1     524288 dm-1
 253        2    6291456 dm-2
 253        3    6291456 dm-3
 253        4    2621440 dm-4
 253        5    6291456 dm-5
############################## 分区加密步奏(基于物理层的加密策略) #########################
[root@server26 ~]# cryptsetup luksFormat /dev/vda5 
WARNING! ======== This will overwrite data on /dev/vda5 irrevocably.
Are you sure? (Type uppercase yes): YES 
Enter LUKS passphrase: 
Verify passphrase:                               //这里输入两遍密码,可千万不能忘掉!!!
[root@server26 ~]# cryptsetup luksOpen /dev/vda5 zhousir 
Enter passphrase for /dev/vda5:                  //给磁盘解锁,以便于挂载
[root@server26 ~]# ll /dev/mapper/zhousir        //这里解锁之后可以用ll命令来验证一下,有没有再这个目录下生成一个映射
lrwxrwxrwx. 1 root root 7 Aug 4 16:07 /dev/mapper/zhousir -> ../dm-5 
------------------ 自动解密,并实现开机自动挂载的过程(有安全隐患,不推荐使用)----------------- 
[root@server26 ~]# vi /etc/crypttab              //这里可以手工创建这个文件,这样在开机的时候,就会提示用户输入密码
zhousir /dev/vda5 /root/mypass                   //文件内容
[root@server26 ~]# vi mypass                     //只要有这个文件存在即可,具体内容不用管,哪怕为空也行
[root@server26 ~]# cryptsetup luksAddKey /dev/vda5 /root/mypass
//这一步的作用就是实现开机自动解密,以便于下一步的自动挂载
[root@server26 ~]# mkdir /zhousir 
[root@server26 ~]# vi /etc/fstab 
/dev/mapper/zhousir /zhousir ext4 defaults 0 0    //老规矩,开机自动挂载

 

-----------------------------------------如何使用???--------------------------------------------------------- 

如果你使用了自动解密并且挂载,那么就可以直接使用,但如果没有请看一下步骤:

首先当开机完成后 ,你需要解锁你的设备:即执行上面的 cryptsetup luksOpen 命令来解锁,输入密码即可

然后解锁完之后,你需要挂载该设备: 

[root@server26 ~]# mount /dev/mapper/zhousir /zhousir        //这里的zhousir是你创建的文件夹,可以时其他名字 

进入到该文件夹,就可以顺利的读写数据了!~!~ 到这里就基本完成,用爽你的存储设备吧~~ 超级安全的有木有~~~!!!