网络知识 娱乐 OpenHarmony分布式软总线与设备认证模块总结

OpenHarmony分布式软总线与设备认证模块总结

1 总结

此次OpenHarmony1.x源码分析涉及了分布式软总线(Lite版本)、设备认证(Lite版本)两个较大模块。
分布式软总线模块的主要作用是为设备间提供通信能力,由于现有的通信方式差异很大并且使用繁琐,如USB、WIFI、BT等,同时通信链路的融合共享和冲突无法处理,通信安全问题也不好保证。因此,软总线模块主要是实现类似于局域网这样的近场设备间统一的分布式通信能力管理,提供针对各种底层通信协议和不同底层内核设备发现和传输接口。当前版本实现的能力有:服务发布、数据传输、安全通信。
设备认证模块是为保证用户个人数据在多个设备间的安全传输以及设备间建立安全连接的能力。当前版本设备认证模块通过交换主控设备与配件设备的身份标识来建立点对点信任关系,身份标识是指椭圆曲线密钥对。
本次源码分析的主要内容如下:

分布式软总线

  • authmanager模块

authmanager模块是鸿蒙为设备提供认证机制的模块。模块内的主要处理过程包括报文的接收、解密、再次封装、加密、发送的步骤。

  • trans_service模块

trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。

上述两个模块的流程图如下。
在这里插入图片描述
(由于图片过大,可能显示模糊,读者可点击下载观看。)

设备认证

  • HiChain机制数据接收管理

HiChain机制是OpenHarmony实现设备互联安全的一种机制,HiChain通过建立子对象的形式管理客户端和服务端的设备认证数据处理,本次博客重点分析了HiChain的数据接收管理过程。

  • PAKE协议通信流程

在设备认证过程中,pake协议用于认证会话密钥协商,基于该会话密钥,双方可以安全地交换各自的身份公钥。

  • STS协议通信流程

当建立过信任关系的主控设备与配件设备间进行通信时,双方将相互交换身份公钥,并通过检查本地是否存储对端身份信息的方式确认对端与本设备的信任关系。进一步地,基于双方的身份公私钥对,通信对端设备可以基于STS协议进行密钥协商并建立安全通信通道,支撑设备间通信数据的端到端加密传输。

设备认证模块流程图如下。
在这里插入图片描述
(由于图片过大,可能显示模糊,读者可点击下载观看。)

所有博客内容的目录见下文。

2 目录

2.1 软总线

trans_service模块

  1. OpenHarmony源码分析之分布式软总线:trans_service模块(1)/认证通道管理
  2. OpenHarmony源码分析之分布式软总线:trans_service模块(2)/会话管理之新会话
  3. OpenHarmony源码分析之分布式软总线:trans_service模块(3)/线程同步锁管理
  4. OpenHarmony源码分析之分布式软总线:trans_service模块(4)/TCP会话管理
  5. OpenHarmony源码分析之分布式软总线:trans_service模块(5)/TCP会话管理
  6. OpenHarmony源码分析之分布式软总线:trans_service模块(6)/TCP会话管理
  7. OpenHarmony源码分析之分布式软总线:trans_service/message.c文件分析
  8. OpenHarmony源码分析之分布式软总线:os_adapter模块解析

authmanager模块

  1. OpenHarmony源码分析之分布式软总线:authmanager模块(1)/设备认证连接管理
  2. OpenHarmony源码分析之分布式软总线:authmanager模块(2)/设备认证通信管理
  3. OpenHarmony深度解读之分布式软总线:authmanager模块(3)/设备身份认证过程
  4. OpenHarmony深度解读之分布式软总线:authmanager模块(4)/设备身份认证过程
  5. OpenHarmony深度解读之分布式软总线:authmanager模块(5)/设备身份认证过程
  6. OpenHarmony深度解读之分布式软总线:authmanager模块(6)/设备身份认证过程
  7. OpenHarmony源码分析之分布式软总线:mbed TLS库的应用
  8. OpenHarmony深度解读之分布式软总线:设备认证机制浅析

2.2 设备认证

数据接收管理

  1. OpenHarmony解读之设备认证:数据接收管理-获取HiChain实例(1)
  2. OpenHarmony解读之设备认证:数据接收管理-获取HiChain实例(2)
  3. OpenHarmony解读之设备认证:数据接收管理-获取HiChain实例(3)
  4. OpenHarmony解读之设备认证:数据接收管理-获取HiChain实例(4)
  5. OpenHarmony解读之设备认证:数据接收管理-消息解析
  6. OpenHarmony解读之设备认证:数据接收管理-消息处理(1)
  7. OpenHarmony解读之设备认证:数据接收管理-消息处理(2)
  8. OpenHarmony解读之设备认证:数据接收管理-通知对端

PAKE协议流程

  1. OpenHarmony解读之设备认证:pake协议-客户端发起start请求
  2. OpenHarmony解读之设备认证:pake协议-服务端响应pake start请求(1)
  3. OpenHarmony解读之设备认证:pake协议-服务端响应pake start请求(2)
  4. OpenHarmony解读之设备认证:pake协议-客户端发起end请求
  5. OpenHarmony解读之设备认证:pake协议-服务端响应pake end请求
  6. OpenHarmony解读之设备认证:pake协议-客户端接收end响应

STS协议流程

  1. OpenHarmony解读之设备认证:sts协议-客户端发起start请求
  2. OpenHarmony解读之设备认证:sts协议-服务端响应sts start请求
  3. OpenHarmony解读之设备认证:sts协议-客户端发起sts end请求
  4. OpenHarmony解读之设备认证:sts协议-服务端响应sts end请求
  5. OpenHarmony解读之设备认证:sts协议-客户端接收end响应

其他

  1. OpenHarmony深度解读之设备认证:parsedata.c文件分析
  2. OpenHarmony深度解读之设备认证:key_agreement_version.c文件分析
  3. OpenHarmony深度解读之设备认证:pake_request.c文件分析
  4. OpenHarmony深度解读之设备认证:build_object.c文件分析
  5. OpenHarmony深度解读之设备认证:remove_auth_info_client.c文件分析
  6. OpenHarmony深度解读之设备认证:remove_auth_info.c文件分析
  7. OpenHarmony深度解读之设备认证:add_auth_info_client.c文件分析
  8. OpenHarmony深度解读设备认证:key_agreement.c文件分析
  9. OpenHarmony深度解读设备认证:key_agreement_server.c文件分析
  10. OpenHarmony深度解读之设备认证:pake_server.c文件分析(1)
  11. OpenHarmony深度解读之设备认证:add_auth_info.c文件分析
  12. OpenHarmony深度解读之设备认证:add_auth_info.c文件分析
  13. OpenHarmony深度解读之设备认证:pake_server.c文件分析(2)
  14. OpenHarmony深度解读之设备认证:exchange_auth_info_client.c文件
  15. OpenHarmony深度解读之设备认证:exchange_auth_info.c文件分析
  16. OpenHarmony深度解读之设备认证:HiChain机制部分源码解析1(推荐模块之外)

2.3 OpenHarmony其他模块分析

  1. OpenHarmony轻量系统服务管理|分布式调度模块分析总结与目录解析
  2. OpenHarmony模块博客总结(Huks密钥管理与设备认证)
  3. HarmonyOS公共基础库utils子模块总结以及单片机安装实操
  4. OpenHarmony博客总结(软总线与Huks密钥管理)