黃一才,郁濱
信息工程大學密碼工程學院系統工程教研室,鄭州 450004
基于DSP協處理器的藍牙安全傳輸方案設計
黃一才,郁濱
信息工程大學密碼工程學院系統工程教研室,鄭州 450004
深入分析藍牙安全機制,結合藍牙芯片的特點,提出了一種藍牙安全傳輸方案,該方案通過重新分配片內資源,用DSP協處理器處理相對復雜的密碼運算,解決了通過外部增加硬件增強藍牙安全性而帶來的信息“落地”、硬件復雜等問題。實驗結果表明,方案能在不影響藍牙數據傳輸速率的情況下增強藍牙通信安全,且能有效降低藍牙安全產品成本,實現方便,可靠性高。
藍牙單芯片;藍牙安全;DSP協處理器;藍牙核心協議棧;藍牙安全傳輸;算法庫
自1998年藍牙規范發布以來,藍牙以其方便快捷的數據傳輸能力在手機、汽車、醫療等領域得到了廣泛應用。然而由于藍牙自身安全問題,限制了藍牙技術在一些如金融、軍事等高安全需求領域的進一步應用。
文獻[1-3]研究了藍牙自身安全機制,并指出藍牙協議在安全方面存在的弱點。文獻[4]對藍牙PIN(Personal Identification Number)安全進行分析,并利用一臺Pentium IV PC機在0.06 s時間內破解了四位的PIN碼。文獻[5]詳細分析了一次中繼攻擊的實施過程,并指出藍牙缺乏用戶身份認證是導致攻擊發生的根源。
針對藍牙自身所存在的安全問題,許多學者從不同角度提出了增強藍牙安全的方案。文獻[6-8]通過改進藍牙協議層,增加藍牙用戶認證與訪問控制,有效保證了上層藍牙數據的安全。文獻[9]通過增加ARM、FPGA來實現藍牙“三芯片”安全傳輸。文獻[10-11]利用FPGA來實現了藍牙“雙芯片”安全增強方案。文獻[12]研究了基于片上系統(System On Chip,SOC)實現藍牙單芯片應用開發的一般框架,但并未就藍牙單芯片內藍牙安全傳輸方案作深入研究。文獻[13]研究了利用藍牙芯片內XAP處理器實現密碼算法的一般方法,并給出了基于藍牙單芯片密碼算法的執行性能,但并未就完整的藍牙安全增強方案進行研究。
以上研究盡管從不同方面增強了藍牙通信安全,但由于增加外部芯片導致藍牙信息“落地”,且增加了硬件復雜度。利用藍牙單芯片實現藍牙安全傳輸,可以實現數據“不落地”處理,在不增加額外硬件的前提下,保證藍牙數據傳輸速率,提高藍牙安全產品的安全性和方便性。
綜上所述,本文通過研究藍牙協議棧和藍牙芯片結構特點,通過對藍牙芯片片內資源的重新分配,設計基于藍牙單芯片的安全傳輸方案。在此基礎上,通過設計基于DSP(Digital Signal Processor)協處理器的算法庫結構、數據交互接口和算法庫啟動過程,最終實現藍牙單芯片安全傳輸。
藍牙核心協議負責安全藍牙信道的建立與管理,并為上層藍牙應用提供藍牙數據傳輸服務,是實現藍牙通信的關鍵協議層。因此,通過改進藍牙核心協議層可有效保護所有藍牙應用的安全。
2.1 方案總體結構設計
藍牙鏈路層通過調用底層藍牙芯片提供的硬件安全算法實現藍牙設備認證。結合藍牙協議棧特點,在L2CAP(Logical Link Control and Adaptation Protocol)層與RFCOMM層,通過引入用戶認證與訪問控制機制,增加用戶認證與訪問控制模塊,加強對上層數據的細粒度保護,上層通過選擇應用層加密,實現對用戶數據機密性保護。基于以上思想,設計基于DSP協處理器的藍牙單芯片安全傳輸方案總體結構如圖1所示。

圖1 基于DSP協處理器的藍牙單芯片安全傳輸方案總體結構圖
圖1中深色部分表示采用藍牙規范本身具備的安全模塊,淺色部分為藍牙安全增強模塊。方案總體結構中各模塊的功能如下:
(1)硬件安全算法庫。該模塊是由藍牙規范定義、由藍牙芯片廠商在藍牙基帶層采用硬件形式實現的一系列安全算法,如E0算法,為上層協議運行提供數據運算服務。
(2)設備認證模塊。該模塊主要通過藍牙規范定義的PIN認證和安全配對過程,實現藍牙設備認證。
(3)用戶認證與訪問控制。該模塊在HCI(Host Controller Interface)層以上的藍牙核心協議(L2CAP、RFCOMM層)參與工作,負責對上層提供細粒度安全保護。
(4)應用層加密。該模塊通過調用軟件算法庫中的加密算法對應用層的敏感數據進行加密,達到對用戶數據的機密性保護。
(5)軟件安全算法庫。該模塊主要是由各種安全算法組成的安全算法庫,為HCI層以上的藍牙用戶認證、應用層加密等提供復雜計算能力。
軟件安全算法庫一般由計算開銷較大的密碼算法組成,是保證藍牙上層數據安全的關鍵模塊。藍牙通信過程中,XAP處理器主要負責運行藍牙協議棧,計算量較大的算法放在XAP處理器內實現會使得藍牙通信速率急劇下降,影響通信質量。與XAP處理器相比,芯片內集成的DSP協處理器具有更高的數據處理能力,將密碼算法利用芯片內的DSP協處理器來實現,不僅可以提高算法的執行速度,而且可以最大限度地保證藍牙通信質量。因此,在XAP處理器內實現標準藍牙協議棧,L2CAP層以上安全機制所需要的安全算法,則通過DSP協處理器空間的安全算法庫實現,同時,由于藍牙音頻編解碼對計算速度要求較高且計算速度較快,仍由DSP協處理器來實現。
2.2 安全固件工作流程設計
CSR公司(Cambridge Consultants Ltd)提供了運行于BlueCore藍牙芯片上的藍牙協議棧(BlueStack),協議棧包括了藍牙核心協議及常用的上層應用剖面。因此,在系統上電復位后,藍牙通信雙方通過PIN碼配對,實現設備認證,并建立L2CAP連接,隨后調用DSP算法庫進行藍牙用戶認證,根據認證結果,為上層ACL (Asynchronous Connection-Oriented)應用分配RFCOMM層連接端口,或為音頻數據流分配SCO(Synchronous Connection-Oriented)端口。上層應用也可以調用DSP算法庫對數據進行加密,保證上層應用層敏感數據安全。藍牙單芯片上實現數據安全傳輸的固件工作流程如圖2所示。

圖2 藍牙單芯片安全傳輸固件工作流程圖
在L2CAP層以上的安全機制中,所用到的安全算法均通過調用軟件算法庫接口來實現。因此算法庫的設計、算法庫與協議棧的數據傳遞問題是藍牙單芯片安全傳輸的關鍵。
利用藍牙芯片內的DSP協處理器構建軟件算法庫是實現上層藍牙安全固件的關鍵。本章在文獻[14]研究的基礎上,從數據傳輸方式選擇、操作鏈結構設計以及算法庫啟動過程三個方面深入研究DSP算法庫的構建方法。
3.1 算法庫結構設計
根據藍牙單芯片安全傳輸方案總體結構設計,算法庫接受由藍牙HCI層以上藍牙協議棧內藍牙用戶認證與應用層加密模塊的調用,為相應模塊提供復雜數據的快速計算能力,并將計算結果返回調用模塊。結合算法庫功能及藍牙芯片在DSP數據處理特點,設計基于DSP協處理器的算法庫結構如圖3所示。

圖3 算法庫內部結構
算法庫由算法選擇、算法參數設置、安全算法、臨時數據緩沖區、數據交互接口五個基本模塊組成,其中各模塊的基本功能如下:
(1)安全算法。該模塊是算法庫的核心,有安全傳輸方案中HCI層以上所有安全算法,包括認證算法、協商算法、加密算法等。
(2)算法選擇。該模塊根據藍牙協議棧中安全模塊的要求,從安全算法模塊中選擇對應的算法,為算法分配必要資源,建立適合算法運行的內部環境,并啟動算法處理中斷進程。
(3)算法參數設置。該模塊負責接受由藍牙協議棧發送的算法可變參數,如密鑰、隨機數等,在算法選擇模塊正確調用安全算法的基礎上,為算法設置必要的運行參數。
(4)臨時數據緩沖區。該模塊主要負責安全算法運算過程中臨時數據變量的存儲,通過設置靜態表或循環緩沖的方式解決因算法去除與數據傳遞速率不匹配的問題。
(5)數據交互接口。該模塊主要負責與藍牙協議棧之間進行數據交互,根據控制消息與數據流特點,選擇適合的數據交互方式,為算法庫正常運行提供必要數據準備。
數據交互接口是實現DSP協處理器與藍牙棧之間數據傳遞的重要通道?;贒SP協處理器的算法庫與藍牙協議棧之間傳遞的數據包括控制類消息傳遞與應用數據流兩類,下面對算法庫的數據交互操作接口進行進一步詳細設計。
3.2 數據交互接口設計
藍牙協議棧與DSP協處理器算法之間有三種通信方式:短消息(Short M essage)、長消息(Long M essage)、數據流(Stream)。其中短消息與長消息實現方式較為簡單,占用資源較少,數據流傳遞方式實現相對較為復雜,但數據傳遞速度快,適合批量數據集中場合。
(1)控制消息傳遞
在DSP協處理器算法庫中,控制消息主要包括算法庫啟動、停止指令,認證、密鑰協商等,數據傳遞時機較為分散,數據量較小,因此可以采用消息傳遞機制來實現。
(2)應用數據流傳遞
應用數據流通常為需要算法處理的批量的用戶數據,如需要進行加解運算的明文或密文。由于數據流傳遞方式在批量數據傳遞時具有明顯的性能優勢,因此可以采用數據流傳遞方式實現應用批量傳遞。藍牙協議棧與DSP協處理器之間批量數據的傳遞過程如圖4所示。

圖4 批量數據傳遞過程示意圖
藍牙協議棧將待處理數據寫入MMU提供的虛擬寫端口,DSP完成對數據處理后,將數據寫入虛擬讀端口,并最終傳遞到藍牙協議棧。其中涉及三次數據轉移過程,即輸入流例程、變換流例程、輸出流例程,它們的功能分別是:
①輸入流例程。該例程主要負責將數據由輸入緩沖復制到DSP RAM空間內的MMU讀端口緩沖。
②變換流例程。該例程主要負責DSP RAM空間內的數據經DSP協處理器算法庫處理后,寫入輸出緩沖。
③輸出流例程。該例程主要負責將數據由DSP的MMU寫端口緩沖復制到MMU端口輸出緩沖。
其中輸入/輸出流對象用于在協議棧緩沖與cbuffer之間傳遞數據,操作函數利用cbops的庫操作$cbops. shift,通常采用定時中斷方式實現。變換流不僅實現了輸入緩沖與輸出緩沖之間的數據傳遞,而且完成了DSP數據處理,采用查詢方式實現。結合DSP協處理器的內部結構,設計變換流的三級操作鏈結構圖5所示。

圖5 變換流三級操作鏈結構
在變換數據流中,通常采用中斷方式對輸入緩沖中的數據進行實時處理。在變換數據流的中斷例程中,利用cbops操作結構為每一個數據流建立三級操作鏈結構,即定義變換流的數據流對象、操作符對象、操作函數列表,建立具有自動流控的數據流連接,并在操作函數列表中通過選擇算法庫中具體安全算法的入口地址實現對算法庫的調用。
3.3 算法庫啟動過程設計
DSP協處理器算法庫在虛擬機(VM,Virtual Machine)的控制下完成初始化,等待來自VM的控制指令,并根據需要為VM提供計算服務。在認證與協商過程中,算法庫計算結果通過消息機制回傳給藍牙協議棧,而在應用層加密時,密文直接通過數據流通道返回藍牙協議棧。圖6描述了一次應用層數據加密過程中,啟動應用層數據加密服務,建立帶自動流控的數據流傳遞機制,啟動算法庫的過程。
步驟1DSP處理器和RAM空間初始化。初始化后,各寄存器進入復位狀態,RAM空間清零,VM對DSP程序存儲區和數據區初始化。
步驟2建立數據流連接。在VM的控制下建立藍牙協議棧與端口間雙向數據流連接。
步驟3啟動DSP處理器。VM向DSP發送處理器啟動指令,指令寄存器載入程序指令,數據地址發生器產生讀數據地址。
步驟4設定DSP數據處理模塊的加密/解密模式。VM通過模式設定消息更新密鑰并生成算法各圈使用的圈子密鑰,為啟動信道加密算法做準備。
步驟5執行數據加/解操作。算法庫檢測DSP RAM輸入緩沖,有數據到來時,按算法分組長度將輸入緩沖內的數據依次進行處理,并將處理后的數據傳遞到輸出端口。收到數據傳輸結束消息,算法處理完所有數據后結束本次操作。

圖6 應用層加密中啟動DSP安全算法庫過程
根據本文藍牙單芯片安全傳輸方案的設計思想,在兩臺主機之間建立安全藍牙信道,對藍牙應用層數據傳輸速率進行測試。
4.1 實驗方案設計
為了基于DSP協處理器的藍牙單芯片安全傳輸方案性能進行驗證,本文設計如圖7所示的實驗環境。

圖7 實驗環境示意圖
其中,藍牙芯片選用CSR公司的BC05藍牙模塊。測試過程中,藍牙模塊與主機之間通過UART連接,測試數據由主機1經UART接口傳遞至BC05藍牙模塊,在藍牙模塊內處理(如加密等)完成后經藍牙信道傳遞到另一端藍牙接收模塊,藍牙接收模塊內完成數據處理(如解密等)后,經UART接口傳遞至主機2。在主機1與主機2上對數據的發送和接收速率進行統計,得到實現數據。
為了對基于DSP協處理器的藍牙單芯片安全傳輸方案的數據傳輸性能進行測試,本文設計了以下三個對照實驗:
實驗1:在藍牙信道建立后,不啟用DSP協處理器算法庫,即藍牙信道中采用明文傳輸數據,即普通藍牙通信。
實驗2:依據文獻[13]的設計思想,在藍牙信道建立后,采用XAP處理器上的加密算法對協議棧數據包進行加密,即XAP方案。
實驗3(本文方案):在藍牙信道建立后,啟用DSP協處理器算法庫對來自藍牙協議棧的數據包進行加密,并將處理結果返回藍牙協議棧。
4.2 結果分析
利用如圖7所示的實驗平臺,設定UART波特率為115 200,數據加/解密算法采用公開的AES算法(分組長度為128比特,密鑰長度為128比特,迭代次數為10次),對以上三個方案分別進行10獨立實驗,每次傳遞1 MB數據,記錄每次實驗數據,得到應用層數據傳輸速率如圖8所示。構、數據交互接口、算法庫啟動過程三個方面對方案中的DSP協處理器算法庫的構建方法進行了重點研究。實驗結果表明,利用DSP協處理器來實現計算量較大的密碼算法能夠盡量減少對藍牙數據傳輸速率的影響,實現藍牙數據“不落地”處理,有效保證了藍牙數據傳輸安全。另外,本文僅對DSP處理器內一種加密算法的執行性能進行測試,當DSP處理器內運行多個復雜密碼算法后,對整個數據傳輸性能的影響仍有待進一步研究。同時,DSP協處理器算法庫的實現過程較為復雜,深入分析DSP內部結構特點,研究提高DSP協處理器算法并行執行性能也是需要重點研究的問題。

圖8 ACL數據包數據傳輸速率
從實驗3(本文)與實驗2[13]實驗結果可以看出,采用DSP協處理器算法庫實現的加密通信數據傳輸速率明顯高于XAP方案,因此采用DSP協處理器算法庫實驗對提高算法執行速率,減少加密過程對藍牙傳輸速率的影響具有重要作用。
從實驗3(本文)與實驗1的實驗結果可以看出,采用DSP協處理器算法庫后數據加密傳輸速率與明文傳輸速率相當,制約數據傳輸速率的關鍵在于UART通道或藍牙本身的數據傳輸。
綜上所述,基于DSP協處理器實現藍牙單芯片安全傳輸能夠滿足藍牙對數據傳輸速率要求,利用藍牙芯片內的DSP協處理器實現藍牙單芯片安全傳輸是實際可行的。
本文結合現有藍牙安全增強方案的設計方法及藍牙芯片的結構特點,設計了一種基于DSP協處理器的藍牙單芯片安全傳輸方案,并從DSP協處理器算法庫結
[1]Markus J,Susanne W.Security weaknesses in Bluetooth[M]. San Francisco:[s.n.],2001.
[2]J?rgen H K.BlueTooth—Introduction to wireless security[Z]. 2008.
[3]Hager M C T,M idkiff S F.Demonstrating vulnerabilities in Bluetooth security[J].IEEE,2003:1420-1424.
[4]Yaniv S,Avishai W.Cracking the Bluetooth PIN[C]//the 3rd USENIX/ACM Conf on Mobile Systems,Applications,and Services(MobiSys),2005.
[5]A lbert L,Erhan ?,Murat A,et al.Relay attacks on Bluetooth authentication and solutions[M].Berlin Heidelberg:Springer-Verlag,2004.
[6]王利濤,郁濱.藍牙用戶認證方案的設計與仿真實現[J].計算機工程與設計,2008,29(14):3607-3609.
[7]郁濱,王利濤.一種藍牙訪問控制方案的設計與實現[J].儀器儀表學報,2007.
[8]盧小亮,劉連東,郁濱.一種基于角色的藍牙強制訪問控制方案的設計[C]//計算機應用與進展學術年會(CACIS),2008.
[9]李穎川.藍牙安全平臺設計與安全傳輸研究[D].鄭州:信息工程大學,2008.
[10]李海燕,郁濱.基于NiosII的藍牙主機設計與實現[J].計算機工程與設計,2009,30(22):5116-5119.
[11]H?m?l?inen P,Liu N,Sterling R.Design and implementation of an enhanced security layer for Bluetooth[C]// Croatia Z.8th International Conference on Telecommunications-ConTEL,2005.
[12]殷偉鳳,劉高平,李國勝,等.基于藍牙單芯片的嵌入式藍牙系統實現[J].計算機工程與應用,2004,40(20):111-113.
[13]黃一才,郁濱.基于藍牙單芯片的密碼算法實現方案研究[J].計算機技術與應用進展,2009:112-116.
[14]黃一才.基于藍牙的密碼資源注入系統設計與實現[D].鄭州:信息工程大學,2010.
HUANG Yicai,YU Bin
Department of Cryptography Engineering,Information Engineering University,Zhengzhou 450004,China
The Bluetooth security mechanism and the structure of the Bluetooth chip are analyzed,and then a Bluetooth security transmission scheme is proposed in this paper.By redistributing the in-chip resources,DSP coprocessor is used to deal with the comparative complex cryptographic algorithm.Contrasting with adding extra chip hardware,the proposed scheme solves the problem of information leakage and hardware complexity.Experimental results demonstrate that the scheme can not only enhance the communication security of Bluetooth and reduce the cost of Bluetooth security products, but also show s high reliability without influencing the Bluetooth transmission speed.
single Bluetooth chip;Bluetooth security;DSP coprocessor;Bluetooth core protocol stack;Bluetooth security transmission;algorithms library
A
TP309.1
10.3778/j.issn.1002-8331.1209-0122
HUANG Yicai,YU Bin.Design of bluetooth security transmission scheme based on DSP cop rocessor.Computer Engineering and Applications,2014,50(16):81-85.
黃一才(1985—),男,助教,研究領域為短距離無線通信技術,信息安全;郁濱(1964—),男,博士,教授,研究方向為無線通信、系統工程、信息安全。E-mail:HuangYicai3698@163.com
2012-09-14
2012-11-12
1002-8331(2014)16-0081-05
CNKI網絡優先出版:2012-12-18,http://www.cnki.net/kcms/detail/11.2127.TP.20121218.1521.013.htm l