1. 應(yīng)用背景
計(jì)算機(jī)網(wǎng)絡(luò)和信息技術(shù)的迅速發(fā)展使得企業(yè)信息化的程度不斷提高,在企業(yè)信息化過程中,諸如OA、CRM、ERP、OSS等越來越多的業(yè)務(wù)系統(tǒng)應(yīng)運(yùn)而生,提高了企業(yè)的管理水平和運(yùn)行效率。與此同時(shí),各個應(yīng)用系統(tǒng)都有自己的認(rèn)證體系,隨著應(yīng)用系統(tǒng)的不斷增加,一方面企業(yè)員工在業(yè)務(wù)系統(tǒng)的訪問過程中,不得不記憶大量的帳戶口令,而口令又極易遺忘或泄露,為企業(yè)帶來損失;另一方面,企業(yè)信息的獲取途徑不斷增多,但是缺乏對這些信息進(jìn)行綜合展示的平臺。
在上述背景下,企業(yè)信息資源的整合逐步提上日程,并在此基礎(chǔ)上形成了各業(yè)務(wù)系統(tǒng)統(tǒng)一認(rèn)證、單點(diǎn)登錄(SSO)和信息綜合展示的企業(yè)門戶(Portal)。現(xiàn)有的產(chǎn)品多集中于口令方式的身份認(rèn)證,如何更安全的進(jìn)行統(tǒng)一認(rèn)證,并保證業(yè)務(wù)系統(tǒng)訪問的安全性,成為關(guān)注的焦點(diǎn)。
2. 基于CA認(rèn)證的統(tǒng)一認(rèn)證平臺
基于CA認(rèn)證的統(tǒng)一認(rèn)證平臺解決方案應(yīng)該以資源整合(業(yè)務(wù)系統(tǒng)整合和內(nèi)容整合)為目標(biāo),以CA認(rèn)證和PKI技術(shù)為基礎(chǔ),通過對用戶身份的統(tǒng)一認(rèn)證和訪問控制,更安全地實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)的單點(diǎn)登錄和信息資源的整合。
平臺兼容口令認(rèn)證、PFX證書文件認(rèn)證、USB智能卡認(rèn)證等多種認(rèn)證方式,并采用SSL加密通道、關(guān)鍵信息加密簽名、訪問控制策略等安全技術(shù)充分保證身份認(rèn)證和業(yè)務(wù)系統(tǒng)訪問過程的安全性。
2.1 系統(tǒng)功能及架構(gòu)
平臺的系統(tǒng)架構(gòu)如圖1所示,主要包括以下部分:
門戶系統(tǒng)(Portal):各業(yè)務(wù)系統(tǒng)信息資源的綜合展現(xiàn);
平臺管理系統(tǒng):平臺用戶的注冊、授權(quán)、審計(jì);各業(yè)務(wù)系統(tǒng)的配置;門戶管理;
CA系統(tǒng):平臺用戶的數(shù)字證書申請、簽發(fā)和管理;
用戶統(tǒng)一認(rèn)證:用戶身份的CA數(shù)字證書認(rèn)證、認(rèn)證過程的SSL加密通道;
單點(diǎn)登錄(SSO):業(yè)務(wù)系統(tǒng)關(guān)聯(lián)(mapping)、訪問控制、訪問業(yè)務(wù)系統(tǒng)時(shí)信息的加密簽名和SSL加密通道;
![]() |
圖1 |
2.2 系統(tǒng)的實(shí)現(xiàn)和安全機(jī)制
2.2.1 用戶注冊和授權(quán)
(1)企業(yè)每一個用戶在平臺完成用戶注冊,得到自己的統(tǒng)一帳戶(passport);
(2)如果采用證書文件或USB智能卡認(rèn)證方式,則CA系統(tǒng)自動為平臺用戶簽發(fā)數(shù)字證書,并與用戶的統(tǒng)一帳戶對應(yīng)。
(3)注冊的用戶可以由管理員進(jìn)行分組,并根據(jù)分組設(shè)定相應(yīng)的業(yè)務(wù)系統(tǒng)訪問權(quán)限。
2.2.2 業(yè)務(wù)系統(tǒng)的配置
接受統(tǒng)一認(rèn)證的業(yè)務(wù)系統(tǒng)必須完成以下工作:
(1)安裝業(yè)務(wù)系統(tǒng)訪問前置并配置證書和私鑰,用以建立客戶端與業(yè)務(wù)系統(tǒng)之間的SSL加密通道,并接收處理平臺提供的加密簽名的用戶認(rèn)證信息;
(2)提供關(guān)聯(lián)(mapping)接口和訪問驗(yàn)證接口,并在平臺進(jìn)行配置。關(guān)聯(lián)信息主要是平臺統(tǒng)一帳戶與業(yè)務(wù)系統(tǒng)用戶信息(可能包括業(yè)務(wù)系統(tǒng)的用戶名和密碼)的對應(yīng)關(guān)系。
![]() |
圖2 系統(tǒng)的實(shí)現(xiàn)和安全機(jī)制 |
2.2.3 用戶統(tǒng)一認(rèn)證
如圖2所示,用戶統(tǒng)一認(rèn)證過程采用SSL加密通道保證安全性。認(rèn)證服務(wù)器負(fù)責(zé)SSL加密通道的建立。
(1)對于口令認(rèn)證方式,認(rèn)證服務(wù)器配置為單向SSL加密通道,客戶端不需要證書;
(2)對于證書文件或USB智能卡認(rèn)證方式,認(rèn)證服務(wù)器配置為雙向SSL加密通道,客戶端必須提供用戶證書,并由認(rèn)證服務(wù)器完成對用戶證書和用戶身份的校驗(yàn);
客戶端瀏覽器與認(rèn)證服務(wù)器之間采用HTTPS協(xié)議,認(rèn)證服務(wù)器與平臺應(yīng)用服務(wù)器之間采用HTTP協(xié)議。在用戶認(rèn)證完成后,可根據(jù)需要設(shè)定客戶端瀏覽器對平臺的訪問是否繼續(xù)走SSL加密通道,充分兼顧安全與效率。
2.2.4 用戶的業(yè)務(wù)系統(tǒng)關(guān)聯(lián)(mapping)
用戶通過平臺認(rèn)證后,第一次訪問業(yè)務(wù)系統(tǒng)時(shí),平臺根據(jù)業(yè)務(wù)系統(tǒng)的配置自動生成業(yè)務(wù)關(guān)聯(lián)頁面,要求用戶進(jìn)行關(guān)聯(lián):
(1)用戶輸入業(yè)務(wù)系統(tǒng)的用戶信息(可能包括業(yè)務(wù)系統(tǒng)用戶名和密碼);
(2)關(guān)聯(lián)信息連同時(shí)間戳被平臺的訪問控制服務(wù)器進(jìn)行加密和簽名(業(yè)務(wù)系統(tǒng)證書加密,平臺私鑰簽名,時(shí)間戳用于防止重放攻擊);
(3)加密簽名的關(guān)聯(lián)信息通過SSL加密通道,傳遞至業(yè)務(wù)系統(tǒng)訪問前置,并由其進(jìn)行解密驗(yàn)證后交給業(yè)務(wù)系統(tǒng)驗(yàn)證;
(4)關(guān)聯(lián)信息驗(yàn)證通過,則平臺將用戶統(tǒng)一帳戶與業(yè)務(wù)系統(tǒng)用戶信息建立對應(yīng)關(guān)系,以備正常訪問業(yè)務(wù)系統(tǒng)時(shí)使用。
2.2.5 用戶對業(yè)務(wù)系統(tǒng)的正常訪問
如圖2所示,如果用戶完成了平臺統(tǒng)一帳戶與業(yè)務(wù)系統(tǒng)用戶信息的關(guān)聯(lián),則在通過平臺認(rèn)證后訪問業(yè)務(wù)系統(tǒng)時(shí):
(1)平臺根據(jù)要訪問的業(yè)務(wù)系統(tǒng)ID和會話(session)中的用戶統(tǒng)一帳戶,查詢用戶的業(yè)務(wù)系統(tǒng)關(guān)聯(lián)信息;
(2)將相應(yīng)信息和時(shí)間戳由訪問控制服務(wù)器加密簽名并經(jīng)由客戶端,通過SSL加密通道,傳遞至業(yè)務(wù)系統(tǒng)訪問前置,并由其進(jìn)行解密驗(yàn)證后交給業(yè)務(wù)系統(tǒng)驗(yàn)證;
(3)業(yè)務(wù)系統(tǒng)驗(yàn)證通過后,自動跳轉(zhuǎn)進(jìn)入業(yè)務(wù)系統(tǒng)。
在訪問業(yè)務(wù)系統(tǒng)時(shí),相關(guān)信息的傳遞均結(jié)合時(shí)間戳、關(guān)鍵信息加密簽名和SSL加密通道技術(shù),在自動認(rèn)證完成后,業(yè)務(wù)系統(tǒng)可根據(jù)需要設(shè)定是否繼續(xù)走SSL加密通道。既保證了單點(diǎn)登錄過程中信息傳遞的保密性和真實(shí)性,有效防止了重放攻擊,又兼顧了業(yè)務(wù)系統(tǒng)訪問的安全與效率。
3. 系統(tǒng)特點(diǎn)
基于CA認(rèn)證的統(tǒng)一認(rèn)證解決方案與傳統(tǒng)的門戶產(chǎn)品相比,在進(jìn)行業(yè)務(wù)系統(tǒng)整合和內(nèi)容整合的同時(shí),更加注重資源整合的效果和統(tǒng)一認(rèn)證的安全性,具有以下特點(diǎn):
(1)身份認(rèn)證和單點(diǎn)登錄的高安全性
充分運(yùn)用了CA認(rèn)證、SSL加密通道、關(guān)鍵信息加密簽名、時(shí)間戳等技術(shù),保證了信息傳遞的保密性,真實(shí)性,有效防止了重放攻擊。
(2)業(yè)務(wù)系統(tǒng)的實(shí)施工作量少
業(yè)務(wù)系統(tǒng)只需安裝配置訪問前置,并按規(guī)范提供關(guān)聯(lián)接口和訪問驗(yàn)證接口即可。訪問前置支持Windows、Linux、Unix平臺,充分滿足各種平臺下業(yè)務(wù)系統(tǒng)的需求。
(3)充分兼顧系統(tǒng)安全與效率
在身份認(rèn)證和單點(diǎn)登錄這樣的高風(fēng)險(xiǎn)階段,采用多種技術(shù)保證安全性,而在正常訪問業(yè)務(wù)系統(tǒng)數(shù)據(jù)時(shí),可以綜合考慮安全與效率,靈活設(shè)置是否采用SSL加密通道。
(4)系統(tǒng)具有高可靠性和可用性
平臺支持軟件方式的負(fù)載均衡,充分滿足并發(fā)認(rèn)證的需求;同時(shí),平臺與業(yè)務(wù)系統(tǒng)之間采取松散耦合的方式,靈活滿足業(yè)務(wù)系統(tǒng)的調(diào)整和升級。