我对IKE Phase 1的需求感到困惑。据我了解,IKE使用2个阶段,第一个是交换参数,例如加密、认证方法、散列类型等。它在阶段 2 中为 IPSec 创建一个 SA 来交换它的参数。为什么 IPSec 不能使用 DH 创建 SA,交换参数然后使用相同的 SA 进行数据?
根据我的理解,当 IPSec SA 需要创建新密钥时,它们在其生命周期内仍然使用 DH 交换密钥,那么为什么要在另一个 SA 中进行呢?
谢谢。
我对IKE Phase 1的需求感到困惑。据我了解,IKE使用2个阶段,第一个是交换参数,例如加密、认证方法、散列类型等。它在阶段 2 中为 IPSec 创建一个 SA 来交换它的参数。为什么 IPSec 不能使用 DH 创建 SA,交换参数然后使用相同的 SA 进行数据?
根据我的理解,当 IPSec SA 需要创建新密钥时,它们在其生命周期内仍然使用 DH 交换密钥,那么为什么要在另一个 SA 中进行呢?
谢谢。
仅仅是因为 IPsec 最初并不是为了包含密钥交换而构建的。事实上,IPsec 的早期实现希望您手动配置 IPsec 密钥,从中派生出加密和身份验证密钥。
当确定手动设置和轮换密钥无法扩展时,他们寻找另一种解决方案,但不涉及重写每个 IPsec 实现。
所以现在,您可以手动配置 IPsec 密钥(过时了,没有人再这样做了,您也不应该这样做),或者您可以使用 ISAKMP 自动神奇地向 IPsec 提供密钥。
ISAKMP(互联网安全协会和密钥管理协议)的存在是为了在不安全的介质 ( Internet )上安全地建立密钥材料,以供 IPsec 使用。
但这并不是 ISAKMP 所做的全部。
IPsec的还没有写有一个直接的验证方法-验证的另一端是谁,他们说他们是。最初的想法是,如果双方手动配置了一个 IPsec 密钥,并且双方手动配置了相同的会话密钥,那么很明显,如果他们复制了该密钥,那么他们确实就是他们认为的那个人。
但是,如果通过 Internet 自动确定这些相同的 IPsec 密钥,则需要有一种方法来首先验证与您安全交换密钥的另一方是他们所说的人。这是 ISAKMP 所做的另一部分。
因此,ISAKMP (Phase1) 主要负责(安全地)验证另一方,并生成 IPsec 使用的密钥。然后 IPsec 主要负责安全地传输数据。将这两种协议联系在一起的是 Internet 密钥交换或 IKE。
当有人问“为什么在 ike 阶段 1 中建立的安全隧道不用于数据传输?”时,我在 Reddit 上写的一篇文章中有更多详细信息。