新四季網

一種嵌入式軟體防盜版加密方法

2023-05-19 21:53:21

專利名稱:一種嵌入式軟體防盜版加密方法
技術領域:
本發明涉及在各種設備中MCU嵌入軟體實現防複製、防破解的一種嵌入式軟體防盜版加密方法,通過這種加密方法來保護開發者MCU中程序的智慧財產權。
背景技術:
市場上熱賣的各種靠MCU嵌入式程序,實現其主要功能技術的設備,普遍都遇到被別人破解和盜版的問題,而目前市面上出現的很多防盜版加密晶片,都採用簡單的密碼比對模式,也就是在MCU嵌入式軟體裡放入一個密鑰,在加密晶片中放入一個密鑰,然後在MCU運行過程中通過獨立於MCU程序以外的固定算法不斷進行密鑰的比對,如果密鑰一致,則MCU嵌入式程序可以運行。這種方法的主要弊端就是MCU程序是完整的,如果盜版商拿到這種方式加密的設備,不需要去破解加密晶片裡面的密鑰,只要去破解相對薄弱的MCU, 獲取MCU全部代碼,然後通過反編譯找到密鑰的比對點,跳過比對點就完成了 MCU程序的破解。這種加密方式已經完全根本上現在技術的發展,也無法保護開發者MCU中程序的智慧財產權。所以各個帶有MCU嵌入式軟體的設備開發商急需一種能夠從根本上防止盜版商破解MCU中嵌入式軟體的方法,來保護自己的嵌入式軟體的智慧財產權。目前智慧卡內核的加密晶片以其超高安全性廣泛應用於銀行、行動支付、電子商務/政務、控制訪問、身份識另O、控制器,安防監控、遊戲機、汽車電子、平板電腦、機頂盒、DVR、路由器、交換機、儀器儀表等各種電子產品終端領域,採用這種智慧卡內核的加密晶片通過各種安全傳感器、過濾器、總線及內存加密等硬體設計方式防止DPA、SPA等破解攻擊具,從而強有力的保護晶片中的數據不被讀取、破解。加密晶片內部的安全作業系統通過設置內部數據不可讀、敏感信息加密、不可預知的時序以及防火牆機制保護運行在加密晶片安全作業系統上的程序不被探測犾取和跟蹤。

發明內容
本發明要解決的技術問題在於避免出現現有嵌入式軟體防盜版簡單的密鑰比對模式的安全漏洞,而提出一種嵌入式軟體防盜版加密方法,從而實現真正的具有高安全性的、完善的嵌入式軟體加密方法。
具體實施例方式本發明是一種在嵌入式軟體領域,通過把用戶MCU中的嵌入式程序的一部分關鍵程序移植另一塊具有防拷貝、防剖片等高安全性的智慧卡晶片平臺的加密晶片中運行,這個嵌入式加密晶片採用智慧卡晶片平臺。加密晶片擁有可以運行用戶程序代碼的安全作業系統,保證用戶的各種MCU平臺的嵌入式程序可以在帶有安全作業系統的環境下運行、計

ο用戶的MCU通過UART、10、IIC、SPI通訊接口方式與移植到加密晶片中的程序進行交互。用戶MCU中的程序因為已經移植了一部分在加密晶片中,那用戶MCU中程序就是不完整的了,盜版者破解了用戶MCU也無法得到全部代碼,盜版很難破解安全性極強的加密晶片中的程序,用戶MCU運行必須與移植了程序的加密晶片配合才能完成整個程序的運行,從而起到對用戶MCU中嵌入式軟體的防破解保護作用。說明書附1是本發明應用架構原理圖,具體實施方式
結合說明書附1詳細描述如下—種嵌入式軟體防盜版加密方法,包括擁有嵌入式軟體(3, 5)的MCU(2),擁有嵌入式安全作業系統(7)的採用智慧卡晶片平臺的加密晶片(6),MCU(2)通過UART、I0、IIC、SPI通訊接口與加密晶片(6)連接。先把MCU (2)中一段關鍵代碼程序⑷移植到加密晶片(6)中。用戶設備的MCU (2)啟動運行MCU內部嵌入式軟體(3),向加密晶片(6)輸入參數數據(8),加密晶片(6)讓加密晶片內部MCU移植過來的關鍵代碼程序(4)調用輸入的參數數據(8)運算產生輸出參數數據(9)返回給MCU(2),MCU內部嵌入式軟體(5)調用加密晶片(6)輸出的參數數據(9)運算產生輸出數據和結果(10) ,MCU內部嵌入式軟體(3)無法跳過加密晶片(6)中程序(4)與MCU中程序(5)直接交互。如果加密晶片(6)中運行的是正確的MCU移植過來的關鍵代碼程序(4),則加密晶片(6)對MCU輸入的參數數據(8)運算就會產生正確有用的輸出參數數據(9),從而MCU內部嵌入式軟體(5)調用這個輸出參數數據(9)必然能產生正確的輸出數據和結果(10)。反之則MCU內部嵌入式軟體(5)無法正確執行或者產生錯誤的結果。同現有的採用市面上常見的固定密鑰比對認證模式的加密方案相比,本加密方案的有益效果在於,MCU中移植到到加密晶片中的關鍵代碼程序是根據每個不同客戶MCU根據自己嵌入式軟體的不同特點專門選取的,也就是說每個客戶MCU中移植到加密晶片中的關鍵算法程序都是不同的,具有不可預知性。而破解存儲在採用高安全性智慧卡內核並具有安全作業系統的加密晶片中的算法程序的代價高、難度大,從根本上杜絕了破解MCU中嵌入式軟體全部程序的可能,有效的保護了開發MCU嵌入式軟體開發者的智慧財產權。說明書附2是本發明加密晶片結構圖,說明書附2詳細描述如下加密晶片CPU(IOl)是整個加密晶片的程序處理核心單元,可以是8bit、16bit、32bit和64bit的CPU。加密晶片跟外界通訊的接口(102),通過I0、UART、IIC、SPI等接口與設備上的MCU連接,通過這些接口與MCU之間進行數據交互。加密晶片的R0M(103)存放加密晶片的安全作業系統,通過這個安全作業系統對MCU移植到加密晶片中的關鍵算法程序進行解析運行。MCU移植到加密晶片中的關鍵算法程序存放在User Data Area(104)中,供ROM中的安全作業系統調用運行。RAM(105)是R0M(103)中安全作業系統以及User Data Area(105)中MCU移植過來的關鍵算法程序的運行內存。這些在R0M(103)、User Data Area(104)和RAM(105)以及在通訊接口(102)上的數據都是通過Security ControlIer、Watchdog Timer、Timers、Interrupt Controller等單兀進行保護。下面結合說明書附3所示,完整描述一下本發明所述方法完整的工作過程步驟201 :MCU上電,加密晶片上電;步驟202 =MCU運行嵌入式軟體;步驟203 =MCU嵌入式軟體向加密晶片發送輸入參數;
步驟204 :加密晶片運行從MCU移植過來的關鍵算法程序,然後調用MCU送來的輸入參數運算產生結果數據發送給MCU ;步驟205 :MCU嵌入式軟體調用加密晶片返回的結果數據,運算產生數據參數輸出給MCU控制的周邊器件;步驟206 =MCU控制的周邊器件執行MCU的輸出給他的數據參數。如果MCU輸出的數據參數不對,那MCU控制的周邊器件執行這個錯誤數據參數進入步驟207,如果MCU輸出的數據參數正確,那MCU控制的周邊器件執行這個正確數據參數進入步驟208 ;步驟207 :設備無法工作或者 工作不正常;步驟209 :設備無法正常工作,結束。步驟208 :設備正常工作;步驟210 :設備正常工作結束;本發明提供了一種全新的在各種設備中MCU嵌入軟體實現防複製、防破解的防盜版加密方法,通過這種加密方法,嵌入式軟體開發人員可以靈活的根據自己的程序特點選擇移植相關算法程序到加密晶片中,讓破解者無法通過單純破解MCU來獲取MCU中的全部嵌入式軟體。而具有超高安全性和防破解性能的加密晶片保護了那些保存在加密晶片中的那部分關鍵算法程序的安全。從而在根本上解決了目前嵌入式軟體容易被破解複製的隱

■/Q1、O上述為本發明的優選實現過程,本領域的技術人員在本發明的基礎上進行通常變化和替換包含在本發明的保護範圍之內。
權利要求
1.一種嵌入式軟體防盜版加密方法,在帶有加密晶片的MCU設備系統(I),用戶設備的MCU(2)中有用戶自己編寫的嵌入式軟體程序(3、5),採用智慧卡晶片平臺的加密晶片(6)中有可以運行MCU端移植代碼的安全作業系統(7),加密晶片(6)中有從MCU中移植進來的一段關鍵代碼程序⑷,MCU(2)與加密晶片(6)通過UART、10、IIC、SPI等接口連接通訊,MCU (2)運行軟體(3)向加密晶片(6)輸入參數數據(8),加密晶片(6)中MCU移植過來的關鍵代碼程序(4)調用輸入參數數據(8)產生輸出參數數據(9),MCU內部嵌入式軟體(5)調用輸出參數數據(9)運算產生輸出數據和結果(10),MCU內部嵌入式軟體(3)無法跳過加密晶片(6)中程序(4)與MCU中程序(5)直接交互,從而讓盜版商無法通過簡單去除加密晶片(6)讓MCU(2)正確運行,同時盜版商也無法通過剖片獲取高安全性智慧卡晶片內核的加密晶片中的關鍵代碼程序(4),完成MCU設備系統的破解盜版。
2.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於加密晶片(6)內部要有安全作業系統(7),這個安全作業系統可以運行從MCU端移植過來的關鍵代碼程序⑷。
3.如權利I所述的防盜版加密方法,其特徵在於,需要把MCU(2)中的嵌入式軟體摳出一部分代碼程序(4)移植到加密晶片(6)中運行,MCU (2)中的嵌入式軟體(3、5)只是MCU中嵌入式軟體的一部分,是不完整的。
4.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於MCU(2)與加密晶片(6)採用標準UART、10、IIC、SPI通訊接口用於交互指令。
5.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於加密晶片(6)必須採用高安全性智慧卡晶片,智慧卡晶片和MCU具有CPU、ROM、RAM、EEPROM、FLASH和各種安全防護邏輯,具有晶片內部代碼無法拷貝、無法讀取、防探測、防攻擊、防剖片等安全保護機制。
6.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於加密晶片(6)擁有一定容量的可存儲移植代碼程序(4)的EEPROM或FLASH存儲區以及可運行移植代碼程序的 RAM。
7.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於採用相應程序編譯器通過彙編、C語言、JAVA語言編寫移植代碼程序(4),編譯生成HEX或者CAT類型文件,下載到加密晶片(6)中。
8.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於,MCU(2)中程序(3)向加密晶片(6)輸入參數數據(8),加密晶片(6)接收到輸入參數數據(8)後,內部調用移植於MCU中的代碼程序(4)調用輸入參數數據(8)運行產生輸出參數數據(9)返回給MCU(2),MCU內部嵌入式軟體(5)用輸出參數數據(9)運算產生輸出數據和結果(10),使得MCU內部嵌入式軟體(3、5)完整運行,從而完成整個MCU程序功能的運行。
9.如權利I所述的一種嵌入式軟體防盜版加密方法,其特徵在於MCU(2)中的嵌入式軟體(2、3)只是MCU(2)中程序的一部分,是不完整的,必須結合加密晶片(6)中移植的程序(4)才能完成全部功能,缺少加密晶片(6),也就缺少了那部分關鍵代碼(4),MCU內部嵌入式軟體⑶無法跳過加密晶片(6)中程序⑷與MCU中程序(5)直接交互。從而MCU(2)無法完成全部功能從而達到防破解、盜版目的。
全文摘要
一種帶加密晶片的MCU設備(1),包括有嵌入式軟體(3,5)MCU(2),有作業系統(7)的加密晶片(6),MCU(2)通過UART、IO等接口與加密晶片(6)連接。MCU內程序(4)移植到加密晶片中。MCU運行軟體(3),向加密晶片(6)輸入參數(8),加密晶片讓程序(4)調用輸入參數(8)生成輸出參數(9)給MCU(2),MCU軟體(5)調用加密晶片輸出參數(9)生成輸出數據(10),MCU軟體(3)無法跳過程序(4)與MCU程序(5)直接交互。MCU(2)中程序不完整,而加密晶片(6)中程序難以複製,從根本上杜絕了嵌入式軟體整體被複製的可能性。
文檔編號G06F21/12GK103020495SQ20121054617
公開日2013年4月3日 申請日期2012年12月17日 優先權日2012年12月17日
發明者馬駒, 曹鐵, 趙志福 申請人:馬駒

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀