樊彩霞+張益維
摘 要: 把混沌序列所具備的良好的隨機性用于單點登錄系統(tǒng),利用混沌序列迭代產(chǎn)生的隨機數(shù)序列作為一次一個變換的身份認證信息,這樣每個用戶的登錄身份都具有惟一性,使得他人無法偽造,同時實現(xiàn)了身份指紋的動態(tài)變化,增加了普通單點登錄系統(tǒng)的安全性。利用cookie技術(shù)將認證信息生成ticket,實現(xiàn)同一個域下面各應用子系統(tǒng)的整合。該系統(tǒng)為同一個域下面的各應用子系統(tǒng)提供了一種高效、安全、方便的單點登錄方案。
關(guān)鍵詞: 單點登錄; 身份認證; 混沌序列; 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 引 言
目前,各類管理信息系統(tǒng)普遍采用的訪問控制方式要求普通用戶同時提供登錄名和對應口令的安全機制,這就使得用戶需要記憶的內(nèi)容不斷增多。因此,用戶容易混淆各個系統(tǒng)的口令,出現(xiàn)訪問和使用的問題。尤其突出的是,隨著網(wǎng)絡的不斷普及,業(yè)務系統(tǒng)越來越多,由于各系統(tǒng)之間相互分割,造成了許多單個的信息節(jié)點。原有各自獨立的應用服務系統(tǒng)各自為營的身份認證方式已經(jīng)難以適應發(fā)展的需求,用戶需要有一個獨立、安全、高效和可靠的身份認證系統(tǒng)。單點登錄(Single Sign On)是現(xiàn)階段常用的一種企業(yè)綜合業(yè)務整合的解決方案,其概念是:在用戶使用的多個管理系統(tǒng)中,用戶進行一次登錄完成后,就可以便利地訪問所有存在信任關(guān)系的各個應用系統(tǒng)[1]。本文使用單點登錄技術(shù),用戶通過混沌一次一密方案進行身份認證,只需掌握簡單的參數(shù)就可以透明、無縫、方便地訪問所有授權(quán)的應用系統(tǒng)或資源。利用cookie技術(shù)將每次的身份認證信息進行存儲,方便快捷地實現(xiàn)基于混沌的身份認證技術(shù)。由于參數(shù)計算的方便和快捷性,使用戶安全便捷地訪問信息系統(tǒng)成為可能。
1 單點登錄系統(tǒng)
單點登錄系統(tǒng)要達到的目標是“一處登錄,多處使用”,即在一個成員站點登錄之后,再訪問該系統(tǒng)中的其他站點無需再次登錄。與此同時,還需要保證所有子系統(tǒng)的安全性。理論上要完成一個單點登錄系統(tǒng),主要包括以下兩點:
1) 所有應用系統(tǒng)的后臺之間共用一個身份認證系統(tǒng)。認證系統(tǒng)的主要作用是將用戶提交的登錄賬號等信息和事先保存的用戶信息庫作比較,完成對用戶的登錄認證。經(jīng)過比較,如果結(jié)果一致,表示用戶身份正確。此時,認證系統(tǒng)為了標識該用戶的合法身份,會生成統(tǒng)一的認證標志ticket,并且返還給用戶。除此之外,對于用戶提供的認證標志ticket,認證系統(tǒng)還應該校驗其有效性[2],進而判斷是否存在身份冒充的嫌疑。
2) 所有的應用系統(tǒng)都應該具有識別和提取ticket信息的能力,將ticket信息與認證系統(tǒng)中的數(shù)據(jù)進行比對,能自動判斷當前該用戶是否登錄過。一旦成功通過校驗,以后該用戶在使用各個應用系統(tǒng)時就無需提供用戶名密碼進行登錄[2]。
通過以上兩點ticket的生成和確認,就可以實現(xiàn)單點登錄的功能。如圖1所示。
該系統(tǒng)設計的主要功能是通過攔截用戶的請求,利用保存在cookie里的認證信息達到共享ticket的目的,以此實現(xiàn)與認證登錄模塊之間的信息交互。圖2是系統(tǒng)的主要結(jié)構(gòu)組成圖。
由圖2可以看出,系統(tǒng)主要分為應用模塊、代理模塊、認證系統(tǒng)模塊三大模塊。各模塊主要功能如下:
應用模塊是用戶要訪問的各種Web服務。
代理模塊主要負責攔截用戶的請求,并將該請求轉(zhuǎn)發(fā)給單點登錄的服務器模塊。
認證系統(tǒng)模塊主要負責接收代理模塊發(fā)送過來的登錄信息,與數(shù)據(jù)庫中的信息進行比對,從而產(chǎn)生有效的ticket,還可以對收到的ticket信息的有效性進行校驗。
要實現(xiàn)單點登錄系統(tǒng),首先必須要有統(tǒng)一的認證系統(tǒng),其次每個應用系統(tǒng)都通過認證系統(tǒng)來校驗用戶,所以這需要兩方面的配合。利用cookie技術(shù)實現(xiàn)單點登錄系統(tǒng)是最常見的,尤其是在各個系統(tǒng)處于同一個域的情況下,利用瀏覽器的緩存cookie來保存ticket。由于超文本傳輸協(xié)議(HTTP協(xié)議)是基于“連接?請求?應答?關(guān)閉連接”模式的,是一種無連接狀態(tài),自身不能夠支持服務器端保存客戶端的狀態(tài)信息,服務器利用網(wǎng)絡連接無法從中識別客戶端的身份信息。因此在1993年Lou Montulli提出了cookie概念,Web服務器可以利用cookie來確認客戶身份。endprint
1) cookie實質(zhì)上就是由服務器端產(chǎn)生后存儲在客戶端用戶主機瀏覽器中的一小段文本文件。具體過程是:當客戶端用戶首次請求Web服務器時,服務器發(fā)現(xiàn)請求報文中沒有cookie字段信息,并且需要記錄該用戶狀態(tài)信息,就在response報文的header中加入Set?Cookie字段,即向客戶端瀏覽器發(fā)放一個cookie??蛻舳藶g覽器收到后在本地生成cookie。瀏覽器以后再發(fā)生HTTP訪問Web Server時,在HTTP request報文中加入cookie字段,一起發(fā)送給服務器。服務器知曉用戶的信息,通過檢查cookie,實現(xiàn)辨認用戶狀態(tài)的目的。服務器還可以根據(jù)需要修改cookie的內(nèi)容。標準的cookie通信過程如圖3所示。
2) 根據(jù)在客戶端的存儲位置不同,cookie主要分為兩種:內(nèi)存cookie和硬盤cookie。硬盤cookie存在的時間比內(nèi)存cookie長,它是Web服務器把少量數(shù)據(jù)信息儲存到客戶端計算機或者從客戶端計算機讀取數(shù)據(jù)的一種技術(shù)。少量數(shù)據(jù)信息包括用戶的所有相關(guān)信息,例如:用戶的身份信息、口令、網(wǎng)頁信息、時間和用戶訪問的次數(shù)等。Cookie的屬性包括:名稱、值、失效時間、存儲路徑和網(wǎng)站域名。其中,存儲路徑字段和網(wǎng)站域名字段共同構(gòu)成了該cookie的使用范圍,PHP中的cookie設置過程為:
SetCookie
(string name=NAME,
string value=VALUE,
int expire=DATE,
string path=PATH,
string domain=WWW.XXX.COM,
int secure)
綜上所述,利用cookie技術(shù)可以完成單點登錄的基本過程,但前提是作用域或者各個系統(tǒng)的域名需要完全一致[3]。
本系統(tǒng)將認證信息以cookie值value的形式存儲在客戶端,并且設置失效時間expire盡可能長,這樣便可以在同一域的應用系統(tǒng)中共享該認證信息。例如:應用系統(tǒng)A部署在a.domain.com,B部署在b.domain.com(A和B的主域名一致,都是domain.com),如果設置cookie時,設置其domain字段為domain.com,那在A,B上都可以訪問到這個cookie了。
2 混沌一次一密身份認證在單點登錄系統(tǒng)中的應用
登錄到一個系統(tǒng)的基礎是對用戶電子身份的認證。一直以來普遍采用的方式是通過用戶提供口令來實現(xiàn)身份認證,這種方式簡單方便易用,弱點也很明顯,容易被猜測和監(jiān)聽。因此,在此基礎上對口令的生存周期進行改進,引入一次性口令。改進后的生存周期很短,僅使用一次,可以極大地降低監(jiān)聽帶來的危險。因此,對一次性口令來說,隨機性也是必不可少的一個要求。在此理論基礎上,本文主要利用混沌的Logistic模型迭代所產(chǎn)生的隨機序列進行一次一變換的身份認證,實現(xiàn)基于混沌一次一口令身份認證的單點登錄?;煦绫硎揪哂写_定性的非線性系統(tǒng)中的偽隨機運動,其產(chǎn)生的混沌信號具有無周期、隨機性好、對初值敏感等特點。把演化、發(fā)展的混沌序列可以比喻為用戶的身份“指紋”。因為混沌具有對初始條件的敏感依賴性、良好的隨機性,所以每個登錄用戶的身份信息都具有惟一性,他人無法冒充偽造,實現(xiàn)了身份“指紋”無約定的動態(tài)變化,提高了安全性[4]。
2.1 混沌序列的一次一變換的身份認證
系統(tǒng)主要針對用戶進行身份的有效認證,因此采用一次一密方式的認證過程。利用混沌理論產(chǎn)生的迭代序列隨機性非常好,每次的結(jié)果完全不同,可以作為一次一變換的身份信息。除此之外,同一個迭代方程采用相同的系數(shù)、相同的初始值,產(chǎn)生的迭代序列完全一致。利用這兩個特點,提供了一次一變換認證算法的實現(xiàn)途徑。其主要過程如下[5]:
1) 通信雙方都擁有相同的迭代方程和初始值,因此,通信開始時,請求通信的A向B發(fā)出請求,并將自己的初始值即初始身份信息發(fā)送給B。
2) B收到信息后,將自己的初始值與A的初始身份進行比較,驗證A身份的真實性。如果相同,則迭代一次并向A發(fā)送一個請求成功的信息。
3) A收到應答信息后也迭代一步,其迭代結(jié)果即為下一次登錄的身份。
4) 如果不相同,說明A的身份認證沒有通過,給A發(fā)出失敗回應[6]。
圖4顯示了A,B雙方的認證過程。A相當于客戶端,B相當于Web服務器端。
系統(tǒng)中采用的混沌序列基于Logistic混沌形式,模型的迭代方程為:
式中,當時,Logistic映射是混沌的。
通過公用信道傳遞的身份一旦被驗證合法,則該身份信息將不會再被使用,新的認證信息馬上生成,同時新的身份信息無需通過公開網(wǎng)絡進行傳輸保持一致,而是通過通信雙方按照事先已知的約定規(guī)則同時進行改變[6]。將迭代方程和初始值取值利用cookie的值進行存儲,每次迭代都保持同步,一旦登錄信息認證成功,通信雙方都進行迭代操作。在cookie字段中本就包括時間字段和有效期字段,所以利用時間戳可以很好地實現(xiàn)迭代同步。由此可見,采用混沌序列的身份認證方式,實現(xiàn)了一次一變化的認證,在公開信道的傳輸過程中即使該信息被截獲,也不會造成信息泄露。因為驗證一旦成功,該認證消息將即時失效,如果驗證不成功,也不會造成重要信息的丟失或泄露。
2.2 可行性分析
系統(tǒng)利用cookie存儲混沌序列一次一變的身份認證信息。該方案的優(yōu)點是:
1) 該單點登錄系統(tǒng)實現(xiàn)簡單,利用cookie值保存認證消息,加上混沌序列的一次一變化特性,使得系統(tǒng)在部署實施中不需要對原有的多個應用子系統(tǒng)作修改,在很大程度上減少了改造舊系統(tǒng)所需花費的各項成本。因此,方便、快捷、安全地整合原有子系統(tǒng)供用戶使用。endprint
2) 整個實施部署過程非常簡單,用戶只要對單點登錄的基本概念和原理有一定的了解即可。因此,從管理員的角度出發(fā),通過簡單部署提高安全性的同時,并沒有增加管理員的工作量負擔。
3 結(jié) 論
系統(tǒng)利用混沌模型Logistic方程迭代所生成的隨機數(shù)序列作為一次一變化的身份認證信息,采用cookie方式不僅能便捷、安全地實現(xiàn)對用戶身份的統(tǒng)一認證,還能提交并傳遞二級登錄參數(shù),實現(xiàn)單點登錄。利用混沌序列實現(xiàn)身份認證,使得系統(tǒng)每次僅需要在cookie中存儲簡單的數(shù)字就實現(xiàn)了認證信息的一次一變換,有效地解決了單點登錄系統(tǒng)的身份認證單一化的問題,并且身份用過一次后馬上失效,避免截獲引起的信息泄露,進一步提高了系統(tǒng)的整體安全性。該系統(tǒng)為同一個域下面各應用子系統(tǒng)的整合提供了一種高效、安全、方便的方案。
參考文獻
[1] 王亮.基于門戶服務器的視頻監(jiān)控系統(tǒng)的研究與實現(xiàn)[D].西安:西安電子科技大學,2008.
WANG Liang. Research and implementation of video monitoring system based on portal server [D]. Xian: Xidian University, 2008.
[2] 叢林.統(tǒng)一身份驗證在微軟云環(huán)境中的應用[J].微型電腦應用,2013(2):47?50.
CONG Lin. Unified identity authentication in Microsoft cloud office [J]. Microcomputer applications, 2013(2): 47?50.
[3] 鄭壯賢,李振坤,陳榮征.基于cookie的門戶網(wǎng)站單點登錄系統(tǒng)設計實現(xiàn)[J].計算機技術(shù)與發(fā)展,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] 王麗娜,董曉梅,于戈,等.虛擬企業(yè)信息系統(tǒng)的虛擬專網(wǎng)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] 王麗娜.網(wǎng)絡多媒體信息安全保密技術(shù)[M].武漢:武漢大學出版社,2003:34?36.
WANG Lina. Network multimedia information security and secrecy technology [M]. Wuhan: Wuhan University Press, 2003: 34?36.
[6] 樊彩霞,張益維,王金峰.利用Winsock2 SPI和混沌一次一密的內(nèi)網(wǎng)安全通信[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單點登錄系統(tǒng)的研究[D].西安:西北大學,2007.
JIN Ruifang. Research on Web?based single sign on system [D]. Xian: Northwest University, 2007.
[8] 付影平,杜程,劉建華.基于SAML單點登錄模型研究與設計[J].現(xiàn)代電子技術(shù),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的單點登錄認證機制實現(xiàn)[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的單點登錄實現(xiàn)[J].價值工程,2012,31(5):154?155.
ZHANG Kai. Implementing single sign on based on Cookie [J]. Value engineering, 2012, 31(5): 154?155.
[12] 張秋余,蔡志鵬,袁占亭.一種安全的單點登錄系統(tǒng)口令同步方案[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