MotOrBAC
An OrBAC security policy editor
23/03/2017: MotOrBAC 2 v2.5.2 est disponible au téléchargement ainsi que la version 1.5.3 de l'API OrBAC
Cette version corrige un bogue qui a été introduit dans l'API au sein du moteur d'inférence. Le bogue se manifestait lors de la dérivation de règles polymorphiques
23/03/2017: MotOrBAC 2 v2.5.1 est disponible au téléchargement ainsi que la version 1.5.2 de l'API OrBAC
Some changes have been made in the GUI and in the API, most of them being in the API. Below are some of them:
les contextes peuvent être maintenant évalués soit pendant la dérivation de la politique concrète ou soit à l'interrogation de la politique concrète. La précédente version de l'API ne permettait que l'évaluation des conditions contextuelles lors de l'interrogation de la politique concrète. Ceci est utile quand on souhaite exprimer des contextes dont la condition dépend de variables d'état ne changeant pas pendant la durée de vie de la politique. Cela permet aussi de réduire la taille de la politique concrète en mémoire
le code de l'API a été nettoyé et optimisé. Ces optimisations sont surtout visibles lorsque des politiques contenant un nombre élevé d'entités concrètes sont manipulées
12/04/2016: MotOrBAC 2 v2.5 est disponible au téléchargement ainsi que la version 1.5.1 de l'API OrBAC
Des changements importants ont été faits sur l'interface ainsi que dans l'API. En voici quelques uns:
les contextes et définitions d'entité sont maintenant affichés sous la forme d'arbres, ce qui en facilite la lecture et la gestion
l'interface de simulation de politique concrète peut maintenant être séparée du reste de l'interface
il est maintenant possible de spécifier des obligations administratives
un nouveau type de contexte a été introduit: les contextes javassist. Similaires aux contextes beanshell, ils permettent de spécifier une condition contextuelle sous la forme d'une expression en Java. La différence est qu'ils sont compilés à l'exécution au lieu d'être interprétés. Dans les quelques tests que nous avons effectués, l'évaluation d'un contexte Javassist est 20 fois plus rapide que celle d'un contexte Beanshell
un langage déclaratif, OrPol, a été défini pour pouvoir exprimer des politiques OrBAC indépendamment de l'implémentation utilisée dans l'API OrBAC. Un plugin est maintenant livré avec MotOrBAC pour pouvoir importer et exporter des politiques dans ce format
D'autre part de nombreux bogues ont été corrigés. Pour une liste complète des changements, veuillez consulter le fichier changelog.txt de l'archive contenant MotOrBAC
06/06/2014: MotOrBAC 2 v2.4.2 est disponible au téléchargement ainsi que la version 1.3.2 de l'API OrBAC
Cette version corrige un bogue dans la gestion des contraintes de séparation de contextes dans l'API. Un bogue de rafraîchissement de la liste des conflits abstraits et des contraintes de séparation dans l'interface de MotOrBAC a aussi été éliminé.
27/09/2013: MotOrBAC 2 v2.4.1 est disponible au téléchargement ainsi que la version 1.3.1 de l'API OrBAC
Ceci est une mise à jour corrigeant deux bogues dans l'API, pas de nouvelles fonctionnalités introduites. Téléchargez cette version si vous avez rencontré des problèmes en tentant de créer des définitions de vue sur des vues administratives.
10/09/2013: MotOrBAC 2 v2.4 est disponible au téléchargement ainsi que la version 1.3 de l'API OrBAC
Cette version corrige un bon nombre de bogues et apporte quelques améliorations à l'interface utilisateur. Les manuels ont été mis à jour et l'exemple de politique de campus inclut deux exemples de délégation. Le premier exemple montre comment la délégation de règle est gérée au sein du modèle OrBAC et le deuxième concerne la délégation de rôle. L'exemple de politique de campus est maintenant composé de deux fichiers, le premier utilisant le language BeanShell pour exprimer les définitions d'entité et le deuxième utilisant le langage Prova. Le manuel de MotOrBAC explique en détail la politique de campus, y compris les exemples de délégation.
Voici la liste détaillées des changements apportés à MotOrBAC:
l'interface utilisateur a été améliorée
correction d'un bogue qui faisait que les éditeurs de contexte et de définition d'entité ne s'ouvraient plus une fois fermés à l'aide de la croix de la boite de dialogue a lieu du bouton "close"
le bogue inversant la priorité entre des règles spécifiée dans le solveur de conflits a été corrigé
un bogue activé en modifiant la hiérarchie d'entités abstraites a été corrigé
un bogue dans la boite de dialogue de création de règle abstraite a été corrigé
un bogue dans le menu "File" lié à l'item "Save as..." a été corrigé
le tableau d'état des contextes dans l'onglet de simulation comprenait un bogue d'affichage introduit dans une version précédente
la création et la suppression de règles abstraites n'était pas correctement sauvegardé dans l'historique des modifications
les opérations faites via l'éditeur de classes n'étaient pas sauvegardées dans l'historique des modifications
l'arbre représentant la hiérarchie des classes dans l'éditeur de classes n'était pas correctement rafraîchit quand l'éditeur est ouvert après avoir été fermé
une zone de texte a été ajoutée en dessous de la liste des règles abstraites pour permettre d'associer des commentaires à chaque règle
le nom d'une règle abstraite sélectionnée était affiché en blanc sur fond blanc, la couleur de la fonte a été changé
le nombre de colonnes de l'affichage des permissions et interdictions abstraites a été corrigé
la liste déroulante vide de l'éditeur de définition d'entité a été corrigée
une exception de type pointeur invalide était parfois générée en ouvrant la boite de dialogue des greffons
le fait que les modifications faites sur les définitions d'entité et de contexte n'étaient pas enregistrées dans l'historique a été corrigé
Voici la liste détaillées des changements apportés à l'API:
certains objets représentant des hiérarchies n'étaient pas détruit lorsque une entité abstraite était détruite
trois méthodes ont été ajoutées à la classe AbstractOrbacPolicy pour récupérer les hiérarchies définies pour une entité abstraite
la méthode GetViewDefinitionForView de la classe AbstractOrbacPolicy a été supprimée
la classe CContextEvaluation a été supprimée
les classes FIPredicate, FIAbstractRule, FIAbstractEntity et OrbacPredicate sont maintenant abstraites
l'implémentation basée sur Jena a été introduite a nouveau mais n'est plus le type de politique proposé par défaut
les listeners d'inférence de politique concrète n'étaient pas notifiés durant l'inférence réalisée par le moteur join/fork des implémentations XmlOrbacPolicy et MysqlOrbacPolicy
bogue corrigé dans la classe SimpleConcreteEntitiesAttributesManagement quand une classe est détruite
bogue corrigé dans l'implémentation de la délégation de role. La liste des rôles délégués n'était pas correctement calculée dans GetCurrentAdorbacUserDelegatedRoles()
un bogue dans le calcul de la fermeture transitive de la relation de hiérachie d'organisations a été corrigé
un bogue dans les classes FIAbstractPermission, FIAbstractProhibition et FIAbstractObligation faisait que dans certains cas des règles concrètes supplémentaires non activées étaient inférées
correction d'un bogue dans l'implémentation XmlOrbacPolicy qui faisait que dans certains cas les vues role_view et activity_view étaient considérées respectivement comme un role et une activité
l'implémentation du prédicat "attribute" de l'interpréteur Prova contenait une erreur
bogue corrigé dans la méthode UnUseDelegation de l'implémentation XmlOrbacPolicy
un bogue dans la méthode CreateSubViewAndInsertIntoOrg qui se manifestait quand une hiérarchie de vues administratives était créé a été corrigé
un bogue dans la classe XmlOrbacPolicy faisait que les méthodes GetAssociatedRolesHierarchy, GetAssociatedActivitiesHierarchy et GetAssociatedActivitiesHierarchy ne généraient pas correctement certaines hiérarchies
les prédicats greater() et greaterEq() ont été introduits dans l'interpréteur Prova car dans certains cas les prédicats ge() et gt() standards ne sont pas correctement évalués
les méthodes GetAbstractRuleComments et SetAbstractRuleComments ont été ajoutées pour gérer les commentaires associés à des règles abstraites
les méthodes GetDelegatedPermissions et GetDelegatedObligations ont été ajoutées pour obtenir la liste des règles déléguées
la méthode GetAdministrativeActivities a été ajoutée à la classe AbstractOrbacPolicy pour obtenir la liste les activités administratives
la méthode IsAdministrativeOperationPermitted a été ajoutée à la classe AbstractOrbacPolicy pour permettre d'explicitement interroger la politique d'administration
la façon dont le nom des licences de délégation et des affectations de rôles de délégation sont générés a été modifié, la précédente méthode pouvait déclencher dans certains cas un bogue
les méthodes spécifiques de création de règles administratives, AddAdorbacLicense et RemoveAdorbacLicense ont été supprimées pour uniformiser la façon dont les règles sont spécifiées
la javadoc a été mise à jour
27/03/2013: MotOrBAC 2 v2.3.1 et la version v1.2.3.1 de l'API OrBAC sont disponibles
Ceci est une mise à jour corrigeant un bogue, pas de nouvelle fonctionnalité introduite:
Une erreur avait été introduite dans la création de sous-vues dans l'interface de MotOrBAC
08/02/2013: MotOrBAC 2 v2.3 et la version v1.2.3 de l'API OrBAC sont disponibles
Les principaux changements sont les suivants:
L'implémentation de la fonctionnalité faire/défaire (alias undo/redo) dans MotOrBAC a été réécrite car l'ancienne implémentation n'était pas compatible avec certains choix d'implémentation de politiques. Plus précisément elle imposait qu'une politique puisse être représentée par une chaine de caractères
Quelques bogues ont été corrigés dans l'interface graphique
L'interface de la librarie OrBAC a été légèrement modifiée
Une nouvelle implémentation de politique est disponible: MysqlOrbacPolicy. Les politique de ce type stockent les entités concrètes dans une base de données mysql. Cette implémentation est encore expérimentale
Quelques bogues ont été corrigés dans la librarie OrBAC
Les manuels ont été mis à jour, y compris le manuel en ligne
22/03/2012: MotOrBAC 2 v2.2 et la version v1.2.2 de l'API OrBAC sont disponibles
Les principaux changements de cette version, outre la correction de quelques bogues, résident dans l'API. Les principaux changements sont les suivants:
Le nombre de types de définitions d'entité est maintenant dynamique et géré de la même manière que les types de contextes. En conséquence les formats de fichier de politique ont été légèrement modifiés. Les exemples de politique ont été modifiés en conséquence.
La classe COrbacCore comprend maintenant une méthode permettant de traduire des politiques entre les différents formats des implémentations fournies par l'API. Par exemple il est possible de traduire une politique RDF dans le nouveau format xml et vice versa. Cette fonctionnalité est disponible dans MotOrBAC via le bouton et le menu d'exportation
Le problème de chargement des politique lié au format des dates a été résolu, les dates n'incluent maintenant que des nombres
Les manuels ont été mis à jour, y compris le manuel en ligne
09/02/2012: MotOrBAC 2 v2.1 et la version 1.2.1 de l'API OrBAC sont disponibles
MotOrBAC 2 v2.1 est principalement une version comportant des bugs corrigés mais inclut aussi des exemples de politiques pour les deux implémentations de politique OrBAC de l'API. Les documentations ont été mises à jour et la version en ligne de la documentation de MotOrBAC est maintenant disponible.
21/11/2011: MotOrBAC 2 v2.0 et la version 1.2 de l'API OrBAC sont disponibles
Une nouvelle version majeure de MotOrBAC est disponible, MotOrBAC 2 v2.0. Parmis les nombreux changements, cette version propose une novuelle interface graphique et a été développée en utilisant la nouvelle version de l'API:
L'interface graphique a été entièrement réécrite et est maintenant plus facile d'utilisation
Le glisser-déposé (drag and drop) peut être utilisé dans presque toutes les opérations d'édition d'une politique (création d'entités abstraites, de règles, etc...)
MotOrBAC gère les implémentations multiples proposées par l'API. Ainsi MotOrBAC peut être utilisé pour éditer toutes les implémentations fournies par l'API
Une nouvelle version de l'API OrBAC est disponible, l'API OrBAC version 1.2:
Il est maintenant possible d'ajouter des implémentations du modèle OrBAC à l'API en étendant la classe abstraite AbstractOrbacPolicy
L'API est fournie avec deux implémentations. La première est celle utilisant la librairie Jena, c'est à dire l'implémentation qui était utilisée dans la dernière version de l'API. La deuxième est nouvelle et utilise un moteur ad-hoc de chainage arrière d'appuyant sur le framework join/fork de Java 7 pour permettre d'améliorer grandement les performances de la dérivation de la politique concrète par rapport aux versions précédentes de l'API
La classe AbstractOrbacPolicy fournit une implémentation du modèle d'administration AdOrBAC. Cela simplifie la tâche du développeur voulant ajouter une nouvelle implémentation du modèle OrBAC à l'API
L'implémentation du modèle AdOrBAC inclut la délégation de rôles et de règles
Les archives contenant respectivement MotOrBAC 2, le code source de MotOrBAC 2 et l'API Orbac peuvent être téléchargées sur la page sourceforge du projet.
21/04/2009: MotOrBAC 2 v1.1 est disponible
Beaucoup de bugs ont été corrigés et de nouvelles fonctionnalités ont été ajoutées:
Les bugs dans l'édition de la politique ont été corrigés
La gestion de l'undo/redo a été corrigée
La fenêtre de simulation a été améliorée, notamment au niveau de l'affichage des règles masquées par des règles prioritaires et au niveau de l'affichage de l'état des contextes
Un système de greffons (plug-ins) a été introduit dans l'API OrBAC. Ces greffons peuvent être utilisés pour étendre les fonctionnalités de MotOrBAC
Les archives contenant respectivement MotOrBAC 2, le code source de MotOrBAC 2 et l'API Orbac peuvent être téléchargées sur la page sourceforge du projet.
28/05/2008: MotOrBAC v2 v1.O est disponible
Cette version est plus fonctionnelle, plus facile à installer et utiliser que la première version et introduit l'API OrBAC. Cette API permet de gérer des politiques OrBAC sauvegardées dans des fichiers RDF. Elle a été crée pour faciliter l'intégration de mécanismes de sécurité dans des applications. Le code source de cette API n'est pas ouvert, mais un accès au code source peut être demandé sur le site d'OrBAC. La documentation (en Anglais) de MotOrBAC v2 ainsi qu'un exemple de politique de sécurité sont inclus dans l'archive de la nouvelle version.
23/03/2007: L'archive du code source de MotOrBAC a été mise à jour
Cette archive constitue la première version stable de MotOrBAC portant le numéro de version 0.1. Le fichier README a été mis à jour pour préciser que les utilisateurs de windows doivent ajouter le répertoire contenant les fichiers de librarie dynamique (*.dll) de la librarie jpl dans la variable d'environement PATH. La documentation est désormais incluse dans l'archive. L'archive est disponible sur le site web du projet sourceforge.
22/03/2007: L'archive du code source de MotOrBAC a été mise à jour
Les fichiers du code source ont été nettoyés, des fichiers temporaires avaient été oubliés. Afin de faciliter la compilation du code, plusieurs scripts ont été ajoutés. L'exemple de politique de sécurité a été inclu dans l'archive. L'archive est disponible sur le site web du projet sourceforge.
01/03/2007: Un exemple de politique de sécurité est disponible
Vous trouverez le fichier sur le site web du projet sourceforge. Le fichier se nomme hopital27sept06.pl et correspond à l'exemple présenté dans la documentation.
15/02/2007: Le site web MotOrBAC est en ligne :)
Vous trouverez la version actuelle du code source et de la documentation dans la section téléchargements.