Архитектура защищенного приложения, которое шифрует данные в базе данных - PullRequest
4 голосов
/ 16 апреля 2010

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

Ответы [ 4 ]

8 голосов
/ 16 апреля 2010

Это требование клиента.

Требования заказчика должны быть спроецированы на реальный мир.

Если ваше приложение может считывать некоторые бизнес-данные, и если агрессор получает контроль над вашим приложением, то агрессор может читать эти бизнес-данные.

Ассиметричная криптография не сотворит магию.

3 голосов
/ 16 апреля 2010

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

1 голос
/ 16 апреля 2010

Я не уверен насчет параметров базы данных, но стоит взглянуть на Oracle Advanced Security (OAS). Но ключ хранится не в базе данных, а в кошельке Oracle (под управлением ОС), насколько я могу судить, это трудно компрометировать.

OAS поддерживает шифрование на уровне табличного пространства и на уровне столбца. Все это, он утверждает, что работает без накладных расходов.

1 голос
/ 16 апреля 2010

Посмотрите на этот вопрос , особенно на ресурсы, упомянутые в первоначальном вопросе.

Я могу одобрить книгу как отличный обзор проблем при создании систем такого типа.

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