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

?

一種防止重放攻擊的設(shè)計方案

2022-03-23 01:35馬俊明
關(guān)鍵詞:序列號接收端數(shù)據(jù)包

◆馬俊明

一種防止重放攻擊的設(shè)計方案

◆馬俊明

(中電科鵬躍電子科技有限公司 山西 030028)

為解決關(guān)鍵信息基礎(chǔ)設(shè)施通訊網(wǎng)絡(luò)中重放攻擊的嚴(yán)重危害的問題,本文研究分析了常用防重放攻擊方法,針對常用防重放攻擊實施方案的弱點,提出一種低成本、高效率且易于實現(xiàn)的防止重放攻擊的解決方案。設(shè)計方案特點:巧妙利用時鐘信號遞增性解決流水號問題;實施傳輸數(shù)據(jù)加密及數(shù)據(jù)按功能包分組提升通信系統(tǒng)的抗網(wǎng)絡(luò)攻擊性。

重放攻擊;時間戳;流水號;關(guān)鍵信息基礎(chǔ)設(shè)施;混合加密

重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊或新鮮性攻擊(Freshness Attacks),是指攻擊者發(fā)送一個目的主機已接收過的包,來達(dá)到欺騙系統(tǒng)的目的,重放攻擊在任何網(wǎng)絡(luò)通訊過程中都可能發(fā)生,尤其在關(guān)鍵信息基礎(chǔ)設(shè)施[1-2](Critical Information Infrastructure)通訊網(wǎng)絡(luò)中重放攻擊的危害巨大。

通信系統(tǒng)為保護數(shù)據(jù)的安全性,通用做法是使用加密傳輸,數(shù)據(jù)加密可有效防止數(shù)據(jù)被竊密、篡改和偽造,然而如果系統(tǒng)不能鑒別重發(fā)的數(shù)據(jù)包,尤其是該重發(fā)數(shù)據(jù)包具備獨立的功能(如:一條指令或一個交易)時,重放攻擊就會使攻擊者在無需解密數(shù)據(jù)的情況下達(dá)到攻擊破壞的目的。

1 相關(guān)工作

在通信系統(tǒng)中防御重放攻擊的主要方法有:在通信過程中加時間戳、加序列(流水)號加隨機數(shù)等,實際應(yīng)用中常將加隨機數(shù)和加時間戳的兩種方法組合使用,除此之外還可以使用挑戰(zhàn)/應(yīng)答機制和一次性口令機制。下面對這幾種防御方法進行簡單介紹。

1.1 加時間戳

加時間戳:“時戳”代表當(dāng)前時刻的數(shù),數(shù)據(jù)傳輸時在關(guān)鍵消息內(nèi)加入時間戳來保證消息的時鮮性。只有當(dāng)消息的時戳與本地時間差值在一定范圍內(nèi)時,接收方才接收這條消息。該方法優(yōu)點是不用額外保存其他信息,缺點是通信雙方需要有嚴(yán)格的時間同步[3],同步越好,受攻擊的可能性就越小。但當(dāng)系統(tǒng)很龐大,跨越的區(qū)域較廣時,要做到精確的時間同步并不是很容易,此外時間戳失效時間間隔內(nèi)的重放攻擊無法防御。

1.2 加序列(流水)號

加序列號:數(shù)據(jù)傳輸時在每條消息中添加序列號,通信雙方通過消息中的序列號來判斷消息的新鮮性。要求通信雙方必須事先協(xié)商一個初始序列號,并協(xié)商遞增方法。通訊中只要接收到一個不連續(xù)的序列號報文,就認(rèn)定有重放威脅。該方法優(yōu)點是不需要時間同步,保存的信息量比隨機數(shù)方式小。缺點是一旦攻擊者對報文解密成功,就可以獲得序列水號,從而每次將序列號遞增來欺騙認(rèn)證端[4]。

1.3 加隨機數(shù)

加隨機數(shù):數(shù)據(jù)傳輸時在每條消息中添加隨機數(shù),通信雙方通過消息中的隨機數(shù)來判斷消息的新鮮性。該方法優(yōu)點是認(rèn)證雙方不需要時間同步,雙方記住使用過的隨機數(shù),如發(fā)現(xiàn)報文中有以前使用過的隨機數(shù),就認(rèn)為是重放攻擊。缺點是需要額外保存使用過的隨機數(shù),若記錄的時間段較長,則保存和查詢的開銷較大,同時隨機數(shù)也可能出現(xiàn)重復(fù)的概率。

1.4 其他

挑戰(zhàn)/應(yīng)答:每次數(shù)據(jù)傳輸時時,發(fā)送端都給接收端發(fā)送一個不同的“挑戰(zhàn)”字串,接收端收到這個“挑戰(zhàn)”字串后,做出相應(yīng)的“應(yīng)答”。

一次性口令:每次數(shù)據(jù)傳輸時時,發(fā)送端都給接收端發(fā)送一個不同的“口令”,通信雙方通過消息中的口令來判斷消息的新鮮性。

挑戰(zhàn)/應(yīng)答和一次性口令都具有良好的防御性,但計算成本及實施復(fù)雜度都比較高[5]。

2 設(shè)計思路

基于以上幾種防重放攻擊方案的優(yōu)缺點的研究分析,有必要設(shè)計一款簡單、高效、易操作的防重放攻擊解決方案。

2.1 新鮮性

防重放攻擊首先要考慮的是傳輸數(shù)據(jù)包的唯一性,這一點主要的操作是加序列號和隨機數(shù),但加序列號方法要求通信雙方必須事先協(xié)商一個初始序列號,增加了傳輸會話次數(shù),而加隨機數(shù)方法,系統(tǒng)需有隨機數(shù)發(fā)生器裝置等。

本方案設(shè)計巧妙利用了發(fā)送端系統(tǒng)時鐘信號的遞增變化性,并且時鐘值在通信期間遞增唯一性,設(shè)計方案采用發(fā)送時發(fā)送端的系統(tǒng)時鐘值為初始序列號,并在發(fā)送包中單依次遞增,保證每個數(shù)據(jù)包的新鮮性,同時序列號與接收端,這樣通信雙方無需系統(tǒng)進行時間同步。

2.2 安全性

為解決關(guān)鍵信息基礎(chǔ)設(shè)施通訊網(wǎng)絡(luò)中重放攻擊的嚴(yán)重危害的問題,通信系統(tǒng)設(shè)計可采用國產(chǎn)加密算法對數(shù)據(jù)進行加密傳輸。

通信雙方數(shù)據(jù)傳輸設(shè)計采用混合加密[6]方式進行安全通信,其中身份認(rèn)證和密鑰協(xié)商使用非對稱加密算法(如:SM2,SM9等),主數(shù)據(jù)傳輸使用對稱加密算法SM4,此外為增強安全性,設(shè)計方案對通信數(shù)據(jù)包按數(shù)據(jù)功能進行分包發(fā)送并添加功能包標(biāo)記。

3 設(shè)計方案

3.1 系統(tǒng)結(jié)構(gòu)

本方案按通信系統(tǒng)最小組成設(shè)計,實際應(yīng)用中通信系統(tǒng)可以是一對多或多對多傳輸方式。本方案通信系統(tǒng)設(shè)計由一個發(fā)送端和一個接收端及其相連接的網(wǎng)絡(luò)組成,發(fā)送端和接收端功能結(jié)構(gòu)示意圖如圖1所示,發(fā)送端與接收端都具備處理器、時鐘、存儲器、輸入輸出接口等必要功能模塊。

圖1 發(fā)送端和接收端功能結(jié)構(gòu)示意圖

設(shè)計方案要求發(fā)送端程序有讀取發(fā)送端時鐘的功能,且發(fā)送端時鐘在工作期間保持正常運行,即時鐘值一直在遞增且不需與對方進行時鐘同步,時鐘值最小單位不高于1秒。

3.2 通信包設(shè)計(時序-數(shù)據(jù)包頭結(jié)構(gòu))

發(fā)送端與接收端雙方通訊采用混合加密方式進行安全通信,數(shù)據(jù)傳輸時數(shù)據(jù)按數(shù)據(jù)功能進行分包。

數(shù)據(jù)包設(shè)計分為三大類:身份認(rèn)證數(shù)據(jù)包、密鑰協(xié)商數(shù)據(jù)包、加密數(shù)據(jù)包,其中加密數(shù)據(jù)包應(yīng)按具體業(yè)務(wù)功能進行進一步分包處理。

通信系統(tǒng)數(shù)據(jù)包傳輸時間序列圖如圖2所示。

圖2 通信系統(tǒng)數(shù)據(jù)包傳輸時間序列圖

數(shù)據(jù)通信時間軸定義為:從左到右、自上而下。圖2中k、m、n均為自然數(shù),從圖2可看出單次身份認(rèn)證有效期t1≈m*t2(忽略單次認(rèn)證時間),單次對稱密鑰有效期為t2≈n*t3(忽略單次密鑰協(xié)商時間),其中t3為單個細(xì)分功能的加密數(shù)據(jù)包的數(shù)據(jù)發(fā)送時間。眾所周知,密鑰有效期越長、使用越頻繁其安全性越低,但密鑰有效期太短使得系統(tǒng)通信效率大大降低。通過合理調(diào)整單次身份認(rèn)證中密鑰協(xié)商的次數(shù)m和單次對稱密鑰傳輸時加密數(shù)據(jù)包的數(shù)量n來平衡系統(tǒng)的安全與效率。

3.3 新數(shù)據(jù)包頭設(shè)計

為確保系統(tǒng)不受重放攻擊,就得保證每個數(shù)據(jù)功能包的唯一性。為此本方案對數(shù)據(jù)包進行了功能分包和增加了新的數(shù)據(jù)包包頭設(shè)計。

新數(shù)據(jù)包包頭是在原數(shù)據(jù)包頭部增加6字節(jié)(48bit),新數(shù)據(jù)包包頭結(jié)構(gòu)如圖3所示。

圖3 數(shù)據(jù)包包頭結(jié)構(gòu)

數(shù)據(jù)包第1-32bit為發(fā)送方時鐘值,第33-40bit為同次認(rèn)證時間段內(nèi)密鑰協(xié)商包序號(1-255),第41-48bit為相同對稱密鑰傳輸時加密數(shù)據(jù)包序號(1-255)。實際應(yīng)用中可靈活調(diào)節(jié)后16比特,即調(diào)節(jié)m、n且滿足m*n<65535。

系統(tǒng)每次進行身份認(rèn)證時,發(fā)送端需讀取發(fā)送端時鐘,由于實際應(yīng)用中系統(tǒng)身份認(rèn)證間隔遠(yuǎn)大于1秒,從而保證新數(shù)據(jù)包包頭字段的唯一性。

新數(shù)據(jù)包頭具體填充數(shù)據(jù)方法如下:

(1)身份認(rèn)證數(shù)據(jù)包:發(fā)送端在每次身份認(rèn)證前讀取發(fā)送端時鐘,時鐘格式轉(zhuǎn)化為長整型32比特(時鐘精確最小單位為秒即可),填充前32位,后16位全填充0。

(2)密鑰協(xié)商數(shù)據(jù)包:使用當(dāng)此身份認(rèn)證時鐘填充前32位,第32-40,填充密鑰協(xié)商包序列號從1開始每次加1,后8位全填充0。

(3)數(shù)據(jù)包(11-1n):使用密鑰協(xié)商數(shù)據(jù)包前40位填充前40位,第41-48,填充數(shù)據(jù)包序列號從1開始每次加1。

3.4 數(shù)據(jù)發(fā)送流程

通信分包發(fā)送過程描述如下(其中k、m、n為自然數(shù)):

身份認(rèn)證1、{[密鑰協(xié)商1、(數(shù)據(jù)包11、數(shù)據(jù)包12…數(shù)據(jù)包1n)],[密鑰協(xié)商2、(數(shù)據(jù)包21、數(shù)據(jù)包22…數(shù)據(jù)包2n)]…,[密鑰協(xié)商m、(數(shù)據(jù)包m1、數(shù)據(jù)包m2…數(shù)據(jù)包mn)]},

身份認(rèn)證2、{[密鑰協(xié)商1、(數(shù)據(jù)包11、數(shù)據(jù)包12…數(shù)據(jù)包1n)],[密鑰協(xié)商2、(數(shù)據(jù)包21、數(shù)據(jù)包22…數(shù)據(jù)包2n)]…,[密鑰協(xié)商m、(數(shù)據(jù)包m1、數(shù)據(jù)包m2…數(shù)據(jù)包mn)]},

…,

身份認(rèn)證k、{[密鑰協(xié)商1、(數(shù)據(jù)包11、數(shù)據(jù)包12…數(shù)據(jù)包1n)],[密鑰協(xié)商2、(數(shù)據(jù)包21、數(shù)據(jù)包22…數(shù)據(jù)包2n)]…,[密鑰協(xié)商m、(數(shù)據(jù)包m1、數(shù)據(jù)包m2…數(shù)據(jù)包mn)]}…。

以單次認(rèn)證描述本方案中的系統(tǒng)周期(設(shè)定,身份認(rèn)證1的有效期為t1,密鑰協(xié)商1(即對稱密鑰1)的有效期時間為t2,單個數(shù)據(jù)包加密通信的時間為t3,參考圖1可知t1≈m*t2≈m*n*t3,實際通信時t1遠(yuǎn)大于1秒。

單次數(shù)據(jù)傳輸按數(shù)據(jù)功能分包有:身份認(rèn)證數(shù)據(jù)包、密鑰協(xié)商數(shù)據(jù)包1、數(shù)據(jù)包11、數(shù)據(jù)包12、…數(shù)據(jù)包1n,密鑰協(xié)商數(shù)據(jù)包2、數(shù)據(jù)包21、數(shù)據(jù)包22、…數(shù)據(jù)包2n,…,密鑰協(xié)商數(shù)據(jù)包n、數(shù)據(jù)包m1、數(shù)據(jù)包m2…數(shù)據(jù)包mn。

本方案使用m、n的閾值根據(jù)實際情況調(diào)整,閾值越小安全系數(shù)越高但同時效率會下降。兼顧效率與安全,選取m、n的閾值均為255。

3.5 數(shù)據(jù)接收及防重放檢測流程

接收端順序接收數(shù)據(jù),并按如下流程進行防重放攻擊檢測。數(shù)據(jù)接收及防重放攻擊檢測的方法和流程圖如圖4所示。

數(shù)據(jù)接收及防重放檢測流程具體操作步驟如下:

(1)接收端存儲器初始化設(shè)置兩臨時變量長整型T0=0,整型X0=0。

(2)接收端接收數(shù)據(jù)包,逐包進行處理,每包處理流程同下。

(3)解密操作后讀取數(shù)據(jù)包頭,即包頭前6個字節(jié)(48bit)。

(4)將接收到的前32bit轉(zhuǎn)換為長整型數(shù)值T1,后16bit轉(zhuǎn)換位整型數(shù)值X1。

(5)首先比較T0和T1,“Y”時(即T0>T1)判斷為重放包數(shù)據(jù),做丟棄包處理,然后返回下一包數(shù)據(jù)處理流程(即步驟2);“N”時順序執(zhí)行下一步。

(6)首先比較T0和T1,“Y”時(即T0

(7)此時T0=T1,比較X0和X1,“Y”時(即X0>=X1)時判斷為重放包數(shù)據(jù),做丟棄包處理,然后返回下一包數(shù)據(jù)處理流程(即步驟2);“N”時順序執(zhí)行下一步。

(8)此時X0

(9)進入正常數(shù)據(jù)處理流程。

(10)判斷通信是否結(jié)束,“N”時,轉(zhuǎn)入下一包處理流程(即步驟2);“Y”時,順序執(zhí)行下一步。

(11)結(jié)束通信。

通過以上設(shè)計方案,在接收數(shù)據(jù)包時通過分析數(shù)據(jù)包頭來判斷是否發(fā)生重放攻擊,從而提升了通信系統(tǒng)的安全性。

4 結(jié)束語

文章方案適合于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域大多數(shù)通信場景,使用本方案對現(xiàn)有通信系統(tǒng)進行混合加密傳輸及抗重放攻擊安全改造實施,不需更改現(xiàn)有系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu),部署方便易于管理且能滿足安全等保合規(guī)要求。此外,本設(shè)計方案對解決關(guān)鍵信息基礎(chǔ)設(shè)施抵抗網(wǎng)絡(luò)攻擊特別是重放攻擊方面有著非常好的參考價值及應(yīng)用前景。

圖4 數(shù)據(jù)接收及防重放檢測流程圖

[1]董曉峰,馬建新,彭立,等. 核電站DCS中抵御UDP重放攻擊的研究[J]. 工業(yè)控制計算機,2020,33(5):3.

[2]王航,張帥,杜君,等. 工控系統(tǒng)認(rèn)證繞過漏洞實證分析[J]. 網(wǎng)絡(luò)空間安全,2018,97(03):13-18.

[3]陳建熊,孫樂昌. 認(rèn)證測試對分析重放攻擊的缺陷[J]. 計算機應(yīng)用研究,2009(02):739-741.

[4]肖斌斌,徐雨明. 基于雙重驗證的抗重放攻擊方案[J]. 計算機工程,2017,43(005):115-120,128.

[5]張宏,陳志剛. 一種新型一次性口令身份認(rèn)證方案的設(shè)計與分析[J]. 計算機工程,2004,30(017):112-113,185.

[6]伍娟. 基于國密SM4和SM2的混合密碼算法研究與實現(xiàn)[J]. 軟件導(dǎo)刊,2013(8):127-130.

猜你喜歡
序列號接收端數(shù)據(jù)包
二維隱蔽時間信道構(gòu)建的研究*
基于擾動觀察法的光通信接收端優(yōu)化策略
基于多接收線圈的無線電能傳輸系統(tǒng)優(yōu)化研究
一種離線電子錢包交易的雙向容錯控制方法
民用飛機飛行模擬機數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
一種控制器硬件序列號的更新方法
手機無線充電收發(fā)設(shè)計
關(guān)于《國家稅務(wù)總局 工業(yè)和信息化部關(guān)于加強車輛配置序列號管理有關(guān)事項的公告》的解讀
C#串口高效可靠的接收方案設(shè)計
電視電子節(jié)目指南的原理及實現(xiàn)方法
丹棱县| 无为县| 嘉义县| 韩城市| 大英县| 启东市| 富蕴县| 涪陵区| 保定市| 弥渡县| 镇江市| 中西区| 临夏市| 河池市| 报价| 敖汉旗| 沙洋县| 巴东县| 乡城县| 白河县| 双流县| 开平市| 浮梁县| 常州市| 石嘴山市| 囊谦县| 乌鲁木齐县| 葵青区| 武陟县| 邢台市| 腾冲县| 清丰县| 达尔| 金乡县| 苏州市| 凤翔县| 河间市| 孝昌县| 聊城市| 揭东县| 镇坪县|