kerberos安全认证模型
2016-09-26 20:37
92 查看
Kerberos安全认证模型广泛用于互联网客户端和服务器之间的双向认证。
可以用于防止网络replay攻击、恶意破坏、窃听,保证了数据的完整性,是一种对称密钥体制进行密钥管理的系统。
ceph分布式文件系统中的安全认证模块的原型也来源于kerbos
2) 客户机程序在输入的密码上运行一个单向函数(大多数为杂凑),这个成为客户端/用户的密钥。
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:由先前的步骤得到(用户-服务器票据,用服务器的密钥加密)。
§ 消息G:用客户/服务会议密钥加密的一个新的认证,包括客户ID,时间戳。
服务器用它自己的密钥解密票据重新得到客户/服务器会话密钥。用这个会话密钥,服务器解密得到认证,并返回以下消息给客户,确认他的身份真实,并乐于向客户提供服务:
§ 消息H:在客户认证中找到时间戳,加1,用客户/服务器会话密钥加密。
客户使用客户/服务器会话密钥解密确认函,并检查时间戳是否被正确地更新。如果是,客户可以信赖服务器,并可以向服务器发送服务请求。
服务器向客户提供其所请求的服务。
可以用于防止网络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,用客户/服务器会话密钥加密。
客户使用客户/服务器会话密钥解密确认函,并检查时间戳是否被正确地更新。如果是,客户可以信赖服务器,并可以向服务器发送服务请求。
服务器向客户提供其所请求的服务。
相关文章推荐
- hadoop和hbase的安全认证Kerberos部署
- 关于hadoop+kerberos安全认证问题的报错GSS initiate failed 解决
- CDH集群开启Kerberos安全认证
- 关于kerberos安全认证
- js甘露模型
- 基于线程实现的生产者消费者模型(Object.wait(),Object.notify()方法)
- LINUX设备驱动之设备模型一kobject
- (转)iOS Wow体验 - 第六章 - 交互模型与创新的产品概念(1)
- JMS两种消息模型
- 公开课机器学习笔记(7)Softmax回归模型
- Maven学习总结(十一)——Maven项目对象模型pom.xml文件详解
- 坐标转换的布尔莎模型
- 深度学习数据集+模型说明
- 两个线程池模型Demo
- TCP/IP模型
- 浅析IO模型
- Struts2模型驱动(六)
- 解决Entity Framework中大数据模型问题的技巧
- 备忘之软件工程开发模型
- arcgis Engine C++ 多线程 问题【STA MTA COM多线程模型】