许多安全文章讨论如何在链接层添加额外的安全性层。
如果我们在应用层启用了加密,那么在链路层使用经过身份验证的加密与只使用身份验证有什么意义。我认为加密在这一点上是无用的,因为它增加了额外的延迟,并给处理器增加了一些负担。
你对此有何看法?
发布于 2014-09-07 19:30:47
我可以想到链接层认证加密的一些优点,而不是纯真实性:
请记住,这是相当脆弱的,应用层加密应该是足够的,当你已经启用链接层的真实性。
发布于 2014-09-08 10:57:46
加密只提供机密性。身份验证只能确保完整性,因为它可以防止非法修改数据。加密+身份验证提供了机密性和完整性。
现在问题来了,为什么仅仅保密是不够的,或者仅仅是诚信是不够的。加密通常以多种方式进行,如ECB、CBC、OFB、CFB等,每种加密方式都有各自的优点和局限性。
作为第一步,考虑一下欧洲央行。这是最简单的模式。作为攻击者,您可以轻松地删除一些加密块,接收方将不知道这一点。(虽然不那么简单,但只是一个例子)。考虑下面的句子,并假设每个单词都是一个块,将在欧洲央行模式下加密。
我今天不来了
。如果攻击者删除
不
“阻塞,接收者将收到
我今天要来
。现在考虑CBC模式。在这种情况下,一个块的密码输出被用作下一个块的输入。现在,如果您作为攻击者想要删除其中的一个块,尽管下一个块需要删除的块,但是只会影响很少的位,并且错误不会与下一个块相匹配。攻击者可以利用此漏洞启动剪切粘贴攻击。。
另一方面,如果只应用身份验证,则无法确保机密性。即使应用了应用层加密,也意味着仅对原始数据包进行加密,而不对每个连续层中附加到该数据的附加报头进行加密。数据链路层加密为报头中显示的附加信息提供了机密性。
https://security.stackexchange.com/questions/66937
复制相似问题