《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 嵌入式系統(tǒng)加密技術(shù)在數(shù)字電視中的應用

嵌入式系統(tǒng)加密技術(shù)在數(shù)字電視中的應用

2009-03-16
作者:洪家平

??? 摘? 要: 為了使更多的嵌入式系統(tǒng)的原創(chuàng)者能有效地保護自己的開發(fā)成果和知識產(chǎn)權(quán),介紹了嵌入式系統(tǒng)加密芯片DM2016的結(jié)構(gòu)、特點及其在數(shù)字電視加密領域的應用,同時給出了BlowFish算法在嵌入式主系統(tǒng)中的加密方法及應用。?

??? 關(guān)鍵詞: 嵌入式系統(tǒng); 加密技術(shù); DM2016

?

??? 許多都經(jīng)歷過因盜版而帶來的損失,據(jù)統(tǒng)計,全球每三款軟件就有一款被拷貝或盜版。面對形形色色的解密公司,封裝和PCB布線的保護已經(jīng)顯得力不從心,而單純的軟件保護,如E2PROM、MCU也無濟于事。硬件保護軟件或由軟硬件相結(jié)合的保護技術(shù),在加大盜版難度的同時也加大了破解難度。?

??? 針對MCU加密易破解的問題,嵌入式系統(tǒng)加密芯片DM2016內(nèi)嵌1 024位 E2PROM,采用了明文隨機數(shù)產(chǎn)生方式、特殊算法、密鑰OTP寫入數(shù)據(jù)線自動熔斷不可讀等多種保護措施, 其廣泛適用于PMP、GPS、DVD、DVR、DVB以及所有嵌入式應用系統(tǒng)中。?

1 DM2016的特點?

??? DM2016的內(nèi)部結(jié)構(gòu)如圖1所示,其特性如下:(1)符合I2C總線標準;(2)支持兩位I2C地址選擇;(3)內(nèi)置128位密鑰解密算法,保密性能類似于3DES算法,一次性燒錄;(4)內(nèi)置1 024位 E2PROM;(5)隨機數(shù)通信算法。?

?

?

2 DM2016的工作原理?

??? DM2016是一款嵌入式系統(tǒng)專業(yè)加密芯片,如圖2所示。DM2016通過I2C總線與主芯片CPU相連,在主程序中嵌入加密程序。當加密程序調(diào)用運行時,即從RAM中隨機調(diào)用一組數(shù)據(jù)作為明文,與程序中的密鑰混合產(chǎn)生一組暗文。暗文通過I2C總線傳送到加密芯片,按反算法與加密芯片中密鑰產(chǎn)生明文,再與RAM中的明文比較,兩者一致則程序繼續(xù)。兩者不一致則程序中斷退出,從而起到保護用戶程序的目的。?

?

?

3 DM2016在數(shù)字電視加密領域中的應用?

3.1 硬件結(jié)構(gòu)?

??? DM2016加密芯片在數(shù)字電視加密領域中的應用結(jié)構(gòu)示意圖如圖3所示。圖中DM1105是一款針對性很強的芯片,它接收標準的TS流,選擇進行解復用、解擾,將處理好的TS流以DMA方式通過PCI總線送到計算機內(nèi)存。該芯片可以通過與CI接口控制芯片DM1021搭配實現(xiàn)兩個CAM卡控制,并可以接收外部紅外遙控信號實現(xiàn)遙控功能。DM1105只需外掛加密芯片DM2016,通過I2C接口與DM2016連接還可以實現(xiàn)加密控制和部分內(nèi)部寄存器上電配置。DM2016芯片內(nèi)部具有128位密鑰區(qū),廠商可以一次寫入,通過加密算法保護自己的軟件,同時DM2016還具有1 024位E2PROM區(qū)域,DM1105的部分需配置的寄存器可以保存在此,上電時將其讀入,完成DM1105部分寄存器的配置。?

?

?

3.2 軟件實現(xiàn)?

??? 圖4為DM2016加密芯片在數(shù)字電視加密領域中加、解密的認證流程。從圖4可以看出,主系統(tǒng)芯片DM1105根據(jù)DM2016的返回值A隨機產(chǎn)生64位的隨機數(shù)作為明文(如加密前的數(shù)字電視信號)。該明文與主系統(tǒng)芯片DM1105程序里的密鑰通過調(diào)用加密庫來參與加密運算,得到運算結(jié)果暗文A。主系統(tǒng)芯片DM1105將暗文A通過I2C總線傳到加密芯片DM2016,然后DM2016使用與主系統(tǒng)芯片DM1105程序里的密鑰相同的密鑰對暗文A進行解密運算,將得到的運算結(jié)果與原來加密前的64位的隨機數(shù)進行比較,如果一致則表示認證通過,此時被加密的數(shù)字電視信號就可以被解密還原成正常信號,合法用戶就可以收看到相關(guān)的數(shù)字信號電視節(jié)目;否則就表示認證失敗,被加密的數(shù)字電視信號不能被解密還原成正常信號,用戶就不能收看到相關(guān)的電視節(jié)目。?

?

?

??? 下面以BlowFish算法為例介紹加密算法在嵌入式主系統(tǒng)中的應用。?

??? 32 位微處理器誕生后,BlowFish 算法在加密速度上超越了DES ,引起了人們的關(guān)注。BlowFish 算法沒有注冊專利,不需要授權(quán),可以免費使用。在這里,BlowFish算法用來加密64位的字符串,BlowFish算法使用兩個“盒”——ungigned long pbox[18]和unsigned long sbox[4,256]。BlowFish算法中,有一個核心加密函數(shù):BF_En。該函數(shù)輸入64位信息,運算后以64位密文的形式輸出。用BlowFish算法加密信息,需要密鑰預處理和信息加密兩個過程。以密鑰預處理為例說明如下:?

??? 密鑰預處理時,BlowFish算法的源密鑰——pbox和sbox是固定的。要加密一個信息,需要自己選擇一個key,用這個key對pbox和sbox進行變換,得到下一步信息加密所要用的key_pbox和key_sbox。變化算法具體如下:?

??? (1) 用sbox填充key_sbox。?

??? (2) 用自己選擇的key,8個一組地去異或pbox,用異或結(jié)果填充key_pbox。key可以循環(huán)使用。例如:選的key是'abcdefghijklmn',則異或過程為:?

??? key_pbox[0]=pbox[0]^abcdefgh?

??? key_pbox[1]=pbox[1]^ijklmnab?

??? ……?

??? 如此循環(huán),直到key_box填充完畢。?

??? (3) 用BF_En加密一個全0的64位信息,用輸出的結(jié)果替換key_pbox[0]和key_pbox[1]。i=0。 ?

??? (4) 用BF_En加密替換后的key_pbox[i],key_pbox[i+1], 用輸出替代key_pbox[i+2]和key_pbox[i+3]。?

??? (5) i+2,繼續(xù)第(4)步,直到key_pbox全部被替換。?

??? (6) 用key_pbox[16]和key_pbox[17]做首次輸入(相當于上面的全0的輸入),用類似的方法,替換key_sbox 信息加密。信息加密就是用函數(shù)把待加密信息x分成32位的兩部分:xL和xR,再用BF_En函數(shù)對輸入信息進行變換。系統(tǒng)中采用C語言實現(xiàn),首先,定義sbox 和pbox 并初始化,將它們放入code中。?

??? unsigned long code sbox[18] = {?

??? 0x243F6A88L , …, 0x8979FB1BL?

} ;?

??? unsigned long code pbox[ 4 ] [256 ] = {?

??? 0xD1310BA6L , …?

??? } ;?

??? 其次,定義兩個全局變量key_pbox和key_sbox,存儲初始化后的子密鑰。?

??? unsigned long key_pbox[18] ;?

??? unsigned long key_sbox[4] [256] ;?

??? 再完成幾個函數(shù):?

??? void Blowfish_Init (unsigned char 3 key, int keyLen) ;?

??? //初始化子密鑰?

??? void Blowfish_Encrypt (unsigned long 3 xl, unsigned long 3 xr) ;?

??? //加密函數(shù)?

??? ……?

??? 最后,初始化單片機,用TESTKEY 作為密鑰進行初始化, 對算法進行測試。?

??? 隨著單片機系統(tǒng)越來越廣泛的應用,其安全保密問題也越來越受到重視。密碼學為其提供了正確的理論基礎。同時,性能優(yōu)良的硬件(例如DM2016)是實現(xiàn)其安全保密的基礎。二者缺一不可。?

參考文獻?

[1] AXELSON J.嵌入式Ethernet和Internet通信設計技術(shù)[M].駱麗,張岳強,譯.北京:北京航空航天大學出版社,2006.?

[2] 洪家平,董武世.基于嵌入式系統(tǒng)的時分多址通信協(xié)議的實現(xiàn)[J].微計算機信息,2005(7):32-33.?

[3] 王建校,楊建國,寧改娣,等. 51系列單片機及C51程序設計[M].北京:科學出版社, 2002.?

[4] 林凌,李剛,丁茹,等. 新型單片機接口器件與技術(shù)[M].西安:西安電子科技大學出版社,2005.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。