具体过程总结:
1.Client 发送用户名 username 到 kerberos 以向 AS (Authentication Service)请求 TGT 票据信息。
2.kerberos收到请求后,生成随机字符串 Session Key,再使用AS服务的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 TGT,并用用户密码对Session Key加密后和TGT 一起返回给客户端。
3.客户端收到请求后,使用自身的密码解密A得到 Session Key,然后使用 Session Key 对 客户端地址信息、用户名、时间信息 加密得到认证对象,加上 TGT ,发送给 kerberos的 TGS。
4.TGS 收到请求后,使用 AS的 密码解密 TGT,得到 Session Key 和 时间信息以及用户名,同时,使用 TGT 解密出的 Session Key 解密认证对象,得到客户端信息。 比对这两部分解密得到的内容以验证是否通过。
5.第四步通过验证后,TGS生成一个新的session key,再使用client要访问的服务对应的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 ST,并用用户密码对Session Key加密后和ST一起返回客户端
6.客户端收到信息后,用自己的密码解密后得到Session Key和ST,利用Session Key对用户名和地址信息加密后生成一个认证对象,把认证对象和ST一起发送到具体的服务
7.具体服务收到请求后,用自己的密码解密ST后,得到Session Key,利用Session Key解密认证对象,在和ST中的信息对比验证客户端
其中认证对象设计成只能使用一次,生成TGT时的时间信息里设置TGT对应的有效期大一些,而具体服务的有效期时间短一些
通过第二步和第五步的对比可以看出TGS和其他服务的处理过程是一样的,TGS在kerberos中只是一个特殊的服务而已
分享到:
相关推荐
kerberos认证hive连接代码,springmvc配置加上java触发认证kerberos认证
flink写入带kerberos认证的kudu connector
java实现flink订阅Kerberos认证的Kafka消息源码
这个里面是kafka配置kerberos的详细步骤,其方式也可以应用到kafka自带的认证体系
Kerberos认证系统的研究与改进
tableau连接kerberos认证的impala,包含odbc及tableau自身认证两种模式,亲测有效。
用java语言实现的简单的kerberos,可以对客户端进行AS,tgs的认证
kerberos安全认证demo,内含spark、oozie、mr、kafka、hive、hdfs、hbase等认证代码,并有对应开发文档等信息
最近在研究hive数据库,但是Windows环境下hive数据库登录需要kerberos的认证,被kerberos的认真折磨了好几天,差不多把百度翻了个底朝天没找到实际价值,后来终于解决了。总结了一份文档
非常容易理解的kerberos认证过程讲解,kerberos最精华的部分是,让最后的认证发生在client和server之间,没有通过认证机构,节省了时间和服务资源
Hadoop部署和配置Kerberos安全认证全套流程。已经过实测并部署与生产环境。
Kerberos认证系统的设计与实现
Kerberos认证协议的分析与改进,卓见,孙斌,Kerberos是一个研究较多、应用广泛且较成熟的身份认证协议;但是它也存在着一些局限性和缺陷。本文首先阐述Kerberos认证流程,并分析��
1.集群中密钥的管理、分发 2.kerberos的整个工作流程以及认证机制
二、实验环境实验所使用的设备名称及规格,网络管理工具简介、版本等 三、实验内容与实验要求实验内容、原理分析及具体实验要求 四、实验过程与分析根据具体实验,记录、
Kerberos 认证流程
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务
基于Kerberos的身份认证机制研究
spark scala认证和代理认证hadoop的kerberos代码示例。
kerberos安全认证demo,内含spark、oozie、mr、kafka、hive、hdfs、hbase等认证代码,并有对应开发文档等信息。。。