WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Intégration de protocoles de sécurité pour la communication inter-agents dans la plate-forme Aglets

( Télécharger le fichier original )
par Manel Sekma
Institut Supérieur d'Informatique et de Mathématiques de Monastir - Maitrise 2007
  

précédent sommaire suivant

Chapitre 7

Conception et réalisation

7.1 Introduction

Après avoir fixé les bases théoriques de notre système, il faut pouvoir intégrer le tout dans une application réelle afin de bien assimiler le principe de fonctionnement et de démonter la faisabilité de notre approche.

Pour sécuriser les agents mobiles aglets au cours de leurs communications, nous avons proposé une solution basée sur le logiciel qui va être appliquée dans le cadre du domaine médical. Cette solution est le sujet de ce chapitre. En premier lieu nous avons spécifié les étapes de notre solution, en deuxième lieu nous avons élaboré une conception de cette dernière pour finir par sa implémentation.

7.2 Spécification de la solution

7.2.1 Etapes de travail

Les tests des codes simples des aglets qui communiquent constituent la première étape dans notre travail, suivie de l'étude des failles de sécurité existantes dans la plateforme au niveau de la communication. En suite, nous nous sommes intéressées à faire la conception de la solution proposée afin de passer à l'étape de l'implémentation. (Figure 6.1)

Tahiti

Sniffer

Tests de code (Aglet Simple)

Détermination des failles de iti

Formulation de solution

Conception de la solution

Implémentation

NetBeans

UML

Figure 6.1 Etapes de travail.

7.2.2 Description de la solution

La plate-forme Aglets a plusieurs caractéristiques et vu que l'agent est programmé en Java et que celui ci offre des possibilités de sécurité, nous avons donc pensé à intégrer une sorte d'approche de sécurité de cet agent.

Notre but est alors de sécuriser les aglets pendant leurs communications dans un système multi agents, pour transférer ou recevoir des informations médicales par exemple image d'extension .tiff.

Notre solution consiste à implémenter un ensemble d'agents coopératifs qui travailleront et manipuleront les informations en fonction des besoins d'un utilisateur ou du type de données.

Pour échanger des informations, les agents coopératifs se comportent comme suite :

Le premier agent, appelé agent utilisateur du fait qu'il doit être lancé par l'utilisateur, va satisfaire les désires de l'utilisateur, ce qui lui permettra à son tour de choisir et de lancer l'exécution d'un autre agent .Dès lors deux cas se présentent :

1) S'il s'agit d'un fichier qui contient des données confidentielles (par exemple en teste sur l'existence des codes, des identifiants, etc.), l'agent utilisateur lancera un autre agent appelé

agent cryptage qui va crypter les données du fichier à l'aide d'un algorithme de cryptage asymétriques le RSA (Figure 6.2).

Image.tiff en clair

Cryptage

Décryptage

Image.tiff en clair

Image codée

Figure 6.2 Cryptage/Décryptage.

2) Si l'utilisateur désire contrôler l'intégrité d'un document, l'agent utilisateur lancera un autre agent appelé agent hachage. Cet agent va contenir une classe de vérification développée en java implémentant une fonction de hachage par l'approche MD5. Dans notre cas nous avons réalisé nos tests sur un simple message puis sur une image médicale d'extension .tiff

L'agent hachage va créer un hash (Digest) lors de l'envoi d'un message et la transmet avec le message afin que le récepteur puisse recalculer l'hash du message et la comparer à celui envoyé.

Dans notre solution, l'agent utilisateur est un agent stationnaire qui s'exécute seulement sur la machine où il est créé, il permet de lancer d'autres agents mobiles tel que : agent cryptage, agent hachage qui communiquent entre eux par envoi de messages afin de réaliser des tâches précises.

Si jamais l'agent utilisateur a besoin d'informations supplémentaires inexistantes localement, ou d'interagir avec d'autres agents dans différents systèmes ou encore il arrive que l'on ait besoin d'exécuter une partie du code de cet agent sur une autre machine que celle sur laquelle est lancé, alors on aura besoin d'utiliser une méthode appliquée dans le modèle client serveur qui est le protocole RPC (Remote Procedure Call).

Chaque agent mobile, lancé par l'agent utilisateur possède un traitement sur les données (cryptage, vérification) dans la source. Pour cela il est nécessaire que le code de chaque agent mobile ait des paramètres et des informations qui permettront aux agents destination de réaliser le traitement inverse sur les données pour avoir les données en claire ou pour s'assurer que les données n'ont pas été altérées.

Nous considérerons les agents mobiles comme étant des aglets qui contiennent des codes java et qui communiquent entre eux pour maintenir une sorte de sécurité de leurs données.

L'organigramme suivant explique bien le fonctionnement de notre solution(Figure 6.3)

Données à envoyer

____
____

Agent utilisateur

Agent Cryptage

 
 
 
 

Agent hachage

 
 
 

Figure 6.3 Diagramme de la solution.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy