[發明專利]一種基于票據的分布式認證方法有效
| 申請號: | 202110990892.4 | 申請日: | 2021-08-26 |
| 公開(公告)號: | CN113660284B | 公開(公告)日: | 2023-02-21 |
| 發明(設計)人: | 譚彬 | 申請(專利權)人: | 貴州電子商務云運營有限責任公司 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L9/32 |
| 代理公司: | 成都市鼎宏恒業知識產權代理事務所(特殊普通合伙) 51248 | 代理人: | 吳錦德 |
| 地址: | 550000 貴州省貴陽市貴陽國家高新技術產業開發區長*** | 國省代碼: | 貴州;52 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 票據 分布式 認證 方法 | ||
1.一種基于票據的分布式認證方法,其特征在于,所述的分布式認證方法包括三個相互連接的物理層架構,分別為:
1)應用或系統的客戶端、
2)應用或系統服務后端、
3)認證服務系統;
所述的應用或系統服務后端集成SDK包; SDK包提供系統認證功能,包括內容如下:攔截校驗本地用戶會話、驗證登錄票據換取會話憑證、登出本地會話、本地會話管理;
所述的認證服務系統運行具有用戶授權認證,提供一種基于票據的單點認證方法,通過封裝接口對外提供用戶注冊機制、用戶登錄機制、用戶會話授信、用戶信息更新、應用會話集中管理及本地管理功能;
所有的用戶信息由設置的中臺服務用戶中心服務統一保存和管理;
所有接入集成認證服務系統的應用或系統服務后端由設置的中臺服務應用中心統一保存和管理;
應用或系統服務后端和客戶端注冊發布時,選擇設置用戶會話鑒權方式、會話有效期時長、用戶數據授權范圍信息;
應用或服務開發團隊將從中臺服務應用中心獲取應用參數和客戶端標識;
集成的SSO客戶端SDK包的應用或系統服務后端將共享用戶信息作為用戶一次注冊多端訪問的數據基礎;
所述的分布式認證方法通過http協議請求獲取及交換憑證的方式,使用戶訪問應用或系統前進行登錄認證,在訪問其他系統時交換獲取新的憑證,實現授信系統間免登訪問;
所述的分布式認證方法步驟為:1)應用或系統向中臺服務應用中心注冊應用,發布應用或服務和創建對應客戶端,獲取應用或服務密鑰參數和客戶端標識參數;
2)應用或系統服務后端集成SSO客戶端SDK包;
3)客戶端向應用或系統服務后端發起訪問請求時,在請求頭中攜帶指定的會話標識;
4)SSO客戶端SDK包在請求鏈路上通過過濾器機制介入請求,從請求頭中獲取指定的會話標識;
5)若未能從請求頭中獲取到指定的會話標識,過濾器將向客戶端響應未獲授權訪問狀態碼;
6)客戶端接收到系統未獲授權訪問狀態碼,攜帶系統信息參數,重定向跳轉至集成認證服務系統服務頁面;
7)用戶在集成認證服務系統服務頁面完成注冊或登錄操作;
8)集成認證服務系統調用中臺服務應用中心接口,通過訪問系統遞交的appKey參數查詢注冊應用信息,獲取應用密鑰和登錄會話憑證范圍配置;
9)集成認證服務系統調用中臺服務用戶中心接口,查詢獲取用戶信息;
10)編碼用戶信息數據并做MD5摘要,生成一個32位的隨機字符作為因子,使用該因子對用戶數據摘要做混淆處理,生成一個64位長度的全局TGC令牌;
11)基于用戶數據封裝授權驗證票據數據對象;
12)通過全局TGC令牌緩存用戶授權驗證票據TGT數據對象并設置有效期;
13)生成1個16位以內長度隨機的字符串作為隨機因子插入到全局TGC令牌中,按固定位移量對全局TGC令牌做位移混淆,再生成1個16位以內長度隨機的字符串作為隨機因子對全局TGC令牌做換位混淆,經過混淆處理后生成認證票據ticket;
14)若為特定客戶端發起的驗證請求,認證票據ticket后拼接攜帶客戶端標識;
15)集成認證服務系統攜帶認證票據ticket重定向回訪問系統客戶端;
16)客戶端訪問頁面接收到認證票據ticket時,向應用或系統服務后端發起登錄認證票據ticket的驗證請求,由SSO客戶端SDK包票據驗證過濾器從請求鏈路上攔截處理該請求;
17)SSO客戶端SDK包攜帶登錄認證票據ticket向集成認證服務系統發起驗證請求;
18)集成認證服務系統接收票據ticket,判斷票據ticket上是否攜帶了客戶端標識;
19)若認證票據ticket上攜帶了客戶端標識,驗證該客戶端是否授信;
20)集成認證服務系統對認證票據ticket做反向解析,處理獲得全局TGC令牌;
21)通過全局TGC令牌獲取TGT緩存數據;
22)使用訪問系統的密鑰、用戶TGT數據生成JWT令牌;根據訪問系統配置判斷是否需要生成刷新令牌;
23)集成認證服務系統向訪問系統響應JWT令牌和認證范圍內的用戶數據;
24)應用或系統服務后端接收到集成認證服務系統響應后,將會話認證JWT令牌響應給客戶端;
25)客戶端在請求頭中攜帶會話認證再次請求應用或系統服務后端;
26)所述系統內多個應用或系統服務跨系統互信認證的方式,包括:
應用或系統服務后端A通過集成的SSO客戶端SDK包能力,攜帶當前會話憑證、應用或系統服務后端B的應用標識請求集成認證服務系統;
集成認證服務系統接收會話憑證和應用標識;
集成認證服務系統解析會話憑證獲取用戶數據;
集成認證服務系統根據應用或系統服務后端B的應用標識查詢服務端信息,根據應用或系統服務后端A的應用信息判斷系統A和系統B是否可以互信認證;
若可以互信認證,集成認證服務系統根據方法[10]-[14]生成應用或系統服務后端B的用戶認證票據ticket;
客戶端A攜帶系統B的用戶認證票據ticket跳轉至客戶端B;
客戶端B接收用戶認證票據ticket執行方法[16]-[24]驗證獲取用戶會話憑證;
27)所述會話注銷方法,包括:
客戶端向應用或系統服務后端攜帶會話憑證發起注銷請求;
由SSO客戶端SDK包會話注銷過濾器從請求鏈路上攔截處理該請求;
SSO客戶端SDK包注銷本地會話;
SSO客戶端SDK包攜帶會話憑證向集成認證服務系統發起會話注銷請求;
集成認證服務系統接收會話注銷請求,查詢訪問系統應用信息;
判斷是否處理訪問系統發起的全局會話注銷請求;
無需處理全局會話請求的直接響應;
需要處理全局會話注銷的,集成認證服務系統注銷全局會話;
全局會話注銷后判斷是否處理關聯系統或應用客戶端局部會話注銷;
向登記的關聯系統或應用客戶端發起局部會話注銷請求;
28)第三方系統對接互信認證方法,包括:
第三方系統集成SSO客戶端SDK包并設置系統請求路由不攔截;
第三方系統路由跳轉至集成認證服務系統;
用戶在集成認證服務系統完成注冊或登錄操作;
集成認證服務系統生成用戶的認證票據ticket,攜帶該票據重定向跳轉回第三方系統頁面;
第三方系統由集成的SSO客戶端SDK包驗證獲取用戶授權userId;
29)第三方系統可選認證授權范圍,包括僅限userId的靜默授權和統一登錄攔截的完整認證服務。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于貴州電子商務云運營有限責任公司,未經貴州電子商務云運營有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110990892.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種焊接前輔助裝配工裝
- 下一篇:一種基于WIFI通訊的數據傳輸系統





