一種帶加密芯片的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)中程序難以復制,從根本上杜絕了嵌入式軟件整體被復制的可能性。
【技術實現步驟摘要】
本專利技術涉及在各種設備中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上述本文檔來自技高網...
【技術保護點】
一種嵌入式軟件防盜版加密方法,在帶有加密芯片的MCU設備系統(1),用戶設備的MCU(2)中有用戶自己編寫的嵌入式軟件程序(3、5),采用智能卡芯片平臺的加密芯片(6)中有可以運行MCU端移植代碼的安全操作系統(7),加密芯片(6)中有從MCU中移植進來的一段關鍵代碼程序(4),MCU(2)與加密芯片(6)通過UART、IO、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設備系統的破解盜版。
【技術特征摘要】
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所述的一種嵌入...
【專利技術屬性】
技術研發人員:馬駒,曹鐵,趙志福,
申請(專利權)人:馬駒,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。