Intereting Posts
неожиданное «использование» (T_USE) при попытке использовать композитор Удаление файла сервера Как создать ссылку, которая отправляет пользователя на другую страницу, которая затем перенаправляется на другую страницу, связанную со ссылкой? «Примечание: неопределенная переменная: db» при использовании PDO PHP vs NodeJS – текстовая RPG Как заменить двойные буквы на одну букву? PHP, вызов статического метода в свойстве класса Как манипулировать объектом PHP с помощью JQuery Запуск выбора в списке значений, разделенных запятыми, в PHP Случай переключения PHP более 1 значения в случае Перенаправление на страницу входа при завершении сеанса + силекс Форма jQuery AJAX с использованием mail () PHP-скрипт отправляет электронную почту, но данные POST из HTML-формы не определены Как создавать эскизы или предварительный просмотр видео? PHP PDO Подготовленный запрос оператора, не обновляющий запись как отправить твит с помощью twitter 1.1 api и twitteroauth

Хранение данных кредитной карты с помощью mcrypt или GnuPG

У меня есть требование хранить данные кредитной карты (не хранение не является опцией).

Использование mcrypt с mcrypt_dev_random для генерации init_vector требует различного возраста для шифрования / дешифрования, но, по-видимому, является самым «безопасным» вариантом. mcrypt_dev_urandom МНОГО быстрее, но не подходит для длительного хранения – как я читал.

Глядя на GnuPG как на возможную альтернативу и хотелось бы, если это возможно, некоторые мнения / возглавляющие их.

Если вы действительно хотите хранить информацию о кредитной карте безопасно, для нее есть стандарт: Стандарт безопасности данных платежной карты . И это намного больше, чем использование одного конкретного алгоритма шифрования. Он требует, чтобы вы храпили части деталей карты на двух физически отдельных машинах, среди многих других вещей. И даже если вы будете следовать стандарту PCI на письмо, эксперты утверждают, что вы все еще не полностью защищены. Что-то меньшее, чем это, в значительной степени не стоит обсуждать подробно, так как общий уровень безопасности настолько низок, что вряд ли имеет значение.

Помните: первое правило криптографии – «не делайте этого самостоятельно».

MCRYPT_DEV_URANDOM достаточно для надежного шифрования , но «управление информацией о кредитной карте» является гораздо более сложным делом, чем просто « зашифровать» все и позволить Богу разобраться в собственном ».

То, что «не хранение НЕ является вариантом» звучит для меня так, как будто вы (или лучше, те , что выше вас ) делают это неправильно. Вам не следует исследовать это или предложить решение. Не будь падающим парнем.

https://www.pcisecuritystandards.org/merchants/how_to_be_compliant.php

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

Использование mcrypt с mcrypt_dev_random для генерации init_vector требует различного возраста для шифрования / дешифрования, но, по-видимому, является самым «безопасным» вариантом. mcrypt_dev_urandom МНОГО быстрее, но не подходит для длительного хранения – как я читал.

Это показывает некоторые недоразумения. Для одного IV не нужно быть тайным. Качество случайных чисел менее важно.

Но даже для ключей, /dev/urandom достаточно хорош, если он был засеян с достаточной энтропией изначально.