Windows-Server-2008

沒有證書可以使用 Https 嗎?

  • January 20, 2015

最近我們的基礎架構團隊告訴我們的開發團隊,您不需要 https 證書。他們提到購買證書的唯一好處是讓消費者放心,他們正在連接到正確的網站。

這與我對 https 的假設背道而馳。

我閱讀了維基百科,它提到您需要一個受信任的證書或自簽名證書來配置 https。

是否可以將 IIS 配置為在沒有任何證書的情況下響應 https ?

不可以。您必須有證書。它可以是自簽名的,但必須有一個公鑰/私鑰對來在伺服器和客戶端之間交換會話對稱密鑰以加密數據。

簡而言之,不,但根據您要如何部署系統,可能會有一些微妙的情況。

HTTPS 是基於 SSL/TLS 的 HTTP,您可以在沒有證書的情況下使用 SSL/TLS,也可以使用 X.509 以外的其他類型的證書

  • 匿名密碼套件:它們可以提供加密,但無需身份驗證。就安全性而言,相當無用…引用RFC 4346:“強烈建議不要使用匿名 Diffie-Hellman,因為它無法防止中間人攻擊。
  • 預共享密鑰:它有自己的機制來驗證遠端身份,但是密鑰的共享性質帶來了自己的一系列問題(特別是有限的部署)。
  • Kerberos 密碼套件:客戶端可以根據 Kerberos 主體名稱驗證伺服器的身份。

嚴格來說,HTTP over TLS 規範是這樣說的:

通常,HTTP/TLS 請求是通過取消引用 URI 生成的。因此,客戶端知道伺服器的主機名。如果主機名可用,客戶端必須將其與伺服器證書消息中顯示的伺服器身份進行檢查,以防止中間人攻擊。

如果客戶端有關於伺服器預期身份的外部資訊,則可以省略主機名檢查。(例如,客戶端可能連接到一台機器,其地址和主機名是動態的,但客戶端知道伺服器將提供的證書。)在這種情況下,盡可能縮小可接受證書的範圍很重要為了防止中間人攻擊。在特殊情況下,客戶端簡單地忽略伺服器的身份可能是合適的,但必須理解這會使連接對主動攻擊開放。

簡而言之,它顯然是為了與 X.509 證書一起使用(它明確引用了 RFC 2459,後來被 RFC 3280 和 5280 取代:帶有 X.509 證書的 PKI)。

當您使用 Kerberos 密碼套件時,可能會出現邊緣情況。將伺服器的 Kerberos 服務票證視為與通常 HTTPS 中的 X.509 證書具有相同目的可能是有意義的,用於驗證遠端方的身份。它不太符合 RFC 2818 的規則(儘管它可能屬於“如果客戶端有關於伺服器預期身份的外部資訊,則可以省略主機名檢查。 ”),但它不會是完全荒謬。話雖如此,我認為通常的瀏覽器一般不支持 TLS Kerberos 密碼套件(一些可以通過 SPNEGO 身份驗證支持 Kerberos,但這無關緊要)。此外,這也只能在適合使用 Kerberos 的環境中工作。

$$ Giving $$消費者放心,他們正在連接到正確的網站“實際上是保護他們與您的伺服器之間通信的關鍵要求之一。請使用他們可以驗證的證書,並具有適當的命名約定(RFC 2818 或更新RFC 6125)。

引用自:https://serverfault.com/questions/343442