一種基于變電站的goose報(bào)文認(rèn)證方法
【專利摘要】本發(fā)明的目的在于提供一種基于變電站通信的GOOSE報(bào)文認(rèn)證方法,引入身份認(rèn)證,消息認(rèn)證,以及密鑰管理,使用GOOSE報(bào)文中的保留字段及擴(kuò)展字段,將身份認(rèn)證,消息認(rèn)證及密鑰信息加入其中與原始報(bào)文一起發(fā)送,實(shí)現(xiàn)GOOSE報(bào)文發(fā)送與接收的認(rèn)證。其中,字段的變換不僅滿足ASN.1基本編碼規(guī)則的TLV轉(zhuǎn)換語法,還使得原始報(bào)文和認(rèn)證報(bào)文能夠在變電站自動(dòng)化通信系統(tǒng)中兼容,符合IEC 62351標(biāo)準(zhǔn)。通過本發(fā)明的認(rèn)證方法,實(shí)現(xiàn)了防止黑客進(jìn)行非法認(rèn)證、篡改、重放、抵賴等攻擊手段,從而保證了基于變電站的GOOSE報(bào)文通信過程中的保密性,完整性,可用性及不可抵賴性。
【專利說明】一種基于變電站的GOOSE報(bào)文認(rèn)證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電力系統(tǒng)數(shù)據(jù)傳輸安全【技術(shù)領(lǐng)域】,具體來說涉及一種基于變電站的GOOSE報(bào)文認(rèn)證方法,該認(rèn)證方法主要實(shí)現(xiàn)對(duì)于實(shí)時(shí)性要求較高的GOOSE報(bào)文傳輸過程中的認(rèn)證防護(hù)。
【背景技術(shù)】
[0002]與其他工業(yè)控制系統(tǒng)不同,電力系統(tǒng)運(yùn)行控制面臨的通信認(rèn)證問題具有一定的特殊性。比如,目前大部分通信認(rèn)證策略是用于防范來自互聯(lián)網(wǎng)的黑客攻擊,而電力系統(tǒng)運(yùn)行控制環(huán)境與公用互聯(lián)網(wǎng)環(huán)境具有非常大的差別。如果將公用互聯(lián)網(wǎng)的認(rèn)證通信技術(shù)照搬到電力系統(tǒng)運(yùn)行控制環(huán)境中,顯然缺乏對(duì)電力系統(tǒng)運(yùn)行控制的通信認(rèn)證需求的深刻理解。
[0003]當(dāng)前的主流認(rèn)證服務(wù)和產(chǎn)品主要是面向普通工業(yè)用戶而設(shè)計(jì)的,可能無法滿足電力系統(tǒng)運(yùn)行控制環(huán)境下的嚴(yán)苛的性能和可靠性要求。
[0004]變電站網(wǎng)絡(luò)系統(tǒng)容易受到多種形式的攻擊破壞,不同的攻擊模式會(huì)產(chǎn)生不同的威脅,進(jìn)而破壞變電站信息的完整性、保密性、有效性和不可否認(rèn)性。因此,分析變電站的初始攻擊形式是解決報(bào)文安全性的首要任務(wù),常見的攻擊形式有:竊聽、中斷、截獲、篡改等。相應(yīng)地,針對(duì)變電站報(bào)文的各類攻擊主要造成以下幾種威脅:
[0005]I)違反授權(quán)。變電站控制系統(tǒng)人員利用授權(quán)身份或設(shè)備,執(zhí)行非授權(quán)操作。
[0006]2)篡改。報(bào)文在傳輸過程中被第三方截獲后,經(jīng)刪除、插入、修改、改變次序、重放等操作后再發(fā)給接收方,以達(dá)到損壞報(bào)文的目的。
[0007]3)拒絕服務(wù)。向變電站網(wǎng)絡(luò)發(fā)送大量數(shù)據(jù),造成網(wǎng)絡(luò)或監(jiān)控系統(tǒng)癱瘓。
[0008]4)抵賴。接入信息系統(tǒng)并進(jìn)行操作,但事后卻拒絕承認(rèn)事實(shí)。針對(duì)上述4種威脅,可使用相應(yīng)的防范措施。
[0009]基于以上的攻擊模式,設(shè)計(jì)相應(yīng)的認(rèn)證方法便成為報(bào)文在傳輸過程中的重中之重,因此針對(duì)上述4種威脅,必須采取相應(yīng)的防范措施。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的是提供一種基于變電站GOOSE報(bào)文的認(rèn)證方法,該認(rèn)證方法引入身份認(rèn)證,消息認(rèn)證,密鑰管理的概念,有效的解決目前GOOSE報(bào)文在網(wǎng)絡(luò)傳輸過程中所面臨的威脅,而且能夠保證GOOSE信息對(duì)于實(shí)時(shí)性的要求。
[0011]本發(fā)明的目的可通過以下的技術(shù)措施來實(shí)現(xiàn):
[0012]一種基于變電站通信的GOOSE報(bào)文認(rèn)證方法,包括如下內(nèi)容:
[0013]在傳輸?shù)膱?bào)文時(shí)進(jìn)行身份認(rèn)證,即在原始GOOSE報(bào)文中加入身份認(rèn)證信息發(fā)送給接收方。目的是為了防止GOOSE報(bào)文正常通信過程中,變電站操作控制人員利用授權(quán)身份執(zhí)行非法授權(quán)操作的行為發(fā)生。
[0014]在報(bào)文中加入消息認(rèn)證,即增加對(duì)數(shù)據(jù)進(jìn)行封裝操作,并且以信息摘要的形式隨報(bào)文發(fā)送給接收方。目的是為了防止GOOSE報(bào)文在傳輸過程中數(shù)據(jù)被第三方截獲后,經(jīng)刪除、插入、修改、改變次序、重放等操作后再發(fā)給接收方,以達(dá)到損壞報(bào)文的目的。
[0015]在報(bào)文中引入密鑰管理,定時(shí)更新密鑰。目的是為了防止第三方截獲報(bào)文后向變電站網(wǎng)絡(luò)發(fā)送大量數(shù)據(jù),造成網(wǎng)絡(luò)或監(jiān)控系統(tǒng)癱瘓,從而達(dá)到數(shù)據(jù)無法正常通信的目的,以達(dá)到防止重放攻擊的目的。
[0016]在GOOSE報(bào)文中,將身份認(rèn)證信息與消息認(rèn)證信息分別采用特定的算法進(jìn)行封裝操作并生成對(duì)應(yīng)的字符串,將生成的兩個(gè)字符串合并成GOOSE報(bào)文中的擴(kuò)展字段與原始報(bào)文一起發(fā)送;而GOOSE報(bào)文中的保留字段則被用于描述擴(kuò)展字段的相關(guān)信息。接收端收到報(bào)文后再對(duì)擴(kuò)展字段內(nèi)容進(jìn)行相應(yīng)的拆封操作,進(jìn)行身份認(rèn)證與消息認(rèn)證信息的驗(yàn)證。目的是保證數(shù)據(jù)傳輸?shù)耐暾?,一致性?br>
[0017]不論是發(fā)送端還是接收端,都各自維護(hù)自己的密鑰池,當(dāng)密鑰管理服務(wù)器發(fā)送更新的密鑰時(shí),發(fā)送端與接收端需同時(shí)對(duì)自己維護(hù)的密鑰池進(jìn)行實(shí)時(shí)更新。
[0018]所述身份認(rèn)證的具體步驟如下:
[0019](1.1)發(fā)送端將配置的用戶名,密碼及密鑰作為明文信息使用DES算法進(jìn)行置換操作,轉(zhuǎn)換后生成密文字符串加入到GOOSE報(bào)文的擴(kuò)展字段I中,與原始GOOSE報(bào)文組成身份認(rèn)證報(bào)文發(fā)送給接收端,其中,DES算法使用64bit的密鑰,不會(huì)產(chǎn)生密文擴(kuò)充。DES算法的工作原理是公開加密和解密算法,只對(duì)密鑰進(jìn)行保密。
[0020](1.2)接收端收到報(bào)文后,同樣使用DES算法將身份認(rèn)證的密文信息進(jìn)行還原操作,將還原后的內(nèi)容與本地認(rèn)證信息進(jìn)行比對(duì),如果與需要接收的用戶名,密碼及密鑰信息一致則通過此報(bào)文的身份認(rèn)證,以完成身份認(rèn)證方法。
[0021]所述消息認(rèn)證的具體步驟如下:
[0022](2.1)發(fā)送端發(fā)送GOOSE報(bào)文時(shí),將報(bào)文中的數(shù)據(jù)信息通過MD5算法進(jìn)行數(shù)據(jù)壓縮操作,生成定長的信息摘要字符串,隨后將信息摘要字符串填充到GOOSE報(bào)文的擴(kuò)展字段2中,與原始GOOSE報(bào)文組成認(rèn)證報(bào)文發(fā)送給接收端,其中MD5算法為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。
[0023](2.2)接收端收到報(bào)文后將接收到的數(shù)據(jù)信息同樣通過MD5算法進(jìn)行壓縮操作,將生成的信息摘要字符串與接收到的字符串進(jìn)行比對(duì),如果一致,則確定接收到的報(bào)文在傳輸?shù)倪^程中沒有被第三方截取并篡改,以通過消息認(rèn)證環(huán)節(jié),隨后將接收到的報(bào)文進(jìn)行處理。
[0024]原始的GOOSE報(bào)文中有兩個(gè)保留字段即保留字段I (2Byte),保留字段2 (2Byte),發(fā)送的GOOSE認(rèn)證報(bào)文需要用到這兩個(gè)保留字段,其中保留字段I作為是否為GOOSE認(rèn)證擴(kuò)展報(bào)文的標(biāo)示,規(guī)定:如果值為OXFFFF則為認(rèn)證報(bào)文,如果不是則為原始GOOSE報(bào)文。
[0025]所述GOOSE報(bào)文中的保留字段則被用于描述擴(kuò)展字段的相關(guān)信息的具體內(nèi)容如下:
[0026](3.1)原始的GOOSE報(bào)文中有兩個(gè)保留字段即保留字段I (2Byte),保留字段2 (2Byte),發(fā)送的GOOSE認(rèn)證報(bào)文需要用到這兩個(gè)保留字段,判斷保留字段I的值為OXFFFF則為認(rèn)證報(bào)文,如果不是則為原始GOOSE報(bào)文。
[0027](3.2)保留字段2的內(nèi)容為擴(kuò)展字段的長度。
[0028]所述密鑰管理的具體步驟如下:
[0029](4.1)密鑰管理采用密鑰預(yù)分配方案,密鑰的產(chǎn)生由國家密碼管理局規(guī)定的主機(jī)加密服務(wù)器來完成;服務(wù)器預(yù)先生成一個(gè)220的密鑰池,并對(duì)密鑰池中的密鑰進(jìn)行編號(hào)。由于密鑰的私密性和重要性,需要對(duì)密鑰進(jìn)行嚴(yán)格的管理。
[0030](4.2)提取密鑰,通過組播方式將生成的密鑰池發(fā)送給需要接收的設(shè)備。為了使攻擊者難以獲得實(shí)時(shí)密鑰信息,對(duì)密鑰的分配、協(xié)商、撤回進(jìn)行周期操作。
[0031]所述維護(hù)密鑰池的的具體步驟如下:
[0032](5.1)密鑰管理服務(wù)器定期隨機(jī)生成密鑰池,并將更新的內(nèi)容發(fā)送給GOOSE報(bào)文的發(fā)送端與接收端,發(fā)送端與接收端收到密鑰管理服務(wù)器發(fā)送的信息時(shí),創(chuàng)建并維護(hù)更新自己的密鑰池。
[0033](5.2)所述密鑰管理服務(wù)器由單獨(dú)的裝置獨(dú)立運(yùn)行,定期更新密鑰信息發(fā)送給需要接收的發(fā)送端和接收端,以預(yù)防第三方獲取密鑰進(jìn)行重放攻擊。
【專利附圖】
【附圖說明】
[0034]圖1是本發(fā)明GOOSE原始報(bào)文與GOOSE認(rèn)證擴(kuò)展報(bào)文的比較示意圖。
[0035]圖2描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文的總體認(rèn)證流程圖。
[0036]圖3描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文的身份認(rèn)證流程圖。
[0037]圖4是描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文消息認(rèn)證流程圖。
【具體實(shí)施方式】
[0038]本發(fā)明的主要原理:為了實(shí)現(xiàn)GOOSE報(bào)文網(wǎng)絡(luò)傳輸?shù)恼J(rèn)證方法,需要對(duì)原始報(bào)文的格式進(jìn)行擴(kuò)展。擴(kuò)展的GOOSE報(bào)文格式不僅符合IEC 61850-9-2的規(guī)定,而且滿足ISO/IEC 8802-3幀結(jié)構(gòu)和ASN.1基本編碼規(guī)則。同時(shí)利用原有GOOSE報(bào)文格式中的保留I和保留2兩個(gè)字段,對(duì)認(rèn)證方法以及擴(kuò)展字段進(jìn)行補(bǔ)充說明。
[0039]首先,對(duì)于GOOSE報(bào)文格式的擴(kuò)展字段由兩部分組成,第一部分用于身份認(rèn)證,第二部分用于消息認(rèn)證。其中,第一部分身份認(rèn)證的內(nèi)容包括用戶名,密碼,以及密鑰管理服務(wù)器定期更新的密鑰信息,隨后將以上三種信息通過DES算法進(jìn)行置換操作,生成相應(yīng)的密文字符串,作為報(bào)文的身份認(rèn)證信息加入到原始GOOSE報(bào)文進(jìn)行傳輸。第二部分的消息認(rèn)證則是對(duì)GOOSE報(bào)文中的數(shù)據(jù)信息進(jìn)行壓縮操作,采用的是MD5算法,數(shù)據(jù)被壓縮后生成定長的信息摘要字符串。最后,與身份認(rèn)證生成的字符串組成擴(kuò)展字段的內(nèi)容,通過發(fā)送端發(fā)送到網(wǎng)絡(luò)上。
[0040]對(duì)于GOOSE報(bào)文的接收端來說,收到網(wǎng)絡(luò)上過來的GOOSE報(bào)文后首先判斷是否為GOOSE認(rèn)證擴(kuò)展報(bào)文,如果是則首先進(jìn)行身份認(rèn)證,將接收到的身份認(rèn)證字符串通過DES算法進(jìn)行置換操作,然后將置換后的字符串,即用戶名,密碼,密鑰信息與自身的對(duì)應(yīng)信息進(jìn)行比對(duì),如果用戶名和密碼一致,而且密鑰信息與密鑰池中的密鑰信息也一致,則通過GOOSE報(bào)文的身份認(rèn)證。身份認(rèn)證通過后繼續(xù)將接收到的數(shù)據(jù)信息通過MD5算法生成信息摘要字符串,然后與接收到的信息摘要字符串進(jìn)行比對(duì),如果一致則通過消息認(rèn)證。
[0041]當(dāng)身份認(rèn)證與消息認(rèn)證全部通過后則認(rèn)為此幀報(bào)文通過認(rèn)證,接收端隨即發(fā)送一幀確認(rèn)報(bào)文確定認(rèn)證通過。發(fā)送端收到確認(rèn)報(bào)文后,將在協(xié)商的認(rèn)證通信時(shí)間段T內(nèi)進(jìn)行原始GOOSE報(bào)文的通信,即GOOSE報(bào)文收發(fā)過程中不再進(jìn)行認(rèn)證操作。當(dāng)通信時(shí)間超過協(xié)商認(rèn)證通信時(shí)間段T后,則需要重新發(fā)送包含身份認(rèn)證與消息認(rèn)證的GOOSE認(rèn)證報(bào)文進(jìn)行再次認(rèn)證。
[0042]其中,對(duì)于密鑰池的生成則由密鑰服務(wù)器單獨(dú)完成,并且定期更新,每次更新的密鑰池都會(huì)發(fā)送給GOOSE報(bào)文的發(fā)送端與接收端,收到密鑰池后實(shí)時(shí)更新自己維護(hù)的密鑰池,以達(dá)到提高GOOSE報(bào)文安全性的目的。
[0043]下面結(jié)合附圖進(jìn)行說明:
[0044]圖1是本發(fā)明GOOSE原始報(bào)文與GOOSE認(rèn)證擴(kuò)展報(bào)文的比較示意圖。
[0045]從圖1中可以看出,左邊為GOOSE的原始報(bào)文格式,右邊為GOOSE的認(rèn)證擴(kuò)展報(bào)文格式。認(rèn)證擴(kuò)展報(bào)文包括身份認(rèn)證與消息認(rèn)證兩部分內(nèi)容,總共占用40Byte大小。其中身份認(rèn)證占用36Byte,消息認(rèn)證占用4Byte。
[0046]身份認(rèn)證由用戶名、密碼、密鑰三部分組成,通過DES算法對(duì)以上內(nèi)容進(jìn)行置換操作,置換后生成的字符串長度不得超過36Byte,也就是說置換前的用戶名、密碼、密鑰三者加起來的字符串長度不得超過36Byte。
[0047]消息認(rèn)證由GOOSE報(bào)文格式中的APDU報(bào)文組成,通過MD5算法對(duì)APDU報(bào)文進(jìn)行壓縮操作,壓縮后生成的字符串長度不得超過4Byte。
[0048]另外原始報(bào)文中的保留字段Reservedl (2Byte)和Reserved2 (2Byte)也作為GOOSE認(rèn)證擴(kuò)展報(bào)文內(nèi)容的一部分進(jìn)行使用,其中,Reservedl作為判斷是否為GOOSE認(rèn)證擴(kuò)展報(bào)文的唯一標(biāo)示,即當(dāng)保留字段的值為FFFF時(shí),則接收端認(rèn)為此報(bào)文為GOOSE認(rèn)證擴(kuò)展報(bào)文,除此以外均為原始GOOSE報(bào)文。Reserved〗則記錄認(rèn)證擴(kuò)展報(bào)文的實(shí)際長度,其大小應(yīng)小于最大占用空間40Byte。
[0049]圖2描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文的總體認(rèn)證流程圖。
[0050]發(fā)送端將要發(fā)送GOOSE認(rèn)證擴(kuò)展報(bào)文時(shí),首先對(duì)身份認(rèn)證信息進(jìn)行置換,將置換后的字符串添加到認(rèn)證擴(kuò)展報(bào)文的身份認(rèn)證字段中;接著對(duì)消息認(rèn)證信息進(jìn)行壓縮,將壓縮后的字符串添加到認(rèn)證擴(kuò)展報(bào)文的消息認(rèn)證字段中,然后將身份認(rèn)證信息,消息認(rèn)證信息以及保留字段1、保留字段2與GOOSE原始報(bào)文組成GOOSE認(rèn)證報(bào)文發(fā)送給接收端。
[0051]接收端收到GOOSE報(bào)文后首先判斷是否為認(rèn)證報(bào)文,如果是,則首先讀取報(bào)文中的身份認(rèn)證信息,進(jìn)行身份認(rèn)證。身份認(rèn)證通過后接著讀取消息認(rèn)證信息,進(jìn)行消息認(rèn)證。當(dāng)消息認(rèn)證通過后則認(rèn)為收到的GOOSE報(bào)文是安全且可靠的,隨后向發(fā)送端發(fā)送認(rèn)證確認(rèn)報(bào)文,告知對(duì)方認(rèn)證通過,隨后便進(jìn)行正常原始GOOSE報(bào)文的通信。
[0052]當(dāng)通信時(shí)間超過“協(xié)商認(rèn)證通信時(shí)段” T時(shí),發(fā)送端需要再次發(fā)送認(rèn)證擴(kuò)展報(bào)文進(jìn)行再次認(rèn)證,認(rèn)證通過后才可以繼續(xù)進(jìn)行正常的原始GOOSE報(bào)文通信。
[0053]圖3描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文的身份認(rèn)證流程圖。
[0054]GOOSE認(rèn)證擴(kuò)展報(bào)文進(jìn)行身份認(rèn)證時(shí),發(fā)送端首先讀取本地的用戶名,密碼以及密鑰信息,將以上三組信息組成一組明文字符串M,然后使用DES算法將字符串M進(jìn)行置換生成新的密文字符串M1,將Ml添加到認(rèn)證擴(kuò)展報(bào)文中的消息認(rèn)證字段發(fā)送給接收端。
[0055]當(dāng)接收端收到身份認(rèn)證報(bào)文時(shí)首先讀取GOOSE認(rèn)證擴(kuò)展報(bào)文的身份認(rèn)證字段,然后將讀取到的身份認(rèn)證密文字符串Ml通過DES算法還原生成新的明文字符串M2,然后將字符串M2與本機(jī)讀取到的用戶名,密碼以及密鑰信息進(jìn)行比對(duì),如果比對(duì)結(jié)果一致則認(rèn)為身份認(rèn)證通過,繼續(xù)進(jìn)行消息認(rèn)證操作。
[0056]圖4是描述的是GOOSE認(rèn)證擴(kuò)展報(bào)文消息認(rèn)證流程圖。
[0057]GOOSE認(rèn)證擴(kuò)展報(bào)文進(jìn)行消息認(rèn)證時(shí),發(fā)送端首先讀取GOOSE原始報(bào)文中的APDU信息字符串N,然后使用MD5算法將字符串N進(jìn)行壓縮生成定長的信息摘要字符串NI,將NI添加到認(rèn)證擴(kuò)展報(bào)文中消息認(rèn)證字段中發(fā)送給接收端。
[0058]當(dāng)接收端收到消息認(rèn)證報(bào)文時(shí)首先讀取GOOSE認(rèn)證擴(kuò)展報(bào)文的消息認(rèn)證字段,然后將讀取到的APDU信息N同樣使用MD5算法生成信息摘要字符串N2,然后將字符串NI與字符串N2進(jìn)行比對(duì),如果比對(duì)結(jié)果一致則認(rèn)為消息認(rèn)證通過。
[0059]當(dāng)消息認(rèn)證通過后則確定GOOSE認(rèn)證擴(kuò)展報(bào)文通過認(rèn)證,隨即發(fā)送確認(rèn)幀給發(fā)送端告知對(duì)方認(rèn)證成功。
[0060]本發(fā)明的實(shí)施方式不限于此,在本發(fā)明上述基本技術(shù)思想前提下,按照本領(lǐng)域的普通技術(shù)知識(shí)和慣用手段對(duì)本
【發(fā)明內(nèi)容】
所做出其它多種形式的修改、替換或變更,均落在本發(fā)明權(quán)利保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于變電站通信的GOOSE報(bào)文認(rèn)證方法,其特征在于包括如下內(nèi)容: 在傳輸GOOSE報(bào)文時(shí)進(jìn)行身份認(rèn)證,即在原始GOOSE報(bào)文中加入身份認(rèn)證信息發(fā)送給接收方; 在GOOSE報(bào)文中加入消息認(rèn)證,即增加對(duì)數(shù)據(jù)進(jìn)行封裝操作,并且以信息摘要的形式隨GOOSE報(bào)文發(fā)送給接收方; 在GOOSE報(bào)文中引入密鑰管理,定時(shí)更新密鑰; 在GOOSE報(bào)文中,將身份認(rèn)證信息與消息認(rèn)證信息分別采用特定的算法進(jìn)行封裝操作并生成對(duì)應(yīng)的字符串,將生成的兩個(gè)字符串合并成GOOSE報(bào)文中的擴(kuò)展字段與原始GOOSE報(bào)文一起發(fā)送;而GOOSE報(bào)文中的保留字段則被用于描述擴(kuò)展字段的相關(guān)信息; 接收端收到GOOSE報(bào)文后再對(duì)擴(kuò)展字段內(nèi)容進(jìn)行相應(yīng)的拆封操作,進(jìn)行身份認(rèn)證與消息認(rèn)證信息的驗(yàn)證; 同時(shí),不論是發(fā)送端還是接收端,都各自維護(hù)自己的密鑰池,當(dāng)密鑰管理服務(wù)器發(fā)送更新的密鑰時(shí),發(fā)送端與接收端需同時(shí)對(duì)自己維護(hù)的密鑰池進(jìn)行實(shí)時(shí)更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述身份認(rèn)證的具體步驟如下: (1.D發(fā)送端將配置的用戶名,密碼及密鑰作為明文信息使用DES算法進(jìn)行置換操作,轉(zhuǎn)換后生成密文字符串加入到GOOSE報(bào)文的擴(kuò)展字段I中,與原始GOOSE報(bào)文組成身份認(rèn)證GOOSE報(bào)文發(fā)送給接收端,其中,DES算法使用64bit的密鑰,不會(huì)產(chǎn)生密文擴(kuò)充; (1.2)接收端收到GOOSE報(bào)文后,同樣使用DES算法將身份認(rèn)證的密文信息進(jìn)行還原操作,將還原后的內(nèi)容與本地認(rèn)證信息進(jìn)行比對(duì),如果與需要接收的用戶名,密碼及密鑰信息一致則通過此GOOSE報(bào)文的身份認(rèn)證,以完成身份認(rèn)證。
3.所述消息認(rèn)證的具體步驟如下: (2.1)發(fā)送端發(fā)送GOOSE報(bào)文時(shí),將GOOSE報(bào)文中的數(shù)據(jù)信息通過MD5算法進(jìn)行數(shù)據(jù)壓縮操作,生成定長的信息摘要字符串,隨后將信息摘要字符串填充到GOOSE報(bào)文的擴(kuò)展字段2中,與原始GOOSE報(bào)文組成認(rèn)證GOOSE報(bào)文發(fā)送給接收端; (2.2)接收端收到GOOSE報(bào)文后將接收到的數(shù)據(jù)信息同樣通過MD5算法進(jìn)行壓縮操作,將生成的信息摘要字符串與接收到的字符串進(jìn)行比對(duì),如果一致,則確定接收到的GOOSE報(bào)文在傳輸?shù)倪^程中沒有被第三方截取并篡改,以通過消息認(rèn)證。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述GOOSE報(bào)文中的保留字段則被用于描述擴(kuò)展字段的相關(guān)信息的具體內(nèi)容如下: (3.1)原始的GOOSE報(bào)文中有兩個(gè)保留字段即保留字段l(2Byte),保留字段2(2Byte),發(fā)送的GOOSE報(bào)文進(jìn)行認(rèn)證時(shí)需要用到這兩個(gè)保留字段,判斷保留字段I的值為OXFFFF則為認(rèn)證報(bào)文,如果不是則為原始GOOSE報(bào)文。 (3.2)保留字段2的內(nèi)容為擴(kuò)展字段的長度。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述密鑰管理的具體步驟如下: (4.1)密鑰管理采用密鑰預(yù)分配方案,密鑰的產(chǎn)生由國家密碼管理局規(guī)定的主機(jī)加密服務(wù)器來完成;服務(wù)器預(yù)先生成一個(gè)220的密鑰池,并對(duì)密鑰池中的密鑰進(jìn)行編號(hào); (4.2)提取密鑰,通過組播方式將生成的密鑰池發(fā)送給需要接收的設(shè)備。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于:所述維護(hù)密鑰池的具體步驟如下: (5.1)密鑰管理服務(wù)器定期隨機(jī)生成密鑰池,并將更新的內(nèi)容發(fā)送給GOOSE報(bào)文的發(fā)送端與接收端,發(fā)送端與接收端收到密鑰管理服務(wù)器發(fā)送的信息時(shí),創(chuàng)建并維護(hù)更新自己的密鑰池; (5.2)所述密鑰管理服務(wù)器由單獨(dú)的裝置獨(dú)立運(yùn)行,定期更新密鑰信息發(fā)送給需要接收的發(fā)送端和接收端,以預(yù)防第三方獲取密鑰進(jìn)行重放攻擊。
【文檔編號(hào)】H04L29/06GK104506500SQ201410767518
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月11日 優(yōu)先權(quán)日:2014年12月11日
【發(fā)明者】馮善強(qiáng), 黃曙, 牛津文, 邵春梅, 馬凱, 慕宗君, 陳炯聰, 王紅星, 曹麗娟, 胡春潮, 何杰, 汪溢, 楊占杰, 張曉悅, 侯艾君, 段宏達(dá) 申請(qǐng)人:廣東電網(wǎng)有限責(zé)任公司電力科學(xué)研究院, 許繼電氣股份有限公司