01: kerberos认证原理

1.1 kerberos认证浅析

  1、kerberos定义

      1. Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。

      2. Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

      3. Kerberos也能达到单点登录的效果,即当Client通过了Kerberos server的认证后,便可以访问多个Real Server。

  2、kerberos几个重要组件

      1. KDC:负责分发密钥的密钥分配中心

      2. Client:需要使用kerbores服务的客户端

      3. Service:提供具体服务的服务端

  3、kerberos中几个重要概念

      1. Client master key: KDC中存储的Client的密钥

      2. Server master key: KDC中存储的Server的密钥

      3. Sclient-Server:Client与Server之间的会话密钥

      4. Client Info:记录了Client本身的Ip等基本信息

  4、kerberos认证交互过程

    1)client从KDC获取Sclient-Server

        1. 用client公钥加密Sclient-Server发送给client【Sclient-Server + Client-master-key(加密)】

        2. 用server公钥加密Sclient-Server+ ClientInfo发送给client【Sclient-Server + ClientInfo + Server-master-key(加密)】

    2)client用Sclient-Server加密发送数据

        1. Client用自己的mClient-master-key解密KDC传过来的第一个包获得会话密钥Sclient-Server

        2. 并用Sclient-Server加密自己的的信息和时间戳打包后传送给Server,此时Client开始和Server交互

    3)server用私钥获取Sclient-Server,并用Sclient-Server解密client信息

        1. Server会收到两个数据包,一个用会话密钥(Sclient-Server)加密,一个用自己的(Server-master-key)加密。

        2. Server先用自己的Server-master-key解密获取会话密钥(Sclient-Server)和一份关于Client的信息。

        3. 然后Server拿到解密后获取到的会话密钥(Sclient-Server)再解开另外一个数据包,获得另一份关于Client的信息和时间戳。

  5、kerberos认证图解

      

  6、kerberos细节

    1)上面有个数据包是KDC经Client转发给Server的,为什么不直接发给Server?

        1. 因为Server可能给多个Client提供服务,这样Server需要维护一个Client和会话密钥的对应表,这对Server是一个负担。

    2)为什么要发两份关于Client的信息给Server?

        1. 通过这两份数据的对比,Server就能判断出是不是对的Client在访问服务。

    3)Client是如何判断自己在访问对的Server呢?

      1. 因为Client给Server的一个数据包是用Server的master key来加密的所以只有对的Server才能解密。

    4)为什么要用会话密钥

        1. 通信方的master key是长期有效的,如果在网络上传输,一旦被截取,理论上来说只要有足够的时间是可以破解的。

        2. 所以我们才用临时的会话密钥来通信,一段时间后会话密钥会过期,同时时间戳也防止了,恶意用户重复使用同一个数据包。

    5)为什么要用时间戳?

        1. 如果Client向Server传送的数据包被其他的Client截取,然后自己拿来向Server请求服务这,这样就会出问题

        2. Server收到请求后将从解密后的数据包中获得的时间戳和当前时间对比,一旦超过一定范围将直接拒绝请求

 1.2 kerberos常用命令

  https://www.cnblogs.com/chwilliam85/p/9679845.html

  https://www.cnblogs.com/kisf/p/7494203.html

 

 

 

 

1111111111111111111111111111

转载于:https://www.cnblogs.com/xiaonq/p/10598280.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值