真实性、机密性和完整性 - 一般问题

信息安全 密码学 正直 ipsec 保密
2021-09-04 22:48:26

在信息安全方面,我还很陌生。在我继续讨论更具体的事情之前,我想问一下我是否正确理解了 IPsec 的三个主要部分:真实性、机密性和完整性。

我在这里的重点是 VPN 连接和这三个主题的总称。我将写下我到目前为止所理解的内容,并希望您能通过纠正错误的陈述来帮助我。

也许这个问题的背景有一些事实。我为测试目的设置了一个 IPsec 隧道,如果我正确理解了所有部分,我想声明一下。因此,IPsec(站点到终端/远程访问)隧道的一般用途是,例如,家庭办公室用户能够连接到公司网络并因此访问位于其中的资源。IPsec 的主要重点是提供真实性、机密性和完整性三个目的。但是,这是什么意思?

正直: 完整性用于确保站点 A 和 B 之间(例如)没有人更改共享信息的某些部分。因此,计算哈希并将其添加到数据包中。这可以通过使用 MD5、SHA(1,2) 等散列算法来实现。为了真正确保没有人能够修改哈希 HMAC 被使用。这代表散列消息身份验证代码。散列和 hmac 之间的主要区别在于,除了应该散列的值(校验和计算)之外,两个站点共有的秘密密码被添加到计算过程中。例如 [应该散列的值] + [秘密密码] -> 这“两个”输入的散列值。这是我的第一个问题:这可以与“盐”相提并论吗?? 或者 HMAC 和 Hash + Salt 之间到底有什么区别?如果 Hash + Salt 等于 HMAC,那么 Pepper 是什么?

保密: 机密性用于确保站点 A 和 B 之间的任何人都无法读取到站点之间发送的数据或信息。为了实现这一点,使用了加密算法。有两种加密算法,对称的和非对称的。对称算法允许使用相同的密钥进行加密和解密。使用非对称算法,您必须使用各种密钥:公共密钥和私有密钥。公钥通常可供公众使用,而私钥仅供“您自己”使用(如果提到的密钥对是您的)。你用公钥加密的所有东西都只能用私钥解密,反之亦然。当涉及到机密性时,您通常只使用对称算法,如 DES、3DES(均已过时)或 AES。

真实性: 保密部分的最后一句话直接引出了真实性部分。真实性用于确保您真正与您想要的合作伙伴进行交流。为了实现这些不同类型的技术,可以使用,例如在两个站点上配置的预共享密钥、椭圆曲线或 RSA 作为公钥/私钥算法。

这是我认为我误解了很多方面的部分。因为我不确定真实性和机密性之间的确切区别在哪里 ,因为两者似乎都专注于解密/加密(除非您使用 PSK 来保证真实性)。而且我知道在涉及 IPsec 隧道时会使用 Diffie Hellman。据我所知,Diffie Hellman 算法不是加密算法,但它用于在不安全的网络(如互联网)上传输对称加密/解密密钥。DH 是真实性的一部分吗,因为(例如)只有站点 A 和 B 能够计算和传输对称密钥?但这如何证明例如站点 B 确实是站点 B 而不是攻击者?

除了 SSL/TLS 添加带有数字签名 (HMAC) 的数字证书之外,我可以将 RSA 或 EC 流程与 SSL/TLS 进行比较是否正确?

3个回答

真实性和完整性之间的区别在于:

假设甲方和乙方正在互相交谈。真实性意味着 A 收到的消息实际上是由 B 发送的。完整性意味着在从 B 到 A 的路线上,消息之间没有变化。

一般来说,真实性意味着完整性,但完整性并不意味着真实性。例如,消息可能保持其完整性,但它可能是由 C 而不是 B 发送的。

那么 DH 是真实性的一部分吗,因为(例如)只有站点 A 和 B 能够计算和传输对称密钥?但这如何证明例如站点 B 确实是站点 B 而不是攻击者?

DH 不是身份验证过程的一部分。在 SSL/TLS 中,您使用双方的证书进行身份验证。在对各方进行身份验证后,您将共享一个用于对称加密的密钥。该密钥使用 DH 密钥交换进行交换。

请记住,身份验证与真实性不同。身份验证确定您正在与 B 交谈,而真实性确定消息实际上来自 B。

我的最后一个问题是,除了 SSL/TLS 添加带有数字签名 (HMAC) 的数字证书之外,我可以将 RSA 或 EC 流程与 SSL/TLS 进行比较是否正确?

我不确定你在这里到底是什么意思。RSA 或椭圆曲线是用于非对称加密的算法。SSL/TLS 是一个通信层。

看起来这里有很好的答案,但让我详细说明 CIA 三合会中可用性与身份验证的区别。“A”代表什么随着上下文而变化。

如果我们谈论基于硬件的嵌入式安全性,则使用身份验证。当我们讨论安全元件或完整 TPM 的加密原语功能时,“A”代表“身份验证”。

可用性是一种网络安全/信息安全(IS)结构。“可用”系统旨在始终保持用户可用,防止或减轻因断电(备用电源)、硬件故障(冗余)、系统升级和拒绝服务攻击而导致的服务中断。

嵌入式安全为网络安全提供信息,然后网络安全决定如何对这些信息采取行动,但嵌入式安全对可用性的任何影响充其量只是间接的。因此,在讨论 IPsec 等基于硬件的功能时讨论可用性是不正确的。

我不确定,真实性和机密性之间的确切区别在哪里

你可以签署一些明文,放在你的网站上,你有真实性,但没有保密性。您的签名证明签署了该文本(真实性),但每个人都可以阅读它(不保密)。

另一方面,你可以用我的公钥加密一些东西,发送给我,除了我之外没有人可以读取数据(保密),但我不知道是谁给我发送了数据,或者是否有人截获了消息,然后发送了另一个一个在它的位置(没有真实性)。

DH 是真实性的一部分吗,因为(例如)只有站点 A 和 B 能够计算和传输对称密钥?

DH 不是关于真实性,而是关于在不安全的网络上共享密钥。

但这如何证明例如站点 B 确实是站点 B 而不是攻击者?

该证明在连接之外,它由 CA(证书颁发机构)掌握。CA 是签署站点 B 证书并证明您正在阅读站点 B 证书的人。每个 CA 都受到规则的约束,阻止他们为站点 B 创建证书并将其提供给站点 C。CA 有时会违反此规则,并最终被逐出市场(例如DigiNotar)。

除了 SSL/TLS 添加带有数字签名 (HMAC) 的数字证书之外,我可以将 RSA 或 EC 流程与 SSL/TLS 进行比较是否正确?

不,这是不正确的。SSL/TLS可以使用RSA 和 EC 加密数据,但不仅限于 RSA 或 EC。您可以将 SSL 配置为使用 Rot-13 或 1 字节 XOR 作为加密算法,协议上的任何内容都不会阻止您这样做,即使这将是一个非常非常糟糕的选择。