我有一批物聯網終端設備,目前想為它們加上軟體更新功能。為了減少設計複雜度,我想直接將更新檔放在公開的網路位置,並對更新檔加入下列兩個手段確保安全。
1.簽章:用以確保更新檔出自於我,消除檔案被竄改或替換為有害的程式。
2.加密:用以確保非相關人士取得檔案時無法利用甚至是進行反向工程。
簽章的部分基本上只要在設備佈署前預先把我的驗證公鑰放入設備就好,這部分沒有什麼問題。但關於加密的部分,如果我想讓所有設備共用同一個加密的更新檔,我就得把解密用的私鑰放入所有設備,這表示所有設備共用同一把私鑰,請問這樣做是合理的嗎?
如果不合理,請問像這種使用情境有更好的做法嗎?
謝謝。
可以阿,每個裝置都有自己的私鑰且不可匯出,那麼更新時根據來下載的是哪一台裝置,系統後端直接加密就好,或是需要客戶端的驗證才能下載更新檔案
還可以控制哪些裝置可更新哪些不可以
如果是這樣呢?