黎洪亮,金華標(biāo),龐啟君,趙釗
(1.430063 湖北省 武漢市 武漢理工大學(xué) 船海與能源動(dòng)力工程學(xué)院;2.430022 湖北省 武漢市 中國(guó)船級(jí)社武漢分社)
隨著國(guó)家對(duì)內(nèi)河船機(jī)排放監(jiān)管的力度加大,開展對(duì)內(nèi)河船機(jī)排放的實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)進(jìn)行加密傳輸以保證排放數(shù)據(jù)真實(shí)性的研究,可為未來愈加嚴(yán)格的排放監(jiān)管提供便利[1-2]。傳統(tǒng)的船機(jī)排放監(jiān)測(cè)系統(tǒng)將采集的排放數(shù)據(jù)通過無線網(wǎng)絡(luò)發(fā)送至岸基平臺(tái),并未對(duì)數(shù)據(jù)傳輸采取相應(yīng)的安全防護(hù)機(jī)制[3-4]。當(dāng)船舶排放的重要數(shù)據(jù)資料被不法分子篡改,會(huì)造成排放監(jiān)管失去嚴(yán)謹(jǐn)性,因此,進(jìn)行船舶排放數(shù)據(jù)的加密傳輸具有較強(qiáng)的現(xiàn)實(shí)意義[5-7]。
在同等安全強(qiáng)度下對(duì)比如今廣泛應(yīng)用的RSA(RSA algorithm)算法和基于橢圓曲線密碼學(xué)的ECC(Elliptic Curves Cryptography)算法的私鑰長(zhǎng)度發(fā)現(xiàn),ECC 比RSA 私鑰更短,使得其存儲(chǔ)空間、傳輸帶寬和功耗需求更低,更適合應(yīng)用于低功耗的嵌入式設(shè)備[8]。為防止ECC 算法可能存在陷阱后門等安全隱患,國(guó)家密碼管理局在ECC 算法的基礎(chǔ)上借鑒其優(yōu)點(diǎn)開發(fā)出了SM2 國(guó)密算法,此算法主要包括數(shù)字簽名算法、密鑰交換協(xié)議和公鑰加密算法3 部分,并都以橢圓曲線標(biāo)量乘為核心[9-12],具有更高的靈活性、安全性。
目前中國(guó)人民銀行采用SM2 算法以增強(qiáng)金融IC 卡應(yīng)用的安全性[8],我國(guó)研究人員已將SM2 密碼體系應(yīng)用于電網(wǎng)信息安全開發(fā)[13-14],在移動(dòng)互聯(lián)網(wǎng)也采用SM2 算法進(jìn)行身份認(rèn)證,保障數(shù)據(jù)傳輸安全[15]。基于上述背景,本文在傳統(tǒng)船機(jī)排放監(jiān)測(cè)系統(tǒng)的基礎(chǔ)上采用內(nèi)嵌SM2 國(guó)密算法的加密芯片對(duì)船舶排放數(shù)據(jù)加密,并結(jié)合控制器軟硬件設(shè)計(jì)與4G 通訊技術(shù),在利用SM2 數(shù)字簽名算法認(rèn)證了船端與岸基平臺(tái)的雙向身份后,進(jìn)行數(shù)據(jù)加密傳輸。
內(nèi)河船機(jī)排放數(shù)據(jù)加密通信裝置由主控MCU(STM32F407)、加密模塊(集成LKT4305加密芯片)、無線通信模塊、岸基平臺(tái)4 部分組成,如圖1 所示。

圖1 總體方案設(shè)計(jì)Fig.1 Whole scheme design
船舶排放數(shù)據(jù)通過CAN 總線傳輸?shù)街骺豈CU,MCU 與加密模塊以SPI 方式通信,并調(diào)用其內(nèi)部SM2 加密算法進(jìn)行數(shù)據(jù)加密和數(shù)字簽名認(rèn)證[16-17],與通信模塊以串口通信完成數(shù)據(jù)無線傳輸,在排放數(shù)據(jù)加密傳輸前,船端主控裝置先與岸基平臺(tái)通過4G 無線通信模塊進(jìn)行公鑰交換、私鑰驗(yàn)簽操作;雙方身份驗(yàn)證成功后,對(duì)排放數(shù)據(jù)進(jìn)行SM2 加密;然后利用無線通信模塊將加密后數(shù)據(jù)傳送至岸基平臺(tái),平臺(tái)將所接收到的船舶排放加密數(shù)據(jù)按照對(duì)應(yīng)密鑰和協(xié)議進(jìn)行解密并解析。
本文采用加密芯片對(duì)排放數(shù)據(jù)進(jìn)行加密,并通過無線通信模塊將數(shù)據(jù)發(fā)送至岸基平臺(tái)進(jìn)行解析,完成此功能需進(jìn)行加密模塊硬件設(shè)計(jì)、加密芯片COS 操作系統(tǒng)設(shè)計(jì)和通信策略設(shè)計(jì)。
本文使用以32 位高安全等級(jí)ARM SC000 安全處理器為基準(zhǔn)的LKT4305-GM 加密芯片,其擁有40 余種防破解及防剖片技術(shù),具備高速通訊端口SPI,擁有32 k RAM,64 k 字節(jié)文件密鑰區(qū),支持SM2 非對(duì)稱加密算法,具有高性能低功耗的特點(diǎn)。采用加密芯片對(duì)排放數(shù)據(jù)進(jìn)行加密的方式,提高了數(shù)據(jù)的私密性,加密芯片接口原理圖如圖2 所示。

圖2 加密芯片接口設(shè)計(jì)原理圖Fig.2 Design schematic diagram of encryption chip interface
需加密傳輸數(shù)據(jù)包括:船機(jī)ECU 相關(guān)參數(shù)、排氣管溫度、排氣管煙氣參數(shù)、排氣管NOX濃度等,以上數(shù)據(jù)通過CAN通信方式與MCU進(jìn)行信息交互,完成解析后傳輸至加密芯片實(shí)現(xiàn)數(shù)據(jù)加密。
LKT 系列加密芯片內(nèi)置COS 系統(tǒng),數(shù)據(jù)加密前需進(jìn)行COS 系統(tǒng)設(shè)計(jì)。其系統(tǒng)設(shè)計(jì)流程如圖3所示,通過調(diào)用操作指令,首先在加密芯片內(nèi)部建立主控文件,再建立專用文件,隨即在文件內(nèi)建立2 個(gè)安全基礎(chǔ)文件。當(dāng)文件建立完成后,調(diào)用SM2算法生成公、私鑰,并寫入安全基本文件中,然后將船端公鑰與岸基平臺(tái)公鑰交換,實(shí)現(xiàn)公鑰互換,最后再次調(diào)用SM2 算法,進(jìn)行驗(yàn)簽及加、解密操作。

圖3 COS 系統(tǒng)加密設(shè)計(jì)流程圖Fig.3 COS system encryption design flowchart
目前內(nèi)河航運(yùn)水域基本實(shí)現(xiàn)4G 網(wǎng)絡(luò)覆蓋,無線通信技術(shù)為船岸數(shù)據(jù)交互提供了便利,本文采用EC20-R2.1 嵌入式4G 無線數(shù)據(jù)通信模塊進(jìn)行開發(fā)。MCU 將加密模塊返回的加密數(shù)據(jù)進(jìn)行整理打包并通過4G 網(wǎng)絡(luò)傳輸至岸基平臺(tái)。EC20 需外接GPS天線和4G 天線,其作用分別為通過其內(nèi)置接收機(jī)獲取實(shí)時(shí)定位數(shù)據(jù)與通過TCP/IP 協(xié)議將加密數(shù)據(jù)打包發(fā)送至岸基,EC20 無線通信模塊接口原理圖如圖4 所示。

圖4 無線通信模塊接口設(shè)計(jì)原理圖Fig.4 Design schematic diagram of wireless communication module interface
排放數(shù)據(jù)加密前,MCU 需通過串口向通信模塊發(fā)送相關(guān)指令,完成對(duì)4G 網(wǎng)絡(luò)的配置,使船端與岸基平臺(tái)間建立可靠的4G 通信鏈路,等待成功后便可與岸基平臺(tái)進(jìn)行加密通信。裝置的整體流程設(shè)計(jì)如圖5 所示,主要由3 部分構(gòu)成。

圖5 數(shù)據(jù)加密通信整體流程設(shè)計(jì)圖Fig.5 Design drawing of data encryption communication overall process
(1)首先使用CAN 通信,對(duì)船舶排放數(shù)據(jù)進(jìn)行采集并解析后傳輸至加密模塊;
(2)加密模塊在加密前,與岸基平臺(tái)進(jìn)行協(xié)商,按照SM2 算法,分別生成公、私鑰并交換公鑰,然后進(jìn)行船端與岸基平臺(tái)驗(yàn)簽,在成功確認(rèn)通信對(duì)象后,采用岸基平臺(tái)公鑰對(duì)船舶排放數(shù)據(jù)進(jìn)行加密。
由于加密及驗(yàn)簽部分由加密芯片完成,因此MCU 需先在加密芯片內(nèi)部創(chuàng)建主控文件及公、私鑰文件,并存儲(chǔ)船端私鑰與交換后的岸基平臺(tái)公鑰,加密芯片接收到來自MCU 的加密數(shù)據(jù)后先對(duì)數(shù)據(jù)進(jìn)行緩存,等待船端與岸基平臺(tái)進(jìn)行雙方驗(yàn)簽操作,驗(yàn)簽成功后,使用岸基平臺(tái)公鑰對(duì)緩存數(shù)據(jù)進(jìn)行加密,隨后將加密數(shù)據(jù)返回至MCU;
(3)最后MCU 將返回的密文發(fā)送到岸基平臺(tái),岸基平臺(tái)按照所生成的密鑰,對(duì)其進(jìn)行解密及按照自定義協(xié)議解析數(shù)據(jù),并在平臺(tái)界面顯示。
為驗(yàn)證裝置能否實(shí)現(xiàn)SM2 算法數(shù)據(jù)加密及雙方身份認(rèn)證功能,在試驗(yàn)室搭建功能調(diào)試平臺(tái)對(duì)裝置進(jìn)行測(cè)驗(yàn)。通過CANTest 軟件給裝置發(fā)送指定ID 號(hào)的CAN 數(shù)據(jù),裝置對(duì)CAN 數(shù)據(jù)進(jìn)行接收并解析為明文,將明文發(fā)送至加密芯片,經(jīng)過加密操作及身份認(rèn)證后,將密文上傳至岸基平臺(tái),使用對(duì)應(yīng)私鑰進(jìn)行解密驗(yàn)證數(shù)據(jù)的正確性,圖6 為所設(shè)計(jì)的加密通信裝置實(shí)物圖。

圖6 數(shù)據(jù)加密裝置實(shí)物圖Fig.6 Physical picture of data encryption device
測(cè)試中為模擬實(shí)船情況,遵循SAE J1939 協(xié)議,通過CANTest 模擬發(fā)送實(shí)船采集數(shù)據(jù),測(cè)試數(shù)據(jù)發(fā)送時(shí)間為(21:46:45),CAN ID分別為(0x0cf00400、0x0cf00300、0x18feee00、0x18fef600),發(fā)送次數(shù)為1 000 次,每次發(fā)送4 幀數(shù)據(jù),每次發(fā)送時(shí)間間隔為1 000 ms,模擬數(shù)據(jù)如表1 所示。

表1 模擬CAN 測(cè)試數(shù)據(jù)Tab.1 Simulating CAN test data
通過SAE J1939 協(xié)議可知,上述4 個(gè)CAN_ID包含有發(fā)動(dòng)機(jī)轉(zhuǎn)速、發(fā)動(dòng)機(jī)扭矩、油門開度、冷卻水溫、燃油溫度、機(jī)油溫度、增壓壓力、進(jìn)氣溫度數(shù)據(jù),經(jīng)過自定義協(xié)議解析后,獲得11 字節(jié)數(shù)據(jù)包,即明文數(shù)據(jù):2160009C757A636D2AE051。
MCU 將明文數(shù)據(jù)進(jìn)行緩存,等待與岸基平臺(tái)成功進(jìn)行通信連接,然后發(fā)送簽名數(shù)據(jù),并交換雙方所產(chǎn)生的公鑰,利用交換的公鑰對(duì)同一簽名數(shù)據(jù)進(jìn)行簽名,再次將簽名值交換,分別由船端與岸基平臺(tái)的私鑰驗(yàn)簽,雙方身份驗(yàn)簽成功后,由船端發(fā)送加密后密文。在測(cè)試中船端裝置與岸基平臺(tái)信息交互數(shù)據(jù)如圖7 所示。

圖7 船端裝置與岸基平臺(tái)接發(fā)數(shù)據(jù)顯示Fig.7 Data display of ship-end device and shore-based platform
岸基平臺(tái)將解密的明文數(shù)據(jù)再次進(jìn)行解析,并在平臺(tái)界面顯示,圖8 為岸基顯示界面。通過岸基平臺(tái)顯示與裝置接收模擬數(shù)據(jù)對(duì)比可知,從CANTest 發(fā)出的模擬數(shù)據(jù)時(shí)間和岸基平臺(tái)顯示時(shí)間均為(21:46:45),說明在1 000 ms 內(nèi)可完成驗(yàn)簽、數(shù)據(jù)的加、解密工作并進(jìn)行界面顯示,且加解密前后數(shù)據(jù)一致,表明該裝置達(dá)到了數(shù)據(jù)加、解密和無線通信的要求,能實(shí)現(xiàn)數(shù)據(jù)的加密以及岸基平臺(tái)的解密與實(shí)時(shí)顯示功能。

圖8 岸基平臺(tái)界面顯示Fig.8 Shore-based platform interface display
本文選用支持SM2 國(guó)密算法的LKT 系列加密芯片和EC20 無線通信模塊,并對(duì)二者與MCU 的硬件電路和通信策略進(jìn)行了設(shè)計(jì),完成了數(shù)據(jù)加密通信裝置的實(shí)物研制。通過對(duì)裝置進(jìn)行整體測(cè)試,能夠?qū)崿F(xiàn)裝置與岸基平臺(tái)間的雙向身份認(rèn)證和排放數(shù)據(jù)的加密傳輸,岸基平臺(tái)在接收到密文后成功進(jìn)行了數(shù)據(jù)的解密和解析,結(jié)果顯示,本裝置可與岸基平臺(tái)進(jìn)行數(shù)據(jù)加密通信應(yīng)用,從而為后續(xù)船舶排放在線監(jiān)測(cè)的數(shù)據(jù)加密傳輸研究提供借鑒。