课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
身份验证是我们在学习软件加密技术的时候需要重点掌握的一个编程技术,下面我们就通过案例分析来了解一下,身份验证协议包含哪些类型。
单点登录协议:非Web
SSO协议可以大致分为Web和非WebSSO协议。受欢迎的非WebSSO协议是Kerberos。
Kerberos允许客户端使用定制的身份验证协议向身份验证服务器发起身份验证;客户端会收到一个票证,该票证能以密码方式向应用程序服务器发起身份验证,而无需与Kerberos身份验证服务器之间进一步的通信(验证服务器在用户登录后可能会关闭,并且不会立即让所有应用程序无法访问)。
该协议还支持客户端来验证服务器,以及服务器来验证客户端。如今,*nix和WindowsActiveDirectory环境都使用Kerberos。对于客户端到应用程序的身份验证,通常不直接在身份验证框架内将其实现为身份验证方法。
相反,它通常是通过GSSAPI调用的,并且是主要的用法,例如SASLGSSAPI方法、HTTPNegotiate(GSSAPI)身份验证方法和SSHGSSAPI身份验证方法。
有趣的是,Kerberos的当前版本Kerberos5于1993年发布,因此仅依赖对称加密,避免了对非对称加密的依赖。如果Kerberos是今天设计的,则它可能会使用公钥加密,并且对中心化身份验证服务器的依赖会稍少一些。
不幸的是,Web的极速增长看来已经侵蚀了所有非web协议(无论是身份验证还是其他用途)的发展空间。(但Kerberos5仍然是安全的。)
单点登录协议:Web
对于WebSSO协议,客户端到身份验证服务器协议一直是标准的Web形式,也就是表单-cookies形式。客户端到应用程序服务器的身份验证协议却很特殊。
通常,当应用程序服务器希望对客户端进行身份验证时,它将通过HTTP重定向将客户端引向SSO身份验证服务器。如果客户端尚未通过中心化验证,则会要求它进行验证;否则,如果客户端已经完成单点登录,则流程将继续进行而无需用户干预。
在对用户完成身份验证之后,身份验证服务器会通过另一个HTTP重定向将客户端引回到应用程序服务器。返回请求包含从身份验证服务器传输到应用程序服务器的身份验证信息,以建立客户端的凭据。该数据本身将以某种方式进行身份验证,以防止客户端对其修改。由于信息从身份验证服务器到应用程序服务器的传递是通过客户端进行的,因此客户端就像是携带花粉的蜜蜂。在某些SSO实现中,应用程序服务器可以直接回调身份验证服务器,以验证它已通过客户端接收到的信息。在其他SSO实现中,通过客户端从身份验证服务器传递到应用程序服务器的信息是加密保护的,不需要进一步验证。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。