发布时间:2026/7/21 16:29:33
分布式软总线认证方式分析 一、进入认证的入口判断在DeviceAuthStateEnter中根据以下标志决定认证路径auth_session_fsm.c:L1290-L1299if (info-normalizedType NORMALIZED_SUPPORT || info-isSupportFastAuth || info-isSupportDmDeviceKey) { ret TryRecoveryKey(authFsm); // 走快速认证 } else { // 走完整HiChain PAKE认证 if (!info-isServer) { ret ProcessClientAuthState(authFsm); } }大分支有两种一种走快速认证一种走haichain完整认证二、四种认证方式详解认证方式优先级DmDeviceKey Normalized Auth Fast Auth HiChain PAKE三、各认证方式触发条件方式1️⃣DmDeviceKey设备密钥认证-优先级最高项目说明触发条件isSupportDmDeviceKey true密钥来源预共享的设备级密钥(DM Device Key)适用场景设备管理器(DM)已建立过信任关系代码位置auth_session_fsm.c:L1234-L1240if (authFsm-info.isSupportDmDeviceKey) { AUTH_LOGI(AUTH_FSM, reuse device key); return ReuseDeviceKey(authFsm); // 直接复用跳过PAKE协商 }何时设置当收到包含有效DM_DEVICE_KEY_ID的设备ID消息时设置auth_session_json.c:L918-L925方式2️⃣Normalized Auth标准化认证项目说明触发条件normalizedType NORMALIZED_SUPPORT密钥来源之前PAKE协商保存的normalizedKey适用场景双方都支持标准化链路且有可用的标准化密钥代码位置auth_session_fsm.c:L1243-L1249if (authFsm-info.normalizedType NORMALIZED_SUPPORT) { AUTH_LOGI(AUTH_FSM, normalized auth succ); return RecoveryNormalizedDeviceKey(authFsm); }何时设置- auth_session_json.c:L661-L675双方都支持BIT_SUPPORT_NORMALIZED_LINK特性能够找到对应的normalizedKey进行解密验证何时不设置对端版本过旧或不支持标准化NORMALIZED_NOT_SUPPORT密钥查找失败或解密失败NORMALIZED_KEY_ERROR方式3️⃣Fast Auth快速认证项目说明触发条件isSupportFastAuth true密钥来源之前认证保存的会话密钥设备Key适用场景设备曾在过去成功认证过可以快速恢复密钥代码位置auth_session_fsm.c:L1251-L1257if (authFsm-info.isSupportFastAuth) { AUTH_LOGI(AUTH_FSM, fast auth succ); return RecoveryFastAuthKey(authFsm); }何时设置- auth_session_json.c:L720-L757设备发送了FAST_AUTH加密标签能够找到对应的设备密钥 (GetFastAuthKey)解密验证标签内容为SOFTBUS_FAST_AUTH成功设备是潜在可信设备 (IsPotentialTrustedDevice)何时不设置对端版本过旧不发送fastAuth标签找不到设备密钥解密验证失败设备不在可信关系中方式4️⃣HiChain PAKE完整认证项目说明触发条件上述三种快速认证都不支持密钥来源PAKE协议实时协商生成适用场景首次认证、密钥过期、快速认证失败代码位置auth_session_fsm.c:L1261-L1273static int32_t ProcessClientAuthState(AuthFsm *authFsm) { return HichainStartAuth( authFsm-authSeq, authFsm-info.udid, authFsm-info.connInfo.peerUid, authFsm-info.userId ); }四、触发条件汇总表认证方式条件标志必需前提失败回退DmDeviceKeyisSupportDmDeviceKeytrueDM已预共享密钥→ HiChain PAKENormalizednormalizedTypeSUPPORT 有可用密钥双方支持标准化链路→ HiChain PAKEFast AuthisSupportFastAuthtrue曾成功认证过有缓存密钥→ HiChain PAKEHiChain PAKE上述都不满足无最终认证方式场景1: 两设备首次配对无任何历史密钥 ├── normalizedType NORMALIZED_NOT_SUPPORT不支持标准化 ├── isSupportFastAuth false没有历史密钥 ├── isSupportDmDeviceKey false没有DM密钥 └── 进入: HiChain PAKE 完整认证 场景2: 设备曾认证过恢复通信 ├── normalizedType NORMALIZED_SUPPORT支持且有密钥 ├── 进入: Normalized Auth跳过PAKE协商 场景3: DM预共享密钥场景 ├── isSupportDmDeviceKey trueDM提供了设备密钥 ├── 进入: DmDeviceKey最高优先级 场景4: 历史密钥残留场景 ├── normalizedType NORMALIZED_KEY_ERROR密钥有问题 ├── isSupportFastAuth true快速认证密钥可用 └── 进入: Fast Auth六、快速认证 vs 完整认证的本质区别对比项快速认证 (RecoveryKey)完整认证 (HiChain PAKE)是否需要PIN码❌ 不需要✅ 需要PAKE协议密钥协商从本地缓存恢复实时ECDH类密钥交换安全性依赖历史密钥安全存储基于PAKE协议更安全认证速度⚡ 快毫秒级 慢涉及网络往返适用场景曾配对过的设备首次配对/密钥过期

相关新闻

2026/7/20 14:50:29

分布式软总线认证模块架构与实现分析

一、整体架构概述 软总线认证模块是OpenHarmony分布式通信的核心安全组件,位于 foundation/communication/dsoftbus/core/authentication/ 目录下。该模块基于HiChain安全认证框架,实现了设备间的双向身份认证和会话密钥协商。 二、认证管理器 (AuthMan…

2026/7/20 14:45:29

SGLang多模态推理引擎:企业级AI应用的高性能解决方案

SGLang多模态推理引擎:企业级AI应用的高性能解决方案 【免费下载链接】sglang SGLang is a high-performance serving framework for large language models and multimodal models. 项目地址: https://gitcode.com/GitHub_Trending/sg/sglang 在当今企业AI应…

2026/7/22 4:43:39

三个月前的我留下一个烂摊子,WorkBuddy 替我读懂了它!

文章目录一次不太体面的项目交接它先给旧项目做了份尸检修复只改了该改的地方AI 能读懂代码,未必能读懂当时的我我终于完成了那次拖了几个月的交接我在电脑里翻到一个叫“灵感停尸房”的文件夹。 光看名字,我承认它挺像我会做出来的东西。再往里看&…

2026/7/22 4:43:39

【2026HVV漏洞复现】Gorse API未授权访问漏洞(CVE-2026-56782)

📌 漏洞介绍Gorse是Gorse公司开源的一款基于 AI 的开源推荐系统引擎,用 Go 语言编写,支持经典推荐算法和 LLM 排序器,并能通过嵌入向量处理多模态内容(文本、图像、视频等)。Gorse 0.5.10之前版本存在授权问…

2026/7/22 4:43:39

20260721

1、什么是GIC?GIC(Generic Interrupt Controller)是通用中断控制器,负责统一调度全部中断2、什么是协处理器?ARM Cortex A7内核配备了几个协处理器?协处理器(Coprocessor)是辅助 CPU 主核分担特定专用运算、…

2026/7/22 4:43:39

CentOS Stream8 基于 Packstack 搭建 OpenStack 云平台全流程实战

CentOS-Stream-8-packstack安装OpenStack-Victoria摘要:本文详细介绍了在 CentOS Stream 8 环境下使用 packstack 自动化部署 OpenStack Victoria 的完整流程。主要内容包括:1)前期资源与环境准备(虚拟机配置、网络拓扑规划&#…

2026/7/22 4:38:39

YOLOv5在数据挖掘中的精度优化与工业实践

1. YOLOv5在数据挖掘中的精度突破实践在计算机视觉与数据挖掘的交叉领域,目标检测技术正经历着从单纯识别到智能分析的范式转变。YOLOv5作为当前工业界最受欢迎的实时目标检测框架,其v6.1版本在COCO数据集上达到56.8% AP精度,同时保持140FPS的…

2026/7/20 6:33:00

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/22 0:02:17

抓包代理链路下的 TLS 指纹变化分析 TLSFOWARD抓包工具

抓包代理链路下的 TLS 指纹变化分析:为什么调试环境会影响访问结果 摘要 在网页调试、接口联调、自动化巡检和授权采集排查中,抓包是常见手段。但很多开发者会遇到一个现象:正常访问页面时没有问题,一进入抓包或代理调试环境&…

2026/7/22 0:02:17

微信QQ聊天记录误删恢复与备份方案全指南

1. 聊天记录误删的常见场景与恢复思路作为一名长期关注数据安全的技术博主,我处理过上百起聊天记录误删的求助案例。手机误操作、系统升级失败、设备损坏是三大常见诱因。上周就遇到用户更新微信时断电,导致近两年的工作群聊记录全部消失的极端案例。不同…

2026/7/22 0:02:17

2026最新8款个人AI编程免费工具深度实测

作为一名全栈独立开发者,我最近半年一直在折腾副业项目,每个月在AI编程工具上的订阅费算下来其实也不算便宜。作为个人开发者,我们追求的就是用最少的成本获得最高效的开发体验。TRAE 基础版免费,字节跳动出品的国内首款 AI 原生 …

2026/7/21 20:02:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…