两用户密钥建立协议:混合密钥生成方式详解
两用户密钥建立协议:混合密钥生成方式详解
该协议利用在线服务器S,采用混合密钥生成方式建立A和B之间的会话密钥KAB。以下是协议的步骤:
-
A->B: 'A, NA';
A 向 B 发送自己的身份信息 'A' 和一个随机数 'NA'。
-
B->S: {'NB, A, B'}KBS, NA;
B 向服务器 S 发送自己的身份信息 'B'、一个随机数 'NB' 和 A 的身份信息 'A',使用密钥 KS 加密。同时也将 'NA' 发送给服务器 S。
-
S->A: {'KAB, A, B, NA'}KAS, NS
服务器 S 收到 B 的请求后,使用密钥 KS 解密得到 A 的身份信息 'A'、B 的身份信息 'B'、'NA' 和 'NB'。然后生成一个会话密钥 KAB,并将其和 A、B 的身份信息以及 'NA' 使用密钥 AS 加密后发送给 A,同时也将一个随机数 'NS' 发送给 A。
-
A->B: NS, {'A, B'}KAB
A 收到服务器 S 的响应后,使用密钥 AS 解密得到 KAB、'A'、'B' 和 'NA'。然后向 B 发送一个包含 'NS' 和 A、B 的身份信息的消息,使用 KAB 加密。
-
B->A: {'B, A'}KAB
B 收到 A 的响应后,使用 KAB 解密得到 A、B 的身份信息和 'NS'。
密钥类型解释
-
对于 B 来说,这是一个协商产生的会话密钥,因为 B 参与了会话密钥的生成过程。B 向服务器 S 发送了自己的身份信息 'B' 和一个随机数 'NB',服务器 S 使用这些信息和 A 的身份信息 'A' 和 'NA' 生成了会话密钥 KAB,并将其发送给 A。B 在这个过程中起到了协商的作用。
-
对于 A 来说,这是一个分配的会话密钥,因为 A 没有参与会话密钥的生成过程。A 仅仅是向 B 发送了自己的身份信息 'A' 和一个随机数 'NA',然后从服务器 S 接收到了会话密钥 KAB 和一个随机数 'NS'。A 在这个过程中没有协商的作用,只是被分配了一个会话密钥。
原文地址: https://www.cveoy.top/t/topic/fZ51 著作权归作者所有。请勿转载和采集!