重复性攻击保护的HMAC-MD5 IP 认证

【重复性攻击保护的HMAC-MD5 IP 认证】本文作用
本文具体说明了一种互联网标准传输协议,本文需要讨论和改进的建议 。要得到规定和本协议
的状态,请参考最新版的"InternetOfficialProtocolStandards"(STD1),本文的散布不受限制 。
摘要
本文讲述了一种用在IP认证报头(IPAuthenticationHeader)上的keyed-MD5转换,这种非凡
的转换基于[HMAC-MD5],另外还具体说明了一种防止重复攻击的选项 。
目录
1.绪论 1
1.1术语 1
1.2Keys 2
1.3数据长度 2
2.数据包格式 2
2.1重复攻击防护 3
2.2认证数据计算 3
3.安全考虑 4
致谢 4
参考文献 4
作者地址 4
1.绪论
认证报头(AH)[RFC-1826]提供了IP数据包的完整性检查和认证,本文中指出的变换使用一
种keyed-MD5机制[HMAC-MD5],本机制用到了一种(key-less)MD5的散列函数,它能够产生报
文摘要 。当它和认证报头密钥(AH密钥)结合时,就能产生认证数据,此值放在AH的认证数据字
段,它也是AH协议提供的完整性检查的基础 。
为了防止重复性攻击,必须含有一个重复性攻击防护字段作为变换式选项,此字段是用来防止
一种攻击的,在这种攻击中,消息会保存并且在后来还会被重复利用,代替或者重复原始消息 。安
全参数索引(SPI)[RFC-1825]用来决定是否包含AH 。
需要熟悉以下下文献:"SecurityArchitecturefortheInternetProtocol"(Internet协议安全结构)
[RFC-1825],"IPAuthenticationHeader"(IP认证报头)[RFC-1826],以及"HMAC-MD5:Keyed-MD5
forMessageAuthentication"(HMAC-MD5:Keyed-MD5消息认证)[HMAC-MD5] 。
所有要符合或同“IP认证报头”一致的应用必须(MUST)执行HMAC-MD5转换 。
1.1术语
本文中用来定义每一个需求的重要性的单词都用大写表示,包括:
- MUST
它和"REQUIRED"表示此条款在规定中是绝对需要的 。
-SHOULD
它和"RECOMMENDED"表示在某些特定的环境下有有效的原因可以忽略此条款,但是必须知
道充足的含义,并且在采取不同的方法前必须慎重考虑 。
1.2Keys
“认证报头(AH)密钥”是通讯双方共享的秘密,这种“密钥”不是传统意义上的“密钥”,
认证报头密钥同传输的数据一起进行散列运算,以确保侵犯者不能复制认证数据 。
即使认证报头密钥不是一种密钥,但是仍然涉及了密钥的基本应用,考虑到算法和用以产生输
出的大部分数据是公开的,转换的强度就决定于密钥的独立映射(需要很健壮)以及认证数据IP
包,因此应用中就需要尽可能多次的改变认证报头密钥,密钥需要随机的选择或者由一个随机的种
子在一个强大的密钥随机发生器中产生 。[HMAC-MD5]
所有的支持AH协议的应用都必须(MUST)支持128位或短一些地密钥长度,应用能够
(SHOULD)支持更长的密钥将会更好 。推荐密钥长度选择为输出散列值长度,在MD5中是128
位,定为其它长度则必须考虑下面提到的相关的事项 。
零长度的密钥是禁止使用的,应用中必须防止在变换式中使用它,因为零长度的密钥必能提供
有效的认证 。密钥长度小于128位的也强烈被阻止使用,因为这会降低函数的安全性能,大于128
位的也可以使用,但是增长的部分不一定会增加函数的安全性能 。在密钥产生的随机性有怀疑的情
况下推荐使用长于128位的密钥 。MD5是在64字节的分组上操作的,长于64字节的密钥第一次
是通过MD5进行散列运算的,结果散列值用来计算认证数据 。
1.3数据长度

推荐阅读