?
一種利用NFC技術實現藍牙快速連接的研究
0引言
近年來,隨著人們對汽車智能化體驗提出更高的要求,汽車電子領域發展加快,進一步促進電子、通信等技術在汽車領域的應用。藍牙通信技術一直以來都是車載通信的主要無線技術。傳統的車載藍牙依靠手機與車載藍牙進行人工的對碼連接,步驟繁瑣,且經常出現卡死或者連接不上等狀況,這些都極大地降低了交互體驗。而最近幾年,近場通信(near field communication,NFC)技術得到了長足的發展,趨于成熟。NFC技術是由飛利浦公司和索尼公司共同研究開發出的一種互聯技術,用于非接觸式的識別[1]。作為一種標準化的短距離高頻無線通信技術,NFC技術的工作頻率為13.56 MHz,通信距離為5~10 cm[2]。相比較其他的射頻識別(radio frequency identification,RFID)技術,NFC具有讀寫距離極短的特點,然而這種看似的劣勢本身就限制了潛在黑客的監聽與攻擊,安全性更高。如果能巧妙利用這兩種通信技術的特點,將帶來更好的用戶體驗以及通信安全性,并提高汽車電子在市場中的競爭力。因此,將NFC技術應用于移動支付領域成為了研究熱點。
1 NFC技術方案
1.1NFC工作模式
NFC在卡模擬模式、讀寫器模式、點對點通信模式這3種模式下工作。
(1) 卡模擬模式。NFC在卡模擬工作模式下相當于非接觸式IC卡,將某些信息寫入帶有NFC設備的移動設備,信息被外部設備讀取之后再返回指導下一步操作的指令。因此,不需要改變現有設備就能夠使用NFC移動設備進行移動支付等活動。
(2) 讀寫器模式。NFC在讀寫器模式下相當于可以讀寫的標簽,比如電子海報、景點地圖等,將廣告數據、地圖數據寫入NFC標簽中,手持NFC移動設備可以對其進行讀取,以此獲得需要的信息。
(3) 點對點模式。NFC在點對點模式下,能夠實現兩臺帶有NFC移動設備之間數據的傳輸與通信。比如兩臺設備交換名片或者幫助兩臺藍牙設備之間的連接,通過交換藍牙連接必須的數據,以避免藍牙連接時繁冗的操作過程[3]。
1.2NFC通信模式
(1) 主動通信模式。NFC在主動通信模式下,發起方和接收方交替產生射頻場,發起方按照預先設置的傳輸速度進行通信,接收方也需要按照相同的傳輸速度用負載調制數據進行應答。
(2) 被動通信模式。NFC在被動通信模式下,發送方產生射頻場。該射頻場激勵接收方設備。此時,發送方再按照約定的速度開始通信,而接收方按照相同速度用負載調制數據進行應答。
1.3NFC架構
NFC 技術基于非接觸式技術,并可以兼容非接觸式IC卡標準(ISO 14443協定)無線通信技術。該技術已成為正式的國際標準,即ISO 18092標準(NFCIP-1)。NFC技術的架構,自下而上包括物理層、數據交換層、應用層。最底層物理層的標準包括ISO 14443、ISO 18092、ISO 15693,如圖1所示。數據交換層主要包括讓NFC設備在3種模式下進行數據交換的協議標準。NFC架構圖如圖1所示。

圖1 NFC架構示意圖
2基于Android的NFC終端
由于NFC在電子消費領域需求的膨脹,將NFC技術與手機結合的呼聲也漸漸變高。這種結合不僅使得智能手機在電子消費領域得以應用,也將在無形之中提高這種智能設備在生活中的重要性。具有NFC的智能移動設備應用于非接觸式支付時,能夠代替信用卡以及電子智能卡。除此之外,該智能移動設備還能在身份識別、社交、公交卡等實際生活中有所應用。
NFC終端和普通的Android設備終端基本相似,只是增加了NFC模塊,以實現其功能。系統硬件框圖如圖2所示。NFC模塊具有通信接口和控制接口,通過UART實現其與基帶芯片的通信,通過基帶芯片GPIO實現對NFC模塊的啟動控制。NFC芯片通過SWP接口和手機SIM卡相連接,而手機SIM卡則是作為NFC模塊的安全保證,將用戶的信息存儲在SIM卡中,NFC模塊能夠通過SWP接口讀取其中的信息。

圖2 系統硬件框圖
基帶芯片是標準手機的基礎模塊,能收發和處理數據通信,并提供了與存儲器模塊、電源模塊、SD卡、WiFi模塊、藍牙模塊、NFC模塊、SIM卡等的接口[4]。
NFC模塊主要包括電源模塊、射頻模塊、基帶處理器模塊。電源模塊為NFC模塊供電并控制電源;射頻模塊將基帶信息調制后發射,并接收解調返回的射頻信息;基帶處理器模塊負責將信息進行編碼,并對接收的數據信息解碼。
2.1NFC模塊與基帶芯片連接
基帶芯片實現了對NFC模塊的完全控制,UART通信只需要通過兩根傳輸線,就可以完成數據的收發。由于UART接口設計方式較為靈活便捷,傳輸速率也可以通過軟件來進行定義。因此,使用UART接口將NFC模塊與基帶芯片連接,既便于基帶芯片對NFC模塊的控制,也不妨礙手機的其他功能。
2.2NFC模塊與SIM卡連接
模塊連接圖如圖3所示。SIM卡作為重要安全模塊,通過SWP接口與NFC模塊連接,由NFC通過SWP[5]接口讀取SIM卡中在預先存儲的安全信息[6]。通過SIM卡上的C6引腳(即SWP)與NFC控制器連接,實現全雙工通信。SIM卡的RST、CLK、I/O直接與基帶芯片連接, SWP與NFC模塊連接[7]。

圖3 NFC與SIM模塊連接圖
3NFC與藍牙技術結合方案
本課題設計的基于NFC與藍牙技術解決車載應用的主要功能,是利用NFC短距離通信安全、便捷、迅速的特點,代替藍牙傳輸連接過程中搜索設備、配對等復雜的操作。在NFC基礎上,不使用藍牙規范自帶的加密機制,發送方設備在傳輸數據前,先通過NFC觸碰方式向接收方設備發送藍牙MAC地址,以避免PIN碼的產生;在短時間的連接配對后,將數據使用藍牙非安全模式發送給對方[8]。
3.1NFC與藍牙硬件連接
藍牙終端能夠通過NFC進行快速配對連接,主要是依據了NFC聯盟提出的簡單安全配對協議(bluetooth secure simple pairing,SSP)。由于SSP協議是啟用頻外配對,NFC鏈路可以完成信息交換并參與頻外配對的過程。因此,藍牙終端的配對不再需要繁瑣的搜索連接以及PIN碼認證。
由于目前Android 4.0版本內部建立藍牙進階音效廣播協議(advanced audio distribution profile,A2DP),更是方便了利用NFC加速藍牙配對的過程。配對過程包括以下兩個步驟:首先從外部存儲器中讀取NFC數據交換格式(NFC data exchange format,NDEF)記錄,然后在兩個藍牙終端間進行連接配對。硬件連接圖如圖4所示。

圖4 NFC與藍牙硬件連接圖
3.2基于NFC車載藍牙快速連接
NFC技術與藍牙技術的優劣互補,能夠加速車載藍牙的連接速度。連接終端所使用的藍牙技術中的簡單安全配對(secure simple protocol,SSP)協議,是2011年SIG及NFC論壇推薦的基于NFC的藍牙連接協議。SSP協議使用頻外配對時,NFC鏈路就可參與到頻外配對,并且完成信息交換。因此,藍牙終端的配對無需再搜索連接及PIN碼認證,可大大縮短連接的時間。
軟件流程圖如圖5所示,主要包括以下幾個步驟。

圖5 軟件流程圖
①由處理芯片生成SSP協議中規定的藍牙OOB數據包。該數據包包含2字節的OOB數據長度、6字節的藍牙器件地址和OOB操作數據。其中,OOB操作數據包含藍牙模塊名稱、HASH C碼、R碼、UUID(藍牙中每個服務及其屬性的全球唯一身份編碼,此處使用藍牙連接過程服務的UUID)以及設備等級碼。
②OOB數據生成完畢后,處理器再將OOB數據包根據NFC數據交換格式(NDEF)打包成一條完整的NDEF記錄,由手持終端A的NFC模塊發送。
③發送完成后手持終端A控制藍牙Socket的listen函數進入監聽等待狀態。
④手持終端的藍牙模塊則通過accept函數接收車載終端的連接請求,向系統注冊程序UUID,并開啟發送數據線程。
為了加強系統安全性,將橢圓曲線(elliptic curve cryptography,ECC)加密算法加入連接配對過程[9]。使用這種加密算法,手持終端在傳輸OOB數據前,先通過NFC觸碰方式向接收方設備傳遞ECC密鑰。車載終端根據接收到的ECC密鑰正確解密后,解析手持終端的記錄中包含的OOB信息,根據OOB信息中的藍牙名稱、地址以及唯一的UUID數據,通過藍牙Socket中的connect函數,向手持終端申請連接請求。對所傳輸數據可采用密鑰進行加密,再將加密后的信息使用藍牙非安全模式發送給對方,接收方接到后進行解密,還原數據,由此完成兩設備間的數據發送。這將在提高藍牙連接速度的同時極大地提高數據傳輸的安全性。
3.3測試及結果分析
本系統實現了通過NFC來加速藍牙配對連接過程。下面對傳統藍牙配對傳輸、NFC加藍牙傳輸兩種方案進行對比測試。兩種方案耗時測試圖如圖6所示。

圖6 兩種方案耗時測試圖
測試所使用的平臺是帶有NFC模塊及藍牙模塊的OK6410開發板(模擬車載系統)和自帶NFC以及藍牙模塊的中興NX505J(CPU主頻為2.5 GHz,內存為2 GB)智能手機,分別配置了Android 4.0 系統。為了減少測試的誤差,本測試設計使用傳統藍牙方式時以觸碰屏幕開始計時,發送方接收到回送數據停止計時;使用NFC加藍牙方式時,以NFC觸碰開始計時,發送方接收到回送數據停止計時。計時停止后,將時間值傳送給上位機(使用VB.NET平臺制作)保存,全部數據接收完畢后,上位機自動調用Matlab 7.0插件,對數據進行分析,得出結果。測試全程采用機器計時,減少人工計時的誤差。
測試1:測試在藍牙未配對的情況下兩種方式的藍牙連接耗時并加以分析。為避免人工操作中設備觸碰、點擊屏幕等動作的延時造成的誤差,對連接計時進行了20次測試,并取平均值。對比結果如表1 所示。

表1 藍牙(未配對)連接耗時對比
測試2:為分析出兩種方案的耗時區別在哪個階段,測試了在藍牙已配對的情況下,兩種方式的藍牙連接耗時,并加以分析。為避免誤差,對連接計時進行了20次測試,并取平均值,對比結果如表2所示。

表2 藍牙(已配對)連接耗時對比
根據表2可知,對于兩種連接方法,在已配對的藍牙建立上層Socket連接的耗時就發送方而言幾乎差不多,而對接收方來說采用NFC加藍牙的稍勝一籌。其中的時間差是由于傳統藍牙方案的接收方需作為服務器等待發送方發出請求,故需要先于發送方開啟并等待;而NFC加藍牙方案則是發送方將連接所需參數推送給接收方并由接收方建立連接,所以耗時稍短。
從圖6及表1則可以清晰地看出,相比較傳統藍牙的搜索、配對、認證的過程,基于NFC的藍牙連接速度明顯較快。此外,實驗結果是在信道空閑的情況下測得的,如果在公共場所等藍牙設備較多的場合,傳統方式的藍牙連接耗時還將大幅增加;而使用NFC技術的點對點模式來輔助藍牙連接,則可以省去搜索和選擇的過程,大幅提高連接速度。對比表1,使用NFC藍牙的方案省略了配對步驟,且快于傳統藍牙的連接方案。因此,對比結果可以說明使用NFC加速的藍牙連接耗時性能明顯優于傳統藍牙。
4結束語
本文實現了基于Android的NFC功能,并提出了將其應用于汽車電子的方案,通過測試比較其與傳統藍牙配對的連接耗時分析結果。在Android系統中加入NFC功能模塊,是現代智能化設備日益強烈的需求。而再將其應用于汽車電子中,無論是車載電話、藍牙音頻還是電子鑰匙,都簡化了人們的生活,提高行駛過程中的安全性,為用戶提供了良好的體驗。
參考文獻
[1] 何彪,周開班.基于NFC技術的藍牙對象交換方法[J].微計算機信息,2009(6):133-134.
[2] 胡星波,晏渭川.基于Android的NFC實現與應用[J].電視技術,2011,35(21):84-88.
[3] 陸凱,孟旭東.NFC移動通信終端的研究與應用[J].現代電信科技,2008,38(11):18-21.
[4] 董琦.基于Android平臺的NFC終端設計[D].成都:電子科技大學,2013.
[5] 楊嘉.具有NFC功能的移動通信終端電路設計[J].中國新通信,2014(15):96.
[6] 潘雪峰,崔鶴.基于NFC近場通信技術的智能卡集成系統模型設計[J].北京聯合大學學報:自然科學版,2014,28(2):48-53.
[7] 楊振興.NFC技術Card Emulation模式在Android系統中的應用研究[J].軟件導刊,2014(2):113-115.
[8] 馬捷,鄂金龍.用NFC技術快速建立藍牙安全連接問題研究[J].計算機應用與軟件,2013,30(3):207-212.
[9] 張文,夏戈明,周翱隆,等.一種安全加固的NFC無線通信連接認證加速系統[J].信息網絡安全,2013(11):17-21.
Research on Bluetooth Quick Connection Implemented by Using NFC Technology
朱正偉錢露張南郭楓周謝益
(常州大學信息科學與工程學院,江蘇 常州213164)
摘要:針對汽車電子應用中藍牙設備連接速度慢、操作冗余等問題,提出了一種利用近場通信(NFC)技術加速藍牙連接的方法。該方法采用基于Android系統的NFC通信技術代替傳統藍牙,完成數據傳輸前的設備搜索、選擇、配對、安全檢測等一系列繁瑣工作;利用NFC點對點通信和高速傳輸的特點,大幅縮減藍牙的搜索時間并完成PIN碼的交換;利用NFC超短通信距離的特點、橢圓曲線加密(ECC)算法以及Android系統讀取SIM安全碼技術,加強連接的安全性。實驗結果驗證了該方法應用于車載藍牙連接的可行性及安全性,表明該方法可以大幅縮減藍牙連接的時間,并在一定程度上提高了連接的安全性。
關鍵詞:汽車電子通信藍牙無線射頻識別移動通信終端橢圓曲線加密算法
Abstract:To overcome the problems exciting in automotive electronic application,such as slow speed of the Bluetooth device connection and the redundancy of operation,a new method for accelerating the Bluetooth connection with near field communication(NFC) technology is proposed.Instead of the traditional Bluetooth,the NFC technology based on Android system is used to complete a series of tedious works before data transmission,including equipment search,selection,matching,and security detection,etc.By using the features of NFC,i.e.,point to point communication and high speed data transmission,the search time of Bluetooth is substantially reduced,and the exchange of PIN codes is realized.With the advantage of NFC for shortening the communication distance,ECC encryption algorithm and the technology of reading SIM security code via Android system,the security of the connection is strengthened.The experimental results verify the feasibility and safety of applying this method in automotive Bluetooth connection; and indicate that the method greatly reduce the Bluetooth connection time,and enhance the security of connection.
Keywords:Automotive electronicsCommunicationBluetoothWirelessRFIDMobile communication terminalElliptic curve encryption algorithm
中圖分類號:TP391;TH86
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201604016
國家中小企業創新基金資助項目(編號:09C26223203878)。
修改稿收到日期:2015-05-30。
第一作者朱正偉(1963-),男,2006年畢業于南京理工大學測試計量技術及儀器專業,獲博士學位,教授;主要從事嵌入式方向的研究。