硬體安全的進階主題與趨勢
假設韌體的簽章確認,在1次故障注入嘗試中被跳過的機率為1/1,000。現在把相同的確認在2個地方進行,必須兩者都被跳過,攻擊才會成功。若1次嘗試能同時鎖定2個地方,且各自被跳過的事件互相獨立、機率皆為1/1,000,則攻擊成功前所需嘗試次數的期望值是下列何者?
- A1,000次
- B2,000次
- C1,000,000次
查看答案與解析
正確答案:C. 1,000,000次
1次嘗試中兩者都被跳過的機率為 (1/1,000) × (1/1,000) = 1/1,000,000。重複進行成功機率為 p 的嘗試時,到第一次成功為止之次數的期望值為 1/p,因此是1,000,000次(100萬次),是只有1處確認時1,000次的1,000倍。不過,這個計算的前提是兩個故障互相獨立地發生。若是一次錯誤動作就會讓兩者都被跳過的寫法(例如把相同的比較連續寫兩次),效果有限,因此要搭配錯開確認的時間點、比較反轉後的值、插入隨機等待時間等做法。
- A. 這是只有1處確認時的期望值。
- B. 這是把增加的地方用加法來考慮的值。兩個獨立事件同時發生的機率是相乘。
- C. 正確。1 ÷ (1/1,000)² = 1,000,000次。