HDCP簡(jiǎn)介
HDCP(High -bandwidth Digital Content Protection):高帶寬數(shù)字內(nèi)容保護(hù)技術(shù)。HDTV(高清電視)時(shí)代即將來(lái)臨,為了適應(yīng)高清電視的高帶寬,出現(xiàn)了HDMI。HDMI是一種高清數(shù)字接口標(biāo)準(zhǔn),它可以提供很高的帶寬,無(wú)損地傳輸數(shù)字視頻和音頻信號(hào)。為了保證HDMI或者DVI傳輸?shù)母咔逦盘?hào)不會(huì)被非法錄制,就出現(xiàn)了高帶寬數(shù)字內(nèi)容保護(hù)技術(shù),即HDCP技術(shù)。HDCP技術(shù)規(guī)范由Intel領(lǐng)頭完成。當(dāng)用戶(hù)進(jìn)行非法復(fù)制時(shí),該技術(shù)會(huì)進(jìn)行干擾,降低復(fù)制出來(lái)的影像的質(zhì)量,從而對(duì)內(nèi)容進(jìn)行保護(hù)。
HDCP技術(shù)
在電腦平臺(tái)上受到HDCP技術(shù)(簡(jiǎn)稱(chēng)DP)保護(hù)的數(shù)據(jù)內(nèi)容在輸出時(shí)會(huì)由操作系統(tǒng)中的COPP驅(qū)動(dòng)(認(rèn)證輸出保護(hù)協(xié)議)首先驗(yàn)證顯卡,只有合法的顯卡才能實(shí)現(xiàn)內(nèi)容輸出,隨后要認(rèn)證顯示設(shè)備的密鑰,只有符合HDCP要求的設(shè)備才可以最終顯示顯卡傳送來(lái)的內(nèi)容。HDCP傳輸過(guò)程中,發(fā)送端和接受端都存儲(chǔ)一個(gè)可用密鑰集,這些密鑰都是秘密存儲(chǔ),發(fā)送端和接受端都根據(jù)密鑰進(jìn)行加密解密運(yùn)算,這樣的運(yùn)算中還要加入一個(gè)特別的值KSV(視頻加密密鑰)。同時(shí)HDCP的每個(gè)設(shè)備會(huì)有一個(gè)唯一的KSV序列號(hào),發(fā)送端和接受端的密碼處理單元會(huì)核對(duì)對(duì)方的KSV值,以確保連接是合法的。HDCP的加密過(guò)程。
軟硬件設(shè)備
前面說(shuō)到,HDCP需要軟硬件共同支持,凡是參與內(nèi)容傳輸?shù)脑O(shè)備缺一不可。微軟在新一代操作系統(tǒng)Vista中將集成“保護(hù)性?xún)?nèi)容輸出管理協(xié)議(OPM)”,用來(lái)在輸出內(nèi)容前確認(rèn)顯示設(shè)備的性能及HDCP支持情況。同時(shí)作為高清視頻的主要載體,藍(lán)光和HD-DVD也會(huì)執(zhí)行HDCP標(biāo)準(zhǔn)。
而視頻源播放以及顯示終端設(shè)備將通過(guò)內(nèi)置轉(zhuǎn)換芯片實(shí)現(xiàn)信號(hào)的二次編/解碼,涉及產(chǎn)品包括顯示卡、影碟機(jī)、電視、顯示器、投影儀等。HDCP通過(guò)數(shù)字接口DVI-D或新型HDMI實(shí)現(xiàn),其中后者應(yīng)用較為普遍,兼具音/視頻傳輸,幾乎成為支持HDCP的標(biāo)志。不過(guò)HDMI+HDCP目前似乎只在家電領(lǐng)域聲望較高,幾乎成為新產(chǎn)品的標(biāo)準(zhǔn)配置,遠(yuǎn)遠(yuǎn)超前于實(shí)際應(yīng)用,但迫于日后兼容性以及上游協(xié)議制定者的壓力,設(shè)備生產(chǎn)商不敢怠慢。而在PC領(lǐng)域,盡管微軟一直“警告”Vista只能支持HDCP協(xié)議的顯示卡及對(duì)應(yīng)驅(qū)動(dòng),但一次次的跳票給了配件廠商更多的理由。HDCP協(xié)議是用來(lái)防止視頻內(nèi)容在傳輸?shù)倪^(guò)程被完整的復(fù)制下來(lái)。這種技術(shù)并不是讓數(shù)字訊號(hào)無(wú)法被不合法的錄制下來(lái),而是將數(shù)字訊號(hào)進(jìn)行加密,讓不合法的錄制方法,無(wú)法達(dá)到原有的高分辨率畫(huà)質(zhì)。要支持HDCP協(xié)議,必須使用DVI、HDMI等數(shù)字視頻接口,傳統(tǒng)的VGA等模擬信號(hào)接口無(wú)法支持HDCP協(xié)議。但是并不是帶DVI接口的液晶顯示器都支持HDCP協(xié)議,必須經(jīng)過(guò)帶有相應(yīng)硬件芯片,通過(guò)認(rèn)證的顯示器才行。
HDCP技術(shù)工作原理
通俗的話來(lái)說(shuō),HDCP技術(shù)實(shí)際上就是一種加密技術(shù),和普通的加密技術(shù)不同,HDCP可以說(shuō)在縱向和橫向兩方面對(duì)視頻進(jìn)行加密,首先我們來(lái)看看縱向,那就是計(jì)算機(jī)硬件要支持HDCP技術(shù),這就需要顯示器,顯卡,和光驅(qū)這三部分。藍(lán)光和HD DVD光驅(qū)都加入了對(duì)HDCP的支持,用于保護(hù)光盤(pán)中的視頻內(nèi)容無(wú)法正常復(fù)制出來(lái)在其它地方播放。
在HDCP運(yùn)作的具體過(guò)程中,發(fā)送端和接受端都存儲(chǔ)一個(gè)可用密鑰集,這些密鑰都是秘密存儲(chǔ),發(fā)送端和接受端都根據(jù)密鑰進(jìn)行加密解密運(yùn)算,這樣的運(yùn)算中還要加入一個(gè)特別的值KS(視頻加密密鑰)。同時(shí)HDCP的每個(gè)設(shè)備會(huì)有一個(gè)唯一的序列號(hào):KSV,由20個(gè)“1”和20個(gè)“0”組成。發(fā)送端和接受端的密碼處理單元會(huì)核對(duì)對(duì)方的KSV值,以確保連接是合法的。
HDCP的加密過(guò)程會(huì)對(duì)每個(gè)象素進(jìn)行處理,使得畫(huà)面變得毫無(wú)規(guī)律、無(wú)法識(shí)別,只有確認(rèn)同步后的發(fā)送端和接受端才可能進(jìn)行逆向處理,完成數(shù)據(jù)的還原。在解密過(guò)程中,HDCP系統(tǒng)會(huì)每2秒中進(jìn)行一次連接確認(rèn),同時(shí)每128幀畫(huà)面進(jìn)行一次發(fā)送端和接受端同步識(shí)別碼,確保連接的同步。
由于HDCP的理念是非完全的防止復(fù)制而是不允許復(fù)制“高清”內(nèi)容。所以如果顯示設(shè)備不具有此功能也不是完全無(wú)法欣賞到“藍(lán)光”和“HD DVD”的內(nèi)容,只是得不到“高清”的效果。事實(shí)上,“藍(lán)光”和“HD DVD”允許通過(guò)模擬接口輸出經(jīng)過(guò)壓縮了的畫(huà)面,這樣的畫(huà)面達(dá)不到“高清”的顯示效果。一代微軟視窗操作系統(tǒng)Windows Vista也采用相似的機(jī)制,進(jìn)行數(shù)字內(nèi)容的版權(quán)保護(hù)。
HDCP加密過(guò)程
HDCP會(huì)對(duì)每個(gè)像素進(jìn)行處理,使得畫(huà)面變得毫無(wú)規(guī)律、無(wú)法識(shí)別,只有確認(rèn)同步后的發(fā)送端和接受端才可能進(jìn)行逆向處理,完成數(shù)據(jù)的還原。在解密過(guò)程中,HDCP系統(tǒng)會(huì)每2秒中進(jìn)行一次連接確認(rèn),同時(shí)每128幀畫(huà)面進(jìn)行一次發(fā)送端和接受端同步識(shí)別碼,確保連接的同步。為了應(yīng)對(duì)密鑰泄漏的情況,HDCP特別建立了“撤銷(xiāo)密鑰”機(jī)制。每個(gè)設(shè)備的密鑰集KSV值都是唯一的,HDCP系統(tǒng)會(huì)在收到KSV值后在撤銷(xiāo)列表中進(jìn)行比較和查找,出現(xiàn)在列表中的KSV將被認(rèn)做非法,導(dǎo)致認(rèn)證過(guò)程的失敗。這里的撤銷(xiāo)密鑰列表將包含在HDCP對(duì)應(yīng)的多媒體數(shù)據(jù)中并將自動(dòng)更新。
HDCP 組成部分解析和燒錄方式介紹
第一部分是鑒定協(xié)議,確認(rèn)接收者的合法性。發(fā)送方與接收方進(jìn)行信息交換,接收方將KEY 傳給發(fā)送方,發(fā)送方驗(yàn)證并用此產(chǎn)生公共密鑰,通過(guò)公共密鑰作為均衡KEY 混入授權(quán)證實(shí)序列中,用于加密內(nèi)容的解密,授權(quán)確認(rèn)完成 出于保密原因,密鑰不能從IC 里讀出 (要透過(guò) Scaler HDCP Engine 去 get)
第二一旦確認(rèn),發(fā)送方將加密內(nèi)容以雙方都知道的解密方式傳給接收方;
第三當(dāng)非授權(quán)設(shè)備接收時(shí),通過(guò)發(fā)送方的檢測(cè),將中斷內(nèi)容傳送。
H DCP 具體工作過(guò)程:首先由主機(jī)發(fā)送密鑰選擇導(dǎo)引序列(AKSV)和64bit 偽隨機(jī)序列(An)到接收方,接收方回傳密鑰選擇導(dǎo)引序列(BKSV)
和轉(zhuǎn)發(fā)器位(REPEAT-bit)(如是轉(zhuǎn)發(fā)器用以表示身份) ,發(fā)送方確認(rèn)BKSV 是否已被廢除和是否包含20個(gè)1和20個(gè)0;如果雙方的設(shè)備密鑰和KSV 有效,則計(jì)算產(chǎn)生一個(gè)56bit 的公共密鑰Km 和Km`,然后可產(chǎn)生KS 、KS`(傳輸密鑰) 、M0、MO`(64bit后續(xù)驗(yàn)證用追加初始序列) 、RO 、R0`(16bit指示驗(yàn)證成功,它必須在AKSV 發(fā)送后100ms 內(nèi)傳回發(fā)送方;驗(yàn)證成功后R01和R0相等;每128幀修正一次,每2s 回傳一次) 。因此當(dāng)DVI 接口中斷傳輸2s 以上,或是非授權(quán)設(shè)備接收時(shí),主機(jī)將停止傳輸內(nèi)容,以達(dá)到保護(hù)傳輸內(nèi)容的目的。
1. 如果要指定 HDCP Key 的 Counter 你可以在檔案最后兩個(gè) Bytes 修改 然后 save 一次,再 close H DCP Writer 程序 然后 再 Run 一次HDCP Writer 程序 ,你可以看到 4a380 , 4a381 = 0x0308 (十六進(jìn)制)= 776 (十進(jìn)制) 代表現(xiàn)在燒到 776 組
2. 用序號(hào)的方式 要考慮到
1. 不同的 Model 會(huì)有相同的序號(hào)
2. 相同的 Model , 序號(hào)也會(huì)有相同的可能性 (y ww) 不同 序號(hào)相同
3. 每一千組為一檔案 那序號(hào)應(yīng)該索引那一個(gè) File ?
4. 燒 HDCP Key時(shí) 如何得到 S/N 數(shù)據(jù) ? 還需要 Bar Code Reader 嗎 ?
5. 那 S/N 格式每家格式都不同 維護(hù)有其困難(要針對(duì) Model)
3. HDCP Key 的掌控要完善必須 all models 聯(lián)機(jī)管理 But ,工程耗大
4. I can write a tool to skip the address of 0x1f000 ~0x1ffff for update BIOS ,But the speed is very slow , I do not know why ?
5. Any Comments , call me B/R HH
HDCP KEY功能我有以下疑問(wèn):
按目前來(lái)說(shuō)。
1. 每次在燒錄密碼只能在TOOL 里燒錄時(shí)遞進(jìn)場(chǎng)(+1),如果有一個(gè)號(hào)碼(998)因主板壞了, 更換主板。 要第二次燒錄此號(hào)碼。 需要從1燒起再來(lái)一直燒錄到998號(hào)碼。--》這樣真的很麻煩。 如果這個(gè)號(hào)碼不要了。 又是浪費(fèi)。
2. 如因其它問(wèn)題, 需要重新Update BIOS時(shí), 雖然在燒錄BIOS 的Tool 中設(shè)置(如下:
將F-》變?yōu)镋. 可以不復(fù)掉此原來(lái)的號(hào)碼。 但這如果來(lái)給產(chǎn)線作業(yè)者又是一大的難關(guān)。
2.1:作業(yè)員漏記做更改。--》號(hào)碼被改掉。
2.2:作業(yè)內(nèi)容增加。--》沒(méi)有防呆。
是否在燒錄密碼時(shí), 可否能采用燒S/N方法進(jìn)行。 如能這樣的話, 一切問(wèn)題都將能解決。。 以上為個(gè)人觀點(diǎn)。。。
我補(bǔ)充一下 HDCP Key 的概念
公司買(mǎi)了 10 萬(wàn)組的 Key , 暫且稱(chēng)為 Original Source Key ,這些 Key 不能直接拿來(lái)燒到 EEPROM or 程序 ROM ,每家 scaler 廠商都有提供 其加秘的程序 所以要將 Original Source Key 輸入到加秘的程序 產(chǎn)生的 Key 才能燒到 EEPROM or 程序 ROM 不能用 Genesis 的 加秘程序 產(chǎn)生的 Key 燒到 Master 的 Projects ,反之也是 , 目前我的做法是 把加秘過(guò)的 Key 以 1000 組為一個(gè) 檔案
example : Mstart_Key_0000_0999.bin (代表 Key 000 ~ 999)每次燒完一組 HDCP Key , 程序自動(dòng) 加 1 , 等到 Operator 關(guān)掉 燒錄程序 Counter 就會(huì)被 save 到檔案(Mstart_Key_0000_0999.bin ) 所以 next time , open file Counter 就會(huì)被自動(dòng)加載
My Suggestion如果 10 萬(wàn)組的 Key 是否畫(huà)分成
0 ~ 3萬(wàn)組 For Genesis
評(píng)論
查看更多