★引子
◇为啥到现在才介绍 TrueCrypt 的替代品
当年(2014)TrueCrypt 死亡的时候,俺发过一篇《分析一下 TrueCrypt 之死(自杀 or 他杀?),介绍一下应对措施》。当时俺提到:
因为 TC 的源代码是公开的,任何人都可以拿它的代码克隆出一个新的磁盘加密工具。所以官网变脸之后,已经陆续出现了几个克隆(代码 fork)。假以时日,或许其中的某个克隆会再次成为主流。如果真这样的话,TC 就涅磐重生了。从“TrueCrypt 死亡”到现在已经过了大约一年半,再加上 TrueCrypt 又曝了高危安全漏洞。所以俺估摸着:是时候写一篇【扫盲教程】来介绍 TrueCrypt 的替代品了。
提醒一下:如果你对安全性的要求比较高,短期内(至少1年之内)不要急着去用这些克隆的 TrueCrypt(这些克隆需要一定的时间才能成熟、稳定)。
◇先说说 TrueCrypt 的安全漏洞
这次的安全漏洞由 Google 的安全研究人员(James Forshaw)发现。共有2个漏洞(漏洞编号:CVE-2015-7358、CVE-2015-7359),影响的是 Windows 平台,Linux 和 Mac OS X【不受影响】。
(因为该漏洞只影响 Windows 平台,这说明该漏洞与“加密盘格式”【无关】)
对技术感兴趣的同学,可以到“这里”和“这里”看这2个漏洞的详细描述。
顺便表扬一下 Google 的安全研究团队,确实有两下子。之前大名鼎鼎的“Heartbleed 漏洞”也是 Google 安全研究团队曝光的。
俺选择 Blogspot 作为博客平台,就是考虑到 Google 在安全方面的实力;
与之对比,WordPress 虽然功能很牛,市场份额排名第一,但是经常曝出安全漏洞,不适合俺这种政治危险分子。
★关于 VeraCrypt
VeraCrypt 是从 TrueCrypt 派生出来的开源项目,成立于2013年6月。其官网在 https://www.veracrypt.fr/
它刚成立那会儿,TrueCrypt 尚未死亡,所以 VeraCrypt 没有吸引太多的注意力。TrueCrypt 死亡之后,VeraCrypt 的使用量开始多起来。
此次曝光了高危漏洞之后,VeraCrypt 很快就在8天之后(9月26日)发布了 1.15 版本,修复了该漏洞。此举令其曝光率大增。
俺之所以首先推荐 VeraCrypt,除了此次修复漏洞及时,还有一个原因——其它替代品要么质量不如 VeraCrypt 成熟,要么功能不如 VeraCrypt 完备。
比如另一个名气比较大的替代品是 CipherShed,目前还停留在“Pre-Alpha”阶段——也就是说,连“Beta 品质”都没有达到。
★如何获取 VeraCrypt?
建议直接从官网下载,【不要】从其它第三方的软件网站下载(大伙儿要吸取“XcodeGhost 事件”的教训)。
目前 VeraCrypt 支持三大桌面操作系统,具体如下:
Windows(WinXP 或之后的版本,包括新出的 Windows 10)
Linux(内核主版本号大于等于 2.6)
Mac OS X(版本号大于等于 10.6)
对于 Windows 用户,下载的 exe 安装包自带数字签名(如何校验数字签名,请看这篇博文)。另外,其官网还附上了不同平台安装包的“SHA 散列校验值”和“PGP 签名”。如果你下载的是 Linux 或 Mac OS X 的安装包,下载完之后,也请校验一下,以防万一。
★如何安装 VeraCrypt?
(考虑到大部分读者是 Windows 用户,为了节省口水,本文后续章节只聊 Windows 下的 VeraCrypt。使用其它平台的同学,请依样画葫芦)
安装前,先确保当前用户具有“管理员权限”。
双击下载好的安装包(就是那个 exe 文件),然后一路点 next 就可以了。
★VeraCrypt 功能概述
下面开始聊功能,这是本文的重点,看仔细喽。
前面说了,VeraCrypt 是从 TrueCrypt 衍生出来的。所以其功能与 TrueCrypt 非常类似。关于 TrueCrypt 的功能介绍,俺已经写过一系列的傻瓜教程,包括如下:
《TrueCrypt——文件加密的法宝》
《TrueCrypt 使用经验[1]:关于加密算法和加密盘的类型》
《TrueCrypt 使用经验[2]:关于加密盘的密码认证和 KeyFiles 认证》
《TrueCrypt 使用经验[3]:关于加密盘的破解和防范措施》
《TrueCrypt 使用经验[4]:关于隐藏卷的使用和注意事项》
(如果你之前【没有】使用过 TrueCrypt,强烈建议你先看完上述这几篇扫盲教程)
为了打字省力,那些与 TrueCrypt 类似的功能,俺就【不】介绍了。下面俺只聊 VeraCrypt 的【新增功能】。
★设置界面语言
考虑到某些网友是洋文菜鸟,先说一下如何配置界面的语言。
如果你打开 VeraCrypt 之后,界面是英文,先到主菜单中点击“Settings”,然后再点击“Language”菜单项,就会弹出一个选择语言的对话框,你把列表框的滚动条拉到底部,就会看到“简体中文”和“繁體中文”。具体截图如下:
选完中文之后,界面变为如下:
★支持的加密盘格式
VeraCrypt 支持两种加密盘的格式,其中一种就是原先 TrueCrypt 使用的格式,另一种是 VeraCrypt 自己新创的格式。因此,如果你手头有原先 TrueCrypt 创建的加密盘,也可以用 VeraCrypt 直接挂载(mount)。
这两种格式的【唯一差异】在于——VeraCrypt 的新格式支持 PIM 功能(关于此功能,待会儿介绍)。
为了防止混淆,再唠叨一下关于加密盘的类型(“类型”与“格式”是两个概念,别混淆了)。
TrueCrypt 支持两种类型的加密盘——物理加密盘(加密分区、全盘加密)和虚拟加密盘(卷文件);VeraCrypt 也支持这两种类型。
所以,排列组合之后,VeraCrypt 共支持如下4种:
旧格式(TrueCrypt 格式)的虚拟加密盘
旧格式(TrueCrypt 格式)的物理加密盘
新格式(VeraCrypt 格式)的虚拟加密盘
新格式(VeraCrypt 格式)的物理加密盘
当你使用旧格式(TrueCrypt 格式)的加密盘,其操作方式与原先的 TrueCrypt 基本一样。
当你使用新格式(VeraCrypt 格式)的加密盘,你可以配置 PIM 参数,也可以不配置(此时用的是默认值)。这个 PIM 参数有助于提升加密盘的安全性——主要是对抗“暴力破解”(本文后续章节会专门聊 PIM 功能)。
★支持的加密算法和散列算法
这方面,VeraCrypt 与 TrueCrypt 大同小异——加密算法一样,散列算法多了一个 SHA-256。
更详细的介绍,请大伙儿自行翻阅前些年的博文《TrueCrypt 使用经验[1]:关于加密算法和加密盘的类型》,俺就不浪费口水了。
★加密盘的认证方式
TrueCrypt 原先支持两种认证方式:“密码 & keyfiles”。这两种方式,VeraCrypt 也都支持。相关的介绍,请大伙儿自行翻阅前些年的博文《TrueCrypt 使用经验[2]:关于加密盘的密码认证和 KeyFiles 认证》,俺就不浪费口水了。
另外,VeraCrypt 还新增了一个 PIM 功能。从某种意义上讲,PIM 也可以算是一种认证方式(因为挂载加密盘到时候也需要它)。关于 PIM 功能,本文下面专门用一个章节来详述。
★创建加密盘
跟 TrueCrypt 类似,会出现一个“向导界面”,引导你一步步完成加密盘的创建。开头几步跟 TrueCrypt 类似,俺就不贴图了。
到最后一步,稍微有点不同,俺来聊一下。
以下是向导最后一步的界面,此时你选好文件系统格式之后,直接点击“格式化”按钮。
点击之后,你会发现进度条没有动静。因为 VeraCrypt 需要收集到足够多的随机信息,用来创建相关的加密密钥。
此时,你必须在当前这个窗口内,频繁并迅速地移动鼠标(随机移动)。大约四分之一柱香的功夫,就会出现进度条。
出现进度条,说明已经开始格式化。格式化完成后,会提示你。
★挂载加密盘
挂载加密盘的界面,跟 TrueCrypt 有点小区别——多了两个复选框。
其中一个复选框是“TrueCrypt Mode”——勾选它是为了挂载旧格式(TrueCrypt 格式)的加密盘。
另一个复选框是“Use PIM”——这个复选框的作用,留到后面的章节介绍。
提醒一下:
VeraCrypt 挂载【新格式】加密盘的时候,你会明显感觉很慢。主要是因为 VeraCrypt 强化了安全性(具体的技术细节后面会提及)。
★格式转换功能
VeraCrypt 不但可以打开旧格式(TrueCrypt 格式)的加密盘,而且可以把旧格式转化为新格式(VeraCrypt 格式)。
转换过程很简单——通过修改认证信息来进行。
也就是说:当你修改了某个旧格式加密盘的密码或者 keyfiles,修改成功之后,该加密盘就变为新格式了。
提醒:该转换是【不可逆】的。也就是说,你无法用 VeraCrypt 把新格式转为旧格式。
★PIM 功能
现在开始讲 PIM——这是 VeraCrypt 新增的功能,因此俺就多费点口水。
所谓的 PIM 是洋文“Personal Iterations Multiplier”的缩写。通俗地说就是:你可以自定义“加密盘的头部密钥生成时的迭代次数”。这句话比较绕口,要想解释清楚,需要聊相关的技术实现机制(如下)。
◇技术实现机制
(对技术细节【不】感兴趣的同学,就不用看俺的解释了。直接跳到下一节“VeraCrypt 相对 TrueCrypt 的改进”)
加密盘格式简介
不论是新格式还是老格式,加密盘的数据大致可以分为两部分:“头部”和“数据区”。
所谓的“数据区”,存放的就是加密盘中文件系统的数据(通俗地说,就是你放到加密盘中的文件和目录的信息)
所谓的“头部”(header),存放的是加密盘本身的一些信息。刚才提到的“数据区”,其加密的密钥叫“Master Key”(也叫“主密钥、数据区密钥”),这个“Master Key”就是存储在加密盘头部的。此外,像“加密盘格式的版本号”、“是否有隐藏卷”等信息,也是存储在头部的。
“Header Key”的生成机制
头部包含了很多加密盘的关键信息,自然也是要加密的。那么加密头部的密钥从哪里来捏?这个“Header Key”(也叫“首密钥、头部密钥”)是根据你输入的认证信息,来生成的(提醒一下,认证信息有2种:密码 和 keyfile)。
VeraCrypt 采用“PBKDF2 算法”来生成“Header Key”(该算法的具体描述参见“这里”)。
在生成“Header Key”的过程中,会采用你指定的散列算法进行 N 次迭代,以生成一个难以猜测的密钥。这个 N 就是前面所说的“迭代次数”。
每当用户要挂载某个加密盘,软件界面会提示用户输入“密码和 keyfile”。然后根据用户的输入,计算出“Header Key”,然后用这个密钥对加密的头部进行解密(解到内存中)。如果解密成功,就说明用户输入的是对的。反之,则提示用户输入错误。
为啥要“迭代 N 次”?
从上述可以看出:这个“迭代次数”越大,计算头部密钥的时间就越长,因此挂载加密盘的过程就越慢;表面上看,这是一个缺点。但其好处在于:如果某个攻击者想要采用暴力破解的方式对“头部”进行穷举解密,每次一次尝试也需要花很长时间(同样要迭代 N 次)。所以,当 N 足够大,暴力破解就变得【不可行】。
“Header Key”与“Master Key”分离的好处
从上述可以看出,加密盘中存在两种密钥:“Header Key & Master Key”。为啥要搞出两种密钥捏?其中一个好处是为了方便用户修改密码。当用户修改加密盘的密码或 keyfile,只需要“重新加密头部”,数据区不用改动(因为“Master Key”【没有】发生变化)。
对于那些超大的加密盘(TB 级),这个好处非常明显。
◇VeraCrypt 相对 TrueCrypt 的改进
如果你刚才没有看技术细节的解释,直接跳到这里,你只需记住如下结论:
PIM 功能就是用来配置加密盘的某个“迭代次数”的。“迭代次数”越大,暴力破解就越难;同时,挂载加密盘也越慢。
对于原先的 TrueCrypt,它的迭代次数是写死在程序代码中的。而且 TrueCrypt 使用的迭代次数偏小(这是 TrueCrypt 被批评的主要问题之一)。
到了开发 VeraCrypt 的时候,其开发团队把原先默认的迭代次数调大(大约增加了两到三个数量级)。迭代次数调大之后,就显著增加了“暴力破解”的难度。
此外,从 VeraCrypt 1.12 版本开始,在界面上提供了一个功能,允许用户自定义每个加密盘的“迭代次数”——这就是下面要讲的“PIM 的用户界面”。
◇用户界面
VeraCrypt 提供了相关的用户界面,让你可以自定义 PIM 数值的大小。前面说了,PIM 越大,暴力破解越难;但同时,挂载加密盘也越慢。由于不同的用户有不同的需求,所以,VeraCrypt 干脆提供一个界面让你自己设定 PIM 的大小。当然,如果你懒得设置,也可以直接用内置的默认值。
创建加密盘时
VeraCrypt 同样提供了“创建加密盘的向导”。该向导前面5步跟 TrueCrypt 是一样的,俺就略过不提。
下面是创建加密盘的向导界面第6步。如果你想使用 PIM 功能,需要勾选“Use PIM”这个复选框。
下面是创建加密盘的向导界面第7步
如果第6步勾选了“Use PIM”,下一步就会让你输入 PIM 数值。这个数值要牢记,其重要性等同于认证信息(密码 和 keyfile)。
(如果输入 0 或者不填写,则表示——使用默认的 PIM 数值)
如果你设置的密码过于简短,那么 VeraCrypt 会强制让你输入一个比较大的 PIM 数值(大于 485)。
挂载加密盘时
下面是挂载加密盘的界面。如果你创建加密盘的时候,指定了 PIM 数值,那么在挂载的时候,需要输入【相同的】PIM 数值。如果输入的数值与创建时指定的 PIM 数值不一致,则挂载失败。
再次罗嗦一下:一旦你在创建加密盘时设置了“PIM 数值”,【千万别忘了】——忘记它的后果就如同忘记密码!
◇“PIM 数值”与“迭代次数”的换算公式
(如果你不关心技术细节,这个换算公式你可以不用看)
根据 VeraCrypt 的文档,PIM 根据如下公式换算成迭代次数。
1. 对于“系统加密分区”:迭代次数 = PIM x 2048
2. 对于“虚拟加密盘”或者“非系统加密分区”:迭代次数 = 15000 + (PIM x 1000)
★扩容功能
另一个比较显著的新功能是“加密盘扩容”。原先的 TrueCrypt【没有】扩容功能——如果你的加密盘,空间不够了,你不得不重新创建一个更大的加密盘,然后把原先加密盘的文件拷贝到新加密盘(步骤繁琐)。
如今有了这个扩容功能,你可以直接扩大原有加密盘的容量。前提是:文件系统必须是 NTFS。
下面给出扩充操作的系列截图(共8张),描述文字都标注在截图中了。
★如何防范加密盘被破解?
下面这篇博文,其实已经包含在本文开头列出的 TrueCrypt 教程中。
TrueCrypt 使用经验[3]:关于加密盘的破解和防范措施
因为这篇的内容比较重要,俺再次唠叨一下:如果你对安全性的要求很高,一定要把上述这篇仔细看完。
★结尾
俺写这篇博文时,VeraCrypt 最新的是 1.16 版本。本文的截图就是根据这个版本制作的。
从截图中可以看出,某些界面还未彻底汉化。今后如果继续汉化,新版本的界面可能与本文的截图会略有不同。
另外,VeraCrypt 的开发比较活跃,今后多半还会增加新的功能。到时候俺会补充到这篇博文中。
大伙儿如果有啥疑问,欢迎到俺博客留言。
俺博客上,和本文相关的帖子(需翻墙):
《TrueCrypt——文件加密的法宝》
《TrueCrypt 使用经验[1]:关于加密算法和加密盘的类型》
《TrueCrypt 使用经验[2]:关于加密盘的密码认证和 KeyFiles 认证》
《TrueCrypt 使用经验[3]:关于加密盘的破解和防范措施》
《TrueCrypt 使用经验[4]:关于隐藏卷的使用和注意事项》
《分析一下 TrueCrypt 之死(自杀 or 他杀?)——兼谈应对措施》
《文件加密的扫盲介绍》
《文件备份技巧:组合“虚拟加密盘”与“网盘”》
《如何用“磁盘加密”对抗警方的【取证软件】和【刑讯逼供】,兼谈数据删除技巧》
《扫盲 dm-crypt——多功能 Linux 磁盘加密工具(兼容 TrueCrypt 和 VeraCrypt)》
《扫盲 Linux 逻辑卷管理(LVM)——兼谈 RAID 以及“磁盘加密工具的整合”》
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者编程随想和本文原始地址:
https://program-think.blogspot.com/2015/10/VeraCrypt.html
有人打算整理一下关于编程随想下落的线索吗?(从正反两个方面来举证)
好多怪事都是人为的,第一在搞邪术如祭鬼封神献祭打call,其次是搞种姓的事,
这帮东西用老外的名义来操控挑拨玩弄这个那个,这也是奇葩的,和叫东土人找阿三还是鬼子去表达册封封禅这皇帝是东土的皇帝一样奇葩, ......
ym蜀人都不愿放手的东西如屁眼套路,幼女,献祭,老单和最高神位是有原因的,很值得去研究的 ......
即使博主能活着出狱,若要看到他更新六四系列,那也是在天朝发生了民主化之后,共产党不再有能力镇压批评者之时。
就算哪天中国情报部门不经司法程序,直接把人暗杀了,我也不会觉得奇怪。
https://www.zaobao.com.sg/realtime/china/story20241226-5649612
https://www.youtube.com/watch?v=ozVq_04XMro
如果出现了自杀场景,多半是政府秘密下令处决,并伪装成了自杀。
来自Firsthack的评论
而且,二审的发改率(发回重审+改判)是一个考核政绩的指标,高层认为这个数字越低说明冤假错案越少,然后下面就越容易升官。 ......
原神UID:310221197410210025
互动热线: 13524626271 上海移动
学历: 硕士
生日: 19741021
身高: 165 ......
周欣身份证310105197106042383
户籍地址 :上海市闵行区吴中路429弄15号501室
同户人 :薛军,男,310106196903180414,1969年03月18日; ......
希望各大媒体都报道这几个名字:审判长周欣,审判员:凌莉、须梅华。
家属贝震颖推特号:Birds_b_r_32309
多谢分享“中药注射剂”等国产医疗行业的相关丑闻。
另外,关于疫情期间的乱象,俺整理了一篇:
《每周转载:白纸抗议年的“动态清零”灾难(网文14篇,多图)》
多年前不记得在哪篇博文的评论区和博主讨论叙利亚的命运,当时叙利亚的局势还未尘埃落定。可惜博主现在大牢内,看不到。
这次叙利亚的民主转型发生在俄国陷入战争的泥沼的背景下。 ......
这个是个邪术,第一个是给上面看(不知什么鬼),其次的就真的会指导目标去实际地去做这么些的犯罪邪恶,侵犯幼女的情节是经常频繁重复地出现地,和侵犯女性,还有就是生命 ......
估计到最高法院也没戏,可能会以9:0判决禁抖音。
欢迎提出不同观点。
你提到的是这二者之间的差异,俺也同意这些差异确实存在。
但是,俺要开始说但是了。从本文,咱们也可以讨论这二者之间的共性,至少包含以下方面: ......
玩邪术玩出个什么结果好歹给公开一下,拼命玩邪术还一声不吭,很危险的,要分享分享,劳资帮你们来研究研究
劳资相信这帮东西是能穿越时空的,现在是2019年的ZS,时空被改变穿越了。穿越时空的套路。这帮东西几千年都一个屌样,来几个十级地震都不会任何改变。 ......
现在的两党是争先比谁对华更强硬,已经通过的制裁法案不会松绑,已经加的关税也不会再降,否则就会被在野党骂成“通敌叛国”。
明年1月19日之前,抖音会被禁。
每天上网的好多人都在聊政治呢,难道你要把每一个聊政治的人都抓起来判刑?那也没用。因为年轻人越来越倾向于认为政治制度才是造成他们被困在他那个阶层的重要原因。 ......
这个博客对于政府的批评,大部分都是有理有据。你要是觉得哪里不对,可以反驳博主嘛。判7年是究竟有多心虚? ......
以色列做任何事,都是美国包容范围,和美国民意无关(甚至抗议都无效)。台湾今后也会差不多。
国会一旦提出新的关于台湾的法案,无论是军售,亦或是改善台湾的国际地位等等,都很容易造成近乎【全票通过】。 ......
然而,公报本身只是行政政府的声明,其效力不如法律。 ......
然而,现在的人们,对于不能证明是否为间谍的走线客,也不太宽容。估计人们会支持一律用“有间谍嫌疑”之类的理由,实行一律驱逐的政策。 ......
但是,有些两党已经形成共识的事,其实是不受太大影响的。例如:把台湾武装成以色列。
所以我估计,中共在川普第2任期的前2年之内,就会对台湾动手。
因为这次GOP在众院优势实在太小了,稍微发生一点差错,钟摆效应会让民主党夺回之。
参议院不好说。如果连参议院也丢了,那川普后两年就可能成为跛脚总统,啥事都干不了。
不服者会选择:明着顺从,其实背地里跟共产党对着干。
众议院估计是个险胜。
上次共和党在众议院也是微弱优势,导致议长难产。
这次应该不会难产,因为有川普在,他只要在台上喊几句,就可以让任何一个人当议长,其它共和党议员不会阻挠。 ......
根据NBC新闻:
https://www.nbcnews.com/politics/immigration/trump-may-deport-hundreds-thousands-migrants-biden-allowed-legally-ent-rcna179357 ......
就是先用民调测量其它选举,比如某个地方议员的选举,然后和民调进行对比,看女性候选人是否严重吃亏,是否和民调严重不符。
如果发生该现象,那得出的差额数字,就是该地隐藏的“害羞的性别歧视者”的百分比。 ......
因为“害羞的川粉”等受访者不诚实回答问题的现象,仍然使得民调失真。
贺锦丽连普选票都输了。
你民主党输得这么惨,总不能反思为啥没去迎合那些“黑命贵零元购”之类的种族主义口号吧?反思搞种族平权搞得过头了?
......
美国出了个川贼东。抗战前没做到【攘外必先安内】,这下麻烦大了。
恭喜美国又创造了世界纪录。
估计是川普险胜。
因为大法官的任命是由总统和参议院共同决定,如果总统是川普,那他就会提名非常有争议的保守派大法官。
......
......
川普险胜29%
其它情况基本可以排除。
我的意见是把第13问算成川普+1,他不是国家英雄,但很多人粉川。
然后把第12问算成贺锦丽+1,因为川黑人数太多了,这些人的票会投给贺锦丽。
◇以【川普】为中心展开
◇极化现象
这个没变
......