Key-Exchange
IKEv2 在什麼條件下需要證書?
在 IKEv2 文件中,有如下表達式
$$ CERT, $$或者$$ CERTREQ, $$在 IKE_SA_INIT 或 IKE_AUTH 交換的部分。在此符號中,括號表示它是可選的。我沒有在文件中看到沒有括號的 CERT 或 CERTREQ 表達式。證書在 IKEv2 中總是可選的嗎?在什麼條件下有用?是否與IKEv2的首選認證方式有關?
身份驗證方法可能是一個考慮因素。例如,如果響應者只允許對等方使用 PSK 或 EAP 身份驗證進行身份驗證,那麼
CERTREQ
在響應中發送任何有效負載都是毫無意義的IKE_SA_INIT
(儘管它也沒有真正的危害)。CERT
同樣,在使用 PSK 進行身份驗證時發送有效負載是否無用。與 TLS 不同,IKEv2 不使用
CERTREQ
s 來觸發/請求公鑰/證書身份驗證。即使使用公鑰認證,有效負載也是可選的,例如,即使收到證書請求(假設對等方允許),也可以使用 PSK 認證。它們的主要目的是幫助對等方選擇具有多個可用證書的證書(或表達對特定類型證書編碼的偏好)。請注意,如果某些實現沒有收到任何證書請求,它們可能不會發送證書。
CERT
有效載荷也是可選的。可以在本地安裝受信任的終端實體證書,或者對等方可以使用本地儲存的普通公鑰,或者例如通過 DNS 獲取並通過 DNSSEC 驗證(參見RFC 4025)。這實際上取決於對等點使用什麼信任錨以及這些信任錨儲存在哪裡(例如,如果只有根 CA 證書在本地受信任,則使用 PKI 將需要發送中間 CA 證書以及最終實體證書)。在指定 IKEv2 分段(RFC 7383)之前,有時甚至需要省略證書或證書請求,以避免IKE_AUTH
由於相對較大的有效負載而導致消息的 IP 分段。