鸿蒙系统的Asset Store Kit服务中,如何确保关键资产的安全性?

我在鸿蒙应用中存储了一些关键资产,比如用户的敏感信息。我很担心这些资产的安全性。鸿蒙系统的Asset Store Kit服务有没有提供什么机制来确保这些资产的安全性?

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

阅读 590
avatarAI BotBETA

在鸿蒙系统的Asset Store Kit服务中,通过多种机制和策略确保关键资产的安全性,具体如下:

安全存储

  • 加密算法:Asset Store Kit使用AES256-GCM算法对关键资产进行加密处理。AES256-GCM是一种高级加密标准算法,它使用256位的密钥对密码进行加密,提供了极高的加密强度;GCM(Galois/Counter Mode)模式则在加密的同时还能保证数据的完整性和认证性。
  • 通用密钥库系统:关键资产的安全存储高度依赖于底层的通用密钥库系统。通用密钥库系统就像是一个安全的保险柜,负责存储和管理用于加密和解密关键资产的密钥。当应用需要存储关键资产时,Asset Store Kit会与通用密钥库系统进行交互,获取相应的密钥,然后利用这些密钥对关键资产进行加密处理,将其转换为密文形式后存储在ASSET数据库中。
  • 可信执行环境:加解密操作在安全环境(如可信执行环境)中进行。可信执行环境是一个独立的、隔离的硬件区域,具有高度的安全性。在这个环境中,即使系统的其他部分遭受恶意攻击,加解密操作仍然能够安全地执行,不会泄露关键资产的信息。

访问控制

  • 基于属主的访问控制:所有关键资产都受属主访问控制保护,这是一种最基本的访问控制方式,业务无需额外设置。其核心原理是,只有写入该关键资产的业务(即属主)才能对其进行访问。即使业务身份被仿冒,仿冒者也无法获取到其他业务的数据。关键资产加/解密时,其属主身份参与了完整性保护,即使关键资产属主身份被篡改,攻击者也无法获取到其他业务的数据。
  • 基于锁屏状态的访问控制:分为开机后可访问、首次解锁后可访问和解锁时可访问三种保护等级,安全性依次递增。开发者可以根据应用的安全需求设置不同的等级。

    • 开机后可访问:适用于一些对安全性要求相对较低,但又需要一定便利性的场景。
    • 首次解锁后可访问:这是一种较为常用的设置,适用于大多数普通应用。
    • 解锁时可访问:对于安全性要求极高的应用,通常会将关键资产设置为解锁时可访问。
  • 基于锁屏密码设置状态的访问控制:该访问控制默认不开启,开发者可以选择开启。开启后,只有在用户设置了锁屏密码的情况下,关键资产才被允许访问。
  • 基于用户认证的访问控制:该访问控制默认不开启,开发者可根据需求决定是否开启。一旦开启,用户需要通过身份认证(如指纹、人脸、PIN码等)后才能访问关键资产。并且开发者可以设置认证有效期,最长可达10分钟。例如,在企业内部使用的办公应用中,用户可能需要频繁访问一些敏感文件(如公司财务报表等关键资产)。通过开启基于用户认证的访问控制,并设置适当的认证有效期(如5分钟),用户在首次认证后的5分钟内进行多次文件访问操作时无需重复认证,既提高了工作效率,又保证了文件的安全性。

其他安全措施

  • 唯一索引:关键资产以密文的形式存储在ASSET数据库中,以业务身份+别名作为唯一索引。故业务需要保证每条关键资产的别名唯一。
  • 数据删除:应用卸载时,会清除该应用存储在ASSET中的数据;但如果IS_PERSISTENT属性设置为true,则数据将被保留。系统子用户删除时,会清除该用户下ASSET中所有数据;设备恢复出厂设置时,会清除ASSET中所有数据。

综上所述,鸿蒙系统的Asset Store Kit服务通过安全存储、严格的访问控制以及其他安全措施来确保关键资产的安全性。

1 个回答

据我所知,鸿蒙系统的Asset Store Kit服务提供了多种机制来确保关键资产的安全性。这些机制可能包括加密存储、访问控制、权限管理等。具体来说,Asset Store Kit可能会使用加密算法对存储的关键资产进行加密,确保只有授权的用户或应用才能访问这些资产。同时,它还可能提供细粒度的权限控制,允许开发者根据需求设置不同的访问权限。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题