日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

重復(fù)性攻擊保護(hù)的HMAC-MD5 IP 認(rèn)證( 二 )


MD5產(chǎn)生一個(gè)128位的散列值用作認(rèn)證數(shù)據(jù),它自然的64位一行,這樣對(duì)那些雙字長(zhǎng)的機(jī)器
就不需要任何的補(bǔ)位 。
2.數(shù)據(jù)包格式
--------------- --------------- --------------- ---------------
NextHeaderLengthRESERVED
--------------- --------------- --------------- ---------------
SPI
--------------- --------------- --------------- ---------------
ReplayPrevention
--------------- --------------- --------------- ---------------
AuthenticationData
--------------- --------------- --------------- ---------------
12345678123456781234567812345678
NextHeader(下個(gè)報(bào)頭),RESERVED(保留),和SPI(安全參數(shù)索引)字段在[RFC-1826]中講
述了 。Length(長(zhǎng)度)字段是ReplayPrevention(重復(fù)防護(hù))字段和32位字的認(rèn)證數(shù)據(jù)的長(zhǎng)度 。
2.1重復(fù)攻擊防護(hù)
ReplayPrevention(重復(fù)攻擊)字段是一個(gè)64位的字段,用以確保通訊雙方交換的每個(gè)數(shù)據(jù)包
沒(méi)有重復(fù),每一個(gè)IPsec安全協(xié)會(huì)指定自己協(xié)會(huì)中是否使用重復(fù)性攻擊防護(hù),假如不用,那么
AuthenticationData(認(rèn)證數(shù)據(jù))字段將直接跟在SPI字段后面 。ReplayPrevention字段是一個(gè)以1
開(kāi)頭的加法計(jì)數(shù)器 。
共享密鑰不能用太長(zhǎng)的時(shí)間以至于計(jì)數(shù)器超值,也就是使用同一個(gè)密鑰傳輸?shù)某^(guò)2^64個(gè)數(shù)
據(jù)包,接收時(shí),重復(fù)值會(huì)增長(zhǎng),應(yīng)用程序可能會(huì)收到的雜亂的包,雜亂包的數(shù)量是一個(gè)應(yīng)用細(xì)節(jié),
假如支持“雜亂窗口”,應(yīng)用程序會(huì)確定所有的包以前沒(méi)有收到過(guò),也就是,應(yīng)用程序最多只會(huì)收
到一次數(shù)據(jù)包 。
當(dāng)目的地址是多點(diǎn)傳送地址時(shí),重復(fù)性攻擊防護(hù)在使用,對(duì)此多點(diǎn)傳送地址不只一個(gè)遵循同一
個(gè)IPsec安全協(xié)會(huì)規(guī)定的發(fā)送者,那么重復(fù)性攻擊保護(hù)功能就不應(yīng)該(SHOULDNOT)激活,在此
情況下假如要求重復(fù)性攻擊保護(hù),每個(gè)發(fā)送者應(yīng)該有他自己的IPsec安全聯(lián)盟 。
[ESP-DES-MD5]中提供了一個(gè)執(zhí)行32位包的重復(fù)窗口的例子的代碼,并提供了展示了工作流
程 。
2.2認(rèn)證數(shù)據(jù)計(jì)算
認(rèn)證數(shù)據(jù)是認(rèn)證算法(MD5)的輸出值,此值是在整個(gè)IP數(shù)據(jù)報(bào)上計(jì)算的結(jié)果,數(shù)據(jù)報(bào)在轉(zhuǎn)
變中可變的字段和認(rèn)證數(shù)據(jù)字段本身必須包含計(jì)算前的所有的0[RFC-1826],假如重復(fù)性攻擊字段
采用,那它就包含在計(jì)算中 。MD5的定義和參考程序在[RFC-1321]中講述了,用‘text’表示
HMAC-MD5要用到的數(shù)據(jù),K表示通訊方共享的信息認(rèn)證私鑰,假如K長(zhǎng)度超過(guò)64字節(jié),那它
必須(MUST)先用MD5進(jìn)行散列運(yùn)算,這樣,K就是最終的散列值 。
我們定義兩個(gè)固定的不同字符串ipad和opad,(‘i’,‘o’代表輸入和輸出)如下所示:
ipad=字節(jié)0x36重復(fù)64次
opad=字節(jié)0x5C重復(fù)64次
為了計(jì)算‘text’的HMAC-MD5,我們執(zhí)行
MD5(KXORopad,MD5(KXORipad,text))
即:
(1) 在K后面補(bǔ)0,使得K的長(zhǎng)度是64字節(jié)(假如K長(zhǎng)16字節(jié),那么要補(bǔ)48
個(gè)0字節(jié)0x00)
(2) 用ipad異或(XOR)第一步中產(chǎn)生的64字節(jié)的值
(3) 在第二步中產(chǎn)生的64字節(jié)的字符串后面不上‘text’
(4) 對(duì)第三步產(chǎn)生的值進(jìn)行MD5運(yùn)算
(5) 用opad異或第一步中產(chǎn)生的64字節(jié)的字符串
(6) 第5步中產(chǎn)生的字符串后面補(bǔ)上第4步中的運(yùn)算結(jié)果
(7) 對(duì)第6步中產(chǎn)生的結(jié)果進(jìn)行MD5散列運(yùn)算,輸出結(jié)果
在[HMAC-MD5]中對(duì)此計(jì)算進(jìn)行了很細(xì)致的描述,并帶有例子程序代碼和性能改進(jìn),執(zhí)行者應(yīng)
該參考[HMAC-MD5]以得到更多的加密散列函數(shù)的技術(shù)信息 。
3.安全考慮
此變換的安全性取決于MD5的強(qiáng)度,應(yīng)用算法的正確性,密鑰處理機(jī)制和它的應(yīng)用的安全性,
關(guān)聯(lián)的秘密密鑰的強(qiáng)度,還取決于所有非凡系統(tǒng)中應(yīng)用程序的強(qiáng)度,[HMAC-MD5]中對(duì)MD5的優(yōu)

推薦閱讀