
技术摘要:
本说明书一个或多个实施例提供一种APFS文件系统数据恢复方法、装置及电子设备,所述方法包括判断容器是否加密;若所述容器加密,对所述容器的keybag进行解密,获得所述容器内的各个分区对应的分区的keybag;判断分区是否加密;若所述分区加密,对该分区的keybag进行解 全部
背景技术:
APFS是Apple File System的简称,是苹果公司为苹果设备创建的下一代的文件 系统,用以替代旧的HFS 文件系统,其特征是“优化闪存/SSD存储,并以加密为主要功能”。 该系统的核心为加密功能,可以在iOS、macOS、tvOS、watchOS全平台运行。该系统包含有多 密钥加密功能,内置有针对每个文件的密钥,其针对敏感元数据也都有独立的密钥。 发明人发现,由于APFS的独特文件格式及高度的加密功能,目前缺乏一种快速恢 复并提取APFS中删除文件的方法。
技术实现要素:
有鉴于此,本说明书一个或多个实施例的目的在于提出APFS文件系统数据恢复方 法、装置及电子设备,以解决现有技术中的技术问题。 基于上述目的,本说明书一个或多个实施例提供了一种APFS文件系统数据恢复方 法,包括: 判断容器是否加密; 若所述容器加密,对所述容器的keybag进行解密,获得所述容器内的各个分区对 应的分区的keybag; 判断分区是否加密; 若所述分区加密,对该分区的keybag进行解密,获得key; 对该加密分区内的块使用key进行解密; 查找解密后的分区内的已删除文件,并恢复所述已删除文件。 作为一种可选的实施方式,所述判断容器是否加密包括 从头开始遍历磁盘找到第一带有“NXSB”标志的超级块; 若所述超级块中keybag的起始id和大小均不为0,则所述容器加密。 作为一种可选的实施方式,所述判断分区是否加密,包括 从所述超级块中找到带有“APSB”标志的块; 若所述带有“APSB”标志的块中keybag的起始id和大小均不为0,则所述分区加密。 作为一种可选的实施方式,所述对所述容器的keybag进行解密,获得所述容器内 的各个分区对应的分区的keybag,包括 根据容器的keybag的起始id和大小读取容器的keybag数据; 将容器的uuid作为key,对读取到的keybag数据,使用AES-XTS算法进行解密,获得 所述容器内的各个分区对应的分区的keybag。 作为一种可选的实施方式,所述对该分区的keybag进行解密,获得key,包括 4 CN 111737057 A 说 明 书 2/7 页 根据该分区的uuid,找到对应的分区的keybag; 根据分区的keybag的起始id和大小读取分区的keybag数据; 将分区的uuid作为key,对读取到的keybag数据,使用AES-XTS算法进行解密,获得 解密数据; 从解密数据中提取盐值、迭代次数以及包裹key; 将该分区的分区密码、盐值、迭代次数作为输入,代入哈希函数,生成哈希值; 使用AES密码包裹算法,用所述包裹key、初始iv,对所述哈希值解包,获得中间值 和迭代iv; 使用AES密码包裹算法,用所述包裹key、所述迭代iv,对所述中间值再次解包,获 得key。 作为一种可选的实施方式,所述将该分区的分区密码、盐值、迭代次数作为输入, 代入哈希函数,生成哈希值包括 将该分区的分区密码、盐值、迭代次数作为输入,使用PBKDF2算法,hash函数 sha256,生成哈希值。 作为一种可选的实施方式,所述查找解密后的分区内的已删除文件,包括 找到分区内最新的快照; 将分区内的历史快照的数据与所述最新的快照内的数据作比较,获得分区内的已 删除文件。 与所述APFS文件系统数据恢复装置相对应的,本发明还提供了一种APFS文件系统 数据恢复装置,包括: 第一判断模块,用于判断容器是否加密; 第一解密模块,在所述容器加密的情况下,用于对所述容器的keybag进行解密,获 得所述容器内的各个分区对应的分区的keybag; 第二判断模块,用于判断分区是否加密; 第二解密模块,在所述分区加密的情况下,用于对该分区的keybag进行解密,获得 key; 第三解密模块,用于对该加密分区内的块使用key进行解密; 查找与恢复模块,用于查找解密后的分区内的已删除文件,并恢复所述已删除文 件。 作为一种可选的实施方式,所述第二解密模块包括 查找单元,用于根据该分区的uuid,找到对应的分区的keybag; 读取单元,用于根据分区的keybag的起始id和大小读取分区的keybag数据; 第一解密单元,用于将分区的uuid作为key,对读取到的keybag数据,使用AES-XTS 算法进行解密,获得解密数据; 提取单元,用于从解密数据中提取盐值、迭代次数以及包裹key; 生成单元,用于将该分区的分区密码、盐值、迭代次数作为输入,代入哈希函数,生 成哈希值; 第一解包单元,用于使用AES密码包裹算法,用所述包裹key、初始iv,对所述哈希 值解包,获得中间值和迭代iv; 5 CN 111737057 A 说 明 书 3/7 页 第二解包单元,用于使用AES密码包裹算法,用所述包裹key、所述迭代iv,对所述 中间值再次解包,获得key。 与所述APFS文件系统数据恢复装置相对应的,本发明还提供了一种电子设备,包 括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行 所述程序时实现如上所述的方法。 从上面所述可以看出,本说明书一个或多个实施例提供的,一种APFS文件系统数 据恢复方法、装置及电子设备,首先对加密容器的keybag进行解密,获得分区的keybag,然 后再对分区的keybag进行解密,获得key,然后使用key对加密分区进行解密,查找解密后的 分区内的已删除文件,并恢复所述已删除文件,从而实现已删除文件的恢复与提取。 附图说明 为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将 对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的 附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性 劳动的前提下,还可以根据这些附图获得其他的附图。 图1为本说明书一个或多个实施例的APFS文件系统数据恢复方法的逻辑示意图; 图2为本说明书一个或多个实施例的APFS文件系统数据恢复方法的S400的逻辑示 意图; 图3为本说明书一个或多个实施例的APFS文件系统数据恢复装置的示意图; 图4为本说明书一个或多个实施例的APFS文件系统数据恢复装置的第二解密模块 的示意图。 图5为本说明书一个或多个实施例的电子装置的示意图。