(1)用户认证分为两类:一种是基于对称加密的远程用户认证,第二种是基于非对称加密的远程用户认证。但是,不论是基于对称加密的,还是基于非对称加密的,每一种认证又可以按照是否双方都需要互相认证对方的身份而分为:单向认证和双向认证。
(2)基于对称加密的远程用户认证:不需要公私钥,但是需要KDC(Key Distribution Center,密钥分发中心)的存在。不论是单向认证还是双向认证,都需要KDC的存在。(或者称为AS,或者称为其他名称,在应用中扮演KDC角色的主体名字虽然不叫KDC,但是具有KDC的作用。)
(3)基于非对称加密的远程用户认证:需要公私钥。分两类说明:
双向认证:需要KDC的存在;
单向认证:比如发送电子邮件,接受者需要验证发送者的身份,属于单向认证,这时候,可以用发送者的私钥验证发送者的身份,可以用接受者的公钥来保证邮件内容的保密性。如果要保证密钥的新鲜性的话,还是需要KDC的存在的,否则KDC可以不存在。
说明:上面的分类都是属于思想或者协议层面的,并不是真正用于工程操作的方案,而Kerberos是在上述思想之下的一种可以执行的方案。
(4)Kerberos属于基于对称加密的远程用户认证,可以实现单向认证,也可以实现双向认证。
(5)身份认证往往是和密钥分发结合在一起完成的。
(6)联合身份认证:是一个集中式的自动的方法,提供雇员或者其他授权的个人对资源拥有企业范围的访问。简单说,就是为了让用户访问多个服务的时候尽量减少输入口令等操作。
主要概念有两个:SSO和RSO。
SSO(Single Sign-On):单点登录,使用户经过一次认证之后就可以访问所有网络资源。
RSO(Reduced Sign-On):简化登录,可能需要多次认证登录,但是比每个资源和服务都要认证时需要的用户开销要少。
SSO的例子:我们登录QQ之后,不需要再重新登录就可以访问QQ空间,QQ邮箱等属于腾讯公司的所有的资源或者服务。
但是,需要在浏览器中应用腾讯的SSO模块。
如下图所示:
(7)Kerberos包含许多身份管理系统的要素。