论文部分内容阅读
随着信息技术的不断发展,许多企业和机构在日常业务中引入了各种类型的信息化应用系统。这些应用系统在提高效率、降低成本的同时也带来了一系列问题,其中一个突出的问题就是:很多应用系统相互独立且处在不同域下,既给系统维护和用户管理带来了很大不便,又不利于用户使用。对于系统维护,每个用户在不同的系统中拥有不同的账户,致使用户信息不能进行统一管理;对于用户使用,要记住多个系统的帐户和密码,访问不同应用系统时需要通过不同账户登录。此外,由于缺乏统一的安全认证机制,使得用户信息管理和用户身份认证方面存在安全隐患,本文提出的认证授权模型很好的解决了跨域跨系统的身份认证问题。对于身份认证和通信的安全问题,主要通过密码技术来实现。随着硬件处理速度和解密手段的提高,常用的1024位的RSA算法面临着考验,其加密密钥已不能充分保证数据的安全性,为了提高数据的安全性,需要增加密钥的长度,但这样会导致算法速度降低。为了更好的解决这个问题,2010年12月17日国家密码安全局发布了SM2椭圆曲线公钥密码算法,并用其代替RSA算法,对现有的系统进行升级改造,本文的认证授权系统用到的非对称算法使用的就是SM2算法。本文重点开展了以下工作:首先,详细研究了SM2公钥密码算法,介绍了现有的RSA公钥算法与ECC公钥算法,并对算法进行了比较。SM2算法和RSA算法相比具有安全性高、存储空间小、签名速度快的优点,同时,相对于国际标准ECC,SM2算法在解密正确性判断、明文编码问题、对待加密数据长度的限制及加密计算效率上都要更好。其次,提出了基于SM2数字证书的认证授权模型,使用SM2数字证书来实现客户端的身份认证,通过安全Cookie的方式解决了用户的跨域认证问题,对于Cookie中的票据信息,使用SM2公钥进行加密,保证了票据的安全性,通过不同域间的角色映射解决了用户的跨域授权问题。同时,改进了SSL协议,利用SM2公钥算法进行密钥的协商,服务器端对客户端进行身份认证时,只需要获得客户端发送的票据,交与第三方认证机构认证即可,保证了服务器端的性能。最后,我们对认证授权系统分模块进行了设计和实现,包括SM2算法安全模块、跨域认证授权模块和安全访问模块,并进行了安全性分析和性能测试。