首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IKE阶段1和2

IKE阶段1和2
EN

Network Engineering用户
提问于 2018-12-12 07:00:33
回答 2查看 1.8K关注 0票数 4

正在经历IKE阶段1和阶段2。我有一些关于同样的问题,这是困扰我的主要模式和快速mode.Please纠正我,如果我走错了地方。

第一阶段主模式

1)第1包和第2包是SA提案和cookie的传输。

问:通过散列发送者IP、端口、协议和时间戳生成的cookie不是吗?如果是这样的话,接收方是否需要计算哈希的算法,以便他能够确认数据,还是它只是一个随机值,而接收机不需要为此烦恼。

2)第3和第4分组交换Diffie Hellman公钥和非keys,并生成一个共享秘密以再次计算额外的3个密钥。

问题:非seed与psk结合生成种子值。那么PSK是如何和何时被交换的。它是在这些分组交换之外进行通信,还是属于这些数据包的一部分。

3)在计算种子值后,与共享秘密相结合,生成额外的3个密钥,用于认证、加密和用作密钥材料,以生成第2阶段的密钥。

问:这些密钥通过第一阶段(第一和第二包)协商的算法(认证和加密)对第二阶段使用的数据包进行身份验证和加密,对吗?并且对第一阶段的第五和第六包进行加密和认证。

那么,我们到底在第5和第6包中传输什么来验证和加密它们呢?这三个会话键是否都是由发起者和响应者共同敲开的?这三个密钥(认证、加密和派生密钥)是对称的吗?

我已经翻阅了RFCs和许多其他文件,但找不到这些问题的答案。我知道这些可能是愚蠢的,但请帮我弄清楚我是否完全理解错了。

EN

回答 2

Network Engineering用户

回答已采纳

发布于 2018-12-12 20:06:22

好问题。

1)第1包和第2包是SA提案和cookie的传输。问:通过散列发送者IP、端口、协议和时间戳生成的cookie不是吗?如果是这样的话,接收方是否需要计算哈希的算法,以便他能够确认数据,还是它只是一个随机值,而接收机不需要为此烦恼。

cookie是任意生成的(通常是随机生成的)。它们来自发起者的64位和响应者的64位,并且作为特定ISAKMP“隧道”(或ISAKMP "SA")的标识--即一组特定的3 ISAKMP密钥(加密、身份验证、派生)。

(就像SPI将识别特定的IPsec SA /隧道一样)

这些值也在3 ISAKMP密钥的计算中使用,但这在消息3和4之后才会发生,因此发起者和Responder已经商定了必要的散列算法。

2)第3和第4分组交换Diffie Hellman公钥和非keys,并生成一个共享秘密以再次计算额外的3个密钥。问题:非seed与psk结合生成种子值。那么PSK是如何和何时被交换的。它是在这些分组交换之外进行通信,还是属于这些数据包的一部分。

在隧道试图建造之前,PSK是在同行之间“交换”的。理论上,通过电话或手动配置双方的PSK。

双方都被证实在消息5和6中有正确的PSK。创建E/A/D ISAKMP密钥的是PSK,所以如果双方都没有以正确的PSK开始,他们就永远无法创建相同的E/A/D密钥,也无法“理解”对方的消息5和6。

3)在计算种子值后,结合共享秘密生成额外的3个密钥,用于认证、加密和作为密钥材料,为第二阶段生成密钥。问题:这些密钥是通过第一阶段(第一和第二包)协商的算法(认证和加密)来验证和加密第二阶段中使用的数据包的,对吗?并且对第一阶段的第五和第六包进行加密和认证。

是。在主模式消息1-4之后,存在三个ISAKMP密钥:加密密钥、身份验证密钥、派生密钥.

加密密钥和身份验证密钥将保护主模式的消息5和6,以及随后的任何快速模式协商消息。

ISAKMP不使用派生密钥,而是将其交给IPsec,以便IPsec能够生成自己的加密和身份验证密钥。

那么,我们到底在第5和第6包中传输什么来验证和加密它们呢?

交换的东西有些武断,为什么是重要的。消息的目的5/6是为了验证对方是谁,他们声称(又名,另一方有正确的预共享密钥)。

以下是计算在消息5和6中交换的值的一些内容,更重要的是它的用途:

  • 预共享密钥--只有对话中的预期收件人才能知道的值。
  • 迪夫-赫尔曼共享秘密--一个只有交换消息的双方才能知道的值
  • 任意数据--在消息1-4中交换的值,这些值将此特定身份验证尝试与此特定会话联系在一起(阻止对先前连接的身份验证尝试作出答复)。

任意数据有两部分,一组来自发起者,另一组来自Responder。最后,在消息5和6中交换了两个集体值:

  • PSK / DH共享秘密/任意启动数据
  • PSK / DH共享秘密/任意响应数据

发起者和Responder都有将上述两个值组合在一起所需的信息。因此,发起者和响应者都有一个他们可以用来证明自己是谁的价值,他们可以用来验证另一个人是谁。

具体细节在RFC 2409第10页上进行了概述。我还在这个答案中解释了这个过程的一些细节。

这三个会话键是否都是由发起者和响应者共同敲开的?这三个密钥(认证、加密和派生密钥)是对称的吗?

是的,是的。

在主模式下,它们保护消息5和6中描述的标识值的交换。

票数 2
EN

Network Engineering用户

发布于 2018-12-12 16:38:21

ISAKMP/IKEv2 1被废弃,不应该再使用了,它被IKEv2.

取代。

不是通过散列发送者IP、端口、协议和时间戳生成的cookie吗?

它对实现它们如何生成cookie(或者在IKEv2中称为SPIs )是开放的。RFC 2408,第2.5.3节描述了一些可能性(例如,strongSwan 5.x只生成随机SPIs)。

如果是这样的话,接收方是否需要计算哈希的算法,以便他能够确认数据,还是它只是一个随机值,而接收机不需要为此烦恼。

收件人无法验证对等方提供的cookie值。但这并不是重点,即发送给对等方的cookie值可以在稍后处理入站消息时进行验证。

所述非are与psk相结合以生成种子值。那么PSK是如何和何时被交换的。它是在这些分组交换之外进行通信,还是属于这些数据包的一部分。

PSK从未因为艾克而被交换。顾名思义(预共享密钥),在建立连接之前必须对其进行共享和配置。

那么,我们到底在第5和第6包中传输什么来验证和加密它们呢?这三个会话键是否都是由发起者和响应者共同敲开的?这三个密钥(认证、加密和派生密钥)是对称的吗?

是的,这些键是对称的,由两个对等方计算。消息5和6使用已建立的加密密钥(SKEYID_e)加密,并且使用生成的共享基密钥(SKEYID)生成用于验证IKE SA的HASH_I|R/SIG_I|R有效负载。身份验证密钥(SKEYID_a)仅用于通过HASH(1..3)负载对第二阶段消息(快速模式、信息)进行身份验证(不过,这些消息也是用SKEYID_e加密的)。更多细节可以在RFC 2409,第5节中找到。

票数 2
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/55402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档