撤銷先前發行的可驗證認證
注意
Microsoft Entra 驗證識別碼 現在已 Microsoft Entra 驗證識別碼 Microsoft Entra 系列產品的一部分。 深入瞭解 Microsoft Entra 系列 身分識別解決方案,並開始使用整合的 Microsoft Entra 系統管理中心。
在處理可驗證認證的過程中,您不僅必須發出認證,有時您也必須撤銷認證。 在本文中,我們會探討 可驗證認證規格的 Status 屬性部分,並進一步了解撤銷程式、為什麼我們想要撤銷認證,以及某些數據和隱私權影響。
為何要撤銷可驗證的認證?
每個客戶都有自己的唯一原因,因為想要撤銷可驗證的認證。 以下是一些常見的主題:
- 學生標識碼:學生不再是大學的現役學生。
- 員工標識碼:員工不再是現用員工。
- 狀態驅動程式授權:驅動程式不再處於該狀態。
如何? 撤銷可驗證的認證
在可驗證認證中使用已編製索引的宣告,您可以在入口網站中搜尋已核發的可驗證認證,並加以撤銷。
以具有 Azure KeyVault 登入金鑰許可權的系統管理員使用者身分,流覽至 Azure 入口網站 中的 [已驗證識別符] 刀鋒視窗。
選取可驗證的認證類型
在左側功能表上,選擇 [ 撤銷認證]
搜尋您要撤銷之使用者的索引宣告。 編製宣告的索引是能夠搜尋認證的需求。
注意
由於只會儲存可驗證認證的索引宣告哈希,因此只有完全相符專案會填入搜尋結果。 文本框中輸入的內容會使用相同的演算法進行哈希處理,並做為搜尋準則來比對預存、哈希、值。
找到相符專案時,請選取 您要撤銷之認證右邊的 [撤銷 ] 選項。
注意
執行撤銷作業的系統管理員用戶必須具有 Azure KeyVault 的登入密鑰許可權,否則您會收到錯誤訊息:無法使用指定的認證存取 KeyVault 資源。
成功撤銷之後,您會看到狀態更新和綠色橫幅會出現在頁面頂端。
要求服務 API 會將回呼中撤銷的 presentation_verified
認證表示為 REVOKED
。 根據指定的簡報要求是否 允許顯示撤銷的認證 ,撤銷認證的呈現會成功或失敗。
如何設定可驗證的認證,並能夠撤銷
Microsoft Entra 驗證識別碼不會儲存可驗證的認證資料。 因此,簽發者必須編制一個宣告的索引,才能讓認證可供搜尋。 只有一個已編制索引的宣告,如果沒有,則無法撤銷認證。 然後,選取的索引宣告會加鹽和雜湊,而且不會儲存為其原始值。
注意
雜湊是一種密碼編譯作業,可轉譯輸入,稱為 preimage
,並產生稱為具有固定長度之雜湊的輸出。 目前無法以計算方式反轉雜湊作業。
範例: 在下列範例中,displayName 是索引宣告,而且可以透過使用者完整名稱進行搜尋,而沒有其他專案。
{
"attestations": {
"idTokens": [
{
"clientId": "8d5b446e-22b2-4e01-bb2e-9070f6b20c90",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": true
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
注意
只有一個宣告可以從規則宣告對應編制索引。 如果您不小心在規則定義中沒有索引宣告,而您稍後會修正此問題,則已發行的可驗證認證將無法搜尋,因為它們在不存在索引時發出。
撤銷如何運作?
Microsoft Entra 驗證識別碼實作 W3C StatusList2021 。 當向要求服務 API 呈現時,API 會檢查撤銷狀態。 撤銷檢查會透過匿名 API 呼叫身分識別中樞進行,且不包含正在檢查可驗證認證是否仍然有效或撤銷的任何資料。 使用 statusList2021 時,Microsoft Entra 驗證識別碼只依索引宣告的雜湊值保留旗標,以追蹤撤銷狀態。
可驗證的認證資料
在每個 Microsoft 發出的可驗證認證中,有一個稱為 credentialStatus
的宣告。 此資料是導覽對應至此 VC 撤銷旗標的資料區塊中的位置。
注意
如果可驗證的認證是舊的,並在預覽期間發出,則此宣告不存在。 撤銷不適用於此認證,您必須重新發出。
...
"credentialStatus": {
"id": "urn:uuid:625dfcad-0000-1111-2222-333444445555?bit-index=31",
"type": "RevocationList2021Status",
"statusListIndex": 31,
"statusListCredential": "did:web:verifiedid.contoso.com?service=IdentityHub&queries=...data..."
...
簽發者身分識別中樞 API 端點
在發行方的 DID 檔中,身分識別中樞的端點可在 區 service
段中取得。
didDocument": {
"id": "did:web:verifiedid.contoso.com",
"@context": [
"https://www.w3.org/ns/did/v1",
{
"@base": "did:web:verifiedid.contoso.com"
}
],
"service": [
{
"id": "#linkeddomains",
"type": "LinkedDomains",
"serviceEndpoint": {
"origins": [
"https://verifiedid.contoso.com/"
]
}
},
{
"id": "#hub",
"type": "IdentityHub",
"serviceEndpoint": {
"instances": [
"https://verifiedid.hub.msidentity.com/v1.0/11111111-2222-3333-4444-000000000000"
],
"origins": [ ]
}
}
],