您的位置:首页 > 其它

kerberos安全认证模型

2016-09-26 20:37 92 查看
Kerberos安全认证模型广泛用于互联网客户端和服务器之间的双向认证。

可以用于防止网络replay攻击、恶意破坏、窃听,保证了数据的完整性,是一种对称密钥体制进行密钥管理的系统。

ceph分布式文件系统中的安全认证模块的原型也来源于kerbos

具体的认证流程:

用户登录:

1)    用户输入用户名和密码到客户端

2)        客户机程序在输入的密码上运行一个单向函数(大多数为杂凑),这个成为客户端/用户的密钥。

客户端认证:

1)        客户端向认证服务器发送一个明文消息,代表用户请求服务。只发送“用户AAA想请求服务”,不用发送密钥,也不需要发送密码。

2)        认证服务器检验这个用户AAA是否在它的数据库中。若在,认证服务器返回以下2条信息给用户:

a)        消息A:使用客户端密钥加密的客户端/票据授权会话密钥

b)       消息B:用票据授权密钥加密的票据授权票据(包含:客户ID、客户网络IP地址、票据有效期、客户端/票据授权会话密钥)

3)        客户端受到消息A和消息B,他解密得到消息A的客户端/票据授权会话密钥。客户端/票据授权会话密钥是在将来与票据授权服务器通信上(客户端不能解密消息B,因为它是用票据授权服务器的密钥加密的),这样客户端有足够的信息向票据授权服务器证明自己的身份。

服务器认证:

当申请服务时,客户向票据授权服务器发送以下两条消息:
消息C:由从消息B中获取的票据授权票据和申请服务的ID组成。
消息D:用客户端/票据授权会议密钥加密的认证(由客户ID和时间戳组成)。
基于收到的消息C和D,票据授权服务器从消息C中重新获取消息B。它用密钥解密消息B。这一步使他得到"客户端/票据授权会话密钥"。通过使用这个密钥,票据授权服务器解密消息D(认证),而后返回给客户端以下两条信息:
§ 消息E:用服务器密钥加密的用户-服务器票据(包括客户ID, 客户网络地址,客户/服务器会话密钥的有效期)。
§ 消息F:用客户端/票据授权会话密钥加密的客户/服务器会议密钥。

用户服务申请:

基于从票据授权服务器收到的消息E和F,客户有足够的信息向服务器认证自己。客户联系服务器,并向他发出以下两条消息:
§ 消息E:由先前的步骤得到(用户-服务器票据,用服务器的密钥加密)。
§ 消息G:用客户/服务会议密钥加密的一个新的认证,包括客户ID,时间戳。
服务器用它自己的密钥解密票据重新得到客户/服务器会话密钥。用这个会话密钥,服务器解密得到认证,并返回以下消息给客户,确认他的身份真实,并乐于向客户提供服务:
§ 消息H:在客户认证中找到时间戳,加1,用客户/服务器会话密钥加密。
客户使用客户/服务器会话密钥解密确认函,并检查时间戳是否被正确地更新。如果是,客户可以信赖服务器,并可以向服务器发送服务请求。
服务器向客户提供其所请求的服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ceph kerberos