다음을 통해 공유


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

확인 가능한 자격 증명을 사용하는 프로세스의 일부로 자격 증명을 발급해야 합니다. 때로는 자격 증명을 해지해야 할 수도 있습니다. 이 문서에서는 확인 가능한 자격 증명 사양의 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 Verified ID는 확인 가능한 자격 증명 데이터를 저장하지 않습니다. 발급자는 자격 증명을 검색할 수 있도록 하기 위해 하나의 클레임을 인덱싱해야 합니다. 인덱싱되는 클레임은 하나만 있을 수 있으며, 클레임이 없으면 자격 증명을 해지할 수 없습니다. 그런 다음, 인덱싱하기 위해 선택한 클레임은 솔트되고 해시되며 원래 값으로 저장되지 않습니다.

참고 항목

해싱은 preimage라는 입력을 전환하고 고정 길이를 가진 해시라는 출력을 생성하는 단방향 암호화 작업입니다. 지금은 해시 작업을 되돌리는 것이 불가능합니다.

예제: 다음 예제에서 displayName은 인덱스 클레임입니다. 사용자의 전체 이름이 있어야만 검색할 수 있습니다.

{
  "attestations": {
    "idTokens": [
      {
        "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
        "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는 해지 상태를 확인합니다. 해지 확인은 ID 허브에 대한 익명 API 호출을 통해 수행되며, 확인 가능한 자격 증명이 여전히 유효하거나 철회되었는지 확인하는 데이터는 포함하지 않습니다. statusList2021을 사용하면 Microsoft Entra 확인된 ID에서 해지 상태를 추적하기 위해 플래그를 인덱싱된 클레임의 해시된 값으로 유지합니다.

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

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

참고 항목

검증 가능한 자격 증명이 오래되고 미리 보기 기간 동안 발급된 경우 이 클레임이 존재하지 않습니다. 이 자격 증명에 대해서는 해지가 작동하지 않으며 다시 발급해야 합니다.

...
"credentialStatus": { 
    "id": "urn:uuid:00aa00aa-bb11-cc22-dd33-44ee44ee44ee?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/00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
                ],
                "origins": [ ]
             }
         }
    ],

다음 단계