的也不会明显的增强安全的健壮性) 。
[RFC-2104]讨论了对密钥源的需求 , 包括对健壮的随机性的需求的讨论 。必须的128位
密钥必须由一个健壮的伪随机函数产生 。
在讨论本文档时 , 还没有一种虚弱的密钥在HMAC上使用 。这不意味着暗示虚弱的密钥
不存在 。在某个意义上 , 假如一套HMAC使用的虚弱的密钥被鉴别 , 那么这些虚弱密钥的
使用必须被丢弃 , 然后发送重新安排密钥或一次新的安全联盟协商请求 。
当一个单一的SA需要多个密钥时(也就是说当一个ESPSA需要一个加密密钥和一个验
证密钥) , [ARCH]为获得密钥源描述了一个通用的机制 。
为了提供数据源验证 , 密钥分配机制必须确保唯一的密钥对被分配 , 而且只分配给通信
的参与者 。
[RFC-2104]对于密钥的重新分配提出了以下建议 。并不能因为当前的攻击实际上是不可
行的就认为这些攻击并可以预示一个非凡的被推荐的密钥使用时间 。无论如何 , 定期的密钥
更新是一种基本的安全习惯 , 这可以帮助反抗函数和密钥潜在的弱点 , 减少对于一个破译者
的信息可用性 , 限制了由于密钥暴露引起的危害 。
4.与ESP密码机制的互操作性
在写作本文档时 , 还没有一种已知的出版物排除了HMAC-MD5-96算法和其它任何非凡
的密码算法公用的可能 。
5.安全考虑
HMAC-MD5-96提供的安全性依靠HMAC的健壮性 , 更少的使用频度 , MD5的健壮性 。
[RFC-2104]主张HMAC不只是依靠健壮的反抗冲突的性质 , 考虑评估MD5的使用也是重要
的 , 在当前的审查下已有的算法比最初所考虑的有更差的抗冲突性 。在写作本文档时 , 还没
有一种实际的密文攻击可以攻破HMAC-MD5-96 。
[RFC-2104]声明对于“最小合理的散列函数”和“生日攻击” , 这些最强的最HMAC的
攻击是不实际的 。对于一个进行了HMAC-MD5-96运算的64字节的数据块 , 包括成功的处
理2**64个块是不实际的 , 除非在处理2**30个块后发现潜在的散列冲突 。有弱抗冲突特性
的散列被认为是不可用的 。
认为被使用的MD5是不完善的键控散列算法也是重要的 , HMAC有来自攻击的标准 。
当在数据安全策略中使用MD5正在经受再审议时 , HMAC和MD5的组合算法已经拦截了
对密文的具体审查 。
[RFC-2104]也讨论了由于结果散列的是删节所带来的潜在的附加安全问题 。包括HMAC
的规范强烈推荐执行这种散列删节 。
正象[RFC-2104]为合并各种散列算法和HMAC提供了框架 , 使用其他算法象SHA-1取
代MD5是可能的 。[RFC-2104]包含一个关于HMAC算法健壮性和虚弱性的具体的讨论 。
对于任何的密文算法 , 它的健壮性在于算法执行的正确性 , 密钥治理机制和它的执行的
安全性 , 关联的秘密密钥的健壮性 , 各个参与系统执行的正确性 。[RFC-2202]包含测试向量
和实例代码用于帮助核查HMAD-MD5-96代码的正确性 。
6.感谢
本文档部分源于JimHughes先前的工作 , 和Jim一起为组合DES/CBC HMAC-MD5ESP
转换工作的人们 , ANXbakeoff的参与者和IPsec工作组的成员 。
我们也很兴奋感谢为本文档中的一些非凡内容提出意见和解释的HugoKrawczyk先生 。
7.参考
[RFC-1321]Rivest,R.,"MD5DigestAlgorithm",RFC1321,April
1992.
[RFC-2104]Krawczyk,H.,Bellare,M.,andR.Canetti,"HMAC:
Keyed-HashingforMessageAuthentication",RFC2104,
February1997.
[RFC-1810]ToUCh,J.,"ReportonMD5Performance",RFC1810,June
1995.
[Bellare96a]Bellare,M.,Canetti,R.,andH.Krawczyk,"KeyingHash
推荐阅读
- 如何区分CPU的散装和盒装
- 学生入党条件和标准是什么
- wps页边距的行间距在哪
- 第一学历和第二学历有什么区别?
- 猪心和什么炖汤比较好啊
- 云野先祖在哪
- 6克盐含多少钠
- 北京南站在哪个街道
- 一本和二本的区别
- 猎豹清理大师如何管理系统进程
