藍牙(安全管理協議,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 協議的 “狀態倉庫”,存儲協議運行中的關鍵