密碼學基礎與應用
在系統設計中,提升密碼敏捷性(使加密方式容易替換的性質)的做法,適當的是下列何者?
- A把加密演算法與金鑰長度直接寫在程式中,使運作中任何人都無法變更設定
- B建立使用了哪些加密方式及其位置的清單,並讓演算法可透過設定或協定協商來替換
- C新的加密方式可能有缺陷,因此只持續使用已使用20年以上、有實績的方式
查看答案與解析
正確答案:B. 建立使用了哪些加密方式及其位置的清單,並讓演算法可透過設定或協定協商來替換
加密方式可能因攻擊的進步而變得不安全,例如MD5、SHA-1與短金鑰的RSA,遷移到後量子密碼學也是其中之一。若加密方式直接寫在程式深處,光是找出在哪裡使用就很費工,替換也要花很長的時間。掌握在何處使用了哪種加密的清單(盤點)、在通訊與資料格式中加入演算法的識別碼,並使演算法可透過設定替換,就能快速且安全地推動遷移。
- A. 直接寫入的話,當方式變得危險時,替換會很花時間。這與密碼敏捷性是相反的設計。
- B. 正確。加密的盤點,與可替換的設計兩者都需要。
- C. 舊的方式中,有些已經被發現攻擊方法。重要的是做好能轉移到新方式的準備。