Опубликовано: 4 сентября 2024 г.
Пробная версия API цифровых учетных данных начинается с Chrome 128. API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам выборочно запрашивать проверяемую информацию о пользователе с помощью цифровых учетных данных, таких как водительские права или национальное удостоверение личности, хранящееся в цифровом кошельке.
Фон
Цифровая идентификация в реальном мире становится реальностью, поскольку многие государственные и частные организации начинают выдавать цифровые учетные данные, привязанные к устройствам. Например, мобильные водительские права и удостоверения личности в некоторых штатах США (таких как Аризона, Калифорния, Колорадо, Джорджия и Мэриленд) теперь могут быть переданы в приложения цифрового кошелька, такие как Google Wallet, на мобильных устройствах. Также появляются правила, касающиеся принятия цифровых учетных данных для определенных онлайн-проверок, и eIDAS 2.0 является одним из примеров.

Характеристики цифровых учетных данных зависят от их формата, но обычно они включают в себя:
- Повышенная безопасность и конфиденциальность . Использование передовых методов шифрования и строгой аутентификации помогает защитить конфиденциальные данные и обеспечивает безопасный доступ. Например, предоставление учетных данных обычно защищено аутентификацией пользователя через приложение кошелька.
- Выборочное раскрытие . Доверяющие стороны (RP) могут запрашивать выбранную информацию из учетных данных, что позволяет пользователям ограничивать передаваемые данные теми, которые необходимы для конкретного варианта использования. Например, можно сообщить, исполнилось ли пользователю 18 лет, не раскрывая дату рождения пользователя.
- Совместимость : сертификаты должны соответствовать международным стандартам, обеспечивая совместимость между различными системами и странами и облегчая трансграничное признание.
- Проверяемость : передаваемые учетные данные имеют цифровую подпись эмитента; RP может проверить эту подпись, чтобы убедиться в подлинности данных.
Поскольку цифровые учетные данные поддаются проверке, их можно использовать в следующих случаях:
- Проверка возраста: запросите возраст, чтобы подтвердить возраст человека, прежде чем показывать контент с возрастными ограничениями или покупать товары с возрастными ограничениями.
- Проверка личности: запросите имя и адрес, чтобы подтвердить личность человека в целях соблюдения законодательства или предотвращения мошенничества.
- Проверка водительских прав: проверьте право человека на вождение (например, при аренде автомобиля).
Поскольку веб-сайты начали напрямую взаимодействовать с приложениями мобильных кошельков (например, с помощью пользовательских схем URL-адресов) для запроса цифровых учетных данных для различных вариантов использования, браузеры видят возможность сделать это взаимодействие более безопасным, устойчивым к злоупотреблениям и более простым в использовании через специальный API.
Представляем API цифровых учетных данных
API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам RP запрашивать представление цифровых учетных данных из приложений-кошельков. API доступен в Chrome в виде пробной версии, начиная с Chrome 128.
API не зависит от протокола, что позволяет RP указывать протокол в соответствии со своими требованиями. Когда RP делает запрос, браузер отправляет запрос в мобильную операционную систему, которая ищет соответствующие учетные данные в установленных приложениях-кошельках. Если они обнаружены, мобильная операционная система предлагает пользователю выбрать один и отправляет запрос на выбранный пользователем кошелек. После локальной аутентификации кошелек возвращает ответ, содержащий запрошенные учетные данные.

Chrome сначала будет поддерживать API в Chrome на Android для запроса учетных данных из приложений кошелька на том же устройстве. В будущем мы планируем поддерживать настольный Chrome для запроса учетных данных на нескольких устройствах с другого мобильного устройства.
При запуске Google Wallet будет интегрироваться с API цифровых учетных данных, что позволит отдельным предприятиям и организациям инициировать запрос пользователей на предоставление своего удостоверения личности онлайн через Chrome на Android и проверять подлинность передаваемых данных путем проверки криптографической подписи. Чтобы принять участие, заполните эту форму , чтобы выразить заинтересованность в приеме цифровых идентификаторов из Google Кошелька.
API также скоро будет использоваться аккаунтами Google для проверки даты рождения определенных пользователей. Пользователи, проживающие в поддерживаемом штате США, смогут использовать свой идентификатор штата или водительские права, предоставленные в доступных приложениях-кошельках (включая Google Wallet), чтобы беспрепятственно сообщать Google только дату своего рождения, не раскрывая другие детали своей личности. Это позволяет пользователям с соблюдением конфиденциальности демонстрировать Google, что они соответствуют возрастным требованиям, связанным с учетной записью.
Попробуйте это
Требования:
- Сервисы Google Play 23.40 или новее
- Chrome 128 или новее
- Включите флаг на
chrome://flags#web-identity-digital-credentials
Чтобы попробовать API цифровых учетных данных, следуйте инструкциям:
- Установите демо-приложение кошелька, следуя инструкциям.
- Загрузите приложение
IC Wallet
, указанное на этой странице, на свое устройство Android. Исходный код можно найти в репозитории Identity Credentials OpenWallet Foundation. - Запустите команду
adb install -t <path-to-apk>
чтобы установить приложение.
- Загрузите приложение
- Запустите приложение IC Wallet и предоставьте демонстрационное мобильное водительское удостоверение (mDL).
- Нажмите кнопку меню и выберите «Добавить самоподписанный документ».
- Перейдите на https://digital-credentials.dev в Chrome 128 или более поздней версии.
- Нажмите «Запросить учетные данные» (OpenID4VP).
Посмотрите демонстрацию, в которой используется https://digital-credentials.dev , тестовый веб-сайт, позволяющий разработчикам генерировать запросы учетных данных для различных атрибутов:
Вот как пошагово работает демо:





Как работает API
API цифровых учетных данных построен на основе API управления учетными данными , но на основе независимой поверхности API: navigator.identity
. Вызвав navigator.identity.get()
, веб-сайт может запросить цифровые учетные данные, хранящиеся в приложении мобильного кошелька. .
// Gets a CBOR with specific fields out of mobile driver's license as an mdoc
const controller = new AbortController();
const {protocol, data} = await navigator.identity.get({
signal: controller.signal,
digital: {
providers: [{
protocol: "openid4vp",
request: {
response_type: "vp_token",
nonce: "n-0S6_WzA2Mj",
client_metadata: {...},
presentation_definition: {...}
}
}],
}
});
Базовая поверхность API аналогична navigator.credentials.get()
, за исключением того, что он принимает только "digital"
тип учетных данных. В тип цифровых учетных данных добавьте массив providers
, содержащий IdentityRequestProvider
со следующими основными параметрами:
-
protocol
: укажите протокол обмена с помощью строки. На момент первоначального испытания основным разрабатываемым протоколом был"openid4vp"
. -
request
: заполните параметры, которые приложения цифрового кошелька принимают для указанного протокола. Для"openid4vp"
параметры определяются в OpenID для проверяемого представления (OID4VP) для спецификации API цифровых учетных данных W3C .
Пример полезных данных для типа цифровых учетных данных с использованием OID4VP:
{
protocol: 'openid4vp',
request: {
response_type: 'vp_token',
nonce: 'gf69kepV+m5tGxUIsFtLi6pwg=',
client_metadata: {},
presentation_definition: {
id: 'mDL-request-demo',
input_descriptors: [{
id: "org.iso.18013.5.1.mDL",
format: {
mso_mdoc: {
alg: ["ES256"]
}
},
constraints: {
limit_disclosure: "required",
fields: [
{
path: ["$['org.iso.18013.5.1']['family_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['given_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['age_over_21']"],
intent_to_retain: false
}
]
}
}],
}
}
}
По этому запросу кошельки, имеющие mDL на устройстве, предоставят проверяемый набор учетных данных, который содержит:
- Фамилия пользователя.
- Имя пользователя.
- Логическое значение, указывающее, старше ли пользователь 21 года или нет.
Вот пример полезной нагрузки ответа:
{
data: '{\n "vp_token": "o2d2ZXJzaW9uYz..."\n}'
id: '',
protocol: 'openid4vp',
type: 'digital'
}
В этом примере учетные данные были запрошены по протоколу "openid4vp"
, а ответ содержит "vp_token"
в свойстве data
. См. OpenID для проверяемого представления (OID4VP) для спецификации W3C Digital Credentials API, чтобы узнать, как анализировать ответ и проверять учетные данные.
Digital Credentials API поддерживается в Chrome на Android в качестве пробной версии . Chrome на компьютере и iOS в настоящее время не поддерживает его. Что касается других браузерных движков, активные обсуждения ведутся через группу сообщества W3C Web Incubator .
Примите участие в испытании происхождения
Для разработки вы можете включить API цифровых учетных данных локально, включив флаг Chrome chrome://flags#web-identity-digital-credentials
в Chrome 128 или более поздней версии.
Эта функция также доступна в виде пробной версии. Пробные версии Origin позволяют вам опробовать новые функции и оставить отзыв об их удобстве использования, практичности и эффективности сообществу веб-стандартистов. Дополнительную информацию см. в разделе Начало работы с пробными версиями Origin . Чтобы подписаться на ту или иную пробную версию Origin, посетите страницу регистрации .
- Запросите токен для вашего происхождения.
- Добавьте токен на свои страницы. Есть два способа сделать это:
- Добавьте тег
<meta>
origin-trial
в заголовок каждой страницы. Например, это может выглядеть примерно так:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">.
- Если вы можете настроить свой сервер, вы также можете добавить токен, используя HTTP-заголовок
Origin-Trial
. Результирующий заголовок ответа должен выглядеть примерно так:Origin-Trial: TOKEN_GOES_HERE.
- Добавьте тег
Поделиться отзывом
Если у вас есть отзывы об API Digital Credentials, отправьте их в специальный трекер проблем Chromium .
,Опубликовано: 4 сентября 2024 г.
Пробная версия Digital Credentials API начинается с Chrome 128. Digital Credentials API — это новый API веб-платформы, который позволяет веб-сайтам выборочно запрашивать проверяемую информацию о пользователе с помощью цифровых учетных данных, таких как водительские права или национальное удостоверение личности, хранящихся в цифровом кошельке.
Фон
Цифровая идентификация в реальном мире становится реальностью, поскольку многие государственные и частные организации начинают выдавать цифровые учетные данные, привязанные к устройствам. Например, мобильные водительские права и удостоверения личности в некоторых штатах США (таких как Аризона, Калифорния, Колорадо, Джорджия и Мэриленд) теперь могут быть переданы в приложения цифрового кошелька, такие как Google Wallet, на мобильных устройствах. Также появляются правила, касающиеся принятия цифровых учетных данных для определенных онлайн-проверок, и eIDAS 2.0 является одним из примеров.

Характеристики цифровых учетных данных зависят от их формата, но обычно они включают в себя:
- Повышенная безопасность и конфиденциальность . Использование передовых методов шифрования и строгой аутентификации помогает защитить конфиденциальные данные и обеспечивает безопасный доступ. Например, предоставление учетных данных обычно защищено аутентификацией пользователя через приложение кошелька.
- Выборочное раскрытие . Доверяющие стороны (RP) могут запрашивать выбранную информацию из учетных данных, что позволяет пользователям ограничивать передаваемые данные теми, которые необходимы для конкретного варианта использования. Например, можно сообщить, исполнилось ли пользователю 18 лет, не раскрывая дату рождения пользователя.
- Совместимость : сертификаты должны соответствовать международным стандартам, обеспечивая совместимость между различными системами и странами и облегчая трансграничное признание.
- Проверяемость : передаваемые учетные данные имеют цифровую подпись эмитента; RP может проверить эту подпись, чтобы убедиться в подлинности данных.
Поскольку цифровые учетные данные поддаются проверке, их можно использовать в следующих случаях:
- Проверка возраста: запрашивайте возраст, чтобы подтвердить возраст человека, прежде чем показывать контент с возрастными ограничениями или покупать товары с возрастными ограничениями.
- Проверка личности: запросите имя и адрес, чтобы подтвердить личность человека в целях соблюдения законодательства или предотвращения мошенничества.
- Проверка водительских прав: проверьте право человека на вождение (например, при аренде автомобиля).
Поскольку веб-сайты начали напрямую взаимодействовать с приложениями мобильных кошельков (например, с помощью пользовательских схем URL-адресов) для запроса цифровых учетных данных для различных вариантов использования, браузеры видят возможность сделать это взаимодействие более безопасным, устойчивым к злоупотреблениям и простым в использовании через специальный API.
Представляем API цифровых учетных данных
API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам RP запрашивать представление цифровых учетных данных из приложений-кошельков. API доступен в Chrome в виде пробной версии, начиная с Chrome 128.
API не зависит от протокола, что позволяет RP указывать протокол в соответствии со своими требованиями. Когда RP делает запрос, браузер отправляет запрос в мобильную операционную систему, которая ищет соответствующие учетные данные в установленных приложениях-кошельках. Если они обнаружены, мобильная операционная система предлагает пользователю выбрать один и отправляет запрос на выбранный пользователем кошелек. После локальной аутентификации кошелек возвращает ответ, содержащий запрошенные учетные данные.

Chrome сначала будет поддерживать API в Chrome на Android для запроса учетных данных из приложений кошелька на том же устройстве. В будущем мы планируем поддерживать настольный Chrome для запроса учетных данных на нескольких устройствах с другого мобильного устройства.
При запуске Google Wallet будет интегрироваться с API цифровых учетных данных, что позволит отдельным предприятиям и организациям инициировать запрос пользователей на предоставление своего удостоверения личности онлайн через Chrome на Android и проверять подлинность передаваемых данных путем проверки криптографической подписи. Чтобы принять участие, заполните эту форму , чтобы выразить заинтересованность в приеме цифровых идентификаторов из Google Кошелька.
API также скоро будет использоваться аккаунтами Google для проверки даты рождения определенных пользователей. Пользователи, проживающие в поддерживаемом штате США, смогут использовать свой идентификатор штата или водительские права, предоставленные в доступных приложениях-кошельках (включая Google Wallet), чтобы легко сообщать Google только дату своего рождения, не раскрывая другие подробности своей личности. Это позволяет пользователям с соблюдением конфиденциальности демонстрировать Google, что они соответствуют возрастным требованиям, связанным с учетной записью.
Попробуйте это
Требования:
- Сервисы Google Play 23.40 или новее
- Chrome 128 или новее
- Включите флаг на
chrome://flags#web-identity-digital-credentials
Чтобы попробовать API цифровых учетных данных, следуйте инструкциям:
- Установите демо-приложение кошелька, следуя инструкциям.
- Загрузите приложение
IC Wallet
, указанное на этой странице, на свое устройство Android. Исходный код можно найти в репозитории Identity Credentials OpenWallet Foundation. - Запустите команду
adb install -t <path-to-apk>
чтобы установить приложение.
- Загрузите приложение
- Запустите приложение IC Wallet и предоставьте демонстрационное мобильное водительское удостоверение (mDL).
- Нажмите кнопку меню и выберите «Добавить самоподписанный документ».
- Перейдите на https://digital-credentials.dev в Chrome 128 или более поздней версии.
- Нажмите «Запросить учетные данные» (OpenID4VP).
Посмотрите демонстрацию, в которой используется https://digital-credentials.dev , тестовый веб-сайт, позволяющий разработчикам генерировать запросы учетных данных для различных атрибутов:
Вот как пошагово работает демо:





Как работает API
API цифровых учетных данных построен на основе API управления учетными данными , но на основе независимой поверхности API: navigator.identity
. Вызвав navigator.identity.get()
, веб-сайт может запросить цифровые учетные данные, хранящиеся в приложении мобильного кошелька. .
// Gets a CBOR with specific fields out of mobile driver's license as an mdoc
const controller = new AbortController();
const {protocol, data} = await navigator.identity.get({
signal: controller.signal,
digital: {
providers: [{
protocol: "openid4vp",
request: {
response_type: "vp_token",
nonce: "n-0S6_WzA2Mj",
client_metadata: {...},
presentation_definition: {...}
}
}],
}
});
Базовая поверхность API аналогична navigator.credentials.get()
, за исключением того, что он принимает только "digital"
тип учетных данных. В тип цифровых учетных данных добавьте массив providers
, содержащий IdentityRequestProvider
со следующими основными параметрами:
-
protocol
: укажите протокол обмена с помощью строки. На момент первоначального испытания основным разрабатываемым протоколом был"openid4vp"
. -
request
: заполните параметры, которые приложения цифрового кошелька принимают для указанного протокола. Для"openid4vp"
параметры определяются в OpenID для проверяемого представления (OID4VP) для спецификации API цифровых учетных данных W3C .
Пример полезных данных для типа цифровых учетных данных с использованием OID4VP:
{
protocol: 'openid4vp',
request: {
response_type: 'vp_token',
nonce: 'gf69kepV+m5tGxUIsFtLi6pwg=',
client_metadata: {},
presentation_definition: {
id: 'mDL-request-demo',
input_descriptors: [{
id: "org.iso.18013.5.1.mDL",
format: {
mso_mdoc: {
alg: ["ES256"]
}
},
constraints: {
limit_disclosure: "required",
fields: [
{
path: ["$['org.iso.18013.5.1']['family_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['given_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['age_over_21']"],
intent_to_retain: false
}
]
}
}],
}
}
}
По этому запросу кошельки, имеющие mDL на устройстве, предоставят проверяемый набор учетных данных, который содержит:
- Фамилия пользователя.
- Имя пользователя.
- Логическое значение, указывающее, старше ли пользователь 21 года или нет.
Вот пример полезной нагрузки ответа:
{
data: '{\n "vp_token": "o2d2ZXJzaW9uYz..."\n}'
id: '',
protocol: 'openid4vp',
type: 'digital'
}
В этом примере учетные данные были запрошены по протоколу "openid4vp"
, а ответ содержит "vp_token"
в свойстве data
. См. OpenID для проверяемого представления (OID4VP) для спецификации W3C Digital Credentials API, чтобы узнать, как анализировать ответ и проверять учетные данные.
Digital Credentials API поддерживается в Chrome на Android в качестве пробной версии . Chrome на компьютере и iOS в настоящее время не поддерживает его. Что касается других браузерных движков, активные обсуждения ведутся через группу сообщества W3C Web Incubator .
Примите участие в испытании происхождения
Для разработки вы можете включить API цифровых учетных данных локально, включив флаг Chrome chrome://flags#web-identity-digital-credentials
в Chrome 128 или более поздней версии.
Эта функция также доступна в виде пробной версии. Пробные версии Origin позволяют вам опробовать новые функции и оставить отзыв об их удобстве использования, практичности и эффективности сообществу веб-стандартистов. Дополнительную информацию см. в разделе Начало работы с пробными версиями Origin . Чтобы подписаться на ту или иную пробную версию Origin, посетите страницу регистрации .
- Запросите токен для вашего происхождения.
- Добавьте токен на свои страницы. Есть два способа сделать это:
- Добавьте тег
<meta>
origin-trial
в заголовок каждой страницы. Например, это может выглядеть примерно так:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">.
- Если вы можете настроить свой сервер, вы также можете добавить токен, используя HTTP-заголовок
Origin-Trial
. Результирующий заголовок ответа должен выглядеть примерно так:Origin-Trial: TOKEN_GOES_HERE.
- Добавьте тег
Поделиться отзывом
Если у вас есть какие-либо отзывы об API Digital Credentials, отправьте их в специальный трекер проблем Chromium .
,Опубликовано: 4 сентября 2024 г.
Пробная версия Digital Credentials API начинается с Chrome 128. Digital Credentials API — это новый API веб-платформы, который позволяет веб-сайтам выборочно запрашивать проверяемую информацию о пользователе с помощью цифровых учетных данных, таких как водительские права или национальное удостоверение личности, хранящихся в цифровом кошельке.
Фон
Цифровая идентификация в реальном мире становится реальностью, поскольку многие государственные и частные организации начинают выдавать цифровые учетные данные, привязанные к устройствам. Например, мобильные водительские права и удостоверения личности в некоторых штатах США (таких как Аризона, Калифорния, Колорадо, Джорджия и Мэриленд) теперь могут быть переданы в приложения цифрового кошелька, такие как Google Wallet, на мобильных устройствах. Также появляются правила, касающиеся принятия цифровых учетных данных для определенных онлайн-проверок, и eIDAS 2.0 является одним из примеров.

Характеристики цифровых учетных данных зависят от их формата, но обычно они включают в себя:
- Повышенная безопасность и конфиденциальность . Использование передовых методов шифрования и строгой аутентификации помогает защитить конфиденциальные данные и обеспечивает безопасный доступ. Например, предоставление учетных данных обычно защищено аутентификацией пользователя через приложение кошелька.
- Выборочное раскрытие . Доверяющие стороны (RP) могут запрашивать выбранную информацию из учетных данных, что позволяет пользователям ограничивать передаваемые данные теми, которые необходимы для конкретного варианта использования. Например, можно сообщить, исполнилось ли пользователю 18 лет, не раскрывая дату рождения пользователя.
- Совместимость : сертификаты должны соответствовать международным стандартам, обеспечивая совместимость между различными системами и странами и облегчая трансграничное признание.
- Проверяемость : передаваемые учетные данные имеют цифровую подпись эмитента; RP может проверить эту подпись, чтобы убедиться в подлинности данных.
Поскольку цифровые учетные данные поддаются проверке, их можно использовать в следующих случаях:
- Проверка возраста: запрашивайте возраст, чтобы подтвердить возраст человека, прежде чем показывать контент с возрастными ограничениями или покупать товары с возрастными ограничениями.
- Проверка личности: запросите имя и адрес, чтобы подтвердить личность человека в целях соблюдения законодательства или предотвращения мошенничества.
- Проверка водительских прав: проверьте право человека на вождение (например, при аренде автомобиля).
Поскольку веб-сайты начали напрямую взаимодействовать с приложениями мобильных кошельков (например, с помощью пользовательских схем URL-адресов) для запроса цифровых учетных данных для различных вариантов использования, браузеры видят возможность сделать это взаимодействие более безопасным, устойчивым к злоупотреблениям и простым в использовании через специальный API.
Представляем API цифровых учетных данных
API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам RP запрашивать представление цифровых учетных данных из приложений-кошельков. API доступен в Chrome в виде пробной версии, начиная с Chrome 128.
API не зависит от протокола, что позволяет RP указывать протокол в соответствии со своими требованиями. Когда RP делает запрос, браузер отправляет запрос в мобильную операционную систему, которая ищет соответствующие учетные данные в установленных приложениях-кошельках. Если они обнаружены, мобильная операционная система предлагает пользователю выбрать один и отправляет запрос на выбранный пользователем кошелек. После локальной аутентификации кошелек возвращает ответ, содержащий запрошенные учетные данные.

Chrome сначала будет поддерживать API в Chrome на Android для запроса учетных данных из приложений кошелька на том же устройстве. В будущем мы планируем поддерживать настольный Chrome для запроса учетных данных на нескольких устройствах с другого мобильного устройства.
При запуске Google Wallet будет интегрироваться с API цифровых учетных данных, что позволит отдельным предприятиям и организациям инициировать запрос пользователей на предоставление своего удостоверения личности онлайн через Chrome на Android и проверять подлинность передаваемых данных путем проверки криптографической подписи. Чтобы принять участие, заполните эту форму , чтобы выразить заинтересованность в приеме цифровых идентификаторов из Google Кошелька.
API также скоро будет использоваться аккаунтами Google для проверки даты рождения определенных пользователей. Пользователи, проживающие в поддерживаемом штате США, смогут использовать свой идентификатор штата или водительские права, предоставленные в доступных приложениях-кошельках (включая Google Wallet), чтобы беспрепятственно сообщать Google только дату своего рождения, не раскрывая другие детали своей личности. Это позволяет пользователям с соблюдением конфиденциальности демонстрировать Google, что они соответствуют возрастным требованиям, связанным с учетной записью.
Попробуйте это
Требования:
- Сервисы Google Play 23.40 или новее
- Chrome 128 или новее
- Включите флаг на
chrome://flags#web-identity-digital-credentials
Чтобы попробовать API цифровых учетных данных, следуйте инструкциям:
- Установите демо-приложение кошелька, следуя инструкциям.
- Загрузите приложение
IC Wallet
, указанное на этой странице, на свое устройство Android. Исходный код можно найти в репозитории Identity Credentials OpenWallet Foundation. - Запустите команду
adb install -t <path-to-apk>
чтобы установить приложение.
- Загрузите приложение
- Запустите приложение IC Wallet и предоставьте демонстрационное мобильное водительское удостоверение (mDL).
- Нажмите кнопку меню и выберите «Добавить самоподписанный документ».
- Перейдите на https://digital-credentials.dev в Chrome 128 или более поздней версии.
- Нажмите «Запросить учетные данные» (OpenID4VP).
Посмотрите демонстрацию, в которой используется https://digital-credentials.dev , тестовый веб-сайт, позволяющий разработчикам генерировать запросы учетных данных для различных атрибутов:
Вот как пошагово работает демо:





Как работает API
API цифровых учетных данных построен на основе API управления учетными данными , но на основе независимой поверхности API: navigator.identity
. Вызвав navigator.identity.get()
, веб-сайт может запросить цифровые учетные данные, хранящиеся в приложении мобильного кошелька. .
// Gets a CBOR with specific fields out of mobile driver's license as an mdoc
const controller = new AbortController();
const {protocol, data} = await navigator.identity.get({
signal: controller.signal,
digital: {
providers: [{
protocol: "openid4vp",
request: {
response_type: "vp_token",
nonce: "n-0S6_WzA2Mj",
client_metadata: {...},
presentation_definition: {...}
}
}],
}
});
Базовая поверхность API аналогична navigator.credentials.get()
, за исключением того, что он принимает только "digital"
тип учетных данных. В тип цифровых учетных данных добавьте массив providers
, содержащий IdentityRequestProvider
со следующими основными параметрами:
-
protocol
: укажите протокол обмена с помощью строки. На момент первоначального испытания основным разрабатываемым протоколом был"openid4vp"
. -
request
: заполните параметры, которые приложения цифрового кошелька принимают для указанного протокола. Для"openid4vp"
параметры определяются в OpenID для проверяемого представления (OID4VP) для спецификации API цифровых учетных данных W3C .
Пример полезных данных для типа цифровых учетных данных с использованием OID4VP:
{
protocol: 'openid4vp',
request: {
response_type: 'vp_token',
nonce: 'gf69kepV+m5tGxUIsFtLi6pwg=',
client_metadata: {},
presentation_definition: {
id: 'mDL-request-demo',
input_descriptors: [{
id: "org.iso.18013.5.1.mDL",
format: {
mso_mdoc: {
alg: ["ES256"]
}
},
constraints: {
limit_disclosure: "required",
fields: [
{
path: ["$['org.iso.18013.5.1']['family_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['given_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['age_over_21']"],
intent_to_retain: false
}
]
}
}],
}
}
}
По этому запросу кошельки, имеющие mDL на устройстве, предоставят проверяемый набор учетных данных, который содержит:
- Фамилия пользователя.
- Имя пользователя.
- Логическое значение, указывающее, старше ли пользователь 21 года или нет.
Вот пример полезной нагрузки ответа:
{
data: '{\n "vp_token": "o2d2ZXJzaW9uYz..."\n}'
id: '',
protocol: 'openid4vp',
type: 'digital'
}
В этом примере учетные данные были запрошены по протоколу "openid4vp"
, а ответ содержит "vp_token"
в свойстве data
. См. OpenID для проверяемого представления (OID4VP) для спецификации W3C Digital Credentials API, чтобы узнать, как анализировать ответ и проверять учетные данные.
Digital Credentials API поддерживается в Chrome на Android в качестве пробной версии . Chrome на компьютере и iOS в настоящее время не поддерживает его. Что касается других браузерных движков, активные обсуждения ведутся через группу сообщества W3C Web Incubator .
Примите участие в испытании происхождения
Для разработки вы можете включить API цифровых учетных данных локально, включив флаг Chrome chrome://flags#web-identity-digital-credentials
в Chrome 128 или более поздней версии.
Эта функция также доступна в виде пробной версии. Пробные версии Origin позволяют вам опробовать новые функции и оставить отзыв об их удобстве использования, практичности и эффективности сообществу веб-стандартистов. Дополнительную информацию см. в разделе Начало работы с пробными версиями Origin . Чтобы подписаться на ту или иную пробную версию Origin, посетите страницу регистрации .
- Запросите токен для вашего происхождения.
- Добавьте токен на свои страницы. Есть два способа сделать это:
- Добавьте тег
<meta>
origin-trial
в заголовок каждой страницы. Например, это может выглядеть примерно так:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">.
- Если вы можете настроить свой сервер, вы также можете добавить токен, используя HTTP-заголовок
Origin-Trial
. Результирующий заголовок ответа должен выглядеть примерно так:Origin-Trial: TOKEN_GOES_HERE.
- Добавьте тег
Поделиться отзывом
Если у вас есть отзывы об API Digital Credentials, отправьте их в специальный трекер проблем Chromium .
,Опубликовано: 4 сентября 2024 г.
Пробная версия API цифровых учетных данных начинается с Chrome 128. API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам выборочно запрашивать проверяемую информацию о пользователе с помощью цифровых учетных данных, таких как водительские права или национальное удостоверение личности, хранящееся в цифровом кошельке.
Фон
Цифровая идентификация в реальном мире становится реальностью, поскольку многие государственные и частные организации начинают выдавать цифровые учетные данные, привязанные к устройствам. Например, мобильные водительские права и удостоверения личности в некоторых штатах США (таких как Аризона, Калифорния, Колорадо, Джорджия и Мэриленд) теперь могут быть переданы в приложения цифрового кошелька, такие как Google Wallet, на мобильных устройствах. Также появляются правила, касающиеся принятия цифровых учетных данных для определенных онлайн-проверок, и eIDAS 2.0 является одним из примеров.

Характеристики цифровых учетных данных зависят от их формата, но обычно они включают в себя:
- Повышенная безопасность и конфиденциальность . Использование передовых методов шифрования и строгой аутентификации помогает защитить конфиденциальные данные и обеспечивает безопасный доступ. Например, предоставление учетных данных обычно защищено аутентификацией пользователя через приложение кошелька.
- Выборочное раскрытие . Доверяющие стороны (RP) могут запрашивать выбранную информацию из учетных данных, что позволяет пользователям ограничивать передаваемые данные теми, которые необходимы для конкретного варианта использования. Например, можно сообщить, исполнилось ли пользователю 18 лет, не раскрывая дату рождения пользователя.
- Совместимость : сертификаты должны соответствовать международным стандартам, обеспечивая совместимость между различными системами и странами и облегчая трансграничное признание.
- Проверяемость : передаваемые учетные данные имеют цифровую подпись эмитента; RP может проверить эту подпись, чтобы убедиться в подлинности данных.
Поскольку цифровые учетные данные поддаются проверке, их можно использовать в следующих случаях:
- Проверка возраста: запрашивайте возраст, чтобы подтвердить возраст человека, прежде чем показывать контент с возрастными ограничениями или покупать товары с возрастными ограничениями.
- Проверка личности: запросите имя и адрес, чтобы подтвердить личность человека в целях соблюдения законодательства или предотвращения мошенничества.
- Проверка водительских прав: проверьте право человека на вождение (например, при аренде автомобиля).
Поскольку веб-сайты начали напрямую взаимодействовать с приложениями мобильных кошельков (например, с помощью пользовательских схем URL-адресов) для запроса цифровых учетных данных для различных вариантов использования, браузеры видят возможность сделать это взаимодействие более безопасным, устойчивым к злоупотреблениям и простым в использовании через специальный API.
Представляем API цифровых учетных данных
API цифровых учетных данных — это новый API веб-платформы, который позволяет веб-сайтам RP запрашивать представление цифровых учетных данных из приложений-кошельков. API доступен в Chrome в качестве исследования происхождения, начиная с Chrome 128.
API является агностиком протокола, что позволяет RP указывать протокол на основе их требований. Когда RP делает запрос, браузер отправляет запрос в мобильную операционную систему, которая ищет соответствующие учетные данные в установленных приложениях кошелька. Если таковые имеются, мобильная операционная система побуждает пользователя выбрать его и отправляет запрос на выбранную пользователем кошелек. После локальной аутентификации кошелек возвращает ответ, содержащий запрошенные данные учетных данных.

Chrome сначала поддержит API в Chrome на Android для запроса учетных данных у приложений для кошельков на том же устройстве. В будущем мы планируем поддержать Hrome Desktop для запроса учетных данных по переходу с другого мобильного устройства.
При запуске Google Wallet будет интегрироваться с API цифровых учетных данных, что позволит избранным предприятиям и организациям инициировать запрос для пользователей представить свой идентификатор онлайн через Chrome на Android и проверить подлинность передаваемых данных путем изучения криптографической подписи. Для участия заполните эту форму , чтобы выразить интерес к принятию цифровых идентификаторов от Google Wallet.
API также скоро будет использоваться учетными записями Google для проверки даты рождения определенных пользователей. Пользователи, проживающие в рамках поддерживаемого штата США, смогут использовать свой идентификатор штата или водительские права, предоставленные в доступных приложениях для кошелька (включая Google Wallet), чтобы беспрепятственно поделиться только датой рождения с Google, не делясь другими деталями их личности. Это дает возможность пользователям демонстрировать Google, сохраняя конфиденциальность, чтобы они соответствовали возрастным требованиям, связанным с учетной записью.
Попробуйте это
Требования:
- Google Play Services 23.40 или позже
- Хром 128 или позже
- Включить флаг в
chrome://flags#web-identity-digital-credentials
Чтобы попробовать API цифровых учетных данных, следуйте инструкциям:
- Установите демонстрационное приложение кошелька после инструкций.
- Загрузите приложение
IC Wallet
, связанное на этой странице на ваше устройство Android. Исходный код можно найти в репозитории личных данных Foundation OpenWallet. - Запустите команду
adb install -t <path-to-apk>
для установки приложения.
- Загрузите приложение
- Запустите приложение IC Wallet и предоставьте демо -мобильные водительские права (MDL).
- Нажмите кнопку меню и выберите «Добавить документ».
- Перейдите к https://digital-credentials.dev с хромом 128 или более поздней версии.
- Нажмите учетные данные запроса (OpenID4VP).
Проверьте демонстрацию, которая использует https://digital-credentials.dev , тестовый веб-сайт для разработчиков для генерации запросов на учетные данные для различных атрибутов:
Вот как демо работает шаг за шагом:





Как работает API
Цифровые учетные данные API основаны на основе API управления учетными данными , но с независимой поверхности API: navigator.identity
. Позвонив на navigator.identity.get()
, веб -сайт может запросить цифровые учетные данные, хранящиеся в приложении мобильного кошелька. .
// Gets a CBOR with specific fields out of mobile driver's license as an mdoc
const controller = new AbortController();
const {protocol, data} = await navigator.identity.get({
signal: controller.signal,
digital: {
providers: [{
protocol: "openid4vp",
request: {
response_type: "vp_token",
nonce: "n-0S6_WzA2Mj",
client_metadata: {...},
presentation_definition: {...}
}
}],
}
});
Основная поверхность API аналогична navigator.credentials.get()
, за исключением того, что она принимает только "digital"
тип учетных данных. В рамках цифрового типа учетных данных добавьте массив providers
, который содержит IdentityRequestProvider
со следующими основными параметрами:
-
protocol
: укажите протокол обмена со строкой. Во время исследования происхождения разработанный первичный протокол -"openid4vp"
. -
request
: заполните параметры приложения цифровых кошельков для приложения для указанного протокола. Для"openid4vp"
параметры определяются в OpenID для проверенной презентации (OID4VP) для спецификации API цифровых учетных данных W3C .
Пример полезной нагрузки на тип цифровых учетных данных с помощью OID4VP:
{
protocol: 'openid4vp',
request: {
response_type: 'vp_token',
nonce: 'gf69kepV+m5tGxUIsFtLi6pwg=',
client_metadata: {},
presentation_definition: {
id: 'mDL-request-demo',
input_descriptors: [{
id: "org.iso.18013.5.1.mDL",
format: {
mso_mdoc: {
alg: ["ES256"]
}
},
constraints: {
limit_disclosure: "required",
fields: [
{
path: ["$['org.iso.18013.5.1']['family_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['given_name']"],
intent_to_retain: false
}, {
path: ["$['org.iso.18013.5.1']['age_over_21']"],
intent_to_retain: false
}
]
}
}],
}
}
}
С помощью этого запроса кошельки, имеющие MDL на устройстве, будут предоставлять проверенный набор учетных данных, которые содержат:
- Фамилия пользователя.
- Имя пользователя.
- Логическое значение, указывающее, является ли пользователю старше 21 года или нет.
Вот пример ответа полезной нагрузки:
{
data: '{\n "vp_token": "o2d2ZXJzaW9uYz..."\n}'
id: '',
protocol: 'openid4vp',
type: 'digital'
}
В этом примере учетные данные были запрошены с помощью протокола "openid4vp"
, а ответ содержит "vp_token"
в свойстве data
. Пожалуйста, смотрите OpenID для проверки презентации (OID4VP) для спецификации API цифровых учетных данных W3C, чтобы узнать, как проанализировать ответ и проверить учетные данные.
Цифровые учетные данные API поддерживается на Chrome на Android в качестве испытания происхождения . Chrome на рабочем столе и iOS не поддерживает его в настоящее время. Для других двигателей браузеров активные разговоры проводятся через группу сообщества W3C Web Incubator .
Участвовать в испытании происхождения
Для разработки вы можете включить API цифровых учетных данных локально, включив Chrome Flag chrome://flags#web-identity-digital-credentials
в Chrome 128 или более поздней версии.
Эта функция также доступна в качестве испытания происхождения. Испытания происхождения позволяют вам попробовать новые функции и дать отзывы об их удобстве использования, практичности и эффективности сообщества веб -стандартов. Для получения дополнительной информации см. Начало испытаний с происхождением . Чтобы подписаться на это или другое судебное разбирательство, посетите страницу регистрации .
- Запросите токен для вашего происхождения.
- Добавьте токен на свои страницы. Есть два способа сделать это:
- Добавьте тег
<meta>
вorigin-trial
каждой страницы. Например, это может выглядеть как-то вроде:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">.
- Если вы можете настроить свой сервер, вы также можете добавить токен, используя заголовок HTTP
Origin-Trial
. Полученный заголовок ответа должен выглядеть что-то вроде:Origin-Trial: TOKEN_GOES_HERE.
- Добавьте тег
Поделиться отзывом
Если у вас есть какие -либо отзывы об API цифровых учетных данных, отправьте его в выделенный трекер выпуска хрома .