當(dāng)前位置: 首頁(yè) > 新聞熱點(diǎn)
發(fā)布日期:2022-07-14 點(diǎn)擊率:59
不過(guò),對(duì)于嵌入式行業(yè)而言,無(wú)論是從產(chǎn)業(yè)鏈的最高端IP提供商,還是生產(chǎn)各種產(chǎn)品的OEM,都無(wú)法給這個(gè)產(chǎn)業(yè)擬定一個(gè)標(biāo)準(zhǔn),也就是說(shuō),這個(gè)行業(yè)是相對(duì)來(lái)說(shuō)更開(kāi)放、更具潛力。這個(gè)市場(chǎng)的機(jī)會(huì)很多,只要你擁有足夠吸引人的“殺手級(jí)”應(yīng)用產(chǎn)品。但問(wèn)題往往出現(xiàn)在這里,機(jī)會(huì)多了,就會(huì)有人想盡辦法地去破解別人的產(chǎn)品,偷竊別人的勞動(dòng)成果。從長(zhǎng)遠(yuǎn)來(lái)說(shuō),這樣必定會(huì)危害整個(gè)行業(yè)的發(fā)展。為促進(jìn)整個(gè)市場(chǎng)的健康發(fā)展,我們應(yīng)該盡可能地阻止這種“盜版”現(xiàn)象的發(fā)生,為你的產(chǎn)品加上一把“鎖”。
當(dāng)前市場(chǎng)上存在的加密產(chǎn)品可分為幾大類(lèi):
第一類(lèi)是所謂的加密存儲(chǔ)產(chǎn)品。這類(lèi)產(chǎn)品的大致原理是將普通的EEPROM進(jìn)行某種算法的加密,以保護(hù)存儲(chǔ)在其中的資料。但是通常這類(lèi)產(chǎn)品的加密算法都是不公開(kāi)的,是沒(méi)有得到國(guó)際公認(rèn)的算法,因此其加密等級(jí)也是沒(méi)有任何標(biāo)準(zhǔn)的。且這種產(chǎn)品與系統(tǒng)中主MCU的H/W接口(Interface)是獨(dú)立的,這也就意味著,如果你的系統(tǒng)中有相同接口的其他器件,那么這些器件是不能與這種加密芯片同時(shí)存在的。
另一類(lèi)則具有更簡(jiǎn)單算法和更簡(jiǎn)單H/W接口,通常是通過(guò)一個(gè)根線(xiàn)纜與主MCU進(jìn)行通訊。這樣存在的問(wèn)題的,若系統(tǒng)需要加密的數(shù)據(jù)量較大時(shí),則加密數(shù)據(jù)的速率會(huì)比較低。且這種通訊協(xié)議是不常用的,也是不能與其他器件共用的。
還有一些其他的加密方法,例如用戶(hù)自己使用一些單片機(jī),并開(kāi)發(fā)一些簡(jiǎn)單算法,以達(dá)到與主CPU通訊時(shí)數(shù)據(jù)加密的效果。采用這種方法用戶(hù)可以完全掌握技術(shù)細(xì)節(jié),但是需要花費(fèi)較大的精力和財(cái)力才能完成。
FS88x6是福華先進(jìn)微電子有限公司推出的系列加密芯片,包括FS8806、FS8816、FS8826三種型號(hào)。FS88x6系列加密芯片在很大程度上解決了上述各種問(wèn)題。
首先在H/W接口上:FS88x6采用I2C (圖1)或SPI(圖2)的通訊方式,這兩種都是很常用的協(xié)議,開(kāi)發(fā)起來(lái)非常簡(jiǎn)單方便,用戶(hù)可以根據(jù)自己系統(tǒng)的特點(diǎn)選擇使用I2C還是SPI的通訊方式,且不論是使用系統(tǒng)硬件上的I2C/SPI模塊,或是使用GPIO模擬I2C/SPI協(xié)議,都可以與FS88x6進(jìn)行通訊。加密等級(jí):FS88x6采用國(guó)際公認(rèn)的3DES加密算法,密鑰的長(zhǎng)度為192位。加密方式:FS88x6可以加密幾乎嵌入式系統(tǒng)中的任何數(shù)據(jù),包括存儲(chǔ)在系統(tǒng)FLASH中的Firmware。加密過(guò)程中:在I2C/SPI總線(xiàn)上的數(shù)據(jù),每次都是加密的,且加入了隨機(jī)數(shù),也就是說(shuō),對(duì)于同樣的數(shù)據(jù),在不同時(shí)間去測(cè)量,會(huì)有不同的結(jié)果。
圖1:I2C通訊方式。
圖2:SPI通訊方式。
用戶(hù)使用FS88x6芯片的流程如下:
1. 選擇I2C或SPI通訊方式,與FS88x6進(jìn)行通訊,將硬件上的簡(jiǎn)單通訊調(diào)試通過(guò)。
2. 為客戶(hù)提供定制的FS88x6 library。該library的作用在于提供給用戶(hù)可以在其使用的平臺(tái)上運(yùn)行的、并且與FS88x6加密芯片相對(duì)應(yīng)的軟件算法。該library可支持幾乎所有嵌入式平臺(tái)。目前支持比較多的平臺(tái)及編譯器在表1中列出。
3. 使用Code Generator工具(由福華公司提供),讓用戶(hù)將其原始bin文件或其他格式二進(jìn)制文件轉(zhuǎn)換成加密后的二進(jìn)制文件Concerto bin。將此加密后的二進(jìn)制文件燒錄至用戶(hù)系統(tǒng)中。
所有步驟完成后,系統(tǒng)架構(gòu)如圖3所示,其中Concerto SW組成如圖4所示。
圖3:采用FS88x6系列加密芯片的系統(tǒng)架構(gòu)圖。
圖4:Concerto SW組成框圖。
當(dāng)系統(tǒng)程序受到外部非法修改時(shí)(哪怕是修改1位),該方案也能自動(dòng)識(shí)別并做出相應(yīng)的處理,這就保證了整個(gè)系統(tǒng)代碼的完整性。在系統(tǒng)的代碼區(qū)域?qū)嶋H包含3部分內(nèi)容:用戶(hù)嵌入式應(yīng)用軟件ESW、FS88x6Lib以及通過(guò)Code Generator加密目標(biāo)文件時(shí)產(chǎn)生的加密信息Digest,Digest是ESW經(jīng)過(guò)Hash運(yùn)算的結(jié)果,即ESW和Digest是一一對(duì)應(yīng)的,如果ESW中有1位code被修改,而Digest沒(méi)有發(fā)生對(duì)應(yīng)的改變,則FS88x6將會(huì)檢測(cè)出問(wèn)題并報(bào)錯(cuò)。
目前FS88x6已成功應(yīng)用于各種嵌入式系統(tǒng)中,包括機(jī)頂盒、PMP、游戲機(jī)、藍(lán)牙耳機(jī)、PDA、網(wǎng)絡(luò)應(yīng)用及IP攝像頭等。
表1:FS88x6加密芯片可支持的嵌入式平臺(tái)及編譯器。
作者:魏猛
系統(tǒng)工程項(xiàng)目經(jīng)理
福華先進(jìn)微電子(上海)有限公司