[發明專利]一種數據完整性校驗方法、裝置及客戶端有效
| 申請號: | 201810028032.0 | 申請日: | 2018-01-11 |
| 公開(公告)號: | CN108256353B | 公開(公告)日: | 2021-01-01 |
| 發明(設計)人: | 周志剛;陳少杰;張文明 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;H04L29/06 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 完整性 校驗 方法 裝置 客戶端 | ||
本發明實施例公開了一種數據完整性校驗方法、裝置及客戶端。本發明實施例方法包括:在需要進行數據完整性校驗時,接收服務器下發的第一區塊;根據該名稱列表信息對需要校驗的組件進行校驗,得到校驗結果,并根據第一區塊生成第二區塊,第二區塊更新到客戶端本地保存的校驗結果區塊鏈中;將第二區塊發送到服務器,以使得服務器將第二區塊同步到安裝有目標應用程序的所有客戶端的校驗結果區塊鏈中;接收服務器下發的多個第三區塊,并將多個第三區塊更新到該校驗結果區塊鏈中;根據該校驗結果區塊鏈,確定目標應用程序的完整性。本發明實施例中可以通過整個區塊鏈中統計校驗結果,確定目標應用程序的完整性,安全性高,校驗效率高且節約服務器資源。
技術領域
本發明涉及計算機技術領域,特別涉及一種數據完整性校驗方法、裝置及客戶端。
背景技術
目前,對于客戶端軟件來說,是發布到用戶電腦上,進行安裝使用。那么用戶具有客戶端軟件的所有組件及資源文件,當客戶端軟件運行時則會將需要的可執行文件及組件加載到內存中以執行,那么在內存中執行的是該可以執行文件及組件的代碼。
然而黑客可以通過一些手段來修改客戶端執行的內存代碼,從而完成一些非法的功能。例如客戶端軟件中有一些限制功能,那么客戶端會有一些代碼來判斷當期的功能是否可以使用,然而黑客可以將客戶端的判斷代碼進行修改,從而客戶端可以使用限制的功能。尤其對于游戲客戶端來說,黑客可以修改游戲的金幣數量,來實現無限金幣的“外掛”功能,可以修改客戶端軟件的物理碰撞檢測內存代碼來實現“無敵”等功能。
因此,對于客戶端執行時,其內存中運行的代碼是否被修改則是相當重要,尤其對于網絡游戲來說,如何客戶端軟件開發保證開發內存代碼的完整性非常重要。
發明內容
本發明實施例提供了一種數據完整性校驗方法、裝置及客戶端,以解決目前客戶端軟件易被篡改,安全性低,過于依賴服務器的問題。
第一方面,本申請提供了一種數據完整性校驗方法,該方法包括:
在需要進行數據完整性校驗時,客戶端接收服務器下發的第一區塊,所述第一區塊中包含客戶端需要校驗的組件的名稱列表信息,所述客戶端為所述安裝有目標應用程序的客戶端,所述目標應用程序的安裝組件中包括所述需要校驗的組件;
所述客戶端根據所述名稱列表信息對需要校驗的組件進行校驗,得到校驗結果,并根據所述第一區塊生成第二區塊,將所述第二區塊更新到所述客戶端本地保存的校驗結果區塊鏈中,所述第二區塊中包括所述校驗結果和所述客戶端的標識信息;
所述客戶端將所述第二區塊發送到所述服務器,以使得所述服務器將所述第二區塊同步到安裝有所述目標應用程序的所有客戶端的校驗結果區塊鏈中;
所述客戶端接收所述服務器下發的多個第三區塊,并將所述多個第三區塊更新到所述客戶端本地保存的校驗結果區塊鏈中,所述多個第三區塊為安裝所述目標應用程序的所有客戶端分別根據所述第一區塊生成的;
所述客戶端根據所述本地保存的校驗結果區塊鏈,確定所述目標應用程序的完整性。
進一步的,所述客戶端根據所述名稱列表信息對需要校驗的組件進行校驗,得到校驗結果,包括:
對于每個需要校驗的目標組件:
拷貝所述目標組件整個文件到所述客戶端另一處內存,
計算內存修復重定位的偏移差,
對所述目標組件進行重定位,
獲取所述目標組件的代碼段的大小,
計算所述目標組件的代碼段的哈希值;
在計算每個需要校驗的組件的代碼段的哈希值后,根據每個需要校驗的組件的代碼段的哈希值,得到每個組件校驗結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810028032.0/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





