◆蔡子凡 劉瑞鵬
?
網(wǎng)絡(luò)應(yīng)用前端中間件安全方案
◆蔡子凡 劉瑞鵬
(興唐通信科技有限公司 北京 100191)
網(wǎng)絡(luò)應(yīng)用前端中間件是互聯(lián)網(wǎng)+可信身份認(rèn)證平臺采集信息的前置終端。本文設(shè)計了一種網(wǎng)絡(luò)應(yīng)用前端中間件的安全方案,為前端中間件安全采集身份信息提供了端到端的保護(hù)能力。應(yīng)用結(jié)果表明,本方案可以保證前端中間件采集信息的安全、可靠和不可抵賴,取得了良好的應(yīng)用效果。
前端中間件;中間件安全
互聯(lián)網(wǎng)+可信身份認(rèn)證平臺依據(jù)“三據(jù)四不”的原則建設(shè),依托于國家已有的第二代居民身份證體系,構(gòu)建了“后臺實名,前臺匿名”的身份認(rèn)證體系,既建立公民真實身份的網(wǎng)絡(luò)映射,又不危及公民真實身份隱私,保障網(wǎng)絡(luò)空間中的人、設(shè)備、數(shù)據(jù)等實體可信,實現(xiàn)網(wǎng)絡(luò)行為可溯源,為解決“依法管網(wǎng)、依法辦網(wǎng)、依法上網(wǎng)”奠定了基礎(chǔ)。第三方網(wǎng)絡(luò)應(yīng)用基于認(rèn)證平臺提供的去隱私化的身份認(rèn)證服務(wù),認(rèn)證用戶身份,保證在網(wǎng)絡(luò)空間活動的用戶的后臺實名。
由于網(wǎng)絡(luò)空間中身份認(rèn)證的遠(yuǎn)程性質(zhì),必須采用一些認(rèn)證因素如PIN碼和人像等個人隱私信息對遠(yuǎn)端人員進(jìn)行其所聲稱身份與其真實身份的同一性驗證,同時認(rèn)證平臺需要通過第三方網(wǎng)絡(luò)應(yīng)用采集用戶的身份信息,為保證用戶個人隱私信息不被第三方網(wǎng)絡(luò)應(yīng)用惡意使用,需要對前端采集的信息進(jìn)行安全保護(hù),防止:
(1)第三方網(wǎng)絡(luò)應(yīng)用收集公民隱私信息;
(2)傳輸過程中隱私信息被竊取。
因此認(rèn)證平臺需要將安全的、去隱私化的網(wǎng)絡(luò)應(yīng)用前端中間件提供給第三方網(wǎng)絡(luò)應(yīng)用采集待認(rèn)證人的認(rèn)證因素,保證用戶身份的“前臺匿名”。
下面各節(jié)主要描述網(wǎng)絡(luò)應(yīng)用前端中間件的構(gòu)成和功能、網(wǎng)絡(luò)應(yīng)用前端中間件的安全加固方案及應(yīng)用效果。
認(rèn)證平臺的網(wǎng)絡(luò)應(yīng)用前端中間件作為眾多第三方網(wǎng)絡(luò)應(yīng)用前端系統(tǒng)內(nèi)置的接口工具,用于連接外部設(shè)備采集待認(rèn)證人的認(rèn)證因素,并將采集的身份信息加密、脫敏處理,然后輸出給第三方網(wǎng)絡(luò)應(yīng)用。
網(wǎng)絡(luò)應(yīng)用前端中間件按照功能分為三類:讀卡器中間件、人像中間件和口令中間件。這三種中間件通過業(yè)務(wù)組件采集用戶信息,通過內(nèi)置的安全控件實現(xiàn)采集的認(rèn)證信息的加密、去隱私化保護(hù)。網(wǎng)絡(luò)應(yīng)用前端中間件的結(jié)構(gòu)如圖1所示。
圖1 網(wǎng)絡(luò)應(yīng)用前端中間件結(jié)構(gòu)示意圖
安全控件向網(wǎng)絡(luò)前端中間件提供安全防護(hù)功能:簽名驗簽服務(wù)和數(shù)據(jù)加密服務(wù)。安全控件的結(jié)構(gòu)如圖2所示。
圖2 網(wǎng)絡(luò)應(yīng)用前端中間件安全控件結(jié)構(gòu)圖
如圖所示,安全控件總體分為三層:接口層、功能層和引擎層。
接口層是外界調(diào)用安全控件的渠道,由于需要使用安全控件應(yīng)用環(huán)境的多樣化,接口層也需要提供不同環(huán)境的接口庫。目前接口層支持三種類型的接口:iOS接口、Android接口和Windows接口。iOS接口適用于Mac OS環(huán)境和iOS系統(tǒng)環(huán)境;Android接口適用于安卓應(yīng)用開發(fā);Windows接口適用于Windows系統(tǒng)開發(fā)。
功能層向接口層提供服務(wù)接口,負(fù)責(zé)安全控件所有業(yè)務(wù)的實現(xiàn)。該層包括業(yè)務(wù)算法庫,提供基于國密算法的簽名驗簽服務(wù)和標(biāo)準(zhǔn)的國密算法加密服務(wù)。
引擎層包括OpenSSL算法引擎、國密算法引擎和硬件算法引擎。OpenSSL算法引擎提供基礎(chǔ)的密碼調(diào)用功能和數(shù)據(jù)格式定義及轉(zhuǎn)換功能,國密算法引擎基于OpenSSL算法引擎實現(xiàn),向功能層提供國密算法SM2、SM3和SM4的算法接口,硬件算法引擎基于硬件資源向功能層提供國密算法SM2、SM3和SM4的算法接口。
網(wǎng)絡(luò)應(yīng)用前端中間件需要同認(rèn)證平臺進(jìn)行通信,首先需要對認(rèn)證平臺進(jìn)行身份驗證。該驗證通過非對稱算法的驗簽進(jìn)行。網(wǎng)絡(luò)應(yīng)用前端中間件需要向認(rèn)證平臺發(fā)送數(shù)據(jù),為了保護(hù)發(fā)送的身份信息需要采用數(shù)字信封的方式對信息進(jìn)行打包封裝。
綜合以上兩點,本方案設(shè)計的接口如表1所示。
表1 標(biāo)準(zhǔn)接口
項目接口說明 終端安全控件驗簽驗證身份認(rèn)證平臺下發(fā)數(shù)據(jù)的簽名 身份信息數(shù)字信封加密對采集到的身份信息進(jìn)行數(shù)字信封加密保護(hù)
驗簽接口接收平臺下發(fā)的數(shù)據(jù)以及對應(yīng)的簽名值,依據(jù)國密SM2算法進(jìn)行簽名值的驗證。身份信息數(shù)字信封加密接口接收認(rèn)證平臺下發(fā)的隨機(jī)因子及前端中間件采集的公民身份信息,通過SM2算法標(biāo)準(zhǔn)的數(shù)字信封格式加密。
采用不帶簽名的SM2算法數(shù)字信封,通過ASN.1格式描述如下所示:
EnvelopedData ::= SEQUENCE {
version Version,
recipientInfos Set of RecipientInfo,
encryptedContentInfo EncryptedContentInfo
}
數(shù)字信封數(shù)據(jù)由版本信息version、接收者信息recipientInfos和密文信息encryptedContentInfo三部分組成。版本信息為采用信封版本號;接受者信息為接收密文的接收方信息,為一個序列;密文信息為經(jīng)對稱密鑰加密的消息密文,同樣為一個序列。
數(shù)字信封算法首先生成一個隨機(jī)數(shù)作為對稱密鑰,采用SM4算法將傳入的身份信息進(jìn)行加密,然后通過平臺公鑰對該對稱密鑰加密,然后將相應(yīng)的密文按照標(biāo)準(zhǔn)結(jié)構(gòu)拼裝到一起得到最終的數(shù)字信封報文。
本文設(shè)計了一種基于內(nèi)置國密算法安全控件的網(wǎng)絡(luò)身份應(yīng)用前端中間件安全方案,通過標(biāo)準(zhǔn)化算法、標(biāo)準(zhǔn)化數(shù)據(jù)和標(biāo)準(zhǔn)化接口封裝的方式保證了該方案的可行性和安全性,并已在“互聯(lián)網(wǎng)+可信身份認(rèn)證平臺”項目中使用,取得了較好的應(yīng)用效果。
[1]黃道麗,趙麗莉,金波等.互聯(lián)網(wǎng)電子身份管理模式及法律保障[J].政法學(xué)刊,2011.
[2]賈鐵軍.網(wǎng)絡(luò)安全實用技術(shù)[M].北京機(jī)械工業(yè)出版社,2011.
[3]胡傳平,鄒翔,楊明慧等.全球網(wǎng)絡(luò)身份管理的現(xiàn)狀與發(fā)展[M].人民郵電出版社,2014.
[4]左鋒.信息安全體系模型研究[J].信息安全與保密通信,2010.
[5]劉熙胖,梁松濤.智能終端安全體系研究與應(yīng)用[J].通訊世界,2015.
[6]胡一博,朱詩兵,李長青.移動智能終端安全體系研究[J].無線電工程,2017.
[7]搜狐網(wǎng).“中關(guān)村安信網(wǎng)絡(luò)身份認(rèn)證產(chǎn)業(yè)聯(lián)盟”正式成立 [EB/OL].http://www.sohu.com/a/205980110_780769.
[8]百度百科.中間件[EB/OL].https://baike. baidu. com/item/中間件/452240.
本項目由國家重點研發(fā)計劃資助( No.2016YFC0801100)。