隨著嵌入式和物聯(lián)網(wǎng)的快速發(fā)展,越來(lái)越多的嵌入式產(chǎn)品推向市場(chǎng),如何保證產(chǎn)品程序的安全和知識(shí)產(chǎn)權(quán)不受侵害呢,目前主要有兩種方式:MCU端加密和外加加密IC來(lái)進(jìn)行相關(guān)的產(chǎn)品和知識(shí)產(chǎn)權(quán)保護(hù)。MCU端加密保護(hù)主要是將用戶的程序固件保護(hù)起來(lái),防止別人從調(diào)試接口或者其他的手段讀取flash中的程序,由于嵌入式產(chǎn)品中所采用的處理器大多數(shù)是STM、NXP等,破解商對(duì)這些處理器很熟悉,極容易從MCU端破解,所以MCU端自身的加密保護(hù)是無(wú)法滿足目前的加密需求的。 目前嵌入式產(chǎn)品中大多數(shù)采用的是外加加密IC來(lái)保護(hù)產(chǎn)品和知識(shí)產(chǎn)權(quán)的安全。目前加密芯片國(guó)內(nèi)外有很多產(chǎn)品,國(guó)外加密芯片由于其所處的盜版壓力不是很大,所以其加密芯片大多功能單一,大多數(shù)采用對(duì)比認(rèn)證的方案來(lái)進(jìn)行程序安全的保護(hù),這種方案就是MCU端獲取隨機(jī)數(shù),發(fā)送給加密芯片,加密芯片將加密結(jié)果發(fā)給MCU,MCU內(nèi)部也將隨機(jī)數(shù)加密后與加密芯片發(fā)來(lái)的做比較,相同則繼續(xù)進(jìn)行執(zhí)行程序,不同則退出程序。對(duì)比認(rèn)證這種方案很容易找到對(duì)比點(diǎn),從而跳過(guò)對(duì)比點(diǎn),而且對(duì)比認(rèn)證采用的是對(duì)稱密鑰,MCU端由于其自身不安全性很容易被破解,獲取MCU端的密鑰,這些導(dǎo)致了對(duì)比認(rèn)證的不安全性,而且無(wú)法滿足我國(guó)這種盜版的環(huán)境。 針對(duì)國(guó)內(nèi)這種盜版環(huán)境,嵌入式加密領(lǐng)域目前安全等級(jí)最高的就是算法移植方案,這種方案將一部分程序或者算法移植到加密芯片中執(zhí)行,這樣產(chǎn)品程序分成兩部分,即使MCU端被破解,也無(wú)法獲取加密芯片中的程序,從而起到保護(hù)程序及知識(shí)產(chǎn)權(quán)。相比于對(duì)比認(rèn)證方案,算法移植具有很高的安全性。 市場(chǎng)上還有一種類似于算法移植的方案,治標(biāo)又治本,那就是從提升MCU安全性入手,即直接使用加密MCU,國(guó)內(nèi)的相關(guān)企業(yè)推出了安全主控MCU產(chǎn)品,例如LKT系列,兼具加密芯片的安全性,同時(shí)可以支持GPIO 、UART、 IIC 、SPI 、PWM 等功能,可以替代一些常見(jiàn)的MCU,實(shí)現(xiàn)一些功能。如果產(chǎn)品中實(shí)現(xiàn)功能不是特別復(fù)雜,完全可以使用安全主控替代常見(jiàn)MCU,這樣既確保產(chǎn)品的安全性,又省去了外加加密芯片。 |