Kerberos认证协议中TGS服务器可以去掉吗?
2014-08-21 21:42
357 查看
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协议的原理: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)在进行身份认证的同时,往往也同时完成了密钥分发。
相关文章推荐
- android客户端与服务器交互数据(基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合)
- REST = HTTP动词(GET POST PUT DELETE)操作 + 服务器暴露资源URI,最后返回状态码(充分利用HTTP自身的特征,而不仅仅是把HTTP当作传输协议。Rest协议是面向资源的,SOAP是面向服务的),表现形式可以是JSON XML BIN,举例很清楚
- windows下快速安装可以通过http和https访问的subversion服务器
- 中小企业服务器配置方案(三个重要的邮件系统相关协议) SMTP协议: POP3协议 IMAP4协议
- 发布 监控视频回放工具 适用于 vbox协议的视频服务器
- 电骡协议规范-第二章-客户端和服务器TCP通讯
- 为什么在外网可以用域名访问我们的web服务器,而在内网则不行
- 电骡协议规范(三):客户端和服务器之间的UDP通讯
- 两个可以查一台服务器上放多少个网站的地址
- Step2:服务器及协议的定义
- 去掉代码中的空行和注释行,可以使用以下正则表达式替换。
- 限制服务器上的指定用户可以拥有的磁盘空间或文件个数
- 与基于udp协议的tracker服务器进行交互
- 如何写可以不提交服务器而把输入内容保存在本机的HTML文件
- 使用Visual Studio.Net,系统报告“automation服务器不能创建对象”错误。解决之道运行:regsvr32 scrrun.dll 就可以了。
- 希望小站的服务器早日恢复,先把个人小站做成没什么美工但可以练下web应用程序开发的技术
- dsoFramer 控件修改好了,现在可以成功保存到web服务器上
- TcpTracts( 利用服务器,用于两个或多个私网之间建立tcp连接,可以用于发文件,传语音等 )
- 今天整理硬盘居然发现了以前写的网站服务器监测程序,可以监测服务器当机否,并可EMAIL通知
- 为什么本地测试requiredfieldvalidator可以,但上传到服务器就验证不了