B站ID: 这个手杀不太泠 , 关注很久了,水平在的,但是价格可能有些贵,就是不太清楚收不收手机数据恢复,你问问
@不負如來不負卿,买一台同型号的手机,找个会内存扩容的维修师傅把你的闪存芯片拆下来装到另一个手机上就可以了。成功率应该不低。做过iPhone内存扩容的应该都能做。
@不負如來不負卿,安卓的Data分区有加密,如果不知道解密方法就没办法导出数据。如果你会解密,建议买个BGA编程器去导出数据然后解密。如果不会,建议还是买个手机焊上去吧。 至于尝试通过手工锡焊连接BGA封装的闪存,我认为成功率很低。为了避免损坏闪存,建议你不要继续尝试。
@不負如來不負卿,数据加密的情况可能比想象中的更复杂,来自AOSP的文档:
较新的系统使用文件级加密,在手机之外解密可能相当困难: https://source.android.com/security/encryption/file-based?hl=zh-cn#key-derivation
密钥派生 磁盘加密密钥(512 位 AES-XTS 密钥)以加密形式存储:通过另一个存放在 TEE 中的密钥(256 位 AES-GCM 密钥)进行加密。要使用该 TEE 密钥,需要具备以下三项: 身份验证令牌 扩展凭据 secdiscardable hash 身份验证令牌是一个经过加密身份验证的令牌,由 Gatekeeper 在用户成功登录时生成。除非用户提供的身份验证令牌正确无误,否则 TEE 将拒绝用户使用该密钥。如果用户没有任何凭据,则不使用也不需要使用身份验证令牌。 扩展凭据是使用 scrypt 算法进行加盐和扩展处理后的用户凭据。实际上,凭据在被传递到 vold(以便传递到 scrypt)之前,会在锁定设置服务中接受一次哈希处理。扩展凭据会以加密形式绑定到 TEE 中的相应密钥,并享有适用于 KM_TAG_APPLICATION_ID 的所有保证。如果用户没有凭据,则不使用也不需要使用扩展凭据。 secdiscardable hash 是 16 KB 随机文件的 512 位哈希,和用于重建相应密钥的其他信息(例如种子)存储在一起。该文件会在相应密钥被删除时一并被安全删除,或者会以新的方式被加密;采用这种附加的保护措施后,攻击者要恢复相应密钥,必须要先恢复这个被安全删除的文件中的每一个位。secdiscardable hash 同样会以加密形式绑定到 TEE 中的相应密钥,并享有适用于 KM_TAG_APPLICATION_ID 的所有保证。
密钥派生 磁盘加密密钥(512 位 AES-XTS 密钥)以加密形式存储:通过另一个存放在 TEE 中的密钥(256 位 AES-GCM 密钥)进行加密。要使用该 TEE 密钥,需要具备以下三项:
身份验证令牌是一个经过加密身份验证的令牌,由 Gatekeeper 在用户成功登录时生成。除非用户提供的身份验证令牌正确无误,否则 TEE 将拒绝用户使用该密钥。如果用户没有任何凭据,则不使用也不需要使用身份验证令牌。
扩展凭据是使用 scrypt 算法进行加盐和扩展处理后的用户凭据。实际上,凭据在被传递到 vold(以便传递到 scrypt)之前,会在锁定设置服务中接受一次哈希处理。扩展凭据会以加密形式绑定到 TEE 中的相应密钥,并享有适用于 KM_TAG_APPLICATION_ID 的所有保证。如果用户没有凭据,则不使用也不需要使用扩展凭据。
secdiscardable hash 是 16 KB 随机文件的 512 位哈希,和用于重建相应密钥的其他信息(例如种子)存储在一起。该文件会在相应密钥被删除时一并被安全删除,或者会以新的方式被加密;采用这种附加的保护措施后,攻击者要恢复相应密钥,必须要先恢复这个被安全删除的文件中的每一个位。secdiscardable hash 同样会以加密形式绑定到 TEE 中的相应密钥,并享有适用于 KM_TAG_APPLICATION_ID 的所有保证。
此时,你的手机密码并不是文件解密密钥,它只是从安全芯片获取密钥的一个验证方式。如果无法得到存储在安全芯片中的密钥,data分区也就无法解密,数据恢复也就无法完成。
然而问题是,TEE安全芯片位于CPU内,如果手机无法开机,则无法得到该密钥。
所以,如果华为按AOSP推荐的方法实施了加密,则CPU损坏=丢失数据。如果CPU没有损坏,则将CPU和闪存一起安装到新主板上可能可以解密数据。
老一点的系统使用全盘加密: https://source.android.com/security/encryption/full-disk?hl=zh-cn
全盘加密是在 Android 4.4 版中引入的,不过 Android 5.0 中又引入了以下新功能: 添加了由硬件支持的加密密钥存储空间,该空间使用可信执行环境(TEE,例如 TrustZone)的签名功能。如需更多详细信息,请参阅存储已加密的密钥。 Android 全盘加密的运作方式 Android 全盘加密基于在块设备层运行的内核功能 dm-crypt。因此,这种加密方式适用于以块设备的形式呈现给内核的嵌入式多媒体卡 (eMMC) 和类似闪存设备。YAFFS 会直接与原始 NAND 闪存芯片交互,无法进行全盘加密。 全盘加密采用的是 128 位高级加密标准 (AES) 算法(搭配加密块链 (CBC) 和 ESSIV:SHA256)。对主密钥进行加密时使用的是 128 位 AES 算法(通过对 OpenSSL 库的调用实现)。对于该密钥,您必须使用 128 位或更多位(可以选择 256 位)。 首次启动时,设备会创建一个随机生成的 128 位主密钥,然后会使用默认密码和存储的盐对其进行哈希处理。默认密码是“default_password”。不过,设备还会通过 TEE(例如 TrustZone)为生成的哈希签名。TEE 会使用相应签名的哈希来加密主密钥。 当用户在设备上设置 PIN 码/通行码或密码时,只有 128 位的密钥会被重新加密并存储起来(也就是说,更改用户 PIN 码/通行码/解锁图案不会导致重新加密用户数据)。
全盘加密是在 Android 4.4 版中引入的,不过 Android 5.0 中又引入了以下新功能:
Android 全盘加密基于在块设备层运行的内核功能 dm-crypt。因此,这种加密方式适用于以块设备的形式呈现给内核的嵌入式多媒体卡 (eMMC) 和类似闪存设备。YAFFS 会直接与原始 NAND 闪存芯片交互,无法进行全盘加密。
全盘加密采用的是 128 位高级加密标准 (AES) 算法(搭配加密块链 (CBC) 和 ESSIV:SHA256)。对主密钥进行加密时使用的是 128 位 AES 算法(通过对 OpenSSL 库的调用实现)。对于该密钥,您必须使用 128 位或更多位(可以选择 256 位)。 首次启动时,设备会创建一个随机生成的 128 位主密钥,然后会使用默认密码和存储的盐对其进行哈希处理。默认密码是“default_password”。不过,设备还会通过 TEE(例如 TrustZone)为生成的哈希签名。TEE 会使用相应签名的哈希来加密主密钥。 当用户在设备上设置 PIN 码/通行码或密码时,只有 128 位的密钥会被重新加密并存储起来(也就是说,更改用户 PIN 码/通行码/解锁图案不会导致重新加密用户数据)。
此时,你需要找到128位密钥才能进行解密。但里面又涉及到喜闻乐见的TEE。在ARM架构中,TEE是CPU的一部分。
讨论转移至 https://hu60.cn/q.php/bbs.topic.92134.html
https://source.android.com/security/encryption/file-based?hl=zh-cn#dependencies
要安全地使用 AOSP 提供的 FBE 实现,设备需要满足以下依赖关系: 必须在可信执行环境 (TEE) 中实现 Keymaster/Keystore 和 Gatekeeper,以便为 DE 密钥提供保护,从而使未经授权的操作系统(刷写到设备上的定制操作系统)无法直接请求 DE 密钥。
要安全地使用 AOSP 提供的 FBE 实现,设备需要满足以下依赖关系:
这基本上断绝了在原装SoC(系统芯片,也就是CPU,内含TEE及密钥数据)之外解密data分区文件的可能性。
B站ID: 这个手杀不太泠 , 关注很久了,水平在的,但是价格可能有些贵,就是不太清楚收不收手机数据恢复,你问问
@不負如來不負卿,买一台同型号的手机,找个会内存扩容的维修师傅把你的闪存芯片拆下来装到另一个手机上就可以了。成功率应该不低。做过iPhone内存扩容的应该都能做。
现在头疼的事引脚太多,飞线太长,但芯片焊盘实在太小,对于我这种蹩脚的焊锡技术来说实在是巨大的挑战……
@不負如來不負卿,安卓的Data分区有加密,如果不知道解密方法就没办法导出数据。如果你会解密,建议买个BGA编程器去导出数据然后解密。如果不会,建议还是买个手机焊上去吧。
至于尝试通过手工锡焊连接BGA封装的闪存,我认为成功率很低。为了避免损坏闪存,建议你不要继续尝试。
@不負如來不負卿,数据加密的情况可能比想象中的更复杂,来自AOSP的文档:
较新的系统使用文件级加密,在手机之外解密可能相当困难:
https://source.android.com/security/encryption/file-based?hl=zh-cn#key-derivation
此时,你的手机密码并不是文件解密密钥,它只是从安全芯片获取密钥的一个验证方式。如果无法得到存储在安全芯片中的密钥,data分区也就无法解密,数据恢复也就无法完成。
然而问题是,TEE安全芯片位于CPU内,如果手机无法开机,则无法得到该密钥。
所以,如果华为按AOSP推荐的方法实施了加密,则CPU损坏=丢失数据。如果CPU没有损坏,则将CPU和闪存一起安装到新主板上可能可以解密数据。
老一点的系统使用全盘加密:
https://source.android.com/security/encryption/full-disk?hl=zh-cn
此时,你需要找到128位密钥才能进行解密。但里面又涉及到喜闻乐见的TEE。在ARM架构中,TEE是CPU的一部分。
讨论转移至
https://hu60.cn/q.php/bbs.topic.92134.html
https://source.android.com/security/encryption/file-based?hl=zh-cn#dependencies
这基本上断绝了在原装SoC(系统芯片,也就是CPU,内含TEE及密钥数据)之外解密data分区文件的可能性。
-rainss.cn-雨落凋殇