耿君峰,郁 濱
(信息工程大學三院,河南 鄭州450001)
藍牙[1,2]規范在底層協議中設計了認證和加密機制,但研究表明,PIN 碼配對協議易受到字典攻擊[3];安全簡單配對協議因存在多種關聯模型且設備I/O 信息易篡改,易受到中間人攻擊和中繼攻擊等攻擊[4,5];E0 算法因密鑰流序列的相關性易受到攻擊[6]。這些安全機制不能保證加密密鑰和加密算法安全。對此,文獻 [7]提出通過帶外傳輸方式來提高藍牙簡單配對協議的安全性,但該方案需要一個安全可靠的帶外通道,易受設備性能和環境條件限制。文獻 [8]在簡單配對協議中設計了射頻指紋認證過程,有效抵抗了地址假冒攻擊和中間人攻擊,但該方案在每次通信過程中必須有第三方服務器進行射頻指紋信息認證。為增強方案的通用性,一些藍牙傳輸安全增強方案[9,10]在配對過程后,分別通過公鑰密碼算法和對稱密碼算法實現了加密密鑰協商和分組信息加密傳輸,增強了藍牙通信的安全性,但其加密后的分組信息與設備特征信息無關。外部攻擊者能夠假冒主設備,實施地址假冒攻擊和分組偽造攻擊,內部攻擊者也能夠否認自身已發出的分組而無法被證實。
解決上述安全問題的關鍵是增強分組凈荷信息與藍牙設備特征信息的相關性。文獻 [11]指出基于身份的公鑰密碼體制能夠實現傳輸信息與設備身份的綁定,是最適合此類無線傳感器網絡的公鑰體制。但大多基于身份的無證書簽密方案[12,13]采用橢圓曲線上的雙線性對或指數運算實現,計算開銷較大。為降低計算復雜度,文獻 [14,15]提出并改進了一種無雙線性對的無證書簽密方案,其密鑰生成、簽密和解密驗證等過程都是通過橢圓曲線上的點乘運算完成的,但該方案是一個通用簽密方案,不能直接應用于藍牙協議之中。
綜上所述,本文依據上述無證書簽密方案,建立基于藍牙設備地址的分組凈荷簽密模型,實現分組凈荷信息與藍牙設備地址的綁定。在此基礎上,結合藍牙通信協議特點,設計藍牙分組凈荷簽密方案,實現藍牙設備間分組凈荷信息的加密傳輸,其能通過分組凈荷信息驗證分組來源,保證分組信息的真實性。
為方便表述,本文使用的符號及含義見表1。

表1 本文使用的符號及含義
其中,模型涉及的橢圓曲線密碼算法參數為{p,q,E(Fp),G,P,H1,H2,H3}。3個安全哈希函數分別為H1:{0,1}*×G×G →Z*q,H2:{0,1}*→Z*q和H3:G →{0,1}* 。H1是一個將藍牙設備地址映射為密鑰空間中某個元素的單向鑰控哈希函數,實現藍牙設備地址與設備認證公鑰的綁定;H2是一個將傳輸數據映射為密鑰空間中某個元素的哈希函數,生成藍牙設備傳輸信息的摘要;H3是一個將橢圓曲線上某個點映射為二進制數據流的哈希函數,用于明文信息的加解密過程。
在基于身份的無證書密碼體制下,通信雙方的密鑰信息由3部分組成,分別為用戶選擇的長期私鑰、密鑰生成中心 (key generation centre,KGC)分配的設備認證私鑰以及會話期間用戶隨機選擇的臨時會話私鑰。因此,本文根據方案需要,現作如下假設:
(1)用戶不能修改藍牙設備地址;
(2)設備認證密鑰由可信第三方離線服務器生成并分配。
根據上文設置的橢圓曲線密碼算法,隨機選擇秘密值z∈Z*q,計算Z =zP 并保存(z,Z)至離線服務器作為其密鑰。在此基礎上,本文建立了基于藍牙設備地址的分組凈荷簽密模型,如圖1所示。

圖1 基于藍牙設備地址的分組凈荷簽密模型
在上述模型中,Qi和Qj代表兩個正在通信的藍牙設備,i∈N,j∈N。m 為兩設備傳輸的分組凈荷明文信息,c為處理后的密文信息。
每個藍牙設備在通信過程中擁有的密鑰信息為{d1,d2,d3,D1,D2,D3}。其中{d1,D1}和{d3,D3}分別是該藍牙設備生成的長期密鑰和臨時密鑰,用于信息簽密過程;{d2,D2}是離線服務器為藍牙設備分配的與其藍牙設備地址綁定的設備認證密鑰,用于認證分組信息來源。藍牙設備長期公鑰和臨時公鑰分別由D1=d1P 和D3=d3P 計算得出,其中d1∈Z*q和d3∈Z*q都是藍牙設備隨機選擇的秘密值。藍牙設備認證密鑰由D2=rP 和d2=r+zH1(A,D1,D2)計算得出,其中A 為其藍牙設備地址,r∈Z*q為離線服務器隨機選擇的秘密值。
信息傳輸過程中,(h,s)是藍牙設備Qi對明文信息m 的簽名,通過h=H2(m)和s=di3/(di1+di2+h)計算得出。Vi∈G 和Vj∈G 是臨時變量,分別由通信雙方各自計算得出,用于生成加解密過程中的二進制密鑰流序列,并且Vi=Vj。藍牙 設 備Qj能 夠 通 過Di3=s(Di1+Di2+h′1Z+hP)來驗證分組信息來源是否為藍牙設備Qi,進而決定是否接收該分組。
引理1 橢圓曲線離散對數問題 (ECDLP):G 是橢圓曲線E(Fp)上階為q的一個循環群,P 是群G 的一個生成元,對任意未知的x∈Z*q,已知P 和X =xP ∈G,計算x 是不可行的。
基于上述引理,可證明如下定理。
定理1 已知函數H1和參數A,D1,D2,D3,求解d1,d2,d3是計算上不可行的。
證明:因為D1=d1P,D3=d3P 和D2=r2P,由引理可知,已知D1,D2,D3,P 求解d1,d3,r2是ECDLP問題,計算上是不可行的。由于r2和z 未知,則通過d2=r2+zH1(A,D1,D2)計算d2是不可行的。
同理可以證明定理2。
定理2 已知函數H1和A,d2,D1,D2,求解z是計算上不可行的。
定理3 已知函數H2和參數h,A,D3,求解m 是計算上不可行的。
證明:因為H2是哈希函數,h=,由哈希函數的單向性可知,已知h,A,D3求解m 是計算上不可行的。
推論1 攻擊者求解某藍牙設備或離線服務器的私鑰信息等價于求解橢圓曲線離散對數問題。
證明:攻擊者通過監聽某藍牙設備通信過程能夠獲得其藍牙設備地址和公鑰信息,由定理1可知,求解該設備的私鑰信息是ECDLP問題,是計算上不可行的。另外,攻擊者根據自身設備的藍牙設備地址和密鑰信息求解離線服務器的私鑰,由定理2可知,也是ECDLP問題,是計算上不可行的。證畢。
推論2 攻擊者偽造某藍牙設備的分組信息等價于求解離線服務器的私鑰,是計算上不可行的。
證明:若攻擊者欲偽造某藍牙設備的分組信息,必須獲得被偽造設備的認證密鑰,才能夠通過接收方設備的分組驗證。而認證密鑰是由離線服務器根據被偽造設備的藍牙設備地址生成的,攻擊者只有獲得離線服務器私鑰,才可成功偽造分組。因此,攻擊者偽造某藍牙設備分組等價于求解離線服務器私鑰,由推論1可知,這是計算上不可行的。證畢。
推論3 攻擊者得到藍牙設備間傳輸的明文信息等價于求解通信雙方的設備私鑰,是計算上不可行的。
證明:由定理3可知,攻擊者無法通過傳輸的信息摘要h獲得明文信息m 。若攻擊者欲得到明文信息m,必須計算出通信設備雙方的臨時變量Vi=di3(Dj1+Dj2+H1(Aj,Dj1,Dj2)Z)和Vj=s(dj1+dj2)(Di1+Di2+H1(Ai,Di1,Di2)Z+hP),即需要得到通信雙方的私鑰di3或dj1,dj2。因此,攻擊者獲得藍牙設備間傳輸的明文信息等價于求解通信雙方的設備私鑰信息,由推論1 可知,這是計算上不可行的。證畢。
依據上文建立的模型,本節從藍牙設備密鑰分配和分組簽密傳輸兩個階段入手,設計了藍牙分組凈荷簽密方案。
離線服務器為每個藍牙設備分配認證密鑰,用以判斷設備身份,設計的藍牙設備密鑰分配協議如圖2所示。
協議具體流程如下:

圖2 藍牙設備密鑰分配協議
(1)離線服務器通過查詢尋呼過程獲得藍牙設備Qi的設備地址Ai,并通過配對過程建立起邏輯鏈路。
(2)藍牙設備Qi隨機選擇秘密值di1∈Zq*,計算Di1=di1P,并發送Di1至離線服務器。
(3)離線服務器收到Di1分組后,隨機選擇秘密值ri∈Zq*,計算Di2=riP 和di2=ri+zH1(Ai,Di1,Di2)。在此基礎上,計 算(k1,k2)=riDi1和k =di2k1modp,并 發 送k至藍牙設備Qi。其中,k,k1,k2是臨時變量。
(4)藍牙設備Qi收到該分組后,通過(k1,k2)=di1Di2和di2=kk1-1modp 解 密 得 到di2。之 后 驗 證di2P =Di2+H1(Ai,Di1,Di2)Z 是否成立。若成立則證明離線服務器分配的藍牙設備認證私鑰di2有效,藍牙設備Qi接收該分組,得到設備公鑰(Di1,Di2)及對應私鑰(di1,di2),密鑰分配成功;否則藍牙設備Qi拒絕接收該分組,密鑰分配失敗。
藍牙設備間進行通信時,雙方能夠通按照簽密傳輸協議要求進行數據傳輸。設計的簽密傳輸協議如圖3所示。
協議具體流程如下:
(1)藍牙設備Qi和Qj通過查詢尋呼過程獲得對方的藍牙設備地址Ai和Aj,并通過配對過程建立起邏輯鏈路,雙方交換公鑰信息Di1Di2和Dj1Dj2。
(2)當設備Qi欲傳輸明文信息m 至Qj時,首先根據明文信息m 的長度選擇合適的數據分組。然后隨機選取di3∈Zq*,計算Di3=di3P 和h1=H1(Aj,Dj1,Dj2),并結合當前主設備藍牙時鐘生成設備Qi對m 的簽名(h,s),其中h=H2(Di3Aiclk m),s=di3/(di1+di2+h)。最后,計算Vi=di3(Dj1+Dj2+h1Z)和c=H3(Vi)⊕m,完成對m的加密操作,并發送信息clk h s c至設備Qj。

圖3 藍牙設備簽密傳輸協議
(3)設備Qj收到分組clk h s c后,先后計算h′1=H1(Ai,Di1,Di2)和Vj=s(dj1+dj2)(Di1+Di1+h′1Z+hP),通過解密操作m =c⊕H3(Vj)恢復出明文信息。然后,設備Qj驗證h =H2(s(Di1+Di2+h′1Z+hP)Aiclk m)是否成立,若成立則設備Qj接收消息m ,交由上層協議處理;否則拒絕接收m,通知設備Qi重新加密傳輸該分組信息,并記錄下該設備的分組傳輸錯誤次數。若錯誤次數達到門限值,則認為信道質量太差或遭受了惡意攻擊,停止傳輸,并斷開連接。
(1)方案安全性分析
依據模型設計的分組凈荷簽密方案繼承了模型的安全性,由推論1和推論3可知,方案可抵抗竊聽攻擊。由推論2可知,即使攻擊者通過修改藍牙設備地址來假冒其他藍牙設備,也無法偽造該設備的藍牙分組,因此,方案可抵抗分組偽造攻擊和主設備地址假冒攻擊。由于藍牙分組凈荷中含有發送方設備的特征信息,因此,藍牙設備不能否認自己所發出的分組,方案可抵抗內部藍牙設備的分組否認攻擊。另外,方案在分組簽密傳輸過程中加入了當前主設備藍牙時鐘信息,保證了分組的新鮮性,能夠有效抵抗重放攻擊。各方案安全性分析見表2,其中√表示可抵抗,×表示不可抵抗。

表2 各方案安全性分析
(2)方案計算開銷分析
文獻 [9]通過RSA 算法保證藍牙設備間加密密鑰的安全傳輸,而本文方案中藍牙設備的密鑰信息由離線服務器預先分配,當藍牙設備間進行通信時,只需交換雙方的公鑰信息即可,當多個設備進行通信時,能夠有效降低該過程的計算開銷。本文方案在藍牙分組傳輸過程中采用了公鑰密碼算法,而文獻 [9]則通過對稱密碼算法實現,因此,在分組凈荷加解密過程中,文獻 [9]的計算開銷比本文小。
文獻 [12]在加解密過程中共需進行2次雙線性對運算、2次點乘運算和4次哈希運算,而本文方案只需進行6次點乘運算和6次哈希運算。由于橢圓曲線上雙線性對運算、指數運算和哈希運算的計算復雜度分別是點乘運算的約20倍、3倍和1倍[16],因此,本文方案的計算開銷優于文獻 [12]。
各方案的計算開銷比較見表3。

表3 各方案計算開銷比較
為測試方案性能,本文搭建了實驗環境,如圖4所示。其中,射頻模塊選用PT8R1002 藍牙無線收發器,FPGA芯片選用ALTERA 公司的CycloneⅡEP2C20Q240C8,運行藍牙底層協議和本文設計的分組凈荷簽密方案。計算機通過串口與FPGA 開發平臺相連,用于顯示實驗結果。實驗中,藍牙設備C作為離線服務器,生成和分配設備認證密鑰;藍牙設備A 和B作為通信設備,按照方案要求進行數據傳輸。

圖4 實驗環境
實驗結果表明,藍牙設備A 和B 間采用DM5 分組進行通信時,本文方案的凈荷加密和解密的速率分別為81.6 Kbps和80.4Kpbs。本文方案未對點乘運算的優化進行研究,雖然降低了藍牙數據通信速率,但基本滿足嵌入式藍牙應用需求,并能夠通過密文信息驗證分組來源,提高分組傳輸過程的安全性。若選擇性能合適的FPGA 芯片并優化點乘實現算法,將能夠大幅降低點乘運算時間[17],數十倍地提高本文方案的加解密速率,更加滿足藍牙通信需求。
本文在分析藍牙安全缺陷和現有安全方案的基礎上,提出了一種基于藍牙設備地址的分組凈荷簽密方案,保證了藍牙加密密鑰和加密過程的安全。方案通過綁定分組凈荷信息與藍牙設備地址,在分組凈荷處理過程中引入了設備認證機制,能夠有效抵抗主設備地址假冒攻擊、否認攻擊等。同時,方案對設備的存儲和運算能力要求較低,適合于高安全領域的嵌入式藍牙應用。
[1]Bluetooth SIG specification of the bluetooth system:Core package version 4.0 [EB/OL]. (2009-12-17) [2013-3-2].http://www.bluetooth.org.
[2]Pandikirupa G,Nisha K,Vidhya V,et al.Advanced system for accessing electronic health records of patients using Android mobile and sensors [J].International Journal of Engineering Research &Technology,2013,4 (2):639-643.
[3]Chaudhari P,Diwanji H.Enhanced SAFER+algorithm for bluetooth to withstand against key pairing attack [M]//Advances in Computing and Information Technology.Berlin:Springer Berlin Heidelberg,2012:651-660.
[4]Suomalainen J,Valkonen J,Asokan N.Security associations in personal networks:A comparative analysis[M]//Security and Privacy in Ad-hoc and Sensor Networks.Berlin:Springer Berlin Heidelberg,2007:43-57.
[5]Barnickel J,Wang J,Meyer U.Implementing an attack on bluetooth 2.1+secure simple pairing in passkey entry mode[C]//Proceeding of IEEE 11th International Conference on Trust,Security and Privacy in Computing and Communications.IEEE,2012:17-24.
[6]ZHAN Yingjie,DING Lin,GUAN Jie.Guess and determine attack on E0 algorithm [J].Journal on Communications.2013,33 (11):185-190 (in Chinese). [詹英杰,丁林,關杰.基于E0算法的猜測決定攻擊 [J].通信學報,2012,33(11):185-190.]
[7]Sharmila D,Neelaveni R,Kiruba K.Bluetooth man-in-themiddle attack based on secure simple pairing using out of band association model[C]//International Conference on Control,Automation,Communication and Energy Conservation.IEEE,2009:1-6.
[8]Pasanen S,Haataja K,Paivinen N,et al.New efficient rf fingerprint-based security solution for bluetooth secure simple pairing [C]//Proceedings of the 43rd IEEE Hawaii International Conference on System Sciences.IEEE,2010:1-8.
[9]Kakarla V,Govind N S.FPGA implementation of hybrid encryption algorithm based on triple DES and RSA in bluetooth communication [J].International Journal of Applied Research&Studies,2012,1 (1):113-117.
[10]Bhoopendra S R,Prashanna G S Y.An integrated encryption scheme used in bluetooth communication mechanism [J].International Journal of Computer Technology and Electronics Engineering,2012,1 (2):68-71.
[11]Oliveira L B,Dahab R,Lopez J,et a1.Identity-based encryption for sensor networks [C]//Proceedings of the 5th Annual IEEE Internationa1 Conference on PerCom Workshops,2007:290-294.
[12]SUN Yinxia,LI Hui.Efficient certificateless hybrid signcryption [J].Journal of Software,2011,22 (7):1690-1698(in Chinese). [孫銀霞,李輝.高效無證書混合簽密 [J].軟件學報,2011,22 (7):1690-1698.]
[13]Xie Wenjian,Zhang Zhang.Certificateless signcryption without pairing [J].IACR Cryptology ePrint Archive,2010.
[14]LIU Wenhao,XU Chunxiang.Certificateless signcryption scheme without bilinear pairing [J].Journal of Software,2011,22 (8):1918-1926 (in Chinese). [劉文浩,許春香.無雙線性配對的無證書簽密機制 [J].軟件學報,2011,22(8):1918-1926.]
[15]HE Debiao.Security analysis of a certificateless signcryption scheme[J].Journal of Software,2013,24 (3):618-622(in Chinese).[何德彪,無證書簽密機制的安全性分析 [J].軟件學報,2013,24 (3):618-622.]
[16]Chen Liqun,Zhaohui Cheng,Nigel P S.Identity-based key agreement protocols from pairings [J].International Journal of Information Security,2007,6 (4):213-241.
[17]Sujoy S R,Chester R,Debdeep M.Theoretical modeling of elliptic curve scalar multiplier on LUT-based FPGAs for area and speed [J].IEEE Transactions on Very Large Scale Integration Systems,2013,21 (5):901-909.