编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

自己的隐私是如何泄密的,不妨了解一下加密

wxchong 2024-06-23 19:02:41 开源技术 21 ℃ 0 评论

★文件加密的重要性

  

有些朋友以为,自己既不是影视明星,又不是恐怖分子,不需要采用文件加密之类的工具,那就大错特错啦。俺大致介绍一下,文件加密的用武之地。

◇防范失窃

  这年头,笔记本电脑、平板电脑越来越流行,而这类便捷的移动设备,也增加了丢失的概率。一旦你的移动设备丢失,存储在上面的个人敏感信息就有暴露的风险。比如用浏览器保存的登录口令、邮件客户端存储的私人邮件、等等。如果你的敏感信息是加密的,失窃后的风险就大大降低。

◇保存个人隐私

  很多人的家用电脑,都是几个家庭成员共用的。你可能会有一些个人隐私的信息,不希望被其他家庭成员看到。这时候,文件加密就可以防止你的隐私外泄。

◇加密备份数据

  很多同学把电脑中的数据备份到移动硬盘上。有些同学觉得放家里的移动硬盘还不保险(万一家里遭火灾,一样废掉)。正好近2年,"云"的概念炒得很热。所以,那些忧患意识很强的同学,就开始考虑用"云存储"(俗称网盘)来做异地备份。

  一旦你把数据备份到"云端",就得考虑加密问题了。假如你用的是国内公司提供的网盘,那你一定得小心。如果你把数据备份到国外的网盘,也未必安全。这不,连大名鼎鼎的Dropbox,最近都曝出数据安全的丑闻(懂洋文的同学,可以看 Wired 网站的爆料)。

  接下来,俺把几种常见的加密方式介绍一下,并分析各自的优缺点。

★使用压缩软件

  俺发现很多人(尤其是菜鸟用户),首先想到的加密方式,就是把敏感文件用压缩工具(比如 7zip、WinRAR)压缩一下,并设置一个口令。

◇优点

1. 不需要额外安装软件

  压缩软件几乎是装机必备的软件。因此,使用这种方法,多半不需要额外安装其它软件。

2. 便于备份

  可以把压缩文件 copy 到任何地方,只要知道口令就能打开。

◇缺点

1. 加密强度没保证

  压缩软件的强项是压缩,而不是加密。有些压缩软件,本身的加密强度不够,还有些压缩软件(比如早期的 WinZip),加密机制有缺陷,会导致攻击者轻易破解。

2. 查看文件不方便

  每次要查看加密压缩包里的文件,都需要先解压出来,看完再删除。非常麻烦!

3. 查看文件容易泄密

  如果你解压并看完之后,忘记删除敏感文件,就有泄密的风险。

  即便你的每次看完都对敏感文件进行【彻底删除】,也还是不保险。因为很多压缩软件在解压时,会先解到系统的临时目录。而压缩软件在使用完临时目录后,仅仅进行简单删除,而不是【彻底删除】。这样的话,敏感文件的内容有可能还在磁盘上。专业人士通过反删除工具,还是有可能恢复出来。

4. 功能有限

  用压缩软件加密,无法加密整个分区,无法加密某些系统文件(比如 Windows 的虚拟内存文件)。

◇小结

  用这个方法来加密自己电脑中的大量文件,显然是不方便的。如果你要给朋友传递一些需要保密的文件(但是密级又不是很高),或许还可以用一用。

★使用EFS(文件系统级加密)

  稍微懂点技术的用户,可能会选择EFS来加密文件。

  所谓的 EFS,就是把加密功能集成到文件系统中。通常,EFS 都是跟操作系统用户绑定的。某个用户加密的文件,只有该用户能看。也就是说,只要你能用此用户登录到系统中里,也就可以打开 EFS 加密的文件。考虑到 Windows 系统的用户居多,以下仅介绍 Windows 的 EFS。

  对于 Windows 系统而言,从 Win2000 开始,就支持 NTFS 文件系统,也就具有了 EFS 的功能。你只要查看某个文件的属性,在"属性"对话框中点"高级"按钮,即可看到如下的"高级属性"对话框。勾选"加密内容以便保护数据",即可完成对该文件的加密。

◇优点

  1. 不需要额外安装软件

  只要你的文件分区是 NTFS 格式,就可以使用 NTFS 的 EFS 功能。

  2. 加密强度有保证

  俺没有仔细研究 NTFS 的 EFS 的加密机制。不过捏,像微软这种级别的公司,搞出来的加密机制,强度是不会太弱的。

  3. 查看方便

  由于 EFS 直接集成到文件系统,因此你查看加密文件跟查看普通文件,没有任何区别。

◇缺点

1. 太依赖于当前系统

  EFS 的一个主要缺点,是太依赖当前的系统。如果你没有导出密钥,一旦系统重装了,那你就无法再访问被 EFS 加密的文件了。即便你用同样的安装盘重装,安装的时候使用同样的用户名和口令,也不行。更加神奇的是,即便你事先用 Ghost 把原来的系统分区克隆出来,再恢复回去,那些 EFS 加密过的文件,也不可用了。

2. 没有独立的认证方式

  前面提到了,EFS 依赖于操作系统本身的用户认证。如果你和家人共用一台电脑的【同一个系统用户】,那这种加密方式形同虚设。

3. 备份密钥的麻烦

  比方说,你把某个移动硬盘的文件用 EFS 加密。如果你希望在另外一台电脑上也能查看该 EFS 加密的文件。那么你必须先在加密的那台电脑中把秘钥导出,然后在第二台电脑导入。具体的操作步骤极其麻烦。如果你打算重装系统,也要搞这套复杂的秘钥导出步骤。(经网友在评论中提醒,从 Vista 开始,密钥的导入/导出步骤简化了很多)

4. 不能跨操作系统和文件系统

  比如 NTFS 的 EFS,显然只能用于 NTFS 分区,FAT 分区(FAT16、FAT32)用不了。

  另外,Windows、Linux 都有各自的 EFS 加密功能,互相之间是不能混用的。比如你一台 Windows 和一台 Linux,想在这两台电脑之间共用一个 U 盘,那 EFS 加密的方式就行不通。

◇小结

  EFS 的方式,对于防范电脑失窃,还是比较方便的。但是对于另外的几种用途,EFS 不是很方便。

 &#补充说明一下:自从 Vista 开始,Windows 内置了另外一种文件加密机制——BitLocker。它比传统的 EFS 有更多优点:增加了多种认证方式,用户界面更友好。但是,仅能用于 Vista 及之后的 Windows 系统,而且对具体的版本还有限制(据说仅限于 Enterprise 版和 Ultimate 版,不爽)。

 &#不过,俺把 BitLocker 归类到"专门的文件加密工具"

★专门的文件加密软件

  从前面的介绍可以看出,上述这几种方式,都有不少缺点。有些缺点还很要命。现在,俺要介绍今天的重点——基于专门的文件加密工具进行加密。

◇根据加密对象分类

  根据被加密对象的不同,大致有如下几种加密类型。有些加密工具,可以同时支持其中的几种。

1. 针对文件/文件夹的加密

  这种好理解,就是可以选择某几个文件或目录,然后对其进行加密。每一个文件/目录,都可以设置单独的认证信息(通常用口令)。

  以文件/目录为单位进行加密,一旦文件/目录的数量多了,管理起来不方便。

2. 针对物理硬盘的加密

  这种方式,就是把整个硬盘,或者硬盘的某个分区进行加密。如果你想访问该硬盘或者分区,需要通过认证(通常是输入口令)。认证之后,该硬盘可以像普通硬盘一样使用了。因此,即便别人拿到你的硬盘后(比如电脑被偷),也得不到被加密的数据。

  比如前面提到的 BitLocker 就支持物理硬盘的加密。

3. 针对虚拟硬盘的加密

  这种方式,说起来比较复杂。

  你可以通过加密软件,创建出一个虚拟硬盘。这个虚拟硬盘其实对应到一个你物理硬盘上的一个文件。你往这个虚拟硬盘上写入的数据,(经过加密之后)都存储在这个文件中。你创建的虚拟硬盘有多大,这个数据文件就有多大。

  在使用上,这种方式跟加密物理硬盘类似。要先通过认证才能使用。认证之后,就跟普通的硬盘没啥区别了。你一样可以对它进行分区(虚拟硬盘上的分区,就是虚拟分区),一样可以在上面安装软件。

  上述3种方式,俺比较喜欢"虚拟硬盘/虚拟分区"的方式。虽然加密物理硬盘和加密虚拟硬盘,在使用上没啥明显区别。但是虚拟硬盘只是一个数据文件,备份很方便。还可以把这个数据文件放在U盘上,在多台电脑之间公用——就像移动硬盘一样。

◇根据是否开源分类

  有些加密工具是开源的,有些是闭源的。

  显然,开源的比较爽。因为源代码开放,可以确保该软件没有暗藏后门,可以确保加密机制没有弱点。而且,开源的软件通常也是免费。

◇根据加密算法分类

  有些加密软件使用公开算法,有些使用私有算法。

  略懂密码学的网友应该晓得,使用公开算法比较靠谱。毕竟,公开算法(尤其是那些知名且使用广泛的)是经过许多密码学大牛严格论证的,确保其中没有明显的缺陷。

◇如何选择?

  那如何选择文件加密工具捏,俺觉得如下几点要注意:

1. 知名度高,口碑好

2. 有较多的用户使用

3. 支持主流的加密算法

4. 最好是支持虚拟盘/虚拟分区

5. 最好是免费且开源的

6. 最好支持多种操作系统

◇小结

  如果你选择的加密工具足够好,那么,前面提及的通过压缩软件或EFS加密导致的各种麻烦,大都可以避免。反之,如果你选择的工具不好,不光容易泄露敏感数据;万一工具的质量没保证(比如软件有Bug),还会损坏你的数据,导致你的敏感数据丢失。下一篇我会介绍大名鼎鼎的加密工具---Veracrypt

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表