视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何在KDC和用户(计算机)之间预共享主密钥mk ?
2024-09-06 12:51:34 责编:小OO
文档

1、首先客户端向KDC发送一个会话密钥申请。这个申请的内容可以简单概括为”我是某客户端,我需要个Session Key用于与某服务器通话“。
2、KDC在接收到这个请求的时候,生成一个会话密钥。为了保证这个会话密钥仅仅限于发送请求的客户端和它希望访问的服务器知道,KDC会为这个会话密钥生成两个副本,分别被客户端和服务器使用。然后从账户数据库中提取客户端和服务器的主密钥分别对这两个副本进行对称加密。对于服务器,与会话密钥一起被加密的还包含关于客户端的一些信息,以便对发起连接请求的客户端进行身份认证。
3、通过上面的过程,客户端实际上获得了两组信息:一个是通过自己主密钥加密的会话密钥;另一个是被Server的主密钥加密的数据包,包含会话密钥和关于自己的一些确认信息。在这个基础上,我们再来看看服务器是如何对客户端进行认证的。
4、客户端通过用自己的主密钥对KDC加密的会话密钥进行解密从而获得会话密钥,随后创建认证符(Authenticator,包括客户端信息和时间戳(Timestamp)),并用会话密钥对其加密。最后连同从KDC获得的、被服务器的主密钥加密过的数据包(客户端信息和会话密钥)一并发送到服务器端。我们把通过服务器的主密钥加密过的数据包称为服务票证(Session Ticket)。
5、当服务器接收到这两组数据后,先使用它自己的主密钥对服务票证进行解密,从而获得会话密钥。随后使用该会话密钥解密认证符,通过比较由客户端发送来的认证符中的客户端信息(Client Info)和服务票证中的客户端信息实现对客户端身份的验证。

下载本文
显示全文
专题