HUKS简介
HUKS(Harmony Universal KeyStore,鸿蒙通用密钥库系统)向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。
HUKS是通用密钥管理服务,向应用提供KeyStore及Crypto接口API,包括密钥管理及加解密等功能。
HUKS分层
- HUKS SDK层
HUKS SDK层能提供HUKS API供应用调用。 - HUKS Service层
HUKS Service层能实现HUKS密钥管理、存储等功能。 - HUKS Engine层
HUKS Engine层是HUKS核心模块,负责密钥生成以及加解密等工作。对于L2设备,该部分模块在商用场景下必须在安全环境下运行,包括TEE或者具备安全能力的芯片等。由于安全环境需要特定硬件支持,因此在开源代码中为模拟实现。
HUKS框架
base/security
├── huks
│ ├── frameworks
│ │ └── huks_lite HUKS代码实现
│ └── interfaces
│ └── innerkits
│ └── huks_lite HUKS提供接口
相关仓
-
1.安全子系统
-
简介
安全子系统包括系统安全、数据安全、应用安全等功能,为OpenHarmony提供有效保护应用和用户数据的能力。
安全子系统当前开源的功能,包括应用完整性保护、应用权限管理、设备认证、密钥管理服务、数据分级保护。 -
子系统框架
/base/security ├── appverify # 应用完整性校验 ├── dataclassification # 数据分级保护 ├── device_auth # 设备认证 ├── huks # HUKS密钥管理 └── permission # 权限管理
-
子系统架构
对外API:安全子系统的对外API,部分API只针对系统应用开放;
应用权限管理:为程序框架子系统提供权限管理功能,并且为上层应用提供权限申请和授权状态查询接口;
应用完整性校验:提供对应用完整性校验的能力,为应用签名、应用安装校验提供能力支撑;
设备认证:为分布式设备互联提供密钥协商和可信设备管理能力;
HUKS密钥管理:为系统提供密钥管理服务,用于支撑基础的设备认证。
数据分级保护:提供数据分级相关的接口定义。
-
-
2.security_huks
-
基本框架:
base/security/huks/ ├── build # 编译配置文件 ├── frameworks # 框架代码, 作为基础功能目录, 被interfaces和services使用. │ └── huks_standard # huks标准模块, 即表示L2的HUKS模块 │ └── huks_lite # huks L0和L1代码实现 │ └── crypto_lite # 加解密实现 ├── interfaces # 接口API代码 │ └── innerkits │ └── huks_standard │ └── huks_lite # huks提供接口 └── services └── huks_standard
-
-
3.security_deviceauth
- 简介
在OpenHarmony中,设备认证模块作为安全子系统的子模块,负责设备间可信关系的建立、维护、使用、撤销等全生命周期的管理,实现可信设备间的互信认证和安全会话密钥协商,是搭载OpenHarmony的设备进行可信互联的基础平台能力。 - 基本框架:
/base/security/deviceauth ├── frameworks # 设备认证框架层代码 ├── hals # 平台相关工具库抽象层 │ ├── inc # 工具库头文件 │ └── src # 工具库源文件 ├── interfaces # 对外接口目录 └── services # 设备认证服务层代码 ├── common # 公共代码库 ├── group_auth # 设备群组认证模块 ├── group_manager # 设备群组管理模块 ├── module # 认证器模块(包括帐号无关点对点设备认证器) └── session # 调度及会话管理模块
- 系统架构图
- 简介