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