IBM跨域认证简单解决方案
更新时间:2023-05-16 13:32:01 阅读量: 实用文档 文档下载
- 跨域认证是什么意思推荐度:
- 相关推荐
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已
跨域认证简单解决方案-使用第三方Cookie
概述
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。 对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难 已实现,也不太可能搭建单独的服务器。有没有一种简单又安全的认证方式呢?
本文的目标
使用Cookie和SHA1结合实现简单又安全的认证,如用户在中登录后,无需再次登录就可以 直接使用中提供的服务。
Cookie是什么
Cookie 是由 Web 站点创建的小文本文件,存储在您的计算机上。这样,当您下一次访问该站点时,它可以 自动获取有关您的信息,例如浏览喜好,或您的姓名、地址及电话号码。
关键词
SSO(Single Sign-On)-单点登录
SAML(Security Assertions Markup Language)-安全断言标记语言
Cross-Realm Authentication -跨域认证
PKI(Pubic Key Infrastructure)-公开密钥技术
SHA1(Secure Hash Algorithm 1)-安全哈希算法 1
P3P(The Platform for Privacy Preferences)隐私参数选择平台
单一认证模型
1、用户使用a_logon.aspx登录服务器
2、在a_logon.aspx中自动嵌入iframe其src指向的b_auth.php
3、认证成功后在客户端写入Cookie,通过iframe调用b_auth.php 传递认证参数(经过SHA1后)
4、b_auth.php认证成功后在客户端写入认证Cookie
5、完成和的统一认证
问题:
上面提到的过程如果使用FireFox浏览器b_auth.php能够成功写入Cookie,如果使用IE6.0及 以上版本b_auth.php写入Cookie失败。
原因:
IE 6.0支持P3P,IE 6的缺省隐私等级设置为"中"——即"阻止没有合同隐私策略的第三方
cookie"。而在用户浏览a_logon.aspx时 写入的为第一方Cookie,其嵌入的iframe指向b_auth.php
这时写入的就为第三方Cookie了,所以它是被IE当在了大门外。
解决方法:
让用户改变IE安全策略,允许第三方Cookie,这似乎很简单,可是用户会听你的吗?另一种
解决方法使用P3P,在 b_auth.php中添加P3P头。网上google一下好像很多,本着不求甚解的原则 Copy来就是了。如下:
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"')
实现代码
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已
a_logon.aspx(C#伪代码)
//////////////////////////////
if( !Page.IsPostBack )
return;
if( VerifyPassword( sPwd ) )
{
string sSalt = CreateSalt(12);
Session.Add("User",sName);
Session.Add("Salt",sSalt);
string sHash = Hash( sName+sPwd + sSalt,"SHA1");
Session.Add("Passport",sHash);
string sR = "<iframe> id='aa'
src='/b_auth.php?name=%sName%&salt=%sSalt%&passport=%sHash%' width='0' height='0'> </iframe>";
Response.Write( sR);
}
/////////////////////////////////////////////
b_auth.php
----------------------------------------
<?php
//---------------------------
// cookie auth in multi-domain
// Author: Lazen lau
// Mail:
// History:
// 2007-05-17 10:00 release 1.0
// Copyright (C) 2007
//---------------------------
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"'); $user = $_REQUEST['name']; $salt = $_REQUEST['salt']; $passport = $_REQUEST['passport'];
$hr = "auth failed";
if( !empty($passport))
{
//get usr pwd
$pwd = "888888";
//md5
$src = $user.$pwd.$salt;
$auth = strtoupper(sha1($src));
if( $auth == $passport )
{
setcookie("ticket",$passport);
$hr = "auth suc";
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已
}
//else
// $hr = $user." a= ".$auth." s = ".$passport;
}
echo $hr;
?>
-----------------------------------------------------------------------------
结束语
上面演示的跨域认证方式,需要中保存有用户的口令,这往往也带来麻烦,一种改进方式是b_auth.php在认证
用户时可以使用调用a_auth.aspx在中完成再次认证,也可以使用SOAP或者XML Http Request进行认证。
参考资料
Google AdSense
P3P
XML 安全: 使用 SAML 确保可移植的信任
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已
IBM Tivoli Access Manager 6.0 (电子商务访问控制解决方案):
IBM Tivoli是业界领先的管理技术软件,是IBM IT 服务管理的核心部分。Tivoli是唯一一个跨越主机系统、客户机/服务器系统、工作组应用、企业网络、Internet服务器的端到端的解决方案。Tivoli软件以IBM的世界级服务、支持和研究为坚强后盾,为客户提供一个无缝集成、灵活的随需应变基础架构管理解决方案,采用强健的安全机制将雇员、业务伙伴和客户连接起来。Tivoli软件能够使企业降低总体拥有成本,提高IT基础架构的管理及服务水平。Tivoli解决方案主要包括系统管理解决方案,存储管理解决方案和安全管理解决方案。
IBM Tivoli Access Manager for e-business 是一个获奖的、基于策略的电子商务访问控制解决方案和 Gartner 的 Magic Quadrant 中处于领先地位的企业应用程序。它可以帮助您管理日益发展和日渐复杂的电子商务,控制不断攀升的管理成本,解决在大量 Web 和应用程序资源中安全策略实施方面的难题。
Tivoli Access Manager for e-business 与电子商务应用程序集成在一起,以即装即用(out-of-the-box)的方式提供一种安全、统一和个性化的电子商务体验。通过提供身份验证和授权 API 并与应用程序平台(如J2EE )集成在一起,Tivoli Access Manager for e-business 能帮助您安全地访问业务关键型应用程序和分散在扩展企业中的数据。
通过使用 Access Manager 跨域单一登录(SSO)技术和安全断言标记语言(Security Assurance Markup Language,SAML)以及其他标记传递(token-passing)协议,基于Web的SSO可以跨越多个站点或者多个域。
产品要点:
在保护单个企业或联邦环境的安全时,为电子商务计划提供统一的身份验证和授权。
在采用 Web、Microsoft、telnet 和主机应用程序环境中支持单一登录。
在基于标准的Java 2 Enterprise Edition (J2EE) 应用程序支持下,可以快速和可伸缩地部署Web应用程序。 通过新支持的 Java 2、 z/OS 上的 Java 身份验证和授权(Java Authentication and Authorization,JAAS)API 以及 z/OS 上的 WebSphere,改进了对主机应用程序的支持。
通过高伸缩性的代理体系结构和/或易于安装的 Web 服务器插件、基于规则和角色的访问控制、对主要用户注册中心和平台的支持以及可用于进一步定制安全性的高级 API,提供了设计的灵活性。
通过提供统一的身份和安全管理,降低了应用程序开发、部署和管理的成本。
通过 IBM 在 Web 安全标准开发方面的领导地位,保持将来安全和身份管理的连续性。
Tivoli Access Manager for e-business 允许您定义综合策略,并基于该策略管理安全性,而无论该策略是基于用户角色的还是基于业务规则的。您可以根据每个用户的职责,授予员工、合作伙伴、供应商和客户动态的、基于角色的访问权。您可以将用户分组并向组指派权限,简化跨多个应用程序和资源的访问控制管理。业务规则在运行时进行求值,并保存在应用程序以外,这样就允许更改影响访问的策略参数,而无需重写和重新编译应用程序--这种特性有助于动态提高应用程序部署和适应的速度。
应用程序平台(如 Web Servers)向应用程序开发人员提供安全性和其他服务。但是这样的话,管理访问权就像竖井(silos)一样与业务线(lines-of-business)隔离开来,它依赖于每个应用程序环境中可用的技术和工具。为了使业务能在随需应变的模式下运作,Tivoli Access Manager 提供了一个关键功能作为公共服务,即面向服务的体系结构(Service-Oriented Architecture,SOA)。Tivoli Access Manager for e-business 为异构环境提供安全性。采用该体系结构后,访问控制所基于的层是单一且前后一致的,这样可以快速部
跨域认证,意味着用户在一个入口登录后可以无障碍的漫游到其它信任域。也就是所谓的单点登录(SSO)。对于大型的服务提供着,常用的方法有:使用安全断言标记语言(SAML)、基于公开密钥技术(PKI-Pubic Key Infrastructure)的Kerberos网络认证协议 或者使用Windows采用的认证方案LanManager认证(称为LM协议-对于NT 安装Service Pack4以后采用NTLM v2版本)。这些认证方式需要单独的认证服务器,对于普通的使用者来说,既难已
署应用程序,与"安全孤岛"方法相比,可以更加准确而一致地管理安全性。
Tivoli Access Manager for e-business 通过下列方法提供自我保护环境:
使用单个安全策略服务器强制实施跨多个文件类型、应用程序提供商、设备和协议的安全性,从而防止未授权的访问。
Web SSO,保持密码和用户的完整性。
用于发现问题或潜在问题的健壮的审计和信息收集工具。
还通过下列方法提供了自我优化环境:
负载均衡和自动反映 Web 对象空间。
基于开放标准的高可用性和高伸缩性体系结构。
Tivoli Access Manager for e-business 是IBM Identity Management 解决方案的集成部件,可以帮助您在线获得用户、系统和应用程序,并能提高生产效率,还可以保持动态顺应性以便增加 IT 环境的弹性和安全性,同时有助于减少成本并最大化投资回报率。
Tivoli Access Manager 是第一个接受 Common Criteria Certification (EAL 3) 的解决方案,它满足严格的国际上认可的安全标准。
IBM Tivoli Identity Manager 是一种用于管理用户和帐户定义的产品。 通过控制系统上的帐户定义, 它允许公司控制用户能够访问 哪个系统。
IBM Tivoli Access Manager 是一种访问控制产品。它通过强制实施访问控制策略防止对受保护的资源进行未授权的访问。Access Manager 可用于保护多种类型系统资源的访问,从单个文件到 Web 站点。
Identity Manager 和 Access Manager 产品互相补充。Identity Manager 控制系统中可以存在什么样的用户帐户,而 Access Manager 控制授权用户在系统上执行的操作。为了完成这些任务,两种产品都维护用户的注册信息。 这些产品对定义在注册表中的用户强制实施用户访问和授权策略。
Tivoli Access Manager for Business Integration 允许您加强管理跨多台服务器的访问控制策略。此管理可通过基于 Web 的中央管理工具完成,无需系统管理员本地设置每一服务器控制台的访问控制规则。该管理工具也支持多级委托,允许资源所有者对其资源进行维护和管理控制。您无需修改现有应用程序或改变常规 WebSphere MQ 环境,就能使用 Tivoli Access Manager for Business Integration 的功能。
正在阅读:
IBM跨域认证简单解决方案05-16
关于对二级学院纪检监察工作巡查的方案12-14
田晓东多媒体习题(含答案)11-01
总降变电所和主配电无功补偿电容器投入问题讨论会议纪要06-07
初二作文大全02-06
湘劳社政字13号06-01
仪容仪表04-09
秦岭野生动物园作文600字05-08
班级元旦晚会策划书04-01
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 解决方案
- 认证
- 简单
- IBM
- 毕业设计外文文献翻译2
- 研究生综合英语1(修订版)课后答案与课文翻
- 引导幼儿创造性学习美术知识与技能
- 2017年人教版初中英语九年级英语全套课本同步重难点精讲Unit1
- 行为财务理论评析
- 2018年中考物理真题汇编--电学和热学综合计算及答案
- 公路钢箱梁焊接变形控制技术研究
- 建筑业年度安全教育培训考试试卷
- 试油技术现状及发展方向--10.23
- 概率论与数理统计(茆诗松)第二版课后第三章习题参考答案
- 妇幼保健健康教育宣传
- 工艺美术史重点总结之彩绘瓷
- 韩国思想政治教育
- 写话课题开题报告.改好了doc
- 幂零矩阵性质应用
- 中餐餐具的使用礼仪
- 河南选调生考试面试:结构化面试题型击破方法9
- 专业实践与研习(行政管理专)1
- 草房子读书心得感悟范文多篇
- 2015-2016学年人教版小学数学二年级下册第二单元测试题