<table id="m226q"></table>
<bdo id="m226q"><center id="m226q"></center></bdo>
  • <bdo id="m226q"><center id="m226q"></center></bdo>
    <noscript id="m226q"><noscript id="m226q"></noscript></noscript>
  • 新聞中心

    EEPW首頁 > 業界動態 > BLE藍牙通信卡藍牙功能的技術研究與測試

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

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

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

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

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

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

    1   通信卡組成架構

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

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

    1650856555928429.png

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

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

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

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

    2   模塊接口要求

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

    2.1 藍牙廣播參數

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

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

    表1 藍牙廣播參數取值范圍

    image.png

    BLE 藍牙通信卡藍牙廣播數據包由6 字節藍牙MAC 地址與31 字節廣播數據組成。

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

    2.3 藍牙連接參數

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

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

    image.png

    2.4 藍牙配對碼

    為了保證藍牙配對碼數據安全,BLE 藍牙通信卡實現對藍牙配對碼的安全存儲和訪問,藍牙配對碼存儲于通信卡SE 模塊中,BLE 藍牙通信卡設置出廠初始藍牙配對碼默認值。手機終端藍牙應用在首次安裝使用時提示用戶初始藍牙配對碼,并提示用戶修改藍牙配對碼。支持通過藍牙接口、ISO7816 接口修改藍牙卡的藍牙配對碼值,藍牙配對碼修改指令命令報文如表3 所示。

    1650858947706005.png

    2.4 藍牙配對流程

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

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

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

    image.png

    image.png

    圖3 藍牙卡設備名稱

    image.png

    圖4 藍牙配對請求

    image.png

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

    image.png

    圖6 藍牙配對碼修改測試

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

    2.6 藍牙服務與特征值

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

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

    示例如下:

    藍牙UUID 基數:

    00000000–0000–1000–8000–00805F9B34FB

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

    0000FF10–0000–1000–8000–00805F9B34FB

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

    1650859291239745.png

    3   BLE藍牙模塊藍牙接口通信協議

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

    藍牙接口通信協議定義的主要內容如下:

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

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

    (3)消息交換的方法。

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

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

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

    (1)每包的協議字節和數據字節的總長度不超過20 bytes;

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

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

    1650861315508156.png

    圖7 藍牙接口通信協議結構

    3.1 藍牙接口通信協議消息格式

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

    1650861394155567.png

    1650861421350094.png

    1650861456242482.png

    3.2 藍牙接口通信協議消息數據包示例

    3.2.1 單包發送單包接收情形

    1650861625797484.png

    image.png

    3.2.2 多包發送多包接收情形

    1650861730475508.png

    1650861758479416.png

    3.3 藍牙接口通信協議消息傳輸

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

    1650861822679024.png

    3.3.1 藍牙接口消息發送流程

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

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

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

    1650863067314122.png

    3.3.2 藍牙接口消息接收流程

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

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

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

    image.png

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

    3.4   藍牙接口通信協議測試

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

    藍牙協議透傳功能測試包括大小數據包的透傳測試。

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

    image.png

    image.png

    image.png

    圖10 藍牙接口通信協議測試

    3.5   藍牙接口通信安全規則

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

    4   結束語

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

    參考文獻:

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

    [2] 中國人民銀行.中國金融集成電路(IC)卡規范[S].中華人民共和國金融行業標準,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].

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



    評論


    相關推薦

    技術專區

    關閉
    柳岩被弄高潮大全,成人性午夜视频在线观看,国产免费一区二区三区香蕉金
    <table id="m226q"></table>
    <bdo id="m226q"><center id="m226q"></center></bdo>
  • <bdo id="m226q"><center id="m226q"></center></bdo>
    <noscript id="m226q"><noscript id="m226q"></noscript></noscript>