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