Как избежать общего симметричного ключа и проблем с его обслуживанием? - PullRequest
1 голос
/ 11 августа 2011

Деловой партнер реализовал следующее:

  1. Веб-сайт A использует симметричный ключ для шифрования контактных данных пользователя.
  2. Веб-сайт A перенаправляет на сторонний веб-сайт B с зашифрованными данными в строке запроса.
  3. Сайт B расшифровывает данные и использует их для возобновления транзакции.

Итак, симметричный ключ хранится в 2 местах.

Теперь у нас есть требования для создания веб-сайта C, который будет аналогичен веб-сайту A. Веб-сайт C также должен шифровать данные и передавать их на веб-сайт B.

Таким образом, симметричный ключ должен храниться в 3 местах.

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

Есть ли лучший способ достичь того же результата?

В конечном итоге нам необходимо безопасно передавать данные с различных веб-сайтов на веб-сайт B.

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

Я предлагаю вам работать по-другому с системой открытых и закрытых ключей. Они предназначены для решения вашей проблемы. Такие ключи позволяют парам серверов динамически создавать собственный симметричный ключ для безопасной связи.

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

1 голос
/ 11 августа 2011

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

В любом случае, вот как вы это делаете.

  1. Создание целого ряда паролей для всех сайтов - каждый сайт имеет свой пароль.
  2. Вы генерируете случайный пароль и шифруете им данные.
  3. Зашифруйте только что сгенерированный пароль, по одному разу для каждого сайта.
  4. Каждый веб-сайт затем использует свой личный ключ для расшифровки пароля, а затем использует этот пароль для расшифровки реальных данных.

На шаге 1 вы можете использовать симметричные или открытые / закрытые ключи, решать только вам.
Для шага 2 вы используете симметричный пароль.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...