作者: Lilian Young 和 Shawn Willden, Android 安全团队;Frank Salim, Google Pay 团队

我们希望更深入的了解您的开发实践与体验,以便为您构建更好的开发工具。所以我们诚挚的邀请您参与 Android 开发者问卷调研。您的回复是匿名的,我们仅进行汇总分析。此调查仅需 5-10 分钟即可完成。

扫描下方☟二维码☟ 参与 Android 开发者问卷调研

Android Pie 加入 Keystore 新特性

Android Keystore 为应用开发者们提供了许多加密工具来保护用户数据。Keystore 将软件库中的密码学原语从 Android OS 移植到安全硬件中,从硬件层面为密钥资料提供额外的安全防护,并确保密钥仅能够在安全硬件中被使用,因此即使设备遭受攻击,应用的机密数据也不会泄露。此外,Keystore 还允许应用限定密钥的使用方式和时间。

到了 Android Pie 之后,Keystore 也相应加入了一些新功能。在这篇文章中,我们会详细介绍其中的两项新功能: 其一是通过限制密钥的使用来达到保护敏感信息的目的;其二则是能够在简化安全密钥使用的同时,防止应用和操作系统访问密钥资料。

键盘锁绑定密钥

如果用户当前并未在使用设备,移动端应用可选择延迟处理已经接收到的数据。Android Pie 利用键盘锁绑定密钥技术来保护应用在锁屏时收到的敏感信息,直至用户开始访问它们。当设备处于锁屏状态时,密钥可用于加密或认证操作,但是却不可用于解密或者签名。如果设备当前被 PIN, 图形或者密码锁定,任何试图使用这些密钥的操作都会失效。键盘锁绑定密钥可以在设备锁屏时保护用户数据,直到用户需要这些数据。

键盘锁绑定和验证绑定的功能类似,唯一需要着重强调的区别在于键盘锁绑定将密钥可用性与锁屏状态绑定在一起,而验证绑定则采用常量超时机制。当密钥键盘锁绑定功能启用后,一旦设备进入锁屏状态,密钥便会失效,直至用户重新解锁设备。

另外,还有一点请各位读者注意,鉴于安全硬件无法获知屏幕何时被锁定,因此键盘锁绑定由操作系统负责来强制执行而非安全硬件。但验证绑定的情况则与之不同,它是一款由硬件强制执行的 Android Keystore 特性。当验证绑定与键盘锁绑定配合使用时,设备将具备更高的安全防护级别。而且,由于键盘锁绑定属于操作系统功能,因此所有 Android Pie 设备都可以使用该功能。

任何由设备支持算法所编写的密钥均可启动键盘锁绑定功能。如果您需要生成或导入键盘锁绑定密钥,请在设置 KeyGenParameterSpec 或 KeyProtection 的 builder 对象时,调用 setUnlockedDeviceRequired(true) 方法。

安全密钥导入

安全密钥导入是 Android Pie 引入的另一项新特性,它允许应用以一种更加安全的方式将现有密钥配置到密钥库中。密钥源可能是位于本地数据中心或云端的某台服务器,它会通过用户设备中的公共包装密钥来加密安全密钥,并生成 SecureKeyWrapper 格式的文件,其中包含了被导入密钥所允许的使用方式,而 SecureKeyWrapper 密钥只有在生成包装密钥的设备上的 Keystore 硬件中才能被解密。密钥在传输过程中完成加密,且对应用和操作系统均不可见,也就是说只有在导入到的安全硬件后才能使用这些密钥。

如果应用试图与 Android 设备分享密钥,但同时又想避免密钥在离开设备后被拦截,安全密钥导入功能便是这中情形下理想的选择。Google Play 已经利用该技术在 Pixel 3 手机上配置部分密钥,以确保密钥不会被拦截或者从内存中被提取。此外,安全密钥导入的企业用例也很广泛,比如,您可以从 CA 认证中心托管方恢复 S/MIME 加密密钥,以便使用同一把密钥在多个设备上解密电子邮件。

如果您想了解该特性的具体使用方法,请仔细阅读教程文档《Android 密钥库系统》中的相关部分。请注意,由于安全密钥导入是一款安全硬件特性,因此部分 Android Pie 设备可能无法使用该功能。应用可以调用 PURPOSE_WRAP_KEY 来生成一个密钥对,以此来鉴别所用设备是否支持安全密钥导入。

点击这里参与 Android 开发者问卷调研

Android Pie 引入 Keystore 新特性,安全防护再升级相关推荐

  1. android各个版本的新特性

    首先看看最新版本Android 11 : https://www.zhihu.com/question/420186152 4.0 Ice Cream Sandwich(冰激凌三明治):2011年10 ...

  2. Android 4.1-Jelly Bean新特性详解

    Android 4.1Jelly Bean新特性详解 发布会已经结束,Android新一代的4.1版本,代号Jelly Bean(果冻豆)的新系统已经正式问世,除了新架构.全新通知栏和搜索功能之外,实 ...

  3. Android studio 4.2新特性及升级异常

    Android studio 版本及特性系列目录 Android 12 终于来了,你准备好了吗? Android studio 4.2新特性 Android studio 4.1新特性 Android ...

  4. Android 6.0系统新特性及功能说明

    本文通过翻译官方文档和google开发者大会资料收集得出,转载请注明出处. Android 6.0系统新特性及功能说明... 1 1       优化用户体验:... 1 1.1        应用权 ...

  5. 谷歌手机升级android10,Android Q安卓10.0新特性,首批支持升级21款手机

    原标题:Android Q安卓10.0新特性,首批支持升级21款手机 2019年5月8日,一年一度的谷歌I/O开发者大会在美国加州如期召开,并发布了全新系列Android Q(安卓10.0)操作系统, ...

  6. 神经网络API、Kotlin支持,那些你必须了解的Android 8.1预览版和Android Studio 3.0新特性

    曾仅用 55 秒发布会的 Android 8.0 Oreo 在时隔两个月后,Google 于今天在其官方网站上正式发布了 Android 8.1 首个开发者预览版,此次升级涵盖了针对多个功能的提升优化 ...

  7. Android 系统各版本新特性总结

    Android 4.0 Space 留白 PopupMenu GlidLayout 网格布局 Android 5.0 MaterialDesign设计风格 Material Theme Meteria ...

  8. Android 4.0 SDK新特性

    Android 4.0 是一次重要的平台发布版,为用户和应用程序开发者增加了大量的新特性.在下面我们将讨论的所有新特性和API中,因为它将 Android 3.x 版本中广泛使用的API和全息图像主题 ...

  9. Android 12 变更与新特性

    Date:2021.7 文章目录 Android 12新特性总结 一.设置 二.通知 1. 媒体控制界面 2. 媒体控制 3. 休眠功能 4. 通知界面更新 5. trampoline 三.消息框To ...

最新文章

  1. 安装apache的时候80端口被PID为4的系统进程所占用
  2. Hbuilder开发移动App(1)
  3. uva673 Parentheses Balance
  4. Fiddler代理手机抓包
  5. powerbi add visual diagram
  6. 【Linux】一步一步学Linux——iptables命令(186)
  7. eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
  8. 这些新技术你们都知道吗?成功收获美团,小米安卓offer
  9. echarts自学笔记
  10. 会话标识未更新 java_Appscan漏洞之会话标识未更新
  11. 《微信生活白皮书》发布微信用户数据
  12. ResNet网络结构详解及代码复现
  13. Opencv 将GIF格式图片转为JPG、JPEG等格式图片
  14. Python数据可视化的例子——饼图(pie)
  15. 5g无线图传信号测试软件,不到千元的5G无线图传?小试致迅CineEye
  16. 转:授之于鱼还是授之以渔,金蝶给了企业SaaS一个完整答案
  17. 云服务器哪家好?云服务器评测对比
  18. 大象进冰箱和软件设计的关联性
  19. Datawhale零基础入门数据挖掘-Task5模型融合
  20. NYOJ118 修路方案

热门文章

  1. Openlayers中使用Cluster实现点位元素重合时动态聚合与取消聚合
  2. 信息系统项目管理师-项目风险管理考点笔记
  3. Logback配置输出sql
  4. Vue中组态实现方案-BaseMap的使用
  5. Android布局管理器-使用LinearLayout实现简单的登录窗口布局
  6. IDEA中进行SpringBoot整合spring-ws开发webservice接口后期要修改xsd文件流程
  7. 10、mybatis参数处理
  8. 4、SpringBoot 配置和使用定时任务
  9. ajax mysql项目 react_Github MIT开源银行电子支付系统(ReactJS+Nodejs+Mysql)
  10. 案例 | 易快报:解放“客户成功”的背后故事