數(shù)據(jù)安全校驗方法、裝置及校驗設備的制造方法
【技術領域】
[0001] 本申請涉及信息安全技術領域,尤其涉及一種數(shù)據(jù)安全校驗方法、裝置及校驗設 備。
【背景技術】
[0002] 在數(shù)據(jù)傳輸過程中,可能被病毒惡意篡改,因此為了保證數(shù)據(jù)傳輸?shù)陌踩?,需?對數(shù)據(jù)進行完整性校驗?,F(xiàn)有技術中,通常采用哈希(Hash)算法對數(shù)據(jù)的完整性進行校 驗,數(shù)據(jù)可以包括用戶口令、數(shù)字證書、文本信息、多媒體文件等。哈希算法可以將任意長度 的二進制值映射為較短的固定長度的二進制值,這個較短的二進制值稱為哈希值,哈希值 具有唯一性,無論對數(shù)據(jù)作何更改,更改前后數(shù)據(jù)的哈希值均不相同,因此通過哈希值可以 檢驗數(shù)據(jù)的完整性。
[0003] 在一種典型應用場景中,終端和服務器之間傳輸用戶口令,初始用戶注冊時服務 器保存用戶口令的哈希值,后續(xù)用戶登錄時,如果驗證輸入用戶口令的哈希值與注冊時保 存的哈希值一致,則用戶通過驗證。但是,現(xiàn)有技術通常采用單一哈希算法對用戶口令的 完整性進行校驗,惡意第三方在獲得服務器保存的用戶口令的哈希值后,可以通過碰撞 (Collision)方式獲得與用戶口令不同的數(shù)據(jù),而該數(shù)據(jù)與用戶口令具有相同的哈希值,因 此服務器在接收到該數(shù)據(jù)后,也會驗證通過,從而導致數(shù)據(jù)安全性校驗結果不準確。
【發(fā)明內(nèi)容】
[0004] 本申請?zhí)峁?shù)據(jù)安全校驗方法、裝置、及校驗設備,以解決現(xiàn)有采用單一哈希算法 導致數(shù)據(jù)安全性校驗結果不準確的問題。
[0005] 第一方面,提供一種數(shù)據(jù)安全校驗方法,所述方法應用在校驗設備內(nèi),所述方法包 括:
[0006] 獲得待校驗數(shù)據(jù)的N個實時校驗值,所述N個實時校驗值為通過N個校驗算法分 別對所述待校驗數(shù)據(jù)進行校驗運算獲得的校驗值,所述N為大于1的自然數(shù);
[0007] 獲得與所述待校驗數(shù)據(jù)對應的原始數(shù)據(jù)的N個原始校驗值,所述N個原始校驗值 為通過所述N個校驗算法對所述原始數(shù)據(jù)進行校驗運算獲得的校驗值;
[0008] 當驗證所述N個實時校驗值與所述N個原始校驗值中,采用相同校驗算法的實時 校驗值和原始校驗值均一致時,確定所述待校驗數(shù)據(jù)通過安全校驗。
[0009] 第二方面,提供一種數(shù)據(jù)安全校驗方法,所述方法應用在校驗設備內(nèi),所述方法包 括:
[0010] 獲得待校驗數(shù)據(jù)的N個實時校驗值,所述N個實時校驗值為通過N個校驗算法分 別對所述待校驗數(shù)據(jù)進行校驗運算獲得的校驗值,所述N為大于1的自然數(shù);
[0011] 獲得與所述待校驗數(shù)據(jù)對應的原始數(shù)據(jù)的N個原始校驗值,所述N個原始校驗值 為通過所述N個校驗算法對所述原始數(shù)據(jù)進行校驗運算獲得的校驗值;
[0012] 當驗證所述N個實時校驗值與所述N個原始校驗值中,采用相同校驗算法的實時 校驗值和原始校驗值均一致時,確定所述待校驗數(shù)據(jù)通過安全校驗。
[0013] 第三方面,提供一種校驗設備,包括:
[0014] 處理器;用于存儲所述處理器可執(zhí)行指令的存儲器;
[0015] 其中,所述處理器被配置為:
[0016] 獲得待校驗數(shù)據(jù)的N個實時校驗值,所述N個實時校驗值為通過N個校驗算法分 別對所述待校驗數(shù)據(jù)進行校驗運算獲得的校驗值,所述N為大于1的自然數(shù);
[0017] 獲得與所述待校驗數(shù)據(jù)對應的原始數(shù)據(jù)的N個原始校驗值,所述N個原始校驗值 為通過所述N個校驗算法對所述原始數(shù)據(jù)進行校驗運算獲得的校驗值;
[0018] 當驗證所述N個實時校驗值與所述N個原始校驗值中,采用相同校驗算法的實時 校驗值和原始校驗值均一致時,確定所述待校驗數(shù)據(jù)通過安全校驗。
[0019] 本申請實施例中的校驗設備在對數(shù)據(jù)進行安全校驗時,獲得待校驗數(shù)據(jù)的N個實 時校驗值,以及獲得與待校驗數(shù)據(jù)對應的原始數(shù)據(jù)的N個原始校驗值,當驗證N個實時校驗 值與N個原始校驗值中,采用相同校驗算法的實時校驗值和原始校驗值均一致時,確定待 校驗數(shù)據(jù)通過安全校驗。本申請實施例采用多個校驗算法對待校驗數(shù)據(jù)進行安全性校驗, 即使當惡意第三方獲得N個原始校驗值后,由于通過碰撞方式獲得的不同校驗算法對應的 數(shù)據(jù)不會相同,因此在采用任意一個碰撞出的數(shù)據(jù)進行安全性校驗時,該數(shù)據(jù)都難以通過 所有校驗算法的校驗,因此在提高了碰撞難度的同時,可以有效鑒別各種偽造數(shù)據(jù),從而保 證了數(shù)據(jù)安全性校驗的準確性。
【附圖說明】
[0020] 圖1為本申請數(shù)據(jù)安全校驗方法的一個實施例流程圖;
[0021] 圖2為本申請數(shù)據(jù)安全校驗方法的另一個實施例流程圖;
[0022] 圖3為本申請數(shù)據(jù)安全校驗方法的另一個實施例流程圖;
[0023] 圖4為本申請數(shù)據(jù)安全校驗方法的另一個實施例流程圖;
[0024] 圖5為本申請數(shù)據(jù)安全校驗裝置所在校驗設備的一種硬件結構圖;
[0025] 圖6為本申請數(shù)據(jù)安全校驗裝置的實施例框圖。
【具體實施方式】
[0026] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0027] 在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。 在本申請和所附權利要求書中所使用的單數(shù)形式的" 一種"、"所述"和"該"也旨在包括多 數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語"和/或"是指 并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
[0028] 應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這 些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離 本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第 一信息。取決于語境,如在此所使用的詞語"如果"可以被解釋成為"在……時"或"當…… 時"或"響應于確定"。
[0029] 在數(shù)據(jù)傳輸過程中,可能被病毒惡意篡改,因此為了保證數(shù)據(jù)傳輸?shù)陌踩?,需?對數(shù)據(jù)進行完整性校驗。現(xiàn)有技術中,通常采用單一校驗算法,例如,單一哈希算法對數(shù)據(jù) 的完整性進行校驗,但是在惡意第三方獲得了原始數(shù)據(jù)的哈希值后,很容易通過碰撞方式 得到與原始數(shù)據(jù)哈希值一樣的偽造數(shù)據(jù),從而難以確認數(shù)據(jù)的可信性和安全性。本申請實 施例通過采用多校驗算法對數(shù)據(jù)的完整性進行驗證,由于不同校驗算法對原始數(shù)據(jù)進行運 算后得到的校驗值不同,因此通過碰撞方式獲得的不同校驗算法對應的偽造數(shù)據(jù)也不相 同,導致惡意第三方難以偽造原始數(shù)據(jù),從而有效提高了數(shù)據(jù)安全性校驗的準確性。下面通 過具體實施例并結合不同應用實例對本申請進行描述。
[0030] 參見圖1,為本申請數(shù)據(jù)安全校驗方法的一個實施例流程圖,該實施例可以應用在 任意對數(shù)據(jù)進行安全性校驗的校驗設備上:
[0031] 步驟101 :獲得待校驗數(shù)據(jù)的N個實時校驗值,該N個實時校驗值為通過N個校驗 算法分別對待校驗數(shù)據(jù)進行校驗運算獲得的校驗值,N為大于1的自然數(shù)。
[0032] 本申請實施例中,校驗算法可以包括:各種哈希算法、和/或CRC (Cyclic Redundancy Check,循環(huán)冗余校驗碼)校驗算法。其中,哈希算法可以包括:MD5(Message Digest Algorithm,消息摘要算法第二版)、MD4、MD2、SHA (Secure Hash Algorithm,安全散 列算法)等。
[0033] 步驟102 :獲得與待校驗數(shù)據(jù)對應的原始數(shù)據(jù)的N個原始校驗值,該N個原始校驗 值為通過N個校驗算法對原始數(shù)據(jù)進行校驗運算獲得的校驗值。
[0034] 步驟103 :當驗證N個實時校驗值與N個原始校驗值中,采用相同校驗算法的實時 校驗值和原始校驗值均一致時,確定待校驗數(shù)據(jù)通過安全校驗。
[0035] 由上述方法實施例可見,該實施例采用多個校驗算法對待校驗數(shù)據(jù)進行安全性校