<th id="nnpdh"><meter id="nnpdh"><var id="nnpdh"></var></meter></th>

    <th id="nnpdh"><meter id="nnpdh"></meter></th>

    <form id="nnpdh"><progress id="nnpdh"><thead id="nnpdh"></thead></progress></form>
    <address id="nnpdh"><big id="nnpdh"></big></address>

        设为首页收藏本站

        LUPA开源社区

         找回密码
         注册
        文章 帖子 博客

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

        2019-2-21 11:54| 发布者: joejoe0332| 查看: 143| 评论: 0|原作者: Android_开发者|来自: Android_开发者

        摘要: Android Keystore 为应用开发者们提供了许多?#29992;?#24037;具来保护用户数据。Keystore 将软件库中的密码学原语从 Android OS 移植到安全硬件中,从硬件层面为密钥资料提供额外的安全防护,并确保密钥仅能够在安全硬件中被使 ...
        Android Pie 加入 Keystore 新特性

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

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

        键盘锁绑定密钥

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

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

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

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

        安全密钥导入

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

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

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

        作者:Android_开发者
        链接:https://juejin.im/post/5c6cb49c51882562e7480544
        来源:掘金


        酷毙

        雷人

        鲜花

        鸡蛋

        漂亮
        • 快毕业了,没工作经验,
          找份工作好难啊?
          赶紧去人才芯片公司磨练吧!!

        最新评论

        关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187  

        返回顶部
        时时彩软件免费版

          <th id="nnpdh"><meter id="nnpdh"><var id="nnpdh"></var></meter></th>

          <th id="nnpdh"><meter id="nnpdh"></meter></th>

          <form id="nnpdh"><progress id="nnpdh"><thead id="nnpdh"></thead></progress></form>
          <address id="nnpdh"><big id="nnpdh"></big></address>

                <th id="nnpdh"><meter id="nnpdh"><var id="nnpdh"></var></meter></th>

                <th id="nnpdh"><meter id="nnpdh"></meter></th>

                <form id="nnpdh"><progress id="nnpdh"><thead id="nnpdh"></thead></progress></form>
                <address id="nnpdh"><big id="nnpdh"></big></address>