2011-06-28 7 views
0

Je suis un peu nouveau sur la plate-forme Java. Je dois travailler avec certains frameworks de sécurité Java pour les applications de bureau et les applications web. Maintenant, j'ai besoin de savoir, quels cadres dois-je étudier pour l'application de bureau (supposons pour Java SE ou Java EE) et pour l'application web (supposons pour JSP)?Java Security Framework

Répondre

1

Il existe plusieurs cadres disponibles:

Si vous construisez un webapplication ensemble avec le printemps, je recommande de regarder à la suite Spring Security car elle s'intègre parfaitement dans l'autre environnement Spring. JBoss Seam a aussi des approches intéressantes.

également des liens stackoverflow connexes:

Et bien sûr:

7

Je suppose que vous créez un s global l'architecture de sécurité, régissant les connexions à distance et d'autres aspects du système global. La sécurité des applications de bureau et la sécurité Web vont être différentes, mais résolvent encore beaucoup des mêmes problèmes à leur manière. L'authentification, l'autorisation et l'audit (AAA), la sécurité des données et le repos, la non-répudiation, la sécurité de la couche de transport, la sécurité de la plate-forme (par exemple, la gestion des privilèges de plate-forme) sont quelques-uns des sujets à inclure. Les deux structures de sécurité Java les plus courantes sont Spring Security et Apache Shiro. Ces deux éléments abordent un certain nombre de sujets ci-dessus, mais ce sont des frameworks, ce qui signifie que vous devez définir l'architecture et les stratégies de sécurité, puis configurer/étendre les frameworks dans votre domaine spécifique.

Bouncy Castle fournit un tas de crypto standard, y compris une extension Java Cryptography (JCE) conforme. Il est également conforme à la norme FIPS 140-2, mais n'est pas certifié. Il y a un tout autre jeu/industrie sur ceux qui vendent les solutions certifiées.

Voici un exemple - disons que votre application de bureau va utiliser une carte à puce avec un certificat X.509 pour accéder et interagir avec l'application Web. Dans ce cas, vous avez un tas de choses de sécurité à faire avec la carte à puce - PINs, cryptage, etc. Vous pouvez alors utiliser le certificat client côté serveur et un fournisseur d'authentification X.509 côté serveur. Vous pouvez même avoir quelques routines d'autorisation basées sur le nom distinctif fourni dans le certificat. Vous trouverez l'accès au magasin sécurisé, les fournisseurs d'authentification, le contrôle d'accès basé sur le rôle et autres dans les cadres de sécurité ci-dessus - mais vous devez assembler les pièces.

Vous pouvez également jeter un coup d'oeil @ OWASP pour les directives de sécurité Web: https://www.owasp.org/index.php/Main_Page

Si vous êtes responsable de fournir la solution de sécurité et vous commencez à regarder les cadres, je vous donner une tête Il existe un fossé de partage des connaissances entre les experts/analystes de sécurité et les développeurs de logiciels: les personnes qui vous expliquent comment exploiter ces faiblesses ne sont généralement pas les mêmes que celles qui vous expliquent comment configurer Spring Security ou utiliser l'API JCE. .

Une stratégie d'atténuation décente consiste à examiner certaines des solutions de «wrapper de sécurité», qui créent essentiellement de petites enclaves avec des points d'entrée durcis/sécurisés dans l'enclave. Un exemple d'un tel produit serait Layer-7, qui est couramment utilisé comme une passerelle de sécurité de services Web.

Bonne chasse!