Как с пользой потратить время в очереди к банкомату? Предлагаем такое упражнение: представьте, что у вас рентгеновское зрение, и попробуйте проследить весь путь, который проходят купюры внутри устройства. Чтобы вам было легче ориентироваться, вот пост про богатый внутренний мир банкомата. Рассказываем и про механическую часть, и немного про связь с банковским информационным контуром. Всех любопытных приглашаем под кат. Модели банкоматов от разных производителей могут отличаться в деталях, но концептуально все они состоят из одинаковых ключевых узлов. Первым с деньгами встречается приёмник — тот самый отсек для купюр с защитной шторкой-шаттером.  Олдфаги наверняка помнят банкоматы, принимающие деньги по одной купюре. Теперь это раритет — в Газпромбанке ни одного такого нет. Из отсека для внесения наличные попадают в транспортный механизм приёмника. Конкретная реализация транспорта зависит от производителя. Как правило, это система из движущихся ремней, подающих и направляющих валов. По одной купюры попадают в валидатор. Его задача — проверить номинал, валюту и подлинность. Для этого в валидаторе есть двухсторонний сканер, набор датчиков и электронные шаблоны всех купюр, находящихся в обращении. Как устроен процесс валидации:   Сначала валидатор определяет габариты банкноты и сканирует её в разных спектрах: видимом, магнитном, ИК, УФ. Всё это — чтобы проверить характерные признаки подлинности. Их у современных купюр много: водяные знаки, скрытые надписи, муаровые полосы, специальная цветопеременная краска, микроперфорация, рельеф. На Хабре уже есть хорошая статья по теме. С помощью магнитных датчиков валидатор проверяет наличие и корректность расположения меток. Например, некоторые элементы банкнот рисуются красками с ферромагнитными добавками. Также магнитными свойствами могут обладать защитные нити. Полученный «портрет» купюры сравнивается с электронным шаблоном той же валюты и номинала: по размеру, яркости, контрастности, гистограмме изображения, а также по всем признакам, перечисленным выше. Точное содержимое шаблона и методика сравнения у каждого производителя банкоматов своя и держится в секрете. Вместе приёмник, транспорт и валидатор напоминают банковскую счётную машинку с функцией пономинального подсчёта и проверкой банкнот. Это сложное устройство с большим количеством датчиков и движущихся деталей. Неудивительно, что попадание посторонних предметов в приёмник смертельно опасно для банкомата. Повезёт, если условная скрепка держится на деньгах непрочно. Тогда она под действием силы тяжести провалится в отсек для посторонних предметов, который находится прямо под приёмником. Но в большинстве случаев посторонний предмет либо спровоцирует сбой, либо выведет банкомат из строя. Так что всегда проверяйте, не затесалась ли между купюр скрепка или монетка. Купюры проходят через валидатор, а дальше два варианта: банкомат принимает их для дальнейшего оборота или отбраковывает.  Поддельные деньги валидатор легко отсеивает, выявив несоответствие хотя бы одному из признаков подлинной банкноты. Мятые и рваные купюры тоже не пройдут проверку: складки и разрывы мешают оценить все признаки. Наконец, потрёпанную наличку валидатор тоже вернёт — её выдаст толщина бумаги и опять же плохая читаемость признаков. Банкомат различает поддельные и испорченные деньги, но поступает с ними одинаково — возвращает их пользователю. Специальной кассеты для подделок в наших банкоматах нет.  Кстати, время на раздумья ограничено во всех банкоматах, таково требование международных платёжных систем. Тайм-аут на каждое взаимодействие выставляется при настройке ПО банкомата. Нажатие на кнопку или экран сбрасывает счётчик. Если валидатор забраковал часть купюр, а вы не успели забрать их, то по истеченнии тайм-аута банкомат захватывает деньги обратно и помещает в отдельную кассету.  Если все признаки сходятся с электронным шаблоном — значит, банкнота подлинная. В этом случае валидатор передаёт её следующему узлу — эскроу. Это модуль для временного хранения наличности, в нём деньги задерживаются, пока вы стоите у банкомата и проверяете сумму внесённых средств на экране. До этого момента включительно купюры ещё принадлежат вам. Как только вы подтвердите зачисление средств на счёт, ваши деньги превратятся в данные внутри банковского контура. Банкноты внутри аппарата вам больше не принадлежат — они начинают жить своей жизнью. Дальше у них два пути: инкассация и ресайклинг. Из эскроу деньги по умолчанию переходят в депозит-кассету — в ней хранятся все купюры, которые валидатор признал пригодными к возвращению в оборот. Сортировки здесь нет: в каком порядке банкноты пришли, в таком и размещаются в кассете. В банкомате может быть одна или несколько депозит-кассет. В депозит-кассетах деньги остаются до ближайшей инкассации. После неё специалисты в банковском кассовом узле пересчитывают наличность и сверяют эти данные со списком проведённых операций. Опустошенные депозит-кассеты ждут очередной инкассации, чтобы снова вернуться в банкомат. В некоторых банкоматах есть функция ресайклинга — выдачи внесённых клиентами купюр другим клиентам. Главный критерий для ресайклинга: по своему состоянию купюры должны быть пригодны для возврата в оборот. В таких устройствах деньги из эскроу отправляют не в депозит-кассету, а в кассеты рециркуляции денежных средств — по одной ресайклинг-кассете на каждый номинал. Банкомат изначально знает номиналы всех кассет рециркуляции, поэтому после валидации направляет каждую купюру в соответствующую кассету. В банкоматах-ресайклерах ограниченное количество кассет рециркуляции, только для самых ходовых номиналов. Если купюра не подходит по номиналу ни одной ресайклинг-кассете, она отправляется в депозит-кассету. Польза банкоматов с рециркуляцией очевидна: их нужно реже инкассировать, эту функцию частично берут на себя клиенты. На этом оставим бумажные купюры. Ваши деньги превратились в данные о транзакции, поговорим подробнее об этих данных. Если отбросить всю периферию, которая взаимодействует с деньгами, картами и пользователем, от банкомата останется обычный компьютер. У более-менее современных моделей на борту от 4 ГБ оперативной памяти и двух- или четырёхъядерный процессор архитектуры x86 или x86-64. Когда вы подтвердили зачисление средств на свой счёт, банкомат отправляет в процессинговый центр банка запрос: «Зачислить сумму XXX на карту с номером NNNN NNNN NNNN NNNN». Протокол, по которому банкомат общается с процессинговым центром, зависит от ПО, под которым работает устройство. Чаще всего в роли протокола прикладного уровня выступают узкоспециализированные управляющие протоколы с функцией передачи финансовых сообщений (NDC или DDC). Могут использоваться и более известные протоколы — например, HTTPS. В любом случае банкомат строит защищённое соединение с центром. В Газпромбанке мы используем IPSec-VPN-туннель, который туннелирует и шифрует трафик по алгоритму ГОСТ. Внутри туннеля данные также шифруются при помощи TLS и 3DES. ПЦ проверяет PIN-код, номер и срок карты, имя владельца, счетчик операций на чипе, наличие ограничений по карте, сформированную чипом карты криптограмму и много чего еще. Если всё в порядке, центр даёт добро на проведение операции. После её завершения вы получите пуш-уведомление или СМС об успешном пополнении карты. Допустим, вы пополнили карту с нулевым балансом и тут же совершили покупку на ту же сумму. Чьими деньгами вы расплатились? Если банкомат и карта принадлежат одному банку, то будьте уверены: на вашей карте лежат именно ваши деньги, только в оцифрованном виде. И уже через секунду после уведомления вы тратите в магазине свои деньги, а не деньги банка. Конечно, здесь есть тонкости, зависящие от инфраструктуры конкретного банка, но вдаваться в них сейчас нет особого смысла. А вот если банкомат принадлежит другому банку, то картина принципиально другая. В этом случае банк-эквайер (владелец банкомата) через платёжную систему передаёт информацию о зачислении банку-эмитенту (вашему банку). Уведомление о пополнении баланса вы увидите сразу после одобрения операции, как если бы пополняли карту в банкомате своего банка. Но по факту ваши деньги дойдут до банка в течение трёх банковских дней. Выходит, что сразу после внесения наличных на карту вы будете расплачиваться не своими деньгами, а деньгами своего банка. Сам банк спокойно идёт на это, потому что платёжная система гарантирует, что в конечном итоге он получит ваши деньги от банка-эквайера. Превращение цифровых денег в наличку проходит по той же схеме, только в обратном направлении. В банкоматах есть два основных способа выдачи купюр: «Равномерная выдача» — сумма выдаётся так, чтобы количество купюр в кассетах разного номинала уменьшалось равномерно; «Тонкая пачка» — сумма выдаётся минимальным количеством купюр. В банкоматах Газпромбанка существует третья опция: «Покупюрная выдача» — когда клиент может сам выбрать, какими именно купюрами он хочет получить сумму. В зависимости от выбранного способа выдачи сервер отправляет банкомату соответствующую команду: сколько выдать купюр из кассет соответствующего номинала. К выдаче допускаются все купюры, загруженные в кассеты выдачи и кассеты рециркуляции, если банкомат поддерживает ресайклинг. За состоянием кассет в режиме реального времени следят счётчики, показатели которых видно в онлайне. Данные со счётчиков загружаются в систему, которая прогнозирует опустошение кассет и рекомендует оптимальные даты инкассаций. Если наличность в банкомате закончилась внезапно, будет проведена внеплановая инкассация. Но это случается редко, чаще всего инкассация производится заблаговременно. Тут совсем просто: по команде от сервера включается диспенсер. Этот модуль набирает по одной необходимое количество купюр из кассет и далее с помощью транспорта отправляет их одну за другой в презентер.   Когда в презентере набирается вся пачка, открывается шторка — можно забирать наличку. Если вы забираете наличные из того же отсека, куда и клали, значит, перед вами ресайклинговый банкомат. В нем модуль приёма и выдачи совмещены в одном устройстве, соответственно, презентер и приёмник — это одно устройство. У остальных банкоматов модули приёма и выдачи разделены: кладешь наличные в отдельный приёмник, а забираешь из отдельного презентера. В соответствии со стандартами безопасности PCI DSS на накопителе банкомата хранится информация только о факте совершения операции. Чтобы накопитель не забился под завязку, раз в день банкомат архивирует и удаляет старые логи. Полный журнал операций хранится на внутреннем защищённом сервере банка. Журнал помнит всё: номинал и валюту каждой купюры в пачке, а иногда ещё и серийный номер банкноты, если модель банкомата умеет распознавать и регистрировать серийные номера; номер кассеты банкомата, с которой связана транзакция; ну и, естественно, номер карты, на которую внесены или с которой сняты денежные средства. Если переживаете за судьбу своих денег, сохраняйте чек об операции — это гарантия, что в случае проблем с транзакцией вы сможете получить из электронного журнала именно ту запись, которая вам нужна. Любую операцию из журнала можно соотнести по времени с видеозаписью. На всех банкоматах установлены камеры, которые фиксируют все обращения и помечают на видео основные этапы операции. Разрешение камеры зависит от модели банкомата, но для опознания злоумышленника качества видео достаточно в любом случае. Архив видеозаписей хранится на внутреннем защищённом сервере банка и доступен по запросу. Естественно, в банкоматах предусмотрена защита от мошенников. Например, у любой карты с чипом есть уникальные данные — криптограмма. Когда банкомат связывается с центром для проведения транзакции, необходимо, чтобы каждое такое обращение содержало криптограмму.  Передать её можно, только приложив карту к считывателю. Поэтому при бесконтактном обслуживании банкомат требует прикладывать карту или телефон на каждом этапе. Когда карта вставлена в слот, криптограмма тоже постоянно считывается, просто это происходит незаметно для клиента. На случай отключения электричества большинство банкоматов оснащены ИБП. Если свет вырубят, а вы не успели подтвердить зачисление/снятие денег на счёт, устройство почти наверняка штатно завершит операцию или вернёт деньги вам в кошелёк или на счёт. Затем банкомат перестанет обслуживать клиентов и будет ждать, пока не появится основное питание. Допустим, вам не повезло: банкомат съел деньги и отключился или деньги ушли с карты, но банкомат их не выдал. В этом случае лучше сразу оформить претензию. Но происходят такие сбои крайне редко — слишком много звёзд должно сойтись. Как правило, отключение электричества не приносит клиенту никаких проблем. Ещё один маловероятный сюрприз — интернет отрубился, когда банкомат отправлял данные в процессинговый центр. Маловероятный, потому что ПО регулярно проверяет соединение с сервером и, если оно пропадает, банкомат выходит из режима обслуживания. Если такая ситуация произошла, на всякий случай проверьте банковское приложение — может, транзакция всё же завершилась. Если нет ни пуш-уведомления, ни СМС, оставайтесь на месте. Банкомат будет отправлять проблемную операцию до победного, но если связь с центром так и не восстановится, АТМ вернёт вам карту и средства. Будет обидно, если в этот момент вас уже не окажется рядом с банкоматом. В некоторых случаях при потере связи с сервером банкомат захватывает карту и наличные и оставляет их себе на хранение в отдельной кассете. Вернуть их можно, сообщив о проблеме банку. Производители учитывают потребности банков и клиентов, используют новые технологии — в итоге банкоматы стали бесконтактными, быстрыми, удобными и безопасными. Посмотрим, какими они станут ещё через десять лет.  Спасибо за внимание!