Carding 4 Carders
Professional
- Messages
- 2,729
- Reaction score
- 1,533
- Points
- 113
До недавнего времени считывание данных кредитной карты было таким же простым, как считывание карты через считыватель (например, один из многих считывающих устройств, созданных ID TECH), и наличие приложения виртуального терминала (или других приложений), поглощающего данные трека по мере их поступления прямо из читателя. Данные, о которых идет речь, будут просто отображаться как нажатия клавиш на экране в незашифрованном виде.
То были времена!
Достаточно сказать, что все изменилось. Сегодня считыватели с магнитной полосой обычно выводят зашифрованные данные через USB (часто в режиме HID, а не в режиме клавиатуры), и большинство считывателей карт сегодня должны работать с чип-картами в дополнение к картам с магнитной полосой. Данные чип-карты имеют форму TLV (теги, длина, значения) и могут выглядеть несколько иначе, чем «обычные старые данные магнитной полосы» прошлых лет. Кроме того, он неизменно зашифрован.
Мы показали как расшифровать данные кредитной карты, используя стандартные алгоритмы расшифровки TDES и AES в сочетании со стандартными (ANSI X9.24) методами получения ключей DUKPT, но мы не говорили о том, как получить декодированную магнитную полосу. данные в первую очередь. Как теперь выглядят «данные магнитной полосы кредитной карты»? Как его получить и расшифровать? Как узнать, какие части зашифрованы?
Ответ на первый вопрос (как выглядят данные магнитной полосы?) Сильно различается в зависимости не только от марки и модели используемого вами устройства для считывания карт, но и от того, была ли сделана транзакция, о которой идет речь, с помощью магнитного смахивания, провал (контактный EMV) или бесконтактное / NFC взаимодействие. В общем, вы делаете гораздо больше, чем просто читаете необработанные данные трека. Вы также получаете KSN (серийный номер ключа), который необходим для расшифровки и сбора различных видов метаданных, относящихся к транзакции. Это правда, вы можете быть заинтересованы только в получении (скажем) необработанных данных дорожки 2, но в процессе их получения вам также придется иметь дело с множеством других данных.
Давайте быстро рассмотрим реальный пример использования подарочной карты Starbucks, которую мне передал испытывающий чувство вины бариста в качестве подделки после того, как неожиданно закончился месопотамский кумкват-абсент латте. Если мы проведем карту Starbucks через устройство чтения карт ID TECH Augusta, работающее в режиме клавиатуры, с открытым окном Блокнота (и курсором в текстовом окне), мы получим следующие данные в Блокноте:
Это намного больше, чем «сырые данные трека». Вы можете распознать замаскированные данные трека (которые начинаются с B% и содержат много звездочек, наконец, заканчивая? *), Но это скрывает основной номер счета (PAN), который на самом деле зашифрован. Большая часть того, что вы здесь видите, - это шестнадцатеричное представление двоичных данных, исходящих от устройства чтения.
Разобрать этот большой блок информации легко, если вы знаете, как это сделать. Самый быстрый способ его декодирования - запустить данные с помощью бесплатного инструмента Parsomatic ID TECH, который представляет собой HTML-форму, которая может отображать все фрагменты данных в понятной форме.
Каждый картридер имеет собственный запатентованный способ представления данных карты. ID TECH представляет данные магнитной полосы в формате, известном как формат MSR с улучшенным шифрованием. Формат включает 26 полей данных; все 26 полей подробно описаны в документе P / N 80000502-001, ID TECH Encrypted Data Output.
Чтобы дать вам представление о том, что находится на карте, давайте рассмотрим первые 5 байтов данных (02 ED 01 80 1F). Согласно Parsomatic, эти 5 байтов содержат следующую информацию:
Первый байт (02) - это просто STX, «начальный» байт. Следующие два байта (ED 01) представляют длину в шестнадцатеричном формате всей полезной нагрузки данных (с прямым порядком байтов: ED 01 фактически означает 0x01ED или 493 байта данных). Тип Card Encode - 0x80, что (на английском языке) означает, что наш читатель считает, что это финансовая карта. Состояние дорожки (значение: 0x1F) - это байт состояния, содержащий восьмибитные флаги, чтобы вы знали, какие дорожки присутствовали на магнитной полосе (их может быть до 3) и какие из них были успешно прочитаны. В этом случае все 3 физических трека были прочитаны успешно, но данные существуют только на треках 1 и 2.
Давайте быстро посмотрим на следующие 5 байтов. Согласно Parsomatic, эти байты и их значения следующие:
На финансовой карте длина дорожки 1 может составлять до 79 байт; Дорожка 2 может иметь длину до 40 байт; Дорожка 3 может быть до 107 байт. В этом случае у нас есть 76 байтов (шестнадцатеричный 0x4C) данных для дорожки 1 и 40 байтов (0x28) данных для дорожки 2. (дорожка 3 имела нулевые байты). Эти длины важно знать не только для синтаксического анализа. из замаскированных данных дорожки, но для определения длин зашифрованных версий дорожек. Зашифрованная длина отличается от фактической длины собственной дорожки, потому что данные дорожки должны быть дополнены до конечной длины, кратной 8 для шифрования TDES или кратной 16 для AES.
Как узнать, зашифрованы ли данные TDES или AES? Эта информация находится в бите 4 байта состояния отправленных данных очистки / маскирования (как показано выше). Также имеется байт состояния отправленных зашифрованных / хешированных данных (показанный выше), чтобы вы знали, присутствуют ли зашифрованные данные трека (и хэши проверки) и существует ли KSN.
Теперь мы переходим к замаскированным данным Track 1 и Track 2, за которыми следуют их зашифрованные версии, за которыми следуют некоторые хеш-данные (в данном случае все нули) и некоторые другие данные (описанные ниже). Обратите внимание, что Parsomatic преобразовал данные дорожки ASCII в шестнадцатеричное представление ниже:
Обратите внимание, что Parsomatic вставляет ссылку «Расшифровать эти данные» рядом с зашифрованными данными (см. выше). Если вы нажмете на ссылку, вы попадете в инструмент шифрования / дешифрования ID TECH , где данные, о которых идет речь, можно просмотреть в расшифрованном виде.
Последние поля данных включают серийный номер считывателя, серийный номер ключа (KSN), LRC, контрольную сумму и ETX (конец передачи). LRC - это просто байтовое значение, представляющее XOR (исключающее ИЛИ) всех байтов данных полезной нагрузки, в то время как контрольная сумма представляет собой однобайтовую арифметическую сумму (очевидно, без учета переполнения) всех байтов в полезной нагрузке. LRC и контрольная сумма могут использоваться для проверки целостности полезных данных. (Их несколько проще и быстрее вычислить, чем правильную CRC.)
Вывод
Как видите, данные магнитной полосы - это гораздо больше, чем просто «данные трека». Мы даже не коснулись значения некоторых полей данных (возможно, мы сможем вернуться к ним в будущем посте). Мы также ничего не сказали о данных EMV (которые определенно будут размещены в другом посте). Но это должно помочь вам начать работу, если вы пытаетесь расшифровать данные, поступающие из устройства чтения кредитных карт ID TECH.
Для получения дополнительной информации (как я уже говорил ранее) обязательно ознакомьтесь с нашей технической документацией по формату данных Enhanced Encrypted MSR: ID TECH Encrypted Data Output.
Подробнее https://idtechproducts.com/technical-post/how-to-decode-magstripe-data/
То были времена!
Достаточно сказать, что все изменилось. Сегодня считыватели с магнитной полосой обычно выводят зашифрованные данные через USB (часто в режиме HID, а не в режиме клавиатуры), и большинство считывателей карт сегодня должны работать с чип-картами в дополнение к картам с магнитной полосой. Данные чип-карты имеют форму TLV (теги, длина, значения) и могут выглядеть несколько иначе, чем «обычные старые данные магнитной полосы» прошлых лет. Кроме того, он неизменно зашифрован.
Мы показали как расшифровать данные кредитной карты, используя стандартные алгоритмы расшифровки TDES и AES в сочетании со стандартными (ANSI X9.24) методами получения ключей DUKPT, но мы не говорили о том, как получить декодированную магнитную полосу. данные в первую очередь. Как теперь выглядят «данные магнитной полосы кредитной карты»? Как его получить и расшифровать? Как узнать, какие части зашифрованы?
Сегодня кард-ридеры обычно выводят зашифрованные данные через USB (часто в режиме HID, а не в режиме клавиатуры), и большинство современных карт-ридеров должны работать с чип-картами в дополнение к картам с магнитной полосой.
Ответ на первый вопрос (как выглядят данные магнитной полосы?) Сильно различается в зависимости не только от марки и модели используемого вами устройства для считывания карт, но и от того, была ли сделана транзакция, о которой идет речь, с помощью магнитного смахивания, провал (контактный EMV) или бесконтактное / NFC взаимодействие. В общем, вы делаете гораздо больше, чем просто читаете необработанные данные трека. Вы также получаете KSN (серийный номер ключа), который необходим для расшифровки и сбора различных видов метаданных, относящихся к транзакции. Это правда, вы можете быть заинтересованы только в получении (скажем) необработанных данных дорожки 2, но в процессе их получения вам также придется иметь дело с множеством других данных.
Давайте быстро рассмотрим реальный пример использования подарочной карты Starbucks, которую мне передал испытывающий чувство вины бариста в качестве подделки после того, как неожиданно закончился месопотамский кумкват-абсент латте. Если мы проведем карту Starbucks через устройство чтения карт ID TECH Augusta, работающее в режиме клавиатуры, с открытым окном Блокнота (и курсором в текстовом окне), мы получим следующие данные в Блокноте:
Code:
02ED01801F4C2800839B%*6010********8765^0254/SERVICERECOVERYUSD^*******************************?*;6010********8765=********************?*95025C86987E4F7DD07D58730EB79FDFB90AB7F23E6ECA6F4F04A67BF511EE13F950903BDE77624680C460E9C36C4F9136256BB93A38CB98F95626DCFAF9335CE0A213074CC1CD84CC911398E06756C464AB036B694228ADA7EC018F495A013AF8A04C976288FE2F80271E6E53D987DE19ACA2707BFF2C78000000000000000000000000000000000000000000000000000000000000000000000000000000003631335435333536313862994900750002A00308108E03
Это намного больше, чем «сырые данные трека». Вы можете распознать замаскированные данные трека (которые начинаются с B% и содержат много звездочек, наконец, заканчивая? *), Но это скрывает основной номер счета (PAN), который на самом деле зашифрован. Большая часть того, что вы здесь видите, - это шестнадцатеричное представление двоичных данных, исходящих от устройства чтения.
Разобрать этот большой блок информации легко, если вы знаете, как это сделать. Самый быстрый способ его декодирования - запустить данные с помощью бесплатного инструмента Parsomatic ID TECH, который представляет собой HTML-форму, которая может отображать все фрагменты данных в понятной форме.
Каждый картридер имеет собственный запатентованный способ представления данных карты. ID TECH представляет данные магнитной полосы в формате, известном как формат MSR с улучшенным шифрованием. Формат включает 26 полей данных; все 26 полей подробно описаны в документе P / N 80000502-001, ID TECH Encrypted Data Output.
Чтобы дать вам представление о том, что находится на карте, давайте рассмотрим первые 5 байтов данных (02 ED 01 80 1F). Согласно Parsomatic, эти 5 байтов содержат следующую информацию:
STX | 02 |
ДЛИНА | ED 01 |
Тип кодирования карты | 80 |
Статус трека (1F) | 0 ------- 0 Зарезервировано для использования в будущем -0 ------ 1: существует необязательная длина поля 10 в байтах (0: нет поля 10) --0 ----- 1: Данные выборки трека 3 существуют (0: данные выборки трека 3 не существуют) --- 1 ---- 1: Данные выборки дорожки 2 существуют (0: данные выборки дорожки 2 не существуют) ---- 1 --- 1: Данные выборки дорожки 1 существуют (0: данные выборки дорожки 1 не существуют) ----- 1-- 1: Успешное декодирование дорожки 3 (0: сбой декодирования дорожки 3) ------ 1- 1: успешное декодирование дорожки 2 (0: сбой декодирования дорожки 2) ------- 1 1: успешное декодирование дорожки 1 (0: сбой декодирования дорожки 1) |
Первый байт (02) - это просто STX, «начальный» байт. Следующие два байта (ED 01) представляют длину в шестнадцатеричном формате всей полезной нагрузки данных (с прямым порядком байтов: ED 01 фактически означает 0x01ED или 493 байта данных). Тип Card Encode - 0x80, что (на английском языке) означает, что наш читатель считает, что это финансовая карта. Состояние дорожки (значение: 0x1F) - это байт состояния, содержащий восьмибитные флаги, чтобы вы знали, какие дорожки присутствовали на магнитной полосе (их может быть до 3) и какие из них были успешно прочитаны. В этом случае все 3 физических трека были прочитаны успешно, но данные существуют только на треках 1 и 2.
Давайте быстро посмотрим на следующие 5 байтов. Согласно Parsomatic, эти байты и их значения следующие:
Длина дорожки 1 | 4C |
Длина дорожки 2 | 28 год |
Длина дорожки 3 | 00 |
Очистить / замаскировать состояние отправленных данных (83) | 1 ------- Бит 7: 1 серийный номер присутствует; 0 нет -0 ------ Бит 6: 1 ключ шифрования PIN-кода; 0 ключ шифрования данных --0 ----- Бит 5: 1 Чип присутствует на карте. (Первый байт служебного кода был «2» или «6».) Если возможно, используйте транзакцию EMV. --- 0 ---- Бит 4: 0 TDES; 1 AES ---- 0 --- Бит 3: 1 для фиксированного ключа; 0 Управление ключами DUKPT ----- 0 - Бит 2: 1, если присутствуют данные очистки / маскирования Track3 ------ 1- Бит 1: 1, если имеются данные очистки / маскирования дорожки 2 ------- 1 Бит 0: 1, если присутствуют данные очистки / маскирования дорожки 1 |
Статус отправленных зашифрованных / хешированных данных (9B) | 1 ------- Бит 7: если 1, KSN присутствует -0 ------ Бит 6: если 1, присутствует идентификатор сеанса --0 ----- Бит 5: если 1, присутствуют хэш-данные трека 3 (дайджест SHA) --- 1 ---- Бит 4: если 1, присутствуют хэш-данные дорожки 2 (дайджест SHA) ---- 1 --- Бит 3: если 1, присутствуют хэш-данные дорожки 1 (дайджест SHA) ----- 0 - Бит 2: если 1, присутствуют зашифрованные данные дорожки 3 ------ 1- Бит 1: если 1, присутствуют зашифрованные данные дорожки 2 ------- 1 Бит 0: если 1, присутствуют зашифрованные данные дорожки 1 |
Как узнать, зашифрованы ли данные TDES или AES? Эта информация находится в бите 4 байта состояния отправленных данных очистки / маскирования (как показано выше). Также имеется байт состояния отправленных зашифрованных / хешированных данных (показанный выше), чтобы вы знали, присутствуют ли зашифрованные данные трека (и хэши проверки) и существует ли KSN.
Теперь мы переходим к замаскированным данным Track 1 и Track 2, за которыми следуют их зашифрованные версии, за которыми следуют некоторые хеш-данные (в данном случае все нули) и некоторые другие данные (описанные ниже). Обратите внимание, что Parsomatic преобразовал данные дорожки ASCII в шестнадцатеричное представление ниже:
Данные Track1 | 25 2A 36 30 31 30 2A 2A 2A 2A 2A 2A 2A 2A 38 37 36 35 5E 30 32 35 34 2F 53 45 52 56 49 43 45 52 45 43 4F 56 45 52 59 55 53 44 5E 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 3F 2A |
Данные Track2 | 3B 36 30 31 30 2A 2A 2A 2A 2A 2A 2A 2A 38 37 36 35 3D 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 2A 3F 2A |
Зашифрованные данные Track1 | 95 02 5C 86 98 7E 4F 7D D0 7D 58 73 0E B7 9F DF B9 0A B7 F2 3E 6E CA 6F 4F 04 A6 7B F5 11 EE 13 F9 50 90 3B DE 77 62 46 80 C4 60 E9 C3 6C 4F 91 36 25 6B B9 3A 38 CB 98 F9 56 26 DC FA F9 33 5C E0 A2 13 07 4C C1 CD 84 CC 91 13 98 E0 67 56 C4 Расшифровать эти данные |
Зашифрованные данные Track2 | 64 AB 03 6B 69 42 28 AD A7 EC 01 8F 49 5A 01 3A F8 A0 4C 97 62 88 FE 2F 80 27 1E 6E 53 D9 87 DE 19 AC A2 70 7B FF 2C 78 Расшифровать эти данные |
Хеширование трека 1 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Хеширование трека 2 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
Серийный номер считывателя | 36 31 33 54 35 33 35 36 31 38 |
KSN | 62 99 49 00 75 00 02 A0 03 08 |
LRC | 10 |
Контрольная сумма | 8E |
ETX | 03 |
Обратите внимание, что Parsomatic вставляет ссылку «Расшифровать эти данные» рядом с зашифрованными данными (см. выше). Если вы нажмете на ссылку, вы попадете в инструмент шифрования / дешифрования ID TECH , где данные, о которых идет речь, можно просмотреть в расшифрованном виде.
Последние поля данных включают серийный номер считывателя, серийный номер ключа (KSN), LRC, контрольную сумму и ETX (конец передачи). LRC - это просто байтовое значение, представляющее XOR (исключающее ИЛИ) всех байтов данных полезной нагрузки, в то время как контрольная сумма представляет собой однобайтовую арифметическую сумму (очевидно, без учета переполнения) всех байтов в полезной нагрузке. LRC и контрольная сумма могут использоваться для проверки целостности полезных данных. (Их несколько проще и быстрее вычислить, чем правильную CRC.)
Вывод
Как видите, данные магнитной полосы - это гораздо больше, чем просто «данные трека». Мы даже не коснулись значения некоторых полей данных (возможно, мы сможем вернуться к ним в будущем посте). Мы также ничего не сказали о данных EMV (которые определенно будут размещены в другом посте). Но это должно помочь вам начать работу, если вы пытаетесь расшифровать данные, поступающие из устройства чтения кредитных карт ID TECH.
Для получения дополнительной информации (как я уже говорил ранее) обязательно ознакомьтесь с нашей технической документацией по формату данных Enhanced Encrypted MSR: ID TECH Encrypted Data Output.
Подробнее https://idtechproducts.com/technical-post/how-to-decode-magstripe-data/