低功耗藍牙的安全性研究
摘要:基于提高低功耗藍牙安全的目的,通過對其安全機制的深入分析發(fā)現(xiàn)所采用的高級加密標準(AES)加密密鑰存在安全隱患,結(jié)合RSA非對稱加密算法和AES對稱加密的特點,提出一種兩者相結(jié)合的混合加密安全機制,該機制在密鑰分發(fā)前使用RSA加密AES的密鑰,使用AES加密雙方的通信信息,使攻擊者無法獲得AES的密鑰而無法解密信息,從而提高低功耗藍牙的安全性。通過模擬實驗表明該機制的加密速度和耗時均在可接受范圍內(nèi)。
本文引用地址:http://2s4d.com/article/201610/306097.htm隨著藍牙4.0規(guī)范的發(fā)布,低功耗藍牙技術進入大眾的視野。近年來物聯(lián)網(wǎng)技術的火熱發(fā)展,低功耗藍牙大量應用到了可穿戴設備、智能手機和平板電腦中。在使用低功耗藍牙的同時,也面臨著大量安全威脅,不法分子和惡意攻擊者對低功耗藍牙網(wǎng)絡進行攻擊,竊取用戶的隱私數(shù)據(jù),所以其安全機制的研究就顯得尤為重要。
1 低功耗藍牙的安全機制
低功耗藍牙的安全機制不同于傳統(tǒng)藍牙的安全機制,傳統(tǒng)藍牙采用安全簡單配對協(xié)議(Secure Simple Pairing),具有很強的安全保護機制。低功耗藍牙采用了類似的安全協(xié)議但是提供的保護程度卻有所不同,為了實現(xiàn)低功耗的目標,低功耗藍牙在安全性方面做出了一定的妥協(xié)。
低功耗藍牙的安全機制主要有5個方面:連接模式,密鑰生成功能,加密功能,數(shù)字簽名功能,隱私保護功能。
1.1 連接模式
低功耗藍牙設定了3種連接模式,分別是立即工作(Just Works)、萬能鑰匙進入(Passkey Entry)和帶外連接(Out of Band)。每個連接模式與傳統(tǒng)藍牙的安全簡單配對各有相似的地方,但也有以下例外情況:立即工作和萬能鑰匙進入未提供任何被動竊聽保護。這是因為安全簡單配對采用了橢圓曲線密鑰協(xié)商方案,而低功耗藍牙沒有采用。每個連接模式是以設備的I/O功能為基礎進行使用,與安全簡單配對方式類似。
1.2 密鑰生成功能
低功耗藍牙的密鑰是由各設備的主機生成,而該設備與任何其它低功耗藍牙設備相互獨立。低功耗藍牙會根據(jù)數(shù)據(jù)保密性、設備認證、未加密數(shù)據(jù)認證、設備識別等情況使用多個密鑰。就低功耗藍牙而言,單個鏈接密鑰是通過來自各設備的資源和配對過程中使用的鏈接密鑰整合而生成的。
1.3 加密功能
低功耗藍牙采用AES密碼技術進行加密。低功耗藍牙有一個密碼塊,本質(zhì)為一個單向函數(shù),用于產(chǎn)生密鑰、加密和提供完整性檢查。該密碼塊采用128位的密鑰和128位的明文塊產(chǎn)生16字節(jié)的密碼塊。
1.4 數(shù)字簽名功能
低功耗藍牙可支持兩臺具有受信任關系的設備發(fā)送沒有保密性的認證數(shù)據(jù)。這需要簽署帶有連接簽名解析密鑰(CSRK)的數(shù)據(jù)才能實現(xiàn)。發(fā)送設備在數(shù)據(jù)上進行簽名。接收
設備會驗證簽名,如果簽名通過驗證,則假設數(shù)據(jù)是來自可信源。該簽名由屬性協(xié)議簽名算法生成的消息認證碼和計數(shù)器構成。計數(shù)器是用來防御重放攻擊,并且會添加至所發(fā)送的已簽名的數(shù)據(jù)上。
1.5 隱私保護功能
隱私保護功能是低功耗藍牙支持一項新功能,可在一段時間內(nèi)通過頻繁更換地址降低跟蹤低功耗藍牙設備的能力。
為了使設備能夠使用隱私保護功來重新連接已知設備,保密功能被激活時所使用的設備地址(私人地址)必須可分解至其他設備的身份。私人地址通過在綁定過程更換設備的識別密鑰生成。隱私保護功能定義了允許被綁定設備進行重新連接的重新連接地址,同時也將設備過濾為已知設備。兩臺設備在每次連接時交換重新連接地址。由于重新連接地址僅在連接之間更改,所以設備過濾可以用來縮短處理過量請求的時間。
2 低功耗藍牙的安全問題
低功耗藍牙安全機制的最大問題是密鑰的安全性。由于使用AES對稱加密算法,低功耗藍牙設備雙方使用相同的密鑰進行加密和解密。如果密鑰交換被破解,攻擊者就能持有設備雙方的密鑰;而如果那些設備是依賴低功耗藍牙原有的安全性機制,攻擊者就可以使用破解的密鑰解密設備發(fā)送的加密信息,同時可以偽裝成其他低功耗藍牙設備發(fā)送加密信息,這樣攻擊者就能竊取到低功耗藍牙設備的所有信息。
3 基于RSA和AES的混合加密機制
針對低功耗藍牙的安全問題,本文提出了一種新型的安全機制,采用RSA非對稱加密方法和AES對稱加密方法相結(jié)合的混合加密機制。混合加密機制的核心思想就是使用RSA加密AES的密鑰。RSA為非對稱加密算法,即在加密和解密時使用不同的密鑰:在加密時使用公鑰(Public Key);在解密是使用私鑰(Private Key)。在密鑰分配時使用RSA加密AES的密鑰從而使密鑰只能被指定的設備獲得。
考慮到RSA加密需要較大的計算和運算內(nèi)存,這種機制將進行通信的雙方分成強設備和弱設備,強設備具有將強的計算能力和運算內(nèi)存,將負責主要的RSA加密,弱設備對計算能力和運算內(nèi)存的要求較低。這種強、弱設備的區(qū)分方法也比較符合現(xiàn)實情況,進行連接的藍牙設備大多是非對稱的,例如電腦和藍牙鍵盤、智能手機和藍牙耳機等,電腦和智能手機屬于強設備,藍牙鍵盤和藍牙耳機屬于弱設備。
混合加密機制的過程如圖1所示,主要分為4個階段:
階段一:RSA密鑰分配
這一階段主要在強設備端進行。強設備使用RSA加密方式生成Public Key和Private Key,然后向弱設備發(fā)起連接請求,同時將Public Key傳輸給弱設備。弱設備收到連接請求和Public Key后,將Public Key保存,同時向強設備發(fā)送連接響應。
階段二:認證過程
雙方根據(jù)連接設備信息(如有無顯示屏、鍵盤等)選擇配對算法,設置個人識別碼(PIN),確定臨時密鑰(TK);設備雙方生成一個隨機數(shù)Rand,根據(jù) TK值、Rand和配對信息計算出確認值,雙方依次交換確認值和隨機數(shù);雙方根據(jù)交換的隨機數(shù)進行計算,檢測確認值是否匹配,如果匹配通過則認證成功;根據(jù)隨機數(shù)和TK計算出短期密鑰(STK)和長期密鑰(LTK),并由弱設備存儲LTK。
階段三:密鑰分配
強設備發(fā)起加密請求;弱設備收到請求后使用Public Key對LTK進行RSA加密得到加密信息,然后將其傳輸給強設備,響應加密請求;強設備收到加密信息后使用Private Key進行RSA解密得到LTK;為了確保低功耗藍牙通信的安全性,不能直接使用LTK作為AES的密鑰(Secret Key),雙方在加密請求和加密相應時,交換了設備的密鑰分散器,根據(jù)LTK和雙方的密鑰分散器計算得出本次通信的AES的Secret Key,這樣每次加密請求的通信密鑰都是重新生成的,不能在兩次通信中重復使用。
階段四:加密通信
雙方使用Secret Key進行AES加密通信。每次通信前,使用Secret Key對通信內(nèi)容進行AES加密得到加密信息,然后將信息發(fā)送至對方;收到信息后,使用Secret Key對加密信息進行AES解密,得到原始消息內(nèi)容。
4 混合加密機制分析
4.1 對稱加密體制的特點
在對稱加密體制中,通信雙方使用相同的密鑰進行加密和解密,這就意味著對稱加密體制的安全主要取決于密鑰的安全性。對稱加密的優(yōu)點是算法簡單,具有較高的效率,加密速度快,可以滿足的大量信息的加密需求;缺點是通信前需要進行密鑰交換,密鑰容易泄露而不能確保安全性。
4.2 非對稱加密體制的特點
在非對稱加密體制中存在兩個密鑰:公開密鑰和私有密鑰,公開密鑰用于加密,私有密鑰用于解密。在通信前需要將己方的公開密鑰傳遞給對方,對方使用公開密鑰加密,加密內(nèi)容只有用私有密鑰解密,這意味著只有已方能夠解密。非對稱加密具有密鑰分配簡單、安全性高的特點;缺點是計算量大,加密速度慢。
4.3 混合加密的特點
混合加密機制結(jié)合了對稱加密體制和非對稱加密體制的特點,如表1所示,具有如下優(yōu)點:結(jié)合了AES加密具有運算要求低,加密速度快的優(yōu)勢;利用RSA加密具有加密安全性高的優(yōu)勢,提高了AES密鑰的安全性;每次加密連接只進行一次RSA加密解密,避免了RSA運算開銷。
與低功耗藍牙的安全機制相比,混合加密機制有3點不同:設備發(fā)起連接請求前需要計算出RSA加密的Public Key和Private Key,并將Public Key傳輸給設備另一方來存儲;設備收到加密請求時,將LTK進行加密后再進行傳輸;設備并非直接接收到LTK,接收到的是經(jīng)RSA加密后的信息,需要經(jīng)過相應解密后才能得到LTK。
5 實驗與結(jié)果分析
分別使用臺式電腦、筆記本電腦和Android智能手機為實驗平臺,使用Java語言模擬實現(xiàn)混合加密機制,每組進行10次實驗得到數(shù)據(jù)如表2所示。
通過表格中的數(shù)據(jù)可以發(fā)現(xiàn):
1)混合加密機制的主要耗時在階段1,即RSA生成Public Key和Private Key階段。耗時最長為Android智能手機端,平均耗時937.0 ms;耗時最短為臺式電腦端,平均耗時193.0 ms。
2)階段3的耗時比較短。耗時最長為Android智能手機端,平均耗時43.0 ms;耗時最短為臺式電腦端,平均耗時6.0 ms。
3)混合加密的整體耗時比較短,在1秒鐘以內(nèi)。
4)混合加密的耗時與設備的計算能力和運算內(nèi)存成反比,Android智能手機CPU主頻最低,運算內(nèi)存最小,耗時最長;臺式電腦的CPU主頻最高,運算內(nèi)存最大,耗時最端。
分析以上表格可以得結(jié)論:使用混合加密機制總體耗時較小,用戶使用時不會產(chǎn)生延時感覺。隨著用戶使用的設備硬件配置的計算能力和運行內(nèi)存的提高,相信這一數(shù)據(jù)將會越來越小。
6 結(jié)論
本文在分析低功耗藍牙安全機制的基礎上,發(fā)現(xiàn)了其中的密鑰的安全隱患,提出一種新的RSA和AES混合加密安全機制,以此來提高低功耗藍牙的安全性。
RSA算法具有算法簡單,易于實現(xiàn)的特點,因此成為應用最為廣泛的非對稱加密算法。但是它也存在著計算量過大缺點,考慮到低功耗的目標,未來可考慮分析提高RSA算法
的效率或使用其他計算量較小的非對稱加密算法,例如橢圓曲線加密算法等。
評論