Windows 中的 AIA URL 擷取

X.509 憑證中的授權單位資訊存取 (AIA) 延伸會指定可取得發行憑證授權單位 (CA) 憑證的 URL。 如果系統無法僅使用其本端存放區中的憑證來建置完整的憑證信任鏈,則可能會嘗試使用 AIA URL 從網路下載遺失的中繼憑證。 AIA 可自動擷取遺失的憑證,並將更新本機憑證存放區所需的手動工作量降到最低。

自動檢索有助於完成信任鏈,但如果管理不當,可能會帶來安全風險。 若要增強安全性,請確定您的憑證存放區已正確設定,且僅包含來自受信任 CA 的憑證。 您可以透過在全系統停用 AIA 擷取來進一步強化您的環境。 這會強制 Windows API 僅從本機存放區中現有的憑證建構憑證鏈,以降低無意中信任從外部來源擷取的未經驗證或惡意憑證的風險。 採用這種深度防禦策略有助於保護您的系統免受未經授權或意外的憑證信任路徑的影響。

管理 CA 的最佳實務包括:

  • 將信任的根 CA 和中繼 CA 的清單保留至 up-to日期。 這需要定期使用來自受信任來源的新的或更新的憑證來更新本機憑證存放區。

  • 確保將中繼憑證一致地新增至本機存放區,尤其是在停用AIA擷取時。 這可以防止憑證驗證中潛在的中斷。

  • 定期對憑證存放區進行稽核,以識別並移除過期或不受信任的憑證。 這種做法有助於保持可信度並降低與過時憑證相關的安全風險。

先決條件

若要變更 AIA,您必須是 AdministratorsDomain AdminsEnterprise Admins 安全性群組的成員。

管理 AIA 檢索

若要在您的環境中停用全系統 AIA 擷取,請遵循下列其中一種方法:

  1. 選取 [開始],輸入 gpedit,然後選取 [編輯群組原則]。

  2. 流覽至 [電腦設定]\[Windows 設定]\[安全性設定]\[公開金鑰原則 ],然後開啟 憑證路徑驗證設定

  3. 選取 [網路擷取] 索引標籤。選取 [定義這些原則設定],取消核取 [允許在路徑驗證期間擷取簽發者憑證 (AIA) ],然後選取 [確定]。

如果您需要重新啟用 AIA 擷取,請取消核取 [ 定義這些原則設定 ],然後選取 [ 確定]。

檢索AIA狀態

預設情況下,您的裝置上會啟用 AIA。 AIA 擷取是由 crypt32.dll中的 CCertChainEngine::GetIssuerUrlStore() 函式觸發。 CERT_CHAIN_DISABLE_AIACERT_CHAIN_ENABLE_AIA會在傳遞的dwFlags中設定,用以建立引擎或在呼叫CertGetCertificateChain時使用。 若要擷取您目前的 AIA 狀態,請執行下列命令:

$registryPath = "HKLM:\Software\Policies\Microsoft\SystemCertificates\ChainEngine\Config"
$propertyName = "Options"
 
try {
    $regCheck = (Get-ItemProperty -Path $registryPath -Name $propertyName -ErrorAction Stop).$propertyName
 
    switch ($value) {
        0 { "AIA is Enabled" }
        2 { "AIA is Disabled" }
        default { "Unexpected value: $regCheck" }
    }
} catch {
    "AIA has not been set"
}

另請參閱