提供源真實性的數據處理方法及系統的製作方法
2023-04-26 11:52:06 1
專利名稱:提供源真實性的數據處理方法及系統的製作方法
技術領域:
本發明涉及網絡通信領域,具體而言,涉及一種提供源真實性的數據處理方法及系統。
背景技術:
在許多不穩定網絡中,如無線網絡等,數據包在傳輸過程中容易出現丟包現象,這會導致普通的數據打包方案由於數據包丟失而不能夠有效完成源真實性驗證功能。源真實性主要指數據接收端驗證數據包來自於正確的數據發送端。同時,由於傳統的籤名打包方案,實現源真實性的功能數據與業務數據的比例較高,導致數據包功能數據載荷較高,數據通信的開銷較大,降低了傳輸網絡的信道利用率。許多實際應用要求數據接收端認證接收數據來源的正確性,如抵抗「中間人攻擊」 的基本方式就是需要數據接收端認證數據來源的正確性。許多高安全性需求的應用,如電子商務、流媒體等,也要求實現接收數據的源真實性保護。現有技術提供的源真實性保護功能的常用方案是對整個業務數據計算數字籤名, 並附加在業務數據後面,然後把業務數據和功能數據一起封裝為多個數據包進行傳輸。上述方案沒有考慮易丟包網絡中,會由於數據包的丟失,將導致業務數據或功能數據接收不完全,從而導致業務數據的源真實性驗證無法進行,極大影響正常的業務應用。為了解決易丟包網絡中存在的上述問題,現有技術採用如下方案來解決,首先數據發送端對業務數據分解為多個數據段,對每一個數據段進行數字籤名運算,並把這些段籤名作為功能數據附加在每個對應的數據段後面,這樣一個數據段及其段籤名會被封裝為一個網絡傳輸數據包。數據接收端會對每一個接收到的數據包進行數字籤名驗證,從而實現整個業務數據的源真實性保護。但在上述方案存在的缺點也是明顯的。首先,由於每一個數據包就有一個功能數據(數字籤名),這樣功能數據所佔傳輸數據的比例太高,導致通信開銷較大,信道利用率較低;其次,由於每個數據包就需要進行一次數字籤名,導致伺服器端和終端的運算量太大,尤其對於像流媒體類的數據,數據量大,實時性要求高,而終端處理設備(如機頂盒等) 性能較低,導致此方案完全不能滿足業務性能需求。目前針對相關技術在實現業務數據源真實性保護的方案中佔用的通信信道資源較大,且不能滿足業務性能需求的問題,目前尚未提出有效的解決方案。
發明內容
本發明的主要目的在於提供一種提供源真實性的數據處理方法及系統,以解決上述相關技術在實現業務數據源真實性保護的方案中佔用的通信信道資源較大,且不能滿足業務性能需求的問題。為了實現上述目的,根據本發明的一個方面,提供了一種提供源真實性的數據處理方法,該提供源真實性的數據處理方法包括將業務數據進行分段以獲取多個數據段;對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值;根據第一段哈希值來獲取整個業務數據的第一源值;通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據;在將多個容錯編碼數據分別與每個數據段結合之後,將數據段打包成業務數據包發送。進一步地,將多個容錯編碼數據分別與每個數據段結合包括將多個容錯編碼數據分別添加在每個數據段的後面;或者通過數字水印算法將多個容錯編碼數據分別嵌入每個數據段中。進一步地,根據第一段哈希值來獲取整個業務數據的第一源值包括將各個數據段對應的第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值; 使用加密算法對塊哈希值進行加密,以獲取第一源值,加密算法包括對稱密鑰算法和非對稱密鑰算法。進一步地,在將數據段打包成業務數據包發送之後,方法還包括數據驗證終端接收一個或多個業務數據包;在容錯編碼數據分別添加在每個數據段的後面的情況下,直接提取業務數據包中的容錯編碼數據;根據容錯編碼數據來驗證業務數據的源真實性。進一步地,在將每個數據段打包成業務數據包發送之後,方法還包括驗證終端接收一個或多個業務數據包;在容錯編碼數據通過數字水印算法分別嵌入每個數據段中的情況下,通過數字水印檢測技術提取業務數據包中的容錯編碼數據;根據容錯編碼數據來驗證業務數據的源真實性。進一步地,根據容錯編碼數據來驗證業務數據的源真實性包括對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值;對解碼得到的所有第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;通過加密算法對塊哈希值進行加密得到第二源值;當第一源值與第二源值相同時,驗證終端確定接收到的業務數據來自正確的數據封裝終端。進一步地,在根據容錯編碼數據來驗證業務數據的源真實性之後,方法還包括根據第一段哈希值來確定業務數據的完整性,該步驟包括對接收到的業務數據包中的數據段進行哈希計算,以獲得對應的第二段哈希值;當第一段哈希值與第二段哈希值相同時,驗證終端確定接收到的業務數據完整。進一步地,對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值包括讀取預定數目的業務數據包;對預定數目的業務數據包中的多個容錯編碼數據進行容錯解碼。為了實現上述目的,根據本發明的另一方面,提供了一種提供源真實性的數據處理系統,該提供源真實性的數據處理系統包括數據封裝終端,包括拆分單元,用於將業務數據進行分段以獲取多個數據段;功能數據處理單元,用於對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值,並根據第一段哈希值來獲取整個業務數據的第一源值;編碼處理單元,用於通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據;發送單元,用於在將容錯編碼數據分別與每個數據段結合之後,將數據段打包成業務數據包發送。進一步地,功能數據處理單元包括哈希運算模塊,用於對各個數據段進行哈希運算以獲取每個數據段對應的第一段哈希值;第一計算模塊,用於將各個數據段對應的第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;加密模塊,用於使用加密算法對塊哈希值進行加密,以獲取第一源值,加密算法包括對稱密鑰算法和非對稱密鑰算法。進一步地,系統還包括附加模塊,用於將多個容錯編碼數據分別添加在每個數據段的後面;或者通過數字水印算法將多個容錯編碼數據分別嵌入每個數據段中。進一步地,系統還包括數據驗證終端,包括接收單元,用於接收一個或多個業務數據包;提取單元,用於在容錯編碼數據分別添加在每個數據段的後面的情況下,直接提取業務數據包中的容錯編碼數據,或者,在容錯編碼數據通過數字水印算法分別嵌入每個數據段中的情況下,通過數字水印檢測技術提取業務數據包中的容錯編碼數據;驗證單元, 用於根據容錯編碼數據來驗證業務數據的源真實性和完整性。進一步地,驗證單元包括解碼模塊,用於對多個段源值容錯碼和多個段哈希容錯碼進行容錯解碼,以獲得對應的第一源值和第一段哈希值;第二計算模塊,用於對解碼得到的所有第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值,並通過加密算法對塊哈希值進行加密得到第二源值;第一比較驗證模塊,用於當第一源值與第二源值相同時,驗證終端確定接收到的業務數據來自正確的發送終端。進一步地,驗證單元還包括第三計算模塊,用於對接收到的業務數據包中的數據段進行哈希計算,以獲得對應的第二段哈希值;第二比較驗證模塊,用於當第一段哈希值與第二段哈希值相同時,驗證終端確定接收到的業務數據完整。通過本發明,採用將業務數據進行分段以獲取多個數據段;對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值;根據第一段哈希值來獲取整個業務數據的第一源值;通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據;在將多個容錯編碼數據分別與每個數據段結合之後,將數據段打包成業務數據包發送,通過降低了數據包功能數據的載荷,解決了相關技術的實現業務數據源真實性保護的方案中佔用的通信信道資源較大,且不能滿足業務性能需求的問題,進而實現降低了數據通信的信道開銷,提高了傳輸網絡的信道利用率,同時達到了滿足業務性能需求的效果。
此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中圖1是根據本發明實施例的提供源真實性的數據處理系統的結構示意圖;圖2是根據圖1所示實施例的提供源真實性的數據處理系統的詳細結構示意圖;圖3是根據本發明實施例中數據段封裝的工作示意圖;圖4是根據本發明實施例的提供源真實性的數據處理方法的流程圖。
具體實施例方式需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。下面將參考附圖並結合實施例來詳細說明本發明。圖1是根據本發明實施例的提供源真實性的數據處理系統的結構示意圖;圖2是根據圖1所示實施例的提供源真實性的數據處理系統的詳細結構示意圖。如圖1和2所示,該系統包括數據封裝終端1,包括拆分單元11,用於將業務數據進行分段以獲取多個數據段;功能數據處理單元13,用於對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值並根據第一段哈希值來獲取整個業務數據的第一源值;編碼處理單元15,用於通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據;發送單元17,用於在將多個容錯編碼數據分別與每個數據段結合之後,將多個數據段打包成業務數據包發送。本發明上述實施例在數據封裝終端1,即數據發送端中通過拆分單元11對整個業務數據進行分段,並通過功能數據處理單元13和編碼處理單元15獲得每個數據段的功能數據,最後通過發送單元17將以每個數據段及其功能數據作為一個業務數據包在傳輸網絡中進行傳輸。上述功能中通過編碼處理單元15對功能數據處理單元13處理後的各個數據段使用容錯編碼算法進行編碼計算得到多個容錯編碼數據,該容錯編碼數據是段源值容錯碼和段哈希容錯碼,由於容錯編碼算法的特點是僅使用一定數據的容錯編碼數據就可以恢復整個業務數據,因此本申請該實施例中發送的這種業務數據包可以適用在許多不穩定網絡中,如無線網絡等,即便業務數據包在傳輸過程中出現丟包現象,仍舊能夠有效完成源真實性驗證功能。而且本申請中將得到的多個容錯編碼數據,即多個段源值容錯碼和段哈希容錯碼分別與每個數據段結合打包的方案,可以極大降低功能數據載荷,保證了容錯率大於網絡丟包率,從而解決了相關技術的實現業務數據源真實性保護的方案中佔用的通信信道資源較大,且不能滿足業務性能需求的問題,進而實現降低了數據通信的信道開銷,提高了傳輸網絡的信道利用率,同時達到了滿足業務性能需求的效果。本發明圖1中的傳輸網絡是所有業務數據包傳輸系統,在這個網絡中,可能會由於網絡堵塞、傳輸信道質量等原因,導致在其上傳輸的數據包丟失或損壞。上述實施例中,該系統的多個段源值容錯碼和和段哈希容錯碼分別與每個數據段結合打包可以包括將所述多個容錯編碼數據分別添加在每個所述數據段的後面;或者通過數字水印算法將所述多個容錯編碼數據分別嵌入每個所述數據段中。本申請上述實施例中的數據打包方案,不僅能夠實現在易丟包網絡中傳輸數據的源真實性保護,而且能夠實現較小的數據開銷,提高信道利用率,且得到的容錯編碼數據就是數據包傳輸過程中的數據載荷。優選地,本申請上述實施例中的功能數據處理單元13可以包括哈希運算模塊, 用於對各個數據段進行哈希運算以獲取每個數據段對應的第一段哈希值;第一計算模塊, 用於將各個數據段對應的第一段哈希值進行求和運算,並對求和運算結果進行哈希運算, 以獲取塊哈希值;加密模塊,用於使用加密算法對塊哈希值進行加密,以獲取第一源值,加密算法包括對稱密鑰算法和非對稱密鑰算法。具體的,可以通過圖3所示的數據段封裝的工作示意圖來詳細描述本申請上述實施例。結合圖3所示,本申請上述數據封裝終端1實現對業務數據進行分段,把每數據段作為一個網絡傳輸數據包單位。把所有數據段分別作哈希運算得到第一段哈希值,然後再把這些第一段哈希值求和後再做一次哈希運算,形成整個業務數據的哈希值,稱為塊哈希。把塊哈希使用密碼算法進行加密,例如使用非對稱密碼算法的私鑰加密,形成數字籤名。可以稱此數字籤名為「源值」。然後把這個源值和所有段哈希進行容錯性編碼,形成與數據包同樣數目的容錯碼,然後把這些容錯碼使用數字水印技術分別嵌入到每個數據包中進行發送。此方案在包丟失的情況下實現源真實性保護功能的關鍵在於使用了容錯編碼算法。容錯編碼算法的特點在於將一個業務數據編碼為η份容錯編碼數據,使用其中K (k < η) 份容錯編碼數據就可以恢復整個業務數據,k值可視網絡丟包率情況而定。本申請上述實施例中的系統還可以包括數據驗證終端2,包括接收單元21,用於接收一個或多個業務數據包;提取單元23,用於在容錯編碼數據分別添加在每個數據段的後面的情況下,直接提取業務數據包中的容錯編碼數據,或者,在容錯編碼數據通過數字水印算法分別嵌入每個數據段中的情況下,通過數字水印檢測技術提取業務數據包中的容錯編碼數據;驗證單元25,用於根據容錯編碼數據來驗證業務數據的源真實性和完整性。 該實施例中的數據驗證終端可以是數據接收端,該數據驗證終端對接收到業務數據包進行解碼驗證的處理,完成對業務數據的源真實性驗證以及完整性。優選地,上述數據驗證終端2中的驗證單元25可以包括解碼模塊,用於對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值;第二計算模塊,用於對解碼得到的所有第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值,並通過加密算法對塊哈希值進行加密得到第二源值;第一比較驗證模塊,用於當第一源值與第二源值相同時,驗證終端確定接收到的業務數據來自正確的發送終端。上述實施例完成了數據來源的正確性的驗證過程。優選地,上述數據驗證終端2中的驗證單元25還可以包括第三計算模塊,用於對接收到的業務數據包中的數據段進行哈希計算,以獲得對應的第二段哈希值;第二比較驗證模塊,用於當第一段哈希值與第二段哈希值相同時,驗證終端確定接收到的業務數據完整。上述實施例完成了數據來源的完整性的驗證過程。上述圖1和圖2所示的系統完成了業務數據中每個數據段的功能數據的生成過程和檢測過程,應用到的應用容錯編碼算法,保證了數據接收端即使收到部分數據,數據接收端也可完成源真實性保護。另外,在數據封終端1將在將多個容錯編碼數據分別與每個數據段結合的過程中可以採用將多個段源值容錯碼和多個段哈希容錯碼分別添加在每個數據段的後面;或者, 也可以採用通過數字水印算法將多個段源值容錯碼和多個段哈希容錯碼分別嵌入每個數據段中。前一種方式為一種簡潔的結合方式,研發過程中效率較高,後一種方式使用數字水印算法將功能數據嵌入到業務數據中,進一步降低了功能數據的載荷,從而減少通信數據開銷,提高了傳輸網絡的利用率。圖4是根據本發明實施例的提供源真實性的數據處理方法的流程圖,如圖4所示該方法包括如下步驟步驟S102,通過圖2中的數據封裝終端1中的拆分單元11來將業務數據進行分段以獲取多個數據段。步驟S104,通過圖2中的數據封裝終端1中的功能數據處理單元13對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值。步驟S106,圖2中的數據封裝終端1中的功能數據處理單元13根據第一段哈希值來獲取整個業務數據的第一源值。
步驟S108,圖2中的數據封裝終端1中的編碼處理單元15通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據。步驟S110,圖2中的數據封裝終端1中的發送單元17在將多個容錯編碼數據分別與每個數據段結合之後,將數據段打包成業務數據包發送。本發明上述實施例在數據封裝終端1,即數據發送端中通過拆分單元11對整個業務數據進行分段,把每數據段作為一個網絡傳輸數據包單位,並通過功能數據處理單元13 和編碼處理單元15獲得每個數據段的功能數據,最後通過發送單元17將以每個數據段及其功能數據作為一個業務數據包在傳輸網絡中進行傳輸。上述功能中通過編碼處理單元15對功能數據處理單元13處理後的各個數據段使用容錯編碼算法進行編碼計算得到多個容錯編碼數據,該容錯編碼數據可以是段源值容錯碼和段哈希容錯碼,由於容錯編碼算法的特點是僅使用一定數據的容錯編碼數據就可以恢復整個業務數據,因此本申請該實施例中發送的這種業務數據包可以適用在許多不穩定網絡中,如無線網絡等,即便業務數據包在傳輸過程中出現丟包現象,仍舊能夠有效完成源真實性驗證功能。而且本申請中將得到的多個容錯編碼數據,即多個段源值容錯碼和和段哈希容錯碼分別與每個數據段結合打包的方案,可以極大降低功能數據載荷,保證了容錯率大於網絡丟包率,從而解決了相關技術的實現業務數據源真實性保護的方案中佔用的通信信道資源較大,且不能滿足業務性能需求的問題,進而實現降低了數據通信的信道開銷,提高了傳輸網絡的信道利用率,同時達到了滿足業務性能需求的效果。具體的,本申請上述實施例中的步驟S102可以實現對業務數據進行適當分段,且每數據段長度不超過封包允許的數據長度,可以假設將數據段分段後的份數為η並在步驟 S104中實現對步驟S102中獲得的各數據段進行哈希運算,其值稱為「段哈希」優選地,本申請上述實施例中步驟S106根據第一段哈希值來獲取整個業務數據的第一源值的步驟包括將各個數據段對應的第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;使用加密算法對塊哈希值進行加密,以獲取第一源值,加密算法包括對稱密鑰算法和非對稱密鑰算法。具體的,上述實施例實現了 對劃分好的η份第一段哈希值進行求和運算,並對此進行哈希運算,其值稱為「塊哈希」,並使用密碼算法對「塊哈希」進行加密,形成「源值」,所使用的密碼算法可以是非對稱密鑰算法,也可以是對稱密碼算法,其中,在非對稱密鑰算法情況下,此「源值」即為數字籤名。優選地,步驟SllO將多個容錯編碼數據分別與每個數據段結合的方式可以包括如下兩種一種是將多個容錯編碼數據分別添加在每個數據段的後面;另一種是通過數字水印算法將多個容錯編碼數據分別嵌入每個數據段中。本申請上述實施例中,在步驟SllO將數據段打包成業務數據包發送之後,方法還可以包括數據驗證終端2接收一個或多個業務數據包;在容錯編碼數據分別添加在每個數據段的後面的情況下,直接提取業務數據包中的容錯編碼數據,以實現根據容錯編碼數據來驗證業務數據的源真實性和完整性。另外的,如果容錯編碼數據是通過數字水印算法分別嵌入每個數據段中的情況下,則將通過數字水印檢測技術提取業務數據包中的容錯編碼數據。上述步驟具體實現了,使用容錯編碼算法對「源值」和段哈希進行編碼,分別形成η個容錯編碼數據,即η個「段源值容錯碼」和η個「段哈希容錯碼」,然後將上述的η個「段源值容錯碼」和η個「段哈希容錯碼」分別附加在到η個數據段後面,如果需要進一步降低載荷,可以使用數字水印算法把上述的η個「段源值容錯碼」和η個「段哈希容錯碼」分別嵌入到η個數據段中,此處的數字水印可以為不可見數字水印,並且僅對水印對業務功能不造成影響,而且此數字水印可以選擇為魯棒性數字水印,即使通過編碼轉換也不能改變水印, 提供強認證功能。在數據封裝終端1完成上述業務數據的封裝過程之後,可以把業務數據包通過傳輸網絡發送到數據驗證終端2進行驗證。本發明上述各個實施例中,步驟SllO完成將數據段打包成業務數據包發送至數據驗證終端2之後,數據驗證終端2根據容錯編碼數據來驗證業務數據的源真實性,可以包括如下步驟對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值; 對解碼得到的所有第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;通過加密算法對塊哈希值進行加密得到第二源值;當第一源值與第二源值相同時,驗證終端確定接收到的業務數據來自正確的數據封裝終端。優選地,在根據容錯編碼數據來驗證業務數據的源真實性之後,數據驗證終端2 驗證接收到的業務數據的完整性,可以通過容錯解碼後得到的第一段哈希值來確定業務數據的完整性,具體的實施步驟可以包括對接收到的業務數據包中的數據段進行哈希計算, 以獲得對應的第二段哈希值;當第一段哈希值與第二段哈希值相同時,驗證終端確定接收到的業務數據完整。上述實施例中對接收到的業務數據進行真實性和完整性的判斷可以同時進行,即在對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值之後,可以通過上述算法對接收到的業務數據包同時進行真實性的驗證和完整性的驗證。上述實施例中數據驗證終端的處理流程具體如下由於數據驗證終端接收到的業務數據包可能已經丟失了一部分,因此,首先從收到的業務數據包的功能數據中提取容錯編碼值,即提取出「段源值容錯碼」和「段哈希容錯碼」,根據容錯編碼的特性,只需收到k個數據包,就可以恢復出「源值」和所有的「段哈希」。 若使用數字水印嵌入算法,就需要相應的數字水印檢測技術從收到的數據包中提取出「段源值容錯碼」和「段哈希容錯碼」。此處的k值,可以根據網絡丟包率進行相應的設定,n-k/ η表示系統容錯率,例如K = 90,η = 100,表示系統的容錯率為10 %,一般情況下,在網絡丟包率小於10%的情況下,本方案可完成傳輸數據的源真實性保護。然後,對所有第一段哈希值進行求和運算,並對此進行哈希運算,計算出一個「塊哈希」。最後,使用密碼算法驗證「源值」和「塊哈希」的正確性,即通過採用與數據封裝終端1相同的加密算法對「塊哈希」進行加密,檢驗此時得到的源值與從數據封裝終端1接收到的源值是否相同,從而驗證此數據來源的正確性。在該實施例中,如果將數據封裝終端 1得到的源值設定為第一源值,則將在數據驗證終端2重新計算得到的源值設定為第二源值,第一源值與第二源值的檢驗結果可以是相同也可以是不同。進一步,也可以對接收到的數據包中的數據段做哈希,與恢復出來的段哈希值進行對比,如果一致,則表明接收到的數據包的數據完整性正確。上述步驟實現了對於每個接收到的業務數據包,與對應的段哈希值進行驗證,以確定每個接收到的業務數據包的完整性。本申請上述實施例中,步驟S108對多個容錯編碼數據進行容錯解碼,以獲得對應的第一源值和第一段哈希值可以包括讀取預定數目的業務數據包;對預定數目的業務數據包中的多個容錯編碼數據進行容錯解碼。綜上所示,結合圖2和圖4,本申請圖3中所示的數據打包方案,可以極大降低功能數據載荷,現採用具體賦值的方式來分析如下假設業務數據被分為η = 100個數據段進行處理,並假設傳輸網絡的丟包率為 5 %,為保障本方案實現源真實性驗證,在利用容錯編碼時,把參數k設為90,即n-k/n = 10 %,保障容錯率大於網絡丟包率。按照傳統方案,需要在每個數據包尾附加數字籤名來實現源真實性驗證,此處以最常用RSA籤名算法為例,其籤名長度為1024bits,即傳統方案的功能數據載荷為 1024bits ;本文方案中,需要在每個數據包附加容錯編碼後的哈希值和源值。容錯哈希值的長度,可以根據信息量變化大體估計,假設原哈希值為SHAl哈希值,長度為160bits, 則編碼後的哈希值大約為160*100/90,約為200bits ;源值編碼後大約為10M/90,約為 120bits,即本方案功能數據載荷約為320bits。若採用不可見數字水印技術,在保障不妨礙業務功能基礎上把功能數據嵌入到業務數據中,可以實現功能數據載荷為0,顯而易見的, 本申請的技術方案很大程度上提高了網絡信道的利用率,滿足了業務性能的需求,而且本方案中使用到的各種關鍵技術都是切實可行的,方案將會應用到IPCAS/DRM系統中。需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執行指令的計算機系統中執行,並且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。從以上的描述中,可以看出,本發明實現了如下技術效果即使在易丟包網絡中也能實現數據源真實性保護;完成源真實性保護的功能數據開銷較小;終端運算量較少,對終端性能要求低。顯然,本領域的技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別製作成各個集成電路模塊,或者將它們中的多個模塊或步驟製作成單個集成電路模塊來實現。這樣,本發明不限制於任何特定的硬體和軟體結合。以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種提供源真實性的數據處理方法,其特徵在於,包括 將業務數據進行分段以獲取多個數據段;對各個所述數據段進行功能數據處理以獲取每個所述數據段對應的第一段哈希值; 根據所述第一段哈希值來獲取整個所述業務數據的第一源值; 通過容錯編碼算法分別對所述第一段哈希值和所述第一源值進行編碼處理,以獲取多個容錯編碼數據;在將所述多個容錯編碼數據分別與每個所述數據段結合之後,將所述數據段打包成業務數據包發送。
2.根據權利要求1所述的方法,其特徵在於,將所述多個容錯編碼數據分別與每個所述數據段結合包括將所述多個容錯編碼數據分別添加在每個所述數據段的後面;或者通過數字水印算法將所述多個容錯編碼數據分別嵌入每個所述數據段中。
3.根據權利要求2所述的方法,其特徵在於,根據所述第一段哈希值來獲取整個所述業務數據的第一源值包括將各個所述數據段對應的所述第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;使用加密算法對所述塊哈希值進行加密,以獲取所述第一源值,所述加密算法包括 對稱密鑰算法和非對稱密鑰算法。
4.根據權利要求2所述的方法,其特徵在於,在將所述數據段打包成業務數據包發送之後,所述方法還包括數據驗證終端接收一個或多個所述業務數據包;在所述容錯編碼數據分別添加在每個所述數據段的後面的情況下,直接提取所述業務數據包中的所述容錯編碼數據;根據所述容錯編碼數據來驗證所述業務數據的源真實性。
5.根據權利要求2所述的方法,其特徵在於,在將每個所述數據段打包成業務數據包發送之後,所述方法還包括驗證終端接收一個或多個所述業務數據包;在所述容錯編碼數據通過數字水印算法分別嵌入每個所述數據段中的情況下,通過數字水印檢測技術提取所述業務數據包中的所述容錯編碼數據; 根據所述容錯編碼數據來驗證所述業務數據的源真實性。
6.根據權利要求4或5所述的方法,其特徵在於,根據所述容錯編碼數據來驗證所述業務數據的源真實性包括對多個所述容錯編碼數據進行容錯解碼,以獲得對應的所述第一源值和所述第一段哈希值;對解碼得到的所有所述第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取所述塊哈希值;通過所述加密算法對所述塊哈希值進行加密得到第二源值;當所述第一源值與所述第二源值相同時,所述驗證終端確定接收到的所述業務數據來自正確的數據封裝終端。
7.根據權利要求6所述的方法,其特徵在於,在根據所述容錯編碼數據來驗證所述業務數據的源真實性之後,所述方法還包括根據所述第一段哈希值來確定所述業務數據的完整性,該步驟包括 對接收到的所述業務數據包中的數據段進行哈希計算,以獲得對應的第二段哈希值; 當所述第一段哈希值與所述第二段哈希值相同時,所述驗證終端確定接收到的所述業務數據完整。
8.根據權利要求6所述的方法,其特徵在於,對多個所述容錯編碼數據進行容錯解碼, 以獲得對應的所述第一源值和所述第一段哈希值包括讀取預定數目的業務數據包;對所述預定數目的業務數據包中的多個所述容錯編碼數據進行容錯解碼。
9.一種提供源真實性的數據處理系統,其特徵在於,包括 數據封裝終端,包括拆分單元,用於將業務數據進行分段以獲取多個數據段;功能數據處理單元,用於對各個所述數據段進行功能數據處理以獲取每個所述數據段對應的第一段哈希值,並根據所述第一段哈希值來獲取整個所述業務數據的第一源值;編碼處理單元,用於通過容錯編碼算法分別對所述第一段哈希值和所述第一源值進行編碼處理,以獲取多個容錯編碼數據;發送單元,用於在將所述容錯編碼數據分別與每個所述數據段結合之後,將所述數據段打包成業務數據包發送。
10.根據權利要求9所述的系統,其特徵在於,所述功能數據處理單元包括哈希運算模塊,用於對各個所述數據段進行哈希運算以獲取每個所述數據段對應的第一段哈希值;第一計算模塊,用於將各個所述數據段對應的所述第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取塊哈希值;加密模塊,用於使用加密算法對所述塊哈希值進行加密,以獲取所述第一源值,所述加密算法包括對稱密鑰算法和非對稱密鑰算法。
11.根據權利要求9所述的系統,其特徵在於,所述系統還包括附加模塊,用於將所述多個容錯編碼數據分別添加在每個所述數據段的後面;或者通過數字水印算法將所述多個容錯編碼數據分別嵌入每個所述數據段中。
12.根據權利要求9所述的系統,其特徵在於,所述系統還包括 數據驗證終端,包括接收單元,用於接收一個或多個所述業務數據包;提取單元,用於在所述容錯編碼數據分別添加在每個所述數據段的後面的情況下,直接提取所述業務數據包中的所述容錯編碼數據,或者,在所述容錯編碼數據通過數字水印算法分別嵌入每個所述數據段中的情況下,通過數字水印檢測技術提取所述業務數據包中的所述容錯編碼數據;驗證單元,用於根據所述容錯編碼數據來驗證所述業務數據的源真實性和完整性。
13.根據權利要求12所述的系統,其特徵在於,所述驗證單元包括解碼模塊,用於對多個所述段源值容錯碼和多個所述段哈希容錯碼進行容錯解碼,以獲得對應的所述第一源值和所述第一段哈希值;第二計算模塊,用於對解碼得到的所有所述第一段哈希值進行求和運算,並對求和運算結果進行哈希運算,以獲取所述塊哈希值,並通過所述加密算法對所述塊哈希值進行加密得到第二源值;第一比較驗證模塊,用於當所述第一源值與所述第二源值相同時,所述驗證終端確定接收到的所述業務數據來自正確的發送終端。
14.根據權利要求13所述的系統,其特徵在於,所述驗證單元還包括 第三計算模塊,用於對接收到的所述業務數據包中的數據段進行哈希計算,以獲得對應的第二段哈希值;第二比較驗證模塊,用於當所述第一段哈希值與所述第二段哈希值相同時,所述驗證終端確定接收到的所述業務數據完整。
全文摘要
本發明公開了一種提供源真實性的數據處理方法及系統。其中,該方法包括將業務數據進行分段以獲取多個數據段;對各個數據段進行功能數據處理以獲取每個數據段對應的第一段哈希值;根據第一段哈希值來獲取整個業務數據的第一源值;通過容錯編碼算法分別對第一段哈希值和第一源值進行編碼處理,以獲取多個容錯編碼數據;在將多個容錯編碼數據分別與每個數據段結合之後,將數據段打包成業務數據包發送。本發明通過降低了數據包功能數據的載荷,能夠提高傳輸網絡的信道利用率,同時滿足了業務性能需求。
文檔編號G06T1/00GK102325025SQ20111013777
公開日2012年1月18日 申請日期2011年5月25日 優先權日2011年5月25日
發明者王蜀洪, 黃尹, 齊志峰 申請人:北京數碼視訊科技股份有限公司