Перейти к содержанию

Безопасность и конфиденциальность

Вопросы безопасности

Агентская коммерция порождает множество потенциальных рисков безопасности. С учётом текущего уровня безопасности агентов, AP2 исходит из того, что предотвращение атак через внедрение промптов (prompt injection) в настоящее время нереализуемо. Поэтому все LLM и Агенты ДОЛЖНЫ рассматриваться как потенциальные атакующие и явно включены в модель угроз.

Подмена корзины (Manipulated Checkout)

Угроза: злоумышленник похищает подписанный и авторизованный Payment Mandate для использования с несвязанной корзиной.

Меры противодействия: - Payment Mandate ОБЯЗАН содержать ссылку на связанную с ним корзину: через transaction_id для закрытых мандатов и через ограничение mandate.payment.reference для открытых. - Закрытые мандаты ОБЯЗАНЫ содержать атрибут sd_hash для привязки к предъявленному открытому мандату. - Открытые мандаты ОБЯЗАНЫ содержать ключ Агента (через cnf), чтобы только этот агент мог создать закрытый мандат с действительной подписью. - Продавец ОБЯЗАН проверять, что checkout_hash совпадает с хешем актуального checkout_jwt.

Подмена платежа (Manipulated Payment)

Угроза: Торговый Агент или Провайдер Удостоверений искажает платёж при передаче или запрашивает платёж без одобренного пользователем мандата (либо с отличающимися параметрами).

Меры противодействия: - Платёжный Процессор Продавца и Провайдер Удостоверений ОБЯЗАНЫ проверять подпись пользователя на Payment Mandate. - checkout_hash, встроенный в transaction_id, надёжно связывает платёж с соответствующим Checkout Mandate. - Оценка ограничений гарантирует, что сумма и получатель соответствуют авторизованным лимитам.

Кража платёжного удостоверения (Payment Credential Theft)

Угроза: злоумышленник похищает Платёжное Удостоверение или Токен пользователя после его выдачи и использует в несанкционированном контексте.

Меры противодействия: - Платёжное Удостоверение/Токен ДОЛЖЕН выдаваться Продавцу только после получения и верификации финального Payment Mandate, что привязывает токен к конкретной транзакции.

Двойное расходование (Double Spend)

Угроза: атакованный через prompt injection или иным образом злонамеренный Торговый Агент пытается утвердить несколько действительных корзин, используя один и тот же открытый мандат.

Меры противодействия: - Недетерминированная часть Торгового Агента ОБЯЗАНА избегать подписания нескольких перекрывающихся закрытых мандатов для одного открытого мандата без получения Квитанций, отклоняющих ранее выпущенные мандаты. - Квитанции ДОЛЖНЫ быть защищены по целостности от LLM-части агента. - Провайдер Удостоверений, Сети или MPP МОГУТ отклонять множественные перекрывающиеся мандаты или аннулировать ранее выпущенные платёжные токены.

Вопросы конфиденциальности

Ограничения открытых мандатов и выборочное раскрытие

Ограничения в открытых Checkout и Payment Mandate МОГУТ содержать информацию, не применимую к конкретной корзине, что привело бы к утечке излишних сведений о намерениях пользователя. Для сохранения конфиденциальности ОБЯЗАТЕЛЬНО используется механизм выборочного раскрытия (Selective Disclosure).

Для повышения конфиденциальности Доверенная Поверхность МОЖЕТ вставлять фиктивные дайджесты (decoy digests) согласно RFC 9901, раздел 4.2.5.

Минимизация данных корзины и платежа

Для соблюдения принципа минимизации данных применяется выборочное раскрытие, позволяющее передавать Checkout Mandate и Payment Mandate соответствующим сторонам раздельно — для обеспечения безопасности оформления заказа и платежа соответственно. Связующим звеном выступает checkout_hash, позволяющий объединить оба мандата в случае возникновения спора.

Атаки по радужным таблицам (Rainbow Table Attacks)

Дайджесты в SD-JWT (как для платёжных и чековых мандатов, так и для ограничений) ОБЯЗАНЫ включать соль (salt) с достаточной энтропией для предотвращения угадывания открытого текста. См. RFC 9901, раздел 9.1.

checkout_hash использует энтропию, уже присутствующую в сигнатуре JWT, для предотвращения угадывания содержимого корзины. Если используется алгоритм подписи, не включающий такую энтропию (например, детерминированная схема Ed25519), в корзине ОБЯЗАНА присутствовать соль с достаточной энтропией.