BLE加密流程
1赞
发表于 5/28/2016 11:33:20 AM
阅读(3579)
BLE中的安全部分采用AES-CCM算法,所谓AES-CCM算法,主要包括2部分,分别是加密部分和认证部分;在BLE中分别表现为对payload的加密以及生成MIC进行信息的完整性校验,这2部分调用的都是AES-128加密算法。
蓝牙AES-CCM加密主要是提升蓝牙通信中的安全性,保障数据在链路层的安全可靠。
BLE中AES-CCM中的加密以及生成MIC部分如下所示:
CCM算法中可分为对A模块的加密和对B模块的加密,其中A模块产生密文,对B模块的加密最终生成MIC,A模块和B模块分别为:
LL_DATA1 0e 1f 7a 70 d6 64 15 22 6d f2 6b 17 83 9a 06 04 05 59 6b d6 56 4f 79 6b 5b
9c e6 ff 32 f7 5a 6d 33
Length 0x1F (i.e. 27 + 4 = 31 dec)
Data (LSO to MSO)
Clear 17 00 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 31 32 33 34 35 36
37 38 39 30
Encrypted 7a 70 d6 64 15 22 6d f2 6b 17 83 9a 06 04 05 59 6b d6 56 4f 79 6b 5b
9c e6 ff 32
MIC (32-bit value MSO to LSO) 0xF75A6D33
