汪凌鋒,王中武,尹一樺
(成都衛士通信息產業股份有限公司,四川 成都 610095)
電子郵件作為日常工作溝通的重要工具之一,已經在政府部門、大型企業以及軍隊中得到廣泛應用。這些單位通過購買第三方電子郵件服務或者自建電子郵件系統為本單位工作人員提供電子郵件服務。由于電子郵件協議的開放性以及當前電子郵件安全機制的限制,無論是購買第三方電子郵件服務還是自建電子郵件系統,都面臨兩個方面的安全威脅:一是電子郵件用戶身份識別的安全性不足;二是電子郵件以明文傳輸/存儲或者以國際算法加密傳輸/存儲所帶來的電子郵件內容泄露風險。
電子郵件協議是基于TCP/IP 網絡協議的應用層協議,在業務過程中會面臨TCP/IP 網絡協議共性的DNS 劫持、代理人攻擊以及網絡流量竊取分析等網絡安全風險。
電子郵件系統使用SMTP 協議[1]進行電子郵件發送,使用IMAP[2]/POP3[3]協議進行電子郵件的接收。這兩種協議均使用明文密碼進行用戶登錄,雖然大部分電子郵件系統已經使用SSL 安全通道的SMTPS 協議,但通過代理攻擊和DNS 劫持攻擊者可獲得郵件協議登錄消息中的明文密碼。
電子郵件協議SMTP 協議和IMAP/POP3 協議中都是使用明文傳輸電子郵件正文和附件,導致電子郵件正文和附件面臨被竊取的風險。此外,郵件協議的開放性也帶來了垃圾郵件、釣魚郵件以及病毒郵件等非法郵件內容的傳播風險。
綜合來看,傳統電子郵件系統需要從以下幾個方面進行安全性增強,主要包括基于PKI 的密碼服務基礎設施、安全認證以及郵件內容的機密性、完整性和不可否認性。當前,商用密碼技術已經能夠支持電子郵件系統滿足上述安全需求。從電子郵件系統的業務流程(郵箱登錄、收發郵件等)來看,需要從通道保護、安全認證和郵件內容加密3 個方面使用商用密碼技術,全方位增強傳統電子郵件系統的安全性。
密碼服務平臺由密碼服務平臺服務端和客戶端密碼服務SDK 組成,可為電子郵件系統提供商密密鑰及證書管理、密碼運算服務。
2.1.1 商用密碼服務平臺組成
密碼服務平臺服務端包括密鑰管理服務、信息簽名服務、用戶管理服務和接入網關。
密鑰管理服務為密碼服務SDK 和使用密碼服務SDK 的應用用戶提供密鑰生成、分發、存儲等管理服務。
信息簽名服務為密碼服務SDK 和接入網關提供身份簽名功能。
用戶管理服務提供用戶信息,包括用戶名、郵箱地址、電話號碼以及用戶分組等的管理能力。
接入網關為客戶端密碼服務SDK 提供統一接入服務。
2.1.2 密碼服務SDK 主要能力
為郵件客戶端提供加解密、簽名驗簽、雜湊算法、隨機數生成以及密鑰管理等密碼服務功能。支持公鑰密碼算法SM2,為郵件客戶端提供簽名驗簽和加解密服務;支持雜湊密碼算法SM3,為郵件客戶端提供完整性驗證服務;支持分組密碼算法SM4,為郵件客戶端提供數據加密服務;與密碼服務平臺服務端共同為郵件客戶端提供密鑰生成、分發、存儲等密鑰管理服務和證書簽發、驗證等證書管理服務。
2.1.3 密碼服務平臺對證書、密鑰管理的支持
郵件系統集成密碼服務平臺,郵件服務端集成密碼服務平臺服務端,郵件客戶端集成密碼服務SDK。郵件系統使用的密鑰、證書只在密碼服務平臺服務端和密碼服務SDK 中保存和分發,郵件服務端和郵件客戶端不直接使用密鑰和證書。加密、簽名等密碼運算由密碼服務SDK 提供接口供郵件服務端和郵件客戶端調用。密碼運算在密碼服務SDK內部完成。
郵件系統的算法、密鑰以及證書配用,如表1所示。
郵件系統部署時或者新郵箱用戶創建時,郵件服務端將郵箱用戶同步到密碼服務平臺服務端。郵件客戶端集成的密碼服務SDK 生成密碼設備公私鑰對,向密碼服務平臺服務端申請密碼設備證書。密碼服務平臺服務端為郵箱用戶預先生成加密公私鑰對,申請加密證書。
郵箱用戶首次登錄郵件客戶端時,密碼服務SDK 生成用戶簽名公私鑰對,向密碼服務平臺服務端申請用戶簽名證書。密碼服務平臺服務端將用戶加密證書分發到密碼服務SDK。
傳統電子郵件系統可以使用基于國際算法SSL安全通道的IMAPS、POP3S 以及SMTPS 等郵件協議進行傳輸通道保護。本文所述方案在SSL 中增加商密密碼套件,將SSL 安全通道[4]的加密算法替換為商用密碼算法。商密安全通道建立過程如圖1所示。

表1 商密算法、密鑰、證書配用

圖1 商密安全通道建立過程
電子郵件涉及SMTP、POP3、IMAP 這3 種電子郵件協議,其中SMTP 用于發送電子郵件,POP3和IMAP 用于接收電子郵件。這3 種協議均定義有各自的建立郵件會話、登錄認證、郵件收發命令消息。以SMTP 協議為例,SMTP 協議使用AUTH LOGIN 命令向郵件服務端發起登錄認證請求,客戶端將郵箱地址和密碼明文BASE64 編碼發送給郵件服務端進行登錄認證。
本文所述方案在郵件協議登錄階段由密碼服務SDK 生成臨時會話密鑰,郵件客戶端使用臨時會話密鑰和郵箱用戶加密私鑰,對登錄密碼進行數字信封保護,將簽名加密后的登錄密碼發送給郵箱服務端進行登錄認證,以增強電子郵箱登錄密碼使用的安全性。
同時,為了規避電子郵箱登錄密碼由于用戶管理不善或者黑客竊取所帶來的風險,在用戶登錄郵箱的過程中增加短信驗證碼的雙因子認證方式,以確保電子郵箱登錄是用戶知曉和確認的行為。
2.4.1 明文電子郵件MIME 格式
如圖2 所示,明文電子郵件遵循MIME[5]規范。MIME 將郵件分為郵件頭和郵件體兩部分,其中第1 行到第13 行為郵件頭,第13 行之后是郵件體。郵件頭包含發件日期、發件人、收件人、郵件主題以及消息ID 等重要信息;郵件體包含郵件正文、附件等信息;郵件體格式類型由Content-Type 定義。

圖2 明文電子郵件格式
2.4.2 電子郵件SMIME 商密簽名及加密過程
SMIME[6]規范是由互聯網工程任務組(Internet Engineering Task Force,IETF)定義的郵件加密規范。SMIME 規范的當前版本只定義有國際標準的RC、DES 等加密算法和MD5、SHA 等摘要算法,未涉及商密算法。本文所述方案是對SMIME規范的增強,采用商密算法SM2、SM3 和SM4 進行郵件的加密、摘要和簽名運算。
《GM/T 0010—2012 SM2 密碼算法加密簽名消息語法規范》[7]要求,對明文電子郵件MIME 中的郵件體進行數字信封封裝。具體地,使用SM3 對郵件體進行摘要運算;使用發件人簽名私鑰對摘要進行簽名;由密碼服務SDK 生成臨時會話密鑰;使用會話密鑰和SM4 算法對簽名郵件體進行加密;使用收件人加密公鑰和SM4 算法對會話密鑰進行加密。
加密后的郵件體以文件附件的形式替換郵件MIME 原郵件體。新的郵件體Content-Type 設置為application/pkcs7-mime。
電子郵件系統面臨的典型安全風險有3 類——網絡安全風險,郵件協議用戶認證風險,內容泄露、篡改及仿冒風險。
電子郵件面臨與其他信息系統類似的網絡安全風險,其中可以使用密碼技術來防范網絡安全風險,包含網絡流量竊取、DNS 劫持及代理人攻擊等。攻擊者通過分析網絡協議和明文郵件協議,可以獲取郵件內容。通過DNS 劫持及代理人攻擊,攻擊者可以誘導用戶在偽冒的郵件服務器登錄,從而竊取到郵件內容。通過本文所述的商密安全通道,攻擊者無法從網絡數據中獲取郵件協議內容。通過商密安全通道建立過程中對客戶端和服務端證書的驗證,攻擊者即使進行了DNS 劫持,也無法誘騙郵件客戶端與偽冒郵件服務端建立安全通道和郵件會話。
電子郵件協議登錄時傳輸的郵箱密碼僅僅做了BASE64 編碼,如果郵件客戶端與郵件服務端使用非安全通道的SMTP、IMAP、POP3 協議進行郵件收發,攻擊者分析郵件協議中AUTH LOGIN 命令可以很容易獲取到郵箱密碼。另外,部分用戶管理郵箱密碼不善,也可能導致郵箱密碼被竊取。使用本文所述的電子郵件協議安全認證增強方案,使用可靠的商密算法對密碼進行簽名加密保護,即使郵件客戶端使用非安全通道的郵件協議收發電子郵件,郵箱密碼也不會被攻擊者竊取。再加上強制用戶登錄使用短信驗證碼的雙因子認證方式,郵箱用戶可以及時獲知郵箱的異常登錄行為。無論是非安全通道郵件協議還是密碼保管不善導致的郵箱密碼泄露風險,都可以被有效防范。
與郵箱密碼泄露風險類似,由于傳統電子郵件系統使用非安全通道的郵件協議進行郵件收發,攻擊者可以分析網絡數據獲取到郵件內容。在使用國際規范加密郵件過程中,可能因為用戶未妥善保管密鑰或證書導致郵件內容被泄露、篡改或者仿冒。通過本文所述的基于商密PKI 體系的密碼服務平臺對密鑰和證書進行全生命周期的管理,對郵件內容進行簽名、加密,避免了客戶端本地郵件存儲、郵件投遞以及服務端本地郵件存儲等環節郵件內容泄露、篡改及仿冒的風險。
另外,由于郵件系統間的電子郵件收發不會進行身份驗證,攻擊者可能會利用這個特性發送大量垃圾郵件、釣魚郵件或病毒郵件。密碼服務平臺只對合法的用戶簽發加密、簽名證書,會對郵件內容進行商密簽名和加密,因此攻擊者將無法發送垃圾郵件、釣魚郵件或病毒郵件。即使攻擊者發送這類郵件,也可以通過簽名信息很快確定攻擊者身份。
當前,電子郵件系統作為日常工作溝通特別是不同法人實體間重要信息和文件交換的工具,成為網絡黑客和其他非法攻擊者的重要窺探目標。電子郵件協議自身的開放性、安全認證機制和加密郵件密鑰/證書管理機制不完善,因此其存在極大的安全風險。
電子郵件系統存在的安全風險包括郵箱密碼爆破和字典攻擊、DNS 劫持及代理人攻擊、郵件內容泄露、篡改、仿冒、垃圾郵件及釣魚郵件等。電子郵件系統在設計時,需要充分利用密碼技術對電子郵件業務關鍵環節進行針對性的安全性設計。本文從安全認證、通道保護、電子郵件內容加密、密鑰及證書管理等方面闡述了傳統電子郵件系統所面臨的威脅,提出基于商密PKI 體系的電子郵件系統安全機制和安全措施,保證了電子郵件系統的安全性。