专业的编程技术博客社区

网站首页 > 博客文章 正文

UFS Explorer Professional Recovery: eCryptfs 工作原理及其数据恢复

baijin 2024-10-09 07:49:49 博客文章 5 ℃ 0 评论

天津鸿萌科贸发展有限公司是 UFS Explorer Professional Recovery 数据恢复软件的授权代理商。

UFS Explorer Professional Recovery 数据恢复软件提供综合性的解决方案,用于解决复杂的数据恢复案例,包括那些采用特殊存储技术的案例,或介质受损的案例。可恢复由误删除、文件系统损坏、存储介质格式化、软件崩溃、恶意软件攻击、硬件故障等原因造成的数据受损。

UFS Explorer Professional Recovery 将先进的多工具接口与最先进的软件算法相结合,从而能够处理最复杂的数据恢复任务。该应用程序辅之以多种现代功能,即使存储采用了特定的出厂配置,或硬件发生故障,也可以进行文件恢复,是数据恢复专家的理想工具。

eCryptfs 背景

如今,随着网络攻击变得越来越频繁,人们不遗余力地保护他们的机密数据。Linux 平台提供了各种工具,可以在加密的帮助下防止窥探。那些不想加密整个驱动器内容的人可以选择 eCryptfs,这是一种加密文件系统,可以选择性地保护某些文件或目录。以下介绍有关此加密软件的简要信息,帮助用户熟悉其操作原理。

什么是 eCryptfs?

eCryptfs(企业加密文件系统)是 Linux 中最常见的文件级加密技术。它不是针对整个块设备,而是在单个文件写入或从驱动器读取时对其进行加密,并将其存储在现有的常规文件系统之上,如ext4、XFS、Btrfs、JFS等。它还支持一些网络文件系统,例如 NFS、CIFS 等。

eCryptfs 基于 Erez Zadok 的 Cryptfs 和堆叠文件系统的 FiST 框架。它最初由 Michael Halcrow 和 IBM Linux 技术中心于 2006 年发布,截至今天,由 Canonical Ltd 的 Dustin Kirkland 和 Tyler Hicks 维护,该公司拥有 Ubuntu Linux。

可以为所需的文件或文件夹启用加密。eCryptfs 将使用一个独特的随机生成的文件加密密钥(也称为“挂载密码”)对其进行加密。默认情况下,这是一个 32 个字符的十六进制字符串。作为安全预防措施,系统会提示用户保留其备份副本。

文件加密密钥本身以加密形式存储。其加密过程称为“包装”。它是在基于用户密码(也称为“登录密码”)的单独“包装”加密密钥(有时称为“主密钥”)的帮助下执行的。“包装”密钥也经过哈希处理,以获得唯一标识它的 8 字节“签名”。

生成的包装密钥保存在直接添加到文件头的加密元数据中。“签名”同样存储在标头中,用于查找正确的“包装”密钥,该密钥能够“解包”文件加密密钥以解密给定文件。它们也都保存在相应“.ecryptfs”文件夹的“wrapped-passphrase”文件中。

因此,每个 eCryptfs 加密文件都是独立的,并且可以具有与之关联的唯一加密密钥。这样的密钥是对称的,这意味着它既加密又解密文件的内容。其长度取决于所使用的密码,而默认和推荐的设置是 AES-128。

或者,也可以使用从相同或其他密码派生的文件名加密密钥对文件名进行加密。

使用 eCryptfs 可以:

  • 将加密文件和文件夹以及未加密的文件和文件夹存储在同一卷中;
  • 使用不同的密码对同一文件的内容和名称进行加密;
  • 接受任何密码进行解密,因为可能存在与任何给定密码匹配的文件。如果未发生匹配,则文件将保持加密状态。

eCryptfs 是如何在设备上激活的?

内核版本 2.6.19 开始支持 eCryptfs 作为 ecryptfs 模块。目前,它是在许多 Linux 发行版(其中包括 Ubuntu 和 ChromeOS)中加密用户主文件夹的默认方法。

此外,eCryptfs 还广泛用于加密来自不同供应商的 NAS 设备上的共享文件夹,例如 Synology、QNAP、Asustor、TerraMaster 等。但是,应该注意的是,其实现可能具有由底层系统定义的相当大的差异。

可运行以下几种类型的方案进行 eCryptfs 加密:

  • 用户可以选择在系统重新/安装期间加密其 /home 目录。
  • 可以通过安装 ecryptfs-utils 软件包,然后使用可用方法之一启动加密来手动激活 eCryptfs(在 ecryptfs-setup-private 配置工具和其他工具的帮助下,在特定系统的帮助下运行 mount 命令以及 -t 标志和 encryptfs 选项)。
  • 在受支持的 NAS 设备上,可以通过在创建/编辑给定文件夹时选中相应的复选框来加密新的或现有的共享文件夹。

如何使用 UFS Explorer Professional Recovery 恢复 eCryptfs 加密数据

eCryptfs 部署的整个过程非常简单,结果通常如下所示:

  • 文件名由固定前缀“ECRYPTFS_FNEK_ECRYPTED.”组成,后跟 base64 编码的“Encryption ID”和 base64 编码的加密文件名;
  • 文件头具有指示加密的特定格式;
  • 实际文件的内容是加密的。

当此类文件成为意外删除或其他导致其丢失的逻辑事故的受害者时,有机会使用数据恢复软件对其进行检索。然而,由于它的数据是加密的,仍然必须通过有效的凭据来解锁。这可以通过存储文件加密密钥(“加密密码”)的“包装密码”文件或密码本身(必须保留为备份副本)来完成。

UFS Explorer Professional Recovery 具有解密由各种配置的 eCryptfs 加密的数据所需的所有功能,并可以进一步顺利地处理获得的内容。

在 NAS 设备的加密共享文件夹上恢复文件

在该示例中,我们采用 Synology NAS,其“受保护”共享文件夹使用 eCryptfs 加密。

与大多数 NAS 设备一样,该设备具有简化的 eCryptfs 实现方式。它使用固定的标准“包装密钥”,而不是从用户密码生成的包装密钥。此密钥用于加密用户定义的“加密密码”,而该密码又用于加密给定共享文件夹上的文件。

“加密密码”以“包装”形式存储在一个特殊的“*.key”文件中。

然而,必须提到的是,来自其他供应商的NAS设备,例如 Western Digital 可能有自己的 eCryptfs 配置设置,因此解密细节也不同。其“加密密码”的备份文件也可能具有不同的格式或位置。

如果有正确的“加密密码”或原始的“*.key”文件可用,则可以解密 Synology NAS 上的共享文件夹。

在 UFS Explorer Professional Recovery 中,我们可以检查该设备“数据”分区的内容。

要访问 NAS 上的共享文件夹列表,需要打开“@syno”文件夹,然后转到“@eaDir”文件夹。

在与“受保护”共享文件夹相对应的文件夹中找到的“SYNO@.encrypt”文件显示它已被加密。

实际加密数据存储在根目录的另一个文件夹中,名称相同,但前面和后面都带有“@”符号。

要解密文件,可以打开文件系统对象的右键菜单,然后选择“转换文件系统文件”选项。

在打开的对话框中,在“解密密码”字段中指定创建共享文件夹时使用的加密密码。

因此,软件中会出现一个新的“eCryptfs过滤器文件系统”选项卡。此选项卡包含与提供的密码匹配的解密文件。

如果忘记了解密密码,也可以从导出的备份“*.key”文件中“解包”。在 UFS Explorer Professional Recovery 主菜单的“工具”项中,可以找到“eCryptfs 密码解包”选项。

在打开的对话框中,通过导航到备份“*.key”文件的位置,设置“密钥文件路径”。

随后,选择“Synology NAS 默认密码”选项,然后单击“解包”以从此文件中获取我们的加密密码。

计算出的加密密码短语可以复制到剪贴板,并在“转换文件系统文件”选项的帮助下用于文件解密。

在 Linux 下从加密的主文件夹恢复数据

与大多数 NAS 平台不同,Linux 允许通过 eCryptfs 的全功能实现来加密用户的主文件夹。默认情况下,它会创建一个随机文件加密密钥,并且需要用户的密码才能将其从“wrapped-passphrase”文件中“解包”出来。这种方法使系统能够支持更改用户密码,但在文件夹解密时会使事情变得更加复杂。只有在用户密码(“登录密码”)和“wrapped-passphrase”文件都可用的情况下,才能执行此操作。

以下为 Ubuntu 示例。“用户”用户的主文件夹未加密,而“测试”用户已为其主文件夹启用加密。

加密内容位于“.ecryptfs”文件夹的“.Private“子文件夹,与”test“用户相对应。

“.ecryptfs”子文件夹包含“wrapped-passphrase”文件。可以将此文件保存到其他位置,以便进一步提取原始加密密钥。

现在,可以从UFS Explorer Professional Recovery主菜单的“工具”项中应用“eCryptfs密码解包”选项,从文件中“解包”文件加密密钥。

在打开的对话框中,使用“密钥文件路径”选项加载“包装密码”文件,然后将用户的密码(“登录密码”)指定为“包装密码”以解密随机文件加密密钥。

按下“展开”按钮后,程序会显示可以复制到剪贴板的文件加密密钥。

现在可以继续“转换文件系统文件”选项,该选项显示在文件系统对象的右键菜单中。

在打开的对话框中,我们将复制的随机加密密钥粘贴到“解密密码”字段中,并将“文件名密钥长度”属性更改为 128 位。

但是,请注意,eCryptfs 的特定实例不包含文件名解密的密钥长度信息。如果选择了错误的密钥长度,即使使用有效的用户密码,文件名也无法正确解密。如果发生这种情况,请尝试使用其他密钥长度选项。

点击“确定”后,软件会打开一个新的“eCryptfs过滤器卷”,其中包含我们的“测试”用户的解密主文件夹。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表