請求消息的安全校驗方法、系統(tǒng)和裝置制造方法
【專利摘要】本發(fā)明提出一種請求消息的安全校驗方法,包括以下步驟:客戶端生成請求消息,并在請求消息中添加客戶端的設(shè)備信息;客戶端根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰,并將密鑰添加至請求消息;客戶端將請求消息發(fā)送至服務(wù)器,以供服務(wù)器根據(jù)請求消息中的關(guān)鍵字段、設(shè)備信息及密鑰對客戶端進行安全校驗。本發(fā)明通過服務(wù)器和客戶端對比密鑰來判斷請求消息的合法性,可以使用HTTP完成,簡潔的同時保證了服務(wù)的安全性。本發(fā)明還公開了一種請求消息的安全校驗系統(tǒng)、一種客戶端、一種服務(wù)器和一種請求消息的安全校驗方法。
【專利說明】請求消息的安全校驗方法、系統(tǒng)和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機科學【技術(shù)領(lǐng)域】,特別涉及一種請求消息的安全校驗方法、系統(tǒng) 和裝置。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)的發(fā)展,衍生出了各式各樣的網(wǎng)絡(luò)服務(wù)和應(yīng)用,用戶在互聯(lián)網(wǎng)上可以 瀏覽新聞、交友、求職等等。互聯(lián)網(wǎng)為用戶提供了豐富的資源,隨著網(wǎng)絡(luò)互動的日益頻繁,網(wǎng) 絡(luò)安全也成為人們?nèi)找骊P(guān)注的焦點之一。
[0003] 客戶端與服務(wù)器之間的請求消息是網(wǎng)絡(luò)中常見的一種通信形式,然而普通的客 戶端請求消息無加密措施,信息暴露在網(wǎng)絡(luò)中,造成安全隱患,而現(xiàn)有網(wǎng)絡(luò)協(xié)議加密,例如 HTTPs (Hypertext Transfer Protocol Over Secure Socket Layer),是一種以安全為目標 的HTTP通道,由SSL(Secure Socket Layer,安全套接層)+HTTP協(xié)議構(gòu)建的可進行加密傳 輸、身份認證的網(wǎng)絡(luò)協(xié)議。與普通HTTP請求不同,HTTPs需要申請單獨的域名和端口號,并 且使用的SSL數(shù)據(jù)加密校驗消耗較大。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明的一個目的 在于提出一種請求消息的安全校驗方法,通過服務(wù)器和客戶端對比密鑰來判斷請求消息的 合法性,可以使用HTTP完成,簡潔的同時保證了服務(wù)的安全性。
[0005] 本發(fā)明的第二個目的在于提出一種請求消息的安全校驗系統(tǒng)。
[0006] 本發(fā)明的第三個目的在于提出一種客戶端。
[0007] 本發(fā)明的第四個目的在于提出一種服務(wù)器。
[0008] 本發(fā)明的第五個目的在于提出一種請求消息的安全校驗方法。
[0009] 為達到上述目的,本發(fā)明第一方面的實施例提出了一種請求消息的安全校驗方 法,包括以下步驟:客戶端生成請求消息,并在所述請求消息中添加所述客戶端的設(shè)備信 息;所述客戶端根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將所述密鑰 添加至所述請求消息;所述客戶端將所述請求消息發(fā)送至服務(wù)器,以供所述服務(wù)器根據(jù)所 述請求消息中的關(guān)鍵字段、設(shè)備信息及所述密鑰對所述客戶端進行安全校驗。
[0010] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法在請求消息中追加客戶端設(shè)備的 信息、關(guān)鍵字段以及客戶端生成的密鑰,同時服務(wù)器通過提取請求消息中的相關(guān)信息計算 得到密鑰,與客戶端發(fā)送的密鑰比較來判斷請求合法性。使用普通的HTTP協(xié)議也可智能的 進行判斷,尤其對于不同協(xié)議請求,該方法可以有效的判斷請求來源的合法性,保證了服務(wù) 的安全性,同時安全驗證方面消耗相對較小。
[0011] 在本發(fā)明的一個實施例中,所述客戶端根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè) 備信息生成密鑰進一步包括:所述客戶端根據(jù)排序算法對所述關(guān)鍵字段和所述設(shè)備信息進 行排序;所述客戶端根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加密 以生成所述密鑰。
[0012] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法為預(yù)設(shè)在所述客戶端 中。預(yù)設(shè)算法產(chǎn)生的密鑰安全性較低,更改算法需要同步客戶端和服務(wù)器,比較受限制。
[0013] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法由所述服務(wù)器動態(tài)地發(fā) 送至所述客戶端。此種方式中的排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可 以修改客戶端端的密鑰生成規(guī)則,安全性高,靈活性好。
[0014] 在本發(fā)明的一個實施例中,所述加密算法為不可逆加密算法。不可以加密算法安 全性高,不容易被破解。
[0015] 在本發(fā)明的一個實施例中,所述服務(wù)器根據(jù)所述請求消息中的關(guān)鍵字段、設(shè)備信 息及所述密鑰對所述客戶端進行安全校驗進一步包括:所述服務(wù)器提取所述請求消息中的 關(guān)鍵字段和設(shè)備信息;所述服務(wù)器根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰; 所述服務(wù)器判斷所述待驗證密鑰與所述請求消息中的密鑰是否一致;如果判斷一致,則所 述服務(wù)器判斷所述請求消息通過安全校驗。
[0016] 在本發(fā)明的一個實施例中,所述服務(wù)器根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成 待驗證密鑰進一步包括:所述服務(wù)器根據(jù)排序算法對提取的所述關(guān)鍵字段和所述設(shè)備信息 進行排序;所述服務(wù)器根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加 密以生成所述密鑰。
[0017] 在本發(fā)明的一個實施例中,所述客戶端和所述服務(wù)器之間所使用的排序算法和加 密算法相同。
[0018] 本發(fā)明第二方面的實施例提出了一種請求消息的安全校驗系統(tǒng),包括客戶端和服 務(wù)器。其中,客戶端用于生成請求消息,并在所述請求消息中添加所述客戶端的設(shè)備信息, 以及根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將具有所述密鑰的所述 請求消息發(fā)送至服務(wù)器;所述服務(wù)器用于根據(jù)所述請求消息中的關(guān)鍵字段、設(shè)備信息及所 述密鑰對所述客戶端進行安全校驗。
[0019] 根據(jù)本發(fā)明實施例的請求消息的安全校驗系統(tǒng)在請求消息中追加客戶端設(shè)備的 信息、關(guān)鍵字段以及客戶端生成的密鑰,同時服務(wù)器通過提取請求消息中的相關(guān)信息計算 得到密鑰,與客戶端發(fā)送的密鑰比較來判斷請求合法性。使用普通的HTTP協(xié)議也可智能的 進行判斷,尤其對于不同協(xié)議請求,該系統(tǒng)可以有效的判斷不同請求來源的合法性,保證了 服務(wù)的安全性,同時安全驗證方面消耗相對較小。
[0020] 在本發(fā)明的一個實施例中,所述客戶端根據(jù)排序算法對所述關(guān)鍵字段和所述設(shè)備 信息進行排序,并根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加密以 生成所述密鑰。
[0021] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法為預(yù)設(shè)在所述客戶端 中。預(yù)設(shè)算法產(chǎn)生的密鑰安全性較低,更改算法需要同步客戶端和服務(wù)器,比較受限制。
[0022] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法由所述服務(wù)器動態(tài)地發(fā) 送至所述客戶端。此種方式中的排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可 以修改客戶端端的密鑰生成規(guī)則,安全性高,靈活性好。
[0023] 在本發(fā)明的一個實施例中,所述加密算法為不可逆加密算法。不可以加密算法安 全性高,不容易被破解。
[0024] 在本發(fā)明的一個實施例中,所述服務(wù)器提取所述請求消息中的關(guān)鍵字段和設(shè)備信 息,并根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰,以及在所述待驗證密鑰與所 述請求消息中的密鑰一致時,判斷所述請求消息通過安全校驗。
[0025] 在本發(fā)明的一個實施例中,所述服務(wù)器根據(jù)排序算法對提取的所述關(guān)鍵字段和所 述設(shè)備信息進行排序,并根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行 加密以生成所述密鑰。
[0026] 在本發(fā)明的一個實施例中,所述客戶端和所述服務(wù)器之間所使用的排序算法和加 密算法相同。
[0027] 本發(fā)明第三方面的實施例提出了一種客戶端,包括生成模塊、添加模塊、加密模塊 和發(fā)送模塊。其中,生成模塊用于生成請求消息;添加模塊用于在所述請求消息中添加所述 客戶端的設(shè)備信息;加密模塊用于根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密 鑰,并將所述密鑰添加至所述請求消息;發(fā)送模塊用于將所述請求消息發(fā)送至服務(wù)器,以供 所述服務(wù)器根據(jù)所述請求消息中的關(guān)鍵字段、設(shè)備信息及所述密鑰對所述客戶端進行安全 校驗。
[0028] 根據(jù)本發(fā)明實施例的客戶端在請求消息中追加客戶端設(shè)備的信息、關(guān)鍵字段以及 客戶端生成的密鑰。使用普通的HTTP協(xié)議也可智能的進行判斷,尤其對于不同協(xié)議請求, 可以有效的判斷請求來源的合法性,保證了服務(wù)的安全性,同時安全驗證方面消耗相對較 小。
[0029] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法為預(yù)設(shè)在所述客戶端 中。預(yù)設(shè)算法產(chǎn)生的密鑰安全性較低,更改算法需要同步客戶端和服務(wù)器,比較受限制。
[0030] 在本發(fā)明的一個實施例中,所述排序算法和所述加密算法由所述服務(wù)器動態(tài)地發(fā) 送至所述客戶端。此種方式中的排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可 以修改客戶端端的密鑰生成規(guī)則,安全性高,靈活性好。
[0031] 在本發(fā)明的一個實施例中,所述加密算法為不可逆加密算法。不可加密算法安全 性好,不容易被破解。
[0032] 本發(fā)明第四方面的實施例提出了一種服務(wù)器,包括接收模塊、生成模塊和安全校 驗?zāi)K。其中,接收模塊用于接收客戶端發(fā)送的請求消息,其中,所述請求消息包括關(guān)鍵字 段、設(shè)備信息和密鑰;生成模塊用于根據(jù)所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰;安全 校驗?zāi)K用于根據(jù)所述待驗證密鑰和所述請求消息中的密鑰對所述請求消息進行安全校 驗。
[0033] 根據(jù)本發(fā)明實施例的服務(wù)器通過提取請求消息中的相關(guān)信息計算得到密鑰,與客 戶端發(fā)送的密鑰比較來判斷請求合法性。使用普通的HTTP協(xié)議也可智能的進行判斷,尤其 對于不同協(xié)議請求,該服務(wù)器可以有效的判斷請求來源的合法性,保證了服務(wù)的安全性,同 時安全驗證方面消耗相對較小。
[0034] 本發(fā)明第五方面的實施例提出了一種請求消息的安全校驗方法,包括以下步驟: 服務(wù)器接收客戶端發(fā)送的請求消息,其中,所述請求消息包括關(guān)鍵字段、設(shè)備信息和密鑰; 所述服務(wù)器根據(jù)所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰;所述服務(wù)器根據(jù)所述待驗證密 鑰和所述請求消息中的密鑰對所述請求消息進行安全校驗。
[0035] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法中,服務(wù)器通過提取請求消息中的 相關(guān)信息計算得到密鑰,與客戶端發(fā)送的密鑰比較來判斷請求合法性。使用普通的HTTP協(xié) 議也可智能的進行判斷,尤其對于不同協(xié)議請求,該方法可以有效的判斷不同請求來源的 合法性,保證了服務(wù)的安全性,同時安全驗證方面消耗相對較小。
[0036] 在本發(fā)明的一個實施例中,所述服務(wù)器根據(jù)所述關(guān)鍵字段和設(shè)備信息生成待驗證 密鑰進一步包括:所述服務(wù)器提取所述請求消息中的關(guān)鍵字段和設(shè)備信息;所述服務(wù)器根 據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰。
[0037] 在本發(fā)明的一個實施例中,還包括:客戶端生成請求消息,并在所述請求消息中添 加所述客戶端的設(shè)備信息;所述客戶端根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生 成密鑰,并將所述密鑰添加至所述請求消息;所述客戶端將所述請求消息發(fā)送至所述服務(wù) 器。
[0038] 本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
【專利附圖】
【附圖說明】
[0039] 本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變 得明顯和容易理解,其中 :
[0040] 圖1是根據(jù)本發(fā)明實施例的請求消息的安全校驗方法的流程圖;
[0041] 圖2是根據(jù)本發(fā)明實施例的請求消息的安全校驗系統(tǒng)的結(jié)構(gòu)示意圖;
[0042] 圖3是根據(jù)本發(fā)明實施例的客戶端的結(jié)構(gòu)示意圖;
[0043] 圖4是根據(jù)本發(fā)明實施例的服務(wù)器的結(jié)構(gòu)示意圖;和
[0044] 圖5是根據(jù)本發(fā)明實施例的請求消息的安全校驗方法的流程圖。
【具體實施方式】
[0045] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0046] 下面參考圖1描述根據(jù)本發(fā)明實施例的請求消息的安全校驗方法,包括以下步 驟:
[0047] 步驟S110 :客戶端生成請求消息,并在請求消息中添加客戶端的設(shè)備信息。
[0048] 步驟S120 :客戶端根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰,并將密鑰添 加至請求消息。
[0049] 其中,客戶端根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰進一步包括:
[0050] 步驟S121 :客戶端根據(jù)排序算法對關(guān)鍵字段和設(shè)備信息進行排序。
[0051] 步驟S122 :客戶端根據(jù)加密算法對排序后的關(guān)鍵字段和設(shè)備信息進行加密以生 成密鑰。
[0052] 步驟S130 :客戶端將請求消息發(fā)送至服務(wù)器,以供服務(wù)器根據(jù)請求消息中的關(guān)鍵 字段、設(shè)備信息及密鑰對客戶端進行安全校驗。
[0053] 其中,服務(wù)器根據(jù)請求消息中的關(guān)鍵字段、設(shè)備信息及密鑰對客戶端進行安全校 驗進一步包括:
[0054] 步驟S131 :服務(wù)器提取請求消息中的關(guān)鍵字段和設(shè)備信息。
[0055] 步驟S132 :服務(wù)器根據(jù)提取的關(guān)鍵字段和設(shè)備信息生成待驗證密鑰。
[0056] 進一步地,服務(wù)器根據(jù)提取的關(guān)鍵字段和設(shè)備信息生成待驗證密鑰進一步包括:
[0057] 步驟S132_l :服務(wù)器根據(jù)排序算法對提取的關(guān)鍵字段和設(shè)備信息進行排序。
[0058] 步驟S132_2 :服務(wù)器根據(jù)加密算法對排序后的關(guān)鍵字段和設(shè)備信息進行加密以 生成密鑰。
[0059] 步驟S133 :服務(wù)器判斷待驗證密鑰與請求消息中的密鑰是否一致。
[0060] 步驟S134 :如果判斷一致,則服務(wù)器判斷請求消息通過安全校驗。
[0061] 客戶端和服務(wù)器之間所使用的排序算法和加密算法相同。
[0062] 在本發(fā)明的一個實施例中,排序算法和加密算法為預(yù)設(shè)在客戶端中。
[0063] 在本發(fā)明的另一個實施例中,排序算法和加密算法由服務(wù)器動態(tài)地發(fā)送至客戶 端。
[0064] 其中,加密算法為不可逆加密算法。
[0065] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法可以智能判斷網(wǎng)絡(luò)協(xié)議請求合法 性,下面以一個具體的實施例對本方法進行解釋說明,可以理解的是,下面的說明僅出于示 例目的,本發(fā)明實施例不限于此。
[0066] 客戶端與服務(wù)器通過HTTP協(xié)議進行通信??蛻舳讼蚍?wù)器發(fā)起通信,首先生成請 求消息,并提取客戶端設(shè)備信息,追加到請求消息的HTTP協(xié)議參數(shù)中。客戶端根據(jù)請求消 息中的關(guān)鍵字段和設(shè)備信息,按照排序算法對客戶端的設(shè)備信息和關(guān)鍵字段進行一定的排 列組合及排序,并對排列排序好的數(shù)據(jù)進行不可逆的算法加密,生成密鑰??蛻舳嗽贖TTP 協(xié)議中追加該密鑰,發(fā)送請求消息至服務(wù)器。
[0067] 服務(wù)器接收客戶端的以HTTP協(xié)議形式發(fā)送的請求消息,并提取請求消息中的客 戶端設(shè)備信息和關(guān)鍵字段。服務(wù)器根據(jù)與客戶端相同的排序算法對客戶端的設(shè)備信息和關(guān) 鍵字段進行一定的排列組合及排序,并對排列排序好的數(shù)據(jù)進行不可逆的算法加密,生成 密鑰。服務(wù)器提取客戶端發(fā)送的密鑰,并與生成的密鑰對比是否一致,如果判斷一致,則月艮 務(wù)器判斷請求消息通過安全校驗。
[0068] 有如下兩種方式保證客戶端和服務(wù)器之間所使用的排序算法和加密算法必須相 同:
[0069](一)、固定密鑰方式:客戶端和服務(wù)器預(yù)設(shè)相同的排序和加密算法,采用此種方 式生成的密鑰安全性較低,更改算法需要同步兩端,比較受限制。
[0070] (二)、動態(tài)密鑰方式:由服務(wù)器下發(fā)客戶端的排序和加密算法。采用此種方式的 排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可以修改客戶端端的密鑰生成規(guī)則, 安全性高,靈活性好。
[0071] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法在請求消息中追加客戶端設(shè)備的 信息,并與關(guān)鍵字段進行數(shù)據(jù)加密得到密鑰,加入請求參數(shù)中。服務(wù)器通過提取信息計算得 到密鑰,與發(fā)送的密鑰比較來判斷請求合法性。尤其對于不同協(xié)議請求,該方法可以智能、 有效的判斷請求來源的合法性,保證了服務(wù)的安全性。
[0072] 下面參考圖2描述根據(jù)本發(fā)明實施例的請求消息的安全校驗系統(tǒng)100,包括客戶 端110和服務(wù)器120。其中,客戶端用于生成請求消息,并在請求消息中添加客戶端的設(shè)備 信息,以及根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰,并將具有密鑰的請求消息發(fā) 送至服務(wù)器;服務(wù)器用于根據(jù)請求消息中的關(guān)鍵字段、設(shè)備信息及密鑰對客戶端進行安全 校驗。
[0073] 在本發(fā)明的一個實施例中,客戶端110根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生 成密鑰進一步包括:客戶端110根據(jù)排序算法對關(guān)鍵字段和設(shè)備信息進行排序,并根據(jù)加 密算法對排序后的關(guān)鍵字段和設(shè)備信息進行加密以生成密鑰。
[0074] 在本發(fā)明的一個實施例中,服務(wù)器120進行密鑰校驗進一步包括:服務(wù)器120提取 請求消息中的關(guān)鍵字段和設(shè)備信息,并根據(jù)提取的關(guān)鍵字段和設(shè)備信息生成待驗證密鑰, 以及在待驗證密鑰與請求消息中的密鑰一致時,判斷請求消息通過安全校驗。其中服務(wù)器 120根據(jù)排序算法對提取的關(guān)鍵字段和設(shè)備信息進行排序,并根據(jù)加密算法對排序后的關(guān) 鍵字段和設(shè)備信息進行加密以生成密鑰。
[0075] 客戶端110和服務(wù)器120之間所使用的排序算法和加密算法相同。其中,加密算 法為不可逆加密算法??梢圆捎孟铝袃煞N方式保證算法的相同:
[0076] ( -)、排序算法和加密算法為預(yù)設(shè)在客戶端110中。
[0077] (二)、排序算法和加密算法由服務(wù)器120動態(tài)地發(fā)送至客戶端110。
[0078] 根據(jù)本發(fā)明實施例的請求消息的安全校驗系統(tǒng)可以智能判斷網(wǎng)絡(luò)協(xié)議請求合法 性,下面以一個具體的實施例對本系統(tǒng)進行解釋說明,可以理解的是,下面的說明僅出于示 例目的,本發(fā)明實施例不限于此。
[0079] 例如,客戶端110與服務(wù)器120通過HTTP協(xié)議進行通信??蛻舳?10向服務(wù)器 120發(fā)起通信,首先生成請求消息,并提取客戶端110設(shè)備信息,追加到請求消息的HTTP協(xié) 議參數(shù)中??蛻舳?10根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息,按照排序算法對客戶端110 的設(shè)備信息和關(guān)鍵字段進行一定的排列組合及排序,并對排列排序好的數(shù)據(jù)進行不可逆的 算法加密,生成密鑰??蛻舳?10在HTTP協(xié)議中追加該密鑰,發(fā)送請求消息至服務(wù)器120。
[0080] 服務(wù)器120接收客戶端110的以HTTP協(xié)議形式發(fā)送的請求消息,并提取請求消息 中的客戶端110設(shè)備信息和關(guān)鍵字段。服務(wù)器120根據(jù)與客戶端110相同的排序算法對客 戶端110的設(shè)備信息和關(guān)鍵字段進行一定的排列組合及排序,并對排列排序好的數(shù)據(jù)進行 不可逆的算法加密,生成密鑰。服務(wù)器120提取客戶端110發(fā)送的密鑰,并與生成的密鑰對 比是否一致,如果判斷一致,則服務(wù)器120判斷請求消息通過安全校驗。
[0081] 有如下兩種方式保證客戶端110和服務(wù)器120之間所使用的排序算法和加密算法 必須相同:
[0082] (一)、固定密鑰方式:客戶端110和服務(wù)器120預(yù)設(shè)相同的排序和加密算法,采用 此種方式生成的密鑰安全性較低,更改算法需要同步兩端,比較受限制。
[0083] (二)、動態(tài)密鑰方式:由服務(wù)器120下發(fā)客戶端110的排序和加密算法。采用此 種方式的排序和加密算法受服務(wù)器120控制,可以動態(tài)變化。服務(wù)器120可以修改客戶端 110端的密鑰生成規(guī)則,安全性高,靈活性好。
[0084] 根據(jù)本發(fā)明實施例的請求消息的安全校驗系統(tǒng)在請求消息中追加客戶端設(shè)備的 信息,并與關(guān)鍵字段進行數(shù)據(jù)加密得到密鑰,加入請求參數(shù)中。服務(wù)器通過提取信息計算得 到密鑰,與發(fā)送的密鑰比較來判斷請求合法性。尤其對于不同協(xié)議請求,該方法可以智能、 有效的判斷請求來源的合法性,保證了服務(wù)的安全性。
[0085] 下面參考圖3描述根據(jù)本發(fā)明實施例的客戶端200,包括生成模塊210、添加模塊 220、加密模塊230和發(fā)送模塊240。
[0086] 其中,生成模塊210用于生成請求消息;添加模塊220用于在請求消息中添加客戶 端的設(shè)備信息;加密模塊230用于根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰,并將 密鑰添加至請求消息;發(fā)送模塊240用于將請求消息發(fā)送至服務(wù)器,以供服務(wù)器根據(jù)請求 消息中的關(guān)鍵字段、設(shè)備信息及密鑰對客戶端進行安全校驗。
[0087] 加密模塊230進一步包括排序子模塊231和加密子模塊232。其中,排序子模塊 231用于根據(jù)排序算法對關(guān)鍵字段和設(shè)備信息進行排序;加密子模塊232用于根據(jù)加密算 法對排序后的關(guān)鍵字段和設(shè)備信息進行加密以生成密鑰。
[0088] 加密算法為不可逆加密算法??梢圆捎孟铝袃煞N方式設(shè)置排序和加密算法:
[0089](一)、排序算法和加密算法為預(yù)設(shè)在客戶端中。
[0090](二)、排序算法和加密算法由服務(wù)器動態(tài)地發(fā)送至客戶端。
[0091] 下面以一個具體的實施例對根據(jù)本發(fā)明實施例的客戶端進行解釋說明,可以理解 的是,下面的說明僅出于示例目的,本發(fā)明實施例不限于此。
[0092] 例如,客戶端與服務(wù)器通過HTTP協(xié)議進行通信。生成模塊210生成請求消息,添 加模塊220提取客戶端設(shè)備信息并追加到請求消息的HTTP協(xié)議參數(shù)中。排序子模塊231 根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息,按照排序算法對客戶端的設(shè)備信息和關(guān)鍵字段進 行一定的排列組合及排序,加密子模塊232對排列排序好的數(shù)據(jù)進行不可逆的算法加密, 生成密鑰。加密子模塊232在HTTP協(xié)議中追加該密鑰,發(fā)送模塊240發(fā)送請求消息至服務(wù) 器。
[0093] 客戶端所使用的排序算法和加密算法有如下兩種設(shè)置方式:
[0094](一)、固定密鑰方式:客戶端中預(yù)設(shè)相同的排序和加密算法,采用此種方式生成 的密鑰安全性較低,更改算法需要同步兩端,比較受限制。
[0095](二)、動態(tài)密鑰方式:由服務(wù)器下發(fā)客戶端的排序和加密算法。采用此種方式的 排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可以修改客戶端端的密鑰生成規(guī)則, 安全性高,靈活性好。
[0096] 根據(jù)本發(fā)明實施例的客戶端在請求消息中追加客戶端設(shè)備的信息,并與關(guān)鍵字段 進行數(shù)據(jù)加密得到密鑰,加入請求參數(shù)中。對于不同協(xié)議請求,與該客戶端對應(yīng)的服務(wù)器可 以智能、有效的判斷請求來源的合法性,保證了服務(wù)的安全性。
[0097] 下面參考圖4描述根據(jù)本發(fā)明實施例的一種服務(wù)器300,包括接收模塊310、生成 模塊320和安全校驗?zāi)K330。
[0098] 其中,接收模塊310用于接收客戶端發(fā)送的請求消息,其中,請求消息包括關(guān)鍵字 段、設(shè)備信息和密鑰;生成模塊320用于根據(jù)關(guān)鍵字段和設(shè)備信息生成待驗證密鑰;安全校 驗?zāi)K330用于根據(jù)待驗證密鑰和請求消息中的密鑰對請求消息進行安全校驗。
[0099] 生成模塊320進一步包括排序子模塊321和加密子模塊322。排序子模塊321用 于根據(jù)排序算法對提取的關(guān)鍵字段和設(shè)備信息進行排序;加密子模塊322用于根據(jù)加密算 法對排序后的關(guān)鍵字段和設(shè)備信息進行加密以生成密鑰。
[0100] 下面以一個具體的實施例的對根據(jù)本發(fā)明實施例的服務(wù)器進行解釋說明,可以理 解的是,下面的說明僅出于示例目的,本發(fā)明實施例不限于此。
[0101] 例如,客戶端與服務(wù)器通過HTTP協(xié)議進行通信。服務(wù)器接收模塊310接收客戶端 的以HTTP協(xié)議形式發(fā)送的請求消息,并提取請求消息中的客戶端設(shè)備信息和關(guān)鍵字段。排 序子模塊321根據(jù)與客戶端相同的排序算法對客戶端的設(shè)備信息和關(guān)鍵字段進行一定的 排列組合及排序,加密子模塊322對排列排序好的數(shù)據(jù)進行不可逆的算法加密,生成密鑰。 安全校驗?zāi)K330根據(jù)客戶端發(fā)送的密鑰,與生成的密鑰對比是否一致,如果判斷一致,則 服務(wù)器判斷請求消息通過安全校驗。
[0102] 客戶端和服務(wù)器之間所使用的排序算法和加密算法必須相同,服務(wù)器有如下兩種 方式生成密鑰:
[0103] (一)、固定密鑰方式:服務(wù)器預(yù)設(shè)排序和加密算法,采用此種方式生成的密鑰安 全性較低,更改算法需要同步兩端,比較受限制。
[0104] (二)、動態(tài)密鑰方式:由服務(wù)器下發(fā)客戶端的排序和加密算法。采用此種方式的 排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可以修改客戶端端的密鑰生成規(guī)則, 安全性高,靈活性好。
[0105] 根據(jù)本發(fā)明實施例的服務(wù)器通過提取信息計算得到密鑰,與發(fā)送的密鑰比較來判 斷請求合法性。尤其對于不同協(xié)議請求,該服務(wù)器可以智能、有效的判斷請求來源的合法 性,保證了服務(wù)的安全性。
[0106] 下面參考圖5描述根據(jù)本發(fā)明實施例的請求消息的安全校驗方法,包括以下步 驟:
[0107] 步驟S210 :服務(wù)器接收客戶端發(fā)送的請求消息,其中,請求消息包括關(guān)鍵字段、設(shè) 備信息和密鑰。
[0108] 步驟S220 :服務(wù)器根據(jù)關(guān)鍵字段和設(shè)備信息生成待驗證密鑰。
[0109] 具體地,服務(wù)器根據(jù)關(guān)鍵字段和設(shè)備信息生成待驗證密鑰進一步包括:
[0110] 步驟S221 :服務(wù)器提取請求消息中的關(guān)鍵字段和設(shè)備信息。
[0111] 步驟S222 :服務(wù)器根據(jù)提取的關(guān)鍵字段和設(shè)備信息生成待驗證密鑰。
[0112] 步驟S230 :服務(wù)器根據(jù)待驗證密鑰和請求消息中的密鑰對請求消息進行安全校 驗。
[0113] 在本發(fā)明的一個實施例中,還包括:
[0114] (一)、客戶端生成請求消息,并在請求消息中添加客戶端的設(shè)備信息。
[0115] (二)、客戶端根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰,并將密鑰添加至 請求消息。
[0116] 進一步地,客戶端根據(jù)請求消息中的關(guān)鍵字段和設(shè)備信息生成密鑰進一步包括:
[0117] 客戶端根據(jù)排序算法對關(guān)鍵字段和設(shè)備信息進行排序;客戶端根據(jù)加密算法對排 序后的關(guān)鍵字段和設(shè)備信息進行加密以生成密鑰。
[0118] (三)、客戶端將請求消息發(fā)送至服務(wù)器。
[0119] 其中,加密算法為不可逆加密算法。
[0120] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法可以智能判斷網(wǎng)絡(luò)協(xié)議請求合法 性,下面以一個具體的實施例對本方法進行解釋說明,可以理解的是,下面的說明僅出于示 例目的,本發(fā)明實施例不限于此。
[0121] 客戶端與服務(wù)器通過HTTP協(xié)議進行通信??蛻舳讼蚍?wù)器發(fā)起通信,首先生成請 求消息,并提取客戶端設(shè)備信息,追加到請求消息的HTTP協(xié)議參數(shù)中??蛻舳烁鶕?jù)請求消 息中的關(guān)鍵字段和設(shè)備信息,按照排序算法對客戶端的設(shè)備信息和關(guān)鍵字段進行一定的排 列組合及排序,并對排列排序好的數(shù)據(jù)進行不可逆的算法加密,生成密鑰??蛻舳嗽贖TTP 協(xié)議中追加該密鑰,發(fā)送請求消息至服務(wù)器。
[0122] 服務(wù)器接收客戶端的以HTTP協(xié)議形式發(fā)送的請求消息,并提取請求消息中的客 戶端設(shè)備信息和關(guān)鍵字段。服務(wù)器根據(jù)與客戶端相同的排序算法對客戶端的設(shè)備信息和關(guān) 鍵字段進行一定的排列組合及排序,并對排列排序好的數(shù)據(jù)進行不可逆的算法加密,生成 密鑰。服務(wù)器提取客戶端發(fā)送的密鑰,并與生成的密鑰對比是否一致,如果判斷一致,則月艮 務(wù)器判斷請求消息通過安全校驗。
[0123] 有如下兩種方式保證客戶端和服務(wù)器之間所使用的排序算法和加密算法必須相 同:
[0124] (一)、固定密鑰方式:客戶端和服務(wù)器預(yù)設(shè)相同的排序和加密算法,采用此種方 式生成的密鑰安全性較低,更改算法需要同步兩端,比較受限制。
[0125] (二)、動態(tài)密鑰方式:由服務(wù)器下發(fā)客戶端的排序和加密算法。采用此種方式的 排序和加密算法受服務(wù)器控制,可以動態(tài)變化。服務(wù)器可以修改客戶端端的密鑰生成規(guī)則, 安全性高,靈活性好。
[0126] 根據(jù)本發(fā)明實施例的請求消息的安全校驗方法在請求消息中追加客戶端設(shè)備的 信息,并與關(guān)鍵字段進行數(shù)據(jù)加密得到密鑰,加入請求參數(shù)中。服務(wù)器通過提取信息計算得 到密鑰,與發(fā)送的密鑰比較來判斷請求合法性。尤其對于不同協(xié)議請求,該方法可以智能、 有效的判斷請求來源的合法性,保證了服務(wù)的安全性。
[0127] 在本說明書的描述中,參考術(shù)語"一個實施例"、"一些實施例"、"示例"、"具體示 例"、或"一些示例"等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特 點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不 一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何 的一個或多個實施例或示例中以合適的方式結(jié)合。
[0128] 盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以 理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換 和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1. 一種請求消息的安全校驗方法,其特征在于,包括以下步驟: 客戶端生成請求消息,并在所述請求消息中添加所述客戶端的設(shè)備信息; 所述客戶端根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將所述密鑰 添加至所述請求消息;以及 所述客戶端將所述請求消息發(fā)送至服務(wù)器,以供所述服務(wù)器根據(jù)所述請求消息中的關(guān) 鍵字段、設(shè)備信息及所述密鑰對所述客戶端進行安全校驗。
2. 如權(quán)利要求1所述的請求消息的安全校驗方法,其特征在于,所述客戶端根據(jù)所述 請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰進一步包括: 所述客戶端根據(jù)排序算法對所述關(guān)鍵字段和所述設(shè)備信息進行排序;以及 所述客戶端根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加密以 生成所述密鑰。
3. 如權(quán)利要求2所述的請求消息的安全校驗方法,其特征在于,所述排序算法和所述 加密算法為預(yù)設(shè)在所述客戶端中。
4. 如權(quán)利要求2所述的請求消息的安全校驗方法,其特征在于,所述排序算法和所述 加密算法由所述服務(wù)器動態(tài)地發(fā)送至所述客戶端。
5. 如權(quán)利要求3或4所述的請求消息的安全校驗方法,其特征在于,所述加密算法為不 可逆加密算法。
6. 如權(quán)利要求1-5任一項所述的請求消息的安全校驗方法,其特征在于,所述服務(wù)器 根據(jù)所述請求消息中的關(guān)鍵字段、設(shè)備信息及所述密鑰對所述客戶端進行安全校驗進一步 包括: 所述服務(wù)器提取所述請求消息中的關(guān)鍵字段和設(shè)備信息; 所述服務(wù)器根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰; 所述服務(wù)器判斷所述待驗證密鑰與所述請求消息中的密鑰是否一致;以及 如果判斷一致,則所述服務(wù)器判斷所述請求消息通過安全校驗。
7. 如權(quán)利要求6所述的請求消息的安全校驗方法,其特征在于,所述服務(wù)器根據(jù)提取 的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰進一步包括: 所述服務(wù)器根據(jù)排序算法對提取的所述關(guān)鍵字段和所述設(shè)備信息進行排序;以及 所述服務(wù)器根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加密以 生成所述密鑰。
8. 如權(quán)利要求7所述的請求消息的安全校驗方法,其特征在于,所述客戶端和所述服 務(wù)器之間所使用的排序算法和加密算法相同。
9. 一種請求消息的安全校驗系統(tǒng),其特征在于,包括客戶端和服務(wù)器,其中, 客戶端,用于生成請求消息,并在所述請求消息中添加所述客戶端的設(shè)備信息,以及根 據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將具有所述密鑰的所述請求消 息發(fā)送至服務(wù)器; 所述服務(wù)器,用于根據(jù)所述請求消息中的關(guān)鍵字段、設(shè)備信息及所述密鑰對所述客戶 端進行安全校驗。
10. 如權(quán)利要求9所述的請求消息的安全校驗系統(tǒng),其特征在于,所述客戶端根據(jù)排序 算法對所述關(guān)鍵字段和所述設(shè)備信息進行排序,并根據(jù)加密算法對所述排序后的所述關(guān)鍵 字段和所述設(shè)備信息進行加密以生成所述密鑰。
11. 如權(quán)利要求10所述的請求消息的安全校驗系統(tǒng),其特征在于,所述排序算法和所 述加密算法為預(yù)設(shè)在所述客戶端中。
12. 如權(quán)利要求10所述的請求消息的安全校驗系統(tǒng),其特征在于,所述排序算法和所 述加密算法由所述服務(wù)器動態(tài)地發(fā)送至所述客戶端。
13. 如權(quán)利要求11或12所述的請求消息的安全校驗系統(tǒng),其特征在于,所述加密算法 為不可逆加密算法。
14. 如權(quán)利要求9-13任一項所述的請求消息的安全校驗系統(tǒng),其特征在于,所述服務(wù) 器提取所述請求消息中的關(guān)鍵字段和設(shè)備信息,并根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生 成待驗證密鑰,以及在所述待驗證密鑰與所述請求消息中的密鑰一致時,判斷所述請求消 息通過安全校驗。
15. 如權(quán)利要求14所述的請求消息的安全校驗系統(tǒng),其特征在于,所述服務(wù)器根據(jù)排 序算法對提取的所述關(guān)鍵字段和所述設(shè)備信息進行排序,并根據(jù)加密算法對所述排序后的 所述關(guān)鍵字段和所述設(shè)備信息進行加密以生成所述密鑰。
16. 如權(quán)利要求15所述的請求消息的安全校驗系統(tǒng),其特征在于,所述客戶端和所述 服務(wù)器之間所使用的排序算法和加密算法相同。
17. -種客戶端,其特征在于,包括: 生成模塊,用于生成請求消息; 添加模塊,用于在所述請求消息中添加所述客戶端的設(shè)備信息; 加密模塊,用于根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將所述 密鑰添加至所述請求消息; 發(fā)送模塊,用于將所述請求消息發(fā)送至服務(wù)器,以供所述服務(wù)器根據(jù)所述請求消息中 的關(guān)鍵字段、設(shè)備信息及所述密鑰對所述客戶端進行安全校驗。
18. 如權(quán)利要求17所述的客戶端,其特征在于,所述加密模塊進一步包括: 排序子模塊,用于根據(jù)排序算法對所述關(guān)鍵字段和所述設(shè)備信息進行排序;以及 加密子模塊,用于根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加 密以生成所述密鑰。
19. 如權(quán)利要求18所述的客戶端,其特征在于,所述排序算法和所述加密算法為預(yù)設(shè) 在所述客戶端中。
20. 如權(quán)利要求18所述的客戶端,其特征在于,所述排序算法和所述加密算法由所述 服務(wù)器動態(tài)地發(fā)送至所述客戶端。
21. 如權(quán)利要求19所述的客戶端,其特征在于,所述加密算法為不可逆加密算法。
22. -種服務(wù)器,其特征在于,包括: 接收模塊,用于接收客戶端發(fā)送的請求消息,其中,所述請求消息包括關(guān)鍵字段、設(shè)備 信息和密鑰; 生成模塊,用于根據(jù)所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰;以及 安全校驗?zāi)K,用于根據(jù)所述待驗證密鑰和所述請求消息中的密鑰對所述請求消息進 行安全校驗。
23. 如權(quán)利要求22所述的服務(wù)器,其特征在于,所述生成模塊進一步包括: 排序子模塊,用于根據(jù)排序算法對提取的所述關(guān)鍵字段和所述設(shè)備信息進行排序;以 及 加密子模塊,用于根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加 密以生成所述密鑰。
24. -種請求消息的安全校驗方法,其特征在于,包括以下步驟: 服務(wù)器接收客戶端發(fā)送的請求消息,其中,所述請求消息包括關(guān)鍵字段、設(shè)備信息和密 鑰; 所述服務(wù)器根據(jù)所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰;以及 所述服務(wù)器根據(jù)所述待驗證密鑰和所述請求消息中的密鑰對所述請求消息進行安全 校驗。
25. 如權(quán)利要求24所述的請求消息的安全校驗方法,其特征在于,所述服務(wù)器根據(jù)所 述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰進一步包括: 所述服務(wù)器提取所述請求消息中的關(guān)鍵字段和設(shè)備信息; 所述服務(wù)器根據(jù)提取的所述關(guān)鍵字段和設(shè)備信息生成待驗證密鑰。
26. 如權(quán)利要求24所述的請求消息的安全校驗方法,其特征在于,還包括: 客戶端生成請求消息,并在所述請求消息中添加所述客戶端的設(shè)備信息; 所述客戶端根據(jù)所述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰,并將所述密鑰 添加至所述請求消息; 所述客戶端將所述請求消息發(fā)送至所述服務(wù)器。
27. 如權(quán)利要求26所述的請求消息的安全校驗方法,其特征在于,所述客戶端根據(jù)所 述請求消息中的關(guān)鍵字段和所述設(shè)備信息生成密鑰進一步包括: 所述客戶端根據(jù)排序算法對所述關(guān)鍵字段和所述設(shè)備信息進行排序;以及 所述客戶端根據(jù)加密算法對所述排序后的所述關(guān)鍵字段和所述設(shè)備信息進行加密以 生成所述密鑰。
28. 如權(quán)利要求25或27所述的請求消息的安全校驗方法,其特征在于,所述加密算法 為不可逆加密算法。
【文檔編號】H04L29/08GK104065624SQ201310092783
【公開日】2014年9月24日 申請日期:2013年3月21日 優(yōu)先權(quán)日:2013年3月21日
【發(fā)明者】趙建濤, 杜洪先 申請人:北京百度網(wǎng)訊科技有限公司