百度首页 | 百度空间
 
查看文章
 
TrueCrypt的安全性还真是不错
2008-01-24 00:57
为防止TrueCrypt的虚拟盘文件损坏后手足无措,晚上抽空看了一下TrueCrypt的文件结构和使用的加密方法。

TrueCrypt文件的前512字节是加密相关的信息:
                                                                        
Offset    Length    Description                                                   
------------------------------------------                                     
Unencrypted:                                                                   
0        64        Salt                                                          
Encrypted:                                                                     
64        4        ASCII string 'TRUE'                                           
68        2        Header version                                                
70        2        Required program version                                      
72        4        CRC-32 checksum of the (decrypted) bytes 256-511              
76        8        Volume creation time                                          
84        8        Header creation time                                          
92        8        Size of hidden volume in bytes (0 = normal volume)            
100       156      Reserved (set to zero)                                        
256       32       Secondary key (LRW mode)                                      
288       224      Master key(s)                                                 

这512字节的前64字节是salt,后面的部分用口令和salt进行加密。要验证一个密码是否正确,就得用这个密码和salt对后面的数据进行解密运算,然后看偏移64字节算出来后是不是“TRUE”,如果是的,说明密码正确。

但有个很关键的问题:对于破解者来说,要正确进行解密,除需要密码外,还需要知道使用了什么首密钥得出算法等一系列信息。而TrueCrypt并没有在任何地方保存这些信息。TrueCrypt的办法是把所有可能的组合都试一遍。在我的机器上,全部试一遍的耗时大约是420ms,这对于正常使用来说是完全可接受的,而对于暴力破解来则几乎不可接受。在假设不知道任何相关信息的情况下,一秒钟试不了几个密码。当然我用的就是TrueCrypt自己的算法函数,不过估计即便进行优化带来的改善也很有限。

另外,用TrueCrypt的朋友一定要使用“备份加密卷头信息“的功能,否则,一旦这前512字节中关键的部分损坏,即使知道密码也无法还原数据。

2008.1.25
昨天晚上又看了一下代码,发现运算耗时最重要的原因是hash都进行了上千次,太寒了。

 
网友评论:
1
2008-01-24 14:18
如果把这个做成client-server模式的,给企业用挺好的
 
2
2008-01-25 00:17
楼上想做铁卷?哈哈
 
3
2008-01-25 17:45
这个不保存算法手段蛮高明。
试试 tr
 
4
2008-02-02 18:43
“另外,用TrueCrypt的朋友一定要使用“备份加密卷头信息“的功能,否则,一旦这前512字节中关键的部分损坏,即使知道密码也无法还原数据。”

这样的事情还真让我碰到了!知道密码,就是打不开,也不知道原因,估计是那个系统有问题,或者病毒引起,我当时还感觉是不是autorun病毒之类的。第一次创建好加密卷后打开没有问题,退出后再次加载加密卷输入密码就提示错误。很奇怪!大概去年6,7月份左右的事情了,还到xfocus上发帖子问,也没有回答我。。。
 
5
2008-02-17 00:09
这东西真不错啊!安全性还真行,不保存算法,厉害!
 
6
2008-02-17 17:49
那么它用salt加密的时候,也是随机选一个算法的吗?
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请输入下图中的四位验证码,字母不区分大小写。
看不清?
 

     

©2008 Baidu