本文假设已经对kerberos有一定的了解基础上。
kerberos认证涉及到三方: client,KDC(kerberos databse center),server(client需要访问的服务,hdfs等)。
一、kerberos中的key
一种是Long-term Key/Master Key:Master Key是基于密码经过一定规则派生的,对于Long-term Key有这样的原则:被Long-term Key加密的数据不应该在网络上传输。原因很简单,一旦这些被Long-term Key加密的数据包被恶意的网络监听者截获,在原则上,只要有充足的时间,他是可以通过计算获得你用于加密的Long-term Key的——任何加密算法都不可能做到绝对保密。
一种是Short-term Key/Session Key:由于被Long-term Key加密的数据包不能用于网络传送,所以我们使用另一种Short-term Key来加密需要进行网络传输的数据。由于这种Key只在一段时间内有效,即使被加密的数据包被黑客截获,等他把Key计算出来的时候,这个Key早就已经过期了
在kerberos中,KDC保存所有client和server的master key,但不保存和维护session key(KDC会生成session key交给对应的客户端保存维护),每个client和server保存自己的master key和自己作为客户端(server有时也是客户端)时的session key。
二、认证过程:
认证过程共包含4个Sub-protocol:
1、Authentication Service Exchange(AS Exchange)