что такое 3д секьюр
Что такое 3-D Secure и как она защищает твою банковскую карту
Простота оплаты приложений, товаров и услуг сегодня позволяет нам расставаться с деньгами быстрее чем когда либо. Уважающий себя сервис сегодня должен иметь способ мгновенной оплаты своих услуг, иначе потребители уйдут к конкурентам.
К сожалению, такие технологии порождают новые возможности для мошенников. Доверия к приложениям и сайтам с каждым днем все меньше. Ты же знаешь, как могут увести данные твоей банковской карты.
Самое время вспомнить о проверенном временем способе защиты.
У клиента банка могут украсть карту или телефон, но вероятность, что в руках мошенников окажется и то и другое, гораздо меньше. Добавим к этому защиту на самом устройстве в виде пароля или биометрического сенсора и получаем довольно хороший уровень безопасности.
Как это работает
Изначально технология 3-D Secure была разработана для платежной системы Visa. Позже подобным протоколом обзавелись системы Masterсard, JCB International, AmEx, «Мир» (НСПК) и другие.
Сейчас практически все банки поддерживают 3-D Secure, но не всегда активируют защиту для клиентов по умолчанию.
Принцип работы технологии прост и знаком большинству из нас. При попытке совершения платежа от покупателя требуют не только данные карты, но и подтверждающий код, который приходит по СМС на привязанный мобильный номер.
Реже вместо СМС могут использоваться постоянные или одноразовые коды, которые известны лишь держателю карты.
Для ввода таких кодов всегда используется защищенный интерфейс банковской системы, что само по себе гарантирует безопасность оплаты.
Преимущества и недостатки
Такая двухфакторная авторизация призвана повысить защиту средств клиента, но имеет как положительные, так и отрицательные стороны.
Дополнительная защита никогда не бывает лишней, при краже карты или телефона снять деньги со счета практически невозможно. Даже если в руках злоумышленника окажется и то и другое – потребуется взломать еще и защиту смартфона.
3-D Secure снижает оперативность покупателя. СМС с паролем приходят не так быстро, как хотелось бы. Оператор может и вовсе «потерять» нужное сообщение, а если находишься в зоне неуверенного приема, проклинаешь эту защиту через пять минут.
Как еще можно защититься
Система 3-D Secure не гарантирует 100% защиту средств на карте. Для большей надежности следует придерживаться определенных правил:
Некоторые банки дополнительно предлагают застраховаться от потери денег с карты. За дополнительный процент или фиксированный ежемесячный платеж можно обезопасить себя от мошенников.
Что такое 3D Secure
В рамках обслуживания банковских карт эмитенты обязаны гарантировать сохранность денежных средств клиентов. На это банк тратит по-настоящему большие деньги. С развитием современных технологий разрабатываются новые инструменты безопасности. Один из них — 3D Secure: что это такое и как работает, расскажет портал Бробанк.ру.
Что такое технология 3D Secure
3D Secure — это разновидность XML-протокола, который используется в виде дополнительного уровня безопасности при совершении операций с банковскими картами в интернете. Протокол предусматривает проведение двухфакторной аутентификации клиента до завершения транзакции.
Впервые 3D Secure использовалась компанией VISA в рамках пакета услуг Verifled by VISA (VBV). Основная цель работы с протоколом — повышение уровня безопасности банковских карт при совершении операций в онлайне. Протокол применяется по кредитным и дебетовым картам.
Позже, пакет услуг стали применять все крупнейшие мировые платежные системы. Подключение производилось компаниями в следующем порядке:
Национальная система платежных карт МИР подключилась к 3D Secure в 2016 году. Сейчас все банковские карты выпускаются с подключенным по умолчанию пакетом. Отключить его нельзя — услуга оказывается бесплатно, вне зависимости от наименования банковской карты.
Протокол 3D Secure не следует рассматривать как 100% гарантию сохранности средств на счете. Он всего лишь предусматривает дополнительный шаг со стороны клиента при совершении CNP-операций (card not present) — когда не предъявляется карта.
Практика показала, что разовый код может быть перехвачен мошенниками: достаточно подвергнуть устройство воздействию вируса или вредоносного программного обеспечения. Технология снижает вероятность применения фишинга, но не исключает ее полностью.
Расшифровка термина
Инструмент получил такое наименование по причине одновременной работы трех доменов сразу (отсюда и название 3-D). Первый — домен продавца и кредитной организации, в которую перечисляются деньги. Второй — домен эмитента, выпустившего банковскую карту. Третий — домен совместимости (Interoperability Domain), предоставляемый платежной системой для поддержки работы протокола безопасности 3D Secure.
Как работает 3D Secure
При совершении операции в интернете, держатель карты, поддерживающей технологию 3D Secure проходит аутентификацию в два этапа. Протокол не нужно путать с кодами безопасности CVV2 и CVC2. Использование протокола производится следующим образом:
Если код указывается неверно, эмитент блокирует проведение транзакции. Как правило, разовый код 3D Secure состоит из шести случайных чисел, которые генерируются отдельно по каждой операции. Протокол работает на телефонах, смартфонах, персональных компьютерах, и все остальных устройствах.
У некоторых банков действует правило, согласно которому 3-5 раз неверно введенный код приводит к автоматической блокировке банковской карты. Таким образом, эмитент исключает доступ к карте со стороны третьих лиц.
Числовой код отправляется в виде СМС-сообщения, либо другим способом. Отдельные кредитные организации используют в этих целях push-уведомления. Для совершения операции необходимо иметь при себе телефон, привязанный к карте. За отправку кода плата не взимается.
3D Secure с многоразовым паролем
По некоторым картам технология 3D Secure используется виде многоразового пароля. Его клиент получает при активации карты. Этот вариант намного экономичнее, чем отправка числового кода, но уровень безопасности при его использовании еще ниже.
По стандартной схеме мошенникам потребуется перехватить одноразовый числовой код, либо завладеть телефоном держателя карты. Намного проще получать доступ к счету, когда по всем транзакциям используется один и тот же пароль.
Достаточно узнать этот самый пароль, чтобы по карте совершать практически любые операции. В этом виде технология используется небольшими банками, продукты и услуги которых не пользуются хорошим спросом у потребителей. Причина заключается в дороговизне подключения XML-протокола.
Проблемы с безопасностью при наличии 3D Secure
Часть держателей банковских карт совершенно ошибочно полагают, что наличие технологии 3D Secure полностью исключает несанкционированный доступ к счету. Подобное заблуждение часто приводит к непоправимым последствиям.
Дело в том, что некоторые интернет-магазины и прочие торговые площадки не поддерживают данную технологию безопасности. Покупки на этих ресурсах совершаются без аутентификации клиента.
По такому сценарию любой человек, знающий номер карты, инициалы держателя, срок действия и защитный код, может сделать покупку по карте в обход разрешения со стороны законного держателя. И подобных случаев встречается масса. Наличие 3D Secure никак не влияет на такие проблемы. За год с банковских карт пропадает огромная сумма, и вопрос сохранности средств пока для банков остается открытым.
Узнать, поддерживает ли интернет-магазин технологию безопасности можно на его титульной странице. Здесь должны быть отображены логотипы Mastercard Secure Code, Verifled by VISA, МИР Accept (для пользователей из Российской Федерации). Если соответствующих обозначений на сайте интернет-магазина нет, значит, покупки здесь производятся без дополнительной аутентификации клиентов.
Что такое Liability Shift
Использование 3D Secure по карте не исключает доступ к счету со стороны третьих лиц. При утрате денежных средств кто-то должен понести ответственность. Клиенты, в первую очередь, возлагает всю вину на банк, который может применить Liability Shift — перенос ответственности. Эта процедура подразумевает, что банк может оспорить транзакцию, и вернуть деньги на счет клиента. Для этого необходимо:
Если мерчант (торгово-сервисное предприятие) не проводит дополнительную аутентификацию покупателей, и кто-то воспользуется ворованной картой, то банк-эмитент может перенести ответственность на интернет-магазин по требованиям, которые ему (банку) предъявляет клиент.
Причина этого: банк позаботился о безопасности счетов своих клиентов, а магазин — нет. Следовательно, конечная вина может быть возложена на мерчанта. Но для этого держатель карты должен предпринять первичные действия — обратиться с требованиями о возврате суммы к банку-эмитенту, а также доказать, что операция совершена несанкционированно.
Как подключить и отключить 3D Secure на карте
3-DS в большинстве случаев подключается по умолчанию. Клиент для этого не совершает никаких действий. После активации карты технология начинает действовать в автоматическом режиме. При этом в некоторых банках подключать опцию необходимо вручную. Делается следующими способами:
К примеру, у Сбербанка, Тинькофф Банка, Альфа-Банка и других крупных кредитных организаций технология подключена по умолчанию. Клиенту для ее активации никаких действий совершать не нужно. У Промсвязьбанка и ВТБ услуга подключается клиентом самостоятельно.
Отключение опции в ряде случаев не предусматривается. У Сбербанка ранее можно было подключать и отключать технологию безопасности в Сбербанк Онлайн. Сейчас, по современным картам, деактивация по желанию клиента не производится.
Как узнать, есть ли на карте 3D Secure
Самый простой и верный способ — изучение описания к продукту. Специалисты сервиса Brobank.ru составляют экспертные описания к банковским картам. Цель этой работы — дать пользователю полную картину о предложении, за которым он собирается обратиться в банк. Если карта оформлена после 2016 года, то технология безопасности, скорее всего, подключена по умолчанию.
Второй вариант — попытаться совершить какую-нибудь операцию в интернет-магазине, в котором используется двухэтапная аутентификация покупателей. Найти такой магазин не составит труда — крупнейшие площадки уже продолжительное время работают с повышенными мерами безопасности. После того, как подходящий магазин будет найден, необходимо совершить следующие действия:
Завершать операцию покупкой товара нет необходимости. Если на телефон придет числовой код, который система предложит ввести в отдельное поле, значит, на карте полноценно работает технология безопасности 3D Secure. Если СМС-сообщение с кодом не придет, то, соответственно, опция отсутствует, либо ее нужно подключать вручную (активировать).
Комментарии: 0
Если у вас есть вопросы по этой статье, вы можете сообщить нам. В нашей команде только опытные эксперты и специалисты с профильным образованием. В данной теме вам постараются помочь:
3-D Secure
3-D Secure — защищенный протокол авторизации пользователей для CNP-операций (проходящих без физического присутствия карты). Это дополнительный уровень безопасности — еще один шаг аутентификации пользователя, который расплачивается за товары или услуги онлайн. Во время покупки, чтобы подтвердить онлайн-платеж, держатель карточки вводит особый код (как правило, получает его в сообщении на привязанный телефонный номер).
Если технология поддерживается онлайн-продавцом, на его сайте есть логотипы Verified by Visa (VbV) и (или) MasterCard® SecureCode™.
3-D Secure важно отличать от кода CVV2 (находится на оборотной стороне карточки возле подписи владельца и обычно состоит из 3 цифр).
3-D Secure не гарантирует абсолютную безопасность финансов: все же остается риск, что одноразовый код украдут компьютерные вирусы. Технологию поддерживают не все банки и не все интернет-магазины. Во многих случаях для перевода денег с карты требуется указать лишь имя и фамилия владельца, номер и срок действия карточки, CVV2-код.
«Беларусбанк» предлагает совершать безопасные платежи в интернете держателям международных карт Visa, Maestro, MasterCard, БЕЛКАРТ-Maestro, а также для получивших карточки Visa Electron, Maestro, действительных на территории Беларуси.
«Белинвестбанк» подключает к 3-D Secure карточки Visa и Visa Electron.
Актуальную информацию лучше узнавать в банке, эмитировавшем карточку.
Как подключить 3-D Secure
Услуга обычно бесплатная, однако некоторые условия (список доступных карт, подключение) разнятся.
В большинстве случаев владельцу карточки надо подключить интернет-банкинг и в нем активировать услугу.
Клиентам «Беларусбанка» это следует делать в разделе «Пароль 3-D Secure»: необходимо пройти регистрацию, придумав пароль (от 9 до 15 любых символов). Предусмотрен запасной пароль. Надо придумать секретный вопрос и ответ на него. Если пароль 3-D Secure потеряется или забудется, секретный вопрос позволит задать новый пароль для безопасных покупок в Сети.
«Белинвестбанк» предоставляет пользователям право получить доступ к 3-D Secure, если пользователь карты подключен к интернет-банкингу. В банкинге надо выбрать карту и нажать кнопку «3-D Secure». Затем задать пароль, написать личное приветствие, секретный вопрос и ответ; нажать кнопку «Сохранить».
«Приорбанк» предупреждает клиентов, что 3-D Secure применяется, если у банка есть актуальный номер мобильного телефона владельца карточки.
Держатели карт, полученных в «Белагропромбанке», должны войти в банкинге в меню «Операции в сети Интернет», там выбрать карту и нажать «Активация 3D-Secure». Затем заполнить стандартные поля.
«Альфа-Банк» автоматически активизирует 3-D Secure в течение 2 банковских дней после получения карточки, если ее владелец указал в анкете номер мобильного телефона.
Протокол 3D-Secure
Вся передаваемая подтверждающая информация от покупателя сохраняется на платежном сервере банка-эмитента, и интернет-магазин не имеет к ней никакого доступа (магазин может только сохранить часть информации по реквизитам платёжной карты, но в объёме не более чем это предписано в PCI DSS). Это защищает данные от хищения
Не все онлайновые магазины и банки поддерживают 3D-Secure. Эта технология не является обязательной и защищает в первую очередь торговую точку и банк от мошеннических операций. При возможности использования 3D-Secure, но не задействованном сервисе (например, карта клиента поддерживает данную технологию, а онлайн-магазин нет; или же наоборот платёжный сервис готов предоставить авторизацию по 3DS, а карта клиента не подключена к этому сервису), ответственность за несанкционированную транзакцию возлагается на сторону, по чьей вине не была использована технология 3DS. Узнать онлайн-магазины, поддерживающие технологию 3D-Secure, можно по размещенным на сайте или платёжной странице логотипам: Masterсard SecureCode и/или Verified by Visa
.
Комментарии 38
3d secure защищает от мошенничества только продовца услуг! Клиента 3d secure полноценно защитить не может. Это значит что клиента с легкостью может обворовать любой человек, кто хоть раз в жизни видел банковскую карту, даже несмотря на наличие 3d secure на его карте.
Как это происходит? Элементарно. С 3d secure вас может обворовать пожалуй даже 6-ти летний ребенок. Хаккером для этого становиться совсем не обязательно.
Даже сотрудник вашего банка выдавший вам вашу карту и подключивший к ней 3d secure может сразу же после активацией вами вашей карты воровать оттуда деньги. Легко и не принужденно! Не верите?
Он может купить в любом интернет магазине не использующем 3d secure (коих в сети миллионы) товар по вашей карте. Для этого ему потребуется, ВДУМАЙТЕСЬ, всего лишь ввести номер и срок действия вашей карты, а также трехзначный код с обратной стороны карты. Все эти данные нанесены на вашу карту и в момент выдачи карты даже сотрудник вашего банка мог их запомнить\записать\сфотографировать. Вы же получили вашу карту не опечатанную в конфиденциальный конверт, не так ли? Я уже не говорю о любом официанте или кассире, который видел или держал в руках вашу карту.
Удивительно, но они именно это называют интернет мошенничеством. Много ли нужно ума, чтобы так смошенничать.
Всего-то надо запомнить номер карты, срок ее действия и три цифры с обратной стороны и даже несмотря на технологию 3d secure карту можно обчистить за считанные секунды просто купив по ней товар в интернет магазине! И никаких подтверждение по смс не будет!
Не верите? Действительно звучит весьма не безопасно для того, чтобы такое могло происходить в банке. Просто позвоните в свой банк и спросите! Вы будите крайне удивлены жалкими и увилистыми ответами сотрудника банка, которые подтвердят вышеизложенное.
Веселее всех конечно держателям кредиток. Их могут еще и в долги по карте вогнать!
Так что безопасность 3d secure для клиентов выглядит по меньшей мере смехотворно.
Но есть решение. Вы можете завести себе карту в нормальном банке. Например в альфабанке или банке тинькофф, возможно в каких-то еще. У них есть приложения для телефона, которые позволяют мгновенно включать и выключать платежи по карте. Таким образом вы всегда можете одним кликом на телефоне включить платежи по карте, совершить платеж и после этого одним кликом выключить платежи по карте. В этом случае, уже не получается ничего украсть с карты, потому что она практически все время будет выключена.
Так, что не надейтесь на 3d secure. Открывайте карту в банках с нормальным интернет банком и мобильным приложением, которое позволяет включать и выключать платежи по карте. И тогда ваши деньги будут в безопасности.
3D Secure, или что скрывают механизмы безопасности онлайн-платежей
Электронная коммерция — одна из самых больших и быстро растущих областей, в связи с чем она привлекает внимание как исследователей информационной безопасности, так и злоумышленников. Поэтому хотелось бы разобраться в некоторых аспектах механизмов безопасности, применяемых при проведении онлайн-платежей.
Один из протоколов, используемых для увеличения безопасности онлайн-платежей — 3D Secure. Это протокол, который был разработан на основе XML в качестве дополнительного уровня безопасности платежей, проводящихся без физического участия карты (card not present payment). VISA создала первую версию этого протокола, но вскоре его начали использовать и другие компании (Master Card, JCB International, AmEx, Мир), впоследствии объединившиеся с VISA в содружество EMV. EMV занимается поддержкой и развитием протокола 3DS.
Почему протокол 3D Secure называется именно так?
Полное название этого протокола — Three Domain Secure.
Первый домен — домен эмитента — это банк, выпустивший используемую карту.
Второй домен — домен эквайера — это банк и продавец, которому выплачиваются деньги.
Третий домен — домен совместимости (interoperability domain) — инфраструктура, используемая при оплате картой (кредитной, дебетовой, предоплаченной или другими типами платежных карт) для поддержки протокола 3D Secure. Он включает в себя Интернет, подключаемый модуль продавца (merchant plug-in), сервер контроля доступа (access control server) и других поставщиков программного обеспечения.
Зачем это нужно?
3D Secure обеспечивает новый уровень безопасности путем предоставления дополнительной информации.
Еще одним важным моментом является «перенос ответственности». Это означает, что в случае мошенничества вся ответственность ложится на банк-эмитент. Этот момент является очень важным для продавца (мерчанта), т.к. до появления 3D Secure урегулированием спорных вопросов приходилось заниматься мерчанту.
Также не стоит забывать о двух важных психологических аспектах: повышении доверия к онлайн-платежам и увеличении конверсии.
Конверсия может быть увеличена за счет обновлений протокола 3DS, направленных на сокращение взаимодействия с пользователем.
Версии протокола 3D Secure
В настоящее время большинство платежных сервисов используют версию 1.0.2 при проведении онлайн CNP-платежей, запрашивающих OTP-код.
Версия 1.0.2 была создана в 2001 году и в ней есть некоторые проблемы.
На данный момент актуальной версией является v2.2, и EMV планирует, что к концу 2020-го года она будет использоваться везде.
Как это устроено?
Это основная схема, необходимая для понимания всего процесса платежа с использованием механизма 3DS.
На этом рисунке мы видим все три домена, используемые в протоколе, а также последовательность сообщений между всеми участниками платежной операции.
Как это работает?
Главное, что необходимо понять, — это то, что при использовании своей карты (виртуальной или реальной) для онлайн-оплаты, вы сталкиваетесь именно с протоколом 3DS. Поэтому сейчас мы проиллюстрируем все этапы совершения онлайн-платежа.
1 — Покупатель уже добавил все необходимые ему товары в корзину и нажал кнопку «Оплатить». В этот момент он попадает на страницу MPI-сервиса, где вводит данные своей карты.
После нажатия кнопки оплаты продавец (MPI) инициализирует старт платежного потока и, согласно протоколу, отправляет CRReq-запрос (Card Range Request). Данный запрос необходим, чтобы найти банк-эмитент вашей карты и получить CRR из домена взаимодействия. Этот запрос нас мало интересует.
После этого MPI отправляет VeReq (Verification Request). Этот запрос отправляется банку-эмитенту для проверки того, что 3DS для данной карты включен и карту можно использовать для оплаты.
VeRes (Verification Response) содержит дополнительную информацию для следующего этапа платежа.
Клиенты не могут видеть эти два типа сообщений.
2 — MPI создает PaReq (Payment Request) — запрос на оплату. Этот запрос отправляется через редирект в браузере клиента.
Итогом отправки PaReq становится отображение запроса на ввод OTP-кода.
3 — Клиент вводит OTP-код и возвращается на сайт продавца. Опять же в процессе этого через редирект от банка-эмитента к MPI передается PaRes (Payment Response), который содержит информацию о статусе проверки.
А поподробнее?
CRReq/CRRes для нас не очень важны. А вот VeReq/VeRes рассмотреть нужно.
В VeReq самым важным параметром является идентификатор сообщения, информация о продавце и PAN карты.
VeRes возвращает message id, который необходим, чтобы сопоставить запрос с этим ответом. А status enrolled показывает, что карта поддерживается.
Однако наиболее важным параметром в данном сообщении является URL-адрес. Этот параметр указывает, где находится ACS сервер эквайера и куда нужно отправить PaReq.
Pareq
Браузер клиента, совершающего оплату, может произвести достаточно много редиректов по различным компонентам, участвующим в совершении платежа. Так, в России есть некоторое количество запросов, обрабатывающихся на стороне Национальной Системы Платежных Карт. Но сегодня нас интересует только традиционный этап, описанный в спецификации протокола. А именно этап передачи PaReq.
Платежный запрос, содержащий PaReq (метод POST), имеет три параметра:
1) MD — данные продавца. Он нужен MPI, чтобы сопоставить PaReq и PaRes одной транзакции;
2) PaReq — параметр этого платежного запроса. Он содержит всю важную информацию о платеже;
3) TermUrl — URL-адрес, на который клиент будет возвращен в конце процесса аутентификации 3D Secure.
Параметры TermURL и MD всегда отражаются в ответе на данный запрос. Поэтому могут встречаться имплементации ACS, уязвимые к атакам типа reflected XSS. В процессе аудита различных систем такие сервера были найдены.
Важный момент №1: ACS сервера обрабатывают все входящие PaReq!
Что входит в параметр PaReq?
Вы можете получить его значение, раскодировав PaReq. Это сделать достаточно легко, потому что PaReq — это Xml-> zlib-> base64-> urlencode. Для упрощения работы с этими запросами был написан плагин для burp.
Теперь мы видим, что из себя на самом деле представляет PaReq, а именно сообщение формата xml. Это сообщение содержит информацию о сумме платежа (purchAmount, amount и currency), некоторую информацию о продавце и MessageId (из VeReq).
При отправке правильно сформированного PaReq (в большинстве случаев вам не нужен полный набор запросов на оплату — требуется отправить лишь PaReq, содержащий параметры правильного типа и длины), мы получим PaRes — ответ на платеж, подобный следующему:
Первая мысль, которая может прийти в голову веб-исследователю, который видит XML-запрос — это попробовать выполнить XXE. И это правильный путь!
Но для начала посмотрим на то, что случится, если отправить некорректно сформированный PaReq. Мы получим ошибку! Вот несколько примеров таких ошибок:
Ошибка может помочь получить дополнительную информацию о версии ACS. Некоторые из них могут также оказаться полезными для получения данных из XXE.
Раскрутим XXE
Рассмотрим следующий пример:
acqBIN, merID, xid, date, purchAmount и currency отражаются в PaRes. Однако во всех реализациях ACS, которые мы нашли, удалось использовать только merID. Остальные параметры проверяются на соответствие типам данных.
Еще один интересный параметр (и наиболее полезный для атаки) — это URL. Этот параметр не отражается, но и не проверяется. Поэтому его можно использовать для эксплуатации XXE.
Вернемся к нашему примеру. В одной из реализаций ACS мы обнаружили, что можем читать короткие файлы, а также получать ответ в PaRes error через параметр merID. Таким образом, используя PaReq из примера выше, мы получали следующий ответ:
Тем не менее в большинстве случаев оставалось только использовать параметр URL для получения DNS или HTTP-запроса к нашему сервису. Другой вектор — это выполнить DOS через XXE-атаку «billion laughs» (проверялось на тестовом сервере).
Где это можно найти?
В ходе нашего исследования мы обнаружили несколько распространенных URL-адресов:
И распространенные имена поддоменов:
Впрочем, иногда вы можете найти и другие интересные пути.
Если вы хотите найти что-то новое, используйте proxy interceptor и записывайте процесс совершения платежей для интересующей вас платежной системы.
3D Secure v 2. *
Как мы писали ранее, в 3DS v1.0 есть некоторые проблемы.
Основная проблема в том, что покупатель может использовать множество разных типов устройств. Планшет, мобильный телефон, умные часы, умный чайник и т.д. Но сайт ACS не всегда разработан для взаимодействия со всеми типами устройств.
Для этого в 3DS 2.0 предусмотрели 3DS SDK.
Другая проблема состоит в том, что новый тип защиты требует дополнительного взаимодействия с клиентом. И этот момент влияет на конверсию. Решением проблемы конверсии стала возможность использования механизма управления рисками, который позволяет не заставлять пользователя вводить дополнительные секретные данные, если банк обладает достаточным количеством информации, подтверждающей личность клиента.
Следующий важный момент заключается в том, что технологии аутентификации развиваются. Соответственно, 3DS могла бы использовать не только OTP. Поэтому v2 задумывалась с возможностью расширения поддержки различных механизмов аутентификации.
Интересный факт про v1.0. Люди некоторых стран не доверяли этому протоколу, потому что видели редирект и думали, что это мошенничество!
Этот психологический момент послужил причиной изменения спецификации второй версии протокола для сокрытия момента перенаправления.
Как работает 3D Secure v2?
Начало потока платежей аналогично предыдущей версии. Клиент должен указать данные своей карты.
Первый и самый важный момент — это Risk Engine. В версии 1.0.2 клиенты всегда должны вводить второй фактор, например OTP. Однако в версии 2. * клиент может никогда не увидеть этот дополнительный защищенный запрос.
Особенности работы v2
Если вы посмотрите на схему потока платежей, вы увидите, что она похожа на предыдущую, но во 2-й версии больше этапов. Это происходит за счет добавления дополнительных аутентификационных запросов и механизма Risck Engine, который может совершать как один дополнительный запрос (при платеже через браузер), так и множество (используется 3DS SDK).
Условно, 2-ю версию можно разделить на два блока. Красный, где пользователь непосредственно влияет на передаваемую информацию, и желтый, где система сама собирает и передает информацию о пользователе.
А поподробнее?
AReq (base64url) расскажет все о вас и об устройстве, с которого совершена покупка.
Если вы задумаетесь о том, какой информацией о вас располагают рекламные агентства, то данные AReq вас не удивят. Но если вам кажется, что это плохо, рассмотрите следующий момент: банки знают все о ваших покупках и о вас. С этой точки зрения, некоторая дополнительная информация не так уж и плоха)
Это сообщение необходимо для работы системы управления рисками и упрощения покупок.
Если этой информации оказалось недостаточно, Risk Engine сперва попытается получить дополнительную информацию, и именно в этот момент клиент может получить OTP-запрос.
Что контролирует пользователь?
CReq (base64url json) — challenge request — сообщение, отправляемое браузером пользователя, в случае если ARes вернет сообщение о необходимости провести Challenge Flow.
Если платежный процесс использует 3D Secure SDK, это сообщение будет зашифровано (JWE).
В CReq вы можете увидеть следующие поля:
К сожалению, нам пока не удалось провести достаточно подробное исследование 2-й версии протокола 3DS, поэтому сложно сказать, какие уязвимости встречаются чаще. Вы можете стать первым, кто опубликует исследование на данную тему.
Подведем итоги
Проблемы (найденные и возможные)
На что смотреть в v1
На что смотреть в v2
Тем, кто подумывает обратить свой взгляд на платежные системы, я бы посоветовал остановиться еще и на сервисах, предоставляющих 3DS как SaaS. Там может оказаться еще достаточно много вещей, которые помогут вам понять, как устроен мир онлайн-платежей.