在SSL文献中,我注意到了术语“ad MAC”的使用。我理解MAC (消息认证代码)的含义以及它是如何工作的,但是Ad这个术语是什么意思呢?
注意:对于MAC,我指的是消息认证码 (在SSLv3中使用),而不是媒体访问控制!
发布于 2014-05-07 14:01:51
“临时”只是指:
Ad是一个拉丁语,意思是"for this“。它通常意味着为一个特定的问题或任务设计的解决方案,不可泛化,并且不能适应其他目的。
在安全方面,使用临时协议通常是一件坏事。有(现在)定义良好的MAC协议;例如,HMAC (基于散列的MAC)定义为:HMAC(k, m) = H((k ^ opad) + H((k ^ ipad) ++ m)),其中H是散列函数(例如SHA128),opad是块长的十六进制常数5c5c5c...5c,ipad是363636...36,k是共享密钥(用于生成和验证MAC),^是异或,+是连接。
在SSLv3中,5.2.3.1一开始描述的MAC看起来就像一个HMAC:
The MAC is generated as:
hash(MAC_write_secret + pad_2 +
hash(MAC_write_secret + pad_1 + seq_num +
SSLCompressed.type + SSLCompressed.length +
SSLCompressed.fragment));
where "+" denotes concatenation.
pad_1: The character 0x36 repeated 48 times for MD5 or 40 times for SHA.
pad_2: The character 0x5c repeated 48 times for MD5 or 40 times for SHA.但是注意,XOR从未被使用过--它总是连接在一起的。注意,它是H(k + opad + H(k + ipad + m))。此外,在k是哈希的情况下,MAC写秘密MD5(master_secret + SHA('A' + master_secret + ServerHello.random + ClientHello.random))只是简单的MD5。这些非标准的构造很有可能向非常强大的攻击者泄露信息。
(引用本文( SSLv2 2,SSLv2 3和TLS的不同之处)):
消息认证代码的临时使用:有些MAC结构没有经过分析,比如HMAC。Wagner和Schneier对他们没有任何具体的反对意见,但要点是正确的:使用一些经得起相当多分析的东西要比没有使用的东西要好,特别是在现场系统中。
回过头来看瓦格纳和施耐尔的论文(PDF),SSLv3似乎只是在使用一个旧版本的HMAC,该版本在1996年就过时了:
SSL通过使用加密MAC保护应用程序数据的完整性。SSL设计者选择使用HMAC,这是一种简单、快速的基于散列的构造,并为其安全性BCK96提供了一些强有力的理论依据。在一个已经对MAC的一些初步特别建议进行了密码分析的领域,这些可证明的安全结果是非常有吸引力的。HMAC正在迅速成为消息认证的黄金标准,它是SSL的一个极好的选择。除非有重大意外的密码分析进步,HMAC似乎不太可能在不久的将来被打破。我们指出,SSL3.0使用的是HMAC结构的旧版本。在方便的情况下,SSL应该移动到更新的当前HMAC格式,以达到最大的安全性。
发布于 2014-05-07 10:02:07
MAC代码是分配给以特殊方式通信以相互识别的设备的唯一标识码。
MAC还可以引用消息身份验证代码(),该代码用于对消息进行身份验证,并保留integrity.Hashing,并使用加密来实现这一点。
因此Adhoc MAC是指用于验证Adhoc网络中节点之间消息的代码。

https://security.stackexchange.com/questions/57446
复制相似问题