欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

安全認證方法和安全認證系統(tǒng)的制作方法

文檔序號:7824205閱讀:201來源:國知局
安全認證方法和安全認證系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種安全認證方法和一種安全認證系統(tǒng),其中,安全認證方法包括:在接收到對應用程序的訪問請求時,通過代理服務器獲取應用程序的地址中的預設單點登錄信息;根據預設單點登錄信息,確定與預設單點登錄信息對應的應用程序IP和端口信息,以供根據應用程序IP和端口信息訪問應用程序;在訪問應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。通過本發(fā)明的技術方案,一方面,實現了服務代理,提高了安全認證系統(tǒng)的安全性,還使該系統(tǒng)具有日志審計和權限控制的功能,另一方面,實現了會話共享,有效地避免了訪問不同服務器帶來的會話信息不一致的問題。
【專利說明】安全認證方法和安全認證系統(tǒng)

【技術領域】
[0001]本發(fā)明涉及通信【技術領域】,具體而言,涉及一種安全認證方法和一種安全認證系統(tǒng)。

【背景技術】
[0002]在相關技術中,SAML(SecurityAssert1n Markup Language,安全斷言標記語言)是一個基于XML (Extensible Markup Language,可擴展標記語言)的標準,用于在不同的安全域(Security Domain)之間做交換認證和授權數據。SAML標準定義了身份提供者(Identity Provider)和服務提供者(Service Provider),這兩者構成了前面所說的不同的安全域。另外,SAML是結構化信息標準促進組織的安全服務技術委員會的產品。
[0003]如圖1所示,下面詳細介紹相關技術中的安全認證系統(tǒng)的原理:
[0004]登錄認證接口 102:為用戶提供用戶名、密碼、圖形驗證碼、短信驗證碼、第三方安全認證碼等信息校驗,校驗通過生成一個隨機字母數字組成的SSOToken (令牌憑據)存儲在sess1n(會話)中并返回到前臺登錄頁面。
[0005]斷言認證接口 104:為用戶進行第二次信息驗證,前臺登錄頁面通過解析XML中攜帶的SSOToken信息,攜帶該SSOToken信息調用斷言認證接口進行信息比對,若比對通過,該接口將用戶基本信息通過XML文件傳輸到前臺登錄,若不通過則提示相應的錯誤信息。
[0006]透明登錄接口 106:為第三方應用系統(tǒng)中的應用程序提供單點登錄的入口,第三方應用集中到4A前臺頁面,若用戶需要訪問相應的應用程序,通過透明登錄接口判斷用戶是否已經通過4A認證,若通過則生成隨機字母數字組成的SSOToken憑據給對應的應用程序,若不通過則返回4A前臺登錄界面進行再次登錄。
[0007]會話保持接口:4A前臺和后臺交互sess1n會話保持自定義為30分鐘,用戶超過30分鐘未使用4A認證系統(tǒng)則會話失效,用戶再次使用時需要重新登錄認證。若在30分鐘以內再次使用4A認證系統(tǒng)則會重置sess1n。
[0008]其中,上述提到的4A是指Authenticat1n (認證)、Account (賬號)、Authorizat1n (授權)、Audit (審計),中文名稱為統(tǒng)一安全管理平臺解決方案,即將身份認證、授權、審計和賬號定義為網絡安全的四大組成部分,從而確立了身份認證在整個網絡安全系統(tǒng)中的地位與作用。
[0009]在相關技術中的認證系統(tǒng)實現的4A認證是對于第三方應用系統(tǒng)而言,但是,當認證通過進入第三方應用系統(tǒng)之后,對該第三方應用系統(tǒng)的日志和行為監(jiān)控力度不夠,同時也不具備對第三方應用系統(tǒng)的內部授權管理。除此之外,相關技術中的SAML認證服務支持集群部署,但不支持對后臺跨服務器的sess1n共享。例如,當用戶通過服務器A進行認證通過之后,跳轉到服務器B時,由于服務器B沒有服務器A認證通過的sess1n信息,從而導致在訪問服務器B時認證失敗,則需要重新認證。
[0010]因此需要一種新的技術方案,不僅可以加強對應用程序的日志和行為的監(jiān)控力度,還可以控制用戶訪問應用程序的權限,同時,還可以避免訪問不同服務器帶來的 sess1n信息不一致的問題。


【發(fā)明內容】

[0011]本發(fā)明正是基于上述問題,提出了一種新的技術方案,不僅可以加強對應用程序的日志和行為的監(jiān)控力度,還可以控制用戶訪問應用程序的權限,同時,避免訪問不同服務器帶來的sess1n信息不一致的問題。
[0012]有鑒于此,本發(fā)明的一方面提出了一種安全認證方法,包括:在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息;根據所述預設單點登錄信息,確定與所述預設單點登錄信息對應的應用程序IP和端口信息,以供根據所述應用程序IP和所述端口信息訪問所述應用程序;在訪問所述應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
[0013]在該技術方案中,當應用程序在接入4A平臺進行單點登錄(Single Sign On,簡稱SSO)時,根據應用程序提供的單點登錄信息,在代理服務器中配置與單點登登錄信息相對應的IPdnternet Protocol,網絡互連協議)的端口信息,從而可以實現服務代理,即用戶只要和4A平臺網絡保持互通即可,不需要關心其與應用程序的網絡資源是否可用,所有的網絡請求都交予4A平臺的代理服務器去執(zhí)行。另外,用戶在訪問應用程序的過程中,內存數據庫中預存有會話數據,從而實現對4A后臺跨服務器的sess1n共享,有效避免訪問不同服務器帶來的sess1n信息不一致的問題,還可以保證用戶登錄的唯一性,即當前有且只能同一個用戶在一處登錄,有效降低用戶訪問的數量,最后再進行安全認證,從而實現基于SAML的安全認證。
[0014]在上述技術方案中,優(yōu)選地,在所述在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,還包括:根據接收到的設置命令,通過所述代理服務器為所述應用程序設置預設單點登錄信息;以及將所述應用程序的所述預設單點登錄信息、所述應用程序IP和所述端口信息關聯存儲。
[0015]在該技術方案中,可以在代理服務器中為應用程序配置與其相對應的單點登錄信息,該單點登錄信息與應用程序的IP和端口信息關聯并存儲,例如,4A平臺的訪問地址為:
http://ss0.com.cn/ssoname......,應用程序提供的單點登錄的地址:http://ip:port/
projectname/......,其中,projectname為應用程序工程名。在代理服務器中進行配置,
確定應用程序的IP:port (端口信息)=ssoname (單點登錄信息名稱),再將ssoname、
應用程序的單點登錄信息(如projectname)和端口信息相關聯并--對應,此時對應用程序配置完成后,在4A平臺進行單點登錄的地址變成http://ss0.com.cn/ssoname/
projectname/.......當用戶在訪問應用程序時,代理服務器會去截取該地址的ssoname
信息,根據ssoname信息去找到對應的IP和端口信息,并和projectname進行匹配,以防地址被改動。
[0016]在上述技術方案中,優(yōu)選地,在所述通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,還包括:確定所述訪問請求的發(fā)出方是否具有訪問所述應用程序的權限;當確定所述發(fā)出方具有所述權限時,允許所述發(fā)出方通過所述代理服務器訪問所述應用程序。
[0017]在該技術方案中,在代理服務器中將用戶(請求的發(fā)出方)訪問應用程序中的角色關聯并存儲起來,當用戶在訪問應用程序的某個模塊或鏈接時,代理服務器根據用戶的單點登錄信息去判斷該用戶是否擁有訪問應用程序中的資源的權限,若沒有權限則阻止用戶對應用程序進行訪問,從而有效地控制用戶訪問的資源,即基于SAML的安全認證方法具有系統(tǒng)級別鑒權的功能,從而保證所有的資源都是被有相應權限的用戶訪問。
[0018]在上述技術方案中,優(yōu)選地,所述根據內存數據庫中預存的會話數據,進行安全認證,具體包括:根據所述訪問請求,進行所述登錄認證,并生成令牌憑據;對所述令牌憑據進行解析;根據解析結果,調用斷言認證接口確定所述令牌憑據是否與所述內存數據庫中的所述會話數據中的目標令牌憑據一致,以進行所述斷言認證。
[0019]在該技術方案中,根據用戶對應用程序的訪問請求,進行登錄認證,包括:為用戶提供用戶名、密碼、圖形驗證碼、短信驗證碼、第三方安全認證碼等信息校驗,并且校驗通過后生成一個隨機字母數字組成的令牌SSOToken存儲在sess1n中并返回到4A平臺的前臺登錄頁面,然后為用戶進行第二次信息認證(斷言認證),前臺登錄頁面通過解析XML中攜帶的令牌憑據,攜帶該令牌憑據調用斷言認證接口進行令牌憑據的比對,若比對通過,該接口將用戶基本信息通過XML文件傳輸到前臺登錄頁面,并登錄應用程序,若不通過則提示相應的錯誤信息。
[0020]在上述技術方案中,優(yōu)選地,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及所述安全認證包括但不限于登錄認證和斷言認證。
[0021]在該技術方案中,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,典型的日志型分布式存儲數據庫如redis數據庫,典型的分布式內存對象緩存數據庫如memcached數據庫。通過內存數據庫存儲sess1n,滿足了高并發(fā)的用戶的需求,從而提高了 4A平臺的使用性能。其中,memcached數據庫應用于高性能的分布式內存對象緩存系統(tǒng),可以通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高數據庫驅動網站的速度。而redis數據庫是一種可基于內存亦可持久化的日志型分布式存儲數據庫,可提供多種語言的應用程序編程接口。
[0022]本發(fā)明的另一方面提出了一種安全認證系統(tǒng),包括:獲取單元,在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息;訪問單元,根據所述預設單點登錄信息,確定與所述預設單點登錄信息對應的應用程序IP和端口信息,以供根據所述應用程序IP和所述端口信息訪問所述應用程序;認證單元,在訪問所述應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
[0023]在該技術方案中,當應用程序在接入4A平臺進行單點登錄時,根據應用程序提供的單點登錄信息,在代理服務器中配置與單點登登錄信息相對應的IP的端口信息,從而可以實現服務代理,即用戶只要和4A平臺網絡保持互通即可,不需要關心其與應用程序的網絡資源是否可用,所有的網絡請求都交予4A平臺的代理服務器去執(zhí)行。另外,用戶在訪問應用程序的過程中,內存數據庫中預存有會話數據,從而實現對4A后臺跨服務器的sess1n共享,有效避免訪問不同服務器帶來的sess1n信息不一致的問題,還可以保證用戶登錄的唯一性,即當前有且只能同一個用戶在一處登錄,有效降低用戶訪問的數量,最后再進行安全認證,從而實現安全認證。
[0024]在上述技術方案中,優(yōu)選地,還包括:設置單元,在所述在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,根據接收到的設置命令,通過所述代理服務器為所述應用程序設置預設單點登錄信息;以及存儲單元,將所述應用程序的所述預設單點登錄信息、所述應用程序IP和所述端口信息關聯存儲。
[0025]在該技術方案中,可以在代理服務器中為應用程序配置與其相對應的單點登錄信息,該單點登錄信息與應用程序的IP和端口信息關聯并存儲,例如,4A平臺的訪問地址為:
http://ss0.com.cn/ssoname......,應用程序提供的單點登錄的地址:http://ip:port/
projectname/......,其中,pro jectname為應用程序工程名。在代理服務器中進行配置,
確定應用程序的IP:port (端口信息)=ssoname (單點登錄信息名稱),再將ssoname、
應用程序的單點登錄信息(如projectname)和端口信息相關聯并--對應,此時對應用程序配置完成后,在4A平臺進行單點登錄的地址變成http://ss0.com.cn/ssoname/
projectname/.......當用戶在訪問應用程序時,代理服務器會去截取該地址的ssoname
信息,根據ssoname信息去找到對應的IP和端口信息,并和projectname進行匹配,以防地址被改動。在上述技術方案中,優(yōu)選地,還包括:確定單元,在所述通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,確定所述訪問請求的發(fā)出方是否具有訪問所述應用程序的權限,其中,當確定所述發(fā)出方具有所述權限時,允許所述發(fā)出方通過所述代理服務器訪問所述應用程序。
[0026]在該技術方案中,在代理服務器中將用戶(請求的發(fā)出方)訪問應用程序中的角色關聯并存儲起來,當用戶在訪問應用程序的某個模塊或鏈接時,代理服務器根據用戶的單點登錄信息去判斷該用戶是否擁有訪問應用程序中的資源的權限,若沒有權限則阻止用戶對應用程序進行訪問,從而有效地控制用戶訪問的資源,即安全認證方法具有系統(tǒng)級別鑒權的功能,從而保證所有的資源都是被有相應權限的用戶訪問。
[0027]在上述技術方案中,優(yōu)選地,所述認證單元具體用于:根據所述訪問請求,進行所述登錄認證,并生成令牌憑據,以及對所述令牌憑據進行解析,并根據解析結果,調用斷言認證接口確定所述令牌憑據是否與所述內存數據庫中的所述會話數據中的目標令牌憑據一致,以進行所述斷言認證。
[0028]在該技術方案中,根據用戶對應用程序的訪問請求,進行登錄認證,包括:為用戶提供用戶名、密碼、圖形驗證碼、短信驗證碼、第三方安全認證碼等信息校驗,并且校驗通過后生成一個隨機字母數字組成的令牌SSOToken存儲在sess1n中并返回到4A平臺的前臺登錄頁面,然后為用戶進行第二次信息認證(斷言認證),前臺登錄頁面通過解析XML中攜帶的令牌憑據,攜帶該令牌憑據調用斷言認證接口進行令牌憑據的比對,若比對通過,該接口將用戶基本信息通過XML文件傳輸到前臺登錄頁面,并登錄應用程序,若不通過則提示相應的錯誤信息。
[0029]在上述技術方案中,優(yōu)選地,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及所述安全認證包括但不限于登錄認證和斷言認證。
[0030]在該技術方案中,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,典型的日志型分布式存儲數據庫如redis數據庫,典型的分布式內存對象緩存數據庫如memcached數據庫。通過內存數據庫存儲sess1n,滿足了高并發(fā)的用戶的需求,從而提高了 4A平臺的使用性能。其中,memcached數據庫應用于高性能的分布式內存對象緩存系統(tǒng),可以通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高數據庫驅動網站的速度。而redis數據庫是一種可基于內存亦可持久化的日志型分布式存儲數據庫,可提供多種語言的應用程序編程接口。
[0031]通過以上技術方案,一方面,實現了服務代理,從而提高了安全認證系統(tǒng)的安全性,避免應用程序的資源遭到泄漏,還使該系統(tǒng)具有日志審計和權限控制的功能,提高了應用程序中資源的利用效率,另一方面,實現了 sess1n共享,有效地避免了訪問不同服務器帶來的sess1n信息不一致的問題。

【專利附圖】

【附圖說明】
[0032]圖1示出了相關技術中的安全認證系統(tǒng)的原理示意圖;
[0033]圖2示出了根據本發(fā)明的一個實施例的安全認證方法的流程圖;
[0034]圖3示出了根據本發(fā)明的一個實施例的安全認證系統(tǒng)的框圖;
[0035]圖4示出了根據本發(fā)明的一個實施例的安全認證系統(tǒng)的原理示意圖。

【具體實施方式】
[0036]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0037]在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0038]圖2示出了根據本發(fā)明的一個實施例的安全認證方法的流程圖。
[0039]如圖2所示,根據本發(fā)明的一個實施例的安全認證方法,包括:
[0040]步驟202,在接收到對應用程序的訪問請求時,通過代理服務器獲取應用程序的地址中的預設單點登錄信息。
[0041]步驟204,根據預設單點登錄信息,確定與預設單點登錄信息對應的應用程序IP和端口信息,以供根據應用程序IP和端口信息訪問應用程序。
[0042]步驟206,在訪問應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
[0043]在該技術方案中,當應用程序在接入4A平臺進行單點登錄時,根據應用程序提供的單點登錄信息,在代理服務器中配置與單點登登錄信息相對應的IP的端口信息,從而可以實現服務代理,即用戶只要和4A平臺網絡保持互通即可,不需要關心其與應用程序的網絡資源是否可用,所有的網絡請求都交予4A平臺的代理服務器去執(zhí)行。另外,用戶在訪問應用程序的過程中,內存數據庫中預存有會話數據,從而實現對4A后臺跨服務器的sess1n共享,有效避免訪問不同服務器帶來的sess1n信息不一致的問題,還可以保證用戶登錄的唯一性,即當前有且只能同一個用戶在一處登錄,有效降低用戶訪問的數量,最后再進行安全認證,從而實現基于SAML的安全認證。
[0044]在上述技術方案中,優(yōu)選地,在步驟202之前,還包括:根據接收到的設置命令,通過代理服務器為應用程序設置預設單點登錄信息;以及將應用程序的預設單點登錄信息、應用程序IP和端口信息關聯存儲。
[0045]在該技術方案中,可以在代理服務器中為應用程序配置與其相對應的單點登錄信息,該單點登錄信息與應用程序的IP和端口信息關聯并存儲,例如,4A平臺的訪問地址為:
http://ss0.com.cn/ssoname......,應用程序提供的單點登錄的地址:http://ip:port/
projectname/......,其中,pro jectname為應用程序工程名。在代理服務器中進行配置,
確定應用程序的IP:port (端口信息)=ssoname (單點登錄信息名稱),再將ssoname、
應用程序的單點登錄信息(如projectname)和端口信息相關聯并--對應,此時對應用程序配置完成后,在4A平臺進行單點登錄的地址變成http://ss0.com.cn/ssoname/
projectname/.......當用戶在訪問應用程序時,代理服務器會去截取該地址的ssoname
信息,根據ssoname信息去找到對應的IP和端口信息,并和projectname進行匹配,以防地址被改動。在上述技術方案中,優(yōu)選地,在通過代理服務器獲取應用程序的地址中的預設單點登錄信息之前,還包括:確定訪問請求的發(fā)出方是否具有訪問應用程序的權限;當確定發(fā)出方具有權限時,允許發(fā)出方通過代理服務器訪問應用程序。
[0046]在該技術方案中,在代理服務器中將用戶(請求的發(fā)出方)訪問應用程序中的角色關聯并存儲起來,當用戶在訪問應用程序的某個模塊或鏈接時,代理服務器根據用戶的單點登錄信息去判斷該用戶是否擁有訪問應用程序中的資源的權限,若沒有權限則阻止用戶對應用程序進行訪問,從而有效地控制用戶訪問的資源,即基于SAML的安全認證方法具有系統(tǒng)級別鑒權的功能,從而保證所有的資源都是被有相應權限的用戶訪問。
[0047]在上述技術方案中,優(yōu)選地,步驟206具體包括:根據訪問請求,進行登錄認證,并生成令牌憑據;對令牌憑據進行解析;根據解析結果,調用斷言認證接口確定令牌憑據是否與內存數據庫中的會話數據中的目標令牌憑據一致,以進行斷言認證。
[0048]在該技術方案中,根據用戶對應用程序的訪問請求,進行登錄認證,包括:為用戶提供用戶名、密碼、圖形驗證碼、短信驗證碼、第三方安全認證碼等信息校驗,并且校驗通過后生成一個隨機字母數字組成的令牌SSOToken存儲在sess1n中并返回到4A平臺的前臺登錄頁面,然后為用戶進行第二次信息認證(斷言認證),前臺登錄頁面通過解析XML中攜帶的令牌憑據,攜帶該令牌憑據調用斷言認證接口進行令牌憑據的比對,若比對通過,該接口將用戶基本信息通過XML文件傳輸到前臺登錄頁面,并登錄應用程序,若不通過則提示相應的錯誤信息。
[0049]在上述技術方案中,優(yōu)選地,內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及安全認證包括但不限于登錄認證和斷言認證。
[0050]在該技術方案中,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,典型的日志型分布式存儲數據庫如redis數據庫,典型的分布式內存對象緩存數據庫如memcached數據庫。通過內存數據庫存儲sess1n,滿足了高并發(fā)的用戶的需求,從而提高了 4A平臺的使用性能。其中,memcached數據庫應用于高性能的分布式內存對象緩存系統(tǒng),可以通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高數據庫驅動網站的速度。而redis數據庫是一種可基于內存亦可持久化的日志型分布式存儲數據庫,可提供多種語言的應用程序編程接口。
[0051]圖3示出了根據本發(fā)明的一個實施例的安全認證系統(tǒng)的框圖。
[0052]如圖3所示,根據本發(fā)明的一個實施例的安全認證系統(tǒng)300,包括:獲取單元302,在接收到對應用程序的訪問請求時,通過代理服務器獲取應用程序的地址中的預設單點登錄信息;訪問單元,根據預設單點登錄信息,確定與預設單點登錄信息對應的應用程序IP和端口信息,以供根據應用程序IP和端口信息訪問應用程序;認證單元306,在訪問應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
[0053]在該技術方案中,當應用程序在接入4A平臺進行單點登錄時,根據應用程序提供的單點登錄信息,在代理服務器中配置與單點登登錄信息相對應的IP的端口信息,從而可以實現服務代理,即用戶只要和4A平臺網絡保持互通即可,不需要關心其與應用程序的網絡資源是否可用,所有的網絡請求都交予4A平臺的代理服務器去執(zhí)行。另外,用戶在訪問應用程序的過程中,內存數據庫中預存有會話數據,從而實現對4A后臺跨服務器的sess1n共享,有效避免訪問不同服務器帶來的sess1n信息不一致的問題,還可以保證用戶登錄的唯一性,即當前有且只能同一個用戶在一處登錄,有效降低用戶訪問的數量,最后再進行安全認證,從而實現基于SAML的安全認證。
[0054]在上述技術方案中,優(yōu)選地,還包括:設置單元308,在在接收到對應用程序的訪問請求時,通過代理服務器獲取應用程序的地址中的預設單點登錄信息之前,根據接收到的設置命令,通過代理服務器為應用程序設置預設單點登錄信息;以及存儲單元310,將應用程序的預設單點登錄信息、應用程序IP和端口信息關聯存儲。
[0055]在該技術方案中,可以在代理服務器中為應用程序配置與其相對應的單點登錄信息,該單點登錄信息與應用程序的IP和端口信息關聯并存儲,例如,4A平臺的訪問地址為:
http://ss0.com.cn/ssoname......,應用程序提供的單點登錄的地址:http://ip:port/
projectname/......,其中,pro jectname為應用程序工程名。在代理服務器中進行配置,
確定應用程序的IP:port (端口信息)=ssoname (單點登錄信息名稱),再將ssoname、
應用程序的單點登錄信息(如projectname)和端口信息相關聯并--對應,此時對應用程序配置完成后,在4A平臺進行單點登錄的地址變成http://ss0.com.cn/ssoname/
projectname/.......當用戶在訪問應用程序時,代理服務器會去截取該地址的ssoname
信息,根據ssoname信息去找到對應的IP和端口信息,并和projectname進行匹配,以防地址被改動。在上述技術方案中,優(yōu)選地,還包括:確定單元312,在通過代理服務器獲取應用程序的地址中的預設單點登錄信息之前,確定訪問請求的發(fā)出方是否具有訪問應用程序的權限,其中,當確定發(fā)出方具有權限時,允許發(fā)出方通過代理服務器訪問應用程序。
[0056]在該技術方案中,在代理服務器中將用戶(請求的發(fā)出方)訪問應用程序中的角色關聯并存儲起來,當用戶在訪問應用程序的某個模塊或鏈接時,代理服務器根據用戶的單點登錄信息去判斷該用戶是否擁有訪問應用程序中的資源的權限,若沒有權限則阻止用戶對應用程序進行訪問,從而有效地控制用戶訪問的資源,即基于SAML的安全認證方法具有系統(tǒng)級別鑒權的功能,從而保證所有的資源都是被有相應權限的用戶訪問。
[0057]在上述技術方案中,優(yōu)選地,認證單元306具體用于:根據訪問請求,進行登錄認證,并生成令牌憑據,以及對令牌憑據進行解析,并根據解析結果,調用斷言認證接口確定令牌憑據是否與內存數據庫中的會話數據中的目標令牌憑據一致,以進行斷言認證。
[0058]在該技術方案中,根據用戶對應用程序的訪問請求,進行登錄認證,包括:為用戶提供用戶名、密碼、圖形驗證碼、短信驗證碼、第三方安全認證碼等信息校驗,并且校驗通過后生成一個隨機字母數字組成的令牌SSOToken存儲在sess1n中并返回到4A平臺的前臺登錄頁面,然后為用戶進行第二次信息認證(斷言認證),前臺登錄頁面通過解析XML中攜帶的令牌憑據,攜帶該令牌憑據調用斷言認證接口進行令牌憑據的比對,若比對通過,該接口將用戶基本信息通過XML文件傳輸到前臺登錄頁面,并登錄應用程序,若不通過則提示相應的錯誤信息。
[0059]在上述技術方案中,優(yōu)選地,內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及安全認證包括但不限于登錄認證和斷言認證。
[0060]在該技術方案中,所述內存數據庫包括但不限于日志型分布式存儲數據庫或分布式內存對象緩存數據庫,典型的日志型分布式存儲數據庫如redis數據庫,典型的分布式內存對象緩存數據庫如memcached數據庫。通過內存數據庫存儲sess1n,滿足了高并發(fā)的用戶的需求,從而提高了 4A平臺的使用性能。其中,memcached數據庫應用于高性能的分布式內存對象緩存系統(tǒng),可以通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高數據庫驅動網站的速度。而redis數據庫是一種可基于內存亦可持久化的日志型分布式存儲數據庫,可提供多種語言的應用程序編程接口。
[0061]圖4示出了根據本發(fā)明的一個實施例的安全認證系統(tǒng)的原理示意圖。
[0062]如圖4所示,根據本發(fā)明的一個實施例的安全認證系統(tǒng)400 (相當于圖3示出的實施例的安全認證系統(tǒng)300),可以實現服務代理和sess1n共享。
[0063]下面詳細介紹基于SAML的安全認證系統(tǒng)是如何實現服務代理和sess1n共享的。
[0064]當4A平臺的訪問地址為:http://ss0.com.cn/ssoname......時,基于SAML的安全認證系統(tǒng)實現服務代理需要滿足以下兩項:
[0065]1、配置要求。第三方應用系統(tǒng)中的應用程序在接入4A平臺進行單點登錄時,針對應用程序提供的SSO地址http://ip:port/projectname/......,可以在代理服務器中進行相應的配置。具體地,可以為該應用配置一個相對應的單點登錄信息名稱,該信息與應用的IP和端口信息關聯起來,即IP:port = ssoname,再將ssoname與projectname--
關聯,配置完成之后,在4A平臺進行SSO登錄的地址變成http://ss0.com.cn/ssoname/
projectname/.......當用戶在訪問第三方應用系統(tǒng)中的應用程序時,代理服務器會去截取該地址的ssoname信息,根據ssoname信息去找到對應的IP和port,和projectname進行匹配,以防地址被人為改動。
[0066]2、權限控制,在代理服務器端可以將用戶與第三方應用系統(tǒng)的應用程序的角色關聯存儲起來。當用戶在訪問應用程序的某個模塊或鏈接時,代理服務器根據用戶信息去判斷用戶是否擁有訪問該資源的權限,若用戶沒有權限則阻止用戶進行訪問。
[0067]基于SAML的安全認證系統(tǒng)實現sess1n共享時,需要將sess1n數據保存在高性能的分布式內存對象緩存系統(tǒng)的memcached、redis之類的內存數據庫中,memcached數據庫是基于內存存儲數據的,性能很高,由于內存數據的讀取速度很快,與磁盤讀取的速度不是一個數量級,因此,在用戶并發(fā)量很大的時候尤其合適。另外,使用內存存儲還可以方便統(tǒng)計在線人數,內存的速度比磁盤訪問速度快,內存數據庫系統(tǒng)能夠控制內存中的過期數據自動失效。memcached處理的原子是每一個key_value(鍵值對),key (鍵值)會通過一個hash (哈希)算法轉化成hash-key (哈希鍵),便于查找和對比,并實現盡可能的散列。同時,memcached用的是一個二級散列,通過一張大哈希表來維護。memcached由服務端和客戶端兩個核心組件組成,在一個memcached的查詢中,客戶端先通過計算key的hash值來確定key-value對所處在的服務端的位置,客戶端就會發(fā)送一個查詢請求給對應的服務端,讓它來查找確切的數據。因為這之間沒有交互以及多播協議,所以,memcached交互帶給網絡的影響是最小化的。
[0068]綜上所述,本發(fā)明的技術方案主要包括:
[0069]1、根據代理功能開發(fā)出相應代理服務,與SAML認證接口結合起來,實現用戶請求代理服務。
[0070]2、配置應用程序的SSO地址和用戶系統(tǒng)權限角色對應表。
[0071]3、在服務器端開發(fā)sess1n共享功能模塊,結合應用部署平臺、4A認證平臺實現負載過程中4A認證信息在服務器端共享。
[0072]通過該技術方案,可以實現以下有益效果:
[0073]1、提升安全性,用戶對第三方應用系統(tǒng)中的應用程序的每一次操作都需要經過4A平臺的嚴格驗證,從而保護了資源不被泄露。
[0074]2、實現日志審計,用戶對應用程序的所有操作都被日志監(jiān)控并記錄,方便對用戶的行為日志審計。
[0075]3、實現權限控制,對用戶需要訪問的資源有效控制,即系統(tǒng)級別鑒權,保證所有的資源都是被有相應權限的用戶訪問。
[0076]4、實現服務代理,用戶只要和4A平臺網絡保持互通即可,不需要關心其與應用程序的網絡資源是否可用,所有的網絡請求都交予4A平臺的代理服務器去執(zhí)行。
[0077]5、基于內存存儲sess1n,性能高,對于高并發(fā)用戶很合適。
[0078]6、達到會話共享,有效避免訪問不同服務器帶來的sess1n信息不一致的問題。
[0079]7、可以保證用戶登錄的唯一性,即當前有且只能同一個用戶在一處登錄,有效降低用戶訪問數量。
[0080]以上結合附圖詳細說明了本發(fā)明的技術方案,通過以上技術方案,一方面,實現了服務代理,從而提高了基于SAML的安全認證系統(tǒng)的安全性,避免應用程序的資源遭到泄漏,還使該系統(tǒng)具有日志審計和權限控制的功能,提高了應用程序中資源的利用效率,另一方面,實現了 sess1n共享,有效地避免了訪問不同服務器帶來的sess1n信息不一致的問題。
[0081]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種安全認證方法,其特征在于,包括: 在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息; 根據所述預設單點登錄信息,確定與所述預設單點登錄信息對應的應用程序IP和端口信息,以供根據所述應用程序IP和所述端口信息訪問所述應用程序; 在訪問所述應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
2.根據權利要求1所述的安全認證方法,其特征在于,在所述在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,還包括: 根據接收到的設置命令,通過所述代理服務器為所述應用程序設置預設單點登錄信息;以及 將所述應用程序的所述預設單點登錄信息、所述應用程序IP和所述端口信息關聯存儲。
3.根據權利要求2所述的安全認證方法,其特征在于,在所述通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,還包括: 確定所述訪問請求的發(fā)出方是否具有訪問所述應用程序的權限; 當確定所述發(fā)出方具有所述權限時,允許所述發(fā)出方通過所述代理服務器訪問所述應用程序。
4.根據權利要求1所述的安全認證方法,其特征在于,所述根據內存數據庫中預存的會話數據,進行安全認證,具體包括: 根據所述訪問請求,進行所述登錄認證,并生成令牌憑據; 對所述令牌憑據進行解析; 根據解析結果,調用斷言認證接口確定所述令牌憑據是否與所述內存數據庫中的所述會話數據中的目標令牌憑據一致,以進行所述斷言認證。
5.根據權利要求1至4中任一項所述的安全認證方法,其特征在于,所述內存數據庫包括日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及 所述安全認證包括登錄認證和斷言認證。
6.一種安全認證系統(tǒng),其特征在于,包括: 獲取單元,在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息; 訪問單元,根據所述預設單點登錄信息,確定與所述預設單點登錄信息對應的應用程序IP和端口信息,以供根據所述應用程序IP和所述端口信息訪問所述應用程序; 認證單元,在訪問所述應用程序的過程中,根據內存數據庫中預存的會話數據,進行安全認證。
7.根據權利要求6所述的安全認證系統(tǒng),其特征在于,還包括: 設置單元,在所述在接收到對應用程序的訪問請求時,通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,根據接收到的設置命令,通過所述代理服務器為所述應用程序設置預設單點登錄信息;以及 存儲單元,將所述應用程序的所述預設單點登錄信息、所述應用程序IP和所述端口信息關聯存儲。
8.根據權利要求7所述的安全認證系統(tǒng),其特征在于,還包括: 確定單元,在所述通過代理服務器獲取所述應用程序的地址中的預設單點登錄信息之前,確定所述訪問請求的發(fā)出方是否具有訪問所述應用程序的權限,其中,當確定所述發(fā)出方具有所述權限時,允許所述發(fā)出方通過所述代理服務器訪問所述應用程序。
9.根據權利要求6所述的安全認證系統(tǒng),其特征在于,所述認證單元具體用于: 根據所述訪問請求,進行所述登錄認證,并生成令牌憑據,以及對所述令牌憑據進行解析,并根據解析結果,調用斷言認證接口確定所述令牌憑據是否與所述內存數據庫中的所述會話數據中的目標令牌憑據一致,以進行所述斷言認證。
10.根據權利要求6至9中任一項所述的安全認證系統(tǒng),其特征在于,所述內存數據庫包括日志型分布式存儲數據庫或分布式內存對象緩存數據庫,以及 所述安全認證包括登錄認證和斷言認證。
【文檔編號】H04L29/06GK104506542SQ201410837071
【公開日】2015年4月8日 申請日期:2014年12月29日 優(yōu)先權日:2014年12月29日
【發(fā)明者】張兵 申請人:深圳中興網信科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
怀来县| 资兴市| 滦平县| 噶尔县| 两当县| 石河子市| 醴陵市| 陈巴尔虎旗| 喀喇沁旗| 河北省| 宁晋县| 左云县| 喀喇沁旗| 吉安县| 曲阳县| 广安市| 广宁县| 富阳市| 康马县| 平泉县| 锡林郭勒盟| 长葛市| 祁连县| 佳木斯市| 调兵山市| 阳江市| 宝应县| 丹东市| 乌拉特中旗| 育儿| 阿尔山市| 朝阳市| 四会市| 孟村| 息烽县| 七台河市| 四子王旗| 通城县| 长泰县| 扎鲁特旗| 忻城县|