CompuTel -
лучший технологический партнер IBM
по итогам 2003 года

CompuTel -
лучший дистрибьютор
Thales-eSecurity
в регионе EMEA

Использование криптографии для PCI-DSS

Использование криптографии для выполнения требований PCI-DSS

Обсуждение различных криптографических методов, которые могут быть использованы для защиты данных клиента.

Обзор стандарта PCI-DSS

Мошенничество с кредитными картами и страх пострадать от него представляют значительные угрозы для компаний, работающих с кредитными картами, и для торговцев, принимающих их.

Стандарты безопасности данных индустрии платежных карт (PCI-DSS) были разработаны компаниями, работающими с кредитными картами, с целью предотвращения кражи и злоупотребления карточной информацией, а также для того, чтобы развеять беспокойство пользователей относительно незащищенности их карт.

Стандарт охватывает 6 основных областей, разделённых на 12 высокоуровневых требований, представленных ниже:

Создание и поддержка безопасной сетевой инфраструктуры

Требование 1: Разработать и обеспечить поддержку конфигураций межсетевых экранов (firewall) для защиты данных держателя карты.

Требование 2: Не использовать установленных поставщиком оборудования стандартных паролей и других параметров безопасности.

Защита данных держателя карты

Требование 3: Обеспечить безопасность сохраненных данных держателя карты.

Требование 4: Шифровать данные держателя карты, передаваемые через открытые общедоступные сети.

Поддержка программы управления уязвимостями

Требование 5: Использовать и регулярно обновлять антивирусное программное обеспечение.

Требование 6: Разработать и поддерживать системы и приложения безопасности.

Внедрение надежных средств управления доступом

Требование 7: Ограничить доступ к данным держателей карт только служебной необходимостью.

Требование 8: Назначить уникальный идентификатор каждому лицу, имеющему доступ к компьютеру.

Требование 9: Ограничить физический доступ к данным держателей карт.

Регулярный мониторинг и тестирование сетевой инфраструктуры

Требование 10: Отслеживать и контролировать любой доступ к сетевым ресурсам и данным держателей карт.

Требование 11: Регулярно проверять системы и процессы обеспечения безопасности.

Применение Политики информационной безопасности

Требование 12: Поддерживать политику, определяющую правила информационной безопасности.

В данной статье обсуждаются методы безопасности, которые по предположению Thales e-Security, могут быть использованы для защиты данных держателя карты (как установлено в требовании 3), а также выявляются преимущества разных подходов.

Уровни защиты

Метод PCI-DSS, построенный на стандарте ISO 27001, обеспечивает многоуровневую защиту информации держателя карты, а также локальную политику для создания этих уровней.

Сделайте Вашу сеть безопасной, чтобы люди, не имеющие доступ к сети, не смогли зайти в нее
Тщательно проверяйте пользователей, которые имеют доступ к сети, и сфокусируйте Вашу проверку на том, что каждый пользователь может сделать или увидеть
Продолжайте проверять, тестировать и просматривать данные меры безопасности, чтобы быть уверенными в их эффективности
Защищайте данные держателя карты; храните только минимально необходимые данные и сделайте их бесполезными для каждого, кто собирается их украсть
Данные держателя карты

Для защиты данных держателя карты криптография может быть использована на нижнем слое представленной выше таблицы. Это гарантирует безопасность информации, даже если другие слои нарушены.

Нижний слой также является одним из самым сложным в реализации. Для примера, из 82 неудачных оценок, не обеспечивающих выполнение стандарта, 79% не удовлетворили требованию 3 – «Обеспечить безопасность сохраненных данных держателя карты», что явилось обобщенным критерием отрицательных PSI-DSS оценок.

Варианты защиты хранимых данных держателя карты

Одной из наиболее уязвимых частей данных держателя карты является номер карты держателя (также называемый номером карточного счета или PAN). Секция 3.4 стандарта PCI-DSS предоставляет четыре допустимых метода защиты PAN (хотя следует учитывать, что в версии 1.1 данного стандарта точный способ реализации этих методов не определен). Этими методами являются:

  1. стойкие однонаправленные хэш-функции (strong one-way hash functions);
  2. укорачивание (truncation);
  3. использование индексных токенов (index tokens) и шифр-блокнотов (pads);
  4. строгие криптографические алгоритмы, совместно с регламентом и процессами управления ключами.

Стойкая однонаправленная хэш-функция - это математический алгоритм, который преобразует строку символов (в данном случае PAN) в уникальный цифровой «отпечаток» или хэш. При этом никакими вычислительными способами невозможно получить изначальные данные, используемые для его генерации. Таким образом, хэш может безопасно храниться в базах данных. Данный подход может уменьшить стоимость защиты PAN. Полезно обеспечивать следующее:

  • Отсутствие необходимости в повторном использовании PAN для завершения транзакции
  • Отсутствие необходимости в использовании PAN для различных целей в будущем.

Эти два ограничения являются неприемлемыми для многих торговцев и сервис- провайдеров.

Как хакеры атакуют слабые реализации хеширования

Общая ошибка реализации хэширования состоит в использовании только одного PAN для создания хэш. К сожалению, общеизвестно, что 16-ти цифровые PANs начинаются с 6 цифр банковского кода и заканчиваются контрольной суммой. Если хакеры украли базу данных с данными держателя карты, в которой хэш базируется только на одном PAN, то для ее взлома они должны только перебрать все возможные значения PAN и связанные с ними хэш значения. Данный метод называется «перевернутый хэш словарь» («reverse hash dictionary»). Для каждого банковского кода необходимо покрыть только 9 возможных цифр, требующих один миллиард значений или около 20Гбайт памяти. Это под силу любому хакеру и, следовательно, не является сложной задачей для организованной преступной группы. Данную слабость можно частично смягчить, используя хэш технику под названием salting.

Дальнейшие проблемы с хэш-подходом связаны с тем, что для генерации одинаковых хэш-значений используются одинаковые входные данные. Следовательно, данные в слегка различном представлении, например, имя держателя карты (“Mr. J Smith”, “John Smith”, “J P Smith”), не могут включаться в вычисление. Тем не менее, если в хэш заносится слишком мало данных, например, только PAN, то хэш становится слабым и уязвимым перед атаками хакеров.

Хэширование также может страдать от проблем, называемых «коллизиями», где две различные строки входных данных могут быть преобразованы в одинаковый результирующий хэш. В то время как эти коллизии статистически возможны, шансы их возникновения (особенно со строгим коллизио-стойким алгоритмом, таким как, например, SHA-2) практически равны нулю. Однако простой факт того, что они могут произойти, является достаточным условием для непризнания данного подхода некоторыми отраслями бизнеса.

Заметим, что PCI-DSS отличает однонаправленные хэш-функции от стойкой криптографии. Однако однонаправленные хэш-функции все еще являются криптографическими функциями, и различие актуально в том случае, используют ли данные функции криптографические ключи, или нет.


Решение Укорачивание отвергает часть входного поля так, что сохраняются, например, только первые шесть цифр или последние четыре цифры PAN. Данный подход имеет те же недостатки что и хэширование:

  • Не должно быть необходимости в повторном использовании PAN для завершения транзакции.
  • Не должно быть необходимости в использовании PAN для различных целей в будущем.

Главный недостаток состоит в том, что невозможно однозначно распознать покупателя, например, только по последним четырем цифрам номера кредитной карты. Следовательно, укорачивание не позволяет торговцам построить надежную базу данных активности покупателей.


В основе решения Индексных токенов и шифр-блокнотов лежит уникальный индексный токен. Он создаётся из первоначального PAN и данных держателя карты путём шифрования, используя шифр-блокнот (единожды используемый ключ шифрования, который имеет такую же длину, что и подлежащие шифрованию данные) и далее сохраняется. После этого уникальный индексный токен выступает в качестве ссылки на покупателя, при этом доступ к PAN жестко контролируется. Из-за необходимости защиты секретного шифр-блокнота этот подход накладывает дополнительные расходы на управление безопасностью, связанной со стойкой криптографией, и в дальнейшем добавляет некоторые значительные проблемы. Например, он не гарантирует уникальность индексных токенов и поддержку шифр-блокнота, который может стать чрезвычайно большим.

Токены могут быть эффективным средством управления клиентскими данными, которые разделены между торговцем и поставщиком услуг. В будущем, после начальной (зашифрованной) передачи данных держателя карты, торговец может использовать только токен для ссылки на покупателя.


Финальный одобренный метод - это использование стойкой криптографии, в котором для защиты данных держателя карты используется значение секретного ключа, применяемого в определенном алгоритме шифрования. Криптографические алгоритмы позволяют строить утонченные системы защиты, используя такие техники как ключи шифрования ключей (KEK), шифровальные зоны и шифровальные уровни. Существует множество различных алгоритмов, которые можно использовать, однако, решение, предпочитаемое финансовой индустрией, это «Triple data encryption standard», называемый triple DES и обычно записываемый как 3DES.

Алгоритмы шифрования

Обычно на вход алгоритму шифрования подается сообщение m (открытый текст), которое с использованием шифровального ключа k(E) преобразуется в криптограмму с (зашифрованный текст). Идея состоит в том, чтобы криптограмма не имела ничего общего с сообщением и была таковой, чтобы любой подслушавший её человек не смог воспроизвести m. Для того чтобы сообщение можно было восстановить, зашифрованный текст нужно пропустить через алгоритм дешифрования, используя дешифровальный ключ k(D). Это проиллюстрировано на диаграмме:

Существует несколько методов использования стойкой криптографии; например, может быть применен «blanket» способ путем шифрования всех хранимых на диске или магнитной ленте данных и дешифрования данных по требованию. На первый взгляд может показаться, что данный подход можно легкао применить, однако существуют значительные недостатки, которые следует тщательно рассмотреть:

  • Приложению, требующему доступ к любому полю записи данных держателя карты будет предоставлен доступ ко всей записи данных держателя карты, включая PAN. Это предполагает нежелательное многократное использование PAN.
  • Шифровальная технология должна быть очень быстрой и широко масштабируемой. Это связано с тем, что зашифрованных перед сохранением и дешифрованных перед использованием данных будет намного больше, чем просто данные держателя карты.
  • Метод не обходит стороной необходимость анализа всей хранимой информации и определения частей данных, которые будут защищены. Все еще должен использоваться контроль на ограничения доступа пользователей или приложений к PAN и данным держателя карты.

Гибкое, контролируемое и безопасное окружение может быть создано только тогда, когда строгая криптография, базируемая на аппаратном решении, сочетается с детальным анализом и рациональным хранением данных держателя карты.

При использовании криптографического подхода критическим компонентом, подлежащим защите, является мастер-ключ (master key). С использованием аппаратно-базируемого решения, мастер ключ никогда не попадает в сеть и хранится во взломо-устойчивом модуле безопасности Hardware Security Module (HSM), таком как Thales HSM8000. Мастер ключ резервируется путем разделения на компоненты между защищенными смарт картами, которые могут быть заперты в сейф.

Пользователи или приложения, требующие доступ к незашифрованным данным держателя карты, обязаны всегда направить зашифрованные данные в HSM, так как только он может произвести дешифрование. В дальнейшем HSM может создать безопасные защищенные аудиторские записи, которые будут сохранены хостовой системой. Важной задачей сетевой безопасности в данном окружении становится обеспечение контролируемого доступа приложения к HSM.

Любой хакер, загрузивший или даже укравший физическую копию базы данных держателя карты (например, путем кражи резервных записей), обнаружит ее бесполезной без ключей, защищенных модулем HSM. Это является основной характеристикой HSM, разработанной таким образом, что ключи никогда не появляются в открытом виде.

Если случится немыслимое и будет украден сам HSM, модуль можно настроить на уничтожение хранимых в нем ключей при попытке передвижения.

Использование аппаратно-базируемой стойкой криптографии на основе алгоритма 3DES, предоставляет и другие значительные преимущества:

  • Он-лайн торговцы могут безопасно хранить данные держателя карты своих покупателей, делая процесс покупки проще и быстрее, без необходимости повторно вводить информацию карты.
  • Шифрование индивидуальных полей данных внутри клиентской записи (например, шифрование по столбцам) даёт точный контроль над тем, какие данные были зашифрованы. Следовательно, разные части записи держателя карты могут быть зашифрованы с разными ключами, предоставляя различным приложениям и пользователям доступ только к запрашиваемым ими данным.
  • Уникальные клиентские идентификационные индексы могут быть созданы путем шифрования PAN в HSM. Индексы всегда будут уникальными и могут использоваться любыми приложениями, так как для работы с ними нет необходимости в доступе к HSM. При этом проводить «атаку перевернутого словаря» (reverse dictionary attack) на PAN, зашифрованный алгоритмом triple DES, не представляется возможным.
  • Использования HSM с целью защиты данных держателя карты позволяет гарантировать выполнение требований PCI-DSS.

    Выводы

    Использование стойкой криптографии - идеальная комбинацию гибкости и контроля данных клиента. В бюллетене CISP “Clarifications to PCI Requirements 3.4 and 10.2-10.3” от VISA Inc. было установлено “Использование криптографии для обеспечения нечитабельности данных держателя карты является наиболее эффективным и легко применимым способом для обеспечения безопасности данных”.

    Thales e-Security является одним из наиболее успешных и зарекомендовавших себя мировых поставщиков Hardware Security Modules (HSMs) для стойкой криптографии. Thales может предоставить модули HSMs, консалтинговые услуги и полное программное обеспечение для реализации стойкого криптографического решения для PCI-DSS.

    Свыше половины банков мира и подавляющее большинство российских банков в настоящее время используют технологию Thales. Более 70% всех мировых карточных транзакций происходят с использованием Thales HSM.


    О КОМПАНИИ / НОВОСТИ / РЕШЕНИЯ / УСЛУГИ / ПОСТАВКИ / ПАРТНЕРЫ / КОНТАКТЫ

    Copyright (c) 1998-2006 CompuTel All Rights Reserved
    Other trademarks remain property of their respective owners.
    Tel: (495) 234-1931, E-mail: postmaster@computel.ru, http://www.computel.ru/