本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于SSL協(xié)議的訪問控制方法及裝置。
背景技術(shù):
伴隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和智能終端的普及,在電子商務(wù)、網(wǎng)上銀行等互聯(lián)網(wǎng)支付領(lǐng)域,信息交互的安全性成為大家關(guān)注的焦點(diǎn)。通常,在通信的雙方建立一條加密通道對傳輸數(shù)據(jù)進(jìn)行加密傳輸?shù)姆绞揭训玫綇V泛的應(yīng)用。
SSL(Secure Sockets Layer,安全套接層)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。SSL協(xié)議介于TCP(Transmission Control Protocol傳輸控制協(xié)議)層與應(yīng)用層之間,是Web瀏覽器與Web服務(wù)器之間安全交換信息的協(xié)議,提供兩個基本的安全服務(wù):鑒別與保密。SSL協(xié)議可分為兩層:SSL記錄協(xié)議(SSL Record Protocol):它建立在可靠的傳輸協(xié)議(如TCP)之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。SSL握手協(xié)議(SSL Handshake Protocol):它建立在SSL記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。
根據(jù)認(rèn)證方式的不同,SSL協(xié)議分為單向認(rèn)證和雙向認(rèn)證兩種。單向認(rèn)證為服務(wù)器需要向客戶端提供數(shù)字證書,客戶端對服務(wù)器進(jìn)行身份驗(yàn)證。雙向認(rèn)證為客戶端和服務(wù)器雙方均需要向?qū)Ψ教峁?shù)字證書,并對對方的數(shù)字證書進(jìn)行驗(yàn)證。目前的技術(shù)方案中,一個服務(wù)器(唯一的IP地址和端口)對外提供SSL服務(wù),多是使用單一認(rèn)證方式,要么使用單向認(rèn)證,要么使用雙向認(rèn)證,不同認(rèn)證方式需單獨(dú)搭建認(rèn)證系統(tǒng),資源的利用效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種基于SSL協(xié)議的訪問控制方法及裝置,用以解決現(xiàn)有技術(shù)中不同認(rèn)證方式需單獨(dú)搭建認(rèn)證系統(tǒng),資源的利用效率低的問題。
本發(fā)明實(shí)施例提供的基于SSL協(xié)議的訪問控制方法包括:
入口服務(wù)器接收終端發(fā)送的訪問請求;
所述入口服務(wù)器確定所述訪問請求對應(yīng)的安全套接層SSL認(rèn)證方式;
若為雙向認(rèn)證,則所述入口服務(wù)器在與所述終端雙向認(rèn)證通過后,將所述終端的標(biāo)識信息加入所述訪問請求中并發(fā)送給后臺服務(wù)器,所述后臺服務(wù)器用于根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息來確定終端的訪問權(quán)限。
可選的,所述入口服務(wù)器在與所述終端雙向認(rèn)證通過,包括:
所述入口服務(wù)器向所述終端發(fā)送所述入口服務(wù)器的證書并接收所述終端對所述入口服務(wù)器的認(rèn)證結(jié)果;
所述入口服務(wù)器向所述終端發(fā)送證書獲取請求;
所述入口服務(wù)器接收所述終端發(fā)送的終端證書,所述終端證書中包括所述終端的標(biāo)識信息;
所述入口服務(wù)器根據(jù)所述終端證書完成對所述終端的認(rèn)證。
可選的,所述終端證書通過如下方式獲得:
所述終端根據(jù)所述終端的標(biāo)識信息,生成證書請求CSR文件;
所述終端向證書頒發(fā)機(jī)構(gòu)發(fā)送所述CSR,以使所述證書頒發(fā)機(jī)構(gòu)根據(jù)所述CSR生成所述終端證書;
所述終端接收所述證書頒發(fā)機(jī)構(gòu)發(fā)送的所述終端證書。
可選的,所述入口服務(wù)器確定所述訪問請求對應(yīng)的SSL認(rèn)證方式,包括:
所述入口服務(wù)器接收所述終端發(fā)送的所述訪問請求,所述訪問請求中包括端口號;
所述入口服務(wù)器根據(jù)所述端口號,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證或單向認(rèn)證。
可選的,所述入口服務(wù)器接收終端發(fā)送的訪問請求,包括:
所述入口服務(wù)器接收所述終端發(fā)送的https請求;
所述入口服務(wù)器將所述終端的標(biāo)識信息加入所述訪問請求中并發(fā)送給后臺服務(wù)器,包括:
所述入口服務(wù)器將所述https請求轉(zhuǎn)換成http請求,并在所述http請求的報文頭中插入所述終端的標(biāo)識信息;
所述入口服務(wù)器將加入標(biāo)識信息的所述http請求發(fā)送給所述后臺服務(wù)器。
一種基于SSL認(rèn)證的訪問控制方法,包括:
后臺服務(wù)器接收入口服務(wù)器發(fā)送的訪問請求;
所述后臺服務(wù)器根據(jù)所述訪問請求中是否包括終端的標(biāo)識信息,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
所述后臺服務(wù)器根據(jù)所述訪問請求對應(yīng)的SSL認(rèn)證方式,對所述終端進(jìn)行驗(yàn)證;
所述后臺服務(wù)器在對終端驗(yàn)證通過后,處理所述訪問請求,并向所述入口服務(wù)器發(fā)送處理結(jié)果。
可選的,所述后臺服務(wù)器根據(jù)所述訪問請求對應(yīng)的SSL認(rèn)證方式,對所述終端進(jìn)行驗(yàn)證,包括:
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為單向認(rèn)證,則所述訪問請求中包括所述終端的登錄賬號和密碼,所述后臺服務(wù)器驗(yàn)證所述登錄賬號和所述密碼是否匹配;
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證,則所述訪問請求的報文頭中包括所述終端的標(biāo)識信息,所述后臺服務(wù)器驗(yàn)證所述終端的標(biāo)識信息是否已登記。
一種基于SSL協(xié)議的訪問控制裝置,包括:
入口收發(fā)模塊,用于接收終端發(fā)送的訪問請求;
入口認(rèn)證模塊,用于確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
入口處理模塊,用于若為雙向認(rèn)證,則在與所述終端雙向認(rèn)證通過后,將所述終端的標(biāo)識信息加入所述訪問請求中;
所述入口收發(fā)模塊,還用于將所述訪問請求發(fā)送給后臺服務(wù)器,所述后臺服務(wù)器用于根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息來確定終端的訪問權(quán)限。
可選的,所述入口收發(fā)模塊,具體用于:
向所述終端發(fā)送所述入口服務(wù)器的證書并接收所述終端對所述入口服務(wù)器的認(rèn)證結(jié)果;
向所述終端發(fā)送證書獲取請求;
接收所述終端發(fā)送的終端證書,所述終端證書中包括所述終端的標(biāo)識信息;
所述入口處理模塊,具體用于根據(jù)所述終端證書完成對所述終端的認(rèn)證。
可選的,所述終端證書通過如下方式獲得:
所述終端根據(jù)所述終端的標(biāo)識信息,生成證書請求CSR文件;
所述終端向證書頒發(fā)機(jī)構(gòu)發(fā)送所述CSR,以使所述證書頒發(fā)機(jī)構(gòu)根據(jù)所述CSR生成所述終端證書;
所述終端接收所述證書頒發(fā)機(jī)構(gòu)發(fā)送的所述終端證書。
可選的,所述訪問請求中包括端口號;
所述入口認(rèn)證模塊,具體用于根據(jù)所述端口號,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證或單向認(rèn)證。
可選的,所述入口收發(fā)模塊,用于接收所述終端發(fā)送的https請求;
所述入口處理模塊,具體用于將所述https請求轉(zhuǎn)換成http請求,并在所述http請求的報文頭中插入所述終端的標(biāo)識信息;
所述入口收發(fā)模塊,用于將加入標(biāo)識信息的所述http請求發(fā)送給所述后臺服務(wù)器。
一種基于SSL認(rèn)證的訪問控制裝置,包括:
后臺收發(fā)模塊,用于接收入口服務(wù)器發(fā)送的訪問請求;
后臺認(rèn)證模塊,用于根據(jù)所述訪問請求中是否包括終端的標(biāo)識信息,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
后臺處理模塊,用于根據(jù)所述訪問請求對應(yīng)的SSL認(rèn)證方式,對所述終端進(jìn)行驗(yàn)證;
所述后臺處理模塊,還用于在對終端驗(yàn)證通過后,處理所述訪問請求;
所述后臺收發(fā)模塊,還用于向所述入口服務(wù)器發(fā)送處理結(jié)果。
可選的,所述后臺處理模塊,還用于:
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為單向認(rèn)證,則所述訪問請求中包括所述終端的登錄賬號和密碼,驗(yàn)證所述登錄賬號和所述密碼是否匹配;
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證,則所述訪問請求的報文頭中包括所述終端的標(biāo)識信息,驗(yàn)證所述終端的標(biāo)識信息是否已登記。
本發(fā)明實(shí)施例中,入口服務(wù)器接收終端發(fā)送的訪問請求,并根據(jù)該訪問請求確定對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證還是單向認(rèn)證。若該訪問請求的SSL認(rèn)證方式為雙向認(rèn)證,則入口服務(wù)器與終端進(jìn)行雙向認(rèn)證。雙向認(rèn)證通過后,入口服務(wù)器將終端的標(biāo)識信息加入訪問請求中,并將加入標(biāo)識信息的訪問請求發(fā)送給后臺服務(wù)器。由于雙向認(rèn)證能夠?yàn)榻K端的訪問提供更為安全的保證,相較于雙向認(rèn)證,單向認(rèn)證的安全性較低。因此,對于不同的認(rèn)證方式,對應(yīng)的訪問請求的權(quán)限不同。后臺服務(wù)器可以根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息,來確定終端與入口服務(wù)器之間的SSL認(rèn)證方式,從而進(jìn)一步確定終端的訪問權(quán)限。這樣,可以將SSL雙向認(rèn)證的系統(tǒng)和SSL單向認(rèn)證的系統(tǒng)設(shè)置于同一臺后臺服務(wù)器(唯一的IP地址和端口),提高了后臺服務(wù)器處理訪問請求的靈活性,節(jié)省了服務(wù)器資源,解決了現(xiàn)有技術(shù)中不同認(rèn)證方式需要單獨(dú)搭建認(rèn)證系統(tǒng)的問題。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例所適用的一種系統(tǒng)架構(gòu)的示意圖;
圖2為本發(fā)明實(shí)施例中一種基于SSL協(xié)議的訪問控制方法的流程圖;
圖3為本發(fā)明實(shí)施例一中SSL認(rèn)證方式為單向認(rèn)證的基于SSL協(xié)議的訪問控制方法的流程圖;
圖4為本發(fā)明實(shí)施例二中SSL認(rèn)證方式為雙向認(rèn)證的基于SSL協(xié)議的訪問控制方法的流程圖
圖5為本發(fā)明實(shí)施例中一種基于SSL協(xié)議的訪問控制裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例中另一種基于SSL協(xié)議的訪問控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,本發(fā)明實(shí)施例所適用的一種系統(tǒng)架構(gòu),包括終端101、入口服務(wù)器102和后臺服務(wù)器103。終端101可以是手機(jī)、平板電腦或者是專用的手持設(shè)備等具有無線通信功能的電子設(shè)備,也可以是個人計算機(jī)(personal computer,簡稱PC),筆記本電腦,服務(wù)器等有線接入方式連接上網(wǎng)的設(shè)備。服務(wù)器102可以是計算機(jī)等網(wǎng)絡(luò)設(shè)備。優(yōu)選地,入口服務(wù)器102為F5服務(wù)器,提供互聯(lián)網(wǎng)訪問入口和各個入口的負(fù)載均衡。不同SSL認(rèn)證方式的處理,可以由不同入口服務(wù)器102進(jìn)行處理,即一個入口服務(wù)器102處理單向認(rèn)證,另一個入口服務(wù)器102處理雙向認(rèn)證;也可以由同一個入口服務(wù)器102的不同端口實(shí)現(xiàn),即入口服務(wù)器102上的一個端口處理單向認(rèn)證,同一個入口服務(wù)器102上的另一個端口處理雙向認(rèn)證。后臺服務(wù)器103可以是一個獨(dú)立的設(shè)備,也可以是多個服務(wù)器所形成的服務(wù)器集群,用于處理終端發(fā)來的訪問請求,若后臺服務(wù)器103為多個服務(wù)器,則每個后臺服務(wù)器中部署的應(yīng)用系統(tǒng)完全一致,即每個后臺服務(wù)器均可以處理雙向認(rèn)證對應(yīng)的訪問請求,以及單向認(rèn)證對應(yīng)的訪問請求。入口服務(wù)器102和后臺服務(wù)器103可以采用云計算技術(shù)進(jìn)行信息處理。
終端101可以通過INTERNET網(wǎng)絡(luò)與服務(wù)器102進(jìn)行通信,也可以通過全球移動通信系統(tǒng)(Global System for Mobile Communications,簡稱GSM)、長期演進(jìn)(long term evolution,簡稱LTE)系統(tǒng)等移動通信系統(tǒng)與服務(wù)器102進(jìn)行通信。
圖2示例性示出了本發(fā)明實(shí)施例提供的一種基于SSL協(xié)議的訪問控制方法流程示意圖。
基于前述內(nèi)容,如圖2所示,本發(fā)明實(shí)施例提供的一種針對監(jiān)控軟件的監(jiān)控方法,包括以下步驟:
步驟201、入口服務(wù)器接收終端發(fā)送的訪問請求。
步驟202、所述入口服務(wù)器確定所述訪問請求對應(yīng)的安全套接層SSL認(rèn)證方式。
步驟203、若為雙向認(rèn)證,則所述入口服務(wù)器在與所述終端雙向認(rèn)證通過后,將所述終端的標(biāo)識信息加入所述訪問請求中并發(fā)送給后臺服務(wù)器,所述后臺服務(wù)器用于根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息來確定終端的訪問權(quán)限。
本發(fā)明實(shí)施例中,入口服務(wù)器接收終端發(fā)送的訪問請求,并根據(jù)該訪問請求確定對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證還是單向認(rèn)證。若該訪問請求的SSL認(rèn)證方式為雙向認(rèn)證,則入口服務(wù)器與終端進(jìn)行雙向認(rèn)證。雙向認(rèn)證通過后,入口服務(wù)器將終端的標(biāo)識信息加入訪問請求中,并將加入標(biāo)識信息的訪問請求發(fā)送給后臺服務(wù)器。由于雙向認(rèn)證能夠?yàn)榻K端的訪問提供更為安全的保證,相較于雙向認(rèn)證,單向認(rèn)證的安全性較低。因此,對于不同的認(rèn)證方式,對應(yīng)的訪問請求的權(quán)限不同。后臺服務(wù)器可以根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息,來確定終端與入口服務(wù)器之間的SSL認(rèn)證方式,從而進(jìn)一步確定終端的訪問權(quán)限。這樣,可以將SSL雙向認(rèn)證的系統(tǒng)和SSL單向認(rèn)證的系統(tǒng)設(shè)置于同一臺后臺服務(wù)器(唯一的IP地址和端口),提高了后臺服務(wù)器處理訪問請求的靈活性,節(jié)省了服務(wù)器資源,解決了現(xiàn)有技術(shù)中不同認(rèn)證方式需要單獨(dú)搭建認(rèn)證系統(tǒng)的問題。
用戶瀏覽網(wǎng)絡(luò)資源或?qū)W(wǎng)絡(luò)資源進(jìn)行管理時,通過終端上的瀏覽器向服務(wù)器發(fā)送訪問請求,服務(wù)器基于該訪問請求向終端回復(fù)終端請求的信息。其中,終端的瀏覽器和服務(wù)器之間傳輸信息可以基于HTTP(Hyper Text Transport Protocol,超文本傳輸協(xié)議)。為了保證終端和服務(wù)器之間信息傳輸?shù)陌踩裕贖TTP的基礎(chǔ)上加入了SSL協(xié)議,即將HTTP換為HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,基于安全套接層的超文本傳輸協(xié)議)。
本發(fā)明實(shí)施例中,上述步驟201,所述入口服務(wù)器接收終端發(fā)送的訪問請求,包括:
所述入口服務(wù)器接收所述終端發(fā)送的https請求。
HTTP是一個客戶端與服務(wù)器之間請求和應(yīng)答的標(biāo)準(zhǔn)??蛻舳税惭b于終端上,服務(wù)器端可以是網(wǎng)站。通過使用網(wǎng)絡(luò)瀏覽器、網(wǎng)絡(luò)爬蟲或者其它的工具,客戶端發(fā)起一個到服務(wù)器上指定端口的HTTP請求。服務(wù)器上存儲著資源,比如HTML(HyperText Markup Language,超級文本標(biāo)記語言)文件和圖像。
通常,由客戶端發(fā)起一個請求,建立一個到服務(wù)器指定端口的TCP連接。HTTP服務(wù)器則在那個端口監(jiān)聽客戶端發(fā)送過來的請求。將收到的請求處理之后,服務(wù)器向客戶端回復(fù)響應(yīng)消息,響應(yīng)消息的內(nèi)容可能是客戶端請求的文件、錯誤消息、或者其它一些信息。
由于HTTP以明文方式發(fā)送消息,不提供任何方式的數(shù)據(jù)加密,安全性很低,如果攻擊者截取了瀏覽器和服務(wù)器之間的傳輸報文,就可以直接讀懂其中的信息。
為了解決HTTP的這一缺陷,需要使用另一個協(xié)議:安全套接字層超文本傳輸協(xié)議HTTPS。為了數(shù)據(jù)傳輸?shù)陌踩?,HTTPS在HTTP的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠數(shù)字證書來驗(yàn)證服務(wù)器或客戶端的身份,并為客戶端和服務(wù)器之間的通信加密。
入口服務(wù)器接收到終端發(fā)送的訪問請求后,由于該訪問請求是基于HTTPS,則入口服務(wù)器需要根據(jù)訪問請求確定如何認(rèn)證數(shù)字證書。數(shù)字證書的認(rèn)證分為兩種方式,雙向認(rèn)證和單向認(rèn)證,需要入口服務(wù)器上配置雙向認(rèn)證和單向認(rèn)證的數(shù)字證書??梢詫㈦p向認(rèn)證的數(shù)字證書與單向認(rèn)證的數(shù)字證書配置于不同入口服務(wù)器內(nèi),這樣,一個入口服務(wù)器只處理雙向認(rèn)證對應(yīng)的訪問請求,另一個入口服務(wù)器只處理單向認(rèn)證對應(yīng)的訪問請求。不同認(rèn)證方式的訪問請求根據(jù)不同的IP地址或者不同網(wǎng)絡(luò)域名,發(fā)送到相應(yīng)的入口服務(wù)器,即雙向認(rèn)證對應(yīng)的訪問請求根據(jù)處理雙向認(rèn)證的入口服務(wù)器的IP地址,發(fā)送至處理雙向認(rèn)證的入口服務(wù)器;單向認(rèn)證對應(yīng)的訪問請求根據(jù)處理單向認(rèn)證的入口服務(wù)器的IP地址,發(fā)送至處理單向認(rèn)證的入口服務(wù)器。較佳的,本發(fā)明實(shí)施例中,在一個入口服務(wù)器上同時配置雙向認(rèn)證和單向認(rèn)證的數(shù)字證書,通過不同的端口區(qū)分訪問請求對應(yīng)的認(rèn)證方式。則上述步驟202,所述入口服務(wù)器確定所述訪問請求對應(yīng)的SSL認(rèn)證方式,包括:
所述入口服務(wù)器接收所述終端發(fā)送的所述訪問請求,所述訪問請求中包括端口號;
所述入口服務(wù)器根據(jù)所述端口號,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證或單向認(rèn)證。
由于雙向認(rèn)證和單向認(rèn)證連接對應(yīng)的服務(wù)器或端口不一樣,也就是說,若客戶端對應(yīng)的認(rèn)證方式為雙向認(rèn)證,則客戶端發(fā)起的訪問請求是直接發(fā)送到雙向認(rèn)證對應(yīng)的服務(wù)器或端口;若客戶端對應(yīng)的認(rèn)證方式為單向認(rèn)證,則客戶端發(fā)起的訪問請求是發(fā)送到單向認(rèn)證對應(yīng)的服務(wù)器或端口。因此,若同一個入口服務(wù)器接收到終端發(fā)送的訪問請求后,可以根據(jù)該訪問請求中攜帶的端口號來判斷該訪問請求對應(yīng)的SSL認(rèn)證方式。
確定了SSL認(rèn)證方式為雙向認(rèn)證或者單向認(rèn)證之后,入口服務(wù)器執(zhí)行與客戶端之間的SSL認(rèn)證。
若SSL認(rèn)證方式為雙向認(rèn)證,則上述步驟203中,入口服務(wù)器與所述終端進(jìn)行雙向認(rèn)證,包括:
所述入口服務(wù)器向所述終端發(fā)送所述入口服務(wù)器的證書并接收所述終端對所述入口服務(wù)器的認(rèn)證結(jié)果;
所述入口服務(wù)器向所述終端發(fā)送證書獲取請求;
所述入口服務(wù)器接收所述終端發(fā)送的終端證書,所述終端證書中包括所述終端的標(biāo)識信息;
所述入口服務(wù)器根據(jù)所述終端證書完成對所述終端的認(rèn)證。
具體來說,入口服務(wù)器判斷終端發(fā)送的訪問請求對應(yīng)的認(rèn)證方式為雙向認(rèn)證后,向終端發(fā)送入口服務(wù)器的證書,終端對入口服務(wù)器的證書進(jìn)行認(rèn)證,認(rèn)證通過后會向入口服務(wù)器反饋認(rèn)證成功的結(jié)果。由于是雙向認(rèn)證,則入口服務(wù)器向終端發(fā)送請求獲取終端的證書,入口服務(wù)器接收到終端的證書后,對該終端的證書進(jìn)行驗(yàn)證,由此完成入口服務(wù)器與終端之間的SSL雙向認(rèn)證。
若訪問請求對應(yīng)的認(rèn)證方式為單向認(rèn)證,則只需要入口服務(wù)器將服務(wù)器的數(shù)字證書發(fā)送給終端,使客戶端對入口服務(wù)器的證書進(jìn)行驗(yàn)證,終端無需將終端的證書發(fā)送給入口服務(wù)器。
也就是說,兩種SSL認(rèn)證方式的不同之處在于,雙向認(rèn)證中終端將證書發(fā)送給服務(wù)器,單向認(rèn)證中終端不向服務(wù)器發(fā)送證書。因此,本發(fā)明實(shí)施例中,雙向認(rèn)證將證書發(fā)送給入口服務(wù)器,則可以在證書中加入終端的標(biāo)識信息,一同發(fā)送給入口服務(wù)器,入口服務(wù)器再將獲得的終端的標(biāo)識信息放入訪問請求中發(fā)送給后臺服務(wù)器,則后臺服務(wù)器可以從雙向認(rèn)證對應(yīng)的訪問請求中獲取終端的標(biāo)識信息。另一方面,單向認(rèn)證是入口服務(wù)器將入口服務(wù)器的證書發(fā)送給終端,而終端無需發(fā)送終端的證書給入口服務(wù)器,則入口服務(wù)器不獲取終端的標(biāo)識信息,因此,單向認(rèn)證的情況下,入口服務(wù)器發(fā)送給后臺服務(wù)器的訪問請求中不攜帶終端的標(biāo)識信息。這樣,后臺服務(wù)器可以根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息,判斷該訪問請求對應(yīng)的認(rèn)證方式是雙向認(rèn)證還是單向認(rèn)證,從而確定該訪問請求對應(yīng)的權(quán)限。
上述終端證書通過以下方式獲得:
所述終端根據(jù)所述終端的標(biāo)識信息,生成證書請求CSR文件;
所述終端向證書頒發(fā)機(jī)構(gòu)發(fā)送所述CSR,以使所述證書頒發(fā)機(jī)構(gòu)根據(jù)所述CSR生成所述終端證書;
所述終端接收所述證書頒發(fā)機(jī)構(gòu)發(fā)送的所述終端證書。
具體來說,終端利用終端的MAC(Message Authentication Code,消息認(rèn)證碼)、終端序列號等唯一標(biāo)識生成私鑰文件和CSR(Certificate Signing Request,證書請求)文件,并將CSR文件發(fā)送給證書頒發(fā)機(jī)構(gòu)。證書頒發(fā)機(jī)構(gòu)使用證書頒發(fā)機(jī)構(gòu)的私鑰對該CSR文件簽名,就生成了證書公鑰文件,也就是頒發(fā)給用戶終端的證書,并將該終端證書發(fā)送回終端,該終端證書可以用于認(rèn)證終端的安全性。因此,終端證書中攜帶該終端的標(biāo)識信息,終端將終端證書發(fā)送給入口服務(wù)器,入口服務(wù)器可以從終端證書中獲取終端的標(biāo)識信息,并將其加入訪問請求中。
此外,入口服務(wù)器將將所述終端的標(biāo)識信息加入所述訪問請求中并發(fā)送給后臺服務(wù)器,包括:
所述入口服務(wù)器將所述https請求轉(zhuǎn)換成http請求,并在所述http請求的報文頭中插入所述終端的標(biāo)識信息;
所述入口服務(wù)器將加入標(biāo)識信息的所述http請求發(fā)送給所述后臺服務(wù)器。
雖然HTTPS相較于HTTP是更為安全的通信協(xié)議,但是HTTPS需要后臺服務(wù)器處理對方發(fā)來的證書,加重了后臺服務(wù)器的工作量。由于入口服務(wù)器與后臺服務(wù)器之間的連接屬于內(nèi)網(wǎng)連接,安全性已經(jīng)很高,通信無需加密,因此,入口服務(wù)器將https請求轉(zhuǎn)換為http請求,發(fā)送給后臺服務(wù)器。同時,若訪問請求對應(yīng)的認(rèn)證方式為雙向認(rèn)證,入口服務(wù)器將http請求中加入終端的標(biāo)識信息,使得后臺服務(wù)器可以根據(jù)訪問請求中攜帶終端的標(biāo)識信息,確定該訪問請求對應(yīng)的認(rèn)證方式為雙向認(rèn)證。
相應(yīng)的,本發(fā)明實(shí)施例中,后臺服務(wù)器接收到訪問請求后,根據(jù)該訪問請求對應(yīng)的認(rèn)證方式,對訪問請求進(jìn)行處理,具體包括:
后臺服務(wù)器接收入口服務(wù)器發(fā)送的訪問請求;
所述后臺服務(wù)器根據(jù)所述訪問請求中是否包括終端的標(biāo)識信息,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
所述后臺服務(wù)器根據(jù)所述訪問請求對應(yīng)的SSL認(rèn)證方式,對所述終端進(jìn)行驗(yàn)證;
所述后臺服務(wù)器在對終端驗(yàn)證通過后,處理所述訪問請求,并向所述入口服務(wù)器發(fā)送處理結(jié)果。
由于SSL認(rèn)證方式為兩種,雙向認(rèn)證或單向認(rèn)證,則針對不同的認(rèn)證方式,后臺服務(wù)器根據(jù)訪問請求,對終端進(jìn)行不同驗(yàn)證。
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為單向認(rèn)證,則所述訪問請求中包括所述終端的登錄賬號和密碼,所述后臺服務(wù)器驗(yàn)證所述登錄賬號和所述密碼是否匹配。
對于單向認(rèn)證,由于這種認(rèn)證方式的安全性較低,則需要用戶預(yù)先注冊賬戶。后臺服務(wù)器接收到訪問請求后,驗(yàn)證該訪問請求中攜帶的登錄賬號和密碼是否正確且匹配,并將處理結(jié)果按源地址返回終端。
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證,則所述訪問請求的報文頭中包括所述終端的標(biāo)識信息,所述后臺服務(wù)器驗(yàn)證所述終端的標(biāo)識信息是否已登記。
對于雙向認(rèn)證,這種認(rèn)證方式的安全性較高,無需用戶通過賬號密碼登錄,后臺服務(wù)器中會預(yù)先將終端的標(biāo)識信息進(jìn)行登記。這樣,當(dāng)終端發(fā)來訪問請求時,后臺服務(wù)器驗(yàn)證該訪問請求中攜帶的終端的標(biāo)識信息是否已存儲在后臺服務(wù)器中,若是,則通過對該訪問請求的驗(yàn)證,否則不通過。
為了更清楚地理解本發(fā)明,下面以具體的實(shí)施例對上述流程進(jìn)行詳細(xì)描述,實(shí)施例一中的SSL認(rèn)證方式為單向認(rèn)證,具體步驟如圖3所示,包括:
步驟301、終端向入口服務(wù)器發(fā)送https請求,該https請求中包括賬號和密碼,以及訪問地址即端口號。其中,登錄賬號和密碼,以及端口號,為終端注冊時,向入口服務(wù)器申請獲取。
步驟302、入口服務(wù)器根據(jù)https請求中的端口號,確定該https請求對應(yīng)的SSL認(rèn)證方式為單向認(rèn)證。
步驟303、入口服務(wù)器向終端發(fā)送入口服務(wù)器的證書。
步驟304、在接收到終端反饋的驗(yàn)證通過消息后,入口服務(wù)器將https請求轉(zhuǎn)換為http請求。
步驟305、入口服務(wù)器將http請求發(fā)送給后臺服務(wù)器。
步驟306、后臺服務(wù)器根據(jù)http請求中不包括終端的標(biāo)識信息,確定該http請求對應(yīng)的認(rèn)證方式為單向認(rèn)證。
步驟307、后臺服務(wù)器處理該http請求。
步驟308、后臺服務(wù)器向入口服務(wù)器發(fā)送處理結(jié)果。
步驟309、入口服務(wù)器向終端發(fā)送處理結(jié)果。
實(shí)施例二中的SSL認(rèn)證方式為雙向認(rèn)證,具體步驟如圖4所示,包括:
步驟401、終端向入口服務(wù)器發(fā)送https請求,該https請求中包括訪問地址即端口號。
步驟402、入口服務(wù)器根據(jù)https請求中的端口號,確定該https請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證。
步驟403、入口服務(wù)器向終端發(fā)送入口服務(wù)器的證書。
步驟404、終端對入口服務(wù)器的證書進(jìn)行驗(yàn)證,并向入口服務(wù)器反饋驗(yàn)證結(jié)果。
步驟405、在接收到終端反饋的驗(yàn)證通過消息后,入口服務(wù)器向終端發(fā)送證書請求。
步驟406、終端將終端證書發(fā)送給入口服務(wù)器,其中,終端證書中包括終端的標(biāo)識信息。
步驟407、入口服務(wù)器對終端證書驗(yàn)證通過后,將https請求轉(zhuǎn)換為http請求,并將終端的標(biāo)識信息加入http請求中。
步驟408、入口服務(wù)器將http請求發(fā)送給后臺服務(wù)器。
步驟409、后臺服務(wù)器根據(jù)http請求中包括終端的標(biāo)識信息,確定該http請求對應(yīng)的認(rèn)證方式為雙向認(rèn)證。
步驟410、后臺服務(wù)器處理該http請求。
步驟411、后臺服務(wù)器向入口服務(wù)器發(fā)送處理結(jié)果。
步驟412、入口服務(wù)器向終端發(fā)送處理結(jié)果。
基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種基于SSL協(xié)議的訪問控制裝置,如圖5所示,包括:
入口收發(fā)模塊501,用于接收終端發(fā)送的訪問請求;
入口認(rèn)證模塊502,用于確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
入口處理模塊503,用于若為雙向認(rèn)證,則在與所述終端雙向認(rèn)證通過后,將所述終端的標(biāo)識信息加入所述訪問請求中;
所述入口收發(fā)模塊501,還用于將所述訪問請求發(fā)送給后臺服務(wù)器,所述后臺服務(wù)器用于根據(jù)訪問請求中是否攜帶終端的標(biāo)識信息來確定終端的訪問權(quán)限。
可選的,所述入口收發(fā)模塊501,具體用于:
向所述終端發(fā)送所述入口服務(wù)器的證書并接收所述終端對所述入口服務(wù)器的認(rèn)證結(jié)果;
向所述終端發(fā)送證書獲取請求;
接收所述終端發(fā)送的終端證書,所述終端證書中包括所述終端的標(biāo)識信息;
所述入口處理模塊,具體用于根據(jù)所述終端證書完成對所述終端的認(rèn)證。
可選的,所述終端證書通過如下方式獲得:
所述終端根據(jù)所述終端的標(biāo)識信息,生成證書請求CSR文件;
所述終端向證書頒發(fā)機(jī)構(gòu)發(fā)送所述CSR,以使所述證書頒發(fā)機(jī)構(gòu)根據(jù)所述CSR生成所述終端證書;
所述終端接收所述證書頒發(fā)機(jī)構(gòu)發(fā)送的所述終端證書。
可選的,所述訪問請求中包括端口號;
所述入口認(rèn)證模塊502,具體用于根據(jù)所述端口號,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證或單向認(rèn)證。
可選的,所述入口收發(fā)模塊501,用于接收所述終端發(fā)送的https請求;
所述入口處理模塊503,具體用于將所述https請求轉(zhuǎn)換成http請求,并在所述http請求的報文頭中插入所述終端的標(biāo)識信息;
所述入口收發(fā)模塊501,用于將加入標(biāo)識信息的所述http請求發(fā)送給所述后臺服務(wù)器。
另一種基于SSL認(rèn)證的訪問控制裝置,如圖6所示,包括:
后臺收發(fā)模塊601,用于接收入口服務(wù)器發(fā)送的訪問請求;
后臺認(rèn)證模塊602,用于根據(jù)所述訪問請求中是否包括終端的標(biāo)識信息,確定所述訪問請求對應(yīng)的SSL認(rèn)證方式;
后臺處理模塊603,用于根據(jù)所述訪問請求對應(yīng)的SSL認(rèn)證方式,對所述終端進(jìn)行驗(yàn)證;
所述后臺處理模塊603,還用于在對終端驗(yàn)證通過后,處理所述訪問請求;
所述后臺收發(fā)模塊601,還用于向所述入口服務(wù)器發(fā)送處理結(jié)果。
可選的,所述后臺處理模塊603,還用于:
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為單向認(rèn)證,則所述訪問請求中包括所述終端的登錄賬號和密碼,驗(yàn)證所述登錄賬號和所述密碼是否匹配;
若所述訪問請求對應(yīng)的SSL認(rèn)證方式為雙向認(rèn)證,則所述訪問請求的報文頭中包括所述終端的標(biāo)識信息,驗(yàn)證所述終端的標(biāo)識信息是否已登記。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。