了解站点到站点 OpenVPN 隧道中的 HMAC 身份验证

了解站点到站点 OpenVPN 隧道中的 HMAC 身份验证

我有一个非常简单的开放VPN设置在哪里开放VPN服务器通过命令启动openvpn --ifconfig 10.10.10.1 10.10.10.2 --dev tun,客户端通过命令启动openvpn --ifconfig 10.10.10.2 10.10.10.1 --dev tun --remote openvpnserver.example.com

我知道,如果--auth none(禁用 HMAC 身份验证)或使用启用了 HMAC 身份验证的默认设置,开放VPN封装的流量未加密。然而,这里的认证到底意味着什么呢?据我了解开放VPN默认情况下,手动数据包使用 SHA1 算法通过 HMAC 进行身份验证。这种身份验证有什么好处?根据数据包捕获,我看不出默认设置和--auth none.

答案1

加密可防止您的数据被读取。但有人仍然可以修改它们;他们不会确切地知道他们正在进行哪些更改(由于加密),但根据您在链接上运行的内容,这可能对应用程序造成相当大的灾难。

请注意,流量分析(查看数据包的大小和时间)通常可以为攻击者提供一种很好的方法来针对特定流量进行破坏。因此,攻击者很可能只能针对通过该链接运行的一个易受损坏的应用程序。

身份验证可以防止这种情况发生。它允许 OpenVPN 检测到有人篡改了数据包并丢弃数据包,通常会导致重新传输。

(身份验证还有另一种含义,它--auth无法控制 — 当您处于 TLS 模式时,每个端点都会对另一方进行身份验证,以确保它正在与正确的一方通话[从而加密]。没有这个,您可能会拥有一个人中间攻击。在预共享密钥模式下,当您分发共享密钥时,此身份验证是在带外完成的)

相关内容