kerberos认证协议

什么是kerberos协议,估计很多人都没有通过,实际上它应用非常广泛,在windows域和许多开发平台上应用很广。它应用最多的是统一登录SSO(Single Sign On)框架上应用。 

    什么是SSO,举个例子来说,一个公司开始有个系统A,用户每次登陆都要输入用户名密码鉴权。用来确认用户是合法用户,同时也要确定服务是合法服务,如何确定服务是合法服务呢,通常方法是验证过程不要使用明文密码。用密码(或含有密码的信息和过期时间)做密钥加密得到一串信息,作为验证凭证。这样,如果是非法服务器,没有用户密码信息,当然就解不开。这样就达到双方互相认证的目的。 

    当有一天公司扩张了,又建立了一个系统B,是不是B又搞一套认证系统呢。那B是又搞一套用户名密码,还是把A的用户名密码库copy过来,一般情况下,A是不同意copy的,一是这份数据不能太多分支在其他地方,安全性非常不好。而是还要保持更新。   

    再搞一套用户名密码系统,太挫了。是不倒是后出了系统C,D,E,F…;都要搞个新密码。用户记住密码烦都烦死了。再说这样的设计,拿的出手吗。 

    于是乎就有SSO系统的诞生,就是“一次登录,到处通行”。在B系统登录,通行A,B,C,D…; 或者在C系统登录,通行A,B,C,D…。 

    有人说,那还不简单。建一个session服务器,所有系统到这台机器上认证session。不久解决了。貌似解决方法很简单。但是这里有点问题是:每个系统处理每个请求都要先到session服务器去验证一下,查一下用户是否是合法用户。这样用户量大的话,性能是个问题。性能问题还好解决。严重的是安全问题。假如用户在A系统认证过,分配一个session,然后访问B系统,携带上session。B拿着session去认证系统校验。这样可以确认A是合法用户,但是用户又如何确认B是合法服务,而不是钓鱼服务呢。 

    Kerberos就是解决这样问题,提供统一登录服务。即保证了性能(每个系统自己校验和分配session),有保证安全性(防止用户和服务之间互相欺骗)。关于kerberos个人看个不少资料,觉得最经典的就是那个kerberos对话。有兴趣的网上搜一下。我这里整理了4张PPT,代表认证的4个步骤。比资料容易懂。

   

 

 

 

clip_image004clip_image002

 

clip_image006

 

clip_image008

 

clip_image010

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值