《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業(yè)界動態(tài) > 在物聯(lián)網應用中,,如何確保BLE連接的安全

在物聯(lián)網應用中,,如何確保BLE連接的安全

2019-03-02
作者:Pushek Madaan,,Sachin Gupta
關鍵詞: 物聯(lián)網 BLE IOT

  安全性是設計物聯(lián)網IoT)應用時面臨的最大挑戰(zhàn)之一,。由于物聯(lián)網設備通過無線方式進行通話,,因此一切控制和狀態(tài)信息以及私人用戶數(shù)據都可能會暴露于風險之中,。不安全的物聯(lián)網設備可能會使人員生命和財產面臨風險,,而不是帶來更便捷的生活,。試想一下,,有人可以攻擊家庭照明控制系統(tǒng),跟蹤到用戶何時在家,,然后闖入家中,。或者有人可以通過偽造您的身份,,然后開啟您的智能鎖,。

  為保障物聯(lián)網設備的安全性,需要進行以下三項部署:

  對未經授權的設備隱藏設備身份的機制 - 身份保護對于保護用戶免受破壞者跟蹤其物理位置至關重要,。如果沒有足夠的保護,,物聯(lián)網設備會使用戶面臨隱私泄露以及潛在的生命或財產威脅。這一情況類似于有人根據您的汽車注冊編號對你進行跟蹤,。

  防止被動竊聽- 被動竊聽是指收聽兩臺設備之間私人通信的過程,。被動竊聽者靜靜地聽取通信,但不會更改數(shù)據,。

  防范中間人攻擊 - 中間人(MITM)攻擊是所有安全威脅中最為嚴重的一種情況,。在這種情況下,稱為MITM攻擊者的第三臺設備不僅可以監(jiān)聽兩臺設備之間的私密通信,,還可以模仿其中任意一臺設備并更改數(shù)據,。

對未經授權的設備隱藏設備身份

  BLE設備使用48位地址,如果該地址可被另一臺設備解碼,,則后者可對前者實時跟蹤,。BLE使不可信設備難以通過頻繁更改地址來實施跟蹤。以上是通過使用僅可信設備可用的身份解析密鑰(IRK)實現(xiàn)的。對鏈路進行加密后,,可信設備之間可在配對過程中共享IRK,。然后將其作為綁定過程的一部分存儲在內部。這一類型的地址稱為可解析私有地址(RPA),。

  可解析私有地址包含兩個組件 - 24位hash和24位prand,。hash是IRK函數(shù),prand則由22位隨機數(shù)和兩個固定的MSB(最高有效位)組成,。

  隨機產生的22位prand不能所有位都為'1'或'0',。之后,使用IRK和prand作為加密函數(shù)'e'的輸入變量計算hash,。

  Hash = e(IRK,,prand),截斷為24位

  設備IRK是一組128位數(shù)字,。通過104位填充連接,,其中填充位設置為‘0’,使得prand的大小與IRK一致,。原始prand的LSB(最低有效位)在填充后依然是prand的LSB,。生成后的hash將與prand連接從而生成RPA。

  為解析RPA,,需要使用在廣告包中接收的prand和在配對過程中接收的IRK生成本地hash,。然后將這一本地hash與地址中的hash進行比較。如果匹配,,則可解析地址,。由于一臺設備可存儲來自多臺設備的IRK,因此可使用存儲的每一個IRK逐個計算本地hash值,,直至匹配為止,。

  BLE 4.2及更高版本允許該地址最快可每秒更改一次,最長更改間隔為11.5小時,,這稱為RPA超時。RPA更改的頻次越高,,對設備實施跟蹤就越困難,。

防止被動竊聽

  假設在一次會議中,交談中有兩個人突然切換到與會的其他人難以聽懂的他們的母語,,那么,,將會發(fā)生什么情況?事實上通過這一方式,,他們讓這一部分對話免受被動竊聽,。類似地,BLE設備使用共享密鑰對鏈路進行加密。因此,,沒有秘鑰的設備將無法理解鏈路加密之后設備之間的對話,。保護強度取決于鑰匙強度–即獲取或猜測鑰匙的難易程度。

  BLE(4.2或更高版本)使用符合美國聯(lián)邦信息處理標準(FIPS)的Elliptic Curve Diffie-Hellman(ECDH)算法來生成和交換密鑰,。之后,,這些密鑰用于生成其他密鑰,也稱為DHKey共享密鑰,。再之后,,可通過DHKey共享密鑰對鏈路進行加密或生成另一組密鑰對鏈路進行加密。

  在BLE設備中,,這一安全通信的基礎是在配對過程中建立的,。配對過程分為三個階段:

  在第1階段,配對過程中涉及的兩臺設備發(fā)送配對請求和響應以及配對參數(shù),,其中包括設備的性能和安全要求,。在此之后,兩臺設備將根據交換參數(shù)的值選擇配對方式,。

  第2階段涉及設備身份驗證和鏈路加密,。該階段建立的安全性環(huán)境可確保設備不受被動竊聽和MITM攻擊。

  如前所述,,為防止被動竊聽,,BLE使用符合FIPS標準的ECDH算法,使設備能夠在不安全的信道上建立共享密鑰,,然后使用該秘鑰或其衍生秘鑰對鏈路進行加密,。

  為便于理解ECDH算法的工作原理,我們給出了非常經典的Alice和Bob示例(參見圖5),。Alice和Bob希望建立一個安全的通信鏈路,,然而他們正在通信的信道正在被第三方Eve竊聽。

  1.Alice和Bob生成了他們自己的私鑰和公鑰,,其中私鑰d是從[1到n-1]的隨機數(shù),,并通過將d乘以G, dG獲得公鑰Q。

  假設Alice的私鑰和公鑰是dA和QA = dAG,,Bob的私鑰和公鑰分別是dB和QB = dBG,。

  2.Alice和Bob在不安全的頻道上互相分享他們的公鑰QA和QB,而該信道正在被Eva竊聽,。Eve可以攔截QA和QB,,但她無法確定私鑰。

  3.Alice使用自己的私鑰QBdA計算共享密鑰,,Bob則使用QAdB計算共享密鑰,。請注意,,共享密鑰是相同的。

  S = QBdA = (dBG)dA = (dAQ)dB = QAdB

  4.現(xiàn)在,,Alice和Bob可使用該共享密鑰保護其通信,,或使用該共享密鑰生成另一個密鑰。而Eve則無法計算該密鑰,,因為她僅僅知道QA和QB,。

  以上示例假設Alice和Bob都使用相同的域參數(shù)。在LE Secure(低功耗安全)連接的情況下,,兩臺設備默認遵循FIPS標準的P-256 ECDH機制,。

  一旦兩臺BLE設備成功生成共享密鑰,它們就會生成長期密鑰(LTK)和MAC(介質訪問控制)密鑰,。MAC密鑰用于確認生成的密鑰是否正確,。成功確認后,兩臺設備都將使用LTK對鏈路進行加密,。請注意,,該LTK永遠不會通過無線共享,因此被動竊聽者將無法計算LTK,,竊聽者也將無法攔截兩臺設備之間交換的信息,。

  雖然ECDH提供的安全性保護可防止被動竊聽,但卻并不能阻止設備免受MITM攻擊,。為防止MITM攻擊,,基于設備的I / O功能,BLE使用身份驗證作為配對過程第2階段的一部分,。

關于作者:

  Pushek Madaan現(xiàn)任職于賽普拉斯半導體印度公司,,擔任高級應用工程師。他主要使用C語言和匯編語言設計用于模擬和數(shù)字電路的嵌入式系統(tǒng)應用,,同時使用C#開發(fā)GUI(圖形用戶界面),。

  Sachin Gupta現(xiàn)任職于賽普拉斯半導體公司物聯(lián)網業(yè)務部,擔任資深產品營銷工程師,。他擁有德里洲際大學(Guru Gobind Singh Indraprastha University)電子與通信學士學位,。Sachin在SoC應用開發(fā)和產品營銷方面擁有9年的經驗。


本站內容除特別聲明的原創(chuàng)文章之外,,轉載內容只為傳遞更多信息,,并不代表本網站贊同其觀點。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者,。如涉及作品內容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。