国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      芯片編程加密保護方法及其系統(tǒng)的制作方法

      文檔序號:8259437閱讀:687來源:國知局
      芯片編程加密保護方法及其系統(tǒng)的制作方法
      【技術領域】
      [0001]本發(fā)明涉及可編程芯片,特別涉及芯片編程加密保護方法。
      【背景技術】
      [0002]目前,大部分現(xiàn)有的可編程芯片解決方案,可編程芯片按照內部只讀啟動程序(Bootrom)代碼驅動USB (通用串行總線,Universal Serial Bus)或者UART (通用非同步收發(fā)傳輸器,Universal Asynchronous Receiver and Transmitter)等硬件接口與編程器(PC loader)交互,將編譯后的代碼以二進制文件格式或者其他兼容機器碼格式下載到系統(tǒng)非易失性存儲器中,系統(tǒng)正常運行時,再由內部引導裝載程序(Bootloader)。將編程代碼由系統(tǒng)非易失性存儲器中載入到內存運行實現(xiàn)各種產品功能及指標。
      [0003]可編程芯片編程下載一般工作流程如圖1所示。
      [0004]步驟說明:
      [0005]1、芯片內核啟動Bootrom初始化外部USB或UART接口。
      [0006]2、PC loader響應Bootrom將Bootloader載入系統(tǒng)隨機存取存儲器RAM中。
      [0007]3、Bootrom 完成載入后執(zhí)行 RAM 中的 Bootloader。
      [0008]行業(yè)內同一公司在設計同類型芯片內部Bootrom程序時,為標準化PC loader接口函數(shù),往往采用某種固定Bootloader的數(shù)據(jù)格式,從而保證交互機制統(tǒng)一。
      [0009]以一種通用的形式為例進行說明,Bootrom和Bootloader交互數(shù)據(jù)格式如圖2所
      /Jn ο
      [0010]PC loader和Bootrom交互信息中,以字段HS作為編程下載握手信號,Bootrom通過UART或USB接收到握手信號后,通過字段CODE LENGTH獲取用戶要下載的CODE的長度信息,然后接收這一長度的Bootloader代碼存放在內部RAM特定區(qū)域中。Bootrom程序把CODE數(shù)據(jù)接收完后,執(zhí)行跳轉指令,程序PC指針跳轉執(zhí)行Bootloader程序。
      [0011]芯片設計完成發(fā)布后內核Bootrom載入用戶Bootloader的過程及數(shù)據(jù)格式統(tǒng)一,且Bootrom在芯片生產封裝時固化,導致同一芯片方案應用于多個終端用戶之間時無差異。通常芯片解決方案在應用時,都需要對終端客戶公開這些信息,這樣同一芯片解決方案的下載過程和細節(jié)對所有廠商都是透明的,容易造成安全隱患。
      [0012]假如A廠商已經設計好一款產品并已經在市面發(fā)售,B廠商可以通過如下手段輕松獲得A廠商的發(fā)售產品的內部固件數(shù)據(jù):B廠商通過公開渠道獲得A廠商的產品,利用其獲得的芯片公開資料,設計一個獨特的Bootloader(以B00T_S命名),B00T_S的作用不是搬移正式固件數(shù)據(jù)到RAM執(zhí)行,而是讀取A廠商產品NAND(Not And,與非門)或eMMC(EmbeddedMultiMediaCard,嵌入式存儲器)中的固件內容發(fā)回給PC ;只要B廠商按照芯片Bootrom規(guī)定的方法將B00T_S下載到A廠商產品中,就能夠輕易獲取A廠商的正式固件數(shù)據(jù),實現(xiàn)產品復制。

      【發(fā)明內容】

      [0013]本發(fā)明的目的在于提供一種芯片編程加密保護方法,使得芯片可靈活配置為鑒權模式和正常模式,芯片編程下載通過鑒權進行識別控制,鑒權控制信息完全受控于終端用戶,有效提高產品的安全性。
      [0014]為解決上述技術問題,本發(fā)明提供了一種芯片編程加密保護方法,包含以下步驟:
      [0015]將引導裝載程序和作為客戶端密碼的用戶鑒權數(shù)據(jù)輸入編程器中;
      [0016]將所述弓I導裝載程序和所述用戶鑒權數(shù)據(jù)傳輸給芯片內部的只讀啟動程序;
      [0017]所述只讀啟動程序通過所述引導裝載程序接收系統(tǒng)存儲器中的產品鑒權數(shù)據(jù);
      [0018]所述只讀啟動程序對比所述用戶鑒權數(shù)據(jù)和所述產品鑒權數(shù)據(jù);
      [0019]若所述用戶鑒權數(shù)據(jù)和所述產品鑒權數(shù)據(jù)相同,則進行所述弓I導裝載程序的載入與執(zhí)行動作;
      [0020]若所述用戶鑒權數(shù)據(jù)與所述產品鑒權數(shù)據(jù)不同,則禁止執(zhí)行所述引導裝載程序的載入與執(zhí)行動作。
      [0021]本發(fā)明還提供了一種芯片編程加密保護系統(tǒng),包含輸入模塊,傳輸模塊,控制接收模塊,控制對比模塊和執(zhí)行模塊;
      [0022]所述輸入模塊用于將引導裝載程序和作為客戶端密碼的用戶鑒權數(shù)據(jù)輸入編程器中;
      [0023]所述傳輸模塊用于將所述用戶鑒權數(shù)據(jù)和所述引導裝載程序傳輸給芯片內部的只讀啟動程序;
      [0024]所述控制接收模塊用于控制所述只讀啟動程序通過所述引導裝載程序接收系統(tǒng)存儲器中的產品鑒權數(shù)據(jù);
      [0025]所述控制對比模塊用于控制所述只讀啟動程序對比所述用戶鑒權數(shù)據(jù)和所述產品鑒權數(shù)據(jù);
      [0026]所述執(zhí)行模塊用于在所述用戶鑒權數(shù)據(jù)和所述產品鑒權數(shù)據(jù)相同時,執(zhí)行所述弓I導裝載程序的載入與執(zhí)行動作,并在所述用戶鑒權數(shù)據(jù)和所述產品鑒權數(shù)據(jù)不同時,禁止執(zhí)行所述引導裝載程序的載入與執(zhí)行動作。
      [0027]相對于現(xiàn)有技術而言,本發(fā)明中可編程芯片中增加了用戶鑒權數(shù)據(jù),和產品鑒權數(shù)據(jù),通過用戶鑒權數(shù)據(jù)和產品鑒權數(shù)據(jù)的加密對比過程,芯片內核在執(zhí)行引導裝載程序之前需要經過芯片內部的只讀啟動程序對用戶鑒權數(shù)據(jù)和產品鑒權數(shù)據(jù)進行比較,如果兩者相同,才會執(zhí)行引導裝載程序,如果兩者不同,則不執(zhí)行引導裝載程序,這個比較的過程即是加密的過程,芯片編程下載通過鑒權進行識別控制,鑒權控制信息完全受控于終端用戶,有效提高產品的安全性,而且本發(fā)明中的芯片靈活配置鑒權模式與一般模式,能兼顧以往的設計需要。另外,僅需調整芯片內部的只讀啟動程序即可實現(xiàn)該加密機制,整體修改成本低且易于實現(xiàn)。
      [0028]另外,所述編程器通過編程專用接口接收所述引導裝載程序和所述用戶鑒權數(shù)據(jù),所述編程專用接口再將所述引導裝載程序和所述用戶鑒權數(shù)據(jù)傳輸給所述只讀啟動程序。
      [0029]引導裝載程序和用戶鑒權數(shù)據(jù)通過編程專用接口接收并傳輸,便于編程器與只讀啟動程序實現(xiàn)交互。
      [0030]另外,在將所述用戶鑒權數(shù)據(jù)和所述編程器中的弓I導裝載程序傳輸給芯片內部的只讀啟動程序的步驟之前,還包含以下步驟:
      [0031]所述芯片內核啟動所述只讀啟動程序;
      [0032]所述只讀啟動程序將所述編程專用接口初始化,準備接收所述引導裝載程序和所述用戶鑒權數(shù)據(jù);
      [0033]所述只讀啟動程序判斷所述芯片的特定通用輸入輸出接口硬件管腳的電平狀態(tài),并在判定所述電平狀態(tài)為高電平時,再進入所述編程器將引導裝載程序和用戶鑒權數(shù)據(jù)傳輸給芯片內部的只讀啟動程序的步驟。
      [0034]在進入鑒權流程之前,芯片內核首先要啟動只讀啟動程序,這個只讀啟動程序被啟動后才能對編程專用接口進行初始化,為之后接收用戶鑒權數(shù)據(jù)和與產品鑒權數(shù)據(jù)相關的引導裝載程序做好準備,另外,只讀啟動程序能夠通過判斷芯片的特定通用輸入輸出接口硬件管腳的電平狀況決定系統(tǒng)是進入鑒權流程還是進入一般流程,準確,安全可靠。
      [0035]另外,如果所述只讀啟動程序判定所述芯片的特定通用輸入輸出接口硬件管腳的電平狀態(tài)為低電平,則執(zhí)行以下步驟:
      [0036]通過所述編程專用接口將所述引導裝載程序傳輸給所述只讀啟動程序;
      [0037]所述芯片內核判斷所述只讀啟動程序是否已經接收到所述引導裝載程序;
      [0038]若所述引導裝載程序已經被所述只讀啟動程序接收,則進行所述引導裝載程序的載入與執(zhí)行動作;
      [0039]若所述引導裝載程序尚未被所述只讀啟動程序接收,則禁止執(zhí)行所述引導裝載程序的載入與執(zhí)行動作。
      [0040]上述過程即不進行加密比較的過程,本發(fā)明靈活配置鑒權模式與一般模式,能兼顧以往的設計需要。
      [0041]另外,所述系統(tǒng)存儲器為非易失性存儲器。
      [0042]另外,所述非易失性存儲器可以為電可擦可編程只讀存儲器、儲存型快閃存儲器或片內只讀存儲器中的一種。
      [0043]另外,所述只讀啟動程序與所述編程器通過包含六個字段的交互數(shù)據(jù)格式進行數(shù)據(jù)傳輸;
      [0044]其中,所述六個字段分別為握手信號字段,存儲器地址字段,引導裝載程序長度字段,用戶要下載的代碼長度信息字段,鑒權數(shù)據(jù)字段以及用戶代碼字段。
      [0045]與現(xiàn)有技術相比,增加了存儲器地址字段,與產品鑒權數(shù)據(jù)相關的引導裝載程序長度字段以及鑒權數(shù)據(jù)字段,僅通過調整芯片內部的只讀啟動程序即可實現(xiàn)本發(fā)明的加密機制,整體修改成本低且易于實現(xiàn)。
      [0046]另外,所述鑒權數(shù)據(jù)字段包含用于存儲用戶鑒權數(shù)據(jù)的用戶鑒權數(shù)據(jù)字段和用于存儲產品鑒權數(shù)據(jù)的產品鑒權數(shù)據(jù)字段。
      [0047]另外,使用所述編程器直接編程所述存儲器地址字段、所述引導裝載程序長度字段以及所述鑒權數(shù)據(jù)字段。
      [0048]由于鑒權控制信息完全受控于終端用戶,有效提高產品的安全性。
      【附圖說明】
      [0049]圖1是根據(jù)現(xiàn)有技術中可編程芯片編程下載一般工作流程圖;
      [0050]圖2是根據(jù)現(xiàn)有技術中編程下載交互數(shù)據(jù)格式示意圖;
      [0051]圖3是根據(jù)本發(fā)明中第一實施方式中
      當前第1頁1 2 3 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1