论文部分内容阅读
随着信息化产业的快速发展,许多互联网运营商将自身系统中的数据和服务以开放平台的形式开放了出来,也吸引了越来越多的第三方开发者在其平台上进行应用开发。然而这些第三方应用之间一般都存在着独立的身份认证机制,用户很难为每个应用都注册一个身份。这时候就需要开放平台提供一套安全的、可靠的、简单的认证授权系统,来允许用户只需要在开放平台上注册一次,就可以自由地登录到并使用这些第三方应用,这也可以看作是一种单点登录机制。然而,传统的单点登录机制如OpenID和CAS等机制都需要向第三方应用提供用户名和密码,由于开放平台上用户和第三方应用之间的信任度往往比较低,这也就决定了这些传统的单点登录机制无法应用于开放平台中来。OAuth2.0协议是目前业界最流行的一种用来解决这种开放平台间的认证授权问题的单点登录机制。由于目前它还处于草案阶段,还没有最终定稿,所以在某些细节上它还有不足,还需要不断地讨论和继续完善。本论文在深入分析OAuth2.0协议和几种常见的Web安全技术的基础上,针对OAuth2.0协议的一些不足之处提出了一些新的安全策略方案,并且依照这些设计方案,基于流行的J2EE平台和B/S架构,根据MVC的分层设计思想,设计并实现了一个用于开放平台的认证授权系统,并通过测试验证了其可行性。本论文首先从系统的架构开始分析,采用分层模型来降低系统层与层之间的耦合度,提高了系统的可扩展性和可维护性。接着对几个关键模块如私有证书、数字签名和认证授权功能等进行了详细分析与设计,采用了基于SSL协议通信和各种加解密算法来提高了系统的安全性。最后,在完成了系统基本功能的基础上,采用LoadRunner测试工具来对系统进行性能测试,并提出了几种改进方案,最后再通基准测试对比来证明这些改进方案的正确性,保证了系统具备良好的运行性能。