[發(fā)明專利]利用非對稱加密算法防止代碼被惡意篡改的方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 201610723968.6 | 申請日: | 2016-08-25 |
| 公開(公告)號: | CN107784226A | 公開(公告)日: | 2018-03-09 |
| 發(fā)明(設(shè)計)人: | 田雨農(nóng);劉欣 | 申請(專利權(quán))人: | 大連樓蘭科技股份有限公司 |
| 主分類號: | G06F21/51 | 分類號: | G06F21/51;G06F21/57 |
| 代理公司: | 大連智高專利事務(wù)所(特殊普通合伙)21235 | 代理人: | 李猛 |
| 地址: | 116023 遼寧省大連*** | 國省代碼: | 遼寧;21 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 利用 對稱 加密算法 防止 代碼 惡意 篡改 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及加密技術(shù)領(lǐng)域,特別是利用非對稱加密算法防止代碼被惡意篡改的方法及系統(tǒng)。
背景技術(shù)
很多嵌入式系統(tǒng)開發(fā)投入商用后都會面臨在線升級的問題,從而實現(xiàn)對開發(fā)的嵌入式系統(tǒng)中的完善或?qū)ο到y(tǒng)bug的修改,而在線升級過程是將一些可執(zhí)行文件,通過原系統(tǒng)留有的接口,下載并燒寫到主控芯片的flash中,由于下載的可執(zhí)行文件直接在主控芯片中運行,所以會存在一定的風(fēng)險,如果有人惡意修改這些可執(zhí)行文件,則會導(dǎo)致出現(xiàn)問題,如何保證自己的下載的代碼不被惡意篡改是一個廣泛存在的問題。
目前的系統(tǒng)中對防止代碼被惡意篡改的方法主要依靠簡單的加密的措施,因為由于下載的代碼是加密的,所以可以在一定程度上保證代碼的保密性。
如,一個嵌入式系統(tǒng)預(yù)留有接口,通過串口和主控模塊通信進(jìn)行系統(tǒng)的升級,升級時首先將編譯生成可執(zhí)行文件,之后采用AES算法加密下載代碼(即生成的可執(zhí)行文件),然后通過串口就可以將下載代碼傳輸?shù)街骺匦酒校骺匦酒械某绦驅(qū)⑾螺d代碼解密,并且燒寫到主控芯片的flash中。由于AES算法的key是16個字節(jié),這樣就決定了不可能進(jìn)行暴力破解,可以在一定程度上保護(hù)自己的代碼。
但是如果有人分析了主控芯片中的程序,就可以得到解密下載代碼的過程,由于AES算法屬于對稱算法,即是會解密就會加密。那么得到解密下載代碼的過程之后就相當(dāng)于同時得到了加密的過程,此時就可以隨意的編寫代碼,加密,通過預(yù)留的串口接口下載代碼,這樣系統(tǒng)的安全性就會受到極大的挑戰(zhàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,發(fā)明了利用非對稱加密算法防止代碼被惡意篡改的方法。本發(fā)明解決其技術(shù)問題是采取以下技術(shù)方案實現(xiàn)的:利用非對稱加密算法防止代碼被惡意篡改的方法,包含以下步驟:S1.將原系統(tǒng)軟件分為boot程序及應(yīng)用程序兩部分;S2.將原始工程入口地址修改為flash中其他位置,將所述boot程序放在flash的開頭;S3.編譯原始工程,得到可執(zhí)行的二進(jìn)制代碼,將所述boot程序和所述應(yīng)用程序分別燒寫入主控芯片的flash中;S4.所述boot程序判斷是否需要升級系統(tǒng),如果不需要升級系統(tǒng),則執(zhí)行應(yīng)用程序,如果需要升級系統(tǒng),則進(jìn)入升級程序。
優(yōu)選地,所述步驟S4包含下列步驟:S4.1修改所述應(yīng)用程序,增加對不能編程的所述主控芯片的讀寫操作,測試新的應(yīng)用程序的健壯性;S4.2利用與所述boot程序的解密算法相對應(yīng)的加密算法加密所述應(yīng)用程序;S4.3將加密后的所述應(yīng)用程序放在網(wǎng)絡(luò)服務(wù)器上,供嵌入式系統(tǒng)下載;S4.4所述嵌入式系統(tǒng)上電檢測到有可以升級的新版本后進(jìn)入所述boot程序的升級流程,下載放到所述網(wǎng)絡(luò)服務(wù)器上的代碼;S4.5所述boot程序解密下載的加密應(yīng)用程序代碼,首先將解密的應(yīng)用程序代碼放入RAM中,以便于下一步燒寫到flash中做準(zhǔn)備;S4.6所述boot程序?qū)⒔饷芰说膽?yīng)用程序的源碼燒寫入主控芯片的flash中。
本發(fā)明還保護(hù)利用非對稱加密算法防止代碼被惡意篡改的系統(tǒng),包含:顯示模塊、網(wǎng)絡(luò)模塊、主控芯片轉(zhuǎn)接插座以及主控模塊;所述顯示模塊、所述網(wǎng)絡(luò)模塊以及所述主控芯片轉(zhuǎn)接插座分別與所述主控模塊相連;所述主控模塊包含:加密模塊,用于利用自身代碼通過非對稱算法RSA公鑰加密算法來加密系統(tǒng)軟件;升級模塊,用于通過修改系統(tǒng)軟件增加對主控芯片的支持。
優(yōu)選地,所述加密模塊包含:分類單元,用于將原系統(tǒng)軟件分為boot程序及應(yīng)用程序兩部分;修改單元,用于將原始工程入口地址修改為flash中其他位置,將所述boot程序放在flash的開頭;編譯單元,用于編譯原始工程,得到可執(zhí)行的二進(jìn)制代碼,將所述boot程序和所述應(yīng)用程序分別燒寫入主控芯片的flash中。
優(yōu)選地,所述升級模塊包含:修改單元,用于修改原應(yīng)用程序;加密單元,用于加密應(yīng)用程序;下載單元,用于下載網(wǎng)絡(luò)服務(wù)器上的代碼;解密單元,用于解密下載的代碼;燒寫單元,用于將應(yīng)用程序的源碼燒寫入主控芯片的flash中。
本發(fā)明的優(yōu)點和積極效果是:本發(fā)明通過RSA算法對代碼的加密保護(hù),可以有效的避免代碼被惡意篡改,從而實現(xiàn)保護(hù)自身系統(tǒng)的功能。使用本發(fā)明保護(hù)的系統(tǒng),即使有人獲取到系統(tǒng)的代碼及處理方法,也無法修改,無法跳過設(shè)置的驗證過程。
所述保護(hù)軟件的方法包括升級時從網(wǎng)絡(luò)到嵌入式系統(tǒng)傳輸?shù)膽?yīng)用程序的代碼是加密的,并且加密使用的算法是非對稱算法,使得應(yīng)用程序的完整性不會被破壞。
附圖說明
圖1為本發(fā)明使用實例的結(jié)構(gòu)圖;
圖2為本發(fā)明加密方法實現(xiàn)的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于大連樓蘭科技股份有限公司,未經(jīng)大連樓蘭科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610723968.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計算機(jī)或計算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計算機(jī)系統(tǒng)或計算機(jī)網(wǎng)絡(luò)中的節(jié)點
G06F21-22 .通過限制訪問或處理程序或過程





