Эм... Поправте меня если не так, у вас данные шифруются на сервере и расшифровываются на контроллере ключем, который там зашит. Получается ключ всегда один и не меняется?
Если не меняется, то от кого вы защищаете зашифрованные данные?
Можно попробовать такой вариант:
1) В web-приложении сделать шифрование данных симметричным алгоритмом на стороне клиента
2) Админ и программист не должны участвовать в генерации ключей шифрования для алгоритма
3) Пользователям раздаются ключи для доступа к информации.
Итого:
1) Данные в базе хранятся в зашифрованном виде
2) Данные между БД и приложением ходят в зашифрованном виде
3) Ключи хранятся у пользователей и никуда не передаются