共用方式為


Windows Hello 企業版的運作方式

Windows Hello 企業版是一種分散式系統,需要多種技術才能共同運作。 為了簡化 Windows Hello 企業版運作方式的說明,讓我們將它分成五個階段,代表部署程式的時間順序。

注意

只有特定部署案例才需要其中兩個階段。

部署案例會在下列文章中說明: 規劃 Windows Hello 企業版部署

代表裝置註冊階段的圖示。

裝置註冊階段

在這個階段中,裝置會向識別提供者註冊其身分識別 (IdP) ,以便與 IdP 相關聯並進行驗證。

代表布建階段的圖示。

布建階段

在這個階段中,使用者會使用一種形式的驗證進行驗證 (通常是使用者名稱/密碼) 來要求新的 Windows Hello 企業版認證。 布建流程需要第二個驗證因素,才能產生公開/私鑰組。 公鑰會向 IdP 註冊,對應至用戶帳戶。

代表同步處理階段的圖示。

金鑰同步處理階段

在這個階段中, 某些混合式部署需要,使用者的公鑰會從 Microsoft Entra ID 同步處理至 Active Directory。

代表憑證註冊階段的圖示。

憑證註冊階段

在此階段中, 只有使用憑證的部署才需要憑證,系統會使用組織的公鑰基礎結構 (PKI) ,將憑證簽發給使用者。

代表驗證階段的圖示。

驗證階段

在此最後一個階段中,使用者可以使用生物特徵辨識或 PIN 登入 Windows。 不論使用的手勢為何,驗證都會使用 Windows Hello 企業版認證的私人部分進行。 IdP 會藉由將用戶帳戶對應至布建階段期間註冊的公鑰,來驗證使用者身分識別。

下列各節提供每個階段的更深入解析。

裝置註冊

Windows Hello 企業版部署中包含的所有裝置都必須經過稱為 裝置註冊的程式。 裝置註冊可讓裝置建立關聯,並驗證 IdP:

  • 針對雲端和混合式部署,識別提供者會Microsoft Entra ID,而裝置會向 裝置註冊服務註冊
  • 針對內部部署,身分識別提供者是 Active Directory 同盟服務 (AD FS) ,而裝置會向裝載於 AD FS 的企業 裝置註冊服務 註冊

註冊裝置時,IdP 會為裝置提供使用者登入時用來驗證裝置的身分識別。

有不同的註冊類型,可識別為 聯結類型。 如需詳細資訊,請 參閱什麼是裝置身分識別

如需詳細的順序圖,請參閱 裝置註冊的運作方式

佈建

Windows Hello 布建會在裝置註冊完成後觸發,並在裝置收到啟用 Windows Hello 的原則之後觸發。 如果符合所有必要條件,就會啟動雲端 eXperience Host (CXH) 視窗,以引導使用者完成布建流程。

注意

視部署類型而定,只有在下列情況下,才會啟動 Windows Hello 企業版布建:

  • 裝置符合 Windows Hello 硬體需求
  • 裝置已加入 Active Directory 或 Microsoft Entra ID
  • 使用者使用 Active Directory 或 Microsoft Entra ID 中定義的帳戶登入
  • Windows Hello 企業版原則已啟用
  • 使用者未透過遠端桌面連線到電腦

如需特定部署類型的其他必要條件,請參閱 規劃 Windows Hello 企業版部署一文。

在布建階段期間,會建立 Windows Hello 容器 。 Windows Hello 容器是 金鑰數據或數據的邏輯群組。 容器只會在向組織IdP 註冊 的裝置上保存組織的認證。

注意

磁碟、登錄或其他位置沒有實體容器。 容器是用來群組相關項目的邏輯單位。 Windows Hello 儲存的金鑰、憑證和認證會受到保護,而不會建立實際的容器或資料夾。

以下是布建階段所涉及的步驟:

  1. 在 CXH 視窗中,系統會提示使用者使用 MFA 向 IdP 進行驗證
  2. MFA 成功之後,如果) 可以使用,用戶必須提供生物手勢 (,以及 PIN
  3. PIN 確認之後,就會建立 Windows Hello 容器
  4. 會產生公開/私鑰組。 密鑰組會系結至信賴平臺模組 (TPM) 、如果有的話,或在軟體中
  5. 私鑰會儲存在本機並受到 TPM 保護,而且無法匯出
  6. 公鑰會向 IdP 註冊,對應至用戶帳戶
    1. 裝置註冊服務會將金鑰寫入至 Microsoft Entra ID 中的用戶物件
    2. 針對內部部署案例,AD FS 會將密鑰寫入 Active Directory

下列影片顯示使用密碼登入之後的 Windows Hello 企業版註冊步驟:

如需詳細資訊和詳細的順序圖,請參閱 布建的運作方式

Windows Hello 容器詳細數據

在布建階段期間,Windows Hello 會在裝置上產生新的公開/私鑰組。 TPM 會產生並保護私鑰。 如果裝置沒有 TPM,則私鑰會加密並儲存在軟體中。 這個初始金鑰稱為 保護裝置金鑰。 保護裝置金鑰與單一手勢相關聯:如果使用者在相同的裝置上註冊 PIN、指紋和臉部,則每個手勢都有唯一的保護裝置密鑰。

保護裝置金鑰會安全地包裝 驗證金鑰。 驗證金鑰可用來解除鎖定 使用者識別碼金鑰。 容器只有一個驗證金鑰,但這個金鑰可能會有多個以不同的唯一保護裝置金鑰包裝的複本。

每個保護裝置都會加密自己的驗證金鑰複本。 加密的執行方式由保護裝置本身決定。 例如,PIN 保護裝置會使用 PIN 做為 Entropy 來執行 TPM 密封作業,或在沒有 TPM 可用時,使用衍生自 PIN 本身的密鑰來執行驗證金鑰的對稱式加密。

重要

您可以根據設定的原則設定,在硬體 (TPM 1.2 或 2.0) 或軟體中產生密鑰。 若要保證金鑰會在硬體中產生,您必須設定原則設定。 如需詳細資訊,請 參閱使用硬體安全性裝置

個人 (Microsoft 帳戶) 和公司或學校 (Active Directory 或 Microsoft Entra ID) 帳戶使用單一容器作為密鑰。 所有金鑰都依照身分識別提供者的網域來分開,以協助保護使用者的隱私權。

Windows Hello 也會產生 系統管理金鑰。 系統管理金鑰可在必要時用來重設認證。 例如,使用 PIN 重設服務時。 除了保護裝置金鑰,已啟用 TPM 的裝置也會產生包含來自 TPM 之證明的資料區塊。

只有 PIN 或生物特徵辨識手勢才能存取儲存在容器中的密鑰數據。 在布建期間進行的雙步驟驗證會在IdP與用戶之間建立信任的關聯性。 當公開/私鑰組的公開部分傳送給識別提供者並與使用者帳戶相關聯時,就會發生這種情況。 當使用者在裝置上輸入手勢時,身分識別提供者會知道它是已驗證的身分識別,因為 Windows Hello 按鍵和手勢的組合。 然後,它會提供可讓 Windows 存取資源和服務的驗證令牌。

容器可以包含數種類型的金鑰材質:

  • 驗證金鑰,一律為非對稱式公開-私鑰組。 這個金鑰組是在註冊期間產生的。 每次存取時,都必須使用使用者的 PIN 或生物特徵辨識手勢將其解除鎖定。 驗證金鑰存在,直到使用者重設 PIN 為止,此時會產生新的金鑰。 產生新金鑰時,必須使用新金鑰來解密和重新加密舊密鑰先前保護的所有金鑰內容
  • 一或多個 使用者識別碼金鑰。 這些金鑰可以是對稱或非對稱,視您使用的 IdP 而定。 針對以憑證為基礎的 Windows Hello for Work,當容器解除鎖定時,需要存取使用者標識符密鑰或金鑰組的應用程式可以要求存取。 使用者標識符金鑰可用來簽署或加密從此裝置傳送至 IdP 的驗證要求或令牌。 使用者標識符金鑰的存留期通常很長,但存留期可能會比驗證密鑰短。 Microsoft帳戶、Active Directory 帳戶和 Microsoft Entra 帳戶都需要使用非對稱密鑰組。 裝置會產生公鑰和私鑰、向儲存公鑰的 IdP (註冊公鑰以供稍後驗證) ,並安全地儲存私鑰。 對於組織而言,可以透過兩種方式產生使用者標識符密鑰:
    • 使用者標識符金鑰組可以與組織的證書頒發機構單位 (CA) 相關聯。 此選項讓目前擁有 PKI 的組織可在適當時機繼續使用它。 假設許多應用程式,例如 VPN 解決方案,都需要使用憑證,當您在此模式中部署 Windows Hello 時,它可讓您更快速地從使用者密碼轉換,同時仍保留以憑證為基礎的功能。 此選項也可讓組織將其他憑證儲存在受保護的容器中。 例如,允許使用者透過 RDP 進行驗證的憑證
    • IdP 可以直接產生使用者標識符密鑰組,這可讓您在沒有或需要 PKI 的環境中快速、低負荷地部署 Windows Hello

使用者識別碼金鑰可用來向服務驗證使用者。 例如,藉由簽署 nonce 來證明私鑰的擁有權,而私鑰會對應至已註冊的公鑰。 具有 Active Directory、Microsoft Entra ID 或 Microsoft 帳戶的使用者具有與其帳戶相關聯的密鑰。 密鑰可用來登入其 Windows 裝置,方法是向域控制器進行驗證 (Active Directory 案例) ,或驗證雲端 (Microsoft Entra ID 和 MSA 案例) 。

Windows Hello 也可以作為 FIDO2 驗證器,向支援 WebAuthn 的任何網站進行驗證。 網站或應用程式可以使用 API 在使用者的 Windows Hello 容器中建立 FIDO 使用者識別碼密鑰。 在後續的造訪中,使用者可以使用其 Windows Hello PIN 或生物特徵辨識手勢向網站或應用程式進行驗證。

若要深入瞭解 Windows 如何使用 TPM 來支援 Windows Hello 企業版,請參閱 Windows 如何使用信賴平台模組

生物特徵辨識數據記憶體

用來支援 Windows Hello 的生物識別資料是儲存在本機裝置上。 它不會漫遊,而且永遠不會傳送至外部裝置或伺服器。 這個區隔透過不提供攻擊者可能危害盜用生物識別資料的單一集合點,有助於阻止潛在的攻擊者。 即使攻擊者可以從裝置取得生物特徵辨識數據,也無法轉換回生物特徵辨識感測器可辨識的原始生物特徵辨識範例。

每個感測器都有自己的生物特徵辨識資料庫檔案,其中範本數據會儲存 (路徑 C:\WINDOWS\System32\WinBioDatabase) 。 每個資料庫檔案都有唯一的隨機產生密鑰,該金鑰會加密至系統。 感測器的範本數據會使用 AES 搭配 CBC 鏈結模式,以每個資料庫密鑰加密。 哈希為SHA256。

注意

某些指紋感測器能夠在指紋感測器模組上完成比對,而不是在OS中完成比對。 這些感測器會將生物特徵辨識數據儲存在指紋模組上,而不是儲存在資料庫檔案中。 如需詳細資訊,請參閱 Windows Hello 增強式安全性登入 (ESS)

金鑰同步處理

混合式環境中需要金鑰同步處理。 在使用者布建 Windows Hello 企業版認證之後,金鑰必須從 Microsoft Entra ID 同步至 Active Directory。

使用者的公鑰會寫入 Active msDS-KeyCredentialLink Directory 中使用者物件的 屬性。 同步處理是由 Microsoft Entra Connect Sync 處理。

憑證註冊

針對憑證部署,在註冊密鑰之後,用戶端會產生憑證要求。 要求會傳送至憑證註冊授權單位 (CRA) 。 CRA 位於 Active Directory 同盟服務 (AD FS) 伺服器上,這會驗證憑證要求,並使用企業 PKI 來滿足該要求。

憑證會在使用者的 Hello 容器上註冊,用來向內部部署資源進行驗證。

Authentication

Windows Hello 認證是以憑證或非對稱金鑰組為基礎。 Windows Hello 認證和使用這些認證取得的令牌會系結至裝置。

驗證是具有下列組合的雙因素驗證:

  • 系結至裝置的金鑰或憑證和
    • 人員 (PIN) 或
    • 人員 (生物特徵辨識)

PIN 輸入和生物特徵辨識手勢都會觸發 Windows 使用私鑰,以密碼編譯方式簽署傳送給識別提供者的數據。 IdP 會驗證使用者的身分識別,並驗證使用者。

認證的 PIN 或私用部分永遠不會傳送至 IdP,而且 PIN 不會儲存在裝置上。 執行使用認證私用部分的作業時,PIN 和生物手勢是 使用者提供的熵

當使用者想要存取受保護的密鑰內容時,驗證程式會從使用者輸入 PIN 或生物特徵辨識手勢來解除鎖定裝置開始,此程式有時稱為 釋放密鑰。 將它想像成使用實際的鑰匙來開門:您在開門之前,需要先從口袋或皮包取出鑰匙。 使用者的 PIN 碼會將裝置上的容器保護裝置金鑰解除鎖定。 當該容器解除鎖定時,應用程式 (,因此使用者) 可以使用容器內的任何使用者標識符密鑰。

這些金鑰可用來簽署傳送至 IdP 的要求,要求存取指定的資源。

重要

雖然金鑰已解除鎖定,但應用程式無法隨時使用。 應用程式可以使用特定的 API 來要求需要適用於特定動作之金鑰內容的操作 (例如,解密電子郵件訊息或登入網站)。 透過這些 API 存取不需要透過使用者手勢進行明確驗證,而且密鑰內容不會公開給要求的應用程式。 相反地,應用程式會要求驗證、加密或解密,而 Windows Hello 層級會處理實際工作並傳回結果。 在適當時機,應用程式甚至可以在解除鎖定的裝置上要求強制執行驗證。 Windows 會提示使用者重新輸入 PIN 或執行驗證手勢,這樣可針對敏感性資料或動作新增額外保護等級。 例如,您可以將應用程式設定為在執行特定作業時要求重新驗證,即使已使用相同的帳戶和 PIN 或手勢來解除鎖定裝置也一樣。

如需詳細資訊和詳細的順序圖,請參閱 驗證的運作方式

主要重新整理令牌

單一登錄 (SSO) 依賴取得的特殊令牌來存取特定應用程式。 在使用 Kerberos 的傳統 Windows 整合式驗證案例中,令牌是 Kerberos TGT (票證授與票證) 。 針對 Microsoft Entra ID 和 AD FS 應用程式,此令牌是 PRT) (的主要重新整理令牌 。 它是 JSON Web 令牌 ,其中包含有關用戶和裝置的宣告。

PRT 最初是在登入或解除鎖定期間取得,其方式與取得 Kerberos TGT 的方式類似。 此行為適用於已加入 entra Microsoft和Microsoft已加入 Entra 混合式裝置。 針對使用 Microsoft Entra ID 註冊的個人裝置,PRT 一開始會在 [新增公司或學校帳戶] 上取得。 針對個人裝置,解除鎖定裝置的帳戶不是工作帳戶,而是取用者帳戶 (Microsoft帳戶) 。

SSO 需要 PRT。 如果沒有,每次使用者存取應用程式時,系統都會提示他們輸入認證。 PRT 也包含裝置的相關信息。 如果您已在應用程式上設定任何 裝置型條件式存取 原則,則不會拒絕PRT存取。

提示

Windows Hello 企業版密鑰符合Microsoft多重要素驗證 (MFA) 需求,並減少使用者在存取資源時會看到的 MFA 提示數目。

如需詳細資訊,請 參閱什麼是主要重新整理令牌

Windows Hello 企業版和密碼變更

變更使用者帳戶密碼不會影響登入或解除鎖定,因為 Windows Hello 企業版會使用密鑰或憑證。

不過,例如,當使用者因為密碼到期原則) 而需要變更其密碼 (時,則在使用 Windows Hello 登入時,不會收到密碼變更需求的通知。 這可能會導致無法向受 Active Directory 保護的資源進行驗證。 若要減輕此問題,請考慮下列其中一個選項:

  • 停用用戶帳戶的密碼到期
  • 作為密碼到期原則的替代方案,請考慮採用 PIN 到期原則
  • 如果密碼到期是組織的需求,請指示使用者定期變更其密碼,或在收到驗證失敗訊息時變更密碼。 用戶可以透過下列方式重設其密碼:
    • 使用 Ctrl + Alt + Del>變更密碼 選項
    • 使用其密碼登入。 如果密碼必須變更,Windows 會提示使用者更新密碼

重要

若要變更使用者的密碼,裝置必須能夠與域控制器通訊。

後續步驟

為了滿足許多組織的需求,Windows Hello 企業版提供不同的部署選項。 若要瞭解如何規劃 Windows Hello 企業版部署,請參閱:

規劃 Windows Hello 企業版部署