專利名稱:一種在系統(tǒng)間實現(xiàn)單次登錄的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及互聯(lián)網(wǎng)技術(shù),尤其涉及在系統(tǒng)間實現(xiàn)單次登錄的方法及其系統(tǒng)。
背景技術(shù):
許多基于互聯(lián)網(wǎng)的應用需要用戶在多個彼此獨立但又密切合作的網(wǎng)站系統(tǒng)間進行一系列操作流程之后才能完成。比如,對于C2C(Consumer toConsumer)電子商務(wù)應用,用戶可能在一個C2C網(wǎng)站上選購自己心儀的商品,然后通過一個提供交易擔保與便捷支付手段的支付網(wǎng)站完成整個交易的流程。在這個例子中,C2C網(wǎng)站與支付網(wǎng)站是兩個完全獨立的網(wǎng)站,分別有各自的用戶身份域和身份驗證機制。但對用戶而言,往往希望能夠得到最流暢的購物體驗,而不希望在一次購買活動中需要分別登錄兩個不同的網(wǎng)站。因此,在這種情況下就需要有一種方便、安全、快捷的單次登錄(Single Sign-On,SSO)機制。單次登錄是指只需要用戶輸入一次用于驗證的身份信息,即可使用多個需要驗證身份的應用程序或訪問多個需要驗證身份的網(wǎng)站系統(tǒng),而無須用戶再次輸入身份信息。
傳統(tǒng)的單次登錄方法和系統(tǒng)建立在兩個基礎(chǔ)軟硬件設(shè)施之上。首先,需要通過一個統(tǒng)一的用戶管理系統(tǒng)來維護一個單一的用戶視圖;其次,需要有一個公共的身份驗證系統(tǒng)來實現(xiàn)統(tǒng)一的用戶身份驗證。用戶首先以統(tǒng)一用戶身份在公共身份驗證系統(tǒng)中登錄,并獲取可以證明它身份的令牌,當他訪問同一個身份管理域中的系統(tǒng)時,在訪問請求中包含該令牌,由各個系統(tǒng)分別請求統(tǒng)一身份驗證系統(tǒng)驗證令牌的有效性并決定身份是否真實。這種傳統(tǒng)的單次登錄方法與系統(tǒng)如圖1所示,實現(xiàn)單次登錄的過程如下步驟1、用戶瀏覽器首先請求訪問應用系統(tǒng)中的某個資源,應用系統(tǒng)發(fā)現(xiàn)用戶沒有身份令牌,將用戶重定向到統(tǒng)一身份驗證系統(tǒng)進行身份驗證。
步驟2、用戶在統(tǒng)一身份驗證系統(tǒng)通過身份驗證。
步驟3、用戶被統(tǒng)一身份驗證系統(tǒng)重定向回應用系統(tǒng),并提交身份令牌至應用系統(tǒng)。
步驟4、應用系統(tǒng)將令牌交給統(tǒng)一身份驗證系統(tǒng)驗證其真實性,如果真實,則允許用戶訪問應用系統(tǒng)中被請求的資源,否則,拒絕用戶訪問被請求的資源。
由于傳統(tǒng)的單次登錄方法和系統(tǒng)需要在不同網(wǎng)站間建立統(tǒng)一的用戶身份庫,并搭建統(tǒng)一的身份驗證系統(tǒng)。對于不同機構(gòu)管理下的網(wǎng)站,要建立統(tǒng)一的用戶身份庫與身份驗證系統(tǒng),在管理策略和技術(shù)實現(xiàn)上都存在著困難。這些困難具體表現(xiàn)在1、不同網(wǎng)站有各自的用戶群,這些用戶集合之間有交集,但不是完全重合的,因此,很難將不同的用戶集合納入到統(tǒng)一的用戶身份庫中。
2、不同的網(wǎng)站有自己特定的用戶注冊與管理策略和流程,要求它們轉(zhuǎn)換為使用統(tǒng)一的用戶身份管理系統(tǒng)進行用戶的注冊與管理往往不符合業(yè)務(wù)的需求。
3、由于統(tǒng)一用戶身份庫是各個網(wǎng)站系統(tǒng)公用的,但不同網(wǎng)站系統(tǒng)又是獨立運營的,因此,很難決定究竟由誰來建立和維護統(tǒng)一用戶身份庫。
4、身份令牌一般是通過cookie進行傳遞的,而通過cookie傳遞身份驗證信息要求單次登錄域中的不同網(wǎng)站系統(tǒng)位于同一網(wǎng)絡(luò)域中。對于不同網(wǎng)絡(luò)域之間的單次登錄,采用這種機制實現(xiàn)起來需要相當復雜的流程。
5、統(tǒng)一身份驗證系統(tǒng)作為一個集中式的會話管理組件,存在潛在的單點故障及性能瓶頸問題。要解決這一問題,就需要引入高成本、復雜的集群技術(shù),這將大幅度增加建設(shè)與維護的成本。
6、將原有的分散的用戶身份管理與身份驗證系統(tǒng)改造成統(tǒng)一身份管理與身份驗證系統(tǒng),需要對原有系統(tǒng)進行較大的改造,成本與改造風險較大。
發(fā)明內(nèi)容
本發(fā)明提供一種在系統(tǒng)間實現(xiàn)單次登錄的方法及其系統(tǒng),以解決現(xiàn)有技術(shù)中在系統(tǒng)間實現(xiàn)單次登錄需要引入集中式的統(tǒng)一用戶身份庫和統(tǒng)一身份驗證系統(tǒng),存在實現(xiàn)技術(shù)難度大和管理困難的問題。
本發(fā)明提供以下技術(shù)方案一種在系統(tǒng)間實現(xiàn)單次登錄的方法,包括步驟第一系統(tǒng)根據(jù)本系統(tǒng)保存的用戶身份映射關(guān)系,獲取已登錄用戶在第二系統(tǒng)中的身份信息并生成身份簽名;將所述身份簽名攜帶在所述用戶請求登錄第二系統(tǒng)的請求消息中,由第二系統(tǒng)根據(jù)該身份簽名對用戶進行驗證。
根據(jù)上述方法第一系統(tǒng)獲知已登錄本系統(tǒng)的用戶需要訪問第二系統(tǒng)時,生成所述身份簽名。
由第二系統(tǒng)將用戶的登錄請求重定向到第一系統(tǒng)并標識請求身份簽名,第一系統(tǒng)根據(jù)請求生成所述身份簽名并將該登錄請求重定向到第二系統(tǒng)。第一系統(tǒng)在確定所述用戶未登錄本系統(tǒng)時,進一步要求用戶提供身份信息以驗證該用戶。
在攜帶身份簽名的請求消息中進一步標識該用戶來自第一系統(tǒng);第二系統(tǒng)根據(jù)標識解析所述身份簽名。
在生成身份簽名過程中加入時間戳;所述第二系統(tǒng)利用該時間戳驗證所述身份簽名的有效性。
一種驗證系統(tǒng),包括存儲裝置,用于保存本系統(tǒng)的用戶信息,以及保存用戶在多個系統(tǒng)的身份信息之間的映射關(guān)系;身份驗證裝置,用于從所述存儲裝置獲取用戶信息對請求登錄的用戶進行身份驗證;
身份簽名生成器,用于從所述存儲裝置獲取已登錄本系統(tǒng)的用戶在其他系統(tǒng)的身份信息生成身份簽名。
一種驗證系統(tǒng),包括存儲裝置,用于保存本系統(tǒng)的用戶信息;身份驗證裝置,用于從所述存儲裝置獲取用戶信息對請求登錄的用戶進行身份驗證;身份簽名驗證器,用于解析用戶的身份簽名,以及從所述存儲裝置查詢用戶信息驗證該身份簽名。
所述的驗證系統(tǒng)進一步包括權(quán)限控制器,用于根據(jù)用戶登錄方式確定登錄用戶的訪問權(quán)限。
本發(fā)明有益效果如下1、本發(fā)明在系統(tǒng)中引入用戶身份映射關(guān)系實現(xiàn)系統(tǒng)間的用戶身份映射,通過分布式的身份簽名生成器與身份簽名驗證器實現(xiàn)相互信任系統(tǒng)之間的單次登錄,不需要引入集中式的身份驗證系統(tǒng)。而身份簽名生成器與身份簽名驗證器是對系統(tǒng)的簡單擴充,不需要修改原有的身份驗證系統(tǒng)。因此,與現(xiàn)有技術(shù)的集中式身份驗證系統(tǒng)相比,本發(fā)明的技術(shù)方案不僅容易實現(xiàn),而且也易于維護管理;同時,避免了集中式身份驗證系統(tǒng)引發(fā)的潛在性能瓶頸與單點故障問題,以及傳統(tǒng)單次登錄方法和系統(tǒng)的實施成本與技術(shù)風險。
2、由于本發(fā)明在系統(tǒng)中引入用戶身份映射關(guān)系,系統(tǒng)用戶集之間仍然保持相對獨立,兩者間的映射關(guān)系可以根據(jù)需求靈活地建立和解除。
3、本發(fā)明通過安全的身份簽名生成與驗證算法實現(xiàn)了真實、完整、防否認與防重播的單次登錄,其安全性能夠滿足電子商務(wù)等對安全性要求較高的網(wǎng)站系統(tǒng)的需求。通過應需生成身份簽名的單次登錄流程實現(xiàn)了簽名生成與驗證次數(shù)的最少化,達到了快速、便捷的設(shè)計目標。
圖1為現(xiàn)有技術(shù)在網(wǎng)站系統(tǒng)間實現(xiàn)單次登錄的示意圖;圖2為本發(fā)明實施例中實現(xiàn)單次登錄的系統(tǒng)結(jié)構(gòu)示意圖;圖3、圖4為本發(fā)明實施例中在兩個網(wǎng)站系統(tǒng)間實現(xiàn)單次登錄的流程圖。
具體實施例方式
本實施例主要以在互聯(lián)網(wǎng)中提供電子商務(wù)應用的網(wǎng)站系統(tǒng)A(以下簡稱網(wǎng)站A)和網(wǎng)站B(以下簡稱網(wǎng)站B)之間實現(xiàn)單次登錄為例對本發(fā)明的實現(xiàn)進行詳細說明。
參閱圖2所示,網(wǎng)站A和網(wǎng)站B是兩個位于互聯(lián)網(wǎng)任何位置的獨立的網(wǎng)站,位于兩個不同的網(wǎng)絡(luò)域A和網(wǎng)絡(luò)域B中。當然,網(wǎng)站A和網(wǎng)站B也可以位于同一個網(wǎng)絡(luò)域中。網(wǎng)站A有自己的用戶群,其包含用戶信息的用戶庫A保存在網(wǎng)站A的存儲裝置20中;網(wǎng)站B也有自己的用戶群,包含用戶信息的用戶庫B存儲在網(wǎng)站B的存儲裝置30中。網(wǎng)站A的用戶通過身份驗證裝置21的身份驗證之后,可以訪問網(wǎng)站A的資源。網(wǎng)站B的用戶通過身份驗證裝置31的身份驗證之后,可以訪問網(wǎng)站B的資源。這是現(xiàn)有互聯(lián)網(wǎng)上典型的兩個獨立運營的網(wǎng)站的用戶管理與身份驗證方式。
在本發(fā)明中,網(wǎng)站A與網(wǎng)站B建立了合作關(guān)系后,在網(wǎng)站A建立網(wǎng)站A/B用戶映射關(guān)系表。用戶C同時為網(wǎng)站A和網(wǎng)站B的用戶,在網(wǎng)站A,其身份是CA,在網(wǎng)站B,其身份是CB,則在網(wǎng)站A/B用戶映射關(guān)系表中有這樣一項CA→CB,表示網(wǎng)站A中身份為CA的用戶在網(wǎng)站B的身份是CB。用戶登錄網(wǎng)站A后,根據(jù)其身份CA即可獲得用戶在網(wǎng)站B的身份CB。用戶的身份CA、CB可以是用戶身份標識(即身份ID),當然,還可增加用于驗證或控制的附加信息。
網(wǎng)站A中還包括身份簽名生成器22,如果用戶C在網(wǎng)站A已登錄,身份為CA,則身份簽名生成器22使用網(wǎng)站A和網(wǎng)站B約定的簽名算法和簽名密鑰對用戶在網(wǎng)站B的身份CB進行簽名。
網(wǎng)站B中還包括身份簽名驗證器32,當用戶請求中包含在網(wǎng)站A生成的身份簽名時,身份簽名驗證器32解析身份簽名,并驗證身份簽名的真實性、完整性和有效性,當驗證通過之后,網(wǎng)站B就可以得知用戶在網(wǎng)站B的身份,為用戶建立恰當?shù)慕巧?。身份簽名驗證器32驗證身份信息時,根據(jù)請求中用戶的身份ID從保存的用戶身份信息中取得完整的用戶信息。如果用戶身份ID無效,或者對應的用戶不允許登錄(比如狀態(tài)不對,或者在黑名單中),則身份簽名驗證失敗,則不會允許用戶登錄。
網(wǎng)站B中進一步包括權(quán)限控制器33,該權(quán)限控制器33根據(jù)用戶登錄方式,即是直接從本站登錄還是從可信網(wǎng)站自動登錄,決定用戶對網(wǎng)站B資源的訪問權(quán)限。權(quán)限控制器33在決定用戶的訪問權(quán)限時,還可從存儲裝置30中讀取需要的用戶信息。用戶登錄并建立會話后,在保存的會話信息中記錄有用戶的登錄方式,因此,權(quán)限控制器33可以從會話信息中確定用戶的登錄方式。例如,網(wǎng)站A為C2C網(wǎng)站,網(wǎng)站B為支付網(wǎng)站,用戶從C2C網(wǎng)站單次登錄到支付網(wǎng)站時,權(quán)限控制器33可以只允許用戶處理它在C2C網(wǎng)站上的交易,而不允許用戶通過這種登錄方式在支付網(wǎng)站上處理賬務(wù)和其它網(wǎng)站上的交易。由于支付網(wǎng)站一般在安全性等級上要高于C2C網(wǎng)站,因此,通過這種方式,可以在易用性和安全性之間取得較好的平衡一即使用戶在C2C網(wǎng)站上的密碼被盜,受到影響的也只是用戶與該C2C網(wǎng)站相關(guān)的業(yè)務(wù)。
在網(wǎng)站A中,身份驗證裝置21與身份簽名生成器22可以為相互獨立的實體,也可以為同一實體;在網(wǎng)站B中,身份驗證裝置31與身份簽名驗證器32可以為相互獨立的實體,也可以為同一實體。
在網(wǎng)站A與網(wǎng)站B之間實現(xiàn)單次登錄是通過身份簽名來保證的,身份簽名算法的安全性是單次登錄安全性的關(guān)鍵,因此,需要滿足對身份簽名的真實性、完整性、防否認和防重播的安全要求。
真實性,是指身份簽名中包含的網(wǎng)站B的用戶身份信息及其它附加信息確實來自于網(wǎng)站A。
完整性,是指身份簽名在傳輸過程中沒有被第三方修改過。
防否認,是指除了網(wǎng)站A外,網(wǎng)站B以及其它任何第三方都無法制造出有效的身份簽名,因此如果發(fā)生與安全相關(guān)的糾紛,網(wǎng)站A無法否認該身份簽名是由自己生成的。
防重播,是指一個身份簽名只能使用一次,用過之后該身份簽名就不再有效。這樣,第三方就無法通過竊聽身份簽名并重播該身份簽名登錄網(wǎng)站B。
為了實現(xiàn)上述真實性、完整性和防否認的安全性要求,可采用基于公鑰體制的簽名算法。即在網(wǎng)站A和網(wǎng)站B之間約定一個公鑰、密鑰對,密鑰由網(wǎng)站A保管,對包括網(wǎng)站B在內(nèi)的任何其它實體都保密;與該密鑰對應的公鑰是公開的,并由網(wǎng)站B知曉。當進行身份簽名時,網(wǎng)站A中的身份簽名生成器22使用公鑰簽名算法,利用密鑰對用戶在網(wǎng)站B的身份進行簽名。當網(wǎng)站B的身份簽名驗證器32對身份簽名驗證時,使用公鑰簽名算法利用公鑰對身份簽名的真實性、完整性進行校驗。同時,網(wǎng)站B在日志中記錄通過校驗的身份簽名,以備發(fā)生安全糾紛時作為證據(jù),防止網(wǎng)站A否認進行過相關(guān)身份簽名。
為了實現(xiàn)防重播性,采用的身份簽名算法要求在身份驗證信息中包含時間戳,并對時間戳與用戶身份一起簽名;網(wǎng)站B可以通過該時間戳判斷身份簽名的真實性。其利用時間戳的方式可以有以下兩種1、當網(wǎng)站B中的身份簽名驗證器進行身份簽名驗證時,將本次身份簽名中的時間戳與該用戶上一次的身份簽名中的時間戳進行比較。由于同一用戶對網(wǎng)站B的兩次訪問請求的時間戳總是遞增的,因此,如果本次身份簽名中的時間戳比上一次的時間戳舊(即時間上早于前一次)或者兩者相同,說明本次身份簽名是一個重播請求,則身份簽名驗證失敗。
2、網(wǎng)站A和網(wǎng)站B約定時間戳的有效期限,比如說在1分鐘內(nèi)有效。當網(wǎng)站B收到身份簽名后根據(jù)時間戳所指示的時間和當前時間比較即可確定該身份簽名的有效性。這樣,即使簽名泄露,也只有1分鐘的有效期。
可采用的身份簽名和驗證算法并不局限于使用DSA(Digital SignatureAlgorithm)等公鑰體制的簽名算法。如果網(wǎng)站A和網(wǎng)站B之間足夠信任,不需要防否認機制,則可以采用密鑰體制對身份信息和時間戳進行加密,并傳輸密文串的方式實現(xiàn)身份簽名的真實性、完整性和防重播性;或者,可以采用更簡單的混淆算法SHA1(Secure Hash Algorithm(version 1.0))或者MD5(Message Digest(version 5))等對身份信息和時間戳進行簽名。采用混淆算法時通過雙方約定混淆算法的種子,從而可以保證第三方無法生成有效的身份簽名。
參閱圖3所示,網(wǎng)站A主動為用戶生成簽名實現(xiàn)自動登錄網(wǎng)站B的過程如下步驟300,用戶C請求登錄網(wǎng)站A,并輸入用于驗證身份的身份信息(如用戶名和密碼)。
步驟301,網(wǎng)站A中的身份驗證裝置21從存儲裝置20的用戶庫中讀取該用戶的信息,對用戶提供的身份信息進行驗證。
步驟302,對用戶C驗證成功,用戶C訪問網(wǎng)站A的資源。
步驟303,網(wǎng)站A檢測到用戶C需要訪問網(wǎng)站B(如用戶C請求了網(wǎng)站A中需要由網(wǎng)站B提供服務(wù)的資源時),身份簽名生成器22從網(wǎng)站A/B身份映射關(guān)系表中讀取用戶C在網(wǎng)站B的身份信息,并使用與網(wǎng)站B約定的簽名算法對用戶在網(wǎng)站B的身份和其它附加信息(如時間戳等)進行簽名,將身份簽名附加在對網(wǎng)站B的請求參數(shù)中。
步驟304,將包含身份簽名的訪問請求定向到網(wǎng)站B。在請求中標識用戶C來自網(wǎng)站A。標識的方式可以是以不同的子域名,也可以是以附加參數(shù)的方式。
步驟305,網(wǎng)站B中的身份簽名驗證器32利用與網(wǎng)站A約定的算法解析身份簽名,并驗證身份簽名的有效性,如果無效,則拒絕用戶訪問網(wǎng)站B中用戶請求的資源,如果有效,進行步驟306。
步驟306,身份簽名有效,說明用戶在網(wǎng)站B所信任的網(wǎng)站A已得到身份驗證,根據(jù)身份簽名中包含的用戶在網(wǎng)站B的身份標識為用戶建立會話,以及在日志中記錄身份簽名。
步驟307,權(quán)限控制器33進一步對用戶C進行權(quán)限檢查,如果權(quán)限檢查許可,則允許用戶訪問所請求的資源,否則,不允許訪問請求的資源。
上述單次登錄流程只需要執(zhí)行一次。在用戶與網(wǎng)站B的后續(xù)會話中,不需要再進行單次登錄,用戶可以直接訪問網(wǎng)站B的授權(quán)資源。
在本發(fā)明實施例中,可以由網(wǎng)站B在確定用戶C需要單次登錄時向網(wǎng)站A發(fā)起身份驗證請求,而不是每次用戶C從網(wǎng)站A訪問網(wǎng)站B時都主動進行簽名,這樣可以大大減少身份簽名與身份驗證的次數(shù),避免重復身份簽名生成與身份簽名驗證帶來的運算開銷、身份簽名日志存儲開銷以及身份簽名泄露的風險。這樣的一個單次登錄處理過程如圖4所示步驟400,用戶C請求訪問網(wǎng)站B,在請求中標識自己來自網(wǎng)站A。標識的方式可以是以不同的子域名,也可以是以附加參數(shù)的方式。
步驟401,網(wǎng)站B判斷用戶是否已經(jīng)在本網(wǎng)站登錄(或者已通過網(wǎng)站A單次登錄),如果是,則進行步驟407,否則進行步驟402。
步驟402,網(wǎng)站B將用戶C的請求重定向到網(wǎng)站A,在重定向請求中帶參數(shù)標識需要網(wǎng)站A提供身份驗證和身份簽名,并包含用戶請求訪問的網(wǎng)站B的資源。
步驟403,網(wǎng)站A判斷用戶C已在本網(wǎng)站登錄,并根據(jù)參數(shù)標識確定用戶請求身份簽名后,由身份簽名生成器22從網(wǎng)站A/B身份映射關(guān)系表中讀取用戶C在網(wǎng)站B的身份信息,并使用與網(wǎng)站B約定的簽名算法對用戶在網(wǎng)站B的身份和其它附加信息(如時間戳等)生成身份簽名。
對于用戶未先登錄網(wǎng)站A的情況,在該步驟中網(wǎng)站A會要求用戶提交在本網(wǎng)站的用戶名及密碼,由身份驗證裝置21對其進行驗證。
步驟404,將身份簽名附加在對網(wǎng)站B的請求參數(shù)中,并將用戶C的請求重定向回網(wǎng)站B。
步驟405,網(wǎng)站B中的身份簽名驗證器32利用與網(wǎng)站A約定的算法解析身份簽名,并驗證身份簽名的有效性,如果無效,則拒絕用戶訪問網(wǎng)站B中用戶請求的資源,否則,進行步驟406。
步驟406,身份簽名有效,說明用戶在網(wǎng)站B所信任的網(wǎng)站A已得到身份驗證,根據(jù)身份簽名中包含的用戶在網(wǎng)站B的身份標識為用戶建立會話,以及在日志中記錄身份簽名。
步驟407,權(quán)限控制器33進一步對用戶C進行權(quán)限檢查,如果權(quán)限檢查許可,則允許用戶訪問所請求的資源,否則,不允許訪問請求的資源。
綜上可知,在網(wǎng)站A引入網(wǎng)站A/B用戶身份映射表實現(xiàn)網(wǎng)站A與網(wǎng)站B之間的身份映射,避免了引入集中式的用戶管理系統(tǒng)帶來了管理風險和技術(shù)風險。網(wǎng)站A與網(wǎng)站B的用戶集之間仍然保持相對獨立,兩者間的映射關(guān)系可以應需靈活地建立和解除。
通過分布式的身份簽名生成器與身份簽名驗證器實現(xiàn)相互信任網(wǎng)站之間的單次登錄,不需要引入集中式的身份驗證系統(tǒng),避免了集中式身份驗證系統(tǒng)引發(fā)的潛在性能瓶頸與單點故障問題。而身份簽名生成器與身份簽名驗證器是對網(wǎng)站系統(tǒng)的簡單擴充,與集中式身份驗證系統(tǒng)相比,它不需要修改網(wǎng)站原有的身份驗證系統(tǒng),避免了傳統(tǒng)單次登錄方法的實施成本與風險。
通過安全的身份簽名生成與驗證算法實現(xiàn)了真實、完整、防否認與防重播的單次登錄,其安全性能夠滿足電子商務(wù)等對安全性要求很高的網(wǎng)站的需求。而通過應需生成身份簽名的單次登錄流程實現(xiàn)了簽名生成與驗證次數(shù)的最少化,達到了快速、便捷的設(shè)計目標。
雖然本實施例僅以網(wǎng)站A與網(wǎng)站B為例進行說明,但本發(fā)明并不限于此。如,網(wǎng)站A除了建立網(wǎng)站A/B用戶身份映射表,還可以與網(wǎng)站C建立網(wǎng)站A/C用戶身份映射表。同樣的,網(wǎng)站B也可以建立網(wǎng)站B/C用戶身份映射表來實現(xiàn)與網(wǎng)站C之間的單次登錄(即網(wǎng)站C與多個網(wǎng)站之間具有合關(guān)系),甚至網(wǎng)站B中還可建立B/A用戶身份映射表。但任意兩個網(wǎng)站之間實現(xiàn)單次登錄的處理過程與上述同理。
雖然本實施例以提供電子商務(wù)應用的網(wǎng)站系統(tǒng)為例進行說明,但并不限于此,本發(fā)明同樣適用于需要通過驗證用戶身份才能訪問系統(tǒng)資源的其他任何網(wǎng)絡(luò)系統(tǒng)、通信系統(tǒng)等,如即時通信系統(tǒng)。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種在系統(tǒng)間實現(xiàn)單次登錄的方法,其特征在于,包括如下步驟第一系統(tǒng)根據(jù)本系統(tǒng)保存的用戶身份映射關(guān)系,獲取已登錄用戶在第二系統(tǒng)中的身份信息并生成身份簽名;將所述身份簽名攜帶在所述用戶請求登錄第二系統(tǒng)的請求消息中,由第二系統(tǒng)根據(jù)該身份簽名對用戶進行驗證。
2.如權(quán)利要求1所述的方法,其特征在于,第一系統(tǒng)獲知已登錄本系統(tǒng)的用戶需要訪問第二系統(tǒng)時,生成所述身份簽名。
3.如權(quán)利要求1所述的方法,其特征在于,由第二系統(tǒng)將用戶的登錄請求重定向到第一系統(tǒng)并標識請求身份簽名,第一系統(tǒng)根據(jù)請求生成所述身份簽名并將該登錄請求重定向到第二系統(tǒng)。
4.如權(quán)利要求3所述的方法,其特征在于,第一系統(tǒng)在確定所述用戶未登錄本系統(tǒng)時,進一步要求用戶提供身份信息以驗證該用戶。
5.如權(quán)利要求1所述的方法,其特征在于,在攜帶身份簽名的請求消息中進一步標識該用戶來自第一系統(tǒng);第二系統(tǒng)根據(jù)標識解析所述身份簽名。
6.如權(quán)利要求5所述的方法,其特征在于,第一系統(tǒng)采用公鑰體制簽名算法、密鑰體制簽名算法或者混淆算法生成所述身份簽名;第二系統(tǒng)采用相應的算法解析所述身份簽名。
7.如權(quán)利要求1至6之一項所述的方法,其特征在于,在生成身份簽名過程中加入時間戳;所述第二系統(tǒng)利用該時間戳驗證所述身份簽名的有效性。
8.如權(quán)利要求7所述的方法,其特征在于,第二系統(tǒng)通過比較同一用戶的本次訪問請求與前一次訪問請求的時間戳確定所述身份簽名的有效性;或者,通過比較時間戳所表示的時間與約定的有效時間確定所述身份簽名的有效性。
9.如權(quán)利要求7所述的方法,其特征在于,所述第二系統(tǒng)根據(jù)所述身份簽名對用戶驗證成功并允許用戶登錄后,進一步控制該用戶的訪問權(quán)限。
10.如權(quán)利要求7所述的方法,其特征在于,所述第二系統(tǒng)根據(jù)所述身份簽名對用戶驗證成功并允許用戶登錄后,進一步在日志中記錄所述身份簽名。
11.一種驗證系統(tǒng),其特征在于,包括存儲裝置,用于保存本系統(tǒng)的用戶信息,以及保存用戶在多個系統(tǒng)的身份信息之間的映射關(guān)系;身份驗證裝置,用于從所述存儲裝置獲取用戶信息對請求登錄的用戶進行身份驗證;身份簽名生成器,用于從所述存儲裝置獲取已登錄本系統(tǒng)的用戶在其他系統(tǒng)的身份信息生成身份簽名。
12.一種驗證系統(tǒng),其特征在于,包括存儲裝置,用于保存本系統(tǒng)的用戶信息;身份驗證裝置,用于從所述存儲裝置獲取用戶信息對請求登錄的用戶進行身份驗證;身份簽名驗證器,用于解析用戶的身份簽名,以及從所述存儲裝置查詢用戶信息驗證該身份簽名。
13.如權(quán)利要求12所述的驗證系統(tǒng),其特征在于,該驗證系統(tǒng)進一步包括權(quán)限控制器,用于根據(jù)用戶登錄方式確定登錄用戶的訪問權(quán)限。
全文摘要
本發(fā)明公開了一種在系統(tǒng)間實現(xiàn)單次登錄的方法,以解決現(xiàn)有技術(shù)中在系統(tǒng)間實現(xiàn)單次登錄存在實現(xiàn)技術(shù)難度大和管理困難的問題;該方法由第一系統(tǒng)根據(jù)本系統(tǒng)保存的用戶身份映射關(guān)系,獲取已登錄用戶在第二系統(tǒng)中的身份信息并生成身份簽名;將所述身份簽名攜帶在所述用戶請求登錄第二系統(tǒng)的請求消息中,由第二系統(tǒng)根據(jù)該身份簽名對用戶進行驗證。本發(fā)明還同時公開了一種驗證系統(tǒng)。
文檔編號H04L9/32GK1835438SQ200610065558
公開日2006年9月20日 申請日期2006年3月22日 優(yōu)先權(quán)日2006年3月22日
發(fā)明者吳泳銘, 錢志龍, 程立 申請人:阿里巴巴公司