1 Les politiques de sécurité en Java
Transcription
1 Les politiques de sécurité en Java
Domaine Sciences et Technologies Master Informatique FSIL/FSI Fiabilité 2 : TP Année 2012-13 1 Java et sécurité Les politiques de sécurité en Java L’objectif de cette première partie est de se familiariser avec certains concepts de sécurité du langage Java. Les autres aspects, notamment concernant la signature de code, seront abordés dans la seconde partie de ce TP. Test des mécanismes de sécurité En utilisant les méthodes getProperty() et getProperties() de la classe java.lang.System, écrire une application console monprogramme permettant d’afficher : 1. La liste de toutes les propriétés 2. La version de java utilisée 3. Le nom de l’utilisateur 4. Le répertoire de connexion de l’utilisateur 5. Les trois premières lignes d’un fichier dont le nom est transmis en argument Transformer cette application en applet monapplet et observer dans la console java du navigateur ce qui fonctionne et ce qui ne fonctionne pas. Justifier le résultat. On voit ici la différence faite par la politique de sécurité standard de Java entre application locale et application distante. Les applications locales ne sont pas soumises à la vérification du gestionnaire de sécurité. Néanmoins, on peut forcer cette vérification. Tester la commande java -Djava.security.manager monprogramme Politique de sécurité Créer un fichier monjava.policy vide et tester java -Djava.security.policy=monjava.policy monprogramme Ecrire une application permettant d’afficher l’ensemble des permissions accordées par la politique de sécurité courante en utilisant la classe Policy. Le fichier java.security contient différentes informations de configuration concernant la sécurité de Java. Ce fichier se trouve dans /etc/java-6-sun/security/ sur ma machine. Trouvezle sur votre machine. Ce fichier fixe, entre autre, l’endroit où les fichiers .policy définissant les politiques de sécurité doivent se trouver. Déterminer le fichier que vous devrez modifier si vous souhaitez modifier la politique de sécurité. Localiser le fichier de police de sécurité standard de java java.policy et décrire son contenu Avec l’outil policytool (http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/policytool. html), ajouter les permissions nécessaires au bon fonctionnement de l’applet monapplet en créant ou en modifiant le fichier dont vous avez obtenu le nom à l’une des questions précédentes (Vous pourrez dans un premier temps essayer policytool sur le fichier java.policy standard). Relancer l’application permettant d’afficher l’ensemble des permissions accordées par la politique de sécurité courante. 2 Politique de sécurité et signature L’objectif de cette seconde partieest de considérer maintenant le sécurité des applications Java lorsque celle-ci sont signées. Le TP se basera sur des applets ; dans chacune des questions, vous étudierez le comportement dans le cas d’une utilisation appletviewer et dans le cas où l’applet est embarquée dans une page web. Nous utiliserons un certificat auto-signé et votre certificat qui a été signé par E. Godard lors de son TP. Signature d’un fichier jar Ecrire une applet qui crée un fichier dans le répertoire /tmp de la machine sur laquelle elle s’exécute. Signer cette applet à l’aide de la clé associée au certificat auto-signé. Faire de même avec l’autre certificat. Politique de sécurité des jar signés Etudiez le fonctionnement de l’applet avec appletviewer et en embarqué. Modifier le fichier .policy afin de donner les droits à l’applet. Dans le cas de l’utilisation embarquée, modifier le fichier .policy pour forcer l’utilisation de la politique de sécurité. Que constatez-vous dans la console ? Echanger avec un autre binôme, applet signée et certificat afin de tester votre fichier .policy. 2