Évolution compositionnelle par aspects de services sécurisés – CESSA
Les architectures à services (dites SOA, pour 'Service Oriented Architectures') constituent une forme privilégiée pour les architectures à base de composants lorsqu'il s'agit de construire des architectures réparties à grande échelle. Un service est une application logicielle qui peut être localisée sur un réseau et dont les interfaces et les liaisons sont définies, décrites et découvertes en utilisant des moyens d'accès et des formats normalisés. Une architecture à services traverse typiquement un certain nombre d'organisations, et peut impliquer non seulement de puissants serveurs mais aussi des périphériques aux ressources limitées, comme des téléphones mobiles. Deux types de fonctionnalités, essentielles aux architectures à services, traversent des barrières d'abstraction : (i) les fonctionnalités qui traversent différents domaines administratifs, comme des domaines de sécurité régis par différentes politiques de sécurité, par exemple un entrepôt et ses clients, (ii) les fonctionnalités qui traversent différents domaines technologiques, comme l'infrastructure gérant les services sur un serveur et celle correspondant côté client sur un périphérique aux ressources limitées (GSM, etc.). Comme d'autres mécanismes de composition structurelle, les services connaissent le problème des fonctionnalités intriquées : ce sont des fonctionnalités qui se retrouvent éparpillées et mélangées dans toute l'architecture et dans l'implémentation sous-jacente. Les fonctionnalités de sécurité, telles que le contrôle d'accès ou la détection d'intrusion, forment un exemple typique : il est impossible de les développer séparément, d'une manière modulaire. Le développement logiciel par aspects (dit AOSD, pour 'Aspect-Oriented Software Development'), permet de résoudre ce problème de manière systématique : il devient alors possible de développer séparément, de manière modulaire, des fonctionnalités intriquées. Les partenaires du projet de recherche industrielle CESSA développeront des solutions pour sécuriser des architectures à services. Ces solutions s'appuieront sur le développement par aspects : elles permettront de développer les fonctionnalités de sécurité d'une manière modulaire, en s'affranchissant des barrières d'abstraction, qu'elles soient administratives ou technologiques. En recourant à des aspects dédiés à la sécurité et à une nouvelle notion d'interfaces pour les services, incorporant les aspects, le projet CESSA permettra la synthèse d'architectures à services, correctes par construction, ainsi que l'analyse formelle de propriétés de sécurité. De plus, le projet cherchera à démontrer que les aspects dédiés à la sécurité sont compatibles avec une composition horizontale (par orchestration et chorégraphie de services) et avec une composition horizontale (par implémentation et raffinement) d'architectures à services sécurisées. Cette démonstration concernera pratiquement des architectures industrielles bien réelles, comme d'une part, une extension d'un système d'information pour entreprises, exemple proposé par le premier partenaire industriel SAP et motivé par de nouveaux besoins d'évolution logicielle dans le secteur financier dus à des évolution réglementaires, et d'autre part, l'intégration à une architecture à services de périphériques mobiles utilisant des machines virtuelles développées par le second partenaire industriel IS2T. Comme d'autres mécanismes de composition structurelle, les services connaissent le problème des fonctionnalités intriquées : ce sont des fonctionnalités qui se retrouvent éparpillées et mélangées dans toute l'architecture et dans l'implémentation sous-jacente. Les fonctionnalités de sécurité, telles que le contrôle d'accès ou la détection d'intrusion, forment un exemple typique : il est impossible de les développer séparément, d'une manière modulaire. Le développement logiciel par aspects (dit AOSD, pour 'Aspect-Oriented Software Development'), permet de résoudre ce problème de manière systématique : il devient alors possible de développer séparément, de manière modulaire, des fonctionnalités intriquées. Les partenaires du projet de recherche industrielle CESSA développeront des solutions pour sécuriser des architectures à services. Ces solutions s'appuieront sur le développement par aspects : elles permettront de développer les fonctionnalités de sécurité d'une manière modulaire, en s'affranchissant des barrières d'abstraction, qu'elles soient administratives ou technologiques. En recourant à des aspects dédiés à la sécurité et à une nouvelle notion d'interfaces pour les services, incorporant les aspects, le projet CESSA permettra la synthèse d'architectures à services, correctes par construction, ainsi que l'analyse formelle de propriétés de sécurité. De plus, le projet cherchera à démontrer que les aspects dédiés à la sécurité sont compatibles avec une composition horizontale (par orchestration et chorégraphie de services) et avec une composition horizontale (par implémentation et raffinement) d'architectures à services sécurisées. Cette démonstration concernera pratiquement des architectures industrielles bien réelles, comme d'une part, une extension d'un système d'information pour entreprises, exemple proposé par le premier partenaire industriel SAP et motivé par de nouveaux besoins d'évolution logicielle dans le secteur financier dus à des évolution réglementaires, et d'autre part, l'intégration à une architecture à services de périphériques mobiles utilisant des machines virtuelles développées par le second partenaire industriel IS2T.
Coordination du projet
L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.
Partenaire
Aide de l'ANR 0 euros
Début et durée du projet scientifique :
- 0 Mois