OpenHarmony深度解读之分布式软总线:设备认证机制分析

一、概述

为保证设备互联安全性,即保证用户数据在多个终端设备间的安全流转,OpenHarmony提供了可靠的设备认证机制,主要分为设备间信任关系的建立和设备通信时信任关系验证两个阶段。 设备认证提供了IoT主控设备(手机、平板等)与IoT配件设备(如智能家居、智能穿戴等)间建立并验证帐号无关点对点信任关系的能力。具备这种信任关系的设备在通信连接时可搭建安全的连接通道,实现用户数据的端到端加密传输。

二、设备认证机制的实现

  • IoT主控设备的身份标识

IoT主控设备在与配件设备建立点对点信任关系时,会生成椭圆曲线公私钥对作为本设备的身份标识;IoT主控设备上可能存在多种IoT设备互联业务,设备认证组件将针对不同的IoT设备互联业务为主控设备生成不同的身份标识,形成不同业务间的隔离。

  • IoT配件设备的身份标识

IoT配件设备同样会在与主控设备建立点对点信任关系时,生成椭圆曲线公私钥对作为本设备的身份标识;其中私钥不出IoT设备,设备每次恢复出厂设置时,会重置该公私钥对。 上述的身份标识用于IoT主控设备与IoT配件设备间的安全通信,下面将描述基于身份标识的帐号无关点对点信任关系建立与验证的实现。

  • 设备间点对点信任关系的建立与验证

IoT主控设备和IoT配件建立帐号无关点对点信任关系的过程,实际上是相互交换身份标识的过程。 在信任关系建立过程中,用户需要在主控设备上输入配件设备提供的PIN码(或其他形式的共享信息)。典型的PIN码呈现形式为:对于有屏幕的设备,该PIN码动态生成;对于没有屏幕的设备,该PIN码由设备生产厂家预置并打印在设备上;PIN码的格式,可以是一个用户可读的6位数字,也可以是一个二维码。在用户完成PIN码输入后,主控设备和配件设备将调用设备认证服务基于PAKE协议完成认证会话密钥协商,并基于该会话密钥,安全的交换各自身份公钥。 当建立过信任关系的主控设备与配件设备间进行通信时,双方将相互交换身份公钥,并通过检查本地是否存储对端身份信息的方式确认对端与本设备的信任关系。进一步地,基于双方的身份公私钥对,通信对端设备可以基于STS协议进行密钥协商并建立安全通信通道,支撑设备间通信数据的端到端加密传输。 备注:本博客部分内容参考该模块的README文件。

DD一下: 欢迎大家关注公众号<程序猿百晓生>,可以了解到一下知识点。

erlang 复制代码
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......

三、设备认证协议的数据包格式分析

  1. 数据包头部格式

各个字段的意义如下: Identifier :协议标识符,占4个字节,默认值为0xBABEFACE,幻数,用来唯一标识该协议数据包头部。 Module :数据包类型。占4个字节,一共有10种类型,用来标识对端的设备处于认证阶段的状态类型。 Seq :数据包序列号。占8个字节,用于通信会话中数据包的有序管理和索引。 Flags :数据包标识。占4个字节,有FLAG_REPLY、AUTH_UNKNOWN、AUTH_INIT三种类型,用来标识通信类型。 DataLen:数据包负载部分的长度,占4个字节。

  1. 数据包负载格式

对于不同的Module类型,数据包负载有不同的格式,这里主要介绍加密的数据包类型:

各个字段的意义: Session_Key_Index :会话密钥索引。占4个字节,用于索引会话密钥,便于查找。 Data:数据的密文形式,解密之后以json格式的字符串存储。

相关推荐
lqj_本人4 小时前
HarmonyOS + Cordova 生命周期与返回键:问题定位与实战指南
华为·harmonyos
r***d8654 小时前
HarmonyOS权限申请
华为·harmonyos
ifeng09185 小时前
鸿蒙应用开发常见Crash场景解析:线程安全与异常边界处理
安全·cocoa·harmonyos
大雷神6 小时前
HarmonyOS 横竖屏切换与响应式布局实战指南
python·深度学习·harmonyos
爱笑的眼睛117 小时前
深入解析HarmonyOS应用包管理Bundle:从原理到实践
华为·harmonyos
爱笑的眼睛118 小时前
HarmonyOS网络状态深度监听与智能响应机制解析
华为·harmonyos
WHFENGHE9 小时前
输电线路分布式故障定位在线监测装置:技术解析与实际应用价值
分布式
不爱吃糖的程序媛9 小时前
Cordova 开发鸿蒙PC应用翻译应用实现技术博客
华为·harmonyos
大师兄666810 小时前
Qt-for-鸿蒙PC-Electron应用鸿蒙平台白屏问题修复实战
qt·electron·harmonyos
国服第二切图仔10 小时前
Electron 鸿蒙pc开发环境搭建完整保姆级教程(window)
javascript·electron·harmonyos