本發(fā)明屬于通信安全,具體涉及一種核電dcs信息加密系統(tǒng)、方法及裝置。
背景技術(shù):
1、核電是我國能源行業(yè)國家級戰(zhàn)略產(chǎn)業(yè),核電dcs系統(tǒng)有更為嚴(yán)格的安全要求。一旦發(fā)生事故,除了生產(chǎn)運行受到影響外,還可能導(dǎo)致環(huán)境污染和人員輻射危害,并進一步波及全球核電行業(yè)。
2、目前針對核電dcs系統(tǒng)的受到網(wǎng)絡(luò)攻擊的防御措施包括異常檢測、白名單防護策略等,但這些方法都不能從底層保證dcs系統(tǒng)通信的安全性??紤]到核電dcs系統(tǒng)底層代碼不易改動,目前針對核電dcs系統(tǒng)內(nèi)生安全的防護手段主要是添加安全網(wǎng)關(guān)并應(yīng)用國密算法sm2、sm4或sm9算法加解密通信消息保證通信機密性,以及運用sm2或sm3或sm9算法保證通信消息完整性。
3、國產(chǎn)商用密碼sm2算法基于公鑰基礎(chǔ)設(shè)施(pki)生成公鑰,并需要生成數(shù)字證書綁定實體的身份與公鑰,從而保證公鑰不能被敵手偽造或篡改,但這種方法中證書管理具有較大的資源消耗;基于身份的公鑰密碼系統(tǒng)的sm9算法將公鑰直接關(guān)聯(lián)到身份,消除了復(fù)雜的證書管理開銷,但是具有密鑰托管的安全風(fēng)險。因此,亟需提高核電dcs系統(tǒng)安全網(wǎng)關(guān)的密鑰系統(tǒng)的防護效力。
技術(shù)實現(xiàn)思路
1、為克服相關(guān)技術(shù)中存在的問題,提供了一種核電dcs信息加密系統(tǒng)、方法及裝置。
2、根據(jù)本公開實施例的一方面,提供一種核電dcs保密通信系統(tǒng),所述系統(tǒng)包括密鑰生成中心kgc和多個安全網(wǎng)關(guān);
3、針對每個安全網(wǎng)關(guān),kgc生成私鑰s以及公鑰ppub=sg,并為該安全網(wǎng)關(guān)選擇隨機數(shù)ri1以及yi;確定ri1=ri1g,zi1=ri1+sh0(idi,yi,ri1),將(zi1,ri1,ppub)通過安全信道發(fā)送給該安全網(wǎng)關(guān),并將yi通過安全信道發(fā)送給該該安全網(wǎng)關(guān);
4、該安全網(wǎng)關(guān)收到(zi1,ri1,ppub,yi)后,確定yi=y(tǒng)ig,通過zi1g=ri1+ppubh0(idi,yi,ri1)驗證yi的合法性;
5、在該安全網(wǎng)關(guān)驗證yi為合法后;kgc選擇隨機數(shù)ri2以及xi,確定pki=(xi+yi)g,ski=xi+yi,ri2=ri2g,zi2=ri2+yih0(idi,pki,ri2),并將(zi2,ri2,pki,yi)廣播到dcs系統(tǒng)中;
6、所述系統(tǒng)中任意其他安全網(wǎng)關(guān)接收到(zi2,ri2,pki,yi)后,通過zi2=ri2+yih0(idi,pki,ri2)驗證公鑰ppub的合法性。
7、在一種可能的實現(xiàn)方式中,所述系統(tǒng)中任意一對安全網(wǎng)關(guān)獲取到基于無證書的公鑰和私鑰后,利用sm2算法進行密鑰協(xié)商獲取對稱密鑰k;
8、發(fā)送消息的安全網(wǎng)關(guān)通過k采用sm4算法加密通信消息,接收消息的安全網(wǎng)關(guān)通過k解密消息;或者
9、發(fā)送消息的安全網(wǎng)關(guān)通過k應(yīng)用sm3算法進行mac運算加密通信消息,接收加密消息的安全網(wǎng)關(guān)在擁有k的情況下,能夠驗證mac值的有效性并通過k解密消息,接收加密消息的安全網(wǎng)關(guān)在未擁有k的情況下,無法驗證mac值的有效性,無法解密消息。
10、在一種可能的實現(xiàn)方式中,所述系統(tǒng)中各安全網(wǎng)關(guān)還配置bypass機制。
11、根據(jù)本公開實施例的另一方面,提供一種核電dcs保密通信方法,所述方法應(yīng)用于kgc,針對每個安全網(wǎng)關(guān),所述方法包括:
12、步驟11,kgc生成私鑰s以及公鑰ppub=sg,并為該安全網(wǎng)關(guān)選擇隨機數(shù)ri1以及yi,該安全網(wǎng)關(guān)的地址標(biāo)識為idi,g為橢圓曲線的生成元,h0()為哈希函數(shù);
13、步驟12,kgc確定ri1=ri1g,zi1=ri1+sh0(idi,yi,ri1),將(zi1,ri1,ppub)通過安全信道發(fā)送給該安全網(wǎng)關(guān),并將yi通過安全信道發(fā)送給該安全網(wǎng)關(guān);
14、步驟13,在確定該安全網(wǎng)關(guān)驗證yi為合法后,kgc選擇隨機數(shù)ri2以及xi,確定pki=(xi+yi)g,ski=xi+yi,ri2=ri2g,zi2=ri2+yih0(idi,pki,ri2),并將(zi2,ri2,pki,yi)廣播到系統(tǒng)中。
15、根據(jù)本公開實施例的另一方面,提供一種核電dcs保密通信方法,所述方法應(yīng)用于安全網(wǎng)關(guān),所述方法包括:
16、步驟21,安全網(wǎng)關(guān)收到kgc發(fā)送的(zi1,ri1,ppub,yi)后,確定yi=y(tǒng)ig,通過zi1g=ri1+ppubh0(idi,yi,ri1)驗證yi的合法性;并在驗證yi為合法的情況下,通知kgc已驗證yi為合法;
17、步驟22,安全網(wǎng)關(guān)接收到kgc發(fā)送的(zi2,ri2,pki,yi)后,通過zi2=ri2+yih0(idi,pki,ri2)驗證公鑰ppub的合法性。
18、在一種可能的實現(xiàn)方式中,安全網(wǎng)關(guān)獲取到基于無證書的公鑰和私鑰后,所述方法還包括:
19、步驟31,安全網(wǎng)關(guān)與通信的另一個安全網(wǎng)關(guān)利用sm2算法進行密鑰協(xié)商獲取對稱密鑰k;
20、步驟32,安全網(wǎng)關(guān)通過k采用sm4算法加密通信消息發(fā)送至通信的另一個安全網(wǎng)關(guān);
21、步驟33,安全網(wǎng)關(guān)從通信的另一個安全網(wǎng)關(guān)接收加密通信消息后,通過k解密消息。
22、在一種可能的實現(xiàn)方式中,安全網(wǎng)關(guān)獲取到基于無證書的公鑰和私鑰后,所述方法還包括:
23、步驟31,安全網(wǎng)關(guān)與通信的另一個安全網(wǎng)關(guān)利用sm2算法進行密鑰協(xié)商獲取對稱密鑰k;
24、步驟32,安全網(wǎng)關(guān)通過k采用sm3算法進行mac運算加密通信消息發(fā)送至通信的另一個安全網(wǎng)關(guān);
25、步驟33,安全網(wǎng)關(guān)從通信的另一個安全網(wǎng)關(guān)接收加密通信消息后,在擁有k的情況下,能夠驗證mac值的有效性并通過k解密消息,接收加密消息的安全網(wǎng)關(guān)在未擁有k的情況下,無法驗證mac值的有效性,無法解密消息。
26、在一種可能的實現(xiàn)方式中,安全網(wǎng)關(guān)還配置bypass機制。
27、根據(jù)本公開實施例的另一方面,提供一種核電dcs保密通信裝置,所述裝置應(yīng)用于kgc,針對每個安全網(wǎng)關(guān),所述裝置包括:
28、生成模塊,用于生成私鑰s以及公鑰ppub=sg,并為該安全網(wǎng)關(guān)選擇隨機數(shù)ri1以及yi,該安全網(wǎng)關(guān)的地址標(biāo)識為idi,g為橢圓曲線的生成元,h0()為哈希函數(shù);
29、第一分發(fā)模塊,用于確定ri1=ri1g,zi1=ri1+sh0(idi,yi,ri1),將(zi1,ri1,ppub)通過安全信道發(fā)送給該安全網(wǎng)關(guān),并將yi通過安全信道發(fā)送給該安全網(wǎng)關(guān);
30、第二分發(fā)模塊,用于在確定該安全網(wǎng)關(guān)驗證yi為合法后,選擇隨機數(shù)ri2以及xi,確定pki=(xi+yi)g,ski=xi+yi,ri2=ri2g,zi2=ri2+yih0(idi,pki,ri2),并將(zi2,ri2,pki,yi)廣播到系統(tǒng)中。
31、根據(jù)本公開實施例的另一方面,提供一種核電dcs保密通信裝置,所述裝置應(yīng)用于安全網(wǎng)關(guān),所述裝置包括:
32、第一驗證模塊,用于在收到kgc發(fā)送的(zi1,ri1,ppub,yi)后,確定yi=y(tǒng)ig,通過zi1g=ri1+ppubh0(idi,yi,ri1)驗證yi的合法性;并在驗證yi為合法的情況下,通知kgc已驗證yi為合法;
33、第二驗證模塊,用于在接收到kgc發(fā)送的(zi2,ri2,pki,yi)后,通過zi2=ri2+yih0(idi,pki,ri2)驗證公鑰ppub的合法性。
34、根據(jù)本公開實施例的另一方面,提供一種kgc,所述kgc包括:
35、處理器;
36、用于存儲處理器可執(zhí)行指令的存儲器;
37、其中,所述處理器被配置為執(zhí)行上述基于kcg實現(xiàn)的方法。
38、根據(jù)本公開實施例的另一方面,提供一種安全網(wǎng)關(guān),所述安全網(wǎng)關(guān)包括:
39、處理器;
40、用于存儲處理器可執(zhí)行指令的存儲器;
41、其中,所述處理器被配置為執(zhí)行上述基于安全網(wǎng)關(guān)實現(xiàn)的方法。
42、根據(jù)本公開實施例的另一方面,提供一種非易失性計算機可讀存儲介質(zhì),其上存儲有計算機程序指令,所述計算機程序指令被處理器執(zhí)行時實現(xiàn)上述方法。
43、本公開的有益效果在于:本公開的核電dcs信息加密系統(tǒng)采用基于無證書的sm2算法,適用于核電dcs系統(tǒng)的安全防護,本公開采用兩次schnorr簽名替換sm2算法的公私鑰生成過程,將密鑰生成中心的公鑰綁定到y(tǒng)i,再將yi綁定到用戶的公鑰上,既無復(fù)雜的證書管理開銷,又無密鑰托管的安全風(fēng)險,在安全性和性能上都能得到提升。