BTC: 30051 USD
ETH: 2048 USD
BCH: 201 USD
LTC: 72 USD
DASH: 63 USD
Перейти к содержанию


Igor001

Новичок
  • Публикаций

    2
  • Зарегистрирован

  • Посещение

2 Подписчика

Информация о Igor001

  • Звание
    Rank №1

Посетители профиля

508 просмотров профиля
  1. PVV - это PIN Verification Value, или говоря русским языком проверочное значение ПИН-а. Значение PVV содержится в треках (1 и 2) и служит для проверки введенного пользователем значения PIN (соответственно используется только при пиновых транзакциях). Пользователь вводит PIN, который шифруется банкоматом и вместе с данными карты отправляется в процессинг, где происходит вычисление PVV на основе введенного PIN и сравнение его со значением находящемся в треке. Из чего же состоит PVV? PVV вычисляется по следующему алгоритму: за основу берется 64-битная строка, так называемая TSP (Transformed Security Parameter) состоящая из 16 шестнадцетиричных символов (16х4=64), в которую входят (слево-направо): - PAN - 11 цифр, отсчитываемых справа-налево, пропуская крайнюю слева цифру (которая является проверочным значением PAN), а считываемых слева-направо, есть подозрение, что это делается, чтобы избежать попадания статичного BIN-a - 1 цифра значением от 1 до 6 выбираемую ключом шифрования (тот самый PVKI (PIN Verification Key Index), стоит заметить, что судя по статье поле PVKI иногда не выделяют отдельно, а считают частью PVV (и пишут, что PVV состоит из 5 цифр) - собственно 4 цифры - значение PIN. Пример: PAN: 1234 5678 9012 3445 PVKI: 1 PIN: 9090 TSP: 5678901234419090 TSP зашифровывается алгоритмом tripleDES (в более ранних системах использовался обычный DES) ключом 128 бит (Внимательный читатель обратит внимание, что эффективный ключ будет 112 бит, т.к. на каждые 7 бит ключа присутствует 1 бит - проверочное значение) Лирическое отступление: Если рассмотреть, что из себя представляет 3DES, мы увидим, что это по сути 3 действия: шифрование DES на ключе1, дешифрование полученного результата на ключе2 и последующие шифрование на ключе3. В алгоритме VISA PVV, ключ1 совпадает с ключом3. Т.е. ключ1=ключ3=левой части 128 битного ключа; ключ2=правой части 128 битного ключа. После шифрования мы получаем строку 64 бита, или 16 шестнадцетиричных символов. Далее идет процедура формирования PVV, которая состоит из 2-х этапов: 16-я строка просматривается слева направо на предмет наличия десятичных цифр, при обнаружении цифры она выписывается в значение PVV если строка просмотрена до конца, при этом значение PVV еще не сформировалось, то строка просматривается заново, на наличие шестнадцетиричных символов (A-E), и в PVV попадают значения соответствующие номеру символа начиная с нуля (т.е. A - 0, B - 1, … , F - 5) и так пока PVV не сформируется (не накопится 4 символа) Пример: вывод 3DES: 0FAB9CDEFFE7DCBA PVV: 0975 (0, 9, 7, F=5) Ссылки по теме: http://www.gae.ucm.es/~padilla/extrawork/stripe.html
×
×
  • Создать...