Защита конфиденциальных данных клиентов в многопользовательской облачной среде - PullRequest
0 голосов
/ 27 июня 2018

Мы создаем многопользовательский облачный веб-продукт, в котором данные клиента хранятся в одном экземпляре базы данных. Есть определенная часть специфичных для клиента бизнес-данных, которые являются очень конфиденциальными. Важные бизнес-данные должны быть защищены таким образом, чтобы никто не мог получить к ним доступ, кроме авторизованных пользователей клиента (ни через приложение, ни через доступ к базе данных напрямую). Клиент хочет убедиться, что даже провайдер платформы (мы) не может получить доступ к определенным данным каким-либо образом. Они хотят, чтобы мы четко продемонстрировали безопасность данных в этом контексте. Я ищу конкретные рекомендации в следующих областях:

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

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

  3. Как лучше всего решить эту проблему?

Благодарим вас за отзыв.

1 Ответ

0 голосов
/ 08 августа 2018

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

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

Для шифрования в Azure вам придется использовать хранилище ключей Azure со своими собственными ключами или собственными ключами клиента. Затем вы настраиваете SQL для использования этих ключей для шифрования данных. см здесь и здесь

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

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

В конце концов, поскольку вы являетесь поставщиком услуг ... клиенты должны были бы вам кое-что доверять:)

...