Какая информация содержится на магнитной полосе
Вообще карта с магнитной полосой — динозавр, который должен был умереть уже давным давно. На дворе эпоха криптоактивов уже давно 🙂
Но, спасибо самому отсталому рынку, такие карты все еще существуют. Как вы думаете, кстати, какой рынок самый отсталый в смысле карточных технологий? Не поверите… США! Кроме шуток. А самый развитый?.. Не так сложно догадаться. Азиатский! А российский — где-то ближе все-таки к переднему краю. От азиатского немного отстаем, но в целом — весьма на уровне.
С США все просто. Поскольку родина карт — США, то там и больше всего оборудования по приему. А оно до сих пор работает, чего его просто так менять? К тому же, основные платежные системы — родом оттуда, а потому защищают интересы банков США и не принуждают (хотя подталкивают) к замене оборудования.
В общем, содержимое магнитной полосы представляет, скорее, академический интерес. Его и будем сегодня удовлетворять.
Хотя, кстати, в микропроцессорных картах используется блок информации, который устроен точно так же, как и информация на магнитной полосе. Ну да потом как-нибудь расскажу.
На магнитной полосе находится три дорожки, или три трека. Стандартизированы только первые два. Общих стандартов на третий трек нету (хотя отраслевые или частные стандарты существуют). Первые два трека предназначаются только для чтения (хотя технически переписать их можно). А третий предназначался и для чтения и для записи. Но в народ он не пошел. Как-нибудь расскажу о его нелегкой судьбе 🙂
Когда разрабатывались карты, решались две несвязанные, но похожие задачи. Одна задача — для автоматической регистрации пассажиров в авиакомпаниях, вторая задача — автоматизация оплаты. Поскольку разрабатывал оборудование для обеих задач IBM, то он и решил объединить решения. Треки 1 и 2 различаются плотностью записи (трек 1 вмещает больше). Содержимое у них очень похожее, хотя немного различается.
Служебные символы на самом деле могут быть разными, есть несколько вариантов. После стартовых символов идет номер карты — должен быть точно такой же, как и тот, который написан на самой карте. Номер этот называется PAN — Primary Account Number, номер основного счета. Но на практике он никогда не совпадает с номером счета в банке (в силу законодательных требований к номеру счета, например). Вообще-то он состоит из идентификатора банка (Bank Identification Number), номера счета и контрольного символа.
BIN банк получает у платежной системы, когда входит в нее. За каждой платежной системой закреплены свои начальные цифры, поэтому, глядя на номер карты, можно понять, к какой платежной системе она относится.
После PAN идет имя и фамилия держателя (кстати, именно этих данных нет на втором треке, это основная разница). Затем идет три важных блока данных.
Срок действия карты — четыре цифры. Первые две — год, вторые — месяц.
Дальше — т.н. код обслуживания (Service Code) из трех цифр. Первая цифра значит тип карты. Если это 1 или 5 — то карта с магнитной полосой. Если это 2 или 6 — то карта с чипом. Значения 5 и 6 значат, что карта для операций только внутри страны, а 1 и 2 — что можно пользоваться в других странах тоже.
Вторая цифра говорит о правилах проверки карты. Например, 0 — PIN можно не проверять, 2 — PIN проверяется всегда.
Последняя цифра — о правилах обслуживания карты. Можно, например, запретить снимать наличку (только оплата в терминалах) и т.д.
Следующий важный блок — Discretionary Data. Данные для проверки карты. Вообще здесь нет единого стандарта, каждый издатель карты может на свой лад использовать этот блок. Но типично здесь находятся такие значения, как CVV (Card Verification Value) и PVV (PIN Verification Value) вместе с необходимым для него PVKI.
Глубоко копаться не будем, объясню простыми словами, что это за данные и зачем они.
Нужны они для того, чтобы проверить правильность сообщенных данных. Значения CVV и PVV вычисляются с помощью секретных ключей, которые знает только банк-издатель. И то и другое значение устроено так, что получить из них исходные данные невозможно. Чтобы проверить правильность, банк повторяет те же самые действия над введенными данными и получает рассчетные значения PVV и CVV, и сравнивает их с теми, что хранятся у него в базе данных. Если совпадают — то исходным данным можно верить.
В конце трека находится символ LRC (Longitude Redundancy Check) — специальное значение, которое вычисляется по всем остальным символам трека. Задачу он решает чисто техническую — если трек считался с ошибкой, то LRC не совпадет. LRC — довольно простое значение, никакого шифрования, ничего. Просто контроль целостности. Подобные алгоритмы контроля целостности данных используются почти во всех каналах связи.
Ну и последнее, почему данные на треках различаются.
Если у вас поврежден трек 1, но трек 2 успешно читается — в поддавляющем большинстве случаев вы даже ничего не заметите, потому что для банковских карт второй трек главный. Единственное исключение — если карта кредитная, и вы выполняете операцию кредитования. Тогда без первого трека никуда не уедешь. А связано это с тем, что должен печататься кредитный договор (или специальный чек), в котором обязательно указывается имя и фамилия держателя. А взять их можно только с первого трека.
Подписывайтесь на канал «Технологии Денег» в Яндекс.Дзен и в Telegram! У меня еще много интересного материала!
Магнитная полоса — носитель информации с ограниченным объемом памяти. Магнитная полоса может быть изготовлена для различных напряженностей магнитного поля.
По этому параметру существует различие: LoCo (Low Coercitive — низкокоэрцетивные = 300 эрстед) и HiCo (High Coercitive — высококоэрцитивные = 2750 эрстед) магнитные полосы. Различие между магнитными полосами LoCo и HiCo заключается в силе тока, используемого при намагничивании. Для того, чтобы записать информацию на магнитную полосу LoCo используется ток, силой 300 эрстед. Для полосы HiCo применяется ток, силой 2750 эрстед.
Пластиковые карты с магнитной полосой HiCo более надежны и долговечны, так как информация на магнитных полосах HiCo менее подвержена размагничиванию внешними магнитными полями, чем на полосах LoCo.
Магнитная полоса HiCo при производстве пластиковых карт используется в тех случаях, когда требуется защитить информацию на магнитной карте от возможного размагничивания, а также повысить защищенность карт от возможной подделки.
Например, для дисконтной системы (когда карта используется относительно редко) выбирается магнитная полоса LoCo.
Для промышленного предприятия, где магнитная карта используется работниками ежедневно для прохода через проходную, выбирается магнитная полоса HiCo.
По цвету магнитные полосы могут различаються следующим образом: HiCo — полоса черного цвета, LoCo — полоса коричневого цвета. Но также возможен вариант использования полосы LoCo черного цвета.
Магнитная полоса предполагает машинное считывание. Для стандартных считывающих устройств (ридеров) магнитная полоса делается шириной 12,7 мм (0,5 дюйма) и располагается на расстоянии 4 мм от края карточки.
На магнитной полосе находится три дорожки, на которые можно нанести ту или иную информацию. Все три дорожки магнитной полосы используются, как правило, в крупных банковских платежных системах (например, VISA).
В дисконтных системах, в локальных платежных системах, а также в системах доступа кодирование магнитной полосы производится на одну дорожку (обычно вторую).
ВНИМАНИЕ! На магнитные дорожки возможна запись только латинских букв, буквы кириллицы вызывают ошибку в работе записывающего устройства.
Карточка с магнитной полосой, кодирование карты HiCo и LoCo магнитные карты, магнитные карточки, магнитной полосы, магнитные пластиковые карты, запись магнитной полосы, кодировщик магнитной полосы, устройство магнитной полосы, считыватель магнитной полосы, устройства записи магнитной полосы, считыватель магнитной полосы стандарт iso, чтение магнитной полосы, магнитная полосапластиковые карты.
- 1-дорожка — цифробуквенная информация: до 76 знакомест QWERTYUIOPASDFGHJKLZXCVBNM1234567890 : ; = + ( ) — ‘ — (клавиша » ‘ Э) ! @ # ^ & * < > / Все латинские буквы ЗАГЛАВНЫЕ. Информация будет окружена служебными символами: » % » в начале строки, » ? » в конце строки. Служебный знак «?» добавляется в конце каждой строки базы данных и означает конец записи на магнитную полосу и при считывании не отображается.
- 2-дорожка — только цифры: 1234567890 и знак «=», до 37 знакомест пробел отображается на магнитной полосе знаком «=», знак «?» означает конец записи на магнитную полосу и при считывании не отображается. Информация будет окружена служебными символами: » ; » в начале строки, » ? » в конце строки.
- 3-дорожка — только цифры: 1234567890 и знак «=», до 104 знакомест пробел отображается на магнитной ленте знаком «=», знак «?» означает конец записи на магнитную ленту и при считывании не отображается. Информация будет окружена служебными символами: » _ «в начале строки, » ? » в конце строки.
Сегодня будет глубокий технический рассказ про то, как устроена сама пластиковая карта. Понятное дело, что карта — это кусок пластика, с магнитной полосой, впаянной фабричным способом. Речь пойдет о том, что за информация содержится на самой карте, а особенно на ее магнитной полосе. Надеюсь, это также прояснит, какие реквизиты карты нужно хранить втайне и почему.
Если говорить грубо, то магнитная полоса карты дублирует информацию, содержащуюся на поверхности карты и изначально предназначена для автоматизированной обработки карт в точках продаж, банкоматах и прочих электронных устройствах. Вообще, все что касается карт, зарегламентировано серией стандартов ISO 7810, 7811, 7812, 7813, 8583. Со временем стандарты развивались в ответ на все новые и новые способы мошенничества с использованием карт. Как я уже писал, сейчас возможности карт только с магнитной полосой считаются исчерпанными, все ставки в карточной индустрии делаются на EMV-карты, т.е. карты с чипом.
Итак, на лицевой стороне карты имеются: логотип платежной системы, логотип банка-эмитента, номер карты (полный или урезанный), фамилия и имя владельца и срок действия в формате MM/YY. На оборотной стороне карты живут: магнитная полоса, белая полоса с подписью, полным или частичным номером карты и кодом CVC2, а также всякая разная информация от банка-эмитента. Думаю, что с визуальной идентификацией всех этих элементов ни у кого проблем не возникнет.
Теперь про магнитную полосу. На ней содержится от 1 до 3 дорожек (те, кто застал такие вещи как кассеты и магнитные ленты, поймут о чем идет речь). Исторически дорожка №1 была предназначена как раз для банковских карт и до конца прошлого века большинство карт имело только одну эту дорожку. Дорожка №2 задействована для хранения исключительно цифровых данных, за счет чего она имеет меньшую длину и меньше шансов повреждения данных. Дорожка №3 в банковской сфере не используется и предназначения всяких дисконтных карт и прочих систем. На банковских картах может встречаться в случае ко-брендинга, например Visa Aeroflot.
Рассмотрим содержимое дорожек карты на реальном примере (номер карты и прочие данные, конечно же, не настоящие).
Символы, используемые в качестве разделителей, индикаторов начала и окончания последовательности приведены в соответствии со стандартом ISO 7813. Лично я встречал случаи, когда у отдельно взятых банков использовались нестандартные служебные символы.
Итак, из примера выше прекрасно видно, что обе дорожки содержат номер карты и срок ее действия, а первая дорожка еще и имя владельца. Здесь все очевидно, а вот дальше начинается темный лес, точнее данные, которые нельзя увидеть невооруженным глазом. Разберем все эти группы цифр по порядку.
Публичные данные
Сначала поговорим про те цифры, которые видны простому пользователю карты.
Primary Account Number (PAN)
PAN, он же номер карты, представляет собой последовательность из 12-19 символов (мы как-то привыкли к 16 символам), в которых спрятаны платежная система, банк-эмитент и контрольная цифра.
Major Industry Indentifier (MII)
Цифра MII определяет область использования пластиковой карты. Все они описаны в ISO 7812, нас интересуют только те, которые относятся к банковской сфере:
- Карты для путешествий и развлечений (American Express, Diner’s Club, JCB);
- Банковские карты (Visa);
- Банковский карты (Mastercard и Bankcard);
- Розничные карты (Discover Card и UnionPay).
Раньше по первой цифре можно было определить тип карты. Теперь, когда карты выпущены миллиарды, а количество их разновидностей явно не закодировать одной цифрой, достоверно определить тип карты можно только по BINу (ну и на 4 по-прежнему начинаются только карты Visa).
Bank Identification Number (BIN)
Эти 6 цифр (включая MII), определяют партию карт, выпускаемую одним банком-эмитентом. По идее, банку выделяется отдельный BIN под каждую категорию выпускаемых карт (а то и не один). Например, BINы под Visa Classic и Visa Gold одного и того же банка будут различаться. База BINов обновляется ежедневно и не доступна для скачивания простыми гражданами, однако есть интересный сервис, который позволяет пробить BIN и получить информацию по конкретной карте.
Вот какую информацию можно получить по карте Василия Пупкина, использованной в нашем примере:
Bin: 448343
Card Brand: VISA
Issuing Bank: BANK VTB24 (CJSC)
Card Type: DEBIT
Card Level: CLASSIC
Iso Country Name: RUSSIAN FEDERATION
Iso Country A2: RU
Iso Country A3: RUS
Iso Country Number: 643
Bank’s website: www.vtb24.ru
Customer Care Line: 7 (495) 739-77-99 or 8 (800) 100
Таким образом, мы знаем, что карта Василия выпущена банком ВТБ-24 и это дебетовая Visa Classic. Кстати, обладатели «кредитных» карт могут провести эксперимент и пробить BIN по базе. Что они там занятного увидят? То, что у них дебетовая карта Это как раз доказательство того, что не делают у нас кредитных карт, делают только обычные дебетовые с разрешенным овердрафтом.
Check digit
Алгоритм вычисления контрольной цифры переписывать не буду — он достаточно подробно расписан в Педивикии.
Expiration date
Со сроком действия карты все просто. Он всегда имеет формат MM/YY (независимо от страны-эмитента). На всякий случай напоминаю, что карта действует до 23:59 последнего дня указанного месяца.
Скрытые данные
Теперь поговорим про те данные, которые не видны невооруженным глазом, но могут быть прочитаны с магнитной полосы (как правило, они представлены как на первой, так и на второй дорожке).
Service code
Код из 3-х цифр, определяющий возможности или дополнительные требования к карте.
- Первая цифра:
- Разрешены международные транзакции
- Разрешены международные транзакции с использованием чипа (если возможно)
- Разрешены только внутренние транзакции
- Разрешены только внутренние транзакции с использованием чипа (если возможно)
- Запрещены все транзакции кроме банков, с которыми есть 2-х сторонние соглашения
- Тестовая карта
- Вторая цифра:
- Обычная обработка транзакций
- Требуется on-line связь с банком-эмитентом
- Требуется on-line связь с банком-эмитентом кроме случаев 2-х сторонних соглашений
- Третья цифра:
- Без ограничений, для проведения транзакций требуется PIN
- Без ограничений
- Только покупка товаров и услуг, нет возможности получения наличных
- Использовать только в банкоматах, требуется ввод PIN
- Только для получения наличных
- Только покупка товаров и услуг (безнал), требуется PIN
- Без ограничений, требовать PIN при возможности
- Только покупка товаров и услуг (безнал), требовать PIN при возможности
Первая цифра Service code очень важна, т.к. она определяет 2 вещи: сможете ли вы использовать карту за пределами нашей Родины и поддерживает ли карта EMV, т.е. имеет ли она чип. Во втором случае POS-терминалы как раз и выдают кассиру указание вставить карту чипом. Что касается ограничений по зоне использования, я таких карт не встречал, хотя по идее, 19-ти значные Маэстро от Сбербанка как раз должны быть ограничены в плане международных транзакций. Вторая цифра отвечает за 3D-Secure. Если она не равна 0, то при проведении обезличенных транзакций (через Интернет, например) потребуется дополнительная on-line верификация, зависящая от реализации 3D-Secure банком-эмитентом. Третья цифра определяет необходимость подтверждения всех транзакций PIN-ом (даже если карта не имеет чипа), а также ограничения в плане получения наличных с карты. Например, на virtual-картах 3-я цифра обычно равна 2.
В нашем примере видно, что Василий обладает картой с чипом, которая не имеет ограничений по использованию (типичный вариант для Classic и более крутых карт).
PIN Verification Value (PVV)
PVV используется при любых PIN-овых транзакциях следующим образом: банкомат или POS-терминал шифрует введенный PIN и вместе с прочими данными карты (в том числе и PVV) отправляет его в банк, который вычисляет PVV и сравнивает его с переданным. Таким образом гарантируется корректность считывания данных с магнитной полосы, а также обеспечивается некая защита от сгенерированных карт. Понятное дело, что от клонированных карт PVV не защищает, т.к. полностью копируется с карты-оригинала. Если PIN вводится по запросу чипа карты, то PVV в транзакции не участвует, т.к. EMV-карты могут иметь чипы с плавающими (одноразовыми) PIN-кодами.
PVV вычисляется на основе 64-битной строки (16 шестнадцатеричных символов), которая называется Transformed Security Parameter (TSP). Она состоит из 11 последних цифр PAN (не считая контрольной цифры), цифры от 1 до 6, хранящаяся в поле PVKI (индикатор наличия PVV на схеме выше, если в этом поле стоит цифра 0, значит на дорожке нет PVV или PVV равен 0), и 4-х цифр PIN-а. Полученное значение TSP шифруется по алгоритму 3DES ключом в 128 бит. После шифрования мы получаем строку из 16 шестнадцатеричных символов, из которых формируется 4 цифры PVV. Сначала из полученных символов выбираются все цифры, если цифр не хватило, то берутся символы A-F, которые также превращаются в цифры по принципу A=0, B=1,…,F=5.
Хотя алгоритм кажется достаточно простым, взломать его методом reverse engineering невозможно, а подбор PIN-а перебором дает слишком много ложных PVV.
Для нашего примера с картой Василия TSP будет 4301234567819090 (я предположил, что PIN карты 9090). Ключ шифрования, понятное дело, хранится в банке в надежном месте.
Card Verification Value/Code (CVV/CVC)
Первоначально код CVV/CVC хранился исключительно на магнитной полосе и служил для выявления ситуаций повреждения магнитной полосы или грубой подделки карты. Использовался код, понятное дело, при проведении транзакций с предъявлением карты (in person по терминологии платежных систем) и по аналогии с PVV позволял банку подтвердить подлинность карты. Как и PVV, этот код генерируется банком при выпуске карты. В процессе участвуют PAN (9 символов), срок действия карты (в формате MMYY) и 3-х символьный Service code. Шифрование традиционно осуществляется 3DES, в целом алгоритм аналогичен PVV. Если PVV задействуется при проведении транзакций на основе PIN-а, то CVV/CVC используется при безпиновых транзакциях, например, в POS-терминалах.
Из-за того, что CVV/CVC слабо защищен от клонирования, в настоящее время он практически не используется. Например, на карте Василия соответствующее поле равно 0, что как раз и говорит о том, что кода нет.
CVV2/CVC2
В отличие от CVV/CVC, код CVV2/CVC2 используется при дистанционных транзакциях (card not present по терминологии платежных систем), например через Интернет. Именно этот код нанесен на белой полосе на обратной стороне карты. Также в отличие от CVV/CVC, этот код не хранится на магнитной полосе карты, а значит его нельзя скопировать (по крайней мере при помощи скиммера). Код CVV2/CVC2 передается on-line вместе с другими реквизитами пластиковой карты в процессинговый центр, который уже передает его в банк-эмитент для проверки. Проверка осуществляется также, как и для PVV и CVV — банк заново вычисляет значение CVV2 и сравнивает его с полученным.
Генерация кода CVV2/CVC2 осуществляется по тому же алгоритму и с использованием тех же ключей, что и обычного CVV/CVC. При этом есть следующие особенности: срок действия карты берется в формате YYMM, а вместо Service code указываются нули.
Discretionary data
Вообще, все символы, начиная с PVKI, считаются полем Discretionary data, формат которого определяется банком, выпустившим карту. Тем не менее, первые 8 символов этого поля стандартизованы, а остальные могут быть добавлены банком по своему усмотрению и могут содержать ту информацию, которая нужна банку. По всем стандартам безопасности, в частности PCI DSS, любому устройству или информационной системе запрещено хранить где бы то ни было данные поля Discretionary data, т.к. компрометация этих данных черевата большими проблемами для владельца карточки.
Приведенная выше информация в целом является общедоступной, при желании в Интернете можно нарыть необходимые технические подробности и даже описания методики подбора PINа на основе PVV. Я собрал все эти данные в кучу в первую очередь для того, чтобы было понятнее, почему что-то происходит так, как происходит, а не иначе. Буду признателен, если вы поделитесь своими изысканиями на тему содержимого дорожек карты, в частности соответствия цифр Security code реальным возможностям карты.