預備知識:
請參考本部落格的另外一篇文章:
名詞介紹:
otp : one time programming
rsa : 一種非對稱加密方式,公鑰和私鑰必須配對使用
sign : 簽名
verify : 對簽名的檔案進行檢驗
安全是乙個鏈條,並非單一的環節。 每乙個節點的漏洞都可能導致前功盡棄。所以在secure boot flow中,對於敏感程式及資料部分都要做簽名校驗的動作。
可以看下面的圖示,乙個最簡化的流程:
chip加電執行otp中的程式,同時校驗boot code;
boot code中包括了:
平台啟動的關鍵資料,例如ddr引數,缺少這些資料的載入,平台就無法啟動;
以及校對loader用的key, 用於在跳轉loader前,校驗loader程式是否有被篡改過
loader校驗kernel,這個環節並非必須。根據實際情況決定是否需要這一步
假設有駭客非法修改了boot程式或是loader程式, 在啟動過程中都會因為校對失敗,從而啟動不成功。
同時,因為otp只能是寫一次,這上面的程式是無法纂改的,並且ic關閉了讀取otp資料的一切介面,確保了第一步校驗的安全性;
Python中檔案操作簡明介紹
開啟檔案 open函式返回乙個檔案物件,基本語法 file object open file name,access mode r buffering 1 file name 是包含要開啟的檔案名字的字串,它可以是相對路徑或者絕對路徑.可選變數access mode 也是乙個字串,代表檔案開啟的模式...
Eclipse安裝SVN外掛程式方式簡明介紹
本節和大家一起學習一下eclipse安裝svn外掛程式方式,主要從三個方面來講解,在這裡和大家分享一下,希望大家通過本節的介紹對eclipse安裝svn外掛程式有一定的認識。下面是具體介紹。一 links安裝 推薦使用此種安裝方式,因為它便於外掛程式的管理。在eclipse根目錄下新建資料夾link...
IOS的MVC和MVVM模式簡明介紹
ios中的mvc model view controller 將軟體系統分為model view controller三部分,結構圖如下 model 你的應用本質上是什麼 但不是它的展示方式 controller 你的model怎樣展示給使用者 ui邏輯 view 使用者看到的,被controlle...