内容来自蓝牙核心规范V5.1 Vol3 PartH,若有错误之处,希望指出来
SM定义了管理配对、鉴权和加密的协议和行为,适用于LE-only单模设备或BR/EDR/LE双模设备。
0、蓝牙安全概述
蓝牙安全模型包括五个不同的安全特性:配对,绑定,设备鉴权,加密和消息完整性。
配对:创建一个或多个共享密钥的过程
绑定:保存配对中创建的密钥的行为,用于后续的连接,形成一个信任的设备对
设备鉴权:验证两个设备有相同的密钥
加密:消息保密性
消息完整性:防止消息伪造
随着时间的推移,蓝牙核心安全体系结构不断发展。最初,配对使用基于SAFER+的E21或E22算法,此版本的配对称为BR/EDR传统配对。设备鉴权最初是基于SAFER+的e1算法,加密使用派生自Massey-Rueppel算法的E0算法,而消息完整性没有相关规定。
2.1+EDR版本引入了安全简易配对(Secure Simple Pairing,SSP),它使用SHA-256、HMAC-SHA-256和P-192椭圆曲线等算法,并引入四个相关模型:Just Works,Numeric Comparison, Passkey Entry 和 Out-Of-Band ,设备鉴权和加密保持不变。
3.0 + HS版本支持了AMPs
4.0版本添加了LE的整个安全模型,BR/EDR和AMP安全不变
4.1版本添加了BR/EDR Secure Connections特性,SSP更新算法P-256椭圆曲线,设备鉴权使用算法HMAC-SHA-256和AES-CTR,Secure Connections添加了消息完整性
4.2版本添加了LE Secure Connections特性,LE配对更新算法AES-CMAC和P-256 elliptic curve,并改变数值比较关联模型,包括了使用Secure Connections生成密钥的规定
SSP的主要目的是为了简化配对过程,次要目的是保证和提高蓝牙无线技术安全性,SSP从用户的角度最大限度的提高安全性,同时最大限度的降低复杂性。
SSP有两个安全目标:防止被动偷听和中间人攻击,man-in-the-middle (MITM) attack(主动偷听),SSP使用四个关联模型,由两个设备的IO能力确定
BR/EDR SSP和LE SSP名字相同,但是提供的保护质量不同,LE设备密钥生成是Host执行的,