LINUX.ORG.RU

Шифрование таблиц MySQL

 


0

1

Сап, лор! Тривиальная задачка вроде. Хочу шифровать пользовательские персональные данные в таблицах мускула. На случай если хитрый хакер сольет бд. Как это делается у взрослых дяденек?


Ответ на: комментарий от kvitaliy

2 чая этому господину. Лор поиском прошел, а до офиц документации не добрался, лол )

noiseme
() автор топика

Хочу шифровать пользовательские персональные данные в таблицах мускула. На случай если хитрый хакер сольет бд. Как это делается у взрослых дяденек?

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

Если каждый раз спрашивать накладно, то генерируешь случайный ключ сессии, спрашиваешь у пользователя пароль, расшифровываешь ключ записей БД, шифруешь его ключом сессии и в таком виде хранишь. Каждые 5-10 минут меняешь ключ сессии и перезашифровываешь ключи БД в сессии новым ключом.

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

Пассы же хранят с солью

Нет. Хранят только хэши.

no-such-file ★★★★★
()
Последнее исправление: no-such-file (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.