一種可擴展的aaa通信系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)信息安全傳輸領(lǐng)域,特別涉及一種可擴展的AAA通信系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著信息安全和個人隱私越來越受到人們重視,各種各樣的認證方式開始不斷的涌現(xiàn),眾多的通用認證協(xié)議及私有認證協(xié)議開始被使用在各種場景之中。由于很多用戶使用的是私有的或者自己定制的認證協(xié)議,一款網(wǎng)絡(luò)系統(tǒng)如果想支持這些用戶必須是要進行針對性地定制開發(fā)。
[0003]在已有技術(shù)中,當網(wǎng)絡(luò)系統(tǒng)中AAA (Authenticat1n Authorizat1n andAccounting,認證、授權(quán)、審計)模塊遇到上述需要定制開發(fā)的情況時,如圖1所示,AAA模塊與用戶的交互、與認證服務(wù)器的交互以及自己內(nèi)部的邏輯都需要進行開發(fā),開發(fā)工作量較大,周期較長,特別是其中的配置文件只是用于設(shè)置某個配置的值是什么,所有的邏輯在配置文件內(nèi)部都是固定的,無法滿足可擴展的通信機制的需求。因此,如何能簡潔快速的完成定制開發(fā)工作是當前該技術(shù)領(lǐng)域面臨的一個亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]為克服已有技術(shù)中存在的問題,本發(fā)明的目的是提供一種可擴展AAA通信系統(tǒng)及方法,使得在不需要重啟系統(tǒng)或者升級系統(tǒng)的狀態(tài)下可以支持更加靈活的配置和簡潔快速的AAA通信定制與開發(fā)。
[0005]一種可擴展的AAA通信系統(tǒng)是由用戶端、可擴展AAA模塊、服務(wù)器通信協(xié)議接口庫組及AAA服務(wù)器構(gòu)成,其特征是可擴展AAA模塊是由統(tǒng)一設(shè)置的用戶交互接口、內(nèi)部處理模塊及統(tǒng)一封裝的服務(wù)器通信調(diào)用接口順序連接構(gòu)成。
[0006]所述的服務(wù)器通信協(xié)議接口庫組可由一組服務(wù)器通信協(xié)議接口庫組成,用于存放可擴展AAA模塊中所述的服務(wù)器通信調(diào)用接口 ;每個服務(wù)器通信協(xié)議接口庫是由調(diào)用接口、可擴展配置處理模塊以及通信接口組成。
[0007]所述的服務(wù)器通信協(xié)議接口庫組還包括新增服務(wù)器通信協(xié)議接口庫,用于系統(tǒng)需要支持一種新的安全認證協(xié)議時,開發(fā)該安全協(xié)議的服務(wù)器通信協(xié)議接口,并上傳到系統(tǒng)后在可擴展AAA模塊加載這個新增服務(wù)器通信協(xié)議接口庫。
[0008]一種可擴展的AAA通信方法,其特征是有以下實現(xiàn)步驟:
[0009]步驟一,將傳統(tǒng)的AAA模塊內(nèi)部進行模塊化:設(shè)置用戶交互接口模塊、內(nèi)部處理模塊及服務(wù)器通信調(diào)用接口模塊,并對其中用戶交互接口和服務(wù)器通信調(diào)用接口分別進行統(tǒng)一設(shè)置及封裝,用以支持不同的認證協(xié)議以及形成可擴展AAA模塊;
[0010]步驟二,對所述的服務(wù)器通信調(diào)用接口分別匹配設(shè)置服務(wù)器通信協(xié)議接口庫,并存放所述的服務(wù)器通信調(diào)用接口;
[0011]步驟三,當系統(tǒng)采用某種認證協(xié)議進行工作時,在可擴展AAA模塊加載所述匹配設(shè)置的服務(wù)器通信協(xié)議接口庫,所述的可擴展AAA模塊可以相同的方式分別加載和調(diào)用存放不同認證協(xié)議的服務(wù)器通信協(xié)議接口庫;
[0012]步驟四,當系統(tǒng)新增認證協(xié)議時,按照上述步驟二的方法匹配設(shè)置新增服務(wù)器通信協(xié)議接口庫,并在可擴展AAA模塊中加載該新增服務(wù)器通信協(xié)議接口庫。
[0013]所述的匹配設(shè)置服務(wù)器通信協(xié)議接口庫步驟,包括設(shè)置調(diào)用接口、配置處理和實現(xiàn)通信接口的分步驟。
[0014]服務(wù)器通信協(xié)議接口庫中所述的調(diào)用接口是統(tǒng)一設(shè)置的,具有相同的傳入?yún)?shù)和返回結(jié)果。
[0015]服務(wù)器通信協(xié)議接口庫中所述的配置處理包括將支持各認證協(xié)議不同邏輯流程和參數(shù)的邏輯處理置入配置文件中的分步驟。
[0016]服務(wù)器通信協(xié)議接口庫中所述的通信接口是嚴格按照認證協(xié)議標準來實現(xiàn)的。
[0017]所述的服務(wù)器通信協(xié)議接口庫為動態(tài)鏈接庫,當需要某種認證協(xié)議的接口時,所述的可擴展AAA模塊動態(tài)鏈接經(jīng)匹配的服務(wù)器通信協(xié)議接口庫。
[0018]所述的可擴展AAA模塊動態(tài)鏈接某個服務(wù)器通信協(xié)議接口庫時,其內(nèi)部的配置文件被解析成一個可執(zhí)行函數(shù),用戶輸入的認證信息被當做參數(shù)調(diào)用該可執(zhí)行函數(shù),并按照配置文件的邏輯進行數(shù)據(jù)處理。
[0019]本發(fā)明方法及系統(tǒng),通過對整個認證過程中的流程進行統(tǒng)一設(shè)置和封裝,以及對傳統(tǒng)配置文件的擴展,減少了用戶的開發(fā)量,僅需開發(fā)該協(xié)議的通信庫;同時方便系統(tǒng)部署,已經(jīng)啟動設(shè)備不需要系統(tǒng)升級或重啟,只需動態(tài)鏈接相應(yīng)的服務(wù)器通信協(xié)議接口庫就可以了,大大提高了效率。
【附圖說明】
[0020]圖1是已有技術(shù)的系統(tǒng)結(jié)構(gòu)示意圖;
[0021]圖2是本發(fā)明系統(tǒng)結(jié)構(gòu)示意圖;
[0022]圖3是本發(fā)明中服務(wù)器通信協(xié)議接口庫的結(jié)構(gòu)示意圖。
【具體實施方式】
[0023]在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術(shù)細節(jié)。但是,本領(lǐng)域的普通技術(shù)人員可以理解,即使沒有這些技術(shù)細節(jié)和基于以下各實施方式的種種變化和修改,也是本申請各權(quán)利要求所要求保護的技術(shù)方案。
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的實施方式作進一步地詳細描述。
[0025]如圖2所示,本發(fā)明一種可擴展的AAA通信系統(tǒng)是由用戶端10、可擴展AAA模塊20、服務(wù)器通信協(xié)議接口庫組30及AAA服務(wù)器40構(gòu)成,其特征是可擴展AAA模塊20是由統(tǒng)一的用戶交互接口 21、內(nèi)部處理模塊22及統(tǒng)一的服務(wù)器通信調(diào)用接口 23順序連接構(gòu)成,服務(wù)器通信協(xié)議接口庫組可由服務(wù)器通信協(xié)議接口庫A、服務(wù)器通信協(xié)議接口庫B以及新增服務(wù)器通信協(xié)議接口庫等一組服務(wù)器通信協(xié)議接口庫組成,如圖3所示,每個服務(wù)器通信協(xié)議接口庫是由調(diào)用接口 311、可擴展配置處理模塊312以及通信接口 313組成。
[0026]所述的用戶交互接口——用于接收用戶輸入的認證信息,并對這些認證信息進行解析;當接收用戶輸入的認證信息為無法預先定義的變量名,則預定義若干個通用名稱,用戶交互接口接受這個變量名的值并向后面的模塊傳遞這個值。
[0027]所述的內(nèi)部處理模塊一用于可擴展AAA模塊處理流程。
[0028]所述的服務(wù)器通信調(diào)用接口——用于將服務(wù)器通信調(diào)用接口進行統(tǒng)一的封裝。
[0029]所述的服務(wù)器通信協(xié)議接口庫——用于存放服務(wù)器各種安全通信協(xié)議接口,即將上述經(jīng)過統(tǒng)一封裝的服務(wù)器通信調(diào)用接口放在一個按照規(guī)范格式編寫的服務(wù)器通信協(xié)議接口庫中。
[0030]所述的新增服務(wù)器通信協(xié)議接口庫——用于系統(tǒng)需要支持一種新的安全認證協(xié)議時,開發(fā)該安全協(xié)議的服務(wù)器通信協(xié)議接口,并上傳到系統(tǒng)后在可擴展AAA模塊加載這個新增服務(wù)器通信協(xié)議接口庫。
[0031]一種可擴展的AAA通信方法,有以下實現(xiàn)步驟:
[0032]步驟一,將傳統(tǒng)的AAA模塊內(nèi)部進行模塊化:設(shè)置用戶交互接口模塊、內(nèi)部處理模塊及服務(wù)器通信調(diào)用接口模塊,并對其中用戶交互接口和服務(wù)器通信調(diào)用接口分別進行統(tǒng)一設(shè)置及封裝,包括統(tǒng)一設(shè)置及封裝待認證信息的用戶名、密碼,以及若干個可供用戶自定義的擴展字段的分步驟,用以支持不同的認證協(xié)議以及形成可擴展AAA模塊。
[0033]步驟二,對所述的服務(wù)器通信調(diào)用接口分別匹配設(shè)置服務(wù)器通信協(xié)議接口庫,并存放所述的服務(wù)器通信調(diào)用接口。
[0034]用戶輸入的信息是通過HTTP POST傳遞到用戶交互接口的,認證信息的格式通常是:〈變量名1>=〈變量值1>&〈變量名2>=〈變量值2>…。統(tǒng)一設(shè)置用戶交互接口就是對這些信息進行簡單的解析,例如傳遞的信息是:”username”=” test”&”pwd”=” 123456”,當發(fā)現(xiàn)〈變量名 > 是”username”時,相應(yīng)的” test”就是用戶登錄時的name,當〈變量名>是”pwd”時,對應(yīng)的” 123456”就是用戶輸入的密碼;用戶名和密碼是通用的認證字段,所以我們可以用預先定義好名稱來指明〈變量值 > 的意義。但是如果認證時需要額外的字段,比如指紋,我們可能無法預先