ESP和AH中HMAC-SHA-1-96的使用

【ESP和AH中HMAC-SHA-1-96的使用】本文作用
本文为Internet提供了一种标准传输协议,为了进一步的改进还需要讨论和提议,本文需要讨
论和改进的建议 。要得到规定和本协议的状态,请参考最新版的"InternetOfficialProtocolStandards"
(STD1),本文的散布不受限制 。
版权公告
Copyright(C)TheInternetSociety(1998).所有权利保留 。
摘要
本文讲述了HMAC算法同SHA-算法联合作为修订的IPSEC压缩安全有效载荷(ESP)以及修订
的IPSET认证报头[AH]中作为认证机制的使用,HMAC同SHA-1结合提供了原始数据认证和安全
性保护 。[Thayer97a]中提供了进一步的有关ESP和AH应用的其它信息 。
目录
1.绪论 2
2.算法和模式 2
2.1性能 2
3.密钥原料 2
4.同ESP密码机制的相互作用 3
5.安全考虑 3
6.致谢 3
7.参考文献 4
8.作者地址 4
1.绪论
本文具体说明了SHA-1同HMAC结合在压缩安全有效载荷(ESP)以及认证报头[AH]中作为密
钥认证机制的使用,HMAC-SHA-1-96的目的是确定数据包是可信的,没有在传输中被修改过 。
HMAC是一个密钥认证算法,HMAC提供的数据完整性和数据原始性认证依靠于密钥的分发
范围,假如只有发送方和接收方知道密钥,它就提供了收发方之间数据包的原始数据鉴定和完整
性检查,假如HMAC是正确的,那就能证实是发送方发来的信息 。
本文中,HMAC-SHA-1-96用在ESP和AH中,要得到进一步关于各种包括机密机制认证的
ESP是怎样组合在一起提供安全服务的信息,可参考[ESP]和[Thayer97a],要知道AH进一步的信
息,参考[AH]and[Thayer97a] 。要害字"MUST","MUSTNOT","REQUIRED","SHALL","SHALL
NOT","SHOULD","SHOULDNOT","RECOMMENDED","MAY",和"OPTIONAL"在[RFC
2119]中介绍了 。
2.算法和模式
[FIPS-180-1]讲述了基本的SHA-1算法,[RFC-2104]讲述了HMAC算法,HMAC算法提供了
插入不同散列算法(如SHA-1)的架构 。HMAC-SHA-1-96以64位的数据分组为操作对象,补位
要求在[FIPS-180-1]非凡讲述了,它也是SHA-1算法的一部分,假如你根据[FIPS-180-1]建立SHA-1,
则对HMAC-SHA-1-96来说,你就不用添加任何的补位,不需要[AH]中定义的固有信息包补位 。
HMAC-SHA-1-96产生一个160位的认证值,此160位的值可以同RFC2104中描述的那样被
缩短,要同ESP或AH一起使用,必须支持缩短的前96位值 。发送时,缩短的值放在认证字段,
接收时,整个160位值都被计算出来,并同认证字段比较前96位,HMAC-SHA-1-96不支持其它
的认证值长度 。选取96位是因为它是[AH]的默认认证数据长度,并且符合[RFC-2104]的要求 。
2.1性能
[Bellare96a]陈述了“(HMAC)性能是散列函数的基础”,本文中没有关于SHA-1,HMACor或
HMAC同SHA-1结合的具体的性能分析 。
[RFC-2104]中概述了一种对应用的修改,它能提高每个信息包的性能又不影响他们之间协同工
作 。
3.密钥原料
HMAC-SHA-1-96是一个密钥算法,在[RFC-2104]中没有指定密钥长度,要同ESP或AH一起
使用,必须(MUST)支持160位的密钥长度,绝对不能(MUSTNOT)支持其它长度的密钥,也
就是说在HMAC-SHA-1-96中只能用160位的密钥 。使用160位的密钥是因为[RFC-2104]中推荐了
(也就是低于160位的认证值会降低安全能力,高于160位的长度对安全能力的提高没有用处) 。
[RFC-2104]讨论了对密钥原料的需求,包括对好的随机序列需求的讨论 。必须用一个好的伪随
机函数来产生需要的160位的密钥 。
在写作本文时,还没发现一套用在HMAC中的弱的密钥,这并不是说不存在弱的密钥,从某

推荐阅读