Проверить утверждение
Мужчина в вечерней электричке подтверждает в телефоне покупку агента
Поток

Как работает KYH: от человека до кассы

Четыре участника и одно подписанное утверждение. Ниже — живая схема: нажмите «Запустить», и подтверждение пройдёт весь путь.

01 Человек подтвердил в приложении банка «да, это я»
02 Провайдер подписал утверждение lvl: H2 · mth: bank
03 Агент предъявил со своей подписью KYH-Assertion: eyJ…
04 Магазин проверил подпись и принял заказ 200 · человек подтверждён
01

Шаги по порядку

  1. 01

    Человек подтверждает себя

    В приложении провайдера (банк, Госуслуги, учётная запись магазина) человек разрешает своему агенту получать утверждения KYH.

  2. 02

    Провайдер подписывает

    Провайдер выдаёт утверждение: уровень, парный псевдоним для этого магазина, отпечаток ключа агента, срок действия. Подписывает своим ключом.

  3. 03

    Агент предъявляет

    Агент отправляет запрос магазину с заголовком KYH-Assertion и подписывает сам запрос своим ключом (HTTP Message Signatures, RFC 9421).

  4. 04

    Магазин проверяет

    Магазин берёт ключ провайдера из его /.well-known/kyh-provider, проверяет подпись, получателя, срок, уровень и совпадение ключа агента — и принимает заказ.

02

Если уровня мало

Магазин отвечает 401 с заголовком KYH-Required: lvl=H3; reason=amount. Агент просит человека подтвердить операцию у провайдера — тот присылает уведомление в приложение. Через минуту агент повторяет запрос с утверждением H3.

HTTP/1.1 401 Unauthorized
KYH-Required: lvl=H3; reason=amount; max_age=600
Content-Type: application/json

{"error":"kyh_level","need":"H3","have":"H2"}
03

Если агента отключили

Человек отзывает доверие агенту у провайдера. Новые утверждения не выдаются, а уже выданные провайдер помечает отозванными по адресу /kyh/status/{jti}. Магазин проверяет статус при H3 и при крупных суммах.

Опубликовано 06.11.2026 · обновлено 06.11.2026 · CC BY 4.0 · Markdown