加密和混淆文件名

加密和混淆文件名

我正在寻找一种备份解决方案,在尝试匿名化和保护我的数据时,我发现的问题之一是文件名泄露了大量信息。

我正在寻找一款可以加密创建文件的目录的软件每个实际文件一个加密文件这样每个文件都可以单独下载,而不会浪费带宽,同时还以这样的方式对文件名进行哈希处理,以便在给定加密密钥和哈希字典的情况下可以轻松识别每个文件并将其转换为原始形式

答案1

您可以使用fuse文件系统环境文件系统简单地做到这一点。安装 rpmfuse-encfs或 apt 软件包encfs并用于encfs --reverse安装任何目录的加密版本,例如/tmp/mycleardata,在新点,例如/tmp/crypt-view。按照常规方式备份此目录,然后卸载熔断文件系统。您还需要备份.encfs6.xml将添加到原始目录的文件,并记住当encfs要求您提供密码时使用的密码。当您想要更新备份时,请执行相同的命令。这将重新使用该.encfs6.xml文件并需要相同的密码。

这是一个可以使用的示例脚本。显然,通常您不会内联提供密码,并且通常不会销毁文件.encfs6.xml

# create some test data directory
mkdir -p /tmp/mycleardata/dira
date > /tmp/mycleardata/dira/filea
date > /tmp/mycleardata/fileb
# mount an encrypted view. encfs asks for a config (blank line) and pw
mkdir -p /tmp/crypt-view
if [ -f /tmp/mycleardata/.encfs6.xml ]
then encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!
mypassword
!
else encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!

mypassword
mypassword
!
fi

# show files, do a backup
ls -ltRA /tmp/mycleardata/
ls -ltR /tmp/crypt-view
rsync -a /tmp/crypt-view/ /tmp/mybackup
# remove the crypted view
fusermount -u /tmp/crypt-view
ls -ltR /tmp/mybackup

# restore from backup. use encfs to mount backup and show clear view
mkdir -p /tmp/newclear
ENCFS6_CONFIG=/tmp/mycleardata/.encfs6.xml encfs --stdinpass /tmp/mybackup /tmp/newclear <<\!
mypassword
!
ls -ltR /tmp/newclear # should be same as original dir
fusermount -u /tmp/newclear # remove clear view

以下是生成的文件名的示例:

/tmp/mybackup:
-rw-r--r-- 1 meuh     30 May 14 17:40 42eg5KinDst09lDzN4YNRAIG
-rw-r--r-- 1 meuh   1264 May 14 17:32 bj5Su3csNAALZEAJEB,CazsC
drwxr-xr-x 2 meuh     60 May 14 17:18 sJzZa,U7Oeyfq2j8tfeLqkm,
/tmp/mybackup/sJzZa,U7Oeyfq2j8tfeLqkm,:
-rw-r--r-- 1 meuh     30 May 14 17:40 q-c1AOYzAcy06HJ8klCZewsD

注意这一点安全信息从encfs包安装:

根据 Taylor Hornby (Defuse Security) 的安全审计,Encfs 的当前实现容易受到或可能容易受到多种类型的攻击。例如,具有加密数据读/写权限的攻击者可能会降低随后加密的数据的解密复杂度,而合法用户却不会注意到这一点,或者可能会使用时序分析来推断信息。


在这些问题得到解决之前,在可能发生此类攻击的情况下, encfs 不应被视为敏感数据的安全之家。

您也可以看看加密文件系统,可以选择加密文件名,以及表里不一它加密 rsync。

相关内容