На самом деле по изображению видно, что на карте не одна, а целых две магнитные полосы разной плотности (Track1 и Track2). Какие данные содержатся на магнитной полосе?
- Номер карты, дата окончания действия, имя владельца карты — все, что физически отпечатано на лицевой стороне карты.
Читайте также: Новые проекты это свежии идеи и интересные новшества в криптоиндустрию. Участвовать в них всегда интересно, а иногда и полезно только у нас - форум криптовалют...
- Сервисный код — три цифры, которые помогают взаимодействующему с картой устройству (терминал или банкомат) понять, какие функции есть у карты, а каких нет. Можно ли использовать эту карту в банкомате, оснащена ли карта чипом.
- Код верификации (CVV, CVC, CID — терминология зависит от платежной системы) — код, аналогичный тому, что написан на обратной стороне карты. Он рассчитывается по алгоритму криптографической чек‑суммы (MDK MAC) с помощью 128-битного ключа от информации, записанной на магнитной полосе. Использование вычисляемого CVV вместо случайного помогает от атак, когда, например, злоумышленник подменяет сервисный код и пытается убедить платежный терминал, что карта не оснащена чипом. Банк‑эмитент получит данные магнитной полосы, сверит их, и контрольная сумма не сойдется с переданным значением в поле CVV. Сверки проходят в защищенном хранилище ключей — так называемом HSM (Hardware Secure Module).
Чип/EMV
На смену магнитной полосе в девяностых пришли смарт‑карты, для популяризации которых создали консорциум EMV (Europay, MasterCard, Visa). Продвигаемая консорциумом идея была проста: используя особенности смарт‑карт, симметричную криптографию и криптографию с открытым ключом, решить все проблемы, связанные с магнитной полосой. Операции со смарт‑картой обеспечивают три степени защиты:
- Аутентификация карты. Проверка платежным терминалом того, что карта подлинная и действительно была выпущена банком N, а не была создана злоумышленниками в домашних условиях.
- Верификация плательщика. Проверка того, что эта карта принадлежит покупателю, стоящему перед платежным терминалом.
- Авторизация транзакции. От карты до банка‑эмитента путь долгий. Банк должен убедиться, что данные операции нигде не были искажены злоумышленниками. Что сумма осталась неизменной, что дата операции корректная, что эта операция уникальна, а не была уже проведена в прошлом месяце.
Давай пройдемся по используемым методам.
Аутентификация карты
Для аутентификации карты используется криптография с открытым ключом по протоколу RSA. Текущие минимальные требования по длине ключа — 1024 бита. Ограниченное число центров сертификации выпускают ключи для банков, а банки их уже привязывают к самим картам. Приватный ключ хранится на самой смарт‑карте в области, недоступной для чтения. Корневые сертификаты устанавливаются на терминал при его настройке. Во время транзакции карта предоставляет публичные ключи платежному терминалу вместе с информацией, зашифрованной приватным ключом в режиме цифровой подписи. Если публичный ключ доверенный и информация, переданная картой, успешно расшифровывается этим ключом, то терминал считает карту аутентичной, выпущенной именно тем банком, который подписал приватный ключ, выданный центром сертификации.
Всего существует три режима аутентификации карты:
- SDA — static data authentication;
- DDA — dynamic data authentication;
- CDA — combined dynamic data authentication.
В первом методе использовалось только одно статическое поле, хранящееся на карте. Оно подписывалось приватным ключом и проверялось терминалом. Это было EMV-поле AIP (application interchange profile). Но консорциум EMV быстро понял, что для популярных в то время офлайновых терминалов (они не выходили в онлайн для сверки криптограммы) этого было явно недостаточно — любой мог клонировать публичный ключ и подписанную статическую строку, чтобы создать подделку.
Следующий метод полагался на динамические данные, приходящие от терминала. Терминал генерирует поле UN — Unique Number, которое подписывается приватным ключом карты. Энтропия этого поля — 232, чего достаточно для защиты от первой атаки.
Однако в 2009 году исследователи из Кембриджского университета представили работу, описывающую так называемую атаку PIN OK (PDF). Специальное устройство, располагающееся между картой и терминалом, совершало атаку «человек посередине» и подменяло одно из полей, которые отправляла карта. Эту подмену нельзя было обнаружить на терминале с помощью описанных выше методов. Для защиты от таких атак консорциум EMV еще до находки исследователей предусмотрел новый механизм защиты — схему CDA. Во время нее терминал может проверить целостность большинства полей, которые передает карта и которые участвуют в фазе под названием «риск‑менеджмент».
Офлайновая аутентификация создавалась в первую очередь для защиты офлайновых платежей, когда терминал не подключен к интернету постоянно. Именно поэтому, если результат работы режимов DDA или CDA не заканчивается успехом, в современных терминалах, подключенных к интернету, это не приведет к отказу транзакции в 99% случаев, так как банк‑эмитент авторизует ее с помощью криптограммы, как описано ниже. Однако некоторые платежные системы рекомендуют обращать внимание на постоянные неуспешные аутентификации, особенно если они происходят в разных терминалах.
Верификация плательщика
Есть два основных способа верификация плательщика: ПИН‑код и подпись. На самом деле их немного больше — ПИН‑код может проверяться в офлайне (на самой карте) и онлайн. Он может быть зашифрован (с помощью симметричного ключа 3DES) или передаваться в открытом виде.
Еще возможен способ верификации NoCVM — то есть отсутствие верификации. Хороший пример таких операций — те, которые не превышают лимиты 3000 рублей и не требуют ввода ПИН‑кода. Их иногда называют Tap & Go.
Другой способ, который в зависимости от платежной системы называется CDCVM или On-Device CVM, делает возможной верификацию на мобильном телефоне владельца карты. Как ты уже догадался, он используется в Google Pay и Apple Pay.
На самом деле по изображению видно, что на карте не одна, а целых две магнитные полосы разной плотности (Track1 и Track2). Какие данные содержатся на магнитной полосе? Номер карты, дата окончания действия, имя владельца карты — все, что физически отпечатано на лицевой стороне карты. Читайте также: Новые проекты это свежии идеи и интересные новшества в криптоиндустрию. Участвовать в них всегда интересно, а иногда и полезно только у нас - форум криптовалют. Сервисный код — три цифры, которые помогают взаимодействующему с картой устройству (терминал или банкомат) понять, какие функции есть у карты, а каких нет. Можно ли использовать эту карту в банкомате, оснащена ли карта чипом. Код верификации (CVV, CVC, CID — терминология зависит от платежной системы) — код, аналогичный тому, что написан на обратной стороне карты. Он рассчитывается по алгоритму криптографической чек‑суммы (MDK MAC) с помощью 128-битного ключа от информации, записанной на магнитной полосе. Использование вычисляемого CVV вместо случайного помогает от атак, когда, например, злоумышленник подменяет сервисный код и пытается убедить платежный терминал, что карта не оснащена чипом. Банк‑эмитент получит данные магнитной полосы, сверит их, и контрольная сумма не сойдется с переданным значением в поле CVV. Сверки проходят в защищенном хранилище ключей — так называемом HSM (Hardware Secure Module). Чип/EMV На смену магнитной полосе в девяностых пришли смарт‑карты, для популяризации которых создали консорциум EMV (Europay, MasterCard, Visa). Продвигаемая консорциумом идея была проста: используя особенности смарт‑карт, симметричную криптографию и криптографию с открытым ключом, решить все проблемы, связанные с магнитной полосой. Операции со смарт‑картой обеспечивают три степени защиты: Аутентификация карты. Проверка платежным терминалом того, что карта подлинная и действительно была выпущена банком N, а не была создана злоумышленниками в домашних условиях. Верификация плательщика. Проверка того, что эта карта принадлежит покупателю, стоящему перед платежным терминалом. Авторизация транзакции. От карты до банка‑эмитента путь долгий. Банк должен убедиться, что данные операции нигде не были искажены злоумышленниками. Что сумма осталась неизменной, что дата операции корректная, что эта операция уникальна, а не была уже проведена в прошлом месяце. Давай пройдемся по используемым методам. Аутентификация карты Для аутентификации карты используется криптография с открытым ключом по протоколу RSA. Текущие минимальные требования по длине ключа — 1024 бита. Ограниченное число центров сертификации выпускают ключи для банков, а банки их уже привязывают к самим картам. Приватный ключ хранится на самой смарт‑карте в области, недоступной для чтения. Корневые сертификаты устанавливаются на терминал при его настройке. Во время транзакции карта предоставляет публичные ключи платежному терминалу вместе с информацией, зашифрованной приватным ключом в режиме цифровой подписи. Если публичный ключ доверенный и информация, переданная картой, успешно расшифровывается этим ключом, то терминал считает карту аутентичной, выпущенной именно тем банком, который подписал приватный ключ, выданный центром сертификации. Всего существует три режима аутентификации карты: SDA — static data authentication; DDA — dynamic data authentication; CDA — combined dynamic data authentication. В первом методе использовалось только одно статическое поле, хранящееся на карте. Оно подписывалось приватным ключом и проверялось терминалом. Это было EMV-поле AIP (application interchange profile). Но консорциум EMV быстро понял, что для популярных в то время офлайновых терминалов (они не выходили в онлайн для сверки криптограммы) этого было явно недостаточно — любой мог клонировать публичный ключ и подписанную статическую строку, чтобы создать подделку. Следующий метод полагался на динамические данные, приходящие от терминала. Терминал генерирует поле UN — Unique Number, которое подписывается приватным ключом карты. Энтропия этого поля — 232, чего достаточно для защиты от первой атаки. Однако в 2009 году исследователи из Кембриджского университета представили работу, описывающую так называемую атаку PIN OK (PDF). Специальное устройство, располагающееся между картой и терминалом, совершало атаку «человек посередине» и подменяло одно из полей, которые отправляла карта. Эту подмену нельзя было обнаружить на терминале с помощью описанных выше методов. Для защиты от таких атак консорциум EMV еще до находки исследователей предусмотрел новый механизм защиты — схему CDA. Во время нее терминал может проверить целостность большинства полей, которые передает карта и которые участвуют в фазе под названием «риск‑менеджмент». Офлайновая аутентификация создавалась в первую очередь для защиты офлайновых платежей, когда терминал не подключен к интернету постоянно. Именно поэтому, если результат работы режимов DDA или CDA не заканчивается успехом, в современных терминалах, подключенных к интернету, это не приведет к отказу транзакции в 99% случаев, так как банк‑эмитент авторизует ее с помощью криптограммы, как описано ниже. Однако некоторые платежные системы рекомендуют обращать внимание на постоянные неуспешные аутентификации, особенно если они происходят в разных терминалах. Верификация плательщика Есть два основных способа верификация плательщика: ПИН‑код и подпись. На самом деле их немного больше — ПИН‑код может проверяться в офлайне (на самой карте) и онлайн. Он может быть зашифрован (с помощью симметричного ключа 3DES) или передаваться в открытом виде. Еще возможен способ верификации NoCVM — то есть отсутствие верификации. Хороший пример таких операций — те, которые не превышают лимиты 3000 рублей и не требуют ввода ПИН‑кода. Их иногда называют Tap
Теги: CSS