基于標(biāo)識(shí)密碼的動(dòng)態(tài)數(shù)字版權(quán)保護(hù)方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字版權(quán)保護(hù)技術(shù)領(lǐng)域,尤其涉及一種基于標(biāo)識(shí)密碼的動(dòng)態(tài)數(shù)字版權(quán)保護(hù)方法和系統(tǒng)。
【背景技術(shù)】
[0002]DRM(Digital Right Management,數(shù)字版權(quán)保護(hù))是目前對(duì)網(wǎng)絡(luò)中傳播的數(shù)字作品進(jìn)行版權(quán)保護(hù)的主要手段。DRM是采取信息安全技術(shù)手段在內(nèi)的系統(tǒng)解決方案,在保證合法的、具有權(quán)限的用戶對(duì)數(shù)字信息(如數(shù)字圖像、音頻、視頻等)正常使用的同時(shí),保護(hù)數(shù)字信息創(chuàng)作者和擁有者的版權(quán)信息,根據(jù)版權(quán)信息獲得合法收益,并在版權(quán)受到侵害時(shí)能夠鑒別數(shù)字信息的版權(quán)歸屬及版權(quán)信息的真?zhèn)巍?br>[0003]目前,現(xiàn)有的DRM安全方案主要基于PKI (Public Key Infrastructure,公鑰基礎(chǔ)設(shè)施)技術(shù)和數(shù)字證書(shū),這些現(xiàn)有的DRM安全方案的主要問(wèn)題是:數(shù)字證書(shū)管理繁瑣,系統(tǒng)運(yùn)營(yíng)成本高;系統(tǒng)負(fù)荷重,特別在用戶數(shù)量龐大的情況下,直接導(dǎo)致系統(tǒng)運(yùn)行速度緩慢,影響用戶的收視效果。
[0004]現(xiàn)有技術(shù)中的一種密碼體制為基于身份的公鑰密碼體制,其主要特性是在這一密碼體制下,公鑰可以為任意字符串。于是我們可以將某一實(shí)體的身份信息直接作為其公鑰因子,從而繞開(kāi)了公鑰和其持有者身份的綁定問(wèn)題,這會(huì)極大地減化了傳統(tǒng)PKI中CA (Certificat1n Authority,認(rèn)證管理機(jī)構(gòu))對(duì)用戶證書(shū)進(jìn)行的復(fù)雜管理。雖然公鑰密碼體制中提出了基于身份加密的思想,但是,目前還沒(méi)有一種有效、可證安全的基于身份的數(shù)字版權(quán)保護(hù)方案。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的實(shí)施例提供了一種基于標(biāo)識(shí)密碼的動(dòng)態(tài)數(shù)字版權(quán)保護(hù)方法和系統(tǒng),實(shí)現(xiàn)了利用用戶的身份信息進(jìn)行動(dòng)態(tài)數(shù)字版權(quán)安全保護(hù)的身份認(rèn)證和數(shù)據(jù)加密操作。
[0006]本發(fā)明提供了如下方案:
[0007]—種基于標(biāo)識(shí)密碼的動(dòng)態(tài)數(shù)字版權(quán)保護(hù)方法,包括:
[0008]密鑰生成中心KGC生成用戶的標(biāo)識(shí)密碼公私鑰對(duì),經(jīng)過(guò)安全通道將用戶的標(biāo)識(shí)密碼公私鑰對(duì)設(shè)置到智能密碼鑰匙USBKEY中;
[0009]將所述USBKEY置入用戶的客戶端后,所述客戶端根據(jù)用戶輸入的個(gè)人識(shí)別密碼PIN 口令激活所述USBKEY,獲取所述USBKEY中設(shè)置的用戶的標(biāo)識(shí)密碼私鑰;
[0010]所述客戶端利用所述用戶的標(biāo)識(shí)密碼私鑰對(duì)包含隨機(jī)數(shù)序列的報(bào)文實(shí)施數(shù)字簽名操作,得到簽名信息,所述客戶端將所述報(bào)文和簽名信息傳輸?shù)桨鏅?quán)管理平臺(tái)服務(wù)器;
[0011]所述版權(quán)管理平臺(tái)服務(wù)器根據(jù)設(shè)定的密鑰機(jī)制通過(guò)KGC得到所述用戶的標(biāo)識(shí)密碼公鑰,利用所述標(biāo)識(shí)密碼公鑰對(duì)所述簽名信息進(jìn)行驗(yàn)簽操作,驗(yàn)簽通過(guò)后,再根據(jù)所述用戶的權(quán)限在線處理媒體文件。
[0012]所述的密鑰生成中心KGC生成用戶的標(biāo)識(shí)密碼公私鑰對(duì),經(jīng)過(guò)安全通道將用戶的標(biāo)識(shí)密碼公私鑰對(duì)設(shè)置到智能密碼鑰匙USBKEY中,包括:
[0013]用戶的客戶端經(jīng)過(guò)安全通道向版權(quán)管理平臺(tái)服務(wù)器發(fā)送攜帶用戶的身份標(biāo)識(shí)符ID的標(biāo)識(shí)密碼公私鑰對(duì)申請(qǐng),所述版權(quán)管理平臺(tái)服務(wù)器對(duì)用戶的身份信息進(jìn)行審核,審核通過(guò)后,將用戶申請(qǐng)日期、USBKEY序列號(hào)及所述攜帶用戶的身份標(biāo)識(shí)符ID的標(biāo)識(shí)密碼公私鑰對(duì)申請(qǐng)發(fā)送到KGC ;
[0014]所述KGC根據(jù)設(shè)定的密鑰機(jī)制、用戶的身份標(biāo)識(shí)符ID、USBKEY序列號(hào)和申請(qǐng)日期得到用戶的標(biāo)識(shí)密碼公鑰,根據(jù)KGC的系統(tǒng)公開(kāi)參數(shù)和存儲(chǔ)在加密機(jī)中的系統(tǒng)主密鑰在加密機(jī)中計(jì)算得到所述用戶的標(biāo)識(shí)密碼私鑰;
[0015]所述KGC將用戶的標(biāo)識(shí)密鑰公私鑰對(duì)通過(guò)安全通道傳輸?shù)桨鏅?quán)管理平臺(tái)服務(wù)器,并將用戶的USBKEY序列號(hào)、用戶申請(qǐng)日期,以及為用戶的USBKEY分配的媒體下載和播放權(quán)限進(jìn)行存儲(chǔ);
[0016]所述版權(quán)管理平臺(tái)服務(wù)器經(jīng)過(guò)安全通道將用戶的標(biāo)識(shí)密碼公私鑰對(duì)下載并安裝到內(nèi)置有隨機(jī)數(shù)發(fā)生器的USBKEY中。
[0017]所述的KGC根據(jù)設(shè)定的密鑰機(jī)制、用戶的身份標(biāo)識(shí)符ID、USBKEY序列號(hào)和申請(qǐng)日期得到用戶的標(biāo)識(shí)密碼公鑰,根據(jù)KGC的系統(tǒng)公開(kāi)參數(shù)和存儲(chǔ)在加密機(jī)中的系統(tǒng)主密鑰在加密機(jī)中計(jì)算得到用戶的標(biāo)識(shí)密碼私鑰,包括:
[0018]所述KGC中的系統(tǒng)參數(shù)生成模塊生成附合安全要求的橢圓曲線E,G1是一個(gè)加法群,G2是一個(gè)乘法群,LG1XG1 — G2為一個(gè)雙線性配對(duì),P是G1的生成元,定義四種雜湊哈希算法=H1, H2, H3,和H4,產(chǎn)生域上隨機(jī)的大數(shù)s作為系統(tǒng)主密鑰,將所述s存儲(chǔ)在加密機(jī)中,將(E,G1, G2, e, H1, H2, H3, H4, P,sP)公開(kāi);
[0019]所述KGC中的用戶標(biāo)識(shí)密碼密鑰生成模塊利用用戶的唯一身份標(biāo)識(shí)ID、USBKEY序列號(hào)、用戶申請(qǐng)日期以及密鑰有效期拼接成用戶的公鑰字串PKS,則生成所述用戶的標(biāo)識(shí)密碼公鑰為Q = H1 (PKS),在加密機(jī)中計(jì)算得到用戶的標(biāo)識(shí)密碼私鑰為dID = sQ。
[0020]所述的將所述USBKEY置入用戶的客戶端后,所述客戶端根據(jù)用戶輸入的個(gè)人識(shí)別密碼PIN 口令激活所述USBKEY,獲取所述USBKEY中設(shè)置的用戶的標(biāo)識(shí)密碼私鑰,包括:[0021 ] 所述USBKEY中的標(biāo)識(shí)密碼密鑰管理子模塊將用戶的標(biāo)識(shí)密鑰公私鑰對(duì)存儲(chǔ)在加密保護(hù)的EPROM單元中;
[0022]在用戶登錄客戶端,USBKEY的硬件設(shè)備管理子模塊中的USB識(shí)別控制單元識(shí)別出USBKEY插入客戶端操作后,硬件設(shè)備管理子模塊中的PIN碼鑒別CPU單元判斷用戶輸入的PIN碼口令次數(shù)是否超過(guò)規(guī)定次數(shù),若是,結(jié)束;若否,繼續(xù)下一步;
[0023]待用戶輸入PIN碼口令后,USB識(shí)別控制單元控制客戶端的CPU讀取用戶輸入的PIN碼口令,PIN碼鑒別CPU單元判斷輸入的PIN碼口令是否正確,若是,繼續(xù)下一步;若否,提示用戶PIN碼口令錯(cuò)誤;
[0024]所述客戶端判斷USBKEY中的EPROM單元中是否存在有效的有效期內(nèi)的標(biāo)識(shí)密碼公私鑰對(duì),如若存在,則提取所述EPROM單元中的標(biāo)識(shí)密碼公私鑰對(duì)。
[0025]所述的客戶端利用所述用戶的標(biāo)識(shí)密碼私鑰對(duì)包含隨機(jī)數(shù)序列的報(bào)文實(shí)施數(shù)字簽名操作,得到簽名信息,所述客戶端將報(bào)文和簽名信息傳輸?shù)桨鏅?quán)管理平臺(tái)服務(wù)器,包括:
[0026]所述客戶端利用所述USBKEY中的隨機(jī)數(shù)發(fā)生器產(chǎn)生隨機(jī)數(shù)序列,將隨機(jī)數(shù)序列、所述用戶的標(biāo)識(shí)密碼公鑰a,以及媒體播放或下載的相關(guān)信息打包成報(bào)文m,所述客戶端通過(guò)所述USBKEY中的標(biāo)識(shí)密碼運(yùn)算子模塊利用所述用戶的標(biāo)識(shí)密碼私鑰對(duì)所述報(bào)文m實(shí)施數(shù)字簽名操作得到簽名信息,設(shè)k e RZ; ;T = e(sQ, P)k ;h = H2 (m, T) ;S = (k_h)sQ,針對(duì)m的簽名為(h,S);
[0027]所述客戶端根據(jù)所述USBKEY中的算法管理子模塊選擇的加密算法,通過(guò)所述USBKEY中的標(biāo)識(shí)密碼運(yùn)算子模塊利用接收方的標(biāo)識(shí)密碼公鑰Q對(duì)所述報(bào)文m加密得到密文C,通過(guò)安全通道將所述簽名信息和密文C 一同發(fā)送至版權(quán)管理平臺(tái)服務(wù)器。
[0028]所述的版權(quán)管理平臺(tái)服務(wù)器根據(jù)設(shè)定的密鑰機(jī)制通過(guò)KGC得到用戶的標(biāo)識(shí)密碼公鑰,利用所述標(biāo)識(shí)密碼公鑰對(duì)所述簽名信息進(jìn)行驗(yàn)簽操作,包括:
[0029]所述版權(quán)管理平臺(tái)服務(wù)器接收到所述簽名信息和密文C后,利用自己的私鑰解密所述密文C恢復(fù)出報(bào)文m ;所述版權(quán)管理平臺(tái)服務(wù)器從報(bào)文m中提取用戶的標(biāo)識(shí)密碼公鑰a,判斷用戶的標(biāo)識(shí)密碼公鑰a在有效期內(nèi)后,將報(bào)文和簽名信息轉(zhuǎn)發(fā)到KGC ;
[0030]所述KGC獲得所述用戶的唯一身份標(biāo)識(shí)ID,根據(jù)所述ID查詢數(shù)據(jù)庫(kù)得到所述用戶的USBKEY序列號(hào)、用戶申請(qǐng)日期和密鑰更新周期,通過(guò)所述用戶的USBKEY序列號(hào)、用戶申請(qǐng)日期和密鑰更新周期計(jì)算得到所述用戶的標(biāo)識(shí)密碼公鑰b,比較所述標(biāo)識(shí)密碼公鑰a和所述標(biāo)識(shí)密碼公鑰b是否一致;
[0031]當(dāng)所述標(biāo)識(shí)密碼公鑰a和所述標(biāo)識(shí)密碼公鑰b —致,并且所述標(biāo)識(shí)密碼公鑰a在有效期內(nèi),則所述版權(quán)管理平臺(tái)服務(wù)器利用所述標(biāo)識(shí)密碼公鑰a對(duì)所接收的簽名信息進(jìn)行驗(yàn)簽操作,計(jì)算T = e(S, P) e (Q, sP)h,判斷h是否等于H2 (m, T),若相等,則驗(yàn)簽通過(guò),若不相等,則驗(yàn)簽失敗。
[0032]所述的方法還包括:
[0033]所述用戶的客戶端向版權(quán)管理平臺(tái)服務(wù)器發(fā)送標(biāo)識(shí)密碼公私鑰對(duì)更新請(qǐng)求或作廢請(qǐng)求后,所述版權(quán)管理平臺(tái)服務(wù)器對(duì)用戶的身份信息進(jìn)行審核,當(dāng)審核通過(guò)后,通過(guò)所述用戶對(duì)隨機(jī)數(shù)序列進(jìn)行簽名操作,所述版權(quán)管理平臺(tái)服務(wù)器對(duì)簽名進(jìn)行驗(yàn)簽操作,驗(yàn)簽通過(guò)后,所述版權(quán)管理平臺(tái)服務(wù)器向KGC申請(qǐng)更新標(biāo)識(shí)密碼公私鑰對(duì)或撤銷標(biāo)識(shí)密碼公私鑰對(duì);
[0034]所述KGC更新所述用戶的標(biāo)識(shí)密碼公私鑰對(duì),并將更新后的標(biāo)識(shí)密碼公私鑰對(duì)通過(guò)版權(quán)管理平臺(tái)服務(wù)器發(fā)送至USBKEY ;或者,所述KGC撤銷所述用戶的標(biāo)識(shí)密碼公私鑰對(duì),通過(guò)版權(quán)管理平臺(tái)服務(wù)器將撤銷所述用戶的標(biāo)識(shí)密碼公私鑰對(duì)的消息發(fā)送至USBKEY ;
[0035]所述的USBKEY通過(guò)標(biāo)識(shí)密碼密鑰管理子模塊中的密鑰使用更新單元用更新后的標(biāo)識(shí)密碼公私鑰對(duì)替換原先存儲(chǔ)的標(biāo)識(shí)密碼公私鑰對(duì);接收到撤銷所述用戶的標(biāo)識(shí)密碼公私鑰對(duì)的消息后,通過(guò)標(biāo)識(shí)密碼密鑰管理子模塊中的密鑰存儲(chǔ)撤銷單元撤銷所述用戶的標(biāo)識(shí)密碼公私鑰對(duì)。
[0036]一種基于標(biāo)識(shí)密碼的動(dòng)態(tài)數(shù)字版權(quán)保護(hù)系統(tǒng),包括:KGC、客戶端和版權(quán)管理平臺(tái)服務(wù)器;
[0037]所述的KGC,用于生成用戶的標(biāo)識(shí)密碼公私鑰對(duì),經(jīng)過(guò)安全通道將用戶的標(biāo)識(shí)密碼公私鑰對(duì)設(shè)置到智能密碼鑰匙USBKEY中;
[0038]所述的客戶端,用于置入所述USBKEY,根據(jù)用戶輸入的個(gè)人識(shí)別密碼PIN 口令激活所述USBKEY,獲取所述USBKEY中設(shè)置的用戶的標(biāo)識(shí)密碼私鑰;利用所述用戶的標(biāo)識(shí)密碼私鑰對(duì)包含隨機(jī)數(shù)序列的報(bào)文實(shí)施數(shù)字簽名操作,得到簽名信息,將所述報(bào)文和簽名信息傳輸?shù)桨鏅?quán)管理平臺(tái)服務(wù)器;
[0039]所述的版權(quán)管理平臺(tái)服務(wù)器,用于根據(jù)設(shè)定的密鑰機(jī)制通過(guò)KGC得到所述用戶的標(biāo)識(shí)密碼公鑰,利用所述標(biāo)識(shí)密碼公鑰對(duì)所述簽名信息進(jìn)行驗(yàn)簽操作,驗(yàn)簽通過(guò)后,再根據(jù)所述用戶的權(quán)限在線處理媒體文件。
[0040]所述的KGC包括:系統(tǒng)參數(shù)生成模塊、用戶標(biāo)識(shí)密碼密鑰生成模塊和驗(yàn)簽?zāi)K
[0041]所述的系統(tǒng)參數(shù)生成模塊,用于生成附合安全要求的橢圓曲線E,G1是一個(gè)加法群,G2是一個(gè)乘法群,LG1XG1 — G2為一個(gè)雙線性配對(duì),P是G1的生成元,定義四種雜湊哈希算法=H1, H2, H3,和H4,產(chǎn)生域上隨機(jī)的大數(shù)s作為系統(tǒng)主密鑰,將所述s存儲(chǔ)在加密機(jī)中,將(E,G1, G2, e, H1, H2, H3, H4, P,sP)公開(kāi);
[0042]所述的用戶標(biāo)識(shí)密碼密鑰生成模塊,用于利用用戶的唯一身份標(biāo)識(shí)ID、USBKEY序