Поле Шифрования Базы Данных - PullRequest
0 голосов
/ 15 февраля 2012

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

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

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

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

Какие дыры в этом подходе?Есть ли альтернативные подходы?

Спасибо большое.

МБ

1 Ответ

0 голосов
/ 27 апреля 2013

Это только назад, когда вы думаете об этом как об отношениях клиент / сервер. Вместо этого рассмотрим Алису и Боба, где Алиса - сервер, а Боб - клиент.

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

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

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