2018-2019-1 20165211 20165230 20165208 實驗二 韌體程式設計-1
2018-2019-1 20165211 20165230 20165208 實驗二 韌體程式設計
實驗步驟
1-MDK
實驗要求
- 注意不經老師允許不準燒寫自己修改的程式碼
- 兩人(個別三人)一組
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.1-1.5安裝MDK,JLink驅動,注意,要用系統管理員身分執行uVision4,破解MDK(破解程式中target一定選ARM)
- 提交破解程式中產生LIC的截圖
- 提交破解成功的截圖
實驗過程
- 找到exp2\軟體資料\MDK4.74路徑下的mdk474.exe檔案,點選並安裝。注意此過程中安裝目標路徑是自己建立的一個名為Keil 4的資料夾
- 安裝Ulink驅動
- 在桌面上建立的快捷方式“Keil uVision4”上右鍵,選擇“以管理員身份執行”
- 點選File->License Management…,在彈出的視窗中複製CID
5.開啟exp2\軟體資料\keil-MDK註冊機\keil mdk474註冊機路徑下的KEIL MDK4.74crack.exe,執行Keil-MDK註冊機,將剛才複製的CID貼上到“CID”中,TARGET選擇ARM,然後點選Generate,生成LIC
6.將LIC複製並將其貼上到剛才License Management視窗中的New License ID Code(LID)一欄中即可得到結果
2-LED
實驗要求
- 注意不經老師允許不準燒寫自己修改的程式碼
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.9”完成LED實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
- 實驗報告中分析程式碼
實驗過程
- 安裝SC000庫:在任務一完成的基礎上,開啟exp2\軟體資料\MDK-ARM-SC000庫支援路徑下的MDK-ARM_AddOn_SC000_Support.exe檔案,安裝路徑我們選擇剛才建立的Keil 4資料夾
- 在 keil MDKkeil 工程選擇 SC000庫:用管理員身份開啟uVision4,選擇然後點選
Project->New uVision Project - 新建一個資料夾作為新工程的儲存路徑
- 在晶片庫 選擇框Generic SC000 Device Database
- 點開 ARM 結構目錄,選擇 SC000
- exp2\LED閃爍目錄下的Z32.uvproj工程檔案,然後編譯;
7.用USB公對公線連線電腦和試驗箱;
開啟exp2\軟體資料\Z32下載除錯工具目錄下的NZDloadTool.exe;
8.按住Reboot按鈕的同時兩次開關試驗箱左上角部分的電源開關;
9.左側顯示“1裝置已連線”後,下載LED專案編輯後生成的Z32HUA.bin檔案,目錄是exp2\LED閃爍\bin;
10.下載成功後關閉-開啟電源開關,即可看到LED燈L2閃爍的實驗現象。
3-UART
實驗要求
- 注意不經老師允許不準燒寫自己修改的程式碼
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.0”完成UART傳送與中斷接收實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
- 實驗報告中分析程式碼
實驗過程
1.開啟exp2\UART傳送與中斷接收目錄下的Z32HUA.uvproj工程檔案並編譯;將生成的.bin檔案下載到實驗箱
2.將實驗箱接入電源,連線實驗箱與電腦,用 9 針串列埠線將 Z32 模組的串列埠與電腦 USB 介面連線,開啟Z32下載除錯工具軟體資料\Z32下載除錯工具\NZDownloadTool.exe開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,顯示1裝置已連線後,點選瀏覽,選擇\實驗 2-UART 傳送與中斷接收\bin\Z32HUA.bin,點選下載,綠色進度條載入完成後,程式下載成功。
3.開啟串列埠助手,設定相應引數。
4.關閉Z32電源,再開啟,下載完的程式自動執行,在串列埠除錯助手的字串輸入框輸入字串abcdefgh,然後點擊發送按鈕。
分析程式碼
4-國密演算法
實驗要求
- 網上搜集國密演算法標準SM1,SM2,SM3,SM4
- 網上找一下相應的程式碼和標準測試程式碼,在Ubuntu中分別用gcc和gcc-arm編譯
- 四個演算法的用途?
- 《密碼學》課程中分別有哪些對應的演算法?
- 提交2,3兩個問題的答案
- 提交在Ubuntu中執行國密演算法測試程式的截圖
實驗過程
- SM1:對應密碼學中分組密碼演算法,是由國家密碼管理局編制的一種商用密碼分組標準對稱演算法。演算法安全保密強度及相關軟硬體實現效能與 AES 相當,該演算法不公開,僅以 IP 核的形式存在於晶片中,呼叫該演算法時,需要通過加密晶片的介面進行呼叫。廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政 務通、警務通等重要領域)。
- SM2:對應密碼學中公鑰密碼演算法RSA,是由國家密碼管理局於2010年12月17日釋出,全稱為橢圓曲線演算法,用於加解密及數字簽名。
- SM3:對應密碼學中摘要演算法MD5,是中國國家密碼管理局於2010年公佈的中國商用密碼雜湊演算法標準,適用於商用密碼應用中的數字簽名和驗證,是在SHA-256基礎上改進實現的一種演算法。
- SM4:對應密碼學中分組密碼演算法DES,於2006年公佈,用於無限區域網產品使用,這是我國第一次公佈自己的商用密碼演算法。
實驗截圖
5-SM1
實驗要求
- 注意不經老師允許不準燒寫自己修改的程式碼
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.4” KEIL-MDK 中新增 Z32 SC-000 晶片庫,提交安裝截圖
- 參考雲班課資源中“資訊安全系統實驗箱指導書.pdf “第一章,1.16”完成SM1加密實驗,注意“開啟Z32的電源開關前,按住Reboot按鍵不放,兩次開啟電源開關,Z32即可被電腦識別,進行下載除錯。提交執行結果截圖
- 實驗報告中分析程式碼
實驗過程
1.開啟exp2\SM1目錄下的Z32HUA.uvproj工程檔案並編譯;將生成的.bin檔案下載到實驗箱
2.用9針串列埠線將電腦與Z32部分連線
3.開啟exp2\軟體資料\串列埠除錯助手目錄下的sscom42.exe串列埠助手,完成相關設定後關閉再開啟實驗箱Z32部分的電源開關
4.按照電子屏的提示插入IC卡。
5.插入正確的卡後顯示相應資訊,然後按A校驗密碼
6.按照步驟進行進一步的加解密。
分析程式碼
實驗中的問題及解決過程
虛擬機器USB無法識別連結
在實驗過程中我們選擇使用了虛擬機器作為實驗環境,出現了虛擬機器無法識別實驗箱的USB公對公線。
解決方法:虛擬機器工具欄設定斷開主機連線。
新學到的知識點
- 利用uVision4破解MDK
- 通過串列埠助手實現試驗箱Z32和電腦之間的資料傳輸和通訊
- 如何下載程式到試驗箱
- 國密演算法標準SM1,SM2,SM3,SM4
SM1:對應密碼學分組密碼演算法,廣泛應用於電子政務、電子商務及國民經濟的各個應用領域(包括國家政 務通、警務通等重要領域)。
SM2:對應密碼學公鑰密碼演算法RSA,用於加解密及數字簽名。
SM3:對應密碼學摘要演算法MD5,適用於商用密碼應用中的數字簽名和驗證。
SM4:對應密碼學分組密碼演算法DES,用於無限區域網產品使用。