三、kerberos工作原理
3.1麻省理工kerberos论文
这里对论文中的对话进行简要概括。
A:我有个主意,我们设计一个工作站系统,把系统软件发在不同服务器上,工作站通过网络练到服务器,访问上面的系统软件。
B:我有个问题,比如我找出你的用户名,在你的文件服务器删除你的文件搞破坏怎么办?
A:提供服务的机器必须能够确认请求服务的人的身份。我必须让服务器知道我就是我声称的那个人。我可以通过输入口令的办法证明我自己。
B:这个办法有点笨。如果有一千个用户,那么每台服务器就要知道一千个口令,如果用户想改口令,也要通知每一个服务器。
A:可以这么做。每个用户有自己的口令,每个服务也有自己的口令。有一个认证服务拥有所有用户和服务的口令,将它们保存在一个中央数据库中。
比如说用户想访问邮件服务,用户给认证服务自己的密码,认证服务就把邮件服务的密码给用户,用户就可以访问邮件服务了。但这里有一个问题,认证服务不能把邮件服务的密码直接给用户,那么用户下次就可以直接用密码访问了,绕过了认证服务,我就可以冒充别人用密码访问服务。认证服务给用户一张”票“,票里包含着用户名,用户名是用邮件服务的密码加密的。邮件服务拿自己的密码解密,用得到的用户名对比提供的用户名。如果相符则通过认证。