Android系统终端上不得不说的5个密钥!
安智客移动支付网2018/4/13 9:19:21

从事手机开发、终端软件安全的相关从业者不得不面对以下5个密钥,如下图所示:

这5个密钥,有些是因为支付宝支付、微信支付所必须要的如IFAA Key、Soter Key。有些是Google最新Android8.0版本所要求的,比如attestation Key,有些是因为一些业务需要比如DRM Key。最后一个RPMB Key是TEEOS所需要的,作为可信安全存储的一个密钥。

当然最重要的是,这些Key的都需要TEE系统作为支撑,也就是说可信执行环境成为一个必选项!下面安智客简要介绍一些这些key:

RPMB全称Replay Protected Memory Block, 重放保护存储块,用于存放一些重要的安全信息。RPMB为什么能防重放攻击呢?通过密钥获得访问权限,同时对每一个访问动作进行计数,这个密钥就是RPMB Key。有了这个key, 在访问RPMB区域的时候, 都要用这把key生成Message Authentication Code(MAC), 用来鉴定授权,鉴权过程通常在TEE中使用,每次开机生成的RPMB key得到MAC值和EMMC RPMB本身根据写入的RPMB key生成的MAC值做比较。

DRM全称Digital Rights Management, 是用于管理数字版权的一套机制。 这套机制概括为内容提供商提供的视频内容都是经过加密的, 用户想要观看必须先购买授权。之后会得到服务器发送的被content key加密后的视频内容及一把被DRM key加密的device key和被device key加密的content key. 用户用DRM key解密device key, 再解密的content key,最后解密加密视频, 最终得以观看。Widevine是DRM解决方案中的一种, 也是Android平台目前支持的一种。

腾讯在微信指纹支付——SOTER。SOTER标准中,所有的密钥生成、数据签名处理、指纹验证、敏感数据传输等敏感操作均在TEE中进行。不仅如此,SOTER使用的设备根密钥由厂商在产线上烧入,从根本上解决了根密钥不可信的问题,并以此根密钥为信任链根,派生密钥,从而完成。与微信合作的所有手机厂商将均带有TEE,并且通过腾讯安全平台和微信支付安全团队验收,符合SOTER标准。soter key即ATTK(设备密钥)密钥在设备出厂之前需要在TEE中生成,公钥被被厂商安全得传输到腾讯的TAM服务器,私钥则在TEE中安全存储。

IFAA全称internet finance authentiation alliance,互联网金融身份认证联盟,也指一种认证规范,IFAA key其实分三个层次, 分别是业务密钥, 可信根密钥和设备密钥。这里所说的IFAA key, 说的其实是设备密钥。

Attestation Key 在Android O中,认证密钥必不可少,在CTS/GTS中进行测试检查。密钥认证旨在提供一种方法来强有力地确定非对称密钥对是否由硬件支持(如果来自HW Keymaster)。在APP获取Keymaster密钥对后,APP可以要求Keymaster提供一个证书链(证书密钥签名的证书,而根证书来自google),并验证证书链是否有效。 应用程序应该自行验证证书。

安智客后续重点将突出一下技术层面的知识,力求以简洁、全面的方式介绍,希望大家喜欢!

本文为作者授权发布,不代表移动支付网立场,转载请注明作者及来源,未按照规范转载者,移动支付网保留追究相应责任的权利。

展开全文
相关阅读
资讯查询取消