郭仲勇
(河南省數(shù)字證書有限責(zé)任公司,鄭州 450046)
由于移動辦公網(wǎng)絡(luò)的開放性,導(dǎo)致可能發(fā)生信息泄露或引入黑客攻擊的問題。從CNCERT檢測的數(shù)據(jù)看,2012年手機(jī)惡意代碼已經(jīng)呈現(xiàn)出增長速度快、傳播范圍廣、造成經(jīng)濟(jì)損失大的趨勢。本文提出基于PKI技術(shù)構(gòu)建安全移動網(wǎng)絡(luò)信任體系支撐平臺,從移動終端安全設(shè)計、網(wǎng)絡(luò)通信通道安全、數(shù)據(jù)加密傳輸、接入安全控制等方面進(jìn)行綜合防護(hù),構(gòu)建多層次、全方位的移動接入安全保障體系。最后給出基于PKI技術(shù)與WebService技術(shù)相結(jié)合的移動終端與服務(wù)器端通訊演示示例。該方案成功運(yùn)用于移動辦公系統(tǒng),有效地解決了移動通信中的信息安全問題。
系統(tǒng)由客戶端(包括PC和移動智能終端)應(yīng)用程序組件及接口和服務(wù)器端應(yīng)用程序組件及接口、服務(wù)、CRL/OCSP服務(wù)及接口構(gòu)成。系統(tǒng)總體結(jié)構(gòu)如下:
客戶端 (包括PC和移動智能終端)應(yīng)用程序組件及接口:實現(xiàn)證書管理、接口管理、設(shè)備驅(qū)動、證書存儲。
服務(wù)器端應(yīng)用程序組件及接口、服務(wù):主要包括證書應(yīng)用組件、授權(quán)管理、證書年檢、應(yīng)用加速、日志審計、安全防護(hù)等。
CRL/OCSP服務(wù)及接口:定期更新注銷列表和動態(tài)查詢證書信息。
用戶數(shù)字證書由CA頒發(fā)并提供認(rèn)證服務(wù)。數(shù)字證書綁定用戶身份信息,例如個人身份證、賬戶號、單位組織機(jī)構(gòu)代碼等,以智能SD卡為存儲載體。
SD卡設(shè)備由硬件電路、固化在芯片里的芯片操作系統(tǒng)(Chip Operating System,COS)和設(shè)備驅(qū)動程序構(gòu)成。
智能SD卡內(nèi)嵌32位RISC結(jié)構(gòu)的安全芯片,支持Micro-SD接口,可通過帶有USB接口的適配器同PC連接,便于證書、私鑰等關(guān)鍵數(shù)據(jù)的導(dǎo)入、更新等操作。此外,可提供2G的卡存儲空間,便于用戶存儲個人數(shù)據(jù)文件。
智能SD卡運(yùn)行專用的智能卡操作系統(tǒng),主要功能是控制卡片和外界的信息交換,管理卡內(nèi)的存儲器并在內(nèi)部完成各種命令的處理。
移動終端應(yīng)用程序主要包括智能SD卡設(shè)備驅(qū)動、移動終端證書應(yīng)用編程接口、安全通訊模塊、智能SD卡安全管理模塊及應(yīng)用程序組件等。
(1)智能SD卡驅(qū)動負(fù)責(zé)完成對接入系統(tǒng)的智能SD卡設(shè)備的初始化、讀、寫、狀態(tài)控制等操作,該驅(qū)動作為操作系統(tǒng)內(nèi)核的組成部分,通過調(diào)用設(shè)備抽象層提供的原語操作。
(2)移動終端證書應(yīng)用編程接口通過封裝智能SD卡提供的密碼算法功能,向上層應(yīng)用提供安全訪問接口。
下面以Windows Mobile為例詳細(xì)說明,其基本結(jié)構(gòu)如下圖所示:
密碼服務(wù)由加密服務(wù)提供層(CryptoSPI)、CryptoAPI接口層和應(yīng)用層組成。應(yīng)用程序通過CryptoAPI提供的接口函數(shù)來使用加密服務(wù)提供者CSP所提供的加密服務(wù);CSP是一個獨(dú)立的模塊,完成所有加密、數(shù)字簽名等操作,是執(zhí)行密碼工作的模塊。CryptoAPI提供完善的應(yīng)用開發(fā)接口,包括:基本密碼函數(shù)、證書處理和證書存儲函數(shù)、證書驗證函數(shù)、消息函數(shù)以及其他輔助函數(shù)等。
CSP由智能SD卡硬件實現(xiàn):將每個合法用戶的私鑰和證書存放在SD卡中,且不允許導(dǎo)出用戶私鑰;涉及私鑰相關(guān)的操作(如散列、簽名等),也都放在硬件中實現(xiàn),以免被盜用或篡改;會話密鑰相關(guān)的操作,對稱加密算法的實現(xiàn)均由硬件部件完成。智能SD卡硬件完成的與CSP相關(guān)的操作,會向上層CSP函數(shù)應(yīng)用提供一系列接口。CSP DLL必須包括CryptoSPI基本的函數(shù),其中的一部分函數(shù)涉及硬件的操作,所以也包括了硬件設(shè)備的驅(qū)動程序和嵌入式代碼。
這些函數(shù)中涉及用戶私鑰和證書的操作,都利用SD卡的API提供的接口來完成。例如,讀取和設(shè)置用戶密鑰對的參數(shù);從硬件中獲得用戶密鑰的句柄,就是利用硬件存儲的密鑰ID號來完成;數(shù)字簽名時,使用用戶私鑰,并且利用SD卡中的RSA引擎來加密散列數(shù)據(jù)。
(3)安全通訊模塊為客戶和服務(wù)器的通訊提供安全機(jī)制,可以使用多種方法:
*基于PKI的數(shù)據(jù)加解密、簽名驗證等;
*建立基于PKI支持的安全套接層SSL安全機(jī)制,在移動終端和服務(wù)器端的安全認(rèn)證網(wǎng)關(guān)在建立連接時對通信雙方進(jìn)行身份認(rèn)證,并對數(shù)據(jù)進(jìn)行加解密、簽名驗證等,達(dá)到防竊聽、防消息篡改及防消息偽造的安全通信;
*建立基于PKI支持的網(wǎng)絡(luò)層IPSec VPN,實現(xiàn)虛擬專網(wǎng)、安全的外部網(wǎng)及遠(yuǎn)程用戶訪問。
(4)應(yīng)用程序利用智能SD卡提供的安全保護(hù)機(jī)制,通過3G/GPRS/GSM/CDMA/其他移動公網(wǎng)等無線協(xié)議連接Internet,完成各項業(yè)務(wù)操作。
智能SD卡不僅可以在移動平臺使用,還可以通過MicroSD/SD讀卡器連接到桌面平臺,支持桌面平臺的各種安全應(yīng)用。
在PC機(jī)上通過證書應(yīng)用管理工具進(jìn)行管理,主要包括證書申請、導(dǎo)入、年檢、更新、注銷等功能模塊。該模塊集成CA現(xiàn)有數(shù)字證書管理的成熟技術(shù)和工具的相關(guān)功能。
服務(wù)器端安全設(shè)計主要包括數(shù)字證書應(yīng)用組件接口設(shè)計、授權(quán)管理設(shè)計、證書年檢功能設(shè)計、應(yīng)用加速設(shè)計、日志審計設(shè)計、安全防護(hù)配置、VPN設(shè)備證書配置、CRL/OCSP配置、單點(diǎn)登錄系統(tǒng)部署。限于篇幅,本文只列出主要設(shè)計或配置項。
(1)數(shù)字證書應(yīng)用組件接口設(shè)計:服務(wù)器端證書應(yīng)用接口兼容CryptoAPI、PKCS#1l和CA開發(fā)的數(shù)字證書編程接口,主要包括加解密、數(shù)字簽名、證書驗證、數(shù)字信封等。
(2)授權(quán)管理設(shè)計:設(shè)計更細(xì)粒度的管理模塊,實現(xiàn)更加靈活的管理,實現(xiàn)靈活授權(quán)、“一證多用”。通過SSL層身份認(rèn)證的用戶,在應(yīng)用層通過授權(quán)管理,可以控制登錄者是否具有登錄具體的業(yè)務(wù)系統(tǒng)的權(quán)限。
(3)證書年檢功能設(shè)計:證書機(jī)構(gòu)定期通過審核證書持有者及單位相關(guān)資質(zhì),從而確保簽發(fā)出去的證書安全有效。同時這也是出于技術(shù)安全的考慮,對到期后會重新簽發(fā)新證書,而每張證書的密鑰也是不盡相同的,這也降低了由于保管不善密鑰丟失的風(fēng)險。
(4)應(yīng)用加速:SSL加速決定整個網(wǎng)絡(luò)的吞吐量。采用的SSL加速硬件,提高了身份認(rèn)證和加解密的響應(yīng)速度。采用通過數(shù)據(jù)壓縮技術(shù),對所有的傳輸數(shù)據(jù)進(jìn)行壓縮后再進(jìn)行傳輸,這樣就提高了整個網(wǎng)絡(luò)的運(yùn)行效率和實用性。
(5)日志審計設(shè)計:記錄訪問內(nèi)容請求,記錄用戶訪問的時間、訪問地址等信息,提供詳細(xì)的系統(tǒng)信息,調(diào)試及錯誤日志,支持與第三方Syslog日志服務(wù)器同步。
(6)安全防護(hù)配置:安裝和配置防火墻及安全審計等安全防護(hù)機(jī)制。
(7)VPN設(shè)備證書配置:配置VPN設(shè)備證書,用于標(biāo)識VPN設(shè)備身份,確保網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)臋C(jī)密性、完整性和不可否認(rèn)性。
(8)CRL/OCSP配置:配置 CRL/OCSP,實現(xiàn)在國家主管部門規(guī)定的時間內(nèi)定期更新CRL,動態(tài)查詢證書信息。
(9)單點(diǎn)登錄系統(tǒng)部署:部署單點(diǎn)登錄系統(tǒng),支持C/S和B/S應(yīng)用。
移動終端與安全認(rèn)證網(wǎng)關(guān)進(jìn)行安全通訊,可以通過Socket網(wǎng)絡(luò)編程接口,通訊雙方通過套接口進(jìn)行通訊;也可以通過基于WebService服務(wù)的認(rèn)證接口,建立分布式互操作、輕量級的獨(dú)立的通訊技術(shù)。
本文給出基于PKI與WebService技術(shù)相結(jié)合的移動終端與安全認(rèn)證網(wǎng)關(guān)進(jìn)行通訊的示例流程,展示移動證書使用方法和安全防護(hù)效果。移動終端的加解密數(shù)據(jù)主要通過智能SD卡內(nèi)的硬件算法引擎進(jìn)行運(yùn)算,密鑰傳遞通過數(shù)字信封方式進(jìn)行保護(hù)。移動終端與安全認(rèn)證網(wǎng)關(guān)安全通訊流程圖如圖三:
(1)移動終端調(diào)用智能SD卡中的加密API對業(yè)務(wù)數(shù)據(jù)進(jìn)行加密;
(2)通過soap消息封裝加密后的數(shù)據(jù);
(3)調(diào)用webService提供的公共接口;
(4)通過webService提供的接口調(diào)用服務(wù)器端解密API函數(shù)進(jìn)行解密;
(5)解密過程后的處理結(jié)果封裝成soap消息傳回客戶端。
本文結(jié)合實際項目,對基于PKI的移動辦公整體設(shè)計方案進(jìn)行了詳細(xì)闡述,最后通過移動終端與安全認(rèn)證網(wǎng)關(guān)安全通訊示例,展示了數(shù)據(jù)跨平臺安全傳輸過程。本設(shè)計方案可以應(yīng)用于通用的移動辦公應(yīng)用,也可應(yīng)用于移動政務(wù)、移動警務(wù)、移動工商、移動醫(yī)療、移動制造等行業(yè)性領(lǐng)域。
隨著移動通信技術(shù)不斷發(fā)展和移動應(yīng)用不斷普及,云計算、虛擬化、三網(wǎng)融合、無線物聯(lián)網(wǎng)等技術(shù)與應(yīng)用的發(fā)展、普及,對于未來的移動終端應(yīng)用有一定的影響,對移動辦公架構(gòu)的設(shè)計也要不斷改進(jìn);同時,安全接入方案的設(shè)計和數(shù)據(jù)傳輸標(biāo)準(zhǔn),必須符合國家標(biāo)準(zhǔn)及相關(guān)法規(guī)、政策要求。
[1]參見 ISO/IEC 18028-3-2008 信息技術(shù),安全技術(shù),IT網(wǎng)絡(luò)安全第3部分:使用安全網(wǎng)關(guān)的網(wǎng)絡(luò)間的安全通信
[2]參見ISO/IEC 29179-2012信息技術(shù)——移動項目識別和管理——移動AIDC應(yīng)用編程接口
[3]參見ISO/IEC 18031-2011信息技術(shù)——安全技術(shù)——隨機(jī)位生成
[4]張千里,陳光英.網(wǎng)絡(luò)安全新技術(shù)[M].北京:人民郵電出版社,2003.
[5]呂廷杰.移動電子商務(wù)[M].北京:電子工業(yè)出版社,2011.