Ключ от зашифрованных данных

  • Автор темы Дмитрий Бухтяк
  • Дата начала

Дмитрий Бухтяк

Guest
Ключ от зашифрованных данных

Изначально задача состоит в шифровании определенных полей базы данных. Шифрование в обе стороны.

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

Кто как считает?
 

Фанат

oncle terrible
Команда форума
купить выделенный сервер, сервер поставить в сейф, сейф запереть, ключ выбросить
 

Фанат

oncle terrible
Команда форума
серьёзно такие вопросы не задают.
серьёзно можно задать вопрос, только если умеешь мыслить логически.
а если умеешь мыслить логически, то идея шифровать что-то в базе, а рядом класть ключ, просто не придёт в голову.

Тем более, что разговор идет, разумеется, о шаред-остинге?
 

Дмитрий Бухтяк

Guest
Это выделенный сервер в данный момент. Но возможно в будущем я сталкнусь с такой же задачей на шаред-хостинге
 

Alexandre

PHPПенсионер
максимально безопасные варианты хранения ключа от зашифрованных данных
в принципе быть не может
шифрование - симметричное?

Или может просто ограничиться тем, что положить файл с ключем на уровень выше относительно document root
как вариант - возможно, но не приемлемо для шаред-хостинга

ЗЫ! если есть доступ к коду скриптов, то всегда можно вычислить алгоритм шифрования и ключ. Как вариант использовать любой закрытый модуль ( закодированный пхп, классы джава, утилита на с++ ), который
- вычисляет ключ или вытаскивает из файла, который спрятан где-то в /vars/mydir/key.bin
- выполняет шифрование
 

Дмитрий Бухтяк

Guest
Автор оригинала: Alexandre
в принципе быть не может

как вариант - возможно, но не приемлемо для шаред-хостинга
С этим согласен, разумеется.

Как вообще поступают умные люди в таком случае?
 

Alexandre

PHPПенсионер
Как вообще поступают умные люди в таком случае?
ЗЫ! если есть доступ к коду скриптов, то всегда можно вычислить алгоритм шифрования и ключ. Как вариант использовать любой закрытый модуль ( закодированный пхп, классы джава, утилита на с++ ), который
- вычисляет ключ или вытаскивает из файла, который спрятан где-то в /vars/mydir/key.bin ну и название иное....
- выполняет шифрование c известным ему алгоритмом
 

Фанат

oncle terrible
Команда форума
можно всунуть аппаратный ключ в сервер. HASP какой-нибудь
 

Дмитрий Бухтяк

Guest
Как его потом получить в php?
 

Alexandre

PHPПенсионер
Ром, При желании HASP можно сломать, вернее съэмулировать. HASP - это устройство, которое аппаратным образом хранит половинку ключа. Одну половинку ключа прописывает Поставщик, вторую Пользователь ключа. Для получения инфы из HASP необходимо соответствующее ПО. ПО поставляется в закрытых модулях (вместе с хаспом).

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

Конечно, можно и дизассемблировать модуль... Все зависит от ценности данныхЮ хранимых в БД

-~{}~ 06.02.07 18:13:

Как его потом получить в php?
При приобретении ключа HASP, к нему прилагается модули управления (прописывания и драйверы пользования)

Не знаю как под *nix, но под винду - сам пользовался. Скорее всего есть и под разные версии *nix

Скорее всего лучше использовать интерфейс Java, хотя можно и Си (например съэмулировать модуль на phpswig http://www.swig.org/ http://www.swig.org/Doc1.3/Php.html)
 
Сверху