Цифровые учетные данные — это криптографически проверяемые документы, которые могут использоваться для аутентификации, авторизации или предоставления иной информации о пользователе. Обычно это такие документы, как мобильные водительские удостоверения, цифровые паспорта, посадочные талоны и т. д. Они хранятся в виртуальных контейнерах, называемых цифровыми кошельками, и являются частью стандарта W3C, определяющего способы доступа и извлечения этих данных. Этот стандарт реализован для веб-приложений с помощью API управления учетными данными W3C , а на Android — с помощью API DigitalCredential из Credential Manager.
Разберитесь в цифровых учетных данных.
В реальном мире человек может хранить свои личные данные в кошельке и предъявлять их запрашивающей стороне по требованию:
В этом случае пользователь, как правило, имеет один кошелек и извлекает запрошенные учетные данные из кошелька, чтобы предъявить их запрашивающему лицу. Кошельки в основном взаимозаменяемы и, как правило, могут хранить одни и те же данные.
Цифровые учетные данные имеют несколько основных отличий:
- Предполагается, что у пользователей будет несколько кошельков — также известных как держатели — которые могут содержать различные учетные данные. Кошельки определяют, какие учетные данные могут храниться в них.
- Теперь заявителем является приложение, а не реальный человек, и он называется проверяющим .
- Представление учетных данных происходит на программном уровне, то есть API-интерфейс получает и отображает учетные данные — в Android это менеджер учетных данных.
Таким образом, диспетчер учетных данных берет на себя несколько ролей, которые ранее выполнял пользователь:
- На Android кошельки должны зарегистрировать метаданные своих учетных данных в Credential Manager, чтобы отображаться в пользовательском интерфейсе Credential Manager.
- Менеджер учетных данных сопоставляет учетные данные между кошельками на основе запроса и отображает список для выбора пользователем.
- Когда пользователь выбирает учетные данные в списке, менеджер учетных данных вызывает кошелек, который обрабатывает оставшуюся часть транзакции (отображает пользовательский интерфейс и т. д.) и возвращает учетные данные приложению.
Этот процесс показан здесь:
пользовательский опыт
Как показано в примере Android, пользователю достаточно один раз взаимодействовать с пользовательским интерфейсом диспетчера учетных данных, чтобы выбрать соответствующие учетные данные. Вот пример того, как выглядит селектор:

Стандарты
Запросы на получение цифровых учетных данных создаются с использованием стандарта OpenID4VP . Примеры запросов можно посмотреть на демонстрационном сайте цифровых учетных данных .
Ответы, содержащие цифровые учетные данные, обычно возвращаются в стандартизированном формате. Эти форматы поддерживаются различными организациями по стандартизации, включая W3C Verifiable Credentials , sd-jwt и mdoc .
Также возможно использование пользовательских протоколов, хотя мы рекомендуем в вашем приложении использовать один из стандартных протоколов.
Попробуйте!
Вы можете протестировать поток цифровых учетных данных на разных платформах с помощью Android-кошелька и веб-верификатора:
- Установите общедоступный пример CMWallet на свой Android-телефон. Это можно сделать, загрузив его из репозитория и установив непосредственно из Android Studio, или перейдя по ссылке https://github.com/digitalcredentialsdev/CMWallet/actions и выбрав последнюю сборку, чтобы получить доступ к последнему файлу
app-debug.apk. - Откройте CMWallet, чтобы зарегистрировать метаданные в Credential Manager. Убедитесь, что Bluetooth включен, чтобы ваши устройства могли подключаться друг к другу.
- Перейдите по ссылке https://digital-credentials.dev/ и выберите
Request Credentials (OpenID4VP). - Примите предупреждения и отсканируйте QR-код своим телефоном, затем выберите «Использовать пароль» и пройдите подтверждение, чтобы отобразить доступные учетные данные.
- Выберите учетные данные из CMWallet, чтобы вернуться в браузер. В браузере должны отобразиться возвращенные учетные данные.
См. также
- Чтобы узнать больше об использовании Credential Manager для запроса цифровых учетных данных в вашем приложении, ознакомьтесь со страницей Credential Manager - Verifier API .
- Чтобы узнать больше о создании цифрового кошелька с помощью Credential Manager, ознакомьтесь со страницей Credential Manager - Holder API .