一種以太網(wǎng)通信安全保護(hù)的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于以太網(wǎng)通信安全相關(guān)領(lǐng)域,具體涉及一種以太網(wǎng)通信安全保護(hù)的方法。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)通信存在著多種風(fēng)險(xiǎn),如數(shù)據(jù)破壞、數(shù)據(jù)偽裝、重傳、丟失、亂序和延時(shí)等。用戶越來越關(guān)注通信的安全問題,迫切需要一種成本低廉、應(yīng)用兼容、方法簡(jiǎn)單的以太網(wǎng)通信保護(hù)方法。
【發(fā)明內(nèi)容】
[0003](一 )要解決的技術(shù)問題
[0004]本發(fā)明要解決的技術(shù)問題是:如何提供一種以太網(wǎng)通信安全保護(hù)的方法。
[0005]( 二)技術(shù)方案
[0006]為解決上述技術(shù)問題,本發(fā)明提供一種以太網(wǎng)通信安全保護(hù)的方法,該以太網(wǎng)通信安全保護(hù)的方法基于安全通信系統(tǒng)來實(shí)施,所述安全通信系統(tǒng)包括發(fā)送序號(hào)累加器、發(fā)送時(shí)間戳模塊、安全校驗(yàn)計(jì)算器、序號(hào)檢測(cè)器、延時(shí)檢測(cè)器、安全校驗(yàn)檢測(cè)器、故障告警器、以太網(wǎng)發(fā)送控制器、以太網(wǎng)接收控制器;其中,所述發(fā)送序號(hào)累加器用于對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀進(jìn)行編號(hào),生成序號(hào)字段,32位循環(huán)計(jì)數(shù),用來標(biāo)識(shí)數(shù)據(jù)幀發(fā)送的順序;所述發(fā)送時(shí)間戳模塊用于記錄發(fā)送以太網(wǎng)數(shù)據(jù)幀的32位時(shí)間戳字段;所述安全校驗(yàn)計(jì)算器用于通過32位安全密鑰與發(fā)送序號(hào)累加器輸出的32位序號(hào)字段、發(fā)送時(shí)間戳模塊輸出的32位時(shí)間戳字段和故障告警器輸出的32位告警回傳字段進(jìn)行CRC32計(jì)算,得到32位的安全校驗(yàn)字段;所述以太網(wǎng)發(fā)送控制器用于按以太網(wǎng)封裝格式進(jìn)行組幀,讀取上層數(shù)據(jù)發(fā)送緩存部件構(gòu)成以太網(wǎng)幀的凈荷原始有效數(shù)據(jù),然后加入由序號(hào)字段、時(shí)間戳字段、告警回傳字段和安全校驗(yàn)字段構(gòu)成的16個(gè)字節(jié)的安全通信標(biāo)識(shí),最后加上以太網(wǎng)的FCS,完成以太網(wǎng)組幀;所述以太網(wǎng)接收控制器用于接收、校驗(yàn)和解析以太網(wǎng)幀,從以太網(wǎng)幀凈荷中剝離凈荷尾部16個(gè)字節(jié)的安全通信標(biāo)識(shí),還原上層原始有效數(shù)據(jù);所述序號(hào)檢測(cè)器用于提取序號(hào)字段并與本地存儲(chǔ)的期望序號(hào)進(jìn)行比較,當(dāng)序號(hào)相同,幀序檢測(cè)成功;或者當(dāng)接收序號(hào)比期望序號(hào)大,序號(hào)檢測(cè)失敗,出現(xiàn)丟失故障;或者當(dāng)接收序號(hào)比期望序號(hào)小1,序號(hào)檢測(cè)失敗,出現(xiàn)重復(fù)故障;否則,序號(hào)檢測(cè)失敗,出現(xiàn)亂序故障;所述延時(shí)檢測(cè)器用于提取時(shí)間戳字段,將本地的同步時(shí)間減去發(fā)送時(shí)間戳得到幀傳輸延時(shí),如果大于延時(shí)允許的最大值,出現(xiàn)延時(shí)故障;所述安全校驗(yàn)檢測(cè)器用于將安全密鑰與接收到的序號(hào)字段、時(shí)間戳字段、告警回傳字段進(jìn)行CRC32計(jì)算,如果計(jì)算結(jié)果與接收安全校驗(yàn)字段不同,則輸出安全校驗(yàn)失??;如果以太網(wǎng)幀的FCS校驗(yàn)失敗,則檢測(cè)到數(shù)據(jù)破壞告警;如果以太網(wǎng)幀的FCS校驗(yàn)成功,但安全校驗(yàn)失敗,則檢測(cè)到數(shù)據(jù)偽裝告警;所述故障告警器用于提取告警回傳字段,解析告警回傳字段的內(nèi)容,報(bào)告遠(yuǎn)端告警;如果當(dāng)本地檢測(cè)到安全校驗(yàn)告警,控制上層數(shù)據(jù)接收緩存丟棄對(duì)應(yīng)上層有效數(shù)據(jù),上報(bào)安全校驗(yàn)告警,屏蔽本地檢測(cè)到的其它告警,并通過告警返回功能通知對(duì)端;如果本地安全校驗(yàn)成功,上報(bào)檢測(cè)到的本地告警和遠(yuǎn)端告警,并將本地告警通過告警返回功能通知對(duì)端;
[0007]其中,所述以太網(wǎng)通信安全保護(hù)的方法包括如下步驟:
[0008]步驟S1:安全通信的發(fā)送方對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀加上幀序列號(hào),寫入安全通信標(biāo)識(shí)的序號(hào)字段,用來標(biāo)識(shí)數(shù)據(jù)發(fā)送的順序;安全通信的接收方提取以太網(wǎng)報(bào)文安全通信標(biāo)識(shí)中的序號(hào)字段,通過序號(hào)檢測(cè)器檢測(cè)通信過程中的數(shù)據(jù)丟失、重復(fù)、丟失和亂序故障;
[0009]步驟S2:安全通信的發(fā)送方對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀加上發(fā)送時(shí)間戳,寫入安全通信標(biāo)識(shí)的時(shí)間戳字段,用于標(biāo)識(shí)數(shù)據(jù)發(fā)送的時(shí)刻;安全通信的接收方通過時(shí)間同步協(xié)議建立時(shí)間同步,提取以太網(wǎng)報(bào)文安全通信標(biāo)識(shí)中的時(shí)間戳字段,用于檢測(cè)通信延時(shí),判斷其時(shí)間的有效性;
[0010]步驟S3:安全通信的發(fā)送方對(duì)每個(gè)發(fā)送的數(shù)據(jù)幀加上本地告警,寫入安全通信標(biāo)識(shí)的告警回傳字段,用于將本地檢測(cè)到的通信故障回傳給對(duì)端;安全通信的接收方提取以太網(wǎng)報(bào)文安全通信標(biāo)識(shí)中的告警回傳字段,用于檢測(cè)對(duì)端接收的通信故障與告警信息;
[0011]步驟S4:安全通信的發(fā)送方對(duì)上述的序號(hào)字段、時(shí)間戳字段和告警回傳字段,與安全密鑰進(jìn)行CRC校驗(yàn),將校驗(yàn)結(jié)果寫入安全通信標(biāo)識(shí)的安全校驗(yàn)字段,其中安全密鑰本身不參與通信;安全通信的接收方提取以太網(wǎng)報(bào)文的安全通信標(biāo)識(shí),對(duì)其序號(hào)字段、時(shí)間戳字段和告警回傳字段,與安全密鑰進(jìn)行CRC計(jì)算,與接收到的安全通信標(biāo)識(shí)中攜帶的安全校驗(yàn)字段進(jìn)行比較,用于檢測(cè)通信的數(shù)據(jù)破壞、數(shù)據(jù)偽裝等故障;
[0012]步驟S5:安全通信的發(fā)送方將上述的序號(hào)、時(shí)間戳、告警回傳和安全校驗(yàn)字段組成安全通信標(biāo)識(shí),插入在以太網(wǎng)幀凈荷的尾部,送入以太網(wǎng)發(fā)送控制器,計(jì)算FCS,構(gòu)成以太網(wǎng)幀進(jìn)行通信傳輸;安全通信的接收方從以太網(wǎng)接收控制器解析到以太網(wǎng)幀,提取位于以太網(wǎng)幀凈荷尾部的安全通信標(biāo)識(shí),屏蔽檢測(cè)到有安全風(fēng)險(xiǎn)的報(bào)文,并進(jìn)行告警上報(bào)和告警回傳。
[0013](三)有益效果
[0014]與現(xiàn)有技術(shù)相比較,本發(fā)明技術(shù)方案簡(jiǎn)單且高效的實(shí)現(xiàn)了以太網(wǎng)安全通信,可以對(duì)通信中存在的數(shù)據(jù)破壞、數(shù)據(jù)偽裝、重傳、丟失、亂序、延時(shí)等安全風(fēng)險(xiǎn)進(jìn)行檢測(cè)、告警和屏蔽,以確保通信數(shù)據(jù)的實(shí)時(shí)性、完整性和安全性。
【附圖說明】
[0015]圖1為本發(fā)明實(shí)施例中實(shí)現(xiàn)以太網(wǎng)通信安全保護(hù)的功能框圖。
[0016]圖2為本發(fā)明實(shí)施例中實(shí)現(xiàn)以太網(wǎng)通信安全保護(hù)的幀結(jié)構(gòu)圖。
[0017]圖3為本發(fā)明實(shí)施例中實(shí)現(xiàn)以太網(wǎng)通信安全保護(hù)的接收流程圖。
【具體實(shí)施方式】
[0018]為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。
[0019]為解決現(xiàn)有技術(shù)的問題,本發(fā)明提供一種以太網(wǎng)通信安全保護(hù)的方法,其采用以太網(wǎng)封裝格式(RFC894)的以太網(wǎng)幀承載上層數(shù)據(jù),在幀凈荷與FCS字段之間增加了安全保護(hù)標(biāo)識(shí),包括序號(hào)、時(shí)間戳、告警回傳、安全校驗(yàn)四個(gè)字段,并公開了一種以太網(wǎng)數(shù)據(jù)通道的安全通信規(guī)則,對(duì)通信中存在的數(shù)據(jù)破壞、數(shù)據(jù)偽裝、重傳、丟失、亂序、延時(shí)等安全風(fēng)險(xiǎn)進(jìn)行檢測(cè)、告警和屏蔽;
[0020]如圖1所示,該以太網(wǎng)通信安全保護(hù)的方法基于安全通信系統(tǒng)來實(shí)施,所述安全通信系統(tǒng)包括發(fā)送序號(hào)累加器、發(fā)送時(shí)間戳模塊、安全校驗(yàn)計(jì)算器、序號(hào)檢測(cè)器、延時(shí)檢測(cè)器、安全校驗(yàn)檢測(cè)器、故障告警器、以太網(wǎng)發(fā)送控制器、以太網(wǎng)接收控制器;安全通信系統(tǒng)設(shè)置于數(shù)據(jù)鏈路層,加密后的以太網(wǎng)安全報(bào)文可以正常被網(wǎng)絡(luò)中的交換機(jī)和路由器等網(wǎng)絡(luò)設(shè)備進(jìn)行交換和轉(zhuǎn)發(fā);其中,所述發(fā)送序號(hào)累加器用于對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀進(jìn)行編號(hào),生成序號(hào)字段,32位循環(huán)計(jì)數(shù),用來標(biāo)識(shí)數(shù)據(jù)幀發(fā)送的順序;所述發(fā)送時(shí)間戳模塊用于記錄發(fā)送以太網(wǎng)數(shù)據(jù)幀的32位時(shí)間戳字段;所述安全校驗(yàn)計(jì)算器用于通過32位安全密鑰與發(fā)送序號(hào)累加器輸出的32位序號(hào)字段、發(fā)送時(shí)間戳模塊輸出的32位時(shí)間戳字段和故障告警器輸出的32位告警回傳字段進(jìn)行CRC32計(jì)算,得到32位的安全校驗(yàn)字段;所述以太網(wǎng)發(fā)送控制器如圖2所示,用于按以太網(wǎng)封裝格式(RFC894)進(jìn)行組幀,讀取上層數(shù)據(jù)發(fā)送緩存部件構(gòu)成以太網(wǎng)幀的凈荷原始有效數(shù)據(jù),然后加入由序號(hào)字段、時(shí)間戳字段、告警回傳字段和安全校驗(yàn)字段構(gòu)成的16個(gè)字節(jié)的安全通信標(biāo)識(shí),最后加上以太網(wǎng)的FCS,完成以太網(wǎng)組幀;所述以太網(wǎng)接收控制器用于接收、校驗(yàn)和解析以太網(wǎng)幀,從以太網(wǎng)幀凈荷中剝離凈荷尾部16個(gè)字節(jié)的安全通信標(biāo)識(shí),還原上層原始有效數(shù)據(jù);所述序號(hào)檢測(cè)器用于提取序號(hào)字段并與本地存儲(chǔ)的期望序號(hào)進(jìn)行比較,當(dāng)序號(hào)相同,幀序檢測(cè)成功;或者當(dāng)接收序號(hào)比期望序號(hào)大,序號(hào)檢測(cè)失敗,出現(xiàn)丟失故障;或者當(dāng)接收序號(hào)比期望序號(hào)小1,序號(hào)檢測(cè)失敗,出現(xiàn)重復(fù)故障;否則,序號(hào)檢測(cè)失敗,出現(xiàn)亂序故障;所述延時(shí)檢測(cè)器用于提取時(shí)間戳字段,將本地的同步時(shí)間減去發(fā)送時(shí)間戳得到幀傳輸延時(shí),如果大于延時(shí)允許的最大值,出現(xiàn)延時(shí)故障;所述安全校驗(yàn)檢測(cè)器用于將安全密鑰與接收到的序號(hào)字段、時(shí)間戳字段、告警回傳字段進(jìn)行CRC32計(jì)算,如果計(jì)算結(jié)果與接收安全校驗(yàn)字段不同,則輸出安全校驗(yàn)失?。蝗绻蕴W(wǎng)幀的FCS校驗(yàn)失敗,則檢測(cè)到數(shù)據(jù)破壞告警;如果以太網(wǎng)幀的FCS校驗(yàn)成功,但安全校驗(yàn)失敗,則檢測(cè)到數(shù)據(jù)偽裝告警;所述故障告警器用于提取告警回傳字段,解析告警回傳字段的內(nèi)容,報(bào)告遠(yuǎn)端告警;如圖3所示,如果當(dāng)本地檢測(cè)到安全校驗(yàn)告警,控制上層數(shù)據(jù)接收緩存丟棄對(duì)應(yīng)上層有效數(shù)據(jù),上報(bào)安全校驗(yàn)告警,屏蔽本地檢測(cè)到的其它告警,并通過告警返回功能通知對(duì)端;如果本地安全校驗(yàn)成功,上報(bào)檢測(cè)到的本地告警和遠(yuǎn)端告警,并將本地告警通過告警返回功能通知對(duì)端;
[0021]其中,所述以太網(wǎng)通信安全保護(hù)的方法包括如下步驟:
[0022]步驟S1:安全通信的發(fā)送方對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀加上幀序列號(hào),寫入安全通信標(biāo)識(shí)的序號(hào)字段,用來標(biāo)識(shí)數(shù)據(jù)發(fā)送的順序;安全通信的接收方提取以太網(wǎng)報(bào)文安全通信標(biāo)識(shí)中的序號(hào)字段,通過序號(hào)檢測(cè)器檢測(cè)通信過程中的數(shù)據(jù)丟失、重復(fù)、丟失和亂序等故障;
[0023]步驟S2:安全通信的發(fā)送方對(duì)每個(gè)待發(fā)送的數(shù)據(jù)幀加上發(fā)送時(shí)間戳,寫入安全通信標(biāo)識(shí)的時(shí)間戳字段,用于標(biāo)識(shí)數(shù)據(jù)發(fā)送的時(shí)刻;安全通