Java Security Framework - PullRequest
       14

Java Security Framework

0 голосов
/ 28 июня 2011

Я новичок в платформе Java.Мне нужно работать с некоторыми средами безопасности Java как для настольных приложений, так и для веб-приложений.Теперь мне нужно знать, какие фреймворки мне следует изучить для настольных приложений (предположим, для Java SE или Java EE) и для веб-приложений (предположим, для JSP)?

Ответы [ 2 ]

7 голосов
/ 28 июня 2011

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

Только некоторые из тем, которые будут включены, будут: аутентификация, авторизация и аудит (AAA), безопасность данных при передаче и в состоянии покоя, отсутствие отказа от авторских прав, безопасность транспортного уровня, безопасность платформы (например, управление привилегиями платформы).

Двумя наиболее распространенными средами безопасности Java являются Spring Security и Apache Shiro .Обе они затрагивают ряд вышеупомянутых тем, но они представляют собой фреймворки. Это означает, что вам необходимо определить архитектуру и политики безопасности, а затем настроить / расширить фреймворки в своем конкретном домене.

Bouncy Castle предоставляет кучуготовая криптография, в том числе совместимая с Java Cryptography Extension (JCE) - она ​​также соответствует стандарту FIPS 140-2, но не сертифицирована.Существует целая другая игра / индустрия для тех, кто продает сертифицированные решения.

Вот пример - допустим, что ваше настольное приложение будет использовать смарт-карту с сертификатом X.509 для получения доступа и взаимодействияс веб-приложением.В этом случае у вас есть несколько вещей, связанных с безопасностью смарт-карты - PIN-коды, шифрование и т. Д. Затем вы можете использовать сертификат клиента на стороне сервера и поставщика аутентификации X.509 на стороне сервера.Вы можете даже тогда иметь некоторые процедуры авторизации, основанные на Отличительном имени, предоставленном в сертификате.Вы найдете доступ к хранилищу доверенных сертификатов, провайдеров аутентификации, управление доступом на основе ролей и т. П. В вышеупомянутых инфраструктурах безопасности - но вы должны собрать их воедино.

Возможно, вы также захотите посмотреть @ OWASP для Интернетарекомендации по безопасности: https://www.owasp.org/index.php/Main_Page

Если вы отвечаете за предоставление решения по безопасности и начинаете с рассмотрения основ, я должен предупредить вас, что между экспертами по безопасности существует пробел в обмене знаниями /аналитики и разработчики программного обеспечения - то есть люди, которые рассказывают вам о том, как использовать слабые места, обычно не являются теми людьми, которые говорят вам, как настроить Spring Security или использовать JCE API.

Приличная стратегия смягчениявзглянуть на некоторые из решений «оболочки безопасности», которые по сути создают небольшие анклавы с закаленными / защищенными точками входа в анклав.Примером такого продукта может быть Layer-7 , который обычно используется в качестве шлюза безопасности веб-служб.

Удачной охоты!

1 голос
/ 28 июня 2011

Доступно несколько рамок:

Если вы создаете веб-приложение вместе с Spring, я бы порекомендовал взглянуть на пакет Spring Security, поскольку он прекрасно интегрируется в другую среду Spring. Также у JBoss Seam есть несколько интересных подходов.

Также некоторые связанные ссылки на стек-потоки:

И конечно:

...