Безопасно ли кэшировать информацию о безопасности? - PullRequest
2 голосов
/ 20 марта 2012

Недавно я проводил некоторые исследования популярных сред безопасности Java (Spring Security и Apache Shiro). Я заметил, что обе платформы поддерживают кеширование. Apache Shiro даже описал свой модуль:

Кэширование является гражданином первого уровня в API Apache Shiro, чтобы гарантировать, что операции по обеспечению безопасности остаются быстрыми и эффективными.

Мои вопросы:

  • Безопасно ли кешировать информацию о безопасности, например, в Ehcache?
  • Это популярный подход?
  • Должны ли мы думать об эффективности, когда речь заходит о безопасности?
  • Зачем рисковать?

Ответы [ 2 ]

1 голос
/ 21 марта 2012

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

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

1 голос
/ 20 марта 2012

Если вы кешируете все в памяти Я думаю, что это безопасно. Проблема в том, что ehcache будет хранить данные на диске, и кто-то тоже будет иметь доступ к машине.

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

Если вы кешируете на стороне сервера - сделайте это.

...