大家一起看一看Android P将引入哪些安全性改进

根据Google的Android开发团队发布的新版本Android系统概述,下一个Android版本(Android P或Android 9.0)大家应该很快就可以“吃”上了。文件表示,Google在2018年第三季度的版本推送计划将在三个月左右的时间内实施完成:

AndroidP的测试目前即将结束,第一个候选版本也已经在7月份正式发布了。作为一名安全行业的从业人员,我们有必要看一看Android的最新版本到底引入了哪些新的安全功能。在这篇文章中,我们将主要讨论Android安全方面的改进。

提升指纹验证功能

为了保护数据的安全,目前绝大多数的设备都拥有不同形式的验证功能。新版的Android P提供了改进的基于生物特征的身份验证方法。在Android 8.1中,引入了两个新的指标来帮助身份特征系统抵御攻击,即SAR(欺骗接受率)和IAR(伪造接受率)。随着Android P引入的基于改进生物特征安全模型,新版本Android的生物认证将变得更加可靠和可信。

除此之外,Android P还会给指纹验证对话框提供标准化界面布局,以此增加用户对安全性方面的信心。应用程序开发者在调用指纹验证功能时,需要调用一个名叫BiometricPrompt的新型API,其他验证逻辑并不需要开发人员自己去实现。

签名机制v3

AndroidP支持APK签名机制V3,这个版本跟V2相比,主要区别在于增加了密钥轮转的支持。对于开发者来说,密钥轮转是非常有用的,因为这种机制包含了ApkSignerLineage。在这个功能的帮助下,你可以轻松对一个新的证书进行签名,并与APK文件进行绑定。虽然签名机制V3在新版本系统中是默认开启的,但你仍然可以使用旧版本的签名证书。

默认支持HTTPS

现在,很多App仍然会以未加密的形式来传输用户数据,这种方式存在很大的安全隐患。如果人们知道AndroidP默认支持安全传输协议的话,人们对数据安全的担忧将会降低。在Android P中,第三方开发者可以为自己的App开启HTTPS,不过他们也可以忽略这条建议,并指定专用的域名来传输未加密的流量数据。

保护确认API

所有运行了Android P的设备中都将出现一个保护确认API,在这个API的帮助下,App可以使用 ConfirmationPrompt类 来向用户显示确认弹窗,并询问他们是否允许相应操作,例如敏感交易和账单支付等等。

确认之后,App将接收到一个加密签名,这个签名在受信执行环境(TEE)中生成,并由基于密钥的哈希消息验证码(HMAC)保护。这种机制既保证了对话框的正确显示,又保护了用户的输入数据,这也是安全性提升的一个方面。

硬件安全模块

这个额外更新是每一位用户都会从中受益的:安装了Android P的设备将支持一个名叫StringBox Keymaster的功能,这个功能模块拥有自己的CPU、安全存储区域以及一个真实随机数生成器,它还可以保护App的数据包不被篡改。

为了支持StringBox Keymaster,Android P使用了原本加密算法的密钥子集,例如:

RSA2048
AES128 and 256
ECDSAP-256
HMAC-SHA256
TripleDES 168

外围设备后台策略

在Android P中,App将无法直接访问设备的麦克风、摄像头和传感器。当App尝试在后台访问这些组件时,用户将收到通知消息。如果App尝试在后台访问组件数据,系统将返回空白的音频数据,并断开摄像头连接,然后让所有的传感器停止返回数据。

备份数据加密

从Android P开始,系统会开始使用一种基于客户端的方法来对用户的备份数据进行加密,这也就意味着整个加密过程都将在客户端设备上完成。在此之前,这样的加密过程是在服务器端完成的。

由于新策略的引入,用户在恢复备份文件的时候将需要输入设备PIN码、图形解锁码或依靠生物特征来完成。

总结

所有的这些改进都将意味着一件事情,那就是网络犯罪分子窃取用户数据将会难上加难。这对于用户来说,是一个好消息,因为他们不必再像以前一样去过分担心自己的隐私数据发生泄漏了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中,线程安全的数据结构是指多线程环境下能够保证数据一致性和线程安全的数据结构。以下是几种Android中常用的线程安全的数据结构: 1. ConcurrentHashMap:ConcurrentHashMap是一种线程安全的哈希表实现,它支持高并发的读写操作。它通过分段锁的方式实现并发控制,不同的段可以同时进行读操作,从而提高并发性能。 2. CopyOnWriteArrayList:CopyOnWriteArrayList是一个线程安全的ArrayList实现,它通过在修改操作时复制整个数组来实现并发安全。每次修改操作都会创建一个新的数组,因此读操作不会被阻塞,适用于读多写少的场景。 3. BlockingQueue:BlockingQueue是一个阻塞队列接口,它提供了线程安全的入队和出队操作。常用的实现类有ArrayBlockingQueue、LinkedBlockingQueue等。它可以在队列为空时阻塞消费者线程,或者在队列满时阻塞生产者线程,实现生产者消费者模型。 4. Atomic类:Atomic类提供了一些原子操作,可以保证对基本类型数据的原子性。常用的类有AtomicInteger、AtomicLong等,它们可以确保在多线程环境下对变量的操作是原子的。 5. SynchronizedList和SynchronizedMap:这些是通过在集合的方法上添加synchronized关键字来实现线程安全的集合类。例如,Collections类提供了synchronizedList方法和synchronizedMap方法,可以将ArrayList和HashMap转换为线程安全的List和Map。 这些线程安全的数据结构可以帮助开发者在多线程环境下安全地处理数据,避免并发问题。在选择使用哪种数据结构时,需要根据具体的需求和场景进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值