认证与授权的标准概述

认证与授权的标准概述,第1张

进入21世纪,信息化的浪潮席卷了整个世界。可以说,现在的任何一项生产活动都离不开计算机、网络和信息系统,越来越多的组织机构和企业建立了各种计算机信息系统以满足日益激烈的市场竞争的需要。在信息系统中,有两个安全需求是非常重要的:如何保证人员的安全登录和登出?如何控制不同层次的人员使用不同的功能?解决这两个问题的办法是采用认证技术和授权技术。目前常见的方法是分别构建不同的认证授权平台和系统,认证授权属于分散管理模式,其造成的结果是重复建设、无法高效互联互通、管理成本高以及系统总体安全性降低。因此,如何能够设计和建设一个通用架构和基础平台,承载不同组织和机构的信息系统,避免重复建设,实现跨域跨机构、可移植、可信任和可扩展的认证授权与审计,是一个亟待研究解决的问题。

认证和授权是任何信息化的系统都应当包含的功能,因此工业界也讨论和设立了很多关于这方面的标准。其中,认证的需求目标比较独立和明确,关于认证的标准比较多比较全,大众的认知度也比较高。授权管理的需求相对比较分散和模糊,标准不多,应用的实际效果也一般。下面,我们就对这两种标准的应用和发展分别做一个综述。

1、身份认证的标准

这里把认证分为3大类:认证方案类、单点登陆(SSO)协议类和认证实现类。

认证方案是指认证的方式、手段、涉及的设备和协议,最常见例子就是用户名/口令方式,其他的还有一次性口令方案、X.509数字证书方案、生物认证方案、智能卡认证方案、Kerberos认证方案等。这些方案描述的是认证的实体,包括流程、序列、实现,甚至包括数学证明和安全性分析。随着时间的推移,这些方案在不断发明、使用、被攻破的过程中也在不断地优化和改进。

SSO协议指的是集成各种认证方案以实现单点登录目的的协议规范,主要的有安全性断言标记语言(SAML) V1.0/V1.1/V2协议、网络身份统一架构(ID-FF) 1.2协议、WS-FederaTIon协议和.Net Passport协议。其中SAML[5-6]协议由结构化信息标准促进组织(OASIS)制定,规定了SSO在客户端(Browser)和工件(ArTIfact)实现的流程,定义了认证断言和属性断言,它们都遵循万维网联盟(W3C)的XMLSchema规范和XMLSig规范,以可扩展标记语言(XML)的格式描述。ID-FF 1.2协议由Liberty Alliance组织制定,Liberty规范要求建立联盟关系的系统的账号之间要建立映射,通过映射关系间接地实现账号的全局性,目前,该规范有和SAML融合的趋势。SAML的标准化程度比较高,将认证的功能和流程做了统一的规划和定义,各大软件厂商对其支持力度也在逐渐加强;ID-FF使用的技术与SAML越来越趋同;而WS-FederaTIon协议和.Net Passport协议比较封闭,被提及的次数越来越少,有被边缘化的趋势。

认证实现是指工业界形成的实际技术框架标准和开源社区基于标准构建的认证系统,他们虽然在建立之初并没有经过标准化委员会的认证和支持,但是,他们在实际的软件开发人员中有着先入为主的重要印象和深远的范例意义。Java认证授权服务(JAAS)就是一项JAVA领域的实际标准,它规定了一系列的调用接口和规范,提供了灵活和可伸缩的机制来规范客户端或服务器端的JAVA程序。许多基于JAVA技术构建的大型应用和服务,无论是软件巨头推出的产品还是极具影响力的开源社区推出的系统,都已经声称支持这项规范,商用系统有Webshpere和Weblogic等,开源社区有JBoss和Tomcat等。开源社区基于标准构建的认证系统影响力也不小,比如Internet2的Shibboleth,致力于校园网教育系统的认证联盟建立,实现Web资源的共享;又比如Acegi Security为Spring Framework提供一个兼容的安全认证服务;还有耶鲁大学开发的单点登录系统(CAS),在互联网上被讨论的热度也很高。

2、授权管理的标准

授权管理有着悠久的历史,但是发展比较缓慢,基本还是在早期的理论上修补,没有具有突破性质和广泛应用价值的新成果出现。目前比较热门的研究有基于任务的授权、基于工作流的授权等,但离标准的形成和大规模应用还有相当长的距离。

授权管理基础设施(PMI)授权管理基础设施是一种被寄予厚望的授权架构标准,它推荐使用属性证书(由Asn.1格式描述)来定义出现在各种系统中的权限,使用签名技术保护授权。但是由于Asn.1语义艰涩、开放性不够等诸多原因,这项标准发展到现在,应用的状况并不是特别理想。

可扩展的访问控制标记语言(XACML)是目前新兴的授权描述标准,和SAML一样,也是由OASIS定义,它扩展了传统的访问控制列表(ACLs)技术,提供了表达复杂逻辑策略的能力,使得应用程序更加灵活地使用访问控制策略。

Java容器授权合同(JACC)是一种被工业界实际采用却未标准化的技术标准,基于JAVA构建的大型企业应用都在不经意间使用了该项技术,比如在Portal、App Server领域,占据较大市场份额的商用系统都内置了对该技术的支持。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2546091.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-05
下一篇 2022-08-05

发表评论

登录后才能评论

评论列表(0条)

保存