You have multiple accounts
Choose the account you want to sign in with.

本文將告訴您,Secure Sockets Layer (SSL) 信號交換期間用戶端驗證的程序。

結論

採用 SSL 的伺服器可以設定為需要用戶端驗證,或經由用戶端身分的伺服器進行密碼編譯驗證。當以這種方式設定的伺服器要求用戶端驗證時,用戶端會同時傳送憑證及個別數位簽署的資料給伺服器,以驗證用戶端本身。伺服器會使用數位簽署的資料來驗證憑證中的公開金鑰,並驗證憑證所宣稱代表的身分。


SSL 通訊協定會從信號交換期間隨機產生的資料中建立只有用戶端和伺服器知道的單向雜湊,以要求用戶端建立數位簽章。然後,資料的雜湊會由代表伺服器的憑證中相當於公開金鑰的私密金鑰,進行加密。


採用 SSL 的伺服器會逐步進行下列步驟,以驗證使用者的身分。

  1. 使用者的公開金鑰是否會驗證使用者的數位簽章?伺服器會檢查使用者的數位簽章是否可以利用憑證中的公開金鑰進行驗證。如果可以,表示在伺服器中,宣告屬於使用者的公開金鑰與用來建立簽章的私密金鑰相符,並且自簽署後,資料尚未遭到竄改。

    然而,此時尚未建立公開金鑰與憑證中所指定辨別名稱 (DN) 之間的繫結。他人可能已經建立憑證,試圖模擬使用者。如果要驗證公開金鑰和 DN 之間的繫結,伺服器也必須完成步驟 3 和 4。

  2. 今天的日期仍在有效期間內嗎? 伺服器會檢查憑證的有效期間。如果目前的日期和時間超過該期限,就不會再進行任何驗證程序。如果目前的日期和時間仍在憑證的有效期間內,伺服器就會執行步驟 3。

  3. 所發行的憑證授權單位 (CA) 是受信任的 CA 嗎?每部採用 SSL 的伺服器都會維護受信任的 CA 憑證清單。此清單決定伺服器將接受哪些憑證。如果發行 CA 的 DN 與受信任 CA 伺服器清單上 CA 的 DN 相符,那麼這個問題的答案會是肯定的,並且伺服器就會執行步驟 4。如果發行 CA 不在清單上,那麼用戶端在伺服器可以驗證清單上 CA 的憑證鏈結結尾之前,都不會經過驗證。系統管理員可以利用由用戶端和伺服器維護的 CA 憑證清單,來控制組織內哪些憑證受信任,哪些不受信任。

  4. 發行 CA 的公開金鑰是否驗證發行者的數位簽章?伺服器會使用 CA 憑證 (您可以在步驟 3 的受信任 CA 清單中找到) 中的公開金鑰,驗證所代表憑證上的 CA 數位簽章。如果憑證中的資訊在經由 CA 簽署之後已經有所變更,或者 CA 憑證中的公開金鑰與 CA 用來簽署憑證的私密金鑰不符,伺服器就不會驗證使用者的身分。如果可以驗證 CA 的數位簽章,伺服器就會將使用者的憑證視為該 CA 中的有效「推薦」,並繼續進行。此時,SSL 通訊協定會允許伺服器將用戶端視為已驗證,並繼續進行下一個步驟的連線。

  5. 是否授權已驗證的用戶端存取要求的資源?伺服器會根據伺服器的存取控制清單 (ACL),檢查允許用戶端存取哪些資源,並建立適當的存取連線。如果伺服器由於任何原因而無法執行步驟 5,則憑證所識別的使用者就無法通過驗證,並且無法存取任何需要驗證的伺服器資源。

其他相關資訊

如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

257591 Description of the Secure Sockets Layer (SSL) Handshake

参考

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×