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