引言
進(jìn)入21世紀(jì)以來(lái),世界進(jìn)入到新經(jīng)濟(jì)時(shí)代,新技術(shù)的變化日新月異,而信息化成為全球經(jīng)濟(jì)發(fā)展的強(qiáng)大推動(dòng)力。計(jì)算機(jī)網(wǎng)絡(luò)和信息技術(shù)的迅速發(fā)展使得企業(yè)或政府部門擁有越來(lái)越多的信息化應(yīng)用系統(tǒng),如政府科研單位的門戶網(wǎng)站網(wǎng)上辦公平臺(tái),包括的系統(tǒng)有科研管理系統(tǒng)、科研申報(bào)系統(tǒng)、內(nèi)部郵件管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)。各系統(tǒng)通常由不同的部門管理,并且由不同的單位開發(fā),這樣可能有不同的用戶名和密碼,即各系統(tǒng)使用不同的數(shù)據(jù)庫(kù),各系統(tǒng)使用不同的認(rèn)證模式與體系,而隨著業(yè)務(wù)的增加,業(yè)務(wù)系統(tǒng)的數(shù)量也會(huì)越來(lái)越多,用戶需要記憶越來(lái)越多的用戶名和密碼。一個(gè)信息孤島,如圖1所示:
圖1信息孤島
這種現(xiàn)狀不僅造成了用戶因遺漏或忘記密碼而帶來(lái)?yè)p失,而且在進(jìn)入每個(gè)系統(tǒng)都要重新登錄一次密碼,大大降低了工作效率.如圖2所示:
圖2各業(yè)務(wù)系統(tǒng)登錄模式現(xiàn)狀
根據(jù)現(xiàn)狀,本文提出了一套解決該問(wèn)題的關(guān)鍵技術(shù),該技術(shù)探討了如何設(shè)計(jì)一個(gè)安全并高效的統(tǒng)一登錄系統(tǒng)及其實(shí)現(xiàn)的關(guān)鍵技術(shù)。本文主要介紹了統(tǒng)一單點(diǎn)登錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)原理。
1 HTTPS簡(jiǎn)介
HTTPS(全稱:Hypertext Transfer Protocol over SecureSocket Layer),是以安全為目標(biāo)的HTlP通道.簡(jiǎn)單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。它是一個(gè)URI scherne(抽象標(biāo)識(shí)符體系),句法類同hap:體系。用于安全的HTTP數(shù)據(jù)傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP與TCP之間)。這個(gè)系統(tǒng)的最初研發(fā)由網(wǎng)景公司進(jìn)行,提供了身份驗(yàn)證與加密通訊方法,現(xiàn)在它被廣泛用于萬(wàn)維網(wǎng)上安全敏感的通訊,例如交易支付方面。
1.1 HTTPS與HTTP的區(qū)別
HTTPS與HTTP區(qū)別有很多,主要區(qū)別有以下四點(diǎn)。
1、HTTPS協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書很少,需要交費(fèi)。
2、HTTP是超文本傳輸協(xié)議,信息是明文傳輸,HTTPS則是具有安全性的SSL加密傳輸協(xié)議。
3、HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。
4、HTTP的連接很簡(jiǎn)單.是無(wú)狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比HTTP協(xié)議安全。
1.2 HTTPS的用途
1.2.1在信任主機(jī)上的應(yīng)用
采用HTTPs的服務(wù)器必須從CA(certificate Authority)申請(qǐng)一個(gè)用于證明服務(wù)器用途類型的證書。該證書只有用于對(duì)應(yīng)的服務(wù)器的時(shí)候,客戶端才信任主機(jī)。所以目前所有的銀行系統(tǒng)網(wǎng)站,關(guān)鍵部分應(yīng)用都是https的。客戶通過(guò)信任該證書,從而信任了該主機(jī)。其實(shí)這樣做效率很低,但是銀行更側(cè)重安全。這一點(diǎn)對(duì)我們沒(méi)有任何意義,我們的服務(wù)器,采用的證書不管是自己發(fā)布的還是從公眾的地方發(fā)布的,其客戶端都是自己人,所以我們也就肯定信任該服務(wù)器。
1.2.2對(duì)通信過(guò)程中的數(shù)據(jù)保護(hù)
一般意義上的HTTPS的原理就是每個(gè)服務(wù)器有一個(gè)自己獨(dú)有的證書,主要目的保證服務(wù)器數(shù)據(jù)的安全性。服務(wù)器和客戶端之間的所有通訊都是加密的,具體來(lái)講.是客戶端產(chǎn)生的一個(gè)對(duì)稱的密鑰,通過(guò)服務(wù)器的證書來(lái)交換密鑰,即一般意義上的握手過(guò)程;接下來(lái)所有的信息往來(lái)都是加密,即使在某些條件下被截獲,他沒(méi)有這個(gè)密鑰,也沒(méi)有任何意義。在有一些類似銀行、證券、支付寶等網(wǎng)上交易平臺(tái),也會(huì)要求客戶端也裝一個(gè)證書。這個(gè)證書就是類似表示個(gè)人信息的時(shí)候,除了用戶名和密碼,還有一個(gè)CA認(rèn)證過(guò)的身份。
2系統(tǒng)總體設(shè)計(jì)
2.1系統(tǒng)設(shè)計(jì)需求
根據(jù)該系統(tǒng)的設(shè)計(jì)初衷,統(tǒng)一登錄系統(tǒng)設(shè)計(jì)需求應(yīng)該包括以下幾個(gè)方面:
統(tǒng)一登錄,對(duì)于用戶擁有權(quán)限的一個(gè)或者多個(gè)應(yīng)用系統(tǒng),統(tǒng)一用戶名和密碼,對(duì)于多個(gè)應(yīng)用系統(tǒng)來(lái)說(shuō),只需登錄一次即可,切換應(yīng)用系統(tǒng)時(shí),不需要重復(fù)登錄。例如用戶張三同時(shí)擁有應(yīng)用系統(tǒng)A、B、C和D,當(dāng)輸入用戶名和密碼進(jìn)入到應(yīng)用系統(tǒng)A,當(dāng)再進(jìn)入到應(yīng)用系統(tǒng)B、C和D時(shí),就不用再輸入用戶名和密碼。
安裝簡(jiǎn)單,該單點(diǎn)登錄系統(tǒng)能與其他系統(tǒng)實(shí)現(xiàn)無(wú)縫連接,所屬系統(tǒng)無(wú)需修改源代碼或者修改少量簡(jiǎn)單代碼。
接口存留,能預(yù)留接口為以后可能開發(fā)其他功能。
簡(jiǎn)單接入,當(dāng)用戶新?lián)碛衅渌麘?yīng)用系統(tǒng)的權(quán)限時(shí),單點(diǎn)登錄系統(tǒng)能快速方便地接入新的應(yīng)用系統(tǒng)。
安全可靠,采用CA的公私密鑰技術(shù)和HTTPS技術(shù)來(lái)解決用戶的身份認(rèn)證、安全傳輸與角色制定等相關(guān)問(wèn)題。
2.2系統(tǒng)的運(yùn)行模式
信息系統(tǒng)運(yùn)行模式大體上分為四種:主機(jī)終端模式、文件服務(wù)器模式、客戶機(jī)朋臣務(wù)器模式(C/S)和瀏覽器/服務(wù)器模式(B/S),其中主機(jī)終端模式由于硬件投資巨大,現(xiàn)在已經(jīng)較少使用:而文件服務(wù)器模式只適用小規(guī)模的局域網(wǎng),在用戶比較多、數(shù)據(jù)量大的情況下。就會(huì)產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是在互聯(lián)網(wǎng)上不能滿足用戶要求。因此,現(xiàn)在大部分信息管理系統(tǒng)都使用C/S模式和B/S模式,本系統(tǒng)是B/S模式。系統(tǒng)總體結(jié)構(gòu)圖,如圖3所示:
圖3系統(tǒng)總體結(jié)構(gòu)圖
3 系統(tǒng)的實(shí)現(xiàn)
3.1系統(tǒng)實(shí)現(xiàn)
根據(jù)系統(tǒng)總體結(jié)構(gòu)圖,本系統(tǒng)實(shí)現(xiàn)原理是基于HTTPS協(xié)議以及其相關(guān)握手理論,使用腳本語(yǔ)言.本系統(tǒng)代碼為<SCript type=”text/javascript”src=”http://localhost:7771/SSOSite/SSOContext aspx?app-=portal”></script>形式遠(yuǎn)程調(diào)用單點(diǎn)登錄系統(tǒng)上的腳本,獲取加密后的用戶登錄票據(jù)信息,自動(dòng)綁定到當(dāng)前頁(yè)表單的相應(yīng)字段,井自動(dòng)提交到后臺(tái)。后臺(tái)解密前臺(tái)提交的用戶登錄票據(jù)信息,判定用戶是否已在單點(diǎn)登錄系統(tǒng)上成功的登錄,如果已登錄返回系統(tǒng)首頁(yè),如果沒(méi)有登錄.跳轉(zhuǎn)到單點(diǎn)登錄系統(tǒng)登錄頁(yè)。使用DES加密用戶登錄票據(jù)信息,不同應(yīng)用系統(tǒng)使用不同密鑰。
基于WEB的HTTPS的會(huì)話使用SSL協(xié)議,而SSL協(xié)議在握手協(xié)商階段會(huì)發(fā)送相關(guān)公鑰證書,在本文中運(yùn)用了相關(guān)算法把公鑰修改為了自己私有的密鑰,從而去迷惑客戶端的用戶。這個(gè)其中涉及到了一些類似中間人的攻擊SSL會(huì)話,該會(huì)話過(guò)程的詳細(xì)過(guò)程客戶端如圖4所示:
圖4中間人攻擊SSL會(huì)話
在本系統(tǒng)設(shè)計(jì)中,使用IIS6.0配置Web站點(diǎn):在使用HTTPs創(chuàng)建安全站點(diǎn)時(shí),需要使用計(jì)算機(jī)證書來(lái)驗(yàn)證身份,故在安裝本系統(tǒng)之前時(shí),需要安裝一個(gè)證書。如圖5所示
圖5計(jì)算機(jī)CA認(rèn)證證書
系統(tǒng)接受用戶登錄信息,并根據(jù)設(shè)置,改寫HTTP頭后轉(zhuǎn)發(fā)到應(yīng)用服務(wù)器,并從應(yīng)用服務(wù)器收到返回信息轉(zhuǎn)發(fā)回用戶,流程圖,如圖6所示:
圖6通訊流程圖
系統(tǒng)的管理機(jī)制主要分為在接入管理、用戶管理與應(yīng)用管理3方面。
3.2系統(tǒng)應(yīng)用
以下是一個(gè)應(yīng)用的簡(jiǎn)單例子,人力資源管理系統(tǒng)和財(cái)務(wù)管理系統(tǒng)是兩個(gè)獨(dú)立的系統(tǒng),需要各自輸入用戶名和密碼才能進(jìn)入到系統(tǒng),應(yīng)用單點(diǎn)登錄系統(tǒng)之后只需要輸一次用戶名和密碼即可,如圖7和圖8所示:
圖7應(yīng)用單點(diǎn)登錄系統(tǒng)之前的登錄模式
圖8應(yīng)用單點(diǎn)登錄系統(tǒng)之后的登錄模式
4 結(jié)論
本主的主要內(nèi)容是基于HTTPS協(xié)議設(shè)計(jì)開發(fā)出了一套單點(diǎn)登錄系統(tǒng),該系統(tǒng)實(shí)現(xiàn)了單點(diǎn)登錄與全網(wǎng)訪問(wèn)。在各應(yīng)用管理系統(tǒng)修改少量代碼后,系統(tǒng)能方便用戶使用,可以真正做到系統(tǒng)實(shí)施過(guò)程的安全整合。在該單點(diǎn)登錄系統(tǒng)的基礎(chǔ)上還可以有一些深層次的開發(fā),比如各管理系統(tǒng)的信息分析與相關(guān)數(shù)據(jù)共享等。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:HTTPS協(xié)議在單點(diǎn)登錄系統(tǒng)的應(yīng)用
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112158132.html