国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的多路安全連接抗重放攻擊設(shè)計實現(xiàn)

2022-08-23 06:49:06張宏亮
關(guān)鍵詞:待處理序列號子網(wǎng)

陳 明,張宏亮,鄧 軍,唐 文,龔 萍

(中國電子科技集團公司第三十研究所,四川 成都 610041)

0 引言

隨著計算機網(wǎng)絡(luò)的不斷深入發(fā)展,信息安全問題日益受到人們廣泛關(guān)注和重視。在影響網(wǎng)絡(luò)安全的因素中,重放攻擊是一種常見的、危害巨大的網(wǎng)絡(luò)主動攻擊手段。重放攻擊是指將通過竊聽等手段獲取的信息再次發(fā)出以產(chǎn)生非授權(quán)的效果[1-2],針對重放攻擊原理與防范手段的研究也日益出現(xiàn)。文獻[3]對常用的抗重放方案進行了總結(jié)概述,但沒有給出詳細實施方案和平臺。文獻[4]提出基于時間戳/消息ID方式實現(xiàn)應(yīng)用層抗重放攻擊的方法,但該方法不適用于高速IP數(shù)據(jù)傳輸網(wǎng)絡(luò)。文獻[5]提出了一種針對可信平臺模塊的抗重放攻擊方案。文獻[6]設(shè)計了一種適用于車載CAN總線網(wǎng)絡(luò)協(xié)議的抗重放實現(xiàn)方案,適用于低速現(xiàn)場總線網(wǎng)絡(luò)。文獻[7]提出了一種在VPN隔離網(wǎng)關(guān)使用軟件實現(xiàn)抗重放技術(shù),但沒有深入分析高速多路通信的抗重放并行處理機制。

為了解決上述問題,同時結(jié)合工程應(yīng)用中網(wǎng)絡(luò)設(shè)備多個物理子網(wǎng)之間的互通需求,本文創(chuàng)造性提出一種基于FPGA硬件平臺實現(xiàn)多路安全連接抗重放技術(shù)的機制,該方案充分利用FPGA支持高速、并行處理的特點,滿足快速檢測網(wǎng)絡(luò)中多路重放攻擊,并迅速做出報警響應(yīng)的需求,同時不影響設(shè)備正常工作,最終達到既實現(xiàn)安全通信,又滿足網(wǎng)絡(luò)高速互通的目的。

1 基本通信原理概述

1.1 安全連接概述

安全連接[8]數(shù)據(jù)處理流程如圖1所示,網(wǎng)絡(luò)設(shè)備的物理端口從邏輯上劃分為N個獨立的安全連接邏輯通道,對于網(wǎng)絡(luò)接入側(cè),支持同一個物理子網(wǎng)的不同業(yè)務(wù)分別接入到不同的邏輯通道,也支持不同的物理子網(wǎng)分別接入不同的邏輯通道。邏輯通道之間相互獨立,數(shù)據(jù)處理互不干擾,為用戶提供類似專用線路的使用體驗。

圖1 安全連接數(shù)據(jù)處理示意圖

1.2 通信數(shù)據(jù)幀格式

在標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)幀定義[9]基礎(chǔ)上,自定義私有網(wǎng)絡(luò)通信數(shù)據(jù)幀格式如圖2所示,具體說明如下:

圖2 數(shù)據(jù)幀結(jié)構(gòu)定義

MAC地址:DMAC和SMAC都是6 B。

Type:以太網(wǎng)類型,2 B。

安全連接索引:用于指示安全連接通道號,2 B。

協(xié)議頭:自定義協(xié)議頭,16 B。

SN:抗重放序列號,單調(diào)遞增,4 B。

數(shù)據(jù):凈荷數(shù)據(jù)。

FCS:以太網(wǎng)CRC32計算值,4 B。

自定義數(shù)據(jù)幀中安全連接索引、協(xié)議頭和SN屬于增加的額外開銷,長度為22 B,當(dāng)數(shù)據(jù)幀發(fā)送給對端用戶子網(wǎng)時需要提前丟掉。數(shù)據(jù)發(fā)送與接收處理流程如下:本地網(wǎng)絡(luò)數(shù)據(jù)需要發(fā)送到對端網(wǎng)絡(luò)時,按照圖2的數(shù)據(jù)幀格式封裝好后傳輸?shù)骄€路上;對端接收數(shù)據(jù),進行合法性判斷和抗重放解析后,正確的數(shù)據(jù)包去掉自定義封裝數(shù)據(jù)字段,再發(fā)送給目的用戶網(wǎng)絡(luò),非法數(shù)據(jù)包直接丟棄。

2 多路安全連接抗重放方案設(shè)計

2.1 抗重放實現(xiàn)機制

每一個數(shù)據(jù)幀包含了一個唯一的序列號字段(SN),用于標(biāo)識一定時間范圍內(nèi)唯一的數(shù)據(jù)幀,具體定義如圖2所示。當(dāng)創(chuàng)建一個新的安全連接時,序列號計數(shù)器會初始化為0,每發(fā)送一個有效數(shù)據(jù)幀,發(fā)送方的序列號計數(shù)器的值加1并寫入對應(yīng)數(shù)據(jù)段。序列號是一個連續(xù)單調(diào)遞增的4 B十六進制數(shù),當(dāng)安全連接更新時,一般不超過24 h,對序列號清0重新開始計數(shù)。

網(wǎng)絡(luò)數(shù)據(jù)在經(jīng)過傳輸網(wǎng)到達目的網(wǎng)絡(luò)設(shè)備時,由于網(wǎng)絡(luò)設(shè)備內(nèi)部處理、路由轉(zhuǎn)發(fā)、數(shù)據(jù)丟包等原因,導(dǎo)致接收端數(shù)據(jù)可能存在亂序的情況,因此,需要使用滑動窗口來提高對數(shù)據(jù)亂序的容忍度。根據(jù)實際工程應(yīng)用經(jīng)驗,一般規(guī)定窗口寬度W為8,16,32,64,128等數(shù)值[3]。窗口寬度設(shè)置過大,可消耗更多存儲資源,抗重放效果增加不明顯;窗口寬度設(shè)置過小,對數(shù)據(jù)報文亂序的容忍度降低,易導(dǎo)致丟包率增加,影響到正常通信。結(jié)合本文所述網(wǎng)絡(luò)特點,窗口寬度設(shè)置為64能夠滿足使用要求。

初始化時,窗口最右側(cè)序列號為X,左邊依次為X-1,X-2,…,X-W+2,最左側(cè)序列號為X-W+1,滑動窗口工作原理[10]如圖3所示。每收到一個數(shù)據(jù)幀,接收端按如下流程進行處理:

(1)接收端提取待處理數(shù)據(jù)幀序列號SN,如果SN大于X-W+1且小于X,查詢對應(yīng)的序列號標(biāo)志位,如圖3所示。如果標(biāo)志位為0,表示從未收到過該包數(shù)據(jù),數(shù)據(jù)合法,并將標(biāo)志位置1;如果標(biāo)志位為1,表示曾收到過該數(shù)據(jù),當(dāng)前數(shù)據(jù)幀為重放包,丟棄。

圖3 滑動窗口工作原理示意圖

(2)如果待處理數(shù)據(jù)幀序列號SN小于X-W+1,表明該數(shù)據(jù)幀的序列號在窗口之外,判定該數(shù)據(jù)為重放包,丟棄。

(3)如果待處理數(shù)據(jù)幀序列號SN大于X,則計算兩者之間的差值β,如果β大于設(shè)定的窗口閾值,則判定為非法包,丟棄;反之將窗口序列號X向右偏移β,并將bit0位置1。

2.2 多路安全連接抗重放攻擊方案設(shè)計

由于單條安全連接只能實現(xiàn)兩個子網(wǎng)通信功能,無法滿足實際應(yīng)用中多個子網(wǎng)的互通需求,因此本文在已有研究基礎(chǔ)上,對多路安全連接抗重放技術(shù)進行了深入研究,設(shè)計了多路安全連接抗重放實現(xiàn)方案,并通過實驗對方案進行驗證。

每一個數(shù)據(jù)幀包含了一個安全連接索引,用于標(biāo)識該數(shù)據(jù)幀歸屬的安全連接通信數(shù)據(jù),具體定義如圖2所示,安全連接索引長度為2 B,理論上能夠支持建立215-1=65 535條安全連接。通過安全連接索引,能夠解析出并發(fā)數(shù)據(jù)流各條網(wǎng)絡(luò)數(shù)據(jù),提取數(shù)據(jù)序列號,從而實現(xiàn)多條安全連接抗重放攻擊檢測。

多路安全連接抗重放方案設(shè)計如圖4所示,主要功能模塊包括數(shù)據(jù)處理、調(diào)度管理、序列號緩存、抗重放判決等。數(shù)據(jù)處理模塊完成以太網(wǎng)入口數(shù)據(jù)預(yù)處理,根據(jù)安全連接索引分離出各安全連接的有效數(shù)據(jù)幀;調(diào)度管理模塊輪詢訪問輸入的數(shù)據(jù)緩存,并提取序列號,完成序列號緩存管理控制;抗重放判決模塊根據(jù)輸入的序列號,完成合法性判斷,輸出有效數(shù)據(jù)。

圖4 多路安全連接抗重放實現(xiàn)方案圖

2.3 多路安全連接抗重放工作流程

網(wǎng)絡(luò)設(shè)備在創(chuàng)建多條新的安全連接時,每條連接產(chǎn)生獨立的序列號SN,并進行控制管理,發(fā)送方向序列號產(chǎn)生機制如圖5所示,數(shù)據(jù)處理流程如下:

圖5 發(fā)送方向序列號產(chǎn)生流程

(1)設(shè)備接收子網(wǎng)待處理數(shù)據(jù)幀,提取安全連接索引。

(2)根據(jù)地址映射表,產(chǎn)生該連接對應(yīng)的序列號SN緩存讀地址。

(3)讀取序列號SN后,執(zhí)行+1運算后輸出給數(shù)據(jù)發(fā)送模塊,按照自定義數(shù)據(jù)幀格式封裝SN,發(fā)送到網(wǎng)絡(luò)中;同時執(zhí)行原地址回寫操作,將更新后的SN寫回緩存,為下一幀數(shù)據(jù)處理做準(zhǔn)備。

(4)完成數(shù)據(jù)處理后,狀態(tài)機回到開始狀態(tài),等待處理下一路數(shù)據(jù)幀。

從網(wǎng)絡(luò)設(shè)備接收的以太網(wǎng)數(shù)據(jù)分離出各安全連接獨立的數(shù)據(jù)幀,多路數(shù)據(jù)抗重放工作流程如圖6所示,詳細處理流程如下:

圖6 抗重放工作流程圖

(1)設(shè)備接收網(wǎng)絡(luò)數(shù)據(jù),提取各路數(shù)據(jù)的安全連接索引和序列號SN,寫入寄存器。

(2)根據(jù)序列號SN和窗口標(biāo)志狀態(tài)位緩存地址映射規(guī)則,產(chǎn)生緩存讀地址,讀取該連接存儲的上一幀數(shù)據(jù)的序列號SN和對應(yīng)的窗口標(biāo)志狀態(tài)位。

(3)將待處理數(shù)據(jù)幀的序列號SN_new與緩存的序列號SN_old比較,進行合法性判斷。如果SN_old-SN_new≤64,表示待處理數(shù)據(jù)幀序列號在窗口范圍內(nèi),查詢對應(yīng)的窗口狀態(tài)標(biāo)志位,如果標(biāo)志位為0,表示從未收到過該包數(shù)據(jù),數(shù)據(jù)合法,并將標(biāo)志位置1;如果標(biāo)志位為1,表示曾收到過該數(shù)據(jù),當(dāng)前數(shù)據(jù)幀為重放包,丟棄。如果SN_old-SN_new>64,表示待處理數(shù)據(jù)幀序列號在窗口范圍外,直接丟棄。如果SN_new>SN_old,計算兩者之間的差值β,如果β大于設(shè)定的窗口閾值,則判定為非法包,丟棄;反之將窗口序列號X向右偏移β,同步更新窗口狀態(tài)位信息。

(4)完成數(shù)據(jù)幀抗重放合法性判決后,輸出正確的數(shù)據(jù),重放的數(shù)據(jù)則丟棄,并將更新后的序列號和狀態(tài)標(biāo)識原地址寫回緩存。

(5)完成數(shù)據(jù)處理后,狀態(tài)機開始處理下一路數(shù)據(jù)幀。

3 FPGA實現(xiàn)

3.1 序列號和窗口狀態(tài)緩存結(jié)構(gòu)

對于存儲序列號和窗口狀態(tài)的緩存結(jié)構(gòu),在FPGA中使用雙口RAM來實現(xiàn)。雙口RAM擁有獨立的讀寫地址、數(shù)據(jù)和控制信號,讀寫操作互不影響,通過采用狀態(tài)機方式,能夠保證讀寫信號時序正確。以序列號SN緩存為例,緩存具體實現(xiàn)結(jié)構(gòu)如下:

3.2 抗重放功能模塊主要代碼實現(xiàn)

抗重放功能模塊主要實現(xiàn)窗口計算,完成窗口狀態(tài)判斷,并輸出數(shù)據(jù)抗重放檢測結(jié)果。在FPGA中只需要1個時鐘完成上述所有功能,大大提高了數(shù)據(jù)吞吐率??怪胤殴δ苣K的主要代碼實現(xiàn)如下:

3.3 窗口滑動模塊主要代碼實現(xiàn)

窗口滑動模塊主要完成窗口狀態(tài)位更新,F(xiàn)PGA主要源代碼實現(xiàn)如下:

4 測試結(jié)果

4.1 多路安全連接互通測試

為驗證本設(shè)計的正確性,開展了實際的工程應(yīng)用測試。兩臺網(wǎng)絡(luò)設(shè)備模擬建立了四條安全連接,使用IXIA公司的XGS2以太網(wǎng)測試儀雙向同時發(fā)送8組數(shù)據(jù)流,即每條安全連接配置2條流,數(shù)據(jù)幀長度為1 024 B,速率設(shè)置為1 Gb/s,總數(shù)據(jù)吞吐量達到8 Gb/s,測試結(jié)果如圖7所示。

圖7 多路安全連接通信測試結(jié)果圖

從測試結(jié)果可以看出,收發(fā)數(shù)據(jù)幀計數(shù)(Tx Frames Rates和Rx Frames Rates)是一致的,丟包計數(shù)為0,說明安全連接工作正常,8條數(shù)據(jù)流通信正常,沒有功能缺陷和數(shù)據(jù)丟失問題發(fā)生。

4.2 多路安全連接抗重放攻擊測試

為驗證多路安全連接抗重放攻擊檢測的正確性,以4路安全連接抗重放攻擊測試為例,開展抗重放攻擊檢測實驗。使用信而泰公司以太網(wǎng)測試儀bigtao 220作為抗重放測試儀器,該儀器能夠抓取線路上的數(shù)據(jù)包,再重放到線路上發(fā)送給接收端,通過查看測試儀的收發(fā)兩端計數(shù),驗證測試結(jié)果是否符合預(yù)期。4路安全連接抗重放攻擊測試結(jié)果如圖8所示。

圖8 抗重放測試結(jié)果圖

從圖8可以看出,發(fā)送端口發(fā)送了8條流,每條流發(fā)送100 000個數(shù)據(jù)包,接收端口接收數(shù)據(jù)數(shù)量為0,線路丟包100 000個,說明序列號重復(fù)的數(shù)據(jù)包為非法數(shù)據(jù),全部被丟棄,多路安全連接抗重放攻擊功能正常,同時在受到外部攻擊情況下,網(wǎng)絡(luò)設(shè)備仍然能正常工作。

5 結(jié)論

本文結(jié)合工程應(yīng)用實踐,針對多個子網(wǎng)安全互通需求,深入分析了抗重放技術(shù)實現(xiàn)機制,設(shè)計了多路安全連接抗重放技術(shù)實現(xiàn)方案,并給出了測試結(jié)果,符合設(shè)計預(yù)期。通過與同類設(shè)計相比,本文創(chuàng)造性提出使用FPGA作為硬件平臺的設(shè)計方案能夠支持多路安全連接抗重放功能,具備高并發(fā)通信能力,實現(xiàn)協(xié)議簡單,處理效率高,并有較好的可拓展性。

猜你喜歡
待處理序列號子網(wǎng)
一種簡單子網(wǎng)劃分方法及教學(xué)案例*
計算機時代(2023年1期)2023-01-30 04:08:22
財產(chǎn)清查結(jié)果的賬務(wù)處理
子網(wǎng)劃分問題研究及應(yīng)用
recALL
“待處理”事項在科學(xué)事業(yè)單位的核算探討
會計之友(2018年4期)2018-02-02 22:05:21
政府會計核算中待處理財產(chǎn)損溢賬戶應(yīng)用探究
子網(wǎng)劃分的簡易方法
無法收回的房租押金,應(yīng)怎樣進行賬務(wù)處理
基于安全協(xié)議的虛擬專用子網(wǎng)研究
河南科技(2014年16期)2014-02-27 14:13:04
PP助手教你辨別翻新iPhone5小白不再中招
衡南县| 新龙县| 张家口市| 东阿县| 富阳市| 且末县| 灌阳县| 高碑店市| 澄江县| 武邑县| 哈尔滨市| 施甸县| 阿克苏市| 襄汾县| 丹寨县| 英吉沙县| 融水| 绥棱县| 阜宁县| 乌拉特中旗| 普定县| 江北区| 桂平市| 米脂县| 电白县| 衡阳县| 鹤岗市| 龙山县| 荥阳市| 四子王旗| 保亭| 临澧县| 巨鹿县| 佛山市| 海林市| 宜都市| 惠来县| 巩义市| 上饶市| 德清县| 高平市|