赞
踩
此次OpenHarmony1.x源码分析涉及了分布式软总线(Lite版本)、设备认证(Lite版本)两个较大模块。
分布式软总线模块的主要作用是为设备间提供通信能力,由于现有的通信方式差异很大并且使用繁琐,如USB、WIFI、BT等,同时通信链路的融合共享和冲突无法处理,通信安全问题也不好保证。因此,软总线模块主要是实现类似于局域网这样的近场设备间统一的分布式通信能力管理,提供针对各种底层通信协议和不同底层内核设备发现和传输接口。当前版本实现的能力有:服务发布、数据传输、安全通信。
设备认证模块是为保证用户个人数据在多个设备间的安全传输以及设备间建立安全连接的能力。当前版本设备认证模块通过交换主控设备与配件设备的身份标识来建立点对点信任关系,身份标识是指椭圆曲线密钥对。
本次源码分析的主要内容如下:
authmanager模块是鸿蒙为设备提供认证机制的模块。模块内的主要处理过程包括报文的接收、解密、再次封装、加密、发送的步骤。
trans_service模块基于系统内核提供的socket通信,向authmanager模块提供设备认证通道管理和设备认证数据的传输;向业务模块提供session管理和基于session的数据收发功能,并且通过GCM模块的加密功能提供收发报文的加解密保护。
上述两个模块的流程图如下。
(由于图片过大,可能显示模糊,读者可点击下载观看。)
HiChain机制是OpenHarmony实现设备互联安全的一种机制,HiChain通过建立子对象的形式管理客户端和服务端的设备认证数据处理,本次博客重点分析了HiChain的数据接收管理过程。
在设备认证过程中,pake协议用于认证会话密钥协商,基于该会话密钥,双方可以安全地交换各自的身份公钥。
当建立过信任关系的主控设备与配件设备间进行通信时,双方将相互交换身份公钥,并通过检查本地是否存储对端身份信息的方式确认对端与本设备的信任关系。进一步地,基于双方的身份公私钥对,通信对端设备可以基于STS协议进行密钥协商并建立安全通信通道,支撑设备间通信数据的端到端加密传输。
设备认证模块流程图如下。
(由于图片过大,可能显示模糊,读者可点击下载观看。)
所有博客内容的目录见下文。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。