人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

老生常談重放攻擊的概念(必看篇)

發(fā)布日期:2021-12-09 07:06 | 文章來源:源碼之家

重放攻擊的概念

根據百科的解釋:重放攻擊(Replay Attacks)又稱重播攻擊、回放攻擊或新鮮性攻擊(Freshness Attacks),是指攻擊者發(fā)送一個目的主機已接收過的包,來達到欺騙系統(tǒng)的目的,主要用于身份認證過程,破壞認證的正確性。

它是一種攻擊類型,這種攻擊會不斷惡意或欺詐性地重復一個有效的數據傳輸,重放攻擊可以由發(fā)起者,也可以由攔截并重發(fā)該數據的敵方進行。攻擊者利用網絡監(jiān)聽或者其他方式盜取認證憑據,之后再把它重新發(fā)給認證服務器。從這個解釋上理解,加密可以有效防止會話劫持,但是卻防止不了重放攻擊。重放攻擊任何網絡通訊過程中都可能發(fā)生。重放攻擊是計算機世界黑客常用的攻擊方式之一,它的書面定義對不了解密碼學的人來說比較抽象。

概念性的幾個防御手段

時間戳

“時戳”──代表當前時刻的數

基本思想──A接收一個消息當且僅當其包含一個對A而言足夠接近當前時刻的時戳

原理──重放的時戳將相對遠離當前時刻

時鐘要求──通信各方的計算機時鐘保持同步

處理方式──設置大小適當的時間窗(間隔),越大越能包容網絡傳輸延時,越小越能防重放攻擊

適用性──用于非連接性的對話(在連接情形下雙方時鐘若偶然出現(xiàn)不同步,則正確的信息可能會被誤判為重放信息而丟棄,而錯誤的重放信息可能會當作最新信息而接收)

序號

通信雙方通過消息中的序列號來判斷消息的新鮮性

要求通信雙方必須事先協(xié)商一個初始序列號,并協(xié)商遞增方法

提問與應答

“現(xiàn)時”──與當前事件有關的一次性隨機數N(互不重復即可)

基本做法──期望從B獲得消息的A 事先發(fā)給B一個現(xiàn)時N,并要求B應答的消息中包含N或f(N),f是A、B預先約定的簡單函數

原理──A通過B回復的N或f(N)與自己發(fā)出是否一致來判定本次消息是不是重放的

時鐘要求──無

適用性──用于連接性的對話

重放攻擊是對協(xié)議的攻擊中危害最大、最常見的一種攻擊形式。

以登陸為例看具體的例子

常規(guī)流程

1.前端web頁面用戶輸入賬號、密碼,點擊登錄。

2.請求提交之前,web端首先通過客戶端腳本如javascript對密碼原文進行md5加密。

3.提交賬號、md5之后的密碼

4.請求提交至后端,驗證賬號與密碼是否與數據庫中的一致,一致則認為登錄成功,反之失敗。

有什么問題呢?

上述流程看似安全,認為傳輸過程中的密碼是md5之后的,即使被監(jiān)聽截取到,由于md5的不可逆性,密碼明文也不會泄露。其實不然!監(jiān)聽者無需解密出密碼明文即可登錄!監(jiān)聽者只需將監(jiān)聽到的url(如:http://****/login.do?method=login&password=md5之后的密碼&userid=登錄賬號)重放一下,即可冒充你的身份登錄系統(tǒng)。

稍微安全點的方式

1.進入登陸頁面時,生成一個隨機碼(稱之為鹽值),在客戶端頁面和session中各保存一份。

2.客戶端提交登錄請求時,將md5之后的密碼與該隨機碼拼接后,再次執(zhí)行md5,然后提交(提交的密碼=md5(md5(密碼明文)+隨機碼))。

3.后端接收到登錄請求后,將從數據庫中查詢出的密碼與session中的隨機碼拼接后,md5運算,然后與前端傳遞的結果進行比較。

為何要這樣?

該登錄方式,即使登錄請求被監(jiān)聽到,回放登錄URL,由于隨機碼不匹配(監(jiān)聽者的session中的隨機碼與被監(jiān)聽者的session中的隨機碼相同概率可忽略),無法登錄成功。

該登錄方式,由于傳輸的密碼是原密碼md5之后與隨機碼再次md5之后的結果,即使監(jiān)聽者采用暴力破解的方式,也很難解密出密碼明文。

更進一步

考慮到密碼輸入的方便性,好多用戶的密碼都設置的很短,并且不夠復雜,往往是6位數字字母組合,這樣的密碼md5之后保存到數據庫,一旦數據庫數據泄露,簡單密碼的md5結果很容易通過暴力破解的方式給解密出來,何況md5出現(xiàn)了這么多年,可能已經有不少字典了!同時為了方便用戶登錄的方便性,我們的系統(tǒng)一般不可能要求用戶設置很長、很復雜的密碼!怎么辦?加固定鹽值。1.系統(tǒng)設置一個固定的鹽值,該鹽值最好足夠復雜,如:1qaz2wsx3edc4rfv!@#$%^&qqtrtRTWDFHAJBFHAGFUAHKJFHAJHFJHAJWRFA

2.用戶注冊、修改密碼時,將用戶的原始密碼與我們的固定鹽值拼接,然后做md5運算。

3.傳遞至后端,保存進數據庫(數據庫中保存的密碼是用戶的原始密碼拼接固定鹽值后,md5運算后的結果)。

4.登錄時,將用戶的原始密碼與我們的固定鹽值進行拼接,然后做md5運算,運算后的結果再拼接上我們的隨機碼,再次md5運算,然后提交。

5.后端接收到登錄請求后,將從數據庫中查詢出的密碼與session中的隨機碼拼接后,md5運算,然后與前端傳遞的結果進行比較。

再再進一步

1.加登錄驗證碼,可預防人為地暴力登錄破解

2.賬戶鎖定,如果用戶密碼輸入錯誤次數達到一定量后(如6次),則可以鎖定該賬號

以上這篇老生常談重放攻擊的概念(必看篇)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持本站。

版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網友推薦、互聯(lián)網收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。

相關文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務

7x24全年不間斷在線

專屬顧問服務

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務熱線

關注
微信

關注官方微信
頂部