本技術涉及計算機,尤其涉及一種客戶端的驗證方法、裝置、電子設備及存儲介質。
背景技術:
1、相關技術中,往往只依賴安裝到客戶端操作系統(tǒng)時的本地驗證簽名,以及散列值和歷史散列值進行對比,實現(xiàn)對客戶端進行驗證,并沒有進行網(wǎng)絡驗證,當客戶端的應用程序被替換后,甚至可以跳過驗證,同時,當客戶端的應用程序運行以后僅進行身份驗證,導致客戶端的安全性較低,由此,如何更加準確地對客戶端進行驗證,提高客戶端的安全性,已成為了亟待解決的問題。
技術實現(xiàn)思路
1、本技術旨在至少在一定程度上解決相關技術中的技術問題之一。
2、為此,本技術第一方面提供一種客戶端的驗證方法。
3、本技術第二方面還提供一種客戶端的驗證方法。
4、本技術第三方面還提供一種客戶端的驗證裝置。
5、本技術第四方面還提供一種客戶端的驗證裝置。
6、本技術第五方面提供一種電子設備。
7、本技術第六方面提供一種計算機可讀存儲介質。
8、本技術第一方面提供一種客戶端的驗證方法,所述方法,包括:生成服務端公鑰和服務端私鑰,將所述服務端公鑰發(fā)送至客戶端,其中,所述服務端私鑰用于對所述客戶端進行簽名;接收所述客戶端發(fā)送的對所述客戶端進行驗證的加密驗證信息,所述加密驗證信息通過對進行驗證的驗證信息和所述客戶端當前對應的時間戳進行加密計算得到;獲取預先存儲的所述客戶端對應的原始驗證信息和接收所述加密驗證信息的時間戳,將所述原始驗證信息和所述時間戳作為目標驗證信息;將所述加密驗證信息與所述目標驗證信息進行對比,對所述客戶端進行驗證,以獲取所述客戶端的驗證結果,并將所述驗證結果發(fā)送至所述客戶端。
9、另外,本技術第一方面提供的一種客戶端的驗證方法,還可以具有如下附加的技術特征:
10、根據(jù)本技術的一個實施例,所述將所述加密驗證信息與所述目標驗證信息進行對比,對所述客戶端進行驗證,以獲取所述客戶端的驗證結果,還包括:若所述加密驗證信息和所述目標驗證信息一致,則所述客戶端驗證成功,向所述客戶端發(fā)送客戶端啟動指令;或者,若所述加密驗證信息和所述目標驗證信息不一致,則所述客戶端驗證失敗,向所述客戶端發(fā)送客戶端停止啟動指令,并生成所述客戶端的異常告警的提醒信息。
11、根據(jù)本技術的一個實施例,所述獲取預先存儲的所述客戶端對應的原始驗證信息,包括:獲取預先存儲的所述客戶端對應的版本號、序列號、干擾碼和散列值。
12、根據(jù)本技術的一個實施例,所述對所述客戶端進行驗證之前,包括:響應于所述客戶端的版本發(fā)生更新,對客戶端對應的原始驗證信息進行更新以及重新通過非對稱加密算法生成服務端公鑰和服務端私鑰。
13、本技術第二方面提供一種客戶端的驗證方法,所述方法,包括:接收服務端發(fā)送的服務端公鑰,其中,所述服務端公鑰用于對所述客戶端進行驗證簽名;對進行驗證的驗證信息和所述客戶端當前對應的時間戳進行加密計算,以獲取加密驗證信息,將所述加密驗證信息發(fā)送至所述服務端;接收所述服務端發(fā)送的所述客戶端的驗證結果。
14、另外,本技術第一方面提供的一種客戶端的驗證方法,還可以具有如下附加的技術特征:
15、根據(jù)本技術的一個實施例,所述對進行驗證的驗證信息進行加密計算,包括:獲取所述客戶端的驗證策略,其中,所述驗證策略由所述客戶端的安全驗證級別確定;確定與所述驗證策略對應的驗證信息,通過所述服務端公鑰和公鑰算法對所述驗證策略對應的驗證信息進行加密計算。
16、根據(jù)本技術的一個實施例,所述接收所述服務端發(fā)送的所述客戶端的驗證結果之后,還包括:若所述驗證結果指示所述客戶端驗證成功,接收所述服務端發(fā)送的客戶端啟動指令,所述客戶端與客戶端關聯(lián)的業(yè)務服務器進行交互通信;或者,若所述驗證結果指示所述客戶端驗證失敗,接收服務端發(fā)送的客戶端停止啟動指令,所述客戶端與客戶端關聯(lián)的業(yè)務服務器不進行交互通信。
17、本技術第三方面還提供一種客戶端的驗證裝置,包括:生成模塊,用于生成模塊,用于生成服務端公鑰和服務端私鑰,將所述服務端公鑰發(fā)送至客戶端,其中,所述服務端私鑰用于對所述客戶端進行簽名;接收模塊,用于接收所述客戶端發(fā)送的對所述客戶端進行驗證的加密驗證信息,所述加密驗證信息通過對進行驗證的驗證信息和所述客戶端當前對應的時間戳進行加密計算得到;獲取模塊,用于獲取預先存儲的所述客戶端對應的原始驗證信息和接收所述加密驗證信息的時間戳,將所述原始驗證信息和所述時間戳作為目標驗證信息;驗證模塊,用于將所述加密驗證信息與所述目標驗證信息進行對比,對所述客戶端進行驗證,以獲取所述客戶端的驗證結果,并將所述驗證結果發(fā)送至所述客戶端。
18、本技術第三方面提供的一種客戶端的驗證裝置還可以具有如下附加的技術特征:
19、根據(jù)本技術的一個實施例,所述驗證模塊,還用于:若所述加密驗證信息和所述目標驗證信息一致,則所述客戶端驗證成功,向所述客戶端發(fā)送客戶端啟動指令;或者,若所述加密驗證信息和所述目標驗證信息不一致,則所述客戶端驗證失敗,向所述客戶端發(fā)送客戶端停止啟動指令,并生成所述客戶端的異常告警的提醒信息。
20、根據(jù)本技術的一個實施例,所述獲取預先存儲的所述客戶端對應的原始驗證信息,包括:獲取預先存儲的所述客戶端對應的版本號、序列號、干擾碼和散列值。
21、根據(jù)本技術的一個實施例,所述對所述客戶端進行驗證之前,所述裝置,還用于:響應于所述客戶端的版本發(fā)生更新,對客戶端對應的原始驗證信息進行更新以及重新通過非對稱加密算法生成服務端公鑰和服務端私鑰。
22、本技術第四方面還提供一種客戶端的驗證裝置,包括:第一接收模塊,用于接收服務端發(fā)送的服務端公鑰,其中,所述服務端公鑰用于對所述客戶端進行驗證簽名;發(fā)送模塊,用于對進行驗證的驗證信息和所述客戶端當前對應的時間戳進行加密計算,以獲取加密驗證信息,將所述加密驗證信息發(fā)送至所述服務端;第二接收模塊,用于接收所述服務端發(fā)送的所述客戶端的驗證結果。
23、本技術第四方面提供的一種客戶端的驗證裝置還可以具有如下附加的技術特征:
24、根據(jù)本技術的一個實施例,所述對進行驗證的驗證信息進行加密計算之前,所述裝置,還用于:對所述客戶端進行本地驗證簽名,確定所述客戶端本地驗證簽名通過,對所述客戶端進行驗證的驗證信息進行計算。
25、根據(jù)本技術的一個實施例,所述發(fā)送模塊,還用于:獲取所述客戶端的驗證策略,其中,所述驗證策略由所述客戶端的安全驗證級別確定;確定與所述驗證策略對應的驗證信息,通過所述服務端公鑰和公鑰算法對所述驗證策略對應的驗證信息進行加密計算。
26、根據(jù)本技術的一個實施例,所述裝置,還用于:若所述驗證結果指示所述客戶端驗證成功,接收所述服務端發(fā)送的客戶端啟動指令,客戶端與客戶端關聯(lián)的業(yè)務服務器進行交互通信;或者,若所述驗證結果指示所述客戶端驗證失敗,接收服務端發(fā)送的客戶端停止啟動指令,所述客戶端與所述客戶端關聯(lián)的業(yè)務服務器不進行交互通信。
27、本技術第五方面提供了一種電子設備,包括:至少一個處理器;以及與所述至少一個處理器通信連接的存儲器;其中,所述存儲器存儲有可被所述至少一個處理器執(zhí)行的指令,所述指令被所述至少一個處理器執(zhí)行,以使所述至少一個處理器能夠執(zhí)行上述第一方面或第二方面提供的客戶端的驗證方法。
28、本技術第六方面提供了一種計算機可讀存儲介質,其中,所述計算機指令用于使所述計算機執(zhí)行第一方面或第二方面提供的客戶端的驗證方法。
29、本技術提供的客戶端的驗證方法及裝置,通過生成服務端公鑰和服務端私鑰,將服務端公鑰發(fā)送至客戶端,其中,服務端私鑰用于對客戶端進行簽名;接收客戶端發(fā)送的對客戶端進行驗證的加密驗證信息,獲取預先存儲的客戶端對應的原始驗證信息和接收加密驗證信息的時間戳,將原始驗證信息和時間戳作為目標驗證信息,將加密驗證信息與目標驗證信息進行對比,對客戶端進行驗證,以獲取客戶端的驗證結果,并將驗證結果發(fā)送至客戶端。由此,本技術增加了客戶端的加密驗證信息,并基于加密驗證信息和目標驗證信息對客戶端進行驗證,可以對客戶端進行完整性保護,具備防篡改、防身份頂替、防雙身份加入以及防重放攻擊功能,確保了客戶端的安全性。
30、應當理解,本技術所描述的內容并非旨在標識本技術的實施例的關鍵或重要特征,也不用于限制本技術的范圍。本技術的其它特征將通過以下的說明書而變得容易理解。