`
saybody
  • 浏览: 903729 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

文件加密的扫盲介绍

阅读更多

★引子

  上一个帖子点评了爱国愤青关于拉登同学的几个误区 。 话说美国佬把拉登灭掉之后不到一星期,从拉登老巢缴获的电脑资料,就开始在美国政府的网站曝光了(比如拉登的生活录像)。另据美国某安全官员说,缴获的电 脑资料之多,抵得上一个小型图书馆。单从这点可以判断出:拉登同学对自己手头的存储设备(比如硬盘、U盘之类),没有进行足够强度 的加密处理。这令俺很吃惊啊!——堂堂的恐怖大亨,竟然连这点常识都没有啊?!
  想当年,陈冠希同学就是因为疏忽了数据加密,导致艳照满世界流传,不光搞臭了一堆女明星,也造福了无数男网民。这回,估计要步陈同学的后尘了——区别在于,这次倒霉的是的残余势力,受益的是美国情报机构。

★文件加密的重要性

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

◇防范失窃

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

◇保存个人隐私

  很多人的家用电脑,都是几个家庭成员共用的。你可能会有一些个人隐私的信息,不希望被其他家庭成员看到。比如你上网下载的毛片、艳照、等,多半不希望被你父母或子女看到。这时候,文件加密就可以防止你的隐私外泄。

◇加密备份数据

  很多同学把电脑中的数据备份到移动硬盘上。有些同学觉得放家里的移动硬盘还不保险(万一家里遭火灾,一样废掉)。正好近2年,"云"的概念炒得很热。所以,那些忧患意识很强的同学,就开始考虑用"云存储"(俗称网盘)来做异地备份。
  一旦你把数据备份到"云端",就得考虑加密问题了。假如你用的是国内公司提供的网盘,那你一定得小心。因为党国是很关心屁民的隐私滴(具体的原因,你懂的:)。如果你把数据备份到国外的网盘,也未必安全。这不,连大名鼎鼎的Dropbox,最近都曝出数据安全的丑闻(懂洋文的同学,可以看Wired的爆料 )。

◇对付六扇门的人

  前几种情况比较常见,俺再介绍一种比较少见的情况。

......

(此处涉及敏感内容,省略164字,有兴趣的同学,请去俺BlogSpot的博客看原文)
  关于这种情况,俺之前在"如何隐藏你的踪迹,避免跨省追捕" 这个系列文章中,有介绍。当时提及的几个注意事项,就包括了电脑存储设备的加密问题。不过捏,当时没有详细介绍加密工具的使用细节。所以,今天俺会把这部分补上。

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

★使用压缩软件

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

◇优点:

  1、不需要额外安装软件
  压缩软件几乎是装机必备的软件。因此,使用这种方法,多半不需要额外安装其它软件。
  2、便于备份
  可以把压缩文件copy到任何地方,只要知道口令就能打开。

◇缺点:

  1、加密强度没保证
  压缩软件的强项是压缩,而不是加密。有些压缩软件,本身的加密强度不够,还有些压缩软件(比如早期的WinZip),加密机制有缺陷,会导致攻击者轻易破解。
  2、查看文件不方便
  每次要查看加密压缩包里的文件,都需要先解压出来,看完再删除。非常麻烦!
  3、查看文件容易泄密
  如果你解压并看完之后,忘记删除敏感文件,就有泄密的风险。
  即便你的每次看完都对敏感文件进行彻底删除 ,也还是不保险。因为很多压缩软件在解压时,会先解到系统的临时目录。而压缩软件在使用完临时目录后,仅仅进行简单删除,而不是彻底删除 。这样的话,敏感文件的内容有可能还在磁盘上。专业人士通过反删除工具,还是有可能恢复出来。
  4、功能有限
  用压缩软件加密,无法加密整个分区,无法加密某些系统文件。

◇总结

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

★使用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分区用不了。
  另外,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、最好支持多种操作系统

  考虑到有不少网友留言,让俺推荐一款加密软件。俺专门写了一个帖子推荐TrueCrypt

◇总结

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


版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想 和本文原始地址:
http://program-think.blogspot.com/2011/05/file-encryption-overview.html

分享到:
评论

相关推荐

    Word文档加密器6.0正式版

    用户打开受加密保护的文档时,加密文件会弹出验证框要求用户输入阅读密码,这个验证框中同时显示有用户的机器码,用户可以发送他的机器码给你,你根据用户的机器码为他创建阅读密码;由于阅读密码是基于用户机器码...

    文件加密原理介绍

    文件加密是信息安全领域中的一个重要概念,它涉及到保护数据隐私、防止未经授权访问以及确保信息传输安全等多方面。本文将深入探讨文件加密的原理,并为初学者提供基础的指导。 一、加密的基本概念 1. 密码学:文件...

    文档加密透明加密管理系统

    - **手动加密与自动加密结合**:支持手动选择加密特定文档,也可设置规则自动加密新创建或修改的文件。 - **文档自动加密**:对于敏感或重要文档,系统可根据预设规则自动进行加密处理,无需人工干预。 - **文档手动...

    文件加密方法

    密钥的备份应妥善保管,避免因密钥丢失导致无法访问加密文件。 #### 结论 文件加密是保护个人信息安全的重要手段,不同的加密方法适用于不同的场景需求。初级用户可以通过上述方法逐步建立起对文件保护的基本认知...

    文件加密解密源码.zip_文件加密_文件解密

    下面将详细介绍文件加密和解密的基本概念、原理以及相关技术。 文件加密是一种将原始数据(明文)转化为无法读取的形式(密文)的过程,以防止未经授权的人员获取敏感信息。它通常基于特定的加密算法,如AES(高级...

    word文档加密工具

    至于压缩包中的文件"Word文档加密器 V5.2",这可能是该工具的最新版本,V5.2可能意味着它经过多次迭代,修复了早期版本的漏洞,并增加了新的功能。版本号的提升通常意味着软件的稳定性和功能性得到增强。 Word文档...

    java实现文件加密解密

    2. 加密文件:使用加密算法对文件中的内容进行加密。 3. 写入文件:使用 FileOutputStream 将加密后的文件写入到新的文件中。 4. 上传文件:将加密后的文件上传到云服务器中。 5. 下载文件:使用网络下载加密后的...

    加密和解密hex文件

    5. 解密:当需要访问原始数据时,应用将接收到的加密文件加载,使用相同的DES密钥进行解密,然后可能需要进行反向的格式转换,将数据还原回原始的Hex文件。 DES虽然在安全性上已被现代标准如AES(Advanced ...

    c#中对xml文件加密和解密完整代码

    在C#编程环境中,处理XML文件的加密和解密是一项重要的任务,特别是在处理敏感数据时。XML文件因为其结构清晰、易于解析而被广泛应用,但同时也需要妥善保护以防止未授权访问。以下是对C#中XML文件加密和解密的详细...

    如何对PDF文件加密

    下面,我们将详细介绍如何对 PDF 文件加密。 一、什么是 PDF 文件加密? PDF 文件加密是指使用加密算法和密钥将 PDF 文件保护起来,使得只有拥有正确密码或密钥的人才能访问和使用该文件。加密的目的是为了防止...

    使用java自带des加密算法实现文件加密和字符串加密

    主要介绍了使用java自带des加密算法实现文件加密和字符串加密的示例,需要的朋友可以参考下

    前沿风雷文件加密软件使用办法

    前沿风雷文件加密软件是前沿文档安全治理系统[风雷版]的一部分,该软件旨在提供文件加密和解密功能,保护文件的安全和保密。 使用范围 前沿风雷文件加密软件适用于各种类型的文件,包括文档、图片、音频和视频等。...

    Java实现文件的RSA和DES加密

    文件加密可以通过使用 Cipher 对象来实现,首先需要获取 DES 加密的密钥,然后使用 Cipher 对象来加密文件。 同样,在 Java 中,实现 RSA 加密算法也可以通过生成一对密钥,然后保存到 xml 文件中,以便以后获取私...

    plist文件加密方法

    在iOS开发中,为了保护应用程序的数据安全,对plist文件进行加密是常见的做法。Plist(Property List)文件是苹果系统中用于存储配置信息或轻量级数据的文件,通常以XML或二进制格式存在。当这些文件包含敏感信息时...

    csv加密工具

    本篇文章将详细介绍如何在Windows环境下使用C++实现CSV文件的加密,以及将加密后的数据转换为二进制文件,以便于在应用程序或游戏中读取使用。 首先,我们需要了解加密的基本原理。在C++中,我们可以使用各种加密库...

    C#文件加密解密(完整项目)

    5. 将加密后的字节数组写入新的文件,作为加密文件。 6. 保存密钥和IV,以便解密时使用。 四、文件解密流程 1. 读取加密文件的全部内容(实际上是加密后的字节数组)。 2. 读取保存的密钥和IV。 3. 创建AES解密器...

    (Java)文件快速加密(异或加密)

    5. **解密**:解密时,读取加密文件的第一个字节,与同一密钥进行异或,得到原来的字节,写回文件。 这种加密方式虽然能显著提升加密速度,但由于只加密了第一个字节,它的安全性非常有限。对于纯文本文件,尤其是...

    文件加密————用来加密文件和文件夹

    - 备份与恢复:优秀的加密软件还会提供备份加密文件的功能,以防止意外丢失。 “使用说明l.txt”可能是该加密工具的详细操作指南,涵盖了如何安装、创建加密、解密文件以及处理各种可能出现的问题。用户应仔细阅读...

    EXE文件加密9.1(正版)

    《EXE文件加密9.1(正版):深入解析与应用》 在信息化时代,数据安全成为了企业和个人都关注的重要问题。尤其是对于可执行文件(EXE)来说,由于其直接运行于系统层面,一旦被恶意篡改或窃取,可能会带来严重的...

Global site tag (gtag.js) - Google Analytics