李廣華,王自成,顧 浩,陶士全
(南京南瑞繼保電氣有限公司,江蘇 南京211102)
目前智能變電站廣泛采用了標(biāo)準(zhǔn)化、開放式的通信協(xié)議,如IEC 61850 通信協(xié)議。通信協(xié)議標(biāo)準(zhǔn)化提高了系統(tǒng)互操作性,但也帶來了安全風(fēng)險。在安全領(lǐng)域,通?;诠_密鑰體系,采用端對端身份驗證與加密的方法來應(yīng)對日益突出的安全風(fēng)險[1-3],如IEC 62351、IEC 62443 標(biāo)準(zhǔn)體系[4-10]。密鑰管理是公開密鑰體系的基礎(chǔ)[8],它不僅影響系統(tǒng)的安全性,還涉及系統(tǒng)的可靠性、有效性和經(jīng)濟(jì)性[11-13]。雖然目前智能變電站進(jìn)行了一些基于密碼學(xué)通信技術(shù)的應(yīng)用探索[14-18],但針對變電站的密鑰管理還缺乏全面、系統(tǒng)性的研究與探索。
公鑰密碼學(xué)最大作用是數(shù)字簽名,提供端對端的身份鑒別[11]。在公開密鑰體系中,密鑰由公鑰和私鑰組成;私鑰主要用作數(shù)字簽名,提供不可否認(rèn)性;公鑰用來解密,驗證用戶身份。在該系統(tǒng)中,公鑰的真實性與完整性,私鑰的機(jī)密性是該體系的最大挑戰(zhàn)。因此,在變電站網(wǎng)絡(luò)安全系統(tǒng)中,安全可靠的密鑰管理是必要的前提條件。
密鑰管理涉及密鑰從產(chǎn)生到銷毀的全過程,其中密鑰的分發(fā)與存儲是最大的難題[11]。在公開密鑰體系中,實體需保證私鑰的私密性,而公鑰通過數(shù)字證書的方式進(jìn)行公開發(fā)放。數(shù)字證書包含了實體的身份標(biāo)識、公鑰、有效期等信息;可信機(jī)構(gòu)負(fù)責(zé)對實體身份等信息的真實性、完整性審核,經(jīng)數(shù)字簽名后進(jìn)行證書頒發(fā)[19-21]。數(shù)字證書實現(xiàn)了實體與公鑰的綁定,在它們之間建立了一種信任與驗證機(jī)制。在公開密鑰體系中,密鑰生成的可靠性,私鑰的私密性,實體身份可信驗證以及對失效證書的處理是密鑰管理的關(guān)鍵環(huán)節(jié)。
公開密鑰基礎(chǔ)設(shè)施(PKI, Public Key Infrastructure)是一個用來管理和控制證書的安全系統(tǒng)[19-22]。在PKI 中包含幾個重要的組成部分:認(rèn)證中心(CA,Certificate Authority),審核注冊中心(RA,Registration Authority),密 鑰 管 理 中 心(KM,Key Management)。其中,CA負(fù)責(zé)數(shù)字證書、證書撤銷列表(CRL,certificate Revocation List)的簽發(fā)管理;RA負(fù)責(zé)對證書申請的審查,并決定是否發(fā)放證書;KM負(fù)責(zé)密鑰生成,存儲備份等功能。
在變電站的密鑰管理中借鑒了PKI 機(jī)制,但由于PKI 機(jī)制的復(fù)雜性,通常進(jìn)行了簡化[23]。比較常見的是通過直接可信的方式簡化了RA 審核機(jī)制。另外,也有對在線的密鑰管理機(jī)制展開了一些研究探討工作[24-26]。
在小型系統(tǒng)中,常見的密鑰管理方案是CA數(shù)字證書頒發(fā)機(jī)制。在該機(jī)制中,CA 服務(wù)器與實體(IED)采用”面對面”的方式直接進(jìn)行網(wǎng)絡(luò)通信;CA服務(wù)器負(fù)責(zé)生成密鑰對,生成IED的數(shù)字證書并進(jìn)行簽名;通過安全通信的方式,如加密通信,將私鑰和包含公鑰的數(shù)字證書一起下載到IED。
在該機(jī)制中,CA 服務(wù)器直接頒發(fā)數(shù)字證書,默認(rèn)了實體身份合法,省略了審核過程。CA數(shù)字證書頒發(fā)的流程如圖1所示。
在CA 數(shù)字證書頒發(fā)機(jī)制中,CA 服務(wù)器事先擁有了自己的簽名密鑰對,IED也獲得了CA的公鑰數(shù)字證書。CA 服務(wù)器為IED 頒發(fā)數(shù)字證書的具體流程,如下:
1)CA服務(wù)器隨機(jī)產(chǎn)生密鑰對;
2)CA 服務(wù)器以密鑰對的公鑰為基礎(chǔ)產(chǎn)生IED 的數(shù)字證書,并進(jìn)行數(shù)字簽名(CA 服務(wù)器密鑰對的私鑰);
3)通過安全傳輸通道,CA 服務(wù)器將私鑰與包含公鑰的已簽名數(shù)字證書傳輸給IED;
圖1 CA數(shù)字證書頒發(fā)流程示意圖Fig.1 CA digital certificate issuance process
4)IED接收到私鑰與數(shù)字證書后,使用CA服務(wù)器的公鑰對數(shù)字證書進(jìn)行可信性、完整性驗證;
5)驗證通過后,IED妥善存儲私鑰,密鑰對與數(shù)字證書正式生效。
在CA 數(shù)字證書頒發(fā)機(jī)制中,密鑰對由CA 服務(wù)器產(chǎn)生。IED 公鑰信息經(jīng)由CA 數(shù)字簽名后傳輸給IED,簽名機(jī)制保證了IED公鑰的有效性與可靠性。
在該方案中,強(qiáng)調(diào)私密性的私鑰不僅存儲在了IED設(shè)備中,還出現(xiàn)在CA服務(wù)器、網(wǎng)絡(luò)傳輸環(huán)節(jié)中,存在安全風(fēng)險。CA服務(wù)器需防止密鑰對不被竊取,妥善保存或及時徹底銷毀。網(wǎng)絡(luò)傳輸環(huán)節(jié)須保證傳輸?shù)乃矫苄?,防止密鑰信息的被竊聽。
CA 數(shù)字證書認(rèn)證機(jī)制同樣基于直接網(wǎng)絡(luò)通信方式,省略了身份審核過程。但該機(jī)制改進(jìn)了密鑰對的生成與傳輸環(huán)節(jié),弱化了對通信安全的依賴,消除了私鑰被竊取、竊聽的風(fēng)險。
CA數(shù)字證書認(rèn)證機(jī)制:IED負(fù)責(zé)生成密鑰對;IED將公鑰信息上傳給CA 服務(wù)器;CA 服務(wù)器以公鑰為基礎(chǔ)生成數(shù)字證書,并數(shù)字簽名;CA 服務(wù)器將已簽名公鑰數(shù)字證書下載到IED。該方案不再依賴私密性通信方式,工作流程如圖2所示。
在CA 數(shù)字證書認(rèn)證機(jī)制中,CA 服務(wù)器事先擁有了自己的簽名密鑰對,IED也獲得了CA的公鑰數(shù)字證書。其工作流程如下:
1)IED隨機(jī)產(chǎn)生密鑰對;
2)IED將公鑰通過網(wǎng)絡(luò)傳輸給CA服務(wù)器;
3)CA 服務(wù)器以公鑰為基礎(chǔ)生成數(shù)字證書,并數(shù)字簽名;
圖2 CA數(shù)字證書認(rèn)證流程示意圖Fig.2 CA digital certificate authentication process
4)CA服務(wù)器將已簽名數(shù)字證書通過網(wǎng)絡(luò)傳輸給IED;
5)IED收到數(shù)字證書后,用CA服務(wù)器的公鑰驗證數(shù)字證書的可信性;并比對證書中公鑰信息的完整性;
6)驗證通過后,密鑰對與數(shù)字證書正式生效。
在CA 數(shù)字證書認(rèn)證機(jī)制中,IED 內(nèi)部生成密鑰對,避免了私鑰的所有中間環(huán)節(jié),降低了私鑰泄漏的風(fēng)險,最大程度保證了私鑰的私密性。
在該方案中,IED可通過CA公鑰驗證數(shù)字證書的頒發(fā)者身份,并結(jié)合對數(shù)字證書中公鑰信息的完整性驗證,保證了數(shù)字證書可信性與正確性。雖然,IED的公鑰信息經(jīng)歷了從IED 到CA 服務(wù)器,從CA 服務(wù)器再到IED 的兩個非安全加密的通信環(huán)節(jié),仍然能夠保證信息的完整性與可靠性。非安全傳輸通道的適用,提高了該方案的經(jīng)濟(jì)性與實施效率。
在線證書頒發(fā)/認(rèn)證機(jī)制是一種依賴網(wǎng)絡(luò)通信的自動化遠(yuǎn)程數(shù)字證書管理機(jī)制,通過特定通信協(xié)議進(jìn)行信息交互。由于采用了遠(yuǎn)程通信方式,服務(wù)器無法直接對證書請求的實體(IED)進(jìn)行身份審核,需在服務(wù)器側(cè)增加IED 身份的審核機(jī)制,因此稱該服務(wù)器也稱為RA/CA服務(wù)器。在該機(jī)制中,密鑰對可根據(jù)需要由服務(wù)器或IED生成。
常見用于在線證書頒發(fā)/認(rèn)證的標(biāo)準(zhǔn)通信協(xié)議包括SCEP(Simple Certificate Enrolment Protocol)、EST(Enrolment Over Secure Transport)。其中,SECP 支持RSA數(shù)字證書,采用非加密方式通信;EST支持RSA或ECC 的數(shù)字證書,采用加密通信方式[8]。在線證書頒發(fā)/認(rèn)證機(jī)制的流程如圖3所示。
圖3 在線證書頒發(fā)/認(rèn)證流程示意圖Fig.3 Online certificate issuance/certification process
在線證書管理機(jī)制提高了系統(tǒng)自動化程度,但也對技術(shù)提出了更高要求。一方面要求RA/CA 服務(wù)器必須經(jīng)常在線,還需具備并發(fā)請求處理的能力,這顯然增加了它的負(fù)擔(dān);另一方面IED 設(shè)備增加了與外網(wǎng)的通信通道,該通道也會成為變電站網(wǎng)絡(luò)完全體系中新的風(fēng)險點。通常,該通信通道需要采用網(wǎng)絡(luò)安全設(shè)備進(jìn)行防護(hù),如防火墻,降低了系統(tǒng)的經(jīng)濟(jì)性。
本文從數(shù)字證書的注冊審核、私鑰安全性(私密性),以及相應(yīng)的通信要求,必要的完全防護(hù)措施等多方面對這幾種密鑰管理機(jī)制做了對比分析,并結(jié)合了不同機(jī)制在工程使用中的技術(shù)要求,給出了應(yīng)用可靠性的評估結(jié)果,其對比分析結(jié)果如表1所示。
表1 不同數(shù)字證書機(jī)制對比Table 1 Comparison of different digital certificate mechanisms
對比密鑰對的生成來源,由IED 生成密鑰對避免了私鑰的轉(zhuǎn)移環(huán)節(jié),具有更好的安全私密性;但分散式的密鑰生成算法存在不同實現(xiàn)的可靠性問題,可控性相對較低。就地式的數(shù)字證書頒發(fā)/認(rèn)證機(jī)制基于對IED的直接操作進(jìn)行身份審核,其認(rèn)證過程簡單可靠;而在線證書機(jī)制需借助RA 進(jìn)行身份認(rèn)證,實現(xiàn)流程復(fù)雜,技術(shù)難度高,存在被技術(shù)攻擊的風(fēng)險。
在通信的需求上,在線證書機(jī)制屬于集中式管理,會對IED 提出出站通信需求,需增加必要的安全防護(hù)措施來保證通信的安全性與可靠性,如防火墻,甚至需要認(rèn)證加密的專用信道來保證通信的安全性。另外,相對CA 證書認(rèn)證機(jī)制,CA 證書頒發(fā)機(jī)制需采用加密通信來保障私鑰的安全性。安全認(rèn)證與加密的通信方式,以及相應(yīng)的安全防護(hù)措施,都會增加系統(tǒng)的復(fù)雜度。
數(shù)字證書都有一個有效期,通常新的證書會在舊的證書失效前進(jìn)行發(fā)放。但是在一些情況下證書可能在它的有效期之前就變得無效,如私鑰泄漏、CA 證書被認(rèn)為不安全等,在這種情況下繼續(xù)使用該證書會帶來安全風(fēng)險[19-21]。因此,在密鑰管理中,證書撤銷也是重要的組成部分。
證書撤銷列表(CRL)是最常用的證書撤銷方式[27]。CRL 是一種帶有時間信息,由已被CA 撤銷但還未到期的證書信息組成的列表,以證書的序列號來標(biāo)識被撤銷的證書。CRL 列表由CA 維護(hù),經(jīng)由CA 進(jìn)行數(shù)字簽名并定期簽發(fā)。CRL具有也不依賴安全加密通信,實現(xiàn)簡單等優(yōu)點,因此被IEC 62351列為必須支持證書撤銷管理方式[8]。
但是CRL 機(jī)制也存在明顯不足。一方面,CRL 是周期性發(fā)布的,從證書被撤銷到實體獲得撤銷信息間有一定的延遲[28]。CRL 的周期發(fā)布過程可能給不法分子帶來可乘之機(jī),存在安全風(fēng)險;若通過加強(qiáng)CRL的發(fā)布頻率來削弱該風(fēng)險,又會帶來CRL大面積發(fā)布帶來的運維管理問題。另一方面,隨著系統(tǒng)的擴(kuò)大,CRL 可能會越來越大,嵌入式設(shè)備的存儲空間可能無法保存過大的CRL,會帶來運行使用的問題。
通過標(biāo)準(zhǔn)通信協(xié)議,實時向CA在線查詢獲取證書狀態(tài)是另外一種比較常見的證書撤銷方式。在線證書狀態(tài)協(xié)議OCSP(Online Certificate Status Protocol)是在RFC 6960 中提出的用于檢查當(dāng)前證書是否有效的標(biāo)準(zhǔn)協(xié)議[29]。它基于客戶端/服務(wù)器模型,OCSP 客戶端(IED)發(fā)起一個狀態(tài)查詢請求給OCSP 服務(wù)器(CA 服務(wù)器),OCSP服務(wù)器會給出當(dāng)前證書的所處狀態(tài),如正常、撤銷、未知等。
相對CRL,OCSP 只需維護(hù)CA 服務(wù)器的證書狀態(tài)信息,并支持實時狀態(tài)查詢,這在信息維護(hù)與系統(tǒng)實時性上有著巨大的便利性。但OCSP 獲取證書狀態(tài)的實時性并不是絕對意義上的,這依賴于CA服務(wù)器對證書狀態(tài)信息更新的實時性。
OCSP 同樣存在一些不足。首先,OCSP 服務(wù)器容易受到Dos攻擊;而攻擊者也可能會利用OCSP對出錯響應(yīng)不簽名的特性,通過偽造返回出錯信息來攻擊客戶端。其次,OCSP 通信需要對進(jìn)行簽名計算,會占用大量CPU資源;服務(wù)器還需應(yīng)對隨機(jī)產(chǎn)生的并發(fā)客戶端請求;隨著證書規(guī)模的不斷增大,證書狀態(tài)檢索也會產(chǎn)生比較大的開銷;這些都非??简濷CSP 系統(tǒng)的實時響應(yīng)能力[30-31]。因此,OCSP系統(tǒng)在運行中也會存在可靠性與實時性的風(fēng)險。
隨著嵌入式技術(shù)的發(fā)展,目前大量嵌入式設(shè)備已具有生成秘鑰對與證書請求文件的能力;但同時也有一些設(shè)備存在資源受限的問題,包括大量存量的變電站設(shè)備,不具備生成密鑰對的能力。鑒于這種情況將在變電站中長期存在,并結(jié)合用戶對統(tǒng)一管控變電站密鑰的切實需求,本文設(shè)計并實施了一種就地式PKI證書系統(tǒng),同時支持證書頒發(fā)與認(rèn)證兩種機(jī)制,并提供了密鑰集中管控的解決方案。
就地式PKI 證書系統(tǒng)以軟件形式存在,即可固定部署在變電站內(nèi),也可部署在用戶的特定便攜式設(shè)備上。該系統(tǒng)采用離線方式與證書管理中心進(jìn)行信息交互,如電子郵件(Email)或USB 設(shè)備,接受證書認(rèn)證中心的統(tǒng)一管理;在站內(nèi),采用SFTP 協(xié)議實現(xiàn)與變電站內(nèi)設(shè)備的信息交互,就地式PKI 證書系統(tǒng)的操作流程如圖4所示。
圖4 就地式PKI系統(tǒng)操作流程Fig.4 Operation process of on-site PKI system
就地式PKI 證書系統(tǒng)的操作流程分為兩部分:首先申請成為證書管理中心的次級可信系統(tǒng);然后在變電站執(zhí)行證書管理過程。其中,申請成為次級可信系統(tǒng)的具體操作流程為:
1)首先,生成自身密鑰對與證書請求文件,然后離線遞交證書請求文件請求證書管理中心審核;
2)證書管理中心通過審核后,離線對就地式PKI系統(tǒng)頒發(fā)次級根證書,使其成為證書管理中心的次級可信系統(tǒng)。
在對變電站設(shè)備進(jìn)行證書管理時,先由工作人員確認(rèn)待管理設(shè)備的身份可信后,將就地式PKI 證書系統(tǒng)臨時接入站控層網(wǎng)絡(luò)執(zhí)行證書管理流程。
變電站證書管的具體理操作流程為:
首先,站內(nèi)設(shè)備生成自身密鑰對與證書請求文件;然后,就地式PKI證書系統(tǒng)應(yīng)用SFTP協(xié)議上招設(shè)備的證書請求文件;就地式PKI 證書系統(tǒng)完成證書請求文件的正確性驗證后,簽署數(shù)字證書并通過SFTP協(xié)議完成下裝。
就地式PKI 證書系統(tǒng)支持簽署自簽名根證書模式,該模式可使系統(tǒng)作為可信根節(jié)點來滿足小型系統(tǒng)的應(yīng)用需求。就地式PKI證書系統(tǒng)也可代為生成密鑰對并簽署證書,證書與私鑰同時下裝到變電站設(shè)備;為保障私鑰的私密性,密鑰對應(yīng)用完成后會被立即銷毀。在變電站的運行維護(hù)中,該系統(tǒng)也支持應(yīng)用SFTP協(xié)議實現(xiàn)CRL文件的簽署與下裝。就地式PKI證書系統(tǒng)完成變電站設(shè)備的證書管理操作后,立即斷開網(wǎng)絡(luò)連接并退出運行。
本文結(jié)合就地式PKI 證書系統(tǒng)的設(shè)計與應(yīng)用,從工程應(yīng)用的實際出發(fā),對3 種數(shù)字證書管理機(jī)制在系統(tǒng)部署、可維護(hù)性、網(wǎng)絡(luò)安全等多個維度做了評估對比,對比分析結(jié)果如表2所示。
2 不同數(shù)字證書機(jī)制的工程應(yīng)用對比Table 2 Practical application comparison of different digital certificate mechanisms
在系統(tǒng)部署的初期,CA 數(shù)字證書頒發(fā)/認(rèn)證機(jī)制因采用臨時性、就地式的通信方式,可簡化部分流程,部署簡單可靠;而在線證書管理機(jī)制因采用實時通信技術(shù),會對網(wǎng)絡(luò)與通信的可靠性、設(shè)備身份審核方面有更高的技術(shù)要求,部署難度更高。對通信有私密性要求的證書頒發(fā)機(jī)制,會對系統(tǒng)部署與故障分析能力上具有更高的要求。
隨著系統(tǒng)規(guī)模的不斷增加,加密通信技術(shù)的不斷成熟,在線系統(tǒng)可對增/存量設(shè)備進(jìn)行遠(yuǎn)端維護(hù),平均的維護(hù)工作量會逐漸降低。而就地式系統(tǒng)因仍需對變電站進(jìn)行現(xiàn)場維護(hù),其工作量將逐漸增加并難以承受。在工程實施中,就地式系統(tǒng)可應(yīng)用更先進(jìn)的密碼學(xué)算法、更長的密鑰長度,提升證書的有效期來降低變電站設(shè)備的維護(hù)頻率,增強(qiáng)其可維護(hù)性。
雖然在線系統(tǒng)在大規(guī)模系統(tǒng)中具有應(yīng)運維管理的優(yōu)勢,但因支持實時的證書注冊與查詢請求,也更容易受到網(wǎng)絡(luò)的安全攻擊,對通信系統(tǒng)的安全防護(hù)將提出更高的要求。因安全防護(hù)具有相對性,隨著時間的推移原有的安全方法有可能變得不再安全,可靠性也隨之降低;在線系統(tǒng)也會面臨因安全問題而迭代升級的問題,這將比分散式管理的就地式系統(tǒng)升級要復(fù)雜的多。
本文結(jié)合網(wǎng)絡(luò)安全通信標(biāo)準(zhǔn)的通信要求,總結(jié)了目前幾種比較常見密鑰管理方式,并設(shè)計實施了一種就地式PKI 證書管理系統(tǒng)。通過從密鑰生成,私鑰私密性、實體身份審核驗證,通信安全需求,出站安全防護(hù)等角度進(jìn)行了對比,并結(jié)合工程實施的復(fù)雜度、運維管理、經(jīng)濟(jì)性等因素進(jìn)行了綜合的分析。
通過綜合比較,CA 方式僅認(rèn)證數(shù)字證書,無私鑰轉(zhuǎn)移環(huán)節(jié),可最大程度提高私鑰的私密性;直接就地操作,可省略IED的身份審核過程,并具有更高的認(rèn)證可靠性;減少對通信安全的依賴,縮減安全防護(hù)措施,可有效降低系統(tǒng)復(fù)雜度。在變電站數(shù)字證書應(yīng)用的初期,建議采用CA數(shù)字證書認(rèn)證與CRL結(jié)合的方式,利用其在密鑰安全性與應(yīng)用可靠性上的優(yōu)勢,通過簡化環(huán)節(jié)、降低復(fù)雜度來提高系統(tǒng)可靠性。同時,可通過增強(qiáng)密鑰強(qiáng)度,降低證書更新頻率的方式,來減少運行維護(hù)管理的工作量。
隨著系統(tǒng)規(guī)模不斷擴(kuò)大,運維管理的難度將會逐漸顯現(xiàn),在線證書管理機(jī)制將體現(xiàn)出更大的優(yōu)勢。在加強(qiáng)對出站通信防護(hù)、在線身份審核、在線數(shù)字證書簽發(fā)的研究基礎(chǔ)上,變電站數(shù)字證書應(yīng)用可逐漸過渡到以KPI機(jī)制為基礎(chǔ)、以在線密鑰管理與OCSP相結(jié)合的方式上來,有效解決運維管理的問題。
本文的應(yīng)用實施與對比分析,可為后續(xù)變電站密鑰管理的具體實施提供借鑒。