單點(diǎn)登錄裝置和方法
【專利說明】單點(diǎn)登錄裝置和方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地,涉及一種單點(diǎn)登錄裝置和一種單點(diǎn)登錄方法。
[0003]
【背景技術(shù)】
[0004]在企業(yè)中,一般有很多的應(yīng)用系統(tǒng)為其提供管理和IT服務(wù),隨著企業(yè)的成長和信息的技術(shù)的發(fā)展,會有更多的系統(tǒng)加入。在傳統(tǒng)的分散用戶認(rèn)證管理中,每個(gè)業(yè)務(wù)系統(tǒng)獨(dú)立做用戶的認(rèn)證工作,用戶就需要記住大量的用戶名和密碼,每進(jìn)入一個(gè)系統(tǒng)都要進(jìn)行登錄,給用戶帶來了麻煩,同時(shí)也加大了系統(tǒng)管理員的認(rèn)證管理和維護(hù)工作。單點(diǎn)登錄(SSO)提供一種機(jī)制讓不同的應(yīng)用系統(tǒng)迅速得統(tǒng)一的認(rèn)證功能,實(shí)現(xiàn)全局、安全的軟件環(huán)境。在實(shí)現(xiàn)SSO的系統(tǒng)中,用戶只需進(jìn)行一次主動的登錄操作即可獲得所需訪問的應(yīng)用系統(tǒng)和資源的授權(quán),不必多次輸入用戶名和密碼來確定用戶身份。
[0005]但是,單點(diǎn)登錄的實(shí)施也帶來了許多的問題。首先,為了實(shí)施單點(diǎn)登錄方案,需要對各個(gè)應(yīng)用系統(tǒng)進(jìn)行改造。對于應(yīng)用系統(tǒng)繁多和有很多老舊系統(tǒng)的企業(yè)來說,這種改造無疑意味著很大的成本和風(fēng)險(xiǎn)。其次是安全問題。無論是用哪種單點(diǎn)登錄的方案,都需要將用戶的登錄信息在網(wǎng)絡(luò)傳遞,這種傳遞會帶來很大的安全隱患。
[0006]現(xiàn)在的SSO方案,有多種方案,一種是基于經(jīng)紀(jì)人的單點(diǎn)登錄方案,在這種方案中,有一個(gè)統(tǒng)一的中心服務(wù)器來提供集中認(rèn)證和用戶信息管理功能。這種方案需要對其源代碼進(jìn)行修改,使其能夠完成與認(rèn)證中心的交互,另外需要完成應(yīng)用系統(tǒng)和認(rèn)證中心用戶信息的同步,實(shí)施起來比較困難。參見圖5。
[0007]第二種方案是代理登錄,就是通過表單提交的方式模擬應(yīng)用系統(tǒng)的登錄操作,實(shí)現(xiàn)SS0。代理登錄的優(yōu)點(diǎn)就是無需對原有系統(tǒng)做任何改造,適用于無法改造的舊系統(tǒng)。但是,這種方案會把第三方系統(tǒng)的密碼通過網(wǎng)絡(luò)暴露出來,是一種不安全的方案。參見圖6。
[0008]還有是基于會話漂移的單點(diǎn)登錄方案,結(jié)合了以上兩種的優(yōu)點(diǎn),但是需要在第三方系統(tǒng)中放置一個(gè)組件,僅僅適合整合企業(yè)內(nèi)部系統(tǒng),對于第三方系統(tǒng),如互聯(lián)網(wǎng)站,政府網(wǎng)站等不適用。
[0009]因此,需要一種新的單點(diǎn)登錄技術(shù),可以在現(xiàn)有的單點(diǎn)登錄方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的單點(diǎn)登錄,建立多對象類型參與的面向復(fù)雜類型單點(diǎn)登錄的通用、統(tǒng)一登錄思路。
[0010]
【發(fā)明內(nèi)容】
[0011]本發(fā)明正是基于上述問題,提出了一種新的單點(diǎn)登錄技術(shù),可以在現(xiàn)有的單點(diǎn)登錄方式基礎(chǔ)上,充分利用單對象類型完成多對象類型的單點(diǎn)登錄,建立多對象類型參與的面向復(fù)雜類型單點(diǎn)登錄的通用、統(tǒng)一登錄思路。
[0012]有鑒于此,本發(fā)明提出了一種單點(diǎn)登錄裝置,包括:本地終端數(shù)據(jù)收集單元,用于基于預(yù)設(shè)用戶的配置信息,對獲取的配置信息進(jìn)行處理后,獲取本地終端數(shù)據(jù);會話建立單元,用于基于獲取的本地終端數(shù)據(jù),進(jìn)行安全性處理后,建立起瀏覽器和第三方系統(tǒng)之間的會話。在該技術(shù)方案中,可以在不改變原來應(yīng)用系統(tǒng)源碼、不需要在第三方系統(tǒng)放置組件的前提下,安全、方便地實(shí)現(xiàn)單點(diǎn)登錄第三方系統(tǒng)。
[0013]在上述技術(shù)方案中,優(yōu)選地,該單點(diǎn)登錄裝置,還包括設(shè)置在所述本地終端數(shù)據(jù)收集單元之前的憑證制作單元,用于制作包含用戶配置信息、且經(jīng)過AES加密處理的用戶憑證表;所述本地終端數(shù)據(jù)收集單元進(jìn)一步地用于:基于預(yù)設(shè)用戶的配置信息,對獲取的配置信息進(jìn)行處理后,獲取本地終端數(shù)據(jù)。在該技術(shù)方案中,可以預(yù)先設(shè)置經(jīng)過加密的配置信息,在登錄第三方系統(tǒng)時(shí),可以方便快捷地查到所需用戶信息,且安全性有保障。
[0014]在上述技術(shù)方案中,優(yōu)選地,所述本地終端數(shù)據(jù)收集單元,具體包括:配置信息獲取模塊,用于獲取用戶憑證表中的配置信息;配置信息解密模塊,用于對獲取的配置信息進(jìn)行AES解密處理;登錄地址模擬模塊,用于解密處理獲取登錄地址后,用HttpClient模擬登錄到取得的登錄地址;本地終端數(shù)據(jù)獲取模塊,用于在模擬登錄過程中,當(dāng)收到成功登錄的信息時(shí),獲取當(dāng)前會話的本地終端數(shù)據(jù)。在該技術(shù)方案中,可以采用“Portal端模擬登錄建立會話”+“網(wǎng)關(guān)Cookie改寫”的方式來進(jìn)行會話漂移,從而達(dá)到單點(diǎn)登錄和安全性的目標(biāo)。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述配置信息獲取模塊獲取的用戶憑證表中的配置信息,包括第三方系統(tǒng)的用戶名、密碼和第三方系統(tǒng)的配置表里的用戶名字段名、密碼字段名、登錄地址。在該技術(shù)方案中,沒有代碼級的修改,更易實(shí)施;提供的安全的單點(diǎn)登錄方案,更具安全特性,實(shí)施方便快捷。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述會話建立單元,具體包括:本地終端數(shù)據(jù)加密模塊,用于基于獲取的本地終端數(shù)據(jù),進(jìn)行AES加密處理;本地終端數(shù)據(jù)簽名模塊,用于加密處理后,進(jìn)行簽名處理,將獲取的密文和簽名打包發(fā)送給第三方系統(tǒng);本地終端數(shù)據(jù)驗(yàn)證模塊,用于將第三方系統(tǒng)獲取的接收包進(jìn)行解包處理,獲得密文和簽名;基于密文的摘要,用發(fā)送方的公鑰對接收的數(shù)字簽名進(jìn)行RSA解密處理;本地終端數(shù)據(jù)解密模塊,用于當(dāng)RSA解密所得生成值預(yù)設(shè)時(shí)間戳?xí)r,將該RSA解密后的本地終端數(shù)據(jù)設(shè)置到瀏覽器中,建立起瀏覽器和第三方系統(tǒng)之間的會話。在該技術(shù)方案中,在增強(qiáng)了單點(diǎn)登錄的安全性后,對于實(shí)施過程基本上沒有增加工作,只需把通用標(biāo)準(zhǔn)的SSO組件放入支持單點(diǎn)登錄的第三方系統(tǒng)中即可。
[0017]根據(jù)本發(fā)明的又一個(gè)方面,還提出了一種單點(diǎn)登錄方法,包括:步驟204:基于預(yù)設(shè)用戶的配置信息,對獲取的配置信息進(jìn)行處理后,獲取本地終端數(shù)據(jù);步驟206:基于獲取的本地終端數(shù)據(jù),進(jìn)行安全性處理后,建立起瀏覽器和第三方系統(tǒng)之間的會話。在該技術(shù)方案中,可以在不改變原來應(yīng)用系統(tǒng)源碼、不需要在第三方系統(tǒng)放置組件的前提下,安全、方便地實(shí)現(xiàn)單點(diǎn)登錄第三方系統(tǒng)。
[0018]在上述技術(shù)方案中,優(yōu)選地,該單點(diǎn)登錄方法,還包括設(shè)置在所述步驟204之前的步驟202,用于制作包含用戶配置信息、且經(jīng)過AES加密處理的用戶憑證表;所述步驟204進(jìn)一步地為:基于預(yù)設(shè)用戶的配置信息,對獲取的配置信息進(jìn)行處理后,獲取本地終端數(shù)據(jù)。在該技術(shù)方案中,可以預(yù)先設(shè)置經(jīng)過加密的配置信息,在登錄第三方系統(tǒng)時(shí),可以方便快捷地查到所需用戶信息,且安全性有保障。
[0019]在上述技術(shù)方案中,優(yōu)選地,所述步驟204,具體包括:步驟302:獲取用戶憑證表中的配置信息;步驟304:對獲取的配置信息進(jìn)行AES解密處理;步驟306:解密處理獲取登錄地址后,用HttpClient模擬登錄到取得的登錄地址;步驟308:在模擬登錄過程中,當(dāng)收到成功登錄的信息時(shí),獲取當(dāng)前會話的本地終端數(shù)據(jù)。在該技術(shù)方案中,可以采用“Portal端模擬登錄建立會話”+ “網(wǎng)關(guān)Cookie改寫”的方式來進(jìn)行會話漂移,從而達(dá)到單點(diǎn)登錄和安全性的目標(biāo)。
[0020]在上述技術(shù)方案中,優(yōu)選地,所述步驟302獲取的用戶憑證表中的配置信息,包括第三方系統(tǒng)的用戶名、密碼和第三方系統(tǒng)的配置表里的用戶名字段名、密碼字段名、登錄地址。在該技術(shù)方案中,沒有代碼級的修改,更易實(shí)施;提供的安全的單點(diǎn)登錄方案,更具安全特性,實(shí)施方便快捷。
[0021]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟402:基于獲取的本地終端數(shù)據(jù),進(jìn)行AES加密處理;步驟404:加密處理后,進(jìn)行簽名處理,