nonce 避免重放攻擊

一:什么是nonce

維基百科:安全工程中秘蛇,Nonce是一個在加密通信只能使用一次的數(shù)字传于。在認證協(xié)議中讹躯,它往往是一個隨機偽隨機數(shù)菩彬,以避免重放攻擊

二:舉例說明

一個典型的基于 nonce 的驗證協(xié)議如下:

這里的 cnonce 為 client nonce(后面將討論為什么需要 cnonce)潮梯。Client 并不直接發(fā)送密碼(或者密碼直接加密后的密文)用以避免攻擊者直接竊取密碼(或者密碼直接加密后的密文)并冒充用戶進行身份驗證骗灶。

先不考慮 Client nonce。Server 首先發(fā)送 nonce 到 Client秉馏,Client 將密碼和 nonce 通過 hash 運算再提交到 Server 進行身份驗證耙旦,這樣我們可以認為(而非絕對)每次用于身份驗證的 hash 值都不相同,即使攻擊者竊取了前一次用于身份驗證的 hash 值也無法冒充用戶進行登錄萝究。公式如下:

A = Hash(nonce, password)

在不安全的網(wǎng)絡環(huán)境中免都,A、nonce帆竹、Hash 算法都可以被攻擊者獲取绕娘,如果能夠滿足以下條件:

nonce 僅僅被使用一次

Hash 運算不出現(xiàn)沖突

攻擊者則在理論上無法實施 Replay attack。 因此 nonce 在特定上下文中僅僅被使用一次以及 Hash 算法盡量避免沖突是安全的關鍵栽连。為了確保 nonce 在特定上下文中僅僅被使用一次险领,可以使用以下策略生成 nonce:

nonce 可以是一個時間相關變量

nonce 可以是一個通過足夠隨機算法生成的足夠長的 bits

以上算法難以避免攻擊者使用字典進行密碼破解侨舆。其中一個可行的方法為:攻擊者可以截取?A = Hash(nonce, password) 中的 A、nonce绢陌,然后通過字典破解用戶的密碼 password挨下。不過破解的過程是很耗時的,使用一個中等規(guī)模的集群(medium-scale cluster)可能需要數(shù)周)下面,如果期望破解成千上萬用戶的密碼复颈,那么將消耗極大量的時間。

如果攻擊者能夠構建一個預計算的表(例如Rainbow tables)那么破解大量用戶密碼的時間將大大縮短沥割。nonce 阻止了預計算表的生成(因為 Server nonce 每次都不相同)耗啦,但是如果網(wǎng)絡中傳輸?shù)臄?shù)據(jù)能被篡改,情況就不一樣了机杜。假定攻擊者偽造一個固定的 nonce 發(fā)送給網(wǎng)絡中的 Clients 并且記錄 nonce 和 Clients 的回應(Hash(nonce, password))帜讲,由于 nonce 為一個固定值,那么攻擊者就可以構造一個預計算的表椒拗,此表使用此固定的 nonce似将。通過此表即可大大縮短破解用戶密碼的時間了。

為了避免攻擊者通過以上手段構建預計算的表蚀苛。在 Client 也引入了一個 nonce在验。這樣,每次都不同的 cnonce 防止了預計算表的生成堵未。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末腋舌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渗蟹,更是在濱河造成了極大的恐慌块饺,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雌芽,死亡現(xiàn)場離奇詭異授艰,居然都是意外死亡,警方通過查閱死者的電腦和手機世落,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門淮腾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人屉佳,你說我怎么就攤上這事来破。” “怎么了忘古?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诅诱。 經(jīng)常有香客問我髓堪,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任干旁,我火速辦了婚禮驶沼,結果婚禮上,老公的妹妹穿的比我還像新娘争群。我一直安慰自己回怜,他們只是感情好,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布换薄。 她就那樣靜靜地躺著玉雾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轻要。 梳的紋絲不亂的頭發(fā)上复旬,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音冲泥,去河邊找鬼驹碍。 笑死,一個胖子當著我的面吹牛凡恍,可吹牛的內容都是我干的志秃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼嚼酝,長吁一口氣:“原來是場噩夢啊……” “哼浮还!你這毒婦竟也來了?” 一聲冷哼從身側響起革半,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤碑定,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后又官,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體延刘,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年六敬,在試婚紗的時候發(fā)現(xiàn)自己被綠了碘赖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡外构,死狀恐怖普泡,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情审编,我是刑警寧澤撼班,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站垒酬,受9級特大地震影響砰嘁,放射性物質發(fā)生泄漏件炉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丽惶,春花似錦、人聲如沸磕蛇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秀撇。三九已至,卻和暖如春橘洞,著一層夾襖步出監(jiān)牢的瞬間捌袜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工炸枣, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虏等,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓适肠,卻偏偏與公主長得像霍衫,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子侯养,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理敦跌,服務發(fā)現(xiàn),斷路器逛揩,智...
    卡卡羅2017閱讀 134,672評論 18 139
  • 第八章 密碼攻擊 作者:Willie L. Pritchett, David De Smet 譯者:飛龍 協(xié)議:C...
    布客飛龍閱讀 5,240評論 0 56
  • 本文是Medusa和Hydra快速入門手冊的第二部分柠傍,第一部分的傳送門這兩篇也是后續(xù)爆破篇的一部分,至于字典辩稽,放在...
    LinuxSelf閱讀 2,856評論 0 4
  • 今夜應無人,悄悄風雨中喷众。 鼾聲尤斷續(xù)各谚,夢境照乾坤。 步履占濕重到千,肩寬挑漢夫昌渤。 明明小女子,奈何遇不淑憔四。
    撲忒閱讀 192評論 1 1
  • 2015.05.23 廣州 暴雨 今天開始了項目最后一個重要的實驗愈涩,心里的大石頭算是落了一半望抽,希望能做出來我想要的...
    楠ancy閱讀 476評論 0 1