HW Security Init
头文件清单 include/driver/security_unified/security_init.h
- include/driver/security_unified/mbedtls_harden_adapt.h
接口清单
接口名称 功能简述 uapi_drv_cipher_env_init 安全驱动模块初始化 uapi_drv_cipher_env_deinit 安全驱动模块去初始化 uapi_drv_cipher_env_resume 安全驱动模块深睡唤醒恢复初始化 uapi_drv_cipher_env_suspend 安全驱动模块深睡前去初始化 uapi_drv_cipher_wait_func_disable_all 安全驱动模块关闭中断模式 uapi_drv_cipher_wait_func_enable_all 安全驱动模块打开中断模式 mbedtls_adapt_register_func 注册mbedtls硬件加速适配函数
Functions
uapi_drv_cipher_env_init
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块初始化接口,由系统初始化流程调用
- 初始化安全驱动模块内部状态,为后续安全业务(加密、解密、哈希等)提供运行环境
- 不需要用户主动调用,由系统启动流程自动调用
前置条件
- 系统启动流程已进入外设驱动初始化阶段
- 安全驱动模块硬件时钟已使能
返回值
- 返回类型:void
参考案例
src/application/ws63/ws63_liteos_application/main.c#uapi_drv_cipher_env_init
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y
uapi_drv_cipher_env_deinit
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块去初始化接口,由系统去初始化流程调用
- 释放安全驱动模块内部资源,关闭安全驱动运行环境
- 不需要用户主动调用
前置条件
- 安全驱动模块已通过
uapi_drv_cipher_env_init()初始化完成 - 当前无进行中的安全业务操作
返回值
- 返回类型:void
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y
uapi_drv_cipher_env_resume
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块深睡唤醒恢复初始化接口,由系统深睡唤醒流程调用
- 系统深睡唤醒后恢复安全驱动模块的运行环境,重新初始化安全硬件资源
- 不需要用户主动调用,由系统深睡唤醒流程自动调用
前置条件
- 系统已从深睡状态唤醒
- 安全驱动模块已通过
uapi_drv_cipher_env_suspend()完成深睡前去初始化
返回值
- 返回类型:void
参考案例
src/drivers/chips/ws63/porting/pm/pm_porting.c#uapi_drv_cipher_env_resume
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y CONFIG_SECURITY_UNIFIED_SUPPORT_DEEP_SLEEP 特性宏 支持安全驱动深睡特性 n
uapi_drv_cipher_env_suspend
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块深睡前去初始化接口,由系统深睡流程调用
- 系统进入深睡前去初始化安全驱动模块,释放安全硬件资源以降低功耗
- 不需要用户主动调用,由系统深睡流程自动调用
前置条件
- 安全驱动模块已通过
uapi_drv_cipher_env_init()初始化完成 - 当前无进行中的安全业务操作
返回值
- 返回类型:void
参考案例
src/drivers/chips/ws63/porting/pm/pm_porting.c#uapi_drv_cipher_env_suspend
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y CONFIG_SECURITY_UNIFIED_SUPPORT_DEEP_SLEEP 特性宏 支持安全驱动深睡特性 n
uapi_drv_cipher_wait_func_disable_all
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块关闭中断模式,在NMI(不可屏蔽中断)中需关闭安全驱动的中断
- 关闭后安全驱动采用轮询模式等待操作完成
- 不需要用户主动调用,仅在NMI上下文中需调用
前置条件
- 安全驱动模块已通过
uapi_drv_cipher_env_init()初始化完成
返回值
- 返回类型:void
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y
uapi_drv_cipher_wait_func_enable_all
头文件清单 include/driver/security_unified/security_init.h
功能说明
- 安全驱动模块打开中断模式,中断模式默认为打开状态
- 打开后安全驱动采用中断模式等待操作完成,提升CPU利用率
- 不需要用户主动调用,仅在NMI处理完毕后恢复中断模式时使用
前置条件
- 安全驱动模块已通过
uapi_drv_cipher_env_init()初始化完成
返回值
- 返回类型:void
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y
mbedtls_adapt_register_func
头文件清单 include/driver/security_unified/mbedtls_harden_adapt.h
功能说明
- 注册mbedtls硬件加速适配函数,将安全驱动模块的硬件加速函数注册到mbedtls框架
- 若开启第三方对接宏
MBEDTLS_HARDEN_OPEN,该接口由对接适配层调用 - 注册完成后,mbedtls的哈希、对称加解密、PKE等算法可使用硬件加速实现
前置条件
- 安全驱动模块已通过
uapi_drv_cipher_env_init()初始化完成 - 已开启
MBEDTLS_HARDEN_OPEN宏
返回值
- 返回类型:int32_t
返回值 文字含义 触发场景 0 注册成功 适配函数注册成功
参考案例
src/application/ws63/ws63_liteos_application/main.c#mbedtls_adapt_register_func
Kconfig配置
配置项 宏类型 说明 默认值 CONFIG_DRIVER_SUPPORT_SECURITY_UNIFIED 功能宏 支持安全驱动接口功能 y CONFIG_PKE_SUPPORT_BIG_NUMBER 特性宏 支持PKE大数运算特性 y CONFIG_PKE_SUPPORT_ECC_GEN_KEY 特性宏 支持ECC密钥生成特性 y CONFIG_PKE_SUPPORT_ECC_SIGN 特性宏 支持ECC签名特性 y CONFIG_PKE_SUPPORT_ECC_VERIFY 特性宏 支持ECC验签特性 y CONFIG_PKE_SUPPORT_EDWARD 特性宏 支持Edward曲线特性 y CONFIG_PKE_SUPPORT_ECC_ECDH 特性宏 支持ECDH密钥协商特性 y CONFIG_PKE_SUPPORT_ECC_CAL 特性宏 支持ECC大数计算特性 y CONFIG_PKE_SUPPORT_RSA 特性宏 支持RSA算法特性 y