第一范文网 - 专业文章范例文档资料分享平台

本科毕业设计-WEB单点登录系统的研究与设计

来源:用户分享 时间:2025/6/9 17:23:15 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第二章 单点登录系统相关技术与规范 9

3.授权(authorization), 4.和审计(auditing)。 2.2.3 嵌入式认证模块(PAM)

PAM(Pluggable Authentication Modules )[6]是由Sun提出的一种用于实现应用程序的认证机制。其核心是一套共享库,目的是提供一个框架和一套编程接口,将认证工作由程序员交给管理员,PAM允许管理员在多种认证方法之间作出选择,它能够改变本地认证方法而不需要重新编译与认证相关的应用程序,同时也便于向系统中添加新的认证手段。

PAM最初是集成在Solaris中,目前已移植到其它系统中,如Linux、SunOS、HP-UX 9.0等,并在Linux中得到广泛的应用。 PAM的设计目标是:

1.管理员可以选择认证方式,从简单的密码到智能卡系统。

2.可以为不同的程序配置不同的认证机制。如 使telnet使用 S/Key认证。而本机的 login 缺省使用一般的 UNIX password。

3.支持程序的显示方式的需求。如login 需要基于终端的显示,而dtlogin需要X显示, 而`ftp' 和 `telnet'需要透过网络来认证。

4.支持为一个程序配置同时使用多种认证机制。

5.可是用户在使用多种认证机制时,不必为同一个密码敲入多次。 6.可是用户在认真时需要输入多个密码。 7.当底层的认证机制改变时上层软件不需要修改。 8.结构为system authentication提供一个pluggable_ model。 9.必须能满足现有的服务需要。 PAM的功能包括:

1.加密口令(包括DES以外的算法); 2.对用户进行资源限制,防止Dos攻击; 3.允许随意Shadow口令;

4.限制特定用户在指定时间从指定地点登录;

5.引入概念\,使PAM支持C/S应用中的机器--机器认证

10 WEB单点登录系统的研究与设计

成为可能。

PAM为更有效的认证方法的开发提供了便利,在此基础上可以很容易地开发出替代常规的用户名加口令的认证方法,如智能卡、指纹识别等认证方法。

2.3 现实解决方案

2.3.1 Broker-Based(基于经纪人) SSO方案

这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人

[7]

给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,

并为认证提供一个公共和独立的\第三方\。例如Kerberos(如图2-2所示)、Sesame、IBM KryptoKnight(凭证库思想)等。

图2-2 Kerberos图例

该方案采用一个中央数据库来管理用户数据,可能遇到的问题是如果中央数据库当机,会导致所有应用系统无法认证使用。并且对于旧系统的改造也是使用该方案的一个挑战。

2.3.2 Agent-Based (基于代理人) SSO方案

在一个基于代理人的解决方案中,有一个自动地为不同的应用程序认证用户

第二章 单点登录系统相关技术与规范 11

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

SSH的英文全称是Secure Shell。通过使用SSH,你可以把所有传输的数据进行加密,这样就能够防止DNS和IP欺骗。这是一个为在网上进行安全连接的客户/服务器类型加密软件,实现了一个密钥交换协议,以及主机及客户端认证协议。SSH的用户可以使用包括RSA算法的不同认证方法。当使用RSA认证时,代理程序可以被用于单点登录。代理程序可以在PC,便携机,或终端上运行,当被认证身份加入到代理程序中,如果该代理程序有新的子连结产生,则继承原有连结的认证。远程系统往往需要一个SSH服务器,用以与代理程序通信。

利用个性化的安全代理来实现时,每个运行SSH 的主机(不管是服务器还是客户端)必须有一个安全代理程序在上面运行。例如,要获得主机密码和服务器密码,个性化代理参与如下的两部分:

1.密钥生成和存储:当服务器需要生成主机密码和服务器密码时,它会要求本地的安全代理来完成这一工作。本地安全代理或是自己生成密钥对,或是要求另一个安全代理来生成。SSH协议并不区分这两种情况。生成的密钥由安全代理保管,在需要时使用。

2.身份认证:当客户端得到主机密码或服务器密码,它要传给自己的安全代理,由安全代理负责对密码进行认证。作为认证结果,安全代理会返回\成功\或\失败\。SSH协议本身不关心有关密码的细节。稍后,如果有新的公钥算法引入SSH,只需要替换安全代理的部分。 2.3.3 Token-Based(基于令牌) SSO方案

现在被广泛使用的口令认证,比如FTP,邮件服务器的登陆认证,都可被称为\口令的认证。这是一种简单易用的方式,同时也是一种会带来很多安全隐患的方式。比如:易于猜测,很少进行更换,一个口令在多种应用当中使用等等一会危及安全的习惯。再如,在明文传输的网络环境里,经常使用并很少更换的口令,更易于被窃取和造成危害。

12 WEB单点登录系统的研究与设计

RSA公司提出的一种称为SecurID的解决方案。与\不同是是它被称之为\双因素的认证。构成认证的第一个因素是Personnel Identification Number (PIN),即用户身份识别码,这是一串保密的数字,可由系统管理员订制。第二个要素是SecurID token,一个小型的数字发生器,这个发生器的时钟将与网络环境中提供身份鉴别的服务器(ACE)保持同步,并且与ACE上的用户数据库保持映射。数字发生器每隔一段时间(比如一分钟)产生新的数字,PIN + 同步时钟数字就是用户的登录代码。

解决方案中也有种被称为WebID的模块。在Web服务器上安装一个ACE服务器的代理程序,用来接受SecurID。当访问第一个需要认证的URL时,WebID会软件产生并加密一个标识,这个标识将在访问其他资源的时候被用到。 2.3.4 Agent and Broker-Based SSO方案

通过字面我们知道这是Agent 与 Broker的结合方案。当Agent-Base的解决方案和Broker-Base的解决方案被相结合时,就结合前者的灵活性和后者的中央式管理两方面的优势。Agent-Base的好处还在于是减少了改变网络应用程序的的代价。这样,与Kerberos相比,就不需要\化的应用程序。 2.3.5 Gateway-Based(基于网关) SSO 方案

在Broker-Based的方案中,会在网络中放置一个\看门狗\的模型。而Gateway-Based则是另一种单点登录的方法,具体的做法是提供类似象\门\一样的网关用以安全的接入到可信的网络服务。网关可以是防火墙, 或者是专门用于通讯加密的服务器。在这种方案,所有的响应服务都需要放在被网关隔离的受信网段里。Client通过网关进行认证后获得接受服务的受权。如果在网关后的服务能够通过IP地址进行识别,并在网关上建立一个基于IP的规则,而这个规则如果与在网关上的用户数据库相结合,网关就可以被用于单点登录。网关将记录Client的身份不再需要冗余的认证请求,便可授权所要求的服务。由于网关可以监视并改变应用服务的数据流,所以在不修改应用服务的同时,改变认证信息,并能提供合适的访问控制。

本科毕业设计-WEB单点登录系统的研究与设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7v9dx4c86g01k8300wxv0h1ll01eyq01c4n_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top