Linux中面向云的三款加密工具
有众多工具可用于云端加密,一些是专有的。但是这种解决方案还需要信任DD它们只是将信任要求转移给第三方,基本的安全要求用户自行验证安全。
更好的解决方案是使用开源工具在将文件放入在线存储之前对其进行加密。Linux中,这方面最有用的三款工具是EncFS、Cryptomator和Tahoe-LAFS。顾名思义,这每一款工具都将在线存储视为虚拟文件系统,不过它们的质量差异很大。
1.EncFS
EncFS常用于创建加密的虚拟文件系统。如果你使用将远程目录与本地目录同步的存储站点,它可以像本地环境一样轻松地创建远程虚拟文件系统。比如使用Dropbox,设置一切的命令将是:
encfs ~/Dropbox/encrypted ~/Private
该命令在主目录中为加密文件创建一个目录,为未加密文件创建另一个目录。该命令通过询问一系列问题来创建加密目录。你可以按p键进入默认的偏执模式,或按x键进入专家模式,手动选择加密选项。专家问题解释得很清楚,所以连新手也应该毫不费力地回答,只要接受默认值即可。另外,可以使用--standard选项(使用预定义设置)运行命令,跳过回答问题环节,该选项使用预定义设置。
用户下次与Dropbox上的在线存储同步时,加密目录会添加到其中。添加到/ Private目录的文件将自动添加到~-Dropbox/-encrypted。
但请注意,EncFS无法防止提供商移动或删除文件。同样,你在Debian“稳定”版中安装EncFS版本时,2014年的说明警告:它易受到对文件拥有读写访问权限的用户的攻击,包括降低加密复杂性和使用时序分析。该问题在Testing存储库版本中的Testing存储库中似乎已得到解决,所以使用这一个。
图1. EncFS的专家模式很清楚地解释了大多数用户应该能够使用它
2.Cryptomator
Cryptomator的工作流程在结构上与EncFS非常相似。主要区别在于一些术语,比如在Cryptomator中,加密目录叫“vault”。
Cryptomator的窗口打开后,显示创建vault或打开vault的选项。当然,Cryptomator首次运行时,必须通过赋予路径和密码来创建vault。回到打开的窗口,用户可以打开vault,使用系统的文件管理器将文件拷贝到vault。添加到vault的所有文件会自动加密。与EncFS一样,用户同步时,存放在Dropbox等存储提供商的本地目录中的vault将上传到云端。
青睐EncFS还是Cryptomator取决于你的习惯。如果你想对加密过程拥有控制权,可能更喜欢EncFS。然而如果你更喜欢桌面应用,更可能偏爱Cryptomator。
图2. Cryptomator有一个图形界面,所有人都可以使用加密功能
3.Tahoe-LAFS
Tahoe-LAFS提供最全面的解决方案。LAFS的全称是“Least Authority FileSystem”,是指经典原则:权力最小的文件系统。Tahoe基本上旨在为云存储提供商提供对用户数据尽可能小的控制。
首先,Tahoe使用2000位RSA公钥自动加密所有文件。它包括加密文件的选项以及使用Tor的选项。
然而,Tahoe的独特之处在于分散文件的功能。用户可以设置网格(服务器集合)用于存储。该功能意味着文件实际上可以存储在多台服务器上。比如说,用户可以将文件的一部分存储在Dropbox上,将另一部分存储在谷歌存储服务上,那样任何服务都无法完全控制该文件。想解密和打开文件,用户必须访问所有存储帐户。
另外,每个文件都可以防范服务器故障或任何其他数据丢失。默认情况下,每个文件有10个部分或共享区,需要其中任何三个部分才能使用该文件。大多数共享区实际上可能会丢失,而文件仍可以检索。每个文件上传后,用户可以将共享区调整到最多256个。较少的共享区需要较少的计划,更多的共享区提供更高的安全性。针对上传共享区的每个位置,Tahoe添加了文件上限,这个文件用于检查加密密钥完整性,查找其他共享区以及检索文件。代替用户信息或权限,对文件的访问受到加密密钥信息的管控。为了进一步提高安全性,上传的文件无法编辑,如果对其进行任何更改,必须再次上传。在每一步,存储提供商都拥有最小权限,只是完全被动的角色。
除了这种基本安排外,Tahoe还包括一个可选的Web界面和一个实用程序,后者告知用户共享区的数量是否低于检索所需的最小数量。还可以使用众多的相关项目,包括备份工具、实用程序集以及与其他应用程序(包括Puppet)一起使用的插件。
Tahoe需要战略规划,在上传任何文件之前可能需要一些时间进行设置。如果共享区数量或在线存储位置方面没有完善的策略,结果很容易变得混乱。然而一旦设置到位,Tahoe提供的安全性是首屈一指的。