在ESP和AH中使用HMAC-MD5-96
【在ESP和AH中使用HMAC-MD5-96】本备忘录状态
本文档讲述了一种Internet通信的标准Internet跟踪协议,并对其改进提出了讨论和建议 。
请参考最新版本的"InternetOfficialProtocolStandards"(STD1)来获得本协议的标准化进程
和状态 , 此备忘录的发布不受任何限制 。
版权注重
版权归因特网协会所有 , 保留一切权利 。
摘要
本备忘录描述了在修订的IPSEC封装安全净荷协议(ESP)和IPSEC验证头协议(AH)
中 , 使用和MD5算法[RFC-1321]关联的HMAC算法[RFC-2104]作为验证机制 。HMAC-MD5
提供数据源验证和完整性保护 。
关于运行ESP和AH所需其他组件的更多信息由[Thayer97a]提供 。
目录
1、介绍 2
2、算法和模式 2
2.1性能 3
3.密钥源 3
4.与ESP密码机制的互操作性 3
5.安全考虑 4
6.感谢 4
7.参考 5
8.编者地址 5
9.全部版权声明 6
1、介绍
本备忘录描述了在封装安全净荷和验证头中使用和HMAC[RFC-2104]相关联的
MD5[RFC-1321]的键控验证机制 。HMAC-MD5-96的目的是确保数据包是可信的而且在传输
过程中没有被修改 。
HMAC是一种秘密的密钥验证算法 。HMAC提供的数据完整性和源身份验证完全取决于
秘密密钥分配的范围 。假如只有发起者和接收者知道HMAC密钥 , 那么这就对两者间发送
的数据提供了源身份验证和完整
性保证 。假如HMAC是正确的那就证实它一定是真正的发送者添加的 。
在本备忘录中 , HMAC-MD5-96被用在ESP和AH中 。关于不同的ESP片(包括机密
性机制)是如何组合在一起提供安全服务的跟多信息 , 请参照[ESP]and[Thayer97a] 。关于
AH的更多信息请参照[AH]and[Thayer97a] 。
本文档中的要害字"MUST","MUSTNOT","REQUIRED","SHALL","SHALL
NOT","SHOULD",
"SHOULDNOT","RECOMMENDED","MAY",和"OPTIONAL"的解释在[RFC-2119]中
有描述 。
2、算法和模式
[RFC-1321]描述了基本MD5算法 , 而[RFC-2104]描述了HMAC算法 。HMAC算法为插
入象MD5这样的各种散列算法提供了一种框架 。
HMAC-MD5-96在64位的数据块上运行 。对填充的需要在[RFC-1321]中有描述而且填充
是MD5算法一部分 。假如依照[RFC-1321]对MD5进行构建 , 那么相关的HMAC-MD5-96
就不需要添加任何额外的添充 。对于在[AH]中定义的“固定包填充”不是必须的 。
HMAC-MD5-96产生128位的验证值 。这128位值可以向在FRC2104中描述的那样删
减 。为了在SEP或AH中使用 , 被删节的验证数据必须使用前部的96位 。在发送端 , 这种
删节了的数据存储在验证区 。在接收端 , 完全的128位值被计算出来 , 并和验证区的96位
值比较 。HMAC-MD5-96不支持其它的验证值长度 。
选择96位是因为这是[AH]中描述的默认验证长度并且能满足[RFC-2104]中对安全需要
的描述 。
2.1性能
[Bellare96a]的声明“(HMAC的性能本质上就是根散列函数的性能” 。[RFC-1810]提供了
一些在Internet协议中使用MD5的性能分析和推荐 。但在它里面没有HMAC或是
HMAC-MD5的性能分析 。
[RFC-2104]中概述了一种执行修正 , 可以在不影响互操作性的前提下提高每个包的性能 。
3.密钥源
HMAC-MD5-96是一种秘密密钥算法 。在[RFC-2104]中没有描述固定的密钥长度 , 但为
了在ESP或AH中使用 , 固定的128位密钥长度必须被支持 。而其他不同于128位的密钥
长度一定不被支持(也就是说HMAC-MD5-96只能使用128位密钥) 。根据[RFC-2104]的推
荐选择128位密钥长度(也就是说密钥长度比验证值短会减弱安全的健壮性 , 而比验证值长
推荐阅读
- 如何区分CPU的散装和盒装
- 学生入党条件和标准是什么
- wps页边距的行间距在哪
- 第一学历和第二学历有什么区别?
- 猪心和什么炖汤比较好啊
- 云野先祖在哪
- 6克盐含多少钠
- 北京南站在哪个街道
- 一本和二本的区别
- 猎豹清理大师如何管理系统进程