本發(fā)明涉及數(shù)據(jù)文件加解密領(lǐng)域,尤其涉及一種在網(wǎng)絡(luò)傳播過(guò)程中可充分保護(hù)數(shù)字版權(quán)的數(shù)據(jù)文件加解密方法及系統(tǒng)。
背景技術(shù):
隨著電子設(shè)備和網(wǎng)絡(luò)的快速發(fā)展,現(xiàn)在人們普遍喜好從網(wǎng)絡(luò)上直接查看或者下載文件,特別是影音文件,比如,目前,像愛(ài)奇藝、騰訊視頻等影音類網(wǎng)站已經(jīng)成為大多數(shù)人日常生活中不可缺少的存在,當(dāng)然還有一些專門類別的影音類的網(wǎng)站,成為一些專門人群的選擇,比如一些學(xué)習(xí)網(wǎng)站,這些網(wǎng)站的存在極大的方便了人們的娛樂(lè)、生活、學(xué)習(xí)等方方面面。然而網(wǎng)上的有些文件是有產(chǎn)權(quán)保護(hù)的,特別是剛剛推出的電影文件和音樂(lè)文件等,消費(fèi)者在觀看或者下載這些文件時(shí)是需要收費(fèi)的,但是,有些用戶在付費(fèi)下載了這些收費(fèi)文件后又免費(fèi)向周圍的人傳播,更有甚者通過(guò)網(wǎng)絡(luò)免費(fèi)傳播,極大的損害了發(fā)行者的利益。
所以,現(xiàn)在亟需一種對(duì)數(shù)據(jù)文件在網(wǎng)絡(luò)傳播過(guò)程中進(jìn)行版權(quán)保護(hù)的加解密方法,使消費(fèi)者付費(fèi)下載的數(shù)據(jù)文件只能在對(duì)應(yīng)的終端設(shè)備上打開(kāi),從而有效防止盜版發(fā)生,加大對(duì)數(shù)字版權(quán)的保護(hù)力度。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種數(shù)據(jù)文件服務(wù)端加密方法及系統(tǒng),與所述用戶端的用戶特征標(biāo)識(shí)之間存在對(duì)應(yīng)關(guān)系,能夠?qū)λ鰯?shù)據(jù)文件進(jìn)行更可靠的加密行為。
本發(fā)明的另一目的是提供一種數(shù)據(jù)文件用戶端的解密方法及系統(tǒng),與所述用戶端的用戶特征標(biāo)識(shí)之間存在對(duì)應(yīng)關(guān)系,能夠有效增強(qiáng)解密的難度。
為了實(shí)現(xiàn)上述目的,本發(fā)明公開(kāi)了一種數(shù)據(jù)文件服務(wù)端加密方法,包括:
從用戶數(shù)據(jù)庫(kù)中獲取預(yù)先分配給用戶端的數(shù)據(jù)密鑰;
利用所述數(shù)據(jù)密鑰對(duì)用戶發(fā)出請(qǐng)求的數(shù)據(jù)文件進(jìn)行加密;
基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件;
將所述用戶證書文件及加密后的數(shù)據(jù)文件傳送至所述用戶端。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件服務(wù)端加密方法采用雙重加密體系,不僅利用與所述用戶端對(duì)應(yīng)的所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密,還基于所述用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件,有效增強(qiáng)了加密強(qiáng)度,而且,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,能夠?qū)λ鰯?shù)據(jù)文件進(jìn)行更可靠的加密行為,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
較佳地,基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件包括:
讀取所述用戶端的用戶特征標(biāo)識(shí);
對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
使用預(yù)先生成的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰,其中所述公共密鑰文件在生成后寫入所述用戶端;及
使用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密,藉此,極大提升了所述加密方法的加密強(qiáng)度。
較佳地,對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰之前,還包括利用在代碼中固化的隨機(jī)產(chǎn)生的guid字符串加擾終端設(shè)備id或用戶注冊(cè)時(shí)的用戶id,從而得到一個(gè)具有高隨機(jī)性的所述特征密鑰。
較佳地,所述用戶特征標(biāo)識(shí)的長(zhǎng)度為16字節(jié),所述特征密鑰的長(zhǎng)度為512字節(jié),從而進(jìn)一步提升了加密強(qiáng)度。
較佳地,所述特征密鑰是通過(guò)采用散列函數(shù)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行散列值計(jì)算而得到。
較佳地,所述用戶特征標(biāo)識(shí)為終端設(shè)備身份標(biāo)識(shí)或/和用戶注冊(cè)身份標(biāo)識(shí)。
較佳地,所述數(shù)據(jù)密鑰和所述公共密鑰的長(zhǎng)度為512字節(jié),使得計(jì)算能力較差的終端設(shè)備也能快速運(yùn)行,降低對(duì)cpu的占用率。
較佳地,利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密時(shí),以扇區(qū)為單位讀取、加密所述數(shù)據(jù)文件,所述數(shù)據(jù)文件的扇區(qū)號(hào)參與加密計(jì)算,有效提升了加密強(qiáng)度。
較佳地,所述數(shù)據(jù)密鑰為對(duì)應(yīng)所述用戶特征標(biāo)識(shí)預(yù)先隨機(jī)生成。
為了實(shí)現(xiàn)上述目的,本發(fā)明公開(kāi)了一種數(shù)據(jù)文件服務(wù)端加密系統(tǒng),包括:
數(shù)據(jù)密鑰獲取模塊,用于從用戶數(shù)據(jù)庫(kù)中獲取預(yù)先分配給用戶端的數(shù)據(jù)密鑰;
數(shù)據(jù)文件加密模塊,用于利用所述數(shù)據(jù)密鑰對(duì)用戶發(fā)出請(qǐng)求的數(shù)據(jù)文件進(jìn)行加密;
數(shù)據(jù)密鑰加密模塊,用于基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件;
傳送模塊,用于將所述用戶證書文件及加密后的數(shù)據(jù)文件傳送至所述用戶端。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件服務(wù)端加密系統(tǒng)采用雙重加密體系,不僅利用與所述用戶端對(duì)應(yīng)的所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密,還基于所述用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件,有效增強(qiáng)了加密強(qiáng)度,而且,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,能夠?qū)λ鰯?shù)據(jù)文件進(jìn)行更可靠的加密行為,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
較佳地,所述數(shù)據(jù)密鑰加密模塊包括:
第一讀取模塊,用于讀取所述用戶端的用戶特征標(biāo)識(shí);
計(jì)算模塊,用于對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
加擾模塊,用于使用預(yù)先生成的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰,其中所述公共密鑰文件在生成后寫入所述用戶端;
加密子模塊,用于使用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密,藉此,極大提升了所述加密系統(tǒng)的加密強(qiáng)度。
較佳地,所述數(shù)據(jù)密鑰為對(duì)應(yīng)所述用戶特征標(biāo)識(shí)預(yù)先隨機(jī)生成。
為了實(shí)現(xiàn)上述另一目的,本發(fā)明公開(kāi)了一種數(shù)據(jù)文件服務(wù)端解密方法,包括:
從保存在用戶端的用戶證書文件中讀取用戶證書;
基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰;
使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件用戶端解密方法首先從所述用戶證書文件中解密出所述數(shù)據(jù)密鑰,而后再利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密,有效增強(qiáng)了解密的難度,另外,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
較佳地,基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰包括:
讀取所述用戶特征標(biāo)識(shí);
對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
使用保存在所述用戶端的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰;
使用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰,藉此,極大提升了所述解密方法的難度。
較佳地,所述特征密鑰是通過(guò)采用散列函數(shù)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行散列值計(jì)算而得到。
較佳地,使用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密時(shí),以扇區(qū)為單位讀取、解密所述數(shù)據(jù)文件,所述數(shù)據(jù)文件的扇區(qū)號(hào)參與解密計(jì)算,有效提升了解密難度。
較佳地,在使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密之后,還包括在用戶端播放所述數(shù)據(jù)文件,進(jìn)而所述數(shù)據(jù)文件可以實(shí)現(xiàn)解密后自動(dòng)播放及邊解密邊播放。
為了實(shí)現(xiàn)上述另一目的,本發(fā)明公開(kāi)了一種數(shù)據(jù)文件服務(wù)端解密系統(tǒng),包括:
第二讀取模塊,用于用戶端從保存在所述用戶端的用戶證書文件中讀取用戶證書;
數(shù)據(jù)密鑰解密模塊,用于基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰;
數(shù)據(jù)文件解密模塊,用于使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件用戶端解密系統(tǒng)首先從所述用戶證書文件中解密出所述數(shù)據(jù)密鑰,而后再利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密,有效增強(qiáng)了解密的難度,另外,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
較佳地,所述數(shù)據(jù)密鑰解密模塊包括:
第三讀取模塊,用于讀取所述用戶端的用戶特征標(biāo)識(shí);
計(jì)算模塊,用于對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
加擾模塊,用于使用保存在所述用戶端的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰;
解密子模塊,用于使用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密所述數(shù)據(jù)密鑰。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰,藉此,極大提升了所述解密系統(tǒng)的解密難度。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例一提供的數(shù)據(jù)文件服務(wù)端加密方法的流程圖。
圖2是本發(fā)明實(shí)施例一中基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件的流程圖。
圖3是本發(fā)明實(shí)施例二提供的數(shù)據(jù)文件服務(wù)端加密系統(tǒng)的結(jié)構(gòu)示意圖。
圖4是本發(fā)明實(shí)施例三提供的數(shù)據(jù)文件用戶端解密方法的流程圖。
圖5是本發(fā)明實(shí)施例三中基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰的流程圖。
圖6是本發(fā)明實(shí)施例四提供的數(shù)據(jù)文件用戶端解密系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為詳細(xì)說(shuō)明本發(fā)明的技術(shù)內(nèi)容、結(jié)構(gòu)特征、實(shí)現(xiàn)原理及所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖詳予說(shuō)明。
實(shí)施例一
請(qǐng)參閱圖1,本發(fā)明的數(shù)據(jù)文件服務(wù)端加密方法包括:
101、從用戶數(shù)據(jù)庫(kù)中獲取預(yù)先分配給用戶端的數(shù)據(jù)密鑰;
102、利用所述數(shù)據(jù)密鑰對(duì)用戶發(fā)出請(qǐng)求的數(shù)據(jù)文件進(jìn)行加密;
103、基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件;
104、將所述用戶證書文件及加密后的數(shù)據(jù)文件傳送至所述用戶端。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件服務(wù)端加密方法采用雙重加密體系,不僅利用與所述用戶端對(duì)應(yīng)的所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密,還基于所述用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件,有效增強(qiáng)了加密強(qiáng)度,而且,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,能夠?qū)λ鰯?shù)據(jù)文件進(jìn)行更可靠的加密行為,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
具體而言,請(qǐng)參閱圖2,在103中,基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件包括:
1031、讀取所述用戶端的用戶特征標(biāo)識(shí);
1033、對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
1034、使用預(yù)先生成的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰,其中所述公共密鑰文件在生成后寫入所述用戶端;及
1035、使用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密,藉此,極大提升了所述加密方法的加密強(qiáng)度。
具體而言,在1033之前,即對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰之前,還包括利用在代碼中固化的隨機(jī)產(chǎn)生的guid字符串加擾終端設(shè)備id或用戶注冊(cè)時(shí)的用戶id(1032),從而得到一個(gè)具有高隨機(jī)性的所述特征密鑰。
在本實(shí)施例中,由于用戶特征標(biāo)識(shí)的字節(jié)長(zhǎng)度比較短,導(dǎo)致其形成加密密鑰時(shí)加密強(qiáng)度會(huì)比較弱,所以使用密鑰生成器生成基于所述用戶特征標(biāo)識(shí)的512字節(jié)的所述特征密鑰。為了進(jìn)一步提高加密強(qiáng)度,在生成所述特征密鑰時(shí),還采用散列函數(shù)(md5)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行散列值計(jì)算,基于計(jì)算出的md5散列值生成所述特征密鑰;所述用戶特征標(biāo)識(shí)的長(zhǎng)度為16字節(jié),在具體實(shí)施時(shí)如果所述用戶特征標(biāo)識(shí)的實(shí)際長(zhǎng)度小于16字節(jié)作填充操作,使之達(dá)到16字節(jié),若所述用戶特征標(biāo)識(shí)的實(shí)際長(zhǎng)度大于16字節(jié)則作截取操作,使之達(dá)到16字節(jié)。
較佳地,所述用戶特征標(biāo)識(shí)可為終端設(shè)備id(終端設(shè)備身份標(biāo)識(shí)),或用戶注冊(cè)時(shí)自定義的用戶id(用戶注冊(cè)身份標(biāo)識(shí)),當(dāng)然也可把終端設(shè)備id和用戶id一起作為用戶特征標(biāo)識(shí),為了提高運(yùn)算速度,在本實(shí)施例中采用單一的終端設(shè)備id或用戶id。之所以使用可以基于用戶id的用戶密鑰,是因?yàn)橛行┙K端設(shè)備,例如采用ios系統(tǒng)的蘋果硬件設(shè)備不允許外部程序調(diào)用本機(jī)的設(shè)備id,所以針對(duì)這種情況可以采用注冊(cè)時(shí)自定義的用戶id代替終端設(shè)備id。
較佳地,為了使得計(jì)算能力較差的終端設(shè)備也能快速運(yùn)行,降低對(duì)cpu的占用率,所述數(shù)據(jù)密鑰和所述公共密鑰的長(zhǎng)度為512字節(jié)。較佳地,利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密時(shí),以扇區(qū)(512字節(jié))為單位讀取、加密所述數(shù)據(jù)文件,所述數(shù)據(jù)文件的扇區(qū)號(hào)參與加密計(jì)算,從而進(jìn)一步加強(qiáng)該加密方法的加密強(qiáng)度,大大降低了被破解的可能性。
較佳地,所述數(shù)據(jù)密鑰為對(duì)應(yīng)所述用戶特征標(biāo)識(shí)預(yù)先隨機(jī)生成,所述數(shù)據(jù)密鑰對(duì)于每個(gè)注冊(cè)用戶來(lái)說(shuō)是唯一的,用戶注冊(cè)時(shí)服務(wù)端會(huì)隨機(jī)為該用戶分配一個(gè)唯一的512字節(jié)的數(shù)據(jù)密鑰,不同用戶的數(shù)據(jù)密鑰是不同的;當(dāng)然,也可以在生產(chǎn)設(shè)備時(shí)為終端設(shè)備分配一個(gè)與設(shè)備id對(duì)應(yīng)且唯一的數(shù)據(jù)密鑰。所述公共密鑰文件可以在用戶下載app時(shí)寫入終端設(shè)備中,也可以是在廠商生產(chǎn)設(shè)備時(shí)即寫入保存在終端設(shè)備中。
實(shí)施例二
圖3是本發(fā)明之實(shí)施例二提供的數(shù)據(jù)文件服務(wù)端加密系統(tǒng)的結(jié)構(gòu)示意圖。所述數(shù)據(jù)文件服務(wù)端加密系統(tǒng)包括:
數(shù)據(jù)密鑰獲取模塊10,用于從用戶數(shù)據(jù)庫(kù)中獲取預(yù)先分配給用戶端的數(shù)據(jù)密鑰;
數(shù)據(jù)文件加密模塊20,用于利用所述數(shù)據(jù)密鑰對(duì)用戶發(fā)出請(qǐng)求的數(shù)據(jù)文件進(jìn)行加密;
數(shù)據(jù)密鑰加密模塊30,用于基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成用戶證書文件;
傳送模塊40,用于將所述用戶證書文件及加密后的數(shù)據(jù)文件傳送至所述用戶端。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件服務(wù)端加密系統(tǒng)采用雙重加密體系,不僅利用與所述用戶端對(duì)應(yīng)的所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行加密,還基于所述用戶特征標(biāo)識(shí)對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件,有效增強(qiáng)了加密強(qiáng)度,而且,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,能夠?qū)λ鰯?shù)據(jù)文件進(jìn)行更可靠的加密行為,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
具體地,所述數(shù)據(jù)密鑰加密模塊30包括:
第一讀取模塊31,用于讀取所述用戶端的用戶特征標(biāo)識(shí);
計(jì)算模塊32,用于對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
加擾模塊33,用于使用預(yù)先生成的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰,其中所述公共密鑰文件在生成后寫入所述用戶端;
加密子模塊34,用于使用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密并生成所述用戶證書文件。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述數(shù)據(jù)密鑰進(jìn)行加密,藉此,極大提升了所述加密系統(tǒng)的加密強(qiáng)度。
較佳地,所述數(shù)據(jù)密鑰為對(duì)應(yīng)所述用戶特征標(biāo)識(shí)預(yù)先隨機(jī)生成,所述數(shù)據(jù)密鑰對(duì)于每個(gè)注冊(cè)用戶來(lái)說(shuō)是唯一的,用戶注冊(cè)時(shí)服務(wù)端會(huì)隨機(jī)為該用戶分配一個(gè)唯一的512字節(jié)的數(shù)據(jù)密鑰,不同用戶的數(shù)據(jù)密鑰是不同的。
實(shí)施例三
圖4是本發(fā)明之實(shí)施例三提供的數(shù)據(jù)文件用戶端解密方法的流程圖。所述數(shù)據(jù)文件用戶端解密方法包括:
201、從保存在用戶端的用戶證書文件中讀取用戶證書;
202、基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰;
203、使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件用戶端解密方法首先從所述用戶證書文件中解密出所述數(shù)據(jù)密鑰,而后再利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密,有效增強(qiáng)了解密的難度,另外,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
請(qǐng)參閱圖5,較佳地,在202中,基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰包括:
2021、讀取所述用戶特征標(biāo)識(shí);
2022、對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
2023、使用保存在所述用戶端的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰;
2024、使用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰,藉此,極大提升了所述解密方法的解密難度。
較佳地,所述特征密鑰是通過(guò)采用散列函數(shù)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行散列值計(jì)算而得到。
較佳地,使用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密時(shí),以扇區(qū)為單位讀取、解密所述數(shù)據(jù)文件,所述數(shù)據(jù)文件的扇區(qū)號(hào)參與解密計(jì)算,有效增強(qiáng)了解密難度。
較佳地,在使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密之后,還包括在用戶端播放所述數(shù)據(jù)文件,進(jìn)而所述數(shù)據(jù)文件可以實(shí)現(xiàn)解密后自動(dòng)播放及邊解密邊播放。
實(shí)施例四
圖6是本發(fā)明之實(shí)施例四提供的數(shù)據(jù)文件用戶端解密系統(tǒng)的結(jié)構(gòu)示意圖。所述數(shù)據(jù)文件用戶端解密系統(tǒng)包括:
第二讀取模塊50,用于用戶端從保存在所述用戶端的用戶證書文件中讀取用戶證書;
數(shù)據(jù)密鑰解密模塊60,用于基于所述用戶端的用戶特征標(biāo)識(shí)對(duì)所述用戶證書文件進(jìn)行解密得到數(shù)據(jù)密鑰;
數(shù)據(jù)文件解密模塊70,用于使用所述數(shù)據(jù)密鑰對(duì)加密的數(shù)據(jù)文件進(jìn)行解密。
與現(xiàn)有技術(shù)相比,本發(fā)明的數(shù)據(jù)文件用戶端解密系統(tǒng)首先從所述用戶證書文件中解密出所述數(shù)據(jù)密鑰,而后再利用所述數(shù)據(jù)密鑰對(duì)所述數(shù)據(jù)文件進(jìn)行解密,有效增強(qiáng)了解密的難度,另外,所述數(shù)據(jù)密鑰及用戶證書文件皆與所述用戶端之間存在對(duì)應(yīng)關(guān)系,使得所述數(shù)據(jù)文件只能在對(duì)應(yīng)的用戶端才能被解密并打開(kāi),從而極大加強(qiáng)了對(duì)數(shù)字版權(quán)的保護(hù)力度。
較佳地,所述數(shù)據(jù)密鑰解密模塊60包括:
第三讀取模塊61,用于讀取所述用戶端的用戶特征標(biāo)識(shí);
計(jì)算模塊62,用于對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到特征密鑰;
加擾模塊63,用于使用保存在所述用戶端的公共密鑰文件中的公共密鑰對(duì)所述特征密鑰加擾得到用戶密鑰;
解密子模塊64,用于使用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密所述數(shù)據(jù)密鑰。
通過(guò)對(duì)所述用戶特征標(biāo)識(shí)進(jìn)行計(jì)算得到所述特征密鑰,再通過(guò)所述公共密鑰對(duì)對(duì)所述特征密鑰加擾得到所述用戶密鑰,最后利用所述用戶密鑰對(duì)所述用戶證書文件進(jìn)行解密得到所述數(shù)據(jù)密鑰,藉此,極大提升了所述解密系統(tǒng)的解密難度。
以上所揭露的僅為本發(fā)明的較佳實(shí)例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明申請(qǐng)專利范圍所作的等同變化,仍屬于本發(fā)明所涵蓋的范圍。