Кривой PinBlock если разные ПАНы на полосе и чипе

Банкоматы компании Diebold
nerub1an
Прохожий
Сообщения: 3
Зарегистрирован: 10 июл 2014, 22:47

Кривой PinBlock если разные ПАНы на полосе и чипе

Непрочитанное сообщение nerub1an »

Доброго времени суток, коллеги.

Diebold:
Проблема заключается в том, что если карта с разными ПАНами на чипе и полосе, PinBlock вообще не генерируется и отправляется 1111222233334444
Если ПАНы одинаковые, то все генерируется нормально.

На банкомате NCR эту проблему решили с помощью стейта 'k - Smart FIT Check State'

Прочитав и перечитав все стейты, которые есть для диболда, ничего похожего не нашел.

Кто-нибудь уже сталкивался или есть какие то мысли?

Добавлено спустя 23 часа 40 минут 5 секунд:
Возможно дело в стейте Card Reader State (CR b)
State Number Valid state numbers
State Type CR b
Unit Number 001
Operation 001 - 007, 009 - 015
Screen Number Valid screen numbers
Consumer Response Time 000 - 255, 900 - 931, 999
Good Operation Next State Valid state numbers
Consumer Fault Next State Valid state numbers
Hardware Fault Next State Valid state numbers
Network Fault Next State Valid state numbers
Read Conditions (composite) 000 - 017
Read Condition A 000 - 015
Read Condition B 000 - 015
Read Condition C 000 - 015
Read Condition D 000 - 015
Pre-head 000 - 002
Не очень понятно какие conditions ставить. Чтобы работало для безчиповой карты нужно ставить Read Conditions (composite) : 002
Description: If the Operation entry contains 001 (read the card), the Read Conditions (composite) entry tells the terminal which card tracks it must read
correctly. The terminal must satisfy the Read Conditions before going to the Good Operation Next State. The valid values are as follows:
000 - None
001 - 3 only
002 - 2 only
003 - 2 and 3
004 - 1 only
005 - 1 and 3
006 - 1 and 2
007 - 1 and 2 and 3
008 - Chip connect only
009 - Chip connect and 3
010 - Chip connect and 2
011 - Chip connect and 2 and 3
012 - Chip connect and 1
013 - Chip connect and 1 and 3
014 - Chip connect and 1 and 2
015 - Chip connect and 1 and 2 and 3
И все из-за этого
NOTE
The following four entries are required to be present in the state data only for operations 001, 013, and 014 with a smart card reader, or when the
optional Pre-head entry is included in the state data. If the terminal cannot read smart cards, the Read Conditions (composite) entry must be used
to define read conditions, and the Read Condition A, B, C, and D entries, if present, must contain the value 000.

If one of these entries is present, all four must be present.
If any of the Read Condition A, B, C, and D entries contain a non-zero value, the corresponding read condition overrides whatever conditions are
specified in the Read Conditions (composite) entry.
Тогда получается, что эти же значения нужно оставлять и для чиповой:
Read Conditions (composite) 002
Read Condition A 000
Read Condition B 000
Read Condition C 000
Read Condition D 000
И тогда если идет чиповая карта и на чипе ПАН отличается от ПАНа на полосе, банкомат не понимает как шифровать PinBlock

Если брать во внимание только чиповые карты и делать
Read Conditions (composite) 000
Read Condition A 010
Read Condition B 010
Read Condition C 010
Read Condition D 010
то все равно PinBlock не генерируется :unknown:

Но есть ощущения, что дело именно в этом, потому что на NCR'е предусмотрен стейт smart fit check, а diebold такой стейт не предусмотрел. Видимо потому что банкомат должен сам с этим справляться.
Zlobny
Местный
Сообщения: 79
Зарегистрирован: 24 сен 2012, 17:29
Благодарил (а): 1 раз

Re: Кривой PinBlock если разные ПАНы на полосе и чипе

Непрочитанное сообщение Zlobny »

Чесно говоря, не сталкивался с такой ситуацией, чтоб на чипе и полосе были разные пины, но может поможет вот это:
На DDC у меня вроде получилось соорудить аналог FitSwitch. По крайней мере он успешно раскидывает операции на чип/полосу/cardless.

Для чипа полосы есть такой вариант:
После стейта CR
Кстати с такими параметрами:
Read Conditions (composite) 000
Read Condition A 002
Read Condition B 002
Read Condition C 002
Read Condition D 002
Pre-head 001
Уходим на стейт @L, где пишем в буфер 290 = 00
State Type @L
Good Operation Next State XXX
Buffer ID 290
Value 048
Value 048
Далее идем на стейт Begin ICC Init
State type SC
Unit Number 001
Operation 070
и тут есть два параметра:
ICC Initialization Started Next State Number ХХХ
ICC Initialization Not Started Next State Number УУУ
Там соответственно мы разруливаем в разные стороны чиповые и полосатые операции.
Если карта чиповая, то по параметру Started она должна уйти на стейт @L, где мы перезапишем буфер 290 = 01
State Type @L
Good Operation Next State XXX
Buffer ID 290
Value 048
Value 049
Потом используя стейт @K можно попробовать разбить чиповые и полосатые операции на разные группы и формировать для них пин-блоки по отдельности.
State Type @K
Buffer ID 290
Network Fault Next State
Next State if Value = XX ХХХ
Next State if Value = XX YYY
Next State if Value = XX
Аватара пользователя
vvn
Специалист
Сообщения: 309
Зарегистрирован: 17 ноя 2011, 14:15
Поблагодарили: 24 раза

Re: Кривой PinBlock если разные ПАНы на полосе и чипе

Непрочитанное сообщение vvn »

nerub1an писал(а):стейт 'k - Smart FIT Check State'
- @B аналог для DDC.
Вечно молодой, вечно пьяный...
Ответить