APP下载

基于混沌一次一密认证的单点登录系统的研究

2018-03-03樊彩霞张益维

现代电子技术 2018年5期
关键词:身份认证口令

樊彩霞+张益维

摘 要: 把混沌序列所具备的良好的随机性用于单点登录系统,利用混沌序列迭代产生的随机数序列作为一次一个变换的身份认证信息,这样每个用户的登录身份都具有惟一性,使得他人无法伪造,同时实现了身份指纹的动态变化,增加了普通单点登录系统的安全性。利用cookie技术将认证信息生成ticket,实现同一个域下面各应用子系统的整合。该系统为同一个域下面的各应用子系统提供了一种高效、安全、方便的单点登录方案。

关键词: 单点登录; 身份认证; 混沌序列; cookie; 口令; Logistic模型

中图分类号: TN911?34; TP393 文献标识码: A 文章编号: 1004?373X(2018)05?0061?04

Abstract: The randomness of chaotic sequence is used in the single sign on system. The random number sequence generated by chaotic sequence iteration is used as the dynamic identity authentication information one at a time, so that the login identity of each user has uniqueness, other people can′t forge it, the dynamic change of identity fingerprint is realized, and the safety of the general single sign on system is enhanced. The cookie technology is used to convert the authentication information into a ticket to realize the integration of various application subsystems in the same domain. The system provides an efficient, secure and convenient single sign on scheme for each application subsystem in the same domain.

Keywords: single sign on; identity authentication; chaotic sequence; cookie; command; Logistic model

0 引 言

目前,各類管理信息系统普遍采用的访问控制方式要求普通用户同时提供登录名和对应口令的安全机制,这就使得用户需要记忆的内容不断增多。因此,用户容易混淆各个系统的口令,出现访问和使用的问题。尤其突出的是,随着网络的不断普及,业务系统越来越多,由于各系统之间相互分割,造成了许多单个的信息节点。原有各自独立的应用服务系统各自为营的身份认证方式已经难以适应发展的需求,用户需要有一个独立、安全、高效和可靠的身份认证系统。单点登录(Single Sign On)是现阶段常用的一种企业综合业务整合的解决方案,其概念是:在用户使用的多个管理系统中,用户进行一次登录完成后,就可以便利地访问所有存在信任关系的各个应用系统[1]。本文使用单点登录技术,用户通过混沌一次一密方案进行身份认证,只需掌握简单的参数就可以透明、无缝、方便地访问所有授权的应用系统或资源。利用cookie技术将每次的身份认证信息进行存储,方便快捷地实现基于混沌的身份认证技术。由于参数计算的方便和快捷性,使用户安全便捷地访问信息系统成为可能。

1 单点登录系统

单点登录系统要达到的目标是“一处登录,多处使用”,即在一个成员站点登录之后,再访问该系统中的其他站点无需再次登录。与此同时,还需要保证所有子系统的安全性。理论上要完成一个单点登录系统,主要包括以下两点:

1) 所有应用系统的后台之间共用一个身份认证系统。认证系统的主要作用是将用户提交的登录账号等信息和事先保存的用户信息库作比较,完成对用户的登录认证。经过比较,如果结果一致,表示用户身份正确。此时,认证系统为了标识该用户的合法身份,会生成统一的认证标志ticket,并且返还给用户。除此之外,对于用户提供的认证标志ticket,认证系统还应该校验其有效性[2],进而判断是否存在身份冒充的嫌疑。

2) 所有的应用系统都应该具有识别和提取ticket信息的能力,将ticket信息与认证系统中的数据进行比对,能自动判断当前该用户是否登录过。一旦成功通过校验,以后该用户在使用各个应用系统时就无需提供用户名密码进行登录[2]。

通过以上两点ticket的生成和确认,就可以实现单点登录的功能。如图1所示。

该系统设计的主要功能是通过拦截用户的请求,利用保存在cookie里的认证信息达到共享ticket的目的,以此实现与认证登录模块之间的信息交互。图2是系统的主要结构组成图。

由图2可以看出,系统主要分为应用模块、代理模块、认证系统模块三大模块。各模块主要功能如下:

应用模块是用户要访问的各种Web服务。

代理模块主要负责拦截用户的请求,并将该请求转发给单点登录的服务器模块。

认证系统模块主要负责接收代理模块发送过来的登录信息,与数据库中的信息进行比对,从而产生有效的ticket,还可以对收到的ticket信息的有效性进行校验。

要实现单点登录系统,首先必须要有统一的认证系统,其次每个应用系统都通过认证系统来校验用户,所以这需要两方面的配合。利用cookie技术实现单点登录系统是最常见的,尤其是在各个系统处于同一个域的情况下,利用浏览器的缓存cookie来保存ticket。由于超文本传输协议(HTTP协议)是基于“连接?请求?应答?关闭连接”模式的,是一种无连接状态,自身不能够支持服务器端保存客户端的状态信息,服务器利用网络连接无法从中识别客户端的身份信息。因此在1993年Lou Montulli提出了cookie概念,Web服务器可以利用cookie来确认客户身份。endprint

1) cookie实质上就是由服务器端产生后存储在客户端用户主机浏览器中的一小段文本文件。具体过程是:当客户端用户首次请求Web服务器时,服务器发现请求报文中没有cookie字段信息,并且需要记录该用户状态信息,就在response报文的header中加入Set?Cookie字段,即向客户端浏览器发放一个cookie。客户端浏览器收到后在本地生成cookie。浏览器以后再发生HTTP访问Web Server时,在HTTP request报文中加入cookie字段,一起发送给服务器。服务器知晓用户的信息,通过检查cookie,实现辨认用户状态的目的。服务器还可以根据需要修改cookie的内容。标准的cookie通信过程如图3所示。

2) 根据在客户端的存储位置不同,cookie主要分为两种:内存cookie和硬盘cookie。硬盘cookie存在的时间比内存cookie长,它是Web服务器把少量数据信息储存到客户端计算机或者从客户端计算机读取数据的一种技术。少量数据信息包括用户的所有相关信息,例如:用户的身份信息、口令、网页信息、时间和用户访问的次数等。Cookie的属性包括:名称、值、失效时间、存储路径和网站域名。其中,存储路径字段和网站域名字段共同构成了该cookie的使用范围,PHP中的cookie设置过程为:

SetCookie

(string name=NAME,

string value=VALUE,

int expire=DATE,

string path=PATH,

string domain=WWW.XXX.COM,

int secure)

综上所述,利用cookie技術可以完成单点登录的基本过程,但前提是作用域或者各个系统的域名需要完全一致[3]。

本系统将认证信息以cookie值value的形式存储在客户端,并且设置失效时间expire尽可能长,这样便可以在同一域的应用系统中共享该认证信息。例如:应用系统A部署在a.domain.com,B部署在b.domain.com(A和B的主域名一致,都是domain.com),如果设置cookie时,设置其domain字段为domain.com,那在A,B上都可以访问到这个cookie了。

2 混沌一次一密身份认证在单点登录系统中的应用

登录到一个系统的基础是对用户电子身份的认证。一直以来普遍采用的方式是通过用户提供口令来实现身份认证,这种方式简单方便易用,弱点也很明显,容易被猜测和监听。因此,在此基础上对口令的生存周期进行改进,引入一次性口令。改进后的生存周期很短,仅使用一次,可以极大地降低监听带来的危险。因此,对一次性口令来说,随机性也是必不可少的一个要求。在此理论基础上,本文主要利用混沌的Logistic模型迭代所产生的随机序列进行一次一变换的身份认证,实现基于混沌一次一口令身份认证的单点登录。混沌表示具有确定性的非线性系统中的伪随机运动,其产生的混沌信号具有无周期、随机性好、对初值敏感等特点。把演化、发展的混沌序列可以比喻为用户的身份“指纹”。因为混沌具有对初始条件的敏感依赖性、良好的随机性,所以每个登录用户的身份信息都具有惟一性,他人无法冒充伪造,实现了身份“指纹”无约定的动态变化,提高了安全性[4]。

2.1 混沌序列的一次一变换的身份认证

系统主要针对用户进行身份的有效认证,因此采用一次一密方式的认证过程。利用混沌理论产生的迭代序列随机性非常好,每次的结果完全不同,可以作为一次一变换的身份信息。除此之外,同一个迭代方程采用相同的系数、相同的初始值,产生的迭代序列完全一致。利用这两个特点,提供了一次一变换认证算法的实现途径。其主要过程如下[5]:

1) 通信双方都拥有相同的迭代方程和初始值,因此,通信开始时,请求通信的A向B发出请求,并将自己的初始值即初始身份信息发送给B。

2) B收到信息后,将自己的初始值与A的初始身份进行比较,验证A身份的真实性。如果相同,则迭代一次并向A发送一个请求成功的信息。

3) A收到应答信息后也迭代一步,其迭代结果即为下一次登录的身份。

4) 如果不相同,说明A的身份认证没有通过,给A发出失败回应[6]。

图4显示了A,B双方的认证过程。A相当于客户端,B相当于Web服务器端。

系统中采用的混沌序列基于Logistic混沌形式,模型的迭代方程为:

式中,当时,Logistic映射是混沌的。

通过公用信道传递的身份一旦被验证合法,则该身份信息将不会再被使用,新的认证信息马上生成,同时新的身份信息无需通过公开网络进行传输保持一致,而是通过通信双方按照事先已知的约定规则同时进行改变[6]。将迭代方程和初始值取值利用cookie的值进行存储,每次迭代都保持同步,一旦登录信息认证成功,通信双方都进行迭代操作。在cookie字段中本就包括时间字段和有效期字段,所以利用时间戳可以很好地实现迭代同步。由此可见,采用混沌序列的身份认证方式,实现了一次一变化的认证,在公开信道的传输过程中即使该信息被截获,也不会造成信息泄露。因为验证一旦成功,该认证消息将即时失效,如果验证不成功,也不会造成重要信息的丢失或泄露。

2.2 可行性分析

系统利用cookie存储混沌序列一次一变的身份认证信息。该方案的优点是:

1) 该单点登录系统实现简单,利用cookie值保存认证消息,加上混沌序列的一次一变化特性,使得系统在部署实施中不需要对原有的多个应用子系统作修改,在很大程度上减少了改造旧系统所需花费的各项成本。因此,方便、快捷、安全地整合原有子系统供用户使用。endprint

2) 整个实施部署过程非常简单,用户只要对单点登录的基本概念和原理有一定的了解即可。因此,从管理员的角度出发,通过简单部署提高安全性的同时,并没有增加管理员的工作量负担。

3 结 论

系统利用混沌模型Logistic方程迭代所生成的随机数序列作为一次一变化的身份认证信息,采用cookie方式不仅能便捷、安全地实现对用户身份的统一认证,还能提交并传递二级登录参数,实现单点登录。利用混沌序列实现身份认证,使得系统每次仅需要在cookie中存储简单的数字就实现了认证信息的一次一变换,有效地解决了单点登录系统的身份认证单一化的问题,并且身份用过一次后马上失效,避免截获引起的信息泄露,进一步提高了系统的整体安全性。该系统为同一个域下面各应用子系统的整合提供了一种高效、安全、方便的方案。

参考文献

[1] 王亮.基于门户服务器的视频监控系统的研究与实现[D].西安:西安电子科技大学,2008.

WANG Liang. Research and implementation of video monitoring system based on portal server [D]. Xian: Xidian University, 2008.

[2] 丛林.统一身份验证在微软云环境中的应用[J].微型电脑应用,2013(2):47?50.

CONG Lin. Unified identity authentication in Microsoft cloud office [J]. Microcomputer applications, 2013(2): 47?50.

[3] 郑壮贤,李振坤,陈荣征.基于cookie的门户网站单点登录系统设计实现[J].计算机技术与发展,2008,18(6):199?201.

ZHENG Zhuangxian, LI Zhenkun, CHEN Rongzheng. Design and implementation of single sign on system in portal website based on cookie [J]. Computer technology and development, 2008, 18(6): 199?201.

[4] 王丽娜,董晓梅,于戈,等.虚拟企业信息系统的虚拟专网VPN模型[J].东北大学学报(自然科学版),2002(8):722?725.

WANG Lina, DONG Xiaomei, YU Ge, et al. Virtual private network for virtual enterprise information systems [J]. Journal of Northeastern University (natural science), 2002(8): 722?725.

[5] 王丽娜.网络多媒体信息安全保密技术[M].武汉:武汉大学出版社,2003:34?36.

WANG Lina. Network multimedia information security and secrecy technology [M]. Wuhan: Wuhan University Press, 2003: 34?36.

[6] 樊彩霞,张益维,王金峰.利用Winsock2 SPI和混沌一次一密的内网安全通信[J].微计算机应用,2010,31(7):76?80.

FAN Caixia, ZHANG Yiwei, WANG Jinfeng. Intranet encryption communication uses Winsock2 service provider interface [J]. Microcomputer applications, 2010, 31(7): 76?80.

[7] 靳瑞芳.基于Web单点登录系统的研究[D].西安:西北大学,2007.

JIN Ruifang. Research on Web?based single sign on system [D]. Xian: Northwest University, 2007.

[8] 付影平,杜程,刘建华.基于SAML单点登录模型研究与设计[J].现代电子技术,2015,38(16):38?41.

FU Yingping, DU Cheng, LIU Jianhua. Research and design of single sign?on model based on SAML [J]. Modern electronics technique, 2015, 38(16): 38?41.

[9] 王小红.基于Cookie的单点登录认证机制实现[J].重庆工商大学学报(自然科学版),2014(8):73?78.

WANG Xiaohong. Implementation mechanism for single sign?on authentication based on Cookie [J]. Journal of Chongqing Technology and Business (natural sciences edition), 2014(8): 73?78.

[10] 杨智,陈性元,张斌.支持双认证方式的单点登录方案[J].计算机应用,2007,27(3):595?596.

YANG Zhi, CHEN Xingyuan, ZHANG Bin. A single sign?on scheme supporting double authentication method [J]. Journal of computer applications, 2007, 27(3): 595?596.

[11] 张开.基于Cookie的单点登录实现[J].价值工程,2012,31(5):154?155.

ZHANG Kai. Implementing single sign on based on Cookie [J]. Value engineering, 2012, 31(5): 154?155.

[12] 张秋余,蔡志鹏,袁占亭.一种安全的单点登录系统口令同步方案[J].计算机工程,2011,37(17):122?123.

ZHANG Qiuyu, CAI Zhipeng, YUAN Zhanting. Secure password synchronization scheme for single sign?on system [J]. Computer engineering, 2011, 37(17): 122?123.endprint

猜你喜欢

身份认证口令
高矮胖瘦
口 令
好玩的“反口令”游戏
校园网云盘系统存在的安全问题及对策
基于指纹身份认证的固定通信台站干部跟班管理系统设计
SNMP服务弱口令安全漏洞防范
Kerberos身份认证协议的改进
基于USB存储设备的透明监控系统