国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于iec62351的goose報文的安全交互方法

      文檔序號:7796983閱讀:198來源:國知局
      基于iec62351的goose報文的安全交互方法
      【專利摘要】本發(fā)明的目的在于提供一種基于IEC62351的GOOSE報文的安全交互方法,包括如下步驟:服務(wù)端準備一套帶有私鑰的數(shù)字證書,同時將證書分發(fā)給GOOSE報文的客戶端,由客戶端將證書與服務(wù)端的網(wǎng)卡MAC地址進行關(guān)聯(lián),接著對報文的簽名和驗證。本發(fā)明方法基于IEC62351標準,對GOOSE報文CRC計算、報文摘要計算以及對摘要進行簽名的安全處理,目的在于解決IEC61850標準的變電站自動化系統(tǒng)在基于IEC62351標準的安全通信加固問題。
      【專利說明】基于IEC62351的GOOSE報文的安全交互方法
      【技術(shù)領(lǐng)域】
      [0001]本申請涉及電力信息安全領(lǐng)域,具體來說涉及一種基于IEC62351的智能變電站中智能電子設(shè)備的GOOSE報文的安全交互方法。
      【背景技術(shù)】
      [0002]IEC61850提出了變電站的一組公共通信標準,通過對設(shè)備的一系列規(guī)范化,使得IED (智能電子設(shè)備)能夠在統(tǒng)一規(guī)范下進行無縫連接,為了推進國內(nèi)變電站的發(fā)展需要,國內(nèi)提出了基于IEC61850的DL/T860標準。
      [0003]IEC61850的特點是I)面向?qū)ο蠼#?)抽象通信服務(wù)接口 ; 3)面向?qū)崟r的服務(wù);4)配置語言;5)整個電力系統(tǒng)統(tǒng)一建模。
      [0004]IEC61850標準將變電站通信體系分為變電站層、間隔層、過程層。IEC61850的網(wǎng)絡(luò)通信上層統(tǒng)一采用抽象通信服務(wù)接口,對具體的網(wǎng)絡(luò),通過將底層實現(xiàn)接口映射到抽象通信接口來對接。在變電站層與間隔層之間將抽象通信服務(wù)接口映射到制造報文規(guī)范(MMS)、傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)以太網(wǎng)或光纖網(wǎng)。在間隔層與過程層之間的網(wǎng)絡(luò)采用廣播式的以太網(wǎng)傳輸。
      [0005]國家電網(wǎng)公司在^一五”規(guī)劃中明確提出研究和推廣以IEC61850和電子式PT/CT為基礎(chǔ)的數(shù)字化變電站。IEC61850提出了變電站過程層、間隔層、站控層三層之間所有設(shè)備直接接入以太網(wǎng)。由此可見網(wǎng)絡(luò)在變電站中已成為最重要的通信方式。
      [0006]但是,由于IEC61850標準提出時,只注重IED之間的共享通信,而對通信過程中的安全并未重視,導(dǎo)致變電站一旦被入侵,而變電站內(nèi)部又沒有任何防護措施,后果將很難想象。`
      [0007]2005年4月,國際標準化組織IEC制定了 IEC62351數(shù)據(jù)和通信安全標準(草案),以解決電力通訊領(lǐng)域的數(shù)據(jù)和通訊安全問題。在IEC62351中,認證和加密是核心內(nèi)容。由于GOOSE報文的時間要求極高,針對GOOSE報文進行加密,在時間上不能滿足要求,而對GOOSE報文進行認證能夠滿足要求。
      [0008]本專利提出基于IEC62351的GOOSE報文的安全交互方法。通過對GOOSE報文保留字段進行利用,保存計算GOOSE報文部分的CRC值,以及對GOOSE報文進行擴展,用于存放GOOSE報文的摘要及對摘要的簽名,從而對GOOSE報文進行安全處理,防止GOOSE報文被篡改,以及確認GOOSE報文來源,從而防止GOOSE報文的欺騙攻擊。

      【發(fā)明內(nèi)容】

      [0009]本發(fā)明的目的在于提供一種基于IEC62351的GOOSE報文的安全交互方法,本方法針對智能變電站中智能電子設(shè)備使用GOOSE報文通信時,在基于IEC62351標準的基礎(chǔ)上,對GOOSE報文進行CRC校驗和數(shù)字簽名處理后,再進行交互,以達到在GOOSE報文交互過程中,能夠確認GOOSE報文的發(fā)送者的目的。
      [0010]本發(fā)明的目的可通過以下的技術(shù)措施來實現(xiàn):[0011]—種基于IEC62351的GOOSE報文的安全交互方法,首先,服務(wù)端(發(fā)送方)準備一套帶有私鑰的數(shù)字證書,同時將證書(不含私鑰)分發(fā)給GOOSE報文的客戶端(接收方),由客戶端將證書與服務(wù)端的網(wǎng)卡MAC地址進行關(guān)聯(lián),接著對報文的簽名和驗證過程如下:
      [0012]I)簽名流程
      [0013]1.1)對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值;簽名與驗證操作需要的字段包括GOOSE報文中的標志協(xié)議標識域TPID、標志控制信息域TC1、以太網(wǎng)報文類型域EtherType、應(yīng)用標識域APPID、應(yīng)用協(xié)議數(shù)據(jù)單元APDU,以及為未來標準化應(yīng)用保留的保留字段I (Reservedl)、保留字段2 (Reserved〗)。
      [0014]1.2)取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組;
      [0015]1.3)計算該字節(jié)數(shù)組的CRC校驗值;所述計算CRC校驗值的方法是采用循環(huán)冗余校驗(Cyclic redundancy check,通稱 “CRC”)。
      [0016]1.4)將計算出的CRC值填入GOOSE報文的Reserved2字段;
      [0017]1.5)讀取并解析服務(wù)端的私鑰P。
      [0018]1.6)取得待計算RSA簽名的三個字段APDU、Reserved、Private的值,并將其拼接成一個字符數(shù)組;其中,Reserved字段作為保留位用于后續(xù)擴展,Private字段作為GOOSE報文服務(wù)端和客戶端傳遞非標準內(nèi)容,該非標準內(nèi)容的格式,由服務(wù)端和客戶端提前自行約定。
      [0019]1.7)使用散列算法MD5Hash (即哈希函數(shù)Hash Function)計算該字節(jié)數(shù)組的摘要值S”;·
      [0020]1.8)使用服務(wù)端私鑰對摘要值進行簽名,獲得簽名值S ;
      [0021]1.9)將RSA簽名添加到GOOSE報文的末尾;
      [0022]1.10)計算新的GOOSE報文擴展部分的長度;
      [0023]1.11)將擴展部分的長度填入Reservedl字段的第一個字節(jié)中。
      [0024]2)驗證流程
      [0025]2.1)根據(jù)接收到的網(wǎng)絡(luò)報文的源MAC地址,查找對應(yīng)的服務(wù)端證書X ;
      [0026]2.2)對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值;
      [0027]2.3)判定Reservedl字段的第一個字節(jié)是否大于O ;如果不大于O則該GOOSE報文未經(jīng)過簽名,驗證結(jié)束;
      [0028]2.4)取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組;
      [0029]2.5)計算該字節(jié)數(shù)組的CRC校驗值;
      [0030]2.6)將計算出的CRC校驗值與GOOSE報文中的Reserved2字段值進行比較;若不相等則驗證失敗,記錄日志,丟棄該報文;
      [0031]2.7)取得待計算RSA簽名的三個字段APDU、Reserved、Private的值,并將其拼接成一個字符數(shù)組;
      [0032]2.8)使用散列算法MD5Hash計算該字節(jié)數(shù)組的摘要值S” ;
      [0033]2.9)使用服務(wù)端證書對報文中的簽名值進行解密,得到服務(wù)端計算的摘要值S ;
      [0034]2.10)比較兩個摘要值S”與S ;若不相等則驗證失敗,記錄日志,丟棄該報文;若相等,貝1J驗證成功。
      [0035]本發(fā)明對比現(xiàn)有技術(shù),有如下優(yōu)點:
      [0036]本發(fā)明基于IEC62351的GOOSE報文的安全交互方法,通過對基于IEC61850的GOOSE報文,對保留字段進行利用,并擴展GOOSE報文結(jié)構(gòu),通過對GOOSE報文頭部分進行CRC計算、對GOOSE報文體進行SHA-256摘要計算,最終在擴展部分對摘要進行簽名,保護GOOSE報文的完整性,以及確定GOOSE報文的源。能夠達到確定GOOSE報文的源的目的,以防止在變電站被人攻擊時,任何人都可以發(fā)送GOOSE報文來操作智能電子設(shè)備,特別是影響智能變電內(nèi)部重要的高壓變壓設(shè)備。
      [0037]本發(fā)明方法基于IEC62351標準,對GOOSE報文CRC計算、報文摘要計算以及對摘要進行簽名的安全處理,目的在于解決IEC61850標準的變電站自動化系統(tǒng)在基于IEC62351標準的安全通信加固問題。由于基于IEC61850標準的GOOSE報文只涉及數(shù)據(jù)的交互,變電內(nèi)GOOSE報文交互沒有任何安全的防護,一旦變電站的防護出現(xiàn)意外,變電站內(nèi)部的GOOSE報文將會被隨意發(fā)送。而基于IEC62351標準提出以來,智能電子設(shè)備在GOOSE報文交互時,需要對報文的源頭和數(shù)據(jù)本身進行驗證,從而能夠確保在一定時間內(nèi),即使變電站外部防護存在安全問題,驗證過程也能夠保證GOOSE交互過程的安全,以延緩攻擊者的速度,為變電站安全爭取寶貴時間。
      【專利附圖】

      【附圖說明】
      [0038]圖1是本發(fā)明參考體系結(jié)構(gòu)示意圖;
      [0039]圖2是GOOSE的報文結(jié)構(gòu)示意圖,(a)為IEC61850標準的結(jié)構(gòu),(b)為基于IEC62351標準的結(jié)構(gòu);
      [0040]圖3是本發(fā)明方法流程不意圖。
      【具體實施方式】
      [0041]圖1是本發(fā)明參考體系結(jié)構(gòu)示意圖,示出了本發(fā)明所包含的組件,給出了基于IEC62351的GOOSE報文的安全交互方法的參考體系結(jié)構(gòu)圖,它主要包括三個部分:服務(wù)端對GOOSE報文的處理、GOOSE報文和客戶端對GOOSE報文的驗證。
      [0042]如圖2所示,GOOSE報文分為IEC61850標準的GOOSE報文和IEC62351標準的GOOSE報文。IEC61850標準的GOOSE報文報文不包括安全項;IEC62351標準的GOOSE報文是基本結(jié)構(gòu)基于IEC61850標準的GOOSE報文結(jié)構(gòu),并在此基礎(chǔ)上擴展報文,以保存對GOOSE報文進行摘要后的簽名值。
      [0043]在IEC62351標準提出后,本專利基于IEC62351標準,提出通過GOOSE報文進行擴展,并安全處理,以確定GOOSE報文的源,和防止GOOSE報文被篡改,從而防止GOOSE報文從不確定的源頭發(fā)出,和GOOSE報文被隨意篡改。
      [0044]服務(wù)端在組裝GOOSE報文時,對GOOSE報文進行安全處理,首先對GOOSE報文頭部分字段進行CRC計算,以保存在GOOSE報文的保留字段中,再對GOOSE報文進行摘要計算,并對摘要進行簽名,并將簽名值存放于擴展字段中。
      [0045]客戶端在接收到GOOSE報文后,對安全處理過的GOOSE報文進行驗證,通過簽名驗證,以確定GOOSE報文的源,通過摘要驗證和CRC驗證,以確定內(nèi)容是否被篡改。[0046]下面通過具體實施例說明基于IEC62351的GOOSE報文的安全交互方法的流程,如圖3所示,例如有一個服務(wù)端程序,需要向一個客戶端程序發(fā)送經(jīng)過簽名的GOOSE報文,首先,需要通過證書系統(tǒng)為服務(wù)端申請簽發(fā)一個數(shù)字證書,以及相對應(yīng)的RSA私鑰,通過文件的形式配置給服務(wù)器程序使用。同時,需要將證書(不含私鑰)與服務(wù)端的網(wǎng)卡MAC地址配置給客戶端使用。接著,服務(wù)器端和客戶端對該報文的處理流程分別如下:
      [0047]1.服務(wù)器端:首先,服務(wù)端按照應(yīng)用規(guī)則,生成GOOSE報文之后,在準備發(fā)送給客戶端之前,需要對該報文的內(nèi)容進行簽名。
      [0048]1.1服務(wù)端將GOOSE報文中的TPID、TC1、EtherType、APPID四個字段的值取出組成一個8字節(jié)的字節(jié)數(shù)組,計算其CRC校驗值,并填入GOOSE報文中原來的Reserved〗字段中,具體過程如下:
      [0049]對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值。簽名與驗證操作需要的字段有TPID、TC1、EtherType、APPID、APDU等,以及兩個保留字段的位置。
      [0050]取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組,
      [0051]C,=concatenate (G.TPID, G.TCI, G.EtherType, G.APPID)。
      [0052]計算該字節(jié)數(shù)組的CRC校驗值,
      [0053]C=CRC (C,)。
      [0054]將計算出的CRC值填入GOOSE報文的R eserved2字段,
      [0055]G.Retain2=C。
      [0056]讀取并解析服務(wù)端的私鑰P。
      [0057]1.2服務(wù)端將GOOSE報文中的APDU、Reserved、Private三個字段的值取出組成一個字節(jié)數(shù)組,計算其RSA-SHA256簽名值A(chǔ)uthenticationValue,并編碼添加到GOOSE報文的末尾,具體過程如下:
      [0058]取得待計算RSA簽名的三個字段APDU、Reserved、Private的值,并將其拼接成一個字符數(shù)組,
      [0059]S,=concatenate (G.APDU, G.Reserved, G.Private)。
      [0060]使用Hash算法計算該字節(jié)數(shù)組的摘要值S”,
      [0061]S”=SHA256(S’)。
      [0062]使用服務(wù)端私鑰對摘要值進行簽名,獲得簽名值S,
      [0063]S=RSAPrivateEncrypt (S,,, P)。
      [0064]將RSA簽名添加到GOOSE報文的末尾,
      [0065]G,=concatenate (G, S)。
      [0066]計算新的GOOSE報文擴展部分的長度,
      [0067]L=Ien (G,)-1en (G)。
      [0068]1.3 服務(wù)端計算報文擴展的 Reserved、Private、AuthenticationValue 三個字段的長度,并填入GOOSE報文的Reservedl字段第一個字節(jié)中,具體過程如下:
      [0069]將擴展部分的長度填入Reservedl字段的第一個字節(jié),
      [0070]G,.Retainl [O] =L。
      [0071]1.4服務(wù)端將新的GOOSE報文通過網(wǎng)絡(luò)發(fā)送給客戶端。[0072]2.客戶端:客戶端接收到服務(wù)端發(fā)送過來的GOOSE報文之后,需要對其簽名的合法性進行驗證。
      [0073]2.1客戶端首先根據(jù)接收報文的源MAC地址,查找對應(yīng)的服務(wù)端證書:根據(jù)接收到的網(wǎng)絡(luò)報文的源MAC地址,查找對應(yīng)的服務(wù)端證書X。對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值。
      [0074]2.2客戶端檢查GOOSE報文中Reservedl字段的第一個字節(jié),如果是0,說明該GOOSE報文沒有經(jīng)過簽名操作,跳過后續(xù)的驗證操作,具體過程如下:
      [0075]判定Reservedl字段的第一個字節(jié)是否大于O,
      [0076]G.Retainl [O] >0。
      [0077]如果不大于O則該GOOSE報文未經(jīng)過簽名,驗證結(jié)束。
      [0078]2.3客戶端將GOOSE報文中的TPID、TC1、EtherType、APPID四個字段的值取出組成一個8字節(jié)的字節(jié)數(shù)組,計算其CRC校驗值,然后與GOOSE報文中的Reserved2字段中的值進行比較,相等說明CRC校驗通過
      [0079]取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組,
      [0080]C,=concatenate (G.TPID, G.TCI, G.EtherType, G.APPID)。
      [0081]計算該字節(jié)數(shù)組的CRC校驗值,
      [0082]C=CRC (C,)。
      [0083]將計算出的CRC值與GOOSE報文中的Reserved2字段值進行比較,
      [0084]C==G.Retain2
      [0085]若不相等則驗證失敗,記錄日志,丟棄該報文。
      [0086]2.4客戶端將GOOSE報文中的APDU、Reserved、Private三個字段的值取出組成一個字節(jié)數(shù)組,同時將AuthenticationValue字段中的值(即服務(wù)端計算的簽名值)取出,根據(jù)之前查找到的服務(wù)端證書進行RSA-SHA256驗簽操作,通過則整個報文的簽名驗證成功,具體過程如下:
      [0087]取得待計算RSA簽名的三個字段APDU、Reserved、Private的值,并將其拼接成一個字符數(shù)組,
      [0088]S,=concatenate (G.APDU, G.Reserved, G.Private)。
      [0089]使用Hash算法計算該字節(jié)數(shù)組的摘要值S”,
      [0090]S”=SHA256(S’)。
      [0091]使用服務(wù)端證書對報文中的簽名值進行解密,得到服務(wù)端計算的摘要值S,
      [0092]S=RSAPublicDecrypt (S,,, X)。
      [0093]比較兩個摘要值S”與S,
      [0094]S,,==S
      [0095]若不相等則驗證失敗,記錄日志,丟棄該報文。若相等,則驗證成功。
      [0096]2.5客戶端繼續(xù)進行后續(xù)的業(yè)務(wù)層數(shù)據(jù)處理。
      [0097]本發(fā)明方法基于IEC62351標準,對GOOSE報文進行CRC計算、報文摘要計算以及對摘要進行簽名的安全處理,目的在于解決IEC61850標準的變電站自動化系統(tǒng)在基于IEC62351標準的GOOSE報文安全通信加固問題。通過對基于IEC61850標準的GOOSE報文保留字段進行利用,保存計算GOOSE報文的頭部CRC值,同時擴展GOOSE報文結(jié)構(gòu),對GOOSE報文體進行SHA-256摘要計算,對摘要進行數(shù)字簽名,并保存于擴展部分,從而保護GOOSE報文的完整性和確定GOOSE報文的發(fā)送者,以確保GOOSE事件的真實性。
      [0098]由于基于IEC61850標準的GOOSE報文僅涉及數(shù)據(jù)的交互,變電內(nèi)GOOSE報文交互沒有任何安全的防護,一旦變電站的防護出現(xiàn)意外,變電站內(nèi)部的GOOSE報文將會被隨意發(fā)送。而基于IEC62351標準提出以來,智能電子設(shè)備在GOOSE報文交互時,需要對報文的源頭和數(shù)據(jù)本身進行驗證,從而能夠確保在一定時間內(nèi),即使變電站外部防護存在安全問題,驗證過程也能夠保證GOOSE交互過程的安全,以延緩攻擊者的速度,為變電站安全爭取寶貴時間,從而保護智能變電站內(nèi)部的安全。
      [0099]本發(fā)明的實施方式不限于此,在本發(fā)明上述基本技術(shù)思想前提下,按照本領(lǐng)域的普通技術(shù)知識和慣用手段對本
      【發(fā)明內(nèi)容】
      所做出其它多種形式的修改、替換或變更,均落在本發(fā)明權(quán)利保護范圍之內(nèi)。
      【權(quán)利要求】
      1.一種基于IEC62351的GOOSE報文的安全交互方法,其特征在于:服務(wù)端準備一套帶有私鑰的數(shù)字證書,同時將證書分發(fā)給GOOSE報文的客戶端,由客戶端將證書與服務(wù)端的網(wǎng)卡MAC地址進行關(guān)聯(lián),接著對報文的簽名和驗證過程如下: 1)簽名流程 .1.0對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值;簽名與驗證操作需要的字段包括GOOSE報文中的標志協(xié)議標識域TPID、標志控制信息域TC1、以太網(wǎng)報文類型域EtherType、應(yīng)用標識域APPID、應(yīng)用協(xié)議數(shù)據(jù)單元APDU,以及為未來標準化應(yīng)用保留的保留字段1、保留字段2; .1.2)取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組; . 1.3)計算該字節(jié)數(shù)組的CRC校驗值;所述計算CRC校驗值的方法是采用循環(huán)冗余校驗; . 1.4)將計算出的CRC值填入GOOSE報文的Reserved2字段; .1.5)讀取并解析服務(wù)端的私鑰P ; .1.6)取得待計算RSA簽名的三個字段APDU、Reserved、Private的值,并將其拼接成一個字符數(shù)組;其中,Reserved字段作為保留位用于后續(xù)擴展,Private字段作為GOOSE報文服務(wù)端和客戶端傳遞非標準內(nèi)容,該非標準內(nèi)容的格式,由服務(wù)端和客戶端提前自行約定; . 1.7)使用散列算法MD5Hash計算該字節(jié)數(shù)組的摘要值S” ; . 1.8)使用服務(wù)端私鑰對摘要值進行簽名,獲得簽名值S ; . 1.9)將RSA簽名添加到GOOSE報文的末尾; . 1.10)計算新的GOOSE報文擴展部分的長度;. 1.11)將擴展部分的長度填入Reservedl字段的第一個字節(jié)中; 2)驗證流程 . 2.1)根據(jù)接收到的網(wǎng)絡(luò)報文的源MAC地址,查找對應(yīng)的服務(wù)端證書X ; . 2.2)對應(yīng)用生成的GOOSE報文G進行解析,得到各個字段的值; . 2.3)判定Reservedl字段的第一個字節(jié)是否大于O ;如果不大于O則該GOOSE報文未經(jīng)過簽名,驗證結(jié)束; . 2.4)取得待計算CRC校驗值的四個字段TPID、TC1、EtherType、APPID的值,并將其拼接成一個字符數(shù)組; .2.5)計算該字節(jié)數(shù)組的CRC校驗值; . 2.6)將計算出的CRC校驗值與GOOSE報文中的Reserved2字段值進行比較;若不相等則驗證失敗,記錄日志,丟棄該報文; . 2.7)取得待計算RSA簽名的三個字段APDU、ReserVed、PriVate的值,并將其拼接成一個字符數(shù)組; . 2.8)使用散列算法MD5Hash計算該字節(jié)數(shù)組的摘要值S” ; . 2.9)使用服務(wù)端證書對報文中的簽名值進行解密,得到服務(wù)端計算的摘要值S ; . 2.10)比較兩個摘要值S”與S ;若不相等則驗證失敗,記錄日志,丟棄該報文;若相等,則驗證成功。
      【文檔編號】H04L29/06GK103873461SQ201410051666
      【公開日】2014年6月18日 申請日期:2014年2月14日 優(yōu)先權(quán)日:2014年2月14日
      【發(fā)明者】陶文偉, 李金 , 周鵬, 張喜銘, 樊騰飛, 梁壽愚 申請人:中國南方電網(wǎng)有限責任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1