Odwołaj wcześniej wydane zweryfikowane poświadczenia (wersja zapoznawcza)Revoke a previously issued verifiable credential (Preview)

W ramach procesu pracy z poświadczeniami do zweryfikowania (VCs) nie ma potrzeby wystawiania poświadczeń, ale czasami trzeba również je odwołać.As part of the process of working with verifiable credentials (VCs), you not only have to issue credentials, but sometimes you also have to revoke them. W tym artykule przejdziemy do części właściwości status języka VC i przejdziesz bliżej procesu odwoływania, dlatego warto odwołać poświadczenia i wprowadzić pewne konsekwencje dotyczące danych i prywatności.In this article we go over the Status property part of the VC specification and take a closer look at the revocation process, why we may want to revoke credentials and some data and privacy implications.

Ważne

Azure Active Directory poświadczenia do zweryfikowania są obecnie dostępne w publicznej wersji zapoznawczej.Azure Active Directory Verifiable Credentials is currently in public preview. Ta wersja zapoznawcza nie jest objęta umową dotyczącą poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych.This preview version is provided without a service level agreement, and it's not recommended for production workloads. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.Certain features might not be supported or might have constrained capabilities. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Właściwość stanu w specyfikacji zweryfikowanych poświadczeńStatus property in verifiable credentials specification

Zanim będziemy mogli zrozumieć skutki odwoływania poświadczeń do zweryfikowania, może to pomóc w sprawdzeniu, co to jest Sprawdzanie stanu i jak działa już dziś.Before we can understand the implications of revoking a verifiable credential, it may help to know what the status check is and how it works today.

Specyfikacja poświadczeń do zweryfikowania W3C odwołuje się do właściwości status w sekcji 4,9:The W3C Verifiable Credentials spec references the status property in section 4.9:

"Ta specyfikacja definiuje następującą właściwość credentialStatus na potrzeby odnajdywania informacji o bieżącym stanie poświadczeń do zweryfikowania, na przykład w przypadku wstrzymania lub odwołania"."This specification defines the following credentialStatus property for the discovery of information about the current status of a verifiable credential, such as whether it is suspended or revoked."

Jednakże specyfikacja W3C nie definiuje formatu sposobu sprawdzania stanu .However, the W3C specification does not define a format on how status check should be implemented.

"Definiowanie modelu danych, formatów i protokołów dla schematów stanu jest poza zakresem dla tej specyfikacji."Defining the data model, formats, and protocols for status schemes are out of scope for this specification. Rejestr rozszerzenia poświadczeń do zweryfikowania [VC-EXTENSION-REGISTRY] istnieje, który zawiera dostępne schematy stanu dla realizatorów, którzy chcą zaimplementować sprawdzanie poprawności stanu poświadczeń. "A Verifiable Credential Extension Registry [VC-EXTENSION-REGISTRY] exists that contains available status schemes for implementers who want to implement verifiable credential status checking."

Uwaga

Na razie implementacja kontroli stanu firmy Microsoft jest zastrzeżona, ale aktywnie pracujemy nad standardem.For now, Microsoft's status check implementation is proprietary but we are actively working with the DID community to align on a standard.

Jak działa Właściwość status ?How does the status property work?

W każdym wystawionym przez firmę Microsoft poświadczeniem do zweryfikowania istnieje atrybut o nazwie credentialStatus.In every Microsoft issued verifiable credential, there is an attribute called credentialStatus. Jest on wypełniony interfejsem API stanu zarządzanym przez firmę Microsoft w Twoim imieniu.It's populated with a status API that Microsoft manages on your behalf. Oto przykład tego, jak wygląda.Here is an example of what it looks like.

    "credentialStatus": {
      "id": "https://portableidentitycards.azure-api.net/v1.0/7952032d-d1f3-4c65-993f-1112dab7e191/portableIdentities/card/status",
      "type": "PortableIdentityCardServiceCredentialStatus2020"
    }

Zestaw SDK do zweryfikowania poświadczeń Open Source obsługuje wywoływanie interfejsu API stanu i dostarczanie niezbędnych danych.The open source Verifiable Credentials SDK handles calling the status API and providing the necessary data.

Po wywołaniu interfejsu API i udostępnieniu odpowiednich informacji interfejs API zwróci wartość true lub false.Once the API is called and provided the right information, the API will return either a True or False. Wartość true oznacza, że zweryfikowane poświadczenia nadal są aktywne w wystawcy, a wartość fałszywa potwierdza, że zweryfikowane poświadczenia zostały aktywnie odwołane przez wystawcy.True being the verifiable credential is still active with the Issuer and False signifying the verifiable credential has been actively revoked by the Issuer.

Dlaczego warto odwołać VC?Why you may want to revoke a VC?

Każdy klient będzie miał własny unikatowy powód, dla którego chcesz odwołać poświadczenia umożliwiające zweryfikowanie, ale poniżej przedstawiono niektóre często spotykane motywy.Each customer will have their own unique reason's for wanting to revoke a verifiable credential, but here are some of the common themes we have heard thus far.

  • Identyfikator ucznia: Student nie jest już aktywnym uczniem na Uniwersytecie.Student ID: the student is no longer an active student at the University.
  • IDENTYFIKATOR pracownika: pracownik nie jest już aktywnym pracownikiem.Employee ID: the employee is no longer an active employee.
  • Licencja na sterowniki stanu: sterownik już nie przebywa w tym stanie.State Drivers License: the driver no longer lives in that state.

Jak skonfigurować zweryfikowane poświadczenia z możliwością odwołaniaHow to set up a verifiable credential with the ability to revoke

Wszystkie dane poświadczeń do zweryfikowania nie są domyślnie przechowywane w firmie Microsoft.All verifiable credential data is not stored with Microsoft by default. W związku z tym nie mamy żadnych danych do odwołania, aby odwołać konkretny Identyfikator poświadczenia do zweryfikowania.Therefore, we do not have any data to reference to revoke a specific verifiable credential ID. Wystawca musi określić określone pole z atrybutu poświadczenia zweryfikowane dla firmy Microsoft do indeksowania, a następnie do soli i skrótu.The issuer needs to specify a specific field from the verifiable credential attribute for Microsoft to index and subsequently salt and hash.

Uwaga

Mieszanie jest jednokierunkową operacją kryptograficzną, która przekształca dane wejściowe, nazywane a preimage i tworzy wyjście o nazwie hash o stałej długości.Hashing is a one way cryptographic operation that turns an input, called a preimage, and produces an output called a hash that has a fixed length. W tym momencie nie jest to możliwe do obliczeń w celu odwrócenia operacji mieszania.It is not computationally feasible at this time to reverse a hash operation.

Możesz poinformować firmę Microsoft, który atrybut poświadczenia do zweryfikowania, który ma być indeksowany.You can tell Microsoft which attribute of the verifiable credential you would like to index. Jest to implikacje indeksowania polegające na tym, że indeksowane wartości mogą służyć do wyszukiwania zweryfikowanych poświadczeń dla systemu VCs, który ma zostać odwołany.The implication of indexing is that indexed values may be used to search your verifiable credentials for the VCs you want to revoke.

Przykład: Alicja jest pracownikiem Woodgrove.Example: Alice is a Woodgrove employee. Alicja z lewej strony Woodgrove do pracy w firmie Contoso.Alice left Woodgrove to work at Contoso. Jan, administrator IT dla Woodgrove, wyszukuje wiadomość e-mail dla programu Alicja w zapytaniu wyszukiwania poświadczeń do zweryfikowania.Jane, the IT admin for Woodgrove, searches for Alice's email in the Verifiable Credentials Revoke search query. W tym przykładzie Janina Zaindeksowano pole adres e-mail zweryfikowanego poświadczenia pracownika Woodgrove.In this example, Jane, indexed the email field of the Woodgrove verified employee credential.

Poniżej znajduje się przykład modyfikacji pliku reguł w celu uwzględnienia indeksu.See below for an example of how the Rules file is modified to include the index.

{
  "attestations": {
    "idTokens": [
      { 
        "mapping": {
          "Name": { "claim": "name" },
          "email": { "claim": "email", "indexed": true}
        },
        "configuration": "https://login.microsoftonline.com/tenant-id-here7/v2.0/.well-known/openid-configuration",
        "client_id": "c0d6b785-7a08-494e-8f63-c30744c3be2f",
        "redirect_uri": "vcclient://openid"
      }
    ]
  },
  "validityInterval": 25920000,
  "vc": {
    "type": ["WoodgroveEmployee"]
  }
}

Uwaga

Tylko jeden atrybut może być indeksowany z pliku reguł.Only one attribute can be indexed from a Rules file.

Jak mogę odwołać poświadczenia do zweryfikowaniaHow do I revoke a verifiable credential

Po ustawieniu i zweryfikowaniu poświadczeń dla użytkowników, aby sprawdzić, jak można odwołać poświadczenia zweryfikowane w bloku VC.Once an index claim has been set and verifiable credentials have been issued to your users, it's time to see how you can revoke a verifiable credential in the VC blade.

  1. Przejdź do bloku poświadczenia zweryfikowane w Azure Active Directory.Navigate to the verifiable credentials blade in Azure Active Directory.

  2. Wybierz poświadczenia do zweryfikowania, w przypadku których wcześniej skonfigurowano i wydano poświadczenia do zweryfikowania dla użytkownika.Choose the verifiable credential where you've previously set up the index claim and issued a verifiable credential to a user. =

  3. W menu po lewej stronie wybierz pozycję odwołaj poświadczenia  odwołaj poświadczeniaOn the left-hand menu, choose Revoke a credential Revoke a credential

  4. Wyszukaj atrybut index użytkownika, który ma zostać odwołany.Search for the index attribute of the user you want to revoke.

    Znajdź poświadczenie do odwołania

    Uwaga

    Ponieważ przechowujemy tylko skrót indeksowanego wystąpienia z poświadczenia do zweryfikowania, tylko dokładne dopasowanie spowoduje wypełnienie wyników wyszukiwania.Since we are only storing a hash of the indexed claim from the verifiable credential, only an exact match will populate the search results. Przyjmujemy dane wejściowe jako przeszukane przez administratora IT i używamy tego samego algorytmu wyznaczania wartości skrótu, aby sprawdzić, czy w bazie danych istnieją dopasowania skrótów.We take the input as searched by the IT Admin and we use the same hashing algorithm to see if we have a hash match in our database.

  5. Po znalezieniu dopasowania zaznacz opcję odwołaj z prawej strony poświadczenia, które chcesz odwołać.Once you've found a match, select the Revoke option to the right of the credential you want to revoke.

    Ostrzeżenie z informacją o tym, że po odwołaniu użytkownik nadal ma poświadczenia

  6. Po pomyślnym odwołaniu zobaczysz aktualizację stanu i zielony transparent pojawi się u góry strony.After successful revocation you see the status update and a green banner will appear at the top of the page. Weryfikuj tę domenę w ustawieniachVerify this domain in settings

Teraz za każdym razem, gdy jednostka uzależniona odwołuje się do sprawdzenia stanu tego konkretnego poświadczenia zweryfikowanego, interfejs API stanu firmy Microsoft działający w imieniu dzierżawcy zwraca odpowiedź "false".Now whenever a relying party calls to check the status of this specific verifiable credential, Microsoft's status API, acting on behalf of the tenant, returns a 'false' response.

Następne krokiNext steps

Przetestuj własne funkcje z poświadczeniami testu, aby użyć ich do przepływu.Test out the functionality on your own with a test credential to get used to the flow. Możesz wyświetlić informacje dotyczące sposobu konfigurowania dzierżawy w celu wydawania zweryfikowanych poświadczeń, przeglądając nasze samouczki.You can see information on how to configure your tenant to issue verifiable credentials by reviewing our tutorials.