加密解密

关于隐藏卷的使用和注意事项

字号+ 作者:qianheng 来源: 2018-01-25 14:01:17 我要评论( ) 阅读:

今天为大家介绍关于隐藏卷的使用和注意事项,有需要的小伙伴参考一下,具体内容如下:什么是隐藏卷?  所谓的隐藏卷,就是在一个加密卷里 ...

今天为大家介绍关于隐藏卷的使用和注意事项,有需要的小伙伴参考一下,具体内容如下:

什么是隐藏卷?

  所谓的隐藏卷,就是在一个加密卷里面再创建一个加密卷。外层的那个加密卷是"明"的(也叫"宿主卷");内层的那个,是"暗"的(叫"隐藏卷")。这两个加密卷必须使用不同的认证因素(不同的口令或不同的 KeyFiles)。在物理上,你只能看到外层的加密文件或加密分区,内层的卷,是没有独立文件或独立分区的。

  当你要打开加密卷的时候,如果输入的是外层的认证因素(口令、KeyFiles),那就打开外层的卷(这时候看不到内层的数据);反之,输入内层的认证因素,则打开内层的卷(这时候看不到外层的数据)。

  隐藏卷的存储示意图如下(技术上就是利用外层卷的剩余空间来存储内层卷的数据)

隐藏卷有什么用?

  隐藏卷最大的好处在于:可以做到"Plausible Deniability"。这个洋文找不到贴切的中文对应。有人翻译为:"冠冕堂皇地拒绝",俺觉得不够贴切。为了便于大伙儿理解,稍微解释一下使用"Plausible Deniability"的场景。

  首先大伙儿应该明白一点——TrueCrypt 的加密卷是非常牛B滴(本系列前面几篇已经聊过了)。只要你设置的口令够复杂,尤其再配合 KeyFiles,TrueCrypt 加密卷是无法破解的。TrueCrypt 之强悍,连美国佬的 FBI 都没辙(前几年有活生生的案例)。

  但是别忘了安全界的一句老话——"越是安全的系统,人越成为主要的弱点"(如果你看过俺写的"社会工程学"系列博文,对此应该有体会)。

  虽然 TrueCrypt 加密盘很牛B,但某些攻击者(比如天朝的公安)可以采用某些手段(比如威胁你家人,比如刑讯逼供)逼迫你交出加密盘的口令/KeyFiles。那么,该如何应对"胁迫"捏?这时候,TrueCrypt 的隐藏卷就派上用场啦。

  当你一开始制作加密盘(加密卷)的时候,可以在加密卷中设置一个隐藏卷。按照通常的经验,你要把最敏感最重要的数据放在内层卷(隐藏卷),把相对不太重要的数据放在外层卷。一旦遭遇胁迫,你就装出一副很无奈的样子,很不情愿地把外层卷的口令告诉对方。这时候,外层卷虽然暴露了,但是内层的隐藏卷并没有暴露。这就是"Plausible Deniability"的使用场景。

隐藏卷 VS 嵌套卷

  这两个概念,可能某些同学会混淆,俺稍微澄清一下。

  所谓的"嵌套卷",就是把一个小的加密卷存放到另一个大的加密卷内部。打个比方,如同一个大的压缩文件中还包含一个小的压缩文件。

  表面上看,"嵌套卷"跟"隐藏卷"有相似之处;其实捏,两者有本质的区别。

  最关键的差别是:

对于"嵌套卷",只要能打开外层卷,就可以看到内层卷。

对于"隐藏卷",即使能打开外层卷,也无法判断是否存在隐藏卷。

上述差异导致:"嵌套卷"无法做到"Plausible Deniability",而"隐藏卷"可以。这也是"隐藏卷"相比"嵌套卷"的最主要优点。

  设想一下,如果你遭到胁迫,攻击者知道你使用了 TrueCrypt 加密,并且逼迫你打开加密卷。

如果你使用的是"嵌套卷"

打开外层卷之后,攻击者可能会找到存放在"外层卷"里面的"内层卷"。就可以继续胁迫你开启"内层卷"

如果你使用的是"隐藏卷"

打开外层卷之后,(除非你的设置有缺陷,否则)攻击者无法判断该加密卷内部是否存在隐藏卷。

(如果避免设置的缺陷,俺下面会聊)

如何创建隐藏卷

  大致需要如下几个步骤:

步骤1

 先创建一个普通的加密卷(这个应该不用俺再教了吧?)这个加密卷是用来作为外层卷(也就是"幌子")。

 外层卷可以是物理加密盘(某个加密分区),也可以是虚拟加密盘(某个加密文件)。

 关于"物理加密盘"和"虚拟加密盘"的差异、优缺点,本系列前面的博文已经聊过,这里就不再浪费口水了。

步骤2

 创建好外层卷之后,你需要在外层卷放置一些相对不太重要的文件作为幌子以掩人耳目。

 怎样才算是"相对不太重要"捏?下面的"注意事项"章节会提到。

步骤3

 在刚才那个普通加密卷的基础上,再创建一个"隐藏加密卷"。这个隐藏加密卷,就隐藏在普通加密卷的空闲磁盘空间里面。

 TrueCrypt 提供一个比较傻瓜化的向导,可以帮你一步步地在普通加密卷(外层卷)中创建一个隐藏加密卷(内层卷)。

 这个步骤其实不难,大伙儿应该能搞定。这里就不放界面截图了。搞不定的同学,可以到俺博客留言。如果很多人搞不定,俺再补上界面截图。

隐藏卷的三种使用模式

 如果某个加密卷包含有隐藏卷,那么该加密卷就会有三种不同的使用模式。

 很多使用 TrueCrypt 的同学都没彻底搞明白隐藏卷的这三种操作模式。所以俺特地用一个章节的篇幅,来说明这三种模式的差异和应用场景。

模式1:只打开内层的隐藏卷,外层卷不可见

  认证过程

  打开加密卷的时候,仅仅输入内层卷的认证因素(口令、KeyFiles)。这时候 TrueCrypt 会自动帮你加载内层卷。

  说明

  这是最常用的模式。因为外层卷只是一个掩人耳目的幌子,显然,你日常的大部分操作都是在"内层的隐藏卷"中进行。

模式2:只打开外层卷,内层卷不可见,对隐藏卷进行写保护

  认证过程

  可以有两种认证方式:

  1. 打开加密卷的时候,仅仅输入外层卷的认证因素(口令、KeyFiles),同时勾选"Read Only"选框。

  使用这种方式,整个加密卷(包括内层和外层)都是只读模式,自然也就不会破坏内层卷的数据。但因为是只读模式,所以只能浏览外层卷的文件,无法进行修改(写操作)。

  2. 打开加密卷的时候,同时输入外层卷和内层卷的认证因素(口令、KeyFiles)。

  使用这种方式,你可以对外层卷进行写操作(比如增加、删除文件,修改文件内容、等等)

  因为你同时输入内外两层卷的认证因素,TrueCrypt 软件自然就知道这个加密卷是含有"隐藏卷"的。所以,在这种模式下,TrueCrypt 会暗中对隐藏卷所在的磁盘区域进行写保护。(这种写保护是在文件系统驱动的层面进行的,你使用的应用软件感觉不出来)。

  假设说,你企图往外层卷写入大量的数据,并且写入的数据会覆盖到隐藏卷所在的磁盘区域,这时候 TrueCrypt 会屏蔽这些"磁盘写操作",同时你会看到一个提示"写入失败"。

  说明

  一般情况下不需要使用这种模式。除非你想调整外层卷的数据,再使用这种模式。

  可能有的同学会问:"外层卷的内容只是掩人耳目的幌子,难道需要经常调整吗?"关于这个问题,在后续的"注意事项"章节,俺会详细介绍。什么情况下需要调整外层卷的数据,以加强隐藏卷的隐蔽性。

模式3:只打开外层卷,内层卷不可见,不对隐藏卷进行写保护

  认证过程

  打开加密卷的时候,光输入外层卷的认证因素(口令、KeyFiles)。

  TrueCrypt 会自动帮你加载外层卷。这时候 TrueCrypt 不会对内层卷进行暗中保护。

  请注意:如果你不给出隐藏卷的口令,连 TrueCrypt 自己也无法判断是否存在隐藏卷。

  说明

  再罗嗦一下,处于这种模式下,TrueCrypt 不会对隐藏卷进行写保护。所以这种操作模式是有风险的——当你在操作外层卷的时候,可能会无意中破坏隐藏卷存储的数据。

平常使用的时候,千万不要用这种模式。只有当你遭到胁迫的时候,才使用这种模式。

  套用一下安全的专业术语。当你使用这种模式,其实是通过牺牲"可用性"来换取"保密性"。对于大多数 TrueCrypt 用户而言,"保密性"显然比"可用性"重要得多

   使用隐藏卷的注意事项

 本章节大伙儿要看仔细喽。即使是某些懂安全的网友,可能也会忽略下面提到的某些细节。

   受胁迫的时候,千万别搞错模式

  当你受到胁迫的时候,务必使用第三种模式——只输入外层卷的认证因素。如果这时候你因为慌乱,搞错了,输入了内层卷的认证因素(口令、KeyFiles),内层隐藏卷的数据自然就暴露了。

  再强调一遍:受到胁迫的时候,绝对不能使用第一种模式和第二种模式,必须使用第三种模式。一旦搞错,前功尽弃。

   关于空闲空间的比例问题

  前面介绍了,隐藏卷是位于外层卷的空闲空间中。比方说,你的外层卷总共 10GB,已经用掉 8GB,空闲空间只有 2GB。那么,你在这个外层卷里面创建隐藏卷,隐藏卷尺寸的上限就是 2GB(很多时候,上限远达不到 2GB,具体看外层卷的文件系统类型)。

  如果你的外层加密卷很大,但是只使用了一丁点空间(比如 100GB 加密卷只用了 1GB),那么攻击者就会起疑心——怀疑这个加密卷包含有隐藏卷。所以,你需要适当平衡一下,在外层加密卷中放置足够多的"幌子文件",占到一定比例的空间,才不至于引起怀疑。

   关于"幌子文件"的重要性问题

  前面俺提到,放置在外层卷的"幌子",必须是相对不太重要。所谓的"相对不太重要",就是说有一定的重要性,但是重要性远远不如隐藏卷中的数据。

  为啥俺特地强调这点捏?如果你放在外层卷的"幌子"是一些完全不重要的文件,就显得太假了。一旦你遭到胁迫,交出外层卷的密码,攻击者打开外层卷之后,发现里面都是一些鸡毛蒜皮的文件,自然会起疑心——为啥你把鸡毛蒜皮的文件用 TrueCrypt 加密?

  所以,放在外层加密卷的文件,必须有适当的重要性;但重要性要远远低于放在隐藏卷里面的重要性。

   关于备份的注意事项

  大部分人放在加密盘里面的数据,都是重要数据。重要数据,自然有备份的需要(以免硬盘坏,电脑被盗、等等)。

  如果你要备份含有隐藏卷的加密盘,要记得如下两条安全措施:

在每次备份之前,先随意地修改外层卷的文件

或者

每次备份之前,都先 重建 一个新的加密盘,然后分别COPY外层卷和内层卷的文件到新的加密盘对应的内外卷

  这两条措施,二选一。前者操作简单,但安全性不够强;后者操作麻烦,但安全性更好。

  为啥要有这两条防范措施捏?主要是为了对付"差分攻击"。"差分攻击"是一个信息安全的术语,"差分"指的是"差异分析"。为了让大伙儿明白,说一个针对加密盘进行差分攻击的场景。(这个例子有点复杂,不太懂技术的同学可能要多看几遍,才能看明白)

假设你使用了基于文件的虚拟加密盘,并且在其中设置了隐藏卷。

按照惯例,你在外层卷中放置了一些无关痛痒的文件,把机密信息放到隐藏卷。

平时,你经常需要打开隐藏卷,修改里面的内容。

由于外层卷的文件只是掩人耳目的幌子,所以你一直没有修改过外层卷的文件内容。

为了防止硬盘故障,你定期把这个虚拟加密盘备份到家中的U盘上。

有一天,朝廷的六扇门找到你,并且发现你在使用 TrueCrypt 加密盘。于是六扇门的人逼迫你交出加密盘的口令。

于是捏,你就假装交出外层卷的口令(反正外层卷存放的东西不重要,无所谓)。

如果故事到此为止,貌似天衣无缝。

但是,因为你曾经备份过U盘,六扇门搜查你家,发现了你备份加密盘的 U盘。

这时候,六扇门里面搞"信息取证"的技术人员就可以把两个加密盘(一个是U盘里面的,一个是你电脑上的)拿来做比对(也就是"差异分析")

前面俺介绍过,隐藏卷实际上是存放在外层卷的空闲磁盘空间。

由于你始终没有修改过外层卷,这时候就露出破绽了。

啥破绽捏?

你之前交出了外层卷口令,取证人员可以打开外层卷,读取外层卷那些"幌子文件"。然后,取证人员会发现:这两个加密盘,加密密钥是一样的,里面存放的文件也是一模一样的(因为外层卷你一直没改动过)。但是空闲区域的内容却有很大的不同。(这显然是很不正常的——这就是破绽)。

有经验的取证人员,单凭这点就可以推断——这个加密盘的空闲区域有猫腻!

这时候,虽然取证人员还无法知道隐藏卷的内容(因为他们还没有口令/KeyFiles),但是,他们已经可以断定:你使用了隐藏卷。

换句话说,你的隐藏卷已经被察觉了。接下来,六扇门的人就会开始胁迫你交出隐藏卷的口令/KeyFiles。

  这个例子稍微有点复杂,不知你看懂了没有?没看懂也没关系。反正你要记得前面提到的那两条防范措施。

   受胁迫时的演技

  俗话说得好:使用隐藏卷,演技很关键。所以最后再说说"演技"的问题——当你受到胁迫,要求你交出加密盘的密码或KeyFiles,请注意你的演技。

  坦白说,这方面俺没有太多经验啦——毕竟俺没当过演员 :) 所以暂列两条,算是抛砖引玉。

1. 不能太轻易就交出——这样显得太假

2. 一定要装出一副很不情愿、很无奈的神情

  如果你演技不好,又想对付"胁迫",咋办捏?还有一个绝招,就是前面博文介绍过的"KeyFiles 认证"。

  这个绝招可以让世界上所有的酷刑逼供失效。但是有两个前提:

1、你必须使用随机生成的 KeyFiles,并且用这些 KeyFiles 做加密盘的认证因素(如何随机生成 KeyFiles,俺之前介绍过)

2、你在被胁迫之前,必须彻底销毁 KeyFiles(包括 KeyFiles 的备份)

  因为随机生成的 KeyFiles,其内容连你自己也不知道。一旦彻底销毁,连你自己都无法打开加密盘。

以上就是今天本文的全部内容,希望对大家的学习和工作有所帮助,同时希望大家多多关注,谢谢!

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。