近年來出現了越來越多的低功耗藍牙應用,即BLE(Bluetooth Low Energy),比如說智能手環、防丟器等,對藍牙的安全要求也越來越高。這篇文章將深入淺出說明BLE4.0~4.2中的一些安全攻擊反制措施,從而引出BLE中最主要的兩個安全機制“加密”和“認證”。
1. 加密(Encryption)
兩個設備正常通信,Device1往Device2發送123,Device2往Device1發送456,這種通信方式非常危險,因為在空中的數據包都是明文。竊聽設備Device3很容易就能獲取Device1和Device2的通信內容。
圖1
針對以上攻擊,BLE4.0提供以下反制方法,Device1和Device2首先協商出一個密鑰key,Device1將加密過后的數據Text1發送給Device2,Device2得到Text1之后根據之前協商的key解出Device1真正發送的內容123。第三方能夠偷聽到Text1和Text2,但是沒有key就沒辦法解出Device1和Device2真正的通信內容。
圖2
從上圖可以知道,鏈路是否安全取決于密鑰key會不會被Device3獲取到。對于BLE4.0來說,其實只要Device3竊聽Device1和Device2協商密鑰過程,就能夠獲取密鑰key,所以這是BLE4.0的一個漏洞,只有保證協商密鑰過程中不被別人竊聽,才認為鏈路是安全的。
針對BLE4.0的漏洞,BLE4.2增加了基于橢圓曲線的DH密鑰交換協議(ECDH),使用該交換協議目的就是在Device3竊聽的情況下,仍然能夠協商出Device3不知道的密鑰key。在舉例子前,我們需要了解以下知識:
對于橢圓曲線的離散對數數學難題可用如下簡單的話描述:
k為正整數,p是橢圓曲線上的點(稱為基點)。
Q = k * p
已知k和p,很容易推導出Q;已知Q和p,很難推導出k。
對于該數學難題這里不展開說明,只說明它們是如何和BLE關聯起來的,這里的‘*’不是普通乘法符號,看成是一種特殊的運算法則即可。
圖3
經過ECDH之后,Device1和Device2就能得到共享密鑰key,基于該共享密鑰key可以衍生出LTK密鑰,用于后續對稱加密。至此,BLE的加密部分已到尾聲,下一節將會從另一個攻擊角度,引出BLE的另一個安全機制:認證。
2. 認證
Device1希望與Device2建立直接連接。但是,存在Device3屏蔽掉真實的信號,同時偽裝成Device1和Device2,導致空間中實際存在兩個連接,而不是一個連接,這樣的攻擊叫做中間人攻擊。正常情況下, Device2和Device1建立連接之后會進行ECDH,形成第三方無法解密的安全鏈路,這一點我們在上一節提到過;但是在中間人攻擊下,實際是Device3分別和Device1和Device2進行ECDH,所以對于Device3來說,Device1和Device2發送的數據都是沒有秘密的。
圖4
為了防止中間人攻擊,BLE在連接之后加入了“認證”機制,目的就是在設備Device3存在的情況下,Device1知道自己連接上的是Device2還是設備Device3。
正常認證過程如下:
第一步:Device1和Device2交換公鑰;
第二步:Device1和Device2用藍牙以外的交流方式達成共識,使用相同的配對碼;
第三步:Device1生成隨機數Nai,Device2生成隨機數Nbi;
第四步:Device1將相關參數代入函數f得出Cai,發給Device2;
第五步:Device2將相關參數代入函數f得出Cbi,發給Device1;
第六步:Device1將Nai發給Device2;
第七步:Device2用剛剛收到的Nai校驗第四步收到的Cai;
第八步:Device2校驗Cai成功,將Nbi發給Device1;
第九步:Device1用剛剛收到的Nbi校驗第五步收到的Cbi。
圖5
下圖是中間人攻擊下的認證過程,通過對比正常認證過程可以發現問題會出現在第五步。
為了讓Device2第七步能夠校驗通過,Device3在第五步一定要發送給Device2恰當的Cai。
所以第五步似乎有兩種方案:
將第四步收到的Cai,直接發給Device2。
因為pk1不等于pk2,所以第七步校驗會出錯。
私自捏造Cai發給Device2。
由于不知道Nai和passkey兩個參數,所以無法確認Cai的值是多少。
也就是說,無論Device3怎么樣做都沒辦法通過第七步校驗,導致認證不通過。所以通過“認證”機制可以給連接提供中間人攻擊保護。
圖6
為了方便理解上面用到的例子是經過簡化的,有些地方會與標準協議有出入,但是原理是一樣的。
ZLG52810P0-1-TC是基于nrf52810的無線透傳模塊,串口AT指令控制,使用簡單方便。除了支持BLE的加密和認證安全機制外,還支持BLE4.2的LE Data Packet Length Extension與BLE5的2M PHY特性,大大提高了傳輸速率。
-
藍牙
+關注
關注
114文章
5775瀏覽量
169872 -
智能手環
+關注
關注
47文章
792瀏覽量
72838 -
藍牙BLE
+關注
關注
4文章
63瀏覽量
24053
原文標題:安全加密(二):BLE安全攻擊反制措施
文章出處:【微信號:Zlgmcu7890,微信公眾號:周立功單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論