共用方式為


內部部署憑證信任部署指南

本文說明適用於下列專案的 Windows Hello 企業版功能或案例:


需求

開始部署之前,請檢閱 規劃 Windows Hello 企業版部署一 文中所述的需求。

開始之前,請確定符合下列需求:

部署步驟

一旦符合必要條件,部署 Windows Hello 企業版包含下列步驟:

設定和驗證公鑰基礎結構

本文說明適用於下列專案的 Windows Hello 企業版功能或案例:


使用 密鑰信任憑證信任 模型時,Windows Hello 企業版必須具有公鑰基礎結構 (PKI) 。 域控制器必須具有憑證,作為用戶端的信任根目錄。 憑證可確保用戶端不會與 Rogue 域控制器通訊。 憑證信任模型將憑證發行延伸到用戶端電腦。 在 Windows Hello 企業版佈建期間,使用者會收到登入憑證。

部署企業證書頒發機構單位

本指南假設大部分企業目前已有公開金鑰基礎結構。 Windows Hello 企業版取決於執行 Windows Server Active Directory 憑證服務 角色的企業 PKI。
如果您沒有現有的 PKI,請檢閱 證書頒發機構單位指引 ,以正確設計您的基礎結構。 然後,請參閱 測試實驗室指南:部署AD CS Two-Tier PKI 階層 ,以取得如何使用設計會話中的資訊來設定 PKI 的指示。

實驗室型 PKI

下列指示可用來部署適用於 實驗室環境的簡單公鑰基礎結構。

在您想要安裝證書頒發機構單位 (CA) 的 Windows Server 上,使用 企業系統管理員 對等認證登入。

注意

請勿在生產環境中的域控制器上安裝證書頒發機構單位。

  1. 開啟提升許可權的 Windows PowerShell 提示字元
  2. 使用下列命令來安裝 Active Directory 憑證服務角色。
    Add-WindowsFeature Adcs-Cert-Authority -IncludeManagementTools
    
  3. 使用下列命令,使用基本證書頒發機構單位設定來設定 CA
    Install-AdcsCertificationAuthority
    

設定企業 PKI

設定域控制器憑證

客戶端必須信任域控制器,而啟用信任的最佳方式是確保每個域控制器都有 Kerberos 驗證 憑證。 在域控制器上安裝憑證可讓密鑰發佈中心 (KDC) 向網域的其他成員證明其身分識別。 憑證為用戶端提供網域外部的信任根目錄,也就是 企業證書頒發機構單位

域控制器會在發現企業 CA 新增至 Active Directory 時,如果發布) ,則會自動要求域 控制器憑證 (。 以 域控制器域控制器驗證 證書範本為基礎的憑證不包含 KDC Authentication 物件標識碼 (OID) ,稍後會新增至 Kerberos RFC。 因此,域控制器需要根據 Kerberos 驗證證書 範本要求憑證。

根據預設,Active Directory CA 會提供併發佈 Kerberos 驗證證書 範本。 範本中包含的密碼編譯組態是以較舊且效能較低的密碼編譯 API 為基礎。 若要確保域控制器使用最佳的密碼編譯要求適當的憑證,請使用 Kerberos 驗證證書 範本作為 基準 來建立更新的域控制器證書範本。

重要

簽發給域控制器的憑證必須符合下列需求:

  • CRL) 發佈點延伸模組 (證書吊銷清單必須指向有效的 CRL,或指向指向 OCSP) 回應者之在線憑證狀態通訊 (協定的 AIA) 延伸模組 (授權單位資訊存取
  • 或者,憑證 主體 區段可以包含伺服器對象的目錄路徑, (辨別名稱)
  • 憑證 金鑰使用方式 區段必須包含 數位簽名金鑰編碼
  • 選擇性地,憑證 基本條件約束區 段應包含: [Subject Type=End Entity, Path Length Constraint=None]
  • 憑證擴充金鑰使用方式區段必須包含客戶端驗證 (1.3.6.1.5.5.7.3.2) 、伺服器驗證 (1.3.6.1.5.5.7.3.1) 和 KDC 驗證 () 1.3.6.1.5.2.3.5
  • 憑證 主體別名 區段必須包含域名系統 (DNS) 名稱
  • 證書範本必須具有值 DomainController為 的延伸模組,並編碼為 BMPstring。 如果您使用 Windows Server Enterprise 證書頒發機構單位,此延伸模組已包含在域控制器證書範本中
  • 域控制器憑證必須安裝在本機計算機的證書存儲中

使用網 域系統管理員 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台

  2. 以滑鼠右鍵按兩下 [ 證書範 > 本管理]

  3. 在證書 範本控制台中,以滑鼠右鍵按下詳細數據窗格中的 Kerberos 驗證 範本,然後選取 [ 複製範本]

  4. 使用下表來設定樣本:

    索引標籤名稱 設定
    相容性
    • 清除 [ 顯示產生的變更] 複選框
    • 從證書頒發機構單位清單中選取 [Windows Server 2016]
    • 從 [認證收件者] 列表中選取 [Windows 10/ Windows Server 2016]
    一般
    • 指定 樣本顯示名稱,例如 網域控制器驗證 (Kerberos)
    • 將有效期間設定為所需的值
    • 記下範本名稱以供稍後使用,這應該與範本顯示名稱減去空格相同
    主體名稱
    • 從此 Active Directory 資訊中選取 [建置]
    • [主體名稱格式] 清單中選取 []
    • 從 [將此資訊包含在替代主旨] 清單中選取 [DNS 名稱]
    • 清除所有其他專案
    密碼編譯
    • 提供者類別設定金鑰儲存提供者
    • 演算法名稱 設定為 RSA
    • 金鑰大小下限 設定為 2048
    • 要求哈希 設定為 SHA256
  5. 選取 [確定 ] 以完成您的變更並建立新的範本

  6. 關閉主控台

取代現有的域控制器憑證

域控制器可能有現有的域控制器憑證。 Active Directory 憑證服務會為域控制器提供稱為 域控制器憑證的預設證書範本。 Windows Server 的更新版本提供了稱為 域控制器驗證憑證的新證書範本。 這些證書範本是在 Kerberos 規格更新之前提供,其中指出金鑰發佈中心 (KDC) 執行包含 KDC 驗證 延伸模組所需的憑證驗證。

Kerberos 驗證證書範本是針對域控制器指定的最最新證書範本,而且應該是您部署到所有域控制器的證書範本。
自動註冊功能可讓您取代域控制器憑證。 使用下列組態,使用 Kerberos 驗證 證書範本,將較舊的域控制器憑證取代為新的域控制器憑證。

使用 企業系統管理員 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台
  2. 以滑鼠右鍵按兩下 [ 證書範 > 本管理]
  3. 在證書 範本控制台中,以滑鼠右鍵按下 Kerberos (域控制器驗證) (或您在上一節中建立的證書範本名稱,) 詳細數據窗格中的範本,然後選取 [ 屬性]
  4. 選取 [ 已取代的範本] 索引標籤 。選取 [新增]
  5. 從 [新增已取代的範本] 對話框中,選取域控制器證書範本,然後選取 [確定新增]>
  6. 從 [ 新增已取代的範本 ] 對話框中,選取 [域控制器驗證] 證書 範本,然後選取 [ 確定]
  7. 從 [ 新增已取代的範本 ] 對話框中,選取 [Kerberos 驗證] 證書 範本,然後選取 [ 確定]
  8. 將先前為域控制器設定的任何其他企業證書範本新增至 [ 已取代的範本] 索引 標籤
  9. 選取 [確定 ] 並關閉 [ 證書範本] 主控台

證書範本會設定為取代取代範本清單中提供的所有證書 範本
不過,在範本發佈至一或多個證書頒發機構單位之前,證書範本和證書範本的取代不會作用中。

注意

域控制器的憑證必須鏈結至 NTAuth 存放區中的根目錄。 根據預設,Active Directory 證書頒發機構單位的跟證書會新增至 NTAuth 存放區。 如果您使用非Microsoft CA,預設可能不會這麼做。 如果域控制器憑證未鏈結至 NTAuth 存放區中的根目錄,使用者驗證將會失敗。 若要查看 NTAuth 存放區中的所有憑證,請使用下列命令:

Certutil -viewstore -enterprise NTAuth

設定內部 Web 伺服器證書範本

Windows 用戶端會透過 HTTPS 與 AD FS 通訊。 若要符合此需求,必須將 伺服器驗證憑證 簽發給 AD FS 伺服器陣列中的所有節點。 內部部署可以使用企業 PKI 所簽發的 伺服器驗證 憑證。 必須設定 伺服器驗證 證書範本,AD FS節點才能要求憑證。

使用網 域系統管理員 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台

  2. 以滑鼠右鍵按兩下 [ 證書範 > 本管理]

  3. 在 [ 證書範本控制台] 中,以滑鼠右鍵單擊詳細數據窗格中的 Web 伺服器 範本,然後選取 [ 複製範本]

  4. 使用下表來設定樣本:

    索引標籤名稱 設定
    相容性
    • 清除 [ 顯示產生的變更] 複選框
    • 從證書頒發機構單位清單中選取 [Windows Server 2016]
    • 從 [認證收件者] 列表中選取 [Windows 10/ Windows Server 2016]
    一般
    • 指定 範本顯示名稱,例如 內部 Web 伺服器
    • 將有效期間設定為所需的值
    • 記下範本名稱以供稍後使用,這應該與範本顯示名稱減去空格相同
    要求處理 取 [允許匯出私鑰]
    主體名稱 要求中選取 [提供]
    安全性 新增具有註冊存取權的網域計算機
    密碼編譯
    • 提供者類別設定金鑰儲存提供者
    • 演算法名稱 設定為 RSA
    • 金鑰大小下限 設定為 2048
    • 要求哈希 設定為 SHA256
  5. 選取 [確定 ] 以完成您的變更並建立新的範本

  6. 關閉主控台

設定 Windows Hello 企業版驗證證書範本

在 Windows Hello 企業版布建期間,Windows 用戶端會向 AD FS 要求驗證憑證,以代表使用者要求驗證憑證。 此工作會設定 Windows Hello 企業版驗證憑證範本。

使用網 域系統管理員 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台

  2. 以滑鼠右鍵按兩下 [ 證書範本] ,然後選取 [ 管理]

  3. 在 [ 證書範本控制台] 中,以滑鼠右鍵按兩下 [智慧卡登入 ] 範本,然後選取 [ 複製範本]

  4. 使用下表來設定樣本:

    索引標籤名稱 設定
    相容性
    • 清除 [ 顯示產生的變更] 複選框
    • 從證書頒發機構單位清單中選取 [Windows Server 2016]
    • 從 [認證收件者] 列表中選取 [Windows 10/ Windows Server 2016]
    一般
    • 指定 範本顯示名稱,例如 WHFB 驗證
    • 將有效期間設定為所需的值
    • 記下範本名稱以供稍後使用,這應該與範本顯示名稱減去空格相同
    主體名稱
    • 從此 Active Directory 資訊中選取 [建置]
    • 從 [主體名稱格式] 清單中選取 [完整辨別名稱]
    • 選取 [在替代主體名稱中包含此資訊] 底下的 [UPN ( 使用者主體名稱) ] 複選框
    密碼編譯
    • 提供者類別設定金鑰儲存提供者
    • 演算法名稱 設定為 RSA
    • 金鑰大小下限 設定為 2048
    • 要求哈希 設定為 SHA256
    擴充功能 確認 應用程式原則 延伸模組包含 智慧卡登入
    發行需求
    • 選取 [ 授權簽章的數目] 複選框。 在文字框中輸入 1
    • 簽章中所需的原則類型選取 [應用程式原則]
    • 從 [應用程式原則] 清單中選取 [憑證要求代理程式]
    • 選取 [有效現有的憑證] 選項
    要求處理 選取 [ 使用相同金鑰更新 ] 複選框
    安全性
    • 選取 [新增]
    • 以 Active Directory 安全組為目標,其中包含您想要在 Windows Hello 企業版中註冊的使用者。 例如,如果您有一個名為 Window Hello 企業版使用者的群組,請在 [輸入物件名稱以選 取] 文本框中輸入它,然後選取 [ 確定]
    • 從 [群組或使用者名稱] 列表中選取 [Windows Hello 企業版使用者]。 在 [ Windows Hello 企業版使用者的 許可權] 區段中:
      • 選取 [ 註冊] 權 限的 [允許] 選框
      • 排除上述群組 (例如 Window Hello 企業版使用者) ,如果尚未清除複選框,請清除 [群組或使用者名稱] 區段中所有其他專案的 [註冊自動註冊] 許可權的 [允許] 複選框
    • 選取 [確定]
  5. 選取 [確定 ] 以完成您的變更並建立新的範本

  6. 關閉主控台

將範本標示為 Windows Hello 登入範本

使用 企業系統管理員 對等認證登入 CA 或管理工作站

開啟提升許可權的命令提示字元結束執行下列命令

certutil.exe -dsTemplate WHFBAuthentication msPKI-Private-Key-Flag +CTPRIVATEKEY_FLAG_HELLO_LOGON_KEY

如果範本已成功變更,命令的輸出將會包含範本參數的舊值和新值。 新的值必須包含 CTPRIVATEKEY_FLAG_HELLO_LOGON_KEY 參數。 範例:

CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=[yourdomain]:WHFBAuthentication

Old Value:
msPKI-Private-Key-Flag REG_DWORD = 5050080 (84213888)
CTPRIVATEKEY_FLAG_REQUIRE_SAME_KEY_RENEWAL -- 80 (128)
CTPRIVATEKEY_FLAG_ATTEST_NONE -- 0
TEMPLATE_SERVER_VER_WINBLUE<<CTPRIVATEKEY_FLAG_SERVERVERSION_SHIFT -- 50000 (327680)
TEMPLATE_CLIENT_VER_WINBLUE<<CTPRIVATEKEY_FLAG_CLIENTVERSION_SHIFT -- 5000000 (83886080)

New Value:
msPKI-Private-Key-Flag REG_DWORD = 5250080 (86311040)
CTPRIVATEKEY_FLAG_REQUIRE_SAME_KEY_RENEWAL -- 80 (128)
CTPRIVATEKEY_FLAG_ATTEST_NONE -- 0
TEMPLATE_SERVER_VER_WINBLUE<<CTPRIVATEKEY_FLAG_SERVERVERSION_SHIFT -- 50000 (327680)
CTPRIVATEKEY_FLAG_HELLO_LOGON_KEY -- 200000 (2097152)
TEMPLATE_CLIENT_VER_WINBLUE<<CTPRIVATEKEY_FLAG_CLIENTVERSION_SHIFT -- 5000000 (83886080)
CertUtil: -dsTemplate command completed successfully."

注意

如果您為 Windows Hello 企業版驗證證書範本提供不同的名稱,請將上述命令中的 取代 WHFBAuthentication 為您的證書範本名稱。 務必使用範本名稱,而非範本顯示名稱。 您可以在憑證範本的 [一般] 索引標籤上檢視範本名稱,使用憑證範本管理主控台 (certtmpl.msc)。

取消發佈替代憑證範本

證書頒發機構單位只會根據已發佈的證書範本發行憑證。 基於安全性考慮,最好是解除發佈 CA 未設定為發行的證書範本,包括來自角色安裝的預先發佈範本,以及任何已取代的範本。

新建立的 域控制器驗證證書 範本取代了先前的域控制器證書範本。 因此,您需要從所有發行方憑證授權單位取消發佈這些憑證範本。

使用 企業系統管理員 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台
  2. 從瀏覽窗格的 [憑證範本] 展開父節點>
  3. 以滑鼠右鍵按下 域控制器 證書範本,然後選取 [ 刪除]。 在 [停用證書範本] 視窗上選取 []
  4. 針對 域控制器驗證Kerberos 驗證證書 範本重複步驟 3

將證書範本發佈至 CA

證書頒發機構單位只能為發行給證書頒發機構單位的證書範本簽發憑證。 如果您有多個 CA,而且想要更多 CA 根據證書範本簽發憑證,則必須將證書範本發佈給他們。

使用 Enterprise Admin 對等認證登入 CA 或管理工作站。

  1. 開啟 證書頒發機構單位 管理主控台
  2. 從瀏覽窗格展開父節點
  3. 在瀏覽窗格中選取 [ 證書範本 ]
  4. 以滑鼠右鍵按一下 [憑證範本] 節點。 選取要發行的新>證書範本
  5. 在 [ 啟用憑證範本 ] 視窗中,選取您在先前步驟中建立 的域控制器驗證 (Kerberos) 內部 Web 伺服器WHFB 驗證 範本。 選取 [確定 ] 將選取的證書範本發佈至證書頒發機構單位
  6. 如果您已將 域控制器驗證發佈 (Kerberos) 證書範本,則請解除發布您在已取代範本清單中包含的證書範本
    • 若要解除發佈證書範本,請以滑鼠右鍵按下您要解除發佈的證書範本,然後選取 [ 刪除]。 選取 [是 ] 以確認作業
  7. 關閉主控台

設定憑證並將其部署至域控制器

設定域控制器的自動憑證註冊

域控制器會自動向 域控制器證書 範本要求憑證。 不過,域控制器不會察覺到證書範本上較新的證書範本或取代的設定。 若要讓域控制器自動註冊和更新憑證,請設定 GPO 來自動註冊憑證,並將它連結至 域控制器 OU。

  1. 開啟 gpmc.msc (組策略管理控制台)
  2. 展開網域,然後在瀏覽窗格中選取 [ 組策略物件 ] 節點
  3. 在 [群組原則物件] 上按一下滑鼠右鍵,並選取 [新增]。
  4. 在名稱方塊中輸入 域控制器自動憑證註冊 ,然後選取 [ 確定]
  5. 以滑鼠右鍵按下 域控制器自動憑證註冊 組策略對象,然後選取 [ 編輯]
  6. 在瀏覽窗格中,展開 [計算機設定] 底下的原則
  7. 展開 [Windows 設定安全性 > 設定] > 公鑰原則
  8. 在詳細數據窗格中,以滑鼠右鍵按兩下 [ 憑證服務用戶端 - 自動註冊 ],然後選取 [ 屬性]
  9. 從 [組態模型] 列表中選取 [已啟用]
  10. 選取 [ 更新過期的憑證、更新擱置中的憑證,以及移除撤銷的憑證 ] 複選框
  11. 選取 [ 更新使用證書範本的憑證 ] 複選框
  12. 選取 [確定]
  13. 關閉 組策略管理編輯器

部署域控制器自動憑證註冊 GPO

使用網域系統 管理員 對等認證登入域控制器或管理工作站。

  1. 啟動群組原則管理主控台 (gpmc.msc)
  2. 在瀏覽窗格中,展開網域,然後使用 Active Directory 功能變數名稱展開節點。 以滑鼠右鍵按下 域控制器 組織單位,然後選 取 [鏈接現有的 GPO...]
  3. 在 [ 選取 GPO] 對話框中,選取 [域控制器自動憑證註冊 ] 或您先前建立的域控制器憑證註冊組策略物件名稱
  4. 選取 [確定]

驗證組態

Windows Hello 企業版是分散式系統,表面上顯得複雜而困難。 成功部署的關鍵在於先驗證工作階段,再移至下一個階段。

確認您的域控制器註冊正確的憑證,而不是任何已取代的證書範本。 檢查每個域控制器是否已完成憑證自動註冊。

使用事件記錄檔

使用網域系統 管理員 對等認證登入域控制器或管理工作站。

  1. 使用事件查看器,流覽至Windows>CertificateServices-Lifecycles-System 事件記錄檔Microsoft>應用程式和服務>
  2. 尋找事件,指出 (自動註冊) 的新憑證註冊:
    • 事件的詳細數據包括發出憑證的證書範本
    • 用來發行憑證的證書範本名稱應該符合事件中包含的證書範本名稱
    • 憑證的憑證指紋和 EKU 也包含在事件中
    • 適當的 Windows Hello 企業版驗證所需的 EKU 是 Kerberos 驗證,以及證書範本提供的其他 EKU

新域控制器憑證取代的憑證會在事件記錄檔中產生 封存事件 。 封存事件包含新憑證所取代憑證的憑證範本名稱與指紋。

憑證管理員

您可以使用「憑證管理員」主控台驗證網域控制站擁有正確註冊的憑證,根據有適當 EKU 的正確憑證範本。 使用 certlm.msc 檢視本機電腦憑證存放區中的憑證。 展開 [個人] 存放區並檢視於該電腦註冊的憑證。 封存的憑證不會出現在憑證管理員中。

Certutil.exe

您可以使用 certutil.exe 命令來檢視本機計算機中已註冊的憑證。 Certutil 會顯示本機電腦上已註冊及已封存的憑證。 從提升權限的命令提示字元中,執行下列命令:

certutil.exe -q -store my

若要檢視存放區中每個憑證的詳細資訊,以及驗證註冊適當憑證的自動憑證註冊,請使用下列命令:

certutil.exe -q -v -store my

疑難排解

Windows 會在開機以及群組原則更新時觸發電腦的自動憑證註冊。 您可以在提升權限的命令提示字元使用 gpupdate.exe /force 重新整理群組原則。

或者,您可以在提升權限的命令提示字元使用 certreq.exe -autoenroll -q 強制觸發自動憑證註冊。

使用事件記錄檔監視憑證註冊和封存。 檢閱設定,例如將證書範本發佈至頒發證書頒發機構單位,以及 允許 自動註冊許可權。

區段檢閱和後續步驟

移至下一節之前,請確定下列步驟已完成:

  • 設定域控制器和 Web 伺服器證書範本
  • 取代現有的域控制器憑證
  • 取消發佈替代憑證範本
  • 將證書範本發佈至 CA
  • 將憑證部署至域控制器
  • 驗證域控制器設定