跳到主内容
快讯直播
AI智模界
AI 词典

Kerberos:不传密码,只传票据

一句话定义:Kerberos 是一种基于对称加密和可信第三方(KDC,Key Distribution Center,密钥分发中心)的网络认证协议。用户只需向系统证明一次身份,之后凭“票据”(ticket)访问各个服务,密码不必在网络上反复传输。

它是怎么运作的:可以把 KDC 想象成公司前台,它持有你自己的“身份底档”和每个部门的“公章”。你去前台核验身份(这一步才用到密码或密钥),前台发给你一张通行证(TGT,Ticket Granting Ticket)。之后你要进财务系统,就拿通行证去前台换一张“财务系统专用入场券”(service ticket)。这张券上盖着只有财务系统才认得的章;你把券递给财务系统,它自己验章即可,既不用认识你,也不用联系前台。通行证和入场券都有有效期,过期后重新换。

关键设计有两点:第一,服务票据中有一段用该服务自己的密钥加密的内容,只有该服务能解开,因此它能独立验票;第二,票据里带时间戳以防重放,因此 Kerberos 对时钟同步极其敏感,机器时间偏差超出容忍窗口就会被拒绝。

和相邻概念的区别:

对比项KerberosOAuth 2.0 / OIDCLDAP每次请求带密码
主要作用认证授权为主、认证为辅目录查询认证
典型场景企业内网、大数据集群Web、移动端、第三方登录组织架构、账号库简单脚本、内部接口
凭证形态对称密钥加密的票据令牌(常为签名 JWT)绑定查询结果明文或 Base64
是否支持双向认证支持一般不支持不涉及不涉及

需要澄清一点:Active Directory 是目录服务,Kerberos 是它默认使用的认证协议,两者不是一回事。

对从业者的实际意义:在大数据集群里,HDFS、YARN、Hive、HBase、Kafka、ZooKeeper 这类组件普遍提供 Kerberos 支持,不少企业集群会强制开启。原因是集群多租户、服务长期驻留、机器之间频繁互相调用,不可能靠人每次输密码,于是用 keytab 文件代替密码,由 KDC 统一签发身份。内部 AI 平台也是同理:Notebook、训练任务提交、模型服务、特征库之间互相调用时,先拿到票据再访问,权限系统(如 Ranger 一类)再基于这个身份做细粒度授权。对普通职场人来说,登录一次电脑就能访问文件服务器和内部系统,背后往往就是这套机制在工作。运维上最常见的坑是:时钟不同步、keytab 保管不当(它等同于密码)、服务主体名(SPN)配置错误。具体命令与参数以所用组件的官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。