|
Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供有力的认证服务。该认证过程的实现不需要依赖于主机操作系统的认证、主机地址的确认、以及整个网络的安全保证。基于此情形,网络上传送的数据包可以被读、修改并可以随时插入。Kerberos 通过传统使用的密码技术(如:共享密钥)执行认证服务,为系统提供了一种可靠的第三方(third-party)认证服务。
认证过程具体如下:客户机为特定服务器向认证系统(AS)发送“credentials”请求,然后 AS 会响应这些在客户机密钥中加密的 credentials,即credentials 的构成为:
- 服务器“ticket”;
- 一个临时加密密钥(又称为会话密钥“session key”)。客户机将 ticket (包含在客户机密钥中加密的客户机身份和会话密钥)传送到服务器上。会话密钥可以(现已经由客户机和服务器共享)用来认证客户机或服务器,也可用来为通信双方提供进一步的通信加密服务,或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。
上述认证交换过程适用于只读方式访问 Kerberos 数据库。但有时,数据库中的实体必须进行修改,如添加新的用户或转换用户密钥时。修改过程通过客户机和第三 Kerberos 服务器( Kerberos 管理器 KADM )间的协议完成。有关管理协议在此不作介绍。另外 Kerberos 也是一种用于维护多 Kerberos 数据库备份的协议,这可以认为是执行过程中的细节问题,并且该维护过程会不断改变以适应各种不同数据库技术。 |