Перейти к содержимому

ПИН-код

ПИН-код — секретная последовательность из 4–12 цифр, которой держатель карты подтверждает операцию в банкомате или на платёжном терминале. В базах банка код в открытом виде не хранится: сверяется криптографическая проверочная величина, вычисленная в аппаратном модуле безопасности.

Четыре цифры, которых нет в базе банка

ПИН-код (Personal Identification Number) родился вместе с первыми банкоматами: патент на цифровой код доступа к наличным Джеймс Гудфеллоу получил в 1966 году, а автомат Barclays в лондонском Энфилде заработал в 1967-м. Стандарт ISO 9564 допускает длину от 4 до 12 цифр. Российские и европейские эмитенты почти всегда выпускают карты с четырёхзначным кодом, шестизначные распространены в Азии и у части корпоративных продуктов.

Ключевая особенность ПИНа: в информационных системах банка он не лежит ни открытым текстом, ни в виде обратимого шифра, из которого его можно достать. При персонализации карты код превращают в проверочную величину — PIN offset по схеме IBM 3624 либо PVV (PIN Verification Value) по схеме Visa. Величина считается внутри аппаратного модуля безопасности (HSM) из самого ПИНа, номера карты и секретного ключа проверки, который физически не покидает модуль. Операционист не может «посмотреть ваш ПИН» — он может только инициировать перевыпуск.

Отсюда и устаревшая практика с бумажным ПИН-конвертом: его печатали на изолированном принтере, куда код попадал прямо из HSM, минуя людей и обычные серверы. Сейчас большинство банков либо показывает код разово в мобильном приложении по защищённому каналу, либо даёт клиенту задать его самому — на банкомате или в приложении, что безопаснее: цифры вообще не проходят через печать и почту.

Путь ПИНа от клавиатуры до эмитента

Набранные цифры не уходят в сеть как есть. Клавиатура терминала или банкомата — это защищённый PIN-pad: он собирает из ПИНа так называемый PIN-блок и шифрует его собственным ключом ещё до того, как данные покинут корпус устройства. В формате 0 по ISO 9564 PIN-блок получается наложением по XOR поля с ПИНом на поле, собранное из номера карты, — так одинаковый код у двух держателей даёт разные шифртексты. Формат 4 рассчитан на AES и используется в новых развёртываниях, старые контуры доживают на 3DES.

Дальше блок идёт по цепочке: терминал — процессинг эквайера — платёжная система — эмитент. На каждом узле HSM выполняет перешифрование: расшифровывает блок на входящем ключе и тут же зашифровывает на ключе следующего участка. Открытым ПИН не оказывается ни в одном приложении, ни в одном логе — только внутри защищённого модуля. Схема управления ключами DUKPT дополнительно даёт каждому терминалу уникальный ключ на каждую транзакцию, поэтому компрометация одного устройства не раскрывает чужие операции.

Проверка бывает двух видов. Онлайн-ПИН уходит эмитенту, и решение принимает он. Офлайн-ПИН чип карты сверяет сам, не выходя в сеть, — в открытом виде или зашифрованным на ключе карты; это наследие эпохи дорогой связи, которое до сих пор встречается в транспорте и на автозаправках. Какой способ применить, определяет CVM-лист карты — список методов верификации держателя в порядке приоритета, записанный при персонализации.

Число неудачных попыток считает PIN Try Counter в чипе, типовое значение — три. Исчерпали лимит, и карта блокирует офлайн-проверку до разблокировки командой эмитента. Бесконтактные оплаты ниже лимита проходят вообще без верификации, а сам лимит и правила его накопления устанавливает платёжная система совместно с банком — смотрите условия конкретного эмитента, единой цифры для всех карт нет.

Где ПИН не нужен: QR, платёжные ссылки и токены

Оплата по QR через Систему быстрых платежей устроена принципиально иначе: это перевод со счёта на счёт, а не операция по карте. Покупатель наводит камеру, приложение банка показывает получателя и сумму, подтверждение идёт биометрией или кодом доступа к приложению. Ни номера карты, ни ПИНа в цепочке нет — сравнение двух механик разобрано в материале оплата картой по QR-коду и через СБП.

При оплате по платёжной ссылке покупатель попадает на страницу эквайера и вводит номер карты, срок действия и трёхзначный код с оборота, а подтверждает операцию одноразовым паролем 3-D Secure. ПИН здесь не запрашивается никогда: он привязан к физическому вводу на защищённой клавиатуре и в интернете технически не проверяется. Любая форма в браузере с полем «ПИН карты» — это фишинг, без исключений.

В Pay-сервисах и на платёжных стикерах карта заменена токеном — суррогатным номером, привязанным к устройству. Держателя проверяет само устройство: отпечаток, лицо или код разблокировки. Для крупных сумм терминал всё равно может потребовать ПИН основной карты, потому что решение о верификации принимает эмитент, а не телефон.

Арифметика подбора и типовые схемы

Четыре цифры дают 10 000 комбинаций. При трёх попытках вероятность угадать случайный код — 0,03%, и это надёжно ровно до тех пор, пока код случаен. Разборы утекших баз четырёхзначных кодов показывают чудовищный перекос: на комбинацию 1234 приходится порядка десятой части всех значений, в топ попадают 1111, 0000 и последовательности вида 1212, а пары «19xx» массово выдают год рождения. Два десятка популярных комбинаций покрывают заметную долю выборки, и злоумышленнику с тремя попытками этого иногда достаточно.

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

Отдельный класс атак — социальная инженерия. Банк не запрашивает ПИН ни по телефону, ни в чате, ни в форме на сайте; служба поддержки не может его увидеть по определению. Просьба «продиктовать код с карты для отмены операции» — маркер мошенничества, как и QR-коды на поддельных объявлениях, ведущие на фальшивые платёжные страницы: механика таких атак разобрана в статье про фишинг через QR-код. Если ПИН забыт, восстановить его нельзя технически — банк задаст новый или перевыпустит карту.

Частые вопросы

Можно ли узнать свой ПИН, если забыл его?

Нет. Банк хранит не код, а проверочную величину, вычисленную в аппаратном модуле безопасности, и обратной операции для неё не существует. Ни оператор поддержки, ни отделение не видят ПИН в системе. Выход один — задать новый код в мобильном приложении или на банкомате, если такая функция включена, либо перевыпустить карту. Условия и сроки смены устанавливает банк.

Сколько раз можно ошибиться при вводе?

Обычно три попытки подряд — их считает PIN Try Counter в чипе карты. После исчерпания лимита карта блокирует проверку кода, и снять наличные или оплатить с вводом ПИНа не получится до разблокировки на стороне эмитента. Часто счётчик сбрасывается автоматически после успешной онлайн-операции или на следующие сутки, но конкретное правило задаёт банк-эмитент.

ПИН-код и код из СМС — это одно и то же?

Нет, это разные вещи. ПИН вводится только на физической клавиатуре банкомата или терминала и проверяется чипом либо эмитентом. Код из СМС или пуша — одноразовый пароль 3-D Secure, он подтверждает конкретную интернет-операцию и живёт несколько минут. Общее у них одно: оба нельзя никому сообщать, включая тех, кто представился сотрудником банка.

Нужен ли ПИН при оплате по QR-коду?

При оплате через СБП — нет: это перевод со счёта, и подтверждается он в приложении банка отпечатком, лицом или кодом доступа к самому приложению. Карточный ПИН в такой операции не участвует, номер карты продавцу тоже не передаётся. Если QR ведёт на страницу оплаты картой, потребуются номер карты, срок, трёхзначный код и одноразовый пароль, но не ПИН.

Опасно ли ставить одинаковый ПИН на все карты?

Это удобно и потому распространено, но повышает цену одной ошибки: подсмотренный у банкомата код открывает доступ ко всем картам в кошельке сразу. Компромисс — разные коды хотя бы для зарплатной и накопительной карты плюс отключение снятия наличных на той, где деньги хранятся долго. Лимиты на снятие и оплату настраиваются в приложении банка.