实践

几个月前,咱们从理论上讨论过Dropbox+Truecrypt实现数据的可用性和外包的安全性的解决方案。今天,咱们再从最佳实践角度具体谈谈这个方案实现的细节。

我们以前曾经提起,Dropbox和Trucrypt这两种服务的客户端软件具有优秀的跨平台性,这对于最近刚搞了台MacBook Pro以资家用的、工作上有一台运行Linux的台式机和一台装载Windows的笔记本电脑的我来说,实在是理想的组合。

我对Dropbox和Truecrypt组合的使用方法很简单,那就是在每台机器上都安装它们的客户端软件(目前是Dropbox 1.2和Truecrypt 7.1),然后使用Truecrypt创建一个(1G容量的)FAT格式的用来存储文件系统的加密文件容器(file container),并将所建立的文件同步到Dropbox的目录里去。创建加密文件容器时Truecrypt会给几个密码算法选项。为了和NIST的建议保持一致,我使用了AES+SHA512的组合。由于只有加密文件容器在卸载(dismount)状态下Dropbox才会开始同步文件,所以最佳操作实践之一是仅当需要对加密文件系统作出操作时才使用Truecrypt将其挂载(mount),文件操作完毕后马上卸载以供Dropbox将文件改变及时同步。另外由于Dropbox只有在文件的修改时间(timestamp)有变化时才会开始同步,而Truecrypt默认选项是保持加密文件容器的时间属性(即,对文件系统作出改变后再将其修改时间还原),所以用户最好保证在使用Truecrypt之前Dropbox客户端就已经在运行,而且一直保持在线状态,否则在修改了加密文件容器之后再运行Dropbox会导致同步没有发生。解决这个问题更好的一个方法是手动修改文件时间(譬如使用Linux的’touch’命令)或者修改Truecrypt的默认设置,在Settings>Preference里把“Preserve modification timestamp of file containers”的选项取消。另外为了避免文件冲突的发生,最好在同一时间内只有一台机器在用Truecrypt将共享的同步文件挂载并执行文件操作,而别的机器上此文件应处于卸载状态。



Leave a comment