蘇彬庭 ,陳明志 ,許 力 ,周趙斌
(1.福建師范大學 網(wǎng)絡與數(shù)據(jù)中心,福建 福州 350117;2.福建省網(wǎng)絡安全與密碼技術重點實驗室,福建 福州350007;3.北卡科技有限公司,福建 福州 350000)
網(wǎng)絡空間安全在我國的主權維護與安全防控中扮演著重要的角色,密碼技術作為網(wǎng)絡空間安全的“命脈”,是國家的戰(zhàn)略資源和維護網(wǎng)絡空間安全的根本。 然而,當前部分主流密碼算法(例如 DES、SHA1、RSA 等)不僅存在安全性或使用不規(guī)范的問題[1-4],同時也無法滿足我國對網(wǎng)絡空間安全自主化要求[5]。 為解決這一問題,我國近幾年加大國產(chǎn)密碼算法(以下簡稱“國密算法”)研究工作,并取得了關鍵性進展。 隨著工業(yè)化與信息化的深度融合,工業(yè)互聯(lián)網(wǎng)安全已經(jīng)成為網(wǎng)絡空間安全重要問題之一。 工業(yè)互聯(lián)網(wǎng)系統(tǒng)間的互聯(lián)特性,將使其核心工業(yè)生產(chǎn)控制系統(tǒng)面臨更多的安全威脅[6]。 工業(yè)互聯(lián)網(wǎng)是新一輪工業(yè)革命和產(chǎn)業(yè)變革的一個重點發(fā)展領域,推進國密算法的研究與應用,從根本上解決終端信息存儲、認證、數(shù)據(jù)傳輸?shù)葐栴},對于保障我國工業(yè)互聯(lián)網(wǎng)安全和實現(xiàn)網(wǎng)絡安全的自主化目標具有重大意義。本文首先闡述了國密算法在工業(yè)互聯(lián)網(wǎng)中的應用以及面臨的挑戰(zhàn),針對工業(yè)互聯(lián)網(wǎng)終端的身份識別問題,設計一種輕量的安全身份認證協(xié)議,該協(xié)議具備雙向認證、前向安全性、支持用戶撤銷、抵抗攻擊等安全特性。
國密算法在商用領域已經(jīng)形成完整的基礎型密碼體系,如表 1 所示,包括 SM1、SM3、SM4、SM7、SM9 和 ZUC 等密碼算法[7-10]。 這些算法不僅是獲得國家批準的行業(yè)密碼標準,其中 SM2、SM3、SM9 和ZUC 密碼算法相繼通過了ISO/IEC 信息安全分技術委員會評審,成為國際標準。 驗證表明,SM2 的安全性要高于國際通用的 ECDSA 算法,SM3 的安全性與SHA-256 相當,但高于 MD5、SHA-1、SHA-224[10-11]。
表1 國產(chǎn)密碼算法及其應用
2020 年 1 月 1 日,我國頒發(fā)了《中華人民共和國密碼法》,明確規(guī)定“涉及國家安全、國計民生、社會公共利益的商用密碼產(chǎn)品,在獲得具備資格的機構檢測認證合格前,不可銷售或者提供”,規(guī)范了各類商用密碼產(chǎn)品的使用和上市條件。 目前,各類需要密碼算法的設備、軟件和系統(tǒng)等產(chǎn)品,主要采用的是國際通用的密碼算法,集成國密算法相對較少。
在工業(yè)互聯(lián)網(wǎng)安全領域中,國密算法的應用主要體現(xiàn)在身份認證、訪問控制、賬戶管理、數(shù)據(jù)安全等方面,涉及通信協(xié)議、認證協(xié)議、電子簽名等關鍵技 術[10,12-16]。 通 常 利 用 SM1、SM4、SM7 和 ZUC 序 列等對稱密碼算法加解密數(shù)據(jù),保證數(shù)據(jù)的保密性;利用SM2 和SM9 等非對稱密碼算法產(chǎn)生消息簽名,保證數(shù)據(jù)的不可否認性;利用SM3 雜湊算法計算消息摘要,保證數(shù)據(jù)的完整性。 各大企業(yè)也研制出國密加密芯片、服務器密碼機、云服務器密碼機、VPN設備和加密硬盤等數(shù)據(jù)加密類產(chǎn)品,以及簽名驗簽服務器和電子簽章數(shù)據(jù)簽名類產(chǎn)品。
國產(chǎn)密碼在工業(yè)互聯(lián)網(wǎng)中的應用面臨著諸多挑戰(zhàn):
(1)研究起步晚,集成國密算法的產(chǎn)品較少。 我國在1996 年才開始重視國產(chǎn)密碼算法的研究,研究起步較晚。 此外,商用密碼檢測機構偏少,影響產(chǎn)品的認證周期和成本, 延長了產(chǎn)品上市時間,降低了產(chǎn)品的競爭力,從而降低了各企業(yè)研發(fā)的產(chǎn)品集成國密算法的積極性。
(2)產(chǎn)品多數(shù)采用雙芯片結構,效率低。 多數(shù)密碼商用產(chǎn)品采用雙芯片結構,如圖1 所示,待處理的數(shù)據(jù)通過主芯片向國密芯片傳輸,經(jīng)國密芯片進行密碼運算后,再回傳到主芯片進行業(yè)務操作。 這種結構導致產(chǎn)品計算和運行效率降低,同時增加數(shù)據(jù)在兩個芯片傳輸過程的泄露風險。
圖1 雙芯片結構示意圖
(3)信息系統(tǒng)無法支持基于國產(chǎn)密碼算法的傳輸/認證協(xié)議。 目前工業(yè)信息系統(tǒng)主要是 B/S 架構,數(shù)據(jù)在客戶端和服務器之間的傳輸安全性主要基于國際 SSL/TLS 協(xié)議。 雖然目前研究學者設計了各種基于國密算法的 SSL/TLS 協(xié)議[16-17],市場上也存在多款支持國密算法的瀏覽器(例如密信),但多數(shù)企業(yè)前期建設的信息系統(tǒng)無法支持,且改造難度大,導致信息無法基于國產(chǎn)SSL/TLS 協(xié)議進行傳輸。
本文在工業(yè)互聯(lián)網(wǎng)環(huán)境下,從物聯(lián)網(wǎng)終端的身份鑒別問題出發(fā),設計一種基于國密算法的高效安全身份認證協(xié)議。
圖2 工業(yè)互聯(lián)網(wǎng)拓撲圖
本文提出的安全身份認證協(xié)議只需2 次握手即可完成雙方的身份認證,認證過程使用SM3、SM4確保數(shù)據(jù)的完整性和保密性。 如圖2 所示,在終端加入網(wǎng)絡前,認證服務器(Authentication Server,AS)通過安全通道向系統(tǒng)的接入點(Access Points,AP)和物聯(lián)網(wǎng)終端預分發(fā)相關秘鑰。
在系統(tǒng)初始化過程中,認證服務器輸入安全參數(shù)k 執(zhí)行密鑰生成算法,為網(wǎng)絡終端和接入點創(chuàng)建秘鑰對。
(1)選擇一大素數(shù) q 和 p,E/Fp是定義在有限域Fp上的橢圓曲線。 選擇 E/Fp上的一個階為 q 的點P,生成循環(huán)加法群 G;
(3)雜湊算法 SM3(m):使用 SM3 算法計算消息m 的消息摘要;
(4)對 稱 加 密 算 法 SM4(key,m):使 用 秘 鑰 key,通過 SM4 算法加密消息 m;
(5)公開系統(tǒng)參數(shù){q,p,E/Fp,P,G,PK}。
AS 根據(jù)系統(tǒng)參數(shù)為網(wǎng)絡每個接入點創(chuàng)建公私鑰對。 假設 IDAP為每個接入點的唯一身份標識,AS選擇隨機數(shù)計算 RAP=rAP·P,hAP=SM3(IDAP|RAP)和 sAP=rAP+s·hAP,將(sAP,RAP)通 過 安 全 通 道 發(fā) 給AP。AP 收到密鑰后,計算公鑰 PKAP=sAP·P 并定期廣播 自 身 信 息(IDAP,RAP)。 AS 為 每 個 終 端 生 成 IDu,選擇隨機數(shù)將{IDu,a}通過安全通道發(fā)給終端存儲,并計算終端的認證參數(shù) A=a·P。
在系統(tǒng)的運行過程中,AS 會定期廣播 User 的列表信息,包括IDu和認證參數(shù)A。當用戶加入網(wǎng)絡時, 需要先通過AP 的認證后, 才允許與業(yè)務網(wǎng)進行通信,認證過程如圖3 所示。
圖3 認證過程
(2)AP->User:AP 收 到 User 的請求 后 , 首 先 根據(jù)式(1)驗證簽名和時間戳的合法性。 如果合法,從用戶列表中取出該終端的認證參數(shù),選擇隨機數(shù)c ∈計算 C=c·P,并產(chǎn)生簽名 σ=c+s·SM3(m),其2AP中 m={IDAP,IDu,RAP,C},將{m,σ2}發(fā)送給 User。
U ser 收到消息后,首先根據(jù)式(2) 計算公鑰PKAP。 再根據(jù)式(3)驗證簽名 σ2的合法性,如果合法,則完成認證過程。 AP 和 User 根據(jù)式(4)生成會話秘鑰。
(1)雙向認證:AP 通過 User 的身份 ID 以及秘鑰參數(shù),驗證User 的身份信息;User 利用系統(tǒng)公開的公鑰PK 驗證AP 的合法性,認證過程實現(xiàn)了雙向認證。
(2)前向安全性:在終端請求認證時,認證消息加入了時間戳,而且對于同個終端,AP 每次生成的認證參數(shù)都不相同。 因此,即使 AP 或 User 秘鑰參數(shù)泄露,也無法計算出之前使用過的會話秘鑰。
(3)支持用戶撤銷:AS 和 AP 都維護了系統(tǒng)終端的ID 列表,如果需要撤銷某個終端接入權限,只要在AS 做撤銷操作,并將列表更新發(fā)送至AP 即可。
(4)抵抗攻擊:認證過程加入了時間戳,并且認證雙方在每次認證中,選擇了不同的隨機數(shù)作為認證參數(shù),可有效抵抗重放攻擊。
本文首先介紹了國密算法在工業(yè)互聯(lián)網(wǎng)安全領域中的應用情況,并提出了當前存在的挑戰(zhàn)。 其次根據(jù)國密算法在工業(yè)互聯(lián)網(wǎng)應用中存在的問題,設計一種高效安全的身份認證協(xié)議,解決物聯(lián)網(wǎng)終端加入工業(yè)互聯(lián)網(wǎng)時,無法基于國密算法進行身份認證的問題。分析表明,該協(xié)議滿足雙向認證、支持用戶撤銷、抵抗重放攻擊等安全要求,完成認證僅需2 次握手,認證效率高,可進一步加強工業(yè)互聯(lián)網(wǎng)的安全建設,提高網(wǎng)絡安全防護能力,具有良好的應用推廣價值。