博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kerberos简单介绍
阅读量:6939 次
发布时间:2019-06-27

本文共 1573 字,大约阅读时间需要 5 分钟。

重要术语

1. KDC

全称:key distributed center

作用:整个安全认证过程的票据生成管理服务,其中包含两个服务,AS和TGS

2. AS

全称:authentication service

作用:为client生成TGT的服务

3. TGS

全称:ticket granting service

作用:为client生成某个服务的ticket 

4. AD

全称:account database

作用:存储所有client的白名单,只有存在于白名单的client才能顺利申请到TGT

5. TGT

全称:ticket-granting ticket

作用:用于获取ticket的票据

6.client

想访问某个server的客户端

7. server

提供某种业务的服务

 

认证流程

概述

 

图1 kerberos认证流程

图1展示了kerberos的认证流程,总体分为3步。

  1. client与AS交互
  2. client与TGS交互
  3. client与server交互
详细分析

kerberos为什么要采用3步交互的形式来完成安全认证,那就要从kerberos的使用场景说起。

相比kerberos,https可能更为熟悉一点,通过证书和非对称加密的方式,让客户端可以安全的访问服务端,但这仅仅是客户端安全,通过校验,客户端可以保证服务端是安全可靠的,而服务端却无法得知客户端是不是安全可靠的。这也是互联网的一种特性。而kerberos可以支持双向认证,就是说,可以保证客户端访问的服务端是安全可靠的,服务端回复的客户端也是安全可靠的。

想证明client和server都是可靠的,必然要引入第三方公证平台,这里就是AS和TGS两个服务。

  1. client向kerberos服务请求,希望获取访问server的权限。kerberos得到了这个消息,首先得判断client是否是可信赖的,也就是白名单黑名单的说法。这就是AS服务完成的工作,通过在AD中存储黑名单和白名单来区分client。成功后,返回AS返回TGT给client。
  2. client得到了TGT后,继续向kerberos请求,希望获取访问server的权限。kerberos又得到了这个消息,这时候通过client消息中的TGT,判断出了client拥有了这个权限,给了client访问server的权限ticket。
  3. client得到ticket后,终于可以成功访问server。这个ticket只是针对这个server,其他server需要像TGS申请。

通过这3步,一次请求就完成了。当然这里会有个问题,这样也没比https快啊。解释一下

1. 整个过程TGT的获取只需要一次,其中有超时的概念,时间范围内TGT都是有效的,也就是说一般情况访问server只需要直接拿到ticket即可

2. 整个过程采用的是对称加密,相对于非对称加密会有性能上的优势

3. kerberos的用户管理很方便,只需要更新AD中的名单即可

当然整个过程的通信都是加密的,这里设计到两层加密,因为所有的认证都是通过client,也就是说kerberos没有和server直接交互,这样的原因是kerberos并不知道server的状态,也无法保证同时和server,client之间通信的顺序,由client转发可以让client保证流程顺序。

第一层加密,kerberos对发给server数据的加密,防止client得到这些信息篡改。

第二层加密,kerberos对发给client数据的加密,防止其他网络监听者得到这些信息。

client和server的通信也是如此。

 

转自:

转载于:https://www.cnblogs.com/zhangwuji/p/9154153.html

你可能感兴趣的文章
[转载]中国648个超级亿万富豪都是谁?
查看>>
快捷键
查看>>
mac系统快捷键大全详细介绍
查看>>
shell列变行
查看>>
IOS学习笔记(七)之UISegmentedControl分段控件的基本概念和使用方法
查看>>
结构体指定初始化和位初始化
查看>>
提高性能,MySQL 读写分离环境搭建(二)
查看>>
忘记mysql密码操作
查看>>
Android 动画效果学习笔记
查看>>
Task案例1-处理多个任务
查看>>
shell(3)应用
查看>>
Vue2.0 新手入门 — 从环境搭建到发布
查看>>
赛门铁克发现新的APT组织Gallmaker,目标锁定全球政府、军事和国防机构
查看>>
Spring Cloud-honghu Cloud分布式微服务云系统--云架构代码结构构建
查看>>
linux下5秒创建rhel7虚拟机
查看>>
Xpath语法
查看>>
JAVA-给想学JAVA的小伙伴一小点点基础
查看>>
OpenResty + Lua 访问Redis
查看>>
11.2 Apache虚拟主机
查看>>
移动APP及游戏推广,有预算为什么还起不了量
查看>>