0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OpenHarmony技术:【设备互信认证】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-25 17:04 次阅读

简介

OpenHarmony中,设备互信认证模块作为安全子系统的子模块,负责设备间可信关系的建立、维护、使用、撤销等全生命周期的管理,实现可信设备间的互信认证和安全会话密钥协商,是搭载OpenHarmony的设备进行可信互联的基础平台能力。

设备互信认证模块当前提供如下功能:

  • 设备互信关系管理功能:统一管理设备互信关系的建立、维护、撤销过程;支持各个业务创建的设备互信关系的隔离和可控共享。
  • 设备互信关系认证功能:提供认证设备间互信关系、进行安全会话密钥协商的能力,支持分布式软总线实现互信设备间的组网。

为实现上述功能,设备互信认证模块当前包含设备群组管理、设备群组认证和帐号无关点对点认证三个子模块,其部署逻辑如下图:

图 1 子系统架构图

其中,

  • 设备群组管理服务:统一管理不同业务建立的本设备与其他设备间的互信关系,并对外提供设备互信关系的创建入口 ,完成信任建立后创建帐号无关设备群组,并将信任对象设备添加进群组;OpenHarmony上各业务可独立创建相互隔离的设备间可信关系。
  • 设备群组认证服务:支持已建立可信关系的设备间完成互信关系的认证及会话密钥的协商。
  • 帐号无关点对点设备互信认证:提供设备间基于共享秘密建立一对一互信关系的功能,并支持基于这种互信关系的认证密钥协商。
  • 认证协议库:统一封装不同类型的认证协议,支持多种轻量级以及标准认证协议实现。

共享秘密的使用要求和约束:

业务在设备间建立账号无关点对点信任关系时,需要使用带外共享的秘密信息,该秘密信息在共享方式、长度、复杂度以及时效性上均需符合安全要求。系统会对共享秘密的长度做约束,如不满足,则无法进行账号无关点对点信任关系的建立,规则如下:

协议共享秘密(PIN码)长度
EC-SPEKE>=6bit
DL-SPEKE>=6bit
ISO>=128bit

目录

/base/security/device_auth
├── default_config               # 编译配置文件
├── frameworks                   # 设备互信认证IPC代码
├── interfaces                   # 对外接口目录
├── test                         # 设备互信认证的接口测试用例
├── common_lib                   # C语言公共基础库
├── deps_adapter                 # 依赖组件适配器代码
│   ├── key_management_adapter   # 密钥及算法适配层
│   └── os_adapter               # 系统能力适配层
└── services                     # 设备互信认证服务层代码
    ├── frameworks               # 设备互信认证框架层代码
    ├── data_manager             # 设备互信群组信息管理模块
    ├── identity_manager         # 认证凭据管理模块
    ├── legacy
    │   ├── authenticators       # 认证执行模块
    │   ├── group_auth           # 设备群组认证服务
    │   ├── group_manager        # 设备群组管理服务
    ├── creds_manager            # 凭据管理模块
    ├── mk_agree                 # 设备级主密钥协商
    ├── cred_manager             # 账号凭据插件管理模块
    ├── key_agree_sdk            # 密钥协商sdk
    ├── privacy_enhancement      # 隐私增强模块
    ├── session_manager          # 会话管理模块
    └── protocol                 # 认证协议库

说明

接口说明

设备互信认证组件中,设备群组管理服务负责将不同业务建立的设备间可信关系抽象成一个个可信群组,对外提供统一的接口,包含群组创建、删除、查询等功能;设备群组认证服务基于已经建立过可信关系的设备群组,提供设备可信认证与端到端会话密钥协商功能;同时提供群组无关,基于认证凭据的设备互信认证能力。

表 1 设备群组管理服务提供的API接口(DeviceGroupManager)功能介绍

[]()

[]()[]()接口名[]()[]()描述
[]()[]()const DeviceGroupManager *GetGmInstance()[]()[]()获取设备群组管理的实例。
[]()[]()int32_t RegCallback(const char *appId, const DeviceAuthCallback *callback)[]()[]()注册业务的监听回调。
[]()[]()int32_t CreateGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *createParams)[]()[]()创建一个可信设备群组。
[]()[]()int32_t DeleteGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *disbandParams)[]()[]()删除一个可信设备群组。
[]()[]()int32_t AddMemberToGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *addParams)[]()[]()添加成员到指定群组ID的可信设备群组。
[]()[]()int32_t DeleteMemberFromGroup(int32_t osAccountId, int64_t requestId, const char *appId, const char *deleteParams);[]()[]()从指定可信设备群组里删除可信成员。
[]()[]()int32_t ProcessData(int64_t requestId, const uint8_t *data, uint32_t dataLen)[]()[]()处理绑定或者解绑的数据。
[]()[]()int32_t GetGroupInfo(int32_t osAccountId, const char *appId, const char *queryParams, char **returnGroupVec, uint32_t *groupNum)[]()[]()查询可信设备群组信息。

表 2 设备群组认证模块提供的API接口(GroupAuthManager)功能介绍

[]()

[]()[]()接口名[]()[]()描述
[]()[]()const GroupAuthManager *GetGaInstance()[]()[]()获取设备群组认证的实例。
[]()[]()int32_t AuthDevice(int32_t osAccountId, int64_t authReqId, const char *authParams, const DeviceAuthCallback *gaCallback)[]()[]()认证可信设备。
[]()[]()int32_t ProcessData(int64_t authReqId, const uint8_t *data, uint32_t dataLen, const DeviceAuthCallback *gaCallback)[]()[]()处理认证的数据。

表 3 基于认证凭据的设备互信认证能力相关API接口功能介绍

[]()

[]()[]()接口名[]()[]()描述
[]()[]()int32_t StartAuthDevice(int64_t requestId, const char* authParams, const DeviceAuthCallback* callbak)[]()[]()指定认证凭据,触发设备互信认证。
[]()[]()int32_t ProcessAuthDevice(int64_t requestId, const char* authParams, const DeviceAuthCallback* callbak)[]()[]()响应认证请求,处理认证数据。
[]()[]()int32_t CancelAuthRequest(int64_t requestId, const char* authParams)[]()[]()取消认证请求。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1382

    浏览量

    60992
  • 鸿蒙
    +关注

    关注

    55

    文章

    1629

    浏览量

    42120
  • OpenHarmony
    +关注

    关注

    23

    文章

    3297

    浏览量

    15159
收藏 人收藏

    评论

    相关推荐

    HarmonyOS Connecti鸿蒙智联设备认证|介绍

    一,合规性检查符合国家法律、行业合规、产品基础质量遵从性要求。二,产品技术测试符合鸿蒙智联生态技术特征要求。1,硬件规格2,极简连接测试3,万能卡片测试4,极简交互测试5,授权校验测试6,硬件互助
    的头像 发表于 04-11 16:50 120次阅读
    HarmonyOS Connecti<b class='flag-5'>鸿蒙</b>智联<b class='flag-5'>设备</b><b class='flag-5'>认证</b>|介绍

    首个鸿蒙生态创新中心在深揭幕,开启鸿蒙产业新篇章共绘鸿蒙原生应用开发新篇章

    生态发展关键的一年,鸿蒙生态已跨进新里程,数千家应用及服务已接入鸿蒙生态。截止目前,鸿蒙生态设备已增长至8亿+台,累计近270家生态伙伴参与Open
    发表于 03-20 09:55

    深圳市24年,实现鸿蒙原生应用数占全国总量10%以上

    、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点 高清完整版与笔记请加→mau123789是卫呀 针对鸿蒙成长路线打造的
    发表于 03-04 21:42

    鸿蒙实战项目开发:【短信服务】

    ://gitee.com/openharmony/applications_app_samples.git git pull origin master ​ 最后呢,很多开发朋友不知道需要学习那些鸿蒙技术
    发表于 03-03 21:29

    鸿蒙这么大声势,为何迟迟看不见岗位?最新数据来了

    联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了ArkTS语言、ArkUI声明式UI开发、Stage模型入门、OpenHarmony多媒体技术
    发表于 02-29 20:53

    鸿蒙不再兼容安卓,那么鸿蒙开发者是否会大增?

    华为的纯血版鸿蒙已出现。紧接着各大厂商都纷纷加入原生应用开发当中,其中包括支付宝、京东、美团等一线大厂,200 多应用厂商正在加速开发鸿蒙原生应用。鸿蒙生态设备数量仅历时 5 个月即从
    发表于 01-31 22:17

    鸿蒙OS4.0兼容性测试

    背景 OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求,确保运行在OpenHar
    发表于 01-17 20:38

    鸿蒙开发OpenHarmony组件复用案例

    ) } }, item => item) } } } 本文主要是对鸿蒙开发基础当中的OpenHarmony技术组件复用示例, 更多鸿蒙开发
    发表于 01-15 17:37

    沈逸:中德数字互信是全球数字互信面临挑战与机遇的缩影

    2023年5月,《大国数字互信系列-中德“数字互信”挑战和对策》由乌镇数字文明研究院、中国国家创新与发展战略研究会数字治理研究中心、浙江大学国际传播研究中心等机构联合发布,报告深度揭示了中德数字互信
    的头像 发表于 10-17 10:49 353次阅读

    科通技术推出首款基于OpenHarmony开发的智能BMS电池管理系统

    据硬蛋创新(原“科通芯城”)介绍,集团旗下服务于芯片产业的技术服务公司科通技术推出首款基于 OpenHarmony 开源鸿蒙开发的智能BMS电池管理系统,进一步加强集团业务与
    的头像 发表于 10-10 14:36 571次阅读

    鸿蒙操作系统的前世今生

    能力整合,可以实现不同终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。 对应用开发者而言, 鸿蒙操作系统采用了多种分布式技术,使应用程序的开发实现与不
    发表于 10-08 19:55

    OpenHarmony 4.0 Beta2新版本发布,邀您体验

    。 • 【文件管理】用户在终端设备上进行跨设备文件分享时,支持选择沙箱内的文件进行分享。 • 【设备互信认证】支持在以下两种场景的
    发表于 08-25 09:49

    OpenHarmony 分布式硬件关键技术

    ,华为OpenHarmony技术专家,OpenHarmony分布式硬件技术负责人。主要负责OpenHarmony分布式硬件架构设计以及华为多
    发表于 08-24 17:25

    基于分级安全的OpenHarmony架构设计

    不同等级的安全环境认证,安全等级也不同,OpenHarmony制定了一套严格的多因子分级认证信任等级评估规范,来决策对主体的身份认证等级。 1.2►►正确的
    发表于 08-04 10:39

    专访深开鸿CEO王成录:做成鸿蒙生态 需要一家万亿市值的公司

    。”在2023开放原子全球开源峰会高峰论坛上,此前曾主导华为鸿蒙系统开发的负责人、现深开鸿CEO王成录发表演讲称,统一开放的安全数字底座,是实现数据资源高效使用、开放共享的技术核心
    发表于 06-15 14:46