国产防盗版加密芯片安全性分析
筆者本人也算是產(chǎn)品設(shè)計(jì)領(lǐng)域的老兵了,多個(gè)行業(yè)打過(guò)工,也自己搞過(guò)Design House,將近20年的從業(yè)經(jīng)歷。我們這個(gè)行業(yè)很多時(shí)候面臨的最大威脅就是盜版抄板!一個(gè)產(chǎn)品投入很大代價(jià)很長(zhǎng)周期開(kāi)發(fā)出來(lái),結(jié)果到了市場(chǎng)上不到3個(gè)月被人抄板了,投入成本都收不回,這對(duì)我們的打擊是巨大的。
一、加密方案安全性分析
根據(jù)我多年的防盜版加密芯片的使用經(jīng)驗(yàn)和理解,加密芯片的安全性主要取決于芯片硬件平臺(tái)安全性、芯片內(nèi)部固件(也有叫做操作系統(tǒng))安全性以及加密方案安全性三個(gè)方面。由于芯片載體本身的安全性很難簡(jiǎn)單的去評(píng)測(cè)(下面我會(huì)針對(duì)具體廠家加密芯片在市場(chǎng)的表現(xiàn)來(lái)簡(jiǎn)單分析),而加密方案安全性很容易分析,所以下面我先把目前市面上常見(jiàn)的兩種加密方案的優(yōu)缺點(diǎn)做個(gè)介紹:
1、固定算法認(rèn)證加密芯片(安全性相對(duì)比較低)
此類芯片一般采用標(biāo)準(zhǔn)通用算法例如SHA、DES、AES,在加密芯片中存放一段密鑰。
其原理大致如下:
MCU和加密芯片兩端在出廠階段分別設(shè)置一條相同的認(rèn)證密鑰;
在運(yùn)行階段,MCU端和加密芯片端基于對(duì)稱加密算法對(duì)同一組隨機(jī)數(shù)加密后產(chǎn)生兩組密文;
最后在MCU端進(jìn)行比對(duì),只有結(jié)果一致后,認(rèn)證才能通過(guò)。
優(yōu)點(diǎn):因?yàn)樗惴ü潭?#xff0c;都是標(biāo)準(zhǔn)通用算法,認(rèn)證加密方法都是公開(kāi)的,開(kāi)發(fā)相對(duì)簡(jiǎn)單,用戶能快速開(kāi)發(fā)量產(chǎn)。適合對(duì)安全性要求不高,但需要迅速將產(chǎn)品投放市場(chǎng)的客戶。
缺點(diǎn):相對(duì)安全性比較低。
這個(gè)方案無(wú)論加密芯片本身硬件有多高安全性、算法本身強(qiáng)度有多高,都無(wú)法解決它的明顯安全弱點(diǎn),加密芯片和主板MCU之間只是固定算法認(rèn)證的弱關(guān)聯(lián),整個(gè)設(shè)備的關(guān)鍵程序不存在安全芯片中,雖然固定算法認(rèn)證加密芯片本身可能會(huì)比較安全,里面的數(shù)據(jù)很難被破解分析出來(lái)。但整個(gè)設(shè)備系統(tǒng)的關(guān)鍵程序和數(shù)據(jù)都存放在安全短板MCU中。
通過(guò)對(duì)主板MCU的破解分析,可以相對(duì)容易的拿到重要程序,反匯編之后繞過(guò)MCU中的認(rèn)證對(duì)比部分代碼(屏蔽掉對(duì)比點(diǎn)),然后將程序重新下載到MCU中,當(dāng)運(yùn)行到認(rèn)證環(huán)節(jié)時(shí),不論加密芯片返回的結(jié)果是否正確,甚至MCU沒(méi)有收到任何返回值(去掉加密芯片),MCU程序都能繼續(xù)正常運(yùn)行。所以單獨(dú)采用這類方案的加密芯片,無(wú)論怎么宣傳他加密芯片多么安全,無(wú)法破解,都無(wú)法解決MCU端的安全短板,因?yàn)楸I版商不會(huì)找不自在,放開(kāi)容易破解分析的通用MCU,專門(mén)去破解你加密芯片。
2、可編程算法移植類加密芯片(安全性相對(duì)比較高)
此類芯片一般都是采用安全性相對(duì)比較高的智能卡芯片或者專門(mén)設(shè)計(jì)的安全芯片(內(nèi)部帶有防破解保護(hù)技術(shù)的CPU ROM RAM FLASH等IP),開(kāi)發(fā)商把MCU程序中的一部分關(guān)鍵代碼摘出來(lái)(MCU將不再有這段代碼),拿到加密芯片編程環(huán)境下編譯后燒錄到加密芯片中運(yùn)行。其加密原理如下:
在應(yīng)用階段,當(dāng)MCU端程序運(yùn)行到這部分缺失的程序時(shí),通過(guò)IIC、Uart等通信接口與加密芯片進(jìn)行交互;
MCU發(fā)送指令調(diào)用加密芯片內(nèi)部的程序,加密芯片運(yùn)行完成后,將算法運(yùn)算結(jié)果返回給MCU端,供其使用該運(yùn)行結(jié)果。
優(yōu)點(diǎn):安全性高,可以不同產(chǎn)品或者版本移植不同關(guān)鍵代碼,實(shí)現(xiàn)一個(gè)產(chǎn)品一個(gè)加密方法,MCU中的程序不完整,關(guān)鍵代碼程序在加密芯片中運(yùn)行,別人無(wú)法單純的去破解MCU來(lái)完成整個(gè)破解。而安全性更強(qiáng)的加密芯片將成為破解的難點(diǎn)。此外加密芯片中移植的關(guān)鍵代碼只有開(kāi)發(fā)者自己知道,不公開(kāi),無(wú)法推測(cè),破解難度很大,加密芯片和MCU形成強(qiáng)關(guān)聯(lián)。
詳細(xì)點(diǎn)說(shuō),上面提到MCU端是安全弱點(diǎn),那么將其內(nèi)部程序刪除后,程序變得不完整,即使盜版商拿到了MCU這部分代碼,也無(wú)法繞過(guò)認(rèn)證對(duì)比點(diǎn)(因?yàn)椴淮嬖?#xff09;,這樣可以引導(dǎo)其必須破解加密芯片中的算法。而加密芯片自身特點(diǎn)就是安全性極高,有各種軟硬件防護(hù)措施,所以直接剖片等方法無(wú)法破解,而MCU與加密芯片交互數(shù)據(jù)時(shí),線路上傳輸?shù)膬?nèi)容都可以進(jìn)行加密處理,所以線路攻擊、重放等手段也將失效。最終破解者會(huì)因?yàn)闊o(wú)法獲得MCU端完整程序而宣告破解失敗。
缺點(diǎn):開(kāi)發(fā)難度較大,開(kāi)發(fā)周期較長(zhǎng),對(duì)移植算法代碼本身的安全強(qiáng)度有要求。
由于需要開(kāi)發(fā)者自己考慮移植什么關(guān)鍵算法代碼到加密芯片中,還要考慮移植的代碼跟MCU中程序交互的調(diào)用安全性,對(duì)開(kāi)發(fā)者來(lái)說(shuō)有一定難度,需要費(fèi)點(diǎn)心思考慮。另外還有不是隨便什么程序都適合移植到加密芯片中,程序算法本身過(guò)于簡(jiǎn)單,交互數(shù)據(jù)有規(guī)律的就不太適合。這個(gè)方案的安全關(guān)鍵點(diǎn)其實(shí)就在于移植到加密芯片中那部分程序的安全強(qiáng)度。
二、加密芯片公司簡(jiǎn)評(píng)
根據(jù)我這些年用過(guò)的或者了解的加密芯片的產(chǎn)品做個(gè)簡(jiǎn)單介紹,為了有助于讀者選擇適合的產(chǎn)品,我就結(jié)合產(chǎn)品出品公司一起做個(gè)簡(jiǎn)單介紹,所有公司也是按照采用的加密方案來(lái)分成兩大類,并按照公司成立時(shí)間來(lái)排序:
1、可編程算法移植類加密芯片公司
凌科芯安科技(北京)有限公司
注冊(cè)資本:2000萬(wàn)
成立日期:2006-01-23
官網(wǎng):www.bjlcs-tech.com.cn
主營(yíng)產(chǎn)品:LKT和LCS系列嵌入式加密芯片(包括民用級(jí),工業(yè)級(jí)和安全主控),軟件加密鎖,加密存儲(chǔ),藍(lán)牙加密卡等。典型加密芯片例如LCS4110 \LKT4200HS\LKT4305GM\LKT4304\LKT4306\LKT4107M等。
公司及產(chǎn)品評(píng)價(jià):這家公司是我最早合作過(guò)的加密芯片公司,也是從他那開(kāi)始我第一次使用可編程算法移植加密方案的,產(chǎn)品全是加密芯片類或者相關(guān)的產(chǎn)品,各種加密芯片產(chǎn)品有幾十種(性能、接口、內(nèi)置算法、內(nèi)核等區(qū)別),是一個(gè)專注從事嵌入加密芯片相關(guān)產(chǎn)品開(kāi)發(fā)的公司。從他們產(chǎn)品介紹以及開(kāi)發(fā)手冊(cè),他家出的加密芯片產(chǎn)品硬件平臺(tái)都采用了很多EAL4+或EAL5+的安全防護(hù)技術(shù),另外他們芯片中有該公司開(kāi)發(fā)的安全固件(他們自己稱作加密操作系統(tǒng)),產(chǎn)品線比較完善,產(chǎn)品升級(jí)換代比較快,開(kāi)發(fā)資料開(kāi)發(fā)套件也比較豐富。他們芯片基本都同時(shí)支持可編程算法移植和固定算法認(rèn)證雙方案。
由于他們產(chǎn)品出廠都帶有自己的加密操作系統(tǒng),所以開(kāi)發(fā)的時(shí)候必須在他們的操作系統(tǒng)框架下開(kāi)發(fā),相對(duì)不夠靈活,不過(guò)考慮到他們加密操作系統(tǒng)能夠增強(qiáng)加密芯片的安全性,這點(diǎn)倒是也可以接受。
深圳市中巨偉業(yè)信息科技有限公司
注冊(cè)資本:100萬(wàn)人民幣
成立日期:2012-01-04
官網(wǎng):http://www.sinormous.com/
主營(yíng)產(chǎn)品:SMEC9系列加密芯片、手機(jī)測(cè)試卡、卡貼、智能卡、讀寫(xiě)器、智能家居等。
公司及產(chǎn)品評(píng)價(jià):由于我前面長(zhǎng)期使用過(guò)凌科芯安公司的加密芯片,為了保證穩(wěn)定供貨,我考慮選擇第二家供應(yīng)商,在網(wǎng)上搜索,發(fā)現(xiàn)這家產(chǎn)品功能包括安全性介紹幾乎跟凌科芯安的一樣,這家公司成立時(shí)間也相對(duì)比較晚,產(chǎn)品線上看,加密芯片只有兩款,其他基本都是智能卡、SIM卡和讀寫(xiě)器相關(guān)的產(chǎn)品。感覺(jué)是更偏向智能卡操作系統(tǒng)、藍(lán)牙模塊相關(guān)開(kāi)發(fā)。
他們公司加密芯片編程很靈活,基本相當(dāng)于一個(gè)裸片單片機(jī)開(kāi)發(fā)一樣,給用戶編程帶來(lái)更大的自主靈活性。如果客戶對(duì)底層固件安全保護(hù)技術(shù)不太了解的話,可能會(huì)產(chǎn)生錯(cuò)誤處理機(jī)制問(wèn)題及安全漏洞。由于產(chǎn)品線比較單一,加密芯片可選擇余地不大。
2、固定算法認(rèn)證加密芯片類公司
凌科芯安科技(北京)有限公司
這家公司的特點(diǎn),上面已經(jīng)介紹過(guò)了。在這里我在簡(jiǎn)單說(shuō)一下。凌科芯安公司專注于嵌入式加密領(lǐng)域15年, 是國(guó)內(nèi)加密芯片領(lǐng)域做的最久的一家公司,產(chǎn)品線很豐富,除了代碼移植方式的加密芯片以外,還有認(rèn)證方式的加密芯片,例如LCS2110、 LKT2100、 LKT2100D等。
深圳市原誠(chéng)通科技有限公司
注冊(cè)資本:100萬(wàn)人民幣
成立日期:2010-06-03
官網(wǎng):http://www.yct-tec.com/
主營(yíng)產(chǎn)品:SD NAND、嵌入式存儲(chǔ)、系統(tǒng)級(jí)封裝和加密芯片CK235。
公司及產(chǎn)品評(píng)價(jià):公司規(guī)模很小,主營(yíng)業(yè)務(wù)主要是特殊SD NAND和各種嵌入式存儲(chǔ)卡、提供SIP系統(tǒng)級(jí)封裝設(shè)計(jì)加工,此外還有一款加密芯片CK235(他們公司內(nèi)部產(chǎn)品型號(hào)WS222),是一款I(lǐng)2C接口通過(guò)DES算法比對(duì)認(rèn)證的加密芯片。
深圳馳芯微電子有限公司
注冊(cè)資本:500萬(wàn)人民幣
成立日期:2010-10-22
官網(wǎng):http://www.chip-wise.com/
主營(yíng)產(chǎn)品:4款MCU和2款加密芯片(CW0881和CW2048)
公司及產(chǎn)品評(píng)價(jià):公司主營(yíng)業(yè)務(wù)主要是幾款MCU和2款加密芯片,其中CW0881我測(cè)試過(guò),這個(gè)芯片采用的是F1算法(實(shí)際上就是ATMEL的F1,一種非公開(kāi)對(duì)稱算法),他們的CW0881應(yīng)該就是ATMEL88SC系列芯片改個(gè)名字。
上海動(dòng)信微電子科技有限公司
注冊(cè)資本:112萬(wàn)人民幣
成立日期:2012-08-31
官網(wǎng):http://www.chipsec.com/
主營(yíng)產(chǎn)品:DX8系列加密芯片
公司及產(chǎn)品評(píng)價(jià):公司主營(yíng)業(yè)務(wù)主要是DX系列的6款芯片。其中DX81C04/82C04支持SHA1算法,DX88F01/88SC64支持ECC SHA1 3DES,DX90SM32/90SM08支持3DES。應(yīng)用上就是智能卡行業(yè)的通常的加密認(rèn)證方法,感覺(jué)就是把普通智能卡換了一個(gè)封裝形式來(lái)用。
武漢瑞納捷電子技術(shù)有限公司
注冊(cè)資本:1700萬(wàn)人民幣
成立日期:2015-01-30
官網(wǎng):http://www.runjetic.com/
主營(yíng)產(chǎn)品:加密芯片、安全芯片、MCU、NFC及驅(qū)動(dòng)芯片
公司及產(chǎn)品評(píng)價(jià):公司公司主營(yíng)業(yè)務(wù)里面加密芯片和安全芯片是一部分,另外是MCU和NFC及驅(qū)動(dòng)芯片。我這里談?wù)勊募用苄酒桶踩酒?#xff0c;他有RJGT101103兩款加密芯片,都是采用RC4對(duì)稱算法比證加密,這個(gè)安全性相對(duì)還是弱了些,目前市面上破解RC4算法也很成熟了。RJGT102采用SHA256算法,還有RJMU101/401/402三款芯片都是支持RSA\DES\AES\SHA和SM1\2\3\4國(guó)際和國(guó)密算法,采用標(biāo)準(zhǔn)智能卡操作系統(tǒng)(也有叫做cos),感覺(jué)用在防盜版加密芯片領(lǐng)域,芯片安全性夠了,但加密方案太過(guò)于簡(jiǎn)單了,還是采用了固定算法認(rèn)證方案。
深圳市艾矽科技有限公司
注冊(cè)資本:100萬(wàn)人民幣
成立日期:2016-03-27
官網(wǎng):http://www.ictk-china.com/
主營(yíng)產(chǎn)品:G1-IL005、G3-IOT、G30三款加密芯片,其中主推G1-IL005
公司及產(chǎn)品評(píng)價(jià):這家公司算不上國(guó)產(chǎn),他實(shí)際上是韓國(guó)ICTK公司,在國(guó)內(nèi)的一個(gè)代理公司,其中主推的G1-IL005認(rèn)證芯片采用SHA256算法做比對(duì)認(rèn)證,G3-IOT應(yīng)該是代理了國(guó)內(nèi)某個(gè)安全芯片公司的帶有國(guó)密算法的芯片支持AES\ECC\SHA和國(guó)密SM2\3\4算法采用認(rèn)證加密方案,G30采用AES\ECC\SHA和國(guó)密SM2\3\4算法對(duì)視頻數(shù)量進(jìn)行加密。
三、總結(jié)
客戶在選擇加密芯片是一個(gè)綜合評(píng)估的過(guò)程,要根據(jù)實(shí)際需求,比如安全性、成本、接口、封裝、功耗、性能、產(chǎn)品成熟性、良率、供貨能力、技術(shù)支持和售后服務(wù)等多個(gè)方面,來(lái)選擇最適合自己的產(chǎn)品和方案。特別是公司的持續(xù)服務(wù)的能力非常重要,強(qiáng)烈建議用戶在選擇合作公司的時(shí)候,對(duì)公司的專業(yè)性以及售后服務(wù)能力要做重點(diǎn)的考察關(guān)注。另外加密和破解一直就是一個(gè)矛和盾的關(guān)系,盜版商一直致力于破解技術(shù)的升級(jí),那加密芯片廠商也得具有不斷升級(jí)和提升加密芯片安全性的實(shí)力和技術(shù)能力,這樣才能面對(duì)未來(lái)層出不窮的破解技術(shù)。希望本文能給廣大跟我一樣的開(kāi)發(fā)者在加密芯片選型上有點(diǎn)幫助。
總結(jié)
以上是生活随笔為你收集整理的国产防盗版加密芯片安全性分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: macOS 10.14配置APUE环境
- 下一篇: 自定义函数求圆和圆柱体的表面积