Pull to refresh

Comments 104

Спасибо, интересно.
То есть, если карта и АТМ принадлежат одному банку, то карточная система Виза и Мастеркард вообще не нужны?
И еще интересно, как обстоят дела с банками и их дочками( например русский и украинский Альфа-Банк). Как правило, они подключаются напрямую, или через карточную систему?
Да. Более того, несколько банков тоже могут договориться и проводить операции между собой без участия Visa/Mastercard. Глобальный пример — ors.ru/, так же есть куча локальных: карты Райффайзена взаимно без комиссии принимаются у Росбанка и еще каких-то, что-то вроде того есть еще у Мастербанка и Альфабанка.
Про мастер-банк вы хорошо пошутили.
Вообще там должен был быть «Банк Москвы» (он с ВТБ24 и еще кем-то), но я, видимо, на что-то отвлекся. Хотя Мастербанк в свое время действительно «дружил» с Альфой.
Альфа теперь дружит с Росбанком, ПСБ, МКБ и какими-то ещё. А некоторые бывшие банкоматы Мастер-Банка после продолжительного простоя, как я заметил, теперь имеют наклейки Альфы.
Ещё Альфа дружит с МДМ-Банк и УБРР
Хорошая статья. retgoat, я правильно понял, что HSM нужен только для генерации ключа? Если нет, то не совсем понятно, каковы его функции и что он из себя представляет на физическом и программном уровнях?
Для генерации многих ключей :) Также HSM задействуется для проверки пин-кода. Физически это рэковая железка, с которой по сети общается банковская система.
с которой по сети общается банковская система

Точнее, только серверы приложений Процессинга. Никакие другие серверы/системы к данным железкам (обычно их не меньше 2-х, с целью резервирования) доступа не имеют, соответственно, из внешних сетей к ней не добраться (даже если прикинуться банкоматом:)).

З.Ы. Вообще HSM — это самая важная железка в Процессинге, т.к. ее потеря автоматически превращает всю сеть банкоматов банка и все выпущенные банком карточки в тыкву.
Ну, карточки, положим, могут и работать в каких-то пределах, если банк договорился с платежной системой о проверке пин-кодов ей :)
У процессинговых служб есть база пинов (cvv?)?
Если честно, предыдущий оратор прав, — есть магия которая позволяет проверять ПИН-код платёжной системой. Но как это работает я так и не уразумел.
Обычно нет) Но есть способ проверки пинов платежной системой (у визы это называется STIP — Stand-In Processing, о других не в курсе), когда банк предоставляет платежной системе свои ключи и необходимые для проверки данные. Разумеется, банку это стоит денег. Обычно STIP используется для относительно небольших (потому как платежная система не в курсе, сколько на счету денег, и держатель карты может уйти в минус) транзакций, когда эмитент по техническим причинам недоступен; также я краем уха слышал историю о маленьком банке, который не мог себе позволить HSM и договорился с визой о верификации всех операций (как они выпускали карты — без понятия).
Без HSM банк не сможет расшифровать трафик от банкоматов. Соответственно, пока не поменяют в банкоматах ключи, «кина не будет». Не уверен, что везде так, но обычно pin-коды (и cvv) никуда не уходят и нигде не светятся в открытом виде — их сразу после ввода в систему шифруют, и только HSM может расшифровать, сравнить и сказать свое «одобрям-с».

З.Ы. Единственное место где можно увидеть пин-код — это при генерации новых карточек, когда сгенерированный пин-код печатается. Он печатается внутри изначально заклееного конверта обычным матричником без ленты (внутри конверта находится специальная бумага, на которой проявляется след от иголок принтера). Снаружи на конверт наклеен второй лист, через который собсно принтер и бьет по конверту. Так вот, на этом листе и видны следы ударов иголок в виде пин-кода, но эти листы сразу же после печати отрываются от конвертов и уничтожаются специально обученным шредером:)
Соответственно, пока не поменяют в банкоматах ключи, «кина не будет».
Вообще технический вариант есть. Процессинговые системы в банках могут отключать проверку пинов и принимать карты лишь по оставшейся персональной инфе.
Но трудно представить, чтобы до такого дошло руководство организации.
Без HSM банк не сможет расшифровать трафик от банкоматов. Соответственно, пока не поменяют в банкоматах ключи, «кина не будет». Не уверен, что везде так, но обычно pin-коды (и cvv) никуда не уходят и нигде не светятся в открытом виде — их сразу после ввода в систему шифруют, и только HSM может расшифровать, сравнить и сказать свое «одобрям-с».

На самом деле, шифрование трафика, в общем случае, никак с HSM не связано. В общем случае, здесь, обозначает, что сам протокол банкомата никакого шифрования трафика не предполагает. Обычно, для этого используются какие-либо аппаратные сетевые железки, например, какая-нибудь Cisco.
С помощью HSM шифруется только сам PIN блок.
Значение CVV передается в рамках данных трека (образа магнитной полосы) в открытом виде как от банкомата, так и далее по всем системам. Другое дело, что этот трек (и все другие данные) не передаются по открытой сети (интернет), что призвано минимизировать утечку этих данных.
обычно их не меньше 2-х, с целью резервирования

Так если ключ генерируется на одной HSM, его нельзя вытащить и при попытке его узнать он самоуничтожается, то как тогда он дублируется-то? И ведь наверняка же должны быть дублеры в разных ДЦ у крупных банков? Всегда интересовал момент резервирования HSM, т.к. по сути-то получается что ключ все же как-то передается на дублера.
Или же при генерации ключей все HSM соединены и генерируют вместе? Но тогда как же замена вышедшего из строя?
Кроме того, скажем банк установил HSM и сгенерировал ключи предположим десять лет назад. Сейчас эти HSM возможно не могут справляться с текущим объемом данных — тогда получается генерируются новые ключи, и у платежных систем идут по несколько ключей одного банка (поддерживая старые пока не закончится срок действия всех карт этого банка, выданных со старого HSM)? Или как?
При инициализации некоторых видов HSM в нех может быть зарегистрирован «Красный» ключ (токен) — ключ домена. С помощью ключа домена можно зашифровать ключи, сгенерированные внутри HSM, для последующего переноса в другой HSM, инициализированный тем же ключем домена. Пример: cloudhsm-safenet-docs.s3.amazonaws.com/007-011136-002_lunasa_5-1_webhelp_rev-a/Content/concepts/what_is_a_domain_ped_key.htm

A domain PED Key (the red one) carries the key-cloning vector (the domain identifier) that allows cloning to take place among HSMs and tokens. Cloning is a secure method of copying HSM (or Partition) or token objects, such that they can be replicated between HSMs and tokens, but:

* strongly encrypted (never in the clear), and
* only between HSMs and tokens that share a cloning domain.

… An HSM or token can be a member of only one domain....
Ой и не упоминайте :) Мы меняли HSM — много наших полегло.
Как-то раз случилось страшное, и один из наших Eracom Protect Storage White сгорел от слова «Совсем». Мы тогда использовали 2 HSM, а не 4, как стоило бы.
В итоге каким-то чудом нам удалось поднять всё на одном HSM на вермя пока мы не купим новые.
Но купить Eracom не получилось и в итоге мы купили Thales racal 9000.
Когда приехали новые «ракалы» мы ощутили всю прелесть переноса ключей в полный рост :)
Совершенно верно. Но HSM далеко не один на весь процессинг. Как правило используют 4 HSM: один для FrontEnd, один для BackEnd и ещё два резервных. Во всяком случае мы делали именно так.
Разные HSM для фронта и бэка обусловлены тем, что они работают в разных режимах: один в онлайне расшифровывает поток данных, другой генерирует ключи для выпуска и обслуживания карт.
Картинка не оч понятная. Процессинговая система банка отдельно от банка изображена.
Я изобразил Банк «Б» упрощённо, дабы там тоже не рисовать разве чистые фронт, бэк и HSM.
Прошу прощения «развые чистые» стоит читать как «развесистые». Автокоррекция она такая автокоррекция :)
Получается, что при снятии денег в чужом банкомате, пока оффлайновое сообщение не дойдет до банка-эмитента, счет клиента не уменьшится?
Сколько времени может идти это офлайновое сообщение?
И что это вообще за сообщение, неуж-то письмо DHL-ом? :)
Клиринговая выгрузка из визы и мастера (скоупом выгружаются проводки) в систему банка. Фактический баланс меняется только по этим документом, но это не значит что можно пользоваться потраченными деньгами в магазине. Сумма блокируются до момента подтверждения или отторжения операции. По разным типам платежей разные лимиты на время обработки.
<ШуткаModeOn>
Снимаем деньги и тут же взрываем банкомат.
<ШуткаModeOff>
Не сработает: информация о транзакции сохранилась не в банкомате, а в процессинге банка. Снятие наличных всегда проходит с онлайн-авторизацией.
Снятие наличных всегда проходит с онлайн-авторизацией.
Не факт, не факт. Вот здесь мы писали habrahabr.ru/post/216637/#comment_7424939 — почитайте начавшееся от поста обсуждение,
Факт, ибо требования к процессингу. Изврат со стороны банка возможен, но это уже риски безопасности, которые он на себя сам берет. Этот случай не является нормальной практикой.
И всё-таки не факт. Оффлайн транзакция допустима для чиповой карты. В стандарте EMV для чиповых карт есть упоминание о том, что карта может не требовать обязательную онлайн авторизацию если соблюдён ряд условий.
Например, тре предыдущих транзакции были успешны, производились они в одной стране, транзакции были одного типа (покупка в продуктовом магазине), суммы транзакций не сравнимы.
В этом случае допускается оффлайн авторизация.
Как авторизовать карту выбирает приложение на чипе карты и процессинг тут не при чём.
«скопом» — это вполне нормальное русское слово :)
Согласен. К сожалению окружение сказывается на словарном запасе.
А еще интересно как происходит списание с рублёвой карты, если я например снимаю доллары в штатах с нее.
Автоконвертация по курсу вашего банка. Естественно, не оч выгодный курс.
Тоесть мой банк конвертирует в доллары, и всё?
Это если со штатами.
А если например У меня рубли, а снимаю Йены в японии, тогда как?
Виза же только $$$ обрабатывает
Смотря что считать работает только с $. Валюты в сообщениях процессинга вполне себе указываются любые. Более того, там даже на американский доллар, например, несколько кодов есть. Для пользователя прозрачно все.
По личному опыту, меня в Европе спрашивали даже в чем я хочу расплатиться, доллар или евро.

Расчеты собственные между банком и визой могут идти в долларах, но эту часть я не знаю.
Когда вас спрашивают, в чем вы хотите расплатиться — это так называемая динамическая конвертация валют. Обычно она выполняется по весьма невыгодному курсу, плюс конвертация там может произойти несколько раз, так что насчет нее довольно много негатива высказывается на профильных форумах.
Вообще тема конвертации валют при операциях через платежную систему весьма запутанная, конвертация происходит много раз и зависит не только от валюты вашего счета, но и от счетов и настроек банка. Другое дело, когда вы снимаете доллары с рублевой карты своего банка в своем банкомате — там да, просто конвертация по курсу банка.
Зависит от вашего банка.

Например если у вас карточка банка Авангард, то VISA сконвертирует йены сразу в рубли по своему курсу и выставит уже в рублях Авангарду, который спишет с вас эту сумму в рублях, ну и еще добавит 0.75% комиссии за трансграничную операцию.
Ваш банк берёт свой текущий курс доллара, переводит сумму снятия в рубли, добавляет комиссии и ещё несколько процентов запаса и эту сумму авторизует на вашей карте. Через несколько дней, после клиринга, когда ваш банк отправит американцам доллары, от снимет холд и спишет с вашего счёта сумму в долларах по курсу на день клиринга. Обычно курс за это время не успевает уехать сильно, поэтому в выписке вы увидите меньшую сумму, чем была изначально авторизована.
Ваш банк берёт свой текущий курс доллара, переводит сумму снятия в рубли, добавляет комиссии и ещё несколько процентов запаса и эту сумму авторизует на вашей карте

Кто как. Авангард или ТКС, сейчас не вспомню который, авторизации делает по курсу ЦБ, а списывает уже по внутреннему.
Интересно, по всей европе стоят банкоматы Евронета, в которых обслуживание украиской карточки выходило дешевле, чем в банкоматах, которые были указаны на сайте банка. Это ошибка банка, или фича такая?
И еще, у меня в нескольких польских банках (где открыты счета) снятие денег в банкоматах по всему миру абсолютно бесплатно. Кто в таком случае платит за мои снятия? Я, конечно понимаю, что в конечном итоге за все всегда плачу я, но в данном случае это мой банк оплачивает, или как это организовано?
За любую операцию через платежную систему банк платит ей комиссию. Как правило, ее (плюс какой-нибудь свой процент) он потом взимает с клиента (держателя карты, продавца-пользователя терминала). Однако в вашем случае, видимо, банк решил не брать с вас комиссию за каждое снятие (включив, наверняка, взамен какую-нибудь среднюю годовую комиссию среднего клиента в стоимость годового обслуживания), но при этом он все равно платит за ваши операции платежной системе как обычно.
15. Сообщает результат клиенту;
16. Уведомляет хост, что деньги выданы (так же с шифрованием и всем прочим).

Интересно, что будет если между 15 и 16 пунктами банкомат потеряет связь? Банкомат сообщает о том, что деньги выданы после фактической выдачи денег или чуть раньше? Т.е. насколько реальная ситуация, что банк получил сообщение о том, что деньги выданы, а клиент их не получили и наоборот.
И что произойдет, если другой человек с клоном карты подойдет к соседнему банкомату с аналогичной операцией по снятию?
У меня была такая ситуация — деньги списались (пришло SMS-оповещение), но их не выдали. В интернет-банке тоже было видно списание. Сразу позвонил в банк, меня там заверили, что все в порядке, и во время инкассации это заметят, потому что не сойдутся остатки. Предложили подождать неделю. Через пять дней деньги вернулись.
Если банкомат не получает уведомления об успешности транзакции, он отправляет reject автоматически. При этом считается что reject дошёл всегда.
Если же и reject не долетел до процессинга — разбор полётов по журнальной ленте банкомата.
Кроме того, в каждой транзакции NDC/DDC банкомат посылает информацию о предыдущей транзакции (в частности, там информация, сколько купюр было выдано из каждой кассеты). Так что если сообщение не дошло сразу, то дойдет потом и что-то можно будет предпринять.
А насколько реальна ситуация, что АТМ или фронтенд отклоняет карту потому что она принадлежит определенному банку? Или любому банку из определенной страны?
Очень реальна. Поскольку банки борются с мошенничеством, а некоторые страны автоматически попадают в группу риска.
То есть если вдруг карта нашего банка обслуживается в этой рисковой стране, или происходят подозрительные операции: снятие крупных сумм денег в небольшие интервали времени в другой стране.

Такие вещи отслеживаются системой Fraud Monitoring. В её основе правила описывающие нормальное поведение клиента и его карты, если поведение отклонилось от «нормального» — банк отклоняет транзакцию.

Тут обратная ситуация. Ваш банк отклоняет карту иностранного банка, даже не обратившись к Визе или этому банку.
В принципе, реальна. Хотя, в теории, это и запрещено платежными сетями.
Было у меня такое пару раз — все банкоматы определенного банка вдруг стали отказывать в выдаче долларов, хотя при мне следующий клиент нормально их получал. Но местную валюту выдавали. Можно жаловаться в местное отделение VISA?
Мне не нравится это место
Расшифровывает сообщение открытой компонентой коммуникационого ключа;
по БИН понимает, что карта наша;
Расшифровывает ПИН-блок открытой компонентой мастер-ключа;


Если вы тут имели в виду асимметричную криптографию, то как-то странно. Если компонента открытая, то подразумевается что она не держится в секрете, и расшифровывать ей смысла нет, разве что подпись проверять.
Стандарт ISO 9564 на работу с PIN кодами во второй своей части «Part 2: Approved algorithms for PIN encipherment» предусматривает онлайн работу только по симметричному алгоритму TDEA (3DES). Wikipedia сообщает: "ISO 9564-2[3] specifies which encryption algorithms may be used for encrypting PINs.… As of September 2010 the only allowable algorithms are TDEA and RSA. Encryption with RSA is approved for use with ISO 9564-3 (offline PIN handling) only." (TDEA внедрялся с 2003 года, до него использовался однократный 56-битный DES.)

В комментариях к посту blog.cryptographyengineering.com/2013/12/can-hackers-decrypt-targets-pin-data.html анонимно предположили, что асимметричная криптография с достаточными размерами ключей слишком тяжела для существующих масштабов: "Asymmetric encryption at scale needed for PIN processing is subject to man in the middle and is computationally expensive. Not a good option. Symmetric key encryption in the US for PIN is done right and doesn't offer offline attack vectors for anyone who holds the encrypted PIN block"

Payment Card Industry PIN Security Requirements явно упоминает асимметричную криптографию только для изначального распределения ключей, например: "The initial terminal master key (TMK) must be loaded to the device using either asymmetric key-loading techinques or manual techniques — e.g. the device keypad, IC cards, key-loading device, etc."
Она и не держится в секрете — она лежит себе в базе данных в виде строки.
Здесь я бы хотел немного пояснить: секретный ключ, с точки зрения банка, это такой ключ который никто никогда не может увидеть. В нашем случае открытая компонента записана в виде строки в базе данных процессинга, соответственно её может увидеть любой человек имеющий доступ в этой базе данных, а таких в банке пруд пруди :)

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

Секретные ключи генерируются в ПИН-конвертах, в точно таких же в которых вы получаете ПИН-код от своей карты.
После введения конверты должны быть уничтожены.
Кстати, по ключам. Так как 3DES — симметричный алгоритм, то ключи из HSM никуда не выходят. Когда ключ генерируется в HSM, наружу отдается идентификатор ключа, который уже сохраняется в базе. И везде, где ссылаются на симметричный ключ, используют этот идентификатор.
  • Надо расшифровать сообщение — на вход HSM подается сообщение и идентификатор ключа, которым оно должно быть зашифровано.
  • Надо перешифровать — на всход сообщение, и два идентификатора ключей — HSM расшифровывает сообщение первым, зашифровывает вторым и отдает результат.
  • Надо зашифровать — на вход исходное сообщение и идентификатор — на выходе — шифровка.

Это в дополнение к возврату криптограмм ключей — как сказано в habrahabr.ru/post/166181/
Не совсем так.
Из HSM никуда не выходит открытое значение ключа (хотя это тоже не совсем корректное утверждение, но будем его придерживаться). Как я указал в habrahabr.ru/post/229527/, HSM отдает наружу либо ключ, зашифрованный под Мастер ключом, либо идентификатор ключа во внутреннем хранилище. Какой именно из этих методов будет применен, зависит от нескольких факторов, в т.ч. типа HSM, типа ключа, запрошенной команды на генерацию ключа.
Соответственно, в HSM в командах на выполнение операции, передается либо идентификатор ключа, либо его зашифрованное значение.
А что значит «расшифровывает открытым ключем» и «зашифровывает закрытым»? Возможно, имелось в виду «проверяет цифровую подпись» и «подписывает сообщение»?
Признаться честно — я не чуствую в себе уверенности вступая в диспут на предмет криптографии. Это не самая моя сильная сторона.
Вот здесь habrahabr.ru/post/229393/#comment_7767367 человек всё весьма подробно объясняет.
Вы уж простите.
Самое оно, как раз то, о чём я рассказать не могу. Спасибо!
" 4488(04) — код банка (код карточного продукта)" — учитывая, что первая цифра — это код Visa, получается, что к Visa могут подключиться только 1000 банков?
В настоящее время вместо BIN+код продукта используется IIN, длиной 6 цифр:
en.wikipedia.org/wiki/Bank_card_number -> "ISO/IEC 7812 card number… six-digit Issuer Identification Number (IIN) (previously called the «Bank Identification Number» (BIN)) the first digit of which is the Major Industry Identifier (MII)… The IIN database and membership is currently managed by the American National Standards Institute (ANSI)[3]"

ANSI пишет, что для одного банка дает не более одного IIN для каждой из платежных систем, а выделение дополнительных IIN для идентификации продуктов не производится: "All IINs assigned are six digit numbers and each card issuer is entitled to one IIN (outside of its membership of any card schemes, for example an IIN assigned from Visa). Therefore only one IIN will be assigned to each card issuer. Additional IINs will not be issued to identify products, services or geographical location.". Для идентификации продукта предлагают использовать цифры из Customer Account Number "The first 6 digits cannot be used for any identification other than to identify the issuer to whom the IIN is registered. However, any of the next 9 to 12 digits can be used to identify products, services, geographic locations and technologies."
При этом эти IIN всё-таки присваивает ABA. По крайней мере именно через неё получили IIN для одного из карточного продукта лояльности.
Не соглашусь с утверждением про один IIN на один банк в платежной сети. Как минимум, в случае MasterCard м.б. 2 IIN — один с 5xxxxx для MasterCard и один с 6xxxxx для Maestro (сеть в обоих случаях — MasterCard).
Лет 6 назад точно была ситуация, когда банку выдавали новый IIN под новый карточный продукт (Visa или MasterCard, уже не помню).
Относительно разделения по коду Visa/MasterCard на основании первой цифры. На самом деле, первая цифра не всегда однозначно определяет то, кому принадлежит карта. Где-то 5 лет назад натолкнулись на диапазон, выделенный для карт Visa в 5xxxxx диапазоне.

Теперь относительно карточных продуктов. Тут, насколько я знаю, следует разделять карточные продукты с т.з. банка и сточки зрения платежной сети. По Visa, таких продуктов, принципиально, 2 — Visa и Visa Electron, по MasterCard — 3: Debit MasterCard, Credit MasterCard, Maestro.
При этом, если в случае с Visa и Debit MasterCard/Credit MasterCard я не могу сказать, обязательно ли различаются IIN для разных продуктов, то для Maestro, в т.ч. может выделяться другой IIN, хотя может и не выделяться (в случае, когда идет кобрендинговая карта Maestro + Debit MasterCard).

P.S. Сейчас посмотрел свои карты Visa одного банка, у них IIN в 6 цифре различается на 1. Одна карта с кредитным лимтом, другая — без. Для карт MasterCard того же банка в аналогичной ситуации IIN совпадает.
Замечание "Therefore only one IIN will be assigned to each card issuer." ( по ссылке — "Applications for a second IIN are automatically rejected by the Sponsoring Authority… Registration Authority, Diane Poole at dpoole@aba.com.") висит на этой странице уже почти десять лет: web.archive.org/web/20040811055222/http://www.ansi.org/other_services/registration_programs/iin_registration.aspx Возможно, что раньше банкам могли выдать несколько IIN (либо, на тот момент еще BIN) для идентификации продуктов, и после введения этого правила старые IIN не отзывались. В википедии одно время пытались собрать список IIN: www.stevemorse.org/ssn/List_of_Bank_Identification_Numbers.html — в нем встречается несколько IIN на банк или BIN ("**" вместо двух последних цифр)
Не совсем, код карточного продукта тоже часть БИНа банка. Просто все считают что последние две цифры БИНа — это код продукта. Таким образом у банка просто много БИНов, которые могут совпадать по первым четырём цифрам.
А вот не совсем понятно как проходит валидация PIN. Пин хранится в банке в чистом виде или зашифрованном?
ПИН в банке вообще никак не хранится — это строжайше запрещено. Если не дай бог всплывёт и платёжная система узнает что банк хранит ПИН — выкатит колоссальный штраф (хотя, других штрафов там нет).
Более того, сейчас по правилам PCI DSS даже полный номер карты хранить запрещено, даже зашифрованный. Используют маску: 412345******1234.

На счёт ПИНа я не могу развёрнуто ответить на этот вопрос, поскольку я не криптограф. Могу только в общих чертах на пальцах рассказать.

Валидируется не ПИН сам по себе, а ПИН-блок.

Насколько я в курсе хранится некая контрольная сумма некоей строки, в которую обязательно входит номер карты.
К нам прилетает ПИН-блок — зашифрованная строка. Мы расшифровываем её и получаем контрольную сумму. Если сумма полученная и сумма хранящаяся у нас сходятся — ПИН введён верно.

З.Ы. Ногами не бейте, я уже говорил что криптография не самая моя сильная сторона.
Под пинблоком обычно понимают пин зашифрованный транспортным ключем. Есть разные форматы пинблоков, некоторые привязаны к номеру карты.

Затем, когда это прилетает на хост, хост перекладывает это (с помощью hsm) на свой ключ и заново расчитывает PVV и сверяет его с тем, что у него есть.
Если сходится, значит пин верный

Спасибо!
Проверка ПИНа вообще не моя сильная сторона, да и было это давненько уже. Семь лет прошло как я занимался процессингами — многое забылось.
Не совсем так. PIN блок — это PIN, специальным образом упакованный в блок из 8 байт. Он бывает как зашифрованный, так открытый.

PVV, обычно, заново не рассчитывается, а просто отдается HSM для проверки, а он уже сам проверяет.
Пин в чистом виде существует только во время печати конверта.
В банке хранится только проверочное значение PVV — pin verification value
А когда высылают пин по смс?
Само собой, все такие расчёты осуществляются в долларах

VISA уже давным давно замечательно проводит расчеты с банками и в долларах и в евро и даже в рублях.
Эвона чего-о-о-о. В моё время такого не было :) Хорошо что так, курсовые разницы весьма и весьма раздражали.
Спасибо за матчасть. Я, собственно, и не рвался :) Но в порядке общего развития стоит знать тонкости.
Я имел ввиду как раз НЕ DCC.
Тот же, например, Аванград с VISA уже достаточно давно перешел на следующую схему расчетов:
Покупка в долларах — клиринг в долларах, покупка в евро — клиринг в евро, покупка в другой валюте — клиринг в рублях по курсу МПС.
Получается чуть-чуть выгоднее за счет отсутствия цепочки конвертации, например йены в доллары (в МПС), а потом долларов в рубли (в банке, если карта рублевая).
UFO just landed and posted this here
Может.
Относительно хранения самих логов — это вопрос к банку, а хранение истории операций, обычно, регулируется местным законодательством. По длительности этого периода для России (могу сказать, что для Италии этот срок составляет 2 года) лучше проконсультироваться с сотрудниками банков, но, в любом случае могу сказать, что информация о том, сколько и где снималось/покупалось храниться определенное время.
UFO just landed and posted this here
Добавлю еще:
— В соответствии с PCI-DSS 3.0 (пункт 10.7) необходимо хранить логи минимум 1 год.
— В соответствии с местным законодательством, где максимум может достигать 3-5-7-10 лет.
Отличная статья, спасибо! Как-то так получается, что подробности работы платежных систем особо не попадают в широкое обсуждение, и вот такая обзорно-вводная статья пришлась очень кстати.

Можно подробнее рассказать, какие конкретно данные остаются после оплаты картой у участников процесса? Например, остаётся ли у магазина, где провели оплату картой, номер карты (хотя бы и в замаскированном виде)? Приходит ли в банк подробная информация о географическом местонахождении точки продажи, о характере платежа (за что были заплачены деньги), другие данные? Какие данные остаются у платёжной системы?
Разделю ответ на 3 части:

1. Что остается у магазина.
Тут стоит принципиально выделить 2 типа магазинов: физические, т.е. магазины, где присутствуют физические терминалы (говоря именно о терминалах, а не о картах, я подразумеваю, что возможна ситуация, при которой на физическом терминале будет проведена операция без физического чтения данных карты с магнитной полосы или чипа карты, независимо от того, присутствует сама карта или нет).
В этом случае у магазина, как правило, остается только чек, на котором остается (из интересующих нас данных) номер карты в формате 6x4 (6 первых и 4 последних цифры) или x4, дополнительно там может присутствовать имя владельца карты (если оно присутствует в данных чипа или магнитной полосы и его печать на чеке заложена в ПО терминала). Исключение — когда терминал интегрирована с каким-либо кассовым оборудованием магазина, в этом случае у магазина, теоретически, могут остаться любые данные, которые он смог прочитать с карты.
Второй тип магазина — интернет магазины. Здесь ничего, однозначно, сказать нельзя, т.к. все зависит от способа работы этого магазина. В минимальном варианте у магазина не остается вообще ничего, в предельном — номер карты, срок ее действия, код CVV2/CVC2 (хотя это и запрещено), фамилия имя владельца, как их ввел покупатель при оплате.

2. Что приходит в банк.
— Страна, где зарегистрирован магазин.
— Адрес (для банкомата) или наименование (для магазина). В наименование магазина, иногда, включается часть адреса.
— Идентификатор банка/участника платежной системы, который обслуживает терминал, где была проведена операция. Т.н. эквайерский БИН.
— Категория торговой организации (далее мерчанта), в англоязычных текстах этот термин обозначается как merchant category code (он же MCC, введен в стандарте ISO 8583 версии 87 года) или card acceptor business code (заменил термин MCC в ISO 8583 версии 93 года). По нему можно, косвенно, определить, что это был за магазин. Например, магазин электроники, оплата телекоммуникационных услуг, отеля, ресторана и пр. Некоторые отели и авиакомпании имеют свои собственные уникальные идентификаторы категорий, которые позволяют не просто сказать, что это была оплата в авиакомпании, а указать конкретную авиакомпанию.
— Идентификатор терминала и/или мерчанта.
— Информация о том, был ли PIN, каким образом была прочитана карта (магнитная полоса, чип, бесконтактный ввод, ручной ввод и пр.)
Из основных — это все.
При этом, у платежной сети — все то же, что пришло эмитенту.
В конце было немного информации про комиссию участников процесса. Всегда было интересно как эти трое делят доходы?
Про 0.5% и $3 не совсем правда, ибо я в своей выписке вижу что у меня фиксированная комиссия за транзакцию — $2. Хотя подозреваю что именно с этим банком не все чисто и другие банки его не любят, уже знаю два банка которые отказывают в обслуживании моей карты.
С комиссиями вопрос очень не простой. Я говорил про interchange fee который всегда берёт VISA. Более того, 0,5 % $3 это минимум, да ещё и давний.
Комиссию с вас всегда удерживает банк-эмитент. По правилам платёжной системы, банк-эквайер не имеет права взимать комиссию.
Отсюда следует что размер комиссии за выдачу наличных в другом банке (зависит то того, в каком именно) плод трудов вашего родного банка, а так же его затрат на эту транзакцию и в конечном счёте жадности :)
А что и сколько достается банку-эквайеру?

Кстати запрет системы бьется местными законами. Например, в Таиланде абсолютно все банкоматы берут ~$5 при транзакции с не тайской карты. Фаранги они богатые — по местным обычаям их не грех немного пощипать.
Не знаю про закон, но в Камбоджи тоже все банки кто на что горазд — все берут комиссию. Но это кстати гораздо удобнее — снять за один раз $3000 и заплатить комиссию ~1%, чем делать тоже самое в РФ, где это типа запрещено, поэтому все зарабатывают фиксированную сумму на транзакции и уменьшают саму транзакцию и чтобы снять те же три тысячи надо 10 раз вставить карту, ввести пин-код и пробежаться по меню за $300. А в Белоруссии и вовсе $200 лимит на транзакцию. Короче цирк. При моей комиссии в $2 за транзакцию получается тот же 1% и я с грустью вспоминаю дикую Камбоджу…
По-моему, вы путаете обналичку в АТМ и эквайринг.
Комиссия за получение налички в банкомате Визой не регулируется, и банк может ставить любой процент за эту услугу. А вот в случае эквайринга (т.е. оплаты товаров и услуг карточкой) комиссия, по правилам Визы, с клиента не берется (т.е. вы платите ровно столько, сколько заявлено в ценнике). В случае выявления нарушения, банк за такие фокусы получит «по самое не балуйся», и вряд ли ему помогут внутренние законы (разве что там будет прямо написано — «с клиента нужно стричь купоны!»).
Именно так. Я специално не изучал, но мне кажется что даже если будет написано что нужно стричь, то «по самое не балуйся» банк всё одно получит. VISA в этом отношении весьма прямолинейна.
Как интересно… Я в Штатах снимал деньги в одном банкомате. Меня банкомат честно предупредил, что будет комиссия добавлена. Я согласился. Снял N долларов, в банк-эмитент пришёл запрос на списание M=N+комиссия.
Как было написано выше, требование отсутствия комиссий касается только торговых операций и не касается выдачи наличных.
Тут уже и Visa и MasterCard абсолютно спокойно относятся к комиссиям со стороны банка эквайера и тут все уже зависит от жадности конкретного эквайера: от отсутствия какой либо дополнительной (которая добавляется к сумме авторизации в суммее запроса на списания), до вполне ощутимых сумм. Раньше (лет 6 назад) это, действительно было запрещено, но потом такие комиссии разрешили сначала Visa, а, через полгода, и MasterCard. Более того, были специальные доработки для их протоколов, чтобы позволить эмитенту выделять непосредственно сумму запроса клиента и сумму комиссии, которую накручивает банк эквайер.
Раньше (лет 6 назад) это, действительно было запрещено

вот я примерно про это время и рассказывал, ибо как раз тогда я плотно занимался процессингом. Как много оказывается изменилось… Спасибо за науку :)
Наконец, нашел время прочитать статью ;).

Про процессинг своих карт в своем банкомате — это вы описываете процесс в каком-то своем банке. Абсолютно ничего не мешает банку обрабатывать такие транзакции полностью онлайн (без холдов и т.п.), что некоторые банки и делают.
Про процессинг своих карт в своем банкомате — это вы описываете процесс в каком-то своем банке

Да, именно так. Точнее, по собственному опыту в нескольких банках в которых я работал, и с которыми очень тесно сотрудничали эти самые банки.

Безусловно, обработка своих транзакций (на процессинговом слэнге они именуются «us-on-us») только онлайн возможна, и вы правы что некоторые так и поступают. Однако это требует повышеных требований к отказоустойчивости и надёжности.

Помнится была у нас история.

Мы внедрили мгновенное пополнение лимита авторизации карты напрямую из АБС, а не передавая кучу файликов из АБС в бэкофис, а потом во фронтенд. Работало быстро и не могли нарадоваться. Но тут-то и подкрался пушной зверёк: АБС не умела посылать reversal на неуспешные пополнения.

То есть выглядело так:
  • АБС посылает команду (сразу на фронт) на пополнение карты в процессинге;
  • операция не обрабатывается о чём фронт добросовестно сообщает АБС;
  • поскольку АБС не умеет посылать откат, она никак не реагирует на сообщение о том, что транзакция неуспешна и дублирует пополнение файликом через бэк;
  • спустя 40 минут (примерное время обработки и обмена файлами) мы получаем двойной лимит авторизации на карте


Итого, пока поняли что к чему, за день мы продублировали пополнений на 13 миллионов рублей которых реально не было у клиентов на счетах.
Сказать мы там все в одночасье поседели — не сказать ничего.

Например, один клиент получил на карту около миллиона рублей находясь за рубежом. После приездав Россию он пришёл в банк и торжественно вернул ошибочно зачисленную сумму.

Но бывали о наоборот: человек получил на 800 тысяч рублей больше и благополучно их потратил. Хорошо что вопрос решили и он сам и возместил разницу.

В общем, при онлайне риск подобных моментов увеличивается многократно, наверное именно поэтому банки и не торопятся переходить полностью на онлайн в основной своей массе.
Sign up to leave a comment.

Articles