本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種鑒權(quán)方法及裝置。
背景技術(shù):
CSRF(Cross-site request forgery,跨站請求偽造)也被稱為“One Click Attack”或者Session Riding,通常縮寫為CSRF或者XSRF,是一種對網(wǎng)站的惡意利用。盡管它聽起來類似跨站腳本(XSS),但它與XSS非常不同,并且攻擊方式幾乎相左。XSS利用站點內(nèi)的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用網(wǎng)站。與XSS攻擊相比,對CSRF進行防范的資源較為稀少,所以CSRF攻擊較難防范,故CSRF被認為比XSS更具危險性。以下通過一個具體事例來進一步理解CSRF的攻擊過程:
用戶登錄了一家銀行網(wǎng)站的網(wǎng)頁,合法身份驗證存儲在瀏覽器本地的cookie(緩存)中,后續(xù)瀏覽器向銀行網(wǎng)站發(fā)送的信息中將攜帶cookie中保存的合法身份驗證。在用戶訪問銀行網(wǎng)站的過程中,如果用戶使用瀏覽器點擊一個包含惡意代碼的鏈接,惡意代碼使用戶在不知情的情況下獲取合法身份驗證,帶著合法身份驗證向銀行網(wǎng)站發(fā)送惡意請求,如請求將資金從受害用戶的銀行賬戶轉(zhuǎn)到攻擊者的銀行賬戶;具體地,在關(guān)于轉(zhuǎn)賬的FORM表單網(wǎng)頁中,轉(zhuǎn)入賬戶一欄為網(wǎng)頁入口,用戶可輸入?yún)?shù),攻擊過程中,攻擊者在轉(zhuǎn)入賬戶一欄輸入攻擊者的銀行賬戶,然后攜帶合法身份驗證提交轉(zhuǎn)賬請求至銀行網(wǎng)站,實現(xiàn)將受害用戶的銀行賬戶轉(zhuǎn)出。由于銀行網(wǎng)頁沒有驗證請求來源的合法性而存在CSRF漏洞。且CSRF風(fēng)險可能存在于任何一個請求中,故現(xiàn)有技術(shù)無法對CSRF攻擊起到很好的防范作用。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種鑒權(quán)方法及裝置,旨在解決現(xiàn)有技術(shù)中存在的CSRF攻擊問題。
根據(jù)本發(fā)明的第一個方面,提供了一種鑒權(quán)方法,該方法包括:在對客戶端進行身份鑒權(quán)之后,接收客戶端發(fā)送的會話請求消息;從會話請求消息中獲取會話標識信息;判斷會話標識信息與預(yù)先保存的本次會話標識是否一致,如果一致,則響應(yīng)會話請求消息,否則不響應(yīng)會話請求消息,在響應(yīng)會話請求消息后,生成客戶端的下一次會話標識信息,下一次會話標識與本次會話標識不同。
進一步的,上述方法還包括:在接收客戶端發(fā)送的會話請求消息之前以及在對客戶端進行身份鑒權(quán)之后,生成客戶端的本次會話標識;將生成的會話標識存儲于服務(wù)端與客戶端會話的上下文中。
其中,從會話請求消息中獲取會話標識信息,包括:從客戶端發(fā)送的會話請求的地址中獲取本次會話標識。
根據(jù)本發(fā)明的第二個方面,提供了一種鑒權(quán)方法,該方法包括:在通過服務(wù)端執(zhí)行的身份鑒權(quán)后,獲取服務(wù)端預(yù)先生成的本次會話標識信息,本次會話標識與下一次會話標識不同;在向服務(wù)端發(fā)送的會話請求消息中攜帶本次會話標識信息。
其中,獲取服務(wù)端預(yù)先生成的本次會話的標識信息,包括:從服務(wù)端與客戶端會話的上下文中獲取本次會話的標識信息。
其中,在向服務(wù)端發(fā)送的請求消息中攜帶本次會話標識信息,包括:在會話請求消息對應(yīng)的地址中拼接本次會話標識。
根據(jù)本發(fā)明的第三個方面,提供了一種鑒權(quán)裝置,該裝置包括:接收模塊,用于在對客戶端進行身份鑒權(quán)之后,接收客戶端發(fā)送的會話請求消息;第一獲取模塊,用于從會話請求消息中獲取會話標識信息;判斷模塊,用于判斷會話標識信息與預(yù)先保存的本次會話標識是否一致,如果一致,則響應(yīng)會話請求消息,否則不響應(yīng)會話請求消息,在響應(yīng)會話請求消息后,生成客戶端的下一次會話標識信息,下一次會話標識與本次會話標識不同。
進一步的,上述裝置還包括:生成模塊,用于在接收客戶端發(fā)送的會話請求消息之前以及在對客戶端進行身份鑒權(quán)之后,生成客戶端的本次會話標識;存儲模塊,用于將生成的會話標識存儲于服務(wù)端與客戶端會話的上下文中。
根據(jù)本發(fā)明的第四個方面,提供了一種鑒權(quán)裝置,該裝置包括:第二獲取模塊,用于在通過服務(wù)端執(zhí)行的身份鑒權(quán)后,獲取服務(wù)端預(yù)先生成的本次會話標識信息,本次會話標識與下一次會話標識不同;發(fā)送模塊,用于在向服務(wù)端發(fā)送的會話請求消息中攜帶本次會話標識信息。
其中,第二獲取模塊具體用于:從服務(wù)端與客戶端會話的上下文中獲取本次會話的標識信息。
本發(fā)明實施例提供的方案,在客戶端每次向服務(wù)端發(fā)送請求消息時,均攜帶服務(wù)端預(yù)先生成的本次會話標識信息,服務(wù)端通過該標識信息對客戶端進行鑒權(quán),確保了客戶端與服務(wù)端的每次會話的安全性,對目前存在的CSRF攻擊起到了有效的防范作用,提高了客戶端與服務(wù)端會話的安全性。
附圖說明
圖1為實現(xiàn)本發(fā)明各個實施例一可選的移動終端的硬件結(jié)構(gòu)示意圖;
圖2為如圖1所示的移動終端的無線通信系統(tǒng)示意圖;
圖3是本發(fā)明第一實施例提供的鑒權(quán)方法的流程圖;
圖4是本發(fā)明第二實施例提供的鑒權(quán)方法的流程圖;
圖5是本發(fā)明第三實施例提供的鑒權(quán)方法的流程圖;
圖6是本發(fā)明第四實施例提供的鑒權(quán)裝置的結(jié)構(gòu)框圖;
圖7是本發(fā)明第五實施例提供的鑒權(quán)裝置的結(jié)構(gòu)框圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
現(xiàn)在將參考附圖描述實現(xiàn)本發(fā)明各個實施例的移動終端。在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
移動終端可以以各種形式來實施。例如,本發(fā)明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數(shù)字廣播接收器、PDA(個人數(shù)字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導(dǎo)航裝置等等的移動終端以及諸如數(shù)字TV、臺式計算機等等的固定終端。下面,假設(shè)終端是移動終端。然而,本領(lǐng)域技術(shù)人員將理解的是,除了特別用于移動目的的元件之外,根據(jù)本發(fā)明的實施方式的構(gòu)造也能夠應(yīng)用于固定類型的終端。
圖1為實現(xiàn)本發(fā)明各個實施例的一個可選的移動終端的硬件結(jié)構(gòu)示意。
移動終端100可以包括無線通信單元110、A/V(音頻/視頻)輸入單元120、用戶輸入單元130、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應(yīng)理解的是,并不要求實施所有示出的組件??梢蕴娲貙嵤└嗷蚋俚慕M件。將在下面詳細描述移動終端的元件。
無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統(tǒng)或網(wǎng)絡(luò)之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線互聯(lián)網(wǎng)模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
廣播接收模塊111經(jīng)由廣播信道從外部廣播管理服務(wù)器接收廣播信號和/或廣播相關(guān)信息。廣播信道可以包括衛(wèi)星信道和/或地面信道。廣播管理服務(wù)器可以是生成并發(fā)送廣播信號和/或廣播相關(guān)信息的服務(wù)器或者接收之前生成的廣播信號和/或廣播相關(guān)信息并且將其發(fā)送給終端的服務(wù)器。廣播信號可以包括TV廣播信號、無線電廣播信號、數(shù)據(jù)廣播信號等等。而且,廣播信號可以進一步包括與TV或無線電廣播信號組合的廣播信號。廣播相關(guān)信息也可以經(jīng)由移動通信網(wǎng)絡(luò)提供,并且在該情況下,廣播相關(guān)信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數(shù)字多媒體廣播(DMB)的電子節(jié)目指南(EPG)、數(shù)字視頻廣播手持(DVB-H)的電子服務(wù)指南(ESG)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統(tǒng)接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(DMB-T)、數(shù)字多媒體廣播-衛(wèi)星(DMB-S)、數(shù)字視頻廣播-手持(DVB-H),前向鏈路媒體(MediaFLO@)的數(shù)據(jù)廣播系統(tǒng)、地面數(shù)字廣播綜合服務(wù)(ISDB-T)等等的數(shù)字廣播系統(tǒng)接收數(shù)字廣播。廣播接收模塊111可以被構(gòu)造為適合提供廣播信號的各種廣播系統(tǒng)以及上述數(shù)字廣播系統(tǒng)。經(jīng)由廣播接收模塊111接收的廣播信號和/或廣播相關(guān)信息可以存儲在存儲器160(或者其它類型的存儲介質(zhì))中。
移動通信模塊112將無線電信號發(fā)送到基站(例如,接入點、節(jié)點B等等)、外部終端以及服務(wù)器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據(jù)文本和/或多媒體消息發(fā)送和/或接收的各種類型的數(shù)據(jù)。
無線互聯(lián)網(wǎng)模塊113支持移動終端的無線互聯(lián)網(wǎng)接入。該模塊可以內(nèi)部或外部地耦接到終端。該模塊所涉及的無線互聯(lián)網(wǎng)接入技術(shù)可以包括WLAN(無線LAN)(Wi-Fi)、Wibro(無線寬帶)、Wimax(全球微波互聯(lián)接入)、HSDPA(高速下行鏈路分組接入)等等。
短程通信模塊114是用于支持短程通信的模塊。短程通信技術(shù)的一些示例包括藍牙TM、射頻識別(RFID)、紅外數(shù)據(jù)協(xié)會(IrDA)、超寬帶(UWB)、紫蜂TM等等。
位置信息模塊115是用于檢查或獲取移動終端的位置信息的模塊。位置信息模塊的典型示例是GPS(全球定位系統(tǒng))。根據(jù)當(dāng)前的技術(shù),位置信息模塊115計算來自三個或更多衛(wèi)星的距離信息和準確的時間信息并且對于計算的信息應(yīng)用三角測量法,從而根據(jù)經(jīng)度、緯度和高度準確地計算三維當(dāng)前位置信息。當(dāng)前,用于計算位置和時間信息的方法使用三顆衛(wèi)星并且通過使用另外的一顆衛(wèi)星校正計算出的位置和時間信息的誤差。此外,GPS模塊115能夠通過實時地連續(xù)計算當(dāng)前位置信息來計算速度信息。
A/V輸入單元120用于接收音頻或視頻信號。A/V輸入單元120可以包括相機121和麥克風(fēng)122,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態(tài)圖片或視頻的圖像數(shù)據(jù)進行處理。處理后的圖像幀可以顯示在顯示單元151上。經(jīng)相機121處理后的圖像幀可以存儲在存儲器160(或其它存儲介質(zhì))中或者經(jīng)由無線通信單元110進行發(fā)送,可以根據(jù)移動終端的構(gòu)造提供兩個或更多相機121。麥克風(fēng)122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經(jīng)由麥克風(fēng)接收聲音(音頻數(shù)據(jù)),并且能夠?qū)⑦@樣的聲音處理為音頻數(shù)據(jù)。處理后的音頻(語音)數(shù)據(jù)可以在電話通話模式的情況下轉(zhuǎn)換為可經(jīng)由移動通信模塊112發(fā)送到移動通信基站的格式輸出。麥克風(fēng)122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發(fā)送音頻信號的過程中產(chǎn)生的噪聲或者干擾。
用戶輸入單元130可以根據(jù)用戶輸入的命令生成鍵輸入數(shù)據(jù)以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導(dǎo)致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當(dāng)觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數(shù)據(jù)端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USIM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經(jīng)由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數(shù)據(jù)信息、電力等等)并且將接收到的輸入傳輸?shù)揭苿咏K端100內(nèi)的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數(shù)據(jù)。
另外,當(dāng)移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸?shù)揭苿咏K端的路徑。從底座輸入的各種命令信號或電力可以用作識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構(gòu)造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
顯示單元151可以顯示在移動終端100中處理的信息。例如,當(dāng)移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發(fā)、多媒體文件下載等等)相關(guān)的用戶界面(UI)或圖形用戶界面(GUI)。當(dāng)移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關(guān)功能的UI或GUI等等。
同時,當(dāng)顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏?xí)r,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管LCD(TFT-LCD)、有機發(fā)光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構(gòu)造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機發(fā)光二極管)顯示器等等。根據(jù)特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內(nèi)部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
音頻輸出模塊152可以在移動終端處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數(shù)據(jù)轉(zhuǎn)換音頻信號并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執(zhí)行的特定功能相關(guān)的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。
警報單元153可以提供輸出以將事件的發(fā)生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元153可以以不同的方式提供輸出以通知事件的發(fā)生。例如,警報單元153可以以振動的形式提供輸出,當(dāng)接收到呼叫、消息或一些其它進入通信(incoming communication)時,警報單元153可以提供觸覺輸出(即,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動電話處于用戶的口袋中時,用戶也能夠識別出各種事件的發(fā)生。警報單元153也可以經(jīng)由顯示單元151或音頻輸出模塊152提供通知事件的發(fā)生的輸出。
存儲器160可以存儲由控制器180執(zhí)行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經(jīng)輸出或?qū)⒁敵龅臄?shù)據(jù)(例如,電話簿、消息、靜態(tài)圖像、視頻等等)。而且,存儲器160可以存儲關(guān)于當(dāng)觸摸施加到觸摸屏?xí)r輸出的各種方式的振動和音頻信號的數(shù)據(jù)。
存儲器160可以包括至少一種類型的存儲介質(zhì),所述存儲介質(zhì)包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態(tài)隨機訪問存儲器(SRAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網(wǎng)絡(luò)連接執(zhí)行存儲器160的存儲功能的網(wǎng)絡(luò)存儲裝置協(xié)作。
控制器180通??刂埔苿咏K端的總體操作。例如,控制器180執(zhí)行與語音通話、數(shù)據(jù)通信、視頻通話等等相關(guān)的控制和處理。另外,控制器180可以包括用于再現(xiàn)(或回放)多媒體數(shù)據(jù)的多媒體模塊181,多媒體模塊181可以構(gòu)造在控制器180內(nèi),或者可以構(gòu)造為與控制器180分離??刂破?80可以執(zhí)行模式識別處理,以將在觸摸屏上執(zhí)行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
電源單元190在控制器180的控制下接收外部電力或內(nèi)部電力并且提供操作各元件和組件所需的適當(dāng)?shù)碾娏Α?/p>
這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質(zhì)來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數(shù)字信號處理器(DSP)、數(shù)字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現(xiàn)場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設(shè)計為執(zhí)行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執(zhí)行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當(dāng)?shù)木幊陶Z言編寫的軟件應(yīng)用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執(zhí)行。
至此,己經(jīng)按照其功能描述了移動終端。另外,本發(fā)明實施例中的移動終端100可以是諸如折疊型、直板型、擺動型、滑動型以及其他各種類型的移動終端,具體此處不做限定。
如圖1中所示的移動終端100可以被構(gòu)造為利用經(jīng)由幀或分組發(fā)送數(shù)據(jù)的諸如有線和無線通信系統(tǒng)以及基于衛(wèi)星的通信系統(tǒng)來操作。
現(xiàn)在將參考圖2描述其中根據(jù)本發(fā)明的移動終端能夠操作的通信系統(tǒng)。
這樣的通信系統(tǒng)可以使用不同的空中接口和/或物理層。例如,由通信系統(tǒng)使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(tǒng)(UMTS)(特別地,長期演進(LTE))、全球移動通信系統(tǒng)(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統(tǒng),但是這樣的教導(dǎo)同樣適用于其它類型的系統(tǒng)。
參考圖2,CDMA無線通信系統(tǒng)可以包括多個移動終端100、多個基站(BS)270、基站控制器(BSC)275和移動交換中心(MSC)280。MSC 280被構(gòu)造為與公共電話交換網(wǎng)絡(luò)(PSTN)290形成接口。MSC 280還被構(gòu)造為與可以經(jīng)由回程線路耦接到基站270的BSC 275形成接口?;爻叹€路可以根據(jù)若干己知的接口中的任一種來構(gòu)造,所述接口可以包括例如歐洲標準高容量數(shù)字線路/美國標準高容量數(shù)字線路(E1/T1)、異步傳輸模式(ATM),網(wǎng)絡(luò)協(xié)議(IP)、點對點協(xié)議(PPP)、幀中繼、高速率數(shù)字用戶線路(HDSL)、非對稱數(shù)字用戶線路(ADSL)或各種類型數(shù)字用戶線路(xDSL)。將理解的是,如圖2中所示的系統(tǒng)可以包括多個BSC 275。
每個BS 270可以服務(wù)一個或多個分區(qū)(或區(qū)域),由多向天線或指向特定方向的天線覆蓋的每個分區(qū)放射狀地遠離BS 270?;蛘?,每個分區(qū)可以由用于分集接收的兩個或更多天線覆蓋。每個BS 270可以被構(gòu)造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz等等)。
分區(qū)與頻率分配的交叉可以被稱為CDMA信道。BS 270也可以被稱為基站收發(fā)器子系統(tǒng)(BTS)或者其它等效術(shù)語。在這樣的情況下,術(shù)語"基站"可以用于籠統(tǒng)地表示單個BSC 275和至少一個BS 270?;疽部梢员环Q為"蜂窩站"?;蛘撸囟˙S 270的各分區(qū)可以被稱為多個蜂窩站。
如圖2中所示,廣播發(fā)射器(BT)295將廣播信號發(fā)送給在系統(tǒng)內(nèi)操作的移動終端100。如圖1中所示的廣播接收模塊111被設(shè)置在移動終端100處以接收由BT 295發(fā)送的廣播信號。在圖2中,示出了幾個全球定位系統(tǒng)(GPS)衛(wèi)星300。衛(wèi)星300幫助定位多個移動終端100中的至少一個。
在圖2中,描繪了多個衛(wèi)星300,但是理解的是,可以利用任何數(shù)目的衛(wèi)星獲得有用的定位信息。如圖1中所示的位置信息模塊115通常被構(gòu)造為與衛(wèi)星300配合以獲得想要的定位信息。替代GPS跟蹤技術(shù)或者在GPS跟蹤技術(shù)之外,可以使用可以跟蹤移動終端的位置的其它技術(shù)。另外,至少一個GPS衛(wèi)星300可以選擇性地或者額外地處理衛(wèi)星DMB傳輸。
作為無線通信系統(tǒng)的一個典型操作,BS 270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發(fā)和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS 270內(nèi)進行處理。獲得的數(shù)據(jù)被轉(zhuǎn)發(fā)給相關(guān)的BSC 275。BSC提供通話資源分配和包括BS 270之間的軟切換過程的協(xié)調(diào)的移動管理功能。BSC 275還將接收到的數(shù)據(jù)路由到MSC 280,其提供用于與PSTN 290形成接口的額外的路由服務(wù)。類似地,PSTN 290與MSC 280形成接口,MSC與BSC 275形成接口,并且BSC 275相應(yīng)地控制BS 270以將正向鏈路信號發(fā)送到移動終端100。
第一實施例
本發(fā)明旨在解決CSRF漏洞攻擊問題,基于JAVA WEB技術(shù)提供了一種鑒權(quán)方法,該方法需統(tǒng)一處理客戶端發(fā)送給服務(wù)端的請求消息,由于為了防止CSRF攻擊僅需保護登陸驗證成功之后客戶端發(fā)出的請求,故需要在服務(wù)端維護一個過濾器(Filter),該Filter需要放在服務(wù)端的登陸驗證的Filter之后,故本實施例提供的鑒權(quán)方法可以應(yīng)用于用戶通過客戶端進行身份鑒權(quán)成功以后客戶端向服務(wù)器發(fā)起請求消息的過程中,用以確保在該過程中,客戶端向服務(wù)端發(fā)起會話的合法性,該方法可以由服務(wù)端來實現(xiàn),即該方法的處理流程可以由服務(wù)端來執(zhí)行,圖3是該方法的流程圖,如圖3所示,該方法包括如下處理:
步驟301:在對客戶端進行身份鑒權(quán)之后,接收客戶端發(fā)送的會話請求消息;
在本實施例中,客戶端向服務(wù)端發(fā)送請求消息時,已將會話標識信息攜帶在請求參數(shù)中。
步驟302:從會話請求消息中獲取會話標識信息;
具體的,服務(wù)端可以從客戶端發(fā)送的請求消息的請求參數(shù)中獲取本次會話的標識信息,例如,可以是從客戶端請求的URL地址中獲取本次會話的標識信息,因為客戶端在向服務(wù)端發(fā)送請求消息時,有可能將本次會話標識拼接到了請求的URL地址中。
在本實施例中,客戶端向服務(wù)端發(fā)送請求消息時,已將會話標識信息攜帶在請求參數(shù)中,基于此,服務(wù)端可以從客戶端發(fā)送的請求中讀取到會話標識信息;其中,本實施例中所涉及到的會話標識信息具體可以是由服務(wù)端生成的一個唯一請求序列值,其可以僅是一個數(shù)字,或由數(shù)字、字母或標識符組成的序列號,可選的,在本實施例中,可以使用32位長度的序列號,由于服務(wù)端每次生成的會話標識僅用于與客戶端的一次會話使用,故服務(wù)端每次生成的會話標識不同,為了便于客戶端獲取該標識信息,服務(wù)端生成該標識信息后,將該標識信息存儲至其與客戶端的對話上下文中,該對話上下文可以存儲于緩存中,也可能存儲于網(wǎng)頁中。
步驟303:判斷會話標識信息與預(yù)先保存的本次會話標識是否一致,如果一致,則響應(yīng)會話請求消息,否則不響應(yīng)會話請求消息,在響應(yīng)會話請求消息后,生成客戶端的下一次會話標識信息,下一次會話標識與本次會話標識不同。
在該步驟中,服務(wù)端將從客戶端發(fā)送的請求消息中讀取到的本次會話標識信息與服務(wù)端預(yù)先生成的存儲于會話上下文中的本次會話標識進行對比,如果二者完全一致,則確定本次會話鑒權(quán)成功,本次會話合法,服務(wù)端正常響應(yīng)客戶端發(fā)送的請求消息,否則服務(wù)端對客戶端本次發(fā)送的請求消息不予響應(yīng)。在判斷獲取到的會話標識信息與預(yù)先生成的本次會話標識是否一致之后,無論本次會話標識與服務(wù)端預(yù)先生成的會話標識是否一致,服務(wù)端均生成下一次會話標識,下一次會話標識與本次會話標識不同,該下一次會話標識同樣存儲于服務(wù)端與客戶端會話的上下文中,用于供客戶端獲取,以便客戶端在下一次與服務(wù)端會話時使用。
基于本實施例提供的鑒權(quán)方法的使用場景,本實施例提供的方法還可以包括:
在接收客戶端發(fā)送的請求消息之前,對客戶端進行身份鑒權(quán),即,登陸鑒權(quán),在鑒權(quán)成功后,生成客戶端的會話標識;將生成的會話標識存儲于服務(wù)端與客戶端會話的上下文中。
該會話標識用于該客戶端與服務(wù)端進行會話時使用,該客戶端在需要向服務(wù)端發(fā)送請求消息時,需要從服務(wù)端與客戶端會話的上下文中獲取該標識。
第二實施例
本實施例提供了一種鑒權(quán)方法,該方法可以由客戶端來實現(xiàn),即該方法的處理流程可以由客戶端來執(zhí)行,圖4是該方法的流程圖,如圖4所示,該方法包括如下處理:
步驟401:在通過服務(wù)端執(zhí)行的身份鑒權(quán)后,獲取服務(wù)端預(yù)先生成的本次會話標識信息;
其中,本次會話標識與下一次會話標識不同。
在本實施例中,本次會話標識由服務(wù)端預(yù)先生成并存儲于服務(wù)端與客戶端會話的上下文中,故,在該步驟401中,客戶端可以從會話的上下文中獲取本次會話標識信息。
步驟402:在向服務(wù)端發(fā)送的會話請求消息中攜帶本次會話標識信息。
在本實施例中,客戶端具體可以在請求消息的請求參數(shù)中攜帶本次會話標識信息,更進一步的,可以將該標識信息攜帶在請求消息對應(yīng)的地址(例如,URL地址)中拼接本次會話標識。
需要說明的是,本實施例中所涉及到的會話標識信息與上述第一實施例中所涉及的會話標識信息相同,在上述第一實施例已經(jīng)對該會話標識信息進行了詳細說明的基礎(chǔ)上,在此不再對該會話標識信息進行贅述。
第三實施例
在上述第一實施例對服務(wù)端執(zhí)行的鑒權(quán)方法進行說明以及第二實施例對客戶端執(zhí)行的鑒權(quán)方法進行說明的基礎(chǔ)上,本實施例對服務(wù)端與客戶端的鑒權(quán)交互的整個流程進行簡要說明。
圖5是本實施例中涉及到的鑒權(quán)方法的流程圖,如圖5所示,該方法包括如下步驟:
步驟501:客戶端向服務(wù)端發(fā)送請求消息;
步驟502:服務(wù)端從請求消息中獲取唯一序列碼(即上述會話標識信息);
步驟503:服務(wù)端判斷獲取到的唯一序列碼是否為空,如果是,則執(zhí)行步驟504,如果否,則執(zhí)行步驟505;
步驟504:直接拒絕客戶端的請求;
步驟505:服務(wù)端對比獲取到的唯一請求序列和服務(wù)端保存的唯一請求序列是否一致,如果一致,則執(zhí)行步驟506,如果不一致,則執(zhí)行步驟504;
步驟506:繼續(xù)響應(yīng)客戶端的請求消息,并生成新的唯一請求序列并保存中會話上下文。
第四實施例
本實施例提供了一種鑒權(quán)裝置,該裝置可以設(shè)置于服務(wù)端,該裝置可以是在服務(wù)端維護的一個過濾器(Filter),該Filter可以放在服務(wù)端的登陸驗證的Filter之后,用于確保在用戶在通過客戶端進行身份鑒權(quán)成功以后,客戶端向服務(wù)器發(fā)起請求消息的過程中客戶端向服務(wù)端發(fā)起會話的合法性,圖6是該裝置的結(jié)構(gòu)框圖,如圖6所示,該裝置60包括如下組成部分:
接收模塊61,用于在對客戶端進行身份鑒權(quán)之后,接收客戶端發(fā)送的會話請求消息;
第一獲取模塊62,用于從會話請求消息中獲取會話標識信息;
具體的,可以從客戶端發(fā)送的請求消息的請求參數(shù)中獲取本次會話的標識信息,例如,可以是從客戶端請求的URL地址中獲取本次會話的標識信息,因為客戶端在向服務(wù)端發(fā)送請求消息時,有可能將本次會話標識拼接到了請求的URL地址中。
在本實施例中,客戶端向服務(wù)端發(fā)送請求消息時,已將會話標識信息攜帶在請求參數(shù)中,基于此,服務(wù)端可以從客戶端發(fā)送的請求中讀取到會話標識信息;其中,本實施例中所涉及到的會話標識信息具體可以是由服務(wù)端生成的一個唯一請求序列值,其可以僅是一個數(shù)字,或由數(shù)字、字母或標識符組成的序列號,可選的,在本實施例中,可以使用32位長度的序列號,由于服務(wù)端每次生成的會話標識僅用于與客戶端的一次會話使用,故服務(wù)端每次生成的會話標識不同,為了便于客戶端獲取該標識信息,服務(wù)端生成該標識信息后,將該標識信息存儲至其與客戶端的對話上下文中,該對話上下文可以存儲于緩存中,也可能存儲于網(wǎng)頁中。
判斷模塊63,用于判斷會話標識信息與預(yù)先保存的本次會話標識是否一致,如果一致,則響應(yīng)會話請求消息,否則不響應(yīng)會話請求消息,在響應(yīng)會話請求消息后,生成客戶端的下一次會話標識信息,下一次會話標識與本次會話標識不同。
進一步的,上述裝置60還可以包括:生成模塊,用于在接收客戶端發(fā)送的會話請求消息之前以及在對客戶端進行身份鑒權(quán)之后,生成客戶端的本次會話標識;存儲模塊,用于將生成的會話標識存儲于服務(wù)端與客戶端會話的上下文中。
服務(wù)端將從客戶端發(fā)送的請求消息中讀取到的本次會話標識信息與服務(wù)端預(yù)先生成的存儲于會話上下文中的本次會話標識進行對比,如果二者完全一致,則確定本次會話鑒權(quán)成功,本次會話合法,服務(wù)端正常響應(yīng)客戶端發(fā)送的請求消息,否則服務(wù)端對客戶端本次發(fā)送的請求消息不予響應(yīng)。在判斷獲取到的會話標識信息與預(yù)先生成的本次會話標識是否一致之后,無論本次會話標識與服務(wù)端預(yù)先生成的會話標識是否一致,服務(wù)端均生成下一次會話標識,下一次會話標識與本次會話標識不同,該下一次會話標識同樣存儲于服務(wù)端與客戶端會話的上下文中,用于供客戶端獲取,以便客戶端在下一次與服務(wù)端會話時使用,基于此,本實施例提供的裝置60還可以包括:生成模塊,用于在判斷獲取到的會話標識信息與預(yù)先生成的本次會話標識是否一致之后,生成下一次會話標識,下一次會話標識與本次會話標識不同;保存模塊,用于在每一次生成會話標識后,將生成的會話標識存儲在服務(wù)端與客戶端會話的上下文中。
第五實施例
本實施例提供了一種鑒權(quán)裝置,圖7是該裝置的結(jié)構(gòu)框圖,如圖7所示,該裝置包括如下組成部分:
第二獲取模塊71,用于在通過服務(wù)端執(zhí)行的身份鑒權(quán)后,獲取服務(wù)端預(yù)先生成的本次會話標識信息,本次會話標識與下一次會話標識不同;
發(fā)送模塊72,用于在向服務(wù)端發(fā)送的會話請求消息中攜帶本次會話標識信息。
其中,上述第二獲取模塊71具體可以用于:從服務(wù)端與客戶端會話的上下文中獲取本次會話的標識信息。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。