應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點(diǎn)新聞
企業(yè)注冊(cè)個(gè)人注冊(cè)登錄

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

2019-08-05 12:00 網(wǎng)絡(luò)

導(dǎo)讀:安全性是設(shè)計(jì)物聯(lián)網(wǎng)(IoT)應(yīng)用時(shí)面臨的最大挑戰(zhàn)之一。由于物聯(lián)網(wǎng)設(shè)備通過(guò)無(wú)線方式進(jìn)行通話,因此一切控制和狀態(tài)信息以及私人用戶數(shù)據(jù)都可能會(huì)暴露于風(fēng)險(xiǎn)之中。

安全性是設(shè)計(jì)物聯(lián)網(wǎng)(IoT)應(yīng)用時(shí)面臨的最大挑戰(zhàn)之一。由于物聯(lián)網(wǎng)設(shè)備通過(guò)無(wú)線方式進(jìn)行通話,因此一切控制和狀態(tài)信息以及私人用戶數(shù)據(jù)都可能會(huì)暴露于風(fēng)險(xiǎn)之中。不安全的物聯(lián)網(wǎng)設(shè)備可能會(huì)使人員生命和財(cái)產(chǎn)面臨風(fēng)險(xiǎn),而不是帶來(lái)更便捷的生活。試想一下,有人可以攻擊家庭照明控制系統(tǒng),跟蹤到用戶何時(shí)在家,然后闖入家中?;蛘哂腥丝梢酝ㄟ^(guò)偽造您的身份,然后開(kāi)啟您的智能鎖。

為保障物聯(lián)網(wǎng)設(shè)備的安全性,需要進(jìn)行以下三項(xiàng)部署:

對(duì)未經(jīng)授權(quán)的設(shè)備隱藏設(shè)備身份的機(jī)制 - 身份保護(hù)對(duì)于保護(hù)用戶免受破壞者跟蹤其物理位置至關(guān)重要。如果沒(méi)有足夠的保護(hù),物聯(lián)網(wǎng)設(shè)備會(huì)使用戶面臨隱私泄露以及潛在的生命或財(cái)產(chǎn)威脅。這一情況類似于有人根據(jù)您的汽車(chē)注冊(cè)編號(hào)對(duì)你進(jìn)行跟蹤。

防止被動(dòng)竊聽(tīng)- 被動(dòng)竊聽(tīng)是指收聽(tīng)兩臺(tái)設(shè)備之間私人通信的過(guò)程。被動(dòng)竊聽(tīng)者靜靜地聽(tīng)取通信,但不會(huì)更改數(shù)據(jù)。

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

對(duì)未經(jīng)授權(quán)的設(shè)備隱藏設(shè)備身份

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

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

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

Hash = e(IRK,prand),截?cái)酁?4位

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

為解析RPA,需要使用在廣告包中接收的prand和在配對(duì)過(guò)程中接收的IRK生成本地hash。然后將這一本地hash與地址中的hash進(jìn)行比較。如果匹配,則可解析地址。由于一臺(tái)設(shè)備可存儲(chǔ)來(lái)自多臺(tái)設(shè)備的IRK,因此可使用存儲(chǔ)的每一個(gè)IRK逐個(gè)計(jì)算本地hash值,直至匹配為止。

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

防止被動(dòng)竊聽(tīng)

假設(shè)在一次會(huì)議中,交談中有兩個(gè)人突然切換到與會(huì)的其他人難以聽(tīng)懂的他們的母語(yǔ),那么,將會(huì)發(fā)生什么情況?事實(shí)上通過(guò)這一方式,他們讓這一部分對(duì)話免受被動(dòng)竊聽(tīng)。類似地,BLE設(shè)備使用共享密鑰對(duì)鏈路進(jìn)行加密。因此,沒(méi)有秘鑰的設(shè)備將無(wú)法理解鏈路加密之后設(shè)備之間的對(duì)話。保護(hù)強(qiáng)度取決于鑰匙強(qiáng)度–即獲取或猜測(cè)鑰匙的難易程度。

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

在BLE設(shè)備中,這一安全通信的基礎(chǔ)是在配對(duì)過(guò)程中建立的。配對(duì)過(guò)程分為三個(gè)階段:

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

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

如前所述,為防止被動(dòng)竊聽(tīng),BLE使用符合FIPS標(biāo)準(zhǔn)的ECDH算法,使設(shè)備能夠在不安全的信道上建立共享密鑰,然后使用該秘鑰或其衍生秘鑰對(duì)鏈路進(jìn)行加密。

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

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

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

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

3. Alice使用自己的私鑰QBdA計(jì)算共享密鑰,Bob則使用QAdB計(jì)算共享密鑰。請(qǐng)注意,共享密鑰是相同的。

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

4. 現(xiàn)在,Alice和Bob可使用該共享密鑰保護(hù)其通信,或使用該共享密鑰生成另一個(gè)密鑰。而Eve則無(wú)法計(jì)算該密鑰,因?yàn)樗齼H僅知道QA和QB。

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

一旦兩臺(tái)BLE設(shè)備成功生成共享密鑰,它們就會(huì)生成長(zhǎng)期密鑰(LTK)和MAC(介質(zhì)訪問(wèn)控制)密鑰。MAC密鑰用于確認(rèn)生成的密鑰是否正確。成功確認(rèn)后,兩臺(tái)設(shè)備都將使用LTK對(duì)鏈路進(jìn)行加密。請(qǐng)注意,該LTK永遠(yuǎn)不會(huì)通過(guò)無(wú)線共享,因此被動(dòng)竊聽(tīng)者將無(wú)法計(jì)算LTK,竊聽(tīng)者也將無(wú)法攔截兩臺(tái)設(shè)備之間交換的信息。

雖然ECDH提供的安全性保護(hù)可防止被動(dòng)竊聽(tīng),但卻并不能阻止設(shè)備免受MITM攻擊。為防止MITM攻擊,基于設(shè)備的I / O功能,BLE使用身份驗(yàn)證作為配對(duì)過(guò)程第2階段的一部分。