新四季網

基於Token的SSO認證系統的製作方法

2023-05-10 04:49:56 2

專利名稱:基於Token的SSO認證系統的製作方法
技術領域:
本發明涉及認證系統,尤其涉及一種通過網絡進行的基於Token的SSO認證系統。
背景技術:
一般應用在登錄的時候,客戶端會將用戶名和密碼發送到登錄伺服器進行驗證,驗證成功之後,就在客戶端和登錄伺服器之間建立了一個會話,在這個會話維持期間,用戶的本次登錄就將是有效的。當客戶端需要連接其他伺服器的時候,伺服器會去確認這個會話,如果會話存在,則允許後續操作,會話無效,則拒絕操作。
這種使用會話來實現的單點登錄一般局限在同一個應用裡面或者小範圍之內,遊戲一般都是以分區,分伺服器的方式來限制客戶端的數量。如果一個大的應用採用類似模式,那麼對會話伺服器的容量要求,性能,穩定性,擴展性都將是一個巨大的考驗,而基於Token的單點登錄(SSOsingle sign on)認證系統就可以利用PKI(Public Key Infrastructure,公鑰基礎設施)方式,很好地將單點壓力分散到了一個分布式的系統中,從而提供一種安全、便捷的網絡用戶身份認證方式。

發明內容
本發明要解決的技術問題是提供一種基於Token的SSO認證系統,該系統能進行安全、便捷的網絡用戶身份認證。
為了解決上述技術問題,本發明採用如下技術方案一種基於Token的SSO認證系統,它包括passport伺服器,與SSO客戶端組件相連接,用於對客戶端提供認證服務;SSO客戶端組件,與passport伺服器和客戶端相連接,用於將認證信息從客戶端發送到Passport伺服器進行認證,並為認證成功的客戶獲取登錄憑證;應用伺服器端驗證組件,與客戶端相連接,用於驗證客戶端遞交的登錄憑證。
由於採用上述技術方案,本發明的基於Token的SSO認證系統能確保網絡交互的安全性,並通過使用動態密碼進行身份認證,有效提高了用戶身份認證的安全性,也提高了系統的整體安全性,而且分擔了集中式認證的負擔,有利於產品整合。


圖1是本發明的SSO網絡架構圖;圖2是本發明的單點登錄的認證和登錄流程圖;圖3是本發明的客戶端SSO的傳遞流程圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發明做進一步詳細說明。
本發明的基於Token的SSO認證系統具有SSO的PKI體系網絡架構(圖1),其中,Token是認證憑據,用於證明用戶在某個時刻被Passport(通行證)伺服器認證成功,Token包含了用戶本次的認證信息,這些認證信息使用對稱密鑰KEYapp加密並且使用Passport伺服器的私鑰SK籤名;SK是Passport伺服器用於對Token信息進行籤名的私鑰;KEYapp是Passport用於對Token信息進行加密的密鑰;SessionKey(會話密鑰)是用戶在認證成功後由Passport生成,並且被發送到客戶端,是客戶端用於生成登錄憑證的密鑰。
本發明的基於Token的SSO認證系統包括passport伺服器、SSO客戶端組件及應用伺服器端驗證組件,其中,SSO客戶端組件分別與passport伺服器和應用伺服器端驗證組件相連接。
所述SSO客戶端組件包括認證接口、獲取Token和加密串接口、註銷接口、重登陸接口、獲取錯誤信息接口以及獲取用戶ID接口,這些接口的功能如下(1)認證接口該接口是用戶使用用戶名和密碼調用組件,組件去Passport伺服器驗證,如果驗證成功,返回一個訪問密鑰(AccessKey),擁有AccessKey的應用程式就能通過組件獲取認證數據包的服務。輸入參數用戶的PT帳號、PT密碼、用戶密寶,輸出參數訪問密碼。
(2)獲取Token和加密串接口只要提供正確的PtId和AccessKey,該接口組件就會為客戶端加密生成認證信息,輸入參數用戶的PT帳號、訪問密碼、希望訪問的應用ID號、應用伺服器時間,輸出參數生成的認證數據和用戶的Token。客戶端用生成的認證數據(EncryptData)和Token到應用伺服器獲取需要的服務,如果AccessKey輸入錯誤,組件將拒絕服務5秒鐘。
(3)註銷接口只要提供正確的PtId和AccessKey,該接口組件就會為該用戶註銷SSO的信息。
(4)重登陸接口用戶輸入認證信息後去PassportServer驗證,認證成功,客戶端可以使用原來的AccessKey來訪問該接口組件,輸入參數用戶的PT帳號、訪問密碼、PT密碼及用戶密寶。
(5)獲取錯誤信息接口該接口獲取錯誤描述信息。
(6)獲取用戶ID接口該接口獲取用戶所有數字ID和PT帳號對應關係。輸入參數用戶的數字ID或者pt帳號、帳號類型、訪問密碼,輸出參數pt帳號、基礎數字ID(它是各個系統之間用於標示用戶的唯一數字ID,不可變)及用戶數字ID(它是用戶用於登錄的數字ID,可變)。
所述應用伺服器端驗證組件包括配置文件、初始化接口及驗證籤名接口。該組件的配置文件為SignVerifier.ini,配置項如下所列TOKEN_EXPIRETIME=28800000,Token的過期時間ms(默認8小時);TIME_INTERVAL=600000,兩次認證的時間間隔ms(默認1分鐘,此處設置10分鐘);TIME_PERMIT_ERROR=600000,伺服器組之間的最大時間誤差,例如Passport伺服器和Avatar伺服器的時間誤差(默認10分鐘);APPID=IM,應用伺服器類型(此處是IM伺服器);
DEBUG=Y,調試標誌(如果Y,忽略認證間隔時間和Token過期時間的判斷;如果N,嚴格執行配置文件的過期時間)。
應用伺服器端驗證組件的初始化接口包括籤名公鑰文件、DES3密鑰文件,返回值,非零為失敗,通過GetErrorDes-cription獲取錯誤描述。
應用伺服器端驗證組件的驗證籤名接口包括加密數據、Token信息、用戶名、Token籤發時間、SessionKey信息、用戶IP位址、用戶內部數字ID(不會改變)、用戶特殊數字ID(用戶可以更改),返回值,非零為失敗,通過GetErrorDescription獲取錯誤描述。
圖2所示為本發明的單點登錄的認證和登錄流程,SSO組件在認證成功之後,會將Token以及SessionKey加密保存在本地內存中,然後隨機產生一個AccessKey與之相關聯,並返回給客戶端。然後客戶端就可以通過這個AccessKey來使用SSO組件內的保密信息(Token+SessionKey)來生成登錄憑證。認證流程中,用戶在客戶端輸入用戶名、靜態密碼和動態密碼之後點認證按鈕,客戶端會調用SSO客戶端組件,組件通過SSL(secure sockets layer,加密套解字協議層)通訊方式將認證信息安全發送到Passport伺服器進行身份認證,如果認證成功,則返回SessionKey和Token,SSO客戶端組件則將這兩個信息加密保存在內存中,並且返回AccessKey給客戶端,表明本次認證成功。登錄流程中,當用戶需要登錄某一個應用的時候,首先獲取需要登錄的伺服器時間,調用客戶端SSO組件,請求登錄憑證(可以理解為門票),客戶端SSO組件則利用SessionKey加密登錄信息附上Token生成登錄憑證,客戶端將登錄憑證發送到登錄伺服器進行驗證,驗證成功則登錄完成。
單點登錄客戶端認證成功之後,將獲得訪問SSO組件的AccessKey,擁有這個AccessKey的客戶端可以多次使用組件生成登錄憑證,達到訪問不同伺服器的功能(圖3)。當使用單點登錄客戶端啟動另一個遊戲的時候,可以通過命令行傳遞的方式將用戶名以及AccessKey傳遞給遊戲客戶端,則遊戲客戶端也可以使用AccessKey訪問客戶端SSO組件,實現在多個客戶端上的單點登錄。
應用伺服器需要向客戶端發布一個獲取本地伺服器時間的接口,在C++中,可使用_time64函數獲取,獲取之後再乘以1000轉化成毫秒格式。所有應用伺服器和Passport伺服器之間都需要做時間同步,且應用伺服器端需要有解密Token的對稱密鑰和驗證Token的公鑰,應用伺服器使用SignVerifier組件驗證客戶端遞交的Token以及加密串的合法性。
應用伺服器端驗證組件位於應用伺服器端,用於驗證客戶端遞交的登錄憑證是否合法。首先,驗證Token籤名是否正確,再解密Token獲取Token信息,然後判斷Token是否過期。接著,使用SessionKey解密EncryptData,再比較加密串的UserID和Token的UserID是否一致,還比較ServerTime是否在允許範圍之內,以及比較AppID是否和當前應用一致。
權利要求
1.一種基於Token的SSO認證系統,其特徵在於,它包括passport伺服器,與SSO客戶端組件相連接,用於對客戶端提供認證服務;SSO客戶端組件,與passport伺服器和客戶端相連接,用於將認證信息從客戶端發送到Passport伺服器進行認證,並為認證成功的客戶獲取登錄憑證;應用伺服器端驗證組件,與客戶端相連接,用於驗證客戶端遞交的登錄憑證。
2.如權利要求1所述的基於Token的SSO認證系統,其特徵在於,所述SSO客戶端組件包括認證接口、獲取Token和加密串接口、註銷接口、重登陸接口、獲取錯誤信息接口以及獲取用戶ID接口。
3.如權利要求1所述的基於Token的SSO認證系統,其特徵在於,所述應用伺服器端驗證組件包括配置文件、初始化接口及驗證籤名接口。
4.如權利要求1所述的基於Token的SSO認證系統,其特徵在於,所述pas sport伺服器可支持靜態認證和動態認證。
5.如權利要求1所述的基於Token的SSO認證系統,其特徵在於,所述passport伺服器可為認證成功的用戶頒發由其籤名的Token和sessionkey。
6.如權利要求1所述的基於Token的SSO認證系統,其特徵在於,所述SSO客戶端組件通過SSL通訊方式將認證信息發送到Passport伺服器進行認證。
7.如權利要求1或5所述的基於Token的SSO認證系統,其特徵在於,所述SSO客戶端組件在認證成功後,將Token和sessionkey加密保存於內存,並產生AccessKey返回給客戶端。
8.如權利要求7所述的基於Token的SSO認證系統,其特徵在於,認證成功後,所述客戶端獲取需要登錄的伺服器時間,再通過AccessKey使用SSO客戶端組件內的Token和sessionkey生成登錄憑證。
9.如權利要求7或8所述的基於Token的SSO認證系統,其特徵在於,所述客戶端獲取AccessKey後,可多次使用SSO客戶端組件生成登錄憑證,以訪問不同伺服器。
全文摘要
本發明公開了一種基於Token的SSO認證系統,它包括passport伺服器,與SSO客戶端組件相連接,用於對客戶端提供認證服務;SSO客戶端組件,與passport伺服器和客戶端相連接,用於將認證信息從客戶端發送到Passport伺服器進行認證,並為認證成功的客戶獲取登錄憑證;應用伺服器端驗證組件,與客戶端相連接,用於驗證客戶端遞交的登錄憑證。本發明基於Token的SSO認證系統能有效提高網絡交互的安全性和用戶身份認證的安全性,且分擔了集中式認證的負擔,有利於產品整合。
文檔編號H04L29/06GK101060520SQ20061002591
公開日2007年10月24日 申請日期2006年4月21日 優先權日2006年4月21日
發明者錢宇傑 申請人:盛趣信息技術(上海)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀