Kerberos的概述和认证原理

什么是 Kerberos

        ​ Kerberos 是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止重放攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统
 

Kerberos 术语

KDC(Key Distribute Center)密钥分发中心

        kdc负责存储用户信息,管理发放票据,所谓认证也就是用户的登录需要用户名和密码,这也是最基本的认证方式;那么KDC负责存储用户信息,也就是KDC内置的Database会存储用户的用户名和密码;那么kdc发放的票据是什么票据呢?这个票据是指某个用户访问服务时所需要的票据,相当于门票。

Realm

        erberos所管理的一个领域或范围,称之为一个 Realm。Realme域又指的是什么呢?他指代的是Kerberos 所管理的一个领域或范围,所谓的领域也就是一系列的服务和用户。

Principal

        Kerberos 所管理的一个用户或者一个服务,可以理解为 Kerberos 中保存的一个账号, 一个用户要想通过kerberos认证得需要一个账号和密码,同样的一个服务要想通过kerberos 认证也需要账号和密码。

         其格式通常为primary/instance@realm。三个部分,用户名or服务名 / 实例(服务主机名)@域名;例如:root/admin@EXAMPLE.COM 如下图

 keytab 秘钥文件

        Kerberos 中的用户认证,可通过密码或者密钥文件证明身份,keytab 指密钥文件。kerberos有俩种认证方式:

 

 Kerberos 认证原理

  1. 请求首先到AS认证服务器,进行身份认证,kinit命令进行认证,然后输入密码;
  2. 认证服务器会根据用户输入的账号和密码到数据库Database中查询对应的Principal,看是否正确,如果正确颁发临时的票据,这个票据就是TGT。
  3. 用户拿到这个用来申请服务票据的票据后,然后携带该票据TGT去访问票据授权服务器
  4. 票据授权服务器TGS去数据库Database中查询服务是否为合法的服务
  5. 票据授权服务器TGS查询到相关服务名和秘钥后,颁发票证给用户
  6. 用户拿到这个TGT票证后然后才能访问我们的服务,比如上图拿到票证访问hdfs服务。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值