2017-08-15 141 views
0

我並不完全瞭解在高度安全的SSL連接建立(避免中間人攻擊)中證書鎖定的必要性。爲什麼需要SSL證書鎖定?

SSL證書釘扎需要主機驗證與由服務器提供的一個嵌入原有的服務器證書。嵌入在主機中的服務器證書和服務器提供的服務器證書之間有什麼區別,以便客戶端進行驗證?

是什麼,我在這裏失蹤?

回答

2

嵌入主機的服務器證書與服務器提供的服務器證書之間的區別是什麼?

應該沒有,這正是證書鎖定的要點。

沒有證書通常釘扎的應用程序接受它匹配請求主機名和由本地信任的CA(證書頒發機構)頒發的證書。鑑於通常有100多家CA在本地信任存儲就足夠了其中一個在2011年得到了成功的攻擊爲在the case of DigiNotar因此,它是有道理的限制要接受一個特定的證書,即釘扎。

除了證書由證書比較牽制與本地存儲的證書收到有釘扎的其他方式:例如一個可能只是覈對指紋(哈希值),而不是整個證書。如果證書可以過期,則僅檢查公鑰而非整個證書可能更有用,因爲公鑰通常保持在證書更新期間。或者有人可能會針對某個被認爲可信的CA頒發該域的證書。

注意瞭解牽制,您可能需要了解服務器的身份驗證是如何工作的。其中一部分是驗證服務器證書(主機名,到期,信任鏈...)。但這是不夠的,因爲證書本身是公開的,即每個人都可以得到它並可以在TLS握手中發送它。因此,認證的另一個主要部分是服務器證明它是證書的所有者。這是通過使用與證書匹配的私鑰簽署一些數據來完成的。由於只有證書的所有者應該擁有私鑰才能證明所有權。由於這個原因,任何人都可以嵌入服務器證書進行固定,但只有服務器本身才能證明證書的所有權。