目录
参考文档:
协议: 协议
主要命令: 主要命令
1、Kerberos是什么
Kerberos是一种一种网络身份验证协议,只包括验证环节,不负责授权。它旨在通过使用密钥加密技术为客户端/服务器应用程序提供强身份验证。
用户只需输入一次身份验证信息,就可凭借此验证获得的票据授予票据(ticket-granting ticket)访问多个接入Kerberos的服务,即SSO(Single Sign On,单点登录)。
在Kerberos认证中,最主要的问题是如何证明“你是你”的问题,如当一个Client去访问Server服务器上的某服务时,Server如何判断Client是否有权限来访问自己主机上的服务,同时保证在这个过程中的通讯内容即使被拦截或篡改也不影响通讯的安全性,这正是Kerberos解决的问题。
2、主要角色
在Kerberos协议中主要是有三个角色的存在:
- 访问服务的Client
- 提供服务的Server
- KDC(Key Distribution Center)密钥分发中心
KDC服务默认会安装在一个域的域控中,而Client和Server为域内的用户或者是服务,如HTTP服务,SQL服务等。KDC服务作为客户端和服务器端信赖的第三方,为其提供初始票据(initial ticket)服务和票据授予票据(ticket-granting ticket)服务,前半部分被称为AS,后半部分被称为TGS:
- AS: Authentication Server,认证服务,用来验证Client端的身份,验证通过就会给一张TGT(Ticket Granting Ticket)票给Client。
- TGS: Ticket Granting Server,许可证服务,用来将AS发送给Client的TGT换取访问Server端的票据ST(Service Ticket)。有的地方也称呼ST为TGS Ticket,或者直接叫Ticket。
3、基本概念
Kerberos协议相关角色相关的概念:
- Principal:安全个体,具有唯一命名的客户端或服务器。命名规则:主名称+实例+领域,如sherlocky/admin@EXAMPLE.COM
- SS:特定服务的提供端(Service