目录:
2016年8月13日更新 ,提供有关最终Android Nougat功能和API的信息。
Android N中有很多代码更改。我们可以看到其中一些 - 比如新通知 - 以及其他我们无法做到的(但仍然是一个大问题)。 每次更新都会看到同样的事情。 界面有改进和变化,但在引擎盖下进行调整和更改以使Android运行更好,更安全。
Google在少数几个不同领域提高了Android Nougat的安全性。 有些是为了加强Android本身,有些是开发人员使用的工具,所以当我们安装应用程序时它会保持这种状态。 我们来看看这些变化本身。
无缝更新
Google已经在Chrome操作系统上进行了“无缝更新”,效果非常好。 Android中的情况非常相似。
无缝更新将使用两个单独的系统分区。 其中一个是您每天使用手机时运行的系统。 在更新时,其他系统分区会被更改和更新,下次重新启动时,您将自动切换。 下次有更新时,其他系统分区会更改并切换回来。
:Android 7.0:什么是无缝更新,它们如何工作?
这意味着你可以在工作或玩游戏时完成任务,完成后你需要做的就是正常重启。 你会感到惊讶(当我听到它的时候),但很多人都不会更新他们的手机,因为这需要一段时间。 他们可能已经做过一次,然后坐在那里等待,并决定不再这样做。 很容易解雇通知。 但是通过更改程序,使更新更容易,并在看到“更新应用程序”对话框时消除可怕的等待时间,更多人将会这样做。
网络安全配置
网络安全配置允许应用程序开发人员为网络安全设置创建和使用自定义配置文件,而不是请求系统级更改。可以在不修改应用程序本身的情况下更改配置文件,并且可以将其设置为使用自定义证书颁发机构而不是设备默认情况下,也可以设置为忽略系统信任的任何或所有CA. 这对于连接到具有自签名CA(适用于企业应用程序)或仅应信任特定CA的应用程序的主机非常重要。
此外,可以将配置设置为选择退出任何纯文本网络流量,并使用HTTPS协议强制进行加密通信。 如果您是网络管理员或开发网络应用程序,您就会知道这些更改的重要性。 我们其他人可以很高兴我们可以在更容易开发的应用程序中获得更安全的网络流量。
媒体服务器强化
还记得Stagefright吗? 虽然它被大部分媒体夸大了,但是夸张背后隐藏着一个真正的问题。 播放媒体文件并且它能够强制您重新启动或丢失所有音频是一个令人讨厌的问题,并且(理论上)这可以用于秘密获得root权限这一事实甚至更加可怕。 谷歌 非常 重视它,我们每个月都会看到媒体服务器库的补丁,试图保持领先于它带来的错误和安全问题。
在Android N中,媒体服务器得到了彻底的改革。 谷歌已将媒体服务器分解为可在完整系统更新之外更新的小型组件 - 就像使用WebView组件一样。 这意味着当他们有新补丁时,您可以从Google Play获取更新,而不是等待六个月或更长时间让那些让您的手机决定向您发送补丁的人。
他们还更改了媒体服务器的权限模型,不再为其提供完整的系统权限。 使用低权限运行会让任何人进入媒体服务器时更难进入系统。 这是一个重大变化,并且会使黑客攻击Android手机(糟糕的黑客攻击)比过去更难。
关键证明
密钥证明将允许开发人员确保他们在他们的应用程序中使用的密钥有效并存储在手机的硬件支持的密钥库中,而不是存储在软件中。 当为证明工具提供密钥的生成别名(永远不应共享实际密钥)时,它会生成可用于验证密钥的证书链。 开发人员可以验证密钥以及验证的引导状态,以确保一切有效。
安装了Android N并使用Google服务的手机将拥有由Google作为根(或主要)授权机构颁发的证书,而其他已升级的手机则需要由制作它们的公司颁发的证书。
并非所有可以运行Android N的手机都具有可信赖的硬件环境来存储加密密钥,在这些情况下,使用软件级密钥证明。 仍然可以检查已验证的引导状态,以确保系统软件未被篡改。 是的,这意味着开发人员可以检查root。 如果对已经植根手机的用户不施加不应有的惩罚,这是一件好事。
文件级加密
以前,Android使用块级加密来使整个分区或存储设备一次性加密。 这是一种非常安全的加密方法,并且将实际令牌保留在存储和硬件之外几乎意味着唯一的方法是使用正确的密码或PIN。 使用Android N,事情已经改为文件级加密。
直接引导旨在与文件级加密协同工作,以提供方便性和安全性。
当您的加密Android设备启动(或在您的口袋中重新启动)时,设备会被加密并锁定。 只能运行某些应用程序,这称为直接引导模式。 这意味着您仍然可以接听电话或关闭闹钟(甚至可以看到一些消息通知),但要做更多的事情,您需要解锁和解密设备。 解锁后,N使用文件级加密,允许我们(用户)和应用程序更好地控制数据的锁定方式。
这里有两个优点 - FDE(块层全盘加密)使低端设备运行得非常糟糕。 谷歌在Nexus 6上尝试了几次尝试,并且任何低于50 MB / s读写闪存存储硬件的设备仍然很难。 第二个(也是更重要的)优点是使用文件级加密来进行具有A ssociated D ata(AEAD)的未经验证的加密。 AEAD意味着未经授权的用户或应用程序访问数据更加困难。 对于对AEAD感兴趣的人,这是加州大学戴维斯分校教授Phillip Rogaway(.pdf文件)的一篇非常好的读物。
这种多层次的加密方法将使制造价格非常低廉的Androids的公司能够提供加密而不会降低性能。
直接启动
使用直接引导功能,文件级加密也可以更好地工作。 Direct Boot带来了一种开发人员可以利用的新模式,以便他们的应用程序可以在系统启动后立即运行,而不是等待用户解锁手机或解密。
这与新的设备存储区域一起完成,并且使用直接引导的应用程序将不与正常的凭据保护的文件系统和任何单独加密的文件或目录进行任何交互。
:Android 7.0:什么是Direct Boot,它将如何改善您的体验?
范围目录访问
范围目录访问是一种应用程序获取访问外部存储上特定目录的权限的方式(外部存储是系统外部的分区,包括手机的存储和SD卡或其他连接的存储设备)而无需整个卷的权限或使用弹出窗口来请求文件夹权限。
安全地访问存储的数据非常重要。 只需要访问音乐或照片存储文件夹的应用程序不应该看到任何其他内容,并且编写代码以使用现有的存储访问框架缩小范围已被证明是许多开发人员拒绝做的事情。 新的Scoped Directory Access API将使开发人员更容易构建安全的应用程序并保护您的数据。
这些关键的安全功能是Android N的重要组成部分。虽然有些手机(特别是那些不附带Nougat的手机)可能不会全部使用它们,但每一部手机在正确使用时都有助于保护我们的数据。 Android已经成熟,谷歌对7.0的细节关注可能不如新的表情符号或新的配色方案那么华丽,但它更为重要。