2014-02-10 2 views
1

У меня есть сервер MYSQL на сервере linux. Я использую функции шифрования AES для хранения данных на сервере БД. Команды, как это те:mysql хранилище ключей шифрования в файле

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', 'usa2010')); 
SELECT CAST(AES_DECRYPT(town, 'usa2010') AS CHAR(50)) town_decrypt from userc; 

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

Есть ли способ не посылать ключ в команде, но, она хранится на файловом (/home/user/key.txt) и поэтому вызов шифрования таким образом, подобный этому:

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', key1)); 

Где ключ1 является ссылкой на файл, в котором хранится ключ?

ответ

0

Похоже, что это был вопрос с БД, поэтому я разместил его там и получил решение. Предложение, которое сейчас тестируется, заключается в создании пользовательской функции (UDF) в C и ее загрузке в mysql. Это, будучи закодированным в C, может выполнить любое действие, которое мне нужно, прочитать файл и получить ключ от него, основываясь на полученном параметре.

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

Смежные вопросы