이전에 발급한 확인 가능한 자격 증명 해지

확인 가능한 자격 증명을 사용하는 프로세스의 일부로 자격 증명을 발급해야 합니다. 때로는 취소해야 할 수도 있습니다. 이 문서에서는 확인 가능한 자격 증명 사양의 속성 부분을 검토 Status 합니다. 또한 해지 프로세스, 자격 증명을 해지하려는 이유 및 일부 데이터 및 개인 정보 보호에 미치는 영향을 자세히 살펴봅니다.

확인 가능한 자격 증명을 해지하려는 이유는 무엇인가요?

각 고객은 검증 가능한 자격 증명을 해지하려는 고유한 이유가 있습니다. 다음은 몇 가지 공통 주제입니다.

  • 학생 ID: 학생은 더 이상 대학에서 활성 학생이 아닙니다.
  • 직원 ID: 직원이 더 이상 활성 직원이 아닙니다.
  • 주 운전 면허증: 운전자는 더 이상 해당 주에 거주하지 않습니다.

확인 가능한 자격 증명을 취소할 어떻게 할까요? 있나요?

확인 가능한 자격 증명에서 인덱싱된 클레임을 사용하여 포털에서 해당 클레임에 의해 발급된 확인 가능한 자격 증명을 검색하고 해지할 수 있습니다.

  1. Azure Key Vault에 대한 서명 키 권한이 있는 관리 사용자로 Azure Portal의 확인된 ID 창으로 이동합니다.

  2. 확인 가능한 자격 증명 유형을 선택합니다.

  3. 맨 왼쪽 메뉴에서 자격 증명 취소를 선택합니다.

    자격 증명 해지를 보여 주는 스크린샷

  4. 해지하려는 사용자의 인덱스 클레임을 검색합니다. 자격 증명을 검색하려면 클레임을 인덱싱하는 것이 필요합니다.

    해지할 자격 증명을 보여 주는 스크린샷.

    확인 가능한 자격 증명에서 인덱싱된 클레임의 해시만 저장되므로 정확한 일치 항목만 검색 결과를 채웁니다. 텍스트 상자에 입력한 정보는 동일한 알고리즘을 사용하여 해시됩니다. 저장된 해시된 값과 일치하도록 검색 기준으로 사용됩니다.

  5. 일치하는 항목을 찾으면 해지하려는 자격 증명 오른쪽에 있는 해지 옵션을 선택합니다.

    해지 작업을 수행하는 관리 사용자에게는 Key Vault에 대한 서명 키 권한이 있어야 합니다. 그렇지 않으면 "지정된 자격 증명으로 Key Vault 리소스에 액세스할 수 없습니다."라는 오류 메시지가 나타납니다.

    해지 후 사용자에게 자격 증명이 여전히 있음을 알려주는 경고를 보여 주는 스크린샷.

  6. 해지에 성공하면 상태 업데이트가 표시되고 페이지 맨 위에 녹색 배너가 표시됩니다.

    성공적으로 해지된 확인 가능한 자격 증명 메시지를 보여 주는 스크린샷.

Request Service API는 콜백에서 해지된 자격 증명을 presentation_verified다음과 같이 REVOKED나타냅니다. 해지된 자격 증명을 표시하도록 지정한 프레젠테이션 요청에 따라 해지된 자격 증명의 프레젠테이션이 성공하거나 실패합니다.

해지 기능을 사용하여 확인 가능한 자격 증명 설정

Microsoft Entra 확인된 ID 확인 가능한 자격 증명 데이터를 저장하지 않습니다. 발급자에서 하나의 클레임을 인덱싱하여 자격 증명을 검색할 수 있도록 해야 합니다. 하나의 클레임만 인덱싱할 수 있으며, 클레임이 없는 경우 자격 증명을 해지할 수 없습니다. 그런 다음, 인덱싱하기 위해 선택한 클레임은 솔트되고 해시되며 원래 값으로 저장되지 않습니다.

참고 항목

해시는 고정 길이가 있는 해시라는 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 확인된 ID는 W3C StatusList2021을 구현합니다. Request Service API에 대한 프레젠테이션이 발생하면 API는 해지 상태를 확인합니다. 해지 검사 Identity Hub에 대한 익명 API 호출을 통해 수행되며 확인 가능한 자격 증명이 여전히 유효하거나 해지된 경우 검사 사용자에 대한 데이터가 포함되지 않습니다. 이 statusList2021경우 Microsoft Entra 확인된 ID 해지 상태 추적하기 위해 인덱싱된 클레임의 해시된 값으로 플래그를 유지합니다.

확인 가능한 자격 증명 데이터

Microsoft에서 발급한 모든 확인 가능한 자격 증명에는 클레임이 있습니다 credentialStatus. 이 데이터는 데이터 블록에서 이 확인 가능한 자격 증명에 해지 플래그가 있는 위치에 대한 탐색 맵입니다.

참고 항목

확인 가능한 자격 증명이 오래되어 미리 보기 기간 동안 발급된 경우 이 클레임은 존재하지 않습니다. 이 자격 증명에는 해지가 작동하지 않으므로 다시 게시해야 합니다.

...
"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..." 
...

발급자의 ID 허브 API 엔드포인트

발급 당사자의 탈중앙화 식별자 문서에서는 섹션에서 ID 허브의 엔드포인트를 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": [ ]
             }
         }
    ],

다음 단계