以下内容来自: http://wzyboy.im/post/580.html
这位同学是个电脑奇才啊,有些事情分析的很详细,他介绍了一种加密方案,那还有没有更简单实用的加密方案呢。答案是肯定的,请看下期 。
自从“陈老师”的某个“门事件”之后,信息安全在“普通人”心目中的地位就越发重要了,不少人想到了加密硬盘上的数据。那么,用什么加密呢?对称式加密还是非对称式加密?用什么加密软件?解密方便吗?能随时访问吗?要转移加密文件怎么办?不少人为这些问题困扰着。本文将介绍一些常见的加密知识,并介绍一种组合式加密方式,不需要用到第三方软件,且安全、方便、一劳永逸。无论是你的私人日记,还是公司的商业机密,都可以用这种方式来加密。其实本文所介绍的方法用一些如 TrueCrypt 之类的老牌专业加密软件也可以做到,但是此方法不需要用到第三方软件。
一、一些加密方式及其优缺点
首先:没有绝对安全的加密方式
如果要论绝对安全的话,的确是没有绝对安全的加密方式的。以密码加密及暴力穷举为例,你设置了一个 12 位的强密码,别人暴力穷举要多少时间呢?你拿当前最先进的 CPU 为标准,计算,得到结果:一万多年。但这个结果真的是这样的吗?人类科技的发展是跳跃式的,计算机的发展更是如此。以一千年为例。一千年前的人类是什么样子的?那时的人类用什么东西来计算?那里还没有计算机,甚至连电都没有,但是现在呢?现在的计算机有多么发达?那时的人类设置了一道密码题,号称要 50 年才能人肉穷举完,但是放到现在,只要 0.0000001 秒就算出来了。你现在的密码也是如此,你不能预言什么时候会出现量子计算机之类的可怕的东西,也许 100 年后就出现了,于是你那号称 10000 年才能破解的东西,也许只用了 101 年就破解完了。
这么说得让人可怕,但是我们只要相对安全就可以了。什么是相对安全呢?举个通俗的例子。有一场考试,你是考官,你有考试的答案。答案装在一个用坚不可摧的材料制作的密码箱里,密码箱是四位密码的,也就是说最多试 10000 次就可以破解出来,那么密码箱里的答案安全吗?答案是未知。如果考试将在一个月后举行,期间密码箱被盗,那这答案就危险了,一个月的时间足够试 10000 次了。但是如果考试将在 5 分钟后举行,那这答案就是安全的,因为 5 分钟后这个密码箱里的信息就失效了,而这四位数的密码足够撑上 5 分钟的穷举时间。这就是相对安全。
明白了这些,请继续往下看。
最常见的:压缩软件加密
这是不少人用来加密自己数据的方式。这是一种对称式加密方式。用商业软件 WinRAR 或是开源的 7-Zip 来加密文件,方法就是直接在文件或目录上右击,然后把它们压制成一个压缩文件,制作压缩文件的时候加上一个强大的密码,压缩完成后将源文件删除甚至粉碎。
优点:
- 简易。有点基本电脑操作常识的人都会这样的操作,非常简单。
- 有效。目前对付压缩文件密码的方法还只有暴力穷举这一种。所以如果密码足够强大的话(如上文所说,强大到使破译者破译它需要的时间大于这个信息的有效期),这是非常安全的。
- 转移数据方便。如果你要把加密的商业机密传递给你的合作伙伴,那么直接把压缩包通过网络传送给他,然后再把压缩包的密码通过其它方式(非对称式加密等)传送给他,这些加密数据就传输完成了。甚至你可以把压缩包和密码都放在存储介质里亲手交给对方。只要保持存储介质不被调包,那么也是安全的。
缺点:
- 加密解密速度慢。如果压缩包里是你每天打开电脑都需要用到的数据,比如一份企划案。那么就麻烦了,每天开机都要解压之,然后编辑修改,关机前还要重新加密。关键问题是,如果这些文件很大,那么加密和解密的速度都是慢的。
- 容易因疏忽而导致泄露。如果你加密后忘记删除源文件,那么就完蛋了。就算删除了,也有数据恢复软件可以把它恢复出来。就算是用数据粉碎机使得源文件不可恢复了,你能保证解压时的临时目录里没有数据残留吗?难道你要把整个硬盘分区都粉碎一遍?就算你单独分个区,专门用来粉碎着玩,但是你能保证在焦头烂额的工作之后你还能记得这些步骤吗?就算你会编个脚本什么的自动执行这些步骤,你能保证你公司的老总也会编脚本吗?……好吧……停止吧。
我的名字叫强大:专业加密软件
这世界上不少的专业加密软件,有些是商业的,有些是免费的,有些甚至是开源的。比如这个。
我来自微软: EFS 加密
这其实是微软的 NTFS 文件系统中的一项功能,是一种基于文件系统的对称式加密。方法是在 NTFS 卷中,右击想要加密的文件或目录 → 属性 → 高级 → 加密文件。经过这样处理过后的文件或目录在资源管理器里默认显示为绿色。
二、关于 VHD 及如何创建、挂载
VHD 的全称是 Virtual Hard Disk。这最早是 Connectix 开发的一种技术,可以虚拟出一块硬盘,然后以一个文件的形式来存储这块虚拟的硬盘,文件里包括但不仅限于的信息有硬盘的分区、硬盘里的所有数据等。这个技术后来被微软买下了,并用在 Microsoft Virtual PC 里,但是到了 Windows 7 时代,这种技术被更多的人所了解,因为 Windows 7 提供了底层的支持。
底层支持是什么意思?在之前,你要用到 VHD,无非是在 Microsoft Virtual PC 或者是 Sun VirtualBox 等虚拟机软件里,而现在,在加载底层驱动的时候,VHD 就已经被支持了,这意味着 Windows 7 还没启动完成,你就已经可以读取并使用 VHD 了。
这又意味着什么呢?意味着你可以把 Windows 7 装到 VHD 里,然后从 VHD 启动!也就是说,可以像用 wubi 装 Ubuntu 那样,把整个 Windows 7 装到一个文件里!又或者,相当于把虚拟机里的系统带到了宿主电脑上启动了。微软官方有视频教程教你怎么做。
本文并不打算教你如何把 Windows 7 装到 VHD 里,而是要借用 VHD 来创建一块需要密码才能进入的区域。下面讲讲 VHD 的创建及挂载。前提:你正在使用 Windows 7 操作系统。
- 在“运行”里敲入
diskmgmt.msc
打开“磁盘管理”。 - 在菜单里选择创建 VHD,打开如下的窗口。
- 设置保存 VHD 文件的位置。
- 选择 VHD 文件的大小。注意最大也不能超过你放 VHD 文件所在分区的剩余空间的大小。事实上,太大也没有意思,用不掉,所以适可而止就行了,我选择的是 1GiB 的大小。
- 下面有一个格式问题,建议选择固定大小,动态大小并不方便。
- 开始创建。创建过程视你选择的文件大小而定,1GiB 的话,大约一分钟就搞定了。此时你存储它的目录里已经有一个对应大小的文件了。因为选择的是固定大小,所以以后它就一直这么大了。
- 此时你会发现 VHD 已经被自动挂载了,下面的磁盘列表里多了一个出来,右下角可能还会出现正在安装新硬件的提示,过了一会儿,这块 VHD 就像真正的硬盘一样出现在磁盘列表里了。
- 新硬盘买回来装上去要干啥?要分区呗。这块 VHD 虽然是虚拟的硬盘,但是它像真的硬盘一样,全新出厂,要初始化一下,然后分区,看图:
- 用 MBR 方式初始化它,然后就可以右击它进行分区了,只分一个区也行,分两个区也行,不管你怎么分,都不影响你真正的硬盘的分区表,所以随便玩好了。
- 分好之后,应该是这个样子的:(我分了两个区)
同时在资源管理器里和系统托盘里都能看到它的存在,就像一块移动硬盘一样存在着。
三、关于 BitLocker
BitLocker 是微软推出的一种加密技术,由于众所周知的垄断地位,微软可以与一些硬件厂商相合作,使 BitLocker 与硬件相结合,更好地保证数据的安全。
BitLocker 只有在 Windows Vista 及以上版本的 Windows 里才有,而且要是 Enterprise 或者 Ultimate 版本才行。这中间又有一些小小的差别,比如 Vista RTM 中通过 GUI 只能加密操作系统所在卷, Vista SP1 及以后的版本都可以加密。而在 Windows 7 里,又增加了加密可移动设备的功能。
BitLocker 的优点
- BitLocker 用的是 AES-128 的加密,到目前为止是非常牢靠的。
- BitLocker 可以设置成对用户透明的模式。用户是感觉不到它的加密与解密过程的。
- BitLocker 可以与硬件结合,发挥更大的效能。
- BitLocker 加密不会影响文件速度!
BitLocker 的缺点
它是基于分区的加密,也就是说,它只能加密整个分区,而不能加密某个文件或目录。这带来一些问题:
- 我需要为了加密而单独分一个区出来吗?
- 我要把文件传送给别人怎么办?用移动硬盘倒是可以,但是网络传输怎么办?
- 它对用户透明,所以人家一旦占用了我的电脑我的文件就形同虚设了。
Bitlocker + VHD
有一个解决方案可以去掉 BitLocker 的那些缺点,那就是用 BitLocker 加密 VHD 里的分区。
- 加密之后是一个文件,可以随便怎么传输。
- VHD 文件如果没有装满,压缩率是非常高的,可以轻易压缩到里面的文件所占的空间的大小,方便网络传输。
- 每次要用就挂载,不要用就在系统托盘里像安全删除移动硬盘一样把它删除了,就卸载了。
- 每次挂载之后的进入都是要输入密码的,以确保不会被非法使用。
四、用 BitLocker 加密 VHD 分区
这一步骤和加密普通分区是差不多的。
- 按照上文的方法挂载 VHD 分区。
- 在资源管理器里右击要加密的分区,启动 BitLocker。
- 这里选择用密码方式加密,输入一个足够强壮的密码,然后按提示把密码恢复文件保存到一个安全的地方。如果你记忆力够好,把文件删除了都没事。
- 开始加密。这一过程视分区大小而定,1GiB 的分区也不会超过 3
分钟。注意,这个过程是一劳永逸的,只有这第一次初始化要这么多时间,之后的操作都是不需要等待的。并且正如上文所说,即使你从非加密区分往加密分区复制文件,或是从加密分区向非加密分区复制文件,读写速度也是不会改变的。
- 加密完成后是这个样子的:
- 大功告成。你可以在加密分区里随意存储机密文件了,用完之后在系统托盘里删除掉这块
VHD,别人就无法操作了。如果要再次使用,则在磁盘管理里再次挂载即可,挂载之后是要重新输入密码的。
五、尾声
这篇文章我写了好久,但是写完后才发现,这真是自己一时冲动写的。废话了一大堆,其实没啥实际意义……不过既然写得很辛苦,那就发上来吧,可能,也许,会对一些朋友有用吧。
以上内容来自: http://wzyboy.im/post/580.html
这位同学是个电脑奇才啊,有些事情分析的很详细,他介绍了一种加密方案,那还有没有更简单实用的加密方案呢。答案是肯定的,请看下期 。