曾 嶸
(紅云紅河煙草(集團)有限責任公司, 云南 昆明 650231)
目前紅云紅河煙草集團已經(jīng)建立了身份認證體系,但是用戶登錄到操作系統(tǒng)桌面后,由于業(yè)務系統(tǒng)認證的統(tǒng)一身份認證體系與紅云紅河集團用戶使用的操作系統(tǒng)的登錄認證體系分屬于二套體系,沒能貫通。紅云紅河集團用戶在辦公訪問業(yè)務系統(tǒng)時,用戶需要先登錄操作系統(tǒng)進行身份驗證,再登錄業(yè)務系統(tǒng)進行身份驗證,給用戶帶來不友好的體驗。
在紅云紅河集團用戶使用windows的域環(huán)境時,紅云紅河集團業(yè)務系統(tǒng)集成windows域完成用戶身份驗證,這樣加入到紅云紅河集團域的計算機就能實現(xiàn)紅云紅河集團用戶登錄到操作系統(tǒng)后,直接利用已登錄的域帳號進行單點登錄實現(xiàn)身份傳遞進入業(yè)務系統(tǒng)。此單點登錄身份漫游方案是基于Kerberos 協(xié)議完成的,AD域作為Kerberos KDC提供密鑰分發(fā)服務。
上述通過windows域環(huán)境辦公集成用戶、業(yè)務系統(tǒng)身份傳遞的方式,存在很多局限性。如需要搭建Windows 域環(huán)境,用戶計算機需要加入到域,業(yè)務系統(tǒng)需要采用微軟技術(shù)開發(fā)并部署于IIS上等;不支持非windows系統(tǒng)如linux系統(tǒng)、移動終端、國產(chǎn)操作系統(tǒng)等;采用其它非微軟技術(shù)開發(fā)的業(yè)務系統(tǒng)需集成桌面單點時,集成復雜,實現(xiàn)難度大。
本方案考慮基于 與傳統(tǒng)的實現(xiàn)方式不同,不基于Kerberos 協(xié)議,不需要域環(huán)境,通過在用戶計算機上安裝客戶端,后臺提供統(tǒng)一認證服務器的方式,實現(xiàn)域內(nèi)、域外、非windows的系統(tǒng),從桌面到業(yè)務系統(tǒng)的單點登錄。
現(xiàn)有的統(tǒng)一認證單點系統(tǒng)大多是解決由業(yè)務系統(tǒng)到業(yè)務系統(tǒng)之間的單點登錄,如何解決由操作系統(tǒng)到業(yè)務系統(tǒng)的單點登錄,即用戶登錄到操作系統(tǒng)上后,再單點登錄到各業(yè)系統(tǒng)。
微軟windows的域桌面身份認證單點登錄實現(xiàn)的技術(shù)路線,是基于Kerberos 協(xié)議,以AD域環(huán)境作為基礎。并且基于微軟windows的域桌面認證后,進行信任傳遞時有只限于BS的業(yè)務系統(tǒng),不支持CS的系統(tǒng)單點登錄的局限性。
基于紅云紅河現(xiàn)有的環(huán)境,需考慮基于數(shù)字證書技術(shù)來實現(xiàn)操作系統(tǒng)桌面到業(yè)務系統(tǒng)的單點。既支持實現(xiàn)基于域環(huán)境下,從操作系統(tǒng)桌面到業(yè)務系統(tǒng)的身份漫游。同時可實現(xiàn)在非域環(huán)境下從操作系統(tǒng)桌面到業(yè)務系統(tǒng)的單點登錄。
在實現(xiàn)非windows操作系統(tǒng)下從操作系統(tǒng)桌面到BS和CS架構(gòu)業(yè)務系統(tǒng)的單點登錄。
基于數(shù)字證書、PKI技術(shù),為用戶計算機發(fā)放數(shù)字證書,標識和管理可信用戶計算機。用戶在認證客戶端發(fā)起終端注冊請求,認證客戶端生成公私鑰對,并通過P10證書請求的方式,提交注冊申請到認證服務端。認證服務端系統(tǒng)管理員對注冊申請審核通過后,為用戶計算機生成設備證書,并把用戶計算機列入到可信設備清單中。只有在可信設備清單中的用戶計算機上發(fā)起的訪問請求,才可完成單點登錄到業(yè)務系統(tǒng)。
統(tǒng)一身份認證系統(tǒng)可分為身份認證客戶端和身份認證服務端2個部分(圖1)。
圖1 統(tǒng)一身份認證系統(tǒng)組成
認證客戶端安裝到用戶計算機或是手機等終端設備上,負責為終端設備生成唯一設備ID,向認證服務端進行注冊,申請簽名證書,并向業(yè)務系統(tǒng)提供認證信息等功能。認證服務端主要負責維護可信終端設備,并向業(yè)務系統(tǒng)提供認證服務。
認證服務端主要有帳號管理模塊,可信設備管理模塊,終端證書管理模塊。帳號管理模塊主要維護用戶在業(yè)務系統(tǒng)中的帳號、以及用戶登錄到一個或是多個終端設備上的帳號信息??尚旁O備管理模塊主要負責接收來自終端的注冊,并對注冊的終端設備進行審核,通過審核的終端納入可信終端設備白名單。終端證書管理模塊負責生成和維護終端設備證書。簽名認證模塊負責對認證書信息進行簽名驗證。
將用戶信息配合CA的簽名,附加到用戶的公鑰后最終形成用戶的數(shù)字證書。利用公私密鑰對,對公鑰和私鑰進行區(qū)分,進行信息保護時分別利用公私鑰進行安全處理。
通常對公鑰進行公開,誰都可以根據(jù)需要使用。私鑰則只是根據(jù)需求只有自己知道,公私鑰形成配對。
用戶在信息傳輸前,一般可以使用公鑰對信息進行加密、簽名,后通過網(wǎng)絡發(fā)送傳輸。最終相應的接受人通過公私鑰進行信息安全確認。
例如進行信息申請時,為確保只有審核人能收到并閱讀申請的內(nèi)容。申請者使用審核的公鑰對自己申請的內(nèi)容進行加密。審核人員收到申請信息后,便可以使用自己的私鑰進行解密。同時為證明申請人的身份,申請人員用自己的私鑰對申請信息進行簽名,審核人員可以使用申請人員的公鑰對簽名進行驗證,以保證申請人員的正式身份。利用公私鑰的加密解密、簽名驗簽保障只有集團內(nèi)部相關審核人才能解密并進行原信息查看,可保障相關信息在發(fā)送審核過程中保密性和完整性。
1)用戶先登錄到操作系統(tǒng),在終端設備上啟動認證客戶端,填寫用戶在統(tǒng)一認證系統(tǒng)中的帳號、密碼后提交注冊。認證客戶端將把帳號、密碼、設備ID、P10證書請求一并發(fā)送到認證服務端。
2)P10證書請求由認證客戶端生成,認證客戶端先生成公私鑰對,把設備ID、公鑰作為證書請求信息項,使用認證客戶端生成的私鑰對證書請求信息簽名后得到P10證書請求。其中私鑰采用內(nèi)置的對稱的加密算法保存在終端設備上。
3)驗證終端帳號及密碼。
4)帳號密碼通過核驗后,認證服務端保存這些信息,等待管理員審核。審核通過后,記錄通過的狀態(tài),等待下載證書。
1)用戶登錄到操作系統(tǒng)后,在終端設備上啟動認證客戶端,填寫用戶在統(tǒng)一認證系統(tǒng)中的帳號、密碼提交到認證服務端。
圖2 終端設備注冊流程
2)驗證終端帳號及密碼。
3)帳號密碼通過核驗后,認證服務端檢查用戶的注冊申請是否通過審批。
4)通過審核時,由簽名認證模塊負責證書簽發(fā),并把簽發(fā)后的證書通過終端證書管理模塊進行保存。
5)認證客戶端下載公鑰證書到終端。
證書由簽名認證模塊進行簽發(fā),簽名認證模塊可把 P10證書請求轉(zhuǎn)發(fā)到外接CA,由外接CA完成證書的簽發(fā),也可以使用內(nèi)置的自簽名根證進行簽發(fā)。
桌面單點到業(yè)務系統(tǒng),即用戶登錄到終端設備后,直接訪問業(yè)務系統(tǒng),即可直接通過業(yè)務系統(tǒng)的認證,而無需再次完成認證操作。
圖3 終端設備證書下載流程
1)首先用戶需要先登錄到終端設備上。例如終端設備是Windows系統(tǒng)時,用戶需要采用操作系統(tǒng)的本地登錄,或是域登錄的方式,登錄到Windows桌面。
2)用戶在終端設備的桌面上,啟動業(yè)務系統(tǒng)客戶端。
3)用戶啟動業(yè)務系統(tǒng)客戶端,業(yè)務系統(tǒng)客戶端調(diào)用認證客戶端接口(SDK或是HTTP接口等形式),獲取認證信息。認證信息由登錄到終端的帳號、設備ID以及簽名值組成。簽名值是對登錄到終端的帳號、設備ID進行簽名而得到的值。簽名時使用到的私鑰為在終端設備注冊環(huán)節(jié)生成并加密保存私鑰。
4)業(yè)務系統(tǒng)客戶端提交到業(yè)務系統(tǒng)服務端。
5)業(yè)務系統(tǒng)服務端把認證信息以及當前業(yè)務系統(tǒng)的ID一并提交到認證服務端。簽名認證模塊首先驗證設備ID是否在受信設備中,然后通過設備ID,到設備證書管理模塊獲取到相應的設備證書后,使用設備證書對簽名進行校驗。
圖4 桌面單點到業(yè)務系統(tǒng)實現(xiàn)流程
6)校驗通過后,把登錄到終端的帳號、務系統(tǒng)的ID傳給帳號管理模塊進行關聯(lián)查詢,查詢到當前登錄用戶在業(yè)務系統(tǒng)中的帳號。并把此帳號返回給業(yè)務系統(tǒng)。
7)業(yè)務系統(tǒng)使用從認證服務器返回的帳號登錄,并把登錄成功的結(jié)果返回到業(yè)務系統(tǒng)客戶端。
越來越多的單位采用統(tǒng)一身份認證平臺和數(shù)字證書技術(shù)構(gòu)建企業(yè)內(nèi)部信息,但是對于操作系統(tǒng)和業(yè)務系統(tǒng)直接的身份傳遞局限的基于AD域完成。在信息化建設進程中逐步實現(xiàn)一次登錄操作系統(tǒng),讓用戶可以安全自由的操作系統(tǒng)本身的同時,還可以自由訪問任 何一個應用系統(tǒng)。
基于統(tǒng)一身份認證WEB應用平臺的無關性、松散耦合性結(jié)合數(shù)字證書公私密鑰加解密的安全性結(jié)合Windows操作系統(tǒng)認證,給出了操作系統(tǒng)到業(yè)務系統(tǒng)一次認證、多處身份漫游的設計方案。在紅云紅河集團建立統(tǒng)一身份認證平臺的基礎上給出了操作系統(tǒng)到業(yè)務系統(tǒng)安全打通的方案。在紅云紅河集團內(nèi)部信息系統(tǒng)中具有廣泛的應用前景。