Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5943069
  • 博文数量: 680
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 11839
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

大数据、ML、AI、云计算openstack、Linux、SpringCloud。

文章分类

全部博文(680)

分类: 云计算

2015-01-15 18:38:10

Kerberos:网络认证协议  (RFC4121) 本意希腊神话:三个头的狗——地狱之门守护者
(Kerberos: Network Authentication Protocol)
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。
认证过程具体如下:客户机向认证服务器(AS)发送请求,要求得到某服务器的证书,然后 AS 的响应包含这些用客户端密钥加密的证书。证书的构成为: 1) 服务器 “ticket” ; 2) 一个临时加密密钥(又称为会话密钥 “session key”) 。客户机将 ticket (包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或认证服务器,也可用来为通信双方以后的通讯提供加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。
上述认证交换过程需要只读方式访问 Kerberos 数据库。但有时,数据库中的记录必须进行修改,如添加新的规则或改变规则密钥时。 修改过程通过客户机和第三方 Kerberos 服务器(Kerberos 管理器 KADM)间的协议完成。有关管理协议在此不作介绍。另外也有一种协议用于维护多份 Kerberos 数据库的拷贝,这可以认为是执行过程中的细节问题,并且会不断改变以适应各种不同数据库技术。
Kerberos又指麻省理工学院为这个协议开发的一套计算机网络安全系统。系统设计上采用客户端/服务器结构与DES加密技术,并且能够进行相互认证,即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。Kerberos的扩展产品也使用公开密钥加密方法进行认证。

Kerberos 信息
* 客户机/服务器认证交换
<
信息方向 信息类型
客户机向 Kerberos KRB_AS_REQ
Kerberos 向客户机 KRB_AS_REP或KRB_ERROR
* 客户机/服务器认证交换
信息方向 信息类型
客户机向应用服务器 KRB_AP_REQ
[可选项] 应用服务器向客户机 KRB_AP_REP或 KRB_ERROR
* 票证授予服务(TGS)交换
信息方向 信息类型
客户机向 Kerberos KRB_TGS_REQ
Kerberos 向客户机 KRB_TGS_REP或KRB_ERROR
* KRB_SAFE 交换
* KRB_PRIV 交换
* KRB_CRED 交换
Kerberos的是MIT为雅典娜(Athena)计划开发的认证系统。
Kerberos的组成
Kerberos应用程序库:应用程序接口,包括创建和读取认证请求,以及创建safe message 和private message的子程序。
加密/解密库:DES等。
Kerberos数据库:记载了每个Kerberos 用户的名字,私有密钥,截止信息(记录的有效时间,通常为几年)等信息。
数据库管理程序:管理Kerberos数据库
KDBM服务器(数据库管理服务器):接受客户端的请求对数据库进行操作。
认证服务器(AS):存放一个Kerberos数据库的只读的副本,用来完成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)体系中。
4缺陷编辑
1.失败于单点:它需要中心服务器的持续响应。当Kerberos服务结束前,没有人可以连接到服务器。这个缺陷可以通过使用复合Kerberos服务器和缺陷认证机制弥补。
2.Kerberos要求参与通信的主机的时钟同步。票据具有一定有效期,因此,如果主机的时钟与Kerberos服务器的时钟不同步,认证会失败。默认设置要求时钟的时间相差不超过10分钟。在实践中,通常用网络时间协议后台程序来保持主机时钟同步。
3.管理协议并没有标准化,在服务器实现工具中有一些差别。
4.因为所有用户使用的密钥都存储于中心服务器中,危及服务器的安全的行为将危及所有用户的密钥。
阅读(2107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~