蓝牙(安全管理协议,Security Management Protocol)是蓝牙设备安全通信的核心协议,负责配对、密钥协商和安全等级管理。本文围绕 Bluedroid SMP 协议的初始化流程展开,系统解析其核心控制块(tSMP_CB
)的状态管理、与 L2CAP 层的接口注册,以及 P-256 椭圆曲线参数的初始化逻辑。通过分析SMP_Init
函数的调用链,揭示tsmp_CB
如何重置状态、初始化定时器与测试参数,smp_l2cap_if_init
如何建立与 L2CAP 的通信接口,以及p_256_init_curve
如何为安全连接(SC)提供密码学基础。这些步骤共同确保 SMP 协议栈的可靠启动与安全通信能力。
一、概述
蓝牙设备的安全通信依赖 SMP实现配对、密钥交换和安全策略协商。SMP 的初始化是协议栈启动的关键环节,涉及状态管理、资源初始化、底层接口绑定及密码学参数配置。本文聚焦以下核心内容:
1.1 核心控制块:tSMP_CB
的状态管理
tSMP_CB
是 SMP 协议的 “状态仓库”,存储协议运行中的关键