Tls

帶有 NULL 晶片套件的 TLS

  • February 5, 2017

在使用所有算法為 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 這樣的加密傳輸協議的原因。

引用自:https://crypto.stackexchange.com/questions/43593