VeraCrypt
VeraCrypt是一款开放源代码的即时加密软件(OTFE)。[5]它可以创建一个虚拟加密磁盘文件或加密分区[6],或预引导认证整个存储设备(除非使用了UEFI或GPT)。[7]
VeraCrypt 1.17 (Windows平台) | |
開發者 | IDRIX[1] |
---|---|
首次发布 | 2013年6月22日 |
当前版本 |
|
源代码库 | |
编程语言 | C、C++、汇编语言 |
操作系统 |
|
语言 | 37种语言[3] |
类型 | 硬盘加密软件 |
许可协议 | Apache License 2.0 但受限于 TrueCrypt License version 3.0[4] |
网站 | www |
VeraCrypt是已经停止开发的TrueCrypt项目的一个分支[8]。据其开发者声称,安全方面的改进已经落实,最初TrueCrypt的代码审计问题已得到解决。[9]
加密方式
算法
与TrueCrypt相同,VeraCrypt支持的加密算法有AES、Camellia、Kuzenyechik、Serpent及Twofish。此外,另有十种多重加密方式:AES-Twofish,AES-Twofish-Serpent,Serpent-AES,Serpent-Twofish-AES,Twofish-Serpent,Camellia-Kuzenyechik,Kuzenyechik-Twofish,Camellia-Serpent,Kuzenyechik-AES及Kuzenyechik-Serpent-Camellia。[10] 可使用的密码散列函数有RIPEMD-160,SHA-256,SHA-512,Whirlpool和Streebog。[11]
安全性改进
据其开发者声称,VeraCrypt对TrueCrypt提出了一些安全方面的改进。
虽然TrueCrypt使用1000次迭代的PBKDF2-RIPEMD160算法的系统分区,然而VeraCrypt使用的是327,661次迭代。对于标准储存器和其他分区,VeraCrypt使用655331次迭代的RIPEMD160和500,000次迭代SHA-2和Whirlpool。虽然这使得VeraCrypt在打开被加密分区时稍慢,但它可以让密码破解增加最少10倍和最多约300倍的的难度。“事实上,如果破解TrueCrypt的加密分区需要一个月,那么破解VeraCrypt可能需要一年。”[8]
Windows在引导程序中的漏洞也是如此。开发人员增加了对SHA-256的系统启动加密选项,还修正了Shell的安全问题。Linux和Mac OS X用户受益于硬盘驱动器扇区大小大于512的支持,并且Linux得到了NTFS格式加密扇区的支持。
由于安全性改进,因此VeraCrypt存储格式是与TrueCrypt不兼容的。VeraCrypt开发团队认为,TrueCrypt的旧格式容易受到美国国家安全局的攻击,因此它必须被抛弃。这是和VeraCrypt的竞争对手——CipherShed之间的主要区别之一,CipherShed继续使用了TrueCrypt加密格式。自版本1.0F开始,VeraCrypt开始支持打开及转换TrueCrypt的旧格式加密卷。[14][15]
似是而非的否认
VeraCrypt支持一种名为“似是而非的否认”的功能[16],允许在卷内创建另一个“隐藏驱动卷”。[17]此外,Windows版本的VeraCrypt可以创建并运行一个隐藏的加密操作系统,其存在可以被否认。 该功能使用户在受到胁迫时通过展示无关紧要的外层卷,而使内层隐藏卷蒙混过关。
VeraCrypt帮助文档中列出多种方式写明当该功能受到影响时(例如第三方软件可能通过临时文件、缩略图等向未加密的磁盘分区泄露信息),几种可能的方法来避免这种情况。[19]
性能
VeraCrypt支持多元处理并行[20]:63加密,在Windows系统中,流水线型读写操作(异步处理的一种形式)[20]:63以提高加密解密的性能效率。该软件在较新的处理器支持AES-NI指令集,亦支持AES硬件加速以进一步提高性能。[20]:64 磁盘加密对性能的影响在使用直接内存访问(Direct Memory Access,DMA)操作中尤其明显,因为所有数据必须通过CPU进行解密,而不是直接从磁盘复制到内存。
安全问题
VeraCrypt很容易受到各种已知的攻击,也影响到其他基于软件的磁盘加密软件,如BitLocker。为了缓解这些攻击,VeraCrypt的帮助文档要求用户遵守各种安全防范措施。[19][21]一些安全问题详述如下:
内存中的加密密匙
VeraCrypt存储其在内存中的密匙。普通个人计算机上对动态内存断电后的几秒钟(或更长,如降低温度)之后可能仍然保留着数据。即使在内存中的数据已经严重丢失,仍有各种算法可以恢复密钥。这种方法被称为冷启动攻击,特别适用于在接入电源时,闲置或锁屏模式下的笔记本电脑,现已成功地用于攻击由TrueCrypt加密保护的文件系统。[22]
物理安全性
VeraCrypt帮助文档指出,如果攻击者物理攻击计算机中的数据,或者在受感染的电脑上使用该软件,VeraCrypt也无法保全其加密数据的完整性。当然电脑被盗,遗失或被没收这样的情况自然无能为力。[23]当攻击者通过物理访问电脑,例如,安装一个硬件或软件的键盘记录器或一个总线主控装置捕获内存信息,或安装任何其他恶意硬件或软件的攻击,让攻击者捕捉到未加密的数据(包括加密密钥和密码),然后以这些非法得到的加密密匙及密码进行解密。因此,物理安全是一个完善安全系统的基本前提。这种攻击方式也一般称之为“邪恶女佣攻击”(Evil Maid attack)。[24]
安全审计
VeraCrypt正在进行一次独立的代码审核,目前正处于初期规划阶段。[27]
VeraCrypt是基于TrueCrypt开发的,通过独立的安全审计。审计的第一阶段已于2014年4月14日完成,结果为“没有证据证明该软件有后门或恶意代码”。[28]审计的第二阶段完成于2015年4月2日,结果为“没有证据表明该软件有故意后门,或在大多数情况下将使软件不安全的严重设计缺陷”。[29][30]
许可证
VeraCrypt从2015年6月28日起采用Apache 2.0许可证授权。[31]在此之前,它是以微软公共许可证(Microsoft Public License)发布的。[32]VeraCrypt使用了大量从其前身TrueCrypt得到的代码,也是唯一一款使用 TrueCrypt License 3.0 的加密软件。[33][34]然而这并不是一个广泛使用的开源软件许可证,也不是自由软件基金会定义的自由软件许可证,因为它包含分销和版权责任的限制等。[35]
参见
- TrueCrypt
- 硬盘加密软件
- 硬盘加密软件比较
参考文献
- . [16 November 2016]. (原始内容存档于2022-04-19).
- . [2024年2月28日] (英語).
- . IDRIX. [2015-01-04]. (原始内容存档于2015-06-03).
- . [2016-01-28]. (原始内容存档于2016-02-05).
- . [2015-10-24]. (原始内容存档于2021-03-30).
- . VeraCrypt Official Website. [February 16, 2015]. (原始内容存档于2017-10-10).
- . VeraCrypt Official Website. [February 16, 2015]. (原始内容存档于2017-10-10).
- Rubens, Paul. . eSecurity Planet. Quinstreet Enterprise. October 13, 2014 [February 16, 2015]. (原始内容存档于2018-01-04).
- Henry, Alan. . Lifehacker. Gawker Media. February 8, 2015 [February 16, 2015]. (原始内容存档于2022-04-23).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2015-01-05).
- . VeraCrypt Documentation. IDRIX. [2015-01-04]. (原始内容存档于2015-01-05).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2015-01-05).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2015-01-05).
- [https:/acrypt.codeplex.com/wikipage?title=Release%20Notes "VeraCrypt Release Notes"]
- Castle, Alex (March, 2015). "Where Are We At With TrueCrypt?". MaximumPC, p. 59.
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2016-01-11).
- . VeraCrypt Documentation. IDRIX. [2015-01-04]. (原始内容存档于2015-12-22).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2015-12-22).
- 1.0f. IDRIX. 2015-01-04 [2015-10-24]. (原始内容存档于2015-12-16).
- . VeraCrypt Documentation. IDRIX. [February 16, 2015]. (原始内容存档于2015-01-05).
- Alex Halderman; et al. . [2015-10-24]. (原始内容存档于2011-06-07).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2015-12-22).
- Schneier, Bruce. . Schneier on Security. 2009-10-23 [2014-05-24]. (原始内容存档于2022-04-29).
- . VeraCrypt Documentation. IDRIX. 2015-01-04 [2015-01-04]. (原始内容存档于2016-07-30).
- . [2015-01-04]. (原始内容存档于2015-12-16).
- Idrassi, Mounir. . December 31, 2014 [February 22, 2015]. (原始内容存档于2015-08-05).
- Farivar, Cyrus, , Ars Technica, 2014-04-14 [2014-05-24], (原始内容存档于2014-05-23)
- Green, Matthew. . A Few Thoughts on Cryptographic Engineering. April 2, 2015 [April 4, 2015]. (原始内容存档于2015-04-05).
- . Cryptography Services. NCC Group. February 18, 2015 [February 22, 2015]. (原始内容存档于2022-05-09).
- . [2015-07-01]. (原始内容存档于2015-07-09).
- . [2015-07-01]. (原始内容存档于2016-02-05).
- TrueCrypt License. Accessed on: May 21, 2012 Archive.is的存檔,存档日期2012年5月30日,
- TrueCrypt Collective License (页面存档备份,存于). Accessed on: June 4, 2014
- Simon Phipps, , InfoWorld, 2013-11-15 [2014-05-20], (原始内容存档于2014-09-14)