消息认证要求
数据容易受到各种攻击。其中一种攻击包括消息身份验证。当用户没有关于消息发起者的任何信息时,就会出现这种威胁。可以使用进一步使用密钥的加密方法来实现消息认证。
认证要求:
- 启示:这意味着将消息的内容发布给没有适当加密密钥的人。
- 流量分析:通过不同方之间的连接持续时间和连接频率来确定流量模式。
- 欺骗:将来自欺诈来源的脱离上下文的消息添加到通信网络中。这将导致通信双方之间的不信任,也可能导致关键数据的丢失。
- 内容修改:更改消息的内容。这包括插入新信息或删除/更改现有信息。
- 序列中的修改:改变各方之间的消息顺序。这包括消息的插入、删除和重新排序。
- 时序修改:这包括不同方之间发送的消息的重播和延迟。这种方式会话跟踪也被中断。
- 来源拒绝:当来源否认是消息的发起者时。
- 目的地拒绝:当消息的接收者拒绝接收时。
消息认证功能:
所有消息认证和数字签名机制都基于两个功能级别:
- 较低级别:在此级别,需要一个生成身份验证器的函数,该值将进一步有助于消息的身份验证。
- 高层:这里使用低层函数是为了帮助接收者验证消息的真实性。
这些消息认证功能分为三类:
- 消息加密:通过 Internet 发送数据时,始终存在中间人 (MITM) 攻击的风险。一个可能的解决方案是使用消息加密。在消息加密中,数据首先被转换为密文,然后再进一步发送。消息加密可以通过两种方式完成:
- 对称加密:假设我们必须将消息 M 从源 P 发送到目标 Q。该消息 M 可以使用 P 和 Q 共享的密钥 K 加密。没有这个密钥K,其他人就无法从密文中得到明文。这保持了机密性。此外,Q 可以确定 P 已经发送了消息。这是因为除了 Q,P 是唯一拥有密钥 K 的一方,因此密文只能由 Q 解密,其他人无法解密。这保持了真实性。一个非常基本的级别,对称加密如下所示:
在此处阅读有关对称加密的更多信息。
- 公钥加密:公钥加密不如对称加密先进,因为它提供机密性但不提供身份验证。为了提供身份验证和机密性,使用私钥。
- 消息验证码 (MAC):消息验证码是计算机用户必须输入才能访问任何帐户或门户网站的安全码。这些代码被系统识别,因此它可以授予正确的用户访问权限。这些代码有助于维护信息完整性。它还确认了消息的真实性。
- 哈希函数: A 哈希函数只不过是一个数学函数,可以将一个数值转换为另一个压缩后的数值。这个散列函数的输入可以是任意长度,但输出总是固定长度。散列函数返回的值称为消息摘要或散列值。
应对这些攻击的措施:
上述每种攻击都必须以不同的方式处理。
- 消息机密性:为防止消息被泄露,在消息传输过程中必须小心谨慎。为此,应在通过网络发送消息之前对其进行加密。
- 消息认证:为了处理流量和欺骗问题的分析,消息认证很有帮助。在这里,接收者可以确定真正的发送者和他的身份。为此,可以合并以下方法:
- 各方应共享可在身份验证时使用的密码。
- 数字签名有助于身份验证。
- 可以依靠第三方来验证各方的真实性。
- 数字签名:数字签名可帮助解决大多数此类问题。借助数字签名,可以轻松监控消息的内容、顺序和时间。此外,它还可以防止源拒绝消息传输。
- 协议与数字签名的组合:这是处理拒绝接收消息所必需的。在这里,仅使用数字签名是不够的,它还需要协议来支持其监控。
各种消息认证的另一个终极解决方案是消息认证码(MAC)。