Ruby on Rails - шифрование содержимого БД и взаимодействие сервер-клиент с использованием ненадежного хоста - PullRequest
1 голос
/ 30 мая 2011

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

1) Зашифрованное содержимое базы данных
2) Безопасная поддержка пользовательских сеансов в соответствии с парадигмой RESTful
3) База данных, размещаемая третьей стороной по дешевке.
4) Используемые ключиРасшифровка содержимого БД для клиента и сервера защищена от проверки сторонним веб-администратором.

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

Как разработчик, есть ли реализация проекта, позволяющая мне честно заверить пользователей, что они единственные, кто может расшифровать и просмотреть их данные?У меня такое ощущение, что ответ здесь «нет», но я подумал, что могу спросить других, прежде чем признать поражение.

Пожалуйста, прокомментируйте лучшие практики (или ваш метод) с использованием архитектуры RoR и RESTful.

Спасибо!

1 Ответ

2 голосов
/ 30 мая 2011

Для (1) взгляните на этот вопрос SO

Для (2) вы можете использовать Devise или AuthLogic

Для (3), Heroku (виртуальный хостинг) и Webbynode (если вы предпочитаете ваш vhost - вам нужно настроить безопасность самостоятельно) довольно дешево.

Для (4), глядя на StrongBox , я думаю, что один из способов заставить его работать - не хранить секрет пользователя в вашей базе данных (возможно, спросить его, когда пользователь входит в систему исохранить его в сеансе пользователя, но я не знаю, возможно ли это.)

...