Kerberos:网络认证协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Kerberos :网络认证协议
Kerberos 这一名词来源于希腊神话“三个头的狗
地狱之门守护者”
Kerberos 是一种网络认证协议,其设计目标是通过密
钥系统为客户机/ 服务器应用程序提供强大的认证服务。
认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址
的信任,不要求网络上所有主机的物理安全,并假定
网络上传送的数据包可以被任意地读取、修改和插入数据。
在以上情况下,Kerberos 作为一种可信任的第三方认证服
务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
认证过程具体如下:客户机向认证服务器(AS )发送请
求,要求得到某服务器的证书,然后AS 的响应包含这些用
客户端密钥加密的证书。证书的构成为:1) 服务器“ ticket ;”2)一个临时加密密钥(又称为会话密钥session key ”。) 客户机将ticket (包括用服务器密钥加密的客户机身份和份会话
密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和
服务器共享)用来认证客户机或认证服务器,也可用来为通信双方
以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方
提供进一步的通信加密服务。
述认证交换过程需要只读方式访问Kerberos 数据
库。但有时,数据库中的记录必须进行修改,如添加新的规 则或改变规则密钥时。修改过程通过客户机和第三方
Kerberos 服务器( Kerberos 管理器 KADM )间的协议完
成。有关管理协议在此不作介绍。另外也有一种协议用于维 护多份 Kerberos 数据库的拷贝,这可以认为是执行过程中 的细节问题,并且会不断改变以适应各种不同数据库技术。
Kerberos 又指麻省理工学院为这个协议开发的一套计
算机网络安全系统。系统设计上采用客户端 /服务器结构与 DES 加密技术, 并且能够进行相互认证, 即客户端和服务器 端均可对对方进行身份认证。 可以用于防止窃听、 防止 replay
攻击、保护数据完整性等场合,是一种应用对称密钥体制进 行密钥管理的系统。 Kerberos 的扩展产品也使用公开密钥加 密方法进行认证。
编辑本段协议结构
Kerberos 信息 * 客户机 / 服务器认证交换
向客户机 KRB_AS_REP 或 KRB_ERROR * 客户机 /服务器认证交换
信息方向 信息类型
信息方向 信息类型
客户机向 Kerberos KRB_AS_REQ
Kerberos
客户机向应用服务器 KRB_AP_REQ
[可选项 ] 应用服务器向客户机 KRB_AP_REP 或
KRB_ERRORR
* 票证授予服务( TGS )交换
包括创建和读取认证请求,以及创建 safe message 和
private message 的子程序。
加密 /解密库: DES 等。
Kerberos 数据库:记载了每个 Kerberos 用户的名字,
对数据库进行操作。
认证服务器 (AS) :存放一个 Kerberos 数据库的只读的
信息方向 信息类型
客户机向 Kerberos KRB_TGS_REQ
Kerberos 向客户机 KRB_TGS_REP 或 KRB_ERROR
* KRB_SAFE 交换
* KRB_PRIV 交换
* KRB_CRED 交换
Kerberos 的是 MIT 为雅典娜 (Athena) 计划开发的认证 系统。 Kerberos 的组成
Kerberos 应用程序库: 应用程序接口,
私有密钥, 截止信息 (记录的有效时间, 通常为几年 ) 等信息。
数据库管理程序:管理 Kerberos
数据库 KDBM 服务器 (数据库管理服务器 ):接受客户端的请求
副本,用来完成principle 的认证,并生成会话密
钥.
数据库复制软件:管理数据库从KDBM 服务所在的机器,
到认证服务器所在的机器的复制工作,为了保持数据库的
致性,每隔一段时间就需要进行复制工作.
用户程序:登录Kerberos ,改变Kerberos 密码,显示和破坏Kerberos 标签(ticket )等工
作。
Microsoft Windows Server 2003 操作系统上实现
了
Kerberos5 身份验证协议。Windows Server2003 总是使用扩展公钥身份验证机制。KerBeros 身份验证客户端作为SSP Security Support Provider )通过访问SSPI
( Security
Support Provider Interface )来实现身份验证。用户身份验
证初始化过程被集成在Winlogon 这SSO(Single Sign-On )
体系中。
编辑本段Kerberos 缺陷 1.失败于单点:它需要中心服务器的持续响应。当Kerberos 服务结束前,没有人可以连接
到服务器。这个缺陷可以通过使用复合Kerberos 服务器和缺陷认证机制弥补。
2.Kerberos 要求参与通信的主机的时钟同步。票据具有定有效期,因此,如果主机的时钟与Kerberos 服务器的时钟不同步,认证会失败。默认设置要求时钟的时间相差不
超过10 分钟。在实践中,通常用网络时间协议后台程序来