OpenHarmony安全基础能力子系统

OpenHarmony安全基础能力子系统

简介

安全基础能力子系统包括系统安全、数据安全、应用安全等功能,为OpenHarmony提供有效保护应用和用户数据的能力。

安全基础能力子系统当前开源的功能,包括应用完整性保护、应用权限管理、设备认证、密钥管理服务、数据传输管控。

系统架构

图 1 子系统架构图

对外API:安全子系统的对外API,部分API只针对系统应用开放。

设备互信认证:为保证分布式系统的连接安全,实现用户数据在分布式场景下各个设备之间的安全流转,需要保证设备之间相互正确可信,即设备和设备之间建立过信任关系,并能够在验证信任关系后,搭建安全的连接通道,实现用户数据的安全传输。

HUKS密钥管理:为上层业务和系统应用或业务提供本地密钥全生命周期的管理。包括密钥的生成,密钥的使用,密钥的存储和密钥的销毁 。

数据传输管控:根据OpenHarmony分布式数据分级保护要求,提供设备间数据传输阶段的统一管控策略,将数据风险等级和设备安全等级进行映射,使具有分布式数据管理功能的服务在进行跨设备数据流转时,可基于该统一策略进行管控拦截。

加解密算法库框架:为了屏蔽底层硬件和加解密算法库的差异,向上提供统一的加解密相关接口,需要提供一套加解密算法库框架,屏蔽底层差异性,封装相关算法库,向上提供统一的功能接口。

证书算法库框架:为业务提供系统级的证书及CRL校验、解析、输出能力,以及证书链及CRL链的选择、输出能力。

证书管理:为终端设备上的上层业务和系统应用或业务提供包括CA根证书和业务证书的全生命周期的管理。包括证书的生成,证书的存储,证书的查询读取,和证书的删除等管理能力。

设备安全等级管理:根据OpenHarmony分布式设备分级要求,实现分布式各设备安全等级管理框架,为各服务提供查询本设备和通信对端设备的设备安全等级的查询功能。

目录

复制代码
/base/security
├── dataclassification              # 数据传输管控
├── device_auth                     # 设备互信认证
├── huks                            # HUKS密钥管理
├── asset                           # 关键资产存储
├── certificate_framework           # 证书算法库框架
├── crypto_framework                # 加解密算法库框架
├── certificate_manager             # 证书管理
├── device_security_level           # 设备安全等级

约束

  • 应用权限管理的约束说明:本期开源包括应用本地权限管理;分布式应用权限管理在本期不开源(使用打桩实现的方式支持上层分布式业务进行联调)。
  • 设备认证的约束说明:设备认证包括同帐号设备认证与帐号无关点对点设备认证;当前已开源的是帐号无关点对点认证能力,同帐号设备认证在本期不开源(使用打桩实现的方式支持上层分布式业务进行联调)。
  • 应用完整性校验说明:应用完整性校验在OpenHarmony中使用的证书,是专为OpenHarmony生成的,涉及的公钥证书和对应的私钥均预置在OpenHarmony开源代码仓中,为开源社区提供离线签名和校验能力;在商用版本中应替换此公钥证书和对应的私钥。

使用

应用权限管理

OpenHarmony中应用和系统服务均运行在独立的沙箱中,进程空间和程序数据都是相互隔离的,以保护应用数据的安全性;但是运行在独立沙箱中的服务或应用同时需要对外提供一些API以实现所需功能,其他独立沙箱中的应用在跨进程访问这些API时,需要系统提供一种权限管理机制对这些API的访问者进行授权。

应用权限管理提供了权限定义机制,允许系统服务和应用为自己的敏感API定义新的权限,其他应用必须申请此权限才能访问此敏感API;

应用权限管理提供了权限申请机制,允许应用申请权限,这些权限由系统或者其他应用定义,权限申请通过后就能访问这个权限相关的系统或其他应用提供的敏感API;

应用权限管理也为用户提供了一些必需的功能,方便用户查看和管理权限授予情况。

应用完整性校验

OpenHarmony允许应用安装。为了确保应用的完整性和来源可靠,需要对安装的应用进行签名和验签,同时支持运行时校验。

应用开发阶段:开发者完成开发并生成安装包后,需要开发者对安装包进行签名,以证明安装包发布到设备的过程中没有被篡改。OpenHarmony的应用完整性校验模块提供了签名工具、签名证书生成规范,以及签名所需的公钥证书等完整的机制,支撑开发者对应用安装包签名。为了方便开源社区开发者,版本中预置了公钥证书和对应的私钥,为开源社区提供离线签名和校验能力;在商用版本中应替换此公钥证书和对应的私钥。

应用安装阶段:OpenHarmony程序框架子系统负责应用的安装。在接收到应用安装包之后,应用程序框架子系统需要解析安装包的签名数据,然后使用应用完整性校验模块的API对签名进行验证,只有校验成功之后才允许安装此应用。应用完整性校验模块在校验安装包签名数据时,会使用系统预置的公钥证书进行验签。

应用完整性校验模块也提供了运行时完整性校验能力,包含内核态的代码签名校验能力和代码内容完整性度量能力。应用开发阶段开发者可选地对应用的代码进行签名,OpenHarmony程序框架子系统负责在安装时使用应用完整性校验的API对携带代码签名的应用使能代码签名;使能代码签名成功的应用,代码签名机制会在运行时校验其来源、代码所有者和代码完整性,提供运行时应用程序的完整性保护,校验应用来源的合法性。

设备互信认证与HUKS

设备认证的目标是实现归一化的设备认证方案,实现覆盖1+8+N设备的设备绑定/认证方案。通常来讲,设备认证在认证阶段用于支撑软总线,不直接对上层应用提供服务。设备认证的使用主要包括如下内容:

  1. 统一可信关系建立:支持账号无关设备群组关系的建立并统一维护。业务启动/通过扫码绑定等方式与其他设备建立互信关系后,请求在本地创建帐号无关设备互信群组;业务可以通过API对可信设备群组进行查询

  2. 统一设备认证:基于已建立的可信设备群组,提供统一的设备群组认证方案,支撑软总线的统一设备发现、连接认证、端到端加密的会话秘钥协商;

  3. 设备认证用到的相关凭证和密钥协商协议所需的算法,依赖HUKS提供支撑;

数据传输管控

在OpenHarmony中,数据传输管控模块负责为分布式服务提供数据跨设备传输时的管控策略。数据传输管控模块提供了数据传输管控相关的接口定义。

  • 数据传输管控接口:为分布式服务提供数据跨设备传输时的管控策略,获取允许发送到对端设备的数据的最高风险等级。

安全问题响应工作组工作制度及运作方式

security

相关仓

安全基础能力子系统

security_dataclassification

security_huks

security_device_auth

security_device_security_level

security_certificate_manager

security_crypto_framework

security_certificate_framework

security_asset

相关推荐
晚霞的不甘27 分钟前
Flutter 与开源鸿蒙(OpenHarmony)测试体系构建:从单元测试到真机自动化的一站式质量保障方案
flutter·开源·harmonyos
克喵的水银蛇31 分钟前
Flutter 入门实战:从零搭建跨平台 HelloWorld 应用(适配鸿蒙 / 安卓 /iOS)
android·flutter·harmonyos
柒儿吖36 分钟前
Electron for 鸿蒙PC - 番茄工作法计时器应用完整适配实践
javascript·electron·harmonyos
汉堡黄•᷄ࡇ•᷅1 小时前
鸿蒙开发:案例集合List:模拟附近人列表插入
harmonyos·鸿蒙·鸿蒙系统
国服第二切图仔1 小时前
Electron for 鸿蒙PC项目实战案例之记忆卡片游戏
游戏·electron·harmonyos·鸿蒙pc
不羁的木木1 小时前
【开源鸿蒙跨平台开发学习笔记】Day07:React Native 开发 HarmonyOS-GitCode口袋工具开发-3
学习·开源·harmonyos
晚霞的不甘2 小时前
Flutter 与开源鸿蒙(OpenHarmony)国际化、无障碍与合规开发实践:打造全球可用的可信应用
flutter·开源·harmonyos
后端小张3 小时前
【鸿蒙2025领航者闯关】鸿蒙车载互联实战:用分布式技术重构出行体验
分布式·安全·harmonyos·鸿蒙·鸿蒙系统·鸿蒙2025领航者闯关·鸿蒙6实战
遇到困难睡大觉哈哈11 小时前
Harmony os——ArkTS 语言笔记(六):模块、导入导出与 `this` 关键字
笔记·harmonyos·鸿蒙
Brianna Home11 小时前
[鸿蒙2025领航者闯关] 鸿蒙 6.0 星盾安全架构 + AI 防窥:金融级支付安全实战与深度踩坑实录
人工智能·安全·harmonyos·安全架构