祁振亞,劉軍杰,王紅偉 ,陳 勛
(1.北京經(jīng)緯信息技術(shù)有限公司,北京 100081;2.中國(guó)鐵道科學(xué)研究院集團(tuán)有限公司 電子計(jì)算技術(shù)研究所,北京 100081)
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)App已滲透到各行各業(yè),與人們的工作、生活息息相關(guān)。我國(guó)工信部發(fā)布的數(shù)據(jù)顯示,截至2019年12月底,我國(guó)市場(chǎng)上監(jiān)測(cè)到的移動(dòng)App數(shù)量為367萬(wàn)款,僅12月份,我國(guó)第三方App商店和蘋果App商店的新上架移動(dòng)App就達(dá)17萬(wàn)款。鐵路領(lǐng)域信息系統(tǒng)移動(dòng)化建設(shè)高速發(fā)展,而鐵路工作人員的移動(dòng)終端若發(fā)生病毒入侵、丟失或被盜,可導(dǎo)致內(nèi)部系統(tǒng)面臨數(shù)據(jù)泄露、數(shù)據(jù)篡改或非法攻擊等威脅,給鐵路行業(yè)帶來(lái)難以估量的損失。
移動(dòng)智能設(shè)備爆發(fā)式增長(zhǎng),廠商眾多, 只讀存儲(chǔ)器(ROM,Read-Only Memory)更新速度參差不齊,國(guó)內(nèi)安卓系統(tǒng)碎片化問(wèn)題嚴(yán)重,這些給鐵路移動(dòng)信息安全管理帶來(lái)了較大挑戰(zhàn)。
當(dāng)前,網(wǎng)絡(luò)安全等級(jí)保護(hù)(簡(jiǎn)稱:等級(jí)保護(hù))進(jìn)入2.0時(shí)代。等級(jí)保護(hù)制度已成為新時(shí)期國(guó)家網(wǎng)絡(luò)安全的基本國(guó)策和基本制度[1]。建立一套完整的、符合等級(jí)保護(hù)要求的終端安全管理體系,保證鐵路移動(dòng)智能終端的信息安全勢(shì)在必行。
本文利用虛擬安全域(VSA,Virtual Security Area)技術(shù)[2],結(jié)合安全網(wǎng)關(guān)(MAG,Mobile Application Security Gate)[3]技術(shù)及動(dòng)態(tài)加密通道(DEC,Dynamic Encryption Channel)技術(shù)建設(shè)一套完善的鐵路移動(dòng)智能安全管理平臺(tái)(MISMP,Railway Mobile Intelligence Safety Management Platform),實(shí)現(xiàn)鐵路企業(yè)移動(dòng)終端的統(tǒng)一認(rèn)證、有效管理,保障鐵路業(yè)務(wù)高效化,管控方式細(xì)致化,數(shù)據(jù)傳輸安全化,為鐵路移動(dòng)App提供多角度的安全保障,為鐵路移動(dòng)App辦公安全保駕護(hù)航。
MISMP的架構(gòu)如圖1所示。
圖1 平臺(tái)架構(gòu)設(shè)計(jì)
MISMP的架構(gòu)設(shè)計(jì)分為4層,分別為用戶交互層、業(yè)務(wù)功能接口發(fā)布層、業(yè)務(wù)微服務(wù)[4]層及支撐環(huán)境服務(wù)層。
用戶交互層可提供與本平臺(tái)相關(guān)的業(yè)務(wù)模塊操作功能及公共平臺(tái)管理頁(yè)面;業(yè)務(wù)功能接口發(fā)布層負(fù)責(zé)將功能服務(wù)以Http RESTFul接口的形式供各終端調(diào)用;業(yè)務(wù)微服務(wù)層分為2部分服務(wù)職能,平臺(tái)業(yè)務(wù)相關(guān)職能和公共支撐能力相關(guān)職能,前者用于實(shí)現(xiàn)具體平臺(tái)功能相關(guān)的微服務(wù),后者用于實(shí)現(xiàn)通用的邏輯功能;支撐環(huán)境服務(wù)層負(fù)責(zé)為平臺(tái)提供基礎(chǔ)環(huán)境服務(wù),如內(nèi)存緩存服務(wù)、數(shù)據(jù)庫(kù)服務(wù)、集群管理、認(rèn)證中心、消息推送服務(wù)、日志收集處理等。
結(jié)合鐵路行業(yè)移動(dòng)終端實(shí)際需求,本平臺(tái)的主要能力包括業(yè)務(wù)能力、管控能力及安全傳輸能力,為各業(yè)務(wù)App提供多角度的安全保障。
1.2.1 業(yè)務(wù)能力
(1)快速安全加固
平臺(tái)基于移動(dòng)App加固技術(shù)及鐵路移動(dòng)業(yè)務(wù)軟件源碼安全保密需求,由用戶提供Android/iOS Native應(yīng)用、H5應(yīng)用、混合應(yīng)用,可快速集成防靜態(tài)工具分析、Dex文件保護(hù)、So文件加殼[5]、內(nèi)存保護(hù)、反調(diào)試、簽名校驗(yàn)等多項(xiàng)安全功能,解決核心代碼被反編譯,請(qǐng)求協(xié)議被偽造,應(yīng)用程序包被植入惡意代碼等諸多安全問(wèn)題。
(2)數(shù)據(jù)安全隔離
平臺(tái)在移動(dòng)設(shè)備上創(chuàng)建VSA,對(duì)VSA內(nèi)的App權(quán)限和用戶使用行為進(jìn)行全方位的管理和保護(hù),實(shí)現(xiàn)用戶私人數(shù)據(jù)與工作業(yè)務(wù)數(shù)據(jù)的安全隔離,在保障鐵路行業(yè)數(shù)據(jù)安全傳輸與存儲(chǔ)的同時(shí),提升用戶的移動(dòng)辦公體驗(yàn)。
(3)安全內(nèi)網(wǎng)訪問(wèn)
本文設(shè)計(jì)并建立了MAG代理機(jī)制,在實(shí)現(xiàn)互聯(lián)網(wǎng)用戶安全訪問(wèn)內(nèi)網(wǎng)服務(wù)資源的同時(shí),規(guī)避企業(yè)內(nèi)網(wǎng)服務(wù)器直接暴露在互聯(lián)網(wǎng)所帶來(lái)的安全隱患,做到內(nèi)網(wǎng)資源、網(wǎng)絡(luò)結(jié)構(gòu)對(duì)外不直接可見(jiàn),增強(qiáng)內(nèi)部資源服務(wù)器的安全性。
(4)內(nèi)網(wǎng)資源零改造
基于SSL/TLS加密協(xié)議[6],MAG在提供網(wǎng)關(guān)功能服務(wù)的同時(shí)支持TCP協(xié)議內(nèi)網(wǎng)資源服務(wù),適配原有內(nèi)網(wǎng)資源的協(xié)議形勢(shì),從而達(dá)成內(nèi)網(wǎng)資源的零改造,最大程度地降低安全改造的成本。
1.2.2 管控能力
(1)基于App的策略配置
MAG集成調(diào)用平臺(tái)的VSA應(yīng)用,可批量指定App準(zhǔn)入策略,也可針對(duì)每一個(gè)業(yè)務(wù)App,靈活配置安全接入策略,便于管理人員進(jìn)行運(yùn)維管理。
(2)多角度的權(quán)限準(zhǔn)入
只有用戶、設(shè)備、App均符合企業(yè)信息化安全要求才能接入企業(yè)內(nèi)網(wǎng)。MAG的準(zhǔn)入控制模塊可識(shí)別訪問(wèn)請(qǐng)求信息中的用戶身份信息、設(shè)備信息、App信息,針對(duì)不同用戶使用的設(shè)備信息和應(yīng)用信息,準(zhǔn)確設(shè)置攔截過(guò)濾規(guī)則,確保只有用戶、設(shè)備和App均符合規(guī)范要求的請(qǐng)求才能通過(guò),對(duì)不滿足規(guī)范要求的進(jìn)行攔截。
1.2.3 安全傳輸能力
(1)SSL協(xié)議加密傳輸
平臺(tái)的安全通道采用SSL/TLS協(xié)議,加密算法需支持AES256、SM4,確保所有數(shù)據(jù)在一個(gè)安全、可信的通道中傳輸,防止數(shù)據(jù)在傳輸過(guò)程中被非法竊取或篡改,保障企業(yè)數(shù)據(jù)傳輸通道的安全性。
(2)SSL雙向認(rèn)證保護(hù)
用戶與MAG建立安全通道,除了普通的用戶名、密碼或者短信認(rèn)證外,還需做雙向的證書認(rèn)證。需要客戶端與服務(wù)端證書認(rèn)證通過(guò)后才能建立安全通道,增強(qiáng)用戶身份認(rèn)證的安全性。
(3)支持商業(yè)密碼算法
數(shù)據(jù)加密是信息安全體系中重要的安保環(huán)節(jié),隨著科技的不斷發(fā)展,常用的商業(yè)密碼算法,如DES、RSA、MD5等,已確認(rèn)可被破解。MAG需要支持國(guó)際通用的商業(yè)密碼算法AES256,保障用戶的數(shù)據(jù)傳輸安全。
(4)應(yīng)用級(jí)安全通道
App自動(dòng)封裝后,具備安全接入能力。業(yè)務(wù)App只需關(guān)注其業(yè)務(wù)能力,不需要在App集成聯(lián)調(diào)方案層面重復(fù)投入,降低技術(shù)難度以及開發(fā)成本。針對(duì)不同的App建立不同的安全通道,實(shí)現(xiàn)通道傳輸?shù)奈⒏綦x。
2.1.1 VSA技術(shù)
VSA 技術(shù)是通過(guò)在系統(tǒng)底層實(shí)現(xiàn)移動(dòng)App安全保護(hù)能力的技術(shù),無(wú)需獲取App源碼及設(shè)備Root權(quán)限,在設(shè)備內(nèi)部形成一個(gè)VSA,在該VSA中可實(shí)現(xiàn)鐵路行業(yè)各種移動(dòng)業(yè)務(wù)的安全運(yùn)行。
VSA由策略控制模塊和VSA引擎模塊構(gòu)成。策略控制模塊負(fù)責(zé)對(duì)整個(gè)App運(yùn)行進(jìn)行安全管理并配置具體的策略內(nèi)容,包括 DLP模塊、網(wǎng)絡(luò)安全訪問(wèn)、上網(wǎng)內(nèi)容審計(jì)、功能安全調(diào)用、隱私保護(hù)等,根據(jù)鐵路業(yè)務(wù)需求配置不同的安全策略,對(duì)App進(jìn)行全方位、個(gè)性化的保護(hù)。VSA 引擎根據(jù)配置的App權(quán)限對(duì)其針對(duì)性的請(qǐng)求進(jìn)行安全判別,在保證App正常運(yùn)行的情況下,阻斷不安全請(qǐng)求,防止機(jī)密信息外泄和外部方式對(duì)該類信息的截取。 VSA技術(shù)原理如圖2所示。
2.1.2 HTML5跨平臺(tái)技術(shù)
鐵路行業(yè)開發(fā)人員在面對(duì)同一需求時(shí)往往需要開發(fā)2套App程序(Android版、iOS版),以滿足不同設(shè)備、不同操作系統(tǒng)的需求。
為了節(jié)約開發(fā)時(shí)間及資源,平臺(tái)結(jié)合HTML5[7-8]技術(shù)開發(fā)了MISMP JS-SDK[9]組件,界面可通過(guò)MISMP WebView顯示到手機(jī)上,技術(shù)架構(gòu)如圖3所示。
圖2 VSA技術(shù)原理
MISMP WebView組件對(duì)系統(tǒng)瀏覽器控件作擴(kuò)展和封裝,使WebView組件可訪問(wèn)設(shè)備自身API,并可調(diào)用MISMP其他組件接口,打通MISMP組件和WebView之間的交互通道,讓二次開發(fā)人員更好的開發(fā)HTML5應(yīng)用。通過(guò)MISMP JS-SDK組件,開發(fā)人員只需開發(fā)一套HTML5頁(yè)面,即可實(shí)現(xiàn)在Android和iOS設(shè)備上的跨平臺(tái)展示。HTML5調(diào)用時(shí)序及技術(shù)原理如圖4所示。
圖3 HTML5跨平臺(tái)技術(shù)架構(gòu)
圖4 HTML5調(diào)用時(shí)序及技術(shù)原理
(1)將用戶開發(fā)的Web App部署到平臺(tái)服務(wù)器;
(2)啟動(dòng)MISMP客戶端,通過(guò)WebView加載頁(yè)面;
(3)頁(yè)面調(diào)用MISMP JS-SDK接口;
(4)MISMP JS-SDK組件通過(guò)MISMP JS引擎調(diào)用MISMP能力組件;
(5)MISMP通過(guò)JS API,調(diào)用操作系統(tǒng)自身接口或者M(jìn)ISMP能力接口;
(6)返回結(jié)果通過(guò)JS邏輯處理,并在平臺(tái)UI上顯示。
本文將平臺(tái)的MAG服務(wù)器部署在鐵路網(wǎng)絡(luò)的隔離區(qū)(DMZ,Demiliatarized Zone)中,可使工作人員的移動(dòng)智能終端在不切換內(nèi)外網(wǎng)的前提下安全使用內(nèi)網(wǎng)移動(dòng)App。從而保障移動(dòng)辦公App的后臺(tái)服務(wù)部署在內(nèi)網(wǎng),排除從互聯(lián)網(wǎng)直接訪問(wèn)帶來(lái)的風(fēng)險(xiǎn)隱患。DMZ安全通道中使用了DEC技術(shù)。
應(yīng)用級(jí)安全加密通道是保障移動(dòng)終端安全的核心,加密方式更是安全通道的重中之重。動(dòng)態(tài)密鑰庫(kù)屬于白盒加密。白盒加密[10]是指,可在白盒環(huán)境下抵御攻擊的一種特殊加密方法。通常,算法和密鑰是獨(dú)立的,白盒加密是將算法和密鑰結(jié)合在一起,由算法和密鑰生成加密表、解密表。安全通道通過(guò)查找加密表來(lái)加密,通過(guò)查找解密表來(lái)解密,不再依賴于原有的加解密算法和密鑰。
動(dòng)態(tài)秘鑰庫(kù)保留加密、解密密碼表,將加密算法、密鑰表里選密鑰的算法和密鑰表3者分離開來(lái)。保證密鑰選取算法的安全至關(guān)重要,該算法需進(jìn)行高強(qiáng)度的混淆并使用C語(yǔ)言來(lái)編寫,進(jìn)行防反編譯和防調(diào)試處理。
本地預(yù)制密鑰庫(kù),密鑰庫(kù)為一個(gè)密鑰字符串?dāng)?shù)組,數(shù)組存放在加密文件中,通過(guò)解密代碼讀取文件解析獲得密鑰。
平臺(tái)在客戶端和服務(wù)端都需要設(shè)計(jì)密鑰選擇算法,并隨機(jī)定義一個(gè)密碼表,這樣密碼表就算被攻破,也無(wú)法知曉用哪些字符進(jìn)行解密。算法使用C語(yǔ)言編寫,并編譯成動(dòng)態(tài)鏈接庫(kù)供客戶端和服務(wù)端使用,且具備防反編譯和防動(dòng)態(tài)調(diào)試功能,具體過(guò)程如下:
(1)獲取密碼表,根據(jù)對(duì)稱加密算法和密碼表版本號(hào),獲取本地的密碼表;
(2)根據(jù)時(shí)間戳和隨機(jī)字符串裁剪,獲取到密鑰開始索引;
(3)根據(jù)開始索引號(hào)從超長(zhǎng)密碼字符串中向后移8 bit,獲取到本次交易對(duì)稱加密密鑰;
(4)獲取到本次交易的對(duì)稱密鑰后,客戶端即可使用該密鑰進(jìn)行對(duì)稱加密,服務(wù)端采用同樣的算法,取本地密鑰后進(jìn)行對(duì)稱解密。
因?yàn)槠脚_(tái)加密方式為對(duì)稱加密,只有選取密鑰需花費(fèi)較少時(shí)間,在服務(wù)器內(nèi)存中的耗時(shí)可忽略不計(jì),所以平臺(tái)的并發(fā)性能夠得到保證。
基于智能終端安全管控、傳輸鏈路安全加密、移動(dòng)業(yè)務(wù)安全準(zhǔn)入的MISMP可實(shí)現(xiàn)鐵路業(yè)務(wù)移動(dòng)終端的安全防護(hù)。平臺(tái)可提供面向用戶、設(shè)備、App和容器的全方位安全防護(hù),統(tǒng)一的VSA與個(gè)人應(yīng)用空間完全隔離,在保障員工的個(gè)人隱私不被侵犯的同時(shí),防止工作數(shù)據(jù)泄露,保護(hù)鐵路數(shù)據(jù)安全。平臺(tái)可在用戶無(wú)感知狀態(tài)下,實(shí)現(xiàn)鐵路日常移動(dòng)辦公設(shè)備的安全管理,顯著提升終端設(shè)備的信息安全,有效降低企業(yè)管理成本,可為鐵路行業(yè)移動(dòng)終端的信息安全建設(shè)提供參考。