使用軟解密來(lái)破解芯片UID加密

發(fā)表時(shí)間:2020-09-13 09:19:45 人氣:5932

目前常見(jiàn)的STM32及GD32系列的MCU芯片都具有唯一UID,目前成都子程電子提供芯片解密等服務(wù)。

UID是唯一標(biāo)識(shí)符(unique identifier),在STM32系列微控制器的每一顆芯片都具有全球唯一的標(biāo)識(shí)符,該標(biāo)識(shí)符為128位二進(jìn)制序列。因此我們可以利用芯片UID的唯一性對(duì)程序進(jìn)行加密,使每一個(gè)產(chǎn)品中的程序也具有唯一性,即使非法使用者獲取了MCU中的程序復(fù)制到其他芯片中也是不能正常運(yùn)行的,從而達(dá)到保護(hù)開(kāi)發(fā)者的知識(shí)產(chǎn)權(quán)不被侵犯和盜用的目的。

加密可利用的資源:STM32有一個(gè)ID號(hào),加密芯片有一個(gè)ID號(hào)。加密芯片有DES算法,HASH算法,可運(yùn)行程序。

1、比較密碼:STM32程序預(yù)存一個(gè)8字節(jié)密碼,加密芯片預(yù)存一個(gè)相同的密碼,STM32把這個(gè)密碼發(fā)給加密芯片,加密芯片與預(yù)存的密碼比較,相同返回一個(gè)正確值。好像這個(gè)功能只能做到?jīng)]有加密芯片確實(shí)不能跑,但好像很容易破解掉,數(shù)據(jù)傳輸明文,容易跟蹤。也很容易模擬出這個(gè)結(jié)果。

2、加密傳輸比較密碼:同樣在STM32和加密芯片都預(yù)存一個(gè)8字節(jié)密碼,STM32讀取一個(gè)加密芯片生成的隨機(jī)數(shù),然后與8位密碼做一個(gè)DES運(yùn)算,把這個(gè)結(jié)果發(fā)給加密芯片比較。加密芯片用同樣的隨機(jī)數(shù)和密碼做DES運(yùn)算,結(jié)果是和STM32算出來(lái)是一樣的,比較正確后返回正確。這個(gè)比第1個(gè)好一點(diǎn),密文傳輸。還是可以模擬出結(jié)果。

3、HASH運(yùn)算與第2是一樣的。

以上3種感覺(jué)加密強(qiáng)度一般。把STM32破解,讀出程序反匯編,可以找到相應(yīng)的密碼,比較跳轉(zhuǎn)的指令,改掉。真是有這樣的牛人的。

如果利用ID號(hào)捆綁,這樣不利于維護(hù)。保修長(zhǎng)的產(chǎn)品是麻煩事。

主要還是探討第4種方法,把部分程序的算法,函數(shù)放到加密芯片中去。

一、把數(shù)據(jù)分析的函數(shù)放進(jìn)加密芯片。網(wǎng)絡(luò)通訊數(shù)據(jù)格式按照一定的協(xié)議規(guī)約組包,收到后發(fā)給加密芯片解釋,STM32得到解析后的數(shù)據(jù)進(jìn)行操作。這樣做是不是感覺(jué)強(qiáng)多了,破解STM32是沒(méi)有用了,把PC發(fā)的網(wǎng)絡(luò)數(shù)據(jù)與加密芯片發(fā)出來(lái)的數(shù)據(jù)比較,推導(dǎo)組包規(guī)則,可能嗎?好像可能!但如果加密芯片多發(fā)一些隨機(jī)數(shù)參合進(jìn)來(lái),怎么樣?

這個(gè)難度大多了吧。

但隨著芯片解密技術(shù)的不斷升級(jí),目前針對(duì)所有擁有UID的單片機(jī)都可以提供單片機(jī)解密服務(wù),歡迎來(lái)電咨詢。

此文關(guān)鍵字: 芯片解密

工廠展示

工廠展示 工廠展示

聯(lián)系我們

成都子程新輝電子設(shè)備有限公司

聯(lián)系人:文先生

手機(jī):13183865499

QQ:1977780637

地址:成都市金牛區(qū)星輝西路2號(hào)附1號(hào)(臺(tái)誼民生大廈)407號(hào)