雙向認(rèn)證的方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字電視技術(shù)領(lǐng)域,尤其是涉及一種雙向認(rèn)證的方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]目前數(shù)字電視領(lǐng)域中,基于單、雙向網(wǎng)絡(luò)的業(yè)務(wù)及內(nèi)容保護(hù)系統(tǒng)的終端(例如機(jī)頂盒)的安全芯片均采用《ETSI TS103162V1.1.1 (2010-10)》標(biāo)準(zhǔn)。其生產(chǎn)安全芯片的通用做法如下:
[0003]1、有線運(yùn)營(yíng)商向當(dāng)?shù)氐臉I(yè)務(wù)及內(nèi)容方案提供商提出采購(gòu)安全芯片需求,業(yè)務(wù)及內(nèi)容方案商提供給運(yùn)營(yíng)商已經(jīng)與方案商集成的安全芯片廠商列表;
[0004]2、有線運(yùn)營(yíng)商選擇安全芯片廠商后,向安全芯片廠商提出定制與當(dāng)?shù)貥I(yè)務(wù)及內(nèi)容方案提供商匹配的安全芯片;
[0005]3、業(yè)務(wù)及內(nèi)容方案提供商在每個(gè)已集成的安全芯片廠商放置一個(gè)黑盒子,業(yè)務(wù)及內(nèi)容方案提供商將運(yùn)營(yíng)商定制安全芯片的安全密鑰(SCK)發(fā)送給黑盒子,其中,安全芯片的安全密鑰(SCK)也稱為終端根密鑰。
[0006]4、黑盒子將安全密鑰(SCK)寫(xiě)入安全芯片,安全芯片廠商生產(chǎn)安全芯片;
[0007]5、安全芯片廠商將生產(chǎn)的安全芯片發(fā)給業(yè)務(wù)及內(nèi)容方案提供商同時(shí)返還安全芯片的安全密鑰(SCK);
[0008]6、業(yè)務(wù)及內(nèi)容方案提供商將采購(gòu)的安全芯片和安全密鑰(SCK)提供給有線運(yùn)營(yíng)商。
[0009]由上述過(guò)程可知,現(xiàn)有技術(shù)中,每個(gè)終端的安全芯片在生產(chǎn)時(shí)都要預(yù)埋安全密鑰(SCK),而安全密鑰(SCK)需要業(yè)務(wù)及內(nèi)容方案提供商來(lái)提供,并且每個(gè)業(yè)務(wù)及內(nèi)容方案提供商的安全密鑰(SCK)都不相同,這就導(dǎo)致了終端只能匹配自己的密鑰提供商,也就是說(shuō),只有采用了密鑰提供商方案的數(shù)字運(yùn)營(yíng)商才能使用這些終端,從而導(dǎo)致了終端的通用性差。
[0010]此外,按照《ETSI TS103162V1.1.1 (2010-10)》標(biāo)準(zhǔn),系統(tǒng)認(rèn)證過(guò)程只需前端服務(wù)器產(chǎn)生隨機(jī)數(shù),終端將隨機(jī)數(shù)作為nonce (認(rèn)證因子)送入自身的安全芯片,終端的安全芯片產(chǎn)生nonce response (認(rèn)證因子響應(yīng))返回前端服務(wù)器即完成認(rèn)證。在這種認(rèn)證過(guò)程中,只要克隆者獲取前端服務(wù)器下發(fā)的隨機(jī)數(shù),破解nonce應(yīng)答機(jī)制就可完成對(duì)終端的克隆,因此,現(xiàn)有終端的安全性不高,存在被截取克隆的風(fēng)險(xiǎn)。
【發(fā)明內(nèi)容】
[0011]本發(fā)明的目的在于提供一種雙向認(rèn)證的方法、裝置及系統(tǒng),以提高終端的安全性。
[0012]為達(dá)到上述目的,本發(fā)明提供了一種終端認(rèn)證方法,包括以下步驟:
[0013]向服務(wù)器發(fā)起認(rèn)證請(qǐng)求;
[0014]接收所述服務(wù)器發(fā)送的隨機(jī)數(shù)Random和加密的認(rèn)證密鑰EK3 (K2);
[0015]根據(jù)所述Random、所述EK3 (K2)、終端根密鑰SCK和上一次認(rèn)證的認(rèn)證因子響應(yīng)1^_Nonce Response值獲取本次認(rèn)證的認(rèn)證因子響應(yīng)Nonce Response值;
[0016]將所述Nonce Response值上傳至所述服務(wù)器。
[0017]本發(fā)明的終端認(rèn)證方法,所述根據(jù)所述Random、所述EK3 (K2)、所述SCK和所述L_Nonce Response值獲取所述Nonce Response值,具體包括:
[0018]根據(jù)所述Random和所述L_Nonce Response值并采用認(rèn)證因子生成算法計(jì)算得到本次認(rèn)證的認(rèn)證因子Nonce值;
[0019]根據(jù)所述SCK生成運(yùn)營(yíng)商根密鑰K3 ;
[0020]用所述K3解密所述EK3 (K2)得到認(rèn)證密鑰K2 ;
[0021]根據(jù)所述Nonce值和所述K2并采用認(rèn)證因子響應(yīng)生成算法計(jì)算得到所述NonceResponse 值。
[0022]本發(fā)明的終端認(rèn)證方法,所述SCK通過(guò)以下方式獲得:
[0023]在預(yù)先注冊(cè)過(guò)程中,終端接收所述服務(wù)器下發(fā)的加密的終端根密鑰ESCK,將所述ESCK解密后得到所述SCK并將其寫(xiě)入自身的只讀存儲(chǔ)器內(nèi)。
[0024]本發(fā)明的終端認(rèn)證方法,所述在預(yù)先注冊(cè)過(guò)程中,終端接收所述服務(wù)器下發(fā)的ESCK,具體為:
[0025]向所述服務(wù)器發(fā)起注冊(cè)申請(qǐng),所述注冊(cè)申請(qǐng)包含終端ID和根加密機(jī)簽發(fā)的第一終端證書(shū);
[0026]接收所述服務(wù)器在驗(yàn)證所述第一終端證書(shū)合法后發(fā)送的運(yùn)營(yíng)商證書(shū)、所述ESCK和運(yùn)營(yíng)商加密機(jī)簽發(fā)的第二終端證書(shū)。
[0027]為達(dá)到上述目的,本發(fā)明還提供了一種服務(wù)器認(rèn)證方法,包括以下步驟:
[0028]接收終端發(fā)起的認(rèn)證請(qǐng)求;
[0029]產(chǎn)生隨機(jī)數(shù)Random,并根據(jù)所述Random、認(rèn)證密鑰K2和上一次認(rèn)證的認(rèn)證因子響應(yīng)L_Nonce Response值獲取本次認(rèn)證的認(rèn)證因子響應(yīng)Nonce Response值;
[0030]將所述Random和加密的認(rèn)證密鑰EK3 (K2)下發(fā)給所述終端;
[0031]接收所述終端發(fā)送的Nonce Response值;
[0032]將所述終端發(fā)送的Nonce Response值與自身計(jì)算出的Nonce Response值進(jìn)行比較,如果匹配,則通過(guò)認(rèn)證。
[0033]本發(fā)明的服務(wù)器認(rèn)證方法,所述根據(jù)所述Random、所述K2、所述SCK和所述L_Nonce Response值獲取所述Nonce Response值,具體包括:
[0034]根據(jù)所述Random和所述L_Nonce Response值并采用認(rèn)證因子生成算法計(jì)算得到本次認(rèn)證的認(rèn)證因子Nonce值;
[0035]根據(jù)所述Nonce值和所述K2并采用認(rèn)證因子響應(yīng)生成算法計(jì)算得到所述NonceResponse 值。
[0036]本發(fā)明的服務(wù)器認(rèn)證方法,所述K2和所述EK3(K2)通過(guò)以下方式獲得:
[0037]根據(jù)認(rèn)證密鑰KeyID生成所述K2 ;
[0038]用運(yùn)營(yíng)商根密鑰K3加密所述K2,生成所述EK3 (K2)。
[0039]為達(dá)到上述目的,本發(fā)明還提供了一種雙向認(rèn)證方法,包括以下步驟:
[0040]終端向服務(wù)器發(fā)起認(rèn)證請(qǐng)求;
[0041]所述服務(wù)器產(chǎn)生隨機(jī)數(shù)Random,并根據(jù)所述Random、認(rèn)證密鑰K2和上一次認(rèn)證的認(rèn)證因子響應(yīng)L_Nonce Response值計(jì)算本次認(rèn)證的認(rèn)證因子響應(yīng)Nonce Response值,并將所述Random和加密的認(rèn)證密鑰EK3(K2)下發(fā)至所述終端;
[0042]所述終端根據(jù)所述Random、所述EK3 (K2)、終端根密鑰SCK、和所述L_NonceResponse值計(jì)算出Nonce Response值,并將其上傳至所述服務(wù)器;
[0043]所述服務(wù)器將所述終端發(fā)送的Nonce Response值與自身計(jì)算出的NonceResponse值進(jìn)行比較,如果匹配,則通過(guò)認(rèn)證。
[0044]為達(dá)到上述目的,本發(fā)明還提供了一種終端,包括:
[0045]請(qǐng)求發(fā)送模塊,用于向服務(wù)器發(fā)起認(rèn)證請(qǐng)求;
[0046]數(shù)據(jù)接收模塊,用于接收所述服務(wù)器發(fā)送的隨機(jī)數(shù)Random和加密的認(rèn)證密鑰EK3 (K2);
[0047]認(rèn)證計(jì)算模塊,用于根據(jù)所述Random、所述EK3 (K2)、終端根密鑰SCK和上一次認(rèn)證的認(rèn)證因子響應(yīng)L_Nonce Response值獲取本次認(rèn)證的認(rèn)證因子響應(yīng)Nonce Response值;
[0048]響應(yīng)發(fā)送模塊,用于將所述Nonce Response值上傳至所述服務(wù)器。
[0049]本發(fā)明的終端,所述SCK通過(guò)以下方式獲得:
[0050]在預(yù)先注冊(cè)過(guò)程中,終端接收所述服務(wù)器下發(fā)的加密的終端根密鑰ESCK,將所述ESCK解密后得到所述SCK并將其寫(xiě)入自身的只讀存儲(chǔ)器內(nèi)。
[0051]為達(dá)到上述目的,本發(fā)明還提供了一種服務(wù)器,包括:
[0052]請(qǐng)求接收模塊,用于接收終端發(fā)起的認(rèn)證請(qǐng)求;
[0053]認(rèn)證處理模塊,用于產(chǎn)生隨機(jī)數(shù)Random,并根據(jù)所述Random、認(rèn)證密鑰K2和上一次認(rèn)證的認(rèn)證因子響應(yīng)L_Nonce Response值獲取本次認(rèn)證的認(rèn)證因子響應(yīng)NonceResponse 值;
[0054]數(shù)據(jù)下發(fā)模塊,用于將所述Random和加密的認(rèn)證密鑰EK3 (K2)下發(fā)給所述終端;
[0055]響應(yīng)接收模塊,用于接收所述終端發(fā)送的Nonce Response值;
[0056]認(rèn)證比較模塊,用于將所述終端發(fā)送的Nonce Response值與自身計(jì)算出的NonceResponse值進(jìn)行比較,如果匹配,則通過(guò)認(rèn)證。
[0057]本發(fā)明的服務(wù)器,所述SCK通過(guò)以下方式獲得:
[0058]在預(yù)先注冊(cè)過(guò)程中,所述服務(wù)器向所述終端下發(fā)加密的終端根密鑰ESCK ;
[0059]所述終端將所述ESCK解密后得到所述SCK并將其寫(xiě)入自身的只讀存儲(chǔ)器內(nèi)。
[0060]為達(dá)到上述目的,本發(fā)明還提供了一種雙向認(rèn)證系統(tǒng),包括:
[0061]至少一個(gè)上述的終端以及上述的服務(wù)器。