汪凌鋒,王中武,尹一樺
(成都衛(wèi)士通信息產(chǎn)業(yè)股份有限公司,四川 成都 610095)
電子郵件作為日常工作溝通的重要工具之一,已經(jīng)在政府部門(mén)、大型企業(yè)以及軍隊(duì)中得到廣泛應(yīng)用。這些單位通過(guò)購(gòu)買(mǎi)第三方電子郵件服務(wù)或者自建電子郵件系統(tǒng)為本單位工作人員提供電子郵件服務(wù)。由于電子郵件協(xié)議的開(kāi)放性以及當(dāng)前電子郵件安全機(jī)制的限制,無(wú)論是購(gòu)買(mǎi)第三方電子郵件服務(wù)還是自建電子郵件系統(tǒng),都面臨兩個(gè)方面的安全威脅:一是電子郵件用戶身份識(shí)別的安全性不足;二是電子郵件以明文傳輸/存儲(chǔ)或者以國(guó)際算法加密傳輸/存儲(chǔ)所帶來(lái)的電子郵件內(nèi)容泄露風(fēng)險(xiǎn)。
電子郵件協(xié)議是基于TCP/IP 網(wǎng)絡(luò)協(xié)議的應(yīng)用層協(xié)議,在業(yè)務(wù)過(guò)程中會(huì)面臨TCP/IP 網(wǎng)絡(luò)協(xié)議共性的DNS 劫持、代理人攻擊以及網(wǎng)絡(luò)流量竊取分析等網(wǎng)絡(luò)安全風(fēng)險(xiǎn)。
電子郵件系統(tǒng)使用SMTP 協(xié)議[1]進(jìn)行電子郵件發(fā)送,使用IMAP[2]/POP3[3]協(xié)議進(jìn)行電子郵件的接收。這兩種協(xié)議均使用明文密碼進(jìn)行用戶登錄,雖然大部分電子郵件系統(tǒng)已經(jīng)使用SSL 安全通道的SMTPS 協(xié)議,但通過(guò)代理攻擊和DNS 劫持攻擊者可獲得郵件協(xié)議登錄消息中的明文密碼。
電子郵件協(xié)議SMTP 協(xié)議和IMAP/POP3 協(xié)議中都是使用明文傳輸電子郵件正文和附件,導(dǎo)致電子郵件正文和附件面臨被竊取的風(fēng)險(xiǎn)。此外,郵件協(xié)議的開(kāi)放性也帶來(lái)了垃圾郵件、釣魚(yú)郵件以及病毒郵件等非法郵件內(nèi)容的傳播風(fēng)險(xiǎn)。
綜合來(lái)看,傳統(tǒng)電子郵件系統(tǒng)需要從以下幾個(gè)方面進(jìn)行安全性增強(qiáng),主要包括基于PKI 的密碼服務(wù)基礎(chǔ)設(shè)施、安全認(rèn)證以及郵件內(nèi)容的機(jī)密性、完整性和不可否認(rèn)性。當(dāng)前,商用密碼技術(shù)已經(jīng)能夠支持電子郵件系統(tǒng)滿足上述安全需求。從電子郵件系統(tǒng)的業(yè)務(wù)流程(郵箱登錄、收發(fā)郵件等)來(lái)看,需要從通道保護(hù)、安全認(rèn)證和郵件內(nèi)容加密3 個(gè)方面使用商用密碼技術(shù),全方位增強(qiáng)傳統(tǒng)電子郵件系統(tǒng)的安全性。
密碼服務(wù)平臺(tái)由密碼服務(wù)平臺(tái)服務(wù)端和客戶端密碼服務(wù)SDK 組成,可為電子郵件系統(tǒng)提供商密密鑰及證書(shū)管理、密碼運(yùn)算服務(wù)。
2.1.1 商用密碼服務(wù)平臺(tái)組成
密碼服務(wù)平臺(tái)服務(wù)端包括密鑰管理服務(wù)、信息簽名服務(wù)、用戶管理服務(wù)和接入網(wǎng)關(guān)。
密鑰管理服務(wù)為密碼服務(wù)SDK 和使用密碼服務(wù)SDK 的應(yīng)用用戶提供密鑰生成、分發(fā)、存儲(chǔ)等管理服務(wù)。
信息簽名服務(wù)為密碼服務(wù)SDK 和接入網(wǎng)關(guān)提供身份簽名功能。
用戶管理服務(wù)提供用戶信息,包括用戶名、郵箱地址、電話號(hào)碼以及用戶分組等的管理能力。
接入網(wǎng)關(guān)為客戶端密碼服務(wù)SDK 提供統(tǒng)一接入服務(wù)。
2.1.2 密碼服務(wù)SDK 主要能力
為郵件客戶端提供加解密、簽名驗(yàn)簽、雜湊算法、隨機(jī)數(shù)生成以及密鑰管理等密碼服務(wù)功能。支持公鑰密碼算法SM2,為郵件客戶端提供簽名驗(yàn)簽和加解密服務(wù);支持雜湊密碼算法SM3,為郵件客戶端提供完整性驗(yàn)證服務(wù);支持分組密碼算法SM4,為郵件客戶端提供數(shù)據(jù)加密服務(wù);與密碼服務(wù)平臺(tái)服務(wù)端共同為郵件客戶端提供密鑰生成、分發(fā)、存儲(chǔ)等密鑰管理服務(wù)和證書(shū)簽發(fā)、驗(yàn)證等證書(shū)管理服務(wù)。
2.1.3 密碼服務(wù)平臺(tái)對(duì)證書(shū)、密鑰管理的支持
郵件系統(tǒng)集成密碼服務(wù)平臺(tái),郵件服務(wù)端集成密碼服務(wù)平臺(tái)服務(wù)端,郵件客戶端集成密碼服務(wù)SDK。郵件系統(tǒng)使用的密鑰、證書(shū)只在密碼服務(wù)平臺(tái)服務(wù)端和密碼服務(wù)SDK 中保存和分發(fā),郵件服務(wù)端和郵件客戶端不直接使用密鑰和證書(shū)。加密、簽名等密碼運(yùn)算由密碼服務(wù)SDK 提供接口供郵件服務(wù)端和郵件客戶端調(diào)用。密碼運(yùn)算在密碼服務(wù)SDK內(nèi)部完成。
郵件系統(tǒng)的算法、密鑰以及證書(shū)配用,如表1所示。
郵件系統(tǒng)部署時(shí)或者新郵箱用戶創(chuàng)建時(shí),郵件服務(wù)端將郵箱用戶同步到密碼服務(wù)平臺(tái)服務(wù)端。郵件客戶端集成的密碼服務(wù)SDK 生成密碼設(shè)備公私鑰對(duì),向密碼服務(wù)平臺(tái)服務(wù)端申請(qǐng)密碼設(shè)備證書(shū)。密碼服務(wù)平臺(tái)服務(wù)端為郵箱用戶預(yù)先生成加密公私鑰對(duì),申請(qǐng)加密證書(shū)。
郵箱用戶首次登錄郵件客戶端時(shí),密碼服務(wù)SDK 生成用戶簽名公私鑰對(duì),向密碼服務(wù)平臺(tái)服務(wù)端申請(qǐng)用戶簽名證書(shū)。密碼服務(wù)平臺(tái)服務(wù)端將用戶加密證書(shū)分發(fā)到密碼服務(wù)SDK。
傳統(tǒng)電子郵件系統(tǒng)可以使用基于國(guó)際算法SSL安全通道的IMAPS、POP3S 以及SMTPS 等郵件協(xié)議進(jìn)行傳輸通道保護(hù)。本文所述方案在SSL 中增加商密密碼套件,將SSL 安全通道[4]的加密算法替換為商用密碼算法。商密安全通道建立過(guò)程如圖1所示。
表1 商密算法、密鑰、證書(shū)配用
圖1 商密安全通道建立過(guò)程
電子郵件涉及SMTP、POP3、IMAP 這3 種電子郵件協(xié)議,其中SMTP 用于發(fā)送電子郵件,POP3和IMAP 用于接收電子郵件。這3 種協(xié)議均定義有各自的建立郵件會(huì)話、登錄認(rèn)證、郵件收發(fā)命令消息。以SMTP 協(xié)議為例,SMTP 協(xié)議使用AUTH LOGIN 命令向郵件服務(wù)端發(fā)起登錄認(rèn)證請(qǐng)求,客戶端將郵箱地址和密碼明文BASE64 編碼發(fā)送給郵件服務(wù)端進(jìn)行登錄認(rèn)證。
本文所述方案在郵件協(xié)議登錄階段由密碼服務(wù)SDK 生成臨時(shí)會(huì)話密鑰,郵件客戶端使用臨時(shí)會(huì)話密鑰和郵箱用戶加密私鑰,對(duì)登錄密碼進(jìn)行數(shù)字信封保護(hù),將簽名加密后的登錄密碼發(fā)送給郵箱服務(wù)端進(jìn)行登錄認(rèn)證,以增強(qiáng)電子郵箱登錄密碼使用的安全性。
同時(shí),為了規(guī)避電子郵箱登錄密碼由于用戶管理不善或者黑客竊取所帶來(lái)的風(fēng)險(xiǎn),在用戶登錄郵箱的過(guò)程中增加短信驗(yàn)證碼的雙因子認(rèn)證方式,以確保電子郵箱登錄是用戶知曉和確認(rèn)的行為。
2.4.1 明文電子郵件MIME 格式
如圖2 所示,明文電子郵件遵循MIME[5]規(guī)范。MIME 將郵件分為郵件頭和郵件體兩部分,其中第1 行到第13 行為郵件頭,第13 行之后是郵件體。郵件頭包含發(fā)件日期、發(fā)件人、收件人、郵件主題以及消息ID 等重要信息;郵件體包含郵件正文、附件等信息;郵件體格式類(lèi)型由Content-Type 定義。
圖2 明文電子郵件格式
2.4.2 電子郵件SMIME 商密簽名及加密過(guò)程
SMIME[6]規(guī)范是由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)定義的郵件加密規(guī)范。SMIME 規(guī)范的當(dāng)前版本只定義有國(guó)際標(biāo)準(zhǔn)的RC、DES 等加密算法和MD5、SHA 等摘要算法,未涉及商密算法。本文所述方案是對(duì)SMIME規(guī)范的增強(qiáng),采用商密算法SM2、SM3 和SM4 進(jìn)行郵件的加密、摘要和簽名運(yùn)算。
《GM/T 0010—2012 SM2 密碼算法加密簽名消息語(yǔ)法規(guī)范》[7]要求,對(duì)明文電子郵件MIME 中的郵件體進(jìn)行數(shù)字信封封裝。具體地,使用SM3 對(duì)郵件體進(jìn)行摘要運(yùn)算;使用發(fā)件人簽名私鑰對(duì)摘要進(jìn)行簽名;由密碼服務(wù)SDK 生成臨時(shí)會(huì)話密鑰;使用會(huì)話密鑰和SM4 算法對(duì)簽名郵件體進(jìn)行加密;使用收件人加密公鑰和SM4 算法對(duì)會(huì)話密鑰進(jìn)行加密。
加密后的郵件體以文件附件的形式替換郵件MIME 原郵件體。新的郵件體Content-Type 設(shè)置為application/pkcs7-mime。
電子郵件系統(tǒng)面臨的典型安全風(fēng)險(xiǎn)有3 類(lèi)——網(wǎng)絡(luò)安全風(fēng)險(xiǎn),郵件協(xié)議用戶認(rèn)證風(fēng)險(xiǎn),內(nèi)容泄露、篡改及仿冒風(fēng)險(xiǎn)。
電子郵件面臨與其他信息系統(tǒng)類(lèi)似的網(wǎng)絡(luò)安全風(fēng)險(xiǎn),其中可以使用密碼技術(shù)來(lái)防范網(wǎng)絡(luò)安全風(fēng)險(xiǎn),包含網(wǎng)絡(luò)流量竊取、DNS 劫持及代理人攻擊等。攻擊者通過(guò)分析網(wǎng)絡(luò)協(xié)議和明文郵件協(xié)議,可以獲取郵件內(nèi)容。通過(guò)DNS 劫持及代理人攻擊,攻擊者可以誘導(dǎo)用戶在偽冒的郵件服務(wù)器登錄,從而竊取到郵件內(nèi)容。通過(guò)本文所述的商密安全通道,攻擊者無(wú)法從網(wǎng)絡(luò)數(shù)據(jù)中獲取郵件協(xié)議內(nèi)容。通過(guò)商密安全通道建立過(guò)程中對(duì)客戶端和服務(wù)端證書(shū)的驗(yàn)證,攻擊者即使進(jìn)行了DNS 劫持,也無(wú)法誘騙郵件客戶端與偽冒郵件服務(wù)端建立安全通道和郵件會(huì)話。
電子郵件協(xié)議登錄時(shí)傳輸?shù)泥]箱密碼僅僅做了BASE64 編碼,如果郵件客戶端與郵件服務(wù)端使用非安全通道的SMTP、IMAP、POP3 協(xié)議進(jìn)行郵件收發(fā),攻擊者分析郵件協(xié)議中AUTH LOGIN 命令可以很容易獲取到郵箱密碼。另外,部分用戶管理郵箱密碼不善,也可能導(dǎo)致郵箱密碼被竊取。使用本文所述的電子郵件協(xié)議安全認(rèn)證增強(qiáng)方案,使用可靠的商密算法對(duì)密碼進(jìn)行簽名加密保護(hù),即使郵件客戶端使用非安全通道的郵件協(xié)議收發(fā)電子郵件,郵箱密碼也不會(huì)被攻擊者竊取。再加上強(qiáng)制用戶登錄使用短信驗(yàn)證碼的雙因子認(rèn)證方式,郵箱用戶可以及時(shí)獲知郵箱的異常登錄行為。無(wú)論是非安全通道郵件協(xié)議還是密碼保管不善導(dǎo)致的郵箱密碼泄露風(fēng)險(xiǎn),都可以被有效防范。
與郵箱密碼泄露風(fēng)險(xiǎn)類(lèi)似,由于傳統(tǒng)電子郵件系統(tǒng)使用非安全通道的郵件協(xié)議進(jìn)行郵件收發(fā),攻擊者可以分析網(wǎng)絡(luò)數(shù)據(jù)獲取到郵件內(nèi)容。在使用國(guó)際規(guī)范加密郵件過(guò)程中,可能因?yàn)橛脩粑赐咨票9苊荑€或證書(shū)導(dǎo)致郵件內(nèi)容被泄露、篡改或者仿冒。通過(guò)本文所述的基于商密PKI 體系的密碼服務(wù)平臺(tái)對(duì)密鑰和證書(shū)進(jìn)行全生命周期的管理,對(duì)郵件內(nèi)容進(jìn)行簽名、加密,避免了客戶端本地郵件存儲(chǔ)、郵件投遞以及服務(wù)端本地郵件存儲(chǔ)等環(huán)節(jié)郵件內(nèi)容泄露、篡改及仿冒的風(fēng)險(xiǎn)。
另外,由于郵件系統(tǒng)間的電子郵件收發(fā)不會(huì)進(jìn)行身份驗(yàn)證,攻擊者可能會(huì)利用這個(gè)特性發(fā)送大量垃圾郵件、釣魚(yú)郵件或病毒郵件。密碼服務(wù)平臺(tái)只對(duì)合法的用戶簽發(fā)加密、簽名證書(shū),會(huì)對(duì)郵件內(nèi)容進(jìn)行商密簽名和加密,因此攻擊者將無(wú)法發(fā)送垃圾郵件、釣魚(yú)郵件或病毒郵件。即使攻擊者發(fā)送這類(lèi)郵件,也可以通過(guò)簽名信息很快確定攻擊者身份。
當(dāng)前,電子郵件系統(tǒng)作為日常工作溝通特別是不同法人實(shí)體間重要信息和文件交換的工具,成為網(wǎng)絡(luò)黑客和其他非法攻擊者的重要窺探目標(biāo)。電子郵件協(xié)議自身的開(kāi)放性、安全認(rèn)證機(jī)制和加密郵件密鑰/證書(shū)管理機(jī)制不完善,因此其存在極大的安全風(fēng)險(xiǎn)。
電子郵件系統(tǒng)存在的安全風(fēng)險(xiǎn)包括郵箱密碼爆破和字典攻擊、DNS 劫持及代理人攻擊、郵件內(nèi)容泄露、篡改、仿冒、垃圾郵件及釣魚(yú)郵件等。電子郵件系統(tǒng)在設(shè)計(jì)時(shí),需要充分利用密碼技術(shù)對(duì)電子郵件業(yè)務(wù)關(guān)鍵環(huán)節(jié)進(jìn)行針對(duì)性的安全性設(shè)計(jì)。本文從安全認(rèn)證、通道保護(hù)、電子郵件內(nèi)容加密、密鑰及證書(shū)管理等方面闡述了傳統(tǒng)電子郵件系統(tǒng)所面臨的威脅,提出基于商密PKI 體系的電子郵件系統(tǒng)安全機(jī)制和安全措施,保證了電子郵件系統(tǒng)的安全性。