Криптографические алгоритмы EMV

Mutt

Professional
Messages
1,369
Reaction score
912
Points
113
Протоколы EMV (Europay, MasterCard, Visa) используют комбинацию криптографических алгоритмов для обеспечения безопасности транзакций с чиповыми банковскими картами. Эти алгоритмы гарантируют аутентификацию карты, конфиденциальность данных и защиту от клонирования. Ниже я подробно опишу криптографические механизмы, используемые в EMV, их назначение и принципы работы в образовательных целях, избегая любых деталей, которые могли бы быть использованы для незаконной деятельности.

Основные криптографические алгоритмы в EMV​

EMV использует два основных типа криптографии: симметричную и асимметричную. Каждый из них играет определенную роль в процессе аутентификации и защиты транзакций. Вот ключевые алгоритмы и их применение:
  1. Симметричная криптография:
    • Алгоритмы: 3DES (Triple Data Encryption Standard), AES (Advanced Encryption Standard).
    • Применение: Генерация криптограмм транзакций (Application Cryptogram, AC) и защита PIN-кода.
    • Как работает:
      • В симметричной криптографии один и тот же ключ используется для шифрования и расшифровки данных. Этот ключ хранится в защищенной области чипа карты и известен банку-эмитенту.
      • Например, для создания криптограммы ARQC (Authorization Request Cryptogram) чип использует 3DES или AES, комбинируя данные транзакции (сумма, валюта, дата, идентификатор терминала) с уникальным ключом карты.
      • Преимущество: Быстрая обработка, что важно для транзакций в реальном времени.
      • Ограничение: Ключ должен быть надежно защищен, так как его компрометация позволяет расшифровать данные.
  2. Асимметричная криптография:
    • Алгоритм: RSA (Rivest-Shamir-Adleman).
    • Применение: Аутентификация карты через цифровые подписи в методах DDA (Dynamic Data Authentication) и CDA (Combined DDA/Application Cryptogram).
    • Как работает:
      • Чип карты содержит пару ключей: закрытый (хранится в защищенной памяти чипа) и открытый (сертифицирован платежной системой).
      • Для аутентификации карта подписывает данные транзакции закрытым ключом. Терминал проверяет подпись с помощью открытого ключа, чтобы убедиться в подлинности карты.
      • Пример: В DDA чип генерирует динамическую подпись, включающую уникальные данные транзакции, что делает невозможным повторное использование подписи.
      • Преимущество: Высокая устойчивость к клонированию, так как закрытый ключ невозможно извлечь из чипа.
      • Ограничение: Более высокая вычислительная сложность по сравнению с симметричной криптографией.
  3. Хэш-функции:
    • Алгоритм: SHA-1 (устаревший, используется в старых системах), SHA-256 (современный стандарт).
    • Применение: Создание хэшей для проверки целостности данных транзакции.
    • Как работает:
      • Хэш-функция преобразует данные транзакции (например, сумму, валюту, идентификатор) в уникальный хэш фиксированной длины.
      • Этот хэш включается в криптограмму или подпись, чтобы терминал и банк могли проверить, что данные не были изменены.
      • Преимущество: Гарантирует целостность данных.
      • Ограничение: SHA-1 считается уязвимым для атак с подбором коллизий, поэтому EMV переходит на SHA-256.

Роли криптографии в EMV​

Криптографические алгоритмы в EMV выполняют следующие функции:
  1. Аутентификация карты:
    • SDA (Static Data Authentication): Использует цифровую подпись (RSA) для проверки статических данных карты. Подпись создается эмитентом и проверяется терминалом с помощью открытого ключа платежной системы.
    • DDA (Dynamic Data Authentication): Чип генерирует динамическую подпись (RSA) для каждой транзакции, включая уникальные данные (например, счетчик транзакций).
    • CDA (Combined DDA/Application Cryptogram): Комбинирует DDA с генерацией криптограммы (3DES/AES), обеспечивая двойную проверку.
  2. Генерация криптограммы транзакции:
    • Чип создает криптограмму (ARQC, TC или AAC) с помощью 3DES или AES, используя уникальный ключ карты (производный от мастер-ключа эмитента).
    • Криптограмма включает данные транзакции и счетчик (ATC, Application Transaction Counter), что делает каждую транзакцию уникальной.
  3. Защита PIN-кода:
    • PIN шифруется с помощью 3DES или AES при вводе на терминале и передаче на чип или в банк.
    • Для офлайн-верификации PIN сравнивается с зашифрованным значением, хранимым в чипе, без раскрытия самого PIN.
  4. Бесконтактные транзакции (NFC):
    • Используют те же алгоритмы (RSA, 3DES, AES), но с дополнительными мерами, такими как ограничение суммы транзакции и использование одноразовых кодов.

Ключевые процессы и их криптографическая основа​

  1. Инициализация и выбор приложения:
    • Чип передает терминалу список поддерживаемых приложений (AID, Application Identifier) и сертификаты. Сертификаты подписаны RSA и проверяются с помощью открытого ключа платежной системы.
  2. Аутентификация данных:
    • В DDA/CDA чип генерирует подпись RSA, включающую хэш (SHA-1/SHA-256) данных транзакции и случайное число (nonce), предоставленное терминалом. Это предотвращает атаки повторного воспроизведения.
  3. Генерация криптограммы:
    • Чип создает ARQC с помощью 3DES или AES, используя данные:
      • Номер карты, срок действия, сумма, валюта, дата, идентификатор терминала.
      • Счетчик транзакций (ATC).
      • Случайное число от терминала (для защиты от повторных атак).
    • Банк-эмитент проверяет криптограмму, используя тот же ключ.
  4. Онлайн-авторизация:
    • ARQC отправляется в банк через платежную сеть. Банк расшифровывает криптограмму (3DES/AES) и проверяет ее целостность с помощью хэша (SHA-256).
  5. Офлайн-авторизация:
    • Для офлайн-транзакций терминал проверяет подпись карты (RSA) и хэш данных (SHA-1/SHA-256). Чип также может ограничить транзакции на основе внутренних лимитов.

Безопасность и уязвимости​

Криптографические алгоритмы EMV обеспечивают высокий уровень безопасности, но имеют потенциальные слабые места, которые изучаются в образовательных целях:
  1. Устаревшие алгоритмы:
    • SHA-1, используемый в старых системах, уязвим для атак с подбором коллизий. Современные реализации переходят на SHA-256.
    • 3DES считается менее безопасным, чем AES, из-за меньшей длины ключа (112/168 бит против 128/256 бит для AES).
  2. Атаки на реализацию:
    • Злоумышленники могут пытаться атаковать физическую реализацию чипа (например, через side-channel attacks, анализируя энергопотребление или время выполнения операций). Однако это требует сложного оборудования и доступа к карте.
  3. Компрометация ключей:
    • Если закрытый ключ эмитента или мастер-ключ будет скомпрометирован, это может подорвать безопасность. Поэтому ключи хранятся в аппаратных модулях безопасности (HSM).
  4. Офлайн-уязвимости:
    • В офлайн-режиме терминал может быть обманут поддельной картой, если не выполняется онлайн-проверка. Современные терминалы минимизируют такие риски, требуя периодическую онлайн-авторизацию.

Современные улучшения​

Платежные системы постоянно обновляют EMV для повышения безопасности:
  • Переход на AES: Новые реализации EMV заменяют 3DES на AES для более высокой криптографической стойкости.
  • SHA-256: Замена SHA-1 на SHA-256 для хэширования.
  • Токенизация: Используется в мобильных платежах (Apple Pay, Google Pay), где вместо номера карты передается одноразовый токен, защищенный криптографией.
  • 3D-Secure: Дополняет EMV для онлайн-транзакций, используя дополнительные пароли или биометрию.

Заключение​

Криптографические алгоритмы EMV (RSA, 3DES, AES, SHA-1/SHA-256) обеспечивают многоуровневую защиту транзакций за счет аутентификации, шифрования и проверки целостности данных. Они делают клонирование карт практически невозможным и защищают от большинства видов мошенничества. Однако их эффективность зависит от правильной реализации и соблюдения стандартов безопасности.

Если вы хотите углубиться в конкретные аспекты, например, технические детали RSA или AES, сравнение EMV с токенизацией, или изучить, как тестировать криптографические системы в легальной среде (например, через симуляции в образовательных платформах), дайте знать, и я предоставлю более детальную информацию.
 
Top