1. 程式人生 > >2018-2019-1 20165325 20165320 20165337 實驗二 韌體程式設計

2018-2019-1 20165325 20165320 20165337 實驗二 韌體程式設計

實驗二 韌體程式設計

小組成員

  • 20165325 李東駿
  • 20165320 申啟
  • 20165337 嶽源

韌體程式設計-1-MDK

  • 實驗目標

    • 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.1-1.5安裝MDK,JLink驅動,注意,要用系統管理員身分行uVision4,破解MDK(破解程式中target一定選ARM)
    • 提交破解程式中產生LIC的截圖
    • 提交破解成功的截圖
  • 實驗步驟

    1、執行mdk.exe,按照實驗指導書中的步驟安裝 MDK-ARM,ULINK驅動。

    2、用系統管理員身份執行uVision4,點選License Management,複製CID碼,再執行Keil—MDK註冊機,將CID碼貼上到特定位置,Target欄選擇ARM。點選Generate會生成一段LIC碼。

    3、將註冊機生成的一段LIC碼複製到Keil4中的LIC輸入框中,點選ADD LIC即可破解完成。

    4、破解程式產生LIC的截圖:

    5、破解成功的截圖:

韌體程式設計-2-LED

  • 實驗目標

    • 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
    • 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.9”完成LED實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 實驗步驟

    1、到軟體資料檔案目錄下找到SC000.exe檔案,執行開啟,按照實驗指導書中的步驟完成庫的新增。

    2、開啟Keil uVision4 MDK,新建一個工程,選擇晶片庫為Generic SC000 Device Database,選擇具體的CPU型號,點開ARM結構目錄,選擇SC000,基礎環境搭建完成。

    3、 開啟實驗1-LED閃爍目錄的工程檔案,編譯工程,產生一個bin的可執行檔案。然後將實驗箱接入電源,通過USB線與電腦相連。

    4、開啟Z32除錯工具NZDownloadtool.exe,開啟Z32之前先按住Rebbot鍵不放,兩次開啟實驗箱電源開關,Z32被識別,Download tool顯示已連線裝置,然後瀏覽之前編譯生成的.bin檔案,點選下載,重新開啟Z32開關,即可觀察到L2燈開始閃爍。

韌體程式設計-3-UART

  • 實驗目標

    • 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.10”完成UART傳送與中斷接收實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 實驗步驟

    1、開啟實驗2-UART傳送與中斷接受目錄的工程檔案,編譯生成一個.bin可執行檔案。

    2、按照之前LED燈實驗相同的步驟下載除錯程式。

    3、用9針串列埠線將Z32模組的串列埠與電腦USB介面連線,在電腦上開啟串列埠助手,按照實驗指導書的步驟選擇對應的串列埠號,波特率,校驗方式,選中傳送新行,然後開啟串列埠。

    4、關閉Z32電源開關,再開啟,程式執行,串列埠除錯助手會看到相關資料的顯示,說明電腦收到了Z32串列埠傳送過來的資訊。之後在字元輸入框內輸入字串,點擊發送按鈕,可以看到串列埠助手上會顯示我們傳送的資料。

韌體程式設計-4-國密演算法

  • 實驗目標

    • 網上找一下相應的程式碼和標準測試程式碼,在Ubuntu中分別用gcc和gcc-arm編譯
    • 四個演算法的用途?
    • 提交在Ubuntu中執行國密演算法測試程式的截圖
  • 實驗步驟

    1、演算法用途:

    SM1 為對稱加密。其加密強度與AES相當。該演算法不公開,呼叫該演算法時,需要通過加密晶片的介面進行呼叫。

    SM2為非對稱加密,基於ECC。該演算法已公開。由於該演算法基於ECC,故其簽名速度與祕鑰生成速度都快於RSA。ECC 256位(SM2採用的就是ECC 256位的一種)安全強度比RSA 2048位高,但運算速度快於RSA。

    SM3 訊息摘要。可以用MD5作為對比理解。該演算法已公開。校驗結果為256位。

    SM4 無線區域網標準的分組資料演算法。對稱加密,金鑰長度和分組長度均為128位。

    參考資料:

    2、SM3演算法執行截圖:

    3、SM4演算法執行截圖:

韌體程式設計-5-SM1

  • 實驗目標

    • 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.16”完成SM1加密實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
  • 實驗步驟

    1、開啟實驗8-SM1工程檔案,編譯工程,產生.bin可執行檔案,按照之前一樣的步驟開啟NZDownloadTool.exe下載除錯程式。

    2、按照實驗三的步驟除錯串列埠,開啟串列埠。

    3、在實驗箱對應位置插入IC卡,螢幕顯示出使用者程式碼,按下矩陣鍵盤的A鍵,再次按下A鍵,螢幕會顯示“按-A 鍵校驗密碼”,再次按下A鍵,顯示校驗成功。

    4、進入SM1加解密實驗介面,按“1鍵”選擇加密,螢幕顯示觀看串列埠除錯助手,電腦上串列埠除錯助手介面會顯示初始資料以及加密金鑰,確認加密後按A鍵可以存入IC卡,螢幕會重新回到加解密介面。

    5、按“2”鍵選擇解密,首先按“A“鍵進入讀取介面,成功後選擇1、正確金鑰還是2、錯誤金鑰。按”1“鍵選擇正確金鑰,再按”A“鍵確認解密,串列埠會顯示正確金鑰資訊,解密完成後串列埠會顯示解密後的資料,螢幕會顯示按A鍵返回。如果按”2“鍵選擇錯誤金鑰,串列埠顯示 的解密後的資料與原資料不符,解密失敗。

實驗過程中遇到的問題:

  • 在做LED燈實驗的時候,程式下載除錯完成後,實驗箱無現象變化。

解決辦法:換一個實驗箱就好了哦。

  • UART實驗中,串列埠助手與實驗箱沒有互通,電腦能收到來自實驗箱的資料資訊,但使用字串輸入框時,串列埠助手不會顯示資訊。

解決辦法:無

  • UART實驗中,有時開啟Z32電源,串列埠助手第一個字元會顯示亂碼。

解決辦法:先開啟實驗箱電源,再開啟串列埠助手。

知識點總結

1、實驗箱與PC端的資料傳輸。

實驗體會

  • 這次實驗讓我們意識到團隊的重要性,只要每個人各司其職,做好自己分內的事情,齊心協力,很多問題都能迎刃而解。