、 基本原理
Authentication解决的是“如何证明某个确确实实就是他或她所声称的那个”的问题。对于如
何进Authentication,我们采这样的法:如果个秘密(Secret)仅仅存在于A和B,那么有个
对B声称就是A,B通过让A提供这个秘密来证明这个就是他或她所声称的A。这个过程实际
上涉及到3个重要的关于Authentication的:
Secret如何表。
A如何向B提供Secret。
B如何识别Secret。
基于这3个,我们把Kerberos Authentication进最限度的简化:整个过程涉及到Client和
Server,他们之间的这个Secret我们个Key(KServer-Client)来表。Client为了让Server对进
有效的认证,向对提供如下两组信息:
代表ClientIdentity的信息,为了简便,它以明的形式传递。
将Client的Identity使KServer-Client作为Public Key、并采对称加密算法进加密。
由于KServer-Client仅仅被Client和Server知晓,所以被Client使KServer-Client加密过的Client
Identity只能被Client和Server解密。同理,Server接收到Client传送的这两组信息,先通过KServer-
Client对后者进解密,随后将机密的数据同前者进较,如果完全样,则可以证明Client能够
提供正确的KServer-Client,这个世界上,仅仅只有真正的Client和知道KServer-Client,所以可
以对就是他所声称的那个。
Keberos体上就是按照这样的个原理来进Authentication的。但是Kerberos远这个复杂,
我将在后续的章节中不断地扩充这个过程,知道Kerberos真实的认证过程。为了使读者更加容易理解
后续的部分,在这我们先给出两个重要的概念:
Long-term Key/Master Key:在Security的领域中,有的Key可能长期内保持不变,如你在
密码,可能年都不曾改变,这样的Key、以及由此派的Key被称为Long-term Key。对于Long-
term Key的使有这样的原则:被Long-term Key加密的数据不应该在络上传输。原因很简单,
旦这些被Long-term Key加密的数据包被恶意的络监听者截获,在原则上,只要有充的时间,
他是可以通过计算获得你于加密的Long-term Key的——任何加密算法都不可能做到绝对保密。