Как вы предоставляете ключи шифрования для демона или сервиса? - PullRequest
1 голос
/ 10 февраля 2012

Я пытаюсь найти решение проблемы «курицы и яйца», с которой я столкнулся в проекте, над которым я работаю для нового предприятия.

Рассматриваемые системы передают кредитную картуданные и номера карт и т. д. должны храниться в базе данных в зашифрованном виде.Чтобы соответствовать требованиям PCI, у нас есть номера, зашифрованные уникальными парами ключей для каждого «торговца», поэтому, если один торговец скомпрометирован, он не сможет получить доступ к данным держателя карты другого продавца.

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

Немного предыстории в системе:

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

Для того, чтобы демон былвозможность расшифровать данные, которые я рассматривал следующим образом:

  • Установите файл парольной фразы, аналогично тому, как .pgpass работает
  • Сохраните файл в домашнем каталоге дляпользователь демона
  • Установите права доступа 0600 для файла
  • Настройте систему контроля целостности файла, такую ​​как Tripwire, для уведомления группы безопасности (или аналогичной) о любых изменениях в файле или разрешениях.
  • Отключить вход в систему для пользователя демона, поскольку он используется только для процесса.

Учитывая вышесказанное, мне интересно, достаточно ли этого.Очевидно, что слабость заключается в том, что системные администраторы - их мало (т.е. 2) доверяют в защищенных системах - учитывая, что они могут повысить свои права доступа (т. Е. Получить root) и затем изменить владельца файлов или разрешения на чтение.ключевая фраза - однако, опять же, это, вероятно, что-то, что можно смягчить с помощью мониторинга изменений контрольных сумм для файлов, контрольных сумм FIM и т. д.

Так что я поступаю неправильно или есть другие предложения о том, как обращатьсяэто?

1 Ответ

2 голосов
/ 21 февраля 2012

Не уверен, какая помощь вам будет оказана, поскольку вашей целью является соответствие PCI-DSS, человек, которого вам нужно убедить, это ваш QSA.

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

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

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

...