Android系统中/data目录加密情况探讨

12次阅读
没有评论

问题描述

想要了解当启用android设备的加密功能时,/data目录是否会被加密。特别是关于一个使用了本地共享对象库的应用文件的安全性问题。由于手机未被root,当前没有权限查看该目录内容。

解决方案

注意:以下信息是基于Android官方文档及其他资料,并不代表所有厂商设备在实际操作中完全一致。

根据初步调查及android官方文档的说明,当启用android设备上的完整系统加密功能时,/data 目录及其子文件夹下的文件会被加密。具体来说,在Android 5.0 (API level 21) 及以上版本中,所有在 /data 下的应用数据都会被加密。

方案一:确认 /data 分区是否被加密

为了解 /data 目录及该目录下应用的数据是否真的被加密,可以从以下几个方面进行验证和测试:

  1. 获取加密状态
  2. 使用adb shell命令进入设备的shell环境。
  3. 运行 dumpsys crypto 命令,检查mDataBlockEncrypted: true 来确认 /data 分区是否为加密分区。

  4. 验证应用数据加密情况

  5. 由于应用的数据存储在 /data/data// 文件夹下,因此需要通过开发者模式下的adb命令来访问该目录。
  6. 使用 adb shell 进入shell环境后,可以在 /data/data/ 下查看所有已安装的包。注意仅当设备未被root或授予相应权限时才能读取部分数据。

  7. 确认文件加密情况

  8. 如果以上步骤能够获取到 /data 目录下的某文件夹信息,则进一步尝试通过命令行工具如 adb shell su -c "cat /data/data/<package_name>/lib/your_so_file.so" 来查看内容。
  9. 典型情况下,如果文件为加密状态,则直接用上述方式不可读取其内容,需使用适当的解密算法、设备或系统层的支持方可访问。

方案二:测试验证

  1. 启用并测试加密功能
  2. 如果设备支持的话,在设定加密选项时仔细观察是否提示 /data 分区被选择进行加密。
  3. 按照官方文档推荐的方法,手动启用加密(如重启进入恢复模式等步骤)。

  4. 监控加解密状态变化

  5. 在完成完整系统加密后或解除加密之前,重新检查上文提到的命令 dumpsys crypto 是否有相应的加密标识变化。

通过上述方案可以较好地确认 /data 分区及应用数据的安全性情况。尽管未经root 的设备权限限制可能会使测试更加困难,但通过官方提供的工具和文档依然能够获取重要信息。对于特定应用文件是否已被加密的具体确认,则可能需要更多专业知识或工具的支持。

请注意,由于硬件及软件版本的不同,部分细节上的差异会略有不同。在进行相关操作时,请始终遵循最新的官方指南以确保行为合规且安全。

正文完