超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置的制造方法
【專利摘要】本發(fā)明提供了一種超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置,其中,該加密方法包括:根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件;去除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀;去除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù);利用加密算法對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù);給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀;給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件;根據(jù)所述加密音視頻子文件生成加密超媒體文件。本發(fā)明僅利用一種選擇性音視頻加密算法即可加密超媒體文件中不同封裝格式甚至不同壓縮格式的音視頻文件。
【專利說明】
超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及數(shù)據(jù)安全技術(shù)領(lǐng)域,尤其涉及多媒體數(shù)據(jù)的加解密方法,具體來說就是一種超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置。
【背景技術(shù)】
[0002]超媒體技術(shù)以非線性的組織方式,將視頻、音頻、圖片、文本等數(shù)據(jù)資源整合在一起,有效地提高了人機交互能力。由于在超媒體環(huán)境下,用戶可以根據(jù)自己的興趣定制傳統(tǒng)視頻中任何形式的數(shù)據(jù)內(nèi)容,因而包含超高清視頻的超媒體內(nèi)容可以完美地解決視頻高清晰度的要求,以及互動性、個性化的要求。
[0003]超媒體迅速發(fā)展的同時,在傳統(tǒng)行業(yè)中肆虐的盜版問題也漫延至超媒體技術(shù)領(lǐng)域,嚴重損害制作商以及播出方的利益,打擊制作商的創(chuàng)造、創(chuàng)新積極性,嚴重阻礙媒體行業(yè)的良性發(fā)展。因此,應該汲取傳統(tǒng)媒體行業(yè)以往的教訓,超媒體內(nèi)容的版權(quán)保護應該在超媒體興起的同時加以足夠的重視,即對超媒體內(nèi)容進行加密,保護制作商以及播出方的合法利益,防止超媒體盜版泛濫。
[0004]數(shù)字版權(quán)管理(digital rights management,DRM)技術(shù)是保護數(shù)字化內(nèi)容的有力工具,其在防止傳統(tǒng)媒體數(shù)據(jù)盜版中起到了舉足輕重的作用。但是,在現(xiàn)有DRM技術(shù)中,一種加密方法僅能對一種壓縮編碼方式的音視頻數(shù)據(jù)進行處理,而超媒體數(shù)據(jù)流中需要保護的音視頻格式多種多樣,僅利用一種加密方法根據(jù)無法對超媒體中各種壓縮格式、封裝格式的音視頻數(shù)據(jù)進行合理保護。
[0005]為此,本領(lǐng)域技術(shù)人員亟需一種能夠適應多種音視頻格式文件的加密方法,可以合理保護超媒體環(huán)境下,不同封裝格式甚至不同壓縮格式的音視頻內(nèi)容。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明要解決的技術(shù)問題在于提供一種超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置,解決了現(xiàn)有技術(shù)中無法對超媒體數(shù)據(jù)內(nèi)容進行全面保護的問題。
[0007]為了解決上述技術(shù)問題,本發(fā)明的【具體實施方式】提供一種超媒體數(shù)據(jù)的加密方法,包括:根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件;利用FFMPEG單元去除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀;利用FFMPEG單元去除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù);利用加密算法對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù);利用FFMPEG單元給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀;利用FFMPEG單元給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件;根據(jù)所述加密音視頻子文件生成加密超媒體文件。
[0008]本發(fā)明的另一【具體實施方式】提供一種超媒體數(shù)據(jù)的加密裝置,包括:解析單元,用于根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件;FFMPEG單元,用于除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀,并除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù);加密單元,用于對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù),所述FFMPEG單元還用于給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀,并給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件;合成單元,用于根據(jù)所述加密音視頻子文件生成加密超媒體文件。
[0009]本發(fā)明的又一【具體實施方式】提供一種超媒體數(shù)據(jù)的解密方法,包括:根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件;利用FFMPEG單元去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀;利用FFMPEG單元去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù);利用解密算法對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù);利用FFMPEG單元給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀;利用FFMPEG單元給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件;根據(jù)所述音視頻子文件還原超媒體文件。
[0010]本發(fā)明的又一【具體實施方式】提供一種超媒體數(shù)據(jù)的解密裝置,包括:解析單元,用于根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件;FFMPEG單元,用于去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀,并去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù);解密單元,用于對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù),所述FFMPEG單元還用于給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀,并給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件;還原單元,用于根據(jù)所述音視頻子文件還原超媒體文件。
[0011]根據(jù)本發(fā)明上述【具體實施方式】,可知超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置至少具有以下有益效果或特點:利用FFMPEG解封裝超媒體數(shù)據(jù)中的音視頻數(shù)據(jù)幀,并利用選擇性音視頻加密算法對不同位置的音視頻數(shù)據(jù)幀進行加密,不去解析音視頻數(shù)據(jù)更下一層的格式,從而僅利用一種音視頻加密算法即可加密不同封裝格式甚至不同壓縮格式的音視頻內(nèi)容;另外,本發(fā)明在對超媒體數(shù)據(jù)中的音頻內(nèi)容進行加密的同時,可以根據(jù)用戶的需求對音頻內(nèi)容中的敏感信息(例如作者、作曲、專輯等)進行加密,全面、合理保護音頻制作者的合法權(quán)益,促進超媒體行業(yè)的良性發(fā)展。
[0012]應了解的是,上述一般描述及以下【具體實施方式】僅為示例性及闡釋性的,其并不能限制本發(fā)明所欲主張的范圍。
【附圖說明】
[0013]下面的所附附圖是本發(fā)明的說明書的一部分,其繪示了本發(fā)明的示例實施例,所附附圖與說明書的描述一起用來說明本發(fā)明的原理。
[0014]圖1為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的具體實施例一的流程圖;
[0015]圖2為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的具體實施例二的流程圖;
[0016]圖3為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密裝置的框圖;
[0017]圖4為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密方法的具體實施例一的流程圖;
[0018]圖5為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密方法的具體實施例二的流程圖;
[0019]圖6為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密裝置的框圖;
[0020]圖7為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的總體流程圖;
[0021]圖8為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密方法的流程圖;
[0022]圖9為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密前敏感信息效果圖;
[0023]圖10為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密后敏感信息效果圖;
[0024]圖11為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密前波形圖;
[0025]圖12為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密后波形圖。
【具體實施方式】
[0026]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚明白,下面將以附圖及詳細敘述清楚說明本發(fā)明所揭示內(nèi)容的精神,任何所屬技術(shù)領(lǐng)域技術(shù)人員在了解本
【發(fā)明內(nèi)容】
的實施例后,當可由本
【發(fā)明內(nèi)容】
所教示的技術(shù),加以改變及修飾,其并不脫離本
【發(fā)明內(nèi)容】
的精神與范圍。
[0027]本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。另外,在附圖及實施方式中所使用相同或類似標號的元件/構(gòu)件是用來代表相同或類似部分。
[0028]關(guān)于本文中所使用的“第一”、“第二”、…等,并非特別指稱次序或順位的意思,也非用以限定本發(fā)明,其僅為了區(qū)別以相同技術(shù)用語描述的元件或操作。
[0029]關(guān)于本文中所使用的方向用語,例如:上、下、左、右、前或后等,僅是參考附圖的方向。因此,使用的方向用語是用來說明并非用來限制本創(chuàng)作。
[0030]關(guān)于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均為開放性的用語,SP意指包含但不限于。
[0031]關(guān)于本文中所使用的“及/或”,包括所述事物的任一或全部組合。
[0032]關(guān)于本文中所使用的用語“大致”、“約”等,用以修飾任何可以微變化的數(shù)量或誤差,但這些微變化或誤差并不會改變其本質(zhì)。一般而言,此類用語所修飾的微變化或誤差的范圍在部分實施例中可為20%,在部分實施例中可為10%,在部分實施例中可為5%或是其他數(shù)值。本領(lǐng)域技術(shù)人員應當了解,前述提及的數(shù)值可依實際需求而調(diào)整,并不以此為限。
[0033]某些用以描述本申請的用詞將于下或在此說明書的別處討論,以提供本領(lǐng)域技術(shù)人員在有關(guān)本申請的描述上額外的引導。
[0034]圖1為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的具體實施例一的流程圖,如圖1所示,根據(jù)超媒體文件中的XML文件將超媒體文件解析成多個音視頻子文件,再利用FFMPEG解封裝音視頻子文件;然后利用一種加密算法完成對音視頻子文件所有數(shù)據(jù)幀的加密。
[0035]該附圖所示的【具體實施方式】包括:
[0036]步驟101:根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件。每個超媒體文件中都有XML文件,XML文件中記錄有超媒體文件的內(nèi)容信息、格式信息、文檔結(jié)構(gòu)信息等,通過超媒體文件中XML文件記錄的信息可以準確解析超媒體文件。音視頻子文件包括ts文件、wmv文件、mp3、mp4文件。
[0037]步驟102:利用FFMPEG(多媒體編解碼框架)單元去除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀。FFMPEG是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源多媒體編解碼框架;無論是音頻數(shù)據(jù),還是視頻數(shù)據(jù),都是以數(shù)據(jù)幀的形式存在,利用FFMPEG單元解封裝音視頻子文件的數(shù)據(jù)幀,不用解析音視頻數(shù)據(jù)更下一層的格式。音視頻子文件包含多種多媒體格式(音頻和視頻),利用FFMPEG開源項目對這些音視頻子文件進行統(tǒng)一的解析,找到需要進行加密的內(nèi)容,送入加密器進行加密,F(xiàn)FMPEG可以對音頻和視頻完成解封裝、解碼、轉(zhuǎn)碼等一系列操作。每個音視頻子文件均具有文件頭部和文件尾部,利用FFMPEG單元可以識別出任意封裝格式或壓縮格式音視頻子文件的文件頭部和文件尾部,去除所述音視頻子文件的文件頭部和文件尾部后獲得音視頻數(shù)據(jù)幀。
[0038]步驟103:利用FFMPEG單元去除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù)。每個音視頻數(shù)據(jù)幀均具有幀頭和幀尾,利用FFMPEG單元去除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù)。
[0039]步驟104:利用加密算法對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù)。本發(fā)明使用的加密算法通常為選擇性加密算法,僅利用一種加密算法對不同位置的數(shù)據(jù)幀進行加密,解決了現(xiàn)有技術(shù)中無法使用一種加密算法對多格式音視頻復用文件進行加密的問題。加密算法可以采用AES/DES(高級加密標準/數(shù)據(jù)加密標準)等。本發(fā)明具體實施例中,在選用加密算法的同時,也可能會采用不同的加密深度對關(guān)鍵數(shù)據(jù)進行加密,通常情況下,加密深度越深,對多媒體文件的干擾越強,文件越不容易破解,但加密也越耗時,因此通常根據(jù)用戶需求選擇加密深度。本發(fā)明還可以根據(jù)音視頻子文件的數(shù)量啟動對應的加密線程,從而減少加密延時,提高加密時效性,增強用戶體驗。
[0040]步驟105:利用FFMPEG單元給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀。對關(guān)鍵數(shù)據(jù)加密后,再利用FFMPEG單元給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾,恢復出音視頻數(shù)據(jù)幀,此時的音視頻數(shù)據(jù)幀是加密后的音視頻數(shù)據(jù)幀。
[0041 ]步驟106:利用FFMPEG單元給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件。將所有加密音視頻數(shù)據(jù)幀組合后添加文件頭部和文件尾部可以恢復出來加密音視頻子文件。
[0042]加密MP3文件的敏感信息使用的加密算法,與加密其它音視頻子文件使用的加密算法相同,如果音視頻子文件中沒有MP3格式的文件,該步驟也可以省略;整個MP3文件大體上可以分為三部分:TAG_V2(ID3V2)、音頻數(shù)據(jù)、TAG_V1 (ID3V1),其中,TAG_V2和TAG_V1中分別包含了作者、作曲、專輯等敏感信息,因此也需要進行加密保護,以便更好地保護音頻制作者的合法權(quán)益。
[0043]步驟107:更新超媒體文件中的XML文件。由于XML文件中記錄有超媒體文件的內(nèi)容信息、格式信息、文檔結(jié)構(gòu)信息等,對超媒體文件進行加密后,超媒體文件的內(nèi)容信息相應地會發(fā)生變化,因此XML文件也需要相應更新,以便XML文件準確反映超媒體文件的內(nèi)容信息等。
[0044]步驟108:根據(jù)所述加密音視頻子文件生成加密超媒體文件。將加密后的音視頻子文件重新組合成超媒體文件,此時的超媒體文件就是加密后的超媒體文件,加密超媒體文件在傳播過程中不會被不法分子利用,從而有益保護了超媒體文件的數(shù)字版權(quán)。本發(fā)明的具體實施例中,根據(jù)所述加密音視頻子文件生成加密超媒體文件的步驟之前,還可以利用業(yè)務加密密鑰加密所述加密算法使用的內(nèi)容加密密鑰,比如內(nèi)容加密密鑰使用私鑰,業(yè)務加密密鑰使用公鑰,在加強超媒體文件保護的同時,方便超媒體文件的傳輸。
[0045]參見圖1,利用FFMPEG單元解封裝超媒體數(shù)據(jù)中的音視頻數(shù)據(jù)幀,并利用選擇性音視頻加密算法對音視頻數(shù)據(jù)幀進行加密,不去解析音視頻數(shù)據(jù)更下一層的數(shù)據(jù)格式,可以利用一種加密算法加密不同封裝格式甚至不同壓縮格式的音視頻內(nèi)容。
[0046]圖2為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的具體實施例二的流程圖,如圖2所示,如果音視頻子文件中存在MP3格式的多媒體文件(即MP3文件),也可以在對MP3文件中的有用信息進行加密的同時,對MP3文件中的敏感信息(描述信息)進行加密;最后將加密后的音視頻子文件重新組成超媒體文件。
[0047]該附圖所示的【具體實施方式】中,步驟101之后,所述超媒體數(shù)據(jù)的加密方法還包括:
[0048]步驟101-1:確認所述音視頻子文件中的MP3文件。
[0049]步驟101-2:利用FFMPEG單元查找所述MP3文件中的ID3V2頭。即判斷MP3文件的ID3V2標識,ID3V2標識中包含了作者、作曲、專輯等敏感信息(描述信息),也需要進行加密保護。
[0050]步驟101-3:利用加密算法對所述ID3V2頭進行加密。加密MP3文件的敏感信息使用的加密算法,與加密其它音視頻子文件使用的加密算法相同,如果音視頻子文件中沒有MP3格式的文件,這些步驟也可以省略;整個MP3文件大體上可以分為三部分:TAG_V2(ID3V2)、音頻數(shù)據(jù)、TAG_V1 (ID3V1),其中,TAG_V2和TAG_V1中分別包含了作者、作曲、專輯等敏感信息,因此也需要進行加密保護,以便更好地保護音頻制作者的合法權(quán)益。
[0051]步驟106之后,所述超媒體數(shù)據(jù)的加密方法還包括:
[0052]步驟106-1:利用FFMPEG單元查找所述MP3文件中的ID3V1頭。整個MP3文件大體上可以分為三部分:TAG_V2 (ID3V2)、音頻數(shù)據(jù)、TAG_V1 (ID3V1),其中,TAG_V2和TAG_V1中分別包含了作者、作曲、專輯等敏感信息,因此也需要進行加密保護,以便更好地保護音頻制作者的合法權(quán)益。
[0053]步驟106-2:利用加密算法對所述ID3V1頭進行加密。
[0054]參見圖2,如果超媒體數(shù)據(jù)中存在MP3格式的音頻文件,也可以根據(jù)用戶的需求對MP3中的敏感信息(例如作者、作曲、專輯等)進行加密,從而全面、合理保護音頻制作者的合法權(quán)益,促進超媒體行業(yè)的良性發(fā)展。
[0055]圖3為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密裝置的框圖,如圖3所示,根據(jù)超媒體文件中的XML文件將超媒體文件解析成多個音視頻子文件,再利用FFMPEG單元讀取音視頻子文件的數(shù)據(jù)幀;然后利用一種加密算法完成對音視頻子文件所有數(shù)據(jù)幀的加密;最后將加密后的音視頻子文件重新組成超媒體文件。
[0056]該附圖所示的【具體實施方式】中,所述超媒體數(shù)據(jù)的加密裝置包括解析單元11、FFMPEG單元12、加密單元13、更新單元14、合成單元15,其中,解析單元11用于根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件;FFMPEG單元12用于除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀,并除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù);加密單元13用于對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù),此外,所述FFMPEG單元還用于給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀,并給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件;更新單元14用于更新超媒體文件中的XML文件;合成單元15用于根據(jù)所述加密音視頻子文件生成加密超媒體文件。本發(fā)明的其它具體實施例中,當音視頻子文件中存在MP3文件時,加密單元13還可以利用所述加密算法對所述音視頻子文件中的MP3文件的敏感信息(描述信息)進行加密。
[0057]參見圖3,F(xiàn)FMPEG單元12解封裝超媒體數(shù)據(jù)中的音視頻數(shù)據(jù)幀,找到需要加密的內(nèi)容,加密單元13利用選擇性加密算法對音視頻數(shù)據(jù)幀進行加密,不去解析音視頻數(shù)據(jù)更下一層的數(shù)據(jù)格式,可以利用一種加密算法加密不同封裝格式甚至不同壓縮格式的音視頻內(nèi)容;另外,如果超媒體數(shù)據(jù)中存在MP3格式的音頻文件,也可以根據(jù)用戶的需求對MP3中的敏感信息(例如作者、作曲、專輯等)進行加密,從而全面、合理保護音頻制作者的合法權(quán)益,促進超媒體行業(yè)的良性發(fā)展。
[0058]圖4為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密方法的具體實施例一的流程圖,如圖4所示,基于XML文件解析加密超媒體文件,再利用FFMPEG單元解封裝加密音視頻子文件的數(shù)據(jù)幀,利用選擇性解密算法對所述加密音視頻子文件的數(shù)據(jù)幀進行解密;最后重新組合解密后的音視頻子文件,還原出原始的超媒體文件。
[0059]該附圖所示的【具體實施方式】包括:
[0060]步驟201:根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件。每個加密超媒體文件中都有XML文件,XML文件中記錄有加密超媒體文件的內(nèi)容信息、格式信息、文檔結(jié)構(gòu)信息等,通過加密超媒體文件中XML文件記錄的信息可以準確解析加密超媒體文件。加密音視頻子文件包括ts文件、wmv文件、mp3、mp4文件。
[0061 ]步驟202:利用FFMPEG單元去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀。與加密過程相對應,每個加密音視頻子文件都具有文件頭部和文件尾部,去除加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀。
[0062]步驟203:利用FFMPEG單元去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù)。無論是音頻數(shù)據(jù),還是視頻數(shù)據(jù),都是以數(shù)據(jù)幀的形式存在,利用FFMPEG單元去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù)(即有用信息)。
[0063]步驟204:利用解密算法對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù)。應用加密算法選擇對應的解密算法對所述加密關(guān)鍵數(shù)據(jù)進行解密,由于加密時僅使用一種加密算法,因此解密時,選擇一種對應的解密算法就能完成加密關(guān)鍵數(shù)據(jù)的解密工作。
[0064]步驟205:利用FFMPEG單元給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀。
[0065]步驟206:利用FFMPEG單元給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件。在該步驟之后可以更新超媒體文件中的XML文件。由于XML文件中記錄有超媒體文件的內(nèi)容信息、格式信息、文檔結(jié)構(gòu)信息等,對超媒體文件進行解密后,超媒體文件的內(nèi)容信息相應地會發(fā)生變化,因此XML文件也需要相應更新,以便XML文件準確反映超媒體文件的內(nèi)容信息等。
[0066]步驟207:根據(jù)所述音視頻子文件還原超媒體文件。將解密后的音視頻子文件重新組合成超媒體文件,此時的超媒體文件就是未加密的超媒體文件,可以供合法用戶使用,從而保護關(guān)系人的合法權(quán)益。
[0067]圖5為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密方法的具體實施例二的流程圖,如圖5所示,如果加密音視頻子文件中包括有加密MP3文件,在對MP3文件中的有用信息進行解密的同時,需要對MP3文件中的敏感信息(描述信息)進行解密;最后將解密后的音視頻子文件重新組成超媒體文件。
[0068]該附圖所示的【具體實施方式】中,步驟201之后,所述超媒體數(shù)據(jù)的解密方法還包括:
[0069]步驟201-1:確認所述加密音視頻子文件中的加密MP3文件。此時的MP3文件為加密后的MP3文件。
[0070]步驟201-2:利用FFMPEG單元查找所述加密MP3文件中的ID3V2頭。ID3V2頭(即描述信息)也是經(jīng)過加密后的標識。
[0071 ] 步驟201-3:利用解密算法對所述ID3V2頭進行解密。
[0072]在步驟206之后,所述超媒體數(shù)據(jù)的解密方法還包括:
[0073]步驟206-1:利用FFMPEG單元查找所述加密MP3文件中的ID3V1頭。加密MP3文件中的ID3V1頭也處于加密狀態(tài),需要進行解密,用戶才能獲得描述信息(例如作者、作曲、專輯等)O
[0074]步驟206-2:利用解密算法對所述ID3V1頭進行解密。
[0075]圖6為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的解密裝置的框圖,如圖6所示,解析單元根據(jù)XML文件解析加密超媒體文件,F(xiàn)FMPEG單元利用FFMPEG讀取加密音視頻子文件的數(shù)據(jù)幀,解密單元利用選擇性解密算法對所述加密音視頻子文件的數(shù)據(jù)幀進行解密;最后重新組合解密后的音視頻子文件,產(chǎn)生沒有加密的超媒體文件。
[0076]該附圖所示的【具體實施方式】中,所述超媒體數(shù)據(jù)的解密裝置包括解析單元21、FFMPEG單元22、解密單元23、更新單元24、還原單元25,其中,解析單元21用于根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件;FFMPEG單元22用于去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀,并去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù);解密單元23用于對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù),其中,所述FFMPEG單元還用于給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀,并給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件;更新單元24用于更新超媒體文件中的XML文件;還原單元25用于根據(jù)所述音視頻子文件還原超媒體文件。
[0077]參見圖6,F(xiàn)FMPEG單元22解封裝加密音視頻子文件的數(shù)據(jù)幀,不用解析音視頻幀數(shù)據(jù)更下一層的數(shù)據(jù)格式,因此僅利用一種與加密算法對應的解密算法就能對所述加密音視頻子文件的數(shù)據(jù)幀進行解密,實現(xiàn)方式簡單。
[0078]圖7為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)的加密方法的總體流程圖,如圖7所示,音視頻內(nèi)容的讀取基于開源的FFMPEG項目,利用FFMPEG讀取每一幀音視頻數(shù)據(jù),然后對不同位置的音視頻幀數(shù)據(jù)進行加密,而并不去解析視頻更下一層的格式,解決了多格式音視頻無法復用一套加密算法的問題,同時也省去了解析音視頻內(nèi)部格式所消耗的時間,提高了加密效率。
[0079 ]本發(fā)明利用一種統(tǒng)一的加解密方案,完成對超媒體文件的加密,超媒體文件中包含了 *.t s,*.wmv,*.mp4,*.mp3等不同格式的音視頻文件,利用一種加密算法對以上所示的多種文件進行統(tǒng)一的加密。
[0080]具體的加密流程如下:
[0081 ] Stepl、打開加密程序,導入需要加密的超媒體文件,對超媒體文件進行解析;
[0082]Step2、通過操作界面或者配置信息選取需要進行加密的超媒體中的子文件(比如ts文件、WmV文件、mp3、mp4文件),加密的策略(AES\DES等),加密的深度(100%、50%、25%、0%);
[0083]Step3-0、根據(jù)上一步中選擇的加密策略,啟動加密;
[0084]Step3_l、配置加密策略;根據(jù)工作量的大小,啟動多個加密線程,執(zhí)行加密的具體工作;
[0085]Step3_2、創(chuàng)建加密后文件存放路徑;
[0086]Step3_3、根據(jù)配置的加密信息,實例化加密類;
[0087]Step3_4、FFMPEG申請音視頻幀空間,注冊復用器,編碼器等;
[0088]Step3_5、FFMPEG將多媒體文件讀入內(nèi)存,解析多媒體文件的格式;
[0089]Step3_6、按照解析格式新建加密后的文件;
[0090]Step3_7、FFMPEG按音視頻幀讀取多媒體文件入內(nèi)存;
[0091]Step3_8、將音視頻幀內(nèi)容按加密策略送入選定的加密容器進行加密;
[0092]Step3_9、加密后的音視頻幀內(nèi)容寫入新創(chuàng)建的文件,如果是使用塊加密的算法,需要通過舍棄加密部分內(nèi)容的方式,保證加密前后幀內(nèi)容長度的一致性。
[0093]Step3-10、讀取下一幀,跳轉(zhuǎn)步驟3-8,直至媒體文件讀取完畢;
[0094]Step3_ll、保存加密后的文件,同時將內(nèi)容加密密鑰使用業(yè)務加密密鑰加密以后在超媒體文件的xml文件中進行描述,描述的內(nèi)容包括:加密的文件個數(shù)、加密的文件相對路徑、加密超媒體文件的唯一標識EncPID、加密深度、加密策略等內(nèi)容;
[0095]Step4、保存xml文件,重新生成超媒體文件;
[0096]Step5、完成超媒體文件加密。
[0097]本發(fā)明的具體實施例中,解密的流程是加密流程的逆過程,但是會提前解析超媒體中xml文件中記錄的加密策略。
[0098]Stepl、打開加密程序,通過相關(guān)安全協(xié)議獲得當前超媒體文件對應的業(yè)務加密密鑰,導入需要加密的超媒體文件,對超媒體文件進行解析;
[0099]Step2、解析超媒體中的xml文件,通過業(yè)務加密密鑰解密超媒體文件中相應的加密文件的解密密鑰,得到需要進行解密的超媒體中的子文件(比如ts文件、wmv文件、mp3、mp4文件)、加密策略(AES\DES等)、加密深度(100%、50%、25%、0% );
[0100]Step3-0、根據(jù)上一步中獲得的加密策略,啟動解密;
[0101]Step3_l、配置加密策略;根據(jù)工作量的大小,啟動多個加密線程,執(zhí)行解密的具體工作;
[0102]Step3_2、創(chuàng)建解密后文件存放路徑;
[0103]Step3_3、根據(jù)配置的解密信息,實例化解密類;
[0104]Step3_4、FFMPEG申請視頻幀空間,注冊復用器,編碼器等;
[0105]Step3_5、FFMPEG將多媒體文件讀入內(nèi)存,解析文件的格式;
[0106]Step3-6、按照解析格式新建解密后的文件;
[0107]Step3_7、FFMPEG按幀讀取多媒體文件入內(nèi)存;
[0108]Step3_8、將幀內(nèi)容按加密策略送入選定的解密容器進行解密;
[0109]Step3_9、解密后的幀內(nèi)容寫入新創(chuàng)建的文件,保證解密前后幀內(nèi)容長度的一致性。
[0110]step3-10、讀取下一幀,跳轉(zhuǎn)步驟3-8,直至媒體文件讀取完畢;
[0111]Step3-11、保存解密后的文件,同時將解密行為在xml文件中進行描述,描述的內(nèi)容包括:解密的文件個數(shù)、解密的文件相對路徑、解密超媒體文件的唯一標識EncPID、加密深度、加密策略等內(nèi)容;
[0112]Step4、保存xml文件,重新生成超媒體文件;
[0113]Step5、完成超媒體文件解密。
[0114]圖8為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密方法的流程圖;通常情況下,整個MP3文件大體分為三部分:TAG_V2 (ID3V2)、音頻數(shù)據(jù)、TAG_V1 (ID3V1)。TAG_V2和TAG_V1中分別包含了作者、作曲、專輯等敏感信息,因此也需要進行加密保護。
[0115]因此加密方案的流程描述如下:
[0116]Stepl、打開 MP3 文件;
[0117]Step2、查找 ID3V2 頭,判斷 ID3V2 標識;
[0118]Step3、采用AES加密算法加密ID3V2頭;
[0119]Step4、加密音頻數(shù)據(jù),采用選擇性的AES加密算法,有間隔加密音頻幀數(shù)據(jù);
[0120]Step5、文件結(jié)尾處,查找ID3V1頭,判斷ID3V1標識;
[0121 ] Step6、采用AES加密算法加密ID3V1頭;
[0122]Step7、保存加密完成文件。
[0123]參見圖8,如果超媒體數(shù)據(jù)中存在MP3格式的音頻文件,也可以根據(jù)用戶的需求對MP3中的敏感信息(例如作者、作曲、專輯等)進行加密,從而全面、合理保護音頻制作者的合法權(quán)益,促進超媒體行業(yè)的良性發(fā)展。
[0124]圖9為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密前敏感信息效果圖,圖10為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密后敏感信息效果圖;圖9中敏感信息(例如作者、作曲、專輯等)被加密前,各種信息清晰可見,圖10中敏感信息加密后,關(guān)鍵信息完全成亂碼,關(guān)鍵信息被掩蓋。
[0125]圖11為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密前波形圖;圖12為本發(fā)明【具體實施方式】提供的一種超媒體數(shù)據(jù)中MP3文件的加密后波形圖,如圖11、圖12所示,MP3格式中的功能信息已經(jīng)完全加擾,從波形文件可以看出,頻率也均勻分布,音頻信息被完全隱藏。
[0126]本申請?zhí)峁┑某襟w加密依據(jù)超媒體文件的特點,從兩個方面盡最大能力提升加密系統(tǒng)的效率,選擇性加密方案,可以根據(jù)實際需要靈活的選擇需要加密的文件,本申請利用一種加密算法即可實現(xiàn)超媒體文件中音視頻文件的加密,視頻文件和音頻文件是超媒體文件最主要的信息存儲載體,包含最敏感的信息,需要特別地保護。同時可以設(shè)置不同的視頻文件的加擾深度(加密深度),根據(jù)安全等級的需要選擇不同的加擾深度,低安全級別的視頻可以實現(xiàn)更快的加擾。
[0127]本發(fā)明提供一種超媒體數(shù)據(jù)的加密方法及加密裝置、解密方法及解密裝置,利用FFMPEG讀取超媒體數(shù)據(jù)中的音視頻數(shù)據(jù)幀,并利用選擇性音視頻加密算法對不同位置的音視頻數(shù)據(jù)幀進行加密,不去解析音視頻數(shù)據(jù)更下一層的格式,從而僅利用一種音視頻加密算法即可加密不同封裝格式甚至不同壓縮格式的音視頻內(nèi)容;另外,本發(fā)明在對超媒體數(shù)據(jù)中的音頻內(nèi)容進行加密的同時,可以根據(jù)用戶的需求對音頻內(nèi)容中的敏感信息(例如作者、作曲、專輯等)進行加密,全面、合理保護音頻制作者的合法權(quán)益,促進超媒體行業(yè)的良性發(fā)展。與加密過程相對,在解密流程中,利用一種音視頻解密算法即可完成不同封裝格式甚至不同壓縮格式音視頻內(nèi)容的解密,從而實現(xiàn)超媒體文件的統(tǒng)一加解密。
[0128]上述的本發(fā)明實施例可在各種硬件、軟件編碼或兩者組合中進行實施。例如,本發(fā)明的實施例也可為在數(shù)據(jù)信號處理器(Digital Signal Processor ,DSP)中執(zhí)行的執(zhí)行上述程序的程序代碼。本發(fā)明也可涉及計算機處理器、數(shù)字信號處理器、微處理器或現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)執(zhí)行的多種功能??筛鶕?jù)本發(fā)明配置上述處理器執(zhí)行特定任務,其通過執(zhí)行定義了本發(fā)明揭示的特定方法的機器可讀軟件代碼或固件代碼來完成。可將軟件代碼或固件代碼發(fā)展為不同的程序語言與不同的格式或形式。也可為不同的目標平臺編譯軟件代碼。然而,根據(jù)本發(fā)明執(zhí)行任務的軟件代碼與其他類型配置代碼的不同代碼樣式、類型與語言不脫離本發(fā)明的精神與范圍。
[0129]以上所述僅為本發(fā)明示意性的【具體實施方式】,在不脫離本發(fā)明的構(gòu)思和原則的前提下,任何本領(lǐng)域的技術(shù)人員所做出的等同變化與修改,均應屬于本發(fā)明保護的范圍。
【主權(quán)項】
1.一種超媒體數(shù)據(jù)的加密方法,其特征在于,所述超媒體數(shù)據(jù)的加密方法包括: 根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件; 利用FFMPEG單元去除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀; 利用FFMPEG單元去除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù); 利用加密算法對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù); 利用FFMPEG單元給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀; 利用FFMPEG單元給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件;以及 根據(jù)所述加密音視頻子文件生成加密超媒體文件。2.如權(quán)利要求1所述的超媒體數(shù)據(jù)的加密方法,其特征在于,根據(jù)所述加密音視頻子文件生成加密超媒體文件的步驟之前,所述超媒體數(shù)據(jù)的加密方法還包括: 更新超媒體文件中的XML文件。3.如權(quán)利要求1所述的超媒體數(shù)據(jù)的加密方法,其特征在于,所述音視頻子文件中至少包括一個MP3文件,根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件的步驟之后,所述超媒體數(shù)據(jù)的加密方法還包括: 確認所述音視頻子文件中的MP3文件; 利用FFMPEG單元查找所述MP3文件中的ID3V2頭;以及 利用加密算法對所述ID3V2頭進行加密。4.如權(quán)利要求3所述的超媒體數(shù)據(jù)的加密方法,其特征在于,利用FFMPEG單元給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件的步驟之后,所述超媒體數(shù)據(jù)的加密方法還包括: 利用FFMPEG單元查找所述MP3文件中的ID3V1頭;以及 利用加密算法對所述ID3V1頭進行加密。5.如權(quán)利要求1所述的超媒體數(shù)據(jù)的加密方法,其特征在于,利用加密算法對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù)的步驟中,根據(jù)音視頻子文件的數(shù)量啟動對應的加密線程。6.一種超媒體數(shù)據(jù)的加密裝置,其特征在于,所述超媒體數(shù)據(jù)的加密裝置包括: 解析單元,用于根據(jù)超媒體文件中的XML文件解析超媒體文件產(chǎn)生音視頻子文件; FFMPEG單元,用于除所述音視頻子文件的文件頭部和文件尾部獲得音視頻數(shù)據(jù)幀,并除所述音視頻數(shù)據(jù)幀的幀頭和幀尾獲得關(guān)鍵數(shù)據(jù); 加密單元,用于對所述關(guān)鍵數(shù)據(jù)進行加密生成加密關(guān)鍵數(shù)據(jù), 所述FFMPEG單元還用于給所述加密關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得加密音視頻數(shù)據(jù)幀,并給所述加密音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得加密音視頻子文件, 所述超媒體數(shù)據(jù)的加密裝置還包括: 合成單元,用于根據(jù)所述加密音視頻子文件生成加密超媒體文件。7.一種超媒體數(shù)據(jù)的解密方法,其特征在于,所述超媒體數(shù)據(jù)的解密方法包括: 根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件; 利用FFMPEG單元去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀; 利用FFMPEG單元去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù); 利用解密算法對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù); 利用FFMPEG單元給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀; 利用FFMPEG單元給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件;以及 根據(jù)所述音視頻子文件還原超媒體文件。8.如權(quán)利要求7所示的超媒體數(shù)據(jù)的解密方法,其特征在于,所述加密音視頻子文件至少包括一個加密MP3文件,根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件的步驟之后,所述超媒體數(shù)據(jù)的解密方法還包括: 確認所述加密音視頻子文件中的加密MP3文件; 利用FFMPEG單元查找所述加密MP3文件中的ID3V2頭;以及 利用解密算法對所述ID3V2頭進行解密。9.如權(quán)利要求8所示的超媒體數(shù)據(jù)的解密方法,其特征在于,利用FFMPEG單元給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件的步驟之后,所述超媒體數(shù)據(jù)的解密方法還包括: 利用FFMPEG單元查找所述加密MP3文件中的ID3V1頭;以及 利用解密算法對所述ID3V1頭進行解密。10.一種超媒體數(shù)據(jù)的解密裝置,其特征在于,所述超媒體數(shù)據(jù)的解密裝置包括: 解析單元,用于根據(jù)XML文件解析加密超媒體文件產(chǎn)生加密音視頻子文件; FFMPEG單元,用于去除所述加密音視頻子文件的文件頭部和文件尾部獲得加密音視頻數(shù)據(jù)幀,并去除所述加密音視頻數(shù)據(jù)幀的幀頭和幀尾獲得加密關(guān)鍵數(shù)據(jù); 解密單元,用于對所述加密關(guān)鍵數(shù)據(jù)進行解密生成關(guān)鍵數(shù)據(jù), 所述FFMPEG單元還用于給所述關(guān)鍵數(shù)據(jù)添加幀頭和幀尾獲得音視頻數(shù)據(jù)幀,并給所述音視頻數(shù)據(jù)幀添加文件頭部和文件尾部獲得音視頻子文件, 所述超媒體數(shù)據(jù)的解密裝置還包括: 還原單元,用于根據(jù)所述音視頻子文件還原超媒體文件。
【文檔編號】G06F21/10GK106096334SQ201610388256
【公開日】2016年11月9日
【申請日】2016年6月2日 公開號201610388256.3, CN 106096334 A, CN 106096334A, CN 201610388256, CN-A-106096334, CN106096334 A, CN106096334A, CN201610388256, CN201610388256.3
【發(fā)明人】田佳音, 李皓, 楊成
【申請人】中國傳媒大學