藍牙Core Specification v4.0中引入的配對機制(稱為LE Legacy Pairing))在安全性方面與BR/EDR安全特性(如 Secure Simple Pairing)有所不同。從使用者的角度來看,association models(關聯模型)類似于BR/EDR Secure Simple Pairing,具有相同的名稱,但提供的保護品質有所不同。
1、Association Models(關聯模型)
藍牙LE使用了4種 association models,稱為Just Works、Numeric Comparison(數值比較)、Out of Band 和 Passkey Entry。LE legacy pairing 沒有對應的Numeric Comparison(數值比較)。
在 LE legacy pairing 中,每個 association models 都類似于BR/EDR Secure Simple Pairing,但有以下例外:Just Works 和Passkey Entry 不提供任何被動竊聽保護。這是因為 Secure Simple Pairing 使用的是橢圓曲線Diffie-Hellman,而 LE legacy pairing 則不是。
在LE Secure Connections pairing 中,這四個 association models 在功能上等價于 BR/EDR Secure Connections。
每個 association model 的使用都基于裝置的 I/O 功能。
2、Key Generation(密鑰生成)
Bluetooth LE 中的密鑰生成是由每個LE裝置上的 Host(主機)獨立于任何其他LE裝置執行的。通過在 Host(主機)上進行密鑰生成,可以在不改變 Controller(控制器)的情況下對密鑰生成算法進行更新。注:BR/EDR 中的密鑰生成在 Controller(控制器)中執行。
藍牙LE使用多個密鑰,每個密鑰有特定的用途,如下:
資料和裝置身份驗證的機密性
未加密資料的身份驗證
Device Identity(裝置辨別)
在LE中,用于提供機密性和身份驗證的密鑰是通過在 pairing(配對)過程中組合來自每個裝置的貢獻來生成的。
3、加密
Bluetooth LE 加密采用 AES-CCM 加密。和BR/EDR一樣,LE 加密也是在Controller(控制器)中執行的。
4、Signed Data(已簽名的資料)
Bluetooth LE 支援在兩個具有可信關系的裝置之間通過未加密的 ATT bearer(ATT承載器)發送經過身份驗證的資料。這是通過使用 Connection Signature Resolving Key(連接配接簽名解析密鑰(CSRK))對資料進行簽名來完成的。sending device 在 Data PDU 之後放置一個 signature(簽名)。receiving device 驗證簽名,如果簽名被驗證,則假定資料PDU來自可信源。簽名由簽名算法生成的 Message Authentication Code(消息身份驗證代碼)和 counter(計數器)組成。 counter(計數器)用于防止replay attack(重播攻擊),并在發送的每個 signed Data PDU(簽名資料PDU)上遞增。
5、Privacy Feature(隐私保護功能)
Bluetooth LE 支援一個特性,該特性通過頻繁更改藍牙裝置位址來降低在一段時間内跟蹤LE裝置的能力。
為了讓使用 privacy feature(隐私特性)的裝置重新連接配接到已知裝置,裝置位址(稱為私有位址)必須由其他裝置進行解析。私有位址是使用裝置在 bonding procedure 中交換的 resolving identity key (IRK) (解析身份密鑰(IRK))生成的。
privacy feature 有兩種變體。在第一種變體中,私有位址由 Host(主機)解析和生成。在第二種變體中,在Host(主機)提供控制器裝置辨別資訊之後,由控制器解析和生成私有位址,而不涉及主機。此外,當控制器中的解析清單無法存儲綁定裝置所需的所有 device identity resolving keys 時,第二種變體可能涉及主機。
privacy 有兩種模式:device privacy mode(裝置隐私模式)和 network privacy mode(網絡隐私模式)。在裝置隐私模式下的裝置隻關心裝置的隐私,它将接受來自對等裝置的廣告包,這些 advertisement包 包含它們的身份位址和包含私有位址,即使對等裝置之前就已經分發過它的 IRK。在網絡隐私模式下,裝置隻接受來自包含私有位址的對等裝置的廣告資料包。預設情況下,當控制器解析和生成私有位址時,使用網絡隐私模式。
Host(主機)通過添加和删除 device identities(裝置辨別)來維護一個解析清單。主機可以向控制器提供完整的解析清單或該解析清單的子集。裝置辨別由對等方的辨別位址、local and peer’s IRK pair(本地和對等方的IRK對)組成。
當控制器執行位址解析時,主機需要引用解析清單中包含的對等裝置,它使用對等裝置的裝置辨別位址。同樣,從控制器到主機的所有傳入事件都将使用對等方的裝置辨別,前提是對等方的裝置位址已經解析。如果控制器不能在 advertisement 中解析對等方的裝置辨別位址,它可以将事件傳遞給主機,以便在主機中進行解析。
當在控制器中執行位址解析時,Device filtering 就成為可能,因為在檢查對等方的裝置辨別位址是否在 White List 中之前,可以先解析該位址。
圖5.4顯示了控制器解析清單和控制器 White List 之間關系的邏輯表示。遵循此模型不需要解析清單和 White List的實際實作。解析清單可以獨立于 White List 。

注意:并不是 White List 中的所有裝置都是裝置辨別位址。
當位址解析僅在主機中執行時,由于必須禁用 device filtering,裝置可能會經曆更大的功耗。