Sso是软件还是技术,实现sso的技术有哪些?

来自Wenbanzhu
跳转至: 导航搜索

待解问题.png 问题

Sso是软件还是技术,实现sso的技术有哪些?.jpg
--Ly651686474 2010年4月22日 (四) 10:25 (CST)

问题具体描述:Sso是软件还是技术,实现sso的技术有哪些?


最新回答.png 回答

Sso的介绍

SSO:英文全称Single Sign On,意思是单点登录,是一种技术。

  • SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。
  • SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。

sso技术的出现原因

  • 目前的企业应用环境中,往往有很多的应用系统,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等等。这些应用系统服务于企业的信息化建设,为企业带来了很好的效益。
  • 但是,用户在使用这些应用系统时,并不方便。用户每次使用系统,都必须输入用户名称和用户密码,进行身份验证;而且应用系统不同,用户账号就不同,用户必须同时牢记多套用户名称和用户密码。
  • 特别是对于应用系统数目较多,用户数目也很多的企业,这个问题尤为突出。问题的原因并不是系统开发出现失误,而是缺少整体规划,缺乏统一的用户登录平台,使用SSO技术可以解决以上这些问题。

sso的实现技术

单点登录sso的技术实现机制

  • 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;
  • 根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket;
  • 用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行效验,检查ticket的合法性。
  • 如果通过效验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

实现SSO的技术主要有

1、基于cookies实现,需要注意如下几点:

  • 如果是基于两个域名之间传递sessionid的方法可能在windows中成立,在 unix&linux中可能会出现问题;
  • 可以基于数据库实现;在安全性方面可能会作更多的考虑。
  • 另外,关于跨域问题,虽然cookies本身不跨域,但可以利用它实现跨域的SSO。

2、Broker-based(基于经纪人):例如Kerberos等;

  • 这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。
  • 中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的“第三方”。例如Kerberos、Sesame、IBM KryptoKnight(凭证库思想)等。

3、Agent-based(基于代理)

  • 在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。
  • 这个代理程序需要设计有不同的功能。比如,它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个“翻译”。例如SSH等。

4、Token-based:例如SecurID、WebID。现在被广泛使用的口令认证,比如FTP,邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。

5、基于网关:Agent and Broker-based。

6、基于安全断言标记语言(SAML)实现:SAML(Security Assertion Markup Language,安全断言标记语言)的出现大大简化了SSO,并被OASIS批准为SSO的执行标准。开源组织OpenSAML 实现了 SAML 规范。

相关视频

XP sp3客户端的单点登录

参考网站

明星版主.png 版主: 本页回答由版主“Ly651686474”负责,您可以查看Ly651686474介绍和编辑或者给Ly651686474留言


分类浏览.png 分类网络|系统|技术|sso|是什么|软件|实现

讨论.png 讨论

关于“Sso是软件还是技术,实现sso的技术有哪些?”的留言:

目前暂无留言

新增相关留言