密碼學基礎與應用
關於TLS 1.3的0-RTT(使用先前連線取得的預先共用金鑰,把「早期資料」與第一則訊息一起傳送的方法)的注意事項,正確的是下列何者?
- A早期資料不經加密、以明文傳送,因此不得包含密碼或信用卡號碼等資訊
- B無法完全防止攻擊者把記錄下來的早期資料重新傳送的重放攻擊,因此只用於重複執行也沒有問題的請求
- C早期資料的前向保密比一般資料更強,因此越是匯款等重要的請求越應該使用
查看答案與解析
正確答案:B. 無法完全防止攻擊者把記錄下來的早期資料重新傳送的重放攻擊,因此只用於重複執行也沒有問題的請求
在0-RTT中,用戶端由先前連線收到的預先共用金鑰產生早期資料用的金鑰,把加密後的資料與第一則訊息一起傳送,因此可以減少1個往返的等待時間。但是,此時尚未使用伺服器新的亂數,若攻擊者再次送出記錄下來的早期資料,伺服器可能會再次處理相同的請求(重放攻擊)。此外,早期資料只受預先共用金鑰保護,該金鑰外洩時也沒有前向保密。因此,0-RTT的基本原則是只用於取得網頁這類無論執行幾次結果都不變的請求,不用於匯款或下單。
- A. 早期資料也會以由預先共用金鑰產生的金鑰加密。問題不在加密,而在於會被重新傳送。
- B. 正確。由於對重放的防護不足,要限制可使用的請求。
- C. 早期資料只受預先共用金鑰保護,前向保密比一般資料弱。