Tls
帶有 NULL 晶片套件的 TLS
在使用所有算法為 NULL 的密碼套件的情況下,例如:TLS_NULL_WITH_NULL_NULL 是否可以保證防止重放、交換和過濾?(我說的是消息保護,而不是握手)
因為我已經看到MAC使用序列號,所以也許這用於對抗重放。如果我不計算 MAC,我們的 TLS 片段是否容易被重放、交換和過濾?或者我們使用可靠傳輸協議的事實避免了這種情況(在這種情況下,在計算 MAC 時使用序列號有什麼意義)?
TLS_NULL_WITH_NULL_NULL
是否保證了對重放、交換和過濾的保護?不,NULL-cipher 套件根本不做任何保證,並且在 RFC 中明確禁止兩方協商此密碼套件,其存在的唯一原因是執行握手協議。
因為我已經看到MAC使用序列號,所以也許這用於對抗重放。
TLS 記錄層 確實使用 MAC 身份驗證覆蓋的序列號來防止重新排序攻擊。
如果我不計算 MAC,我們的 TLS 片段是否容易被重放、交換和過濾?
是的,如果您不使用某種 MAC(應用層或傳輸層),則無法保證數據的真實性/完整性,因此容易受到此類攻擊。
或者我們使用可靠傳輸協議的事實避免了這種情況
$$ … $$?
TLS通常通過 TCP 或類似的可靠協議執行,但這不是必需的。請特別注意,此類“可靠”協議僅旨在防止網路錯誤,例如隨機傳輸。它們並非旨在抵禦惡意/有針對性的攻擊,這就是我們擁有像 TLS 這樣的加密傳輸協議的原因。