Asset Store Kit简介

Asset Store Kit(关键资产存储开发套件)包含了关键资产存储服务(ASSET)开放的接口能力集合,提供了用户短敏感数据的安全存储及管理能力。其中,短敏感数据可以是密码类(账号/密码)、Token类(应用凭据)、其他关键明文(如银行卡号)等长度较短的用户敏感数据。

抢先体验版免责声明:

业务可根据自身需求,选择使用抢先体验版开发套件。ASSET可能在不通知的情况下随时更改接口,或不再提供接口支持。抢先体验版开发套件的可靠性、可用性不受到正式SDK规范的约束。ASSET不承担抢先体验版开发套件引起或与之相关的责任,业务应自行承担使用时的风险。

基本概念

关键资产的安全存储,依赖底层的通用密钥库系统。具体来说,关键资产的加/解密操作以及访问控制校验,都由通用密钥库系统在安全环境(如可信执行环境)中完成,即使系统被攻破,也能保证用户敏感数据不发生泄露。

其中,关键资产的加/解密使用AES256-GCM算法,关键资产的访问控制分为以下几类:

  • 基于属主的访问控制: 所有的关键资产都受属主访问控制保护,业务无需设置。

    • 只允许关键资产被其属主(写入该关键资产的业务)访问。
    • 关键资产属主身份由ASSET从系统服务中获取,即使业务身份被仿冒,仿冒者也无法获取到其他业务的数据。
    • 关键资产加/解密时,其属主身份参与了完整性保护,即使关键资产属主身份被篡改,攻击者也无法获取到其他业务的数据。
  • 基于锁屏状态的访问控制: 分为以下三种保护等级(安全性依次递增),业务可根据实际情况设置任意一种,若不设置,则默认保护等级为“首次解锁后可访问”。

    • 开机后可访问:关键资产在开机后被允许访问。
    • 首次解锁后可访问:关键资产在首次解锁后被允许访问。
    • 解锁时可访问:关键资产仅在处于解锁状态时被允许访问。
  • 基于锁屏密码设置状态的访问控制: 该访问控制默认不开启,业务可根据实际情况决定是否开启。

    • 在用户设置了锁屏密码后,关键资产才被允许访问。
  • 基于用户认证的访问控制: 该访问控制默认不开启,业务可根据实际情况决定是否开启。

    • 关键资产在用户身份认证通过后被允许访问。
    • 任意一种认证方式(指纹、人脸、PIN码)通过,均可授权本次关键资产的访问。
    • 业务可通过设置认证有效期,达成一次用户认证、授权多个关键资产访问的效果。认证有效期最长可设置10分钟。

约束与限制

  • 基于别名的访问

    关键资产以密文的形式存储在ASSET数据库中,以业务身份 + 别名作为唯一索引。故业务需要保证每条关键资产的别名唯一。

  • 批量查询关键资产

    批量查询出的关键资产需要通过IPC通道传输给业务,受IPC缓冲区大小限制,建议对查询超过40条关键资产时,进行分批查询,且每次查询数量不超过40条。

  • 业务自定义数据存储 ASSET为业务预留了8个关键资产自定义属性,名称以"DATA_LABEL"开头。对于超过8个自定义属性的情况,业务可以将多段数据按照一定的格式(如JSON)拼接到同一个ASSET属性中。

    ASSET对部分属性会进行完整性保护,这部分属性名称以"DATA_LABEL_CRITICAL"开头,写入后不支持更新。

与相关Kit的关系

关键资产存储服务仅提供短敏感数据(不超过1KB)的安全存储能力,如业务希望对超长的数据提供保护时,请考虑使用通用密钥库系统加解密算法库框架保护您的数据。