
Appendix C - Identifying ISO/ABA and AAMVA Cards For Masking (MSR Only)
eDynamo| Secure Card Reader Authenticator | Programmer’s Manual (COMMANDS)
Page 213 of 245 (
D998200115-17
)
Appendix C
Identifying ISO/ABA and AAMVA Cards For Masking
(MSR Only)
C.1
ISO/ABA Financial Card
The device uses the rules below to determine if a card is an ISO/ABA card (per
ISO 7811-2,2001
),
Card Encode Type (HID | TLV | GATT | SLIP)
. ISO defines a particular and different bit-level character encoding format of the
data on each of the three tracks of the card. The format of the card depends on decisions made by the
entity that issued the card. For example, some organizations may choose to use the ISO Track 1 encoding
format for Track 2 data, or other permutations that do not conform to the standard. The device only
considers ISO Financial masking for cards it classifies as ISO, which it determines according to the
following rules:
1)
If the low level decoding algorithm determines the bit level character encoding for every track
conforms to the ISO format defined for that track, the card is classified as ISO. Otherwise the device
attempts to classify the card as an
, and if the card fails that test, the
device classifies the card as
Other
. A properly encoded ISO card has the following properties:
a)
At least one track must be decodable.
b)
Track 1 must be 7 bits per character.
c)
If Track 2 or Track 3 exist, they must be 5 bits per character.
2)
If the device determines the card is ISO encoded, it then determines the masking behavior for each
track independently. One track may qualify for masking and another may not, according to the
following rules.
3)
For Track 1, the device’s intent is to send the card’s Format Code unmasked, the PAN partially
masked, the Name and Expiration Date unmasked, and the rest of the track masked, with exceptions:
a)
(Never Mask Service Code Only) Service Code is sent unmasked.
b)
If the card’s Format Code, PAN, Name, or Expiration Date are not correctly structured, the
device transmits the rest of the track unmasked starting with the point of discrepancy. The device
defines “correct structure” for Track 1 as follows:
i)
The card’s Format Code, PAN, Name, or Expiration Date do not contain the ‘?’ character
(End Sentinel).
ii)
The Format Code is the first character on the track and is the character ‘B’.
iii)
The PAN has a maximum of 19 digits and ends with character ‘^’ (Field Separator).
iv)
The Cardholder Name has a maximum of 26 characters and is ended by the character ‘^’
(Field Separator).
v)
The Expiration Date has 4 characters.
vi)
The Service Code has 3 characters.
4)
For Track 2, the device’s intent is to send the PAN partially masked, the Expiration Date unmasked,
and most of the rest of the track masked, with exceptions:
a)
(Never Mask Service Code Only) Service Code is sent unmasked.
b)
If the PAN or Expiration Date are not correctly structured, the device sends the rest of the track
unmasked starting at the point of discrepancy. The device defines “correct structure” as follows:
i)
The PAN or Expiration Date does not contain the ‘?’ character (End Sentinel).
ii)
The PAN has a maximum of 19 digits and ends with the character ‘=’ (Field Separator).
iii)
The Expiration Date has 4 characters.
iv)
The Service Code has 3 characters.