шифрование полей базы данных по всей строке, включая bools - PullRequest
2 голосов
/ 30 марта 2011

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

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


В настоящее время планируется использовать MySQL, но возможен Postgres. Приложение представляет собой веб-сайт с подключениями, зашифрованными к приложению и браузеру, и https от приложения к клиенту.


Просто краткое замечание о выборе ответа, поскольку некоторые из ответов могут быть правильными, я выбрал @ Jack's, потому что он не только будет работать, но и нашел интересное предложение в том направлении, которое я не рассматривал. Я действительно ценю весь вклад, спасибо.

Ответы [ 4 ]

3 голосов
/ 30 марта 2011

Существуют сторонние решения для шифрования MySQL, которые могут помочь. Проверьте Gazzang , Vormetric или Пакетный общий . Все они утверждают, что имеют прозрачное шифрование данных для MySQL.

2 голосов
/ 30 марта 2011

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

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

2 голосов
/ 30 марта 2011

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

Конечно, требования к хранилищу резко возрастают, но это только цена входа в систему для запрашиваемой вами безопасности, а не «проблема»

0 голосов
/ 30 марта 2011

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

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