在企業(yè)的發(fā)展過程中,建立了針對不同業(yè)務(wù)的應(yīng)用系統(tǒng),由于這些應(yīng)用系統(tǒng)是在不同時期、根據(jù)不同的需求、由不同廠商來開發(fā)實施的,各系統(tǒng)采用的技術(shù)體系不同,所依賴的平臺不同,軟件模式不同(B/Sor c/s),各應(yīng)用系統(tǒng)的界面表現(xiàn)也沒有形成統(tǒng)一規(guī)范。
(1)傳統(tǒng)賬號管理機制
每個系統(tǒng)都建立用戶信息數(shù)據(jù)庫,用以驗證用戶的身份。用戶要訪問多個系統(tǒng)就需要在多個系統(tǒng)中建立多套賬戶。當(dāng)用戶訪問處于多個系統(tǒng)中的資源,用戶必須分別登錄到相應(yīng)的系統(tǒng)。隨著應(yīng)用系統(tǒng)和用戶數(shù)量的增加,網(wǎng)絡(luò)規(guī)模迅速擴大,原有的信息安全管理措施已不能滿足企業(yè)目前及未來業(yè)務(wù)發(fā)展的要求。問題的原因是缺少整體規(guī)劃,缺乏統(tǒng)一的用戶登錄平臺,單點登錄技術(shù)SSO(single sign-on)的出現(xiàn)較好地解決了這些問題。
(2)單點登錄的優(yōu)勢
單點登錄(SSO,Single Sign-on)是一種方便用戶訪同網(wǎng)絡(luò)的技術(shù)。用戶只需要在網(wǎng)絡(luò)中主動地進行一次身份認證,就可以無縫地訪問其被授權(quán)使用的資源,而不需要主動地參與其后的身份認證。單點登錄技術(shù)具有以下優(yōu)勢:
①簡化了用戶的搡作,用戶不登使用多套用戶名和密碼,不再需要為每次訪問資源而進行一次身份認證。
②增強了系統(tǒng)的整體安全性,用戶只需記住唯一的登錄密碼,可以設(shè)計相對復(fù)雜的密碼,增加了攻擊者進行暴力破解的難度。
③減少管理員的工作量,系統(tǒng)管理員只需要維護一套統(tǒng)一的用戶賬號。傳統(tǒng)模式下,系統(tǒng)管理員需要管理多套的用戶賬號,不僅給管理上帶來不方便,而且也容易出現(xiàn)管理漏洞。
④簡化應(yīng)用系統(tǒng)開發(fā),在傳統(tǒng)模式下新的應(yīng)用系統(tǒng)要求獨立的用戶認證程序,而單點登錄系統(tǒng)可以整合新的登錄模塊,減少開發(fā)人員的工作量。
1 單點登錄的通用模型
1.1單點登錄執(zhí)行過程
單點登錄系統(tǒng)實現(xiàn)的機制多種多樣,但其執(zhí)行過程都可用圖1描述。
圖1單點登錄系統(tǒng)模型
常用的單點登錄系統(tǒng)有經(jīng)紀人模型、代理模型、網(wǎng)關(guān)模型和令牌模型等。其中基于經(jīng)紀人的單點登錄模型在可管理性、安全性、易用性方面都有良好的表現(xiàn),盡管該模型在實施的過程中有著較大的工作量,但是它的良好表現(xiàn)使得它成為一種最常用的單點登錄模型。
1.2基于經(jīng)紀人的單點登錄模型
這種模型的特點就是,有一個集中的認證和用戶賬號管理的服務(wù)器。經(jīng)紀人被用于進一步請求的電子身份存取。中央數(shù)據(jù)庫的使用減少了管理的代價,并為認證提供一個公共和獨立的“第三方”。認證服務(wù)器處在客戶端和應(yīng)用服務(wù)器中間,用來全權(quán)打理認證事務(wù),扮演一個經(jīng)紀人的角色。客戶端在想得到任何服務(wù)之前都要先從認證服務(wù)器進行身份認證,獲得有使用期限的電子身份標識,在期限內(nèi)可訪問應(yīng)用服務(wù)器獲得資源。
1.3 Kerberos登錄機制
Kerberos機制是經(jīng)紀人模型的典型應(yīng)用,基礎(chǔ)是信任的第三方--Kerberos服務(wù)器,集中地對用戶進行認證,并向用戶發(fā)放電子身份標識。每次會話的密鑰都不相同,提高了系統(tǒng)的安全性。用戶登錄成功之后,用戶端保留身份識別信息(票據(jù)),當(dāng)用戶申請新的應(yīng)用服務(wù)時,系統(tǒng)利用己有的票據(jù),用來登錄所申請的應(yīng)用。該系統(tǒng)可以由三個部分組成:核心認證服務(wù)器,支持認證的服務(wù)器端和支持認證的客戶端。核心認證服務(wù)器統(tǒng)一管理用戶信息。
2 引入證書的類Kerberos單點登錄方案
2.1系統(tǒng)總體結(jié)構(gòu)
Kerberos在安全性方面有著良好的表現(xiàn),登錄過程依賴Kerbems服務(wù)器,如果Kerberos服務(wù)器發(fā)生故障,系統(tǒng)所有的應(yīng)用服務(wù)都無法進行,本方案如圖2所示,采取在用戶端保存一份證書的形式,降低登錄過程中對Kerberos服務(wù)器的依賴。
圖2方案設(shè)計
在基于證書的單點訪問模型中,每個應(yīng)用服務(wù)器生成屬于該服務(wù)器的證書。擁有該證書的客戶擁有訪問該應(yīng)用服務(wù)器的權(quán)限。應(yīng)用服務(wù)器A的證書可以表示為:CertA={V,Sn,AI,IDA,Issuer,Kp,TA,otIIer,[hash(V,Sn,AI,IDA Issuer,Kp。TA,other)]SignCA}。
其中,V是證書的版本號,Sn是該證書的序列號,AI是對證書進行簽名的算法的標識,IDA是服務(wù)器A的唯一標識符,Kp是服務(wù)器A的公鑰,Issuer是證書發(fā)布者的唯一標識符,TA指出證書有效期,other是指其他信息,hash()是單向散列函數(shù),[]SignCA是對[]中的數(shù)據(jù)的簽名值,可以使用CA的公鑰進行驗證,CA的公鑰算法可以使用RSA或橢圓曲線算法。
2.2系統(tǒng)結(jié)構(gòu)概要說明
(1)方案前提:證書服務(wù)器上已經(jīng)生成了用戶,包括用戶ID、用戶密碼以及來自各應(yīng)用服務(wù)器的證書。每個用戶都已經(jīng)知道自己的私鑰,而證書服務(wù)器和企業(yè)門戶知道公鑰。
(2)證書生成:證書服務(wù)器驗證用戶身份,將各應(yīng)用系統(tǒng)提供的證書組合成一個完整的證書,證書由系統(tǒng)公鑰與用戶私鑰加密,最后將證書傳遞給用戶。證書結(jié)構(gòu)如圖3所示。
圖3 證書結(jié)構(gòu)
(3)證書獲取:證書服務(wù)器提供登錄頁面,驗證用戶身份后,用戶通過applet下載證書到客戶端,客戶端用私鑰解密后保存于硬盤特定位置。
(4)證書失效:有效期之外證書自動失效,應(yīng)用服務(wù)器通過證書管理頁面撤銷特定用戶針對本應(yīng)用的證書,則用戶對該應(yīng)用服務(wù)器的訪問無效。
(5)證書傳遞:通過applet將保存在用戶硬盤上的證書上傳到對應(yīng)的應(yīng)用服務(wù)器,門戶也被視作一個特殊的應(yīng)用服務(wù)器,應(yīng)用服務(wù)器之間不傳遞證書。
(6)客戶端證書管理:證書保存于硬盤特定位置,提供導(dǎo)人導(dǎo)出工具,便于證書攜帶。
(7)證書服務(wù)器管理:證書服務(wù)器提供管理頁面,應(yīng)用系統(tǒng)管理員上載和撤銷證書。
(8)應(yīng)用服務(wù)器證書驗證模塊:每個應(yīng)用服務(wù)器上有相關(guān)的認證組件,負責(zé)證書解密,證書驗證。應(yīng)用服務(wù)器的證書是自己生成的,需自己負責(zé)驗證。
(9)密鑰管理:服務(wù)器公鑰定期修改,應(yīng)用服務(wù)器從證書服務(wù)器同步系統(tǒng)公鑰。
2.3登錄流程
登錄過程如圖2所示。
(1)用戶打開門戶,上載有效的證書,或選擇注冊獲取證書。如果用戶上載了證書,門戶檢查用戶證書是否有效,如果沒有有效證書或沒有證書,則將用戶重定向到證書服務(wù)器。
(2)由證書服務(wù)器提供一個頁面,用戶輸入用戶ID和口令,請求證書。
(3)證書服務(wù)器驗證用戶合法后,根據(jù)用戶ID生成加密證書并將證書返回給用戶。
(4)門戶驗證用戶證書是否有效,顯示用戶訪問服務(wù)清單并把證書轉(zhuǎn)發(fā)給應(yīng)用服務(wù)器。
(5)應(yīng)用服務(wù)器驗證證書是否來自門戶,不是則拒絕服務(wù),否則取出對應(yīng)本服務(wù)器的證書,對證書解密,獲得該用戶對應(yīng)的權(quán)限,提供對應(yīng)的服務(wù),將響應(yīng)直接返回給門戶。
(6)門戶根據(jù)響應(yīng)生成頁面返回給用戶。
(7)用戶使用獲得的證書直接和應(yīng)用服務(wù)器交互。
3 結(jié)束語
基于證書的單點登錄模型在健壯性,安全性方面有良好表現(xiàn)。具有下述特點:
(1)門戶和證書服務(wù)器不會直接交互,即使證書服務(wù)器失效,只要用戶證書仍然在有效期內(nèi),用戶依靠持有的證書便可訪問應(yīng)用系統(tǒng)。
(2)證書由應(yīng)用系統(tǒng)子證書組成,應(yīng)用系統(tǒng)在權(quán)限設(shè)定及驗證上具有彈性,系統(tǒng)易擴展。
(3)證書使用服務(wù)器公鑰和用戶私鑰進行加密,服務(wù)器公鑰定期修改,有效防止用戶ID、密鑰和證書被截獲。
(4)用戶直接訪問應(yīng)用系統(tǒng)可減輕門戶負載,由應(yīng)用系統(tǒng)來生成以及驗證本應(yīng)用系統(tǒng)的證書具備更強的兼容性,應(yīng)用系統(tǒng)具備證書生成功能和證書驗證功能。
通過將登錄所需的電子身份采用證書方式保存在客戶端的方法,將登錄過程剝離出來,降低了經(jīng)紀人模型中認證服務(wù)器的負載,并且認證服務(wù)器故障時,應(yīng)用服務(wù)仍可有條件進行。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的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)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標題:一種基于證書的單點登錄方案設(shè)計
本文網(wǎng)址:http://m.hanmeixuan.com/html/consultation/1083938149.html