<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > BLE藍牙通信卡藍牙功能的技術研究與測試

          BLE藍牙通信卡藍牙功能的技術研究與測試

          作者:閻占林,黃健文,黃健,李俊磊,蔡秋艷,楊光(中國電信股份有限公司研究院,廣州510630) 時間:2022-04-25 來源:電子產(chǎn)品世界 收藏
          編者按:2021年5G開啟大規(guī)模商用,數(shù)字貨幣、數(shù)字身份識別等行業(yè)在5G網(wǎng)絡環(huán)境下加速推廣[1]。在手機通信卡上加載數(shù)字貨幣、數(shù)字身份識別等行業(yè)應用時,存在部分Android終端和蘋果終端無法通過ISO/IEC 7816機卡通道訪問手機通信卡的問題,導致數(shù)字貨幣、數(shù)字身份識別等行業(yè)應用無法在此類終端上使用。

          摘要:為提升數(shù)字貨幣、數(shù)字身份識別等行業(yè)應用在終端上的適配性,在手機上集成BLE(Bluetooth Low Energy)藍牙模塊,讓手機具備藍牙通信接口,終端可以通過藍牙通信接口或ISO/IEC 7816機卡通道接口訪問手機,進而可加速推進數(shù)字貨幣、數(shù)字身份等行業(yè)應用在5G網(wǎng)絡下的發(fā)展。

          本文引用地址:http://www.ex-cimer.com/article/202204/433461.htm

          關鍵詞;通信卡;;

          當今日常生活工作中,人們出行手機不離手,結合2021 年5G 大規(guī)模商用,數(shù)字貨幣、數(shù)字身份應用等行業(yè)應用發(fā)展如火如荼[2],以及小區(qū)門禁、公司門禁、搭乘公交地鐵、醫(yī)院健康卡等各種應用場景,設想在手機通信卡上加載上述應用場景,但是部分Android(基于Linux 的智能操作系統(tǒng))終端和蘋果終端無法通過ISO/IEC7816 機卡通道訪問手機通信卡[3],為了解決部分Android 終端和蘋果終端無法通過ISO/IEC7816 機卡通道訪問手機通信卡的問題,在手機通信卡上集成BLE(bluetooth low energy,低功耗藍牙技術)藍牙模塊,從而手機通信卡具備BLE 藍牙通信接口,手機終端可以通過藍牙通信接口或ISO/IEC 7816 機卡通道接口訪問手機通信卡。

          BLE 低功耗藍牙技術,具有低成本、短距離等技術特點,工作頻段為2.4GHz ISM 射頻頻段。BLE 藍牙技術采用非??焖俚倪B接方式,平時可以處于“非連接”狀態(tài)(節(jié)約功耗),此時鏈路兩端相互之間只是知曉對方,只有在必要時才開啟鏈路,然后在盡可能短的時間內(nèi)關閉鏈路。在手機通信卡上封裝BLE 藍牙模塊,讓手機通信卡具備BLE ,通過BLE ,實現(xiàn)手機終端與卡片通信模塊的數(shù)據(jù)交互,解決部分手機終端無法通過ISO/IEC 7816 機卡通道訪問手機通信卡的問題,從而提高用戶的使用體驗感,滿足用戶的各類需求。

          1   通信卡組成架構

          BLE 藍牙通信卡的硬件構成包括通信卡SE 芯片模塊和BLE 低功耗藍牙芯片模塊兩部分[4]。采用SIP(System In a Package 系統(tǒng)級封裝)封裝工藝,將通信卡SE 芯片和芯片封裝在一張手機通信卡上面,形成既有通信功能,又滿足各行業(yè)的非接觸應用場景的BLE 藍牙通信卡,BLE 藍牙通信卡的形狀和目前運營商發(fā)行的手機通信卡的形狀是相同的。其中BLE 低功耗藍牙芯片支持Bluetooth Specification Version 4.1 標準規(guī)范及以上版本[5]。

          BLE 藍牙通信卡生態(tài)系統(tǒng)包括手機終端藍牙應用、BLE 低功耗藍牙芯片模塊、通信卡SE 芯片模塊共同構成,系統(tǒng)架構如圖1 所示。

          1650856555928429.png

          手機終端藍牙應用和BLE 藍牙通信卡之間的所有數(shù)據(jù)交互過程均由手機終端藍牙應用主動發(fā)起,手機終端應用將需要發(fā)送的數(shù)據(jù)按照藍牙接口應用層協(xié)議進行協(xié)議封裝后通過藍牙接口發(fā)送給BLE 藍牙通信卡,BLE 藍牙通信卡收到手機終端消息后執(zhí)行的內(nèi)部邏輯處理流程如下:

          1)BLE 藍牙模塊按照藍牙接口應用層協(xié)議對收到的消息進行協(xié)議解析;

          2)若解析后的數(shù)據(jù)不需要發(fā)送到通信卡SE 模塊進行處理,則由BLE 藍牙模塊直接進行處理,并將處理結果按照藍牙接口應用層協(xié)議交由手機終端進行響應。

          若解析后的數(shù)據(jù)需要發(fā)送到通信卡SE 模塊進行處理,則由BLE 藍牙模塊將解析后的數(shù)據(jù)通過其與通信卡SE 模塊之間的硬件鏈路傳輸給通信卡SE 模塊進行處理,通信卡SE 模塊處理完畢后通過硬件鏈路將處理結果返回給BLE 藍牙模塊,最后,BLE 藍牙模塊將從通信卡SE 模塊獲取的數(shù)據(jù)處理結果按照藍牙接口應用層協(xié)議進行協(xié)議封裝后交由手機終端進行響應。

          2   BLE藍牙模塊接口要求

          BLE 藍牙接口支持Paring/Bonding 模式,BLE 藍牙通信卡和手機終端配對連接成功后,BLE 藍牙通信卡會保存LTK(Long Term Key,長期密匙),保證BLE 藍牙通信卡在不修改藍牙配對碼的前提下,BLE 藍牙通信卡與該手機終端再次進行藍牙連接時不需要輸入藍牙配對碼[6-7]。

          2.1 藍牙廣播參數(shù)

          藍牙通信中BLE 藍牙通信卡是從設備,負責進行藍牙廣播。在上電啟動后且藍牙處于未連接狀態(tài)時,BLE 藍牙通信卡以約定的廣播間隔持續(xù)發(fā)送廣播數(shù)據(jù)包,直至藍牙被連接。

          藍牙廣播參數(shù)取值范圍如表1所示。

          表1 藍牙廣播參數(shù)取值范圍

          1650857389111535.png

          BLE 藍牙通信卡藍牙廣播數(shù)據(jù)包由6 字節(jié)藍牙MAC 地址與31 字節(jié)廣播數(shù)據(jù)組成。

          BLE 藍牙模塊MAC 地址,通常表示為11:22:33:44:55:66 的形式,長度為6 Bytes。手機終端藍牙主設備通過藍牙廣播數(shù)據(jù)獲取BLE 藍牙從設備MAC 地址。

          2.3 藍牙連接參數(shù)

          BLE 藍牙通信卡和手機終端建立連接之后,所有的數(shù)據(jù)通信都是在連接事件(Connection Events)中進行,每個連接事件中,都需要由手機終端發(fā)起數(shù)據(jù)包,再由BLE 藍牙通信卡回復。藍牙連接參數(shù)包含BLE 藍牙通信卡的藍牙連接間隔、藍牙連接超時時間與從設備延遲時間三個參數(shù),通過修改這三個參數(shù),可設置藍牙連接過程中的傳輸速度和功耗。

          藍牙連接參數(shù)取值范圍如表2 所示。

          1650857445353334.png

          2.4 藍牙配對碼

          為了保證藍牙配對碼數(shù)據(jù)安全,BLE 藍牙通信卡實現(xiàn)對藍牙配對碼的安全存儲和訪問,藍牙配對碼存儲于通信卡SE 模塊中,BLE 藍牙通信卡設置出廠初始藍牙配對碼默認值。手機終端藍牙應用在首次安裝使用時提示用戶初始藍牙配對碼,并提示用戶修改藍牙配對碼。

          支持通過藍牙接口、ISO7816 接口修改藍牙卡的藍牙配對碼值,藍牙配對碼修改指令命令報文如表3 所示。

          1650858947706005.png

          2.4 藍牙配對流程

          BLE 藍牙通信卡作為從設備,持續(xù)發(fā)送藍牙廣播,手機終端作為主設備,在收到藍牙廣播后發(fā)起藍牙配對請求,用戶在連接超時時限內(nèi)輸入正確的藍牙配對碼,BLE 藍牙通信卡的藍牙模塊會將藍牙配對碼發(fā)送給通信卡SE 模塊,通信卡SE 模塊會將其與存儲在通信卡SE中的藍牙配對碼的值進行比對,并將比對結果返回給藍牙模塊,若比對結果完全一致,則配對成功,建立藍牙連接,若比對結果顯示不一致,則配對失敗,之前的連接自動斷開,BLE 藍牙通信卡藍牙配對流程如圖2 所示。

          image.png

          2.5 藍牙配對流程及藍牙配對碼修改測試

          在測試終端藍牙中進行藍牙設備搜索,搜索到圖3“CT02000108”名稱的藍牙卡設備,點擊該藍牙卡設備名稱,進行藍牙卡與測試終端藍牙配對連接,測試終端藍牙測試工具界面彈出圖4“藍牙配對請求”的彈窗,輸入正確的藍牙卡藍牙配對碼與測試終端藍牙進行藍牙連接配對后,藍牙卡與測試終端藍牙功能配對連接成功,如圖5 所示。

          image.png

          圖3 藍牙卡設備名稱

          image.png

          圖4 藍牙配對請求

          image.png

          圖5 藍牙卡設備與測試終端藍牙連接成功

          藍牙卡與測試終端藍牙功能配對連接成功后,打開測試工具,進行修改藍牙卡配對碼異常測試;修改藍牙配對碼正常測試,修改后藍牙配對碼變?yōu)?54321;修改藍牙配對碼后修改藍牙參數(shù)等測試案例,測試結果如圖6 所示。

          1650859184451758.png

          圖6 藍牙配對碼修改測試

          2.6 藍牙服務與特征值

          終端和藍牙卡之間的藍牙連接一旦建立,則可通過Generic Attribute Profile(GATT) 中的Service 和Characteristic 進行藍牙通信。

          UUID 完整長度為128 位,主從設備間為提高傳輸效率只發(fā)送16 位UUID,接收方收到后需補上藍牙技術聯(lián)盟(SIG)定義的128 位通用唯一識別碼UUID 基數(shù)。示例如下:

          藍牙UUID 基數(shù):

          00000000–0000–1000–8000–00805F9B34FB

          如要發(fā)送的16 位UUID 為0xFF10,完整的128 位的UUID 為:

          0000FF10–0000–1000–8000–00805F9B34FB

          BLE 藍牙卡使用的服務與特征值如表4 所示。

          1650859291239745.png

          3   BLE藍牙模塊藍牙接口通信協(xié)議

          藍牙接口通信協(xié)議是手機終端與BLE 藍牙通信卡之間的應用層通信協(xié)議,定義了手機終端與BLE 藍牙通信卡通過藍牙接口進行數(shù)據(jù)交互的消息報文格式。通過藍牙接口通信協(xié)議,可進行APDU 指令或終端管理數(shù)據(jù)報文的下發(fā),實現(xiàn)數(shù)據(jù)的讀取和寫入[8-10]。

          藍牙接口通信協(xié)議定義的主要內(nèi)容如下:

          (1)卡外實體與BLE 藍牙通信卡通過藍牙接口進行APDU 指令交互時所發(fā)送和接收的報文格式;

          (2)卡外實體通過藍牙接口設置和查看BLE 藍牙通信卡相關藍牙參數(shù)的報文格式;

          (3)消息交換的方法。

          藍牙接口通信協(xié)議結構如圖7所示。

          1650861315508156.png

          圖7 藍牙接口通信協(xié)議結構

          手機終端和BLE 藍牙通信卡之間的協(xié)議報文交互如圖7 所示,在進行數(shù)據(jù)傳輸時,數(shù)據(jù)的發(fā)送端根據(jù)消息長度將消息數(shù)據(jù)拆分成若干包,交由通信鏈路層完成發(fā)送,接收端根據(jù)協(xié)議把收到的數(shù)據(jù)包合并成為消息,從而完成單次數(shù)據(jù)交互。

          本協(xié)議在會話層傳遞的會話消息由消息數(shù)據(jù)和一個2 bytes 的消息校驗和組成,校驗和采用CRC16 算法。消息進行分包時需嚴格遵循以下原則:

          (1)每包的協(xié)議字節(jié)和數(shù)據(jù)字節(jié)的總長度不超過20 bytes;

          (2)4bits 表示的當前包位置從0x00 開始編號、最大序號為0x0E;

          (3)多包發(fā)送的情況,除末尾包外,其余包須填充滿20 bytes。

          3.1 藍牙接口通信協(xié)議消息格式

          消息數(shù)據(jù)包是手機終端與BLE 藍牙通信卡之間進行數(shù)據(jù)交互的載體,傳輸方向為雙向傳輸。消息數(shù)據(jù)包在傳輸時按實際長度進行分包,每包的協(xié)議字節(jié)和數(shù)據(jù)字節(jié)的總長度不超過20 bytes,多包發(fā)送的情況,除末尾包外,其余包須填充滿20 bytes。每個消息數(shù)據(jù)包分為包頭和數(shù)據(jù)兩個部分,數(shù)據(jù)包定義具體如表5 和表6所示。

          1650861394155567.png

          1650861421350094.png

          1650861456242482.png

          3.2 藍牙接口通信協(xié)議消息數(shù)據(jù)包示例

          3.2.1 單包發(fā)送單包接收情形

          1650861625797484.png

          image.png

          3.2.2 多包發(fā)送多包接收情形

          1650861730475508.png

          1650861758479416.png

          3.3 藍牙接口通信協(xié)議消息傳輸

          通信雙方的消息傳輸遵循一問一答通信方式,即發(fā)送方發(fā)送完一條消息后,需等待該條消息的回復,否則不會發(fā)送下一條消息。采用順序分包方式傳遞一個消息,首包序號為0,發(fā)送方從首包開始按包序號遞增順序逐包發(fā)送,接收方收到消息數(shù)據(jù)包后按順序重新組合成一個完整的消息。如發(fā)送方發(fā)送的某個數(shù)據(jù)包返回錯誤時,則發(fā)送方需從首包開始重新發(fā)送此消息。

          1650861822679024.png

          3.3.1 藍牙接口消息發(fā)送流程

          藍牙卡和手機終端進行藍牙配對連接,連接成功后,發(fā)送指令信息。

          當指令信息有效數(shù)據(jù)字節(jié)長度> 16 byte(一個包的最大長度為20 byte),進行數(shù)據(jù)分包,分包時,計算數(shù)據(jù)包的個數(shù)≤ 15 個(除末尾數(shù)據(jù)包外,其余數(shù)據(jù)包內(nèi)容必須填充20 byte),如果計算出數(shù)據(jù)包總數(shù)大于最大數(shù)據(jù)包總數(shù)的限制,則返回錯誤碼,結束數(shù)據(jù)包的發(fā)送;如果計算出數(shù)據(jù)包總數(shù)在最大數(shù)據(jù)包總數(shù)之內(nèi),則檢查每一個數(shù)據(jù)包數(shù)據(jù)字節(jié)是否≤ 20 byte,如果不是,則返回錯誤碼,結束數(shù)據(jù)包的發(fā),如果每一數(shù)據(jù)包數(shù)據(jù)字節(jié)≤ 20 byte,則進行數(shù)據(jù)包依次分包發(fā)送,所有數(shù)據(jù)包發(fā)送完成后,結束指令信息的發(fā)送。

          當指令信息有效數(shù)據(jù)字節(jié)長度< 16 byte(一個包的最大長度為20 byte),則發(fā)送一次單數(shù)據(jù)包,發(fā)送成功后,結束指令信息的發(fā)送。

          藍牙接口消息發(fā)送流程如圖8所示。

          1650863067314122.png

          3.3.2 藍牙接口消息接收流程

          藍牙卡和手機終端進行藍牙配對連接,連接成功后,接收指令信息。

          開始接收指令信息數(shù)據(jù)包后,判斷當前數(shù)據(jù)包是否為最后一個數(shù)據(jù)包,如果不是最后一個數(shù)據(jù)包,則繼續(xù)發(fā)送數(shù)據(jù)包(同時檢查該數(shù)據(jù)包大小是否≤ 20 byte,如果不是,則返錯誤碼);如果是最后一個數(shù)據(jù)包,則檢查最后一個數(shù)據(jù)包否≤ 20 byte,如果不是,則返錯誤碼;如果最后一個數(shù)據(jù)包數(shù)據(jù)字節(jié)≤ 20 byte,則判斷消息總長度是否等于第一個數(shù)據(jù)包顯示的數(shù)據(jù)包總長度,如果是,則表明指令信息數(shù)據(jù)包接收完成,如果不是,返回錯誤碼。

          藍牙接口消息接收流程如圖9 所示。

          image.png

          圖9 藍牙接口消息接收流程

          3.4   藍牙接口通信協(xié)議測試

          藍牙接口通信協(xié)議測試包括藍牙協(xié)議透傳功能測試與藍牙協(xié)議透傳功能異常測試。

          藍牙協(xié)議透傳功能測試包括大小數(shù)據(jù)包的透傳測試。

          藍牙協(xié)議透傳功能異常測試包括數(shù)據(jù)包總數(shù)位置測試、當前數(shù)據(jù)包位置測試、標志字節(jié)測試、長度字節(jié)測試、短數(shù)據(jù)包的發(fā)送及接收測試、長數(shù)據(jù)包的發(fā)送及接收測試、數(shù)據(jù)包亂序發(fā)送測試、隨即子包漏發(fā)測試、同序號包重發(fā)測試、異常長度數(shù)據(jù)包發(fā)送測試、異常序號數(shù)據(jù)包發(fā)送測試、異常封裝數(shù)據(jù)包發(fā)送測試等,測試結果如圖10 所示。

          1650863155838822.png

          1650863170492326.png

          1650863183549903.png

          圖10 藍牙接口通信協(xié)議測試

          3.5   藍牙接口通信安全規(guī)則

          對于從BLE 藍牙接口傳入的APDU 指令信息,通信卡SE 模塊采用和SWP 接口相同的處理方式,藍牙接口的通信接口訪問配置與SWP 接口保持一致[11]。為了安全、有效地管理通信卡中USIM、CSIM 等通信類應用,BLE 藍牙通信卡的USIM、CSIM 等通信類應用只能在ISO/IEC 7816 接口進行安全訪問,禁止在藍牙接口訪問[12-13]。

          4   結束語

          本文對BLE 藍牙通信卡的組成架構、藍牙接口要求以及藍牙接口通信協(xié)議三個方面進行了研究與測試,BLE 藍牙通信卡的藍牙通道,解決了部分Android 終端和蘋果終端無法通過ISO/IEC 7816 機卡通道訪問通信卡的問題,利用其支持的藍牙通道,可以搭載多種卡應用,例如門禁應用,實現(xiàn)手機終端刷卡開門,應用于社區(qū)、公司園區(qū)等;一卡通應用,直接在公司園區(qū)刷手機消費;交通卡應用,實現(xiàn)公交地鐵手機刷卡進站上車;電子健康卡應用,在各大醫(yī)院輕松掛號問診;電子車鑰匙應用,手機終端作為車鑰匙,實現(xiàn)上車時無感開鎖,下車時離開上鎖;以及數(shù)字貨幣、數(shù)字身份識別等應用場景。

          參考文獻:

          [1] 閻占林,黃健文,黃健,李俊磊,蔡秋艷,楊光.5G通信卡中SUCI隱私保護的研究[J].無線電工程,2020,50(04):269-275.

          [2] 中國人民銀行.中國金融集成電路(IC)卡規(guī)范[S].中華人民共和國金融行業(yè)標準,JR/T 0025.18-2018.

          [3] 3GPP 3rd Generation Partnership Project; Technical Spe cifica tio n Gro up Co r e N e tw o rk a n d Te rm in a ls; Characteristics of the Universal Subscriber Identity Module(USIM) application(Release 16):TS 31.102,V16.0.0 [S].(2019-06).

          [ 4 ] E T S I T S 1 0 2 2 2 1 Smar t c a r d s ; U I C C - T e r m i n a l interface;Physical and logical characteristics[S].European Telecommunications Standards Institute Project Smart Card Platform(EP SCP).

          [ 5 ] Bl u e t o o t h S p e c i f i c a t i o n V e r s i o n 4 . 1 [ V o l 1 ] [ S ] . Architecture & Terminology Overview.03 December 2013.

          [6] Bluetooth Specification Version 4.1 [Vol 2] [S].Core System Package[BR/EDR Controller volume].03 December2013.

          [7] Bluetooth Specification Version 4.1 [Vol 3] [S].Core System Package[Host volume].03 December 2013.

          [8] Bluetooth Specification Version 4.1 [Vol 4] [S].Host Controller Interface[Transport Layer].03 December 2013.

          [9] Bluetooth Specification Version 4.1 [Vol 5] [S].Core System Package[AMP Controller volume].03 December2013.

          [10] Bluetooth Specification Version 4.1 [Vol 6] [S].Core System Package [Low Energy Controller volume].03 December 2013.

          [11] Global Platform Card Contactless Services Card Specification - Amendment C V1.0.1[S].

          [12] ISO/IEC 7816-4 Identification cards-Integrated circuit cards-Part 4:Organization,security and commands for interchange[S].

          [13] ETSI TS 102 225 Smart cards;Secured packet structure for UICC based applications,European Telecommunications Standards Institute Project Smart Card Platform(EP SCP)[S].

          (本文來源于《電子產(chǎn)品世界》雜志2022年4月期)



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();