Kerberos协议最早是由MIT提出的,是一种身份认证协议。

应用场景:在一个开放环境中,一个工作站用户想通过网络对分布在网络中的各种服务提出请求,那么希望服务器能够只对授权用户提供服务,并能够鉴别服务请求的种类。

Kerberos协议的原理:Kerberos通过提供一个集中的授权服务器来负责用户对服务器的认证和服务器对用户的认证,而不是为每个服务器提供详细的认证协议。

Kerberos名词:

Client:用户。

AS:认证服务器,可以通过查询数据库,判断用户的口令,从而为用户颁发票据授权票据。

Service:某个服务的服务器。

Ticket(TGS):AS颁发给Client的票据授权票据。

Ticket(Service):TGS颁发给Client的服务授权票据。

Kerberos协议交互图:

Q&A:

Q:Kerberos认证协议中TGS服务器可以去掉吗?(我们看到TGS服务器的作用是为拥有Ticket(TGS)的Client颁发Ticket(Service),那么,如果把TGS省略可以吗?肯定不可以。)

A:如果去掉TGS服务器会怎样,我们可以从以下两个角度来考虑:

(1)TGS的作用表面看来是为了为用户针对每项服务颁发票据,但是深层原因是,为了避免Client每次申请某项服务都需要重新输入一次口令的情况。如果把TGS去掉的话,AS就必须承担TGS的作用,AS服务器不仅需要判断Client的口令,为Client颁发票据授权票据,而且还需要起到TGS的作用,判断用户的 票据授权票据 并为每项服务颁发 服务授权票据 。如果不仅去掉TGS,而且把TGS的作用也去掉,那会怎样?在这种情况下,AS就需要每次都判断用户身份,需要用户每次都重新输入口令,就失去了Kerberos存在的意义,可以说TGS的存在是Kerberos发挥作用的关键。

(2)去掉TGS,让AS不仅发挥原来的作用,同时也具有TGS的作用,不是更好吗?其实,这样并不会带来本质区别,因为AS和TGS本来就可以看做是一体的,因为AS和TGS共同组成了Kerberos服务器。

Kerberos应用时候的一点考虑:

Kerberos协议相对繁琐,要取得一项服务票据,首先需要输入口令,得到AS的认证,获得票据,再去得到TGS的认证,再获得票据,再得到服务器的认证,才能接收服务,交互步骤略显复杂。

但是在实际中,用户其实是感觉不到的,因为只需要用户输入口令,后续步骤都是用户使用的工作站上的客户端来完成的,不需要用户的参与,所以对用户而言,是非常方便的。而且,在请求Kerberos内的其他服务的时候,都不需要再输入口令,不需要任何繁琐操作,就可以得到认证,获取服务,用户体验更是非常棒。

Tips:

(1)Kerberos仅仅依赖于对称加密体制,而未使用公钥加密体制。

(2)Kerberos方案基于协议的可信第三方认证服务器(TGS),因此,认证服务器的安全性取决于Kerberos服务器的安全性。

(3)任何想借鉴Kerberos思想的安全认证方案,都必须保证起到TGS作用的实体是绝对安全的。

(4)在进行身份认证的同时,往往也同时完成了密钥分发。

Kerberos认证协议中TGS服务器可以去掉吗?相关推荐

  1. Kerberos认证协议

    序言:近几天学习了Kerberos认证协议,觉得有必要把学习过程和学习心得记录一下,文章内容有William Stallings编著的<网络安全基础>中的部分内容,也有自己的理解和思考.我 ...

  2. Kerberos 认证协议

    Kerberos 认证协议 Kerberos 认证协议是基于对称密钥的认证协议,在详细描述 Kerberos 之前,要先讲两个重要的概念: Master Key:又叫 Long-term Key,这样 ...

  3. 就业协议中的服务器是什么,关于就业协议,你必须知道的

    原标题:关于就业协议,你必须知道的 " 关于就业协议,你必须知道的 " 就业指导处 何峰 就业季,毕业生们投入了大量的时间投递简历.笔试.面试,除此之外,还有一项需要毕业生们高度重 ...

  4. php hmacsha1加密,PHP版OAuth认证协议中的HMACSHA1加密算法(签名方法)

    鼓捣微博API的时候接触到OAuth认证协议,其中的HMACSHA1加密算法(签名方法)百度上找的,分享出来,也许以后有用.呵呵.... function hmacsha1($key,$data) { ...

  5. 关于http协议中的服务器状态情况

    文章目录 http状态码 一览众山小 常见状态码 10x 20x 30x 40x 50x http状态码 一览众山小 1xx 用于指定客户端应相应的某些动作. 2xx 用于表示请求成功. 3xx 用于 ...

  6. 三方协议中的服务器,手把手教你三方协议怎么填

    我们都知道三方协议的签订对于 三方协议怎么填 哦. 关键词: 三方协议怎么填 现在学校发的三方协议大多采用无碳复写纸制作,折痕.划痕都会在第二联和第三联上留下印迹,所以我们在拿到协议后要妥善保管,避免 ...

  7. 服务器ipv4协议认证,基于TCP/IP应用层密码认证协议的研究

    Internet在全世界盛行,它的基础协议就是传输控制协议/网际协议(TCP/IP).TCP/IP是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来以及传送方式 ...

  8. 域渗透 | kerberos认证及过程中产生的攻击

    前言 Windows认证一般包括本地认证(NTLM HASH)和域认证(kerberos). 认证的原理网上有很多文章.如果喜欢听视频课程的话,这里推荐倾旋师傅的分享课 https://www.bil ...

  9. 基于对称加密的密钥分配和Kerberos认证

    基于对称加密的密钥分配和Kerberos认证 对于对称加密,加密双方必须共享同一密钥,而且必须保护密钥不被他人读取.此外,常常需要频繁地改变密钥来减少某个攻击者可能知道密钥带来的数据泄露.因此,任何密 ...

最新文章

  1. 更改android AVD模拟器创建路径位置的方法
  2. 亿级别记录的mongodb批量导入Es的java代码完整实现
  3. ADO.NET Entity Framework学习笔记(2)建模[转]
  4. apache 设置缓存
  5. django学习笔记03
  6. C语言:采用交互式方式打开指定的文件,若文件打开成功,则显示该文件的大小,并显示文件内容,若文件打开失败,则提示出错信息
  7. 云计算机室怎么样映射d 盘,云服务器磁盘如何映射到本地磁盘
  8. 【图像分割】基于matlab随机游走算法图像分割【含Matlab源码 149期】
  9. 《集体智慧编程》第8章 构建价格模型 个人笔记
  10. 中国第一代技术网红,阿里云P10技术专家褚霸:我只是一个程序员 。
  11. Cygwin安装教程
  12. 航空公司客户流失分析
  13. 工具类 - 生成6位短信验证码
  14. 前端在线js文件避免下包,(练手)
  15. 【keras】keras教程(参考官方文档)
  16. 关于python二进制图片转码求解
  17. 手机网速测试软件排行榜,手机网速测试软件排行 手机网速测试软件推荐
  18. java学习第188天,javaWeb学习第47天,复习第23天;p257-262(08/21)-4h
  19. 基于java的课堂点名系统的设计与实现
  20. logback ERROR *.Interpreter@* - no applicable action for [*], current ElementPath is [*]

热门文章

  1. [代码领悟]一日一爬:薄荷健康食物热量
  2. 深度学习模型压缩技术概览
  3. 我的世界1.7.2服务器直连,我的世界1.7.2
  4. 数据挖掘---分类评估指标和回归问题
  5. HTML怎么制作镂空文字遮罩,用纯CSS实现镂空效果的示例代码
  6. 有颜值、会说话的文字,意境满满!
  7. 纸的折法(包括:枫叶,梅花,千纸鹤,小狗,豹子,蛇,大象,狐狸,鹅,老鼠,猴子,骆驼,蜻蜓,蝎子,瓢虫,螳螂,蜜蜂,船和小猫咪)...
  8. Intel TBB开发指南 5 并行化数据流和依赖图
  9. 学习 Intel 线程构建块开源库(TBB)
  10. Android图片加载神器之Fresco,基于各种使用场景的讲解