Комментарии 20
… один раз за один час, что позволяет свести объем энергопотребления аккумулятора к минимумуа также позволит злоумышленникам опустошить баланс карты за этот самый час… непонятны эти компромиссы за счет ущерба основной функциональности.
лучше просто код показывать не постоянно а при нажатии на кнопочку, так и энергопотребление снизится и доп. защита от «подсматривания»
лучше просто код показывать не постоянно а при нажатии на кнопочку — с одной стороны абсолютно верно, с другой, если кто-то совершает по 10-20 платежей за час, то возможен «перерасход» аккумулятора, т. е., как следствие, скорейшая замена дорогостоящей карты. Естественно, выбирая между безопасностью, ресурсом аккумулятора + стоимостью карты выбор есть смысл делать в пользу безопасности. Иначе эта и любая другая подобная технология теряет смысл. Т. е. есть для разработчиков имеет прямой смысл увеличивать емкость карточного аккумулятора (если конечно это технологически осуществимо) и переходить на генерацию динамического кода для каждой новой операции.)
Не снизится, именно для этих целей был изобретён e-ink. Здесь он подходит идеально.
Смысл смены кода строго раз в час в том, что банк, по своему алгоритму, сможет вычислить этот код в любой отрезок времени и проверить правилен ли он. Если разрешить пользователю тыкать в кнопочку, то никакой синхронизации уже не получится.
Почему? Код непрерывно исчисляется в обоих системах. Просто на карте он появляется только по касанию.
В этом случае получается, что генерация кода привязана к счетчику касаний. А если пользователь нажал кнопку несколько раз просто так? На стороне банка надо перебирать счетчик, пока коды не сойдутся? То есть, вместо точного значения кода банк должен ожидать некое допустимое множество значений кода. Теперь о диапазоне значений кода: сколько там обычно разрядов? Три? То есть коллизии будут происходить очень быстро (коды начнут повторяться). Получается если кто-то получил данные карты, сделал покупку, отправил любой код, то можно рассчитывать, что этот код войдет в допустимое множество кодов, ожидаемых банком. Ограничить множество допустимых кодов для одной операции? Опять упираемся в счетчик касаний (дети поигрались с кнопкой).
Вообще непонятна цель динамического CVV, у MasterCard уже очень давно есть система SecureCode, куда можно прикручивать OTP который можно привязать к генератору как на самой карте, так и вообще другому (например аппаpатному токену или моб.приложению типаGoogle Authenticator)
Один из аргументов сторонников технологии динамического CVV: Технология выгодно отличается от 3D-Secure отсутствием канала связи с банком. Если способов перехвата СМС-сообщений придумано достаточно, то считать динамический CVV технически значительно сложнее.
риски использования SMS известны, я имел в виду именно токены с «отсутствием канала связи» например, аппаратные TOTP ключи которые можно «встроить» в пластиковую карту
Вот я давно хочу уже TOTP-токены вместо 3ds-кодов и даже вместо пин-кода (впрочем, мой банк позволяет отказаться от ввода пин-кода в пользу подписи, но для банкоматов всё равно приходится вводить пин).
Проблема этого SecureCode в том, что не все сайты его поддерживают и при этом нельзя запретить для своей карточки работать без него (или можно?) Т.е. легко возможен такой вариант: я ввожу данные своей карточки на неком сайте (хорошем, годном сайте), он перенаправляет меня на 3D Secure страничку, я ввожу нужные данные и все хорошо. Но плохие дяди попути как-либо умудрились стырить данные моей карточки (например взломали сайт и теперь копию данных кредитки пересылают себе). В итоге они могут радостно потратить мои деньги на сайте без поддержки 3D Secure, так как все нужные данные у них есть. Так что без динамического CVV или принудительного 3D Secure (но тогда отвалится куча сайтов без него, в том числе PayPal) тут не обойтись.
Сайты можно все отрубить, а вот с оффлайном так сделать не выйдет. Есть множество заправок (не в России), где проводишь карточкой и бензин наливается. Может быть сеть ловится там только когда луна в скорпионе, а бензин нужен сейчас. Так вот, у них давным давно был заключен договор, когда не было никаких 3д секьюров. И платежные системы обязаны его исполнять.
Одного наличия логотипа 3-DSecure на сайте отнюдь не достаточно для того, чтобы считать платеж полностью защищенным. Для использования такой защиты необходимо, чтобы ее поддерживал банк-эмитент карты. В России технологию MasterCard SecureCode поддерживают 12 банков, о чем можно узнать на сайте международной платежной системы, на украинской страничке MasterCard даже нельзя найти информацию о такой технологии). К сожалению, использование технологии 3-DSecure среди украинских банковских учреждений из числа 50-ти лидеров по активам подтвердили только в ПриватБанке Коломойского)
Нет не ошиблись — здесь моя неточность. Спасибо, экспертную информацию, оказывается, тоже нужно перепроверять)
Не понимаю, зачем так возиться с написанными на карте, но при этом секретными цифрами, если есть криптография. Добавить в стандарт чипа карты какой-нибудь стандартный хеш-алгоритм, область для закрытого ключа и область для кода выпускающего банка, и сделать персональные кард-ридеры. Для дорогих карт — выдавать ридер при выпуске, для дешевых — можно купить его самостоятельно (все стандартное же) или довольствоваться существующими 3D-Secure и CVC2. На ридере набирается пин, и карта готова подписывать. В случае 3D-Secure карта хешит код запроса банка + ключ, в случае виртуального CVC2 — текущее время + ключ. Результат подписи снова хешится алгоритмом, предоставляемым банком и записанным в область кода банка, до требуемой длины (три цифры в случае CVC). Ридер отображает ответ карты.
У виртуальной карты МТС есть нечто подобное: CVC2 нужно каждый раз «заказывать» и действует он один час. Для оплаты на всяких сомнительных сайтах это, конечно же, удобно, хотя в случае с виртуальной картой несколько излишне, но есть и существенные минусы, скажем к PayPal карту эту толком не привяжешь.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Платежные карты с динамическим CVV кодом – реалии и перспективы