韓宇龍 ,肖青 ,柳耀勇 ,孫東昱 ,王政宏
(1.中移物聯網有限公司 集成電路創新中心,北京 100037;2.芯昇科技有限公司,江蘇 南京 210018)
根據GSMA和Machina 統計和預測,2020 年全球物聯網連接數量達126 億,未來5 年平均增長率達15%,而中國物聯網連接數增長率高于世界水平。蜂窩通信(2G/3G/4G/5G、NB-IoT、eMTC 等)物聯網作為一種廣域通信物聯網技術,已經成為運營商大連接戰略背景下的物聯網未來發展主要形式[1]。物聯網卡作為蜂窩通信物聯網接入網絡的媒介,開卡規模和用戶規模與日俱增,用戶涉及行業極其廣泛[2]。但是,物聯網卡在基本功能設計上相對于普通電信卡并無明顯差別,且流量資費優惠力度明顯,導致功能濫用和違規倒賣等情況頻發。
為有效管理物聯網卡風險監控和使用安全,國內諸多專家學者進行了一定的研究和探索[3-5]。然而,研究方向集中在業務濫用、機卡分離等運營方面,而從源頭風險管控、準確流轉溯源方面的研究較少。因此,通過技術手段解決物聯網卡流轉過程規則實現、轉移登記、數據存儲、安全分享,有助于物聯網卡安全管理實現閉環。
區塊鏈技術是具有去中心化、支持多元參與、信息防篡改、高度自治等特點的集成應用;基于區塊鏈的身份認證、敏感數據傳輸安全保護、用戶數據安全和跟蹤核實存證、多組織協作等應用探索逐漸成熟[6-9]。因此,應用區塊鏈支撐物聯網卡安全流轉具備潛能。本文基于區塊鏈的分布式賬本技術以及物聯網安全技術,提出一種物聯網卡安全流轉方法和系統實現,保證物聯網卡交易流轉相關信息能夠可靠登記上鏈、精準高效溯源,并降低監管難度。
區塊鏈技術最初作為比特幣應用的底層技術,起源于文獻[10]。區塊鏈對傳統商業業務流程引入了突破性變革,因為傳統商業業務流程的應用和交易需要中心化機構或可信第三方來驗證,而區塊鏈采取去中心化的方式實現了同樣的信任級別。區塊鏈技術架構和設計的固有特性提供了透明性、健壯性、可審計性和安全性等屬性[11-13],因此,區塊鏈能夠改變傳統的社會信任機制和社會生產關系。
智能合約是一種用數據算法和軟件程序來編制合同條款、部署在區塊鏈上且可按照規則自動執行的數字化協議,起源于文獻[14]。智能合約初期由于計算條件的限制和應用場景的缺失,并未受到研究者的廣泛關注,直到區塊鏈技術出現,智能合約被重新定義。區塊鏈實現了去中心化的存儲,智能合約則在其基礎上實現了去中心化的計算[15]。
SE-SIM 是中移物聯網有限公司自研的物聯網安全芯片,擁有安全單元SE[16]、抗紫外線安全存儲、硬件加密模塊和真隨機數發生器等特點,較傳統的軟件加密和可信執行環境(Trust Execution Environment,TEE)方案具有顯著更高的安全等級,能夠抵抗實驗室級軟件及物理攻擊。同時,SE-SIM 具有SIM 的載體功能,通過將兩種能力結合,為客戶提供數字簽名、通信加密、終端保護的功能。
(1)ToB和ToC場景
物聯網卡流轉根據最終環節不同,可以分為ToB-企業消費者和ToC-個人消費者2 種場景。
(2)集成電路卡識別碼唯一標識
物聯網卡使用集成電路卡識別碼(Integrate Circuit Card Identity,ICCID)作為唯一物理標識,運營商掌握ICCID與國際移動用戶識別碼(International Mobile Subscriber Identity,IMSI)和移動用戶號碼(Mobile Subscriber International ISDN,MSISDN)對應關系。
(3)批量連續ICCID 流轉
物聯網卡ToB 場景所有流轉環節,以及物聯網卡ToC場景除最終環節外的所有環節,通常為批量連續ICCID形式流轉。流轉載體通常以“箱”或“盒”為單位,且其包裝上會印有起止ICCID 號生成的條形碼標識。
(4)流通隱私保護
物聯網卡流轉過程中,隱私數據(ICCID 明文、物權所有者身份等)不適合分布式存儲。每個參與方應只能訪問自身經手的物聯網卡流轉的一級上游和一級下游,監管方能夠訪問所有物聯網卡全流程流轉信息。
物聯網卡安全管理主要針對的是物聯網卡運營商運營、代理商/分銷商銷售、設備制造商裝配、個人使用等過程間流轉的安全監管問題。通過區塊鏈技術、平臺技術、數字密碼技術、物聯網技術等實現物聯網卡初始數據存證、物權流轉變更、角色權限控制、數據溯源查詢等功能。
經過對物聯網卡流轉特點分析,系統設計思路如下:使用Hash 算法對批量ICCID 進行標識;使用中心化數據庫存儲Hash 值和批量ICCID 對應關系;使用區塊鏈存證Hash 值所有權和流轉信息;使用智能合約實現流轉過程的確權驗證、物權轉移、溯源查詢權限規則;使用終端實現批量卡ICCID 信息自動化采集和交易申請;使用SE-SIM 保證終端身份安全和信息安全;使用微信小程序支持C 類消費者。
本文提出的物聯網卡安全流轉系統主要包括區塊鏈系統、信息系統、區塊鏈終端、物聯網卡流轉助手微信小程序,如圖1 所示。其中,區塊鏈底層框架使用Hyperledger Fabric,選擇3 個背書節點部署智能合約(身份管理、物權流轉),外部通過區塊鏈網關API 訪問區塊鏈服務;信息系統主體功能模塊包括賬戶管理模塊、設備管理模塊、卡管理模塊、統計模塊,通過平臺技術實現用戶可視化操作界面、賬戶區塊鏈秘鑰托管、物聯網卡批量信息和物權Hash 的對應關系生成和維護;區塊鏈終端為安裝有SE-SIM和客戶端APP 的移動通信設備,用于運營商和企業用戶執行物聯網卡信息自動化采集、流轉申請、確認和權限驗證等操作;微信小程序用于個人用戶執行流轉確認操作。

圖1 物聯網卡安全流轉系統架構圖
物聯網卡安全流轉方法業務邏輯包括卡信息初始錄入、轉出申請、轉入確認、溯源查詢4 個層級,如圖2所示。

圖2 物聯網卡安全流轉方法業務邏輯圖
2.4.1 卡信息初始錄入
運營商登錄信息系統,通過導入.xls 列表或者人工錄入的方式錄入卡信息(ICCID、IMSI和MSISDN)。信息系統本地數據庫維護卡信息表,內容包括ICCID、IMSI、MSISDN、所屬運營商、組織號、導入時間等。
信息系統通過SHA256 算法對ICCID 號段進行計算,獲得確權物權Hash。ICCID 號段的組織方法為:連續號將首末兩個號通過“-”相連,其他單獨枚舉號通過“,”相連,形式如“A1-An,B1,C1-Cm”。信息系統本地數據庫維護交易歷史信息表,內容包括ICCID、當前位置組織號、確權物權Hash、創建時間等。
信息系統調用區塊鏈智能合約API 接口,將確權物權Hash-其所有權信息的鍵值關系存證在區塊鏈分布式賬本。
2.4.2 轉出申請
轉出方(運營商或企業用戶)使用區塊鏈終端采集需要流轉的ICCID 號段(通過二維碼掃描、條形碼掃描、人工錄入等方式),然后調用信息系統API 接口transRecenthash,將ICCID 號段轉化為交易物權Hash,同時獲得ICCID號段在交易歷史信息表中對應的最近1 次的所有確權物權Hash。信息系統本地數據庫維護交易當前信息表,內容包括ICCID、當前位置組織號、交易物權Hash、創建時間等。
區塊鏈終端調用區塊鏈智能合約API 接口,首先驗證自身是所有確權物權Hash 的當前擁有者身份;通過驗證后,區塊鏈智能合約使用CRC 算法對包括轉出申請時間戳、轉出者ID、交易物權Hash 等內容做運算,獲得長度不超過8 B 的臨時交易碼。將臨時交易碼-物權變更內容的鍵值關系存證在區塊鏈分布式賬本。
2.4.3 轉入確認
轉入方(企業用戶)使用區塊鏈終端調用區塊鏈API接口,從區塊鏈分布式賬本查詢臨時交易碼對應的臨時交易(交易物權Hash和物權變更內容),調用信息系統API接口transConfirm,將交易物權Hash轉化為ICCID 號段。通過驗證線下實物,轉入方選擇是否對臨時交易做確認。
區塊鏈終端調用區塊鏈智能合約API 接口,驗證自身是交易物權Hash 物權變更轉入者身份;通過驗證后,將交易物權Hash-物權變更內容的鍵值關系存證在區塊鏈分布式賬本,同時刪除臨時交易碼-物權變更內容的鍵值關系。
區塊鏈終端調用信息系統API 接口transSuccess,將交易物權Hash轉化為確權物權Hash。信息系統隨即將對應當前交易從交易當前信息表中刪除,并添加到交易歷史信息表。
此外,如果轉入方是個人用戶,使用微信小程序實現相近過程,微信小程序直接與信息系統后臺對接,信息系統后臺托管公共用戶的身份密鑰。
2.4.4 溯源查詢
運營商、企業用戶、監管者登錄信息系統,通過多種過濾條件(ICCID、組織號、登記時間等)選中需要進行溯源查詢的物聯網卡ICCID。信息系統從本地維護的交易歷史信息表獲得該ICCID 對應的所有歷史確權物權Hash。
信息系統調用區塊鏈智能合約API 接口,獲取每個歷史確權Hash 對應的溯源信息(生命周期中所有物權變更信息);然后處理和拼接ICCID 溯源信息并展示。通過權限控制,保證每個角色只能訪問其自身經手的物聯網卡流轉的一級上游和一級下游。溯源查詢流程如圖3所示。

圖3 溯源查詢流程圖
分布式應用(DAPP)程序的開發最重要一環是智能合約的開發和處理。本系統智能合約功能邏輯劃分為身份管理合約和物權流轉合約兩部分,如圖4 所示。其中,身份管理合約負責所有參與角色的區塊鏈身份創建、查詢、更新以及智能合約調用簽名驗證機制;物權流轉合約負責物權存證、查詢、驗證、更新以及物權流轉變更機制。身份管理合約和物權流轉合約兩者處于同一通道channel,之間通過InvokeChaincode 跨合約調用機制連接。

圖4 智能合約功能邏輯設計圖
所有業務參與實體調用區塊鏈服務都需經歷通信加密和身份驗證環節。具體地:(1)業務端與區塊鏈網關之間采用HTTPS 通信協議,保證通信安全;(2)業務端使用國密SM2 數字簽名,智能合約進行簽名驗證,保證數據完整性和來源可信。其中,HTTPS 保證通信安全已是成熟方案,以下重點介紹數字簽名密鑰分發設計,如圖5所示。

圖5 智能合約身份密鑰分發設計
SE-SIM 內部使用SN 號作為信任根進行密鑰分散,生成設備身份公私鑰對;SE-SIM 對設備身份私鑰進行防護留存(外部無法讀取),將設備身份公鑰吐出并存證到區塊鏈分布式賬本。信息系統內部通過軟件方式生成賬號身份公私鑰對;信息系統本地托管賬號身份私鑰并保存與賬戶名對應關系,將賬號身份公鑰存證到區塊鏈分布式賬本,從而實現業務端在區塊鏈智能合約的合法調用身份。同時,SE-SIM和信息系統本地應保存區塊鏈網關身份公鑰并對區塊鏈響應中附加的數字簽名進行驗證,實現區塊鏈服務申請和響應的雙向身份認證。
基于上述物聯網卡安全流轉系統架構和業務邏輯設計,實現了基于區塊鏈的物聯網卡安全流轉系統,并展開實際部署工作:區塊鏈系統部署于BSN 北京、蘇州、武漢3 個城市節點,每個城市節點創建3 個對等節點。信息系統部署在中移物聯網有限公司的4A(認證Authentication、授權Authorization、賬號Account、審計Audit)私有云資源池中。為驗證流轉追溯系統技術和方案可行性,使用部署的系統開展試點應用。試點應用針對天津消防的對講機物聯網卡使用場景對100 張真實物聯網插拔卡的流通進行存證和溯源。
監管者登錄信息系統,能夠查詢任一張物聯網卡的“流轉詳情”,如圖6 所示。界面會展示所選定物聯網卡物權流轉變更的所有歷史信息,包括登記單位、登記時間、轉出申請和轉入確實的時間和所使用的區塊鏈設備編號,以及每一步操作的區塊鏈TXID(交易唯一標識號)。選中TXID 則可以查看對應區塊鏈交易和區塊信息。

圖6 物聯網卡流轉詳情展示
運行于BSN 城市節點性能參數為:并發量為10 TPS、硬盤容量為10 GB;信息系統性能參數為:核心數4Kernel、內存為8 GB;區塊鏈終端性能參數為:處理器為高通驍龍730G、運行內存6 GB 的試點系統環境下,對ICCID為連續號并且卡數量分別為1、10、100、1 000、5 000、10 000的不同場景進行卡信息初始錄入、轉出申請、轉入確認等操作,測試時間消耗。最終獲得連續號批量處理性能曲線圖,如圖7 所示。其中,橫坐標表示對單次處理的連續號卡數量進行以10為底數的對數值,縱坐標表示對應操作所消耗的時間。

圖7 連續號批量處理性能曲線圖
實驗結果表明:(1)在操作ICCID為連續號且卡數量不超過1 000 張時,系統整體性能趨于穩定;(2)在操作ICCID為連續號且卡數量超過1 000 張時,系統整體性能明顯出現耗時長的現象,并且轉入確認操作性能衰退最為明顯,卡信息初始錄入次之,轉出申請影響極小。因此,在給定的試點試點系統環境下,為了追求良好系統使用體驗,建議連續號批量操作保持在1 000 張之內。
本文針對當前物聯網卡流轉和使用過程中各種違規問題和危害影響進行分析,總結出通過技術手段解決物聯網卡流轉過程規則實現、轉移登記、數據存儲、安全分享等的重要解決途徑,提出了以區塊鏈技術為核心、結合物聯網技術設計的物聯網卡安全流轉方法和系統實現。系統采用區塊鏈智能合約實現流轉過程規則、分布式存儲信息摘要和物權變更信息、集中式存儲物聯網卡ICCID 號段和信息摘要對應關系、SE-SIM 實現終端密鑰存儲和數字簽名等方式,保證數據存儲和數據來源安全可信性,同時兼顧系統批量大并發性能。最后,通過試點實例對物聯網卡安全流轉系統進行展示。結果表明,本文提出的方法和系統能夠重塑信任體系,提高溯源精度并降低監管難度。