Android 全盘加密技术 | Secure Code Warrior

设备加密是指对 Android 设备上的所有数据进行加密的过程。一旦在 Android 设备上启用此功能,所有用户创建的数据在写入存储之前都会立即被加密。这可以保护数据,即使未经授权的第三方试图访问,也无法读取。对于智能手机而言,这是一项特别好的功能,因为用户会随身携带手机,相比其他计算设备,手机更容易丢失或被盗。任何捡到手机的人或窃贼,除非能解锁手机,否则无法访问其中的数据。
Android 有 两种 设备加密方式:全盘加密和基于文件的加密。
全盘加密
全盘加密在 API 级别 19(Android 4.4 KitKat)中引入,但 API 级别 21(Android 5.0 Lollipop)中的新功能真正推动了它的使用。全盘加密使用单个密钥来保护整个设备的用户数据分区。该密钥受用户凭据保护,必须在启动时提供凭据,磁盘的任何部分才可访问。
这对安全性很有帮助,但也意味着在用户输入凭据之前,设备的大部分功能都无法使用。这意味着当设备重启但未解锁时,闹钟等某些功能无法运行,服务不可用,手机也无法接听电话。因此,开发了第二种加密模式。
基于文件的加密
基于文件的加密是第二种设备加密模式,自 API 级别 24(Android 7.0 Nougat)起可用。在此模式下,不同的文件使用不同的密钥进行加密,可以独立解锁。随着这种加密模式的出现,还引入了 直接启动 (Direct Boot) 模式,该模式允许加密设备直接启动到锁屏界面,从而在解锁设备之前启用之前缺失的功能。
直接启动模式允许应用在设备解锁前的有限上下文中运行。这样,它们无需泄露用户信息即可按预期工作。为了提供此功能,Android 设备需要两个存储位置:
- 凭据加密存储。默认存储位置,仅在用户解锁设备后可用。
- 设备加密存储。在直接启动模式下以及用户解锁设备后可用。

如果您的应用需要在直接启动模式下运行时访问数据,则应使用设备加密存储。但请注意其安全隐患!设备加密存储不应用于存储任何敏感数据!设备加密存储使用的密钥在设备成功启动后即可使用。任何仅供用户访问的数据都应保存在默认位置,即凭据加密存储中。
如果您想了解更多关于什么是加密或为什么它很重要,请查看 Secure Code Warrior 门户上的 视频。或者,您也可以通过参与一些 挑战 来测试您的加密知识。
需要针对您设备的逐步指南吗?请查看 Pixel Privacy 上 Bill Hess 撰写的 这篇文章。
希望您学到了新知识。下周见!
凭据加密存储是默认的存储位置,仅在用户解锁设备后可用。
https://developer.android.com/training/articles/direct-boot.html
在 AI 驱动的开发成果发布前实现有效治理
评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。
探索更多博客
获取有关安全编码、人工智能治理和软件风险管理的专家内容。
%252520%252520(3).avif)
Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Security as culture: How Blue Prism cultivates world-class secure developers
Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed
在产品发布前确保 AI 驱动的开发安全
洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。



.avif)