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