[發明專利]一種基于Kerberos機制實現數據庫登錄認證的方法有效
| 申請號: | 202111279611.0 | 申請日: | 2021-11-01 |
| 公開(公告)號: | CN113704724B | 公開(公告)日: | 2022-01-11 |
| 發明(設計)人: | 趙偉;崔杰;姚鑄 | 申請(專利權)人: | 天津南大通用數據技術股份有限公司 |
| 主分類號: | G06F21/31 | 分類號: | G06F21/31;G06F21/46;G06F21/60 |
| 代理公司: | 天津企興智財知識產權代理有限公司 12226 | 代理人: | 石倩倩 |
| 地址: | 300384 天津市濱海新區華*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 kerberos 機制 實現 數據庫 登錄 認證 方法 | ||
1.一種基于Kerberos機制實現數據庫登錄認證的方法,所述數據庫為GBase8a MPP數據庫,包括服務端和客戶端,其特征在于,具體步驟如下:
S1、準備認證,具體步驟如下:
S11、數據庫調用票據授權服務、認證方式Kerberos插件,建立插件-行為關系;
S12、在服務端系統表中建立用戶和客戶端認證標識關系的用戶-認證方式關系表;
S13、Kerberos的密鑰分發中心KDC對應服務端和客戶端分別設置用戶-密碼文件;
S14、數據庫服務端配置參數,所述參數包括服務端認證主體、用戶-密碼文件所在的路徑,將用戶-密碼文件根據用戶-密碼文件所在的路徑存儲到客戶端和服務端;
S2、動態認證,具體步驟如下:
S21、客戶端發起登錄請求,并將其用戶名發送到服務端;
S22、數據庫服務端解析出用戶名信息,服務端根據用戶-認證方式關系表確定用戶名對應的認證方式,若用戶名有對應的認證方式,服務端則對用戶名進行標記并將相關認證數據發給客戶端;若用戶名沒有對應的認證方式,服務端則按照默認的數據庫用戶名密碼方式進行登錄認證;
S23、客戶端收到服務端發過來的認證數據,進行客戶端身份驗證;
S24、客戶端身份驗證通過后,客戶端把服務端的認證主體信息發給密鑰分發中心KDC,密鑰分發中心KDC對客戶端和服務端均進行身份合法信息認證;
S25、票據授權服務中心從票據授權服務中心的數據庫中根據服務端認證主體找到對應的客戶端認證標識及授權票據憑證cred;所述授權票據憑證cred為客戶端訪問服務端的權限憑證;
S26、服務端收到客戶端授權票據憑證cred后,經過解密獲得客戶端信息,將客戶端信息與從系統表中拿到的客戶端認證標識進行比較,如果相同則成功,否則登錄失敗;
S27、客戶端設置授權票據憑證cred緩存機制,在一定時間內,憑借授權票據憑證cred訪問服務端可免驗證登錄,所述在一定時間內是指在服務端的配置文件設定的失效時間間隔。
2.根據權利要求1所述的一種基于Kerberos機制實現數據庫登錄認證的方法,其特征在于:步驟S22中,當用戶名有對應的認證方式,進行標記并將相關認證數據發給客戶端的方法如下:
將用戶名對應的服務端認證方式設定Kerberos認證標記并將其下發給客戶端,同時把服務端的認證主體也發送給客戶端;
所述相關認證數據包括服務端的認證主體、設定有Kerberos認證標記的用戶名。
3.根據權利要求1所述的一種基于Kerberos機制實現數據庫登錄認證的方法,其特征在于:步驟S23中,進行客戶端身份驗證的方法為:
根據用戶名在客戶端加載認證方式文件,執行認證方式文件中綁定的認證業務函數auth_func;
所述認證業務函數auth_func設置有多個用于對客戶端身份進行驗證的接口。
4.根據權利要求1所述的一種基于Kerberos機制實現數據庫登錄認證的方法,其特征在于:步驟S25中,所述授權票據憑證cred是訪問數據庫服務端的唯一方式,所述授權票據憑證cred包括客戶端認證主體和授權票據憑證cred獲取時刻的時間戳。
5.根據權利要求1所述的一種基于Kerberos機制實現數據庫登錄認證的方法,其特征在于:步驟S27中,所述失效時間間隔為授權票據憑證cred的時間戳和登錄時刻相減,若小于失效時間間隔則可免驗證登錄,若大于失效時間間隔則失效報錯,需要重新獲取授權票據憑證cred。
6.根據權利要求1所述的一種基于Kerberos機制實現數據庫登錄認證的方法,其特征在于:步驟S24中,密鑰分發中心KDC對客戶端和服務端均進行身份合法信息認證具體方法如下:
服務端進行身份合法信息認證方法:在建立插件-行為關系時,執行用戶身份驗證指令,與認證服務通訊進行續租保持用戶的合法性,并根據失效時間間隔,定期執行用戶身份驗證指令;
客戶端進行身份合法信息認證的方法為:手工執行用戶身份驗證指令,進行客戶端用戶身份的驗證;
所述用戶身份驗證指令為kinit –t /path/gcluster.keytab gcluster.gbase.cn,其中,keytab是建立用戶-認證方式關系表時生成并拷貝到服務端的。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津南大通用數據技術股份有限公司,未經天津南大通用數據技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111279611.0/1.html,轉載請聲明來源鉆瓜專利網。





