1.RPMB KEY
RPMB是闪存UFS/EMMC中的一个具有安全特性的物理分区。
全称Replay Protected Memory Block, 重放保护存储块,用于存放一些重要的安全信息。
RPMB 可对写入操作进行鉴权,但是读取并不需要鉴权,任何人都可以进行读取的操作,因此存储到 RPMB 的数据通常会进行加密后再存储。
RPMB为什么能防重放攻击呢?
通过密钥获得访问权限,同时对每一个访问动作进行计数,这个密钥就是RPMB Key。
使用 eMMC 的产品,在产线生产时,会为每一个产品生产一个唯一的 256 bits 的 Secure Key(RPMB Key),烧写到 eMMC 的 OTP 区域(只能烧写一次的区域),同时 Host (CPU)在安全区域中(例如:TEE)也会保留该 Secure Key。
有了这个key, 在访问RPMB区域的时候, 都要用这把key生成Message Authentication Code(MAC), 用来鉴定授权,鉴权在TEE中完成,
每次开机通过RPMB key生成的MAC值 和 EMMC RPMB OTP区域中保存的RPMB key生成的MAC值做比较。
在 eMMC 内部,还有一个RPMB Write Counter。RPMB 每进行一次合法的写入操作时,Write Counter 就会自动加一 。
通过 Secure Key 和 Write Counter 的应用,RMPB 可以实现数据读取和写入的 Replay Protect。
eMMC 在写入数据到 RPMB 时,会校验数据的合法性,只有指定的 Host 才能够写入,同时在读数据时,也提供了签名校验机制,保证 Host(cpu) 读取到的数据是 RPMB 内部数据,而不是攻击者伪造的数据。
2. Attestation Key (Google认证密钥)[https://blog.csdn.net/qq_42713883/article/details/102478059
预置谷歌 attestation key]
在Android设备中,Attestation Key 必不可少;如果设备中缺少Attestation Key,CTS/GTS中测试项会失败。
密钥认证旨在提供一种方法来强有力地确定非对称密钥对是否由硬件支持(如果来自HW Keymaster)。
在APP获取Keymaster密钥对后,APP可以要求Keymaster提供一个证书链(证书密钥签名的证书,而根证书来自google),并验证证书链是否有效。 应用程序应该自行验证证书。
3. IFAA KEY
internet finance authentiation alliance,互联网金融身份认证联盟,也指一种认证规范(阿里领头促成的)。
IFAA key其实分三个层次, 分别是业务密钥, 可信根密钥和设备密钥。这里所说的IFAA key, 说的其实是设备密钥。(例如手机在使用指纹支付时间就需要用到该密钥进行认证校验。)
4.FIDO KEY
FIDO全称为Fast Identity Online,是一套身份认证框架协议。它由FIDO联盟推出并持续维护。
FIDO KEY在产线灌装至设备中,可用于生物支付认证的校验。(例如招商银行APP的指纹支付、爱奇艺的指纹支付)
注释:FIDO 联盟规范概述:https://fidoalliance.org/specifications/
Fido工作原理:https://fidoalliance.org/how-fido-works/
5.SOTER KEY
SOTER标准中,所有的密钥生成、数据签名处理、指纹验证、敏感数据传输等敏感操作均在TEE中进行。
SOTER使用的设备根密钥由厂商在产线上烧入,从根本上解决了根密钥不可信的问题,并以此根密钥为信任链根,派生密钥,从而完成。
soter key即ATTK(设备密钥)密钥在设备出厂之前需要在TEE中生成,公钥被被厂商安全地传输到腾讯的TAM服务器,私钥则在TEE中安全存储。
6. DRM KEY数字版权密钥(含Widevine)
Digtal Rights Management,管理数字版权的一套机制。
(如加密视频的校验认证、加密电子书的校验认证)
Widevine是DRM方案解决的一种,也是Android平台支持的一种。
Widevine Key
Widevine是google在ICS版本上新推出的一种DRM数字版权管理功能,有这个功能的话,就能从google指定的服务器上,下载经过google加密的版权文件,例如视频、应用等等。Widevine针对数字媒体提供了视频格式无关的加解密方式。
7.Root_Key
根秘钥,
8.HDCP(mtk平台特有)
用于保护“线路上的”高清晰数字视频信号,例如你的DVD播放器和电视机之间的线路。HDCP做两件事情:加密传输的数据使得(明文)无法被捕获;允许两个终端节点验证对方是不是HDCP授权的设备。从安全角度来说,HDCP关键的一步是刚开始(两个设备之间)的握手阶段,在这一步双方建立一个共享的密钥来加密通信内容,同时可以相互验证对方是不是HDCP授权的。
原文链接:https://blog.csdn.net/tugouxp/article/details/115408754hdcp_Key