Найти в Дзене

О проверке PIN-кода

Здравствуйте, уважаемые читатели. Сегодня мы с вами поговорим о том, как проверить PIN-код, когда нет связи с банком. Тема очень любопытная. Предыдущие публикации по финансовым технологиям вы можете найти здесь.
"Рассмотрим проверку PIN-кода ofline, когда нет связи с платежными системами и банком-эмитентом. Это операция, которая любому текстовому, числовому, буквенно-цифровому значению

Здравствуйте, уважаемые читатели. Сегодня мы с вами поговорим о том, как проверить PIN-код, когда нет связи с банком. Тема очень любопытная. Предыдущие публикации по финансовым технологиям вы можете найти здесь.

"Рассмотрим проверку PIN-кода ofline, когда нет связи с платежными системами и банком-эмитентом. Это операция, которая любому текстовому, числовому, буквенно-цифровому значению сопоставляет новое значение фиксированного числа символов, уникальное для каждого входного значения, и по которому нельзя восстановить вход.

Такая вот «цифровая мясорубка» в одну сторону без возможности из «цифрового фарша» восстановить исходник. Одинаковые входные значения получают из такой функции одинаковые значения хэша.

Так вот при выпуске карты эмитент вычисляет хэш-значение от pin-кода карты вместе со случайным числом ("Chip Secret" или "Card-specific secret" для стандарта карт emv), еще может добавляться номер карты – все это для большей запутанности и защиты от злонамеренных попыток подбора/взлома. И записывает его в постоянную память чипа карты, той самой микросхемы на одной из сторон.

Процесс проверки через чип карты происходит так:

1. Вы вводите пин-код в POS-терминал в точке продаж.

2. POS-терминал передает пин-код сразу на чип карты. И не просто передает, а терминал шифрует PIN публичным (открытым) ключом карты.

3. Чип расшифровывает его внутри себя закрытым/секретным ключом и вычиляет хэш от переданного значения пин-кода (hash+ключ), сравнивает с эталонным значением хеша, ранее записанным в память чипа.

4. Чип сообщает результат сравнения, возвращает в терминал  PIN_OK,  если хеши совпали, то есть пин верный, или PIN_Fail, если неверный.

Есть еще альтернативный сценарий:

1. Чип и терминал устанавливают безопасный канал (Secure Channel).

2. Генерируют общий сессионный ключ по схеме Static Data Authentication (SDA) или Dynamic Data Authentication (DDA).

3. PIN передаётся, зашифрованный этим симметричным сессионным ключом.

В чипе хранится не только хэш, но и счётчик оставшихся попыток (обычно 3). После каждой неудачной попытки счетчик уменьшается. Если попыток не осталось, то карта блокируется. Еще в чипе хранится значение ofline-лимита, которое можно использовать – снять, оплатить, пока нет связи с эмитентом. Там же ведётся счетчик таких операций, чтобы не превысить лимит, и после появления связи провести синхронизацию трат со счетом клиента. Основное преимущество такой схемы по сравнению со «стандартной» онлайн с передачей запросов до эмитента, которую рассматривали в прошлый раз, в том, что введённый пин и его хеш не покидают терминал, не передаются криптограммы.

Справедливый вопрос: если я меняю пин в приложении банка, поменяется ли записанный ранее хэш пина в чипе? Нет, нужно после такой смены топать к банкомату или pos-терминалу, где, как у доверенной аппаратной точки, будет контакт с чипом, для запуска специального скрипта и смены ранее записанного значения хеша. Либо сразу сформировать и ввести новый пин в банкомате.

Вот как это работает:

1. Пользователь меняет PIN в приложении.

2. Банк генерирует "Issuer Script" — криптографически подписанную команду для чипа.

3. При следующей транзакции в банкомате или онлайн-терминале:

o терминал получает скрипт от банка;

o передаёт его чипу: UPDATE RECORD (PIN_Data);

o чип проверяет цифровую подпись эмитента;

o если подпись верна → обновляет хэш PIN в своей памяти.

Итого: даже если злоумышленник считает память чипа (что крайне сложно), он увидит только хэш, а не PIN.

Подбор PIN невозможен — после трех ошибок происходит блокировка.

Каждая карта имеет уникальный Chip Secret, поэтому одинаковые PIN на разных картах дают разные хэши.

В реальных платежных системах ofline-проверка PIN — это сложный криптографический протокол в рамках стандарта EMV, где безопасность обеспечивается на нескольких уровнях: от физической защиты чипа до цифровых подписей эмитента".

******

Если вам нравятся наши публикации, то вы можете поддержать канал донатом.

Ссылка на донат.

У нас есть много полезных и интересных публикаций.

Наш клуб 800Million совместно с Центром психологической безопасности (ЦПБ)

регулярно проводит финансовые курсы. В этой подборке собрана информация о курсах, отзывы о них, а также рассказано о преподавателе.

А это пост, в котором рассказано обо всех наших технологиях.

Здесь - наши статьи.

Здесь подборка с нашими рассказами о 800Million.

Кроме того, у нашего клуба есть своя картинная галерея нейроживописи.

Стиль - супрематизм. Картины созданы нашим мастером. Любую из работ вы можете заказать для приобретения.