找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1767|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

產(chǎn)品加密之我見

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:854399 發(fā)表于 2021-3-30 15:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前段時(shí)間,有同學(xué)做加密芯片國產(chǎn)化替代,筆者在加密芯片領(lǐng)域摸爬滾打十幾年,積累了一些經(jīng)驗(yàn),就此問題做個(gè)總結(jié)。
一、功能選型
加密芯片有多種類型,例如邏輯加密、ASIC、CPU卡等。國產(chǎn)加密芯片還多出了商密算法,選型更加復(fù)雜。
舉例:有個(gè)客戶做機(jī)頂盒條件接收,需求點(diǎn)是用戶身份授權(quán)+數(shù)據(jù)安全傳輸存儲(chǔ)。推薦了國內(nèi)的一家卡片,但其執(zhí)意要選取ATXXX16XX卡去完成。原因是這個(gè)客戶有個(gè)朋友,公司做燃?xì)獗碛玫木褪茿TXXX16XX卡,使用多年很安全,沒有非法充值情況發(fā)生。
燃?xì)庑袠I(yè)的應(yīng)用特點(diǎn)和使用方式很特別。例如燃?xì)獗碛秀U封,一打開就失效,因此沒人拆表分析;遠(yuǎn)傳表連接后臺云端,終端表具有篡改行為發(fā)生,會(huì)立即報(bào)警。有的采用工作人員上門抄表方式,異常充值立即會(huì)被發(fā)現(xiàn)。
客戶需求的CPU跟卡片通信傳輸安全,在ATXXXX16XX卡片無法實(shí)現(xiàn);而身份認(rèn)證也只支持明文認(rèn)證PIN口令。ATXXX16XX安全使用多年,更多的是行業(yè)應(yīng)用方式?jīng)Q定,而非安全性高。表面看客戶需求實(shí)現(xiàn),但安全防護(hù)效果不佳。為了突出產(chǎn)品賣點(diǎn)認(rèn)國際大廠品牌,選型比較盲目。舉個(gè)例子,多數(shù)機(jī)頂盒需要終端與后臺聯(lián)網(wǎng)傳輸授權(quán)信息,這個(gè)時(shí)候最適合的卡片功能應(yīng)該是具備密鑰安全存儲(chǔ)與數(shù)據(jù)加密的功能,用來對傳輸數(shù)據(jù)進(jìn)行保護(hù),但ATXXX16XX卻不具備。又比如,ATXXX16XX有設(shè)置熔斷功能,避免設(shè)置被篡改,而這個(gè)功能在機(jī)頂盒上也用不到,所以我跟人認(rèn)為這個(gè)選型是有一些問題,或者說不太妥當(dāng)?shù)摹?/div>
反觀推薦的LK系列卡片,身份認(rèn)證權(quán)限機(jī)制健全,數(shù)據(jù)存儲(chǔ)算法優(yōu)越,權(quán)限控制嚴(yán)格,安全性明顯好于ATXXX16XX,但客戶不用,也是無可奈何。
二、性能參數(shù)評估
有個(gè)項(xiàng)目需求是實(shí)現(xiàn)終端數(shù)據(jù)的加密傳輸,同時(shí)必須保證密鑰存儲(chǔ)和運(yùn)算安全。經(jīng)過仔細(xì)選型,定了兩款型號,手冊參數(shù)上看,功能相似性能接近?尚行栽u估時(shí)理論計(jì)算差不多,實(shí)際運(yùn)行則相差甚遠(yuǎn)。最終定位在通信速率差異。手冊中加密速度指的是芯片內(nèi)部運(yùn)行速度,但應(yīng)用中,MCU(或者FPGA、DSP)還要和加密芯片通信,通信速率(uart 和IIC)限制了加密帶寬,看起來低級錯(cuò)誤,但基本都要踩過坑才知道。
還有的項(xiàng)目對于功耗等有要求,在手冊中看是符合的,實(shí)際測試中待機(jī)功耗高于預(yù)期,最終也用不上。
三、方案設(shè)計(jì)
主流加密方案主要有身份認(rèn)證、數(shù)據(jù)保密存儲(chǔ)、算法移植這3大類。
身份認(rèn)證:車載終端、公交刷卡機(jī)、門禁系統(tǒng)等場景需要身份認(rèn)證,其內(nèi)部加密芯片負(fù)責(zé)存儲(chǔ)密鑰和數(shù)據(jù)加密,與服務(wù)器(或者云端)身份鑒權(quán),成功后登陸平臺并開啟響應(yīng)功能權(quán)限。設(shè)計(jì)方案應(yīng)側(cè)重芯片自身的安全性和性能。參與認(rèn)證的隨機(jī)數(shù)應(yīng)是真隨機(jī)數(shù)。
數(shù)據(jù)保密存儲(chǔ):以汽車檢測儀行業(yè)為例,采集分析后匯總的核心數(shù)據(jù),能夠提升產(chǎn)品品質(zhì),作出更符合消費(fèi)者需求的產(chǎn)品。設(shè)計(jì)方案要考慮存儲(chǔ)數(shù)據(jù)安全。默認(rèn)MCU(或flash、EEPROM存儲(chǔ))安全性差。常規(guī)做法是存儲(chǔ)在加密芯片中,使用時(shí)再加密讀回,MCU解密后使用。MCU與加密芯片傳輸?shù)陌踩钥煽,大大提升產(chǎn)品安全性。配合傳輸前雙向認(rèn)證,方案更具可靠性。
算法移植方案:安防設(shè)備、工控機(jī)具等通常對程序防盜版有很高的要求,前述2種方案相對程序保護(hù)效果有限,后誕生了算法移植方案。這是國內(nèi)公司凌科芯安最初提出的方案。流程是將MCU部分程序移植到加密芯片(高安全等級)中存儲(chǔ)運(yùn)行,芯片具備內(nèi)部程序數(shù)據(jù)區(qū)離散存儲(chǔ)、固有函數(shù)隱蔽性強(qiáng)、客戶獨(dú)立設(shè)計(jì)方案自由等特點(diǎn)。此時(shí)單獨(dú)破解MCU無效,而破解加密芯片面臨成本高難度高等棘手問題,投入產(chǎn)出不成正比,以此防盜防抄。以凌科芯安的LKT和LCS系列為代表,在防盜版領(lǐng)域優(yōu)勢相對明顯。  
四、調(diào)試壁壘(調(diào)試難度)
硬件方面,設(shè)計(jì)電路過程盡可能按照原廠demo電路進(jìn)行設(shè)計(jì),上拉電阻、復(fù)位電路器件參數(shù)選取,一般是廠家多年心血總結(jié),比較靠譜,沒必要盡量不改。
電源方面,處理好電源濾波。軟件通信調(diào)試,務(wù)必仔細(xì)看廠家提供的通信協(xié)議手冊,避免私有產(chǎn)品協(xié)議導(dǎo)致調(diào)試不通。以前有次通信采用ISO7816接口,默認(rèn)所有指令按7816規(guī)范開發(fā),卡了好幾天,最終發(fā)現(xiàn)有一條E3開頭命令是私有指令,有別于ISO7816。希望大家引以為鑒。
穩(wěn)定性測試、老化測試必須重視。這是合格產(chǎn)品的必由之路,有些問題開發(fā)環(huán)節(jié)無法浮現(xiàn),必須要經(jīng)過批量測試和老化測試才能暴露。避免正式批量時(shí)出現(xiàn)問題。
五、量產(chǎn)發(fā)行(初始化問題,發(fā)行中的密鑰保護(hù)問題)
加密芯片除了要求自身安全穩(wěn)定,也要考慮發(fā)行(初始化和應(yīng)用燒錄)條件,手工發(fā)行和機(jī)械發(fā)行的效率和成本差別巨大,還有就是找第三方發(fā)行。
第三方代發(fā)行要考慮安全性,這個(gè)問題在合作過的芯片廠家中,凌科芯安比較有特色,可根據(jù)需求定制個(gè)人化加密發(fā)行方案,保證密鑰和數(shù)據(jù)安全,第三方無法超發(fā)多發(fā)。
綜上所述,加密保護(hù)首選方案,對功能和性能具備不同要求,開發(fā)調(diào)試和量產(chǎn)發(fā)行注意細(xì)節(jié)和安全,如何快速有效完成生產(chǎn)開發(fā)工作是一門很大的學(xué)問,希望此文有所裨益!

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:731755 發(fā)表于 2021-4-3 18:25 | 只看該作者
知識產(chǎn)權(quán)的確很重要,我想起,以前學(xué)習(xí)PLC,三菱系列的都有這個(gè)功能,不過,破解這個(gè)程序盡然成了賺錢的產(chǎn)業(yè),
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表